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

*{
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif;
}

body {
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%; /* Safari */
}

html {
  scroll-behavior: smooth;
}


body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
div,th,td{
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;}

h1,h2,h3,h4,h5,h6{font-size:100%;}

p{
	font-size: 15px;
	line-height: 2em;
}

.sp { display: none; }


:root{
	--green:#7FB457;
	--green02: #577E39;
	--orange:#FDA954;
	--max-w:1100px;
	--res-b:#408CB3;
	--res-g:#4CA480;
}

















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


header{
	z-index: 3;
	position: fixed;
	top: 0;
	width: 100%;
	height: 90px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #fff;
	padding:0px 30px;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.header-logo{
	display: block;
	max-width: clamp(9.375rem, 6.534rem + 14.2vw, 17.188rem);/*150-275*/
}

.header-logo img{
	width: 100%;
}


/*-----pc-nav-----*/
.pc-nav{
	background: #fff;
	text-align: center;
}

.pc-nav ul{
	display: flex;
	justify-content: center;
	align-items: center;
}

.pc-nav ul ul{
	display: block;
}


/*見えてるメニューのデザイン*/
.appear{
	display: block;
	position: relative;
	color: var(--blue);
	padding: 7px 0px 7px 0px;
	transition: all .3s;
	font-size: 13px;/*12-14*/
	font-weight: 500;
	margin-right: 20px;
}


.appear::before{
	content: "";
	position: absolute;
	width: 35px;
	height: 2px;
	background-color: var(--green);
	bottom: 0;
	left: 0;
	transition: all 0.3s;
}

.appear:hover::before{
	width: 100%;
}

/*矢印▲
.appear.has-child{
	padding-right: 15px;
}
.appear.has-child::after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 9px solid #555555;
	border-bottom: 0;
	top: calc(50% - 5px);
	right: 0;
	transition: all 0.3s;
}

.appear.has-child:hover::after{
	transform: rotate(180deg);
}
*/



/*隠れてるメニューのデザイン*/

.pc-nav ul li li{
	padding: 0px 0px;
	margin: 0;
}


.pc-nav ul li li a{
	display: block;
	padding: 5px 10px;
}

.pc-nav li.has-child ul li a{
	color: #fff;
	background-color: var(--green);
	font-size: 14px;
	font-weight: 400;
	transition: all 0.5s;
}

.pc-nav li.has-child ul li a:hover,
.pc-nav li.has-child ul li a:active{
	background-color: var(--green02);
}


.pc-nav li.has-child ul{
	position: absolute;
	left: 0;
	top: 50px;
	z-index: 4;
	background-color: var(--green);
	width: 120px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	text-align: left;
}

/*研究開発*/
.has-child .nav-development-pc li:nth-of-type(2) a,
.has-child .nav-development-pc li:nth-of-type(7) a{
	font-weight: 700;
}

.has-child .nav-development-pc li:nth-of-type(3) a,
.has-child .nav-development-pc li:nth-of-type(4) a,
.has-child .nav-development-pc li:nth-of-type(5) a,
.has-child .nav-development-pc li:nth-of-type(6) a,
.has-child .nav-development-pc li:nth-of-type(8) a,
.has-child .nav-development-pc li:nth-of-type(9) a{
	padding-left: 3em;
}


/*隠れてるメニューの幅を他より広くしたい場合.longつける*/
.pc-nav li.long ul{
	width: 310px;
}


.pc-nav li.has-child:hover > ul{
	visibility: visible;
	opacity: 1;
}



/*メールボタンデザイン*/
.pc-mail-button a p{
	position: relative;
	color: #fff;
	background-color: var(--orange);
	padding: 10px 10px 10px 45px;
	transition: all .3s;
}

.pc-mail-button a p::before{
	content: "";
	position: absolute;
	width: 27px;
	height: 18px;
	background-image: url("../img/mail-icon.png");
	background-repeat: no-repeat;
	background-size: cover;
	top: 15px;
	left: 12px;
}

.pc-nav li.pc-mail-button a:hover p{
	background-color: var(--green);
}







/*-----------------------------------sp-nav----------------------------------------*/

.sp-header-logo{
	position: fixed;
	top: 0;
	background-color: #fff;
	z-index: 5;
	width: 100%;
	padding: 15px 0 20px 20px;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.sp-header-logo a{
	display: block;
	width: 200px;
}

.sp-header-logo a img{
	width: 100%;
}

#g-nav{
    position:fixed;
    z-index: 999;
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;
	background:rgba(255,255,255,1);
	transition: all 0.6s;
}


#g-nav.panelactive{
    right: 0;
}

#g-nav.panelactive #g-nav-list{
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul.g-nav-wrap {
    position: absolute;
    z-index: 999;
	width: 100%;
	padding: 70px 0 50px 0;
}


#g-nav li{
    text-align: left;
	
}

#g-nav li a{
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 2px;
    border-radius: 2px;
	background-color: var(--green);
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

.openbtn p{
	position: absolute;
	top: 35px;
	left: 6px;
	font-size: 12px;
	color: var(--green);
	font-family: "Lato", sans-serif;
	font-weight: 700;
}









.sp-nav-title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:14px;
	font-weight: 600;
    font-weight: normal;
    padding: 10px 20px 10px 40px;
    transition: all .5s ease;
	color: var(--green);
}

.sp-nav-title a{
	color: var(--green);
}


.box li a{
	font-size: 0.8em;
	font-weight: 500;
	padding: 5px 10px 5px 3em;
	border-bottom: 1px solid rgba(123,189,52,0.3);
}

.box li a.nav-development-sp{
	padding: 5px 10px 5px 5em;
}


/*アイコンの＋と×*/
.sp-nav-title:not(.not-child)::before,
.sp-nav-title:not(.not-child)::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 1px;
    background-color: var(--green);
    
}
.sp-nav-title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.sp-nav-title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);
}

/*　closeというクラスがついたら形状変化　*/
.sp-nav-title.close::before{
	transform: rotate(45deg);
}

.sp-nav-title.close::after{
	transform: rotate(-45deg);
}


.sp-mail-button a{
	position: relative;
	display: block;
	max-width: 300px;
	margin: 10px auto;
	background-color: var(--green);
	padding: 10px 10px;
	color: #fff;
	text-align: center;
}

.sp-mail-button a::before{
	content: "";
	position: absolute;
	width: 25px;
	height: 25px;
	background: url("../img/mail-icon.png") no-repeat center center /contain;
	top: 11px;
	left: 60px;
}


.box {
    display: none;
}














.all-wrap{
	margin-top: 180px;
	position: relative;
}


.all-wrap02{
	margin-top: 130px;
	position: relative;
}
.all-wrap-top{
	margin-top: 90px;
	position: relative;
}


.all-wrap03{
	max-width: var(--max-w);
	margin: 130px auto 0 auto;
}

.all-wrap04{
	margin-top: 90px;
	z-index: 1;
}



/*---------------------------------------------------------------- 固定ヘッダーリンク pcのみ表示  ----------------------------------------------------------------*/

.head-wrap{
	position: fixed;
	z-index: 2;
	top: 90px;
	width: 100%;
}

.head-title{
	height: 40px;
	display: flex;
	align-items: center;
	background: var(--green);
	width: 100%;
}

.head-title p{
	max-width: var(--max-w);
	width: 100%;
	margin: 0 auto;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
}

.head-link-wrap{
	height: 50px;
	width: 100%;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
	background: #fff;
}

.head-link-wrap ul{
	height: 100%;
	max-width: var(--max-w);
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
}

.head-link-wrap ul li{
	height: 100%;
}

.head-link-wrap ul li a{
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 40px;
	background-image: linear-gradient(0deg, #ebeaea, #ffffff 50%);
	border-right: 1px solid #E4E4E4;
	transition: all .3s;
}
.head-link-wrap ul li a:first-of-type{
	border-left: 1px solid #E4E4E4;
}









/*---------------------------------------------------------------- 各ヘッダーイメージ ----------------------------------------------------------------*/
.head-img-area{
	width: 100%;
	padding: clamp(1.25rem, 0.455rem + 3.98vw, 3.438rem) 20px clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem) 20px;/*20-55 20-40*/
	background-repeat: no-repeat;
	background-size: cover;
}
.head-img-area div{
	position: relative;
	max-width: var(--max-w);
	margin: 0 auto;
	padding-top: 15px;
}
.head-img-area div::before{
	content: "";
	position: absolute;
	width: 200px;
	height: 4px;
	background: var(--green);
	border-top-color: 0;
	top: 0;
	left: 0;
}




.head-img-area-labonlytext{
	font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);/*18-30*/
	margin-bottom: 15px;
	font-weight: 700;
	color: var(--green);
	line-height: 1em;
}

.head-img-area-maintext{
	font-size: clamp(2.188rem, 1.847rem + 1.7vw, 3.125rem);/*35-50*/
	margin-bottom: 30px;
	font-weight: 700;
	color: var(--green);
	line-height: 1em;
}

.head-img-area-subtext{
	font-size: clamp(0.813rem, 0.608rem + 1.02vw, 1.375rem);/*13-22*/
	font-weight: 700;
	color: var(--green);
	line-height: 1em;
}




/*---------------------------------------------------------------- パンくずメニュー ----------------------------------------------------------------*/
.pankuzu{
	max-width: var(--max-w);
	margin: 20px auto;
	font-size: 12px;
}





/*---------------------------------------------------------------- トップページ top ----------------------------------------------------------------*/

.top-swiper01-wrap{
	margin-bottom: 0px;
	position: relative;
}




/*スワイパー01*/
.top-swiper01-wrap .swiper-pagination.swiper-pagination1{
		position: absolute;
	bottom: 0;
	z-index: 2;
}

.swiper-pagination1 .swiper-pagination-bullet{
	background-color: var(--green);
}

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

.top-swiper01-textarea p:nth-of-type(1){
	font-size: clamp(2.688rem, -4.669rem + 10.7vw, 9.375rem);/*43-150-1100px-2100px*/
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	color: var(--green);
	line-height: 1em;
	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.975rem + 3.6vw, 3.75rem);/*24-60-1100px-2100px*/
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	color: #fff;
	background: var(--green);
	line-height: 1em;
	padding: 10px 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(1rem, -0.375rem + 2vw, 1.5rem);/*16-24-1100px-1500px*/
	font-weight: 500;
	line-height: 1,8em;
}







/*セクション01*/
.top-section01{
	background-image: linear-gradient(0deg, #ffffff, #ffffff 25%, #f1f7f8 25% 100%);
	padding: clamp(1.25rem, -0.114rem + 6.82vw, 5rem) 20px;/*20-80*/
}

.top-section01-text{
	max-width: var(--max-w);
	margin: 0 auto 60px auto;
	text-align: center;
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);/*15-18*/
	line-height: 2em;
}

.top-section01-link-wrap{
	max-width: var(--max-w);
	margin: 0 auto;
	display: flex;
	column-gap: 15px;
}

.top-section01-link-wrap a{
	display: block;
	width: 335px;
	height: 215.81px;
	border-radius: 15px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	transition: all 0.3s;
	color: #000;
}
.top-section01-link-wrap a:hover{
	transform: translateY(10px);
}


.top-section01-link-wrap a:nth-of-type(1){
	background: #fff url("../img/top/rink01.png") no-repeat center center / cover;
	padding: 47px 10px 10px 25px;
}
.top-section01-link-wrap a:nth-of-type(2){
	background: #fff url("../img/top/rink02.png") no-repeat center center / cover;
	padding: 60px 10px 10px 25px;
}
.top-section01-link-wrap a:nth-of-type(3){
	background: #fff url("../img/top/rink03.png") no-repeat center center / cover;
	padding: 60px 10px 10px 25px;
}


.top-section01-link-wrap a p:first-of-type span{
	font-size: 18px;
}
.top-section01-link-wrap a p:first-of-type{
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2em;
	margin-bottom: 23px;
}
.top-section01-link-wrap a:first-of-type p:first-of-type{
	margin-bottom: 10px;
}

.top-section01-link-wrap a p:last-of-type{
	font-size: 16px;
	line-height: 1.7em;
}








/*セクション02 スワイパー02*/
.top-section02{
	max-width: var(--max-w);
	margin: 20px auto 50px auto;/*50-70*/
}


.swiper-item02{
	margin-inline: auto;
  max-width: var(--max-w);
  position: relative;
}

/* 前へ次への矢印カスタマイズ */
.swiper-button-prev.swiper-button-prev2,
.swiper-button-next.swiper-button-next2 {
  height: 40px;
  width: 40px;
	opacity: 0.8;
	z-index: 2;
}
/* 前へ次への矢印カスタマイズ */
.swiper-button-prev.swiper-button-prev2::after,
.swiper-button-next.swiper-button-next2::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 40px;
  margin: auto;
  width: 40px;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev.swiper-button-prev2::after {
  background-image: url("../img/top/arrow-l.png");
}
/* 次への矢印カスタマイズ */
.swiper-button-next.swiper-button-next2::after {
  background-image: url("../img/top/arrow-r.png");
}


.swiper-button-prev.swiper-button-prev2 {
  left: -15px;
}
/* 次への矢印 */
.swiper-button-next.swiper-button-next2 {
  right: -15px;
}


.top-swiper02 p:first-of-type{
	font-size: 14px;
	line-height: 1.5em;
	margin: 10px 0;
}

.top-swiper02 p:last-of-type{
	font-size: 11px;
	color: var(--green);
	border-top: 1px solid var(--green);
}











.top-h1{
	display: flex;
	align-items: flex-end;
	margin-bottom: 40px;
}

.top-h1 p:first-of-type{
	font-size: clamp(2.188rem, 1.619rem + 2.84vw, 3.75rem);/*35-60*/
	font-weight: 700;
	position: relative;
	color: var(--green);
	line-height: 1em;
	margin-right: 45px;
}

.top-h1 p:first-of-type::before{
	content: "";
	position: absolute;
	width: 100px;
	height: 6px;
	background: var(--green);
	top: -10px;
	left: 0;
}

.top-h1 p:last-of-type{
	font-size: clamp(0.938rem, 0.824rem + 0.57vw, 1.25rem);/*15-20*/
	font-weight: 500;
	position: relative;
}


a.top-section02-rink-button{
	display: inline-block;
	font-size: 16px;
	color: var(--green);
	border: 1px solid var(--green);
	padding: 5px 10px;
	margin-top: 15px;
	transition: 0.3s;
}

a.top-section02-rink-button:hover{
	color: #fff;
	background: var(--green);
}







/*セクション03*/
.top-section03{
	background: url("../img/top/section03-back.png") no-repeat center center / cover;
	padding: 50px 20px;
}

.top-section03-inner{
	max-width: var(--max-w);
	margin: 0 auto 30px auto;/*30-70*/
}

.top-section03-rink-wrap{
	display: flex;
	column-gap: 10px;
}

.top-section03-rink-wrap a{
	transition: all 0.3s;
}

.top-section03-rink-wrap a:hover{
	transform: translateY(10px);
	opacity: 1;
}


.top-section03-rink-wrap a p{
	position: relative;
	font-size: 16px;
	padding-left: 20px;
	line-height: 1.7em;
	margin-top: 10px;
}

.top-section03-rink-wrap a p::before{
	content: "";
	position: absolute;
	width: 5px;
	height: 52px;
	background: var(--green);
	top: 0;
	left: 0;
}






















































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

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

.lab-main01{
	max-width: var(--max-w);
	margin: 30px auto 60px auto;
}

.lab-main01 h1{
	font-size: clamp(1.438rem, 1.324rem + 0.57vw, 1.75rem);/*23-28*/
	font-weight: 700;
	line-height: 1.7em;
	color: var(--green);
	margin-bottom: 20px;
}

.lab-main01 div{
	display: flex;
	justify-content: space-between;
	column-gap: 50px;
}

.lab-main01 p{
	flex: 1;
}

.lab-main01 div div{
	max-width: 470px;
}



.lab-main02{
	padding: 40px 0;
	background: rgba(127,180,87,0.1);
	/*コンテナ*/
	container-type: inline-size;
    container-name: lab-main02-container;
}

.lab-main02-inner{
	max-width: var(--max-w);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	column-gap: 20px;
}

.lab-main02-inner div:first-of-type{
	max-width: 150px;
	margin: 0 auto 20px auto;
}
.lab-main02-inner div:last-of-type{
	flex: 1;
}

.lab-main02-inner h1{
	font-size: 23px;
	margin-bottom: 15px;
	line-height: 1.5em;
}

@container lab-main02-container (max-width: 520px) {
	.lab-main02-inner{
	flex-direction: column;
		flex-wrap: wrap;
}
}





.lab-main03{
	max-width: var(--max-w);
	margin: 70px auto;
	display: flex;
	justify-content: space-between;
	column-gap: 30px;
}

.lab-main03-l{
	width: 450px;
	border: 1px solid #000;
}






.lab-main03-r h1{
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 15px 20px;
	font-size: 16px;
	font-weight: 600;
	line-height: 2em;
	margin-bottom: 10px;
}

.lab-main03-r h1 span{
	font-size: 14px;
	font-weight: 400;
}


.lab-main03-route{
	font-size: 16px;
	color: var(--green);
	margin-bottom: 10px;
	padding:0 20px;
}

.lab-main03-route-wrap{
	padding: 0 20px;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}

.lab-main03-route-wrap div{
	display: flex;
	align-items: center;
	column-gap: 20px;
}

.traffic-icon{
	padding: 7px 15px;
	width: 60px;
	border-left: 1px solid #000;
	border-right: 1px solid #000;
}

.traffic-text{
	font-size: clamp(0.875rem, 0.83rem + 0.23vw, 1rem);/*14-16*/
	flex: 1;
}

.traffic-icon img{
	width: 100%;
}














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

.histry-main01{
	max-width: var(--max-w);
	margin: 0 auto;
}

.histry-main01 h1{
	font-size: 16px;
	margin-top: 50px;
	margin-bottom: 20px;
}

.histry-wrap{
	margin-bottom: 70px;
}

.histry-wrap table{
	width: 100%;
}

.histry-wrap table tr{
	display: flex;
	align-items: center;
}

.histry-wrap table th{
	font-size: clamp(1.125rem, 1.034rem + 0.45vw, 1.375rem);/*18-22*/
	color: #408CB3;
	font-weight: 700;
	width: clamp(3.75rem, 2.5rem + 6.25vw, 7.188rem);/*60-115*/
	text-align: center;
}

.histry-wrap table td{
	flex: 1;
	display: flex;
	align-items: flex-start;
	column-gap: 1em;
	padding: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem) 30px;/*10-20*/
	border-bottom: 1px solid #5B5B5B;
}
.histry-wrap table td.double{
	padding: 20px 30px 20px 22px;
}

.histry-wrap table tr:first-of-type td{
	border-top: 1px solid #5B5B5B;
}

.histry-wrap table tr:nth-of-type(even) td{
	background: #F8F8F8;
}
















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

.news-wrap{
	max-width: var(--max-w);
	margin: 0 auto;
	display: flex;
	column-gap: 20px;
	flex-wrap: wrap;
	/*コンテナ*/
	container-type: inline-size;
	container-name: news-container;
}


.news-item{
	display: block;
	flex-basis: calc((100% - 60px) /4);
	margin-bottom: 40px;
	cursor: pointer;
	transition: all 0.3s;
}

.news-title{
	font-size: 14px;
	line-height: 1.5em;
	padding: 10px 0;
	border-bottom: 1px solid #000;
	margin-bottom: 10px;
}

.news-date{
	font-size: 12px;
	color: #8B8B8B;
}

@container news-container (max-width: 1000px) {
	.news-item{
	flex-basis: calc((100% - 40px) /3);
	margin-bottom: 40px;
	}
}

@container news-container (max-width: 650px) {
	.news-item{
	flex-basis: calc((100% - 20px) /2);
	margin-bottom: 30px;
	}
}

@container news-container (max-width: 380px) {
	.news-item{
	flex-basis: 100%;
	margin-bottom: 30px;
	}
}


.news-item:hover{
	opacity: 0.7;
}

/*各ニュースページ*/
.news-contents{
	max-width: var(--max-w);
	margin: 50px auto 50px auto;
}

.news-contents h1{
	font-size: clamp(1.25rem, 0.977rem + 1.36vw, 2rem);/*20-32*/
	font-weight: 700;
	color: var(--green);
	line-height: 1.5em;
	border-bottom: 1px solid #000;
	padding-bottom: 15px;
}

.news-contents-data{
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);/*15-18*/
	font-weight: 500;
	text-align: right;
	margin: 10px 0 30px 0;
}


.news-contents-inner{
	display: flex;
	justify-content: space-between;
	column-gap: 50px;
}

.news-contents-inner div{
	flex-basis: 45%;
	margin-bottom: 20px;
}

.news-contents-inner p{
	flex: 1;
	font-size: 15px;
	line-height: 2em;
}

















/*---------------------------------------------------------------- 設備紹介　equipment ----------------------------------------------------------------*/
.equ-title{
	width: 100%;
	background: #F8F8F8;
	margin-bottom: 30px;
}

.equ-title p{
	max-width: var(--max-w);
	height: 100%;
	margin: 0 auto;
}

.equ-title span{
	display: inline-block;
	background: #4CA480;
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);/*24-18*/
	font-weight: 700;
	color: #fff;
	padding: 10px 10px;
}



.equ-wrap{
	max-width: var(--max-w);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	column-gap: 44px;
	margin-bottom: 50px;
	/*コンテナ*/
	container-type: inline-size;
	container-name: equ-container;
}

.equ-item{
	flex-basis: calc((100% - 88px) /3);
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	padding: 30px;
	margin-bottom: 30px;
	
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
}
.equ-item dl{
	margin-bottom: 30px;
}

.equ-item dt{
	font-size: 20px;
	line-height: 1.5em;
	color: var(--green);
	font-weight: 700;
	text-align: center;
	margin-bottom: 20px;
}
.equ-item dt.equ-dt-1line{
	margin-bottom: 60px;
}

.equ-item dd{
	font-size: 15px;
	line-height: 2em;
}


.equ-img{
	display: flex;
	justify-content: space-between;
	column-gap: 10px;
}

.equ-img img{
	width: 134px;
	height: 112px;
	transition: 0.3s;
}

.equ-img a{
	overflow: hidden;
	cursor: zoom-in;
}

.equ-img a:hover img{
	transform: scale(1.1);
	
}



@container equ-container (max-width: 1000px) {
	.equ-item{
	flex-basis: calc((100% - 44px) /2);
	margin-bottom: 30px;
	}
}

@container equ-container (max-width: 780px) {
	.equ-item{
	flex-basis: 100%;
	padding: 30px;
	margin-bottom: 30px;
	}
}


/*モーダルウィンドウ*/

.js-modal{
	display: none;
	height: 100vh;
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	z-index: 3;
}

.modal-bg{
	background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}

.modal-inner{
	max-width: 500px;
}


.modal-inner img{
	position: absolute;
	top:50%;
	left: 50%;
	transform: translate(-50%,-50%);
}



















































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


.pre-wrap{
	max-width: var(--max-w);
	margin: 0 auto;
}


/*タブ*/
.pre-tab{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 50px;
}

.pre-tab li a{
	display: block;
	padding: 5px 15px;
	font-size: 16px;
	color: #707070;
	border-bottom: 1px solid #707070;
	margin-bottom: 20px;
}

.pre-tab li.active a{
	color: var(--green);
	border-top: 1px solid #707070;
	border-right: 1px solid #707070;
	border-left: 1px solid #707070;
	border-bottom: 1px solid #fff;
}



/*テーブル*/
.pre-table-wrap{
	margin-bottom: 50px;
}
.pre-table-wrap table{
	widows: 100%;
	border-collapse: collapse;
}

.pre-table-wrap table tr:nth-of-type(even){
	background: #FAFAFA;
}

.pre-table-wrap table th{
	background: rgba(76,164,128,0.15);
	padding: 15px 0;
}
.pre-table-wrap table th:nth-of-type(1),
.pre-table-wrap table th:nth-of-type(5),
.pre-table-wrap table th:nth-of-type(6){
	text-align: center;
	width: 70px;
}




.pre-table-wrap table td{
	padding: 15px 0;
	border-bottom: 1px solid #707070;
}

.pre-table-wrap table td:nth-of-type(1){
	text-align: center;
	color: var(--green);
}

.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){
	padding-right: 2em;
}



















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

.awa-wrap{
	max-width: var(--max-w);
	margin: 0 auto;
	/*コンテナ*/
	container-type: inline-size;
	container-name: awa-item-container;
}

.awa-wrap h1{
	background: var(--green);
	padding: 10px 15px;
	color: #fff;
	font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);/*18-20*/
	font-weight: 700;
	margin-bottom: clamp(1.875rem, 1.42rem + 2.27vw, 3.125rem);/*30-50*/
}

.awa-item{
	display: flex;
	width: 100%;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	column-gap: 25px;
	padding: 20px;
	margin-bottom: 30px;
}

.awa-item-l{
	flex-basis: 160px;
}
.awa-item-l img{
	width: 100%;
}

.awa-item-r{
	flex: 1;
}

.awa-item-r p:nth-of-type(1){
	font-size: 15px;
	font-weight: 700;
	color: #717070;
	margin-bottom: clamp(0.313rem, 0.199rem + 0.57vw, 0.625rem);/*5-10*/
}

.awa-item-r p:nth-of-type(1) span{
	background: #4CA480;
	font-size: 12px;
	color: #fff;
	padding: clamp(0.313rem, 0.267rem + 0.23vw, 0.438rem) clamp(0.313rem, 0.199rem + 0.57vw, 0.625rem);/*5-7 5-10*/
	margin-left: 1em;
}

.awa-item-r p:nth-of-type(2){
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);/*18-24*/
	font-weight: 700;
	color: #4CA480;
	margin-bottom: 15px;
}

.awa-item-r p:nth-of-type(3){
	font-size: 15px;
	line-height: 1.8em;
}

.awa-item-r a{
	color: #4CA480;
	transition: all 0.3s;
}
.awa-item-r a:hover{
	color: var(--green);
}


@container awa-item-container (max-width: 850px) {
	.awa-item{
		flex-wrap: wrap;
		flex-direction: column;
		align-items: center;
	}
	
	.awa-item-l{
		width: 160px;
		margin-bottom: 10px;
	}
}


.awa-table-wrap{
	width: 100%;
	margin: 60px 0;
}

.awa-table-wrap table{
	width: 100%;
	border-collapse: collapse;
}

.awa-table-wrap table tr{
	width: 100%;
}

.awa-table-wrap table th {
	font-size: clamp(0.938rem, 0.869rem + 0.34vw, 1.125rem);/*15-18*/
	font-weight: 700;
	color: #4CA480;
	padding: 10px clamp(0.625rem, 0.17rem + 2.27vw, 1.875rem);/*10-30*/
	width: 9em;
}

.awa-table-wrap table td{
	padding: clamp(0.625rem, 0.17rem + 2.27vw, 1.875rem) clamp(0.625rem, 0.17rem + 2.27vw, 1.875rem);/*10-30*/
}

.awa-table-wrap table td p:first-of-type{
	font-size: 16px;
	font-weight: 500;
	color: #4CA480;
	margin-bottom: 5px;
}

.awa-table-wrap table td p:last-of-type span{
	font-size: 15px;
	color: #fff;
	padding: 5px 15px;
	background: #4CA480;
	margin-right: 0.5em;
}

.awa-table-wrap table tr:nth-of-type(odd) th{
	background: rgba(76,164,128,0.1);
}

.awa-table-wrap table tr:nth-of-type(odd) td{
	background: #FAFAFA;
}

















/*---------------------------------------------------------------- 製品・ソリューション ----------------------------------------------------------------*/
.head-img-area.pro{
	background-image: url("../img/product/head-image-lab.png");
}

.pro-wrap01{
	max-width: var(--max-w);
	margin: 0 auto;
	display: flex;
	column-gap: 20px;
	margin-bottom: 50px;
}

.pro-wrap01 p:first-of-type{
	padding-top: 10px;
	font-size: clamp(1.125rem, 1.08rem + 0.23vw, 1.25rem);/*18-20*/
	font-weight: 700;
	color: #fff;
	margin-bottom: 10px;
}
.pro-wrap01 p:first-of-type span{
	background: var(--green);
	padding: 10px 10px;
}

.pro-wrap01 p:last-of-type{
	flex: 1;
}



.pro-wrap02{
	max-width: var(--max-w);
	margin: 0 auto;
	display: flex;
	column-gap: 45px;
	flex-wrap: wrap;
	/*コンテナ*/
container-type: inline-size;
container-name: pro-wrap02-container;
}

.pro-item{
	flex-basis: calc((100% - 90px) / 3);
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
	padding: 30px 30px;
	margin-bottom: 35px;
	
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.pro-item-title{
	font-size: 20px;
	font-weight: 700;
	color: #4CA480;
	text-align: center;
	line-height: 1.3em;
	margin-bottom: clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);/*20-40*/
}
.pro-item p:first-of-type span{
	font-size: 15px;
}

.pro-item p:nth-of-type(2){
	margin-bottom: clamp(1.25rem, 0.341rem + 4.55vw, 3.75rem);/*20-60*/
}

.pro-item-img-wrap{
	display: flex;
	column-gap: 15px;
}

.pro-item-img-wrap div{
	width: 135px;
}

.pro-item-img-wrap p a{
	position: relative;
	color: var(--green);
	border: 1px solid var(--green);
	padding: 3px 5px 3px 30px;
	font-size: 15px;
	font-weight: 400;
	transition: all 0.3s;
}

.pro-item-img-wrap p a::before{
	content: "";
	position: absolute;
	width: 1.5px;
	height: 12px;
	background: var(--green);
	top: 35%;
	left: 15px;
}

.pro-item-img-wrap p a::after{
	content: "";
	position: absolute;
	width: 12px;
	height: 1.5px;
	background: var(--green);
	top: 53%;
	left: 10px;
}

.pro-item-img-wrap p a:hover{
	color: #fff;
	background:  var(--green);
}

.pro-item-img-wrap p a:hover::after,
.pro-item-img-wrap p a:hover::before{
	background: #fff;
}

@container pro-wrap02-container (max-width: 1073px) {
	.pro-item{
	flex-basis: calc((100% - 45px) / 2);
	}
}

@container pro-wrap02-container (max-width: 750px) {
	.pro-item{
	flex-basis: 100%;
	}
}








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


.all-wrap03 h1{
	position: relative;
	font-size: clamp(1.563rem, 1.335rem + 1.14vw, 2.188rem);/*25-35*/
	font-weight: 700;
	color: var(--green);
	margin-top: 50px;
	margin-bottom: 10px;
}
.all-wrap03 h1::before{
	content: "";
	position: absolute;
	width: 100px;
	height: 4px;
	background: var(--green);
	top: -15px;
	left: 0px;
}

.all-wrap03 h1 + p{
	font-size: 11px;
	font-weight: 700;
	color: var(--green);
	margin-bottom: 50px;
}

.all-wrap03 h2{
	font-size: 18px;
	margin-bottom: 10px;
	color: var(--green);
}

.all-wrap03 h2 + p{
	padding-left: 1em;
	margin-bottom: 40px;
}

.all-wrap03 ul{
	padding-left: 1em;
	margin-bottom: 40px;
}
.all-wrap03 ul p:first-of-type{
	font-weight: 500;
}
.all-wrap03 ul p:last-of-type{
	padding-left: 1em;
	margin-bottom: 1em;
}

a.policy-link{
	color: var(--green);
	transition: all 0.3s;
}

a.policy-link:hover{
	color: var(--green02);
}






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

.res-head-area{
	width: 100%;
	padding: clamp(1.25rem, 0.455rem + 3.98vw, 3.438rem) 20px clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem) 20px;/*20-55 20-40*/
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url("../img/research/head-image-res.png");
}

.res-head-textwrap{
	position: relative;
	max-width: var(--max-w);
	margin: 0 auto;
	padding-top: 15px;
}
.res-head-textwrap::before{
	content: "";
	position: absolute;
	width: 200px;
	height: 4px;
	background: var(--green);
	border-top-color: 0;
	top: 0;
	left: 0;
}

.head-img-area-res-onlytext{
	font-size: 15px;
	line-height: 2em;
	color: #000;
	font-weight: 400;
	margin-top: 50px;
	margin-bottom: 90px;
}




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

.res-top-rink-wrap{
	position: absolute;
	top: -40px;
	width: 100%;
	display: flex;
	justify-content: center;
	column-gap: 30px;
}

.res-top-rink-wrap a{
	display: block;
	flex-basis: 535px;
	background: #fff;
	border-radius: 15px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.16);
	padding: 20px;
	margin-bottom: 20px;
}



.res-top-rink-title-wrap{
	display: flex;
	column-gap: 10px;
}


.res-top-rink-title-wrap p:first-of-type{
	 font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-size: 74px;
	line-height: 1em;
}
.res-top-link01 .res-top-rink-title-wrap p:first-of-type{
	color: rgba(64,140,179,0.2);
}
.res-top-link02 .res-top-rink-title-wrap p:first-of-type{
	color: rgba(76,164,128,0.2);
}


.res-top-rink-title-wrap p:last-of-type{
	font-size: 14px;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
}

.res-top-rink-title-wrap p:last-of-type span{
	font-size: 22px;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700;
}

.res-top-link01 .res-top-rink-title-wrap p:last-of-type,
.res-top-link01 .res-top-rink-title-wrap p:last-of-type span
{
	color: var(--res-b);
}
.res-top-link02 .res-top-rink-title-wrap p:last-of-type,
.res-top-link02 .res-top-rink-title-wrap p:last-of-type span
{
	color: var(--res-g);
}

.res-top-rink-text{
	font-size: 15px;
	color: #717070;
	margin-bottom: 20px;
}

.res-rink-image01,.res-rink-image02{
	width: 100%;
	height: 205px;
	margin-bottom: 10px;
	transition: all 0.3s;
}
.res-rink-image01{
	background: url("../img/research/res-03.jpg") no-repeat center center /cover;
}
.res-rink-image02{
	background: url("../img/research/res-04.jpg") no-repeat center center /cover;
}

.res-top-rink-wrap a:hover .res-rink-image01{
	background: url("../img/research/res-01.jpg") no-repeat center center /cover;
}
.res-top-rink-wrap a:hover .res-rink-image02{
	background: url("../img/research/res-02.jpg") no-repeat center center /cover;
}

.res-top-rink-ul{
	display: flex;
	flex-wrap: wrap;
	column-gap: 15px;
}

.res-top-rink-ul.ul01 li{
	color: #fff;
	text-align: center;
}
.res-top-link01 .res-top-rink-ul.ul01 li{
	background: var(--res-b);
}
.res-top-link02 .res-top-rink-ul.ul01 li{
	background: var(--res-g);
}


.res-top-rink-ul li{
	width: calc((100% - 15px) / 2);
	margin-bottom: 10px;
}





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

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

.head-image-category div:first-of-type{
	max-width: var(--max-w);
	margin: 0 auto;
}

.head-image-category h1{
	font-family: "Roboto", sans-serif;
	font-size: clamp(1.25rem, 1.114rem + 0.68vw, 1.625rem);/*20-26*/
	font-weight: 700;
}

.head-image-category h1 span{
	font-family: "Roboto", sans-serif;
	font-size: clamp(3.25rem, 2.659rem + 2.95vw, 4.875rem);/*52-78*/
}

.head-image-category.category01 h1{
	color: var(--res-b);
} 
.head-image-category.category02 h1{
	color: var(--res-g);
} 

.head-image-category p{
	font-size: clamp(1.875rem, 1.648rem + 1.14vw, 2.5rem);/*30-40*/
	font-weight: 700;
	margin-bottom: 10px;
	line-height: 1.5em;
}


.head-image-category div:last-of-type{
	max-width: calc(50% - 150px);
	margin-left: auto;
	overflow: hidden;
}

.head-image-category a{
	display: block;
	padding: 5px 10px 5px 25px;
	font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);/*16-18*/
	color: #fff;
	margin-right: calc(50% - 50vw);	
}

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

.head-image-category.category01 a:hover{
	background-image: linear-gradient(120deg, transparent 20px, #318462 20px 100%);
}
.head-image-category.category02 a{
	background-image: linear-gradient(120deg, transparent 20px, #408CB3 20px 100%);
}

.head-image-category.category02 a:hover{
	background-image: linear-gradient(120deg, transparent 20px, #2C607B 20px 100%);
}





.category-title{
	background: rgba(235,235,235,0.3);
}

.category-title div{
	display: flex;
	max-width: var(--max-w);
	margin: 0 auto;
	align-items: center;
	margin-bottom: clamp(1.25rem, 0.455rem + 3.98vw, 3.438rem);/*20-55*/
}

.category-title h2{
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);/*20-24*/
	padding-top:clamp(0.625rem, 0.17rem + 2.27vw, 1.875rem);/*10-30*/
	padding-bottom: clamp(0.625rem, 0.17rem + 2.27vw, 1.875rem);/*10-30*/
	padding-left: 20px;
	padding-right:clamp(1.25rem, 0.227rem + 5.11vw, 4.063rem); /*20-65*/
	font-weight: 700;
	color: #fff;
}

.category-title.category01 h2{
	background-image: linear-gradient(295deg, transparent 40px, #0e5e88 40px 48px, #408cb3 48px 100%);
}

.category-title.category02 h2{
	background-image: linear-gradient(295deg, transparent 40px, #2A5C47 40px 48px, #4CA480 48px 100%);
}

.category-title p{
	flex: 1;
}






.category-wrap{
	max-width: var(--max-w);
	margin: 0 auto;
	display: flex;
	margin-bottom: 45px;
}

.category-wrap.last{
	margin-bottom: clamp(3.125rem, 1.989rem + 5.68vw, 6.25rem);/*50-100*/
}

.category-item-l{
	flex-basis: 50%;
	padding-right: 50px;
}
.category-item-l h3{
	font-size: 18px;
	font-weight: 700;
	color: var(--green);
	margin-bottom: clamp(0.625rem, 0.284rem + 1.7vw, 1.563rem);/*10-25*/
}
.category-item-l h3 span{
	font-size: 14px;
	color: #fff;
	background: var(--green);
	padding: 2px 10px;
	border-radius: 3px;
	margin-right: 0.5em;
}

.category-wrap h4{
	font-size: 18px;
	color: #fff;
	background: rgba(76,164,128,0.6);
	padding: 10px 20px 10px 20px;
	margin-bottom: 10px;
}

.category-item-l p{
	font-size: 15px;
	line-height: 2em;
	margin-bottom: 20px;
}

.category-item-r{
	flex-basis: 50%;
}
.category-item-r img{
	margin-bottom: 20px;
}
.category-item-r.img-two{
	display: flex;
	column-gap: 10px;
}
.category-item-r.img-two img{
	width: calc((100% - 10px) /2);
	object-fit: contain;
}



.category02-youtube-link{
	display: inline-block;
	position: relative;
	padding: 10px 15px 10px 50px;
	border-radius: 10px;
	border: 1px solid #000;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 20px;
	transition: all 0.3s;
}

.category02-youtube-link::before{
	content: "";
	position: absolute;
	width: 30.5px;
	height: 21.5px;
	background: url("../img/research/youtube-logo.png") no-repeat center center /contain;
	left: 15px;
	top: calc(50% - 10.75px);
}

.category02-youtube-link:hover{
	color: var(--green);
}


.category02-item-r-greenback{
	background: rgba(165,202,137,0.5);
	padding: 20px 25px;
}
.category02-item-r-greenback p{
	font-size: 14px;
	line-height: 1.5em;
	margin-bottom: 10px;
}

.category02-item-r-greenback img{
	margin-bottom: 0;
}

a.category02-item-l-link{
	display: block;
	text-align: center;
	width: 280px;
	font-size: 16px;
	font-weight: 500;
	padding: 15px 0;
	color: var(--green);
	border: 1px solid var(--green);
	margin-bottom: 28px;
	transition: all 0.3s;
}
a.category02-item-l-link:hover{
	color: #fff;
	background: var(--green);
}

.category02-grayback{
	padding: 30px clamp(1.25rem, 0.795rem + 2.27vw, 2.5rem);/*20-40*/
	background: #F8F8F8;
	max-width: var(--max-w);
	margin: 0 auto;
}

.category02-grayback .category-wrap:last-of-type{
	margin-bottom: 0;
}

.category02-grayback h5{
	font-size: 18px;
	padding: 10px 15px;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	margin-bottom: 25px;
}




/*--------------------------------------------------------------------- footer --------------------------------------------------------------------------*/
footer{
	width: 100%;
	padding: 50px 60px 40px 60px;
	background: #E1E6DE;
	border-top: 10px solid var(--green);
}


.footer-wrap{
	max-width: 1300px;
	display: flex;
	justify-content: space-between;

	margin: 0 auto 30px auto;
}

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

.footer-l div:last-of-type{
	display: flex;
}

.footer-l p{
	font-size: 13px;
}

.footer-r{
	display: flex;
	justify-content: flex-end;
	column-gap: 50px;
}

.footer-r ul{
	margin-bottom: 10px;
}

.footer-r ul:nth-of-type(2) li:nth-child(2),
.footer-r ul:nth-of-type(2) li:nth-child(7){
	margin-bottom: 5px;
}

.footer-r ul li a{
	display: block;
	font-size: 14px;
	margin-bottom: 0px;
	padding-left: 2em;
	transition: all .3s;
}

.footer-r ul li:first-of-type a{
	font-size: 15px;
	font-weight: 700;
	padding-left: 0;
}

.footer-r ul li:first-of-type a{
	color: var(--green);
}
.footer-r ul li:first-of-type:hover a{
	color: var(--green02);
}

.footer-r ul li.footer-link-mini a{
	font-size: 11px;
	padding-left: 5.5em;
	margin-bottom: 10px;
	line-height: 1em;
}

.footer-link-policy{
	display: block;
	font-size: 15px;
	margin-top: 10px;
}

.footer-youtube{
	max-width: 150px;
}
.footer-youtube img{
	width: 80%;
}
.footer-youtube p{
	font-size: 15px;
	margin-top: 5px;
}

a.footer-mail-button{
	display: block;
	width: 220px;
	background: var(--orange);
	color: #fff;
	text-align: center;
	padding: 8px;
	margin-top: 20px;
	font-size: 17px;
	transition: all .3s;
}

a.footer-mail-button:hover{
	background: var(--green);
}


.footer-link-wrap{
	display: flex;
	justify-content: center;
	column-gap: 20px;
}

.footer-link-wrap a{
	display: block;
	width: 280px;
	border: 1px solid #707070;
}

small{
	display: block;
	width: 100%;
	background: var(--green);
	color: #fff;
	text-align: center;
	font-size: 11px;
	padding: 5px;
}





/*--------------------------------------------------------------------- totop --------------------------------------------------------------------------*/

.pagetop{
    width: clamp(1.875rem, 1.42rem + 2.27vw, 3.125rem);/*30-50*/
	height: auto;
    position: fixed;
    right: 20px;
    bottom: clamp(2.25rem, 1.932rem + 1.59vw, 3.125rem);/*36-50*/
    z-index: 2;
	object-fit: cover;
}













