@charset "utf-8";
/*
Theme Name: i-kensa
Version: 1.0beta
Author: Tomofumi Aizawa
*/

/*
"Noto Sans JP" licensed under the SIL Open Font License
"Noto Serif JP" licensed under the SIL Open Font License
https://www.shinshu-u.ac.jp/
*/

/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}

/*-----------------------------------------------------
	base
------------------------------------------------------*/

html {
	font-size: 62.5%;
}
body {
	color: #333;
	line-height: 1.5;
	text-align: center;
	font-family: sans-serif;
	letter-spacing: .1em;
	background: url('images/bg_00.png') repeat-x;
	padding: 15em 0 0 0;
}
body.home {
	padding: 14em 0 0 0;
}
a {
	color: #00a0cf;
	-moz-transition: all 1s ease;
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
img, iframe, object {
	max-width: 100%;
}
img {
	height: auto;
}
a img {
	-moz-transition: opacity 1s ease-out;
	-webkit-transition: opacity 1s ease-out;
	transition: opacity 1s ease-out;
}
a:hover img {
	-moz-opacity: 0.6;
	-webkit-opacity: 0.6;
	opacity: 0.6;
}

/*-----------------------------------------------------
	header
------------------------------------------------------*/

header {
	-moz-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 102;
	background: #fff;
	border-bottom: 4px solid #09c;
	margin-bottom: 2em;
}
header .block {
	border-bottom: 1px solid #ccc;
	padding: 0.5em 0;
}
header .block ul {
	font-size: 0;
	max-width: 960px;
	margin: 0 auto;
	text-align: left;
}
header .block ul li {
	display: inline-block;
	font-size: 1.3rem;
	margin-right: 1em;
}
header .block ul li:before {
	content: url('images/icon_00.png');
	margin-right: 0.5em;
}
header .block ul li:last-of-type {
	float: right;
	margin-right: 0;
}
header .block ul li:last-of-type:before {
	content: url('images/icon_01.png');
}
header .block ul li a {
	color: #333;
}
header .block h1 {
	max-width: 960px;
	margin: 0 auto;
	text-align: left;
}

/* fixed */

header.fixed .block:nth-of-type(2) {
	-moz-transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	display: none;
}

/* home */

.home header {
	margin-bottom: 0;
}

/*-----------------------------------------------------
	layout
------------------------------------------------------*/

/* nav */

nav {
	max-width: 1080px;
	margin: 0 auto;
}
nav .inner ul {
	display: table;
	width: 100%;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	table-layout: fixed;
}
nav .inner ul li {
	font-size: 1.6rem;
	display: table-cell;
	position: relative;
}
nav .inner ul li:before {
	content: '.';
	font-size: 0;
	display: block;
	width: 1px;
	height: 4rem;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
	position: absolute;
	left: 0;
	top: 0;
}
nav .inner ul li:last-of-type:after {
	content: '.';
	font-size: 0;
	display: block;
	width: 1px;
	height: 4rem;
	background: -moz-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 100%);
	position: absolute;
	right: 0;
	top: 0;
}
nav .inner ul li a {
	display: block;
	padding: 0.5em;
	color: #333;
	text-decoration: none;
}
nav .inner ul li a:hover, nav .inner ul .current a {
	background: #ccebf5;
}
nav .inner ul li ul {
	display: none;
	padding-top: 4px;
	width: auto;
	position: absolute;
	z-index: 10;
}
nav .inner ul li ul li {
	display: block;
	white-space: nowrap;
	border-bottom: 4px solid #09c;
}
nav .inner ul li ul li:before, nav .inner ul li ul li:last-of-type:after {
	content: none;
}
nav .inner ul li ul li a {
	padding: 0.5em 1em;
	background: #fff;
	color: #333;
}
nav .inner ul .current ul li a {
	background: #fff;
}
nav .inner ul .current ul li a:hover {
	background: #ccebf5;
}
nav .inner ul li ul li ul {
	text-align: left;
	top: 0;
	left: 100%;
}
nav .inner ul li:hover > ul {
	display: block;
}

/* main */

main {
	background: #fff;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	display: table;
	text-align: left;
	border-spacing: 2em;
}
.home main {
	position: relative;
	margin: -10em auto 0 auto;
	z-index: 101;
}

/* article */

main article {
	display: table-cell;
	vertical-align: top;
}

/* aside */

main aside {
	width: 220px;
	display: table-cell;
	vertical-align: top;
}

/* footer */

footer .top {
	color: #fff;
	background: -moz-linear-gradient(top, #0099cc 0%, #003549 100%);
	background: -webkit-linear-gradient(top, #0099cc 0%, #003549 100%);
	background: linear-gradient(to bottom, #0099cc 0%, #003549 100%);
}
footer .top a {
	color: #fff;
}
footer .top ul {
	font-size: 0;
	max-width: 960px;
	margin: 0 auto;
	padding: 2rem 0;
	text-align: left;
}
footer .top ul li {
	display: inline-block;
	font-size: 1.6rem;
}
footer .top ul li:before {
	content: '|';
	margin: 0 0.5em;
}
footer .bottom {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	display: table;
	font-size: 1.3em;
}
footer .bottom p {
	display: table-cell;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	text-align: left;
	padding: 1rem 0;
}
footer .bottom ul {
	display: table-cell;
	text-align: right;
	padding: 1rem 0;
}
footer .bottom ul li {
	display: inline-block;
	margin-left: 1em;
}
footer .bottom ul li.home {
	display: none;
}
footer .bottom ul li:before {
	content: url('images/icon_01.png');
	margin-right: 0.5em;
}
footer .bottom a {
	color: #333;
}

/*-----------------------------------------------------
	module
------------------------------------------------------*/

/* bread */

body > #bread {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	font-size: 0;
	text-align: left;
	padding: 1rem 0;
	color: #004d82;
}
body > #bread li {
	font-size: 1.3rem;
	display: inline-block;
}
body > #bread li:after {
	content: '›';
	margin: 0 1em;
}
body > #bread li:last-child:after {
	content: none;
}
body > #bread li a {
	color: #004d82;
}

/* hgroup */

article > #hgroup {
	border-bottom: 4px solid #09c;
	padding: 1em 0;
	margin-bottom: 2em;
}
article > #hgroup h2 {
	font-size: 3.6em;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
}
.ochobode article > #hgroup h2:before {
	content: url('images/pic_00.png');
	margin-right: 0.25em;
}

/*-----------------------------------------------------
	section
------------------------------------------------------*/

main article section {
	line-height: 1.75;
	margin-bottom: 3em;
}
main article section h2, main article section h3, main article section h4, main article section h5, main article section h6 {
	line-height: 1.5;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
main article section h2 {
	font-size: 2.1em;
	margin-bottom: 1em;
	color: #fff;
	background: #09c;
	padding: 0.25em 0.5em;
}
main article section p {
	font-size: 1.6em;
	margin-bottom: 2em;
}
main article section p strong {
	font-weight: bold;
	color: #09c;
}
main article section .more {
	padding-top: 1em;
	clear: both;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 2.1em;
	text-align: center;
	line-height: 1.5;
}
main article section .more a {
	display: inline-block;
	padding: 0.25em 3em;
	border: 3px solid #666;
	color: #666;
	-moz-border-radius: 1.2em;
	-webkit-border-radius: 1.2em;
	border-radius: 1.2em;
	text-decoration: none;
}
main article section .more a:before {
	content: url('images/icon_04.png');
	margin-right: 0.5em;
}
main article section .more a:hover {
	background: #666;
	color: #fff;
}

/* pickup */

main article #pickup ul {
	text-align: center;
}
main article #pickup ul li {
	display: inline-block;
	margin: 0 1em;
}

/* recent */

main article #recent {
	border: 4px solid #09c;
	padding: 2em;
}
main article #recent .title {
	margin: -2em -2em 2em -2em;
	background: #09c;
	padding: 0.5em 1em;
}
main article #recent .title h2 {
	display: inline-block;
	margin-bottom: 0;
	padding: 0;
}
main article #recent .title p {
	display: inline-block;
	float: right;
	margin-bottom: 0;
	font-size: 1.4em;
}
main article #recent .title p:before {
	content: url('images/icon_02.png');
	margin-right: 0.5em;
}
main article #recent .title p a {
	color: #fff;
}
main article #recent dl {
	font-size: 1.4em;
	display: table;
	border-spacing: 0;
	width: 100%;
	text-align: left;
	border-bottom: 1px dotted #ccc;
}
main article #recent dl dt, main article #recent dl dd {
	display: table-cell;
	vertical-align: top;
	padding: 0.5em 0;
}
main article #recent dl dt {
	width: 10em;
}
main article #recent dl dd sup {
	font-size: 50%;
	vertical-align: top;
	margin-left: 0.25em;
	color: #f00;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
main article #recent iframe {
	width: 100%;
	height: 48em;
}

/* sns */

main article #sns {
	text-align: center;
}
main article #sns .more {
	font-size: 1.4em;
}
main article #sns .more a {
	text-align: left;
	white-space: nowrap;
	position: relative;
	padding: 0.25em 3em 0.25em 6.5em;
	-moz-border-radius: 2em;
	-webkit-border-radius: 2em;
	border-radius: 2em;
}
main article #sns .more a:before {
	content: url('images/icon_05.png');
	position: absolute;
	top: -1em;
	left: 3em;
}

/*-----------------------------------------------------
	widget
------------------------------------------------------*/

aside .widget {
	line-height: 1.75;
	margin-bottom: 2em;
}
aside .widget h2 {
	line-height: 1.5;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 2.1em;
	margin-bottom: 0.5em;
	color: #fff;
	background: #09c;
	padding: 0.25em 0.5em;
}
aside .widget h2 a {
	display: block;
	margin: -0.25em -0.5em;
	padding: 0.25em 0.5em;
	color: #fff;
	text-decoration: none;
}
aside .widget h2 a:hover {
	background: #09c;
}
aside .widget ul {
	margin-bottom: 1em;
	font-size: 1.6em;
}
aside .widget ul li {
	padding-bottom: 3px;
	margin-bottom: 3px;
	border-bottom: 1px dotted #ccc;
}
aside .widget ul li a {
	display: block;
	padding: 0.25em 0.5em;
	color: #09c;
	text-decoration: none;
	border-left: 4px solid #09c;
}
aside .widget ul li a:hover {
	background: #ccebf5;
}
aside .widget ul:last-of-type, aside .widget ul:only-of-type {
	margin-bottom: 0;
}

/* banner */

aside .widget.banner .button {
	display: table;
	width: 100%;
	margin-bottom: 0.5rem;
	border-collapse: collapse;
	min-height: 64px;
}
aside .widget.banner .button a {
	display: table-cell;
	border: 2px solid #c7c7c7;
	vertical-align: middle;
	text-decoration: none;
	text-align: center;
	font-size: 0;
}
aside .widget.banner .button.link_03 a {
	background: #3c3f53;
	border: 2px solid #3c3f53;
}
aside .widget.banner .button a:hover {
	border: 2px solid #64bdc6;
}

/*-----------------------------------------------------
	entry
------------------------------------------------------*/

.entry {
	line-height: 1.75;
	text-align: left;
	font-size: 1.6em;
	margin-left: 2rem;
}
.entry h1, .entry h2, .entry h3, .entry h4, .entry h5, .entry h6 {
	margin-bottom: 1em;
	line-height: 1.5;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
}
.entry h1 {
	font-size: 3.6rem;
}
.entry h2 {
	font-size: 3rem;
}
.entry h3 {
	font-size: 2.4rem;
	border-left: 4px solid #004d82;
	background: #09c;
	color: #fff;
	margin-left: -2rem;
	padding: 0.25em 0.5em;
}
.entry h4 {
	font-size: 2.1rem;
	margin-left: -2rem;
	padding: 0.25em 0;
	border-bottom: 1px dotted #666;
}
.entry h4:before {
	content: '.';
	font-size: 0;
	display: block;
	background: #09c;
	height: 3.15rem;
	width: 4px;
	float: left;
	margin-right: 1rem;
}
.entry h5 {
	font-size: 1.8rem;
	color: #004d82;
}
.entry p, .entry address, .entry dl, .entry pre, .entry figure {
	margin-bottom: 2em;
}
.entry pre {
	font-family: monospace;
	white-space: pre-wrap;
}
.entry ul {
	list-style: disc;
}
.entry ol {
	list-style: decimal;
}
.entry ul, .entry ol {
	margin-bottom: 2em;
	margin-left: 2em;
}
.entry ul ul, .entry ul ol, .entry ol ol, .entry ol ul {
	margin-bottom: 0;
}
.entry dl dt, .entry table caption, .entry table th, .entry strong {
	font-weight: bold;
}
.entry table caption, .entry table th, .entry table td {
	text-align: left;
}
.entry em {
	font-style: italic;
}
.entry sup {
	font-size: 50%;
	vertical-align: top;
}
.entry sub {
	font-size: 50%;
	vertical-align: bottom;
}
.entry blockquote {
	padding: 0 1em;
	font-family: serif;
}
.entry blockquote cite {
	margin: -1.5em 0 2em 0;
	font-family: sans-serif;
	display: block;
}
.entry figure figcaption {
	text-align: center;
	margin-bottom: 0;
}

/*-----------------------------------------------------
	default
------------------------------------------------------*/

/* align */

.aligncenter, div.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.alignleft {
	float: left;
	margin-right: 1em;
}
.alignright {
	float: right;
	margin-left: 1em;
}

/*-----------------------------------------------------
	custom
------------------------------------------------------*/

/* ochobode_b */

.entry .ochobode_b {
	width: 256px;
}
.entry .ochobode_b figcaption {
	color: #004d82;
}

/* ochobode_a */

.entry .ochobode_a {
	background-image: url('images/bg_00.jpg');
	background-repeat: repeat;
	background-size: 200px auto;
	text-align: center;
	padding: 2em 0;
	margin-bottom: 2em;
}
.entry .ochobode_a :last-child {
	margin-bottom: 0;
}
.entry .ochobode_a figure figcaption {
	font-weight: bold;
	color: #004d82;
}

/* staff_e */

.entry .staff_e {
	margin-bottom: 2em;
}
.entry .staff_e dl {
	display: inline-table;
	margin-bottom: 0;
	border-collapse: collapse;
}
.entry .staff_e dl dt, .entry .staff_e dl dd {
	display: table-cell;
	vertical-align: top;
}
.entry .staff_e dl dt {
	width: 10em;
	font-weight: normal;
}

/* staff_c */

.entry .staff_c {
	margin-bottom: 2em;
}
.entry .staff_c dl {
	display: table;
	width: 100%;
	margin-bottom: 0;
	border-collapse: collapse;
}
.entry .staff_c dl dt, .entry .staff_c dl dd {
	display: table-cell;
	vertical-align: top;
}
.entry .staff_c dl dt {
	width: 10em;
	font-weight: normal;
}

/* staff_b */

.entry .staff_b {
	text-align: center;
}
.entry .staff_b figcaption {
	text-align: right;
}

/* staff_a */

.entry .staff_a {
	margin-bottom: 2em;
}
.entry .staff_a .block {
	padding: 0.5em 0;
	border-bottom: 1px solid #09c;
}
.entry .staff_a .block:first-of-type, .entry .staff_a .block:only-child {
	border-top: 1px solid #09c;
}
.entry .staff_a .block img {
	float: left;
}
.entry .staff_a .block h5 {
	margin-bottom: 0.25em;
	padding: 0 0 0.25em 0;
	border-bottom: 1px dotted #999;
	color: inherit;
}
.entry .staff_a .block h5 span {
	font-size: 1.6rem;
	font-weight: 400;
	margin-left: 1em;
}
.entry .staff_a .block h5:only-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding: 0;
}
.entry .staff_a .block img + h5, .entry .staff_a .block img + h5 + p, .entry .staff_a .block img + h5 + p + ul {
	margin-left: 100px;
}
.entry .staff_a .block p {
	font-size: 1.4rem;
	margin-bottom: 0.5em;
}
.entry .staff_a .block ul {
	font-size: 0;
}
.entry .staff_a .block ul li {
	display: inline-block;
	font-size: 1.4rem;
	margin-right: 0.5em;
}
.entry .staff_a .block ul li a {
	display: inline-block;
	background: #ccebf5;
	color: #004d82;
	text-decoration: none;
	padding: 0 1em;
	-moz-border-radius: 1em;
	-webkit-border-radius: 1em;
	border-radius: 1em;
}
.entry .staff_a .block ul li a:hover {
	background: #09c;
}
.entry .staff_a .block ul li a[target*="blank"]:after {
	content: url('images/icon_06.png');
	margin-left: 0.25em;
}
.entry .staff_a .short {
	width: 100%;
	border-bottom: 1px solid #09c;
	display: table;
	border-spacing: 1em;
}
.entry .staff_a .short:first-child, .entry .staff_a .short:only-child {
	border-top: 1px solid #09c;
}
.entry .staff_a .short h5, .entry .staff_a .short p {
	display: table-cell;
	vertical-align: middle;
	margin-bottom: 0;
}
.entry .staff_a .short h5 {
	width: 6em;
	border-right: 1px dotted #999;
	color: inherit;
}
.entry .staff_a .short p:nth-of-type(2) {
	text-align: right;
	font-size: 1.4rem;
}
.entry .staff_a .short p:nth-of-type(2) a {
	display: inline-block;
	background: #ccebf5;
	color: #004d82;
	text-decoration: none;
	padding: 0 1em;
	-moz-border-radius: 1em;
	-webkit-border-radius: 1em;
	border-radius: 1em;
}
.entry .staff_a .short p:nth-of-type(2) a:hover {
	background: #09c;
}
.entry .staff_a .short p:nth-of-type(2) a:after {
	content: url('images/icon_06.png');
	margin-left: 0.25em;
}

/* privacy_a */

.entry .privacy_a a[target*="blank"]:after {
	content: url('images/icon_03.png');
	margin-left: 0.25em;
}

/* kenshu_a */

.entry .kenshu_a {
	margin-bottom: 2em;
	border: 1px solid #09c;
	padding: 1em 2em;
}
.entry .kenshu_a :last-child, .entry .kenshu_a :only-child {
	margin-bottom: 0;
}

/* gyouseki_a */

.entry .gyouseki_a {
	margin-bottom: 2em;
}
.entry .gyouseki_a ul {
	font-size: 0;
}
.entry .gyouseki_a ul li {
	display: inline-block;
	font-size: 1.6rem;
	margin-right: 1em;
}

/* gyouseki_i */

ol.gyouseki_i li i {
	font-style: italic;
}

/* kenkyu_a */

.entry .kenkyu_a {
	line-height: 1.5;
	text-align: center;
}
.entry .kenkyu_a p {
	font-size: 1.8rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	text-indent: 0;
}
.entry .kenkyu_a p a {
	display: inline-block;
	color: #666;
	border: 3px solid #666;
	-moz-border-radius: 1.15em;
	-webkit-border-radius: 1.15em;
	border-radius: 1.15em;
	text-decoration: none;
	padding: 0.25em 2em;
}
.entry .kenkyu_a p a:hover {
	background: #666;
	color: #fff;
}
.entry .kenkyu_a p a:before {
	content: url('images/icon_04.png');
	margin-right: 0.5em;
}

/* gyoumu_a */

.entry .gyoumu_a table {
	width: 100%;
	table-layout: fixed;
}
.entry .gyoumu_a table thead {
	background: #004d82;
	color: #fff;
}
.entry .gyoumu_a table th, .entry .gyoumu_a table td {
	border: 1px solid #fff;
	padding: 0.25em 0.5em;
	text-align: center;
	font-weight: normal;
}
.entry .gyoumu_a table tbody tr {
	background: #d6e7ff;
}
.entry .gyoumu_a table tbody tr:nth-of-type(even) {
	background: #e6efff;
}
.entry .gyoumu_a table tbody tr th {
	background: #87baff;
	vertical-align: middle;
}
.entry .gyoumu_a table tbody tr:last-of-type {
	background: #ffe7c5;
}
.entry .gyoumu_a table tbody tr:last-of-type th {
	background: #eea33b;
}

/* kosa_b */

.entry .kosa_b {
	text-align: center;
}

/* kosa_a */

.entry .kosa_a {
	display: table;
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 2em;
}
.entry .kosa_a .left, .entry .kosa_a figure {
	display: table-cell;
	vertical-align: bottom;
}
.entry .kosa_a .left {
	padding-right: 1em;
	text-align: right;
}
.entry .kosa_a .left h4 {
	margin-left: 0;
	padding: 0;
	border-bottom: none;
}
.entry .kosa_a .left h4:before {
	content: none;
}
.entry .kosa_a .left h4 span {
	font-weight: 300;
	font-size: 1.6rem;
}
.entry .kosa_a figure {
	width: 210px;
}

/*-----------------------------------------------------
	class
------------------------------------------------------*/

/* flickSlider */

.flickSlider .flickView ul {
	margin-left: 0;
}
.flickSlider .flickThumb {
	display: none;
}

/* clearfix */

.clearfix:after {
	content: '.';
	height: 0;
	font-size: 0;
	display: block;
	width: 100%;
	clear: both;
	visibility: hidden;
}

/*-----------------------------------------------------
	Google Fonts
------------------------------------------------------*/
/*
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 100,300,400,500,700,900;
	font-family: 'Noto Serif JP', serif;
	font-weight: 200,300,400,500,600,700,900;
*/
