@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .content {
	max-width: 1500px;
}
#main .headLine02 {
	margin-bottom: 70px;
}
#main p {
	margin-bottom: 39px;
	font-size: 2.1rem;
	font-weight: 700;
	color: #292929;
	line-height: 2;
}
#main .txt {
	position: relative;
	z-index: 1;
	margin: 0 15px;
	line-height: 2.38;
}
#main .bigPhoto {
	max-width: 930px;
	/* width: 62%; */
	width: 74%;
	margin: -12.2% 7.1% 72px auto;
	text-align: right;
}
#main .mainConts {
	max-width: 1160px;
	margin: 0 auto;
}
#main h4 {
	margin-bottom: 53px;
	font-size: 4.8rem;
	color: #292929;
}
#main .tableBox {
	margin: 0 27px 170px;
}
#main table {
	width: 100%;
	word-break: break-all;
	border-spacing: 3px;
}
#main table th {
	padding: 22px 20px;
	width: 44%;
	/* font-size: 3.1rem; */
	font-size: 2rem;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	background-color: #0070A7;
	border-radius: 0px 0 0 0;
}
#main table .thStyle {
	width: 56%;
	background-color: #03376B;
	border-radius: 0 0 0 0;
}
#main table td {
	font-weight: 700;
	/* padding: 31px 70px 31px 80px; */
	padding: 20px 70px 20px 80px;
	/* font-size: 2.1rem; */
	font-size: 2rem;
	color: #fff;
	text-align: left;
	color: #1A1A1A;
	/* line-height: 1.38; */
	line-height: 1.8;
	vertical-align: middle;
	background-color: #fff;
}
#main table td:first-child {
	padding: 31px 20px;
	text-align: center;
	/* font-size: 3.5rem; */
	font-size: 2.5rem;
	color: #fff;
	font-weight: 700;
	background-color: #70A7D8;
}
#main .h4Ttl {
	margin-bottom: 33px;
}
#main .photoUl {
	/* margin-bottom: 228px; */
	margin-bottom: 100px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .photoUl li {
	width: 47%;
}
#main .photoUl li img {
	width: 100%;
}
#main .fulfilling {
	padding: 143px 0 225px;
	background-color: #fff;
}
#main .fulfilling .content {
  /*padding: 0 8vw;*/
	max-width: 1800px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .fulfilling .content:nth-child(2) {
  margin-top: 0.6em;
}
#main .fulfilling .content:nth-child(3) {
  margin-top: 6em;
}
#main .fulfilling .content.reverse {
  flex-direction: row-reverse;
}
#main .fulfilling .lBox {
	width: 32%;
	/* margin: 0 3.7% 0 15.5%; */
	margin: 0 3.7% 0 0%;
}
#main .fulfilling .content:nth-child(2) .lBox {
  display: flex;
  align-items: flex-end;
}
#main .fulfilling .content.reverse .lBox {
  margin: 0 0 0 3.7%;
}
#main .fulfilling .rBox {
	flex: 1;
}
#main .fulfilling .imgBox {
	margin-bottom: 45px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .fulfilling .imgBox:last-child {
	margin-bottom: 0;
}
#main .fulfilling .imgBox .photoBox {
	width: 49%;
	margin-right: 40px;
}
#main .fulfilling .imgBox .photoBox img {
	width: 100%;
}
#main .fulfilling .imgBox .textBox {
	flex: 1;
}
#main .fulfilling .content:nth-child(2) .lBox .textBox {
  padding-left: 4em;
}
@media all and (max-width: 1300px) {
  #main .fulfilling .content:nth-child(2) .lBox .textBox {
    padding-left: 0;
  }
}
#main .fulfilling p {
	margin-bottom: 15px;
	font-size: 2rem;
	font-size: 1.6rem;
	font-size: min(1.5vw,2rem);
	color: #292929;
	line-height: 2;
}
#main .fulfilling .ttl {
	margin-bottom: 7px;
	/* font-size: min(2vw,3rem); */
	font-size:2rem;
	color: #005BAB;
}
#main .fulfilling p:last-child {
	margin-bottom: 0;
}
#main .fulfilling .smallTxt {
	font-size: 1.2rem;
}
#main .fulfilling h3 {
	margin-bottom: 40px;
	/* font-size: 4.6rem; */
	font-size: 3rem;
	font-size: min(2.4vw,4.6rem);
	color: #292929;
	line-height: 1.4;
}
@media all and (min-width: 897px) {
	.mainImg02{
		margin-bottom: 78px;
	}
	.mainImg02 .inner02 .subSpan {
		left: -2100px;
	}
	.comList {
		margin-bottom: 171px;
	}
	.headLine02 .txtSpan {
		top: -71px;
		left: 59px;
	}
}

@media all and (max-width: 896px) {
	#main {
		padding-top: 0;
	}
	.mainImg02 {
		margin-bottom: 26px;
	}
	.mainImg02 .inner02 .subSpan {
		top: 18px;
		left: -480px;
	}
	#main .headLine02 {
		margin-bottom: 17px;
		font-size: 2.6rem;
		letter-spacing: -0.1em;
	}
	.headLine02 .txtSpan {
	}
	.comList {
		margin-bottom: 58px;
	}
	#main p {
		font-size: 1.4rem;
		line-height: 2;
	}
	#main .txt {
		margin: 0;
		line-height: 2;
	}
	#main .bigPhoto {
		margin: 0 -10px 60px;
		width: auto;
		max-width: inherit;
	}
	#main .bigPhoto img {
		width: 100%;
	}
	#main h4 {
		margin-bottom: 17px;
		font-size: 2.6rem;
	}
	#main .tableBox { 
		margin: 0 -6px 35px;
	}
	#main table {
		border-spacing: 5px;
	}
	#main table th {
		width: 31%;
		padding: 17px 10px;
		font-size: 1.5rem;
		border-radius: 0 !important;
	}
	#main table td {
		padding: 17px 5px 17px 15px;
		font-size: 1.4rem;
		line-height: 1.43;
		background-color: #C1DDEB;
	}
	#main table td:first-child {
		padding: 17px 0 17px 10px;
		font-size: 1.5rem;
		text-align: left;
		line-height: 1.33;
		background-color: #70A7D8;
	}
	#main .h4Ttl {
		margin-bottom: 12px;
	}
  #main .h4Ttl.second {
    margin-top: 40px;
  }
	#main .photoUl {
		margin: 0 -20px;
		display: block;
	}
	#main .photoUl li {
		width: auto;
		margin: 0;
	}
	#main .photoUl li:nth-child(2n) {
		margin-right: 0;
		margin-left: 0;
	}
	#main .photoUl li img {
		width: 100%;
	}
	#main .fulfilling {
		padding: 50px 0 70px;
	}
	#main .fulfilling .content {
		display: block;
	}
  #main .fulfilling .content:nth-child(2) {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 1.4%;
  }
  #main .fulfilling .content.reverse {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 1.4%;
  }
  #main .fulfilling .content.reverse .lBox {
  margin: 0;
}
	#main .fulfilling .lBox {
		width: auto;
		margin: 0 0 43px;
	}
	#main .fulfilling h3 {
		margin-bottom: 21px;
		font-size: 2.6rem;
		line-height: 1.61;
	}
	#main .fulfilling p {
		margin-bottom: 8px;
		font-size: 1.4rem;
		line-height: 2;
	}
	#main .fulfilling .imgBox {
		margin-bottom: 37px;
		display: block;
	}
	#main .fulfilling .imgBox .photoBox {
		width: auto;
		margin: 0 0 7px;
	}
	#main .fulfilling .ttl {
    margin-top: 0.7em;
		margin-bottom: 5px;
		font-size: 1.8rem;
	}
	#main .fulfilling .imgBox p {
		margin-right: -5px;
	}
	#main .fulfilling .smallTxt {
		font-size: 1.4rem;
	}
/* tuika */
	#main .content {
		margin-top: 70px;
	}

}

@media all and (min-width: 897px) and (max-width: 1400px) {
	#main .fulfilling .lBox {
		margin-left: 0;
	}
}
@media all and (min-width: 897px) and (max-width: 1700px) {
	#main .fulfilling p {
		/* font-size: min(1.5vw,1.8rem); */
		font-size: 1.6rem;
	}
}

@media all and (max-width: 374px) {
	#main table td:first-child {
		font-size: 1.3rem;
	}
}