@charset "UTF-8";

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Fonts
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

@font-face {
	font-display: swap;
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: local('Noto Sans Japanese Regular'), local('NotoSansJapanese-Regular'),url('../fonts/noto-sans-jp-regular.woff2') format('woff2'), url('../fonts/noto-sans-jp-regular.woff') format('woff');
}
@font-face {
	font-display: swap;
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	src: local('Noto Sans Japanese Medium'), local('NotoSansJapanese-Medium'), url('../fonts/noto-sans-jp-medium.woff2') format('woff2'), url('../fonts/noto-sans-jp-medium.woff') format('woff');
}
@font-face {
	font-display: swap;
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: local('Noto Sans Japanese Bold'), local('NotoSansJapanese-Bold'), url('../fonts/noto-sans-jp-bold.woff2') format('woff2'), url('../fonts/noto-sans-jp-bold.woff') format('woff');
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Sub Page Common
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.subpage header a {
	color: #fff;
}
.subpage header a:hover {
	color: #fff;
	opacity: .5;
}
.subpage header a:hover::after {
	background: #fff;
}
.subpage .header-animation a {
	color: #333;
}
.subpage .header-animation a:hover {
	color: #008c99;
	opacity: 1;
}
.subpage .header-animation a:hover::after {
	background: #0068b6;
}
.subpage .logo {
	background: url(../images/logo-fff.svg) left center no-repeat;
	background-size: 248px 32px;
}
.subpage .header-animation .logo {
	background: url(../images/logo.svg) left center no-repeat;
	background-size: 248px 32px;
}
.subpage .menu-tel {
	background: url(../images/icon-phone-fff.svg) 0px 6px no-repeat;
	background-size: 14px 14px;
}
.subpage .header-animation .menu-tel {
	background: url(../images/icon-phone.svg) 0px 6px no-repeat;
	background-size: 14px 14px;
}
section:nth-of-type(odd) {
	background: #fff;
}
section:nth-of-type(even) {
	background: #f4f4f4;
}
.section-title, .page-title h1 {
	width: 100%;
	height: auto;
	font-size: 3.2rem;
	text-align: center;
	line-height: 1;
	display: block;
	font-weight: 700;
	margin-top: 0;
}
.section-title span, .page-title span {
	font-size: 1.6rem;
	display: block;
	margin: 16px 0 0 0;
}
.page-title {
	width: 200%;
	height: 320px;
	margin: -100px 0 0 -50%;
	text-align: center;
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: 0;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	background: rgb(20,172,92);
	background: linear-gradient(135deg, rgba(20,172,92,1) 0%, rgba(0,104,182,1) 100%);
	transform: skew(5deg,5deg);
}
.page-title h1 {
	color: #fff;
	z-index: 2;
	margin: 150px 0 0 -8px;
	transform: skew(-5deg,-5deg);
}
.subpage-main-img {
	width: 100%;
	height: auto;
	margin: 80px auto 0;
}
.text {
	width: 720px;
	margin: 64px auto 0;
	font-weight: 500;
	line-height: 2.2;
	font-size: 100%;
	text-align: justify;
}
.text span {
	width: 720px;
	margin: 0 auto;
	text-align: right;
	display: block;
	padding: 0;
}
.text a {
	color: #2292dc;
	text-decoration: none;
}
.text em {
	font-size: 1.6rem;
}
.underline::after {
	content: '';
	width: 160px;
	height: 4px;
	display: inline-block;
	background : #ed1c24;
	transform: skewX(30deg);
	margin: 20px auto;
}
.margin-top-plus {
    margin-top: 40px;
}
.content-full {
	width: 100vw;
  padding: 120px 0 0;
}
.content-text {
	width: 520px;
	height: auto;
	line-height: 2;
}
.content-text div {
	margin-bottom: 1.6rem;
}
.content-img {
	width: 480px;
	overflow: hidden;
}
.content-img img {
	width: 100%;
	height: auto;
}
.content-text-title {
	font-size: 2.4rem;
	padding-bottom: 0.8rem;
	font-weight: 700;
}
.scroll-img::before, .scroll-img::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: rgba(255,255,255,0.8);
}
.scroll-img-left::before, .scroll-img-left::after {
	transform-origin: right;
}
.scroll-img-right::before, .scroll-img-right::after {
	transform-origin: left;
}
.scroll-open::before, .scroll-open::after {
	transform: scaleX(0);
	opacity: 0;
	visibility: hidden;
	transition: opacity, transform, visibility;
}
.scroll-open::before {
	transition-duration: 1.3s;
	transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
	transition-delay: 0.5s;
	z-index: 2;
}
.scroll-open::after {
	transition-duration: 0.85s;
	transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
	z-index: 3;
}
.scroll-img-img img {
	transform: scale(1.2);
}
.scroll-open img {
	transform: scale(1);
	transition: transform;
	transition-duration: 3s;
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
.paper-back {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 0px 0px 5px 0 rgba(0,0,0,.05);
	display: block;
	margin:  40px 0 0;
	padding: 80px 0;
}
.emphasis {
	padding: 4rem 0 0 0;
	font-size: 2rem;
	font-weight: 700;
	line-height: 2;
}
.photo {
	box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
}
.photo img {
	width: 100%;
	height: auto;
	display: block;
}
@media screen and (max-width: 768px) {
	.page-title {
		height: 160px;
		margin: 0 0 0 -50%;
	}
	.section-title, .page-title h1 {
		font-size: 2.4rem;
	}
	.section-title span, .page-title span {
	  font-size: 1.6rem;
		margin: 8px 0 0 0;
	}
	.page-title h1 {
		margin: 56px 0 0 0;
	}
	.section-title {
		margin-top: 16px;
	  padding: 0;
	}
	.sub-section h1 span {
		font-size: 50%;
		padding-left: 0;
	}
	.subpage-main-img {
		width: 100%;
		height: auto;
		margin: 2rem auto 0;
	}
	.text {
		width: 100%;
		margin: 2.4rem auto 0;
		line-height: 2;
		font-size: 1.4rem;
	}
	.text span {
		width: 100%;
		margin: 1.6rem 0 0;
	}
	.underline::after {
		content: '';
		width: 50%;
		height: 4px;
		margin: 2rem auto;
	}
	.margin-top-plus {
	    margin-top: 2rem;
	}
	.content-box {
		flex-direction: column;
	}
	.content-full {
		width: 100vw;
	    padding: 4rem 0 0;
	}
	.content-text {
		width: 100%;
		margin-bottom: 4rem;
	}
	.content-text div {
		margin-bottom: 0;
	}
	.content-img {
		width: 100%;
		overflow: hidden;
	}
	.content-img img {
		width: 100%;
		height: auto;
	}
	.content-text-title {
		font-size: 1.6rem;
		padding-bottom: 0;
	}
	.content-box.sp-fl-reverse {
		flex-direction: column-reverse;
	}
	.paper-back {
		margin:  1rem 0 0;
		padding: 2rem 0;
	}
	.subpage .logo, .subpage .header-animation .logo {
		width: 186px;
		height: 24px;
		background: url(../images/logo-fff.svg) left 0px no-repeat;
		background-size: 186px 24px;
		text-indent: -999999px;
	}
	.subpage .menu-tel, .subpage .header-animation .menu-tel {
	  background: url(../images/icon-phone-fff.svg) 2rem 6px no-repeat;
	  background-size: 14px 14px;
	}
	.subpage .header-animation a {
		color: #fff;
	}
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Company
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

/*------------ Message & Philosopy ------------*/

.message img {
	width: 360px;
	height: 480px;
}
.message p {
	width: 536px;
	margin-top: -8px;
}
.philosophy h3, .philosophy p {
	font-size: 2.4rem;
	font-weight: 700;
	padding: 64px 0;
	text-align: center;
}
.philosophy p {
	padding-bottom: 0;
}
.philosophy li {
	align-items: center;
	text-align: center;
	line-height: 2.4;
}
@media screen and (max-width: 768px) {
	.message img {
		width: 100%;
		height: auto;
		margin-top: 24px;
	}
	.message p {
		width: 100%;
		margin: 24px 0;
	}
	.philosophy h3, .philosophy p {
		font-size: 2.4rem;
		font-weight: 700;
		padding: 48px 0;
		text-align: center;
		white-space: nowrap;
	}
	.philosophy p {
		padding-bottom: 24px;
	}
	.philosophy li {
		align-items: center;
		text-align: center;
	}
}

/*------------ Outline & History ------------*/

.outline-table {
	width: 720px;
	height: auto;
	margin: 64px auto 0;
	font-weight: 500;
	border-top: 1px solid rgba(0,0,0,.05);
	display: block;
}
.outline-table tr {
	border-bottom: 1px solid rgba(0,0,0,.05);
}
.outline-table th {
	width: 128px;
	text-align: justify;
	vertical-align: baseline;
	padding: 0 16px 0 0;
	display: flex;
	justify-content: space-between;
}
.adjustment {
	padding-top: 8px;
}
.outline-table td {
	width: 600px;
	padding: 30px 0;
	line-height: 2;
	vertical-align: baseline;
	text-align: justify;
}
.sub-section .outline-table:nth-of-type(2) {
	margin: 40px auto 0;
}
.outline-table.th-short th {
	width: 80px;
}
.outline-table.th-short td {
	width: 616px;
}
@media screen and (max-width: 768px) {
	.outline-table {
		width: 100%;
		height: auto;
		margin: 3rem auto;
		font-weight: 500;
		border-top: 1px solid rgba(0,0,0,0.05);
		table-layout: fixed;
		display: flex;
		flex-direction: column;
		padding: 0 0 2rem;
	}
	.outline-table tr {
		width: 100%;
		border-bottom: 1px solid rgba(0,0,0,0.05);
		display: flex;
		flex-direction: column;
		padding: 2rem 0;
		height: auto;
	}
	.outline-table th {
		width: 100%;
		text-align: center;
		font-weight: 700;
		padding: 0;
		height: auto;
		margin: 0 auto 1rem;
		border: none;
		justify-content: center;
	}
	.outline-table td {
		width: 100%;
		min-height: inherit;
		padding: 0;
		line-height: 2;
		text-align: center;
		height: auto;
		box-sizing: border-box;
		border: none;
	}
	.sub-section .outline-table:nth-of-type(2) {
		margin: 0 auto;
	}
	td.text-letf,
	.history-table td {
		width: 100%;
		margin: 0 auto;
		text-align: justify;
	}
	.span-br {
		height: 0.5em;
		display: block;
	}
	.outline-table.th-short th {
		width: 100%;
	}
	.outline-table.th-short td {
		width: 100%;
	}
}

/*------------ Access ------------*/

/*
.map {
	width: 100%;
	margin: 80px auto 0;
}
.map-caption {
	margin: 0 auto 16px;
	text-align: justify;
}
.map-caption em {
	font-size: 1.6rem;
	vertical-align: bottom;
}
.map-img {
	width: 960px;
	height: 480px;
	position: relative;
}
.map img {
	width: 240px;
	height: 240px;
	position: absolute;
	top: 10px;
	right: 10px;
	box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
	border: 8px solid #fff;
	border-radius: 2px;
}
@media screen and (max-width: 768px) {
.map {
	margin: 0 auto;
}
.map-caption {
	margin: 0 0 1.6rem;
	line-height: 1.6;
}
.map .map-caption:first-of-type {
	margin: 1.6rem 0 1.6rem;
}
.map-caption em {
	font-size: 1.4rem;
	vertical-align: bottom;
	font-weight: 700;
}
.map-img {
	width: 100%;
	height: auto;
	display: flex;
	flex-direction: column-reverse;
}
.map-img div {
	width: 100%;
	height: 40vw;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
	border: 8px solid #fff;
	border-radius: 2px;
	box-sizing: border-box;
}
.map img {
	width: 100%;
	height: auto;
	position: relative;
	top: 0;
	right: 0;
	box-sizing: border-box;
	box-shadow: none;
	border: none;
	border-radius: 0;
}
.map iframe {
	width: 100%;
	height: 80vw;
	margin: 1.6rem auto 0;
	box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
	border: 8px solid #fff;
	border-radius: 2px;
	box-sizing: border-box;
}
}
*/
.access table {
	margin: 64px auto 0;
	border: 1px solid #f4f4f4;
}
.access tr {
	border-bottom: 1px solid #f4f4f4;
}
.access tr:nth-of-type(even) {
	background: #f9f9f9;
}
.access th, .access td {
	padding: 24px 56px;
	text-align: left;
	vertical-align: top;
}
.access tr td:last-of-type {
	vertical-align: middle;
}
.access td a {
	background: #263238;
	color: #fff;
	padding: 6px 16px 8px;
	border-radius: 2px;
}
.access td a:hover {
	background: #008c99;
}
@media screen and (max-width: 768px) {
	.access table {
		margin: 24px auto 0;
		border: 1px solid #f4f4f4;
	}
	.access tr {
		border-bottom: 1px solid #f4f4f4;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
	}
	.access tr:nth-of-type(even) {
		background: #f9f9f9;
	}
	.access th, .access td {
		padding: 8px;
		text-align: center;
		vertical-align: middle;
		width: 100%;
	}
	.access th {
		padding: 16px 0 0;
	}
	.access tr td:last-of-type {
		vertical-align: middle;
		padding-bottom: 24px;
	}
	.access td a {
		background: #263238;
		color: #fff;
		padding: 6px 16px 8px;
		border-radius: 2px;
	}
	.access td a:hover {
		background: #008c99;
	}
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Business
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#business .section-title {
	margin-bottom: 80px;
}
.content-box {
	margin-top: -96px;
	padding-top: 96px;
	margin-bottom: 96px;
}
.content-box:last-of-type {
	margin-bottom: 0;
}
/*
.content-box {
	position: relative;
	margin-bottom: 80px;
}
.content-img {
	width: calc((100vw - 960px) / 2 + 472px);
	height: 400px;
	position: absolute;
	top: 0;
	right: 0;
}
.content-img img {
	height: auto;
	width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	transform : translate(-50%,-50%);
}
.content-text {
	width: 432px;
	height: 400px;
	margin-left: calc((100vw - 960px) / 2);
	text-align: justify;
}
.content-box:nth-of-type(even) .content-text {
	padding-left: 528px;
}
*/
.content.business-content {
	width: 720px;
}
.business .content-img {
	width: 480px;
	height: 480px;
	position: relative;
}
.content-box:nth-of-type(even) {
	flex-direction: row-reverse;
}
.content-text {
	width: 432px;
	height: auto;
	text-align: justify;
}
.content-box a {
	width: 160px;
	height: 48px;
	display: block;
	border: 1px solid #333;
	box-sizing: border-box;
	transition: all .2s ease-in;
	text-align: center;
	line-height: 46px;
	color: #333;
	position: absolute;
	bottom: 0;
	left: calc((100vw - 960px) / 2);
}
.content-box a:hover {
	background: #ffca28;
	border: 1px solid #ffca28;
	color: #fff;
}
.content-box:nth-of-type(even) a {
	right: calc((100vw - 960px) / 2);
	left: auto;
}
.content-note {
	position: absolute;
	bottom: 0;
	left: calc((100vw - 960px) / 2 + 180px);
	font-size: 1.2rem;
}
.qualifications-text {
	width: 520px;
	text-align: justify;
	line-height: 2;
}
.qualifications-text p.indent-box {
	padding-left: 1em;
	box-sizing: border-box;
}
.qualifications-text p.indent-box span {
	display: inline;
}
.qualifications-text p.indent-box span.pc-hidden {
	display: none;
}
.qualifications-text p {
	margin-bottom: 24px;
}
.qualifications-text div:last-of-type p {
	margin-bottom: 0;
}
.qualifications-img {
	width: 380px;
	height: 640px;
	overflow: hidden;
}
.qualifications-img img {
	width: 100%;
}
@media screen and (max-width: 768px) {
	#business .section-title {
		margin-bottom: 0.8rem;
	}
	.content-box {
		width: 100%;
		position: relative;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		padding-top: 0;
	}
	.content-box h3 {
		margin: 0 0 0.8rem;
	}
	.content-box span {
		margin: 0 0 0 0.8rem;
		font-size: 1.2rem;
	}
	.content-box:last-of-type {
		margin-bottom:  0;
	}
	.content-img {
		width: 100%;
		height: auto;
		margin: 1.6rem auto 2.4rem;
	}
	.content.business-content {
		width: 100%;
	}
	.business .content-img {
		width: 100%;
		height: auto;
		position: relative;
	}
	.content-img img {
		height: auto;
		width: 100%;
	}
	.content-box:nth-of-type(even) {
		flex-direction: column;
	}
	.content-text {
		width: 100%;
		height: auto;
		margin-left: 0;
		text-align: justify;
		margin-bottom: 0;
	}
	.content-box:nth-of-type(even) .content-text {
		padding-left: 0;
	}
	.content-box a {
		width: 160px;
		height: 48px;
		display: block;
		border: 1px solid #ffca28;
		box-sizing: border-box;
		transition: all .2s ease-in;
		text-align: center;
		line-height: 46px;
		color: #fff;
		position: absolute;
		bottom: calc(-48px - 3rem);
		left: calc(50% - 80px);
		background: #ffca28;
	}
	.content-box a:hover {
		transition: all .2s ease-in;
		color: #fff;
	}
	.content-box a:hover {
		background: #ffca28;
		border: 1px solid #ffca28;
		color: #fff;
	}
	.content-box:first-of-type {
		margin-top: 0
	}
	.content-box:last-of-type {
		margin-bottom: 0;
	}
	.content-box:nth-of-type(even) a {
		right: auto;
		left: calc(50% - 80px);
	}
	.content-note {
		left: 0;
		width: 100%;
		text-align: center;
	}
	.qualifications-text {
		width: 100%;
		line-height: 2;
	}
	.qualifications-text p {
		margin-bottom: 1.6rem;
	}
	.qualifications-text div:last-of-type p {
		margin-bottom: 0;
	}
	.qualifications-img {
		width: 100%;
		height: 25vw;
		overflow: hidden;
		margin: 1.6rem 0 2.4rem;
	}
	.qualifications-text p.indent-box span.sp-hidden {
		display: none;
	}
	.qualifications-text p.indent-box span.pc-hidden {
		display: inline;
	}
}
@media screen and (max-width: 320px) {
	.content-box span {
		font-size: 1rem;
	}
}

/*------------ Fleet ------------*/

.fleet-box-cover {
	width: 960px;
	height: auto;
	margin: 80px auto -32px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.fleet-box {
	width: 464px;
	box-sizing: border-box;
	margin-bottom: 32px;
	padding-bottom: 24px;
	background: #fff;
	box-shadow: 0px 0px 5px 0 rgba(0,0,0,.1);
	display: flex;
	flex-direction: column;
}
.fleet-box img {
	width: 100%;
	height: auto;
}
.fleet-box p {
	width: 100%;
	height: 40px;
	margin: 24px 0;
	text-align: center;
	font-size: 1.4rem;
	line-height: 2;
	display: block;
	font-weight: 700;
}
.fleet-box ul {
	width: calc(100% - 96px);
	height: auto;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	font-weight: 500;
	font-size: 1.4rem;
}
.fleet-box ul:first-of-type {
	margin: 8px auto 12px;
	padding: 8px 0;
	border-top: 1px solid #f4f4f4;
	border-bottom: 1px solid #f4f4f4;
}
.fleet-box ul:nth-of-type(3) {
	margin: 8px auto 0;
	padding: 8px 0 0;
	border-top: 1px solid #f4f4f4;
}
.fleet-box dl {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.empty-box {
    background: none;
    box-shadow: none;
}
@media screen and (max-width: 768px) {
	.fleet-box-cover {
		width: 100%;
		padding-bottom: 0;
		margin: 32px auto -2rem;
		align-items: center;
	}
	.fleet-box {
		width: 100%;
		margin-bottom: 2rem;
		border: none;
		border-radius: 2px;
		padding-bottom: 2rem;
	}
	.fleet-box img {
		width: 100%;
		height: auto;
		border-top-left-radius: 2px;
		border-top-right-radius: 2px;
	}
	.fleet-box p {
		width: 100%;
		height: auto;
		margin: 1.2rem 0 0.4rem;
		line-height: auto;
		font-size: 100%;
	}
	.fleet-box ul {
		width: 80%;
		margin: 0 auto;
		font-size: 90%;
		letter-spacing: 0;
		font-weight: 500;
		justify-content: space-between;
	}
}

/*------------ Price ------------*/

#price .paper-back {
	padding-bottom: 5px;
}
.price-caption {
	width: 100%;
	text-align: center;
	font-weight: 700;
	margin: 40px auto 30px;
	font-size: 110%;
	border-top: 1px solid #e8e8e8;
	border-bottom: 1px solid #e8e8e8;
	padding: 15px 0;
}
.price-table {
	width: 100%;
	height: auto;
	font-size: 95%;
	font-weight: 500;
	border-right: 1px solid #e5eff8;
	border-bottom: 1px solid #e5eff8;
	margin: 0 auto 40px;
	box-sizing: border-box;
}
.price-table th {
	height: 50px;
	box-sizing: border-box;
	padding: 0 10px;
	background: #59c2e1;
	color: #fff;
	border-bottom: 1px solid #e5eff8;
	border-right: 1px solid #e5eff8;
	font-weight: 700;
}
.price-table th:last-child {
	border-right: none;
	width: 220px;
}
.price-table td:last-child {
	font-size: 90%;
}
.price-table td {
	text-align: center;
	width: 150px;
	border-left: 1px solid #e5eff8;
	box-sizing: border-box;
}
.price-table tr {
	height: 40px;
	border-bottom: 1px solid #e5eff8;
	background: #FFFFFF;
	box-sizing: border-box;
}
.price-table tr:nth-child(2n+1) {
	background: #f7fbff;
}
.price-table tr:first-child {
	border-left:  1px solid #e5eff8;
	border-top:  1px solid #e5eff8;
}
.price-table tr:hover, .price-table tbody:hover .rowspan-rowspan {
	color: #2292d2;
	transition: .3s;
}
.fa-truck, .fa-drum, .fa-clock, .fa-stack-overflow, .fa-check-square, .fa-shuttle-van, .fa-exclamation-triangle {
	margin-right: 0.75rem;
	filter:	 fliph();
}
.nega-color tr:nth-child(2n) {
	background: #f7fbff;
}
.nega-color tr:nth-child(2n+1) {
	background: #fff;
}
.background-fff {
	background: #fff;
}
.background-iro {
	background: #f7fbff;
}
.price-remarks {
	width: 100%;
	margin: 30px auto 0;
	font-size: 98%;
}
.price-remarks p {
	width: 100%;
	text-align: center;
	border-top: 1px solid #efefef;
	border-bottom: 1px solid #efefef;
	padding: 15px 0;
}
.price-remarks ul {
	width: 100%;
	padding: 30px 0;
	line-height: 2;
}
.price-remarks em {
	color: #ed1c24;
}
.price-remarks ul li ul {
	padding: 0;
	text-indent: calc(2em + 0.75rem);
}
@media screen and (max-width: 768px) {
	#price .paper-back {
		padding: 0 1rem;
	}
	.price-caption {
		width: 100%;
		text-align: center;
		margin: 2rem auto;
		font-size: 100%;
		padding: 1rem 0;
	}
	.price-table {
		width: 100%;
		font-size: 90%;
		margin: 0 auto 3.2rem;
	}
	.price-table th {
		height: 3rem;
		box-sizing: border-box;
		padding: 0 1rem;
		font-weight: 500;
	}
	.price-table th:last-child {
		width: auto;
	}
	.price-table td:last-child {
		font-size: 90%;
	}
	.price-table td {
		width: auto;
		padding: 1rem;
	}
	.price-table tr {
		height: auto;
	}
	.price-remarks {
		width: 100%;
		margin: 2rem auto 0;
		font-size: 80%;
	}
	.price-remarks p {
		width: 100%;
		padding: 1rem 0;
	}
	.price-remarks ul {
		padding: 2rem 0;
	}
	.price-remarks ul li ul {
		padding: 0;
		text-indent: 0;
	}
	#price .margin-plus {
		margin: 2rem auto 2rem;
	}
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Safety
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.safety-img {
	width: 720px;
	margin: 0 auto;
}
.safety-img li {
	width: 720px;
	height: 480px;
	display: block;
	margin: 80px auto 0;
	overflow: hidden;
	position: relative;
}
.enviroment-img {
	margin-left: 64px;
}
.enviroment-img img {
	width: 200px;
}
.achievement table {
	border-top: 1px solid #c4c4c4;
	border-left: 1px solid #c4c4c4;
}
.achievement tr {
	border-bottom: 1px solid #c4c4c4;
}
.achievement th {
	background: #0068b6;
	border-right: 1px solid #c4c4c4;
	color: #fff;
	text-align: center;
	padding: 16px;
}
.achievement td {
	border-right: 1px solid #c4c4c4;
	padding: 16px;
	text-align: center;
}
.pdca img {
	width: 720px;
	height: 450px;
}
.safety-management b {
	font-weight: 500;
}
@media screen and (max-width: 768px) {
	.safety-img {
		width: 100%;
		margin: 0 auto;
	}
	.safety-img li {
		width: 100%;
		height: auto;
		margin: 2.4rem auto 0;
	}
	.safety-img img {
		width: 100%;
		height: auto;
	}
	.enviroment {
	flex-direction: column-reverse;
	padding: 0 0 1rem;
	}
	.achievement table {
	width: calc(100vw - 4rem);
	}
	.achievement th, .achievement td {
		padding: 8px;
	}
	.pdca img {
		width: 100%;
		height: auto;
	}
}

/*------------ Select ------------*/

@media all {
select {
	cursor: pointer;
	position: relative;
	-webkit-appearance: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	appearance: none;
	display: block;
	width: 100%;
	height: 40px;
	border: none;
	border-radius: 3px;
	background: transparent;
	box-sizing: border-box;
	padding: 0 0 0 15px;
	font-size: 100%;
}
select::-ms-expand {
	display: none;
}
.selectWrap {
	position: relative;
	display: block;
	width: 100%;
	height: 40px;
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 3px;
	background: #fff;
	box-sizing: border-box;
	margin: 0;
}
.selectWrap::before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	width: 0;
	height: 0;
	margin: -2px 0 0 0;
	border: 5px solid transparent;
	border-top: 7px solid #333;
}
}
@media screen and (max-width: 768px) {
	select {
		width: 100%;
		height: 5rem;
		padding: 0 0 0 1rem;
		font-size: 100%;
	}
	select::-ms-expand {
		display: none;
	}
	.selectWrap {
		width: 100%;
		height: 5rem;
		margin: 0;
	}
	.selectWrap::before {
		right: 1rem;
	}
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Contact
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

.contact {
	width: 100vw;
	padding-left: calc((100vw - 464px) / 2);
	padding-right: calc((100vw - 464px) / 2);
	padding-bottom: 96px;
	background: #f4f4f4;
	margin-top: 96px;
}
.contact .content_text p {
	width: 100%;
	text-align: justify;
	line-height: 2;
	margin: 32px auto 40px;
}
.contact_input {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 32px;
}
.contact_input label {
	width: 240px;
	display: block;
	padding-top: 8px;
}
.contact_input textarea {
	padding: 8px;
	width: 100%;
	border: 1px solid #ced4da;
	outline: none;
	border-radius: 4px;
	font-size: 16px;
	color: #333;
	font-weight: 500;
}
.contact_input textarea::placeholder {
	color: #bbb;
}
.contact_input input[type=text],
.contact input[type=email],
.contact input[type=tel] {
	width: 100%;
	border: 1px solid #ced4da;
	height: 48px;
	border-radius: 4px;
	padding: 0 8px 2px;
	transition: .3s;
	font-size: 16px;
	color: #333;
	font-weight: 500;
}
input:-webkit-autofill {
  -webkit-text-fill-color: #333;
}
.contact_input input[type=text]:focus,
.contact input[type=email]:focus,
.contact input[type=tel]:focus,
.contact_input textarea:focus {
	border: 1px solid rgba(69,98,121, .32);
	outline: none;
	box-shadow: 0 0 5px 1px rgba(69,98,121, .32);
	transition: .3s;
}
.contact .fl-st-st {
	display: flex;
	justify-content: flex-start;
	align-items:flex-start;
}
.contact_confirm {
	margin: 40px 0;
	line-height: 2;
}
.contact_confirm h4 {
	text-align: center;
	margin: 0 auto 24px;
	font-weight: 500;
}
.contact_confirm dl {
	width: 100%;
	height: 280px;
	margin: 24px 0 32px;
	padding: 8px 24px 24px;
	text-align: justify;
	overflow-y: scroll;
	border: 1px solid #ced4da;
	border-radius: 2px;
	box-sizing: border-box;
}
.form-control {
	line-height: 1;
	padding: 0 8px;
}
.contact_confirm dt {
	font-weight: 500;
	margin-top: 16px;
}
.contact_acceptance {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}
label.acceptance_label {
	position: relative;
	margin: 8px -16px 0 0;
	cursor: pointer;
}
label.acceptance_label::before {
	position: absolute;
	z-index: 1;
	top: 9px;
	left: -28px;
	width: 16px;
	height: 8px;
	content: '';
	transform: rotate(-45deg);
	border: 2px solid #456279;
	border-top-style: none;
	border-right-style: none;
	opacity: 0;
	transition: .3s;
}
label.checked_label::before {
	transform: rotate(-45deg);
	opacity: 1;
	transition: .3s;
}
label.acceptance_label::after {
	position: absolute;
	top: 3px;
	left: -32px;
	width: 24px;
	height: 24px;
	content: '';
	cursor: pointer;
	border: 1px solid #e6e6e6;
	background: #ffffff;
}
.hidden_checkbox {
	display: none;
}
.submit {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 16px;
}
.submit input.submit_btn {
	width: 240px;
	height: 48px;
	text-align: center;
	font-size: 16px;
	background: #456279;
	transition: .3s ease-in;
	color: #fff;
	font-weight: 500;
}
.submit input:disabled {
	background: #ccc;
	transition: .3s;
	color: #595757;
	cursor: default;
}
.text_center {
	text-align: center;
}
.err_msg {
	width: 100%;
	margin-bottom: 32px;
	color: #ff0000;
}
.send_modal, .result_modal {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(69,98,121,.7);
	pointer-events: none;
	opacity: 0;
	transition: .3s ease-in;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.send_modal p, .result_modal p {
	color: #fff;
	text-align: center;
	font-weight: 500;
}
.result_modal p:last-of-type {
	cursor: pointer;
	padding-top: 32px;
}
.send_modal.show, .result_modal.show {
	opacity: 1;
	pointer-events: all;
	transition: .3s ease-in;
	z-index: 999;
}
@media screen and (max-width: 599px) {
	.contact {
		width: 100vw;
		background: #f4f4f4;
		margin-top: 32px;
		padding: 0 16px 64px;
	}
	.contact .content_text p {
		width: 100%;
		text-align: justify;
		line-height: 2;
		margin: 24px 0 8px;
	}
	.contact_input {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 16px 0 0;
		flex-direction: column;
	}
	.contact_input label {
		width: 100%;
		display: block;
		padding-top: 0;
	}
	.contact_input textarea {
		padding: 8px;
		width: 100%;
		border: 1px solid #ced4da;
		outline: none;
		border-radius: 4px;
		font-size: 16px;
		color: #333;
		margin-top: 8px;
		font-weight: 500;
	}
	.contact_input textarea::placeholder {
		color: #bbb;
	}
	.contact_input input[type=text],
	.contact input[type=email],
	.contact input[type=tel] {
		width: 100%;
		border: 1px solid #ced4da;
		height: 48px;
		border-radius: 4px;
		padding: 0 8px 2px;
		transition: .3s;
		font-size: 16px;
		color: #333;
		margin-top: 8px;
		font-weight: 500;
	}
	input:-webkit-autofill {
	  -webkit-text-fill-color: #333;
	}
	.contact_input input[type=text]:focus,
	.contact input[type=email]:focus,
	.contact input[type=tel]:focus,
	.contact_input textarea:focus {
		border: 1px solid rgba(69,98,121, .32);
		outline: none;
		box-shadow: 0 0 5px 1px rgba(69,98,121, .32);
		transition: .3s;
	}
	.contact .fl-st-st {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.contact_confirm {
		margin: 40px 0;
		line-height: 2;
	}
	.contact_confirm h4 {
		text-align: center;
		margin: 0 auto 24px;
		font-weight: 500;
	}
	.contact_confirm dl {
		width: 100%;
		height: 280px;
		margin: 0 0 32px;
		padding: 8px 24px 24px;
		text-align: justify;
		overflow-y: scroll;
		border: 1px solid #ced4da;
		border-radius: 2px;
		box-sizing: border-box;
	}
	.form-control {
		line-height: 1;
		padding: 0 8px;
	}
	.contact_confirm dt {
		font-weight: 500;
		margin-top: 16px;
	}
	.contact_acceptance {
		display: flex;
		justify-content: center;
		align-items: flex-start;
	}
	label.acceptance_label {
		position: relative;
		margin: 8px -16px 0 0;
		cursor: pointer;
	}
	label.acceptance_label::before {
		position: absolute;
		z-index: 1;
		top: 9px;
		left: -28px;
		width: 16px;
		height: 8px;
		content: '';
		transform: rotate(-45deg);
		border: 2px solid #456279;
		border-top-style: none;
		border-right-style: none;
		opacity: 0;
		transition: .3s;
	}
	label.checked_label::before {
		transform: rotate(-45deg);
		opacity: 1;
		transition: .3s;
	}
	label.acceptance_label::after {
		position: absolute;
		top: 3px;
		left: -32px;
		width: 24px;
		height: 24px;
		content: '';
		cursor: pointer;
		border: 1px solid #e6e6e6;
		background: #ffffff;
	}
	.hidden_checkbox {
		display: none;
	}
	.submit {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 16px;
	}
	.submit input.submit_btn {
		width: 64vw;
		height: 56px;
		text-align: center;
		font-size: 16px;
		background: #456279;
		transition: .3s ease-in;
		color: #fff;
		font-weight: 500;
	}
	.submit input:disabled {
		background: #ccc;
		transition: .3s;
		color: #595757;
		cursor: default;
	}
	.text_center {
		text-align: center;
	}
	.err_msg {
		width: 100%;
		margin-bottom: 24px;
		color: #ff0000;
		padding-top: 8px;
	}
	.send_modal, .result_modal {
		width: 100vw;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		background: rgba(69,98,121,.7);
		pointer-events: none;
		opacity: 0;
		transition: .3s ease-in;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	.send_modal p, .result_modal p {
		color: #fff;
		text-align: center;
		font-weight: 500;
		width: 100vw;
		padding: 0 16px;
	}
	.result_modal p:first-of-type {
		text-align: justify;
	}
	.result_modal p:last-of-type {
		cursor: pointer;
		padding-top: 32px;
	}
	.send_modal.show, .result_modal.show {
		opacity: 1;
		pointer-events: all;
		transition: .3s ease-in;
		z-index: 999;
	}
}
