/**
Theme Name: tpl12
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tpl12
Template: astra
*/

/*リンク下線削除*/
a {
text-decoration: none!important;
}

/*文字縦書き*/
.tategaki, .tategaki1 ,.tatemenu .uael-menu-item, .tategaki2 {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	
}

@media screen and (max-width: 428px) {
	.tategaki {
		writing-mode: horizontal-tb;
	}
}
@media screen and (max-width: 1280px) {
	.tategaki2 {
		writing-mode: horizontal-tb;
	}
}

/*ボタン下線黒色*/
.moveline::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #000000;
bottom: -1px;
transform: scale(1, 1);
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
transition: transform 0.3s;  /*変形の時間*/
}

.moveline:hover::after {
transform: scale(0, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
transform-origin: left top; /*左から右に向かう*/
}

/*ボタン下線白色*/
.moveline_w::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #fff;
bottom: -1px;
transform: scale(1, 1);
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
transition: transform 0.3s;  /*変形の時間*/
}

.moveline_w:hover::after {
transform: scale(0, 1);     /*ホバー後、x軸方向に1（相対値）伸長*/
transform-origin: left top; /*左から右に向かう*/
}

/*オフキャンバスフル画面*/
.uael-custom-offcanvas {
	width:100vw!important;
}

/*パンくずカスタマイズ*/
.breadcrumbs {
    color: #919191; //パンくずのテキストカラー
	font-size: 14px;
}
.breadcrumbs .current-item {
  color: #ffffff; //現在表示されているページ名のみカラー変更
}

p:empty{display: none;}

/*表*/
.scrollable-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}

.scrollable-table {
  border-collapse: collapse;
  width: 800px;
  min-width: 800px;
  table-layout: fixed;
}

.scrollable-table th,
.scrollable-table td {
  border: 1px solid #ccc;
  padding: 8px 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  text-align: left;
}

.scrollable-table th {
	background: #7e7252;
}

.scrollable-table td {
	background: #111111;
}

/* 4列目 */
.scrollable-table td:nth-child(4),
.scrollable-table th:nth-child(4) {
  width: 300px;      
  min-width: 300px;
  max-width: 300px;
  white-space: normal;
  text-overflow: unset;
  overflow: visible;
}

/* 列の幅設定（1列目、2列目だけ狭く） */
.scrollable-table th:first-child,
.scrollable-table td:first-child, .scrollable-table td:nth-child(2),
.scrollable-table th:nth-child(2)  {
  width: 170px;
  min-width: 170px;
  max-width: 170px;
	white-space: normal;
  text-overflow: unset;
  overflow: visible;
}

/* 1列目を固定（横スクロール時） */
.scrollable-table th:first-child,
.scrollable-table td:first-child {
  position: sticky;
  left: 0;  
  z-index: 2;
}

/*　固定しないtd　*/
.scrollable-table tr .notf {
	z-index: 1;
}
/* スマホ対応 */
@media screen and (max-width: 600px) {
	.scrollable-table th:first-child,
.scrollable-table td:first-child, .scrollable-table td:nth-child(2),
.scrollable-table th:nth-child(2)  {
  width: 140px;
  min-width: 140px;
	max-width: 140px;}
}

/* 一般家庭・祭礼の表（列幅200px×3） */
.scrollable-table--wide {
  border-collapse: collapse;
  width: 800px;
  min-width: 800px;
  table-layout: fixed;
}

.scrollable-table--wide th,
.scrollable-table--wide td {
  border: 1px solid #ccc;
  padding: 8px 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  text-align: left;
}

.scrollable-table--wide th {
  background: #7e7252;
}

.scrollable-table--wide td {
	background: #111111;
}

/* 1〜3列目の幅を200pxに設定 */
.scrollable-table--wide th:nth-child(-n+3),
.scrollable-table--wide td:nth-child(-n+3) {
  width: 200px;
  min-width: 200px;
  max-width: 200px;
	white-space: normal;
  text-overflow: unset;
  overflow: visible;
}

/* 4列目は社寺彫刻と同様に広くする */
.scrollable-table--wide th:nth-child(4),
.scrollable-table--wide td:nth-child(4) {
  width: 300px;
  min-width: 300px;
  max-width: 300px;
  white-space: normal;
  text-overflow: unset;
  overflow: visible;
}

/* 1列目を固定（横スクロール時） */
.scrollable-table--wide th:first-child,
.scrollable-table--wide td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
}
/*　固定しないtd　*/
.scrollable-table--wide tr .notf {
	z-index: 1;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
	.scrollable-table--wide th:nth-child(-n+3),
.scrollable-table--wide td:nth-child(-n+3) {
	width: 120px;
  min-width: 120px;
  max-width: 120px;
	}
	
}

/*========== お問い合わせフォーム ==========*/
/* フォームテーブル全体 */
table.inquiry {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  border-collapse: collapse;
}

/* 見出しセル */
table.inquiry th {
  width: 30%;
  text-align: left;
  background-color: #f0f0f0;
  padding: 10px;
  vertical-align: top;
  font-weight: bold;
	font-size: 14px;
}

/* 入力セル */
table.inquiry td {
  padding: 10px;
}

/* 各入力フォーム共通 */
.inquiry input[type="text"],
.inquiry input[type="email"],
.inquiry input[type="tel"],
.inquiry textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  font-size: 14px;
}

/* テキストエリア調整 */
.inquiry textarea {
  height: 150px;
  resize: vertical;
}

/* 必須ラベル */
.haveto {
  display: inline-block;
  background: #d9534f;
  color: #fff;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 3px;
  margin-right: 5px;
}

/* 送信ボタン */
#formbtn {
  background-color: #444;
  color: #fff;
  border: none;
  padding: 12px 25px;
  font-size: 16px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.3s;
}

#formbtn:hover {
  background-color: #222;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  table.inquiry,
  table.inquiry tr,
  table.inquiry th,
  table.inquiry td {
    display: block;
    width: 100%;
  }

  table.inquiry th {
		padding: 5px 0;
		border-bottom: none;
    background-color: transparent;
  }

  table.inquiry td {
    padding: 5px 0 15px;
  }
}

/*パンくず*/
.breadcrumbs {
	font-family: Noto Serif JP;
	}

/*reCAPTCHA非表示*/
.grecaptcha-badge { 
  visibility: hidden; 
}
