@charset "utf-8";
/*
Theme Name: Lightning Child
Template: lightning
Author:アートフレア株式会社
Version: 1.2
*/
/* 標準データ最終更新日：2025/04/14  */


/*
 * WEBフォントの読み込み（@import url('https://fonts～'); ）はHeader.phpで行う
*/


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  General　全体的な設定
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* :root設定、bodyへの上書き、カラー変数設定など */

h1,h2,h3,h4,h5 {
  font-family: "Yusei Magic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.yusei {
  font-family: "Yusei Magic", sans-serif;
  font-weight: 400;
  font-style: normal;
}


/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Common 汎用パーツ系
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 繰り返しボタン・見出し、余白設計など 汎用パーツへの上書き */

/*ボタンのリセット（下線消しとか）*/
.vk_button .vk_button_link.btn:hover {box-shadow:none;}
.vk_button .has-text-color.vk_button_link-type-text:hover .vk_button_link_txt, .vk_button .has-text-color.vk_button_link-type-text:hover .vk_button_link_subCaption{
  text-decoration:none!important;
}



/*見出し下ドット*/
.is-style-mds-underdot:after {
	content:url(../../../wp-content/uploads/dot.png);
	font-size:1rem;
}

.w-fit {
	width:fit-content;
}
.w-80 {
	width:80%;
}

/*ボタン*/
.vk_button_link.btn.has-background {
	border-radius:100px;
	padding:1em;
}

/*角丸画像*/
figure.wp-block-image.is-style-vk-image-rounded img {
	border-radius:2rem;
}

/*テーブル*/
:where(:not(.wp-block-table))>table,
:where(:not(.wp-block-table))>table :is(thead,tbody,tfoot,th,td) {
	border-color:#ccc;
}
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th, .wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td {
	padding:1rem;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Header ヘッダーまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ヘッダー固定 */
body  {
	overflow-x: unset !important;
    display: flex;
    flex-direction: column;
}
.device-pc #site-header {
    position: sticky;
    top: 0;
}
.logged-in.device-pc #site-header {
    top: 32px;
}

/* グローバルナビ */
.global-nav {
	border-top:none;
}

.global-nav-list>li>a {
	transition: .3s;
	/*border-bottom: 3px solid transparent;*/
}
.global-nav-list>li>a:hover,
.global-nav-list>li.current-menu-item>a {
    color: var(--vk-color-custom-3);
    /*border-bottom: 3px solid var(--vk-color-custom-3);*/
}
.global-nav-list>li>a:after {
	content:"";
	width:10px;
	height:10px;
	display:block;
	border-radius:100%;
	background:transparent;
	margin-top:10px;
}
.global-nav-list>li>a:hover:after,
.global-nav-list>li.current-menu-item>a:after {
	background:var(--vk-color-custom-3);
}

.global-nav--layout--penetration .global-nav-list>li:first-child,
.global-nav--layout--penetration .global-nav-list>li {
	border:none;
}

.site-header-container.container {
	max-width:unset;
}
.site-header-logo {
	padding-top:15px!important;
	padding-bottom:5px;
}
.header_nav_search_container {
	position:absolute;
	right:15px;
	top:10px;
	width:60%;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Footer フッターまわり
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* フッターウィジェット、フッターロゴ、コピーライト */

.is-style-af-list-horizon li:not(:last-child)::after {
	content:"|";
}
.site-footer-content .widget {
  margin-bottom:1rem;
}

.site-footer-content {
	padding-top:0;
}

#menu-headernavigation-1.menu {
	display:flex;
	justify-content:center;
}
#menu-headernavigation-1.menu li:not(:first-child) {
	border-left:1px solid #ccc;
}
#menu-headernavigation-1.menu li a {
	padding:0 1rem;
	white-space:nowrap;
	font-weight:700;
	background-color:none;
	border-bottom:none;
	font-size:1rem;
}

.widget_nav_menu>div>ul li a:hover {
	background:none;
	color:var(--wp--preset--color--vk-color-custom-3);
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Toppage トップページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

/*teaser*/
.teaser-txt {
	position:absolute;
	left:5%;
	top:50%;
	transform:translateY(-50%);
}
/*.teaser-txt img {
	width:80%;
}*/

/*スライダー*/
.vk_outer_container > div {
	padding-bottom:30px;
}
.swiper-pagination-bullet {
	width:10px;
	height:10px;
	border-radius:100%;
}
.vk_slider .swiper-button-next,
.vk_slider .swiper-button-prev {
	background-color:transparent!important;
}



.btn-lesson {
	position:absolute;
	bottom:5%;
	right:5%;
}

/*料金プラン*/
.top-course {
	position:relative;
	padding-bottom:50px;
	background:#fff;
}
.course-title {	
	border-radius:1rem 1rem 0 0;
}
.course-title p {
	font-size:clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
}
.course-title h3 {
	font-size:clamp(2.25rem, 2.068rem + 0.91vw, 2.75rem);
}
.course-price {
	position:absolute;
	bottom:1.5rem;
	left:0;
	right:0;
}
.course-price p {
	font-size:20px;
	font-weight:700;
}
.course-price p:first-child {
	font-size:40px;
	line-height:1.3;
}
div.top-course:first-child:before {
	content:url(../../../wp-content/uploads/bgillust01.png);
	position:absolute;
	left:-150px;
	top:-50px;
	z-index:-1;
}
div.top-course:last-child:before {
	content:url(../../../wp-content/uploads/bgillust02.png);
	position:absolute;
	right:-150px;
	bottom:-80px;
	z-index:-1;
}

/*決済*/
.payment .course-title h3 {
	font-size:30px;
}
.payment div.top-course:first-child:before,
.payment div.top-course:last-child:before {content:none;}
.payment .course-price {
	position:static;
}

/**イメージバナー**/
.imgbnr {
	position:relative;
	overflow:hidden;
}
.imgbnr figure {
	margin:0!important;
	overflow:hidden;
	border:5px solid var(--vk-color-primary);
	border-radius:2rem;
}
.imgbnr figure img {	
	transition: .5s;
	width:100%;
	object-fit:cover;
	aspect-ratio:5/2;
}
.imgbnr:hover figure img {
	transform: scale(1.1)
}
.imgbnr .wp-block-vk-blocks-button {
	font-family:var(--mds-font);
	font-weight: 600;
	font-style: normal;
}
.imgbnr .wp-block-vk-blocks-button a {
}
.imgbnr .wp-block-vk-blocks-button a:before {
	content:'';
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	transition: .5s;
}
.imgbnr .vk_button_link_caption {
	position:absolute;
	left:0;
	bottom:0;
	background:var(--vk-color-primary);
	padding:1.2rem 2rem;
	border-radius:0 2rem 0 2rem;
	width:60%;
	justify-content:start;
	font-size:1.5rem;
}
.imgbnr .vk_button_link_after {
	position:absolute;
	right:1.3rem;
	top:50%;
	transform:translateY(-50%);
}
.imgbnr .wp-block-vk-blocks-button {
	margin-bottom:0;
}

.after-apple:after {
	content:"";
	background:url(../../../wp-content/uploads/illust-apple.png)no-repeat center/contain;
	width:70px;
	height:80px;
	display:inline-block;
}
.after-apple:before {
	content:"";
	width:70px;
	height:80px;
	display:inline-block;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Pageheader, Breadcrumb 下層ページヘッダー・パンくずリスト
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* 下層ページのページヘッダー、パンクズ設定 */

.page-header-title {
  font-family: "Yusei Magic", sans-serif;
  font-weight: 400!important;
  font-style: normal;
}
/* パンクズ設定 */
.breadcrumb .container {
  padding: 1em 0;
}
.breadcrumb .container a {
  color: #999;
  text-decoration: none;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Page 下層ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* ページごと、パーツごとにコメントアウトで注釈を入れてください。 */

/* レッスン紹介 */
.vk_borderBox_title {
	font-size: 1.5em!important;
}
/* 会社概要　＞　代表あいさつ */


/*FAQ*/
.vk_faq .vk_faq_title:before {
	background-color:var(--vk-color-primary);
}
.vk_faq .vk_faq_content:before {
	background-color:var(--wp--preset--color--vk-color-custom-3)
}

/*STEP*/
.vk_step .vk_step_item .vk_step_item_dot {
	width:100px;
	height:100px;
	padding:20px 0 0;
}
.vk_step .vk_step_item {
	padding:0 0 0 130px;
}
.vk_step_item_content .wp-block-heading {
	font-size:1.8rem;
}
.vk_step_item_lineStyle-default::before {
	top:104px;
	left:50px;
}
.vk_step .vk_step_item .vk_step_item_dot_caption {
	font-size:1rem;
}
.vk_step .vk_step_item .vk_step_item_dot_num {
	font-size:2rem;
	line-height:unset;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Archive　ブログ一覧ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

.sub-section .widget {
	background:rgba(118, 192, 165,.3);
	padding:1rem;
	border-radius:.5rem;
}
.sub-section .widget h4 {
	font-weight:700;
	border-bottom:1px solid #000;
	padding-bottom:1rem;
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  Single　ブログ詳細ページ
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */




/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  その他・追加機能
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/* パーツごとにコメントアウトで注釈を入れてください。 */

#booking-package_inputFormPanel > div.row {
	display:flex;
	gap:1rem;
	padding:1rem;
}
#booking-package_inputFormPanel > div.row > div.name {
	width:30%;
}
#booking-package_inputFormPanel > div.row > div:last-child {
	flex-grow:1;
}
#booking-package_inputFormPanel .title_in_form {
	padding:1.3rem 0!important;
}
.bottomBarPanel {
	padding-inline:1rem;
}
.bottomBarPanel button {
	padding:1rem;
}

/* カレンダーまわり */

/* 共通設定：フォントと基本配色 */
#booking-package-id-1,
.start_booking_package {
  font-family: 'Helvetica Neue', 'Hiragino Sans', sans-serif;
  color: #4F4F4F;
  background-color: #FDFDFD;
  border-radius: 10px;
  padding: 20px;
}

/* カレンダーのボックス */
#booking-package-id-1 table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #DCEBE9;
  background-color: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  font-size: 14px;
}

#booking-package-id-1 th,
#booking-package-id-1 td {
  padding: 12px;
  text-align: center;
  border: 1px solid #E5F1F0;
}

/* 予約可能日 */
#booking-package-id-1 td.available,
#booking-package-id-1 .available {
  background-color: #E8A9A9;
  color: white;
  border-radius: 50%;
  cursor: pointer;
}

/* 今日の日付 */
#booking-package-id-1 td.today {
  background-color: #A7DADB;
  color: white;
  font-weight: bold;
  border-radius: 50%;
}

/* ホバー効果 */
#booking-package-id-1 td:hover {
  background-color: #D3ECEB;
  cursor: pointer;
}

/* 入力欄 */
#booking-package-id-1 input[type="text"],
#booking-package-id-1 input[type="password"],
#booking-package-id-1 input[type="email"],
#booking-package-id-1 select,
#booking-package-id-1 textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #CCCCCC;
  border-radius: 6px;
  background-color: #FAFAFA;
  transition: border-color 0.3s ease;
  font-size: 14px;
}

#booking-package-id-1 input:focus,
#booking-package-id-1 select:focus,
#booking-package-id-1 textarea:focus {
  border-color: #A7DADB;
  outline: none;
}

/* ラベル */
#booking-package-id-1 label {
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
}

/* 予約ボタン（緑系に変更） */
#booking-package-id-1 button,
#booking-package-id-1 input[type="submit"] {
  background-color: #A8D5BA; /* やわらかいパステルグリーン */
  color: white;
  padding: 12px 24px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#booking-package-id-1 button:hover,
#booking-package-id-1 input[type="submit"]:hover {
  background-color: #90C7A8; /* 少し濃いグリーンでホバー */
}

/* 戻るボタン（グレー系） */
#booking-package-id-1 .return_form_button,
#booking-package-id-1 button.return_form_button {
  background-color: #CCCCCC;  /* 明るめグレー */
  color: #4F4F4F;
  padding: 12px 24px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#booking-package-id-1 .return_form_button:hover,
#booking-package-id-1 button.return_form_button:hover {
  background-color: #B0B0B0;  /* ホバー時は少し濃いグレー */
}



/* ログイン・登録エリアのタイトル */
#booking-package-id-1 .titlePanel .title {
  font-size: 18px;
  font-weight: bold;
  color: #4F4F4F;
  margin-bottom: 10px;
}

/* エラーメッセージ */
#booking_package_nonce_error_panel,
#booking-package-user_regist_error_message,
.member_login_error {
  background-color: #FCE4EC;
  color: #C2185B;
  padding: 10px;
  border-radius: 6px;
  margin: 10px 0;
}

/* スライダー　左右ぼかし */
.wp-block-vk-blocks-slider::before,
.wp-block-vk-blocks-slider::after{
    content: '';
    width: 10%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    z-index: 10;
}

.wp-block-vk-blocks-slider::before{
    left: 0;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 80%);
}

.wp-block-vk-blocks-slider::after{
    right: 0;
    background-image: linear-gradient(-90deg, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 80%);
}