@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Viga&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&display=swap');

html {
	font-size: 16px;
	color: #222;
	font-family: 'Noto Sans JP' ,sans-serif;
}

h2 {
	font-family: 'Viga', sans-serif;
	font-weight: 400;
	font-size: 3rem;
	text-align: center;
}

h2 > span {
	font-family: 'Noto Sans JP' ,sans-serif;
	font-weight: 700;
	font-size: 1.5rem;
	text-align: center;
	display: block;
}

.wrapper {
	max-width: 1024px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.wrapper {
		max-width: 90%;
	}
}

/* header */
#header {
	width: 100%;
	height:50px;
	background-color: white;
	position: fixed;
	top: -70px;
	transition: .5s;
	z-index: 9;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#header.is-show {
	top: 0;
}
#header a {
	margin: 0 32px;
}
#header a img {
	width: 40%;
}
#header .cv-btn {
	background-color: #00a693;
	padding: 8px 32px;
	border-radius: 5px;
	color: #fff;
	font-weight: 700;
	text-align: center;
}
@media screen and (max-width: 768px) {
	#header a {
		margin: 0 8px;
	}
	#header .cv-btn {
		padding: 8px 8px;
		font-size: 10px;
		width: 100px;
	}
}

/* mv */
.mv {
	/* background-color: #00A693;
	background-image: linear-gradient(#fff 1px, transparent 0), linear-gradient(90deg, #fff 1px, transparent 0);
	background-size: 50px 50px; */
	background: repeating-linear-gradient(135deg, #00A693, #00A693 50px, #fff 1px, #fff 51px);
}
.mv .mv-img {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 64px 0;
}
.mv .mv-img img {
	max-width: 1024px;
}
.mv p {
	background-color: #00a693;
	color: #fff;
	font-weight: 700;
	padding: 32px 0;
	font-size: 1.5rem;
	text-align: center;
	letter-spacing: 0.15em;
	border-top: 1px solid #fff;
}
.mv p span {
	font-size: 16px;
}
.mv p span span {
	color: #ffe622;
	border-bottom: 1px solid;
	display: inline-block;
}
@media screen and (max-width: 768px) {
    .mv .mv-img {
      padding: 32px 0;
      text-align: center;
    }  
    .mv .mv-img img {
      width: 90%;
    }
    .mv a {
        width: 90%;
        font-size: 16px;
        padding: 8px 0;
    }
    .mv p {
        padding: 16px 0;
        font-size: 16px;
    }
    .mv p span {
        font-size: 10px;
    }
}
@media screen and (min-width:769px) and (max-width: 1024px) {
    .mv .mv-img {
      padding: 32px 0;
      text-align: center;
  }
    .mv .mv-img img {
      width: 90%;
    }
}

/* message */
.message {
	margin-top: 128px;
/*	background-image: url(/web/jp/asp/seminar/images/bk-img01.png);*/
	background-size: 60%;
	background-repeat: no-repeat;
	background-position-x: right;
}
.message .catch {
	text-align: center;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 1em;
	margin-top: 96px;
	text-indent: 22px;
}
.message .catch::after {
	content: "";
	display: block;
	border-bottom: #00A693 solid 2px;
	width: 600px;
	margin: 0 auto;
	padding-bottom: 8px;
}
.message .catch span {
	position: relative;
	color: #EC4D4D;
}
.message .catch span::before {
	position: absolute;
	content: "・";
	color: #00A693;
	top: -15px;
	text-indent: 0px;
}
.message .text {
	margin-top: 0px;
	line-height: 2em;
	letter-spacing: 0.1em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 1rem;
	font-weight: 400;
	text-indent: 1em;
}
.message .text span {
	text-align: right;
	font-size: 16px;
	letter-spacing: 0;
	font-weight: 700;
	margin-top: 16px;
}
.message img {
	margin: 32px auto 0 auto;
	display: block;
	width: 135px;
}

@media screen and (max-width: 768px) {
	.message .catch::after {
		width: 100%;
	}
}

/* program */
.program {
	margin-top: 128px;
	font-weight: 700;
/*	background-image: url(/web/jp/asp/seminar/images/bk-img02.png);*/
	background-size: 55%;
	background-position: -150px;
	background-repeat: no-repeat;
}
.program .program-wrapper {
	display: flex;
	justify-content: center;
	margin-top: 96px;
}
.program .flex {
	display: flex;
}
.program .program-wrapper .date {
	border-right: 2px solid #00A693;
	padding-right: 32px;
	text-align: center;
	font-family: 'Viga', sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
}
.program .program-wrapper .date > span:nth-of-type(1) {
	font-size: 1rem;
}
.program .program-wrapper .date > span:nth-of-type(2) {
	font-family: 'Noto Sans JP' ,sans-serif;
	font-weight: 700;
}
.program .program-wrapper > .flex {
	width: 1024px;
}
.program .program-detail {
	padding-left: 32px;
	font-weight: 400;
	line-height: 1.5rem;
}
.program .program-detail .flex {
	align-items: center;
	margin-bottom: 32px;
}
.program .program-detail .flex > p {
	margin: 0 32px;
	margin-top: 8px;
}
.program .program-detail .flex > p:last-child {
	margin-bottom: 0;
}
/*.program .program-detail .flex > div p:nth-of-type(2) {
	margin-top: 8px;
	font-weight: 400;
	line-height: 1.5em;
}*/
.program .program-detail .title {
	margin-top: 8px;
	line-height: 1.5em;
	font-size: 1.5rem;
	font-weight: 700;
}
.program .program-detail .notice {
	margin-top: 0.85rem;
	font-size: 0.85rem;
	font-weight: 400;
}

@media screen and (max-width: 768px) {
	.program .flex {
		flex-direction: column;
	}
	.program .program-wrapper .date {
		border-right: initial;
		padding-right: initial;
		border-bottom: 2px solid #00A693;
		padding-bottom: 8px;
		margin-bottom: 16px;
	}
	.program .program-detail {
		padding-left: 0;
		font-weight: 400;
		line-height: 1.3rem;
	}
	.program .program-detail .flex {
		align-items: flex-start;
	}
	.program .program-detail .flex > p {
		margin: 0 16px;
		margin-top: 8px;
}
	.program .program-detail .title {
		line-height: 1.4em;
		font-size: 1.4rem;
	}
}

/*---------- section speaker ----------*/ 
.speaker {
	margin-top: 128px;
	background-color: #f8f9fa;
	padding: 96px 0;
}
.speaker .container {
	margin-top: 96px;
}

.speaker .speaker_logo {
	display: none;
}
.speaker_wrap {
	display: flex;
	flex-wrap: wrap;
/*	justify-content: space-between;*/
	justify-content: center;
}	
.speaker_item {
	flex: 1;
	width: 80%;
}
.speaker_item:not(:last-child) {
	margin-bottom: 1rem;
}
.speaker_box {
	padding: 1.5rem;
	background-color: #fff;
	border: 1px solid #ddd;
	width: 100%;
	height: auto;
}
.speaker_box_wrap {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	text-align: center;
}	
.speaker_box_image {
	margin: 0 0 1rem 0;
}
.speaker_box_image img {
	width: 160px;
	height: 160px;
	border: 1px solid #ddd;
	background-color:#fff;
	border-radius: 8px;
}
.speaker_box_text { 
	flex: 1;
	margin: 0;
	line-height: 1.6;
}	
.speaker_logo img { 
	/*width: 200px; */
	height: 40px;
}
.speaker_logo img.height_auto { 
	height: auto;
}
.speaker_co{ 
	margin-top: 1rem;
	font-size: 0.9em;
	color: #666;
}
.speaker_name { 
	margin-top: 0.5rem;
}

.speaker_name span { 
	font-size: 1.1em;
	font-weight: 700;
}
.font_bold {
	font-weight: 700;
}
.speaker_prof {
	margin-top: 1rem;
	font-size: 0.84em;
	line-height: 1.6em;
	letter-spacing: 0.05em;
	text-align: left;
}
@media (min-width: 520px) {
.speaker_item {
	width: 100%;
} 
.speaker_box_wrap {
	flex-direction: row;
	text-align: left;
}
.speaker_box_image {
	margin: 0 2rem 0 0;
}	
.speaker_logo img { 
	height: 50px;
}
}
@media (min-width: 960px) {
.speaker_item {
	width: 49%;
} 
.speaker_item:not(:last-child) {
	margin-bottom: 1.5rem;
}
.speaker_box {
	height: 100%;
}		
}
.speaker_item:last-child {
	margin-bottom: 1.5rem;
}

/*---------- section report ----------*/ 
.report {
	margin-top: 64px;
	padding: 96px 0;
/*	background-image: url(/web/jp/asp/seminar/images/bk-img02.png);*/
	background-color: #f8f9fa;
	background-size: 55%;
	background-position: right -150px;
	background-repeat: no-repeat;
}

.report .text {
	margin-top: 0px;
	line-height: 2em;
	letter-spacing: 0.1em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 1rem;
	font-weight: 400;
	text-indent: 1em;
}
.report .caption {
	margin: 36px 0 18px 0;
	text-align: center;
	font-size: 0.9rem;
	line-height: 1.4rem;
}
.report .caption br.sp {
	display: none;
}
.report .photo_wrap {
	display: flex;
/*	flex-wrap: wrap;*/
	justify-content: space-between;
	margin: 32px auto 16px;
}
.report .photo_item {
	align-items: center;
	padding: 32px auto;
	width: 50%;
}
.report .photo_title  {
	font-family: 'Viga', sans-serif;
	font-size: 1.3rem;
	font-weight: 700;
	line-height: 1.8rem;
	text-align: center;
}
.report .photo {
	padding: 0 18px;
	border-top: #00A693 double 3px;
	border-bottom: #00A693 double 3px;
}
.report .photo img {
	margin: 18px auto;
	display: block;
	width: 100%;
	border: 1px solid #ddd;
	border-radius: 8px;
}

@media screen and (max-width: 768px) {
	.report {
		margin-top: 32px;
		padding: 48px 0;
		/*	background-image: url(/web/jp/asp/seminar/images/bk-img02.png);*/
		background-size: 55%;
		background-position: right -150px top 20px;
		background-repeat: no-repeat;
	}
	.report .caption br.sp {
		display: inline;
	}
	.report .caption span {
		display: none;
	}
	.report .photo_wrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: 32px auto 16px;
	}
	.report .photo_item {
		align-items: center;
		padding: 32px auto;
		width: 94%;
	}
	.report .photo_item:last-child {
		margin-top: 32px;
	}
/*	.report .photo_title  {
		font-family: 'Viga', sans-serif;
		font-size: 1.3rem;
		font-weight: 700;
		line-height: 1.8rem;
		text-align: center;
	}
	.report .photo {
		padding: 0 18px;
		border-top: #00A693 double 3px;
		border-bottom: #00A693 double 3px;
	}
	.report .photo img {
		margin: 18px auto;
		display: block;
		width: 100%;
		border: 1px solid #ddd;
		border-radius: 8px;
	}*/ 
}


/*---------- section overview ----------*/ 
.overview {
	margin-top: 128px;
}
.overview .container {
	margin-top: 96px;
}
.overview_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.overview_item {
	flex: 0 0 100%;
	max-width: 1024px;
}		
.overviewtable {
	width: 100%;
	table-layout: fixed;
}	
.overviewtable tr,
.overviewtable th,
.overviewtable td {
	display: block;
	width: 100%;
}
.overviewtable th,
.overviewtable td {
	padding: 1rem 0.5rem;
	border-width: 0 1px 1px 1px;
	border-style: solid; 
	border-color: #dbe1e8;
	line-height: 1.6;
} 
.overviewtable tr:first-child th,
.overviewtable tr:first-child td {
	border-top-width: 1px;
}	
.overviewtable th {
	background: #edeeee;;
	font-weight: normal;
	text-align: center;
	vertical-align: middle;
}
.overviewtable_note {
	margin-top: 0.5rem;
	font-size: 14px; 
	line-height: 1.5;
}	
@media (min-width: 768px) {
.overviewtable tr {
    display: table-row;
}
.overviewtable th,
.overviewtable td {
	display: table-cell;
	padding-right: 1.5rem;
	padding-left: 1.5rem;
}    
.overviewtable th {
	width: 160px;
}    
.overviewtable tr:first-child td {
	border-top-width: 1px;  
}     
}
.overview iframe {
    border: 1px solid #dbe1e8 !important;
}
.overview .map-separate {
    margin-top: 1em;
}
/* reserve */
.reserve {
	margin-top: 128px;
	background-color: #f8f9fa;
	padding: 96px 0;
}
.reserve .wrapper > div {
	margin-top: 64px;
}
.reserve iframe {
	height: 700px;
}
.reserve .schedule_flex p:nth-of-type(1) {
	font-weight: 700;
	margin-bottom: 1em;
}
.reserve .schedule_flex {
	display: block;
}
#sec-schedule p.date {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.reserve .schedule_flex .venue {
	margin-top: 1em;
}
@media screen and (max-width: 768px) {
	.reserve iframe {
		height: 1700px;
	}
}

/*====================================================================
.s_03 .accordion_one
====================================================================*/
.s_03 .accordion_one {
	max-width: 1024px;
	margin: 0 auto;
	margin-bottom: 100px !important;
}
.s_03 .accordion_one .accordion_header {
	font-size: 18px;
	font-weight: bold;
	position: relative;
	z-index: +1;
	cursor: pointer;
	transition-duration: 0.2s;
	background-color: #00A693;
	border-radius: 6px;
	color: white;
	text-align: center !important;
	padding: 8px 0;
}
.s_03 .accordion_one .accordion_header:hover {
	opacity: .8;
}
.s_03 .accordion_one .accordion_header .i_box {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 5%;
	width: 40px;
	height: 40px;
	border: 1px solid #fff;
	margin-top: -20px;
	box-sizing: border-box;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
}
.s_03 .accordion_one .accordion_header.stay .i_box {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}
.s_03 .accordion_one .accordion_header .i_box .one_i {
	display: block;
	width: 18px;
	height: 18px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}
.s_03 .accordion_one .accordion_header.stay .i_box .one_i {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.s_03 .accordion_one .accordion_header.open .i_box {
	-webkit-transform: rotate(-360deg);
	transform: rotate(-360deg);
}
.s_03 .accordion_one .accordion_header.stay.open .i_box {
	-webkit-transform: rotate(315deg);
	transform: rotate(315deg);
}
.s_03 .accordion_one .accordion_header .i_box .one_i:before, .s_03 .accordion_one .accordion_header .i_box .one_i:after {
	display: flex;
	content: '';
	background-color: #fff;
	border-radius: 10px;
	width: 18px;
	height: 4px;
	position: absolute;
	top: 7px;
	left: 0;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
}
.s_03 .accordion_one .accordion_header .i_box .one_i:before {
	width: 4px;
	height: 18px;
	top: 0;
	left: 7px;
}
.s_03 .accordion_one .accordion_header.stay .i_box .one_i:before {
	content: none;
}
.s_03 .accordion_one .accordion_header.open .i_box .one_i:before {
	content: none;
}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i:before {
	content: "";
}
.s_03 .accordion_one .accordion_header.open .i_box .one_i:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.s_03 .accordion_one .accordion_header.stay.open .i_box .one_i:after {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}
.s_03 .accordion_one .accordion_inner {
	display: none;
	padding: 30px 0px;
	box-sizing: border-box;
}
.s_03 .accordion_one .accordion_inner.stay {
	display: block;
}
.s_03 .accordion_one .accordion_inner .box_one {
	height: 100%;
}
.s_03 .accordion_one .accordion_inner p.txt_a_ac {
	margin: 0;
}

.accordion_one {
	margin-bottom: 15px !important;
}
/* iframe余白対応 */
.box_one iframe {
		height: 940px;
}

@media screen and (max-width: 1024px) {
	.s_03 .accordion_one .accordion_header {
	font-size: 18px;
	}
	.s_03 .accordion_one .accordion_header .i_box {
	width: 30px;
	height: 30px;
	margin-top: -15px;
	}
}
@media screen and (max-width: 767px) {
	.s_03 .accordion_one .accordion_header {
	font-size: 16px;
	text-align: left;
	padding: 15px 60px 15px 15px;
	}
	/* iframe余白対応 */
		.box_one iframe {
			height: 1700px!important;
		}
}
#sec-program {
	padding-bottom: 75px;
}

.mt-3 {
	padding: 15px 0;
}

p:before {
	box-shadow: 0 1px 4px #f0f4f7 !important;
}

.type_box p::after {
	background-color: #f0f4f7 !important;
}

.type_box p::after {
	box-shadow: 0 1px 4px #f0f4f7;
}

.schedule_flex {
	display: flex;
	justify-content: space-between;
}

@media screen and (max-width:1024px) {
	table th {
		width: 100% !important;
	}
}

@media screen and (max-width: 768px) {
	.schedule_flex {
		flex-direction: column;
	}
	.time {
		font-size: 14.4px !important;
	}
	.people {
		font-size: 14.4px !important;
		margin-top: 24px !important;
	}
	.accordion_header {
		padding: 15px !important;
		letter-spacing: 0px !important;
		font-size: 14px !important;
	}
}

table td {
	width: 100% !important;
}

.info {
	vertical-align: middle;
}

.time {
	font-size: 18px;
	margin: auto 0px !important;
}

.people {
	font-size: 20px;
	margin: auto 0px;
	background-size: 30px;
	padding-left: 35px;
}

@media all and (max-width: 783px) {
	.reserve iframe {
		height: 1700px !important;
	}

	.s_03 .accordion_one {
		margin-bottom: 75px !important;
	}
}
/*-----------------
 *sec-schedule　開催スケジュール
-----------------*/
#sec-schedule h3.seminar_maker {
		text-align :left;
		color: #222;
		font-size :24px;
		padding: .75em 0em .75em 1em;
		background-color: #f0f0f0;
		border-left: 7px solid #f7f7d0;
}

#sec-schedule h3.seminar_oroshi {
		text-align :left;
		color: #222;
		font-size :24px;
		padding: .75em 0em .75em 1em;
		background-color: #f0f0f0;
		border-left: 7px solid #e3ebfe;
}
				
@media only screen and (max-width: 767px) {	
#sec-schedule h3 {
	font-size: 18px;
}
}


#sec-schedule table {
	width: 100%;
	margin-bottom: 30px;
	background-color: #fff;
}

#sec-schedule table tr {
	border: 1px solid #ccc;
	margin-bottom: 40px;
}

#sec-schedule table tr:last-child {
	margin-bottom: 0;
}

#sec-schedule p.date {
	float: left;
}

#sec-schedule p.map {
	float: right;
}

#sec-schedule p.map a {
	background-color: #fff;
	margin-left: 10px;
	padding: 0 10px;
	border: 1px solid #999;
	color: #333;
}

#sec-schedule table th,
#sec-schedule table td {
	width: 90%;
	display: inline-block;
	padding: 20px 5%;
}

#sec-schedule table th {
	background-color: #f0f0f0;
	text-align: center;
}

#sec-schedule table td {
	font-size: 0.9em;
	line-height: 1.5em;
}

#sec-schedule div {
	margin-bottom: 24px;
}

#sec-schedule .people,
#sec-schedule .time,
#sec-schedule .address {
	padding-left: 30px;
	background-repeat: no-repeat;
	background-size: 23px 21px;
}

#sec-schedule .people {
	background-image: url(/web/jp/images/pr/people.svg);
}

#sec-schedule .time {
	background-image: url(/web/jp/images/pr/time.svg);
}

#sec-schedule .address {
	background-image: url(/web/jp/images/pr/address.svg);
	margin-bottom: 0;
}

#sec-schedule .btn {
	padding: 0 20px 40px 20px;
}

#sec-schedule .btn a {
	display: block;
	width: 100%;
	background-color: #ff7800;
	border-radius: 6px;
	color: #fff;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
	padding: 12px 0px;
}

#sec-schedule .btn p{
	display: block;
	width: 100%;
	background-color: #cf2e2e;
	border-radius: 6px;
	color: #fff;
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
	padding: 12px 0px;
}


/* タブレット縦サイズ 768px(16×48em)~ smサイズ */

@media screen and (min-width:48em) {
	#sec-schedule .address {
		float: left;
		width: 45%;
	}
	#sec-schedule .people-time {
		float: left;
		width: 45%;
	}
}



/* タブレット横サイズ 1024px(16×64em)~ mdサイズ */

@media screen and (min-width:64em) {
	#sec-schedule table th {
		width: 14%;
		padding: 20px 2%;
	}
	#sec-schedule p.date,
	#sec-schedule p.map {
		float: none;
		margin-bottom: 24px;
	}
	#sec-schedule p.date {
		margin-top: 24px;
	}
	#sec-schedule table td {
		width: 58%;
		padding: 20px 2%;
	}
	#sec-schedule .address {
		float: left;
		width: 65%;
	}
	#sec-schedule .people-time {
		float: left;
		width: 29%;
	}
	#sec-schedule .people {
		margin-bottom: 24px;
	}
	#sec-schedule div {
		margin-bottom: 0;
	}
	#sec-schedule .btn {
		width: 16%;
		padding: 0 18px 0 0;
		vertical-align: middle;
	}
	#sec-schedule table th,
	#sec-schedule table td {
		display: table-cell;
	}
}


footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 128px;
}
footer .flex {
    display: flex;
    justify-content: center;
    margin-top: 1em;
}
footer .flex a:nth-of-type(2) {
  margin: 0 16px;
}

  @media screen and (max-width: 768px) {
    footer {
        padding: 32px;
    }
    footer .flex {
        flex-direction: column;
    }
    footer .flex a:nth-of-type(2) {
        margin: 16px 0;
    }
}