@charset "utf-8";

/*------------------------------------------------------------
	フォント Noto Sans
------------------------------------------------------------*/
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../font/NotoSansJP-Regular.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../font/NotoSansJP-Bold.woff2") format("woff2");
  font-display: swap;
}

/* IE用印刷設定CSS
======================================================= */

@media print {
    body {
        _zoom: 67%; /*WinIE only */
        -webkit-print-color-adjust: exact;
    }
	#header > .inner,
	#header,
	#page-title,
	#footer{
		min-width: $width-content;
	}
    #main {
        _zoom: 95%; /*WinIE only */
    }
	#main ul.boxlist li.large {
		width: 50%;
	}
	#main ul.boxlist li a:hover img {
		-ms-filter: "alpha(opacity=70)";
		filter: alpha(opacity=70);
		opacity: 0.7;
	}
	#main ul.boxlist li div.txt {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		padding: 28px;
		color: #fff;
	}
	table th.w50{ width: 50px; }
	table th.w80{ width: 80px; }
	table th.w100{ width: 100px; }
	table th.w130{ width: 130px; }
	table th.w150{ width: 150px; }
}

/* 基本設定
======================================================= */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	font-size: 16px;
}
body {
	font-family: "Noto Sans JP","Poppins","ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: 16px;
	line-height: 1.8;
    font-feature-settings: "palt";
    /*font-variant-east-asian: proportional-width;*/
    letter-spacing:0.12em;
	color: #333;
}
body.fs-s { font-size: 14px; }
body.fs-m { font-size: 16px; }
body.fs-l { font-size: 18px; }
.en {
	font-family: "Noto Sans JP","Poppins","ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
#pageTop {}

/* Typography for Chinese Font */

html[lang^="zh-"] body,
html[lang^="zh-"] button,
html[lang^="zh-"] input,
html[lang^="zh-"] select,
html[lang^="zh-"] textarea {
	font-family: FontAwesome, Helvetica,Arial,'Microsoft Yahei', '微软雅黑', 'Hiragino Sans GB', 'PingFang SC' ,'Noto Sans SC', sans-serif;
}

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	body { font-size: 13px; }
	body.fs-s { font-size: 11px; }
	body.fs-m { font-size: 13px; }
	body.fs-l { font-size: 15px; }
}
@media screen and (max-width : 415px) {}

/* layout
--------------------------------------------------------------------------*/
.inner {
	margin: 0 auto;
	padding: 0;
	width: 980px;
	max-width: 100%;
	position: relative;
}
.inner > *:first-child { margin-top: 0; }
.inner > *:last-child { margin-bottom: 0; }

#wrapper {
	position: relative;
	margin: 0 auto;
	padding: 40px 0 0 0;
	width: 1200px;
	/* max-width: 100%; */
}

body.top #wrapper{
	width: 100%;
}

#main {
	float: right;
	width: 910px;
	/* width: 100%; */
	/*margin-left: -290px;*/
	/* margin-left: -29.5918367%; */
	z-index: -1;
}
body.top #main{
	width: 100%;
}

.contact #main {
	float: none;
	margin: 0 auto 50px;
}
#main > .inner {
	/*padding-left: 290px;*/
	/* margin-left: 29.5918367%; */
	width: initial;
	width: auto;
}

.contact #main > .inner{
	margin-left: 0;
}

body.home #main {
	float: none;
	margin-left: 0;
}
body.home #main > .inner {
	padding-left: 0px;
}
body.sub #wrapper {
	/*min-width: 980px;*/
	max-width: 100%;
}
body.sub #wrapper #main {
	max-width: 76%;
}
#side {
	float: left;
	width: 250px;
	max-width: 21%;
/* 	width: 25.51024%; */
}
#header > .inner {
	width: 100%;
	min-width: 1200px;
}
#mainSlider > .inner{
	width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(to bottom,#b2daff,#003366);/*#004C98;/*#3658d6*/
}
#wrapper > .inner {
	padding: 0;
	width: 100%;
}
#main > .outer {
	padding: 0;
}
#side .inner {
	padding: 0;
}
.sp { display: none; }
    .n2-section-smartslider[data-ssid="2"]{ display: none; }
    .n2-section-smartslider[data-ssid="3"]{ display: block; width: 800px;}
    div#n2-ss-3 .n2-ss-slider-2{
   border-radius:10px!important;
}


@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {
/* 	.inner {
	padding: 0 10px;
} */
}
@media screen and (max-width : 650px) {
/* 	.inner {
	padding: 0 10px;
} */
	#header > .inner {
		padding: 0;
	}
	#wrapper {
		min-width: 0;
		max-width: 100%;
		padding: 30px 0 0;
	}
	#wrapper .inner {
		padding: 0 10px;
	}
	body.sub #wrapper {
		min-width: 0;
	}
	#main,
	#side {
		float: none;
		margin: 0;
		width: 100%;
		max-width: 100%;
	}
	body.sub #wrapper #main {
		max-width: 100%;
	}
	#main > .inner {
		margin-left: 0;
	}
	#main div .inner {
		padding: 0 10px;
	}
	#main div #main-img .inner {
		padding: 0;
	}
	#side {
		margin-top: 30px;
		padding: 30px 10px 0 10px;
	}
	#side .inner {
		padding: 0 15px;
	}
	html #wpadminbar {}
	body.login {}
	.pc { display: none; }
	.sp { display: block; }
	br.sp { display: inline; }
    #n2-ss-2-align{ display: block; }
    #n2-ss-3-align{ display: none; }
    .n2-section-smartslider[data-ssid="2"]{ display: block; }
    .n2-section-smartslider[data-ssid="3"]{ display: none; width: 800px;}

}
@media screen and (max-width : 415px) {}

/* block
--------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
	margin: 2rem 0;
	line-height: 1.6;
}
h1 { font-size: 2.29em; line-height: 1.3; }
h2 { font-size: 2.29em; line-height: 1.3; margin: 2.2em 0 1.2em; }
h3 { font-size: 1.29em; line-height: 1.35; margin: 2em 0 0.5em 0; }
h4 { font-size: 1.14em; line-height: 1.5; margin: 1em 0 0.5em 0; }
h5 { font-size: 1em; margin: 1em 0 0.5em 0; }
h6 { font-size: 1em; margin: 1em 0 0.5em 0; }

h2 span.texts{ font-size: 70%; }

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width: 650px) {
	h1 { font-size: 1.85em; }
	h2 { font-size: 1.85em; margin: 1em 0; }
	h3, .h3 { font-size: 1.15em; }
	h4, .h4 { font-size: 1.15em; }
	h5, .h5 { font-size: 1em; }
	h6, .h6 { font-size: 1em; }
}
@media screen and (max-width : 415px) {}

small {
	font-size: 65%;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 0;
	color: #777;
	margin-left: 0.75em;
}
p {
	margin: 0 0 1.2em 0;
}
.center {
	text-align: center;
}
.right {
	text-align: right;
}
p.img {}
p.footnote {
	font-size: 0.9em;
	color: #777;
}
blockquote {
	padding: 1em;
	margin: 1.5em 0;
	border: 3px solid #D4D4D4;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
	padding: 20px 0 0 0;
	display: block;
	font-size: 80%;
	line-height: 1.42857143;
	color: #777;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
	content: '\2014 \00A0';
}

/* alignment
--------------------------------------------------------------------------*/
.alignleft 		{ float: left; margin-right: 20px; }
.alignright 	{ float: right; margin-left: 20px; }
.aligncenter 	{ text-align: center; margin: 0 auto; display: block; }
.leftcolumn img.alignleft,
.leftcolumn img.alignright {
	margin-top: 20px;
}

@media screen and (max-width: 850px) {
	.clf > .alignleft,
	.clf > .alignright,
	table.tbr .alignleft,
	table.tbr .alignright{
		float: none;
		text-align: center;
		margin-right: 0;
		margin-left: 0;
		margin-bottom: 20px;
	}
}

/* block
--------------------------------------------------------------------------*/
ul {
	margin: 1em 0;
	padding: 0 0 0 1.8em;
	list-style-type: disc;
}
ol {
	margin: 1em 0;
	padding: 0 0 0 2.2em;
}
li {
	margin-bottom: 0.25em;
}
dl {
	margin-top: 0;
	margin-bottom: 20px;
}
dt,
dd {
	line-height: 1.4;
	margin-left: 0;
}
dt {
	font-weight: bold;
}
dd+dt {
	margin-top: 1rem;
}
table {
	border-top: 1px solid #d4d4d4;
	margin: 2em 0;
	width: 100%;
	max-width: 100%;
	border-collapse: collapse;
}
caption {
	text-align: left;
	padding: 1rem 0;
}
table tr th,
table tr td {
	padding: 1em 1em;
	border-left: 1px solid #d4d4d4;
	border-bottom: 1px solid #d4d4d4;
	word-break: break-all;
	font-size: 0.95em;
}
table th {
	width: 150px;
	border-left: 0;
	text-align: left;
}
table th {
	width: auto;
	padding-left: 2em;
	background-color: #f5f5f5;
}
table tr > *:first-child {
	/*padding-left: 0;*/
}
table tr > th:first-child,
table tr > td:first-child {
	/*border-left: 0;*/
}
table tr > th:last-child,
table tr > td:last-child {
	border-right: 1px solid #d4d4d4;
}

table.tbr tr > *:nth-child(2) {
	padding-right: 0.5em;
}

table.nostyle{
	width: auto;
	border-top: none;
	margin: 0;
}

table.nostyle tr th,
table.nostyle tr td{
	padding: 0;
    border-left: none;
    border-bottom: none;
	border-right: none;
    background: none;
}

table.about tr th{
	font-weight: normal;
}

table.sasakawa tr th{
	font-weight: normal;
	white-space: nowrap;
}

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width: 650px) {
	table thead{
		display: none;
	}
	table.sp_tbr thead{
	    display: table-header-group;
	}
	table tr th,
	table tr td {
		display: block;
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		font-size: 12px;
		border-right: 1px solid #d4d4d4;
	}
	table.sp_tbr tr th,
	table.sp_tbr tr td {
		display: table-cell;
		width: auto;
		border-right: 0;
	}
	.table_cover{
	    overflow: auto;
	    overflow: scroll;
	}
	.table_cover table {
	    white-space: nowrap;
	    margin: 0;
	}
}
@media screen and (max-width : 415px) {}

/* inline
--------------------------------------------------------------------------*/
strong {
	font-weight: bold;
	/*color: #004C98;*/
}
strong.line {
	display: inline-block;
	font-weight: normal;
	border-bottom: 1px solid;
	padding: 0 0.2em;
}
em {
	font-style: italic;
}
sup {}
sub {}
img {
	margin: 0;
	padding: 0;
	max-width: 100%;
	vertical-align: middle;
	height: auto;
}

/* inline-block
--------------------------------------------------------------------------*/
a,
a:link,
a:visited {
	text-decoration: none;
	color: #1e7fc2;
}
a:hover {
	text-decoration: none;
}
a.img {
	display: inline-block;
	-webkit-transition: opacity 0.1s linear;
	-o-transition: opacity 0.1s linear;
	transition: opacity 0.1s linear;
}
a.img:hover {
	-ms-filter: "alpha(opacity=70)";
	filter: alpha(opacity=70);
	opacity: 0.7;
}
.pdf {
	padding-left: 20px;
	background-image: url(../img/ico_pdf.png);
	background-size: 14px;
	background-position: left center;
	background-repeat: no-repeat;
}

.pdf:hover {
	text-decoration: underline;
}

.arrow_link {
	padding-left: 14px;
	background-image: url(../img/ico_arrow_link.png);
	background-size: 5px;
	background-position: left center;
	background-repeat: no-repeat;
}

.arrow_link:hover {
	text-decoration: underline;
}

.ext_link:after{
	display: inline;
	padding-left: 20px;
	content:'';
	background-image: url(../img/ico_link.png);
	background-size: 11px;
	background-position: right center;
	background-repeat: no-repeat;
}

/* buttons
------------------------------------------------------------------- */
a.btn,
p.btn > a,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
	display: inline-block;
	padding: 15px 40px;
	font-size: 1em;
	color: #fff;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	background-color: #373737;
	border: 0;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-transition: opacity 0.1s linear;
	-o-transition: opacity 0.1s linear;
	transition: opacity 0.1s linear;
}
input[type="submit"]{
	margin: 0 0 20px;
}
a.btn,
p.btn > a {
	border-radius: 2px;
	margin-bottom: 1.2em;
}
p.btn.full > a,
a.btn.full {
	width: 100%;
}
a.btn:hover,
p.btn > a:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
a.btn:focus,
p.btn > a:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
	outline: 0;
	opacity: 0.8;
	-ms-filter: "alpha(opacity=80)";
	filter: alpha(opacity=80);
}

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width: 650px) {
	a.btn,
	p.btn > a,
	button,
	input[type="submit"],
	input[type="reset"],
	input[type="button"] {
		padding: 10px 40px;
		font-size: 1em;
	}
}
@media screen and (max-width : 415px) {}

/* btn.more
------------------------------------------------------------------- */
p.btn.more > a,
a.btn.more {
	display: block;
	background-color: #373737;
	border: 1px solid #373737;
	color: #fff;
	margin: 30px auto;
	width: 320px;
	max-width: 100%;
	position: relative;
	font-weight: bold;
}
p.btn.more > a:after,
a.btn.more:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}

#post-content p.btn.more > a,
#post-content a.btn.more {
	width: auto;
	white-space: initial;
}

p.btn.more.pdfbtn > a {
	background-color: #fff;
	border: 1px solid #373737;
	color: #373737;
    padding: 10px 40px;
}

p.btn.more.pdfbtn a span{
	padding-left: 20px;
	background-image: url(../img/ico_pdf.png);
	background-size: 14px;
	background-position: left center;
	background-repeat: no-repeat;
}

p.btn.more.pdfbtn > a:after{
	display: none;
}

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {
	p.btn.more > a,
	a.btn.more {
		margin: 0 auto;
	}
}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	p.btn.more > a,
	a.btn.more {
		width: 100%;
		margin: 0 auto;
	}
	div.loading {
		margin-left: 10px;
		margin-right: 10px;
	}
}
@media screen and (max-width : 415px) {}

/* Forms
--------------------------------------------------------------------------*/
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	max-width: 100%;
	height: 48px;
	padding: 3px 10px;
	background: #fff;
	border: 1px solid #aaa;
	border-radius: 2px;
	box-shadow: none;
	box-sizing: border-box;
	vertical-align: top;
}
textarea {
	min-height: 65px;
	padding-top: 6px;
	padding-bottom: 6px;
}

form table input[type="email"],
form table input[type="number"],
form table input[type="search"],
form table input[type="text"],
form table input[type="tel"],
form table input[type="url"],
form table input[type="password"],
form table textarea,
form table select{
	width: auto;
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	border-color: #004C98;
	outline: 0;
	-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(39, 166, 225,.6);
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(39, 166, 225,.6);
}

form table th span {
        float: right;
        color: #fff;
        font-size: 12px;
        background: #cc0000;
        padding: 2px 7px;
}


label,
legend {
	margin-right: 20px;
	margin-bottom: .5rem;
	cursor: pointer;
}
legend {
	font-weight: 600;
}
fieldset {
	padding: 0;
	border-width: 0;
}

form #date01,
form #date02{
	margin-right: 5px;
	vertical-align: top;
}

/* お問い合わせ error */

.err_block {
        clear: both;
        margin-bottom: 17px;
        padding: 12px;
        background: #ffe8e8;
}

.err_block p {
        color: #f00;
}

.err_block p.err_tit {
        font-weight: bold;
        margin: 0 0 5px;
        padding: 2px 0 2px 10px;
        color: #fff;
        background: #f00;
}

label.error {
        border: 1px solid #ff8383;
        background: #ffe8e8;
}

input.error {
        border: 1px solid #ff8383;
        background: #ffe8e8;
}

select.error {
        border: 1px solid #ff8383;
        background: #ffe8e8;
}

textarea.error {
        border: 1px solid #ff8383;
        background: #ffe8e8;
}

fieldset {
        display: inline;
        padding: 3px;
}

fieldset.error {
        background: #ffe8e8;
}

@media (min-width: 1px) {
	input[type=radio],
	input[type=checkbox] {
		margin-right: 10px;
	}
	form table input[type="email"],
	form table input[type="number"],
	form table input[type="search"],
	form table input[type="text"],
	form table input[type="tel"],
	form table input[type="url"],
	form table input[type="password"],
	form table textarea,
	form table select{
		width: 100%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
}

/* header
--------------------------------------------------------------------------*/
#header {
	min-width: 1200px;
	padding: 15px 0 0;
	text-align: right;
}
#header .inner {
	padding: 0 30px;
}
#header div.logo {
	position: absolute;
	top: 0;
	left: 30px;
	width: 350px;
	max-width: 100%;
}
.contact #header div.logo{
	position: relative;
}

#header div.logo span {
	display: block;
	line-height: 1.2;
	font-weight: bold;
	font-size: 10px;
	padding-left: 7px;
}
#header div.logo img {
	width: 350px;
}
#header div.search {
	position: absolute;
	top: 10px;
	right: 290px;
	width: 160px;
}
#header div.search input {
	vertical-align: middle;
	font-size: 12px;
	height: 30px;
	line-height: 30px;
	width: 140px;
	margin-right: -5px;
}
#header div.search input[type="text"] {
	border-radius: 2px 0 0 2px;
	background-image: url(../img/ico_search.png);
	background-repeat: no-repeat;
	background-position: 3px center;
	background-size: 18px;
	padding-left: 30px;
	border-radius: 3px;
	background-color: #eee;
	border: 1px solid #DBD8CF;
	border: 0;
	-webkit-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
}
#header div.search input[type="text"]:focus {
	background-color: #fff;
}
#header div.search input[type="submit"] {
	display: none;
	padding: 0 5px;
	width: 50px;
	text-align: center;
	color: #999;
	border-bottom: 1px solid #aaa;
	background-color: #eee;
	background-color: transparent;
	border-radius: 0 2px 2px 0;
}
#header #hdNav {
	display: flex;
	margin: 0 0 0 auto;
}
#header #hdNav ul {
	display: flex;
	align-items: center;
	list-style-type: none;
	padding: 0;
	margin: 0;
	margin-left: auto;
	text-align: right;
}
#header #hdNav ul li {
	display: inline-block;
	margin-left: 20px;
	margin-bottom: 0;
	font-size: 0.79em;
	vertical-align: middle;
}
#header #hdNav ul li:first-child {
	margin-left: 0;
}
#header #hdNav ul li a {
	display: inline-block;
	text-decoration: none;
	padding: 0;
	color: #333;
	line-height: 2em;
	text-align: center;
}
#header #hdNav ul li.ico a {
	padding-left: 10px;
	background-repeat: no-repeat;
	background-position: left center;
}
#header #hdNav ul li.ico.sitemap a {
	background-image: url(../img/ico_sitemap.png);
	background-size: 14px;
	padding-left: 20px;
}
#header #hdNav ul li.ico.info a {
	background-image: url(../img/ico_info.png);
	background-size: 6px;
	padding-left: 12px;
}
#header #hdNav ul li.ico.blog a {
	background-image: url(../img/ico_blog.png);
	background-size: 12px 14px;
	padding-left: 20px;
}
#header #hdNav ul li.ico.access a {
	background-image: url(../img/ico_access.png);
	background-size: 10px;
	padding-left: 16px;
}
#header #hdNav ul li.ico.lang a {
	background-image: url(../img/ico_lang.png);
	background-size: 14px;
	padding-left: 20px;
}
#header #hdNav ul li #sizeSelector {
	display: inline-block;
	margin-left: 1em;
}
#header #hdNav ul li #sizeSelector li {
	margin: 0 -5px 0 0;
	font-size: 1em;
}
#header #hdNav ul li #sizeSelector li a {
	background-color: #e5e5e5;
	padding: 0 1em;
	line-height: 2.45;
}
#header #hdNav ul li #sizeSelector li.on a {
	background-color: #373737;
	color: #fff;
}

#header #hdNav.onSearch ul li:not(.search) {
	display: none;
}
#header #hdNav ul li.search {
	margin-left: 15px;
	display: inline-flex;
	align-items: center;
}
#header #hdNav ul li.search #search {
	display: none;
	margin-right: 15px;
}
#header #hdNav ul li.search #search input[type="text"] {
	width: auto;
	padding: 0 8px;
	height: 27px;
	border-color: #EBEBEB;
	margin-right: -5px;
	width: 620px;
	max-width: 100%;
}
#header #hdNav ul li.search #search input[type="submit"] {
	margin: 0;
	height: 27px;
	line-height: 27px;
	padding: 0 15px;
}
#header #hdNav ul li.search #searchBtn {
	width: 27px;
	height: 27px;
	background-image: url(../img/ico_search.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 13px;
	background-color: transparent;
	border-radius: 0;
	padding: 0;
}
#header #hdNav ul li.search #searchBtn span.label {
	display: none;
}
#header #hdNav ul li.menu {
	display: none;
}



#header div.logo a,
#header div.logo a:link,
#header div.logo a:visited {
	display: block;
	padding: 0;
	line-height: 70px;
}
#header div.logo a img {
	vertical-align: middle;
}

@media screen and (min-width : 651px) {
	#header #hdNav ul li a:hover {
		text-decoration: underline;
	}
	#header #hdNav #sizeSelector a:hover {
		text-decoration: none;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width: 650px) {
	#header,
	#header .inner {
		width: 100%;
		min-width: 0;
		padding: 0;
		height: 50px;
	}
	#header div.logo {
		position: absolute;
		top: 0;
		left: 0;
		width: 260px;
		text-align: left;
		padding-left: 10px;
	}
	#header div.logo span {
		display: none;
	}
	#header div.logo a,
	#header div.logo a:link,
	#header div.logo a:visited {
		padding: 0;
		line-height: 50px;
	}
	#header div.logo a img {
		width: 250px;
	}
	#header div.search {
		display: none;
	}
	#header #hdNav ul li {
		display: none;
	}
	#header #hdNav ul li.search,
	#header #hdNav ul li.search #searchBtn {
		display: block;
		position: absolute;
		top: 0;
		right: 50px;
		margin: 0;
		width: 50px;
		height: 50px;
	}
	#header #hdNav ul li.search {
		border-left: 1px solid #d3d3d3;
	}
	#header #hdNav ul li.search #search {
		display: none;
		position: fixed;
		top: 50px;
		left: 0;
		width: 100%;
		background-color: #fff;
		z-index: 1000;
		margin: 0;
		padding: 20px 10px;
	}
	#header #hdNav.onSearch ul li {
		display: none;
	}
	#header #hdNav.onSearch ul li.search,
	#header #hdNav.onSearch ul li.menu {
		display: block;
	}
	#header #hdNav ul li.search #search input[type="text"] {
		width: 84%;
		height: 40px;
	}
	#header #hdNav ul li.search #search input[type="submit"] {
		width: 16%;
		height: 40px;
		font-size: 13px;
	}
	#header #hdNav ul li.search #searchBtn {
		right: 0;
		background-image: url(../img/btn_search.png);
		background-position: center 9px;
	}
	#header #hdNav ul li.search #searchBtn span.label {
		display: block;
		margin-top: 28px;
		font-size: 10px;
	}
	#header #hdNav ul li.search #searchBtn span.label.close {
		display: none;
	}
	#header #hdNav ul li.menu,
	#header #hdNav ul li.menu #gNavBtn {
		display: block;
		width: 50px;
		height: 50px;
		position: absolute;
		top: 0;
		right: 0;
		margin: 0;
	}
	#header #hdNav ul li.menu {
		border-left: 1px solid #d3d3d3;
	}
	#header #hdNav ul li.menu #gNavBtn {
		background-image: url(../img/btn_menu.png);
		background-position: center 9px;
		background-repeat: no-repeat;
		background-size: 24px;
	}
	#header #hdNav ul li.menu #gNavBtn span.label {
		margin-top: 28px;
		font-size: 10px;
	}
	#header #hdNav ul li.search #searchBtn.on span.label {
		display: none;
	}
	#header #hdNav ul li.search #searchBtn.on span.label.close {
		display: block;
	}
}
@media screen and (max-width : 415px) {}

/* gNav
--------------------------------------------------------------------------*/
#gNav {
	display: table;
	margin: 15px -30px 0 auto;
	width: auto;
}
@media screen and (min-width : 651px) {
	#gNav {
		display: table!important;
	}
}
#gNav ul.nav {
	padding: 0;
	margin: 0 auto;
	list-style-type: none;
	display: table-row;
	background: #f6f6f6;
    font-size: 0.9em;
}
#gNav ul.nav li {
	display: table-cell;
	vertical-align: middle;
	padding: 0;
	margin: 0;
	position: relative;
}
#gNav ul.nav li:before {
	content: "";
	position: absolute;
	top: 1.2em;
	left: 0;
	width: 1px;
	height: 1em;
	border-left: 1px solid #d3d3d3;
}
#gNav ul.nav li:first-child:before {
	display: none;
}
#gNav ul.nav li.sp {
	display: none;
}
#gNav ul.nav li.pclast {
	padding-right: 0;
}
#gNav ul.nav li.pclast a {
	padding-right: 0;
}
#gNav ul.nav li a {
	display: block;
	color: #333;
	padding: 0.822em 1.23em;
	text-align: center;
	-webkit-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
	text-decoration: none;
}
#gNav ul.nav li.current a,
#gNav ul.nav li.current-page-ancestor a,
#gNav ul.nav li.current-post-ancestor a,
#gNav ul.nav li.current-menu-parent a,
#gNav ul.nav li.current-menu-item a {
	background: #383838;
	color: #fff;
}
@media screen and (min-width : 651px) {
	#gNav ul.nav li a:hover {
		background: #383838;
		color: #fff;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	nav .inner {
		width: 100%;
		max-width: 100%;
	}
	#gNav {
		display: none;
		width: 100%;
		z-index: 999;
		position: fixed;
		top: 50px;
		left: 0;
		z-index: 910;
		padding: 0;
		margin: 0;
		border-top: 1px solid #d3d3d3;
		padding-bottom: 50px;
		max-height: 100%;
		overflow-y: auto;
	}
	#gNav.on {
		display: block;
	}
	#gNav ul.nav {
		width: 100%;
		display: block;
		background-color: #fff;
	}
	#gNav ul.nav li,
	#gNav ul.nav li a {
		display: block;
		width: 100%;
		height: auto;
	}
	#gNav ul.nav li {
		padding: 0;
		border-bottom: 1px solid #d3d3d3;
	}
	#gNav ul.nav li:before {
		border-left: none;
	}
	#gNav ul.nav li.sp {
		display: block;
	}
	#gNav ul.nav li a {
		display: block;
		text-align: left;
		padding: 1.25em 1.15em;
		position: relative;
		font-size: 1em;
		border-bottom: 0;
		position: relative;
		background-image: url(../img/ico_arrow_link.png);
		background-size: 5px;
		background-position: 96% center;
		background-repeat: no-repeat;
	}
	#gNav ul.nav li.current a,
	#gNav ul.nav li.current-page-ancestor a,
	#gNav ul.nav li.current-post-ancestor a,
	#gNav ul.nav li.current-menu-parent a,
	#gNav ul.nav li.current-menu-item a {
		background-color: #373737;
		color: #fff;
		background-image: url(../img/ico_arrow_link_w.png);
		background-size: 5px;
		background-position: 96% center;
		background-repeat: no-repeat;
	}
	#gNav ul.nav li.ico a {
		padding-left: 37px;
		background-repeat: no-repeat;
		background-position: 13px center;
		padding-top: 0.75em;
		padding-bottom: 0.75em;
		background-color: #f5f5f5;
	}
	#gNav ul.nav li.ico.sitemap a {
		background-image: url(../img/ico_sitemap.png);
		background-size: 14px;
	}
	#gNav ul.nav li.ico.info a {
		background-image: url(../img/ico_info.png);
		background-size: 6px;
		background-position: 15px center;
	}
	#gNav ul.nav li.ico.blog a {
		background-image: url(../img/ico_blog.png);
		background-size: 12px 14px;
	}
	#gNav ul.nav li.ico.access a {
		background-image: url(../img/ico_access.png);
		background-size: 10px;
	}
	#gNav ul.nav li.ico.lang a {
		background-image: url(../img/ico_lang.png);
		background-size: 14px;
	}
}
@media screen and (max-width : 415px) {}

/* gNavBtn
------------------------------------------------------------------- */
#gNavBtn {
	display: none;
	position: absolute;
	top: 5px;
	right: 0;
	height: 50px;
	width: 50px;
	padding: 9px 8px;
	text-decoration: none;
}
#gNavBtn span.label {
	font-size: 10px;
	letter-spacing: 0;
	text-align: center;
	margin-left: 1px;
	color: #222;
	margin-top: 1px;
	display: block;
	text-decoration: none;
}
#gNavBtn span.label.close {
	display: none;
}
#gNavBtn.on span.label {
	display: none;
}
#gNavBtn.on span.label.close {
	display: block;
}

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#gNavBtn {
		display: block;
	}
}
@media screen and (max-width: 650px) {}
@media screen and (max-width : 415px) {}

/* spNav
------------------------------------------------------------------- */
#spNav {
	border-top: 1px solid #E9E6DC;
	display: none;
	position: absolute;
	top: 60px;
	width: 100%;
	height: auto;
	background: #fff;
	z-index: 1000;
	padding: 10px 0 40px 0;
}
#spNav ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#spNav ul.nav li {
	display: block;
	margin: 0;
	padding: 0;
}
#spNav ul.nav li a,
#spNav ul.nav li span {
	display: block;
	font-weight: bold;
	text-decoration: none;
	color: #222;
	font-size: 13px;
	width: 100%;
	padding: 0.5em 0.5em 0.5em 0;
}

#spNav ul.nav > li {
	border-top: 1px solid #E9E6DC;
	padding: 0.25em 0;
}
#spNav ul.nav > li:nth-child(1) {
	border-top: 0;
}
#spNav ul.nav > li > a {
	padding: 0.75em 20px 0.75em 0.5em;
}
#spNav ul.nav ul.sub-menu {
	margin-top: 0.25em;
	margin-left: 32px;
	margin-bottom: 1em;
}
#spNav ul.nav ul.sub-menu a {
	font-size: 11px;
	padding: 1em;
}
#spNav ul.nav ul.sub-menu li {
	padding: 2px;
}
#spNav ul.nav ul.sub-menu li a {
	background-color: #eee;
}
#spNav ul.nav ul.sub-menu span {
	font-size: 11px;
	padding-bottom: 0;
	color: #999;
}
#spNav ul.nav li ul.sub-menu > li:first-child span {
	padding-top: 0;
}

#spNav ul.nav ul.sub-menu ul.sub-menu {
	margin-left: 0;
	margin-top: 0;
	margin-bottom: 0;
}
#spNav ul.nav ul.sub-menu.half li {
	display: inline-block;
	width: 50%;
	margin-right: -5px;
}
#spNav ul.nav > li > ul.sub-menu li a {
	font-size: 12px;
	padding: 0.75em 20px 0.75em 0.5em;
}

/* clf */
#spNav ul.nav ul,
#spNav ul.nav li {
	width: 100%;
}
#spNav ul.nav ul.sub-menu {
	width: auto;
}
#spNav ul.nav ul:after,
#spNav ul.nav li:after {
	content: '';
	display: block;
	clear: both;
}

/* arrow */
#spNav ul.nav a {
	position: relative;
}
#spNav ul.nav a:after {
	position: absolute;
	top: 50%;
	right: 8px;
	margin-top: -5px;
	display: block;
	content: '';
	width: 9px;
	height: 9px;
	border-right: 2px solid #ddd;
	border-bottom: 2px solid #ddd;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#spNav ul.nav > li > a:after {}
#spNav ul.nav > li > ul.sub-menu li a:after {
	border-right: 2px solid #bbb;
	border-bottom: 2px solid #bbb;
}


@media screen and (min-width : 651px) {
	#spNav {
		display: none!important;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#spNav .inner {
		padding: 0 15px;
	}
}
@media screen and (max-width : 415px) {}

/* mainSlider
------------------------------------------------------------------- */
#mainSlider {
	padding-bottom: 50px;
}
#mainSlider .slider {
	opacity: 0;
	transition: opacity .25s ease;
}
#mainSlider .slider.slick-initialized {
	opacity: 1;
}
#mainSlider h1 {
	width: 39.142857142%;
	position: absolute;
	/*bottom: 16.34615%;*/
	bottom: 6.34615%;
	right: 11.52857%;
	margin-bottom: 0;
}
#mainSlider ul {
	padding: 0;
}
#mainSlider .slick-slide {
	margin: 0;
	line-height: 0;
}
#mainSlider .slick-slide img {
	width: 90%;
	height: auto;
    margin: auto;
}
#mainSlider .slick-slide a > img {
	aspect-ratio: 2.6923/1;
	object-fit: cover;
}
#mainSlider .slick-slide img.sp {
	display: none;
}
#mainSlider .slick-slide  h1 img {
	width: auto;
}
#mainSlider .slick-dots {
	bottom: -45px;
}
#mainSlider .slick-dots li button {}
#mainSlider .slick-dots li button:before {
	-ms-filter: "alpha(opacity=100)";
	filter: alpha(opacity=100);
	opacity: 1;
	color: #E5E5E5;
}
#mainSlider .slick-dots li.slick-active button:before {
	color: #373737;
}
#mainSlider .slick-prev,
#mainSlider .slick-next {
	width: 42px;
	height: 42px;
	background-repeat: no-repeat;
	background-size: 42px;
	background-position: left top;
	z-index: 100;
}
#mainSlider .slick-prev:before,
#mainSlider .slick-next:before {
	display: none;
}
#mainSlider .slick-prev {
	background-image: url(../img/ico_prev.png);
	left: 40px;
}
#mainSlider .slick-next {
	background-image: url(../img/ico_next.png);
	right: 40px;
}


@media screen and (min-width : 651px) {
	#mainSlider .slick-slide a {
		background-image: none!important;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#mainSlider .inner {
		padding: 0;
	}
	#mainSlider .slick-slide a {}
	#mainSlider .slick-slide img.pc {
		display: none;
	}
	#mainSlider .slick-slide img.sp {
		display: inline;
		height: auto;
	}
	#mainSlider .slick-slide a > img.sp {
		aspect-ratio: 1.28/1;
		object-fit: cover;
	}
	#mainSlider .slick-dots {
		bottom: -35px;
	}
	#mainSlider .slick-prev,
	#mainSlider .slick-next {
		display: none!important;
	}
	#mainSlider h1 {
		width: 255px;
		margin: 0;
		right: 0;
		bottom: 0;
	}
}
@media screen and (max-width : 415px) {}

/* page-title
------------------------------------------------------------------- */
#page-title {
	min-width: 1200px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
    background-image: linear-gradient(to right,rgba(0,0,0,0.0),rgba(0,0,0,0.3),rgba(0,0,0,0.1)),url(../img/page/pic_mainimg.jpg);
}
#page-title h1 {
	color: #fff;
	padding: 3em 0;
	text-align: center;
}
@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width: 650px) {
	#page-title h1 {
		margin-top: 1em;
	}
	#page-title {
		min-width: 0;
		padding-bottom: 20px;
	}
}
@media screen and (max-width : 415px) {}

/* bread
------------------------------------------------------------------- */
#bread {
	padding: 0;
	margin-top: 14px;
}
#bread .inner {
	width: 1200px;
	max-width: 100%;
}
#bread ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#bread ul li {
	display: inline-block;
	text-align: left;
	margin-left: 0.25em;
}
#bread ul li,
#bread ul li a {
	font-size: 11px;
	text-decoration: none;
	color: #333;
}
#bread ul li > span {
	color: #333;
}
#bread ul li:after {
	content: ">";
	display: inline-block;
	margin-left: 0.5em;
}
#bread ul li:nth-child(1) {
	margin-left: 0;
}
#bread ul li:last-child:after {
	display: none;
}
@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#bread {
		/*display: none;*/
		padding-top: 15px;
		padding-bottom: 25px;
		margin-top: 0;
	}
	#bread ul li,
	#bread ul li a {
		font-size: 11px;
	}
}
@media screen and (max-width : 415px) {}

/* main - common
--------------------------------------------------------------------------*/
#wrapper {}
#main {}
#main div.line {
	padding: 50px 0;
}
#main div.line.bg {
	background-color: #F6F6F6;
}
#main div.line > *:first-child { margin-top: 0; }
#main div.inner > *:last-child { margin-bottom: 0; }
#main div.line:not(.bg)+.line:not(.bg) {
	padding-top: 0;
}

#main h1 {}
#main h2 span.en,
#main h2 span.dbc {
	display: block;
	text-align: center;
	font-weight: normal;
}
#main h2 span.en {}
#main h2 span.dbc {
	font-size: 0.5em;
	color: #727272;
	margin-top: 0.25em;
}
#main h3 {}
#main h2 {}
#main p {}

#main p.backlink {
	text-align: center;
	margin-top: 60px;
}
#main p.backlink a{
	border-left: 2px solid #333;
	border-right: 2px solid #333;
	padding: 0 14px;
}

#main p.backlink a:hover {
	text-decoration: underline;
}

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {}
@media screen and (max-width : 415px) {}

/* modal
------------------------------------------------------------------- */
#modal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	z-index: 900;
}
@media screen and (min-width : 651px) {
	#modal {
		display: none!important;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#modal div.logo {
		position: absolute;
		top: 0;
		left: 10px;
		width: 150px;
		height: 50px;
	}
	#modal div.logo a {
		display: block;
		height: 50px;
		line-height: 50px;
	}
	#modal div.logo a img {
		width: 150px;
		line-height: 50px;
	}
	#modal #searchBtnModal {
		position: absolute;
		top: 0;
		right: 50px;
		width: 50px;
		height: 50px;
		background-image: url(../img/btn_search.png);
		background-position: center 9px;
		background-repeat: no-repeat;
		background-size: 13px;
		text-decoration: none;
		color: #333;
		text-align: center;
	}
	#modal #searchBtnModal span.label {
		display: block;
		margin-top: 28px;
		font-size: 10px;
	}
	#modal #searchBtnModal span.label.close {
		display: none;
	}

	#modal #gNavBtnModal {
		position: absolute;
		top: 0;
		right: 0;
		width: 50px;
		height: 50px;
		border-left: 1px solid #d3d3d3;
		background-image: url(../img/btn_menu.png);
		background-position: center 9px;
		background-repeat: no-repeat;
		background-size: 24px;
		text-decoration: none;
		color: #333;
		text-align: center;
	}
	#modal #gNavBtnModal span.label {
		display: block;
		margin-top: 28px;
		font-size: 10px;
	}
	#modal #gNavBtnModal span.label.close {
		display: none;
	}

	#modal.menu #gNavBtnModal span.label {
		display: none;
	}
	#modal.menu #gNavBtnModal span.label.close {
		display: block;
	}
	#modal.search #searchBtnModal span.label {
		display: none;
	}
	#modal.search #searchBtnModal span.label.close {
		display: block;
	}
}
@media screen and (max-width : 415px) {}

/* postslider
--------------------------------------------------------------------------*/
#main div.line.blog .inner {
	padding: 0;
	width: 100%;
}
#main div.line.blog .inner p {
	text-align: center;
    margin-bottom: 5em;
    display: block;
}
#main ul.postslider {
	/*width: 1216px;*/
	width: 100%;
	max-width: 100%;
	margin: 0 auto 30px;
	padding: 0;
	list-style-type: none;
}
#main ul.postslider {
	opacity: 0;
	transition: opacity .25s ease;
}
#main ul.postslider.slick-initialized {
	opacity: 1;
}
#main ul.postslider:after {
	content: '';
	display: block;
	clear: both;
}
#main ul.postslider li.slick-slide {
	/*max-height: 285px;*/
	/*margin: 0 40px;*/
	padding: 0 40px;
	background-color: #f6f6f6;
	width: 1060px;
}
#main ul.postslider li.slick-slide:nth-child(1),
#main ul.postslider li.slick-slide:nth-child(2),
#main ul.postslider li.slick-slide:nth-child(3) {
	margin-top: 0;
}
#main ul.postslider li.slick-slide:nth-child(3n) {
	margin-right: 0;
}
#main ul.postslider li.slick-slide a {
	display: inline-block;
	text-decoration: none;
	color: #333;
}

#main ul.postslider li.slick-slide div.photo,
#main ul.postslider li.slick-slide div.txt {
	display: table-cell;
	vertical-align: top;
}
#main ul.postslider li.slick-slide div.photo {
	position: relative;
	width: 52%;
	background-color: #fff;
}
#main ul.postslider li.slick-slide div.photo img {
	vertical-align: top;
	height: auto;
    object-fit: cover;
    aspect-ratio: 16/9;
}
#main ul.postslider li.slick-slide div.photo span.date {
	position: absolute;
	top: 0;
	left: 0;
	font-size: 0.86em;
	line-height: 2.166666;
	background-color: #333;
	color: #fff;
	padding: 0 1em;
}
#main ul.postslider li.slick-slide div.txt {
	padding: 1em;
	background-color: #fff;
	padding: 30px;
}
#main ul.postslider li.slick-slide div.txt > *:first-child { margin-top: 0; }
#main ul.postslider li.slick-slide div.txt > *:last-child { margin-bottom: 0; }
#main ul.postslider li.slick-slide div.txt span.cat {
	font-size: 0.86em;
	color: #717171;
}
#main ul.postslider li.slick-slide div.txt h3 {
	font-size: 1.14em;
	margin: 1em 0;
	padding-bottom: 1em;
	position: relative;
	line-height: 1.8;
}
#main ul.postslider li.slick-slide div.txt h3:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 52px;
	height: 3px;
	background-color: #d3d3d3;
}
#main ul.postslider .slick-prev,
#main ul.postslider .slick-next {
	width: 42px;
	height: 42px;
	background-repeat: no-repeat;
	background-size: 42px;
	background-position: left top;
	z-index: 100;
}
#main ul.postslider .slick-prev:before,
#main ul.postslider .slick-next:before {
	display: none;
}
#main ul.postslider .slick-prev {
	background-image: url(../img/ico_prev.png);
	/*left: 35px;*/
	left: calc(50% - 550px);
}
#main ul.postslider .slick-next {
	background-image: url(../img/ico_next.png);
	/*right: 35px;*/
	right: calc(50% - 550px);
}
#main div.line.blog p.btn a {
	margin-bottom: 0;
}

@media screen and (max-width : 1160px) {
	#main ul.postslider .slick-prev {
		left: 10px;
	}
	#main ul.postslider .slick-next {
		right: 10px;
	}
}
@media screen and (min-width : 651px) {

	#main ul.postslider li.slick-slide a:hover {}
	#main ul.postslider li.slick-slide a img {
		-webkit-transition: all 0.1s linear;
		-o-transition: all 0.1s linear;
		transition: all 0.1s linear;
	}
	#main ul.postslider li.slick-slide a:hover img {
		/*-ms-filter: "alpha(opacity=70)";*/
		/*filter: alpha(opacity=70);*/
		/*opacity: 0.7;*/
	}
}
@media screen and (max-width : 979px) {
	#main ul.postslider li.slick-slide div.photo,
	#main ul.postslider li.slick-slide div.txt {
		display: block;
		width: 100%;
	}
	#main ul.postslider li.slick-slide div.photo,
	#main ul.postslider li.slick-slide div.photo img {
		width: 100%;
	}
}
@media screen and (max-width : 650px) {
	#main div.line.blog .inner {
		/*padding: 0 10px;*/
	}
	#main div.line.blog p.btn.more {
		margin: 0 10px;}
	#main ul.postslider {
		/*padding: 0 40px;*/
	}
	#main ul.postslider li.slick-slide {
		max-height: none;
		padding: 0 25px;
	}
	#main ul.postslider li.slick-slide a {
		padding: 0;
	}
	#main ul.postslider li.slick-slide:last-child a {
		border-bottom: 1px solid #d7d7d7;
	}
	#main ul.postslider li.slick-slide div.photo span.date {
		font-size: 0.923976em;
	}
	#main ul.postslider li.slick-slide div.txt {
		padding: 20px;
	}
	#main ul.postslider li.slick-slide div.txt h3 {
		font-size: 1em;
	}
	#main ul.postslider li.slick-slide div.txt p {
		font-size: 0.84615em;
	}
	#main ul.postslider .slick-prev,
	#main ul.postslider .slick-next {
		width: 24px;
		height: 24px;
		background-size: 24px;
	}
	#main ul.postslider .slick-prev {
		left: 13%;
	}
	#main ul.postslider .slick-next {
		right: 13%;
	}
}
@media screen and (max-width : 415px) {}

/* news
------------------------------------------------------------------- */
#main div.line.topnews {
	padding-top: 20px;
}
#main div.line.topnews h2 {
	font-size: 1.86em;
}
#main div.line.topnews h2 span {
	display: inline-block;
	text-align: left;
}
#main div.line.topnews h2 span.dbc {
	font-size: 0.54em;
	margin-left: 0.5em;
}
#main div.line.topnews div.news_nav {
	position: absolute;
	top: 0;
	right: 0;
}
#main div.line.topnews div.news_nav a {
	text-decoration: none;
	color: #333;
}
#main div.line.topnews div.news_nav a.more {
	padding-left: 12px;
	background-image: url(../img/ico_arrow_link.png);
	background-size: 5px;
	background-position: left center;
	background-repeat: no-repeat;
}
#main div.line.topnews div.news_nav a.rss {
	display: inline-block;
	vertical-align: top;
	margin-left: 1em;
	line-height: 1.7;
}

#main div.news_wrap {
	height: 240px;
	overflow: hidden;
	position: relative;
	margin-bottom: 30px;
	padding-right: 20px;
}
.ps__scrollbar-y-rail {
	-ms-filter: "alpha(opacity=100)";
	filter: alpha(opacity=100);
	opacity: 1!important;
}
.ps>.ps__scrollbar-y-rail>.ps__scrollbar-y {
	background-color: #c8c8c8;
}

#main ul.news {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#main ul.news li {
	display: table;
	width: 100%;
	margin: 0;
}
#main ul.news li > span,
#main ul.news li h3 {
	display: table-cell;
	vertical-align: top;
	padding-bottom: 30px;
}
#main ul.news li h3 {
	text-align: left;
}
#main ul.news li span.date {
	width: 7em;
	white-space: nowrap;
	font-size: 0.86em;
	color: #656565;
}
#main ul.news li span.cat {
	white-space: nowrap;
	padding-right: 20px;
	line-height: 1.5;
	width: 10em;
}
#main ul.news li span.cat > span {
	width: 10em;
	text-align: center;
	background-color: #fff;
	display: inline-block;
	font-size: 0.91em;
	line-height: 2;
    border-radius: 20px;
}
#main ul.news li span.cat > span.information {
    background-color: #384c98;
    color: #fff;
}
#main ul.news li span.cat > span.press_release {
    background-color: #008084;
    color: #fff;
}
#main ul.news li span.cat > span.other {
    background-color: #845898;
    color: #fff;
}

#main ul.news li span.cat.ourinfo > span {
	background-color: #E0EED6;
}
#main ul.news li span.cat.member > span {
	background-color: #F9DEDF;
}
#main ul.news li a,
#main ul.news li h3,
#main #post-content ul.news li h3 {
	border-left: 0;
	padding: 0;
	text-decoration: none;
	color: #333;
	font-size: 1em;
	font-weight: normal;
}

#main ul.news li h3:after,
#main #post-content ul.news li h3:after{
	display: none;
}

.news.list #main ul.news li > span {
	display: inline-block;
	padding-bottom: 10px;
}
.news.list #main #post-content ul.news li h3 {
	display: block;
	margin-top: 0;
	margin-bottom: 2em;
}

@media screen and (min-width : 651px) {
	#main div.line.topnews div.news_nav a.more:hover,
	#main ul.news li a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width: 800px) {}
@media screen and (max-width: 650px) {
	div.line {
		padding: 30px 0;
	}
	#main div.line.topnews div.news_nav {
		right: 10px;
		top: 8px;
	}
	#main ul.news {
		padding: 0;
		border: 0;
	}
	#main ul.news li {
		margin-bottom: 12px;
		padding-right: 15px;
	}
	#main ul.news li > span {
		display: inline-block;
	}
	#main ul.news li span.date {
		width: auto;
		margin-right: 10px;
		font-size: 0.85em;
		line-height: 25px;
		letter-spacing: 0.02em;
	}
	#main ul.news li span.cat {
		vertical-align: middle;
	}
	#main ul.news li span.cat > span {
		font-size: 0.77em;
		padding: 0 20px;
		width: auto;
	}
	#main ul.news li > span,
	#main ul.news li h3 {
		padding-bottom: 0;
	}
	#main ul.news li h3 {
		display: block;
		margin-top: 7px;
		margin-bottom: 0;
		font-size: 1em;
	}
}
@media screen and (max-width : 415px) {}


/* organ
------------------------------------------------------------------- */
#main ul.organ {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#main ul.organ li {
	display: table;
	width: 100%;
	margin: 0 0 30px;
	padding-left: 12px;
    background-image: url(../img/ico_arrow_link.png);
    background-size: 5px;
    background-position: 0 .5em;
    background-repeat: no-repeat;
}
#main ul.organ li > span,
#main ul.organ li h3 {
	display: table-cell;
	vertical-align: top;
}
#main ul.organ li h3 {
	text-align: left;
}
#main ul.organ li span.year{
	width: 7em;
	white-space: nowrap;
	font-size: 0.86em;
}
#main ul.organ li span.number {
	width: 7em;
	white-space: nowrap;
	font-size: 0.86em;
	color: #FF0000;
}
#main ul.organ li a,
#main ul.organ li h3,
#main #post-content ul.organ li h3 {
	border-left: 0;
	padding: 0;
	text-decoration: none;
	color: #333;
	font-size: 1em;
	font-weight: normal;
}

#main ul.organ li h3:after,
#main #post-content ul.organ li h3:after{
	display: none;
}

@media screen and (min-width : 651px) {
	#main ul.organ li a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width: 650px) {
	#main ul.organ {
		padding: 0;
		border: 0;
	}
	#main ul.organ li {
		margin-bottom: 12px;
		padding-right: 15px;
		padding-left: 0;
		background: none;
	}
	#main ul.organ li > span {
		display: inline-block;
	}
	#main ul.organ li span.date {
		width: auto;
		margin-right: 10px;
		font-size: 0.85em;
		line-height: 25px;
		letter-spacing: 0.02em;
	}
	#main ul.organ li span.cat {
		vertical-align: middle;
	}
	#main ul.organ li span.cat > span {
		font-size: 0.77em;
		padding: 0 20px;
		width: 9em;
	}
	#main ul.organ li > span,
	#main ul.organ li h3 {
		padding-bottom: 0;
	}
	#main ul.organ li h3 {
		display: block;
		margin-top: 7px;
		margin-bottom: 0;
		font-size: 1em;
	}
}
@media screen and (max-width : 415px) {}

/* boxlist
--------------------------------------------------------------------------*/
#main div.line.project .inner {
/*	width: 1120px;
	padding: 0 5px;*/
	width: 1400px;
	max-width: 100%;
	padding: 0 10px;
}
#main div.line.project p {
	text-align: center;
    margin-bottom: 5em;
}
#main ul.boxlist {
	padding: 0;
	list-style-type: none;
	width: 100%;
}
#main ul.boxlist:not(.slider) {
	margin: -5px 0 0 0!important;
}
#main ul.boxlist:after {
	content: '';
	display: block;
	clear: both;
}
#main ul.boxlist li {
	float: left;
	margin: 0;
	padding: 10px;
	width: 33.3333333%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#main ul.boxlist li a {
	position: relative;
	display: block;
	text-decoration: none;
}
#main ul.boxlist li a.sp {
	display: none;
}
#main ul.boxlist li a:hover {}

#main ul.boxlist li div.photo {
	position: relative;
}
#main ul.boxlist li div.photo:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 54%;
	/*opacity: 0.8;*/
	background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 1.0) 0%, rgba(0, 0, 0, 0) 100%) center bottom / cover no-repeat;
	background: -o-linear-gradient(bottom, rgba(0, 0, 0, 1.0) 0%, rgba(0, 0, 0, 0) 100%) center bottom / cover no-repeat;
	background: -ms-linear-gradient(bottom, rgba(0, 0, 0, 1.0) 0%, rgba(0, 0, 0, 0) 100%) center bottom / cover no-repeat;
	background: -moz-linear-gradient(bottom, rgba(0, 0, 0, 1.0) 0%, rgba(0, 0, 0, 0) 100%) center bottom / cover no-repeat;
	background: linear-gradient(to top, rgba(128, 128, 128, 6.0) 0%, rgba(0, 0, 0, 0) 100%) center bottom / cover no-repeat;

}
#main ul.boxlist li div.photo img {
	width: 100%;
	height: auto;
    object-fit: cover;
    aspect-ratio: 16/9;
    /*filter: brightness(85%);*/
}
#main ul.boxlist li div.photo h3 {
	display: none;
}
#main ul.boxlist li div.txt {}
#main ul.boxlist li div.txt > *:first-child { margin-top: 0; }
#main ul.boxlist li div.txt > *:last-child { margin-bottom: 0; }
#main ul.boxlist li div.txt span.date {
	font-size: 14px;
	letter-spacing: 0.05em;
}
#main ul.boxlist li div.txt > span.cat {
	display: inline-block;
	line-height: 23px;
	font-size: 10px;
	margin-left: 1em;
}
#main ul.boxlist li div.txt > span.cat span.club {
	line-height: 1.67em;
	background-color: #659C00;
	color: #fff;
	padding: 0 0.5em;
	font-size: 12px;
}
#main ul.boxlist li div.txt h3 {
	font-size: 1.29em;
	line-height: 1.4;
	margin: 0.25em 0 0 0;
	max-height: 2.8em;
    display: inline-block;
}
#main ul.boxlist li div.txt p {
	font-size: 0.86em;
	margin-top: auto;
	text-align: left;
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;

}

#main ul.boxlist li.large div.txt h3 {
	font-size: 1.57em;
}

@media screen and (min-width : 651px) {
	#main ul.boxlist li.large {
		width: 50%;
	}
	#main ul.boxlist li a:hover img {
		-ms-filter: "alpha(opacity=70)";
		filter: alpha(opacity=70);
		opacity: 0.7;
	}
	#main ul.boxlist li div.txt {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		padding: 28px;
		color: #fff;
        backdrop-filter: blur(3px);
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {
	#main ul.boxlist li div.txt h3 {
		font-size: 13px;
	}
}
@media screen and (max-width : 650px) {
	#main div.line.project .inner {

	}
	#main ul.boxlist li {
		padding: 5px;
		width: 50%!important;
		max-width: 50%!important;
	}
	#main ul.boxlist li a.pc {
		display: none;
	}
	#main ul.boxlist li a.sp {
		display: block;
	}
	#main ul.boxlist li div.photo:after {
		z-index: 5;
	}
	#main ul.boxlist li div.photo h3 {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		color: #fff;
		font-size: 1em;
		z-index: 10;
		padding: 10px;
		margin: 0;
        backdrop-filter: blur(3px);
	}
	#main ul.boxlist li div.txt {
		color: #000;
		font-size: 12px;
		padding-top: 5px;
	}
	#main ul.boxlist li div.txt div.inTxt {}
	#main ul.boxlist li div.txt span.date,
	#main ul.boxlist li div.txt span.cat {
		font-size: 11px;
	}
	#main ul.boxlist li div.txt h3 {
		display: none;
	}
	#main ul.boxlist li div.txt p {
		font-size: 0.85em;
		margin: 0;
	}
	#main ul.boxlist li div.txt span.cat {
		line-height: 1;
	}
	#main ul.boxlist li div.txt > span.cat span.club {
		font-size: 11px;
		line-height: 1;
	}
	#main ul.boxlist li.large div.txt h3 {
		font-size: 1em;
	}
}
@media screen and (max-width : 415px) {
	#main ul.boxlist li div.photo span.new {
		top: 5px;
		left: 5px;
	}
}

/* pagelist
------------------------------------------------------------------- */
#main div.line.support .inner {
	width: 1400px;
	padding: 0;
}
#main div.line.support p {
	text-align: center;
}
#main ul.pagelist {
	list-style: none;
	padding: 0;
	margin: 40px 0 0 0;
	width: 100%;
}
#main ul.pagelist:after {
	content: '';
	display: block;
	clear: both;
}
#main ul.pagelist li {
	margin: 0;
	padding: 0;
	float: left;
	width: 50%;
	background-color: #fff;
}
#main ul.pagelist li a {
	display: table;
	text-decoration: none;
	color: #333;
	width: 100%;
}
#main ul.pagelist li div.photo,
#main ul.pagelist li div.txt {
	display: table-cell;
	vertical-align: middle;
}
#main ul.pagelist li div.photo {
	width: 240px;
}
#main ul.pagelist li div.txt {
	padding: 0 40px;
	background-image: url(../img/ico_arrow_link.png);
	background-repeat: no-repeat;
	background-position: 90% center;
	background-size: 10px;
	word-break: break-all;
}
#main ul.pagelist li div.txt > *:first-child { margin-top: 0; }
#main ul.pagelist li div.txt > *:last-child { margin-bottom: 0; }
#main ul.pagelist li div.txt h3 {
	font-size: 1.86em;
	margin-bottom: 0.1em;
	font-weight: normal;
}
#main ul.pagelist li div.txt p {
	font-size: 1.14em;
	color: #717171;
	text-align: left;
}

@media screen and (min-width : 651px) {
	#main ul.pagelist li a {
		-webkit-transition: all 0.05s linear;
		-o-transition: all 0.05s linear;
		transition: all 0.05s linear;
	}
	#main ul.pagelist li a:hover {
		color: #fff;
		background-color: #373737;
	}
	#main ul.pagelist li a:hover div.txt {
		background-image: url(../img/ico_arrow_link_w.png);
	}
	#main ul.pagelist li a:hover div.txt p {
		color: #a0a0a0;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {
	#main ul.pagelist li div.txt h3 {
		font-size: 1.28em;
	}
}
@media screen and (max-width : 650px) {
	#main div.line.support h2,
	#main div.line.support p {
		padding-left: 10px;
		padding-right: 10px;
	}
	#main ul.pagelist {
		border-top: 1px solid #d4d4d4;
	}
	#main ul.pagelist li {
		float: none;
		width: 100%;
		border-bottom: 1px solid #d4d4d4;
	}
	#main ul.pagelist li div.photo {
		width: 34%;
	}
	#main ul.pagelist li div.txt {
		padding: 0 20px;
	}
	#main ul.pagelist li div.txt h3 {
		font-size: 1.23em;
	}
	#main ul.pagelist li div.txt p {
		font-size: 0.92em;
	}
}
@media screen and (max-width : 415px) {}

/* side - posts
--------------------------------------------------------------------------*/
#side #catNav {
	border-top: 3px solid #373737;
    margin-bottom: 70px;
    font-size: 0.9em;
}
#side #catNav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#side #catNav ul li {
	margin: 0;
	display: none;
}
#side #catNav ul li.current_page_ancestor,
#side #catNav ul li.current_page_parent,
#side #catNav ul li.current_page_item,
#side #catNav ul li.current_page_ancestor li,
#side #catNav ul li.current_page_item li {
	display: block;
}

/* 機関誌　ここから */
body.organ #side #catNav ul li.page-item-56,
body.organ #side #catNav ul li.page-item-56 li,
body.organ #side #catNav ul li.page-item-171,
body.organ #side #catNav ul li.page-item-171 li{
	display: block;
}

body.organ #side #catNav ul li.page-item-877,
body.organ #side #catNav ul li.page-item-951 {
	background-color: #373737;
}

body.organ #side #catNav ul li.page-item-877 > a,
body.organ #side #catNav ul li.page-item-951 > a {
	color: #ffffff;
	background-image: url(../img/ico_arrow_link_w.png);
}

body.organ #side #catNav ul li.page-item-877 li,
body.organ #side #catNav ul li.page-item-951 li{
	background-color: #f5f5f5;
}

/* 機関誌　ここまで */

#side #catNav ul li a {
	display: block;
	text-decoration: none;
	border-bottom: 1px solid #d3d3d3;
	padding: 1em 0;
	padding-left: 30px;
	color: #333;
	background-image: url(../img/ico_arrow_link.png);
	background-size: 5px;
	background-position: 1.2em center;
	background-repeat: no-repeat;
}

#side #catNav ul li a:hover {
	background: #333 url(../img/ico_arrow_link_w.png) no-repeat 1.2em center;
	background-size: 5px;
	color: #fff;
}

#side #catNav ul.sub-menu li ul.sub-menu li a,
#side #catNav ul.children li ul.children li a {
	padding-left: 50px;
	background-position: 2.6em center;
}
#side #catNav > ul > li > a {
	text-align: center;
	padding: 1.6em 0.5em;
	background: none;
}
#side #catNav ul li ul li a {
	font-size: 0.86em;
}
#side #catNav ul.children li.current_page_ancestor,
#side #catNav ul.children li.current_page_parent {
	background-color: #f5f5f5;
}
#side #catNav ul li.current_page_item li{
	background-color: #f5f5f5;
}
#side #catNav ul li.current-item,
#side #catNav ul li.current_page_item,
#side #catNav ul.children li.current_page_item {
	background-color: #373737;
}

#side #catNav ul li.current-item > a,
#side #catNav ul li.current_page_item > a {
	color: #ffffff;
	background-image: url(../img/ico_arrow_link_w.png);
}

#side #catNav > ul > li.current_page_item > a {
	background: none;
}
#side #blogNav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#side #blogNav > ul > li {
	margin-bottom: 50px;
}
#side #blogNav ul li span.blog-menu{
	font-size: 1.14em;
	display: block;
	border-bottom: 2px solid #373737;
	margin-bottom: 10px;
}
#side #blogNav span.date {
	display: block;
    border-bottom: solid 1px #999;
    padding: 7px 2px;
    margin-bottom: 5px;
}
#side #blogNav p.cate {
	display: block;
    padding: 7px 2px;
    margin-right: 1em;
    text-align: right;
    color: #666;
}
#side #blogNav ul.sub-menu li {
	font-size: 1em;
	line-height: 1.6;
    margin-bottom: 17px;
}
#side #blogNav ul.sub-menu li a {
	color: #000;
}

#side #blogNav ul.sub-menu li a:hover {
	text-decoration: underline;
}

#side #blogNav ul.sub-menu li ul.children li{
	padding-left: 1em;
}
#side #blogNav .search input[type="submit"],
#side #blogNav .search input[type="text"] {
	height: 35px;
	border-radius: 0;
}
#side #blogNav .search input[type="text"] {
	width: 215px;
	margin-right: -5px;
}
#side #blogNav .search input[type="submit"] {
	width: 35px;
	padding: 0;
	background-image: url(../img/ico_search_w.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 18px;
	color: #373737;
}


@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#side #catNav ul.sub-menu li ul.sub-menu li a,
	#side #catNav ul li a,
	#side #catNav ul.children li ul.children li a {
		background-position: 95% center;
	}
}
@media screen and (max-width : 415px) {}

/* post-title
------------------------------------------------------------------- */
#main #post-title {}
#main #post-title h1 {}
#main #post-title > *:first-child { margin-top: 0; }
#main #post-title > *:last-child { margin-bottom: 0; }

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {}
@media screen and (max-width : 415px) {}

/* post-content
------------------------------------------------------------------- */
#main #post-content {
    margin-bottom: 6rem;
}
#main #post-content > *:first-child { margin-top: 0; }
#main #post-content > *:last-child { margin-bottom: 0; }
#main #post-content h2 {
	font-size: 1.72em;
	background-color: #f5f5f5;
	padding: 0.5em 1em;
	border-left: 8px solid #004C98;
}
#main #post-content h3 {
	border-left: 8px solid #004c98;
	padding: 0.5em 1.0em;
	font-size: 1.43em;
	margin-bottom: 1.5em;
	position: relative;
}
#main #post-content h3:after{
    content: "";
    width: 100%;
    height: 1px;
    background: #D4D4D4;
    position: absolute;
    left: 0px;
    bottom: 0px;
}
#main #post-content h4 {
	border-left: 8px solid #004c98;
	padding: 0 0.6em;
	font-size: 1.14em;
	margin-bottom: 1.2em;
	position: relative;
}
#main #post-content h5 {
	font-weight: bold;
	margin-bottom: 1.2em;
}
#main #post-content p {
	font-size: 1em;
    font-feature-settings: "palt";
    letter-spacing:0.12em;
}
#main #post-content p.sign {
	text-align: right;
	font-size: 0.9em;
}
#main #post-content ul.box {
	padding: 1.5em 1.5em 1.5em 3em;
	border: 1px solid #888;
}
#main #post-content ul.box li:last-child {
	margin-bottom: 0;
}
#main #post-content ul.box li.etc {
	list-style-type: none;
	padding-top: 0.5em;
	padding-left: 1em;
}
#main #post-content ul.nomark {
	padding: 0;
}
#main #post-content ul.nomark li {
	list-style-type: none;
}
#main #post-content ul li {
	margin: 1.25em;
    padding: 0.5em
}
#main #post-content ol li {
	margin: 1.25em;
    padding: 0.5em
}
@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#main #post-content p {
		font-size: 1em;
	}
	#main #post-content.spot {
		padding: 0;
	}
	#main #post-content.list {
		padding: 0;
	}
	#main #post-content ul.box {
		font-size: 12px;
	}
	#main #post-content h2 {
		font-size: 1.54em;
	}
}
@media screen and (max-width : 415px) {}

/* post-content #blog-list
------------------------------------------------------------------- */
#main #post-content ul.blog-list {
	list-style-type: none;
	padding-left: 0;
}
#main #post-content ul.blog-list li {
	margin-bottom: 60px;
}
#main #post-content ul.blog-list a {
	display: inline-block;
	color: #333;
}
#main #post-content ul.blog-list div.photo {
	display: table-cell;
	width: 50%;
    height: auto;
	vertical-align: top;
}
#main #post-content ul.blog-list div.photo img {
	vertical-align: top;
	height: auto;
    object-fit: cover;
    aspect-ratio: 16/9;
}
#main #post-content ul.blog-list div.txt {
	display: table-cell;
	vertical-align: top;
	padding-left: 25px;
}
#main #post-content ul.blog-list div.txt.no-img {
	padding-left: 0;
}
#main #post-content ul.blog-list div.txt p {
	margin-bottom: 0;
}
#main #post-content ul.blog-list div.txt p.more {
	float: right;
	color: #1e7fc2;
}

#main #post-content ul.blog-list div.txt p.more:hover {
	text-decoration: underline;
}

#main #post-content ul.blog-list div.txt p.cate {
	float: right;
	color: #1e7fc2;
}


#main #post-content ul.blog-list h2 {
	border-bottom: 2px solid #D3D3D3;
	padding-bottom: 0.5em;
	font-size: 1.28em;
	margin-bottom: 0.5em;
	margin-top: 0;
	background: none;
	border-left: none;
	padding: 0 0 0.5em 0;
	font-weight: normal;
	position: relative;
}
#main #post-content ul.blog-list h2:after {
	content: ".";
	line-height: 0;
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: -2px;
	width: 11%;
	border-bottom: 2px solid #373737;
}
#main #post-content ul.blog-list div.txt p.date {
	font-size: 0.81em;
	text-align: right;
	margin-bottom: 5px;
}

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#main #post-content ul.blog-list div.photo {
		display: block;
		width: 100%;
	}
	#main #post-content ul.blog-list div.photo img{
		width: 100%;
		height: auto;
	}
	#main #post-content ul.blog-list div.txt {
		display: block;
		padding-left: 0;
		margin-top: 20px;
	}


}
@media screen and (max-width : 415px) {}

/* post-content #blog-content
------------------------------------------------------------------- */
#main #post-content.blog-content h1 {
	font-size: 2em;
	border-bottom: 4px solid #004c98 !important;
	padding-bottom: 0.5em;
	position: relative;
	margin-bottom: 10px;
}
#main #post-content.blog-content h1:after {
	content: ".";
	line-height: 0;
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: -4px;
	width: 12%;
	/*border-bottom: 4px solid #373737;*/
}
#main #post-content.blog-content h2 {
	margin-top: 60px;
}
#main #post-content.blog-content p.date {
	text-align: right;
}
#main #post-content.blog-content p.blogimg {
	text-align: center;
	margin: 30px 0 60px 0;
}

/* post-content - logout
--------------------------------------------------------------------------*/
.logout {
	text-align: right;
}
.logout.top {
	margin-bottom: 40px;
}
.logout.top + * {
	margin-top: 0;
}
.logout.btm {
	margin-top: 63px;
}
.logout .logout_btn {
	display: inline-block;
	width: 130px;
	height: 27px;
	border-radius: 0;
	padding: 0;
	background-color: #03067A;
	color: #fff;
	text-align: center;
	line-height: 27px;
}

@media screen and (min-width : 651px) {
	.logout .logout_btn {
		transition: opacity 0.07s linear;
	}
	.logout .logout_btn:hover {
		text-decoration: none;
		opacity: 0.8;
	}

	#post-content .logout.btm {
		display: none;
	}
	#footer .logout {
		margin-top: 63px;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width: 650px) {
	.logout.top {
		margin-bottom: 20px;
	}
	.logout.btm {
		margin-top: 40px;
	}
	#footer .logout {
		display: none;
	}
}

/* pagenavi
--------------------------------------------------------------------------*/
div#pager {
	text-align: center;
}
#main .wp-pagenavi a,
#main .wp-pagenavi span {
	min-width: 2em;
	display: inline-block;
	text-align: center;
	padding: 1px 5px;
	color: #333;
}
#main .wp-pagenavi a:hover,
#main .wp-pagenavi span.current {
	background-color: #333;
	color: #fff;
}
#main .wp-pagenavi span.pages {
	min-width: 55px;
}


/* side
--------------------------------------------------------------------------*/
#side div.line + div.line {
	margin-top: 30px;
}
#side h2 {
	font-size: 15px;
	margin: 0;
	padding: 0 0 0.67em 0;
}

@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {}
@media screen and (max-width : 415px) {}

/* footer
--------------------------------------------------------------------------*/
#footer {
	min-width: 1200px;
}
#footer .inner {
	width: 1200px;
}
#footer h2 {
	font-size: 1.86em;
}
#footer h2 span.en,
#footer h2 span.dbc {
	display: inline-block;
	font-weight: normal;
}
#footer h2 span.en {
	letter-spacing: 0.1em;
}
#footer h2 span.dbc {
	font-size: 0.54em;
	color: #727272;
	margin-left: 0.5em;
}

@media screen and (min-width : 651px) {}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#footer {
		min-width: 0;
	}
}
@media screen and (max-width : 415px) {}

/* footer - link
------------------------------------------------------------------- */
#footer div.line.link {
	padding: 50px 0;
}
#footer div.line.link h2 {
	padding-top: 40px;
	border-top: 1px solid #d3d3d3;
}
#footer .line.link .link{
	display: table;
	width: 100%;
}

#footer .line.link .link ul {
	display: table-cell;
	list-style-type: none;
	padding: 0;
	width: 33.333333%;
    white-space: nowrap;
}

#footer .line.link .link ul li {
}
#footer .line.link .link ul li a {
	color: #333;
	font-size: 0.86em;
	text-decoration: none;
	padding-left: 12px;
	background-image: url(../img/ico_arrow_link.png);
	background-size: 5px;
	background-position: left center;
	background-repeat: no-repeat;
}

@media screen and (min-width : 651px) {
	#footer .line.link .link ul li a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#footer .line.link .link,
	#footer .line.link .link ul {
		display: block;
		width: 100%;
		margin: 0;
	}
	#footer .line.link .link ul:first-child {
		border-top: 1px solid #e9e9e9;
	}
	#footer .line.link .link ul li {
		border-bottom: 1px solid #e9e9e9;
    	white-space: normal;
	}
	#footer .line.link .link ul li a {
		display: block;
		background-position: 95% center;
		padding: 0.5em 9% 0.5em 10px;
	}
}
@media screen and (max-width : 415px) {}

/* footer - ftnav
------------------------------------------------------------------- */
#footer div.line.info {
	padding: 60px 0 40px 0;
	background-color: #ECEEF0;
}
#footer #ftNav {
	padding: 0 0 50px 0;
	border-bottom: 1px solid #d4d4d4;
	margin-bottom: 40px;
    font-size: 0.9em;
}
#footer #ftNav ul.nav {
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
}
#footer #ftNav ul.nav li {
	display: block;
	padding: 0 1em;
}
#footer #ftNav ul.nav li a {
	display: inline-block;
	padding: 0.25em 0;
	font-size: 0.86em;
}
#footer #ftNav ul.nav > li {
	display: table-cell;
	vertical-align: top;
}
#footer #ftNav ul.nav > li:nth-child(1),
#footer #ftNav ul.nav > li:nth-child(3) {
	width: 30%;
}
#footer #ftNav ul.nav > li:nth-child(2) {
	width: 40%;
}
#footer #ftNav ul.nav > li:nth-child(2) ul.sub-menu li {
	/*width: 49%;*/
}
#footer #ftNav ul.nav > li:nth-child(2) ul.sub-menu li a {
	/*font-weight: normal;*/
}
#footer #ftNav ul.nav > li ul.sub-menu {
	padding: 0;
	margin: 0;
}
#footer #ftNav ul.nav > li ul.sub-menu li {
	padding: 0;
}
#footer #ftNav ul.nav > li:nth-child(3) ul.sub-menu li {
	display: block;
}
#footer #ftNav ul.nav > li > a,
#footer #ftNav ul.nav > li > ul.sub-menu > li > a {
	font-weight: bold;
}
#footer #ftNav ul.nav > li > ul.sub-menu > li > ul.sub-menu > li {
	display: block;
}
#footer #ftNav ul.nav li a {
	text-decoration: none;
	color: #333;
}
#footer #ftNav ul.nav li ul.children {
	margin-top: 0;
}
@media screen and (min-width : 651px) {
	#footer #ftNav ul.nav li a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width: 650px) {
	#footer div.line.info {
		padding: 0;
	}
	#footer #ftNav {
		display: none;
	}
}
@media screen and (max-width : 415px) {}

/* footer - ftNav - goTop
------------------------------------------------------------------- */
#goTop {}
#goTop a {
	display: block;
	text-decoration: none;
	text-align: center;
	line-height: 42px;
}

@media screen and (min-width : 651px) {
	#goTop {
		position: absolute;
		top: -60px;
		right: 0;
	}
	#goTop a {
		background-color: #373737;
		width: 42px;
		height: 42px;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#goTop {
		border-bottom: 1px solid #d4d4d4;
	}
	#goTop a {
		width: 100%;
		text-align: center;
		line-height: 30px;
		padding: 10px 0;
	}
	#goTop a img.sp {
		display: inline-block;
	}
}
@media screen and (max-width : 415px) {}

/* footer - btminfo
------------------------------------------------------------------- */
#footer div.line.info div.btminfo {
	display: table;
	width: 100%;
}
#footer div.line.info div.btminfo .col {
	display: table-cell;
	vertical-align: top;
}
#footer div.line.info div.btminfo .col > *:first-child { margin-top: 0; }
#footer div.line.info div.btminfo .col > *:last-child { margin-bottom: 0; }
#footer div.line.info div.btminfo .col.logo {
	width: 250px;
}
#footer div.line.info div.btminfo .col.address {
	font-size: 0.76em;
	line-height: 1.6;
	padding-left: 30px;
	width: 390px;
}
#footer div.line.info div.btminfo .col.nav {
	text-align: right;
}
#footer div.line.info div.btminfo .col.nav ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	text-align: right;
	width: 100%;
}
#footer div.line.info div.btminfo .col.nav ul li {
	display: inline-block;
	margin-right: -5px;
}
#footer div.line.info div.btminfo .col.nav ul li a {
	text-decoration: none;
	color: #333;
	font-size: 0.71em;
	position: relative;
	padding-left: 1em;
	margin-left: 1em;
}
#footer div.line.info div.btminfo .col.nav ul li:first-child a {
	margin-left: 0;
	padding-left: 0;
}

#footer p.copyright {
	font-size: 10px;
	text-align: right;
}

@media screen and (min-width : 651px) {
	#footer div.line.info div.btminfo .col.nav ul li a:hover {
		text-decoration: underline;
	}
}
@media screen and (max-width : 1399px) {}
@media screen and (max-width : 1109px) {}
@media screen and (max-width : 650px) {
	#footer div.line.info div.btminfo {
		display: block;
		margin: 30px 0;
	}
	#footer div.line.info div.btminfo .col.logo,
	#footer div.line.info div.btminfo .col.address,
	#footer div.line.info div.btminfo .col.nav {
		display: block;
		width: 100%;
		text-align: center;
		padding: 0;
	}
    #footer div.line.info div.btminfo .col.nav p {
        max-width: 250px;
    }
	#footer div.line.info div.btminfo .col.logo,
	#footer div.line.info div.btminfo .col.address {
		margin-bottom: 30px;
	}
	#footer div.line.info div.btminfo .col.nav ul {
		text-align: center;
	}
	#footer p.copyright {
		text-align: center;
	}
}
@media screen and (max-width : 415px) {}

/* clf
--------------------------------------------------------------------------*/
header:before,
header:after,
#wrapper:before,
#wrapper:after,
#main:before,
#main:after,
#side:before,
#side:after,
.inner:before,
.inner:after,
.clf:before,
.clf:after {
	display: table;
	content: " ";
}
header:after,
#wrapper:after,
#main:after,
#side:after,
.clf:after,
.inner:after,
h2,
h3 {
	clear: both;
}

/* 下層横並び2列
--------------------------------------------------------------------------*/
ul.block_2col{
	width: 655px;
	margin: 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}

ul.block_2col li{
	float: left;
	width: 305px;
	margin: 0 20px 20px 0;
}

ul.block_2col li p{
	margin: 0;
}

ul.block_2col h3{
	margin-top: 0;
}

@media screen and (max-width : 1109px) {
	ul.block_2col{
		width: 100%;
	}
	ul.block_2col li{
		float: none;
    	vertical-align: top;
		display: inline-block;
		*display: inline;
		*zoom: 1;
		margin: 0 20px 20px 0;
	}
}
@media screen and (max-width : 650px) {
	ul.block_2col{
		text-align: center;
	}
	ul.block_2col li{
		margin: 0 10px 20px;
	}
}


/* について
--------------------------------------------------------------------------*/
ul.block_3col.ass{
	width: 720px;
	margin: 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}

ul.block_3col.ass li{
	float: left;
	width: 210px;
	margin: 0 30px 35px 0;
	padding: 32px 0 20px;
	text-align: center;
	border: 1px solid #d4d4d4;
}

ul.block_3col.ass li p{
	margin: 0;
}

ul.block_3col.ass li div.img{
	margin: 0 0 25px;
}
ul.block_3col.ass li div.img img {
	width: 100%;
	max-width: 100%;
}

/* 下層横並び3列
--------------------------------------------------------------------------*/
ul.block_3col{
/*	width: 720px;
	margin: 0;
	padding: 0;
*/	list-style-type: none;
	overflow: hidden;
	display: flex;
	padding: 0;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
}

ul.block_3col li{
/*	float: left;
	width: 210px;
	margin: 0 30px 34px 0;*/
	width: 31%;
	margin-bottom: 30px;
	margin-right: 3%;
}
ul.block_3col li:nth-child(3n){
	margin-right: 0;
}
ul.block_3col li p{
	margin: 0;
}

ul.block_3col li div.img{
	margin: 0 0 10px;
}
ul.block_3col li div.img img {
	width: 282px;
	max-width: 100%;
}
ul.block_3col li div.txt{
	padding: 4px 0 0;
}

@media screen and (max-width : 1109px) {
/* 	ul.block_3col{
	width: 100%;
}
ul.block_3col li{
	float: none;
    	vertical-align: top;
	display: inline-block;
	*display: inline;
	*zoom: 1;
	margin: 0 30px 34px 0;
} */
}

@media screen and (max-width : 650px) {
	ul.block_3col{
		width: 70%;
		margin: 0 auto;
		padding: 0;
		list-style-type: none;
		overflow: hidden;
		text-align: center;
}
	ul.block_3col li{
		width: 100%;
		margin: 0 auto 30px;
	}
}

/* 下層ページ内リンク
--------------------------------------------------------------------------*/
ul.alink{
	width: 708px;
	margin: 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}

ul.alink li{
	float: left;
	margin: 0 18px 18px 0;
	background: #f6f6f6;
	text-align: center;
}

ul.alink li a{
	display: block;
	padding: 7px 35px 8px;
	color: #333;
	background: url(../img/ico_arrow_alink.png) 20px 50% no-repeat;
}

ul.alink li a:hover{
	display: block;
	padding: 7px 35px 8px;
	color: #fff;
	background: #333 url(../img/ico_arrow_alink_w.png) 20px 50% no-repeat;
}


@media screen and (max-width : 1109px) {
	ul.alink{
		width: 100%;
	}
	ul.alink li{
		float: none;
    	vertical-align: top;
		display: inline-block;
		*display: inline;
		*zoom: 1;
		margin: 0 9px 18px;
	}
}
@media screen and (max-width : 650px) {
	ul.alink{
		margin: 0 auto;
	}
	ul.alink li{
		width: auto;
		margin: 0 3% 18px;
	}
}


/* テーブルth横幅
--------------------------------------------------------------------------*/
@media screen and (min-width : 651px) {
table th.w50{ width: 50px; }
table th.w80{ width: 80px; }
table th.w100{ width: 100px; }
table th.w130{ width: 130px; }
table th.w150{ width: 150px; }
}

/* 注釈
--------------------------------------------------------------------------*/
.note_area{
	background: #fef4e3!important;
	padding: 20px;
}

.note_area p{
	margin: 0;
}

/* ご挨拶
--------------------------------------------------------------------------*/
.message_area{
	margin: 0 0 54px;
}

.message_area .namelist p{
	margin: 0;
}

ul.message_photo{
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: center;
}

ul.message_photo li{
	display: inline-block;
	*display: inline;
	*zoom: 1;
	margin: 0 30px 30px;
    max-width: 250px;
}

ul.message_photo li p{
	margin: 0;
    font-style: bold;
    color: #666;
}

ul.message_photo li div.img{
	margin: 0 0 18px;
}

ul.message_photo li div.name{
	font-size: 16px;
}

/* 理念
--------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Poppins');

.idea_area{
	margin: 35px 0 0;
	padding: 50px 45px;
	background: #f6f6f6;
}

.idea_area .tit{
	font-size: 24px;
	text-align: center;
	margin: 0 0 10px;
}

.idea_area .tit p{
	margin: 0;
}

.idea_area ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.idea_area ul li{
	padding: 23px 0 0;
	position: relative;
}

.idea_area ul li:first-child{
	padding: 0;
}

.idea_area ul li p{
	margin: 0;
}

.idea_area .num{
	position: absolute;
	left: 0;
	font-size: 24px;
	font-family: "PT Sans",'Poppins', sans-serif;
	font-style: italic;
	text-align: right;
}

.idea_area .txt{
	width: 535px;
	width: calc( 100% - 35px );
	margin: 0 0 0 35px;
	padding: 10px 0 0;
}

@media screen and (max-width : 1109px) {
	.idea_area .txt{
		float: none;
		width: auto;
	}
}
@media screen and (max-width : 650px) {
	.idea_area{
		padding: 8%;
	}
}


/* FAXからのお申し込み
--------------------------------------------------------------------------*/

.fax_area.clf {
	border: 3px solid #d4d4d4;
	padding: 27px;
 }

.fax_area .img{
	float: left;
	width: 284px;
	margin: 0 25px 0 0;
}

.fax_area p{
	margin: 0;
}

.fax_area .txt{
/* 	float: right; */
/* 	width: 381px; */
/* 	width: calc( 100% - 309px ); */
}

.fax_area .txt div.num{
	font-size: 16px;
	width: 85px;
	text-align: center;
	margin: 0 0 8px;
	float: left;
	margin-right: 16px;
}

.fax_area .txt div.num{
	font-size: 16px;
	width: 85px;
	text-align: center;
	margin: 0 16px 8px 0;
	float: left;
}

.fax_area .txt div.num p{
	font-weight: bold;
	padding: 4px 4px 3px;
	background: #383838;
	color: #fff;
}

.fax_area .txt div.tit{
	font-size: 18px;
	margin: 0 0 6px;
}

.fax_area .txt div.tit p{
	font-weight: bold;
}

.bor.clearfix {
	border-bottom: 1px solid #d4d4d4;
	padding: 0 0 20px;
	margin: 0 0 20px;
}

.fax_arrow{
	line-height: 1;
	text-align: center;
	padding: 30px 0;
}

.fax_area .fax_num{
	font-size: 22px;
	margin: 9px 0 0;
	padding: 5px 0 5px 34px;
	background: url(../img/ico_fax.png) 0 50% no-repeat;
	min-height: 24px;
}

@media screen and (max-width : 1109px) {
/*	.fax_area .img{
		float: none;
		margin: 0 auto 25px;
	}

	.fax_area .txt{
		float: none;
		width: auto;
	}*/
}
@media screen and (max-width : 650px) {

}

/* ebooks
--------------------------------------------------------------------------*/
ul.ebooks {
	display: flex;
	padding: 0;
	flex-wrap: wrap;
	/*justify-content: space-between;*/
}
ul.ebooks li {
	/*width: 22.6%;*/
	width: 22.38%;
	margin-right: 3.49%;
	list-style: none;
}
ul.ebooks li:nth-child(4n) {
	margin-right: 0;
}

ul.ebooks li div.bookcover {
	border: 1px solid #dedede;
/*	width: 100%;
	aspect-ratio: 1/1.28205128;
	overflow: hidden;*/
}
ul.ebooks li div.bookcover img {
	width: 100%;
	aspect-ratio: 1/1.37820513;
	object-fit: cover;
}
#main #post-content ul.ebooks li > *:first-child { margin-top: 0; }
#main #post-content ul.ebooks li > *:last-child { margin-bottom: 0; }
#main #post-content ul.ebooks li h3 {
	font-size: 14px;
	border-left: none;
	padding: 0.3em 1.5em;
	font-weight: normal;
	margin-bottom: 10px;
}
#main #post-content ul.ebooks li h3:after {
	content: none;
}
#main #post-content ul.ebooks li h3.link {
	background-image: url(../img/ico_arrow_link.png);
	background-size: 5px;
	background-position: 0 0.65em;
	background-repeat: no-repeat;
	padding-left: 12px;
}
#main #post-content ul.ebooks li h3 a:hover {
	text-decoration: underline;
}
#main #post-content ul.ebooks li p {
	margin-bottom: 0.5em;
	line-height: 1.5;
}

@media screen and (max-width : 650px) {
	ul.ebooks li {
		width: 45%;
		margin-right: 10%;
	}
	ul.ebooks li:nth-child(2n) {
		margin-right: 0;
	}
}

/* ebooks_login
--------------------------------------------------------------------------*/
.ebooks_login {}
.ebooks_login .btns {
	display: flex;
	width: 100%;
	align-items: center;
	margin-bottom: 16px;
}
.ebooks_login .btns button {
	width: calc((100% - 20px) / 2);
	padding: 10px;
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 5px;
	background-image: url(../img/ico_arrow_link_w.png);
}
.ebooks_login button + button {
	margin-left: 20px;
}
.ebooks_login .logged_in {
	display: inline-block;
	padding: 0.5em 2em;
	border: 1px solid #e8e8e8;
	background: #f5f5f5;
	color: #777;
}
.ebooks_login .popup {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	z-index: 100;
	display: none;
	align-items: center;
	justify-content: center;
}
.ebooks_login .popup.show {
	display: flex;
}
.ebooks_login .popup .outer_box {
	position: relative;
}
.ebooks_login .popup button.close {
	position: absolute;
	right: 0;
	bottom: 100%;
	padding: 0;
	width: 97px;
	height: 41px;
	line-height: 41px;
	background-color: #959595;
	color: #fff;
	font-size: 16px;
}
.ebooks_login .popup .in_box {
	padding: 60px 40px;
	width: 610px;
	max-width: calc(100vw - 40px);
	max-height: 90vh;
	overflow-y: auto;
	background-color: #fff;
}
.ebooks_login .popup .in_box > *:first-child { margin-top: 0; }
.ebooks_login .popup .in_box > *:last-child { margin-bottom: 0; }
.ebooks_login .popup h2 {
	text-align: center;
	margin-bottom: 34px;
}
.ebooks_login .popup .fields {
	padding: 0 20px;
}
.ebooks_login .popup .field {}
.ebooks_login .popup .field + .field {
	margin-top: 27px;
}
.ebooks_login .popup .field + .field.btn {
	margin-top: 39px;
	text-align: center;
}
.ebooks_login .popup .field input[type="text"] {
	height: 56px;
	padding: 0 19px;
	font-size: 18px;
}
.ebooks_login .popup .field button[type="submit"] {
	width: 260px;
	max-width: 100%;
	padding: 10px;
	height: 50px;
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 5px;
	background-image: url(../img/ico_arrow_link_w.png);
}
.ebooks_login .popup .field span.label {
	display: block;
	margin-bottom: 12px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
}
.ebooks_login .popup .field .msg {
	display: block;
	margin-top: 20px;
	color: #e44;
	background-color: rgba(238, 68, 68, 0.14);
	padding: 0.5em;
}
.ebooks_login .popup .field .msg.empty {
	display: none;
}
.ebooks_login .popup .field.btn .desc {
	text-align: left;
}

@media screen and (max-width : 650px) {
	.ebooks_login .popup .in_box {
		padding: 30px 20px;
	}
	.ebooks_login .popup .fields {
		padding: 0 12px;
	}
	.ebooks_login .popup .field span.label {
		font-size: 16px;
	}
}

/* search list
--------------------------------------------------------------------------*/
body.search #main #post-content ul.blog-list a {
	display: block;
}
body.search #main #post-content ul.blog-list div.txt.no-img {
	display: block;
}


/* サイトマップ
--------------------------------------------------------------------------*/
ul#sitemap{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

#sitemap li {
    clear: both;
    margin: 0 0 10px;
    padding: 0 0 10px;
    text-align: left;
    border-bottom: 1px dotted #ccc;
}
#sitemap li a {
    font-size: 1em;
    margin: 0;
    padding: 0;
    border: 0;
}

#sitemap li a:hover {
    text-decoration: underline;
}

#sitemap ul.children {
    margin: 3px 0 0 10px;
    list-style: none;
    border: 0;
}
#sitemap ul.children li {
    font-size: 1em;
    margin: 0;
    padding: 2px 0 2px 17px;
    text-align: left;
    border: 0;
    background: url(../img/sitemap_arrow.gif) no-repeat 0 5px;
}
#sitemap ul.children li ul {
    margin: 3px 0 0 13px;
    list-style: none;
}
#sitemap ul.children li ul li {
    padding-left: 17px;
    text-align: left;
    background: url(../img/sitemap_arrow.gif) no-repeat 0 5px;
}

/* 汎用
--------------------------------------------------------------------------*/

.clearfix:after {
	content: '';
	display: block;
	clear: both;
}

/* オンラインでのお申込み（個人）
--------------------------------------------------------------------------*/
@media screen and (min-width : 650px) {
  .wd30{
    width: 30%;
  }

}
/* スポンサー */
.top-titles:not(:first-child) {
    margin-top:65px
}
@media screen and (max-width: 650px) {
    .top-titles:not(:first-child) {
        margin-top:55px
    }
}
.top-sponsors__contents {
    margin-top:23px
}
/*.top-sponsors__list {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(157px, 1fr));
    row-gap:1.2rem;
    -webkit-column-gap:3rem;
    -moz-column-gap:3rem;
    column-gap:3rem
}*/
.top-sponsors__contents ul {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(157px, 1fr));
    row-gap:1.2rem;
    -webkit-column-gap:3rem;
    -moz-column-gap:3rem;
    column-gap:3rem
}
@media screen and (max-width: 768px) {
    .top-sponsors__contents ul {
        grid-template-columns:repeat(2, 1fr);
        row-gap:35px;
        -webkit-column-gap:70px;
        -moz-column-gap:70px;
        column-gap:70px
    }
}
/*.top-sponsors__item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    margin:0 auto !important
}
.top-sponsors__item img {
    max-width:100%;
    max-height:114px;
    -o-object-fit:contain;
    object-fit:contain
}*/
.top-sponsors__contents ul li {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    margin:0 auto !important
}
.top-sponsors__contents ul li img {
    max-width:100%;
    max-height:114px;
    -o-object-fit:contain;
    object-fit:contain
}
.top-sponsors__contents ul li a {
    -webkit-transition:opacity .3s;
    transition:opacity .3s
}
@media(hover: hover)and (pointer: fine) {
    .top-sponsors__contents ul li a:hover {
        opacity:.7
    }
}
table tr td p{
    margin: auto;
}
.sp_tbr td{
    border: 1px solid #999 !important;
}
.sp_tbr td:first-child,.sp_tbr td:nth-child(2) {
    text-align: center;
    min-width: 5em;
    background-color: #eee;
}



/* SIMAアドバイザーグリッド　*/
.advisor img{
    width: 90%;
    margin: auto;
    display: block;
}
.advisor > div > div {
    margin: 0.5em 0.8em;
}
.advisor p {
    margin-block-start: auto;
    font-size: 90% !important;
}
.advisor .wp-block-columns {
    width: 100%;
    padding: 0.1em 0.5em;
}
