.subvisual {
    box-sizing: border-box;
    width: 100%;
    position: relative;
    height: 250px;
    display: flex;
    align-items: end;
    overflow: hidden;
}
/* #concept */
.page-concept .subvisual, .page-counseling .subvisual{
    align-items: center;
}
.page-cafe .subvisual{
	align-items: start;
}
.subvisual:after{
	content:'';
	display:block;
    width: 100%;
    position: absolute;
    height: 250px;
    left: 0;
    top: 0;
	background:linear-gradient(rgba(0,0,0,0.33),rgba(0,0,0,0.55));
}
.title-wrap{
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0;
    bottom: 40px;
	z-index:10;
}
/* .title, .section-title{
    margin: 0 auto;
    font-family: "NOTO semibold", sans-serif;
    font-weight: 600;
    font-style: normal;
    letter-spacing: -0.05em;
}
.subtitle{
    margin: 0 auto;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: unset;
} */
/* .title, .subtitle{
    color: #fff !important;
	text-align: center;
    text-shadow:1px 0 0 rgba(0,0,0,0.77),1px 1px 0 rgba(0,0,0,0.77),0 1px 0 rgba(0,0,0,0.77),-1px 1px 0 rgba(0,0,0,0.77),-1px 0 0 rgba(0,0,0,0.77),-1px -1px 0 rgba(0,0,0,0.77),0 -1px 0 rgba(0,0,0,0.77),1px -1px 0 rgba(0,0,0,0.77);
} */
.section-title, .section-subtitle{
    text-align: center;
}
.section-title.us-title{
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    font-style: normal;
    letter-spacing: -0.01em;
}
@media (max-width: 500px) {
    .subvisual, .subvisual:after{
        height: 190px;
    }
}
@media (max-width: 500px) {
    .page-concept .subvisual{
        height: 190px;
    }
}
#concept {
	background: #fff;
}
#concept-00 {
	padding-bottom: 20px;	
}
#concept-01,
#concept-02,
#concept-03 {
	padding-bottom: 20px;	
}
#concept-01 {
	border-top: 1px solid #fff;	
}
#concept-02 {
	border-top: 1px solid #e5e5e5;	
}
#concept-03 {
	border-top: 1px solid #fff;	
}
.concept-00 img,
#concept-01 img,
#concept-02 img,
#concept-03 img {
	margin-bottom: 30px;	
}
#concept .bg {
	background: rgba(0,0,0,0.1);	
}
@media (max-width: 767px) {
	#concept {
		margin-top: -1px;
	}
	.point div:nth-of-type(odd) {
		padding-right: 5px;
	}
	.point div:nth-of-type(even) {
		padding-left: 5px;
	}
}
@media (min-width: 1200px) {
	#concept {
		background: url(/images/bg-concept.jpg);
		background-position: bottom right;
		background-size: cover;
		background-attachment: fixed;
	}
	#concept h3 img {
		margin: 0 auto 50px;	
	}
}
/* #experience */
#experience {
	border-top: 1px solid #e5e5e5;
	background: #333;
}
@media (min-width: 1200px) {
	#experience {
		background: url(/images/bg-experience.jpg);
		background-position: top center;
		background-size: cover;
		background-attachment: fixed;
	}
}
#experience h2,
#experience .section-subtitle,
#experience p {
	color: #fff;	
}
#experience .box {
	padding: 15px;
	background: #fff;
}
#experience .box .position {
	position: relative;
	margin-bottom: 4px;	
}
#experience .box img {
	margin-bottom: 0;	
}
#experience .box .period {
	background: rgba(0,0,0,0.6);
	color: #fff;
	padding: 5px 10px;
	margin-bottom: 10px;
	text-align: center;	
	font-size: 90%;
	position: absolute;
	height: 28px;
	bottom: -10px;
	width: 100%;
}
#experience .box .period:before {
	content: "\e944";
	font-family: "icomoon";
	margin-right: 5px;
}
#experience .box div.ajust {
	display: flex;
	align-items: center;
	min-height: 54px;
}
#experience .box h3 {
	font-size: 1.1rem;
	color: #000;
	margin:0 auto;
}
#experience .box p {
	color: #000;	
}
#experience .box p.ajust {
	font-size: .78rem;
	min-height: 75px;
	margin-bottom: 10px;
}
@media (max-width: 1200px) {
	#experience .box p.ajust {
		min-height: 95px;
	}
}
@media (max-width: 768px) {
	#experience .box p.ajust {
		min-height: 115px;
	}
}
@media (max-width: 500px) {
	#experience .box p.ajust {
		min-height: 75px;
	}
}
#experience .box button {
	height: 28px;
	border-radius: 12px;
	font-size: 100%;
	color: #fff;
	background: #333;
	border: none;
	padding: 5px;
	transition: 0.6s ease-in-out;	
}
#experience .box button:hover {
	background: #666;
}
#experience .box button:focus {
	outline: 0;
}
#experience .box button:before {
	content: "\f0da";
	font-family: FontAwesome;
}
#experience .box button:active:before,
#experience .box button:focus:before {
	content: "\f0d7";
	font-family: FontAwesome;
}
#experience .box p.detail {
	margin-top: 10px;
	margin-bottom: 0;
	font-size: 90%;	
	line-height: 160%;	
}
#experience .box dt,
#experience .box dd {
	margin-top: 10px;
	margin-bottom: 0;
	font-size: 90%;	
	line-height: 160%;
}
#experience .box dl {
	margin-bottom: 0;	
}
#experience .box dt {
	border-bottom: 1px solid #666;
}
#experience .box dt:before {
	content: "\f0d7";
	font-family: FontAwesome;
	margin-right: 5px;
}
#experience .box dd {
	margin-left: 15px;
}
#experience .box .bt {
	font-size: 100%;
	display: block;
	width: 100%;
	text-align: center;
	color: #fff;
	background: #333;
	padding: 20px;
	margin-top: 10px;
	transition: 0.6s ease-in-out;	
}
#experience .box .bt:hover {
	background: #666;
}
#experience .box .bt:focus {
	outline: 0;
}
#experience .box .bt:after {
	content: "\f101";
	font-family: FontAwesome;
	margin-left: 5px;
}
#experience .breadcrumbs, #experience .breadcrumbs .current-item{
    color: #eee;
}
#experience .breadcrumbs a, #experience .breadcrumbs a span{
    color: #fff;
}
#experience .page-footer .please-share{
	color: #fff;
}
#experience .page-footer .box{
	padding: 0;
}
#experience .cta{
	background: rgba(255, 255, 255, .22);
}
/* #contact */
.page-counseling .finish, .page-counseling .confirm, .page-counseling .loading, .page-counseling .issue{
    display: none;
}
.page-counseling .section-form{
    position: relative;
}
@media (max-width: 500px) {
    .page-counseling .subvisual{
        height: 190px;
    }
}
.section-form{
	background: url(/images/bg-stripe-gray.png);
	padding-top: 3rem;
}
.section-form>.container{
	margin-bottom: 3rem;
}
.form-inner{
	padding: 2.5rem;
	background: rgba(255, 255, 255, .55);
}
#contact p{
    font-size: .9rem;
}
#contact p a{
	color: #f7ff20;
}
#contact p a:hover{
	color: #fe9d33;
}
/* .form-group {
	margin-bottom: 30px;
} */
span.any {
	display: inline-block;
	color: #fff;
	background: #aaa;
	padding: 3px;
	border-radius: 2px;
	font-size: .8rem;
	margin-left: .3rem;
}
span.required {
	display: inline-block;
	color: #fff;
	background: #EF92B5;
	padding: 3px;
	font-size: .8rem;
    margin-left: .5rem;
    margin-right: .7rem;
	border-radius: 2px;
}
.form-parts-title {
	font-size: 1.1rem;
	margin-left: 5px;
}
@media (min-width: 992px) {
	.form-parts-title {
		font-size: 1.1rem;
	}
}
label,
.control-label {
	font-weight: 500;
	/* color: #333 !important; */
}
input[type=submit] {
	width: 314px;
	padding: 12px 0;
}
input[type=button] {
	width: 214px;
	padding: 12px 0;
}
.chktxt{
	background: #fff;
	font-size: 1rem;
	padding: .55rem 1rem;
	white-space: pre-wrap;
	border: var(--bs-border-width) solid var(--bs-border-color);
	border-radius: .2rem;
}
.section-form .cta{
	background: rgba(0,0,0,.55);
}
.section-form .cta p{
	color: #fff;
}
.thanks-wrap{
	text-align: center;
}
.thanks{
	width: 440px;
	margin: 3rem auto;
	background: #fff;
	padding: 1rem;
}
.thanks h4{
	font-family: "NOTO", sans-serif;
  	color: #18a8c8;
	margin: 1rem 0 1.5rem;
}
.thanks-inner{
	border: double #18a8c8;
	padding: .33rem;
}
.thanks-inner2{
	/* border: 1px dashed #000; */
	text-align: left;
	padding: 1rem 1rem 0;
}
@media (max-width: 500px) {
	.section-form{
		padding-top: 0;
	}
	.form-inner{
		padding-right: calc(var(--bs-gutter-x)* .5);
    	padding-left: calc(var(--bs-gutter-x)* .5);
	}
	.thanks{
		width: 100%;
	}
}
/* #cafe */
.page-cafe{
	background-position: center center;
	background-size: cover;
	background-attachment: fixed;
}
.page-cafe .section-topics{
    padding: 5rem 0 3rem;
}
.page-cafe .anchor-btns a{
    width: 180px;
}
.page-cafe .section-title.gallery{
	display: none;
}
.page-cafe .nav-link{
    --bs-nav-link-color: none;
    --bs-nav-link-hover-color: #c77b28;
    border-top-left-radius: .11rem;
    border-top-right-radius: .11rem;
    background: rgba(255,255,255,.33);
    font-size: .85rem;
}
.page-cafe .tab-pane{
    background: #fff;
    padding-right: 1.33rem;
    padding-bottom: 1.33rem;
}
.page-cafe .tab-pane .lb-item{
    padding-top: 1.33rem;
    padding-left: 1.33rem;
}
#cafe-intro, .page-cafe .cafe-footer{
	background: rgba(255,255,255,.8);
}
.cafe-footer .page-footer{
	background: #fff;
}
@media (max-width: 991px) {
    .page-cafe .section-topics{
        padding: 3rem 0;
    }
    .page-cafe .anchor-btns, .page-cafe .section-title.gallery{
		display: block;
    }
    .page-cafe .nav-link{
        padding: .7rem .3rem;
        font-size: .75rem;
    }
    .page-cafe .tab-pane{
        padding-right: .5rem;
        padding-bottom: .5rem;
    }
    .page-cafe .tab-pane .lb-item{
        padding-top: .5rem;
        padding-left: .5rem;
    }
}
@media (max-width: 500px) {
    #cafe-intro{
	    background: rgba(255,255,255,.9);
    }
    .page-cafe{
        background-color: #777567;
		background-position: top center;
	    background-size: contain;
        background-repeat: no-repeat;
    }
    .page-cafe .subvisual{
        height: 190px;
    }
    .page-cafe .anchor-btns a{
        width: 160px;
    }
}
.opening-day .entry-labels {
    position: absolute;
    left: -2px;
    top: 5px;
}
.opening-day img{
    margin-top: .75rem;
}
.new-arrivals, .page-cafe .comments-sec{
	background: #fff;
}
#access {
	background: url(/images/img-bg-craft.png) repeat;
}
#access h3, #contact h3, .section-form h3 {
    /*text-align: left;
	font-family: "BIZ UDMincho", serif;
    font-weight: 500 !important;
    border-left: 6px solid #000;
    padding: 8px 0 8px 12px; */
    margin-bottom: 30px;
}
.page-cafe .cta{
	background: rgba(89,70,57,.77);
}
.page-cafe .cta p{
	color: #fff;
}
.page .vertical-line{
    padding-top: 150px;
    text-align: center;
    position: relative;
}
.page .vertical-line:before{
    content: '';
    position: absolute;
    top: 10px;
    display: block;
    width: 3px;
    height: 100px;
    background: #ddd;
    left: 50%;
}
/* page program country */
.page-template-template-program .mainvisual{
    /* height: 512px;
    background-repeat: no-repeat;
    background-position: right;
    display: flex;
    align-items: center; */
    position: relative;
    width: 100%;
}
.page-template-template-program .mainvisual .container{
    position: absolute;
    top: 50%;
    left: 5%;
}
.page-template-template-program .mainvisual .title{
    width: 34.5%;
    height: 100%;
    display: inline-block;
}
.page-template-template-program .mainvisual .title-inner{
    margin: 0 1rem;
}
.page-template-template-program .mainvisual .image{
    width: 65%;
    display: inline-block;
    text-align: right;
}
.page-template-template-program .mainvisual .image img{
    
}
.page-template-template-program .entry-title{
    font-family: 'Manrope-light', 'NOTO', sans-serif;
    font-weight: 400;
    text-align: center;
}
.page-template-template-program .entry-title.long-title{
    text-align: left;
}
.page-template-template-program .content h2{
    font-size: 1.5rem;
    margin: 40px 0;
}
.page-template-template-program .content h3{
    font-size: 1.3rem;
    margin: 40px 0;
}
.page-template-template-program .content ul li{
    list-style: inherit;
    margin-bottom: 1.5rem;
}
.page-template-template-program .content ol li{
    list-style: inherit;
}
.page-template-template-program .content ol li::marker{
    font-size: 1.25rem
}
.page-template-template-program .content .usage-flow h3{
    font-size: 1.25rem;
    margin: 30px 0 10px;
}
@media (max-width: 1200px) {
    .page-template-template-program .mainvisual .title{
        width: 34.1%;
    }
    .page-template-template-program .mainvisual .entry-title{
        font-size: 2rem;
    }
}
@media (max-width: 767px) {
    .page-template-template-program .mainvisual .title{
        width: 100%;
        position: absolute;
        left: 0;
        top: 45%;
		z-index: 133;
    }
	.page-template-template-program .mainvisual{
		background-color: #000;
	}
    .page-template-template-program .mainvisual .image{
		opacity: 0.7;
        width: 100%;
    }
    .page-template-template-program .mainvisual .entry-title{
        color: #fff;
        text-align: left;
    }
    .page-template-template-program .parent-program .mainvisual .entry-title{
        color: #fff;
        text-align: left;
    }
}
/* program (ages) page */
.ages .entry-wrap { background: #fff; margin-left: 1px; margin-bottom: 1px;}
.ages .entry-top { position: relative; overflow: hidden; text-align: center;}
.ages .entry-thumbnail { display: block; position: relative;}
.ages img { display: block; width: 100%; height: auto; transition: all 0.4s ease;}
.ages .entry-thumbnail:before {
opacity: 0.3;
background: linear-gradient(rgba(0, 0, 0, 0.33), rgba(0, 0, 0, 1));
content: ""; 
position: absolute;
display: block;
height: 100%;
width: 100%;
left: 0;
bottom: 0;
transition: all .4s ease;
pointer-events: none;
}
.ages:hover .entry-thumbnail:before { opacity: 0; }
.ages:hover img{ transform: scale(1.05); }
.ages .entry-title-wrap { position: absolute; top:45%; left:0; width:99%;}
.ages .entry-title a { font-family: 'Manrope-light', sans-serif; font-weight: 300; display: block; padding: 0 20px 0;  text-decoration: none; color:#fff; text-align: left;}
.ages .target-age { font-family: 'Manrope-light', sans-serif; color:#fff;}
/* about page */
.page-about .mainvisual{
    background-image: url(/wp-content/uploads/2024/09/img-about-blue-room-sea.jpg);
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
}
.page-about .entry-title{
    font-family: 'Manrope', 'NOTO', sans-serif;
    font-weight: 400;
    text-align: center;
    color: #fff;
	padding-top: 5rem;
	padding-bottom: 0;
}
.page-about .mainvisual img{
    margin-top: 80px;
}
@media (max-width: 767px) {
    .page-about .mainvisual img{
        margin-top: 50px;
    }
	.page-about .entry-title{
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
}
/* default page */
.page-default .content h2, .page-masonry .content h2, .page-about .content h2, .forms h2{
    font-size: 1.5rem;
    margin: 40px 0;
	font-weight: 400;
    font-style: normal;
}
.page-about .content h2.wp-block-heading{
	font-size: 1.9rem;
}
@media (max-width: 767px) {
	.page-about .content h2.wp-block-heading{
		font-size: 1.75rem;
	}
}
@media (max-width: 500px) {
	.page-about .content h2.wp-block-heading{
		font-size: 1.35rem;
	}
}
.page-default .content h3, .page-masonry .content h3, .page-about .content h3, .forms h3{
    font-size: 1.3rem;
    margin: 40px 0;
	font-weight: 400;
    font-style: normal;
}
.page-default .post-pt, .page-masonry .post-pt{
    padding-top: 90px;
    padding-bottom: 3rem;
}
.page-default h1, .page-masonry h1{
    font-family: 'Manrope', 'NOTO', sans-serif;
    font-size: 1.75rem;
}
.page-default .entry-meta, .page-masonry .entry-meta{
    font-size: .8rem;
    padding: 3px 0;
    color: #999;
    margin-bottom: 2px;
    /* text-align: right; */
}
.page-default .entry-meta li span a, .page-masonry .entry-meta li span a {
    color: #999;
    font-size: 12px;
    /* background: #eee; */
    border-radius: 3px;
    /* padding: 3px 7px; */
    margin: 0 5px 6px 0;
}
.page-default .content ol li, .page-masonry .content ol li{
    list-style:auto;
}
/* validationEngine inline css hack */
::placeholder {
	color: #c5c5c5 !important;
}
/* 旧Edge対応 */
::-ms-input-placeholder {
	color: #c5c5c5 !important;
}
/* IE対応 */
:-ms-input-placeholder {
	color: #c5c5c5 !important;
}
.forms h2, .forms h3{
    margin: 40px 0 20px;
	padding-bottom: 5px;
}
.forms h2{
    border-bottom: 2px #ddd solid;
}
.forms h3{
    border-bottom: #ddd double;
}
.btncheck1formError, .btnradio2formError, .plan-length1formError{
	display: block !important;
	margin-bottom: .3rem;
}
.parentFormform_1{
	display: block !important;
	margin-top: .3rem !important;
	margin-bottom: .3rem;
}
.formError .formErrorContent {
	background: transparent;
	color: #ff0018;
}
.form-check-input[type=radio] {
	transform: scale(1.5, 1.5);
	margin-left: .5rem;
	margin-right: .3rem;
}
.form-check-input[type=radio]:checked, .form-check-input[type=checkbox]:checked{
	background-color: #18a8c8;
}
.form-check-input[type=checkbox] {
	transform: scale(2, 2);
}
/* contact page */
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 textarea, .wpcf7 input[type=submit]{
    width: 100% !important;
}
.wpcf7 input[type=submit]{
	background: #18a8c8;
	color: #fff;
	border: none;
	font-size: 18px !important;
}
.wpcf7 form.invalid .wpcf7-response-output{
    padding: 0;
    margin: 0;
    border: 0;
    color: #dc3232;
}
.wpcf7 form.sent .wpcf7-response-output{
    padding: 0;
    margin: 0;
    border: 0;
    color: #18a8c8;
    font-size: 1.15rem;
    text-align: center;
}