@charset "UTF-8";

.mod_main {
	padding-top: 11.8rem;
}

.contact_area {
    background-color: #FFF;
    margin-top: 0;
}

@media screen and (max-width:640px) {
	body {
		overflow-x: hidden;
	}
	.mod_main {
		padding-top: calc(75 * 100vw / 375);
	}
}

/**/

.sec_message {
	position: relative;
}

.sec_message > .in {
	padding-top: 12rem;
	position: relative;
	max-width: 128rem;
	width: 100%;
	margin: 0 auto;
	margin-top: 8rem;
	padding: 12rem 22rem 14.2rem;
	box-sizing: border-box;
}

.sec_message > .in::before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	right: 0;
	margin: auto;
	background: #FFF;
	width: 100%;
	height: 100%;
	border-radius: 44.3rem;
}

.sec_message .bg_img li {
    opacity: 0;
}

.sec_message .bg_img li {
	position: absolute;
}
.sec_message .bg_img li:nth-child(1) {
	left: 0;
	top: 21.2rem;
}
.sec_message .bg_img li:nth-child(2) {
	left: 10rem;
	top: 66rem;
}
.sec_message .bg_img li:nth-child(3) {
	left: 4rem;
	top: 84.8rem;
}
.sec_message .bg_img li:nth-child(4) {
	right: 6.5rem;
	top: 11.7rem;
}
.sec_message .bg_img li:nth-child(5) {
	right: 4rem;
	top: 56rem;
}
.sec_message .bg_img li:nth-child(6) {
	right: 6.7rem;
	top: 98.3rem;
}

.sec_message .txt_box {
	position: relative;
	z-index: 10;
}

.sec_message .txt_box .ttl {
	font-size: 4rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	position: relative;
	line-height: 1.5;
}

.sec_message .txt_box .ttl::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -2.6rem;
	margin: auto;
	background-image: url(/img/index/list_type.svg);
	width: 2.2rem;
	height: 2.2rem;
	background-size: cover;
	background-repeat: no-repeat;
}


.sec_message .txt_box .sub_ttl {
	font-size: 3.2rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	margin-top: 3.2rem;
}

.sec_message .txt_box .txt {
	font-size: 2rem;
	line-height: 2;
	font-weight: 500;
	margin-top: 3.2rem;
}


@media screen and (max-width:640px) {

	.sec_message {
		padding: calc(24 * 100vw / 375);
		box-sizing: border-box;
		padding-top: calc(32 * 100vw / 375);
		padding-bottom: 0;
	}

	.sec_message > .in {
		padding-top: 12rem;
		margin-top: 8rem;
		margin: 0;
		padding: 0;
	}

	.sec_message > .in::before {
		left: 0;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		border-radius: calc(80 * 100vw / 375);
	}

	.sec_message .bg_img li {
	}
	.sec_message .bg_img li img {
		width: 100%;
		height: auto;
	}
	.sec_message .bg_img li:nth-child(1) {
		left: 0;
		top: calc(7 * 100vw / 375);
		width: calc(53 * 100vw / 375);
		height: calc(50 * 100vw / 375);
	}
	.sec_message .bg_img li:nth-child(2) {
		left: 0;
		top: calc(635 * 100vw / 375);
		width: calc(17 * 100vw / 375);
		height: calc(17 * 100vw / 375);
	}
	.sec_message .bg_img li:nth-child(3) {
		left: calc(-8 * 100vw / 375);
		top: calc(1345 * 100vw / 375);
		width: calc(32 * 100vw / 375);
		height: calc(32 * 100vw / 375);
	}
	.sec_message .bg_img li:nth-child(4) {
		right: calc(-8 * 100vw / 375);
		top: calc(384 * 100vw / 375);
		width: calc(29 * 100vw / 375);
		height: calc(29 * 100vw / 375);
	}
	.sec_message .bg_img li:nth-child(5) {
		right: calc(-4 * 100vw / 375);
		top: calc(855 * 100vw / 375);
		width: calc(30 * 100vw / 375);
		height: calc(26 * 100vw / 375);
	}
	.sec_message .bg_img li:nth-child(6) {
		right: calc(-8 * 100vw / 375);
		top: calc(1151 * 100vw / 375);
		width: calc(34 * 100vw / 375);
		height: calc(34 * 100vw / 375);
	}

	.sec_message .txt_box {
		padding: calc(24 * 100vw / 375);
		padding-top: calc(60 * 100vw / 375);
		padding-bottom: calc(60 * 100vw / 375);
	}

	.sec_message .txt_box .ttl {
		font-size: calc(24 * 100vw / 375);
	}

	.sec_message .txt_box .ttl::before {
		left: 0;
		right: 0;
		top: calc(-11 * 100vw / 375);
		width: calc(11 * 100vw / 375);
		height: calc(11 * 100vw / 375);
	}

	.sec_message .txt_box .sub_ttl {
		font-size: calc(20 * 100vw / 375);
		line-height: 1.5;
		margin-top: calc(24 * 100vw / 375);
	}

	.sec_message .txt_box .txt {
		font-size: calc(16 * 100vw / 375);
		margin-top: calc(24 * 100vw / 375);
	}

}

/**/

.sec_basis {
	padding-top: 16rem;
	margin-top: 13.5rem;
	padding-bottom: 17rem;
	position: relative;
	z-index: 1;
}

.sec_basis > .in {
	
}

.sec_basis > .in::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: calc(100% - ((100% - 128rem) / 2));
	height: 100%;
	background-color: #E99DC5;
	border-radius: 11.6rem 0px 0px 1.6rem;
}

.sec_basis .content_box {
	width: 100%;
	max-width: 128rem;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	padding: 0 0 0 8rem;
	box-sizing: border-box;
}

.sec_basis .txt_box {
	position: relative;
	z-index: 10;
}

.sec_basis .txt_box .ttl {
	font-size: 4rem;
	font-weight: 700;
	color: #FFF;
}

.sec_basis .txt_box .sub_ttl {
	font-size: 3.2rem;
	font-weight: 700;
	margin-top: 6rem;
	padding-left: 3.3rem;
	position: relative;
	color: #FFF;
}

.sec_basis .txt_box .sub_ttl::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url(/img/index/list_type.svg);
	width: 2.2rem;
	height: 2.2rem;
	background-size: cover;
	background-repeat: no-repeat;
}

.sec_basis .txt_box .sub_ttl::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2rem;
	margin: auto;
	width: 100%;
	height: 1px;
	background-color: #fff;
}

.sec_basis .txt_box .txt {
	font-size: 2rem;
	line-height: 2;
	font-weight: 500;
	margin-top: 5.2rem;
	color: #FFF;
}

.sec_basis .experience {
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: space-between;
	margin-top: 4.3rem;
}

.sec_basis .experience .left_experience {
	max-width: 40.2rem;
	width: 100%;
	position: relative;
	padding: 5.6rem 0;
}

.sec_basis .experience .left_experience::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #fff;
	border-radius: 1.6rem;
}

.sec_basis .experience .left_experience dl {
	position: relative;
	z-index: 10;
}

.sec_basis .experience .left_experience dt {
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
}

.sec_basis .experience .left_experience dd {
	font-size: 14.8rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	margin-top: 4.2rem;
}

.sec_basis .experience .left_experience dd .jp {
	font-size: 5.1rem;
	line-height: 1;
}


.sec_basis .experience .right_experience {
	max-width: 77.6rem;
	width: 100%;
	position: relative;
	padding: 0 2.4rem;
	box-sizing: border-box;
}

.sec_basis .experience .right_experience::before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #fff;
	border-radius: 1.6rem;
}

.sec_basis .experience .right_experience dl {
	position: relative;
	z-index: 10;
}

.sec_basis .experience .right_experience dt {
	font-size: 2.4rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	padding-top: 3.4rem;
}

.sec_basis .experience .right_experience dt .small {
	font-size: 2rem;
	line-height: 1;
	font-weight: 700;
	display: block;
	padding-top: 1.3rem;
}

.sec_basis .experience .right_experience dd {
	margin-top: 2.4rem;
}

.sec_basis .experience .right_experience dd ul {
	display: flex;
	justify-content: center;
}

.sec_basis .experience .right_experience dd ul li {
	width: 100%;
	text-align: center;
}

.sec_basis .experience .right_experience dd ul li:nth-child(1) {
	max-width: 18rem;
}

.sec_basis .experience .right_experience dd ul li:nth-child(2) {
	max-width: 16rem;
}

.sec_basis .experience .right_experience dd ul li:nth-child(3) {
	max-width: 17.4rem;
}

.sec_basis .experience .right_experience dd ul li:nth-child(4) {
	max-width: 20rem;
}

.sec_basis .experience .right_experience dd .txt {
	font-size: 2rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	margin-top: 0.6rem;
}

.sec_basis .experience .right_experience dd .sub_txt {
	font-size: 2rem;
	line-height: 2;
	font-weight: 500;
	display: block;
	margin-top: 0.4rem;
}


@media screen and (max-width:640px) {
	.sec_basis {
		padding-top: calc(80 * 100vw / 375);
		margin-top: calc(80 * 100vw / 375);
		padding-bottom: calc(113 * 100vw / 375);
		position: relative;
		z-index: 1;
	}

	.sec_basis > .in {
		
	}

	.sec_basis > .in::before {
		width: calc(100% - (24 * 100vw / 375));
		border-radius: 0;
		border-top-left-radius: calc(60 * 100vw / 375);
		border-bottom-left-radius: calc(16 * 100vw / 375);
	}

	.sec_basis .content_box {
		padding-left: calc(48 * 100vw / 375);
		padding-right: calc(24 * 100vw / 375);
	}

	.sec_basis .txt_box {
	}

	.sec_basis .txt_box .ttl {
		font-size: calc(24 * 100vw / 375);
	}

	.sec_basis .txt_box .sub_ttl {
		font-size: calc(22 * 100vw / 375);
		margin-top: calc(16 * 100vw / 375);
		padding-left: calc(19 * 100vw / 375);
	}

	.sec_basis .txt_box .sub_ttl::before {
		width: calc(11 * 100vw / 375);
		height: calc(11 * 100vw / 375);
	}

	.sec_basis .txt_box .sub_ttl::after {
		bottom: calc(-16 * 100vw / 375);
	}

	.sec_basis .txt_box .txt {
		font-size: calc(16 * 100vw / 375);
		margin-top: calc(32 * 100vw / 375);
	}

	.sec_basis .experience {
		margin-top: calc(38 * 100vw / 375);
		flex-wrap: wrap;
	}

	.sec_basis .experience .left_experience {
		padding-top: calc(40 * 100vw / 375);
		padding-bottom: calc(31 * 100vw / 375);
	}

	.sec_basis .experience .left_experience::before {
		border-radius: calc(16 * 100vw / 375);
	}

	.sec_basis .experience .left_experience dl {
	}

	.sec_basis .experience .left_experience dt {
		font-size: calc(20 * 100vw / 375);
	}

	.sec_basis .experience .left_experience dd {
		font-size: calc(100 * 100vw / 375);
		margin-top: calc(26 * 100vw / 375);
	}

	.sec_basis .experience .left_experience dd .jp {
		font-size: calc(35 * 100vw / 375);
	}


	.sec_basis .experience .right_experience {
		margin-top: calc(24 * 100vw / 375);
		padding-left: calc(23 * 100vw / 375);
		padding-right: calc(22 * 100vw / 375);
		padding-bottom: calc(42 * 100vw / 375);
	}

	.sec_basis .experience .right_experience::before {
		border-radius: calc(16 * 100vw / 375);
	}

	.sec_basis .experience .right_experience dl {
	}

	.sec_basis .experience .right_experience dt {
		font-size: calc(20 * 100vw / 375);
		line-height: 1.45;
		padding-top: calc(40 * 100vw / 375);
	}

	.sec_basis .experience .right_experience dt .small {
		font-size: calc(16 * 100vw / 375);
		padding-top: calc(24 * 100vw / 375);
	}

	.sec_basis .experience .right_experience dd {
		margin-top: calc(16 * 100vw / 375);
	}

	.sec_basis .experience .right_experience dd ul {
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.sec_basis .experience .right_experience dd ul li {
	}

	.sec_basis .experience .right_experience dd ul li:nth-child(1) {
		max-width: calc(117 * 100vw / 375);
	}

	.sec_basis .experience .right_experience dd ul li:nth-child(2) {
		max-width: calc(130 * 100vw / 375);
	}

	.sec_basis .experience .right_experience dd ul li:nth-child(3) {
		max-width: calc(117 * 100vw / 375);
		margin-top: calc(17 * 100vw / 375);
	}

	.sec_basis .experience .right_experience dd ul li:nth-child(4) {
		max-width: calc(130 * 100vw / 375);
		margin-top: calc(17 * 100vw / 375);
	}

	.sec_basis .experience .right_experience dd .txt {
		font-size: calc(16 * 100vw / 375);
		margin-top: 0.6rem;
	}

	.sec_basis .experience .right_experience dd .sub_txt {
		font-size: calc(13 * 100vw / 375);
		line-height: 1;
		margin-top: calc(4 * 100vw / 375);
	}	
}

/**/

.sec_commitment {
	z-index: 1;
	padding-top: 16rem;
	margin-top: -9rem;
	padding-bottom: 16rem;
	position: relative;
}

.sec_commitment > .in {
	
}

.sec_commitment > .in::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100% - ((100% - 128rem) / 2));
	height: 100%;
	background-color: #F5F5FA;
	border-radius: 0 11.6rem 1.6rem 0;
}

.sec_commitment .content_box {
	width: 100%;
	max-width: 128rem;
	margin: 0 auto;
	position: relative;
	z-index: 1;
	padding: 0 8rem 0 0;
	box-sizing: border-box;
}

.sec_commitment .txt_box {
	
}

.sec_commitment .txt_box {
	position: relative;
	z-index: 10;
}

.sec_commitment .txt_box .ttl {
	font-size: 4rem;
	font-weight: 700;
}

.sec_commitment .txt_box .sub_ttl {
	font-size: 3.2rem;
	font-weight: 700;
	margin-top: 6rem;
	padding-left: 3.3rem;
	position: relative;
}

.sec_commitment .txt_box .sub_ttl::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url(/img/index/list_type.svg);
	width: 2.2rem;
	height: 2.2rem;
	background-size: cover;
	background-repeat: no-repeat;
}

.sec_commitment .txt_box .sub_ttl::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2rem;
	margin: auto;
	width: 100%;
	height: 1px;
	background-color: #000;
}

.sec_commitment .txt_box .txt {
	font-size: 2rem;
	line-height: 2;
	font-weight: 500;
	margin-top: 5.2rem;
}


@media screen and (max-width:640px) {
	
	.sec_commitment {
		padding-top: calc(80 * 100vw / 375);
		margin-top: calc(-73 * 100vw / 375);
		padding-bottom: calc(80 * 100vw / 375);
		position: relative;
		z-index: 1;
	}

	.sec_commitment > .in {
		
	}

	.sec_commitment > .in::before {
		width: calc(100% - (24 * 100vw / 375));
		border-radius: 0;
		border-top-right-radius: calc(60 * 100vw / 375);
		border-bottom-right-radius: calc(16 * 100vw / 375);
	}

	.sec_commitment .content_box {
		padding-left: calc(24 * 100vw / 375);
		padding-right: calc(48 * 100vw / 375);
	}

	.sec_commitment .txt_box {
	}

	.sec_commitment .txt_box .ttl {
		font-size: calc(24 * 100vw / 375);
	}

	.sec_commitment .txt_box .sub_ttl {
		font-size: calc(22 * 100vw / 375);
		margin-top: calc(16 * 100vw / 375);
		padding-left: calc(19 * 100vw / 375);
	}

	.sec_commitment .txt_box .sub_ttl::before {
		width: calc(11 * 100vw / 375);
		height: calc(11 * 100vw / 375);
		bottom: auto;
		top: calc(11 * 100vw / 375);
	}

	.sec_commitment .txt_box .sub_ttl::after {
		bottom: calc(-16 * 100vw / 375);
	}

	.sec_commitment .txt_box .txt {
		font-size: calc(16 * 100vw / 375);
		margin-top: calc(32 * 100vw / 375);
	}


}


/**/

.sec_company {
	position: relative;
	z-index: 1;
	padding-bottom: 23rem;
	padding-top: 16rem;
}

.sec_company > .in {
	max-width: 128rem;
	width: 100%;
	margin: 0 auto;
}

.sec_company .txt_box {
	
}

.sec_company .txt_box .ttl {
	font-size: 3.2rem;
	font-weight: 700;
}

.sec_company .table_box {
	margin-top: 8rem;
}

.sec_company .table_box th {
	font-size: 2rem;
	font-weight: 500;
}

.sec_company .table_box table {
	border-collapse:  collapse;
	border-bottom: 1px solid #C7C7C7;
}


.sec_company .table_box tr {
	border-top: 1px solid #C7C7C7;
}

.sec_company .table_box th {
	border-top: 1px solid #E99DC5;
	padding: 2.9rem 0 3.2rem;
	padding-left: 7.9rem;
	text-align: left;
	width: 20.5rem;
}

.sec_company .table_box tr:last-child th {
	border-bottom: 1px solid #E99DC5;
}

.sec_company .table_box td {
	font-size: 2rem;
	font-weight: 500;
	padding: 3.3rem 5.4rem 3.3rem 18rem;
	line-height: 2;
}

.sec_company .table_box td.fz_small {
	font-size: 1.6rem;
}

.sec_company .map_box {
	margin-top: 4rem;
}

.sec_company .map_box iframe {
	width: 100%;
	height: 30.2rem;
	vertical-align: bottom;
	border-radius: 1.6rem
}


@media screen and (max-width:640px) {
	
	.sec_company {
		padding-bottom: calc(127 * 100vw / 375);
		padding-top: calc(80 * 100vw / 375);
	}

	.sec_company > .in {
		padding-left: calc(24 * 100vw / 375);
		padding-right: calc(24 * 100vw / 375);
		box-sizing: border-box;
	}

	.sec_company .txt_box {
		
	}

	.sec_company .txt_box .ttl {
		font-size: calc(24 * 100vw / 375);
	}

	.sec_company .table_box {
		margin-top: calc(24 * 100vw / 375);
	}

	.sec_company .table_box th {
		font-size: calc(16 * 100vw / 375);
	}

	.sec_company .table_box table {
	}

	.sec_company .table_box tr {
	}

	.sec_company .table_box th {
		padding-top: calc(25 * 100vw / 375);
		padding-bottom: calc(24 * 100vw / 375);
		padding-left: calc(29 * 100vw / 375);
		width: calc(106 * 100vw / 375);
		box-sizing: border-box;
	}

	.sec_company .table_box tr:last-child th {
	}

	.sec_company .table_box td {
		font-size: calc(16 * 100vw / 375);
		padding-top: calc(24 * 100vw / 375);
		padding-bottom: calc(24 * 100vw / 375);
		padding-left: calc(22 * 100vw / 375);
		padding-right: 0;
		box-sizing: border-box;
	}

	.sec_company .table_box td.fz_small {
		font-size: calc(16 * 100vw / 375);
	}

	.sec_company .map_box {
		margin-top: calc(32 * 100vw / 375);
	}

	.sec_company .map_box iframe {
		height: calc(160 * 100vw / 375);
		border-radius: calc(16 * 100vw / 375);
	}

}


/**/
.sec_warp {
	position: relative;
}

.sec_warp::before {
	content: "";
	position: absolute;
	left: 0;
	top: 42.6rem;
	background-color: #fff;
	width: 100%;
	height: calc(100% - 42.6rem);
}


@media screen and (max-width:640px) {
	.sec_warp::before {
		top: calc(552 * 100vw / 375);
		height: calc(100% - calc(552 * 100vw / 375));
	}
}