@charset "UTF-8";

.grecaptcha-badge {
  display: none!important; /* 要素を非表示にする */
  right: 0!important;
}
.google-bage p{
	font-size: 13px;
	line-height: 22px;
	text-align: center;
}
.google-bage a{
	text-decoration: underline;
}
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  line-height: 3.2rem;
  font-weight: 400;
  margin: 0;
}
/*body, html {
  height: 100%
}*/
img{
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
:root {
  --main-color: #259b3b;
  --sub-color: #eff0ea;
  --font-en:"Roboto", sans-serif;
}
.flex-box{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-start;
}
.mv_base {
  opacity: 0;
  transition: 1s;
  transform: translate(0, 20px);
  -webkit-transform: translate(0, 20px);
}
.mv {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
.dis-sp{
	display: none;
}
.container{
	max-width: 1170px;
	width: 100%;
	margin: 0 auto;
	padding: 0 30px;
	position: relative;
}
.font-ms{
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
}
.btn-link{
	display: block;
	width: 100%;
	padding: 25px 0;
	border-radius: 10px;
	text-align: center;
	color: #fff;
	position: relative;
	background-color: var(--main-color);
	font-size: 16px;
	margin: 0 auto;
	transition: .3s;
}
.btn-link:hover{
	background-color: #333;
	color: #fff;
}
.ttl{
	text-align: center;
	margin-bottom: 60px;
}
.ttl dt{
	font-family: var(--font-en);
	color: var(--main-color);
	font-size: 15px;
	display: inline;
	background: linear-gradient(transparent 93%, #000 0%);
	padding-bottom: 5px;
	font-weight: 500;
}
.ttl dd{
	font-size: 34px;
	margin-top: 20px;
}
.ttl dd span{
	font-size: 24px;
	font-weight: 600;
}
.ttl dd h1{
	margin-top: 10px;
	font-weight: 600;
}
.swiper-pagination{
	position: relative!important;
	margin-top: 50px;
}
.swiper-button-prev,
.swiper-button-next {
  height: 40px!important;
  width: 40px!important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: ""!important;
  height: 50px;
  margin: auto;
  width: 50px;
}
.swiper-slide{
	height: auto!important;
}
.swiper-slide img {
  height: auto;
  width: 100%;
}
.swiper .swiper-slide-item {
	height: 100%!important;
}
.swiper-pagination-bullet-active{
	background-color: #000!important;
}
@media only screen and (max-width: 1199px) {
	body {
	  line-height: 3rem;
	}
	.ttl{
		margin-bottom: 40px;
	}
	.ttl dd{
		font-size: 28px;
		margin-top: 10px;
	}
	.ttl dd span{
		font-size: 20px;
	}
	.ttl dd h1{
		margin-top: 5px;
	}
}
@media only screen and (max-width: 991px) {
	body {
	  font-size: 1.5rem;
	  line-height: 2.6rem;
	}
	.ttl dt{
		font-size: 13px;
	}
	.ttl dd{
		font-size: 22px;
		margin-top: 5px;
	}
	.ttl dd span{
		font-size: 16px;
	}
	.ttl dd h1{
		margin-top: 0;
	}
	.btn-link{
		padding: 20px 0;
		font-size: 15px;
	}
}
@media only screen and (max-width: 767px) {
	.ttl dt{
		font-size: 12px;
	}
	.ttl dd{
		font-size: 19px;
	}
	.ttl dd span{
		font-size: 14px;
	}
	.ttl dd h1{
		margin-top: 0;
	}
	.dis-pc{
		display: none;
	}
	.dis-sp{
		display: block;
	}
	.container{
		padding: 0 25px;
	}
	.btn-link{
		padding: 15px 0;
	}
}

header .logo{
	width: 118px;
	height: auto;
	position: absolute;
	left: 50px;
	top: 30px;
	z-index: 20;
}
header .head-col{
	position: absolute;
	top: 30px;
	right: 50px;
	z-index: 20;
}
header .head-col__gmenu li:not(:last-child){
	margin-right: 30px;
}
header .head-col__gmenu a{
	font-size: 15px;
	color: #fff;
}
/*header .head-col__gmenu.is-scroll a{
	color: #000;
}*/
@media only screen and (min-width: 789px) {
	header .head-col{
		display: block!important;
	}
}
@media only screen and (max-width: 1199px) {
	header .logo{
		width: 100px;
		left: 40px;
		top: 25px;
	}
	header .head-col{
		top: 25px;
		right: 40px;
	}
	header .head-col__gmenu li:not(:last-child){
		margin-right: 25px;
	}
}
@media only screen and (max-width: 991px) {
	header .logo{
		width: 80px;
		left: 30px;
		top: 20px;
	}
	header .head-col{
		top: 20px;
		right: 30px;
	}
	header .head-col__gmenu li:not(:last-child){
		margin-right: 20px;
	}
	header .head-col__gmenu a{
		font-size: 14px;
	}
}
@media only screen and (max-width: 767px) {
	header {
		width: 100%;
		background-color: #fff;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		height: 50px;
		padding: 14px 0 0 10px;
	}
	header .header-wrap{
		position: relative;
	}
	header .logo{
		position: relative;
		top: auto;
		left: auto;
		width: 140px;
	}
	header .head-col{
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: var(--main-color);
	}
	header .head-col-inner{
		width: 100%;
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
  	-webkit-transform: translate(-50%, -50%);
  	text-align: center;
	}
	header .head-col-inner figure{
		width: 100px;
		margin: 0 auto 50px;
	}
	header .head-col__gmenu {
		display: block;
	}
	header .head-col__gmenu li:not(:last-child){
		margin-right: 0;
		margin-bottom: 15px;
	}
	header .head-col__gmenu a{
		font-size: 16px;
		font-weight: 500;
	}
	header .head-col__company{
		margin-top: 40px;
		position: relative;
		padding-top: 20px;
	}
	header .head-col__company::before{
		content: "";
		display: block;
		width: 20px;
		height: 1px;
		background-color: #fff;
		position: absolute;
		left: 50%;
		top: 0;
		margin-left: -10px;
	}
	header .head-col__company h2{
		font-size: 14px;
		color: #fff;
		font-weight: 400;
		margin-bottom: 10px;
	}
	header .head-col__company p{
		font-size: 13px;
		line-height: 22px;
		color: #fff;
	}
	.openbtn{
		top: 0;
		right: 0;
		position: absolute;
		cursor: pointer;
	 	width: 60px;
	 	height :50px;
	 	background-color: var(--main-color);
		z-index: 6000;
		display: block;
	}
	.openbtn span{
	  display: inline-block;
	  transition: all .4s;
	  position: absolute;
	  left: 10px;
	  height: 3px;
	  border-radius: 2px;
		background: #fff;
		width: 40px;
		display: block;
	}
	.openbtn span:nth-of-type(1) {
		top:14px;	
	}
	.openbtn span:nth-of-type(2) {
		top:23px;
	}
	.openbtn span:nth-of-type(3) {
		top:32px;
	}
	body.active .openbtn span:nth-of-type(1) {
		top: 18px;
		left: 15px;
		transform: translateY(6px) rotate(-45deg);
		width: 40%;
	}
	body.active .openbtn span:nth-of-type(2) {
		opacity: 0;
	}
	body.active .openbtn span:nth-of-type(3){
		top: 30px;
		left: 15px;
		transform: translateY(-6px) rotate(45deg);
		width: 40%;
	}
}

.fv{
/*	height: 100svh;*/
	width: 100%;
}
.fv h1{
	width: 580px;
	position: absolute;
	left: 50%;
	top: 22vw;
	transform: translateY(0%) translateX(-50%);
  -webkit- transform: translateY(0%) translateX(-50%);
  z-index: 20;
}
@media only screen and (max-width: 1199px) {
	.fv h1{
		width: 480px;
	}
}
@media only screen and (max-width: 991px) {
	.fv h1{
		width: 440px;
		top: 20vw;
	}
}
@media only screen and (max-width: 767px) {
	.fv{
		margin-top: 50px;
	}
	.fv h1{
		top: 25vw;
		width: 90vw;
		max-width: 500px;
		padding: 0 5%;
	}
}

.intro{
	margin-top: -11vw;
	position: relative;
	z-index: 10;
}
.intro .bg-m{
	display: none;
}
.intro .intro-col{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  width: 100%;
}
.intro figure{
	width: 50vw;
	margin: 0 auto;
}
.intro h1{
	font-size: 34px;
	text-align: center;
	margin-top: 60px;
	font-weight: 500;
}
.intro h1 br{
	display: none;
}
.intro h1 span{
	position: relative;
}
.intro h1 span::after{
	content: "";
	display: block;
	width: 100%;
	height: 6px;
	background-color: #259b3b;
	position: absolute;
	left: 0;
	bottom: -10px;
}
@media only screen and (max-width: 1199px) {
	.intro figure{
		width: 45vw;
	}
	.intro h1{
		font-size: 28px;
		margin-top: 30px;
	}
	.intro h1 span::after{
		height: 5px;
		bottom: -10px;
	}
}
@media only screen and (max-width: 991px) {
	.intro figure{
		width: 55vw;
	}
	.intro h1{
		font-size: 22px;
		margin-top: 30px;
	}
	.intro h1 span::after{
		height: 3px;
		bottom: -8px;
	}
}
@media only screen and (max-width: 767px) {
	.intro .intro-col{
		width: 90%;
	}
	.intro h1{
		font-size: 19px;
		line-height: 30px;
		margin-top: 20px;
	}
	.intro h1 span{
		display: inline-block;
	}
	.intro h1 span::after{
		height: 3px;
		bottom: -8px;
	}
}
@media only screen and (max-width: 650px) {
	.intro figure{
		width: 70vw;
	}
	.intro h1{
		font-size: 17px;
		line-height: 26px;
		margin-top: 15px;
	}
}
@media only screen and (max-width: 500px) {
	.intro .intro-col{
		top: 48%;
	}
	.intro .bg-l{
		display: none;
	}
	.intro .bg-m{
		display: block;
	}
	.intro figure{
		width: 90vw;
	}
	.intro h1{
		font-size: 16px;
		line-height: 24px;
	}
	.intro h1 br{
		display: block;
	}
}

.feature{
	padding-top: 150px;
	padding-bottom: 100px;
}
.feature-col{
	margin-bottom: 100px;
	align-items: center;
}

.feature-col .feature-col_text{
	width: 55%;
	padding-right: 80px;
}
.feature-col .feature-col_text .flex-box{
	justify-content: flex-start;
	align-items: flex-start;
}
.feature-col .feature-col_text dl{
	padding-right: 20px;
}
.feature-col .feature-col_text dt{
	font-size: 14px;
	font-family: var(--font-en);
	color: var(--main-color);
	text-align: center;
	margin-bottom: 5px;
}	
.feature-col .feature-col_text dd{
	font-size: 60px;
	font-weight: 500;
	font-family: var(--font-en);
	color: var(--main-color);
}
.feature-col .feature-col_text h2{
	font-size: 27px;
	line-height: 38px;
	font-weight: 500;
}
.feature-col .feature-col_text h2 span{
	background: linear-gradient(transparent 70%, #c8e8ce 0%);
}
.feature-col .feature-col_text p{
	margin-top: 30px;
}
.feature-col figure{
	width: 45%;
}
.feature-col.rev .feature-col_text{
	order: 2;
	padding-right: 0;
	padding-left: 80px;
}
.feature-col.rev figure{
	order: 1;
}
.feature .btn-link{
	max-width: 760px;
}
@media only screen and (max-width: 1199px) {
	.feature{
		padding-top: 120px;
		padding-bottom: 80px;
	}
	.feature-col{
		margin-bottom: 80px;
	}
	.feature-col .feature-col_text{
		padding-right: 60px;
	}
	.feature-col .feature-col_text dl{
		padding-right: 15px;
	}
	.feature-col .feature-col_text dt{
		font-size: 13px;
		margin-bottom: 0;
	}	
	.feature-col .feature-col_text dd{
		font-size: 50px;
	}
	.feature-col .feature-col_text h2{
		font-size: 24px;
		line-height: 36px;
	}
	.feature-col .feature-col_text h2 span{
		background: linear-gradient(transparent 80%, #c8e8ce 0%);
	}
	.feature-col .feature-col_text p{
		margin-top: 25px;
	}
	.feature-col.rev .feature-col_text{
		padding-left: 60px;
	}
}
@media only screen and (max-width: 991px) {
	.feature{
		padding-top: 80px;
	}
	.feature-col{
		margin-bottom: 60px;
	}
	.feature-col .feature-col_text{
		padding-right: 40px;
	}
	.feature-col .feature-col_text dl{
		padding-right: 15px;
	}
	.feature-col .feature-col_text dt{
		font-size: 11px;
		margin-bottom: 2px;
	}	
	.feature-col .feature-col_text dd{
		font-size: 40px;
	}
	.feature-col .feature-col_text h2{
		font-size: 18px;
		line-height: 30px;
	}
	.feature-col .feature-col_text p{
		margin-top: 20px;
	}
	.feature-col.rev .feature-col_text{
		padding-left: 40px;
	}
}
@media only screen and (max-width: 767px) {
	.feature{
		padding-top: 40px;
	}
	.feature-col{
		margin-bottom: 50px;
		display: block;
	}
	.feature-col .feature-col_text{
		width: 100%;
		padding-right: 0;
	}
	.feature-col .feature-col_text dl{
		padding-right: 15px;
	}
	.feature-col .feature-col_text dt{
		font-size: 10px;
		margin-bottom: 0;
	}	
	.feature-col .feature-col_text dd{
		font-size: 36px;
	}
	.feature-col .feature-col_text h2{
		font-size: 17px;
		line-height: 28px;
	}
	.feature-col .feature-col_text p{
		margin-top: 10px;
	}
	.feature-col.rev .feature-col_text{
		padding-left: 0;
	}
	.feature-col figure{
		width: 100%;
		margin-top: 10px;
	}
}

.works{
	padding-top: 80px;
	padding-bottom: 150px;
	background-color: var(--sub-color);
}
.works .map-wrap{
	position: relative;
}
.works .map-wrap li{
	position: absolute;
	width: 64px;
}
.works .map-wrap li:nth-child(1){
	top: 43%;
	left: 25%;
}
.works .map-wrap li:nth-child(2){
	top: 52%;
	left: 39%;
}
.works .map-wrap li:nth-child(3){
	top: 69%;
	left: 38%;
}
.works .map-wrap li:nth-child(4){
	top: 79%;
	left: 34%;
}
.works .map-wrap li:nth-child(5){
	top: 78%;
	left: 45%;
}
.works .map-wrap li:nth-child(6){
	top: 66%;
	left: 52%;
}
.works .map-wrap li:nth-child(7){
	top: 46%;
	left: 75%;
}
.works .map-wrap li:nth-child(8){
	top: 46%;
	left: 67%;
}
.works .map-wrap li:nth-child(9){
	top: 11%;
	left: 61%;
}
.works .map-wrap li:nth-child(10){
	top: 25%;
	left: 90%;
}

.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 40px 10px;
  text-align: center;
}
.modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}
.modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}
.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper .modal-window {
  z-index: 20;
  vertical-align: middle;
  display: inline-block;
  position: relative;
  width: 80%;
  max-width: 540px;
  padding: 30px;
  margin: auto;
/*  overflow: scroll;*/
  background-color: #fff;
  border-radius: 20px;
  border: 8px solid #259b3b;
}

.modal-wrapper .modal-window .modal-content {
  max-height: 80vh;
  overflow-y: auto;
  text-align: left
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, .85)
}

.modal-wrapper .modal-close {
  z-index: 100;
  position: absolute;
  top: -55px;
  right: 0;
  width: 30px;
  line-height: 1;
  color: #000;
  font-size: 46px;
  font-weight: 100;
  cursor: pointer;
}

.modal-wrapper .modal-close:hover {
  color: #2b2e38 !important
}

.works-num{
	width: 54px;
	position: absolute;
	left: 50%;
	top: -32px;
	margin-left: -27px;
	z-index: 1000;
}
.modal-content p{
	font-size: 15px;
	line-height: 22px;
	text-align: center;
}
.modal-content h2 {
  font-size: 24px;
  color: var(--main-color);
  text-align: center;
  font-weight: 500;
  margin-bottom: 20px;
}
.modal-content ul{
	margin-top: 20px;
}
.modal-content li{
	width: 50%;
}
.modal-content dt{
	width: 35%;
	background-color: #eff0ea;
	font-size: 14px;
	line-height: 22px;
	text-align: center;
}
.modal-content dd{
	width: 65%;
	padding-left: 10px;
	font-size: 14px;
	line-height: 22px;
}
@media only screen and (max-width: 1199px) {
	.works{
		padding-top: 70px;
		padding-bottom: 80px;
	}
	.works .map-wrap li{
		width: 54px;
	}
}
@media only screen and (max-width: 991px) {
	.works{
		padding-bottom: 60px;
	}
	.works .map-wrap li{
		width: 40px;
	}
	.modal-wrapper .modal-window {
	  width: 70%;
	  padding: 20px;
	  border: 6px solid #259b3b;
	}
	.modal-wrapper .modal-window .modal-content {
	  max-height: 80vh;
	  overflow-y: auto;
	  text-align: left
	}
	.modal-wrapper .modal-close {
	  top: -50px;
	  font-size: 40px;
	}
	.works-num{
		width: 50px;
		top: -35px;
		margin-left: -25px;
	}
	.modal-content p{
		font-size: 14px;
	}
	.modal-content h2 {
	  font-size: 22px;
	  margin-bottom: 15px;
	}
	.modal-content ul{
		margin-top: 15px;
	}
	.modal-content dt{
		width: 30%;
	}
	.modal-content dd{
		width: 70%;
	}
}
@media only screen and (max-width: 767px) {
	.works{
		padding-top: 50px;
		padding-bottom: 40px;
	}
	.works .container{
		padding: 0 5px;
	}
	.works .map-wrap li{
		width: 30px;
	}
	.modal-wrapper .modal-window {
	  width: 95%;
	  padding: 15px;
	  border: 4px solid #259b3b;
	}
	.works-num{
		width: 46px;
		margin-left: -23px;
	}
	.modal-content p{
		font-size: 13px;
	}
	.modal-content h2 {
	  font-size: 18px;
	  margin-bottom: 10px;
	}
	.modal-content ul{
		margin-top: 10px;
		display: block;
	}
	.modal-content li{
		width: 100%;
	}
	.modal-content li:not(:last-child){
		margin-bottom: 10px;
	}
}


.voice{
	padding-bottom: 100px;
	position: relative;
}
.voice .bg-m{
	display: none;
}
.voice .ttl{
	position: absolute;
	top: 14vw;
	left: 50%;
	transform: translateY(0%) translateX(-50%);
  -webkit- transform: translateY(0%) translateX(-50%);
}
.voice-company{
	background-color: #fff;
	border-radius: 10px;
	text-align: center;
	width: 410px;
	margin: 0 auto;
	padding-top: 30px;
	margin-top: -7vw;
}
.voice-company dl{
	position: relative;
	padding-bottom: 15px;
	margin-bottom: 15px;
}
.voice-company dl::after{
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 30px;
	height: 1px;
	background-color: #000;
	margin-left: -15px;
}
.voice-company dt,
.voice-company dd span{
	font-size: 14px;
}
.voice-company dd{
	font-size: 24px;
}
.voice-company p{
	font-size: 17px;
}
.voice-col{
	margin-top: 80px;
}
.voice-col p,
.voice-col figure{
	width: 46%;
}
.voice .btn-link{
	width: 100%;
	max-width: 600px;
	margin-top: 80px;
}
@media only screen and (max-width: 1199px) {
	.voice-company{
		width: 410px;
		padding-top: 25px;
		margin-top: -5vw;
	}
	.voice-company dl{
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
	.voice-company dl::after{
		width: 26px;
		margin-left: -13px;
	}
	.voice-company dt,
	.voice-company dd span{
		font-size: 13px;
	}
	.voice-company dd{
		font-size: 22px;
	}
	.voice-company p{
		font-size: 16px;
	}
	.voice-col{
		margin-top: 60px;
	}
	.voice-col p,
	.voice-col figure{
		width: 47%;
	}
	.voice .btn-link{
		margin-top: 60px;
	}
}
@media only screen and (max-width: 991px) {
	.voice-company{
		width: 370px;
		padding-top: 20px;
		margin-top: -4vw;
	}
	.voice-company dd{
		font-size: 20px;
	}
	.voice-company p{
		font-size: 14px;
	}
	.voice-col{
		margin-top: 40px;
	}
	.voice .btn-link{
		margin-top: 50px;
	}
}
@media only screen and (max-width: 767px) {
	.voice{
		padding-bottom: 60px;
	}
	.voice-company{
		width: 100%;
		padding-top: 15px;
		margin-top: 0;
	}
	.voice-company dt,
	.voice-company dd span{
		font-size: 12px;
	}
	.voice-company dd{
		font-size: 18px;
	}
	.voice-company p{
		font-size: 13px;
	}
	.voice-col{
		display: block;
		margin-top: 20px;
	}
	.voice-col p,
	.voice-col figure{
		width: 100%;
	}
	.voice-col figure{
		margin-top: 15px;
	}
	.voice .btn-link{
		margin-top: 30px;
	}
}
@media only screen and (max-width: 500px) {
	.voice .bg-l{
		display: none;
	}
	.voice .bg-m{
		display: block;
	}
}


.staff{
	background-color: var(--sub-color);
	padding-top: 80px;
	padding-bottom: 150px;
}
.staff-col{
	background-color: #fff;
	border-radius: 5px;
	padding: 50px;
}
.staff-col:not(:last-child){
	margin-bottom: 40px;
}
.staff-col figure{
	width: 30%;
	padding-right: 50px;
}
.staff-col .staff-col-text{
	width: 70%;
}
.staff-col .staff-col-text p{
	font-size: 14px;
	line-height: 1.5;
}
.staff-col .staff-col-text h2{
	font-size: 22px;
	font-weight: 500;
	margin-bottom: 25px;
}
.staff-col .staff-col-text dl:not(:last-child){
	margin-bottom: 14px;
}
.staff-col .staff-col-text dt{
	background-color: var(--sub-color);
	font-size: 14px;
	text-align: center;
	width: 23%;
	line-height: 1;
	padding: 5px 0;
}
.staff-col .staff-col-text dd{
	width: 77%;
	padding-left: 15px;
	font-size: 15px;
	line-height: 24px;
}
@media only screen and (max-width: 1199px) {
	.staff{
		padding-top: 60px;
		padding-bottom: 100px;
	}
	.staff-col{
		padding: 40px;
	}
	.staff-col:not(:last-child){
		margin-bottom: 30px;
	}
	.staff-col figure{
		width: 30%;
		padding-right: 40px;
	}
	.staff-col .staff-col-text{
		width: 70%;
	}
	.staff-col .staff-col-text p{
		font-size: 13px;
	}
	.staff-col .staff-col-text h2{
		font-size: 20px;
		margin-bottom: 20px;
	}
	.staff-col .staff-col-text dl:not(:last-child){
		margin-bottom: 12px;
	}
	.staff-col .staff-col-text dt{
		font-size: 13px;
	}
	.staff-col .staff-col-text dd{
		font-size: 14px;
		line-height: 23px;
	}
}
@media only screen and (max-width: 991px) {
	.staff{
		padding-bottom: 80px;
	}
	.staff-col{
		padding: 25px;
	}
	.staff-col:not(:last-child){
		margin-bottom: 20px;
	}
	.staff-col figure{
		width: 26%;
		padding-right: 25px;
	}
	.staff-col .staff-col-text{
		width: 74%;
	}
	.staff-col .staff-col-text p{
		font-size: 11px;
	}
	.staff-col .staff-col-text h2{
		font-size: 17px;
		margin-bottom: 15px;
	}
	.staff-col .staff-col-text dl:not(:last-child){
		margin-bottom: 10px;
	}
	.staff-col .staff-col-text dt{
		font-size: 12px;
		width: 26%;
	}
	.staff-col .staff-col-text dd{
		font-size: 13px;
		line-height: 21px;
		width: 74%;
		padding-left: 10px;
	}
}
@media only screen and (max-width: 767px) {
	.staff{
		padding-bottom: 50px;
	}
	.staff-col:not(:last-child){
		margin-bottom: 30px;
	}
	.staff-col figure{
		max-width: 400px;
		width: 100%;
		margin: 0 auto 15px;
		padding-right: 0;
	}
	.staff-col .staff-col-text{
		width: 100%;
	}
	.staff-col .staff-col-text dl:not(:last-child){
		margin-bottom: 15px;
	}
	.staff-col .staff-col-text dt{
		font-size: 13px;
		width: 100%;
		text-align: left;
		padding-left: 5px;
	}
	.staff-col .staff-col-text dd{
		font-size: 13px;
		line-height: 21px;
		width: 100%;
		padding-left: 0;
		margin-top: 5px;
	}
}


.photo-slider li{
	width: 25%;
}
@media only screen and (max-width: 767px) {
	.photo-slider li{
		width: 50%;
	}
}

.contact{
	padding-top: 150px;
	padding-bottom: 150px;
}
.contact .contact-ttl{
	width: 35%;
}
.contact .ttl{
	text-align: left;
}
.contact .contact-form{
	width: 65%;
}
.contact .contact-form-box{
	margin-bottom: 30px;
}
.contact .contact-form-box .horizontal{
	justify-content: flex-start;
}
.contact .contact-form-box p{
	margin-bottom: 5px;
}
.contact .contact-form-box span.required{
	font-size: 11px;
	background-color: #e68484;
	padding: 1px 4px 3px;
	line-height: 1;
	color: #fff;
	margin-left: 10px;
	border-radius: 3px;
}
.contact .contact-form-box input,
.contact .contact-form-box textarea{
	background-color: #f1f0f0;
	padding: 25px;
	border-radius: 5px;
	width: 100%;
	border: none;
	font-size: 16px;
	outline: none;
}
.contact .contact-form-box input.input-s{
	width: 200px;
	margin-bottom: 15px;
}
.contact .contact-form-box textarea{
	height: 300px;
}
.contact .contact-form input[type=submit]{
	background-color: var(--main-color);
	color: #fff;
	text-align: center;
	width: 100%;
	border-radius: 10px;
	padding: 25px 0;
	border: none;
	font-size: 16px;
	cursor: pointer;
	transition: .3s;
}
.contact .contact-form input[type=submit]:hover{
	background-color: #333;
	color: #fff;
}
.contact .contact-form-box .checkbox-col{
	background-color: #f1f0f0;
	padding: 20px 25px;
	border-radius: 5px;
}
.contact .contact-form-box label{
	width: 50%;
	font-size: 15px;
}
.contact .contact-form-box input[type=checkbox]{
	width: auto;
}
@media only screen and (max-width: 1199px) {
	.contact{
		padding-top: 100px;
		padding-bottom: 100px;
	}
	.contact .contact-ttl{
		width: 35%;
	}
	.contact .contact-form{
		width: 65%;
	}
	.contact .contact-form-box{
		margin-bottom: 25px;
	}
	.contact .contact-form-box input,
	.contact .contact-form-box textarea{
		padding: 20px;
	}
}
@media only screen and (max-width: 991px) {
	.contact{
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.contact .contact-ttl{
		width: 37%;
	}
	.contact .contact-ttl p{
		font-size: 14px;
	}
	.contact .contact-form{
		width: 63%;
	}
	.contact .contact-form-box{
		margin-bottom: 20px;
	}
	.contact .contact-form-box span.required{
		font-size: 10px;
	}
	.contact .contact-form-box input,
	.contact .contact-form-box textarea{
		padding: 15px;
	}
	.contact .contact-form-box textarea{
		height: 250px;
	}
	.contact .contact-form input[type=submit]{
		padding: 20px 0;
		font-size: 15px;
	}
}
@media only screen and (max-width: 767px) {
	.contact{
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.contact .contact-ttl{
		width: 100%;
		margin-bottom: 40px;
	}
	.contact .ttl{
		text-align: center;
		margin-bottom: 25px;
	}
	.contact .contact-ttl p{
		font-size: 14px;
		line-height: 26px;
		text-align: center;
	}
	.contact .contact-form{
		width: 100%;
	}
	.contact .contact-form-box p{
		font-size: 14px;
	}
	.contact .contact-form-box textarea{
		height: 230px;
	}
	.contact .contact-form input[type=submit]{
		padding: 15px 0;
		font-size: 15px;
	}
}



footer{
	background-color: var(--sub-color);
	padding: 60px 70px;
	position: relative;
}
footer h1{
	margin: 60px 0 15px;
	font-weight: 500;
}
footer p{
	font-size: 13px;
	line-height: 22px;
}
footer .copyright{
	font-size: 11px;
	font-weight: 400;
	font-family: var(--font-en);
	margin-top: 45px;
	letter-spacing: 0.03rem;
}
footer .brand-banner{
	position: absolute;
	right: 70px;
	bottom: 60px;
}
footer .brand-banner li:first-child{
	margin-right: 20px;
}
footer .brand-banner li{
	width: 240px;
}
footer .pagetop{
	position: absolute;
	right: 70px;
	top: -35px;
}
footer .pagetop a{
	display: block;
	background-color: var(--main-color);
	width: 90px;
	border-radius: 5px;
	padding: 10px 0 15px;
	text-align: center;
	transition: .3s;
}
footer .pagetop a:hover{
	background-color: #333;
}
footer .pagetop img{
	width: 10px;
	vertical-align: middle;
}
footer .pagetop p{
	color: #fff;
	font-size: 13px;
	font-family: var(--font-en);
	font-weight: 400;
}
@media only screen and (max-width: 1199px) {
	footer{
		padding: 50px 60px;
	}
	footer figure img{
		width: 180px;
	}
	footer h1{
		margin: 50px 0 15px;
	}
	footer .copyright{
		margin-top: 35px;
	}
	footer .brand-banner{
		right: 60px;
		bottom: 60px;
	}
	footer .brand-banner li:first-child{
		margin-right: 20px;
	}
	footer .brand-banner li{
		width: 220px;
	}
	footer .pagetop{
		right: 60px;
	}
	footer .pagetop img{
		width: 8px;
	}
}
@media only screen and (max-width: 991px) {
	footer{
		padding: 40px 50px;
	}
	footer p{
		font-size: 12px;
		line-height: 22px;
	}
	footer figure img{
		width: 150px;
	}
	footer h1{
		margin: 40px 0 10px;
	}
	footer .copyright{
		margin-top: 30px;
	}
	footer .brand-banner{
		right: 50px;
		bottom: 45px;
	}
	footer .brand-banner li:first-child{
		margin-right: 10px;
	}
	footer .brand-banner li{
		width: 180px;
	}
	footer .pagetop{
		right: 50px;
	}
	footer .pagetop a{
		width: 90px;
		padding: 6px 0 10px;
		text-align: center;
	}
	footer .pagetop img{
		width: 8px;
	}
}
@media only screen and (max-width: 767px) {
	footer{
		padding: 30px 25px;
		text-align: center;
	}
	footer p{
		font-size: 12px;
		line-height: 22px;
	}
	footer figure{
		text-align: center;
	}
	footer figure img{
		width: 140px;
	}
	footer h1{
		margin: 20px 0 10px;
	}
	footer .copyright{
		margin-top: 20px;
	}
	footer .brand-banner{
		position: relative;
		right: auto;
		bottom: auto;
		margin-top: 20px;
		justify-content: center;
	}
	footer .brand-banner li:first-child{
		margin-right: 0;
	}
	footer .brand-banner li{
		width: 46%;
		margin: 0 2%;
	}
	footer .brand-banner li img{
		max-width: 250px;
		width: 100%;
	}
	footer .pagetop{
		right: 25px;
		top: -25px;
	}
	footer .pagetop a{
		width: 66px;
		padding: 0px 0 8px;
		text-align: center;
	}
	footer .pagetop p{
		font-size: 11px;
	}
	footer .pagetop img{
		width: 8px;
	}
}

/*.grecaptcha-badge { visibility: hidden; }*/
