@charset "utf-8";
/* CSS Document */

/* 共通スタイル------------------------- */
body {
	font-family:"ヒラギノ角ゴ 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;}

a:hover{opacity: 0.5;}

/*header--------------------------------*/

.title-wrap{
	background: url(../images/img_cover.webp) center top repeat-x;
    width: 100%;
    background-size: cover;
    padding: 15px 0;
    background-attachment: fixed;
}

.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:65%;
	vertical-align: top;
	margin-left:10px;
}
	.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: 1.4;
		margin-right: 10px;
		font-size: 3.5rem;
	}

	.title-left-side .h1-title ul li:nth-child(2){
		font-size: 3.5rem;
	}

.title-left-side ul.label{
		background:	#666;
		width: 90%;
		color: #fded87;
		display: flex;
		justify-content: center;
		padding-top: 5px;
		line-height: 1.2;
		margin: 20px 0;
	}

	.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;
	    font-weight: bold;
	}

	.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 auto;
}

.title-right-side{
	width: 48%;
	text-align: right;
}

	.title-right-side a{
		display: block;
		width: 180px;
		float: right;
		}

	.title-right-side img{
		display: initial;
}

	.title-right-side img.move01 {
    	animation-name: move01;
    	animation-timing-function: ease-in-out;
    	animation-iteration-count: infinite;
    	animation-direction: alternate;
    	animation-duration: 5.5s;
}

	@keyframes move01 {
    	0% {
        	transform: translate(0,0px);
    	}

    	100% {
        	transform: translate(0,-15px)
    	}
}

/*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 2.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{
	background: url(../images/img_cover.webp) center top repeat-x;
	background-size: cover;
	color: #fff;
}

.read-wrap{
	width: 100%;
	margin: 0 auto;
	padding: 20px;
	background-color: #666;
}

.read-wrap p {
    padding: 0 10%;
}

.list-blk{
	background-attachment: fixed;
	margin:0;
	padding: 20px 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;
		}

		.wave {
			display: inline-block;
			position: absolute;
			width: 300px;
			height: 300px;
			left:8%;
			top:5%;
		  }
		  .wave:before, .wave:after {
			position: absolute;
			content: '';
			border: 4px solid #fff;
			opacity: 1;
			border-radius: 50%;
			left:50%;
			top:50%;
			animation: wave 5.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;
			}
		  }

		.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 .position{
				font-weight: bold;
			}*/

		.list-blk ul.list-left .prof-area .seminar-title{
			font-size: 1.375rem;
			margin-bottom: 10px;
			color: #e66700;
			font-weight: bold;
		}
		.list-blk ul.list-left .prof-area .schedule{
			background:#fdad3d;
			border: 2px solid #fdad3d;
			border-radius: 5px;
			text-align: center;
			font-size: 1.5rem;
			font-weight: bold;
			padding: 5px;
			color: #FFFFFF;
		}

	.list-blk02{
			margin:0;
			padding: 20px 0;
			color: #000;
			width: 100%;
		}

		.list-blk02 .list-close{
			/*max-width: 1000px;*/
			width: 100%;
			margin: 0 auto;
			padding: 10px;
			background: #666;
			font-size: 1.625rem;
			font-weight: bold;
			text-align: center;
			color:#fded87;
		}


.list-wht{
	margin:0;
	color: #000;
	width: 100%;
	position: relative;
}

.list-wht .radius{
	background: #e66700;
	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: #fdad3d;
			font-weight: bold;
		}
		.list-wht ul.list-left .prof-area .schedule{
			border: 2px solid #e66700;
			background-color: #e66700;
			text-align: center;
			font-size: 1.5rem;
			font-weight: bold;
			color: #fff;
			border-radius: 5px;
			padding: 5px;
		}

	.prof{font-size: 0.825rem;}

.btn-wrap,
.btn-wrap-blk{
	text-align: center;
	margin: 0 auto;
}

		@-webkit-keyframes stripe-slide {
		  0% {
			background-position: 0% 0;
		  }
		  100% {
			background-position: 100% 0;
		  }
		}
		@keyframes stripe-slide {
		  0% {
			background-position: 0% 0;
		  }
		  100% {
			background-position: 100% 0;
		  }
		}

			.btn {
			overflow: visible;
			margin: 30px 0 0;
			padding: 0;
			border: 0;
			background: transparent;
			font: inherit;
			font-size: 1.5rem;
			font-weight: bold;
			line-height: normal;
			cursor: pointer;
			-moz-user-select: text;
			display: block;
			text-decoration: none;
			text-transform: uppercase;
			padding: 15px 36px;
			background-color: #e66700;
			color: #FFF;
			border: 2px solid #fff;
			margin-bottom: 16px;
			transition: all 0.8s ease;
			box-shadow: 5px 5px 0 #666;
			}

			/*.btn:-moz-focus-inner {
			padding: 0;
			border: 0;
			}*/

			.btn--stripe {
			overflow: hidden;
			position: relative;
			}

			.btn--stripe:hover {
			background-color: #00bce6;
			color: #FFF;
			border-color: #333;
			left: 0;
			bottom: -3px;
			box-shadow: 5px 5px 0 #000;
			}

			.btn--stripe:hover:after {
			background-image: repeating-linear-gradient(45deg, #333, #333 1px, transparent 2px, transparent 5px);
			border-top: 1px solid #333;
			}

			.btn--large {
			width: 90%;
			}

			.btn--large2 {
			width: 70%;
			margin:30px auto;
			}

			.btn_txt{
				position: relative;
				margin: 0 auto;
			}



			.arrow_anime{
				position: absolute;
				display: block;
				animation: arrowmove 2.5s ease-in-out infinite;
				top:50%;
				margin-top:-50px;
			}

			.arrow_anime_main{
				margin-top:-12px;
			}
			.arrow_anime img{ width: 25px;}

			@keyframes arrowmove{
			  0%{right:-10%;}
			  50%{right:-12%;}
			 100%{right:-10%}
 			}

			.arrow_anime:hover{
			animation-play-state: paused;
		}

			/*.btn--radius {
			border-radius: 36px;
			}*/


.btn-wrap-blk{
	background: url(../images/img_cover.webp) center top repeat-x;
	background-size: cover;
	padding: 15px;
	color: #000;
}


.btn-wrap p,
.btn-wrap-blk p{
	font-size:1.5rem;
	font-weight: bold;
}

.mb20 {margin-bottom: 20px;}

.finalsection {
	width: 100%;
}

.summary-wrap{
	margin: 50px 0;
	width: 100%;
	margin: 0;
    padding: 20px 0;
    color: #000;
    width: 100%;
}

.summary-wrap .text-area{
	background: rgb(69 74 78 / 80%);
    min-width: 320px;
    width: 80%;
    margin: 0 auto;
	padding: 40px;
    line-height: 2;
}

.summary-wrap .text-area h3{
	text-align: center;
	color: #FFF;
	font-size: 1.875rem;
}

.summary-wrap .text-area .summary-text{
	color: #FFF;
}

	.summary-wrap .text-area .summary-text span{
		background: #e66700;;
		border-radius: 10px;
		padding: 3px 5px;
		text-align: center;
		font-size: 0.825rem;
		margin-inline-end: 10px;
		font-weight:bold;

	}

	.summary-wrap p.kome {
		color: #FFF;
		line-height: 1.4;
		margin-top: 12px;
	}

.helpdesk-wrap{
	background-color: #666;
	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;
		font-weight: bold;
		width: 15%;
		color: #fff;
	}
	.helpdesk-wrap .helpdesk-text .info-text{
		font-size: 1.25rem;
		color: #fff;
	}

	.helpdesk-wrap .mail-link{
		margin: 20px 0;
	}

	.helpdesk-wrap .mail-link a{
		display: block;
		text-decoration: none;
		color: #FFF;
		border: 1px solid #FFF;
		padding: 10px;
		width: 80%;
		text-align: center;
	}

	.helpdesk-wrap .mail-link a img{
		display: inline;
		vertical-align: middle;
		padding-right: 10px;
	}


/*---- 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: #666;
	}


/*@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 {
	/*width: 92%;*/
	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: 30%;
    text-align: right;
    float: right;
    overflow: hidden;
    padding: 15px 15px 0 0;
}

.sp-logo a{
	display: block;
}

.title-right-side{display: none ;}
.title-left-side{ width:  90% ; margin: 0 auto}

.title-left-side ul.label{
	display: flex;
	text-align: left;
	width: 100%;
}
.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 {
	font-size: 3rem;
}
.title-left-side .h1-title ul li:nth-child(2){
	font-size: 3rem;
}

.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%;
}

.btn--large {
    width: 100%;
	padding: 20px;
}

.list-blk02 .list-close {
	font-size: 1.1rem;
}

.list-blk ul.list-left,
.list-wht ul.list-left{
	width: 90%;
}

.btn--large2{
	width: 90%;
	padding: 15px;
}

.close-btn-head{
	border: 5px solid #CCC;
    background: #EEE;
    text-align: center;
    width: 100%;
    margin: 20px auto;
    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-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;
	}

}/*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.2;
}

/*タイトル*/

.title-left-side .h1-title ul li:first-child{
	font-size: 3.0rem;
	text-align: center;
}
.title-left-side .h1-title ul li:nth-child(2){
	font-size: 3.0rem;
	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 a img{
	margin: 0;
	padding: 0 20px;
}*/

.btn-wrap p, .btn-wrap-blk p{
	font-size: 1.1rem;
}

.btn_txt{
	font-size: 1.25rem;
}

.arrow_anime{
	margin-top: -45px;
}

.sp_margin_arrow{
	margin-top: -12px !important;
}

/*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*/



.close-btn-head{
	border: 5px solid #CCC;
    background: #EEE;
    text-align: center;
    width: 90%;
    /*margin: 20px;*/
    padding: 10px;
    font-size: 1.3rem;
    border-radius: 10px;
	color:#CCC;
}


.close-btn{
	border: 5px solid #CCC;
    background: #EEE;
    text-align: center;
    width: 80%;
    margin: 20px auto;
    padding: 10px;
    font-size: 1.3rem;
    border-radius: 10px;
	color:#CCC;
}

@media screen and (min-width: 667px){
	.sp_br {display: none; }
}
