/******
    custom css
*******/

.mainPage .page{
	position:relative;
}
.mainPage .page,
.mainPage .page .entry-content{
	width:100%;
	min-width:100%;
	max-width:100%;
	margin:0;
	padding:0;
}
.has-text-align-center{
	text-align:center !important;
}

.mainPage h2.wp-block-heading{
	font-size:2em;
	text-align:center;
	margin-bottom:1.5em;
	font-weight:bold;
	margin-top:0.5em;
	letter-spacing:1px;
}
.mainPage h3.wp-block-heading{
	font-size:1.25em;
	margin-bottom:0.5em;
}
.mainPage h4.wp-block-heading{
	margin-bottom:0.25em;
}
.mainPage .entry-content h3.wp-block-heading + p{
	margin-top:0;
}
@media (max-width: 960px) {
	.mainPage h2{
		font-size:1.45rem !important;
		margin-bottom:1em;
	}
	.mainPage h3.wp-block-heading{
		font-size:1.25rem;
	}
}

a.totop{
	display:inline-block;
	z-index:999;
	font-size:2em;
	width:2em;
	height:2em;
	line-height:2em;
	vertical-align:middle;
	text-align:center;
	position:fixed;
	bottom:0.5em;
	right:0.5em;
	color:#fff;
	background:#03a;
	border-radius:50%;
	box-shadow:2px 2px 2px rgba(125,125,125,0.5);
}
a.totop:hover{
	color:rgba(255,255,255,0.5);
	box-shadow:1px 1px 1px rgba(125,125,125,0.5);
}
@media (max-width: 960px) {
a.totop{
	font-size:1.5em;
	width:1.75em;
	height:1.75em;
	line-height:1.75em;
}
}



/** page common **/
.mainPage .wp-block-cover__inner-container,
.mainPage .wp-block-cover__inner-container .wp-block-columns,
.mainPage .wp-block-cover__inner-container .wp-block-columns .wp-block-column{
	padding:0;
	margin:0;
}
.mainPage .wp-block-cover__inner-container .wp-block-columns{
	width:100%;
	min-width:100%;
	max-width:100%;
	gap:0;
}

.mainPage ol.wp-block-list,
.mainPage ul.wp-block-list{
	display:inline-block;
	width:100%;
	margin:0;
	padding:0;
	margin-left:1em;
}
.mainPage ol.wp-block-list li,
.mainPage ul.wp-block-list li{
	display : list-item;
	width:100%;
	margin:0;
	padding:0;
	line-height:1.35em;
	margin-bottom:1em;
}
.mainPage ol.wp-block-list{
	list-style-type:decimal;
}
.mainPage ul.wp-block-list{
	list-style-type:disc;
}

/** Header **/
.mainPageHeader .site-header{
	display:inline-block;
	height:140px;
	position:fixed;
	flex-wrap: wrap;
	align-items: center;
	width:100%;
	min-width:100%;
	max-width:100%;
	z-index:999;
	gap:1em;
	background:#fff;

	top:0;
	box-shadow:2px 2px 3px rgba(0,0,0,0.2);
}

.mainPageHeader .site-header .site-branding{
	display:grid;
	grid-auto-flow: column;
	justify-content: space-between;
	width:90%;
	min-width:90%;
	max-width:1024px;
	margin:0 auto;
	padding:0;
	padding-top:0.5em;
/*	shadow-box:3px 3px 3px rgba(125,125,125,0.5); */
}
.mainPageHeader .site-header .site-branding .siteTitleBox{
	display:flex;
	align-items: center;
	margin:0;
	padding:0;
	width:-moz-fit-content; /* Firefox */
	width:fit-content; /* other browsers */
}
.mainPageHeader .site-header .site-branding .siteTitleBox .custom-logo-link img{
	margin-right:0.5em;
	width:auto;
}

.mainPageHeader .site-header .site-branding .siteTitleBox .siteNameBox{
	display:inline-block;
	margin:0;
	padding:0;
}
.mainPageHeader .site-header .site-branding .siteTitleBox .siteNameBox *{
	line-height:1em;
	padding:0;
	margin:0;
}
.mainPageHeader .site-header .site-branding .site-description{
	font-size:0.8em;
}
.mainPageHeader .site-header .site-branding .siteTitleBox .siteNameBox .site-title{
	font-size:1.5em;
	font-weight:bold;
	padding-top:0.5em;
}
.mainPageHeader .site-header .site-branding .siteTitleBox .siteNameBox .site-title *{
	color:#000;
	text-decoration:none;
}

.mainPageHeader .site-header .topConntact{
	width:-moz-fit-content; /* Firefox */
	width:fit-content; /* other browsers */
	text-align:right;
/*	flex-basis: 34em;
	width:24em;
*/
	font-size:0.85em;
}
.mainPageHeader .site-header .topConntact a{
	font-size:2.5em;
	font-weight:bold;
}
.mainPageHeader .site-header .topConntact a .wp-font-awesome-icon svg{
	width:0.85em;
	height:auto;
	margin-right:3px;
}

.mainPageHeader .site-header .main-navigation{
	margin:0 auto;
	padding:0.5em 0;
	width:100%;
	min-width:100%;
	max-width:100%;
	text-align:center;
}
.mainPageHeader .site-header .main-navigation .menu-mainmenu-container{
	display:inline-block;
	width:85%;
	min-width:85%;
	max-width:940px;
	margin:0 auto;
}
.mainPageHeader .site-header .main-navigation .menu.nav-menu{
	display: grid;
/*	grid-template-columns: repeat(auto-fit, minmax(6em, 1fr));*/ /* 最小100px、最大均等幅 */
	grid-auto-flow: column;
}
.mainPageHeader .site-header .main-navigation .menu.nav-menu .menu-item{
	display:inline-block;
	margin:0.25em 0;
}
.mainPageHeader .site-header .main-navigation .menu.nav-menu .menu-item:first-of-type{
	margin-left:0;
	padding-left:0;
}
.mainPageHeader .site-header .main-navigation .menu.nav-menu .menu-item:last-of-type{
	margin-right:0;
}
.mainPageHeader .site-header .main-navigation .menu.nav-menu .menu-item a{
	color:#03a;
	font-size:1.25em;
}
.mainPageHeader .site-header .main-navigation .menu.nav-menu .menu-item a:hover{
	color:#018;
	text-decoration:underline;
}
.mainPageHeader .site-header .main-navigation .menu.nav-menu .menu-item a:before{
	font-family: "Font Awesome 7 Free";
	content: "\f0da";
	font-weight: 800;
	margin-right:4px;
}

@media (max-width: 1025px) {
	.mainPageHeader .site-header .main-navigation .menu-mainmenu-container{
		display:inline-block;
		width:90%;
		min-width:90%;
		max-width:1020px;
		margin:0 auto;
	}
	.mainPageHeader .site-header .main-navigation .menu.nav-menu .menu-item a{
		font-size:1em;
	}
}
@media (max-width: 960px) {
	.mainPage{
		margin-top:-3.5em;
	}
	.mainPageHeader{
		font-size:10px;
	}
	.mainPageHeader .site-header{
		display:inline-block;
		text-align:center;
		height:10em;
	}
	.mainPageHeader .site-header .site-branding,
	.mainPageHeader .site-header .topConntact{
		display:inline-block;
	/*	width:100%; */
		padding:0.5em 0 0 0;
		margin:0 auto;
		text-align;center;
	}
	.mainPageHeader .site-header .site-branding .site-description{
		text-align:left;
	}
	.mainPageHeader .site-header .topConntact{
		width:100%;
		min-width:100%;
		max-width:100%;
		margin:0 auto;
	}
	.mainPageHeader .site-header .site-branding .siteTitleBox{
		width:width:-moz-fit-content; /* Firefox */
		width:fit-content; /* other browsers */;
		margin:0 auto;
	}
	.mainPageHeader .site-header .site-branding .siteTitleBox .custom-logo-link img{
		max-height:3em;
	}
	.mainPageHeader .site-header .site-branding .site-description{
		display:none;
	}
	.mainPageHeader .site-header .site-branding .site-title{
		text-align:left;
		font-size:3.5em;
		margin-top:0;
		padding-top:0;
	}
	.mainPageHeader .site-header .topConntact{
		text-align:center;
		padding:0;
	}
	.mainPageHeader .site-header .topConntact a{
		font-size:1.75em;
	}
	/*
	.mainPageHeader .site-header .topConntact br{
		display:none;
	}
	*/
	/*** ナビ用 ***/
	button.menu-toggle {
		display: block;
		height: 3em;
		line-height: 3em;
		width:100%;
		text-align:center;
		padding: 0 1em;
		font-weight: normal;
		font-size: 12px;
		text-decoration: none;
		color: #fff;

	  /* buttonn reset */
		border: none;
		border-radius: 0;
		background: none;
		box-shadow: none;
	}
	.main-navigation {
		float: left;
		width: 100%;
		display: block;
		clear: both;
		text-transform: uppercase;
		background: #313131;
	}

	.main-navigation .menu-mainmenu-container{
		display:none !important;
	}
	.main-navigation.toggled .menu-mainmenu-container{
		display:inline-block !important;
	}

	.main-navigation.toggled .nav-menu{
		border-top:1px solid rgba(255,255,255,0.5);
	}
	.main-navigation.toggled .nav-menu,
	.main-navigation.toggled .nav-menu .menu-item{
		display:inline-block !important;
		width:100%;
		min-width:100%;
		max-width:100%;
		padding:0;
		margin:0 !important;
		text-align:left;
	}
	.main-navigation.toggled .nav-menu .menu-item a{
		display:inline-block !important;
		width:100%;
		min-width:100%;
		max-width:100%;
		padding:0.5em;
		color:#fff !important;
	}
	.main-navigation.toggled .nav-menu .menu-item a:hover{
		background:rgba(255,255,255,0.3);
		color:#fff;
	}
	.main-navigation.toggled .nav-menu .menu-item{
		border-bottom:1px dotted  rgba(255,255,255,0.5);
	}

}


.mainPage .wp-block-cover__inner-container{
	width:85%;
	min-width:85%;
	max-width:940px;
	margin:0 auto;
	padding:0;
}
.mainPage .wp-block-cover__inner-container *{
	line-height:1.5em;
	text-align:left;
	font-size:18px;
}
.mainPage .wp-block-cover + .mainPage .wp-block-cover{
	margin-top:3em;
}
	
@media (max-width: 960px) {
	.mainPage .wp-block-cover__inner-container{
		width:90%;
		min-width:90%;
		max-width:90%;
		margin:0 auto;
	}
	.mainPage .wp-block-cover__inner-container .page_contents,{
		width:100%;
		min-width:100%;
		max-width:100%;

		padding:0;
		margin:0;
	}
	.mainPage .wp-block-cover__inner-container *{
		line-height:1.25em;
		font-size:14px;
	}
}

#about .wp-block-columns,
#contact .wp-block-columns{
	margin:6em 0;
}
.history tr td{
	padding:1em 0.5em;
}
.history tr td:first-of-type{
	width:8em;
}
.history tr td:last-of-type{
	width:calc(100% - 8em);
}
.wp-rich-text-font-awesome-icon svg{
	width:1em;
	height:1em;
	margin-right:3px;
}

/** TOP visual **/
.main_visual,
.main_visual .wp-block-cover__inner-container,
.main_visual .wp-block-cover__background,
.main_visual .wp-block-cover__inner-container *{
	padding-top:0 !important;
	padding-bottom:0 !important;
	margin-top:0 !important;
	margin-bottom:0 !important;
}
.main_visual{
	margin-top:130px !important;
}
.main_visual .wp-block-media-text,
.main_visual .wp-block-cover__inner-container{
	padding:0 !important;
}
.main_visual .wp-block-cover__inner-container,
.main_visual .wp-block-media-text,
.main_visual .wp-block-media-text *{
	margin:0 !important;
	padding:0 !important;
}
.main_visual .wp-block-media-text .wp-block-media-text__content{
	display:inline-block;
	background:rgba(255,255,255,0.9);
	box-shadow:2px 2px 3px rgba(120,120,120,0.5);
	padding:3em 3em !important;
}
.main_visual .wp-block-media-text .wp-block-media-text__content h2{
	font-size:1.75em;
	text-align:center;
}
.main_visual .wp-block-media-text .wp-block-media-text__media{
	object-fit: cover;
}
.main_visual .wp-block-media-text .wp-block-media-text__media img{
	margin-left:2em !important;
}
.main_visual .wp-block-media-text .wp-block-media-text__content .has-text-align-right{
	display:inline-block;
	margin-top:1em !important;
	width:100%;
	text-align:right;
}
/*
.main_visual .wp-block-columns *{
	text-align:left;
}
.main_visual .wp-block-columns .has-text-align-right{
	text-align:right;
}
*/


@media (max-width: 1210px) {
	.main_visual .wp-block-media-text .wp-block-media-text__content{
		padding:1.5em !important;
	}
	.main_visual .wp-block-media-text .wp-block-media-text__content h2{
		font-size:1.6em;
	}
}
@media (max-width: 960px) {
	.main_visual{
		margin-top:3.5em;
		padding:0;
	}
	.main_visual .wp-block-cover__inner-container{
		padding:0 !important;
	}
	.main_visual .wp-block-media-text .wp-block-media-text__media img{
		margin-left:0 !important;
	}
	.main_visual .wp-block-media-text .wp-block-media-text__content{
		display:inline-block;
	}
	.main_visual .wp-block-media-text .wp-block-media-text__content h2{
		font-size:1.5em;
	}
	.main_visual .wp-block-cover__inner-container .wp-block-media-text div,
	.main_visual .wp-block-cover__inner-container .wp-block-media-text figure{
		margin-top:2em !important;
	}


	.page_contents,
	.wp-block-cover__inner-container{
		width:95%;
		min-width:95%;
		max-width:95%;
	}
	#about .wp-block-columns,
	#contact .wp-block-columns{
		margin:3em 0;
	}

}

/** Information **/
#information,
#download {
	clip-path: polygon(0 40px, 100% 0, 100% calc(100% - 40px) , 0 100%);
	padding:0;
	margin:0;
}
#download {
	margin-top:-50px;
}
#information .wp-block-cover__inner-container,
#download .wp-block-cover__inner-container{
	padding:0 !important;
	padding-top:4em !important;
	padding-bottom:6em !important;
}
#information .wp-block-latest-posts__list{
	display:inline-block;
	border:1px solid #fff;
	background:rgba(255,255,255,0.2);
	padding:3em 3em 2em 3em;
	width:100%;
	margin:0;
}

#information .wp-block-cover__inner-container h2,
#download .wp-block-cover__inner-container h2{
	padding-top:2em;
}
#information .wp-block-latest-posts__post-header{
	display: inline-block;
	width:100%;
	max-width:100%;
	min-width:100%;
	padding-top:0.5em;
	margin-bottom:1.5em;
}
#information .wp-block-latest-posts__post-header .wp-block-latest-posts__post-title,
#information .wp-block-latest-posts__post-header .wp-block-latest-posts__post-date{
	display:inline-block;
}
#information .wp-block-latest-posts__post-header .wp-block-latest-posts__post-date{
	float:right;
	text-align:right;
}

#information .wp-block-latest-posts__post-full-content{
	clear:both;
	display:inline-block;
	width:100%;
	max-width:100%;
	min-width:100%;
}
#information .wp-block-latest-posts__post-title{
	font-size:1.25em;
	font-weight:bold;
}
#information .wp-block-latest-posts__list li{
	display:inline-block;
	grid-template-columns:80% 20%;
	padding-bottom:1em;
	margin-bottom:3em;
	max-width:980px;
}
#information .wp-block-latest-posts__list li:last-of-type{
	border-bottom:none;
	padding-bottom:0;
	margin-bottom:0;
}

#information .wp-block-latest-posts__list li a:before{
	font-family: "Font Awesome 7 Free";
	content: "\f0da";  
	font-weight: 600;
	margin-right: 8px;
}

#download .wp-block-columns .wp-block-column{
	padding:0 2em !important;
	background:none;
}
#download .wp-block-columns .wp-block-column:first-of-type{
	height:100%;
	min-height:100%;
	max-height:100%;
	padding-top:2em !important;
	padding-bottom:2em !important;
	border:1px solid rgba(255,255,255,0.5);
	background:rgba(255,255,255,0.5);
}
.entry-footer{
	border-top:1px dotted #ccc;
	margin-top:1em;
	padding-top:1em;
}
@media (max-width: 960px) {
	#information,
	#download {
		clip-path: polygon(0 40px, 100% 0, 100% calc(100% - 40px), 0 100%);
		padding:0 auto;
		padding-top:1em;
		padding-bottom:2em;
		text-align:center;
	}
	#download .wp-block-columns .wp-block-column{
		width:auto;
		min-width:auto;
		max-width:30em;
		margin-left:calc((100% -30em)/2);
	}
	#download .wp-block-columns .wp-block-column:first-of-type{
		padding-top:1em !important;
		padding-bottom:1em !important;
		margin-bottom:2em;
	}

/*
	#information .wp-block-latest-posts__list{
		margin-bottom:3em !important;
	}

	#information .wp-block-cover__inner-container h2{
		margin-top:3em !important;
	}
*/
}

/** About **/
#about .wp-block-column ul,
#about .wp-block-column ol,
#about .wp-block-column li,
#about .kyoka_no{
	margin-top:0;
	margin-bottom:0;
}
#about .wp-block-group + h3{
	margin-top:0;
	padding-top:0;
}
#about .wp-block-columns{
	margin-bottom:1em;
}

/** Recruit **/
#recruit {
	padding:8em 3em 0 3em;
	clip-path: polygon(0 40px, 100% 0, 100% calc(100% - 40px) , 0 100%);
}
#recruit .wp-block-media-text__content{
	padding-bottom:3em;
	border:1px solid #fff;
	background:rgba(255,255,255,0.2);
	margin-right:2em;
}
#recruit .tel strong{
	font-size:1.5em;
	font-weight:bold;
}
@media (max-width: 960px) {
	#information .wp-block-latest-posts__list{
		padding:2em 1em;
	}
	#recruit {
		padding:10em 1em;
	}
	#information .wp-block-latest-posts__list li{
		margin-bottom:1em;
	}
	#recruit .wp-block-media-text__content{
		padding-bottom:2em;
		margin-right:1em;
	}
}


/** contact **/
#contact .wp-block-group{
	width:85%;
	min-width:85%;
	max-width:940px;
	margin:0 auto;
	padding:0.5em 2em;
	border:1px solid rgba(200,200,200,0.5);
}
#contact .tel_box{
/*	background:rgba(205, 223, 239, 0.2); */
	padding:2em;
	width:80%;
	margin:0 auto;
	text-align:center;
}
#contact .tel_box .tel_no{
	font-size:1.5em;
}
#contact .tel_box .tel_sub{
	display:inline-block;
	font-size:0.9em;
	margin-top:1em;
	text-align:center;
}
#contact .tel_box br.sp_only{
	display:none;
}

@media (max-width: 960px) {
	#contact .tel_box{
		padding:1.5em 0;
		width:100%;
	}
	#contact .tel_box br.sp_only{
		display:inline-block;
	}
}