/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
body {
	position: relative;
}
.elementor-widget-text-editor a {
	color: #ED9E1F !important;
	text-decoration: underline !important;
}

/* Menu / Header */
#side-menu {
	position: fixed;
	top: 15px;
	z-index: 10;
	right: 0;
	width: auto;
}
.elementor-element-56ccbf6 {
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,.8) 50%, rgba(255,255,255,0) 100%);
	border-top: 15px solid #3C559D;
}
.elementor-element-56ccbf6 .elementor-nav-menu .menu-item a {
	color: #3C559D !important;
	font-size: 15px;
	font-weight: 600 !important;
	max-width: 120px;
    white-space: unset !important;
    word-break: keep-all;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 1);
    height: 100%;
    display: flex;
    transition: all ease .1s;
	text-decoration: none !important;
}
.elementor-nav-menu--main {
	display: flex;
	justify-content: flex-end;
}
#menu-1-989f540 {
	padding: 0;
	margin: 0;
	display: flex;
}
#menu-1-989f540 li {
	list-style: none;
}
#menu-1-989f540 li.menu-item a {
	color: #3C559D !important;
	font-size: 15px;
	font-weight: 600 !important;
	max-width: 120px;
    white-space: unset !important;
    word-break: keep-all;
    text-align: center;
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 1);
    height: 100%;
    display: flex;
    transition: all ease .1s;
	text-decoration: none !important;
	padding: 10px 20px;
}
.elementor-element-56ccbf6 .elementor-nav-menu .menu-item a:hover {
	border: none;
	font-weight: 800 !important;
	background: rgba(255,255,255, .8);
}
.elementor-element-56ccbf6 .elementor-nav-menu .menu-item a:hover:after {
	background-color: transparent !important;
	display: none;
}
.elementor-nav-menu--layout-horizontal .elementor-nav-menu>li {
	align-items: center;
	border-right: 1px solid #3C559D;
}
.elementor-menu-toggle {
	display: none;
}
.elementor-nav-menu--dropdown {
	display: none;
}

/* Footer */
.border-top {
	border-top: 1px solid #3C559D;
}

/* Slider */
#top-slider {
	position: relative;
}
#scroll {
	position: absolute;
	bottom: -50px;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 8;
}

/* TOP */
.top-post-out>div.elementor-element {
	display: flex;
	flex-direction: row;
}
.top-post {
	flex: 1; 
}
.top-post .elementor-widget-container .elementor-posts-container .elementor-post .elementor-post__text {
	display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}
.top-post .elementor-widget-container .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__title {
	
}
.top-post .elementor-widget-container .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__title a {
	display: block;
	transition: all ease .3s;
}
.top-post .elementor-widget-container .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__title a:hover {
	color: #3C559D;
}
.top-post .elementor-widget-container .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__meta-data {
	margin-right: 30px;
}
@media (max-width: 768px) {
	.top-post .elementor-widget-container .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__meta-data {
		margin-right: 0px;
		width: 40%;
	}
	.top-post .elementor-widget-container .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__title {
		width: 60%;
	}
}

.bd-bot-yellow .elementor-widget-container h2.elementor-heading-title {
	position: relative;
	display: inline-block;
}
.bd-bot-yellow .elementor-widget-container h2.elementor-heading-title:after {
	content: '';
	position: absolute;
	background: #F6D635;
	height: 15px;
	width: 100%;
	bottom: -15px;
	right: 0;
	left: 0;
	z-index: 0;
}
.bg-half-circle {
}
.bg-half-circle h2 {
	display: inline-block;
	background: url(img/bg_half_circle.svg) no-repeat center;
	background-size: contain;
	padding: 40px 100px 50px;
}
.bg-title01 h2 {
	display: inline-block;
	background: url(img/bg_title01.svg) no-repeat center;
	background-size: contain;
	padding: 30px 300px 50px;
}
.bg-title01.short h2 {
	display: inline-block;
	background: url(img/bg_title02.svg) no-repeat center;
	background-size: contain;
	padding: 20px 100px 40px;
}
.bg-triangle {
	background: url(img/bg_triangle01.svg) no-repeat left top, url(img/bg_triangle02.svg) no-repeat right bottom;
	background-size: contain;
}
.ribbon-title h3 {
	display: inline-block;
	position: relative;
	height: 60px;
	line-height: 60px;
	text-align: center;
	padding: 7px 0;
	font-size: 18px;/*フォントサイズ*/
	background: #3C559D;/*背景色*/
	color: #FFF;/*文字色*/
	box-sizing: border-box;
}

.ribbon-title h3 span {
	font-size: 24px;
	margin: 0;
	padding: 0 30px;
	border-top: dashed 1px #F6D635;/*上の破線*/
	border-bottom: dashed 1px #F6D635;/*下の破線*/
	line-height: 44px;
	display: block;
	color: #F6D635;
	font-weight: 800;
}

.ribbon-title h3 span:before, .ribbon-title h3 span:after {
	position: absolute;
	content: '';
	width: 0px;
	height: 0px;
	z-index: 1;
}

.ribbon-title h3 span:before {
	/*左端の山形*/
	top: 0;
	left: 0;
	border-width: 30px 0px 30px 15px;
	border-color: transparent transparent transparent #f6f6f6;
	border-style: solid;
}

.ribbon-title h3 span:after {
	/*右端の山形*/
	top: 0;
	right: 0;
	border-width: 30px 15px 30px 0px;
	border-color: transparent #f6f6f6 transparent transparent;
	border-style: solid;
}

.ribbon-title.lightblue h3 span:after {
	/*右端の山形*/
	top: 0;
	right: 0;
	border-width: 30px 15px 30px 0px;
	border-color: transparent #DFF2F9 transparent transparent;
	border-style: solid;
}
.ribbon-title h3 span:before {
	/*左端の山形*/
	top: 0;
	left: 0;
	border-width: 30px 0px 30px 15px;
	border-color: transparent transparent transparent #DFF2F9;
	border-style: solid;
}
.blog-like .wpulike-heart .wp_ulike_general_class {
	box-shadow: 0 0 0 1px #DFF2F9 inset;
    border-radius: 8px;
    padding: 5px;
    background: #fff;
}

@media (max-width: 1500px) {
	#top-bento-btn {
		left: 42%;
	}
}
@media (max-width: 1300px) {
	#top-bento-btn {
		left: 41%;
	}
}
@media (max-width: 1200px) {
	#top-bento-btn {
		left: 40%;
	}
}
@media (max-width: 980px) {
	#top-bento-btn {
		left: 38%;
	}
}
@media (max-width: 780px) {
	#top-bento-btn {
		left: 35%;
	}
}
@media (max-width: 414px) {
	#top-bento-btn {
		left: 25%;
	}
}

/* PORTAL TOP */
.btn-class .elementor-button {
	width: 100%;
}
.boxmemo {
    position: relative;
    background: #fff0cd;
    box-shadow: 0px 0px 0px 5px #fff0cd;
    border: dashed 2px white;
    padding: 0.2em 0.5em;
    color: #454545;
}
.boxmemo:after{
    position: absolute;
    content: '';
    right: -7px;
    top: -7px;
    border-width: 0 15px 15px 0;
    border-style: solid;
    border-color: #ffdb88 #fff #ffdb88;
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}
.boxmemo p {
    margin: 0; 
    padding: 0;
}
.post-portal .elementor-widget-container .elementor-posts-container .elementor-post .elementor-post__text .elementor-post__title a {
	pointer-events: none !important;
}

/* FAQ */
.faq .elementor-tab-title {
	border-bottom: 1px solid #ccc;
}

/* INTRODUCTIONS */
.timeline-year,
.timeline-date,
.timeline-info {
	border-bottom: 1px solid #ccc;
}
.timeline-year.bdd-none {
	border-bottom: none;
}
.timeline-year p,
.timeline-date p,
.timeline-info p {
	margin: 0;
	padding: 10px;
}
.timeline-year p,
.timeline-date p {
	text-align: center;
}
.timeline .e-con-inner {
	grid-template-columns: 100px 100px 1fr !important;
}
.timeline>.e-con-inner{
	max-height: 400px;
	overflow-x: hidden;
	overflow-y: scroll;
}
.schoolob .e-con-inner {
	grid-template-columns: 100px 200px 1fr !important;
}
.schoolob-year,
.schoolob-date,
.schoolob-info {
	border-bottom: 1px solid #ccc;
}
.schoolob-year p,
.schoolob-date p,
.schoolob-info p {
	margin: 0;
	padding: 10px;
}
.shdw-photo img {
	box-shadow: 0 0px 5px 3px rgba(0, 0, 0, 0.08);
    border: 3px solid #fff;
}
.frame-photo .elementor-widget-container {
	width: 100%;
    margin: 0 auto !important;
}
.frame-photo .elementor-widget-container:before,
.frame-photo .elementor-widget-container:after {
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	z-index: 1;
}

.frame-photo .elementor-widget-container::before {
	border-top: 30px solid #F6D635;
	border-right: 30px solid transparent;
	border-bottom: 30px solid transparent;
	border-left: 30px solid #F6D635;
	top:-10px;
	left:20%;
}
.frame-photo .elementor-widget-container::after {
	border-top: 30px solid transparent;
	border-right: 30px solid #F6D635;
	border-bottom: 30px solid #F6D635;
	border-left: 30px solid transparent;
	bottom:-10px;
	right:20%;
}

/* POST */
[class*="category-post-"],
[class*="category-photo-"] {
	position: relative;
	padding-left: 25px !important;
}
[class*="category-post-"]:before {
	content: '●';
	position: absolute;
	color: #DFF2F9;
	top: -2px;
	left: 0;
	font-size: 20px;
}
[class*="category-photo-"]:before {
	content: '●';
	position: absolute;
	color: #F6D635;
	top: -2px;
	left: 0;
	font-size: 20px;
}

/* INTO=ENTER */
.booklist .e-con-inner {
	grid-template-columns: 20% 80% !important;
}
.table-jyugyou table {
	width: 100%;
}
.table-jyugyou table .table-header th:first-of-type {
	width: 15%;
}
.table-jyugyou table .table-header th:nth-child(2) {
	width: 15%;
}
.table-jyugyou table .table-header th:last-of-type {
	width: 70%;
}
.table-jyugyou table .td-content {
	line-height: normal;
}
.table-jyugyou table td.red .td-content {
	font-weight: 600;
	color: #cc3333;
}

/* SINGLE POST TEMPLATE */
.elementor-location-single {
	padding-left: 0 !important;
}

.post-password-required {
	padding: 300px 20px;
}
.post-password-required .page-content form p {
	justify-content: center;
}
.post-password-required .page-content form input[type=password] {
	border: 1px solid #ccc;
}
.post-password-required .page-content form input[type="submit"] {
	font-weight: 700;
	border: 1px solid #3C559D;
	background: #3C559D;
}


/*-------------
Mobile Tablette
--------------- */
@media (max-width: 1350px) {
	#side-menu {
		top: 150px;
	}
}
@media (max-width: 1200px) {
	#side-menu {
		top: 150px;
	}
}
@media (max-width: 1025px) {
	#side-menu {
		top: 115px;
	}
	.elementor-menu-toggle {
		display: block;
	}
	.elementor-nav-menu--dropdown {
		display: block;
	}
	.elementor-nav-menu--main {
		display: none;
	}
	.elementor-58 .elementor-element.elementor-element-989f540 .elementor-menu-toggle {
		position: absolute;
		top: -30px;
		right: -10px;
		background: #3C559D;
		padding: 25px;
		border-radius: 0;
		z-index: 11;
	}
	.elementor-58 .elementor-element.elementor-element-989f540 .elementor-menu-toggle .e-font-icon-svg {
		font-size: 30px;
		fill: #fff !important;
		width: 30px;
	}
	.elementor-58 .elementor-element.elementor-element-989f540 .elementor-menu-toggle[aria-expanded="true"] .e-font-icon-svg.elementor-menu-toggle__icon--open {
		display: none;
	}
	.elementor-58 .elementor-element.elementor-element-989f540 .elementor-menu-toggle[aria-expanded="true"] .e-font-icon-svg.elementor-menu-toggle__icon--close {
		display: block;
	}
	.elementor-58 .elementor-element.elementor-element-989f540 .elementor-menu-toggle[aria-expanded="false"] .e-font-icon-svg.elementor-menu-toggle__icon--close {
		display: none;
	}
	.elementor-58 .elementor-element.elementor-element-989f540 .elementor-menu-toggle[aria-expanded="false"] .e-font-icon-svg.elementor-menu-toggle__icon--open {
		display: block;
	}
	.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active+.elementor-nav-menu__container {

	}
	.elementor-nav-menu--dropdown {
		display: block;
		position: fixed;
		z-index: 10;
		background: #fff;
		height: 100vh;
		right: -300px;
		top: 15px;
		padding: 100px 0;
		-webkit-transition: 0.53s transform;
		transition: 0.53s transform;
		-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
		transition-timing-function: cubic-bezier(.38,.52,.23,.99);
		opacity: 0;
		box-shadow: 0 0 10px 0 rgb(0 0 0 / 25%);
		width: 300px;
		overflow-y: scroll;
	}
	.elementor-nav-menu--dropdown #menu-2-989f540 {
		padding: 0;
	}
	.elementor-nav-menu--dropdown #menu-2-989f540 li {
		list-style: none;
	}
	.elementor-menu-toggle.elementor-active+.elementor-nav-menu--dropdown {
		-webkit-transform: translateX(0px) !important;
		transform: translateX(0px) !important;
		opacity: 1;
		right: 0;
	}
	.elementor-menu-toggle+.elementor-nav-menu--dropdown {
		-webkit-transform: translateX(300px) !important;
		transform: translateX(300px) !important;
		opacity: 9;
		right: -300px;
	}
	.elementor-element-56ccbf6 .elementor-nav-menu .menu-item a {
		max-width: 100%;
		display: block;
		text-align: left;
		border-bottom: 1px solid #ccc;
    	padding: 20px;
	}
	.bg-triangle {
		background: url(img/bg_triangle01.svg) no-repeat left top, url(img/bg_triangle02.svg) no-repeat right bottom;
		background-size: 180px auto;
	}
	.bg-half-circle h2 {
		display: inline-block;
		background: url(img/bg_half_circle.svg) no-repeat center top;
		background-size: contain;
		padding: 15px 100px 30px;
	}
	.swiper-pagination {
		z-index: 9;
	}
	.elementor-element-56ccbf6 .elementor-nav-menu .menu-item a {
		text-shadow: none;
	}
	.elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
		background-color: #f6f6f6;
	}

	.elementor-element-56ccbf6 .elementor-nav-menu .menu-item a br.d-none {
		display: none;
	}

}
@media (max-width: 768px ) {
	#side-menu {
		display: none;
	}
	#side-menu2 {
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		flex-wrap: nowrap;
		background: #fff;
		z-index: 10;
	}
	#side-menu2 .elementor-widget-image {
		width: 25%;
	}
	.bg-title01 h2 {
		display: block;
		background: url(img/bg_title01.svg) no-repeat center;
		background-size: cover;
		padding: 30px 30px 50px;
		width: 100%;
	}
	.elementor-widget-theme-site-logo {
		max-width: 250px !important;
	}
	.elementor-58 .elementor-element.elementor-element-989f540 .elementor-menu-toggle {
		top: -85px;
	}
	.top-news {
		flex-direction: column !important;
	}
	.bg-triangle {
		background: url(img/bg_triangle01.svg) no-repeat left top, url(img/bg_triangle02.svg) no-repeat right bottom;
		background-size: 100px auto;
	}
	.schooltimeline .e-con-inner {
		display: flex;
    	flex-direction: row;
    	width: 100%;
	}
	.schooltimeline .e-con-inner .elementor-element-e6d511c {
		width: 15%;

	}
	.schooltimeline .e-con-inner .elementor-element-8c2b542 {
		width: 15%;
		
	}
	.schooltimeline .e-con-inner .elementor-element-3810938 {
		width: 70%;
		
	}
	.schooltimeline .e-con-inner .elementor-element-e6d511c .elementor-element,
	.schooltimeline .e-con-inner .elementor-element-8c2b542 .elementor-element,
	.schooltimeline .e-con-inner .elementor-element-3810938 .elementor-element {
		min-height: 50px;
	}
	.schooltimeline .e-con-inner .elementor-element-e6d511c .elementor-element p,
	.schooltimeline .e-con-inner .elementor-element-8c2b542 .elementor-element p,
	.schooltimeline .e-con-inner .elementor-element-3810938 .elementor-element p {
		margin-bottom: 0;
	} 
	.eael-data-table .td-content {
		display: block !important;
	}
	.frame-photo .elementor-widget-container::before {
		left:5%;
		top: 0;
	}
	.frame-photo .elementor-widget-container::after {
		right:5%;
		bottom: 75px;
	}
	.frame-photo .elementor-widget-container {
		margin-bottom: 80px !important;
	}
}
@media (max-width: 648px) {
	.voice-img {
		width: 100%;
		display: block;
		float: none;
	}
}
@media (max-width: 640px) {
	.shdw-photo img {
		width: 100%;
	}
	.frame-photo .elementor-widget-container::before {
		left:0;
		top: 0;
	}
	.frame-photo .elementor-widget-container::after {
		right:0;
		bottom: 20px;
	}
}
@media (max-width: 468px ) {
	.schooltimeline .e-con-inner .elementor-element-e6d511c {
		width: 25%;

	}
	.schooltimeline .e-con-inner .elementor-element-8c2b542 {
		width: 25%;
		
	}
	.schooltimeline .e-con-inner .elementor-element-3810938 {
		width: 50%;
		
	}
	.schooltimeline .e-con-inner .elementor-element-e6d511c .elementor-element,
	.schooltimeline .e-con-inner .elementor-element-8c2b542 .elementor-element,
	.schooltimeline .e-con-inner .elementor-element-3810938 .elementor-element {
		min-height: 70px;
	}
	.tel-title .elementor-widget-container {
		background: #f6f6f6;
	}
}
@media (max-width: 388px ) {
	.schooltimeline .e-con-inner .elementor-element-e6d511c .elementor-element,
	.schooltimeline .e-con-inner .elementor-element-8c2b542 .elementor-element,
	.schooltimeline .e-con-inner .elementor-element-3810938 .elementor-element {
		min-height: 130px;
	}
	.schooltimeline .e-con-inner .elementor-element-e6d511c {
		width: 30%;

	}
	.schooltimeline .e-con-inner .elementor-element-8c2b542 {
		width: 30%;
		
	}
	.schooltimeline .e-con-inner .elementor-element-3810938 {
		width: 40%;
		
	}
	.frame-photo .elementor-widget-container::after {
		bottom: 55px;
	}
}
