@charset "UTF-8";
/*
Theme Name: theme-mnc
Theme URI: http://www.magical-remix.co.jp/
Description: マイクロ・ナノマシニング研究教育センター様専用テンプレート
Author: Igarashi
Author URI: http://www.magical-remix.co.jp/
Version: 1.0
*/
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

/* body,Anchor
------------------------------------------------ */
* {
	box-sizing: border-box;
}
body {
	padding: 0;
	margin: 0;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 15px;
	font-style: normal;
	font-weight: normal;
	line-height: 1.8;
	color: #333;
	background: #fff;
}
a {
	overflow: hidden;
	color: #2b7bb9;
}
a:link, a:visited {
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
input, textarea {
	padding: 5px;
	font-size: 15px;
	border: 1px solid #ccc;
}
.inner {
	width: 990px;
	margin: 0 auto;
}
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sp-block {
	display: none;
}
.wrap_box {
	position: relative;
	height: 0;
	padding-top: 56.25%;
}
.wrap_box iframe, .wrap_box object, .wrap_box embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.unit_micro {
	font-family: arial,sans-serif;
}
#pagescroll {
	margin: 0;
}
#pagescroll a {
	position: fixed;
	right: 1%;
	bottom: 50px;
	z-index: 200;
	width: 50px;
	height: 50px;
	padding: 10px;
	margin: 0 0 0 -50px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background: #555;
	border-radius: 50%;
	opacity: 0.8;
}
#pagescroll a::after {
	position: absolute;
	top: 55%;
	left: 50%;
	width: 15px;
	height: 15px;
	content: '';
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
	transform: translate(-50%, -50%) rotate(45deg);
}
#pagescroll a:hover {
	background: #111;
	transition: 0.3s;
}
@media screen and (max-width: 767px) {
	body, input, textarea {
		font-size: 14px;
	}
	button, [type="button"], [type="reset"], [type="submit"] {
		-webkit-appearance: button;
	}
	.inner {
		width: 100%;
		padding: 0 10px;
	}
	.pc-block {
		display: none;
	}
	.sp-block {
		display: block;
	}
	#pagescroll a {
		bottom: 10px;
	}
}

/* header
------------------------------------------------ */
#site-title {
	padding: 4px 0;
	margin: 0 0 20px;
	font-family: 'Roboto', sans-serif;
	font-size: 11px;
	line-height: 1;
	color: #3e1586;
	background: #F1EFF4;
}
#site-title span {
	display: block;
}
#header a {
	color: #333;
	text-decoration: none;
}
#header ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
#header .flex {
	align-items: end;
}
#header .inner .flex {
	justify-content: flex-start;
}
#header #logo {
	width: 515px;
	position: relative;
	margin: 0;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.3;
}
#header #logo.en {
	width: 560px;
}
#header #logo::after {
	display: block;
	clear: both;
	content: "";
}
#header #logo img {
	float: left;
	width: 50px;
	height: auto;
	margin: 0 10px 0 0;
}
#header #logo span {
	display: block;
	margin: 0 0 3px;
	font-size: 13px;
}
#header #logo small {
	display: block;
	margin: 3px 0 0;
	padding: 0 0 0 60px;
	font-size: 12px;
	font-weight: normal;
}
#header .subnav li {
	margin: 0 0 0 18px;
}
#header .subnav li:first-child {
	margin: 0;
}
#header .subnav a {
	position: relative;
	padding: 0 0 0 10px;
	font-size: 13px;
}
#header .subnav a::before {
	position: absolute;
	top: 50%;
	left: -2px;
	width: 5px;
	height: 5px;
	content: "";
	border-top: solid 1px #3e1586;
	border-left: solid 1px #3e1586;
	transform: translate(0, -50%) rotate(135deg);
}
#header .subnav a:hover {
	color: #47008E;
}
#header .linkbtn li {
	margin: 0 0 0 10px;
}
#header .linkbtn a {
	display: block;
	font-size: 12px;
}
#header .search-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	cursor: pointer;
	background: #efefef;
}
#header .search-btn img {
	width: 16px;
	height: auto;
}
#header .search-btn:hover {
	background: #F3F0F7;
}
#header .target-btn {
	background: #3e1586 url(img/icon-key-w.svg) no-repeat left 9px center;
	background-size: auto 12px;
	border: 1px solid #3e1586;
}
#header .target-btn a {
	color: #fff;
	height: 34px;
	padding: 0 9px 0 23px;
	font-size: 12px;
	font-weight: bold;
	line-height: 34px;
}
#header .target-btn a:hover {
	background: #47008E url(img/icon-key-w.svg) no-repeat left 9px center;
	border-color: #47008E;
}
#header .language-btn {
	background: #fff;
	border: 1px solid #3e1586;
}
#header .language-btn a {
	color: #3e1586;
	height: 34px;
	padding: 0 10px;
	font-size: 12px;
	font-weight: bold;
	line-height: 34px;
}
#header .language-btn a:hover {
	background: #F3F0F7;
}
@media screen and (max-width: 767px) {
	#site-title {
		margin: 0 0 10px;
		font-size: 10px;
	}
	#header .inner {
		display: block;
	}
	#header #logo,
	#header #logo.en {
		width: auto;
		font-size: 18px;
	}
	#header #logo span {
		font-size: 12px;
	}
	#header .linkbtn {
		width: 100%;
		margin: 10px 0 0;
	}
	#header .linkbtn li {
		margin: 0;
	}
	#header .search-btn {
		width: 20%;
	}
	#header .target-btn, #header .language-btn {
		width: 40%;
		text-align: center;
	}
}
@media screen and (max-width: 480px) {
	#header #logo,
	#header #logo.en {
		padding: 0 30px 0 0;
		font-size: 17px;
	}
	#header #logo span {
		font-size: 10px;
	}
	#header #logo small {
		font-size: 10px
	}
	#header #logo.en small {
		padding: 0;
	}
}

/* nav
------------------------------------------------ */
#nav ul {
	display: flex;
	width: 100%;
	padding: 0;
	margin: 20px 0 0;
	list-style: none;
}
#nav ul li {
	width: calc(100% / 6);
}
#nav ul li:nth-child(4) {
	width: calc(100% / 6 + 20px);
}
#nav ul li:nth-child(5) {
	width: calc(100% / 6 + 60px);
}
#nav ul li a {
	display: block;
	height: 46px;
	font-size: 14px;
	line-height: 46px;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	color: #3e1586;
}
#nav ul li.key span {
	background: url(img/icon-key-g.svg) no-repeat left center;
	background-size: auto 12px;
	display: inline-block;
	width: 15px;
	height: 14px;
	vertical-align: text-bottom;
}
#nav ul li a:hover {
	background: #F3F0F7;
}
@media screen and (max-width: 767px) {
	#nav ul , #nav ul li {
		display: block;
	}
	#nav ul {
		position: absolute;
		top: 84px;
		left: 0;
		z-index: 100;
		display: none;
		margin: 0;
		background: #fff;
		border-top: 1px solid #ccc;
	}
	#nav ul li, #nav ul li:nth-child(4), #nav ul li:nth-child(5) {
		width: 100%;
	}
	#nav ul li a {
		height: auto;
		padding: 10px;
		line-height: inherit;
		border-bottom: 1px solid #ccc;
	}
	.menu-trigger, .menu-trigger span {
		display: inline-block;
		transition: all 0.4s;
	}
	.menu-trigger {
		position: absolute;
		top: 30px;
		right: 10px;
		z-index: 1002;
		width: 30px;
		height: 35px;
		cursor: pointer;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background: #888;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 8px;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 17px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 8px;
	}
	.menu-trigger.close span:nth-of-type(1) {
		top: -2px;
		transform: translateY(20px) rotate(-45deg);
	}
	.menu-trigger.close span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.close span:nth-of-type(3) {
		bottom: -4px;
		transform: translateY(-20px) rotate(45deg);
	}
}
@media screen and (max-width: 400px) {
	#nav ul {
		top: 74px;
	}
}

/* title
------------------------------------------------ */
#title {
	padding: 30px 0;
	margin: 0 0 30px;
	background: #F1EFF4;
}
#title #path {
	margin: 0;
	font-size: 12px;
	color: #888;
}
#title #path span + span:before {
	content: " > ";
}
#title #path a {
	color: #3e1586;
}
#title #page-title {
	margin: 20px 0 0;
	font-size: 30px;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
.parent-pageid-12 #title #page-title span {
	display: none;
}
@media screen and (max-width: 767px) {
	#title {
		padding: 20px 0;
		margin: 10px 0 20px;
	}
	#title #page-title {
		font-size: 26px;
	}
}
@media screen and (max-width: 400px) {
	#title p {
		font-size: 10px;
	}
	#title #page-title {
		font-size: 22px;
	}
}

/* contents
------------------------------------------------ */
#contents .btn {
	position: relative;
	display: block;
	height: 20px;
	padding: 0 10px 0 25px;
	font-size: 11px;
	line-height: 20px;
	color: #333;
	background: #F1EFF4;
	border-radius: 35px;
}
#contents .btn.bg {
	height: 30px;
	padding: 0 30px;
	font-size: 13px;
	line-height: 30px;
	color: #fff;
	background: #3e1586;
}
#contents .btn.pdf {
	display: inline-block;
	border: 1px solid #3e1586;
	background: #fff url(img/icon-pdf.png) no-repeat center left 20px;
	background-size: 15px auto;
	padding: 0 20px 0 45px;
}
#contents li > .btn.pdf {
	margin: 5px 0;
}
#contents .btn.big {
	height: 50px;
	line-height: 50px;
	font-size: 15px;
}
#contents .btn:hover {
	text-decoration: none;
	background: #F3F0F7;
}
#contents .btn.bg:hover {
	background: #47008E;
}
#contents .btn.pdf:hover {
	background: #F3F0F7 url(img/icon-pdf.png) no-repeat center left 20px;
	background-size: 15px auto;
}
#contents .btn::after {
	position: absolute;
	top: 50%;
	left: 10px;
	width: 5px;
	height: 5px;
	content: "";
	border-top: solid 1px #3e1586;
	border-left: solid 1px #3e1586;
	transform: translate(0, -50%) rotate(135deg);
}
#contents .btn.bg::after {
	right: 10px;
	left: auto;
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
}
#contents .btn.pdf::after {
	content: none;
}

/* main
------------------------------------------------ */
#main {
	display: block;
}
.post-body {
	overflow: hidden;
}
.post-body::after {
	display: block;
	clear: both;
	content: "";
}
.post-body h2 {
	padding: 10px 0 10px 20px;
	margin: 0 0 30px;
	font-size: 20px;
	border-left: 4px solid #3e1586;
}
.post-body p + h2, .post-body ul + h2, .post-body ol + h2 {
	margin-top: 50px;
}
.post-body h3 {
	padding: 0 0 10px;
	margin: 50px 0 20px;
	font-size: 17px;
	color: #3e1586;
	border-bottom: 1px solid #3e1586;
}
.post-body h4 {
	background: #F1EFF4;
	margin: 20px 0;
	padding: 10px;
	font-size: 15px;
	color: #3e1586;
}
.post-body h5 {
	margin: 10px 0;
	font-size: 15px;
}
.post-body table {
	border-collapse: collapse;
}
.post-body table th,
.post-body table td {
	border: 1px solid #ccc;
	padding: 10px;
}
.post-body table th {
	text-align: left;
	background: #F1EFF4;
}
.post-body .wp-block-image img {
	height: auto;
}
.post-body ul,
.post-body ol {
	padding: 0 0 0 1.5em;
}
@media screen and (max-width: 767px) {
	#main img {
		display: block;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}
	.post-body h2 {
		font-size: 19px;
	}
	.post-body h3 {
		font-size: 16px;
	}
}
@media screen and (max-width: 400px) {
	.post-body h2 {
		font-size: 18px;
	}
	.post-body p + h2, .post-body ul + h2, .post-body ol + h2 {
		margin-top: 40px;
	}
	.post-body h3 {
		margin: 40px 0 20px;
		font-size: 15px;
	}
}

/* news-area 
------------------------------------------------ */
#news-area dl {
	margin: 50px 0 0;
	border-top: 1px solid #e2e9ec;
	border-bottom: 1px solid #e2e9ec;
}
#news-area dt {
	position: relative;
	padding: 15px 20px 0;
	font-size: 13px;
	color: #888;
	border-top: 1px solid #e2e9ec;
}
#news-area dt span {
	position: absolute;
	top: 15px;
	left: 100px;
	display: block;
	padding: 0 10px;
	font-size: 10px;
	border: 1px solid #ccc;
}
#news-area dt span.cat-important {
	color: #6d0808;
	border-color: #6d0808;
}
#news-area dt span.cat-news {
	color: #08326d;
	border-color: #08326d;
}
#news-area dd {
	padding: 0 20px;
	margin: 5px 0 10px;
	font-size: 14px;
}

/* footer
------------------------------------------------ */
#footer {
	margin: 50px 0 0;
}
#footer a {
	color: #fff;
	text-decoration: none;
}
#footer .subnav {
	padding: 10px 0;
	background: #F1EFF4;
}
#footer .subnav ul {
	justify-content: flex-end;
	list-style: none;
}
#footer .subnav li {
	margin: 0 0 0 18px;
}
#footer .subnav a {
	position: relative;
	padding: 0 0 0 10px;
	font-size: 13px;
	color: #333;
}
#footer .subnav a::before {
	position: absolute;
	top: 50%;
	left: -2px;
	width: 5px;
	height: 5px;
	content: "";
	border-top: solid 1px #3e1586;
	border-left: solid 1px #3e1586;
	transform: translate(0, -50%) rotate(135deg);
}
#footer .subnav a:hover {
	color: #47008E;
}
#footer .content {
	padding: 30px 0 0;
	color: #fff;
	background: #3e1586;
}
#footer .content a:hover {
	opacity: 0.8;
}
#footer .content .flex {
	align-items: center;
}
#footer .content h4 {
	margin: 0;
	font-size: 15px;
}
#footer .content h4 span {
	font-size: 12px;
}
#footer .content dl {
	justify-content: flex-start;
	padding: 0;
	margin: 0;
	font-size: 12px;
}
#footer .content dt {
	padding: 10px;
	color: #fff;
	background: rgba(255, 255, 255, 0.2);
}
#footer .content dd {
	margin: 0 0 0 15px;
}
#footer .content .btn a {
	padding: 10px 20px 10px 40px;
	font-size: 13px;
	color: #333;
	background: #fff url("img/icon-mail.svg") no-repeat left 20px center;
	border-radius: 35px;
}
#footer small {
	display: block;
	width: 100%;
	padding: 30px 0;
	font-size: 12px;
	text-align: right;
}
@media screen and (max-width: 767px) {
	#footer .content .inner.flex {
		display: block;
	}
	#footer .content h4, #footer .content p {
		text-align: center;
	}
	#footer .content dl {
		justify-content: center;
		margin: 10px 0 20px;
	}
	#footer small {
		padding: 20px 0;
	}
}
@media screen and (max-width: 400px) {
	#footer .content {
		padding: 20px 0 0;
	}
	#footer .content dl {
		font-size: 11px;
	}
	#footer small {
		padding: 15px 0 20px;
		text-align: center;
	}
}

/* search-area
------------------------------------------------ */
#search-area {
	position: fixed;
	z-index: 2;
	display: none;
	width: 600px;
	height: 50px;
}
#modal-bg {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1;
	display: none;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
}
#search-area .s {
	background: #fff;
	width: 76%;
	color: #666;
	height: 50px;
	font-size: 15px;
	padding-left: 20px;
	border: 1px solid #dcdcdc;
	float: left;
	outline: none;
}
#search-area .searchbtn {
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	width: 24%;
	float: left;
	color: #fff;
	height: 50px;
	line-height: 50px;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	background: #2b2b2b;
}
@media screen and (max-width: 767px) {
	#search-area {
		width: calc(100% - 20px);
		margin: 0 auto;
	}
	#search-area form {
		text-align: center;
	}
	#search-area .searchbtn {
		font-size: 16px;
	}
}