@charset "utf-8";

.en{
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.align-C{
	text-align: center;
}
.align-L{
	text-align: left;
}
.align-R{
	text-align: right;
}


.note-list > li{
	text-indent: -1.4em;
	padding-left: 1.4em;
}
.note-list > li:before{
	content: "・　";
}


.note-list2{
  margin-top: 10px;
}
.note-list2 > li{
  font-size: 13px;
	text-indent: -1.0em;
	padding-left: 1.0em;
  line-height: 1.5;
}
.note-list2 > li:before{
	content: "※";
}

.cite-list{
  margin-top: 10px;
}
.cite-list > li{
  font-size: 13px;
	text-indent: -2.4em;
	padding-left: 2.4em;
  line-height: 1.5;
}
.cite-list > li:before{
	content: "出典：";
}


.num-list{
	counter-reset: number 0;
}
.num-list > li{
	text-indent: -1em;
	padding-left: 1em;
}
.num-list > li:before{
	counter-increment: number 1;
	content: counter(number) ". ";
}

.num-list2{
	counter-reset: number 0;
}
.num-list2 > li{
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.num-list2 > li:before{
	counter-increment: number 1;
	content: "("counter(number) ") ";
}


.btn{
	background-color: #333333;
	overflow: hidden;
	position: relative;
	transition: ease .2s;
}
.btn > span{
		color: #FFF;
		position: relative;
		z-index: 3;
	}
.bg-bottom:after {
 	content: '';
 	position: absolute;
 	bottom:0;
 	left: 0;
 	z-index: 2;
 	background: #333;
 	width: 100%;
	height: 0;
 	transition:.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.bg-bottom:hover:after{
	 height: 100%;	
 	 background: #696969;
}



.btn-entry{
	background: rgb(28,173,185);
	background: linear-gradient(90deg, rgba(28,173,185,1) 0%, rgba(34,206,89,1) 100%);
	color: #FFF;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	overflow: hidden;
	transition: .3s;
}
.btn-entry:after{
	background: rgb(41,230,96);
	background: linear-gradient(90deg, rgba(41,230,96,1) 0%, rgba(35,205,208,1) 100%);
	content: '';
 	position: absolute;
 	bottom:0;
 	left: 0;
 	z-index: 2;
 	width: 100%;
	height: 0;
 	transition:.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
}
.btn-entry:hover:after{
	height: 100%;	
}


.image img{
	height: auto;
	max-width: 100%;
}

.image.iamge-scroll{
	overflow-x: auto;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}
.image.iamge-scroll div img {
  max-width: 100%;
  min-width: 600px;
  vertical-align: top;
}


.heading{
	overflow: hidden;
}
.heading.bg-image{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.heading.bg-image .heading-wrap{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0;
}
.heading.grad-wide:before,
.heading.grad:before{
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(106,248,253,1) 100%);
	content: "";
	display: block;
}
.heading-wrap h1{
	font-weight: 700;
}
@media print, screen and (min-width: 901px) {
	.heading.bg-image .heading-wrap{
		height: 380px;
	}
	.heading.grad-wide:before{
		height: 580px;
		width: 100%;
		position: absolute;
		top: 80px;
		z-index: -1;
	}
	.heading.grad:before{
		height: 680px;
		width: calc(100% - 80px);
		position: absolute;
		left: 80px;
		top: 80px;
		mix-blend-mode: multiply;
		z-index: 1;
	}
	.heading-wrap{
		text-align: center;
		padding: 80px 0 35px;
		position: relative;
		z-index: 1;
	}
	.heading-wrap h1{
		font-size: 34px;
	}
	.heading-wrap .en{
		font-size: 16px;
		line-height: 1;
		margin-top: 10px;
	}
	.heading-text{
		font-size: 18px;
		font-weight: 400;
		margin-bottom: 100px;
		text-align: center;
		position: relative;
		z-index: 2;
	}
}
@media screen and (max-width: 900px) {
	.heading.bg-image .heading-wrap{
		height: 300px;
	}
	.heading.grad-wide:before{
		height: 580px;
		width: 100%;
		position: absolute;
		top: 60px;
		z-index: -1;
	}
	.heading.grad:before{
		height: 300px;
		width: 100%;
		position: absolute;
		left: 0;
		top: 60px;
		mix-blend-mode: multiply;
		z-index: 1;
	}
	.heading-wrap{
		text-align: center;
		padding: 110px 0 35px;
		position: relative;
		z-index: 1;
	}
	.heading-wrap h1{
		font-size: 25px;
	}
	.heading-wrap .en{
		font-size: 10px;
		line-height: 1;
		margin-top: 5px;
	}
	.heading-text{
		font-size: 15px;
		font-weight: 400;
		margin-top: 100px;
		margin-bottom: 55px;
		text-align: center;
		position: relative;
		z-index: 2;
	}
}




@media print, screen and (min-width: 901px) {
	.section-head{
		margin: 0 auto 0;
		max-width: 1088px;
	}
	.section-head .image{
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		height: 440px;
		width: 100%;
		position: relative;
		z-index: 2;
	}
	.section-head-wrap{
		position: relative;
		margin-top: -40px;
		z-index: 2;
	}
	.section-head-wrap h2,
	.section-head-wrap .main{
		font-size: 80px;
		line-height: 1;
		text-align: center;
	}
	.section-head-sub{
		font-size: 18px;
		font-weight: 400;
		text-align: center;
		margin-top: 20px;
	}
	.section-head-text{
		text-align: left;
		max-width: 720px;
		margin: 50px auto 0;
	}
	
	
	
	.section-head-sub{
		margin-top: 60px;
		margin-bottom: 35px;
		text-align: center;
	}
	.section-head-sub p{
		font-size: 18px;
		font-weight: 400;
		margin-bottom: 5px;
	}
	.section-head-sub h2{
		font-size: 28px;
		font-weight: 700;
		line-height: 1.8;
	}
}
@media screen and (max-width: 900px) {
	.section-head{
		padding: 0 40px;
	}
	.section-head .image{
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
		height: 200px;
		width: 100%;
		position: relative;
		z-index: 2;
	}
	.section-head-wrap{
		position: relative;
		margin-top: -20px;
		z-index: 2;
	}
	.section-head-wrap h2,
	.section-head-wrap .main{
		font-size: 40px;
		line-height: 1;
		text-align: center;
	}
	.section-head-sub{
		font-size: 15px;
		font-weight: 400;
		text-align: center;
		margin-top: 60px;
	}
	.section-head-text{
		text-align: left;
		margin: 50px auto 0;
	}
	
	
	.section-head-sub p{
		font-size: 13px;
		font-weight: 400;
		margin-bottom: 5px;
	}
	.section-head-sub h2{
		font-size: 21px;
		font-weight: 700;
		line-height: 1.8;
	}
}



.sec{
	position: relative;
}
.sec:before{
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(106,248,253,1) 100%);
	content: "";
	display: block;
	width: 100%;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	z-index: -1;
}
@media print, screen and (min-width: 901px) {
}
@media screen and (max-width: 900px) {

}



@media print, screen and (min-width: 901px) {
	.container{
		overflow: hidden;
	}
	.wrap{
		margin-left: auto;
		margin-right: auto;
		max-width: 1088px;
	}
}
@media screen and (max-width: 900px) {
	.container{
		overflow: hidden;
	}
}



.modal{
	box-shadow:none;
	color: #FFF;
}
.modal .close{
	position: fixed;
}
.modal .close a{
	background: url("../img/close.svg") no-repeat;
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
}
@media print, screen and (min-width: 901px) {
	.modal .close{
		right: 0;
		top: 0;
	}
	.modal .close a{
		height: 44px;
		width: 44px;
	}
}
@media screen and (max-width: 900px) {
	.modal{
		margin-left: 40px;
		margin-right: 40px;
	}
	.modal .close{
		right: 20px;
		top: 20px;
	}
	.modal .close a{
		background-size: 22px auto;
		height: 22px;
		width: 22px;
	}
	.iziModal-navigate>button{
		top: auto;
		bottom: 20px;
		height: 42px;
		width: 42px;
	}
	.iziModal-navigate .iziModal-navigate-prev{
		margin: 0 !important;
		left: 0;
		right: auto;
	}
	.iziModal-navigate .iziModal-navigate-next{
		margin: 0 !important;
		left: auto;
		right: 0;
	}
}
