/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

html, body {
  overflow-x: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img, video, iframe {
  max-width: 100%;
  height: auto;
  display: block;
}

h1::first-letter {
  color: red;
}
/*
.plan_img:before {
    position: absolute;
    z-index: -1;
    top: -10px;
    left: 10px;
    display: block;
    width: 100%;
    height: 100%;
    content: '';
    opacity: .6;
    background-image: -webkit-repeating-linear-gradient(135deg, #444, #444 2px, #888 0, #888 4px);
    background-image: -o-repeating-linear-gradient(135deg, #444, #444 2px, #888 0, #888 4px);
    background-image: repeating-linear-gradient(-45deg, #444, #444 2px, #888 0, #888 4px);
}
*/

/*
.plan_img:after {
    position: absolute;
    z-index: -2;
    bottom: -10px;
    right: -20px;
    display: block;
    width: 0;
    height: 0;
    content: '';
    border-bottom: 180px solid white;
    border-left: 150px solid transparent;
}
*/
/*
@media screen and (max-width: 768px) {
  .plan_img:after {
    position: absolute;
    z-index: -2;
    bottom: -10px;
    right: -20px;
    display: block;
    width: 0;
    height: 0;
    content: '';
    border-bottom: 0px solid white;
    border-left: 0px solid transparent;
} 
}
*/
.img-clip {
	-webkit-clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%);
}
@media screen and (max-width: 768px) {
.plan-text-eng {
  position: absolute;
  top: 65%!important;
  left: 50%!important;
  transform: translate(-50%, -65%) rotate(-10deg)!important;
  text-align: center!important;
  max-width: 90%!important;   /* 親要素の9割以内に収める */
  word-wrap: break-word!important; /* 長い単語も強制改行 */
}
}

.tj_plandetail_pricetable {
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  color: #fff; }
  .tj_plandetail_pricetable .tablepress {
    font-family: HiraKakuPro;
    font-size: 14px;
    border-spacing: 10px 10px;
    border-collapse: collapse;
    color: #fff;
    border: none;
    line-height: 1.4em; }
  .tj_plandetail_pricetable table[id*='tablepress-'] tbody {
    background-color: #000; }
  .tj_plandetail_pricetable table[id*='tablepress-'] th {
    font-weight: bold;
    margin: 0;
    text-align: left;
    vertical-align: middle;
    border-bottom: none;
    background-color: #000;
    padding: 10px; 
    color: #fff}
  .tj_plandetail_pricetable table[id*='tablepress-'] tr {
    border-top: none;
    border-bottom: 1px solid #fff;
    background-color: #000; }
  .tj_plandetail_pricetable table[id*='tablepress-'] td {
    border-top: none;
    border-bottom: 1px solid #fff;
    background-color: #000;
    margin: 10px;
    padding: 10px;
    color: #fff }
  .tj_plandetail_pricetable table[id*='tablepress-'] .column-1 {
    font-weight: 800;
    width: 50%; }
    .tj_plandetail_pricetable table[id*='tablepress-'] .column-1 .pricecontent {
      font-size: .8em;
      font-weight: 100; }
  .tj_plandetail_pricetable table[id*='tablepress-'] td.column-2, .tj_plandetail_pricetable table[id*='tablepress-'] td.column-3 {
   
    }
  .tj_plandetail_pricetable table[id*='tablepress-'] .column-2, .tj_plandetail_pricetable table[id*='tablepress-'] .column-3 {
    width: 24%;
    text-align: center;
    vertical-align: middle; }
  .tj_plandetail_pricetable table[id*='tablepress-'] .row-hover tr:hover td {
    background-color: #000; }

.tj_pricetable_connecting {
  margin-bottom: 10px !important; }

/* トップページ：JS背景切替用 */


html, body { margin: 0; padding: 0; overflow-x: hidden; }

/* 背景レイヤーの山（固定・全面） */
#bg-stack {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
}

/* 各背景レイヤー（最初から全部重ねる／上基準で表示） */
#bg-stack .bg-layer {
  position: fixed;
  inset: 0;
  background-size: cover;              /* PCは全面、SPもこのままでOK（SP用画像を用意済） */
  background-position: center top;     /* 上基準・左右中央 */
  background-repeat: no-repeat;
  will-change: transform;
  transition: transform 0s;            /* フレームごとに即反映（ブレなし） */
}

/* セクション側は背景を透過し、1画面以上の高さを確保 */
.fixedbg-section {
  position: relative;
  z-index: 0;
  min-height: 100vh;
  isolation: isolate;
}
.fixedbg-section,
.fixedbg-section > .elementor-container,
.fixedbg-section > .e-con,
.fixedbg-section > .e-con-inner { background: transparent !important; }
.fixedbg-section > * { position: relative; z-index: 1; }

/* 料金テーブル */

.tj-pricetable-2025 tbody {
    border-top: 1px solid #747373;
    border-bottom: 1px solid #747373;
}

.tj-pricetable-2025 tr td,.tj-pricetable-2025 tr th {
    color: #FFF;
    background: #000;
    font-family: 'Oswald';
    border: none;
    font-size: 1.2em;
}

.tj-pricetable-2025 tr td:not(:first-child), .tj-pricetable-2025 tr th:not(:first-child) {
    text-align: right;
    width: 25%;
}


.elementor-post.elementor-grid-item.blog_kyoto {
    display: flex;
    align-items: center;
}

.tj_pricetable tr td:nth-child(3) {
  width: 10em;
}

/* 料金テーブルのフォント指定　*/

.tj_plandetail_pricetable  tr td {
  font-family: oswald;
  font-weight: normal;
}

/* お客様の声の画像サイズ指定 */

.customer-voice_image-v {
  width: 30%;
  margin-bottom: 10px;
}

.customer-voice_image-h {
  width: 50%;
  margin-bottom: 10px;
}


@media screen and (max-width: 764px) {
  .customer-voice_image-v {
    width: 40%;
    margin-bottom: 10px;
  }
  .customer-voice_image-h {
    width: 100%;
    margin-bottom: 10px;
  }
}