@charset "utf-8";
/* CSS Document */



/*----------------------------

色指定

----------------------------*/
body{
	color: #333; /*全体文字色*/
	background: #e2e2e2; /*全体背景*/
}
header{
	background-image: url(../images/nav_bg.jpg);
	background-repeat:repeat-y;
	color: #FFF;
}
header a{
	color: #fff;
	text-decoration:none;
}
.bg_title {
    background: url(images/bg_01.png) repeat rgba(17, 17, 17, 0.28);
}
.bg_01{
	color: #333; /*bg_01文字色*/
	background: url(images/bg_01.png) repeat
		rgba(255,255,255,0.8); /*bg_02内背景*/
}
.bg_02,.content_title::after{ /*タイトルspan内・大見出し後部背景・中見出し背景*/
	color: #fff; /*bg_02文字色*/
	background: url(images/bg_01.png) repeat
		#004010;	/*bg_02内背景*/	
}
.sp_nav_trigger span{
	background: #000;
}
.bg_p {
	background-image:url(../images/i_img01.jpg);
	background-repeat: no-repeat;
	background-attachment:fixed;
	background-size:100% auto;
	background-position:280px 0;
	color:#FFF
}
.bg_r {
	background-image:url(../images/i_img02.jpg);
	background-size:100% auto;
	background-repeat: no-repeat;
	background-attachment:fixed;
	background-position:280px 0
}
@media screen and (max-width:762px){
.nav{
	background: #333;
}
}

/*-------------------------------------------------
---------------------------------------------------
common.yoshida
---------------------------------------------------
-------------------------------------------------*/

/*---------------------------
fonts
----------------------------*/
html{
	font-size: 62.5%;
}

body{
	font-size: 1.4rem;
/*	font-family: 悠ゴシック,"Yu goshick",メイリオ,Meiryo,"Hiragino Mincho ProN",serif; */
	font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','Cambria Math','メイリオ', Meiryo,  serif;
	font-weight: 600;
}
h1,h2,h3{
	font-weight: 600;
}
/*---------------------------
flex
----------------------------*/
.flex{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-content: baseline;
    align-content: baseline;
}
.jc_start{
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-flex-pack: justify;
    -moz-flex-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
}
.jc_center{
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-flex-pack: justify;
    -moz-flex-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    justify-content: center;

}
.jc_space-around{
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-flex-pack: justify;
    -moz-flex-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-around;
    -moz-justify-content: space-around;
    justify-content: space-around;

}
.jc_space-between{
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    -webkit-flex-pack: justify;
    -moz-flex-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    justify-content: space-between;

}
/*---------------------------
size
----------------------------*/
.w960{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
.w570{
	width: 100%;
	max-width: 570px;
	margin: 0 auto;
}
.w100{
	width: 100%;
}
/*---------------------------
パララックス用
----------------------------*/
.slide-left,.slide-right,.slide-bottom,.slide-top,.slide-left-bg,.slide-right-bg,.slide-bottom-bg,.slide-top-bg{
	position: relative;
	opacity: 0;
	transition: 0.5s;
}


/*-------------------------------------------------
---------------------------------------------------
全体
---------------------------------------------------
-------------------------------------------------*/
section{
	margin-bottom:50px;
	margin-left:280px;
	position: relative;
}
.text_box{
	margin-bottom: 30px;
}
.flex img{
	width: auto;
	max-width: 100%;
	height: 100%;
}
body{
	width: 100%;
	overflow-x: hidden;
}
#skrollr-body{
	width: 100%;
	overflow-x: hidden;
	overflow-y: hidden;
}



/*-------------------------------------------------
---------------------------------------------------
header footer
---------------------------------------------------
-------------------------------------------------*/
header{
	height:100%;
	padding: 10px 0;
	position: fixed;
	top: 0;
	left: 0;
	width:280px;
	z-index: 9999;
}
header > div{align-items: baseline;}
#header_blank{height: 80px;}
.logo_area img {margin-right: 10px;}
.logo_area {
	font-size: 2.2rem;
	padding:5%;
}
footer {
	text-align: center;
	margin-top:200px;
	margin-left:280px
}
footer p {
	padding:10px;
}

/*----------------------------------------------------------------------------
******************************************************************************
** global nav
******************************************************************************
----------------------------------------------------------------------------*/
.nav_list {
	display: flex;
	width: 100%;
}
.nav_list img {
	transition: All 0.5s ease;
}
.nav_list img:hover {
	opacity: 0
}
.nav_list a.current img {
	opacity: 0
}
.nav_list>li {
	position: relative;
	z-index: 1000
}
.nav_list>li>a {
	display: block;
	text-align: center
}
.nav_list>li:hover .nav_clist {
	display: block;
	animation: nav_active 1s ease 0s 1 alternate
}
@-webkit-keyframes nav_active {
0% {
opacity:0
}
100% {
opacity:1
}
}
@keyframes nav_active {
0% {
opacity:0
}
100% {
opacity:1
}
}
nav {
	font-size: 1.6rem
}
.main_list {}
.main_list li {
	font-size: 1.8rem;
	text-align:left;
    padding: 5% 0 5% 20%;
    border-bottom: 2px dotted;
    margin: 0 10%;
}
.main_list li:nth-child(1) {
	background-image: url(../images/icon00.jpg);
	background-repeat:no-repeat;
	background-position: 16px 14px;
}
.main_list li:nth-child(2) {
	background-image: url(../images/icon01.png);
	background-repeat:no-repeat;
	background-size:25px auto;
	background-position: 16px 14px;
}
.main_list li:nth-child(3) {
	background-image: url(../images/icon02.png);
	background-repeat:no-repeat;
	background-size:25px auto;
	background-position: 15px 14px;
}
.main_list li:nth-child(4) {
	background-image: url(../images/icon03.png);
	background-repeat:no-repeat;
	background-size:25px auto;
	background-position: 16px 14px;
}
.main_list li:nth-child(5) {
	background-image: url(../images/icon04.png);
	background-repeat:no-repeat;
	background-size:23px auto;
	background-position: 16px 14px;
}
.main_list li:nth-child(6) {
	background-image: url(../images/icon05.png);
	background-repeat:no-repeat;
	background-size:25px auto;
	background-position: 16px 14px;
}
.main_list li:nth-child(7) {
	background-image: url(../images/icon06.png);
	background-repeat:no-repeat;
	background-size:23px auto;
	background-position: 16px 14px;
}


/*-------------------------------------------------
---------------------------------------------------
main_img
---------------------------------------------------
-------------------------------------------------*/
/*main_img フェードイン*/
#main_img {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
#main_img{
	position: relative;
	width: 100%;
}
#main_img img{
	width:100%;
	height: 400px;
    object-fit: cover;
}
#page_title{
	top: 0;
	padding: 40px;
	position: absolute;
}
#page_title h1{
	color:#fff;
	padding:105px 0 105px 10px;
	font-size: 3.2rem;
	text-align:center
}

#page_title h1 span{
	display: block;
	font-size: 2.0rem;
	margin-bottom:5px;
	padding: 10px;
	border-bottom:solid 2px
}
/*-------------------------------------------------
---------------------------------------------------
news
---------------------------------------------------
-------------------------------------------------*/
#news{
	z-index: 100;
}
#news_title{
	font-size:2.0rem;
	padding:10px 70px;
	color: #fff; /*bg_02文字色*/
	background: url(../images/icon01.png) no-repeat, url(../images/bg_title.jpg) no-repeat;	/*bg_02内背景*/
	background-position:22px 10px, 0;
	background-size:30px auto, 100% 100%;
}
#news_title h2{
    padding: calc(100px - 2.2rem) 0;
	text-align: center;
	font-size: 2.2rem;
}
#news_box{
	width: 100%;
	height: 200px;
	padding: 20px 40px;
	border: solid 1px #0A4719;
	overflow-y: scroll;
}
#news_box table{width: 100%;}
#news_box table tr{
	border-bottom: dotted 1px;
	width: 100%;
}
#news_box table tr td,#news_box table tr th{
	padding: 10px;
	vertical-align: top;
}

/*-------------------------------------------------
---------------------------------------------------
profile
---------------------------------------------------
-------------------------------------------------*/
#profile h3{
	font-size: 2.0rem;
	margin-bottom: 20px;
	padding:10px 70px;
	background: url(../images/icon02.png) no-repeat, url(../images/bg_title.jpg) no-repeat;	/*bg_02内背景*/
	background-position:23px 10px, 0;
	background-size:30px auto, 100% 100%;
}

/*-------------------------------------------------
---------------------------------------------------
resaerch & result
---------------------------------------------------
-------------------------------------------------*/
#research h3{
	font-size: 2.0rem;
	margin-bottom: 20px;
	padding:10px 70px;
	background: url(../images/icon03.png) no-repeat, url(../images/bg_title.jpg) no-repeat;	/*bg_02内背景*/
	background-position:22px 10px, 0;
	background-size:30px auto, 100% 100%;
}
#results h3{
	font-size: 2.0rem;
	margin-bottom: 20px;
	padding:10px 70px;
	background: url(../images/icon04.png) no-repeat, url(../images/bg_title.jpg) no-repeat;	/*bg_02内背景*/
	background-position:22px 10px, 0;	
	background-size:30px auto, 100% 100%;
}
#access h3{
	font-size: 2.0rem;
	margin-bottom: 0px;
	padding:10px 70px;
	background: url(../images/icon05.png) no-repeat, url(../images/bg_title.jpg) no-repeat;	/*bg_02内背景*/
	background-position:22px 10px, 0;
	background-size:30px auto, 100% 100%;
}
#links h3{
	font-size: 2.0rem;
	margin-bottom: 0px;
	padding:10px 70px;
	background: url(../images/icon06.png) no-repeat, url(../images/bg_title.jpg) no-repeat;	/*bg_02内背景*/
	background-position:23px 12px, 0;
	background-size:26px auto, auto 100%;	
}

.title_area {
	width:100%;
	max-width:960px;
	margin-bottom:50px
}
.title_area ul {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.title_area ul li {
	border:solid 1px #004010;
	font-size: 1.8rem;
	padding:5px 150px 5px 5px;
	margin-bottom: 20px
}
.title_area ul li a {
	color:#004010
}
.content_title{
	width: 200px;
	height: 200px;
	position: relative;
	margin-left: 10px;
	margin-bottom: 30px;
    font-size: 2.2rem;
    text-align: center;
    padding: 80px 0px;
}
.content_title::after{
	content:"";
	width: 200px;
	height: 200px;
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: -20
}
.content_area{
	max-width:960px
}
.content_area input{
	display: block;
	opacity: 0;
	width: 1px;
	height: 1px
}
.content_area input + div > div.content_box{
	display: block;
	height: 100%;
	max-height: 0px;
	transition: 0.2s;
	overflow-y: hidden;
	opacity: 0;
	padding: 0px 10px
}
.content_area input:checked  + div > div.content_box{
	display: block;
	height: 100%;
	max-height: 100%;
	padding: 10px 10px;
	opacity: 1
}
.content_area input + div label h4::after {
	content:url(../images/dropdown_d.png);
	transition: 0.4s;
	display: inline-block;
	vertical-align:	middle;
	transform:scale(0.5);
	position:absolute;
	right:10px
}
.content_area input:checked + div label h4::after {
	content:url(../images/dropdown_u.png);
	vertical-align:middle;
	transform:scale(0.5);
	position:absolute;
	right:10px
}

h3.sub_title {
	padding: 5px 50px;
	font-size: 2.0rem;
	margin-bottom: 20px
}
.content_area h4 {
	font-size: 1.8rem;
	padding: 5px
}
.content_area img{
	margin: 10px
}
.content_bg{
	margin-bottom: 20px;
}

#links .text_box,#access .text_box{
	padding: 20px
}

/*-------------------------------------------------
---------------------------------------------------
sp
---------------------------------------------------
-------------------------------------------------*/
@media screen and (max-width:762px){
section{
	width: 96%;
	margin: 0 auto 40px auto;
	position:relative;
}
.text_box{padding: 10px;}
section img{ margin: 0 auto 10px auto; display: block}

.logo_area {
	display:none;
}
header {
	background-image:none;
}
.bg_title {
    background: url(images/bg_01.png) repeat #004010eb;
}
.bg_p {
	background-image:url(../images/i_img01.jpg);
	background-repeat: no-repeat;
	background-attachment:fixed;
	background-size:auto 380vh;
	background-position:50% 0;
	color:#FFF
}
.bg_r {
	background-image:url(../images/i_img02.jpg);
	background-size:auto 600vh;
	background-repeat: no-repeat;
	background-attachment:fixed;
	background-position:50% 0;
}
.title_area{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width:960px;
	margin-bottom:0
}
.main_list li:nth-child(1) {
	background-image:none;
}
.main_list li:nth-child(2) {
	background-image:none;
}
.main_list li:nth-child(3) {
	background-image:none;
}
.main_list li:nth-child(4) {
	background-image:none;
}
.main_list li:nth-child(5) {
	background-image:none;
}
.main_list li:nth-child(6) {
	background-image:none;
}
.main_list li:nth-child(7) {
	background-image:none;
}
.nav {
	height: calc(100% + 500px);
	padding-bottom: 500px;
	z-index: 100;
	width: 70%;
	overflow-x: none;
	overflow-y: auto;
	top: 0px;
	right: -70%;
	position: fixed;
	transition: All 0.5s ease;
}
.nav .flex{
	display: block;
}
.nav_list>li>a {
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
	font-size: 1.5rem;
	font-weight: 500;
	display: block;
	padding: 1rem 1.5rem;	
	text-decoration: none;
	position: relative
}
.nav_list>li>a::after {
	content: attr(data-text);
	display: block
}
.nav_list>li>a img {
	display: none
}
.nav_clist>li>a {
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
	display: block;
	font-size: 1.3em;
	padding: 1em 2em;
	text-decoration: none
}
.nav_clist>li>a:hover, .nav_clist>li>a.current {
	background-color: #000;
}
.sp_nav_open {
	right: 0 !important
}
.sp_nav_trigger {
	cursor: pointer;
	z-index: 1000;
	position: fixed !important;
	top: 25px;
	right: 15px;
	margin-top: -5px;
	width: 36px;
	height: 24px
}
.sp_nav_trigger span {
	display: inline-block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	border-radius: 4px;
	transition: all .4s;
	box-sizing: border-box;
}
.sp_nav_trigger span:nth-of-type(1) {
	top: 0;
}
.sp_nav_trigger span:nth-of-type(2) {
	top: 10px
}
.sp_nav_trigger span:nth-of-type(3) {
	bottom: 0
}
.sp_nav_trigger::after {
	position: absolute;
	left: 0;
	bottom: -20px;
	content: 'MENU';
	display: block;
	width: 100%;
	padding-top: 20px;
	font-size: 10px;
	text-decoration: none;
	text-align: center;
	transition: all 0.4s;
	color:#000;
}
.sp_nav_trigger.active::after {
	content: 'CLOSE';
	bottom: -25px;
}
.sp_nav_trigger.active span:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
}
.sp_nav_trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.sp_nav_trigger.active span:nth-of-type(3) {
	transform: translateY(-10px) rotate(45deg);
}
footer {
	margin:100px 0 0 0;
}
.sp_footer {
	text-align:center;
	width:100%;
}
.flex{
	display: block;
}
#main_img img{
	width: 100%;
	height: 200px;
    object-fit: cover;
} 
#page_title{
	top: -10px;
	right: 0;
	padding: 0px; 
	height: auto;
	position: relative;
	width: 100%;
}
#page_title h1 {
    color: #fff;
    text-align: center;
    padding: 5px 0 5px 0px;
    font-size: 2.5rem;
}
#news_title{
	width: 100%;
	height: auto;
}
#news_title h2{
	padding: 10px 0
}
#news_box{
	width: 100%;
	padding: 5px;
}
.title_area,.content_area{
	width: 100%;
}
.content_title{width: calc(100% - 30px);padding: 30px 0px;}.content_title::after{width: 100%}
.content_title,.content_title::after {
	height: 100px;
}
.title_area ul li {
	border:solid 1px #004010;
	font-size: 1.5rem;
	padding:5px 50px 5px 5px;
	margin-bottom: 20px
}
}
