@charset "UTF-8";
/*  
Theme Name:Original Style - 1column
Version:1.1
2016.11.05
header,nav,footerなどの構成の指定
*/

/*===================
 Reset  
===================*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

body {
	line-height: 1;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

* {
	box-sizing: border-box;
}

/*===================
 Native  
===================*/

/* editor */

.mainblock p,
.mce-content-body p {
	display: block;
	margin: 0 0 1.4em;
}

strong {
	font-weight: bold;
}

em {
	font-style: italic;
}

blockquote {
	display: block;
	-webkit-margin-before: 1em;
	-webkit-margin-after: 1em;
	-webkit-margin-start: 40px;
	-webkit-margin-end: 40px;
}

/**/
img[class*="wp-image-"],
img[class*="attachment-"] {
	height: auto;
	max-width: 100%;
}

/* clearfix */

.clearfix {
	overflow: hidden;
	zoom: 1;
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

body {
	font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", -apple-system, BlinkMacSystemFont, Roboto,
		"Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
	color: #333;
	line-height: 1.8em;
	letter-spacing: 0;
	font-size: 16px;
}

a:focus,
*:focus {
	outline: none;
}

a,
a img {
	-webkit-transition: 200ms;
	transition: 200ms;
}

a,
a:visited {
	color: #1967b7;
}

a:hover {
	text-decoration: none;
}

a:hover img {
	opacity: 0.7;
	-moz-opacity: 0.7;
	filter: alpha(opacity=70);
	cursor: pointer;
}

@media (min-width : 768px) {
	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
	}
}

img {
	max-width: 100%;
	max-height: 100%;
}

/*==========================
	base
==========================*/

#header>.inner,
#nav>.inner,
#contents>.inner,
#footer .inner,
#footer .footer_inner {
	/* コンテンツ幅 */
	width: 1400px;
	margin: 0 auto;
	max-width: 96%;
}
#footer .footer_nav_wrap + .footer_inner {
	width: 1100px;
}

#header>.inner,
#nav>.inner,
#footer .inner {
	width: 100%;
	max-width: 100%;
}

/*==========================
	#header
==========================*/

#header {
	box-sizing: border-box;
}

#header .textwidget {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#header h1 {
	/* h1ロゴのサイズ指定 */
	display: block;
}

#header h1 a:hover img {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
}

.headerinner ul.pc {
	position: absolute;
	right: 0;
	top: 0;
	display: flex;
	align-items: center;
	gap: 0 20px;
}

.headerinner .tel {
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
	padding-left: 32px;
	background: url("img/icon_tel.svg")no-repeat top 2px left;
	background-size: 22px;
}

.headerinner .btn-style a {
	width: 180px;
	font-size: 18px;
	padding: 8px 30px;
}

.headerinner .btn-style a .large {
	font-size: 20px;
}

.headerinner .web a {
	background: #fd9e50;
}

.headerinner .web .icon {
	padding-left: 26px;
	background: url("img/icon_web.svg")no-repeat top 4px left;
	background-size: 16px;
}

.headerinner .recruit a {
	background: #7ecef4;
}

.headerinner .recruit .icon {
	padding-left: 26px;
	background: url("img/icon_recruit.svg")no-repeat top 3px left;
	background-size: 16px;
}
.headerinner .teacher a {
	background: #72BC4C;
}

/*==========================
	#nav
==========================*/

.menu-sp-nav-container {
	/* スマホ用メニューを隠す */
	display: none;
}

.fixed {
	/* javascript用 */
	position: fixed;
	top: 0;
}

#nav {
	box-sizing: border-box;
}

/*==========================
	#contents
==========================*/

/* パンくず -------------*/
.bread_wrap {
	margin-bottom: 2.5em;
}

.home .bread_wrap {
	margin-bottom: 0;
}

.bread_wrap .bread {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	width: 1000px;
	max-width: 96%;
}

.bread {
	padding: 0.4em 0 0.4em;
	font-size: 82%;
	margin-bottom: 0.5em;
	text-align: right;
}

.bread li {
	display: inline-block;
	line-height: 1.3em;
}

.bread li a {
	color: #666;
}

.bread li a:hover {
	text-decoration: none;
}

/* コンテンツの下部余白 -------------*/

.mainblock.under {
	padding-bottom: 3em;
}

/*==========================
	#aside
==========================*/

/*==========================
	.contentbottom
==========================*/

.contentbottom {
	text-align: center;
}

.contentbottom .contact-bn {
	text-align: center;
}

.contentbottom .contact-bn a {
	display: inline-block;
	margin: 0 0.5%;
	width: 280px;
	max-width: 96%;
}

/*==========================
	#footer
==========================*/

#footer {
	padding: 60px 0 20px;
	background: #ecf4f8;
}

#footer .bg {
	padding: 100px 0;
	background: #f2faf5;
}

#footer .footer_nav_wrap {
	margin-bottom: 40px;
}

#footer h2 {
	text-align: center;
	font-size: 48px;
	line-height: 1.4;
	color: #66bf89;
	margin-bottom: 40px;
}

.info-table th {
	width: 90px;
	text-align: left;
	font-weight: bold;
	border-bottom: 1px solid #e6e6e6;
}

.info-table th,
.info-table td {
	padding: 10px 0;
	border-bottom: 1px solid #e6e6e6;
}

.info-table .wrap {
	display: inline-block;
}

#footer h2 .subtext {
	font-size: 20px;
	display: block;
	color: #333;
	font-weight: normal;
}

body.home #footer {
	border: none;
}

#footer .logo {
	margin: 0 auto 20px;
}

#footer .footer_nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

#footer .footer_nav li {
	position: relative;
	flex: 1 auto;
}

#footer .footer_nav li::before,
#footer .footer_nav li:first-child::after {
	position: absolute;
	content: "";
	display: block;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	height: 100%;
	width: 1px;
	background: #e6e6e6;
}

#footer .footer_nav li::after {
	left: 0;
	right: auto;
}

#footer .footer_nav li a {
	display: block;
	padding: 4px 10px;
	width: 100%;
	text-align: center;
	color: #302213;
	text-decoration: none;
}

#footer .footer_nav li a span span {
	font-size: 12px;
	line-height: 1;
	display: block;
	color: #fd9e50;
}

#footer .footer_nav li a:hover {
	cursor: pointer;
	background-color: #d9e9f1;
}

#footer .tel a {
	font-size: 36px;
	line-height: 1;
	font-weight: bold;
	background: url("img/icon_tel.svg")no-repeat center left;
	background-size: 26px;
	padding-left: 36px;
}

#footer .tel a {
	text-decoration: none;
}

#footer .web .icon {
	background: url("img/icon_web.svg")no-repeat center left;
	background-size: 22px;
	padding-left: 32px;
}

#footer .info-table th {
	color: #0068b7;
	width: auto;
	padding-right: 20px;
}

#footer .info-table th,
#footer .info-table td {
	border-bottom: none;
}

.copyright {
	text-align: center;
	padding: 10px 0px;
	color: #302213;
}

/********************************
	Responsive
*********************************/

@media screen and (min-width: 768px) {
	/* タブレットまで */

	.sp {
		display: none !important;
	}

	.telbtn {
		display: none;
	}

	/*==========================
	base
==========================*/

	/*-- 2カラム時の設定 ------------
#main {
	width:720px;
	float:right;
}
#aside {
	width:240px;
	float:left;
	margin-bottom:20px;
}
--------------*/

	/*==========================
	#header
==========================*/
	#header {
		z-index: 100;
		margin-left: 20px;
	}

	.header_wrap {
		position: sticky;
		top: 0;
		z-index: 10;
		padding: 15px 0;
		background: #fff;
	}

	.header_inner {
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 1400px;
		max-width: 96%;
		margin: auto;
	}

	/*==========================
	#nav
==========================*/
	#nav {
		width: 720px;
		z-index: 100;
		box-sizing: content-box;
		margin-top: 55px;
	}

	/* PC用グローバルナビゲーション */
	#nav li {
		box-sizing: border-box;
	}

	#nav a,
	#menu-header-nav>li>span {
		text-decoration: none;
		display: block;
		text-align: center;
		background-repeat: no-repeat;
		line-height: 1.35em;
		box-sizing: border-box;
		-webkit-transition: 200ms;
		transition: 200ms;
	}

	#menu-header-nav {
		display: flex;
	}

	#menu-header-nav>li {
		flex: 1 auto;
		position: relative;
	}

	#menu-header-nav>li>a {
		font-size: 16px;
		/* height: 50px; */
		box-sizing: border-box;
		padding: 5px 4px 0;
		color: #473419;
		letter-spacing: 0.1em;
		position: relative;
		z-index: 20000;
		background-color: transparent;
		line-height: 1.4em;
	}

	/* 
	#menu-header-nav>li.nav01>a {
		background-position: center;
		background-repeat: no-repeat;
	} */

	#menu-header-nav>li {
		position: relative;
		padding-right: 1px;
	}

	#menu-header-nav>li>a:hover {
		background: #fff3d2;
	}

	/* #menu-header-nav>li::before,
	#menu-header-nav>li::after {
		position: absolute;
		content: "";
		display: block;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		height: 20px;
		width: 1px;
		background: #cccccc;
	}

	#menu-header-nav>li.nav06::after,
	#menu-header-nav>li.nav06::before {
		display: none;
	}

	#menu-header-nav>li>a:hover,
	#menu-header-nav>li:hover>a>span {
		cursor: pointer;
		background-color: #fff3d2;
	} */

	#menu-header-nav li {
		-moz-transition: .2s;
		-webkit-transition: .2s;
		-o-transition: .2s;
		-ms-transition: .2s;
		transition: .2s;
	}

	#menu-header-nav>li>a>span span {
		display: block;
		width: 100%;
		color: #ff9d4d;
		font-size: 12px;
	}

	#nav ul li.has_children>a::after {
		display: block;
		content: "";
		position: absolute;
		width: 6px;
		height: 6px;
		bottom: 5px;
		right: 0;
		left: 0;
		margin: auto;
		border-bottom: solid 1px #80d1a7;
		border-right: solid 1px #80d1a7;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#menu-header-nav ul.sub-menu {
		position: absolute;
		padding: 0;
		background: none;
		z-index: 9;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
		min-width: 200px;
		box-sizing: border-box;
		text-align: center;
		-moz-transition: .2s;
		-webkit-transition: .2s;
		-o-transition: .2s;
		-ms-transition: .2s;
		transition: .2s;
	}

	#menu-header-nav>li:last-child ul.sub-menu {
		width: 100%;
	}

	#menu-header-nav>li>ul.sub-menu {
		height: auto;
		overflow: hidden;
	}

	#menu-header-nav>li:hover>ul.sub-menu {
		height: auto;
		top: 50px;
		padding-top: 0;
		padding-bottom: 0;
		background: #fff3d2;
		color: #473419;
	}

	#menu-header-nav>li>ul.sub-menu>li {
		width: 100%;
		height: 0;
	}

	#menu-header-nav>li:hover>ul.sub-menu>li {
		float: none;
		height: auto;
		border-top: 1px solid #fff;
	}

	#menu-header-nav>li>ul.sub-menu>li a {
		font-size: 14px;
		text-align: center;
		text-indent: inherit;
		color: #473419;
		padding: 12px 5px 11px;
		display: block;
		background-color: #f4f6ee;
	}

	#menu-header-nav ul.sub-menu li a:hover {
		background-color: #fff3d2;
		color: #473419;
	}

	/*==========================
	#contents
==========================*/

	/* コンテンツのmin-height -------------*/

	#contents #main {
		min-height: 600px;
	}

	/*==========================
	#aside
==========================*/

	#aside .inq {
		/* サイド固定バナー */
		position: fixed;
		top: 140px;
		right: 0;
		width: 120px;
		z-index: 5;
	}

	#aside .inq a {
		display: block;
	}

	#aside .inq a:hover img {
		opacity: 0.8;
		-moz-opacity: 0.8;
		filter: alpha(opacity=80);
	}

	#aside .inq li+li {
		margin-top: 10px;
	}

	#aside .totop {
		position: fixed;
		bottom: 10px;
		right: 10px;
	}

	/*-- ブログページ ------------*/

	.caegory-in-blog #main,
	.single-in-blog #main {
		float: right;
		width: 72%;
	}

	.caegory-in-blog #aside,
	.single-in-blog #aside {
		float: left;
		width: 24%;
	}

	/*==========================
	.contentbottom
==========================*/

	.contentbottom .contact-bn a {
		max-width: 45%;
	}

	/*==========================
	#footer
==========================*/
	#footer .columns {
		gap: 0 40px;
		align-items: center;
	}

	#footer .columns.tel_box {
		gap: 20px 40px;
		align-items: center;
		justify-content: flex-start;
		margin-bottom: 10px;
	}

	#footer .column:first-child {
		width: 363px;
	}

	#footer .column:last-child {
		width: calc(100% - 40px - 363px);
	}

	#footer .web a {
		font-size: 28px;
		padding: 10px 20px;
		width: 340px;
	}

	#footer .googlemap {
		padding-bottom: 0;
		height: 100%;
	}
}

@media screen and (max-width: 1442px) and (min-width: 768px) {

	/*==========================
	#footer
==========================*/

	#footer .footer_nav li a {
		font-size: clamp(14px, 1.6vw, 16px);
	}
}

@media screen and (max-width: 1200px) and (min-width: 768px) {
	#header h1 {
		width: 200px;
	}

	.headerinner ul.pc {
		gap: 10px;
	}

	.headerinner ul .btn-style a {
		font-size: 16px;
		width: 140px;
		padding: 10px 20px;
	}

	.headerinner ul .btn-style a::after {
		right: 10px;
		top: 40%;
	}

	.headerinner .tel {
		font-size: 24px;
		background-size: 18px;
		padding-left: 25px;
	}

	.headerinner .web .icon {
		background-size: 12px;
		padding-left: 20px;
	}

	.headerinner .recruit .icon {
		background-size: 12px;
		padding-left: 20px;
	}

	#nav {
		width: calc(100% - 220px);
	}

	#menu-header-nav>li a {
		font-size: 12px;
	}


	#aside .inq {
		width: 70px;
	}
}
@media screen and (max-width: 1100px) and (min-width: 768px) {
	#aside .totop {
		width: 70px;
	}

	#footer .columns {
		gap: 20px;
	}

	#footer .column:first-child {
		width: 30%;
	}

	#footer .column:last-child {
		width: calc(100% - 30% - 20px);
	}

	#footer .columns.tel_box {
		gap: 20px;
	}

	#footer .columns.tel_box>* {
		line-height: 1;
	}

	#footer .tel a {
		font-size: 30px;
	}

	#footer .web a {
		width: 220px;
		font-size: 20px;
	}
	#footer .web a .large{font-size:22px;
		
	}
}

@media screen and (max-width: 767px) {
	/* スマホ */

	.pc {
		display: none !important;
	}

	/*==========================
	base
==========================*/
	/*-- 2カラム時の設定 ------------
#main , #aside{
	width:480px;
	max-width:96%;
	float:none;
}*/
	/*==========================
	#header
==========================*/
	.header_wrap {
		position: sticky;
		top: 0;
		background: #fff;
		z-index: 10;
	}

	#header {
		padding: 0;
	}

	#header h1 {
		width: 270px;
		max-width: 70%;
		margin-left: 20px;
		padding: 5px 0;
	}

	.headerinner ul {
		max-width: 20%;
		width: 70px;
	}

	.headerinner ul img {
		width: 100%;
	}

	.headerinner .tel {
		float: left;
		max-width: 53%;
		margin-right: 4.5%;
		width: 90px;
	}

	.headerinner .mail {
		float: left;
		max-width: 32%;
		margin-right: 4.5%;
		width: 61px;
	}

	.headerinner #toggle {
		max-width: 100%;
		float: left;
		width: 70px;
	}

	/*==========================
	#nav
==========================*/
	#nav {
		height: auto;
		padding: 0;
	}

	#nav.fixed {
		/*.fixedの指定を初期化して無効に。スマホに影響させないため*/
		position: inherit !important;
		top: auto !important;
	}

	/* メニューボタン */
	#toggle {
		display: block;
		/* position: absolute; */
		top: 15px;
		right: 2.5%;
	}

	#toggle a {
		width: 100%;
		margin: 0;
		float: none;
		position: relative;
		padding: 0;
		border: none;
	}

	#toggle img {
		max-height: 100%;
	}

	#toggle a:hover {
		background: none !important;
	}

	/* #menu-header-nav ------*/
	#menu-header-nav,
	#menu-header-nav .sub-menu {
		/* スライドダウンさせるために隠す */
		display: none;
	}

	#nav ul.menu {
		background: #fff;
		left: 0;
		margin: 0;
		top: 70px;
		width: 100%;
		position: absolute;
		z-index: 99;
		border-top: 1px solid #ccc;
	}

	#nav ul li .subtxt {
		display: none;
	}

	#nav ul li>a br {
		display: none;
	}

	#nav ul li.nav03 ul.sub-menu>li:first-child {
		border-top: none;
	}

	#nav ul li {
		display: block;
		text-align: left;
		background: none;
		float: none;
		height: auto;
		width: 100%;
		padding: 0;
		box-sizing: border-box;
		border: none;
		border-bottom: 1px solid #ccc;
		margin: 0;
	}

	#nav ul li ul li {
		border-top: 1px solid #ccc;
		border-bottom: none;
	}

	#nav ul li a {
		display: block;
		padding: 18px 6px 18px 15px;
		background-position: 5px center;
		background-size: 16px auto;
		width: 100%;
		float: none;
		box-sizing: border-box;
		text-align: left;
		height: auto;
		line-height: 1.5;
		text-decoration: none;
		position: relative;
		color: #1a1a1a;
	}

	#nav ul li a::after {
		display: block;
		content: "";
		position: absolute;
		width: 8px;
		height: 8px;
		top: 50%;
		right: 10px;
		margin: -5px 0 0 0;
		border-bottom: solid 2px #fd9e50;
		border-right: solid 2px #fd9e50;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}

	#nav ul li a:hover {
		cursor: pointer;
		background-color: #fff3d2;
	}

	#nav ul li a:before {
		content: "- "
	}

	#nav ul li.has_children>a::after {
		display: block;
		content: "";
		position: absolute;
		width: 8px;
		height: 8px;
		top: 50%;
		right: 10px;
		margin: -5px 0 0 0;
		border-bottom: solid 2px #fd9e50;
		border-right: solid 2px #fd9e50;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#nav ul li .sub-menu {
		background: #f4f6ee;
	}

	#nav ul li .sub-menu li a {
		padding-left: 35px;
	}

	#nav li:first-child a {
		border-left: none;
	}

	/*==========================
	#contents
==========================*/
	.bread_wrap {
		margin-bottom: 1em;
	}

	#contents {
		margin-bottom: 1.5em;
	}

	/*==========================
	#aside
==========================*/
	.inq {
		position: fixed;
		bottom: 0;
		right: 0;
		z-index: 10;
	}

	.inq .bnr_box {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.inq .totop {
		margin-left: auto;
		width: 50px;
		margin-right: 10px;
		margin-bottom: 10px;
	}

	/*==========================
	.contentbottom
==========================*/

	/* 最下部固定お問い合わせバナー */
	.contact {
		position: fixed;
		bottom: 0;
		width: 100%;
		background: rgba(207, 207, 207, 0.6);
		padding: 10px 0;
		left: 0;
		text-align: center;
		z-index: 5;
	}

	.contact a {
		display: inline-block;
		width: 200px;
		max-width: 48%;
		margin: 0 0.5%;
	}

	/*==========================
	#footer
==========================*/
	#footer {
		padding: 20px 0;
	}

	#footer .logo {
		width: 280px;
	}

	#footer .footer_nav_wrap {
		margin-bottom: 30px;
	}

	#footer .footer_nav {
		display: block;
	}

	#footer .footer_nav li {
		width: 100% !important;
		border-bottom: 1px solid #ccc;
	}

	#footer .footer_nav li:last-child {
		border: none;
	}

	#footer .footer_nav li::before,
	#footer .footer_nav li::after {
		display: none;
	}

	#footer .footer_nav li a {
		width: 100%;
		position: relative;
		padding: 15px 20px;
	}

	#footer .footer_nav li a::after {
		content: "";
		display: block;
		position: absolute;
		top: 40%;
		right: 10px;
		margin: 0 auto;
		width: 10px;
		height: 10px;
		border-right: 2px solid #ccc;
		border-top: 2px solid #ccc;
		transform: rotate(45deg);
	}

	#footer .tel_box {
		margin: 30px 0;
	}

	#footer .tel {
		margin-bottom: 20px;
		text-align: center;
	}
  #footer .tel_box .tel a {
    font-size:28px;
    background-size:20px;
    padding-left:26px;
  }
	#footer .web a {
		font-size: 22px;
		padding: 12px 20px 10px;
	}

	#footer .web a .icon {
		background-position: top 2px left;
	}

	#footer table {
		width: fit-content;
		margin: auto;
	}

	.copyright {
		padding-top: 30px;
	}

	.mainblock.under>*:last-child {
		margin-bottom: 0 !important;
	}

	.mainblock.under {
		padding-bottom: 2em;
	}
}

@media screen and (min-width: 768px) {
	.blog.archive .entry-block .btn-style {
		text-align: left;
	}
}