@charset "utf-8";

.cautionUl li {
	text-indent: -1em;
	margin-left: 1em;
}
.pageTitleBox h2 {
	padding-bottom: 0;
	font-size: 28px;
	line-height: 1.4;
}
.pageTitleBox::after {
	content: attr(data-subtext)'';
	display: inline-block;
	border-top: 2px solid rgba(255, 255, 255, 1);
	font-size: small;
	text-shadow: 1px 1px 2px rgba(100, 100, 100, 0.5);
}

h3 {
	color: #00325d;
	padding-bottom: 0.5em;
	border-bottom: 2px solid #172a86;
	margin-bottom: 0.5em;
}
h3:not(:first-child) {
	margin-top: 4rem;
}
h3::after {
	content: '';
	position: absolute;
	width: 25%;
	bottom: -1px;
	left: 0;
	display: block;
}
	#newsBody h3 {
		color: #333;
		font-size: 2.4rem;
	}



time {
	display: block;
	text-align: right;
}
.contentBtnBox {
	margin: 2em 0;
	text-align: center;
}
#menuBody .contentBtnBox { text-align: left; }
	.contentBtnBox a {
		display: inline-block;
		text-decoration: none;
		text-align: center;
		background: #00325d;
		color: rgba(255, 255, 255, 1);
		width: 30vw;
		padding: 1.5em 0;
		border-radius: 3px;
	}
	.contentBtnBox a:hover { background: #a52f3a; }
	#menuBody .contentBtnBox a { padding: 0.5rem; }
.newsContentBox {
	padding: 2em 0;
}

#homeImgBox {
	height: 820px !important;
	transition: 0.3s;
}

#homeCopyBox {
	padding: 2em 0;
	margin-bottom: 2em;
}
	#homeCopyBox img {
	/*	width: 100%;*/
		max-width: 600px;
	}
	#homeCopyBox h2 {
		color: #00325d;
		padding: 1em 0 1em 0;
	}

#homeNewsBox {
	padding: 3em 0;
	background-size: 8rem;
	color: rgba(255, 255, 255, 1);
	margin-bottom: 0;
}
	#homeNewsBox h3 {
		width: 23%;
		padding-bottom: 0;
		border-bottom: none;
		border-right: 1px solid #000000;
		margin-bottom: 0;
		color: #333;
	}
	#homeNewsBox ul {
		width: 70%;
	}
	#homePointBox h3::before, 
	#homePointBox h3::before, 
	#homeNewsBox h3::before, 
	#homeNewsBox h3::after { content: none; }
	#homeNewsBox li { padding: 0.25em 0; }
	#homeNewsBox li:not(:nth-last-child(-n+2)) { border-bottom: 1px dotted #000000; }
		#homeNewsBox li .newsdate {
		/*	color: rgba(255, 255, 255, 1);
			color: #a52f3a;
			color: rgba(250, 255, 199, 1);*/
			width: 18%;
			font-size: small;
			color: #333;
		}
		#homeNewsBox li .newscategory {
/*			background: #00325d;*/
			background:	#a2a1a1;
			width: 14%;
			color: rgba(255, 255, 255, 1);
			border-radius: 3px;
			font-size: 1.2rem;
			text-align: center;
		}
		#homeNewsBox li .newstitle {
			width: 64%;
		}
		#homeNewsBox li a { color: #333; }
		#homeNewsBox li.alllistBtnLi {
			font-size: small;
			text-align: center;
		}
		#homeNewsBox li.alllistBtnLi a, 
		.newslistDl dd .more-link {
			border: 1px solid #a52f3a;
			text-decoration: none;
			padding: 0.25em 1em;
			display: inline-block;
			margin-top: 25px;
			color: #333;
		}
		#homeNewsBox li.alllistBtnLi a {
			border: 1px solid #000000;
		}
		#homeNewsBox li.alllistBtnLi a:hover, 
		.newslistDl dd .more-link:hover {
			background: rgba(255, 255, 255, 1);
			color: #a52f3a;
		}

/* [ pages ] ===========================================*/
.pageTitleBox {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 50%;
	text-align: center;
	padding: 8em 0;
	position: relative;
	display: block;
	color: rgba(255, 255, 255, 1);
	text-shadow: 1px 1px 3px rgba(100, 100, 100, 0.5);
	/*margin-bottom: 2em;*/
	position: relative;
	z-index: -2;
	background-image: url(../img/common/header.png);
	border-top: 1px solid rgba(100, 100, 100, 0.1);
	border-bottom: 1px solid rgba(100, 100, 100, 0.1);
	height: 320px;
}
	.pageTitleBox h2 {
		text-shadow: 0 0 8px rgba(100, 100, 100, 1);
	}

.pageTitleBox::before {
	position: absolute;
	top: 0;
	left: 0;
	background-image: linear-gradient(
						45deg, 
						rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1)
					), 
					linear-gradient(
						45deg, 
						rgba(0, 0, 0, 0.1) 25%, transparent 25%, transparent 75%, rgba(0, 0, 0, 0.1) 75%, rgba(0, 0, 0, 0.1)
					);
	background-position: 0 0, 2px 2px;
	background-size: 4px 4px;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#Body .pageTitleBox-about {
	background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    text-align: center;
    padding: 8em 0;
    position: relative;
    display: block;
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 1px 3px rgba(100, 100, 100, 0.5);
    /* margin-bottom: 2em; */
    position: relative;
    z-index: -2;
    background-image: url(../img/about/header.png); 
    border-top: 1px solid rgba(100, 100, 100, 0.1);
    border-bottom: 1px solid rgba(100, 100, 100, 0.1);
    height: 320px;
}
.pageTitleBox-about h2{
	padding-bottom: 0;
    font-size: 28px;
    line-height: 1.4;
	text-shadow: 0 0 8px rgba(100, 100, 100, 1);
}
#Body .pageTitleBox-recruit {
	background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    text-align: center;
    padding: 8em 0;
    position: relative;
    display: block;
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 1px 3px rgba(100, 100, 100, 0.5);
    /* margin-bottom: 2em; */
    position: relative;
    z-index: -2;
	background-image: url(../img/recruit/header.png);
    border-top: 1px solid rgba(100, 100, 100, 0.1);
    border-bottom: 1px solid rgba(100, 100, 100, 0.1);
    height: 320px;
}
.pageTitleBox-recruit h2{
	padding-bottom: 0;
    font-size: 28px;
    line-height: 1.4;
	text-shadow: 0 0 8px rgba(100, 100, 100, 1);
}

#Body .pageTitleBox-business {
	background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    text-align: center;
    padding: 8em 0;
    position: relative;
    display: block;
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 1px 3px rgba(100, 100, 100, 0.5);
    /* margin-bottom: 2em; */
    position: relative;
    z-index: -2;
	background-image: url(../img/business/header.png);
    border-top: 1px solid rgba(100, 100, 100, 0.1);
    border-bottom: 1px solid rgba(100, 100, 100, 0.1);
    height: 320px;
}
.pageTitleBox-business h2{
	padding-bottom: 0;
    font-size: 28px;
    line-height: 1.4;
	text-shadow: 0 0 8px rgba(100, 100, 100, 1);
}

#Body .pageTitleBox-privacy {
	background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    text-align: center;
    padding: 8em 0;
    position: relative;
    display: block;
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 1px 3px rgba(100, 100, 100, 0.5);
    /* margin-bottom: 2em; */
    position: relative;
    z-index: -2;
	background-image: url(../img/privacy/header.png); 
    border-top: 1px solid rgba(100, 100, 100, 0.1);
    border-bottom: 1px solid rgba(100, 100, 100, 0.1);
    height: 320px;
}
.pageTitleBox-privacy h2{
	padding-bottom: 0;
    font-size: 28px;
    line-height: 1.4;
	text-shadow: 0 0 8px rgba(100, 100, 100, 1);
}

#Body .pageTitleBox-margin {
	background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    text-align: center;
    padding: 8em 0;
    position: relative;
    display: block;
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 1px 3px rgba(100, 100, 100, 0.5);
    /* margin-bottom: 2em; */
    position: relative;
    z-index: -2;
	background-image: url(../img/margin/header.png); 
    border-top: 1px solid rgba(100, 100, 100, 0.1);
    border-bottom: 1px solid rgba(100, 100, 100, 0.1);
    height: 320px;
}
.pageTitleBox-margin h2{
	padding-bottom: 0;
    font-size: 28px;
    line-height: 1.4;
	text-shadow: 0 0 8px rgba(100, 100, 100, 1);
}

#englishBody .pageTitleBox-english {
	background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    text-align: center;
    padding: 8em 0;
    position: relative;
    display: block;
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 1px 3px rgba(100, 100, 100, 0.5);
    /* margin-bottom: 2em; */
    position: relative;
    z-index: -2;
	background-image: url(../img/english/header.png); 
    border-top: 1px solid rgba(100, 100, 100, 0.1);
    border-bottom: 1px solid rgba(100, 100, 100, 0.1);
    height: 320px;
}
.pageTitleBox-english h2{
	padding-bottom: 0;
    font-size: 28px;
    line-height: 1.4;
	text-shadow: 0 0 8px rgba(100, 100, 100, 1);
}
#Body .pageTitleBox-contact {
	background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    text-align: center;
    padding: 8em 0;
    position: relative;
    display: block;
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 1px 3px rgba(100, 100, 100, 0.5);
    /* margin-bottom: 2em; */
    position: relative;
    z-index: -2;
	background-image: url(../img/contact/header.png); 
    border-top: 1px solid rgba(100, 100, 100, 0.1);
    border-bottom: 1px solid rgba(100, 100, 100, 0.1);
    height: 320px;
}
.pageTitleBox-contact h2{
	padding-bottom: 0;
    font-size: 28px;
    line-height: 1.4;
	text-shadow: 0 0 8px rgba(100, 100, 100, 1);
}

#goodsBody .pageTitleBox { background-image: url(../img/goods/header.jpg); }
#Body .pageTitleBox { background-image: url(../img/news/header.png); }

#pageBox h2 { margin-bottom: 4rem; }
#pageBox h3, 
#pageBox h4 { margin-bottom: 2.5rem; }
#pageBox h3 { color :#a52f3a; }
#pageBox .mb { margin-bottom: 4rem; }
#pageBox .mbm { margin-bottom: 2rem; }
#companyBody #pageBox img,  
#aboutBody #pageBox img { margin-bottom: 2rem; }


/* home */
#newsBody table {
	border-collapse: collapse;
/*	width: 100%;*/
	border-top: 1px solid rgba(100, 100, 100, 0.5);
	border-left: 1px solid rgba(100, 100, 100, 0.5);
}
	#newsBody table td {
		padding: 0.5em;
		border-right: 1px solid rgba(100, 100, 100, 0.5);
		border-bottom: 1px solid rgba(100, 100, 100, 0.5);
	}
	#aboutDoitBox dl dt {
		padding: 150px 0 2rem 0;
		/*background-color: #00325d;*/
		background-repeat: no-repeat;
		background-size: contain;
		background-position: 50% 50%;
		color: rgba(255, 255, 255, 1);
	}
		#aboutDoitBox div:nth-child(1) dl dt { background-image: url(../img/home/point01.png); }
		#aboutDoitBox div:nth-child(2) dl dt { background-image: url(../img/home/point02.png); }
		#aboutDoitBox div:nth-child(3) dl dt { background-image: url(../img/home/point03.png); }
	#aboutDoitBox dl dd {
		text-align: left;
		padding-top: 2rem;
	}

/* contact */
#contactFormBox dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
	#contactFormBox dl dt { width: 26%; }
		#contactFormBox dl dt span {
			background: #a52f3a;
			color: rgba(255, 255, 255, 1);
			font-size: 1.2rem;
			padding: 0 1rem;
			border-radius: 5px;
			float: right;
		}
	#contactFormBox dl dd { width: 70%; }
	#contactFormBox dl dd { margin-bottom: 1rem; }

/* goods */
.goodsUl {}
	.goodsUl li {
		padding: 2rem 0;
		border-bottom: 1px dotted rgba(100, 100, 100, 1);
	}
	.goodsUl li img {
		width: 25%;
		float: right;
	}



/* news */
	.newslistDl:not(:last-child) {
		padding-bottom: 1em;
		border-bottom: 1px dotted #a52f3a;
		margin-bottom: 1em;
	}
		.newslistDl dt { font-weight: bold; }
		.newslistDl dd {
			font-size: small;
		}
			.newslistDl dd .newsDateBox {
				display: inline-block;
				color: #a52f3a;
				margin-right: 1em;
			}
			.newslistDl dd .newsCategoryUl { display: inline-block; }
				.newslistDl dd .newsCategoryUl li {
					float: left;
					width: 80px;
					font-size: x-small;
					text-align: center;
					border-radius: 3px;
					line-height: 2em;
				}
				.categorynewsLi { background: #00325d; color: rgba(255, 255, 255, 1); }
			.newslistDl dd p {
				padding-left: 2em;
				color: rgba(102, 102, 102, 0.75);
			}


/* [sp] ============================================ */
@media only screen and (max-width: 780px) {

	#homeImgBox {
		height: 70vh !important;
	}
	#miniMedicalTableBox .medicalhoursBox {
		position: relative;
		width: 100%;
		top: 0;
		right: 0;
		background: none;
		box-shadow: none;
	}
	#homeNewsBox li { margin-left: 25px; }
	#contactFormBox dl dt, 
	#contactFormBox dl dd, 
	#homeNewsBox li .newsdate,  
	#homeNewsBox li .newstitle, 
	#homeNewsBox h3, 
	#homeNewsBox ul, 
	.contentBtnBox a { width: 100%; }
	#homeNewsBox h3, 
	#homeNewsBox ul { margin-bottom: 1em; }
	#contactFormBox dl dt { margin-bottom: 0.5rem; }
	#costBox .spTable th + td, 
	.spTable td:first-child:not(.nochangecolor) {
		background: #f3f3f3;
	}

	#homeBody .ggmap { padding-bottom: 80%; }
	#Body .pageTitleBox-recruit {
	  background-image: url(../img/recruit/header_sp.png);
	}
}
@media only screen and (max-width: 480px) {
	.pageTitleBox-privacy h2{
		font-size: 22px;
	}
	.pageTitleBox-contact h2{
		font-size: 22px;
	}
	.pageTitleBox-recruit h2{
		font-size: 22px;
	}
	.pageTitleBox-business h2{
		font-size: 22px;
	}
	.pageTitleBox-about h2{
		font-size: 22px;
	}
	.headline__h3{
		font-size: 20px;
	}
	.service__headline{
		font-size: 20px;
	}
	.headline__achievements{
		font-size: 20px;
	}
	.headline__company{
		font-size: 20px;
	}
	.headline__table{
		font-size: 20px;
	}
	.headline__common{
		font-size: 18px;
	}
	.headline__voice{
		font-size: 18px;
	}
	.top__headline-business{
		font-size: 28px;
	}
	.top__headline-recruit{
		font-size: 28px;
	}
	.top__recruit-catch{
		font-size: 16px;
	}
	.access_headline{
		font-size: 28px;
	}
}