@charset "UTF-8";
/* CSS Document */

.sp { display: block; }
.pc{ display: none;}












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


header{
	height: 72px;
	padding:0px 20px;
}

.header{
	height: 72px;
}

.all-wrap,
.all-wrap02,
.all-wrap03,
.all-wrap04,
.all-wrap-top{
	margin-top: 72px;
}

.all-wrap03{
	padding: 0 20px;
}









/*---------------------------------------------------------------- パンくずメニュー ----------------------------------------------------------------*/

.pankuzu{
	margin: 20px 20px;
}









/*---------------------------------------------------------------- top ----------------------------------------------------------------*/



.top-swiper01-textarea{
	height: auto;
	background: rgba(255,255,255,0);
	position: absolute;
	top: 5%;
	z-index: 2;
	left: auto;
	padding: clamp(1.25rem, 0.341rem + 4.55vw, 3.75rem) clamp(1.25rem, 0.455rem + 3.98vw, 3.438rem);/*20-60 20-55*/
}

.swiper-slide img{
	width: 100%;
}


.top-swiper01-textarea p:nth-of-type(1){
	font-size: clamp(2.688rem, -0.46rem + 15.74vw, 9.375rem);/*43-150-320px-1000px*/
	margin-bottom: clamp(0.625rem, -2.813rem + 5vw, 1.875rem);/*10-30-1100px-1500px*/
}

.top-swiper01-textarea p:nth-of-type(2){
	display: inline-block;
	font-size:clamp(1.5rem, 0.794rem + 3.53vw, 3rem);/*24-48-320px-1000px*/
	padding: 5px 10px;
	margin-bottom: clamp(0.625rem, -4.531rem + 7.5vw, 2.5rem);/*10-40-1100px-1500px*/
}

.top-swiper01-textarea p:nth-of-type(3){
	font-size: clamp(0.875rem, 0.581rem + 1.47vw, 1.5rem);/*14-24-320px-1000px*/
	font-weight: 500;
	line-height: 1,3em;
}


.top-section01{
	margin-bottom: 50px;
}
.top-section01-text{
	text-align: left;
}

.top-section01-link-wrap{
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	grid-gap: 20px;
}



.top-section02{
	padding: 0 20px;
}

.top-h1{
	flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 40px;
}

.top-h1 p:first-of-type{
	margin-bottom: 10px;
}




.top-section03-rink-wrap{
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
}

.top-section03-rink-wrap a{
	margin-bottom: 30px;
	max-width: 500px;
}


.top-section03-rink-wrap a p::before{
	height: 100%;
}








/*---------------------------------------------------------------- 研究開発 ----------------------------------------------------------------*/

.head-img-area-res-onlytext{
	text-shadow: 0px 0px 5px rgba(255, 255, 255, 1);
}










/*---------------------------------------------------------------- 研究所について　laboratory ----------------------------------------------------------------*/

.head-img-area.lab{
	background-image: url("../img/laboratory/head-image-lab-sp.png");
}

.lab-main01{
	margin: 30px auto 60px auto;
	padding: 0 20px;
}

.lab-main01 div{
	flex-direction: column-reverse;
}

.lab-main01 div div{
	margin-bottom: 20px;
}



.lab-main02{
	padding: 30px 20px;
}



.lab-main03{
	margin: 50px auto;
	flex-direction: column-reverse;
	flex-wrap: wrap;
	padding: 0 20px;
}

.lab-main03-r h1{
	padding: 15px 0px;
	font-size: 22px;
	line-height: 1.5em;
	margin-bottom: 10px;
}

.lab-main03-l{
	width: 100%;
	height: 400px;
}

.lab-main03-route{
	padding: 0;
}

@media screen and (max-width:800px){
	.lab-main03-route-wrap{
	flex-direction: column;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 0;
}
	
	.lab-main03-route-wrap div{
		align-items: flex-start;
		margin-bottom: 20px;
	}
	
	.lab-main03-route-wrap div:nth-of-type(2){
		align-items: center;
	}
}








/*---------------------------------------------------------------- 沿革　histry ----------------------------------------------------------------*/

.histry-main01{
	padding: 0 20px;
}

.histry-wrap{
	overflow-x: scroll;
}

.histry-wrap table{
	white-space: nowrap;
}

.histry-wrap table th{
	text-align: left;
}

.histry-wrap table td{
	padding-left: 10px;
}
.histry-wrap table td.double{
	padding-left: 10px;
}


/*---------------------------------------------------------------- ニュース　news ----------------------------------------------------------------*/

.news-wrap{
	padding: 0 20px;
}

.news-contents{
	padding: 0 20px;
}

.news-contents-inner{
	display: block;
}






/*---------------------------------------------------------------- 設備紹介　equipment ----------------------------------------------------------------*/
.equ-title{
	padding: 0 20px;
}
.equ-wrap{
	padding: 0 20px;
}

.equ-img{
	justify-content: flex-start;
}







/*---------------------------------------------------------------- 学会発表一覧　presentations ----------------------------------------------------------------*/
.head-img-area.ach{
	background-image:url("../img/achievements/head-image-ach-sp.png");
}

.pre-wrap{
	padding: 0 20px;
}

.pre-table-wrap{
	overflow-x: scroll;
	
}

.pre-table-wrap table th,
.pre-table-wrap table td{
	padding: 10px 20px;
}
.pre-table-wrap table td:nth-of-type(1){
	min-width: 5em;
}
.pre-table-wrap table td:nth-of-type(2),
.pre-table-wrap table td:nth-of-type(3),
.pre-table-wrap table td:nth-of-type(4){
	min-width: 300px;
	padding-right: 1em;
}
.pre-table-wrap table td:nth-of-type(5),
.pre-table-wrap table td:nth-of-type(6){
	min-width: 5em;
	padding: 20px 0;
}



/*---------------------------------------------------------------- 受賞歴　AWARDS ----------------------------------------------------------------*/

.awa-wrap{
	padding: 0 20px;
}

.awa-item-r p:nth-of-type(1) span{
	margin-left: 0em;
}

.awa-table-wrap{
	overflow-x: scroll;
}

.awa-table-wrap table{
	white-space: nowrap;
}




/*---------------------------------------------------------------- 製品・ソリューション ----------------------------------------------------------------*/
.res-head-area{
	background-image: url("../img/research/head-image-res-sp.png");
	background-position: center right 50%;
}


.head-image-category div:last-of-type{
	max-width: 100%;
}


.pro-wrap01,
.pro-wrap02{
	padding: 0 20px;
}

.pro-wrap01{
	display: flex;
	flex-direction: column;
}

.res-top-rink-wrap{
	padding: 0 20px;
}

.res-top-rink-back{
	position: static;
	background-image: linear-gradient(0deg, #f1f7f8 50%, #ffffff 50%);
	padding-top: 30px;
	padding-bottom: 50px;
}

.res-top-rink-wrap{
	position: static;
	top: auto;
	width: 100%;
	display: block;
}



/*-------------------category 01-------------------*/

.head-image-category{
	padding: 30px 0px 30px 20px;
	background: url("../img/research/head-image-category01-sp.png") no-repeat center center /cover;
}

.head-image-category p{
	margin-bottom: 40px;
}

.head-image-category.category01 div:last-of-type{
	max-width: 100%;
	margin-left: auto;
	overflow: visible;
	padding-left: 30%;
}


.head-image-category a{
	padding: 5px 10px 5px 4em;
	margin-right: auto;
	 text-indent: -2em;
}

.head-image-category.category01 a{
	background-image: linear-gradient(110deg, transparent 20px, #4ca480 20px 100%);
}


.category-title div{
	display: block;
}


.category-title p{
	padding: 20px;
}

.category-wrap{
	flex-wrap: wrap;
	padding: 0 20px;
	margin-bottom: 45px;
}

.category-item-l{
	flex-basis: 100%;
	padding-right: 0px;
	margin-bottom: 20px;
}

.category-item-l p{
	margin-bottom: 10px;
}

.category-item-r{
	flex-basis: 100%;
}























/*---------------------------------------------------------------- ポリシー ----------------------------------------------------------------*/






/*--------------------------------------------------------------------------------------- footer --------------------------------------------------------------------------------------------*/
footer{
	padding: 30px 30px;
	border-top: 5px solid var(--green);
}

.footer-wrap{
	display: block;
	margin-bottom: 30px;
}

.footer-l div{
	max-width: 310px;
	margin-bottom: 10px;
}



.footer-r{
	display: flex;
	justify-content: flex-start;
	column-gap: 20px;
	flex-wrap: wrap;
	margin-top: 50px;
}

.footer-r div:nth-of-type(3){
	margin: 0 auto;
}

.footer-youtube{
	margin: 30px auto ;
}

.footer-r ul li a{
	font-size: 14px;
	margin-bottom: 3px;
	padding-left: 2em;
}

.footer-link-wrap{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 0px;
	grid-gap: 20px;
	align-items: center;
}

