/* フロント専用 基本設定
/* 編集画面には適用しなくてよい
/* google font はfunctions.phpで読み込み

/* ========================================================================== */
/*	0. Document Setup
/* ========================================================================== */
/*root setting*/
:root{
	--billboardHeight: 100vh;
	--headerHeight: 55px;
}
@media(min-width: 1000px){
	:root{
		--headerHeight: 95px;
	}
}
/* Basic Setting
----------------------------------------------------------------------------- */

.large{ font-size: 1.2em; }

.small{ font-size: 0.8em; }

b , strong{ font-weight: var(--boldFontWeight); }



/* Functional Setting
----------------------------------------------------------------------------- */

.front-hidden{ display: none;}

/*	CONTENT WIDTH SETTING
/* -------------------------------------------------------------------------- */

.content-width{ max-width: var(--contentWidth); margin: auto; }

.maximum-width{ max-width: var(--maximumWidth); margin: auto; }

.horizontal-margin{ width: calc(100% - 36px); margin-right: auto; margin-left: auto; }

.sidebar-width-setting{ width: calc(100% - 36px); max-width: 136rem; margin-right: auto; margin-left: auto; }

@media ( min-width: 700px ){

	.horizontal-margin{ width: calc(100% - 72px); }

	.sidebar-width-setting{ width: calc(100% - 3em); margin-right: auto; margin-left: auto; }
}

/* admin-bar ---------------------------------------------------------- */

.admin-bar .screen-height{ min-height: calc(100vh - 32px); }

@media (max-width: 782px){
	.admin-bar .screen-height{ min-height: calc(100vh - 46px); }
}



/* ========================================================================== */
/*	THEME SETTING
/* ========================================================================== */

body.fixed{
	overflow: hidden;
	margin-right: 17px;
}


/*	Site Header
/* -------------------------------------------------------------------------- */
#site_header{
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
}

.header-inner{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}
/* Header Titles -------------------------------------------------------- */
.header-titles{
	width: 40%;
	max-width: 249px;
}

@media(min-width: 1100px){
	.header-titles{ max-width: 423px;}
}
/* Header Navigation Wrapper -------------------------------------------- */
@media(min-width: 1100px){
	.header-navigation-wrapper{
		width: 100%;
		max-width: 1276px;
		background-image: url(/images/common/header_nav_bg.png);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: left top;
	}
}
/* Primary Menu
------------------------------------------------------------------------- */

.primary-menu-wrapper{ display : none; }

@media(min-width: 1100px){
	.primary-menu-wrapper{
		position: relative;
		display: block;
		width: 100%;
		height: 0;
		padding-top: 13.245%;
	}
}

ul.primary-menu{
	font-size : clamp(20px,calc( 2.67vw - 9.4px ),28px);
	font-weight : var(--boldFontWeight);
	font-family: var(--marugoFont);
	color: #707070;
	display : flex;
	flex-wrap : wrap;
	justify-content : space-between;
	margin : 0 0 0 auto;
	width: 100%;
	height: 81px;
	gap: 15px;
	position: absolute;
	left: 0;
	top: 45%;
	transform: translateY(-50%);
	padding: 0 36px 0 50px;

}

.primary-menu > li{
	font-size : inherit;
	line-height : 1.25;
	position : relative;
	height: 100%;
	display: flex;
	align-items: center;
}

.primary-menu > li >a{
	line-height : 0.5;
	text-decoration : none;
	height: 100%;
	display: flex;
	align-items: center;
}

.primary-menu > li > a::before{
	content: "";
	display: block;
	width: 0.64em;
	height: 0.64em;
	border-radius: 50%;
	border: 4px solid currentColor;
	box-sizing: border-box;
	margin: 5px 5px 0 0;
}

.primary-menu > .current-menu-item > a{ text-decoration: underline; color: var(--accentColorDark); }

.primary-menu a:hover , .primary-menu a:focus { text-decoration : none; }

/* Primary Menu Sub Menu
------------------------------------------------------------------------ */

.primary-menu .sub-menu{
	list-style: none;
	font-size: 18px;
	position: absolute;
	z-index: 1;
	top: 100%;
	right: 0;
	left: 50%;
	width: 23rem;
	padding: 0;
	transform: translateX(-50%);
	color: #ffffff;
	border-radius: 0.4rem;
	background-image: url(/images/common/sub_menu_bg.jpg);
}

.primary-menu ul::before{ right : 0; left : 0; height : 2rem; }

.primary-menu .sub-menu li{ display: none; color: #7C7C7C; transition: background-color 0.15s linear;}

.primary-menu .sub-menu li:last-child a{ border: none;}

.primary-menu .sub-menu li:hover{ background-color: #FFA0A0; color: white; }

.primary-menu .sub-menu a{
	display: block;
    width: calc(100% - 2em);
    padding: 2rem 0;
    border: none;
    background: transparent;
    border-bottom: 1px solid #7c7c7c;
    margin: 0 1em;
}

.primary-menu .sub-menu li.menu-item-has-children > a{ padding-right : 4.5rem; }

.primary-menu .sub-menu li.menu-item-has-children .icon{ position : absolute; top : calc(50% - 0.5rem); right : 1.5rem; }

/* Mobile Nav Toggle
   hamburger menu button
------------------------------------------------------------------- */

body.fixed{
	overflow: hidden;
	margin-right: 17px;
}

.nav-toggle-wrapper{
	width: 73px;
	height: 76px;
	margin-right: 18px;
	margin-left: auto;
	position: fixed;
	top: 10px;
	left: 0;
	right: 10px;
	display: block;
	z-index: 5;
}


body.fixed .nav-toggle-wrapper{ margin-right: 18px;}

@media(min-width: 1100px){
	.nav-toggle-wrapper{ display: none;}
}

#mobile_nav_toggle{
	display : flex;
	width : 100%;
	height:100%;
	flex-wrap: wrap;
	justify-content : center;
	align-content: center;
	color: white;
	background-color: transparent;
	background-image: url(/images/common/mobile_nav_toggle_bg.svg);
	cursor: pointer;
	z-index: 100;
}

#mobile_nav_toggle svg{
	width : 23px;
	height : 16px;
	display: block;
	position: relative;
	overflow: hidden;
	transition: all 0.5s ease;
	z-index: 1;
}

@media(min-width: 700px){
	#mobile_nav_toggle svg{
		width : 30px;
		height : 22px;
	}
}
.button-text{
	font-size : 14px;
	font-family: var(--marugoFont);
	font-weight : var(--midiumFontWeight);
	width : 100%;
	text-align: center;
	white-space : nowrap;
	word-break : break-all;
	transform-origin: bottom center;
}

svg rect#u1, svg rect#l1 ,svg rect#m1,svg rect#m2,.button-text{
	transform-origin: center;
	transition: all 0.3s linear;
}
#mobile_nav_toggle .toggle-icon > svg {
    display: block;
}

#mobile_nav_toggle.active{
	align-content: center;
	padding: 0;
}

#mobile_nav_toggle.active svg{
	width: 50px;
	height: 38px;
}

#mobile_nav_toggle.active rect#m1{
	transform: rotate(30deg);
}
#mobile_nav_toggle.active rect#m2{
	transform: rotate(-30deg);
}
#mobile_nav_toggle.active rect#u1{
	transform: scale(0);
}
#mobile_nav_toggle.active rect#l1{
	transform: scale(0);
}

#mobile_nav_toggle.active .button-text{
	opacity: 0;
	font-size: 0;
}
@media (min-width: 500px){
	#mobile_nav_toggle{
		top : 5px;
		left : calc(100vw - 78px);
	}
}



/*	Menu Modal
/* -------------------------------------------------------------------------- */


.menu-modal{
	position : fixed;
	z-index : 4;
	top : 0;
	right : 100%;
	bottom : 0;
	left : -100%;
	display : none;
	overflow-x : hidden;
	overflow-y : auto;
	transition : opacity 0.05s ease-in, left 0s 0.25s, right 0s 0.25s;
	opacity : 1;
}

.admin-bar .menu-modal{ top : 32px; }

@media (max-width: 782px){
	.admin-bar .menu-modal{ top : 46px; }
}

.menu-modal.show-modal{ display : flex; }

.menu-modal.active{ right : 0; left : 0; transition : opacity 0.05s ease-out; opacity : 1; }

.menu-modal-inner{
	display: block;
	overflow : auto;
	justify-content : stretch;
	width : 100%;
	padding: 100px 1em 50px;
	transition : transform 0.2s ease-in, opacity 0.2s ease-in;
	transform : translateX(150rem);
	opacity : 1;
	background : rgba(191,255,201,0.8);
	box-shadow : 0 0 2rem 0 rgba(0, 0, 0, 0.1);
}

.menu-modal.active .menu-modal-inner{
	transition-timing-function : ease-out;
	transform : translateX(0);
	opacity : 1;
	backdrop-filter: blur(10px);
}

@media ( min-width: 600px ){
	.menu-modal-inner{
		padding: 120px 0 40px;
	}
}

/*
modal-header
*/
.modal-header{
	display: flex;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
	padding-bottom: 1em;
	border-bottom: 1px solid var(--themeColor);
	margin-bottom: 1em;
}

.modal-header a{
	display: flex;
	flex-wrap: wrap;
    gap: 0 20px;
    align-items: flex-end;
	justify-content: flex-end;
	flex-basis: calc(var(--fontSize30) * 9);
}

.modal-header a img{ width: 100%; margin: 0;}

.modal-header .modal-title{
	color: var(--bgOrange);
	font-weight: var(--boldFontWeight);
	font-family: var(--englishFont);
	font-size: var(--fontSize18);
	line-height: 1;
}

@media(min-width: 450px){
	.modal-header a{
		justify-content: flex-start;
		flex-wrap: nowrap;
	}
}

@media ( min-width: 600px ){
	.modal-header{ max-width: 100%;}
}

@media(min-width: 1000px){
	.modal-header{
		display: flex;
		justify-content: flex-start;
		gap: 20px;
		padding-bottom: 0.3em;
		border-bottom: 1px solid var(--themeColor);
		margin-bottom: var(--variableSpaceS);
	}
}
/*
modal-menu-upper
*/
.modal-menu-upper{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px 6%;
	max-width: 16em;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50px;
	margin-bottom: var(--variableSpaceS);
}

.modal-menu-upper > li{
	flex-basis: 47%;
	text-align: center;
}

.modal-menu-upper > li > a{
	color: #B22DE3;
	font-size: var(--fontSize24);
	font-weight: var(--boldFontWeight);
	transition: color 0.3s ease;
}

.modal-menu-upper > li > a:hover{
	color: var(--themeColor);
}

@media(min-width: 600px){
	.modal-menu-upper{
		flex-wrap: nowrap;
		gap: 20px;
		max-width: 35.2em;
	}

	.modal-menu-upper > li{
		flex-basis: auto;
	}

}
/*
modal-menu
*/

.modal-menu{
	width : 100%;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 10px;
	justify-content: space-between;
	margin-bottom: var(--variableSpaceS);
}

@media(min-width: 1000px){
	.modal-menu{
		flex-wrap: nowrap;
	}
}

.modal-menu > li{
	display: block;
	border-width: 0 0 0 0;
	flex-basis: 9em;
	flex-grow: 1;
}

.menu-modal nav > a,
.modal-menu >li > a{
	background-color: var(--themeColor);
	font-family: var(--marugoFont);
	font-weight: 500;
	color: black;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: var(--fontSize24);
	padding: 1em 1em 0.7em;
	margin-bottom: 1em;
	transition: all 0.3s ease;
	border-radius: 2vw;
}

.menu-modal nav > a{
	max-width: 11em;
	margin: 0 auto 1em;
}

.menu-modal nav > a:hover,
.modal-menu >li > a:hover{
	background-color: var(--buttonCyan2);
	color: white;
}

.modal-menu >li > a .menu-title-eng{
	font-size: var(--fontSize14);
}
@media(min-width: 1000px){
	.modal-menu > li{
		flex-basis: 11em;
	}
	.modal-menu >li > a{
		margin-bottom: 1.5em;
	}
}
/*
modal-menu sub-menu
*/
.modal-menu .sub-menu{
	list-style: none;
	margin-bottom: ;
}

.modal-menu .sub-menu li{
	font-size: var(--fontSize24);
	color: #573A0D;
	line-height: 1.1;
	font-weight: var(--regularFontWeight);
	padding: 0 1em;
	margin-bottom:0.51em;
	transform: rotate(0.03deg);
	transition: all 0.3s ease;
}

.modal-menu .sub-menu li:hover a{
	color: #B22DE3;
}

@media(min-width: 1000px){
	.modal-menu .sub-menu li{
		margin-bottom: 1em;
	}
}

/*
 modal-menu-bottom
*/
.modal-menu-bottom{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
	max-width: 650px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: var(--variableSpaceS);
	justify-content: space-around;
}

.modal-menu-bottom li,
.instaBtnWrap{
	height: calc(var(--fontSize20) * 3.5);
	flex-basis: calc(var(--fontSize20) * 15);
	color: white;
	background-color: var(--themeColor);
	transition: all 0.3s ease;display: flex;
    justify-content: center;
    align-items: center;
}

.modal-menu-bottom li:hover,
.instaBtnWrap:hover{
	background-color: var(--buttonCyan2);
}

.modal-menu-bottom li:first-child{
	text-align: center;
}

.modal-menu-bottom li:first-child a{
	flex-direction: column;
}

.modal-menu-bottom li a,
.instaBtnWrap a{
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease;
	text-align: left;
}

.modal-menu-bottom li:hover a,
.instaBtnWrap:hover a
{
	color: #F4F4B0;
}


/*	Page Header
/* -------------------------------------------------------------------------- */
body.home #page_header{
	position : relative;
	z-index : 1;
	height: 0;
	padding-top: 100%;
}

@media(min-width: 1100px){
	body.home #page_header{
		padding-top: 70%;
	}
}

@media(min-width: 1937px){
	body.home #page_header{
		padding-top: 0;
		height: 1332px;
	}
}

body:not(.home) #page_header{
	position : relative;
	z-index: 1;
	height: 0;
	padding-top: 70%;
}

body.information #page_header,
body.single-post #page_header,
body.privacy-policy #page_header{
	padding-top: 38.5%;
}

@media(min-width: 1100px){
	body:not(.home) #page_header{
		padding-top: 0;
		height: 624px;
	}

	body.information #page_header,
	body.single-post #page_header,
	body.privacy-policy #page_header{
		padding-top: 0;
		height: 417px;
	}
}

@media(min-width: 1317px){
	body:not(.home) #page_header{
		height: 0;
		padding-top: 48%;
	}

	body.information #page_header,
	body.single-post #page_header,
	body.privacy-policy #page_header{
		padding-top: 32%;
	}
}

@media(min-width: 1937px){
	body:not(.home) #page_header{
		padding-top: 0;
		height: 922px;
	}
	body.information #page_header,
	body.single-post #page_header,
	body.privacy-policy #page_header{
		padding-top: 0;
		height: 614px;
	}
}

body.search #page_header,
body.error404 #page_header{
	height: 250px!important;
	padding-top: 0!important;
}

h1.page-title{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: grid;
	place-items: center;
}
h1.page-title figure{
	width: 45.93%;
}
@media(min-width: 1100px){
	h1.page-title figure{
		width: 406px;
	}
}
@media(min-width: 1317px){
	h1.page-title figure{
		width: 31.25%;
	}
}

@media(min-width: 1937px){

}

.error404 h1.page-title,
.search h1.page-title{
	height: auto;
	top: auto;
	bottom: 0;
	right: 0;
	left: 0;
	text-align: center;
	font-size: var(--fontSize30);
}

.search h1.page-title{ overflow : hidden; max-width : 95vw; word-break : keep-all; }

/* ========================================================================== */
/*	2．MAIN
/* ========================================================================== */

/* page.php
============================================================================= */
#site_content{ position: relative;}

.search #site_content{ padding-top: var(--variableSpaceS);}

/*	index.php post_type_archive / blog / monthly_archive
----------------------------------------------------------------------------- */

.two-columns{
	display: flex;
	gap: 3%;
	flex-wrap: wrap;
	justify-content: space-around;
	padding-top: var(--variableSpaceM);
}

.two-columns #main-column{ flex-basis: 100%; }

.two-columns #archive-sidebar{ flex-basis: 100%; }

@media(min-width: 1000px){

	.two-columns #main-column{ flex-basis: 67%; }

	.two-columns #archive-sidebar{ flex-basis: 30%; }
}

/* #main-column
----------------------------------------------------------------------------- */

.entry-unit{ padding: 0 1em; }

/* entry-header
----------------------------------------------------------------------------- */

.entry-header{ padding: 0; background-color: inherit; }

h2.entry-title{
	margin: 0 0 0.5em;
	width: 100%;
	font-size: var(--fontSize30);
	border-bottom: 1px solid #c1cbcb;
}

.entry-title a{ text-decoration: none; color: inherit; }

.post-date{
	font-size: var(--fontSize18);
	font-weight: var(--regularFontWeight);
	margin-bottom: 1em;
}

.post-cat{
	color: var(--themeColor);
}
/* pagenation
----------------------------------------------------------------------------- */

.pagenation{ text-align: center; }

span.page-numbers:not(.prev):not(.next){
	background-color: var(--themeColor);
    color: #F07D53;
    margin: 5px;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
}

a.page-numbers{ transition: all 0.3s ease;}

a.page-numbers:not(.prev):not(.next){
	border: 3px solid currentColor;
	border-radius: 50%;
	margin: 5px;
	display: inline-flex;
	justify-content: center;
    align-items: center;
    line-height: 1;
	width: 1.5em;
	height: 1.5em;
	background-color: white;
	color: var(--themeColor);
}

a.page-numbers:not(.prev):not(.next):hover{
	background-color: var(--textOrangeDark);
}

a.page-numbers.next,a.page-numbers.prev{
	color: var(--themeColor);
	transition: all 0.3s ease;
	transform: rotate(-90deg);
	display: inline-block;
}

a.page-numbers.next:hover,a.page-numbers.prev:hover{ color: var(--textOrangeDark); }

a.page-numbers.prev .arrow{ display: inline-block; transform: rotate(30deg);}

a.page-numbers.next .arrow{ display: inline-block; transform: rotate(-30deg);}

.page-numbers.current{ position: relative;}

/* #archive-sidebar
----------------------------------------------------------------------------- */
#archive-sidebar h2{
	font-size: var(--fontSize20);
	font-family: inherit;
	font-weight: var(--midiumFontWeight);
	display: block;
	width: 100%;
	max-width: 350px;
	line-height: 1;
	padding: 0.59em 0;
	text-align: left;	;
	color: black;
	background-color: var(--themeColorLight);
	text-align: center;
	margin-bottom: 0.5em;
}
#archive-sidebar ul{
	margin: 0 10px;
	font-weight: var(--regularFontWeight);
	line-height: 1.5;
}

#archive-sidebar ul.cat-list li:last-child{
	margin-top: 1em;
}

#archive-sidebar select{
	font-size: var(--fontSizeS);
	margin: 0 10px;
	padding: 0.5em;
	width: calc(100% - 20px);
	background-color: white;
	border: 1px solid #ccc;
}
.sidebar-block-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 15px;
	max-width: 750px;
	margin: auto;
}
.sidebar-block{ flex-basis: 233px; flex-grow: 1; max-width: 350px; }

@media ( min-width: 700px ){
/* Post: Archive
----------------------------------------------------------------------------- */


}


/*	Single.php
============================================================================= */

/* SINGLE PAGINATION
----------------------------------------------------------------------------- */

.pagination-single{
	font-size: var(--fontSizeM);
	margin-top: 5rem;
}

.pagination-single-inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pagination-single hr:first-child{
	margin: 0 0 2.8rem 0;
}

.pagination-single hr:last-child{
	margin: 2.8rem 0 0.8rem 0;
}

.pagination-single-inner > *{
	font-weight: var(--boldFontWeight);
	display: flex;
	align-items: baseline;
	text-decoration: none;
	letter-spacing: -0.0275em;
	width: 7.5em;
	color: var(--themeColor);
	font-size: var(--fontSize18);
	line-height: 30px;
}

.pagination-single a.previous-post .arrow{
	margin-right: 1rem;
}

.pagination-single a.next-post .arrow{
	margin-left: 1rem;
}

.pagination-single a.return-list{
	width: 6em;
	background-color: var(--textblueLight);
	padding: 0.5em;
	font-size: var(--fontSize20);
	color: black;
}

.pagination-single a .dashicons{
	width: 1em;
	height: 1em;
	font-size: 30px;

}

.pagination-single a:focus .title , .pagination-single a:hover .title{
	text-decoration: underline;
}

@media ( min-width: 700px ){

	.pagination-single{
		font-size: var(--fontSizeL);
		margin-top: 8rem;
	}

	.pagination-single.only-next .pagination-single-inner{
		justify-content: flex-end;
	}

	.pagination-single hr:first-child{
		margin: 0 0 4rem 0;
	}

	.pagination-single hr:last-child{
		margin: 4rem 0 0.8rem 0;
	}

	.pagination-single .next-post{
		text-align: right;
	}
}


/*	search.php
============================================================================= */

/* Search Results
----------------------------------------------------------------------------- */

.no-search-results-form{
	padding-top: 5rem;
}

@media ( min-width: 700px ){

	.no-search-results-form{
		padding-top: 8rem;
	}
}

/* Search Form
----------------------------------------------------------------------------- */

.search-form{ display: flex; align-items: stretch; flex-wrap: nowrap; margin: 0 0 -0.8rem -0.8rem; }

.search-form .search-field , .search-form .search-submit{ margin: 0 0 0.8rem 0.8rem; }

.search-form label{ font-size: inherit; display: flex; align-items: stretch; width: 100%; max-width: 300px; margin: 0; }

.search-form .search-field{ width: 100%; }

.search-form .search-submit{ flex-shrink: 0; }

.search-form .search-submit:focus , .search-form .search-submit:hover{ text-decoration: none; }

/*	Error 404
============================================================================= */


.error404 #site_content{
	padding-top: 4rem;
}

.error404-content{
	text-align: center;
}

.error404 #site_content .search-form{
	justify-content: center;
	margin-top: 3rem;
}
@media (min-width: 700px){

	.error404 #site_content{
		padding-top: 8rem;
	}
}


/*  Site Map
============================================================================= */

/* ========================================================================== */
/*	3．FOOTER
/* ========================================================================== */


/*	Site Footer
----------------------------------------------------------------------------- */

#site_footer{
	padding-top :60%;
	height: 0;
	position : relative;
}
@media ( min-width: 1100px ){

	#site_footer{
		padding-top: 40%;
	}
}

@media( min-width: 1938px){
	#site_footer{
		padding-top: 762px;
	}
}

.footer-widgets{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.footer-widgets .widget{
	width: 100%;
	height: 100%;
	position: relative;
}


#footer_content{
	position: absolute;
	left: var(--variableSpaceS);
	margin-right: var(--variableSpaceS);
	bottom: var(--variableSpaceS);
	width: calc(100% - var(--variableSpaceS) * 2);
	max-width: 921px;
	background-color: rgba(255,255,255,0.8);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: var(--variableSpaceS);;
	padding: var(--variableSpaceS);
	border-radius: 45px;
}

#footer_content figure{
	width: 30%;
	max-width: 192px;
}

#footer_content a::before{
	display: inline-block;
	content: "";
	width: 0.7em;
	height: 0.7em;
	background-color: currentColor;
	clip-path: polygon(0 0,100% 50%,0 100%);
}

/* ページトップに戻る
----------------------------------------------------------------------------- */

a.to-the-top{
	position : fixed;
	right : 10px;
	bottom : 1rem;
	transform : translateX(135%);
	transition: transform 0.3s ease;
	color: var(--themeColorLight);
}

a.to-the-top svg{
	width: 40px;
	height: 30px;
}
a.to-the-top > *{
	pointer-events : none;
}

.to-the-top-long{
	display : none;
}

/* google reCAPTCHA
----------------------------------------------------------------------------- */

.grecaptcha-badge{
	visibility: hidden;
	z-index: 0;
}

.grecaptcha-badge{
	bottom: 60px!important;
}

.gbadge{
	display: flex;
	width: 256px;
	height: 70px;
	border: 1px solid #1a73e8;
	border-radius: 5px;
	margin: 20px auto;
	box-shadow: 0 0 5px #aaa;
}

.gbadge figure{
	padding: 13px 11px;
	width: 70px;
}

.gbadge div{
	background-color: #1a73e8;
	color: white;
	font-size: 10px;
	flex-basis: 186px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 5px;
}

.gbadge p{ margin: 0;}

.dbadge a{ display: block; }

/* POSTS LIST    embed-recent-post.php
============================================================================= */
.posts-list{
	margin: auto;
	padding: 20px 10px;
	position: relative;
	background-color: rgba(255,255,255,0.9);
	max-width: 1189px;
	min-height: 300px;
	border-radius: 5vw;
}

@media(min-width: 500px){
	.posts-list{ padding: 2em; }
}

@media(min-width: 1278px){
	.posts-list{
		border-radius: 64px;
	}
}

.posts-list h3{
	font-size: var(--fontSize30);
	color: #FF9800;
	text-align: center;
	margin-bottom: 1em;
}

.posts-list .item-wrap{
	text-align: left;
	margin-bottom: 1em;
}

.posts-list .item {
	padding: 16px 10px 21px;
	font-size: inherit;
	border-bottom: 2px solid var(--themeColor);
}

.posts-list .post-list-date{
	display: inline-block;
    width: 8em;
}

.home .posts-list .post-list-date{
	width: 6em;
}

.posts-list .title-block { display: inline-block; }

.posts-list .title-block a { text-decoration: none; }


.more-read{
	display: block;
	text-align: right;
	bottom: 2em;
	text-decoration: underline;
	transition: color 0.3s ease;
}

.more-read:hover{
	color: var(--themeColor);
}

/*=========================================================================== */
/* Google Map embed
============================================================================= */

.ggmap{
	position: relative;	overflow: hidden; max-width: 100%; height: 300px;text-align: center; }

.ggmap iframe , .ggmap object , .ggmap embed{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; }



/*=========================================================================== */
/* Contents Setting
============================================================================= */
/*common setting
-----------------------------------------------------------------------------*/
.bg-white{
	position: relative;
	z-index: 1;
	background-color: white;
	overflow: hidden;
}

.translucent{
	background-color: rgba(255,255,255,0.8);
}

.rounded{
	border-radius: 4vw;
}

@media(min-width: 1589px){
	.rounded{
		border-radius: 64px;
	}
}

.section-title{
	font-family: var(--marugoFont);
	font-size: var(--fontSize48);
	font-weight: var(--boldFontWeight);
	width: 9.375em;
	height: 4.125em;
	margin: auto;
	mask-image: url(/images/common/section_title_bg.svg);
	-webkit-mask-image: url(/images/common/section_title_bg.svg);
	mask-size: contain;
	-webkit-mask-size: contain;
	display: flex;
	justify-content: center;
	align-items: center;
}

.section-title-2{
	font-size: var(--fontSize48);
	font-weight: var(--boldFontWeight);
	width: 14.38em;
	height: 5.98em;
	margin: auto;
	mask-image: url(/images/common/section_title_2_bg.svg);
	-webkit-mask-image: url(/images/common/section_title_2_bg.svg);
	mask-size: contain;
	-webkit-mask-size: contain;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}

.section-title-2 > div{
	flex-basis: 100%;
}

.section-title-3{
	font-size: var(--fontSize48);
	font-weight: var(--boldFontWeight);
	width: 10.13em;
	height: 6.4em;
	margin: auto;
	mask-image: url(/images/common/section_title_3_bg.svg);
	-webkit-mask-image: url(/images/common/section_title_3_bg.svg);
	mask-size: contain;
	-webkit-mask-size: contain;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}

.section-title-4{
	font-family: var(--marugoFont);
	font-size: var(--fontSize48);
	font-weight: var(--boldFontWeight);
	width: 8.25em;
	height: 3.25em;
	margin: auto;
	mask-image: url(/images/common/section_title_4_bg.svg);
	-webkit-mask-image: url(/images/common/section_title_4_bg.svg);
	mask-size: contain;
	-webkit-mask-size: contain;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
}

.section-title-5{
	font-family: var(--marugoFont);
	font-size: var(--fontSize48);
	font-weight: var(--boldFontWeight);
	width: 9.625em;
	height: 4.3em;
	margin: auto;
	mask-image: url(/images/common/section_title_5_bg.svg);
	-webkit-mask-image: url(/images/common/section_title_5_bg.svg);
	mask-size: contain;
	-webkit-mask-size: contain;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	color: #EBFF00;
	background-color: #2DE3B9;
}

.section-title-6{
	font-family: var(--marugoFont);
	font-size: var(--fontSize48);
	font-weight: var(--boldFontWeight);
	width: 9.625em;
	height: 4.52em;
	margin: auto;
	mask-image: url(/images/common/section_title_6_bg.png);
	-webkit-mask-image: url(/images/common/section_title_6_bg.png);
	mask-size: contain;
	-webkit-mask-size: contain;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	color: #696969;
	background-color: #FFD9D9;
}

.section-title-6 div{
	flex-basis: 100%;
	text-align: center;
}

.section-title-6 .s{
	font-size: 83%;
}

.section-title-7{
	font-family: var(--marugoFont);
	font-size: var(--fontSize48);
	font-weight: var(--boldFontWeight);
	text-align: center;
	display: block;
	color: #B22DE3;
	position: relative;
}

.section-title-7::before{
	content: "";
	width: 2.416em;
	height: 2.02em;
	background-image: url(/images/common/section_title_7_bg.png);
	background-size: contain;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50% , -90%);
}

.section-title-8{
	font-family: var(--marugoFont);
	font-size: var(--fontSize48);
	font-weight: var(--boldFontWeight);
	width: 9.625em;
	height: 3.875em;
	margin: auto;
	background-image: url(/images/common/section_title_8_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #EBFF00;
}

.job-title{
	display: block;
	text-align: center;
	font-family: var(--marugoFont);
	font-weight: bold;
	color: #E31AFD;
	padding-bottom: var(--variableSpaceM);
	border-bottom: 10px solid #E31AFD;
}

.job-title > div{
	font-size: clamp(20px,calc( 2.21vw + 12.9px ),48px);
}

.job-title > div.name{
	display: inline-block;
}

.section-title-contact{
	font-family: var(--marugoFont);
	font-size: var(--fontSize48);
	color: #4699C9;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.section-title-contact::before{
	content: "";
	width: 0.82em;
	height: 0.77em;
	background-image: url(/images/contact/section_title_contact_bg.svg);
	background-size: contain;
	background-repeat: no-repeat;
	transform: translateY(15%);
    margin-right: 0.2em;
}

#contact_address .section-title-contact{
	margin-bottom: 2.625em;
}

#contact_address .section-title-contact::after{
	content: "";
	width: 2.2em;
	height: 3.625em;
	background-image: url(/images/contact/contact_address.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	right: 10%;
	top: 0;
}

#form .section-title-contact{
	margin-bottom: 1.8em;
}

#form .section-title-contact::after{
	content: "";
	width: 3.97em;
	height: 2.65em;
	background-image: url(/images/contact/contact_form.png);
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(-100%);
}

@media(min-width: 700px){
	#form .section-title-contact::after{
		width: calc((110% - 9.1em) / 2);
		max-width: 280px;
		height: 0;
		padding-top: calc(0.67 * (110% - 9.1em) / 2);
		left: -5%;
		top: 0;
		transform: translateY(-20%);
	}
}

#contact_address h3{
	font-size: var(--fontSize34);
	font-weight: bold;
	color: #573A0D;
	margin-bottom: 1em;
}

section h2.animate{
	-webkit-animation: enlarge 0.3s ease-in-out;
	        animation: enlarge 0.3s ease-in-out;
}
@keyframes enlarge{
	0%{ transform: scale(1); }
	50%{ transform: scale(1.2);	}
	100%{ transform: scale(1); }
}

.wave{
	display: inline-block;
	position: relative;
	padding-bottom: 3px;
	background-image: url(/images/top/wave.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: bottom;
}

/* history list
----------------------------------------------------------------------------*/

.history-list{
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1em;
	font-family: var(--gothicFont);
}

.history-list .separator{
	flex-basis: 100%;
	height: 1px;
	border-bottom: 1px solid #CCCCCC;
	margin: 0.2em 0;
}

.history-list .left{
	flex-basis: 100%;
	padding-left: 1em;
}

.history-list .right{
	flex-basis: 100%;
	padding-left: 1em;
	padding-right: 1em;
}

.history-list figure{
	display: inline-block;
}

@media(min-width: 600px){
	.history-list .left{
		flex-basis: 8em;
	}

	.history-list .right{
		flex-basis: calc(100% - 9em );
		padding-left: 0;
	}
}

/* pourin
-----------------------------------------------------------------------------*/
[class^="flex-pourin"]{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column-reverse;
	gap: 20px 0;
}

[class^="flex-pourin"] > figure,
[class^="flex-pourin"] > .image{ max-width: 100%; margin: 0 auto 20px;}

[class^="flex-pourin"]::after{ content: "";clear: both;display: block;}

@media(min-width: 900px){

	[class^="flex-pourin"]{	display: block;}

	.flex-pourin-right > figure,
	.flex-pourin-right > .image{ float: left; max-width: 30%; margin: 0 6% 20px 0!important;}

	.flex-pourin-left > figure,
	.flex-pourin-left > .image{ float: right; max-width: 30%; margin: 0 0 20px 6%!important;}
}

/* Button
-----------------------------------------------------------------*/
[class^="buttonType-"]{
	font-size: var(--fontSize34);
	width: 9.1em;
	height: 2.6em;
	margin: auto;
	background-color: white;
	border-style: solid;
	border-radius: 1.3em;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	transition: all 0.3s ease;
}

.buttonType-1{
	color: #A79A00;
	background-color: white;
	border: 5px solid #789614;
}

.buttonType-1:hover{
	background-color: #A79A00;
	color: white;
}

.buttonType-2{
	color: #956AA1;
	border: 5px solid currentColor;
}

.buttonType-2:hover{
	color: white;
	background-color: #956AA1;
}


.buttonType-3{
	color: #2DE3B9;
	border: 5px solid currentColor;
}

.buttonType-3:hover{
	color: white;
	background-color: #2DE3B9;
}

.buttonType-4{
	color: #AC4BC9;
	border: 5px solid currentColor;
	display: inline-flex;
	padding: 0.8em 2em;
	width: auto;
	height: auto;
	font-size: clamp(18px,calc( 3.33vw + 7.4px ),34px);
}

.buttonType-4:hover{
	color: white;
	background-color: #AC4BC9;
}
/*flex-setting
-----------------------------------------------------------------*/
.nowrap3cols{
	display: flex;
	gap: 3.84%;
}

.flex3to1{
	display: flex;
	flex-wrap: wrap;
	gap: 7.25%;
}


.flex3to2to1{
	display: flex;
	gap: 30px 3.8%;
	flex-wrap: wrap;
	justify-content: space-between;
}

.flex3to2to1 .cell{
	flex-basis: 400px;
	flex-grow: 0;
	max-width: 400px;
	margin: auto;
}

.flex3to2to1 .cell.blank{
	display: none;
}
@media(min-width: 600px){
	.flex3to2to1 .cell{
		flex-basis: 48.1%;
	}
}
@media(min-width: 900px){
	.flex3to2to1 .cell{
		flex-basis: 30.8%;
	}

	.flex3to2to1 .cell.blank{
		display: block;
	}
}

.flex3to2{
	display: flex;
	gap: 30px 3.8%;
	flex-wrap: wrap;
	justify-content: space-around;
}

.flex3to2 .cell{
	flex-basis: 48.1%;
	justify-content: center;
}

@media(min-width: 700px){
	.flex3to2 .cell{
		flex-basis: 30.8%;
	}
}

.flex2to1{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 4%;
}

.flex2to1 .cell{
	flex-basis: 100%;
}

.flex2to1.rev{
	flex-direction: column-reverse
}

@media(min-width: 900px){
	.flex2to1.rev{
		flex-direction: row;
	}

	.flex2to1 .cell{
		flex-basis: 48%;
	}


}

.flex4to2{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
}

.flex4to2 .cell{
	flex-basis: 49%;
}

@media(min-width: 900px){
	.flex4to2 .cell{
		flex-basis: 20.3%;
	}
}

/*=========================================================================== */
/* Parallax BG
============================================================================= */
/*parallax_bg*/
#parallax_bg{
	position: fixed;
	width: 100%;
	max-width: 1920px;
	height: 100vh;
	background-size: cover;
	background-repeat: no-repeat;
	transition: all 1.5s ease;
	margin-left: 50%;
	transform: translateX(-50%);
	min-width: 147%;
}

@media(min-width: 1100px){
	#parallax_bg{
		min-width:1300px;
	}
}

body.home{ background-color: #FFFB93;}
body.home #parallax_bg{
	background-image: url(/images/home/top_page_bg.jpg);
}

body.about-us { background-color: #C9E85F;}
body.about-us #parallax_bg{
	background-image: url(/images/about-us/about_us_bgS.jpg);
}

body.about-us-2 { background-color: #C9E85F;}
body.about-us-2 #parallax_bg{
	background-image: url(/images/about-us/about_us_bgL.jpg);
}

body.about-us-3 { background-color: #C9E85F;}
body.about-us-3 #parallax_bg{
	background-image: url(/images/about-us/about_us_bgM.jpg);
}

body.enrollment { background-color: #77FFEF;}
body.enrollment #parallax_bg{
	background-image: url(/images/enrollment/enrollment_bg.jpg);
}

body.after-school{ background-color: #FFB9B9;}
body.after-school #parallax_bg{
	background-image: url(/images/after-school/after_school_bg.jpg);
}

body.recruit{background-color: #9599F5;}
body.recruit #parallax_bg{
	background-image: url(/images/recruit/recruit_bgM.jpg);
}

body.recruit-2{background-color: #9599F5;}
body.recruit-2 #parallax_bg{
	background-image: url(/images/recruit/recruit_bgL.jpg);
}

body.recruit-3{background-color: #9599F5;}
body.recruit-3 #parallax_bg{
	background-image: url(/images/recruit/recruit_bgS.jpg);
}

body.news,body.parents{background-color: #FFFB93;}
body.news #parallax_bg,body.parents #parallax_bg{
	background-image: url(/images/information/information_bgS.jpg);
}

body.contact{background-color: #FFFB93;}
body.contact #parallax_bg{
	background-image: url(/images/contact/contact_bg.jpg);
}

body.single-post{background-color: #FFFB93;}
body.single-post #parallax_bg{
	background-image: url(/images/information/information_bgS.jpg);
}

body.privacy-policy{background-color: #FFFB93;}
body.privacy-policy #parallax_bg{
	background-image: url(/images/information/information_bgS.jpg);
}

body.error404,body.search{background-color: #FFFB93;}
body.error404 #parallax_bg,
body.search #parallax_bg{
	background-image: url(/images/common/search_bg.jpg);
}
/*=========================================================================== */
/* top page
============================================================================= */
#recent_info .section-title{
	color: white;
	background-color: #FFD112;
}

#about_linker{
	background-color: rgba(255,255,255,0.8);
}

#about_linker .section-title-2{
	color: black;
	background-color: #FFEA77;
	padding-left: 1.25em;
	font-size: clamp(17px,calc( 2.44vw + 9.2px ),48px);
	font-family: var(--gothicFont);
}

#about_linker .flex2to1.rev{
	flex-direction: column-reverse;
}

@media(min-width: 900px){
	#about_linker .flex2to1.rev{
		flex-direction: row;
	}
}

#about_linker .flex2to1 > .cell > div{
	font-size: clamp(16px,calc( 3.10vw + 6.1px ),34px);
	font-weight: 600;
	color: #434343;
    background-size: contain;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: center;
	margin-top: -15vw;
	margin-left: auto;
	margin-right: 0;
}

@media(min-width: 900px){
	#about_linker .flex2to1 > .cell > div{
		font-size: clamp(22px,calc( 3.00vw - 5.0px ),34px);
		margin-top: 5%;
		margin-left: 3%;
		margin-right: auto;
	}
}

#about_linker .pink > div{
	width: 15.1em;
	height: 8.35em;
	background-image: url(/images/top/about_linker_pink.svg);
}



#about_linker .flex2to1 > .cell.blue > div{
	width: 14.8em;
	height: 9em;
	background-image: url(/images/top/about_linker_blue.svg);
	margin-left: 0;
}

@media(min-width: 900px){
	#about_linker .flex2to1 > .cell.blue > div{
		margin-left: auto;
		margin-right: 3%;
	}
}

#about_linker .green > div{
	width: 14.8em;
	height: 7.8em;
	background-image: url(/images/top/about_linker_green.svg);
}

#daily_life .section-title{
	color: white;
	background-color: #AC9DFF;
}

#daily_life .flex3to1{
	gap: 20px 7.25%;

}

#daily_life a{
	display: block;
	flex-basis: 100%;
	padding: 1.4%;
	background-color: white;
	box-shadow: 0 2px 4px gray;
}

@media(min-width: 500px){
	#daily_life a{
		flex-basis: 28.5%;
	}
}

#daily_life a figure{
	overflow: hidden;
}

#daily_life a .title{
	text-align: center;
	margin-top: 5px;
	color: #535024;
}

#daily_life a figure img{
	transition: all 0.3s ease;
}

#daily_life a:hover img{
	transform: scale(1.1);
}

#guidance .section-title-3{
	color: var(--themeColor);
	background-color: #7E7E7E;
	font-family: var(--marugoFont);
}

#guidance .flex4to2{
	justify-content: space-around;
}

#guidance a img{
	transition: all 0.3s ease;
}

#guidance a:hover img{
	transform: scale(1.1);
}

#guidance a figure{
	overflow: hidden;
	border-radius: 20px;
	max-width: 305px;
	margin: auto;

}

#guidance a .title{
	text-align: center;
	padding-top: 5px;
}


/*=====================================================
    園のこと1 about-us
=====================================================*/
.section-title-4{
	background-color: #AC9DFF;
	color: #FFEB93;
}

#message{
	background-color: rgba(255,255,255,0.8);
	padding-left: 13.3%;
	padding-right: 4.5%;
}

body.about-us .catch{
	color: #9D68A5;
	font-size: var(--fontSize34);
	font-weight: bold;
}

#philosophy{
	background-color: rgba(255,255,255,0.8);
	padding-left: 13.3%;
	padding-right: 4.5%;
}
#philosophy h3{
	display: flex;
	align-items: center;
}

#philosophy h3::before{
	content: "";
	display: block;
	width: 1.6em;
	height: 1.5em;
	background-color: #9D68A5;
	mask-image: url(/images/common/sstar.svg);
	-webkit-mask-image: url(/images/common/star.svg);
	mask-size: contain;
	-webkit-mask-size: contain;
}

#philosophy p{
	padding-left: calc(1.6 * var(--fontSize34));
	line-height: 1.5;
}

#goal{
	background-color: rgba(255,255,255,0.8);
}

#goal h3{
	position: relative;
	font-size: var(--fontSize34);
	font-weight: 600;
	display: flex;
	align-items: center;
	color: #555;
	display: flex;

}

#goal h3.pink::before{
	content: "";
	width: 1.67em;
	height: 1.85em;
	background-image: url(/images/about-us/mark_pink.svg);
	margin-right: 1em;
	display: block;
}

#goal h3.blue::before{
	content: "";
	width: 2.3em;
	height: 2em;
	background-image: url(/images/about-us/mark_blue.svg);
	margin-right: 1em;
	display: block;
}

#goal h3.yellow::before{
	content: "";
	width: 2.14em;
	height: 2.26em;
	background-image: url(/images/about-us/mark_yellow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 1em;
	display: block;
}
#goal ul{
	color: #573A0D;
	line-height: 1.5;
}

#outline .section-inner{
	position: relative;
	padding: var(--variableSpaceS) var(--variableSpaceS) var(--variableSpaceS) var(--variableSpaceM);
}

#outline .section-inner::before{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-image: url(/images/about-us/note_piece.png);
	background-size: contain;
	background-position: center;
	background-repeat: repeat-y;
	transform: rotate(1deg);
}

#outline .history-list{
	max-width: 850px;
	margin: auto;
	background-color: rgba(255,255,255,0.5);
	padding: 2em 1em;
	position: relative;
}

#outline .separator{
	border-color: #535120;
}

#outline .history-list .left{
	flex-basis: 100%;
}

#outline .history-list .right{
	flex-basis: 100%;
	padding-left: 1em;
}
@media(min-width: 500px){
	#outline .history-list .left{
		flex-basis: 7em;
	}

	#outline .history-list .right{
		flex-basis: calc(100% - 8em);
		padding-left: 0;
	}
}


.schedule{
	position: relative;
	width: 100%;
	max-width: 1462px;
	margin: auto;
	overflow: hidden;

}

.schedule .section-image{
	position: absolute;
    left: 5.2%;
    top: var(--variableSpaceS);
	width: 20%;
}

.schedule::before{
	position: absolute;
	z-index: 1;
	content: "";
	width: 94.8%;
	height: 100%;
	top: 0;
	left: 2.6%;
	background-image:
	url(/images/about-us/schedule_bg_header.jpg),
	url(/images/about-us/schedule_bg.jpg);
	background-repeat:
		no-repeat,
		repeat-y;
	background-position:
		top right,
		top right;
}

.schedule::after{
	position: absolute;
	content: "";
	width: 1462px;
	height: 100%;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	background-image: url(/images/about-us/schedule_over_bg.png);
	background-repeat: no-repeat;
	background-position: top left;
	z-index: 1;
}

.schedule > *{
	position: relative;
	z-index: 1;
}

.schedule-inner-flex{
	width: 94.8%;
	max-width: 968px;
	margin-right: 2.6%;
	margin-left: 2.6%;
	padding: 0 2.6%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 20px;
}

@media(min-width: 600px){
	.schedule-inner-flex{
		width: 94.8%;
		margin-left: clamp(15px,calc( 55.33vw - 317.0px ),347px);
	}
}

@media(min-width: 1200px){
	.schedule-inner-flex{
		width: 66.2%;
		margin-left: auto;
	}
}

.schedule-inner-flex .clock{
	flex-basis: 20%;
	max-width: 100px;
	margin-bottom: 10px;
}

.schedule-inner-flex .clock figure:first-child{
	margin-bottom: 10px;
}

.schedule-inner-flex .clock figure:last-child img{
	width: 11%;
}

.schedule-inner-flex .content{
	flex-basis: calc(100% - 120px);
	flex-grow: 1;
}

.schedule-inner-flex .time{
	font-family: var(--marugoFont);
	font-size: 58px;
	font-weight: bold;
	color: #0092E5;
	line-height: 0.8;
	margin-bottom: 0.2em;
}

#features{
	color: #573A0D;
	background-color: rgba(255,255,255,0.89);
	position: relative;
	line-height: 1.5;
	background-image: url(/images/about-us/features_bg.svg);
	background-position: bottom;
	background-size: contain;
	background-repeat: no-repeat;
}

#features .section-image{
	position: absolute;
	top: var(--variableSpaceS);
	right: 5%;
	width: 20%;
}

[class^="flex-margin-"]{
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	max-width: 1362px;
}

.flex-margin-left{
	margin-right: 0;
	margin-left: auto;
	padding-left: 20px;
}

.flex-margin-right{
	margin-left: 0;
	margin-right: auto;
	padding-right: 20px;
	flex-direction: column-reverse;
}

@media(min-width: 800px){
	.flex-margin-right{
		flex-direction: row;
	}
}

[class^="flex-margin-"] > div{
	flex-basis: 100%;
}

@media(min-width: 800px){
	[class^="flex-margin-"] > div{
		flex-basis: calc((100% - 20px) / 2);
	}
}

.flex-margin-left .left{
	padding-right: 20px;
}

#features .flex-margin-left .left figure{
	max-width: 560px;
	border-radius:2.2vw;
	overflow: hidden;
	margin-bottom: var(--variableSpaceS);
}

@media(min-width: 800px){
	#features .flex-margin-left .left figure{
		margin-bottom: var(--variableSpaceXL);
	}
}

@media(min-width: 1589px){
	#features .flex-margin-left .left figure{
		border-radius:35px;
		margin-bottom: var(--variableSpaceXL);
	}
}

#features #physical .right{
	display: flex;
	align-items: flex-end;
}

#features .flex-margin-left .right figure{
	max-width: 663px;
	border-radius: 4.6vw 0 0 4.6vw;
	overflow: hidden;
	margin-left: auto;
	margin-right: 0;
}

@media(min-width: 1589px){
	#features .flex-margin-left .right figure{
		border-radius: 74px 0 0 74px;
	}
}

#features .flex-margin-right .left figure{
	max-width: 681px;
	border-radius: 0 4.6vw 4.6vw 0;
	overflow: hidden;
	margin-left: 0;
	margin-right: auto;
}

@media(min-width: 1589px){
	#features .flex-margin-right .left figure{
		border-radius: 0 74px 74px 0;
	}
}


#features .small-section-title{
	position: relative;
	font-family: var(--marugoFont);
	font-weight: var(--boldFontWeight);
	font-size: var(--fontSize34);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 1em;
	width: 11em;
	height: 4.3em;
	mask-image: url(/images/about-us/features_small_title_bg.svg);
	-webkit-mask-image: url(/images/about-us/features_small_title_bg.svg);
	mask-size: contain;
	-webkit-mask-size: contain;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;

}

#features .small-section-title::before{
	content: "";
    display: block;
    width: 1.6em;
    height: 1.5em;
	margin-right: 0.5em;
    background-color: currentColor;
    mask-image: url(/images/common/sstar.svg);
    -webkit-mask-image: url(/images/common/star.svg);
    mask-size: contain;
    -webkit-mask-size: contain;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}

#features #physical{
	background-image: url(/images/about-us/physical_bg.svg);
	background-position: bottom;
	background-size: auto 100%;
	background-repeat: no-repeat;
}

@media(min-width: 800px){
	#features #physical{
		background-size: contain;
	}
}

#features #physical .small-section-title{
	color: #137EA5;
	background-color: #62FFF3;
}

#emotional{
	background-image: url(/images/about-us/emotional_bg.svg);
	background-position: bottom;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: 25vw;
}

@media(min-width: 1589px){
	#emotional{
		margin-bottom: 400px;
	}
}

#features #emotional .small-section-title{
	color: #0DBE36;
	background-color: #FFFB93;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 12.5vw;
}

@media(min-width: 1589px){
	#features #emotional .small-section-title{
		margin-bottom: 200px;
	}
}

#features .flex-margin-right .left{
	display: flex;
	align-items: flex-end;
}

#features .flex-margin-right .right{
	padding-left: 20px;
}

#features #emotional ul{
	max-width: 22em;
	margin-left: auto;
	margin-right: auto;
}

#features #irohauta .small-section-title{
	color: #311995;
	background-color: #F4AFFA;
}

#emotional .nowrap3cols{
	transform: translateY(50%);
}

#emotional .nowrap3cols figure{
	max-width: 357px;
	border-radius: 6.2vw;
	overflow: hidden;
}

@media(min-width: 1189px){
	#emotional .nowrap3cols figure{
		border-radius: 74px;
	}
}

#irohauta{
	background-image: url(/images/about-us/irohauta_bg.svg);
	background-position: bottom;
	background-size: auto 100%;
	background-repeat: no-repeat;
	padding: 12.5vw 0 22vw;
}

@media(min-width: 800px){
	#irohauta{
		background-size: 100% 100%;
	}
}

@media(min-width: 1589px){
	#irohauta{
		padding: 200px 0 350px;
	}
}

#irohauta .left{
	padding-left: 5%;
}

#irohauta .small-section-title{
	margin-bottom: var(--variableSpaceM);
}

#food .small-section-title{
	background-color: #FDBC54;
	color: #EBFF00;
}

#food .flex{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	justify-content: space-around;
	background-image: url(/images/about-us/food_bg.svg);
	background-size: auto;
	background-position: bottom;
	background-repeat: no-repeat;
}

#food .flex > figure{
	flex-basis: 100%;
	max-width: 447px;
}

@media(min-width: 800px){
	#food .flex > figure{
		flex-basis: 42.9%;
	}
}

#food .flex figcaption{
	padding: 1em;
}

#others .flex2to1 .cell{
	display: flex;
}

#others .flex2to1 .cell figure{
	flex-basis: 34.4%;
	flex-shrink: 0;
}

#others h4{
	color: #966BB9;
	font-size: var(--fontSize24);
	font-weight: bold;
	margin-bottom: 0.5em;
}

#annual_event .note{
	width: 80%;
	max-width: 400px;
	margin: var(--variableSpaceS) auto;
	background-image: url(/images/about-us/memo_bg.jpg);
    background-repeat: repeat-y;
    background-size: 100%;
    padding: 1em 0.5em 1em;
    box-shadow: 0 3px 6px rgba(0,0,0,0.5);
	color: #573A0D;
	transform: rotate(-0.5deg);
}

.cork-board-flex{
	display: flex;
	flex-wrap: wrap;
	gap: 100px 20px;
	max-width: 1300px;
	padding: 0 50px;
	margin: auto;
}

.cork-board-flex > div{
	flex-basis: 100%;
}

@media(min-width: 600px){
	.cork-board-flex > div{
		flex-basis: calc((100% - 20px) / 2);
	}
}

@media(min-width: 850px){
	.cork-board-flex > div{
		flex-basis: calc((100% - 40px) / 3);
	}
}

#annual_event{
	background-image: url(/images/about-us/cork_board_body_2.png);
	background-repeat: repeat-y;
	background-size: contain;
	max-width: 1535px;
	margin: 0 auto;
	position: relative;
}

#annual_event::before{
	content: "";
	display: block;
	width: 100%;
	height: 0;
	padding-top: 7.8176%;
	background-image: url(/images/about-us/cork_board_top.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	transform: translateY(-100%);
}

#annual_event::after{
	content: "";
	display: block;
	width: 100%;
	height: 0;
	padding-top: 7.8176%;
	background-image: url(/images/about-us/cork_board_bottom.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0;
	transform: translateY(100%);
}


#annual_event .memo{
	background-image: url(/images/about-us/memo_bg.jpg);
	background-repeat: repeat-y;
	background-size: 100%;
	padding: 1em 0.5em 1em;
	box-shadow: 0 3px 6px rgba(0,0,0,0.5);
	margin: 0.5em 2.5% 0;
	color: #573A0D;
}

#annual_event .month{
	font-family: var(--marugoFont);
	font-size: 52px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	margin-bottom: var(--fontSize24);
}

#annual_event [class^="pinned-"],#annual_event [class^="pinned-"] > *{
	position: relative;
}

#annual_event [class^="pinned-"]::before{
	content: "";
	display: block;
	width: 27px;
	height: 30px;
	position: absolute;
	top: 2%;
	left: 0;
	right: 0;
	margin: auto;
	background-repeat: no-repeat;
	background-size: contain;
	z-index: 1;
}

#annual_event .pinned-y::before{
	background-image: url(/images/about-us/pin_yellow.png);
}


#annual_event .pinned-g::before{
	background-image: url(/images/about-us/pin_green.png);
}


#annual_event .pinned-b::before{
	background-image: url(/images/about-us/pin_blue.png);
}

#annual_event .cork-board-flex > div::before{
	content: "";
	display: block;
	position: absolute;
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 1;
}

#annual_event .april{ transform: rotate(-1deg); position: relative;}
#annual_event .april .month{ color: #0092E5;}
#annual_event .april::before{
	width: 25%;
	height: 0;
	padding-top: 25%;
	background-image: url(/images/about-us/seal_april.png);
	top: 0;
	transform: translateY(-100%);
}

@media(min-width: 600px){
	#annual_event .april::before{
		width: 45%;
		padding-top: 45%;
	}
}

#annual_event .may{ transform: rotate(2deg) translateY(-3%);}
#annual_event .may .month{ color: #E559F7;}

#annual_event .june{ transform: rotate(-1deg);}
#annual_event .june .month{ color: #00C9BA;}
#annual_event .june::before{
	width: 25%;
	height: 0;
	padding-top: 19.58%;
	background-image: url(/images/about-us/seal_june.png);
	top: 0;
	right: 0;
	transform: translateY(-120%);
}

@media(min-width: 600px){
	#annual_event .june::before{
		width: 45%;
		padding-top: 32.25%;
		transform: translateY(-150%);
	}
}

#annual_event .july{ transform: rotate(2deg);}
#annual_event .july .month{ color: #B1AA0C;}

#annual_event .august { transform: rotate(-1deg) translateY(10%);}
#annual_event .august .month{ color: #00E59F;}
#annual_event .august::before{
	width: 19.4%;
	height: 0;
	padding-top: 22.8%;
	background-image: url(/images/about-us/seal_august.png);
	top: 0;
	left: 0;
	transform: translateY(-100%);
}

@media(min-width: 600px){
	#annual_event .august::before{
		width: 35%;
		padding-top: 41%;
	}
}

#annual_event .september{ transform: rotate(0) translateY(-5%);}
#annual_event .september .month{ color: #0092E5;}
#annual_event .september::before{
	width: 23.865%;
	height: 0;
	padding-top: 26.36%;
	background-image: url(/images/about-us/seal_september.png);
	bottom: -2%;
	right: 0;
	transform: translateY(100%) translateX(20%);
}

@media(min-width: 600px){
	#annual_event .september{ transform: rotate(0) translateY(-15%);}
	#annual_event .september::before{
		width: 43%;
		padding-top: 47.5%;
	}
}

#annual_event .october{ transform: rotate(2deg);}
#annual_event .october .month{ color: #FF6464;}

#annual_event .november{ transform: rotate(-2deg)  translateY(0); z-index: 1;}
#annual_event .november .month{ color: #E5B000;}
#annual_event .november::before{
	width: 30.8%;
	height: 0;
	padding-top: 31.52%;
	background-image: url(/images/about-us/seal_november.png);
	bottom: 0;
	left: 0;
	transform: translateY(70%) translateX(-40%);
}

@media(min-width: 600px){
	#annual_event .november{ transform: rotate(-2deg)  translateY(-10%);}
	#annual_event .november::before{
		width: 55.5%;
		padding-top: 56.75%;
	}
}
#annual_event .december{ transform: rotate(0);}
#annual_event .december .month{ color: #0092E5;}

#annual_event .january{ transform: rotate(-5deg); z-index: 1;}
#annual_event .january .month{ color: #C964FF;}
#annual_event .january::before{
	width: 18.6%;
	height: 0;
	padding-top: 25.1%;
	background-image: url(/images/about-us/seal_january.png);
	bottom: 0;
	left: 0;
	transform: translateY(100%) rotate(5deg);
}

@media(min-width: 600px){
	#annual_event .january::before{
		width: 33.5%;
		padding-top: 45.25%;
	}
}

#annual_event .february{ transform: rotate(0) translateY(-5%);}
#annual_event .february .month{ color: #0092E5;}

#annual_event .march{ transform: rotate(0);}
#annual_event .march .month{ color: #E54F00;}

#facility{
	background-color: rgba(255,255,255,0.8);
	margin-top: var(--variableSpaceXL);
}

.facility-flex{
	display: flex;
	flex-wrap: wrap;
	gap: 50px 2%;
}

.facility-flex .cell{
	flex-basis: 100%;
}

@media(min-width: 375px){
	.facility-flex .cell{
		flex-basis: 49%;
	}
}

@media(min-width: 800px){
	.facility-flex .cell{
		flex-basis: 32%;
	}
}


.facility-flex figure{
	max-width: 353px;
}

.facility-flex figure img{
	overflow: hidden;
	width: 100%;
	border-radius: 1.45vw;
}

@media(min-width: 1589px){
	.facility-flex figure img{
		border-radius: 23px;
	}
}

.facility-flex figcaption{
	color: #573A0D;
	font-weight: bold;
	text-align: center;
	padding-top: 0.5em;
	line-height: 1;
}
/*=====================================================
    入園案内 enrollment
=====================================================*/
.enrollment-wrap{
	background-color: rgba(255,255,255,0.8);
	overflow: hidden;
}

#requirements .separator{
	border-color: #2DE3B9;
	border-width: 4px;
}

#tour .flex{
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
	align-items: center;
}

#tour .flex > *{
	flex-basis: 100%;
}

@media(min-width: 500px){
	#tour .flex > *{
		flex-basis: 49%;
	}
}


/*=====================================================
    学童保育 after school
=====================================================*/
#after_school_guidance{
	background-color: rgba(255,255,255,0.8);
	overflow: hidden;
}

#after_school_guidance .separator{
	border-width: 4px;
	border-color: #8B8B8B;
}

.schedule-wrap{
	padding-right: 8.3%;
	padding-bottom: 18%;
	position: relative;
}

@media(min-width: 800px){
	.schedule-wrap{
		padding-bottom: 8.3%;
	}
}

.schedule-wrap::before{
	content: "";
	position: absolute;
	top: 50px;
	right: 0;
	width: 30%;
	height: 0;
	padding-top: 28.6%;
	background-image: url(/images/after-school/schedule_sun.png);
	background-size: contain;
}

.schedule-wrap::after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 50px;
	width: 39.4%;
	height: 0;
	padding-top: 21.8%;
	background-image: url(/images/after-school/schedule_moon.png);
	background-size: contain;
}

@media(min-width: 800px){
	.schedule-wrap::before{
		width: 15%;
		height: 0;
		padding-top: 14.3%;
	}

	.schedule-wrap::after{
		width: 19.7%;
		height: 0;
		padding-top: 10.9%;
	}
}


.schedule-flex{
	display: flex;
	flex-wrap: wrap;
	gap: var(--variableSpaceM) 3.3%;
}

.schedule-flex > figure{
	flex-basis: 100%;
}

@media(min-width: 800px){
	.schedule-flex > figure{
		flex-basis: 48.3%;
	}
}
.schedule-flex img{
	max-width: 100%;
}
/*=====================================================
   採用情報 recruit-1
=====================================================*/

.sections-wrap{
	background-color: rgba(255,255,255,0.8);
	overflow: hidden;
}

.buttons-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 30px;
}

#ideal_profile .flex-margin-right .right{
	padding-left: 20px;
}

@media(min-width: 800px){
	#ideal_profile .flex-margin-right .right{
		transform: translateY(20%);
		padding-left: 0;
	}
}

#hearing h3 div:first-child{
	font-size: var(--fontSize34);
	color: #956AA1;
	font-weight: bold;
	text-align: center;
}

#hearing h3 div:last-child{
	color: #69656A;
	text-align: center;
	font-size: 0.9em;
}

#hearing h4{
	color: #956AA1;
	margin-bottom: 0.5em;
}

#hearing p{
	margin-bottom: 1em;
}

#hearing [class^="flex-pourin"]{
	flex-direction: column;
}

#hearing [class^="flex-pourin"] > .image{
	max-width: 60%;
}

@media(min-width: 600px){
	#hearing [class^="flex-pourin"] > .image{
		max-width: 30%;
	}
}


/*=====================================================
    採用情報-2 recruit-2
=====================================================*/
#requirements_launcher h2{
	position: relative;
}

@media(min-width: 500px){
	#requirements_launcher h2:before{
		position: absolute;
		left: 0;
		transform: translateX(-120%);
		content: "";
		width: clamp(60px,calc( 13.77vw - 8.8px ),210px);
		height: clamp(60px,calc( 13.77vw - 8.8px ),210px);
		background-image: url(/images/recruit/launcher_title_left.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}

	#requirements_launcher h2:after{
		position: absolute;
		right: 0;
		transform: translateX(110%);
		content: "";
		width: clamp(70px,calc( 16.07vw - 10.4px ),245px);
		height: clamp(55px,calc( 12.66vw - 8.2px ),193px);
		background-image: url(/images/recruit/launcher_title_right.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}
}

#requirements_launcher .launcher-wrap{
	text-align: center;
}

#requirements_launcher .launcher-flex{
	display:inline-flex;
	flex-direction: column;
	text-align: left;
}

#requirements_launcher .launcher-flex a{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	color: #7A7C63;
	font-family: var(--marugoFont);
	font-size: clamp(20px,calc( 2.21vw + 12.9px ),48px);
	font-weight: bold;
	transition: all 0.3s ease;
	margin-bottom: 0.5em;
	background-color: #EDADFF;
	padding: 0.5em;
	border-radius: 0.5em;
}

#requirements_launcher .launcher-flex a:hover{
	transform: scale(1.05);
	color: #E31AFD;
}

body.recruit-2 .button-wrap{
	text-align: center;
}

body.recruit-2 .separator{
	border-color: #E31AFD;
	border-width: 1px;
	border-style: dashed;
}

body.recruit-2 .history-list{
	font-size: var(--fontSize30);
}

body.recruit-2 .history-list .left{
	color: #956AA1;
	font-weight: bold;
}

/*=====================================================
    採用情報 recruit-3
=====================================================*/
#tel h3{
	display: flex;
	width: 4.77em;
	height: 3.375em;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	font-size: var(--fontSize48);
	font-family: var(--marugoFont);
	font-weight: bold;
	color: #FFFB93;
	background-image: url(/images/recruit/h3_tel_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
}

#tel{
	color: #AC4BC9;
	font-weight: bold;
}

#tel .vfs30{ margin-bottom: 0;}

#form h3{
	display: flex;
	width: 6.95em;
	height: 3.4em;
	justify-content: center;
	align-items: center;
	margin-left: auto;
	margin-right: auto;
	font-size: var(--fontSize48);
	font-family: var(--marugoFont);
	font-weight: bold;
	color: #FFFB93;
	background-image: url(/images/recruit/h3_form_bg.png);
	background-size: contain;
	background-repeat: no-repeat;
}

/*=====================================================
    お問い合わせ Page:Contact
=====================================================*/


/*=====================================================
    Contact Form Form:WPCF7
=====================================================*/

.wpcf7 {
	width: 100%!important;
	font-family: var(--gothicFont);
	font-size: 20px;
}

.wpcf7 .flex-box{
	display: flex;
	height: 100%;
	align-items: center;
}

.wpcf7-form{ position: relative;}

.wpcf7 dl {
	display: flex;
	flex-wrap: wrap;
	margin: 2rem 1rem 4rem 1rem;
}
.wpcf7 dt {
	flex-basis: 100%;
	font-weight: var(--regularFontWeight);
}
.wpcf7 dd{
	flex-basis: 100%;
	margin: 0;
	font-weight: var(--regularFontWeight);
}

.wpcf7 select{
	padding: 0.5em;
	font-size: var(--fontSizeR);
	width: 100%;
}

.wpcf7 input,.wpcf7 textarea,.wpcf7 select{
	border: 2px solid #956AA1;
}

body.contact .wpcf7 input,body.contact .wpcf7 textarea,body.contact .wpcf7 select{
	border: 2px solid #4699C9;
}

.wpcf7 input:focus-visible,.wpcf7 textarea:focus-visible,.wpcf7 select:focus-visible{
	border: 1px solid #B921E3;
}


.wpcf7 input:not([type='checkbox']),.wpcf7 textarea {
	padding: 1rem 1rem;
	box-sizing: border-box;
	width: 100%;
	font-size: 20px;
	font-family: var(--gothicFont);
	font-weight: var(--regularFontWeight);
}
.wpcf7 input[type="radio"]{display: inline-block; width: 1em;}

.wpcf7 input.p-postal-code{ width: 13em;}

.wpcf7 input[type="submit"]{
	font-size: var(--fontSize34);
	width: 9.1em;
	height: 2.6em;
	margin: auto;
	background-color: white;
	border-style: solid;
	border-radius: 1.3em;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	transition: all 0.3s ease;
	color: #AC4BC9;
	border: 5px solid currentColor;
	display: inline-flex;
	padding: 0.8em 2em;
	width: auto;
	height: auto;
}

body.contact .wpcf7 input[type="submit"]{
	color: #4699C9;
}

.wpcf7 input[type="submit"]:disabled{
	pointer-events: none
}

.wpcf7 input[type="submit"]:hover{
	color: white;
	background-color: #AC4BC9;
}

body.contact .wpcf7 input[type="submit"]:hover{
	color: white;
	background-color: #4699C9;
}

.wpcf7 input[type="number"] {
	display: inline-block;
	width: 9rem;
	padding: 1rem 0.3rem 1rem 1.8rem;
}
.wpcf7 .required {
	width: 1em;
	height: 1.66em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	color: var(--themeColorLight);
	font-size: 1em;
	border-radius: 5px;
    transform: scale(0.8);
}
.wpcf7 .error {
	display: inline-block;
	        animation: blink 1s ease 5;

	-webkit-animation: blink 1s ease 5;
}
.wpcf7 textarea{
	box-sizing: border-box;
}

@keyframes blink {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.wpcf7 .left-top > div,
.wpcf7 .right-bottom > div {
	padding-right: 1em;
}
.wpcf7 .left-top > div {
	width: 100%;
	padding: 0.5rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
}

.wpcf7 .left-top .item-name{ line-height: 1; width: auto;}

.wpcf7-spinner{
	display: block;
	margin: auto;
}

@media (min-width: 750px){
	.wpcf7 dt {
		flex-basis: 8em;
	}
	.wpcf7 dd{
		flex-basis: calc(100% - 8em);
	}
}


/*=====================================================
    プライバシーポリシー Page:Privacy Policy
=====================================================*/

#privacy_policy{ counter-reset: number 0;}

#privacy_policy h2{
	display: flex;
	gap: 0.5em;
	align-items: center;
	margin: 1em 0;
	font-size: var(--fontSize30);
}

#privacy_policy h2::before{
	counter-increment: number 1;
	content: counter(number,upper-roman)".";
	width: 1em;
	height: 1em;
	display: block;
}

#privacy_policy ol{
	margin-left: 1em;
	line-height: 1.5;
}

#privacy_policy ol li{
	margin-bottom: 1em;
}

#privacy_policy a{
	text-decoration: underline;
	color: #0C3388;
}

/*=====================================================
    サイトマップ Page:sitemap
=====================================================*/
#sitemap{ padding-bottom: var(--variableSpaceM);}

#sitemap .parent{
	color: #0C3388;
	font-size: var(--fontSize30);
	width: 100%;
	height: 2.66em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: var(--variableSpaceS);
}

#sitemap a.parent{
	background-color: #C6E9FF;
	transition: all 0.3s ease;
}

#sitemap a.parent:hover{
	background-color: #FFE6BE;
}

#sitemap .parent.outer-link{
	border: 1px solid #047FCC;
}

#sitemap .children{
	display: block;
	font-size: var(--fontSize24);
	color: #0C3388;
	text-align: center;
	line-height: 1;
	margin-bottom: var(--variableSpaceS);
	transition: all 0.3s ease;
}

#sitemap .children:hover{
	color: #FF8900;
}
