@charset "UTF-8";
/* CSS Document */

/*reset
------------------------------------------------------------------------------*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul {
margin: 0;
padding: 0;
font-weight: normal;
}
img {
	border:0;
	vertical-align: middle;
	max-width:100%;
}
*{
	box-sizing: border-box;
}

/*------------------------------------------------------------------------------*/


/*background
------------------------------------------------------------------------------*/

body{
	font-family: "游ゴシック", "Yu Gothic", Yu Gothic, "游ゴシック体", "YuGothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-family: "Noto Sans JP", sans-serif;
	width:100%;
	letter-spacing: 0.8px;
	color: #222222;
	font-size: 16px;
	line-height: 1.75;
	background-color: #fffaf0;
}

/*PC・スマフォで非表示
------------------------------------------------------------------------------*/
.pc_none {
	display: none;
}
.sp_none {
	display: block;
}

.price_table_head.sp_none{
	display: table-cell;
}



/*ここからcss設定
------------------------------------------------------------------------------*/
.inner{
	width:90%;
	max-width:1280px;
	margin:0 auto;
}
.inner2{
	width:90%;
	max-width:1000px;
	margin:0 auto;
}
.flex{
	display: flex;
	justify-content: space-between;
}
a{
	transition: .5s;
}
a:hover{
	opacity:0.7;
}
.a_reset{
	text-decoration: none;
	color: #222222;
	display: inline-block;
}
.listnone{
	list-style: none;
}
.kaisei{
	font-family: "Kaisei Opti", serif;
}
.come{
	font-size:0.8em;
}

.textblue{
	color: #61A8D8;
}



/* -------------------- */
/* header
/* -------------------- */
.header {
	justify-content: space-between;
	align-items: center;
	padding: 1.5rem 3rem;
	border-top: 5px solid #61A8D8;
}
.nav_item + .nav_item {
	margin-left: 3rem;
}
.burger_btn {
	display: none;
}
.site_title{
	width:12rem;
	line-height: 1;
}
.site_title a{
	display: block;
	letter-spacing: 2px;
}
.site_title span{
	font-size: 16px;
	letter-spacing: 0;
	display: block;
	padding-bottom: 5px;
}
.header_contact_method_tel{
	width: 90%;
	text-align: center;
	margin: 0 auto;
	margin-top: 20px;
	padding-bottom: 100px;
}
.header_contact_method_tel a span{
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
	padding: 0 0.5rem;
	letter-spacing: 0.2rem;
}




/* -------------------- */
/* セクション共通
/* -------------------- */
.section_wrap{
	margin-top:50px;
	padding-top:50px;
}
.section_title{
	font-size: 28px;
	line-height: 58px;
}
.section_subtitle{
	font-size: 24px;
}
.section_text{
	font-size: 18px;
	margin-top: 10px;
}
.section_subtext{
	font-size: 16px;
	margin-top: 10px;
}
.btn_01{
	text-align: center;
	margin-top: 20px;
}
.btn_01_a{
	text-align: center;
	background-color:#FFC54D;
	padding: 7px 16px;
	min-width: 150px;
	border-radius: 10px;
}



/* -------------------- */
/* メイン画像
/* -------------------- */
.top_main_img img{
	width:100%;
	height:auto;
}


/* -------------------- */
/* フッター
/* -------------------- */
#footer_contact{
	text-align: center;
	margin-top: 100px;
}
.footer_contact_in{
	min-width: 600px;
	padding: 30px;
	background-color: #fff;
	border-radius: 20px;
	display: inline-block;
}
.footer_contact_in .section_text{
	margin-top:0;
}
.footer_contact_in a{
	font-size: 38px;
	font-weight: bold;
	color:#61A8D8;
}
.footer_contact_in a img{
	width: 45px;
	margin-right: 10px;
}
.footer{
	margin-top: 100px;
}
.footer_menu{
	background-color: #eff6fb;
	padding: 50px 0;
}
.footer_menu > .inner2{
	position: relative;
	z-index: 1;
}

.footer_left{
	width: 450px;
	margin-right:50px;
}
.footer_right{
	width:calc(100% - 500px);
}
.footer_title{
	font-size:1.5em;
}
.footer_title span{
	font-size: 0.7em;
}
.footer_address{
	margin-top: 20px;
}

.footer_menu_ul{
	width: calc(100% / 2 - 15px);
}
.footer_menu_ul + .footer_menu_ul{
	margin-left: 30px;
}
.footer_menu_li{
	position: relative;
}
.footer_menu_li:before{
	content:"";
	background-color: #61A8D8;
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.footer_menu_li:nth-child(even):before{
	background-color: #FFC54D;
}
.footer_menu_ul + .footer_menu_ul .footer_menu_li:before{
	background-color: #FFC54D;
}
.footer_menu_ul + .footer_menu_ul .footer_menu_li:nth-child(even):before{
	background-color: #61A8D8;
}
.footer_menu_li + .footer_menu_li{
	margin-top: 5px;
}
.footer_menu_li a{
	padding-left: 15px;
}
.copy{
	background-color:#61A8D8;
	color: #fff;
	padding: 10px 0;
	font-size: 14px;
	text-align: center;
}
.copy a{
	color: #fff;
}


/* -------------------- */
/* #top_catch
/* -------------------- */

#top_catch{
	text-align: center;
	
}


/* -------------------- */
/* #abouthead
/* -------------------- */
#abouthead{
	margin-top: 100px;
	text-align: center;
}
.abouthead_in,
.section_in{
	padding: 100px;
	background-color: #fff;
	border-radius: 20px;
	margin-top: 50px;
}

.abouthead_in section + section,
.section_in section + section{
	margin-top: 50px;
	padding-top: 50px;
	border-top: 1px dashed #FFC54D;
}


/* -------------------- */
/* #section01
/* -------------------- */
#section01 .column_03:nth-child(even){
	margin: 0 30px;
}
#section01 .column_03 img{
	border-radius: 20px;
}

#section01 .section_subtitle {
	text-align: center;
	margin-top: 10px;
}



/* -------------------- */
/* #section04
/* -------------------- */
#section04 .column_03_wrap {
	margin-top: 15px;
}
#section04 .column_03 {
	width: calc(100% / 3 - 10px);
}
#section04 .column_03:nth-child(even){
	margin: 0 30px;
}
.goal_text{
	width: 100%;
	padding-top: 100%;
	background: rgba(255, 197, 77, 0.3);
	position: relative;
	border-radius: 50%;
	/* border: 3px solid #FFC54D; */
}
.goal_text p{
	font-size: 24px;
	line-height: 1.4;
	width: 100%;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 3;
}


/* -------------------- */
/* #section05
/* -------------------- */

#section05 ol{
	padding-left: 1.5em;
}

/* -------------------- */
/* #section06
/* -------------------- */
#section06 .column_03_wrap {
	flex-wrap: wrap;
}
#section06 .column_03{
	width: calc(100% / 4 - 12px);
	margin-left: 16px;
	text-align: center;
}
#section06 .column_03 img{
	border-radius: 10px;
}
#section06 .column_03:first-child,
#section06 .column_03:nth-of-type(5n){
	margin-left:0;
}
#section06 .column_03:nth-child(n+5){
	margin-top: 20px;
}



.needlist{
	margin-top: 20px;
	padding: 20px;
	background: rgba(255, 197, 77, 0.3);
	border-radius: 10px;
}
.needlist ul{
	margin-left: 1.5em;
}

.section_in{
	
}




/* -------------------- */
/* #access
/* -------------------- */
#access .section_title{
	text-align: center;
}
.access_text{
	margin-top:50px;
}
.accessmap{
	position: relative;
	padding-top: 350px;
}
.accessmap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin-top: 20px;
}



/* -------------------- */
/* .pagewrap
/* -------------------- */
.pagewrap{
	text-align: center;
}
.pagewrap_in{
	padding: 100px;
	background-color: #fff;
	border-radius: 20px;
	margin-top: 50px;
}

.pagewrap_in section + section{
	margin-top: 50px;
	padding-top: 50px;
	border-top: 1px dashed #FFC54D;
}



/* -------------------- */
/* #program_picture
/* -------------------- */
#program_picture{
	margin-top: 100px;
}
#program_picture .column_03_wrap{
	flex-wrap: wrap;
}
#program_picture .column_03{
	width: calc(100% / 3 - 20px);
	margin-left: 30px;
	text-align: center;
}
#program_picture .column_03:nth-child(1n){
	margin-left:0;
}
#program_picture .column_03 img{
	border-radius: 10px;
}
#program_picture .column_03:nth-child(n+4){
	margin-top: 20px;
}


/* -------------------- */
/* 法人概要
/* -------------------- */
.company_table{
	width:100%;
	border-collapse: collapse;
	border-top: 1px solid #ddd;
}
.company_table th,
.company_table td{
	padding:10px 15px;
	border-bottom: 1px solid #ddd;
}
.company_table th{
	background-color: #f5f5f5;
}



/* -------------------- */
/* 年間行事
/* -------------------- */
#curriculum_picture{
	margin-top: 100px;
}
#curriculum_picture .column_03_wrap{
	flex-wrap: wrap;
}
#curriculum_picture .column_03{
	width: calc(100% / 3 - 20px);
	margin-left: 30px;
}
#curriculum_picture .column_03:nth-child(1n){
	margin-left:0;
}
#curriculum_picture .column_03 img{
	border-radius: 10px;
}
#curriculum_picture .column_03:nth-child(n+4){
	margin-top: 50px;
}
.curriculum_title{
	font-size: 24px;
	line-height: 42px;
	margin-top: 5px;
}


/* -------------------- */
/* 情報公開
/* -------------------- */
.disclosure_btn_con a{
	text-align: center;
	background-color: #FFC54D;
	padding: 7px 16px;
	width: 100%;
	border-radius: 10px;
}
.disclosure_btn_con + .disclosure_btn_con{
	margin-top: 20px;
}




@media screen and (max-width:1024px) {
	.pc_none {
		display: block;
	}
	.sp_none {
		display: none;
	}
	
	
	
	/* デフォルトのbuttonスタイルをリセット */
	button {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: transparent;
		border: 0;
		border-radius: 0;
		color: inherit;
		cursor: pointer;
		font: inherit;
		margin: 0;
		outline: none;
		padding: 0;
		vertical-align: middle;
	}
	
	.header {
		padding: 20px;
		position: relative;
		z-index: 999;
	}
	.site_title{
		max-width: 21rem;
	}
	.site_title img{
		vertical-align: baseline;
	}
	
	.burger_btn {
		display: block;
		position: relative;
		width: 3rem;
		height: 1.7rem;
		z-index: 3;
		/* codepenの挙動のため */
		background-color: transparent;
		border: none;
	}
	.bar {
		background-color: #61A8D8;
		display: block;
		height: 3px;
		right: 0;
		position: absolute;
		width: 3rem;
	}
	.bar_top {
		top: 0;
	}
	.bar_mid {
		top: 0.75rem;
		width: 3rem;
	}
	.bar_bottom {
		bottom: 0;
		width: 3rem;
	}
	.burger_btn.close .bar_top {
		top: -3px;
		transform: translate(0,  0.85rem) rotate(25deg);
		transition: transform .3s;
	}
	.burger_btn.close .bar_mid {
		opacity: 0;
		transition: opacity .3s;
	}
	.burger_btn.close .bar_bottom {
		transform: translate(0, -0.9rem) rotate(-26deg);
		transition: transform .3s;
	}
	.noscroll{
		overflow: hidden;
	}
	.nav_wrapper {
		visibility: hidden;
		height: calc(100vh + 97px);
		left: 0;
		position: fixed;
		top: 97px;
		width: 100%;
		opacity: 0;
		transition: opacity .5s;
		z-index: 2;
	}
	.header_nav {
		background-color: #fffaf0;
		height: 100%;
		width: 100%;
		z-index: 2;
	}
	.nav_list {
		display: block;
		width: 80%;
		max-width: 400px;
		margin: 0 auto;
		padding: 30px 0 20px;
	}
	.nav_item {
		margin-right: 0;
		font-size: 20px;
	}
	.nav_item + .nav_item{
		margin-left:0;
		border-top: 1px dashed #FFC54D;
	}
	.nav_item a{
		padding: 15px 10px;
		display: block;
	}
	.nav_wrapper.fade {
		opacity: 1;
		visibility: visible;
		overflow-y: scroll;
	}
	
	.header_menu_btn_sp{
		text-align: center;
	}
	.header_menu_btn_sp p{
		font-size: 14px;
		letter-spacing: 2px;
	}
	
	.header_contact_method_tel a{
		font-size: 28px;
		font-weight: bold;
		color: #61A8D8;
	}
	.header_contact_method_tel a img{
		width: 28px;
		margin-right: 10px;
	}
	.header_contact_method_come{
		font-size: 0.8em;
	}
	.header_contact_method_title{
		font-size: 22px;
	}
	
	
	.section_wrap{
		padding:25px 0;
	}
	.section_title{
		font-size: 24px;
		font-size: 26px;
		line-height: 38px;
	}
	.section_text{
		margin-top: 20px;
		font-size: 16px;
	}
	.section_subtitle{
		font-size: 22px;
	}
	
	.footer .inner2.flex{
		flex-direction: column;
	}
	.footer_left{
		width: 100%;
		margin-right: 0;
	}
	.footer_right{
		width: 100%;
	}
	
	
	
	
	
	.footer_contact_in{
		min-width:100%;
		padding: 30px 10px;
	}
	.footer_contact_in a{
		font-size: 28px;
	}
	.footer_contact_in a img{
		width: 28px;
	}
	
	.footer{
		margin-top: 50px;
	}
	.footer_title{
		line-height: 1.2em;
	}
	.footer_title span{
		display: block;
	}
	.footer_right{
		margin-top: 50px;
	}
	.footer_right.flex{
		flex-direction: column;
	}
	.footer_menu_ul{
		width:100%;
	}
	.footer_menu_ul + .footer_menu_ul{
		margin-left:0;
		margin-top: 5px;
	}
	
	.copy{
		font-size: 12px;
	}
	.copy > .inner > .flex{
		flex-direction: column;
	}
	.copy .poweredby{
		font-size: 10px;
		margin-top: 5px;
	}
	
	
	
	/* -------------------- */
	/* トップページ
	/* -------------------- */
	#section01 .column_03_wrap{
		flex-direction: column;
	}
	#section01 .column_03_wrap img{
		width:100%;
	}
	#section01 .column_03:nth-child(even){
		margin: 100px 0;
	}
	
	.abouthead_in,
	.section_in{
		border-radius: 10px;
		padding: 30px;
		margin-top: 20px;
	}
	.abouthead_in section + section,
	.section_in section + section{
		margin-top: 30px;
		padding-top: 30px;
	}
	
	#section04 .column_03_wrap{
		flex-direction: column;
		width: 80%;
		margin: 0 auto;
		margin-top: 30px;
	}
	#section04 .column_03{
		width: 100%;
	}
	#section04 .column_03:nth-child(even){
		margin:20px 0;
	}
	.goal_text p{
		font-size: 6vw;
	}
	
	#section06 .column_03{
		width: calc(100% / 2 - 10px);
		margin-left:0;
	}
	
	#section06 .column_03:nth-child(n+3),
	#section06 .column_03:nth-child(n+5){
		margin-top:20px;
	}
	
	
	
	.pagewrap_in{
		border-radius: 10px;
		padding: 30px;
		margin-top: 20px;
	}
	.pagewrap_in section + section{
		margin-top: 30px;
		padding-top: 30px;
	}
	
	#program_picture{
		margin-top:50px;
	}
	#program_picture .column_03{
		width: calc(100% / 2 - 10px);
	}
	#program_picture .column_03:nth-child(n+3){
		margin-top:20px;
	}
	
	.company_table{
		border-top:none;
	}
	.company_table tr{
		display: block;
		margin-top: 20px;
	}
	.company_table th{
		text-align: left;
	}
	.company_table th,
	.company_table td{
		display: block;
		width: 100%;
		border-bottom:none;
	}
	
	
	#curriculum_picture{
		margin-top:50px;
	}
	#curriculum_picture .column_03{
		width: 100%;
	}
	#curriculum_picture .column_03:nth-child(n+3){
		margin-top:0;
	}
	#curriculum_picture .column_03 + .column_03{
		margin-top:50px;
	}
	
	
}







