/*
Theme Name: IKIGAI
Author: cachiport
Version: 1.0
Description:RICC theme
*/

@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
/* ===================================================================
// 基本スタイル
// ===================================================================*/

html {
  font-size: 62.5%;
  font-family: noto-sans-cjk-jp, sans-serif;
  -webkit-font-feature-settings: "pkna" 1;
          font-feature-settings: "pkna" 1;
  height: 100%;
}
@media screen and (min-width: 1367px) {
	html {
		font-size: calc(100vw / 137);
	}
}
body {
	/*メインカラー*/
	--main-color:#F8F4EF;
	--main-color2:#ACA060;
	--main-color3:#ADBEB3;
	/*フォントカラー*/
	--font-color:#181B39;
	--font-color2:#181B39;
	/*ボタン*/
	--btnfont-color:#FFFFFF;/*通常時文字色＆ホバー時背景色*/
	--btn1back-color: transparent;
	--btn2back-color:#ADBEB3;/*ホバー文字色&通常時背景色*/
	/*フォント体*/
	--main-font: noto-sans, sans-serif;
	--sub-font: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	--en-font: poiret-one, sans-serif;
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.096rem;
  line-height: 1;
  color: var(--font-color);
  font-weight: 400;
  overflow-x: hidden;
  height: 100%;
  max-width: 100%;
}
main{
	max-width: 100%;
	overflow-x: hidden;
}
.font_en{
	font-family: var(--en-font);
}
/*wrapper*/
body{
	--wrapper: 14.2rem;
}
@media screen and (max-width: 1020px) {
	body{
		--wrapper: 10rem;
	}
}
@media screen and (max-width: 767px) {
	body{
		--wrapper: 4.65rem;
	}

}
.wrapper{
	padding: 0 var(--wrapper);
}

/* ボックスサイズ */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* 行間 */

	p{
			  font-size: 1.6rem ;
			  margin: 1rem 0;
			  font-family: var(--main-font);
			  font-weight: 400;
			  font-style: normal;
			  color: var(--font-color);
			  letter-spacing: 0.096rem;
			  line-height: 1.875;
			  -webkit-font-smoothing: antialiased;
	  }

@media screen and (max-width: 767px) {
	p{
		line-height: 1.6;
			  font-size: 1.6rem ;
			  margin: 1rem 0;
			  font-family: var(--main-font);
			  font-weight: 400;
			  font-style: normal;
			  color: var(--font-color);
	  }
  }
div, li, span {
  line-height: 1.2;
  font-family: var(--main-font);
  font-weight: 600;
  font-style: normal;
  color: var(--font-color);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5{
	line-height: 1.2;
	font-weight: normal;
	font-style: normal;
	color: var(--font-color);
	font-family: var(--sub-font);
	-webkit-font-smoothing: antialiased;
}
/* リンク */

	a {
		text-decoration: none;
		-webkit-transition: .3s;
		transition: .3s;
		font-family: var(--main-font);
		font-weight: 700;
		font-style: normal;
		color: var(--font-color);
		font-size: 1.6rem;
		-webkit-font-smoothing: antialiased;
	  }
	  a:hover{
		opacity: .7;
	  }
@media screen and (max-width: 767px) {
}




/* img */
img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
}

/* flex */
.flex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
	justify-content: space-between;
}

@media screen and (max-width: 1020px) {
  .flex_wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
/* pc & sp */
.pc {
  display: inline-block;
}

.sp {
  display: none;
}
.sp_br{
	display: none;
}
.pc_br{
	display: initial;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: inline-block;
  }
  .sp_br{
	display: initial;
}
.pc_br{
	display: none;
}

}



/* ===================================================================
// ヘッダー
// ===================================================================*/


/*ナビゲーション*/
.header{
	background-color: transparent;
	position: fixed;
	top: 0;
	z-index: 999;
	width: 100%;
	padding: 1.7rem 0 0;
}
.header nav{
	align-items: center;
	position: relative;
	flex-wrap: nowrap;
	gap: 1rem;
}
.header .logo{ 
	margin-left: 3.1rem;
}
.header .logo h1 a{
	font-size: 3.5rem;
	color: #138039;
}
.header_ul{
	margin-right: 1.5rem;
    padding-left: 1rem;
	background-color: #fff;
	border-radius: 4.2rem;
	padding: 0;
	display: flex;
	border: .1rem solid #5C7B67;
	height: 4.9rem;
}
.header_ul li a{
	display: block;
	margin: 0;
	align-content: center;
	height: 100%;

}
.header_ul .header_normal{
	display: flex;
	align-items: center;
    gap: 3.06vw;
    margin-right: 2.25vw;
    margin-left: 3.55vw;
}
.header_ul .header_normal li a{
	font-weight: normal;
	font-family: var(--sub-font);
	padding: 0;
}
.header_ul .header_lang{
	display: flex;
}
.header_ul .header_lang li a{
	padding: 0 2rem;
	color: #fff;

}
.header_ul .header_lang li.lang_en a{
	background-color: #ADBEB3;
}
.header_ul .header_lang li.lang_jp a{
	background-color: #94B19E;
}
.header_ul .header_contact a{
	color: #5C7B67;

	margin-right: 3.3rem;
	margin-left: 1.6rem;
	margin-right: 2.4vw;
    margin-left: 1.2vw;
	padding: 0 ;
}



  @media screen and (max-width: 1080px){
	.header_ul .header_normal {

		gap: 1.5vw;
		margin-right: 1.25vw;
		margin-left: 2.55vw;
	}
	.header_ul .header_contact a {
		margin-right: 2vw;
		margin-left: 1vw;
}
  }
  @media screen and (max-width: 948px){
	.header {
		padding: 1rem 0 0;
	}
	.header_ul{
		display: none;
	}
  }

  @media screen and (max-width: 767px){

  }
  /*========= ボタンのためのCSS ===============*/

  .openbtn {
    position: absolute;
    z-index: 9999;
    top: 1.3rem;
    right: 1.8rem;
    cursor: pointer;
    width: 3.5rem;
    height: 3.5rem;
    background-color: var(--main-color3);
    border-radius: 10rem;
	display: none;
}
.openbtn span{
	display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 50%;
	transform: translate(-50%);
    height: .1rem;
    border-radius: .2rem;
    background-color: #fff;
    width: 50%;
  }

.openbtn span:nth-of-type(1) {
	top: 35%;	
}
.openbtn span:nth-of-type(2) {
	top: 50%;
}
.openbtn span:nth-of-type(3) {
	top: 65%;
}
.openbtn.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    width: 50%;
    left: 25%;
    top: 50%;
}
.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}
.openbtn.active span:nth-of-type(3){
	transform: rotate(45deg);
    width: 50%;
    left: 25%;
    top: 50%;
}
@media screen and (max-width: 1020px){

}
@media screen and (max-width: 948px){
	.openbtn{
		display: inline-block;
	}
}
/* 
ハンバーガーメニュー　
*/
#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: 6.5rem;
    right: -120%;
    width: 75.4%;
    height: calc(100vh - 6.5rem);/*ナビの高さ*/
	background:var(--main-color3);
    /*動き*/
	transition: all 0.6s;
	border-radius: 2rem 0 0 0;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav #g-nav-list{
    padding: 2.7rem 2.5rem 1.5rem;
	position: relative;
    z-index: 999;
    width: 100%;
    height: 100%;
    overflow:scroll;
	-webkit-overflow-scrolling: touch;
}




/*リストのレイアウト設定*/

#g-nav ul .header_normal{
	background-color: #fff;
	border-radius: 2rem;
	padding: 2.78rem 2.69rem 3.73rem 2.81rem;
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
}
#g-nav ul li a{
    font-size: 1.8rem;
    padding: 0;
	width: 100%;
	display: block;
	line-height: 1;
  }
#g-nav ul .header_normal li{
	border-bottom: .1rem solid #BDD0C4;
	font-weight: 500;
}
#g-nav ul .header_normal li a{
	padding: 1.15rem .5rem;
	font-family: var(--sub-font);
}
#g-nav ul .header_lang{
	display: flex;
	margin-top: 2.2rem;
	margin-bottom: 2.2rem;
	border-radius: 1.5rem;
	border: .1rem solid #000;
}
#g-nav ul .header_lang li{
	width: 50%;

	text-align: center;
}
  #g-nav ul .header_lang li.lang_en{
	background-color:#ACA060;
	border-radius: 1.5rem  0 0 1.5rem;
	margin-bottom: 0;
	border-bottom: none;
  }
  #g-nav ul .header_lang li.lang_jp{
	background-color:#EBE3C6;
	border-radius: 0 1.5rem 1.5rem 0 ;
  }

  #g-nav ul .header_lang li a{
	color: #fff;
	padding: 2rem 1rem;
  }
  #g-nav ul .header_lang li.lang_jp a{
	color: #000;
  }
  #g-nav ul .header_contact{
    border-radius: 1.5rem;
	border: .1rem solid #000;
  }
  #g-nav ul .header_contact a{
	color: #5C7B67;
	text-align: center;
	background-color: #fff;
	padding: 2rem 1rem;
	border-radius: 1.5rem;
  }
  #g-nav .leaf{
	transform: rotate(317deg);
    bottom: 6.45vw;
    right: 1.7vw;
    width: 38vw;
  }



/* ===================================================================
// TOPページ
// ===================================================================*/
/*-----------共通要素-----------*/
/*黄色ブロック*/
.block_y{
	background-color: var(--main-color);
	position: relative;
}
/*緑ブロック*/
.block_g{
	background-color: var(--main-color3);
	position: relative;
}
/*テキスト→画像のブロック*/
.block_flex{
	padding-left: var(--wrapper);
	display: flex;
	justify-content: space-between;
	border-radius: 4rem 4rem 0 0;
    position: relative;
}
.block_flex .block_flex_txt{
    width: 43%;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
}
.block_flex_txt p{
	margin: 0;
}
.block_flex .block_flex_txt .subttl h2{
	margin-bottom: 2.95rem;
	margin-top: 2rem;
}
.block_flex .block_flex_txt .subttl h3{
	margin-bottom: 3.9rem;
}
.block_flex .block_flex_txt .btn_area{
	margin-top: 3.91rem;
}
.block_flex .block_flex_img{
    width: 49.2%;
	border-radius: 3rem 0 0 3rem;
	box-shadow: 1rem 1rem 3rem #00000029;
	position: relative;
	z-index: 1;
}

.block_flex .leaf{
	transform: rotate(46deg);
	left: .8%;
    bottom: 11%;
	width: 15.4vw;
}
.block_flex .pond{
	top: 14%;
    left: 8%;
    width: 32.1vw;
}
/*画像→テキストのブロック*/
.block_flex_reverse{
	padding-right: var(--wrapper);
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	border-radius: 4rem 4rem 0 0;
	position: relative;
}
.block_flex_reverse .block_flex_txt{
    width: 43%;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
}
.block_flex_reverse .block_flex_txt .subttl h2{
	margin-bottom: 2.65rem;
	margin-top: .9rem;
}
.block_flex_reverse .block_flex_txt .subttl h3{
	margin-bottom: 4.7rem;
}
.block_flex_reverse .block_flex_txt .btn_area{
	margin-top: 3rem;
}
.block_flex_reverse .block_flex_img{
    width: 49.2%;
	border-radius: 0 3rem 3rem 0;
	box-shadow: 1rem 1rem 3rem #00000029;
}
.block_flex_reverse .pond{
    top: 18%;
    right: 19%;
    width: 32.1vw;
}
.block_flex_reverse .tendril{
	transform: rotate(-55deg);
	right: 0;
    bottom: 5vw;
}
/*wrapperがついてるテキスト→画像のブロック*/
.block_flex_wrapper{
	display: flex;
	justify-content: space-between;
	padding-right: var(--wrapper);
	padding-left: var(--wrapper);
	border-radius: 4rem 4rem 0 0;
	position: relative;
}
.block_flex_wrapper .block_flex_img{
	border-radius: 3rem;
	box-shadow: 1rem 1rem 3rem #00000029;
	position: relative;
	z-index: 1;
    width: 43.72%;
	object-fit: contain;
    height: fit-content;
    align-self: center;
}
.block_flex_wrapper .block_flex_txt{
    width: 50%;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
}
.block_flex_wrapper .block_flex_txt .subttl h2{
	margin-bottom: 1.65rem;
}
.block_flex_wrapper .block_flex_txt .subttl h3{
	margin-bottom: 3.3rem;
}
.block_flex_wrapper .block_flex_txt .btn_area {
    margin-top: 2.6rem;
}
.block_flex_wrapper .leaves{
    top: 1.9vw;
    right: 1vw;
    width: 13.84vw;
}
@media screen and (max-width: 767px) {
	.block_flex_wrapper{
		flex-direction: column;
		border-radius: 3rem 3rem 0 0;
	}
	.block_flex, .block_flex_reverse{
		flex-direction: column-reverse;
		border-radius: 3rem 3rem 0 0;
		gap: 1rem;
	}
	.block_flex_wrapper .block_flex_txt .subttl h2, .block_flex .block_flex_txt .subttl h2,.block_flex_reverse .block_flex_txt .subttl h2{
		margin-bottom: 1rem;
	}
	.block_flex_wrapper .block_flex_txt .subttl h3,.block_flex .block_flex_txt .subttl h3,.block_flex_reverse .block_flex_txt .subttl h3 {
		margin-bottom: 2rem;
	}
	.block_flex_wrapper .block_flex_txt,.block_flex .block_flex_txt ,.block_flex_reverse .block_flex_txt {
		width: 100%;
		margin-top: 0;
	}
	.block_flex_wrapper .block_flex_img,.block_flex .block_flex_img,.block_flex_reverse .block_flex_img{
		width: 100%;
		box-shadow: .5rem .5rem 1.5rem #00000029;
		z-index: 1;
	}
	.block_flex_wrapper .block_flex_img{
		border-radius: 2rem;
	}
	.block_flex .block_flex_txt{
		padding-right: var(--wrapper);
	}
	.block_flex_reverse .block_flex_txt{
		padding-left: var(--wrapper);
	}
	.block_flex_wrapper .block_flex_txt .btn_area, .block_flex .block_flex_txt .btn_area, .block_flex_reverse .block_flex_txt .btn_area{
		margin-top: 2.5rem;
	}
	.block_flex_wrapper .leaves {
		top: 1.9vw;
		right: 1vw;
        width: 12rem;
	}
	.block_flex .leaf {
		left: .8%;
		bottom: 6%;
        width: 12.3rem;
	}
    .block_flex .pond, .block_flex_reverse .pond {
        top: initial;
        bottom: 16%;
        left: 4rem;
        width: 30rem;
    }
}
@media screen and (max-width: 450px) {
    .block_flex .pond, .block_flex_reverse .pond {
        top: initial;
        bottom: 24%;
        left: 4rem;
        width: 30rem;
    }
}

.block_back{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.backitem{
	position: absolute;
	object-fit: initial;
}
.subttl h2{
	font-size: 4rem;
}
.block_y .subttl h2{
	color: #ACA060;
}
.block_g  .subttl h2{
	color: #fff;
}
.subttl h3{
	font-size: 3rem;
	line-height: 1.5;
}
.btn_area {
	z-index: 1;
	position: relative;
  }

.btn {
	display: flex;
	justify-content: space-between;
	background-color: var(--btn1back-color);
	border: .1rem solid #fff;
	width: 100%;
	max-width: 43.2rem;
	padding: 0 3.05rem 0 3.9rem;
	height: 7.159rem;
	align-items: center;
  }
  
.btn p{
	font-size: 2rem;
	margin: 0;
	color: #fff;
}
.btn span{
	font-size: 3.2rem;
	color: #fff;
}
.btn2{
	background-color: var(--btn2back-color);
}

@media screen and (max-width: 767px) {
	.subttl h2 {
		margin-bottom: 2rem;
		font-size: 3rem;
	}
	.subttl h3{
		font-size: 2.5rem;
	}
	.btn {
		padding: 0 2.05rem 0 2.9rem;
		height: 6rem;
		align-items: center;
	}
	.btn p {
		font-size: 1.8rem;
	}
	.btn span {
		font-size: 2rem;
	}
}
/*fv*/
.fv{
	padding-top: 9rem;
	padding-right: 5.1rem;
	padding-bottom: 5rem;
	position: relative;
	background-color: var(--main-color);
	overflow: hidden;
}
.fv .backimg{
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}
.fv .backimg img{
	width: 100%;
    height: 100%;
	object-fit: cover;
}
.fv .flex_wrap{
	gap: 1rem;
	z-index: 1;
	position: relative;
}
.fv .slider{
	margin: 0;
    display: flex;
	width: 61.7%;
	align-items: end;
    align-self: flex-start;
}
.fv .slider .slick-list{
	width: calc( 100% - 3.1rem);
	height: 62.5rem;
	box-shadow: 1rem 1rem 3rem #00000029;
	border-radius: 0 0 5rem 0;
}
.fv .slider li.slick-slide{
    height: fit-content;
	border-radius: 0 0 5rem 0;
}
.fv .slider li.slick-slide img{
	width: 100%;
	height: 100%;
	border-radius: 0 0 5rem 0;
}
.fv .slick-dots {
	position: relative;
	width: initial;
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
	margin-bottom: 3rem;
    margin-left: 1rem;
	gap: .6rem;
}
.fv .slick-dots li{
	width: 1.2rem;
	height: 1.2rem;
}

.fv .slick-dots li button {
	width: 1.2rem;
	height: 1.2rem;
}
.fv .slick-dots li button:before {
    font-size: 1.2rem;
	color: #ADBEB3;
	opacity: 1;
}
.slick-dots li.slick-active button:before {
	color: #5C7B67;
}
.fv .fv_txt{
    width: 35.65%;
	margin-top: -6.5%;
    align-self: center;
}
.fv .fv_txt h2{
	font-size: 3.8rem;
	margin-bottom: 3.845rem;
line-height:6rem;
}
.fv .leaf{
	position: absolute;
	bottom: 3vw;
    right: 1.9vw;
    width: 15.4vw;
	transform: rotate(314deg);
}
@media screen and (max-width: 1020px) {
	.fv .fv_txt {
		margin-top: 0;
	}
	.fv .fv_txt h2 {
		font-size: 3.5rem;
		margin-bottom: 1.845rem;
	}
}
@media screen and (max-width: 767px) {
	.fv {
		padding-top: 6.5rem;
		padding-right: 2.1rem;
		height: fit-content;
		padding-bottom: 11rem;
	}
	.fv .slider {
		margin: 0;
		display: flex;
		align-items: flex-end;
		width: 100%;
	}
	.fv .slider li.slick-slide {
		border-radius: 0 0 2.5rem 0;
	}

	.fv .slider li.slick-slide img {
		width: 100%;
		height: 100%;
		border-radius: 0 0 2.5rem 0;
	}
	.fv .slider .slick-list {
		height: initial;
		box-shadow: .5rem .5rem 1.5rem #00000029;
		border-radius: 0 0 2.5rem 0;
	}
	.fv .fv_txt {
        width: 100%;
        margin-top: 8.5%;
		padding-right: 2.55rem;
        padding-left: var(--wrapper);
	}
	.fv .fv_txt h2 {
		font-size: 2.4rem;
		margin-bottom: 1.845rem;
line-height: 4rem;
	}
	.fv .leaf {
		bottom: 3vw;
		right: 1.9vw;
        width: 13.3rem;
	}
}

/*top_message*/
.top_message{
	padding-top: 4.58rem;
	padding-bottom: 15.42rem;
	text-align: center;
}
.top_message .subttl h2{
	margin-bottom: 3.6rem;
	letter-spacing: .24rem;
}
.top_message .subttl h3{
	margin-bottom: 3.8rem;
	letter-spacing: .18rem;
}
.top_message p{
	width: 61.8rem;
	max-width: 100%;
	margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.top_message {
		padding-top: 3.5rem;
		padding-bottom: 10rem;
		text-align: center;
	}
	.top_message .subttl h2 {
		margin-bottom: 2rem;
	}
	.top_message .subttl h3 {
		margin-bottom: 2rem;
	}
}
/*top_service*/
.top_service{
	padding-top: 10.5rem;
	padding-bottom: 12rem;
	gap: 1rem;
	top: -6rem;
}
.top_service .block_flex_wrapper_txt .btn_area{
	margin-top: 4.645rem;
}


/*top_hydro*/
.top_hydro{
	padding-top: 7.7rem;
    padding-bottom: 10rem;
	top: -10.1rem;
}

/*top_reserch*/
.top_reserch{
	padding-top: 7.7rem;
    padding-bottom: 10rem;
	top: -13.4rem;
}
/*top_future*/
.top_future{
	position: relative;
	padding-top: 7.45rem;
	padding-bottom: 10rem;
	background-color: var(--main-color);
	overflow: hidden;
	top: -17.9rem;
	border-radius: 4rem 4rem 0 0;
}
.top_future .subttl{
	text-align: center;
}
.top_future .subttl h2{
	color: #ACA060;
	margin-bottom: 1.75rem;
}
.top_future .subttl h3{
	margin-bottom: 3.6rem;
}
.top_future .top_future_txt{
	width: 61.8rem;
	max-width: 100%;
	margin: 0 auto 4rem;
	z-index: 1;
    position: relative;
}
.top_future ul{
	justify-content: space-between;
	margin-bottom: 4.7rem;
	z-index: 1;
    position: relative;
	gap: 1rem;
}
.top_future ul li{
    width: 31.5%;
}
.top_future ul li img{
	width: 100%;
	border-radius: 1.5rem;
	box-shadow: 1rem 1rem 3rem #00000029;
}
.top_future .btn{
	margin: 0 auto;
	z-index: 1;
    position: relative;
}
/*top_company*/
.top_company{
	padding-top: 9.1rem;
	padding-bottom: 9.1rem;
	top: -21rem;
}
.top_company .plant{
	bottom: -3%;
    right: 0;
    width: 13.84vw;
}
@media screen and (max-width: 767px) {
	.top_service{
		padding-top: 8rem;
		padding-bottom: 13rem;
	}
	.top_hydro {
		padding-top: 8rem;
		padding-bottom: 10rem;
	}
	.top_reserch {
		padding-top: 8rem;
		padding-bottom: 13rem;
	}
	.top_future {
		padding-top: 7rem;
		padding-bottom: 13rem;
		border-radius: 3rem 3rem 0 0;
	}
	.top_future .subttl h2 {
		margin-bottom: 1rem;
	}
	.top_future .subttl h3 {
		margin-bottom: 2rem;
	}
	.top_future ul{
		gap: 2rem 1rem;
		margin-bottom: 3.5rem;
	}
	.top_future ul li:nth-of-type(1), .top_future ul li:nth-of-type(2) {
		width: 46%;
	}
	.top_future ul li:nth-of-type(1) img, .top_future ul li:nth-of-type(2) img{
		border-radius: 1rem;
	}
	.top_future ul li:nth-of-type(3){
		width: 100%;
	}
	.top_future ul li img{
		box-shadow: .5rem .5rem 1.5rem #00000029;
	}
	.top_company {
		padding-top: 8rem;
		padding-bottom: 8rem;
	}
	.top_company .plant {
		bottom: -1%;
		right: 0;
        width: 12.1rem;
	}
}
@media screen and (max-width: 450px) {
	.top_reserch .pond {
        top: initial;
        bottom: 30%;
        left: 4rem;
        width: 30rem;
    }
}
/*common_contact*/
.common_contact{
	background-color: var(--main-color);
	padding-top: 3.4rem;
	padding-bottom: 3.5rem;
	position: relative;
}
.common_contact .contact_box{
	background-color: #5C7B67;
	position: relative;
	overflow: hidden;
	border-radius: 3.9rem;
	padding: 4rem 5.9rem 4.84rem 5.9rem;
}
.common_contact .contact_box .subttl{
	text-align: center;
	position: relative;
	z-index: 1;
}
.common_contact .contact_box .subttl h2{
	color: #fff;
	margin-bottom: 1.8rem;
}
.common_contact .contact_box .subttl h3{
	color: #fff;
	margin-bottom: 3.39rem;
}
.common_contact .contact_box .btn_area{
	position: relative;
	z-index: 1;
	gap: 1rem;
	justify-content: space-between;
}
.common_contact .contact_box .btn{
	width: 29.8rem;
	padding: 0 1.35rem 0 2.2rem;
}
.common_contact .contact_box .btn p{
	font-family: var(--sub-font);
	line-height: 1.2;
}
.top_page .common_contact{
	top: -21rem;
	margin-bottom: -21rem;
}
@media screen and (max-width: 923px) {
	.common_contact .contact_box .btn_area{
		justify-content: center;
		gap: 2rem;
	}
	.common_contact .contact_box .btn{
		width: 100%;
	}

}
@media screen and (max-width: 767px) {
	.common_contact .contact_box {
		border-radius: 3rem;
		padding: 3rem 2rem 4rem;
	}
	.common_contact  .btn p {
        font-size: 1.6rem;
    }
	.common_contact .contact_box .subttl h2 {
		margin-bottom: 1rem;
	}
	.common_contact .contact_box .subttl h3 {
		margin-bottom: 3rem;
	}
}
/* ===================================================================
//　固定ページ
// ===================================================================*/
/*-----------------共通要素-------------------*/
.subpage_top{
	background-color: var(--main-color);
	padding: 8.8rem 3.1rem 0;
}
.mainttl{
	background-color: var(--main-color3);
	overflow: hidden;
	padding: 2.1rem 1rem 3rem 11.1rem;
	position: relative;
	border-radius: 2rem;
	box-shadow: .5rem .5rem 1.5rem #00000029;
}
.mainttl h1{
	font-size: 6.2rem;
	letter-spacing: 0.372rem;
	color: #fff;
	margin-bottom: .5rem;
	position: relative;
	z-index: 1;
}
.mainttl h2{
	font-size: 2.5rem;
	letter-spacing: 0.15rem;
	position: relative;
	z-index: 1;
}
.breadcrumbs{
	display: flex;
	padding-top: 2.7rem;
	padding-left: var(--wrapper);
	gap: 1.5rem;
	align-items: center;
}
.breadcrumbs, .breadcrumbs span{
	font-family: var(--sub-font);
	font-weight: 500;
}
@media screen and (max-width: 948px) {
	.subpage_top{
		padding: 6.5rem 2rem 0;
	}
	.mainttl {
		padding: 1.5rem 1rem 1.5rem 3rem;
		border-radius: 1.7rem;
	}
	.mainttl h2 {
        font-size: 2rem;
    }
	.mainttl h1 {
		font-size: 4rem
	}
	.breadcrumbs {
		padding-top: 1.5rem;
		padding-left: 1rem;
		align-items: center;
		gap: 0.5rem;
	}
	.breadcrumbs  span{
		font-size: 1.4rem;
	}

}

/*-----------------service_page-------------------*/
.subpage_message{
	padding-top: 5.355rem;
	padding-bottom: 27.3rem;
}
.subpage_message .subttl{
	text-align: center;
	position: relative;
	z-index: 1;
}
.subpage_message .subttl h2{
	margin-bottom: 1.95rem;
}
.subpage_message .subttl h3{
	margin-bottom: 2.7rem;
}
.subpage_message p{
	text-align: center;
	position: relative;
	z-index: 1;
	width: 61.8rem;
    margin: 0 auto;
    max-width: 100%;

}
.subpage_message p span{
	font-weight: 700;
}
.subpage_message .leaf_t_r{
	transform: rotate(226deg);
    top: 1.2vw;
    right: 10vw;
	width: 15.4vw;
}
.subpage_message .leaf_b_l{
	transform: rotate(46deg);
    left: 10.1vw;
    bottom: 8vw;
	width: 15.4vw;
}
.subpage_message .pond{
	top: 40%;
	left: 52%;
	transform: translate(-50%, -50%);
}
.subpage_message .tendril{
	transform: rotate(-55deg);
    right: 4.9vw;
    bottom: 9vw;
	width: 21.5vw;
}
@media screen and (max-width: 767px) {
	.subpage_message {
		padding-top: 4.355rem;
		padding-bottom: 18.3rem;
	}
	.subpage_message .subttl h2 {
		margin-bottom: 1rem;
	}
	.subpage_message .subttl h3 {
		margin-bottom: 2.7rem;
	}
	.subpage_message .leaf_t_r {
		top: -3.8vw;
		right: 2vw;
        width: 10.2rem;
	}
	.subpage_message .leaf_b_l {
		left: 2vw;
		bottom: 7rem;
        width: 10.2rem;
	}
	.subpage_message .tendril {
		right: 4.9vw;
        bottom: 8rem;
        width: 18.5rem;
	}
}
/*service_purpose*/
.service_purpose{
	padding-top: 10.1rem;
	padding-bottom: 12.5rem;
	gap: 1rem;
	top: -5rem;
}
/*service_example*/
.service_example{
	padding-top: 7.7rem;
    padding-bottom: 12.3rem;
	top: -10rem;
}
/*service_about*/
.service_about{
	padding-top: 7.4rem;
    padding-bottom: 11.4rem;
	top: -15rem;
}
.service_about .block_flex_txt .subttl h2 {
    margin-bottom: 1rem;
    margin-top: .9rem;
}
.service_about .block_flex_txt .subttl h3{
	margin-bottom: 2rem;
}
.service_about.block_flex_txt .btn_area{
	margin-top: 2.55rem;
}
/*service_research*/
.service_research{
	padding-top: 7rem;
	padding-bottom: 11.3rem;
	top: -20rem;
}
/*service_future*/
.service_future{
	padding-top: 7.8rem;
	padding-bottom: 7.7rem;
	top: -25rem;
}
.service_future .block_flex_txt .subttl h2 {
    margin-bottom: 2.9rem;
    margin-top: 2.1rem;
}
.service_future .block_flex_txt .subttl h3 {
    margin-bottom: 3.9rem;
}
.service_future  .btn_area {
    margin-top: 3.9rem;
}
.service_future .leaf{
	transform: rotate(314deg);
	width: 15.4vw;
	right: .9vw;
    bottom: 1.2vw;
}
/*.service_page .common_contact*/
.service_page .common_contact{
	top: -25rem;
	margin-bottom: -25rem;
}
@media screen and (max-width: 767px) {
.service_purpose {
    padding-bottom: 13rem;
}

.service_example {
    padding-top: 8rem;
    padding-bottom: 17.3rem;
}
.service_example .leaf {
	left: .8%;
	bottom: 9%;
	width: 12.3rem;
}
.service_about {
    padding-top: 8rem;
}
.service_about .pond {
	top: initial;
	bottom: 20%;
	left: 4rem;
	width: 30rem;
}
.service_research {
    padding-top: 8rem;
    padding-bottom: 13rem;
}
.service_future {
    padding-top: 8rem;
}
.service_future .block_flex_txt .subttl h2 {
    margin-bottom: 1rem;
}
.service_future .leaf {
    transform: rotate(314deg);
	width: 12.3rem;
    right: .9vw;
    bottom: 1.2vw;
}
}
@media screen and (max-width: 450px) {
	.service_about .pond {
        top: initial;
        bottom: 30%;
        left: 4rem;
        width: 30rem;
    }
}
/*-----------------hydro_page-------------------*/
/*hydro_about*/
.hydro_about{
	padding-top: 7.295rem;
	padding-bottom: 13.8rem;
	border-radius: 0;
}
.hydro_about .block_flex_txt .subttl h2 {
    margin-bottom: 2.9rem;
    margin-top: 2.1rem;
}
.hydro_about .block_flex_reverse .block_flex_txt .subttl h3 {
    margin-bottom: 3.9rem;
}
.hydro_about .block_flex_txt .btn_area {
    margin-top: 3.9rem;
}
.hydro_about .pond {
    top: 14.5%;
    right: 19%;
    width: 32.1vw;
}
@media screen and (max-width: 767px) {
	.hydro_about {
		padding-top: 5.295rem;
		padding-bottom: 17.8rem;
	}	
	.hydro_about .block_flex_txt .subttl h2 {
		margin-bottom: 1rem;
	}
}
/*hydro_why*/
.hydro_why{
	padding-top: 8.36rem;
	padding-bottom: 10.2rem;
	border-radius: 4rem 4rem 0 0;
	top: -5rem;
}
.hydro_why .block_flex{
	z-index: 1;
}
.hydro_why .pond {
    top: 10%;
    left: 8%;
    width: 32.1vw;
}
.hydro_why_box{
	background-color: var(--main-color);
	padding: 2.558rem 10.1rem 2.7rem;
	position: relative;
	z-index: 1;
	margin: 4.6rem var(--wrapper) 0;
	border-radius: 2.2rem;
}
.hydro_why_box li{
	display: flex;
	flex-direction: column;
	align-items: center;
    width: 45.2%;
}
.hydro_why_box li h3{
	font-size: 2.3rem;
	background-color: #fff;
	padding: 1.4rem 1rem 1rem;
	width: 24.7rem;
	max-width: 100%;
	margin-bottom: 1.16rem;
	text-align: center;
	border-radius: 2.4rem;
}
.hydro_why_box li img{
	width: 100%;
	margin-bottom: .5rem;
}
@media screen and (max-width: 1020px) {
	.hydro_why_box {
		padding: 2.558rem 5rem 2.7rem;
	}
}
@media screen and (max-width: 767px) {
.hydro_why {
    padding-top: 8rem;
    padding-bottom: 13rem;
    border-radius: 3rem 3rem 0 0;
}

.hydro_why .pond {
	top: initial;
	bottom: -7%;
	width: 30rem;
}
.hydro_why_box {
    padding: 2.558rem 3rem 2.7rem;
    margin: 4.6rem var(--wrapper) 0;
	gap: 2rem;
}
.hydro_why_box li {
    width: 100%;
}
.hydro_why_box li h3 {
    font-size: 2rem;
    padding: 1rem 1rem .6rem;
}
}
@media screen and (max-width: 450px) {
	.hydro_why .pond {
		top: initial;
		bottom: 0%;
		width: 30rem;
	}
}
/*hydro_nonchemical*/
.hydro_nonchemical{
	padding-top: 8.77rem;
	padding-bottom: 13.28rem;
	border-radius: 4rem 4rem 0 0;
	top: -10rem;
}
.hydro_nonchemical .block_flex_txt .subttl h2 {
    margin-top: 2.6rem;
    margin-bottom: 1rem;
}
.hydro_nonchemical .block_flex_txt .subttl h3{
	margin-bottom: 2.85rem;
}
.hydro_nonchemical .pond{
    top: 5%;
    right: 19%;
    width: 32.1vw;
}
.hydro_nonchemical .hydro_nonchemical_box{
	background-color: #EBE3C6;
	padding: 2.6rem 10.1rem 5.2rem;
	position: relative;
	z-index: 1;
	margin: 3.9rem var(--wrapper) 0;
	border-radius: 2.2rem;
}
.hydro_nonchemical .hydro_nonchemical_box div{
    width: 45.2%;
	display: flex;
    flex-direction: column;
    align-items: center;
}
.hydro_nonchemical .hydro_nonchemical_box div h3{
	font-size: 2.3rem;
	background-color: #fff;
	padding: 1.4rem 3rem 1rem;
	letter-spacing: .138rem;
	text-align: center;
	border-radius: 2.4rem;
	margin-bottom: 1.63rem;
}
.hydro_nonchemical .hydro_nonchemical_box div img{
	width: 100%;
	margin-bottom: 1.56rem;
}
.hydro_nonchemical .hydro_nonchemical_box div ul{
	display: flex;
    flex-direction: column;
    gap: .9rem;
    width: 100%;
}
.hydro_nonchemical .hydro_nonchemical_box div li{
	display: flex;
	gap: 1.3rem;
	font-weight: normal;
}
.hydro_nonchemical .hydro_nonchemical_box div li::before{
	content: "";
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 1.4rem;
	background-color: #5C7B67;
}
.hydro_nonchemical .hydro_nonchemical_box div p{
	font-size: 2.3rem;
	color: #fff;
	width: 100%;
	text-align: center;
	padding: 1.7rem 1rem;
	line-height: 1;
	border-radius: 2.9rem;
	margin: 1.6rem auto 0;
	font-family: var(--sub-font);
}
.hydro_nonchemical .hydro_nonchemical_box div:nth-of-type(1) p{
	background-color: #ACA060;
}
.hydro_nonchemical .hydro_nonchemical_box div:nth-of-type(2) p{
	background-color: #5C7B67;
}
@media screen and (max-width: 1020px) {
	.hydro_nonchemical .hydro_nonchemical_box {
		padding: 2.558rem 5rem 2.7rem;
	}
	.hydro_nonchemical .hydro_nonchemical_box div h3 {
		font-size: 2rem;
		padding: 1.4rem 1rem 1rem;
	}
	.hydro_nonchemical .hydro_nonchemical_box div p {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 767px) {
.hydro_nonchemical {
    padding-top: 8rem;
    padding-bottom: 13rem;
    border-radius: 3rem 3rem 0 0;
}
.hydro_nonchemical .hydro_nonchemical_box {
    padding: 2.558rem 3rem 2.7rem;
    margin: 4.6rem var(--wrapper) 0;
	gap: 4rem;
}
.hydro_nonchemical .hydro_nonchemical_box div {
    width: 100%;
}
.hydro_nonchemical .hydro_nonchemical_box div h3 {
	font-size: 2rem;
	padding: 1rem 1rem;
	border-radius: 3rem;
	width: 100%;
}

.hydro_nonchemical .pond {
	top: initial;
	bottom: 10%;
	left: 4rem;
	width: 30rem;
}
.hydro_nonchemical .hydro_nonchemical_box div p {
    font-size: 1.8rem;
    padding: 1rem;
}
}
@media screen and (max-width: 450px) {
    .hydro_nonchemical .pond {
        top: initial;
        bottom: 19%;
        left: 4rem;
        width: 30rem;
    }
}
/*hydro_efficiency*/
.hydro_efficiency{
	padding-top: 8.6rem;
	padding-bottom: 11.7rem;
	top: -15rem;
}
.hydro_efficiency .leaf{
	transform: rotate(46deg);
	left: 1%;
    bottom: 12%;
	width: 15.4vw;
}
.hydro_efficiency .pond {
    top: 22%;
    left: 10.5%;
    width: 32.1vw;
}
@media screen and (max-width: 767px) {
	.hydro_efficiency {
        padding-top: 8rem;
        padding-bottom: 13rem;
		top: -15rem;
	}
	.hydro_efficiency .pond {
        top: initial;
        bottom: 9%;
        left: 3rem;
        width: 30rem;
    }
	.hydro_efficiency .leaf {
		transform: rotate(46deg);
		left: 1%;
		bottom: 8%;
		width: 12.3rem;
	}
}
@media screen and (max-width: 450px) {
    .hydro_efficiency .pond {
        top: initial;
        bottom: 18%;
        left: 3rem;
        width: 30rem;
    }
}
/*hydro_future*/
.hydro_future{
	padding-top: 7.895rem;
	padding-bottom: 7.9rem;
	top: -20rem;
	margin-bottom: -20rem;

}
.hydro_future .block_flex_txt .subttl h2 {
    margin-bottom: 2.95rem;
    margin-top: 2.9rem;
}
.hydro_future .block_flex_txt .subttl h3 {
    margin-bottom: 3.6rem;
}
.hydro_future .leaf{
	transform: rotate(314deg);
	width: 15.4vw;
	right: .9vw;
	bottom: 2vw;
}
@media screen and (max-width: 767px) {
	.hydro_future {
		padding-top: 8rem;
		padding-bottom: 7.9rem;
	}
    .hydro_future .pond {
        top: initial;
        bottom: 7%;
        left: 3rem;
        width: 30rem;
        transform: initial;
    }
	.hydro_future .leaf{
		width: 12.3rem;
		right: .9vw;
		bottom: 2vw;
	}
	.hydro_future .block_flex_txt .subttl h2 {
		margin-bottom: 1rem;
		margin-top: 1.9rem;
	}
}
@media screen and (max-width: 450px) {
    .hydro_future .pond {
        top: initial;
        bottom: 14%;
        left: 3rem;
        width: 30rem;
        transform: initial;
    }
}
/*sample*/
.sample{
	position: relative;
	padding-top: 10.5rem;
	padding-bottom: 7.42rem;
	text-align: center;
}
.sample h2{
	font-size: 4.9rem;
	letter-spacing: .294rem;
	margin-bottom: 3.6rem;
	font-family: var(--main-font);
	z-index: 1;
	position: relative;
}
.sample p{
	width: 61.8rem;
	max-width: 100%;
	margin: 0 auto;
	z-index: 1;
	position: relative;
}
@media screen and (max-width: 767px) {
.sample {
    padding-top: 5.5rem;
    padding-bottom: 5.42rem;
}
	.sample h2 {
		font-size: 2.4rem;
		letter-spacing: .194rem;
		margin-bottom: 2.5rem;
	}
}
/*-----------------reseach_page-------------------*/
.research_message p{
	width: 61.8rem;
	max-width: 100%;
	margin: 0 auto;
}
.research_message .leaf_t_l{
	transform: rotate(134deg);
	top: 3.7vw;
    left: 10vw;
    width: 15.4vw;
}
.research_message .plant{
	width: 13.84vw;
    right: 8vw;
    bottom: 5.5vw;
}
@media screen and (max-width: 767px) {
	.research_message {
        padding-top: 6.355rem;
        padding-bottom: 17rem;
    }
	.research_message .leaf_t_l {
		transform: rotate(134deg);
		top: 3.7vw;
		left: 3vw;
        width: 10.2rem;
	}
	.research_message .plant {
        width: 12.4rem;
		right: 5vw;
		bottom: 12.5vw;
	}

}
/*research_voltage*/
.research_voltage{
	padding-top: 10.1rem;
	padding-bottom: 12.5rem;
	top: -5rem;
	margin-bottom: -5rem;
}
/*research_efficiency*/
.research_efficiency{
	padding-top: 7.7rem;
	padding-bottom: 12rem;
	top: -5rem;
	margin-bottom: -5rem;
}
.research_efficiency .leaf{
    transform: rotate(46deg);
    left: 1%;
    bottom: 10%;
    width: 15.4vw;
}
/*research_energy*/
.research_energy{
	padding-top: 7.4rem;
	padding-bottom: 12.6rem;
	top: -5rem;
	margin-bottom: -5rem;
}
/*research_compensation*/
.research_compensation{
	padding-top: 12.68rem;
	padding-bottom: 16.4rem;
	top: -5rem;
	margin-bottom: -5rem;
}
.research_compensation .leaves{
    left: 2.5vw;
    bottom: 8vw;
    width: 13.84vw;
    transform: rotateY(180deg);
}
.research_compensation .block_flex_img {
    width: 50.42%;
	object-fit: contain;
    height: fit-content;
}
.research_compensation .block_flex_txt {
	margin-top: -3rem;
}
.research_compensation .block_flex_txt .subttl h2{
	margin-top: 0;
}

/*research_concentration*/
.research_concentration{
	padding-top: 7.4rem;
	padding-bottom: 11.9rem;
	top: -5rem;
	margin-bottom: -5rem;
}
.research_concentration .leaf{
	transform: rotate(314deg);
	width: 15.4vw;
	right: .9vw;
	bottom: 2vw;
}
@media screen and (max-width: 767px) {
	.research_voltage {
		padding-top: 10.1rem;
		padding-bottom: 13rem;
		gap: 2rem;
	}
	.research_efficiency {
		padding-top: 8rem;
		padding-bottom: 17.5rem;
	}
	.research_efficiency .leaf {
		left: 1%;
		bottom: 9%;
		width: 12.3rem;
	}
	.research_energy {
		padding-top: 8rem;
		padding-bottom: 17.6rem;
	}
	.research_compensation {
		padding-top: 8rem;
		padding-bottom: 14rem;
	}
	.research_compensation .block_flex_img {
		width: 100%;
	}
	.research_compensation .block_flex_txt {
		margin-top: 2rem;
	}
	.research_compensation .leaves {
		left: 2.5vw;
        bottom: 6rem;
        width: 12rem;
	}
	.research_concentration {
		padding-top: 8rem;
		padding-bottom: 12.9rem;
	}
	.research_energy .pond {
        top: initial;
        bottom: 20%;
        left: 4rem;
        width: 30rem;
    }
	.research_concentration .leaf {
		width: 12.3rem;
		right: .9vw;
		bottom: 4vw;
	}
	.research_concentration .pond {
        top: initial;
        bottom: 12%;
	}
}
@media screen and (max-width: 450px) {
	.research_energy .pond {
        top: initial;
        bottom: 29.5%;
        left: 4rem;
        width: 30rem;
    }
	.research_concentration .pond {
        top: initial;
        bottom: 15%;
	}
}
/*-----------------future_page-------------------*/
.future_fc{
	padding-top: 9.445rem;
	padding-bottom: 13.7rem;
	top: -5rem;
	margin-bottom: -5rem;
	border-radius: 4rem 4rem 0 0;
}
.future_fc .subttl{
	text-align: center;
}
.future_fc .subttl h2{
	margin-bottom: 2.65rem;
}
.future_fc .subttl h3{
	margin-bottom: 6.7rem;
}
.future_fc .future_fc_txt{
	position: relative;
	z-index: 1;
}
.future_fc .future_fc_txt p{
	width: 93.7rem;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}
.future_fc ul{
	margin-top: 5.8rem;
	gap: 8.5rem 1rem;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
}
.future_fc ul li{
	width: 31.5%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.future_fc ul li h3{
	margin-bottom: 2.1rem;
	font-size: 2.5rem;
	font-weight: 700;
}
.future_fc ul li img{
	width: 100%;
	border-radius: 1rem;
	box-shadow: 1rem 1rem 3rem #00000029;
}
.future_fc ul li p{
	margin: 2rem 0 0;
}
@media screen and (max-width: 767px) {
	.future_fc {
		padding-top: 8rem;
		padding-bottom: 13rem;
		border-radius: 3rem 3rem 0 0;
	}
	.future_fc .subttl h2 {
		margin-bottom: 1.5rem;
	}
	.future_fc .subttl h3 {
		margin-bottom: 2.5rem;
	}
	.future_fc ul {
		margin-top: 5.5rem;
		gap: 2.5rem 1rem;
	}
	.future_fc ul li {
		width: 47%;
	}
	.future_fc ul li h3 {
		margin-bottom: 1.1rem;
		font-size: 2rem;
	}
	.future_fc ul li img {
		border-radius: .75rem;
		box-shadow: .5rem .5rem 1.5rem #00000029;
	}
	.future_fc ul li p {
		margin: 1rem 0 0;
	}
}
/*future_event*/
.future_event{
	padding-top: 8rem;
	padding-bottom: 11.5rem;
	top: -5rem;
	margin-bottom: -5rem;
	border-radius: 4rem 4rem 0 0;
}
.future_event .subttl{
	text-align: center;
}
.future_event .subttl h2{
	margin-bottom: 2.95rem;
}
.future_event .subttl h3{
	margin-bottom: 2.95rem;
}
.future_event .future_event_txt p{
	width: 93.7rem;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}
.future_event ul{
	margin-top: 7rem;
	flex-wrap: wrap;
	gap: 1rem;
	position: relative;
	z-index: 1;
}
.future_event ul li{
	width: 31.5%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.future_event ul li h3{
	margin-bottom: 2.1rem;
	font-size: 2.5rem;
	font-family: "josefin-sans", sans-serif;
	font-weight: 400;
}
.future_event ul li img{
	width: 100%;
	border-radius: 1rem;
}
.future_event ul li p{
	margin: 2rem 0 0;
}
@media screen and (max-width: 767px) {
	.future_event {
		padding-top: 8rem;
		padding-bottom: 13rem;
		border-radius: 3rem 3rem 0 0;
	}
	.future_event .subttl h2 {
		margin-bottom: 1.5rem;
	}
	.future_event .subttl h3 {
		margin-bottom: 2.5rem;
	}
	.future_event ul {
		margin-top: 5.5rem;
		flex-wrap: wrap;
		gap: 2rem 1rem;
	}
	.future_event ul li {
		width: 47%;
	}
	.future_event ul li h3 {
		margin-bottom: 1.2rem;
		font-size: 2rem;
	}
	.future_event ul li img {
		border-radius: .75rem;
	}
	.future_event ul li p {
		margin: 1rem 0 0;
	}
}
/*future_delivery*/
.future_delivery{
	padding-top: 6.795rem;
	padding-bottom: 14.3rem;
	top: -5rem;
	margin-bottom: -5rem;
	border-radius: 4rem 4rem 0 0;
}
.future_delivery .subttl{
	text-align: center;
}
.future_delivery .subttl h2{
	margin-bottom: 2.65rem;
}
.future_delivery .subttl h3{
	margin-bottom: 2.95rem;
}
.future_delivery .future_delivery_txt p{
	width: 93.7rem;
	max-width: 100%;
	margin: 0 auto;
	text-align: center;
}
.future_delivery ul{
	margin-top: 6.6rem;
	flex-wrap: wrap;
	gap: 1rem;
	position: relative;
	z-index: 1;
}
.future_delivery ul li{
	width: 31.5%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.future_delivery ul li h3{
	margin-bottom: 2.1rem;
	font-size: 2.5rem;
	font-weight: 700;
	white-space: nowrap;
}
.future_delivery ul li img{
	width: 100%;
	border-radius: 1rem;
}
.future_delivery ul li p{
	margin: 2rem 0 0;
}
@media screen and (max-width: 1020px) {
	.future_delivery ul li h3 {
	font-size: 2rem;
	}
}
@media screen and (max-width: 767px) {
	.future_delivery {
		padding-top: 8rem;
		padding-bottom: 13rem;
		border-radius: 3rem 3rem 0 0;
	}
	.future_delivery .subttl h2 {
		margin-bottom: 1.5rem;
	}
	.future_delivery .subttl h3 {
		margin-bottom: 2rem;
	}
	.future_delivery ul {
		margin-top: 5.5rem;
		gap: 2.5rem 1rem;
	}
	.future_delivery ul li {
		width: 47%;
	}
	.future_delivery ul li h3 {
		margin-bottom: 1.5rem;
		font-size: 1.8rem;
		text-align: center;
	}
	.future_delivery ul li img {
		border-radius: .75rem;
	}
	.future_delivery ul li p {
		margin: 1.5rem 0 0;
	}
}
/*future_research*/
.future_research{
	padding-top: 7rem;
	padding-bottom: 6rem;
	top: -5rem;
	margin-bottom: -5rem;
}
.future_research .block_back{
	border-radius: 4rem 4rem 0 0 ;
}
.future_research .block_flex_txt{
	margin-top: 2.6rem;
}
@media screen and (max-width: 767px) {
	.future_research .block_flex_txt .subttl h2 {
		margin-top: 0rem;
	}
	.future_research .block_back{
		border-radius: 3rem 3rem 0 0 ;
	}
}
/*company_message*/
.company_message{
	padding-top: 7.3rem;
	padding-bottom: 12.8rem;
	border-radius: 0;
}
.company_message .block_flex_txt{
	margin-top: 2.3rem;
}
.company_message .block_flex_txt .subttl h2{
	margin-bottom: 2.95rem;
}
.company_message .block_flex_txt .subttl h3{
	margin-bottom: 3.9rem;
}
.company_message .block_flex_txt p{
	margin-bottom: 3.1rem;
}
.company_message .block_flex_txt span{
	text-align: right;
	font-size: 1.6rem;
	font-weight: bold;
}
.company_message .pond{
	top: 15%;
    right: 19%;
    width: 32.1vw;
}
@media screen and (max-width: 767px) {
	.company_message {
		padding-top: 5.5rem;
		padding-bottom: 10.8rem;
	}
	.company_message .block_flex_txt .subttl h2 {
		margin-bottom: 1.5rem;
	}
	.company_message .block_flex_txt .subttl h3 {
		margin-bottom: 2.5rem;
	}
	.company_message .block_flex_txt p {
		margin-bottom: 2.1rem;
	}
	.company_message .pond {
        top: 52%;
        left: 43%;
        width: 77vw;
        transform: translateX(-50%);
    }
}
@media screen and (max-width: 450px) {
    .company_message .pond {
        top: 38%;
        left: 50%;
        width: 77vw;
        transform: translateX(-50%);
    }
}
/*company_mission*/
.company_mission{
	padding-top: 7rem;
	padding-bottom: 12.7rem;
	top: -5rem;
	margin-bottom: -5rem;
	border-radius: 4rem 4rem 0 0;
}
.company_mission .subttl{
	text-align: center;
	position: relative;
    z-index: 1;
}
.company_mission .subttl h2{
	margin-bottom: 2.65rem;
}
.company_mission .subttl h3{
	margin-bottom: 4.45rem;
}
.company_mission .company_mission_txt{
	position: relative;
    z-index: 1;
}
.company_mission .company_mission_txt h3{
    font-size: 4rem;
    text-align: center;
    margin-bottom: 2.9rem;
	font-weight: 700;
	font-family: var(--main-font);
	letter-spacing: .249rem;
	line-height: 1.429;
}
.company_mission .company_mission_txt p{
	width: 61.8rem;
	max-width: 100%;
	text-align: center;
	margin: 0 auto;
}
/*company_vision*/
.company_vision{
	padding-top: 9.7rem;
	padding-bottom: 12.7rem;
	top: -5rem;
	margin-bottom: -5rem;
}
.company_vision .block_flex_txt{
	margin-top: 2rem;
}
.company_vision .leaf {
    bottom: 12%;
}
.company_vision .pond {
    top: 14%;
    left: 10%;
    width: 32.1vw;
}
/*company_value*/
.company_value{
	padding-top: 8.5rem;
	padding-bottom: 12.8rem;
	top: -5rem;
	margin-bottom: -5rem;
}
@media screen and (max-width: 767px) {
	.company_mission {
		padding-top: 8rem;
        padding-bottom: 13rem;
		border-radius: 3rem 3rem 0 0;
	}
	.company_mission .subttl h2 {
		margin-bottom: 1.5rem;
	}
	.company_mission .subttl h3 {
		margin-bottom: 2rem;
	}
	.company_mission .company_mission_txt h3 {
		font-size: 2.5rem;
		margin-bottom: 2rem;
	}
	.company_vision {
		padding-top: 8rem;
		padding-bottom: 18.7rem;
	}
	.company_vision .leaf {
		bottom: 10%;
	}
	.company_vision .block_flex_txt .subttl h2 {
        margin-bottom: 1rem;
		margin-top: 1rem;
    }
    .company_vision .pond {
        top: initial;
        bottom: 17%;
        left: 4rem;
        width: 30rem;
    }
    .company_value .pond {
        top: initial;
        bottom: 6%;
        left: 3rem;
        width: 30rem;
    }
	.company_value {
		padding-top: 8rem;
		padding-bottom: 13rem;
	}	
}
@media screen and (max-width: 450px) {
    .company_value .pond {
        top: initial;
        bottom: 18%;
        left: 3rem;
        width: 30rem;
    }
	.company_vision .pond {
        top: initial;
        bottom: 24%;
        left: 4rem;
        width: 30rem;
	}
}
/*company_company*/
.company_company{
	padding-top: 9.125rem;
	padding-bottom: 8.4rem;
	top: -5rem;
	margin-bottom: -5rem;
	border-radius: 4rem 4rem 0 0;
}
.company_company .subttl{
	text-align: center;
}
.company_company .subttl h2{
	margin-bottom: 2.95rem;
}
.company_company .subttl h3{
	margin-bottom: 6.35rem;
}
.company_company dl{
	margin-top: 6rem;
	margin-bottom: 4.9rem;
	border-top: .1rem solid #707070;
}
.company_company dl .dl_flex{
	display: flex;

}
.company_company dl .dl_flex dt{
	width: 26.8%;
	padding: 3.4rem 2.56rem 3.1rem;
	font-size: 1.7rem;
	font-weight: 700;
	border-bottom: 0.1rem solid #707070;
	background-color: #EBE3C6;
}
.company_company dl .dl_flex dd{
	width: 73.1%;
	padding: 3.4rem 2.56rem 3.1rem;
	font-size: 1.7rem;
	font-weight: 500;
	border-bottom: 0.1rem solid #707070;
}
.company_company iframe{
	width: 100%;
    height: 39rem;
}
@media screen and (max-width: 767px) {

	.company_company {
		padding-top: 8rem;
		padding-bottom: 4.4rem;
		border-radius: 3rem 3rem 0 0;
	}
	.company_company .subttl h2 {
		margin-bottom: 1.5rem;
	}
	.company_company .subttl h3 {
		margin-bottom: 3.5rem;
	}
	.company_company dl {
		margin-top: 4rem;
		margin-bottom: 4.9rem;
		border-bottom: .1rem solid #707070;
		border-top: none;
		border-right: .1rem solid #707070;
		border-left: .1rem solid #707070;
	}
	.company_company dl .dl_flex{
		flex-direction: column;
	}
	.company_company dl .dl_flex dt {
		width: 100%;
		padding: 1rem 2rem;
		font-size: 1.6rem;
		border-top: .1rem solid #707070;
		border-bottom: none;
	}
	.company_company dl .dl_flex dd {
		width: 100%;
		padding: 1rem 2rem;
		font-size: 1.6rem;
		border: none;
	}
	.company_company iframe {
		width: 100%;
		height: 23rem;
	}

}
/*-----------------contact_page-------------------*/
.contact_top{
	padding: 8rem 19rem 20rem;
}
.contact_top ul{
	gap: 1rem;
}
.contact_top ul li{
	display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 43.8rem;
    height: 29.9rem;
}
.contact_top ul li .subttl{
	text-align: center;
	z-index: 1;
}
.contact_top ul li .subttl h3{
	font-size: 2rem;
	margin: 1.1rem 0 1.66rem;
}
.contact_top ul li:nth-of-type(1) .subttl h2{
	color: #fff;
}
.contact_top ul li:nth-of-type(1) .subttl h3{
	color: #fff;
}
.contact_top ul li .btn_ctc{
	background-color: #ADBEB3;
	border: .1rem solid #fff;
	width: 100%;
	max-width: 43.2rem;
	padding: 2.13rem 0;
	height: 7.159rem;
	align-items: center;
	border-radius: 3.6rem;
	position: relative;
	z-index: 1;
}
  
.contact_top ul li .btn_ctc p{
	font-size: 2rem;
	margin: 0;
	color: #fff;
	text-align: center;
	line-height: 1.5;
}
.contact_top ul li .btn_ctc span{
	font-size: 3.2rem;
    color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 7%;
}
.contact_top ul li .pond{
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.contact_top ul li:nth-of-type(2) a{
	margin: .6rem 0 1.1rem;
	font-size: 4.2rem;
	font-family: "josefin-sans", sans-serif;
	font-weight: 400;
	position: relative;
	z-index: 1;
}
.contact_top ul li:nth-of-type(2) p{
	font-family: "josefin-sans", sans-serif;
	font-weight: 400;
	font-size: 1.5rem;
	margin: 0;
	position: relative;
	z-index: 1;
}
.contact_top ul li span{
	position: relative;
	z-index: 1;
}@media screen and (max-width: 1020px) {
	.contact_top {
		padding: 4.35rem var(--wrapper) 13.45rem;
	}
	.contact_top ul {
		gap: 3rem;
	}
	.contact_top ul li {
		margin: 0 auto;
		height: 38vw;
	}
}
@media screen and (max-width: 767px) {
	.contact_top ul {
		gap: 3rem;
	}
	.contact_top ul li {
		margin: 0 auto;
		height: 52vw;
	}
	.contact_top ul li span {
		position: relative;
		z-index: 1;
		font-size: 1.4rem;
	}
.contact_top ul li:nth-of-type(1){
margin-bottom: 15rem;
}
	.contact_top ul li .btn_ctc{
		padding: 1.5rem 2.05rem 1.5rem 2.9rem;
		height: 6rem;
		align-items: center;
	}
	.contact_top ul li .btn_ctc p {
		font-size: 1.8rem;
	}
	.contact_top ul li .btn_ctc span {
		font-size: 2rem;
	}
	.contact_top ul li .pond{
		top: 43%;
	}
}

/*contact_contact*/
.contact_contact{
	padding-top: 7.75rem;
	padding-bottom: 9rem;
	top: -5rem;
	margin-bottom: -5rem;
	border-radius: 4rem 4rem 0 0;
}
.contact_contact .subttl{
	margin-bottom: 3.35rem;
	text-align: center;
}
.contact_contact .subttl h2{
	margin-bottom: 2.65rem;
}
.contact_contact .contact_txt{
	margin-bottom: 4.2rem;
}
.product_detail .ec-modal{
    display: none
}
.contact_contact .contact_txt p{
	font-weight: 700;
	text-align: center;
	margin: 0;
	font-size: 1.5rem;
}
.contact_form dl{
	width: 91.1rem;
    margin: 0 auto;
    max-width: 100%;
}
.contact_form .flex_wrap{
	margin-bottom: 3rem;
	align-items: baseline;
	flex-wrap: nowrap;
}
.contact_form .flex_wrap dt{
	font-size: 1.6rem;
    display: flex;
    align-items: baseline;
}
.contact_form .flex_wrap dt .require{
	font-size: 1em;
    color: #C40000;
    padding: 0.3rem 0.6rem;
}
.contact_form .flex_wrap dd{
    max-width: 79.5%;
	width: 72.5rem;
}
.contact_form .flex_wrap dd input,.contact_form .flex_wrap dd textarea{
    background-color: #F8F4EF;
    border: none;
    width: 100%;
    padding: 1.025rem 1rem;
    border-radius: 1rem;
}
.contact_form .flex_wrap dd textarea{
	height: 18.6rem;
}
.contact_form .ctc_submit .flex_wrap{
	justify-content: center;
	gap: 1rem;
	align-items: center;
	margin-bottom: 0;
	flex-direction: row;
}
.contact_form .ctc_submit input[type="checkbox"]{
	width: 2rem;
	height: 2rem;
}
.contact_form dd .wpcf7-exclusive-checkbox label{
	display: flex;
	gap: 0.7rem;
	align-items: center;
}
.contact_form dd .wpcf7-list-item label input{
	width: initial;
}

.wpcf7-form-control-wrap{
	height: 2rem;
}
.contact_form .flex_wrap:nth-last-of-type(1){
	margin-bottom: 4.757rem;
}

.contact_form .privacy_policy{
	margin: 1.726rem 0 2.5rem;
	padding: 1rem 4rem;
	overflow: scroll;
	height: 8em;
	border: .1rem solid #000000;
	border-radius: 1rem;
	background-color: #F8F4EF;
}
.contact_form .privacy_policy h3{
	font-weight: 700;
	font-family: var(--main-font);
}
.contact_form .privacy_policy p{
	line-height: 1.786;
}
.contact_form .ctc_submit p,.contact_form .ctc_submit a{
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.7;
}
.contact_form .ctc_submit .ctc_btn{
	color: #fff;
	background-color: #ACA060;
 	position: relative;
 	min-width: 18rem;
	max-width: 100%;
	display: flex;
 	align-items: center;
	justify-content: center;
	margin: 0.5rem auto;
    height: 6.3rem;
	width: 28.4rem;
	font-size: 2rem;
	border: none;
	border-radius: 3.8rem;
	transition: .3s;
}
.contact_form .ctc_submit .ctc_btn:hover{
	background-color: #fff;
	color: #181B39;
}
.contact_form .ctc_submit .wpcf7-list-item {
    display: inline-block;
    margin: 0;
}
@media screen and (max-width: 1020px) {
	.contact_form .flex_wrap {
		margin-bottom: 1.75rem;
		flex-direction: column;
		gap: .5rem;
	}
	.contact_form .flex_wrap dd {
		width: 100%;
		max-width: initial;
	}
}
@media screen and (max-width: 767px) {
	.contact_contact {
		padding-top: 8rem;
		padding-bottom: 4rem;
		border-radius: 3rem 3rem 0 0;
	}
	.contact_contact .subttl {
		margin-bottom: 2.5rem;
	}
	.contact_contact .subttl h2 {
		margin-bottom: 1.5rem;
	}
	.contact_form .flex_wrap {
		margin-bottom: 1.75rem;
		flex-direction: column;
		gap: .5rem;
	}
	.contact_form .flex_wrap dd {
		width: 100%;
	}
	.contact_form .flex_wrap dd input, .contact_form .flex_wrap dd textarea {
		border-radius: .75rem;
	}
	.contact_form .ctc_submit .ctc_btn {
		width: 25.5rem;
		height: 4.5rem;
		font-size: 1.6rem;
	}

	.contact_contact .sub_ttl {
		margin-bottom: 4rem;
	}
	.contact_form .privacy_policy {
		padding: 1rem 1.5rem;
	}
	.wpcf7-form-control-wrap {
		font-size: 1.5rem;
	}

.contact_form .flex_wrap:nth-last-of-type(1) {
    margin-bottom: 3.757rem;
}
}
/* ===================================================================
// フッター
// ===================================================================*/
#footer.footer{
	background-color: #5C7B67;
}
#footer .footer_main{
	padding-top: 6.2rem;
	padding-bottom: 3.7rem;
}
#footer .footer_main .footer_company{
	text-align: center;
}
#footer .footer_main .footer_company h1{
	font-size: 3.5rem;
	color: #fff;
	margin-bottom: 3rem;
}
#footer .footer_main .footer_company p{
	color: #fff;
	line-height: 1.375;
	margin-bottom: 1.3rem;
}
#footer .footer_main .footer_lang{
	display: flex;
	justify-content: center;
	gap: 1.8rem;
	margin-bottom: 2.8rem;
}
#footer .footer_main .footer_lang a{
	background-color: #ADBEB3;
	border: .1rem solid #707070;
	color: #181B39;
	padding: .8rem 4rem;
	border-radius: 1.7rem;
}
#footer .footer_main ul{
	gap: 1rem 4.8rem;
    justify-content: center;
}
#footer .footer_main ul li a{
	color: #fff;
	font-family: var(--sub-font);
	font-weight: 500;
}
#footer .footer_copyright{
	text-align: center;
	padding-bottom: .7rem;
}
#footer .footer_copyright p{
	color: #fff;
	font-size: 1.2rem;
	margin: 0;
	font-family: var(--sub-font);
}
@media screen and (max-width: 1135px) {
	#footer .footer_main ul{
		gap:  2rem ;
		justify-content: center;
	}
}
@media screen and (max-width: 767px) {
	#footer .footer_main ul{
        align-items: center;
        gap: 1rem;
        flex-wrap: wrap;
        justify-content: center;
	}
    #footer .footer_main ul li {
        width: 50%;
        text-align: left;
	}
	#footer .footer_main ul li:nth-of-type(even){
        width: 30%;
	}
	#footer .footer_main ul::after{
		content: '';
		display: block;
        width: 30%;

	}

}
	/*404*/
	.page_404 .content_404{
		text-align: center;
		padding-top: 10rem;
		padding-bottom: 15rem;
	}
	.page_404 h2{
		font-size: 3rem;
		margin-bottom: 2rem;
	
	}
	.page_404 .btn{
		margin: 0 auto;
		margin-top: 5rem;
	}

.line_qr{
width: 30%;
margin: 4rem 35%;
position: relative;
}
@media screen and (max-width: 767px) {
.line_qr{
width: 50%;
margin: 4rem 25%;
position: relative;
}
}