/*
Theme Name: Lightning Child Sample
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/

/* 見出しの後ろ線の長さ PC版 */
.fixed-page h3.access-border1:after {
	width: 28%;
}
.fixed-page h3.access-border2:after {
	width: 24%;
}
.fixed-page h3.equipment-border1:after {
	width: 85%;
}
.fixed-page h3.equipment-border2:after {
	width: 30%;
}
.fixed-page h3.flow-border1:after {
	width: 72%;
}
.fixed-page h3.flow-border2:after {
	width: 80%;
}
.fixed-page h3.lesson-border1:after {
	width: 63%;
}
.fixed-page h3.lesson-border2:after {
	width: 80%;
}
.fixed-page h3.lesson-border3:after {
	width: 86%;
}
.fixed-page h3.privacy-border1:after {
	width: 75%;
}
.fixed-page h3.privacy-border2:after {
	width: 70%;
}
.fixed-page h3.privacy-border3:after {
	width: 41%;
}
.fixed-page h3.privacy-border4:after {
	width: 70%;
}
.fixed-page h3.privacy-border5:after {
	width: 80%;
}
.fixed-page h3.privacy-border6:after {
	width: 60%;
}
.fixed-page h3.privacy-border7:after {
	width: 50%;
}
/* お問い合わせフォーム */
.inquiry-table {
	margin-bottom: 15px;
}
.inquiry-table th {
	background: #316780;
	border: 1px solid #316780;
	color: #FFF;
}
.inquiry-table td {
	border: 1px solid #316780;
}
.contact-form-button .btn {
		background: #316780;
}
.inquiry-table .required {
	background: #DC143C;
	font-size: 13px;
	font-weight: bold;
	float: right;
	padding: 3px 10px;
}

/* 共通 */
div.container {
	max-width: 1280px;
}

.fixed-page p {
	color: #3E3E3E;
	font-size: 20px;
	line-height: 1.7;
	margin: 0;
	padding-bottom: 4px;
	padding-top: 10px;
}
.font-weight-700 {
	font-weight: 700;
}
.mb-110 {
	margin-bottom: 110px !important;	
}
.mt-50 {
	margin-top: 50px;
}
.mt-120 {
	margin-top: 120px;
}
.flex-box {
	display: flex;
	justify-content: space-between;
}
.flex-box-child {
	width: 90%;
}
.flex-box img.icon {
	height: 40px;
	margin-bottom: 0;
	width: 40px;
}


.material-symbols-outlined {
  font-variation-settings:
  'FILL' 0,
  'wght' 200,
  'GRAD' 0,
  'opsz' 24
}

.material-symbols-outlined {
	font-size: 40px;
}

.vk-mobile-nav-menu-btn {
	display: none;
}

/* ヘッダー */
.siteHeader_logo {
	text-align: center;
	width: 100%;
}
.siteHeader_logo a {
	display: inline-block;
	padding-top: 10px;
}
.siteHeader_logo a img {
	max-height: 35px;
}
.siteHeader {
	border-bottom: 2px solid #316780;
}
.pc-fixed-menu {
	position: absolute;
	color: #fff;
	right: 5%;
	top: 10px;
}
.pc-fixed-menu ul {
	margin: 0;
}
.pc-fixed-menu li {
	border-radius: 20px;
	display: inline-block;
	list-style: none;
	margin-right: 10px;
	margin-bottom: 0;
}
.header-btn img {
	margin: 0 10px;
	vertical-align: text-bottom;
	width: 24px;
}
.header-btn a {
	color: #fff;
	padding: 5px 12px 5px 0px;
	text-decoration: none;
}
.btn-inquiry {
	background: #316781;
	right: 29%;
}
.btn-membership {
	background: #00acff;
	right: 15%;
}
.btn-membership img {
		vertical-align: top;
}
.btn-free-experience {
	background: #F1D900;
	right: 7%;
}
.btn-free-experience img {
	vertical-align: bottom;
}
.btn-free-experience a {
	color: #252A2D !important;
}
@media (min-width: 992px) {
	.siteHeader .container {
		padding: 0;
	}
}

.siteHeader {
    border-bottom: 0;
}
.siteContent {
    padding-top: 0;
}

/* トップページ */
.top-image {
	background-image: url(/wp-content/uploads/2023/11/top_bg_pc_01.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	height: 400px;
	margin-bottom: 30px;
	position: relative;
}
.top-circle {
		max-height: 160px;
		position: absolute;
		top: 30px;
		right: 30px;
		max-width: 160px;
	}
.free-trial {
	background: #D9D9D9;
	max-height: 51px;
	max-width: 204px;
	position: absolute;
	text-align: center;
	top: 0;
	right: 140px;
}
.free-trial a {
	color: #000;
	display: inline-block;
	font-size: 12px;
	font-weight: bold;	
	padding: 17px 54px;
	text-decoration: none;
}
.free-trial a:hover,
.free-trial a:active {
	color: #000;
}
.top-copy {
	top: 80px;
	position: absolute;
	width: 370px;
}
/* .top-copy p {
	margin-bottom: 10px;	
}
.top-copy p span {
	background: linear-gradient(90deg, #316781 0%, #00ACFF 100%);
	color: #FFF;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.7;
	padding: 10px;	
} */

.top-lead-sentence {
	margin-bottom: 150px;
}
.top-lead-sentence .margin-top50 {
	margin-top: 50px;
}
.top-lead-sentence .margin-bottom30 {
	margin-bottom: 30px;
}
.top-lead-sentence .font-size15 {
	font-size: 15px;
}

.top-entry-btn {
	padding: 0;
}
.top-entry-btn a {
	display: inline-block;
}
.top-entry-btn a img {
	width: 470px;
}

.price-section {
	background: #316781;
	margin-bottom: 60px;
	padding-top: 50px;
	padding-bottom: 60px;
}
.price-section p {
	color: #FFF;
	font-size: 20px;
	font-weight: 400;
	margin-bottom: 0;
	text-align: center;
}

.price-section-title {
	margin-bottom: 20px;
	position: relative;
}
.price-section-title h3 {
	text-align: center;
    color: #FFF;
    font-weight: 500;
    border-bottom: 0;
    margin-bottom: 0;
    font-size: 38px;
    padding-bottom: 0;
    line-height: 1.7;
}
.price-section-title h3:after {
	border-bottom: 0;
}
.price-section-title p:before,
.price-section-title p:after {
    content: '';
    position: absolute;
    top: 85px;
    display: inline-block;
    width: 43%;
    height: 2px;
    background-color: #FFF;
}
.price-section-title p:before {
    left: 55px;
}
.price-section-title p:after {
    right: 55px;
}
.price-section-title p {
	margin-bottom: 0;
    text-align: center;
    font-weight: 500;
    font-size: 24px;
}
.price-table {
	margin: 20px auto 40px;
	max-width: 1000px;
}
.price-table th,
.price-table td {
	font-size: 16px;
	padding: 8px 12px;
}
.price-table th,
.price-table th p,
.price-table td,
.price-table td p {
	background: #D8F2FF;
	color: #316781;
	font-weight: 700;
}
.price-table .bg-blue {
	background: #316781;
}
.price-table .bg-green {
	background: #D8ECD0;
}
.price-table .bg-white {
	background: #FFF;
}
.color-white {
	color: #FFF !important;
}
.price-table .max-width286 {
	max-width: 286px;
}
.border-dashed {
	border-bottom: 1px dashed #777E82;
}
.price-table .middle-size {
	font-size: 13px;
}
.price-table .small-size {
	font-size: 11px;
}
.price-table .admission-fee {
	padding: 0;
	text-align: center;
}
.price-table .admission-fee .admission-fee-head {
	max-height: 50px;
	padding: 10px 0;
}
.price-table .admission-fee .admission-fee-text {
	padding: 136px 20px;
}

.button-white {
	background: #FFF;
	border-radius: 45px;
	color: #316781;
	height: 60px;
	margin: 0 auto;
	position: relative;
	width: 300px;
}
.button-white a {
	color: #316781;
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	padding: 15px 80px;
	text-decoration: none;
}
.button-white a:hover,
.button-white a:active {
	text-decoration: none;
}
.button-white:after {
	background-color: #316781;
	content: '';
	display: inline-block;
	height: 2px;
	position: absolute;
	right: 0;
	top: 50%;
	width: 15%;
}

.news-title {
	color: #316781;
	font-weight: 500;
	text-align: center;
}
.news-title h3 {
	border-bottom: 0;
	font-size: 38px;
	letter-spacing: 2%;
	margin-top: 20px;
	margin-bottom: 0;
	padding-bottom: 0;
}
.news-title h3:after {
	border-bottom: 0;
}
.news-title p {
	font-size: 24px;
	letter-spacing: 10%;
}
.news-list ul {
	padding: 0;
}
.news-list li {
	border-top: 1px dashed #777E82;
	font-size: 15px;
	list-style: none;
	margin-bottom: 0;
	padding: 30px 0;
}
.news-list li:last-child {
	border-bottom: 1px dashed #777E82;
}
.news-list li a {
	color: #3e3e3e;
}
.news-list .news-entry-date,
.news-list .new-icon {
	margin-right: 15px;
}
.news-list .new-icon {
	background: #D25353;
	color: #FFF;
	font-weight: 700;
	padding: 4px 10px;
}
.news-list .not-new-icon {
		margin-right: 68px;
}

/* レッスン時間 */
.lessons-time {
	margin-bottom: 30px;
}
.lessons-time .unlimited-use {
	font-size: 45px;
	margin-bottom: 20px;
}
.lessons-time .button-white {
	margin-top: 40px;
	margin-bottom: 55px;
	width: 410px;
}
.lessons-time .button-white a {
	padding: 15px 75px;
}
.lessons-time-table {
    display: flex;
    justify-content: center;
	margin: 25px 0 40px;
}
.lessons-time-table .child {
	background: #fff;
	border-left: 1px solid #316781;
	border-right: 1px solid #316781;
	display: inline-block;
	height: 430px;
	padding: 10px;
	width: calc(85%/7);
}
.lessons-time-table p {
	color: #316781;
	font-weight: bold;
	line-height: 1.4;
}
.lessons-time-table .font-size18 {
	font-size: 18px;
}
.lessons-time-table .font-size14 {
	font-size: 14px;
}
.lessons-time-table .vertical-center {
	align-items: center;
	display: flex;
}
.lessons-time-table .col-6 {
	padding: 0;
}
.writing-mode-vertical {
	writing-mode: vertical-rl;
}
.lessons-explanation {
	margin: 0 auto;
	width: 85%;
}
.lessons-induction {
	margin: 50px auto;
	width: 55%;
	background-color: rgb(255, 255, 255,0.25);
}
.lessons-induction .induction-heading{
	font-size: 30px;
	margin-bottom: 30px;
	text-align: left;
}
.lessons-induction .induction-text{
	text-align: left;
	max-width: 580px;
}
.lessons-induction .flex-box{
	padding: 50px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.lessons-induction .button-white{
	width: 320px;
}


/* 固定ページ */
.page-header {
	background-color: #316781;
}
/* 見出し2 */
.page-header2 {
	background: #316781;
	margin-bottom: 100px;
	padding: 20px 55px;
	position: relative;
}
.page-header2 h2 {
	border-top: 0;
	border-bottom: 0;
	color: #FFF;
	display: inline-block;
	margin-bottom: 0;
	padding: 0;
	text-align: center;
	width: 100%;
}
.page-header2 p {
	color: #FFF;
	display: block;
	font-size: 16px;
	margin: 0;
	text-align: center;
}
.page-header2 p:before,
.page-header2 p:after {
    content: '';
    position: absolute;
    top: 65%;
    display: inline-block;
    width: 42%;
    height: 2px;
    background-color: #FFF;
}
.page-header2 p:before {
    left: 55px;
}
.page-header2 p:after {
    right: 55px;
}

/* 見出し3 */
.fixed-page h3 {
	border-bottom: 0;
	color: #316781;
	font-size: 40px;
	font-style: "Zen Kaku Gothic New";
	font-weight: 500;
	position: relative;
	display: inline-block;
	margin-bottom: 16px;
	padding: 0;
	width: 100%;
}
.fixed-page h3:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 10%;
    height: 2px;
    background-color: #316781;
}
.fixed-page h3:before {
    left: 0;
}
.fixed-page h3:after {
    right: 0;
}
.fixed-page h3.mb-25 {
	margin-bottom: 25px;
}

/* 見出し4 */
.page-privacy h4 {
	color: #316781;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 0;
}
.page-lesson h4 {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 0;
}
.mb-70 {
	margin-bottom: 70px;
}
.page-privacy li {
	font-size: 18px;
}
.page-privacy li span {
	font-weight: bold;
}

/* フッター */
.siteFooter {
	background: #252A2D;
	border-top: 0;
}
.footerMenu {
	margin-top: 30px;
}
.footerMenu ul {
	display: flex;
	justify-content: center;
}
.footerMenu li {
	padding: 2px 20px;
	border-right: 1px solid #FFF;
}
.footerMenu li:last-child {
	border-right: 0;
}
.footerMenu .nav li a {
	color: #FFF;
}
.copySection p {
	color: #FFF;
}
.copySection a {
	color: #FFF;
	text-decoration: none;
}

/* ボタン */
.btn-gradient {
	background: linear-gradient(90deg, #316781 0%, #00ACFF 100%);
	border-radius: 37.406px;
	max-width: 300px;
	flex-shrink: 0;
	text-align: center;
	position: relative;
	display: inline-block;
}
.btn-gradient a {
	color: #FFF !important;
	display: inline-block;
/* 	font-family: Zen Kaku Gothic New; */
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	padding: 20px 90px;
}
.btn-gradient a:hover,
.btn-gradient a:active {
	color: #FFF !important;
	text-decoration: none;
}

/* ボタンの後ろの線 */
.btn-gradient:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 15%;
    height: 2px;
    background-color: #FFF;
	right: 0;
}

/*---------------------------------
アコーディオンボックス
--------------------------------*/
.acbox {
  width: auto;
  font-size:0px; /* ラベルと開く部分を分離する時は数値を入れる */
  margin: 0; /* ボックス全体の位置調整 */
}
.acbox {
	margin-bottom: 13px;
}
.acbox:last-child {
	margin-bottom: 0;
}

.acbox label{
  width: auto;
  font-size: 16px; /* ラベルの文字サイズ */
  font-weight: bold;
  background: #FFF; /* ラベルの背景色 */
  position: relative;
  display: block;
  padding: 15px;
  border: 1px solid #222;
  cursor: pointer;
  color: #222;
	margin-bottom: 0;
}

.acbox label:hover{
  background: #EAF0F2; /* ラベルにマウスを乗せた時の背景色 */
}
.acbox input{
  display: none;
}

.acbox label:after{
  color: #222;
  content:""; /* ラベルのアイコン */
	background-image:url("/wp-content/uploads/2023/09/arrow_1.png");
	background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -14px;
	height: 30px;
	width: 30px;
}

.acbox input:checked ~ label::after {
  content:""; /* ラベルをクリックした後のアイコン */
	background-image:url("/wp-content/uploads/2023/09/arrow_2.png");
	top: 62%;
	right: 9px;
}

.acbox div{
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: 0.15s; /* 開閉スピードの設定 */
}

.acbox input:checked ~ div{
  height: auto;
  padding: 18px; /* 開いた部分の枠内の余白 */
  border-radius: 0px;
  background: #FFF; /* 開いた部分の背景色 */
  opacity: 1;
}

.acbox input:checked ~ label {
  background: #EAF0F2; /* クリック後のラベルの背景色 */
}

.acbox-under{
  font-size: 15px; /* 開いた部分の文字サイズ */
  color: #222; /* 開いた部分の文字色 */
  border-bottom: 1px solid #222;
  border-left: 1px solid #222;
  border-right: 1px solid #222;
}

/* ページ別 */
.page-access img {
	margin-bottom: 8px;
	width: 438px;
}
.page-access .golfbox-logo {
	margin-bottom: 0;
	width: 350px;
}
.page-access h3.margin-top30 {
	margin-top: 30px;
}
.page-access .font-size12,
.page-equipment .font-size12,
.page-flow .font-size12,
.page-lesson .font-size12,
.page-price .font-size12,
.page-top .font-size12 {
	font-size: 12px;
}

.page-access p,
.page-store p {
	padding: 0;
}
.page-access .btn-gradient,
.page-store .btn-gradient {
	margin-top: 35px;
}
.page-access .background-gray {
	background: #D9D9D9;
	padding: 5px 20px;
}

.page-flow .col-7,
.page-flow2 .col-7 {
	padding-right: 50px;
}
.page-flow h3,
.page-flow2 h3 {
	width: 100%;
}
.page-flow h3:after {
	width: 50%;
}
.page-flow .btn-gradient a,
.page-flow2 .btn-gradient a {
	padding: 20px 80px;
}
.page-flow .col-5 img {
	width: 424px;
}

.page-top .btn-gradient2 a {
	padding: 20px 80px;
}
.page-top .btn-gradient3 a {
	padding: 20px 60px;
}
.page-top h3:after,
.page-flow2 h3:after {
	width: 0;
}
.page-top .flow-index, 
.page-flow2 .flow-index {
	position: relative;
}
.page-top .flow-index span, 
.page-flow2 .flow-index span {
	color: #316781;
	font-size: 132px;
	font-weight: 300;
	position: absolute;
	top: -100px;
}
.page-top .flow-index .vertical-line, 
.page-flow2 .flow-index .vertical-line {
    background: #316781;
    display: inline-block;
    height: 90%;
    left: 55%;
    top: 60px;
	width: 4px;
}
.page-top .flow-index-child2 span,
.page-flow2 .flow-index-child2 span {
	color: #1989BF;
}
.page-top .flow-index-child2 .vertical-line, 
.page-flow2 .flow-index-child2 .vertical-line {
	background: #1989BF;
}
.page-top .flow-index-child3 span,
.page-flow2 .flow-index-child3 span {
	color: #00ACFF;
}
.page-top .flow-index-child3 .vertical-line,
.page-flow2 .flow-index-child3 .vertical-line {
	background: #00ACFF;
}

.page-privacy-header2 {
	border: 0;
	color: #316781;
	font-size: 40px;
	font-weight: 500;
	margin-bottom: 110px;
	padding: 110px 0 0 0;
	text-align: center;
	text-decoration: underline;
}
.page-privacy p {
	font-size: 18px;
}

/* レッスン */
.lesson-page h3:after {
	margin-bottom: 25px;
	width: 50% !important;
}
.page-lesson .lesson-outline {
	margin: 120px auto 110px auto;
	max-width: 1280px;
	padding: 0 15px;
}
.page-lesson .lesson-outline2 {
	background-color:#D8F2FF;
}
.page-lesson .page-header2 {
	margin-bottom: 30px;
}
.page-lesson .fixed-page h3 {
	margin-bottom: 30px;
}
.page-lesson .page-lesson-price {
	text-align: left;
	font-size: 24px;
	color: #316781;
	font-weight: 700;
}
.page-lesson .page-lesson-business-plan {
	margin-bottom: 50px;
	text-align: left;
	font-size: 24px;
	display: flex;
}
.page-lesson .page-lesson-business-plan p {
	margin: 0 50px 0 0;
}
.page-lesson .page-lesson-business-plan .plan {
	color: #316781;
	font-weight: 700;
}
.page-lesson .shooting-block-list {
	display: flex;
	justify-content: flex-start; 
	align-items: center;
}
.page-lesson .shooting-arrow {
	margin: 0px 30px;
}

.page-lesson .btn-gradient a {
	padding: 10px 30px;
	width: 300px;
}
.page-lesson .staff_radius {
	width: 144px;               /* 幅指定 */
	height: 28px;              /* 高さ指定 */
	color: #ffffff;          /* 文字色指定 */
	background-color:#316781;     /* 背景色指定 */
	border-radius: 10px 10px 0px 0px;        /* 角丸指定 */
	font-size: 16px;                    /* 文字サイズ指定 */
	text-align: center;
	padding: 3px;
}
.page-lesson .staff_radius2 {
	height: auto;              /* 高さ指定 */
	background-color: #ffffff;     /* 背景色指定 */
	border-radius: 0px 10px 10px 10px;        /* 角丸指定 */
	font-size: 20px;                    /* 文字サイズ指定 */
	padding: 24px;
}
.page-lesson .staff-introduction {
	margin-left:auto;
	margin-right:auto;
	padding:120px 15px 120px 15px;
	max-width: 1280px;
}
.page-lesson .staff {
	margin-bottom: 40px;
}
.page-lesson .staff-detail {
	display: flex;
}
.page-lesson .staff-detail__profile {
	margin-left: 52px;
}
.page-lesson .staff-detail__profile .staff-detail__name {
	font-size: 32px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 10px;
	padding: 0px;
}
.page-lesson .staff-detail__profile .staff-detail__lesson {
	font-size: 24px;
	font-weight: bold;
	padding: 0px;
}
.page-lesson .staff-detail__profile .staff-detail__label {
	font-size: 24px;
	margin-bottom: 20px;
	padding: 0px;
}
.page-lesson .staff-detail__text {
	font-size: 20px;
	margin-bottom: 20px;
	padding: 0px;
}

.page-lesson .staff-detail__image {
	width: 310px;
    height: 434px;
	flex-shrink: 0;
}
.page-lesson .lesson-category {
	display: flex;
	justify-content: start;
    flex-wrap: nowrap;
	flex-shrink: 0;
	margin-bottom: 110px;
}
.page-lesson .lesson-category-item1 {
	width: 800px;
}
.page-lesson .lesson-category-item2 {
	padding-left:50px;
	padding-top:30px;
}

.page-price .pro-lesson {
	margin-bottom: 130px;
}
.page-price .pro-lesson-plan {
	margin-bottom: 50px;
	text-align: left;
	font-size: 24px;
	display: flex;
}
.page-price .pro-lesson-plan p {
	margin: 0 50px 0 0;
	padding: 0
}
.page-price .pro-lesson-plan .plan {
	color: #316781;
	font-weight: 700;
}
.page-price .btn-gradient a {
	padding: 10px 30px;
	width: 300px;
}

.page-price .page-header2 {
	margin-bottom: 30px;
}
.page-price .fixed-page h3 {
	margin-bottom: 30px;
}
.page-price .fixed-page h3:after { 
	width: 73%;
}
.page-price-business-hour {
	margin-bottom: 60px;
	text-align: center;
}
.page-price-business-hour p {
	padding: 0;
}
.page-price-business-hour .hour {
	color: #316781;
	font-weight: 700;
}
.unlimited-use-plan {
	margin-bottom: 40px;
}
.unlimited-use-plan .margin-left24per {
	margin-left: 24%;
}
.unlimited-use-plan .font-size14 {
	font-size: 14px;
}
.unlimited-use-plan .font-size18 {
	color: #316781;
	font-size: 18px;
	font-weight: 700;
	padding: 0;
}
.unlimited-use-plan .margin-bottom10 {
	margin-bottom: 10px;
}
.unlimited-use-plan th,
.unlimited-use-plan td,
.ticket-plan th, 
.ticket-plan td {
	color: #316781;
	font-size: 16px;
	padding: 5px 12px;
}
.unlimited-use-plan th {
	font-weight: 700;
}
.blue-table .admission-fee {
	padding: 0;
	text-align: center;
}
.blue-table .admission-fee .wrap .admission-fee-text {
	padding-top: 116px;
	padding-bottom: 116px;
}
.blue-table .admission-fee .admission-fee-head {
	background: #D8F2FF;
	max-height: 40px;
	padding: 5px 0;
}
.blue-table .admission-fee .admission-fee-text {
	padding: 75px 20px;
}
.blue-table .admission-fee p {
	color: #316781;
	font-size: 16px;
	font-weight: 700;
}
.blue-table {
	border-top: 0;
}
.blue-cell {
	background: #D8F2FF;
}
.green-cell {
	background: #D8ECD0;
	padding: 12px;
}
.green-cell-height47 {
	height: 47px;
}
.blue-table .border-top,
.sp-price-table .border-top {
	border-top: 1px solid #316781 !important;
}
.blue-table .border-left,
.sp-price-table .border-left {
	border-left: 1px solid #316781 !important;
}
.blue-table .border-right,
.sp-price-table .border-right {
	border-right: 1px solid #316781 !important;
}
.blue-table .border-bottom,
.green-table .border-bottom,
.sp-price-table .border-bottom {
	border-bottom: 1px solid #316781 !important;
}
.blue-table .border-dashed,
.green-table .border-dashed {
	border-bottom: 1px dashed #316781;
}
.blue-table .font-size11,
.green-table .font-size11 {
	font-size: 11px;
}
.blue-table .border-none {
	border: 0;
}
.green-table {
	background: #D8ECD0;
	border: 1px solid #316781;
}
.green-table th {
	padding: 10px;
}
.green-table .white-cell {
	background: #FFF;
}
.recommend-message {
	margin-bottom: 30px;
}
.recommend-message h4 {
	color: #316781;
	font-size: 18px;
	font-weight: 700;
	position: relative;
}
.recommend-message h4 span {
	background: #316781;
	display: inline-block;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 0;
	width: 85%;
}
.ticket-plan {
	margin-bottom: 40px;
}
.lesson-ticket {
	margin-bottom: 400px;
}
.margin-bottom130 {
	margin-bottom: 130px;
}
	
.margin-bottom36 {
	margin-bottom: 36px;
}

/** ハンバーガーメニュー　**/
.hamburger-menu-wrapper {
	position: relative;
}

#hamburger-menu-button {
	display: none;
}

#hamburger-menu-button:checked ~ .hamburger-menu-open {
	display: none;
}

#hamburger-menu-button:checked ~ .hamburger-menu-close {
	display: block;
	opacity: 0.5;
}

#hamburger-menu-button:checked ~ .hamburger-menu-content {
	transform: translate3d(0,0,0);
}

.hamburger-menu-open .fa-bars {
	color: #000;
	font-size: 20px;
}

.hamburger-menu-open {
	background: url(/wp-content/themes/lightning/_g2/inc/vk-mobile-nav/package//images/vk-menu-btn-black.svg);
	position: absolute;
	margin-bottom: 0;
	width: 32px;
	height: 32px;
	top: 14px;
	transition: 0.3s ease;
	animation: site-title 0.8s ease 0.5s 1 normal;
	animation-fill-mode: forwards;
	z-index: 4;
	cursor: pointer;
	left: 2%;
}

.hamburger-menu-close {
	background: url(/wp-content/themes/lightning/_g2/inc/vk-mobile-nav/package//images/vk-menu-close-black.svg);
	display: none;
	position: fixed;
	width: 32px;
	height: 32px;
	margin-top: 14px;
	left: 2%;
	cursor: pointer;
	transition: 0.3s ease;
	z-index: 3;
}

.hamburger-menu-content {
	background: #fff;
	position: absolute;
	left: 0;
	width: 350px;
	height: auto;
	transition: 0.3s ease;
	transform: translate3d(-100%,0,0);
	overflow: auto;
	z-index: 5;
	top: 62px;
}

.hamburger-menu {
	padding: 0;
}

.hamburger-menu ul.menu {
	height: 100vh;
	margin-bottom: 0;
	padding: 0;
}

.hamburger-menu li {
	padding: 20px 0;
	border-bottom: 1px solid #316781;
	font-size: 20px;
	list-style: none;
	margin-bottom: 0;
	text-align: left;
	text-indent: 30px;
	transition: 0.3s ease;
}

.hamburger-menu li a {
	color: #316781;
	font-weight: 700;
}

.hamburger-menu li:hover {
	transform: translateX(5px);
}

/* スマホ */
@media (max-width: 782px) {
	.fixed-page p {
		font-size: 14px;
	}
	.fixed-page .sp-margin-bottom25 {
		margin-bottom: 25px;
	}
	.fixed-page .sp-margin-bottom30 {
		margin-bottom: 30px;
	}
	.fixed-page .sp-margin-bottom70 {
		margin-bottom: 70px;
	}
	.fixed-page .sp-margin-bottom90 {
		margin-bottom: 90px;
	}
	.sp-margin-bottom25 {
		margin-bottom: 25px;
	}
	.sp-margin-bottom45 {
		margin-bottom: 45px;
	}
	.sp-margin-bottom65 {
		margin-bottom: 65px;
	}
	.sp-margin-bottom160 {
		margin-bottom: 160px;
	}
	
	p.font-size11 {
		font-size: 11px;
	}
	
	/* 問い合わせボタン */
	/*メニューをページ下部に固定*/
.sp-fixed-menu{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   z-index: 99;
}

/*メニューを横並びにする*/
.sp-fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

.sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   width: 50%;
   padding:0;
   margin:0;
   font-size: 16px;
	font-weight: 700;
}
/*ボタンを調整*/
.sp-fixed-menu li a{
   color: #fff;
   text-align: center;
   display:block;
   width: 100%;
   padding: 10px;
}
	.sp-fixed-menu li img {
		width: 15px;
	}
	.sp-fixed-menu .btn-membership img {
		vertical-align: middle;
}
	
	.sp-fixed-menu .btn-inquiry img {
		margin-bottom: 3px;
	}
	
	/* メニュー */
	.vk-mobile-nav-menu-btn,
	.vk-mobile-nav {
		display: none;
	}
	.hamburger-menu-open,
	.hamburger-menu-close {
		left: 2%;
	}
	.hamburger-menu ul.menu {
		margin-top: 0;
	}
	.hamburger-menu-content {
		left: 0;
		top: 60px;
		transform: translate3d(-100%, 0, 0);
		width: 100%;
	}
	.hamburger-menu-content a {
		font-size: 16px;
	}
	
	/* ヘッダー */
	.siteHeadContainer {
		border-bottom: 2px solid #316781;
	}
	/* フッター */
  .footerMenu .nav li {
	  border-top: 1px solid #FFF;
	  border-right: 0;
	  font-size: 12px;
	  float: left;
	  margin: 0 5px;
	  padding: 10px 0;
	  width: calc(50% - 10px);
  }

  .copySection {
    clear: both;
    font-size: 10px;
    margin-top: 40px;
	  margin-bottom: 40px;
  }
	
	.page-header2 {
		margin-bottom: 30px;
		padding: 43px 15px;
	}
	.page-header2 p {
		font-size: 14px;
	}
	.page-header2 p:before,
	.page-header2 p:after {
		top: 60%;
		width: 36%;
	}
	.page-header2 p:before {
		left: 15px;
	}
	.page-header2 p:after {
		right: 15px;align-content
	}
	
	.fixed-page h3 {
		font-size: 24px;
	}
	
	.btn-gradient {
		margin-top: 20px;
		max-width: 200px;
	}
	.btn-gradient a {
		font-size: 14px;
		padding: 10px 58px;
	}
	
	.acbox label, 
	.acbox-under {
		font-size: 14px;
	}
	
	/* Top */
	.sp-top-image {
		background-image: url(/wp-content/uploads/2023/11/top_bg_sp_01.jpg);
	  background-repeat: no-repeat;
	  background-size: contain;
	  height: 585px;
	  /* margin-bottom: 85px;*/
	  position: relative;
	}
	.sp-top-copy {
		bottom: -70px;
		position: absolute;
		width: 65%;
	}
/* 	.sp-top-copy p {
		background: linear-gradient(90deg, #316781 0%, #00ACFF 100%);
		color: #FFF;
		display: inline-block;
		font-size: 24px;
		font-weight: 700;
		margin-bottom: 10px;
		padding: 3px 5px;
	} */
	
	/* トップページ新規加入ボタン */
	.sp-top-entry-btn {
		margin-top: 25px;
		margin-bottom: 25px;
	}
	.sp-top-entry-btn a {
		display: inline-block;
	}
	
	.top-circle {
		max-height: 120px;
		position: absolute;
		top: 10px;
		right: 10px;
		max-width: 120px;
	}
	
	/* トップページ ご利用の流れ */
	.sp-flow-index {
		position: relative;
	}
	.sp-flow-index span {
		color: #316781;
	   font-size: 66px;
	   font-weight: 300;
		left: 5px;
	   position: absolute;
	   top: -50px;
	}
	.sp-flow-index .vertical-line {
		 background: #316781;
      display: inline-block;
      height: 84%;
      left: 80%;
      top: 40px;
	   width: 2px;
	}
	.sp-top-flow-vertical-line1{
		height: 87% !important;
	}
	.flow-index-child2 span {
	  color: #1989BF;
   }
   .flow-index-child2 .vertical-line {
	   background: #1989BF;
   }
   .flow-index-child3 span {
	   color: #00ACFF;
   }
   .flow-index-child3 .vertical-line {
	   background: #00ACFF;
   }
	.sp-flow-col {
		margin-bottom: 45px;
		padding-left: 30px;
	}
	.sp-flow-col h3 {
		border-bottom: 0;
		color: #316781;
		font-weight: 500;
		margin-bottom: 24px;
		padding-bottom: 0;
	}
	.sp-flow-col h3:after {
		border-bottom: 0;
	}
	.sp-flow-col p {
		font-size: 14px;
		margin-bottom: 5px;
	}
	.btn-gradient-top1 a {
		padding: 10px 51px;
	}
	.btn-gradient-top2 a {
		padding: 10px 37px;
	}
	
	/* トップページ料金表　*/
	.font-size18 {
		font-size: 18px;
	}
	.sp-price-section {
		background: #316781;
		margin-bottom: 40px;
		padding-top: 60px;
		padding-bottom: 60px;
		text-align: center;
	}
	.sp-price-section p {
		color: #FFF;
		margin-bottom: 0;
	}
	.sp-price-title {
		margin-bottom: 25px;
	   position: relative;
	}
	.sp-price-title h3 {
		border-top: 0;
	   border-bottom: 0;
	   color: #FFF;
	   display: inline-block;
		font-size: 28px;
	   margin-bottom: 0;
	   padding: 0;
	   text-align: center;
	   width: 100%;
	}
	.sp-price-title h3:after {
		border-bottom: 0;
	}
	.sp-price-title p {
		color: #FFF;
	   display: block;
	   font-size: 14px;
	   margin: 0;
	   text-align: center;
	}
	.sp-price-title p:before,
	.sp-price-title p:after {
		 content: '';
       position: absolute;
       top: 80%;
       display: inline-block;
       width: 39%;
       height: 1px;
       background-color: #FFF;
	}
	.sp-price-title p:before {
		left: 0;
	}
	.sp-price-title p:after {
		right: 0;
	}
	.sp-button-white {
		height: 40px;
		margin-top: 10px;
		width: 200px;
	}
	.sp-button-white a {
		font-size: 14px;
		padding: 10px 48px;
	}
	.button-white:after {
		width: 12%;
	}
	.sp-price-table {
		border-top: 0;
		margin-top: 25px;
		margin-bottom: 30px;
	}
	.sp-price-table tr {
		border: 0;
	}
	.sp-price-table th,
	.sp-price-table td {
		color: #316781;
		font-size: 13px;
		padding: 5px 0 5px 10px;
		text-align: left;
	}
	.white-cell {
		background: #FFF;
	}
	.sp-price-table .padding18 {
		padding: 18px;
	}
	.sp-price-table .font-size16 {
		font-size: 16px;
	}
	.sp-price-table .font-size14 {
		font-size: 14px;
	}
	.sp-price-table .font-size11 {
		font-size: 11px;
	}
	.sp-price-table .padding-top-bottom10 {
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.sp-price-table .padding-right10 {
		padding-right: 10px;
	}
	.sp-price-table .padding-left20 {
		padding-left: 20px;
	}
	.sp-price-table .padding-right75 {
		padding-right: 75px;
	}
	.sp-price-table .padding-right20 {
		padding-right: 20px;
	}
	.sp-price-table a {
		color: #316781;
		text-decoration: underline;
	}
	.sp-price-section .another-text {
		font-size: 18px;
		font-weight: bold;
		margin-top: 25px;
		margin-bottom: 25px;
	}
	.max-width113 {
		max-width: 113px;
	}
	.sp-price-table .padding-x10 {
		padding-left: 10px;
		padding-right: 10px;
	}
	.padding-right10 {
		padding-right: 10px;
	}
	.lessons-time {
	margin-bottom: 30px;
}
.lessons-time .unlimited-use {
	font-size: 36px;
	margin-bottom: 25px;
}
.lessons-time .button-white {
	width: 260px;
}
.lessons-time .button-white a {
	padding: 10px 39px;
}
.lessons-time-table {
   max-width: 1200px;
	margin: 20px 20px 15px;
	justify-content: flex-start;
	overflow-x: scroll;
}
.lessons-time-table .child {
	min-width: 140px;
	flex-shrink: 0;
	height: 320px;
}
	.lessons-time-table .child p {
		color: #316781;
		font-size: 14px;
	}
.lessons-time-table .col-6 {
	padding: 0;
}
.writing-mode-vertical {
	writing-mode: vertical-rl;
}
.lessons-explanation {
	width: 90%;
}
.lessons-induction {
	margin: 50px auto 0px a;
	width: 90%;
	background-color: rgb(255, 255, 255,0.25);
}
.lessons-induction .induction-heading{
	font-size: 24px;
	margin-bottom: 30px;
	text-align: center;
}
.lessons-induction .induction-text{
	text-align: left;
}
.lessons-induction .induction-child{
	padding: 25px;
}
.lessons-induction .sp-button-white{
	width: 260px;
	margin-bottom:0px;
}

	/* トップページお知らせ */
	.sp-news-title {
		margin-bottom: 25px;
	   position: relative;
	}
	.sp-news-title h3 {
		border-top: 0;
	   border-bottom: 0;
	   color: #316781;
	   display: inline-block;
		font-size: 28px;
	   margin-bottom: 0;
	   padding: 0;
	   text-align: center;
	   width: 100%;
	}
	.sp-news-title h3:after {
		border-bottom: 0;
	}
	.sp-news-title p {
		color: #316781;
	   display: block;
	   font-size: 14px;
	   margin: 0;
	   text-align: center;
	}
	.sp-news-title p:before,
   .sp-news-title p:after {
       content: '';
       position: absolute;
       top: 80%;
       display: inline-block;
       width: 39%;
       height: 1px;
       background-color: #316781;
   }
   .sp-news-title p:before {
       left: 0;
   }
   .sp-news-title p:after {
       right: 0;
   }
	
	.news-list li {
		font-size: 12px;
	}
	.news-list .new-icon {
		font-size: 10px;
	}
	.news-list .news-entry-date,
	.news-list .new-icon {
		margin-right: 5px;
	}
	.news-list .new-icon {
		padding-left: 5px;
		padding-right: 4px;
	}
	.news-list .not-new-icon {
		margin-right: 50px;
	}
	
	/* Access */
	.page-access .flex-box-child {
		padding-top: 7px;
	}

	/* Flow */
	.page-flow .btn-gradient a {
		padding: 10px 50px;
	}
	/* レッスン */
	.page-lesson h4 {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 0;
	}
	.page-lesson .sp-lesson-page h3:after {
		margin-bottom: 25px;
		width: 50% !important;
	}
	.page-lesson .sp-lesson-outline {
		margin-left: 15px;
		margin-right: 15px;
	}
	.page-lesson .sp-page-header2 {
		margin-bottom: 30px;
	}
	.page-lesson .sp-fixed-page h3 {
		margin-bottom: 30px;
	}
	.page-lesson .sp-fixed-page h3:after { 
		width: 75%;
	}
	.page-lesson .sp-page-lesson-price {
		text-align: left;
		color: #316781;
		font-size: 16px;
		font-weight: 700;
	}
	.page-lesson .sp-page-lesson-business-plan {
		text-align: left;
	}
	.page-lesson .sp-page-lesson-business-plan p {
		padding: 0;
	}
	.page-lesson .sp-page-lesson-business-plan .plan {
		color: #316781;
		font-size: 16px;
		font-weight: 700;
	}
	.page-lesson .sp-shooting-block-list {
		display: flex;
		justify-content: flex-start; 
		align-items: center;
	}
	.page-lesson .sp-shooting-arrow {
		margin: 0px 10px;
	}
	
	.page-lesson .btn-gradient a {
		padding: 10px 30px;
		max-width: 200px;
	}
	.page-lesson .staff_radius {
		width: 92px;               /* 幅指定 */
		height: 22px;              /* 高さ指定 */
		color: #ffffff;          /* 文字色指定 */
		background-color:#316781;     /* 背景色指定 */
		border-radius: 10px 10px 0px 0px;        /* 角丸指定 */
		font-size: 12px;                    /* 文字サイズ指定 */
		text-align: center;
		padding: 3px;
	}
	.page-lesson .staff_radius2 {
		height: auto;              /* 高さ指定 */
		background-color: #ffffff;     /* 背景色指定 */
		border-radius: 0px 10px 10px 10px;        /* 角丸指定 */
		font-size: 14px;                    /* 文字サイズ指定 */
		padding: 10px;
	}
	.page-lesson .sp-staff-introduction {
		background-color:#D8F2FF;
		padding: 50px 15px 0 15px;
	}
	.page-lesson .sp-staff {
		padding-bottom: 40px;
	}
	.page-lesson .sp-staff .staff-detail {
		display: flex;
	}
	.page-lesson .sp-staff .sp-staff-detail__image {
		flex-shrink: 0; /* これで小さくならない */
	}
	
	.page-lesson .sp-staff .staff-detail__profile {
		margin-left: 16px;
	}
	.page-lesson .sp-staff .staff-detail__profile .staff-detail__name {
		font-size: 21px;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 10px;
		padding: 0px;
	}
	.page-lesson .sp-staff .staff-detail__profile .staff-detail__lesson {
		font-size: 16px;
		font-weight: bold;
		padding: 0px;
	}
	.page-lesson .sp-staff .staff-detail__profile .staff-detail__label {
		font-size: 13px;
		margin-bottom: 15px;
		padding: 0px;
	}
	.page-lesson .sp-staff .staff-detail__text {
		font-size: 14px;
		margin-bottom: 20px;
		margin-top: 20px;
		padding: 0px;
	}

	/* 料金表 */
	
	.sp-price-page-hour {
		margin-bottom: 20px;
		text-align: left;
	}
	.sp-price-page-hour .hour {
		font-size: 16px;
	}
	.sp-price-page h3:after {
		margin-bottom: 25px;
		width: 40% !important;
	}
	.sp-price-page .sp-price-table {
		margin-top: 0;
		margin-bottom: 0;
	}
	.page-price .pro-lesson {
		margin-bottom: 130px;
	}
	.page-price .pro-lesson-plan {
		text-align: left;
		font-size: 24px;
		display: flex;
		flex-wrap  : wrap;
		margin-bottom: 0;
	}
	.page-price .pro-lesson-plan p {
		margin: 0;
		padding: 0;
	}
	.page-price .pro-lesson-plan .plan {
		color: #316781;
		font-weight: 700;
	}
	.page-price .btn-gradient a {
		width: 200px;
	}
	
	.sp-unlimited-use-plan .add-ticket p {
		color: #316781;
		font-weight: bold;
		margin-top: 20px;
	}
	.sp-recommend-message .header4 {
		margin-top: 25px;
		position: relative;
	}
	.sp-recommend-message .header4 h4 {
		color: #316781;
		font-size: 14px;
		font-weight: 700;
	}
	.sp-recommend-message .header4 h4:after {
		background-color: #316781;
		content: '';
		display: inline-block;
		height: 1px;
		position: absolute;
		top: 45%;
		right: 0;
		width: 60%;
	}
	.sp-recommend-message .message img {
		margin-bottom: 25px;
	} 
	.sp-ticket-plan {
		margin-bottom: 25px;
	}
	.sp-margin-bottom60 {
		margin-bottom: 60px;
	}
	
	/* プライバシーポリシー */
	.page-privacy-header2 {
		font-size: 24px;
		font-weight: 500;
		line-height: 1.5;
		padding: 30px 15px 0;
		margin-bottom: 30px;
		text-align: left;
	}
	.page-privacy h4 {
		font-size: 14px;
		margin-top: 0;
		margin-bottom: 5px;
	}
	.page-privacy li {
	font-size: 14px;
}
	
	/* 見出し後ろ線の長さ　モバイル版 */
.fixed-page h3.access-border1:after {
	width: 15%;
}
.fixed-page h3.access-border2:after {
	width: 10%;
}
	
.fixed-page h3.flow-border1:after {
	width: 70%;
}
.fixed-page h3.flow-border2:after {
	width: 75%;
}
.fixed-page h3.lesson-border1:after {
	width: 50%;
}
.fixed-page h3.lesson-border2:after {
	width: 55%;
}
.fixed-page h3.lesson-border3:after {
	width: 70%;
}
.fixed-page h3.equipment-border1:after {
	width: 85%;
}
.fixed-page h3.equipment-border2:after {
	width: 28%;
}

.fixed-page h3.privacy-border1:after {
	width: 50%;
}
.fixed-page h3.privacy-border2:after {
	width: 38%;
}
	.fixed-page h3.privacy-border3 {
		padding-right: 100px;
	}
.fixed-page h3.privacy-border3:after {
	width: 30%;
}
.fixed-page h3.privacy-border4:after {
	width: 38%;
}
.fixed-page h3.privacy-border5:after {
	width: 58%;
}
.fixed-page h3.privacy-border6:after {
	width: 19%;
}
	.fixed-page h3.privacy-border7 {
		padding-right: 50px;
	}
.fixed-page h3.privacy-border7:after {
	width: 15%;
}
}

/* iPhone SE */
@media (max-width: 376px) {
	.sp-top-copy {
		bottom: -50px;
	}
	.sp-top-image {
		height: 530px;
	}
	.sp-price-title h3 {
		font-size: 26px;
	}
	.sp-fixed-menu li {
		 font-size: 15px;
	}
	.sp-price-table .padding-right20 {
		padding-right: 18px;
	}
}