@charset "utf-8";

/*
 * スマホ用スタイルCSS
 */



/* ===================================================================================================================
   ■共有
------------------------------------------------------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}
/* リンク */
a:link,
a:visited,
a:hover,
a:active {
  text-decoration: underline;
}


/* ロゴの上下余白調整 */
#h1_teaser_image {
  margin: 0;
}

/* fixする場合
#h1_teaser_image {
  position: fixed;
  top: 0;
  z-index: 1000;
}
#main {
  margin-top: calc(20px + 12.5%)(ハンバーガーメニューの高さ);
  overflow: hidden;
}*/

/* TOP ロゴ非表示 */
#page-6 #h1_teaser_image {
  height: 0 !important;
  background-image: none !important;
}

/* ページ送り */
.tablenav {
  clear: both;
}

.sp_gallery {
  text-align: center;
}
.sp_gallery img {
  max-width: 100%;
  width: auto;
}
.img_border {
  border: 0 none;
}

/* ===================================================================================================================
   ■ナビ
------------------------------------------------------------------------------------------------------------------- */
/* メニューON時　メニューの文字色変更 */
#Side .xoxo li .menu-item a {
  color: #333333 !important;
}

/* ブログ下部 ブログメニュー部分　文字色変更 */
#primary ul.xoxo li ul li a {
  color: #1bb33b !important;/* 全体のリンクカラー */
}
/* ブログ下部 ブログメニュー部分　下線色変更 */
#Side .xoxo li .menu-item a,
#primary ul.xoxo li ul li {
  border-color: #000000 !important;/* 全体のボーダーカラー */
}
#rSide_wrap {
  background: none transparent !important;
}
#calendar_wrap table tr td a {
  text-decoration: underline;
}
#calendar_wrap table tr td a:hover {
  text-decoration: none;
}
#calendar_wrap table tr td#today,
#calendar_wrap table tr td#today a {
  color: #ffffff;
}/* fffか333かサイト背景色 */

#searchform input[type="text"] {
  max-width: 77%;
}

/* SPメニュークリックで一番上にスクロールさせない */
.scroll-prevent {
  position: static !important;
  overflow: hidden !important;
}
#Side_wrap,
#rSide_wrap,
#Side {
  height: 100% !important;
}

/* ===================================================================================================================
   ■見出し
------------------------------------------------------------------------------------------------------------------- */
/*中ページ ページタイトル*/
#naka_page_title {
    margin: 0 0 1em;
}
#naka_page_title h1 {
  background: #143f14;
  color: #fff;
  padding: 1em 5%;
}

* .headline_title {
  padding-top: 30vw;
  margin-bottom:5vw!important;
}
* .entry_title {
  background: url(/files/sp_entry_title_bg_01.png) no-repeat top center/100%,
  url(/files/sp_entry_title_bg_02.png) no-repeat bottom center/100%!important;
  min-height: 35vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5%;
}
* .widget-title, * .widget-title2, .top-back.unity_title {
  background: url(/files/sp_entry_title_bg_01.png) no-repeat top center/100%,
  url(/files/sp_entry_title_bg_02.png) no-repeat bottom center/100%!important;
}
* .sub_post_title {
  background-position: center bottom!important;
  text-align: left;
  min-height: 20vw;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 10px 2.5% 10px 8%;
}

* .pageback a,
* .permalink_in a,
* .inline_title,
* small a {
  text-align: center;
  border: none;
}

/* ページ送りのボタン */
.tablenav .page-numbers {
  border-color:#000000;
  background: none transparent!important;
}

/* ===================================================================================================================
   ■ブロック
------------------------------------------------------------------------------------------------------------------- */
th,
td {
  vertical-align: top;
  white-space: initial !important;
}

.mobile_e1 .icon_list_block {
  box-sizing: border-box;
  width: 100%;
}
.mobile_e1 .entry_post:not(:last-of-type) .icon_list_block {
  padding-bottom: 0 !important;
}

.img_thumb,
.column_1,
.column_2,
.column_3,
.column_4 {
  text-align: center;
}
.img_thumb img,
.column_1 img,
.column_2 img,
.column_3 img,
.column_4 img {
  max-width: 100%;

/*width: auto;*/
  vertical-align: top;
}

.menu_area td,
.menu_td_text,
.bottom_border {
  /* Dブロック　メニュー部点線 */
  border-color: #000000 !important;
}
.menu_area td,
.menu_td_text {
  vertical-align: top !important;
}

.flow_arr {
  background-size: contain !important;
}

/* K-01、K-02 メール投稿ブロック */
.k_01 .content_area,
.k-02 .content_area {
  line-height: 2;
}

/* Z-J スライドショー */
.z_j1 {
  margin: 0 0 20px;
}

.gallery_box {
  display: inline-block;
  width: 100%;
  height: auto;
}

.j_01 .sub-post {
  margin: 0 10px 20px;
}
.j_01 .content_area .sub-post {
  margin: 0;
}

.z_d1 {
  overflow-x: hidden;
  overflow-y: scroll;
  margin-bottom: 20px;
  max-height: 75vh;
}

/* 必須項目 */
.iqfm-req_color {
  display: block;
  color: #1bb33b;
}
/* メール送信後メッセージボックスのボーダー（デフォルト：グリーン） */
div.wpcf7-mail-sent-ok {
  border-color: #000000 !important;
}

/* お問合せフォーム整形 */
table.iqfm-table {
  margin: 0 auto 1em;
}
table.iqfm-table th,
table.iqfm-table td {
  vertical-align: middle !important;
  white-space: normal !important;
}
table.iqfm-table td {
  min-width: 16em;
}
table.iqfm-table td span.wpcf7-list-item {
  display: block;
  margin: 0;
}
input[type="text"],
input[type="email"],
textarea {
  width: 95%;
}
table.iqfm-table td input[type="text"]:not([size]) {
  width: 96%;
}
table.iqfm-table td input[type="text"][size="4"] {
  width: 4em;
}

/* プライバシーポリシー整形 */
.privacy_block strong {
  font-size: 130%;
  line-height: 2;
}
.privacy_block ul li {
  margin: 0 0 0 20px;
  padding: 0;
  list-style: square outside none;
  line-height: 1.7;
}

.z_g1 .content_area {
  box-shadow: none;
}

/* テーブルブロックのはみ出し禁止 */
.z_g1 .column1,
.z_g1 .column2,
.z_g1 .column3,
.z_g1 .column4 {
  vertical-align: top;
  text-align: left;
  white-space: normal !important;
  word-break: break-all;
}

/* テーブルセルの最小幅設定 */
.menu_area td:before,
.menu_td_text:before,
td.td_name:before,
.z_g1 .column1:before,
.z_g1 .column2:before,
.z_g1 .column3:before,
.z_g1 .column4:before {
  display: block;
  min-width: 4em;
  content: "";
}

#nav-below div a {
  background-size: cover !important;
}

.category-blog .entry-content img:not([src*="wp-social-book"]) {
  max-width: 100%;
  width: auto !important;
  height: auto !important;
}


.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignright,
.entry-content img.alignleft,
.entry-content .photo img {
  min-width: 0;
  max-width: 80%;
  width: auto;
}
.entry-content .alignleft {
  text-align: left;
}
.entry-content .aligncenter {
  text-align: center;
}
.entry-content .alignright {
  text-align: right;
}

/*テーブル設定*/
table:not(#wp-calendar) th {
  width: 25% !important;
}
table:not(#wp-calendar) tr > * {
  box-sizing: border-box !important;
  border: solid 1px #FFF  !important;
  background: none transparent  !important;
}

table:not(#wp-calendar) {
  border-spacing: 0px 5px !important;
  border-collapse: separate;
}

/* 左右色変更 */
.easys_content:not(.ne_01) table:not(#wp-calendar) tr > *:first-child,
.easys_content:not(.ne_01) table:not(#wp-calendar) tr > th {
  background: #e6e6e6!important;
  color: #000  ;
}
.easys_content:not(.ne_01) table:not(#wp-calendar) tr > td {
  background: #f7f7f7!important;
  color: #333333  ;
}

.z_m1 {
  margin: 0 10px 10px;
}


#video_teaser_sp,
#jquery_slider_sp {
   margin: 0;
   font-size: 0;
  }


/*  メニューアイコン
---------------------------------------------------------------------------------------------------- */
/* ハンバーガーメニューアイコン */
#float_header #btn_menu {
    top: 20px;
    right: 20px;
    width: 12.5%;
    height: auto;
  }
  /* アクセスマップボタン */
  #float_header #menu_access_btn {
    top: 20px;
    right: calc(20px + 12.5%);/* 12.5％=ハンバーガーメニューの横幅 */
    width: 12.5%;
    height: auto;
  }
  /* メニュー左上のロゴの位置
    ※ハンバーガーメニューのtop指定と同じ値を入れる */
  #menu-sp_side {
    background-position: center 20px;
  }

/*  scrollfooter（最下部固定 お問い合わせ･TELボタン）
     ※画像差し替えはFTPにてそれぞれ上書き
---------------------------------------------------------------------------------------------------- */
body.has_scroll_footer {
  padding:0 ;
}
.scroll_footer ul {
  background:none transparent;
}
.scroll_footer {
  top:10px;
  bottom:initial;
  width:35vw;
  height:17.5vw;
  box-shadow:initial;
}

.scroll_footer ul li {
  width:50%;
  height:17.5vw;
}
.scroll_footer ul li.footer_tel_link {
  left:0;
}/*TELボタン*/
.scroll_footer ul li.footer_contact_link {
  right:0;
}/*contactボタン*/


/*  その他
---------------------------------------------------------------------------------------------------- */
#foot #copy {
    background: none;
  }
/*  ローディング画面
---------------------------------------------------------------------------------------------------- */
.black-screen {
  background-color: #000000;
}

.black-screen > .inner {
  top: calc(50vh - (5vw / 2));
  width: 3vw;
  height: 3vw;
  background-image: url("/files/loading.svg");
}

/*  地図
---------------------------------------------------------------------------------------------------- */
#map_canvas {
  width: 100%;
  height: 450px;
}

/*  googleカレンダー
---------------------------------------------------------------------------------------------------- */
.z_h1 iframe[src^="https://calendar.google.com"] {
    display: block !important;
    margin: 0 0 20px;
    max-width: 100%;
    width: 1000px !important;
    height: 500px;
    border: none !important;
  }

/* Contact Form 7 　バグ対応
---------------------------------------------------------------------------------------------------- */
input[type="tel"].wpcf7c-conf {
    min-width: 4em;
  }

/*  ビフォーアフター調整
---------------------------------------------------------------------------------------------------- */
.before_after_block{
  width: 100%;
  padding: 0;
  background-size: 100% auto;
background-position: center center;
}

/*お問い合わせフォーム送信後
---------------------------------------------------------------------------------------------------- */
div.wpcf7-mail-sent-ok {
  border: 2px solid #333!important;/* 任意の色 */
}


/*  トップページ
---------------------------------------------------------------------------------------------------- */

.grecaptcha-badge { visibility: hidden; }

#k9yioikdson715u62vqx .content_area,
#myz1yj325n5bwaawzxjb .content_area,
#lr1vc9r3k5m6fpjfrhfg .content_area,
#ygp6979e2kpza69iqcic .content_area{
    margin: 0;
}

#lr1vc9r3k5m6fpjfrhfg .margin-bottom_10{
  margin-bottom: 0;
}

/*余白5%調整
---------------------------------------------------------------------------------------------------- */

* .content_area {margin: 0 5% 10px;}

#naka_page_title h1 {padding: 1em 5%;}
/* * .headline_title {padding: 30px 5%;}
* .entry_title {padding: 15px 5%;}
* .sub_post_title { padding: 15px 5%;} */

/*お問い合わせフォーム */
.iqfm-table td textarea {
  width: 90%!important;
}
.your-name input,
.kana input,
.e-mail input{width: 60vw;}

/*ブログページ余白 */
/* .widget-title2 a {padding: 15px 5%;}
.widget-area #searchform {padding: 0px 5%;}
.widget-area  #primary .widget-title {padding: 15px 5%;}
.widget-area  #primary ul.xoxo li ul li a {padding: 10px 5%;}
.widget-area  #calendar_wrap {
padding: 0px 5%;
width: auto;
} */


#content div.entry-content {
  margin: 2vw 5% 30px;
}

.addtoany_shortcode{margin: 5vw 0;}
#content div.entry-meta {padding: 0 5%;}
#primary .widget-title {padding: 15px 5%;}
.widget-area  #content div.entry-meta {padding: 0 5%;}
.widget-area  #content div.entry-content {padding: 0px 5%;}

/* ガテン職バナー */
.facebook_banner {margin: 20px 5%;}




 /*ナビギミック
  ---------------------------------------------------------------------------------------------------- */

/* -----ガテンボタン----- */



/* 非表示の時 */
#Side_wrap.hide_menu .widget-container .textwidget {
  transform: translateY(50px);
  opacity:0;
  transition:0.5s ease 0s;
}


/* オープン時 */
#Side_wrap .widget-container .textwidget {
  position:relative;
  width:100%;
  height:22vw;
  margin:0;
  overflow:hidden;
  justify-content:flex-start;
  transform: translateY(0);
  opacity:1;
  transition:.32s ease 0s;
  transition-delay: 1.1s;
}


#secondary .widget-container .textwidget a {
  position:absolute;
  left: 0;
  padding:0;
}


/* -----ナビ部分----- */
#Side_wrap #Side .xoxo li .menu-item a {
  position:relative;
  width:100%;
  padding:0;
  text-align:left;
  margin: 2.5px 0;
  overflow: hidden;
}

/* 非表示の時 */
#Side_wrap.hide_menu ul#menu-sp_side li {
  width: 0%!important;
    transition: opacity 0.5s,width .32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

#Side_wrap.hide_menu #Side .xoxo li .menu-item a:before{
  left: -100%;
}


/* オープン時 */
#Side_wrap ul#menu-sp_side li {
    width: 50%!important;
    margin-left: 7vw;
    transition: opacity 0.5s,width .32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

#Side .xoxo li .menu-item a:before {
  content:' ';
  display:block;
  position:absolute;
  top:0;
  left: 100%;
  z-index:1;
  width: 100%;
  height:100%;
  background:#143F14;
  transition: left .32s cubic-bezier(0.39, 0.575, 0.565, 1);
}



/* 表示を順番に遅らせる */
#Side_wrap ul#menu-sp_side li:nth-child(1) a:before,
#Side_wrap ul#menu-sp_side li:nth-child(1)  {
    transition-delay: .56s
}

#Side_wrap ul#menu-sp_side li:nth-child(2) a:before,
#Side_wrap ul#menu-sp_side li:nth-child(2)  {
    transition-delay: .64s
}

#Side_wrap ul#menu-sp_side li:nth-child(3) a:before,
#Side_wrap ul#menu-sp_side li:nth-child(3)  {
    transition-delay: .72s
}

#Side_wrap ul#menu-sp_side li:nth-child(4) a:before,
#Side_wrap ul#menu-sp_side li:nth-child(4) {
    transition-delay: .80s
}

#Side_wrap ul#menu-sp_side li:nth-child(5) a:before,
#Side_wrap ul#menu-sp_side li:nth-child(5)   {
    transition-delay: .88s
}

#Side_wrap ul#menu-sp_side li:nth-child(6) a:before,
#Side_wrap ul#menu-sp_side li:nth-child(6)  {
    transition-delay: .96s
}

#Side_wrap ul#menu-sp_side li:nth-child(7) a:before,
#Side_wrap ul#menu-sp_side li:nth-child(7)  {
    transition-delay: 1.04s
}




/*SP見出しギミック
---------------------------------------------------------------------------------------------------- */

 .title_gimmick {
  position:relative;
  overflow:hidden;
  width: 100%;
  margin: 0 auto;
  -webkit-clip-path:polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  transition: -webkit-clip-path .60s cubic-bezier(0.165, 0.84, 0.44, 1) .1s;
  transition: clip-path .60s cubic-bezier(0.165, 0.84, 0.44, 1) .1s;
  transition: clip-path .60s cubic-bezier(0.165, 0.84, 0.44, 1) .1s, -webkit-clip-path .48s cubic-bezier(0.165, 0.84, 0.44, 1) .1s;
}

.title_gimmick.moved {
  /* -webkit-clip-path:polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); */
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.title_gimmick:before {
  content:" ";
  display:block;
  position:absolute;
  top:0;
  left: 0;
  z-index:1;
  width:100%;
  height:100%;
  background:#143F14;
  transform: translateX(-151%) skewX(-45deg);
  transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.title_gimmick.moved:before {
  transform: translateX(151%) skewX(-45deg);
}