@charset "utf-8";
/* http://jigsaw.w3.org/css-validator/ */

:root{
	--black: #000000;
	--gray:#707070;
	--darkgray:#2E3938;
	--darkgray08:#2E39380D;
	--rightgray:#f4f5f5;
	--white: #ffffff;
	--green: #37AF58;
	--darkgreen:#0a4a21;
	--topgrad:#37af581f;
	--topgrad2:#00aeef1f;
	--h3bg:#2e39381a;
}

/* body */
html,
body{
	margin: 0;
	padding: 0;
	word-break: break-all;
	-webkit-text-size-adjust: 100%;
	color: var(--black);
    box-sizing: border-box;
	line-height: 1.8em;
}
*{
    box-sizing: border-box;
	position: relative;
}
a{
	transition: 0.3s;
}

body #container
{
	font-family: sans-serif;
	background-color: var(--white);
}
u{
	text-decoration: none;
	background: linear-gradient(transparent 70%, #EAD67980 0);
	border-bottom: 1px solid #EAD67980;
}
ul li::marker{
	/*color: var(--green);*/
}

img,
iframe,
figure
{
	max-width: 100%;
}
img
{
	height: auto;
	border: none;
}
#content strong{
	color: #008926;
}

.w1000,
#content{
	width: 100%;
	max-width: 1040px;
	padding: 0 20px;
	margin: 0 auto;
}
.align-right,.fr,.rd{
	float: right;
	margin: 0 0 2rem 2rem;
}
.align-left,.fl,.ld{
	float: left;
	margin: 0 2rem 2rem 0;
}
.nd{
	display: none;
}
.flex{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.skip{
	position: absolute;
	left: -9000px;
}
.center{
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.editlink{
	position: absolute;
	bottom: 0;
	right: 0;
}
.btnlink{
	background: var(--darkgray);
	color: var(--white);
	text-decoration: none;
	display: inline-block;
	padding: 10px 25px 10px 15px;
}
.btnlink:hover{
	background: var(--gray);
}
.btnlink::before{
	content: '';
	display: inline-block;
	height: 1rem;
	width: 1rem;
	transform: translateY(3px);
	background-image: url('../images/linkicon-g.png');
	background-size: contain;
	background-repeat: no-repeat;
}
nav ul{
	display: flex;
	justify-content: flex-end;
	list-style: none;
	padding: 0;
	margin: 0;
}

@media only screen and  (max-width:980px) {
nav ul{
	justify-content: center;
}
}

/* container */

.globalbar{
	background: var(--darkgray);
}
.globalbar a{
	color: var(--white);
	display: block;
	text-decoration: none;
	padding: 5px 0;
	font-size: 90%;
}
.globalbar a:hover{
	text-decoration: underline;
}
.globalbar ul{
	justify-content: flex-end;
	gap: 20px;
}
.globalbar a::before{
	content: '';
	display: inline-block;
	height: 1rem;
	width: 1rem;
	transform: translateY(3px);
	background-image: url('../images/linkicon-w.png');
	background-size: contain;
	background-repeat: no-repeat;
}

/* header */
#site-header {
	padding:  0;
	background-color: #fff;
}

/*20251215 edit*/
#logo{
	/*width: 375px;*/
	width:35%;
	margin: 0;
}
/*20251215 edit*/

#logo img{
	display: block;
	margin: 0;
}

/*20251215 edit*/
.rightblock{
	text-align: right !important;
	padding-top: 1rem;
	width:65%;
}
@media only screen and  (max-width:980px) {
	.rightblock{
	width:100%;
	text-align: left !important;
}
}
/*20251215 edit*/

header input[type=text]{
	padding: 5px;
}
header button{
	padding: 5px 15px;
	background: var(--darkgray);
	border: 1px solid var(--darkgray);
	color: var(--white);
	font-family: 'Lato', sans-serif;
}
header button:hover{
	background: var(--gray);
}

/* mainmenu */
#mainmenu .menu{
	gap: 2rem;
	margin: 0.5rem 0 0;
}
.blogid_48 #mainmenu .menu{
	gap: 1rem;
}
#mainmenu .menu>li{
	display: block;
}
#mainmenu .menu>li>a{
	padding-bottom: 20px;
	font-family: 'Lato', sans-serif;
}
#mainmenu .menu>li>a>span::after{
	transition: 0.3s;
	content: '';
	position: absolute;
	bottom: -15px;
	left: 0;
	height: 5px;
	width: 100%;
	opacity: 0;
	background: linear-gradient(to right,#3cb15d,#01aeec);
}
#mainmenu .menu>li:hover>a>span::after,
#mainmenu .menu>li.current-menu-item>a>span::after,
#mainmenu .menu>li.current-menu-parent>a>span::after,
.single-newsletter #mainmenu .menu>li.menu-item-77>a>span::after{
	opacity: 1;
}
ul.sub-menu{
	position: absolute;
	opacity: 0;
	z-index: -1;
	right: 0;
	flex-direction: column;
	text-align: left;
	gap: 5px;
	padding: 10px 0;
	background: var(--rightgray);
}
#mainmenu a{
	padding: 5px 10px;
	display: block;
	text-decoration: none;
	color: #000;
	white-space: nowrap;
}


li:hover ul.sub-menu{
	opacity: 1;
	z-index: 10;
}
.sub-menu a{
	padding: 0 0.5rem;
	line-height: 140%;
	justify-content: flex-start;
	align-items: baseline;
}
.sub-menu a:hover{
	background: var(--white);
}
.sub-menu span::before{
	content: '';
	display: inline-block;
	height: 1rem;
	width: 1rem;
	transform: translateY(3px);
	background-image: url('../images/linkicon-g.png');
	background-size: contain;
	background-repeat: no-repeat;
}

.home #mainvisual{
	padding-top: 33.64%;
	height: auto;
	background-image: url('../images/herobg.png');
}

@media all and (min-width: 1280px){
	.home #mainvisual{
		height: 430px;
		padding: 0;
		background-position: center bottom;
		background-repeat: no-repeat;
		background-color: #fff;
		background-size: contain;
	}

}
.home.blogid_48 #mainvisual,
#mainvisual{
	background-color: #0a4a21;
	width: 100%;
	height: 150px;
	background-size: cover;
	background-position: center;
	background-image: url('../images/contentbg.png');
	display: flex;
	align-items: center;
	padding-top: 0;
	justify-content: center;
	flex-wrap: wrap;
	font-family: 'Lato', sans-serif;
}
#mainvisual .flex{
	color: var(--white);
	height: 100%;
	margin: 0 auto;
	justify-content: center;
	font-weight: bold;
}
#breadcrumbs{
	font-size: 0.9rem;
	margin: 0.5rem auto 0;
	padding: 0 20px;
}

/* main_column */

/* home */
section{
	padding: 40px 0;
}
section h2:first-of-type{
	margin: 0 auto 20px;
}
.home section h2{
	font-size: 2em;
}
.home #information h2{
	text-align: center;
}
#information ul{
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid #ccc;
}
#information li{
	border-bottom: 1px solid #ccc;
	padding: 15px 0;
}
#information li>*{
	display: block;
}
#whoweare{
	background: transparent linear-gradient(90deg, var(--topgrad) 0%, var(--topgrad2) 100%) 0% 0% no-repeat padding-box;
}
#whoweare h2{
	text-align: center;
}
#whoweare p{
	max-width: 640px;
	margin-left:auto;
	margin-right:auto;
}
#newsletter h2{
	text-align: center;
}
#newsletter .flex{
	flex-wrap: wrap;
	align-items: flex-start;
}
#newsletter .imgbox{
	width: 360px;
	padding-top: calc(360px * 0.778);
}
#newsletter .imgbox img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#newsletter .txtbox{
	width: calc(100% - 400px);
}

#otherlinks{
	background: var(--darkgray08);
}
#otherlinks .flex{
	justify-content: center;
	gap:20px;
}
#otherlinks .flex .otherbox{
	width: 360px;
	padding: 0;
	box-shadow: 0px 0px 6px #0000001A;
}
.otherbox strong{
	color: var(--black);
	font-weight: normal;
	display: block;
	margin: 10px 1rem 0;
}
.otherbox a{
	padding: 15px;
	display: block;
	background: var(--white);
	border: 1px solid var(--white);
}
.otherbox a:hover{
	border: 1px solid var(--green);
}
.otherbox img{
	display: block;
}

#otherlinks a{
	text-decoration: none;
}
#otherlinks strong::before{
	content: '';
	display: inline-block;
	height: 1rem;
	width: 1rem;
	transform: translateY(3px);
	background-image: url('../images/linkicon-g.png');
	background-size: contain;
	background-repeat: no-repeat;

}

.memberlist{
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 25px;
	justify-content: flex-start;
	align-items: flex-start;
}
.memberlist .imgbox{
	width: 100%;
	padding-top: 110%;
}
.memberlist .imgbox img{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.memberlist::before,
.memberlist::after{
	width: calc((100% - 100px) / 5);
	content: '';
	display: block;
	order: 1;
}
.memberlist li{
	width: calc((100% - 100px) / 5);
	order: 0;
}
.memberlist li div{
	max-width: 100%;
	word-wrap: break-word;
	overflow-wrap: break-word;
	word-break: break-all;
	font-size: 90%;
}
.appointment{
	color: #008926;
	margin: 1rem auto 0;
}
.title{
	font-weight: bold;
	margin: 0 auto 1rem;
}
.affiliation{
	color: var(--gray);
}
.pagination{
	text-align: center;
	display: flex;
	gap: 5px;
	justify-content: center;
	margin: 2rem auto;
}
.pagination>span{
	padding: 0 0.5rem;
	color: var(--darkgray);
	align-self: center;
	border: 1px solid var(--darkgray);
}
.pagination>a{
	padding: 0 0.5rem;
	text-decoration: none;
	color: var(--white);
	background: var(--darkgreen);
	border: 1px solid var(--darkgreen);
}
.pagination>a:hover{
	background: var(--green);
}




/* footer */
.home #site-footer{
	margin-top: 0;
}
#site-footer {
	padding:1rem 0 0;
	border-top: 1px solid var(--black);
	text-align: center;
	margin-top: 0rem;
	background-color: #fff;
}
#footlogo{
	margin: 0 auto;
}
#footlogo img{
	display: block;
	width: 375px;
	margin: 0 auto;
}
#footmenu{
	background: var(--darkgray);
}
#footmenu ul{
	padding: 5px 0;
	margin: 0 auto;
	justify-content: center;
}
#footmenu li{
	width: fit-content;
	padding: 0 20px;
}
#footmenu li:not(:first-child){
	border-left: 1px solid var(--white);
}
#footmenu a{
	color: var(--white);
	text-decoration: none;
}
#footmenu a:hover{
	text-decoration: underline;

}
h1,h2,h3,h4,h5,h6{
	font-family: 'Lato', sans-serif;
}
/* content */
#content h2{
	background: left center no-repeat url('../images/h2bg.png');
	background-size:32px 48px;
	border-bottom: 1px solid #ccc;
	padding: 1rem 45px;
	margin: 2rem auto;
}
#content h3{
	margin: 2rem auto 1rem;
	padding: 0.5rem 1rem;
	border-left: 5px solid var(--green);
}
#content h4{
	margin: 2rem auto 1rem;
	padding: 0.5rem 1rem;
	border-left: 5px solid #2e39381a;
}
.archivelist,
.archivelist li{
	list-style: none;
	margin: 0 auto;
	padding: 0;
}
.archivelist a{
	display: block;
	color: var(--black);
	padding: 1rem ;
	background: var(--darkgray08);
	border: 2px solid var(--white);
	margin: 10px auto;
	text-decoration: none;
}
.archivelist a:hover{
	background: var(--white);
	border: 2px solid var(--darkgray08);

}
.archivelist a::before{
	content: '';
	display: inline-block;
	height: 1rem;
	width: 1rem;
	transform: translateY(3px);
	background-image: url('../images/linkicon-g.png');
	background-size: contain;
	background-repeat: no-repeat;
}
/*iframe*/
.googlemap{
	width: 100%;
	padding-top: 65.25%;
}
.googlemap iframe{
	border: none;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
}

/*table*/
table{
	width: 100%;
	border-collapse: collapse;
	border-bottom: 1px solid #e3e5e5;
}
thead th,
tfoot td{
	background: var(--darkgray08);
}
th,td{
	border-top: 1px solid #e3e5e5;
	text-align: left;
	vertical-align: top;
	padding: 0.5rem 1rem;
}
.researchgroup td:first-child{
	min-width: 12em;
}
.newsletterlist ul{
	background: var(--rightgray);
	padding: 0.5rem 1rem;
}
.newsletterlist li{
	display: inline-block;
	padding-right: 1rem;
}
.nllist{
	width: 48%;
}

.jpbox{
	align-items: flex-start;
	justify-content: space-between;
}
.jpbox>*{
	width: 195px;
}
.jpbox figure img{
	width: 100%;
}
.jpbox>.txtbox{
	width: calc(100% - 225px);
}


/* clearfix */
#mainmenu::after,
#site-header::after,
#site-content::after,
#site-footer::after,
#content::after
{
    clear: both;
    content: '';
    display: block;
}


/* for wp */
.aligncenter
{
	display: block;
	margin: 0 auto 1rem;
}
.alignleft
{
	text-align: left;
	margin: 0 1rem 1rem 0;
}
.alignright
{
	text-align: right;
	margin: 0 0 1rem 1rem;
}
img.alignleft
{
	float: left;
	margin: 0 1rem 1rem 0;
}
img.alignright
{
	float: right;
	margin: 0 0 1rem 1rem;
}
ul{
	padding-left: 1.25rem;
}
ol{
	padding-left: 2.25rem;
}

/* メディアクエリ */


@media all and (min-width: 640px)
{
	.sp
	{
		display: none !important;
	}
}

@media all and (max-width: 640px)
{
	.pc
	{
			display: none !important;
	}
	#mainvisual{
		transform: translateY(-1px);}
	.home #mainvisual{
		padding-top: 64%;
		background-image: url('../images/herobg_sp.png');
	}
	header #logo{
		max-width: calc(75vw - 20px);
		margin: 10px 20px;
	}
	header .w1000{
		padding: 0;
	}
	header .flex{
		align-items: stretch;
	}
	header .flex>*{
		display: flex;
		align-items: center;
	}
	#ocbt{
		color: var(--white);
		justify-content: center;
		width: 18vw;
		text-decoration: none;
		font-size: max(3vw,0.7rem);
		background: var(--darkgray);
		padding: 0.5rem;
		text-align: center;
		flex-direction: column;
	}
	#ocbt span{
		margin: 4vw auto;
	}
	#ocbt span,#ocbt span::before,#ocbt span::after{
		transform-origin:center;
		content: "";
		display: block;
		height: 3px;
		width: 8vw;
		border-radius: 3px;
		background-color: var(--white);
		transition: all 0.4s ease;
	}
	#ocbt span::before{transform: translateY(-10px);}
	#ocbt span::after{transform: translateY(8px);}
	.menuon #ocbt span{
		background: transparent;
	}
	.menuon #ocbt span::before{transform: rotate(45deg) translateY(1px);}
	.menuon #ocbt span::after{transform: rotate(-45deg) translateY(-3px);}

	header .rightblock{
		display: block;
		text-align: left;
		width: calc(100% + 20px);
		padding: 0 20px;
		height: 0;
		background: var(--rightgray);
		max-width: calc(100% + 20px);
	}
	header.menuon .rightblock{
		height: auto;
		padding: 20px;
	}
	#mainmenu{
		display: none;
	}
	.menuon #mainmenu{
		display: block;
	}
	header form{
		display: flex;
		justify-content: space-between;
		padding-bottom: 10px;
		border-bottom: 1px dotted var(--darkgreen);
	}
	header button{
		width: 75px;
	}
	header label{
		width: calc(100% - 90px);
	}
	header input[type=text]{
		width: 100%;
	}
	#mainmenu .menu{
		gap: 5px;
		flex-direction: column;
	}
	#mainmenu li{
		background: var(--white);
	}
	#mainmenu .menu > li > a{
		padding-top: 15px;
	}
	#mainmenu .sub-menu{
		display: none !important;
	}
	#newsletter .flex{
		flex-direction: column;
		gap: 1rem;
	}
	#newsletter .flex .txtbox{
		width: 100%;
	}
	#newsletter .flex .imgbox{
		margin: 0 auto;
		max-width: 100%;
		padding-top: 77.8%;
	}
	.jpbox{
		flex-direction: column;
	}
	.jpbox>*{
		margin: 0 auto;
	}
	.jpbox>.txtbox{
		width: 100% !important;
	}
	.memberlist{
		gap: 25px 0;
		justify-content: space-between;
	}
	.memberlist li{
		width: 45%;
	}
	.appointment{
		margin-top: 0.5rem;
	}
	.title{
		margin-bottom: 0.5rem;
	}
}

/* block editor */

.tare-sample-classname
{
	background-color: #900;
	color: var(--white);
	padding: 20px;
	font-size: 150%;
}


/*dw jidaikobo202302*/
.guidelinebox{
	border-top: 1px solid #707070;

}
.guidelinebox p{
	padding: 1rem 0;
	margin: 0 auto;
	display: block;
	clear: both;
	font-weight: bold;
	border-bottom: 1px solid #707070;
}
.guidelinebox p a{
	font-weight: normal;	
}
.guidelinebox img{
	float: left;
	margin: 0 1rem 0;
}
.guidelinebox p::after{
	content: '';
	display: block;
	clear: both;
}
.dwflex{
	list-style: none;
	display: flex;
	margin: 0;
	padding: 0;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 1rem 2rem;
}
.dwflex li{
	width: 300px;
	max-width: calc(50% - 1rem);
}
.dwflex li a{
	font-weight: bold;
}
.dwflex li a .imgbox{
	width: 100%;
	height: 140px;
	background: rgba(0, 174, 239, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0.5rem auto;
}
.dwflex li a .imgbox img{
	transform: scale(50%);
	max-height: 100%;
}
.parent-pageid-40 #mainvisual,
.parent-pageid-231 #mainvisual,
.home.blogid_48 #mainvisual,
.blogid_48 #mainvisual{
	background: url('../images/dwheader.png');
	background-size: cover;
	height: 150px;
}

/* accordion */
.accordion {
  color: black;
  background-color: #f5f5f5;
}

.accordion-body hr {
	border: 5px solid #fff;
	margin: 0;
}

.accordion .container {
  position: relative;
}

.accordion .label {
  position: relative;
  cursor: pointer;
  padding: 10px 35px 10px 11px;
}

.accordion .label::before {
  content: '+';
  color: #699b66;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  font-size: 25px;
}

.accordion .label span::before {
    content: '';
    display: inline-block;
    height: 1rem;
    width: 1rem;
    transform: translateY(3px);
    background-image: url(../images/linkicon-g.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 5px;
}

.accordion .content {
  position: relative;
  background: white;
  overflow: hidden;
  transition: max-height 0.5s ease-out;
  padding-left: 45px;
  font-size: 15px;
}

.accordion .container.active .label::before {
  content: '-';
  font-size: 25px;
  padding-right: 2px;
}