@charset "UTF-8";
@font-face {
	font-family: 'mplus.ttf';
	src: url(mplus.ttf);
}
body {
	-webkit-text-size-adjust: 100%;
	margin:0;
	padding: 0;
	line-height: 1;
	font-family: sans-serif;
	letter-spacing: 0.1em;
	border-top: solid thin #999;
	position: relative;
	overflow-x: hidden;
	animation: fadeIn 0.75s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

:not(span) {
	box-sizing: border-box;
	margin:0;
	padding: 0;
	font-size: 1em;
	font-weight: normal;
}
input, textarea {
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6 {
	line-height: 1.25;
}
div,p,li,dt,dd {
	line-height: 1.75;
}
p + p {
	margin-top: 0.75rem;
}
li {
	list-style-type: none;	
}
.table_slider {
	width: 100%;
	overflow-x: auto;
	overflow-y: auto;
}
table {
	border-collapse: collapse;
}
table + table {
	margin-top: 3em;
}
table th {
	border: solid medium #CCC;
	background: #EEE;
	padding: 0.25em 0.5em;
	line-height: 1.5;
}
table td {
	border: solid medium #CCC;
	padding: 0.25em 0.5em;
	line-height: 1.5;
}
label,
button {
	white-space: nowrap;
	cursor: pointer;
	outline: none;
}
a, a:visited {
	color: black;
	text-decoration: none;
}
section a,
section a:visited {
	color: #39F;
	text-decoration: underline;
}
input[type=checkbox] {
	cursor: pointer;
}
.here {
	pointer-events: none;
	opacity: 0.25;
}
.table {
	margin: 2rem 0;
}
img, iframe {
	max-width: 100%;
}
small {
	font-size: 90%;
}
big {
	font-size: 120%;
}
b {
	font-weight: bold;
}

.table {
	max-width: 100%;
	padding-bottom: 0.25em;
	overflow-X: auto;
}
/*スクロールバーの幅指定*/
.table::-webkit-scrollbar {
	height: 1em;
}
/*スクロールバーの背景色・角丸指定*/
.table::-webkit-scrollbar-track {
	border-radius: 0.5em;
	background: #EEE;
}
/*スクロールバーの色・角丸指定*/
.table::-webkit-scrollbar-thumb {
	border-radius: 0.5em;
	background: #CCC;
}

.table + .table {
	margin-top: 3em;
}

/* セクション 基本 */
section {
	width: 70em;
	max-width: calc(100% - 2rem);
	margin: 1em auto;
	padding: 3em 0 0;
	clear: both;
}
section + section {
	margin-top: 3em;
}

section.border_block {
	border: solid thin #999;
	padding: 2em 2.5em;
	margin-top: 3em;
	background: white;
	position: relative;
}
@media (max-width: 60em) {
	section.border_block {
		padding: 2em 1.75em;
	}
}
@media (max-width: 40em) {
	section.border_block {
		padding: 2em 1em;
	}
}

section.top_header {
	text-align: center;
}
section.top_header h2 {
	font-size: 200%;
}
section.top_header p {
	margin: 1em 0;
}
section.top_header ul.navi {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	padding: 0 !important;
	margin-top: 2em;
}
section.top_header ul.navi li {
	margin: 0.5em 1em;
	white-space: nowrap;
}
section.top_header ul.navi li a {
	text-decoration: underline;
	color: #09F;
	font-size: 1.125em;
}
section.page_header {
	text-align: center;
}

button {
	display:inline-block;
	text-align: center;
	font-size: 1.25em;
	width: 10em;
	font-family: sans-serif;
	line-height:1;
	margin: 0.25em;
	padding: 0.5em 0.75em;
	border-left: solid 0.125em #DDD;
	border-top: solid 0.125em #DDD;
	border-right: solid 0.125em #AAA;
	border-bottom: solid 0.125em #AAA;
	color: black;
	background-color:#F3F3F3;
	border-radius:0.25em;
	background: -moz-linear-gradient(top,  #FFF,  #DDD);
	background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#DDD));
	background: linear-gradient(#FFF, #DDD);
	cursor:pointer;
	outline: none;
	transition: 0.1s;
}
button:active {
	color: black;
	border-left: solid 0.125em #AAA;
	border-top: solid 0.125em #AAA;
	border-right: solid 0.125em #DDD;
	border-bottom: solid 0.125em #DDD;
}
h3 {
	font-size: 1.5rem;
	margin-bottom: 1rem;
}

/* メールフォーム誘導ボタン */
.to_form {
	text-align: center;
}
.to_form a {
	display: inline-block;
	color: white;
	white-space: nowrap;
	background: linear-gradient(rgba(0,51,153,0.5), rgba(0,51,153,1));
	border-radius: 0.5em;
	margin: 1em 0 0;
	padding: 0.5em 1.25em;
	font-size: 1.125em;
	text-align: center;
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.1);
	transition: .2s;
}
.to_form a:hover {
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.2);
}
.learn_more {
	z-index: 90;
}
.learn_more a {
	display: inline-block;
	color: white !important;
	text-decoration: none !important;
	white-space: nowrap;
	background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,1));
	border-radius: 0.25em;
	margin: 1em 0 0;
	padding: 0.25em 1.25em;
	font-size: 1.125em;
	text-align: center;
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.1);
	transition: .2s;
}
.learn_more a:hover {
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.2);
}








/* パンクズリスト */
#pankuzu {
	width: 70rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto 1rem;
}
#pankuzu ol {
	display: flex;
}
#pankuzu li {
	white-space: nowrap;
}
#pankuzu li:last-child {
	overflow: hidden;
	text-overflow: ellipsis;
}
#pankuzu li::after {
	display: inline-block;
	content: '>';
	margin: 0 0.75em;
}
#pankuzu li:last-child::after {
	content: none;
}
#pankuzu li a {
	text-decoration: underline;
	font-size: 90%;
}
#pankuzu li:last-child a {
	text-decoration: none;
}


/* ヘッダー */
header {
	margin: 0;
	padding: 0;
	width: 100%;
	background: white;
	z-index: 2;
	transition: .5s;
}
header a,
header a:visited
header a:hover {
	color: black;
	text-decoration: none;
}
h1 {
	float: left;
	white-space: nowrap;
	margin-left: calc((100% - 70em) / 2);
	padding: 1.5em 0 1em;
	transition: .5s;
}
h1 a span:first-child {
	display: block;
	margin-bottom: 0.25em;
	margin-left: 4.75em;
}
h1 a span:last-child {
	font-size: 200%;
	font-family: 'mplus.ttf';
	display: block;
	letter-spacing: 0;
	margin-left: calc(4.75em / 2);
}
h1 a::before {
	display: block;
	float: left;
	margin: 1rem 0.75rem 0 0;
	content: '';
	width: 4.6rem;
	height: 2rem;
	background: url(./img/STLogo.gif);
	background-size: cover;
}


header input,
header ul > label {
	display: none;
}
header ul {
clear: both;
	display: flex;
	justify-content: center;
	background: rgba(123,141,66,1);
	background: linear-gradient(rgba(123,141,66,0.5), rgba(123,141,66,1));
}
header ul li {
	margin: 0;
}
header > ul > li > a,
header > ul > li > span {
	font-size: 1.125rem;
	display: block;
	padding: 0.25rem 1.25rem;
	white-space: nowrap;
	color: white !important;
	font-weight: bold;
	font-family: serif, 'Sawarabi Mincho';
	transition: .5s;
	cursor: pointer;
}
header ul li a:hover {
	background: rgba(0,0,0,0.25);
}
@media (min-width: 60.001em) { /* プルダウンメニュー */
	header > ul > li  ul {
		position: absolute;
		z-index: 999;
		background: rgba(123,141,66,1);
		display: block;
		transform: rotateY(90deg);
		opacity: 0;
		transition: .5s;
	}
	header > ul > li:hover  ul {
		position: absolute;
		z-index: 999;
		display: block;
		transform: rotateY(0deg);
		opacity: 1;
	}
	header > ul > li  ul li {
		margin: 0;
		padding: 0;
		line-height: 1;
	}
	header > ul > li  ul li a {
		display: block;
		white-space: nowrap;
		color: white !important;
		font-weight: bold;
		font-family: serif, 'Sawarabi Mincho';
		margin: 0;
		padding: 0.667em 2em;
		transition: .5s;
	}
}
header ul::before {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	content: '';
	width: 3em;
	height: 3em;
	background: url(./img/cross.svg); /* スマホ表示のプルダウンメニューを閉じるための「×」ボタン */
}
header p {
	position: absolute;
	top: 2em;
	right: calc((100% - 70em) / 2);
	text-align: center;
	line-height: 1;
}
header p a {
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	border-top: solid thin black;
	margin: 0.25em 0 ;
	padding: 0.25em 0 0;
}
@media (max-width: 72em) {
	h1 {
		margin-left: 1em;
	}
	header p {
		right: 1em;
	}
}
@media (max-width: 60em) { /*----- ヘッダーのレスポンシブ ここから -----*/
	header {
		height: 4.5em;
		border-bottom: solid thick rgba(153,167,109,1);
	}
	h1 {
		position: absolute;
		top: 0.75em;
		left: 1em;
		margin: 0;
		padding: 0;
		transition: .5s;
		line-height: 1;
	}
	h1 a {
		display: inline-block;
		white-space: nowrap;
		margin: 0;
		padding: 0;
	}
	h1 a span:first-child {
		display: block;
		font-size: 80%;
		margin: 0.5em 0 0.25em 4.375em;
	}
	h1 a span:last-child {
		display: block;
		font-size: 125%;
		margin-left: 2.8em;
		letter-spacing: 0;
	}
	h1 a::before {
		display: block;
		float: left;
		margin: 0.5rem 0.75rem 0 0;
		content: '';
		width: 4.6rem;
		height: 2rem;
		background: url(./img/STLogo.gif);
		background-size: cover;
	}	

	header input {
		display: block;
		position: absolute;
		top: 1.5em;
		right: 2em;
		transform: scale(4);
		z-index: 100;
		opacity: 0;
	}
	header > ul {
		position: absolute;
		top: -100em;
		left: 1em;
		width: calc(100% - 2em);
		margin: 0;
		padding: 3em 0 1.5em;
		background: rgba(123,141,66,0.75);
		display: block;
		z-index: 99;
		transition: .3s;
	}
	header > ul::before {
		display: block;
	}
	header input:checked + ul {
		top: 1em;
	}
	header > ul > li {
		display: block;
		text-align: center;
		padding: 0.5em 0;
	}
	header > ul > li > span {
		display: none;
	}
	header > ul > li  a,
	header > ul > li  a:visited,
	header > ul > li  a:hover {
		color: white;
		margin: 0;
		padding: 0.5em 0;
	}
	header > ul > li > ul {
		display: block;
		background: rgba(255,255,255,0);
	} 
	header > ul > li > ul > li + li {
		margin-top: 0.75em;
	} 
	header > ul > li > ul > li a {
		display: block;
		width: 100%;
		font-family: serif, 'Sawarabi Mincho';
		transition: .5s;
	} 
	
	header::after {
		position: absolute;
		top: 1.25em;
		right: 1.25em;
		content: '';
		width: 2em;
		height: 2em;
		background: url(./img/hamburger.svg) no-repeat; /* 三本線 メニュー開閉ボタン */
		background-size: contain;
		transition: .5s;
		z-index: 11;
	}
	header label {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
	}
	header label img {
		width: 3em;
	}
	header p {
		display: none;
	}
} /*----- ヘッダーのレスポンシブ ここまで -----*/ 


/*============================== フッター ==============================*/
footer {
	width: 100%;
	margin: 6em 0 0;
	padding: 1em 0 0;
	background: #EEE;
	position: relative;
}
#footer_menu {
	list-style-type: none;
	margin-top: 3rem;
	margin-bottom:4rem;
	padding: 0;
	display: flex;
	justify-content: center;
}
#footer_menu input {
	display: none;
}

#footer_menu > li {
	border-right: solid thin #CCC;
	padding: 0.25em 1.25em 0;
}

#footer_menu > li > a,
#footer_menu > li > label a,
#footer_menu span {
	font-size: 1.125rem;
}
@media (min-width: 70.001em) {
	#footer_menu > li:nth-child(1) {
		width: 6em;
	}
	#footer_menu > li:nth-child(2),
	#footer_menu > li:nth-child(3),
	#footer_menu > li:nth-child(4),
	#footer_menu > li:nth-child(5) {
		width: 12.8rem;
		max-width: calc((100% - 6rem) / 4);
	}
	#footer_menu label {
		cursor: default;
	}
}
#footer_menu > li > a {
	white-space: nowrap;
}
#footer_menu > li:last-child {
	border-right: none;
}
#footer_menu ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	font-weight: normal;
}
#footer_menu ul li {
	margin: 0.75em 0 0.75em 0.75em;
	line-height: 1.25;
//	overflow: hidden;
//	text-overflow: ellipsis;
//	white-space: nowrap;
}
#footer_menu ul li a {
	font-size: 1rem;
}
#copy {
	margin: 0;
	padding: 1.5em 0;
	font-size: 90%;
	color: white;
	background: black;
	text-align: center;
}
#copy a,
#copy a:visited {
	color: white;
}

/* ページのトップに戻る */
#back_to_top {
	position: fixed;
	bottom: 4.5em;
	right: 0.75em;
}
#back_to_top a {
	display: inline-block;
	color: rgba(0,0,0,0);
	width: 3em;
	height: 3em;
	background: url(./img/to_top.png);
	background-size: cover;
	transform: rotateY(90deg);
	opacity: 0;
	transition: 1s;
}
#back_to_top.is-animation a {
	transform: rotateY(0deg);
	opacity: 1;
}

address {
	width: 70rem;
	max-width: calc(100% - 2rem);
	margin: 1rem auto 2rem;
	padding: 0;
	border: solid thin black;
	border-radius: 0.5rem;
	font-style: normal;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
}
address div,
address ul {
	margin: 0.5rem 1em;
}
address span {
	font-size: 0.9rem;
	display: block;
}
@media (max-width: 32rem) {
	address {
		font-size: 3.5vw;
	}
}

@media (max-width: 70em) { /*----- フッターのレスポンシブ ここから -----*/
#footer_menu {
	display: block;
	width: calc(100% - 1.5em);
	max-width: 30em;
	margin: 3em auto;
}
#footer_menu > li {
	border: none;
	width: 100%;
	padding-top: 1em;
	border-bottom: solid thin #CCC;
	line-height: 2.5;
	position: relative;
}
#footer_menu > li:last-child {
	border-bottom: none;
}
#footer_menu li a {
	font-weight: normal;
	font-size: 1rem;
}
#footer_menu > li:first-child,
#footer_menu > li:nth-child(4) {
	padding-bottom: 1em;
}
#footer_menu > li:nth-child(4) a {
	font-size: 1.125rem !important;
}
#footer_menu li input {
	display: block !important;
	position: absolute;
	top: 2em;
	right: 2em;
	transform: scale(3);
	opacity: 0;
	z-index: 9;
}
#footer_menu li input + ul {
	list-style-type: none;
	overflow: hidden;
	margin: 0;
	padding: 0.5em 0;
}

#footer_menu li input + ul::before {
	content: '＋';
	position: absolute;
	top: 1.25em;
	right: 1.75em;
	transition: 0.2s;
}
#footer_menu li input:checked + ul::before {
	transform:rotate(45deg);
}

#footer_menu li input + ul li {
	margin: 0;
	padding-left: 1.75em;
	padding-top: 0;
	padding-bottom: 0;
	height: 0;
	opacity: 0;
	overflow: hidden;
	transition: 0.3s;
}
#footer_menu li input:checked + ul li {
	padding-top: 0.5em;
	height: 3.5em;
	opacity: 1;
}
#footer_menu li input:checked + ul li:first-child {
	padding-top: 0.75em;
}
#footer_menu li input:checked + ul li:last-child {
	height: 4em;
}
#footer_menu ul li a {
	font-size: 1rem;
}
} /*----- フッターのレスポンシブ ここまで -----*/















/*============================== トップページ ==============================*/

#top_image {
	margin: 0 0 2em;
	width: 100%;
	height: 40vw;
	max-height: calc(100vh - 8em);
	background-position: center center;
	background-size: cover;
	position: relative;
}
#top_image p {
	position: absolute;
	bottom: 5vw;
	width: 100%;
	font-weight: bold;
	text-align: center;
	font-size: 250%;
	font-family: serif, 'Sawarabi Mincho';
	text-shadow:
		0.05em 0.05em 0 white,
		-0.05em 0.05em 0 white,
		0.05em -0.05em 0 white,
		-0.05em -0.05em 0 white,
		0 -0.066em 0 white,
		0 0.066em 0 white,
		-0.066em 0 0 white,
		0.066em 0 0 white,
		0.05em 0.05em 0.75em white,
		-0.05em 0.05em 0.75em white,
		0.05em -0.05em 0.75em white,
		-0.05em -0.05em 0.75em white,
		0 -0.066em 0.75em white,
		0 0.066em 0.75em white,
		-0.066em 0 0.75em white,
		0.066em 0 0.75em white;
	animation-name: fadein;
	animation-duration: 5s;
}



@keyframes fadein {
	from {
	opacity: 0;
	text-shadow:
		0.05em 0.05em 0 rgba(255,255,255,0),
		-0.05em 0.05em 0 rgba(255,255,255,0),
		0.05em -0.05em 0 rgba(255,255,255,0),
		-0.05em -0.05em 0 rgba(255,255,255,0),
		0 -0.066em 0 rgba(255,255,255,0),
		0 0.066em 0 rgba(255,255,255,0),
		-0.066em 0 0 rgba(255,255,255,0),
		0.066em 0 0 rgba(255,255,255,0),
		0.05em 0.05em 0.75em rgba(255,255,255,0),
		-0.05em 0.05em 0.75em rgba(255,255,255,0),
		0.05em -0.05em 0.75em rgba(255,255,255,0),
		-0.05em -0.05em 0.75em rgba(255,255,255,0),
		0 -0.066em 0.75em rgba(255,255,255,0),
		0 0.066em 0.75em rgba(255,255,255,0),
		-0.066em 0 0.75em rgba(255,255,255,0),
		0.066em 0 0.75em rgba(255,255,255,0);
	}
	to {
	opacity: 1;
	text-shadow:
		0.05em 0.05em 0 white,
		-0.05em 0.05em 0 white,
		0.05em -0.05em 0 white,
		-0.05em -0.05em 0 white,
		0 -0.066em 0 white,
		0 0.066em 0 white,
		-0.066em 0 0 white,
		0.066em 0 0 white,
		0.05em 0.05em 0.75em white,
		-0.05em 0.05em 0.75em white,
		0.05em -0.05em 0.75em white,
		-0.05em -0.05em 0.75em white,
		0 -0.066em 0.75em white,
		0 0.066em 0.75em white,
		-0.066em 0 0.75em white,
		0.066em 0 0.75em white;
	}
}


@media (max-width: 40em) {
	#top_image p {
		font-size: 5vw;
	}
}

/* トップページ 新着情報 小窓 */
#top_news {
	margin-top: 3em;
}

#top_ctg h2,
#top_news h2,
#top_important_news h2 {
	letter-spacing: 0.33em;
	font-size: 1.33em;
	margin: 0 0 1em;
	padding: 0;
	text-align: center;
}
#top_important_news > div {
	border: solid thin red;
	padding: 1.75em 1em 1em;
	position: relative;
}
#top_important_news li {
	border-color: white !important;
}
#top_important_news h2 {
	color: red;
	display: block;
	background: white;
	padding-left: 0.33em;
	position: absolute;
	top: -0.66em;
	left: calc(50% - 5em);
}
#top_news ul,
#top_important_news ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	width: 100%;
}
#top_news ul a,
#top_important_news ul a {
	color: black;
	text-decoration: none;
}
#top_news ul li,
#top_important_news ul li {
	border-top: solid thin #CCC;
}
#top_news ul li:last-child,
#top_important_news ul li:last-child {
	border-bottom: solid thin #CCC;
}
#top_news ul li a,
#top_news ul li a:visited,
#top_important_news a,
#top_important_news a:visited {
	display: block;
	line-height: 1.5;
	padding: 1em 0.75em;
	overflow: hidden;
	display: flex;
	align-items: center;
}
#top_news span.date,
#top_important_news span.date {
	width: 8em;
	flex-shrink: 0;
}
@media (max-width: 45em) {
	#top_news ul li a,
	#top_important_news ul li a {
		padding: 0.75em 0.25em;
		flex-wrap: wrap;
	}
	#top_news span.date,
	#top_important_news span.date {
		font-size: 0.9rem;
	}
	#top_news ul li a span:last-child,
	#top_important_news ul li a:last-child {
		width: 100%;
	}
}
#top_news ul + p {
	text-align: right;
	margin: 0.5em 0 0;
	font-size: smaller;
}

/* トップページ 商品紹介 */
#top_ctg a {
	text-decoration: none;
}
#top_ctg ul {
	display: flex;
}
#top_ctg ul li {
	width: calc(100% / 3);
	height: 20em;
	padding: 1.5em;
	background: #EEE;
	box-shadow: inset 0.5em 0.5em 0.5em rgba(0,0,0,0.1);
	perspective: 50em;
}
#top_ctg ul li a.display_off {
	display: block;
	width: 100%;
	height: 100%;
	color: white;
	padding: 1em 0.75em;
	position: relative;
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.2);
	transform: rotateY(90deg);
	transition: 2s;
}
#top_ctg ul li a.display_on {
	transform: rotateY(0deg);
}
#top_ctg ul li a span:nth-child(1) {
	display: block;
	text-align: center;
	font-weight: bold;
	font-size: 150%;
	margin-bottom: 1em;
	font-family: serif, 'Sawarabi Mincho';
	background: rgba(0,0,0,0.25);
}
#top_ctg ul li a::after {
	display: block;
	content: '→︎︎';
	position: absolute;
	bottom: 1em;
	right: 1em;
	line-height: 1;
	padding: 0.5em;
	border: solid medium white;
	border-radius: 50%;
	transition: .5s;
}
#top_ctg ul li a:hover::after {
	transform: scale(1.5);
}
#top_ctg ul li:nth-child(1) {
	background: url(./img/top_medical.jpg) center center;
	/* https://publicdomainq.net/clinical-mri-scanner-0014099/ */
	background-size: cover;
}
#top_ctg ul li:nth-child(2) {
	background: url(./img/top_ctg2.jpg) center center;
	background-size: cover;
}
#top_ctg ul li:nth-child(3) {
	background: url(./img/top_battery.jpg) center center;
	background-size: cover;
}
#top_ctg ul li:nth-child(4) {
	background: url(./img/top_ctg4.jpg) center center;
	background-size: cover;
}
#top_ctg ul li:nth-child(1) a {
	background: rgba(0,102,255,0.75); /* スカイブルー */
}
#top_ctg ul li:nth-child(2) a {
	background: rgba(51,204,51,0.75); /* ミントグリーン */
}
#top_ctg ul li:nth-child(3) a {
	background: rgba(153,0,102,0.75); /* パープル */
}
#top_ctg ul li:nth-child(4) a {
	background: rgba(255,136,0,0.75); /* オレンジ */
}

@media (max-width: 70rem) {
	#top_ctg ul {
		flex-wrap: wrap;
	}
	#top_ctg ul li {
		width: 100%;
		max-width: 50rem;
		margin: 0 auto;
		height: 15em;
	}
	#top_ctg ul li a span:nth-child(1) { 
		margin-bottom: 0.5em;
	}
}
@media (max-width: 40rem) {
	#top_ctg ul li {
		height: 18rem;
	}
}

#top_other ul {
	width: 100%;
	display: flex;
	justify-content: center;
}
#top_other ul li {
	width: calc((100% - 2em) / 3);
	margin: 1em;
}
#top_other ul li a {
	display: block;
	width: 100%;
	height: 4em;
	color: white !important;
	text-decoration: none !important;
	background: linear-gradient(rgba(123,141,66,0.5), rgba(123,141,66,1));
	background: linear-gradient(rgba(0,51,153,0.5), rgba(0,51,153,1));
	border-radius: 0.5em;
	padding: 0.25em;
	font-size: 1.125em;
	text-align: center;
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.1);
	transition: .2s;
}
#top_other ul li a:hover {
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.2);
}
#top_other ul li a span {
	display: block;
}
@media (max-width: 52em) {
	#top_other ul {
		flex-wrap: wrap;
	}
	#top_other ul li {
		min-width: 17em;
		margin: 1em auto;
	}
}
#top_other ul li:nth-child(3) a {
	padding-top: 1.125em;
}



/*============================== 中古医療機器買取 ==============================*/
#medical_header {
	background: url(./img/medical_header.jpg) center center #EEE;
	/* https://publicdomainq.net/hospital-medical-device-0037908/ */
	background-size: cover;
	margin: 0;
	padding: 2rem 0;
}
#medical_header h2 {
	font-size: 2rem;
	width: 70rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto;
	text-shadow: 0.125rem 0.125rem 0.125rem white;
}


#wrap_medical #item > ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 2rem 0 0 2rem;
}
#wrap_medical #item > ul > li {
	width: calc(50% - 0.75rem);
	background: white;
	min-height: 15rem;
	margin-bottom: 1.5rem;
	border: solid thin #CCC;
	padding: 1rem;
	position: relative;
	box-shadow: 0.5rem 0.5rem 0.5rem rgba(0,0,0,0.125);
}
@media (max-width: 45rem) {
	#wrap_medical #item > ul > li {
		width: 100%;
	}
}
#wrap_medical #item h4 {
	font-size: 1.125rem;
	margin-bottom: 0.5rem;
}

#wrap_medical #item table {
	width: 100%;
}
#wrap_medical #item th {
	white-space: nowrap;
}

#wrap_medical #flow div {
	border: solid medium #06F;
	border-radius: 0.5rem;
	margin: 2rem 0 4rem 2rem;
	padding: 1.5rem;
	position: relative;
}
#wrap_medical #flow div::before {
	content: '«';
	font-family: sans-serif;
	 color: #06F;
	 position: absolute;
	 font-size: 3rem;
	 bottom: -4.75rem;
	 left: calc(50% - 1.5rem);
	 transform: rotate(-90deg);
}
#wrap_medical #flow div:last-child::before {
	content: none;
}
#wrap_medical #flow h4 {
	font-size: 1.25rem;
	position: absolute;
	top: -0.75rem;
	padding: 0 0.5rem;
	background: white;
}


#wrap_medical #blog h4 {
	font-size: 1.25rem;
	margin: 2.5rem 0 1rem 2rem;
}
#wrap_medical #blog h5 {
	font-size: 1rem;
	margin: 0 0 1rem 2rem;
}
#wrap_medical #blog ul {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	margin: 0;
}
#wrap_medical #blog ul > li {
	background: white;
	margin: 0 0 2rem 2rem;
	border: solid thin #CCC;
	padding: 0.5rem;
	position: relative;
}
#wrap_medical #blog ul > li::before {
	display: block;
	z-index: -1;
	content: '';
	position: absolute;
	bottom: 0.5em;
	left: 0.5em;
	width: 50%;
	height: 1em;
	background: #EEE;
	box-shadow: 0 0.1em 1em rgba(0,0,0,0.5);
	transform: rotate(-2deg);
}
#wrap_medical #blog ul > li::after {
	display: block;
	z-index: -1;
	content: '';
	position: absolute;
	bottom: 0.5em;
	right: 0.5em;
	width: 50%;
	height: 1em;
	background: #EEE;
	box-shadow: 0 0.1em 1em rgba(0,0,0,0.5);
	transform: rotate(2deg);
}
#wrap_medical #blog ul > li img {
	display: block;
}
/*============================== 蓄電池販売 ==============================*/
#battery_header {
	background: url(./img/battery_header.jpg) center top 30% #EEE;
	background-size: cover;
	margin: 0;
	padding: 2rem 0;
}
#battery_header h2 {
	font-size: 2rem;
	width: 70rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto;
	text-shadow: 0.125rem 0.125rem 0.125rem white;
}


#wrap_battery h4 {
	font-size: 1.25rem;
}

#wrap_battery strong.tomeruna {
	display: block;
	font-family: serif;
	margin: 1rem 0;
	padding: 0.75rem 1.25rem;
	font-size: 1.75rem;
	font-weight: bold;
	background: #feca1d; 
}
#wrap_battery strong.tomeruna span {
	color: red;
}
#wrap_battery img.right {
	display: block;
	float: right;
	width: calc(20rem + 1rem);
	height: calc(13.333rem + 2rem);
	background: white;
	padding: 0 0 1rem 1rem;
}

#wrap_battery img.center {
	display: block;
	background: white;
	margin: 2rem auto 0;
	padding: 1.5rem;
	border: solid thin #CCC;
	clear: both;
}
/*
section div::after {
	display: block;
	content: '';
	width: 100%;
	height: 0;
	clear:both;
}
*/

#company_header {
	background: url(./img/company_header.jpg) center center #EEE;
	background-size: cover;
	margin: 0;
	padding: 2rem 0;
}
#company_header h2 {
	font-size: 2rem;
	width: 70rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto;
	text-shadow: 0.125rem 0.125rem 0.125rem white;
}
#wrap_company table {
	width: calc(100% - 2rem);
	margin: 2rem 0 0 2rem;
}
#wrap_company table th {
	text-align: right;
}
#wrap_company table caption {
	font-size: 1.125rem;
	text-align: left;
}
#wrap_company table caption rt {
	font-size: 0.8rem;
}
#wrap_company iframe {
	width: calc(100% - 2rem);
	height: 30rem;
	max-height: 50vw;
	border: solid medium #CCC !important;
}
#wrap_company iframe,
#wrap_company p {
	margin: 1rem 0 0  2rem;
}


/*============================== 医療機器レンタル ==============================*/
#rental_header {
	background: url(./img/rental_header.jpg) center center #EEE;
	background-size: cover;
	margin: 0;
	padding: 2rem 0;
}
#rental_header h2 {
	font-size: 2rem;
	width: 70rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto;
	text-shadow: 0.125rem 0.125rem 0.125rem white;
}

#wrap_rental h4 {
	font-size: 1.25rem;
	margin: 2rem 0 1rem 1rem;
}
#wrap_rental p {
	margin: 1rem 0 1rem 2rem;
}
#wrap_rental ol li {
	list-style-type: decimal;
	margin: 0.5rem 0 0.5rem 5rem;
}
#wrap_rental div.right {
	float: right;
	width: calc(20rem + 1rem);
	background: #EEE;
	padding: 0 0 1rem 1rem;
	background: white;
}
#wrap_rental div.right img {
	display: block;
	width: 20rem;
	margin: 0 0 1rem 1rem;
	border: solid thin #CCC;
	padding: 0.75rem;
}

/*============================== お知らせ ==============================*/
#news_header {
	background: url(./img/news_header.jpg) center center #EEE;
	background-size: cover;
	margin: 0;
	padding: 2rem 0;
}
#news_header h2 {
	font-size: 2rem;
	width: 70rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto;
	text-shadow: 0.125rem 0.125rem 0.125rem white;
}
#wrap_news #news_headline h3 {
	color: white;
	background: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,1));
	font-size: 1.125rem;
	padding: 0.5rem;
	text-align: center;
}
#wrap_news #news_headline #headline {
	display: flex;
	flex-wrap: wrap;
}
#wrap_news #news_headline #headline li {
	width: calc((100% - 3rem) / 4);
	height: 15rem;
	border: solid thin #EEE;
	margin: 0 1rem 1rem 0;
	position: relative;
}
#wrap_news #news_headline #headline li:nth-child(4n) {
	margin: 0 0 1rem 0;
}
#wrap_news #news_headline #headline li .date {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 1rem);
	background: rgba(0,0,0,0.333);
	color: white;
	font-size: 0.9rem;
	overflow: hidden;
	padding: 0.5rem 0.5rem;
	line-height: 1;
}
#wrap_news #news_headline #headline li .subject {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 1rem);
	background: rgba(0,0,0,0.333);
	color: white;
	font-size: 1rem;
	height: 4.5rem;
	overflow: hidden;
	padding: 0.25rem 0.5rem;
	line-height: 1.5 !important;
}
#wrap_news #news_headline #headline li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	overflow: hidden;
}
#pager {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 3rem;
}
#pager li a {
	display: block;
	text-decoration: none;
	width: 2rem;
	height: 2rem;
	background: black;
	color: white;
	border-radius: 50%;
	text-align: center;
	padding-top: 0.5rem;
	font-weight: bold;
	line-height: 1;
}

#wrap_news #kobetsu h3 {
	border-bottom: solid thin black;
	padding-bottom: 0.5rem;
	margin-bottom: 0.25rem;
}
#wrap_news #kobetsu .date {
	text-align: right;
	font-size: 0.9rem;
}
#wrap_news #kobetsu .text {
	min-height: 5rem;
}
#wrap_news #kobetsu .photo {
	margin: 0 auto;
}
#wrap_news #kobetsu .photo img {
	display: block;
	margin: 3rem auto;
}
#wrap_news #kobetsu #older_newer {
	display: flex;
	justify-content: center;
	margin-top: 5rem;
}
#wrap_news #kobetsu #older_newer li {
	width: 15rem;
	margin: 0.5rem;
	overflow: hidden;
	line-height: 1.5;
}
#wrap_news #kobetsu #older_newer li div:first-child {
	text-align: center;
	font-size: 0.9rem;
}
#wrap_news #kobetsu #older_newer li div:last-child a {
	display: block;
	width: 15rem;
	height: 5.5rem;
	padding: 0.5rem;
	overflow: hidden;
	line-height: 1.5;
	border: solid thin #999;
	border-radius: 0.25rem;
	text-decoration: none;
}
#wrap_news #kobetsu #older_newer li div:last-child a span {
	display: block;
	font-size: 0.8rem;
}

/*============================== お問い合わせ ==============================*/
#mailform_header {
	background: url(./img/mailform_header.jpg) center center #EEE;
	background-size: cover;
	margin: 0;
	padding: 2rem 0;
}
#mailform_header h2 {
	font-size: 2rem;
	width: 70rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto;
	text-shadow: 0.125rem 0.125rem 0.125rem white;
}
#wrap_mailform {
	text-align: center;
	
}
#wrap_mailform table {
	width: 60rem;
	max-width: calc(100% - 2rem);
	margin: 0 auto 2rem;
}
#wrap_mailform table .req {
	color: red;
}
#wrap_mailform table th {
	width: 15rem;
	max-width: 30%;
	text-align: right;
}
#wrap_mailform table td {
	text-align: left;
}
#wrap_mailform table input[type=text],
#wrap_mailform table input[type=tel],
#wrap_mailform table textarea {
	width: calc(100% - 0.5rem);
	padding: 0.25rem 0.5rem;
	font-size: 1.125rem;
	line-height: 1.5;
	border: solid thin #CCC;
	border-radius: 0.25rem;
	margin: 0.25rem;
	font-family: sans-serif;
}
#wrap_mailform table .confirmation {
	display: inline-block;
	padding: 0.25rem 0.5rem;
	font-size: 1.125rem;
	line-height: 1.5;
	border: solid thin rgba(255,255,255,0);
	margin: 0.25rem;
	font-family: sans-serif;
}
#wrap_mailform table textarea {
	display: block;
	height: 16rem;
}
#wrap_mailform table .add {
	
}
#wrap_mailform table .baikyaku {
	display: flex;
	align-items: center;
	width: 100%;
}
#wrap_mailform table .add {
	font-size: 0.9rem;
	line-height: 1.5;
	margin-bottom: 0.5rem;
}
#wrap_mailform table .baikyaku span:first-child {
	display: block;
	width: 9rem;
	font-size: 0.9rem;
	padding-left: 1rem;
}
#wrap_mailform table .baikyaku span:last-child {
	width: calc(100% - 9rem);
}
#wrap_mailform #privacypolicy_set a {
	color: #39F;
}
#wrap_mailform #submit {
	margin-top: 2rem;
}

#allgreen_message { /* 入力に不備が無い時の緑色のメッセージ */
	border: solid medium #0A0;
	color: #0A0;
	background: #FFF;
	margin: 0;
	padding: 0.25em 1em;
	line-height: 1.75;
	font-size: 1.1rem;
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.25);
}
#allgreen_message span {
	padding: 0em 0.4em;
	font-weight: bold;
	color: white;
	background: #0A0;
	border: solid medium #0A0;
	vertical-align: middle;
}
#alert_message { /* 入力に不備がある時の警告メッセージ */
	border: solid medium red;
	color: red;
	background: #FFF;
	margin: 0;
	padding: 0.25em 1em;
	line-height: 1.75;
	font-size: 1.1rem;
	box-shadow: 0.5em 0.5em 0.5em rgba(0,0,0,0.25);
}
#alert_message span {
	padding: 0 0.4em;
	font-weight: bold;
	color: white;
	background: red;
	border: solid medium red;
	vertical-align: middle;
}
/*============================== 会社情報 ==============================*/
#wrap_company #message div {
	width: 60rem;
	max-width: 100%;
	margin:0 auto;
	padding: 1rem 2rem;
	border: solid thin #999;
}
#wrap_company #message div p {
	margin: 1rem 0;
}
#wrap_company #message div #signature {
	font-family: serif;
	text-align: right;
}
#wrap_company #message div #signature rt {
	font-size: 0.75rem;
}
/*============================== 在庫一覧 ==============================*/
button.mini {
	display: inline;
	font-size: 0.8rem;
	padding: 0;
	margin: 0;
	width: auto;
	max-width: auto;
}
#pager button {
	font-size: 1rem;
	width: 2rem;
	max-width: auto;
	height: 2rem;
	padding: 0.5rem 0 0.5rem !important;
	line-height: 1 !important;
	border-radius: 50%;
	text-align: center;
}
#stock_list caption {
	margin:0.5rem 0;
}