@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
/*------@import------*/
@import url('https://fonts.googleapis.com/css2?family=Marcellus&family=Marcellus+SC&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

:root {
	/*------▼基本設定▼------*/
	--color-background: #fff;
	--color-font: #55524F;
	--color-primary: #F89DB1;
	--color-primary-shade: #;
	--color-primary-tint: #F3BDC9;
	--color-secondary: #00AEEF;
	--color-secondary-tint: ;
	--color-table-border: #CCC;
	--body-font-size: min(calc(1.6rem + (1vw - 1.92rem) * 0.1294), 1.6rem);
	/* 1.6-1.4rem (1920-375) */
	--body-font-family: "Noto Serif JP", serif;
	--content-max-width: 1240px;
	/*------▼ヘッダー設定▼------*/
	--header-background: #F7EEE8;
	--header-color-font: #55524F;
	--header-color-primary: #55524F;
	--header-secondary: ;
	--header-color-primary-shade: ;
	--header-color-primary-tint: ;
	/*------▼フッター設定▼------*/
	--footer-background: linear-gradient(to right, #f9e9e0 0%, #fee2e2 100%);
	--footer-color-font: #55524F;
	--footer-color-primary: ;
	/*------▼フォント設定▼------*/
	--font-family01: "Noto Serif JP", serif;
	--font-family02: "Noto Sans JP", sans-serif;
	--font-family03: "Marcellus SC", serif;
	--font-family04: "Marcellus", serif;
}

/*--メディアクエリ--------------------------------------------*/
@media print,
screen and (min-width: 1024px) {}

@media print,
screen and (max-width: 1023px) {}

@media print,
screen and (min-width: 769px) {}

@media print,
screen and (max-width: 768px) {}

/*--全体の設定--------------------------------------------*/
html {
	scroll-behavior: smooth;
	/* scroll-padding-top: 80px; */

	body {
		letter-spacing: 0.1rem;
		line-height: 1.8;

		p {
			line-height: 1.8;
		}
	}
}

/* #content,
body:not(.home) #content.wide {
padding: var(--px100w) 0 0;
} */

/*--アンカーリンク--------------------------------------------*/
.anchor-link_contents {
	margin-top: -120px !important;
	padding-top: 120px !important;
}

#trial {
	scroll-margin-top: 120px;
}

@media screen and (max-width: 768px) {
	#trial {
		scroll-margin-top: 120px !important;
	}
}

.anchor-link {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	font-weight: bold;
	color: var(--color-primary-shade);
	max-width: 370px;
	width: 100%;
	border-radius: 50em;
	padding: var(--px20) var(--px40);
	position: relative;
	border: 1px solid var(--color-primary-shade);

	&::before,
	&::after {
		content: "";
		position: absolute;
		bottom: calc(50% - 7px);
		right: 30px;
		width: 2px;
		height: 14px;
		border-radius: 9999px;
		background-color: var(--color-primary-shade);
		transform-origin: 50% calc(100% - 1px);
	}

	&::before {
		transform: rotate(45deg);
	}

	&::after {
		transform: rotate(-45deg);
	}

	&:hover {
		background-color: var(--color-primary-tint);
		color: var(--color-primary-shade);
	}

	&.anchor-link--special {
		max-width: 540px;
		width: 100%;
		background: var(--color-primary);
		border: 1px solid var(--color-primary);
		color: #fff;

		&::before,
		&::after {
			background-color: #fff;
		}

		&:hover {
			background: var(--color-primary-tint);
			color: var(--color-primary);

			&::before,
			&::after {
				background-color: var(--color-primary);
			}
		}
	}
}

@media print,
screen and (max-width: 768px) {
	.anchor-link {

		&::before,
		&::after {
			content: "";
			position: absolute;
			bottom: calc(50% - 5px);
			right: 20px;
			width: 2px;
			height: 10px;
			border-radius: 9999px;
			transform-origin: 50% calc(100% - 1px);
		}
	}
}

/*--表示の切り替え--------------------------------------------*/

body:not(.page.home) .top-news {
	display: none;
}

/*--お知らせ　下線--------------------------------------------*/
.postlist li {
	border-top: 1px solid #ddd;
}

.postlist li:last-child {
	border-bottom: 1px solid #ddd;
}

/*--fvの比率調整--------------------------------------------*/
#mainImg img {
	width: 100% !important;
	height: auto;
}

/* .mobile #mainImg {
	min-height: 440px;
} */

@media print,
screen and (min-width: 769px) {
	div#metaslider_464 {
		display: none;
	}
}

@media print,
screen and (max-width: 768px) {
	div#metaslider_98 {
		display: none;
	}
}


/*--幅フル100%背景色--------------------------------------------*/

.widecolor--bg-pink {
	margin-right: calc(((100vw - 100%) / 2)* -1);
	margin-left: calc(((100vw - 100%) / 2)* -1);
	background-color: #F7EEE8;
}

@media print,
screen and (max-width: 768px) {

	.widecolor--bg-primary-shade {
		padding: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px) 0 min(calc(150px + (1vw - 19.2px) * 3.2362), 150px) 0;
		/* 120-80px (1920-375) */
	}
}

.post .widecolor>h2:first-child {
	margin-top: 0 !important;
}

.widearea {
	margin-right: calc(((100vw - 100%) / 2)* -1);
	margin-left: calc(((100vw - 100%) / 2)* -1);
}

#content,
body:not(.home) #content.wide {
	margin: 0 auto;
}

body.page.page-id-6199 #content.wide {
	padding: 0;
}

body.page.page-id-6199 #breadcrumb {
	background: #fdf9ea;
}

@media print,
screen and (max-width: 768px) {

	#content,
	#content.wide {
		width: 100%;
	}

	.content_inner {
		width: 100%;
	}
}


/*----------------------------------------------
utility
----------------------------------------------*/
/*---------コンテンツ幅-----------*/
.max_w820 {
	max-width: 820px;
}

.max_w1650 {
	max-width: 1650px;
}

.w100 {
	width: 100%;
}

/*---------背景-----------*/
.bg_white {
	background: var(--color-background) !important;
}

.bg_pink {
	background: #f692a7;
}


.bg_primary {
	background: var(--color-primary) !important;
}

.bg_secondary {
	background: var(--color-secondary) !important;
}

.bubble-box {
	background-image: url(/wp-content/uploads/bg_bubble.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.bubble-box02 {
	background-image: url(/wp-content/uploads/bg_bubble02.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

.bubble-box03 {
	background-image: url(/wp-content/uploads/bg_bubble03.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}

.bubble-box--left {
	background-image: url(/wp-content/uploads/bg_bubble-left.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left top;
}

.bg_tertiary {
	background: url(/wp-content/uploads/bg01.png) no-repeat center / cover;
}

@media screen and (max-width: 768px) {

	.bubble-box02,
	.bubble-box03 {
		background-position: left center;
	}
}

/*---------文字色-----------*/
.fc_primary {
	color: var(--color-primary) !important;
}

.fc_secondary {
	color: var(--color-secondary) !important;
}

.fc_light-blue {
	color: #4BA5FF;
}

.fc_white {
	color: #fff;
}

.fc_purple {
	color: #CB87DE;
}


/*---------文字-----------*/
.ff_mincho {
	font-family: var(--font-family02) !important;
}

/*---------フォントサイズ-----------*/
.fz14 {
	font-size: 14px !important;
}

.fz18 {
	font-size: var(--rem18) !important;
}

.fz28 {
	font-size: var(--rem28);
	line-height: 1.2;
}

.fz20 {
	font-size: var(--rem20);
}

.fz30 {
	font-size: var(--rem30);
}

.fz48 {
	font-size: var(--rem48);
}

.fz40 {
	font-size: var(--rem40);
}

.fz60 {
	font-size: var(--rem60);
}

@media screen and (max-width: 450px) {
	.sp-fz48 {
		font-size: var(--rem48) !important;
	}
}

/*---------リンク---------------------------------------------------*/
.txc_link {
	color: #1EB3EA;
	font-weight: bold;
}

/*---------gap---------------------------------------------------*/
.gap1 {
	gap: 1%;
}

/*---------border-radius-----------------------------------------------*/
.r-120 {
	border-radius: var(--rem120);
}

/*---------line-height---------------------------------------*/
.lh1 {
	line-height: 1;
}


/*---------sp表示-------------------------------------------------------*/
@media screen and (max-width: 768px) {
	.sp-txt_l {
		text-align: left !important;
	}

	.sp-txt_c {
		text-align: center !important;
	}
}

/*--------------------------------------------------------------
title
--------------------------------------------------------------*/
h1.title,
.post h1,
header#h1Header h1.title {
	font-size: var(--rem48);
}

#thumbImg::before,
header#h1Header::before {
	background: transparent;
}

.post h3 {
	font-size: var(--rem24);
	font-family: var(--font-family01);
	font-weight: 600;
	letter-spacing: .1rem;
	padding: 0 .4em .4em 0;
	margin: var(--px60) auto var(--px20);
	border-bottom: 2px solid var(--color-primary);
	color: #F6728E;
}

.subtitle {
	font-size: var(--rem20);
	font-weight: bold;
	display: block !important;
}


.post h1,
h1,
.post h2,
h2,
.post h3,
h3,
.post h4,
h4,
.post h5,
h5,
p,
div,
span {

	/*---------top-main-title-----------*/
	&.top-main-title {
		font-family: var(--font-family04);
		font-size: var(--rem60);
		font-weight: 500;
		text-align: center;
		color: var(--color-primary);
		line-height: 1.4;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0;
		border: none;
		background: transparent;
		position: relative;

		.first-txt {
			font-family: var(--font-family03);
			font-size: var(--rem72);
			padding: 0;
			margin: 0;
			border: none;
			background: transparent;
		}

		&::before,
		&::after {
			content: none;
		}

		&.top-main-title--left {
			text-align: left;
		}

		&.top-main-title--white {
			color: var(--color-background);
		}
	}

	/*---------top-secondary-title-----------*/
	&.top-secondary-title {
		font-family: var(--font-family01);
		font-size: var(--rem30);
		font-weight: 500;
		text-align: center;
		color: var(--color-font);
		line-height: 1.4;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0 auto var(--rem20);
		border: none;
		background: transparent;

		&::before,
		&::after {
			content: none;
		}

		&.top-secondary-title--left {
			text-align: left;

			.subtxt {
				text-align: left;
			}

			&::after {
				left: 0;
				transform: unset;
			}
		}

		&.top-secondary-title--white {
			color: var(--color-background);

			.subtxt {
				color: var(--color-background);
			}

			&::after {
				border-bottom: 3px solid var(--color-background);
			}
		}
	}

	/*---------top-third-title-----------*/
	&.top-third-title {
		font-family: var(--font-family01);
		font-size: var(--rem24);
		font-weight: bold;
		text-align: center;
		color: var(--color-font);
		line-height: 1.4;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0 auto var(--rem20);
		border: none;
		background: transparent;

		&::before {
			content: "";
			display: block;
			width: var(--rem30);
			height: var(--rem24);
			background: url(/wp-content/uploads/top-icon01.png) no-repeat center / contain;
			margin: 0 auto 5px;
		}

		&::after {
			content: none;
		}

		&.top-third-title--left {
			text-align: left;

			.subtxt {
				text-align: left;
			}

			&::after {
				left: 0;
				transform: unset;
			}
		}

		&.top-third-title--white {
			color: var(--color-background);

			.subtxt {
				color: var(--color-background);
			}

			&::after {
				border-bottom: 3px solid var(--color-background);
			}
		}
	}

	/*---------page-main-title-----------*/
	&.page-main-title {
		font-family: var(--font-family04);
		font-size: var(--rem48);
		font-weight: 500;
		text-align: center;
		color: var(--color-primary);
		line-height: 1.4;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0 0 var(--rem40);
		border: none;
		background: transparent;
		position: relative;

		.subtxt {
			display: block;
			font-family: var(--font-family01);
			font-size: var(--rem24);
			font-weight: 500;
			text-align: center;
			color: var(--color-font);
			line-height: 1.4;
			overflow-wrap: break-word;
			padding: 0;
			margin: 0 auto var(--rem20);
			border: none;
			background: transparent;
		}

		&::before,
		&::after {
			content: none;
		}

		&.page-main-title--left {
			text-align: left;
		}

		&.page-main-title--white {
			color: var(--color-background);
		}
	}

	/*---------page-secondary-title-----------*/
	&.page-secondary-title {
		font-family: var(--font-family01);
		font-size: var(--rem24);
		font-weight: 500;
		text-align: center;
		color: var(--color-font);
		line-height: 1.4;
		overflow-wrap: break-word;
		padding: 0;
		margin: 0 auto var(--rem20);
		border: none;
		background: transparent;

		&::before,
		&::after {
			content: none;
		}

		&.page-secondary-title--left {
			text-align: left;

			.subtxt {
				text-align: left;
			}

			&::after {
				left: 0;
				transform: unset;
			}
		}

		&.page-secondary-title--white {
			color: var(--color-background);

			.subtxt {
				color: var(--color-background);
			}

			&::after {
				border-bottom: 3px solid var(--color-background);
			}
		}
	}

	&.page-third-title {
		font-size: var(--rem20);
		font-weight: 600;
		text-align: left;
		background: #FFF1F9;
		color: #F6728E;
		border: none;
		padding: 10px;

		&:after,
		&::before {
			content: none;
		}

		&.page-third-title--green {
			background: #F3FFE6;
			color: #43C249;
		}

		&.page-third-title--blue {
			background: #EAFFFF;
			color: #43B9C2;
		}

		&.page-third-title--orange {
			background: #FFF6EB;
			color: #FF8346;
		}
	}
}


@media print,
screen and (max-width: 550px) {

	.post h1,
	h1,
	.post h2,
	h2,
	.post h3,
	h3,
	.post h4,
	h4,
	.post h5,
	h5,
	p,
	div,
	span {}
}

@media print,
screen and (max-width: 450px) {

	.post h1,
	h1,
	.post h2,
	h2,
	.post h3,
	h3,
	.post h4,
	h4,
	.post h5,
	h5,
	p,
	div,
	span {}
}

@media print,
screen and (max-width: 375px) {

	.post h1,
	h1,
	.post h2,
	h2,
	.post h3,
	h3,
	.post h4,
	h4,
	.post h5,
	h5,
	p {

		/*---------txtstyle01-----------*/
	}
}

/*----------------------------------------------
read_txt
----------------------------------------------*/
.read_txt {
	font-size: var(--rem24);
	text-align: center;
	letter-spacing: .1rem;
	line-height: 2;
	margin: 0;
}

/*----------------------------------------------
cta
----------------------------------------------*/
.cta01 {
	background: url(/wp-content/uploads/cta-bg.jpg) no-repeat center center / cover;
	position: relative;
	z-index: 0;
}

.cta01 .cta01_wrap {
	max-width: 1600px;
	width: 90%;
	margin: 0 auto;
	background: var(--color-background);
	box-shadow: 10px 10px 0 #E7D7CD;
	padding: var(--px80);
}

.cta01 .ctabtnlist {
	justify-content: space-between;
	max-width: 960px;
	margin: var(--px50) auto 0 auto;
}

.cta01 .ctabtnlist li {
	width: 50%;
	margin: 0;
	padding: 0;
	line-height: 1;
	display: flex;
}

.cta01 a.item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--px30) 0;
	text-align: center;
	box-sizing: border-box;
	color: #111;
	border-radius: 0;
	transition: all ease .15s;
}

.cta01 a.item:hover {
	opacity: 0.8;
}

@media print,
screen and (max-width: 768px) {

	.cta01 {
		padding-left: 0;
		padding-right: 1%;
	}

	.cta01 .ctabtnlist li,
	.cta01 .ctabtnlist a.item {
		width: 100%;
	}

	.cta01 .ctabtnlist li+li {
		margin-top: 1rem;
	}
}

/*ボタン共通パーツ*/

.cta01 .btnttl {
	display: block;
	font-weight: bold;
}

.cta01 .infotxt {
	font-size: var(--rem16);
	font-weight: 400;
}

/*LINEボタン*/

.cta01 .linettl {
	font-size: var(--rem18);
	font-weight: bold;
	display: flex;
	align-items: center;
}

.cta01 .linebtn .btnttl {
	font-size: var(--rem20);
}

.cta01 a.linebtn {
	background: #5bc487;
	color: #fff;
	border-radius: 50em;
	border: 1px solid #5bc487;

	&:hover {
		background: #25DA6F;
		color: var(--color-background);
	}
}

/*Instagramボタン*/
.cta01 .instabtn .btnttl {
	font-size: var(--rem18);
	margin-bottom: 0;
}

.cta01 a.instabtn {
	background: linear-gradient(90deg, rgba(250, 244, 202, 1) 0%, rgba(254, 222, 255, 1) 100%);
	color: var(--color-font);
	border: 1px solid #8f8f8f;
	border-radius: 50em;

	&:hover {
		background: linear-gradient(90deg, rgba(250, 244, 202, 1) 0%, rgba(254, 222, 255, 1) 100%);
		color: var(--color-font);
	}
}


/*メールボタン*/

.cta01 .mailbtn .btnttl {
	font-size: var(--rem18);
}

.cta01 a.mailbtn {
	background: var(--color-background);
	color: var(--color-font);
	border: 1px solid #8f8f8f;
	border-radius: 50em;

	&:hover {
		background: var(--color-background);
		color: var(--color-font);
	}
}


/*ボタンアイコン*/

.cta01 .mailbtn .btnttl::before,
.cta01 .instabtn .btnttl::before,
.cta01 .linettl::before {
	content: '';
	display: inline-block;
	font-family: 'FontAwesome';
	font-weight: 900;
	margin-right: 1rem;
}

.cta01 .mailbtn .btnttl::before {
	content: '\f0e0';
}

.cta01 .linettl::before {
	background: url(/wp-content/uploads/icon-line.png) no-repeat center / contain;
	width: var(--rem18);
	height: var(--rem18);
}

.cta01 .instabtn .btnttl::before {
	content: '\f16d';
}


/*----------------------------------------------
table
----------------------------------------------*/
.post table th {
	background: #F7EBE6;
	color: #F6728E;
}

.post table td {
	background: #fff;
}


/*----------------------------------------------
header
----------------------------------------------*/

#header {

	a.head_btn.tel_btn {
		display: flex;
		align-items: center;
		font-size: 2.2rem;
		background: none;
		color: var(--header-color-font);
		position: relative;

		&::before {
			content: "";
			display: block;
			background: var(--color-font);
			width: 1px;
			height: 60px;
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			-webkit-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
		}

		&:hover {
			color: var(--color-font);
			opacity: 0.8;
		}
	}

	a.head_btn .header_tel {
		font-family: var(--font-family01);
		font-weight: 400;
		font-size: var(--rem16);

		&:before {
			content: '\f3c0';
			display: block;
			font-family: 'FontAwesome';
			color: var(--color-font);
			font-size: 2rem;
			font-weight: 400;
			line-height: 1;
			margin-bottom: .1em;
			text-align: center;
		}
	}

	a.head_btn .header_time {
		font-family: var(--font-family01);

		&::before {
			content: none;
		}
	}

	a.head_btn.mail_btn {
		&::before {
			content: none;
		}

		>span {
			font-family: var(--font-family01);

			&:before {
				content: '\f0e0';
				color: var(--color-font);
				display: block;
				font-family: 'FontAwesome';
				font-size: 2rem;
				font-weight: 400;
				line-height: 1;
				margin-bottom: .1em;
				text-align: center;
			}
		}
	}

	nav#mainNav ul li a span,
	nav#mainNav ul li.current-menu-item a span {
		font-family: var(--font-family01);
		color: var(--header-color-font);
	}

	nav#mainNav ul li a:active span,
	nav#mainNav ul li a:hover span,
	nav#mainNav ul li.current-menu-item a span,
	nav#mainNav ul li.current-menu-parent a span {
		color: var(--color-primary);
	}
}

.spmenu #menu p {
	transform: translateX(-50%);
	left: 50%;
	white-space: nowrap;
}

@media print,
screen and (min-width: 1024px) {
	nav#mainNav ul li a {
		padding: var(--px20) var(--px24);
		font-family: var(--font-family01);

		b {
			border-bottom: 1px solid #F7EEE8;
			position: relative;
		}

		&:hover {
			b {

				border-bottom: 1px solid var(--header-color-font);

				&::before {
					content: "";
					display: inline-block;
					width: 12px;
					height: 25px;
					background: url(/wp-content/uploads/header-icon02.png) no-repeat center / contain;
					position: absolute;
					top: 50%;
					left: -16px;
					transform: translateY(-50%);
					-webkit-transform: translateY(-50%);
					-ms-transform: translateY(-50%);
				}
			}
		}
	}

	#header a.head_btn.mail_btn {
		background: none;
		color: var(--header-color-font);
		position: relative;

		&:before {
			content: "";
			display: block;
			background: var(--color-font);
			width: 1px;
			height: 60px;
			position: absolute;
			top: 50%;
			left: 0;
			transform: translateY(-50%);
			-webkit-transform: translateY(-50%);
			-ms-transform: translateY(-50%);
		}

		&:hover {
			color: var(--color-font);
			opacity: 0.8;
		}
	}
}

nav#mainNav ul li.menu-item-home a {
	&:hover {
		b {
			&::before {
				background: url(/wp-content/uploads/header-icon01.png) no-repeat center / contain;
			}
		}
	}
}


@media print,
screen and (min-width: 1024px) {
	nav#mainNav ul li li {
		background: var(--color-background);
	}

	nav#mainNav ul,
	#header .header__nav-contact {
		font-family: var(--font-family02);
		display: flex;
		flex-direction: row;
		align-items: center;
	}

	nav#mainNav ul li a:active,
	nav#mainNav ul li a:hover,
	nav#mainNav ul li.current-menu-ancestor a,
	nav#mainNav ul li.current-menu-item a,
	nav#mainNav ul li.current-menu-parent a {
		background: none;
	}
}

.sticky-header #header-layout {
	background-color: var(--header-background);
}

/*----------------------------------------------
footer
----------------------------------------------*/
/*----------------------------------------------
btn
----------------------------------------------*/
/*--------linkBtn--shadow-----------*/
.linkBtn--shadow,
.post .linkBtn--shadow .post,
a.linkBtn--shadow,
.post .subimitarea .linkBtn--shadow.post .subimitarea input[type="submit"] input[type="submit"] {
	background: var(--color-primary-tint);
	position: relative;
	display: inline-flex;
	justify-content: space-around;
	align-items: center;
	margin: initial;
	max-width: 310px;
	width: 100%;
	height: 56px;
	padding: 10px 25px;
	color: var(--color-primary-tint);
	font-size: var(--rem16);
	font-family: var(--font-family04);
	transition: 0.3s ease-in-out;
	font-weight: 500;
	border-radius: 50em;
	box-shadow: 8px 8px #E7D7CD;

	span {
		color: var(--color-background);

		&:before {
			content: '';
			position: absolute;
			top: calc(50% - 1px);
			right: 2em;
			transform: translateY(calc(-50% - 2px)) rotate(30deg);
			width: 12px;
			height: 1px;
			background-color: var(--color-background);
			transition: 0.3s;
			border-radius: 50em 0 0 50em;
		}

		&:after {
			content: '';
			position: absolute;
			top: 50%;
			right: 2em;
			transform: translateY(-50%);
			width: 23px;
			height: 1.5px;
			background-color: var(--color-background);
			transition: 0.3s;
			border: none;
			margin-top: 0;
			border-radius: 50em 0 0 50em;
		}
	}


	&:hover span {
		color: var(--color-background);

		&:before,
		&:after {
			right: 1.5em;
			background: var(--color-background);
		}
	}

	&:hover {
		opacity: 0.8;
		color: var(--color-background);
	}

}

/*--------linkBtn-----------*/
.linkBtn--primary,
.post .linkBtn--primary .post,
a.linkBtn--primary,
.post .subimitarea .linkBtn--primary .post .subimitarea input[type="submit"] input[type="submit"] {
	background: var(--color-primary-tint);
	position: relative;
	display: inline-flex;
	justify-content: space-around;
	align-items: center;
	margin: initial;
	max-width: 310px;
	width: 100%;
	height: 56px;
	padding: 10px 25px;
	color: var(--color-primary-tint);
	font-size: var(--rem16);
	font-family: var(--font-family04);
	transition: 0.3s ease-in-out;
	font-weight: 500;
	border-radius: 50em;

	span {
		color: var(--color-background);

		&:before {
			content: '';
			position: absolute;
			top: calc(50% - 1px);
			right: 2em;
			transform: translateY(calc(-50% - 2px)) rotate(30deg);
			width: 12px;
			height: 1px;
			background-color: var(--color-background);
			transition: 0.3s;
			border-radius: 50em 0 0 50em;
		}

		&:after {
			content: '';
			position: absolute;
			top: 50%;
			right: 2em;
			transform: translateY(-50%);
			width: 23px;
			height: 1.5px;
			background-color: var(--color-background);
			transition: 0.3s;
			border: none;
			margin-top: 0;
			border-radius: 50em 0 0 50em;
		}
	}


	&:hover span {
		color: var(--color-background);

		&:before,
		&:after {
			right: 1.5em;
			background: var(--color-background);
		}
	}

	&:hover {
		opacity: 0.8;
		color: var(--color-background);
	}

}

/*--------linkBtn--Yellow-----------*/
.linkBtn--yellow,
.post .linkBtn--yellow .post,
a.linkBtn,
.post .subimitarea .linkBtn.post--primary .subimitarea input[type="submit"] input[type="submit"] {
	background: #FFF1A2;
	position: relative;
	display: inline-flex;
	justify-content: space-around;
	align-items: center;
	margin: initial;
	max-width: 310px;
	width: 100%;
	height: 56px;
	padding: 10px 25px 10px 0;
	color: var(--color-primary);
	font-size: var(--rem16);
	font-family: var(--font-family04);
	transition: 0.3s ease-in-out;
	font-weight: 500;
	border-radius: 50em;

	span {
		color: #F6728E;
		font-size: var(--rem18);

		&:before {
			content: '';
			position: absolute;
			top: calc(50% - 1px);
			right: 2em;
			transform: translateY(calc(-50% - 2px)) rotate(30deg);
			width: 12px;
			height: 1px;
			background-color: #F6728E;
			transition: 0.3s;
			border-radius: 50em 0 0 50em;
		}

		&:after {
			content: '';
			position: absolute;
			top: 50%;
			right: 2em;
			transform: translateY(-50%);
			width: 23px;
			height: 1.5px;
			background-color: #F6728E;
			transition: 0.3s;
			border: none;
			margin-top: 0;
			border-radius: 50em 0 0 50em;
		}
	}


	&:hover span {
		color: #F6728E;

		&:before,
		&:after {
			right: 1.5em;
			background: #F6728E;
		}
	}

	&:hover {
		opacity: 0.8;
		color: #F6728E;
	}

}

/*----------------------------------------------
column
----------------------------------------------*/
/*--------column_01-----------*/
.column01 {
	position: relative;
}

.column01_wrap {
	position: relative;
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
	z-index: 1;
}

.column01 .txtarea {
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--px80) var(--px40);
	margin: 0;
}

.column01 .txtarea .txtinner {
	max-width: 540px;
}

.column01 .imgarea {
	overflow: hidden;
	line-height: 0;
	margin: 0;
}

.column01 .imgarea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
    object-position: left;
}

@media print,
screen and (max-width: 768px) {
	.column01 .txtarea {
		padding: var(--px80) 5%;
	}
	
}




/*================================
TOP
================================*/
.pic-circle {
/* 	width: 400px;
	height: 400px; */
	border-radius: 50%;
	overflow: hidden;

	img {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

/* .pagelink {
	min-height: 110px;
} */

@media print,
screen and (max-width: 768px) {
	.pic-circle {
		width: 200px;
		height: 200px;
		margin: 0 auto;
	}
	
#post-25 > div > section.top-access.front_contents > ul img {
	width: 30%;
	}	
}

.top-about {
	background: url(/wp-content/uploads/top-about-bg.jpg) no-repeat center /cover;
}

#post-25>div>section.top-about.front_contents.widearea>div>p.txt_c.sp-txt_l {
	line-height: 2.5;
}

.top-lesson {
	.column01 {
		.column01_wrap {
			box-shadow: 10px 10px 0 #E7D7CD;
		}
	}

	.column01 .imgarea img {
		object-fit: contain;
	}

	.column01--rev {
		.column01_wrap {
			box-shadow: 10px 10px 0 #E7D7CD;
			/* border: 8px solid var(--color-primary); */
			border: 8px solid #b4e3d8;
			filter: initial;
		}
	}

	.col3_list {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		flex-wrap: wrap;

		>li {
			width: 31%;
			margin-bottom: 2%;
			box-shadow: 10px 10px 0 #E7D7CD;
		}

		&::before {
			content: "";
			display: block;
			width: 32%;
			height: 0;
			order: 1;
		}

		&:after {
			content: "";
			display: block;
			width: 32%;
			height: 0;
		}
	}

	.card01_list.cardstyle02 {
		gap: var(--rem40);
	}

	.card01_list.cardstyle02>li {
		display: flex;
		flex-direction: column;
		flex-grow: 1;
		background: #fff;
		padding: 0;
	}

	.card01_list.cardstyle02>li .txtarea {
		background: #fff;
		padding: 20px 20px 30px 20px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		flex-grow: 1;
	}

	.top-lesson__under {
		background: url(/wp-content/uploads/top-plan-bg-e1745371851988.jpg) no-repeat center /cover;
	}
}

.top-access {
	.col3_list {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		flex-wrap: wrap;

		>li {
			width: 32%;
			margin-bottom: 2%;
		}

		&::before {
			content: "";
			display: block;
			width: 32%;
			height: 0;
			order: 1;
		}

		&:after {
			content: "";
			display: block;
			width: 32%;
			height: 0;
		}
	}
}





@media print,
screen and (max-width: 768px) {

	.top-about,
	.top-news {
		padding: var(--px60) 5%;
	}

	.top-about {
		background: url(/wp-content/uploads/top-about-bg.jpg) no-repeat left /cover;
	}

	.top-lesson {
		padding: 0 8% 0 5%;

		.col3_list>li {
			width: 100%;

			&::before,
			&:after {
				content: none;
			}
		}
	}

	.top-access {
		padding: var(--px120) 5%;

		.col3_list>li {
			width: 49%;

			&::before,
			&:after {
				content: none;
			}
		}
	}

	.top-lesson__under {
		padding: 0 7% 0 10%;
	}

}

@media print,
screen and (max-width: 450px) {

	.top-about {
		background-image: none;
		background-color: #F7EEE8;
	}

	.top-lesson,
	.top-access {
		.col3_list {
			>li {
				width: 100%;
				margin-bottom: 10%;
				/* padding: 5%; */

				&:last-child {
					margin-bottom: 0;
				}
			}

		}
	}

}

/*================================
教室について
================================*/
/* .sec-message {
figure {
aspect-ratio: 16 / 9;
overflow: hidden;
}
} */

.sec-info {
	.col3_list {
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		flex-wrap: wrap;

		>li {
			width: 32%;
			margin-bottom: 2%;
		}

		&::before {
			content: "";
			display: block;
			width: 32%;
			height: 0;
			order: 1;
		}

		&:after {
			content: "";
			display: block;
			width: 32%;
			height: 0;
		}
	}
}

ul.photo>li {
	font-size: 95%;
}

.about-img {
	width: 100vw;
	overflow-x: hidden;
}

.about-img img {
	width: 100%;
}

@media print,
screen and (max-width: 768px) {
	.sec-info {

		.col3_list>li {
			width: 49%;

			&::before,
			&:after {
				content: none;
			}
		}

	}

	.about-img {
		height: 150px;
	}

	.about-img img {
		width: auto;
		height: 100%;
		object-fit: cover;
	}

}

@media print,
screen and (max-width: 414px) {

	.sec-info {

		.col3_list {
			>li {
				width: 100%;

				&:last-child {
					margin-bottom: 0;
				}
			}
		}
	}
}

.sec-faq {
	qa_list {
		cursor: pointer;
	}

	.qa_list .qa_list_inner dt {
		position: relative;
		font-weight: normal;
		margin: 1rem 0 0 0;
		display: flex;
		align-items: stretch;
		padding: 0rem 1rem 0rem 0rem;
		background: #ffffff;
		border: 1px solid #F6728E;
	}

	.qa_list .qa_list_inner dd .ans_flex {
		position: relative;
		font-weight: normal;
		margin: 0;
		display: flex;
		align-items: stretch;
		padding: 0;
		background: #ffffff;
	}

	.qa_list .qa_list_inner .a_ico {
		color: #F6728E;
		background: #F7EBE6;
		line-height: 1.0;
		padding: 1rem 1rem 1rem 1rem;
		font-size: 2.2rem;
		border-right: 1px solid #F6728E;
		width: 100%;
		text-align: center;
		max-width: 90px;
		font-weight: bold;
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: var(--body-font-family);
	}

	.qa_list .qa_list_inner .q_ico {
		background: #f692a7;
		color: #fff;
		line-height: 1.0;
		padding: 1rem 1rem 1rem 1rem;
		font-size: 2.2rem;
		font-weight: bold;
		width: 100%;
		text-align: center;
		max-width: 90px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-family: var(--body-font-family);
		border-right: 1px solid #f692a7;
	}

	.qa_list .qa_list_inner .q_desc,
	.qa_list .qa_list_inner .a_desc {
		padding: 1.5rem 1.5rem 1.5rem 2rem;
		line-height: 1.7;
	}

	.qa_list .qa_list_inner .a_desc {
		line-height: 1.8;
		width: 100%;
	}

	.qa_list .qa_list_inner dt:after {
		content: '';
		position: absolute;
		top: 46%;
		right: 3rem;
		width: 12px;
		height: 12px;
		border-right: 1px solid #F6728E;
		border-bottom: 1px solid #F6728E;
		-webkit-transform: rotate(45deg) translateY(-50%);
		transform: rotate(45deg) translateY(-50%);
	}

	.qa_list .qa_list_inner .active:after {
		top: 43%;
		right: 2rem;
		-webkit-transform: rotate(-135deg) translateY(-50%);
		transform: rotate(-135deg) translateY(-50%);
	}

	.qa_list .qa_list_inner dd {
		display: none;
		position: relative;
		padding: 0;
		margin: 0 0 1rem 0;
		border: 1px solid #F6728E;
		border-top: 0;
	}

	@media only screen and (max-width: 959px) {
		.qa_list .qa_list_inner {
			margin-bottom: 8rem;
		}
	}

	@media only screen and (max-width: 768px) {

		.qa_list .qa_list_inner .q_desc,
		.qa_list .qa_list_inner .a_desc {
			padding: 0.5rem 1rem 0.5rem 1rem;
		}

		.qa_list .qa_list_inner dt {
			padding: 0rem 1rem 0rem 0rem;
		}

		.qa_list .qa_list_inner .a_ico,
		.qa_list .qa_list_inner .q_ico {
			max-width: 50px;
			padding: 1.2rem 1.0rem;
		}

		.qa_list .qa_list_inner dt:after {
			right: 1.5rem;
			width: 6px;
			height: 6px;
		}

		.qa_list .qa_list_inner .active:after {
			right: 1.0rem;
		}
	}

	@media only screen and (max-width: 559px) {
		.qa_list .qa_list_inner dd {
			font-size: 1.4rem;
		}

		.qa_list .qa_list_inner {
			margin-bottom: 6rem;
		}

		.qa_list .qa_list_inner dt {
			font-size: 1.4rem;
		}
	}
}

/*================================
講師紹介
================================*/
/*---------coln02-----------*/

.post .col2_list {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	flex-wrap: wrap;
}

.post .col2_list>li {
	width: 49%;
	margin-bottom: 2%;
}

.sec-youtube {
	iframe {
		width: 100%;
	}
}

.fsz-20 {
	font-size: var(--rem20);
}

#post-152 > div > div:nth-child(1) > section > figure {
	margin-bottom: 0;
}

@media print,
screen and (max-width: 414px) {
	.post .col2_list>li {
		width: 100%;
	}

	.post .col2_list>li:last-child {
		margin-bottom: 0;
	}

	.sec-youtube {
		iframe {
			height: auto;
		}
	}
}

/*================================
レッスン・料金
================================*/
@media print,
screen and (max-width: 1000px) {
	.add_tb01_wrap {
		overflow-x: scroll;
	}
}

.post table.add_tb01,
table.add_tb01 {
	border-collapse: collapse;
	width: 100%;
	white-space: nowrap;

	th,
	td {
		width: auto;
		padding: 10px;
		border: solid 1px var(--color-table-border);
		box-sizing: border-box;
		vertical-align: middle;
	}

	th {
		background: #f692a7;
		color: #fff;

	}

	td.sp-table_bg {
		background: #F7EBE6;
		color: #F6728E;
		vertical-align: middle;
		text-align: center;
		font-weight: bold;
		min-width: 170px;
	}

	td.table_bg-yellow {
		background: #FFFDF0;
	}
}


/* @media screen and (max-width: 768px) {

.post table.add_tb01,
table.add_tb01 {
width: 100%;

.head {
display: none;
}

td,
th {
display: block;
width: 100%;
border-bottom: none;
padding: 10px !important;
}

td {
padding: 0px 12px 0 0;
display: block;
width: 100%;
line-height: 2.5;
text-align: left;
}

td:before {
color: var(--color-background);
content: attr(data-label);
font-weight: bold;
padding: 0px 10px;
display: inline;
background-color: #f692a7;
margin-right: 10px;
float: left;
}

tr:last-child {
border-bottom: solid 1px #ccc;
}

}
} */

.lesson-date {
	display: flex;
	gap: 40px;
/* 	min-width: 280px; */
	width: fit-content;
	margin: 0 auto;
	border-bottom: 1px solid;
}
/* 
@media screen and (max-width: 768px) {
	.lesson-date {
		width: 100%;
	}
}
 */

.contact_area {
	padding: min(calc(80px + (1vw - 19.2px) * 2.5890), 80px);
	/*80px-40px (1920-375)x*/
	text-align: center;
	background: url(/wp-content/uploads/plan-contact-bg.png) no-repeat center / cover;
	margin-top: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px);
}

.post .contact_ttl {
	font-size: min(calc(2.8rem + (1vw - 19.2px) * 0.4531), 2.8rem);
	/* 2.8-2.1rem (1920-375) */
	font-weight: 600;
	text-align: center;
	letter-spacing: .2rem;
	padding: 0;
	color: var(--color-background);
	margin: min(calc(120px + (1vw - 19.2px) * 3.5599), 120px) auto min(calc(50px + (1vw - 19.2px) * 0.9709), 50px);
	/* 120-65px auto 50-35px (1920-375) */
}

.post .contact_ttl::before {
	content: none;
	position: relative;
	width: auto;
	height: auto;
	top: auto;
	left: auto;
}

.post .contact_ttl::after {
	content: '';
	position: relative;
	visibility: visible;
	display: block;
	width: 2.2em;
	height: 3px;
	background: var(--color-background);
	margin: 0.6em auto 0;
}

.contact_read {
	margin: 0 0 min(calc(30px + (1vw - 19.2px) * 0.9709), 30px);
	/*30px-15px (1920-375)*/
	text-align: center;
	color: var(--color-background);
}

.button_wrap,
.post .button_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.button_wrap>*,
.post .button_wrap>* {
	margin: 10px !important;
}

.contact_area .linkBtn {
	padding: 0 !important;
	width: 100%;
	max-width: 270px;
	background: var(--color-background);

	&:hover {
		background: #fff;
		opacity: 0.8;
	}

	&:after {
		border-color: var(--color-font);
	}

	a {
		color: var(--color-font);
		display: block;
		padding: 15px 30px 20px 10px;
		;
	}
}

.flowlist02 {
	padding-left: 5rem;
	position: relative;
}

.flowlist02::before {
	content: "";
	width: 10px;
	height: 100%;
	background: #F7EBE6;
	background: #b4e3d8;
	margin-left: -6px;
	display: block;
	position: absolute;
	top: 0;
	left: 5rem;
}

.flowlist02>li {
	position: relative;
}

.flowlist02>li:not(:last-child) {
	margin-bottom: 8vh;
}

.flowlist02>li .icon {
	font-size: var(--body-font-size);
	width: 5rem;
	height: 5rem;
	color: #fff;
	font-weight: bold;
	background: #F6728E;
	background: #4bb29a;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: -2.5rem;
	z-index: 100;
	border-radius: 50vh;
}

.flowlist02>li .icon::after {
	content: none;
}

.flowlist02>li dl {
	padding-left: 7rem;
	position: relative;
	padding-top: 0.7rem;
}

.flowlist02>li dl::before {
	content: none;
}

.flowlist02>li dl::after {
	content: "";
	display: block;
	position: absolute;
	top: 20px;
}

.flowlist02>li dl::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
	top: 23px;
}

.flowlist02>li dd {
	padding-bottom: 10px;
}

.flowlist02>li dl dt {
	margin-bottom: 0.5rem;
	font-weight: 600;
	font-size: 1.6rem;
	color: #4BB29A;
}

@media (max-width: 768px) {
	.flowlist02 {
		padding-left: 2rem;
	}

	.flowlist02>li .icon {
		left: -3.5rem;
	}

	.flowlist02::before {
		left: 1rem;
	}

	.flowlist02>li dl {
		padding-left: 4.5rem;
	}

	.flowlist02>li dl::after {
		width: 30px;
	}

	.flowlist02>li dl dt {
		font-size: 1.4rem;
	}
}

/*================================
お問い合わせ
================================*/
.wpcf7-form .must {
	background: #F6728E;
}

.linkBtn,
.post .linkBtn {
	max-width: 310px;
	padding: 15px 30px 20px 10px;
}

.post .subimitarea .linkBtn input[type="submit"] {
	padding: 0;
}




#post-25>div>section.top-lesson.widecolor--bg-pink>div.max_w1300.content_inner>div.column01.column01--rev.pb10>div>div.w70.imgarea.bg_white>img {
	object-fit: contain;
}

/*================================
TOPアコーディオン開閉
================================*/
.Btn-accordion {
	&:hover {
		cursor: pointer;
	}
}

.accordion-contents {
	display: none;
	background: #f9fffb;
	padding: var(--rem40);
}

.accordion-contents.active {
	display: block;
}

/*================================
TOPレッスン紹介
================================*/

#post-25>div>section.top-lesson.widecolor--bg-pink>div.max_w1300.content_inner>div:nth-child(2)>div>div.w50.imgarea>img {
	object-fit: cover;
}

/*================================
料金案内 備考
================================*/
.remarks {
	padding: 14px;
	/* background-color: #FFFDF0; */
	color: #F6728E;
	border: 1px solid #F6728E;
}



ul.with-dot {
  list-style-type: disc !important;
  padding-left: 1.5em !important;
}


.post h1, h1, .post h2, h2, .post h3, h3, .post h4, h4, .post h5, h5, p, div, span {
    &.page-third-title {
        &.page-third-title--purple {
            background: #fdecff;
            color: #9b59b6;
        }
    }
}