﻿@charset "UTF-8";
/*
 * ==========================================================================
 *
 * ベースレイアウトCSS
 *
 * ==========================================================================
 */
/**
 * ---------------------------------------------------
 * Web font setting
 * ---------------------------------------------------
 */
@font-face {
	font-family: 'NotoSanMed';
	src: url('../fonts/NotoSansJP-Medium.woff') format('woff')
		,url('../fonts/NotoSansJP-Medium.ttf') format('truetype');
}
@font-face {
	font-family: 'NotoSanReg';
	src: url('../fonts/NotoSansJP-Regular.woff') format('woff')
		,url('../fonts/NotoSansJP-Regular.ttf') format('truetype');
}
@font-face {
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/YakuHanJP-Regular.eot");
	src: url("../fonts/YakuHanJP-Regular.woff") format("woff");
}
@font-face {
	font-family: "YakuHanJP";
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/YakuHanJP-Medium.eot");
	src: url("../fonts/YakuHanJP-Medium.woff") format("woff");
}
/**
 * ---------------------------------------------------
 * reset
 * ---------------------------------------------------
 */
* {
	margin : 0;
	padding : 0;	
}
article, aside, details, figcaption, figure,
footer, header, hgroup, nav, section, summary {
	display: block;
}
/**
 * ---------------------------------------------------
 * img
 * ---------------------------------------------------
 */
img { border: none; }
/**
 * ---------------------------------------------------
 * default
 * ---------------------------------------------------
 */
h1, h2, h3, h4, h5, h6, caption {
	font-weight: normal;
	font-size: 100%;
}

a { outline: none; }

address { font-style: normal; }

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption { text-align: left; }

fieldset { border: none; }

legend { display:none; }

input[type=radio],
input[type=checkbox],
select {
	vertical-align: middle;
}
*, *::before, *::after {
	-webkit-box-sizing: border-box;
		-ms-box-sizing: border-box;
		 -o-box-sizing: border-box;
			box-sizing: border-box;
}
/**
 * ---------------------------------------------------
 * link
 * ---------------------------------------------------
 */
a {
	/*color: #231815;*/
	color: #142E60;
	text-decoration:underline;
}
a:link {
	color: #142E60;
	text-decoration:underline;
}

a:visited {
	color: #142E60;
	text-decoration:underline;
}

a:hover {
	color: #231815;
	text-decoration: underline;
}

a:active {
	color: #231815;
	text-decoration: none;
}

/**
 * ---------------------------------------------------
 * body
 * ---------------------------------------------------
 */
body {
/*	line-height: 1.6;*/
	line-height: 1.7;
	font-size: 1rem;
	font-family:
	YakuHanJP, Arial,
	"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",
	'NotoSanReg',
	"メイリオ", Meiryo,
	"ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif;
	color:#333;
	width: 100%;
	background: #FFFFFF;
	position: relative;
	min-width: 1140px;
}
/**
 * ---------------------------------------------------
 * wrapper
 * ---------------------------------------------------
 */
#wrapper {
	width: 100%;
	position: relative;
	overflow: hidden;
}
/**
 * ---------------------------------------------------
 * header
 * ---------------------------------------------------
 */
header {
	/*position:absolute;*/
}

	header p{
		line-height:1;
	}

.header-logo {
	width : 300px;
}

#header-area {
	width : 100%;
	margin-left : auto;
	margin-right : auto;
	padding : 15px 0;
	display:flex;
	justify-content: center;
}

.aniv-box {
	padding: 10px 0;
	text-align: center;
	background: #000;
	color: #fff;
	font-weight: bold;
	font-size: 1.1rem;
}
.aniv-box p{
	line-height: 1;
}
/**
 * ---------------------------------------------------
 * visual
 * ---------------------------------------------------
 */ 
#visual {
	background-image:url(../images/visualbg_pc.jpg);
	/*background-color: #113364;*/
	background-size:cover;
	background-position:bottom;
	text-align:center;
	}

.visual-inner {
	padding:60px 0 60px;
}
.visual-title {
	font-size:1.7rem;
	font-weight: bold;
	line-height:1.5;
	margin-bottom:20px;
	color: #f4dda4;
}

.visual-title-sub {
	font-size:1.1rem;
	line-height:1.5;
	margin-bottom:40px;
}

.visual-theme {
	font-size:3rem;
	font-weight: bold;
	line-height:1.3;
	margin-bottom:10px;
	color: #fff;
}

.visual-theme-sub {
	font-size:1.7rem;
	font-weight: bold;
	line-height:1.3;
}

.visual-slide {
	width: 100%;
	background: url("../images/visual-slidebg_pc.jpg");
	background-size: auto 100%;
	height: 300px;
	position: relative;
	animation: bg-slider 92s linear infinite;
}
.visual-slide2 {
	width: 100%;
	background: url("../images/visual-slidebg2_pc.jpg");
	background-size: auto 100%;
	height: 300px;
	position: relative;
	animation: bg-slider 92s linear infinite;
}
@keyframes bg-slider {
		from {
			background-position: 0 0;
		}
		to {
			background-position: -2100px 0;
		}
}

/**
 * ---------------------------------------------------
 * content
 * ---------------------------------------------------
 */ 
 
.inner {
	width:980px;
	margin:0 auto;
	padding:100px 0;
}


/*
一括色変更
*/

.title{
	background : #a6e189;
}

.bg01 {
	background : #015eac;
	color : #ffffff;
}

.bg02 {
	background : #ecffe2;	
}

.icon {
	background : #005f98;
	color : #ffffff;
	letter-spacing : 2px;
	display:inline-block;
	padding : 5px 10px 4px;
	font-size : 105%;
}


/* manarea
-------------------------------------------------------*/
.h2title {
    position: relative;
	font-size:160%;
	font-weight: bold;
	padding:0 0 20px 0;
	margin:70px 0 30px 0;
    line-height: 1.3;
    border-bottom: 3px solid #ce040a;
	color: #000;
}
	.h2title:before {
		position: absolute;
		bottom: -3px;
		left: 0;
		content: "";
		width: 80px;
		height: 3px;
		background-color: #b08e37;
	}


.h3title {
	font-size : 120%;
	font-weight:bold;
	color:#015eac;
	line-height : 1.6;
	margin:30px 0 10px 0;
}


.h4title {
	font-size : 110%;
	line-height : 1.8;
	color : #015eac;
	padding-bottom : 10px;
	border-bottom : 2px solid #999;
	position : relative;
}


.h4title:after {
	content : "";
	position : absolute;
	bottom : -2px;
	left : 0;
	width : 40px;
	border-bottom : 2px solid #005f98;	
}

p {
	line-height : 1.8;	
}

th .bg01 {
	text-align : center;
	padding : 5px 0;
	width : 6em;
	font-size : 100%;
	font-weight : bold;
}

.btn {
	width : 420px;
	color : #ffffff;
	margin-left : auto;
	margin-right : auto;
	box-shadow:0px 0px 7px -1px #cccccc;
	-moz-box-shadow:0px 0px 7px -1px #cccccc;
	-webkit-box-shadow:0px 0px 7px -1px #cccccc;	

}

.btn a {
	display : block;
	padding : 20px 0;
	font-size : 120%;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
	background : #b08e37;
	color : #fff;
	letter-spacing : 1px;
	border-radius : 5px;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -o-transition: all .3s ease;
	    transition: all .3s ease;	
		
}

.btn a:hover {
	opacity : .6;		
}



/**
 * ---------------------------------------------------
 * topInfoTable
 * ---------------------------------------------------
 */

.topInfoTable {
}

.topInfoTable th,td {
	padding:10px 0;
}

.topInfoTable th {
	font-weight:normal;
	padding-right:20px;
	line-height:1;
}

.topInfoTable th .blockTitle {
	background:#ce040a;
	color:#fff;
	width:120px;
	display:block;
	padding:10px 0;
}
/**
 * ---------------------------------------------------
 * topPdfInfo
 * ---------------------------------------------------
 */
.topPdfInfo {
	background:#f5f5f5;
	padding:30px 0 40px;
}

.topPdfInfoTitle {
	text-align:center;
	font-size:110%;
	margin:0 0 20px 0;
}

/**
 * ---------------------------------------------------
 * プログラム
 * ---------------------------------------------------
 */
 
.programDl {
  display:flex;
  flex-wrap: wrap;
}
.programDl dt{
  width: 13%;
  font-weight:bold;
  color:#ce040a;
  padding:5px 0;
}
.programDl dd{
  margin: 0;
  width: 87%;
  padding:5px 0;
}
.talkPhoto {
	width: 22%;
}
.talkText {
	width: 75%;
}

/**
 * ---------------------------------------------------
 * 登壇者
 * ---------------------------------------------------
 */
.speakerLIst {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.speakerPhoto {
	width: 15%;
}
.speakerInfo {
	width: 83%;
}
.speakerName {
	font-size: 1.3rem;
	color: #ce040a;
	margin-bottom: 10px;
	line-height: 1;
}
/**
 * ---------------------------------------------------
 * メディアの方へ
 * ---------------------------------------------------
 */
.forMedia {
	padding: 40px;
	margin: 40px 0 0 0;
	background: #ffedee;
}
.forMediaTitle {
	color: #ce040a;
	font-size: 1.2rem;
	margin-bottom: 10px;
}

/**
 * ---------------------------------------------------
 * footer
 * ---------------------------------------------------
 */ 
#footer {
	background : #000;
	text-align:center;
	color:#ffffff;
}
#footer-inner {
	width:1140px;
	margin:0 auto;
	padding:20px;
}
	

.tel-link a {
	color:#000;
	text-decoration:none;
}


.pc-none {
	display : none;
}
/**
 * --------------------------------------------------------------------------
 * flex
 * --------------------------------------------------------------------------
 */
.flex,
.flexPc {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.jstBetween {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}
.jstCenter {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}
.jstAround {
	-webkit-box-pack: space-around;
	    -ms-flex-pack: space-around;
	        justify-content: space-around;
}
/* youtube
-------------------------------------------------------------------- */
.youtubeEmbed {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtubeEmbed iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/**
 ****************************************************
 *
 * screens smaller than 640
 *
 ****************************************************
 */
@media only screen and (max-width: 640px) {
/**
 * ---------------------------------------------------
 * body
 * ---------------------------------------------------
 */
body {
		min-width : 320px;
		font-size : 75%;
	}
/**
 * ---------------------------------------------------
 * header
 * ---------------------------------------------------
 */
#header-area {
	padding : 5px 0;	
}

#header-area , #wrapper {
	width : 100%;	
}

.header-logo {
	width: 40%;
	}
	
.aniv-box {
	padding: 5px 0;
	font-size: 0.7rem;
}
	.aniv-box p{
		line-height: 1.3;
	}
/**
 * ---------------------------------------------------
 * visual
 * ---------------------------------------------------
 */ 
#visual {
	background-image:url(../images/visualbg_sp.jpg);
	background-size:cover;
	background-position:bottom;
	text-align:center;
	}

.visual-inner {
	width:100%;
	margin:0 auto;
	padding:30px 0 30px 0;
}

.visual-title {
	font-size:0.9rem;
	font-weight:bold;
	margin-bottom:15px;
}
	
.visual-title-sub {
	font-size:0.7rem;
	margin-bottom:20px;
}

.visual-theme {
	font-size:1.6rem;
	line-height:1.3;
	margin-bottom:5px;
}

.visual-theme-sub {
	font-size:0.9rem;
	font-weight:bold;
	line-height:1.4;
}
.visual-slide,
.visual-slide2	{
	height: 100px;
}
/**
 * ---------------------------------------------------
 * content
 * ---------------------------------------------------
 */ 
	.inner {
		width:90%;
		padding:40px 0;
	}

	.ml25 , .ml50 , .ml75 ,.mlr20 , .mlr25 {
		margin-left: 0!important;
		margin-right : 0!important;
	}
	
.h2title {
	font-size:130%;
	padding:0 0 10px 0;
	margin:40px 0 20px 0;
}
	.h2title:before {
		position: absolute;
		bottom: -3px;
		left: 0;
		content: "";
		width: 80px;
		height: 3px;
	}
	
	.h3title {
		font-size : 110%;
		margin:20px 0 5px 0;
	}
	.h4title {
		font-size : 105%;
	}
	
	.fl , fr {
		float : none;
		width : auto;
	}
	
	img {
		width : 100%;
	}

	.visual-inner .txt h1 {
	font-size : 130%;
	letter-spacing : 1px;
	}
	
	.btn {
		width : 80%;
		margin-left : auto;
		margin-right : auto;	
	}
	

/* 地図 */

.place {
	display : block;

}

.place > div:first-child {
	width : 100%;	
}

.place > div:last-child {
	width : 100%;
	margin-top : 15px;
	text-align:center;
}

.day-txt {
	font-size : 120%;	
}

.place-txt {
	font-size : 110%;	
}

/* スマホの時は非表示 */

.sp-none {
	display : none;	
}
.pc-none {
	display : block;
}

/* tableのはみ出した分をスライドバーを出す */

.table-wrapper {
	width: 100%;
	overflow-y: hidden;
	overflow-x: auto;
	-ms-overflow-style: -ms-autohiding-scrollbar;
	-webkit-overflow-scrolling: touch;	
}
/**
 * ---------------------------------------------------
 * topInfoTable
 * ---------------------------------------------------
 */

.topInfoTable {
	margin:0 0 20px 0;
}
.topInfoTable th {
	padding-right:10px;
}

.topInfoTable th .blockTitle {
	width:76px;
}
/**
 * ---------------------------------------------------
 * topPdfInfo
 * ---------------------------------------------------
 */
.topPdfInfo {
	padding:20px 0 30px;
}

.topPdfInfoTitle {
	font-size:110%;
	margin:0 0 20px 0;
}

/**
 * ---------------------------------------------------
 * プログラム
 * ---------------------------------------------------
 */
 
.programDl {
	display:inherit;
}
.programDl dt{
	width: auto;
	padding:0;
}
.programDl dd{
	width: auto;
	padding:0 0 10px 0;
}
.talkPhoto {
	width: 50%;
	margin: 0 auto;
}
.talkText {
	width: auto;
	margin: 20px 0 0;
}
/**
 * ---------------------------------------------------
 * 登壇者
 * ---------------------------------------------------
 */
.speakerLIst {
	margin-bottom: 30px;
}
.speakerPhoto {
	width: 20%;
}
.speakerInfo {
	width: 75%;
}
.speakerName {
	font-size: 0.9rem;
	margin-bottom: 10px;
}
/**
 * ---------------------------------------------------
 * メディアの方へ
 * ---------------------------------------------------
 */
.forMedia {
	padding: 20px;
	margin: 20px 0 0 0;
}
.forMediaTitle {
	font-size: 0.9rem;
	margin-bottom: 5px;
}
/**
 * ---------------------------------------------------
 * footer
 * ---------------------------------------------------
 */ 
#footer {
}
#footer-inner {
	width:95%;
	padding:10px 0;
}
/**
 * --------------------------------------------------------------------------
 * flex
 * --------------------------------------------------------------------------
 */
.flexPc {
	display: inherit;
} 
	
}