@charset "utf-8";
/* CSS Document */

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    src: local("Noto Sans CJK JP"),
         url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
         url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
         url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
 }

html{
	font-size: 62.5%;/*16px×62.5％＝10px*/
}

body{
	font-size: 1.5rem;
	color: #333;
	background-color: #ffffff;
	font-family: "Noto Sans JP","游ゴシック体", YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-feature-settings: "palt";
	letter-spacing: 0.025em;
	line-height: 2.5;
	margin: 0 auto;
	padding: 0 ;
}

a{
	color: #333;
	text-decoration: none;
}

a:hover{
	opacity: 0.5;	
}

img{
	max-width: 100%;
	height: auto;
}


/*-----------------------------------
*utility
-----------------------------------*/
.text-center{
	text-align: center;
}
.text-left{
	text-align: left;
}
.bg-blue{
	background-color: #F6FDFF;
	width: 100%;
}

.wrapper{
		max-width: 1200px;
		padding: 40px 0px;
		margin: 0 auto;
	}

.bold{
	font-weight: bold;
}

.sp-only{
	display: none;
}

.fadein {
  opacity : 0;
  transform: translateY(24px);
  transition: 0.7s;
}

.fadedown {
    animation-name: fadedown;
    animation-duration: 2s;
}
@keyframes fadedown {
from {
    opacity: 0;
    transform: translateY(-20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
/*
.element {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s;
}
.is-fadein {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}*/

/*-----------------------------------
*section
-----------------------------------*/
.section-header{
	padding: 0 0 45px;	
}

.section-body{
	padding: 30px 55px 35px;
	margin: 0 20px;
	max-width:1200px;
	text-align: center;
	margin: 0 auto;
}

.section-title{
	color: #333333;
	font-size: 3.6rem;
	letter-spacing: 0.2em;
	position: relative;
}

.section-title::after{
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 80px;
	height: 5px; 
	background: -webkit-linear-gradient(left, #618DC9, #96EAC7);
	background: -o-linear-gradient(left, #618DC9, #96EAC7);
	background: linear-gradient(to right, #618DC9, #96EAC7); 
}

.section-subtitle{
	display: block;
	padding-top: 30px;	
	font-size: 1.9rem;
}


/*-----------------------------------
*header
-----------------------------------*/
.header{
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: center;
	top: 0;
	left: 0;
	z-index: 50;
	width: 100%;
	background-color: #fff;
	opacity: 0.9;
	height: 60px;
}

.logo{
	width: 175px;
	height: auto;
	margin-left: 30px;
}

.logo img{
	display: block;
	width: 100%;
	height: auto;
}

.nav_list{/*--ul--*/
	display: flex;
	justify-content: flex-end;
	flex: 1;
	list-style: none;
	height: 100%;
	margin: auto 0;
}

.nav_item:not(:last-child){
	margin-right: 40px;
}

.entry-bg{
	display: block;
	padding: 0 ;
	background-image: linear-gradient(to left,#F39823,#ECBC2A);
	width: 150px;
	height: 60px;
}

.nav_item a{
	display: inline-block;
	flex-direction: column;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	line-height: 1.3rem;
	margin-top: 22px;
	letter-spacing: 0.2rem;
}

.nav_item a span{
	font-size: 10px;
}

.nav .entry-bg a{
	margin-top: 17px;
	color: #fff;
}

/*-----------------------------------
*mv
-----------------------------------*/

.mv{
	position: relative;
	height: 520px;
	width: 100%;
	margin-top: 60px;
	background-image: url("../images/mv-bg-pc.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	text-align: center;
	background-position: center;
	padding: 0 auto;
}

.mv-logo{
	max-width: 470px;
	margin: auto auto;
}

/*-----------------------------------
*speaker-logo
-----------------------------------*/
.speaker-logo.wrapper{
	padding: 20px auto;
}

.speaker-logo{
	padding: 10px 20px;
	max-width: 1200px;
	margin: o auto;
}

.speaker-logo ul {
	display: flex;
	justify-content: center;
	max-width: 1200px;
	padding: 0 auto;
	align-items: center;
}

.speaker-logo li:not(:last-child){
	margin-right: 15px;
    list-style: none;
}

/*-----------------------------------
*about
-----------------------------------*/
#about .wrapper{
	padding-top: 0;
}
#about .section-body{
	padding-top: 0 ;
	padding-bottom: 0 ;
}
.about p{
	margin-bottom: 1.8rem;
	max-width: 800px;
	margin: 0 auto;
}


/*-----------------------------------
*program
-----------------------------------*/

.program-timetable{
	max-width: 1020px;
	margin: 0 auto;
}
.session{
	display: flex;
	margin-top: 80px;
}

.session-schedule{
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 3.0rem;
}

.session-schedule p{
	font-size: 1.5rem;
	font-weight: bold;	
}

.session-detail{
	margin-left: 6%;
	width: 100%;
}

h3{
	font-size: 2.0rem;
	line-height: 2.2;
	font-weight: bold;
	border-left: 5px solid #92D2B8;
	border-image: linear-gradient(to bottom, #618DC9 0%, #92D2B8 100%);
	border-image-slice: 1;
	padding-left: 20px;
}

.session-detail p{
	margin-top: 30px;
	line-height: 2.0;
}

.profile-box{
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
	
}
.profile-item{
	width: 48%;
	height: auto;
	display: flex;
	flex-wrap: nowrap;
}

.profile-item:nth-child(odd){
	padding-right: 20px;	
}
.profile-item:nth-child(n+3){
	margin-top: 20px;	
}

.img-container{
	width: 152px;
	height: 152px;
	min-width: 152px;
}

.img-container img{
	width: auto;
	height: auto;
}

.profile-item p {
	display: inline;
	width: auto;
	font-size: 1.1rem;
	line-height: 1.6rem;
	padding-left: 5px;
	margin-top: 0;
}

.profile-item .name{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 3.8rem;
}

.sup{
vertical-align: super; 
font-size: 0.6em; 
}

/*-----------------------------------
*outline
-----------------------------------*/
.outline-table{
	margin: 0 auto;
	max-width: 1000px;
}

.outline-title{
	padding: 1rem;
	font-weight:bold;
	padding-right: 50px;
	width: 25%;
	text-align: left;
}
.outline-detail{
	padding: 1rem;
	text-align: left;
	border-left: 1px solid #333333;
	padding-left: 30px;
}

caption {
	caption-side: bottom; /* 下に */
	margin-top: 2.5em; /* 上の隙間 */
	font-size: 0.8em;
	text-align: left;
}
/*-----------------------------------
*entry
-----------------------------------*/
#entry .section-body{
	padding: 0;
	margin: 0;
}

iframe{
	border:  none;
	width: 97%;
	height: 1500px;
	max-width: 800px;
}
.form{
	height: 100%;
	padding: 0;
	margin: 0;
}

.share{
	margin-bottom: 30px;
}
.share p{
	font-size: 1.9rem;
}
.share ul{
	display: flex;
	justify-content: center;
	max-width: 1200px;
	padding: 0 auto;
	margin-top: 30px;	
}
.share li{
	width: 35px;
	height: auto;
	opacity: 0.7;
}
.share li:not(:last-child){
	width: 40px;
	height: auto;
	margin-right: 40px;
}


/*-----------------------------------
*media-paetner-logo
-----------------------------------*/

.media-paetner-logo{
	padding: 0;
	margin: 0 auto;
	max-width: 1000px;
}

.media-paetner-logo ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1200px;
	padding: 0 auto;
	align-items: center;
}
.media-paetner-logo li{
	margin-bottom: 15px;
}
.media-paetner-logo li:not(:last-child){
	margin-right: 25px; 
}

/*-----------------------------------
*about-us
-----------------------------------*/
.about-us{
	display: flex;
	text-align: left;
	max-width: 1000px;
	margin: 0 auto;
}
.about-us-logo{
	width: 35%;
	margin: auto 0;
}
.about-us p {
	width: 65%;
	padding-right: 50px;
}
.about-us img{
	padding: auto 20px;
}
/*-----------------------------------
FAQ
-----------------------------------*/
.faq{
	max-width: 1000px;
	margin: 0 auto;
}

.faq dt {
    padding: 10px;
    position: relative;
    display:flex;
    align-items: center;
	text-align: left;
}
.faq dt:before {
    content: 'Q';
    font-size: 22px;
	font-weight: bold;
    margin:0px 20px 0px 0px;
}

.faq dt:first-child{
	border-top: 3px solid;
	border-image: linear-gradient(to left, #92D2B8 0%, #618DC9 100%);
	border-image-slice: 1;
}

.faq dd {
    padding: 10px;
    position: relative;
    margin:0px 0px 0px 0px;
    display:flex;
    align-items: center;
	text-align: left;
	border-bottom: 3px solid;
	border-image: linear-gradient(to left, #92D2B8 0%, #618DC9 100%);
	border-image-slice: 1;
}

.faq dd:before {
    content: 'A';
    font-size: 22px;
	font-weight: bold;
    margin:0px 20px 0px 0px;
}
.faq dd a{
	font-weight: bold;
	color: #618DC9;
}


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

.btn-contact{
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-top: 50px;
	margin-bottom: 70px;
	background-image: linear-gradient(to right,#92D2B8,#618DC9);
	color: #fff;
	padding: 12px 0;
	border-radius: 90px;
	width: 70%;
	max-width: 600px;
	min-width: 350px;
	font-size: 1.4rem;
	letter-spacing: 0.8rem;
}

.btn-contact::after{
	position: relative;
	left: 36px;
	content: "\f105";
	font-family: FontAwesome;
}


/*-----------------------------------
*footer
-----------------------------------*/
.footer{
	width: auto;
	background-color: #ECF2F5;
	height: 60px;
	vertical-align: middle;
	position: relative;
}

.copyright{
	color: #626262;
	font-size: 0.8rem;
	padding-top: 20px;
}

/*-----------------------------------
*thanks
-----------------------------------*/
.top-link{
	display: block;
	padding: 0 ;
	background-image: linear-gradient(to left,#618DC9, #96EAC7);
	width: 130px;
	height: 60px;
}
.nav .top-link a{
	margin-top: 21px;
	color: #fff;
}
.thanks .section-title{
	letter-spacing: 0.2rem;
}

.thanks p{
	margin-bottom: 2.5rem;
	line-height: 2.5rem;
}

.rec{
	display: flex;
	padding: 0 auto ;
	margin: 40px auto;
	max-width: 900px;
	text-align: center;
	align-items: center;
	justify-content: space-between;
}

.rec-text{
	margin-bottom: 2.5rem;
	line-height: 2.5rem;
}
.rec img{
	width: 250px;
	min-width: 200px;
}
.btn-rec{
	display: block;
	margin-right: 15px;
	background-image: linear-gradient(to left,#63A358,#569BBE);
	color: #fff;
	padding: 12px 0;
	width: 30%;
	max-width: 300px;
	min-width: 200px;
	font-size: 1.4rem;
	letter-spacing: 0.2rem;
}
.btn-rec::after{
	position: relative;
	left: 20px;
	content: "\f105";
	font-family: FontAwesome;
}



/* デザインB（タブレット）960px以下  */
@media only screen and (max-width:960px) {
	
	/*-----------------------------------
	*section
	-----------------------------------*/
	.section-body{
		padding: 30px 35px 35px;
	}
	/*-----------------------------------
	*header
	-----------------------------------*/
	.logo{
			width: 175px;
			height: auto;
			margin-left: 15px;
		}
	.header{
		opacity: 1;
	}
	.navigation li:not(:last-child){
		margin-right: 20px;
	}
	/*-----------------------------------
	*program
	-----------------------------------*/
	.session-detail p{
		margin-top: 0px;
		line-height: 2.0;
	}
	.profile-box{
		display: block;
		flex-wrap: wrap;
		margin-top: 30px;
	}
	.profile-item{
		width: auto;
		height: auto;
		display: flex;
		flex-wrap: wrap;
		margin-top: 20px;
	}
	.profile-item:nth-child(odd){
		padding-right: 0;	
	}
	.profile-item:nth-child(n+3){
		margin-top: 20px;	
	}
	/*-----------------------------------
	*media-paetner-logo
	-----------------------------------*/

	.media-paetner-logo{
		padding: 20px 0;
	}
	.media-paetner-logo li{
		margin-bottom: 15px;
	}
	/*-----------------------------------
	about-us
	-----------------------------------*/
	.about-us{
		display: block;
		}
	.about-us p {
		width: 100%;
		padding: 0;
	}
	.about-us img{
	}
	.about-us-logo{
		width:40%;
		min-width: 280px;
		margin: 0 auto;	
		padding-top: 20px;
	}
	/*-----------------------------------
	thanks
	-----------------------------------*/	
	.thanks .section-title{
		font-size: 3.2rem;
	}
	.thanks p{
		text-align: left;
	}
	.share p{
		text-align: center;
	}
	.rec{
			display: block;
		}
	.rec img{
			margin-top: 10px;
		}
	.btn-rec{
			display: block;
			margin: 10px auto;
			width: 60%;
			max-width: 450px;
			min-width: 200px;
			font-size: 1.5rem;
			letter-spacing: 0.2rem;
		}
	.rec-text{
		text-align: left;
	}
}

	/* デザインC（スマホ）599px以下  */
	@media only screen and (max-width:599px) {

		body{
			}
		.pc-only{
			display: none;
			}	
		.sp-only{
			display: inline-block;
			}
		.wrapper{
			padding: 30px 0px;
			}

		/*-----------------------------------
		*header
		-----------------------------------*/
		.logo{
			width: 130px;
		}
		

		/*-----------------------------------
		*section
		-----------------------------------*/
		.section-header{
			padding:15px 0 35px;	
		}
		.section-body{
			padding: 20px 10px 20px;
			margin: 0 5px;
		}
		.section-title{
			font-size: 2.8rem;
		}
		
		/*-----------------------------------
		*mv
		-----------------------------------*/

		.mv{
			position: relative;
			width: 100%;
			height: 100vw;
			margin-top: 60px;
			background-image: url("../images/mv-sp-archive.jpg");
			background-repeat: no-repeat;
			background-size: cover;
			text-align: center;
			background-position: center;
			padding: 0 auto;
		}

		/*-----------------------------------
		*speaker-logo
		-----------------------------------*/
		.speaker-logo{
			padding: 5px 10px;
			margin: 0 auto;
		}
		.speaker-logo img{
			width: 100%;
		}
		/*-----------------------------------
		*about
		-----------------------------------*/
		.about p{
		text-align: left;
			line-height: 3.0rem;
		}

		/*-----------------------------------
		*program
		-----------------------------------*/
		.session{
			display: block;
			margin-top: 50px;
		}

		.session-schedule{
			font-size: 2.2rem;
			font-weight: bold;
			line-height: 3.0rem;
		}

		.session-schedule p{
			font-size: 1.5rem;
			font-weight: bold;	
		}

		.session-detail{
			margin-left: 0;
		}
		
		.session-detail .summary{
			margin-top: 25px;
		}

		h3{
			font-size: 2.0rem;
			font-weight: bold;
			line-height: 3.4rem;
			margin-top: 15px;
			padding-left: 10px;
		}
		.profile-box{
			display: block;
			flex-wrap: nowrap;
			margin-top: 30px;
		}
		.profile-item{
			width: 100%;
			height: auto;
			display: flex;
			flex-wrap: nowrap;
		}

		.profile-item:nth-child(odd){
			padding-right: 0px;	
		}
		.profile-item:nth-child(n+3){
			margin-top: 0px;	
		}
		.profile-item:not(:first-child) {
			margin-top: 20px;	
		}

		.profile-item img{
			width: auto;
			margin-right: 4%;
		}

		.profile-item .text{
			display: inline-block;
			width: auto; 
			font-size: 1.2rem;
			line-height: 1.8rem;
			padding-top: 3px;
		}

		.profile-item .name{
			font-size: 1.8rem;
			font-weight: bold;
			line-height: 3.8rem;
			padding-right: 5px;
		}


		/*-----------------------------------
		*outline
		-----------------------------------*/
		.outline-title{
			display: block;
			padding: 1rem;
			font-size: 1.5rem;
			font-weight:bold;
			padding-right: 20px;
			width: auto;
			text-align: left;
			line-height: 1.5rem;
			border-bottom: 1px solid #999999;
		}
		.outline-detail{
			display: block;
			padding: 1rem;
			text-align: left;
			border-left: none;
			line-height: 2.0em;
		}
		caption{
			line-height: 2.2rem;
		}


		/*-----------------------------------
		*media-paetner-logo
		-----------------------------------*/

		.media-paetner-logo{
			padding: 5px 10px;
		}

		.media-paetner-logo li{
			margin-bottom: 20px;
		}

		/*-----------------------------------
		*faq
		-----------------------------------*/
		.faq dt{
			line-height: 2.5rem;
		}
		.faq dt:before {
			content: 'Q';
			font-size: 1.8rem;
			font-weight: bold;
			margin:0px 20px 0px 0px;
		}

		.faq dd{
			line-height: 2.5rem;
		}
		.faq dd:before {
			content: 'A';
			font-size: 1.8rem;
			font-weight: bold;
			margin:0px 20px 0px 0px;
		}

		/*-----------------------------------
		contact
		-----------------------------------*/
		.btn-contact {
			width: 70%;
			min-width: 300px;
			font-size: 1.2rem;
			letter-spacing: 0.4rem;
		}

		.btn-contact::after{
			left: 20px;
		}
		
		/*-----------------------------------
		*thanks
		-----------------------------------*/
		.thanks .section-title{
			font-size: 2.3rem;
			letter-spacing: 0.1em;
		}
		
		.thanks .share{
			margin-top: 50px;
		}
		.btn-rec{
			width: 70%;
			min-width: 250px;
			font-size: 1.5rem;
		}

		/* デザインD（スマホ）399px以下  */
			@media only screen and (max-width:399px) {
		/*-----------------------------------
		contact
		-----------------------------------*/
			.media-paetner-logo ul {
				display: block;
			}
				
			.media-paetner-logo li:not(:last-child){
				margin-right: 25px;
			}
		/*-----------------------------------
		thanks
		-----------------------------------*/
				.thanks .section-title{
					font-size: 2.0rem;
				}
		}
}
