@charset "utf-8";
/*
.kosugi-maru-regular {
  font-family: "Kosugi Maru", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.zen-maru-gothic-regular {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.zen-maru-gothic-bold {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.zen-maru-gothic-black {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  font-style: normal;
}
*/
/* ---------------------------------
  _01 スタイルリセット
------------------------------------*/

html { font-size: 62.5%;}
body {
	margin: 0;
	padding: 0;
	line-height: 1.6;
	color: #333333;
	background-color: #fffbf5;
	font-family: "Kosugi Maru", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.5rem;
}
@media screen and (max-width: 640px){
}

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
}
p {
	margin: 0;
	padding: 0;
	line-height: 1.6;}
img {
	border: 0;
	display: block;}

a { text-decoration: inherit; /* 必要に応じて「none」に */}
a:link { color: #706557;}
a:visited { color: inherit;}
a:hover { color: #841e38;}

ul {
	margin: 0;
	padding: 0;
	list-style: none;}
ol {
	margin: 0;
	padding: 0;}
li {
	margin: 0;
	padding: 0;}
dl, dt, dd {
	margin: 0;
	padding: 0;}
form {
	margin: 0;
	padding: 0;}

hr { display: none;}


/* ---------------------------------
  _02 共通クラス
------------------------------------*/
.red_font { color: #e8383d;}
.yellow_font { color: #ffff00;}
.light_blue_font { color: #86b3e0;}
.white_font { color: #ffffff;}
.bold { font-weight: bold; }
h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
	display: inline-block;
	vertical-align: middle;}

.supplement { /* 補助的に入れる見出しを表示しないようにするクラス */
	position: absolute;
	left: -10000em;}
.notes {
	margin-left: 1.25em;
	text-indent: -1.25em;
}
.center {
	text-align: center;
}

.flexbox_space-between {
	display: flex;
	justify-content: space-between;
}
.flexbox {
	display: flex;	
}
.flex-wrap {
	flex-wrap:wrap;
}
.w100 {
	width:100%;
}

.con_wrapper {
    margin: 0 auto;
    width: 1100px;
    height: auto;
	padding: 4em;
	box-sizing: border-box;
	background-color: #ffffff;
}

@media screen and (min-width: 641px){

.hide_pc { display: none;}
section { padding: 0px 0 60px; }
section .container {
    margin: 0 auto;
    width: 1100px;
    height: auto;
}

}
@media screen and (max-width: 640px){

.hide_sp { display: none;}
section { padding: 10px 0 30px; }
section .container {
	/*margin: 0 1.5rem;*/
	padding: 0 1.5rem;
}
.flexbox_space-between {
	flex-direction: column;
}
.flexbox {
	flex-direction: column;
}
.con_wrapper {
    margin: 0 auto;
    width: 100%;
    height: auto;
	padding: 4rem 1.5rem;
}

}

/*PCで電話番号リンクを無効に*/
@media screen and (min-width: 641px){
	a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

/* 数字フォント */
@font-face {
  font-family: "font_num";
  src: url("../fonts/bodoni-mt-regular.ttf") format("truetype");
}


/* ---------------------------------
  _02 ヘッダー＆ナビゲーション
------------------------------------*/
header .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 120px;
	width: 1100px;
	margin: 0 auto;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
}
header .site_name img {
	height: 72px;
}


header nav {
	margin-left: auto;
}
header nav ul {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
}
header nav ul li a {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-right: 2em;
}
header nav ul li a img {
	width: 50px;
}
header nav ul li.entry a, header nav ul li.inquiry a {
	border-radius: 50%;
	background-color: #0c00cc;
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;
    width: 86px;
    height: 86px;
	margin-right: 2em;
	color: #ffffff;
}
header nav ul li.entry a img, header nav ul li.inquiry a img {
	width: 20px;
}
header nav ul li:last-child a {
	margin-right:0;
}
header nav ul li:nth-last-child(2) a {
	margin-right: 1em;
}

@media screen and (max-width: 640px){
	header .container {
		width: 100%;
		height: auto;
	}
	header h1.site_name {
	}
	header .site_name img {
		width: auto;
		height: 55px;
		margin: 0.5em auto;
	}
	header nav {
		display: none;
	}
}


@media screen and (max-width: 640px){

	/* ハンバーガーメニュー */
	.openbtn{
		position: relative;
		background:#706557;
		cursor: pointer;
		width: 60px;
		height:60px;
		overflow: hidden;
		z-index: 1020;
		}
	.openbtn span{
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
		left: 14px;
		height: 4px;
		background: #fff;
		width: 32px;}
	.openbtn span:nth-of-type(1) { top:12px;}
	.openbtn span:nth-of-type(2) { top:22px;}
	.openbtn span:nth-of-type(3) { top:32px;}
	.openbtn span:nth-of-type(3)::after {
		content:"MENU";/*3つ目の要素のafterにMenu表示を指定*/
		position: absolute;
		top: 5px;
		left: -24px;
		width: 80px;
		color: #fff;
		font-size: 1.2rem;
		font-weight: 600;
		text-align: center;}
	/*activeクラスが付与されると線が回転して×に*/
	.openbtn.active span:nth-of-type(1) {
		top: 15px;
		left: 20px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;}
	.openbtn.active span:nth-of-type(2) {
		opacity: 0;/*真ん中の線は透過*/
	}
	.openbtn.active span:nth-of-type(3){
		top: 27px;
		left: 20px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
	}
	.openbtn.active span:nth-of-type(3)::after {
		content:"CLOSE";/*3つ目の要素のafterにClose表示を指定*/
		transform: translateY(0) rotate(-45deg);
		top: 7px;
		left: -16px;}

	.sitemap {
		margin-right: -100vw;
		margin-top: 0;
		padding-top: 4em;
		position:fixed;
		top: 0;
		right: 0;
		width: 100vw;
		height: 100vh;
		background-color: rgba(255,255,255,0.9);
		z-index: 1010;
	}
	.sitemap .sitemap_inner {
		margin: 0 auto;
		width: 80%;
		padding-bottom: 4em;}

	.sitemap ul {
	}
	.sitemap ul li {
		border-bottom: 1px solid #706557;
		padding: 1em 0;
		font-size: 1.1em;
		text-align: center;
	}
	.sitemap ul li a {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.sitemap ul li a img {
		margin-right: 0.5em;
	}
	.sitemap ul li a:link{
		color: inherit;
	}
}



/* ---------------------------------
  _02 フッター
------------------------------------*/
footer {
	background-color: #fef2e2;
}
footer .container {
	margin: 0 auto;
	padding: 2em 0;
	width: 1100px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-end;
}
footer .school_info {
	background-color: #ffffff;
	border-radius: 25px;
	padding: 1.5em 4em;
	text-align: center;
	width: fit-content;
	margin: auto;
}
footer .footer_logo {
	max-width: 300px;
	margin-bottom: 0.5em;
}

footer .site_name {
	display: flex;
	justify-content:center;
}
footer .site_name img {
	height: 50px;
}
footer .name {
	font-family: dnp-shuei-mincho-pr6n, sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 1.4em;
	margin-left: 10px;
	line-height: 1.3;
}
footer .name span {
	display: block;
	font-size: 0.8em;
}
footer .inquiry {
	text-align: center;
	font-size: 0.9em;
}
footer .inquiry span {
	font-family: "font_num", sans-serif;
	font-size: 1.9em;	
}
footer .open {
	text-align: center;
	font-size: 0.9em;
}
footer address {
	text-align: center;
	font-size: 0.9em;
}
footer .copyright {
	text-align: center;
	margin-top: 2em;
	width: 100%;
}

@media screen and (max-width: 640px){
	footer .container {
		width: 100%;
		flex-direction: column;
		align-items: center;
	}	
	footer .school_info {
		border-radius: 15px;
		padding: 1.5em;
		margin-bottom: 0.5em;
	}


}


/* パンくずリスト */
nav.breadcrumb {
	background: rgba(112,101,87,0.1);
}
nav.breadcrumb ol {
	margin: 0 auto;
	padding: 0.5em 0;
	width: 1100px;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	font-size: 0.9em;
}
nav.breadcrumb ol li:not(:last-of-type)::after {
  content: "›";
  margin: 0 .6em; /* 記号の左右の余白 */
}
@media screen and (max-width: 640px){
	nav.breadcrumb ol {
		width: 100%;
	}
}

/* ページのトップへボタン */
html {
    scroll-behavior: smooth;
}
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 1px #948771;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #948771;
    border-right: 3px solid #948771;
    transform: translateY(20%) rotate(-45deg);
}
@media screen and (max-width: 640px){
.pagetop {
    right: 10px;
    bottom: 20px;
	background-color: rgba(255,255,255,0.5);
}

}




/* ---------------------------------
  ボタン
------------------------------------*/
div.btn_pink, div.btn_blue{
	width: fit-content;
	margin: 20px auto 0;
}
div.btn_pink a, div.btn_blue a {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 5px 30px 5px 15px;
	color: #fff;
	background-color: #fca2a9;
	transition: 0.3s;
	text-decoration: none;
	cursor: pointer;
	font-family: a-otf-ud-shin-go-pr6n, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1.4em;
	letter-spacing: 0.1em;
	border-radius: 10px;
}
div.btn_pink a span, div.btn_blue a span {
	font-size: 80%;
	letter-spacing: 0;
}
div.btn_pink a::after,
div.btn_blue a::after {
	content: '';
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
    right: 15px;
}
div.btn_pink a:hover,
div.btn_blue a:hover {
	text-decoration: none;
	background-color: #e87280;}

div.btn_blue a{
	background-color: #8cc2f4;}
div.btn_blue a:hover {
	background-color: #5aa8e2;}


/* footer お問合せフォームボタン */
div.btn_form{
	width: fit-content;
	margin: 0 auto 20px;
}
div.btn_form a{
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 5px 30px 5px 15px;
	color: #fff;
	background-color: #c7b299;
	transition: 0.3s;
	text-decoration: none;
	cursor: pointer;
	font-family: a-otf-ud-shin-go-pr6n, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1.2em;
	letter-spacing: 0.1em;
}
div.btn_form a::after{
	content: '';
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
    right: 13px;
}
div.btn_form a:hover{
	text-decoration: none;
	background-color: #c19f7a;
}

/* ベーシック */
div.btn{
	width: fit-content;
	margin: 0 auto 20px;
}
div.btn a{
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	padding: 5px 40px 5px 25px;
	color: #fff;
	background-color: #948771;
	border-radius: 15px;
	transition: 0.3s;
	text-decoration: none;
	cursor: pointer;
	font-family: a-otf-ud-shin-go-pr6n, sans-serif;
	font-weight: 300;
	font-style: normal;
	font-size: 1em;
}
div.btn a::after{
	content: '';
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	position: absolute;
    right: 13px;
}
div.btn a:hover{
	text-decoration: none;
	background-color: #c19f7a;
}

@media screen and (max-width: 640px){
	div.btn_pink a, div.btn_blue a{
		padding: 5px 30px 5px 15px;
		font-size: 1.3em;
		letter-spacing: 0.1em;
	}
}



/* ---------------------------------
  _ clearfix
------------------------------------*/

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

/* Hides from IE-mac \*/
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}
/* End hide from IE-mac */
	
	
	


