﻿@charset "utf-8";


/*----------------------------------------------
	Overall settings
-----------------------------------------------*/

body{ color: #444; font-family: "Zen Kaku Gothic New", sans-serif; min-width: 1100px; text-align: center;}
body.ovh{ position: fixed; left: 0; top: 0; width: 100%; height: 100vh;}
a{ color: #444; text-decoration:none; -webkit-transition: all .2s; transition: all .2s;}
a:hover{ opacity: .7; text-decoration:none;}
.underline{ text-decoration: underline;}
/* font */
.gothic{ font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;}
.mincho{ font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;}
.zenkaku{ font-family: "Zen Kaku Gothic New", sans-serif;}
.zenmaru{ font-family: "Zen Maru Gothic", sans-serif;}
/* bg */
.bg-white{ background: #fff;}
/* color */
.f-white{ color: #fff;}
.f-red{ color: #c00;}
.f-green{ color: #217C72}
/* anchor */
.anchorwrap{ position: relative;}
.anchorwrap .anchor{ position: absolute; top: -100px;}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	body{ min-width: inherit; font-size: 4.26vw;}
	a:hover{ opacity: 1;}
	/* anchor */
	.anchorwrap .anchor{ top: -70px;}
}
@media screen and (max-width: 350px) {
	html{ font-size: 50%;}
}



/*----------------------------------------------
	header
-----------------------------------------------*/

header{
	text-align: left;
	width: 100%;
	min-width: 1100px;
	height: 130px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0.95) 60%,
    rgba(255, 255, 255, 0.6) 80%,
    rgba(255, 255, 255, 0) 100%);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}
header .logo{
	width: 247px;
	margin: 20px 0 0 2.5%;
}
header .logo a:hover{ opacity: 1;}
header .logo img{
	display: block;
}
header .logo .close{
	display: none;
}
header .spmenu{
	display: none;
}
/* nav */
header nav{
	line-height: 1.4;
	padding-top: 10px;
}
header nav ul{
	color: #217C72;
	font-weight: bold;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
header nav ul li{
	position: relative;
}
header nav ul li a{
	color: #217C72;
	padding: 5px 10px;
	display: inline-block;
}
header nav ul li div{
	position: absolute;
	top: 100%;
	left: 0;
	width: 12em;
	height: 0;
	background: #fff;
	overflow: hidden;
}
header nav ul li:hover div{
	height: auto;
	padding: .5em 0;
}
header nav ul li div a{
	display: block;
	padding-top: .3em;
	padding-bottom: .3em;
}
header nav ul li.header-contact{
	margin: 0 35px 0 10px;
}
header nav ul li.header-contact a{
	border: 1px solid #8DA8A8;
	padding: 5px 17px;
	border-radius: 99px;
}
header nav ul li.header-column a{
	padding: 20px 17px 20px 12px;
	border-radius: 10px 0 0 10px;
	background: #DCE68E;
	position: relative;
	filter: drop-shadow(3px 3px 5px rgba(136, 136, 136, .3));
}
header nav ul li.header-column a span{
	color: #fff;
	font-size: 13px;
	letter-spacing: -.1em;
	text-align: center;
	position: absolute;
	top: -5px;
	left: -5px;
	display: block;
	background: #217C72;
	border-radius: 50%;
	width: 40px;
	line-height: 40px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 1240px) {
	header nav ul li a{
		font-size: 15px;
		padding: 5px 5px;
	}
	header nav ul li.header-contact{
		margin: 0 15px 0 5px;
	}
	header nav ul li.header-column a{
		padding: 20px 10px 20px 5px;
		width: 140px;
	}
	header nav ul li.header-column a span{
		top: -10px;
		left: -10px;
	}
}
@media screen and (max-width: 540px) {
	header{
		height: 85px;
		min-width: inherit;
		display: flex;
		justify-content: space-between;
	}
	header .logo,header .spmenu{
		position: relative;
		z-index: 999;
	}
	header .logo{
		width: 187px;
		margin: 15px 0 0 5vw;
	}
	header.open .logo .close{
		display: block;
	}
	header.open .logo .open{
		display: none;
	}
	header .spmenu{
		color: #fff;
		display: block;
		float: right;
		width: 70px;
		height: 70px;
		cursor: pointer;
	}
	header .spmenu span,
	header .spmenu span:before,
	header .spmenu span:after{
		position: absolute;
		display: block;
		background: #217C72;
		width: 42px;
		height: 1px;
		transition: all .5s;
	}
	header .spmenu span{
		top: 23px;
		left: 15px;
	}
	header .spmenu span:before,header .spmenu span:after{
		content: "";
		left: 0;
	}
	header .spmenu span:before{
		top: 10px;
	}
	header .spmenu span:after{
		top: 20px;
		width: 25px;
	}
	header.open .spmenu span,header.open .spmenu span:before,header.open .spmenu span:after{
		background: #fff;
	}
	/* nav */
	header nav{
		text-align: center;
		top: 0;
		right: 0;
		width: 100%;
		background: #217C72;
	}
	header.init nav {
    opacity: 0;
    visibility: hidden;
    transition: none;
  }
	header nav{
		overflow: auto;
		display: block;
		position: absolute;
		z-index: 1;
		top: 80px;
		width: 100%;
		left: 0;
		-webkit-transform: scale(1, 0);
		transform: scale(1, 0);
		-webkit-transform-origin: center top;
		transform-origin: center top;
		opacity: 0;
		transition-property: opacity, transform, -webkit-transform;
		transition-duration: .5s, 0s, 0s;
		transition-delay: 0s, .5s, .5s;
		box-shadow: 0 0 0 100vh #217C72;
		background: #217C72;
		height: calc(100vh - 80px);
		padding: 0 4.8vw 120px;
	}
	header.open nav{
    visibility: visible;
		-webkit-transform: scale(1);
		transform: scale(1);
		opacity: 1;
		transition-delay: 0s, 0s, 0s;
	}
	header nav ul{
		display: block;
		margin-bottom: 4vw;
	}
	header nav ul li{
		padding: 2vw;
	}
	header nav ul li a{
		color: #fff;
		font-size: 4.266vw;
		padding: 2vw;
	}
	header nav ul li div{
		position: static;
		width: auto;
		height: auto;
		background: none;
	}
	header nav ul li:hover div{
		padding: 0;
	}
	header nav ul li div a{
		font-size: 3.77vw;
		display: block;
		padding-top: .5em;
		padding-bottom: .5em;
	}
	header nav ul li.header-contact{
		margin: 0;
	}
	header nav ul li.header-contact a{
		border: none;
		padding: 4vw;
	}
	header nav ul li.header-column{
		text-align: center;
	}
	header nav ul li.header-column a{
		color: #fff;
		background: none;
		filter: none;
	}
	header nav ul li.header-column a span{
		font-size: 4.266vw;
		position: static;
		width: 100%;
		line-height: inherit;
		background: none;
	}
	header nav ul li.header-column a img{
		display: none;
	}
	header nav .sp{
		color: #fff;
		font-size: 4.266vw;
		display: block!important;
	}
	header nav .sp a{
		color: #fff;
		display: inline-block;
		padding: 3vw;
	}
	header nav .sp a.note{
		color: #444;
	}
}



/*----------------------------------------------
	section
-----------------------------------------------*/
#wrapper{
	position: relative;
	background: #F5F5F2;
}
.wrap{ clear: both; box-sizing: content-box; max-width: 1000px; margin-left: auto; margin-right: auto; padding-left: 5%; padding-right: 5%;}
.pagettl{
	position: relative;
	margin: 0 4% .5em;
	padding-top: 130px;
	text-align: center;
}
.pagettl figure{
	position: relative;
}
.pagettl figure img{
	border-radius: 2.3vw;
}
.pagettl figcaption{
	position: absolute;
	left: 50%;
	top: 60%;
	transform: translate(-50%,-50%);
	border-radius: 0;
	width: 31.55vw;
	min-width: 300px;
}
.pagettl h2{
	position: absolute;
	left: 50%;
	top: 130px;
	transform: translateX(-50%);
	width: 100%;
	max-width: 728px;
	padding: .5em;
	margin: 0 auto;
	font-size: 35px;
	line-height: .8;
	border-radius: 0 0 20px 20px;
	background: #f5f5f2;
	box-shadow: 2px 4px 5px rgba(0, 0, 0, 0.1);
}
.pagettl h2 span{
	font-size: 16px;
}
.pagettl.simple{
	padding-top: 130px;
	padding-bottom: 70px;
}
.pagettl.simple h2{
	position: static;
	transform: none;
	box-shadow: none;
}
.ttl1{
	font-size: 36px;
	letter-spacing: .1em;
	line-height: 1.44;
	font-weight: bold;
	font-family: "Zen Maru Gothic", sans-serif;
}
.ttl1 small{
	color: #217C72;
	font-size: 16px;
	letter-spacing: .02em;
	font-weight: bold;
	display: block;
	padding-top: .5em;
}
.btn1{
	font-weight: bold;
	display: inline-block;
	padding-right: 35px;
	background: url(../img/arrow-green.svg) right center no-repeat;
}
.btn2{
	font-size: 18px;
	line-height: 1.44;
	font-weight: bold;
	font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
	padding: 18px;
	border-radius: 98px;
	min-width: 300px;
	display: inline-block;
	background: #fff;
}
.btn3{
	color: #fff;
	font-size: 18px;
	line-height: 1.44;
	font-weight: bold;
	font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
	padding: 18px;
	border-radius: 98px;
	min-width: 300px;
	display: inline-block;
	background: #217C72;
	margin: .5em;
}
.btn3:after{
	display: inline-block;
	content: "";
	vertical-align: middle;
	margin-left: .5em;
	margin-top: -.2em;
	width: 24px;
	height: 24px;
	background: url(../img/arrow-white.svg) center / 100% no-repeat;
}
.btn3.back{
	background: #B2B2B2;
}
.btn3.back:after{
	display: none;
}
.btn4{
	line-height: 1.44;
	font-weight: bold;
	font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;
	padding: 18px;
	border-radius: 98px;
	min-width: 300px;
	display: inline-block;
	border: 1px solid #B2B2B2;
}
.btn4:before{
	display: inline-block;
	content: "";
	vertical-align: middle;
	margin-right: .5em;
	margin-top: -.2em;
	width: 18px;
	height: 18px;
	background: url(../img/ic-list.svg) center / 100% no-repeat;
}
.btn4:hover{
	opacity: 1;
	background-color: #fff;
}
.note{
	line-height: 1;
	border-radius: 10px;
	padding: 10px 10px 15px;
	background: #fff;
	margin-bottom: 40px;
	display: inline-block;
	border: 1px solid #C1C1C1;
	max-width: 336px;
	width: 100%;
}
.tag{
	font-size: 14px;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	display: inline-block;
	border-radius: 98px;
	min-width: 86px;
	padding: 4px 10px;
	margin-right: 20px;
}
.tag.tag-seminar{ background: #EFDEDE;}
.tag.tag-news{ background: #D8E1E7;}
.pnav{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-left: 4%;
	margin-right: 4%;
	font-size: 13px;
	text-align: right;
}
.pnav li:not(:last-child):after{
	display: inline-block;
	content: "";
	width: 18px;
	height: 1px;
	vertical-align: middle;
	margin: 0 .5em .2em;
	background: #B2B2B2;
}
.pnav li a{
	color: #B2B2B2;
}
.pager{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 0 100px;
	color: #B2B2B2;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}
.pager a{
	display: inline-block;
	width: 2em;
	color: #B2B2B2;
}
.pager a.active,
.pager a:hover{
	opacity: 1;
	color: #217C72;
}
.pager span{
	display: inline-block;
	margin: 0 .5em;
}
.pager a.next{
	margin-left: .5em;
	width: 24px;
	height: 24px;
	background: url(../img/arrow-green.svg) center / 100% no-repeat;
}
.pager a.prev:hover{ opacity: .5;}
.pager a.prev{
	margin-left: .5em;
	width: 24px;
	height: 24px;
	background: url(../img/arrow-green-left.svg) center / 100% no-repeat;
}
.pager a.prev:hover{ opacity: .5;}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 1100px) {
	.pagettl figure img{
		border-radius: 25px;
	}
}
@media screen and (max-width: 540px) {
	#wrapper{
		padding-top: 85px;
	}
	.pagettl{
		position: relative;
		margin: 0 4% 2em;
		padding-top: 0;
	}
	.pagettl figure{
		overflow: hidden;
		border-radius: 1em;
	}
	.pagettl figure img{
		width: 160%;
		max-width: inherit;
		margin: 0 -30%;
	}
	.pagettl figcaption{
		top: 72%;
		width: 47vw;
		min-width: inherit;
	}
	.pagettl h2{
		top: 0;
		width: 85%;
		max-width: inherit;
		padding: .5em;
		font-size: 5.33vw;
		line-height: 1;
		border-radius: 0 0 1em 1em;
	}
	.pagettl h2 span{
		font-size: 16px;
	}
	.pagettl.simple{
		padding-top: 0;
		padding-bottom: 0;
	}
	.ttl1{
		font-size: 6.933vw;
	}
	.ttl1 small{
		font-size: 4.266vw;
		padding-top: .5em;
	}
	.btn1{
		padding-right: 9vw;
		background: url(../img/arrow-green.svg) right center / 6.4vw auto no-repeat;
	}
	.btn2{
		font-size: 4.8vw;
		padding: 4.8vw;
		min-width: inherit;
		width: 100%;
		max-width: 300px;
	}
	.btn3{
		font-size: 4.8vw;
		padding: 4.8vw;
		min-width: inherit;
		width: 100%;
		max-width: 80vw;
	}
	.btn3:after{
		width: 6.4vw;
		height: 6.4vw;
	}
	.btn4{
		font-size: 4.8vw;
		padding: 4.8vw;
		min-width: inherit;
		width: 100%;
		max-width: 80vw;
	}
	.btn4:before{
		width: 4.8vw;
		height: 4.8vw;
	}
	.btn4:hover{
		opacity: 1;
		background-color: #fff;
	}
	.note{
		border-radius: 3vw;
		padding: 3vw;
		margin-bottom: 6vw;
		max-width: inherit;
	}
	.tag{
		font-size: 3.733vw;
		padding: 1.2vw 2vw;
		margin-right: 5vw;
	}
	.pnav{ display: none;}
	.pager{
		padding: 2em 0 0.5em;
		font-size: 5.86vw;
	}
	.pager a.next{
		width: 6.4vw;
		height: 6.4vw;
	}
	.pager a.next:hover{ opacity: 1;}
}



/*----------------------------------------------
	top
-----------------------------------------------*/

.top-main{
	display: flex;
	justify-content: flex-end;
	position: relative;
}
.top-main .read{
	font-size: 19px;
	text-align: left;
	position: absolute;
	z-index: 99;
	top: 12vw;
	left: 7.32%;
	height: fit-content;
}
.top-main .read h2{
	margin-bottom: .3em;
}
.top-main .read p{
	line-height: 2.1;
}
.top-main .read p strong{
	font-size: 34px;
	line-height: 1.44;
	font-weight: normal;
	display: inline-block;
	margin-bottom: .3em;
}
.top-main .slide{
	width: 63%;
}
.top1{
	padding: 60px 5% 40px;
}
.top-news{
	margin-bottom: 30px;
}
.top-news dl{
	text-align: left;
	display: flex;
	align-items: center;
	padding: 20px 0;
	max-width: 840px;
	margin-right: auto;
	margin-left: auto;
	border-top: 1px solid #E3E3E3;
}
.top-news dl:first-child{
	border-top: none;
}
.top-news dl dt{
	font-size: 15px;
	font-weight: bold;
	width: 15em;
}
.top-news dl dd{
	flex: 1;
}
.top-movie{
	margin: 0 auto 50px;
	max-width: 740px;
}
.top2 .wrap{
	max-width: 1100px;
	padding: 65px 5% 85px;
	background: url(../img/top2-bg.svg) center top no-repeat;
}
.top2 .read{
	font-size: 20px;
}
.top2 .read strong{
	display: inline-block;
	margin-bottom: .4em;
}
.top2 .link-cont{
	display: flex;
	justify-content: center;
	margin-top: -20px;
}
.top2 .link-cont a{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.66;
	background: url(../img/top2-bg-white.png) center / 431px auto no-repeat;
	width: 431px;
	height: 431px;
	padding-top: 130px;
	display: block;
	position: relative;
	margin: 0 -30px;
}
.top2 .link-cont a .ttl1{
	letter-spacing: 0;
	font-size: 33px;
	margin-bottom: .3em;
}
.top2 .link-cont a .ttl1 small{
	padding-top: .2em;
}
.top2 .link-cont a .btn1{
	position: absolute;
	right: 0;
	bottom: 110px;
	left: 0;
	margin: 0 auto;
	width: fit-content;
}
.top3{
	padding: 0 5% 70px;
}
.top3 .ttl-area{
	display: flex;
	align-items: center;
	margin-bottom: 80px;
}
.top3 .ttl-area .ttl1{
	margin-right: .5em;
}
.top3 .link-cont{
	display: flex;
	justify-content: space-between;
}
.top3 .link-cont a{
	display: block;
	background: #fff;
	border-radius: 10px;
	position: relative;
	width: 31%;
}
.top3 .link-cont a h3{
	color: #fff;
	font-size: 20px;
	line-height: 1.44;
	background: #217C72;
	position: absolute;
	top: -40px;
	right: 0;
	left: 0;
	padding: 20px 5px;
	margin: 0 auto;
	max-width: 228px;
	border-radius: 10px;
}
.top3 .link-cont a figure img{
	border-radius: 10px 10px 0 0;
}
.top3 .link-cont a div{
	text-align: left;
	padding: 15px 20px 55px;
}
.top3 .link-cont a div .btn1{
	position: absolute;
	right: 20px;
	bottom: 15px;
}
.top4 .bd-box{
	font-size: 18px;
	font-weight: 500;
	text-align: left;
	border: 5px solid #227C72;
	border-radius: 30px;
	background: url(../img/top4-img.svg) left bottom no-repeat #fff;
	padding: 40px 10px 60px 340px;
	margin-bottom: 160px;
	display: block;
}
.top4 .bd-box .ttl1{
	margin-bottom: .3em;
}
.top5{
	text-align: left;
	background: #EFEAD8;
	padding: 1px 0 25px;
	position: relative;
}
.top5:before{
	content: "";
	display: block;
	position: absolute;
	bottom: 100%;
	left: 0;
	background: url(../img/top5-before.svg) left bottom no-repeat;
	width: 50px;
	height: 55px;
}
.top5:after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	bottom: 100%;
	left: 50px;
	background: url(../img/top5-after.svg) right bottom no-repeat;
	width: calc(50% - 190px);
	height: 55px;
}
.top5 .wrap{
	position: relative;
}
.top5 .ttl1{
	background: url(../img/top5-ic.svg) left center no-repeat;
	padding-left: 95px;
	position: relative;
	z-index: 2;
	margin: -.5em 0 .7em;
}
.top5 .abs{
	position: absolute;
	top: -100px;
	right: 4.8%;
}
.top5 .link-cont{
	display: flex;
	justify-content: space-between;
	margin-bottom: 25px;
}
.top5 .link-cont a{
	width: 31%;
	display: block;
}
.top5 .link-cont a figure{
	position: relative;
	height: 0;
	padding-top: 61.7%;
	margin-bottom: 1em;
	overflow: hidden;
}
.top5 .link-cont a figure img{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
	transition: transform .3s ease;
}
.top5 .link-cont a:hover figure img{
	transform: scale(1.1);
}
.top5 .link-cont a p{
	font-size: 18px;
	font-weight: bold;
}
.top5 .link-cont a p.date{
	color: #217C72;
	font-size: 16px;
	font-weight: 500;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.top-main{
		display: block;
	}
	.top-main .read{
		font-size: 4.533vw;
		position: static;
		padding: 0 5%;
		margin-bottom: 3.5vw;
	}
	.top-main .read p{
		line-height: 1.647;
	}
	.top-main .read p strong{
		font-size: 6.933vw;
	}
	.top-main .slide{
		width: 100%;
	}
	.top1{
		padding: 7vw 5% 10vw;
	}
	.top1 .ttl1 small{
		font-size: 3.733vw;
	}
	.top-news{
		margin-bottom: 10vw;
	}
	.top-news dl{
		display: block;
		padding: 6vw 0;
		border-top: none;
		border-bottom: 1px solid #E3E3E3;
	}
	.top-news dl dt{
		font-size: 4vw;
		width: auto;
		margin-bottom: 1vw;
	}
	.top-movie{
		padding: 0 5%;
		margin-bottom: 12vw;
	}
	.top2 .wrap{
		padding: 13vw 3% 10vw;
		background: url(../img/top2-bg-sp.svg) center / cover no-repeat;
	}
	.top2 .read{
		font-size: 5.33vw;
	}
	.top2 .read strong{
		display: inline-block;
		margin-bottom: 1em;
	}
	.top2 .read2{
		margin-bottom: 12vw;
	}
	.top2 .read2 img{
		width: 85%;
	}
	.top2 .link-cont{
		display: block;
		margin-top: -10vw;
	}
	.top2 .link-cont a{
		font-size: 4.5vw;
		background: url(../img/top2-bg-white.png) center / 100% auto no-repeat;
		width: 100%;
		height: 100vw;
		padding-top: 28vw;
		margin: -15vw 0 0;
	}
	.top2 .link-cont a .ttl1{
		font-size: 7.577vw;
		margin-bottom: .3em;
	}
	.top2 .link-cont a .btn1{
		bottom: 25vw;
	}
	.top3{
		padding: 12vw 5%;
	}
	.top3 .ttl-area{
		display: block;
		margin-bottom: 5em;
	}
	.top3 .ttl-area .ttl1{
		margin-right: 0;
	}
	.top3 .ttl-area .ttl1 small{
		font-size: 3.733vw;
	}
	.top3 .link-cont{
		display: block;
	}
	.top3 .link-cont a{
		border-radius: 2vw;
		width: 100%;
		margin-bottom: 4.8em;
	}
	.top3 .link-cont a:last-child{
		margin-bottom: 0;
	}
	.top3 .link-cont a h3{
		font-size: 5.33vw;
		top: -40px;
		padding: 6.5vw 1vw;
		border-radius: 2vw;
	}
	.top3 .link-cont a figure img{
		border-radius: 2vw 2vw 0 0;
	}
	.top3 .link-cont a div{
		padding: 3vw 4vw 3.5em;
	}
	.top3 .link-cont a div .btn1{
		right: 5%;
		bottom: 5vw;
	}
	.top4 .bd-box{
		font-size: 4.8vw;
		text-align: center;
		border-radius: 8vw;
		background: #fff;
		padding: 1vw 3vw 10vw;
		margin-bottom: 28vw;
	}
	.top4 .bd-box figure img{
		width: 95%;
	}
	.top4 .bd-box .ttl1{
		margin-bottom: .2em;
	}
	.top4 .bd-box .ttl1 small{
		font-size: 3.733vw;
		letter-spacing: -.02em;
	}
	.top4 .bd-box p{
		line-height: 1.66;
	}
	.top5{
		padding: 1vw 0 15vw;
	}
	.top5:before{
		background: url(../img/top5-before-sp.png) left bottom / 100% auto no-repeat;
		width: 100%;
		height: 15vw;
	}
	.top5:after{ content: none;}
	.top5 .ttl1{
		background: url(../img/top5-ic.svg) left center / 20.8vw auto no-repeat;
		padding-top: 4vw;
		padding-left: 24vw;
		min-height: 20.8vw;
		margin: -.5em 0 .8em;
	}
	.top5 .ttl1 small{
		font-size: 3.733vw;
		letter-spacing: -.02em;
	}
	.top5 .read img{
		width: 80%;
	}
	.top5 .abs{
		top: -18vw;
		right: .8%;
		width: 43vw;
	}
	.top5 .wrap{
		padding: 0 8%;
	}
	.top5 .link-cont{
		display: block;
		margin-bottom: 15vw;
	}
	.top5 .link-cont a{
		line-height: 1.66;
		width: 100%;
		margin-bottom: 10vw;
	}
	.top5 .link-cont a figure{
		margin-bottom: .7em;
	}
	.top5 .link-cont a p{
		font-size: 4.8vw;
	}
	.top5 .link-cont a p.date{
		font-size: 4.266vw;
		margin-bottom: .5em;
	}
}



/*----------------------------------------------
	footer-contact
-----------------------------------------------*/

.footer-contact{
	color: #fff;
	background: #217C72;
	padding: 40px 10% 45px;
}
.footer-contact .ttl1{
	margin-bottom: .8em;
}
.footer-contact .ttl1 small{
	color: #fff;
	font-weight: 500;
}
.footer-contact div{
	display: flex;
	justify-content: center;
}
.footer-contact div a{
	display: block;
	margin: 0 18px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.footer-contact{
		padding: 8vw 10vw 9vw;
	}
	.footer-contact .ttl1{
		margin-bottom: 1em;
	}
	.footer-contact .ttl1{
		font-size: 9.6vw;
	}
	.footer-contact div{
		display: block;
	}
	.footer-contact div a{
		display: block;
		margin: 0 0 7vw;
	}
}



/*----------------------------------------------
	footer
-----------------------------------------------*/

footer{
	padding: 25px 0 15px;
	background: #fff;
}
footer .wrap{
	max-width: 1150px;
	position: relative;
}
footer .logo{
	text-align: left;
	padding-top: 12px;
	margin: 0 0 60px 30px;
}
footer .logo a:hover{ opacity: 1;}
footer .nav1{
	font-size: 16px;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 20px;
}
footer .nav1 a{
	color: #217C72;
	line-height: 1.44;
	display: block;
	padding: 0 50px;
	border-left: 1px solid #E0E0E0;
	margin-bottom: 10px;
}
footer .nav1 li{
	position: relative;
}
footer .nav1 li:first-child a{
	border-left: none;
}
footer .nav1 li div{
	position: absolute;
	bottom: 100%;
	left: 0;
	width: 12em;
	height: 0;
	overflow: hidden;
	background: #fff;
}
footer .nav1 li:hover div{
	height: auto;
	padding: .5em 0;
}
footer .nav1 li div a{
	border-left: none;
	text-align: left;
	padding: .2em 0;
	margin-bottom: 0;
}
footer .note{
	position: absolute;
	top: 0;
	right: 80px;
}
footer .nav2{
	font-size: 15px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-right: 2%;
}
footer .nav2 a{
	display: block;
	margin-right: 45px;
}
footer .nav2 #copy{
	color: #A0A0A0;
	font-size: 11px;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 1280px) {
	footer .nav1 a{
		padding: 0 30px;
	}
	footer .note{
		right: 3%;
	}
}
@media screen and (max-width: 1010px) {
	footer .nav1 a{
		padding: 0 20px;
	}
}
@media screen and (max-width: 660px) {
	footer{
		padding: 12vw 0 50px;
	}
	footer .logo{
		text-align: center;
		padding-top: 0;
		margin: 0 0 6vw;
	}
	footer .nav1{
		font-size: 4.266vw;
		display: block;
		margin-bottom: 6vw;
	}
	footer .nav1 a{
		padding: 2.4vw;
		border-left: none;
		margin-bottom: 0;
	}
	footer .nav1 li{
		padding: 3vw 0;
	}
	footer .nav1 li div{
		position: static;
		width: 100%;
		height: auto;
	}
	footer .nav1 li:hover div{
		padding: 0;
	}
	footer .nav1 li div a{
		text-align: center;
	}
	footer .note{
		position: static;
		margin-bottom: 10vw;
	}
	footer .nav2{
		font-size: 4vw;
		display: block;
		margin: 0;
	}
	footer .nav2 a{
		margin: 0 0 5vw;
	}
	footer .nav2 #copy{
		font-size: 2.933vw;
	}
}




















































/*--------------------------------------------------------------------------------------------
	Sub-page settings
----------------------------------------------------------------------------------------------*/
/*----------------------------------------------
	news/
-----------------------------------------------*/
.news1{
	display: flex;
	border-bottom: 1px solid #B2B2B2;
	margin-bottom: 20px;
}
.news1 li{
	margin-right: 20px;
	width: 250px;
	line-height: 76px;
	font-size: 20px;
	font-weight: bold;
	background: #F0F0EC;
	border-radius: 5px 5px 0 0;
	border: 1px solid #E5E5D9;
	border-bottom: none;
	cursor: pointer;
	position: relative;
}
.news1 li.active{
	background: none;
	border-color: #B2B2B2;
}
.news1 li.active:before{
	display: block;
	content: "";
	width: 100%;
	height: 8px;
	position: absolute;
	left: 0;
	top: 0;
	background: #217C72;
	border-radius: 4px 4px 0 0;
}
.news1 li.active:after{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 1px;
	background: #F5F5F2;
}
.news1 li a {
    display: block;
    width: 100%;
    height: 100%;
}
.news2 article{ display: none;}
.news2 article.active{ display: block;}
.news2 article a.box{
	display: block;
	padding: 20px .5em;
	text-align: left;
	border-bottom: 1px solid #E3E3E3;
}
.news2 article a.box:hover{
	opacity: 1;
	background: #EFEFE6;
}
.news2 article a.box dt{
	display: flex;
	margin-bottom: .5em;
}
.news2 article a.box dt .date{
	margin-right: 1em;
	font-size: 15px;
	font-weight: bold;
}
.news3{
	margin-bottom: 50px;
	border-bottom: 2px solid #E3E3E3;
}
.news3 .date{
	font-weight: bold;
	margin-right: 1em;
}
.news3 h1{
	padding: .5em 0 2em;
	color: #217C72;
	font-size: 26px;
	line-height: 1.8;
}
.news4{
	text-align: left;
}
.news4 figure{
	max-width: 650px;
	margin: 0 auto 40px;
	text-align: center;
}

.news4 h2{
	font-size: 20px;
	margin-bottom: 20px;
}
.news4 h3{
	font-size: 18px;
	margin-bottom: 20px;
}
.news4 figure{
	margin-bottom: 2em;
	padding: 0 10%;
	text-align: center;
}
.news4 p{
	margin-bottom: 40px;
	clear: both;
}
.news4 p a{
  text-decoration: underline;
}
.news4 img.alignnone   { float: none; display: block; margin: 1em 0 1em 0; }
.news4 img.aligncenter { display: block; margin: 1em auto 1em; }
.news4 img.alignright  { float: right;  margin: 1em 0 1em 1em; }
.news4 img.alignleft   { float: left; margin: 1em 1em 1em 0;  }
.news4 em{
  font-style: italic;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}
/* トップレベルリスト */
.news4 ul {
  list-style-type: disc;
  padding-left: 2em !important;
  margin: 1em 0;
}
/* 1階層目ネスト */
.news4 ul ul {
  list-style-type: circle;
  padding-left: 1.5em !important;
}
/* 2階層目ネスト */
.news4 ul ul ul {
  list-style-type: square;
  padding-left: 1.5em !important;
}
/* リストアイテム共通 */
.news4 ul li {
  display: list-item;
  list-style-type: inherit !important;
}
/* トップレベルol */
.news4 ol {
  list-style-type: decimal;
  padding-left: 2em !important;
  margin: 1em 0;
}
/* 1階層目ネスト */
.news4 ol ol {
  list-style-type: lower-alpha;
  padding-left: 1.5em !important;
}
/* 2階層目ネスト */
.news4 ol ol ol {
  list-style-type: lower-roman;
  padding-left: 1.5em !important;
}
/* 3階層目ネスト */
.news4 ol ol ol ol {
  list-style-type: decimal;
  padding-left: 1.5em !important;
}
/* olアイテム共通 */
.news4 ol li {
  display: list-item;
  list-style-type: inherit !important;
}
.news4 blockquote {
  border-left: 4px solid #217c72;
  padding: 1em 1.5em;
  margin: 1.5em 0;
  background: #f8f9fa;
  font-style: italic;
  color: #333;
}
.news4 blockquote p {
  margin: 0 0 1em 0;
  line-height: 1.6;
}
.news4 iframe {
  	margin: 1em 0 1em 0;
    width: 100%;
    margin-bottom: 20px;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: none;
    display: block;
}

.news4 dl.detail_info{
	display: flex;
	padding: 20px 70px;
	margin-bottom: 40px;
	border-top: 1px solid #B2B2B2;
	border-bottom: 1px solid #B2B2B2;
}
.news4 dl.detail_info dt{
	width: 180px;
	color: #217C72;
	font-size: 18px;
	font-weight: bold;
}
.news4 dl.detail_info dd{
	flex: 1;
}

.news4 dl.detail_info ul{
	list-style-type: none;
  padding-left: 0em !important;
  margin: 0;
}

.news4 dl.detail_info ul li{
  list-style-type: none !important;
	padding: 1.3em 0 1.3em 2.7em;
	line-height: 1.5;
	position: relative;
}
.news4 dl.detail_info ul li:not(:last-child){
	border-bottom: 1px solid #E3E3E3;
}
.news4 dl.detail_info ul li:before{
	display: inline-block;
	content: "";
	position: absolute;
	left: 0;
	top: 1.3em;
	width: 25px;
	height: 26px;
	background: #217C72;
	border-radius: .3em;
}
.news4 dl.detail_info ul li.ic-calendar:before{
	background: url(../img/ic-calendar.svg) left center no-repeat;
}
.news4 dl.detail_info ul li.ic-schedule:before{
	background: url(../img/ic-schedule.svg) left center no-repeat;
}
.news4 dl.detail_info ul li.ic-person:before{
	background: url(../img/ic-person.svg) left center no-repeat;
}
.news4 dl.detail_info ul li.ic-yen:before{
	background: url(../img/ic-yen.svg) left center no-repeat;
}
.news4 dl.detail_info ul li.ic-place:before{
	background: url(../img/ic-place.svg) left center no-repeat;
}
.news4 dl.detail_info ul li.ic-lecturer:before{
	background: url(../img/ic-lecturer.svg) left center no-repeat;
}
.news4 .entry{
	padding: 40px;
	text-align: center;
	background: #fff;
	border-radius: 20px;
}
.news4 .entry p{
	margin-bottom: .5em;
	font-size: 36px;
	font-weight: bold;
	letter-spacing: .15em;
}
.news4 .newsnav{
	width: 300px;
	margin: 0 auto;
	padding: 100px 0;
}
.news4 .newsnav1{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.news4 .newsnav1 .prev{
	display: inline-block;
	padding-left: 2em;
	background: url(../img/arrow-green-left.svg) left center no-repeat;
}
.news4 .newsnav1 .next{
	display: inline-block;
	padding-right: 2em;
	background: url(../img/arrow-green.svg) right center no-repeat;
}

.news4 .newsnav1 .prev.disabled{
	background: url(../img/arrow-gray-left.svg) left center no-repeat;
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.6;
}
.news4 .newsnav1 .next.disabled{
	background: url(../img/arrow-gray.svg) right center no-repeat;
  pointer-events: none;
  cursor: not-allowed;
  opacity: 0.6;
}

/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.news1{
		display: flex;
		justify-content: space-between;
		margin-bottom: 5vw;
	}
	.news1 li{
		margin-right: 0;
		width: 32%;
		line-height: 4em;
		font-size: 5.33vw;
		border-radius: .3em .3em 0 0;
	}
	.news1 li.active:before{
		height: 2.13vw;
		border-radius: .2em .2em 0 0;
	}
	.news2 article a.box{
		padding: 1em .5em;
	}
	.news2 article a.box:hover{
		background: none;
	}
	.news2 article a.box dt{
		display: flex;
		margin-bottom: .5em;
	}
	.news2 article a.box dt .date{
		font-size: 4vw;
	}
	.news3{
		margin-bottom: 10vw;
	}
	.news3 h1{
		font-size: 5.86vw;
		line-height: 1.5;
	}
	.news4 figure{
		margin: 0 auto 2em;
	}
	.news4 p{
		margin-bottom: 2em;
	}
	.news4 h2{
		font-size: 4.8vw;
		margin-bottom: .7em;
	}
	.news4 h3{
		font-size: 4.5vw;
		margin-bottom: .7em;
	}
	.news4 dl.detail_info{
		display: block;
		padding: 5vw;
		margin-bottom: 2em;
	}
	.news4 dl.detail_info dt{
		width: auto;
		font-size: 4.8vw;
	}
	.news4 .entry{
		padding: 10vw 5vw;
		border-radius: 1em;
	}
	.news4 .entry p{
		font-size: 6.93vw;
	}
	.news4 .newsnav{
		width: auto;
		margin: 0 5%;
		padding: 15vw 0 20vw;
	}
	.news4 .newsnav1 .prev,
	.news4 .newsnav1 .next{
		background-size: 6.4vw;
	}
}



/*----------------------------------------------
	form/
-----------------------------------------------*/
.form1{
	display: flex;
	padding: 25px 0;
	border-top: 4px solid #217C72;
	border-bottom: 1px dashed #217C72;
	position: relative;
}
.form1:before{
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 100%;
	border-top: 1px solid #217C72;
}
.form1 .box1{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 1.5em;
	width: 10em;
	color: #fff;
	font-size: 19px;
	background: #217C72;
}
.form1 .box2{
	flex: 1;
	font-size: 19px;
	letter-spacing: .05em;
	line-height: 1.5;
}
.form1 .box2 strong{
	font-size: 26px;
}
.form2{
	display: flex;
	justify-content: center;
	margin: 0 auto;
	padding: 2em 0 0;
}
.form2 li{
	width: 8px;
	height: 8px;
	background: #B2B2B2;
	border-radius: 50%;
	position: relative;
}
.form2 li span{
	position: absolute;
	top: -2.2em;
	left: .3em;
	transform: translateX(-50%);
	color: #B2B2B2;
	white-space: nowrap;
}
.form2 li:not(:last-child){
	margin-right: 140px;
}
.form2 li:not(:first-child):before{
	display: block;
	content: "";
	position: absolute;
	right: 50%;
	top: 50%;
	width: 144px;
	height: 1px;
	background: #B2B2B2;
}
.form2 li.active,
.form2 li.active:not(:first-child):before{ background: #217C72;}
.form2 li.active span{ color: #217C72;}
.form3{
	margin-bottom: 3em;
}
.form3 .ttl{
	margin-bottom: .5em;
	font-weight: bold;
}
.form3 .ttl em{
	display: inline-block;
	margin-left: .5em;
	padding: .1em .2em .2em;
	color: #fff;
	font-weight: bold;
	line-height: 1.2;
	background: #E05A5A;
	border-radius: .3em;
}
.form3 input{
	max-width: 600px;
	padding: 0 1.5em;
	margin-bottom: .5em;
	border: 1px solid #A7A7A7;
	border-radius: .5em;
}
.form3 input::placeholder{ color: #BEBEBE;}
.form3 textarea{
	display: block;
	padding: .5em 1.5em;
	margin-bottom: .5em;
	border: 1px solid #A7A7A7;
	border-radius: .5em;
}
.form4 .privacy{
	height: 340px;
	padding: 1em 3em;
	background: #F0F0F0;
	overflow-y: auto;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.form1{
		display: block;
		padding: 1.5em 0 1em;
		text-align: center;
	}
	.form1:before{
		top: 1.6vw;
	}
	.form1 .box1{
		display: block;
		margin: 0 auto .5em;
		width: 10em;
		font-size: 5vw;
	}
	.form1 .box2{
		font-size: 5vw;
	}
	.form1 .box2 strong{
		font-size: 6.93vw;
		line-height: 1;
	}
	.form2{
		margin-bottom: 2em;
	}
	.form2 li{
		width: 2.14vw;
		height: 2.14vw;
	}
	.form2 li:not(:last-child){
		margin-right: 37.33vw;
	}
	.form2 li:not(:first-child):before{
		width: 38.4vw;
	}
	.form3{
		margin-bottom: 2em;
	}
	.form4 .privacy{
		height: 102.6vw;
		padding: 1em 5vw;
	}
}



/*----------------------------------------------
	column/
-----------------------------------------------*/
.column1{
	margin-top: -2em;
	display: flex;
	align-items: flex-start;
}
.column1 .leftcol{
	flex: 1;
	max-width: 780px;
	margin: 0 auto;
}
.column1 .leftcol a.box{
	display: flex;
	margin-bottom: 30px;
	padding: 40px 60px;
	line-height: 1.7;
	text-align: left;
	background: #fff;
	border: 1px solid #DDDDDB;
	border-radius: 20px;
}
.column1 .leftcol a.box:last-of-type{
	margin-bottom: 0;
}
.column1 .leftcol a.box div{
	flex: 1;
}
.column1 .leftcol a.box div .date{
	margin-bottom: .5em;
	font-size: 15px;
	font-weight: bold;
}
.column1 .leftcol a.box div .ttl{
	color: #217C72;
	font-size: 20px;
	font-weight: 900;
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #E3E3E3;
}
.column1 .leftcol a.box figure{
	margin-left: 5%;
	width: 200px;
	height: 200px;
	aspect-ratio: 200px / 200px;
	overflow: hidden;
	position: relative;
}
.column1 .leftcol a.box figure img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.column1 .leftcol article{
	padding: 40px 60px;
	line-height: 1.7;
	text-align: left;
	background: #fff;
	border: 1px solid #DDDDDB;
	border-radius: 20px;
}
.column1 .leftcol article .date{
	margin-bottom: .5em;
	font-size: 15px;
	font-weight: bold;
}
.column1 .leftcol article .ttl{
	color: #217C72;
	font-size: 20px;
	font-weight: 900;
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #E3E3E3;
}
.column1 .leftcol article p{
	margin-bottom: 2em;
}
.column1 .leftcol article figure{
	margin: 0 5% 2em;
}
.column1 .leftcol article h2{
	font-size: 20px;
	margin-bottom: 20px;
}
.column1 .leftcol article h3{
	font-size: 18px;
	margin-bottom: 20px;
}
.column1 .leftcol article figure{
	margin-bottom: 2em;
	padding: 0 10%;
	text-align: center;
}
.column1 .leftcol article p{
	margin-bottom: 40px;
	clear: both;
}
.column1 .leftcol article p a{
  text-decoration: underline;
}
.column1 .leftcol article img.alignnone   { float: none; display: block; margin: 1em 0 1em 0; }
.column1 .leftcol article img.aligncenter { display: block; margin: 1em auto 1em; }
.column1 .leftcol article img.alignright  { float: right;  margin: 1em 0 1em 1em; }
.column1 .leftcol article img.alignleft   { float: left; margin: 1em 1em 1em 0;  }
.column1 .leftcol article em{
  font-style: italic;
  word-wrap: break-word;
  overflow-wrap: break-word;
  word-break: break-all;
  white-space: normal;
}
/* トップレベルリスト */
.column1 .leftcol article ul {
  list-style-type: disc;
  padding-left: 2em !important;
  margin: 1em 0;
}
/* 1階層目ネスト */
.column1 .leftcol article ul ul {
  list-style-type: circle;
  padding-left: 1.5em !important;
}
/* 2階層目ネスト */
.column1 .leftcol article ul ul ul {
  list-style-type: square;
  padding-left: 1.5em !important;
}
/* リストアイテム共通 */
.column1 .leftcol article ul li {
  display: list-item;
  list-style-type: inherit !important;
}
/* トップレベルol */
.column1 .leftcol article ol {
  list-style-type: decimal;
  padding-left: 2em !important;
  margin: 1em 0;
}
/* 1階層目ネスト */
.column1 .leftcol article ol ol {
  list-style-type: lower-alpha;
  padding-left: 1.5em !important;
}
/* 2階層目ネスト */
.column1 .leftcol article ol ol ol {
  list-style-type: lower-roman;
  padding-left: 1.5em !important;
}
/* 3階層目ネスト */
.column1 .leftcol article ol ol ol ol {
  list-style-type: decimal;
  padding-left: 1.5em !important;
}
/* olアイテム共通 */
.column1 .leftcol article ol li {
  display: list-item;
  list-style-type: inherit !important;
}
.column1 .leftcol article blockquote {
  border-left: 4px solid #217c72;
  padding: 1em 1.5em;
  margin: 1.5em 0;
  background: #f8f9fa;
  font-style: italic;
  color: #333;
}
.column1 .leftcol article blockquote p {
  margin: 0 0 1em 0;
  line-height: 1.6;
}
.column1 .leftcol article iframe {
  	margin: 1em 0 1em 0;
    width: 100%;
    margin-bottom: 20px;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    border: none;
    display: block;
}

.column1 .rightcol{
	width: 230px;
	margin-right: 4%;
	text-align: left;
	line-height: 1.75;
	border-bottom: 1px solid #707070;
}
.column1 .rightcol h3{
	margin-bottom: .5em;
}
.column1 .rightcol dt{
	padding: 1em;
	background: #F2F4E2;
	border-top: 1px solid #707070;
	cursor: pointer;
	position: relative;
}
.column1 .rightcol dt:before{
	display: inline-block;
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 13px;
	height: 1px;
	transform: translateY(-50%);
	background: #217C72;
}
.column1 .rightcol dt:after{
	display: inline-block;
	content: "";
	position: absolute;
	right: 26px;
	top: 50%;
	width: 1px;
	height: 13px;
	transform: translateY(-50%);
	background: #217C72;
}
.column1 .rightcol dt.open:after{
	display: none;
}
.column1 .rightcol dd{
	display: none;
	border-top: 1px solid #707070;
}
.column1 .rightcol dd a{
	display: block;
	padding: .3em 1em;
	border-bottom: 1px dashed #707070;
	position: relative;
}
.column1 .rightcol dd a:hover{
	opacity: 1;
	background: #ddd;
}
.column1 .rightcol dd a:last-child{
	border-bottom: none;
}
.column1 .rightcol dd a span{
	position: absolute;
	right: .5em;
	top: 50%;
	transform: translateY(-50%);
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.column1{
		margin-top: 0;
		display: block;
	}
	.column1 .leftcol{
		padding: 0 5%;
		max-width: inherit;
		margin: 0 auto 1em;
	}
	.column1 .leftcol a.box{
		display: block;
		margin-bottom: 1em;
		padding: 5vw;
		border-radius: 2.66vw;
	}
	.column1 .leftcol a.box:last-of-type{
		margin-bottom: 0;
	}
	.column1 .leftcol a.box div .date{
		font-size: 4vw;
	}
	.column1 .leftcol a.box div .ttl{
		font-size: 5.33vw;
	}
	.column1 .leftcol a.box figure{
		margin-left: 0;
		padding: 1em 0;
		width: auto;
		height: auto;
		aspect-ratio: inherit;
		overflow: hidden;
		position: static;
	}
	.column1 .leftcol a.box figure img{
		position: static;
		width: auto;
		height: auto;
		object-fit: inherit;
	}
	.column1 .leftcol article{
		padding: 2em 5% 1em;
		border-radius: 2.66vw;
	}
	.column1 .leftcol article .date{
		font-size: 4vw;
	}
	.column1 .leftcol article .ttl{
		font-size: 5.33vw;
	}
	.column1 .rightcol{
		margin: 0vw 5% 20vw;
		width: auto;
	}
}



/*----------------------------------------------
	column/
-----------------------------------------------*/
#wrapper.concept-bg{
	background: url(../img/concept-bg.jpg) center top / 100% auto no-repeat #fff;
  background-attachment: fixed;
}
.concept-bg .pagettl h2{
	background: none;
}
.concept-bg .wrap{
	max-width: 775px;
}
.concept1{
	padding-bottom: 35px;
	border-bottom: 1px solid #E0E0E0;
	margin-bottom: 40px;
}
.concept1 .story{
	color: #fff;
	font-size: 18px;
	font-weight: normal;
	line-height: 1.2;
	border-radius: 20px 0 20px 0;
	padding: 3px 25px 4px;
	background: #217C72;
	width: fit-content;
	margin-bottom: 25px;
}
.concept1 .read{
	margin-bottom: 30px;
}
.concept1 p{
	margin-bottom: 1em;
}
.concept1 p.t-right{
	letter-spacing: .19em;
}
.concept2{
	display: flex;
	justify-content: space-between;
	margin-bottom: 100px;
}
.concept2 div{
	font-size: 14px;
	flex: 1;
	margin-right: 40px;
}
.concept2 div .name{
	font-size: 15px;
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}
.concept2 div .name span{
	margin-right: 15px;
}
.concept2 div .name strong{
	font-size: 24px;
	font-weight: normal;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	#wrapper.concept-bg{
		position: relative;
		background: none;
	}
	#wrapper.concept-bg:before{
		content: "";
		display: block;
		position: fixed;
		z-index: -1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: url(../img/concept-bg.jpg) center top / 100% auto no-repeat #fff;
	}
	.concept1{
		padding-bottom: 4vw;
		margin-bottom: 7vw;
	}
	.concept1 .story{
		font-size: 4.8vw;
		border-radius: 5.33vw 0 5.33vw 0;
		padding: .5vw 5vw;
		margin-bottom: 5vw;
	}
	.concept1 .read{
		margin-bottom: 6vw;
	}
	.concept1 p{
		margin-bottom: 2em;
	}
	.concept2{
		display: block;
		margin-bottom: 20vw;
	}
	.concept2 div{
		font-size: 3.733vw;
		margin: 0 0 5vw;
	}
	.concept2 div .name{
		font-size: 4vw;
		margin-bottom: 1vw;
	}
	.concept2 div .name span{
		margin-right: 3vw;
	}
	.concept2 div .name strong{
		font-size: 6.4vw;
	}
	.concept2 figure{
		text-align: center;
	}
}



/*----------------------------------------------
	about/
-----------------------------------------------*/
.about1{
	margin-bottom: 90px;
}
.about1 .about-ttl1{
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	line-height: 1.4;
	margin-bottom: 20px;
}
.about1 .about-ttl1 span{
	color: #217C72;
	font-size: 21px;
	font-weight: bold;
	width: 350px;
	padding-left: 75px;
	margin-right: 50px;
	position: relative;
}
.about1 .about-ttl1 span:before{
	content: "";
	position: absolute;
	top: 2.2em;
	left: 0;
	width: 50px;
	height: 1px;
	display: block;
	background: #217C72;
}
.about1 .about-ttl1 strong{
	font-size: 61px;
	font-weight: normal;
	display: block;
}
.about1 .about-ttl1 em{
	font-size: 24px;
	font-weight: normal;
	display: block;
	padding-top: 30px;
}
.about1 .bd-box{
	color: #217C72;
	font-size: 20px;
	font-weight: bold;
	border-radius: 35px;
	padding: 4px;
  background: linear-gradient(to right,#DCE68E, #7CAF80, #227C72);
	margin-bottom: 60px;
}
.about1 .bd-box .inner{
	padding: 60px 4px;
	border-radius: 32px;
	background: #F5F5F2;
}
.about1 .bd-box .inner .f-black.f16{
	color: #444;
	font-size: 16px;
	font-weight: normal;
	padding-top: .7em;
}
.about1 .bd-box .inner ol{
	display: flex;
	justify-content: center;
}
.about1 .bd-box .inner ol li{
	margin: 0 25px;
	padding-left: 55px;
	position: relative;
	display: flex;
}
.about1 .bd-box .inner ol li em{
	font-size: 29px;
	line-height: 36px;
	font-weight: normal;
	text-align: left;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto 40px auto 0;
	padding-right: 20px;
	background: url(../img/ic-ol-list.svg) right center no-repeat;
	display: block;
}
.about2{
	text-align: left;
	margin-bottom: 100px;
}
.about2 .about-ttl2{
	color: #217C72;
	font-size: 25px;
	line-height: 1.4;
	font-weight: bold;
	padding-bottom: 25px;
	border-bottom: 1px solid #707070;
}
.about2 table{
	width: 100%;
}
.about2 table th,.about2 table td{
	padding: 23px 15px;
	border-bottom: 1px solid #E3E3E3;
}
.about2 table th{
	font-weight: bold;
	width: 130px;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.about1{
		margin-bottom: 18vw;
	}
	.about1 .about-ttl1{
		margin-bottom: 6vw;
	}
	.about1 .about-ttl1 span{
		font-size: 4vw;
		width: auto;
		padding-left: 15vw;
	}
	.about1 .about-ttl1 span:before{
		top: 1.9em;
		width: 13.33vw;
	}
	.about1 .about-ttl1 strong{
		font-size: 10.133vw;
	}
	.about1 .about-ttl1 em{
		font-size: 4.8vw;
		padding: 3vw 0 0 15vw;
	}
	.about1 .bd-box{
		font-size: 4.8vw;
		line-height: 1.8;
		margin-bottom: 12vw;
	}
	.about1 .bd-box .inner{
		padding: 10vw 3vw;
	}
	.about1 .bd-box .inner .f-black.f16{
		font-size: 4.266vw;
		padding-top: .2em;
	}
	.about1 .bd-box .inner ol{
		display: block;
		padding-left: 3vw;
	}
.about1 .bd-box .inner ol li{
	text-align: left;
	margin: 0 0 2vw;
	padding-left: 10vw;
	display: block;
}
	.about1 .bd-box .inner ol li em{
		font-size: 5.866vw;
		line-height: 9.6vw;
		margin: -.1em 8vw 0 0;
		bottom: inherit;
		padding-right: 5vw;
		background: url(../img/ic-ol-list.svg) right top .3em / 4vw auto no-repeat;
	}
	.about2{
		margin-bottom: 20vw;
	}
	.about2 .about-ttl2{
		font-size: 6.66vw;
		padding-bottom: 7vw;
	}
	.about2 table th,.about2 table td{
		display: block;
		padding: 4vw 0 4vw 3vw;
	}
	.about2 table th{
		width: auto;
		border-bottom: none;
		padding-bottom: 0;
	}
	.about2 table td{
		padding-top: 2.2vw;
	}
}



/*----------------------------------------------
	lecture/
-----------------------------------------------*/
.lecture1{
	text-align: left;
	margin-bottom: 80px;
}
.lecture1 .lecture-list{
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
}
.lecture1 .lecture-list article{
	max-width: 470px;
}
.lecture1 .lecture-list .name{
	display: flex;
	margin-bottom: 20px;
}
.lecture1 .lecture-list .name figure img{
	border-radius: 500px;
}
.lecture1 .lecture-list .name div{
	line-height: 1.4;
	flex: 1;
	margin-left: 20px;
}
.lecture1 .lecture-list .name div strong{
	font-size: 23px;
	font-weight: bold;
}
.lecture1 .lecture-list dl{
	padding-bottom: 15px;
	border-bottom: 1px solid #E0E0E0;
	margin-bottom: 15px;
}
.lecture1 .lecture-list dl:last-of-type{
	padding-bottom: 0;
	border-bottom: 0;
}
.lecture1 .lecture-list dl dt{
	font-size: 18px;
	line-height: 1.6;
	font-weight: bold;
	padding-left: 15px;
	position: relative;
}
.lecture1 .lecture-list dl dt:before{
	content: "";
	position: absolute;
	top: .6em;
	left: 0;
	width: 11px;
	height: 11px;
	border-radius: 3px;
	background: #217C72;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.lecture1{
		margin-bottom: 15vw;
	}
	.lecture1 .lecture-list{
		display: block;
	}
	.lecture1 .lecture-list article{
		max-width: inherit;
		margin-bottom: 15vw;
	}
	.lecture1 .lecture-list .name{
		margin-bottom: 4vw;
	}
	.lecture1 .lecture-list .name figure{
		width: 37.866vw;
	}
	.lecture1 .lecture-list .name div{
		line-height: 1.4;
		flex: 1;
		margin-left: 4vw;
	}
	.lecture1 .lecture-list .name div strong{
		font-size: 6.133vw;
	}
	.lecture1 .lecture-list dl{
		padding-bottom: 4vw;
		margin-bottom: 4vw;
	}
	.lecture1 .lecture-list dl dt{
		font-size: 4.8vw;
		padding-left: 4vw;
		margin-bottom: 2vw;
	}
	.lecture1 .lecture-list dl dt:before{
		top: .6em;
		width: 3vw;
		height: 3vw;
		border-radius: .5vw;
	}
	.lecture1 .lecture-list dl dd{
		font-size: 4vw;
	}
}



/*----------------------------------------------
	education/
-----------------------------------------------*/
.education1{
	text-align: left;
}
.education1 .education-ttl1{
	color: #fff;
	font-size: 26px;
	line-height: 1.4;
	background: #217C72;
	border-radius: 10px 10px 0 0;
	padding: 20px 45px;
	margin-bottom: 30px;
}
.education1 .education-ttl2{
	color: #217C72;
	font-size: 34px;
	line-height: 1.6;
	margin-bottom: 10px;
}
.education1 .tag-list{
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 15px;
	border-bottom: 1px solid #E0E0E0;
	margin-bottom: 15px;
}
.education1 .tag-list .tag{
	font-size: 13px;
	font-weight: normal;
	line-height: 1.4;
	display: inline-block;
	background: #fff;
	font-family: "Zen Maru Gothic", sans-serif;
	border-radius: 99px;
	border: 1px solid #B2B2B2;
	padding: 3px 15px;
	margin: 0 5px 5px 0;
}
.education1 .read{
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 10px;
}
.education1 .photo-cont{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 16px;
}
.education1 .photo-cont figure{
	width: 49.2%;
}
.education1 article{
	margin-bottom: 80px;
}
.education2{
	margin-bottom: 100px;
}
.education2 .education-ttl3{
	font-size: 36px;
	line-height: 1.6;
	font-weight: bold;
	font-family: "Zen Maru Gothic", sans-serif;
	margin-bottom: 60px;
}
.education2 .education2-list{
	display: flex;
	justify-content: space-between;
}
.education2 .education2-list a{
	display: flex;
	position: relative;
	background: #fff;
	padding: 45px 30px 10px;
	border-radius: 10px;
	display: block;
	width: 49%;
}
.education2 .education2-list a .comingsoon{
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.education2 .education2-list a .comingsoon img{
	width: 100%;
	height: 100%;
}
.education2 .education2-list a .education-ttl4{
	color: #fff;
	font-size: 20px;
	line-height: 1.4;
	font-weight: bold;
	padding: 15px;
	max-width: 228px;
	border-radius: 10px;
	background: #217C72;
	position: absolute;
	z-index: 2;
	top: -30px;
	right: 0;
	left: 0;
	margin: 0 auto;
}
.education2 .education2-list a .cont{
	display: flex;
}
.education2 .education2-list a figure{
	width: 35%;
}
.education2 .education2-list a figure img{
	border-radius: 10px;
}
.education2 .education2-list a .cont div{
	text-align: left;
	flex: 1;
	margin-left: 18px;
	padding-bottom: 35px;
}
.education2 .education2-list a div span.btn{
	font-weight: bold;
	position: absolute;
	right: 20px;
	bottom: 15px;
	padding-right: 35px;
	background: url(../img/arrow-green.svg) right center no-repeat;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.education1 .education-ttl1{
		font-size: 6.133vw;
		border-radius: 2vw 2vw 0 0;
		padding: 6vw 7vw;
		margin-bottom: 4vw;
	}
	.education1 .education-ttl2{
		font-size: 6.933vw;
		line-height: 1.5;
		margin-bottom: 4vw;
	}
	.education1 .tag-list{
		padding-bottom: 4vw;
		margin-bottom: 4vw;
	}
	.education1 .tag-list .tag{
		font-size: 3.466vw;
		padding: 1.5vw 4vw;
		margin: 0 1vw 1.5vw 0;
	}
	.education1 .read{
		font-size: 4.533vw;
		line-height: 1.8;
		margin-bottom: 3vw;
	}
	.education1 .photo-cont{
		display: block;
	}
	.education1 .photo-cont figure{
		width: auto;
		margin-bottom: 5vw;
	}
	.education1 article{
		margin-bottom: 13vw;
	}
	.education2{
		margin-bottom: 16vw;
	}
	.education2 .education-ttl3{
		font-size: 6.933vw;
		margin-bottom: 16vw;
	}
	.education2 .education2-list{
		display: block;
	}
	.education2 .education2-list a{
		display: block;
		padding: 14vw 5vw 2vw;
		border-radius: 2vw;
		width: auto;
		margin-bottom: 12vw;
	}
	.education2 .education2-list a .education-ttl4{
		font-size: 5.33vw;
		padding: 3vw;
		max-width: 60vw;
		border-radius: 3vw;
		top: -6vw;
	}
	.education2 .education2-list a .cont{
		display: block;
	}
	.education2 .education2-list a figure{
		width: auto;
		margin: 0 auto 5vw;
	}
	.education2 .education2-list a figure img{
		border-radius: 2vw;
	}
	.education2 .education2-list a .cont div{
		margin-left: 0;
		padding-bottom: 10vw;
	}
	.education2 .education2-list a div span.btn{
		right: 4vw;
		bottom: 3vw;
		padding-right: 8vw;
		background: url(../img/arrow-green.svg) right center / 6vw auto no-repeat;
	}
}



/*----------------------------------------------
	education/
-----------------------------------------------*/
.policy1{
	line-height: 1.8;
}
.policy1 ol li{
	margin-bottom: 2.5em;
}
.policy1 ol li span.f-green{
	font-size: 24px;
	font-weight: bold;
	display: inline-block;
	margin-bottom: .3em;
}
/*------------------------------ responsive ------------------------------*/
@media screen and (max-width: 540px) {
	.policy1 .ttl1{
		font-size: 6.33vw;
	}
	.policy1 ol li{
		margin-bottom: 2em;
	}
	.policy1 ol li span.f-green{
		font-size: 5.33vw;
	}
}


