@charset "utf-8";
/*----------------------------------------------------
  基本のレイアウト
----------------------------------------------------*/
body {
  background: #fff;
  color: #333;
  font-family: 'BIZ UDGothic', sans-serif;
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 1.8;
}
html {
  height: 100%;
}
a {
  color: #d8474e;
}
a:hover {
  outline: none;
  color: #39c;
  text-decoration:none;
}
a:focus {
  outline: none;
  outline-offset: 0;
}
ul {
  list-style: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 300;
}
strong {
  font-weight: bold;
}
/*----------------------------------------------------
  色・背景
----------------------------------------------------*/
.has-deepred-background-color {
  background-color: #d8474e;
}
.has-deepred-color {
  color: #d8474e;
}
.has-blue-background-color {
  background-color: #0382bb;
}
.has-blue-color {
  color: #0382bb;
}
.has-green-background-color {
  background-color: #67aa0c;
}
.has-green-color {
  color: #67aa0c;
}
.has-orange-background-color {
  background-color: #e9b04a;
}
.has-orange-color {
  color: #e9b04a;
}
.has-pink-background-color {
  background-color: #ea68a2;
}
.has-pink-color {
  color: #ea68a2;
}
.has-turquoise-background-color {
  background-color: #52acbc;
}
.has-turquoise-color {
  color: #52acbc;
}
.has-violet-background-color {
  background-color: #ae5da1;
}
.has-violet-color {
  color: #ae5da1;
}
.has-light-gray-background-color {
  background-color: #F7F6F5;
}
.has-light-gray-color {
  color: #F7F6F5;
}
.has-gray-background-color {
  background-color: #767268;
}
.has-gray-color {
  color: #767268;
}
.has-dark-gray-background-color {
  background-color: #43413B;
}
.has-dark-gray-color {
  color: #43413B;
}
.has-light-red-background-color {
  background-color: #f6dadc;
}
.has-light-blue-background-color {
  background-color: #cce5ff;
}
.has-light-green-background-color {
  background-color: #e0eed5;
}
.has-light-orange-background-color {
  background-color: #faefdc;
}
.has-light-pink-background-color {
  background-color: #fae1ed;
}
.has-light-turquoise-background-color {
  background-color: #dceef1;
}
.has-light-violet-background-color {
  background-color: #efdfec;
}
/*----------------------------------------------------
  「レスポンシブフォントサイズ」 
----------------------------------------------------*/
/* Clamp */
*, *::before, *::after {
  /* 最小サイズ、 最大サイズ、 最小画面幅、最大画面幅（単位px） */
  --min-size: 42;
  --max-size: 56;
  --min-viewport: 768;
  --max-viewport: 1440;
  /* a 傾き */
  --slope: calc((var(--max-size) - var(--min-size))/ (var(--max-viewport) - var(--min-viewport)));
  /* b 切片 */
  --intercept: calc(var(--min-size) - var(--slope) * var(--min-viewport));
  /* y = ax + b 可変サイズ */
  --fluid-size: calc(var(--slope) * 100vw + var(--intercept)/ 16 * 1rem);
  /* clamp(最小サイズ, 可変サイズ, 最大サイズ) */
  --clamp-size: clamp(var(--min-size)/ 16 * 1rem, var(--fluid-size), var(--max-size)/ 16 * 1rem);
}
/* テキスト （Fluid typography） */
.action h1 {
  font-size: var(--clamp-size) !important;
} 
/*----------------------------------------------------
  タイポグラフィ（サイズ）
----------------------------------------------------*/
.has-x-small-font-size {
  font-size: 0.63636rem;
}
.has-small-font-size {
  font-size: 0.72727rem;
}
.has-normal-font-size {
  font-size: 0.81818rem;
}
.has-large-font-size {
  font-size: 1.09091rem;
}
.has-huge-font-size {
  font-size: 1.63636rem;
}
@media screen and (min-width: 768px) {
  .has-x-small-font-size {
    font-size: 0.875rem;
  }
  .has-small-font-size {
    font-size: 1rem;
  }
  .has-normal-font-size {
    font-size: 1.125rem;
  }
  .has-large-font-size {
    font-size: 1.5rem;
  }
  .has-huge-font-size {
    font-size: 2.25rem;
  }
}
/*----------------------------------------------------
  ブロックテーマ変更
----------------------------------------------------*/
.wp-block-file .wp-block-file__button {
  background: #39c !important;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table td,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table th {
  overflow-wrap: inherit !important;
  padding: 0.4em !important;
}
h1.has-background, h2.has-background, h3.has-background, h4.has-background, h5.has-background, h6.has-background {
  padding: 1.4rem 2rem 1.2rem !important;
}
.wp-block-flexible-table-block-table {
  margin-bottom: 80px;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
  border-color: #aaa !important;
}
.wp-block-flexible-table-block-table.is-scroll-on-mobile {
  overflow-x: scroll;
  height: 600px;
}
@media screen and (max-width:767.98px) {
  .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table.has-fixed-layout {
    min-width: 510px;
    overflow-x: scroll;
    font-size: 14px;
    line-height: 1.4;
  }
}
/*----------------------------------------------------
  ブロックスタイル
----------------------------------------------------*/
.is-style-heading_h1 {
  margin-bottom: 0;
  padding: 10px 20px;
  background: #d8474e;
  color: #fff;
  font-size: 3.0rem;
  text-align: center;
}
.is-style-heading_h1+p {
  margin: 0 0 30px;
  padding: 10px 20px;
  background: rgb(216, 71, 78, 0.2);
  font-size: 1.6rem;
}
.is-style-heading_h1_green {
  margin-bottom: 0;
  padding: 10px 20px;
  background: #67aa0c;
  color: #fff;
  font-size: 3.0rem;
  text-align: center;
}
.is-style-heading_h1_green+p {
  margin: 0 0 30px;
  padding: 10px 20px;
  background: rgb(103, 170, 12, 0.2);
  font-size: 1.6rem;
}
.is-style-heading_h1_orange {
  margin-bottom: 0;
  padding: 10px 20px;
  background: #e9b04a;
  color: #fff;
  font-size: 3.0rem;
  text-align: center;
}
.is-style-heading_h1_orange+p {
  margin: 0 0 30px;
  padding: 10px 20px;
  background: rgb(233, 176, 74, 0.2);
  font-size: 1.6rem;
}
.is-style-heading_h1_pink {
  margin-bottom: 0;
  padding: 10px 20px;
  background: #ea68a2;
  color: #fff;
  font-size: 3.0rem;
  text-align: center;
}
.is-style-heading_h1_pink+p {
  margin: 0 0 30px;
  padding: 10px 20px;
  background: rgb(234, 104, 162, 0.2);
  font-size: 1.6rem;
}
.is-style-heading_h1_turquoise {
  margin-bottom: 0;
  padding: 10px 20px;
  background: #52acbc;
  color: #fff;
  font-size: 3.0rem;
  text-align: center;
}
.is-style-heading_h1_turquoise+p {
  margin: 0 0 30px;
  padding: 10px 20px;
  background: rgb(82, 172, 188, 0.2);
  font-size: 1.6rem;
}
.is-style-heading_h1_violet {
  margin-bottom: 0;
  padding: 10px 20px;
  background: #ae5da1;
  color: #fff;
  font-size: 3.0rem;
  text-align: center;
}
.is-style-heading_h1_violet+p {
  margin: 0 0 30px;
  padding: 10px 20px;
  background: rgb(174, 93, 161, 0.2);
  font-size: 1.6rem;
}
.is-style-heading_h1_blue {
  margin-bottom: 0;
  padding: 10px 20px;
  background: #0066cc;
  color: #fff;
  font-size: 3.0rem;
  text-align: center;
}
.is-style-heading_h1_blue+p {
  margin: 0 0 30px;
  padding: 10px 20px;
  background: rgb(0, 102, 204, 0.2);
  font-size: 1.6rem;
}
.is-style-heading_h1_emerald {
  margin-bottom: 0;
  padding: 10px 20px;
  background: #00cc99;
  color: #fff;
  font-size: 3.0rem;
  text-align: center;
}
.is-style-heading_h1_emerald+p {
  margin: 0 0 30px;
  padding: 10px 20px;
  background: #eafff4;
  font-size: 1.6rem;
}
.is-style-heading_h2,
.is-style-heading_h2_green,
.is-style-heading_h2_orange,
.is-style-heading_h2_pink,
.is-style-heading_h2_turquoise,
.is-style-heading_h2_violet,
.is-style-heading_h2_blue,
.is-style-heading_h2_emerald {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.8rem;
  line-height: 1.4;
  margin-bottom: 20px;
}
.is-style-heading_h2:before, .is-style-heading_h2:after {
  position: relative;
  border-top: 1px solid #d8474e;
  content: "";
  width: 3em;
}
.is-style-heading_h2_green:before, .is-style-heading_h2_green:after {
  position: relative;
  border-top: 1px solid #67aa0c;
  content: "";
  width: 3em;
}
.is-style-heading_h2_orange:before, .is-style-heading_h2_orange:after {
  position: relative;
  border-top: 1px solid #e9b04a;
  content: "";
  width: 3em;
}
.is-style-heading_h2_pink:before, .is-style-heading_h2_pink:after {
  position: relative;
  border-top: 1px solid #ea68a2;
  content: "";
  width: 3em;
}
.is-style-heading_h2_turquoise:before, .is-style-heading_h2_turquoise:after {
  position: relative;
  border-top: 1px solid #52acbc;
  content: "";
  width: 3em;
}
.is-style-heading_h2_violet:before, .is-style-heading_h2_violet:after {
  position: relative;
  border-top: 1px solid #ae5da1;
  content: "";
  width: 3em;
}
.is-style-heading_h2_blue:before, .is-style-heading_h2_blue:after {
  position: relative;
  border-top: 1px solid #0066cc;
  content: "";
  width: 3em;
}
.is-style-heading_h2_emerald:before, .is-style-heading_h2_emerald:after {
  position: relative;
  border-top: 1px solid #00cc99;
  content: "";
  width: 3em;
}
.is-style-heading_h2:before,
.is-style-heading_h2_green:before,
.is-style-heading_h2_orange:before,
.is-style-heading_h2_pink:before,
.is-style-heading_h2_turquoise:before,
.is-style-heading_h2_violet:before,
.is-style-heading_h2_blue:before,
.is-style-heading_h2_emerald:before {
  margin-right: 1em;
}
.is-style-heading_h2:after,
.is-style-heading_h2_green:after,
.is-style-heading_h2_orange:after,
.is-style-heading_h2_pink:after,
.is-style-heading_h2_turquoise:after,
.is-style-heading_h2_violet:after,
.is-style-heading_h2_blue:after,
.is-style-heading_h2_emerald:after {
  margin-left: 1em;
}
.is-style-heading_h2+p,
.is-style-heading_h2_green+p,
.is-style-heading_h2_orange+p,
.is-style-heading_h2_pink+p,
.is-style-heading_h2_turquoise+p,
.is-style-heading_h2_violet+p,
.is-style-heading_h2_blue+p,
.is-style-heading_h2_emerald+p {
  margin-bottom: 40px;
  color: #5f070d;
  font-size: 1.6rem;
  line-height: 1.4;
}
.is-style-heading_h3 {
  margin: 0 0 30px;
  padding-left: 12px;
  border-left: 6px solid #d8474e;
  font-size: 2.4rem;
  line-height: 1.4;
}
.is-style-heading_h3_green {
  margin: 0 0 30px;
  padding-left: 12px;
  border-left: 6px solid #67aa0c;
  font-size: 2.4rem;
  line-height: 1.4;
}
.is-style-heading_h3_orange {
  margin: 0 0 30px;
  padding-left: 12px;
  border-left: 6px solid #e9b04a;
  font-size: 2.4rem;
  line-height: 1.4;
}
.is-style-heading_h3_pink {
  margin: 0 0 30px;
  padding-left: 12px;
  border-left: 6px solid #ea68a2;
  font-size: 2.4rem;
  line-height: 1.4;
}
.is-style-heading_h3_turquoise {
  margin: 0 0 30px;
  padding-left: 12px;
  border-left: 6px solid #52acbc;
  font-size: 2.4rem;
  line-height: 1.4;
}
.is-style-heading_h3_violet {
  margin: 0 0 30px;
  padding-left: 12px;
  border-left: 6px solid #ae5da1;
  font-size: 2.4rem;
  line-height: 1.4;
}
.is-style-heading_h3_blue {
  margin: 0 0 30px;
  padding-left: 12px;
  border-left: 6px solid #0066cc;
  font-size: 2.4rem;
  line-height: 1.4;
}
.is-style-heading_h3_emerald {
  margin: 0 0 30px;
  padding-left: 12px;
  border-left: 6px solid #00cc99;
  font-size: 2.4rem;
  line-height: 1.4;
}
/*----------------------------------------------------
  Bootstrap変更
----------------------------------------------------*/
@media (min-width: 768px) {
  .container {
    max-width: 90%;
  }
}
@media (min-width: 576px) {
  .container {
      max-width: 90%;
  }
}
/*----------------------------------------------------
  テーブル
----------------------------------------------------*/
#downloads h3 {
  margin: 0 0 10px;
  padding-left: 12px;
  border-left: 6px solid #d8474e;
  font-size: 2.0rem;
  line-height: 1.4;
}
table {
  font-size: 1.6rem;
}
table th {
  white-space: inherit;
}
table.table01 {
  width: 100%;
  font-size: 1.5rem;
}
table.table01 th {
  background: #f0f0f1;
  border: 1px solid #ccc;
  color: #333;
  padding: 10px;
}
table.table01 td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  table.table01  {
    width: 100%;
  }
  table.table01 tr {
    display: block;
    float: left;
  }
  table.table01 tr td, 
  table.table01 tr th {
    border-bottom: none;
    display: block;
    height: 50px;
  }
  table.table01 tr td {
    border-left: none;
  }
  table.table01 thead {
    display: block;
    float: left;
    width: 40%;
  }
  table.table01 thead tr {
    width: 100%;
  }
  table.table01 tbody {
    display: block;
    float: left;
    width: 60%;
  }
  table.table01 tbody tr {
    width: 100%;
  }
  table.table01 tr td + td {
    border-left: none;
  }
  table.table01 tbody td:last-child {
    border-bottom: solid 1px #ccc;
  }
}
/*----------------------------------------------------
  wp-block
----------------------------------------------------*/
.wp-block-column {
  margin: 5px;
}
.wp-block-image {
  margin: 0 0 10px !important;
}
/*----------------------------------------------------
  ヘッダー
----------------------------------------------------*/
#header h1 a {
  color: #666;
}
#header h1 {
  margin: 0;
  padding: 0 0 0 2%; 
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 1;
  white-space: nowrap;
}
#header .header-right {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 2% 0 0;
}
#header .header-right .tel-area {
  margin-right: 20px;
  font-size: 2.6rem;
  font-weight: 700;
}
#header .header-right .tel-area i {
  margin-right: 5px;
}
#header .header-right a.btn-normal {
  display: inline-block;
  background-color: #39c;
  color: #fff;
  padding: 0.5rem 3em;
  border-radius: 3rem;
  text-decoration: none;
  user-select: none;
  border: 2px solid #39c;
}
#header .header-right a.btn-normal i {
  padding-right: 0.5rem;
}
#header .header-right a.btn-normal:hover {
  opacity: 0.5;
}
#header .header-right a.logout {
  display: inline-block;
  color: #333;
  padding-left: 1.0rem;
  text-decoration: none;
}
#header .header-right a:hover.logout {
  color: #39c;
  text-decoration: none;
}
#g-nav .header-right {
  display: none;
}
@media screen and (max-width: 991.98px) {
  #header .header-right .tel-area {
    margin-right: 10px;
  }
  #header .header-right a.btn-normal {
    padding: 0.5rem 1em;
  }
  #header .header-right a.logout {
    padding-left: 0.5rem;
  }
}
@media screen and (max-width:767.98px) {
  #header .header-right {
    display: none;
  }
  #g-nav .header-right {
    margin-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 0 2% 0 0;
  }
  #g-nav .header-right .tel-area {
    margin-bottom: 5Spx;
  }
  #g-nav .header-right .tel-area a {
    color: #d8474e;
  }
  #header .header-right a.btn-normal {
    padding: 0.5rem 2em;
  }
  #header .header-right a.logout {
    margin-top: 5px;
    padding-left: 0;
  }
}
/*----------------------------------------------------
  ナビゲーション
----------------------------------------------------*/
@media screen and (min-width:767.98px) {
  nav ul {
    align-items: center;
    padding: 0 2%;
    background: #d8474e;
    text-align: center;
  }
}
/*----------------------------------------
  CTA
----------------------------------------*/
.cta {
  width: 100%;
  padding: 60px 0;
  background: #fbeced;
  text-align: center;
}
.cta h3 {
  --min-size: 28;
  --max-size: 38;
  font-size: var(--clamp-size);
  line-height: 1.6;
}
.contact-area {
  margin-bottom: 30px;
}
.cta .contact-area .tel-area a {
  margin: 0 10px 10px 0;
  color: #d8474e;
  font-size: 2.0rem;
  line-height: 1.6;
}
.contact-area .tel-area span {
  display: inline-block;
  font-size: 1.8rem;
}
.cta .contact-area .tel-area a {
  color: #d8474e;
  font-size: 4.0rem;
  font-weight: 700;
  line-height: 1.2;
}
.cta .contact-area .tel-area a:hover {
  color: #39c;
}
.cta .contact-area a.btn-sub {
  display: inline-block;
  background-color: #39c;
  margin-bottom: 30px;
  padding: 0.4rem 2em 0.3rem;
  border-radius: 1rem;
  color: #fff;
  font-size: 1.8rem;
  text-decoration: none;
  user-select: none;
  border: 2px solid #39c;
}
.cta .contact-area a.btn-sub:hover {
  opacity: 0.5;
}
.cta .contact-area .tel-area a i {
  padding-right: 10px;
}
.cta p {
  --min-size: 24;
  --max-size: 36;
  font-size: var(--clamp-size);
  line-height: 1.4;
}
.cta .btn-area a.btn-large {
  display: inline-block;
  background-color: #39c;
  color: #fff;
  padding: 0.8rem 3.4em;
  border-radius: 4.0rem ;
  text-decoration: none;
  user-select: none;
  border: 2px solid #39c;
  font-size: 2.0rem;
}
.cta .btn-area a.btn-large i {
  padding-right: 0.5rem;
}
.cta .btn-area a.btn-large:hover {
  opacity: 0.5;
}
/*----------------------------------------
  フッター
----------------------------------------*/
#footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  border-top: 1px solid #d8474e;
  padding: 30px 0 0;
}
#footer .footer-info {
  width: 45%;
  margin-left: 5%;
}
#footer .footer-info .footer-logo {
  font-size: 1.5rem;
}
#footer .footer-info address {
  font-style: normal;
  font-size: 1.5rem;
  line-height: 1.6;
}
#footer .footer-info address a {
  color: #333;
}
#footer .footer-info address a:hover {
  color: #39c;
}
#footer .footer-info ul li {
  margin: 0 0 10px 0;
  font-size: 0.9rem;
}
#footer .footer-link {
  width: 45%;
  margin-right: 5%;
}
#footer .footer-link ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#footer .footer-link ul li a {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 10px;
  color: #7d7d7d;
  text-align: center;
  text-decoration: none;
  font-size:  1.5rem;
  line-height: 1.4;
  transition: all .3s;
}
#footer .footer-link ul li a:before {
  display: inline-block;
  content: "\f105";
  font-family: FontAwesome;
  color: #d8474e;
  padding-right: 0.5rem;
}
#footer .footer-link ul a::after {
  content: '';
  position: absolute;
  left: 25%;
  bottom: 3px;
  width: 50%;
  height: 1px;
  background: #39c;
  transition: all .3s;
  transform: scale(0, 1);
  transform-origin: center top;
}
#footer .footer-link ul li a:hover {
  color: #39c;  
}
#footer .footer-link ul li a:hover::after {
  transform: scale(1, 1);
}
#copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 30px;
  padding: 10px;
  background: #d8474e;
  color: #fff;
  font-size: 0.9rem;
}
#footer .footer-link ul ul {
  display: block;
}
@media screen and (max-width:767.98px) {
  #footer{
    justify-content: center;
  }
  #footer .footer-info .footer-logo {
    text-align: center;
  }
  #footer .footer-info {
    width: 100%;
    margin-left: 0;
    padding: 5% 0;
    text-align: center;
    border-bottom: 1px solid #aaa;
  }
  #footer .footer-link {
    width: 100%;
    margin-right: 0;
  }
  #footer .footer-link ul {
    justify-content: center;
  }
  #footer small {
    padding: 10% 0;
    text-align: center;
  }
  #footer small span {
    display: block;
  } 
}
/*----------------------------------------------------
  ページトップ
----------------------------------------------------*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #427fc1;
  color: #427fc1;
  font-size: 0.6rem;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  transition: all 0.3s;
}
#page-top a:hover{
  background: #427fc1;
  border: 1px solid #427fc1;
}
#page-top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  opacity: 0;
  transform: translateX(100px);
}
#page-top span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 8px 0 0 0;
  border-top: 1px solid #427fc1;
  border-left: 1px solid #427fc1;
  transform: rotate(45deg);
}
#page-top a:hover span {
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}
#page-top.LeftMove{
  animation: LeftAnime 0.5s forwards;
}
@keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(100px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
#page-top.RightMove {
  animation: RightAnime 0.5s forwards;
}
@keyframes RightAnime{
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 1;
    transform: translateX(100px);
  }
}
/*----------------------------------------------------
  パンクズリスト（ページタイトル）
----------------------------------------------------*/
#title-area {
  position: static;
  display: table;
  width: 100%;
  height: 120px;
  margin-top: 116px;
  background-size: auto;
}
.page-title {
  position: static;
  display: table-cell;
  width: 100%;
  padding: 40px 0;
  vertical-align: middle;
}
.action h1 {
  position: relative;
  margin-top: 0;
  margin-bottom: 1.0rem;
  font-size: 36px;
}
.action h1:before {
  content: '';
  position: absolute;
  left: 4px;
  bottom: -15px;
  display: inline-block;
  width: 60px;
  height: 4px;
  background-color: #d8474e;
  border-radius: 2px;
}
.action ul {
  margin-top: 2.0rem;
  margin-bottom: 0;
}
.title {
  color: #404040;
  font-weight: 300;
}
@media screen and (max-width:767.98px) {
  #title-area {
    margin-top: 60px;
  }
  #page-breadcrumb {
    margin-top: 58px;
  }
}
/* パンくず */
.action ul.breadcrumb-area {
  margin-top: 2.3rem;
  margin-bottom: 0;
}
ul.breadcrumb-area li {
  position: relative;
  display: inline-block;
  padding: 8px 10px 8px 2px;
  color: #7d7d7d;
  font-size: 1.4rem;
  line-height: 1.0;
}
ul.breadcrumb-area li a {
  color: #d8474e;
}
ul.breadcrumb-area li a:hover {
  color: #39c;
}
ul.breadcrumb-area li::after {
  content: "";
  position: absolute;
  top: 12px;
  right: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid #7d7d7d;
  border-right: 1px solid #7d7d7d;
  transform: rotate(45deg);
}
ul.breadcrumb-area li:last-child:after {
  content: "";
  border: none;
}
/*----------------------------------------
  必要書類
----------------------------------------*/
#necessary-contents {
  margin-bottom: 40px;
}
#necessary-contents h2 {
  padding-bottom: 20px;
  --min-size: 45;
  --max-size: 50;
  font-size: var(--clamp-size);
  text-align: center;
}
#necessary-contents .row {
  justify-content: space-between;
  margin-right: 0;
  margin-left: 0;
}
#necessary-contents .col-md-4 {
  flex: 0 0 32.222222%;
  padding-right: 0;
  padding-left: 0;
}
#necessary-contents .col-md-4 a {
  border: 1px solid #d8474e;
  border-radius: 10px;
  background-color: #fdf6f6;
  color: #222;
  display: block;
  text-decoration: none;
  height: 100%;
  padding: 20px 18px 18px;
}
#necessary-contents .col-md-4 a:hover {
  border: 1px solid #39c;
  border-radius: 10px;
  background-color: rgb(51, 153, 204, 0.1);
  color: #222;
  display: block;
  text-decoration: none;
  height: 100%;
}
#necessary-contents .col-md-4 p {
  position: relative;
  margin-bottom: 0;
  font-size: 2.0rem !important;
  font-weight: 700;
  line-height: 1.2;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  #necessary-contents .col-md-4 p {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  }
}
#necessary-contents .col-md-4 p::after {
  content: "\f105";
  font-family: FontAwesome;
  color: #d8474e;
  position: absolute;
  top: 41%;
  transform: translateY(-50%);
  right: 2%;
  font-weight: normal;
  font-size: 30px;
}
#necessary-contents .col-md-4 img {
  float: left;
  margin-right: 15px;
  width: 45px;
  height: auto;
}
#necessary-contents .col-md-4 span {
  display: inline-block;
  line-height: 1.8;
}
@media only screen and (max-width : 767.98px) {
  #necessary-contents .col-md-4 {
    flex: 0 0 100%;
    margin-bottom: 20px;
  }
  #necessary-contents .col-md-4:last-of-type {
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 576px) {
  #necessary-contents .col-md-4 a {
    padding: 20px 15px;
  }
}
/*----------------------------------------------------
  お知らせ一覧
----------------------------------------------------*/
.news_container {
  width: 100%;
  margin: 0 auto 80px;
}
.news_list {
  margin: 0;
  border-top: 1px solid #ddd;
}
.news_list li {
  padding: 18px 5px 16px;
  border-bottom: 1px solid #ddd;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.date {
  margin-right: 10px;
  font-size: 1.6rem;
}
.category {
  display: inline-block;
  width: 100px;
  margin-right: 10px;
  padding: 2px 10px;
  background-color: #d8474e;
  color: #fff;
  font-size: 1.4rem;
  line-height: 16px;
  text-align: center;
}
.category.fire {
  background-color: #c33;
}
.category.handle {
  background-color: #393;
}
.category.life {
  background-color: #c3c;
}
.category.results {
  background-color: #cc3;
}
.category.training {
  background-color: #39c;
}
.category.connection {
  background-color: #999;
}
.category.other-aid {
  background-color: #c93;
}
.category.others {
  background-color: #36c;
}
.news_text a {
  color: #333;
  font-size: 1.6rem;
}
.news_text a:before {
  display: inline-block;
  content: "\f105";
  font-family: FontAwesome;
  color: #d8474e;
  padding-right: 1rem;
}
.news_text a:hover {
  color: #39c;
}
@media screen and (max-width:575.98px) {
  .news_container {
    width: 100%;
  }
  .news_text a {
    display: block;
    margin-top: 10px;
    font-size: 1.6rem;
    text-overflow: ellipsis;
    overflow: hidden;
  }
}
/*----------------------------------------------------
  パンフレット一覧
----------------------------------------------------*/
#pamphlet h3,
#notification h3,
#accident h3 {
  margin: 0 0 10px;
  padding-left: 12px;
  border-left: 6px solid #d8474e;
  font-size: 2.0rem;
  line-height: 1.4;
}
#pamphlet,
#notification,
#accident {
  margin-bottom: 80px;
}
#pamphlet .row .col-md-4,
#accident .row .col-md-4 {
  margin-bottom: 20px;
}
#notification .row .col-md-6 {
  margin-bottom: 20px;
}
#pamphlet .row .col-md-4 .download_container,
#accident .row .col-md-4 .download_container {
  height: 100%;
  padding: 20px 20px 0;
  border: 1px solid #d8474e;
  border-radius: 10px;
}
#notification .row .col-md-6 .download_container {
  height: 100%;
  padding: 20px 20px 0;
  border: 1px solid #d8474e;
  border-radius: 10px;
}
#accident table.table01 th {
  border: 1px solid #d8474e;
}
#accident table.table01 td {
  border: 1px solid #d8474e;
}
.download_container {
  width: 100%;
  margin: 0 auto 20px;
}
.download_list {
  margin: 0;
  border-top: 1px solid #ddd;
}
.download_list ul {
  margin-bottom: 0;
}
.download_list li {
  padding: 12px 0 10px 5px;
  border-bottom: 1px solid #ddd;
}
.download_list li a {
  display: block;
  color: #333;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.download_list li a:hover {
  color: #39c;
}
@media screen and (max-width:575.98px) {
  .dowmload_container {
    width: 100%;
  }
  #pamphlet table.table01 th,
  #pamphlet table.table01 td,
  #notification table.table01 th,
  #notification table.table01 td,
  #accident table.table01 th,
  #accident table.table01 td {
    font-size: 1.3rem;
    padding: 5px;
    height: auto;
  }
}
/*----------------------------------------------------
  ページ
----------------------------------------------------*/
#page #main-area h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  --min-size: 36;
  --max-size: 52;
  font-size: var(--clamp-size);
  line-height: 1.1;
  text-align: center;
}
#page #main-area h3 {
  margin: 0 0 20px;
  font-size: 2.8rem;
  line-height: 1.4;
}
#page #main-area p {
  margin: 0 0 40px;
}
#page #main-area div > p {
  margin-bottom: 4rem;
}
#page #main-area .wp-block-group p {
  margin: 10px 0;
}
#page .btn-area a.btn-normal {
  display: inline-block;
  background-color: #39c;
  color: #fff;
  padding: 0.5rem 3em;
  border-radius: 3rem;
  text-decoration: none;
  user-select: none;
  border: 2px solid #39c;
}
#page .btn-area a.btn-normal i {
  padding-right: 0.5rem;
}
#page .btn-area a.btn-normal:hover {
  opacity: 0.5;
}
/*----------------------------------------------------
  ブログ
----------------------------------------------------*/
#blog,
#blog-details {
  padding: 0;
}
.single-blog,
.single-page {
  padding-bottom: 0;
}
.post-thumb {
  position: relative;
  margin: -1px -1px 20px;
  overflow: hidden;
}
.post-content {
  padding: 0 0 20px;
}
.post-title {
  margin-top: 0;
}
.post-title a {
  color: #666;
}
.post-title a:hover {
  color: #d8474e;
}
.post-content p {
  margin-bottom: 1.5rem;
  /*font-size: 16px;
  line-height: 28px;*/
}
.post-content table td a {
  color: #39c;
  text-decoration: underline;
}
.post-content table td a:hover {
  color: #d8474e;
  text-decoration: underline;
}
.wp-block-file {
  margin-bottom: 3rem !important;
}
.single-page .post-content ul {
  padding: 0;
  border-top: 1px solid #ddd;
}
.single-page .post-content ul li {
  position: relative;
  margin: 0;
  font-size: 16px;
  line-height: 28px;
  border-bottom: 1px solid #ddd;
}
.single-page .post-content ul li a {
  display: block;
  padding: 10px 10px 10px 30px;
}
.single-page .post-content ul li:before {
  font-family: 'fontAwesome';
  content: "\f054";
  position: absolute;
  top: 10px;
  left: 10px;
  margin-top: 0;
  color: #ccc;
  font-size: 16px;
  -webkit-transition: 500ms;
  transition: 500ms;
}
.single-page .post-content ul li:hover:before {
  color: #d8474e;
}
.post-bottom {
  margin: 15px -10px;
  padding: 10px 20px;
  border-top: 1px solid #d8474e;
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}
a.read-more {
  color: #d8474e;
  font-weight: 300;
}
a.read-more:hover {
  color: #d8474e;
}
.post-nav {
  margin:0;
  padding: 0;
  font-size: 1.4rem;
}
.post-nav li {
  float: left;
  margin-right: 40px;
  color: #7d7d7d;
}
.post-nav li a {
  padding: 0;
  text-align: left;
}
.post-nav li i {
  color: #bbb;
  margin-right: 8px;
}
.post-nav li a:hover {
  background: none;
}
/*----------------------------------------------------
  ボタン
----------------------------------------------------*/
#btn-area {
  margin: 20px auto 40px;
  text-align: center;
}
#btn-area a.btn-normal,
.wp-block-button a {
  display: inline-block;
  background-color: #39c;
  color: #fff;
  padding: 0.5rem 3em;
  border-radius: 3rem;
  text-decoration: none;
  user-select: none;
  border: 2px solid #39c;
}
.wp-block-buttons.is-content-justification-center {
  display: flex;
}
#btn-area a.btn-normal i {
  padding-right: 0.5rem;
}
#btn-area a.btn-normal:hover {
  opacity: 0.5;
}
#btn-area+p {
  text-align: center;
}
/*----------------------------------------------------
  パギネーション
----------------------------------------------------*/
.pagination {
  clear: both;
  margin-top: 60px;
}
.pagination .tablenav {
  margin: 20px auto 0;
  color: #666;
  font-size: 1.6rem;
  line-height: 2.0;
  text-align: center;
}
.pagination a.page-numbers {
  padding: 10px;
  background: #fff;
  border: 1px solid #ddd;
  color: #666;
  text-decoration: none;
}
.pagination .tablenav .current {
  padding: 10px;
  background: #d8474e;
  color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-decoration: none;
}
.pagination a.page-numbers:hover {
  padding: 10px;
  background: #d8474e;
  color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-decoration: none;
}
.pagination .tablenav .next,
.pagination .tablenav .prev {
  padding: 10px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  color: #666;
  text-decoration: none;
}
@media only screen and (max-width: 768px) {
  .pagination .page-numbers {
    display: none;
  }
  .pagination .tablenav .next,
  .pagination .tablenav .prev {
    display: inline;
  }
}
.navigation {
  margin: 30px 0 0;
  font-size: 1.4rem;
}
.navigation .alignleft {
  position: relative;
  padding: 0 0 0 12px;
}
.navigation .alignleft a {
  color: #7d7d7d;
}
.navigation .alignleft a:hover {
  color: #395c9d;
}
.navigation .alignleft:before {
  font-family: 'fontAwesome';
  content: "\f104";
  position: absolute;
  top: -3px;
  left: 0;
  margin-top: 0;
  color: #ccc;
  font-size: 16px;
  -webkit-transition: 500ms;
  transition: 500ms;
}
.navigation .alignleft:hover:before {
  color: #d8474e;
}
.navigation .alignright {
  float: right;
  position: relative;
  padding: 0 12px 0 0;
}
.navigation .alignright a {
  color: #7d7d7d;
}
.navigation .alignright a:hover {
  color: #395c9d;
}
.navigation .alignright:before {
  font-family: 'fontAwesome';
  content: "\f105";
  position: absolute;
  top: -3px;
  right: 0;
  margin-top: 0;
  color: #ccc;
  font-size: 16px;
  -webkit-transition: 500ms;
  transition: 500ms;
}
.navigation .alignright:hover:before {
  color: #395c9d;
}

/*----------------------------------------------------
  サイドバー
----------------------------------------------------*/
.sidebar h3 {
  position: relative;
  margin-top: 0;
  margin-bottom: 6px;
  padding-bottom: 8px;
  border-bottom: 3px solid #ddd;
  color: #333;
  font-size: 1.8rem;
  font-weight: 300;
}
.sidebar h3 span {
  display: inline-block;
}
.sidebar h3:after {
  position: absolute;
  content: "";
  display: block;
  border-bottom: 3px solid #d8474e;
  bottom: -3px;
  width: 25%;
}
.sidebar-item {
  margin-bottom: 48px;
}
.categories .navbar-stacked ul,
.archives .navbar-stacked ul {
  width: 100%;
  border-bottom: 1px solid #ddd;
}
.categories .navbar-stacked li,
.archives .navbar-stacked li {
  width: 100%;
  border-bottom: 1px solid #ddd;
}
.categories .navbar-stacked li a,
.archives .navbar-stacked li a {
  position: relative;
  display: block;
  padding: 4px 15px 5px 10px;
  font-size: 15px;
  color: #7d7d7d;
}
.categories.member .navbar-stacked li a {
  padding: 4px 15px 5px 10px;
}
.categories.member .navbar-stacked li a::before {
  content: '■';
  padding-right: 6px;
}
.categories.member .navbar-stacked li.cat-item-fire a::before {
  color: #c33;
}
.categories.member .navbar-stacked li.cat-item-handle a::before {
  color: #393;
}
.categories.member .navbar-stacked li.cat-item-life a::before {
  color: #c3c;
}
.categories.member .navbar-stacked li.cat-item-results a::before {
  color: #cc3;
}
.categories.member .navbar-stacked li.cat-item-training a::before {
  color: #39c;
}
.categories.member .navbar-stacked li.cat-item-connection a::before {
  color: #999;
}
.categories.member .navbar-stacked li.cat-item-other-aid a::before {
  color: #c93;
}
.categories.member .navbar-stacked li.cat-item-others a::before {
  color: #36c;
}
.categories .navbar-stacked li a:hover,
.archives .navbar-stacked li a:hover {
  color: #39c;
  opacity: 1;
}
.categories .navbar-stacked li.active a,
.archives .navbar-stacked li.active a {
  color: #39c;
}
.categories.member .navbar-stacked li.current-cat a {
  background: rgb(216, 71, 78, 0.2);
}
.sidebar-item .media {
  margin-top: 0;
  padding-bottom: 10px;
  padding-top: 10px;
  border-bottom: 1px solid #ececec;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
}
.sidebar-item .media:hover {
  color: #39c;
}
.sidebar-item .media:hover.media .media-body h4 a {
  color: #39c;
}
.sidebar-item .media .media-body h4 {
  margin-top: 0;
  margin-bottom: 4px;
}
.sidebar-item .media .media-body h4 a {
  display: block;
  color: #7d7d7d;
  font-size: 14px;
  padding: 0 1rem 0 0;
}
.sidebar-item .media .media-body h4 a:hover {
  color: #7d7d7d;
}
.sidebar-item .media .media-body p {
  margin: 0;
  color: #7d7d7d;
  font-size: 12px;
}
.contact-info {
  margin-bottom: 38px;
}
.contact-info address span {
  font-size: 12px;
}
.contact-info > address {
  margin-top: 20px;
  margin-bottom: 40px;
  line-height: 20px;
}
.contact-form #wpmem_login .form {
  margin-top: -15px;
}
/*----------------------------------------------------
  リスト
----------------------------------------------------*/
#page ul, #page ol {
  margin-bottom: 60px;
}
#page ul li {
  list-style: disc;
  list-style-position: inside;
  margin: 0 2rem 0.2rem;
  padding-left: 2.2rem;
  text-indent: -2.2rem;
}
#page ol li {
  list-style: decimal;
  list-style-position: inside;
  margin: 0 2rem 2rem;
  padding-left: 2.1rem;
  text-indent: -2.2rem;
}
/*----------------------------------------------------
  アドレス（勧誘方針・プライバシーポリシー）
----------------------------------------------------*/
.address {
  display: flex;
  justify-content: right;
}
@media only screen and (max-width: 767.98px) {
  .address {
    display: block;
  }
}
/*----------------------------------------------------
  お問い合わせ
----------------------------------------------------*/
#page #main-area .wp-contact-group > p {
  margin-bottom: 50px;
}
.question-area {
  margin-bottom: 50px;
}
#page #main-area .question-area p {
  margin-bottom: 20px;
}
.item {
  font-weight: bold;
}
span.hissu {
  background-color: #d8474e;
  color: #fff;
  padding: 7px 10px;
  margin-left: 15px;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.5;
}
span.wpcf7-list-item { 
  display: block;
  margin-bottom: 5px;
}
.question-area input[type="checkbox"],
.policy-area input[type="checkbox"] {
  transform: scale(1.5);
  margin-right: 5px;
  cursor: pointer;
}
.question-area input[type="checkbox"] + span,
.policy-area input[type="checkbox"] + span {
  cursor: pointer;
}
/*テーブル*/
.wp-contact-group table {
  width: 100%;
}
.wp-contact-group table th,
.wp-contact-group table td {
  padding-bottom: 1em;
}
.wp-contact-group table tr:last-of-type th,
.wp-contact-group table tr:last-of-type td {
  padding-bottom: 0;
}
.wp-contact-group table th {
  width: 250px;
  display: flex;
  justify-content: space-between;
  font-weight: normal;
  align-items: baseline;
}
.wp-contact-group table td {
  width: 75%;
}
textarea {
  width: 60%;
  height: calc(1.4em * 7);
  line-height: 1.4;
}
.wp-contact-group table td input[type="text"] {
  width: 100%;
}
.wp-contact-group table input {
  border: 0;
  padding: 4px;
  border: solid 1px #ccc;
  margin: 0;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  -moz-box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.3);
  -webkit-box-shadow: inset 1px 4px 9px -6px rgb(0 0 0 / 30%);
  box-shadow: inset 1px 4px 9px -6px rgb(0 0 0 / 30%);
  vertical-align: middle;
}
/*最終確認エリア*/
.policy-area {
  margin-bottom: 30px;
  border: 2px solid #39c;
  padding: 15px 10px 10px;
  line-height: 3.2;
}
.policy-area span.policy-txt {
  font-weight: bold;
}
.policy-area a {
  text-decoration: underline;
}
.policy-area a:hover {
  text-decoration: none;
}
.wp-contact-group .btn-area  {
  text-align: center;
  margin-bottom: 12px;
}
.wp-contact-group .btn-area > input {
  display: inline-block;
  background-color: #39c;
  color: #fff;
  padding: 0.5rem 3em;
  border-radius: 3rem;
  text-decoration: none;
  user-select: none;
  border: 2px solid #39c;
}

@media screen and (max-width: 767.98px) {
  #page #main-area .wp-contact-group > p {
    margin-bottom: 30px;
  }
  textarea,
  .wpcf7 input[type="url"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"] {
    width: 100%;
  }
  .wp-contact-group table th,
  .wp-contact-group table td {
    display: block;
    width: 100%;
  }
  .wp-contact-group table th {
    padding-bottom: 0;
  }
}
/*----------------------------------------------------
  代理店専用ページ
----------------------------------------------------*/
#members .news_container h1 {
  padding-bottom: 10px;
  --min-size: 45;
  --max-size: 50;
  font-size: var(--clamp-size);
  text-align: center;
}
#members .download_container h1,
#members .necessary_container h1 {
  margin: 10px 0 20px 0;
  padding: 10px 10px 8px;
  --min-size: 42;
  --max-size: 50;
  background: #eee;
  font-size: var(--clamp-size);
  text-align: center;
}
#members .news_container h2,
#members .download_container h2 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  --min-size: 38;
  --max-size: 48;
  font-size: var(--clamp-size);
  line-height: 1.1;
  text-align: center;
}
#members .news_container h2:before,
#members .download_container h2:before {
  margin-right: 1em;
}
#members .news_container h2:after,
#members .download_container h2:after {
  margin-left: 1em;
}
#members .news_container h2:before, #members .news_container h2:after,
#members .download_container h2:before, #members .download_container h2:after {
  position: relative;
  border-top: 1px solid #d8474e;
  content: "";
  width: 3em;
}
#members .news_container p,
#members .download_container p,
#members .necessary_container p {
  font-size: 1.6rem;
  text-align: center;
}
#members #main-area .news_container h3,
#members #main-area .download_container h3
#members #main-area .necessary_container h3 {
  margin: 0 0 20px;
  padding-left: 12px;
  border-left: 6px solid #d8474e;
  font-size: 2.4rem;
  line-height: 1.4;
}
#members .necessary_container p.center-bottom {
  margin-top: 20px;
  font-size: 1.6rem;
  text-align: center;
}
@media only screen and (max-width : 575.98px) {
  #members .news_container h2:before, #members .news_container h2:after,
  #members .download_container h2:before, #members .download_container h2:after {
    width: 1em;
  }
}
/*----------------------------------------------------
  フォーム（WP-Members)
----------------------------------------------------*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  transition: background-color 5000s ease-in-out 0s;
}
#wpmem_reg em, #wpmem_login em {
  font-style: normal!important;
}
#wpmem_reg legend, #wpmem_login legend {
  width: 100%;
  margin-bottom: 10px;
  padding-bottom: 10px;
  font-size: 20px;
  line-height: 1;
  font-weight: 300;
}
#wpmem_login input[type="checkbox"] {
  margin: 0 4px 2px;
  vertical-align: middle;
}
#wpmem_login label {
  display: initial;
  margin-bottom: 10px;
  font-size: 14px;
  font-weight: 300;
}
#wpmem_login .div_text, #wpmem_reg .div_text, #wpmem_reg .div_textarea, #wpmem_reg .div_select, #wpmem_reg .div_checkbox, #wpmem_reg .div_multiselect, #wpmem_reg .div_multicheckbox, #wpmem_reg .div_radio, #wpmem_reg .div_image, #wpmem_reg .div_file, #wpmem_reg .div_url, #wpmem_reg .div_number, #wpmem_reg .div_date {
  width: 100%;
  margin: 0 0 14px 0;
}
#wpmem_reg input[type="text"], #wpmem_reg input[type="password"], #wpmem_reg input[type="email"], #wpmem_reg input[type="url"], #wpmem_reg input[type="number"], #wpmem_reg input[type="date"], #wpmem_reg textarea, #wpmem_login input[type="text"], #wpmem_login input[type="password"] {
  width: 100%;
  height: 40px;
  border: 1px solid #39c;
  font-weight: 300;
  outline: none;
  box-shadow: none;
}
input:focus:-webkit-autofill, textarea:focus:-webkit-autofill, select:focus:-webkit-autofill,
.div_text input.username:hover,
.div_text input.password:focus {
  border-color: #39c;
  outline: none;
  box-shadow: none;
}
#wpmem_reg input, #wpmem_reg button, #wpmem_reg select, #wpmem_reg textarea, #wpmem_login input, #wpmem_login button {
  margin: 5px auto 0;
  padding: 12px 40px 10px;
  background-color: #d8474e;
  border-style: none;
  color: #fff;
  font-size: 14px;
  font-weight: 300;
  border-radius: 3px;
  box-shadow: none;
}
#wpmem_reg input:hover, #wpmem_reg button:hover, #wpmem_reg select:hover, #wpmem_reg textarea:hover, #wpmem_login input:hover, #wpmem_login button:hover,#wpmem_reg input:focus, #wpmem_reg button:focus, #wpmem_reg select:focus, #wpmem_reg textarea:focus, #wpmem_login input:focus, #wpmem_login button:focus {
  color: #fff;
  outline: none;
  box-shadow: none;
  opacity: .8;
}
#wpmem_reg input:hover, 
#wpmem_reg input:focus,
#wpmem_login input:hover,
#wpmem_login input:focus {
  color: #000;
}
#wpmem_reg input.buttons:hover,
#wpmem_reg input.buttons:focus,
#wpmem_login input.buttons:hover,
#wpmem_login input.buttons:focus{
  border: 0;
  color: #fff;
}
#wpmem_login .link-text {
  display: none;
  width: 100%;
  text-align: center;
  font-size: 13px;
}
#wpmem_login .button_div, #wpmem_reg .button_div {
  text-align: center !important;
}
#wpmem_reg .button_div,
#wpmem_login .button_div {
  width: 100%;
  text-align: center;
}
#wpmem_reg .noinput {
  width: 100%;
}
body.membership-profile #wpmem_login div.link-text:last-of-type {
  display: none;
}
.btnArea ul {
  margin:0;
  padding: 0;
  text-align: center;
}
.entry-btn {
  width: 60%;
  margin: 20px auto 30px;
  padding: 10px;
  background-color: #39c;
  color: #fff;
  font-size: 14px;
  font-weight: 300;
  text-transform: uppercase;
  border-radius: 3px;
  box-shadow: none;
}
.entry-btn a {
  color: #fff;
}
.entry-btn:hover,
.entry-btn:focus {
  color: #fff;
  outline: none;
  box-shadow: none;
  opacity: .8;
}
#wpmem_msg, .wpmem_msg {
  width: 100%;
  margin: 0 0 30px;
  padding: 20px 0 10px;
  background: #F9F9F9;
  border: 1px solid lightGrey;
  border-radius: 3px;
}
.wpmem_msg > a {
  display: none;
}
.wpmem_msg > p > strong:nth-child(2) {
  display: none;
}
#wpmem_login, #wpmem_msg, #wpmem_reg, .wpmem_msg {
  width: 100% !important;
  margin: 0 auto;
}
/*----------------------------------------------------
  404 エラー
----------------------------------------------------*/
.error-page {
  display: table;
  width: 100%;
  height: 100%;
  min-height: 100%;
  color: #686868;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.2;
}
.error-page .container-fluid {
  overflow: hidden;
}
.error-page-inner {
  display: table-cell;
  vertical-align: middle;
}
.error-image {
  display: inline-block;
  color: #d8474e;
  font-size: 140px;
  font-weight: 300;
}
.error-page h2 {
  font-size:36px;
  text-transform: uppercase;
}
.btn-error {
  margin-top: 50px;
  margin-top: 30px;
  margin-bottom: 50px;
  padding:25px 55px;
  background-color: transparent;
  border: 1px solid #666;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 5px;
  text-transform: uppercase;
}
.btn-error:hover,
.btn-error:focus {
  background-color: #39c;
  border-color: #39c;
  color:#fff;
}
.error-page i {
  height: 40px;
  width: 40px;
  margin:0 15px;
  border: 1px solid #666;
  border-radius: 50%;
  color: #666;
  font-size: 17px;
  line-height: 40px;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.error-page i:hover {
  background-color: #d8474e;
  color: #fff;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
@media only screen and (max-width : 767.98px) {
  .error-page {
    padding: 50px 25px;
  }
  .error-page h2 {
    font-size: 24px;
  }
  .btn-error {
    font-size: 13px;
    padding: 12px 18px;
  }
}
@media only screen and (max-width : 480px) {
  .error-page {
    padding: 50px 25px;
  }
  .error-page h2 {
    font-size: 24px;
  }
  .btn-error {
    font-size: 10px;
    padding: 12px 11px;
  }
}

/*----------------------------------------------------
  WordPress
----------------------------------------------------*/
.post-content img {
  max-width: 100%;
  height: auto;
}
.alignnone {
  margin: 5px 20px 20px 0;
}
.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}
.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}
.aligncenter {
  display: block;
  margin: 5px auto 20px;
}
@media only screen and (max-width: 767.98px) {
  .row::before, .row::after {
    content: "";
    display: inherit;
  }
  .alignright {
    display: block;
    float: none;
    margin: 5px auto 80px;
  }
  .alignleft {
    display: block;
    float: none;
    margin: 5px auto 80px;
  }
  .aligncenter {
    margin: 5px auto 80px;
  }
}
a img.alignright {
  float: right;
  margin: 0 0 20px 18px;
}
a img.alignnone {
  margin: 0 18px 20px 0;
}
a img.alignleft {
  float: left;
  margin: 0 18px 20px 0;
}
a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}
.wp-caption.alignnone {
  margin: 0 18px 18px 0;
}
.wp-caption.alignleft {
  margin: 0 18px 18px 0;
}
.wp-caption.alignright {
  margin: 0 0 18px 18px;
}
.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 100%;
  padding: 0;
}
.wp-caption p.wp-caption-text {
  font-size: 0.8em;
  line-height: 1.3;
  margin: 0;
  padding: 5px 0;
}
@media only screen and (max-width: 767px) {
  .wp-caption {
    display: block;
    float: none;
    margin: 5px auto 10px;
  }
  wp-caption.alignnone {
    margin: 0 auto 18px;
  }
  .wp-caption.alignleft {
    margin: 0 auto 18px;
  }
  .wp-caption.alignright {
    margin: 0 auto 18px;
  }
}

/*----------------------------------------------------
  自動アイコン
----------------------------------------------------*/
.icon a[href$=".xls"], .icon a[href$=".xlsx"], .icon a[href$=".doc"], .icon a[href$=".docx"], .icon a[href$=".ppt"], .icon a[href$=".pptx"], .icon a[href$=".pdf"] {
  background: rgba(0, 0, 0, 0) none no-repeat scroll 5px 50%;
  padding: 4px 0 4px 2em;
}
.icon a[href$=".xls"] {
  background-image: url("../images/common/ico_xls.png");
}
* html .icon a.xls {
  background: rgba(0, 0, 0, 0) url("../images/common/ico_xls.png") no-repeat scroll 5px 50%;
  padding: 3px 0 0 2em;
}
.icon a[href$=".xlsx"] {
  background-image: url("../images/common/ico_xls.png");
}
* html .icon a.xlsx {
  background: rgba(0, 0, 0, 0) url("../images/common/ico_xls.png") no-repeat scroll 5px 50%;
  padding: 3px 0 0 2em;
}
.icon a[href$=".doc"] {
  background-image: url("../images/common/ico_doc.png");
}
* html .icon a.doc {
  background: rgba(0, 0, 0, 0) url("../images/common/ico_doc.png") no-repeat scroll 5px 50%;
  padding: 3px 0 0 2em;
}
.icon a[href$=".docx"] {
  background-image: url("../images/common/ico_doc.png");
}
* html .icon a.docx {
  background: rgba(0, 0, 0, 0) url("../images/common/ico_doc.png") no-repeat scroll 5px 50%;
  padding: 3px 0 0 2em;
}
.icon a[href$=".ppt"] {
  background-image: url("../images/common/ico_ppt.png");
}
* html .icon a.ppt {
  background: rgba(0, 0, 0, 0) url("../images/common/ico_ppt.png") no-repeat scroll 5px 50%;
  padding: 3px 0 0 2em;
}
.icon a[href$=".pptx"] {
  background-image: url("../images/common/ico_ppt.png");
}
* html .icon a.pptx {
  background: rgba(0, 0, 0, 0) url("../images/common/ico_ppt.png") no-repeat scroll 5px 50%;
  padding: 3px 0 0 2em;
}
.icon a[href$=".pdf"] {
  background-image: url("../images/common/ico_pdf.png");
}
* html .icon a.pdf {
  background: rgba(0, 0, 0, 0) url("../images/common/ico_pdf.png") no-repeat scroll 5px 50%;
  padding: 3px 0 0 2em;
}
