@charset "utf-8";/* --------------------------------------------------- *//* レイアウト *//* --------------------------------------------------- */.wrap {	margin: 0;	padding: 0;	display: -webkit-box;	display: -ms-flexbox;	display: flex;	width: 100%;	min-width: 320px;	background: #fff;	overflow: hidden;}.vertical-column {	display: -webkit-box;	display: -ms-flexbox;	display: flex;	flex-direction: column;	width: 100%;	min-height: 100vh;}.container { position: relative; flex: 1 0 auto; }main section { padding-left: 4%; padding-right: 4%; }main section.just { padding-left: 0; padding-right: 0; }.contents {	margin: 0 auto;	max-width: 960px;}.just .contents { width: 92%; }.inner {	display: table;	width: 100%;}/* --------------------------------------------------- *//* ヘッダー *//* --------------------------------------------------- */header {	position: relative;	padding: 12px 30px 8px;	background-color: #fff;	box-shadow: 0 0 5px 0 rgba(0,0,0,0.2);	z-index: 333;}header h1 {	display: inline-block;	width: 204px;	float: left;}header h1 a { transition: all .5s; }header h1 a img { width: 100%; height: auto; }@media screen and (min-width: 768px) {	header h1 a:hover { opacity: 0.5; }} @media screen and (max-width: 767px) {	header {		padding: 10px 3% 6px;		box-shadow: 0 0 4px 0 rgba(0,0,0,0.2);	}	header h1 { width: 164px; }}@media screen and (max-width: 419px) {	header h1 { width: 148px; }}/* ボタンナビ *//* --------------------------------------------------- */h1 + nav { height: 50px; }h1 + nav ul {	display: flex;	height: 100%;	flex-direction: row;	justify-content: flex-end;	align-items: center;}h1 + nav ul li {	margin-left: 20px;	width: 32px;}h1 + nav ul li.dispoff { display: none; }h1 + nav ul li a {	position: relative;	display: block;	transition: all .3s;}h1 + nav ul li a img { width: 100%; height: auto;}h1 + nav ul li a::after{	position: absolute;	top: 0;	left: 0;	content: '';	display: block;	width: 32px;	height: 24px;	background-color: #fff;	background-image: url('../../image/common/btn-close.png');	background-repeat: no-repeat;	background-position: 50% 0;	background-size: cover;	transition: all .5s;	opacity: 0.0;}h1 + nav ul li.btn-close a::after { opacity: 1.0; }@media screen and (min-width: 768px) {	h1 + nav ul li a:hover { opacity: 0.5; }}@media screen and (max-width: 767px) {	h1 + nav { height: 40px; }	h1 + nav ul li { margin-left: 16px; width: 28px; }	h1 + nav ul li a::after{ width: 28px; height: 21px; }}@media screen and (max-width: 419px) {	h1 + nav { height: 36px; }	h1 + nav ul li { margin-left: 12px; width: 24px; }	h1 + nav ul li a::after{ width: 24px; height: 18px; }}/* コンテンツナビ *//* --------------------------------------------------- */#contentnav {	position: absolute;	top: 77px;	right: 15px;	display: table;	width: 480px;	z-index: 888;	transition: all .3s;	box-sizing: border-box;}#contentnav nav {	display: table-cell;	padding: 15px 0 20px;	background-color: #fcfcfc;	box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);}#contentnav nav > div {	display: block;	padding: 0 15px;	width: 100%;	height: 520px;	box-sizing: border-box;	overflow-y: auto;}#contentnav nav::before {	content: '';	position: absolute;	top: -8px;	right: 20px;	display: block;	background-color: #fcfcfc;	width: 21px;	height: 21px;	box-shadow: 3px -3px 4px 0 rgba(0,0,0,0.15);	transform: rotate(-45deg);	z-index: 890;}#contentnav h2 {	margin: 30px 0 0;	font-family: 'Montserrat', 'Noto Snas JP', sans-serif;	color: #666;	font-size: 2.0rem;	text-align: center;}#contentnav nav ul {	display: table;	width: 100%;}#contentnav nav ul li {	display: inline-block;	margin-top: 20px;	width: 25%;	float: left;}#contentnav nav ul li a {	display: block;	padding-top: 54px;	background-repeat: no-repeat;	background-size: 48px 48px;	background-position: 50% 0;	color: #666;	font-size: 1.2rem;	text-align: center;	transition: all .5s;}/* アイコン指定 */#contentnav nav ul li a.nav-home { background-image: url('../../image/common/icc-home.png'); }#contentnav nav ul li a.nav-regist { background-image: url('../../image/common/icc-regist.png'); }#contentnav nav ul li a.nav-topics { background-image: url('../../image/common/icc-topics.png'); }#contentnav nav ul li a.nav-help { background-image: url('../../image/common/icc-help.png'); }#contentnav nav ul li a.nav-news { background-image: url('../../image/common/icc-news.png'); }#contentnav nav ul li a.nav-products { background-image: url('../../image/common/icc-products.png'); }#contentnav nav ul li a.nav-report { background-image: url('../../image/common/icc-report.png'); }#contentnav nav ul li a.nav-channel { background-image: url('../../image/common/icc-channel.png'); }#contentnav nav ul li a.nav-dictionary { background-image: url('../../image/common/icc-dictionary.png'); }#contentnav nav ul li a.nav-seminar { background-image: url('../../image/common/icc-seminar.png'); }#contentnav nav ul li a.nav-book { background-image: url('../../image/common/icc-book.png'); }#contentnav nav ul li a.nav-society { background-image: url('../../image/common/icc-society.png'); }#contentnav nav ul li a.nav-labo { background-image: url('../../image/common/icc-labo.png'); }#contentnav nav ul li a.nav-kokushi { background-image: url('../../image/common/icc-kokushi.png'); }#contentnav nav ul li a.nav-apps { background-image: url('../../image/common/icc-apps.png'); }@media screen and (min-width: 768px) {	#contentnav nav ul li a:hover { opacity: 0.5; }} @media screen and (max-width: 767px) {	#contentnav {		top: 65px;		right: 10px;		width: 400px;	}	#contentnav nav {		padding: 10px 0 18px;		box-shadow: 0 0 4px 0 rgba(0,0,0,0.2);	}	#contentnav nav::before {		top: -8px;		right: 8px;		width: 18px;		height: 18px;		box-shadow: 2px -2px 3px 0 rgba(0,0,0,0.15);	}	#contentnav nav > div {		padding: 0 12px;		height: 500px;	}	#contentnav nav ul li { margin-top: 15px; }	#contentnav nav ul li a {		padding-top: 48px;		background-size: 40px 40px;		font-size: 1.1rem;	}}@media screen and (max-width: 419px) {	#contentnav {		top: 56px;		right: 10px;		width: 300px;	}	#contentnav nav {		padding: 5px 0 15px;		box-shadow: 0 0 4px 0 rgba(0,0,0,0.2);	}	#contentnav nav::before {		top: -4px;		right: 8px;		width: 10px;		height: 10px;		box-shadow: 2px -2px 3px 0 rgba(0,0,0,0.10);	}	#contentnav nav > div {		padding: 0 6px;		height: 400px;	}	#contentnav h2 {		margin: 20px 0 0;		font-size: 1.8rem;	}	#contentnav nav ul li a {		padding-top: 36px;		background-size: 32px 32px;		font-size: 1.0rem;		letter-spacing: 0;	}}/* 表示／非表示 */#contentnav { visibility: hidden; opacity: 0.0; }#contentnav.dispon { visibility: visible; opacity: 1.0; }/* ログインガジェット *//* --------------------------------------------------- */#gadget_login {	position: absolute;	top: 77px;	right: 15px;	display: table;	width: 480px;	z-index: 888;	transition: all .3s;	box-sizing: border-box;}#gadget_login > div {	display: table-cell;	padding: 30px 0;	background-color: #fcfcfc;	box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);}#gadget_login > div form {	display: block;	padding: 0 40px;	width: 100%;	box-sizing: border-box;}#gadget_login > div::before {	content: '';	position: absolute;	top: -8px;	right: 70px;	display: block;	background-color: #fcfcfc;	width: 21px;	height: 21px;	box-shadow: 3px -3px 4px 0 rgba(0,0,0,0.15);	transform: rotate(-45deg);	z-index: 890;}#gadget_login form > div {	margin-top: 15px;	text-align: center;}#gadget_login form > div input.l-wide { width: 100%; }#gadget_login form > div input[type=button] {	margin: 0 auto 0;	max-width: 210px;	background-color: #666;	color: #fff;	font-size: 1.4rem;	line-height: 36px;}#gadget_login form > div a {	color: #666;	font-size: 1.4rem;	transition: all .3s;}#gadget_login form > div a:hover { color: #2a8de0; }@media screen and (max-width: 767px) {	#gadget_login {		top: 65px;		right: 10px;		width: 400px;	}	#gadget_login > div {		padding: 20px 0;		box-shadow: 0 0 4px 0 rgba(0,0,0,0.2);	}	#gadget_login > div form { padding: 0 30px; }	#gadget_login > div::before {		top: -8px;		right: 60px;		width: 18px;		height: 18px;		box-shadow: 2px -2px 3px 0 rgba(0,0,0,0.15);	}	#gadget_login form > div input[type=button] {		font-size: 1.3rem;		line-height: 32px;	}	#gadget_login form > div a { font-size: 1.3rem; }}@media screen and (max-width: 419px) {	#gadget_login {		top: 56px;		right: 10px;		width: 300px;	}	#gadget_login > div { padding: 20px 0; }	#gadget_login > div::before {		top: -4px;		right: 42px;		width: 10px;		height: 10px;		box-shadow: 2px -2px 3px 0 rgba(0,0,0,0.10);	}	#gadget_login > div form { padding: 0 20px; }	#gadget_login form > div a { font-size: 1.2rem; }}/* 表示／非表示 */#gadget_login { visibility: hidden; opacity: 0.0; }#gadget_login.dispon { visibility: visible; opacity: 1.0; }/* 検索ガジェット *//* --------------------------------------------------- */#gadget_search {	position: absolute;	top: 77px;	right: 15px;	display: table;	width: 480px;	z-index: 888;	transition: all .3s;	box-sizing: border-box;}#gadget_search > div {	display: table-cell;	padding: 30px 0;	background-color: #fcfcfc;	box-shadow: 0 0 5px 0 rgba(0,0,0,0.3);}#gadget_search > div form {	display: block;	padding: 0 40px;	width: 100%;	box-sizing: border-box;}#gadget_search > div::before {	content: '';	position: absolute;	top: -8px;	right: 123px;	display: block;	background-color: #fcfcfc;	width: 21px;	height: 21px;	box-shadow: 3px -3px 4px 0 rgba(0,0,0,0.15);	transform: rotate(-45deg);	z-index: 890;}#gadget_search form > div {	margin-top: 15px;	text-align: center;}#gadget_search form > div input.l-wide { width: 100%; }#gadget_search form > div label {	display: inline-block;	margin: 0 8px;	vertical-align: middle;}#gadget_search form > div label span { display: inline-block; font-size: 1.4rem;}#gadget_search form > div button {	margin: 0 auto 0;	max-width: 210px;	background-color: #666;	line-height: 36px;}#gadget_search form > div button span {	display: inline-block;	padding-left: 30px;	background-image: url('../../image/common/ic-btn-search.png');	background-repeat: no-repeat;	background-size: 24px 24px;	background-position: 0 50%;	color: #fff;	font-size: 1.4rem;	line-height: 36px;	letter-spacing: 0.5em;}@media screen and (max-width: 767px) {	#gadget_search {		top: 65px;		right: 10px;		width: 400px;	}	#gadget_search > div {		padding: 20px 0;		box-shadow: 0 0 4px 0 rgba(0,0,0,0.2);	}	#gadget_search > div form { padding: 0 30px; }	#gadget_search > div::before {		top: -8px;		right: 102px;		width: 18px;		height: 18px;		box-shadow: 2px -2px 3px 0 rgba(0,0,0,0.15);	}	#gadget_search form > div label { margin: 0 7px; }	#gadget_search form > div label span { font-size: 1.3rem;}	#gadget_search form > div button { line-height: 32px; }	#gadget_search form > div button span {		padding-left: 25px;		background-size: 20px 20px;		font-size: 1.3rem;		line-height: 32px;	}}@media screen and (max-width: 419px) {	#gadget_search {		top: 56px;		right: 10px;		width: 300px;	}	#gadget_search > div { padding: 20px 0; }	#gadget_search > div::before {		top: -4px;		right: 80px;		width: 10px;		height: 10px;		box-shadow: 2px -2px 3px 0 rgba(0,0,0,0.10);	}	#gadget_search > div form { padding: 0 20px; }	#gadget_search form > div label { margin: 0 3px 0 0; }	#gadget_search form > div label:last-child { margin: 0; }	#gadget_search form > div label input[type=radio] { margin-right: 4px; }	#gadget_search form > div label span { font-size: 1.2rem; letter-spacing: 0; }}/* 表示／非表示 */#gadget_search { visibility: hidden; opacity: 0.0; }#gadget_search.dispon { visibility: visible; opacity: 1.0; }/* --------------------------------------------------- *//* フッター *//* --------------------------------------------------- */footer {	position: relative;	padding: 40px 30px 20px;	background-color: #f0f0f0;	border-top: 1px solid #fff;}footer h1 {	display: table-cell;	padding-top: 10px;	width: 27%;	min-width: 250px;	vertical-align: top;}footer h1 a {	display: inline-block;	width: 204px;	transition: all .5s;}footer h1 a img { width: 100%; height: auto; }footer dl {	display: table-cell;	width: 55%;	vertical-align: top;}footer dl dt {	display:inline-block;	width: 24%;	float: left;}footer dl dd {	display:inline-block;	width: 76%;	float: left;}footer dl ul { display: table; width: 100%; }footer dl dt ul li { display: block; }footer dl dd ul li { display: inline-block; width: 32%; float: left; }footer dl ul li a {	display: inline-block;	padding-left: 22px;	background-repeat: no-repeat;	background-size: 18px 18px;	background-position: 0 50%;	color: #666;	font-size: 1.2rem;	line-height: 32px;	transition: all .3s;}/*アイコン指定*/footer dl ul li a.ic-home { background-image: url('../../image/common/ic-home.png'); }footer dl ul li a.ic-regist { background-image: url('../../image/common/ic-regist.png'); }footer dl ul li a.ic-topics { background-image: url('../../image/common/ic-topics.png'); }footer dl ul li a.ic-help { background-image: url('../../image/common/ic-help.png'); }footer dl ul li a.ic-news { background-image: url('../../image/common/icc-news.png'); }footer dl ul li a.ic-products { background-image: url('../../image/common/icc-products.png'); }footer dl ul li a.ic-report { background-image: url('../../image/common/icc-report.png'); }footer dl ul li a.ic-channel { background-image: url('../../image/common/icc-channel.png'); }footer dl ul li a.ic-dictionary { background-image: url('../../image/common/icc-dictionary.png'); }footer dl ul li a.ic-seminar { background-image: url('../../image/common/icc-seminar.png'); }footer dl ul li a.ic-book { background-image: url('../../image/common/icc-book.png'); }footer dl ul li a.ic-society { background-image: url('../../image/common/icc-society.png'); }footer dl ul li a.ic-kokushi { background-image: url('../../image/common/icc-kokushi.png'); }footer dl ul li a.ic-apps { background-image: url('../../image/common/icc-apps.png'); }footer dl ul li a.ic-labo { background-image: url('../../image/common/icc-labo.png'); }footer .ft-nav {	display: table-cell;	width: 18%;	min-width: 150px;	vertical-align: top;}footer .ft-nav ul {	display: table;	margin-left: auto;}footer .ft-nav ul li a {	color: #666;	font-size: 1.2rem;	line-height: 32px;	transition: all .3s;}footer .credit {	font-family: 'Montserrat', 'Noto Snas JP', sans-serif;	color: #aaa;	font-size: 1.0rem;	font-weight: 500;}@media screen and (min-width: 1020px) {	footer dl dd ul li:nth-child(3n+1) { width: 38%; }	footer dl dd ul li:nth-child(3n+2) { width: 29%; }	footer dl dd ul li:nth-child(3n+3) { width: 29%; }}@media screen and (min-width: 768px) {	footer h1 a:hover,	footer dl ul li a:hover,	footer .ft-nav ul li a:hover { opacity: 0.5; }}@media screen and (max-width: 1019px) {	footer h1 {		display: table;		padding-top: 0;		margin: 0 auto;		width: auto;		min-width: 0;	}	footer dl {		display: table;		margin: 20px auto 0;		width: 95%;	}	footer dl dt {		display: inline-block;		width: 140px;		float: left;	}	footer dl dd {		display: inline-block;		width: 500px;		float: right;	}	footer dl dd ul li:nth-child(3n+1) { width: 210px; }	footer dl dd ul li:nth-child(3n+2) { width: 170px; }	footer dl dd ul li:nth-child(3n+3) { width: 120px; }	footer .ft-nav {		display: table;		margin: 15px auto 0;		width: 100%;		min-width: auto;		vertical-align: top;	}	footer .ft-nav ul {		display: table;		margin-left: auto;		margin-right: auto;	}	footer .ft-nav ul li { display: inline-block; padding: 0 15px; }	footer .credit {		margin-top: 15px;		text-align: center;	}}@media screen and (max-width: 767px) {	footer { padding: 40px 3% 20px; }	footer h1 a { width: 180px; }	footer dl {		margin: 20px auto 0;		width: 100%;	}	footer dl dt {		display: table;		width: 100%;		float: none;	}	footer dl dd {		display: table;		margin-left: auto;		width: 92%;		float: none;	}	footer dl dt ul li {		display: table-cell;		width: 25%;		text-align: center;	}	footer dl dt ul li a {		display: inline-block;		padding-top: 32px;		padding-left: 0;		background-size: 32px 32px;		background-position: 50% 0;		color: #666;		font-size: 1.0rem;		line-height: 20px;	}	footer dl dd ul { margin-top: 20px; }	footer dl dd ul li:nth-child(3n+1) { width: 24%; }	footer dl dd ul li:nth-child(3n+2) { width: 24%; }	footer dl dd ul li:nth-child(3n+3) { width: 24%; }}@media screen and (max-width: 579px) {	footer dl dd ul li:nth-child(3n+1) { width: 35%; }	footer dl dd ul li:nth-child(3n+2) { width: 31%; }	footer dl dd ul li:nth-child(3n+3) { width: 31%; }	footer .ft-nav ul li a {		font-size: 1.1rem;		line-height: 24px;		letter-spacing: 0;	}}@media screen and (max-width: 419px) {	footer { padding: 25px 0 12px; }	footer h1 a { width: 160px; }	footer dl dt ul li a {		display: inline-block;		padding-top: 28px;		padding-left: 0;		background-size: 24px 24px;		background-position: 50% 0;		color: #666;		font-size: 1.0rem;		line-height: 20px;	}	footer dl dd {		margin-left: 0;		width: 100%;	}	footer dl dd ul {		border-top: 1px solid #ddd;//		border-bottom: 1px solid #ddd;		box-sizing: border-box;		background-color: #f3f3f3;	}	footer dl dd ul li {		box-sizing: border-box;		border-bottom: 1px solid #ddd;	}	footer dl dd ul li:nth-child(2n+1) { border-right: 1px solid #ddd; }//	footer dl dd ul li:last-child { border-bottom: 0; }	footer dl dd ul li:nth-child(3n+1) { width: 50%; }	footer dl dd ul li:nth-child(3n+2) { width: 50%; }	footer dl dd ul li:nth-child(3n+3) { width: 50%; }	footer dl dd ul li a {		display: block;		padding-left: 36px;		background-size: 18px 18px;		background-position: 13px 50%;		font-size: 1.2rem;		line-height: 42px;	}	footer .ft-nav { margin: 15px auto 0;  text-align: center; }	footer .ft-nav ul li { display: inline-block; padding: 0 15px 0 0;}	footer .ft-nav ul li:last-child { padding: 0;}	footer .ft-nav ul li a { font-size: 1.0rem; }	footer .credit { margin-top: 5px; }}/* --------------------------------------------------- *//* ページ最上部へボタン *//* --------------------------------------------------- */#pgtop {	position: fixed;	right: 30px;	bottom: 55px;	display: table;	width: 48px;	height: 48px;	z-index: 777;}#pgtop a {	display: table-cell;	background-color: rgba(0,0,0,0.6);	background-image: url('../../image/common/pgtop.png');	background-repeat: no-repeat;	background-position: 50% 55%;	background-size: 18px 24px;	border-radius: 50%;	box-shadow: 0px 0px 8px rgba(0,0,0,0.6);	transition: all .3s;}#pgtop.maxbtm { position: absolute; bottom: -24px; }@media screen and (min-width: 768px) {	#pgtop a:hover { background-color: rgba(0,0,0,0.3); }}@media screen and (max-width: 767px) {	#pgtop {		right: 20px;		bottom: 30px;		width: 36px;		height: 36px;	}	#pgtop a {		background-position: 50% 55%;		background-size: 12px 16px;		box-shadow: 0px 0px 6px rgba(0,0,0,0.6);	}	#pgtop.maxbtm { bottom: -18px; }}@media screen and (max-width: 419px) {	#pgtop {		right: 10px;		bottom: 20px;		width: 36px;		height: 36px;	}	#pgtop a {		background-position: 50% 55%;		background-size: 12px 16px;		box-shadow: 0px 0px 6px rgba(0,0,0,0.6);	}	#pgtop.maxbtm { bottom: -18px; }}