@charset "utf-8";



/* =================================================================================================================== */
/* SPカスタムプロパティ ★*/
:root{
  --basic_background_color: #ffffff;
  --blog_heading_background_color: transparent;
  --blog_heading_border_color: transparent;
  --blog_heading_link_color: transparent;
  --blog_heading_text_color: transparent;
  --body_text_color: #2f2f2f;
  --border_color: #00bfff;
  --copyright_background_color: #104572;
  --copyright_characters_color: #ffffff;
  --h2_heading_background_color: transparent;
  --h2_heading_border_color: #00bfff;
  --h2_heading_link_color: #000000;
  --h2_heading_text_color: #000000;
  --h3_heading_background_color: #00bfff;
  --h3_heading_border_color: transparent;
  --h3_heading_link_color: #ffffff;
  --h3_heading_text_color: #ffffff;
  --h4_subheading_background_color: transparent;
  --h4_subheading_border_color: #00bfff;
  --h4_subheading_link_color: #000000;
  --h4_subheading_text_color: #000000;
  --inline_background_color: #104572;
  --inline_border_color: transparent;
  --inline_characters_color: #ffffff;
  --inline_link_color: #ffffff;
  --inside_page_text_color: #ffffff;
  --link_color: #00bfff;
  --medium_page_background_color: #00bfff;
  --middle_page_border_color: transparent;
  --navi_characters_color: #000000;
  --navigation_background_color: #ffffff;
  --navigation_sub_color: #000000;
  --required_color: #00bfff;
  --table_border_color: #000000;
  --td_background_color: #ecfaff;
  --td_character_color: #2f2f2f;
  --th_background_color: #ecfaff;
  --th_character_color: #2f2f2f;
  --widget_heading_background_color: transparent;
  --widget_heading_border_color: transparent;
  --widget_heading_link_color: transparent;
  --widget_heading_text_color: transparent;
}

/* =================================================================================================================== */
/* 置換以外 */
:root{
  --easys_base_width: 640;

/* メニューボタンサイズ */
  --easys_footer_h: calc(100vw * (112 / var(--easys_base_width)));

/* EASYSの基本余白 */
  --easys_menu_size: calc(100vw * (80 / var(--easys_base_width)));

/* EASYSの基準横幅(単位なし) */
  --easys_padding: 5%;

/* スクロールフッタ高さ */
  --easys_standard_value001: #ffffff;

/* スクロールフッタ＞背景色 */
  --easys_standard_value002: #ffffff;

  /* カレンダーの本日＞文字色 */
}


/* =================================================================================================================== */

/* ===================================================================================================================
   ■共有
------------------------------------------------------------------------------------------------------------------- */
html{
  scroll-behavior: smooth;
}

body{
  word-break: break-word;
}

/* リンク */
a:link,
a:visited,
a:hover,
a:active{
  text-decoration: underline;
}


/* ページ送り */
.tablenav{
  clear: both;
}

.sp_gallery{
  text-align: center;
}

.sp_gallery img{
  max-width: 100%;
  /* width: auto; */
}

.img_border{
  border: 0 none;
}

/* ロゴの上下余白調整 */
#h1_teaser_image{
  margin: 0;
}

/* SP余白設定
---------------------------------------------------------------------------------------------------- */
/* アウターブロック
#main>#outer_block:not(#page-6 #main>#outer_block) {
  padding-top: 5%;
} */

.outer_top #outer_block:not(.shosai .outer_top #outer_block){
  padding-top: 0 !important;
}

/* 余白を付ける(「D-01 ギャラリーブロック」を除いたスライドショーとギャラリーは除外) */
/* #main>#outer_block>section:not(.has_nk_01) {
  padding-bottom: var(--easys_padding);
} */

#main > #outer_block > section:not(.device_width):not(.has_c_07):not(.has_c_08):not(.has_c_09):not(.has_np_04):not(.has_z_j6){
  padding-left: 5%;
  padding-right: 5%;
}

/* 見出しだけ全幅にする時 
  #main > #outer_block > section {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  #main > #outer_block > section .content_area {
    margin-right: var(--easys_padding);
    margin-left: var(--easys_padding);
  }*/

/* ブログページ */
#main > #container,
#main > #rSide{
  padding: var(--easys_padding);
}

/* 見出しだけ全幅にする時 
  #main > #container,
  #main > #rSide {
    padding-right: 0;
    padding-left: 0;
  }
  #main > #container > #content > .post > *:not(.entry_title) {
    padding-right: var(--easys_padding);
    padding-left: var(--easys_padding);
  }
  #main > #rSide > #primary > .xoxo #searchform,
  #main > #rSide > #primary > .xoxo li ul li,
  #main > #rSide > #primary > .xoxo #calendar_wrap {
    margin-right: var(--easys_padding);
    margin-left: var(--easys_padding);
  }*/

/* ===================================================================================================================
   ■ナビ
------------------------------------------------------------------------------------------------------------------- */
/*左寄せのとき*/
/* #Side .xoxo li .menu-item a {
    text-align: left;
    padding: 0px 15%;
} */

/* メニューON時　メニューの文字色変更 */
#Side .xoxo li .menu-item a{
  color: var(--navi_characters_color) !important;
}

/* ブログ下部 ブログメニュー部分　文字色変更 */
#primary ul.xoxo li ul li a{
  color: var(--link_color) !important;
  /* 全体のリンクカラー */
}

/* ブログ下部 ブログメニュー部分　下線色変更 */
#Side .xoxo li .menu-item a,
#primary ul.xoxo li ul li{
  border-color: var(--border_color) !important;
}

#rSide_wrap{
  background: none transparent !important;
}

#searchform input[type="text"]{
  max-width: 77%;
}

/* SPメニュークリックで一番上にスクロールさせない */
.scroll-prevent{
  overflow: hidden !important;
  position: static !important;
}

#Side_wrap,
#rSide_wrap,
#Side{
  height: 100% !important;
}

/*ブログ　前後投稿リンク　ボーダー削除*/
#nav-below .nav-previous a{
  border: none;
}

/* ===================================================================================================================
   ■見出し
------------------------------------------------------------------------------------------------------------------- */
/* 中ページ ページタイトル */
/* #naka_page_title {
  margin: 0;
} */
#naka_page_title h1{
  background: var(--medium_page_background_color);
  color: var(--inside_page_text_color);
  padding: 1em 5%;
  text-align: center;
}

/*追加　詳細記事へのリンクボタン等*/
.pageback a,
.permalink_in a{
  border: 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: var(--border_color) !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;
  height: auto;
  width: 100%;
}

.j_01 .sub-post{
  margin: 0 10px 20px;
}

.j_01 .content_area .sub-post{
  margin: 0;
}

.z_d1{
  margin-bottom: 20px;
  max-height: 75vh;
  overflow-x: hidden;
  overflow-y: scroll;
}

/* 必須項目 */
.iqfm-req_color{
  color: var(--required_color);
  display: block;
}

/* メール送信後メッセージボックスのボーダー（デフォルト：グリーン） */
div.wpcf7-mail-sent-ok{
  border-color: var(--border_color) !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{
  line-height: 1.7;
  list-style: square outside none;
  margin: 0 0 0 20px;
  padding: 0;
}

.z_g1 .content_area{
  box-shadow: none;
}

/* テーブルブロックのはみ出し禁止 */
.z_g1 .column1,
.z_g1 .column2,
.z_g1 .column3,
.z_g1 .column4{
  text-align: left;
  vertical-align: top;
  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{
  content: "";
  display: block;
  min-width: 4em;
}

#nav-below div a{
  background-size: cover !important;
}

.category-blog .entry-content img:not([src*="wp-social-book"]){
  height: auto !important;
  max-width: 100%;
  width: auto !important;
}

.entry-content img.alignnone,
.entry-content img.aligncenter,
.entry-content img.alignright,
.entry-content img.alignleft,
.entry-content .photo img{
  max-width: 80%;
  min-width: 0;
  width: auto;
}

.entry-content .alignleft{
  text-align: left;
}

.entry-content .aligncenter{
  text-align: center;
}

.entry-content .alignright{
  text-align: right;
}

.z_m1{
  margin: 0 10px 10px;
}

#video_teaser_sp,
#jquery_slider_sp{
  font-size: 0;
  margin: 0;
  position: relative;
}

/* トップに画像を重ねる時 */
#video_teaser_sp::before,
#jquery_slider_sp::before{
  background: url(../files/sp_top_header_cover.png) no-repeat center center / cover;
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1;
}

#video_teaser_sp::after,
#jquery_slider_sp::after{
  background: url(../files/sp_top_header_img.png) no-repeat center bottom / 100%;
  bottom: 0;
  content: "";
  display: block;
  height: calc(100vw*(320 / 640));
  left: calc(100vw*(40 / 640));
  position: absolute;
  width: calc(100vw*(240 / 640));
  z-index: 1;
}

/*  メニューアイコン
---------------------------------------------------------------------------------------------------- */
/* ハンバーガーメニューアイコン */
#float_header #btn_menu{
  height: auto;
  right: calc(20 / 640 * 100vw);
  top: calc(20 / 640 * 100vw);
  width: var(--easys_menu_size);

  /* LP ハンバーガーアイコン非表示
  display: none; */
}

/* アクセスマップボタン */
#float_header #menu_access_btn{
  background: url(/files/sp_menu_access_btn.png) no-repeat center center / 100%;
  height: auto;
  height: var(--easys_menu_size);
  right: calc(100 / 640 * 100vw);
  text-indent: -9999px;
  top: calc(20 / 640 * 100vw);
  width: var(--easys_menu_size);
  z-index: 2;
}

#float_header #menu_access_btn a{
  display: block;
  height: 100%;
}

/* メニュー左上のロゴの位置
  ※ハンバーガーメニューのtop指定と同じ値を入れる */
#menu-sp_side{
  background-position: center 20px;
}

/*  scrollfooter（最下部固定 お問い合わせ･TELボタン）
---------------------------------------------------------------------------------------------------- */
/* contact2ボタン */
body.has_scroll_footer{
  padding: 0 0 var(--easys_footer_h);
}

.scroll_footer ul{
  background: url(/files/sp_footerfix_contact_bg.png) no-repeat center center / 100%;
}

.scroll_footer,
.scroll_footer ul{
  background-color: var(--easys_standard_value001);
  height: var(--easys_footer_h);
}

.scroll_footer ul li{
  height: var(--easys_footer_h);
  width: 50%;
}

.scroll_footer ul li:only-child{
  width: 100%;
}

.scroll_footer ul li a{
  display: block;
}

.scroll_footer ul li.footer_tel_link{
  left: 0;
}

.scroll_footer ul li.footer_contact_link{
  right: 0;
}

/*  その他
---------------------------------------------------------------------------------------------------- */
#foot #copy{
  background: none;
  /* height: calc(540 / 640 * 100vw);
  position: relative; */
}

/* #copyright {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
} */


/*  ローディング画面
---------------------------------------------------------------------------------------------------- */
/* .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{
  height: 450px;
  width: 100%;
}

/*  googleカレンダー
---------------------------------------------------------------------------------------------------- */
.z_h1 iframe[src^="https://calendar.google.com"]{
  border: none !important;
  display: block !important;
  height: 500px;
  margin: 0 0 20px;
  max-width: 100%;
  width: 1000px !important;
}

/* Contact Form 7 　バグ対応
---------------------------------------------------------------------------------------------------- */
input[type="tel"].wpcf7c-conf{
  min-width: 4em;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
        ▼SPサイトデザイン▼ここから
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*  タイトルロゴ
===============================================================■■■■■*/
#h1_teaser_image{
  /* ロゴの上下余白調整 */
  background: transparent url(../files/sp_main_logo.png) no-repeat center top / 100% auto;
  margin: 0;
}

/* fixする場合(ハンバーガーメニューの高さ) 
  #h1_teaser_image {
    position: fixed;
    top: 0;
    z-index: 1000;
  }*/

/* TOPロゴ非表示 */
#page-6 #h1_teaser_image{
  display: none;
}

#h1_teaser_image h1 a img{
  height: calc(100vw * (150 / var(--easys_base_width)));
  width: 100%;
  /*「150」はロゴ画像の高さに変更*/
}

/*	メイン背景画像 - トップページ用(※不要な場合はコメントアウト)
  ===============================================================■■■■■*/
/* body#page-6 div#main #top_slide {
    padding-bottom: calc(100vw * (870 / var(--easys_base_width)));
    background: transparent url(../files/sp_top_bg.png) no-repeat center bottom / 100% auto;
} */

/*	メイン背景画像 - 中ページ用
  ===============================================================■■■■■
  body:not(#page-6) div#main #top_slide {
    padding-bottom: calc(100vw * (870 / var(--easys_base_width)));
    background: transparent url(../files/sp_naka_bg.png) no-repeat center bottom / 100% auto;
  }*/

/*	フッター - コピーライト
  ===============================================================■■■■■*/
address#copyright{
  background-color: var(--copyright_background_color);
  color: var(--copyright_characters_color);
  display: block;
  font-size: 12px;
  font-style: normal;
}

/*	■メインコンテンツ背景 ★
  ===============================================================■■■■■*/
html,
body,
#Wrap{
  /* 背景色のみなら↓　 */
  background-color: var(--basic_background_color);

  /*画像なら↓
  background: url(../files/sp_html_bg.png);*/
}

/*	○ 両サイドナビゲーション背景 ★
  ===============================================================■■■■■*/
#Side_wrap{
  /* 背景色のみなら↓　 */
  background-color: var(--navigation_background_color);
  /*画像なら↓
  background: url(../files/sp_navi_bg.png)no-repeat center / cover;*/
}

#Side_wrap ul#menu-sp_side{
  padding: 30% 0 8%;
}

/*  サイト全体 テキストカラー：文字色
  ===============================================================■■■■■*/
body{
  color: var(--body_text_color);
}

/*	サイト全体 リンクカラー：リンク文字色
  ===============================================================■■■■■*/
* a{
  color: var(--link_color);
}

/*	サイト全体 リンクカラー：リンク文字色（マウスオーバー）
  ===============================================================■■■■■*/
* a:hover{
  color: var(--link_color);
}

/*	大見出し(h2見出し) ★
  ===============================================================■■■■■*/
* .headline_title{
  background: var(--h2_heading_background_color);
  border-bottom: solid 2px var(--h2_heading_border_color);
  box-sizing: border-box;
  color: var(--h2_heading_text_color);
  /*background: transparent url(../files/sp_headline_title_bg.png) no-repeat center bottom / 100% auto;*/
  /*background: linear-gradient(#555555,#555555);*/
}

/*  大見出し(h2見出し)：リンクカラー
  ===============================================================■■■■■*/
* .headline_title a{
  color: var(--h2_link);
  font-weight: bold;
}

* .headline_title a:hover{
  color: var(--h2_link);
}

/*  見出し(h3見出し) ★
  ===============================================================■■■■■*/
/*  ウィジェットタイトル(ウィジェット見出し)
  ===============================================================■■■■■*/
/*  ブログ見出し：グラデーション
  ===============================================================■■■■■*/
* .entry_title,
* .widget-title,
* .widget-title2,
.top-back.unity_title,
#content .type-post .entry_title{
  background: var(--h3_heading_background_color);
  border: solid 1px var(--h3_heading_border_color);
  box-sizing: border-box;
  color: var(--h3_heading_text_color);
  font-weight: bold;

/*左寄せ
  text-align: left;*/
  padding: 15px 5%;

/*background: transparent url(../files/sp_entry_title_bg.png) no-repeat center bottom / 100% auto;*/
  /*background: linear-gradient(#888888,#888888);*/
  text-align: center;
}

/*ブログタイトル*/
.widget-title2{
  padding: 0;
}

/*	見出し(h3見出し)：リンクカラー
  ===============================================================■■■■■*/
/*	ウィジェットタイトル(ウィジェット見出し)：リンクカラー
  ===============================================================■■■■■*/
/*	ブログ見出し：リンクカラー
  ===============================================================■■■■■*/
* .entry_title a,
* .widget-title a,
* .widget-title2 a,
.top-back.unity_title a,
#content .type-post .entry_title a{
  color: var(--h3_heading_link_color);
  font-weight: bold;
}

* .entry_title a:hover,
* .widget-title a:hover,
* .widget-title2 a:hover,
.top-back.unity_title a:hover,
#content .type-post .entry_title a:hover{
  color: var(--h3_heading_link_color);
}

/*	小見出し(h4小見出し) ★
  ===============================================================■■■■■*/
* .sub_post_title{
  background: var(--h4_subheading_background_color);
  border-inline: solid 4px var(--h4_subheading_border_color);
  box-sizing: border-box;
  color: var(--h4_subheading_text_color);
  font-weight: bold;

/*左寄せ
  text-align: left;*/
  padding: 15px 5%;

/*background: transparent url(../files/sp_sub_title_bg.png) no-repeat center bottom / 100% auto;*/
  /*background: linear-gradient(#cccccc,#cccccc);*/
  text-align: center;
}

/*  小見出し(h4小見出し)：リンクカラー
  ===============================================================■■■■■*/
* .sub_post_title a{
  color: var(--h4_link);
  font-weight: bold;
}

* .sub_post_title a:hover{
  color: var(--h4_link);
}

/*  インラインタイトル(インライン) ★
  ===============================================================■■■■■*/
.inline_title,
small a,
.tablenav .page-numbers,
.navigation .nav-next a,
.navigation .nav-previous a,
.pageback a,
.permalink_in a{
  background: var(--inline_background_color);
  border: solid 1px var(--inline_border_color);
  box-sizing: border-box;
  color: var(--inline_characters_color);
  /*background: transparent url(../files/sp_inline_title_bg.png) repeat center top / 100% auto;*/
  /*background: linear-gradient(#cccccc,#cccccc);*/
}

.inline_title,
small a{
  text-align: center;
}

.comment_title{
  border-left: 5px solid var(--inline_border_color);
}

/*	インラインタイトル(インライン)：リンクカラー
  ===============================================================■■■■■*/
.inline_title a{
  color: var(--inline_link_color);
}

small a,
.tablenav a,
.navigation .nav-next a,
.navigation .nav-previous a,
.pageback a,
.permalink_in a{
  color: var(--inline_link_color) !important;
  font-weight: bold;
}

.inline_title a:hover,
small a:hover,
.tablenav a:hover,
.navigation .nav-next a:hover,
.navigation .nav-previous a:hover,
.pageback a:hover,
.permalink_in a:hover{
  color: var(--inline_link_color) !important;
}

/*	ページ共通：テーブル
  ===============================================================■■■■■*/
/* テーブル背景 */
.iqfm-table tr th,
.iqfm-table tr td,
td.td_name,
td.td_value,
td.coupon_meta_title,
td.coupon_meta,
td.coupon_data{
  background-color: var(--td_background_color);
  border: solid 1px var(--table_border_color);
  box-sizing: border-box;
  color: var(--td_character_color);
}

td.coupon_data{
  color: var(--td_character_color);
}

/* テーブルセル左 */
.iqfm-table tr th,
td.td_name,
td.coupon_meta_title{
  background-color: var(--th_background_color);
  color: var(--th_character_color);
}

/* テーブルセル右 */
.iqfm-table tr td,
.iqfm-table tr td input.wpcf7c-conf,
.iqfm-table tr td textarea.wpcf7c-conf,
td.td_value,
td.coupon_meta,
td.coupon_data{
  background-color: var(--td_background_color);
  color: var(--td_character_color);
}

/* ▼テーブル設定▼ここから(※案件毎にテーブルデザインを設定する) */
/*テーブル設定*/
.iqfm-table tr th{
  width: 25%;
}
.iqfm-table tr th,
.iqfm-table tr td,
td.td_name,
td.td_value,
td.coupon_meta_title,
td.coupon_meta,
td.coupon_data{
  box-sizing: border-box;
}
.easys_content:not(.ne_01) table:not(#wp-calendar) tr > *{
  border: solid 1px var(--table_border_color);
  border-right: none !important;
  border-top: none !important;
  color: var(--td_character_color);
  /* background: var(--td_background_color); */
}
.table_area td.td_name,
.post_data .wpcf7 table th{
  background: var(--th_background_color);
}
.easys_content:not(.ne_01) table:not(#wp-calendar) tr > *:first-child{
  border-left: none !important;
}
.easys_content:not(.ne_01) table:not(#wp-calendar) tr:first-child > *{
  border-top: none !important;
}
.easys_content:not(.ne_01) table:not(#wp-calendar) tr:last-child > *{
  border-bottom: none !important;
}
/* ▲テーブル設定▲ここまで */


/*	新着リスト：ベースカラー
  ===============================================================■■■■■*/
.nq_01 .list_block{
  border: 1px solid var(--link_color);
}

/* インデント */
.nq_01 h2.post_read_title .border_line{
  border-left: 5px solid var(--link_color);
}

/* リスト見出し */
.nq_01 h2.post_read_title{
  border-bottom: 1px solid var(--link_color);
  padding: 10px;
}

/* リストボーダー */
.nq_01 .list_box{
  border-bottom: 1px dotted var(--link_color);
}

/* 日付ボーダー */
.nq_01 .list_box .date,
.nq_01 .list_box_last .date{
  border-bottom: 1px dashed var(--link_color);
}

/* 新着リスト：文字色 */
.nq_01 .list_block{
  color: var(--link_color);
}

/*	投稿カレンダー：今日のテーブルセル背景色
  ===============================================================■■■■■*/
#calendar_wrap table tr td#today{
  background-color: var(--link_color);
}

#calendar_wrap table tr td a{
  text-decoration: underline;
}

#calendar_wrap table tr td a:hover{
  text-decoration: none;
}

/* fffか333かサイト背景色 */
#calendar_wrap table tr td#today,
#calendar_wrap table tr td#today a{
  color: var(--easys_standard_value002);
}

/*	HTMLリセット
  ===============================================================■■■■■*/
html{
  margin-top: 0 !important;
}

* html body{
  margin-top: 0 !important;
}

/*■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
          ▲SPサイトデザイン▲ここまで
  ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/* デザインブロック共通
--------------------------------------- */
.db_block *[class*="title"]{
  display: none;
}

.db_block .content_area{
  margin-bottom: 0;
  margin-left: 5%;
  margin-right: 5%;
}

.db_block .margin-bottom_20{
  margin-top: calc(40 / 640 * 100vw);
}

/*追加画像*/
.add_images,
.design_block{
  display: block;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  transition: all 1s;
  width: 100%;
}

.design_block.moved{
  opacity: 1;
  transform: translate(0) !important;
}

section.no_margin{
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

section.no_margin + section:not(.no_margin){
  margin-top: 5vw;
}

/* バナー一括
--------------------------------------- */
.bnr_block{
  padding: 0 !important;
}

.bnr_block div{
  margin-bottom: 0;
}

/* 中ページDB 余白消し */
#naka_page_title + #outer_block{
  padding-top: 0;
}
/* 中ページ #outer_block最初のブロックがDB以外の時は余白追加 */
#naka_page_title + #outer_block > *:first-child:not([class*="ndb_01"]),
#main_teaser + #outer_block > *:first-child:not([class*="ndb_01"]){
  padding-top: 5%;
}

/* SP見出し一括指定 */
.headline_title,
small a,
*[class*="entry_title"],
*[class*="entry-title"],
* .entry_title a,
*[class*="inline_title"],
*[class*="sub_post_title"],
*[class*="entry_title"] > *,
*[class*="sub_post_title"] > *,
* .sub_post_title a,
.widget-title{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
}

/* ハーフバナー一括 */
#si8k607tqlf25lm8uqzg,
#xojjgvout203uq6to26e,
#nnktx1if7mgv9z6t9mpa,
#goklr15t1dz8gs4pg7ez,
#kkooxoata43b48i86rco{
  overflow: hidden;
  padding: 0 !important;
  padding-bottom: calc(100vw * ((90 + 230) / 640)) !important;
  position: relative;
}

/* ループスライド画像 */
#si8k607tqlf25lm8uqzg::after,
#xojjgvout203uq6to26e::after,
#nnktx1if7mgv9z6t9mpa::after,
#goklr15t1dz8gs4pg7ez::after,
#kkooxoata43b48i86rco::after{
  animation: loop_rwd_2 40s linear 0s infinite;
  background: url(../files/sp_bnr_slide.png) repeat-x left top / auto 100%;
  bottom: calc(100vw*(115/640));
  content: "";
  display: block;
  height: calc(100vw*(90/640));
  left: 0;
  position: absolute;
  width: calc(100vw*((1360*2)/640));
  z-index: 1;
}
@keyframes loop_rwd_2{
  0%{
    transform: translateX(0%);
  }
  100%{
    transform: translateX(calc(-100%/2));
  }
}

#si8k607tqlf25lm8uqzg div,
#xojjgvout203uq6to26e div,
#nnktx1if7mgv9z6t9mpa div,
#goklr15t1dz8gs4pg7ez div,
#kkooxoata43b48i86rco div{
  margin: 0;
  padding: 0;
}

#si8k607tqlf25lm8uqzg .column_2,
#xojjgvout203uq6to26e .column_2,
#nnktx1if7mgv9z6t9mpa .column_2,
#goklr15t1dz8gs4pg7ez .column_2,
#kkooxoata43b48i86rco .column_2{
  width: 50%;
}


/* ===========================================================================
     トップページ
=========================================================================== */
/*セカンドメイン > 従業員募集中
fdi0vqbju98mtvl5whxy
--------------------------------------- */
/* container-type定義 */
#outer_block{
  container-type: inline-size;
}

#fdi0vqbju98mtvl5whxy{
  height: calc(100vw * (910 / 640));
  padding: 0 !important;
  position: relative;
}

#fdi0vqbju98mtvl5whxy{
  height: calc(100cqw * (910 / 640));
}

#fdi0vqbju98mtvl5whxy div{
  margin-bottom: 0;
}

#fdi0vqbju98mtvl5whxy .column_1:first-child{
  left: 0;
  position: absolute;
  top: 0;
}

#fdi0vqbju98mtvl5whxy a{
  border-radius: 50vh;
  display: block;
  height: calc(100vw * (60 / 640));
  margin-left: calc(100vw * (35 / 640));
  margin-top: calc(100vw * (375 / 640));
  width: calc(100vw * (310 / 640));
}

#fdi0vqbju98mtvl5whxy a{
  height: calc(100cqw * (60 / 640));
  margin-left: calc(100cqw * (35 / 640));
  margin-top: calc(100cqw * (375 / 640));
  width: calc(100cqw * (310 / 640));
}

#fdi0vqbju98mtvl5whxy .column_1:first-child img{
  display: block;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
}

#fdi0vqbju98mtvl5whxy .column_1:nth-child(2){
  bottom: calc(100vw * (369 / 640));
  left: calc(100cqw * (390 / 640));
  position: absolute;
  width: calc(100vw * (240 / 640));
}

#fdi0vqbju98mtvl5whxy .column_1:nth-child(2){
  bottom: calc(100cqw * (369 / 640));
  left: calc(100cqw * (390 / 640));
  width: calc(100cqw * (240 / 640));
}

/*DB > 丁寧さこそが、ティービルドの誇り
txnrmhy0t4h3ngky8stb
--------------------------------------- */
#txnrmhy0t4h3ngky8stb{
  background: #03c0ff url(../files/sp_design01_bottom.png) no-repeat center bottom / 100%;
  overflow: hidden;
  padding-bottom: calc((764 - 90) / 640* 100vw) !important;
  padding-inline: 0 !important;
  position: relative;
}

#txnrmhy0t4h3ngky8stb::before{
  background: url(../files/sp_design01_img.png) no-repeat left top/ 100%;
  bottom: 0;
  content: "";
  height: calc(300 / 640* 100vw);
  left: calc(20 / 640* 100vw);
  position: absolute;
  width: calc(290 / 640* 100vw);
  z-index: 1;
}

#txnrmhy0t4h3ngky8stb div{
  margin-bottom: 0;
}
#txnrmhy0t4h3ngky8stb [class*="headline_title"]{
  background: url(../files/sp_design01_top.png) no-repeat center top / 100%;
  border: 0;
  height: calc(280 / 640* 100vw);
  margin: 0;
  text-indent: -9999px;
}

#txnrmhy0t4h3ngky8stb .content_area{
  padding-bottom: 0;
}

#txnrmhy0t4h3ngky8stb .post_data{
  box-sizing: border-box;
  color: #ffffff;
  padding: 0 5% calc(40 / 640* 100vw);
}

#txnrmhy0t4h3ngky8stb .post_data :last-child{
  margin-bottom: 0;
}

/* ボタン */
#txnrmhy0t4h3ngky8stb small a{
  background: url(../files/sp_design01_btn.png) no-repeat center bottom / 100%;
  border: 0;
  display: block;
  height: calc(100vw*(60 / 640));
  margin: 0 auto 0;
  text-indent: -9999px;
  width: calc(100vw*(310 / 640));
}

/*タイトル＞新着情報
g1tti3n35c1cf5py6q2a
--------------------------------------- */

/*記事一覧
gvdbq56g2nirk0sn5csr
--------------------------------------- */

/*バナー > 会社概要/施工実績
si8k607tqlf25lm8uqzg
--------------------------------------- */

/*バナー > お問い合わせ(※top)
o8qf3x4bi5oyi842dhy3
--------------------------------------- */
#o8qf3x4bi5oyi842dhy3{
  padding: 0 !important;
}
#o8qf3x4bi5oyi842dhy3 div{
  margin-bottom: 0;
}

/*新着情報
kk7godmesfaj4d3o1tui
--------------------------------------- */

/*会社概要 (top)
rf8jvyojuils00h86sxy
--------------------------------------- */

/*イメージ画像(※top)
rd1ffk5s8pzw5jlubru4
--------------------------------------- */
#rd1ffk5s8pzw5jlubru4{
  overflow: hidden;
  padding-inline: 0!important;
  position: relative;
}

#rd1ffk5s8pzw5jlubru4 div{
  margin-bottom: 0;
  padding-bottom: 0;
}

#rd1ffk5s8pzw5jlubru4 .easys_content{
  clip-path: inset(0);
  height: 100%;
  width: 100%;
}

#rd1ffk5s8pzw5jlubru4 .column_1:first-of-type img{
  position: relative;
  width: 100%;
}

#rd1ffk5s8pzw5jlubru4 .column_1:last-child{
  left: 0;
  margin-inline: auto;
  position: fixed;
  right: 0;
  top: 0;
  z-index: -1;
}

#rd1ffk5s8pzw5jlubru4 .column_1:last-child img{
  height: 100vh;
  object-fit: cover;
  width: 100vw;
} 

/* ===========================================================================
    ページ名01
=========================================================================== */


/* ===========================================================================
    ページ名02
=========================================================================== */


/* ===========================================================================
    ページ名03
=========================================================================== */


/* ===========================================================================
    会社概要
=========================================================================== */
/*DB > 代表挨拶
ze6gsl9xif1watex9i6b
--------------------------------------- */
#ze6gsl9xif1watex9i6b{
  background: url(../files/sp_design02_bottom.png) no-repeat center bottom / 100%;
  overflow: hidden;
  padding-bottom: calc(355 / 640* 100vw) !important;
  padding-inline: 0 !important;
  position: relative;
}

#ze6gsl9xif1watex9i6b::before{
  background: url(../files/sp_design02_img.png) no-repeat left top/ 100%;
  bottom: calc(120 / 640* 100vw);
  content: "";
  height: calc(230 / 640* 100vw);
  left: calc(50 / 640* 100vw);
  position: absolute;
  width: calc(230 / 640* 100vw);
  z-index: 1;
}

#ze6gsl9xif1watex9i6b div{
  margin-bottom: 0;
}
#ze6gsl9xif1watex9i6b [class*="headline_title"]{
  background: url(../files/sp_design02_top.png) no-repeat center top / 100%;
  border: 0;
  height: calc(340 / 640* 100vw);
  margin: 0;
  text-indent: -9999px;
}

#ze6gsl9xif1watex9i6b .content_area{
  background: url(../files/sp_design02_medium.png) repeat-y center top / 100%;
  padding-bottom: 0;
}

#ze6gsl9xif1watex9i6b .post_data{
  box-sizing: border-box;
  padding: 5% 10% 5%;
}

#ze6gsl9xif1watex9i6b .post_data :last-child{
  margin-bottom: 0;
}

/* ===========================================================================
    お問い合わせ
=========================================================================== */








/* 
--------------------------------------- */