@charset "utf-8";

/*
Theme Name: 「Club Bambini」
Description: 静岡市の学童クラブ「クラブ バンビーニ」さまのWebサイトです。
*/

/**********************************************************************************


	reset
	
	
***********************************************************************************/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong,
sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
figcaption, figure, footer, header, hgroup, menu, nav, section, summary, 
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
body { line-height: 1; }
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
    color: #273562;
}
ins, mark {
    background-color: #ff9;
    color: #000;
}
ins { text-decoration: none; }
mark {
    font-style: italic;
    font-weight: bold;
}
del { text-decoration: line-through; }
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
caption, th { text-align: left; }
hr {
    display: block;
    height: 1px;
    border: 0;  
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}
input, select { vertical-align:middle; }
input, textarea {
	margin: 0;
	padding: 0;
}
img {
    vertical-align: top;
    font-size: 0;
    line-height: 0;
    max-width: 100%;
	height: auto;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}


/***----- clearfix -----***/
.clearfix, div, ul, dl, ol { zoom: 1; }
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/***----- ie11対策 -----***/
main { display: block; }



/**********************************************************************************


	初期設定


***********************************************************************************/
html { font-size: 62.5%;/*10px*/ }
body {
	font-family: "Helvetica Neue", "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	-webkit-text-size-adjust: none;
	line-height: 1.8;
	letter-spacing: .05em;
	color: #333;
	overflow-x: hidden;
}


/**********************************************************************************


	CSS変数を定義
	
	
***********************************************************************************/
:root {
    --navy: #273562;
	--mandarin: #fb6103;
	--light-orange: #ffe7d9;
	--white: #efeceb;
	--gray: #f0f0f0;
	--attention: #fb6103;
    --shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    --font-maru-gothic: 'M PLUS Rounded 1c', sans-serif;
    --font-gothic: 'Renner*';
}



/**********************************************************************************


	見出し
	
	
***********************************************************************************/
h1, h2, h3, h4 {
	font-weight: 700;
	line-height: 1.2;
}
h1 { font-size: 4.0rem; }
h2 { font-size: 3.2rem; }
h3 { font-size: 2.8rem; }
h4 { font-size: 2.4rem; }


/***----- 見出し装飾 -----***/
.section-title__main {
	font-family: var(--font-maru-gothic);
	font-size: 2.2rem;
	color: #666;
    text-align: center;
    position: relative;
    margin-bottom: 70px;
}
.section-title__main::after {
    content: "";
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    border-bottom: 4px solid var(--navy);
	width: 30px;
}
.section-title__sub {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: #666;
	padding: 10px 20px 10px 20px;
	margin-bottom: 20px;
	background-color: #f0f0f0;
}


/** media Queries
===================================================================================*/
@media screen and (max-width: 800px) {

h1 { font-size: 3.6rem; }
h2 { font-size: 2.8rem; }
h3 { font-size: 2.4rem; }
h4 { font-size: 2.0rem; }

/***----- 見出し装飾 -----***/
.section-title__main {
	font-family: var(--font-maru-gothic);
	font-size: 2.2rem;
	color: #666;
	margin-bottom: 56px;
}
}

/** media Queries
===================================================================================*/
@media screen and (max-width: 480px) {

h1 { font-size: 3.2rem; }
h2 { font-size: 2.4rem; }
h3 { font-size: 2.0rem; }
h4 { font-size: 1.8rem; }

}



/**********************************************************************************


	header (mobile first)

	
***********************************************************************************/
#header {
	box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
	z-index: 99;
	width: 100%;
	min-width: 1200px;
	height: 120px;
	position: fixed;
	top: 0;
	left: 0;
	background: #fff;
}
.header-container { 
	width: 1100px;
	margin: 0 auto;
}
#gNav a:hover { color: var(--mandarin); }

.main-nav .sub-menu,.mean-container .mean-nav ul ul {
	background-color: var(--mandarin);
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

#header {
    padding: 10px 0;
    height: 120px;
}
.header-container { 
	width: 100%;
	min-width: 100%;
}
.header-sp .sub-title { 
	display: inline-block;
	position: absolute;
	top: 25px;
	left: 130px;
	font-family: var(--font-maru-gothic);
	color: var(--navy);
}
.sub-title01 { 
	display: block;
	font-size: 1.6rem;
}
.sub-title02 { 
	font-size: 2.6rem;
}
.sub-title03 { 
	font-size: 2.6rem;
}

.header-logo img {
    width: 90px;
    position: absolute;
    top: 10px;
    left: 20px;
    z-index: 100;
}
/*** リロード時に展開してしまうのを防ぐ。jsにて5秒遅れでfadeinさせる ***/
#gNav { display: none; }

#gNav .main-nav {
    overflow-y: auto;
    height: 100vh;
}
.sub-nav__area { display: none; }

.mean-nav .header-container { padding: 0; }
nav li .fa { display: none; }

}


/** media Queries
===================================================================================*/
@media only screen and (min-width: 1025px) {

#header { height: 230px; }
.header-logo img { width: 150px; }
#header-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header-sp .sub-title { display: none; }

#gNav {
    display: flex;
    margin-top: 29px;
}
#gNav ul {
    position: relative;
    display: flex;
}
#gNav li { 
	position: relative;
	text-align: center;
	padding: 0 0 26px 0;
}
#gNav li { border-right: 2px dotted #c9c9c9; }
#gNav li:first-of-type { width: 180px; border-left: 2px dotted #c9c9c9; }
#gNav li:nth-of-type(2) { width: 170px; }
#gNav li:nth-of-type(3) { width: 170px; }
#gNav li:nth-of-type(4) { width: 140px; }
#gNav li:nth-of-type(5) { width: 140px; }
#gNav li a::after{
	content: attr(data-eng);
	color: var(--mandarin);
	font-size: 1.4rem;
	display: inline;
	position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    cursor: pointer;
    width: 100%;
}
#gNav li a {
    position: relative;
    display: block;
    text-align: center;
    color: var(--navy);
    /*line-height: 80px;*/
}
#gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 50px;
    left: 50%;
    margin-left: -100px;
    width: 200px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}
#gNav .sub-menu li:first-of-type{ border-left: none; }
#gNav .sub-menu a {
    display: inline-block;
    border-bottom: none;
    padding: 20px;
    line-height: 1.2em;
}
#gNav .sub-menu a:hover:after { content: none; }
#gNav .sub-menu li {
    display: inline-block;
    font-size: 14px;
    padding: 0;
    margin: 0;
	border-right: none;
}
#gNav .sub-menu li:last-child { border-bottom: none; }
#gNav ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
}
#gNav ul > li:hover a,#gNav .current-menu-item a,#gNav .current-menu-parent a {
    color: var(--mandarin);
}
#gNav li:hover ul.sub-menu {
    top: 80px;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
}
#gNav li ul li:after { content: none; }
#gNav li:hover ul.sub-menu a { color: #fff; }
/*#gNav .sub-menu li a:hover { background: #fff; }*/
#gNav .contact_btn a:hover { color: #fff; }

.main-nav { }
.sub-nav__area {
    display: flex;
    justify-content: space-between;
    padding: 40px 0;
	border-bottom: 2px solid var(--mandarin);
}
.sub-title { 
	font-family: var(--font-maru-gothic);
	color: var(--navy);
	padding-top: .4em;
}
.sub-nav { display: flex; }
.sub-nav li { 
	font-family: var(--font-maru-gothic);
	color: var(--navy);
	height: 40px;
	padding: .35em .75em .25em;
	border-radius: 21px;
}
.sub-nav a { color: #fff; }
.sub-instagram { 
	background-color: var(--navy);
	margin-right: 10px;
}
.sub-instagram img { width: 29px; }
.sub-instagram span { margin-left: .5em; }
.sub-contact { background-color: var(--mandarin); }

}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {

.sub-title02 { 
	font-size: 2.2rem;
}
.sub-title03 { 
	font-size: 2.2rem;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.header-sp .sub-title { 
	top: 15px;
}
.sub-title01 { 
	display: block;
	font-size: 1.4rem;
}
.sub-title02 { 
	display: block;
	font-size: 1.8rem;
}
.sub-title03 { 
	font-size: 2.2rem;
	line-height: 1;
	margin-left: -.5em;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {

.header-sp .sub-title { 
	top: 15px;
}
.sub-title01 { 
	display: block;
	font-size: 1.3rem;
}
.sub-title02 { 
	display: block;
	font-size: 1.6rem;
}
.sub-title03 { 
	font-size: 2rem;
	line-height: 1;
	margin-left: -.5em;
}
}



/**********************************************************************************


	page-header / header-slider


***********************************************************************************/
.header-slider__wrapper { position: relative; }
.header-slider {
	margin-top: 120px;
	width: 100%;
	min-width: 1200px;
  	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: -1;
}
.header-slider::before {
	content: "";
	display: block;
	padding-top: 66.6546763%; 
}

.top-arc { 
	width: 100%;
	min-width: 1200px;
    height: auto;
    background: url(common/bg_arc-pink.png) no-repeat center bottom;
    background-size: auto;
    background-size: cover;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
}
.top-arc::before {
	content: "";
	display: block;
	padding-top: 10.4166667%; 
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.header-slider {
	width: 100%;
	min-width: 100%;
}
.top-arc { 
	width: 100%;
	min-width: 100%;
}
}



/**********************************************************************************


	page-header


***********************************************************************************/
.page-header__wrapper { position: relative; }
.page-header {
	position: relative;
	min-width: 1200px;
	height: auto;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding-top: 0;
	padding-left: 15%;
	margin-top: 120px;
}
.page-header::before {
	content: "";
	display: block;
	padding-top: 48%; 
}

.page-header__title {
	font-family: var(--font-maru-gothic);
	font-size: 3.4rem;
	color: var(--navy);
	position: relative;
	margin-top: -60px;
}
.page-header__title::after {
	content: attr(data-eng);
	color: var(--mandarin);
	font-size: 2rem;
	display: block;
	position: absolute;
    bottom: -30px;
    right: 0;
}
.page-header__title::before {
	content: "";
	position: absolute;
	top: -50px;
	left: -165px;
	z-index: -1;
	display: block;
	width: 190px;
	height: 245px;
	background: url(common/header-leaf.svg) no-repeat;
}

.arc-white { 
	width: 100%;
	min-width: 1200px;
    height: auto;
    background: url(common/bg_arc-white.png) no-repeat center bottom;
    background-size: auto;
    background-size: cover;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 5;
}
.arc-white::before {
	content: "";
	display: block;
	padding-top: 10.4166667%; 
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.page-header,
.parallax-window {
	min-width: 100%;
}
.page-header {
	margin-top: 0;
	position: relative;
}
.page-header::before {
	content: "";
	display: block;
	padding-top: 56.25%; 
}

.page-header__title--wrapper { 
	position: relative;
	width: 100%; 
}
.page-header__title {
	font-family: var(--font-maru-gothic);
	font-size: 3.4rem;
	color: var(--navy);
	position: absolute;
	z-index: 1;
	display: inline-block;
	margin-top: -10px;
}
.page-header__title::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -40px;
	left: -115px;
	z-index: -1;
	width: 142px;
	height: 174px;
	background: url(common/header-leaf.svg) no-repeat;
	background-size: 142px 174px;
}

.arc-white { 
	width: 100%;
	min-width: 100%;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 800px) {

.page-header::before {
	content: "";
	display: block;
	padding-top: 64%; 
}

.page-header__title {
	font-family: var(--font-maru-gothic);
	font-size: 3.2rem;
	color: var(--navy);
	position: absolute;
	z-index: 1;
	display: inline-block;
	margin-top: -10px;
}
.page-header__title::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -40px;
	left: -95px;
	z-index: -1;
	width: 120px;
	height: 153px;
	background: url(common/header-leaf.svg) no-repeat;
	background-size: 120px 153px;
}
}


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

.page-header__title {
	font-family: var(--font-maru-gothic);
	font-size: 3.2rem;
	color: var(--navy);
	position: absolute;
	z-index: 1;
	display: inline-block;
	margin-top: 0;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {

.page-header::before {
	content: "";
	display: block;
	padding-top: 72%; 
}
.page-header__title {
	font-family: var(--font-maru-gothic);
	font-size: 3rem;
	color: var(--navy);
	position: absolute;
	z-index: 1;
	display: inline-block;
	margin-top: 0;
}
.page-header__title::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -30px;
	left: -80px;
	z-index: -1;
	width: 100px;
	height: 128px;
	background: url(common/header-leaf.svg) no-repeat;
	background-size: 100px 128px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {

.page-header { padding-left: 18%; }
.page-header::before {
	content: "";
	display: block;
	padding-top: 84%; 
}
.page-header__title {
	font-family: var(--font-maru-gothic);
	font-size: 2.8rem;
	color: var(--navy);
	position: absolute;
	z-index: 1;
	display: inline-block;
	margin-top: 20px;
}
.page-header__title::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -30px;
	left: -70px;
	z-index: -1;
	width: 90px;
	height: 115px;
	background: url(common/header-leaf.svg) no-repeat;
	background-size: 90px 115px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.page-header::before {
	content: "";
	display: block;
	padding-top: 96%; 
}
.page-header__title {
	font-family: var(--font-maru-gothic);
	font-size: 2.6rem;
	color: var(--navy);
	position: absolute;
	z-index: 1;
	display: inline-block;
	margin-top: 20px;
}
.page-header__title::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -20px;
	left: -63px;
	z-index: -1;
	width: 80px;
	height: 102px;
	background: url(common/header-leaf.svg) no-repeat;
	background-size: 80px 102px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {

.page-header::before {
	content: "";
	display: block;
	padding-top: 108%; 
}
.page-header__title {
	font-family: var(--font-maru-gothic);
	font-size: 2.4rem;
	color: var(--navy);
	position: absolute;
	z-index: 1;
	display: inline-block;
	margin-top: 20px;
}
.page-header__title::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: -20px;
	left: -63px;
	z-index: -1;
	width: 80px;
	height: 102px;
	background: url(common/header-leaf.svg) no-repeat;
	background-size: 80px 102px;
}
.page-header__title::after {
	font-size: 1.8rem;
	display: block;
	position: absolute;
    bottom: -25px;
    right: 0;
}
}



/**********************************************************************************


	main


***********************************************************************************/
.main {
	width: 100%;
	min-width: 1200px;
	margin: 0 auto;
}

.container,
.container-s,
.container-l {
	margin: 0 auto;
}
.container { width: 1100px; }
.container-s { width: 960px; }
.container-l { width: 1200px; }
.container-fluid { width: 100%; }

.py-l { padding: 90px 0; }
.py-m { padding: 60px 0; }
.py-s { padding: 40px 0; }

.marker { background: linear-gradient(transparent 70%, #f5dadf 70%); }

.indent {
	padding-left: 1em;
	text-indent: -1em;
}


/*** ページ内リンク
--------------------------------------------------------------------------------***/
.anchor {
    /*display: block;*/
    padding-top: 230px;
    margin-top: -230px;
}

.anchor-admission {
	padding-top: 300px;
	margin-top: -300px;

}
.anchor-process {
	padding-top: 230px;
	margin-top: -230px;

}
.anchor-access {
	padding-top: 280px;
	margin-top: -280px;

}
.anchor-staff {
	padding-top: 280px;
	margin-top: -280px;

}
/** media Queries
===================================================================================*/
@media only screen and (max-width: 1680px) {


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1536px) {


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1440px) {


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1366px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1280px) {


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.main,
.container,
.container-s,
.container-l {
	width: 100%;
	min-width: 100%;
}
.py-l { padding: 90px 20px; }
.py-m { padding: 60px 20px; }
.py-s { padding: 40px 20px; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 800px) {


}


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


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {


}



/**********************************************************************************


	1. トップページ / home


***********************************************************************************/
.introduction { background-color: var(--light-orange); }
.introduction .py-m { padding: 0 0 60px; }
.intro__item {
	display: flex;
    justify-content: space-between;
}
.intro { width: calc( 655 / 1100 * 100% ); }
.intro-logo {
	display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
}
.intro-logo img { width: calc( 220 / 655 * 100% ); }

.recruitment-title {
	font-family: var(--font-maru-gothic);
	font-weight: normal;
	font-size: 6.2rem;
	line-height: 1.1;
	color: var(--navy);
	margin-bottom: 25px;
}
.recruitment-announce {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: var(--mandarin);
}
.recruitment-announce .sp-640 { display: none; }

.intro-bnr { width: calc( 350 / 1100 * 100% ); }
.intro-bnr li:not(:last-of-type) { margin-bottom: 10px; }

.top-about { margin-top: 110px; }
.top-about .container-fluid { position: relative; }
.top-about__contents { display: flex; }
.top-about__image { width: calc( 960 / 1920 * 100% ); }
.top-about__image img { border-radius: 0 30px 30px 0; }
.top-about__desc {
	width: calc( ( 1920 - 960 ) / 1920 * 100% );
	padding-left: 50px;
}
.top-about__box {
	width: calc( 1130 / 1920 * 100% );
	height: 700px;
	background-color: var(--light-orange);
 	background-clip: content-box;
	position:absolute;
	right: 0;
	top: 0;
	z-index: -1;
}
.top-about__box::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -60px;
	right: 0;
	width: 500px;
	height: 519px;
	background: url(images/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
}
.greeting__image { 
	height: 365px;
	position: relative;
	display: flex;
	align-items: flex-start;
}
.tadaima img, 
.okaeri img {
	width: 224px;
}
.tadaima {
	position: absolute;
	z-index: 1;
}
.okaeri { 
	position: absolute;
	z-index: 2;
	top: 140px;
	left: 195px;
}
.top-about__sub-title {
	font-family: var(--font-maru-gothic);
	font-size: 3.4rem;
	color: var(--navy);
	line-height: 1.4;
	margin: 30px 0 45px 0;
}
.top-about__sub-title .sp-1024 { display: inline-block; }

.top-about__txt { 
	width: 500px;
	display: flex;
    flex-direction: column;
}
.goto-about { margin-right: auto; }
.top-about__txt p { margin-bottom: 45px; }

.top-features {
	background-color: var(--light-orange);
}
.top-features__item.-top-feature01,
.top-features__item.-top-feature02,
.top-features__item.-top-feature03 {
	position: relative;
	height: auto;
	padding-bottom: 37.5%;
}
.top-features__item.-top-feature01 .top-features__desc,
.top-features__item.-top-feature03 .top-features__desc {
	width: calc( 1050 / 1920 * 100% ); 
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	padding: 80px 0;
	background-color: #fff;
	border-radius: 0 25px 25px 0;
	display: flex;
	justify-content: flex-end;
}

.top-features__item.-top-feature01 .top-features__image,
.top-features__item.-top-feature03 .top-features__image {
	width: calc( 960 / 1920 * 100% );
	position: absolute;
	z-index: 1;
	right: 0;
}
.top-features__item.-top-feature02 .top-features__desc {
	width: calc( 1050 / 1920 * 100% ); 
	position: absolute;
	z-index: 2;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	padding: 80px 0;
	background-color: #fff;
	border-radius: 25px 0 0 25px;
	display: flex;
	justify-content: flex-start;
}

/*** 葉っぱの装飾 ***/
.top-features__item.-top-feature01 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -345px;
	left: 0;
	width: 398px;
	height: 511px;
	background: url(images/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 398px 511px;
}
.top-features__item.-top-feature02 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -50px;
	right: 70px;
	width: 218px;
	height: 227px;
	background: url(images/leaf_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 218px 227px;
}
.top-features__item.-top-feature03 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -70px;
	left: 3%;
	width: 205px;
	height: 329px;
	background: url(images/leaf_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 205px 329px;
}
.top-features__item.-top-feature02 .top-features__image {
	width: calc( 960 / 1920 * 100% );
	position: absolute;
	z-index: 1;
	left: 0;
}
.top-features__txt {
	width: calc( 740 / 1050 * 100% );
}
.top-features__item.-top-feature02 .top-features__txt {
	width: calc( 740 / 1050 * 100% );
	padding-left: 120px;
}
.feature-number {
	font-family: var(--font-gothic);
	font-size: 6rem;
	line-height: 1;
	color: var(--mandarin);
}
.top-features__title {
	font-family: var(--font-maru-gothic);
	font-size: 3.4rem;
	text-align: left;
	line-height: 1.4;
	color: var(--navy);
	margin-top: 50px;
}
.top-features__title .sp-1024 { display: inline-block; }

.top-appeal__contents { display: none; }

.top-features__lists {
	width: 1100px;
    display: flex;
    justify-content: space-between;
    margin: 90px auto 30px;
}
.top-features__list {
	width: calc( ( 100% - 100px ) / 6 );
	height: 165px;
	background-color: #fff;
	border-radius: 20px;
}
.feature-icon__wrapper {
	height: 105px;
	padding: 25px 20px 0 20px;
	margin-bottom: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.top-features__list figcaption {
	font-family: var(--font-maru-gothic);
	color: var(--navy);
	text-align: center;
	padding-bottom: 20px;
}
.top-features__notes { 
	text-align: center;
	margin-bottom: 25px;
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1680px) {

.top-about__box::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -60px;
	right: 0;
	width: 437px;
	height: 454px;
	background: url(images/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
}
/*** 葉っぱの装飾 ***/
.top-features__item.-top-feature01 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -345px;
	left: 0;
	width: 348px;
	height: 447px;
	background: url(images/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 348px 447px;
}
.top-features__item.-top-feature02 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -50px;
	right: 70px;
	width: 191px;
	height: 199px;
	background: url(images/leaf_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 191px 199px;
}
.top-features__item.-top-feature03 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -70px;
	left: 3%;
	width: 179px;
	height: 283px;
	background: url(images/leaf_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 179px 283px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1536px) {

.top-about__box::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -60px;
	right: 0;
	width: 400px;
	height: 415px;
	background: url(images/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
}
/*** 葉っぱの装飾 ***/
.top-features__item.-top-feature01 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -345px;
	left: 0;
	width: 318px;
	height: 409px;
	background: url(images/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 318px 409px;
}
.top-features__item.-top-feature02 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -50px;
	right: 70px;
	width: 174px;
	height: 181px;
	background: url(images/leaf_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 174px 181px;
}
.top-features__item.-top-feature03 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -70px;
	left: 3%;
	width: 164px;
	height: 258px;
	background: url(images/leaf_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 164px 258px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1440px) {

.top-about__box::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -60px;
	right: 0;
	width: 375px;
	height: 389px;
	background: url(images/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
}
/*** 葉っぱの装飾 ***/
.top-features__item.-top-feature01 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -345px;
	left: 0;
	width: 298px;
	height: 384px;
	background: url(images/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 298px 384px;
}
.top-features__item.-top-feature02 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -50px;
	right: 70px;
	width: 164px;
	height: 171px;
	background: url(images/leaf_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 164px 171px;
}
.top-features__item.-top-feature03 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -70px;
	left: 3%;
	width: 153px;
	height: 242px;
	background: url(images/leaf_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 153px 242px;
}
}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 1366px) {

.top-about__box::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -60px;
	right: 0;
	width: 356px;
	height: 369px;
	background: url(images/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
}
/*** 葉っぱの装飾 ***/
.top-features__item.-top-feature01 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -345px;
	left: 0;
	width: 282px;
	height: 364px;
	background: url(images/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 282px 364px;
}
.top-features__item.-top-feature02 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -50px;
	right: 70px;
	width: 156px;
	height: 162px;
	background: url(images/leaf_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 156px 162px;
}
.top-features__item.-top-feature03 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -70px;
	left: 3%;
	width: 145px;
	height: 229px;
	background: url(images/leaf_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 145px 229px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1280px) {

.top-about__box::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -60px;
	right: 0;
	width: 334px;
	height: 346px;
	background: url(images/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: contain;
	overflow: hidden;
}
/*** 葉っぱの装飾 ***/
.top-features__item.-top-feature01 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -315px;
	left: 0;
	width: 265px;
	height: 342px;
	background: url(images/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 265px 342px;
}
.top-features__item.-top-feature02 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -50px;
	right: 70px;
	width: 146px;
	height: 152px;
	background: url(images/leaf_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 146px 152px;
}
.top-features__item.-top-feature03 .top-features__desc::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -70px;
	left: 3%;
	width: 136px;
	height: 215px;
	background: url(images/leaf_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 136px 215px;
}

.top-features__item.-top-feature01 .top-features__desc,
.top-features__item.-top-feature03 .top-features__desc {
	width: calc( 1150 / 1920 * 100% ); 
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	padding: 60px 0;
	background-color: #fff;
	border-radius: 0 25px 25px 0;
	display: flex;
	justify-content: flex-end;
}
.top-features__item.-top-feature02 .top-features__desc {
	width: calc( 1150 / 1920 * 100% ); 
	position: absolute;
	z-index: 2;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	padding: 60px 0;
	background-color: #fff;
	border-radius: 25px 0 0 25px;
	display: flex;
	justify-content: flex-start;
}
}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.introduction .py-m { padding: 0 20px 60px; }
.intro { 
	width: 70%;
	margin-bottom: 40px;
}
.intro__item {
	display: flex;
    flex-direction: column;
    align-items: center;
}
.intro-bnr { width: 50%; }

.top-about .py-l { padding: 0 0 90px; }
.top-about__box { 
	width: 100%;
	height: 900px;
	background-color: var(--light-orange);
 	background-clip: content-box;
	position:absolute;
	left: 0;
	top: 450px;
	z-index: -1;
}
.top-about__box::before { background: none; }
.top-about__contents { 
	display: flex;
	flex-direction: column;
}
.top-about__image { width: 100%; padding-right: 50px; }
.top-about__image img { border-radius: 0 30px 30px 0; }
.top-about__desc {
	width: 100%;
	padding-left: 0;
}
.top-about__txt { width: 100%; padding: 0 40px; }
.goto-about { margin-right: 0; }

.tadaima {
	position: absolute;
	z-index: 1;
	top: -100px;
	left: 50px;
}
.okaeri { 
	position: absolute;
	z-index: 2;
	top: 40px;
	left: 245px;
}
.top-about__sub-title { 
	text-align: center;
	margin: 0 0 45px 0;
}
.top-about__sub-title .sp-1024 { display: none; }

.top-features { width: 100%; }
.top-features .py-l { padding: 90px 0; }

.top-features__contents { display: none; }
.top-appeal__contents { display: block; }

.top-features__title .sp-1024 { display: none; }

.top-appeal__item:not(:last-of-type){ margin-bottom: 120px; }
.top-appeal__txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 40px;
}
.feature-number { 
	margin-top: 40px;
	text-align: center;
}

.top-features__lists {
	width: 100%;
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 40px;
}
.top-features__list {
	width: 300px;
	height: 300px;
	margin-bottom: 20px;
}
.feature-icon__wrapper {
	height: 220px;
	padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon__wrapper img { height: 150px; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {

.top-about__box { top: 400px; }

.top-features__list {
	width: 285px;
	height: 285px;
}
.feature-icon__wrapper {
	height: 210px;
	padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon__wrapper img { height: 145px; }

.top-features__notes .sp-992 { display: inline-block; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {

.intro { width: 90%; }

.top-about__box { top: 350px; height: 840px; }
.top-about__sub-title .sp-800 { display: block; }
.top-about__txt { padding-top: 40px; }

.greeting__image { height: 260px; }
.tadaima {
	position: absolute;
	z-index: 1;
	top: -100px;
	left: 50px;
}
.okaeri { 
	position: absolute;
	z-index: 2;
	top: -10px;
	left: 265px;
}

.top-features__list {
	width: 225px;
	height: 225px;
}
.feature-icon__wrapper {
	height: 165px;
	padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon__wrapper img { height: 125px; }

}


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

.top-about__box { top: 350px; height: 820px; }

.top-features__list {
	width: 215px;
	height: 215px;
}
.feature-icon__wrapper {
	height: 150px;
	padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon__wrapper img { height: 115px; }

}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {

.intro { 
	width: 90%;
	margin-bottom: 40px;
}
.intro-logo {
	display: flex;
    flex-direction: column;
    align-items: center;
}
.intro-logo img { 
	width: 50%; 
	margin-bottom: 30px;
}
.recruitment-title { text-align: center; }
.recruitment-announce {
	font-size: 2rem;
	text-align: center;
}
.recruitment-announce .no-kara { display: none; }
.recruitment-announce .sp-640 { display: inline-block; }

.intro-bnr { width: 70%; }


.top-about__box { top: 320px; height: 660px; }

.greeting__image { height: 230px; }
img.tadaima, 
img.okaeri {
	width: 200px;
}
.tadaima {
	position: absolute;
	z-index: 1;
	top: -100px;
}
.okaeri { 
	position: absolute;
	z-index: 2;
	top: -20px;
	left: 245px;
}

.top-features__list {
	width: 160px;
	height: 160px;
}
.feature-icon__wrapper {
	height: 100px;
	padding-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon__wrapper img { height: 85px; }

.top-features__notes { padding: 0 40px; }
}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {

.top-about__box { top: 300px; height: 585px; }


.greeting__image { height: 200px; }
img.tadaima, 
img.okaeri {
	width: 180px;
}
.tadaima {
	position: absolute;
	z-index: 1;
	top: -100px;
}
.okaeri { 
	position: absolute;
	z-index: 2;
	top: -20px;
	left: 225px;
}

.top-features__list {
	width: calc( ( 100% - 20px ) / 2 );
	height: 215px;
	background-color: #fff;
	border-radius: 20px;
}
.feature-icon__wrapper {
	height: 140px;
	padding-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon__wrapper img { height: 110px; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.intro { width: 100%; }

.open-day {
	font-family: var(--font-gothic);
	font-size: 5.5rem;
	line-height: 1.1;
	color: var(--navy);
}
.open {
	font-family: var(--font-gothic);
	font-size: 10rem;
	line-height: 1.1;
	color: var(--navy);
}

.top-about__box { top: 240px; height: 490px; }

.greeting__image { height: 180px; }
img.tadaima, 
img.okaeri {
	width: 140px;
}
.tadaima {
	position: absolute;
	z-index: 1;
	top: -60px;
	left: 30px;
}
.okaeri { 
	position: absolute;
	z-index: 2;
	top: -5px;
	left: 170px;
}

.top-about__sub-title { font-size: 2.8rem; }

.top-features__list {
	width: calc( ( 100% - 15px ) / 2 );
	height: 160px;
	background-color: #fff;
	border-radius: 20px;
}
.feature-icon__wrapper {
	height: 105px;
	padding-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon__wrapper img { height: 85px; }

}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {

.recruitment-title {
	font-family: var(--font-maru-gothic);
	font-weight: normal;
	font-size: 4.8rem;
	line-height: 1.1;
	color: var(--navy);
	margin-bottom: 25px;
	text-align: center;
}
.recruitment-announce { font-size: 1.8rem; }
.intro-bnr { width: 100%;}
.intro-bnr img { margin-bottom: 10px;}
	

.top-about__sub-title { font-size: 2.6rem; }
.top-about__box { top: 230px; height: 460px; }

.top-features__title { font-size: 3.2rem; }

.top-features__list {
	width: 100%;
	height: 300px;
	background-color: #fff;
	border-radius: 20px;
}

.feature-icon__wrapper {
	height: 220px;
	padding-top: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature-icon__wrapper img { height: 170px; }
.top-features__list figcaption {
	font-size: 2rem;
}
}



/**********************************************************************************


	2. バンビーニについて / about


***********************************************************************************/
.about-lead {
	background: url(common/branch_right.svg) right top no-repeat;
	background-size: 500px 519px;
	position: relative;
}
.about-lead::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -180px;
	left: 0;
	width: 398px;
	height: 511px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 398px 511px;
	pointer-events: none;
}
.about-lead .py-l { padding: 0 0 90px; }
.about-lead__desc--wrapper {
	width: calc( 940 / 1100 * 100% );
	margin: 0 auto;
	background: url(common/bambi.svg) right bottom no-repeat;
	background-size: 105px 136px;
}
.about-lead__desc { 
	text-align: center;
	margin-bottom: 60px;
}
.about-lead__desc span {
	font-size: 2rem;
	color: var(--mandarin);
}

.about-features { background-color: var(--light-orange); }
.about-features__title {
	font-family: var(--font-maru-gothic);
	font-size: 3.4rem;
	color: var(--mandarin);
	text-align: center;
	margin-bottom: 55px;
}
.about-features__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about-features__item {
	width: calc( ( 100% - 80px ) / 3 );
	margin-bottom: 35px;
}
.about-features__item figure img { border-radius: 10px; }
.about-features figcaption h3 {
	font-family: var(--font-maru-gothic);
	font-size: 2.2rem;
	color: var(--navy);
	text-align: center;
	margin: 17px 0 10px;
}
.go-membership { display: block; }
.go-membership a {
	color: var(--navy);
	text-decoration: none;
	border-bottom: 1px solid var(--navy);
}
.go-membership a:hover {
	border-bottom: none;
}

.about-greeting { 
	background: url(common/branch_left.svg) left bottom 300px no-repeat;
	background-size: 398px 511px;
}
.about-greeting__contents { position: relative; height: 1890px; }
.about-greeting__sub-title {
	font-family: var(--font-maru-gothic);
	font-size: 3.4rem;
	line-height: 1.4;
	color: var(--navy);
	text-align: center;
	margin-bottom: 60px;
}
.about-greeting__sub-title span { color: var(--mandarin); }
.about-greeting__image {
	width: calc( 720 / 1920 * 100% );
	position: absolute;
	top: 180px;
	left: 0;
	z-index: 2;
}
.about-greeting__desc--wrapper {
	width: calc( 1320 / 1920 * 100% );
	height: auto;
	padding: 75px 0 75px 13.6363636%;
	background-color: var(--light-orange);
	position: absolute;
	right: 0;
	z-index: 1;
}
.about-greeting__desc { width: calc( 800 / 1320 * 100% ); }
.about-greeting__desc p span {
	font-size: 2rem;
	color: var(--mandarin);
}
.about-greeting__desc p:not(:nth-last-of-type(-n+2)) { 
	margin-bottom: 25px;
}
.about-greeting__desc p:last-of-type { 
	margin-top: 90px;
	text-align: right;
}

.about-profile { 
	width: calc( 800/ 1320 * 100% );
	margin-top: 65px;
}
.profile__item {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.profile__item dt {
	width: 25%;
	font-family: var(--font-maru-gothic);
	color: var(--navy);
	padding-left: .9em;
	position: relative;
}
.profile__item dt::after {
	display: block;
	content: '';
	position: absolute;
	top: .6em;
	left: 0;
 	width: 10px;
	height: 10px;
	background-color: var(--mandarin);
	border-radius: 100%;
}
.profile__item dd { width: 75%; }
.profile__item dd ul li {
    padding-left: 1em;
    text-indent: -1em;
}

.about-summary__list {
	border-top: 1px solid #e4e4e4;
}
.about-summary__item {
	display: flex;
	padding: 20px 0 20px 100px;
	border-bottom: 1px solid #e4e4e4;
}
.about-summary__item dt {
	width: 18%;
	font-family: var(--font-maru-gothic);
	color: var(--navy);
	padding-left: .9em;
	position: relative;
}
.about-summary__item dt::after {
	display: block;
	content: '';
	position: absolute;
	top: .6em;
	left: 0;
 	width: 10px;
	height: 10px;
	background-color: var(--mandarin);
	border-radius: 100%;
}
.about-summary__item dd { width: 82%; }

.about-facilities { margin-top: 70px; }
.about-facilities__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about-facilities__item {
	width: calc( ( 100% - 80px ) / 3 );
	margin-bottom: 30px;
}
.about-facilities__item figure img { margin-bottom: 10px; }

.about-access .py-l { padding: 0 0 90px; }
.about-address { 
	text-align: center;
	margin-bottom: 30px;
}
.gmap {
	position: relative;
	width: 100%;
	padding-top: 26.0416667%;
}
.gmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.about-staff .py-l { padding: 0 0 30px; }
.about-staff__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.about-staff__item {
	width: calc( ( 100% - 60px ) / 2 );
	padding: 40px;
	margin-bottom: 60px;
	background-color: var(--light-orange);
}
.about-staff__item figure {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.about-staff__item figure img {
	width: 240px;
	margin-bottom: 17px;
}
.staff-name {
	font-family: var(--font-maru-gothic);
	font-size: 2.2rem;
	color: #666;
	text-align: center;
	margin-bottom: 15px;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1680px) {

.about-lead {
	background: url(common/branch_right.svg) right top no-repeat;
	background-size: 437px 454px;
	position: relative;
}
.about-lead::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -160px;
	left: 0;
	width: 348px;
	height: 447px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 348px 447px;
	pointer-events: none;
}

.about-greeting { 
	background: url(common/branch_left.svg) left bottom 250px no-repeat;
	background-size: 348px 447px;
}
.about-greeting__contents { position: relative; height: 1790px; }
.about-greeting__desc { width: calc( 900 / 1320 * 100% ); }
.about-profile { 
	width: calc( 900/ 1320 * 100% );
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1536px) {

.about-lead {
	background: url(common/branch_right.svg) right top no-repeat;
	background-size: 400px 415px;
	position: relative;
}
.about-lead::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -150px;
	left: 0;
	width: 318px;
	height: 410px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 318px 410px;
	pointer-events: none;
}

.about-greeting { 
	background: url(common/branch_left.svg) left bottom 250px no-repeat;
	background-size: 318px 410px;
}
.about-greeting__contents { position: relative; height: 1790px; }
.about-greeting__desc { width: calc( 970 / 1320 * 100% ); }
.about-profile { 
	width: calc( 970/ 1320 * 100% );
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1440px) {

.about-lead {
	background: url(common/branch_right.svg) right top no-repeat;
	background-size: 375px 389px;
	position: relative;
}
.about-lead::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -140px;
	left: 0;
	width: 298px;
	height: 384px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 298px 384px;
	pointer-events: none;
}

.about-greeting { 
	background: url(common/branch_left.svg) left bottom 250px no-repeat;
	background-size: 298px 384px;
}
.about-greeting__contents { position: relative; height: 1790px; }
.about-greeting__desc { width: calc( 1030 / 1320 * 100% ); }
.about-profile { 
	width: calc( 1030/ 1320 * 100% );
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1366px) {

.about-lead {
	background: url(common/branch_right.svg) right top no-repeat;
	background-size: 356px 369px;
	position: relative;
}
.about-lead::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -140px;
	left: 0;
	width: 282px;
	height: 364px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 282px 364px;
	pointer-events: none;
}

.about-greeting { 
	background: url(common/branch_left.svg) left bottom 250px no-repeat;
	background-size: 282px 364px;
}
.about-greeting__contents { position: relative; height: 1790px; }
.about-greeting__desc { width: calc( 1090 / 1320 * 100% ); }
.about-profile { 
	width: calc( 1090/ 1320 * 100% );
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1280px) {

.about-lead {
	background: url(common/branch_right.svg) right top no-repeat;
	background-size: 334px 346px;
	position: relative;
}
.about-lead::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	bottom: -120px;
	left: 0;
	width: 265px;
	height: 342px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 265px 342px;
	pointer-events: none;
}

.about-greeting { 
	background: url(common/branch_left.svg) left bottom 250px no-repeat;
	background-size: 265px 342px;
}
.about-greeting__contents { position: relative; height: 1790px; }
.about-greeting__desc { width: calc( 1140 / 1320 * 100% ); }
.about-profile { 
	width: calc( 1140/ 1320 * 100% );
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.about-lead {
	background: none;
	position: relative;
}
.about-lead::after {
	content: "";
	background: none;
	left: 0;
}
.about-lead .py-l { padding: 0 20px 90px; }

.about-features__item { width: calc( ( 100% - 60px ) / 3 ); }

.about-greeting { background: none; }
.about-greeting .py-l { padding: 90px 0; }
.about-greeting__desc { width: calc( 1200 / 1320 * 100% ); }
.about-profile { width: calc( 1200/ 1320 * 100% ); }

.about-facilities__item {
	width: calc( ( 100% - 60px ) / 3 );
}

.gmap {
	position: relative;
	width: 100%;
	padding-top: 32%;
}

.about-staff .py-l { padding: 0 20px 90px; }
.about-staff__item {
	width: calc( ( 100% - 40px ) / 2 );
	padding: 40px;
	margin-bottom: 60px;
	background-color: var(--light-orange);
}
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {

.about-lead__desc { text-align: left; }
.about-lead__desc .sp-992 { display: none; }

.about-greeting__contents { position: relative; height: 2080px; }

}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {

.about-features__list {
    display: flex;
    flex-direction: column;
}
.about-features__item { 
	width: 100%;
	margin-bottom: 70px;
}
.about-features__item figure img { width: 100%; }

.about-greeting__contents { height: auto; }
.about-greeting__sub-title { font-size: 2.8rem; }
.about-greeting__image {
	width: 100%;
	position: static;
}
.about-greeting__image {
	width: 100%;
	padding: 0 5%;
	position: static;
	margin-bottom: 40px;
}
.about-greeting__image img  { 
	width: 100%; 
	border-radius: 40px;
}
.about-greeting__desc--wrapper {
	width: 100%;
	height: auto;
	padding: 75px 10% 75px 10%;
	position: static;
}
.about-greeting__desc { width: 100%; }
.about-profile { 
	width: 100%;
	margin-top: 65px;
}

.about-summary .py-l { padding: 0 20px 90px; }

.about-facilities__list {
    display: flex;
    flex-direction: column;
}
.about-facilities__item { 
	width: 100%;
	margin-bottom: 60px;
}
.about-facilities__item:last-of-type { 
	margin-bottom: 0;
}
.about-facilities__item figure img { width: 100%; }
.about-facilities__item figcaption { padding: 0 30px; }

.about-staff__list {
    display: flex;
    flex-direction: column;
}
.about-staff__item { width: 100%; }
.about-staff__item:last-of-type { margin-bottom: 0; }
.about-staff__item figure img { width: 100%; }

}


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

.about-greeting__sub-title { font-size: 2.6rem; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 744px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {

.about-lead {
	background: url(common/bambi.svg) right 10px bottom 10px no-repeat;
	background-size: 80px 109px;
}
.about-lead__desc--wrapper { background: none; }

.about-greeting__sub-title { font-size: 2.1rem; }

.about-summary__item { padding: 20px 0 20px 20px; }

.gmap { padding-top: 40%; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {

.about-greeting__sub-title { font-size: 1.9rem; }

.about-summary__item { padding: 20px 0 20px 15px; }
.about-summary__item dt { width: 22%; }
.about-summary__item dd { width: 78%; }

.gmap { padding-top: 48%; }


}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.about-lead {
	background: url(common/bambi.svg) right 10px bottom 10px no-repeat;
	background-size: 50px 68px;
}
.about-lead .py-l { padding: 30px 20px 90px; }

.about-features__title { font-size: 2.8rem; }

.about-greeting__sub-title { 
	padding: 0 20px;
	text-align: left;
}
.about-greeting__sub-title .pc { display: none; }

.about-summary__item {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.about-summary__item dt {
	width: 100%;
	margin-bottom: .5em;
}
.about-summary__item dd { width: 100%; }

.gmap { padding-top: 56%; }

}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {

.about-features__title { font-size: 2.6rem; }

}



/**********************************************************************************


	3. バンビーニの1日 / schedule


***********************************************************************************/
.daily-schedule { background-color: var(--light-orange); }
.daily-schedule .py-l { padding: 0 0 90px; }
.daily-schedule__sub-title {
	font-family: var(--font-maru-gothic);
	font-size: 3.4rem;
	color: var(--mandarin);
	text-align: center;
	margin-bottom: 45px;
}
.daily-schedule__sub-title .sp-480 { display: none; }

.opening-hour {
	width: calc( 650 / 1100 * 100% );
	margin: 0 auto;
	padding: 20px 30px;
	border: 1px solid #707070;
}
.opening-hour__title {
	font-size: 1.6rem;
	font-weight: bold;
	margin-left: -.5em;
	margin-bottom: 5px;
}
.opening-hour__list {}
.opening-hour__item { display: flex; }
.opening-hour__item dt { width: 30%; }
.opening-hour__item dd { width: 70%; }
.opening-hour-notes {
	width: calc( 650 / 1100 * 100% );
	margin: .5em auto 0;
}

.schedule-contents { 
	position: relative;
}
.schedule-contents::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -420px;
	right: 0;
	width: 500px;
	height: 519px;
	background: url(common/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 500px 519px;
}
.schedule-contents::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -100px;
	left: 0;
	width: 398px;
	height: 511px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 398px 511px;
}

.todo__list li { padding: 0; margin: 0; }
.schedule__box {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.schedule__image { 
	width: calc( 550 / 1100 * 100% );
	padding-right: 60px;
	border-right: 2px solid #c9c9c9;
	padding-bottom: 70px;
}
.schedule__image img { border-radius: 10px; }
.schedule__desc { width: calc( 550 / 1100 * 100% ); }
.todo-time {
	height: 30px;
	line-height: 30px;
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: var(--navy);
	background-color: var(--light-orange);
	padding-left: 60px;
	margin-bottom: 40px;
	position: relative;
}
.todo-time::after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: -15px;
 	width: 30px;
	height: 30px;
	background-color: var(--mandarin);
	border-radius: 100%;
}
.todo-title {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: var(--navy);
	padding-left: 60px;
	margin-bottom: 20px;	
}
.todo-box { padding-left: 60px; }
.todo-notes { margin-top: 1em; }
.todo-byebye { 
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: var(--navy);
	text-align: center;
	padding-top: 40px;
	position: relative;
}
.todo-byebye::before {
	display: block;
	content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
 	width: 30px;
	height: 30px;
	background-color: var(--mandarin);
	border-radius: 100%;
}

.schedule-utility__list {
	width: calc( 700 / 1100 * 100% );
	margin: 0 auto;
    display: flex;
    justify-content: space-between;
    margin-top: 70px;
}
.schedule-utility__item { width: calc( ( 100% - 20px ) / 2 ); }


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1680px) {

.schedule-contents::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -420px;
	right: 0;
	width: 437px;
	height: 454px;
	background: url(common/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 437px 454px;
}
.schedule-contents::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -110px;
	left: 0;
	width: 348px;
	height: 447px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 348px 447px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1536px) {

.schedule-contents::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -370px;
	right: 0;
	width: 400px;
	height: 416px;
	background: url(common/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 400px 416px;
}
.schedule-contents::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -110px;
	left: 0;
	width: 318px;
	height: 410px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 318px 410px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1440px) {

.schedule-contents::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -350px;
	right: 0;
	width: 375px;
	height: 390px;
	background: url(common/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 375px 390px;
}
.schedule-contents::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -200px;
	left: 0;
	width: 298px;
	height: 384px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 298px 384px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1366px) {

.schedule-contents::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -330px;
	right: 0;
	width: 356px;
	height: 370px;
	background: url(common/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 356px 370px;
}
.schedule-contents::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -180px;
	left: 0;
	width: 282px;
	height: 364px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 282px 364px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1280px) {

.schedule-contents::before {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -310px;
	right: 0;
	width: 334px;
	height: 346px;
	background: url(common/branch_right.svg);
	backgrouund-repeat: no-repeat;
	background-size: 334px 346px;
}
.schedule-contents::after {
	content: "";
 	position: absolute;
 	z-index: 1;
 	top: -160px;
	left: 0;
	width: 265px;
	height: 342px;
	background: url(common/branch_left.svg);
	backgrouund-repeat: no-repeat;
	background-size: 265px 342px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.daily-schedule .py-l { padding: 0 20px 90px; }
.schedule-contents::before {
	content: "";
	background: none;
}
.schedule-contents::after {
	content: "";
	background: none;
}
.schedule__image { 
	width: calc( 550 / 1100 * 100% );
	padding-right: 40px;
	border-right: 2px solid #c9c9c9;
	padding-bottom: 90px;
}
.todo-time,
.todo-title,
.todo-box { 
	padding-left: 40px; 
}

.schedule-utility__item { width: calc( ( 100% - 40px ) / 2 ); }

}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {

.opening-hour { width: 70%; }
.opening-hour-notes {
	width: 70%;
	margin: .5em auto 0;
}
.todo-time {
	margin-bottom: 20px;
}
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {

.opening-hour { width: 90%; }
.opening-hour-notes {
	width: 90%;
	margin: .5em auto 0;
}

.schedule__box {
	width: 100%;
    display: flex;
    flex-direction: column-reverse;
    padding-left: 0;
   	border-left: 2px solid #c9c9c9;
}
.schedule__image { 
	width: 100%;
	padding-right: 0;
	padding-left: 40px;
	border-right: none;
	padding-bottom: 90px;
}
.schedule__desc { 
	width: 100%;
	margin-bottom: 40px;
}
.todo-byebye { 
	text-align: left;
	position: relative;
}
.todo-byebye::before {
    top: 0;
    left: -12px;
    transform: translateX(0);
}
.todo-notes.tac { text-align: left; }

.schedule-utility__list {
	width: 100%;
    display: flex;
    justify-content: center;
}
}


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


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 744px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {

.opening-hour { width: 100%; }
.opening-hour-notes {
	width: 100%;
	margin: .5em auto 0;
}
.opening-hour__item { 
	display: flex;
	flex-direction: column;
	padding: .5em 0;
	border-bottom: 1px dotted #707070;
}
.opening-hour__item dt { 
	width: 100%;
	padding-left: .5em;
	background-color: #ffd2b7;
}
.opening-hour__item dd { 
	width: 100%;
	padding-left: .5em;
}

.schedule-utility__list {
	width: 100%;
    display: flex;
    flex-direction: column;
}
.schedule-utility__item { width: 100%; }
.schedule-utility__item:first-of-type { margin-bottom: 30px; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {


}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.daily-schedule .py-l { padding: 30px 20px 90px; }

.opening-hour { 
	width: 100%;
	padding: 20px 20px;
}
.daily-schedule__sub-title .sp-480 { display: inline-block; }


}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {


}


/**********************************************************************************


	4. サービス・料金 / service・fee


***********************************************************************************/
/*****----- サービスについて -----*****/
.about-service .py-l { padding: 0 0 90px; }
.service__item { margin-bottom: 60px; }
.service__item.-service-list { margin-bottom: 0; }

table { border: 1px solid  #707070; }
th { 
	padding: 10px;
	border-bottom: 1px solid #707070;
}
td {
	border: solid 1px #707070;
	padding: 10px;
}

.care-time { width: 100%; }
.care-time th {
	width: calc( 300/ 1100 * 100% );
	background-color: var(--mandarin);
	color: #fff;
	text-align: center;
	padding: 10px;
}
.care-time__period { 
	width: calc( 340/ 1100 * 100% );
	background-color: var(--light-orange);
	text-align: center;
}
.care-time__hour { 
	width: calc( 460/ 1100 * 100% );
	background-color: #fff;
	text-align: center;
}
.care-time__period,
.care-time__hour {
	border: solid 1px #707070;
	border-bottom: solid 1px #b3b3b3;
	padding: 10px;
}
.care-time tr:last-of-type .care-time__period,
.care-time tr:last-of-type .care-time__hour { 
	border-bottom: none; 
}
.care-time.-extension { margin-top: 20px; }
.-extension .care-time__hour { 
	width: calc( 800/ 1100 * 100% );
}

.holiday__list li { 
	position: relative;
	padding-left: .9em;
}
.holiday__list li::after {
	display: block;
	content: '';
	position: absolute;
	top: .6em;
	left: 0;
 	width: 10px;
	height: 10px;
	background-color: #666;
	border-radius: 100%;
}

.service__list {
    display: flex;
    justify-content: space-between;
}
.service-list__item { 
	width: calc( ( 100% - 40px ) / 2 );
}
.service-list__title {
	font-size: 1.6rem;
	font-weight: bold;
	padding: 10px;
	text-align: center;
	color: #fff;
	border: 1px solid #707070;
	border-bottom: none;  
}
.service-list__title.-basic { background-color: var(--mandarin); }
.service-list__title.-member { background-color: var(--navy); }
.service-list__item ul { border: 1px solid #707070; }
.service-list__item ul li {
	padding: 10px;
	text-align: center;
	border-bottom: 1px solid #b3b3b3;
}
.service-list__item ul li:nth-of-type(2n) { background-color: #f0f0f0; }
.service-list__item ul li:last-of-type { border-bottom: none; }

.service-comparison { margin-top: 70px; }
.service-comparison__title {
	font-family: var(--font-maru-gothic);
	font-size: 2.4rem;
	color: #666;
	text-align: center;
	margin-bottom: 40px;
}
.service-comparison__list { 
	width: 1100px;
	display: flex;
	justify-content: center;
}
.service-comparison__item { width: calc( 1100 / 2 * 100% ); }
.service-comparison__item table { width: 100%; }
.target-title.-public {
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: #989898;
}
.target-title.-bambini {
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
	background-color: var(--mandarin);
}
.compare-title { width: calc( 200 / 550 * 100% ); }
.compare-day { width: calc( 140 / 550 * 100% ); }
.compare-time { width: calc( 260 / 550 * 100% ); }

.service-comparison__item.-public .compare-title { background-color: var(--gray); }
.service-comparison__item.-bambini .compare-title { background-color: var(--light-orange); }
.compare-notes {
	margin-top: .5em;
	padding-left: 1em;
    text-indent: -1em;
}


/*****----- 料金について -----*****/
.fee-list { width: 100%; }
.fee-list th,
.fee-list td {
	padding: 10px;
	text-align: center;
}
.fee-list__title { 
	width: calc( 300 / 1100 * 100% );
	background-color: var(--mandarin);
	font-weight: bold;
	color: #fff;
}
.fee-list__month { 
	width: calc( 340 / 1100 * 100% );
	background-color: var(--light-orange);
}
.fee-list__target { 
	width: calc( 150 / 1100 * 100% );
	background-color: #fff;
}
.fee-list__fee { 
	width: calc( 310 / 1100 * 100% );
	background-color: #fff;
}
.fee-list__hour { background-color: var(--light-orange); }

.calculation-example { margin-top: 20px; }
.calculation-example__item {
	display: flex;
	justify-content: space-between;
	padding: 20px;
	border: 3px dotted #707070;
	margin-bottom: .5em;
}
.calculation-example__title {
	width: 10%;
	font-size: 1.8rem;
	color: var(--navy);
}
.calculation-example__example { width: 87%; }
.calculation-example__example div:first-of-type { margin-bottom: 15px; }
.calculation-example__example dt {
	width: 100%;
	background-color: var(--gray);
	font-weight: bold;
	padding: .25em .9em;
	margin-bottom: .25em;
}
.calculation-example__example dd { margin-left: 2em; }
.calculation-example__example dd span { font-size: 1.8rem; }
.calculation-example__note {
    padding-left: 1em;
    text-indent: -1em;
}

.fee-contents__lead { margin-bottom: 10px; }
.fee-contents:first-of-type { margin-bottom: 70px; }
.member-service__list {	margin-bottom: 20px; }
.member-service__list li {
	position: relative;
	color: var(--navy);
	font-weight: bold;
	padding-left: .9em;
}
.member-service__list li::after {
	display: block;
	content: '';
	position: absolute;
	top: .6em;
	left: 0;
 	width: 10px;
	height: 10px;
	background-color: var(--navy);
	border-radius: 100%;
}
.member-fee__title {
	width: calc( 440 / 1100 * 100% );
	background-color: var(--navy);
	font-weight: bold;
	color: #fff;
}
.member-fee__class {
	width: calc( 200 / 1100 * 100% );
	background-color: #e9eaef;
	font-weight: bold;
	color: #666;
}
.member-fee__fee {
	width: calc( 460 / 1100 * 100% );
	background-color: #fff;
}
.fee-notes {
    padding-left: 1em;
    text-indent: -1em;
    margin-top: .5em;
}

.service-utility__list {
    display: flex;
    justify-content: space-between;
    margin-top: 70px;
}
.service-ulility__item { width: calc( ( 100% - 40px ) / 3 ); }


/*****----- エデュケーションプログラム -----*****/
.education-program__lead { margin-bottom: 40px; }
.education-program__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 30px;
}
.education-program__item:last-of-type { margin-bottom: 0; }
.education-program dt { width: calc( 340 / 1100 * 100% ); }
.education-program dt img { border-radius: 10px; }
.education-program dd { width: calc( ( 1100 - 340 - 40 ) / 1100 * 100% ); }
.education-program__title {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: var(--navy);
	margin-bottom: 15px;
}

.education-program__txt {}

/*****----- 講師プロフィール -----*****/
.instructor-profile {
	display: flex;
	justify-content: space-between;
	padding: 15px 20px;
	background-color: var(--light-orange);
	border-radius: 10px;
	margin-top: 15px;
}
.instructor-photo { width: calc( 140 / 680 * 100% ); }
.instructor-txt { 	width: calc( 500 / 680 * 100% ); }
.instructor-name {
	font-size: 1.8rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.instructor-comment {}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.about-service .py-l { padding: 0 20px 90px; }

.service-comparison__list { 
	width: 100%;
}

.calculation-example__title {
	width: 15%;
	font-size: 1.8rem;
	color: var(--navy);
}
.calculation-example__example { width: 83%; }
.education-program__schedule { 
	margin-bottom: 20px;
}
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {

.care-time th,
.care-time td {
    width: 100%;
	border-bottom: none;
    display: block;
}
.care-time__period,
.care-time__hour {
	border-left: none;
	border-right: none;
}
.-extension .care-time__hour { width: 100%; }

.service__list {
    display: flex;
    flex-direction: column;
}
.service-list__item { width: 100%; }
.service-list__item.-basic { margin-bottom: 60px; }

.service-comparison__list { 
	width: 100%;
	display: flex;
	flex-direction: column;
}
.service-comparison__item { width: 100%; }
.service-comparison__itemth,
.service-comparison__item td {
    width: 100%;
    border-left: none;
    border-right: none;
	border-bottom: none;
    display: block;
}
.target-title { border-top: none; }
.service-comparison__item.-public { margin-bottom: 60px; }

.about-fee .py-l { padding: 0 20px 90px; }
.fee-list { border-top: none; }
.fee-list th,
.fee-list td {
    width: 100%;
	border-bottom: none;
    display: block;
}
.fee-list__title,
.fee-list__month,
.fee-list__hour,
.fee-list__target,
.fee-list__fee { 
	border-left: none;
	border-right: none;
}
.fee-list__target { 
	background: #f0f0f0;
}
.fee-list__hour { 
	background: var(--light-orange);
}

.member-fee__title,
.member-fee__class,
.member-fee__fee {
	border-left: none;
	border-right: none;
}

.service-utility__list {
    display: flex;
    flex-direction: column;
}
.button.go-detail.-service { margin-bottom: 20px; }

.education-program .py-l { padding: 0 20px 90px; }
.education-program__item {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
}
.education-program dt { width: 100%; }
.education-program dt img { 
	width: 100%;
	margin-bottom: 20px;
}
.education-program dd { width: 100%; }

}


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

}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 744px) {

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {

.calculation-example__item {
	display: flex;
	flex-direction: column;
	padding: 20px;
	border: 3px dotted #707070;
	margin-bottom: .5em;
}
.calculation-example__title {
	width: 100%;
	font-size: 1.8rem;
	color: var(--navy);
	margin-bottom: 15px;
}
.calculation-example__example { width: 100%; }

.instructor-profile {
	display: flex;
	flex-direction: column;;
	padding: 15px 20px;
	background-color: var(--light-orange);
	border-radius: 10px;
	margin-top: 15px;
}
.instructor-photo { width: 50%; margin: 0 auto 20px; }
.instructor-txt { 	width: 100%; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {

}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.about-service .py-l { padding: 30px 20px 90px; }

.calculation-example__example dd { margin-left: .9em; }

}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {


}


/**********************************************************************************


	5. ご入会案内・利用規約 / admission・terms


***********************************************************************************/

/*** ご入会について
--------------------------------------------------------------------------------***/
.admission-contents .py-l { padding: 0 0 90px; }
.admission__item.-target-person { margin-bottom: 60px; }
.admission__title {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: #666;
	padding: 10px 20px 10px 20px;
	margin-bottom: 20px;
	background-color: #f0f0f0;
}
.target-school__list li { 
	position: relative;
	padding-left: 15px;
}
.target-school__list li::after {
	display: block;
	content: '';
	position: absolute;
	top: .7em;
	left: 0;
 	width: 10px;
	height: 10px;
	background-color: #666;
	border-radius: 100%;
}
.admission-notes { margin-top: .5em; }
.admission-notes p {
    padding-left: 1em;
    text-indent: -1em;
}

.admission-utility__list {
    display: flex;
    justify-content: space-between;
    margin-top: 70px;
}
.admission-utility__item { width: calc( ( 100% - 40px ) / 3 ); }

.admission-process { background-color: var(--light-orange); }
.admission-process__item {
	padding: 30px;
	background-color: #fff;
	border-radius: 10px;
	position: relative;
	margin-bottom: 55px;
}
.admission-process__item::after {
	content: "";
	position: absolute;
	bottom: -55px;
    left: 50%;
    transform: translateX(-50%);
	width: 30px;
	height: 55px;
	background: url(common/arrow_down.png) no-repeat;
	background-size: 30px 55px;
}
.admission-process__title {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: var(--navy);
	text-align: center;
	margin-bottom: 20px;
}
.admission-process__desc { text-align: center; }
.admission-process__item:last-of-type {
	padding: 30px;
	background-color: var(--mandarin);
	border-radius: 10px;
	margin-bottom: 0;
}
.admission-process__item:last-of-type::after {
	background: none;
}
.admission-process__item:last-of-type h3 { 
	color: #fff;
	margin-bottom: 0;
}



/*** 利用規約
--------------------------------------------------------------------------------***/ 
.terms-contents { }
.terms-contents .py-l { padding: 0 0 90px; }

.terms__item:not(:last-of-type) { margin-bottom: 40px; }
.terms__title {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: #666;
	padding: 5px 20px 5px 20px;
	margin-bottom: 15px;
	background-color: #f0f0f0;
}
.terms__desc p {
    padding-left: 1em;
    text-indent: -1em;
}
.terms__txt { margin: .5em 0; }
.establishment { 
	margin-top: 65px;
	font-weight: bold;
}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.admission-contents .py-l { padding: 0 20px 90px; }

.terms-contents .py-l { padding: 0 20px 90px; }

}


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

.admission-utility__list {
    display: flex;
    flex-direction: column;
}
.admission-utility__item { width: 100%; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.terms-contents .py-l { padding: 30px 0 90px; }

}

/**********************************************************************************


	6. よくある質問 / faq


***********************************************************************************/
.faq-contents {  }
.faq-contents .py-l { padding: 0 0 90px; }
.faq-lead {
	text-align: center;
	margin-bottom: 60px;
}
.faq__list:not(:last-of-type) { margin-bottom: 70px; }
.faq-list__title {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: var(--navy);
	padding-left: 1em;
	padding-bottom: 10px;
	border-bottom: 2px solid #e7e7e7;
	margin-bottom: 20px;
	position: relative;
}
.faq-list__title::after {
	display: block;
	content: '';
	position: absolute;
	top: .3em;
	left: 0;
 	width: 14px;
	height: 14px;
	background-color: var(--mandarin);
	border-radius: 100%;
}
.faq-panel__item { width: 1100px; }
.faq-accordion {
	width: 1100px;
	height: auto;
	font-family: "Helvetica Neue", "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
	color: #666;
	text-align: left;
	cursor: pointer;
	padding: 14px 50px 11px 60px;
	border: none;
	outline: none;
	transition: 0.4s;
	border-radius: 5px;
	position: relative;
	background-color: #ffe7d9;
}
.active, .faq-accordion:hover { background-color: #ffd2b7; }
.faq-accordion::before {
	content: "Q.";
	position: absolute;
	top: 9px;
	left: 20px;
	font-family: var(--font-gothic);
	font-size: 2.4rem;
	color: var(--mandarin);
}
.faq-accordion::after {
	font-family: 'Material Icons';
	content: 'add'; /* + */
	font-size: 1.6rem;
	position: absolute;
	top: 14px;
	right: 20px;
	padding: .15em .2em .07em .2em;
	border-radius: 3px;
	background-color: #fff;
}
.active::after {
	font-family: 'Material Icons';
	content: "remove"; /* - */
}
.faq-panel {
	width: 1100px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background-color: var(--yellow);
	border-radius: 0 0 5px 5px;
}
.faq-panel_inner { 
	padding: 14px 50px 21px 60px;
	position: relative;
}
.faq-panel_inner::before {
	content: "A.";
	position: absolute;
	top: 9px;
	left: 20px;
	font-family: var(--font-gothic);
	font-size: 2.4rem;
	color: var(--navy);
}
.faq-panel_inner a { color: var(--dark-gray); }
.faq-panel__item:not(:last-of-type) { margin-bottom: 10px; }


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.faq-contents .py-l { padding: 0 20px 90px; }

.faq__list,
.faq-panel__item,
.faq-accordion,
.faq-panel {
	width: 100%;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {

.faq-lead {
	text-align: left;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {


.faq-accordion {
	font-size: 1.7rem;
	padding: 1.7rem 5rem 1.6rem 6rem;
}
.faq-panel_inner { 
	padding: 2.5rem 3rem 3rem 6rem;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.faq-contents .py-l { padding: 30px 20px 90px; }

.faq-accordion { font-size: 1.6rem; }
.faq-panel_inner { 
	padding: 2.5rem 2.5rem 3rem 8rem;
}
}



/**********************************************************************************


	6. お問い合わせ/ contact


***********************************************************************************/
.contact-contents .py-l { padding: 0 0 90px; }

/***----- 電話によるお問い合わせ -----***/
.contact__item.-tel { margin-bottom: 90px; }
.contact-lead { text-align: center; }
.contact-lead p:first-of-type { margin-bottom: 10px; }
.contact-lead.-tel {
	font-family: var(--font-gothic);
	font-size: 3rem;
	font-weight: bold;
	color: var(--navy);
}
.contact-lead.-tel span {
	font-family: var(--font-gothic);
	font-size: 2rem;
	color: var(--navy);
}
.contact-lead p.-reception-time { 
	font-family: var(--font-gothic);
	font-size: 1.3rem;
	color: #333;
	margin-top: -10px; 
}
.contact-lead p.-reception-time span { font-size: 1.4rem; }
.contact-lead .sp-576 { display: none; }

/***----- メールによるお問い合わせ -----***/
.contact__item.-mail { margin-bottom: 45px; }
.contact-lead.-mail p:first-of-type { margin-bottom: 0; }
.contact-lead.-mail p:last-of-type { color: var(--attention); }

.form-notes { border: 1px solid #333; }
.form-notes__list { 
	padding: 20px;
	color: #333;
}
.form-notes__title {
	font-size: 1.6rem;
	margin-left: -.5em;
	margin-bottom: 10px;
}
.form-notes__list li { 
	position: relative;
	padding-left: 15px;
}
.form-notes__list li::after {
	display: block;
	content: '';
	position: absolute;
	top: .7em;
	left: 0;
 	width: 10px;
	height: 10px;
	background-color: #333;
	border-radius: 100%;
}

/***----- プライバシーポリシー -----***/
.privacy-panel__item { width: 1100px; }
.privacy-accordion {
	width: 1100px;
	height: auto;
	font-family: "Helvetica Neue", "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 1.6rem;
	color: #fff;
	text-align: left;
	cursor: pointer;
	padding: 14px 50px 11px 20px;
	border: none;
	outline: none;
	transition: 0.4s;
	position: relative;
	background-color: var(--navy);
}
.active, .privacy-accordion:hover { background-color: var(--navy); }
.privacy-accordion::after {
	font-family: 'Material Icons';
	content: 'add'; /* + */
	font-size: 1.6rem;
	position: absolute;
	top: 14px;
	right: 20px;
	padding: .15em .2em .07em .2em;
	border-radius: 3px;
	background-color: #fff;
	color: #666;
}
.active::after {
	font-family: 'Material Icons';
	content: "remove"; /* - */
}
.privacy-panel {
	width: 1100px;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
	background-color: var(--yellow);
	border-radius: 0 0 5px 5px;
}
.privacy-panel_inner { 
	padding: 30px 20px 21px 20px;
	position: relative;
}
.privacy-panel_inner a { color: var(--dark-gray); }
.privacy__lead { margin-bottom: 25px; }
.privacy__item:not(:last-of-type) { margin-bottom: 25px; }
.privacy__title {
	font-family: var(--font-maru-gothic);
	font-size: 1.8rem;
	color: #666;
	padding: 5px 20px 5px 20px;
	margin-bottom: 15px;
	background-color: #f0f0f0;
}
.privacy__desc { }
.privacy__txt { margin: .5em 0; }
.privacy-establishment { 
	margin-top: 30px;
	font-weight: bold;
}

/***----- メールフォーム -----***/
.contact-form__contents { background-color: var(--gray); }

input[type="submit"],
input[type="text"],
select,
textarea,
button {
	-moz-appearance: none;
	-webkit-appearance: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	outline: none;
	border: none;
}
input[type="text"],
textarea {
	background: #f9f9f9;
	display: block;
	padding: 12px 15px;
	width: 70%;
	transition: 0.8s;
	border-radius: 0;
}
input[type="text"]:focus,
textarea:focus {
	background-color: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .1);
}
textarea[name="お問い合わせ内容"] ,
textarea[name="その他連絡事項・ご質問等"] {
	display: inline-block;
	width: 100%;
	height: 200px;
}
.mailform__title {
	font-size: 3.6rem;
	letter-spacing: -.05em;
	color: var(--dark-gray);
	text-align: center;
	margin-bottom: 7rem;
}
.contact-form__list {
	width: 100%;
	background-color: #fff;
	border-top: 1px solid var(--pale-gray);
	margin-bottom: 5rem;
}
.contact-form__item { display: flex; }
.contact-form__title,
.contact-form__input {
	padding: 1.25em;
}
.contact-form__title{
	width: 30%;
	padding-left: 2em;
	position: relative;
	background: var(--light-orange);
	border-right: 3px solid var(--mandarin);
    border-bottom: 1px solid #bbb;
}
.contact-form__item:last-of-type .contact-form__title { border-bottom: none; }
.contact-form__item:last-of-type .contact-form__input { border-bottom: none; }

.contact-form__input { 
	width: 70%;
	border-bottom: 1px solid #bbb;
}
.postal-code input[type="text"],
.prefecture input[type="text"] { 
	width: 20%; 
}
.required {
	color: var(--mandarin);
	font-size: 1.3rem;
	padding: .2em .8em;
	background-color: #fff;
	border-radius: 1px;
	margin-left: .5em;
}
.name-box { display: flex; }
.honorific-title { 
	margin: .55em 0 0 .75em;
}
.input-tel__item:last-of-type { margin-top: .75em; }

/***----- ラジオボタン -----***/
.radio-input__item:not(:last-of-type) { margin-bottom: 1rem; }
.radio-input {
    display: block;
    position: relative;
    padding-left: 3rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.radio-input input {/* デフォルトのラジオボタンデザインを無効化 */
    position: absolute;
    opacity: 0;
    cursor: pointer;
}
.checkmark {/* カスタムラジオボタンの作成 */
    position: absolute;
    top: .25rem;
    left: 0;
    height: 2rem;
    width: 2rem;
    background-color: #eee;
    border-radius: 50%;
}
.radio-input:hover input ~ .checkmark {/* マウスオーバーのリアクション */
    background-color: #ccc;
}
.radio-input input:checked ~ .checkmark {/* チェックした時のカラーリング */
    background-color: #666;
}
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}
.radio-input input:checked ~ .checkmark:after {
    display: block;
}
.radio-input .checkmark:after {
    top: .5rem;
    left: .55rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #fff;
}

/***----- form用ボタン -----***/
.button {
	width: 380px;
	height: 60px;
	line-height: 60px;
	display: block;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-family: var(--font-gothic);
	font-size: 1.7rem;
	border-radius: 5px;
	cursor: pointer;
	margin: 0 auto;
}
.button:hover { box-shadow: 0 0 0 5px var(--pale-pink); }
.button.submit-button {
	width: 380px;
	height: 60px;
	line-height: 60px;
	display: block;
	text-align: center;
	color: #fff;
	text-decoration: none;
	font-family: var(--font-maru-gothic);
	font-size: 1.6rem;
	background-color: var(--mandarin);
	border-radius: 5px;
	cursor: pointer;
	margin: 0 auto;
}
.button.submit-button:hover { box-shadow: 0 0 0 5px var(--pale-green); }
.submit-button span { margin-right: 2em; }

/***----- thanksページ -----***/
.thanks__title {
	font-family: var(--font-maru-gothic);
	font-size: 2.4rem;
	color: var(--navy);
	letter-spacing: 0;
	margin-bottom: 3rem;
}
.thanks-txt p { line-height: 2; }
.thanks-txt p:first-of-type { margin-top: -.75em; }
.thanks-txt p:last-of-type { margin-bottom: -.75em; }

.thanks-info { margin-top: 3rem; }
.thanks-info p { line-height: 2; }
.thanks-info i { margin-right: .25em; }
.thanks-info__club-name {
	font-size: 1.6rem;
	margin-left: -.5em;
}
.thanks-info__notice {
	padding-left: 1em;
	text-indent: -1em;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.contact-contents .py-l { padding: 0 20px 90px; }

.privacy__list,
.privacy-panel__item,
.privacy-accordion,
.privacy-panel {
	width: 100%;
}

}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {


}


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

.contact-form__item {
	display: flex;
	flex-direction: column;
}
.contact-form__title,
.contact-form__input {
  	width: 100%;
}
.contact-form__title {
	border-right: none;
    border-bottom: 3px solid var(--key-color);
}
.contact-form__input { 
	border-bottom: none;
}
.contact-form__item:last-of-type .contact-form__title { 
	border-bottom: 3px solid var(--key-color);
}
input[type="text"],
textarea {
	width: 100%;
}
.submit-button { width: 50%; }

}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 744px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {

.contact-lead.-mail { text-align: left; }


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {

.contact-lead .sp-576 { display: inline-block; }

.privacy-accordion {
	font-size: 1.7rem;
	padding: 1.7rem 4.5rem 1.6rem 1.5rem;
}
.privacy-panel_inner { 
	padding: 2.5rem 1.5rem 3rem 1.5rem;
}
}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.contact-contents .py-l { padding: 30px 20px 90px; }

}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {

.privacy-accordion {
	font-size: 1.6rem;
	padding: 1.7rem 5rem 1.6rem 1.5rem;
}

}







/**********************************************************************************


	footer-contact


***********************************************************************************/
.footer-contact {
	width: 100%;
	min-width: 1200px;
	background-color: var(--gray);
	text-align: center;
}
.footer-contact.-contact { display: none; }
.footer-contact__lead { margin-bottom: 35px; }
.footer-contact__list {
	width: 830px;
	margin: 0 auto;
	display: flex;
    justify-content: space-between;
}
.bnr-membership {
	width: 830px;
	height: 200px;
	margin: 40px auto 0;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.footer-contact {
	width: 100%;
	min-width: 100%;
}
.bnr-membership {
	width: 100%;
	margin: 40px auto 0;
}
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {


}


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

.footer-contact__list {
	width: 100%;
	margin: 0 auto;
	display: flex;
    flex-direction: column;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 744px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {


}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {


}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {


}



/**********************************************************************************


	ぱんくずリスト

	
***********************************************************************************/
.breadcrumb {
	min-width: 1200px;
	height: 60px;
	line-height: 60px;
	padding: 0 3rem;
	background-color: #fff;
	border-top: 1px solid #c9c9c9;
}
.breadcrumb a {
	text-decoration: none;
	color: var(--key-color);
	border-bottom: none;
}
.breadcrumb .breadcrumbs {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
}
.breadcrumb li {
	display: inline-block;
	position: relative;
	padding-right: calc(16px + 5px);
	margin-right: 5px;
	font-size: 1.2rem;
}
.breadcrumb li::before {
	content: '>';
	width: 1em;
	height: 1em;
	line-height: 1;
	text-align: center;
	font-size: 1em;
	color: inherit;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
.breadcrumb li:last-child {
	margin-right: 0;
	padding-right: 0;
}
.breadcrumb li:last-child::before {
	content: normal;
}
.breadcrumbs li i { margin-right: .15em; }


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.breadcrumb {
	width: 100%;
	min-width: 100%;
}
}



/**********************************************************************************


	footer


***********************************************************************************/
.footer { 
	background-color: var(--navy);
	position: relative;
}
.footer-contents {
	width: 1100px;
	margin: 0 auto 30px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.footer-logo__area { display: flex; }
.footer-logo {
	width: 153px;
	margin-right: 35px;
}
.footer-logo__desc { 
	color: #fff;
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.footer-logo__area .site-name { 
	font-size: 1.8rem;
	margin-bottom: 5px;
}
.footer-logo__area .site-name span { 
	font-size: 1.5rem;
	margin-right: .5em;
}
.bambini-tel { 
	color: #fb6103; 
}
.bambini-tel a { 
	color: inherit;
}

.footer-nav__area { display: flex; }
.footer-nav:not(:last-of-type) { margin-right: 30px; }
.footer-nav a { 
	color: #fff;
	font-size: 1.5rem;
}
.footer-nav li { position: relative; }
.footer-nav li::after {
	display: block;
	content: '';
	position: absolute;
	top: .7em;
	left: -.75em;
 	width: 8px;
	height: 8px;
	background-color: var(--mandarin);
	border-radius: 100%;
}
.footer-submenu { margin-left: 1em; }
.footer-submenu li { position: relative; }
.footer-submenu li::after {
	display: block;
	content: '';
	position: absolute;
	top: .9em;
	left: -.75em;
	width: 8px;
	height: 1px;
	background-color: #fff;
}
.copy { 
	width: 100%;
	min-width: 1200px;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 40px;
	line-height: 40px;
	background-color: #fff;
	font-size: 1.2rem;
	text-align: center;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.footer-contents {
	width: 100%;
	min-width: 100%;
	margin: 0 auto 110px;
    display: flex;
    justify-content: space-between;
    justify-content: center
}
.footer-nav__area { display: none; }

.copy { 
	width: 100%;
	min-width: 100%;
}
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {


}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {


}


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

.footer-logo__area { 
	display: flex;
	flex-direction: column;
}
.footer-logo {
	margin-right: 0;
	margin: 0 auto 50px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 744px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 640px) {


}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {


}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {


}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {


}



/**********************************************************************************


	フッター固定リンク
	
	
***********************************************************************************/
.fixed__bottom-menu {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	min-width: 100%;
	background: #fff;
	display: none;
	z-index: 999;
}
.bottom-menu__list {
	display: flex;
	height: 80px;
}
.bottom-menu__item { 
	width: calc( 100% / 2 );
	display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid #fff;
}
.bottom-menu__item span { margin-left: .5em; }
.bottom-menu__item.-contact { border-right: 1px solid #fff; }
.bottom-menu__item.-contact img { width: 57px; }
.bottom-menu__item.-access img { width: 37px; }
.bottom-menu__list a { 
	font-family: var(--font-maru-gothic);
	font-size: 2.8rem;
	color: #fff;
	text-decoration: none;
	background-color: var(--navy);
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

.fixed__bottom-menu { display: block; }

}


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

.bottom-menu__item.-contact img { width: 47px; }
.bottom-menu__item.-access img { width: 27px; }
.bottom-menu__list a { 
	font-size: 2.6rem;
}
}



/** media Queries
===================================================================================*/
@media only screen and (max-width: 576px) {

.bottom-menu__item.-contact img { width: 37px; }
.bottom-menu__item.-access img { width: 22px; }
.bottom-menu__list a { 
	font-size: 2.4rem;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

.bottom-menu__item.-contact img { width: 27px; }
.bottom-menu__item.-access img { width: 20px; }
.bottom-menu__list a { 
	font-size: 2.2rem;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {

.bottom-menu__item.-contact img { width: 22px; }
.bottom-menu__item.-access img { width: 15px; }
.bottom-menu__list a { 
	font-size: 2rem;
}
}



/**********************************************************************************


	pagetopに戻る
	
	
***********************************************************************************/
#page-top {
	display: none;
	position: fixed;
	bottom: 15px;
	right: 15px;
	font-size: 86%;
	z-index: 99999;
}
#page-top a {
	width: 100px;
	height: 100px;
    display: block;
    white-space: nowrap;
  	text-indent: 100%;	
    overflow: hidden;
    background: url(common/btn_pagetop.svg);
    background-size: 100px 100px;
}

/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

#page-top {
	bottom: 100px;
	right: 10px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

#page-top a {
	width: 70px;
	height: 70px;
    background-size: 70px 70px;
}
}



/**********************************************************************************


	buttons


***********************************************************************************/
.button {
	display: inline-block;
	width: 200px;
	height: 54px;
	text-align: center;
	text-decoration: none;
	line-height: 54px;
	outline: none;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button span { margin-right: 2em; }

/***----- バンビーニについて -----***/
.button.go-about {
	width: 340px;
	height: 70px;
	line-height: 70px;
	font-family: var(--font-maru-gothic);
	font-size: 1.6rem;
}
a.button.go-about {
	display: block;
	text-align: center;
	color: var(--mandarin);
	text-decoration: none;
	background-color: #fff;
	border: 2px solid var(--mandarin);
	border-radius: 10px;
}
a.button.go-about:hover { 
	background-color: var(--mandarin);
	color: #fff;
}

/***----- go-detail -----***/
.button.go-detail {
	width: 440px;
	height: 70px;
	line-height: 70px;
	font-family: var(--font-maru-gothic);
	font-size: 1.6rem;
}
a.button.go-detail {
	display: block;
	text-align: center;
	color: var(--mandarin);
	text-decoration: none;
	background-color: #fff;
	border: 2px solid var(--mandarin);
	border-radius: 10px;
}
a.button.go-detail:hover { 
	background-color: var(--mandarin);
	color: #fff;
}
.goto-features {
    display: flex;
    justify-content: center;
}

/***----- バンビーニについてページのgo-detail -----***/
.button.go-detail.-schedule {
	width: 340px;
	height: 70px;
	line-height: 70px;
	font-family: var(--font-maru-gothic);
	font-size: 1.6rem;
}
a.button.go-detail.-schedule {
	display: block;
	text-align: center;
	color: var(--mandarin);
	text-decoration: none;
	background-color: #fff;
	border: 2px solid var(--mandarin);
	border-radius: 10px;
}
a.button.go-detail.-schedule:hover { 
	background-color: var(--mandarin);
	color: #fff;
}

/***----- ご入会案内ページのgo-detail -----***/
.button.go-detail.-admission {
	width: 340px;
	height: 70px;
	line-height: 70px;
	font-family: var(--font-maru-gothic);
	font-size: 1.6rem;
}
a.button.go-detail.-admission {
	display: block;
	text-align: center;
	color: var(--mandarin);
	text-decoration: none;
	background-color: #fff;
	border: 2px solid var(--mandarin);
	border-radius: 10px;
}
a.button.go-detail.-admission:hover { 
	background-color: var(--mandarin);
	color: #fff;
}

/***----- サービス・料金ページのgo-detail -----***/
.button.go-detail.-service {
	width: 340px;
	height: 70px;
	line-height: 70px;
	font-family: var(--font-maru-gothic);
	font-size: 1.6rem;
}
a.button.go-detail.-service {
	display: block;
	text-align: center;
	color: var(--mandarin);
	text-decoration: none;
	background-color: #fff;
	border: 2px solid var(--mandarin);
	border-radius: 10px;
}
a.button.go-detail.-service:hover { 
	background-color: var(--mandarin);
	color: #fff;
}

/***----- footer-contact お問い合わせ & 電話番号 -----***/
.button.go-form {
	width: 270px;
	height: 100px;
	line-height: 100px;
	font-family: var(--font-maru-gothic);
	font-size: 1.6rem;
}
a.button.go-form {
	display: block;
	text-align: center;
	color: #fff;
	text-decoration: none;
	background-color: var(--navy);
	border-radius: 10px;
}
a.button.go-form:hover { 
	box-shadow: 0 0 0 5px rgba(39, 53, 98,.3);
}

.footer-contact__item.-footer-tel {
	width: 270px;
	height: 100px;
	display: block;
	font-family: var(--font-gothic);
	font-size: 3rem;
	line-height: 1;
	text-align: center;
	color: var(--navy);
	background-color: #fff;
	border-radius: 10px;
}
.footer-contact__item.-footer-tel .footer-telephone {
	font-size: 2rem;
}
.footer-contact__item.-footer-tel .reception-hours {
	font-size: 1.3rem;
	color: #333;
}
.footer-contact__item.-footer-tel .reception-hours p {
	font-size: 1.3rem;
	line-height: 1.2;
	color: #333;
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 1024px) {

/***----- ご入会案内ページのgo-detail -----***/
.button.go-detail.-admission {
	width: 320px;
	height: 70px;
	line-height: 70px;
}

/***----- バンビーニについてページのgo-detail -----***/
.button.go-detail.-schedule {
	width: 320px;
	height: 70px;
	line-height: 70px;
}

/***----- サービス・料金ページのgo-detail -----***/
.button.go-detail.-service {
	width: 320px;
	height: 70px;
	line-height: 70px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 992px) {

/***----- ご入会案内ページのgo-detail -----***/
.button.go-detail.-admission {
	width: 305px;
	height: 70px;
	line-height: 70px;
}

/***----- バンビーニについてページのgo-detail -----***/
.button.go-detail.-schedule {
	width: 305px;
	height: 70px;
	line-height: 70px;
}

/***----- サービス・料金ページのgo-detail -----***/
.button.go-detail.-service {
	width: 305px;
	height: 70px;
	line-height: 70px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 820px) {

/***----- ご入会案内ページのgo-detail -----***/
.button.go-detail.-admission {
	width: 245px;
	height: 70px;
	line-height: 70px;
}

/***----- バンビーニについてページのgo-detail -----***/
.button.go-detail.-schedule {
	width: 340px;
	height: 70px;
	line-height: 70px;
}
/***----- サービス・料金ページのgo-detail -----***/
.button.go-detail.-service {
	width: 245px;
	height: 70px;
	line-height: 70px;
}
}



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

/***----- ご入会案内ページのgo-detail -----***/
.button.go-detail.-admission {
	width: 70%;
	margin-bottom: 20px;
}
/***----- サービス・料金ページのgo-detail -----***/
.button.go-detail.-service {
	width: 70%;
	margin-bottom: 20px;
}
/***----- バンビーニについてページのgo-detail -----***/
.button.go-detail.-schedule {
	width: 330px;
}

.button.go-form { width: 100%; }
.footer-contact__item.-contact-form { margin-bottom: 40px; }
.footer-contact__item.-footer-tel {
	width: 100%;
	margin-bottom: 40px;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 480px) {

/***----- go-detail -----***/
.button.go-detail { width: 100%; }
.button.go-detail span { margin-right: .25em; }

.goto-features {
    display: flex;
    justify-content: center;
    padding: 0 20px;
}

/***----- バンビーニについて -----***/
.button.go-about { width: 100%; }

/***----- ご入会案内ページのgo-detail -----***/
.button.go-detail.-admission {
	width: 80%;
}
/***----- バンビーニについてページのgo-detail -----***/
.button.go-detail.-schedule {
	width: 100%;
}
}


/** media Queries
===================================================================================*/
@media only screen and (max-width: 376px) {

/***----- バンビーニについてページのgo-detail -----***/
.button.go-detail.-schedule {
	width: 100%;
}

/***----- ご入会案内ページのgo-detail -----***/
.button.go-detail.-admission {
	width: 100%;
}

.button.go-detail.-service {
	width: 100%;
	height: 70px;
	line-height: 70px;
	font-family: var(--font-maru-gothic);
	font-size: 1.6rem;
}
}



/**********************************************************************************


	google material icons
	
	
***********************************************************************************/
.material-icons {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 32px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-moz-font-feature-settings: 'liga';
	-moz-osx-font-smoothing: grayscale;
	display: inline-flex;
	vertical-align: middle;
}

/*** attachment
***********************************************************************************/
.mt05 { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt25 { margin-top: 25px; }
.mt30 { margin-top: 30px; }
.mt35 { margin-top: 35px; }
.mt40 { margin-top: 40px; }
.mt45 { margin-top: 45px; }
.mt50 { margin-top: 50px; }
.mt55 { margin-top: 55px; }
.mt60 { margin-top: 60px; }
.mt65 { margin-top: 65px; }
.mt70 { margin-top: 70px; }
.mb05 { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb25 { margin-bottom: 25px; }
.mb30 { margin-bottom: 30px; }
.mb35 { margin-bottom: 35px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb55 { margin-bottom: 55px; }
.mb60 { margin-bottom: 60px; }
.mb65 { margin-bottom: 65px; }
.mb70 { margin-bottom: 70px; }
.mb100 { margin-bottom: 100px; }

.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
