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

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html, body {
  display: flex;
  flex-direction: column;
  color: #1F1D1D;
  font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 16px;
	scroll-behavior: smooth;
	width: 100%;
}
@media only screen and (max-width: 767px) {
	html, body {
		font-size: 14px;
	}
}


p {
	font-weight: 400;
	line-height: 1.8;
}

a {
    transition : all 0.3s ease 0s;
}
section {
	width: 100%;
}

/* common
-----------------------------------------*/
.section {
  width: 100%;
	padding: 60px 0 80px 0;
}
@media only screen and (max-width: 767px) {
  .section {
		padding: 50px 0 60px 0;
  }
}

.inner {
  max-width: 960px;
	padding: 0;
  margin: 0 auto;
}

@media only screen and (max-width: 767px) {
  .inner {
		width: 100%;
		padding: 0 20px;
		margin: 0 auto; 
  }
}

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

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



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

.header {
	background-color: #FFFFFF;
	position: fixed;
	top: 0;
	width: 100%;
		height: 100px;
	z-index: 9999;
}
@media only screen and (max-width: 767px) {
  .header {
		height: 60px;
  }
}
.header_inner {
	width: 100%;
  min-width: 1200px;
	height: 100%;
  display: flex;
	justify-content: flex-end;
  align-items: center;
  margin: 0 auto;
	position: relative;
}
.header_inner img {
  width: 100%;
	height: auto;
}
@media only screen and (max-width: 767px) {
  .header_inner {
	  width: 100%;		
    height: 60px;
		padding: 0 10px;
	}
}


.header_ttl {
	width: 250px;
	height: 43px;
	position: absolute;
	left: 80px;
	top:0;
	bottom: 0;
	margin: auto 0;
}
.header_ttl img {
	width: 100%;
}

ul.gnavi_pc {
	list-style-type: none;
	display: flex;
	font-size: 18px;
	padding-right: 10px;
	font-weight: 700;
}
ul.gnavi_pc li a {
	display: block;
	text-decoration: none;
	color: #8CC320;
}

.li_access {
    background-image: url(../images/ico_access.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 30px auto;
	padding: 10px 15px 10px 30px;
}
.li_line {
    background-image: url(../images/ico_line.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 30px auto;
	padding:10px 15px 10px 35px;
}

.header_cta {
	display: flex;
	color: #8CC320;

}
.header_cta_tel {
	display: flex;
	flex-direction:column;
	justify-content:center;
	line-height: 1;
	padding-right: 35px;
	font-weight: 700;
    background-image: url(../images/ico_phone.png);
    background-repeat: no-repeat;
    background-position: left 5px center;
    background-size: 25px auto;
	padding-left: 35px;
		text-decoration: none;
	color: #8CC320;

}
.telno {
	font-family: "Zen Old Mincho", serif;
	font-size: 30px;
	font-weight: 400;
	display: block;
}

.teltxt {
	font-size: 16px;
	display: block;
}
.btn_contact {
    width: 380px;
    height: 100px;
    display: flex;
    flex-direction: column;
    align-items : flex-start;
    justify-content: center;
    background-color: #8CC320;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    color: #FFFFFF;
    text-decoration: none;
    line-height: 1.2;
    background-image: url(../images/ico_mail.png);
    background-repeat: no-repeat;
    background-position: left 20px center;
    background-size: 30px auto;
	padding-left: 60px;
}
.btn_contact span {
	font-size: 18px;
}
.btn_contact:hover {
	opacity: 0.8;
}

.btn_contact:hover::after {
	transform: translate(0,2px);
}

@media only screen and (max-width: 767px) {
	.header_ttl {
		width: 200px;
		height: auto;
		left: 10px;
		top: 15px;
	}
	.header_ttl img {
			width: 100%;
	}
	ul.gnavi_pc {
		display: none;
	}
	.header_cta {
		display: none;
	}

	.li_access {
		display: block;
			background-image: url(../images/ico_access.png);
			background-repeat: no-repeat;
			background-position: left center;
			background-size: 30px auto;
		padding: 10px 15px 10px 50px;
	}
	.li_line {
			background-image: url(../images/ico_line.png);
			background-repeat: no-repeat;
			background-position: left center;
			background-size: 30px auto;
		padding:10px 15px 10px 35px;
	}
	
	.header_cta_tel {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	line-height: 1;
	padding-right: 35px;
	font-weight: 700;
	background-image: url(../images/ico_phone.png);
	background-repeat: no-repeat;
	background-position: left 20px center;
	background-size: 25px auto;
	padding: 10px;
	text-decoration: none;
	color: #8CC320;
	margin-bottom: 20px;
	border: 1px solid #CBCBCB;
	}
	.telno {
		font-family: "Zen Old Mincho", serif;
		font-size: 24px;
		font-weight: 400;
		display: block;
	}

	.teltxt {
		font-size: 14px;
		display: block;
	}
	.btn_contact {
			width: 100%;
			height: auto;
		padding: 10px 0;
			display: flex;
			flex-direction: column;
			align-items : flex-start;
			justify-content: center;
			background-color: #8CC320;
			text-align: center;
			font-size: 16px;
			font-weight: 700;
			color: #FFFFFF;
			text-decoration: none;
			line-height: 1.2;
			background-image: url(../images/ico_mail.png);
			background-repeat: no-repeat;
			background-position: left 20px center;
			background-size: 30px auto;
		padding-left: 60px;
	}
	.btn_contact span {
		font-size: 18px;
	}
	.btn_contact:hover {
		opacity: 0.8;
	}

	.btn_contact:hover::after {
		transform: translate(0,2px);
	}
}


/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position:fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
	top:0;
  right: -120%;
	width:630px;
  height: 100vh;/*ナビの高さ*/
	background:#1F1D1D;
  /*動き*/
	transition: all 0.6s;
}

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

.header_ttl_g-navi {
	width: 100%;
	height: 60px;
	position: absolute;
	top: 10px;
	border-bottom: 1px solid #DBDBDB;
	background-color: #ffffff;
	z-index: 1002;
}
.header_ttl_g-navi img {
    width: auto;
    height: 34px;
	margin: 5px auto auto 10px;
}


/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.g-nav_inner {
	width:100%;
	margin: 0 auto;
	padding: 100px 0 0 70px;
}
.g-navi_lists {
	width: 500px;
	display: block;
}
@media screen and (max-width: 767px) {
	#g-nav{
		/*position:fixed;にし、z-indexの数値を大きくして前面へ*/
		position:fixed;
		z-index: 10000;
		/*ナビのスタート位置と形状*/
		top:0;
		right: -120%;
		width:100%;
		height: 100vh;/*ナビの高さ*/
		background:#ffffff;
		/*動き*/
		transition: all 0.6s;
	}
	.g-nav_inner {
		max-width:100%;
		padding: 100px 10px 10px 10px;
		z-index: 999;
	}
	.g-navi_lists {
		width: 90%;
		display: block;
		margin: 0 auto;
	}
	.g-navi_cta {
		width: 90%;
		margin: 0 auto;
	}
} 


/*ナビゲーション*/
#g-nav ul {
	width: 100%;
  z-index: 999;
	margin-bottom: 50px;
	font-weight: 500;
}

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

#g-nav li{
	list-style: none;

}

#g-nav li a{
	color: #8CC320;
	text-decoration: none;
	padding: 20px 0;
	display: block;
	text-transform: uppercase;
	font-size: 22px;
}
#g-nav li.li_sub{
	color: #8CC320;
	text-decoration: none;
	padding: 10px 0;
	display: block;
	text-transform: uppercase;
	font-size: 24px;
}
#g-nav li.li_sub ul {
	margin-bottom: 0;
}
#g-nav li.li_sub ul li a {
	color: #8CC320;
	text-decoration: none;
	padding: 10px 0;
	display: block;
	text-transform: uppercase;
	font-size: 20px !important;
}

#g-nav li.li_sub ul li:last-child a {
	border-bottom: none;
}

@media screen and (max-width: 767px) {
	#g-nav ul {
	width: 100%;
	z-index: 999;
	margin-bottom: 50px;
}
	#g-nav li a{
	padding: 20px 0 20px 50px;
	font-size: 18px;
	border-bottom: 1px dashed #ADADAD;
	}
	#g-nav li.li_sub ul {
		padding-left: 50px;
	}
	#g-nav li.li_sub ul li a {
		font-size: 16px !important;
	}
} 


.g-navi_btn {
	width: 285px;
	height: 85px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 50px;
}
.g-navi_btn span {
	display: block;
	color: #283C64;
	font-weight: 700;
	font-size: 16px;
	padding-right: 20px;
}
.g-navi_btn img {
	width: 40px;
	height: 40px;
}
@media screen and (max-width: 767px) {
	.g-navi_btn {
		width: 240px;
		height: 60px;
		border-radius: 50px;
	}
	.g-navi_btn span {
		font-size: 14px;
		padding-right: 10px;
	}
	.g-navi_btn img {
		width: 40px;
		height: 40px;
	}
} 



.g-nav_map {
	width: 400px;
	color: #fff;
	text-align: center;
}
.g-nav_map p.p1 {
	font-size: 14px;
	margin-top: 30px;
}
.g-nav_map p.p2 {
	font-weight: 700;
	font-size: 18px;
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.g-nav_map {
		display: none;
	}
} 


/*========= ボタンのためのCSS ===============*/
.openbtn {
	display: none;
}


@media screen and (max-width: 767px) {
	
	/*========= ボタンのためのCSS ===============*/
	.openbtn {
		display: block;
		position: fixed;
		z-index: 10001;/*ボタンを最前面に*/
		top: 0px;
		right: 10px;
		cursor: pointer;
		width: 60px;
		height: 60px;
		background-color: #ffffff;
	}
	.openbtn.active {
		background-color: #ffffff;
	}

	/*×に変化*/	
	.openbtn span{
		display: inline-block;
		transition: all .4s;
		position: absolute;
		margin: 0 auto;
		left: 0;
		right: 0;
		height: 3px;
		border-radius: 2px;
		background-color: #8CC320;
		width: 45%;
	}

	.openbtn span:nth-of-type(1) {
		top:20px;	
	}
	.openbtn span:nth-of-type(2) {
		top:30px;
	}
	.openbtn span:nth-of-type(3) {
		top:40px;
	}
	
	.openbtn.active span{
		background-color: #8CC320;
	}
	.openbtn.active span:nth-of-type(1) {
			top: 30px;
			transform: rotate(-45deg);
			width: 50%;
	}
	.openbtn.active span:nth-of-type(2){
			display: none;
	}
	.openbtn.active span:nth-of-type(3){
			top: 30px;
			transform: rotate(45deg);
			width: 50%;
	}

} 



/* fv
-----------------------------------------*/

.fv {
	padding-top: 100px;
	overflow: hidden;
}

.fv_inner {
	width: 100%;
	min-width: 1200px;
	height: auto;
	aspect-ratio: 160 / 65;
	margin: 0 auto;
}

.fv_img {
	width: 100%;
}
.fv_copy_wrap {
	width: 90%;
	min-width: 1200px;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 20%;
}

.fv_copy {
	max-width: 320px;
	width: 25%;
	margin-left:100px;
}

@media only screen and (max-width: 767px) {
	.fv {
		padding-top: 60px;
		overflow: hidden;
	}

	.fv_inner {
		width: 100%;
		min-width: 100%;
		height: auto;
		aspect-ratio: 1200 / 644;
		margin: 0 auto;
		position: relative;
	}

	.fv_img {
		width: 100%;
	}

	.fv_copy_wrap {
		width: 100%;
		min-width: 100%;
		margin: 0 auto;
		position: absolute;
		left: 0;
		right: 0;
		top: 20%;
	}

	.fv_copy {
		max-width: 400px;
		width: 40%;
		margin-left:10px;
	}
}


/* bottun
-----------------------------------------*/

.btn {
	height: 64px;
	width: 190px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FFFFFF;
	border-radius: 40px;
	text-decoration: none;
	font-size: 16px;
	font-weight: 700;
}
.btn_mail {
	color:#30375B;
	border: 2px solid #30375B;	
}
.btn_mail:hover {
	color:#FFFFFF;
	background-color: #30375B;
	border: 2px solid #30375B;	
}
.btn_mail::before {
	content: "";
	width: 30px;
	height: 21px;
	background-image: url(../images/ico_mail.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-right: 10px;
}
.btn_mail:hover::before {
	background-image: url(../images/ico_mail_wh.png);
}
.btn_mail::after {
	content: "";
	width: 14px;
	height: 12px;
	background-image: url(../images/arrow_bl_btn.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: 10px;
}
.btn_mail:hover::after {
	background-image: url(../images/arrow_wh_btn.png);
	transform: translate(3px,0);
}

.btn_line {
	color:#06C755;
	border: 2px solid #06C755;
}
.btn_line:hover {
	color:#ffffff;
	background-color: #06C755;
	border: 2px solid #06C755;
}
.btn_line::before {
	content: "";
	width: 35px;
	height: 33px;
	background-image: url(../images/ico_line.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-right: 12px;
}
.btn_line:hover::before {
	background-image: url(../images/ico_line_wh.png);
}
.btn_line::after {
	content: "";
	width: 14px;
	height: 12px;
	background-image: url(../images/arrow_gr_btn.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: 10px;
}
.btn_line:hover::after {
	background-image: url(../images/arrow_wh_btn.png);
	transform: translate(3px,0);
}

@media only screen and (max-width: 767px) {
	.btn {
		height: 52px;
		width: 170px;
		border-radius: 40px;
		font-size: 14px;
		margin: 0 10px;
	}
	.btn_mail {
		color:#30375B;
		border: 2px solid #30375B;	
	}
	.btn_mail::before {
		width: 28px;
		height: 19px;
		margin-right: 10px;
	}
	.btn_mail::after {
		width: 14px;
		height: 12px;
		margin-left: 10px;
	}
	
	.btn_line {
		color:#06C755;
		border: 2px solid #06C755;
	}
	.btn_line::before {
		width: 28px;
		height: 26px;
		margin-right: 12px;
	}
	.btn_line::after {
		width: 14px;
		height: 12px;
		margin-left: 10px;
	}
}

.btn_cont {
	height: 64px;
	display: flex;
	margin: 0 auto;
	align-items: center;
	justify-content: center;
	background-color: #FFFFFF;
	border-radius: 40px;
	text-decoration: none;
	font-size: 16px;
	font-weight: 700;
	color:#30375B;
	border: 2px solid #30375B;	
}
.btn_cont:hover {
	background-color: #FFCC20;
}

.btn_cont::after {
	content: "";
	width: 14px;
	height: 12px;
	background-image: url(../images/arrow_bl_btn.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-left: 10px;
}
.btn_cont:hover::after {
	transform: translate(3px,0);
}
.btn_jisseki {
	width: 270px;
}
.btn_jisseki:hover {
	background-color: #30375B;
	color: #ffffff;
}
.btn_jisseki:hover::after {
	background-image: url(../images/arrow_wh_btn.png);
}

.btn_voice {
	width: 286px;
}
.btn_send {
	width: 175px;
}



/* contents
-----------------------------------------*/

.h2_wh {
	color: #FFFFFF;
	font-family: "Zen Old Mincho", serif;
	font-size: 70px;
	font-weight: 400;
}
.h2_gr {
	color: #A7D76E;
	font-family: "Zen Old Mincho", serif;
	font-size: 70px;
	font-weight: 400;
}
.h2_sub {
	color: #FFFFFF;
	font-size: 22px;
	font-weight: 400;
	background-color: #FF6E00;
	padding: 5px 10px;
	position: relative;
}
.h2_sub::after {
	content: "";
	width: 20px;
	height: 20px;
	background-color: #FF6E00;
	position: absolute;
	top: -20px;
	right: -20px;
}
.sub_about {
	margin: -10px auto 50px 130px;
}
.sub_vision {
	margin: -10px auto 50px 190px;
}
.sub_feature {
	margin: -10px auto 50px 160px;
}
.sub_flow {
	margin: -10px auto 50px 200px;
}
.sub_conference {
	margin: -10px auto 50px 350px;
}
.sub_access {
	margin: -10px auto 50px 160px;
}


@media only screen and (max-width: 767px) {
	.h2_wh {
		font-size: 36px;
	}
	.h2_gr {
		font-size: 36px;
	}
	.h2_sub {
		font-size: 18px;
		padding: 3px 8px;
		position: relative;
	}
	.h2_sub::after {
		width: 16px;
		height: 16px;
		top: -16px;
		right: -16px;
	}
	.sub_about {
		margin: -10px auto 50px 80px;
	}
	.sub_vision {
		margin: -10px auto 50px 100px;
	}
	.sub_feature {
		margin: -10px auto 50px 100px;
	}
	.sub_flow {
		margin: -10px auto 50px 80px;
	}
	.sub_conference {
		margin: -10px auto 50px 100px;
	}
	.sub_access {
		margin: -10px auto 50px 60px;
	}
}



/*ohkawa*/

.ohkawa {
	padding: 100px 0;
	min-width: 1200px;
	position: relative;
}
.ohkawa::after {
	content: "";
	width: 420px;
	height: 110%;
	position: absolute;
	right: 0;
	top: 0;
	background-image: url(../images/bg_ohkawa.png);
	background-position: right top;
	background-size: 100% auto;
	background-repeat: no-repeat;
}

.ohkawa_inner {
	width: 1200px;
	margin: 0 auto;
	padding-bottom: 70px;
	position: relative;
	background-image: url(../images/bg_name.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 700px auto;
}
.ohkawa_concept {
	padding: 20px 0 0 200px;
	
}
.ohkawa_concept p {
	font-size: 20px;
	font-weight: 400;
	margin-bottom: 60px;
}
.ohkawa_concept p.kokokara {
	color: #FF6E00;
	font-size: 30px;
	font-weight: 700;
}
.initials {
	position: absolute;
	left: 0;
	top: 0;
	width: 155px;
}
.initials img {
	width: 100%;
}

@media only screen and (max-width: 767px) {
	.ohkawa {
		padding: 60px 20px 60px 20px;
		min-width: 100%;
		position: relative;
	}
	.ohkawa::after {
		display: none;
	}

	.ohkawa_inner {
		width: 100%;
		margin: 0 auto;
		padding-bottom: 50px;
		position: relative;
		background-image: url(../images/bg_name.png);
		background-repeat: no-repeat;
		background-position: left bottom;
		background-size: 60% auto;
	}
	.ohkawa_concept {
		padding: 0 0 0 110px;

	}
	.ohkawa_concept p {
		font-size: 16px;
		font-weight: 400;
		margin-bottom: 30px;
	}
	.ohkawa_concept p.kokokara {
		color: #FF6E00;
		font-size: 20px;
		font-weight: 700;
	}
	.initials {
		position: absolute;
		left: 0;
		top: 0;
		width: 80px;
	}
	.initials img {
		width: 100%;
	}
}




/* ABOUT PICKUP */


.about {
	background-color: #8CC320;
	padding:200px 0 50px 0; 
	min-width: 1200px;
}
.about_inner {
	max-width: 1200px;
	margin: 0 auto;
}


.about_txt {
	color: #FFFFFF;
	padding: 100px 0 150px 180px;
}
.point {
	padding: 20px 0 20px 180px;
	background-image: url(../images/point.png);
	background-repeat: no-repeat;
	background-size: 120px 120px;
	background-position: left top 20px;
	list-style-type: none;
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: 700;
}
.point li {
	margin-bottom: 30px;
	position: relative;
}
.point li::before {
	content: "●";
	position: absolute;
	left: -20px;
}
.about_exp {
	color: #FFFFFF;
	border-radius: 10px;
	border: 2px solid #FFFFFF;
	padding: 30px;
	font-size: 18px;
	font-weight: 400;
}

@media only screen and (max-width: 767px) {
	.about {
		padding:60px 20px 50px 20px; 
		min-width: 100%;
	}
	.about_inner {
		max-width: 100%;
		margin: 0 auto;
	}

	.about_txt {
		padding: 60px 0;
	}
	.point {
    padding: 105px 0 10px 20px;
    background-image: url(../images/point.png);
    background-repeat: no-repeat;
    background-size: 80px 80px;
    background-position: center top;
    list-style-type: none;
    margin-bottom: 0;
    font-size: 18px;
    font-weight: 700;
	}
	.point li {
		margin-bottom: 15px;
		position: relative;
		line-height: 1.4;
	}
	.point li::before {
		content: "●";
		position: absolute;
		left: -20px;
	}
	.about_exp {
		color: #FFFFFF;
		border-radius: 10px;
		border: 2px solid #FFFFFF;
		padding: 30px;
		font-size: 16px;
		font-weight: 400;
	}
}




/* VISION */

.vision {
	background-color: #ECF7DF;
	position: relative;
	background-image: url(../images/bg_vision.png);
	background-repeat: no-repeat;
	background-position: right top 350px;
	background-size: 65% auto;
	min-width: 1200px;
}

.vision_img {
	width: 680px;
	z-index: 1;
}
.vision_img img {
	width: 100%;
	height: auto;
}
.vision_inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	z-index: 10;
}
.vision_cont {

	width: 50%;
}
.h2_vision {
}
.vision_txt {
	padding: 120px 0;
	font-size: 20px;
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.vision {
		position: relative;
		background-image: none;
		background-repeat: no-repeat;
		background-position: right top 350px;
		background-size: 65% auto;
		min-width: 100%;
	}

	.vision_img {
		width: 100%;
		z-index: 1;
	}
	.vision_img img {
		width: 100%;
		height: auto;
	}
	.vision_inner {
		max-width: 100%;
		margin: 0 auto;
		display: flex;
		justify-content: flex-end;
		z-index: 10;
		background-color: #FFFFFF;
	}
	.vision_cont {
		width: 95%;
		background-color: #FFFFFF;
		padding-top: 50px;
	}
	.h2_vision {
		padding-left: 10px;
	}
	.vision_txt {
		padding: 40px 10px;
		font-size: 18px;
		font-weight: 700;
	}
}


/*FEATURE*/

.feature {
	background-color: #DDEDBC;
	position: relative;
	background-image: url(../images/bg_vision.png), url("../images/bg_feature.png");
	background-repeat: no-repeat;
	background-position: right bottom,top;
	background-size: 65% auto,100% 150px;
	min-width: 1200px;
}
.feature_inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content:space-between;
	z-index: 10;
	padding-bottom: 70px;
}
.h2_feature {
	
}
.feature_txt {
	width: 50%;
}
.feature_head {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 30px;
}
.feature_cont {
	font-size: 18px;
	font-weight: 400;
	margin-bottom: 30px;
}
.feature_txt img {
	width: 100%;
}


@media only screen and (max-width: 767px) {
	.feature {
		background-color: #DDEDBC;
		position: relative;
		background-image: none;
		background-repeat: no-repeat;
		background-position: right bottom,top;
		background-size: 65% auto,100% 150px;
		min-width: 100%;
	}
	.feature_inner {
	max-width: 100%;
	margin: 0 auto;
	padding: 60px 20px;
	display: block;
	z-index: 10;
	background-color: #FFFFFF;
	}
	.h2_feature {

	}
	.feature_txt {
		width: 100%;
		margin: 50px auto auto auto;
	}
	.feature_head {
		font-size: 20px;
		font-weight: 700;
		margin-bottom: 30px;
	}
	.feature_cont {
		font-size: 16px;
		font-weight: 400;
		margin-bottom: 30px;
	}
	.feature_txt img {
		width: 70%;
		display: block;
		margin: 0 auto;
	}	
	
}


/*FLOW*/

.flow {
	background-color: #DDEDBC;
	background-image: url(../images/bg_flow.png);
	background-repeat: no-repeat;
	background-position: left top 290px;
	background-size: 70% auto;
	min-width: 1200px;
}
.flow_inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 130px 0;
}
.h2_flow {
	
}
.flow_cont {
	width: 70%;
	padding: 130px 0;
}
.flow_cont img {
	width: 100%;
}
.flow_caution {
	font-size: 18px;
	font-weight: 400;
	text-align: right;
	margin-bottom: 40px;

}
.flow_p {
	font-size: 18px;
	font-weight: 400;
	display: block;
	background-color: #8CC320;
	border-radius: 10px;
	padding: 60px 10px;
	text-align: center;
	color: #FFFFFF;
	text-decoration: none;
}

@media only screen and (max-width: 767px) {
	.flow {
		background-color: #ffffff;
		background-image: none;
		background-repeat: no-repeat;
		background-position: left top 290px;
		background-size: 70% auto;
		min-width: 100%;
	}
	.flow_inner {
	max-width: 100%;
	margin: 0 auto;
	padding: 60px 20px;
	
	}
	.h2_flow {

	}
	.flow_cont {
		width: 100%;
		padding: 50px 10px;
		background-color: #FFFFFF;
		margin-top: 30px;
	}
	.flow_img_wrap {
		width: 100%;
		height: 180px;
		overflow-x: scroll;
		overflow-y: hidden !important;
	}
	.flow_cont img {
		width: auto;
		height: 100%;
	}
	.flow_caution {
		font-size: 16px;
		font-weight: 400;
		text-align: right;
		margin-bottom: 40px;

	}
	.flow_p {
		font-size: 16px;
		font-weight: 400;
		display: block;
		background-color: #8CC320;
		border-radius: 10px;
		padding: 30px 10px;
		text-align: center;
		color: #FFFFFF;
		text-decoration: none;
		line-height: 1.4;
	}	
}


/*CONFERENCE*/

.conference {
	background-color: #DDEDBC;
	background-image: url(../images/bg_flow.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	background-size: 70% auto;
	min-width: 1200px;
}
.conference_inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0;
}
.h2_conference {
	
}

.conference_cont {
	width: 70%;
	padding: 130px 0;
}
.conference_list {
	list-style-type: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 80px;
}
.conference_list li {
	width: 48%;
	padding: 20px;
	border-bottom: 1px solid #8CC320;
}
.conference_list li:nth-child(1),
.conference_list li:nth-child(2) {
	border-top: 1px solid #8CC320;
}

.conf_wrap a {
	display: none !important;
}

.conference_dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 80px;
}
.conference_dl dt {
	display: none;
}
.conference_dl dd {
	width: 48%;
	padding: 20px;
	border-bottom: 1px solid #8CC320;
}
.conference_dl dd:nth-child(2),
.conference_dl dd:nth-child(4) {
	border-top: 1px solid #8CC320;
}

.conference_exp {
	font-size: 18px;
	font-weight: 400;
	margin-bottom: 40px;
}



@media screen and (max-width: 769px){
	.conference {
		background-color: #DDEDBC;
		background-image: none;
		background-repeat: no-repeat;
		background-position: left bottom;
		background-size: 70% auto;
		min-width: 100%;
	}
	.conference_inner {
		max-width: 100%;
		margin: 0 auto;
		padding: 0 20px;
		background-color: #FFFFFF;
	}
	.h2_conference {

	}

	.conference_cont {
		width: 100%;
		padding: 70px 0;
	}
	.conference_list {
		list-style-type: none;
		display: flex;
		flex-direction:column;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: 16px;
		font-weight: 700;
		margin-bottom: 80px;
	}
	.conference_list li {
		width: 100%;
		padding: 20px;
		border-bottom: 1px solid #8CC320;
	}
	.conference_list li:nth-child(1) {
		border-top: 1px solid #8CC320;
	}
	.conference_list li:nth-child(2) {
		border-top: none;
	}
	.conference_dl {
		flex-direction:column;
		font-size: 16px;
	}
	.conference_dl dt {
		display: none;
	}
	.conference_dl dd {
		width: 100%;
		padding: 20px;
		border-bottom: 1px solid #8CC320;
	}
	.conference_dl dd:nth-child(2) {
		border-top: 1px solid #8CC320;
	}
	.conference_dl dd:nth-child(4) {
		border-top: none;
	}
	.conference_exp {
		font-size: 16px;
		font-weight: 400;
		margin-bottom: 40px;
	}	
}


/*access*/

.access {
	background-color: #DDEDBC;
	padding: 180px 0;
	min-width: 1200px;
}
.access_inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
}
.access_txt {
	width: 50%;
}
.h2_access {
	
}

.access_exp {
	font-size: 20px;
	font-weight: 700;
	margin: 100px auto 20px 0;
}
.access_adress {
	font-size: 18px;
	font-weight: 400;
	margin-bottom: 30px;
}
.access_tel {
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-size: 22px;
	background-image: url(../images/ico_phone.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 16px 22px;
	padding-left: 30px;
}
.access_map {
	width: 50%;
}

@media screen and (max-width: 769px){
	.access {
		background-color: #DDEDBC;
		padding: 60px 0;
		min-width: 100%;
	}
	.access_inner {
		max-width: 100%;
		padding: 0 20px;
		margin: 0 auto;
		display: block;
	}
	.access_txt {
		width: 100%;
	}
	.h2_access {

	}

	.access_exp {
		font-size: 18px;
		font-weight: 700;
		margin: 60px auto 20px 0;
	}
	.access_adress {
		font-size: 16px;
		font-weight: 400;
		margin-bottom: 30px;
	}
	.access_tel {
		font-family: "Roboto", sans-serif;
		font-weight: 700;
		font-size: 22px;
		background-image: url(../images/ico_phone.png);
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 16px 22px;
		padding-left: 30px;
		margin-bottom: 30px;
	}
	.access_map {
		width: 100%;
	}	
}


/*CONTACT*/

.contact {
	background-image: url(../images/bg_contact.jpg);
	background-position: center top;
	background-size: 100% auto;
	background-repeat: no-repeat;
	padding: 160px 0;
	min-width: 1200px;
}
.contact_inner {
	max-width: 1200px;
	border-radius: 30px;
	padding: 100px;
	margin: 0 auto;
	background-color: #FFFFFF;
	border: 2px solid #8CC320;
}
.h2_contact {
	color: #000000;
	font-size: 70px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	text-align: center;
	margin-bottom: 30px;
}
.contact_head {
	color: #FF6E00;
	font-weight: 700;
	font-size: 22px;
	text-align: center;
	max-width: 600px;
	margin: 0 auto 50px auto;
	background-image: url(../images/bg_contact_h2_l.png),url(../images/bg_contact_h2_r.png);
	background-repeat: no-repeat;
	background-size: 34px 34px;
	background-position: left center,right center;
}
.contact_exp {
	font-weight: 500;
	font-size: 18px;
	margin-bottom: 50px;
}
.contact_line {
	max-width: 80%;
	margin: 0 auto 50px auto;
	background-color: #DDEDBC;
	display: flex;
	justify-content: space-around;
	align-items: center;
	border-radius: 10px;
	padding: 30px;
}
.contact_line p {
	color: #8CC320;
	font-size: 18px;
	font-weight: 700;
	width: 40%;
}

.line_separete {
	display: block;
	width: 2px;
	height: 80px;
	background-color: #8CC320;	
}
.line_img1 {
	width: 200px;
	height: 110px;
}
.line_img2 {
	width: 106px;
	height: 106px;
}
.contact_body {
	
}



.formtable {
	width: 100%;
	border-collapse: separate;
	border-spacing: 10px;
	background-color: #FFFFFF;
}
.formtable tr.tr50 {
	display: flex;
	justify-content: space-between;
	column-gap: 10px;
}
.formtable td {
	padding: 30px;
	vertical-align: top;
	font-size: 16px;
	font-weight: 700;
	background-color: #EFEFEF;
	display: flex;
	width: 100%;
}
.formtable td.td50 {
	width: 50%;
}
.form_head {
	width: 160px !important;
}
.form_head_caution {
	
}
.form_cont {
	width: 80%;
}
.privacy {
	border: 2px solid #8CC320;
	background-color: #FFFFFF;
	width: 100%;
	height: 200px;
	line-height: 1.2;
	padding: 20px;
	overflow-y: scroll;
}

.formtable input {
	width: 100%;
}
.formtable input[type="text"] {
	width: 100%;
	padding: 10px;
	border: 2px solid #8CC320;
}
.birth {
	display: flex;
	align-items:center;
	column-gap: 10px;
}
.birth1 {
	width: 200px !important;
}
.birth2 {
	width: 100px !important;
}
.middle {
	width: 250px !important;
}
.wide {
	width: 80% !important;
}
.formtable textarea {
	width: 100%;
	padding: 5px;
	border: 2px solid #8CC320;
}
.formtable input[type="radio"] {
	appearance: none;
	position: relative;
	width: 26px;
	height: 26px;
	border: 2px solid #8cc320;
	border-radius: 9999px;
	cursor: pointer;
	background-color: #FFFFFF;
}
.formtable input[type="checkbox"] {
	width: 10px;
	height: 10px;
}
.radio_wrap {
	display: block;
}
.hissu {
	color: #FFFFFF;
	font-size: 16px;
	display: inline-block;
	margin: auto 10px;
	padding: 5px 8px;
	background-color: #FF6E00;
	font-weight: 700;
}

.submit_btn {
	width: 100%;
	height: 80px;
	background-color: #EB6300;
	color: #FFFFFF;
	border: none;
	font-size: 18px;
	cursor: pointer;
}

.radioItem {
  display: flex;
  align-items: center;
  column-gap: 4px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
}

.radioItem:not(:last-of-type) {
  margin-bottom: 10px;
}

.radioButton {
  appearance: none;
  position: relative;
  width: 26px;
  height: 26px;
  border: 1px solid #8cc320;
  border-radius: 9999px;
  cursor: pointer;
}

.radioButton:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 14px;
  height: 14px;
  margin: auto;
  border-radius: 9999px;
  background-color: #8cc320;
}




@media screen and (max-width: 769px){
	.contact {
		background-image: url(../images/bg_contact.jpg);
		background-position: center top;
		background-size: 100% auto;
		background-repeat: no-repeat;
		padding: 120px 0 50px 0;
		min-width: 100%;
	}
	.contact_inner {
		max-width: 95%;
		border-radius: 30px;
		padding: 20px;
		margin: 0 auto;
		background-color: #FFFFFF;
		border: 2px solid #8CC320;
	}
	.h2_contact {
		color: #000000;
		font-size: 36px;
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		text-align: center;
		margin-bottom: 30px;
	}
	.contact_head {
		color: #FF6E00;
		font-weight: 700;
		font-size: 16px;
		text-align: center;
		max-width: 100%;
		margin: 0 auto 40px auto;
		background-image: url(../images/bg_contact_h2_l.png),url(../images/bg_contact_h2_r.png);
		background-repeat: no-repeat;
		background-size: 10px 10px;
		background-position: left center,right center;
	}
	.contact_exp {
		font-weight: 500;
		font-size: 16px;
		margin-bottom: 30px;
	}
	.contact_line {
		max-width: 100%;
		margin: 0 auto 50px auto;
		background-color: #DDEDBC;
		flex-direction:column;
		justify-content: center;
		align-items: center;
		border-radius: 10px;
		padding: 30px 10px;
	}
	.contact_line p {
	color: #8CC320;
	font-size: 14px;
	font-weight: 700;
	width: 100%;
	text-align: center;
		margin-bottom: 20px;
	}

	.line_separete {
		display: none;
		width: 80%;
		height: 2px;

	}
	.line_img1 {
		width: 200px;
		height: 110px;
		margin-bottom: 20px;
	}
	.line_img2 {
		width: 106px;
		height: 106px;
	}
	.contact_body {

	}
	
	.formtable {
		width: 100% !important;
		border-collapse: collapse;
		border-spacing: 10px;
		background-color: #FFFFFF;
	}
	.formtable tr.tr50 {
		display: block;
		justify-content: space-between;
		column-gap: 10px;
	}
	.formtable td {
		padding: 20px;
		vertical-align: top;
		font-size: 16px;
		font-weight: 700;
		background-color: #EFEFEF;
		display: block;
		margin-bottom: 10px;
		width: 100%;
	}
	.formtable td.td50 {
		width: 100%;
	}
	.form_head {
		width: 100% !important;
		margin-bottom: 20px;
	}
	.form_head_caution {

	}
	.form_cont {
		width: 100%;
	}
	.privacy {
		border: 2px solid #8CC320;
		background-color: #FFFFFF;
		width: 100%;
		height: 250px;
		overflow-y: scroll;
	}

	.formtable input {
		width: 100%;
	}
	.formtable input[type="text"] {
		width: 100%;
		padding: 10px;
		border: 2px solid #8CC320;
	}
	.birth {
		display: flex;
		align-items:center;
		column-gap: 10px;
	}
	.birth1 {
		width: 100px !important;
	}
	.birth2 {
		width: 50px !important;
	}
	.middle {
		width: 200px !important;
	}
	.wide {
		width: 80% !important;
	}
	.formtable textarea {
		width: 80%;
		padding: 5px;
		border: 2px solid #8CC320;
	}
	.formtable input[type="radio"] {
		appearance: none;
		position: relative;
		width: 26px;
		height: 26px;
		border: 2px solid #8cc320;
		border-radius: 9999px;
		cursor: pointer;
		background-color: #FFFFFF;
	}
	.formtable input[type="checkbox"] {
		width: 10px;
		height: 10px;
	}
	.radio_wrap {
		display: block;
	}
	.hissu {
		color: #FFFFFF;
		font-size: 16px;
		display: inline-block;
		margin: auto 10px;
		padding: 5px 8px;
		background-color: #FF6E00;
		font-weight: 700;
	}

	.submit_btn {
		width: 100%;
		height: 80px;
		background-color: #EB6300;
		color: #FFFFFF;
		border: none;
		font-size: 18px;
		cursor: pointer;
	}

	.radioItem {
		display: flex;
		align-items: center;
		column-gap: 4px;
		width: fit-content;
		line-height: 1;
		cursor: pointer;
	}

	.radioItem:not(:last-of-type) {
		margin-bottom: 10px;
	}

	.radioButton {
		appearance: none;
		position: relative;
		width: 26px;
		height: 26px;
		border: 1px solid #8cc320;
		border-radius: 9999px;
		cursor: pointer;
	}

	.radioButton:checked::after {
		content: "";
		position: absolute;
		inset: 0;
		width: 14px;
		height: 14px;
		margin: auto;
		border-radius: 9999px;
		background-color: #8cc320;
	}
}






/* footer
-----------------------------------------*/
.footer {
	width: 100%;
	min-width: 1200px;
}
.footer_inner {
	width: 1200px;
	margin: 50px auto;
	display: flex;
	align-items: baseline;
}
.footer_head {
	display: flex;
	align-items:flex-end;
	column-gap: 20px;
}
.footer_logo {
	width: 340px;
	height: auto;
}
.footer_access {
	
}

.footer_tel {
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-size: 22px;
	display: block;
	padding-left: 20px;
	background-image: url( "../images/ico_phone.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 16px 22px;
}




.footer hr {
	width: 100%;
	height: 1px;
	border-bottom: 0px solid #DBDBDB;
	padding: 0;
	margin: 0;
}
.footcopy_wrap {
	background-color: #8CC320;
}
.copyright {
	max-width: 1200px;
	margin: 0 auto;
	font-size: 14px;
	color: #FFFFFF;
	font-weight: 500;
	padding: 10px 0;
	text-align: right;
}


@media only screen and (max-width: 767px) {
	.footer {
		width: 100%;
		min-width: 100%;
	}
	.footer_inner {
		width: 100%;
		margin: 40px auto;
		padding: 0 15px;
		display: flex;
		align-items: baseline;
	}
	.footer_head {
		display: block;
		align-items:flex-end;
		column-gap: 20px;
	}
	.footer_logo {
		width: 200px;
		height: auto;
	}
	.footer_access {

	}

	.footer_tel {
		font-family: "Roboto", sans-serif;
		font-weight: 700;
		font-size: 22px;
		display: block;
		padding-left: 20px;
		background-image: url( "../images/ico_phone.png");
		background-repeat: no-repeat;
		background-position: left center;
		background-size: 16px 22px;
	}




	.footer hr {
		width: 100%;
		height: 1px;
		border-bottom: 0px solid #DBDBDB;
		padding: 0;
		margin: 0;
	}
	.footcopy_wrap {
		background-color: #8CC320;
		margin-bottom: 50px;
	}
	.copyright {
		max-width: 100%;
		margin: 0 auto;
		font-size: 14px;
		color: #FFFFFF;
		font-weight: 500;
		padding: 10px 15px;
		text-align: right;
	}

}


/* コンテンツ内CTA
-----------------------------------------*/

.cta_main {
	background-image: url(../images/bg_cta_main_pc.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 70px 0;
}

.cta_main_inner {
	max-width: 960px;
	margin: 0 auto;
	text-align: center;
	color: #FFFFFF;
}
.cta_main_midasi {
	font-size: 36px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 20px;
}
.cta_main_txt {
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 25px;
}
.cta_main_button_wrap {
	width: 600px;
	display: flex;
	margin: 0 auto;
}
.cta_main_button_wrap a {
	width: 300px;
	height: 110px;
	display: flex;
	flex-direction:column;
	justify-content: center;
	align-items: center;
	color: #FFFFFF;
	text-decoration: none;
	font-size: 16px;
}
.cta_main_button_wrap a:hover {
	opacity: 0.7;
}
.cta_main_button_wrap a span {
	display: block;
}
.cta_main_btn_tel {
	background-color: #2B589C;	
}
.cta_main_btn_tel span {
	font-family: "Roboto", sans-serif;
	font-size: 29px;
	font-weight: 700;
	background-image: url(../images/ico_freedial_w.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 37px 24px;
	padding: 0 0 0 40px;
	margin-bottom: 5px;
}

.cta_main_btn_mail {
	background-color: #1F1D1D;	
}

.cta_main_btn_mail span {
	font-size: 20px;
	font-weight: 700;
	background-image: url("../images/ico_mail_w.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 33px 24px;
	padding: 2px 0 4px 40px;
	margin-bottom: 5px;
}

@media only screen and (max-width: 767px) {
	.cta_main {
		background-image: url(../images/bg_cta_main_sp.jpg);
		background-size: cover;
		padding: 30px 0;
	}

	.cta_main_inner {
		width: 100%;
		padding: 0 20px;
	}
	.cta_main_midasi {
		font-size: 22px;
		margin-bottom: 20px;
		line-height: 1.4;
	}
	.cta_main_txt {
		font-size: 16px;
		line-height: 1.2;
		margin-bottom: 25px;
	}
	.cta_main_button_wrap {
		width: 100%;
		flex-direction:column;
		margin: 0 auto;
	}
	.cta_main_button_wrap a {
		width: 100%;
		height: 55px;
		font-size: 12px;
		margin-bottom: 15px;
	}

	.cta_main_btn_tel {
		
	}
	.cta_main_btn_tel span {
		font-size: 22px;
		background-size: 27px 18px;
		padding: 0 0 0 30px;
		margin-bottom: 3px;
	}

	.cta_main_btn_mail {
		background-color: #1F1D1D;	
	}

	.cta_main_btn_mail span {
		font-size: 16px;
		background-size: 26px 18px;
		padding: 2px 0 2px 30px;
		margin-bottom: 3px;
	}
}



/* 追従ボタン
-----------------------------------------*/
.btn_fix {
  width: 80px;
	height: 80px;
  display: none;    /* 最初は非表示にする */
  position: fixed;  /* 表示位置を固定 */
  bottom: 100px;
  right: 20px;
  box-sizing: border-box;
}
.btn_fix img {
  width: 100%;
}


/* スマホのフッタCTA
-----------------------------------------*/
.cta_sp_wrap {
  display: none;
}
@media only screen and (max-width: 767px) {
	.cta_sp_wrap {
		display: block;

	}
	.cta_sp {
		width: 100%;
		display: none;    /* 最初は非表示にする */
		position: fixed;  /* 表示位置を固定 */
		bottom: 0;
		left: 0;
		padding: 0;
		box-sizing: border-box;
		z-index: 99999;
	}
	.cta_sp_inner {
		display: flex;
		width: 100%;
		height: 50px;
		border-top: 1px solid #FFFFFF;
	}
	.cta_sp_inner a {
		display: block;
		text-decoration: none;
		text-align: center;
		font-weight: 700;
	}
	.cta_sp_tel {
		background-color: #ffffff;
		color: #8CC320;
		width: 50%;
		padding: 8px 0 12px 10px;
		background-image: url( "../images/ico_phone.png");
		background-repeat: no-repeat;
		background-position: left 5px center;
		background-size: 16px 22px;
	}
	.cta_sp_tel_txt {
		font-size: 12px;
	}
	.cta_sp_tel_no {
		font-family: "Zen Old Mincho", serif;
    font-size: 18px;
    font-weight: 400;
    display: block;	
		padding-top: 2px;
	}
	.cta_sp_mail {
	background-color: #8cc320;
	width: 50%;
	border-left: 1px solid #FFFFFF;
	font-size: 10px;
	background-image: url( "../images/ico_mail.png");
	background-repeat: no-repeat;
	background-position: left 5px center;
	background-size: 20px 14px;
	padding:10px 0 4px 16px;
	color: #FFFFFF;
	}
	.cta_sp_mail span {
		display: block;
		padding-top: 3px;
		font-size: 14px;
	}

}

/*==================================================
ふわっ
===================================*/

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}