:root{
	--color-kakenhi: #365492;
	--color-kakenhi-hover: #6e92c7;
	--color-kakenhi-bg: #e9eef0;
}

#wrap:not(:root){
	margin-bottom: max(40px, min(6vw,60px));
	color: #2c2c2c;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{
	line-height: 1.4;
}

#header-nav{
	background: var(--color-kakenhi);
	margin-top: 15px;
}
#header-nav a:hover {
	background: var(--color-kakenhi-hover);
}
#site-logo .header-menu .faq{
	display: none;
}
#site-logo .header-menu .login a[href*="about"],
#site-logo .header-menu .login a[href*="index"]{
	padding-left: 0;
}
#site-logo .header-menu a:hover{
	color: var(--color-kakenhi);
}

.header-menu .item-num{
	width: 14px;
	height: 14px;
	top: -4px;
	right: -6px;
}

#site-logo,
.header-nav-list{
	max-width: 960px;
}

.header-nav-list .nav04{
	pointer-events: none;
	/* position: relative; */
	background: #283f6d;
}
.header-nav-list .nav04 a{
	color: #98a3b9 !important;
}
/* .header-nav-list .nav04::before{
	content: '';
	position: absolute;
	width: 40%;
	height: 1px;
	background: #fff;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
} */
.header-nav-list .nav04 span{
	background: #909eba;
	padding: 0 5px;
}

#site-logo h1>a{
	grid-template-columns: 140px 165px 108px;
	align-items: flex-end;
	gap: 10px;
}
#site-logo h1 img{
	width: 100%;
}
#site-logo h1 img:nth-child(2){
	margin-bottom: 1px;
}
#site-logo .site-logo-contain .sub{
	margin: 4px auto 0;
	font-size: 14px;
	text-align: center;
}

#wrap i.yodosha-i{
	color: var(--color-kakenhi);
font-size: max(20px, min(3vw,24px));
}
#wrap i.yodosha-i.fa-unlock{
	color: var(--color-kakenhi-hover);
}

.logo-right{
	display: grid;
	grid-template-columns: auto 120px;
	gap: 35px;
	align-items: flex-end;
}

.header-nav-list li{
    width: 25%;
		font-size: max(11px, min(2vw,16px));
}
.header-nav-list li a:hover{
	color: #fff;
}

.header-nav-list li.menu_active{
	background: var(--color-kakenhi-hover);
	/* pointer-events: none; */
}

.totop a .totop-arrow{
    border: 2px solid var(--color-kakenhi);
}
.totop a .totop-arrow::before{
    border-top: 2px solid var(--color-kakenhi);
    border-right: 2px solid var(--color-kakenhi);
}

#footer-section:not(:root){
    background-color: var(--color-bg);
}
#footer-section .footer-content{
    max-width: 985px;
}
#footer-section .footer-content a:not(:root), #copyright:not(:root){
    color: #111;
}

@media (min-width: 541px){
.header-nav-list br.visible-xs{
	display: none !important;
}
}
@media (min-width: 641px) and (max-width: 999px){
	#site-logo .site-logo-contain .sub{
	margin-left: 27px;
	font-size: 12px;
	}
}

@media (min-width: 768px){
#header-section{
	width: 100%;
	position: fixed;
	z-index: 100;
	padding-top: 15px;
}
#contents .mainblock {
    margin-top: 127px;
}
}

@media (min-width: 901px){

#contents .mainblock{
	margin-top: max(136px, min(13.2vw, 139px));
}
}

@media (max-width: 1199px){
.header-nav-list li:last-child {
    border-right: 1px solid rgba(255,255,255,.3);
}
.header-nav-list li:first-child{
    border-left: 1px solid rgba(255,255,255,.3);
}
}

@media (max-width: 999px){
	.header-menu .item-num{
		right: 1px;
	}
}

@media (max-width: 900px){
	#site-logo{
		align-items: end;
		display: flex;
	}

	#site-logo h1>a{
		grid-template-columns: 110px 90px;
    gap: 4px 10px;
	}
	#site-logo h1 img:nth-child(1){
		grid-row: 1 / 3;
	}
	#site-logo h1 img:nth-child(2){
		grid-row: 2 / 1;
		margin-bottom: 0;
		width: 140%;
	}
	#site-logo h1 img:nth-child(3){
		grid-row: 2 / 2;
		width: 70%;
		margin-bottom: -1px;
	}

	.header-nav-list li:last-child {
    border-right: none;
	}
	.header-nav-list li:first-child{
    border-left: none;
	}

	.logo-right{
		grid-template-columns: auto 110px;
	}
}

@media (max-width: 767px){
	#header-nav {
    margin-top: 88px;
	}

	#site-logo{
    display: flex;
		background: #fff;
	}
}

@media (max-width: 640px){
	#site-logo{
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px;
	}
	#site-logo h1>a{
    grid-template-columns: 70px 155px 76px;
    gap: 0px 8px;
	}
	#site-logo h1 img:not(:root){
		width: 100% !important;
		grid-row: auto;
	}
	#site-logo h1 img:nth-child(3){
	margin-bottom: 0;
	}

	#site-logo .site-logo-contain .sub{
	font-size: 10px;
	}

	#header-nav {
		margin-top: 117px;
	}

	.header-menu{
		width: fit-content;
	}

	.header-menu li a {
    padding: 0 10px;
	}

	.logo-right{
    width: 100%;
		grid-template-columns: auto 90px;
	}
}

@media (max-width: 540px){
#header-nav{
		margin-top: 101px;
}

#header-nav a{
		height: 38px;
}

.header-nav-list{
    grid-template-columns: repeat(3,1fr);
}
.header-nav-list li{
		width: auto;
}

.header-menu.login li a{
	padding: 0 5px;
}

.header-nav-list br.visible-xs{
	display: block !important;
}

#site-logo{
	padding: 10px 15px;
}

	#site-logo h1>a{
    grid-template-columns: 53px 118px 58px;
    gap: 0px 6px;
	}

.header-menu li a {
    padding: 0 8px;
}

.logo-right{
	grid-template-columns: auto 70px;
}
}



/* index
--------------------------------- */

#contents{
	max-width: 1000px;
	font-family: var(--font-notosans);
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
#contents.container-fluid{
	padding: 0 5px;
}

a, span.tips{
	transition: all .3s;
	color: var(--color-kakenhi);
}
a:hover, span.tips:hover{
	text-decoration: none;
	color: var(--color-kakenhi-hover);
}

.contents-wrap{
	/* margin-top: max(2em, min(4vw,3em)); */
	margin-top: 0;
}

.contents-wrap section{
	margin-top: 7em;
}
.contents-wrap section.schedule-section{
	margin-top: 4em;
}

#topimages,
.about-kakenhi{
	margin-top: max(.7em, min(2vw, 1.1em));
}

section>h2{
	position:relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
section>h2::before{
	content: '';
	background: #333;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	z-index: -1;
}
section>h2 .h2-txt{
	font-size: max(30px, min(5vw,48px));
	font-weight: 300;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background: #fff;
	padding-right: max(10px, min(2.5vw,25px));
	width: fit-content;
}
section>h2 .h2-txt small{
	color: inherit;
	font-size: 60%;
}
section>h2 .h2-txt small span{
	margin: 0 4px;
}
section>h2 .h2-small{
	font-size: max(13px, min(2.5vw,20px));
	font-weight: 700;
	padding-left: max(10px, min(2.5vw,25px));
	background: #fff;
}


/* ウェビナー */
.webinar-section h2{
	margin-bottom: max(25px, min(3vw, 30px));
}

.about-kakenhi .catch{
	text-align: center;
	margin-top: 1.2em;
	font-weight: 500;
	line-height: 1.75;
	font-size: max(12px, min(2vw, 16px));
}

.webinar-section img{
	transition: all .3s;
}
.webinar-section img:hover{
	opacity: .75;
}

.breaking-list.seminar{
	margin-bottom: max(1.2em, min(2.5vw, 2em));
	margin-top: -10px;
}
.breaking-list.seminar li:not(:last-child){
	/* margin-bottom: 6px; */
}

@media (max-width: 640px){
.breaking-list.seminar li::before {
    top: 12px;
    border-left: 8px solid var(--color-kakenhi);
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}
.breaking-list.seminar li a {
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: baseline;
}
}
@media (max-width: 540px){
.breaking-list.seminar li a {
    margin-left: 13px;
}
.breaking-list.seminar li .news {
    margin-top: 0;
}
.breaking-list.seminar li::before {
    top: 6px;
}
}

/* 速報 */
.breaking-btn{
	margin: 30px auto;
	text-align: center;
}
.breaking-btn a{
	font-size: 22px;
	background: #e9eef0;
	color: var(--color-kakenhi);
	padding: 10px 50px;
	font-weight: 700;
	display: inline-block;
	position: relative;
	text-align: left;
}
.breaking-btn a::before{
	content: "";
	width: 1.4rem;
	height: 1.4rem;
	border-top: 2px solid var(--color-kakenhi);
	border-right: 2px solid var(--color-kakenhi);
	position: absolute;
	top: 50%;
	left: 18px;
	transform: translateY(-50%) rotate(45deg);
	transition: 0.3s all;
}
.breaking-btn a:hover::before{
	left: 22px;
}

.breaking-intro:not(:root){
	margin-top: 40px;
	line-height: 1.8;
}

.breaking-list{
	line-height: 1.6;
	list-style: none;
	padding-left: 0;
	margin: 0 auto;
	display: grid;
	justify-content: center;
	margin-top: 40px;
}
.breaking-list li {
	position: relative;
}
.breaking-list li::before {
	content: '';
	left: 0;
	top: 6px;
	border-left: 11px solid var(--color-kakenhi);
	border-top: 7px solid transparent;
	border-bottom: 7px solid transparent;
	background: transparent;
	transition: all .3s;
	position: absolute;
}
.breaking-list a:hover li::before {
	border-left-color: var(--color-kakenhi-hover);
}
.breaking-list li:not(:last-child){
	margin-bottom: 15px;
}
.breaking-list li a{
	margin-left: 18px;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
}
.breaking-list li a{
	color: #333;
}
.breaking-list li a:hover{
	color: var(--color-kakenhi);
}

.breaking-more {
	text-align: right;
	margin-top: 30px;
}
.breaking-more a,
.breaking-more span {
	background: var(--color-kakenhi);
	color: #fff;
	font-size: 14px;
	padding: 5px 15px 5px 28px;
	position: relative;
	font-weight: 500;
}
.breaking-more a::before,
.breaking-more span::before{
	content: "";
	width: 1rem;
	height: 1rem;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	position: absolute;
	top: 50%;
	left: 7px;
	transform: translateY(-50%) rotate(45deg);
	transition: 0.3s all;
}
.breaking-more a:hover{
	background: var(--color-kakenhi-hover);
}

.jumbotron-research {
	padding: 1em 0.5em 0.5em 1em;
	margin: 1em 0;
	background: #e9eef0;
}

/* 公募スケジュール */
.schedule-wrap{
	padding-bottom: 15px;
}
.schedule-table{
	width: 100%;
	border-bottom: solid 1px var(--color-kakenhi);
	border-collapse: separate;
	margin-top: 40px;
	font-size: 15px;
}
.schedule-table thead{
	color: #fff;
	background: var(--color-kakenhi);
	position: sticky;
	position: -webkit-sticky;
	top: 0;
	z-index: 2;
}
.schedule-table th, .schedule-table td{
	padding: 1.2rem 1.6rem;
	border-top: 1px solid var(--color-kakenhi);
	/* border-right: 1px solid var(--color-kakenhi); */
	vertical-align: middle;
	text-align: center;
}
.schedule-table th{
	font-weight: 700;
	padding: 1rem;
	font-size: 16px;
}
.schedule-table [data-label="研究種目名"] {
	background: #e9eef0;
	font-weight: 500;
	max-width: 250px;
	text-align: left;
}
tr:hover [data-label="公募開始"],
tr:hover [data-label="公募締切"],
tr:hover [data-label="審査結果通知"],
tr:hover [data-label="交付内定"]{
	background: #fbf8d1;
	color: #111;
}
tr:hover [data-label="研究種目名"]{
	background: #faee6c;
	color: #111;
}

.table-attention{
	font-size: 12px;
	line-height: 1.6;
	margin: 0;
}

/* 羊土社の科研費本 */
.books-info-wrap{
	margin-top: max(3em, min(5vw, 5em));
}

.books-wrap{
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-top: 50px;
}

.books-item {
	text-align: center;
	display: grid;
	color: inherit;
	grid-template-rows: max-content;
}
.books-item:hover {
	color: inherit;
}

.books-item .new{
	position: relative;
	width: fit-content;
	margin-inline: auto;
}
.books-item .new::before{
	content: '';
	background: url(/kakenhi/images/new-mark.svg) no-repeat;
	position: absolute;
	top: -17px;
	left: -11px;
	background-size: contain;
	width: 62px;
	height: 36px;
	display: block;
	z-index: 5;
}

.books-item .book-img{
	overflow: hidden;
	width: fit-content;
	margin-inline: auto;
	border: #999 solid 1px;
	margin-bottom: 12px;
	box-shadow: 0 0px 0px 0 rgb(219 212 200 / 0%), 0 4px 8px 0 rgb(132 130 126 / 40%), 0 0px 0px 0 rgb(55 54 52 / 10%);
	position: relative;
	transition: all .3s;
}
.books-item:hover .book-img>img{
	transform: scale(1.1);
}
.books-item:hover .book-img::before{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgb(0 0 0/.2);
	z-index: 2;
}
.books-item img.cover-img{
	max-width: 160px;
	transition: all .3s;
}
.books-wrap .book-info{
	display: flex;
	flex-flow: column;
	justify-content: space-between;
	height: 100%;
}
.books-item .date{
	font-size: 14px;
	margin-bottom: 5px;
}
.books-item .title{
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 5px;
	transition: all .3s;
}
.books-item:hover .title{
	color: var(--color-kakenhi);
}
.books-item .subtitle{
	font-size: 16px;
	margin-bottom: 5px;
}
.books-item .author{
	font-size: 18px;
	font-weight: 500;
	margin-bottom: 20px;
}

.books-item .toDetail{
	display: block;
	color: inherit;
}
.books-item .toDetail span{
	font-size: 14px;
	border: 1px solid #b3b3b3;
	border-radius: 3px;
	padding: 3px 35px 3px 45px;
	font-weight: 400;
	position: relative;
	transition: all .3s;
}
.books-item .toDetail span::before{
	content: "";
	width: 1rem;
	height: 1rem;
	border-top: 1px solid #b3b3b3;
	border-right: 1px solid #b3b3b3;
	position: absolute;
	top: 50%;
	left: 25px;
	transform: translateY(-50%) rotate(45deg);
	transition: 0.3s all;
}
.books-item:hover .toDetail>span{
	border-color: var(--color-kakenhi);
	color: var(--color-kakenhi);
}
.books-item:hover .toDetail>span::before{
	border-color: var(--color-kakenhi);
}

/* SNS */
.sns-wrap{
	background: #f2f2f2;
	padding: 15px 25px 40px;
}
.sns-head{
	display: grid;
	grid-template-columns: 300px auto;
	justify-content: space-between;
	margin: 0 0 40px;
	align-items: center;
}
.sns-head .icon-wrap{
	display: grid;
	grid-template-columns: 36px 36px;
	gap: 30px;
	/* margin-right: 15px; */
}
.icon-wrap a:hover{
	opacity: .7;
}

.twitter-timeline.twitter-timeline-rendered{
	margin-inline: auto;
}

.sns-wrap{
	padding: 15px max(25px, min(5vw, 40px));
}

.sns-wrap .sns-head{
	margin-bottom: 0;
	grid-template-columns: auto auto;
	gap: 30px;
	text-indent: 0;
}
.sns-wrap .txt-wrap p{
	font-size: 13px;
	margin-bottom: 0;
	line-height: 1.6;
	font-weight: 400;
}
.sns-wrap .txt-wrap img{
	max-width: 300px;
	margin-bottom: 16px;
}

.sns-head .icon-wrap{
	display: grid;
	grid-template-columns: auto;
	gap: 10px;
	/* margin-right: 15px; */
}
.sns-wrap .icon-wrap a{
	display: grid;
	grid-template-columns: auto auto;
	gap: 6px;
	align-items: center;
	color: #333;
	border: 2px solid #231815;
	border-radius: 5px;
	padding: .2em 14px .2em 8px;
	justify-content: left;
}
.sns-wrap .icon-wrap a.facebook{
	border-color: #1877f2;
	color: #1877f2;
}

.sns-wrap .icon-wrap p{
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 0;
}
.sns-wrap .icon-wrap img{
	/* background: #231815; */
	width: 25px;
}

@media (min-width: 641px){
	.webinar-section .webinar-banner{
		width: 80%;
		margin: auto;
	}

	.sns-head .icon-wrap{
		margin-right: 15px;
	}
}

@media (max-width: 767px){
	.breaking-list li::before{
		border-left: 10px solid var(--color-kakenhi);
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
	}
	.breaking-list li .date{
    font-size: 14px;
	}
	.breaking-list li .news{
    display: block;
    margin-left: 0;
    text-indent: 0;
	}
	.breaking-btn a{
		padding: 10px 20px 10px 40px;
		font-size: 16px;
	}
	.breaking-btn a::before{
		width: 1.2rem;
		height: 1.2rem;
	}

	.schedule-wrap{
	overflow-x: scroll;
	width: 100%;
	white-space: nowrap;
	}
	.schedule-table{
	position: relative;
	}
	.schedule-table::before{
	content: '➡ 横にスクロールできます';
	font-size: 12px;
	position: absolute;
	left: 0;
	top: -26px;
	color: #686868;
	}
	.schedule-table th, .schedule-table td{
	padding: 1.2rem 1.4rem;
	}
	.schedule-table [data-label="研究種目名"],
	.schedule-table th:first-child{
	position: sticky;
	position: -webkit-sticky;
	left: 0;
	z-index: 1;
	min-width: 158px;
	white-space: normal;
	}
	.schedule-table th:first-child{
	background: var(--color-kakenhi);
	}

	.books-wrap {
	grid-template-columns: auto;
	justify-content: center;
	gap: 25px;
	}
	.books-item{
	grid-template-columns: 140px 1fr;
	text-align: left;
	gap: 25px;
	align-items: flex-start;
	}
	.books-item img.cover-img{
		max-width: 100%;
	}
	.books-wrap .book-info{
	justify-content: flex-start;
	}

	.twitter-timeline.twitter-timeline-rendered,
	iframe#twitter-widget-0{
	width: 100% !important;
	}
}

@media (max-width: 640px){
	.contents-wrap section{
		margin-top: 4em;
	}

	.breaking-intro:not(:root){
		margin-top: 30px;
    font-size: 14px;
	}
	.breaking-list{
		margin-top: 30px;
		line-height: 1.4;
	}
	.breaking-list li a{
		grid-template-columns: auto;
    gap: 0;
	}
	.breaking-list li::before{
		top: 26px;
	}
	.breaking-list li .date {
    font-size: 12px;
	}
	.breaking-list li .news{
    font-size: 14px;
		margin-top: 6px;
	}

	.schedule-table{
	margin-top: 30px;
	font-size: 14px;
	}

	.books-wrap{
	margin-top: 35px;
	}
	.books-item .date,
	.books-item .subtitle{
		font-size: 12px;
	}
	.books-item .title{
		font-size: 16px;
	}
	.books-item .author{
		font-size: 14px;
	}

	.sns-wrap .sns-head{
		grid-template-columns: auto;
		gap: 20px;
	}
	.sns-wrap .sns-head .icon-wrap{
		justify-content: center;
		grid-template-columns: auto auto;
    gap: 15px;
	}
	.sns-wrap .icon-wrap a{
		width: 118px;
	}
	.sns-wrap .icon-wrap p{
		word-break: break-all;
    line-height: 1.1;
	}
}

@media (max-width: 540px){
	.contents-wrap{
		margin: 10px 0 0;
	}
	#topimages,
	.about-kakenhi-banner{
		margin: 0 calc(50% - 50vw) 0;
	}

	.breaking-list li a{
		margin-left: 16px;
	}

	.books-wrap{
		gap: 35px;
	}
	.books-item{
		gap: 15px;
		grid-template-columns: 110px 1fr;
	}

	.books-item .new::before{
	width: 48px;
	height: 28px;
	top: -15px;
	left: -9px;
	}

	.books-item .author{
		margin-bottom: 15px;
	}
	.books-item .toDetail span{
		padding: 3px 25px 3px 35px;
	}
	.books-item .toDetail span::before{
		left: 15px;
	}

	/* .sns-head{
		grid-template-columns: auto;
    justify-content: center;
    gap: 15px;
    margin-bottom: 25px;
	}
	.sns-head>img{
		width: 250px;
	}
	.sns-head .icon-wrap{
		margin: 0 auto;
		gap: 20px;
	} */
}

@media (max-width: 374px){
	.books-item .toDetail span{
		padding: 3px 20px 3px 30px;
	}
	.books-item .toDetail span::before{
		left: 12px;
	}
}


/* 関連書籍
--------------------------------- */

.breadcrumb-list {
	/* display: grid; */
	/* grid-auto-flow: column; */
	/* gap: 22px; */
	list-style: none;
	padding-left: 0;
	margin: 0;
	/* justify-content: flex-start; */
	font-size: max(10px, min(2vw,14px));
	/* align-items: center; */
	line-height: 1.6;
	margin-top: 1.2em;
}
.breadcrumb-list li {
	position: relative;
	display: inline-block;
}
.breadcrumb-list li:not(:last-child){
	margin-right: 20px;
}
.breadcrumb-list li:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 50%;
	right: -12px;
	width: 6px;
	height: 6px;
	border: 1px solid;
	border-color: #333 #333 transparent transparent;
	transform: translateY(-50%)rotate(45deg);
	-moz-transform: translateY(-50%)rotate(45deg);
	-webkit-transform: translateY(-50%)rotate(45deg);
}
.breadcrumb-list a {
	color: inherit;
}
.breadcrumb-list a:hover {
	opacity: .7;
}

.contents-wrap.books_list .books-section{
	margin-top: 0 !important;
}

.page-head{
	background: var(--color-kakenhi);
	color: #fff;
	font-size: max(28px, min(5.5vw,50px));
	padding: 10px 25px;
	border-radius: 0 50px 0 0;
	margin-bottom: 25px;
	font-weight: 700;
	margin-top: 1.1em;
}

.page-head.book-list{
	margin-bottom: max(25px, min(6vw,60px));
}

.books-section h2{
	margin-bottom: max(20px, min(3.5vw,32px));
}

.contents-wrap.books_list section.books-section:not(:first-of-type)>h2{
	margin-top: max(2em, min(6vw,3em));
}

.contents-wrap.books_list section>h2 .h2-txt{
	font-size: max(25px, min(5vw,48px));
}

.books-wrap.book-list{
	grid-template-columns: auto;
	gap: 60px;
	margin-left: 30px;
	margin-top: 30px;
}
.books-wrap .info-wrap{
	display: grid;
	grid-template-columns: 160px 1fr;
	text-align: left;
	align-items: flex-start;
	gap: 35px;
}

.books-wrap.book-list .title{
	font-size: 29px;
	margin-bottom: 2px;
	font-weight: 900;
}
.books-wrap.book-list .subtitle{
	font-size: 18px;
	font-weight: 500;
}
.books-wrap.book-list .author{
	font-size: 20px;
	margin-top: 8px;
	font-weight: 700;
	margin-bottom: 10px;
}
.books-wrap.book-list .summary{
	font-size: 16px;
}
.books-wrap.book-list .other{
	font-size: 14px;
	margin-bottom: 20px;
}
.books-wrap.book-list .other span{
	display: inline-block;
}
.books-wrap.book-list .summary,
.books-wrap.book-list .other{
	line-height: 1.7;
}

.contents-wrap.books_list .sns-section{
	margin-top: max(4em, min(8vw,7em));
}

.contents-wrap.books_list .sns-head{
	margin: 0;
}
/* .books_list .sns-wrap{
	padding: 15px 25px;
} */

@media (max-width: 767px){
.books-wrap.book-list .books-item{
	grid-template-columns: auto;
}
.books-wrap.book-list .books-item .info-wrap{
	gap: 30px;
}
}

@media (max-width: 640px){
.contents-wrap.books_list section {
	margin-top: 2.5em;
}

.page-head{
	margin-bottom: 20px;
	padding: 5px 15px;
	margin-top: 1.3em;
}

.books-wrap.book-list{
	grid-template-columns: auto;
	gap: 55px;
}
.books-wrap.book-list .books-item .info-wrap{
	grid-template-columns: auto;
	gap: 8px;
}
.books-wrap.book-list{
	margin-left: 0;
	margin-top: 25px;
}
.books-wrap.book-list .books-item .book-img{
	width: 140px;
}
.books-wrap.book-list .info-content{
	padding: 0 10px;
}
.books-wrap.book-list .title{
	font-size: 20px;
}
.books-wrap.book-list .subtitle{
	font-size: 15px;
}
.books-wrap.book-list .author{
	font-size: 16px;
}
.books-wrap.book-list .summary{
	font-size: 14px;
}
.books-wrap.book-list .other{
	font-size: 12px;
}
.books-wrap.book-list .books-item .toDetail{
	text-align: center;
}
.books-wrap.book-list .books-item .toDetail span{
	padding: 3px 35px 3px 45px;
}
.books-wrap.book-list .books-item .toDetail span::before{
	left: 25px;
}
}


/* セミナー一覧
--------------------------------- */

.seminar-section .page-head{
	margin-bottom: 40px;
}

.accepting-head{
	font-weight: 700;
	font-size: 26px;
	position: relative;
	padding-left: 30px;
	margin-bottom: 16px;
}
.accepting-head::before{
	content: '';
	left: 0;
	top: 5px;
	border-left: 21px solid var(--color-kakenhi);
	border-top: 13px solid transparent;
	border-bottom: 13px solid transparent;
	background: transparent;
	transition: all .3s;
	position: absolute;
}

.accepting-wrap,
.archive-item,
.accepting-wrap:hover,
.archive-item:hover{
	color: inherit;
}

.accepting-wrap{
	display: grid;
	grid-template-columns: 120px auto;
	gap: 27px 25px;
	background: #dfeaf0;
	padding: max(15px, min(3.5vw,28px)) 15px;
	justify-content: center;
	box-shadow: 0px 0px var(--color-kakenhi);
	transform: translate(0px, 0px);
	margin-bottom: 30px;
}

@media (hover: hover) {
	.accepting-wrap:hover,
	.form-wrap a:hover{
		box-shadow: 8px 8px var(--color-kakenhi);
		transform: translate(-6px, -6px);
	}
}
@media (hover: none) {
	.accepting-wrap:active,
	.form-wrap a:active{
		box-shadow: 8px 8px var(--color-kakenhi);
		transform: translate(-6px, -6px);
	}
}

.accepting-wrap .seminar-icon{
	margin-top: 10px;
}

.accepting-wrap .seminar-title{
	font-size: max(20px, min(4.5vw,41px));
	font-weight: 900;
	margin-bottom: 20px;
	margin-bottom: 0;
}
.accepting-wrap:hover .seminar-title{
	color: var(--color-kakenhi);
}
.seminar-title{
	margin: 0;
}

.schedule-list, .schedule-list{
	list-style: none;
	padding-left: 0;
}

.live-date strong{
	font-size: max(20px, min(3.5vw,36px));
	letter-spacing: 2px;
}

.archive-item{
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 25px;
	min-height: 150px;
	align-items: center;
}

.accepting-wrap .schedule-list{
	font-size: max(14px, min(2.5vw,20px));
	font-weight: 700;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 25px;
	justify-content: left;
	margin-bottom: 0;
	align-items: baseline;
}

.accepting-wrap .breaking-more{
	grid-column: 1/3;
	text-align: center;
	margin: 0;
}
.accepting-wrap .breaking-more span {
	padding: 6px 35px 6px 50px;
	font-size: 17px;
	transition: all .3s;
	display: flex;
	width: fit-content;
	margin-inline: auto;
}
.accepting-wrap .breaking-more span::before {
	left: 28px;
}
.accepting-wrap:hover .breaking-more span {
	background: var(--color-kakenhi-hover);
}


.seminar-section h2{
	margin-top: 3em;
	margin-bottom: 25px;
}

.contents-wrap .seminar-section h2 .archive:not(:root){
	font-weight: 700;
	font-size: max(16px, min(3vw,22px));
	padding-right: max(10px, min(2vw,15px));
}

.archive-wrap{
	display: grid;
	gap: 30px;
	margin-left: max(0px, min(15vw, 173px));
}
.archive-item{
	background: #e9eef0;
	padding: 17px 25px;
}

.archive-wrap .seminar-title{
	font-size: max(18px, min(3vw,30px));
	font-weight: 700;
	margin-bottom: 5px;
	margin-top: 0;
	transition: all .3s;
}
.archive-item:hover .seminar-title{
	color: var(--color-kakenhi);
}

.archive-wrap .schedule-list{
	font-size: max(12px, min(2vw,16px));
	font-weight: 500;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 20px;
	justify-content: left;
	align-items: baseline;
}
.archive-wrap .schedule-list:not(:last-of-type){
	margin-bottom: 5px;
}
.archive-wrap .schedule-list:last-of-type{
	margin-bottom: 0;
}


section.seminar-section+.sns-section:not(:root){
	margin-top: max(4em, min(7vw,6em));
}

@media (max-width: 767px){
.accepting-wrap{
		grid-template-columns: 100px 1fr;
    gap: 20px;
}
.archive-item{
		grid-template-columns: 80px 1fr;
    gap: 20px;
}
}

@media(max-width: 640px){
.accepting-head{
	font-size: 17px;
	padding-left: 23px;
}
.accepting-head::before {
	top: 2px;
	border-left: 16px solid var(--color-kakenhi);
	border-top: 10px solid transparent;
	border-bottom: 10px solid transparent;
}

.accepting-wrap{
	grid-template-columns: 90px 1fr;
}
.accepting-wrap .seminar-icon {
    margin-top: 5px;
}

.archive-wrap{
	margin-left: 20px;
	gap: 20px;
}
.archive-item {
	grid-template-columns: 75px 1fr;
	gap: 15px;
min-height: 120px;
}

}

@media(max-width: 540px){
.seminar-section .page-head {
	margin-bottom: 26px;
}

.accepting-wrap{
	grid-template-columns: 55px 1fr;
	gap: 15px;
	margin-left: 0;
}
.accepting-wrap .seminar-icon {
	margin-top: 5px;
}
.accepting-wrap .schedule-list{
	margin-top: 8px;
	grid-template-columns: auto;
	gap: 0;
}

.accepting-wrap .breaking-more span{
	font-size: 14px;
	margin-inline: 0;
	padding: 6px 30px 6px 45px;
}
.accepting-wrap .breaking-more {
	grid-column: 2/2;
}
.breaking-more span::before{
	left: 31px;
	width: 0.9rem;
	height: 0.9rem;
}

.seminar-section h2{
	margin-top: 1.8em;
	margin-bottom: 20px;
}

.archive-wrap{
	margin-left: 0;
}
.archive-item{
	grid-template-columns: 50px 1fr;
	gap: 12px;
	padding: 10px 15px;
	min-height: 110px;
}
.archive-item:hover{
	box-shadow: 7px 7px var(--color-kakenhi);
	transform: translate(-7px, -7px);
}

.archive-wrap .schedule-list{
	grid-template-columns: auto;
	gap: 0;
}
}

/* セミナー内容ページ
--------------------------------- */

#event_summary a,
.event_faq_section{
	/* color: #ed6c00; */
	color: #158344;
	cursor: pointer;
	transition: all .3s;
}
#event_summary a:hover,
.event_faq_section:hover{
	/* color: #fd9546; */
	color: #29a55f;
}
.seminar-wrap .tab-content{
	background: #f5f1df;
	display: grid;
	border: 1px solid #c8b98c;
	border-top-color: transparent;
}

.seminar-wrap .nav-tabs{
	border-bottom: 1px solid #c8b98c;
	margin-top: max(1em, min(3vw,2.5em));
}
.seminar-wrap .nav-tabs>li{
	margin-bottom: -2px;
}
.seminar-wrap .nav-tabs>li.active>a,
.seminar-wrap .nav-tabs>li.active>a:hover,
.seminar-wrap .nav-tabs>li.active>a:focus{
	border: 1px solid #c8b98c;
	border-bottom-color: transparent;
	background: #f5f1df;
	margin: 0;
	color: #2c2c2c;
}
.seminar-wrap .nav-tabs>li>a{
	background: #c8b98c;
	width: 140px;
	text-align: center;
	color: #fff;
	border-radius: 0;
	font-weight: 700;
	padding: 5px 10px 8px;
	margin: 0;
	font-size: max(13px, min(2vw,16px));
}
.seminar-wrap .nav-tabs>li>a:hover{
	border: 1px solid #c8b98c;
	border-bottom-color: transparent;
}

.seminar-wrap .seminar-title{
	margin-top: 1.5em;
 }

#event_summary,
#event_faq{
	padding: max(15px, min(5vw,45px));
	margin: 0;
	padding-bottom: 25px;
}

.seminar-wrap .seminar-catch{
	font-size: max(19px, min(3vw,25px));
	font-family: var(--font-notoserif);
	font-weight: 700;
	margin: 0 0 1.2em;
	line-height: 1.6;
}

.seminar-wrap .seminar-intro{
	font-size: max(15px, min(2.5vw, 18px));
}

.seminar-wrap p{
	line-height: 1.8;
	font-size: max(14px, min(2vw, 16px));
}

.seminar-wrap .registration-button:first-of-type{
	margin-top: max(2.2em, min(7vw,4.5em));
	padding-top: 0;
}
.seminar-wrap .registration-button{
	margin-top: 3em;
}
.seminar-wrap .registration-button .button{
	background: #f18e41;
	background: #55a93e;
	color: #fff !important;
	height: 75px;
	display: grid;
	width: 300px;
	font-size: max(20px, min(3vw,27px));
	align-items: center;
	margin-inline: auto;
	font-weight: 700;
	border-radius: 10px;
	margin-bottom: 0.7em;
	box-shadow: 0px 2px 3px 0 rgb(0 0 0 / 10%);
}
.seminar-wrap .registration-button .button:hover{
	background: rgb(241, 113, 15);
	background: #2b9d0b;
	color: #fff;
}
.registration-button p{
	font-size: max(12px, min(2vw, 13px));
	line-height: 2;
}

#event_summary .head4:first-of-type{
	margin: max(55px, min(7.5vw, 95px)) 0 max(20px, min(4vw,30px));
}

.seminar-wrap .head4{
	font-size: max(20px, min(3.5vw, 28px));
	font-weight: 300;
	margin: max(45px, min(6.5vw, 70px)) 0 max(15px, min(3vw,25px));
	line-height: 1.5;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.seminar-wrap .head4::before {
	content: '';
	background: #333;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	z-index: 0;
}
.seminar-wrap .head4 span{
	background: #f5f1df;
	padding-right: 10px;
	width: fit-content;
	position: relative;
}

span.tips{
	cursor: pointer;
}
span.tips i{
	font-size: 72%;
	background: var(--color-kakenhi);
	color: #fff;
	width: 17px;
	height: 17px;
	line-height: 17px;
	text-align: center;
	border-radius: 50px;
	transition: all .3s;
	position: relative;
	top: -2px;
	margin: 0 4px 0 2px;
}
span.tips:hover i{
	background: var(--color-kakenhi-hover);
}

.pdf-icon,
.word-icon{
	background: #dde4f2;
	padding: 0px 5px;
	font-size: 75%;
	border-radius: 3px;
	margin: 0 4px 0 4px;
	font-weight: 600;
	letter-spacing: 0;
	display: inline-block;
	line-height: 1.3;
	position: relative;
	top: -1px;
}
.pdf-icon{
	color: #b30b00;
	background: #f4e0de;
}

.seminar-wrap .speaker-profile{
	margin-top: -20px;
	margin-bottom: -10px;
}
.seminar-wrap .speaker-profile::after{
	content: '';
	clear: both;
	display: block;
}
.seminar-wrap .speaker-profile .name{
	font-size: max(21px, min(3.5vw, 30px));
	font-weight: 700;
	margin: 0;
	line-height: 1.5;
	padding-top: 30px;
}
.seminar-wrap .speaker-profile .of{
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 1.5em;
	font-size: max(12px, min(2vw, 16px));
}
.seminar-wrap .speaker-img{
	float: right;
	width: max(110px, min(15vw, 170px));
	margin-left: max(15px, min(4vw, 40px));
	margin-bottom: 10px;
}

.seminar-content-list{
	list-style: none;
	padding-left: 6px;
	line-height: 1.6;
}
.seminar-content-list>li{
	font-size: max(16px, min(2.5vw, 20px));
	font-weight: 500;
	text-indent: -1em;
	margin-left: calc(1em + 6px);
}
.seminar-content-list>li::before{
	content: "";
	border-radius: 100%;
	width: max(16px, min(2.5vw, 20px));
	height: max(16px, min(2.5vw, 20px));
	background-color: #ed6c00;
	background-color: #148343;
	display: inline-block;
	position: relative;
	top: 2px;
	left: -6px;
}
.seminar-content-list>li:not(:last-child){
	margin-bottom: .6em;
}

.seminar-content-list .supplement{
	text-indent: 0;
	margin: 0;
	font-weight: 400;
}

.seminar-wrap .plan-list,
.contents-wrap ol:not([class]){
	margin: 0;
	font-size: max(14px, min(2vw, 16px));
	font-weight: 400;
	line-height: 1.8;
}
.seminar-wrap .plan-list>li,
.contents-wrap ol:not([class])>li{
	margin-top: .2em;
	text-indent: 0;
	margin-left: 0;
}

.contents-wrap ol:not([class]){
	padding-left: 20px;
}

.seminar-plan{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: max(20px, min(3.5vw,30px));
	margin-top: max(1.5em, min(2.5vw, 2em));
}
.seminar-wrap .plan-item>.plan-head{
	margin: 0;
	background: #ed6c00;
	background: #158344;
	font-size: max(24px, min(3.5vw,30px));
	font-weight: 700;
	color: #fff;
	padding: 5px;
	justify-content: center;
	height: max(68px, min(8.5vw, 80px));
	align-items: center;
	line-height: 1.4;
	display: flex;
}
.seminar-wrap .plan-item>.plan-head small{
	font-size: max(14px, min(2vw, 16px));
}
.seminar-wrap .plan-item.ondemand>.plan-head{
	background: var(--color-kakenhi);
	flex-direction: column;
	padding-bottom: max(8px, min(1.5vw, 10px));
}

.seminar-wrap .about-plan{
	margin: 0;
	border: 7px solid #ed6c00;
	border: 7px solid #158344;
	border-top: none;
	background: #fff;
	padding: 15px max(15px, min(2.5vw, 20px)) 10px;
}
.seminar-wrap .plan-item.ondemand .about-plan{
	border-color: var(--color-kakenhi);
}
.seminar-wrap .about-plan dt,
.seminar-wrap .plan-etc p.strong{
	font-size: max(15px, min(2vw,16px));
	font-weight: 700;
	margin-bottom: 3px;
}
.seminar-wrap .about-plan dt{
	color: #878787;
}
.seminar-wrap .about-plan dd{
	font-size: max(18px, min(2.5vw,20px));
}
.seminar-wrap .about-plan dd small{
	font-size: 80%;
}
.seminar-wrap .about-plan dd:not(:last-child){
	margin-bottom: 1.4em;
}
.seminar-wrap .about-plan dd:empty,
.seminar-wrap .about-plan span:empty{
	height: max(16px, min(2.5vw,20px));
	display: block;
}
.seminar-wrap .about-plan dd:empty::before,
.seminar-wrap .about-plan span:empty::before{
	content:'';
	width: 15px;
	height: 1px;
	display: block;
	background-color: #2c2c2c;
	top: 50%;
	transform: translateY(-50%);
	position: relative;
}
.seminar-wrap .about-plan b{
	font-weight: 400;
	margin-bottom: 4px;
	display: block;
}
.seminar-wrap .about-plan .plan-list{
	margin-bottom: 10px;
}
.seminar-wrap .about-plan .plan-list>li:first-child{
margin-top: 0;
}
.seminar-wrap p.strong{
	margin: 0;
	font-weight: 700;
}

.seminar-wrap .attention{
	border-top: 1px solid;
	margin-top: max(3em, min(5vw,4em));
	padding-top: 1.8em;
}

.seminar-wrap .head5{
	font-size: max(14px, min(2vw,16px));
	font-weight: 700;
	margin: 0;
}
.seminar-wrap .attention .plan-list{
	font-size: 14px;
}

.seminar-wrap .plan-etc p.strong{
	margin-bottom: 2px;
	margin-top: 1.2em;
}

.group_registration{
	display: block;
	text-align: center;
	margin-top: 10px;
}

.group_registration>span{
	display: inline-block;
}
.group_registration a:hover{
	opacity: .7;
}
.group_registration .application{
	border-radius: 20px;
	padding: 5px 10px;
	line-height: 1;
}

.option-box{
	background: #fcfaf5;
	margin: 2em 0 max(2.5em, min(4vw, 3em));
	padding: 1em;
}
.optionbox-head{
	margin: 0 0 14px;
	font-size: max(17px, min(2.2vw, 18px));
	font-weight: 700;
}
.option-tag{
	margin-right: 8px;
}
.option-tag span{
	background: var(--color-kakenhi);
	color: #fff;
	padding: 1px 6px 3px;
	font-size: 85%;
	border-radius: 3px;
	position: relative;
	top: -1px;
}
.option-box figure{
	margin: 1.2em 0;
}
.option-box p{
	margin-bottom: 0;
}
.highlight{
	display: grid;
	justify-content: center;
	font-weight: 700;
	font-size: 110%;
}

.seminar-wrap .inquiry{
	margin-top: 2em;
}
.seminar-wrap .company-name{
	font-weight: 700;
	font-size: max(15px, min(2vw,17px));
	margin-bottom: 0;
}
.inquiry p:not([class]){
	font-size: 14px;
}

/* 過去参加者の声 */
.seminar-wrap .nav-tabs>li.active>a[href*="event_report"],
#event_report .head4 span{
	background: #fff;
}

#event_report{
	margin: 0;
	padding: max(2em, min(5vw,4em)) 0 0;
	background: #fff;
}

#event_report>div{
	padding: 0 max(15px, min(5vw,45px));
}
#event_report>div:last-of-type{
	padding-bottom: max(15px, min(5vw,45px));
}

/* よくあるお問い合わせ */
#event_faq_section h3{
	font-weight: 700;
	font-size: max(25px, min(3.5vw, 34px));
	margin: 0;
	margin-bottom: 0.8em;
	font-family: var(--font-notoserif);
}

#event_faq_section .head4{
	margin-bottom: max(20px, min(3vw,30px));
}

#event_faq_section .head-q{
	font-weight: 700;
	font-size: max(17px, min(2.5vw,21px));
	text-indent: -1em;
	margin-left: calc(1em + 6px);
}
#event_faq_section .head-q::before{
	content: "";
	border-radius: 100%;
	width: max(17px, min(2.5vw, 21px));
	height: max(17px, min(2.5vw, 21px));
	background-color: var(--color-kakenhi);
	display: inline-block;
	position: relative;
	top: 2px;
	left: -6px;
}

div .head-q:not(:first-of-type){
	margin-top: 1.8em;
}

@media (min-width: 641px){
	.head4+div,
	.head4+ul:not(:root){
		margin-left: 20px;
	}

	#event_faq_section .head4+div{
		margin-left: 28px;
	}
	#event_faq_section .head-q{
		margin-left: calc(1em - 20px);
	}
}

@media (max-width: 767px){
	.seminar-wrap .tab-content{
		display: block;
	}

	.seminar-plan{
		grid-template-columns: auto;
	}

	.optionbox-head{
		display: grid;
    grid-template-columns: auto;
    justify-content: flex-start;
    gap: 5px;
	}

	.figure-wrap {
		overflow-x: scroll;
	}
	.figure-wrap figure::before{
		content: '\27A1\6A2A\30B9\30AF\30ED\30FC\30EB\3067\304D\307E\3059';
		color: #999;
		font-size: 12px;
		margin-bottom: 5px;
		display: block;
	}

	.figure-wrap img {
		width: 700px;
		max-width: none;
	}

	.option-box {
		width: auto;
	}
}

@media (max-width: 640px){
	.seminar-wrap .registration-button{
		margin-top: calc(2em - 140px);
    padding-top: 140px;
	}
}

@media (max-width: 540px){
	.seminar-wrap .seminar-title{
		margin: .8em calc(50% - 50vw) 1em;
	}

	.seminar-wrap .nav-tabs,
	.seminar-wrap .tab-content{
		margin-left: -20px;
    margin-right: -20px;
	}

	.seminar-wrap .nav-tabs{
		display: flex;
	}

	.seminar-wrap .nav-tabs>li {
    margin-bottom: -2px;
	}

	.seminar-wrap .nav-tabs>li>a{
		width: 33.3vw;
		padding: 7px 4px;
	}

	#event_summary,
	#event_faq{
		padding: 15px;
		padding-top: 30px;
	}

	.seminar-wrap .about-plan{
		border-width: 5px;
	}

	.seminar-wrap .registration-button .button{
		width: 240px;
		height: 55px;
	}
}


/* 申請書の書き方
--------------------------------- */

.form-section .page-head-form{
	margin-bottom: max(20px, min(3.5vw, 35px));
	font-size: max(28px, min(5.5vw,50px));
	font-weight: 700;
	margin-top: 1.2em;
	color: var(--color-kakenhi);
	display: flex;
	align-items: center;
}
.form-section .page-head-form .tag{
	font-size: max(14px, min(2.5vw, 24px));
	background: var(--color-kakenhi);
	color: #fff;
	padding: max(2px, min(.5vw, 3px)) max(14px, min(2.5vw, 22px));
	border-radius: 50px;
	margin-right: max(10px, min(2.5vw, 20px));
	height: max(26px, min(4.5vw, 41px));
}

.form-intro{
	line-height: 1.8;
	font-size: max(14px, min(2vw, 16px));
}

.form-wrap{
	margin-left: max(0px, min(5vw, 80px));
	gap: max(20px, min(3.5vw,40px));
	margin-top: max(40px, min(4vw,50px));
}

.form-wrap a{
	gap: 0;
	grid-template-columns: auto;
	transform: translate(0, 0);
	box-shadow: 0px 0px var(--color-kakenhi);
}

.form-wrap a .seminar-title{
	font-size: max(18px, min(3vw,28px));
	color: var(--color-kakenhi);
	margin-bottom: 0;
	position: relative;
	padding-left: max(30px, min(4.5vw,42px));
}
.form-wrap a .seminar-title::before {
	content: '';
	left: 0;
	top: 50%;
	border-left: max(19px, min(2.5vw,25px)) solid var(--color-kakenhi);
	border-top: max(11px, min(2.5vw,15px)) solid transparent;
	border-bottom: max(11px, min(2.5vw,15px)) solid transparent;
	background: transparent;
	transition: all .3s;
	position: absolute;
	transform: translateY(-50%);
}

.form-wrap .date{
	font-weight: 400;
	color: #2c2c2c;
	font-size: max(14px, min(2vw, 16px));
	display: inline-block;
}

.form-wrap .archive-item{
	min-height: max(80px, min(9vw,90px));
	padding: 10px max(20px, min(3vw,30px));
}

.plan-wrap section .ex-box{
	background: #f7f7f7;
	padding: 1em max(1em, min(2vw, 1.5em));
}
.plan-wrap section .ex-txt{
	font-family: var(--font-rounded);
	font-weight: 500;
	line-height: 2;
	font-size: max(15px, min(2vw, 17px));
	}
.plan-wrap section .ex-txt:last-of-type{
	margin-bottom: 0;
}

/* .redpen-intro::before,
.redpen-intro::after{
	content: '';
	width: 80px;
	height: 80px;
	position: absolute;
	display: inline-block;
}
.redpen-intro::before{
	border-left: solid 2px #cacaca;
	border-top: solid 2px #cacaca;
	top: 0;
	left: 0;
}
.redpen-intro::after{
	border-right: solid 2px #cacaca;
	border-bottom: solid 2px #cacaca;
	bottom: 0;
	right: 0;
} */

@media (max-width: 540px){
	.form-wrap{
		margin-left: 0;
	}

	.form-wrap .archive-item{
		padding-right: 15px;
	}
}


/* 先生のプロフィール
--------------------------------- */
.author-profile-box{
	display: grid;
	grid-template-columns: 1fr max(100px, min(10vw,130px));
	max-width: 515px;
	gap: max(15px, min(2vw, 25px));
	margin: 25px auto;
	border: 1px solid #898989;
	padding: 15px max(15px, min(2.5vw,20px));
	border-radius: 3px;
}
.author-profile-box .name{
	font-size: max(18px, min(2.5vw, 22px));
	font-weight: 700;
	margin: 0 0 6px;
	line-height: 1;
}
.author-profile-box .of{
	font-size: max(11px, min(2vw, 12px));
}
.author-profile-box .intro{
	font-size: max(12px, min(2vw, 14px));
	line-height: 1.8;
	margin-bottom: 0;
}


/* Onlineコンテンツ
--------------------------------- */
.online-wrap{
	margin-left: max(0px, min(5vw, 70px));
	margin-bottom: -1em;
	margin-top: max(30px, min(4vw,50px));
}
.online-wrap .archive-item{
	padding: max(15px, min(2.5vw,20px)) max(20px, min(3vw,30px));
}
.online-wrap a .seminar-title{
	padding-left: 0;
	margin-bottom: max(15px, min(2.5vw, 25px));
	line-height: 1.5;
}
.online-wrap a .seminar-title::before{
	content: none;
}
.online-wrap a .seminar-title .underline{
	border-bottom: 1px solid;
	padding-bottom: max(2px, min(.5vw, 5px));
}
.online-wrap p{
	margin: 0;
	line-height: 1.8;
	font-size: max(14px, min(2vw, 16px));
}
.online-wrap .preparing{
	background: rgb(233 238 240/ 65%);
	pointer-events: none;
}
.online-wrap .preparing .seminar-title {
	color: rgb(54 84 146/ 65%);
	margin-bottom: max(5px, min(1.5vw, 10px));
}
.online-wrap .preparing p{
	color: rgb(0 0 0/ 65%);
}

.plan-wrap h3.contents-h3:not(:root){
	margin-top: 2.6em;
	margin-left: -.5em;
	color: var(--color-kakenhi);
	background: #e9eef0;
	padding: 12px .7em 12px 36px;
	margin-bottom: 1em;
	border-radius: max(7px, min(1.5vw, 10px));
	position: relative;
}
.contents-h3::before {
	position: absolute;
	top: 25%;
	left: 15px;
	width: 6px;
	height: 50%;
	content: '';
	opacity: .2;
	-ms-filter: "alpha(opacity=20)";
	border-radius: 3px;
	background: #365492;
}
.plan-wrap h3.contents-h3 small{
	color: #333;
	font-size: medium;
}


@media (max-width: 540px){
	.online-wrap {
    margin-left: 0;
	}
}


/* 構成案
--------------------------------- */
.plan-wrap section p,
.plan-wrap ul{
	font-size: max(14px, min(2vw, 16px));
	line-height: 1.8;
}

.plan-head:not(:root){
	font-size: max(21px, min(3.5vw, 35px));
	font-weight: 300;
	margin: max(45px, min(6.5vw, 65px)) 0 max(30px, min(4vw,40px));
	line-height: 1.5;
}
.plan-head .txt{
	background: #fff;
	padding-right: 15px;
	align-items: baseline;
}
.plan-head .date{
	font-size: max(12px, min(2vw,14px));
	display: inline-block;
}

.plan-author:not(:root){
	text-align: right;
	margin-bottom: max(30px, min(4vw,40px));
	line-height: 1.6;
}
.plan-author .name{
	font-size: max(18px, min(2.5vw, 20px));
	margin-left: 15px;
	display: inline-block;
}

.plan-list{
	list-style-type: none;
	padding-left: 15px;
	margin-top: 1.6em;
}
.plan-list>li{
	text-indent: -0.2em;
	margin-left: 0.2em;
}
.plan-list>li::before {
	content: "";
	border-radius: 100%;
	width: 3px;
	height: 3px;
	background-color: #333;
	display: inline-block;
	position: relative;
	top: -5px;
	left: -11px;
	margin-right: -4px;
}

.plan-list>li:has(a.active){
	display: none;
}

.qa-list {
	margin-bottom: 1em !important;
}

.qa-list>li {
	margin-left: 3em !important;
}

.qa-list-ondemand>li {
	margin-left: 1em !important;
}

.qa-p span {
	display: inline-block;
	margin-left: 1em !important;
}

.qa-panel {
	font-size: smaller;
	margin-left: 4em;
}

.qa-panel-ondemand {
	margin-left: 1em;
}

.qa-block {
	margin-left: 2em;
}

@media (max-width: 575.98px) {
	.qa-block {
		margin-left: 1em;
	}
}

.movieblock {
	line-height: 1.8;
	font-size: max(14px, min(2vw, 16px));
}

.contents-wrap mark{
	background: linear-gradient(transparent 70%, #faee6c 70%);
	padding-bottom: 4px;
	color: #333;
	padding: 0px 4px;
}

.basic-research-data{
	display: grid;
	gap: max(20px, min(6vw,60px));
	margin: max(40px, min(6vw,60px)) 0 0;
}

.plan-wrap .author-profile-box{
	margin-top: max(50px, min(9vw,80px));
}

.basic-research-data img{
	border: 1px solid #808080;
}

.plan-wrap .schedule-table td{
	text-align: left;
}

.plan-wrap h3{
	font-weight: 700;
	font-size: max(18px, min(2.5vw, 24px));
	text-indent: -1.6em;
	margin-left: 1.6em;
	margin-top: 2em;
	margin-bottom: .8em;
}
.plan-wrap h3.no-num,
.plan-wrap h3.others{
	text-indent: 0;
	margin-left: 0;
}
.plan-wrap h3.others{
	font-size: max(16px, min(2.5vw, 18px));
	margin-top: 2.4em;
}
.plan-wrap h3 small{
	font-size: medium;
	color: inherit;
	display: inline-block;
	text-indent: 0;
}

.plan-wrap h4{
		margin-top: 1.5em;
		font-weight: 600;
}

.grant-asterisk{
	margin-top: 4em;
	background: #f7f7f7;
	padding: 1em;
	border: 1px solid #d6d4d4;
	line-height: 1.6;
}
.grant-asterisk p:not(:root){
	margin: 0;
	font-size: max(12px, min(1.5vw, 14px));
	text-indent: -1em;
	margin-left: 1em;
}

.plan-wrap figure img,
.modal-body figure img{
	margin-bottom: 10px;
}
.plan-wrap figcaption,
.modal-body figcaption{
	font-size: max(14px, min(2vw, 16px));
}
.plan-wrap figcaption .caption-head,
.modal-body figure .caption-head{
	font-weight: 500;
	margin: 0;
	line-height: 1.5;
}
.plan-wrap figcaption h5,
.modal-body figure h5{
	font-size: max(13px, min(1.5vw, 14px));
	font-weight: 300;
}

.fig-center{
  margin: 1.5em auto;
  width: 100%;
}
.fig-together {
  width: 100% !important;
  display: grid;
  gap: 20px;
  margin: 1.5em 0;
}
[class^="fig-"] img{
  margin: auto;
}
.clear{
  clear:both;
}

.modal-body figure{
  display: grid;
  justify-content: center;
}

@media (min-width:641px){
.fig-right{
  float: right;
  width: 47%;
  margin: 15px 0 15px 22px;
}
.fig-center {
  margin: 2.5em auto;
  width: 80%;
}

.fig-together{
  grid-template-columns: 1fr 1fr;
}
}

@media (min-width: 641px){
	.basic-research-data img{
		max-width: 80%;
	}
}
@media (max-width: 640px){
	.contents-wrap.plan-wrap section{
	margin-top: 3em;
	}
	.plan-head .txt{
		display: grid;
		/* grid-template-columns: auto auto; */
	}
	.plan-list>li{
	text-indent: 0em;
	margin-left: 0em;
}
}
