@charset "utf-8";

/*
 * スマホ用スタイルCSS
 */

 @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800&display=swap');

/* ===================================================================================================================
   ■共有
------------------------------------------------------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
  background: url(/files/html_bg.png) repeat;
}
/* リンク */
a:link,
a:visited,
a:hover,
a:active {
  text-decoration: underline;
}

body{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}

/* ロゴの上下余白調整 */
#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;
} */


#page-6 #h1_teaser_image{
    background: url(/files/sp_main_logo02-01.png) no-repeat top center/100%;
    position: absolute;
    top: 0;
    z-index: 99;
}

/* ページ送り */
.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: #FFF !important;
}

/* ブログ下部 ブログメニュー部分　文字色変更 */
#primary ul.xoxo li ul li a {
  color: #de4900 !important;/* 全体のリンクカラー */
}
/* ブログ下部 ブログメニュー部分　下線色変更 */
#Side .xoxo li .menu-item a,
#primary ul.xoxo li ul li {
  border-color: #a8a8a8 !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 {
  padding:1em 5%;
  font-size:160%;
  text-align:center;
  color:#FFFFFF;
  background:url(/files/sp_body_bg_naka.png) no-repeat top center/100%;
}

* .headline_title {
  width:calc(100% - 48px);
  margin:0 auto 10px;
  font-size:150%;
}
* .entry_title {
  width:calc(100% - 48px);
  margin:0 auto 10px;
  font-size:130%;
  border-top:solid 4px #000000;
  border-bottom:solid 4px #000000;
}
* .widget-title ,
* .widget-title2 ,
.top-back.unity_title {
  width:calc(100% - 48px);
  margin:0 auto 10px;
  font-size:130%;
  border-top:solid 4px #000000;
  border-bottom:solid 4px #000000;
}
* .sub_post_title {
  font-size:120%;
  border-bottom:solid 4px #000000;
  /* width:calc(100% - 48px); */
  /* margin:0 auto 10px; */
}

* .pageback a ,
* .permalink_in a ,
* .inline_title ,
* small a {
  text-align:center;
  border:none;
  border-radius:5px;
}


/* ページ送りのボタン */
.tablenav .page-numbers {
  border-color:#a8a8a8;
  background: none transparent!important;
}

.headline_title,
* .entry_title,
* .widget-title, * .widget-title2, .top-back.unity_title,
* .sub_post_title,
* .inline_title,
* small a{
font-weight: 700;
}


/* ===================================================================================================================
   ■ブロック
------------------------------------------------------------------------------------------------------------------- */
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: #a8a8a8 !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: #de4900;
}
/* メール送信後メッセージボックスのボーダー（デフォルト：グリーン） */
div.wpcf7-mail-sent-ok {
  border-color: #a8a8a8 !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;
}

/*テーブル設定*/
.easys_content:not(.ne_01) table:not(#wp-calendar) th { width: 25% !important;}
.easys_content:not(.ne_01) table:not(#wp-calendar) tr > * {
  box-sizing: border-box !important;
  background: none transparent !important;
  border-right: none !important;
  border-left: none !important;
  border-bottom: 1px solid #d8d8d8;
}
.easys_content:not(.ne_01) table:not(#wp-calendar) tr:first-child > * {
  border-top: 1px solid #d8d8d8;
}
.z_m1 {
  margin: 0 10px 10px;
}


#video_teaser_sp,
#jquery_slider_sp {
   margin: 0;
   font-size: 0;
  }


/*  メニューアイコン
---------------------------------------------------------------------------------------------------- */
/* ハンバーガーメニューアイコン */
#float_header #btn_menu {
    top: 0px;
    right: 0px;
    width: 16%;
    height: auto;
  }
  /* アクセスマップボタン */
  #float_header #menu_access_btn {
    top: 0px;
    right: calc(0px + 16%);/* 12.5％=ハンバーガーメニューの横幅 */
    width: 16%;
    height: auto;
  }
  /* メニュー左上のロゴの位置
    ※ハンバーガーメニューのtop指定と同じ値を入れる */
  #menu-sp_side {
    background-position: center 0px;
    background: url(/files/sp_main_logo02-01.png)no-repeat top center/100%;
  }

/*  scrollfooter（最下部固定 お問い合わせ･TELボタン）
     ※画像差し替えはFTPにてそれぞれ上書き
---------------------------------------------------------------------------------------------------- */
body.has_scroll_footer {padding: 0 0 17.5vw;}
.scroll_footer ul {background: none transparent;}
.scroll_footer,
.scroll_footer ul {height: 17.5vw;}
.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; }


#jquery_slider_sp {
position: relative;
margin: 0px; 
}
#jquery_slider_sp:before{
content: '';
display: block;
position: absolute;
z-index: 100;
width: 100%;
height: 100%;
background: url(/files/top_bg.png) no-repeat top center/100%;
}

.content_area {
  margin: 0 24px 10px;
 }


#ldhsihqehh85xmhx94xn .margin-bottom_10{
  margin-bottom: 0;
}


/*SPセカンドメイン*/
#bpw1j1xvpq4wiz0wj8w2 {
  position:relative;
  height:280vw;
  background:url(/files/secondmain_bg.png) no-repeat top center/100%;
}


#bpw1j1xvpq4wiz0wj8w2:before {
  content:" ";
  display:block;
  position:absolute;
  top:20vw;
  left:0;
  z-index:1;
  width:100%;
  height:10vw;
  animation:bg_loop01 38s linear 0s infinite;
  background:url(/files/secondmain_txt01.png) repeat-x top left/250%;
}

@keyframes bg_loop01 {
  0% {
    background-position-x:0;
  }
  100% {
    background-position-x:-250vw;
  }
}

#bpw1j1xvpq4wiz0wj8w2:after {
  content:" ";
  display:block;
  position:absolute;
  top:100vw;
  left:0;
  z-index:1;
  width:100%;
  height: 10vw;
  animation:bg_loop02 38s linear 0s infinite;
  background:url(/files/secondmain_txt02.png) repeat-x top left/250%;
}

@keyframes bg_loop02 {
  0% {
    background-position-x:0;
  }
  100% {
    background-position-x:250vw;
  }
}


#bpw1j1xvpq4wiz0wj8w2 .content_area {
  margin:0;
}

#bpw1j1xvpq4wiz0wj8w2  a {
  position:absolute;
  bottom:13vw;
  left:0;
  right:0;
  width:35vw;
  height:35vw;
  margin:auto;
}

#bpw1j1xvpq4wiz0wj8w2  a img {
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  width:25vw;
  height:25vw;
  margin:auto;
}

#bpw1j1xvpq4wiz0wj8w2 a:before {
  content:" ";
  display:block;
  position:absolute;
  top:0;
  left:0;
  z-index:1;
  width:100%;
  height:100%;
  animation:circle linear 60s infinite;
  background:url(/files/secondmain_btn_txt.png) no-repeat top center/100%;
}

@keyframes circle {
  0% {
    transform:rotate(0deg);
  }
  100% {
    transform:rotate(-360deg);
  }
}



#ldhsihqehh85xmhx94xn .content_area {
  margin:0;
}

