﻿

/*
Theme Name:common
*/

/* =Reset
-------------------------------------------------------------- */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* = all
-------------------------------------------------------------- */
body {
	font-family:'Roboto', 'Noto Sans JP', sans-serif;
	text-align: center;
	line-height: 1;
	color: #000;
	background: none;
}
a ,a img, a svg, input[type="submit"], input[type="reset"] {
	-webkit-transition: color .15s , opacity .15s, background .15s , fill .15s;
	transition: color .15s , opacity .15s, background .15s , fill .15s;
	opacity: 1;
}
img , svg {
	max-width: 100%;
	height: auto;
}
input[type="submit"],input[type="reset"] {
	-webkit-appearance: none;
}
main {
	display: block;
}
.cf:before,
.cf:after {
	content:"";
	display:table;}
.cf:after {clear:both;}

.fl {float: left;}
.fr {float: right;}
.bold {font-weight: bold;}

.fut {
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
}

@media ( min-width: 480px ){
	body {
		font-size: 14px;
	}
	.inner {
		max-width: 1280px;
		margin: 0 auto;
		padding: 0 20px;
	}
}
@media ( max-width: 479px) {
	body {
		-webkit-text-size-adjust: 100%;
		font-size: 3.46vw;
	}
	.inner {
		padding: 0 5vw;
	}
}

.forPc {display: inline-block;}
@media screen and (max-width: 768px) {
  .forPc {display: none;}
}

.forSp {display: none;}
@media screen and (max-width: 768px) {
  .forSp {display: block;}
}

/* = styles
-------------------------------------------------------------- */
#header {
	background: #fff;
}
#header .log {
	float: left;
	width: 211px;
}
#header #nav {
	float: right;
}
#header #nav ul li {
	float: left;
}
#header #nav ul li:last-child {
	margin: 0;
}
#header #nav ul li a {
	color: #333;
	text-decoration: none;
	line-height: 1.6;
}
#kv {
	background: url(../image/kv_img.jpg) no-repeat center;
	background-size: cover;
	position: relative;
}
#kv:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../image/kv_rep.png) repeat left top;
	background-size: 4px;
}
#kv .leadtxt {
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
}
@media ( min-width: 480px ){
	#header {
		padding: 20px 0;
	}
	#kv .leadtxt {
		width: 547px;
		height: 116px;
		top: 39%;
	}
}
@media ( min-width: 897px ){
	#menubtn,
	#sp_nav,
	.w_shadow {
		display: none;
	}
	#header #nav ul li a {
		position: relative;
	}
	#header #nav ul li a:hover {
		opacity: .7;
	}
}
@media ( min-width: 1101px ){
	#header #nav ul li {
		margin: 0 45px 0 0;
	}
	#header #nav ul li a {
		font-size: 16px;
	}
	#kv {
		height: 780px;
	}
}
@media ( max-width: 1100px ){
	#header #nav ul li {
		margin: 0 25px 0 0;
	}
	#header #nav ul li a {
		font-size: 14px;
	}
	#kv {
		height: 580px;
	}
}
@media ( max-width: 896px ){
	#header #nav {
		display: none;
	}
	#kv {
		height: 460px;
	}
	#kv .leadtxt {
		width: 440px;
		height: 93px;
	}
	#menubtn {
		display: block;
		width: 36px;
		height: 24px;
		float: right;
		position: relative;
	}
	#menubtn span {
		width: 100%;
		height: 3px;
		display: block;
		background: #666;
		position: absolute;
		left: 0;
	}
	#menubtn span:first-child {
		top: 0;
	}
	#menubtn span:nth-child(2){
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#menubtn span:last-child {
		bottom: 0;
	}
	#sp_nav {
		width: 380px;
		height: 100vh;
		background: #fff;
		position: fixed;
		top: 0;
		right: -380px;
		z-index: 100;
		-webkit-transition: right .15s;
		transition: right .15s;
	}
	#sp_nav.active {
		right: 0;
	}
	#sp_nav .nav_wrap {
		max-height: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		position: relative;
	}
	#sp_nav .nav_wrap #closebtn {
		position: absolute;
		top: 0;
		right: 0;
		width: 58px;
		height: 58px;
		z-index: 101;
	}
	#sp_nav .nav_wrap #closebtn span {
		width: 48%;
		height: 2px;
		display: block;
		background: #666;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 0;
		right: 0;
	}
	#sp_nav .nav_wrap #closebtn span:first-child {
		transform: rotate(45deg);
	}
	#sp_nav .nav_wrap #closebtn span:last-child {
		transform: rotate(-45deg);
	}
	#sp_nav .nav_wrap ul li {
		border-bottom: 1px solid #ccc;
	}
	#sp_nav .nav_wrap ul li a {
		font-size: 18px;
		padding: 20px 15px;
		display: block;
		color: #333;
		text-decoration: none;
		text-align: left;
	}
	.w_shadow {
		display: none;
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background: rgba(0, 0, 0, 0.5);
		z-index: 99;
	}
}
@media ( max-width: 479px ){
	#header {
		padding: 4.375vw 0 3.125vw;
	}
	#kv {
		height: 78.125vw;
	}
	#kv .leadtxt {
		width: 80vw;
		height: 12.5vw;
		top: 38%;
	}
	#header .log {
		max-width: 32.8125vw;
	}
	#menubtn {
		width: 5.625vw;
		height: 3.75vw;
	}
	#menubtn span {
		height: 0.4688vw;
	}
	#sp_nav {
		width: 75vw;
		right: -75vw;
	}
	#sp_nav .nav_wrap ul li a {
		font-size: 3.75vw;
		padding: 4.6875vw 3.9063vw;
	}
	#sp_nav .nav_wrap #closebtn {
		width: 13vw;
		height: 13vw;
	}
}
#top_news_wrap {
	background: #fafafa;
}
#top_news_wrap .block {
	background: #fff;
	position: relative;
	z-index: 1;
}
#top_news_wrap .block .title_wrap {
	color: #005bac;
}
#top_news_wrap .block .title_wrap .jaspl {
	font-weight: bold;
}
#top_news_wrap .block .list_wrap li {
	border-bottom: 1px solid #ddd;
}
#top_news_wrap .block .list_wrap li:first-child {
	border-top: 1px solid #ddd;
}
#top_news_wrap .block .list_wrap li a {
	display: block;
	text-decoration: none;
	text-align: left;
	color: #494949;
	line-height: 1.6;
}
#top_news_wrap .block .list_wrap li a span {
	display: block;
}
#top_news_wrap .block .list_wrap li a span.txt {
	color: #005bac;
}
#top_news_wrap .block .morebtn {
	text-align: right;
}
#top_news_wrap .block .morebtn a {
	color: #005bac;
	text-decoration: none;
}
@media (hover){
	#top_news_wrap .block .list_wrap li a:hover {
		background: #f5faff;
	}
	#top_news_wrap .block .morebtn a:hover {
		text-decoration: underline;
	}
}
@media ( min-width: 480px ){
	#top_news_wrap {
		padding: 0 0 60px;
	}
	#top_news_wrap .block {
		padding: 55px 35px 40px;
		margin: -60px 0 0;
	}
	#top_news_wrap .block .title_wrap {
		margin: 0 0 35px;
		letter-spacing: 0.8em;
	}
	#top_news_wrap .block .title_wrap .tit {
		font-size: 28px;
		margin: 0 0 10px;
	}
	#top_news_wrap .block .title_wrap .jaspl {
		font-size: 12px;
	}
	#top_news_wrap .block .list_wrap {
		margin: 0 0 20px;
	}
	#top_news_wrap .block .list_wrap li a {
		padding: 15px 0;
		font-size: 14px;
	}
	#top_news_wrap .block .list_wrap li a span.day {
		float: left;
	}
	#top_news_wrap .block .list_wrap li a span.txt {
		padding: 0 0 0 100px;
	}
}
@media ( min-width: 897px ){
	#top_news_wrap {
		padding: 0 0 80px;
	}
	#top_news_wrap .block {
		padding: 75px 45px 50px;
		margin: -85px 0 0;
	}
	#top_news_wrap .block .title_wrap {
		margin: 0 0 50px;
	}
	#top_news_wrap .block .title_wrap .tit {
		font-size: 38px;
		margin: 0 0 15px;
	}
	#top_news_wrap .block .title_wrap .jaspl {
		font-size: 15px;
	}
	#top_news_wrap .block .list_wrap li a {
		padding: 15px 0;
		font-size: 16px;
	}
	#top_news_wrap .block .list_wrap li a span.txt {
		padding: 0 0 0 120px;
	}
}
@media ( max-width: 479px ){
	#top_news_wrap {
		padding: 0 0 6.25vw;
	}
	#top_news_wrap .block {
		padding: 7.0313vw 4.6875vw 5.4688vw;
		margin: -8.2813vw 0 0;
	}
	#top_news_wrap .block .title_wrap {
		margin: 0 0 6.25vw;
	}
	#top_news_wrap .block .title_wrap .tit {
		font-size: 5.1563vw;
		margin: 0 0 1.875vw;
		letter-spacing: 0.25em;
	}
	#top_news_wrap .block .title_wrap .jaspl {
		font-size: 2.6563vw;
		letter-spacing: 0.1em;
	}
	#top_news_wrap .block .list_wrap {
		margin: 0 0 2.8125vw;
	}
	#top_news_wrap .block .list_wrap li a {
		padding: 3.125vw 0;
		font-size: 2.8125vw;
	}
	#top_news_wrap .block .list_wrap li.hide {
		display: none;
	}
	#top_news_wrap .block .list_wrap li a span.day {
		margin: 0 0 0.4vw;
	}
}
#section_list .sectionbl:nth-child(2n+1) {
	background: #fff;
}
#section_list .sectionbl:nth-child(2n+2) {
	background: #fafafa;
}
#section_list .sectionbl .bl_wrap {
	position: relative;
}
#section_list .sectionbl .top_section_wrap {
	text-align: left;
}
#section_list .sectionbl .top_section_wrap .img_wrap {
	position: relative;
}
#section_list .sectionbl .top_section_wrap .img_wrap:before {
	content: '';
	width: 100%;
	height: 100%;
	display: block;
	background: #d9e7f3;
	position: absolute;
}
#section_list .sectionbl .top_section_wrap .img_wrap .imgbl {
	position: relative;
	z-index: 1;
}
#section_list .top_section_wrap .title_wrap {
	color: #005bac;
}
#section_list .top_section_wrap .title_wrap .tit {
	letter-spacing: 0.25em;
}
#section_list .top_section_wrap .title_wrap .jaspl {
	font-weight: bold;
	letter-spacing: 0.6em;
}
#section_list .top_section_wrap .text {
	color: #333;
	line-height: 1.6;
}
#section_list .top_section_wrap .morebtn a {
	background: #005bac;
	color: #fff;
	text-decoration: none;
	box-sizing: border-box;
	display: block;
	text-align: center;
	border: 1px solid #005bac;
}
@media (hover){
	#section_list .top_section_wrap .morebtn a:hover {
		background: #fff;
		color: #005bac;
	}
}
@media ( min-width: 480px ){
	#section_list .sectionbl {
		padding: 50px 0;
	}
	#section_list .top_section_wrap .title_wrap {
		margin: 0 0 30px;
	}
	#section_list .top_section_wrap .title_wrap .tit {
		font-size: 32px;
		margin: 0 0 10px;
	}
	#section_list .sectionbl .top_section_wrap .img_wrap {
		max-width: calc(100% - 30px);
		margin: 0 0 50px;
	}
	#section_list .sectionbl .top_section_wrap .img_wrap:before {
		top: 20px;
		left:  30px;
	}
	#section_list .top_section_wrap .text {
		font-size: 16px;
		margin: 0 0 20px;
	}
	#section_list .top_section_wrap .morebtn a {
		font-size: 16px;
		padding: 20px;
	}
}
@media ( min-width: 897px ){
	#section_list .sectionbl {
		padding: 100px 0;
	}
	#section_list .sectionbl .top_section_wrap {
		max-width: 330px;
	}
	#section_list .sectionbl:nth-child(2n+2) .top_section_wrap {
		float: right;
	}
	#section_list .sectionbl:nth-child(2n+1) .top_section_wrap .img_wrap {
		position: absolute;
		top: 0;
		right: 0;
	}
	#section_list .sectionbl:nth-child(2n+2) .top_section_wrap .img_wrap {
		position: absolute;
		top: 0;
		left: 0;
	}
	#section_list .sectionbl .top_section_wrap .img_wrap {
		max-width: calc(100% - 380px);
	}
	#section_list .sectionbl:nth-child(2n+1) .top_section_wrap .img_wrap:before {
		top: 18px;
		right: 18px;
	}
	#section_list .sectionbl:nth-child(2n+2) .top_section_wrap .img_wrap:before {
		top: 18px;
		left: 18px;
	}
	#section_list .top_section_wrap .title_wrap {
		margin: 0 0 35px;
	}
	#section_list .top_section_wrap .title_wrap .tit {
		font-size: 40px;
		margin: 0 0 20px;
	}
	#section_list .top_section_wrap .title_wrap .jaspl {
		font-size: 18px;
	}
	#section_list .top_section_wrap .text {
		font-size: 15px;
		min-height: 90px;
		margin: 0 0 25px;
	}
	#section_list .top_section_wrap .morebtn a {
		font-size: 15px;
		max-width: 200px;
		padding: 22px;
	}
}
@media ( min-width: 1101px ){
	#section_list .sectionbl .top_section_wrap {
		max-width: 400px;
	}
	#section_list .sectionbl .top_section_wrap .img_wrap {
		max-width: calc(100% - 460px);
	}
	#section_list .sectionbl:nth-child(2n+1) .top_section_wrap .img_wrap:before {
		top: 30px;
		right: 30px;
	}
	#section_list .sectionbl:nth-child(2n+2) .top_section_wrap .img_wrap:before {
		top: 30px;
		left: 30px;
	}
	#section_list .top_section_wrap .title_wrap {
		margin: 0 0 50px;
	}
	#section_list .top_section_wrap .title_wrap .tit {
		font-size: 50px;
		margin: 0 0 30px;
	}
	#section_list .top_section_wrap .title_wrap .jaspl {
		font-size: 20px;
	}
	#section_list .top_section_wrap .text {
		font-size: 16px;
		min-height: 105px;
		margin: 0 0 35px;
	}
	#section_list .top_section_wrap .morebtn a {
		font-size: 16px;
		max-width: 230px;
		padding: 26px 30px;
	}
}
@media ( max-width: 896px ){
	#section_list .top_section_wrap .morebtn {
		max-width: 80%;
		margin: 0 auto;
	}
}
@media ( max-width: 479px ){
	#section_list .sectionbl {
		padding: 10.9375vw 0 9.375vw;
	}
	#section_list .top_section_wrap .title_wrap {
		margin: 0 0 5.625vw;
	}
	#section_list .top_section_wrap .title_wrap .tit {
		font-size: 6.25vw;
		margin: 0 0 2.1875vw;
	}
	#section_list .sectionbl .top_section_wrap .img_wrap {
		max-width: calc(100% - 3.13vw);
		margin: 0 0 7.81vw;
	}
	#section_list .sectionbl .top_section_wrap .img_wrap:before {
		top: 3.13vw;
		left: 3.13vw;
	}
	#section_list .top_section_wrap .text {
		font-size: 3.46vw;
		margin: 0 0 3.9063vw;
	}
	#section_list .top_section_wrap .morebtn {
		max-width: 84.38vw;
	}
	#section_list .top_section_wrap .morebtn a {
		font-size: 2.8125vw;
		padding: 3.4375vw;
	}
}
#bottom_content .bnrlist_wrap {
	text-align: left;
}
#bottom_content .bnrlist_wrap .bnr {
	display: inline-block;
}
#bottom_content .linklist_wrap li a {
	color: #005bac;
	text-decoration: none;
}
#footer p.copy {
	background: #005bac;
	color: #fff;
	text-align: center;
}
#footer .sns_inner {
	display: flex;
	gap: 20px;
	height: 38px;
	margin: 0 auto;
	max-width: 1040px;
	padding: 0 10px 20px;
	box-sizing: border-box;
	color: white;
}
#footer .sns_inner ul {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: 10px
}
#footer .sns_inner img[src*="log"] {
	height: 18px;
}
#footer .sns_inner img[src*="icon_"] {
	width: 18px;
	aspect-ratio: 1;
	object-fit: contain;
	overflow: hidden;
}
@media screen and (max-width: 768px){
	#footer .sns_inner {
		height: auto;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 20px;
	}
}

@media (hover){
	#bottom_content .linklist_wrap li a:hover {
		text-decoration: underline;
	}
	#bottom_content .bnrlist_wrap .bnr a:hover {
		opacity: 0.8;
	}
}
@media ( min-width: 480px ){
	#bottom_content {
		padding: 40px 0 30px;
	}
	#bottom_content .bnrlist_wrap {
		margin: 0 0 30px;
	}
	#bottom_content .bnrlist_wrap .bnr {
		margin: 0 25px 25px 0;
	}
	#footer .gmogroup_wrap {
		padding: 25px 0 0;
		margin-bottom: 20px;
	}
	#footer .gmogroup_wrap .tit {
		max-width: 180px;
		margin: 0 auto 20px;
	}
	#footer p.copy {
		font-size: 14px;
		padding: 12px 0;
	}
}
@media ( min-width: 897px ){
	#bottom_content {
		padding: 55px 0 45px;
	}
	#bottom_content .bnrlist_wrap {
		margin: 0 0 55px;
	}
	#bottom_content .linklist_wrap {
		display: inline-block;
	}
	#bottom_content .linklist_wrap li {
		padding: 0 8px;
		float: left;
		border-right: 1px solid #333;
	}
	#bottom_content .linklist_wrap li:last-child {
		border-right: 0;
	}
	#bottom_content .linklist_wrap li a {
		font-size: 14px;
	}
}
@media ( max-width: 896px ){
	#bottom_content .linklist_wrap {
		text-align: left;
		display: block;
	}
	#bottom_content .linklist_wrap li {
		margin: 0 0 10px;
	}
}
@media ( max-width: 479px ){
	#bottom_content {
		padding: 6vw 0 4.2vw;
	}
	#bottom_content .bnrlist_wrap  {
		margin: 0 0 3vw;
	}
	#bottom_content .bnrlist_wrap .bnr {
		margin: 0 4vw 3vw 0;
	}
	#bottom_content .bnrlist_wrap .bnr img {
		height: 9.375vw;
		width: auto;
	}
	#bottom_content .linklist_wrap li {
		margin: 0 0 2vw;
	}
	#bottom_content .linklist_wrap li a {
		font-size: 2.8125vw;
	}
	#footer .gmogroup_wrap {
		padding: 5.4688vw 0;
	}
	#footer .gmogroup_wrap .tit {
		max-width: 37.5vw;
		margin: 0 auto 4.0625vw;
	}
	#footer p.copy {
		font-size: 3.125vw;
		padding: 1.5625vw 0;
	}
}

/*------------------------
#pagetitle
------------------------*/
#pagetitle {
	position: relative;
	background: #d9e7f3;
	text-align: left;
	overflow: hidden;
	padding: 40px 0;
}
#pagetitle::before {
	content: '';
	display: block;
	width: 64%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}
#pagetitle.service::before {
	background: url('../image/service_title.jpg') no-repeat;
	background-size: cover;
}
#pagetitle.jobs::before {
	background: url('../image/jobs_title.jpg') no-repeat;
	background-size: cover;
}
#pagetitle.news::before {
	background: url('../image/news_title.jpg') no-repeat;
	background-size: cover;
}
#pagetitle.about::before {
	background: url('../image/about_title.jpg') no-repeat;
	background-size: cover;
}
#pagetitle.showcase::before {
	background: url('../image/showcase_title.jpg') no-repeat;
	background-size: cover;
}
#pagetitle.contact::before {
	background: url('../image/contact_title.jpg') no-repeat;
	background-size: cover;
}
#pagetitle.adcamp::before {
	background: url('../image/adcamp_title.jpg') no-repeat;
	background-size: cover;
}
#pagetitle .title_wrap {
	box-sizing: border-box;
	min-width: 470px;
	display: inline-block;
	color: #005bac;
	letter-spacing: 0.6em;
	position: relative;
	z-index: 1;
	padding: 40px 40px 35px 0;
	box-sizing: border-box;
}
#pagetitle .title_wrap:after {
	content: '';
	width: 1000px;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
	background: rgba(255, 255, 255, 0.9);
}
#pagetitle .title_wrap .textbox {
	text-align: left;
	position: relative;
	z-index: 2;
}
#pagetitle .title_wrap .tit {
	font-size: 50px;
	margin: 0 0 15px;
}
#pagetitle .title_wrap .tit.fut {
	letter-spacing: 0.37em;
}
#pagetitle .title_wrap .jaspl {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
}
@media ( max-width: 896px ){
	#pagetitle {
		padding: 30px 0;
	}
	#pagetitle .title_wrap {
		box-sizing: border-box;
		letter-spacing: 0.5em;
		min-width: 340px;
		padding: 25px 25px 20px 0;
	}
	#pagetitle .title_wrap .tit {
		font-size: 38px;
		margin: 0 0 10px;
	}
	#pagetitle .title_wrap .jaspl {
		font-size: 18px;
	}
}
@media ( max-width: 479px ){
	#pagetitle {
		padding: 3.125vw 0;
	}
	#pagetitle::before {
		width: 64%;
	}
	#pagetitle .title_wrap {
		min-width: 36vw;
		padding: 3.4375vw 3.4375vw 3.4375vw 0;
	}
	#pagetitle .title_wrap .tit {
		font-size: 5.8vw;
		margin: 0 0 1.8vw;
	}
	#pagetitle .title_wrap .jaspl {
		font-size: 3.125vw;
	}
	#pagetitle.service::before {
		background: url('../image/service_title_sp.jpg') no-repeat;
		background-size: cover;
	}
	#pagetitle.jobs::before {
		background: url('../image/jobs_title_sp.jpg') no-repeat;
		background-size: cover;
	}
	#pagetitle.news::before {
		background: url('../image/news_title_sp.jpg') no-repeat;
		background-size: cover;
	}
	#pagetitle.about::before {
		background: url('../image/about_title_sp.jpg') no-repeat;
		background-size: cover;
	}
	#pagetitle.showcase::before {
		background: url('../image/showcase_title_sp.jpg') no-repeat;
		background-size: cover;
	}
	#pagetitle.contact::before {
		background: url('../image/contact_title_sp.jpg') no-repeat;
		background-size: cover;
	}
	#pagetitle.adcamp::before {
		background: url('../image/adcamp_title_sp.jpg') no-repeat;
		background-size: cover;
	}
}
/*------------------------
.subtitle
------------------------*/
.subtitle {
	color: #333;
	text-align: left;
	font-size: 24px;
	padding: 20px 0 12px;
	border-bottom: #ccc solid 2px;
	position: relative;
	margin: 0 0 45px;
}
.subtitle:after {
	content: '';
	display: block;
	width: 8%;
	height: 2px;
	background: #005bac;
	position: absolute;
	bottom: -2px;
	left: 0;
}
@media ( max-width: 479px ){
	.subtitle {
		font-size: 3.75vw;
		padding: 2.19vw 0 1.88vw;
		border-bottom: #ccc solid 0.47vw;
		margin: 0 0 5vw;
	}
	.subtitle:after {
		width: 17%;
		height: 0.47vw;
		bottom: -0.47vw;
	}
}

.textonly_title {
	color: #333;
	font-size: 32px;
	font-weight: bold;
	margin: 0 0 90px;
}
@media ( max-width: 479px ){
	.textonly_title {
		font-size: 4.38vw;
		margin: 0 0 8.13vw;
	}
}

/*------------------------
#breadcrumbs_area
------------------------*/
#breadcrumbs_area {
	background: #fafafa;
	padding: 15px 0;
}
#breadcrumbs_area .inner {
	display: flex;
	align-items: center;
}
#breadcrumbs_area .breadcrumbs {
	margin-right: auto;
}
#breadcrumbs_area .breadcrumbs ul {
	display: flex;
}
#breadcrumbs_area .breadcrumbs ul li {
	color: #333;
	text-align: left;
	line-height: 1.5;
	white-space: nowrap;
}
#breadcrumbs_area .breadcrumbs ul li::after {
	content: '>';
	margin: 0 10px;
}
#breadcrumbs_area .breadcrumbs ul li:last-child::after {
	content: none;
}
#breadcrumbs_area .breadcrumbs ul li:last-child {
	white-space: normal;
}
#breadcrumbs_area .breadcrumbs ul li:last-child br {
	display: none;
}
#breadcrumbs_area .pagelink ul {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
}
#breadcrumbs_area .pagelink ul li {
	margin: 0 0 0 20px;
	line-height: 1.5;
}
#breadcrumbs_area .breadcrumbs a,
#breadcrumbs_area .pagelink a {
	font-size: 14px;
	text-decoration: none;
}
#breadcrumbs_area .breadcrumbs a {
	color: #005bac;
}
#breadcrumbs_area .pagelink a {
	color: #333;
}
@media (hover){
	#breadcrumbs_area .breadcrumbs a:hover,
	#breadcrumbs_area .pagelink a:hover {
		text-decoration: underline;
	}
}
@media ( max-width: 1100px ){
	#breadcrumbs_area .breadcrumbs ul li {
		font-size: 12px;
	}
	#breadcrumbs_area .breadcrumbs ul li::after {
		margin: 0 5px;
	}
	#breadcrumbs_area .pagelink ul li {
		margin: 0 0 0 15px;
	}
	#breadcrumbs_area .breadcrumbs a,
	#breadcrumbs_area .pagelink a {
		font-size: 12px;
	}
}
@media ( max-width: 896px ){
	#breadcrumbs_area {
		display: none;
	}
}

main.service {
	padding: 60px 0 0;
}
main.service .lead {
	color: #333;
	text-align: left;
	line-height: 1.75;
	font-size: 18px;
	margin: 0 0 80px;
}
@media ( max-width: 479px ){
	main.service {
		padding: 6.25vw 0 0;
	}
	main.service .lead {
		font-size: 3.13vw;
		margin: 0 0 7.81vw;
	}
}
main.service .marketing_block {
	margin: 0 0 70px;
}
main.service .marketing_block p {
	text-align: left;
	color: #333;
	line-height: 1.75;
	font-size: 18px;
	margin: 0 0 65px;
}
main.service .marketing_block .description {
	margin: 0 auto;
	max-width: 1160px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
main.service .marketing_block .description .img {
	width: 46%;
}
main.service .marketing_block .description .textbox {
	width: 43%;
	box-sizing: border-box;
	max-width: 500px;
	border: 1px solid #999;
}
main.service .marketing_block .description .textbox dt {
	color: #333;
	background: #f2f0ec;
	font-size: 24px;
	padding: 16px 0;
}
main.service .marketing_block .description .textbox dd {
	color: #333;
	padding: 27px 7%;
	text-align: left;
	font-size: 18px;
}
main.service .marketing_block .description .textbox dd li {
	margin: 0 0 12px;
}
main.service .marketing_block .description .textbox dd li:before {
	content: '・';
}
main.service .marketing_block .description .textbox dd li li {
	text-indent: 1.2em;
}
main.service .marketing_block .description .textbox dd li li:first-child {
	margin: 12px 0 12px;
}
main.service .marketing_block .description .textbox dd li li:before {
	content: '-';
}
@media ( max-width: 1100px ) {
	main.service .marketing_block .description .textbox dd {
		padding: 20px 5%;
		font-size: 16px;
	}
}
@media ( max-width: 896px ){
	main.service .marketing_block .description {
		flex-direction: column;
	}
	main.service .marketing_block .description .img,
	main.service .marketing_block .description .textbox {
		width: 95%;
	}
	main.service .marketing_block .description .img {
		margin: 0 0 50px;
	}
	main.service .marketing_block .description .textbox {
		max-width: initial;
	}
}
@media ( max-width: 479px ){
	main.service .marketing_block {
		margin: 0 0 9.38vw;
	}
	main.service .marketing_block p {
		font-size: 3.13vw;
		margin: 0 0 5.63vw;
	}
	main.service .marketing_block .description .img,
	main.service .marketing_block .description .textbox {
		width: 100%;
	}
	main.service .marketing_block .description .img {
		margin: 0 0 6.25vw;
	}

	main.service .marketing_block .description .textbox {
		border: 0.31vw solid #999;
	}
	main.service .marketing_block .description .textbox dt {
		font-size: 3.75vw;
		padding: 1.88vw 0;
	}
	main.service .marketing_block .description .textbox dd {
		padding: 2.5vw 7%;
		font-size: 3.13vw;
	}
	main.service .marketing_block .description .textbox dd li {
		margin: 0 0 12px;
	}
	main.service .marketing_block .description .textbox dd li:before {
		content: '・';
	}
	main.service .marketing_block .description .textbox dd li li {
		text-indent: 1.2em;
	}
	main.service .marketing_block .description .textbox dd li li:first-child {
		margin: 12px 0 12px;
	}
	main.service .marketing_block .description .textbox dd li li:before {
		content: '-';
	}
}
main.service .solution_block p {
	text-align: left;
	color: #333;
	line-height: 1.75;
	font-size: 18px;
	margin: 0 0 35px;
}
main.service .solution_block .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
}
main.service .solution_block .list .item {
	flex-basis: 29%;
	margin: 0 0 60px;
}
@media screen and (min-width: 769px){
	main.service .solution_block .list .item:nth-of-type(3n+2):last-child {
		margin: 0 35.5% 60px auto;
	}
}
main.service .solution_block .list .item .logo {
	box-sizing: border-box;
	border: 1px solid #999;
	height: 178px;
	margin: 0 0 25px;
	padding: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}
main.service .solution_block .list .item .name {
	text-align: left;
	font-size: 24px;
	margin: 0 0 20px;
	color: #333;
}
main.service .solution_block .list .item .name a {
	color: #005bac;
	text-decoration: none;
}
main.service .solution_block .list .item .text {
	color: #333;
	text-align: left;
	font-size: 16px;
	line-height: 1.7;
}
main.service .solution_block .list .item .name a:hover {
	text-decoration: underline;
}
@media ( max-width: 896px ){
	main.service .solution_block .list .item {
		flex-basis: 100%;
	}
	main.service .solution_block .list .item:nth-child(3n+2):last-child {
		margin: 0 0 60px;
	}
}
@media ( max-width: 479px ){
	main.service .solution_block p {
		font-size: 3.13vw;
		margin: 0 0 5.63vw;
	}
	main.service .solution_block .list .item {
		margin: 0 0 7.81vw 0;
	}
	main.service .solution_block .list .item .logo {
		border: 0.31vw solid #999;
		height: 28.13vw;
		margin: 0 0 3.13vw;
		padding: 1.33vw;
	}
	main.service .solution_block .list .item .logo img {
		height: 100%;
	}
	main.service .solution_block .list .item .name {
		font-size: 4.06vw;
		margin: 0 0 3.13vw;
	}
	main.service .solution_block .list .item .text {
		font-size: 3.13vw;
	}
}
main.service .partner_block .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
}
main.service .partner_block .list .item {
	flex-basis: 29%;
	margin: 0 0 60px;
}
main.service .partner_block .list .item .logo {
	box-sizing: border-box;
	border: 1px solid #999;
	height: 178px;
	margin: 0 0 25px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
}
main.service .partner_block .list .item .text {
	color: #333;
	text-align: left;
	font-size: 14px;
	line-height: 1.5;
}

@media ( max-width: 896px ){
	main.service .partner_block .list .item {
		flex-basis: 100%;
	}
	main.service .partner_block .list .item:nth-child(3n+2):last-child {
		margin: 0 0 60px;
	}
}
@media ( max-width: 479px ){
	main.service .partner_block p {
		font-size: 3.13vw;
		margin: 0 0 5.63vw;
	}
	main.service .partner_block .list .item {
		margin: 0 0 7.81vw 0;
	}
	main.service .partner_block .list .item:nth-child(3n+2):last-child {
		margin: 0 0 7.81vw 0;
	}
	main.service .partner_block .list .item .logo {
		border: 0.31vw solid #999;
		height: 28.13vw;
		margin: 0 0 3.13vw;
		padding: 1.33vw;
	}
	main.service .partner_block .list .item .logo img {
		height: 100%;
	}
	main.service .partner_block .list .item .name {
		font-size: 4.06vw;
		margin: 0 0 3.13vw;
	}
	main.service .partner_block .list .item .text {
		font-size: 3.13vw;
	}
}







main.jobs {
	padding: 60px 0 0;
}
main.jobs .lead {
	color: #333;
	text-align: left;
	line-height: 1.75;
	font-size: 18px;
	margin: 0 0 80px;
}
@media ( max-width: 479px ){
	main.jobs {
		padding: 6.25vw 0 0;
	}
	main.jobs .lead {
		font-size: 3.13vw;
		margin: 0 0 7.81vw;
	}
}
main.jobs .bnr_block .list .item {

	width: 50%;
	margin: 0 0 60px 0;
	float:left;
}

main.jobs .bnr_block .list .item .name {
	text-align: center;
	font-size: 16px;
	margin: 20px 0 150px 0;
	color: #333;
}
main.jobs .bnr_block .list .item .name a {
	color: #005bac;
	text-decoration: none;
}
main.jobs .bnr_block .list .item .name a:hover {
	text-decoration: underline;
}


@media ( max-width: 479px ){
	main.jobs .bnr_block p {
		font-size: 3.13vw;
		margin: 0 0 5.63vw;
	}
	main.jobs .bnr_block .list .item {
		margin: 0 0 4.81vw 0;
		float:none;
		width: auto;
	}
	main.jobs .bnr_block .list .item .logo {
		height: 45.13vw;
		margin: 0 0 2.13vw;
		padding: 1.33vw;
	}
	main.jobs .bnr_block .list .item .logo img {
		height: 100%;
	}
	main.jobs .bnr_block .list .item .name {
		font-size: 3.36vw;
		margin: 0 0 3.13vw;
	}
}







main.news {
	color: #333;
	padding: 80px 0 0;
	text-align: left;
}
main.news .postyear {
	font-size: 16px;
	margin: 0 0 30px;
}
main.news .list li {
	border-top: 1px solid #ddd;
}
main.news .list li:last-child {
	border-bottom: 1px solid #ddd;
}
main.news .list a {
	display: block;
	font-size: 16px;
	padding: 15px 0;
	color: #005bac;
	text-decoration: none;
}
main.news .list a dl {
	display: table;
}
main.news .list a dt,
main.news .list a dd {
	display: table-cell;
}
main.news .list a dt {
	width: 120px;
	color: #333;
}
main.news .list a dd {
	line-height: 1.6;
}
@media (hover) {
	main.news .list a:hover {
		background: #f5faff;
	}
}
@media ( max-width: 479px ){
	main.news {
		padding: 7.81vw 0 0;
	}
	main.news .postyear {
		font-size: 3.13vw;
		margin: 0 0 3.13vw;
	}
	main.news .list li {
		border-top: 0.31vw solid #ddd;
	}
	main.news .list li:last-child {
		border-bottom: 0.31vw solid #ddd;
	}
	main.news .list a {
		font-size: 3.13vw;
		padding: 2.4vw 0;
	}
	main.news .list a dl,
		main.news .list a dt,
	main.news .list a dd {
		display: block;
	}
	main.news .list a dt {
		width: 100%;
		margin: 0 0 1.88vw;
	}
}

main.privacy {
	padding: 100px 0 0;
}
main.privacy .cont_wrap {
	margin: 0 0 150px;
}
main.privacy .cont_wrap:last-child {
	margin: 0;
}
main.privacy p,
main.privacy .privacy_policy .list_name,
main.privacy .privacy_policy ul li,
main.privacy .privacy_range p {
	color: #333;
	font-size: 16px;
	text-align: left;
	line-height: 1.75;
}
main.privacy .privacy_range p {
	margin: 0 0 40px;
}
main.privacy .privacy_state dl {
	display: table;
	width: 100%;
	text-align: left;
	font-size: 16px;
	line-height: 1.75;
	border-bottom: dotted 1px #ccc;
	padding: 15px 0;
}
main.privacy .privacy_state dl dt {
	display: table-cell;
	width: 300px;
	padding: 0 10px 0 0;
}
main.privacy .privacy_state dl a {
	color: #005bac;
	text-decoration: none;
}
main.privacy .privacy_state dl a:hover {
	text-decoration: underline;
}
main.privacy .privacy_policy.cookie p {
	margin: 0 0 40px;
}
main.privacy .privacy_policy.cookie p a {
	color: #005bac;
	text-decoration: none;
}
main.privacy .privacy_policy.cookie p a:hover {
	text-decoration: underline;
}
main.privacy .textonly_title + p,
main.privacy .mgn {
	margin: 0 0 45px;
}
main.privacy .mgn:last-child {
	margin: 0 0 90px;
}
main.privacy .mgn.fin {
	margin: 0 !important;
}
main.privacy .signature {
	color: #333;
	font-size: 16px;
	text-align: right;
	line-height: 1.75;
}
main.privacy .fin {
	margin: 0 0 40px;
}
main.privacy .privacy_policy .subtitle + p {
	margin: 0 0 40px;
}
main.privacy .privacy_policy ul li::before {
	content: '・';
}
main.privacy .privacy_policy .signature {
	color: #333;
	font-size: 16px;
	text-align: right;
	margin: 30px 0 0;
}
main.privacy .privacy_policy .signature div {
	margin: 0 0 12px;
}
main.privacy .privacy_policy .signature div:last-of-type {
	margin: 0 0 40px;
}
main.privacy .privacy_range p a {
	color: #005bac;
	text-decoration: none;
}
@media (hover) {
	main.privacy .privacy_range p a:hover {
		text-decoration: underline;
	}
}
@media ( max-width: 896px ){
	main.privacy .textonly_title {
		letter-spacing: -0.01em;
	}
	main.privacy .privacy_state dl {
	}
	main.privacy .privacy_state dl dt {
		display: block;
		margin: 0 0 10px;
		font-size: 20px;
	}
}
@media ( max-width: 479px ){
	main.privacy {
		padding: 10.94vw 0 0;
	}
	main.privacy .cont_wrap {
		margin: 0 0 20vw;
	}
	main.privacy p,
	main.privacy .privacy_policy .list_name,
	main.privacy .privacy_policy ul li,
	main.privacy .privacy_range p {
		font-size: 3.13vw;
	}
	main.privacy .privacy_range p {
		margin: 0 0 6.25vw;
	}
	main.privacy .textonly_title + p,
	main.privacy .mgn {
		margin: 0 0 7.19vw;
	}
	main.privacy .mgn:last-child {
		margin: 0 0 14vw;
	}
	main.privacy .privacy_policy .subtitle + p {
		margin: 0 0 6.25vw;
	}
	main.privacy .privacy_policy .signature {
		margin: 3.13vw 0 0;
		font-size: 3.13vw;
	}
	main.privacy .privacy_policy .signature div {
		margin: 0 0 1.88vw;
	}
	main.privacy .privacy_policy .signature div:last-of-type {
		margin: 0 0 6.25vw;
	}
	main.privacy .privacy_state dl {
		font-size: 3.13vw;
	}
	main.privacy .privacy_state dl dt {
		font-size: 4vw;
		margin: 0 0 2vw;
		padding: 0 2vw 0 0;
	}
	main.privacy .privacy_policy.cookie p {
		margin: 0 0 6.25vw;
	}
}

main.about {
	padding: 60px 0 0;
}
main.about .lead {
	color: #333;
	font-size: 18px;
	line-height: 1.7;
	text-align: left;
	margin: 0 0 60px;
}
@media ( max-width: 479px ){
	main.about {
		padding: 6.25vw 0 0;
	}
	main.about .lead {
		font-size: 3.44vw;
		line-height: 1.5;
		margin: 0 0 9.38vw;
	}
}
main.about .philosophy {
	margin: 0 0 85px;
}
main.about .philosophy .vision {
	margin: 0 0 20px;
	text-align:left;
	font-size:24px;
	color:#333333;
}
main.about .philosophy .img .pc {
	display: block;
}
main.about .philosophy .img .sp {
	display: none;
}
@media ( max-width: 479px ){
	main.about .philosophy {
		margin: 0 0 7.81vw;
	}
	main.about .philosophy .vision {
	margin: 0 0 0.7rem;
	font-size:14px;
	}
	main.about .philosophy .img .pc {
		display: none;
	}
	main.about .philosophy .img .sp {
		display: block;
	}
}

main.about .topmessage {
	margin: 0 0 90px;
}
main.about .topmessage img {
	margin: 0 0 30px;
}
main.about .topmessage .inner p {
	font-size:16px;
	margin: 0 0 16px;
	text-align: left;
	line-height:1.75;
}
@media ( max-width: 479px ){
main.about .topmessage {
	margin: 0 0 30px;
}
main.about .topmessage img {
	margin: 0 0 15px;
}
main.about .topmessage .inner p {
	font-size:14px;
	margin: 0 0 14px;
	text-align: left;
	line-height:1.75;
	}
}


main.about .profile {
	margin: 0 0 90px;
}
main.about .profile dl {
	width: 100%;
	display: table;
	text-align: left;
	font-size: 16px;
	color: #333;
	margin: 0 0 35px;
}
main.about .profile dt,
main.about .profile dd {
	display: table-cell;
	line-height: 1.5;
}
main.about .profile dt {
	width: 240px;
	white-space: nowrap;
}
main.about .profile dd {
	padding: 0 0 0 10px;
}
main.about .profile .location dl {
	margin: 0 0 12px;
}
main.about .profile .location dl:last-of-type {
	margin: 0 0 35px;
}
main.about .profile dl.officer th {
	padding: 0 35px 10px 0;
	white-space: nowrap;
}
main.about .profile dl.officer td {
	padding: 0 0 10px;
}
main.about .profile dl.officer tr:last-of-type th {
	padding: 0 35px 0 0;
}
main.about .profile dl.officer tr:last-of-type td {
	padding: 0;
}
main.about .profile .business_description ol li {
	list-style-type: decimal;
	margin: 0 0 10px 1.5em;
}
main.about .profile .business_description ol li:first-child {
	margin: 10px 0 10px 1.5em;
}
main.about .profile .business_description ol li:last-child {
	margin: 0 0 0 1.5em;
}
main.about .profile .business_description ol li ul li {
	list-style: none;
	margin: 0 0 10px -1.5em;
}
main.about .profile .business_description ol li ul li:first-child {
	margin: 10px 0 10px -1.5em;
}
main.about .profile .business_description ol li ul li:last-child {
	margin: 0 0 10px -1.5em;
}
main.about .profile .business_description ol li ul li::before {
	content: '・';
}
main.about .profile .affiliate li {
	margin: 0 0 10px;
}
main.about .profile .affiliate li:last-child {
	margin: 0;
}
main.about .profile .affiliate li a {
	color: #005bac;
	text-decoration: none;
}
main.about .profile .group li {
	margin: 0 0 10px;
}
main.about .profile .group li:last-child {
	margin: 0;
}
main.about .profile .group li:before {
	content: '・';
}
main.about .profile .contact_info {
	color: #333;
	font-size: 16px;
	border-top: 1px solid #ddd;
	padding: 18px 0 0;
	text-align: right;
	line-height: 1.5;
}
main.about .profile .contact_info a {
	color: #005bac;
	text-decoration: none;
}
@media (hover) {
	main.about .profile .affiliate li a:hover,
	main.about .profile .contact_info a:hover {
		text-decoration: underline;
	}
}
@media ( max-width: 896px ){
	main.about .profile dl,
	main.about .profile dt,
	main.about .profile dd {
		display: block;
		width: 100%;
		padding: 0;
	}
	main.about .profile dl {
		margin: 0 0 25px;
	}
}
@media ( max-width: 479px ){
	main.about .profile {
		margin: 0 0 7.81vw;
	}
	main.about .profile dl {
		font-size: 3.13vw;
		margin: 0 0 3.75vw;
	}
	main.about .profile .location dl,
	main.about .profile .location dl:last-of-type {
		margin: 0 0 3.75vw;
	}
	main.about .profile dl.officer th {
		padding: 0.31vw 5vw 0.31vw 0;
	}
	main.about .profile dl.officer td {
		padding: 0.31vw 0;
	}
	main.about .profile .business_description ol li {
		list-style-type: decimal;
		margin: 0 0 0.63vw 1.5em;
	}
	main.about .profile .business_description ol li:first-child {
		margin: 0.63vw 0 0.63vw 1.5em;
	}
	main.about .profile .business_description ol li:last-child {
		margin: 0 0 0 1.5em;
	}
	main.about .profile .business_description ol li ul li {
		list-style: none;
		margin: 0 0 0.63vw -1.5em;
	}
	main.about .profile .business_description ol li ul li:first-child {
		margin: 0.63vw 0 0.63vw -1.5em;
	}
	main.about .profile .business_description ol li ul li:last-child {
		margin: 0 0 0.63vw -1.5em;
	}
	main.about .profile .affiliate li {
		margin: 0 0 0.63vw;
	}
	main.about .profile .group li {
		margin: 0 0 0.63vw;
	}
	main.about .profile .contact_info {
		font-size: 2.5vw;
		border-top: 0.31vw solid #ddd;
		padding: 2.81vw 0 0;
	}
}
main.about .history {
	margin: 0 0 90px;
}
main.about .history th,
main.about .history td {
	color: #333;
	text-align: left;
	font-size: 16px;
	padding: 0 0 6px;
	line-height: 1.5;
	vertical-align: top;
}
main.about .history th {
	white-space: nowrap;
	width: 15%;
	padding: 0 1em 6px 0;
}
@media ( max-width: 479px ){
	main.about .history {
		margin: 0 0 7.81vw;
	}
	main.about .history th,
	main.about .history td {
		font-size: 3.13vw;
		padding: 0 0 0.94vw;
	}
	main.about .history th {
		padding: 0 1em 0.94vw 0;
	}
}
main.about .intro_officer {
	margin: 0 0 80px;
}
main.about .intro_officer .photo {
	border: 1px solid #999;
	margin: 0 0 35px;
}
main.about .intro_officer .photo .pc {
	display: block;
}
main.about .intro_officer .photo .sp {
	display: none;
}
main.about .intro_officer th,
main.about .intro_officer td {
	color: #333;
	font-size: 20px;
	text-align: left;
}
main.about .intro_officer th {
	padding: 0 0 15px;
}
main.about .intro_officer td {
	padding: 0 0 15px 2em;
}
@media ( max-width: 479px ){
	main.about .intro_officer {
		margin: 0 0 7.81vw;
	}
	main.about .intro_officer .photo {
		border: 0.31vw solid #999;
		margin: 0 0 6.25vw;
	}
	main.about .intro_officer .photo .pc {
		display: none;
	}
	main.about .intro_officer .photo .sp {
		display: block;
	}
	main.about .intro_officer th,
	main.about .intro_officer td {
		font-size: 3.13vw;
	}
	main.about .intro_officer th {
		padding: 0 0 1.56vw;
	}
	main.about .intro_officer td {
		padding: 0 0 1.56vw 2em;
	}
}
main.about .access {
	margin: 0 0 90px;
}
main.about .access .gmap {
	border: 1px solid #ccc;
	padding-bottom: calc(100%*510/1280);
	position: relative;
	margin: 0 0 30px;
}
main.about .access .gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
main.about .access .text {
	color: #333;
	text-align: left;
	font-size: 16px;
	line-height: 1.5;
}
@media ( max-width: 896px ){
	main.about .access .gmap {
		padding-bottom: calc(100%*420/837);
	}
}
@media ( max-width: 479px ){
	main.about .access {
		margin: 0 0 7.81vw;
	}
	main.about .access .gmap {
		border: 0.31vw solid #ccc;
		margin: 0 0 3.13vw;
	}
	main.about .access .text {
		font-size: 3.13vw;
	}
}
main.about .partner_block .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
}
main.about .partner_block .list .item {
	flex-basis: 23%;
	margin: 0 0 60px;
}
main.about .partner_block .list .item .logo {
	box-sizing: border-box;
	border: 1px solid #999;
	height: 178px;
	margin: 0 0 25px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
}
main.about .partner_block .list .item .logo img {
	max-height: 100%;
}
main.about .partner_block .list .item .text {
	color: #333;
	text-align: left;
	font-size: 14px;
	line-height: 1.5;
}
@media ( max-width: 896px ){
	main.about .partner_block .list .item {
		flex-basis: 100%;
	}
	main.about .partner_block .list .item:nth-child(3n+2):last-child {
		margin: 0 0 60px;
	}
}
@media ( max-width: 479px ){
	main.about .partner_block p {
		font-size: 3.13vw;
		margin: 0 0 5.63vw;
	}
	main.about .partner_block .list .item {
		margin: 0 0 7.81vw 0;
	}
	main.about .partner_block .list .item:nth-child(3n+2):last-child {
		margin: 0 0 7.81vw 0;
	}
	main.about .partner_block .list .item .logo {
		border: 0.31vw solid #999;
		height: 28.13vw;
		margin: 0 0 3.13vw;
		padding: 1.33vw;
	}
	main.about .partner_block .list .item .logo img {
		height: 100%;
	}
	main.about .partner_block .list .item .logo.google img {
		height: 68%;
	}
	main.about .partner_block .list .item .name {
		font-size: 4.06vw;
		margin: 0 0 3.13vw;
	}
	main.about .partner_block .list .item .text {
		font-size: 3.13vw;
	}
}
main.about_group {
	padding: 100px 0 0;
}
main.about_group .textonly_title {
	margin: 0 0 95px;
	padding: 20px 0 0;
}
main.about_group .textonly_title + p.lead {
	color: #333;
	font-size: 16px;
	line-height: 1.75;
	text-align: left;
	margin: 0 0 55px;
}
main.about_group .img {
	border: 1px solid #999;
	padding: 60px 30px;
	margin: 0 0 70px;
}
main.about_group .img .sp {
	display: none;
}
main.about_group .company_profile .list li {
	width: 100%;
	color: #333;
	font-size: 16px;
	border-bottom: 1px solid #ccc;
	padding: 30px 0;
	display: table;
}
main.about_group .company_profile .list li:last-child {
	border-bottom: 0px;
}
main.about_group .company_profile .list li .logo,
main.about_group .company_profile .list li .info {
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
}
main.about_group .company_profile .list li .logo {
	width: 290px;
}
main.about_group .company_profile .list li .info {
	width: calc(100% - 290px);
	text-align: left;
	padding: 0 0 0 50px;
}
main.about_group .company_profile .list li .logo .logo_wrap {
	box-sizing: border-box;
	width: 100%;
	height: 138px;
	border: 1px solid #999;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
main.about_group .company_profile .list li .logo .sp {
	display: none;
}
main.about_group .company_profile .list li .info table {
	width: 100%;
}
main.about_group .company_profile .list li .info th,
main.about_group .company_profile .list li .info td {
	line-height: 1.5;
	padding: 5px 0;
	vertical-align: top;
}
main.about_group .company_profile .list li .info th {
	width: 15%;
	padding: 5px 1.5em 5px 0;
	white-space: nowrap;
}
main.about_group .company_profile .list li .info a {
	color: #005bac;
	text-decoration: none;
}
@media ( max-width: 896px ){
	main.about_group .img {
		padding: 30px 20px;
	}
	main.about_group .company_profile .list li {
		display: block;
		padding: 0;
		border-top: none;
		margin: 0 0 50px;
	}
	main.about_group .company_profile .list li:last-child {
		border-bottom: none;
	}
	main.about_group .company_profile .list li .logo,
	main.about_group .company_profile .list li .info {
		width: 100%;
		display: block;
	}
	main.about_group .company_profile .list li .logo {
		margin: 0 0 15px;
	}
	main.about_group .company_profile .list li .logo .logo_wrap {
		height: 180px;
		padding: 0 20px;
	}
	main.about_group .company_profile .list li .logo .pc {
		display: none;
	}
	main.about_group .company_profile .list li .logo .sp {
		display: block;
	}
	main.about_group .company_profile .list li .info {
		padding: 0;
	}
}
@media ( max-width: 479px ){
	main.about_group {
		padding: 8.75vw 0 0;
	}
	main.about_group .textonly_title {
		margin: 0 0 8.75vw;
		padding: 2.19vw 0 0;
	}
	main.about_group .textonly_title + p.lead {
		font-size: 3.44vw;
		line-height: 1.6;
		margin: 0 0 6.25vw;
	}
	main.about_group .img {
		border: 0.31vw solid #999;
		padding: 7.5vw 5.94vw;
		margin: 0 0 7.81vw;
	}
	main.about_group .img .pc {
		display: none;
	}
	main.about_group .img .sp {
		display: block;
	}
	main.about_group .company_profile .list li {
		font-size: 3.13vw;
		border-top: none;
		padding: 0;
		margin: 0 0 4.06vw;
	}
	main.about_group .company_profile .list li .logo {
		margin: 0 0 3.44vw;
	}
	main.about_group .company_profile .list li .logo .logo_wrap {
		height: 39.06vw;
		border: 0.31vw solid #ccc;
	}
	main.about_group .company_profile .list li .logo .logo_wrap .sp {
		width: 66.88vw;
	}
	main.about_group .company_profile .list li .info th,
	main.about_group .company_profile .list li .info td {
		display: block;
	}
	main.about_group .company_profile .list li .info th {
		padding: 0;
	}
	main.about_group .company_profile .list li .info td {
		padding: 0 0 4.69vw;
	}
}

main.showcase {
	padding: 60px 0 0;
}
main.showcase .lead {
	color: #333;
	font-size: 18px;
	line-height: 1.7;
	text-align: left;
	margin: 0 0 15px;
}
main.showcase .lead a {
	color: #333333;
}
main.showcase .comment {
	text-align: left;
	margin: 0 0 70px;
}
main.showcase .comment li {
	color: #333;
	font-size: 16px;
	margin: 0 0 5px;
	line-height: 1.5;
}
main.showcase .comment li:before {
	content: '※';
}
main.showcase .issue {
	margin: 0 0 80px;
}
main.showcase .wrap {
	background: #f4f4f6;
	padding: 50px 50px 70px;
	text-align: left;
}
main.showcase .wrap > .form {
	background: #fff;
	padding: 24px 16px 32px;
}
main.showcase .wrap .error {
	margin: 0 0 30px;
	font-size: 16px;
	line-height: 1.5;
	color: #ff3333;
}
main.showcase .wrap .thx_box {
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 15px;
}
main.showcase .wrap .thx_box .thanks {
	font-size: 20px;
	margin: 0 0 10px;
}
main.showcase .wrap .back_btn {
}
main.showcase .wrap .back_btn a {
	background: #005bac;
	color: #fff;
	font-size: 16px;
	text-decoration: none;
	display: inline-block;
	text-align: center;
	padding: 15px 20px;
}
main.showcase .wrap .form-group + .form-group {
    margin-top: 3rem;
    padding-top: 3rem;
    border-top: solid 1px #dbdbdb;
}
main.showcase .notes {
	color: #333;
	font-size: 16px;
	margin: 0 0 50px;
}
main.showcase .notice {
	color: #333;
	font-size: 16px;
	line-height: 1.5;
	margin: 0 0 45px;
}
main.showcase .notes span {
	color: #ff3333;
}
main.showcase table {
	width: 100%;
	margin: 0 0 20px;
}
main.showcase th,
main.showcase td {
	color: #333;
	font-size: 20px;
	padding: 0 1em 30px 0;
}
main.showcase th {
	line-height: 1.4;
}
main.showcase td {
	font-size: 18px;
}
main.showcase .required {
	color: #ff3333;
	padding: 0 0 0 10px;
}
main.showcase input[type="text"] {
	border-radius: 0;
	outline: none;
	box-sizing: border-box;
	width: 500px;
	height: 50px;
	border: 1px solid #aaa;
	background: #fff;
	padding: 6px;
	font-size: 16px;
	box-shadow: none;
}
main.showcase input[type="button"],
main.showcase input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	box-sizing: border-box;
	border: none;
	background: #005bac;
	color: #fff;
	font-size: 20px;
	width: 230px;
	height: 70px;
	line-height: 70px;
	position: relative;
	left: 240px;
}
main.showcase textarea {
	outline: none;
	width: 500px;
	box-sizing: border-box;
	border: 1px solid #aaa;
	background: #fff;
	padding: 6px;
	font-size: 16px;
	resize: vertical;
}
main.showcase .notice input[type="checkbox"] {
	display: none;
}
main.showcase .notice label {
	position: relative;
	padding: 0 0 0 20px;
}
main.showcase .notice input[type="checkbox"] + label:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 1em;
	height: 1em;
	content: '';
	border: 2px solid #cccccc;
}
main.showcase .notice input[type="checkbox"]:checked + label:after {
	position: absolute;
	top: 0.1em;
	left: 0.36em;
	width: 0.4em;
	height: 0.7em;
	content: '';
	transform: rotate(40deg);
	border-bottom: 2px solid #333;
	border-right: 2px solid #333;
}

main.showcase .notice input[type="checkbox"] + label a {
	color: #333;
}
main.showcase .notice .checktxt {
	padding: 20px 0 0;
}
main.showcase input[type="button"],
main.showcase input[type="submit"] {
	cursor: pointer;
}
main.showcase .contact_form #submit_btn {
	opacity: 1;
}
main.showcase .contact_form #submit_btn:disabled {
	opacity: 0.6;
}
main.showcase .radio_bl_wrap,
main.showcase .check_bl_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em 1em;
}
main.showcase .radio_bl_wrap input,
main.showcase .check_bl_wrap input {
	vertical-align: initial;
}
main.showcase .radio_bl_wrap .item_block,
main.showcase .check_bl_wrap .item_block {
	line-height: 1.4;
	padding-left: 1.2em;
	text-indent: -1.2em;
}
main.showcase .agree {
	height: 11em;
	padding: 0.7em 1em;
	font-size: 80%;
	line-height: 1.4;
	border: 1px solid #aaa;
	overflow: auto;
	background: #fff;
}
main.showcase .agree p + p {
	margin-top: 1em;
}
main.showcase .agree + .check_bl_wrap {
	margin-top: 0.5em;
}

@media ( min-width: 897px ) {
	main.showcase th {
		width: 220px;
	}
}
@media ( max-width: 896px ) {
	main.showcase .wrap {
		padding: 40px;
	}
	main.showcase th,
	main.showcase td {
		display: block;
		padding: 0 0 10px;
	}
	main.showcase th {
		font-weight: bold;
	}
	main.showcase th br {
		display: none;
	}
	main.showcase td {
		padding: 0 0 30px;
	}
	main.showcase input[type="text"],
	main.showcase textarea {
		width: 100%;
	}
	main.showcase input[type="button"],
	main.showcase input[type="submit"] {
		left: 0;
	}
	main.showcase .radio_bl_wrap,
	main.showcase .check_bl_wrap {
		flex-direction: column;
	}
	main.showcase .wrap .form-group + .form-group {
		margin-top: 2rem;
		padding-top: 2rem;
	}
}
@media ( max-width: 479px ){
	main.showcase {
		padding: 6.25vw 0 0;
	}
	main.showcase .lead {
		font-size: 3.13vw;
		margin: 0 0 2.5vw;
	}
	main.showcase .comment {
		margin: 0 0 4.69vw;
	}
	main.showcase .comment li {
		font-size: 2.81vw;
		margin: 0 0 1.56vw;
	}
	main.showcase .issue {
		margin: 0 0 9.38vw;
	}
	main.showcase .wrap {
		padding: 4.69vw 4.69vw 9.38vw;
	}
	main.showcase .notes {
		font-size: 2.81vw;
		margin: 0 0 6.25vw;
	}
	main.showcase table {
		margin: 0 0 3.13vw;
	}
	main.showcase th,
	main.showcase td {
		font-size: 3.13vw;
		padding: 0 0 4.38vw;
	}
	main.showcase th {
		padding: 0 0 1.88vw;
	}
	main.showcase .required {
		padding: 0 0 0 1.25vw;
	}
	main.showcase input[type="text"] {
		height: 7.81vw;
		padding: 1.2vw;
		font-size: 3.64vw;
	}
	main.showcase input[type="button"],
	main.showcase input[type="submit"] {
		font-size: 3.75vw;
		width: 100%;
		height: 9.38vw;
		line-height: 9.38vw;
		left: 0;
	}
	main.showcase .notice {
		font-size: 3.13vw;
		margin: 0 0 5vw;
	}
	main.showcase .notice .checktxt {
		padding: 3vw 0 0;
	}
}

main.showcase_promotion {
	padding: 40px 0 0;
}
main.showcase_promotion .wrap {
	background: #fafafa;
	padding: 40px;
}
main.showcase_promotion .wrap ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
main.showcase_promotion .wrap ul::before {
	content: '';
	display: block;
	width: 22%;
	order: 1;
}
main.showcase_promotion .wrap ul::after{
	content: '';
	display: block;
	width: 22%;
}
main.showcase_promotion .wrap li {
	flex-basis: 22%;
	margin: 0 0 50px;
}
main.showcase_promotion .wrap li .img {
	margin: 0 0 20px;
}
main.showcase_promotion .wrap li dt,
main.showcase_promotion .wrap li dd {
	color: #333;
	font-size: 16px;
	text-align: left;
	line-height: 1.5;
}
main.showcase_promotion .wrap dt {
	font-weight: bold;
}
@media ( max-width: 1100px ){
	main.showcase_promotion .wrap ul::before {
		content: none;
	}
	main.showcase_promotion .wrap ul::after {
		content: '';
		display: block;
		width: 30%;
	}
	main.showcase_promotion .wrap li {
		flex-basis: 30%;
	}
}
@media ( max-width: 896px ) {
	main.showcase_promotion .wrap {
		padding: 30px;
	}
	main.showcase_promotion .wrap li {
		flex-basis: 45%;
	}
}
@media ( max-width: 479px ) {
	main.showcase_promotion {
		padding: 4.69vw 0 0;
	}
	main.showcase_promotion .wrap {
		padding: 4.69vw;
	}
	main.showcase_promotion .wrap ul::after{
		content: none;
	}
	main.showcase_promotion .wrap li {
		flex-basis: 100%;
		margin: 0 0 7.81vw;
	}
	main.showcase_promotion .wrap li .img {
		margin: 0 0 2.5vw;
	}
	main.showcase_promotion .wrap li dt,
	main.showcase_promotion .wrap li dd {
		font-size: 3.13vw;
	}
}
#pagetop {
	position: fixed;
	cursor: pointer;
	z-index: 99;
}
@media ( min-width: 478px ) {
	#pagetop {
		width: 50px;
		height: 50px;
		right: 20px;
		bottom: 30px;
	}
}
@media ( max-width: 479px ) {
	#pagetop {
		width: 12.5vw;
		height: 12.5vw;
		right: 4.6875vw;
		bottom: 7.0313vw;
	}
}
.gmoGroupFooter {
	border: none;
}
.gmoGroupFooter_inner {
	max-width: 1280px;
  margin: auto;
  padding: 30px 20px !important;
}


/*------------------------
.form
------------------------*/
main.showcase .wrap {
	font-size: 16px;
	line-height: 1.4;
}
main.showcase .wrap .text-bold {
    font-weight: bold;
}
main.showcase .wrap label.control-label {
    display: flex;
}
main.showcase .wrap .controls {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-top: 24px;
}
@media screen and (max-width: 768px) {
	main.showcase .wrap .controls {
		flex-direction: column;
		gap: 8px;
	}
}
main.showcase .wrap .btn {
	width: calc((100% - 16px) / 2);
    font-size: 14px;
	box-sizing: border-box;
}
@media screen and (max-width: 768px) {
	main.showcase .wrap .btn {
		width: 100%;
	}
}
main.showcase .wrap .btn a {
	display: flex;
	gap: 6px;
	align-items: center;
	position: relative;
	padding: 16px 24px 16px calc(20px + 14px + 6px);
	color: #005bac;
	text-decoration: none;
	border: solid 1px #dbdbdb;
	border-radius: 8px;
	background: #fff;
}
main.showcase .wrap .btn a:before,
main.showcase .wrap .btn a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
}
main.showcase .wrap .btn a:before {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background-color: #005bac;
}
main.showcase .wrap .btn a:after {
	left: calc(20px + 5px);
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg) translate(-50%);
}
main.showcase .wrap .btn a:hover,
main.showcase .wrap .btn a:focus {
	border-color: #66afe9;
	text-decoration: underline;
	box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
}
