@charset "UTF-8";
/* CSS Document */
/*======================
 下層ページ共通
======================*/
body{
	font-family: heisei-maru-gothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	background-color: #FBFBFB;
}

header{
	background-color: #3C9E00;
}

.flex{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.sub_page_header{
	position: relative;
	width: 1920px;
	height: 564px;
	background-image: url("../image/cntact/sub_page_header_bg.png");
	background-size: contain;
	background-position: left 0 top 64px ;
	background-repeat: no-repeat;
}

.sub_page_header_text{
	position: absolute;
	top: calc(50% + 23px);
	left: 290px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

.sub_page_title{
	margin: 0;
	color: #FFFFFF;
	font-size: 66px;
	font-weight: 800;
	line-height: 84px;
}

.sub_page_description{
	margin: 0 0 0 3px;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.6px;
}

.sub_page_header_image{
	position: absolute;
    top: calc(50% + 27px);
    right: 289px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.sub_page_header_image img{
	width: 100%;
	height: auto;
}

.sub_page_breadcrumb_list{
	list-style: none;
	margin: 0;
	padding: 11px 0 6px 290px;
	background-color: #EFEFEF;
}

.sub_page_breadcrumb_item a{
	position: relative;
	margin-right: 23px;
	padding-right: 22px;
	color: #081400;
	font-size: 15px;
	font-weight: bold;
}

.sub_page_breadcrumb_item a:hover{
	color: #3D9E01;
	text-decoration: none;
}

.sub_page_breadcrumb_item a::after{
	content: url("../image/subpage/breadcrumb_arrow.svg");
	position: absolute;
	top: 0;
	right: 0;
}

.sub_page_breadcrumb_item:last-of-type a::after{
	display: none;
}

.sub_pabe_container{
	width: 1340px;
	margin: 0 auto;
	padding: 74px 0 0 0;
}

.sub_page_inner{
	margin: 72px 0 0 0;
}

.sub_page_heading{
	text-align: center;
}

.sub_page_heading_en{
	display: inline-block;
	width: 158px;
	height: 30px;
	border-radius: 15px;
	background-color: #3C9E00;
	color: #FFFFFF;
	font-size: 20px;
	font-family: brandon-grotesque, sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: 32px;
}

.sub_page_heading_main{
	color: #3C9E00;
	margin: 14px 0 0 0;
	font-size: 43px;
	font-weight: 800;
	letter-spacing: 0.05rem;
	line-height: 55px;
}

.sub_page_heading_description{
	color: #333333;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.05rem;
}



/*======================
 GifuNaviとは？
======================*/
.about_wrapper{
	position: relative;
	top: 69px;
	background-color: #F7F7EB;
	padding-bottom: 140px;
	overflow: hidden;
}
/*
.about_mainVisual{
	justify-content: center;
	width: 100%;
	height: 1080px;
}

.about_mainVisual_inner{
	align-items: center;
}

.about_mainVisual_inner_image{
	margin-right: 119px
}

.about_mainVisual_inner_image source,
.about_mainVisual_inner_image img{
	width: 1000px;
	height: auto;
}

.about_mainVisual_inner_text img{
	margin-bottom: 30px;
}

.about_mainVisual_inner_text h1{
	margin-bottom: 30px;
	color: #333333;
	font-size: 40px;
	line-height: 50px;
	letter-spacing: 0.005em;
}

.about_mainVisual_inner_text p{
	color: #333333;
	font-size: 15px;
	font-weight: bold;
	line-height: 23px;
	letter-spacing: 0.005em;
}
*/

.register_pc_wrapper {
  position: relative;
  width: 100%;
  height: 613px;
  background-image: url(../image/about/register_pc_bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  display:flex;
  justify-content:center;
  align-items:center;
}
.register_pc_wrapper h2 {
  margin-top:26px;
}
.register_pc_inner {
  width:1480px;
  padding-right:50px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.register_pc_right {
  padding-top:35px;
}
.register_pc_right p:nth-of-type(1) {
  display:flex;
  align-items:self-end;
  line-height:1;
}
.register_pc_right p:nth-of-type(1) span:nth-of-type(1) {
  font-size:21px;
  color:#fff;
  font-weight:bold;
  line-height:1;
}
.register_pc_right p:nth-of-type(1) span:nth-of-type(2) {
  color:#fff;
  line-height:1;
  margin:0 12px;
}
.register_pc_right p:nth-of-type(1) span:nth-of-type(3) {
  font-size:21px;
  color:#fff;
  line-height:1;
  font-weight:bold;
}
.register_pc_right p:nth-of-type(2) {
  font-size:40px;
  color:#fff;
  font-weight:bold;
  margin-top:15px;
}
.register_pc_wrapper .register_pc_left img {
  width:820px;
  height:auto;
}
.register_pc_left {
  padding-top:27px;
}

.about_container .sub_page_heading{
	margin-top: 30px;
}

.about_service{
	margin: 53px 0 140px;
}

.about_service_content{
	position: relative;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 132px;
}

.about_service_content:nth-of-type(even){
	justify-content: flex-end;
}

.about_service_content:nth-of-type(even){
	flex-direction: row-reverse;
}

.about_service_content:last-of-type{
	margin-bottom: 0;
}

.about_service_content::before{
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.about_service_content:nth-of-type(1)::before{
	content: url("../img/about/about_service_character_01.svg");
    left: calc((100vw - 1340px) / 2 - 193px);
}

.about_service_content:nth-of-type(2)::before{
	content: url("../img/about/about_service_character_02.svg");
    right: calc((100vw - 1340px) / 2 - 167px);
}

.about_service_content:nth-of-type(3)::before{
	content: url("../img/about/about_service_character_03.svg");
	left: calc((100vw - 1340px) / 2 - 190px);
}

.about_service_content:nth-of-type(4)::before{
	content: url("../img/about/about_service_character_04.svg");
	right: calc((100vw - 1340px) / 2 - 237px);
}

.about_service_text img{
	margin-bottom: 26px;
}

.about_service_content:nth-of-type(odd) .about_service_text{
	padding-left: calc((100vw - 1340px) / 2);
	margin-right: 89px;
}

.about_service_content:nth-of-type(even) .about_service_text{
	margin-left: 89px;
}

.about_service_text h3{
	margin-bottom: 21px;
	color: #333333;
	font-size: 40px;
	line-height: 50px;
	letter-spacing: 0.005em;
}

.about_service_text h3 span{
	color: #42A500;
}

.about_service_text p{
	margin-bottom: 21px;
	color: #333333;
	font-size: 15px;
	font-weight: bold;
	line-height: 23px;
	letter-spacing: 0.07em;
}

.about_service_content:nth-of-type(1) .about_service_image img{
	width: 777px;
}

.about_service_image_white{
	align-items: center;
	justify-content: center;
	width: 50vw;
	height: 474px;
	background-color: #FFFFFF;
}

.about_service_content:nth-of-type(odd) .about_service_image_white{
	border-radius: 20px 0 0 20px;
}

.about_service_content:nth-of-type(even) .about_service_image_white{
	border-radius: 0 20px 20px 0;
}

.about_service_content:nth-of-type(4) .about_service_image_white{
	justify-content: flex-start;
	padding-left: calc((100vw - 1340px) / 2);
}

.about_service_content:nth-of-type(2) .about_service_image source,
.about_service_content:nth-of-type(2) .about_service_image img{
	width: 50vw;
}

.about_button{
	display: inline-block;
	width: 266px;
	height: 52px;
	border-radius: 26px;
	background-color: #42A500;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	color: #FFFFFF;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 54px;
}

.about_function{
	margin: 74px 0 128px;
}

.about_function ul{
	justify-content: space-between;
	width: 1014px;
	margin: 0 auto;
	padding: 0;
	flex-wrap: wrap;
	list-style: none;
}

.about_function_inner{
	justify-content: center;
	align-items: center;
	width: 301px;
	height: 206px;
	margin-bottom: 46px;
	border-radius: 16px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16);
	background-color: #FFFFFF;
}

.about_function_inner:nth-of-type(n + 4){
	margin-bottom: 0;
}

.about_function_content{
	text-align: center;
}

.about_function_content p{
	margin-bottom: 7px;
	color: #333333;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0.005em;
}

.about_function_content h3{
	margin-bottom: 20px;
	color: #3C9E00;
	font-size: 21px;
	letter-spacing: 0.005em;
}

.about_company_inner{
	justify-content: space-between;
	align-items: center;
	width: 1014px;
	margin: 0 auto;
}

.about_company_text h2{
	margin-bottom: 23px;
	color: #3C9E00;
	font-size: 18px;
	font-family: brandon-grotesque, sans-serif;
	font-weight: 700;
	font-style: normal;
}

.about_company_text h3{
	margin-bottom: 30px;
	color: #333333;
	font-size: 31px;
	letter-spacing: 0.005em;
	line-height: 39px;
}

.about_company_text p{
	margin-bottom: 38px;
	color: #333333;
	font-size: 12px;
	font-weight: bold;
	letter-spacing: 0.005em;
	line-height: 18px;
}