@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:700');


/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	text-align: left;
	color:#333;
	letter-spacing: 1px;
}
table{
	border-collapse:collapse;
}

input, button, textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
button{
	cursor:pointer;
}

.ipad body,
.android body,
.iphone body {
    -webkit-text-size-adjust: 100%;
}
.android h2,
.android h3,
.android ul,
.android dl dt,
.android dl dd,
.android p{
	max-height: 999999px;
}

a,button {
	transition: opacity 0.3s ease-out;
	display: inline-block;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
}

a:hover,
button:hover {
	opacity: 0.7;
}


/* ----------------------------------------------------------------------------------------------------
*  共通
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
    base
------------------------------ */

body{
	position: relative;
	padding-top: 120px!important;	
}
p,dt,dd,th,td,li{
	font-size:1.4rem;
	line-height: 1.5;
}
a{
	color: #333;
	text-decoration: none;
}
*, *:before, *:after {
	box-sizing: border-box;
}

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

/* ------------------------------
    汎用
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */

.pc{
	display:block!important;
}
.sp{
	display:none!important;
}

.floatL{
	float: left;
}
.floatR{
	float: right;
}

.wrap{
	width: 95%;
	max-width:1000px;
	margin: 0 auto;
}

.font_20{
	font-size: 2rem;
}
.font_26{
	font-size: 2.6rem;
}
.font_30{
	font-size: 3rem;
}

.hiragino{
	font-family:"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
}

.btn_red{
	display: block;
	width: 600px;
	height: 80px;
	margin: 4% auto 0;
	background: linear-gradient(#ff0000,#cc0000 85%,#660000);
	border-radius: 8px;
	color: #fff;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 80px;
	text-align: center;
}
.ie11 .btn_red{
	line-height: 85px;
}

h2{
	text-align: center;
}

/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/

#header {
	position: fixed;
	top:0;
	left: 0;
	z-index: 20000;
	height: 120px;
	width: 100%;
	background: #08243b;
}
#header .wrap{
	position: relative;
	width: 97%;
	max-width: 1200px;
	height: 120px;
}
#header h1 img{
	position: absolute;
	top:0;
	left:12px;
	bottom:0;
	margin: auto;
}
#header .area_navi{
	position: absolute;
	top:23px;
	right:0;
	width:calc(100% - 300px);
}
#header .area_navi a{
	color: #fff;
	font-weight: bold;
}
#header .txt_tel{
	position: absolute;
	top:0;
	right: 10px;
	color: #fff;
	font-weight: bold;
	text-align: right;
}
#header .txt_tel span{
	font-size: 2rem;
}
#header .gnavi{
	position: absolute;
	top:50px;
	right:175px;
}
#header .gnavi li{
	display: inline-block;
}
#header .gnavi li a{
	font-size: 1.6rem;
	letter-spacing: 0.5px;
}
#header .gnavi li + li{
	margin-left: 25px;
}
#header .btn_header a{
	display: block;
	position: absolute;
	right:2px;
	top:37px;
	width: 140px;
	height: 40px;
	background: #0c5daa;
	border-radius: 4px;
	font-size: 1.6rem;
	text-align: center;
	line-height: 40px;
}
.ie11 #header .btn_header a{
	line-height: 45px;
}

#header .toggle,
#header .spnav{
	display: none;
}

/* ----------------------------------------------------------------------------------------------------
*  fv
* --------------------------------------------------------------------------------------------------*/

#fv{
	width: 100%;
	position:relative;
}
#fv .bg_fv img{
	width: 100%;
	height: auto;
	vertical-align: top;
}
#fv .txt_fv{
	position: absolute;
	top: 50%;
	left: 4%;
	width: 55%;
	margin:auto;
	transform: translateY(-50%);
}
#fv .txt_fv img{
	width: 100%;
	height: auto;
}
#fvAfter{
	padding: 0 0 100px;
}
#fvAfter ul{
	display: flex;
	justify-content: space-between;
	width: 70%;
	max-width: 730px;
	margin: -50px auto 50px;
}
#fvAfter ul li{
	position: relative;
	width: 30%;
	background: #e6d900;
	border-radius: 100%;
	padding-top: 30%;
}
#fvAfter ul li p{
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	font-weight: bold;
	transform: translateY(-50%);
	font-size: 2.0rem;
	line-height: 1.4;
	letter-spacing: -0.1rem;
	text-align: center;
}
#fvAfter .red{
	color: #d2001d;
}
#fvAfter ul li p .red{
	font-size: 4.0rem;
}
#fvAfter ul li p .red span{
	font-size: 2.0rem;
}
#fvAfter .merit{
	width: 700px;
	margin: 0 auto;
}
#fvAfter .merit p{
	font-size: 3.0rem;
	letter-spacing: -0.2rem;
	font-weight: bold;
	line-height: 2.0;
	margin: 25px 0 0;
}
#fvAfter .merit .btn{
	font-size: 2.8rem;
	text-align: center;
	font-weight: bold;
	margin: 40px auto 0;
}
#fvAfter .merit .btn a{
	display: block;
	color: #fff;
	background: linear-gradient(to bottom, rgba(0,0,0,1) 0%,rgba(103,102,103,1) 100%);
	line-height: 1.0;
	padding: 25px 0;
	border-radius: 10px;
}
.ie11 #fvAfter .merit .btn a{
padding:33px 0 20px;
}
.headline{
	font-size: 4.0rem;
	color: #02418a;
	text-align: center;
	font-weight: bold;
	line-height: 1.2;
}
.headline span{
	display: block;
	line-height: 1.0;
	font-size: 1.2rem;
	color: #fff;
	margin: 0.5em 0 0;
}
.headline2{
	font-size: 3.0rem;
	color: #fff;
	text-align: center;
	font-weight: bold;
	line-height: 1.2;
	margin: 0 0 20px;
}
.headline2 span{
	display: block;
	line-height: 1.0;
	font-size: 1.2rem;
	color: #fff;
	margin: 0.5em 0 0;
}

/* ----------------------------------------------------------------------------------------------------
*  seminar
* --------------------------------------------------------------------------------------------------*/

#seminar .blockTtl{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: url("../img/bg_ttl_01.png") 0 0 no-repeat #02418a;
	padding: 5px 50px 5px 140px;
}
.ie11 #seminar .blockTtl{
padding-top:13px;
}
#seminar .blockTtl p{
	color: #fff;
}
#seminar .blockTtl .number{
	position: absolute;
	top: 3px;
	left: 10px;
	font-size: 2.5rem;
}
.ie11 #seminar .blockTtl .number{
top:7px;
}
#seminar .blockTtl .ttl{
	font-size: 4.0rem;
	letter-spacing: -0.1rem;
	font-weight: bold;
}
.ie11 #seminar .blockTtl .ttl{
padding-top:5px;
}
#seminar .blockTtl .txt{
	width: 505px;
	font-size: 1.5rem;
}
#seminar .blockInner{
	background: #fff;
	padding: 0 50px 25px;
}
#seminar .blockInner > p{
	font-size: 1.5rem;
	padding: 0.8em 0;
}
.ie11 #seminar .blockInner > p{
padding:1.4em 0 0.8em;
}
#seminar .seminar{
	display: flex;
}
#seminar .block+.block{
	margin-top: 25px;
}
#seminar .seminarInner{
	width: 50%;
	border: 2px solid #25b9eb;
	box-sizing: border-box;
}
#seminar .seminarInner .ttl{
	background: #25b9eb;
	color: #fff;
	font-size: 2.3rem;
	font-weight: bold;
	letter-spacing: -0.1rem;
	text-align: center;
	padding: 5px 0;
}
.ie11 #seminar .seminarInner .ttl{
padding:10px 0 5px;
}
#seminar .seminarInner .inner{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 15px 20px;
}
#seminar .seminarInner .inner p{
	line-height: 1.0;
}
#seminar .seminarInner .inner .post{
	font-size: 1.0rem;
}
#seminar .seminarInner .inner .post span{
	font-weight: bold;
	margin-right: 1em;
}
#seminar .seminarInner .inner .name{
	font-size: 2.0rem;
	font-weight: bold;
	margin-top: 5px;
}
#seminar .workshop{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#seminar .workshopInner{
	width: 50%;
	border: 2px solid #25b9eb;
	box-sizing: border-box;
}
#seminar .workshopTtl{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(100% + 4px);
	background: url("../img/bg_ttl_02.png") 0 0 no-repeat #25b9eb;
	margin: -2px -2px 0;
	padding: 5px 20px 5px 40px;
}
#seminar .workshopTtl .number{
	position: absolute;
	top: 3px;
	left: 5px;
	color: #fff;
	font-size: 2.5rem;
	line-height: 1.0;
	font-weight: bold;
}
.ie11 #seminar .workshopTtl .number{
top:7px;
}
#seminar .workshopTtl .ttl{
	width: 50%;
	color: #fff;
	font-weight: bold;
	letter-spacing: -0.1rem;
	font-size: 2.3rem;
}
.ie11 #seminar .workshopTtl .ttl{
padding-top:6px;
}
#seminar .workshopTtl .txt{
	width: 52%;
	letter-spacing: -0.05rem;
	font-size: 1.2rem;
	font-weight: bold;
}
.ie11 #seminar .workshopTtl .txt{
padding-top:5px;
}
#seminar .workshopInner:last-child .workshopTtl .txt{
	width: 80%;
}
#seminar .workshopInner{
	position: relative;
}
#seminar .workshopInner .inner{
	padding: 10px 20px 105px;
}
#seminar .workshopInner .inner p{
	text-align: justify;
	letter-spacing: 0rem;
}
#seminar .workshopInner .inner ul li{
	position: relative;
	font-size: 1.2rem;
	letter-spacing: 0;
	padding: 0 0 0 1em;
}
#seminar .workshopInner .inner ul li::before{
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
#seminar .workshopInner .inner .etc{
	font-size: 1.2rem;
}
#seminar .workshopInner .inner .nameSection{
	position: absolute;
	bottom: 10px;
	left: 20px;
	width: calc(100% - 40px);
	box-sizing: border-box;
	border-top: 1px solid #25b9eb;
	padding: 10px 0 0;
	margin-top: 10px;
}
#seminar .workshopInner .inner .nameWrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#seminar .workshopInner .inner .nameWrap+.nameWrap{
	margin-top: 3px;
}
#seminar .workshopInner .inner .name{
	font-family: 'Noto Serif JP', serif;
	font-size: 3.0rem;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 0.03em;
}
#seminar .workshopInner .inner .name span{
	padding-left: 1em;
}
#seminar .workshopInner .inner .post{
	font-size: 1.5rem;
	font-weight: bold;
	letter-spacing: -0.1rem;
	line-height: 1.4;
}
#seminar .workshopInner .inner .post span{
	display: block;
	font-size: 1.0rem;
	letter-spacing: 0;
	font-weight: normal;
}

/* ----------------------------------------------------------------------------------------------------
*  sec1
* --------------------------------------------------------------------------------------------------*/

.about{
	background: linear-gradient(to bottom, rgba(37,185,235,1) 0%,rgba(2,65,138,1) 100%);
	padding: 95px 0;
}
.about > ul{
	display: flex;
	justify-content: space-between;
	margin: 60px auto 0;
	padding: 0 20px;
}
.about > ul li{
	width: 48%;
}
.about > ul li .btn_red{
	width: 100%;
	font-size: 2.5rem;
	margin: 0;
}
#sec1{
	background: #fff;
	max-width: 1000px;
	padding: 50px 0;
	margin: 0 auto;
}
#sec1 h2{
	font-weight: bold;
	color: #043968;
	font-size: 4.0rem;
}
#sec1 p{
	text-align: center;
}
#sec1 .txt_sec1{
	margin-top: 40px;
	font-size: 2rem;
	line-height: 2.8;
	font-weight: bold;
}

/* ----------------------------------------------------------------------------------------------------
*  sec2
* --------------------------------------------------------------------------------------------------*/

#sec2{
	margin-top: 60px;
	padding: 60px 0 45px;
	background: #02418a;
}
#sec2 p{
	text-align: center;
}
#sec2 h2{
	text-align: center;
	font-weight: bold;
	font-size: 4.0rem;
	color: #fff;
}
#sec2 .txt_sec2_1{
	margin-top: 35px;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1.8;
	font-weight: bold;
}
#sec2 .txt_sec2_2{
	width: 490px;
	margin: 55px auto 0;
	text-align: center;
}
#sec2 .txt_sec2_2 li{
	float: left;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	border: 1px solid #2a85df;
	border-radius: 60px;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.3;
	text-align: center;
}
#sec2 .txt_sec2_2 li:last-child{
	letter-spacing: -1px;
}
#sec2 .txt_sec2_2 li + li{
	margin-left: 65px;
}

/* ----------------------------------------------------------------------------------------------------
*  sec3
* --------------------------------------------------------------------------------------------------*/

.overview{
	background: linear-gradient(to bottom, rgba(37,185,235,1) 0%,rgba(2,65,138,1) 100%);
	padding: 95px 0;
}
.overview .headline{
	margin-bottom: 40px;
}
.schedule{
	display: flex;
	justify-content: space-between;
	background: #000;
	padding: 10px 25px 10px 55px;
	margin: 25px 0 0;
}
.schedule .time{
	color: #fff;
	font-size: 2.0rem;
}
.ie11 .schedule .time{
	padding: 10px 0 0;
}
.schedule .time span{
	font-size: 3.0rem;
	font-weight: bold;
}
.schedule .limited {
	background: #d2001d;
	border-radius: 10px;
	color: #fff;
	font-size: 2.0rem;
	padding: 0 15px;
}
.ie11 .schedule .limited {
	padding: 10px 15px 0;
}
.schedule .limited span{
	font-size: 3.0rem;
	font-weight: bold;
}

#sec3{
	margin-top: 40px;
}
#sec3 > div{
	background: #fff;
	padding: 30px 50px 20px;
}
#sec3 .ttl_sec3{
	margin:0  0 90px;
}

#sec3 .left_sec3{
	float: left;
	width: 68%;
}
#sec3 .ttl_leftsec3{
	width: 25.1%;
	height: 40px;
	background: #cc3333;
	color: #fffbfb;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	line-height: 40px;
}
.ie11 #sec3 .ttl_leftsec3{
	line-height: 45px;
}
#sec3 .left_sec3 table{
	width: 100%;
}
#sec3 .left_sec3 th,
#sec3 .left_sec3 td{
	border: 1px solid #bfbfbf;
	font-size: 1.6rem;
	vertical-align: middle;
	font-weight: bold;
}
#sec3 .left_sec3 th{
	width: 25%;
	padding: 9px 0;
	text-align: center;
}
.ie11 #sec3 .left_sec3 th{
	padding: 14px 0 9px;
}
#sec3 .left_sec3 td{
	width: 75%;
	padding: 9px 15px 9px 30px;
}
.ie11 #sec3 .left_sec3 td{
	padding: 14px 15px 9px 30px;
}
#sec3 .left_sec3 tr:nth-child(4) th{
	padding: 12px 0;
	background: #043968;
	color: #fff;
	font-size: 2rem;
}
.ie11 #sec3 .left_sec3 tr:nth-child(4) th{
	padding: 17px 0 12px;
}
#sec3 .left_sec3 tr:nth-child(5) th{
	padding: 25px 25px 30px;
	text-align: left;
	font-weight: normal;
}
.ie11 #sec3 .left_sec3 tr:nth-child(5) th{
	padding: 30px 25px 30px;
}
#sec3 .left_sec3 tr:nth-child(5) th p{
	font-size: 1.6rem;
}
#sec3 .left_sec3 tr:nth-child(5) th p + p{
	margin-top: 20px;
}

#sec3 .right_sec3{
	float: right;
	width: 28%;
	padding-top: 40px;
}
#sec3 .btn_sec3 a{
	display: block;
	width: 100%;
	height: 60px;
	margin-top: 10px;
	background: #0c5daa;
	border-radius: 4px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 60px;
	text-align: center;
	letter-spacing: 0;
}
.ie11 #sec3 .btn_sec3 a{
	line-height: 65px;
}
#sec3 .btn_sec3 a:after{
	content: "";
	position: relative;
	top:5px;
	display: inline-block;
	width: 14px;
	height: 16px;
	margin-left: 8px;
	background: url(../img/icon_download.png) 0 0 no-repeat;
}

#sec3 .map{
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 400px;
}
#sec3 .map iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* ----------------------------------------------------------------------------------------------------
*  #sec4
* --------------------------------------------------------------------------------------------------*/

#sec4{
	padding: 75px 0 70px;
	-webkit-background-size: 100%;
	background-size: 100%;
}
#sec4 .ttl_sec4{
	margin-bottom: 55px;
}
#sec4 .wrapbox_sec4{
    display:flex;
    flex-wrap:wrap;
	justify-content: space-between;
	margin-top: 40px;
 }
#sec4 .box_sec4{
	position: relative;
	width: 46%;
	border: 1px solid #0c5daa;
	margin-top: 45px;
}
#sec4 .box_sec4:nth-child(-n+2){
	margin-top: 0;
}
#sec4 .img_sec4 + div{
	padding: 7% 6%;
}
#sec4 .box_sec4:nth-child(-n+2) .img_sec4 + div{
	padding: 7% 6% calc(7% + 40px);
}
#sec4 .box_sec4 .img_sec4{
	border-bottom: 1px solid #0c5daa;
}
#sec4 .position_sec4{
	font-size: 1.2rem;
	font-weight: bold;
}
#sec4 .position_sec4 span{
	display: block;
	font-weight: normal;
	margin: 0 0 10px;
}
#sec4 .name_sec4{
    font-family: 'Noto Serif JP', serif;
	font-size: 3.0rem;
	font-weight: bold;
}
#sec4 .name_sec4 span{
	font-size: 1.1rem;
	font-family: sans-serif;
	margin-left: 1em;
}
#sec4 .txt_sec4{
	width: 100%;
	margin-top: 6%;
	padding-top: 6%;
	border-top: 1px solid #0c5daa;
	font-size: 1.4rem;
}
#sec4 .btn_sec4 a{
	position: absolute;
	right:8%;
	bottom:3.5%;
	display: block;
	width: 140px;
	height: 40px;
	color: #fff;
	background: #0c5daa;
	border-radius: 4px;
	font-size: 1.4rem;
	text-align: center;
	line-height: 40px;
}
.ie11 #sec4 .btn_sec4 a{
	line-height: 45px;
}
#sec4 .btn_sec4 a:after{
	content: "";
	display: inline-block;
	width:14px;
	height:14px;
	margin-left: 10px;
	background:url(../img/icon_movie.png) 0 0 no-repeat;
}
#sec4 .box_sec3{
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 20px 0;
	margin-top: 90px;
	border: 5px solid #a0ccf8;
	border-radius: 8px; 
}
#sec4 .lbox_sec3{
	width: 645px;
}
#sec4 .box_sec3 img{
	vertical-align: middle;
}
#sec4 .ttl_boxsec3{
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}
#sec4 .lbox_sec3 ul{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
	text-align: center;
	padding: 0 95px;
}
#sec4 .lbox_sec3 li{
}
#sec4 .rbox_sec3{
	width:330px;
	text-align: center;
	padding:0;
	border-left: 1px solid #a0ccf8;
}
#sec4 .rbox_sec3 .logo_sec3_4{
	position: relative;
	min-height: 120px;
}
#sec4 .rbox_sec3 .logo_sec3_4 img{
	position: absolute;
	top:0;
	right:0;
	bottom: 0;
	left:0;
	margin: auto;
}


/* ----------------------------------------------------------------------------------------------------
*  #sec5
* --------------------------------------------------------------------------------------------------*/

#sec5{
	padding: 90px 0 80px;
	background: url(../img/bg_sec5.png) 0 0 repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
}
#sec5:before {
    content: "";
    display: inline-block;
    height: 140px;
    margin-top: -100px;
    vertical-align: top;
}

#sec5 .ttl_sec5{
	margin-bottom: 60px;
}

#sec5 .box_sec5{
	position: relative;
}
#sec5 .icon_sec5{
	position: absolute;
	top:-25px;
	left:0;
	z-index: 1;
}
#sec5 dl{
	width: calc(100% - 30px);
	margin-left: 30px;
	background: #b3c7d8;
}
#sec5 dt{
	margin: 0 2%;
	padding: 1.5% 0 0.7% 80px;
}
#sec5 dt p{
	color: #c11920;
	font-size: 2rem;
	font-weight: bold;
}
#sec5 .box_sec5_1 dt p{
	float: left;
}
#sec5 dt p span{
	margin-left: 8px;
	letter-spacing: -1px;
}
#sec5 dt p.txt_capacity{
	float: right;
	width: 140px;
	height: 40px;
	padding: 5px;
	background: #c11920;
	border-radius: 4px;
	color: #fff;
	line-height: 1.2;
	text-align: center;
}
#sec5 .box_sec5_1 dt{
	border-bottom: 2px solid #00479d;
}
#sec5 dt{
	position: relative;
}
#sec5 .box_sec5_2 dt .note_box_sec5_2{
	position: absolute;
	top:7px;
	left:180px;
	font-size: 1.4rem;
}
#sec5 .box_sec5_2 dt .txt_box_sec5_2{
	position: absolute;
	top:20px;
	left:88px;
}
#sec5 .box_sec5_2 dt .time_box_sec5_2{
	position: absolute;
	top:23px;
	left:180px;
	font-size: 2.7rem;
}
#sec5 .box_sec5_2 dt .txt_capacity{
	width: 250px;
}

#sec5 .box_sec5_1 dd{
	padding: 1% 0;
	margin: 0 2%
}
#sec5 .box_sec5_1 dd > div{
	padding: 1%;	
	background: linear-gradient(to right, #b3c7d8,#b3c7d8 50%,#d3edfb);
}
#sec5 .box_sec5_1 dd p{
	float: left;
}
#sec5 dd .theme_sec5{
	position: relative;
	width: 80px;
	height: 50px;
	padding-right: 5px;
	background: #0a326e;
	color: #fff;
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 50px;
	text-align: right;
}
#sec5 dd .theme_sec5:after{
	position: absolute;
	top: 0;
	right: -23px;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 0 25px 23px;
	border-color: transparent transparent transparent #0a326e;
}
.gecko #sec5 dd .theme_sec5:after{
	right: -22.5px;
}
#sec5 dd .themetxt_sec5{
	margin: 0 0 0 30px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
}
#sec5 dd .lecturer_sec5{
	position: relative;
	top:5px;
	float: right;
	width: 220px;
	margin: 0 0 0 30px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.2;
}
#sec5 dd .lecturer_sec5 .logo_sec5{
	position: absolute;
	top:0;
	left:0;
}
#sec5 dd .lecturer_sec5 .position_sec5{
	position: absolute;
	top:30px;
	left:0;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 0.5px;
}
.chrome #sec5 dd .lecturer_sec5 .position_sec5{
	letter-spacing: -0.5px;
}
#sec5 dd .lecturer_sec5 .name_sec5{
	position: absolute;
	top:30px;
	right:0;
	font-size: 1.8rem;
	font-weight: bold;	
}
#sec5 .box_sec5_1 dd + dd{
	border-top: 2px dotted #00479d;
}
#sec5 .box_sec5_2 dd{
	padding: 1% 2% 2%;
}
#sec5 .box_sec5_2 dd p img{
	width: 100%;
}
#sec5 .box_sec5_2{
	margin-top: 6%;
}

#sec5 .box_sec5_3{
	position: relative;
	width: 99%;
	padding: 2% 80px 2% 2%;
	margin-top: 5%;
	background: #fff57f;
}
#sec5 .box_sec5_3 p{
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0;
}
#sec5 .box_sec5_3 .icon_sec5_3{
	position: absolute;
	top:-16px;
	right:-8px;
}

/* ----------------------------------------------------------------------------------------------------
*  #sec6
* --------------------------------------------------------------------------------------------------*/

#sec6{
	padding: 120px 0 90px;
}
#sec6 .ttl_sec6{
	margin-bottom: 60px;
}
#sec6 .ttl_sec6_h3{
	height: 26px;
	padding: 3px 0 0 14px;
	margin-bottom: 35px;
	border-left: 6px solid #0c5daa;
	color: #0c5daa;
	font-size: 2rem;
	font-weight: bold;
}
.ie11 #sec6 .ttl_sec6_h3{
	padding: 6px 0 0 14px;
}
#sec6 .ttl_sec6_h4{
	padding-bottom: 7px;
	border-bottom: 1px solid #0c5daa;
	color: #0d326f;
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: bold;
}
.ie11 #sec6 .ttl_sec6_h4{
	padding-bottom: 0;
}

#sec6 .box_sec6{
	float: left;
	width: 50%;
	padding: 2% 3%;
}
#sec6 .box_sec6 p{
	color: #0c5daa;
	font-size:1.4rem;
	line-height: 1.3;
}
#sec6 .box_sec6 p + p{
	margin-top: 4%;
	text-align: center;
}

#sec6 .wrap_sec6 + .ttl_sec6_h4{
	margin-top: 40px;
}

#sec6 .wrap_sec6 + .ttl_sec6_h3{
	margin-top: 50px;
}

#sec6 .imgf_sec6 li{
	float: left;
	width: calc(99% / 3); 
	margin-top: 2%;
}
#sec6 .imgf_sec6 li img{
	width: 100%;
}
#sec6 .imgf_sec6 li + li{
	margin-left: 0.5%;
}
#sec6 .imgf_sec6 li:nth-child(3n+1){
	margin-left: 0;
}

/* ----------------------------------------------------------------------------------------------------
*  #sec7
* --------------------------------------------------------------------------------------------------*/

#sec7 .ttl_sec7{
	width: 100%;
	padding: 22px 0;
	margin-bottom: 55px;
	background: #000;
	font-size: 4.0rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
}
.ie11 #sec7 .ttl_sec7{
padding:30px 0 14px;
}
#sec7 .caution{
	font-size: 2.0rem;
	font-weight: bold;
	color: #d2001d;
	margin-bottom: 1em;
}
#sec7 .wrap{
	max-width: 900px;
}
#sec7 table{
	width: 100%;
	border-top: 1px solid #ccc;
}
#sec7 th,#sec7 td{
	padding: 5px 12px;
	border-bottom: 1px solid #ccc;
	font-size: 1.6rem;
	vertical-align: middle;
}
.ie11 #sec7 th{
	padding: 10px 12px 5px;
}
#sec7 th{
	position: relative;
	width: 200px;
	font-weight: bold;
	border-right: 1px solid #ccc;
}
#sec7 th span{
	position: absolute;
	top: 50%;
	right: 10px;
	background: #cc3333;
	color: #fff;
	font-size: 1.2rem;
	border-radius: 20px;
	padding: 2px 10px;
	transform: translate(0,-50%);
}
.ie11 #sec7 th span{
	padding:5px 10px 1px;
	margin-top:-7px;
	transform:none;
}
.ie11 #sec7 th.center span{
	top: 80px;
	margin-top: 0;
}
#sec7 td input[type="text"] {
	height: 40px;
	padding: 10px;
	background: #eee;
	border: 1px solid #ddd;
	border-radius: 3px;
	font-size: 1.6rem;
}
#sec7 td input[type="text"].w390{
	width: 390px;
}
#sec7 td input[type="text"].w100{
	width: 100px;
}
#sec7 td input[type="text"].w100 + span{
	margin: 0 5px;
} 

#sec7 .ttl_sec7_h3{
	padding: 35px 0 15px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.3;
}
#sec7 .ttl_sec7_h3 br{
	display: none;
}

#sec7 .ttl_sec7_h3 + table td{
	padding: 13px;
}
#sec7 .list_sec7_1 li{
	display: inline-block;
	height: 20px;
	line-height: 20px;
}
#sec7 .list_sec7_1 li + li{
	margin-left: 50px;
}
#sec7 .list_radioin{
	width:1px;
	height:20px;
	visibility: hidden;
}
#sec7 .list_radioin{
	/*display: none;*/
	visibility: hidden;
	position: absolute;
}
#sec7 .list_radioin + label{
	display: block;
	padding-left: 27px;
	position:relative;
}
#sec7 .list_radioin + label:before{
	content: "";
	display: block;
	position: absolute;
	top: -1px;
	left: 0;
	width: 20px;
	height: 20px;
	background: #eee;
	border: 1px solid #ddd;
	border-radius: 50%;
}
#sec7 .list_radioin:checked + label:after{
  content: "";
  display: block;
  position: absolute;
  top:3px;
  left: 4px;
  width: 12px;
  height: 12px;
  background: #555;
  border-radius: 50%;
}
#sec7 .list_sec7_2 li + li{
	margin-top: 10px;
}
#sec7 td .inner{
	display: flex;
	align-items: flex-start;
	align-items: center;
}
#sec7 td > p{
letter-spacing: -0.03rem;
	font-weight: bold;
}
#sec7 td .red{
	color: #d2001d;
}
#sec7 td .inner{
	margin-top: 10px;
}
#sec7 td .inner+.inner{
	margin-top: 5px;
}
#sec7 td .inner p{
	width: 5em;
	font-weight: bold;
	font-size: 1.6rem;
}
#sec7 td .inner ul{
	display: flex;
	justify-content: space-between;
	width: calc(100% - 5em);
}
#sec7 td .inner ul li{
	width: 25%;
	letter-spacing: -0.05rem;
}
.list_check{
	/*display: none;*/
	visibility: hidden;
	width: 1px;
}
.list_checkin{
	padding-left: 27px;
	position:relative;
	cursor: pointer;
}
.list_checkin::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  background: #eee;
  border: 1px solid #ddd;
  border-radius: 3px;
}
.list_check:checked + .list_checkin{
  color: #555;
}
.list_check:checked + .list_checkin::after{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 6px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #555;
  border-right: 3px solid #555;
}

#sec7 .list_sec7_3 li {
	display: inline-block;
}
#sec7 .list_sec7_3 li + li{
	margin-left: 20px;
}
#sec7 .note_sec7{
	margin: 15px 0 0 5px;
	font-size: 1.3rem;
	letter-spacing: 0;
}

#sec7 .list_sec7_4 li {
	display: inline-block;
}
#sec7 .list_sec7_4 li + li{
	margin-left: 12px;
}
#sec7 .list_sec7_4 input[type="text"]{
	width: 40px;
	height: 24px;
	padding: 2px 4px;
	margin-right: 5px;
}

#sec7 .btn_red{
	cursor: pointer;
	margin: 60px auto 100px;
}

#sec7 .box_sec7_3{
	position: relative;
	width: 99%;
	padding: 2% 80px 2% 2%;
	margin-top: 5%;
	background: #fff57f;
}
#sec7 .box_sec7_3 p{
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0;
}
#sec7 .box_sec7_3 .icon_sec5_3{
	position: absolute;
	top:-16px;
	right:-8px;
}
#sec7 textarea{
	width: 100%;
	height: 200px;
	vertical-align: top;
	border: 1px solid #ddd;
	font-size: 1.6rem;
	border-radius: 3px;
	background: #eee;
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	padding: 0.5em;
	box-sizing: border-box;
	resize: vertical;
}

/* ----------------------------------------------------------------------------------------------------
*  footer
* --------------------------------------------------------------------------------------------------*/

footer{
	padding: 50px 0;
	background: #08243b;
}
footer p{
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
}

/* ----------------------------------------------------------------------------------------------------
*  btn_pagetop
* --------------------------------------------------------------------------------------------------*/

.btn_pagetop{
	position: fixed;
	right: 3%;
	bottom: 8%;
	width: 80px;
	height: 80px;
}

/* ----------------------------------------------------------------------------------------------------
*  form
* --------------------------------------------------------------------------------------------------*/

#sec7.form:before {
    display: none;
}

#sec7.form .ttl_form{
	margin-bottom: 40px;
	color: #0c5daa;
	font-size: 2.5rem;
	font-weight: bold;
	text-align: center;
}
#sec7.form th, #sec7.form td{
	padding: 13px;
}
#sec7.form td{
	line-height: 1.3
}
#sec7.form .btn_red{
	cursor: pointer;
	margin: 60px auto 20px;
}
#sec7.form .btn_back a{
	display: block;
	width: 500px;
	height: 60px;
	margin: 0 auto 100px;
	background: #aaa;
	border-radius: 8px;
	color: #333;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 60px;
	text-align: center;
}
.ie11 #sec7.form .btn_back a{
	line-height: 65px;
}
#sec7.form .txt_thanks{
	margin-top: 5%;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.5;
}
#sec7.form .txt_thanks span{
	font-weight: bold;
}
#sec7.form .btn_top a{
	display: block;
	width: 300px;
	height: 50px;
	margin: 4% auto 8%;
	background: #0c5daa;
	border-radius: 8px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 50px;
	text-align: center;	
}
.ie11 #sec7.form .btn_top a{
	line-height: 55px;	
}
.tab{
	display: none;
}
.target::before{
	content:"";
	display:block;
	height:120px;
	margin:-120px 0 0;
	visibility: hidden;
	z-index: -1;
}

@media screen and (max-width: 1180px) {

/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/

#header h1 img{
	position: absolute;
	width: 30%;
	max-width: 300px;
}
#header .area_navi{
	width:85%;
}
#header .txt_tel{
    top: 8px;
    right: 135px;
}
#header .gnavi{
	position: absolute;
	right:0;
}
#header .gnavi li + li{
	margin-left: 20px;
}
#header .btn_header a{
	top:0;
	right:0;
	width: 120px;
}

/* ----------------------------------------------------------------------------------------------------
*  #sec5
* --------------------------------------------------------------------------------------------------*/

#sec5 dt .font_30{
	font-size: 2.2rem;
}
#sec5 .box_sec5_1 dt p{
	padding-top: 5px;
}
#sec5 dd .themetxt_sec5 {
	padding: 5px 0;
    font-size: 2rem;
}
#sec5 dt p.txt_capacity{
	padding: 0;
	line-height: 40px;
}
#sec5 .box_sec5_2 dt .note_box_sec5_2{
	font-size: 1.2rem;
}
#sec5 .box_sec5_2 dt .time_box_sec5_2{
	font-size: 2.2rem;
}
}

@media screen and (max-width: 1040px) {
	
	#seminar .blockTtl{
		display: block;
		padding-top: 5px;
		padding-bottom: 10px;
	}
	#seminar .seminarInner .inner img{
		width: 45%;
	}
	#seminar .blockInner{
		padding: 0 30px 25px 30px;
	}
	#seminar .blockTtl .ttl{
		font-size: 3.0rem;
	}
	#seminar .seminarInner .ttl{
		font-size: 2.2vw;
	}
	#seminar .seminarInner .inner .post{
		margin-bottom: 10px;
	}
	#seminar .seminarInner .inner .post span{
		display: block;
		margin: 0 0 5px;
	}
	#seminar .seminarInner .inner div{
		width: 50%;
	}
	/*
	#seminar .workshop{
		display: block;
	}
	#seminar .workshopInner{
		width: 100%;
	}
	#seminar .workshopTtl{
		justify-content: flex-start;
	}
	#seminar .workshopTtl .ttl{
		margin-right: 1em;
	}
	*/
	#seminar .workshopTtl{
		display: block;
	}
	#seminar .workshopTtl .ttl,
	#seminar .workshopTtl .txt,
	#seminar .workshopInner:last-child .workshopTtl .txt{
		width: auto;
	}
	#seminar .workshopTtl .txt{
		font-size: 1.4rem;
	}
	#seminar .workshopTtl .txt br{
		display: none!important;
	}
	#seminar .workshopInner .inner .nameSection{
		position: relative;
		bottom: auto;
		left: auto;
		width: 100%;
	}
	#seminar .workshopInner .inner{
		padding: 10px 20px;
	}
	#seminar .workshopInner .inner p{
		text-align: left;
	}
	#seminar .workshopInner .inner .name{
		font-size: 1.8rem;
		line-height: 1.4;
	}
	#seminar .workshopInner .inner .post{
		font-size: 1.2rem;
	}
	#sec3 > div{
		padding-right: 30px;
		padding-left: 30px;
	}
	.tab{
		display: block;
	}
	#sec7 td .inner ul li{
		width: 20%;
		letter-spacing: -0.05rem;
	}
	#sec7 td .inner ul li:nth-child(2){
		width: 40%;
	}
	#fvAfter ul li p{
		font-size: 1.8vw;
	}
	#fvAfter ul li p .red{
		font-size: 3.2vw;
	}
	#fvAfter ul li p .red span{
		font-size: 2.4vw;
	}
	#fvAfter ul{
		margin: -20px auto 5%;
	}
	.schedule{
		padding: 10px 3vw 10px 5vw;
		margin: 5% 0 0;
	}
	.schedule .time{
		font-size: 1.8vw;
	}
	.schedule .time span{
		font-size: 2.6vw;
	}
	.schedule .limited{
		font-size: 1.8vw;
	}
	.schedule .limited span{
		font-size: 2.6vw;
	}
	#fvAfter .merit{
		text-align: center;
	}
	#fvAfter .merit p{
		display: inline-block;
		font-size: 3vw;
	}
	#sec3 .left_sec3 td{
		font-size: 1.4rem;
	}
	
}


@media screen and (max-width: 960px) {

body{
	padding-top: 80px!important;	
}
body.fixed{
	position: fixed;
}

/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/

#header{
	height:80px;
}
#header .wrap{
	width: 95%;
	height:80px;
}
#header h1 img{
	left:0;
}
#header .area_navi{
	display: none;
}
#header .toggle{
	display: block;
	width: 50px;
	height: 50px;
	position: absolute;
	top: 0;
	right: 2.5%;
	bottom:0;
	margin: auto;
	cursor: pointer;
	overflow: hidden;
	background: #08243b;
	border: 1px solid #fff;
}
#header .toggle > div{
	position: relative;
}
#header .toggle span{
	width:28px;
	height:2px;
	background-color: #fff;
	position:absolute;
}
#header .toggle span:nth-child(1){
	top: 15px;
	left: 10px;
}
#header .toggle span:nth-child(2){
	top: 24px;
	left: 10px;
}
#header .toggle span:nth-child(3){
	top: 33px;
	left: 10px;
}
#header span{
	transition: all 0.5s ease-out;
	-o-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	-webkit-transition: all 0.5s ease-out;
	-ms-transition: all 0.5s ease-out;
}
#header .toggle.action span:nth-child(1){
	top:22px;
	-o-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
#header .toggle.action span:nth-child(2){
	background-color:rgba(255,255,255,0);
}
#header .toggle.action span:nth-child(3){
	top:22px;
	-o-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#header .spnav{
	display: block;
}

#header .nav_sp{
	position: fixed;
	top: 80px;
	left: 0;
	background: #fff;
	width: 100%;
	display: none;
	overflowinstafeed:auto;
	z-index: 100;
	border-top: 1px solid #0B5999;
	overflow-y: scroll!important;
	-webkit-overflow-scrolling: touch;
	height: calc(100% - 80px);
}
#header .nav_sp > li {
	position: relative;
	border-bottom: 1px solid #0B5999;
}
#header .nav_sp > li > a {
	display: block;
	text-align: left;
	width: 100%;
	height: 48px;
	line-height:48px;
	font-size:1.3rem;
	background-image:none;
	padding-left: 15px;
	font-weight: bold;
}
#header .nav_wrap_active{
	height: 100vh;
}
/* ----------------------------------------------------------------------------------------------------
*  sec1
* --------------------------------------------------------------------------------------------------*/

#sec1{
	padding: 8% 0;
}
#sec1 .txt_sec1{
	margin-top: 5%;
	line-height: 2;
}

/* ----------------------------------------------------------------------------------------------------
*  sec2
* --------------------------------------------------------------------------------------------------*/

#sec2{
	margin-top: 8%;
	padding: 8% 0;
	background: url(../img/bg_sec2.png) 0 0 repeat;
	-webkit-background-size: 100%;
	background-size: 100%;
}

#sec2 .txt_sec2_1{
	margin-top: 5%;
}
#sec2 .txt_sec2_2{
	margin: 4% auto 0;
}
	
	.about > ul{
		margin: 5% auto 0;
	}
	.about > ul li .btn_red{
		font-size: 1.8rem;
		height: 60px;
		line-height: 60px;
	}

/* ----------------------------------------------------------------------------------------------------
*  sec3
* --------------------------------------------------------------------------------------------------*/

#sec3{
	padding: 8% 0;
}
#sec3:before {
    height: 80px;
    margin-top: -80px;
}
#sec3 .ttl_sec3{
	margin: 0 0 5%;
}

#sec3 .left_sec3{
	width: 70%;
}
#sec3 .btn_sec3 a{
	font-size: 1.2rem;
}

.map{
	margin-top: 2%;
}

#sec3 .box_sec3{
	display: table;
	width: 100%;
	padding: 3% 0;
	margin-top: 2%;
}
#sec3 .lbox_sec3 ul{
	margin-top: 1%;
}
#sec3 .lbox_sec3 li{
	width: calc(88% / 3);
	padding:0 2%;
}
#sec3 .rbox_sec3{
	padding:0 2%;
}

/* ----------------------------------------------------------------------------------------------------
*  sec4
* --------------------------------------------------------------------------------------------------*/

#sec4{
	padding: 8% 0;
}
#sec4:before {
    height: 80px;
    margin-top: -60px;
}
#sec4 .ttl_sec4{
	margin-bottom: 5%;
}
#sec4 .box_sec4{
	width: 48%;
	border: 1px solid #0c5daa;
}
#sec4 .box_sec4:nth-child(even){
	margin-left: 4%;
}


/* ----------------------------------------------------------------------------------------------------
*  #sec5
* --------------------------------------------------------------------------------------------------*/

#sec5{
	padding: 8% 0;
}
#sec5:before {
    height: 80px;
    margin-top: -60px;
}
#sec5 .ttl_sec5{
	margin-bottom: 5%;
}

#sec5 .icon_sec5{
	top:-35px;
}
#sec5 .box_sec5_1 dd > div {
    padding: 1% 1% 40px;
}
#sec5 .box_sec5_1 dt p{
	float: none;
	padding: 0;
}
#sec5 .box_sec5_1 dt p.txt_capacity{
	position: absolute;
	top:25px;
	right:0;
	float: none;
}
#sec5 .box_sec5_2 dt .note_box_sec5_2{
	position: static;
}
#sec5 .box_sec5_2 dt .txt_box_sec5_2{
	position: static;
}
#sec5 .box_sec5_2 dt .time_box_sec5_2{
	position: absolute;
	top:26px;
	left:170px;
}
#sec5 .box_sec5_2 dt p.txt_capacity {
    position: static;
    float: none;
    margin-top: 1%;
}

#sec5 .box_sec5_1 dd p{
	float: left;
}
#sec5 dd .theme_sec5{
	width: 60px;
	padding-right: 0;
	font-size: 1.4rem;
}
#sec5 dd .themetxt_sec5{
	padding: 0;
	font-size: 2rem;
}
#sec5 dd .lecturer_sec5{
	top:60px;
	float: none;
	width: auto;
	margin: 0 0 0 90px;
	font-size: 2rem;
}

#sec5 dd .lecturer_sec5 .position_sec5{
	top:0;
	left:195px;
}
#sec5 dd .lecturer_sec5 .name_sec5{
	top:0;
	left:335px;
}
#sec5 dd + dd .lecturer_sec5 .position_sec5{
	top:0;
	left:160px;
}
#sec5 dd + dd .lecturer_sec5 .name_sec5{
	top:0;
	left:275px;
}

/* ----------------------------------------------------------------------------------------------------
*  #sec6
* --------------------------------------------------------------------------------------------------*/

#sec6{
	padding: 8% 0;
}
#sec6:before {
    height: 80px;
    margin-top: -60px;
}
#sec6 .ttl_sec6{
	margin-bottom: 5%;
}
#sec6 .ttl_sec6_h3{
	margin-bottom: 5%;
}
#sec6 .ttl_sec6_h4{
	padding-bottom: 1.5%;
}

#sec6 .wrap_sec6 + .ttl_sec6_h4{
	margin-top: 5%;
}

#sec6 .wrap_sec6 + .ttl_sec6_h3{
	margin-top: 7%;
}


/* ----------------------------------------------------------------------------------------------------
*  #sec7
* --------------------------------------------------------------------------------------------------*/

#sec7 .ttl_sec7{
	margin-bottom: 5%;
}
#sec7 .ttl_sec7_h3{
	padding:7% 0 4%
}
#sec7 .ttl_sec7_h3 br{
	display: block;
}

#sec7 .list_sec7_4 li{
	display: block;
}
#sec7 .list_sec7_4 li + li{
	margin: 12px 0 0;
}

#sec7 .btn_red{
	margin: 6% auto;
}

/* ----------------------------------------------------------------------------------------------------
*  footer
* --------------------------------------------------------------------------------------------------*/

footer{
	padding: 30px 0;
}

/* ----------------------------------------------------------------------------------------------------
*  btn_pagetop
* --------------------------------------------------------------------------------------------------*/

.btn_pagetop{
	width: 60px;
	height: 60px;
}
.btn_pagetop img{
	width: 100%;
}


/* ----------------------------------------------------------------------------------------------------
*  form
* --------------------------------------------------------------------------------------------------*/

#sec7.form .ttl_form{
	margin-bottom: 4%;
}
#sec7.form .btn_red{
	margin: 6% auto 2%;
}

#sec7.form .btn_back a{
	margin: 0 auto 6%;
}
.target::before{
	content:"";
	display:block;
	height: 80px;
	margin: -80px 0 0;
	visibility: hidden;
	z-index: -1;
}

}


@media screen and (max-width: 767px) {

	.tab{
		display: none;
	}
	.target::before{
		content:"";
		display:block;
		height: 65px;
		margin: -65px 0 0;
		visibility: hidden;
		z-index: -1;
	}
	
body{
	padding-top: 65px!important;	
}

/* ----------------------------------------------------------------------------------------------------
*  共通
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
汎用
------------------------------ */

.pc{
	display:none!important;
}
.sp{
	display:block!important;
}

.floatL{
	float: none;
}
.floatR{
	float: none;
}

.font_20{
	font-size: 1.4rem;
}
.font_26{
	font-size: 1.8rem;
}
.font_30{
	font-size: 2rem;
}

.btn_red{
	width: 100%;
	height: 50px;
	font-size: 1.8rem;
	line-height: 50px;
}

h2{
	text-align: center;
}
h2 img{
	width: 100%;
}
/* ----------------------------------------------------------------------------------------------------
*  header
* --------------------------------------------------------------------------------------------------*/

#header{
	height:65px;
}
#header .wrap{
	height:65px;
}
#header h1 img {
    position: absolute;
    width: 50%;
    max-width: 200px;
}
#header .toggle{
	right: 4px;
}
#header .nav_sp{
	top: 65px;
	height: calc(100% - 65px);
}

/* ----------------------------------------------------------------------------------------------------
*  fv
* --------------------------------------------------------------------------------------------------*/

	#fv .bg_fv{
		display: none;
	}
	#fv .txt_fv{
		position: relative;
		top: auto;
		left: auto;
		width: auto;
		transform: none;
	}

/* ----------------------------------------------------------------------------------------------------
*  sec1
* --------------------------------------------------------------------------------------------------*/

#sec1{
	padding: 8% 2.5%;
}
#sec1 .ttl_sec1{
	width: 80%;
	margin: 0 auto;
}
#sec1 .txt_sec1{
	margin-top: 5%;
	font-size: 1.4rem;
	line-height: 1.7;
	text-align: left;
}

/* ----------------------------------------------------------------------------------------------------
*  sec2
* --------------------------------------------------------------------------------------------------*/

#sec2{
	padding: 8% 2.5%;
}
#sec2 .txt_sec2_1{
	font-size: 1.4rem;
	text-align: left;
}
#sec2 .txt_sec2_2{
	width: 350px;
	margin: 4% auto 0;
}
#sec2 .txt_sec2_2 li{
	width: 100px;
	height: 100px;
	border-radius: 50px;
	font-size: 1.2rem;
}
#sec2 .txt_sec2_2 li + li{
	margin-left: 25px;
}

/* ----------------------------------------------------------------------------------------------------
*  sec3
* --------------------------------------------------------------------------------------------------*/

#sec3 .left_sec3{
	float: none;
	width: 100%;
}
#sec3 .ttl_leftsec3{
	width: 110px;
	height: 30px;
	font-size: 1.4rem;
	line-height: 30px;
}

#sec3 .left_sec3 th,
#sec3 .left_sec3 td{
	display: block;
	width: 100%;
	font-size: 1.4rem;
}
#sec3 .left_sec3 th{
	width: 100%;
	padding: 3% 0;
}
#sec3 .left_sec3 td{
	width: 100%;
	padding: 3%;
	border-top: none;
}
.iphone #sec3 .left_sec3 td{
	letter-spacing: 0;
}
#sec3 .left_sec3 tr:nth-child(n+2) th{
	border-top: none;
}
#sec3 .left_sec3 tr:nth-child(3) td{
	border-bottom: none;
}
#sec3 .left_sec3 tr:nth-child(4) th{
	font-size: 1.6em;
}
#sec3 .left_sec3 tr:nth-child(5) th{
	padding: 3%;
}
#sec3 .left_sec3 tr:nth-child(5) th p{
	font-size: 1.4rem;
}
#sec3 .left_sec3 tr:nth-child(5) th p + p{
	margin-top: 10px;
}

#sec3 .right_sec3{
	float: none;
	width: 100%;
	padding-top: 5%;
}
#sec3 .img_sec3{
	text-align: center;
}
#sec3 .btn_sec3 a{
	max-width: 350px;
	margin: 2% auto 0;
	font-size: 1.4rem;
}

#sec3 .map{
	padding-top: 200px;
}

#sec3 .box_sec3{
	padding: 4% 3%;
}
#sec3 .box_sec3 img{
	width: auto;
}
#sec3 .lbox_sec3{
	display: block;
	width:100%;
}
#sec3 .ttl_boxsec3{
	font-size: 1.4rem;
}

#sec3 .lbox_sec3 li{
	display: block;
	width: 100%;
	padding:2.5% 0;
	text-align: center;
}
#sec3 .rbox_sec3{
	display: block;
	width:100%;
	padding:3% 0 0;
	margin-top: 3%;
	border-left: none;
	border-top: 1px solid #a0ccf8;
}
#sec3 .rbox_sec3 .logo_sec3_4{
	position:static;
	min-height: initial;
	min-height: auto;
	margin-top: 3.5%;
	text-align: center;
}
#sec3 .rbox_sec3 .logo_sec3_4 img{
	position:static;
}

/* ----------------------------------------------------------------------------------------------------
*  #sec4
* --------------------------------------------------------------------------------------------------*/

#sec4 .box_sec4{
	width: 100%;
}
#sec4 .box_sec4:nth-child(even){
	margin-left: 0;
}
#sec4 .box_sec4 + .box_sec4{
	margin-top: 5%;
}
#sec4 .box_sec4:nth-child(n+3){
	margin-top: 5%;
}
#sec4 .img_sec4 img{
	width: 100%;
}
#sec4 .img_sec4 + div{
	padding: 5% 2.5%
}
#sec4 .txt_sec4{
	margin-top: 5.5%;
	padding-top: 5.5%;
}
#sec4 .btn_sec4 a{
	position: absolute;
	right:2.5%;
	bottom:1.5%;
}
#sec4 .box_sec4:nth-child(2){
	padding-bottom: 55px;
}

/* ----------------------------------------------------------------------------------------------------
*  #sec5
* --------------------------------------------------------------------------------------------------*/

#sec5 .ttl_sec5 {
    margin-bottom: 8%;
}
#sec5 .icon_sec5{
	position: absolute;
	top:-50px;
	left:-10px;
	width: 70px;
}
#sec5 .box_sec5_2 .icon_sec5 {
    position: absolute;
    top: -35px;
}
#sec5 .icon_sec5 img{
	width: 100%;
}
#sec5 dl{
	width: 100%;
	margin-left: 0;
}
#sec5 dt{
	padding: 2% 0;
}
#sec5 dt .font_30{
	font-size: 1.8rem;
}
#sec5 dt p{
	font-size: 1.8rem;
	text-align: center;
}
#sec5 .box_sec5_1 dt p.txt_capacity,
#sec5 .box_sec5_2 dt p.txt_capacity {
    position: static;
    width: 100%;
}

#sec5 .box_sec5_1 dd {
    padding: 2% 0;
}
#sec5 .box_sec5_2 dd {
    padding: 1% 2% 2% 1.5%;
}
#sec5 .box_sec5_1 dd > div {
    padding: 1% ;
}
#sec5 .box_sec5_1 dd p {
    float: none;
}
#sec5 dd .theme_sec5 {
    height: 40px;
    line-height: 40px;
}
#sec5 dd .theme_sec5:after {
    border-width: 20px 0 20px 23px;
}
#sec5 dd .themetxt_sec5 {
    margin: 3% 0 0 0;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: 0;
}
#sec5 dd .lecturer_sec5 {
	position: static;
	margin: 0;
}
#sec5 dd .lecturer_sec5 .logo_sec5 {
	position: static;
    margin-top: 3%;
}
#sec5 dd .lecturer_sec5 .position_sec5 {
    position: static;
    margin-top: 3%;
    font-size: 1.4rem;
}
#sec5 dd .lecturer_sec5 .name_sec5 {
    position: static;
    margin-top: 3%;
}
#sec5 dd + dd .lecturer_sec5 .position_sec,
#sec5 dd + dd .lecturer_sec5 .name_sec5{
    position: static;
}
#sec5 .box_sec5_2 dd p + p{
	margin-top: 3%;
}

#sec5 .box_sec5_2 {
    margin-top: 10%;
}

#sec5 .box_sec5_3 p{
	font-size: 1.3rem;
}

/* ----------------------------------------------------------------------------------------------------
*  #sec6
* --------------------------------------------------------------------------------------------------*/

#sec6 .ttl_sec6_h3{
	height: 24px;
	padding: 5px 0 0 8px;
	font-size: 1.6rem;
}
#sec6 .ttl_sec6_h4{
	padding-bottom: 5px;
	font-size: 1.4rem;
	letter-spacing: 0;
}

#sec6 .box_sec6{
	float: none;
	width: 100%;
}

#sec6 .imgf_sec6 li{
	float: none;
	width: 100%; 
	margin: 3% 0 0;
	text-align: center;
}
#sec6 .imgf_sec6 li img{
	width: auto;
}
#sec6 .imgf_sec6 li + li{
	margin: 3% 0 0;
}

/* ----------------------------------------------------------------------------------------------------
*  #sec7
* --------------------------------------------------------------------------------------------------*/

#sec7 .ttl_sec7 img{
	width: 30%;
}
#sec7 th,#sec7 td{
	display: block;
	width: 100%;
	padding: 5px;
	font-size: 1.4rem;
}
#sec7 th{
	width: 100%;
	border-right:none;
}
#sec7 td{
	padding: 5px 0;	
}
#sec7 td input[type="text"] {
	font-size: 1.4rem;
}
#sec7 td input[type="text"].w390{
	width: 100%;
}
#sec7 td input[type="text"].w100{
	width: 83px;
}
#sec7 td input[type="text"].w100 + span{
	margin: 0 5px;
} 

#sec7 .ttl_sec7_h3{
	font-size: 1.4rem;
	text-align: left;
}

#sec7 .ttl_sec7_h3 + table td{
	padding: 8px 5px;
}

#sec7 .list_sec7_1 li + li{
	margin-left: 20px;
}

#sec7 .list_sec7_2 li{
	text-indent: -27px;
	margin-left: 27px;
}
#sec7 .list_sec7_2 li .formErrorContent{
	text-indent: 0;	
}
#sec7 .list_sec7_2 li + li{
	margin-top: 10px;
}
#sec7 .list_sec7_2 li label{
	display: block;
	width: calc(100% - 27px);
}
#sec7 .list_sec7_3 li + li{
	margin:10px 0 0 0;
}
#sec7 .note_sec7{
	margin: 10px 0 0 5px;
}

#sec7 .list_sec7_4 li {
	display: block;
}
#sec7 .list_sec7_4 li + li{
	margin: 10px 0 0;
}
	#sec7 th span{
		position: relative;
		top: auto;
		right: auto;
		margin-left: 1em;
		transform: none;
	}

/* ----------------------------------------------------------------------------------------------------
*  footer
* --------------------------------------------------------------------------------------------------*/

footer{
	padding: 20px 0;
}
footer p{
	font-size: 1.1rem;
	letter-spacing: 0;
}
footer .verdana {
    font-family: Verdana;
    color: #fff;
}

/* ----------------------------------------------------------------------------------------------------
*  btn_pagetop
* --------------------------------------------------------------------------------------------------*/

.btn_pagetop{
	bottom: 6%;
	width: 50px;
	height: 50px;
}

/* ----------------------------------------------------------------------------------------------------
*  form
* --------------------------------------------------------------------------------------------------*/

#sec7.form .ttl_form{
	font-size: 1.8rem;
}
#sec7.form .ttl_sec7_h3 + table td {
    padding: 13px;
}
#sec7.form .btn_red{
	margin: 6% auto 2%;
}

#sec7.form .btn_back a{
	width: 100%;
	height: 50px;
	margin: 0 auto 6%;
	font-size: 1.8rem;
	line-height: 50px;
}

#sec7.form .txt_thanks{
	font-size: 1.3rem;
	letter-spacing: 0;
}
#sec7.form .btn_top a{
	width: 100%;
	font-size: 1.4rem;
}
	

	
	#fvAfter ul{
		width: 85%;
		margin: 5% auto 15%;
	}
	#fvAfter ul li{
		width: 32%;
		padding-top: 32%;
	}
	#fvAfter ul li p .red{
		font-size: 4.0vw;
	}
	#fvAfter ul li p .red span{
		font-size: 3.6vw;
	}
	#fvAfter ul li p{
		font-size: 3.2vw;
	}
	#fvAfter .merit{
		width: auto;
	}
	.headline{
		font-size: 6.5vw;
	}
	.headline span{
		font-size: 3.2vw;
	}
	.headline2{
		font-size: 5.5vw;
	}
	.headline2 span{
		font-size: 3.0vw;
	}
	#fvAfter .merit p{
		font-size: 4.6vw;
		letter-spacing: normal;
		padding: 0 7.5%;
		margin: 5% 0 0;
	}
	#fvAfter .merit .btn{
		font-size: 5.0vw;
		margin: 5% 7.5% 0;
	}
	#fvAfter .merit .btn a{
		padding: 1em 0;
	}
	#fvAfter{
		padding: 0 0 15%;
	}
	.overview{
		padding: 15% 0;
	}
	#seminar .blockTtl .number{
		position: relative;
		top: auto;
		left: auto;
		font-size: 4.0vw;
		font-weight: bold;
	}
	#seminar .blockTtl{
		background-size: auto 14vw;
		padding: 3vw 5vw;
	}
	#seminar .blockTtl .ttl{
		font-size: 6.0vw;
	}
	#seminar .blockTtl .txt{
		width: auto;
		font-size: 3.2vw;
	}
	#seminar .blockInner{
		padding: 0 5% 5%;
	}
	#seminar .seminar{
		display: block;
	}
	#seminar .seminarInner{
		width: 100%;
	}
	#seminar .seminarInner .ttl{
		font-size: 4.2vw;
	}
	#seminar .workshop{
		display: block;
	}
	#seminar .workshopInner{
		width: 100%;
	}
	#seminar .workshopInner .inner .post{
		font-size: 1.1rem;
	}
	#seminar .workshopTtl .number{
		font-size: 4.0vw;
		top: 2vw;
		left: 2vw;
	}
	#seminar .workshopTtl .ttl{
		font-size: 5vw;
	}
	#seminar .workshopTtl .txt{
		font-size: 3.5vw;
	}
	#sec3{
		padding: 0;
	}
	#sec3 > div{
		padding: 5%;
	}
	#sec4 .wrapbox_sec4{
		margin-top: 5%;
	}
	#sec4 .position_sec4{
		font-size: 4.0vw;
	}
	#sec4 .name_sec4{
		font-size: 6vw;
	}
	#sec4 .box_sec4:nth-child(-n+2) .img_sec4 + div{
		padding: 5%;
	}
	#sec4 .box_sec4:nth-child(2){
		padding-bottom: 0;
	}
	#sec4 .btn_sec4{
		text-align: right;
		margin-top: 5%;
	}
	#sec4 .btn_sec4 a{
		position: relative;
		bottom: auto;
		right: auto;
		margin: 0 0 0 auto;
	}
	#sec4 .img_sec4 + div{
		padding: 5%;
	}
	#sec4 .box_sec3{
		display: block;
	}
	#sec4 .lbox_sec3{
		display: block;
		width: auto;
	}
	#sec4 .lbox_sec3 ul{
		display: block;
	}
	#sec4 .lbox_sec3 ul li{
		text-align: center;
	}
	#sec4 .lbox_sec3 ul li+li{
		margin-top: 12%;
	}
	#sec4 .rbox_sec3{
		width: auto;
		border-top: 1px solid #a0ccf8;
		border-left: 0;
		margin-top: 8%;
		padding: 8% 10% 0;
	}
	#sec4 .box_sec3{
		margin-top: 5%;
		padding: 5%;
	}
	#sec1 h2,
	#sec2 h2,
	#sec7 .ttl_sec7{
		font-size: 6.5vw;
	}
	#sec7 .ttl_sec7{
		margin-top: -1px;
	}
	#sec7 .caution{
		font-size: 4vw;
	}
	#sec7 td .inner{
		display: block;
	}
	#sec7 td .inner ul{
		width: 100%;
	}
	#sec7 td .inner ul li{
		width: 18%;
		line-height: 20px;
		font-size: 1.1rem;
	}
	#sec7 td .inner p{
		width: auto;
		font-size: 4vw;
	}
	.about{
		padding: 10% 0;
	}
	#sec1{
		width: 96%;
		padding: 8% 5%;
	}
	#sec2{
	    background: #02418a;
	}
	.about > ul{
		display: block;
		padding: 0;
	}
	.about > ul li{
		width: 100%;
	}
	.about > ul li+li{
		margin-top: 3%;
	}
	.about > ul li .btn_red{
		font-size: 4vw;
		height: 12vw;
		line-height: 12vw;
	}
	.schedule{
		display: block;
		text-align: center;
		padding: 4% 5% 5%;
	}
	.schedule .time{
		display: inline-block;
		font-size: 3.4vw;
	}
	.schedule .time span{
		font-size: 4.6vw;
	}
	.schedule .limited{
		font-size: 3.4vw;
		text-align: center;
		margin: 3% auto 0;
	}
	.schedule .limited span{
		font-size: 4.6vw;
	}
	.overview .headline{
		margin-bottom: 10%;
	}
}



@media screen and (max-width: 400px) {

/* ----------------------------------------------------------------------------------------------------
*  fv
* --------------------------------------------------------------------------------------------------*/

#fv .txt_fv{
	width: auto;
}

/* ----------------------------------------------------------------------------------------------------
*  sec2
* --------------------------------------------------------------------------------------------------*/

#sec2 .txt_sec2_2{
	width: 120px;
}
#sec2 .txt_sec2_2 li{
	float: none;
	width: 120px;
	height: 120px;
	border-radius: 60px;
	font-size: 1.4rem;
}
#sec2 .txt_sec2_2 li + li{
	margin: 5% 0 0 0;
}

}