#main {
	padding: 20px;
}


.sub_caption {
	width:96%;
	margin:20px auto 5px;
	font-size:1.2rem;
	font-weight:bold;
  display: flex;
  align-items: center;
	padding-top: 40px;
}

.sub_caption2 {
	width:96%;
	margin:0 auto 5px;
	font-size:1.8rem;
	font-weight:bold;
	padding-top: 40px;
	text-align:center;
}

.sub_caption:before,
.sub_caption:after {
    content: "";
    height: 2px;
    flex-grow: 1;
    background-color: #666;
}
 
.sub_caption:before {
    margin-right: 2rem;
}
 
.sub_caption:after {
    margin-left: 2rem;
}

.cm_caption {
	margin:40px auto -20px;
	text-align:left;
	width: 96%;
}



.comment_box img {
	border:solid 1px #333;
}


.comment_box {
	padding:30px 0;
}

.comment_box .pict{
	display: inline-block;
	margin-left: 0;
	vertical-align:top;
	width: 330px;
	padding:0;
	position: relative;
	font-size: 14px;
}

.comment_box .pict::before{
	font-family:"Cormorant Garamond", serif;
	font-size:1.4rem;
	font-weight:bold;
	color:#000;
	letter-spacing:0.05em;
	line-height: 1em;
	white-space: pre-wrap
	display: block;
	position: absolute;
	left: -22px;
	top: 7px;
	-webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: top left;
  transform-origin: top left;
  z-index: 1;
}

.comment_box .pict span{
	color:#fff;
	font-size:1.2rem;
	font-weight:bold;
	display: inline-block;
	padding:6px 20px 3px;
	margin-bottom: 5px;
	background-color:#9e2b28;
	border-radius:10px;
}


.comment_box .comment_txt{
	display: inline-block;
	vertical-align:top;
	margin-left:35px;
	width: 450px;
	padding:0;
	text-align:left;
}

.comment_box .comment_txt h4{
	color:#000;
	font-size:1.4rem;
	font-weight:700;
	line-height: 1.57em;
	letter-spacing:0.05em;
	margin-top: -5px;
	margin-bottom:14px;
}

.comment_box .comment_txt h4::before {
	content:none;
}

.comment_box .comment_txt .c_name{
	font-size:1.2rem;
	font-weight:800;
	line-height: 1.85em;
	letter-spacing:0.04em;
  position: relative;
	margin-bottom:10px;
	padding-bottom: 14px;
  border-bottom: 1px solid #fff;
}

/*
.comment_box .comment_txt .c_name::before{
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 20px;
  border-bottom: 2px solid #323232;
}
*/
.comment_box .comment_txt p{
	font-size:1.0rem;
	font-weight:500;
	line-height: 2em;
	letter-spacing:0.04em;
	margin-bottom:9px;
}

.comment_box .comment_txt p.affiliation{
	text-align:right;
	font-weight:800;
	font-size:1.0rem;
	line-height: 2em;
	letter-spacing:0.04em;
	margin-bottom:9px;
}

.comment_box .tag-grey {
	display:inline-block;
	margin-right:2px;
	padding:3px 12px 5px;
	border-radius:3px;
	background-color:#F5F5F5;
}

.comment_box .tag-grey span{
	font-size:1.2rem;
	font-weight:500;
	line-height: 1em;
	letter-spacing:0em;
}


@media screen and (max-width: 768px) {
	*, *::after, *::before {
	    box-sizing: inherit;
	}

	#main {
		width:700px;
	}


	#open {
		margin-top:20px !important;
		width:96% !important;
		padding: 2% !important;
	}

	.menuSect .caption {
		font-size: 2.0rem;
	}
	.menuSect ul li {
	    font-size: 1.4rem;
	}

	.sub_caption {
	    font-size: 1.2rem;
	    padding-top: 20px;
	}

	.listBlk li {
		width:100%;
		margin:60px auto;
	}

	.comment_box {
	    padding: 16px;
	}

	.comment_box .comment_txt h4 {
		font-size: 1.2rem;
	}

	.comment_box .pict {
	    width:100%;
			margin-left: 0;
			margin-bottom: 20px;
	}

	.comment_box img {
	    width:100%;
			height:auto;
	}

	.comment_box .comment_txt {
		width:100%;
		margin:20px 0;
	}

	.comment_box .pict span{
    font-size: 1.2rem;
		display: block;
		width: 40%;
		margin: 10px auto 20px;
	}

	.comment_box .comment_txt .c_name, .comment_box .comment_txt p {
    font-size: 1.0rem;
		width:100%;
	}

	h6 {
		font-size: 1.0rem !important;
	}

	.stream_menu {
		width:100% !important;
		font-size: 1.0rem;
	}

	table {
		width:100%;
	}

	td:first-child {
		width: auto !important;
	}

	.tver {
		width:70px !important;
	}

}


/* ==================================================
footer
================================================== */
.footerBtnSet {
    margin: 0 auto;
    position: fixed;
    bottom: 40px;
    right: 30px;
    z-index: 99999;
		width:60px;
		height:60px;
		background-color:#fff;
		border-radius:50%;
		border:solid 1px #000;
}

.footerBtnSet.scrolling {
    position: absolute;
    top: -20px;
    bottom: inherit;
    -webkit-transform: translate(0, -100%);
    transform: translate(0, -100%);
}

.footerBtnSet a {
		padding: 20px 0;
    display: block;
}

.footerBtnSet a span::before {
    content: " ";
    display: block;
    border-top: 2px solid #333333;
    border-right: 2px solid #333333;
    margin: 6px auto 2px;
    width: 14px;
    height: 14px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}





.theme {
	font-size:14px;
	margin:16px 0;
	text-align:left;
	line-height:1.6;
}


#scroll_menu {
	position: fixed;
	top: 0px;
	left: 0px;
	z-index:1000;
	background-color: #dcdcdce0;
	padding:10px 40px;
	text-align:left;
	width: 100% !important;
}

.menu-scroll-caption {
	font-weight:bold;
}

#scroll_menu .scroll_menu_inner{
	width:80%;
	margin:0 auto;
	display: grid;
	border: none;
	padding: 0;
	height: auto !important;
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	flex-direction: row;
}


#scroll_menu ul {
	width: calc(100% / 4) !important;
	display: grid;
	line-height:1.4;
}

.toggle, .title {
	display:none;
}

@media screen and (max-width: 751px) {
	.open_menu {
		display:block;
		padding:10px;
		font-weight:bold;
		text-align:center;
	}



	.theme {
		font-size: 16px
	}

	#cnt_box img {
	    width: 100%;
	}

	#scroll_menu {
		padding:10px 0 0 0;
		background-color: #dcdcdc;
	}



	#scroll_menu .scroll_menu_inner{
		width:96%;
		margin:0 auto;
		display: grid;
		border: none;
		padding: 0;
		height: auto !important;
		display: flex;
		justify-content: flex-start;
		align-items: stretch;
		flex-wrap: wrap;
		flex-direction: row;
	}


	#scroll_menu ul {
		width: calc(100% / 2) !important;
		margin: 20px 0 20px;
		display: grid;
		line-height:1.4;
		text-align: left;
	}

	#scroll_menu ul li{
		font-size: 1.0rem;
		line-height:1.4;
	}


	.mo_logo {
		width:160px !important;
	}

	.toggle {
	  display: none;
	}
	.open_menu {
	  position: relative;
	  margin-bottom: 1em;
	}
	.title,
	.content {
	  -webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	    transform: translateZ(0);
	    transition: all 0.3s;
	}
	.title {
    width: 80%;
    margin: 0 auto;
		font-size:1.2rem;
		border: solid 1px #000;
		padding: 1em;
		display: block;
		color: #333;
		font-weight: bold;
		padding: 10px;
	}
	.title:after, .title:before {
	  content: "";
	  position: absolute;
	  right: 1.25em;
	  top: 0.75em;
	  width: 2px;
	  height: 0.75em;
	  background-color: #000;
	  transition: all 0.3s;
	}
	.title:after {
	  transform: rotate(90deg);
	}
	.content_menu {
	  max-height: 0;
	  overflow: hidden;
	}

	.toggle:checked + .title + .content_menu {
		max-height: 680px;
		transition: all .8s;
	}
	.toggle:checked + .title:before {
		transform: rotate(90deg) !important;
	}



}


.shinsa {
	padding:16px;
	border-radius:5px;
	border:solid 1px #000;
	background-color:#eff7fc;
}