@charset "UTF-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

* {
	padding: 0px;
	margin: 0px;
	-webkit-text-size-adjust: 100%;
	color: #111;
	font-weight: 400;
	line-height: 1.6em;
}

body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@media screen and (min-width: 769px) {
	body {
		min-width: 1180px;
		box-sizing: border-box;
	}
}

.set {
	margin: 0px;
	padding: 0px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}
img {
	border: 0;
	width: 100%;
	display: block;
}
.alpha:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}


/*clearfix*/
.cf:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.cf {
  min-height: 1px;
}

* html .cf {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

ul {
	list-style-type: none;
}


/*  */
@media screen and (max-width: 768px) {
	.u_pc {
	  display: none;
	}
}

@media screen and (min-width: 769px) {
	.u_sp {
	  display: none;
	}
}


/* CONTAINER */
.container-s, .container {
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
	box-sizing: border-box;
}
.container-l {
	width: 90%;
	margin: 0 auto;
	box-sizing: border-box;
}

@media screen and (min-width: 769px) {
  .container-s {
    width: 760px;
  }
}

@media screen and (min-width: 769px) {
  .container {
    width: 1100px;
	padding: 80px 50px 50px;
  }
}

@media screen and (min-width: 769px) {
	.container-l {
	  width: 1100px;
	  padding: 0 50px;
	}
}



/* COLOR */
.bg_lightblue {
	background-color: #e5f8ff;
}
.bg_gray {
	background-color: #F2F2F2;
}
.bg_stu {
	background-color: rgba(0,174,226,0.1);
	padding-top: 20px;
}
.bg_air {
	background-color: rgba(101,169,220,0.2);
	padding-top: 20px;
}

.c_stu {
	color: #00aee2;
}
.c_air {
	color: #65a9dc;
}

@media screen and (min-width: 769px) {
	.bg_stu {
		padding-top: 0;
	}
	.bg_air {
		padding-top: 0;
	}
}
/*
.icon::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f007";
}
*/


/* HEADER */
.header {
	top: 0;
	width: 100%;
	position: relative;
	z-index: 99;
}
.header .mv {
	background-color: #00afe2;
	padding: 60px 20px;
}
.header .mv .logo {
	width: 200px;
	margin: 0 auto;
}
.header .mv h2 {
	font-size: 18px;
	color: #FFF;
	text-align: center;
	margin: 30px 0 20px;
}
#fixed-header {
	position: fixed;
	top: -50px;
	width: 100%;
	height: 55px;
	box-sizing: border-box;
	transition: .5s; /* アニメーションタイミング */
	background-color: rgba(255,255,255,0.9);
}
#fixed-header.is-show {
  top: 0;
}
#fixed-header .inner {
	width: 96%;
	margin: 0 auto;
	padding: 10px 0;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#fixed-header .inner .logo {
	width: 290px;
}

@media screen and (min-width: 769px) {
	.header {
		min-width: 1100px;
		box-sizing: border-box;
	}
	.header .mv {
		padding: 100px 20px;
	}
	.header .mv .logo {
		width: 320px;
	}
	.header .mv h2 {
		font-size: 24px;
		margin: 40px 0 20px;
	}
	#fixed-header {
		top: -70px;
		height: 70px;
	}
	#fixed-header .inner {
		width: 90%;
		padding: 15px 0;
	}
	#fixed-header .inner .logo {
		width: 420px;
	}
}


.header_wrap {
	width: 96%;
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto;
}
.header_meti {
	width: 140px;
	margin: 0 0 0 -10px;
}
@media screen and (min-width: 769px) {
	.header_wrap {
		width: 90%;
	}
	.header_meti {
		width: 160px;
		margin: 0;
	}
}



/* MODAL */
.header-hm-icon {
	width: 35px;
}
.remodal .logo img {
	width: 120px;
	margin: 0 auto 20px;
}
.remodal .logo p {
	font-size: 16px;
	color: #FFF;
	text-align: center;
	margin: 0 0 30px;
}
.modal ul {
	width: 90%;
	max-width: 400px;
	margin: 0 auto 30px;
}
.modal ul li {
	font-size: 15px;
	font-weight: 400;
	margin: 0 0 10px;
	text-align: center;
}
.modal ul li a {
	color: #00afe3;
	background-color: #FFF;
	padding: 10px 15px;
	border-radius: 40px;
	text-decoration: none;
	display: block;
}
.remodal .sns {
	display: flex;
	justify-content: center;
}
.remodal .sns li {
	width: 50px;
	margin: 10px 25px 0;
}

@media screen and (min-width: 769px) {
	.header-hm-icon {
		width: 35px;
	}
	.modal ul li {
		font-size: 16px;
	}
	.remodal .logo img {
		width: 200px;
		margin: 0 auto 20px;
	}
	.remodal .logo p {
		font-size: 18px;
		margin: 0 0 30px;
	}
	.modal ul li a:hover {
		color: #222;
		background-color: #e8faff;
		transition: .5s;
	}
	.remodal .sns li {
		width: 60px;
		margin: 15px 30px 10px;
	}
}



/* TTL */
.main_ttl {
	text-align: center;
}
.main_ttl span {
	position: relative;
	display: inline-block;
	margin-bottom: 1.2em;
	font-size: 20px;
	font-weight: 700;
}
.main_ttl span:before {
	content: '';
	position: absolute;
	bottom: -10px;
	display: inline-block;
	width: 50px;
	height: 5px;
	left: 50%;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background: #0097d0;
	border-radius: 10px;
}
.main_ttl.stu span:before {
	background: #f49b00;
}
.main_ttl.air span:before {
	background: #974AA5;
}
@media screen and (min-width: 769px) {
	.main_ttl span {
		font-size: 30px;
	}
}

.sub_ttl {
	font-size: 16px;
	font-weight: 600;
    margin: 0 0 10px;
	padding: 10px;
	background-color: rgba(255,255,255,0.5);
	border-top: solid 1px #0097d0;
	border-bottom: solid 1px #0097d0;
	text-align: center;
}
@media screen and (min-width: 769px) {
	.sub_ttl {
		font-size: 24px;
		margin: 0 0 20px;
	}
}



/* ABOUT */
.about {
	margin: 0 0 40px;
}
.outline {
	background-color: #F6F6F6;
	border-radius: 20px;
	margin: 0 auto 30px;
	padding: 15px;
	box-sizing: border-box;
}
.outline .txt {
	font-size: 15px;
	line-height: 1.6em;
	margin: 0 0 10px;
}
.outline .emphasis {
	color: #0097d0;
	font-weight: 700;
}
.outline .annotation {
	font-size: 0.8em;
	vertical-align: top;
	color: #e84e59;
	margin: 0 5px;
}
.outline .area {
	border-top: solid 1px #CCC;
	padding: 20px 0;
}
.outline .area img {
	width: 60%;
	margin: 0 auto;
}
.outline .area .supplement {
	font-size: 15px;
	line-height: 1.6em;
}
.outline .supplement .notes {
	font-size: 0.8em;
	vertical-align: top;
	color: #e84e59;
	line-height: inherit;
}
.outline .supplement .bold {
	font-weight: 700;
}

@media screen and (min-width: 769px) {
	.about {
		margin: 0 0 50px;
	}
	.outline {
		width: 100%;
		/*max-width: 800px;*/
		margin: 0 auto 50px;
		padding: 20px 20px 10px;
		text-align: center;
		box-sizing: border-box;
	}
	.outline .txt {
		font-size: 16px;
		line-height: 1.8em;
		margin: 0 0 20px;
	}
	.outline .area {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 20px;
	}
	.outline .area img {
		width: 22%;
		padding: 0 0 0 20px;
		box-sizing: border-box;
	}
	.outline .area .supplement {
		font-size: 16px;
		text-align: left;
	}
}



/* HISTORY */
.history {
}
.history .txt {
	font-size: 15px;
	margin: 0 0 10px;
}
.history .txt a {
	color: #075598;
	text-decoration: none;
}
.history .txt a i {
	color: #075598;
}
.history ul {
	display: flex;
	justify-content: space-between;
}
.history ul li {
	width: 48%;
}
.history ul li img {
	border-radius: 10px;
}

@media screen and (min-width: 769px) {
	.history {
		margin: 10px 20px 0;
	}
	.history .txt {
		font-size: 16px;
		line-height: 1.6em;
		margin: 0 0 30px;
	}
	.history .txt a:hover {
		border-bottom: solid 1px #075598;
	}
}



/* ARCHIVE */
.archive {
	
}
.archive ul {
	margin: 20px 0 0;
}
.archive ul li {
	font-size: 16px;
	text-align: center;
	margin: 0 0 30px;
}
.archive ul li .fy {
	color: #FFF;
	margin: 0 0 16px;
	padding: 2px 10px;
	overflow: hidden;
	text-align: center;
}
.archive ul li .fy span {
	position: relative;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 0.5em;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	color: #111;
}
.archive ul li .fy span::before,
.archive ul li .fy span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 1px;
	background-color: #CCC;
}
.archive ul li .fy span::before {
	right: 100%;
}
.archive ul li .fy span::after {
	left: 100%;
}
.archive ul li .book {
	margin: 0 0 20px;
}
.archive ul li .book a {
	font-weight: 700;
}
.archive ul li .book img {
	width: 60%;
	margin: 0 auto 10px;
	border-radius: 10px;
	border: solid 1px #d6d6d6;
}
.archive ul li .btn a {
	font-size: 15px;
	font-weight: 700;
	color: #FFF;
	background-color: #0097d0;
	border-radius: 50px;
	border: solid 2px #0097d0;
	padding: 10px 30px;
	text-align: center;
	display: block;
}
.archive ul li a {
	text-decoration: none;
}

@media screen and (min-width: 769px) {
	.archive {
		margin: 10px 20px 80px;
	}
	.archive ul {
		width: 660px;
		display: flex;
		justify-content: space-between;
		margin: 40px auto 0;
	}
	.archive ul li {
		width: 48%;
		text-align: center;
		font-size: 18px;
	}
	.archive ul li .fy span {
		font-size: 18px;
	}
	.archive ul li .book {
		margin: 0 0 30px;
	}
	.archive ul li .book img {
		width: 80%;
	}
	.archive ul li .btn a {
		font-size: 18px;
	}
	.archive ul li .btn a:hover {
		transition: .5s;
		color: #0097d0;
		background-color: #FFF;
	}
}




/* SUPPORT */
.support {
	margin: 0 0 40px;
}
.support ul li {
	margin: 0 0 30px;
}
.support ul li .caption {
	font-size: 16px;
	font-weight: 700;
	color: #0097d0;
}
.support ul li .txt {
	font-size: 15px;
}
.support ul li img {
	border-radius: 10px;
	margin: 0 0 5px;
}

@media screen and (min-width: 769px) {
	.support {
		margin: 0 0 80px;
	}
	.support ul {
		display: flex;
		justify-content: space-between;
	}
	.support ul li {
		width: 31%;
	}
	.support ul li .caption {
		font-size: 18px;
		padding: 0 5px;
	}
	.support ul li .txt {
		font-size: 16px;
		padding: 0 5px;
	}
	.support ul li img {
		margin: 0 0 10px;
	}
}




/* INFO */
.info {
	margin: 0 0 40px;
}
.info .closing dl {
	text-align: center;
}
.info .closing dl dt {
	font-size: 20px;
	font-weight: 700;
	color: #0097d0;
}
.info .closing dl dd {
	font-size: 18px;
	font-weight: 700;
	display: inline-block;
	text-align: left;
	margin: 0 0 20px;
}
.info .closing dl dd span {
	font-weight: 700;
	text-decoration: line-through 2px solid #666;
}
.info .closing .notes {
	font-size: 13px;
	margin: 0 0 30px;
	/*
	padding-left: 1em;
	text-indent: -1em;
	*/
}
.info .closing .notes span {
	font-size: 16px;
	font-weight: 700;
	background: -webkit-linear-gradient(transparent 70%, #fff000 70%);
	background: -o-linear-gradient(transparent 70%, #fff000 70%);
	background: linear-gradient(transparent 70%, #fff000 70%);
}

.info .att {
	font-size: 15px;
	margin: 0 0 20px;
}
.info .att .marker {
	font-size: 16px;
	font-weight: 700;
	background: -webkit-linear-gradient(transparent 70%, #fff000 70%);
	background: -o-linear-gradient(transparent 70%, #fff000 70%);
	background: linear-gradient(transparent 70%, #fff000 70%);
}
.info .att .date {
	font-size: 13px;
	display: block;
}

.info .apply {
	background-color: #FFF;
	padding: 20px 15px;
	border-radius: 20px;
	margin: 0 0 40px;
}
.info .apply .ttl {
	font-size: 18px;
	margin: 0 0 20px;
	text-align: center;
}
.info .apply .ttl span {
	font-weight: 700;
	background: -webkit-linear-gradient(transparent 70%, #fff000 70%);
	background: -o-linear-gradient(transparent 70%, #fff000 70%);
	background: linear-gradient(transparent 70%, #fff000 70%);
}
.info .apply .caption {
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	margin: 0 0 20px;
}
.info .apply .yt {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin: -10px auto 40px; 
}
.info .apply .yt iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.info .apply .frame {
	margin: 0 0 40px;
}
.info .apply .frame .desc {
	font-size: 14px;
	margin: 0 0 10px;
}
.info .apply .frame div {
	display: block;
	overflow-x: scroll;
	/*white-space: nowrap;*/
	-webkit-overflow-scrolling: touch;
}
.info .apply .frame table {
	width: 800px;
	box-sizing: border-box;
	border-bottom: solid 1px #CCC;
	border-right: solid 1px #CCC;
	border-spacing: 0;
	font-size: 15px;
	text-align: center;
	margin: 0 0 20px;
}
.info .apply .frame table th {
	padding: 10px;
	background-color: #F6F6F6;
	border-top: solid 1px #CCC;
	border-left: solid 1px #CCC;
}
.info .apply .frame table tr td {
	padding: 10px;
	border-top: solid 1px #CCC;
	border-left: solid 1px #CCC;
}
.info .apply .frame table tr td.cat span {
	font-size: 18px;
	font-weight: 700;
	display: block;
}
.info .apply .frame table tr .summary {
	width: 55%;
	text-align: left;
	font-weight: 700;
}
.info .apply .frame table tr .notes {
	font-size: 0.8em;
	vertical-align: top;
	color: #e84e59;
}
.info .apply .frame table tr .summary .supplement {
	font-size: 14px;
	line-height: 1.6em;
}
.info .apply .frame table tr .summary .examples {
	font-size: 14px;
	font-weight: 400;
	display: block;
	padding: 10px 0 0 1.8em;
	text-indent: -2em;
}
.info .apply .frame .scroll {
	font-size: 14px;
	margin: 0 0 20px;
}

.info .apply .how {
	margin: 0 0 40px;
}
.info .apply .how .txt {
	font-size: 15px;
	margin: 0 0 40px;
}
.info .apply .how .txt span {
	font-size: 16px;
	font-weight: 700;
	background: -webkit-linear-gradient(transparent 70%, #fff000 70%);
	background: -o-linear-gradient(transparent 70%, #fff000 70%);
	background: linear-gradient(transparent 70%, #fff000 70%);
}
.info .end {
	font-size: 15px;
	color: #FF0000;
	margin: 0 0 20px;
}
.info .end span {
	font-size: 18px;
	font-weight: 700;
	color: #111;
	margin: 0 0 20px;
}
.info .apply .how .caption {
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}
.info .apply .how .inner {
}
.info .apply .how .mold {
	margin: 0 0 30px;
}
.info .apply .how .mold .mold_ttl {
	color: #FFF;
	margin: 0 0 15px;
	padding: 2px 10px;
	/*background: linear-gradient(transparent 70%, #a7d6ff 70%);*/
	overflow: hidden;
	text-align: center;
}
.info .apply .how .mold .mold_ttl span {
	position: relative;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 0.5em;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	color: #111;
}
.info .apply .how .mold .mold_ttl span::before,
.info .apply .how .mold .mold_ttl span::after {
	position: absolute;
	top: 50%;
	content: '';
	width: 400%;
	height: 1px;
	background-color: #AAA;
}
.info .apply .how .mold .mold_ttl span::before {
	right: 100%;
}
.info .apply .how .mold .mold_ttl span::after {
	left: 100%;
}

.info .apply .how .mold .mold_ttl span.stu {
	color: #00aee2;
}
.info .apply .how .mold .mold_ttl span.air {
	color: #65a9dc;
}
.info .apply .how ul {
}
.info .apply .how ul li {
	/*
	width: 300px;
	*/
	margin: 0 auto 15px;
	text-align: center;
}
.info .apply .how ul li a  {
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	padding: 10px 30px;
	display: block;
	background-color: #FFF;
	border-radius: 40px;
	border: solid 2px #0097d0;
	position: relative;
}
.info .apply .how ul li a span {
	font-size: 13px;
	display: block;
}
.info .apply .how ul li a i {
	/*
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f019";
	*/
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -10px;
}
@media screen and (min-width: 769px) {
	.info .att {
		font-size: 16px;
		text-align: center;
		margin: 0 0 40px;
	}
	.info .att .marker {
		font-size: 20px;
	}
	.info .att .date {
		font-size: 14px;
	}
	
	.info .closing {
		margin: 20px 0 0;
	}
	.info .closing dl dt {
		font-size: 22px;
	}
	.info .closing dl dd {
		font-size: 30px;
		font-weight: 700;
		margin: 0 0 30px;
	}
	.info .closing .notes {
		font-size: 15px;
		margin: 0 0 30px;
		text-align: center;
	}
	.info .closing .notes span {
		font-size: 20px;
	}
	
	.info .apply .frame {
		margin: 0 0 80px;
	}
	.info .apply .frame .desc {
		font-size: 16px;
		text-align: center;
	}
	.info .apply .frame div {
		overflow-x: hidden;
		white-space: normal;
	}
	.info .apply .frame table {
		width: 100%;
		font-size: 16px;
	}
	.info .apply .frame table tr td.cat span {
		font-size: 22px;
	}
	.info .apply .frame table tr .summary {
		width: 55%;
	}
	
	.info .apply {
		margin: 0 0 60px;
		padding: 50px 40px;
	}
	.info .apply .ttl {
		font-size: 30px;
	}
	.info .apply .caption {
		font-size: 24px;
	}
	.info .apply .yt {
		width: 560px;
		height: 315px !important;
		margin: -30px auto 60px;
		padding-top: 0;
	}
	.info .apply .how {
		margin: 0 0 60px;
	}
	.info .apply .how .txt {
		font-size: 16px;
		text-align: center;
	}
	.info .apply .how .txt span {
		font-size: 20px;
	}
	.info .end {
		font-size: 16px;
		text-align: center;
		margin: 0 0 30px;
	}
	.info .end span {
		font-size: 24px;
		text-align: center;
		margin: 0 0 30px;
	}
	.info .apply .how .caption {
		font-size: 24px;
	}
	.info .apply .how .inner {
		display: flex;
	}
	.info .apply .how .mold {
		width: 44%;
		margin: 0 3% 30px;
	}
	.info .apply .how .mold .mold_ttl span {
		font-size: 18px;
	}
	.info .apply .how ul {
	}
	.info .apply .how ul li {
		margin: 0 auto 20px;
		text-align: center;
		position: relative;
	}
	.info .apply .how ul li a {
		font-size: 18px;
		padding: 10px 30px 5px;
		border-radius: 50px;
	}
	.info .apply .how ul li a span {
		font-size: 15px;
		margin-bottom: 5px;
	}
	.info .apply .how ul li a:hover {
		transition: .5s;
		color: #FFF;
		background-color: #0097d0;
		border: solid 2px #0097d0;
	}
	.info .apply .how ul li a:hover span, .info .apply .how ul li a:hover i {
		transition: .5s;
		color: #FFF;
	}
	.info .apply .how ul li .date {
		font-size: 14px;
	}
}


.info .closing .schedule {
	margin: 0 0 50px;
}
.info .closing .schedule dl {
	margin: 0 0 20px;
	padding: 10px 15px;
	box-sizing: border-box;
	border: solid 2px #0097d0;
	border-radius: 10px;
	text-align: left;
}
.info .closing .schedule dl dt {
	font-size: 18px;
	font-weight: 700;
	color: #e84e59;
	border-bottom: solid 2px #0097d0;
	margin: 0 0 10px;
	padding: 0 0 5px;
}
.info .closing .schedule dl dd {
	font-size: 18px;
	font-weight: 700;
	margin: 0;
}


.info .closing .schedule .completed {
	text-decoration: line-through 2px solid #666;
}

@media screen and (min-width: 769px) {
	.info .closing .schedule {
		margin: 0 0 60px;
	}
	.info .closing .schedule dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		margin: 0 0 30px;
		padding: 10px 0;
	}
	.info .closing .schedule dl dt {
		font-size: 24px;
		width: calc(25% - 2px);
		border-right: solid 2px #0097d0;
		border-bottom: none;
		margin: 0;
		padding: 0;
		text-align: center;
	}
	.info .closing .schedule dl dd {
		font-size: 29px;
		width: 75%;
		margin: 0;
		padding: 0 0 0 30px;
		box-sizing: border-box;
	}
		
}




.info .apply .how ul li .date {
	font-size: 13px;
	color: #e84e59;
}
.info .briefing {
	margin: 0 0 40px;
}
.info .briefing .txt {
	font-size: 15px;
	margin: 0 0 20px;
}
.info .briefing .txt span {
	font-weight: 700;
}
.info .briefing .completed {
	text-decoration: line-through 2px solid #666;
}
.info .briefing .date {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 20px;
}
.info .briefing .notes {
	font-size: 14px;
	text-align: center;
	margin: -30px 0 50px;
}
@media screen and (min-width: 769px) {
	.info .apply .how ul li .date {
		font-size: 14px;
	}
	.info .briefing .txt {
		font-size: 16px;
		margin: 0 0 20px;
		text-align: center;
	}
	.info .briefing .date {
		font-size: 30px;
		font-weight: 700;
		margin: 0 0 30px;
		text-align: center;
	}
	.info .briefing .notes {
		font-size: 15px;
		margin: -45px 0 30px;
	}
}




/* BTN */
.info .btn {
	margin: 10px auto 30px;
	text-align: center;
	position: relative;
}
.info .btn a {
	font-size: 16px;
	font-weight: 700;
	color: #FFF;
	text-decoration: none;
	padding: 15px 30px;
	display: block;
	border-radius: 40px;
}
.info .btn a span {
	font-size: 13px;
	color: #FFF;
	display: block;
}
.info .btn i {
	/*
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f019";
	*/
	color: #FFF;
	position: absolute;
	top: 50%;
	right: 20px;
}
.info .btn.materials a {
	background-color: #e84e59;
}
.info .btn.entry a {
	background-color: #0097d0;
}
.info .btn.mtg a {
	background-color: #10487c;
}
.info .btn.mt {
	/*margin-top: -20px;*/
	margin-top: 0;
}
.about .btn {
	width: 320px;
	margin: 20px auto 40px;
	text-align: center;
	position: relative;
}
.about .btn a {
	font-size: 16px;
	font-weight: 700;
	color: #FFF;
	background-color: #0097d0;
	text-decoration: none;
	padding: 10px 30px;
	display: block;
	border-radius: 40px;
}
.about .btn i {
	color: #FFF;
	position: absolute;
	top: 21%;
	right: 20px;
}

@media screen and (min-width: 769px) {
	.info .btn {
		width: 100%;
		margin: 20px auto 40px;
	}
	.info .btn a {
		font-size: 20px;
		padding: 15px 30px;
		border-radius: 50px;
	}
	.info .btn a span {
		font-size: 15px;
		margin-bottom: 5px;
	}
	.info .btn.materials a:hover {
		transition: .5s;
		background-color: #0097d0;
	}
	.info .btn.entry a:hover {
		transition: .5s;
		background-color: #e84e59;
	}
	.info .btn.mtg a:hover {
		transition: .5s;
		background-color: #129b53;
	}
	.info .btn.mt {
		/*margin-top: -30px;*/
	}
	.about .btn {
		width: 360px;
		margin: 40px auto 80px;
	}
	.about .btn i {
		top: 23%;
	}
	.about .btn a {
		font-size: 18px;
		padding: 10px 30px;
		border-radius: 50px;
		border: solid 2px #0097d0;
	}
	.about .btn a:hover, .about .btn a:hover i {
		transition: .5s;
		color: #0097d0;
		background-color: #FFF;
	}
}




/* MATERIAL */
.material {
	margin: 0 0 40px;
}
.material .txt {
	font-size: 15px;
	margin: 0 0 20px;
}
.material ul {
	margin: 0 0 40px;
}
.material ul li {
	width: 320px;
	margin: 0 auto 15px;
	text-align: center;
}
.material ul li a  {
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	padding: 10px 30px;
	display: block;
	background-color: #FFF;
	border-radius: 40px;
	border: solid 2px #CCC;
	position: relative;
}
.material ul li .type {
	font-size: 13px;
	display: block;
}
.material ul li a i {
	/*
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f019";
	*/
	position: absolute;
	top: 50%;
	right: 18px;
	margin-top: -5px;
}
.material ul li .date {
	font-size: 13px;
	color: #e84e59;
}
@media screen and (min-width: 769px) {
	.material {
		margin: 0 0 60px;
	}
	.material .txt {
		font-size: 16px;
		margin: 0 0 30px;
		text-align: center;
	}
	.material .caption {
		font-size: 24px;
	}
	.material ul {
		width: 820px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto 60px;;
	}
	.material ul:after {
		content: "";
		margin: 8px;
	}
	.material ul li {
		width: 380px;
		margin: 0 auto 20px;
		text-align: center;
		position: relative;
	}
	.material ul li .multiline {
		line-height: 1.3em;
		display: inline-block;
	}
	.material ul li a {
		font-size: 18px;
		padding: 10px 30px 5px;
		border-radius: 50px;
	}
	.material ul li .type {
		font-size: 15px;
		margin-bottom: 5px;
	}
	.material ul li a:hover {
		transition: .5s;
		color: #FFF;
		background-color: #666;
		border: solid 2px #666;
	}
	.material ul li a:hover span, .material ul li a:hover i {
		transition: .5s;
		color: #FFF;
	}
	.material ul li .date {
		font-size: 14px;
	}
}




/* FAQ */
.faq {
	margin: 0 0 40px;
	font-size: 14px;
}
.faq .toggle {
	display: none;
}
.faq .Label {		/*タイトル*/
	display: block;
	color: #FFF;
	background: #999;
	padding: 12px 2.7em 12px 2.4em;
	text-indent: -1.8em;
}
.faq .Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.faq .Label,
.faq .answer {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	/*transition: all 0.3s;*/
}
.faq .answer {		/*本文*/
	height: 0;
	margin-bottom: 10px;
	padding: 0 15px;
	overflow: hidden;
	display: flex;
}
.faq .toggle:checked + .Label + .answer {	/*開閉時*/
	height: auto;
	padding: 12px 16px 12px 10px;
	transition: all .3s;
}
.faq .toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}
.faq .Label span {
	color: #FFF;
	font-family: 'Lexend Tera', sans-serif;
	margin: 0 5px 0 0;
}
.faq .answer p span {
	font-family: 'Lexend Tera', sans-serif;
}
.faq .answer ul {
	/*list-style-type: circle;
	margin: 0 0 0 1.6em;*/
	margin: 0 0 0 0.3em;
}
.faq .answer ul li {
	margin: 0 0 10px;
}
.faq .answer ul li a {
	color: #0097d0;
}
.faq .answer ul li .child {
	list-style-type: disc;
	margin: 0 0 0 1.3em;
}
@media screen and (min-width: 769px) {
	.faq {
		margin: 0 0 60px;
		font-size: 16px;
	}	
	.faq .answer ul {
	}
	.faq .answer ul li a:hover {
		text-decoration: none;
		transition: .5s;
	}
}




/* NEWS */
.news {
	background-color: #FFF;
	border-radius: 20px;
	margin: 0 auto 0px;
	padding: 15px;
	box-sizing: border-box;
}
.news .inner {
	height: 220px;
	overflow-y: scroll;
	margin: 0 0 10px;
}
.news .inner li {
	border-bottom: solid 1px #CCC;
	padding: 15px 10px 15px 0;
}
.news .inner li a {
}
.news .inner li .date {
	font-size: 13px;
	padding: 2px 10px 2px 0;
	box-sizing: border-box;
	float: left;
}
.news .inner li .cat {
	font-size: 13px;
	background-color: #FFF;
	text-align: center;
	border-radius: 20px;
	padding: 2px 8px;
	box-sizing: border-box;
	display: inline-block;
}
.news .inner li .cat.blue {
	color: #0097d0;
	border: solid 1px #0097d0;
}
.news .inner li .cat.green {
	color: #04b310;
	border: solid 1px #04b310;
}
.news .inner li .cat.gray {
	color: #999;
	border: solid 1px #999;
}
.news .inner li .ttl {
	font-size: 14px;
	margin: 5px 0 0;
}
.news .inner li a i {
	color: #fd525a;
}

.news .sns {
	display: flex;
	justify-content: center;
}
.news .sns li {
	width: 50px;
	margin: 10px 25px 0;
}
.news .txt {
	font-size: 13px;
	text-align: center;
	background-color: #EFEFEF;
	padding: 5px 10px;
}

@media screen and (min-width: 769px) {
	.news {
		width: 100%;
		max-width: 800px;
		margin: 20px auto 40px;
		padding: 20px 20px 10px;
		box-sizing: border-box;
	}
	.news .inner {
		height: 270px;
		margin: 0 0 15px;
	}
	.news .inner li {
	}
	.news .inner li a {
		color: #fd525a;
	}
	.news .inner li a:hover {
		text-decoration: none;
	}
	.news .inner li .date {
		font-size: 14px;
	}
	.news .inner li .cat {
		font-size: 14px;
	}
	.news .inner li .ttl {
		font-size: 15px;
	}

	.news .sns li {
		width: 80px;
		margin: 15px 40px 10px;
	}
	.news .txt {
		font-size: 15px;
	}
}




/* PRIVATE */
.txt_private {
	font-size: 15px;
	margin: 0 0 20px;
}
.mb0 {
	margin-bottom: 0 !important;
}
@media screen and (min-width: 769px) {
	.txt_private {
		font-size: 16px;
		margin: 0 0 40px;
		text-align: center;
	}
	
}


.info .apply .how .manual {
	border-top: solid 1px #CCC;
	padding-bottom: 5px;
}
.info .apply .how .manual li {
	width: 100%;
	background-color: #F6F6F6;
	padding: 15px 5px 10px;
	box-sizing: border-box;
	border-bottom: solid 1px #CCC;
	margin-bottom: 0;
}
.info .apply .how .manual .manual_ttl  {
	font-size: 15px;
	font-weight: 700;
	padding-bottom: 10px;
}
.info .apply .how .manual .child  {
	display: flex;
	align-items: center;
}
.info .apply .how .manual .child li  {
	width: 46%;
	display: block;
	border: none;
	padding: 0;
}
.info .apply .how .manual .child li a  {
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	padding: 10px 30px;
	display: block;
	background-color: #FFF;
	border-radius: 40px;
	border: solid 2px #0097d0;
	position: relative;
}
.info .apply .how .manual .child li a i {
	/*
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f019";
	*/
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -7px;
}
.info .apply .how .manual ul:after {
	margin: 0;
}
@media screen and (min-width: 769px) {
.info .apply .how .manual li {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px 10px 10px;
}
.info .apply .how .manual .manual_ttl  {
	width: 420px;
	font-size: 16px;
}
.info .apply .how .manual .child li  {
	width: 40%;
}

	.info .apply .how .manual .child li a:hover {
		transition: .5s;
		color: #FFF;
		background-color: #0097d0;
		border: solid 2px #0097d0;
	}
	.info .apply .how .manual .childl li a:hover span, .info .apply .how .manual .child li a:hover i {
		transition: .5s;
		color: #FFF;
	}
	
}




/* PROJECT */
.project .map {
	margin: 0 0 20px;
}
.project_r7 {
	margin: 0 0 40px;
	font-size: 14px;
}
.project_r7 .toggle {
	display: none;
}
.project_r7 .Label {		/*タイトル*/
	display: block;
	color: #FFF;
	padding: 12px 2.7em 12px 2.4em;
	text-indent: -1.8em;
}
.project_r7 .Label.air {
	background: #65a9dc;
}
.project_r7 .Label.stu {
	background: #00aee2;
}
.project_r7 .Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.project_r7 .Label,
.project_r7 .detail {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	/*transition: all 0.3s;*/
}
.project_r7 .detail {		/*本文*/
	height: 0;
	margin-bottom: 10px;
	padding: 0 15px;
	overflow: hidden;
	display: flex;
}
.project_r7 .toggle:checked + .Label + .detail {	/*開閉時*/
	height: auto;
	padding: 12px 0;
	transition: all .3s;
}
.project_r7 .toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}
.project_r7 .Label span {
	color: #FFF;
	font-family: 'Lexend Tera', sans-serif;
	margin: 0 5px 0 0;
}
.project_r7 .answer p span {
	font-family: 'Lexend Tera', sans-serif;
}
.project_r7 .detail {
}
.project_r7 .detail dl {
	width: 100%;
	font-size: 15px;
}
.project_r7 .detail dl dt {
	background-color: #FFF;
	padding: 2px 5px;
	border-bottom: solid 1px #CCC;
}
.project_r7 .detail dl dd {
	padding: 5px 5px 15px;
}
.project_r7 .detail dl dd a {
	color: #111;
}

@media screen and (min-width: 769px) {
	.project .map {
		width: 70%;
		margin: 0 auto 60px;
	}
	.project_r7 {
		margin: 0 0 60px;
		font-size: 16px;
	}	
	.project_r7 .detail {
	}
	.project_r7 .detail dl {
		font-size: 16px;
		display: flex;
		flex-wrap: wrap;
		/*align-items: center;*/
	}
	.project_r7 .detail dl dt {
		width: 20%;
		margin: 0 0 10px;
		padding: 5px;
		box-sizing: border-box;
		border-bottom: solid 1px #CCC;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.project .detail dl dd {
		width: 80%;
		margin: 0 0 10px;
		padding: 5px 10px 5px 20px;
		box-sizing: border-box;
		border-bottom: solid 1px #CCC;
		/*display: flex;*/
		align-items: center;
	}
	.project .detail dl dd a:hover {
		transition: .5s;
		text-decoration: none;
	}
}




/* FOOTER */
footer {
	background-color: #F2F2F2;
	text-align: center;
}
.footer .caption {
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 10px;
}
.footer .desc {
	font-size: 15px;
	line-height: 1.8em;
	margin: 0 0 20px;
	text-align: left;
}
.footer .office {
	font-size: 16px;
	font-weight: 700;
	text-align: left;
}
.footer .mail {
	font-size: 18px;
	font-weight: 700;
	color: #0097d0;
}
.footer .mail span {
	font-size: 14px;
	display: block;
	text-align: left;
}
.footer .contact div {
	background-color: #FFF;
	border-radius: 20px;
	margin: 0 auto 30px;
	padding: 15px;
	box-sizing: border-box;
}
.footer .notes {
	font-size: 15px;
	text-align: left;
}
.footer .notes span {
	font-weight: 700;
	background: -webkit-linear-gradient(transparent 70%, #fff000 70%);
	background: -o-linear-gradient(transparent 70%, #fff000 70%);
	background: linear-gradient(transparent 70%, #fff000 70%);
}
.footer .management {
	font-size: 13px;
	border-top: solid 1px #AAA;
	margin: 20px 0 0;
	padding: 20px 0 0;
	text-align: left;
}
.footer_bottom {
	background-color: #FFF;
	padding: 10px;
}
.footer_bottom .inner {
}
.footer_bottom .inner .footer_meti {
	width: 160px;
	margin: 0 auto 10px; 
}
.footer_bottom .inner .link {
	font-size: 13px;
	margin: 0 0 20px;
}
.footer_bottom .inner .link a {
	color: #111;
}
.footer_bottom .copy {
	font-size: 12px;
}
@media screen and (min-width: 769px) {
	.footer .caption {
		font-size: 30px;
		margin: 0 0 20px;
	}
	.footer .desc {
		font-size: 16px;
		margin: 0 0 30px;
		text-align: center;
	}
	.footer .office {
		font-size: 20px;
		text-align: center;
	}
	.footer .mail {
		font-size: 26px;
	}
	.footer .mail span {
		font-size: 15px;
		text-align: center;
	}
	.footer .contact {
		margin: -10px 0 30px;
	}
	.footer .contact div {
		width: 600px;
		padding: 15px 15px 20px;
		text-align: center;
	}
	.footer .notes {
		font-size: 16px;
		text-align: center;
	}
	.footer .management {
		font-size: 15px;
		text-align: center;
	}
	.footer_bottom {
		background-color: #FFF;
		padding: 20px;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.footer_bottom .inner {
		display: flex;
		align-items: flex-end;
	}
	.footer_bottom .inner .footer_meti {
		width: 200px;
		margin: 0 10px 0; 
	}
	.footer_bottom .inner .link {
		font-size: 15px;
	}
	.footer_bottom .inner .link a:hover {
		text-decoration: none;
	}
	.footer_bottom .copy {
		font-size: 14px;
		margin: 0 0 10px;
	}
}




/* PRIVACY */
.privacy .txt {
	font-size: 14px;
	margin: 0 15px 20px;
}
.privacy div {
	background-color: #FFF;
	border-radius: 20px;
	margin: 0 auto 30px;
	padding: 15px;
	box-sizing: border-box;
}
.privacy dl {
}
.privacy dl dt {
	font-size: 16px;
	font-weight: 700;
	color: #0097d0;
	border-bottom: solid 1px #0097d0;
	padding: 10px;
	margin: 0 0 10px;
}
.privacy dl dd {
	font-size: 14px;
	margin: 0 0 20px;
	padding: 0 0 0 10px;
}
.privacy dl dd ul {
	list-style-type: circle;
	margin: 0 0 10px 1.2em;
}
.privacy dl dd ul li {
	margin: 10px 0 0;
}
.privacy dl dd ul li .child {
	list-style-type: disc;
}
.privacy dl dd ul li .child li {
	margin: 5px 0 0;
}
.privacy div .date {
	font-size: 15px;
	margin: 0 15px 15px 0;
	text-align: right;
}
@media screen and (min-width: 769px) {
	.privacy .txt {
		font-size: 15px;
		margin: 0 30px 20px;
	}
	.privacy dl {
		padding: 30px;
	}
	.privacy dl dt {
		font-size: 18px;
	}
	.privacy dl dd {
		font-size: 15px;
		margin: 0 0 30px;
		padding: 0 0 0 30px;
	}
	.privacy div .date {
		font-size: 15px;
		margin: 0 30px 30px 0;
	}
}



/* PAGE_BACK */
.to_top a {
	width: 80px;
	font-size: 14px;
	text-decoration: none;
	background-color: #FFF;
	margin: 0 auto;
	padding: 10px 20px;
	border: solid 1px #AAA;
	border-radius: 40px;
	display: block;
	text-align: center;
}
@media screen and (min-width: 769px) {
	.to_top a {
		font-size: 16px;
	}
	.to_top a:hover {
		transition: .5s;
		background-color: #FFF;
		border: solid 1px #0097d0;
	}
}



/* PAGETOP */
#pagetop {
	width: 40px;
	height: auto;
	position: fixed;
	bottom: 5px;
	right: 5px;
	z-index: 6;
}
@media screen and (min-width: 769px) {
	#pagetop {
		width: 60px;
		height: auto;
		position: fixed;
		bottom: 60px;
		right: 10px;
	}
}



/* ANCHOR */
#anc_top, #about, #archive, #contact {
	padding-top: 30px;
	margin-top: -30px;
}
#news, #info, #history, #project {
	padding-top: 40px;
	margin-top: -40px;
}
#contact  {
	padding-top: 30px;
	margin-top: -20px;
}
@media screen and (min-width: 769px) {
	#anc_top, #news, #about, #project, #info, #history, #archive, #contact {
		padding-top: 30px;
		margin-top: -30px;
	}
}




/* SHARE */
.share {
	margin: 0 0 40px;
}
.share .logo_icon {
	width: 80px;
	margin: 0 auto 20px;
}
.share .txt {
	font-size: 16px;
	color: #00afe2;
	text-align: center;
	margin: 0 0 30px;
}

@media screen and (min-width: 769px) {
	.share {
		margin: 0 0 60px;
	}
	.share .logo_icon {
		width: 90px;
		margin: 0 auto 20px;
	}
	.share .txt {
		font-size: 20px;
		margin: 0 0 30px;
	}
}
