/*
  Css Name: main
*/
#main {
  letter-spacing: 1.9px;
  line-height: 2.0;
}

#main .inner h1,
#main .inner h2,
#main .inner h3,
#main .inner h4,
#main .inner h5 {
  font-weight: bold;
  margin-bottom: 24px;
}

#main .inner h1,
#main .category-inner h1 {
  color: #009245;
  border-top: 2px solid #009245;
  font-size: 24px;
  line-height: 48px;
  margin-bottom: 0px;
  padding-bottom: 0;
  padding-top: 12px;
  letter-spacing: 0px;
}

#main .category-inner h1 {
    margin-bottom: 30px;
}

#main .inner h2 {
  position: relative;
  border-top: 2px solid #333;
  font-size: 24px;
  line-height: 48px;
  font-weight: bold;
  padding-left: 1.2em;
}
#main .inner h2:before {
  content: "■";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

#main .inner h3 {
  position: relative;
  border-top: 2px solid #333;
  font-size: 20px;
  line-height: 40px;
  padding-left: 2.2em!important;
}
#main .inner h3:before {
  content: "■■";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

#main .inner h4 {
  position: relative;
  border-top: 2px solid #333;
  font-size: 18px;
  line-height: 36px;
  padding-left: 3.2em;
}
#main .inner h4:before {
  content: "■■■";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

#main .inner h5 {
  position: relative;
  border-top: 1px solid #333;
  font-size: 16px;
  line-height: 32px;
  padding-left: 4.2em;
}
#main .inner h5:before {
  content: "■■■■";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

#main .inner .description {
  background: #efefef;
  padding: 10px;
  margin-bottom: 20px;
  overflow: auto;
}
#main .inner .description p {
  margin-bottom: 0;
}
#release #main .inner .description,
#digital #main .inner .description {
  background: #ffffff;
}

#main .inner a,
#main .inner sup,
#main .inner .footnote_plugin_link {
  color: #387EA4;
}

#main .inner sup.fn {
  top: auto;
	font-size: 15px;
	position: relative;
}

#main .inner sup.fn:before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) translateX(0);
  -webkit- transform: translateY(-50%) translateX(0);
	content: '[';
}
#main .inner sup.fn:after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) translateX(0);
  -webkit- transform: translateY(-50%) translateX(0);
	content: ']';
}
#main .inner sup.fn a{
	padding: 0 8px;
}

#main .inner ul:not(.no-bullets) {
  margin: 5px 0 20px;
}

#main .inner ol {
    margin: 5px 0 20px;
}

#main .inner ol/*,
#main .inner ol li*/ {
    padding-left: 20px;
    list-style-type: decimal;
}

#main .inner ol li  {
  padding-left: 0px;
  margin-bottom: 5px;
  line-height: 1.6;
}

#main .inner ul:not(.no-bullets),
#main .inner ul li:not([class*="header-level-"]) {
  padding-left: 20px;
  list-style-type: disc;
}
#main .inner ul li:not([class*="header-level-"])  {
  padding-left: 0px;
  margin-bottom: 5px;
  line-height: 1.6;
}
#main .inner ul li ul li {
  list-style-type: circle;
}
#main .inner .button-area ul {
  padding: 0;
}

.tag_link {
  display: block!important;
  text-align: right;
}
.tag_link a {
  font-size: 12px;
  color: #009245;
}

#tag #main .inner ul li  {
  width: 49%;
}

#toc-np-container {
    background: initial;
    border:initial;
    padding: initial;
    margin-bottom: 0;
}

#toc-np-container ul, #toc-np-container li {
    margin: initial;
    padding: initial;
}

#toc-np-container li.header-level-1 {
    font-weight: normal;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
}
#toc-np-container li.header-level-2 {
    margin-left:1em;
    margin-bottom: 0;
    padding-left: 0;
}

#toc-np-container li.header-level-3 {
    margin-left:2em;
    margin-bottom: 0;
    padding-left: 0;
}
#toc-np-container li.header-level-4 {
    margin-left:3em;
    margin-bottom: 0;
    padding-left: 0;
}
#toc-np-container li.header-level-5 {
    margin-left:4em;
    margin-bottom: 0;
    padding-left: 0;
}
#toc-np-container li.header-level-6 {
    margin-left:5em;
    margin-bottom: 0;
    padding-left: 0;
}

@media print, screen and (min-width: 768px) { /*768px以上*/
  #tag #main .inner ul li  {
    width: 31%;
  }
}


/* login-block ------------------------------------------------------------ */
#main .inner .login-block div a,
input.wpcf7-submit {
  background-color: #F4AA29;
  color: #fff!important;
  display: block;
  text-align: center;
  padding: 10px 2%;
  margin: 0 5%;
}
input.wpcf7-submit {
  margin: 0 auto;
  border: none;
  width: 200px;
}
#main .inner .login-block div:nth-child(2) a {
  background-color: #40A471;
}
#main .inner .login-block h2 {
  border: none;
  color: #009245;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.15em;
  margin-bottom: 20px;
  padding: 7px 0 5px 0px;
}
#main .inner .login-block h2:before {
  display: none;
}

@media print, screen and (min-width: 768px) { /*768px以上*/
  #main .inner .login-block div {
    width: 50%;
  }
}

/* table_npy_primary ------------------------------------------------------------ */
.table_npy_primary .div_multicheckbox p {
  margin-bottom: 0!important;
}
.table_npy_primary span {
  font-size: 80%;
}

.float-left {
  float: none!important;
}

/* 本・雑誌・新刊、電磁書籍一覧 ------------------------------------------------------------ */
#digital #main .inner .description , #release #main .inner .description { font-size: 13px; margin-bottom: 80px; }
#digital .description, #release .description,
#main .release .list_block div.croll_block .description,
#main .digital .list_block div.croll_block .description {
  line-height: 1.1;
}
#digital .description p, #release .description p,
#main .release .list_block div.croll_block .description p,
#main .digital .list_block div.croll_block .description p {
  margin-bottom: 0px;
}

#digital #main .inner .description a, #release #main .inner .description a {
  color: #009245;
}
/*
#article #main .inner .description br {
  display: none;
}
*/
#digital .description .devider,
#release .description .devider,
#main .release .list_block .devider,
#main .release .list_block .devider {
  margin: 10px 0;
  clear: both;
}
#digital .description .alignleft,
#release .description .alignleft,
#main .release .list_block .alignleft,
#main .release .list_block .alignleft {
  float: none;
  margin-top: 10px;
  margin-right: 15px;
}
#digital .description img,
#release .description img,
#main .release .list_block img,
#main .release .list_block img {
  margin-bottom: 10px;
  vertical-align: middle;
}
/* footnote_plugin_tooltip_text ------------------------------------------------------------ */
.footnote_plugin_tooltip_text {
  top: 1.7em!important;
  font-size: 60%!important;
  margin: 0 3px;
}

blockquote {
  position: relative;
  padding: 30px 15px 8px 15px;
  box-sizing: border-box;
  background: #efefef;
  color: #555;
  margin: 20px 0px;
}
blockquote:before{
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 3px;
  vertical-align: middle;
  content: "“";
  color: #cfcfcf;
  font-size: 90px;
  line-height: 1;
}
blockquote p {
  padding: 0;
  margin: 10px 0;
  line-height: 1.7;
}

blockquote cite {
  display: block;
  text-align: right;
  color: #888888;
  font-size: 0.9em;
}

iframe {
  max-width: 100%;
}

/* kiyaku_text ------------------------------------------------------------ */
.kiyaku_text {
  font-family: "Noto Sans Japanese", Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', meiryo, 'メイリオ', 'ms pgothic', sans-serif !important;
  color: #666;
  margin: 0 0 20px;
  padding: 10px 20px;
  border: solid 1px #ccc;
  width: 100%;
  height: 300px;

}
.table_npy_primary {
  table-layout: fixed;
}
.table_npy_primary th {
  white-space: nowrap;
  width: 150px;
}
@media print, screen and (max-width: 768px) { /*768px以上*/
  .table_npy_primary th,
  .table_npy_primary td {
    display: block;
    width: 100%;
    margin: 10px 0;
  }
  .table_npy_primary th {
    padding: 10px 0;
  }
  .table_npy_primary tr {
    border-bottom: none;
  }
}

/* はてなブックマークアイコン作成 */
.fa-hatena:before {
  content: "B!";
  font-family: Verdana;
  font-weight: bold
}
 
/* シェアボタンを表示する箇所位置調整 */
.button-area {
  text-align: center;
  margin-bottom:2em;
}
 
/* タイトル表示設定 */
.button-area-title {
  text-align: center;
  padding:1em;
}
 
/* SNSシェアボタンの共通設定 */
.button-area li a {
  font-size: 14px;
  padding: 0 4px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-radius: 4px; /* 丸み調整 */
  box-shadow: 0px 2px 4px 0 rgba(0,0,0,.26); /* シャドー作成 */
}
 
/* SNSごとの背景色 */
.twitter a {
  background-color: #000;
}
.facebook a {
  background-color: #3b5998;
}
.hatena a {
  background-color: #008fde;
}
.google-plus a {
  background-color: #dd4b39;
}
.pocket a {
  background-color: #ea5a6c;
}
.line a {
  background-color: #00B900;
}

.mail a {
  background-color: #F36C1C;
}
 
/* リスト「・」の削除 */
.button-area ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ボタンの幅と余白を設定 */
.button-area li {
  float: right;
  width: 8%;
  margin: 0 0.5%;
  list-style: none!important;
}
 
.button-area  ul:after {
  display: block;
  clear: both;
  content: '';
}
 
/* ボタンにカーソルを合わせた時の表示設定 */
.button-area li a:hover {
  -ms-transform: translateY(4px);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  box-shadow: none;
}

.button-area i {
  color: #fff;
}

/* 脚注 */
.footnote_container_prepare > p {
  padding-bottom: 10px!important;
}
.footnote_container_prepare > p > span:first-child {
  padding-left: 20px!important;
  font-size: 15px!important;
}

.newMark img {
  display: inline-block;
  margin: 4px 5px;
  max-width: 40px;
}

#main .inner .fancybox.image {
  position: relative;
  display: block;
  height: 100%;
}

#main .inner .fancybox.image span.zoom-icon {
  position: absolute;
  color: #333;
  opacity: 0.75;
  font-size: 20px;
  top:0;
  display: flex;
  justify-self: start;
}

#main .inner table:not(.table_npy_default):not(.footnote-reference-container) th,
#main .inner table:not(.table_npy_default):not(.footnote-reference-container) td
{
  border: solid 1px #000;
}

/* 要望まとめ25:同じタグの前後の記事 */
.tag-nav {
  margin-bottom: 30px;
}
.tag-nav ul.tag-nav-list li.tag-nav-ttl {
  list-style-type: none !important;
}
.tag-nav ul.tag-nav-list li.tag-nav-ttl a {
  color: #009245 !important;
  font-weight: 500;
}

/* 要望まとめ24:関連記事・おすすめ記事・よく見られている記事・閲覧履歴・お気に入りリスト */
.related-posts ul.related-list {
  display: flex;
}

.related-posts ul.related-list li {
  width: 25%;
  margin-right: 10px;
  list-style-type: none !important;
}

#page-40771 ul.related-list,
#page-40775 ul.favorites-list {
  display: flex;
  flex-wrap: wrap;
}

#page-40771 ul.related-list li {
  width: calc( 25% - 10px );
  margin-right: 10px;
  list-style-type: none !important;
	box-sizing: border-box;
  margin-bottom: 20px !important;
}
#page-40775 ul.favorites-list li {
  width: calc( 50% - 10px );
  margin-right: 10px;
  list-style-type: none !important;
	box-sizing: border-box;
  margin-bottom: 20px !important;
	border: none;/*
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;*/
}
#page-40775 ul.favorites-list li p {
  width: 100%;
	display: inline-block;
  margin-bottom: 0 !important;
  text-align: center;
}
#page-40775 ul.favorites-list li p:nth-of-type(2) {
  text-align: left;
	display: block;
  margin-bottom: 10px !important;
}

.related-posts ul.related-list li:last-child,
#page-40771 ul.related-list li:last-child,
#page-40775 ul.favorites-list li:last-child {
  margin-right: 0;
}

.related-posts ul.related-list li a .related-thumb {
  text-align: center;
  margin-bottom: 10px;
}

.related-posts ul.related-list li a .related-title,
#page-40771 ul.related-list li a,
#page-40775 ul.favorites-list li a {
  color: #009245;
  font-weight: 500;
}

#page-40771 ul.related-list li a img {
  text-align: center;
  margin-bottom: 10px;
	width: 100% !important;
}
#page-40775 ul.favorites-list li img {
  margin: 0 auto 10px auto !important;
	float: none !important;
}

/* 要望まとめ26:会員（有料／無料）登録するとあと何字読めるかの表示 *//*
.swpm-more-tag-not-logged-in {
  display: none;
}*/

/*お気に入りボタン*/
.simplefavorite-button {
	padding: 10px 20px;
	margin-bottom: 20px;
	display: inline-block;
	border-radius: 4px;
	width: 200px;
	text-align: center;
}
#page-40775 .simplefavorite-button {
	width: 100%;
}

.simplefavorites-clear {
	padding: 10px 20px;
	margin-bottom: 20px;
	display: inline-block;
	border-radius: 4px;
	width: auto;
	text-align: center;
	background: #eee;
	border: 1px solid #333;
	color: #333;
}

/*目次内のお気に入りボタン非表示*/
#toc .simplefavorite-button {
	display: none;
}

/*コンタクトフォーム*/
#contact .wpcf7-form {
	max-width: 960px;
	width: 100%;
	background: #fff;
	padding: 30px;
	margin-right: auto !important;
	margin-left: auto !important;
}
#contact .wpcf7-list-item {
	line-height: 2.4em;
}
#contact .wpcf7-form p {
	margin-bottom: 0 !important;
}
#contact .cf7-item {
display: flex;
align-items: center;/*
align-items: flex-start;*/
justify-content: flex-start;
margin: 0 0 40px;
}
#contact .cf7-q {
	width: 30%;
	font-weight: bold;
}
#contact .cf7-a {
	width: 70%;
	padding-left: 20px;
}
#contact .wpcf7-form select,
#contact .wpcf7-form input,
#contact .wpcf7-form textarea {
	padding: 16px 12px;
	background: #efefef;
	border: none;
	width: 100%;
}
#contact .wpcf7-form input[type=radio] {
	width: auto;
}
#contact .wpcf7-form ::placeholder {
	color: #bbb !important;
}
#contact .wpcf7-form select {
	padding: 20px 8px !important;
}
#contact .wpcf7-form input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  padding: 0;
  background-color: transparent;
  background-image: none;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	border: 2px solid #F4AA29;
	background: #F4AA29;
	height: 60px;
	max-width: 300px;
	width: 90%;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	position: relative;
	margin: 20px auto ;
	letter-spacing: 1px;
}
#contact .wpcf7-form input[type=submit]:hover,
#contact input[type=submit]:focus {
  outline: none;
	opacity: 0.8;
}
#contact .wpcf7-form input[type=submit]::-moz-focus-inner {
  border: none;
  padding: 0;
}
#contact .wpcf7-form span[data-name="your-acceptance"] input {
	width: auto;
	margin-right: 10px;
}

/*　必須ラベル　*/
#contact .cf7-q p {
	display:flex;
	justify-content: space-between;
	align-items: center;
}
#contact .cf7-req{
	font-size:.8em;
	padding: 2px 6px;
	border: 1px solid #8c1a11;
	color: #8c1a11;
}
@media only screen and (max-width: 991px) {
#contact .wpcf7-form {
	padding: 15px;
}
#contact .cf7-item {
	display: block;
}
#contact .cf7-q {
	width: 100%;
	margin: 0 0 10px 0;
}
#contact .cf7-a {
	width: 100%;
	padding-left: 0;
}
}
/* 数式冒頭文 */
.h-0 {
	height: 0;
	margin-bottom: 0;
}