/*
Theme Name: Lightning Child Sample
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/
/* ---------------------------------------- リセット ---------------------------------------- */
table th, table td, ul, .widget ul, .site-body, .container, .container-lg, .container-md, .container-sm, .container-xl, .site-header--layout--nav-float .site-header-logo {padding: 0;}
.container, .container-lg, .container-md, .container-sm, .container-xl, body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {max-width: initial;}
figure, h2, figure+h1, figure+h2, figure+h3, dt, aside, .widget, .wp-block-table, blockquote, dl, iframe, ol, p, ul, li, .widget li, .site-footer-copyright p, .site-header--layout--nav-float .site-header-logo, dl+h1, dl+h2, dl+h3, dl+h4, dl+h5, dl+h6, ol+h1, ol+h2, ol+h3, ol+h4, ol+h5, ol+h6, p+h1, p+h2, p+h3, p+h4, p+h5, p+h6, table+h1, table+h2, table+h3, table+h4, table+h5, table+h6, ul+h1, ul+h2, ul+h3, ul+h4, ul+h5, ul+h6 {margin: 0;}
h1, h2, h3, h4, h5, h6 {margin: 0;}
body .is-layout-flex {gap: initial;}
.container.site-footer-copyright p:nth-child(2) {display: none;}
a, li a, p a, div a {text-decoration: none!important;}
ul {list-style: none;}
figure img {width: 100%;}
footer.site-footer div.row>div:nth-child(2), footer.site-footer div.row>div:nth-child(3) {display: none;}
div#main {margin-bottom: 0;}
a {
	tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	cursor: pointer;
}
a:hover, a:active, a:focus {
	outline: none;
	color: inherit;
}
/* ---------------------------------------- Lightningデフォルト非表示 ---------------------------------------- */
header#site-header, div.page-header, div#breadcrumb, footer.site-footer, .vk-mobile-nav-menu-btn, .admin-bar .vk-mobile-nav-menu-btn, .scrolled .page_top_btn, div.sub-section.sub-section--col--two {display: none!important;}
/* ---------------------------------------- フォント ---------------------------------------- */
p, a, h1, h2, h3, h4, h5, h6, li, span, small, span.btn_text, dd, dt, div, time, input[type="submit"] {
	font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
	font-weight: 300;
	font-size: 12px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	color: #463E3B;
}
h2.title {
/* 	font-family: 'Lato', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif; */
	font-family: "Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
	font-weight: 600;
	font-size: 18px;
	color: #000;
	margin-top: 48px;
	margin-bottom: 32px!important;
	line-height: 1;
}
h3.title_midium {
	font-size: 16px;
	color: #000;
	margin-bottom: 32px;
	line-height: 1;
}
h4.title_small {
	font-size: 14px;
	color: #000;
	margin-bottom: 24px!important;
	margin-top: 32px;
	line-height: 1;
}
.strikethrough {
	position: relative;
	text-decoration-line: line-through!important;
	text-decoration-style: solid!important;
	text-decoration-color: #463E3B!important;
}
.black {color: #000;}
p.gray {color: #777;}
.bold {font-weight: bold;}
/* ---------------------------------------- 2025メンテナンスページ ---------------------------------------- */
body.post-name-maintenance {
    background-color: #E1E0DF;
    height: 100vh;
}
.maintenance_container {
    width: 92vw;
    max-width: 400px;
    margin: 0 auto;
    padding-top: 20px;
	padding-bottom: 80px;
}
h2.maintenance_title {
    font-size: 16px;
    margin-bottom: 1em;
    color: #000;
}
.maintenance_container p {margin-bottom: 2em;}
.maintenance_container p a {
	text-decoration: underline!important;
	text-decoration-style: solid;
	text-decoration-color: #463E3B;
}
/* ---------------------------------------- TOPページ ---------------------------------------- */
body.home, figure.top_top_movie video {height: 100vh;}
figure.top_movie_mp {
	height: 100vh;
	line-height: 1;
	overflow: hidden;
}
section.fv_container {
	width: 100vw;
	height: 100vh;
	position: relative;
}
section.fv_container video {
	height: 100vh;
	object-fit: cover;
}
figure.top_movie_pc, figure.logo_top_pc {display: none;}
div.logo_button_container {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -56%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	z-index: 1000;
}
figure.logo_top_mp {
	width: 140px;
/* 	margin-left: -8px!important; */
}
a.button_toabout {
	line-height: 1;
	color: #eee;
	border: 0.6px solid #eee;
	padding: 20px 34px;
	border-radius: 50%;
	margin-top: 20px;
	background: url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/arrow_right_eee.png) no-repeat calc(100% - 18px) 50% / 8px 8px;
	width: 240px;
	text-align: center;
}
/* ---------------------------------------- 全ページ共通 ---------------------------------------- */
body {background-color: #eee;}
div#aside_pcmenu, div#aside_pcimage {display: none;}
div#maincolumn {
	width: 100%;
	max-width: 430px;
	min-height: 100vh;
	background-color: #E1E0DF;
	position: relative;
	z-index: 100;
}
main#maincolumn_container {
	width: 92%;
	margin-left: 8%!important;
	padding: 0 0 0 4%;
}
div.inner_container {
	padding-top: 48px;
	padding-right: 4.55%;
}
/* div#maincolumn p {text-align: justify;} */
a.button_pagetop {
	display: block;
	padding: 0 4%;
	margin-right: -4%!important;
	margin-left: auto;
	width: fit-content;
	text-align: right;
	text-decoration: underline;
}
.contents {margin-bottom: 48px!important;}
p.contents.concept {
    margin-bottom: 100px !important;
	text-align: center;
	width: fit-content;
	position: relative;
	margin-top: 58px;
}
span.concept_text {
    display: block;
    line-height: 2.7;
    font-size: 14px;
}
p.contents.concept span:first-child {margin-bottom: 1.4em;}
p.contents.concept::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background: center / contain no-repeat url(https://nailsalonbleu.moo.jp/wp-content/uploads/2025/08/icon_double01_brown.png);
    position: absolute;
    top: -20px;
    left: -14x;
}
p.contents.concept::after {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background: center / contain no-repeat url(https://nailsalonbleu.moo.jp/wp-content/uploads/2025/08/icon_double02_brown.png);
    position: absolute;
    bottom: -20px;
    right: -20px;
}
div#maincolumn p {margin-bottom: 1em;}
div#maincolumn .bottom_24 {margin-bottom: 2em;}
div#maincolumn p.bottom_32 {margin-bottom: 32px;}
main#maincolumn_container ul.disc {
	list-style: disc;
	list-style-position: outside;
	padding-left: 1em;
}
main#maincolumn_container ul.disc li {margin-bottom: 12px;}
figure.pagetop {width: 100%;}
.bg_white {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 32px!important;
	padding: 2em 15px;
	background-color: #eee;
	width: fit-content;
}
.bg_white>p:last-child {margin-bottom: 0!important;}
/* ---------------------------------------- モバイルロゴ・メニュー ---------------------------------------- */
h1.logo_mp_black {
	position: fixed;
	top: 20px;
	left: 4%;
	z-index: 1000;
	width: 74px;
}
h1.logo_mp_black a {display: block;}
nav#mp_nav {
	width: fit-content;
	position: fixed;
	z-index: 1000;
	bottom: 5vh;
	left: 4%;
}
nav#mp_nav li {
	width: fit-content;
	line-height: 1;
}
nav#mp_nav a {
	writing-mode: vertical-rl;
	padding: 12px 2%;
	line-height: 1;
	font-size: 10px;
}
/* ---------------------------------------- 下層ページへのボタン ---------------------------------------- */
a.button_topage {
	line-height: 1;
	color: #000;
	border: 0.6px solid #000;
	padding: 20px 34px;
	border-radius: 50%;
	margin: 0 auto 48px;
	background: url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/arrow_right_000.png) no-repeat calc(100% - 18px) 50% / 8px 8px;
	display: block;
	width: 240px;
	text-align: center;
}
a.button_aboutpage {
	line-height: 1;
	color: #000;
	border: 0.6px solid #000;
	padding: 20px 34px;
	border-radius: 50%;
	margin: 0 auto;
	background: url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/arrow_right_000.png) no-repeat calc(100% - 18px) 50% / 8px 8px;
	display: block;
	width: 240px;
	text-align: center;
	background-color: #E1E0DF;
}
div#maincolumn p.button_comment {
    margin-bottom: 0.2em;
    text-align: center;
}
div.aboutpage_buttoncontainer1 {margin-bottom: 24px;}
div.aboutpage_buttoncontainer2 {margin-bottom: 24px;}
div.aboutpage_buttoncontainer3 {margin-bottom: 60px;}
div.aboutpage_buttoncontainer3 a.button_outside {margin: 0 auto;}
/* ---------------------------------------- 外部ページへのボタン ---------------------------------------- */
a.button_outside {
	line-height: 1;
	color: #000;
	border: 0.6px solid #000;
	padding: 20px 34px;
	border-radius: 50%;
	margin: 48px auto 24px;
	background: url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/arrow_upright_000.png) no-repeat calc(100% - 18px) 50% / 6px 6px;
	display: block;
	width: 240px;
	text-align: center;
}
/* ---------------------------------------- フッター ---------------------------------------- */
footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-bottom: 24px;
	padding-top: 32px;
	padding-left: 8%;
}
ul.sns_container {
	margin-bottom: 10px!important;
	display: flex;
}
a.insta_icon {
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	background: url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/icon_ig.png) no-repeat 50% 50% / 20px 20px;
}
a.line_icon {
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	background: url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/icon_line.png) no-repeat 50% 50% / 20px 20px;
}
small {font-size: 10px;}
/* ---------------------------------------- ABOUTページ ---------------------------------------- */
div.about_image_container {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	width: 100%;
}
div.about_image_container figure {width: calc((100% - 8px) / 2);}
figure.profile_image {
	width: 30%;
	margin-left: 0!important;
	margin-bottom: 32px;
	border-radius: 50%;
	overflow: hidden;
}
ul.ffv_menu li a {
	display: block;
	margin-bottom: 12px;
	line-height: 1;
	text-decoration-line: underline;
	text-decoration-style: solid;
	text-decoration-color: #463E3B;
}
/* ---------------------------------------- NAIL DESIGNページ ---------------------------------------- */
li.cat-item.cat-item-1 {display: none;}
ul.category_conatiner {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 32px!important;
}
ul.category_conatiner a {
	padding: 3px 12px 3px 0;
	margin-right: 12px;
}
ul.naildesign_query_box li {
	background-color: #eee;
	margin-bottom: 32px!important;
}
div.naildesign_query_container {margin-bottom: 48px;}
figure.naildesign_query_eyecatch img {
	aspect-ratio: 3 / 2;
	overflow: hidden;
}
h2.naildesign_query_title {
	text-align: center;
	padding-top: 24px;
	padding-bottom: 24px;
}
nav.naildesign_query_pagenation {justify-content: center;}
.wp-block-query-pagination>.wp-block-query-pagination-next, .wp-block-query-pagination>.wp-block-query-pagination-numbers, .wp-block-query-pagination>.wp-block-query-pagination-previous {margin-right: 12px;}
nav.naildesign_query_pagenation div a, nav.naildesign_query_pagenation div span {padding: 0 6px;}
nav.naildesign_query_pagenation div span {text-decoration: underline;}
div#post-268 li.cat-item-5 a, div#post-272 li.cat-item-6 a, div#post-270 li.cat-item-7 a, div#post-266 li.cat-item-8 a, div#post-262 li.cat-item-9 a, div#post-40 li.cat-item-10 a {
	position: relative;
	text-decoration-line: line-through;
	text-decoration-style: solid;
	text-decoration-color: #463E3B;
}
/* ---------------------------------------- PRICEページ ---------------------------------------- */
body.page-id-44 main#maincolumn_container ul.bg_white.disc {
	list-style: inside;
	padding: 2em 2em 12px 2em;
}
body.page-id-44 main#maincolumn_container ul.disc li {
	margin-bottom: 12px;
	line-height: 1;
}
p.price_cap {color: #777;}
dl.price_row {
	display: flex;
	justify-content: space-between;
	width: 100%;
	align-items: center;
	position: relative;
	margin-bottom: 24px!important;
}
dl.price_row::before {
	width: 100%;
	content: "";
	position: absolute;
	height: 1px;
	background-color: #eee;
	z-index: 0;
	top: 50%;
	left: 0;
}
dl.price_row dt, dl.price_row dd {
	background-color: #E1E0DF;
	z-index: 100;
}
dl.price_row dt {padding-right: 1em;}
dl.price_row dd {padding-left: 1em;}
div#maincolumn p.price_cap {
	margin-top: -20px;
	margin-bottom: 24px;
}
a.button_tonaildesign {
	display: block;
	width: fit-content;
	margin-right: 0!important;
	margin-left: auto;
	margin-bottom: 32px;
	text-decoration: underline;
	line-height: 1;
	padding: 0;
	background: url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/arrow_right_463e3b.png) no-repeat 100% 50% / 8px 8px;
}
.bg_white h4.title_small {
	margin-top: 0;
	margin-bottom: 32px!important;
}
ul.disc.gray li {color: #777;}
ul.disc.gray {margin-bottom: 32px!important;}
/* ----- 20250724追記 ----- */
div.bg_beige {
    background-color: #d6d3d0;
    padding: 2em 15px;
	margin-bottom: 2em;
}
div#maincolumn div.bg_beige p.fee_cap {
    margin-top: -1em;
    color: #777;
    line-height: 1.4;
	word-break: break-all;
	position: relative;
	margin-left: 18px;
}
div#maincolumn div.bg_beige p.fee_cap::before {
    content: "↳";
    width: 14px;
    height: 14px;
    display: inline-block;
    /* color: #000; */
    position: absolute;
    left: -18px;
}
div.bg_white p.black {margin-bottom: 0.6em !important;}
div.toonlineshop_container {
    border: 1px solid #000;
    padding: 15px;
    text-align: center;
    background: #d6d3d0;
    border-radius: 14px;
}
div.toonlineshop_container a.button_outside {
    margin-top: 2em;
    margin-bottom: 1em;
}
/* ---------------------------------------- ACCESSページ ---------------------------------------- */
iframe {
	margin-bottom: 24px!important;
	width: 100%;
	height: auto!important;
	aspect-ratio: 3 / 2;
	}
/* ---------------------------------------- モーダル ---------------------------------------- */
a.popmake-230.pum-trigger {
	text-decoration: underline;
	padding: 6px 0;
}
html.pum-open.pum-open-overlay.pum-open-scrollable body>:not([aria-modal=true]) {padding-right: 0!important;}
div#pum-230 {
	background-color: rgba(0, 0, 0, 0.3);
	padding: 0;
}
div#popmake-230 {
	width: 92%;
	max-width: 395.6px!important;
	top: 50%!important;
	left: 50%!important;
	transform: translate(-50%, -50%);
	background-color: #eee;
	padding: 24px 15px;
	box-shadow: 1px 1px 6px 0px rgba( 0, 0, 0, 0.2 );
	margin-left: 0;
}
div#pum_popup_title_230 {
	font-size: 14px;
	text-shadow: none;
	line-height: 1;
	margin-bottom: 32px;
}
div#popmake-230 p {margin-bottom: 12px;}
#popmake-230 .pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close {
	color: #463E3B;
	background-color: transparent;
	font-size: 24px;
	line-height: 36px;
	box-shadow: none;
	border: none;
	text-shadow: none;
	padding: 0px 12.4px;
}
/* ------------------------------------------------------------ Tab縦　431~1023px ------------------------------------------------------------ */
@media screen and (min-width: 431px) and (max-width: 1023px) {
	/* ---------------------------------------- 画面全体の切り替え ---------------------------------------- */
	div#aside_pcimage {
		display: block;
		position: fixed;
		z-index: 0;
		width: 100vw;
		height: 100vh;
		top: 0;
		left: 0;
		overflow: hidden;
	}
	div#aside_pcimage figure.pc_rightimage img {
		height: 100vh!important;
		width: auto;
		min-width: 100%;
		object-fit: cover;
		object-position: left top;
	}
	/* ---------------------------------------- モバイルロゴ・メニュー ---------------------------------------- */
	h1.logo_mp_black {left: calc((100vw - 430px) / 2 + 2%);}
	nav#mp_nav {left: calc((100vw - 430px) / 2 + 17.2px);}
}
/* ------------------------------------------------------------ Tab横〜PC　1024px以上 ------------------------------------------------------------ */
@media screen and (min-width: 1024px) {
	/* ---------------------------------------- 画面全体の切り替え ---------------------------------------- */
	div#aside_pcimage {
		display: block;
		position: fixed;
		z-index: 0;
		width: calc((100vw - 430px) / 2);
		height: 100vh;
		top: 0;
		left: auto;
		right: 0;
		overflow: hidden;
	}
	div#aside_pcimage figure.pc_rightimage img {
		height: 100vh!important;
		width: auto;
		min-width: 100%;
		object-fit: cover;
		object-position: left top;
	}
	div#aside_pcmenu {
		display: flex;
		width: calc((100vw - 430px) / 2);
		position: fixed;
		left: 0;
		top: 0;
		height: 100vh;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	div#maincolumn header {display: none;}
	div#main {width: 100vw;}
	figure.logo_pcblack img {
		width: 110px;
/* 		margin-left: -6.7%; */
	}
	nav#pc_nav {margin-top: 24px;}
	nav#pc_nav li a {
		display: inline-block;
		padding: 12px;
		line-height: 1;
	}
	div.pc_nav_box {
		position: absolute;
		top: 45%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	footer {padding-left: 0;}
	/* ---------------------------------------- 各ページの調整 ---------------------------------------- */
	main#maincolumn_container {
		width: 92%;
		margin-left: 4%!important;
		padding: 0;
	}
	div.inner_container {padding-right: 0;}
	/* ---------------------------------------- a ---------------------------------------- */
	a:not(.button_toabout):hover, a:not(.button_toabout):active {
		color: #777;
		transition: 0.3s;
	}
	a:not(.button_toabout):visited {color: #463E3B;}
	a.button_outside:hover {
		background: #eee url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/arrow_upright_000.png) no-repeat calc(100% - 18px) 50% / 6px 6px;
		transition: 0.3s;
	}
	a.button_toabout:hover {
		background:rgba(225, 224, 223, 0.3) url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/arrow_right_eee.png) no-repeat calc(100% - 18px) 50% / 8px 8px;
		transition: 0.3s;
	}
	a.button_topage:hover, a.button_aboutpage:hover {
		background: #eee url(https://nailsalonbleu.moo.jp/wp-content/uploads/2023/10/arrow_right_000.png) no-repeat calc(100% - 18px) 50% / 8px 8px;
		transition: 0.3s;
	}
	nav#pc_nav a:hover {
		position: relative;
		text-decoration-line: line-through;
		text-decoration-style: solid;
		text-decoration-color: #463E3B;
	}
}
/* ------------------------------------------------------------ TOP動画切り替えTab横〜PC　835px以上 ------------------------------------------------------------ */
@media screen and (min-width: 835px) {
	figure.logo_top_mp {width: 160px;}
	figure.top_movie_mp {display: none;}
	figure.top_movie_pc {
		display: block;
		height: 100vh;
		max-height: 100vh;
		line-height: 1;
		overflow: hidden;
	}
	figure.top_movie_pc video {
		height: 100vh;
		object-fit: cover;
	}
	
}