@charset "UTF-8";

/*========================================================
　基本リセット(タグマージン)/ normalize.css読み込み前提
========================================================*/

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
}

figure,
p {
  margin: 0;
  padding: 0;
}

/*========================================================
　基本タグ、クラス
========================================================*/

html {
  font-size: 15px;
  font-family: "YakuHanJP", -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  /* Arial,"Yu Gothic","YuGothic","游ゴシック体","游ゴシック", */
  line-height: 1.4;
  -webkit-font-smoothing: subpixel-antialiased;
}

main {
  line-height: 1.6;
}

@media screen and (min-width: 641px) {
  html {
    font-size: 16px;
  }
}

@media screen and (min-width: 1144px) {
  body {
    overflow-x: hidden;
  }
}

/* Firefox 禁則処理*/
* {
  word-break: normal !important;
}

/* ボックスサイジング */
*,
*:before,
*:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.wrapper {
  margin-top: 55px;
}

@media screen and (min-width: 1200px) {
  .wrapper {
    margin-top: 80px;
  }
}

/*---------------------------------------
　テキストカラー関連
---------------------------------------*/

a,
.site-head a:hover,
.site-footer a:hover,
.sidebar a:hover {
  color: #4169e1;
}

body,
.site-head a:not(:hover),
.site-footer a:not(:hover),
.sidebar a:not(:hover),
.a-def a:not(:hover),
.mean-container a.meanmenu-reveal,
.mean-nav a:not(:hover) {
  color: #262626;
}

/*---------------------------------------
　リンク関連
---------------------------------------*/

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:active {
}

a:hover img,
a:active img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
}

/* ホバー時 半透明無し */

a.opa-none:hover img,
a.opa-none:active img {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha( opacity=100 )";
}

/*---------------------------------------
　テキストタグ基本サイズ
---------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1.4;
}

h2,
h3,
h4,
h5,
h6 {
  margin: 2em 0 0.5em;
}

h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 {
  margin-top: 0;
}

/* 見出しタグ サイズ*/

h1 {
  font-size: 1.5em;
}

h2 {
  font-size: 1.375em;
}

h3 {
  font-size: 1.2em;
}

h4 {
  font-size: 1.125em;
}

h5,
h6 {
  font-size: 1.0625em;
}

/* その他基本設定 */

p:last-child {
  margin-bottom: 0;
}

ul,
ol {
  padding-left: 1.5em;
  margin: 0.5em 0 0.5em;
}

hr {
  border-width: 0;
  border-top: 1px solid;
}

dt {
  font-weight: 600;
}

dd {
  margin-left: 1em;
}

/*iframe {
	width: 100% !important;
}*/

@media screen and (min-width: 641px) {
  ul,
  ol {
    margin-left: 1em;
  }
}

/*---------------------------------------
　メディア フルードサイズ
---------------------------------------*/

figure {
  text-align: center;
}

img,
object,
video,
input[type="image"] {
  max-width: 100%;
  height: auto;
  line-height: 0;
  vertical-align: bottom;
}

/*---------------------------------------
　テーブルタグ 基本
---------------------------------------*/

figure table {
  text-align: left;
}

table thead,
table th {
  background: #f5f5f5;
}

table,
.wp-block-table > table {
  text-align: left;
  line-height: 1.5;
  border-collapse: separate;
  border-top: 1px solid #ccc;
  border-spacing: 0;
  width: 100%;
  margin: 0.5em 0;
}

table th,
.wp-block-table > table th,
table td,
.wp-block-table > table td {
  padding: 0.3em 0;
  border-style: solid;
  border-width: 1px 0;
  border-color: transparent transparent #ccc;
}

table th,
.wp-block-table > table th {
  text-align: center;
}

/* ストリップ */

.wp-block-table.is-style-stripes th,
.wp-block-table.is-style-stripes td,
.wp-block-table.is-style-stripes tr:last-child td:last-child {
  border-color: transparent;
}

.wp-block-table.is-style-stripes th {
  background: transparent;
}

table td p:last-child {
  margin-bottom: 0;
}

/* コンテンツ内テーブル */

.contents table th,
.contents table td {
  display: block;
}

.contents table th {
  padding: 0.3em;
}

.contents table td {
  padding: 0.5em 0.3em 1em;
}

/* モバイル内でもテーブル*/
.contents .all-tb th,
.contents .all-tb td {
  display: table-cell;
}

@media screen and (min-width: 641px) {
  .contents table th {
    min-width: 7em;
  }

  .contents .all-tb th {
    min-width: auto;
  }

  .contents table th,
  .contents table td {
    display: table-cell;
    padding: 1em 0.8em;
  }

  .contents table td {
    padding-left: 2em;
  }
}

/* タテライン */

.contents .tb-full-line td {
  padding: 1em;
}

.contents .tb-full-line tr th:not(:last-child),
.contents .tb-full-line tr td:not(:last-child) {
  border-right: 1px solid #ccc;
}

/* 未レスポンシブテーブル */

.tb-fullsize {
  width: 728px;
}

.hidden-box {
  overflow: auto;
} /* テーブルラップ */

.tb-3w tr:first-child th,
.tb-3w tr:first-child td {
  width: 33.33%;
}

.tb-4w tr:first-child th,
.tb-4w tr:first-child td {
  width: 25%;
}

.tb-5w tr:first-child th,
.tb-5w tr:first-child td {
  width: 20%;
}

.wh08em {
  width: 08em;
}

.wh10em {
  width: 10em;
}

/*---------------------------------------
 フォーム関連タグ基本
---------------------------------------*/

/* フォームタグ基本 */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="number"],
input[type="password"],
textarea,
select {
  font-size: 0.9375rem;
  width: 100%;
  padding: 0.6em 0.2em;
  border: 1px solid #d4d4d7;
  border-radius: 2px;
  background: #fcfcfc;
  -webkit-box-shadow: 1px 1px 2px #eee inset;
  box-shadow: 1px 1px 2px #eee inset;
}

input[type="password"] {
  width: auto;
}

textarea {
  height: auto;
  line-height: 1.6;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: url(../images/ico_select_arrow.svg) no-repeat calc(100% - 8px)
      center,
    #fcfcfc;
  background-size: 1em auto;
  padding-right: 2em !important;
}

input[type="submit"],
input[type="reset"],
input[type="button"],
button {
  color: #fff;
  font-size: 1rem;
  line-height: 1;
  padding: 0.6em 1.8em;
  background: #0d84e5;
  border: 0;
  border-radius: 0;
  -webkit-appearance: none;
  position: relative;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
  display: inline-block;
  margin-top: 0.6em;
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover {
  background: #0c0c0c;
  text-decoration: none;
}

input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active,
button:active {
  top: 1px;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
}

input[disabled][type="submit"],
input[disabled][type="submit"]:hover,
input[disabled][type="submit"]:active {
  filter: alpha(opacity=60);
  -ms-filter: "alpha( opacity=60 )";
  opacity: 0.6;
  background: #4f4d4d;
  box-shadow: none;
  cursor: default;
}

@media screen and (min-width: 641px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="url"],
  input[type="search"],
  input[type="date"],
  input[type="number"],
  textarea,
  select {
    padding: 0.8em 1em;
  }
}

/* CF7 フォーム チェックボックス ラジオデザイン */

span.wpcf7-list-item {
  margin: 0 1em 0 0;
}

.wpcf7-list-item input[type="radio"],
.wpcf7-list-item input[type="checkbox"] {
  display: none;
}

.wpcf7-list-item-label {
  position: relative;
  cursor: pointer;
}

.wpcf7-list-item-label:before,
.wpcf7-list-item-label:after {
  content: "";
}

.wpcf7-list-item-label:before {
  display: inline-block;
  border: 1px solid;
  margin-right: 0.3em;
  background: #fff;
}

.wpcf7-list-item-label:after {
  opacity: 0;
  filter: alpha(opacity=0);
  -ms-filter: "alpha( opacity=0 )";
  -webkit-transition: all 0.3s ease 0s;
  -o-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.wpcf7-list-item input[type="checkbox"]:checked + .wpcf7-list-item-label:after,
.wpcf7-form.custom-wpcf7c-confirmed
  .wpcf7-list-item
  input[type="checkbox"]:checked
  + .wpcf7c-conf-hidden
  + .wpcf7-list-item-label:after,
.wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label:after,
.wpcf7-form.custom-wpcf7c-confirmed
  .wpcf7-list-item
  input[type="radio"]:checked
  + .wpcf7c-conf-hidden
  + .wpcf7-list-item-label:after {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha( opacity=100 )";
}

/* radio */

.wpcf7-radio .wpcf7-list-item-label:before,
.wpcf7-radio .wpcf7-list-item-label:after {
  border-radius: 50%;
}

.wpcf7-radio .wpcf7-list-item-label:before {
  width: 1.2em;
  height: 1.2em;
  vertical-align: -0.2em;
}

.wpcf7-radio .wpcf7-list-item-label:after {
  display: block;
  width: 0.6em;
  height: 0.6em;
  background: #4d4d4d;
  position: absolute;
  top: 51%;
  left: 0.6em;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* checkbox */

.wpcf7-checkbox .wpcf7-list-item-label:before,
.wpcf7-acceptance .wpcf7-list-item-label:before {
  width: 1.1em;
  height: 1.1em;
  border-radius: 2px;
  vertical-align: -0.2em;
}

.wpcf7-checkbox .wpcf7-list-item-label:after,
.wpcf7-acceptance .wpcf7-list-item-label:after {
  display: block;
  width: 1.1em;
  height: 0.6em;
  border-style: solid;
  border-width: 0 0 3px 3px;
  border-color: #4d4d4d;
  border-radius: 1px;
  position: absolute;
  top: 40%;
  left: 0.2em;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
  -ms-transform: translate(0, -50%) rotate(-45deg);
  transform: translate(0, -50%) rotate(-45deg);
}

/* パスワード入力フォーム
-------------------------------*/

.post-password-form p:last-child {
  text-indent: 0;
  text-align: center;
}

.post-password-form input[type="password"] {
  margin-left: 0.3em;
}

.post-password-form label {
  display: block;
  margin-bottom: 0.5em;
}

@media screen and (min-width: 641px) {
  .post-password-form label {
    display: inline-block;
    margin: 0 1.5em 0 0;
  }
}

/*========================================================
　 基本レイアウトブロック
========================================================*/

/*---------------------------------------
　基本ブロックエレメント
---------------------------------------*/

article:not(:last-child),
section:not(:last-child),
aside:not(:last-child) {
  margin-bottom: 40px;
}

/*main,
.layout-right .sidebar,
.layout-left .sidebar { padding-bottom: 40px; }*/

.layout-right .sidebar,
.layout-left .sidebar {
  margin-top: 40px;
}

.home.blog .layout-full main {
  padding-bottom: 0;
}

.center-box,
.center-box-l,
.center-box-s,
.center-box-md {
  margin-left: 3%;
  margin-right: 3%;
}

.center-box .center-box-s {
  margin: 0;
}

.center-box {
  max-width: 1080px;
}

.center-box-s {
  max-width: 728px;
}

.center-box-md {
  max-width: 800px;
  margin: 0 auto;
}

.center-box-2md {
  max-width: 900px;
  margin: 0 auto;
}

.center-box-l {
  max-width: 1600px;
}

/*.primary-wrap {
	margin-top: 40px;
	margin-bottom: 40px;
}*/

@media screen and (min-width: 772px) {
  /*main,
	.layout-right .sidebar,
	.layout-left .sidebar { padding-bottom: 80px; }*/

  .center-box-s,
  .center-box .center-box-s {
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 980px) {
  .layout-right .sidebar,
  .layout-left .sidebar {
    margin-top: 0;
  }

  .layout-right,
  .layout-left {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .layout-left {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .layout-right main,
  .layout-left main {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .layout-right .sidebar,
  .layout-left .sidebar {
    width: 300px;
  }

  .layout-right .sidebar {
    margin-left: 4.815%;
  }

  .layout-left .sidebar {
    margin-right: 4.815%;
  }

  .layout-full,
  .seminar-lp {
    width: 100%;
  }

  /*.primary-wrap {
		margin-top: 80px;
		margin-bottom: 80px;
	}*/
}

@media screen and (min-width: 1144px) {
  .center-box {
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (min-width: 1696px) {
  .center-box-l {
    margin-left: auto;
    margin-right: auto;
  }
}

/* footer 下部固定用
---------------------------------*/

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#body-wrap {
  position: relative;
  min-height: 100%;
}

#site-footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}

@media print {
  /*印刷用、フッター重なり防止*/

  #wrapper {
    padding-bottom: 0 !important;
  }

  #site-footer {
    position: relative;
    bottom: 0;
    width: auto;
  }
}

/* プライマリー メインブロックカラー関連
---------------------------------*/

.primary-wrap {
  padding-bottom: 40px;
}

.home .primary-wrap {
  padding-top: 40px;
}

.primary-wrap.home-widget-set.layout-full {
  padding: 0;
}

.mainblocks {
  padding-right: 3%;
  padding-left: 3%;
}

@media screen and (min-width: 641px) {
  .primary-wrap {
    padding-bottom: 80px;
  }

  .home .primary-wrap {
    padding-top: 80px;
  }

  .mainblocks {
    padding-right: 16px;
    padding-left: 16px;
  }
}

@media screen and (min-width: 980px) {
  .mainblocks {
    padding-right: 24px;
    padding-left: 24px;
  }
}

/*========================================================
　基本・汎用クラス
========================================================*/

/*---------------------------------------
　クリアフィックス
---------------------------------------*/

.clearfix:before,
.clearfix > .wp-block-group__inner-container:before,
.clearfix:after,
.clearfix > .wp-block-group__inner-container:after {
  content: " ";
  display: table;
  clear: both;
}

.clearfix {
  zoom: 1;
}

/*---------------------------------------
　WordPress クラス関連
---------------------------------------*/

/* メディア関連 */

.alignnone,
.alignright,
.aligncenter,
.alignleft,
.alignwide,
.alignfull,
.wp-video {
  margin-bottom: 1em;
}

figure img,
figure .alignnone,
figure .alignright,
figure .aligncenter,
figure .alignleft,
figure .wp-video {
  margin-bottom: 0;
}

.wp-block-media-text {
  margin-bottom: 1em;
}

/* グーテンベルグ対応	*/

.alignwide,
.alignfull {
  max-width: none;
}

.alignfull {
  margin: 0 -3%;
}

.wp-block-cover {
  width: auto;
}

@media screen and (max-width: 640px) {
  .alignleft,
  .wp-block-image > .alignleft,
  .alignrigh,
  .wp-block-image > .alignright {
    float: none;
    margin: 0 auto;
  }

  .wp-block-media-text .wp-block-media-text__media {
    margin-bottom: 0.5em;
  }

  .wp-block-media-text .wp-block-media-text__content {
    padding: 0;
  }
}

/* 動画*/

.mejs-inner {
  position: relative;
}

.mejs-layers {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 772px) {
  .alignwide {
    max-width: 95vw;
    margin: 0 calc(50% - 95vw / 2) 1em;
  }

  .wp-block-media-text.alignwide {
    margin: 0 0 1em;
  }

  .alignfull {
    margin: 0 calc(50% - 50vw) 1em;
  }
}

@media screen and (min-width: 1144px) {
  .alignwide {
    max-width: 1080px;
    margin: 0 calc(50% - 1080px / 2) 1em;
  }

  /*.alignfull { margin: 0 calc( 50% - 50vw ) 1em; }*/
}

/* 画像キャプション*/

.wp-caption {
  display: block;
  max-width: 100%;
}

.wp-caption-text,
.gallery-caption {
  font-size: 0.8em;
  line-height: 1.4;
  text-align: left;
  display: block;
  margin-top: 0.5em;
}

.mejs-mediaelement {
  position: static !important;
  top: auto !important;
  bottom: 480px;
}

.mejs-overlay {
  position: static !important;
}

/* ギャラリー */

ul.wp-block-gallery {
  margin-left: 0;
}

@media screen and (min-width: 641px) {
  .alignright {
    float: right;
    margin-left: 1.5em;
  }

  .aligncenter {
    display: block;
    margin: 0 auto 1.5em;
  }

  .alignleft {
    float: left;
    margin-right: 1.5em;
  }

  .contents .alignnone,
  .contents .alignleft,
  .contents .alignright,
  .contents .aligncenter {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
  }

  .wp-caption {
    max-width: 728px;
  }
}

/*---------------------------------------
　テキスト関連
---------------------------------------*/

/* フォントスタイル
-------------------------------*/

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

.text-right {
  text-align: right;
}

.text-bold {
  font-weight: 600;
}

.text-normal {
  font-weight: 400;
}

.text-mincho {
  font-family: Frank Ruhl Libre, "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro W3",
    "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
} /*YakuHanMP, */

.text-gothic {
  font-family: "YakuHanJP", -apple-system, BlinkMacSystemFont,
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,
    sans-serif;
}

.wbf-OS {
  font-family: "Open Sans", sans-serif;
}

/* webフォント
-------------------------------*/

.wbf-OS {
  font-family: "Open Sans", sans-serif;
}

.wbf-Cinzel {
  font-family: "Cinzel", serif;
}

.wbf-Frl {
  font-family: "Frank Ruhl Libre", serif;
}

/* "Font Awesome 5 Free"設定*/

.fa5:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right: 0.2em;
}

.fa5-phone:before {
  content: "\f095";
}

.fa5-fax:before {
  content: "\f1ac";
}

/* テキストカラー
-------------------------------*/

.text-black {
  color: #000 !important;
}

.text-red {
  color: #f00 !important;
}

.text-yellow {
  color: #ff0 !important;
}

.text-shadow {
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

/* テキスト送り設定
-------------------------------*/

.lh-14 {
  line-height: 1.4 !important;
}

.lh-16 {
  line-height: 1.6 !important;
}

/* サイズ相対指定
-------------------------------*/

.text06 {
  font-size: 0.6em !important;
}

.text07 {
  font-size: 0.7em !important;
}

.text08 {
  font-size: 0.8em !important;
}

.text09 {
  font-size: 0.9em !important;
}

.text110 {
  font-size: 1.1em !important;
}

.text120 {
  font-size: 1.2em !important;
}

.text130 {
  font-size: 1.3em !important;
}

.text140 {
  font-size: 1.4em !important;
}

.text150 {
  font-size: 1.5em !important;
}

.text160 {
  font-size: 1.6em !important;
}

.text180 {
  font-size: 1.8em !important;
}

.text200 {
  font-size: 2em !important;
}

/* インデント
-------------------------------*/

.p-indent p {
  text-indent: 1em;
}

.p-indent .indent0,
.p-indent .indent0 p,
.p-indent i {
  text-indent: 0;
}

.indent_-05 {
  text-indent: -0.5em;
}

.indent_-1 {
  padding-left: 1em !important;
  text-indent: -1em;
}

/* letterスペース
-------------------------------*/

.ls-005 {
  letter-spacing: -0.05em;
}

.ls-01 {
  letter-spacing: -0.1em;
}

.ls-02 {
  letter-spacing: -0.2em;
}

.ls-03 {
  letter-spacing: -0.3em;
}

.ls-04 {
  letter-spacing: -0.4em;
}

.ls-05 {
  letter-spacing: -0.5em;
}

/* 1文字目文字空け*/

.fls-1:first-letter {
  letter-spacing: 1em;
}

.fls-2:first-letter {
  letter-spacing: 2em;
}

/* <br>改行
-------------------------------*/

br.mb-br,
.mb-br br {
  display: inline;
}

br.pc-br,
.pc-br br {
  display: none;
}

/* 改行無し*/
.br-none br,
.br-none1st br:first-child,
.br-nonelast br:last-child {
  display: none;
}

@media screen and (min-width: 641px) {
  br.mb-br,
  .mb-br br {
    display: none;
  }

  br.pc-br,
  .pc-br br {
    display: inline;
  }
}

/* テキストhidden
-------------------------------*/

.text-hidden {
  overflow: hidden;
}

/* アイテム非表示
-------------------------------*/

.dis-none,
.mb-none {
  display: none !important;
}

@media screen and (min-width: 641px) {
  .mb-none {
    display: inline !important;
  }

  .pc-none {
    display: none !important;
  }
}

/* spanブロック
-------------------------------*/

.sp-block,
.mb-sp-block {
  display: block;
}

@media screen and (min-width: 641px) {
  .mb-sp-block {
    display: inline;
  }

  .pc-sp-block {
    display: block;
  }
}

/* 注釈テキスト
-------------------------------*/

.contents .note,
.p-indent .note p,
.p-indent p.note {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.4;
}

/* 検索結果のハイライト
---------------------------------*/

.search-excerpt {
  background: #ff0;
}

/* 記事編集リンク
-------------------------------*/

.edit-link {
  text-indent: 0;
  text-align: center;
}

/* テキストアンダーライン
-------------------------------*/

.uline-s,
.uline-d {
  padding-bottom: 0.3em;
}

.uline-s {
  border-bottom: 1px solid;
}

.uline-d {
  border-bottom: 1px dotted;
}

/* マーカー */

.marker-y {
  background: -moz-linear-gradient(
    transparent 80%,
    rgba(255, 230, 5, 0.8) 0%
  ) !important;
  background: -webkit-linear-gradient(
    transparent 80%,
    rgba(255, 230, 5, 0.8) 0%
  ) !important;
  background: linear-gradient(
    transparent 80%,
    rgba(255, 230, 5, 0.8) 0%
  ) !important;
}

/*---------------------------------------
　リスト関連
---------------------------------------*/

/* リストスタイルクリア
-------------------------------*/
nav ul,
ul.bread_crumb,
.ul-none,
.ol-none,
.link-list ul,
.link-list ol {
  list-style: none !important;
  padding: 0;
  margin: 0;
}

.style-none {
  list-style: none;
  padding-left: 0.5em;
}

/* スタイル再設定
-------------------------------*/

ul.ul-disc,
ol.ol-decimal {
  padding-left: 2.5em;
}

ul.ul-disc,
.ul-disc ul {
  list-style: disc;
}

ol.ol-decimal,
.ol-decimal ol {
  list-style: decimal;
}

/* リストマージン
-------------------------------*/

.li-mg05 > li:not(:last-child) {
  margin-bottom: 0.5em;
}

.li-mg1 > li:not(:last-child) {
  margin-bottom: 1em;
}

.li-mg15 > li:not(:last-child) {
  margin-bottom: 1.5em;
}

.li-mg2 > li:not(:last-child) {
  margin-bottom: 2em;
}

.contents > ul > li,
.content-bodywrap > ul > li,
.contents > ol li,
.content-bodywrap > ol > li {
  margin-bottom: 0.5em;
}

/* リスト装飾
-------------------------------*/

/* リンクリスト */

.link-list > li,
.link-list > ul > li,
.widget_nav_menu.link-list ul > li {
  padding-left: 1em;
  line-height: 1.4;
}

.link-list > ul li:not(:last-child),
.widget_nav_menu.link-list ul > li:not(:last-child) {
  margin-bottom: 0.3em;
}

.link-list > ul li .children {
  margin-top: 0.3em;
}

.link-list > ul > li > .children {
  margin-left: -0.25em;
}

.link-list > li:before,
.link-list > ul > li:before,
.widget_nav_menu.link-list ul > li:before {
  margin-left: -1em;
}

.link-list > li:before,
.link-list > ul > li:before,
.widget_nav_menu.link-list ul > li:before,
.btn-tx > a:before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.2em;
  vertical-align: 0.1em;
  border-style: solid;
  border-width: 2px 2px 0 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  /*content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	padding-right: 0.2em;*/
}

/* チェックリスト */

.checklist-fa {
  list-style: none;
}

.checklist-fa > li:before {
  content: "\f14a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-weight: 400;
  padding-right: 0.2em;
}

/* cssチェックリスト */

.checklist-css {
  list-style: none;
  margin-left: 0;
}

.checklist-css > li {
  line-height: 1.5;
  position: relative;
}

.checklist-css > li:not(:last-child) {
  margin-bottom: 0.8em;
}

.checklist-css > li:before,
.checklist-css > li:after {
  content: "";
  display: inline-block;
}

.checklist-css > li:before {
  width: 1em;
  height: 1em;
  border: 2px solid;
  border-radius: 2px;
  background: #fff;
  margin: 0 0.5em 0 -1.5em;
  vertical-align: -0.1em;
}

.checklist-css > li:after {
  width: 1em;
  height: 0.5em;
  border-style: solid;
  border-width: 0 0 3px 3px;
  border-radius: 1px;
  position: absolute;
  top: 0.3em;
  left: -1.3em;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

/* olリナンバリング */

.renumber-list {
  list-style: none;
}

.renumber-list > li {
  counter-increment: re-number;
}

/*.renumber-list > li > h3:before,
.renumber-list > li > h4:before,
.renumber-list > li > h5:before,
.renumber-list > li > h6:before  {
	content: counter(re-number)'.';
	display: inline-block;
}*/

/* ボタン設定
-------------------------------*/

p.btn-tx {
  text-indent: 0;
}

.loop-article .btn-tx {
  text-align: right;
}

.btn-tx a,
a.btn-tx {
  font-size: 0.875em;
  line-height: 2;
  display: inline-block;
  padding: 0 0.6em;
  border: 1px solid;
  border-radius: 2px;
  background: #fff;
}

.btn-tx a:hover,
a:hover.btn-tx {
  color: #fff !important;
  text-decoration: none;
  background: #4169e1;
}

/* 下向き矢印
-------------------------------*/

.flow > li:after,
.flow-s > li:after {
  content: "";
  display: block;
  margin: 0 auto 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #ccc transparent transparent;
}

.flow > li:after {
  border-width: 24px 36px;
}

.flow-s > li:after {
  border-width: 16px 20px;
}

.flow > li:last-child:after,
.flow-s > li:last-child:after {
  content: none;
}

/* ボックス型 */

.flow-box.flow > li,
.flow-box.flow-s > li {
  padding: 16px 8px;
  background: #fff;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
  position: relative;
}

.flow-box.flow > li:not(:last-child) {
  margin-bottom: 56px;
}

.flow-box.flow-s > li:not(:last-child) {
  margin-bottom: 40px;
}

.flow-box.flow > li:after,
.flow-box.flow-s > li:after {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}

.flow-box.flow > li:after {
  top: calc(100% + 12px);
}

.flow-box.flow-s > li:after {
  top: calc(100% + 12px);
}

@media screen and (min-width: 641px) {
  .flow-box.flow > li {
    padding: 16px;
  }
}

/* リンク矢印 */

.link-arrow-l > a:before,
a.link-arrow-l:before,
.link-arrow-r > a:after,
a.link-arrow-r:after {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin: 0.4em;
  vertical-align: -0.42em;
  border-style: solid;
  border-width: 3px 3px 0 0;
  border-radius: 1px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/*---------------------------------------
　dl関連
---------------------------------------*/

/* dlフロート
-------------------------------*/

.dl-float {
  margin: 0;
}

.dl-float > dt {
  font-weight: 600;
}

.dl-float > dd {
  margin-bottom: 1em;
}

.dl-float > dd:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 641px) {
  .dl-float > dt {
    float: left;
    margin-right: 0.5em;
  }

  .dl-float > dd {
    display: block;
    overflow: hidden;
  }
}

/* Q & A
-------------------------------*/

.contents .QandA p {
  text-indent: 0;
}

.QandA dt,
.QandA dd:first-letter,
.QandA dd p:first-child:first-letter {
  font-size: 1.2em;
  font-weight: 600;
}

.QandA dt {
  padding-left: 1.5em;
  text-indent: -1.5em;
  line-height: 1.4;
}

.QandA dd + dt {
  border-top: 1px dotted #999;
  padding-top: 1em;
  margin-top: 1em;
}

.QandA dd {
  margin: 0 0 0 0;
  padding-left: 1.5em;
}

.QandA dd,
.QandA dd p:first-child {
  text-indent: -1.5em;
}

.QandA dd:first-letter,
.QandA dd p:first-child:first-letter {
}

.QandA dd li {
  text-indent: 0;
}

/*---------------------------------------
　レイアウト・背景関連
---------------------------------------*/

/* ボックス、フレーム設定
-------------------------------*/

.box,
.wh-box,
.fr-box,
.fr-box-r {
  padding: 16px;
}

.wh-box {
  background: #fff;
  border-radius: 2px;
}

/* フレーム */

.fr-box,
.fr-box-r,
.frame {
  border-style: solid;
  border-width: 1px;
}

.fr-box-r {
  border-radius: 8px;
}

.frame img {
  margin: 0;
}

@media screen and (min-width: 641px) {
  .contents .wh-box,
  .contents .box,
  .contents .fr-box {
    padding: 24px;
  }
}

/* ボックスシャドウ */

.wh-box,
.box-shodow {
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
}

/*コーナー裁ち落とし */

.corner-cut {
  position: relative;
}

.corner-cut:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  border-color: transparent #fff #fff transparent;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 10;
}

/* 背景・フレームカラー設定
-------------------------------*/

/* 背景 */

.bg-white {
  background: #fff;
}

.bg-lgray {
  background: #f5f5f5;
}

.bg-lbeige {
  background: #f3eee5;
}

.bg-lyellow {
  background: #f5f4e6;
}

/* フレーム */

.fr-lgray {
  border-color: #ccc;
}

/* フレックスボックス
-------------------------------*/

.flex-box,
.flex-box > .wp-block-group__inner-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.flex-jus-j,
.flex-jus-j > .wp-block-group__inner-container {
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.flex-item-c,
.flex-item-c > .wp-block-group__inner-container {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.flex-wrap,
.flex-wrap > .wp-block-group__inner-container {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flex-auto,
.flex-auto > .wp-block-group__inner-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media screen and (min-width: 641px) {
  .pcflex-box,
  .pcflex-box > .wp-block-group__inner-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .pcflex-box
    > .wp-block-group__inner-container
    .wp-block-group:not(:last-child) {
    margin-right: 1.5em;
  }

  .flex-autokeep,
  .flex-autokeep > .wp-block-group__inner-containe {
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}

/* フロート関連
-------------------------------*/

.float-L {
  float: left;
}

.float-R {
  float: right;
}

.float-C {
  clear: both;
}

/* ポジション関連
-------------------------------*/
.relative {
  position: relative;
}

/* ブロック横並び
-------------------------------*/

.sideby-side02,
.sideby-side03,
.sideby-side04 {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 641px) {
  .sideby-side02,
  .sideby-side03,
  .sideby-side04 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .sideby-side02 > li,
  .sideby-side02 > p {
    width: 48.235% !important;
  }

  .sideby-side03 > li,
  .sideby-side03 > p {
    width: 30.98% !important;
  }

  .sideby-side04 > li,
  .sideby-side04 > p {
    width: 22.36% !important;
  }
}

/*---------------------------------------
　マージン・パディング関連
---------------------------------------*/

/* マージン
-------------------------------*/

.mg-t0 {
  margin-top: 0 !important;
}

.mg-t8 {
  margin-top: 8px !important;
}

.mg-t16 {
  margin-top: 16px !important;
}

.mg-t32 {
  margin-top: 32px !important;
}

.mg-t40 {
  margin-top: 40px !important;
}

.mg-t80 {
  margin-top: 40px !important;
}

.mg-b0 {
  margin-bottom: 0 !important;
}

.mg-b8 {
  margin-bottom: 8px !important;
}

.mg-b16 {
  margin-bottom: 16px !important;
}

.mg-b32 {
  margin-bottom: 32px !important;
}

.mg-b40 {
  margin-bottom: 40px !important;
}

.mg-b56 {
  margin-bottom: 56px !important;
}

.mg-b80 {
  margin-bottom: 80px !important;
}

.mg-tb0 {
  margin: 0 !important;
}

.mg-tb16 {
  margin: 16px 0 !important;
}

.mg-tb32 {
  margin: 32px 0 !important;
}

.mg-tb40 {
  margin: 40px 0 !important;
}

.mg-l0 {
  margin-left: 0 !important;
}

.mg-l1 {
  margin-left: 1em !important;
}

/* パディング
-------------------------------*/

.pd-t0 {
  padding-top: 0;
}

.pd-tb40 {
  padding: 40px 0;
}

.pd-tb56 {
  padding: 56px 0;
}

/*========================================================
　ウィジェット類 基本設定
========================================================*/

/* 基本設定 */

.widget-container:not(:last-child) {
  margin-bottom: 16px;
}

.widget-title {
  font-size: 1.125em;
}

.widget-container > ul,
.widget-container > ol,
.widget-container.widget_nav_menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* searchウィジェット設定
----------------------------*/

.widget_search form div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.widget_search input[type="submit"] {
  font-size: 1em;
  line-height: 1;
  padding: 0.1em 1em;
  margin: 0 0 0 0.5em;
}

/* searchform 設定
----------------------------*/

.search-form {
  position: relative;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.search-submitbtn {
  color: #999;
  padding: 0 4px;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  background: none;
  position: absolute;
  right: 8px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translateX(0) translateY(-50%);
  transform: translate(0, -50%);
}

.search-submitbtn i {
  font-size: 1.3em;
}

.search-submitbtn:hover {
  color: #4d4d4d;
  background: none;
}

.search-submitbtn:active {
  top: calc(50% + 1px);
}

/*ウィジェット カレンダー
----------------------------*/

/* ギャラリー
----------------------------*/

.widget_media_gallery .gallery {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.widget_media_gallery .gallery figure {
  margin: 0;
}

/*========================================================
　オリジナルデザイン 基本設定
========================================================*/

/*---------------------------------------
 ヘッダー&フッター&サイドバー 基本設定
---------------------------------------*/

.site-head,
.site-footer,
.sidebar {
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.5;
}

/*---------------------------------------
　ヘッダー設定
---------------------------------------*/

.site-head {
  padding-top: 48px;
}

.head-contents {
  text-align: center;
  padding: 16px 0;
  display: flex;
  justify-content: space-between;
  width: 100%;
  background: #fff;
  top: 0;
  left: 0;
  z-index: 9999;
}

/* サイトタイトル */

.site-title {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 0.3em;
  display: flex;
  align-items: center;
}

.site-descri {
  font-weight: 400;
  font-size: 1rem;
  display: block;
  margin: 0 0 0.3em;
}

/* ロゴテキスト組合せ */

.home .site-title.logo-left,
.site-title.logo-left a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.site-title.logo-left {
  text-align: left;
  width: max-content;
  margin: 0 auto;
}

.site-title.logo-left img {
  width: auto;
  max-height: 2.2em;
  margin-right: 0.3em;
  vertical-align: middle;
}

.head-contents.headwidg-on {
  align-items: center;
  height: 55px;
  padding: 0 10px;
}

@media screen and (min-width: 1200px) {
  .head-contents.headwidg-on {
    align-items: unset;
    height: 80px;
  }
}

@media screen and (min-width: 641px) {
  .site-head {
    padding-top: 0;
  }

  .head-contents.headwidg-on {
    text-align: left;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .head-branding {
    flex: 1;
    display: flex;
    align-items: center;
  }

  .head-branding .site-title {
    line-height: 1.2;
    margin-bottom: 0;
  }

  .headwidg-on .site-title.logo-left {
    margin: 0;
  }
}

@media screen and (min-width: 1200px) {
  .head-branding {
    padding: 5px 15px;
  }
}

@media screen and (min-width: 1500px) {
  .head-branding {
    padding-left: 50px;
  }
}

/*---------------------------------------
　ナビゲーション設定
---------------------------------------*/

/* スマートフォン設定
-------------------------------*/

/*.mean-bar { background: rgba( 255,255,255,0.85 ); }*/

.mean-bar a.meanmenu-reveal {
  background: rgba(255, 255, 255, 0.8);
}

.mean-bar a.meanmenu-reveal.meanclose:after {
  background: rgba(255, 255, 255, 0.9);
}

.mean-nav ul li {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.9);
}

.mean-bar a.meanmenu-reveal.meanclose + .mean-nav {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}

/*.mean-nav a:hover,
.mean-nav .main-menu > li:hover > a,
.mean-nav .main-menu > li:hover li:hover > a,
.mean-nav .main-menu li:hover ul li ul li:hover a {
	color: #fff;
	background: #2e416e;
}*/

@media screen and (max-width: 640px) {
  /* ベース、ハンバーガー設定 */

  .mean-container .mean-bar {
    width: 100%;
    min-height: 48px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 5000;
  }

  .mean-bar a.meanmenu-reveal {
    font-size: 10px !important;
    line-height: 1;
    text-align: center;
    display: block;
    position: absolute;
    top: 0;
    /*left: 10px !important;*/
    padding: 3px 8px;
  }

  .mean-bar a:hover {
    text-decoration: none;
  }

  /* Font Awesome メニュー 版 */

  /*.mean-bar a.meanmenu-reveal:before {
		content: "\f0c9";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		font-size: 32px;
		display: block;
	}

	.mean-bar a.meanmenu-reveal.meanclose:before { content: "\f00d"; }

	.mean-bar a.meanmenu-reveal.meanclose:after {
		content: '';
		display: block;
		height: 48px;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: -1;
	}*/

  /* CSSハンバーガーメニュー */

  .mean-bar a.meanmenu-reveal::before,
  .mean-bar a.meanmenu-reveal.meanclose::before {
    content: none;
  }

  .meanmenu-reveal {
    text-align: center;
    width: 48px;
    height: 48px;
    position: relative;
    display: block;
    cursor: pointer;
  }

  .meanmenu-reveal > span,
  .meanmenu-reveal > span:before,
  .meanmenu-reveal > span:after {
    width: 30px;
    position: absolute; /* .meanmenu-revealに対して */
    left: 8px;
    display: block;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    border-top: solid 1px;
    border-bottom: solid 1px;
    /*border-color: #ccc;*/
  }

  .meanmenu-reveal > span:before,
  .meanmenu-reveal > span:after {
    content: "";
    left: 0;
    /*border-color: #fff;*/
  }

  .meanmenu-reveal > span {
    top: 14px;
  }

  .meanmenu-reveal > span:before {
    top: 9px;
  }

  .meanmenu-reveal > span:after {
    top: 18px;
  }

  /* 最初のspanをマイナス45度に */

  .meanmenu-reveal > span.btn-c {
    top: 23px;
    left: 8px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  .meanmenu-reveal > span.btn-c:before {
    content: none;
  }

  .meanmenu-reveal > span.btn-c:after {
    top: 0;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    transform: rotate(90deg);
  }

  /*.meanmenu-reveal span:nth-child(1) { top: 14px; }

	.meanmenu-reveal span:nth-child(2) { top: 23px; }

	.meanmenu-reveal span:nth-child(3) { top: 32px; }*/

  /* 最初のspanをマイナス45度に */
  /*.meanmenu-reveal.meanclose span:nth-child(1) {
		top: 23px;
		left: 8px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}*/

  /* 2番目と3番目のspanを45度に */
  /*.meanmenu-reveal.meanclose span:nth-child(2) { display: none; }
	.meanmenu-reveal.meanclose span:nth-child(3) {
		top: 23px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}*/

  /* メニュー本体 */

  .mean-nav {
    padding-top: 48px;
  }

  .mean-nav ul {
    list-style: none;
    line-height: 1.2;
    margin: 0;
    padding: 0;
  }

  .mean-nav ul li {
    position: relative;
  }

  .mean-nav li > ul {
    display: block;
  }

  .mean-nav a {
    font-size: 14px;
    line-height: 1;
    display: block;
    padding: 0.8em 0.5em;
  }

  /* サブ開閉ボタン */

  .mean-nav > ul > li > a,
  .mean-nav .menu-item-has-children {
    padding-left: 28px;
  }

  .mean-nav > ul > li.menu-item-has-children > a:first-child {
    padding-left: 0.5em;
  }

  .mean-nav a.mean-expand {
    font-weight: 600;
    line-height: 1;
    width: 28px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.1);
    z-index: 2;
    border-right: 1px solid rgba(255, 255, 255, 0.5);
    padding: 0.64em 0;
  }

  .main-menu a.mean-expand:hover,
  .main-menu li:hover a.mean-expand:hover {
    background: rgba(0, 0, 0, 0.5);
  }
}

/* タブレット・PC用 設定
-------------------------------*/
@media screen and (max-width: 1200px) {
  ul.main-menu {
    display: flex;
    flex-direction: column;
    margin-top: 55px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 20px;
    background: #fff;
  }
  .main-menu > li {
    text-align: center;
  }
  .main-menu > li > a {
    position: relative;
    display: block;
    width: 100%;
    border-bottom: 1px solid #ccc;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 15px;
    font-weight: bold;
    text-align: left;
    color: #222;
  }
  .main-menu > li > a:hover {
    color: #222;
  }
  .main-menu > li:first-child > a {
    border-top: 1px solid #ccc;
  }

  .main-menu > li > a br {
    display: none;
  }
  .main-menu > li > a::before {
    content: "";
    position: absolute;
    display: block;
    top: calc(50% - 4px);
    right: 15px;
    width: 12px;
    height: 1px;
    transform: translateY(-50%) rotate(45deg);
    background: #222;
  }
  .main-menu > li > a::after {
    content: "";
    position: absolute;
    display: block;
    top: calc(50% + 4px);
    right: 15px;
    width: 12px;
    height: 1px;
    transform: translateY(-50%) rotate(-45deg);
    background: #222;
  }
  .main-menu > li.menu-item-has-children > a::before {
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 1px;
    background: #222;
  }
  .main-menu > li.menu-item-has-children > a::after {
    content: "";
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 15px;
    background: #222;
  }
  .main-menu > li.menu-item-has-children.active > a::after {
    display: none;
  }
  .main-menu > li > a:hover {
    text-decoration: none;
  }
  .main-menu > li .sub-menu-wrapper {
    position: absolute;
    visibility: hidden;
  }
  .main-menu > li.active .sub-menu-wrapper {
    position: relative;
    visibility: visible;
  }
  .main-menu > li .sub-menu {
    display: flex;
    flex-wrap: wrap;
  }
  .main-menu > li .sub-menu li {
    width: 50%;
    border-bottom: 1px solid #ccc;
  }
  .main-menu > li .sub-menu li:nth-child(odd) {
    border-right: 1px solid #ccc;
  }
  .main-menu > li .sub-menu li a {
    position: relative;
    width: 100%;
    padding: 20px 10px;
    font-size: 12px;
    color: #222 !important;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .main-menu > li .sub-menu li a:hover {
    color: #222 !important;
    text-decoration: none;
  }
  .main-menu > li .sub-menu li > a::before {
    content: "";
    position: absolute;
    display: block;
    top: calc(50% - 3px);
    right: 15px;
    width: 8px;
    height: 1px;
    transform: translateY(-50%) rotate(45deg);
    background: #222;
  }
  .main-menu > li .sub-menu li > a::after {
    content: "";
    position: absolute;
    display: block;
    top: calc(50% + 3px);
    right: 15px;
    width: 8px;
    height: 1px;
    transform: translateY(-50%) rotate(-45deg);
    background: #222;
  }
}

@media screen and (min-width: 1200px) {
  /*メニュー ベースカラー*/

  .sub-menu-wrapper {
    position: absolute;
    width: 100%;
    top: calc(100% + 1px);
    left: 0;
    padding-top: 20px;
    background: #fff;
    visibility: hidden;
    opacity: 0;
    display: flex;
    justify-content: center;
  }

  .sub-menu-wrapper .sub-menu {
    display: flex;
  }

  .main-menu li:hover .sub-menu-wrapper {
    opacity: 1;
    visibility: visible;
  }

  /* 第1階層 */

  nav.main-menu > ul,
  ul.main-menu {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
  }

  .main-menu li {
    line-height: 1.4;
    text-align: center;
    margin: 0;
    padding: 0;
    position: relative;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -webkit-transition: 0.2s;
    -ms-transition: 0.2s;
    transition: 0.2s;
  }

  .main-menu li,
  .main-menu a {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .main-menu a {
    width: 100%;
    height: 100%;
    padding: 0 1em;
    position: relative;
    -ms-transition: 0.2s;
    -o-transition: 0.2s;
    transition: 0.2s;
  }

  /* サブメニュー持ち */

  .main-menu > li > a {
    padding: 0 20px !important;
  }
  .main-menu > li.menu-item-has-children > a {
    position: relative;
  }
  .main-menu > li > a:hover {
    text-decoration: none;
  }

  /* 第2階層 */

  .main-menu li ul.sub-menu {
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    max-width: 720px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .main-menu > li:last-child > ul {
    left: auto;
    right: 0;
  }

  .main-menu ul.sub-menu li {
    overflow: hidden;
    width: 220px !important;
    min-height: auto;
    height: 0;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
    transition: 0.2s;
    margin-bottom: 20px;
    margin-right: 20px;
  }

  .main-menu li:hover > ul.sub-menu > li {
    overflow: visible;
    height: 3em;
  }

  .main-menu ul.sub-menu a {
    padding: 0 0.8em;
  }

  /* 第３階層*/

  .main-menu li ul.sub-menu li ul.sub-menu {
    top: 0;
    left: 100%;
  }

  .main-menu > li:last-child ul.sub-menu li ul.sub-menu {
    left: -100%;
  }

  .main-menu li ul ul.sub-menu:before {
    content: "";
    width: 0;
    height: 0;
    border: 5px solid transparent;
    position: absolute;
    top: 1.5em;
    left: -8px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
  }

  .main-menu > li:last-child ul ul.sub-menu:before {
    left: auto;
    right: -8px;
  }

  /* サブボーダーカラー */

  .main-menu > li:hover > ul.sub-menu a {
    border-top: 1px solid rgba(255, 255, 255, 0.3);
  }

  .main-menu li:hover > ul.sub-menu > li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }

  .main-menu li ul.sub-menu li:hover > ul.sub-menu a {
    border-left: 1px solid rgba(255, 255, 255, 0.3);
  }

  .main-menu > li:last-child ul.sub-menu li:hover > ul.sub-menu a {
    border-left: none;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
  }

  /* サブ持ち矢印カラー */

  .main-menu > li.menu-item-has-children > a:after {
    border-top-color: #ccc;
  }

  .main-menu li ul ul.sub-menu:before {
    border-left-color: #ccc;
  }

  .main-menu > li:last-child ul ul.sub-menu:before {
    border-left-color: transparent;
    border-right-color: #ccc;
  }
}

/*---------------------------------------
　フッター設定
---------------------------------------*/

/* フッター コンテンツ */

/*.foot-container { border-top: 1px solid #eee; }*/

.foot-contents {
  padding: 40px 0;
}

.foot-menu > li:not(:last-child) {
  margin-bottom: 1em;
}

/*.foot-branding .site-title {
	font-size: 24px;
	font-size: 1.5em;
}*/

.show-footcompany {
  font-size: 1.2em;
  font-weight: 600;
}

.footadd-ul > li > span {
  display: block;
}

.foot-widg-area {
  margin-top: 40px;
}

.copyright {
  font-size: 13px;
  font-size: 0.8125rem;
  text-align: center;
  margin: 0;
  padding: 0 0 0.3em;
}

@media screen and (min-width: 641px) {
  .foot-contents {
    text-align: center;
    padding: 40px 0;
  }

  .foot-menu > li {
    display: inline-block;
  }

  .foot-menu > li:not(:last-child) {
    margin-bottom: 0.5em;
  }

  .footadd-ul .f-add br {
    display: none;
  }
}

/* トップへ戻るボタン
-------------------------------*/

.page-top {
  width: 40px;
  height: 40px;
  position: fixed;
  z-index: 9999;
  right: 4%;
  bottom: 16px;
}

.page-top a {
  text-align: center;
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  -webkit-transition: 1s;
  transition: 1s;
  border-radius: 50%;
  background: #999;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.page-top a:before {
  content: "";
  display: block;
  width: 40%;
  height: 40%;
  border-style: solid;
  border-width: 3px 3px 0 0;
  border-color: #fff #fff transparent transparent;
  border-radius: 1px;
  position: absolute;
  top: 38%;
  left: 50%;
  -webkit-transform: translate(-50%) rotate(-45deg);
  -ms-transform: translate(-50%) rotate(-45deg);
  transform: translate(-50%) rotate(-45deg);
}

.page-top a:hover {
  /*color: #fff;*/
  text-decoration: none;
  opacity: 1;
  filter: alpha(opacity=100);
}

.page-top a:hover {
  text-decoration: none;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}

@media screen and (min-width: 641px) {
  .page-top {
    width: 50px;
    height: 50px;
    right: 24px;
    bottom: 48px;
  }

  .page-top .fas {
    font-size: 46px;
  }
}

/*フッターコンタクト
-------------------------------*/

.foot-contact {
  text-align: center;
  padding: 40px 1em;
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.foot-contact:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
}

.foot-contact,
.site-footer .foot-contact a:not(:hover),
.site-footer .foot-contact a:hover {
  color: #fff;
}

.foot-contact p {
  text-indent: 0;
  position: relative;
  z-index: 100;
}

.foot-contact a {
  font-family: "Open Sans", sans-serif;
  font-size: 1.25em;
  line-height: 1;
  display: inline-block;
  letter-spacing: 1px;
  border: 1px solid;
  padding: 0.4em 1em;
  margin-bottom: 0.5em;
}

.foot-contact a:hover {
  text-decoration: none;
  background: #ccc;
  border-color: #ccc;
}

@media screen and (min-width: 728px) {
  .foot-contact {
    padding: 56px 0;
  }

  .foot-contact p {
    font-size: 24px;
    font-size: 1.5em;
  }
}

/*========================================================
　ウィジェット サイドバー 設定
========================================================*/

.widget-title {
  padding: 0 0 0.2em;
  border-bottom: 1px solid #eee;
}

/* サイドウィジェット
-----------------------------------*/

.sidebar .widget-container {
  max-width: 300px;
  margin: 0 auto 40px;
}

.sidebar .widget-container:last-child {
  margin-bottom: 0;
}

.sidebar .widget_nav_menu > div,
.sidebar .widget-title + div + ul {
  padding: 0 0 0 8px;
}

@media screen and (min-width: 641px) and (max-width: 979px) {
  .sidebar {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .sidebar .widget-container {
    width: 300px;
    margin: 0 auto 40px;
  }
}

/* フルレイアウト
------------------------*/

.full-side {
  padding: 0;
}

.full-side.mainblocks-side {
  padding-top: 0;
}

.full-side.mainblocks-side .mainblocks {
  padding-top: 40px;
}

.layout-right .full-side,
.layout-left .full-side {
  background: none;
  padding: 0;
}

.full-side .widget-container.widget_media_image,
.full-side .widget-container.widget_media_video {
  padding: 0;
  background: none;
}

@media screen and (min-width: 641px) {
  .full-sidebox {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    justify-content: center;
  }

  .full-side .widget-container {
    /*width: 29.33%;*/
    margin: 0 2% 40px;
  }
}

/*========================================================
　Wrapper部共通
========================================================*/

/*.home .wrapper { padding-top: 0; }*/

/* パンくずリスト dx-パンくず
-------------------------------*/

.bread-crumb-wrap {
  padding: 16px 0 40px;
}

.bread-crumb {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 0;
  margin: 0;
}

.bread-crumb li:before,
.bread-crumb li:after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

.bread-crumb li {
  display: inline-block;
  line-height: 1.2;
}

.bread-crumb li.top:before {
  content: "\f015";
  padding-right: 0.2em;
}

.bread-crumb li:not(:last-child):after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.4em;
  border-color: transparent transparent transparent #999;
  margin: 0 -0.3em 0 0.5em;
}

.bread-crumb li:last-child {
  max-width: 20em;
  overflow: hidden;
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  vertical-align: bottom;
}

.bread-crumb li:last-child:after {
  content: none;
}

@media screen and (min-width: 641px) {
  .bread-crumb-wrap {
    padding: 32px 0 40px;
  }
}

@media screen and (min-width: 980px) {
  .bread-crumb-wrap {
    width: 100%;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}

/*========================================================
　contents部分基本
========================================================*/

.contents figure {
  margin-bottom: 1em;
}

.contents > section:last-child {
  margin-bottom: 0;
}

.contents p {
  margin-bottom: 0.5em;
}

.contents > p {
  margin-bottom: 1em;
}

.contents p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 641px) {
  .contents > p {
    margin-bottom: 1.5em;
  }

  .contents > ul > li,
  .contents > ol > li {
    margin-bottom: 0.5em;
  }
}

/*========================================================
　アーカイブ & 固定 ＆ シングル&固定共通（サイズ以外）
========================================================*/

/* ページタイトル
-------------------------------*/

.contents-head {
  margin-bottom: 40px;
}

.layout-full .contents-head {
  text-align: center;
}

.entry-title {
  margin: 0;
}

.post-meta {
  font-size: 0.875em;
  margin-top: 0.5em;
}

.post-meta > span:not(:last-child) {
  margin-right: 0.5em;
}

/*========================================================
　 アーカイブページ
========================================================*/

.cat-desc:before,
.cat-desc:after {
  content: "";
  display: table;
  clear: both;
}

.cat-desc,
.layout-full .new-cat-section.center-box-s {
  margin-bottom: 40px;
}

/*---------------------------------------
　ループ内 設定
---------------------------------------*/

.loop-article {
  position: relative;
}

.loop-article:not(:last-child) {
  padding-bottom: 16px;
  border-bottom: 1px dotted;
  margin-bottom: 16px;
}

.loop-article.sticky {
  border-bottom: none;
  margin-bottom: 32px;
}

.loop-head p {
  text-indent: 0;
}

.loop-title {
  font-size: 1.375em;
  margin-bottom: 0.2em;
}

.loop-meta {
  margin-bottom: 1em;
}

/* サムネイル設定 */

.thum-box {
  text-align: center;
  width: 100%;
  overflow: hidden;
  padding-top: 66%;
  margin: 0 auto 1em;
  position: relative;
  /*background: #f5f5f5;*/
}

.thum-box img {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  width: auto;
}

/*.thum-box img.img-width {
	max-width: none;
	width: 100%;
}

.thum-box img.img-height {
	-webkit-transform: translate(-50%, -36%);
	-ms-transform: translate(-50%, -36%);
	transform: translate(-50%, -36%);
}

.thum-box img.ratio {
	max-width: none;
	width: auto;
	height: 100%;
}*/

@media screen and (min-width: 641px) {
  .loop-article.flex-article .loopflex-ctr {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  .new-cat-section .loop-article.flex-article .loopflex-ctr {
    display: block;
  }

  .thum-box {
    width: 30%;
    margin: 0 1em 0 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-top: 0;
    height: 160px;
    /*max-height: 15.8em;*/
  }

  .semi-end-section .thum-box {
    height: auto;
  }

  .semi-article .thum-box {
    padding-top: 0;
    height: auto;
  }

  .new-cat-section .thum-box {
    width: 100%;
    padding-top: 66%;
    margin: 0 0 1em;
  }

  .thum-box img.img-width {
    max-width: none;
    width: 100%;
    /*height: 160px;*/
  }

  /*.loop-article .loop-head,
	.loop-article .loop-txt { overflow: hidden; }*/

  .contents .loop-article p:not(:last-child) {
    margin-bottom: 1em;
  }

  /*.thum-box {
		width: 30%;
		padding-top: 22.5%;
		max-height: none;
		float: left;
		margin: 0 1em 0 0;
	}

	.new-cat-section .thum-box {
		width: 100%;
		padding-top: 66%;
		margin: 0 0 1em;
		float: none;
	}*/
}

/*========================================================
　シングルページ 固定ページ
========================================================*/

/* シングルページタイトル
-------------------------------*/

.single-meta {
  margin-bottom: 40px;
}

/* シングルページ ページ分割
-------------------------------*/

.post-nav-links {
  text-align: center;
}

.post-nav-links .post-page-numbers {
  padding: 0.1em 0.5em;
  margin: 0 3px;
  background: #fff;
  border: 1px solid #eee;
}

/*.post-nav-links .post-page-numbers.current,
.post-nav-links a:hover.post-page-numbers {
	color: #fff;
	background: #999;
	text-decoration: none;
}*/

/* シングルページナビ
-------------------------------*/

.single-nav {
  font-size: 14px;
  font-size: 0.875rem;
  list-style: none outside none;
  padding: 16px 0 0;
  margin: 32px 0 0;
  border-top: solid 1px #ccc;
  width: 100%;
}

.single-nav li {
  line-height: 1.4;
  margin-bottom: 0.5em;
  position: relative;
}

.single-nav-left {
  float: left;
  margin-left: 0.8em;
}

.single-nav-right {
  float: right;
  margin-right: 0.8em;
}

.single-nav-left a:before,
.single-nav-right a:after {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  border-style: solid;
  border-width: 2px;
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0.35em;
}

.single-nav-left a:before {
  border-top-color: transparent;
  border-right-color: transparent;
  border-top-width: 0;
  border-right-width: 0;
  margin-left: -0.8em;
  left: 0;
}

.single-nav-right a:after {
  border-bottom-color: transparent;
  border-left-color: transparent;
  border-bottom-width: 0;
  border-left-width: 0;
  margin-right: -0.8em;
  right: 0;
}

@media screen and (min-width: 641px) {
  .single-nav li {
    max-width: 36%;
  }
}

/* コンテンツタグリスト
-------------------------------*/

.tag-box {
  margin: 2em 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: #f5f5f5;
  padding: 8px;
}

.tag-box h6,
.contents-taglist {
  font-size: 16px;
  font-size: 0.9417rem;
  line-height: 1.4;
}

.tag-box h6 {
  margin: 0 0.5em 0 0;
}

.contents-taglist {
  list-style: none;
  margin: 0;
  padding: 0;
  /*background: #f5f5f5;*/
}

.contents-taglist li {
  display: inline-block;
  margin-right: 0.5em;
}

.contents-taglist li:before {
  content: "# ";
}

/* シングル 追加セクション
-------------------------------*/

.added-section {
  margin-top: 40px;
}

/* CF7フォーム
-------------------------------*/

.form-box {
  padding: 16px 8px;
}

table.form-table,
.form-transmit p {
  font-size: 15px;
  font-size: 0.9375rem;
}

table.form-table {
  width: 100%;
  border-top: none;
  margin-bottom: 16px;
}

table.form-table th,
table.form-table td {
  border-bottom: none;
}

table.form-table th {
  font-weight: normal;
  background: none;
  text-align: left;
}

table.form-table td {
  padding: 0 0 0.8em;
}

input[type="number"],
.form-s input[type="text"],
.form-s select {
  max-width: 8em;
}

input[type="date"] {
  width: 12em;
}

.form-ss input[type="text"],
.form-ss input[type="date"],
.form-ss input[type="number"] {
  max-width: 4em;
}

.btn-line {
  text-align: center;
}

.btn-line input[type="submit"] {
  margin-top: 0;
}

@media screen and (min-width: 641px) {
  .form-box {
    padding: 24px;
  }

  table.form-table th,
  table.form-table td {
    padding: 0.5em 0;
    vertical-align: top;
  }

  table.form-table th {
    width: 9.5em;
    padding-right: 0.5em;
    letter-spacing: 0;
  }

  .form-transmit .acceptCheck {
    float: left;
  }

  .btn-line {
    float: right;
  }

  input[type="button"].wpcf7c-btn-back {
    margin-right: 1em;
  }
}

/* 表示切替え */

.wpcf7-form .conf-in,
.wpcf7-form.custom-wpcf7c-confirmed .conf-none {
  display: none;
}

.wpcf7-form.custom-wpcf7c-confirmed .conf-in {
  display: block;
}

/* 確認画面 */

.wpcf7c-conf,
input[type="text"].wpcf7c-conf,
input[type="email"].wpcf7c-conf,
input[type="tel"].wpcf7c-conf,
input[type="number"].wpcf7c-conf {
  background-color: transparent;
  color: #3e3a39;
  border: none;
  box-shadow: none;
}

input[type="button"].wpcf7c-btn-back {
  color: #3e3a39;
  background: rgb(246, 248, 249);
  background: -moz-linear-gradient(
    top,
    rgba(246, 248, 249, 1) 0%,
    rgba(215, 222, 227, 1) 100%
  );
  background: -webkit-linear-gradient(
    top,
    rgba(246, 248, 249, 1) 0%,
    rgba(215, 222, 227, 1) 100%
  );
  background: linear-gradient(
    to bottom,
    rgba(246, 248, 249, 1) 0%,
    rgba(215, 222, 227, 1) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f8f9', endColorstr='#d7dee3',GradientType=0 );
  margin-right: 1em;
}

input[type="button"].wpcf7c-btn-back:hover {
  background: #d7dee3;
}

/*========================================================
　新着情報リスト基本
========================================================*/

.news-all-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.news-all-list > li {
  padding: 0.5em 1em 0.5em 0.5em;
  border-bottom: 1px dotted;
  position: relative;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}

.contents > .news-all-list li,
.content-bodywrap > .news-all-list li {
  margin: 0;
}

.news-all-list > li:after {
  content: "";
  display: block;
  width: 0.8em;
  height: 0.8em;
  border-style: solid;
  border-width: 2px 2px 0 0;
  position: absolute;
  top: 50%;
  right: 0.5em;
  -moz-transform: translateY(-50%) rotate(45deg);
  -webkit-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
}

.news-all-list .news-date,
.news-all-list .cat-links {
  display: inline-block;
}

.news-all-list .news-date {
  font-size: 0.9em;
  min-width: 5em;
}

.news-all-list .cat-links {
  font-size: 0.8em;
  min-width: 7em;
}

.news-all-list .cat-links a {
  color: #fff;
  text-align: center;
  line-height: 1.1;
  display: block;
  padding: 0.2em 0.5em;
  border-radius: 2px;
  background: #999;
}

.news-all-list .cat-links a:hover {
  text-decoration: none;
  background: #aaa;
}

.news-all-list .title-link {
  display: block;
}

@media screen and (min-width: 641px) {
  .news-all-list > li {
    padding: 0.8em 1em 0.8em 0.5em;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .news-all-list .title-link {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .news-all-list .cat-links {
    margin-right: 1em;
  }
}

/*========================================================
　ホーム(トップ)ページ
========================================================*/

/* ホームビジュアル
------------------------------------------*/

.top-visual,
.top-visual > .center-box {
  position: relative;
}

.top-visual img {
  max-width: none;
  width: 100%;
}

/*.home .primary-wrap { padding-top: 40px; }*/

/* スライダー
------------------------------------*/

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

@media screen and (max-width: 640px) {
  .slide-ul .center-box {
    margin: 0;
  }
}

.slide-ul li {
  position: relative;
}

.slide-txt {
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4;
  display: block;
  text-align: center;
}

img + .slide-txt {
  color: #fff;
  text-shadow: 0 0 2px rgba(25, 28, 60, 1), 0 0 3px rgba(25, 28, 60, 1),
    0 0 3px rgba(25, 28, 60, 1);
  position: absolute;
  width: 100%;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

.slide-txt.sltx-right,
.slide-txt.sltx-left {
  width: 78%;
}

.slide-txt.sltx-right {
  float: right;
  margin-right: 3%;
}

.slide-txt.sltx-left {
  float: left;
  margin-left: 3%;
}

img + .slide-txt.sltx-right,
img + .slide-txt.sltx-left {
  float: none;
}

img + .slide-txt.sltx-right {
  right: 3%;
}

img + .slide-txt.sltx-left {
  left: 3%;
}

/*テキスト共通ボックス*/

.slide-txtcontainer {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translateX(0) translateY(-50%);
  transform: translate(0, -50%);
}

@media screen and (min-width: 980px) {
  .slide-txt {
    font-size: 32px;
    font-size: 2rem;
  }
}

/* ------------------------------------
 スリックスライダー
------------------------------------*/

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.slick-slider button {
  background: none;
  border: none;
  padding: 0;
  box-shadow: none;
}

/* 共通 */

/* .slick-arrow,
.slick-dots {
  position: absolute;
  z-index: 999;
  opacity: 0;
  filter: alpha(opacity=00);
  -ms-filter: "alpha( opacity=00 )";
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -webkit-transition: 0.5s;
  -ms-transition: 0.5s;
  transition: 0.5s;
} */

.slick-slider:hover .slick-arrow,
.slick-slider:hover .slick-dots {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha( opacity=100 )";
}

.slick-arrow,
.slick-dots li button {
  outline: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.slick-arrow:hover,
.slick-dots li button:hover {
  cursor: pointer;
}

/* arrows */

button.slick-arrow {
  width: 24px;
  height: 24px;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
}

button.slick-arrow:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  -ms-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
  width: 16px;
  height: 16px;
  border-style: solid;
  border-color: #999;
  border-radius: 1px;
}

button.slick-arrow:hover:after {
  border-color: #000;
}

.slick-prev {
  left: 10px;
}

.slick-prev:after {
  border-width: 0 0 3px 3px;
}

.slick-next {
  right: 10px;
}

.slick-next:after {
  border-width: 3px 3px 0 0;
}

/* ページャー */

.slick-dots {
  text-align: center;
  line-height: 1;
  bottom: 8px;
  width: 100%;
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots li button {
  background: #999;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.slick-dots .slick-active button,
.slick-dots li button:hover {
  background: #000;
}

/* ホームウィジェット
------------------------------------------*/

.contents > .home-widget.widget-container {
  margin-bottom: 40px;
}

.home-widget .widg-header {
  text-align: center;
  margin-bottom: 1em;
}

.home-widget-title {
  margin: 0;
}

.widg-subtitle {
  font-size: 1rem;
  font-weight: 400;
  text-indent: 0 !important;
  display: block;
}

.widg-descri {
  margin-bottom: 1em;
}

/* ウィジェットフッター */

.widg-list-link {
  text-align: center;
  margin-top: 1em;
}

.contents .widg-list-link {
  text-indent: 0;
}

.widg-list-link a {
  font-size: 14px;
  font-size: 0.875rem;
}

.widg-list-link a:before {
  content: "\f03a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  padding-right: 0.2em;
}

@media screen and (min-width: 641px) {
  .home-widget .loop-article:first-of-type:not(.semi-article) .thum-box,
  .layout-full .home-widget .loop-article .thum-box {
    width: 40%;
    padding-top: 26.4%;
  }

  .home-widget .loop-article.semi-article {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }

  .home-widget .loop-article.semi-article .thum-box {
    margin: 0 0 0 1em;
  }
}

/* fullレイアウト設定 */

.layout-full .home-widget {
  max-width: 1080px;
}

.layout-full .widgets-bg .home-widget {
  margin: 0 3%;
}

.layout-full .widg-descri {
  text-align: center;
  max-width: 680px;
  margin: 0 auto 1em;
}

.layout-full .widg-list-link a {
  padding: 0 8px;
  border: 1px solid;
  background: rgba(255, 255, 255, 0.8);
}

@media screen and (min-width: 641px) {
  .layout-full .home-widget {
    margin-left: auto;
    margin-right: auto;
  }

  .layout-full .widgets-bg .home-widget {
    margin: 0 auto;
  }
}

/* 背景付き ウィジェット設定
---------------------------------*/

.widgets-bg {
  position: relative;
}

.widgets-bg.bg-set .widget-container.wh-box {
  padding: 0;
  background: none;
  box-shadow: none;
}

.layout-full .widgets-bg {
  margin: 0;
  padding: 20px 0;
  overflow: hidden;
}

.layout-full .widgets-bg.bg-set {
  padding-top: 40px;
}

.widgets-bg .widget-container {
  position: relative;
  z-index: 1;
}

.widgets-bgset {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.layout-full .widgets-bg.bg-img:before {
  content: "";
  display: block;
  width: 100%;
  height: 8px;
  position: absolute;
  top: 0;
  background: -moz-linear-gradient(
    top,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0) 100%
  );
  background: -webkit-linear-gradient(
    top,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0) 100%
  );
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.3) 0%,
    rgba(0, 0, 0, 0) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4d000000', endColorstr='#00000000',GradientType=0 );
  z-index: 2;
}

.widgets-bg.bg-set .loop-article {
  border-bottom: none;
}

.widgets-bg.bg-set .loop-article,
.widgets-bg.bg-set .widg-news-wrap {
  padding: 16px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.3);
  border-radius: 2px;
}

.layout-full .widgets-bg.bg-set .thum-box {
  width: calc(100% + 32px);
  margin: -16px -16px 1em;
}

.bg-img .home-widget-title,
.bg-img .widg-subtitle,
.bg-img .widg-descri {
  text-shadow: 0 0 2px rgba(255, 255, 255, 1), 0 0 2px rgba(255, 255, 255, 1),
    0 0 2px rgba(255, 255, 255, 1), 0 0 2px rgba(255, 255, 255, 1),
    0 0 2px rgba(255, 255, 255, 1), 0 0 2px rgba(255, 255, 255, 1),
    0 0 6px rgba(255, 255, 255, 1), 0 0 6px rgba(255, 255, 255, 1),
    0 0 6px rgba(255, 255, 255, 1);
}

.bg-img.tit-wh .home-widget-title,
.bg-img.tit-wh .widg-subtitle,
.bg-img.tit-wh .widg-descri {
  color: #fff;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.8);
}

/* 背景 固定*/

.widgets-bg.bg-img.bg-fix .widgets-bgset {
  background-attachment: fixed;
}

/* 背景パターン */

.widgets-bg.bg-img.bg-ptn .widgets-bgset {
  background-attachment: scroll;
  background-size: auto;
  background-repeat: repeat;
}

.widgets-bg.bg-img.bg-ptn:before {
  content: none;
}

/* 背景 斜めテスト */
/*
.widgets-bg {
	transform: skewY( -3deg );
}

.widgets-bg:nth-of-type(2) {
	transform: skewY( 3deg );
	margin-top: -80px;
}

.widgets-bg .widget-container,
.widgets-bg .widgets-bgset { transform: skewY( 3deg ); }

.widgets-bg:nth-of-type(2) .widget-container,
.widgets-bg:nth-of-type(2) .widgets-bgset { transform: skewY( -3deg ); }

.widgets-bg .widgets-bgset {
	top: -20%;
	height: 140%;
}*/

@media screen and (min-width: 641px) {
  .layout-full .widgets-bg {
    padding: 40px 3%;
  }

  .layout-full .widgets-bg.bg-set {
    padding-top: 80px;
  }

  .layout-full .widgets-bg.bg-set .loop-article,
  .layout-full .widgets-bg.bg-set .widg-news-wrap {
    padding: 24px;
  }

  .layout-full .widgets-bg.bg-set .thum-box {
    width: 40%;
    margin: -24px 1em -24px -24px;
  }
}

@media screen and (min-width: 1140px) {
  .layout-full .widgets-bg {
    padding: 40px 0;
  }
}

/* 記事 横並び */

@media screen and (min-width: 641px) {
  .widg-row {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
  }

  .widg-row .loop-article {
    width: 48%;
  }

  .widg-row .loop-article.thum-in {
    display: block;
  }

  .layout-full .home-widget .widg-row .loop-article .thum-box {
    width: 100%;
    padding-top: 66%;
    margin-right: 0;
    float: none;
  }

  /*.layout-full .widgets-bg.bg-set .widg-row .loop-article .thum-box {
		width: calc( 100% + 48px );
		margin: -24px -24px 1em;
		padding-top: calc( 66% + 24px );
	}*/

  .widg-row .loop-article:nth-last-child(2) {
    padding-bottom: 0;
    border-bottom: none;
    /*margin-bottom: 0;*/
  }

  .widg-row .loop-article.flex-article .loopflex-ctr {
    display: block;
  }
}

@media screen and (min-width: 980px) {
  .widg-row {
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .widg-row .loop-article {
    width: 32%;
    margin-right: 2%;
  }

  .widg-row .loop-article:nth-child(3n) {
    margin-right: 0;
  }

  .widg-row .loop-article:nth-last-child(3) {
    padding-bottom: 0;
    border-bottom: none;
    /*margin-bottom: 0;*/
  }
}
