@charset "utf-8";
/*
Theme Name: lightning-child
Template: lightning
*/
:root {
	/*------▼基本設定▼------*/
	--color-background: #FFF;
	--color-font: #333;
	--color-primary: #000;
	--color-primary-shade: #000;
	--color-primary-tint:#000;
	--color-secondary: #333;
	--color-secondary-tint: #333;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap');
/*-------------------------------------------
   サイト全体共通
--------------------------------------------*/

html {
	font-size: 62.5%; /*ルート指定：1rem＝10px*/
}
body {
	overflow-x: hidden;
	font-size: 1.6rem; /*サイト全体の基準となる文字サイズ*/
	font-family: 'Roboto','Noto Sans JP', sans-serif;
	font-weight:normal;
	color:var(--color-font);
}
h1, h2, h3, h4, a,p {
    color: var(--color-font);
    font-family: 'Roboto','Noto Sans JP', sans-serif !important;
    font-weight: normal;
    font-size: 1.6rem;
	line-height:1.6;
    margin: 0;
	padding:0;
	border:none;
	border-radius:0;
	background:none;
}
* {
	box-sizing: border-box;
}
body img{
	display:block;
	margin:auto;
}
a img{
    backface-visibility: visible;
	transition:all ease .15s;
}
a:hover{
	color:#999;
}
a:hover img{
	opacity:.5;
}
/*------------------------
    ファーストビュー切り替え
------------------------*/
@media screen and (min-width:751px){
	.pc_hero{
		display:block;
	}
	.sp_hero{
		display:none;
	}
}
@media screen and (max-width:750px){
	.pc_hero{
		display:none;
	}
	.sp_hero{
		display:block;
	}
}
/*------------------------
     改行位置の調整
------------------------*/
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/*------------------------------------------
lightning 打消し
--------------------------------------------*/
@media screen and (min-width:992px){
/*ヘッダー*/
header.site-header{
	height:100px;
} 
div#site-header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    width: 100%;
    max-width: unset;
	padding:0;
}
.site-header--layout--nav-float .site-header-logo {
    width: auto;
    padding: 0;
    margin: 0;
}
.site-header-logo img{
	max-height: 5rem;
}
div#site-header-container .site-header-logo {
    padding: 2rem 3rem;
}
header.site-header nav#global-nav ul li {
    padding: 2rem 1.5rem;
}
header.site-header nav#global-nav ul li a {
    padding: 0;
}
.global-nav-list>li .global-nav-name{
	font-size:1.6rem;
}
.global-nav-list>li .global-nav-description {
    font-size: 60%;
    line-height: 1.4;
    opacity: 1;
}
header.site-header nav#global-nav ul li:last-child a{
	background:#000;
	padding:2rem 2.5rem;
	& strong{
		line-height:1;
		padding-left:1.5em;
		position:relative;
		z-index:0;
		color:#fff;
		&:before{
			position:absolute;
			content:"\f274";
			top:-1px;
			left:0;
			font-family:"FONTAWESOME";
			font-weight:normal;
		}
	}
}
header.site-header nav#global-nav ul li:before{
	display:none;
}
.header_scrolled .site-header{
	position:fixed;
    width: 100%;
    max-width: 100vw;
	box-shadow:none;
    top: -100px;
    transform: translatey(100px);
    transition: all .7s .25s ease-in-out;
	animation:unset;
}
.header_scrolled .site-header-logo{
	display:block;
}
.header_scrolled .site-header .global-nav {
    display: flex;
    margin-left: 0;
    margin-right: 0;
    justify-content: flex-end;
}
}
/*フッター*/
footer.site-footer{
	border:none;
}
footer.site-footer .container.site-footer-copyright {
    margin: 0;
    padding: 0;
    max-width: none;
    width: 100%;
}
footer.site-footer .container.site-footer-copyright p{
	margin:0;
	font-size:1.4rem;
}
footer.site-footer .container.site-footer-copyright p:not(:first-child){
	display:none;
}
/*フッター上部*/
.container.site-footer-content {
    padding: 0;
    width: min(1100px,95%);
    margin: auto;
	max-width:unset;
}
.row {
    margin-right: 0;
    margin-left: 0;
}
.site-footer .widget:last-child {
    margin-bottom:0;
}
.container.site-footer-content .row .col-lg-4 figure.wp-block-image{
	margin:0;
}

/*下層ページヘッダー*/
.page-header {
    min-height:calc(30rem + (1vw - 1.92rem) * 6.4725);/*30-20(375)*/
	margin:0 !important;
}
/*見出し等*/
.container {
    width: 100%;
    max-width: unset;
    margin: 0;
    padding: 0;
}
h3:after{
	display:none;
}
/*投稿アーカイブページ*/
body.archive .site-body {
    padding: 8rem 0 10rem;
	@media screen and (max-width:767px){
		padding: 5rem 0 2rem;
	}
}
body.archive .site-body-container.container{
	display:flex;
	justify-content:space-between;
	width:min(110rem,95%);
	margin:auto;
	@media screen and (max-width:767px){
		flex-direction:column;
	}
	& .vk_posts-mainSection{
		@media screen and (max-width:767px){
			width:100%;
			justify-content:center;
		}
	}
	& .vk_post.media{
		@media screen and (max-width:767px){
			flex-direction:column;
			width:100%;
		}
		& .media-img{
			@media screen and (max-width:767px){
				width:100%;
				margin:0;
			}
		}
		& .media-body{
			@media screen and (max-width:767px){
				width:100%;
				margin:1rem auto 0;
			}
		}
	}
}
body.archive .site-body-container.container .main-section{
	width:min(82.5rem,100%);
}
body.archive .site-body-container.container .sub-section{
	width:min(20rem,100%);
	@media screen and (max-width:767px){
		width:100%;
	}
	& h4{
		@media screen and (max-width:767px){
			font-size:14px;
		}
	}
	& ul li.current-cat a{
		background:#00000005;
	}
	& ul li a{
		@media screen and (max-width:767px){
			font-size:14px;
		}
	}
}
body.archive .vk_posts-mainSection .vk_post:first-child{
	padding-top:0;
	border-top:0;
}
.vk_posts {
    margin-left: 0;
    margin-right: 0;
}
.vk_post.media {
    margin: 0;
}
.site-footer-title:after, .sub-section-title:after, h3:after {
    border-bottom: 1px solid var(--color-primary);
}
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
	transition:all ease .25s;
}
.btn-primary:hover{
	opacity:.5;
}
/*投稿アーカイブページの不要物削除*/
body.archive aside.widget.widget_media {
    display: none;
}
/*投稿詳細ページ*/
body.single-post .page-header{
	display:none;
}
body.single-post .site-body{
	padding:10rem 0;
	width:min(80rem,95%);
	margin:auto;
	@media screen and (max-width:767px){
		padding:5rem 0 2rem;	
	}
}
body.single-post h1.entry-title{
	font-size:2.4rem;
	font-weight:bold;
	padding-bottom:1.5rem;
	margin-bottom:5px;
	border-bottom:1px solid #ccc;
	@media screen and (max-width:767px){
		font-size:2rem;
	}
}
body.single-post .entry-meta{
	text-align:right;
}
body.single-post .entry-meta span{
	font-size:1.4rem;
}
body.single-post .entry-body{
	line-height:2;
}
body.single-post .entry-footer{
	display:none;
}
body.single-post .entry-meta span.entry-meta-item-updated, body.single-post span.entry-meta-item-author{
	display:none;
}
body.single-post .next-prev{
	display:none;
}
body.single-post .comments-area {
    display: none;
}
.entry-body>.vk_posts>.media.vk_post-col-sm-12:first-child, 
.main-section>.vk_posts>.media.vk_post-col-sm-12:first-child {
    border-top: none;
}
.btn-primary:active, .btn-primary:focus, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled):active {
    background-color:var(--color-primary);
    border-color: var(--color-primary);
}
body.single-post{
	& .entry-body{
		& p:not(:first-of-type){
			margin-top:1em;
		}
	}
}
.archive.category.category-campaign .site-body .vk_post .vk_post_imgOuter:before{
	padding-top:0;
	width:100%;
	aspect-ratio:4/5;
}
.archive.category.category-campaign .site-body a span.vk_post_imgOuter_singleTermLabel{
	background-color:#6fcedd !important;
}
.post-list.vk_posts.vk_posts-mainSection .format-standard.has-post-thumbnail.category-campaign .vk_post_imgOuter:before{
	padding-top:0;
	width:100%;
	aspect-ratio:4/5;
}
.post-list.vk_posts.vk_posts-mainSection .format-standard.has-post-thumbnail.category-campaign a span.vk_post_imgOuter_singleTermLabel{
	background-color:#6fcedd !important;
}
/*リスト*/
ol, ul {
    padding-left:0;
	margin:0;
}
ul li {
    margin-top: 0;
    margin-bottom: 0;
	list-style:none;
}
/*パンくずリスト*/
.breadcrumb{
	border:none;
	background:#f9f9f9;
}
ol.breadcrumb-list{
	width:min(110rem,95%);
	margin:0 auto;
	padding:3px 0;
}
ol.breadcrumb-list li a{
	font-size:1.4rem;
}
@media screen and (max-width:767px){
body.archive.category .site-body-container.container {
    flex-direction: column;
}
body.archive.category .vk_post.media {
    flex-direction: column;
    align-items: center;
}
body.archive.category .vk_posts .vk_post-col-xs-12 {
    width:100%;
}
body.archive.category .vk_post .media-img {
    width: 100%;
    margin: 0;
}
body.archive.category .vk_post-btn-display.media .vk_post_body {
    padding-bottom: 30px;
	width:100%;
	margin-top:1rem;
}
body.archive.category .site-body-container.container .sub-section {
    width: 100%;
}
body.archive.category .site-body-container.container .sub-section h4,
body.archive.category .site-body-container.container .sub-section ul li a{
	font-size:1.4rem;
}
}
/*------------------------------------------
lightning 打消し(レスポンシブ)
--------------------------------------------*/
@media screen and (max-width:991px){
header.site-header {
    height: 60px;
}
header .site-header-container {
    padding: 0;
    margin: 0;
    height: 100%;
}
header .site-header-container .site-header-logo {
    padding: 0;
    margin: 0;
    text-align: left;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.site-header-container .site-header-logo a {
    padding-left: 2rem;
}
header .site-header-container .site-header-logo img {
    max-height: 2.5rem;
    margin: 0 auto 0 0;
}
.vk-mobile-nav-menu-btn {
    top: 10px;
    border: none;
    width: 40px;
    height: 40px;
}
.vk-mobile-nav-menu-btn.menu-open {
    border-color:transparent;
	border:none;
}
.alert-info {
    display: none;
}
.vk-mobile-nav {
    padding: 60px 1rem 0;
    background-color: rgb(255 255 255 / 95%);
}
.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
    padding: 6rem 1rem 0;
    margin:0;
}
.vk-mobile-nav.vk-mobile-nav-right-in {
    transition: all .5s ease;
}
}
/*------------------------------------------
  CONTACT お問い合わせページ
--------------------------------------------*/
.wpcf7-form {
    padding: 0;
}
input[type=date], input[type=email], input[type=number], input[type=password], input[type=tel], input[type=text], input[type=url], select, textarea {
    font-size: 1.2rem;
}
input[type=submit]{
	font-size:1.4rem;
}
.post-name-contact .entry-body {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;
    width: min(110rem,90%);
    margin: auto;
}
.post-name-contact .entry-body table,
.post-name-contact .entry-body table th,
.post-name-contact .entry-body table td {
    border: none;
}
.post-name-contact .entry-body table{
	margin-bottom:0;
}
.post-name-contact .entry-body table tr{
	border-bottom:1px solid #ccc;
}
.post-name-contact .entry-body table tr:first-child{
	border-top:1px solid #ccc;
}
.post-name-contact .entry-body table th,
.post-name-contact .entry-body table td{
	padding:2rem 2.5rem;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.post-name-contact .entry-body table th{
	width:30%;
	vertical-align:middle;
	background:#f7f7f7;
	text-align:left;
}
body.post-name-contact .entry-body table td img{
	display:inline-block;
}
.wpcf7-form .must {
    color: #fff;
    font-weight: normal;
	background:rgb(255 82 83);
    margin-left: 0;
    font-size: 1.2rem;
    padding: 0px 10px;
    display: inline-block;
    line-height: 2;
	float:right;
}
.wpcf7-form .nini{
	background:#999;
}
/*チェックボックスズレ解消*/



/*同意ボタン調整*/
.agree_btn {
    margin: 3rem 0;
}
.agree_btn div,.agree_btn p{
	text-align:center;
}
.agree_btn div .wpcf7-list-item {
    margin: 0;
}
.agree_btn p,.agree_btn p a{
	font-size:90%;
}

/*送信ボタン調整*/
.SendBtn {
	text-align: center;
}
.SendBtn input[type="submit"], .SendBtn input[type="reset"], .SendBtn input[type="button"] {
    padding: 15px 100px;
    border-radius: 0vw;
	background-color:var(--color-primary);
    border: 1px solid var(--color-primary);
    transition: all ease .3s;
}
.SendBtn input[type="submit"]:hover, .SendBtn input[type="reset"]:hover, .SendBtn input[type="button"]:hover{
	color:var(--color-primary);
	background:transparent;
	transition:all ease .3s;
}
.wpcf7-spinner{
	display:none;
}
/*お問い合わせページのみフッター削除*/
body.post-name-contact .footer_cta{
	display:none;
}

@media screen and (max-width:800px){
.wpcf7-form .must {
    margin-left: 2rem;
	font-size:1rem;
}
.post-name-contact .entry-body table tr {
    display: flex;
    flex-direction: column;
}

	.post-name-contact .entry-body table th,
	.post-name-contact .entry-body table td{
		padding:1.5rem 2rem;
		text-align:left;
		font-size:1.4rem;
		width:100%;
	}
}



/*------------------------------------------
  ORIGINAL
--------------------------------------------*/
/*グローバルメニュー*/
header.site-header nav#global-nav,
header.site-header nav#global-nav ul{
	height:100%;
}

header.site-header nav#global-nav ul li a strong{
	position:relative;
	transition:all ease .15s;
}
header.site-header nav#global-nav ul li a:hover strong{
	opacity:.5;
}
.header_box{
	display:flex;
	& .social_icon_box{
	display:flex;
		align-items:center;
	gap:10px;

	& a{
		width:35px;
		height:35px;
		display:block;
		display:flex;
		flex-direction:column;
		align-items:center;
		justify-content:center;
		border-radius:50vw;
		transition:all ease .25s;
		&.instagram_icon{
			background:linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
		}
		&.tiktok_icon{
			background:#000;
		}
		&.youtube_icon{
			background:#FE0032;
		}
		&.line_icon{
			background:#06C655;
		}
		& i{
			color:#fff;
			font-size:2rem;
			margin:1px 0 0;
		}
		&:hover{
			opacity:.6;
		}
	}
	}
}
@media screen and (max-width:767px){
.header_box{
	height:100%;
	& .social_icon_box{
		gap:5px;
		margin-left:2rem;
	& a{
		width:25px;
		height:25px;
		& i{
			font-size:1.4rem;
		}
	}
	}
	}
	.vk-mobile-nav nav ul li#menu-item-255{
		& a{
			background:#000;
			margin-top:2rem;
			color:#fff;
		}
	}
}
/*フッター*/
footer.site-footer {
    border: none;
    padding: 5rem 0;
    background:var(--color-primary);
}
.container.site-footer-content .row{
	justify-content:space-between;
	align-items:flex-start;
}
.container.site-footer-content .row .col-lg-4:first-child{
	width:50rem;
}
.container.site-footer-content .row .col-lg-4{
	max-width:unset;
	width:auto;
	flex:unset;
	padding:0;
}
.container.site-footer-content .row .col-lg-4 figure img {
    width: 100%;
    margin: 0 auto 0 0;
}
.container.site-footer-content .row .col-lg-4:nth-child(2){
	display:none;
}
.container.site-footer-content .row .col-lg-4 ul.menu{
	display:flex;
}
.container.site-footer-content .row .col-lg-4 ul.menu li:not(:first-child){
	margin-left:1.5em;
}
.container.site-footer-content .row .col-lg-4 ul.menu li a{
	color:#fff;
	border:none;
	padding:0;
	font-size:1.4rem;
}
.container.site-footer-content .row .col-lg-4 ul.menu li a:hover{
	text-decoration:underline;
	color:#999;
	background-color:transparent;
}
footer.site-footer .container.site-footer-copyright{
	padding-top:5rem;
	border-top:1px solid #fff;
	width:min(110rem,95%);
	margin:5rem auto 0;
}
footer.site-footer .container.site-footer-copyright p{
	text-align:center;
	color:#fff;
}
@media screen and (max-width:767px){
.container.site-footer-content .row {
    flex-direction: column;
	align-items:center;
}
.container.site-footer-content .row .col-lg-4:first-child {
    width: 25rem;
    margin-bottom: 2rem;
}
.container.site-footer-content .row .col-lg-4 ul.menu li a {
    font-size: 1.2rem;
}
footer.site-footer .container.site-footer-copyright p {
    text-align: center;
    font-size: 1.2rem;
}
footer.site-footer .container.site-footer-copyright {
    margin: 5rem auto 0;
}
}

/*------------------------------------------
  よく使うCSS
--------------------------------------------*/
.flex{
	display:flex;
	flex-wrap:wrap;
}
.row_reverse{
	flex-direction:row-reverse;
}
.center{
	text-align:center;
}
@media screen and (max-width:767px){
.flex{
	flex-direction:column;
}
}
/*-------------------------------------------
    　　プライバシーポリシー
-------------------------------------------*/
div#privacy {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
	width:min(110rem,95%);
	margin:auto;
}
div#privacy h3 {
    font-size:calc(2.4rem + (1vw - 1.92rem) * 0.2589);
	font-weight:bold;
    margin:calc(5rem + (1vw - 1.92rem) * 1.2945) 0 1rem;/*5-3(375)*/
	line-height:1.5;
}
div#privacy h4{
	margin:3rem 0 1rem;
	font-size:calc(2rem + (1vw - 1.92rem) * 0.1294);/*2-1.8*/
	font-weight:500;
}
div#privacy p{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:1.6;
}
div#privacy ul li{
	line-height:1.6;
	position:relative;
	padding-left:1em;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
div#privacy ul li:before{
	position:absolute;
	content:"・";
	top:0;
	left:0;
}
/*-------------------------------------------
    　サイトマップ
-------------------------------------------*/
body.post-name-sitemap .entry-body{
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
	width:min(110rem,95%);
	margin:auto;
}
.entry-body ul#sitemap_list li{
	padding-left:0;
	font-size:1.8rem;
	padding-bottom:1rem;
	border-bottom:1px dashed #a1a1a1;
	margin-top:1rem;
	margin-bottom:0;
	position:relative;
}
.entry-body ul#sitemap_list li a{
	position:relative;
	padding-left:1.2em;
}
.entry-body ul#sitemap_list li a:before {
    position: absolute;
    content: "";
    border: 5px solid transparent;
    border-left: 10px solid var(--color-primary);
    top: 50%;
    left: 0;
    transform: translatey(-50%);
}
.entry-body ul#sitemap_list li.cat-item{
	padding-bottom:0;
}
.entry-body ul#sitemap_list li.cat-item ul li{
	border-bottom:none !important;
	padding-left:1em;
	font-size:16px;
}
@media screen and (max-width:1023px){
.entry-body ul#sitemap_list li{
	font-size:16px;
}
.entry-body ul#sitemap_list li a:before {
    border: 5px solid transparent;
    border-left: 10px solid var(--color-primary);
}
.entry-body ul#sitemap_list li.cat-item ul li{
	font-size:14px;
}
}
/*------------------------------------------
  TOP 新着情報一覧
--------------------------------------------*/
section.front_news{
	position:relative;
	z-index:0;
}
section.front_news .front_news_inner {
    width: min(100rem,90%);
    margin: auto;
    padding:15rem 0;
}
section.front_news .front_news_inner h2{
	font-size:7.2rem;
	font-weight:bold;
	text-align:left;
	line-height:1.2;
}
section.front_news .front_news_inner h2 span{
	display:block;
	font-size:2.4rem;
}
.front_news_list{
	margin-top:5rem;
}
.front_news_list ul{
	padding:0;
	margin:0;
}
.front_news_list ul li{
	list-style:none;
	margin:0;
	padding:2.5rem 0;
	border-top:1px dashed #ccc;
	border-bottom:1px dashed #ccc;
}
.front_news_list ul li a{
	text-decoration:none;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);
	transition:all ease .15s;
}
.front_news_list ul li a:hover{
	color:#999;
}
.front_news_list ul li a span.cate {
    padding: 2px 10px;
    border-radius: 4px;
    margin-right: 10px;
    background: var(--color-primary);
    color: #fff;
    display: inline-block;
}
.front_news_btn {
    text-align: right;
    margin-top: .8rem;
}
.front_news_btn a {
    position: relative;
    padding: 0 0 5px;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);
    z-index: 0;
	transition:all ease .3s;
}
.front_news_btn a:hover{
	color:#999;
}
.front_news_btn a:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background:#182b51;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    z-index: 0;
}
.front_news_btn a:hover:before {
    transform-origin: left top;
    transform: scale(1, 1);
}
.front_news_btn a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #cfcfcf;
    z-index: -1;
}
@media screen and (max-width:767px){
section.front_news .front_news_inner {
    padding: 6rem 0 8rem;
}
section.front_news .front_news_inner ul li a span.ttl{
	display:block;
	margin-top:5px;
}
}
/*------------------------------------------
  TOPページ
--------------------------------------------*/
* p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
}
table th,
table td,
ul li,
dl dt,
dl dd{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
	line-height:1.6;
}
img.cover{
	object-fit:cover;
	width:100%;
	height:100%;
}
img.contain{
	object-fit:contain;
	width:100%;
	height:100%;
}
.top_page{
	overflow:hidden;
}
a.btn,
a.link_btn{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
	line-height:1.6;
}
a.link_btn{
	display:inline-block;
	padding:1.5rem 2rem;
	width:200px;
	text-align:center;
	border:1px solid #000;
	background:#000;
	color:#fff;
	transition:all ease .3s;
	font-weight:bold;
	& i{
		margin:0 0 0 1em;
	}
	&:hover{
		background:transparent;
		color:#000;
	}
}
a#scrollUp{
	background:var(--color-secondary);
}

.top_page{
	& section.top_campaign_banner{
		padding:5rem 0;
		background:#f9f9f9;
		& a.flex{
			background-image: linear-gradient(422deg, rgba(213, 213, 213, 0.01) 0%, rgba(213, 213, 213, 0.01) 14.286%,rgba(140, 140, 140, 0.01) 14.286%, rgba(140, 140, 140, 0.01) 28.572%,rgba(52, 52, 52, 0.01) 28.572%, rgba(52, 52, 52, 0.01) 42.858%,rgba(38, 38, 38, 0.01) 42.858%, rgba(38, 38, 38, 0.01) 57.144%,rgba(159, 159, 159, 0.01) 57.144%, rgba(159, 159, 159, 0.01) 71.42999999999999%,rgba(71, 71, 71, 0.01) 71.43%, rgba(71, 71, 71, 0.01) 85.71600000000001%,rgba(88, 88, 88, 0.01) 85.716%, rgba(88, 88, 88, 0.01) 100.002%),linear-gradient(559deg, rgba(25, 25, 25, 0.01) 0%, rgba(25, 25, 25, 0.01) 12.5%,rgba(150, 150, 150, 0.01) 12.5%, rgba(150, 150, 150, 0.01) 25%,rgba(84, 84, 84, 0.01) 25%, rgba(84, 84, 84, 0.01) 37.5%,rgba(85, 85, 85, 0.01) 37.5%, rgba(85, 85, 85, 0.01) 50%,rgba(188, 188, 188, 0.01) 50%, rgba(188, 188, 188, 0.01) 62.5%,rgba(80, 80, 80, 0.01) 62.5%, rgba(80, 80, 80, 0.01) 75%,rgba(73, 73, 73, 0.01) 75%, rgba(73, 73, 73, 0.01) 87.5%,rgba(219, 219, 219, 0.01) 87.5%, rgba(219, 219, 219, 0.01) 100%),linear-gradient(425deg, rgba(233, 233, 233, 0.01) 0%, rgba(233, 233, 233, 0.01) 25%,rgba(114, 114, 114, 0.01) 25%, rgba(114, 114, 114, 0.01) 50%,rgba(164, 164, 164, 0.01) 50%, rgba(164, 164, 164, 0.01) 75%,rgba(228, 228, 228, 0.01) 75%, rgba(228, 228, 228, 0.01) 100%),linear-gradient(539deg, rgba(139, 139, 139, 0.02) 0%, rgba(139, 139, 139, 0.02) 16.667%,rgba(44, 44, 44, 0.02) 16.667%, rgba(44, 44, 44, 0.02) 33.334%,rgba(166, 166, 166, 0.02) 33.334%, rgba(166, 166, 166, 0.02) 50.001000000000005%,rgba(2, 2, 2, 0.02) 50.001%, rgba(2, 2, 2, 0.02) 66.668%,rgba(23, 23, 23, 0.02) 66.668%, rgba(23, 23, 23, 0.02) 83.33500000000001%,rgba(21, 21, 21, 0.02) 83.335%, rgba(21, 21, 21, 0.02) 100.002%),linear-gradient(550deg, rgba(3, 3, 3, 0.03) 0%, rgba(3, 3, 3, 0.03) 12.5%,rgba(116, 116, 116, 0.03) 12.5%, rgba(116, 116, 116, 0.03) 25%,rgba(214, 214, 214, 0.03) 25%, rgba(214, 214, 214, 0.03) 37.5%,rgba(217, 217, 217, 0.03) 37.5%, rgba(217, 217, 217, 0.03) 50%,rgba(68, 68, 68, 0.03) 50%, rgba(68, 68, 68, 0.03) 62.5%,rgba(118, 118, 118, 0.03) 62.5%, rgba(118, 118, 118, 0.03) 75%,rgba(200, 200, 200, 0.03) 75%, rgba(200, 200, 200, 0.03) 87.5%,rgba(198, 198, 198, 0.03) 87.5%, rgba(198, 198, 198, 0.03) 100%),linear-gradient(319deg, rgba(195, 195, 195, 0.03) 0%, rgba(195, 195, 195, 0.03) 16.667%,rgba(177, 177, 177, 0.03) 16.667%, rgba(177, 177, 177, 0.03) 33.334%,rgba(170, 170, 170, 0.03) 33.334%, rgba(170, 170, 170, 0.03) 50.001000000000005%,rgba(158, 158, 158, 0.03) 50.001%, rgba(158, 158, 158, 0.03) 66.668%,rgba(121, 121, 121, 0.03) 66.668%, rgba(121, 121, 121, 0.03) 83.33500000000001%,rgba(146, 146, 146, 0.03) 83.335%, rgba(146, 146, 146, 0.03) 100.002%),linear-gradient(490deg, rgba(103, 103, 103, 0.03) 0%, rgba(103, 103, 103, 0.03) 25%,rgba(112, 112, 112, 0.03) 25%, rgba(112, 112, 112, 0.03) 50%,rgba(4, 4, 4, 0.03) 50%, rgba(4, 4, 4, 0.03) 75%,rgba(227, 227, 227, 0.03) 75%, rgba(227, 227, 227, 0.03) 100%),linear-gradient(312deg, hsl(98,0%,0%),hsl(98,0%,0%));
			justify-content:space-between;
			width:min(100rem,90%);
			margin:0 auto;
			align-items:center;
			transition:all ease .3s;
			& span.txt_box{
				width:55%;
				padding:3rem;
				text-align:center;
				& span{
					color:#fff;
					&.ttl{
						font-size:2.8rem;
						font-weight:bold;
						& b{
							font-size:2rem;
							display:block;
							color:#6fcedd;
						}
					}
					&.banner_btn{
						padding:1.5rem;
						display:inline-block;
						margin-top:2.5rem;
						border:1px solid #fff;
						transition:all ease .3s;
						& i{
							margin:0 0 0 1em;
						}
					}
				}
			}
			& figure{
				width:45%;
				overflow:hidden;
				& img{
					width:100%;
					object-fit:cover;
					opacity:1;
					transform:scale(1.001);
					transition:all ease .3s;
				}
			}
			&:hover{
				& span.banner_btn{
					background:#fff;
					color:#000;
					transition:all ease .3s;
				}
				& figure{
					& img{
						transform:scale(1.1);
						transition:all ease .3s;
					}
				}
			}
		}
	}
	& section.top_intro{
		padding:10rem 0;
		background:#000;
		& .inner{
			width:min(110rem,90%);
			margin:0 auto;
		}
		& h2{
			text-align:center;
			font-size:3.6rem;
			font-weight:bold;
			margin-bottom:5rem;
			color:#fff;
		}
		& p.txt{
			color:#fff;
			margin-top:1em;
			line-height:2.5;
		}
	}
	& section.top_about{
		background:linear-gradient(to bottom, #000 15%,transparent 15%);
		& .flex{
			width:min(110rem,90%);
			margin:0 auto;
			justify-content:space-between;
			align-items:center;
			& figure{
				width:55%;
			}
			& .txt_box{
				width:40%;
				margin-top:10rem;
				& p.ttl{
					font-size:7.2rem;
					font-weight:bold;
					line-height:1.2;
					& span.sub_ttl{
						display:block;
						font-size:2.4rem;
						color:#999;
					}
					margin-bottom:5rem;
				}
				& .link_sec{
					margin-top:3.5rem;
				}
			}
		}
	}
	& section.yop_trainer{
		margin-top:10rem;
		padding:10rem 0;
		background:url(/wp-content/uploads/アートボード-2.jpg) no-repeat;
		background-attachment:fixed;
		background-size:cover;
		position:relative;
		z-index:0;
		&:before{
			width:100%;
			height:100%;
			z-index:-1;
			position:absolute;
			content:"";
			background:rgba(0 0 0/70%);
			top:0;
			left:0;
			display:block;
		}
		& .flex{
			width:min(110rem,90%);
			margin:0 auto;
			justify-content:space-between;
			align-items:center;
			& figure{
				width:50%;
			}
			& .txt_box{
				width:45%;
				& p.ttl{
					font-size:4.2rem;
					font-weight:bold;
					line-height:1.2;
					color:#fff;
					& span{
						font-size:7.2rem;
						display:block;
					}
				}
				& p.txt{
					color:#fff;
					margin:5rem 0;
				}
				& a{
					color:#fff;
					border-color:#fff;
					&:hover{
						background:#fff;
						color:#000;
					}
				}
			}
		}
	}
	& section.top_links{
		padding:10rem 0;
		& .grid{
			display:grid;
			grid-template-columns:repeat(2,1fr);
			gap:1rem;
			width:min(110rem,90%);
			margin:0 auto;
			& a{
				position:relative;
				width:100%;
				aspect-ratio:3/2;
				display:flex;
				flex-direction:column;
				align-items:center;
				justify-content:center;
				padding:5rem;
				text-align:center;
				line-height:1.2;
				overflow:hidden;
				z-index:0;
				transition: all ease .3s;
				& span.ttl{
					font-size:4.8rem;
					font-weight:bold;
					text-align:center;
					color:#fff;
					& span.sub_ttl{
						display:block;
						font-size:1.6rem;
						transition: all ease .3s;
					}
				}
				& span.txt{
					margin:4rem 0 5rem;
					display:block;
					text-align:center;
					color:#fff;
				}
				& .link_btn{
					display:inline-block;
					padding: 1.5rem 2rem;
					width: 200px;
					text-align: center;
					border: 1px solid #fff;
					background: #000;
					color: #fff;
					transition: all ease .3s;
					font-weight: bold;
					& i{
						margin:0 0 0 1em;
					}
				}
				&:before{
					position:absolute;
					content:"";
					background:rgba(0 0 0/80%);
					top:0;
					left:0;
					width:100%;
					height:100%;
					width:100%;
					height:100%;
					z-index:-1;
					transition: all ease .3s;
				}
				& img{
					position:absolute;
					top:0;
					left:0;
					width:100%;
					height:100%;
					object-position:top 50% left 50%;
					object-fit:cover;
					transform:scale(1.001);
					opacity:1;
					z-index:-2;
					transition: all ease .3s;
				}
				&:hover{
					& .link_btn{
						background:#fff;
						color:#000;
					}
					& span.ttl{
						& span{
							color:#ccc;
						}
					}
					& img{
						transform:scale(1.1);
					}
					&:before{
						background:rgba(0 0 0/95%);
					}
				}
			}
		}
	}
	& section.top_contact{
		padding:10rem 0;
		background:url(/wp-content/uploads/bg_contact.jpg) no-repeat;
		background-size:cover;
		background-attachment:fixed;
		& .inner{
			width:min(110rem,90%);
			margin:0 auto;
			& h2{
				text-align:center;
				color:#fff;
				font-size: 7.2rem;
                font-weight: bold;
                line-height: 1.2;
				& span{
					display: block;
                    font-size: 2.4rem;
				}
			}
			& p.txt{
				text-align:center;
				color:#fff;
				margin:5rem 0 6rem;
			}
			& .link_btn_sec{
				text-align:center;
				& a.link_btn{
					width:330px;
					border-color:#fff;
					&:hover{
						background:#fff;
						color:#000;
					}
				}
			}
		}
	}
}
.footer_box{
	& ul{
		padding:0;
		margin-bottom:1rem;
		& li{
			padding-left:1.5em;
			margin:0;
			position:relative;
			color:#fff;
			&:before{
				position:absolute;
				top:0;
				left:0;
				font-family:"FONTAWESOME";
			}
			&.address:before{
				content:"\f3c5";
			}
			&.time:before{
				content:"\f017";
			}
		}
	}
	& iframe{
		aspect-ratio:2/1;
		width:100%;
		height:auto !important;
	}
}
@media screen and (max-width:767px){
.top_page{
	& section.top_campaign_banner{
		padding:2rem 0;
		& a.flex{
			flex-direction:column-reverse;
			& span.txt_box{
				padding:2rem;
				width:100%;
				& span{
					&.ttl{
						font-size:1.8rem;
						& b{
							font-size:1.6rem;
						}
					}
					&.banner_btn{
						display:block;
						font-size:1.4rem;
					}
				}
			}
			& figure{
				width:100%;
			}
			&:hover{
				& span.banner_btn{
					background:#fff;
					color:#000;
					transition:all ease .3s;
				}
				& figure{
					& img{
						transform:scale(1.1);
						transition:all ease .3s;
					}
				}
			}
		}
	}
	& section.top_intro{
		padding:6rem 0;
		& h2{
			font-size:2rem;
			margin-bottom:4rem;
		}
	}
	& section.top_about{
		background:linear-gradient(to bottom, #000 15%,transparent 15%);
		& .flex{
			& figure{
				width:100%;
			}
			& .txt_box{
				width:100%;
				margin-top:3rem;
				& p.ttl{
					font-size:3.6rem;
					& span.sub_ttl{
						font-size:2rem;
					}
					margin-bottom:2.5rem;
				}
			}
		}
	}
	& section.yop_trainer{
		margin-top:6rem;
		padding:3rem 0 6rem;
		background-attachment:unset;
		& .flex{
			flex-direction:column-reverse;
			& figure{
				width:100%;
			}
			& .txt_box{
				margin-top:3rem;
				width:100%;
				& p.ttl{
					font-size:2rem;
					& span{
						font-size:3.6rem;
					}
				}
				& p.txt{
					margin:3rem 0;
				}
			}
		}
	}
	& section.top_links{
		padding:2rem 0;
		& .grid{
			grid-template-columns:100%;
			gap:2rem;
			& a{
				aspect-ratio:4/3;
				padding:5rem;
				& span.ttl{
					font-size:3.6rem;
					& span.sub_ttl{
						font-size:1.6rem;
					}
				}
				& span.txt{
					margin:2rem 0 3rem;
					font-size:14px;
					line-height:1.8;
				}
				& .link_btn{
					font-size:14px;
				}
			}
		}
	}
	& section.top_contact{
		padding:6rem 0;
		background-attachment:unset;
		& .inner{
			& h2{
				font-size: 3.6rem;
				line-height:1.8;
				& span{
                    font-size: 2rem;
				}
			}
			& p.txt{
				margin:3rem 0 4rem;
			}
		}
	}
}
.footer_box{
	& iframe{
		aspect-ratio:1/1;
	}
}
	section.front_news .front_news_inner h2{
		font-size:3.6rem;
		& span{
			font-size:2rem;
		}
	}
.front_news_list {
    margin-top: 3rem;
}
.front_news_list ul li {
    padding: 1.5rem 0;
}
}
body.home .campaign_banner{
	display:none;
}
/*------------------------------------------
  下層設定
--------------------------------------------*/
.site-body {
    padding:calc(10rem + (1vw - 1.92rem) * 2.5890) 0 ;
}
.page-header{
	position:relative;
	z-index:0;
}
.page-header:before{
	position:absolute;
	content:"";
	z-index:-1;
	background:rgba(0 0 0 /70%);
	width:100%;
	height:100%;
	top:0;
	left:0;
}
body .page-header{
	background:url(/wp-content/uploads/eye-1.jpg) no-repeat;
	background-size:cover;
	background-position:top 50% left 50%;
}

h1.page-header-title{
	width:min(110rem,90%);
    font-size: 7.2rem;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 auto;
	text-align:left;
    color: #fff;
}
.sp_only{
	display:none;
}
.campaign_banner{
		padding:5rem 0;
		background:#f9f9f9;
		& a.flex{
			background-image: linear-gradient(422deg, rgba(213, 213, 213, 0.01) 0%, rgba(213, 213, 213, 0.01) 14.286%,rgba(140, 140, 140, 0.01) 14.286%, rgba(140, 140, 140, 0.01) 28.572%,rgba(52, 52, 52, 0.01) 28.572%, rgba(52, 52, 52, 0.01) 42.858%,rgba(38, 38, 38, 0.01) 42.858%, rgba(38, 38, 38, 0.01) 57.144%,rgba(159, 159, 159, 0.01) 57.144%, rgba(159, 159, 159, 0.01) 71.42999999999999%,rgba(71, 71, 71, 0.01) 71.43%, rgba(71, 71, 71, 0.01) 85.71600000000001%,rgba(88, 88, 88, 0.01) 85.716%, rgba(88, 88, 88, 0.01) 100.002%),linear-gradient(559deg, rgba(25, 25, 25, 0.01) 0%, rgba(25, 25, 25, 0.01) 12.5%,rgba(150, 150, 150, 0.01) 12.5%, rgba(150, 150, 150, 0.01) 25%,rgba(84, 84, 84, 0.01) 25%, rgba(84, 84, 84, 0.01) 37.5%,rgba(85, 85, 85, 0.01) 37.5%, rgba(85, 85, 85, 0.01) 50%,rgba(188, 188, 188, 0.01) 50%, rgba(188, 188, 188, 0.01) 62.5%,rgba(80, 80, 80, 0.01) 62.5%, rgba(80, 80, 80, 0.01) 75%,rgba(73, 73, 73, 0.01) 75%, rgba(73, 73, 73, 0.01) 87.5%,rgba(219, 219, 219, 0.01) 87.5%, rgba(219, 219, 219, 0.01) 100%),linear-gradient(425deg, rgba(233, 233, 233, 0.01) 0%, rgba(233, 233, 233, 0.01) 25%,rgba(114, 114, 114, 0.01) 25%, rgba(114, 114, 114, 0.01) 50%,rgba(164, 164, 164, 0.01) 50%, rgba(164, 164, 164, 0.01) 75%,rgba(228, 228, 228, 0.01) 75%, rgba(228, 228, 228, 0.01) 100%),linear-gradient(539deg, rgba(139, 139, 139, 0.02) 0%, rgba(139, 139, 139, 0.02) 16.667%,rgba(44, 44, 44, 0.02) 16.667%, rgba(44, 44, 44, 0.02) 33.334%,rgba(166, 166, 166, 0.02) 33.334%, rgba(166, 166, 166, 0.02) 50.001000000000005%,rgba(2, 2, 2, 0.02) 50.001%, rgba(2, 2, 2, 0.02) 66.668%,rgba(23, 23, 23, 0.02) 66.668%, rgba(23, 23, 23, 0.02) 83.33500000000001%,rgba(21, 21, 21, 0.02) 83.335%, rgba(21, 21, 21, 0.02) 100.002%),linear-gradient(550deg, rgba(3, 3, 3, 0.03) 0%, rgba(3, 3, 3, 0.03) 12.5%,rgba(116, 116, 116, 0.03) 12.5%, rgba(116, 116, 116, 0.03) 25%,rgba(214, 214, 214, 0.03) 25%, rgba(214, 214, 214, 0.03) 37.5%,rgba(217, 217, 217, 0.03) 37.5%, rgba(217, 217, 217, 0.03) 50%,rgba(68, 68, 68, 0.03) 50%, rgba(68, 68, 68, 0.03) 62.5%,rgba(118, 118, 118, 0.03) 62.5%, rgba(118, 118, 118, 0.03) 75%,rgba(200, 200, 200, 0.03) 75%, rgba(200, 200, 200, 0.03) 87.5%,rgba(198, 198, 198, 0.03) 87.5%, rgba(198, 198, 198, 0.03) 100%),linear-gradient(319deg, rgba(195, 195, 195, 0.03) 0%, rgba(195, 195, 195, 0.03) 16.667%,rgba(177, 177, 177, 0.03) 16.667%, rgba(177, 177, 177, 0.03) 33.334%,rgba(170, 170, 170, 0.03) 33.334%, rgba(170, 170, 170, 0.03) 50.001000000000005%,rgba(158, 158, 158, 0.03) 50.001%, rgba(158, 158, 158, 0.03) 66.668%,rgba(121, 121, 121, 0.03) 66.668%, rgba(121, 121, 121, 0.03) 83.33500000000001%,rgba(146, 146, 146, 0.03) 83.335%, rgba(146, 146, 146, 0.03) 100.002%),linear-gradient(490deg, rgba(103, 103, 103, 0.03) 0%, rgba(103, 103, 103, 0.03) 25%,rgba(112, 112, 112, 0.03) 25%, rgba(112, 112, 112, 0.03) 50%,rgba(4, 4, 4, 0.03) 50%, rgba(4, 4, 4, 0.03) 75%,rgba(227, 227, 227, 0.03) 75%, rgba(227, 227, 227, 0.03) 100%),linear-gradient(312deg, hsl(98,0%,0%),hsl(98,0%,0%));
			justify-content:space-between;
			width:min(100rem,90%);
			margin:0 auto;
			align-items:center;
			transition:all ease .3s;
			& span.txt_box{
				width:55%;
				padding:3rem;
				text-align:center;
				& span{
					color:#fff;
					&.ttl{
						font-size:2.8rem;
						font-weight:bold;
						& b{
							font-size:2rem;
							display:block;
							color:#6fcedd;
						}
					}
					&.banner_btn{
						padding:1.5rem;
						display:inline-block;
						margin-top:2.5rem;
						border:1px solid #fff;
						transition:all ease .3s;
						& i{
							margin:0 0 0 1em;
						}
					}
				}
			}
			& figure{
				width:45%;
				overflow:hidden;
				& img{
					width:100%;
					object-fit:cover;
					opacity:1;
					transform:scale(1.001);
					transition:all ease .3s;
				}
			}
			&:hover{
				& span.banner_btn{
					background:#fff;
					color:#000;
					transition:all ease .3s;
				}
				& figure{
					& img{
						transform:scale(1.1);
						transition:all ease .3s;
					}
				}
			}
		}
	}
@media screen and (max-width:767px){
	.campaign_banner{
		padding:2rem 0;
		& a.flex{
			flex-direction:column-reverse;
			& span.txt_box{
				padding:2rem;
				width:100%;
				& span{
					&.ttl{
						font-size:1.8rem;
						& b{
							font-size:1.6rem;
						}
					}
					&.banner_btn{
						display:block;
						font-size:1.4rem;
					}
				}
			}
			& figure{
				width:100%;
			}
			&:hover{
				& span.banner_btn{
					background:#fff;
					color:#000;
					transition:all ease .3s;
				}
				& figure{
					& img{
						transform:scale(1.1);
						transition:all ease .3s;
					}
				}
			}
		}
	}
h1.page-header-title{
    font-size: 4.2rem;
	text-align:center;
}

.sp_only{
	display:block;
}
}
/*------------------------------------------
  ABOUT
--------------------------------------------*/
ul.about_ul{
	width:min(110rem,90%);
	margin:0 auto;
	& li{
		position:relative;
		justify-content:space-between;
		align-items:center;
		margin-top:10rem;
		z-index:0;
		&:nth-child(even){
			flex-direction:row-reverse;
		}
		&:first-child{
			margin-top:0;
		}
		& figure{
			width:48%;
			& img{
				width:100%;
				aspect-ratio:4/3;
				object-fit:cover;
			}
		}
		& .txt_box{
			width:48%;
			& p.ttl{
				font-size:2.4rem;
				font-weight:bold;
				padding:1rem 2rem;
				border-left:5px solid #ccc;
				margin-bottom:2rem;
			}
		}
	}
}
@media screen and (max-width:767px){
ul.about_ul{
	& li{
		margin-top:5rem;
		& figure{
			width:100%;
			margin-bottom:2rem;
		}
		& .txt_box{
			width:100%;
			& p.ttl{
				font-size:1.8rem;
				padding:5px 1.2rem;
			}
		}
	}
}
}
/*------------------------------------------
  PRICE
--------------------------------------------*/
section.price_sec{
	& .box{
			width:min(110rem,90%);
			margin:0 auto;
		&:not(:first-of-type){
			margin-top:5rem;
		}
		& h2{
			text-align:center;
			font-size:3.6rem;
			font-weight:bold;
			position:relative;
			padding-bottom:2.5rem;
			margin-bottom:5rem;
			&:before{
				position:absolute;
				content:"";
				background:#999;
				bottom:0;
				left:50%;
				transform:translatex(-50%);
				width:1.5em;
				height:5px;
			}
		}
		& table{
			margin:0;
			border:none;
			& td{
				background:#f5f5f5;
				border:5px solid #fff;
				text-align:center;
				padding:2rem;
			}
			& tr.thead{
				& td{
					background:#000;
					color:#fff;
				}
			}
		}
	}
	& .box.premire_plan{
		padding:5rem;
		background:#f7f2e2;
		& h2{
			&:before{
				background:#cbaa41;
			}
		}
		& .content_box{
			margin:5rem 0 ;
			& p.ttl{
				font-size:2rem;
				font-weight:bold;
				background:#cbaa41;
				padding:1rem;
				text-align:center;
				color:#fff;
			}
			& ul{
				padding:2.5rem;
				background:#fff;
				& li{
					position:relative;
					padding-left:1.5em;
					font-size:2rem;
					margin-top:.5em;
					&:before{
						position:absolute;
						content:"\f14a";
						font-family:"FONTAWESOME";
						top:0;
						left:0;
						color:#2ccb73;
					}
				}
			}
		}
		& .recommend_box{
			padding:2.5rem;
			border:3px solid #cbaa41;
			margin-bottom:5rem;
			& p.ttl{
				font-size:2rem;
				font-weight:bold;
				text-align:center;
				padding-bottom:2rem;
				margin-bottom:2rem;
				border-bottom:3px solid #cbaa41;
			}
			& ul{
				& li{
					position:relative;
					padding-left:1.5em;
					font-size:2rem;
					margin-top:.5em;
					&:before{
						position:absolute;
						content:"\f14a";
						font-family:"FONTAWESOME";
						top:0;
						left:0;
						color:#747474;
					}
				}
			}
		}
		& .cta_box{
			margin-top:5rem;
			& p.ttl{
				text-align:center;
				font-size:2.4rem;
				font-weight:bold;
				position:relative;
				padding-bottom:2.5rem;
				margin-bottom:2rem;
				&:before{
					position:absolute;
					content:"";
					background:#cbaa41;
					bottom:0;
					left:50%;
					transform:translatex(-50%);
					width:1.5em;
					height:5px;
				}
			}
			& .flex{
				justify-content:space-between;
				margin-top:3.5rem;
				& a{
					width:48%;
					padding:2rem;
					color:#fff;
					font-size:1.8rem;
					font-weight:bold;
					text-align:center;
					transition:all ease .5s;
					&:hover{
						opacity:.5;
					}
					& i{
						margin-right:1em;
					}
					&.line_btn{
						background:#06C655;
					}
					&.insta_btn{
						background:linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
					}
				}
			}
		}
		&.mother_plan{
			background:#f7e2e7;
			& h2{
				&:before{
					background:#d985af;
				}
				& span{
					display:block;
					font-size:2rem;
					color:#d985af;
				}
			}
			& .content_box{
				& p.ttl{
					background:#d985af;
				}
			}
			& .attention_box{
				padding:2rem;
				border:2px dashed #d985af;
				margin:2rem 0 0;
				& p.ttl_attention{
					padding-bottom:1rem;
					margin-bottom:1rem;
					border-bottom:1px solid #d985af;
					font-size:1.8rem;
					font-weight:bold;
				}
			}
			& .cta_box{
				& p.ttl{
					&:before{
						background:#d985af;
					}
				}
			}
		}
		&.senior_plan{
			background:#e7f0f3;
			& h2{
				&:before{
					background:#97b6c9;
				}
			}
			& .content_box{
				& p.ttl{
					background:#97b6c9;
				}
			}
			& .cta_box{
				& p.ttl{
					&:before{
						background:#97b6c9;
					}
				}
			}
		}
	}
}
@media screen and (max-width:767px){
section.price_sec{
	& .box{
		&:not(:first-of-type){
			margin-top:5rem;
		}
		& h2{
			font-size:2.4rem;
			padding-bottom:2.5rem;
			margin-bottom:3rem;
		}
		& .table_box{
			overflow-x:scroll;
		}
		& table{
			white-space:nowrap;
			& td{
				padding:1.5rem;
			}
		}
	}
	& .box.premire_plan{
		padding:2.5rem;
		& h2{
			&:before{
				background:#cbaa41;
			}
		}
		& .content_box{
			margin:3.5rem 0 ;
			& p.ttl{
				font-size:1.6rem;
			}
			& ul{
				padding:1.5rem;
				& li{
					font-size:1.6rem;
				}
			}
		}
		& .recommend_box{
			padding:1.5rem;
			margin-bottom:3.5rem;
			& p.ttl{
				font-size:1.6rem;
			}
			& ul{
				& li{
					font-size:1.6rem;
				}
			}
		}
		& .cta_box{
			margin-top:3.5rem;
			& p.ttl{
				font-size:2rem;
			}
			& .flex{
				margin-top:3.5rem;
				row-gap:1.5rem;
				& a{
					width:100%;
					font-size:1.6rem;
				}
			}
		}
		&.mother_plan{
			& h2{
				& span{
					font-size:1.6rem;
				}
			}
			& .attention_box{
				padding:1.5rem;
				& p.ttl_attention{
					font-size:1.6rem;
				}
			}
		}
	}
}
}
/*------------------------------------------
  FAQ
--------------------------------------------*/
section#faq{
	margin-top:10rem;
	padding:10rem 0;
	background:#f9f9f9;
	& .inner{
		width:min(110rem,90%);
		margin:0 auto;
		& h2{
			text-align:center;
			font-size:3.6rem;
			font-weight:bold;
			position:relative;
			padding-bottom:2.5rem;
			margin-bottom:5rem;
			&:before{
				position:absolute;
				content:"";
				background:#999;
				bottom:0;
				left:50%;
				transform:translatex(-50%);
				width:1.5em;
				height:5px;
			}
		}
		& .flex{
			justify-content:space-between;
			& a{
				width:32%;
				padding:1.5rem;
				background:#000;
				color:#fff;
				text-align:center;
				position:relative;
				transition:all ease .15s;
				&:before{
					position:absolute;
					content:"\f107";
					top:50%;
					right:2rem;
					transform:translatey(-50%);
					font-family:"FONTAWESOME";
				}
				&:hover{
					opacity:.5;
				}
			}
		}
	}
	& .box{
		margin-top:10rem;
		& p.ttl{
			padding:1rem 2rem;
			border-left:5px solid #333;
			margin-bottom:2rem;
			font-size:2rem;
			font-weight:bold;
		}
		& ul{
			& li{
				margin:2.5rem 0 0;
				padding:3rem;
				background:#fff;
				& p.question{
					position:relative;
					font-weight:bold;
					padding-bottom:1.5rem;
					padding-left:2.5em;
					margin-bottom:1.5rem;
					border-bottom:1px solid #ccc;
					&:before{
						position:absolute;
						content:"Q";
						top:-3px;
						left:0;
						width:3rem;
						height:3rem;
						display:flex;
						justify-content:center;
						align-items:center;
						background:#000;
						color:#fff;
						border-radius:50vw;
					}
				}
				& p.answer{
					position:relative;
					padding-left:2.5em;
					&:before{
						position:absolute;
						content:"A";
						top:-3px;
						left:0;
						width:3rem;
						height:3rem;
						display:flex;
						justify-content:center;
						align-items:center;
						background:#999;
						color:#fff;
						border-radius:50vw;
					}
				}
			}
		}
	}
}
@media screen and (max-width:767px){
section#faq{
	margin-top:6rem;
	padding:6rem 0;
	& .inner{
		& h2{
			font-size:2.4rem;
			padding-bottom:2.5rem;
			margin-bottom:3rem;
		}
		& .flex{
			row-gap:1rem;
			& a{
				width:100%;
			}
		}
	}
	& .box{
		margin-top:6rem;
		& p.ttl{
			font-size:2rem;
		}
		& ul{
			& li{
				margin:2rem 0 0;
				padding:1.5rem;
				& p.question{
					font-size:15px;
					padding-left:2.5em;
					&:before{
						top:-1px;
						width:2.5rem;
						height:2.5rem;
					}
				}
				& p.answer{
					font-size:15px;
					padding-left:2.5em;
					&:before{
						top:-1px;
						width:2.5rem;
						height:2.5rem;
					}
				}
			}
		}
	}
}
}
/*------------------------------------------
  TRAINER
--------------------------------------------*/
section.trainer_sec{
	& .flex{
		justify-content:space-between;
		width:min(110rem,90%);
		margin:0 auto;
		& figure{
			width:45%;
		}
		& .txt_box{
			width:50%;
			& p.ttl{
				font-size:4.8rem;
				font-weight:bold;
				line-height:1.4;
				& span{
					display:block;
					font-size:2rem;
				}
			}
			& table{
				margin:3rem 0;
				border:none;
				& th,td{
					text-align:left;
					border:none;
					font-weight:bold;
					padding:1rem 0;
				}
				& th{
					width:220px;
				}
				& tr{
					border-bottom:1px solid #ccc;
					&:first-child{
						border-top:1px solid #ccc;
					}
				}
			}
		}
	}
	& .box{
		padding:3rem;
		background:#f9f9f9;
		width:min(110rem,90%);
		margin:5rem auto;
		& p.ttl{
			font-size:2rem;
			font-weight:bold;
			padding-bottom:1.5rem;
			margin-bottom:1.5rem;
			border-bottom:1px solid #ccc;
		}
	}
}
.gallery-columns-3{
	width:min(110rem,90%);
	margin:0 auto !important;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:2%;
	row-gap:2rem;
	& br{
		display:none;
	}
	& dl.gallery-item{
		width:100% !important;
		margin:0 !important;
		& dt{
			margin:0 !important;
		}
		& a{
			& img{
				width:100%;
				aspect-ratio:3/2;
				object-fit:cover;
				object-position:center 5%;
			}
		}
		&:nth-of-type(3){
			& a{
				& img{
					object-position:center 42%;
				}
			}
		}
		&:nth-of-type(4){
			& a{
				& img{
					object-position:center 42%;
				}
			}
		}	
	}
}
@media screen and (max-width:767px){
section.trainer_sec{
	& .flex{
		gap:2rem;
		& figure{
			width:100%;
		}
		& .txt_box{
			width:100%;
			& p.ttl{
				font-size:3.2rem;
				& span{
					font-size:2rem;
				}
			}
			& table{
				margin:3rem 0;
				& th{
					width:190px;
				}
			}
		}
	}
	& .box{
		padding:3rem;
		background:#f9f9f9;
		width:min(110rem,90%);
		margin:3rem auto;
	}
}
.gallery-columns-3{
	grid-template-columns:repeat(2,1fr);
	row-gap:1rem;
}
}
/*------------------------------------------
  USER VOICE
--------------------------------------------*/
section.voice_sec{
	& h2{
		text-align:center;
		font-size:3.2rem;
		font-weight:bold;
		margin-bottom:3rem;
		& span{
			position:relative;
			padding:0 .8em 0 1em;
			z-index:0;
			&:before{
				position:absolute;
				content:"";
				width:1px;
				height:100%;
				background:#000;
				bottom:0;
				left:0;
				transform:rotate(-45deg);
			}
			&:after{
				position:absolute;
				content:"";
				width:1px;
				height:100%;
				background:#000;
				bottom:0;
				right:0;
				transform:rotate(45deg);
			}
		}
	}
	& .flex.voice_flex{
		justify-content:space-between;
		width:min(1100px,90%);
		flex-wrap:nowrap;
		margin:0 auto;
		gap:2%;
		& a{
			background:#000;
			color:#fff;
			position:relative;
			font-weight:bold;
			width:calc(100%/5);
			padding:1.5rem;
			border-radius:50vw;
			text-align:center;
			transition:all ease .25s;
			&:before{
                position: absolute;
                content: "\f107";
                top: 50%;
                right: 2rem;
                transform: translatey(-50%);
                font-family: "FONTAWESOME";
			}
			&:hover{
				opacity:50%;
			}
		}
	}
	& .box{
		margin-top:5rem;
		& p.voice_ttl{
			width:min(110rem,90%);
            padding: 1rem 2rem;
            border-left: 5px solid #333;
            margin:0 auto 2rem;
            font-size: 2rem;
            font-weight: bold;
		}
	}
	& ul{
		width:min(110rem,90%);
		margin:0 auto;
		& li{
			padding:3rem;
			background:#f9f9f9;
			border: 3px solid #000;
            border-radius: 15px;
			& .flex{
				align-items:center;
				margin-bottom:1.5rem;
				padding-bottom:1.5rem;
				border-bottom:1px solid #ccc;
				& i{
					font-size:2rem;
					width:50px;
					height:50px;
					border-radius:50vw;
					display:flex;
					flex-direction:column;
					align-items:center;
					justify-content:center;
					background:#333;
					color:#fff;
				}
				& p.ttl{
					font-size:2.4rem;
					font-weight:bold;
					margin-left:.5em;
				}
			}
			&:not(:first-child){
				margin-top:2.5rem;
			}
			& p.txt.right{
				text-align:right;
				font-weight:bold;
			}
		}
	}
}
@media screen and (max-width:767px){
section.voice_sec{
	& h2{
		font-size:2rem;
	}
	& .flex.voice_flex{
		flex-direction:row;
		justify-content:center;
		flex-wrap:wrap;
		gap:2%;
		row-gap:1rem;
		& a{
			width:32%;
			padding:1rem 1.5rem;
			text-align:left;
			&:before{
                right: 1.5rem;
			}
		}
	}
	& .box{
		margin-top:5rem;
		& p.voice_ttl{
			width:min(110rem,90%);
            padding: 1rem 2rem;
            border-left: 5px solid #333;
            margin:0 auto 2rem;
            font-size: 2rem;
            font-weight: bold;
		}
	}
	& ul{
		& li{
			padding:3rem;
			& .flex{
				& p.ttl{
					font-size:2rem;
					margin-left:0;
					margin-top:1.5rem;
				}
			}
			&:not(:first-child){
				margin-top:2rem;
			}
		}
	}
}
}
/*------------------------------------------
  SHOP
--------------------------------------------*/
section.access_sec{
	& .flex{
		width:min(110rem,90%);
		margin:0 auto 5rem;
		justify-content:space-between;
		& figure{
			width:45%;
			
		}
		& table{
			width:50%;
			border:none;
			margin:0;
			& th,td{
				border:none;
				text-align:left;
				padding:2rem;
			}
			& tr{
				border-bottom:1px solid #ccc;
				&:first-child{
					border-top:1px solid #ccc;
				}
			}
			& th{
				width:30%;
				background:#f9f9f9;
			}
		}
	}
	& iframe{
		width:100%;
		height:400px !important;
		display:block;
		margin-top:5rem;
	}
}
@media screen and (max-width:767px){
section.access_sec{
	& .flex{
		margin:0 auto 3.5rem;
		justify-content:space-between;
		& figure{
			width:100%;
			margin-bottom:2rem;
		}
		& table{
			width:100%;
			& th,td{
				padding:1.5rem;
			}
		}
	}
	& iframe{
		margin-top:3.5rem;
		height:200px !important;
	}
}
}
/*------------------------------------------
  TERMS
--------------------------------------------*/
section.terms_sec{
	& .inner{
		width:min(110rem,90%);
		margin:0 auto;
		& p.ttl{
			text-align:center;
			font-size:2.4rem;
			font-weight:bold;
		}
		& ul li{
			margin:5rem 0 0;
			& p{
				&:first-child{
					font-weight:bold;
					margin-bottom:.5rem;
				}
			}
		}
		& p.right{
			text-align:right;
			margin-top:1em;
		}
	}
}
@media screen and (max-width:767px){
section.terms_sec{
	& .inner{
		& p.ttl{
			font-size:2rem;
		}
		& ul li{
			margin:3.5rem 0 0;
			& p{
				font-size:14px;
			}
		}
	}
}
}
/*------------------------------------------
  CMA トリガーアニメーション設定
--------------------------------------------*/
.img-bg {
  overflow: hidden;
  position: relative;
}
.img-bg:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  background-color: #000;
}
.img-bg b.trigger_b {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition-duration: 4s;
  transition-duration: 4s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.img-bg {
  -webkit-transform: translate3d(-100.5%, 0, 0);
  transform: translate3d(-150%, 0, 0);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}
.img-bg.is-shown {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.img-bg:before {
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: .5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 1s;
}
.img-bg.is-shown:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}

/*------------------------------------------
  CMA トリガーアニメーション設定 遅延
--------------------------------------------*/
.img-bg_v2 {
  overflow: hidden;
  position: relative;
}
.img-bg_v2:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  background-color: #000;
}
.img-bg_v2 b.trigger_b {
	font-weight:normal;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition-duration: 4s;
  transition-duration: 4s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.img-bg_v2 {
  -webkit-transform: translate3d(-100.5%, 0, 0);
  transform: translate3d(-150%, 0, 0);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}
.img-bg_v2.is-shown {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.img-bg_v2:before {
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: .5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 1.4s;
}
.img-bg_v2.is-shown:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}
/*------------------------------------------
  CMA トリガーアニメーション設定_TOPタイトル
--------------------------------------------*/
.img-bg_ttl {
	display:inline-block;
  overflow: hidden;
  position: relative;
}
.img-bg_ttl:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  background-color: #000;
}
.img-bg_ttl.white_bg:before {
  background-color: #fff;
}
.img-bg_ttl span.trigger_span {
	font-weight:normal;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition-duration: 4s;
  transition-duration: 4s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: ease-in-out;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

.img-bg_ttl {
  -webkit-transform: translate3d(-150%, 0, 0);
  transform: translate3d(-150%, 0, 0);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}
.img-bg_ttl.is-shown {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.img-bg_ttl:before {
  transform: scaleX(1);
  transform-origin: right;
  transition-duration: .5s;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  transition-property: transform;
  transition-delay: 1s;
}
.img-bg_ttl.is-shown:before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
}