@charset "UTF-8";

html {
	min-height: 100%;
	position: relative;
	font-size: 16px;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
  display: block;
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}
pre {
  font-family: monospace, monospace;
  font-size: 1rem;
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:active,a:hover { outline-width: 0; }
b,strong { font-weight: bolder; }
small { font-size: 0.75rem; }
sub,sup {
  font-size: 0.75rem;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub { bottom: -0.25rem; }
sup { top: -0.5rem; }
img {
	max-width: 100%;
	vertical-align: middle;
  border-style: none;
	align-self: flex-start;/*flexbox時　縦に引き伸ばさない*/
}
/* Remove the default vertical scrollbar in IE. */
textarea { overflow: auto; }
/* Add the correct display in all browsers. */
summary { display: list-item; }
ol, ul {
    list-style: none;
    list-style-image: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
em { 
	font-weight: bold;
	font-style: normal;
	color: #111;
	 }
a	{ 
	color: #6eb92c;
	}
a:active, a:focus	{ outline: 0; }


/* 全体
------------------------------------------------------------*/
body	{ 
	box-sizing: border-box;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo,sans-serif; /* 2022 */
	color: #333;
	line-height: 2rem; /* 24px */
	}

/* font
------------------------------------------------------------*/

.title, .level2-title, .level3-title, .level4-title	{
	margin-bottom: 2rem;
	font-weight: bold;
	color:#111;
	}
.title	{
	align-items: center;
	font-size: 1.75rem;  /* 28px */
	line-height: 1.5rem;
	margin: 1rem auto 2rem;
	letter-spacing: .2rem;
	text-align: center;
	}

.level2-title {
  padding-left: 12px;
  border-left: 6px solid #6eb92c;
	font-size: 1.75rem;
	letter-spacing: .2rem;
  margin-top: 0;
}

.level3-title {
  padding-bottom: 5px;
  border-bottom: 4px solid #6eb92c;
	letter-spacing: .2rem;
  font-size: 1.5rem;
  margin-top: 0;
}

.level4-title {
	position: relative;
  font-size: 1.25rem;
  margin: 4rem 0 1rem;
	padding: .3em .3em .3em 1.5em;
}

.level4-title::before {
	position: absolute;
	content: '';
	top:.9rem;
	left: .4rem;
	width: .75rem;
	height: .75rem;
	background-color: #6eb92c;
	transform: rotate(45deg);
}
.title_caption	{
	line-height: 1.2rem;
  display: inline-block;
	font-size: 1rem;
	font-weight: normal;
	letter-spacing: 0;
	margin: 1rem 0 0;
	}
.speaker_name	{
	line-height: 1.4rem;
	}
.bold	{ font-weight: bold; }



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

header	{ 
	display: flex;
  align-items: center;
	position: sticky;
	z-index: 999;
	top: 0;
	width: 100%;
	overflow-x: hidden;
	height: 64px;
	border-top: solid 4px #6eb92c;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.02), 0 2px 10px 0 rgba(0, 0, 0, 0.1);
	background: #fff;
	}

.ly_header_inner {
	margin-left:10px;
	}

/* header_logo */ 
.ly_header_inner img {
	max-width:160px;
	}


/* contents
------------------------------------------------------------*/
p	{ margin-bottom: 1rem; }
.indent	{
	margin-bottom: 0;
	padding-left: 1rem;
	text-indent: -1rem;
	}
.bgA	{	background: #f1faea; }

/* dl */

dl.bdr	{
	display: flex;
	flex-flow: column nowrap;
	border-top: solid 1px #cdcdcd;
	margin-bottom: 1rem;
	}	
.bdr dt	{
	padding-top: 1rem;
	color: #000;
	font-weight: bold;	
	}
.bdr dd	{
	padding-bottom: 1rem;
	border-bottom: solid 1px #cdcdcd;
	}	
.bdr dt, .bdr dd 	{ width: 100%; }
 
 
/* btn */

.el_btn {
  display: inline-block;
	width: 300px;
  max-width: 100%;
  padding: 20px 10px;
  background-color: #fff;
  border: 1px solid #6eb92c;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .16);
  color: #6eb92c;
  font-size: 1.125rem;
	letter-spacing:.1rem;
  text-align: center;
  text-decoration: none;
  transition: .25s;
  box-sizing: border-box;
}

.el_btn.el_btn__small {
  width: 200px;
	max-width: 100%;
	margin: .2rem;
  padding-top: 2px;
	padding-bottom: 2px;
  font-size: .875rem;
}


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

footer	{
	background: #000;
	}
	
.ly_footer_inner  p	{
	text-align: center;
	font-size: .875rem;
	color:#fff;
	}

footer .copy	{
	margin-bottom: 0;
	padding:1rem auto;
	color: #fff;
	font-size: .785rem;
	text-align: center;
	}	


/* pageTop_btn
------------------------------------------------------------*/

#pageTop {
	display: none;
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	}

#pageTop a {
	display: block;
	background-color: #000;
	text-align: center;
	text-decoration: none;
	padding: 0.5rem 1rem;	
	}
#pageTop a img	{ vertical-align:middle; }
#pageTop a:hover {
	display: block;
	opacity: 0.8;
	}


/* Universal Padding Class */

.pd-around {padding:2em 2em;}
.pd-side {padding:0 2em;}
.pd-top-bottom {padding:4em 0;}
.pd-right {padding-right:2em;}
.pd-left {padding-left:2em;}
.pd-top {padding-top:4em;}
.pd-bottom {padding-bottom:4em;}

/*margin*/
.mg-top-bottom {margin:2em 0;}
.mg-top {margin-top:2em;}
.mg-bottom {margin-bottom:2em;}



/* Responsive for PC
########################################################### */

@media screen and (min-width: 768px) {

dl.bdr	{
	flex-flow: wrap;
	}	
.bdr dt	{ 
	width: 20%;
	padding: 1rem;
	}
.bdr dd	{ 
	width: 70%;
	padding: 1rem;
	}	
.bdr dt, .bdr dd	{
	border-bottom: solid 1px #cdcdcd;
	}	
.bdr dd:first-child	{
	border-top: solid 1px #cdcdcd;
	}

} 



/* for SP
########################################################### */

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

body	{
	box-sizing: border-box; 
	line-height: 1.6rem; }
.bdr dt, .bdr dd 	{ width: 100%; }
.bdr dt img	{ 
 display: block;
 margin: 0 auto 1rem;
 }

/* Universal padding class --- as you like */
.pd-around {padding:1em;}
.pd-side {padding:0 1em;}
.pd-top-bottom {padding:1em 0;}
.pd-right {padding:0 1em;}
.pd-left {padding: 0 1em;}
.pd-top {padding-top: 1em;}
.pd-bottom {padding-bottom: 1em;}
.stal {text-align:left !important;}
.stal:not(.pd-side) { padding:0 1em;}
.pd-around .stal:not(.pd-side), .pd-side .stal:not(.pd-side) { padding:0;}	
/*margin*/
.mg-top-bottom {margin:1em 0;}
.mg-top {margin-top:1em;}
.mg-bottom {margin-bottom:1em;}


.title, .level2-title, .level3-title, .level4-title	{ margin-bottom: 1rem; }
.title	{
	margin: 1rem auto;
	letter-spacing: .2rem;
	}
.level2-title { 
	font-size: 1.25rem;
	line-height: 1.5rem;
 }
.level3-title { font-size: 1.125rem; }
.level4-title {
	position: relative;
  font-size: 1rem;
  margin: 2rem 0 1rem;
}
.level4-title::before {
	top:.7rem;
}

}
