/* :rootのCSS変数の宣言 */
:root {
	--yellow: #f7ec59;
	--dark-gray: #40434e;
	--light-gray: #f0eff4;
	--green: #06c755;
	--light-brown: #c99f69;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
}

/* =============================================================================================
 * 基本設定
 * ========================================================================================== */
p,a,li {
    font-weight: 500;
}
.pt_0{
	padding-top:0!important;
}
.pt_10{
	padding-top:10px!important;
}
.pb_0{
	padding-bottom:0!important;
}
.pb_10{
	padding-bottom:10px!important;
}
.mt_0{
	margin-top:0!important;
}
.mb_0{
	margin-bottom:0!important;
}
.mr_0{
	margin-right: 0!important;
}
.ml_0{
	margin-left: 0!important;
}
.mt_10{
	margin-top:10px!important;
}
.mb_10{
	margin-bottom:10px!important;
}

.z_0 { z-index: 0; }
.z_1 { z-index: 1; }
.z_2 { z-index: 2; }
.z_3 { z-index: 3; }

.p_ab{
	position: absolute;
}
.p_rel{
	position: relative;
}
.d_flex{
	display:flex;
}
.d_flex.f_wrap {
    flex-wrap: wrap;
}
.inline_b{
	display:inline-block;
}
.js_sb{
	justify-content:space-between;
}
.js_fs{
	justify-content:flex-start;
}
.of_hd{
	overflow: hidden;
}
.smb-panels__item__action>a:focus:after {
    outline: none;
    outline-offset: 0px;
}

@media screen and (max-width: 639px) {
	.sp-spacer_10 { height: 10px!important; }
	.sp-spacer_20 { height: 20px!important; }
	.sp-spacer_30 { height: 30px!important; }
	.sp-spacer_40 { height: 40px!important; }
	.sp-spacer_50 { height: 50px!important; }
	.sp-spacer_60 { height: 60px!important; }
	.sp-spacer_70 { height: 70px!important; }
	.sp-spacer_80 { height: 80px!important; }
}

/* テキスト
--------------------------------------------------------------- */
.mincho {
	font-family: "Zen Antique Soft", serif;
}
.maru {
	font-family: 'Zen Maru Gothic', serif;
}
.tate {
	writing-mode: vertical-rl;
}
p.text_justify {
	text-align: justify;
}
p {
	font-size: clamp(14px, 1.6vw, 16px);
}

.lh_1-2 { line-height: 1.2; }
.lh_1-3 { line-height: 1.3; }
.lh_1-4 { line-height: 1.4; }
.lh_1-5 { line-height: 1.5; }
.lh_1-6 { line-height: 1.6; }
.lh_1-7 { line-height: 1.7; }
.lh_1-8 { line-height: 1.8; }
.lh_1-9 { line-height: 1.9; }
.lh_2 { line-height: 2; }

.has-sm-xs-font-size { font-size: clamp(10px, 1.2vw, 12px)!important; }
.has-sm-s-font-size { font-size: clamp(12px, 1.4vw, 14px)!important; }
.has-sm-m-font-size { font-size: clamp(14px, 1.6vw, 16px)!important; }
.has-sm-l-font-size { font-size: clamp(16px, 1.8vw, 18px)!important; }
.has-sm-xl-font-size { font-size: clamp(18px, 2.4vw, 24px)!important; }
.has-sm-2-xl-font-size { font-size: clamp(20px, 2.8vw, 28px)!important; }
.has-sm-3-xl-font-size { font-size: clamp(24px, 3.2vw, 32px)!important; }
.has-sm-4-xl-font-size { font-size: clamp(28px, 3.6vw, 36px)!important; }
.has-sm-5-xl-font-size { font-size: clamp(32px, 4.0vw, 40px)!important; }

/* =============================================================================================
 * 共通パーツ
 * ========================================================================================== */

/* 既存クラス
--------------------------------------------------------------- */
.wp-block-snow-monkey-blocks-section {
	padding: clamp(50px, 8.33vw, 120px) 0;
}
.smb-section__contents-wrapper {
	width: 90%;
}
.full-width .smb-section__contents-wrapper {
	width: 100%;
}

/* 付与クラス
--------------------------------------------------------------- */
.box {
	padding: 60px;
	box-sizing: border-box;
}
.bg-deco-red {
	position: relative;
	overflow: hidden;
}
.bg-deco-red:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 700px;
	height: 400px;
	background-color: var(--accent-color);
	clip-path: polygon(0 0, 10% 0, 0 100%, 0 100%);
}
.bg-deco-red:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 700px;
	height: 400px;
	background-color: var(--accent-color);
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 90% 100%);
}
/*ドット背景*/
.dots-right::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -10%;
	display: block;
	width: 30%;
	height: 120%;
	background-image: radial-gradient(circle, #ffffff99 3.5px, transparent 3.5px);
	background-position: 0 0;
	background-size: 22px 22px;
	transform: translatey(-50%) rotate(10deg);
	z-index: 1;
}
.dots-left::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -10%;
	display: block;
	width: 30%;
	height: 120%;
	background-image: radial-gradient(circle, #ffffff99 3.5px, transparent 3.5px);
	background-position: 100% 100%;
	background-size: 22px 22px;
	transform: translatey(-50%) rotate(-10deg);
	z-index: 1;
}
@media screen and (max-width: 1023px) {
	.box {
		padding: 40px;
	}
}
@media screen and (max-width: 639px) {
	.box {
		padding: 20px;
	}
	.bg-deco-red:before {
		width: 350px;
		height: 200px;
	}
	.bg-deco-red:after {
		width: 350px;
		height: 200px;
	}
	.dots-right::before {
		right: -20%;
		width: 40%;
		background-image: radial-gradient(circle, #ffffff99 2.8px, transparent 2.8px);
		background-size: 18px 18px;
	}
	.dots-left::before {
		left: -20%;
		width: 40%;
		background-image: radial-gradient(circle, #ffffff99 2.8px, transparent 2.8px);
		background-size: 18px 18px;
	}
}

/* セクションタイトル
--------------------------------------------------------------- */
.section_title {
	margin-bottom: clamp(30px, 3.47vw, 50px)!important;
}
.section_title h2 {
	font-size: clamp(13px, 2vw, 20px);
}
.section_title p.sub-title {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: clamp(35px, 15vw, 96px);
	line-height: 1;
}

/* アイコン
--------------------------------------------------------------- */
svg.svg-inline--fa {
    margin-right: 7px;
}
 .p-global-nav--hover-extend-underline .c-navbar__item.cta:hover>a:after {
    width: 0;
}

/* ボタン
--------------------------------------------------------------- */
.btn_box {
	margin-top: 70px!important;
}
.btn {
	width: 300px;
	z-index: 2;
}
.btn a {
	display: flex;
	align-items: center;
	height: 70px;
	width: 100%;
	padding-right: 2.5em;
	padding-left: 2.5em;
	font-size: 18px;
	font-weight: 600!important;
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
}
.btn a span {
	position: relative;
	bottom: 0.05em;
	z-index: 5px;
}
.btn a:before {
	content: "";
	position: absolute!important;
	top: 50%!important;
	left: 0!important;
	width: 25px!important;
	height: 70px!important;
	background-color: #cf0405!important;
	border: 0px!important;
	transform: translatey(-50%);
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
	transition: .3s ease;
}
.btn a:after {
	content: "";
	position: absolute!important;
	top: 50%!important;
	right: 25px!important;
	width: 8px!important;
	height: 8px!important;
	border: 0px!important;
	border-top: solid 2px #fff!important;
	border-right: solid 2px #fff!important;
	transform: translatey(-50%) rotate(45deg);
}
.btn a:hover {
	filter: brightness(100%);
	color: #fff!important;
}
.btn a:hover:before {
	width: 100%!important;
	background-color: var(--light-brown)!important;
}
.page_btn {
	width: 260px;
	z-index: 2;
}
.page_btn a {
	position: relative;
	display: flex;
	align-items: center;
	height: 70px;
	width: 100%;
	padding-right: 3.5em;
	padding-left: 2.5em;
	font-size: 18px;
	font-weight: 600!important;
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
	border-radius: 0;
	transition: .3s ease!important;
}
.page_btn a:hover {
	filter: brightness(100%);
	color: #fff!important;
	background-color: var(--light-brown)!important;
}
.page_btn a:before {
	content: "";
	position: absolute;
	top: 50%!important;
	right: 20px!important;
	left: auto!important;
	width: 30px!important;
	height: 30px!important;
	border: solid 2px #fff!important;
	border-radius: 15px!important;
	transform: translatey(-50%);
}
.page_btn a:after {
	content: "↓";
	position: absolute;
	top: 50%!important;
	right: 26px!important;
	left: auto!important;
	color: #fff!important;
	font-size: 16px;
	transform: translatey(-50%);
}
a.smb-btn,
.cta a span {
	background-color: var(--wp--preset--color--sm-accent);
    position: relative;
    transition: .25s;
    color: #fff;
	border-radius: 0;
	font-size: 18px;
}
.cta a span {
    margin-left: 10px;
    padding: 0.5rem 1.8rem!important;
    max-height: 3rem;
}
.w_line a.smb-btn {
    border: 1px solid;
}
a.smb-btn::before,
.cta a span::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border: 2px solid transparent;
}
a.smb-btn::after,    
.cta a span::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border: 2px solid transparent;
}
a.smb-btn:hover,
.cta a:hover span {
    color: var(--wp--preset--color--sm-accent);
    box-shadow: none;
    background-color: #fff;
    transition: 1s;
    filter: brightness(100%);
}
    a.smb-btn:hover::before,
.cta a:hover span::before {
    width: 100%;
    height: 100%;
    border-top-color: var(--wp--preset--color--sm-accent);
    border-right-color: var(--wp--preset--color--sm-accent);
    transition: width .25s ease-out, height .25s ease-out .25s;
}
a.smb-btn:hover::after,
.cta a:hover span::after {
    width: 100%;
    height: 100%;
    border-bottom-color: var(--wp--preset--color--sm-accent);
    border-left-color: var(--wp--preset--color--sm-accent);
    transition: border-color 0s ease-out .5s, width .25s ease-out .5s, height .25s ease-out .75s;
}

@media screen and (max-width: 639px) {
	.btn_box {
		margin-top: 35px!important;
	}
	.btn {
		width: 90%;
	}
	.btn a {
		height: 60px;
		font-size: 16px;
	}
	.page_btn {
		width: 48%;
	}
	.page_btn a {
		height: 60px;
		padding-right: 4.5em;
		padding-left: 1.5em;
		font-size: 14px;
		text-align: left;
	}
}

/* テーブル
--------------------------------------------------------------- */
.wp-block-table tr {
	border-top: solid 1px var(--dark-gray);
}
.wp-block-table tr:last-child {
	border-bottom: solid 1px var(--dark-gray);
}
.wp-block-table tr td {
    padding: 1rem;
	font-weight: 500;
    border: none;
}
.wp-block-table tr td:first-child {
    width: 30%;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    background-color: var(--light-gray);
}
.wp-block-table tr td:last-child {
    width: 70%;
    padding-left: 1.5rem;
}
@media screen and (max-width: 639px) {
	.wp-block-table tr td {
		display: block;
		box-sizing: border-box;
		width: 100%!important;
		padding: 1rem;
		font-size: 14px;
	}
	.wp-block-table tr td:first-child {
        text-align: left;
    }
	.wp-block-table tr td:last-child {
		padding-left: 1rem;
	}
}

/* リスト
--------------------------------------------------------------- */
ul li::marker {
	font-size: 0.8em;
}
@media screen and (max-width: 639px) {
	.wp-block-column ul li {
		line-height: 1.2;
	}
}

/* ふきだし
--------------------------------------------------------------- */
.smb-balloon__body {
	background-color: #fff;
	border: solid 2px var(--accent-color);
	width: 100%;
}
@media screen and (max-width: 639px) {
	.smb-balloon__body:after {
		border-bottom-color: var(--accent-color);
	}
}
@media screen and (min-width: 640px) {
	
	.smb-balloon__body:after {
		border-right-color: var(--accent-color);
	}
}

/* ページネーション
--------------------------------------------------------------- */
.c-pagination__item,.c-pagination__item-link {
	font-weight: bold;
}
.c-pagination__item-link svg.svg-inline--fa {
	margin-right: 0;
}
.c-pagination__item-link:hover {
	transition: .3s ease;
}

/* アニメーション
--------------------------------------------------------------- */
.mv_main_text .h_text.animate-in span {
	opacity: 1;
    transform: translateX(0);	
}
.mv_main_text .h_text span {
	display: inline-block;
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    transition-delay: calc(var(--i) * 0.05s);
}
.section_title .h_text.animate-in span {
    opacity: 1;
    transform: translateY(0);
}
.section_title .h_text span {
    display: inline-block;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.8s ease, transform 0.8s ease;
    transition-delay: calc(var(--i) * 0.05s);
}
/*フェードイン*/
.fadein.animate-in {
	opacity: 1;
}
.fadein {
	opacity: 0;
	transition: opacity 0.8s ease, transform 0.8s ease;
	transition-delay: .8s;
}
/*左からフェードイン*/
.mv_sub_text_1.fadein-left.animate-in {
	opacity: 1;
	transform: translateX(0);
}
.mv_sub_text_1.fadein-left {
	opacity:0;
	transform: translateX(-10px);
	transition: opacity 0.8s ease, transform 0.8s ease;
	transition-delay: calc(var(--i) * 0.05s);
}
.section_title .fadein-left.animate-in {
	opacity: 1;
	transform: translateX(0);
}
.section_title .fadein-left {
	opacity:0;
	transform: translateX(-10px);
	transition: opacity 0.8s ease, transform 0.8s ease;
	transition-delay: calc(var(--i) * 0.05s);
}
/*左からフェードイン*/
.fadein-left.is-active {
	opacity: 1;
	transform: translateX(0);
}

/* 流れる文字
--------------------------------------------------------------- */
.loop-wrap {
	display: flex;
	align-items: center;
	overflow: hidden;
	width: 100%;
	max-width: 100%!important;
}
.loop-area {
	display: flex;
	animation: loop-slide 55s infinite linear 1s both;
	margin: 0;
	padding: 0;
}
.loop-area .content {
	margin-right: .4em;
	font-family: "Montserrat", sans-serif;
	font-size: clamp(34px, 10vw, 100px)!important;
	color: var(--yellow);
	white-space: nowrap;
}
@keyframes loop-slide {
  from { transform: translateX(0); }
  to { transform: translateX(-100%); }
}
@media screen and (max-width: 639px) {
	.loop-area {
		animation: loop-slide 40s infinite linear 1s both;
	}
}

/* =============================================================================================
 * Header
 * ========================================================================================== */

.l-header {
	transition: .3s ease;
	height: 70px;
}
.l-header__content {
	width: 95%;
	height: 100%;
	margin: 0 auto;
}
.l-1row-header {
	width: 100%;
	height: 100%;
}
.l-1row-header .c-fluid-container {
	height: 100%;
}
.c-site-branding__title .custom-logo {
	width: auto;
	height: 50px;
}
.l-header .c-row--lg-margin {
	--_gap: none;
}
.c-row>.c-row__col {
	padding: 0;
}
a.custom-logo-link {
	display: inline-block;
	}
@media screen and (max-width: 1023px) {
	a.custom-logo-link {
		width: 220px;
	}
}
@media screen and (min-width: 1024px) {
	.l-header {
		height: 90px;
	}
	.l-header:after {
		content: "";
		position: absolute;
		top: -5px;
		left: 0;
		width: 100px;
		height: 100px;
		border-radius: 75px;
		background-color: #fff;
		box-shadow: 0 2px 2px 1px #0000000d;
		z-index: -1;
		transition: .3s ease;
	}
	.l-header__content {
		width: 100%;
	}
	.c-site-branding__title .custom-logo {
		position: relative;
		top: 0px;
		left: 0px;
		height: 100px;
		border-radius: 75px;
		background-color: #fff;
		padding: 20px;
		transition: .3s ease;
	}
	.l-header .c-fluid-container {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.l-header .c-fluid-container .c-row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
	}
	.c-drawer__controls {
		height: 100px;
	}
	a.custom-logo-link {
		transition: .3s ease;
	}
	a.custom-logo-link:hover {
		opacity: .6;
	}
	a.custom-logo-link:before {
		content: "";
		position: absolute;
		top: 2px;
		left: 95px;
		width: 235px;
		height: 100%;
		background: url(/wp-content/uploads/2025/09/corazon_header_pc_logotype_01.png) center / contain no-repeat;
		transition: .3s ease;
		z-index: 2;
	}
}
@media screen and (min-width: 1280px) {
	.c-site-branding__title .custom-logo {
		top: 30px;
		left: -2px;
		height: 150px;
		border-radius: 75px;
		padding: 25px;
	}
	.l-header:after {
		content: "";
		position: absolute;
		top: 0;
		left: -2px;
		width: 150px;
		height: 150px;
	}
	a.custom-logo-link:before {
		left: 148px;
		width: 315px;
	}
}

/* グローバルナビゲーション
--------------------------------------------------------------- */
/*共通*/
.l-1row-header .c-fluid-container {
    padding-right: 0;
	padding-left: 0;
}
/*PC*/
#menu-g_nav {
    height: 90px;
}
#menu-g_nav .menu-item {
	transition: .3s ease;
}
#menu-item-398 {
	width: 180px;
	background-color: var(--accent-color);
	color: #fff;
}
#menu-item-33 {
	width: 180px;
	background-color: var(--green);
	color: #fff;
	border-left: solid 1px #fff;
}
#menu-item-398:hover {
	background-color: var(--light-brown);
}
#menu-item-33:hover {
	background-color: var(--dark-gray);
}
.p-global-nav .c-navbar__item>a {
	padding-left: 12px;
	padding-right: 12px;
	font-size: 16px;
	transition: .3s ease;
}
#menu-item-443/*お問い合わせ*/ a {
	padding-right: 24px;
}
.p-global-nav .c-navbar__item[aria-haspopup=true]:before {
	display : none;
}
@media screen and (max-width: 1279px) {
	.p-global-nav .c-navbar__item>a {
		font-size: 14px;
	}
}
@media screen and (max-width: 1190px) {
	#menu-item-398 {
		width: 145px;
	}
	#menu-item-33 {
		width: 125px;
	}
	.p-global-nav .c-navbar__item>a {
		padding-left: 9px;
		padding-right: 9px;
	}
	#menu-item-443/*お問い合わせ*/ a {
		padding-right: 18px;
	}
}
/*SP*/
#menu-sp_nav {
	padding-top: 2em;
}
#menu-item-400 a {
	padding: .8em .8em;
	border: solid 2px #fff;
	background-color: #fff;
	color: var(--accent-color);
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
	text-align: center;
}
#menu-item-401 a {
	position: relative;
	padding: .8em .8em;
	border: solid 2px #fff;
	background-color: #fff;
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
	text-align: center;
}
#menu-item-401 a:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 100%;
	background-color: var(--green);
	transform: translate(-50%,-50%);
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
	z-index: -1;
}


/* =============================================================================================
 * Footer
 * ========================================================================================== */
.l-footer {
	border: none;
	background-color: #40434e;
}
.l-footer .c-container {
	width: 90%;
	max-width: 1280px;
	padding: 0;
}
.l-footer p {
	letter-spacing: 0.05em;
}
.l-footer .c-row--lg-margin-l {
	--_gap: 0;
}
.l-footer--default .l-footer-widget-area {
	padding-top: 50px;
	padding-bottom: 30px;
}
.l-footer--footer .l-footer__body {
	border-top: none;
}
.l-footer .wp-block-image img {
	width: 100%;
	max-width: 435px;
	transition: .3s ease;
}
@media screen and (max-width: 1190px) {
	.l-footer .wp-block-image img {
		max-width: 300px;
	}
}
@media screen and (max-width: 1023px) {
	.l-footer p {
		text-align: center;
		font-size: 13px;
	}
	.l-footer .wp-block-image {
		width: 80%;
		max-width: 300px;
	}
	.l-footer .wp-block-image img {
		text-align: center;
	}
}
@media screen and (min-width: 640px) {
	.l-footer--default .l-footer-widget-area {
		padding-top: 100px;
		padding-bottom: 50px;
	}
}
@media screen and (min-width: 1024px) {
	.l-footer .wp-block-image a {
		transition: .3s ease;
	}
	.l-footer .wp-block-image a:hover {
		opacity: .6;
	}
	.l-footer-widget-area__item:nth-of-type(1) {
		--_item-width: 40%;
	}
	.l-footer-widget-area__item:nth-of-type(2) {
		--_item-width: 60%;
	}
}

/* フッターナビゲーション
--------------------------------------------------------------- */
.l-footer .widget_nav_menu {
	width: 100%;
}
ul#menu-footer {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#menu-footer li {
	margin-top: 0;
}
#menu-footer li a {
	transition: .3s ease;
	font-size: 1rem;
	font-weight: bold;
	color: #fff;
}
#menu-footer a:hover {
	opacity: .6;
}
@media screen and (max-width: 639px) {
	#menu-footer {
		margin: 25px 0;
	}
	#menu-footer li {
		width: 50%;
		text-align: center;
		padding: 5px 0;
	}
}

@media screen and (max-width: 1190px) {
	ul#menu-footer a {
		font-size: 15px;
	}
}
@media screen and (max-width: 1023px) {
	ul#menu-footer {
		width: 100%;
		max-width: 550px;
		justify-content: space-around;
		margin: 30px auto 0;
	}
}
@media screen and (min-width: 1024px) {
	#menu-footer {
		justify-content: flex-end;
	}
	#menu-footer li:not(:first-child) {
		padding-left: 2em;
	}
}

/* コピーライト
--------------------------------------------------------------- */
.c-copyright--inverse {
	display: flex;
	background: none;
	color: #999999;
	font-size: 12px;
	height: 90px;
	align-items: center;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 1024px) {
	.c-copyright--inverse {
		font-size: 14px;
	}
}
/* トップに戻るボタン
--------------------------------------------------------------- */
#page-top {
	right: 10px;
	bottom: 10px;
	background-color: var(--light-brown);
	border-radius: 50px;
}
#page-top svg.svg-inline--fa {
	margin-right: 0;
}

/* =============================================================================================
 * Main：top
 * ========================================================================================== */

/* メインビジュアル
--------------------------------------------------------------- */
#t-mv {
	position: relative;
	height: calc(100vh - 90px);
	min-height: 600px;
}
#t-mv .smb-section__inner,
#t-mv .c-container, 
#t-mv .smb-section__contents-wrapper {
	width: 100%;
	height: 100%;
}
#t-mv .mv_text_box {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
#t-mv .mv_text_box p.mv_sub_text_1 {
	display: inline-block;
	background-color: #fff;
	font-size: 2.4vw;
	font-weight: 600;
	margin-bottom: 20px;
	padding: 0.3em 1.2em 0.3em 5%;
	clip-path: polygon(0 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
}
#t-mv .mv_text_box p.mv_sub_text_2 {
	position: absolute;
	bottom: 7vw;
	left: 9%;
	margin-top: 0;
	color: #fff;
	font-size: 1.2vw;
	text-shadow: 1px 1px 3px var(--dark-gray);
}
#t-mv .mv_text_box .mv_main_text p {
	display: inline-block;
	color: #fff;
	font-size: 6.6vw;
	font-family: "Montserrat", sans-serif;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	bottom: 0.2em;
	white-space: nowrap;
	text-shadow: 1px 1px 3px var(--dark-gray);
}
#t-mv .mv_text_box .mv_main_text p:nth-child(1) span:nth-child(1) {
	font-size: 1.4em;
}
@media screen and (max-width: 1023px) {
	#t-mv {
		height: calc(100svh - 70px);
	}
	#t-mv .mv_text_box p.mv_sub_text_1 {
		font-size: 3.2vw;
		margin-bottom: 5vw;
	}
	#t-mv .mv_text_box p.mv_sub_text_2 {
		bottom: 21vw;
		left: 13.5%;
		font-size: 2vw
	}
	#t-mv .mv_text_box .mv_main_text {
		padding-left: 0.7em;
	}
	#t-mv .mv_text_box .mv_main_text p {
		font-size: 10.5vw;
		line-height: .9;
		text-align: left;
		bottom: 0.3em;
	}
}
@media screen and (max-width: 639px) {
	#t-mv {
		height: 60vh;
	}
	#t-mv .mv_text_box p.mv_sub_text_1 {
		font-size: 5vw;
		margin-bottom: 15vw;
	}
	#t-mv .mv_text_box p.mv_sub_text_2 {
		bottom: 47vw;
		left: 7%;
		font-size: 3.6vw
	}
	#t-mv .mv_text_box .mv_main_text p {
		font-size: 15.5vw;
		padding-left: .2em;
	}
	#t-mv .mv_text_box .mv_main_text p:nth-child(1) span:nth-child(1) {
		font-size: 1em;
	}
}
@media screen and (min-width: 1024px) {
	#t-mv .mv_text_box .mv_main_text {
		display: flex;
		justify-content: space-around;
		align-items: flex-end;
	}
	#t-mv .mv_text_box .mv_main_text p:not(:first-child) {
		padding-left: .2em;
		padding-bottom: .05em;
	}
}

/*@media (orientation: landscape) and (max-width: 1024px) {
    #t-mv {
        height: 150vh;
    }
}*/

/* コンセプト
--------------------------------------------------------------- */
.concept_box .cross {
	font-size: 36px!important;
	padding: 0;
}
@media screen and (min-width: 640px) {
	.concept_left_box {
		z-index: 10;
	}
	.concept_box {
		display: flex;
		align-items: center;
	}
	.concept_img {
		position: absolute;
		top: 0;
		right: 0;
		width: 50%;
		max-width: 530px;
		z-index: 5;
	}
}
@media screen and (min-width: 1024px) {
	.concept_text {
		width: 85%;
		margin-left: 0!important;
		margin-right: auto!important;
	}
}

/* 流れる文字
--------------------------------------------------------------- */
#float-text {
	width: 100%;
	border-top: solid 5px var(--yellow);
	border-bottom: solid 5px var(--yellow);
}
#float-text .smb-section__contents-wrapper {
	width: 100%;
}

/* コラソンが選ばれる理由
--------------------------------------------------------------- */
.reason_title {
	position: relative;
	clip-path: polygon(9px 0, 100% 0, calc(100% - 9px) 100%, 0 100%);
	background-color: var(--accent-color);
	z-index: 1;
}
.reason_title::before {
	content: '';
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: calc(100% - 2px);
	width: calc(100% - 2px);
	clip-path: polygon(9px 0, 100% 0, calc(100% - 9px) 100%, 0 100%);
	background-color: #fff;
}
.reason_num {
	padding: 10px 17px;
	font-family: "Open Sans", sans-serif;
	font-style: italic;
	font-weight: 700;
	font-size: clamp(38px, 6.25vw, 60px)!important;
	background-color: var(--accent-color);
	box-sizing: border-box;
	color: #fff;
	clip-path: polygon(9px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
}
.reason_title h3 {
	font-size: clamp(20px, 3.05vw, 32px)!important;
	padding: .5em;
	z-index: 5;
}
.reason_img img {
	clip-path: polygon(10% 0, 100% 0, 90% 100%, 0 100%);
}
@media screen and (max-width: 639px) {
	.reason_img {
		display: flex;
		justify-content: flex-end;
	}
	.reason_img img {
		position: relative;
		right: -6%;
		aspect-ratio: 16 / 9;
		object-fit: cover;
		clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
		z-index: 5;
	}
	.reason_img.left img {
		right: 0;
		left: -6%;
		clip-path: polygon(0 0, 100% 0, 90% 100%, 0 100%);
	}
}
@media screen and (min-width: 640px) {
	.reason_box {
		display: flex;
		margin-bottom: 100px!important;
	}
	.reason_box.reason_02 {
		flex-direction: row-reverse;
	}
	.reason_text {
		width: 70%;
		margin-left: 0!important;
	}
	.reason_box.reason_02 .reason_text {
		margin-left: auto!important;
		margin-right: 0!important;
	}
	.reason_text p.text_justify {
		padding-left: 7%!important;
		padding-right: 16%!important;
	}
	.reason_box.reason_02 .reason_text p.text_justify {
		padding-left: 16%!important;
		padding-right: 7%!important;
	}
	.reason_img {
		position: relative;
		width: 37%;
		margin-top: 50px!important;
		margin-bottom: 50px!important;
		transform-origin: top right;
		transform: scale(1.23);
		z-index: 4;
	}
	.reason_box.reason_02 .reason_img {
		transform-origin: top left;
		z-index: 0;
	}
}

/* 入会申し込みリンク
--------------------------------------------------------------- */
.join_link_box {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 250px;
	background: url(/wp-content/uploads/2025/09/contact_bg.jpg) center / cover no-repeat;
	background-size: 100%;
	transition: .5s ease;
}
.join_link_box:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% - 50px);
	height: calc(100% - 50px);
	border: solid 3px #fff;
	transform: translate(-50%,-50%);
	z-index: 2;
}
.join_link_box:after {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.2);
	transition: .5s ease;
	z-index: 1;
}
.join_link_box:hover {
	background-size: 110%;
}
.join_link_box:hover:after {
	left: 0;
}
.join_link_box .smb-box__body {
	position: relative;
	margin: 0 auto;
}
.join_link_box .smb-box__body:before {
	content: "";
	position: absolute;
	top: 50%;
	right: -40px;
	width: 80px;
	height: 2px;
	background-color: #000;
	transform: translatey(-50%);
	animation: 2s ease 0s line-move infinite;
	z-index: 4;
}
@keyframes line-move {
  0% {
	  transform: scale(0, 1);
	  transform-origin: left;
  }
  50% {
	  transform: scale(1, 1);
	  transform-origin: left;
	}
	51% {
		transform: scale(1, 1);
		transform-origin: right;
	}
  99% {
	  transform: scale(0, 1);
	  transform-origin: right;
  }
	100% {
		transform: scale(0, 1);
	  transform-origin: left;
	}
}
.join_link_box h3 {
	background-color: #fff;
	padding: .6em 2em;
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
	z-index: 3;
}
@media screen and (max-width: 639px) {
	.join_link_box {
		height: 200px;
	}
	.join_link_box h3 {
		font-size: 20px!important;
	}
	.join_link_box:before {
		width: calc(100% - 30px);
		height: calc(100% - 30px);
	}
	.join_link_box .smb-box__body:before {
		right: -15px;
		width: 40px;
	}
}

/* 講師紹介
--------------------------------------------------------------- */
#t-instructor {
	overflow: hidden;
}
#t-instructor .c-entry-summary__title {
	text-align: center;
}
.spider__dots:not([data-thumbnails=true]) .spider__dot {
	background-color: #fff;
}
.spider__dots:not([data-thumbnails=true]) .spider__dot[aria-current=true] {
    background-color: var(--accent-color);
}
.c-entry-summary__figure:before {
    content: "";
    display: block;
	padding-top: 130%;
}
.spider>.spider__arrow {
	background-color: var(--accent-color);
	border-radius: 30px;
	transition: .3s ease;
}
.spider__arrow:hover {
	background-color: var(--dark-gray);
}
.spider__arrow:before {
	width: 8px;
	height: 8px;
}
.spider__arrow[data-direction=prev] {
	left: -22px;
}
.spider__arrow[data-direction=next] {
	right: -22px;
}
.spider__arrow[data-direction=next]:before {
	border-right: 2px solid var(--spider--arrow-color);
    border-top: 2px solid var(--spider--arrow-color);
    top: 50%!important;
	left: 50%!important;
	transform: translate(-50%,-50%) rotate(45deg);
}
.spider__arrow[data-direction=prev]:before {
	border-left: 2px solid var(--spider--arrow-color);
    border-bottom: 2px solid var(--spider--arrow-color);
    top: 50%!important;
	left: 50%!important;
	transform: translate(-50%,-50%) rotate(45deg);
}
@media screen and (min-width: 640px) {
	 .c-entries-carousel .spider__slide {
		 max-width: calc(25% - calc(calc(calc(calc(calc(1.8 / 3 * 3) * 1rem) / 1) * 3) / 4));
  }
}
@media screen and (min-width: 920px) {
	#t-instructor .smb-section__contents-wrapper {
		position: relative;
	}
	#t-instructor .wp-block-snow-monkey-blocks-buttons {
		position: absolute;
		top: 0;
		right: 0;
		margin-top: 38px!important;
	}
}
@media screen and (max-width: 639px) {
	.c-entries-carousel .spider__slide {
		max-width: 70%;
		margin-left: 15%;
	}
	.c-entries-carousel .spider__slide:last-child {
		margin-right: 15%;
	}
	.c-entry-summary__figure {
		margin-bottom: 10px;
	}
	#t-instructor .c-entry-summary__title {
		font-size: clamp(16px, 1.8vw, 18px);
	}
	.spider__arrow[data-direction=prev] {
		left: 0;
	}
	.spider__arrow[data-direction=next] {
		right: 0;
	}
	#t-instructor .spider__dots {
		margin-top: 10px;
		gap: 1rem;
	}
}

/* お知らせ
--------------------------------------------------------------- */
@media screen and (min-width: 782px) {
	#t-news .btn_box {
		margin-top: 30px!important;
	}
}
@media screen and (min-width: 1000px) {
	#t-news .smb-section__contents-wrapper {
		position: relative;
	}
	#t-news .wp-block-snow-monkey-blocks-buttons {
		position: absolute;
		top: 115px;
		left: 0;
	}
	#t-news .c-entries__item a {
		padding: 25px 20px;
		transition: .3s ease;
	}
	#t-news .c-entries__item a:hover {
		background-color: var(--yellow);
	}
	
}
.c-entry-summary__title {
	font-weight: 600!important;
}
.c-meta__item--published {
	font-weight: 500!important;
	color: #666666;
}
.snow-monkey-posts .c-entries__item a {
	padding-left: var(--entries--gap);
	padding-right: var(--entries--gap);
}

/* インスタグラム
--------------------------------------------------------------- */
#sb_instagram {
	z-index: 2;
}
#sb_instagram .sbi_follow_btn {
	display: block;
	width: 300px;
	margin: 40px auto 0;
	margin-left: auto!important;
	z-index: 2;
}
#sb_instagram .sbi_follow_btn a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 70px;
	width: 100%;
	margin-top: 0;
	padding-right: 2.0em;
	padding-left: 2.0em;
	font-size: 18px;
	font-weight: 600!important;
	border-radius: 0;
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
}
#sb_instagram .sbi_follow_btn a .svg-inline--fa {
	display: none;
}
#sb_instagram .sbi_follow_btn a span {
	position: relative;
	bottom: 0.05em;
	z-index: 5px;
}
#sb_instagram .sbi_follow_btn a:before {
	content: "";
	position: absolute!important;
	top: 50%!important;
	left: 0!important;
	width: 25px!important;
	height: 70px!important;
	background-color: #cf0405!important;
	border: 0px!important;
	transform: translatey(-50%);
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
	transition: .3s ease;
}
#sb_instagram .sbi_follow_btn a:after {
	content: "";
	position: absolute!important;
	top: 50%!important;
	right: 25px!important;
	width: 8px!important;
	height: 8px!important;
	border: 0px!important;
	border-top: solid 2px #fff!important;
	border-right: solid 2px #fff!important;
	transform: translatey(-50%) rotate(45deg);
}
#sb_instagram .sbi_follow_btn a:hover:before {
	width: 100%!important;
	background-color: var(--light-brown)!important;
}
/*既存のボタンhoverを削除*/
#sb_instagram .sbi_follow_btn a:focus, #sb_instagram .sbi_follow_btn a:hover {
    box-shadow: none!important;
}
@media screen and (max-width: 639px) {
	#sb_instagram .sbi_follow_btn {
		width: 90%;
	}
	#sb_instagram .sbi_follow_btn a {
		font-size: 16px;
	}
}

/* スポンサー
--------------------------------------------------------------- */
#t-sponsor .smb-section__contents-wrapper {
	display: flex;
	justify-content: space-around;
}
#t-sponsor:before {
	content: "Sponsor";
	display: block;
	position: absolute;
	top: -.16em;
	left: -.05em;
	width: 100%;
	font-size: clamp(30px,17vw,170px);
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	color: var(--light-gray);
	line-height: 1;
}
.sponsor_box {
	display: inline-block;
	background-color: #fff;
	transition: .3s ease;
}
.sponsor_box:hover {
	opacity: .6;
}

/* お問い合わせCTA
--------------------------------------------------------------- */
#t-contact {
	padding: clamp(40px, 6.94vw, 100px) 0;
}
#t-contact .wp-block-column {
	clip-path: polygon(5% 0, 100% 0%, 95% 100%, 0% 100%);
}
.btn.line_btn a {
	background-color: var(--green);
}
.btn.line_btn a:before {
	background-color: #009b1c!important;
}
.btn.line_btn a:hover:before {
	background-color: var(--dark-gray)!important;
}

/* =============================================================================================
 * Main：lower
 * ========================================================================================== */

/* 既存クラス
--------------------------------------------------------------- */
.l-contents__container {/*HOME以外のページ左右余白*/
	padding-left: 0;
	padding-right: 0;
}
.page-id-19 .l-contents__inner:last-child,
.page-id-156 .l-contents__inner:last-child {
	padding-bottom: 0;
}

/* ぱんくずリスト
--------------------------------------------------------------- */
.p-breadcrumbs-wrapper {
	position: relative;
	left: 0;
	width: 90%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0;
	border-bottom: solid 1px var(--accent-color);
}
.p-breadcrumbs-wrapper a {
	position: relative;
	color: var(--accent-color);
	z-index: 2;
}

/* 下層ページヘッダー
--------------------------------------------------------------- */
.c-page-header {
	padding-top: 100px;
	padding-bottom: 100px;
    background-color: var(--yellow);
}
.c-page-header__title {
	font-size: clamp(24px, 3.2vw, 32px)!important;
	z-index: 2;
}
.c-page-header::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -10%;
	display: block;
	width: 30%;
	height: 150%;
	background-image: radial-gradient(circle, #ffffff99 3.5px, transparent 3.5px);
	background-position: 0 0;
	background-size: 22px 22px;
	transform: translatey(-50%) rotate(10deg);
	z-index: 1;
}
.c-page-header[data-has-image=true] {
    height: unset;
}
.c-page-header[data-has-image=true] .c-page-header__content {
    color: unset;
}
.c-page-header__bgimage>img, 
.c-page-header__bgimage>picture>img{
	display: none;
}
@media screen and (max-width: 639px) {
	.c-page-header {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.c-page-header::before {
		right: -20%;
		width: 40%;
		background-image: radial-gradient(circle, #ffffff99 2.8px, transparent 2.8px);
		background-size: 18px 18px;
	}
}

/* スクールについて
--------------------------------------------------------------- */
#philosophy, #policy {
	overflow: hidden;
}

/* 入会案内
--------------------------------------------------------------- */
.fee_text {
	font-family: "Montserrat", 'Noto Sans JP', sans-serif;
}

/* お知らせ
--------------------------------------------------------------- */
/*一覧*/
.blog .c-entries--simple .c-entries__item>a {
	padding-top: 15px;
	padding-bottom: 15px;
}
.blog .l-contents__main,
.category .l-contents__main {
	width: 90%;
	max-width: 1150px;
	margin: 0 auto;
}

/*詳細*/
article.type-post {
	width: 90%;
	max-width: 1150px;
	margin: 0 auto;
}
.single-post .c-meta__item--author/*投稿者*/ {
	display: none;
}
.single-post .c-meta__item--modified/*更新日*/ {
	display: none;
}
@media screen and (max-width: 639px) {
	.c-entries--text .c-entry-summary__title {
		font-size: 14px;
	}
	.c-prev-next-nav__item-title {
		font-size: 14px;
	}
}

/* 講師紹介
--------------------------------------------------------------- */
/*一覧*/
.post-type-archive-staff .l-contents__main {
	width: 90%;
	max-width: 1150px;
	margin: 0 auto;
}
.post-type-archive-staff .c-entry-summary__figure {
	margin-bottom: 10px;
}
.post-type-archive-staff .c-entry-summary__title {
	font-size: clamp(16px, 1.8vw, 18px);
}
@media screen and (min-width: 1024px) {
	.post-type-archive-staff .c-entries {
		--entries--item-width: 25%;
	}
}
/*詳細*/
@media screen and (max-width: 639px) {
	.staff_detail_box .smb-balloon {
		margin-top: 30px!important;
	}
}
@media screen and (min-width: 640px) {
	.staff_detail_box {
		display: flex;
		justify-content: space-between;
	}
	.staff_detail_box .wp-block-image {
		width: 35%;
	}
	.staff_detail_box .smb-balloon {
		width: 60%;
	}
}
/* LINE登録
--------------------------------------------------------------- */
.page-id-23 .l-contents__inner {
	margin-top: 0;
}
#line {
	overflow: hidden;
}

/* お問い合わせフォーム
--------------------------------------------------------------- */
/*確認ボタン*/
.smf-action .smf-button-control__control {
	width: 100%;
    max-width: 300px;
	height: 70px;
	margin-right: 5px;
	margin-left: 5px;
	margin-bottom: 20px;
	padding-right: 2.5em;
	padding-left: 2.5em;
	background: var(--accent-color);
	color: #fff;
	font-size: 16px;
	font-weight: 600!important;
	transition: .3s ease;
	border: none;
	border-radius: 0;
	clip-path: polygon(6px 0, 100% 0%, calc(100% - 6px) 100%, 0% 100%);
}
.smf-action .smf-button-control__control:hover {
	background-color: var(--sub-accent-color);
	color: #fff;
	border: none!important;
}
/*戻るボタン*/
.smf-action .smf-button-control__control[data-action="back"] {
	background: var(--sub-accent-color);
	border: none!important;
}
.smf-action .smf-button-control__control[data-action="back"]:hover {
	background: var(--accent-color);
}
/*送信ボタン*/
.smf-action .smf-button-control+.smf-button-control {
    margin-left: 0;
}
/*フォームスタイル「Letter」の時の必須文字*/
.smf-form--letter .smf-item__col--label {
	display: flex;
}
.smf-item__description {
	padding: 0 .3em;
	margin-top: .1em;
	margin-left: .5em;
	color: #fff;
	background-color: var(--accent-color);
}
/*フォームスタイル「Letter」の時の確認画面*/
.snow-monkey-form[data-screen="confirm"] .smf-form--letter .smf-item {
	border-bottom: solid 1px var(--sub-accent-color);
}

/* プライバシーポリシー
--------------------------------------------------------------- */
#privacy h3 {
    margin-bottom: 10px !important;
    padding-left: 10px;
    border-left: solid 3px var(--accent-color);
    font-weight: 700;
}