/*
Theme Name: lightning-child
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/

:root {
 --white: #fff;
 --black: #000;
 --red: #f00;
--wp--preset--color--vk-color-custom-6: #B5C9A7;
--wp--preset--color--vk-color-custom-7: #dbe5d3;
--gradation-gold-1: linear-gradient(90deg, rgba(122, 63, 22, 1) 0%, rgba(128, 69, 30, 1) 3.81%, rgba(144, 87, 50, 1) 9.56%, rgba(170, 115, 84, 1) 16.54%, rgba(204, 152, 128, 1) 23.94%, rgba(165, 118, 97, 1) 43.59%, rgba(133, 90, 71, 1) 63.35%, rgba(113, 72, 55, 1) 79.95%, rgba(106, 66, 49, 1) 91.24%);
--gradation-gold-2: linear-gradient(90deg, rgba(184, 164, 126, 1) 0%, rgba(223, 183, 154, 1) 50%, rgba(184, 164, 126, 1) 100%);
--gradation-1: linear-gradient(90deg, rgba(112, 128, 137, 1) 0%, rgba(122, 137, 146, 1) 11.27%, rgba(152, 167, 176, 1) 51.04%, rgba(112, 128, 137, 1) 100%);
--serif: Hiragino Mincho ProN, "游明朝", serif;/***明朝***/
--sans_serif:"Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;/***ゴシック***/
	
}


/****基本部分****/
h1, h2, h3, h4, h5, h6, .page-header-title, ul li {
    font-family: var(--serif);
    font-display: swap;
    color: var(--wp--preset--color--vk-color-primary);
	letter-spacing: 0.05em;
}
p {
	color: var(--wp--preset--color--vk-color-custom-3);
/* 	font-family: var(--serif); */
    font-display: swap;
}

.site-body-container.container {
    padding-left: 0;
    padding-right: 0;
}

.sub-section {
    padding-left: 1rem;
    padding-right: 1rem;
}

.wp-block-vk-blocks-outer.vk_outer {
    max-width: 100%;
}

.mincho {
    font-family: var(--serif);
	letter-spacing: 0.05em;
}




/****ナビ****/
.global-nav {
    background: var(--wp--preset--color--vk-color-custom-1);
}

.global-nav, .header_scrolled .site-header {
    background: var(--wp--preset--color--vk-color-custom-1)!important;
}

.header_scrolled .global-nav {
    background: white;
    color: white;
}

.device-mobile .global-nav-list>li>a {
    color: white;
    font-weight: lighter;
}

.header_scrolled .global-nav .global-nav-list>li>a {
    color: #ffffff;
}

.device-mobile .global-nav-list>li .global-nav-name {
    font-size: 0.8rem;
}

/*ハンバーガーメニュー*/
.vk-mobile-nav-menu-btn {
    border: none;
    background-image: url("https://elixir-lymph.com/wp-content/uploads/2025/06/menu325.png");
	  background-size: cover;
}
.vk-mobile-nav-menu-btn.menu-open {
    border: none;
    background-image: url("https://elixir-lymph.com/wp-content/uploads/2025/06/menu326.png");
	  background-size: cover;
}

.device-mobile .global-nav-list .acc-btn {
    width: 30px;
    height: 30px;
    right: 10px;
    top: 12px;
}

/*メニュー右サイド*/
table.eigyou span {
    background: var(--wp--preset--color--vk-color-custom-4);
    padding: 2px 10px;
    border-radius: 2px;
    color: white;
    display: block;
    margin-right: 5px;
}

table.eigyou th span {
    background: var(--wp--preset--color--vk-color-custom-6);
}

.otoiawase {
    margin-left: 1.5rem;
}

a.otoiawase-btn {
    display: block;
    text-align: center;
    color: white;
	background : linear-gradient(90deg, rgba(192, 160, 115, 1) 4.01%, rgba(214, 180, 132, 1) 49.75%, rgba(191, 165, 139, 1) 93.89%);
    padding: .5rem;
}

table.eigyou {
    border: transparent;
	width: auto;
}

table.eigyou td, table.eigyou th {
    padding: 0;
}

table.eigyou th {
    text-align: right;
	color: var(--wp--preset--color--vk-color-custom-4);
}

.otoiawase p.tel {
    color: var(--wp--preset--color--vk-color-custom-4);
    font-size: 2rem;
    font-weight: bold;
	line-height: 1.2;
}

.otoiawase p {
    color: var(--wp--preset--color--vk-color-custom-3);
    text-align: left;
}

.site-header-sub .contact-btn a {
    border-radius: 0;
}

/***メニューカラー***/
.global-nav-list>li .global-nav-name {
    color: white;
}

/***ボタン***/
a.btn.btn-ghost {
    position: relative;
    display: inline-block;
    padding: 0.5rem 4rem 0.5rem 3rem;
	    background: linear-gradient(30deg, 
        rgba(251, 233, 211, 1) 0%, 
        rgba(235, 208, 177, 1) 9.66%, 
        rgba(205, 160, 111, 1) 29.83%, 
        rgba(193, 141, 85, 1) 39.32%, 
        rgba(198, 149, 96, 1) 39.91%, 
        rgba(214, 175, 131, 1) 42.11%, 
        rgba(228, 196, 160, 1) 44.45%, 
        rgba(238, 212, 183, 1) 46.92%, 
        rgba(245, 224, 199, 1) 49.6%, 
        rgba(250, 231, 208, 1) 52.63%, 
        rgba(251, 233, 211, 1) 56.73%, 
        rgba(249, 229, 204, 1) 60.85%, 
        rgba(243, 218, 183, 1) 67.05%, 
        rgba(232, 201, 149, 1) 74.57%, 
        rgba(218, 177, 102, 1) 83.05%, 
        rgba(211, 164, 78, 1) 87.02%, 
        rgba(178, 131, 74, 1) 99.56%) !important;
	color: var(--wp--preset--color--vk-color-custom-3);!important; /* 文字色も確実に変更 */
    text-decoration: none; /* アンダーラインを消す */
    z-index: 1;        /* 擬似要素より前面に表示 */
    overflow: hidden;  /* 擬似要素がはみ出さないように設定 */
    border: none;      /* 標準ボーダーを非表示 */
	border-radius: 0;
	font-family: 'Shippori Mincho', serif;
	font-size: 1.5rem;
}

a.btn.btn-ghost::before {
    content: ''; /* 擬似要素を生成 */
    position: absolute;
    top: 3px;
    left: 3px;
    right: 3px;
    bottom: 3px;
	background: linear-gradient(90deg, 
        rgba(233, 200, 124, 1) 0.76%, 
        rgba(251, 224, 179, 1) 56.73%, 
        rgba(249, 221, 172, 1) 67.58%, 
        rgba(242, 212, 151, 1) 83.86%, 
        rgba(233, 200, 124, 1) 100%) !important;
    z-index: -1; /* ボタンの背面に配置 */
}

a.btn.btn-ghost::after {
    content: '';
    background-image: url('https://elixir-lymph.com/wp-content/uploads/2025/08/header-btn-arrow.png');
    background-size: contain;
    background-repeat: no-repeat;
    width: 1.5rem;
    height: 1.5rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	right: 2rem;
}

a.btn.btn-ghost:hover {
    color: white; /* ホバー時の文字色を変更 */
}

a.btn.btn-ghost:hover::before {
    filter: brightness(1.1); /* ホバー時に明るくする */
}

a.btn.btn-ghost:focus {
    outline: none; /* フォーカス時の青枠を非表示 */
}



img.header-text {
    max-width: 60%;
    margin-bottom: 2rem;
}

/*ヘッダー*/


h2.top-title {
  position: relative;
  padding: 1em 2em;
  text-align: center;
  font-size: 1.5rem;
  color: var(--wp--preset--color--vk-color-custom-3);	
}

.top-title-wrapper {
    position: relative; /* 子要素の位置調整を可能にする */
}

.top-title-bg {
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 3rem;
    color: var(--wp--preset--color--vk-color-custom-7);
    white-space: nowrap;
    pointer-events: none;
    font-family: "Monsieur La Doulaise", cursive;
    font-weight: 400;
    font-style: normal;
	letter-spacing: 0.1rem;
}

.top-title {
    position: relative; /* 英語テキストの上に表示するための位置指定 */
    font-size: 24px; /* 日本語タイトルのフォントサイズ */
    color: #333; /* 日本語タイトルの色 */
    z-index: 1; /* 背景より前面に表示 */
}

/* h2.top-title:before,
h2.top-title:after {
  position: absolute;
  content: '';
}

h2.top-title:after {
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
  border-top: 2px solid var(--wp--preset--color--vk-color-custom-4);
  border-left: 2px solid var(--wp--preset--color--vk-color-custom-4);
}

h2.top-title:before {
  right: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  border-right: 2px solid var(--wp--preset--color--vk-color-custom-4);
  border-bottom: 2px solid var(--wp--preset--color--vk-color-custom-4);
} */

@media (max-width: 768px) {
	h2.top-title {
  font-size: 1.2rem;	
}
}

h3.reason-title {
	position: relative;
	font-size: 26px;
}

h3.reason-title::before {
	content: attr(data-number);
	display: block;
	color: var(--wp--preset--color--vk-color-custom-2);
	font-size: 1.5rem;
	font-weight: lighter;
}

/* h3.reason-title::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100px;
	height: 1px;
	background-color: var(--wp--preset--color--vk-color-custom-2);
} */

h2.top-short-title {
    font-size: 2em;
    position: relative;
    text-align: center;
    border-top: none;
	margin-bottom: 1.5rem;
    padding: 0;
	border-bottom: none;
	font-family: 'Cinzel', serif;
}

h2.top-short-title span {
  font-size: 1.5rem;
  display: block;
  font-weight: lighter;
}

h2.top-short-title:before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 2px;
  content: '';
  background: var(--wp--preset--color--vk-color-custom-4);
}

h3.ltg-slide-text-title {
    font-size: 2.2rem;
    color: var(--wp--preset--color--vk-color-custom-1)!important;
}

.ltg-slide-text-caption {
    color: var(--wp--preset--color--vk-color-custom-3)!important;
}

h3.ltg-slide-text-title span,.ltg-slide-text-caption span {
    color: var(--wp--preset--color--vk-color-custom-2)!important;
	font-weight: lighter;
}

h3.ltg-slide-text-title span {
    font-size: 1.5rem;
}
.ltg-slide-text-caption span span {
    font-size: 1.2rem;
}

.ltg-slide-text-set {
    position: absolute;
    transform: none;
    width: 100%;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

@media (max-width: 768px) {
	.ltg-slide-text-set.mini-content {
    display: none;
}
}

/****CTAセクション****/
.cta-section {
    font-family: var(--serif);
	position: relative;
}

.cta-section p {
/* 	margin-bottom: 0.3rem !important; */
	letter-spacing: 0.02rem;
/* 	font-family: var(--serif); */
    font-weight: bolder;
}

.price-section {
    gap: 0.5rem;
    justify-content: center !important;
}

@media (max-width: 768px) {
.price-section {
    gap: 2.5rem;
}
}

.previous-price {
    font-size: calc(0.8rem + 1vmin);
}

.webreservation-only {
    position: absolute;
    top: -2%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 75%;
    font-size: calc(16px + 1.5vmin);
/*     padding: 0.5rem; */
    /* letter-spacing: 1rem; */
}

.webreservation-only p {
    letter-spacing: 0.3rem;
}

p.menu-name {
    font-size: calc(14px + 1.5vmin);
    /* white-space: nowrap; */
    line-height: 1.5;
}

.menu-name strong {
    background: linear-gradient(transparent 70%, var(--wp--preset--color--vk-color-custom-5) 70%);
	margin-bottom: 1rem;
/*     display: inline-block; */
	font-size: calc(14px + 2.2vmin);
}

.menu-name small {
    font-size: calc(14px + 2.5vmin);
}

.price-section div:first-of-type {
    text-align: right;
}

.price-section div:first-of-type{
	position: relative;
    width: 15vmin;
    height: 15vmin;
    display: grid;
	place-content: center;
}

.price-section div:first-of-type {
    place-content: center;
}

.price-section div:first-of-type p {
    line-height: 1.2;
    letter-spacing: 0.2rem;
    border: 3px solid;
    display: block;
    padding: 0.6rem;
    border-image: linear-gradient(to right, var(--wp--preset--color--vk-color-custom-1), var(--wp--preset--color--vk-color-custom-6)) 1;
    font-size: calc(14px + 2vmin);
    color: var(--wp--preset--color--vk-color-custom-1);
    width: 100%;
    height: auto;
    place-items: center;
    white-space: nowrap;
}

.price-section div:nth-of-type(2) {
/* 	text-align: center;
    padding: 0.5rem;
    width: 100%;
    display: grid;
    place-items: flex-start; */
	place-content: center;
}


.price-section div:nth-of-type(2) p {
    font-size: calc(14px + 1.5vmin);
    color: var(--wp--preset--color--vk-color-custom-3);
    font-weight: bold;
    letter-spacing: 0.125rem;
    white-space: nowrap;
	display: flex;
}


.price-section div:nth-of-type(2) p.price strong {
    font-size: calc(14px + 3vmin);
    color: var(--wp--preset--color--vk-color-custom-3);
}

.price-section div:nth-of-type(2) p.price span {
    font-size: calc(14px + 1vmin);
    color: var(--wp--preset--color--vk-color-custom-3);
}

.price-section div:last-of-type {
	display: grid;
    place-items: center;
}

@media (max-width: 768px) {
.price-section div:first-of-type {
    place-items: baseline;
}
}

.price span {
    display: flex;
    flex-direction: column-reverse;
}

.price strong {
    font-size: calc(1rem + 5.5vmin);
    white-space: nowrap;
}

.price span em {
    font-size: 0.5rem;
    line-height: 0.25;
}

.balloon3-right-btm {
  position: relative;
/*   display: inline-block; */
  margin: 1.5em 15px 1.5em 0;
  padding: 0 5px;
  width: 6rem;
  height: 6rem;
  line-height: 0.8;
  text-align: center;
  color: #FFF;
  font-weight: bold;
  background: var(--wp--preset--color--vk-color-custom-2);
  border-radius: 50%;
  box-sizing: border-box;
}

.balloon3-right-btm:before {
    content: "";
    position: absolute;
    bottom: -8px;
    left: -8px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-left: 15px solid var(--wp--preset--color--vk-color-custom-2);
    z-index: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(135deg);
}

.off strong span {
   font-size: calc(8px + 2vmin);
}
.off strong {
    font-size: calc(10px + 2.2vmin);
    position: absolute;
    top: 22%;
    left: 0;
    right: 0;
	line-height: 0.9;
}

.offer-btn a {
/*     border-radius: 50px; */
    font-size: 1.5rem !important;
    font-weight: bold;
	letter-spacing: 0.125rem;
}

/*　QA　*/
.vk_faq .vk_faq_title:before {
    content: "Q";
    color: #c17c7c;
}
.vk_faq .vk_faq_content:before {
    content: "A";
    color: #cea780;
}


/**お問い合わせ**/
.privacy_box {
    background: #fff;
    width: 100%;
    height: 200px;
    padding: 20px;
    border: 1px solid #ccc;
    overflow: hidden;
    overflow-y: scroll;
    margin: 10px auto;
}

table.contact_info td:first-child {
    width: 30%;
    text-align: left;
}

table.contact_info td {
    padding: 1rem;
}

span.hissu,span.nini{
	color: #FFF;
    padding: 0.25rem;
    margin-right: 10px;
    font-size: 0.8rem;
}

span.hissu {
    background:  var(--wp--preset--color--vk-color-custom-1);
}

span.nini {
    background: #6fa4ca;
}

table.contact_info label {
    line-height: 0;
}

input[type=submit] {
    border-radius: 0;
    display: block;
}

table.contact_info input[type=submit] {
    width: 100%;
}

.member-btn p.vk_button_link_subCaption {
    color: white;
    font-size: 0.85rem;
}

input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
    font-family: sans-serif;
}

/* .need-section,.need-section2 {
    display: none;
} */

.mail-btn_m input {
    display: block;
    width: 100%;
}

button.back {
    background: #a49d88;
    color: white;
    padding: 0.5em 2em;
    display: block;
    width: 100%;
    border: 0;
    font-size: 1rem;
    margin-top: 1rem;
    border-radius: 0;
}

input.send {
    width: 100%;
	background: var(--wp--preset--color--vk-color-custom-4);
}

.password-wrapper {
    position: relative;
    display: inline-block;
}

.mail-confirm {
    padding-right: 30px; /* 目のアイコン分のスペースを確保 */
}

.toggle-password {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    font-size: 1rem;
    color: #6fa4ca;
}

input.back {
    width: 100%;
    margin-top: 1rem;
}

