@charset "utf-8";

/*
theme Name: マルヤス産業
Author: takenaka
Description: office-estyle original theme
version： 2.0.0
*/
/*cssのリセット*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, abbr, address, cite, code, del, dfn, em, img,
ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd,
ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
figcaption, figure, footer, header, hgroup, menu, nav, section,
summary, time, mark, audio, video {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  background: transparent;
  list-style: none;
}
body {
  line-height: 1;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}
a {
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}
ins {
  text-decoration: none;
  color: #000;
  background-color: #ff9;
}
mark {
  font-weight: bold;
  font-style: italic;
  color: #000;
  background-color: #ff9;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  cursor: help;
  border-bottom: 1px dotted;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
}
/*-----------------------------------------------------
ヒーローヘッダー文字
-----------------------------------------------------*/
img.main_logo {
  max-width: 45vw;
  min-width: none;
}
.headline {
  position: relative;
  top: 31%;
  left: 52%;
  /* -ms-transform: translate(-50%, -50%); */
  /* -webkit-transform: translate(-50%, -50%); */
  transform: translate(-50%, -50%);
  z-index: 13;
  /* text-shadow: 3px 3px 6px #0a0a0a; */
  /* font-family: "Shippori Mincho", serif; */
}
.headline h2 {
  font-size: 20px;
  color: #fff;
  font-weight: 100;
  line-height: 1.9em;
  margin-left: 8%;
}
.headline p {
  color: #fff;
  font-weight: 100;
  /* font-family: "Shippori Mincho", serif; */
  font-size: 20px;
  line-height: 1.2em;
  /* text-align: center; */
}
/*-----------------------------------------------------
ヒーローヘッダースライダー
-----------------------------------------------------*/
.hero {
  position: relative;
  overflow: hidden;
  height: 100vh;
}
.slider {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.slider .image {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: anime 10s 0s infinite;
  /* ②で設定したanimation-delayをスライド数で割った時間をdelay(15s)に入れる */
  animation-duration:20s; /*1秒間でアニメーションを完了する*/
  animation-delay:0s; /*1秒後にアニメーション開始*/
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  max-height: 100%;
  max-width: 100%;
}
/*
    ②画像の数ごとに animation-delay を設定します。
  　下記では、5秒間隔で切り替わるように設定しています。
  */
.slider .image:nth-of-type(1) {
  background-image: url(./img/sl-1.jpg);
}
.slider .image:nth-of-type(2) {
  animation-delay: 5s;
  background-image: url(./img/sl-2.jpg);
}
.slider .image:nth-of-type(3) {
  animation-delay: 10s;
  background-image: url(./img/sl-3.jpg);
}
  /* .overlay-1 {
background: rgba(0,55,81,0.4); 
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
}
*/
@keyframes anime {
	0% {opacity: 0;}
	10% {opacity: 1;}
	40% {opacity: 1;}
	50% {opacity: 1;}
	60% {opacity: 0;}
	100% {opacity: 0;}
}
/* @keyframes anime {
  0% {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: scale(1.18);
  }
} */
/*-----------------------------------------------------
投稿テキストエディター設定
-----------------------------------------------------*/
img.alignright {
  display: block;
 float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}
img.alignleft {
  display: block;
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
img.aligncenter {
  display: block;
  margin-right: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 480px) {

  .article-content p, .article-content img, .article-content table, .article-content ul, .article-content ol {
    margin-bottom: 2rem;
    clear: both;
  }}
  
/* パンくずリスト */
#breadcrumb {
  padding-bottom:15px;
}
#breadcrumb ul {
  margin: 0;
}
#breadcrumb li {
  display: inline;
  list-style: none;
  color: gray;
  font-size: 0.87em;
}
#breadcrumb li:after {
  padding: 0 6px;
  color: rgba(0, 0, 0, 0.2);
  font-family: FontAwesome;
  content: "\f0da";
  font-size: 14px;
}
#breadcrumb li a {
  text-decoration: none;
}
#breadcrumb li:first-child a:before {
  padding-right: 5px;
  font-family: FontAwesome;
  font-size: 1.1em;
  font-weight: normal;
  content: "\f015";
}
#breadcrumb li a:hover {
  color: gray;
  text-decoration: none;
}
/*サイト全体の基準となるCSSを記述*/
html {
  font-size: 16px;
}
body {
  /*フォントの指定*/
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック", YuGothic, "Yu Gothic", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  
  /*行間の指定*/
  line-height: 1.4;
  margin: 0;
  padding: 0;
  /*サイトのデフォルトとなる文字の色を指定*/
  color: #333;
  /* background-color: #F0F1F2; */
  background-color: #DDE9E9;
}
/*見出しを全て太字で表示 + 文字色を黒に*/
h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: #000;
}
img {
  max-width: 100%;
  height: auto;
}
a:link {
  color: #00000094;
}
a:visited {
  color: black;
}
a:hover {
  color: #858688;
}
a:active {
  color: #8164b8;
}
/*コンテンツのサイズ指定*/
.container,
.footer-inner {
  box-sizing: border-box;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
  padding: 1.25rem;
}
.container {
padding-top: 10px;}
.container:after {
  display: block;
  clear: both;
  content: '';
}
.sidebar {
  float: left;
  width: 27%;
  margin-top: 44px;
  margin-left: 34px;
}
.contents {
  /* float: left; */
  width: 100%;
  overflow-wrap: break-word; /* 折り返しを有効にする */
  max-width: 100%; /* 最大幅を100%にする */
  overflow-x: hidden; /* 横スクロールバーを非表示にする */
}
/*コンテンツ-カテゴリーのサイズ指定*/
.container-cat {
  margin-top: 0px;
  padding: 2rem 1.25rem;
  padding-top: 10px;
  box-sizing: border-box;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
/*---------------------------------------------------------
ヘッダー
---------------------------------------------------------*/

/*タイトルを画像にする場合*/
.site-title a {
  font-weight: 500;
  line-height: 1;
  display: inline-block;
  text-decoration: none;
  font-size: 25px;
  color: #0a0a0a;
}

.site-title a img {
  display: inline-block;
  width: auto;
  max-width: 50%;
}

/*タイトルを文字列にする場合*/
/* .site-title a {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  text-decoration: none;
  color: #000;
} */
/*------ナビゲーション下スクロールで消える--------*/
/* .site-header {
  background-color: #ffffff;
  padding: 12px;
  position: fixed;
  top: 0;
  transition: .5s;
  width: 100%;
  z-index: 999;
  border-bottom: 1px solid #dddddd;
  height: 60px;
  box-shadow: -6px -5px 15px;
} */
.site-header {
  justify-content: space-between;
  align-items: center;
  background-color: #ffffff;
  border-bottom: 1px solid #cccccc;
  position: fixed;
  width: 100%;
  z-index: 999;
  top: 0;
  transition: .5s;
  box-shadow: -6px -5px 15px;
}
.header-contact {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  font-size: 0.8rem;
  max-width: 1200px;
  padding-right: 22px;
  /* margin: auto; */
}
.tel, .fax, .hours {
  margin-left: 1rem;
  font-size: 1.1rem;
    font-weight: 800;
}
.header-inner {
  /* display: flex;
  align-items: center; */
  max-width: 1200px;
  margin: auto;
}

.site-title {
  font-size: 2rem;
  margin-right: 2rem;
}
.header-nav {
  margin-top: 1rem; 
  white-space: nowrap; 
}
.header-nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.header-nav li {
  margin-right: 1rem;
}
.header-nav a {
  color: #333;
  font-weight: bold;
  text-decoration: none;
  padding-bottom: 0.25rem;
  border-bottom: 3px solid transparent;
}
/* 選択されたリンクのスタイル */
.header-nav a.active,
.header-nav a:hover {
  border-bottom-color: #333;
}
.site-header-1 {
  padding: 12px;
  position: fixed;
  top: 0;
  transition: .5s;
  width: 100%;
  z-index: 999;
  border-bottom: 1px solid #dddddd;
}
.site-header.hide {
  transform: translateY(-100%);
}
@media screen and (max-width: 480px) {
  .site-header {
    padding: 1px;
  }
  .header-nav ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}
  .container {
    padding-top: 100px ;
    overflow: hidden;
  }
  .header-contact {
    display: none;
}
.header-nav-wrap {
  top: 72px;
}
}
@media screen and (max-width: 768px) {
  .site-header {
    padding: 1px;
  }
  .header-nav ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
}
  .container {
    padding-top: 100px ;
    overflow: hidden;
  }
.header-nav-wrap {
  top: 72px;
}
}
/************************************
** グローバルナビメニュー
************************************/
.header-inner {
  position: relative;
}
.navbutton {
  display: none;
}
.header-nav-wrap {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.header-nav {
  font-size: 0;
}
.header-nav li {
  font-size: 1.1rem;
  display: inline-block;
  margin-right: 1.5rem;
}
.header-nav li a {
  display: block;
  text-decoration: none;
  text-align: center;
  color: #070707;
  font-weight: 800;
}
.header-nav li a:hover {
  opacity: .6;
  color: rgb(121, 121, 122);
}
.menu_description {
  font-size: 14px;
}
/* ホバー時にアンダーラインをアニメーションさせるエフェクト */
.header-nav li a {
  position: relative;
  text-decoration: none;
}
.header-nav li a::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: rgb(5, 5, 5);
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.header-nav li a:hover::after {
  transform: scale(1, 1);
}
/************************************
** グローバルナビメニューSUB
************************************/
.header-nav .sub-menu:before {
  font-family: 'FontAwesome';
  font-size: 1em;
  position: absolute;
  top: -87px;
  left: 10px;
  content: '\f0d8';
  color: #464646;
}
.header-nav .sub-menu {
  position: relative;
  z-index: 1;
  display: none;
  width: 95%;
  border-top: none;
}
.header-nav .sub-menu li {
  display: block;
  float: none;
  padding: 0;
}
.header-nav li:hover .sub-menu {
  display: block;
}
.header-nav .sub-menu li a:before {
  color: #333;
}
.header-nav .sub-menu li a {
  font-size: 12px;
  font-weight: normal;
  margin-left: 1px;
  padding: 10px 30px 10px 10px;
  text-align: left;
  color: #fff;
  background-color: #464646;
}
.header-nav .sub-menu li a:hover {
  background-color: #000;
}
@media (min-width: 768px) {
  #header-nav .sub-menu {
    position: absolute;
    width: 200px;
    padding-top: 20px;
  }
}
/*---------------------------------------------------------
フッター
---------------------------------------------------------*/
.footer {
  height: 90px;
}
.footer-nav,
.copyright {
  text-align: center;
  color: white;
  background-color: #050505;
}
.footer-nav {
  font-size: 0;
  margin-bottom: 3rem;
  color: #fff;
}
.footer-nav li {
  font-size: 1rem;
  display: inline-block;
  margin-right: 1.5rem;
  color: #fff;
}
.footer-nav li a {
  text-decoration: none;
  color: #fff;
}
.footer-nav li a:hover {
  opacity: .6;
}
.copyright p {
  font-size: 1rem;
  color: #fff;
}
.copyright a:link {color: white;
}
.copyright a:hover {color: white;
}
.copyright a:visited {color: white;}
/*---------------------------------------------------------
footerウイジェット
---------------------------------------------------------*/
#footer-widget {
  padding: 10px;
  margin-right: 20px;
  float: right;
  width: 240px;
  color: whitesmoke;
  font-size: 12px;
}
h3.foot {
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  border-bottom: dotted 1px #fff;
  padding-bottom: 5px;
  margin: 0 0 15px;
}
.textwidget p {
  color: white;
}
.footer_logo_text_area {
  position: absolute;
  display: block;
  width: 250px;
  font-size: 12px;
  padding-top: 10px;
}
h3#footer_logo_text {
  color: white;
}
h4#footer_description {
  color: white;
  font-size: 12px;
  line-height: 1.7;
  padding-top: 10px;
}
/*---------------------------------------------------------
サイドバー
---------------------------------------------------------*/
.sidebar-wrapper {
  margin-bottom: 2rem;
}
.sidebar-title {
  font-size: 1.1rem;
  box-sizing: border-box;
  margin: 0 0 1.2rem;
  padding: .5rem;
  color: #000;
  border-bottom: 1px solid #03162f;
}
/*デフォルトウィジェット*/
.widget_recent_entries ul,
.widget_meta ul,
.widget_recent_comments ul,
.widget_pages ul,
.widget_meta ul,
.widget_categories ul,
.widget_archive ul,
.widget_nav_menu ul,
.calendar_wrap,
.tagcloud {
  list-style: none;
}
.widget_recent_entries li,
.widget_meta li,
.widget_recent_comments li,
.widget_pages li,
.widget_meta li,
.widget_archive li,
.widget_nav_menu li {
  position: relative;
  margin-bottom: .5rem;
}
.widget_recent_entries a,
.widget_meta a,
.widget_recent_comments a,
.widget_pages a,
.widget_meta a,
.widget_categories a,
.widget_archive a,
.widget_nav_menu a {
  text-decoration: none;
  color: #333;
}
.sidebar-wrapper a:hover {
  opacity: .6;
}
/*カテゴリウィジェット*/
.widget_categories li {
  display: block;
  margin-bottom: .5rem;
}
.widget_categories li a {
  font-size: .95rem;
  position: relative;
  display: block;
  padding: .9rem .6rem .9rem 2rem;
  /* color: #fff; */
  /* background-color: #03162f; */
  border-bottom: rgba(179,179,179,1.00) 1px dotted;
}
.widget_categories li a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: .6rem;
  /* content: '\f02b'; */
  content: "\f07c";
  transform: translateY(-50%);
  /* color: #fff; */
}
.widget_categories .children {
  margin-bottom: .5rem;
  padding: 0;
  padding-left: 1rem;
  background-color: #415671;
}
.widget_categories .children li {
  margin-bottom: 0;
}
.widget_categories .children li a {
  font-size: .9rem;
  background-color: transparent;
}
.widget_categories .children li a::before {
  position: absolute;
  top: 50%;
  left: .6rem;
  content: '∟';
  transform: translateY(-50%);
  color: #fff;
}
/*カテゴリウィジェットとアーカイブウィジェットのドロップダウン表示*/
.widget_categories .screen-reader-text {
  display: none;
}
.widget_archive .screen-reader-text {
  position: relative;
  display: block;
  height: 0;
  text-indent: -9999999px;
}
.widget_categories form {
  position: relative;
}
.widget_categories form::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  content: '▼';
  transform: translateY(-50%);
  pointer-events: none;
}
.widget_categories .postform,
.widget_archive select {
  font-size: .95rem;
  width: 100%;
  padding: 4px 10px;
  cursor: pointer;
  border: 1px solid #e0e3ef;
  border-radius: 0;
  background-color: #f4f5f9;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.widget_archive label::after {
  position: absolute;
  top: .5rem;
  right: 1rem;
  content: '▼';
  text-indent: 0;
  pointer-events: none;
}
/*タグウィジェット*/
.tagcloud a {
  font-size: .9rem !important;
  line-height: 1;
  position: relative;
  display: inline-block;
  margin-bottom: .5rem;
  padding: .2rem .5rem;
  text-decoration: none;
  color: #03162f;
  border: 1px solid #000;
  background-color: #fff;
}

/*メニューウィジェット*/
.widget_nav_menu li {
  font-weight: bold;
  font-size: 12px;
  line-height: 170%;
  margin: 0 0 10px 0;
  padding: 0 0 5px 15px;
  background-image: url(images/arrow_02.png), url(images/dot_02.png);
  background-repeat: no-repeat, repeat-x;
  background-position: left 8px, left bottom;
  min-height: 25px;
}
.widget_nav_menu li a {
  /* font-size: 12px; */
  /* font-weight: bold; */
  position: relative;
  /* padding-left: 1.3rem; */
  color: #333;
}
/* .widget_nav_menu li a::before {
   font-family: 'Font Awesome 5 Free';  
  font-weight: 900; 
  position: absolute;
  top: 50%;
  left: 0;
  content: '\f105';
  transform: translateY(-50%);
  color: #03162f;
border-bottom: 4px solid #03162f;
} */

/*最近の投稿*/
.widget_recent_entries li {
  padding-bottom: .5rem;
  border-bottom: 1px solid #ddd;
}

.widget_recent_entries li a:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  font-weight: 900;
  position: absolute;
  left: 5px;
  content: '\f303';
  color: #000;
}

.widget_recent_entries li a {
  display: block;
  margin-bottom: .3rem;
  padding-left: 1.6rem;
}

.widget_recent_entries .post-date {
  font-size: .8rem;
  display: block;
}

/*カレンダーウィジェット*/
.calendar_wrap {
  padding: 1rem;
  border: 1px solid #ddd;
}

.calendar_wrap table {
  width: 100%;
}

.calendar_wrap tbody {
  text-align: center;
}

.calendar_wrap caption {
  font-weight: bold;
  margin-bottom: 1rem;
}

.calendar_wrap td {
  padding: .3rem 0;
}

.calendar_wrap tfoot td {
  padding-top: .7rem;
}

.calendar_wrap tfoot td:last-child {
  text-align: right;
}

/*---------------------------------------------------------
記事一覧
---------------------------------------------------------*/
.archive-top {
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
}
.article-list {
  margin-bottom: 1rem;
  /* padding: 1rem; */
  border: 1px solid #ddd;
  width: 278px;
  margin-right: 5px;
}
.article-list:hover {
  background-color: #eee;
}
.article-list a {
  display: block;
  text-decoration: none;
  color: #333;
}

.article-list a:after {
  display: block;
  clear: both;
  content: '';
}
.article-list .img-wrap img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.article-list .img-wrap .cat-data {
  font-size: .75rem;
  position: absolute;
  top: 0;
  right: 0;
  padding: .3rem .5rem;
  color: #fff;
  background-color: #03162f;
}

.text {
  padding-left: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
}

.article-list .text h2 {
  margin-bottom: .5rem;
  padding-top: 0.5rem;
}

.article-list .text .article-date,
.article-list .text .article-author {
  font-size: .75rem;
  font-weight: bold;
  display: inline-block;
  margin-bottom: .5rem;
  color: #888;
}

.article-list .text .article-date {
  margin-right: .5rem;
}

.article-list .text .article-author i {
  margin-right: .3rem;
}

.article-list .text p {
  font-size: .8125rem;
  line-height: 1.7;
}
/* HOMEに戻る */
.back-home {
  margin-bottom: 2%;
  padding-bottom: 1%;
  border-bottom: 1px solid #c1bdbd;
}
/*ページネーション*/
.pagination {
  margin: 2rem 0;
  text-align: center;
}

.pagination ul {
  font-size: 0;
}

.pagination ul li {
  font-size: 1rem;
  display: inline-block;
  margin-right: .5rem;
}

.pagination ul li:last-child {
  border: 0;
}

.pagination ul li a,
.pagination .current {
  display: block;
  padding: .5rem .8rem;
  border: 1px solid #ccc;
}

.pagination ul li .prev,
.pagination ul li .next {
  border: 0;
}

.pagination ul li a {
  text-decoration: none;
  color: #333;
}

.pagination ul li a:hover {
  opacity: .6;
}

.pagination .current {
  color: #fff;
  background-color: #03162f;
}

/* ------------------------------------
ワークカテゴリカード型ズーム
-------------------------------------*/
.zoom-in-img {
  max-width: 320px;
  /* height:180px; */
  margin: 0;
  padding: 0;
  background-color: #f7f7f7;
    overflow: hidden;
  cursor: pointer;
}
.img-wrap {
  line-height: 1px;
  position: relative;
}
.zoom-in-img img {
  width: 100%;
  height: 100%;
}
/*ホバーエフェクト*/
.zoom-in-img img {
  transform: scale(1);
  transition: .3s ease-in-out;
}
.zoom-in-img:hover img {
  transform: scale(1.3);
}
/* newアイコン表示 */
.work-new {
  position: absolute;
  top: -13%;
  color: white;
  border: double 5px #ffffff;
  padding: 0.5em 1em;
  margin: 2em 0;
  background-color: #027c6b;
  font-weight: bold;
  left: 1%;
  line-height: 0.5;
}
@media screen and (max-width: 480px){
.article-list {
    padding-bottom: 10px;
    padding-top: 10px;
    padding-left: 10px;
    display: flex;
    width: 90%;
    margin-left: 5px;
}
.article-list a {
  width: 100%;
}
.article-list .img-wrap {
  line-height: 1px;
  float: left;
}
.article-list .img-wrap img {
  padding-right: 10px;
}
.work-new {
  position: absolute;
  top: -32%;
  color: white;
  border: double 5px #ffffff;
    padding: 0.5em 1em;
  margin: 2em 0;
  background-color: #027c6b;
    font-weight: bold;
  left: 1%;
}
.article-list .text {
  margin-left: 0px;
  padding: 0;
  width: 100%;
}
.article-list .text h2 {
  font-size: 1rem;
  margin-bottom: 0;
}
.article-list .text .article-date {
  font-size: 0.8rem;
  padding-left: 10px;
}
img.attachment-medium.size-medium.wp-post-image {
  width: 100%;
}
}

/*---------------------------------------------------------
投稿・固定ページ
---------------------------------------------------------*/
.article-content p, 
.article-content img, 
.article-content table, 
.article-content ul, 
.article-content ol 
{
  margin-bottom: 2rem;
  padding-right: 10px;
}


.article-content {
  margin-bottom: 2rem;
  margin-top: 10px;
}

.article-content .article-info {
  margin-bottom: .5rem;
}

.article-content .cat-data a {
  font-size: .8rem;
  margin-right: .5rem;
  padding: .1rem .5rem;
  text-decoration: none;
  color: #fff;
  background-color: #969393;
}

.article-content .article-info .article-date,
.article-content .article-info .article-author {
  font-size: .8rem;
  display: inline-block;
  margin-right: .5rem;
  color: #888;
}

.article-content .article-info .article-author i {
  margin-right: .3rem;
}

.article-content p,
.article-content b,
.article-content table,
.article-content ul,
.article-content ol {
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 1px;
}

.article-content p,
.article-content img,
.article-content table,
.article-content ul,
.article-content ol {
  margin-bottom: 2rem;
}

.article-content h1 {
  font-size: 1.9rem;
  margin: 0 0 2rem;
  letter-spacing: 1px;
}

.article-content h2 {
  font-size: 1.6rem;
  margin: 3rem 0 2rem;
  padding: .4rem 0;
  letter-spacing: 1px;

}

.article-content h3 {
  font-size: 1.5rem;
  margin: 2.5rem 0 1.8rem;
  padding: 0 1rem;
  letter-spacing: 1px;
  /* border-left: solid 7px #415671; */
  background: transparent;
}

.article-content h4 {
  font-size: 1.3rem;
  margin: 2rem 0 1rem;
  letter-spacing: 1px;
}

.article-content h5 {
  font-size: 1.1rem;
  margin: 0 0 .3rem;
  letter-spacing: 1px;
}

.article-content .article-img {
  margin-bottom: 2rem;
  box-shadow: 6px 8px 9px 0px #0e0e0eba;
}

.article-content .article-img img {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: 380px;
  object-fit: cover;
}

.article-content ul {
  margin-left: 2rem;
  list-style: disc;
}

.article-content ol {
  margin-left: 2rem;
  list-style: decimal;
}

.article-content table {
  border-collapse: collapse;
  margin-left: auto;
  margin-right: auto;
}

.article-content th,
.article-content td {
  padding: .2rem;
  vertical-align: middle;
  border: 1px solid #ddd;
  text-align: left;
}

.article-content figure {
  max-width: 100%;
}

.article-tag {
  text-align: right;
}

.article-tag ul {
  font-size: 0;
  margin-bottom: 0;
}

.article-tag ul li {
  font-size: .9rem;
  display: inline-block;
  margin-right: .5rem;
  vertical-align: middle;
}

.article-tag ul li:last-child {
  margin-right: 0;
}

.article-tag ul li a {
  padding: .2rem .5rem;
  text-decoration: none;
  color: #000;
  border: 1px solid #000;
}

.article-tag ul li a:hover {
  opacity: .6;
}

/*---------------------------------------------------------
TOPページ
---------------------------------------------------------*/
@media(max-width: 1024px) {

}

@media(max-width: 800px) {

  .contents,
  .sidebar {
    float: none;
    width: 100%;
    margin-right: 0;
  }

  .contents {
    margin-bottom: 1.5rem;
  }

  /*---------------------------------------------------------
  ヘッダー
  ---------------------------------------------------------*/
  .site-title a img {
    height: auto;
  }

  .navbutton {
    font-size: 2.5rem;
    position: absolute;
    z-index: 999;
    top: 50%;
    right: 2rem;
    display: block;
    cursor: pointer;
    transform: translateY(-50%);
    border: 0;
    background-color: transparent;
    color: rgb(7, 7, 7);
  }

  .navbutton:focus {
    outline: 0;
  }

  .header-nav-wrap {
    z-index: 999;
    top: 60px;
    /*ヘッダーの高さと合わせる*/
    right: auto;
    left: 0;
    display: none;
    width: 100%;
    margin-left: 0;
    transform: none;
    background-color: #313842;
  }

  .header-nav li {
    display: block;
    margin-right: 0;
  }

  .header-nav li a {
    position: relative;
    padding: .8rem 1.25rem;
    color: #fff;
    border-bottom: 1px solid #888;
  }

  .header-nav li a:after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    position: absolute;
    /* top: 50%; */
    right: 1.25rem;
    display: block;
    /* content: '\f105'; */
    transform: translateY(-50%);
  }

  /*---------------------------------------------------------
  フッター
  ---------------------------------------------------------*/
  .footer-nav {
    margin-bottom: 1.5rem;
  }

  .footer-nav ul {
    text-align: left;
  }

  .footer-nav li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 1rem;
  }

  .footer-nav li:nth-of-type(2n) {
    margin-right: 0;
  }
    /*---------------------------------------------------------
  TOPページ
  ---------------------------------------------------------*/

}

@media(max-width: 600px) {
  html {
    font-size: 15px;
  }

  .header-inner,
  .container,
  .footer-inner {
    padding: 1.25rem;
  }

  .contents {
    margin-bottom: 1rem;
  }

  /*---------------------------------------------------------
  ヘッダー
  ---------------------------------------------------------*/
  .site-title a {
    font-size: 2rem;
  }

  .site-title a img {
    height: 32px;
  }

  .navbutton {
    right: 2rem;
  }

  .header-nav-wrap {
    top: 86px;
    width: 99%;
  }

  .header-nav li a {
    padding: .8rem;
  }

  .header-nav li a:after {
    right: .8rem;
  }

  /*---------------------------------------------------------
  記事一覧
  ---------------------------------------------------------*/
  .archive-top h1 {
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }

  .archive-top p {
    font-size: .8125rem;
    margin-bottom: 1rem;
  }

  .article-list {
    /* padding: .5rem; */
  }

  .article-list .img-wrap img {
    width: 132px;
    height: 88px;
  }

  .article-list .img-wrap .cat-data {
    font-size: .6rem;
  }

  .article-list .text {
    margin-left: 20px;
    padding: 0;
  }

  .article-list .text h2 {
    font-size: 1rem;
    margin-bottom: 0;
  }

  .article-list .text p {
    display: none;
  }

  .article-list .text .article-date,
  .article-list .text .article-author {
    font-size: .625rem;
    margin-bottom: 0;
  }

  .article-list .text .article-date {
    margin-right: .2rem;
  }

  /*---------------------------------------------------------
  投稿・固定ページ
  ---------------------------------------------------------*/
  .article-content h1 {
    font-size: 1.6rem;
  }

  .article-content h2 {
    font-size: 1.4rem;
  }

  .article-content h3 {
    font-size: 1.3rem;
  }

  .article-content h4 {
    font-size: 1.2rem;
  }
}

/*---------------------------------------------------------
  copyright
  ---------------------------------------------------------*/

.copyright {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

html {
  position: relative;
  min-height: 100%;
}

/*---------------------------------------------------------
  TOPに戻るボタン
  ---------------------------------------------------------*/
#page_top {
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  opacity: 0.6;
  z-index: 999;
  background-color: #09b6b4;
  border: 1px solid #FFF;
  border-radius: 50px;
}

#page_top a {
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}

#page_top a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: white;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

#page_top a::after {
  content: 'PAGE TOP';
  font-size: 13px;
  color: #fff;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  /* color: #010910; */
}



/*----------------------------------------------------------------
PREV NEXT----前の記事のサムネイル、次の記事のサムネイルを表示させる
------------------------------------------------------------------*/
.prev-post {
  /* background-color: aqua; */
  /* float: left; */
  border: 1px solid #CCC;
  /* height: 100px; */
  width: 250px;
}

.postnav-inner {
  /* width: 250px; */
  /* background-color: bisque; */
  display: flex;
  padding: 10px;
}

.next-post {
  float: right;
  border: 1px solid #CCC;
  height: auto;
  width: 250px;
}

.post-thumb {
  width: 100px;
}

.post-title {
  font-size: 12px;
  width: 250px;
  padding-left: 5px;
  padding-top: 5px;
}

.next-title {
  text-align: right;
  padding-right: 5px;
}
/* レスポンシブデザイン対応 */
@media (max-width: 480px) {
  .prev-post {
    width: 100%;
    margin-bottom: 5px;
}
.next-post {
  width: 100%;
}
img.noimage {
  max-width: 80;
}
img.attachment-thumbnail.size-thumbnail.wp-post-image {
  max-width: 80;
}
}


/*-- ここまで --*/
/* コンタクトフォーム */
.required,
.option {
  font-weight: bold;
  color: #fff;
  border-radius: 30px;
  margin: 0 5px;
  font-size: 80%;
  padding: 1px 10px;
}

.required {
  background: #FFB74D;
}

.option {
  background: #00a5f7;
}

/* ----------------------------------------------------------------------
 Contactform - お問い合わせフォーム基本
---------------------------------------------------------------------- */
.wpcf7 {
  width: 100%;
  /* background: rgb(247, 247, 247); */
  padding: 0;
  margin: 0 0 2.5em !important;
  font-size: 14px;
  /* padding-top: 30px; */
}

.wpcf7 form {
  margin: 1.5em 1.5em 0;
}

.wpcf7 p {
  margin-bottom: 1em;
  font-size: 12px;
}

.wpcf7 input,
.wpcf7 textarea {
  width: auto;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #ccc;
  line-height: 1.2;
  padding: 8px;
}

.wpcf7 select,
.wpcf7 input[type=checkbox],
.wpcf7 input[type=radio] {
  width: auto;
  max-width: 97%;
  border: 1px solid #ccc;
  padding: 8px;
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
  line-height: 1.2;
  font-size: 14px;
}

.wpcf7-list-item {
  display: block;
}

.wpcf7 textarea {
  height: 300px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
  outline: none;
  border: 1px solid #bbb;
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
  box-shadow: inner 0 0 5px rgba(0, 0, 0, 0.5);
}

.wpcf7 input.wpcf7-submit {
  position: relative;
  display: block;
  width: 225px;
  height: 48px;
  margin: 30px auto 0;
  background-color: #03a58e;
  cursor: pointer;
  border: none !important;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
  outline: none;
  -webkit-transition: all .3s;
  transition: all .3s;
  font-weight: bold;
}

.wpcf7 input.wpcf7-submit,
.wpcf7 input.wpcf7-submit::before,
.wpcf7 input.wpcf7-submit::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.wpcf7 input.wpcf7-submit:hover {
  background-color: #666666;
}

.wpcf7 .wpcf7-not-valid {
  background: pink;
}

.wpcf7 .wpcf7-response-output {
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.wpcf7 .wpcf7-validation-errors {
  color: #B94A48;
  background-color: #F2DEDE;
  border: 1px solid #EED3D7;
}

.wpcf7 .wpcf7-mail-sent-ok {
  color: #3A87AD;
  background-color: #D9EDF7;
  border: 1px solid #BCE8F1;
}

/* newsカテゴリ */
.post-news {
  width: 100%;
}

.subtitle {
  padding-bottom: 10px;
}

.flex-item {
  border: 1px dashed #CCC;
  padding-bottom: 10px;
  margin-bottom: 20px;
  padding-top: 10px;
  padding-left: 10px;
  padding-right: 10px;
}

.item-title {
  font-size: 18px;
  padding-bottom: 20px;
  padding-top: 10px;
  font-weight: 700;
  color: #303030;
}

.item-date {
  font-size: 1.1rem;
  color: #252525;
  font-weight: bold;
}
/* workカテゴリ */
.contents-cat {
  margin-top: 10px;
}
h1.archive_title {
  font-size: 1.3rem;
  padding-top: 20px;
}
/*---------------------------- 
    関連記事標示
 -----------------------------*/
 aside.relPostWrap {
  padding: 10px;
  overflow: hidden;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 10px;
}
.relPostWrap h5 {
  margin: 0;
  margin-top: 0.5em;
  text-align: center;
  font-size: 2em;
  color: #bfbfbf;
  padding-bottom: 1%;
}
 .related-posts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -10px;
}

.related-post {
  width: calc(25% - 20px);
  padding: 0 10px;
  margin-bottom: 20px;
  position: relative;
}

.related-post-link {
  display: block;
}

.thumb {
  position: relative;
  overflow: hidden;
  height: 200px;
}

.post_date {
  position: absolute;
  top: 4%;
  left: 2%;
  background-color: rgb(0 185 0);
  color: #fff;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: bold;
  z-index: 1;
}

.thumb img {
  display: block;
  width: 100%;
  height: 200px;
  transition: all 0.3s ease-out;
}
.thumb:hover img {
  transform: scale(1.1);
}
.overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgb(0 0 0 / 57%);
    opacity: 1;
  transition: all 0.3s ease-out;
  display: flex;
  justify-content: center;
  align-items: center;
}

.overlay-title {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  max-width: 90%;
  line-height: 1.4;
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px;
  top: 40%;
}


@media screen and (max-width: 767px) {
  .related-posts {
    display: block;
    margin: 0;
  }

  .related-post {
    width: 100%;
    margin-bottom: 20px;
  }

  .thumb {
    height: auto;
    max-height: auto; /* マックス高さを解除 */
    }

      li.related-post {
      padding: 0;
  }
}
/*---------------------------- 
    single投稿ページネーション
 -----------------------------*/
.single-paging {
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.single-paging__previous a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  position: relative;
  background: #c6e2e2;
  border: 1px solid #00b7b2;
  box-sizing: border-box;
  padding: 0 25px 0 40px;
  color: #000000;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
.single-paging__next a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  position: relative;
  background: #c6e2e2;
    border: 1px solid #00b7b2;
  box-sizing: border-box;
  padding: 0 25px 0 40px;
  color: #000000;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  transition-duration: 0.3s;
}
.single-paging__next a:hover {
  background: #00b7b2;
  color: #ffffff;

    border: 1px solid #228bc8;
}
.single-paging__previous a:hover {
  background: #00b7b2;
    color: #ffffff;
  border: 1px solid #228bc8;
}
/*------------------------------------------ 
    カスタム投稿ページ用　ページネーション 
 -----------------------------------------*/
 
.post-nav-wrapper {
  display: flex;
  justify-content: space-between;
}
span.prev-title {
  display: block;
}
.nav-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
  border: 1px solid black;
  padding: 10px;
  width: 250px;

}

.nav-title a {
  display: flex;
  align-items: center;
}

.nav-image {
  display: block;
  width: 50px;
  height: 50px;
  margin-right: 10px;
}

.nav-text {
  font-size: 14px;
  line-height: 1.2;
}

.post-date {
  font-size: 12px;
  color: #666;
}
/* レスポンシブデザイン対応 */
@media (max-width: 480px) {
  .post-nav-wrapper {
    display: block;
    justify-content: space-between;
}
.nav-title {
  width: auto;
}
}

/*------------------------------------------ 
    Swiperカルーセルスライダー 
 -----------------------------------------*/
.carousel-inner {
  padding: 0 6.5vw;
}
.swiper-container {
  overflow: hidden;  
 margin-bottom: 0px; 
}
.swiper-slide .post__thumb--img {
    position: relative;
    overflow: hidden;
    border-radius: 10px; /* 画像の四隅を丸くする */
  }
.swiper-slide .post__thumb--img a {
  position: relative;
  padding-top: 80%;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: transform 0.8s ease-in-out;
  border-radius: 10px; /* 画像の四隅を丸くする */

}
.swiper-slide .post__thumb--img a img {
  position: relative;
  z-index: 1;
  transition: transform 0.3s ease-in-out;
}
.swiper-slide .post__thumb--img a:before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 72%);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;



}
.swiper-slide .post__thumb--img a:hover:before {
  opacity: 1;
}
.swiper-containe {
  width: 60%;
}
span.cat {
  border: 1px solid #00000085;
  padding-left: 10px;
  padding-right: 10px;
  background-color: #ffffff;
}
.card_content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /* padding: 20px; */
  text-align: center;
  z-index: 3;
  max-width: 100%;
}
.meta-block {
  padding-top: 10px;
}
span.date {
  color: #fffaf8;
  display: block;
  padding-bottom: 10px;
  font-weight: 600;
}
h3.swiper {
  font-size: 20px;
}
h3.swiper a:link{color: rgb(247, 247, 247);}
h3.swiper a:visited{color: rgb(150, 152, 153);}
h3.swiper a:hover{color: rgb(255, 255, 255);}
h3.swiper a:active{color: rgb(255, 255, 255);}
.new-icon {
  position: absolute;
  top: 4%;
  left: 4%;
  padding: 3px 8px;
  background-color: #1abd7a;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  border-radius: 0 0 0 6px;
  z-index: 2;
}
.swiper-slide {
  position: relative; /* オーバーレイを追加するために必要 */
}
.swiper-slide:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #00000069;
  opacity: 0.5;
  z-index: 1; /* オーバーレイを手前に表示 */
  border-radius: 10px; /* 画像の四隅を丸くする */

}
.swiper-slide:hover:before {
  opacity: 0; /* ホバー時にオーバーレイを非表示にする */
}

.swiper-slide:hover .post__thumb--img a {
  transform: scale(1.2); /* ホバー時に画像を拡大 */
  z-index: 2; /* 画像をオーバーレイより手前に表示 */
}


/* END Swiperカルーセルスライダー */

/*---------------------------------------------------- 
    snsボタン
 ---------------------------------------------------*/
 .snsshare {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: center; 
}

.snsshare li {
  margin-right: 10px; 
}

.snsshare li:last-child {
  margin-right: 0;
}

.snsshare li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px; 
  height: 30px; 
  color: #fff;
  background-color: #333;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.snsshare li a:hover {
  background-color: #666;
}

.snsshare li.twitter a {
  background-color: #1da1f2;
}

.snsshare li.facebook a {
  background-color: #4267b2;
}

.snsshare li.hatena a {
  background-color: #00a4de;
}

.snsshare li.line a {
  background-color: #00b900;
}

.snsshare li.pocket a {
  background-color: #ef4056;
}

/* レスポンシブデザイン対応 */
@media (max-width: 480px) {
  .snsshare {
    flex-wrap: wrap;
  }
  .snsshare li {
    margin-right: 5px; 
    margin-bottom: 5px; 
  }
  .snsshare li a {
    width: 73px; 
    height: 25px;
    font-size: 12px; 
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .snsshare li {
    margin-right: 8px; 
  }
  .snsshare li a {
    width: 70px;
    height: 28px; 
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .snsshare li {
    margin-right: 15px; 
  }
  .snsshare li a {
    width: 90px; 
    height: 32px; 
  }
}

@media (min-width: 1025px) {
  .snsshare li {
    margin-right: 20px; 
  }
  .snsshare li a {
    width: 110px;
    height: 35px;
  }
}
/* ホバー時にアンダーラインが左から右に表示 */
.dw a {
  position: relative;
  text-decoration: none;
}
.dw a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  height: 2px;
  width: 0;
  background-color: #03a58e;
  transition: width 1s ease-in-out;
}
.dw a:hover::before {
  width: 100%;
}
.dw a:hover {
  text-decoration: none;
}
