@charset "utf-8";
/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description:
Author:アートフレア株式会社
Tags: 
Version: 0.1.2
*/

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * アートフレアユーティリティCSS
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* お問い合わせフォームの調整　タブレット以下 */
@media (max-width:991px) {
	.contactform table,.contactform tbody,.contactform th,.contactform td,.contactform tr{
		display:block;
	}
	.contactform th,.contactform td{
		width:100% !important;
	}
	.contactform th{
		border-bottom:none !important;
	}
		.contactform td{
		border-top:none !important;
	}
	.list12 li {
    width: 100% !important;
}
}

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 *  VKステップ横並び
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.vk_step-horizontal {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}

.vk_step-horizontal .vk_step_item {
    display: flex;
    flex-direction: column;
    padding: 0;
	width:100%;
}

.vk_step.vk_step-horizontal .vk_step_item_dot {
	position: unset;
	order: 1;
	margin: auto;
	z-index: 3;
}
.vk_step-horizontal p {
    padding: 0 1rem;
}
.vk_step-horizontal .vk_step_item_dot.vk_step_item_style-outlined {
    background: #fff;
}
.vk_step.vk_step-horizontal .vk_step_item_content h4 {
    text-align: center;
}
.vk_step.vk_step-horizontal .vk_step_item_content {
    order: 2;
    text-align: center;
}
.vk_step-horizontal .vk_step_item_lineStyle-default::before {
    z-index: 0;
    width: 100%;
    height: 5px;
    top: 25px;
    left: auto;
    right: -50%;
}


/* パソコン版ではtel:～をクリッカブルにしない */
@media screen and (min-width:767px){	a[href^="tel:"] {pointer-events: none;	}}

/* フロー図へ自動連番 */
body {
   counter-reset: flow 0;  /* numberのカウンタを0に指定 */
 }
.wp-block-vk-blocks-flow{
	position:relative;
}
.wp-block-vk-blocks-flow::before {
	counter-increment: flow 1;  /* numberのカウンタを1ずつ増加 */
	content: "0" counter(flow);  /* 番号の後ろに0 */
	font-size: 100px;
	position: absolute;
	z-index: 1;
	opacity: 0.1;
	right:30px;
}
.wp-block-vk-blocks-flow *{
	z-index:2;
}

/* アニメーションを一回で固定する場合。*/
.vk_animation-active-fixed { 
	left: 0 !important; 
	right: 0 !important; 
	opacity: 1 !important; 
} 






/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
 * メールフォーム 
 * ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.contactform-entext {
	display: block;
	font-size: var(--vk-size-text-xs);
	font-weight: normal;
}

.contactform-table th {
    font-size: var(--vk-size-text);
    text-align: left;
    position: relative;
    background: #f9f9f9;
    width: 30%;
}

th.contactform-required::after ,th.contactform-unrequired::after {
	display: block;
	position: absolute;
	font-size: 14px;
	font-weight: normal;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	padding: 5px 10px;
	line-height: 1;
	border-radius: 3px;
}

th.contactform-required::after {
	content: '必須';
	background: #f55555;
	color: #fff;
}
th.contactform-unrequired::after {
	content: '任意';
	background: #eee;
	color: #888;
}

dl.contactform-addlist {
    margin: 0;
}
dl.contactform-addlist dt:not(:first-child) {
    margin-top: 1em;
}
dl.contactform-addlist dt {
    font-size: var(--vk-size-text-sm);
    color: #333;
    font-weight: normal;
}
span.mwform-file-delete {
    display: inline-block;
    width: 30px;
    height: 30px;
    background: #eee;
    line-height: 30px;
    text-align: center;
    border-radius: 50px;
    font-size: 22px;
    vertical-align: revert;
    margin-left: 3rem;
    transition: .1s;
}

span.mwform-file-delete:hover {
    background: #aaa;
    color: #fff;
}

input[type="file"] {
    font-size: 1rem;
}
p.contactform-note {
    font-size: var(--vk-size-text-sm);
    color: #777;
    margin: 0;
}
/*バリデーション＆エラー＆確認画面*/
.form-errored input, .form-errored select {
    border: solid 1px #f22 !important;
    background: #fbeeee;
}

.mw_wp_form .error::before {
    content: '\f06a';
    font-family: 'Font Awesome 5 Free';
    font-weight: 600;
    padding-right: .5em;
}
.mw_wp_form_preview .contactform-preview-hidden{
	display:none;	
}
input[name=submitBack] {/* 送信ボタン */
    background: transparent;
    color: var(--vk-color-primary);
    margin-right: 2em;
}

.sec3_box{
	position:relative;
}
.sec3_txt{
	width:60%;
	position:absolute;
	z-index:2;
	max-width: 60% !important; 
	background-color:rgba(255,255,255,0.87);
	padding:55px !important; 
}
.sec3_ph{
	width:60%;
	position:relative;
	z-index:1;
	margin-left:auto;
	    flex: 0 0 70% !important; 
	max-width: 60% !important; 
}

.order1{
	margin-right:auto;
	margin-left:0;
	left:0;
}
.order2{
	right:0;
	top:50px;
}

.event-single__youtube {
  padding-top: 30px;
  padding-bottom: 30px;
}

.event-single__youtube iframe {
  display: block;
  margin: 0 auto 40px;
}