@charset "UTF-8";

.fv {
	background-color:#F5F3EC;
	text-align:center;
	padding:20px 0 230px;
}
.fv_inner {
	width:calc(100% - 60px);
	max-width:1200px;
	position:relative;
	background:url(../img/top/fv1.jpg) no-repeat center center/cover;
}
.fv_inner::before {
	content:'';
	display:block;
	padding-top: 39%;
}
.fv_inner::after {
	content:'';
	display:block;
	position:absolute;
	left:0;
	top:0;
	height:100%;
	width:50%;
	background-image: linear-gradient(90deg, rgba(47, 130, 114, 1), rgba(47, 130, 114, 0));
	z-index:0;
}
.fv_inner .cpy {
	position:relative;
	z-index:1;
	margin-left:45px;
}
#main .fv_inner .cpy p {
	font-family: fot-klee-pro, sans-serif;
	writing-mode: vertical-rl;
	color:#FFFFFF;
	font-size:2.5rem;
	line-height:1.6;
	letter-spacing:.05em;
	text-shadow:0 0 4px rgba(0,0,0,.1),0 0 4px rgba(0,0,0,.1),0 0 5px rgba(0,0,0,.1),0 0 5px rgba(0,0,0,.1);
}
#main .fv_inner .cpy p.txt1 {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 2;
	order: 2;
	font-size:3.8rem;
}
#main .fv_inner .cpy p.txt2 {
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: 1;
	order: 1;
	padding-top:2em;
}
#main .fv_inner .cpy p.txt3 {
	padding-top:6em;
}


/**
CONCEPT
**/
#concept .wrap {
	padding:0;
}
#concept .contents {
	margin-top:-200px;
	background-color:#FFFFFF;
	padding:45px;
	text-align:center;
}
#concept .contents .contents_inner {
	margin-bottom:45px;
	text-align:left;
}
#concept .contents h2 {
	font-family: fot-klee-pro, sans-serif;
	text-align:	center;
	font-size: 2.6rem;
	margin-bottom:1.5em;
}
#main #concept .contents p {
	font-size:1.5rem;
	width:calc(45% - 30px);
	margin:0;
}
#main #concept .contents .img {
	width:55%;
}
#concept .contents a.bnr {
	width:90%;
	max-width:700px;
	background:url(../img/common/bnr_bg.jpg) no-repeat center center/cover;
	height:90px;
	position:relative;
	transition:.3s;
}
#concept .contents a.bnr:hover {
	opacity:.8;
}
#concept .contents a.bnr::before {
	content:'';
	display:block;
	position:absolute;
	width:calc(100% - 10px);
	height:calc(100% - 10px);
	border:1px solid #FFFFFF;
	top:5px;
	left:5px;
}
#concept .contents a.bnr span {
	font-family: fot-klee-pro, sans-serif;
	font-size:2.6rem;
	color:#FFFFFF;
	text-shadow:0 0 4px rgba(0,0,0,.1),0 0 4px rgba(0,0,0,.1),0 0 5px rgba(0,0,0,.1),0 0 5px rgba(0,0,0,.1);
}
#concept .contents a.bnr::after {
	content:'';
	border-top: .5em solid transparent;
	border-bottom: .5em solid transparent;
	border-left: .8em solid #ffffff;
	margin-left:.8em;
}


/**
SERVICE
**/

#service .wrap {
	padding:30px 0 0;
}
#service .contents_inner a {
	width:calc((100%/3) - 20px);
}
#service .contents_inner .img {
	position:relative;
	overflow:hidden;
}
#service .contents_inner .img img {
	display:block;
	position:relative;
	z-index:0;
	transition:.66s;
}
#service .contents_inner a:hover .img img {
	transform:scale(1.05);
	opacity:.75;
}
#service .contents_inner h2 {
	font-family: fot-klee-pro, sans-serif;
	font-size:2.2rem;
	background-color:#2F8272;
	color:#FFFFFF;
	text-align:center;
	padding:.75em 0;
	transition:.66s;
	position:relative;
}
#service .contents_inner a:hover h2 {
	background-color:#28A78E;
}
#service .contents_inner h2::before {
	content:'';
	border-bottom: .6em solid #2F8272;
	border-right: .4em solid transparent;
	border-left: .4em solid transparent;
	position:absolute;
	top:-.5em;
	left:calc(50% - .4em);
	transition:.66s;
}
#service .contents_inner a:hover h2::before {
	border-bottom: .6em solid #28A78E;
}


/**TOPICS**/
#topics .wrap {
	padding-bottom:0;
}
#topics h2 {
	font-family: fot-klee-pro, sans-serif;
	font-size:3.0rem;
	margin-bottom:1em;
	padding-bottom:.25em;
	border-bottom:1px solid #000000;
	position:relative;
}
#topics h2::after {
	content:'';
	display:block;
	width:4.5em;
	height:3px;
	background-color:#2F8272;
	position:absolute;
	left:0;
	bottom:-1px;
}
#topics .newsBox dl {
	width:100%;
	font-size:1.6rem;
	padding:.75em 1em;
	text-align:left;
	line-height:1.3;
	border-bottom:1px solid #cccccc;
}
#topics .newsBox .date {
	width:7em;
	background-color:#F5F3EC;
	text-align:center;
	padding:.33em 0;
}
#topics .newsBox dt {
	width:calc(100% - 9em);
}
#topics a.more {
	font-size:1.5rem;
	position:absolute;
	top:1em;
	right:0;
}
#topics a.more::after {
	content:'';
	display:inline-block;
	width:.5em;
	height:.5em;
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;
	transform:translateY(-.1em) rotate(-45deg);
}

/**
RESULTS
**/
#results h2 {
	font-family: fot-klee-pro, sans-serif;
	font-size:3.0rem;
	margin-bottom:1em;
	padding-bottom:.25em;
	border-bottom:1px solid #000000;
	position:relative;
}
#results h2::after {
	content:'';
	display:block;
	width:4.5em;
	height:3px;
	background-color:#2F8272;
	position:absolute;
	left:0;
	bottom:-1px;
}
#results .results a {
	width:calc(25% - 20px);
}
#results .results a .img {
	position:relative;
	overflow:hidden;
}
#results .results a .img img {
	display:block;
	position:relative;
	z-index:0;
	transition:.66s;
}
#results .results a:hover .img img {
	transform:scale(1.05);
	opacity:.75;
}
#results .results a h3 {
	font-size:1.6rem;
	font-weight:500;
	padding-top:.5em;
	padding-left:.75em;
	border-left:4px solid #2F8272;
}
#results a.more {
	font-size:1.5rem;
	position:absolute;
	top:1em;
	right:0;
}
#results a.more::after {
	content:'';
	display:inline-block;
	width:.5em;
	height:.5em;
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;
	transform:translateY(-.1em) rotate(-45deg);
}


/**
BLOG
**/
#blog .wrap {
	background-color:#F5F3EC;
}
#blog .blog {
	margin-bottom:45px;
}
#blog h2 {
	font-family: fot-klee-pro, sans-serif;
	font-size:3.0rem;
	text-align:center;
	margin-bottom:1.5em;
}
#blog .blogitem {
	width:calc((100%/3) - 25px);
	border-top:1px solid #2F8272;
	padding:15px 10px 0;
}
#blog .blogitem dl {
	width:60%;
	font-size:1.5rem;
	padding-bottom:1.5em;
	position:relative;
}
#blog .blogitem .date {
	margin-bottom:.75em;
}
#blog .blogitem dt {
	line-height:1.5;
}
#blog .blogitem .link {
	position:absolute;
	right:0;
	bottom:0;
}
#blog .blogitem .link a {
	font-size:1.3rem;
	color:#2F8272;
}
#blog .blogitem .link a::after {
	content:'';
	display:inline-block;
	width:.5em;
	height:.5em;
	border-right:1px solid #2F8272;
	border-bottom:1px solid #2F8272;
	transform:translateY(-.16em) rotate(-45deg);
}
#blog .blogitem .img {
	width:calc(40% - 20px);
}

#blog a.more {
	font-size:1.5rem;
	display:block;
	width:12em;
	text-align:center;
	border-bottom:1px solid #000000;
	margin:0 auto;
	padding-bottom:.25em;
}
#blog a.more::after {
	content:'';
	display:inline-block;
	width:.5em;
	height:.5em;
	border-right:1px solid #000000;
	border-bottom:1px solid #000000;
	transform:translateY(-.15em) rotate(-45deg);
}


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


}

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


}

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

}

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

}

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

.fv {
	padding:0;
}
.fv_inner {
	width:100%;
}
.fv_inner .cpy {
	margin-left:30px;
}
#main .fv_inner .cpy p {
	font-size:1.6rem;
}
#main .fv_inner .cpy p.txt1 {
	font-size:2.1rem;
}


/**
CONCEPT
**/
#concept .wrap {
	padding:0;
}
#concept .contents {
	margin-top:0px;
	padding:20px 10px;
}
#concept .contents .contents_inner {
	margin-bottom:30px;
}
#concept .contents h2 {
	font-size: 2.1rem;
	margin-bottom:.75em;
}
#main #concept .contents p {
	font-size:1.4rem;
	width:100%;
}
#main #concept .contents .img {
	width:100%;
	margin-bottom:15px;
	-webkit-box-ordinal-group: 1;
	-ms-flex-order: -1;
	order: -1;
}
#concept .contents a.bnr {
	transition:0s;
	width:100%;
	height:70px;
}
#concept .contents a.bnr:hover {
	opacity:1;
}
#concept .contents a.bnr span {
	font-size:2.0rem;
}
#concept .contents a.bnr::after {
	margin-left:.5em;
}


/**
SERVICE
**/

#service .wrap {
	padding:15px 0 0;
}
#service .contents_inner a {
	width:calc((100%/3) - 5px);
}
#service .contents_inner .img img {
	transition:0s;
}
#service .contents_inner a:hover .img img {
	transform:scale(1.0);
	opacity:1;
}
#service .contents_inner h2 {
	font-size:4vw;
	padding:.5em 0;
	transition:0s;
}
#service .contents_inner a:hover h2 {
	background-color:#2F8272;
}


/**TOPICS**/

#topics h2 {
	font-size:2.2rem;
}
#topics .newsBox dl {
	font-size:1.4rem;
	padding:.5em 0em;
}
#topics .newsBox .date {
	width:6em;
}
#topics .newsBox dt {
	width:calc(100% - 7em);
}
#topics a.more {
	font-size:1.3rem;
	top:.75em;
}

/**
RESULTS
**/
#results h2 {
	font-size:2.2rem;
}
#results .results a {
	width:calc(50% - 5px);
	margin-bottom:15px;
}
#results .results a .img img {
	transition:0s;
}
#results .results a:hover .img img {
	transform:scale(1.0);
	opacity:1;
}
#results .results a h3 {
	font-size:1.4rem;
	padding-left:.5em;
	border-left:3px solid #2F8272;
}
#results a.more {
	font-size:1.3rem;
	top:.75em;
}


/**
BLOG
**/
#blog .blog {
	margin-bottom:30px;
}
#blog h2 {
	font-size:2.2rem;
	margin-bottom:1em;
}
#blog .blogitem {
	width:100%;
	padding:15px 0;
}
#blog .blogitem dl {
	width:65%;
	font-size:1.4rem;
}
#blog .blogitem .date {
	margin-bottom:.75em;
}
#blog .blogitem dt {
	line-height:1.3;
}
#blog .blogitem .img {
	width:calc(35% - 20px);
}

#blog a.more {
	font-size:1.3rem;
}

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

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

}

/****/

#results,
#blog {
	display:none;
}
#topics .wrap {
	padding-bottom:90px;
}
	
@media screen and (max-width:640px){

#topics .wrap {
	padding-bottom:60px;
}
	
}

/****/