@charset "utf-8";

/*ロゴテーマカラー
 * オレンジ#E9881E
 * ネイビー#0F3E64
 * */

/*reset*/
h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form {
  margin: 0;
  padding: 0;
  border: none;
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
  text-align: left;
}

html {
  font-size: 100%;
  scroll-snap-type: y proximity;
  scroll-padding-top: 80px;
}

body {
  width: 100%;
  height: 100%;
  background-color: #fff;
  font-size: 16px;
  line-height: 1.4;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  overflow-wrap: break-word;
  word-break: normal;
  color: #333;
  -webkit-font-smoothing: antialiased;
}

* {
  padding: 0;
  margin: 0;
}

li {
  list-style-type: none;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom; /* 画像下の隙間対策 */
}

a img {
  border: none;
}
figure.wp-block-image {
  margin: 0;
margin-bottom:1em;
}
article p {
  margin-bottom: 2em;
}

/*********
パンくず
***********/
div#pan {
  width: 1116px;
  margin: 0 auto;
  background-color: #fff;
  margin-bottom: 60px;
  min-height: 28px;
  padding-top: 6px;
  font-size: 0.8em;
  margin-top: 80px;
}

.breadcrumb {
  margin: 0 0 15px;
  overflow: hidden;
  font-size: 12px;
  line-height: 22px;
  padding: 0;
}

.breadcrumb li {
  float: left;
  margin-left: 10px;
}

.breadcrumb li a {
  text-decoration: none;
}

.breadcrumb li a:hover {
  text-decoration: underline;
}

/**********
pagetop
**********/
.pagetop {
  visibility: 0;
  opacity: .6;
  position: fixed;
  bottom: 50px;
  right: 50px;
  color: #fff;
  transition: opacity 0.3s;
}

.pagetop span {
  display: block;
  border-radius: 25px;
  background: #bbb;
  width: 50px;
  height: 50px;
  text-align: center;
  line-height: 40px;
  font-size: 36px;
}

.pagetop span i {
  color: #fff;
}

.pagetop.show {
  visibility: visible;
  opacity: .8;
}

/**********
レイアウト
**********/
div#content {
  width: 1116px;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  margin-top: 60px;
  margin-bottom: 90px;
  padding-bottom: 10px;
}

div#main {
  width: 720px;
  float: left;
  display: inline;
  word-break: break-all;
}

div#wrap {
  width: 640px;
  display: block;
}

#side {
  width: 376px;
  float: right;
  display: inline;
}

#footer {
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  position: relative;
  overflow: hidden;
  padding-top: 30px;
}

div#foot {
  width: 1116px;
  min-height: 160px;
  margin: 0 auto;
  word-break: break-all;
}

/**********
Google adsense
**********/
/**single**/
div#ads_pc_unit {
  width: 700px;
  position: relative;
  overflow: hidden;
}

p.text_spon {
  width: 100%;
  text-align: center;
  font-size: 0.8em;
  color: #999;
}

div#ads_pc_l {
  width: 336px;
  float: left;
  display: inline;
  margin-right: 10px;
}

div#ads_pc_r {
  width: 336px;
  float: right;
  display: inline;
}

/**all**/
article.all_post_ads {
  width: 640px;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 20px;
  border-bottom: solid 1px #e1e1e1;
}

/**related**/
div.related_area_ads {
  width: 48%;
  display: inline-block;
  box-sizing: border-box;
  padding: 0 20px 32px;
  vertical-align: top;
}

/**********
header
**********/
#header {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .02), 0 2px 10px 0 rgba(0, 0, 0, .1);
  z-index: 99;
  width: 100%;
  height: 80px;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
}
.h_logo {
  width: 80px;
}
.h_logo img {
    width: 80px !important; /* !important をつけると確実に効きます */
    height: auto !important;
}

div.container {
  width: 1116px;
  margin: 0 auto;
}

#h_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
margin-top:10px;
}
#gNav ul {
  position: relative;
  display: flex;
}

#gNav li {
  position: relative;
  margin-right: 3em;
}

#gNav li a {
  position: relative;
  display: block;
  text-align: center;
  line-height: 60px;
  font-size: 0.86em;
font-weight:bold;
}

#gNav li a:link,
#gNav li a:visited {
  color: #0F3E64;
}

#gNav li a:hover,
#gNav li a:active {
  color: #736d71;
}

#gNav .sub-menu {
  visibility: hidden;
  opacity: 0;
  z-index: 1;
  display: block;
  position: absolute;
  top: 60px;
  left: 50%;
  margin-left: -100px;
  width: 200px;
  transition: all .2s ease;
}

#gNav .sub-menu li a:link,
#gNav .sub-menu li a:visited {
  display: block;
  border-bottom: none;
  text-align: left;
  padding: 20px;
  line-height: 1.2em;
	  color: #0F3E64;
}

#gNav .sub-menu a:hover:after {
  content: none;
}

#gNav .sub-menu li {
  display: block;
  font-size: 16px;
  padding: 0;
  margin: 0;
}

#gNav .sub-menu li.sub-sub a {
  padding-left: 36px;
}

#gNav .sub-menu li:last-child {
  border-bottom: none;
}

#gNav ul > li:hover {
  transition: all .5s;
}

#gNav ul > li:hover a,
#gNav .current-menu-item a,
#gNav .current-menu-parent a {
  color: #736d71;
}

#gNav li:hover ul.sub-menu {
  top: 60px;
  visibility: visible;
  opacity: 1;
  z-index: 9999;
}

#gNav li ul li:after {
  content: none;
}

#gNav li:hover ul.sub-menu a {
  color: #0F3E64;
}

#gNav .sub-menu li a:hover {
  background: #fff;
}

#gNav .contact_btn a:hover {
  color: #fff;
}

nav .sub-menu,
.mean-container .mean-nav ul ul {
  background: #fff5c9;
}


/*********
footer
**********/
div#bottom_section {
  width: 100%;
  margin: 0 auto;
  padding: 150px 0;
  background: url(img/bg_sf0.webp);
  background-size: cover;
  background-position: center center;
}

div.bot_cat_area {
  width: 100%;
  padding-bottom: 60px;
  background: #fff5c9;
}

div.bottom_cat {
  width: 1116px;
  display: table;
  margin: 0 auto;
  margin-top: 30px;
}

div.tab2 {
  display: table-cell;
  width: 558px;
}

div.tab2-1 {
  display: table-cell;
  width: 279px;
  text-align: center;
}

div.tab2-1 img {
  width: 240px;
  height: auto;
  margin: 0 auto;
}

div.in_bottom {
  width: 1116px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  padding-top: 60px;
  padding-bottom: 60px;
}

div.l_bottom {
  width: 336px;
  float: left;
  display: inline;
  margin-right: 54px;
}

div.c_bottom {
  width: 336px;
  float: left;
  display: inline;
  margin-right: 54px;
}

div.r_bottom {
  width: 336px;
  float: left;
  display: inline;
}

p.foot_wij_tit {
  color: #000;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}

p.foot_wij_tit:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 2px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #000;
  border-radius: 2px;
}

div.foot_wij label {
  display: none;
}

div.foot_wij select#archives-dropdown-2 {
  width: 240px;
  height: 34px;
  background-color: #fff;
  border: none;
  color: #000;
  margin-top: 10px;
  margin-left: 11px;
}

div#logo_foot a img {
  width: 180px;
  margin: 0 auto;
  display: block;
}

footer#footer ul {
  margin-top: 20px;
  text-align: center;
}

footer#footer ul li {
  display: inline-block;
  margin: 15px;
  margin-bottom: -15px;
}

p#copyR {
  font-size: 0.86em;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 15px;
}

/*********
sidebar
***********/
#side_in {
  width: 336px;
  margin: 0 auto;
}

p.sub_tit {
  color: #333;
  font-size: 18px;
  font-weight: bold;
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}

p.sub_tit:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 2px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  border-radius: 2px;
}

div.sidebar_conts {
  margin-top: 20px;
  margin-bottom: 30px;
}

ul.side_catch_ul {
  width: 336px;
}

ul.side_catch_ul li {
  width: 336px;
  min-height: 65px;
  display: block;
  border-bottom: solid 1px #f1f1f1;
  padding: 12px 0;
}

ul.side_catch_ul li a.catch_small {
  width: 100px;
  display: block;
  float: left;
  height: 60px;
  overflow: hidden;
}

img.side_catch_img {
  max-height: 60px;
  object-fit: cover;
}

ul.side_catch_ul li a.tit_small {
  width: 224px;
  float: right;
}

a.tit_small {
  font-weight: bold;
  padding-right: 4px;
}

a.tit_small:link,
a.tit_small:visited {
  color: #000;
}

a.tit_small:hover,
a.tit_small:active {
  color: #736d71;
}

div.sidebar_conts ul li {
  margin-left: 1em;
  margin-top: 6px;
}

/**********
side-matome
**********/
#side_matome {
  width: 100%;
  margin: 0 auto;
  margin-top: 30px;
}

div.bana_m_hpb {
  width: 600px;
  margin-top: 15px;
}

div#bana50 {
  display: table;
  width: 640px;
}

div.bana_50 {
  display: table-cell;
  width: 50%;
}

.bana_50 a img {
  width: 300px;
  display: block;
}

/***********
リンク
************/
a {
  color: #333;
  text-decoration: none;
  transition: all 0.5s;
}

a:link,
a:visited {
  color: #333;
}

a:hover,
a:active {
  color: #999;
}

a img {
  background-color: none;
}

a:hover img {
  opacity: 0.6;
  background: none !important;
}

section.single_content a {
  color: #0F3E64;
  text-decoration: underline;
  transition: all 0.5s;
}

section.single_content a:link,
section.single_content a:visited {
  color: #0F3E64;
}

section.single_content a:hover,
section.single_content a:active {
  color: #999;
}

/*******
ランダム記事エリア
*******/
div.rand_area {
  width: 1116px;
  display: table;
  margin: 0 auto;
}

div.top_rand {
  width: 19%;
  display: table-cell;
}

div.rand_box {
  width: 208px;
  display: block;
}

div.rand_box img.rand_img {
  width: 188px;
  height: auto;
  font-size: 0.8em;
  font-weight: bold;
}

div.rand_box a {
  width: 188px;
  display: block;
  margin: 0 auto;
  font-size: 0.8em;
  font-weight: bold;
}

div.rand_box a span.rand_tit {
  display: block;
  width: 174px;
  margin: 0 auto;
}

/*******
PICKUPエリア
*******/
#pickarea {
  width: 336px;
  position: relative;
  margin: 0 auto;
  margin-bottom: 15px;
  background: #fff5c9;
  padding-top: 10px;
}

p.pick_tit {
  color: #000;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  position: relative;
  z-index: 2;
  padding: 0 .4em 0 .4em;
  margin-bottom: 10px;
  margin-left: 5px;
}

p.pick_tit::after {
  position: absolute;
  top: 18px;
  left: 0;
  z-index: -1;
  content: '';
  width: 100%;
  height: 8px;
  background-color: #fecb6e;
}

p.pick_tit span.pick_tit_ex {
  font-size: 0.8em;
}

div.pick_box {
  width: 94%;
  margin: 0 auto;
  position: relative;
  padding: 0;
  margin-bottom: 10px;
}

div.pick_box:before {
  content: '';
  display: block;
  position: absolute;
  background: rgba(255, 255, 255, 0.6);
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, #fff 100%);
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 55%;
}

div.pick_thum {
  width: 100%;
  float: none;
}

a.pick_catch_small {
  display: block;
  text-align: center;
}

div.pick_box h3 {
  margin-left: 0;
  left: 20px;
  right: 20px;
  bottom: 22px;
  position: absolute;
}

/*******
タイトルデザイン
*******/
div.tit_box {
  margin-bottom: 60px;
  font-size: 20px;
}

div.big_tit_box {
  background: #fecb6e;
  padding: 0.5em;
  color: #333;
}

.big_tit {
  font-weight: bold;
  letter-spacing: 0.08em;
  padding: 0 0 14px;
  margin: 0 0 14px;
  position: relative;
  text-align: center;
}

.big_tit:before {
  content: " ";
  display: block;
  position: absolute;
  width: 50px;
  height: 2px;
  background: #555;
  left: 50%;
  bottom: 0;
  margin-left: -25px;
}
p.big_tit {
  font-weight: bold;
  letter-spacing: 0.08em;
  padding: 0 0 14px;
  margin: 0 0 14px;
  position: relative;
  text-align: center;
}

p.big_tit:before {
  content: " ";
  display: block;
  position: absolute;
  width: 50px;
  height: 2px;
  background: #555;
  left: 50%;
  bottom: 0;
  margin-left: -25px;
}

p.big_tit_text {
  font-size: 0.7em;
  text-align: center;
  font-weight: bold;
}

div.center {
  margin: 0 auto;
  text-align: center;
}

/****button,font****/
div.but_area {
  position: relative;
  text-align: center;
}

a.but_white {
  color: #0F3E64;
  letter-spacing: 0.2em;
  display: inline-block;
  box-sizing: border-box;
  padding: 10px 20px;
  border: solid 2px #0F3E64;
}

a.but_white:hover {
  color: #736d71;
  letter-spacing: 0.2em;
  display: inline-block;
  box-sizing: border-box;
  padding: 10px 20px;
  border: solid 2px #736d71;
}

.f_bold {
  font-weight: bold;
}


/*******
記事一覧
*******/
article.all_post {
  width: 640px;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 20px;
  border-bottom: solid 1px #f1f1f1;
  position: relative;
  overflow: hidden;
  zoom: 1;
}

section.allpost_text {
  width: 240px;
  float: left;
  display: inline;
}

section.allpost_text p img {
  display: none;
}

img.catch_img {
  width: 240px;
  height: 160px;
  object-fit: cover;
}

header.post_header {
  width: 380px;
  float: right;
  display: inline;
}

h2.allpost_title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

article p {
  margin-bottom: 2em;
}

header.post_header p {
  margin-bottom: 1em;
}

div.allpost_catdate {
  width: 380px;
  height: 26px;
  text-align: right;
}

div.allpost_catdate p {
  display: inline-block;
  margin: 0;
  line-height: 1.1;
  padding: 2px 4px;
  background-color: #f1f2f3;
}

p.allpost_cat a {
  font-size: 0.86em;
  display: inline-block;
}

/********
記事
*********/
header.post-header {
  margin-bottom: 25px;
  padding: 14px;
  border-bottom: 3px solid #fecb6e;
  background: #fff5c9;
}

article.single_post h1, .single_content h1, .single_content h2, .single_content h3, .single_content h4, .single_content h5, .single_content h6 {
  font-weight: bold;
  line-height: 1.4;
}

article.single_post h1, .single_content h1 {
  font-size: 36px;
  margin: 10px 0;
  clear: both;
}

.single_content h2 {
  color: #333;
  font-size: 28px;
  margin: 2em 0 1em;
  padding: 14px;
  background-color: #fecb6e;
  border-top: double 6px #fff5c9;
  border-bottom: double 6px #fff5c9;
}

.single_content h3 {
  font-size: 24px;
  margin: 2em 0 1em;
  border-top: 3px solid #fecb6e;
  border-bottom: 3px solid #fecb6e;
  padding: 12px 12px;
}

.single_content h4 {
  font-size: 18px;
  margin: 2em 0 1em;
  border-bottom: dashed 2px #fecb6e;
  padding: 0 10px;
}

.single_content h5 {
  font-size: 18px;
  margin: 2em 0 1em;
  position: relative;
  padding: 0 0 0 20px;
  display: flex;
  align-items: center;
}

.single_content h5::after {
  position: absolute;
  content: '';
  left: 0;
  width: 12px;
  height: 12px;
  background-color: #fecb6e;
}

.single_content h6 {
  font-size: 16px;
  display: inline-block;
  margin: 2em 0 1em;
  border-bottom: dashed 2px #fecb6e;
}

div.single_in {
  width: 730px;
}

.single_content figure img {
  display: block;
  width: 100%;
}

article.single_post {
  width: 640px;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 20px;
}

p.single_date {
  width: 640px;
  text-align: right;
}

section.single_content p {
  box-sizing: border-box;
  padding: 0;
}

section.single_content div.back01 {
  width: 600px;
  margin: 10px auto;
  background-color: #f3f3f3;
  box-sizing: border-box;
  padding: 15px 10px;
}

.single_content ul,
section.single_content ol {
  margin: 0 0 2em;
  padding: 0 0 0 42px;
}

.single_content ul li {
  list-style: disc;
  margin: 6px 0;
}

.single_content ol li {
  list-style: decimal;
  margin: 6px 0;
}

li.single_date {
  font-size: 0.76em;
  float: none;
  display: inline-block;
  margin: 0;
  line-height: 1.1;
}

li.category {
  font-size: 0.76em;
  display: inline-block;
  margin: 0;
  line-height: 1.1;
  padding: 2px 4px;
  border: 1px dotted #333;
}

li.single_date:first-child {
  border-right: 1px solid #888;
  margin-right: 8px;
  padding-right: 12px;
}

blockquote {
    position: relative;
    padding: 10px 15px 10px 50px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
	margin-top:-1em;
	margin-bottom:2em;
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: 10px;
    left: -3px;
    content: "“";
    font-family: sans-serif;
    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;
}

i.fa.fa-check-square {
  font-size: 20px;
  color: #e95388;
  margin-right: 10px;
}

section.single_content ul.excheck > li:before {
  content: "\f14a";
  font-family: FontAwesome;
  color: #e95388;
  float: left;
  margin-right: .25em;
  margin-left: -1.25em;
  font-size: 20px;
  position: relative;
  top: -5px;
}

section.single_content ul.excheck li {
  list-style: none;
}

span.space1 {
  display: block;
  margin-bottom: 1em;
}

p.category {
  font-size: 0.8em;
  border: solid 1px #e1e1e1;
  background-color: #fff;
  display: inline-block;
  padding: 2px 6px;
  margin-bottom: 6px;
}

div#preNext {
  display: table;
  table-layout: fixed;
  width: 730px;
  border-top: solid 1px #e1e1e1;
  border-bottom: solid 1px #e1e1e1;
  padding: 20px 10px;
  margin-top: 90px;
  box-sizing: border-box;
}

div.next,
div.prev {
  display: table-cell;
  vertical-align: middle;
}

div.next a,
div.prev a {
  display: block;
  width: 350px;
  text-decoration: underline;
}

span.arrow_l {
  display: block;
  position: relative;
  padding: 10px 30px 10px 40px;
  text-decoration: none;
}

span.arrow_l:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 2px;
  width: 22px;
  height: 22px;
  margin: -4px 0 0 0;
  border-bottom: solid 1px #eee9e6;
  border-left: solid 1px #eee9e6;
  transform: rotate(45deg);
}

span.arrow_r {
  display: block;
  position: relative;
  padding: 10px 40px 10px 30px;
  text-decoration: none;
}

span.arrow_r:after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 2px;
  width: 22px;
  height: 22px;
  margin: -4px 0 0 0;
  border-top: solid 1px #eee9e6;
  border-right: solid 1px #eee9e6;
  transform: rotate(45deg);
}

.f_bold {
  font-weight: bold;
}

.f_size20 {
  font-size: 20px;
  font-weight: bold;
}

.noborder {
  border: none;
}

/**投稿中の表デザイン**/
figure.wp-block-table {
  margin: 0;
  margin-bottom: 1em;
}

/*-------- 色指定 ---------*/
:root {
  --s-text: #333; /*文字の色*/
  --s-line: #333; /*線の色*/
  --s-bg1: #eaf4fc; /*ストライプ背景の色*/
  --c-text: #333; /*文字の色*/
  --c-line: #ff7f7f; /*線の色*/
  --c-bg1: #fff0f5; /*ストライプ背景の色*/
  --h-text: #333; /*文字の色*/
  --h-line: #fecb6e; /*線の色*/
  --h-bg1: #fff5c9; /*ストライプ背景の色*/
}

.simple-table {
  color: var(--s-text);
  background-color: white;
  border: 1px solid var(--s-line);
}

.simple-table thead {
  border-bottom: 1px solid var(--s-line);
}

.simple-table thead tr th {
  font-weight: bold;
  border-bottom: 2px solid var(--s-line);
}

.simple-table th,
.simple-table tr:nth-child(even) {
  background-color: var(--s-bg1);
}

.simple-table table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

.simple-table table td,
.simple-table table th {
  padding: 16px;
  text-align: center;
  border: solid 1px var(--s-line);
}

/*-------- 薄ピンクのベースの表 色指定 ---------*/
.cute-table {
  color: var(--c-text);
  background-color: white;
  border: 1px solid var(--c-line);
}

.cute-table thead {
  border-bottom: 1px solid var(--c-line);
}

.cute-table thead tr th {
  font-weight: bold;
  border-bottom: 2px solid var(--c-line);
}

.cute-table th,
.cute-table tr:nth-child(even) {
  background-color: var(--c-bg1);
}

.cute-table table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

.cute-table table td,
.cute-table table th {
  padding: 16px;
  text-align: center;
  border: solid 1px var(--c-line);
}

/*-------- 黄色のベースの表 色指定 ---------*/
.hot-table {
  color: var(--h-text);
  background-color: white;
  border: 1px solid var(--h-line);
}

.hot-table thead {
  border-bottom: 1px solid var(--h-line);
}

.hot-table thead tr th {
  font-weight: bold;
  border-bottom: 2px solid var(--h-line);
}

.hot-table th,
.hot-table tr:nth-child(even) {
  background-color: var(--h-bg1);
}

.hot-table table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

.hot-table table td,
.hot-table table th {
  padding: 16px;
  text-align: center;
  border: solid 1px var(--h-line);
}

/**投稿の目次**/
.wp-block-simpletoc-toc {
  margin-bottom: 30px;
  border: 2px solid #fecb6e;
  border-radius: 3px;
}

.simpletoc-title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 10px 0;
  background-color: #fecb6e;
  color: #666;
  font-weight: 600;
  font-size: 1em;
}

ul.simpletoc-list li a:link,
ul.simpletoc-list li a:visited {
  color: #0F3E64;
  text-decoration: none;
}

ul.simpletoc-list li a:hover,
ul.simpletoc-list li a:active {
  color: #999;
  text-decoration: none;
}

ul.simpletoc-list {
  list-style-type: none;
  counter-reset: order 0;
  margin: 10px 0;
  padding: 10px 24px 6px 24px;
}

ul.simpletoc-list li {
  font-weight: bold;
  counter-increment: order;
  padding-left: 32px;
  position: relative;
  list-style-type: none;
}

ul.simpletoc-list li::before {
  color: #0F3E64;
  content: counter(order, decimal-leading-zero)".";
  display: block;
  font-family: "Open Sans", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
  left: 0;
  top: 0;
  position: absolute;
}

ul.simpletoc-list li ul {
  margin: 0;
  padding: 0px;
  position: relative;
}

ul.simpletoc-list li ul li ul {
  margin: 0;
  padding-left: 16px;
  position: relative;
}

ul.simpletoc-list li ul li {
  font-weight: normal;
  font-size: 0.86em;
  list-style-type: none;
  color: #0F3E64;
  position: relative;
  padding-left: 20px;
}

ul.simpletoc-list li ul li ul li::before {
  content: '';
  display: none;
  position: relative;
}

ul.simpletoc-list li ul li::before {
  background: #0F3E64;
  border-radius: 2px;
  display: block;
  content: "";
  height: 2px;
  left: -16px;
  top: 12px;
  width: 8px;
  position: relative;
}

ul.simpletoc-list li ul li ul li {
  font-weight: normal;
  font-size: 1em;
  list-style-type: square;
  color: #0F3E64;
  position: relative;
  padding: 0px;
}

/*****次の記事へ誘導するバナーの基本設定 *****/
.denki-next-banner {
    position: relative;
    background: #fdf8f2; /* 温かみのある薄いベージュ */
    border: 2px solid #ff9d42; /* 親しみやすいオレンジ */
    border-radius: 12px;
    padding: 30px 20px 20px;
    margin: 40px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    overflow: hidden;
}

/* 「NEXT STEP」のバッジ */
.banner-badge {
    position: absolute;
    top: 0;
    left: 0;
    background: #ff9d42;
    color: #fff;
    padding: 4px 15px;
    font-size: 12px;
    font-weight: bold;
    border-bottom-right-radius: 12px;
}

/* テキスト部分の調整 */
.banner-content {
    text-align: center;
}

.banner-subtitle {
    font-size: 14px;
    color: #e67e22;
    margin: 0 0 10px 0;
    font-weight: bold;
}

.banner-title {
    font-size: 20px;
    color: #333;
    margin: 0 0 12px 0 !important;
    line-height: 1.4;
    font-weight: bold;
}

.banner-text {
    font-size: 15px;
    color: #666;
    margin-bottom: 20px;
    line-height: 1.6;
}

/* ボタンのデザイン */
.banner-button {
    display: inline-block;
    background: #ff9d42;
    color: #fff !important;
    padding: 12px 30px;
    border-radius: 50px;
    text-decoration: none !important;
    font-weight: bold;
    transition: all 0.3s ease;
    box-shadow: 0 4px 0 #d35400; /* 立体感 */
}

.banner-button:hover {
    background: #ffad5c;
    transform: translateY(-2px);
    box-shadow: 0 6px 0 #d35400;
}

.banner-button span {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.banner-button:hover span {
    transform: translateX(5px);
}

/* レスポンシブ（PC表示の調整） */
@media screen and (min-width: 768px) {
    .denki-next-banner {
        padding: 40px 40px 30px;
    }
    .banner-title {
        font-size: 24px;
    }
}
/*****次の記事へ誘導するバナーの基本設定 終わり*****/


/*--------------------------------
PREV NEXT
---------------------------------*/
#prev_next{
width:100%;
margin: 36px 0 24px;
padding:0;
display: table;
margin-top:45px;
margin-bottom:30px;
}
#prev_next  #prev, #prev_next  #next{
width: 50%;
padding:30px 10px 10px;
border-top:#ccc 1px solid;
border-bottom:#ccc 1px solid;
display: table-cell;
position:relative;
text-decoration:none;
}
#prev_next #prev p, #prev_next #next p{
font-size:90%;
line-height:1.5;
}
#prev_next #prev:hover, #prev_next #next:hover{
background-color: rgba(238,238,238,0.7);
}
#prev_next #prev{
border-right:#ccc 1px solid;
}
#prev_next #prev_title, #prev_next #next_title{
font-size:90%;
top:-1em;
position:absolute; 
border: 1px #ccc solid;
background:#fff; 
text-align: center;
padding:3px;
color:#666;
}
#prev_next #next_title{
right:10px;
}
#prev_next #prev img, #prev_next #next img{
margin:0 auto;
}
#prev_next #prev_no, #prev_next #next_no{
width: 50%;
height:140px;
padding:0 10px;
display: table-cell;
}
#prev_next #prev_no{
border-right:#ccc 1px solid;
}
#prev_next_home{
margin:0 auto;
background-color: #eee9e6;
border: solid 9px #fff;
width: 100px;
height:100px;
-moz-border-radius: 100px;
-webkit-border-radius: 100px;
border-radius: 100px;
box-shadow: 0 0 0 3px #eee9e6;
-webkit-box-shadow: 0 0 0 3px #eee9e6;
-moz-box-shadow: 0 0 0 3px #eee9e6;
text-align:center;	
}
#prev_next_home:hover{
background-color: rgba(0,0,255,0.7);
}
#prev_next_home i{
color:#FFF;
margin:10px auto ;
font-size:60px;
}
/*-- ここまで --*/
/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (max-width: 780px) {
}
/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (min-width: 380px) {
}
/*media Queries PCサイズ
----------------------------------------------------*/
@media only screen and (min-width: 780px) {
/*-- ここから --*/
/*--------------------------------------
768px PREV NEXT
--------------------------------------*/
#prev_next #prev, #prev_next #prev::before, #prev_next #prev::after,
#prev_next #next, #prev_next #next::before, #prev_next #next::after {	
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
}
#prev_next #prev_title, #prev_next #next_title{
padding:3px 10px;
}
#prev_next #next_title{
right:10px;
}
#prev_next #prev img{
float:left;
margin-right:10px
}
#prev_next #next img{
float:right;
margin-left: 10px;
}
/*-- ここまで --*/
}

/*******
プロフ
********/
.prof_box {
width:335px;
margin:0 auto;
box-sizing:border-box;
border:solid 1px #000;
margin-bottom:15px;
margin-top:15px;
}
div.s_tit_box {
	margin-top:20px;
	margin-bottom:15px;
	font-size:16px;
	text-align:center;
}
div.s_tit_inbox {
position: relative;
  line-height: 1.2;
  padding:0.25em 1.4em;
  display: inline-block;
  top:0;
}
div.s_tit_inbox:before, div.s_tit_inbox:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 6px;
  height: 100%;
  display: inline-block;
}
div.s_tit_inbox:before {
  border-left: solid 1px black;
  border-top: solid 1px black;
  border-bottom: solid 1px black;
  left: 0;
}
div.s_tit_inbox:after {
  content: '';
  border-top: solid 1px black;
  border-right: solid 1px black;
  border-bottom: solid 1px black;
  right: 0;
}

p.sprof_tit {
font-weight:bold;
letter-spacing: 0.08em;
    padding: 0 0 10px;
    margin: 0 0 10px;
    position: relative;
	text-align:center;
}
p.sprof_tit:before {
content: " ";
    display: block;
    position: absolute;
    width: 32px;
    height: 2px;
    background: #000;
    left: 50%;
	bottom:0;
    margin-left: -16px;
}
p.sprof_tit_text {
font-size:0.76em;
	text-align:center;
}


div.my_prof {
width:280px;
margin:0 auto;
padding:35px 0;
}
div.my_pic {
width:100px;
height:auto;
margin:0 auto;
}

p.prof_name {
text-align:center;
font-weight:bold;
margin-top:5px;
}

p.prof_mess {
font-size:0.86em;
width:266px;
margin:0 auto;
margin-top:25px;
text-align:center;
}





/*******
関連記事
********/
div#related_entries {
width:100%;
max-width:720px;
margin-top:30px;
}
div.related_box {
max-width:720px;
box-sizing:border-box; 
padding:40px 0 0 0;
}
div.related_area {
width:49%;
display:inline-block;
box-sizing:border-box;
padding:0 10px 32px;
vertical-align: top
}
div.related_entry {
box-sizing: border-box;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    margin-bottom: 30px;
}
div.related_left {
width: 28%;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
    font-size: 12px;
    overflow: hidden;
}
div.related_right {
width: 70%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
    position: relative;
    padding-left: 10px;
    box-sizing: border-box;
}
p.related_title {
box-sizing:border-box;
padding:6px 1px;
font-weight:bold;
}
div.related_pic{
display: block;
    height: 12vh;
}
img.related_catch {
width: 100%;
    height: 100%;
    object-fit: cover;
}

/******
margin padding
********/
.m_b90 {
	margin-bottom:90px;
}


/******
よくある質問
********/
ul.all_qa li {
 font-weight:bold;
}
ul.all_qa li a {
border-bottom:solid 1px #fdc6da;
}
ul.all_qa li:nth-child(odd) {
	background-color:#fafafa;
	padding:20px 6px;
}
ul.all_qa li:nth-child(even) {
	padding:20px 6px;
}
h4.qa_related_title {
	width:100%;
	box-sizing:border-box;
	margin:0 auto;
	font-weight:bold;
	font-size:1.2em;
	border-left:solid 3px #000;
	padding-left:6px;
	margin-bottom:15px;
}


/******
記事コメント
********/

div#comment {
background-color:#fdfdfd;
  padding: 20px 20px;
}

span.required {
font-size:0.8em;
}

.comment-list > .comment {
  margin-bottom: 40px;
  border-bottom: 1px #eee solid;
}

.comment-list > .comment > .comment-body {
  padding: 0 20px;
  margin-bottom: 20px;
}

.comment-list .children {
  margin-left: 45px;
}
.comment-list .children .comment-body {
  padding: 20px 30px;
  margin-bottom: 20px;
  background: #f7f7f7;
}

.comment-author {
  float: left;
  vertical-align: top;
  font-size: 12px;
  margin-left: 10px;
}
.comment-author img {
  vertical-align: top;
}

.comment-meta {
  font-size: 12px;
  margin-bottom: 12px;
}

.reply a {
  border-radius: 3px;
  padding: 3px 5px;
  font-size: 12px;
  -webkit-transition: all .3s ease-in-out;
          transition: all .3s ease-in-out;
}
.reply a:before {
  content: ' ';
  font-family: 'FontAwesome';
}
.reply a:hover {
  text-decoration: none;
}

.comment-form-comment label {
  display: none;
}
.comment-form-comment textarea {
  width: 80%;
  margin: 20px 0px;
  border-radius: 3px;
}

.form-allowed-tags {
  font-size: 12px;
  margin-bottom: 20px;
  display: none;
}

.comment-meta:after {
  content: ' ';
  display: block;
  clear: both;
}

.comments-title {
  font-size: 24px;
  padding: 20px 0;
  margin-bottom: 30px;
}

.comment-form-author,
.comment-form-email,
.comment-form-url {
  overflow: hidden;
  margin: 10px 0;
}
.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
  width: 15%;
  float: left;
  font-size: 12px;
}
.comment-form-author input,
.comment-form-email input,
.comment-form-url input {
  width: 40%;
  float: left;
  margin-left: 5%;
  border-radius: 3px;
  padding: 5px;
}

.form-submit #submit {
  width: 300px;
  line-height: 40px;
  border: none;
  border-radius: 3px;
  -webkit-transition: all .3s ease-in-out;
          transition: all .3s ease-in-out;
}
.form-submit #submit:hover {
  cursor: pointer;
}

.comment-form-comment textarea {
  width: 95%;
  padding-left: 2%;
  padding-right: 2%;
padding-top:10px;
}

.comment-form {
  overflow: hidden;
}

.comment-form-author,
.comment-form-email {
  width: 49%;
  margin: 0;
}
.comment-form-author label,
.comment-form-author input,
.comment-form-email label,
.comment-form-email input {
  width: 90%;
  float: none;
  margin: 0 0 10px;
}

.comment-form-author {
  float: left;
}

.comment-form-email {
  float: right;
}

/*********
サイトからのお知らせ
**********/
/* お知らせセクション（フッター） */
#footer_notice {
    padding: 40px 0;
    background-color: #fcfcfc;
    border-top: 1px solid #eee;
    text-align: center;
}
.notice_tit {
    font-size: 1.2rem;
    margin-bottom: 20px;
    font-weight: 700;
    color: #2c2c2c;
    position: relative;
    display: inline-block;
}
.notice_tit::after {
    content: "";
    display: block;
    width: 30px;
    height: 2px;
    background: #000;
    margin: 8px auto 0;
}
.notice_list {
    list-style: none;
    padding: 0;
    max-width: 800px;
    margin: 0 auto 20px;
    text-align: left;
}
.notice_list li {
    border-bottom: 1px dashed #ddd;
    padding: 12px 5px;
}
.notice_list li a {
    display: flex;
    gap: 15px;
}
.notice_list.date {
    color: #999;
    font-size: 0.9em;
    min-width: 85px;
}
.notice_list.title {
    color: #333;
    transition: color 0.3s;
}
.notice_list li a:hover.title { color: #0F3E64; }
.more_link { font-size: 0.9em; }
.more_link a { color: #0F3E64; font-weight: bold; }

/* お知らせ一覧ページ */
.notice_archive_list {
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
}
.notice_archive_list li {
    border-bottom: 1px solid #eee;
    padding: 15px 0;
}
.notice_archive_list li a {
    display: flex;
    gap: 20px;
}
.notice_archive_list.date { color: #888; }

/* お知らせ個別記事 */
.single_notice {
    background: #fff;
    padding: 30px;
    border-radius: 8px;
    margin-bottom: 30px;
}
.single_notice.date { color: #C5A059; font-weight: bold; }
.back_to_list { text-align: center; margin-top: 40px; }
/*********
404ページ
**********/
.notfound-area {
	margin-top:120px;
}
.notfound-title {
	width:100%;
	margin:0 auto;
	font-weight:bold;
}
/*********
お問い合わせ
**********/
/* --- QOL-UP Contact Form Custom Design --- */
.cf_box {
	margin-bottom:24px;
}
/* フォーム全体の幅を絞り中央寄せ */
.wpcf7 {
    max-width: 600px;
    margin: 40px auto;
    font-family: "Noto Sans JP", sans-serif;
}

/* 入力欄（テキスト、メール、メッセージ）の共通設定 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid #e0e0e0;
    border-radius: 8px; /* 角を少し丸める */
    background-color: #fdfdfd;
    box-sizing: border-box;
    font-size: 16px;
    transition: all 0.3s ease;
    margin-bottom: 5px;
}

/* 選択（フォーカス）時のスタイル：サイトのアクセント色を反映 */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    border-color: #0F3E64; /* ブランドアクセント色 */
    background-color: #fff;
    box-shadow: 0 0 0 4px rgba(197, 160, 89, 0.1); /* 柔らかな光 */
    outline: none;
}

/* 送信ボタンのスタイル：シンプルで高級感のあるデザイン */
.wpcf7-submit {
    display: block;
    width: 240px;
    margin: 30px auto 0;
    padding: 16px 20px;
    background-color: #0F3E64; /* 墨色（メインカラー） */
    color: #ffffff;
    border: none;
    border-radius: 50px; /* カプセル型 */
    font-weight: bold;
    font-size: 16px;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* 送信ボタンのホバー（マウスを乗せた時）効果 */
.wpcf7-submit:hover {
    background-color: #E9881E; 
    transform: translateY(-2px); /* 少し浮かせる */
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* ラベル（項目名）の調整 */
.wpcf7-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #444;
}

/* 必須項目の「*」がある場合の色付け */
.wpcf7-form.wpcf7-not-valid-tip {
    font-size: 14px;
    color: #0F3E64;
}

div.but_area {
    position: relative;
    text-align: center;
}

a.but_gold2 {
    color: #fff;
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding:1px 20px 30px 20px;
    background-color: #eee9e6;
}

div.but_area2 {
    position: relative;
    text-align: center;
margin-top:30px;
}

a.but_2 {
font-size:0.8em;
	font-weight:bold;
    color: #0F3E64;
    display: inline-block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding:6px 15px;
    border:solid 2px #0F3E64;
}
/**
div.contactbox {
width:100%;
}
p.contact_l {
margin-top:30px;
margin-bottom:5px;
}
input.wpcf7-form-control {
width:400px;font-size:1.4em;
height:60px;
background-color:#f7f6f5;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
border:none;
padding:6px 10px;
}

textarea.wpcf7-textarea {
width:600px;font-size:1.2em;
height:400px;
background-color:#f7f6f5;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
border:none;
padding:6px 10px;
}
****/

select.wpcf7-select{
width:200px;min-height:60px;font-size:1em;
-moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
border:solid 1px #d4d4d4;
padding-left:10px;
line-height:1.8em;
background: rgb(244,245,246); /* Old browsers */
background: -moz-linear-gradient(top, rgba(244,245,246,1) 0%, rgba(225,225,225,1) 50%, rgba(214,214,214,1) 51%, rgba(254,254,254,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top, rgba(244,245,246,1) 0%,rgba(225,225,225,1) 50%,rgba(214,214,214,1) 51%,rgba(254,254,254,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom, rgba(244,245,246,1) 0%,rgba(225,225,225,1) 50%,rgba(214,214,214,1) 51%,rgba(254,254,254,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f5f6', endColorstr='#fefefe',GradientType=0 ); /* IE6-9 */
}

/**
input.wpcf7-submit {
padding: 10px 0;
    border: 1px solid #000;
    border-radius: 2em;
    display: inline-block;
    vertical-align: top;
    color: #000;
    background-color: #fff;
    font-weight: bold;
    font-size: 18px;
    text-align: center;
    cursor: pointer;
	margin:20px auto;
	
}
**/
/* 1. フォーム内の全ての段落（pタグ）を中央揃えにする */
p.mb_okcheck  {
    text-align: center!important;
}

p.mb_okcheck input[type=checkbox] {
  width: 20px;
  height: 20px;
  transform-origin: right bottom;
  margin-top: 20px;
  margin-bottom: 30px;
  transform: scale(2, 2);
  border-radius: 1em;
  border: none;
}



/*******
ページナビ
********/
div.pre_next {
width:350px;
height:24px;
display:inline-block;
margin:0 auto;
text-align:center;
background-color:#f8f4e6;
margin-bottom:30px;
}
div.pre_next a {
color:#000;
}


/*wp pagenavi*/

.PageNavi {
position:relative;
margin-top:30px;
}
 
.PageNavi a.page-numbers,
.PageNavi span.page-numbers{
text-decoration: none;
background-color:#fff;
margin: 2px;
	font-size:0.8em;
	width:35px;
	height:35px;
	line-height:35px;
	text-align:center;
	display:inline-block;
	border:solid 1px #E9881E;
border-radius:50%;
}
 
.PageNavi a.page-numbers:hover {
background: #000;
color: #FFF;
}
 
.PageNavi span.current {
font-weight: bold;
background-color: #E9881E;
color:#fff;
	font-size:0.8em;
		width:35px;
	height:35px;
	line-height:35px;
	text-align:center;
	display:inline-block;	
	border:solid 1px #E9881E;
	border-radius:50%;
}
.PageNavi a.next,
.PageNavi a.prev {
text-decoration: none;
background-color:#fff;
margin: 2px;
	width:48px;
	height:35px;
	border-radius:50px;
}
/*******
優先
********/
.disp_none {
	display:none;
}

div#displaynone {display:none;}
