@charset "UTF-8";

/*
Theme Name: Origin
Author: WeFull Co., Ltd.
Author URI: https://www.wefull.co.jp/
Version: 1.2
*/

/* Noto Sans JP */
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: normal;
	src: url('./fonts/NotoSansJP-Regular.woff2') format('woff2'), url('./fonts/NotoSansJP-Regular.woff') format('woff'), url('./fonts/NotoSansJP-Regular.ttf') format('truetype'); 
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: bold;
	font-weight: bold;
	src: url('./fonts/NotoSansJP-Bold.woff2') format('woff2'), url('./fonts/NotoSansJP-Bold.woff') format('woff'), url('./fonts/NotoSansJP-Bold.ttf') format('truetype'); 
}

/* Noto Serif JP */
@font-face {
	font-family: 'Noto Serif JP';
	font-style: normal;
	font-weight: normal;
	src: url('./fonts/NotoSerifJP-Regular.woff2') format('woff2'), url('./fonts/NotoSerifJP-Regular.woff') format('woff'); 
}

@font-face {
	font-family: 'Noto Serif JP';
	font-style: bold;
	font-weight: bold;
	src: url('./fonts/NotoSerifJP-Bold.woff2') format('woff2'), url('./fonts/NotoSerifJP-Bold.woff') format('woff'); 
}

.wrap {
	max-width: 1440px;
    margin: auto;
    padding: 0 20px;
}

@media screen and (max-width: 767px){
	.wrap {
		padding: 0 10px;
	}
}

/********** 共通設定 **********/
.flex {
	display: flex;
	flex-wrap: wrap;
}

.box.flex {
	justify-content: space-between;
}

p.txt:not(:last-child){
	margin-bottom: 1rem;
}

/********** パンくずリスト **********/
.breadcrumbs {
	padding: 8px 0 10px;
    background: #eaf7ff;
	white-space: nowrap;
    overflow-x: auto;
}

@media screen and (max-width: 767px){
	.breadcrumbs {
		margin-bottom: 20px;
		padding: 5px 0 8px;
	}
}

.breadcrumbs ul {
	display: flex;
	
}

.breadcrumbs ul li {
	font-size: 14px;
}

@media screen and (max-width: 767px){
	.breadcrumbs ul li {
		font-size: 12px;
	}
}

.breadcrumbs ul li:first-child a::before {
    font-family: "Font Awesome 5 Free";
    content: '\f015';
    font-weight: 900;
    margin: 0 5px;
}

.breadcrumbs ul li:not(:last-child)::after {
    font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    margin: 0 5px;
}

/********** 共通ヘッダー **********/
header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    height: 100px;
    /* background: linear-gradient(to bottom, #0c3472, #4d6b9b); */
	background: #fff;
    padding: 0 20px;
	z-index: 10000;
}

@media screen and (max-width: 767px){
	header {
		height: 50px;
		padding: 0 10px;
	}
}

header .wrap,
footer .wrap{
	display: flex;
	height: 100%;
	padding: 0;
	align-items: center;
    justify-content: space-between;
}

header .site-logo a img{
	display: block;
	max-width: 300px;
	margin-right: 2vw;
}

@media screen and (max-width: 767px){
	header .site-logo a img{
		position: relative;
    	width: 160px;
    	z-index: 10000;
	}
}

@media screen and (max-width: 1199px){
	header nav.pc_nav {
		display: none;
	}
}

@media screen and (min-width: 1200px){
	header nav.sp_nav {
		display: none;
	}
}

header nav ul {
	display: flex;
	width: fit-content;
    margin-left: auto;
    /* justify-content: space-between; */
}

@media screen and (max-width: 1199px){
	header nav ul {
		flex-wrap: wrap;
	}
}

header nav ul li {
	position: relative;
    /* width: 20%; */
}

header nav ul li a {
	display: block;
	position: relative;
	padding: 10px;
	transition: 0.3s;
}

@media screen and (min-width: 1200px){
	header nav ul li a {
		text-align: center;
		padding: 10px 20px;
	}
	
	header nav ul li a::after {
		content: "";
		position: absolute;
		width: 0%;
		height: 1px;
		bottom: 0;
		left: 50%;
		background: var(--main-color-normal);
		transition: 0.3s;
	}
	
	header nav ul li a:hover::after {
		width: 100%;
		left: 0;
		transition: 0.3s;
	}
	
	header nav ul li:not(:first-child)::before {
		content: "";
		position: absolute;
		width: 1px;
		height: 100%;
		top: 0;
		left: -1px;
		background: color-mix(in srgb, var(--main-color-normal) 30%, transparent);
	}
}

@media screen and (max-width: 1199px){
	header nav ul li a {
		display: flex;
		position: relative;
		align-items: center;
	}
	
	header nav ul li a:after {
		font-family: "Font Awesome 5 Free";
    	content: '\f105';
    	    position: absolute;
    		right: 1rem;
    		font-size: 1em;
    		font-weight: bold;
	}
}

@media screen and (max-width: 767px){
	header nav ul li a {
		padding: 1rem 0;
	}
	
	header nav ul li a:after {
		right: 0;
	}
}

@media screen and (max-width: 1199px){
	header nav ul li{
		width: 100%;
	}
}

header nav ul li a p {
	font-size: 0.7rem;
	line-height: 1;
	margin-bottom: 5px;
}

@media screen and (max-width: 1199px){
	header nav ul li a p {
		width: 140px;
		margin: 0;
	}
}

@media screen and (max-width: 767px){
	header nav ul li a p {
		width: 100px;
		font-size: 1rem;
	}
}

header nav ul li a span {
	display: block;
	font-weight: bold;
	line-height: 1;
}

@media screen and (max-width: 767px){
	header nav ul li a span {
		font-size: 0.8rem;
	}
}

header .right {
	width: 100%;
}

@media screen and (max-width: 990px){
	header .right {
		width: auto;
	}
}

header .right .sp_tel {
	display: flex;
    position: relative;
    width: 80px;
    height: 80px;
    padding: 10px;
	font-weight: bold;
    color: #fff;
    background: #e98f2f;
	border: 1px solid rgba(255, 255, 255, 0.5);
    align-items: end;
    justify-content: center;
}

@media screen and (min-width: 991px){
	header .right .sp_tel {
		display: none;
	}
}

@media screen and (max-width: 990px){
	header .right .sp_tel {
		margin-right: 120px;
	}
}

@media screen and (max-width: 767px){
	header .right .sp_tel {
		font-size: 10px;
		margin-right: 50px;
		width: 40px;
    	height: 40px;
		padding: 3px;
	}
}

header .right .sp_tel span::before {
	content: '\f095';
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-size: 34px;
    font-weight: 900;
    top: 10px;
    left: calc(50% - 17px);
}

@media screen and (max-width: 767px){
	header .right .sp_tel span::before {
		font-size: 18px;
		left: calc(50% - 9px);
		top: 4px;
	}
}

header .right .right_top{
	display: flex;
	margin-bottom: 5px;
    align-items: center;
    justify-content: end;
}

@media screen and (max-width: 1199px){
	header .right .right_top{
		position: absolute;
		right: 8rem;
    	top: 30px;
	}
}

@media screen and (max-width: 990px){
	header .right .right_top{
		display: none;
	}
}

header .right .btn,
header .right .btn_fc {
    display: block;
    width: fit-content;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    padding: 0 30px;
    color: #fff;
    border: 1px solid #fff;
	border-radius: 3px;
}

header .right .btn {
	background: #1b9b1b;
}

header .right .btn:hover {
	background: #0f770f;
}

header .right .btn_fc {
	margin-left: 10px;
	background: #2390bf;
}

header .right .btn_fc:hover {
	background: #12749f;
}

header .right .btn span::before,
header .right .btn_fc span::before {
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
}

header .right .btn span::before {
    content: '\f450';
}

header .right .btn_fc span::before {
    content: '\f1ad';
}

header .right .tel {
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	margin-right: 20px;
}

header .right .tel::before {
	font-family: "Font Awesome 5 Free";
    content: '\f2a0';
    font-weight: 900;
    margin-right: 10px;
}

header .right .tel span {
	display: block;
	font-size: 14px;
	font-weight: normal;
	text-align: center;
	line-height: 1;
}

header .right .btn,
header .right .btn_fc {
	line-height: 40px
}

header .right .tel {
	line-height: 30px
}

@media screen and (min-width: 1200px){
	.sp_cta {
		display: none;
	}
}

footer .sp_cta {
	display: none;
}

.sp_cta .telbox {
	text-align: center;
	background: #fff;
    margin-top: 20px;
    margin-right: 0;
    padding: 10px;
    border-radius: 10px;
}

.sp_cta .telbox .det {
	font-size: 20px;
	font-weight: bold;
	color: #333;
}

@media screen and (max-width: 767px){
	.sp_cta .telbox .det {
		font-size: 16px;
	}
}

.sp_cta .telbox a {
	font-size: 2rem;
	font-weight: bold;
}

.sp_cta .telbox a span:before {
	content: "\f2a0";
	font-family: "Font Awesome 5 Free";
    font-weight: bold;
    margin-right: 10px;
}

.sp_cta .mailbox a {
	display: block;
	font-weight: bold;
	text-align: center;
	margin-top: 10px;
	padding: 10px;
	background: #eff5ff;
	border-radius: 5px;
}

.sp_cta .mailbox a span:before {
	content: "\f0e0";
	font-family: "Font Awesome 5 Free";
	font-size: 1.2em;
    font-weight: bold;
    margin-right: 10px;
}

.sp_cta .fcbox a {
	display: block;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
    padding: 15px 10px;
    color: #fff;
    background: linear-gradient(45deg, #e98f2f, #ffa84b, #e98f2f);
	border-radius: 5px;
}

.sp_cta .fcbox a span {
	text-shadow: 0 2px 2px #333;
}

.sp_cta .fcbox a span:before {
	content: "\f1ad";
	font-family: "Font Awesome 5 Free";
	font-size: 1.2em;
    font-weight: bold;
    margin-right: 10px;
}

.site-content {
	margin-top: 100px;
}

@media screen and (max-width: 767px){
	.site-content {
		margin-top: 50px;
	}
}

/********** TOPメインビジュアル **********/
.mv_area {
	position: relative;
}

.mv_area .slick img {
    aspect-ratio: 16 / 9;
    max-height: 65vh;
    object-fit: cover;
    object-position: center;
}

.mv_area .box {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
    left: 0;
	display: flex;
    align-items: center;
    justify-content: left;
}

.mv_area .box .wrap {
	width: 100%;
	display: flex;
	align-items: center;
}

.mv_area .catch {
	width: fit-content;
	/* background: rgba(9, 76, 115, 0.9); */
	padding: 2rem;
}

.mv_area .catch p {
	font-size: 2.4rem;
    font-weight: bold;
    color: var(--main-color-normal);
    text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}

.store_fv .catch p.daseki {
	font-size: 0.9rem;
    font-weight: bold;
    color: #fff;
    line-height: 1;
	margin-top: -1rem;
    padding: 10px 0;
    border-top: 1px solid;
    border-bottom: 1px solid;
}

@media screen and (max-width: 767px){
	.store_fv .catch p.daseki {
		font-size: 0.7rem;
	}
}

.store_fv .catch p.daseki::before {
    font-family: "Font Awesome 5 Free";
    content: '\f450';
    font-weight: 900;
    margin-right: 10px;
}

/********** メインメニュー **********/
.main_menu {
	margin-bottom: 0;
    padding: 50px 0;
    background: color-mix(in srgb, var(--main-color-normal) 8%, #fff);
}

@media screen and (max-width: 767px){
	.main_menu {
		padding: 20px 0 12px;
	}
}

.main_menu ul {
	/* max-width: 1200px; */
	margin: auto;
	display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
}

.main_menu ul li {
	/* width: 49%; */
	width: 33%;
}

@media screen and (max-width: 767px){
	.main_menu ul li {
		width: 100%;
		margin-bottom: 8px;
	}
}

.main_menu ul li a{
	display: block;
	position: relative;
    text-align: center;
	height: 100%;
	background: #fff;
	border-width: 1px;
    border-style: solid;
    border-color: color-mix(in srgb, var(--main-color-normal) 60%, transparent);
    border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 10px color-mix(in srgb, var(--main-color-normal) 40%, transparent);
}

@media screen and (max-width: 767px){
	.main_menu ul li a{
		padding: 10px;
	}
}

.main_menu ul li a:hover {
	color: #1355a3;
	background: #eff5ff;
}

.main_menu ul li p.title,
.main_menu ul li p.btn,
.main_menu ul li p.language {
	position: absolute;
}

.main_menu ul li p.title {
	font-family: 'Noto Serif JP';
    /* font-size: 32px; */
    font-size: 24px;
	font-weight: bold;
    line-height: 3;
    width: 100%;
    top: 0;
    background: rgba(255, 255, 255, 0.7);
}

@media screen and (max-width: 767px){
	.main_menu ul li p.title {
		font-size: 24px;
	}
}

.main_menu ul li p.btn {
	display: inline-block;
    width: 50%;
    font-size: 14px;
    background: #fff;
    padding: 10px;
	border-width: 1px;
	border-style: solid;
    border-color: var(--main-color-normal);
	overflow: hidden;
	bottom: 4%;
	left: 25%;
}

@media screen and (max-width: 767px){
	.main_menu ul li p.btn {
		font-size: 12px;
	}
}

.main_menu ul li a:hover p.btn {
	color: #fff;
}

.main_menu ul li p.btn::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: -100%;
	left: 0;
	background: var(--main-color-normal);
	transition: 0.3s;
}

.main_menu ul li a:hover p.btn::before {
	top: 0;
}

.main_menu ul li p.language {
	width: 100%;
	top: 6rem;
	left: 0;
}

.main_menu ul li p.language span {
    color: #fff;
    background: var(--main-color-normal);
    border-radius: 100px;
    padding: 5px 2rem;
}

.main_menu ul li p span {
	position: relative;
}

@media screen and (min-width: 1200px){
	.main_menu ul li a img{
		/* aspect-ratio: 16 / 9; */
		object-fit: cover;
		object-position: center;
	}
}

/********** サービス紹介 **********/
.single_service .summary .lead {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 2rem;
	color: var(--accent-color1);
}

@media screen and (max-width: 767px){
	.single_service .summary .lead {
		font-size: 1.6rem;
		text-align: center;
		margin-bottom: 2rem;
	}
}

.single_service .summary .box img.image {
	width: 40%;
}

.single_service .summary .box .description {
	width: 58%;
}

.single_service .summary .box .description p.txt {
	font-size: 1.1rem;
}

.single_service .plan {
	background: color-mix(in srgb, var(--main-color-normal) 8%, #fff);
}

.single_service .plan .list {
	align-items: start;
	justify-content: space-between;
}

.single_service .plan .list .box {
	width: 48%;
	margin-bottom: 2%;
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: space-between;
	padding: 1rem;
    background: #fff;
	box-shadow: 0 4px 10px color-mix(in srgb, var(--main-color-normal) 40%, transparent);
}


.single_service .plan .list .box h3 {
	width: 100%;
    font-size: 1.2rem;
    text-align: center;
    color: #fff;
    background: var(--accent-color1);
    margin-bottom: 1rem;
    padding: 1rem 0;
}

.single_service .plan .list .box img {
	width: 40%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: left;
	border-radius: 1rem;
}

.single_service .plan .list .box .right {
	width: 58%;
}

.single_service .plan .list .box dl {
	display: flex;
	flex-wrap: wrap;
	/* align-items: center; */
}

.single_service .plan .list .box dl dt,
.single_service .plan .list .box dl dd {
	margin-bottom: 5px;
	padding: 10px;
}

.single_service .plan .list .box dl dt {
	width: 65px;
    font-weight: bold;
    text-align: center;
	color: var(--main-color-normal);
    background: color-mix(in srgb, var(--main-color-light) 15%, #fff);
}

.single_service .plan .list .box dl dt.wide {
	width: 100px;
}

.single_service .plan .list .box dl dd {
	width: calc(100% - 65px);
}

.single_service .plan .list .box dl dd.narrow {
	width: calc(100% - 100px);
}

.single_service .plan .list .box dl dd span {
	font-size: 1.2em;
	font-weight: bold;
	color: var(--main-color-light);
}

.single_service .plan .list .box .detail p.badge,
.single_service .plan .list .box .notes p.badge{
	margin-bottom: 5px;
	padding: 10px;
	font-weight: bold;
	color: var(--main-color-normal);
    background: color-mix(in srgb, var(--main-color-light) 15%, #fff);
}

.single_service .plan .list .box ul {
	list-style: disc;
	padding-left: 30px;
}

.single_service .plan .list .box .detail ul {
	margin-bottom: 1rem;
}

/********** お知らせ **********/
.news {
	background: #eee;
	padding: 60px 0;
}

@media screen and (max-width: 767px){
	.news {
		margin-bottom: 30px;
		padding: 30px 0;
	}
}

.news .wrap {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 1180px){
	.news .wrap {
		display: block;
	}
}

.news .left {
	width: 25%;
}

@media screen and (max-width: 1180px){
	.news .left {
		width: 100%;
	}
}

.news .left h2,
.news .left .alpha{
	text-align: left;
}

@media screen and (max-width: 1180px){
	.news .left h2,
	.news .left .alpha {
		text-align: center;
	}
}

@media screen and (max-width: 767px){
	.news .left h2 {
		margin-bottom: 0;
	}
	
	.news .left .alpha {
		display: none;
	}
}

.news .right {
	width: 70%;
	background: #fff;
    padding: 2rem;
}

@media screen and (max-width: 1180px){
	.news .right {
		width: 100%;
	}
}

@media screen and (max-width: 767px){
	.news .right {
		padding: 1rem;
	}
}

.news .right ul {
	
}

.news .right ul li a,
.news_archive ul li a{
	display: flex;
	color: #333;
	align-items: start;
	transition: 0.3s;
}

@media screen and (min-width: 768px){
	.news_archive ul li a{
		padding: 10px 0;
	}
}

@media screen and (max-width: 640px){
	.news .right ul li a,
	.news_archive ul li a{
		display: block;
	}
}

.news .right ul li a .meta,
.news_archive ul li a .meta{
	display: flex;
}

@media screen and (max-width: 640px){
	.news .right ul li a .meta,
	.news_archive ul li a .meta{
		margin-bottom: 10px;
		align-items: center;
		justify-content: space-between;
	}
}

.news .right ul li a .date,
.news_archive ul li a .date{
	width: fit-content;
	font-weight: bold;
	margin-right: 20px;
}

.news .right ul li a .store,
.news_archive ul li a .store,
.news_single .meta .store {
    display: flex;
    width: 120px;
    margin-right: 20px;
    font-size: 0.8em;
    text-align-last: center;
    color: #fff;
    background: #167ac6;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 640px){
	.news .right ul li a .date,
	.news_archive ul li a .store,
	.news .right ul li a .store {
		margin-right: 0;
	}
	
	.news .right ul li a .store,
	.news_archive ul li a .store,
	.news_single .meta .store{
		font-size: 0.8em;
	}
}

.news .right ul li a .store.other,
.news_archive ul li a .store.other,
.news_single .meta .store.other {
	background: #1b9b1b;
}

.news .right ul li a .title,
.news_archive ul li a .title{
	width: 100%;
	transition: 0.3s;
}

.news .right ul li a:hover .title,
.news_archive ul li a:hover .title{
	color: #6AC9F2;
    transition: 0.3s;
}

.news .right ul li:not(:last-child),
.news_archive ul li:not(:last-child){
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px dashed #ccc;
}

.news .right a.btn,
.news_single article a.btn{
	display: block;
	width: 100%;
	max-width: 320px;
	text-align: center;
	margin: 30px auto 0;
	padding: 10px;
	border: 1px solid;
	border-radius: 100px;
}

.news .right a.btn span::before,
.news_single article a.btn span::before{
	font-family: "Font Awesome 5 Free";
    content: '\f101';
    font-weight: 900;
    margin-right: 10px;
}

.news .right a.btn:hover,
.news_single article a.btn:hover{
	color: #fff;
	background: #1355a3;
}

.news_single ul.linklist {
	margin-left: 30px;
	list-style: disc;
	line-height: 2;
}

.news_archive ul {
	max-width: 1200px;
	margin: auto;
}

/********** お知らせ記事 **********/
.wrap.flex {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: space-between;
	margin-bottom: 50px;
}

.news_single,
.news_archive,
.column_single,
.column_archive{
	width: calc(100% - 440px);
}

@media screen and (max-width: 990px){
	.news_single,
	.news_archive,
	.column_single,
	.column_archive{
		width: 65%;
	}
}

@media screen and (max-width: 767px){
	.news_single,
	.news_archive,
	.column_single,
	.column_archive{
		width: 100%;
	}
}

.news_single h2 {
	font-size: 28px;
	color: #1355a3;
	margin-bottom: 40px;
	padding-bottom: 20px;
	border-bottom: 1px solid;
}

@media screen and (max-width: 767px){
	.news_single h2 {
		font-size: 20px;
	}
}

.news_single h3 {
	color: #1355a3;
	background: #eaf7ff;
	margin-bottom: 10px;
	padding: 10px;
}

.news_single h4 {
	color: #1355a3;
    margin-bottom: 10px;
    padding: 5px;
    border-left: 5px solid;
}

.news_single .meta {
	display: flex;
	margin-bottom: 10px;
}

.news_single .meta .date {
	margin-right: 20px;
}

.news_single .meta .date::before {
    font-family: "Font Awesome 5 Free";
    content: '\f073';
    font-weight: 900;
	margin-right: 10px;
}

.news_single article img {
	max-width: 600px;
}

.news_single article img.thumbs {
	margin-bottom: 2rem;
}

.news_single article p:not(:last-child) {
	margin-bottom: 20px;
}

.news_single p span {
	font-weight: bold;
}

.news_single p span.big {
	font-size: 1.2em;
}

.news_single p span.green {
	color: #1b9b1b;
}

.news_single p span.red {
	color: #c74b55;
}

.news_single p.closed {
	background: #ffedee;
	font-weight: bold;
	text-align: center;
	margin-top: 1rem;
	padding: 1rem;
}

.news_single ul.box_list {
	border: 1px solid #4191c3;
    background: #eaf7ff;
    padding: 1rem 1rem 1rem 40px;
    list-style: disc;
}

@media screen and (max-width: 767px){
	.news_single ul.box_list {
		font-size: 14px;
	}
}

.news_single ul li:not(:last-child){
	margin-bottom: 10px; 
}

.news_single table {
	margin-bottom: 20px;
}

.news_single table.plan {
	min-width: 70%;
}

.news_single table th,
.news_single table td {
	border: 1px solid #ccc;
	padding: 10px;
}

@media screen and (max-width: 767px){
	.news_single table th,
	.news_single table td {
		font-size: 14px;
	}
}

.news_single table th {
	background: #eee;
    white-space: nowrap;
}

.news_single table.plan th {
	width: 30%;
}

.news_single table.plan td {
	width: 70%;
}

.news_single .navigation {
	margin: 40px auto 0;
	padding: 20px;
    background: #eee;
}

@media screen and (max-width: 767px){
	.news_single .navigation {
		padding: 10px;
	}
}

.news_single .navigation ul {
	display: flex;
	justify-content: space-between;
}

.news_single .navigation ul li {
	width: 30%;
	max-width: 200px;
}

.news_single .navigation ul li a {
	display: block;
    position: relative;
    text-align: center;
    background: #eaf7ff;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 0 4px #333;
}

@media screen and (max-width: 767px){
	.news_single .navigation ul li a {
		font-size: 14px;
		padding: 10px 5px;
	}
}

@media screen and (max-width: 767px){
	.news_single .navigation ul li:first-child a {
		padding-left: 20px;
	}
	
	.news_single .navigation ul li:last-child a {
		padding-right: 20px;
	}
}

.news_single .navigation ul li:first-child a::before,
.news_single .navigation ul li:last-child a::after {
	position: absolute;
    font-family: "Font Awesome 5 Free";
	font-weight: 900;
	top: calc(50% - 10px);
    line-height: 20px;
}

.news_single .navigation ul li:first-child a::before {
    content: '\f137';
    left: 10px;
}

.news_single .navigation ul li:last-child a::after {
    content: '\f138';
    right: 10px;
}

.news_side {
	width: 360px;
	box-shadow: 0 0 4px #999;
	border-radius: 10px;
	overflow: hidden;
}

@media screen and (max-width: 990px){
	.news_side {
		width: 30%;
	}
}

@media screen and (max-width: 767px){
	.news_side {
		width: 100%;
		margin-top: 40px;
	}
}

.news_side h2 {
	font-size: 20px;
	text-align: center;
	color: #fff;
	background: #4d6b9b;
	padding: 20px;
}

@media screen and (max-width: 767px){
	.news_side h2 {
		font-size: 16px;
		padding: 10px;
	}
}

.news_side ul {
	padding: 20px;
}

@media screen and (max-width: 767px){
	.news_side ul {
		padding: 10px;
	}
}

.news_side ul li:not(:last-child){
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
}

.news_side ul li a p.date{
	font-size: 14px;
	font-weight: bold;
	color: #333;
}

.news_side ul li a p.title{
	font-size: 16px;
}

@media screen and (max-width: 990px){
	.news_side ul li a p.title{
		font-size: 14px;
	}
}

/********** コラム記事 **********/
.column_archive {
	
}

.column_archive ul {
	
}

.column_archive ul li:not(:last-child){
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px){
	.column_archive ul li:not(:last-child){
		margin-bottom: 1rem;
	}
}

.column_archive ul li a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	.column_archive ul li a {
		border: 1px solid #999;
		border-radius: 10px;
		overflow: hidden;
	}
}

.column_archive ul li a img {
	width: 30%;
	aspect-ratio: 16 / 9;
}

@media screen and (max-width: 767px){
	.column_archive ul li a img {
		width: 100%;
	}
}

.column_archive ul li a .meta {
	width: 66%;
}

@media screen and (max-width: 767px){
	.column_archive ul li a .meta {
		width: 100%;
		padding: 1rem;
	}
}

.column_archive ul li a .meta p {
	color: #000;
}

.column_archive ul li a .meta p.date {
	font-size: 0.9rem;
	font-weight: bold;
}


.column_archive ul li a .meta p.title {
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 1rem;
	color: #1355a3;
}

@media screen and (max-width: 767px){
	.column_archive ul li a .meta p.title {
		font-size: 1rem;
	}
}

.column_archive ul li a .meta p.txt {
	font-size: 0.9rem;
}

@media screen and (max-width: 767px){
	.column_archive ul li a .meta p.txt {
		font-size: 0.85rem;
		line-height: 1.5;
		display: -webkit-box; /* 必須 */
    	-webkit-box-orient: vertical; /* 必須 */
    	-webkit-line-clamp: 3; /* 行数を制限 */
    	overflow: hidden; /* はみ出た部分を非表示 */
	}
}

/********** メッセージセクション **********/
.message {
    background: #fff;
    background-image: url(./img/front_image01.jpg);
    background-size: 40%;
    background-repeat: no-repeat;
    background-position: left top;
}

.message .box {
	width: 60%;
	margin-left: 40%;
    padding-left: 20px;
	background-image: url(./img/front_back13.png);
    background-repeat: no-repeat;
    background-position: right 10% top;
	background-size: contain;
}

@media screen and (max-width: 767px){
	.message .box {
		margin-top: 20px;
		padding-left: 0;
		background-position: left top;
    	background-size: 60vw;
	}
}

.message .alpha {
	text-align: left;
}

@media screen and (max-width: 1180px){
	.message .alpha {
		text-align: center;
	}
}

.message h2 {
	margin-bottom: 20px;
	text-align: left;
}

@media screen and (max-width: 1180px){
	.message h2 {
		text-align: center;
	}
}

.message p.title {
	font-size: 36px;
	font-weight: bold;
    color: #8f8356;
	margin-bottom: 20px;
}

.message p.txt {
	line-height: 2;
	margin-bottom: 20px;
}

@media screen and (max-width: 1440px){
	.message {
		background-size: 50%;
	}
	
	.message .box {
		width: 50%;
		margin-left: 50%;
	}
	
	.message p.title {
		font-size: 28px;
	}
}

@media screen and (max-width: 1180px){
	.message {
		background: none;
	}
	
	.message .wide{
		display: none;
	}
	
	.message .flex {
		display: flex;
	}
	
	.message .box {
		margin-left: 0;
	}
	
	.message p.title {
		font-size: 22px;
		text-align: center;
	}
	
	.message figure {
		width: 50%;
	}
}

@media screen and (max-width: 767px){
	.message .flex {
		display: block;
	}
	
	.message figure,
	.message .box {
		width: 100%;
	}
	
	
}

@media screen and (min-width: 1181px){
	.message .narrow{
		display: none;
	}
}

/********** 選ばれる6つの理由 **********/
.reason {
    background-image: url(./img/front_back01.jpg);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
	margin-bottom: 0;
    padding: 60px 0;
}

@media screen and (max-width: 767px){
	.reason {
		background-image: url(./img/front_back05.png);
		background-attachment: unset;
		background-size: contain;
		padding: 30px 0;
	}
}

.reason .wrap {
	max-width: 100%;
}

.reason ul {
	display: flex;
    flex-wrap: wrap;
    margin: auto;  
    justify-content: space-between;
}

@media screen and (min-width: 768px){
	.reason ul {
		padding: 2rem;
	}
}

.reason ul li {
    width: 49%;
    display: flex;
    margin-bottom: 40px;
    justify-content: space-between;
    counter-increment: number;
}

@media screen and (max-width: 1199px){
	.reason ul li {
		width: 100%;
	}
}

@media screen and (min-width: 768px){
	.reason ul li {
		background: #fff;
	}
}

@media screen and (max-width: 767px){
	.reason ul li {
		flex-wrap: wrap;
		justify-content: space-between;
	}
	
	.reason ul li:last-child {
		margin-bottom: 0;
	}
}

@media screen and (min-width: 1200px){
	.reason ul li:nth-child(even){
		flex-direction: row-reverse;
	}
}

.reason ul li:not(:last-child){
	margin-bottom: 40px;
}

.reason ul li figure {
	display: flex;
	width: 35%;
	align-items: center;
}

@media screen and (min-width: 1200px){
	.reason ul li:nth-child(odd) figure {
		clip-path: polygon(0 0, calc(100% - 2vw) 0%, 100% 100%, 0% 100%);
	}
	
	.reason ul li:nth-child(even) figure {
		clip-path: polygon(0 0, 100% 0%, 100% 100%, 2vw 100%);
	}
}

@media screen and (max-width: 1199px){
	.reason ul li figure {
		width: 25%;
	}
}

@media screen and (max-width: 767px){
	.reason ul li figure {
		width: 26%;
		min-width: auto;
		align-items: start;
	}
}

.reason ul li figure img {
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

@media screen and (max-width: 767px){
	.reason ul li figure img {
		height: auto;
		border-radius: 5px;
    	box-shadow: 5px 5px 0 #ccc;
	}
}

.reason ul li .box {
	width: 65%;
}

@media screen and (max-width: 1199px){
	.reason ul li .box {
		width: 75%;
	}
}

@media screen and (max-width: 767px){
	.reason ul li .box {
		width: 70%;
		padding-left: 0;
	}
}

@media screen and (min-width: 768px){
	.reason ul li .box{
		padding: 1rem 2rem;
	}
}

@media screen and (max-width: 767px){
	.reason ul li:not(:last-child){
		border-bottom: 1px dashed #ccc;
		margin-bottom: 20px;
    	padding-bottom: 20px;
	}
}

@media screen and (min-width: 1200px){
	.reason ul li .box p {
		font-size: 1vw;
	}
}

@media screen and (min-width: 1440px){
	.reason ul li .box p {
		font-size: 18px;
	}
}

.reason ul li .box p span {
	font-weight: bold;
    color: #065fd4;
    background: linear-gradient(transparent 60%, #ffffbe 60%);
}

.reason ul li h3 {
	font-size: 1.4vw;
	color: #1355a3;
	position: relative;
	margin-bottom: 20px;
}

@media screen and (max-width: 1199px){
	.reason ul li h3 {
		font-size: 24px;
	}
}

@media screen and (max-width: 767px){
	.reason ul li .box h3 {
		display: none;
	}
}

@media screen and (min-width: 768px){
	.reason ul li h3.sp {
		display: none;
	}
}

@media screen and (max-width: 767px){
	.reason ul li h3.sp {
		width: 100%;
		font-size: 20px;
	}
	
	.reason ul li p {
    	line-height: 1.6;
	}
}

.reason ul li .box p.caution {
	color: #c74b55;
	margin-top: 1rem;
	text-align: left;
}

.reason ul li .box p.caution a {
	text-decoration: underline;
}

.reason ul li h3::before {
  	content: "POINT." counter(number);
	display: block;
	font-family: 'Noto Serif JP';
	font-size: 1.4em;
	font-weight: bold;
	color: #8f8356;
	margin-right: 20px;
}

/********** ご利用方法 **********/
.howto {
	margin-bottom: 0;
    padding: 60px 0;
}

@media screen and (max-width: 767px){
	.howto {
		padding: 30px 0;
	}
}

.howto .flex {
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	justify-content: space-between;
}

.howto .flex .box {
	width: 48%;
	margin-bottom: 2rem;
	padding: 2rem;
    background: #eaf7ff;
}

@media screen and (max-width: 767px){
	.howto .flex .box {
		width: 100%;
		padding: 1rem;
	}
	
	.howto .flex .box:not(:last-child){
		margin-bottom: 1rem;
	}
}

.howto .flex .box h3 {
	font-size: 2rem;
	text-align: center;
	color: #fff;
	background: #1355a3;
	margin-bottom: 2rem;
	padding: 1rem;
}

@media screen and (max-width: 767px){
	.howto .flex .box h3 {
		font-size: 1.3rem;
		margin-bottom: 1rem;
		padding: 10px;
	}
}

.howto .flex .box ul li {
	counter-increment: flow;
}

.howto .flex .box ul li:not(:last-child){
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px dashed #999;
}

@media screen and (max-width: 767px){
	.howto .flex .box ul li:not(:last-child){
		padding-bottom: 1rem;
		margin-bottom: 1rem;
	}
}

.howto .flex .box ul li h4 {
	display: flex;
	font-size: 1.4rem;
	align-items: center;
	margin-bottom: 1rem;
}

@media screen and (max-width: 767px){
	.howto .flex .box ul li h4 {
		display: block;
		font-size: 1.2rem;
	}
}

.howto .flex .box ul li h4::before {
	content: "STEP." counter(flow);
    display: block;
    font-family: 'Noto Serif JP';
	font-size: 1.2em;
    font-weight: bold;
    color: #8f8356;
    margin-right: 10px;
}

.howto .flex .box ul li figure {
	border: 1px solid #999;
}

/********** YOUTUBE **********/
.youtube {
	background: #eff5ff;
	margin-bottom: 0;
    padding: 60px 0;
}

@media screen and (max-width: 767px){
	.youtube {
		padding: 30px 0;
	}
}

.youtube h2.lead {
	line-height: 2;
    color: #8f8356;
}

@media screen and (max-width: 767px){
	.youtube h2.lead {
		line-height: 1.5;
	}
}

.youtube .flex ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 1200px;
    margin: auto;
	justify-content: space-around;
}

.youtube .flex ul li {
	width: 48%;
	height: 48%;
}

@media screen and (min-width: 768px){
	.youtube .flex .ul li {
		aspect-ratio: 16 / 9;
	}
	
	.youtube .flex ul li:first-child,
	.youtube .flex ul li:nth-child(2) {
		margin-bottom: 2%;
	}
}

@media screen and (max-width: 767px){
	.youtube .flex ul li {
		width: 90%;
		height: 90%;
	}
	
	.youtube .flex ul li:not(:last-child) {
		margin-bottom: 2%;
	}
}

.youtube .flex ul li iframe {
	width: 100%;
	height: 100%;
	aspect-ratio: 16/ 9;
}

.youtube .flex ul li h3 {
	text-align: center;
	margin-bottom: 20px;
}

.youtube .flex ul li h3 span {
	position: relative;
	font-size: 24px;
	padding-right: 24px;
}

@media screen and (max-width: 767px){
	.youtube .flex ul li h3 span {
		font-size: 16px;
		padding-right: 16px;
	}
}

.youtube .flex ul li h3 span::before {
	font-family: "Font Awesome 5 Free";
    content: '\f03d';
    font-weight: 900;
    margin: 0 10px;
}

/********** INSTAGRAM **********/
.instagram {
	margin-bottom: 0;
    padding: 60px 0;
}

@media screen and (max-width: 767px){
	.instagram {
		padding: 30px 0;
	}
}

/********** 下層ページ共通 **********/
.single_head {
	background-image: url(./img/single_head_back.jpg);
    background-position: center bottom;
    background-size: cover;
}

.single_head .flex {
	display: flex;
	align-items: center;
	justify-content: center;
}

.single_head h1 {
	width: fit-content;
    padding: 10vh 0;
}

@media screen and (max-width: 767px){
	.single_head h1 {
		width: 100%;
		padding: 6vh 0;
	}
}

.single_head h1 span {
	position: relative;
	font-size: 3rem;
	color: #fff;
	line-height: 1;
	text-shadow: 0 1px 2px #084B72, 0 1px 3px #084B72, 0 1px 4px #084B72;
}

@media screen and (max-width: 767px){
	.single_head h1 span {
		display: block;
    	font-size: 6vw;
    	text-align: center;
	}
}

.single_head a.trial{
	font-family: Noto Serif JP;
	font-weight: bold;
	display: block;
	background: linear-gradient(45deg, #923893, #ca76cb, #ca76cb, #923893);
	padding: 1vh 4vh;
    border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	/* animation: blinking 3s ease-in-out infinite alternate; */
}

@media screen and (max-width: 767px){
	.single_head a.trial {
		width: 60%;
		margin: 0 auto 4vh;
		padding: 1vh 4vw;
		border-radius: 10px;
	}
}

.single_head a.trial:hover {
	filter: brightness(90%);
}

.single_head p.lead1{
    font-size: 1.8rem;
    text-align: center;
    height: 100%;
}

@media screen and (min-width: 991px){
	.single_head p.lead1{
		display: flex;
    	flex-wrap: wrap;
    	max-width: 360px;
    	background-image: url(./img/golf_taiken.png);
    	background-repeat: no-repeat;
    	background-size: contain;
    	background-position: left center;
    	padding-left: 50px;
    	align-items: center;
	}
}

@media screen and (max-width: 767px){
	.single_head p.lead1{
		width: 100%;
		font-size: 5vw;		
	}
}

.single_head p.lead1 span {
    width: 100%;
}

.single_head p.lead1 span.st {
	font-size: 0.85em;
}

.single_head p.lead1 span.big {
	display: inline-block;
	background: linear-gradient(180deg, #fff 0%, #fff3ff 72%, #fff 100%);
	background: -webkit-linear-gradient(-90deg, #fff 0%, #fff3ff 72%, #fff 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1.2;
	margin-bottom: 10px;
}

.single_head p.lead1 span.small{
	font-family: 'Noto Sans JP', sans-serif;
    display: block;
	font-size: 0.6em;
	color: #fff;
}

.single_head p.lead1 span.small::before {
	font-family: "Font Awesome 5 Free";
    content: '\f105';
    font-weight: 900;
    margin: 0 5px;
}

.single_head p.lead1 a {
	display: block;
	font-size: 2vh;
	margin: auto;
    color: #fff;
}

@media screen and (max-width: 767px){
	.single_head p.lead1 a {
		width: 80%;
    	font-size: 4vw;
    	border: none;
    	line-height: 2;
		background: #1b9b1b;
	}
}

.single_head p.lead2 {
    font-size: 3vh;
    text-align-last: justify;
    padding: 1vh 6vh;
    border: 1px solid #fff;
	white-space: nowrap;
}

@media screen and (max-width: 767px){
	.single_head p.lead2 {
		font-size: 3vw;
		padding: 1vh 4vw;
	}
}


/********** 店舗一覧ページ **********/
.store_archive {
	
}

.store_archive ul {
	display: flex;
    flex-wrap: wrap;
}

.store_archive ul li {
	display: flex;
    flex-direction: column;
    position: relative;
    border: 1px solid #eee;
    background: #fff;
}

@media screen and (min-width: 1441px){
	.store_archive ul li {
		width: 22%;
    	margin-bottom: 3%;
	}
	.store_archive ul li:not(:nth-child(4n)){
		margin-right: 3%;
	}
}

@media screen and (max-width: 1440px) and (min-width: 768px){
	.store_archive ul li {
		width: 32%;
    	margin-bottom: 2%;
	}
	.store_archive ul li:not(:nth-child(3n)){
		margin-right: 2%;
	}
}

@media screen and (max-width: 767px){
	.store_archive ul li {
		width: 100%;
		flex-wrap: wrap;
        flex-direction: unset;
		margin-bottom: 6%;
	}
	
	.store_archive ul li a.fig {
		width: 30%;
	}
}

.store_archive ul li .link {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: auto;
	padding: 0 10px 10px;
}

@media screen and (max-width: 767px){
	.store_archive ul li .link {
		margin-top: 20px;
		padding: 0;
	}
}

.store_archive ul li .link a {
	width: 49%;
	display: block;
	position: relative;
	font-size: 14px;
	text-align: center;
	color: #fff;
	padding: 5px;
	border: 1px solid;
    border-radius: 50px;
	transition: 0.3s;
}

@media screen and (max-width: 767px){
	.store_archive ul li .link a {
		font-size: 12px;
		padding: 3px;
	}
}

.store_archive ul li .link a.detail {
	background: #0c3472;
}

.store_archive ul li .link a.detail:hover {
	color: #0c3472;
	background: #fff;
}

.store_archive ul li .link a.trial {
	background: #923893;
}

.store_archive ul li .link a.trial:hover {
	color: #923893;
	background: #fff;
}

.store_archive ul li p.grandopen {
    position: absolute;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    background: #1b9b1b;
    border: 1px solid #fff;
}

@media screen and (min-width: 768px){
	.store_archive ul li p.grandopen {
		font-size: 14px;
		top: 5px;
    	left: 5px;
		padding: 10px;
	}
}

@media screen and (max-width: 767px){
	.store_archive ul li p.grandopen {
		font-size: 12px;
		top: 5px;
    	right: 5px;
		padding: 6px;
	}
}

.store_archive ul li figure{
	width: 100%;
}

.store_archive ul li figure img {
	object-fit: cover;
	aspect-ratio: 16 / 9;
}

@media screen and (max-width: 767px){
	.store_archive ul li figure img {
		height: 100%;
		aspect-ratio: 1 / 1;
	}
}

.store_archive ul li .box {
	padding: 10px;
}

@media screen and (max-width: 767px){
	.store_archive ul li .box {
		width: 70%;
		padding: 5px 5px 5px 10px;
	}
}

.store_archive ul li .box h2 {
	font-size: 20px;
	color: #1355a3;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px){
	.store_archive ul li .box h2 {
		font-size: 18px;
	}
}

.store_archive ul li .box p {
	position: relative;
	font-size: 14px;
}

@media screen and (max-width: 767px){
	.store_archive ul li .box p {
		font-size: 3.2vw;
		line-height: 1.2;
	}
	
	.store_archive ul li .box p.address {
		display: -webkit-box; /* 必須 */
    	-webkit-box-orient: vertical; /* 必須 */
    	-webkit-line-clamp: 1; /* 行数を制限 */
    	overflow: hidden; /* はみ出た部分を非表示 */
	}
}

.store_archive ul li .box p:not(:last-child){
	margin-bottom: 5px;
}



.store_archive ul li .box p:not(.btn) {
	padding-left: 25px;
}

@media screen and (max-width: 767px){
	.store_archive ul li .box p:not(.btn) {
		padding-left: 20px;
	}
}

.store_archive ul li .box p::before,
.store_archive ul li .box p.btn span::before{
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 6px;
}

.store_archive ul li .box p:not(.btn)::before {
	position: absolute;
	left: 0;
	width: 20px;
    text-align: center;
}

.store_archive ul li .box p.address::before {
    content: '\f3c5';
}

.store_archive ul li .box p.access::before {
	content: '\f239';
}

.store_archive ul li .box p.number::before {
	content: '\f095';
}

@media screen and (max-width: 767px){
	.store_archive ul li .box p.access,
	.store_archive ul li .box p.number{
		display: none;
	}
}

.store_archive ul li .box p.btn {
    display: inline-block;
    position: absolute;
    bottom: 0;
    width: 60%;
    text-align: center;
	padding: 5px;
	color: #1355a3;
	border: 1px solid;
    border-radius: 50px;
	transition: 0.3s;
}

@media screen and (min-width: 768px){
	.store_archive ul li .box p.btn {
		left: 50%;
    	transform: translate(-50%, -50%);
    	-webkit-transform: translate(-50%, -50%);
    	-ms-transform: translate(-50%, -50%);
	}
}

@media screen and (max-width: 767px){
	.store_archive ul li .box p.btn {
		font-size: 3.2vw;
		bottom: 5px;
		right: 10px;
		width: 30%;
		padding: 4px;
	}
}

.store_archive ul li a:hover .box p.btn {
	color: #fff;
	background: #1355a3;
	transition: 0.3s;
}

.store_archive ul li .box p.btn span {
	position: relative;
}

.store_archive ul li .box p.btn span::before {
    content: '\f101';
}

/********** 店舗詳細ページ **********/
.store_fv {
	display: flex;
    position: relative;
	/* height: 45vh; */
	height: 32vh;
}

@media screen and (max-width: 767px){
	.store_fv {
		height: 25vh;
	}
}


.store_fv video {
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.store_fv .inline {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    background: rgba(16, 16, 16, 0.6);
}

.store_fv .inline .wrap {
	display: flex;
	position: relative;
    height: 100%;
    align-items: center;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	.store_fv .inline .wrap {
		flex-wrap: wrap;
	}
}

.store_fv .catch {
	position: relative;
}

@media screen and (max-width: 767px){
	.store_fv .catch {
		width: 100%;
	}
}

.store_fv .catch .flex {
	display: flex;
	align-items: start;
	justify-content: space-between;
}

.store_fv .catch a.trial {
	display: block;
    color: #fff;
    background: linear-gradient(45deg, #923893, #ca76cb, #ca76cb, #923893);
	padding: 10px 20px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 3px;
}

@media screen and (min-width: 768px){
	.store_fv .catch a.trial {
		width: fit-content;
		margin-top: 1rem;
	}
}

@media screen and (max-width: 767px){
	.store_fv .catch a.trial {
		font-size: 14px;
        padding: 10px;
        line-height: 1;
	}
}

.store_fv .catch a.trial span::before {
	content: '\f450';
	font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 5px;
}

.store_fv .catch a.trial:hover {
	filter: brightness(90%);
}

.store_fv .catch .copy1,
.store_fv .catch .copy2 {
	width: fit-content;
    font-weight: bold;
    clip-path: polygon(0 0, calc(100% - 1vw) 0%, 100% 100%, 0% 100%);
    padding: 0.5vh 4vh 0.5vh 1vh;
}

@media screen and (max-width: 767px){
	.store_fv .catch .copy1,
	.store_fv .catch .copy2{
		padding: 0.5vw 6vw 0.5vw 3vw;
		clip-path: polygon(0 0, calc(100% - 3vw) 0%, 100% 100%, 0% 100%);
	}
}

.store_fv .catch .copy1 {
	font-size: 2vh;
	color: #fff;
    background: #8f8356;
}

@media screen and (max-width: 767px){
	.store_fv .catch .copy1 {
		font-size: 4vw;
        padding: 5px 20px 5px 10px;
	}
}

.store_fv .catch .copy2 {
	font-size: 2vh;
	color: #1355a3;
	background: #eff5ff;
}

@media screen and (max-width: 767px){
	.store_fv .catch .copy2 {
		font-size: 3vw;
	}
}


.store_fv .catch h1 {
	font-size: 4.2vh;
    color: #fff;
	/* margin-bottom: 4vh; */
    padding: 0 0 2vh;
    /* border-bottom: 1px solid; */
}

@media screen and (max-width: 767px){
	.store_fv .catch h1 {
		font-size: 24px;
	}
}

.store_fv .wrap .grand_open {
    position: absolute;
    color: #fff;
    bottom: -3vh;
}

@media screen and (max-width: 767px){
	.store_fv .wrap .grand_open {
		font-size: 0.7rem;
    	line-height: 1.2;
    	bottom: 0;
	}
}

/********** 店舗別キャンペーン情報 **********/
.campain {
	width: 440px;
    background: rgba(255, 255, 255, 0.7);
	margin-left: 5vw;
    padding: 2vh;
}

@media screen and (max-width: 767px){
	.spcamp {
    	padding: 10px;
	}
	
	.campain {
		width: 100%;
		margin-top: -30px;
		margin-left: 0;
		margin-bottom: 30px;
    	padding: 20px 10px;
    	background: linear-gradient(to bottom, #dfd5ac, #fff, #fff, #dfd5ac);
	}
	
	.store_fv .campain {
		display: none;
	}
}

@media screen and (min-width: 768px){
	.spcamp .campain {
		display: none;
	}
}

.campain p.head {
	font-family: Noto Serif JP;
	width: 100%;
    text-align: center;
    margin-bottom: 2vh;
}

.campain p.head span {
	position: relative;
	font-size: 3vh;
    font-weight: bold;
	line-height: 1;
	color: #6f5f22;
	text-shadow: 0 2px 2px #fff;
}

@media screen and (max-width: 767px){
	.campain p.head span {
		font-size: 24px;
	}
}

.campain p.head span::before {
	display: block;
    content: "";
    width: 100%;
    height: 30px;
	margin-bottom: 5px;
    background-image: url(./img/campain_frameline_top.png);
    background-size: contain;
    background-repeat: no-repeat;
	background-position: center;
}

@media screen and (max-width: 767px){
	.campain p.head span::after {
		display: block;
    	content: "";
    	width: 100%;
    	height: 30px;
    	background-image: url(./img/campain_frameline_end.png);
    	background-size: contain;
    	background-repeat: no-repeat;
		background-position: center;
	}
}

.campain ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}

.campain ul li {
	width: 100%;
	line-height: 2;
	text-align: center;
}

@media screen and (max-width: 767px){
	.campain ul li {

	}
}

.campain ul li.large {
	width: 48%;
	color: #fff;
    background: #4d6b9b;
	border-radius: 100px;
}

@media screen and (max-width: 767px){
	.campain ul li.large {
		background: #e37ab3;
	}
}

.campain ul li.top_margin {
	position: relative;
	margin-top: 10px;
}

.campain ul li.top_margin::before {
	font-family: "Font Awesome 5 Free";
    content: '\f067';
    font-size: 1.5em;
    font-weight: 900;
    line-height: 1;
}

.campain ul li p {
    line-height: 2;
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.campain ul li p {
		font-size: 4vw;
	}
}

.campain ul li.large p {
    font-size: 2.4vh;
}

@media screen and (max-width: 767px){
	.campain ul li.large p {
		font-size: 5vw;
	}
}

.campain ul li p span {
	background: linear-gradient(transparent 60%, #ffffbe 60%);
	text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff, 0 0 2px #fff;
}

@media screen and (max-width: 767px){
	.campain ul li p span {
		background: linear-gradient(transparent 60%, #c9efff  60%);
	}
}

.campain p.irregular {
	font-size: .8em;
    font-weight: bold;
    text-align: center;
    color: #c74b55;
	margin-top: 10px;
    text-shadow: 0 0 1px #fff, 0 0 2px #fff, 0 0 3px #fff, 0 0 4px #fff;
}

@media screen and (max-width: 767px){
	.store_fv .inline .campain4 {
		display: none;
	}
}

.store_single {
	
}

.store_single .store_archive ul li h2 {
	text-align: left;
	border-bottom: 0;
	margin-bottom: 10px;
	padding: 0;
}

/********** 店舗ページ・リード文 **********/
@media screen and (max-width: 767px){
	.store_single .lead {
		margin-bottom: 20px;
	}
}

.store_single .lead .wrap {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	.store_single .lead .wrap {
		display: block;
	}
}

.store_single .left {
	width: 50%;
	overflow: hidden;
}

@media screen and (max-width: 767px){
	.store_single .left {
		width: 100%;
		margin-bottom: 20px;
	}
}

.store_single .lead figure img,
.store_single .lead ul.slick img{
	aspect-ratio: 16 / 9;
    object-fit: cover;
	object-position: center;
}

.store_single .lead ul.slick li {
	aspect-ratio: 16 / 9;
	cursor: grab;
}

.store_single .lead ul.thumbs {
	margin-top: 20px;
}

@media screen and (max-width: 767px){
	.store_single .lead ul.thumbs {
		margin-top: 10px;
	}
}

.store_single .lead ul.thumbs li {
	opacity: .3;
  	transition: opacity .3s linear;
	cursor: pointer;
}

.store_single .lead ul.thumbs li.slick-current{
	opacity: 1;
}

.store_single .lead .box {
	width: 47%;
	background-image: url(./img/front_back13.png);
    background-repeat: no-repeat;
    background-position: right 10% top;
    background-size: contain;
}

@media screen and (max-width: 767px){
	.store_single .lead .box {
		width: 100%;
		background: none;
	}
}

.store_single .lead h2 {
	font-family: 'Noto Serif JP';
	text-align: left;
	margin-bottom: 20px;
	line-height: 2;
}

@media screen and (max-width: 1440px){
	.store_single .lead h2 {
		font-size: 28px;
	}
}

@media screen and (max-width: 1180px){
	.store_single .lead h2 {
		font-size: 22px;
	}
}

@media screen and (max-width: 767px){
	.store_single .lead h2 {
		font-size: 18px;
		text-align: center;
	}
	
	.store_single .lead h2.pc {
		display: none;
	}
}

@media screen and (min-width: 768px){
	.store_single .lead h2.sp {
		display: none;
	}
}

.store_single .lead .box p.copy {
	line-height: 2;
}

@media screen and (max-width: 767px){
	.store_single .lead .box p.copy {
		position: relative;
		padding: 20px;
	}
	
	.store_single .lead .box p.copy::before,
	.store_single .lead .box p.copy::after {
		content: "";
    	position: absolute;
    	width: 30px;
    	height: 30px;
	}
	
	.store_single .lead .box p.copy::before {
		top: 0;
    	left: 0;
    	border-top: 1px solid #4d6b9b;
    	border-left: 1px solid #4d6b9b;
	}
	
	.store_single .lead .box p.copy::after {
		bottom: 0;
    	right: 0;
    	border-bottom: 1px solid #4d6b9b;
    	border-right: 1px solid #4d6b9b;
	}
}

/********** CTAエリア **********/
.store_single .cta {
	margin-bottom: 0;
	/* padding: 30px 0; */
	background: linear-gradient(to right, #4c92af, #9acfe5, #4c92af);
}

.store_single .cta .wrap {
	/* max-width: 1200px; */
	padding: 50px 20px;
	background-image: url(./img/cta_back5.png);
    background-repeat: no-repeat;
    background-size: 30%;
    background-position: top right;
}

@media screen and (max-width: 1199px){
	.store_single .cta .wrap {
		background-position: bottom right;
	}
}

@media screen and (max-width: 767px){
	.store_single .cta .wrap {
		background-size: 50%;
		background-position: bottom right -40px;
		padding: 30px 10px;
	}
}

.store_single .cta p.lead {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	margin-bottom: 40px;
	text-shadow: 0 2px 4px #0c3472;
}

@media screen and (max-width: 640px){
	.store_single .cta p.lead {
		font-size: 4.8vw;
		margin-bottom: 30px;
	}
}

.store_single .cta p.lead small {
    display: block;
    font-size: 0.6em;
}

.store_single .cta ul {
	width: 70%;
	justify-content: space-around;
}

@media screen and (min-width: 1200px){
	.store_single .cta ul {
		display: flex;
	}
	
	.store_single .cta ul li:not(.mail) {
		width: 29%;
	}
	
	.store_single .cta ul li.mail {
		position: relative;
		width: 40%;
	}
	
	/* .store_single .cta ul li.mail::after {
		display: block;
    	content: "\FF15\5206\3067\30AB\30F3\30BF\30F3" "!";
    	position: absolute;
    	width: fit-content;
    	color: #fff;
    	font-weight: bold;
    	background: linear-gradient(to bottom, #d30cd5, #f870f9);
    	right: 0;
    	top: -40px;
    	line-height: 30px;
    	padding: 0 10px 15px;
    	clip-path: polygon(0% 0%, 100% 0%, 100% 70%, 50% 70%, 30% 100%, 30% 70%, 0 70%);
	} */
	
	.store_single .cta ul li:not(:last-child){
		margin-right: 1%;
	}
}

@media screen and (max-width: 1199px){
	.store_single .cta ul li:not(:last-child){
		margin-bottom: 5px;
	}
}

.store_single .cta ul li a,
.store_single .cta ul li.tel_not {
	display: block;
	text-align: center;
	padding: 3vh 1vh;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.8);
}

@media screen and (min-width: 1200px){
	.store_single .cta ul li a {
		height: 100%;
	}
}

@media screen and (max-width: 1199px){
	.store_single .cta ul li:not(.mail) a,
	.store_single .cta ul li.tel_not {
		border-radius: 100px;
	}
}

@media screen and (max-width: 640px){
	.store_single .cta ul li:not(.mail) a,
	.store_single .cta ul li.tel_not {
		padding-right: 24px;
		padding: 1vh;
	}
	
	.store_single .cta ul li.mail a {
		padding: 1vh 1vh;
		line-height: 1.2;
	}
	
	.store_single .cta ul li.tel,
	.store_single .cta ul li.tel_not {
		display: none;
	}
}

.store_single .cta ul li.tel_not {
	color: #fff;
	background: #ccc;
}

@media screen and (max-width: 640px){
	.store_single .cta ul li.tel_not span {
		font-size: 3.2vw;
	}
}

.store_single .cta ul li.tel a {
	color: #fff;
	background: #e98f2f;
}

.store_single .cta ul li.tel a:hover {
	background: #d58025;
}

.store_single .cta ul li.line a {
	color: #fff;
	background: #00b900;
}

.store_single .cta ul li.line a:hover {
	background: #06a706;
}

.store_single .cta ul li.mail a {
	color: #fff;
	background: linear-gradient(45deg, #923893, #ca76cb, #ca76cb, #923893);
}

.store_single .cta ul li.mail a:hover {
	filter: brightness(90%);
}

.store_single .cta ul li.hacomono a {
	color: #fff;
	background: #2390bf;
}

.store_single .cta ul li.hacomono a:hover {
	background: #12749f;
}

.store_single .cta ul li span {
    position: relative;
	font-size: 20px;
    font-weight: bold;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 1199px){
	.store_single .cta ul li span {
		display: flex;
	}
}

@media screen and (max-width: 640px){
	.store_single .cta ul li span {
		font-size: 3.8vw;
	}
}

.store_single .cta ul li span::before {
	font-family: "Font Awesome 5 Free";
	font-size: 50px;
	font-weight: bold;
}

.store_single .cta ul li.mail span::before {
	font-size: 40px;
	margin-bottom: 10px;
}

@media screen and (min-width: 1200px){
	.store_single .cta ul li span::before {
		display: block;
		line-height: 1;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 1199px){
	.store_single .cta ul li span::before {
		font-size: 1.2em;
		margin-right: 10px;
	}
}

@media screen and (max-width: 640px){
	.store_single .cta ul li span::before {
		font-size: 24px;
	}
	
	.store_single .cta ul li.mail span::before {
		font-size: 32px;
	}
}

.store_single .cta ul li.tel a span::before,
.store_single .cta ul li.tel_not span::before{
	content: "\f2a0";
}

@media screen and (max-width: 640px){
	.store_single .cta ul li.tel a span::before {
		font-size: 24px;
		line-height: 1;
	}
}

.store_single .cta ul li.mail a span::before {
	content: "\f658";
	font-size: ;
}

.store_single .cta ul li.hacomono a span::before {
	content: "\f073";
}

.store_single .cta ul li.line a span::before {
	content: "";
	width: 50px;
	height: 50px;
	background-image: url(./img/line-icon2.png);
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (min-width: 1200px){
	.store_single .cta ul li.line a span::before {
		display: block;
		margin: 0 auto 20px;
	}
	
	.store_single .sp {
		display: none!important;
	}
}

@media screen and (max-width: 1199px){
	 .cta ul li.line a span::before {
		width: 36px;
		height: 36px;
	}
	
	.store_single .pc {
		display: none!important;
	}
}

@media screen and (max-width: 640px){
	.store_single .cta ul li.line a span::before {
		width: 24px;
		height: 24px;
	}
}

.store_single .cta ul li span.big {
	font-size: 30px;
    line-height: 1;
}

.store_single .cta ul li.qr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #fff;
    background: #00b900;
	padding: 0 1rem;
	border-radius: 10px;
	border: 1px solid rgba(255, 255, 255, 0.8);
}

.store_single .cta ul li.qr img {
	display: block;
	width: 50%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.store_single .cta ul li.qr span {
	width: 45%;
}

.store_single .cta ul li.qr span small {
	display: block;
	font-size: 0.55em;
	margin-top: 10px;
}

.store_single .cta_footer {
	position: fixed;
	padding: 10px;
    background: linear-gradient(to bottom, #dbe7fb, #b1c6e7);
}

@media screen and (min-width: 768px){
	.store_single .cta_footer {
		display: none;
	}
}

@media screen and (max-width: 767px){
	.store_single .cta_footer {
		width: 100%;
		bottom: 0;
    	left: 0;
	}
}

.store_single .cta_footer ul {
    
}

@media screen and (max-width: 767px){
	.store_single .cta_footer ul {
		display: flex;
    	justify-content: space-between;
	}
}

@media screen and (min-width: 768px){
	.store_single .cta_footer ul li {
		width: 100%;
	}
	
	.store_single .cta_footer ul li:first-child {
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 767px){
	.store_single .cta_footer ul li {
    	width: 49%;
		line-height: 40px;
	}

	.store_single .cta_footer ul li.wide {
    	width: 100%;
	}
}

.store_single .cta_footer ul li a {
    display: flex;
    text-align: center;
    height: 100%;
    background: #fff;
	margin-right: 5px;
    border-radius: 10px;
    align-items: center;
    justify-content: center;
	box-shadow: 0 2px 2px #666;
}

.store_single .cta_footer ul li.line a {
	color: #fff;
    background: #00b900;
}

.store_single .cta_footer ul li.tel a {
    color: #fff;
    background: #e98f2f;
}

.store_single .cta_footer ul li.hacomono a {
	color: #fff;
    background: #2390bf;
}

.store_single .cta_footer ul li a span {
	display: flex;
	font-weight: bold;
	position: relative;
	align-items: center;
}

@media screen and (max-width: 767px){
	.store_single .cta_footer ul li a span {
		font-size: 14px;
	}
}

.store_single .cta_footer ul li.line a span::before {
    content: "";
    width: 36px;
    height: 36px;
	margin-right: 5px;
    background-image: url(./img/line-icon2.png);
    background-size: contain;
    background-repeat: no-repeat;
}

@media screen and (max-width: 767px){
	.store_single .cta_footer ul li.line a span::before {
		width: 24px;
		height: 24px;
	}
}

.store_single .cta_footer ul li.tel span::before {
    font-family: "Font Awesome 5 Free";
	content: "\f2a0";
    font-size: 1.5em;
    font-weight: bold;
    margin-right: 10px;
}

.store_single .cta_footer ul li.hacomono span::before {
    font-family: "Font Awesome 5 Free";
	content: "\f073";
    font-size: 1.5em;
    font-weight: bold;
    margin-right: 10px;
}

/********** 店舗別ギャラリー（特徴） **********/
.store_single .pickup {
	background-image: url(./img/single_pick_back.jpg);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
	margin-bottom: 0;
    padding: 60px 0 80px;
}

@media screen and (max-width: 767px){
	.store_single .pickup {
		background-attachment: unset;
		margin-top: 0;
		padding: 20px 0;
	}
}

.store_single .pickup h2 {
	border-bottom: 1px solid #fff;
}

.store_single .pickup h2 span {
	color: #fff;
}

.store_single .pickup ul {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	.store_single .pickup ul {
		display: block;
	}
}

.store_single .pickup ul li {
	position: relative;
	width: 32%;
	background: #fff;
	border: 1px solid #fff;
	border-radius: 20px;
    overflow: hidden;
}

@media screen and (max-width: 767px) and (min-width: 541px){
	.store_single .pickup ul li {
		display: flex;
		width: 100%;
		margin-bottom: 20px;
		align-items: center;
		justify-content: space-between;
	}
}

@media screen and (max-width: 540px){
	.store_single .pickup ul li {
		width: 100%;
		margin-bottom: 20px;
		border-radius: 10px;
	}
}

@media screen and (min-width: 768px){
	.store_single .pickup ul li:first-child {
		top: -20px;
	}

	.store_single .pickup ul li:last-child {
		bottom: -20px;
	}
}

.store_single .pickup ul li figure img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

@media screen and (max-width: 767px) and (min-width: 541px){
	.store_single .pickup ul li figure {
		width: 30%;
	}
	
	.store_single .pickup ul li figure img {
		aspect-ratio: 1 / 1;
    	object-fit: cover;
	}
}

@media screen and (max-width: 540px){
	.store_single .pickup ul li figure img {
		display: block;
		width: 90%;
		border-radius:10px;
		margin: 20px auto 0;
		aspect-ratio: 16 / 9;
		object-fit: cover;
		box-shadow: 8px 8px 0 #eee;
	}
}

.store_single .pickup ul li p {
	padding: 20px;
}

@media screen and (max-width: 990px) and (min-width: 768px){
	.store_single .pickup ul li p {
		font-size: 14px;
		padding: 10px;
	}
}

@media screen and (max-width: 767px) and (min-width: 541px){
	.store_single .pickup ul li p {
		width: 70%;
		font-size: 14px;
		padding: 0 10px;
	}
}

/********** 店舗ページ・お知らせ **********/
.store_single .store_news {
	margin: 0;
	padding: 60px 0;
	background: #fff;
}

@media screen and (max-width: 767px){
	.store_single .store_news {
		padding: 20px 0;
	}
}

.store_single .store_news ul {
	max-width: 960px;
	background: #fff;
	margin: auto;
	padding: 2rem;
	border: 1px solid #1355a3;
}

@media screen and (max-width: 767px){
	.store_single .store_news ul {
		padding: 1rem;
	}
}

.store_single .store_news ul li:not(:last-child) {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #ccc;
}

.store_single .store_news ul li a {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	.store_single .store_news ul li a {
		display: block;
	}
}

.store_single .store_news ul li a .date {
    width: fit-content;
    font-weight: bold;
    margin-right: 20px;
}

.store_single .store_news ul li a .title {
    width: 100%;
    transition: 0.3s;
}

/********** 店舗ページ・料金案内 **********/
.store_single .price,
.lef_padding {
	padding: 60px 0;
	background: #eff5ff;
}

@media screen and (max-width: 767px){
	.store_single .price {
		padding: 40px 0 10px;
	}
	
	.lef_padding {
		padding: 40px 0;
	}
}

.lef_padding p {
	text-align: center;
}

.store_single .price h2,
.lef_padding h2{
	margin-bottom: 30px;
}

@media screen and (max-width: 767px){
	.store_single .price h2,
	.lef_padding h2 {
		margin-bottom: 0;
	}
}

.store_single .price h3.head {
	font-size: 24px;
    text-align: center;
    margin-bottom: 30px;
    padding: 10px;
    color: #fff;
    background: #2390bf;
}

@media screen and (max-width: 767px){
	.store_single .price h3.head {
		font-size: 16px;
		margin-bottom: 20px;
	}
}

.store_single .price h3.head.mt {
    margin-top: 30px;
}

@media screen and (max-width: 767px){
	.store_single .price h3.head.mt {
		margin-top: 20px;
	}
}

.store_single .price h4.centerbar {
    font-size: 20px;
    text-align: center;
    color: #2390bf;
    margin-bottom: 2rem;
    padding: 1rem 0;
    border-bottom: 1px solid #2390bf;
}

.store_single .price p.noted {
    max-width: 640px;
    margin: 1rem auto;
	font-size: 0.9rem;
    padding: 1rem;
    background: #fff;
    border-radius: 20px;
}

@media screen and (max-width: 767px){
	.store_single .price p.noted {
		font-size: 12px;
	}
}

.store_single .price p.noted:not(:last-child) {
    margin-bottom: 4rem;
}

@media screen and (max-width: 767px){
	.store_single .price p.noted:not(:last-child) {
		margin-bottom: 2rem;
	}
}

.store_single .price p.large_noted {
	font-weight: bold;
	text-align: center;
	margin: -4rem auto 2rem;
	color: #1355a3;
}

@media screen and (max-width: 767px){
	.store_single .price p.large_noted {
		margin: -1rem auto 1rem;
	}
}

.store_single .price dl.ticket {
    display: flex;
    flex-wrap: wrap;
    max-width: 640px;
    margin: auto;
}

.store_single .price dl.ticket dt,
.store_single .price dl.ticket dd {
    padding: 10px;
    margin-bottom: 10px;
}

@media screen and (max-width: 767px){
	.store_single .price dl.ticket dt,
	.store_single .price dl.ticket dd {
		font-size: 14px;
		padding: 10px 5px;
	}
}

.store_single .price dl.ticket dt {
    display: flex;
    width: 240px;
    color: #fff;
    background: #2390bf;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 767px){
	.store_single .price dl.ticket dt {
		margin: auto;
	}
}

.store_single .price dl.ticket dd {
    width: calc(100% - 260px);
}

@media screen and (max-width: 767px){
	.store_single .price dl.ticket dd {
		width: 100%;
		text-align: center;
	}
}

.store_single .price dl.ticket dd span {
	font-size: 1.5em;
	font-weight: bold;
	color: #1355a3;
    margin: 0 5px;
}

.store_single .price p.description {
	text-align: center;
	margin-bottom: 80px;
}

@media screen and (max-width: 767px){
	.store_single .price p.description {
		margin-bottom: 20px;
	}
}

.store_single .price p.description span {
    display: inline-block;
    font-size: 1.2em;
    font-weight: bold;
    color: #c74b55;
    background: #fff;
    border: 1px solid #c74b55;
    margin-bottom: 10px;
    padding: 10px 20px;
    line-height: 1;
}

.store_single .price .outline {
	display: flex;
	flex-wrap: wrap;
}

.store_single .price .outline .box {
	width: 32%;
	position: relative;
	background: #fff;
	margin-bottom: 2%;
	padding: 20px;
	/* border: 1px solid #4d6b9b; */
}

@media screen and (min-width: 1200px){
	.store_single .price .outline .box:not(:nth-child(3n)) {
		margin-right: 2%;
	}
}

@media screen and (max-width: 1199px) and (min-width: 768px){
	.store_single .price .outline .box {
		width: 48%;
		margin-bottom: 4%;
	}
	
	.store_single .price .outline .box:nth-child(odd) {
		margin-right: 4%;
	}
}

@media screen and (max-width: 767px){
	.store_single .price .outline .box {
		width: 100%;
		max-width: 540px;
		margin: 0 auto 5%;
		padding: 20px 10px;
	}
}

.store_single .price .outline .box h3 {
	position: relative;
	font-family: Noto Serif JP;
	font-size: 28px;
    text-align: center;
    color: #8f8356;
    margin-bottom: 20px;
}

.store_single .price .outline .box h3 span {
	display: block;
	font-size: 0.6em;
	color: #635934;
}

@media screen and (min-width: 768px){
	.store_single .price .outline .box p.limit_over {
		display: flex;
    	position: absolute;
    	width: 80%;
    	height: 30%;
    	top: 25%;
    	left: 10%;
    	font-size: 1.4rem;
    	color: #fff;
    	background: rgb(199 75 85 / 70%);
    	align-items: center;
    	justify-content: center;
	}
}

@media screen and (max-width: 767px){
	.store_single .price .outline .box p.limit_over {
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		color: #c74b55;
		background: #fff9f9;
		margin-bottom: 20px;
	}
}

.store_single .price .outline .box2 {
	width: 49%;
}

.store_single .price .outline .box2:nth-child(odd){
	margin-right: 2%;
}

@media screen and (max-width: 767px){
	.store_single .price .outline .box2 {
		width: 100%;
	}
	
	.store_single .price .outline .box2:nth-child(odd){
		margin-right: 0;
		margin-bottom: 2%;
	}
}

.store_single .price .outline .box2 h4 {
	font-size: 20px;
    border-left: 6px solid #2390bf;
    margin-bottom: 10px;
    padding: 5px 10px;
}

@media screen and (max-width: 767px){
	.store_single .price .outline .box2 h4 {
		font-size: 16px;
	}
}

.store_single .price .outline .box2 p.time {
	font-weight: bold;
	margin-bottom: 10px;
}

.store_single .price table {
	width: 100%;
}

.store_single .price table th,
.store_single .price table td {
	padding: 10px;
}

@media screen and (max-width: 767px){
	.store_single .price table th,
	.store_single .price table td {
		font-size: 14px;
		padding: 5px 10px;
	}
}

.store_single .price table th span {
	font-size: 0.9em;
}

.store_single .price table tr {
	border-bottom: 1px solid #ccc;
}

.store_single .price table tr.closed {
	position: relative; 
}

.store_single .price table tr.closed::after {
	display: flex;
	position: absolute;
	width: 96%;
	height: 92%;
	top: 4%;
	left: 2%;
	color: #fff;
	background: rgba(16, 16, 16, 0.8);
	align-items: center;
	justify-content: center;
	z-index: 100;
}

.store_single .price table tr.closed.tp2::after {
	content: "第2次募集";
}

.store_single .price table tr.closed.tp3::after {
	content: "第3次募集";
}

.store_single .price table tr.closed.half::after {
	height: 90%;
	top: 5%;
}

.store_single .price table th {
	font-size: 0.9em;
	text-align: left;
	color: #fff;
	background: #4d6b9b;
	white-space: nowrap;
}

@media screen and (max-width: 767px){
	.store_single .price table th {
		font-size: 0.8em;
	}
}

.store_single .price table th small {
	display: block;
	color: #00ffff;
}

.store_single .price table th i.far {
	margin-left: 10px;
	cursor: pointer;
}

.store_single .price table td {
	width: 100%;
}

.store_single .price table.wide {
	max-width: 800px;
	margin: auto;
}

.store_single .price table.wide td {
	width: 50%;
	background: #fff;
}

.store_single .price table td span {
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1;
	color: #1355a3;
	margin-right: 5px;
}

.store_single .price .box2 table td span {
	font-size: 1.2em;
}

.store_single .price table td p.tokka_label {
	display: inline-block;
    font-size: 1em;
	font-weight: bold;
	line-height: 1;
    color: #fff;
    background: #c74b55;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 5px;
}

.store_single .price table td p.tokka_description {
	display: inline-block;
	font-size: 0.9em;
}

.store_single .price table td p.tokka_description + p span {
    color: #bb37a4;
}

.store_single .price table.basic_wide {
	max-width: 800px;
    margin: auto;
    background: #fff;
}

.store_single .price .outline .box2 table {
	background: #fff;
}

.store_single .price .outline .box2 td {
	width: 33%;
}

.store_single .price .cancel {
    background: #fff;
    text-align: center;
    padding: 2rem;
    border: 1px solid #f3a7ad;
}

@media screen and (max-width: 767px){
	.store_single .price .cancel {
		padding: 1rem;
	}
}

.store_single .price .cancel ul {
	max-width: 640px;
	display: flex;
	margin: 1rem auto 0;
	justify-content: space-around;
}

.store_single .price .cancel ul li {
	width: 45%;
}

.store_single .price .cancel ul li a {
	display: block;
	text-align: center;
	color: #fff;
	padding: 1rem;
}

.store_single .price .cancel ul li.line a {
	background: #00b900;
}

.store_single .price .cancel ul li.line a:hover {
	background: #06a706;
}

.store_single .price .cancel ul li.tel a {
	background: #e98f2f;
}

.store_single .price .cancel ul li.tel a:hover {
	background: #d58025;
}

.store_single .coach {
	padding: 60px 0;
}

@media screen and (max-width: 767px){
	.store_single .coach {
		padding: 0;
	}
}

.store_single .coach ul {
	display: flex;
	flex-wrap: wrap;
}

.store_single .coach ul li {
	width: 32%;
    position: relative;
    background: #eee;
    margin-bottom: 2%;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(16, 16, 16, 0.5);
}

@media screen and (min-width: 1200px){
	.store_single .coach ul li:not(:nth-child(3n)) {
		margin-right: 2%;
	}
}

@media screen and (max-width: 1199px) and (min-width: 768px){
	.store_single .coach ul li {
		width: 48%;
		margin-bottom: 4%;
	}
	
	.store_single .coach ul li:nth-child(odd) {
		margin-right: 4%;
	}
}

@media screen and (max-width: 767px){
	.store_single .coach ul li {
		width: 100%;
		max-width: 540px;
		margin: 0 auto 5%;
	}
}

.store_single .coach ul li figure img {
	display: block;
	max-width: 90%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	margin: 0 auto 1rem;
}

.store_single .coach ul li h3 {
	text-align: center;
}
.store_single .coach ul li p.kata {
	text-align: center;
	font-weight: bold;
}

@media screen and (min-width: 768px){
	.store_single .coach ul li p.kata {
		height: 70px;
	}
}

.store_single .coach ul li table {
	width: 100%;
	margin: 1rem auto 0;
}

.store_single .coach ul li table th,
.store_single .coach ul li table td {
	border: 1px solid #000;
	padding: 5px;
}

.store_single .coach ul li table th {
	background: #eff5ff;
	white-space: nowrap;
}

.store_single .coach ul li table td {
	width: 100%;
	background: #fff;
}

.store_single .coach ul li table td span {
	font-size: 1.1em;
	font-weight: bold;
}

.store_single .store_access {
	margin: 0;
	padding: 60px 0;
	background: #eee;
}

@media screen and (max-width: 767px){
	.store_single .store_access {
		padding: 40px 0;
	}
}

.store_single .store_access .outline {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

@media screen and (max-width: 990px){
	.store_single .store_access .outline {
		display: block;
	}
}

.store_single .store_access .outline .map,
.store_single .store_access .outline table{
	width: 48%;
}

@media screen and (max-width: 990px){
	.store_single .store_access .outline .map,
	.store_single .store_access .outline table {
		width: 100%;
	}
	
	.store_single .store_access .outline table {
		margin-bottom: 20px;
	}
}

.store_single .store_access .outline table th,
.store_single .store_access .outline table td {
	padding: 10px;
	border: 1px solid #ccc;
}

@media screen and (max-width: 1199px){
	.store_single .store_access .outline table th,
	.store_single .store_access .outline table td {
		font-size: 14px;
	}
}

@media screen and (max-width: 767px){
	.store_single .store_access .outline table th,
	.store_single .store_access .outline table td {
		padding: 5px 10px;
	}
}

.store_single .store_access .outline table th {
	background: #eaf7ff;
	white-space: nowrap;
}

.store_single .store_access .outline table td {
	background: #fff;
}

.store_single .store_access .outline .map iframe {
	width: 100%;
}

.store_single .store_access .outline .map iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
}

/********** レンタルサービス **********/
.store_single .rental.mt20 {
	margin-top: 50px;
}

.store_single .rental h2 {
	margin-bottom: 30px;
}

@media screen and (max-width: 767px){
	.store_single .rental h2 {
		margin-bottom: 0;
	}
}

.store_single .rental p.description {
	text-align: center;
	margin-bottom: 30px;
}

.store_single .rental ul {
	display: flex;
	max-width: 800px;
	margin: auto;
	justify-content: space-around;
}

@media screen and (max-width: 767px){
	.store_single .rental ul {
		justify-content: space-between;
	}
}

.store_single .rental ul li {
	width: 32%;
    padding: 120px 20px 20px;
    background-size: 80px;
    background-repeat: no-repeat;
    background-position: top 20px center;
	border-radius: 20px;
}

@media screen and (max-width: 767px){
	.store_single .rental ul li {
		padding: 60px 10px 10px;
    	background-size: 50px;
		background-position: top 10px center;
		border-radius: 10px;
	}
}

.store_single .rental ul li.on {
	color: #fff;
	background-color: #1b9b1b;
}

.store_single .rental ul li.off {
	color: #fff;
	background-color: #ccc;
}

.store_single .rental ul li.club {
	background-image: url(./img/rental01w.png);
}

.store_single .rental ul li.shoes {
	background-image: url(./img/rental02w.png);
}

.store_single .rental ul li.glove {
	background-image: url(./img/rental03w.png);
}

.store_single .rental ul li p {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.store_single .rental ul li p {
		font-size: 16px;
	}
}

.store_single .rental p.caution {
	text-align: center;
}

.store_single .store_archive {
	background: #eff5ff;
	padding: 60px 0;
}

@media screen and (max-width: 767px){
	.store_single .store_archive {
		/* padding: 40px; */
	}
}

.store_single .store_archive ul li {

}

/********** サービス・施設案内 **********/
.single_service .lead {
	
}

.single_service .lead .box {
	max-width: 1200px;
	margin: 0 auto 60px;
}

.single_service .lead .box p {
	margin-bottom: 20px;
}

.single_service .function {
	background-image: url(./img/single_config_back.jpg);
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 0;
    padding: 60px 0 80px;
}

.single_service .function.link {
	margin-top: -50px;
	padding: 20px 0;
}

@media screen and (max-width: 640px){
	.single_service .function.link {
		margin-top: -20px;
		padding: 0;
	}
}

.single_service .function h2 {
	color: #fff;
	border-bottom: 1px solid #fff;
}

.single_service .function ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.single_service .function ul li {
	width: 32%;
    background: rgba(255, 255, 255, 0.8);
    margin-bottom: 2%;
}

@media screen and (max-width: 990px){
	.single_service .function ul li {
		width: 49%;
	}
}

@media screen and (max-width: 640px){
	.single_service .function ul li {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 5%;
	}
}

.single_service .function ul li figure {
	
}

.single_service .function ul li h3 {
	padding: 10px 20px;
	border-bottom: 1px solid #000;
}

.single_service .function ul li p {
	padding: 20px;
}

/********** 総合・料金案内 **********/

.single_price {
	
}

.single_price .description h2 {
	margin-bottom: 30px;
}

@media screen and (max-width: 767px){
	.single_price .description h2 {
		margin-bottom: 0;
	}
}

.single_price .description p {
	text-align: center;
	margin-bottom: 20px;
}

.single_price .description dl {
	display: flex;
	max-width: 480px;
	margin: 0 auto 80px;
}

@media screen and (max-width: 767px){
	.single_price .description dl {
		margin: 0 auto 30px;
	}
}

.single_price .description dl dt,
.single_price .description dl dd {
	font-size: 1.6em;
	padding: 20px;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 767px){
	.single_price .description dl dt,
	.single_price .description dl dd{
		font-size: 1.2em;
		padding: 12px;
	}
}

.single_price .description dl dt {
	width: 40%;
	background: #eaf7ff;
}

.single_price .description dl dd {
	width: 60%;
	border-right: 1px solid #ccc;
}

.single_price .list h2 {
	margin-bottom: 30px;
}

@media screen and (max-width: 767px){
	.single_price .list h2 {
		margin-bottom: 0;
	}
}

.single_price .list p.caution {
	text-align: center;
	margin-bottom: 60px;
}

@media screen and (max-width: 767px){
	.single_price .list p.caution {
		margin-bottom: 30px;
	}
}

.single_price .list p.caution span {
	font-weight: bold;
	color: #c74b55;
}

.single_price .list ul {
	max-width: 1200px;
    margin: auto;
}

.single_price .list ul li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
	padding: 20px;
    border: 1px solid #ccc;
}

@media screen and (max-width: 640px){
	.single_price .list ul li {
		padding: 0;
    	border: none;
	}
}

.single_price .list ul li figure {
	width: 28%;
}

@media screen and (max-width: 640px){
	.single_price .list ul li figure {
		display: none;
	}
}

.single_price .list ul li figure img {
    height: 100%;
    object-fit: cover;
}

.single_price .list ul li .box {
	position: relative;
	width: 70%;
}

@media screen and (max-width: 640px){
	.single_price .list ul li .box {
		width: 100%;
	}
}

.single_price .list ul li .box .post {
	width: 100%;
    float: left;
    clear: left;
}

.single_price .list ul li .box .caut {
	color: #c74b55;
}

.single_price .list ul li .box .caut a {
	color: #c74b55;
	text-decoration: underline;
}

.single_price .list ul li .box .caut a:hover {
	color: #ff0000;
}

.single_price .list ul li .box h3 {
	color: #1355a3;
	background: #eaf7ff;
    margin-bottom: 20px;
    padding: 10px;
	border-bottom: 2px solid;
}

@media screen and (max-width: 767px){
	.single_price .list ul li .box h3 {
		font-size: 18px;
		margin-bottom: 10px;
		padding: 6px;
		border-bottom: 1px solid;
	}
}

.single_price .list ul li .box dl {
	width: 32%;
	float: left ;
	margin-bottom: 2%;
	border-radius: 10px;
	overflow: hidden;
}

@media screen and (max-width: 767px){
	.single_price .list ul li .box dl {
		font-size: 14px;
		border-radius: 5px;
	}
}

.single_price .list ul li .box dl:not(:nth-child(3n)){
	margin-right: 2%;
}

.single_price .list ul li .box dt {
	font-size: 0.9em;
	float: left ;
	clear: left ;
	color: #fff;
	background: #4d6b9b;
}

.single_price .list ul li .box dd {
	background: #eff5ff;
}

.single_price .list ul li .box dd span {
	font-weight: bold;
	margin-right: 3px;
}

.single_price .list ul li .box dt,
.single_price .list ul li .box dd {
	width: 100%;
	text-align: center;
	line-height: 2;
}

.single_price .list ul li a.btn {
	display: block;
	width: 80%;
	max-width: 480px;
	text-align: center;
	color: #1355a3;
	margin: 20px auto 0;
	padding: 10px;
	border: 1px solid;
}

@media screen and (max-width: 640px){
	.single_price .list ul li a.btn {
		font-size: 14px;
	}
}

.single_price .list ul li a.btn:hover {
	color: #fff;
	background: #1355a3;
}

/********** よくある質問 **********/
.single_faq {
	
}

.single_faq .list {
	max-width: 1200px;
	margin: 0 auto 50px;
}

.single_faq .list dl dt {
	padding: 16px 0;
	border-bottom: 1px solid #000;
}

.single_faq .list dl dd {
	padding: 20px 0;
}

.single_faq .list dl dt p {
	font-size: 24px;
	font-weight: bold;
	line-height: 36px;
}

.single_faq .list dl dt p,
.single_faq .list dl dd p {
	padding-left: 46px;
}

.single_faq .list dl dt p,
.single_faq .list dl dd p{
	position: relative;
}

.single_faq .list dl dt p::before,
.single_faq .list dl dd p::before {
	display: flex;
	position: absolute;
	width: 36px;
	height: 36px;
	top: 0;
	left: 0;
	font-size: 20px;
	line-height: 1;
	color: #fff;
	padding-bottom: 3px;
	align-items: center;
	justify-content: center;
}

.single_faq .list dl dt p::before {
	content: "Q";
	background: #c74b55;
}

.single_faq .list dl dd p::before {
	content: "A";
	background: #1b9b1b;
}

.single_faq .list dl dt p {
	font-size: 24px;
}

@media screen and (max-width: 767px){
	.single_faq .list dl dt p {
		font-size: 16px;
	}
}

.single_faq .list dl dd {
	line-height: 2;
}

.single_faq .list dl dd:not(:last-child){
	margin-bottom: 20px;
}

/********** 無料体験のご案内 **********/
.single_trial {
	
}

.single_trial .flow {
	
}

.single_trial .flow p.attend {
    font-weight: bold;
    text-align: center;
    margin-bottom: 2rem;
    color: #ff0000;
}

.single_trial .flow ul {
	max-width: 1200px;
	margin: auto;
}

.single_trial .flow ul li {
	display: flex;
	flex-wrap: wrap;
    background: #eff5ff;
    padding: 2rem;
    box-shadow: 0 1px 4px #999;
    justify-content: space-between;
}

@media screen and (max-width: 767px){
	.single_trial .flow ul li {
		padding: 10px;
	}
}

.single_trial .flow ul li:not(:last-child){
	position: relative;
	margin-bottom: 60px;
}

@media screen and (max-width: 767px){
	.single_trial .flow ul li:not(:last-child){
		margin-bottom: 40px;
	}
}

.single_trial .flow ul li:not(:last-child)::before {
    content: "";
	position: absolute;
    bottom: -66px;
    right: calc(50% - 40px);
    border-style: solid;
    border-width: 24px 40px;
    border-color: #1355a3 transparent transparent transparent;
}

@media screen and (max-width: 767px){
	.single_trial .flow ul li:not(:last-child)::before {
		bottom: -48px;
    	right: calc(50% - 30px);
    	border-width: 18px 30px;
	}
}

.single_trial .flow ul li figure {
	width: 40%;
}

.single_trial .flow ul li figure img {
	display: block;
    max-width: fit-content;
    max-height: 400px;
    margin: auto;
	border: 1px solid #ccc;
    object-fit: contain;
}

.single_trial .flow ul li .box {
	width: 55%;
}

.single_trial .flow ul li .box h3 {
	font-size: 24px;
    color: #4d6b9b;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #4d6b9b;
}

@media screen and (max-width: 767px){
	.single_trial .flow ul li .box h3 {
		font-size: 16px;
		margin-bottom: 10px;
	}
	
	.single_trial .flow ul li .box p {
		line-height: 1.5;
	}
	
	.single_trial .flow ul li:first-child figure img {
		min-height: 100px;
		object-fit: cover;
		object-position: left;
	}
	
	.single_trial .flow ul li:last-child figure img {
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}
}

.single_trial .flow ul li a.follow {
	display: block;
	width: 100%;
    font-weight: bold;
    text-align: center;
    margin-top: 20px;
    padding: 10px;
    background: #fff;
    border: 1px solid;
}

.single_trial .flow ul li a.follow:hover {
	color: #fff;
	background: #1355a3;
}

.single_trial .flow ul li a.follow span {
	display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
}

.single_trial .flow ul li a.follow span::before {
	font-family: "Font Awesome 5 Free";
    content: '\f0a4';
    font-size: 1.4em;
    font-weight: 900;
    margin-right: 10px;
}

@media screen and (min-width: 641px){
	.single_trial .flow ul li a.follow.sp {
		display: none;
	}
}

@media screen and (max-width: 640px){
	.single_trial .flow ul li a.follow.pc {
		display: none;
	}
	
	.single_trial .flow ul li a.follow.sp {
		font-size: 14px;
	}
}

/********** プライバシーポリシー **********/
.single_policy {
	
}

.single_policy .lead {
	margin-bottom: 30px;
}

.single_policy .list {
	max-width: 1200px;
	margin: auto;
}

.single_policy .list dl {
	
}

.single_policy .list dl dt {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #666;
}

@media screen and (max-width: 767px){
	.single_policy .list dl dt {
		font-size: 18px;
	}
}

.single_policy .list dl dd {
	margin-bottom: 40px;
	line-height: 2;
}

@media screen and (max-width: 767px){
	.single_policy .list dl dd {
		font-size: 14px;
		line-height: 1.5;
	}
}

.single_policy .list dl dd ol {
	list-style: decimal;
    margin-top: 20px;
    padding-left: 40px;
    line-height: 2;
}

.single_policy .list dl dd ol li ol {
	margin-bottom: 20px;
}

/********** 会員規約 **********/
.single_agree {
	
}

.single_agree .lead {
	margin-bottom: 30px;
}

.single_agree .list {
	max-width: 1200px;
	margin: auto;
}

.single_agree .list dl {
	
}

.single_agree .list dl dt {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #666;
}

@media screen and (max-width: 767px){
	.single_agree .list dl dt {
		font-size: 18px;
	}
}

.single_agree .list dl dd {
	margin-bottom: 40px;
	line-height: 2;
}

@media screen and (max-width: 767px){
	.single_agree .list dl dd {
		font-size: 14px;
		line-height: 1.5;
	}
}

.single_agree .list dl dd ol {
	list-style: decimal;
    margin-top: 20px;
    padding-left: 20px;
    line-height: 2;
}

.single_agree .list dl dd ol li ol {
	list-style: disc;
	margin-bottom: 20px;
}

.single_agree p {
	background: #eee;
    margin-bottom: 50px;
    padding: 10px;
}

@media screen and (max-width: 767px){
	.single_agree p {
		margin-bottom: 20px;
	}
}

/********** 特定商取引法 **********/
.single_commerce {
	
}

.single_commerce .lead {
	margin-bottom: 30px;
}

.single_commerce .list {
	max-width: 1200px;
	margin: auto;
}

.single_commerce .list dl {
	
}

.single_commerce .list dl dt {
	font-size: 24px;
	font-weight: bold;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #666;
}

@media screen and (max-width: 767px){
	.single_commerce .list dl dt {
		font-size: 18px;
	}
}

.single_commerce .list dl dd {
	margin-bottom: 40px;
	line-height: 2;
}

@media screen and (max-width: 767px){
	.single_commerce .list dl dd {
		font-size: 14px;
		line-height: 1.5;
	}
}

.single_commerce .list dl dd ol {
	list-style: decimal;
    margin-top: 20px;
    padding-left: 20px;
    line-height: 2;
}

.single_commerce .list dl dd ol li ol {
	list-style: disc;
	margin-bottom: 20px;
}

/********** 会社概要 **********/
.single_company .company {
	
}

.single_company .company table{
	width: 100%;
	max-width: 800px;
	margin: auto;
}

@media screen and (min-width: 768px){
	.single_company .company table tr {
		border-bottom: 1px solid #ccc;
	}
}

@media screen and (max-width: 767px){
	.single_company .company table tr {
		border-top: 1px solid #ccc;
	}
}

.single_company .company table th,
.single_company .company table td{
	padding: 10px;
}

@media screen and (max-width: 767px){
	.single_company .company table th,
	.single_company .company table td {
		display: block;
		font-size: 14px;
	}
}

.single_company .company table th {
	background: #eee;
    white-space: nowrap;
}

.single_company .company table td ul {
	list-style: disc;
    padding-left: 30px;
}

@media screen and (max-width: 767px){
	.single_company .company table td ul {
		padding-left: 20px;
	}
}

/********** 共通お問い合わせ **********/
.single_contact {
	
}

.single_contact img {
	display: block;
	max-width: 360px;
    margin: 0 auto 30px;
}

@media screen and (max-width: 767px){
	.single_contact img {
		max-width: 180px;
		margin: 0 auto 20px;
	}
}

.single_contact p.description {
	text-align: center;
	margin-bottom: 30px;
}

.single_contact .wrap {
	max-width: 900px;
	margin: auto;
}

.single_contact table {
	width: 100%;
	margin-bottom: 30px;
}

.single_contact table input,
.single_contact table textarea{
	width: 100%;
}

@media screen and (min-width: 768px){
	.single_contact table tr {
		border-bottom: 1px solid #ccc;
	}
}

@media screen and (max-width: 767px){
	.single_contact table tr {
		border-top: 1px solid #ccc;
	}
}

.single_contact table th,
.single_contact table td {
	padding: 10px;
}

.single_contact table th {
	width: 30%;
	color: var(--main-color-normal);
	background: color-mix(in srgb, var(--main-color-normal) 8%, #fff);
	white-space: nowrap;
}

@media screen and (min-width: 768px){
	.single_contact table th {
		text-align: left;
	}
}

.single_contact table .require th {
	position: relative;
}

.single_contact table .require th::after {
	content: "\5FC5\9808";
    position: absolute;
    right: 10px;
    top: calc(50% - 11px);
    font-size: 14px;
    line-height: 1;
    color: #fff;
    background: #ff6161;
    padding: 6px;
}

@media screen and (max-width: 767px){
	.single_contact table .require th::after {
		top: calc(50% - 13px);
	}
}

.single_contact .mw_wp_form_confirm table .require th::after {
	display: none;
}

.single_contact table td {
	width: 70%;
	position: relative;
}

@media screen and (max-width: 767px){
	.single_contact table th,
	.single_contact table td {
		display: block;
		width: 100%;
		font-size: 14px;
		padding: 5px 0;
		text-align: left;
	}
	
	.single_contact table th {
		padding: 10px 5px;
	}
}

.single_contact table td .flex,
.single_contact table td .wide-flex {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.single_contact table td .flex span {
	min-width: 100px;
}

.single_contact table td .wide-flex span {
	width: auto;
	min-width: 180px;
	margin-left: 0!important;
}

@media screen and (max-width: 767px){
	.single_contact table td .wide-flex span {
		min-width: 45%;
	}
}


/* .single_contact .select_arrow {
	position: relative;
}

@media screen and (min-width: 768px){
	.single_contact .select_arrow {
		max-width: 200px;
	}
}

.single_contact .select_arrow::after {
	font-family: "Font Awesome 5 Free";
    content: "\f107";
	font-weight: 900;
    position: absolute;
    font-size: 20px;
    line-height: 1;
    color: #999;
    margin: 0 10px;
    top: calc(50% - 10px);
    right: 0;
}

.mw_wp_form_preview .select_arrow::after {
	display: none;
} */

.mw_wp_form_preview .hide {
	display: none;
}

.single_contact input[type="submit"],
.single_contact button[type="submit"]{
	width: 90%;
	display: block;
    max-width: 450px;
    border: none;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 15px 0;
    border-radius: 100px;
    cursor: pointer;
	transition: 0.3s;
}

.single_contact input[type="submit"]{
	background: #0c3472;
	margin: 30px auto 0;
}

.single_contact button[type="submit"]{
	background: #999;
	margin: 30px auto;
}

.single_contact input[type="submit"]:hover{
	background: #4d6b9b;
	transition: 0.3s;
}

.single_contact input[type="submit"].disa{
	background: #999;
	cursor: not-allowed;
}

.single_contact h2 {
	text-align: center;
	margin: 50px auto;
}

@media screen and (max-width: 767px){
	.single_contact h2 {
		font-size: 18px;
		margin: 20px auto;
	}
}

.single_contact a.btn {
    display: block;
    width: 48%;
	min-width: 300px;
    text-align: center;
    color: #fff;
    background: #45a9c7;
    margin: 0 auto 50px;
    padding: 10px;
    border-radius: 10px;
}

.single_contact .btn_area {
	margin-bottom: 50px;
}

.single_contact .btn_area label {
    position: relative;
    cursor: pointer;
    user-select: none;
}

.single_contact .btn_area label input {
    display: none;
}

.single_contact .btn_area label span {
	display: flex;
    position: relative;
	width: fit-content;
    align-items: center;
	margin: auto;
}

.single_contact .btn_area label span::before {
    content: "";
    height: 24px;
    width: 24px;
    border: solid 1px #0c3472;
    border-radius: 5px;
    margin-right: 10px;
    box-sizing: border-box;
}

.single_contact .btn_area label span::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 2px;
    width: 10px;
    height: 15px;
    border: solid #0c3472;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
    transition: 0.3s;
    opacity: 0;
}

.single_contact .btn_area label input:checked + span::after {
    opacity: 1;
}

.single_contact .btn_area label span a {
	text-decoration: underline;
}

.mw_wp_form_preview .btn_area label {
	display: none;
}

.single_contact table td input.date_select,
.single_contact table td select.time_select {
    width: 160px;
	height: 40px;
	vertical-align: middle;
	cursor: pointer;
}

@media screen and (max-width: 767px){
	.single_contact table td input.date_select,
	.single_contact table td select.time_select {
		width: 40%;
	}
}

/* ul#dayselect li {
	position: relative;
} */

ul#dayselect li:not(:last-child) {
    margin-bottom: 5px;
}

.single_contact.thanks {
	padding-top: 2rem;
}

@media screen and (max-width: 767px){
	.single_contact.thanks {
		padding-top: 1rem;
	}
}

.single_contact.thanks p {
	text-align: center;
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px){
	.single_contact.thanks p {
		margin-bottom: 1rem;
	}
}

.single_contact.thanks p.large {
	font-size: 1.2rem;
	font-weight: bold;
	color: #990000;
}

@media screen and (max-width: 767px){
	.single_contact.thanks p.large {
		font-size: 1rem;
	}
}

/********** ハンバーガーメニュー **********/
.hamburger {
	display: flex;
    position: fixed;
    width: 80px;
    height: 80px;
	top: 10px;
    right: 2rem;
    color: #fff;
    border: 1px solid #fff;
    border-radius: 100%;
	align-items: end;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
}

@media screen and (min-width: 1200px){
	.hamburger {
		display: none;
	}
}

@media screen and (max-width: 767px){
	.hamburger {
		width: 40px;
    	height: 40px;
		top: 5px;
		right: 10px;
		border: none;
		border-radius: unset;
	}
}

.hamburger p {
	font-size: 0.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px){
	.hamburger p {
		font-size: 0.7rem;
		margin-bottom: 3px;
	}
}

.hamburger span {
	display: block;
    position: absolute;
	width: 50%;
    height: 2px;
	left: 25%;
	background: #fff;
	transition: 0.3s;
}

@media screen and (max-width: 767px){
	.hamburger span {
		width: 70%;
		left: 15%;
	}
}

.hamburger span:nth-child(1){
	top: 16px;
}
.hamburger span:nth-child(2){
	top: 28px;
}
.hamburger span:nth-child(3){
	top: 40px;
}

@media screen and (max-width: 767px){
	.hamburger span:nth-child(1){
		top: 8px;
	}
	.hamburger span:nth-child(2){
		top: 19px;
	}
	.hamburger span:nth-child(3){
		top: 30px;
	}
}

.hamburger p.close {
	display: none;
	transition: 0.3s;
}

.hamburger.active p.close {
	display: block;
}

.hamburger.active p.open {
	display: none;
	transition: 0.3s;
}

@media screen and (max-width: 767px){
	.hamburger p.open,
	.hamburger.active p.close{
		display: none;
	}
}

.hamburger.active span:nth-child(1) {
    top: 28px;
    left: 20px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background: #fff;
    transition: 0.3s;
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
	transition: 0.3s;
}

.hamburger.active span:nth-child(3) {
    top: 28px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
    background: #fff;
    transition: 0.3s;
}

@media screen and (max-width: 767px){
	.hamburger.active span:nth-child(1),
	.hamburger.active span:nth-child(3){
		top: 20px;
		left: 25%;
	}
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  right : -102%;
  color: #000;
  transition: all 0.6s;
  background: #0c3472;
  padding: 100px 20px 20px;
  width: 60%;
  box-shadow: 0 2px 2px rgb(0 0 0 / 30%);
}

@media screen and (max-width: 767px){
	nav.globalMenuSp {
		width: 100%;
		padding: 50px 20px 20px;
	}
}

nav.globalMenuSp ul {
  width: 100%;
  transition: 0.3s;
}

nav.globalMenuSp ul.first{
	margin-top: 50px;
}

nav.globalMenuSp ul li {
  position: relative;
  list-style-type: none;
  width: 100%;
}

nav.globalMenuSp ul li:not(:last-child){
	border-bottom: 1px solid #ffffff66;
}

nav.globalMenuSp ul li:hover{
  background :#fff;
}

nav.globalMenuSp ul li:hover a {
	color: #1e7b97;
}

header.back nav.globalMenuSp ul li:hover a {
	color: #d7747c;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  right: 0;
}

.globalMenuSp h2{
	font-size: 20px;
	line-height: 50px;
}

@media screen and (min-width: 1200px) {
	.sp_nav {
		display: none;
	}
}

/********** フッター **********/
footer {
	padding: 30px 20px;
	/* background: var(--main-color-light); */
	background: #efefef;
}

@media screen and (max-width: 767px){
	footer {
		padding: 20px 20px 100px;
	}
}

footer a {
	/* color: #fff; */
}

footer .flex {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	footer .flex {
		flex-wrap: wrap;
	}
}

footer .company{
	width: 32%;
}

footer .footer_menu {
	width: 68%;
}

@media screen and (max-width: 767px){
	footer .company,
	footer .footer_menu {
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
	}
}

footer ul {
	display: flex;
	flex-wrap: wrap;
}

footer ul:not(:last-child){
	margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

footer ul li {
	width: 25%;
	font-size: 0.9em;
	line-height: 2;
}

@media screen and (max-width: 767px){
	footer ul li {
		width: 50%;
		font-size: 0.8em;
		text-align: left;
	}
}

footer .company img{
	max-width: 300px;
}

@media screen and (max-width: 767px){
	footer .company img{
		max-width: 200px;
	}
}

footer ul.main li p {
	display: none;
}

/********** 404 NOTFOUND **********/
.notfound {
	padding: 50px 0;
}

@media screen and (max-width: 767px){
	.notfound {
		padding: 30px 0;
	}
}

.notfound .wrap {
	max-width: 900px;
}

.notfound h2 {
	width: 100%;
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    color: #1355a3;
    line-height: 1.2;
    margin-bottom: 50px;
}

@media screen and (max-width: 767px){
	.notfound h2 {
		font-size: 4.8vw;
		margin-bottom: 30px;
	}
}

.notfound .btn404 {
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}

@media screen and (max-width: 767px){
	.notfound .btn404 {
		display: block;
		margin-top: 30px;
	}
}

.notfound .btn404 a {
	display: block;
	width: 48%;
	text-align: center;
	color: #fff;
	padding: 20px;
	border-radius: 10px;
}

@media screen and (max-width: 767px){
	.notfound .btn404 a {
		width: 95%;
		margin: auto;
		padding: 10px;
		border-radius: 5px;
	}
}

.notfound .btn404 a:first-child{
    background: #4ab969;
}

@media screen and (max-width: 767px){
	.notfound .btn404 a:first-child{
		margin-bottom: 20px;
	}
}

.notfound .btn404 a:last-child{
	background: #45a9c7;
}

@media screen and (min-width: 768px){
	.school .entrylead a {
    	padding: 0;
    	background: url(./img/entryleadback.jpg)!important;
    	background-size: cover!important;
    	background-position: bottom center!important;
	}
}

/* ページネーション */
.wp-pagenavi {
	display: flex;
	margin-top: 30px;
	justify-content: center;
}

.wp-pagenavi span.current,
.wp-pagenavi a.page,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink{
	border: 1px solid #ccc;
	padding: 8px 12px;
	margin: 5px;
	line-height: 1;
}

.wp-pagenavi a.page:hover {
	color: #fff;
    background: #1355a3;
	border: 1px solid #1355a3;
}

.wp-pagenavi span.current {
	color: #fff;
	background: #ccc;
}

.wp-pagenavi a.page {
	
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	border-color: #000;
	border-color: #4d6b9b;
}

/* モーダルウィンドウの展開 */

/* モーダルと背景の指定 */
.modal{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0,0,0,50%);
  padding: 40px 20px;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
}

/* モーダルの擬似要素の指定 */
.modal:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  margin-left: -0.2em;
}

/* クラスが追加された時の指定 */
.modal.is-active{
  opacity: 1;
  visibility: visible;
}

/* モーダル内側の指定 */
.modal-container{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 600px;
  width: 90%;
}

/* モーダルを閉じるボタンの指定 */
.modal-close {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	right: 0;
	width: 50px;
	height: 40px;
	font-weight: bold;
	color: #fff;
	background: #0c3472;
	cursor: pointer;
	transition: 0.3s;
}

.modal-close:hover {
	background: #1355a3;
	transition: 0.3s;
}

/* モーダルのコンテンツ部分の指定 */
.modal-content {
	background: #fff;
	text-align: left;
	line-height: 1.8;
	padding: 20px;
	box-shadow: 0 2px 4px #000;
}

/* モーダルのコンテンツ部分のテキストの指定 */
.modal-content h3 {
	font-size: 26px;
	color: #0c3472;
}

@media screen and (max-width: 767px){
	.modal-content h3 {
		font-size: 18px;
	}
}

.modal-content p{
	margin: 1em 0;
}

/* 追加コンテンツ用（主に吹田店） */
.lesson_detail {
	margin-bottom: 0;
    padding: 60px 0 0;
	background: linear-gradient(to left, #d3e3e9, transparent);
}

@media screen and (max-width: 767px){
	.lesson_detail {
		padding: 20px 0 0;
	}
}

.lesson_detail .wrap {
	padding-bottom: 60px;
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 40vh;
}

@media screen and (max-width: 767px){
	.lesson_detail .wrap {
		background-size: 18vh;
	}
}

.lesson_detail .wrap.ogawa {
    background-image: url(./img/ogawa_coach2.png);
}

.lesson_detail .wrap.okubo {
    background-image: url(./img/okubo_back.png);
}

.lesson_detail h2 {
	width: auto;
	text-align: left;
	line-height: 2;
    color: #1b9b1b;
	margin: 0;
	padding: 0;
    border: none;
}

@media screen and (max-width: 1280px){
	.lesson_detail h2 {
		font-size: 2.2vw;
	}
}

@media screen and (max-width: 767px){
	.lesson_detail h2 {
		font-size: 4.4vw;
		text-align: center;
		margin-bottom: 20px;
	}
}

.lesson_detail .flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
	margin-bottom: 40px;
}

@media screen and (max-width: 767px){
	.lesson_detail .flex {
		display: block;
		margin-bottom: 20px;
	}
}

.lesson_detail.sannomiya .flex {
	margin-bottom: 0;
}

.lesson_detail ul {
	display: flex;
}

@media screen and (min-width: 768px){
	.lesson_detail ul {
		margin-left: 30px;
	}
}

@media screen and (max-width: 767px){
	.lesson_detail ul {
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 20px;
	}
}

.lesson_detail ul li {
	display: flex;
    color: #fff;
    background: #4d6b9b;
    font-weight: bold;
    text-align: center;
    align-items: center;
	
}

@media screen and (min-width: 768px){
	.lesson_detail ul li {
		margin: 0 -10px;
    	padding: 20px 30px;
		clip-path: polygon(20% 100%, 0% 0%, 80% 0%, 100% 100%);
	}
}

@media screen and (max-width: 1280px){
	.lesson_detail ul li {
		font-size: 1.2vw;
	}
}

@media screen and (max-width: 767px){
	.lesson_detail ul li {
		width: 24%;
    	font-size: 3vw;
    	padding: 20px 0;
    	justify-content: center;
		border-radius: 10px;
		box-shadow: 0 4px 4px #fff;
	}
}

.lesson_detail table {
	min-width: 40%;
	margin: 40px 0;
}

@media screen and (max-width: 767px){
	.lesson_detail table {
		width: 100%;
	}
}

.lesson_detail.sannomiya table {
	margin: 40px 0 0;
}

.lesson_detail table th, 
.lesson_detail table td {
	padding: 10px;
    border: 1px solid #4d6b9b;
}

@media screen and (max-width: 767px){
	.lesson_detail table th, 
	.lesson_detail table td {
		font-size: 14px;
	}
}

.lesson_detail table th {
	background: #eff5ff;
}

.lesson_detail table td {
	background: #fff;
}

@media screen and (max-width: 767px){
	.lesson_detail table td {
		white-space: nowrap;
	}
}

.lesson_detail table td span {
	font-size: 1.4em;
    font-weight: bold;
    color: #bb37a4;
}

@media screen and (min-width: 768px){
	.lesson_detail p {
		width: 70%;
	}
}

@media screen and (max-width: 767px){
	.lesson_detail p.last-text {
		width: 70%;
		font-size: 4vw;
    	font-weight: bold;
    	width: 70%;
	}
}

.lesson_detail p span {
	font-weight: bold;
	color: #c74b55;
}

.lesson_detail .btn {
	display: block;
	width: 100%;
	margin: 0 0 0 auto;
	text-align: center;
	margin-top: 2rem;
	padding: 1rem;
	color: #fff;
	background: #1355a3;
	border: 1px solid #1355a3;
}

@media screen and (max-width: 767px){
	.lesson_detail .btn {
		margin-top: 1rem;
		margin-bottom: -4rem;
	}
}

.lesson_detail .btn:hover {
	color: #1355a3;
	background: #fff;
}

.lesson_detail .btn small{
	display: block;
	color: #ffff00;
	transition: 0.3s;
}

.lesson_detail .btn:hover small{
	color: #1355a3;
	transition: 0.3s;
}

p.caution {
	color: #ff0000;
	text-align: center;
	margin-bottom: 2rem;
}

a.fc_btn {
	display: flex;
    position: fixed;
    bottom: 23%;
    right: 1%;
    color: #fff;
    padding: 15px;
    background: #fff;
    border-radius: 100px;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    box-shadow: 0 0 5px rgba(12, 52, 114, 0.85);
    z-index: 1000;
}

@media screen and (max-width: 767px){
	a.fc_btn {
		width: 45%;
		border-radius: 5px;
		aspect-ratio: unset;
    	bottom: 10px;
    	right: 10px;
    	left: auto;
		padding: 10px;
	}
}

a.fc_btn span {
	position: relative;
	font-weight: bold;
	text-align: center;
	color: #1355a3;
}

@media screen and (max-width: 767px){
	a.fc_btn span {
		display: flex;
    	text-align: left;
		line-height: 1.2;
    	align-items: center;
		font-size: 4vw;
	}
}

a.fc_btn span::before {
	display: block;
    content: '\f1ad';
    font-family: "Font Awesome 5 Free";
    font-size: 2em;
    font-weight: 900;
    margin-bottom: 5px;
}

@media screen and (max-width: 767px){
	a.fc_btn span::before {
		margin-bottom: 0;
		margin-right: 10px;
	}
}


a.trial_btn {
	width: 45%;
	display: flex;
    position: fixed;
    bottom: 10px;
    right: 10px;
    color: #fff;
    padding: 10px;
	color: #fff;
    background: #1b9b1b;
    border-radius: 5px;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 5px rgba(12, 52, 114, 0.85);
    z-index: 1000;
}

@media screen and (min-width: 768px){
	a.trial_btn {
		display: none;
	}
}

a.trial_btn span {
	position: relative;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

@media screen and (max-width: 767px){
	a.trial_btn span {
		display: flex;
    	text-align: left;
		line-height: 1.2;
    	align-items: center;
		font-size: 4vw;
	}
}

a.trial_btn span::before {
	display: block;
    content: '\f450';
    font-family: "Font Awesome 5 Free";
    font-size: 2em;
    font-weight: 900;
    margin-bottom: 5px;
}

@media screen and (max-width: 767px){
	a.trial_btn span::before {
		margin-bottom: 0;
		margin-right: 10px;
	}
}

a.tel_btn {
	width: 45%;
	display: flex;
    position: fixed;
    bottom: 10px;
    left: 10px;
    color: #fff;
    padding: 10px;
	color: #fff;
    background: #e98f2f;
    border-radius: 5px;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 5px rgba(12, 52, 114, 0.85);
    z-index: 1000;
}

@media screen and (min-width: 768px){
	a.tel_btn {
		display: none;
	}
}

a.tel_btn span {
	position: relative;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

@media screen and (max-width: 767px){
	a.tel_btn span {
		display: flex;
    	text-align: left;
		line-height: 1.2;
    	align-items: center;
		font-size: 4vw;
	}
}

a.tel_btn span::before {
	display: block;
    content: "\f2a0";
    font-family: "Font Awesome 5 Free";
    font-size: 2em;
    font-weight: 900;
    margin-bottom: 5px;
}

@media screen and (max-width: 767px){
	a.tel_btn span::before {
		margin-bottom: 0;
		margin-right: 10px;
	}
}

/* 無料体験フォームリンクフッターボタン */
a.mail_btn {
	width: 45%;
	display: flex;
    position: fixed;
    bottom: 10px;
    left: 10px;
    color: #fff;
    padding: 10px;
	color: #fff;
    background: linear-gradient(45deg, #923893, #ca76cb, #ca76cb, #923893);
    border-radius: 5px;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 5px rgba(12, 52, 114, 0.85);
    z-index: 1000;
}

@media screen and (min-width: 768px){
	a.mail_btn {
		display: none;
	}
}

a.mail_btn span {
	position: relative;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

@media screen and (max-width: 767px){
	a.mail_btn span {
		display: flex;
    	text-align: left;
		line-height: 1.2;
    	align-items: center;
		font-size: 4vw;
	}
}

a.mail_btn span::before {
	display: block;
    content: "\f658";
    font-family: "Font Awesome 5 Free";
    font-size: 2em;
    font-weight: 900;
    margin-bottom: 5px;
}

@media screen and (max-width: 767px){
	a.mail_btn span::before {
		margin-bottom: 0;
		margin-right: 10px;
	}
}


.voice_list ul {
	max-width: 960px;
	margin: 0 auto 50px;
}

.voice_list ul li {
	display: flex;
	background: #eff5ff;
	padding: 2rem;
	align-items: center;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	.voice_list ul li {
		padding:1rem; 
	}
}

.voice_list ul li:not(:last-child){
	margin-bottom: 2rem;
}

.voice_list ul li figure {
	width: 15%;
}

@media screen and (max-width: 767px){
	.voice_list ul li figure {
		width: 20%;
	}
}

.voice_list ul li .box {
	width: 80%;
}

@media screen and (max-width: 767px){
	.voice_list ul li .box {
		width: 78%;
	}
}

.voice_list ul li .meta {
	font-weight: bold;
}

@media screen and (max-width: 767px){
	.voice_list ul li .meta {
		font-size: 0.8rem;
		text-align: center;
	}
}

/* TOPバナー追加 */
.flex_banner {
	display: flex;
	justify-content:space-between;
}

@media screen and (max-width: 767px){
	.flex_banner {
		display: block;
	}
}

.flex_banner a {
	width: 48%;
}

@media screen and (max-width: 767px){
	.flex_banner a {
		width: 100%;
	}
	
	.flex_banner a:not(:last-child){
		margin-bottom: 1rem;
	}
}

.underline {
	text-decoration: underline;
}
.underline:hover {
	text-decoration: none;
}

.mw_wp_form_input .privacy_check {
	display: flex;
    justify-content: center;
}

.mw_wp_form_preview .privacy_check {
	display: none;
}

@media screen and (max-width: 767px){
	.mwform-checkbox-field-text{
		font-size: 14px;
	}
}

/* 20240605追記 */
a.down_btn,
a.campaign_btn {
    display: block;
    width: 100%;
    max-width: 640px;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: center;
    color: #fff;
    margin: 30px auto 0;
    padding: 2rem 10px 1rem;
    border: 1px solid;
    border-radius: 100px;
}

@media screen and (max-width: 767px){
	a.down_btn,
	a.campaign_btn {
		font-size: 1rem;
        margin: 1rem 0 2rem;
        padding: 10px 0 5px;
		
	}
}

a.down_btn span::after,
a.campaign_btn span::after{
	display: block;
    font-family: "Font Awesome 5 Free";
    content: '\f107';
	font-size: 1.5em;
    font-weight: 900;
}

a.down_btn {
	background: #e98f2f;
}

a.down_btn:hover {
    color: #fff;
    background: #c5731a;
}

a.campaign_btn {
	background: #1b9b1b;
}

a.campaign_btn:hover {
    color: #fff;
    background: #106b10;
}

.tab-area {
	display: flex;/* flexで横並び */
	border: 1px solid #1355a3;
	cursor: pointer;/* カーソルポインターに */
}

@media screen and (max-width: 640px){
	.tab-area {
		flex-wrap: wrap;
	}
}

.tab {
	width: calc(100% / 4);
	color: #1355a3;
	padding: 10px;
	text-align: center;/* 文字を中央に。 */
	transition: 0.3s;
}

@media screen and (max-width: 640px){
	.tab {
		width: calc(100% / 2);
	}
}

@media screen and (min-width: 641px){
	.tab:nth-child(n+2) {
		border-left: 1px solid #1355a3;
	}
}

@media screen and (max-width: 640px){
	.tab:first-child,
	.tab:nth-child(2) {
		border-bottom: 1px solid #1355a3;
	}
	
	.tab:nth-child(even){
		border-left: 1px solid #1355a3;
	}
}

.tab.active {
	background-color: #1355a3;
	color: #fff;
	transition: 0.3s;
}

.panel {
	display: none;
	text-align: center;
}

.panel.active {
	display: block;
}

.panel-area .panel ul {
	display: flex;
	flex-wrap: wrap;
}

@media screen and (max-width: 1199px){
	.panel-area .panel ul {
		justify-content: space-between;
	}
}

.panel-area .panel ul li {
	width: 32%;
	padding: 0;
	border: 1px solid #1355a3;
	border-radius: 20px;
	overflow: hidden;
	counter-increment: howto;
}

@media screen and (max-width: 1199px){
	.panel-area .panel ul li {
		width: 48%;
		margin-bottom: 2%;
	}
}

@media screen and (max-width: 767px){
	.panel-area .panel ul li {
		width: 100%;
		border-radius: 10px;
	}
}

@media screen and (min-width: 1200px){
	.panel-area .panel ul li:not(:nth-child(3n)){
		margin-right: 2%;
	}
}

.panel-area .panel ul li figure {
	padding: 1rem;
}

.panel-area .panel h3 {
	margin: 2rem 0;
	padding: 1rem;
	color: #1355a3;
	background: #eaf7ff;
}

.panel-area .panel h4 {
	padding: 1rem;
	color: #fff;
	background: #1355a3;
}

.panel-area .panel h4::before {
    content: "STEP." counter(howto);
    display: block;
    font-family: 'Noto Serif JP';
    font-size: 1.4em;
    font-weight: bold;
}


ul.store_submenu3,
ul.store_submenu4 {
	display: flex;
    max-width: 800px;
    margin: 0 auto 3rem;
    padding: 0 20px;
	justify-content: space-between;
}

@media screen and (max-width: 767px){
	ul.store_submenu3,
	ul.store_submenu4 {
		margin: -20px auto 0;
		padding: 0;
	}
}

ul.store_submenu3 li a,
ul.store_submenu4 li a {
	display: block;
	padding: 10px;
	background: #eaf7ff;
}

@media screen and (max-width: 767px){
	ul.store_submenu3 li a,
	ul.store_submenu4 li a {
		padding: 5px;
		background: #fffaf4;
	}
	
}

ul.store_submenu3 li span::after,
ul.store_submenu4 li span::after {
	display: block;
    font-family: "Font Awesome 5 Free";
    content: '\f107';
    font-size: 1.5em;
    font-weight: 900;
}

@media screen and (min-width: 768px){
	ul.store_submenu3 li,
	ul.store_submenu4 li {
		text-align: center;
		border: 1px solid #999;
	}
	
	ul.store_submenu3 li span,
	ul.store_submenu4 li span {
		font-size: 1rem;
	}
	
	ul.store_submenu3 li {
		width: calc(100% / 3 - 10px);
	}

	ul.store_submenu4 li {
		width: calc(100% / 4 - 10px);
	}
}

@media screen and (max-width: 767px){
	ul.store_submenu3 li,
	ul.store_submenu4 li {
		text-align: center;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
	}

	ul.store_submenu3 li:not(:last-child),
	ul.store_submenu4 li:not(:last-child) {
		border-right: 1px solid #ccc;
	}
	
	ul.store_submenu3 li {
		width: calc(100% / 3);
	}

	ul.store_submenu4 li {
		width: calc(100% / 4);
	}
	
	ul.store_submenu3 li span,
	ul.store_submenu4 li span {
		font-size: 0.8rem;
	}
}

/* 240606追記 */
.area_select {
	margin-bottom: 3rem;
}

@media screen and (max-width: 767px){
	.area_select {
		margin-bottom: 1rem;
	}
}

.area_select .flex {
	display: flex;
}

@media screen and (max-width: 990px){
	.area_select .flex {
		display: block;
	}
}

@media screen and (min-width: 991px){
	.area_select .flex p.title {
		white-space: nowrap;
    	color: #fff;
    	background: #1355a3;
		padding: 10px 30px 10px 10px;
		clip-path: polygon(0% 0%, 90% 0, 100% 50%, 90% 100%, 0% 100%);
	}
}

@media screen and (max-width: 990px){
	.area_select .flex p.title {
		font-weight: bold;
		text-align: center;
		color: #fff;
    	background: #2390bf;
		padding: 10px 0;
	}
}

@media screen and (max-width: 767px){
	.area_select .flex p.title {
		padding: 5px 0;
	}
}

.area_select ul {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

@media screen and (max-width: 640px){
	.area_select ul {
		flex-wrap: wrap;
	}
}

.area_select ul li {
	width: 100%;
    height: 100%;
	margin: 0 5px;
}

@media screen and (max-width: 640px){
	.area_select ul li {
		width: calc(100% / 4 - 5px);
		margin: 0;
	}
}

.area_select ul li a,
.area_select ul li span{
	display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    border-bottom: 2px solid;
}

@media screen and (max-width: 990px){
	.area_select ul li a,
	.area_select ul li span{
		padding: 10px 0;
	}
}

@media screen and (max-width: 767px){
	.area_select ul li a,
	.area_select ul li span{
		font-size: 0.85rem;
	}
}

.area_select ul li.nothing {
	color: #ccc;
	cursor: not-allowed;
}

/* iOSでtrにabsoluteを提供するための強引なハック */
.blackbox table tr {
	display: block;
}

.blackbox table tr th {
	width: 200px!important;
}

@media screen and (max-width: 767px){
	.blackbox table tr th {
		width: 170px!important;
	}
}

.blackbox table tr td {
	width: calc(100% - 200px)!important;
}

@media screen and (max-width: 767px){
	.blackbox table tr td {
		width: calc(100% - 170px)!important;
	}
}

/******************************************/

/* プラン説明用 */
.plan_list table {
	max-width: 1200px;
	margin: auto;
}

.plan_list table th,
.plan_list table td {
	padding: 1rem;
	border: 1px solid #ccc;
}

@media screen and (max-width: 767px){
	.plan_list table th,
	.plan_list table td {
		padding: 10px;
	}
}

.plan_list table th {
	white-space: nowrap;
}

@media screen and (max-width: 767px){
	.plan_list table th {
		font-size: 0.9rem;
	}
}

.plan_list table th small {
	display: block;
	color: #c74b55;
}

.plan_list table td {
	
}

@media screen and (max-width: 767px){
	.plan_list table td {
		font-size: 0.8rem;
	}
}

.plan_list table tr:nth-child(odd) th {
	background: #ffdef7;
}

.plan_list table tr:nth-child(odd) td {
	background: #fffafe;
}

.plan_list table tr:nth-child(even) th {
	background: #d8fbd8;
}

.plan_list table tr:nth-child(even) td {
	background: #f3fff3;
}

/* キャンペーン新表記法 */
.campain_area {
	margin-top: -50px;
	padding: 60px 0;
	background: linear-gradient(to bottom, #fff 0%, #fff 70%, #eee 100%);
}

@media screen and (max-width: 767px){
	.campain_area {
		margin-top: -20px;
		margin-bottom: 0;
		padding: 30px 0;
	}
}

.campain2 {
	
}

.campain2 p.head {
	font-family: Noto Serif JP;
	width: 100%;
    text-align: center;
    margin-bottom: 2rem;
}

.campain2 p.head span {
	position: relative;
	font-size: 2rem;
    font-weight: bold;
	line-height: 1;
	color: #6f5f22;
	text-shadow: 0 2px 2px #fff;
}

@media screen and (max-width: 767px){
	.campain2 p.head span {
		font-size: 24px;
	}
}

.campain2 p.head span::before {
	display: block;
    content: "";
    width: 100%;
    height: 50px;
	margin-bottom: 1rem;
    background-image: url(./img/campain_frameline_top.png);
    background-size: contain;
    background-repeat: no-repeat;
	background-position: center;
}

.campain2 ul {
	display: flex;
    margin: auto;
	justify-content: center;
	gap: 1rem;
}

@media screen and (max-width: 767px){
	.campain2 ul {
		flex-wrap: wrap;
		gap: unset;
		justify-content: unset;
	}
}

.campain2 ul li {
	display: flex;
	flex-wrap: wrap;
	width: 24%;
	max-width: 300px;
	padding: 1rem;
	border: 1px solid #ccc;
	border-radius: 10px;
	align-items: flex-start;
	justify-content: center;
}

@media screen and (max-width: 767px){
	.campain2 ul li {
		width: 49%;
		margin-bottom: 2%;
	}
	
	.campain2 ul li:nth-child(odd){
		margin-right: 2%;
	}
}

.campain2 ul li.join_free {
	background: linear-gradient(45deg, #E2FFE2, #fff, #E2FFE2);
}

.campain2 ul li.first_free {
	background: linear-gradient(45deg, #FFEDEF, #fff, #FFEDEF);
}

.campain2 ul li.ticket {
	background: linear-gradient(45deg, #FFF9E7, #fff, #FFF9E7);
}

.campain2 ul li.join_free p {
	color: #187D18;
}

.campain2 ul li.first_free p {
	color: #B5188B;
}

.campain2 ul li p::before {
	display: block;
	content: "";
	margin: auto;
	width: 40%;
	aspect-ratio: 1 / 1;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: 1rem;
}

@media screen and (max-width: 767px){
	.campain2 ul li p::before {
		width: 30%;
		margin-bottom: 5px;
	}
}

.campain2 ul li.join_free p::before {
	background-image: url(./img/money_icon1.svg);
}

.campain2 ul li.first_free p::before {
	background-image: url(./img/money_icon2.svg);
}

.campain2 ul li.ticket p::before {
	background-image: url(./img/tickets_icon.svg);
}

.campain2 ul li p {
	display: block;
	width: 100%;
	font-weight: bold;
	text-align: center;
}


.campain2 ul li.join_free p span,
.campain2 ul li.first_free p span {
	display: block;
	font-size: 1.5em;
	line-height: 1;
}

.campain2 ul li.ticket p strong {
	display: block;
	font-size: 1.2em;
	color: #D56F02;
	line-height: 1.5;
}

.campain2 p.irregular {
    font-size: 0.9rem;
    text-align: center;
    margin-top: 1rem;
    color: #990000;
}

/* 施設紹介追記 */
.single_service .other {
	padding: 60px 0;
}

@media screen and (max-width: 767px){
	.single_service .other {
		padding: 30px 0;
	}
}

.single_service .other ul {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width: 900px){
	.single_service .other ul {
		flex-wrap: wrap;
	}
}

.single_service .other ul li {
	width: 24%;
}

@media screen and (max-width: 900px){
	.single_service .other ul li {
		width: 48%;
		margin-bottom: 1rem;
	}
}

@media screen and (max-width: 767px){
	.single_service .other ul li {
		width: 100%;
	}
	
	.single_service .other ul li:last-child {
		margin-bottom: 0;
	}
}

.single_service .other ul li h3 {
	color: #1355a3;
    margin-bottom: 1rem;
    padding: 1rem 0;
    border-bottom: 1px solid #ccc;
}

.recruit {
	background-image: url(./img/recruit_back.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 0;
    padding: 60px 0;
}

@media screen and (max-width: 767px) {
    .recruit {
        padding: 30px 0;
    }
}

.recruit .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.recruit .left {
	width: 60%;
}

.recruit figure {
	width: 35%;
}

@media screen and (max-width: 767px) {
	.recruit .left {
		width: 100%;
	}
	
	.recruit figure {
		width: 100%;
		margin-bottom: 1rem;
	}
}

.recruit figure img {
	border: 1px solid #fff;
}

.recruit .alpha,
.recruit h2 {
	color: #fff;
}

.recruit p {
	color: #fff;
}

.recruit p.lead {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
	.recruit p.lead {
		font-size: 1.2rem;
		margin-bottom: 1rem;
	}
}

.recruit .left a.btn{
	display: block;
	width: 100%;
	max-width: 320px;
	text-align: center;
	margin: 30px auto 0 0;
	padding: 10px;
	background: #fff;
	border: 1px solid;
	border-radius: 100px;
}

@media screen and (max-width: 767px) {
	.recruit .left a.btn{
		margin: 20px auto;
	}
}

.recruit .left a.btn span::before{
	font-family: "Font Awesome 5 Free";
    content: '\f101';
    font-weight: 900;
    margin-right: 10px;
}

.recruit .left a.btn:hover{
	color: #fff;
	background: #1355a3;
}

.campain3 ul {
	gap: 3px;
	margin-bottom: 1rem;
}

.campain3 ul li {
	width: fit-content;
    font-size: 0.85rem;
    padding: 5px;
    line-height: 1;
    margin: 0 !important;
}

.campain3 ul li.join_free {
	background: #eee;
}

.campain3 ul li.join_free {
	background: #f4fff4;
}

.campain3 ul li.first_free {
	background: #fff7f8;
}

.campain3 ul li.ticket {
	background: #f6faff;
}

/* キャンペーン表記変更 */
.campain4 {
    width: 50%;
}

@media screen and (max-width: 767px){
	.campain4 {
		width: 100%;
		margin-bottom: 1rem;
		padding: 10px;
		background: linear-gradient(to top, #fff 0%, #fff 70%, #eee 100%);
	}
}

.campain4 p.head {
	color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    border-bottom: 1px solid;
    margin-bottom: 10px;
    padding-bottom: 10px;
}

@media screen and (max-width: 767px){
	.campain4 p.head {
		font-size: 1.2rem;
		color: #1355a3;
		text-align: center;
	}
}

.campain4 ul {
	display: flex;
    margin: auto;
	gap: 1rem;
}

@media screen and (max-width: 767px){
	.campain4 ul {
		flex-wrap: wrap;
		gap: unset;
		justify-content: unset;
	}
}

.campain4 ul li {
	display: flex;
	flex-wrap: wrap;
	width: 24%;
	padding: 1rem;
	border: 1px solid #ccc;
	border-radius: 10px;
	align-items: flex-start;
	justify-content: center;
}

@media screen and (max-width: 767px){
	.campain4 ul li {
		width: 100%;
		margin-bottom: 2%;
		padding: 10px;
	}
}

.campain4 ul li.join_free {
	background: linear-gradient(45deg, #E2FFE2, #fff, #E2FFE2);
}

.campain4 ul li.first_free {
	background: linear-gradient(45deg, #FFEDEF, #fff, #FFEDEF);
}

.campain4 ul li.ticket {
	background: linear-gradient(45deg, #FFF9E7, #fff, #FFF9E7);
}

.campain4 ul li.join_free p {
	color: #187D18;
}

.campain4 ul li.first_free p {
	color: #B5188B;
}

.campain4 ul li p::before {
	display: block;
	content: "";
	margin: auto;
	width: 40%;
	aspect-ratio: 1 / 1;
	background-size: contain;
	background-repeat: no-repeat;
}

@media screen and (max-width: 767px){
	.campain4 ul li p::before {
		width: 12%;
		margin: 0 1rem 0 0;
	}
}

.campain4 ul li.join_free p::before {
	background-image: url(./img/money_icon1.svg);
}

.campain4 ul li.first_free p::before {
	background-image: url(./img/money_icon2.svg);
}

.campain4 ul li.ticket p::before {
	background-image: url(./img/tickets_icon.svg);
}

.campain4 ul li p {
	display: block;
	width: 100%;
	font-size: 0.9rem;
	font-weight: bold;
	text-align: center;
}

@media screen and (max-width: 767px){
	.campain4 ul li p {
		display: flex;
		align-items: center;
	}
}


.campain4 ul li.join_free p span,
.campain4 ul li.first_free p span {
	display: block;
	font-size: 1.5em;
	line-height: 1;
}

.campain4 ul li.ticket p strong {
	display: block;
	color: #D56F02;
	line-height: 1.5;
}

.campain4 p.irregular {
    font-size: 0.9rem;
    text-align: center;
    margin-top: 1rem;
    color: #990000;
}

.single_campaign .wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.single_campaign .box {
	width: 48%;
    margin: 0 auto 2rem;
	padding: 2rem;
	background: #fafafa;
	border: 1px solid #ccc;
}

@media screen and (max-width: 767px){
	.single_campaign .box {
		width: 100%;
		margin: 0 auto 1rem;
		padding: 1rem;
	}
}

.single_campaign .box h2 {
	font-size: 24px;
    color: #fff;
    border: none;
    border-radius: 10px;
    margin-bottom: 20px;
    padding: 20px;
}

@media screen and (max-width: 767px){
	.single_campaign .box h2 {
		font-size: 18px;
		margin-bottom: 10px;
		padding: 10px;
	}
}


.single_campaign .box:first-child h2{
	background: #1b9b1b;
}

.single_campaign .box:nth-child(2) h2{
	background: #e98f2f;
}

.single_campaign .box p.txt {
	margin-bottom: 1rem;
}

.single_campaign .box h3 {
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid ;
}

@media screen and (max-width: 767px){
	.single_campaign .box h3 {
		margin-bottom: 10px;
		padding-bottom: 10px;
	}
}

.single_campaign .box ul {
	display: flex;
	flex-wrap: wrap;
}

.single_campaign .box ul li {
	width: 33%;
}

@media screen and (max-width: 767px){
	.single_campaign .box ul li {
		width: 50%;
	}
}

/* お問い合わせフォーム調整 */
input[name="namae"],
input[name="namae_kana"],
input[name="douhan-namae"],
input[name="douhan-namae-kana"]{
	max-width: 160px;
}

input[name="mail"],
input[name="mail_confirm"]{
	max-width: 300px;
}

input[name="number"]{
	max-width: 200px;
}

select[name="omise"]{
	max-width: 260px;
	height: 40px;
}

@media screen and (min-width: 768px){
	.sns_link {
		display: none;
	}
}

@media screen and (max-width: 767px){
	.sns_link {
		display: flex;
		margin-right: 50px;
	}
}

.sns_link li:not(:last-child){
	margin-right: 10px;
}

.sns_link li img {
	display: block;
	width: 36px;
}

@keyframes blinking {
	0% {
    background-color: #0f770f;
	}

  50% {
    background-color: #1b9b1b;
	}
  
  100% {
	  background-color: #0f770f;
	}
}

.mw_wp_form_confirm td small {
	display: none;
}

/* Cookie確認メッセージ */
.cookie-consent {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-size: 1rem;
    color: #fff;
    background: rgba(0,0,0,.8);
    padding: 1.2em;
    box-sizing: border-box;
    visibility: hidden;
	z-index: 10000;
}

.cookie-consent.is-show {
    visibility: visible;
}

.cookie-consent a {
	color: #fff !important;
}

.cookie-agree {
    color: #fff;
    background: dodgerblue;
    padding: .5em 1.5em;
}

.cookie-agree:hover {
    cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
	display: none;
}
/* ゆっくり消える */
.cc-hide2 {
	animation: hide 1s linear 0s;
	animation-fill-mode: forwards;
}
@keyframes hide {
	from {
      opacity: 1;
    }
    to {
      opacity: 0;
      visibility: hidden;
    }
}
/* メディアクエリ */
@media screen and (max-width: 600px) {
	.cookie-consent {
		flex-direction: column;
	}
    .cookie-text {
      margin-bottom: 1em;
    }
}

/* モーダル開くボタン非表示 */
.store_single .price table th i.far {
	display: none;
}