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


/*---テキスト左右中-----------------------------------------------------------------*/
.t-l {text-align:left !important;}
.t-c {text-align:center !important;}
.t-r {text-align:right !important;}

.v-top{vertical-align:top !important;}
.v-mid{vertical-align:middle !important;}
.v-bot{vertical-align:bottom !important;}

/*---display------------------------------------------------------------------------*/
.d-i{display:inline !important;}
.d-ib{display:inline-block !important;}
.d-b{display:block !important;}
.d-f{
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
  	flex-wrap: wrap;
 	-webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
/*---vislible------------------------------------------------------------------------*/
.v-hid{visibility:hidden !important;}

/*---position------------------------------------------------------------------------*/
.p-a{position:absolute !important;}
.p-r{position:relative !important;}
.p-f{position:fixed !important;}
.p-s{position:static !important;}
@media screen and (max-width:969px) {
.p-pconly{position:static !important;}
}

/*---字間---------------------------------------------------------------------------*/
.ls05 {letter-spacing: 0.05em;}
.ls09 {letter-spacing: 0.09em;}
.ls1 {letter-spacing: 0.1em;}

/*---マージン-----------------------------------------------------------*/
.mb0 {margin-bottom:0px !important;}
.mb3 {margin-bottom:3px !important;}
.mb5 {margin-bottom:5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.mb30 {margin-bottom:30px !important;}
.mb40 {margin-bottom:40px !important;}
.mb50 {margin-bottom:50px !important;}
.mt0 {margin-top:0px !important;}
.mt1 {margin-top:1px !important;}
.mt3 {margin-top:3px !important;}
.mt5 {margin-top:5px !important;}
.mt10 {margin-top:10px !important;}
.mt15 {margin-top:15px !important;}
.mt20 {margin-top:20px !important;}
.mt30 {margin-top:30px !important;}
.mt40 {margin-top:40px !important;}
.mt50 {margin-top:50px !important;}
.ml5 {margin-left:5px !important;}
.ml10 {margin-left:10px !important;}
.ml20 {margin-left:20px !important;}
.mr5 {margin-right:5px !important;}
.mr10 {margin-right:10px !important;}
.mr20 {margin-right:20px !important;}
.mr30 {margin-right:30px !important;}
.mlr0 {margin-right:0px !important; margin-left:0px !important;}
.mlr5 {margin-right:5px !important; margin-left:5px !important;}
.mlr10 {margin-right:10px !important; margin-left:10px !important;}
.mlr15 {margin-right:15px !important; margin-left:15px !important;}
.mlr20 {margin-right:20px !important; margin-left:20px !important;}
.mlr30 {margin-right:30px !important; margin-left:30px !important;}
.mtb0 {margin-top:0px !important; margin-bottom:0px !important;}
.mtb5 {margin-bottom:5px !important; margin-top:5px !important;}
.mtb10 {margin-top:10px !important; margin-bottom:10px !important;}
.mtb15 {margin-top:15px !important; margin-bottom:15px !important;}
.mtb20 {margin-top:20px !important; margin-bottom:20px !important;}
.mtb30 {margin-top:30px !important; margin-bottom:30px !important;}
.mtb40 {margin-top:40px !important; margin-bottom:40px !important;}
.mtb50 {margin-top:50px !important; margin-bottom:50px !important;}
.m0{margin:0 !important;}
.m5{margin:5px !important;}
.m10{margin:10px !important;}
.m15{margin:15px !important;}
.m20{margin:20px !important;}
.m30{margin:30px !important;}
.mha{margin:0 auto !important;}
.mva{margin:auto 0 !important;}

@media screen and (max-width:969px) {
.mrpconly{margin:0 !important;}
}

/*---パディング-----------------------------------------------------------*/
.pb0 {padding-bottom:0px !important;}
.pb3 {padding-bottom:3px !important;}
.pb5 {padding-bottom:5px !important;}
.pb10 {padding-bottom:10px !important;}
.pb20 {padding-bottom:20px !important;}
.pb30 {padding-bottom:30px !important;}
.pt0 {padding-top:0px !important;}
.pt1 {padding-top:1px !important;}
.pt3 {padding-top:3px !important;}
.pt5 {padding-top:5px !important;}
.pt10 {padding-top:10px !important;}
.pt15 {padding-top:15px !important;}
.pt20 {padding-top:20px !important;}
.pt30 {padding-top:30px !important;}
.pl0 {padding-left:0px !important;}
.pl5 {padding-left:5px !important;}
.pl10 {padding-left:10px !important;}
.pl15 {padding-left:15px !important;}
.pl20 {padding-left:20px !important;}
.pl30 {padding-left:30px !important;}
.pr0 {padding-right:0px !important;}
.pr5 {padding-right:5px !important;}
.pr10 {padding-right:10px !important;}
.pr15 {padding-right:15px !important;}
.pr20 {padding-right:20px !important;}
.pr30 {padding-right:30px !important;}
.plr0 {padding-right:0px !important; padding-left:0px !important;}
.plr5 {padding-right:5px !important; padding-left:5px !important;}
.plr10 {padding-right:10px !important; padding-left:10px !important;}
.plr15 {padding-right:15px !important; padding-left:15px !important;}
.plr20 {padding-right:20px !important; padding-left:20px !important;}
.plr30 {padding-right:30px !important; padding-left:30px !important;}
.ptb0 {padding-top:0px !important; padding-bottom:0px !important;}
.ptb5 {padding-bottom:5px !important; padding-top:5px !important;}
.ptb10 {padding-top:10px !important; padding-bottom:10px !important;}
.ptb15 {padding-top:15px !important; padding-bottom:15px !important;}
.ptb20 {padding-top:20px !important; padding-bottom:20px !important;}
.ptb30 {padding-top:30px !important; padding-bottom:30px !important;}
.ptb40 {padding-top:40px !important; padding-bottom:40px !important;}
.ptb50 {padding-top:50px !important; padding-bottom:50px !important;}
.p0{padding:0 !important;}
.p5 {padding:5px !important;}
.p8 {padding:8px !important;}
.p10 {padding:10px !important;}
.p15 {padding:15px !important;}
.p20 {padding:20px !important;}

@media screen and (max-width:969px) {
.pdpconly{padding:0 !important;}
}

/*---ボーダー------------------------------------------------------------------------*/
.bd1{border:1px solid #ccc !important;}
.bdt1{border-top:1px dotted #ccc !important;}
.bdr1{border-right:1px solid #ccc !important;}
.bdb1{border-bottom:1px solid #ccc !important;}
.bdl1{border-left:1px solid #ccc !important;}
.bd0{border:none !important;}
.bdt0{border-top:none !important;}
.bdb0{border-bottom:none !important;}
.bdl0{border-left:none !important;}
.bdr0{border-right:none !important;}

hr{color:#fff !important; border-bottom:none; border-top:1px dotted #ddd !important; margin: 1em 0 0 !important;}

/*---文字---------------------------------------------------------------------------*/
.w_bold{font-weight:bold;}
.w_normal {font-weight:normal;}
.br-all{word-break:break-all;}
.fs-1 {font-size: 2.5rem;}
.fs-2 {font-size: 2rem;}
.fs-3 {font-size: 1.75rem;}
.fs-4 {font-size: 1.5rem;}
.fs-5 {font-size: 1.25rem;}
.fs-6 {font-size: 1rem;}

/*---フロート-----------------------------------------------------------------------*/
.fll {float:left;}
.flr {float:right;}
.clear{clear:both;}

/*---pcオンリー・spオンリー-----------------------------------------------------------------------*/
@media screen and (max-width:767px) {
.spOff{display:none !important;}
.spBlock{display:block !important;}
.spwdfull{width:100% !important; margin-bottom:20px;}
.spdb{display:block !important;}
}
@media screen and (min-width:769px) {
.pcOff{display:none !important;}
}

/*---GoogleMap・youtube------------------------------------------------------------------*/
.g-map,.y-tube {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.g-map iframe,.y-tube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* 点滅 */
.blinkF{
	-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/*テーブル*/
.outline {
width: 100%;
}

.outline th,
.outline td {
border: 1px solid #ccc;
padding: 16px;
}

.outline th {width: 25%;
background-color: #ededed; 
}

@media screen and (max-width: 731px) {
.outline,
.outline tr,
.outline td,
.outline th {display:block;}
.outline th {width:auto;}
}

/*---------------------レスポンシブ---------------------*/
.pc-only{display:block;}
@media(max-width:768px){.pc-only{display:none;}}
.mb-only{display:none;}
@media(max-width:768px){.mb-only{display:block;}
	.mb-t-c{text-align:center;}
}
/*--------------------- Contact Form7 ---------------------*/
 
.contact7 {
	max-width: 100%;
	box-sizing: border-box;
}
.contact7 dd {
	margin: 0 0 30px 0;
	background-color:
}
.contact7 dt {
	font-weight: normal;
}
 
/* 必須マーク */
.contact7 .must {
	background: #54c3f1;
}
 
/* 任意マーク */
.contact7 .optional {
	background: #999;
}
 
.contact7 .must,
.contact7 .optional {
	color: #FFF;
	border-radius: 3px;
	font-size: 10px;
	margin-left: 10px;
	padding: 5px 10px;
	letter-spacing: 2px;
}
.btn_contact7 {
	text-align: center;
}
.btn_contact7 input {
	width: 70%;
	background-color: #005513;
	color: #FFF;
	font-size: 1.1em;
	font-weight: bold;
	letter-spacing: 0.2em;
	border: 1px solid #005513;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;	
}
.btn_contact7 input:hover {
	background-color: #FFF;
	color: #005513; 
}
::placeholder {
    color: #abaeae !important;
}

@media(max-width:767px){
	#text-2 .su-column.su-column-size-1-3 div p:last-child,
	#text-2 .su-column.su-column-size-2-3 p:first-child{
		display:none;
	}
	#text-2 .su-column.su-column-size-2-3{
		margin-top:0;
	}
	#text-2 .su-column.su-column-size-2-3 p.h3{
		margin-top:1em;
	}
}
@media(max-width:991px){
	.subSection{
		display:none;
	}
	#text-2 .su-column.su-column-size-2-3{
		margin-bottom: 3em;
	}
}

/* 汎用 ----------------------------------------------------------------- */
body {
/* 	font-family: "Noto Sans JP", sans-serif; */
	font-family: "BIZ UDPGothic", sans-serif;
}
p a {
    color: var(--vk-color-custom-3);
    text-decoration: underline var(--vk-color-custom-3);
}
a:hover {
	color: var(--vk-color-primary);
}
.alert-info {
	display: none;
}
.home header#site-header,
.post-name-resetplan header#site-header,
.post-name-campaign header#site-header,
.post-name-fasting header#site-header {
    position: fixed;
}
header#site-header {
	box-shadow: unset;
}
.page-header.title_bg {
    margin-top: 0 !important;
}

section.sectionBox {
    margin: 0 calc(50% - 50vw);
    padding: 5rem calc(50vw - 50%);
}
.bg04 {
	background-color: var(--vk-color-custom-4);
}
h2.section_title {
	text-align: center;
	font-size: 2.4rem;
	font-weight: normal;
	margin-bottom: 3rem;
}
section.SectionShade {
    position: relative;
}
section.SectionShade + .sectionBox {
    padding-top: 8rem;
	z-index: 0;
}
section.SectionShade:before {
	content: "";
	width: 100%;
	height: 100px;
	display: block;
	position: absolute;
	left: 0;
	bottom: -100px;
	background-color: var(--vk-color-custom-4);
	clip-path: polygon(100% 0%, 0% 100%, 0% 0%);
	z-index: 2;
}
section.SectionShade:after {
	content: "";
	width: 100%;
	height: 100px;
	display: block;
	position: absolute;
	left: 0;
	bottom: -100px;
	background-color: var(--vk-color-custom-4);
	clip-path: polygon(100% 100%, 0% 0%, 100% 0%);
	opacity: 0.6;
	z-index: 1;
}
.bgSet {
	background-color: #ffe9a7;
	opacity: 0.4;
	z-index: -1;
}
.bgWavy {
	background-image:  repeating-radial-gradient( circle at 0 0, transparent 0, #ffe9a7 20px ), repeating-linear-gradient( #ffc10755, #ffc107 );
}
@media(max-width:767px){
	h2.section_title {
		    font-size: 1.8rem;
	}
}
/* スクロールフェードイン */
.js_fadein {
	opacity: 0;
	visibility: hidden;
	transform: translateY(20%);
	/* 	transition: opacity 1s, visibility 1s, transform 1s; */
	transition: -webkit-transform 2s cubic-bezier(0.075, 0.82, 0.165, 1);
	transition: transform 2s cubic-bezier(0.075, 0.82, 0.165, 1);
}
.js_fadein.leftIn {
	transform: translateY(0%);
	transform: translateX(-20%);
}
.js_fadein.rightIn {
	transform: translateY(0%);
	transform: translateX(20%);
}
.is_start.js_fadein {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}

.required {
    margin-left: 5px;
    background-color: #c00;
    color: #fff;
    padding: 0px 5px;
    font-size: 0.7rem;
    font-weight: normal;
    border-radius: 5px;
    display: inline-block;
    line-height: 1.1rem;
}


/* ヘッダー ------------------------------------------------------------- */
.header_scrolled .header-top,
.header_scrolled .site-header-logo,
.header_scrolled .site-header-sub,
.header_scrolled .vk-campaign-text {
    display: block;
}
.nav li a, nav li a strong {
/*   color: #f2668f; */
/*   font-weight: normal; */
}
nav li a:hover {
	color: var(--vk-color-primary);
}

/* フッター ------------------------------------------------------------- */
ul#menu-footer_sitemap li a {
    color: #fff;
    border-color: #fff;
    background-color: var(--vk-color-custom-3);
	transition: 0.2s;
	font-weight: bold;
    line-height: 1.1rem;
}
ul#menu-footer_sitemap li a:hover {
    background-color: #fff;
	color: var(--vk-color-custom-3);
}
.site-footer-copyright p {
    color: #fff;
}
.page_top_btn {
    box-shadow: none;
    border-radius: 5px;
}
@media(max-width:767px){
	ul#menu-footer_sitemap {
		margin-bottom: 2rem;
	}
}

/* スマホボタン ---------------------------------------------------------------------- */
@media(max-width:991px){
	:not(.home) .navSection {
		min-height: auto;
	}
}
@media(max-width:767px){
    .navClumn > div:first-child {
        display: none;
    }
}
div#vk-mobile-nav {
    background-color: #fff6eff2;
	padding: 80px 10px;
}
.vk-mobile-nav nav>ul {
    border-top: none;
}
.vk-mobile-nav nav ul li a {
    color: #333;
	font-size: 1.2rem;
    border-bottom: none;
	padding: 1rem;
	text-align: center;
	background-color: #fff;
	height: 100%;
	display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
	border: 2px dashed #ccc;
	transition: 0.2s;
}
.vk-mobile-nav nav ul li a:hover {
    background-color: var(--vk-color-custom-3);
    color: #fff;
}
div#vk-mobile-nav-menu-btn {
	display: none;
}
body div#vk-mobile-nav-menu-btn.spNavBtn {
	display: block;
}
.vk-mobile-nav-menu-btn.position-right {
	right: 25px;
	top: 27px;
}
@media (min-width: 992px) {
	body.device-pc .vk-mobile-nav-menu-btn,
	body.device-pc .vk-mobile-nav {
		display: block;
	}
	.vk-mobile-nav-menu-btn {
		width: 60px;
		height: 60px;
	}	
	div#vk-mobile-nav nav ul > li {
		width: 33.333%;
		padding-left: 0.5rem;
		padding-right: 0.5rem;
		margin-bottom: 1rem;
	}
	div#vk-mobile-nav nav ul {
		display: flex;
		flex-wrap: wrap;
		margin-left: -0.5rem;
		margin-right: -0.5rem;
	}
	.admin-bar .vk-mobile-nav-menu-btn.position-right {
		top: 60px;
	}
}
@media(max-width:991px){
	.vk-mobile-nav-menu-btn.position-right {
		top: 15px;
	}
	.admin-bar .vk-mobile-nav-menu-btn.position-right {
		top: 47px;
	}
}
@media(max-width:782px){
	.admin-bar .vk-mobile-nav-menu-btn.position-right {
		top: 60px;
	}
}
@media(max-width:767px){
	.site-header-logo img {
		max-height: 35px;
		margin-left: 0;
	}
    .vk-mobile-nav-menu-btn.position-right {
        right: 10px;
        top: 10px;
    }
	.admin-bar .vk-mobile-nav-menu-btn.position-right {
		top: 53px;
	}
}
/*=============================
.btn-trigger
=============================*/
.btn-trigger {
	position: fixed;
	width: 35px;
	height: 30px;
	cursor: pointer;
	z-index: 9999;
	background: unset !important;
	border: none !important;
	overflow: unset;
}
.btn-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #000;
}
.btn-trigger, .btn-trigger span {
	display: inline-block;
	transition: all .5s;
	box-sizing: border-box;
}
.btn-trigger span:nth-of-type(1) {
	top: 0;
}
.btn-trigger span:nth-of-type(2) {
	top: 14px;
}
.btn-trigger span:nth-of-type(3) {
	bottom: 0;
}

/*=============================
#spNavBtn
=============================*/
.spNavBtn::after {
	position: absolute;
/* 	top: 55%;
    left: 50%; */
    display: block;
    content: '';
    width: 50px;
    height: 50px;
/* 	margin: -45px 0 0 -45px; */
	border-radius: 50%;
	border: 2px solid transparent;
	transition: all .75s;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
}
.spNavBtn.active span:nth-of-type(1) {
  -webkit-transform: translateY(15px) rotate(-45deg);
  transform: translateY(15px) rotate(-45deg);
}
.spNavBtn.active span:nth-of-type(2) {
  left: 60%;
  opacity: 0;
  -webkit-animation: active-spNavBtn-bar02 .8s forwards;
  animation: active-spNavBtn-bar02 .8s forwards;
}
@-webkit-keyframes active-spNavBtn-bar02 {
  100% {
    height: 0;
  }
}
@keyframes active-spNavBtn-bar02 {
  100% {
    height: 0;
  }
}
.spNavBtn.active span:nth-of-type(3) {
  -webkit-transform: translateY(-13px) rotate(45deg);
  transform: translateY(-13px) rotate(45deg);
}
.spNavBtn.active::after {
  -webkit-animation: active-spNavBtn .7s .25s forwards;
  animation: active-spNavBtn .7s .25s forwards;
}
@-webkit-keyframes active-spNavBtn {
  0% {
    border-color: transparent;
    -webkit-transform: translate(-50%, -50%) rotate(0);
  }
  25% {
    border-color: transparent #000 transparent transparent;
  }
  50% {
    border-color: transparent #000 #000 transparent;
  }
  75% {
    border-color: transparent #000 #000 #000;
  }
  100% {
    border-color: #000;
    -webkit-transform: translate(-50%, -50%) rotate(-680deg);
  }
}
@keyframes active-spNavBtn {
  0% {
    border-color: transparent;
    transform: translate(-50%, -50%) rotate(0);
  }
  25% {
    border-color: transparent #000 transparent transparent;
  }
  50% {
    border-color: transparent #000 #000 transparent;
  }
  75% {
    border-color: transparent #000 #000 #000;
  }
  100% {
    border-color: #000;
    transform:  translate(-50%, -50%) rotate(-680deg);
  }
}

/* フッター --------------------------------------------------------- */
.site-footer {
	background-color: var(--vk-color-custom-3);
}

/* TOP ------------------------------------------------------------- */
.topMovie {
    position: relative;
}
.topMovie video {
    object-fit: cover;
    height: 100vh;
    object-position: center;
    width: 100%;
	display: block;
}
.topMovieBox {
	position: absolute;
	top: 70%;
	left: 30%;
	transform: translate(-50%, -30%) !important;
	background-color: #fffbf8f2;
	text-align: center;
	padding: 3rem;
	width: 500px;
	height: 500px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	border-radius: 500px;
}
.topMovieBox.is_start {
	transform: translate(-50%, -50%) !important;
}
.topMovieBox h2 {
    font-size: 3rem;
    font-weight: normal;
	margin-bottom: 1rem;
}
.topMovieBox p {
	margin-bottom: 0;
}
@media(max-width:767px){
	.topMovieBox {
		left: 50%;
		width: 400px;
		height: 400px;
	}
	.topMovieBox h2 {
		font-size: 2rem;
	}
}

.topFirstSection {
	position: relative;
	z-index: 0;
	overflow: hidden;
}
.topFirstSection:before {
    content: "";
    max-width: 800px;
    height: 120%;
    position: absolute;
    display: block;
    background-image: url(/wp-content/themes/NhLabo/_g3/assets/images/logomark.svg);
    background-repeat: no-repeat;
    background-position: right;
    background-size: contain;
    width: 100%;
    z-index: -1;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.4;
}
.topFirstSection h2 {
	text-align: left;
	font-size: 3rem;
	font-weight: normal;
	margin-bottom: 6rem;
}
.topFirstSection h2 span {
    font-size: 1.8rem;
}
.topFirstSection h3 {
	font-weight: normal;
    font-size: 1.8rem;
	text-align: center;
}
.topFirstSection p {
	text-align: center;
}
@media(max-width:767px){
	.topFirstSection h2 {
		font-size: 2.2rem;
	}
	.topFirstSection h3 {
		text-align: left;
		font-size: 1.4rem;
	}
	.topFirstSection p {
		text-align: left;
	}
}
/* 想い */
.mindSection h3 {
	font-weight: normal;
	font-size: 1.8rem;
	text-align: center;
}
.mindInner {
    position: relative;
    display: flex;
    flex-wrap: wrap;
	align-items: center;
	margin: 6rem auto 6rem;
	max-width: 1000px;
}
.mindImage {
    width: 70%;
    margin-bottom: 7rem;
	position: relative;
}
.mindImage img {
    display: block;
}
.mindImage .mindImageTxt {
    position: absolute;
    bottom: -2rem;
    color: #fff;
    font-size: 8rem;
    font-weight: bold;
    line-height: 8rem;
    opacity: 0.8;
    left: 1rem;
}
.mindBox {
    background-color: #fff;
    width: 50%;
    padding: 2rem 2.5rem;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    display: flex;
	flex-wrap: wrap;
    align-items: center;
}
.mindBox h4 {
	font-size: 3rem;
	color: var(--vk-color-custom-3);
	width: 100%;
	text-align: center;
	margin-bottom: 1rem;
}
.mindBox p {
    margin-bottom: 0;
    font-size: 1.2rem;
}
.mindInner:nth-of-type(2) .mindImage {
	margin-left: auto;
}
.mindInner:nth-of-type(2) .mindImage .mindImageTxt {
    left: unset;
    right: 0rem;
}
.mindInner:nth-of-type(2) .mindBox {
	right: unset;
	left: 0;
}
@media(max-width:767px){
	.mindSection h3 {
		font-size: 1.3rem;
	}
	.mindImage {
		width: 100%;
		margin-bottom: 0;
	}
	.mindImage .mindImageTxt {
		font-size: 4rem;
		line-height: 4rem;
		bottom: 0;
	}
	.mindBox {
		width: 100%;
		height: auto;
		margin-top: 0;
		position: relative;
		flex-wrap: wrap;
		padding: 1.5rem 2rem;
	}
	.mindBox h4 {
		font-size: 2rem;
	}
	.mindBox p {
		text-align: left;
		font-size: 1rem;
	}
}
/* 選ばれる理由 */
.topReason {
	counter-reset: number 0;
}
.topReason .row > div {
    margin-bottom: 5rem;
}
.trBox {
    padding: 1rem 1.5rem;
/*     height: 100%; */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    font-size: 1.4rem;
/*     background-color: #fff; */
/*     border-radius: 15px; */
/*     box-shadow: 0 0 30px #ccc; */
}
.topReason .row > div:nth-child(3n-1) .trBox {
    margin-top: 4rem;
}
.trBox:before {
	counter-increment: number 1;
    content: counter(number) " ";
    color: #fff;
    font-weight: bold;
    font-size: 2rem;
    line-height: 5rem;
    background-color: var(--vk-color-custom-3);
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 70px;
    margin: 0 auto 0.5rem;
    margin-top: calc(-2rem + -15px);
}
.trBox p {
    width: 100%;
	    margin-bottom: 0;
}
@media(max-width:767px){
	.topReason .row > div {
		margin-bottom: 3rem;
	}
	.trBox {
/* 		padding: 0; */
		height: auto;
	}
	.trBox:before {
		font-size: 1.4rem;
		width: 40px;
		height: 40px;
		line-height: 2rem;
		margin-top: calc(-1.4rem + -15px);
	}
	.topReason .row > div:nth-child(3n-1) .trBox {
		margin-top: 0;
	}
	.trBox p {
		font-size: 1rem;
	}
}
/* お客様の声 */
.voiceSection .row > div {
	margin-bottom: 2rem;
}
.voiceBox {
    padding: 1.5rem 2rem;
    height: 100%;
	display: flex;
    flex-direction: column;
	background-color: #fff;
}
.voiceBox h3 {
    font-size: 1.2rem;
}
.voiceBox p.mini {
    font-size: 0.8rem;
    margin-bottom: 0;
	margin-top: auto;
}

/* サービス一覧 */
.serviceSection .row > div {
	margin-bottom: 2rem;
}
.serviceSection > h3 {
    font-weight: normal;
    margin-bottom: 3rem;
}
.top_block {
    display: flex;
	flex-wrap: wrap;
	height: 100%;
}
.tb_img {
    width: 45%;
}
.tb_img img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    aspect-ratio: 1 / 1;
	object-position: center;
}
.tb_inner {
    width: 55%;
	padding: 1.5rem;
    background-color: var(--vk-color-custom-4);
	display: flex;
    flex-direction: column;
}
.tb_inner h3 {
    font-weight: normal;
    margin-bottom: 1rem;
	font-size: 1.3rem;
}
.tb_inner p:last-child {
    margin-bottom: 0;
	margin-top: auto;
}
.tb_inner a {
    display: block;
    background-color: #000;
    color: #fff;
    padding: 0.5rem 1.5rem;
    text-decoration: none;
	transition: 0.2s;
	border: 1px solid #000;
	font-size: 0.9rem;
	max-width: 160px;
}
.tb_inner a:hover {
	background-color: #fff;
	color: #000;
}
.serviceBottom {
    text-align: center;
}
.serviceBottom h3 {
    font-weight: normal;
}
.serviceBottom a {
    display: block;
    background-color: #000;
    color: #fff;
    padding: 0.5rem 1.5rem;
    text-decoration: none;
	transition: 0.2s;
	border: 1px solid #000;
	font-size: 0.9rem;
	max-width: 200px;
	margin: 0 auto;
}
.serviceBottom a:hover {
	background-color: #fff;
	color: #000;
}
@media(max-width:767px){
	.tb_img,
	.tb_inner {
		width: 100%;
	}
	.tb_inner a {
		text-align: center;
		margin: 0 auto;
	}
	.serviceBottom h3 {
		font-size: 1.2rem;
	}
}

.topInfoSection > .row > div {
    margin-bottom: 2rem;
}
.topInfoSection h3 {
    font-size: 3.5rem;
    line-height: 3.5rem;
	margin-bottom: 0;
	font-weight: normal;
}
.topInfoSection h3 span {
    font-size: 1.2rem;
    width: 100%;
    display: block;
}
.post-list-loop .post_inner {
    font-size: 1rem;
    margin-bottom: 1rem;
}
.post-list-loop .post_inner p {
    margin-bottom: 0;
}
.post-list-loop .post_inner a {
    color: #000;
    display: block;
	text-decoration: none;
	background-color: #fff;
	padding: 0.5rem 1rem;
	transition: 0.2s;
}
.post-list-loop .post_inner a:hover {
    background-color: var(--vk-color-custom-3);
    color: #fff;
}
.post-list-loop .post_inner a .active {
    background-color: var(--vk-color-custom-2);
    display: inline-block;
    padding: 0px 15px;
    color: #fff;
    font-size: 0.9rem;
}
.about_link a {
    display: inline-block;
    border-bottom: 1px solid;
    color: #000;
}
.about_link a:hover {
	color: var(--vk-color-custom-3);
}

/* LINE */
.topLine {
    display: flex;
    flex-wrap: wrap;
    box-shadow: 0 0 30px 5px #ccc;
	background-color: #fff;
}
.topLineInner:first-child {
    width: 40%;
}
.topLineInner:last-child {
	width: 60%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
	padding: 2rem;
}
.topLineInner img {
    display: block;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.topLineBox {
    max-width: 500px;
}
.topLineBox h3 {
    font-size: 2rem;
    font-weight: normal;
	margin-bottom: 1rem;
	position: relative;
padding-left: 55px;
}
.topLineInner h3 img {
    display: block;
    width: 45px;
    vertical-align: bottom;
    position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	object-fit: contain;
}
.topLineBox .lineLink a {
	display: block;
	background-color: #000;
	color: #fff;
	padding: 0.5rem 1.5rem;
	border: 1px solid #000;
	max-width: 300px;
	text-align: center;
	text-decoration: none;
	transition: 0.2s;
	margin: 0 auto;
}
.topLineBox .lineLink a:hover {
	color: #000;
	background-color: #fff;
}
@media(max-width:767px){
	.topLineInner:first-child,
	.topLineInner:last-child {
		width: 100%;
		padding: 0;
	}
	.topLineBox {
		padding: 1.5rem;
	}
	.topLineBox h3 {
		font-size: 1.4rem;
		margin: 0 auto 1rem;
		max-width: 250px;
	}
	.topLineBox > p {
		text-align: center;
		margin: 0 auto 1rem;
	}
}

/* Q&A */
.qaBox {
    max-width: 700px;
    margin-bottom: 7px;
    border-bottom: 2px solid #000;
    margin: 0 auto 5px;
}
.qaBox:last-of-type {
	margin-bottom: 2rem;
}
.qaBox summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
	padding: 1rem 2.5rem 1rem 3.2rem;
	color: #333333;
	font-weight: 600;
	cursor: pointer;
	text-indent: -2.1rem;
	line-height: 1.4rem;
}
.qaBox summary::-webkit-details-marker {
    display: none;
}
.qaBox summary::before,
.qaBox summary::after {
	position: absolute;
	right: 1rem;
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #333333b3;
    content: '';
}
.qaBox summary::before {
    position: absolute;
    right: 1rem;
    rotate: 90deg;
}
.qaBox summary::after {
    transition: rotate .3s;
}
.qaBox[open] summary::after {
    rotate: 90deg;
}
.qaBox p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
        padding: .3rem 2.5rem 1.5rem 3.2rem;
    color: #333333;
    transition: transform .5s, opacity .5s;
	text-indent: -2.1rem;
}
.qaBox[open] p {
    transform: none;
    opacity: 1;
}


/* フローチャート */
.stepbar {
  margin: 0 auto;
  width: 80%;
}

.stepbar .stepbarwrap {
  margin: 2em 0;
  position: relative;
}

.stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle {
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #F2668F;
}

.stepbar .stepbarwrap .steptitle .stepnum {
  padding-left: 1em;
  font-size: 0.8em;
  color: #F2668F;
}

.stepbar .stepbarwrap .steptxt {
  padding-left: 2em;
}

.stepbar .stepbarwrap .steptxt .steptxt-title {
  margin: 0.5em 0;
  font-weight: bold;
  font-size: 1.2em;
  color: #F2668F;
}

.stepbar .stepbarwrap .steptxt .steptxt-txt {
  font-size: 0.9em;
}

.stepbar .stepbarwrap .stepline {
  width: 1px;
  height: calc(100% + 1em);
  background-color: #F2668F;
  position: absolute;
  top: 1em;
  left: 0.5em;
  z-index: -1;
}

.stepbarwrap:last-of-type .stepline:last-of-type {
  display: none;
}

@media screen and (max-width: 960px) {
  .stepbar {
    width: 90%;
  }
}

/* FAQ ------------------------------------------------------------- */
.qa-1 {
    margin-bottom: 7px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    color: #75bbff;
    content: "Q";
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}

/* 固定ページ 汎用 -------------------------------------------------------------------------- */
.page-header.title_bg {
    position: relative;
}
.page-header.title_bg .headerBg {
    width: 100%;
    height: 100vh;
}
.page-header.title_bg .headerBg img {
    display: block;
    height: 100vh;
    width: 100%;
    object-fit: cover;
}
.page-header.title_bg .page-header-inner {
	position: absolute;
	width: 100%;
	max-width: 500px;
	background-color: #fffbf8f2;
	padding: 3rem;
	left: 50%;
	top: 70%;
	transform: translate(-50%, -50%);
	margin: 0;
	aspect-ratio: 1 / 1;
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 500px;
}
.page-header.title_bg .sub_title {
    font-size: 1.2rem;
	margin-bottom: 0.5rem;
}
.page-header.title_bg h1.page-header-title {
    font-weight: normal;
	margin-bottom: 1rem;
}
.page-header.title_bg .scroll-arrow-flow {
	position: fixed;
	bottom: 50px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 2rem;
	color: #333;
	animation: flowDownSmall 1.5s linear infinite;
	z-index: 999;
	opacity: 0;
}
.page-header.title_bg .scroll-arrow-flow i {
	margin-right: 0;
}
@keyframes flowDownSmall {
	0% {
		transform: translate(-50%, -10px);
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	70% {
		opacity: 1;
	}
	100% {
		transform: translate(-50%, 20px);
		opacity: 0;
  }
}
@media(max-width:767px){
	.page-header.title_bg .page-header-inner{
		max-width: 330px;
	}
}


/* -3キロリセットプログラム -------------------------------------------------------------------------- */
.s01WorriesTitle {
    text-align: center;
    margin-bottom: 4rem;
    font-weight: normal;
    font-size: 2rem;
    color: var(--vk-color-custom-3);
}
/* .s01Worries > div {
    margin-bottom: 2rem;
}
.s01wBox {
    padding: 1.5rem;
    border: 2px solid var(--vk-color-custom-3);
    height: 100%;
    text-align: center;
    font-weight: bold;
    background-color: var(--vk-color-custom-3);
    color: #fff;
    font-size: 1.2rem;
} */
.s01Worries {
	background-color: var(--vk-color-custom-4);
/* 	box-shadow: 0 0 20px #CCC; */
	padding: 1rem 1.5rem;
	height: 100%;
	border-radius: 15px;
    margin-bottom: 3rem;
}
.s01Worries ul {
	margin: 0;
	height: 100%;
    padding: 0;
}
.s01Worries ul li:last-child {
	border-bottom: none;
}
.s01Worries ul li {
	border-bottom: 1px solid #ccc;
	padding: 10px 10px 10px 3rem;
	margin: 0;
    list-style: none;
    text-indent: -2rem;
    position: relative;
}
.s01Worries ul li:before {
    content: "";
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 1px solid #ccc;
    vertical-align: middle;
    margin-right: 20px;
	background-color: #fff;
}
.s01Worries ul li:after {
    content: "";
    border-bottom: 2px solid #333;
    border-right: 2px solid #333;
    width: 0.7rem;
    height: 1.5rem;
    display: block;
    position: absolute;
    left: 1.3rem;
    top: 0.3rem;
    transform: rotate(45deg);
}
@media(max-width:767px){
	.s01Worries {
		padding: 1rem 1rem;
	}
	.s01Worries > .row > div:first-child ul li:last-child {
		border-bottom: 1px solid #ccc;
	}
}
.s01WorriesMiddle {
    margin-bottom: 5rem;
}
span.s01wm01 {
    font-size: 1.4rem;
/*     font-weight: bold; */
    color: var(--vk-color-custom-3);
}
span.s01wm02 {
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--vk-color-custom-5);
    text-decoration: underline;
}
.s01WorriesBottom > .row {
    align-items: center;
}
.s01WorriesBottom > .row > div:last-child {
    margin-left: -17%;
}
.s01WorriesBottom img {
	display: block;
}
.s01wbBox {
    background-color: #fff;
    padding: 2rem;
	box-shadow: 0 3px 10px #ccc;
}
.s01wbBox ul li {
    line-height: 1.4rem;
}
.s01wbBox h2 {
	font-weight: normal;
}
.s01wbBox p {
    margin-bottom: 0;
}
@media(max-width:767px){
	.s01WorriesBottom > .row > div:last-child {
		margin-left: 0;
	}
	.s01wbBox {
		box-shadow: none;
	}
	.s01wbBox h2 {
		font-size: 1.2rem;
	}
}
	
.s01Effect {
    display: flex;
    flex-wrap: wrap;
	align-items: center;
	margin-left: -10px;
	margin-right: -10px;
}
.s01Effect > h2, .s01Effect > div, .s01Effect > p {
    padding-left: 10px;
    padding-right: 10px;
}
.s01Effect .section_title {
	width: 40%;
}
.s01Effect .section_title .num {
    color: var(--vk-color-custom-5);
    font-size: 2.5rem;
    font-weight: bold;
}
.s01Effect .s01EffectBlock {
	width: 60%;
	counter-reset: effect-counter;
}
.s01Effect .s01EffectBox {
	background: #fff;
	padding: 1rem 1.5rem 1rem 4rem;
	border-radius: 15px;
	position: relative;
	font-size: 1rem;
	counter-increment: effect-counter;
	margin-bottom: 1rem;
	line-height: 1.4rem;
}
.s01Effect .s01EffectBox::before {
	content: counter(effect-counter);
	position: absolute;
	left: 1.2rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	background: var(--vk-color-custom-5);
	color: #fff;
	font-weight: bold;
	font-size: 1rem;
	line-height: 2rem;
	text-align: center;
	border-radius: 50%;
}
.s01Effect .effectSummary {
	width: 100%;
	text-align: center;
	font-size: 1.05rem;
	line-height: 1.8;
	margin-top: 2rem;
	margin-bottom: 0;
}
@media(max-width:767px){
	.s01Effect .section_title,
	.s01Effect .s01EffectBlock {
		width: 100%;
	}
}
.s01PriceBox {
    max-width: 600px;
    margin: 0 auto;
    padding: 2rem;
    box-shadow: 0 3px 11px #ccc;
}
.s01DetailsBox {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-left: -10px;
    margin-right: -10px;
}
.s01DetailsBox > div {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 0.5rem;
}
.s01DetailsBox > div span {
    background-color: #fefefe;
    display: flex;
    align-items: center;
    padding-bottom: 0.5rem;
    font-weight: bold;
    border-bottom: 1px solid var(--vk-color-custom-3);
    justify-content: center;
    text-align: center;
    color: var(--vk-color-custom-3);
    font-size: 1rem;
    height: 100%;
}
.s01Price {
    text-align: center;
}
.s01Price span {
    font-size: 2.4rem;
    font-weight: bold;
    color: var(--vk-color-custom-5);
}
.s01PriceBox > p:last-child {
    margin-bottom: 0;
}
.s01DetailsSpecial > .row {
	counter-reset: effect-counter;
}
.s01DetailsSpecial > .row > div {
    margin-bottom: 1rem;
}
.s01DetailsSpecial > .row > div .s01DSBox {
    position: relative;
    counter-increment: effect-counter;
}
.s01DetailsSpecial > .row > div .s01DSBox:before {
    content: counter(effect-counter);
    width: 4rem;
    display: block;
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    color: var(--vk-color-custom-3);
    border: 4px solid var(--vk-color-custom-3);
    border-radius: 200px;
    height: 4rem;
    line-height: 3.5rem;
    position: absolute;
    left: 0;
    z-index: 1;
    background-color: #fff;
    top: 50%;
    transform: translateY(-50%);
}
.s01DetailsSpecial > .row > div .s01DSBox p {
    margin-bottom: 0;
    padding: 1rem 1rem 1rem 3rem;
    margin-left: 2rem;
/*     border: 2px solid var(--vk-color-custom-3);
    border-radius: 15px; */
	box-shadow: 0 3px 11px #ccc;
}
.s01DetailsSpecial > .row > div .s01DSBox p span {
    font-size: 1.5rem;
}
.s01DetailsSpecial > .row > div .s01DSBox p span strong {
    color: var(--vk-color-custom-5);
}
.s01DSBbottom {
    text-align: center;
    font-size: 1.5rem;
    margin-top: 2rem;
}
@media (max-width: 767px) {
	.s01DetailsBox > div {
		width: 100%;
	}
	.s01DetailsBox > div span {
		padding: 1rem;
		font-size: 0.9rem;
	}
}
.s01last p {
    text-align: center;
}


/* スライダー */
.slide-arrow {
    line-height: 0;
    position: absolute;
	z-index: 2;
    top: 50%;
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: 0;
    background-color: #000000;
	color: #ffffff;
	display: flex;
    align-items: center;
    justify-content: center;
}
.slide-arrow.slide-prev {
	left: 0;
}
.slide-arrow.slide-next {
	right: 0;
}
.slick-arrow.slick-disabled {
    cursor: unset;
    color: #a5a5a5;
}
.slide-arrow i {
	margin: 0;
}
.castGallery div#slider > ul ul.slick-dots {
    bottom: 0;
}
.slick-dots li button:before {
	font-size: 15px;
}
.rvBox {
    margin: 0 1.5rem;
    background-color: #fff;
	padding: 2rem;
	min-height: 650px;
}
.rvImg {
    margin-bottom: 1rem;
}
.rvImg img {
    display: block;
    margin: 0 auto;
}
.rvBox p {
    text-align: center;
    font-weight: bold;
    margin-bottom: 0;
}
@media(max-width:767px){
	.rvBox {
		padding: 1rem;
		min-height: 600px;
	}
	.rvImg {
		margin-top: -1rem;
		margin-left: -1rem;
		margin-right: -1rem;
	}
}

/* ファスティングプログラム ------------------------------------------------------------- */
.sft_box {
	margin-bottom: 7rem;
	position: relative;
}
.sft_box .sft_image {
    position: relative;
}
.sft_box .sft_image img {
    height: 530px;
    display: block;
    object-fit: cover;
    margin: 0 auto;
    clip-path: circle(65% at bottom);
}
.sft_txt {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
}
.sft_box > .sft_box_in .sft_tx01 {
    bottom: -75px;
    left: 0;
}
.sft_box > .sft_box_in .sft_tx02 {
    bottom: -75px;
    left: 25%;
}
.sft_box > .sft_box_in .sft_tx03 {
    bottom: -75px;
    right: 25%;
}
.sft_box > .sft_box_in .sft_tx04 {
    bottom: -75px;
    right: 0;
}
.sft_box > .sft_box_in p {
    position: absolute;
    margin-bottom: 0;
    padding: 2rem;
    background-color: #fff;
    border-radius: 200px;
    max-width: 230px;
    text-align: left;
    font-weight: bold;
    aspect-ratio: 1 / 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    border: 2px dashed var(--vk-color-custom-3);
}
.sft_bottom > .row > div {
    margin-bottom: 2rem;
}

@media(min-width:768px) and (max-width:991px){
	.sft_box {
		margin-bottom: 2rem;
	}
	.sft_box .sft_image img {
		height: auto;
	}
	.sft_box > .sft_box_in {
		display: flex;
		flex-wrap: wrap;
		margin-top: 1rem;
		justify-content: space-between;
	}
	.sft_box > .sft_box_in p {
		position: unset;
		width: 49%;
		aspect-ratio: unset;
		max-width: 50%;
		margin-bottom: 1rem;
		border-radius: 5px;
		padding: 1rem 1.5rem;
	}
}
@media(max-width:767px){
	.sft_box {
		margin-bottom: 2rem;
	}
	.sft_box .sft_image img {
		height: auto;
		display: block;
		border-radius: unset;
		max-width: 100%;
		clip-path: none;
	}
	.sft_box > .sft_box_in {
		border: 2px dashed var(--vk-color-custom-3);
	}
	.sft_box > .sft_box_in p {
		position: unset;
		padding: 0 1.5rem 1rem;
		max-width: 100%;
		aspect-ratio: unset;
		display: block;
		box-shadow: none;
		border-radius: 0;
		font-weight: normal;
		border: none;
	}
	.sft_box > .sft_box_in p:first-of-type {
		padding-top: 1rem;
	}
}

.sfwBox img {
    display: block;
	aspect-ratio: 1 / 1;
	border-radius: 500px;
	object-fit: cover;
	max-width: 250px;
	margin: 0 auto;
}
.sfwBox p {
    text-align: center;
    font-weight: bold;
    padding: 0.5rem;
}

.sfUnique > .row {
    margin: 0;
}
.sfUnique > .row > div {
    padding: 0;
}
.sfUnique img {
	display: block;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	max-height: 400px;
	max-width: 400px;
	border-radius: 500px;
	margin: 0 auto;
	width: 100%;
}
.sfuBox {
    padding: 1rem 1.5rem;
    background-color: #fff;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.sfuBox h3 {
    border-bottom: 2px solid var(--vk-color-custom-3);
    padding-bottom: 0.5rem;
}
.sfuBox p {
    margin-bottom: 0;
}
@media(max-width:767px){
	.sfuBox p {
		margin-bottom: 1.5rem;
	}
}

.sfprice > div {
    margin-bottom: 2rem;
}
.sfpBox {
	padding: 2rem;
	box-shadow: 10px 30px 40px 10px rgba(0, 0, 0, 0.1);
	height: 100%;
/* 	border-radius: 10px;
	border: 2px dashed #ccc; */
}
.sfpBox ul {
    padding-left: 0;
}
.sfpBox ul li {
    background-color: #fefefe;
    display: flex;
    align-items: center;
    padding-bottom: 0.5rem;
    font-weight: bold;
    border-bottom: 1px solid var(--vk-color-custom-3);
    justify-content: center;
    text-align: center;
    color: var(--vk-color-custom-3);
    font-size: 1rem;
    height: 100%;
}
/* .sfpBox.sfpBox03 > div {
    width: 50%;
}
.sfpBox.sfpBox03 {
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}
.sfpImg > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.sfpContents {
    padding: 2rem;
}*/
.sfpBox h3 {
    text-align: center;
/*     color: var(--vk-color-custom-3); */
    font-size: 1.8rem;
	color: #555;
}
.sfpBox .price {
    text-align: center;
	margin-bottom: 2rem;
	line-height: 2.4rem;
}
.sfpBox .price span {
    display: block;
    font-size: 2.4rem;
    font-weight: bold;
    color: var(--vk-color-custom-5);
}

.sfMore {
	display: flex;
	justify-content: center;
	align-items: center;
}
.sfmFlow {
	padding-left: 0;
	counter-reset: number 0;
    justify-content: center;
}
.sfmFlow > li {
	list-style-type: none;
	margin-bottom: 2rem;
}
.sfmFlow > li dl {
	display: flex;
	gap: 20px;
	margin-bottom: 0;
	border-radius: 15px;
	background: #f2f2f2;
	padding: 1.5rem 1rem 1rem;
	height: 100%;
}
.sfmFlow > li dl dt {
	font-size: 1rem;
	width: 100%;
	min-width: 7em;
	margin-bottom: 0;
	position: relative;
	text-align: center;
	line-height: 1.4rem;
}
.sfmFlow > li dl dt:before {
	counter-increment: number 1; 
	content:counter(number, decimal-leading-zero) "";
	display: block;
	color: var(--vk-color-custom-3);
/* 	margin-right: 0.5em; */
	font-size: 1.5rem;
	vertical-align: middle;
/* 	line-height: 2rem; */
	background-color: #fff;
	position: absolute;
	top: -3rem;
	padding: 0.5rem;
	border-radius: 50px;
	left: 50%;
	transform: translateX(-50%);
	border: 2px solid var(--vk-color-custom-3);
	width: 100px;
	line-height: 1.2rem;
}

/* キャンペーンプラン ------------------------------------------------------------- */
.scTop {
	background-color: #fafafa;
}
.scTop .row > div {
    margin-bottom: 2rem;
}
.scTop .row > div > p {
    margin-bottom: 0;
    padding: 2rem;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
	box-shadow: 11px 11px 22px #e5e5e5, -11px -11px 22px #fff;
    background-color: #fafafa;
    text-align: center;
    font-weight: bold;
    border-radius: 500px;
}
.scvBox {
    height: 100%;
	padding: 2rem 1.5rem;
	background-color: #fff;
}
.scvbImg img {
    display: block;
    aspect-ratio: 1 / 1;
    height: 100%;
    border-radius: 500px;
    width: 50%;
    object-fit: cover;
    margin: 0 auto 2rem;
}
.scvBox h3 {
    text-align: center;
}
.scvBox p {
    margin-bottom: 0;
}
.andMore .row > div {
	margin-top: 110px;
}
.amBox {
	text-align: center;
	background-color: #f2f2f2;
	padding: 1.5rem;
	font-weight: bold;
	height: 100%;
	position: relative;
	padding-top: 115px;
}
.amBox .img {
	position: absolute;
	top: -50%;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	padding: 1.5rem;
}
@media(max-width:767px){
	.scTop .row > div > p {
		aspect-ratio: unset;
	}
	.amBox {
		padding-top: 90px;
	}
}
.notice {
    margin-top: 3rem;
}
.noticeBox {
    border: 2px dashed #ccc;
    border-radius: 10px;
    padding: 1.5rem;
    max-width: 800px;
    margin: 0 auto;
    background-color: var(--vk-color-custom-4);
}
.noticeBox p {
    margin-bottom: 0;
}

.sectionBox.plan .row > div {
    margin-bottom: 3rem;
}
.planBox {
    background-color: #fff;
/* 	padding: 4rem 2rem 2rem; */
    height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
/* 	clip-path: polygon(0% 100%, 0% 50px, 50px 0%, 100% 0%, 100% 100%); */
	padding: 2rem;
    box-shadow: 10px 30px 40px 10px rgba(0, 0, 0, 0.1);
}
.planBox h3 {
    text-align: center;
	font-size: 1.8rem;
	color: #555;
}
.planBox p {
	text-align: center;
}
.planBox .red {
/* 	color: var(--vk-color-custom-1);
	font-weight: bold;
	font-size: 1.2rem; */
	display: block;
	font-size: 2.4rem;
    font-weight: bold;
    color: var(--vk-color-custom-5);
	line-height: 2.4rem;
}
.planBox ul {
    width: 100%;
	padding-left: 0;
}
.planBox ul li {
    background-color: #fefefe;
    display: flex;
    align-items: center;
    padding-bottom: 0.5rem;
    font-weight: bold;
    border-bottom: 1px solid var(--vk-color-custom-3);
    justify-content: center;
    text-align: center;
    color: var(--vk-color-custom-3);
    font-size: 1rem;
    width: 100%;
}
.planBox .buyBtn {
    margin-top: auto;
}
.planBox .buyBtn a {
    display: block;
    text-align: center;
	min-width: 250px;
    margin: 0 auto;
    border: 1px solid var(--vk-color-custom-3);
    padding: 0.5rem;
    border-radius: 30px;
    text-decoration: none;
    background-color: var(--vk-color-custom-3);
    color: #fff;
}
.planBox .buyBtn a:hover {
	background-color: #fff;
	color: var(--vk-color-custom-3);
}
@media(max-width:767px){
	.planBox .red {
		font-size: 2rem;
	}
}
.plamStart .row div {
	text-align: center;
}
.plamStart .row div h3 {
	border-bottom: 2px solid var(--vk-color-custom-3);
    padding-bottom: 0.5rem;
}
.plamStart .row div img {
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    max-height: 400px;
    max-width: 400px;
    border-radius: 500px;
    margin: 0 auto;
    width: 100%;
}

/* イベント アーカイブ ------------------------------------------------------------- */
.postInfo {
    max-width: 800px;
    margin: 0 auto 4rem;
	padding: 0 15px;
	width: 100%;
}
.postInfo h3 {
    margin-bottom: 1rem;
}
.postInfo h3 .active {
    background-color: var(--vk-color-custom-1);
    padding: 0.2rem 0.6rem;
    display: inline-block;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.6rem;
}
.postInfo p {
    margin-bottom: 1rem;
}
.postInfo a {
    color: var(--vk-color-custom-3);
    text-decoration: underline;
}
.postInfo a:hover {
    opacity: 0.8;
}
@media(max-width:767px){
	.postInfo h3 {
		font-size: 1.2rem;
	}
	.postInfo h3 .active {
		    font-size: 1rem;
	}
}

/* イベント 投稿 ------------------------------------------------------------- */
p.eventsLink a {
    color: var(--vk-color-custom-3);
    text-decoration: underline;
}
p.eventsLink a:hover {
    opacity: 0.8;
}
@media(max-width:767px){
	article.events h1.entry-title {
		font-size: 1.2rem;
	}
}

/* コラム 投稿 ------------------------------------------------------------- */
.single-post .main-section {
	background-color: var(--vk-color-custom-4);
}
article.entry.post {
    padding: 2rem;
    max-width: 1000px;
    margin: 0 auto;
	background-color: #fff;
}
article.entry.post h2 {
    border-bottom: 2px solid #333;
    padding-bottom: 1rem;
	margin-top: 3rem;
}
article.next-prev-box {
    max-width: 1000px;
    margin: 0 auto;
}
article.next-prev-box .next-prev .next-prev-prev,
article.next-prev-box .next-prev .next-prev-next {
    border-bottom: none;
}
article.next-prev-box p.postListText_title {
	height: 100%;
}
article.next-prev-box a {
    background-color: #fff;
    display: flex;
    align-items: center;
    padding: 1rem 1.5rem;
    height: 100%;
	justify-content: center;
}
article.next-prev-box .next-prev .next-prev-prev a,
article.next-prev-box .next-prev .next-prev-next a {
	position: relative;
}
article.next-prev-box .next-prev .next-prev-prev a {
    padding-left: 3rem;
}
article.next-prev-box .next-prev .next-prev-prev a:before {
	content: "";
	display: block;
	width: 1rem;
	height: 1.5rem;
	background-color: var(--vk-color-custom-3);
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	clip-path: polygon(100% 100%, 0% 50%, 100% 0%);
}
article.next-prev-box .next-prev .next-prev-next a {
    padding-right: 3rem;
}
article.next-prev-box .next-prev .next-prev-next a:before {
	content: "";
	display: block;
	width: 1rem;
	height: 1.5rem;
	background-color: var(--vk-color-custom-3);
	position: absolute;
	right: 1rem;
	top: 50%;
	transform: translateY(-50%);
    clip-path: polygon(100% 50%, 0% 100%, 0% 0%);
}
@media(max-width:767px){
	article.entry.post {
		padding: 0.5rem;
	}
	article.next-prev-box p.postListText_title {
		padding: 0 1rem;
	}
}