@charset "utf-8";
/* CSS Document */

/* 共通スタイル------------------------- */
body {
	font-family:"Montserrat","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	color: #000000;
	background: #fff;
	height: 100%;
	margin: 0;
	box-sizing: border-box;
}

ul,ol {list-style: none;}

/*header--------------------------------*/

.title-wrap{
	background: url(../images/header_bg.webp);
	width: 100%;
	background-size: cover;
	padding: 15px 0;
	position: relative;
	overflow: hidden;
}

header.title-wrap::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	-webkit-animation: zoom 10s 1;
	animation: zoom 10s 1;
	animation-fill-mode: forwards;
 }

 @keyframes zoom {
	0% {
	   transform: scale(1);
	}
	100% {
	   transform: scale(1.5);
	}
 }

.sp-logo{display: none;}

.title-text-area{
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	padding: 10px 0 0;
	display: flex;
	justify-content: flex-start;
}

.title-left-side{
	width: 100%;
	vertical-align: top;
	margin-left:10px;
	z-index: 20;
}
	.title-left-side .h1-title{
		margin: 0;
		font-size: 3rem;
		line-height: 1.2;
		font-weight: bold;
		color: #000;
	}

	.title-left-side .h1-title ul{
		padding: 0;
		margin: 0;
	}

	.title-left-side .h1-title ul li:first-child{
		line-height: 2.2;
		margin-right: 10px;
		font-size: 1.8rem;
	}

	.title-left-side .h1-title ul li:nth-child(2){
		font-size: 3.35rem;
	}

.title-left-side ul.label{
		background: #fff;
		width: 68%;
		color: #e2001a;
		display: flex;
		justify-content: center;
		padding-top: 5px;
		line-height: 1.2;
		margin: 20px 0;
		border: 1px solid;
	}

	.title-left-side ul.label li{
		font-size:1.875rem;
	}

	.title-left-side ul.label li.small{
		font-size: 0.75rem;
		padding-left: 10px;
	}

	.title-left-side .title-date{
		font-size:1.75rem;
		margin: 0;
	}

	.title-left-side ul.title-date{
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}

	.title-left-side ul.title-date li:nth-child(2){
		font-size:1.5rem;
		line-height: 1.2;
	}

.btn-wrap-head{
	margin: 10px 0;
    width: 75%;
}

.title-right-side{
	width: 42%;
	text-align: right;
	z-index: 10;
}

	.title-right-side a{
		display: block;
		width: 180px;
		float: right;
		z-index: 50;
    	pointer-events: auto;
}

	.title-right-side img.move01 {
    	animation-name: move01;
    	animation-timing-function: ease-in-out;
    	animation-iteration-count: infinite;
    	animation-direction: alternate;
    	animation-duration: 25s;
		pointer-events: none;
}

	@keyframes move01 {
    	0% {
        	transform: scale(1.4);
    	}

    	100% {
        	transform: scale(2.0);
    	}
}
.title-right-side img.move01{
	padding-top:30px;
}

.title-right-side span{
	display:inline-block;
	width:450px;
	height:450px;
	margin:20px;
	z-index:10;
  }

  .dotwave {
	display: inline-block;
	position: absolute;
	width: 380px;
	height: 380px;
	left:55%;
	top:5%;
  }
  .dotwave:before, .dotwave:after {
	position: absolute;
	content: '';
	border: 10px dotted #ffffff8a;
	opacity: 1;
	border-radius: 50%;
	left:50%;
	top:50%;
	animation: dotwave 10s cubic-bezier(0, 0.2, 0.8, 1) infinite;
  }
  .dotwave:after {
	animation-delay: -0.8s;
	border: 10px dotted #ffb7b7a8;
  }
  @keyframes dotwave {
	0% {
	  width: 0;
	  height: 0;
	  opacity: 0;
	  transform:rotate(0)
	}
	40%{
		opacity: 1
	}
	100% {
	  top: 0%;
	  left: 0%;
	  width: 100%;
	  height: 100%;
	  opacity: 0;
	  transform:rotate(360deg)
	}
  }

/*opアニメーション*/
.shutter{
	width: 100%;
	height: 100%;
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin: auto;
	background-color:#fff;
	z-index:99;
	-webkit-animation: byeShutter 2.4s forwards;
	animation: byeShutter 1.4s forwards;
  }
  .op_logo {
	position: absolute;
	width: 200px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	-webkit-animation: logo 0.8s forwards;
	animation: logo 0.8s forwards;
	animation-delay: 0.2s;
  }
  @keyframes byeShutter {
  70% {
	opacity: 1;
  }
  100% {
	display: none;
	opacity: 0;
	z-index: -1;
  }
  }
  @keyframes logo {
  0% {
	opacity: 1;
  }
  50% {
	transform: rotate(0deg);
  }
	100% {
	transform: scale(0.8);
	}
  }


/*main--------------------------------*/

main{
	color: #fff;
}

.read-wrap{
	width: 100%;
	margin: 0 auto;
	padding: 20px;
	background-color: #eeeeee5c;
}

.read-wrap p {
    padding: 0 10%;
    color: #171717;
}

.list-blk{
	background-attachment: fixed;
	margin:0;
	padding: 20px 0 0;
	color: #000;
	width: 100%;
	position: relative;
}
		.list-blk ul.list-left{
			max-width: 1000px;
			width: 96%;
			margin: 0 auto;
			padding: 20px;
			display: flex;
			justify-content: flex-start;
			align-items: flex-start;
			background-color: #eeeeee;
			border: 1px solid #e2001a;
		}

		.wave {
			display: inline-block;
			position: absolute;
			width: 300px;
			height: 300px;
			left:8%;
			top:5%;
		  }
		  .wave:before, .wave:after {
			position: absolute;
			content: '';
			border: 6px dotted #fff;
			opacity: 1;
			border-radius: 50%;
			left:50%;
			top:50%;
			animation: wave 8.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
		  }
		  .wave:after {
			animation-delay: -0.6s;
		  }
		  @keyframes wave {
			0% {
			  width: 0;
			  height: 0;
			  opacity: 1;
			}
			100% {
			  top: 0%;
			  left: 0%;
			  width: 100%;
			  height: 100%;
			  opacity: 0;
			}
		  }
		  .scroll {
			display: block;
			padding-top: 30px;
			position: relative;
			text-align: center;
		  }
		  .scroll::before {
			animation: scroll 3.5s infinite;
			border: solid #000;
			border-width: 0 0 1px 1px;
			content: "";
			display: inline-block;
			margin: auto;
			position: absolute;
			top: 0;
			right: 0px;
			left: 0;
			transform: rotate(-45deg);
			width: 20px;
			height: 20px;
		  }
		  @keyframes scroll {
			0% {
			  transform: rotate(-45deg) translate(0, 0);
			}
			80% {
			  transform: rotate(-45deg) translate(-30px, 30px);
			}
			0%, 80%, 100% {
			  opacity: 0;
			}
			40% {
			  opacity: 1;
			}
		  }
		  .scroll-wrap {
			  margin: 0px auto;
			  max-width: 1000px;
			  width: 100%;
		  }


		.list-blk ul.list-left .prof-area{
			width: 76%;
			margin-right: 20px;
		}

		.list-blk ul.list-left .prof-area .name{
			font-size: 1.75rem;
			font-weight: bold;
			margin-bottom: 10px;
		}

		.list-blk ul.list-left .prof-area .seminar-title{
			font-size: 1.375rem;
			margin-bottom: 10px;
			color: #e2001a;
			font-weight: bold;
		}
		.list-blk ul.list-left .prof-area .schedule{
			background: #e2001a;
			border: 1px solid #e2001a;
			text-align: center;
			font-size: 1.5rem;
			padding: 5px;
			color: #fff;
		}

	.list-blk02{
			margin:0;
			padding: 20px 0;
			color: #000;
			width: 100%;
		}

		.list-blk02 .list-close{
			width: 100%;
			margin: 0 auto;
			padding: 10px;
			background: #eeeeee;
			font-size: 1.625rem;
			text-align: center;
			color: #171717;
		}


.list-wht{
	margin:0;
	color: #000;
	width: 100%;
	position: relative;
	padding: 20px 0 0
}

.list-wht .radius{
	background: #e2001a;
	padding: 20px 0;
}

	.list-wht ul.list-left{
			max-width: 1000px;
			width: 96%;
			margin: 0 auto;
			padding: 20px;
			display: flex;
			justify-content: flex-start;
			align-items: flex-start;
			background:#fff;
		}

		.list-wht ul.list-left .prof-area{
			width: 76%;
			margin-left: 20px;
		}

		.list-wht ul.list-left .prof-area .name{
			font-size: 1.875rem;
			font-weight: bold;
			margin-bottom: 10px;
		}

		.list-wht ul.list-left .prof-area .seminar-title{
			font-size: 1.375rem;
			margin-bottom: 10px;
			color: #e2001a;
			font-weight: bold;
		}
		.list-wht ul.list-left .prof-area .schedule{
			border: 1px solid #e2001a;
			background-color: #eeeeee;
			text-align: center;
			font-size: 1.5rem;
			color: #171717;
			padding: 5px;
		}

	.prof{font-size: 0.825rem;}

.btn-wrap,
.btn-wrap-blk{
	text-align: center;
	margin: 0 auto;
	padding: 30px 0 0;
    width: 75%;
}


			.button {
				display: inline-block;
				width: 90%;
				height: 60px;
				text-align: center;
				text-decoration: none;
				line-height: 54px;
				outline: none;
			  }
			  .button::before,
			  .button::after {
				position: absolute;
				z-index: -1;
				display: block;
				content: '';
			  }
			  .button,
			  .button::before,
			  .button::after {
				-webkit-box-sizing: border-box;
				-moz-box-sizing: border-box;
				box-sizing: border-box;
				-webkit-transition: all .6s;
				transition: all .6s;
			  }

			  .button {
				position: relative;
				z-index: 2;
				background-color: #e2001a;
				border: 1px solid #e2001a;
				color: #fff;
				font-size: 1.8rem;
				line-height: 50px;
				margin-bottom: 15px;
				padding-top: 6px;
				}
			  .button:hover {
				background-color: #fff;
				border-color: #e2001a;
				color: #e2001a;
			  }
			  .button::before,
			  .button::after {
				top: 0;
				width: 50%;
				height: 100%;
				background-color: #e2001a;
			  }
			  .button::before {
				right: 0;
			  }
			  .button::after {
				left: 0;
			  }
			  .button:hover::before,
			  .button:hover::after {
				width: 0;
				background-color: #e2001a;
			  }


.btn-wrap-blk{
	padding: 15px;
	color: #000;
}


.btn-wrap p,
.btn-wrap-blk p{
	font-size:1.5rem;
}

.close-btn-head {
    border: 5px solid #CCC;
    background: #EEE;
    text-align: center;
    width: 90%;
    padding: 10px;
    font-size: 1.2rem;
    border-radius: 10px;
    color: #CCC;
}

.close-btn{
	border: 5px solid #CCC;
    background: #EEE;
    text-align: center;
    width: 90%;
    margin: 20px auto;
    padding: 10px;
    font-size: 1.25rem;
    border-radius: 10px;
	color:#CCC;
}

p.deadline {
    text-align: center;
    font-size: 1.5rem;
	color: #171717;
}

.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}

.finalsection {
    background: url(../images/summary_bg.webp);
	background-size: cover;
    width: 100%;
}

.summary-wrap{
	margin: 50px 0;
	width: 100%;
	margin: 0;
	padding: 20px 0;
	color: #000;
	width: 100%;
}

.summary-wrap .text-area{
	background: #eeeeeeab;
	min-width: 320px;
	width: 80%;
	margin: 0 auto;
	padding: 40px;
	line-height: 2;
	border: 1px solid #e2001a;
}

.summary-wrap .text-area h3{
	text-align: center;
	color: #171717;
	font-size: 1.875rem;
	font-weight: lighter;
}

.summary-wrap .text-area .summary-text{
	color: #171717;
}

	.summary-wrap .text-area .summary-text span{
		background: #e2001a;
		padding: 3px 5px;
		text-align: center;
		font-size: 0.9rem;
		margin-inline-end: 10px;
		color: #fff;
	}

	.summary-wrap p.kome {
		color: #171717;
		line-height: 1.4;
		margin-top: 12px;
	}

.helpdesk-wrap{
	background-color: #eeeeee;
	width: 100%;
	margin: 0 auto;
	padding-top: 20px;
}

.helpdesk-wrap .helpdesk-text{
	display: flex;
	justify-content: center;
}

	.helpdesk-wrap .helpdesk-text .title-text{
		font-size: 1.75rem;
		width: 15%;
		color: #171717;
	}
	.helpdesk-wrap .helpdesk-text .info-text{
		font-size: 1.25rem;
		color: #171717;
	}

	.helpdesk-wrap .mail-link{
		margin: 20px 0;
	}

	.helpdesk-wrap .mail-link a{
		display: block;
		text-decoration: none;
		color: #e2001a;
		border: 1px solid #e2001a;
		padding: 10px;
		width: 80%;
		text-align: center;
	}

	.helpdesk-wrap .mail-link a img{
		display: inline;
		vertical-align: middle;
		padding-right: 10px;
	}
	.mail-link a:hover{opacity:0.3;}


.border{border-bottom: 1px solid #171717;}

/*---- fadeUp ----*/

.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity:0;
	}

	@keyframes fadeUpAnime{
	  from {
		opacity: 0;
	  transform: translateY(100px);
	  }

	  to {
		opacity: 1;
	  transform: translateY(0);
	  }
	}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,.fadeUpTrigger{
	opacity: 0;
}


footer{
	text-align: center;
	color: #fff;
	background-color: #e2001a;
	}



/*@media---------------------------------------------------------*/

@media screen and (max-width: 1024px) {

.read-wrap p {
    padding: 0 10px;
}
}

@media screen and (max-width: 896px) {

.title-left-side ul.label{
	padding: 10px;
	font-size: 1.5rem;

}

.title-left-side ul.label li {
    font-size: 1.5rem;
}

.title-left-side ul.title-date{
	display: block;
}

.title-right-side{
	width: 35%;
	text-align: right;
	margin-right: 10px;
}

.title-left-side{
	width:65%;
}

.list-blk02 .list-close {
	font-size: 1.4rem;
}

.summary-wrap .text-area h3 {
    font-size: 1.5rem;
}

.helpdesk-wrap .helpdesk-text .title-text {
    font-size: 1.4rem;
}

.info-text p {
    font-size:1.0rem;
}


}/*end*/

@media screen and (max-width: 768px) {

.sp-logo{
	display: block;
	width: 25%;
    text-align: right;
    float: right;
    overflow: hidden;
    padding: 15px 15px 0 0;
}

.sp-logo a{
	display: block;
}

.title-wrap{background-size: cover;}
.title-right-side{display: none ;}
.title-left-side{ width:  90% ; margin: 0 auto}

.title-left-side .h1-title ul li:nth-child(2) {
    font-size: 3.0rem;
    text-align: center;
}

.title-left-side ul.label{
	width: 80%;
	margin: 20px auto;
}
.title-left-side ul.label li.small{
	font-size: 1rem;
}
.title-left-side ul.title-date{
	display: flex;
	justify-content: center;
}

/*タイトル*/

.title-left-side .h1-title ul li:first-child {
	text-align: center;
}
.title-left-side .h1-title ul li:nth-child(2){
	font-size: 2.5rem;
}

.read-wrap p {
	font-size: 0.825rem;
	padding: 0;
 }

.summary-wrap .text-area{
	width: 80%;
}

.summary-wrap .text-area ul li span{
	display: block;
	margin: 10px 0;
	width: 20%;
}

.summary-wrap .text-area .summary-text{
	font-size: 0.825rem;
}

.summary-wrap p.kome {
	font-size: 0.825rem;
}

.helpdesk-wrap .helpdesk-text .title-text{
	width: 18%;
}

.list-blk02 .list-close {
	font-size: 1.1rem;
}

.list-blk ul.list-left,
.list-wht ul.list-left{
	width: 90%;
}

.close-btn-head{
	border: 5px solid #CCC;
    background: #EEE;
    text-align: center;
    width: 100%;
    margin: 20px 0;
    padding: 10px;
    font-size: 1.25rem;
    border-radius: 10px;
	color:#CCC;
}


.close-btn{
	border: 5px solid #CCC;
    background: #EEE;
    text-align: center;
    width: 90%;
    margin: 20px auto;
    padding: 10px;
    font-size: 1.25rem;
    border-radius: 10px;
	color:#CCC;
}

.btn-wrap-head {
    width: 80%;
	margin: 15px auto;
}

.btn-wrap,.btn-wrap-blk {
	padding: 0;
	margin: 20px auto;
}

.btn-wrap-blk{padding: 10px 0;}

.list-blk ul.list-left .prof-area .schedule {
    font-size: 1.2rem;
}
.list-wht ul.list-left .prof-area .schedule {
	font-size: 1.2rem;
	}

.button { width: 100%; }


}/*end*/


@media screen and (max-width: 590px) {

.title-left-side{
	width: 96%;
}

.title-left-side ul.label{
	display: block;
	text-align: center;
	padding: 10px;
	font-size: 1.25rem;

}

.title-left-side ul.label li {
    font-size: 1rem;
}

.title-left-side ul.label li.small {
    font-size: 0.75rem;
}

.title-left-side ul.title-date{
	display: block;
	font-size: 1.5rem;
	text-align: center;
}

.title-left-side ul.title-date li:nth-child(2) {
    font-size: 1.25rem;
    line-height: 1.5;
}

/*タイトル*/

.title-left-side .h1-title ul li:first-child{
	font-size: 1.15rem;
	text-align: center;
}

/*list*/

.list-blk ul.list-left{
	display: block;
	width: 96%;

}

.list-blk ul.list-left .prof-area {
    width: 100%;
}

.list-wht ul.list-left .img-area{
	margin: 0 auto;
}

.list-blk ul.list-left .img-area img{
	margin: 0 auto;
}


.list-wht ul.list-left {
    max-width: 1000px;
    width: 96%;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-flow: column-reverse;
}

.list-wht ul.list-left .prof-area{
	width: 100%;
	margin-left: 0;
}
.list-blk ul.list-left .prof-area .schedule,
.list-wht ul.list-left .prof-area .schedule,
.list-blk .list-close{
	font-size: 1.1rem;
}

.list-blk ul.list-left .prof-area .name,
.list-wht ul.list-left .prof-area .name{
	font-size: 1.5rem;
}

.list-blk ul.list-left .img-area,
.list-wht ul.list-left .img-area{
	width: 60%;
	margin: auto;
}


/*btn*/

.btn-wrap p, .btn-wrap-blk p{
	font-size: 0.97rem;
}

.btn_txt{
	font-size: 1.25rem;
}

p.deadline {
	font-size: 1rem;
}

/*summy*/

.summary-wrap .text-area{
	width: 90%;
	padding: 40px 20px;
}

.summary-wrap .text-area ul li{
	margin-bottom: 20px;
    line-height: 1.4;
}

/*helpdesk*/
.helpdesk-wrap{
    padding: 0 20px;
}

.helpdesk-wrap .helpdesk-text {
    display: block;
    justify-content: center;
	padding: 20px 0;
}

.helpdesk-wrap .helpdesk-text .title-text {
    width: 90%;
	text-align: center;
	font-size: 1.4rem;
	margin: 0 auto 10px;
}

.helpdesk-wrap .helpdesk-text .info-text {
    font-size: 1rem;
    text-align: center;
}

.helpdesk-wrap .mail-link a{
	width: 100%;
}

.summary-wrap .text-area h3 {
    font-size: 1.4rem;
}

}/*end*/


@media screen and (min-width: 812px){
	.sp_br {
		display: none; }
}

@media screen and (min-width:812px) and (max-width:830px){
	.title-left-side .h1-title ul li:first-child {
		font-size: 1.6rem;
	}
	.title-left-side .h1-title ul li:nth-child(2) {
		font-size: 3.3rem;
	}
	.title-right-side.timeLag img.logo {
		width: 80%;
	}

}

@media screen and (min-width:667px) and (max-width:736px){
	.title-left-side .h1-title ul li:nth-child(2) {
		font-size: 2.8rem;
	}

}