@charset "UTF-8";

/* オリジナルのレイアウト
----------------------------------------*/
body {
	color: #29292d;
	background: #fff;
	font-family: 'Noto Sans', YuGothic, "游ゴシック", Meiryo, "メイリオ", "MS PGothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
	font-size: 13px;
	*font-size: small;
	*font: x-small;
	line-height: 1.75;
	min-width: 1000px;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}

@media only screen and (max-width: 1041px) {
	body {
		height: 100%;
		min-width: 0;
	}
}

a {
	position: relative;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #1d1d1d;
}
a:link, a:visited {
	text-decoration: underline;
}
a:hover, a:active {
	text-decoration: none;
}

a:hover {
	opacity: .6;
	-ms-filter: "alpha(opacity=60)"
}

.en {
	/*	font-family: 'Century Gothic','Avenir Next','Questrial', sans-serif;*/
	font-family: 'Questrial', sans-serif;
}
.en .font {
	font-family: 'Noto Sans', YuGothic, "游ゴシック", Meiryo, "メイリオ", "MS PGothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
}

#wrapper {
	border: solid 4px #f10;
}

/*表示
----------------------------------------*/
/* PCだけ表示 */
.visible_pc {
	display: block !important;
}
/* SPだけ表示 */
.visible_sp {
	display: none !important;
}
/* tabletだけ表示 */
.visible_tab {
	display: none !important;
}

/* PCとtablet表示 */
.visible_pc_tab {
	display: block !important;
}

/* tabletとSP表示 */
.visible_tab_sp {
	display: none !important;
}


/* PCだけ表示 */
.visible_pc_inline {
	display: inline !important;
}
/* SPだけ表示 */
.visible_sp_inline {
	display: none !important;
}
/* tabletだけ表示 */
.visible_tab_inline {
	display: none !important;
}
.sp_br {
	display: none;
}

@media only screen and (max-width: 1041px) {
	/* PCだけ表示 */
	.visible_pc {
		display: none !important;
	}
	/* tabletだけ表示 */
	.visible_tab {
		display: block !important;
	}
	/* tabletとSP表示 */
	.visible_tab_sp {
		display: block !important;
	}

	/* PCだけ表示 */
	.visible_pc_inline {
		display: none !important;
	}
	/* tabletだけ表示 */
	.visible_tab_inline {
		display: inline !important;
	}
	/* SPだけ改行 */
	.sp_br {
		display: block;
	}
	img {
		width: 100%;
		height: auto;
	}
	.img_auto {
		width: auto;
		height: auto;
	}
}

@media only screen and (max-width: 767px) {
	/* PCだけ表示 */
	.visible_pc {
		display: none !important;
	}
	/* SPだけ表示 */
	.visible_sp {
		display: block !important;
	}
	.visible_pc_tab {
		display: none !important;
	}
	/* PCだけ表示 */
	.visible_pc_inline {
		display: none !important;
	}
	/* SPだけ表示 */
	.visible_sp_inline {
		display: inline !important;
	}
	/* SPだけ改行 */
	.sp_br {
		display: block;
	}
	img {
		width: 100%;
		height: auto;
	}
	.img_auto {
		width: auto;
		height: auto;
	}
}

/* SPでtel:
----------------------------------------*/
.txt_telno {
}

/*画像のfloat
----------------------------------------*/

.img_float_l {
	float: left;
	*display: inline;
	*zoom: 1;
	margin-right: 30px;
	z-index: 2;
}
.img_float_r {
	float: right;
	*display: inline;
	*zoom: 1;
	margin-left: 30px;
	z-index: 2;
}
@media only screen and (max-width: 768px) {
	.img_float_l,
	.img_float_r {
		display: block;
		width: 43.103%;
		max-width: 100%;
		height: auto;
	}
	.img_float_l {
		margin-right: 5.172%;
	}
	.img_float_r {
		margin-left: 5.172%;
	}
	.img_float_l img,
	.img_float_r img  {
		display: block;
		margin: 0 auto;
	}
}


/*color
----------------------------------------*/

.color_red { color: #f11717;}
.color_blue { color: #112bac; }
.color_geen { color: #50dd12; }
.color_orange { color: #ec6e00; }
.color_gray { color: #999999; }
.color_black { color: #000000; }


/* hr
----------------------------------------*/

hr {
	clear: both;
	border: none;
	border-top: solid 1px #cccccc;
	height: 1px;
	color: transparent;
	margin: 28px 0;
}

hr.clear {
	clear: both;
	border-bottom: none;
	height: 1px;
	color: transparent;
	margin: 0;
}

/* comming soon リンク
----------------------------------------*/
.cslink {
	display: block;
	font-size: 17px;
	width: 100%;
	text-align: center;
	background: #FFFFFF;
	padding-top: 5px;
}

.cslink img {
	width: 40%;
}


/*header
----------------------------------------*/
#header {
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1120;
}
.top_index #header {
	position: fixed;
	/* top: -113px; */
	border: solid 5px #f10;
	border-bottom: none;
}

#header img {
	width: 26px;
	display: block;
}

#header h1 {
	font-size: 77%;
	/*height: 41px;
	line-height: 41px;*/
	height: 59px;
	line-height: 59px;
	font-weight: normal;
	padding-right: 200px;
	border-bottom: solid 1px #b2b2b2;
	padding-left: 18px;
	letter-spacing: -.7px;
}

#header .header_logo {
	margin-right: 10px;
}

#header .header_logo img {
	width: 128px;
	display: inline-block;
	vertical-align: -3px;
}

#header .header_logo_sp {
	display: none;
}

#header .sns {
	height: 41px;
	border-left: solid 1px #b2b2b2;
	width: 180px;
	position: absolute;
	right: 175px;
	top: 0;
	text-align: center;
	padding-right: 1px;
	padding-top: 1px;
}


#header .lang ul{
    height: 59px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#header .sns li,
#header .lang li {
	display: inline-block;
	margin: 7px 0;
}

#header .sns li + li {
	margin-right: 1px;
}

#header .lang li + li {
	border-left: solid 1px #b2b2b2;
}

#header .sns li a,
#header .lang li a {
	display: block;
	padding: 0 11px;
}

#header .lang li a {
	padding: 0 10px;
}

#header .lang {
	/*height: 41px;*/
	height: 59px;
	/*width: 175px;*/
	width: 160px;
	position: absolute;
	right: 0;
	top: 0;
	text-align: center;
	padding-right: 6px;
}
#header .icon_Instagram {
    position: absolute;
    top: calc(29px / 2 + 1px);
    right: 160px;
    width: 29px;
    height: 29px;
}
.visible-xs {
    display: none;
}

#gnav {
	text-align: center;
	font-weight: bold;
	height: 67px;
}

#gnav ul {
	margin: 0 auto;
}
#gnav > ul {
	width: 1020px;
	display: flex;
}

#gnav li {
	display: inline-block;
	width: 11.11%;
}

#gnav a {
	text-decoration: none;
	font-size: 105%;
	display: block;
	width: 110px;
	padding: 23px 0 0;
	font-family: 'Questrial', sans-serif;
}

#gnav a.logo {
	width: 100px;
}

#gnav li.home_link {
	float: left;
	margin-right: 0px;
	margin-left:10px;
}
#gnav li a.logo {
	padding: 0;
}
#gnav li a.home {
	display: none;
}
#gnav li a.logo img {
	width: 43px;
	position: relative;
	bottom: -15px;
}

#gnav > ul > li > a:hover {
	opacity: 1;
	-ms-filter: none;
	filter: none;
}

#gnav > ul > li > a:hover:before,
#gnav > ul > li:hover > a:before {
	content: "";
	width: 50px;
	height: 3px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -5px;
	background: #ed0000;
}
/*#gnav > ul > li:nth-of-type(2) > a:hover:before,
#gnav > ul > li:nth-of-type(2):hover > a:before,
#gnav > ul > li:nth-of-type(3) > a:hover:before,
#gnav > ul > li:nth-of-type(3):hover > a:before,
#gnav > ul > li:nth-of-type(4) > a:hover:before,
#gnav > ul > li:nth-of-type(4):hover > a:before {
    width: 50px;
}*/

#gnav > ul > li > a.logo:hover:before,
#gnav > ul > li:hover > a.logo:before {
	content: none;
}

#gnav li .child {
	display: none;
	position: absolute;
	top: 100%;
	z-index: 10;
	text-align: center;
	margin-top: 41px;
	margin-right: -20px;
	font-weight: normal;
	width: 100%;
}

#gnav li .child li {
	display: block;
	margin-bottom: 8px;
	width:100%;
}

#gnav li .child ul + ul {
	border-top: solid 1px #b2b2b2;
	margin-top: 12px;
	padding-top: 10px;
}

#gnav li .child a {
	font-size: 100%;
	width: auto;
	padding: 0;
	font-family: 'Noto Sans', YuGothic, "游ゴシック", Meiryo, "メイリオ", "MS PGothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
	/* font-weight: bold; */
	line-height: 1.4;
}
#gnav li .child li + li + li a {
	/* border-top: 1px solid #e2e2e2; */
	padding-top: 5px;
	line-height: 1.3;
}

#gnav li .child span {
	color: #646464;
}

#bg_subnav {
	border-top: solid 1px #b2b2b2;
	height: 440px;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	display: none;
	background: #fff;
}

#btn_menu,
#btn_close,
#gnav li .child .sub_close {
	display: none;
}

@media only screen and (max-width: 1041px) {
	#header {
		height: 113px;
	}

	#header h1 {
		height: 56px;
		text-align: center;
		padding-right: 0;
		padding-left: 0;
	}

	#header h1 span.txt {
		display: none;
	}

	#header .header_logo {
		float: right;
		margin-top: 7px;
	}

	#header .header_logo img {
		width: 128px;
		vertical-align: -3px;
	}

	#header .header_logo_sp {
		float: left;
		display: inline-block;
		margin-left: 23px;
		margin-top: 8px;
	}

	#header .header_logo_sp img {
		width: 38px;
	}

	#header .sns {
		height: 40px;
		width: 182px;
		right: 141px;
		top: 56px;
	}

	#header .lang {
		height: 52px;
		width: 142px;
		top: 49px;
		padding: 5px 0 0 23px;
	}
    
	#header .icon_Instagram {
    top: 78px;
    right: 120px;
        display: none;
	}
    #header .icon_Instagram.visible-xs {
    display: block;
    position: absolute;
    right: inherit;
    top: calc(50% + 280px);
    left: 50%;
    transform: translateX(-50%);
    width: 45px;
    height: 45px;
    }

	#gnav {
		display: none;
		text-align: center;
		height: auto;
		position: fixed;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		background: #fff;
		border-top: solid 1px #b2b2b2;
		padding: 0;
		border: solid 5px #f10;
		overflow: auto;
	}

	#gnav > ul {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		display: block;
	}

	#gnav ul {
		width: 100%;
	}



	#gnav li {
		display: block;
		width: 100%;
	}

	#gnav a {
		width: auto;
		padding: 5px 10px;
		font-size: 180%;
		display: inline-block;
	}
	#gnav li:nth-of-type(2) a,
	#gnav li:nth-of-type(3) a,
	#gnav li:nth-of-type(4) a {
		width: auto;
	}
	
	#gnav li.home_link {
		float: none;
		margin-right: 0;
		margin-left:0;
	}
	
	#gnav li a.logo {
		display: none!important;
	}
	
	#gnav li a.home {
		display: block!important;
	}

	#gnav .open > a:after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 2px;
		background: #ed0000;
	}

	#gnav li .child {
		text-align: center;
		position: relative;
		margin: 0 auto;
		padding: 40px 0 0;
		display: table;
		width: auto;
	}

	#gnav li .child li {
		text-align: left;
		padding: 0 5px;
		margin-bottom: 10px;
	}

	#gnav #sub_close {
		display: block;
		width: 49px;
		height: 40px;
		margin: 0 0 0 -24px;
		position: absolute;
		left: 50%;
		bottom: 40px;
		background: url(../img/common/btn_sub_close.png) no-repeat;
		z-index: 1000;
		background-size: 100% auto;
	}

	#gnav #sub_close.relative {
		position: relative;
		margin-top: 30px;
	}

	#gnav li .child li a,
	#gnav li .child li span {
		font-size: 120%;
		font-family: inherit;
		font-family: 'Noto Sans', YuGothic, "游ゴシック", Meiryo, "メイリオ", "MS PGothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", sans-serif;
	}

	#gnav li .child ul + ul {
		margin-top: 25px;
		padding-top: 25px;
	}

	#gnav > ul > li > a:hover:before,
	#gnav > ul > li:hover > a:before {
		display: none;
	}

	#btn_menu {
		display: block;
		position: absolute;
		top: 72px;
		left: 28px;
	}

	#btn_close {
		display: block;
		width: 35px;
		height: 35px;
		position: absolute;
		top: 45px;
		left: 37px;
		z-index: 1000;
	}
}

@media only screen and (max-width: 767px) {
	/*#header {
		height: auto;
	}*/
	.top_index #header {
		top: -105px;
		/*height: auto;*/
	}

	#header .header_logo_sp {
		margin-left: 10px;
	}

	#header .sns {
		display: none;
	}

	#header .lang {
		/*position: relative;*/
		height: 44px;
		width: 102px;
		/*top: auto;
		left: auto;*/
		padding-top: 0;
		padding-left: 0;
		margin: 0 0 0 auto;
		border-left: none;
		letter-spacing: -.4em;
	}

	#header .lang li {
		letter-spacing: normal;
		margin-top: 9px;
	}

	#header .lang li + li {
		margin-left: 3px;
	}

    #header .icon_Instagram.visible-xs {
    top: calc(50% + 225px);
    width: 38px;
    height: 38px;
    }
    
	#gnav li {
		display: block;
	}

	#gnav a {
		width: auto;
		padding: 5px 10px;
		font-size: 142.3%;
	}

	#gnav li.home_link {
		margin-right: 0;
		margin-left: 0;
	}

	#gnav li a.logo {
		display: none!important;
	}

	#gnav li a.home {
		display: block!important;
	}

	#gnav li .child {
		padding: 20px 0 0;
	}

	#gnav li .child li a,
	#gnav li .child li span {
		font-size: 100%;
	}

	#gnav li .child ul + ul {
		margin-top: 15px;
		padding-top: 15px;
	}

	#gnav #sub_close {
		width: 49px;
		height: 40px;
		margin: 0 0 0 -24px;
		bottom: 40px;
		background-size: 100% auto;
	}

	#gnav #sub_close.relative {
		margin-top: 30px;
	}

	#btn_menu {
		top: 69px;
		left: 15px;
	}

	#btn_close {
		width: 18px;
		height: 18px;
		top: 20px;
		left: 15px;
	}
}


/*contents
----------------------------------------*/
#contents {
	padding-top: 113px;
}
.top_index #contents {
	padding-top: 0;
}

@media only screen and (max-width: 768px) {
	#contents {
		padding-top: 108px;
	}
	.top_index #contents {
		/*padding-top: 0;*/
        padding-top: 108px;
	}
}


/*topic path
----------------------------------------*/
.topic_path {
	padding: 10px 0;
}

.topic_path ul {
	text-align: center;
}

.topic_path ul li {
	display: inline-block;
	font-size: 13px;
}

.topic_path ul li a {
	color: #646464;
}

.topic_path ul li:before {
	content: "";
	height: 1px;
	width: 55px;
	display: inline-block;
	background: #646464;
	margin: 0 30px;
	vertical-align: middle;
}

.topic_path ul li:first-child:before {
	display: none;
}

@media only screen and (max-width: 767px) {
	.topic_path ul li,
	.topic_path li a,
	.topic_path ul li:before {
		display: none;
	}
}


/*pagetop
----------------------------------------*/
#pagetop {
	position: relative;
}

@media only screen and (max-width: 768px) {
}


/* service
----------------------------------------*/

.service_about img {
	display: block;
	margin: 0 auto;
}

.service_about .service_inner {
	background: #444;
	color: #646464;
}

.service_about .service_inner_bg {
	width: 1020px;
	margin: 0 auto;
	background: #F6F8F8 url(../img/common/service_bg.png) no-repeat 160% 61%;
}

.service_about .service_inner_bg.kojin {
	background: #F6F8F8 url(../img/common/service_kojin_bg.png) no-repeat 130% 31%;
}

.service_about .service_inner_bg.consumer {
	background: #F6F8F8 url(../img/common/service_consumer_bg.png) no-repeat 100% 50%;
}

.service_about .service_inner_bg.houjin {
	background: #F6F8F8 url(../img/common/service_houjin_bg.png) no-repeat right center;
	background-size: 640px 315px;
}

.service_about .col2_block h3 + p {
	color: #000;
	font-weight: bold;
	font-size: 15px;
	line-height: 1.35;
	letter-spacing: -.7px;
	margin: 5px 0;
}

.service_about .col2_block {
	margin: 0;
	padding: 10px 15px;
}

.service_about .col2_block .col_box {
	width: 370px;
	margin: 0;
	padding: 42px 25px 29px;
}

.service_about .col2_block .ttl {
	color: #000;
	font-weight: bold;
	font-size: 21px;
	line-height: 1.35;
	letter-spacing: 0;
}

.service_about .col2_block .to.en {
	font-weight: bold;
	color: #f10;
	font-size: 13px;
	padding: 8px 0 5px;
	letter-spacing: 0.3px;
}

.service_about .col2_block h3 span {
	font-size: 14px;
}

.service_about .col2_block .col_box:nth-child(2n) {
	font-size: 11px;
	padding-left: 76px;
}

.service_about .link {
	margin-top: 30px;
}

.service_about .link a {
	color: #f10;
}

.service_about .link a:after {
	content: ">>";
}

@media only screen and (max-width: 1041px) {
	.service_about {
		margin-top: 100px;
	}

}


@media only screen and (max-width: 767px) {

	.service_about h2 span {
		line-height: 1.5;
	}

	.service_about .service_inner_bg {
		width: 100%;
		background: #F6F8F8 url(../img/common/service_bg.png) no-repeat 35% 120%;
	}

	.service_about .service_inner_bg.kojin {
		background: #F6F8F8 url(../img/common/service_kojin_bg.png) no-repeat 0% 190%;
	}

	.service_about .service_inner_bg.consumer {
		background: #F7F8F8;
	}
	.service_about .service_inner_bg.houjin {
		background: #F6F8F8 url(../img/common/service_houjin_bg.png) no-repeat center 10%;
		background-size:contain;
	}


	.service_about .col2_block {
		width: 90%;
		margin: 0 auto;
		padding: 200px 0 30px;
	}

	.service_about .service_inner_bg.consumer .col2_block {
		padding: 20px 0 30px;
	}

	.service_about .col2_block .col_box {
		width: 100%;
		margin: 0 auto;
		padding: 20px 0 0;
		box-sizing: border-box;
	}

	.service_about .col2_block .col_box:nth-child(2n) {
		display: none;
	}

	.service_about .col2_block .ttl {
		font-size: 13px;
	}


	.service_about .col2_block .to.en {
		color: #fff;
		text-align: center;
		padding: 8px 15%;
		margin: 0;
		display: inline-block;
		position: absolute;
		top: -180px;
		right: -7%;
	}

	.service_about .col2_block .ribon{
		font-weight:bold;
		position: relative;
		background: #f10;
		margin-right:20px;

	}

	.service_about .col2_block .ribon:before {
		content: " ";
		position: absolute;
		top: 0px;
		left: -10px;
		width: 0;
		height: 0;
		border-width: 19px 10px;
		border-style: solid;
		border-color: #f10;
		border-left-color: transparent;
	}

	.service_about .link {
		margin-top: 10px;
	}

	.service_about .txt {
		display: none;
	}
}

/* professionals
----------------------------------------*/
#professionals img {
	display: block;
	margin: 0 auto;
}

#professionals h2 {
	background: url(../img/common/h2_red.png) no-repeat center top;
	margin: 109px 0 36px;
	height: 108px;
	text-align: center;
	padding: 20px 0 0;
	font-weight: normal;
	line-height: 1.6;
	font-size: 100%;
	letter-spacing: .2px;
}

#professionals h2 span {
	font-size: 130.7%;
	font-weight: bold;
	letter-spacing: -.5px;
	display: inline-block;
}

#professionals h2 span.en {
	font-size: 169.2%;
	letter-spacing: -.1px;
}

#professionals .professionals_inner {
	background: #edeeee;
}

#professionals .col3_block {
	width: 1020px;
	margin: 0 auto;
/*background: url(../img/common/professinal_bg02.png) 0 0 repeat-y;*/
	background-size: contain;
}
#professionals .col3_block .col_box {
	width: 340px;
	margin: 0;
	padding: 2px 2px 45px;
	background: #f9fafa;
}
#professionals .col3_block.listCenter .col_box {
	float: none;
	margin: 0 auto;
}

#professionals .col3_block .col_box:nth-child(2n) {
	background: #edeeee;
}

#professionals .col3_block .ph {
	margin-bottom: 16px;
}

#professionals .col3_block .txt{
	margin-left: 23px;
	margin-right: 23px;
}

#professionals .col3_block p {
	color: #898989;
	letter-spacing: -.7px;
}

#professionals .col3_block .job {
	font-size: 116%;
	font-weight: bold;
	letter-spacing: -1px;
	color: inherit;
}

#professionals .col3_block .job + .en {
	font-size: 108%;
	color: #000;
	letter-spacing: -1px;
	margin-bottom: 12px;
}

#professionals .link {
	margin-top: 16px;
}

#professionals .btn_block {
	text-align: center;
	margin: 24px 0;
}

@media only screen and (max-width: 1041px) {
	#professionals h2 {
		margin: 74px 0 38px;
	}

	#professionals .col3_block {
		width: auto;
	}

	#professionals .col3_block .col_box {
		width: 33.333%;
		margin: 0;
		padding: 2px 2px 16px;
	}

	#professionals .col3_block .ph {
		margin-bottom: 6px;
	}

	#professionals .col3_block p {
		letter-spacing: -.7px;
		line-height: 1.65;
	}

	#professionals .col3_block .job + .en {
		margin-bottom: 7px;
		margin-top: 1px;
	}

	#professionals .link {
		margin-top: 19px;
	}

	#professionals .btn_block {
		margin: 23px 0;
	}
}

@media only screen and (max-width: 767px) {
	#professionals h2 {
		margin: 50px 0 10px;
		height: auto;
		padding: 26px 0 40px;
		line-height: 1.8;
		background: none;
	}

	#professionals h2:before,
	#professionals h2:after {
		content: "";
		width: 62px;
		height: 13px;
		background: url(../img/common/h2_red.png) no-repeat;
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: -31px;
	}

	#professionals h2:after {
		height: 28px;
		background: url(../img/common/h2_red.png) no-repeat left bottom;
		top: auto;
		bottom: 0;
	}

	#professionals h2 span {
		line-height: 1.5;
	}

	#professionals .col3_block {
		background: #f9f9f9;
	}

	#professionals .col3_block .slick-prev,
	#professionals .col3_block .slick-next {
		width: 10px;
		height: 10px;
		background: url(../img/common/sp_al_left.png) no-repeat;
		border: none;
		overflow: hidden;
		text-indent: -500px;
		position: absolute;
		bottom: 92px;
		left: 42px;
		z-index: 10;
	}

	#professionals .col3_block .slick-next {
		background: url(../img/common/sp_al_right.png) no-repeat;
		right: 42px;
		left: auto;
	}

	#professionals .col3_block .slick-dots {
		text-align: center;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 82px;
	}

	#professionals .col3_block .slick-dots li {
		display: inline-block;
		width: 7px;
		margin: 0 2px;
	}

	#professionals .col3_block .slick-dots li button {
		display: block;
		width: 7px;
		height: 7px;
		border-radius: 3.5px;
		background: #a9a9a9;
		border: none;


		overflow: hidden;
		text-indent: -500px;
	}

	#professionals .col3_block .slick-dots li.slick-active button {
		background: #000;
	}

	#professionals .col3_block {
		width: auto;
	}

	#professionals .col3_block .col_box {
		width: auto;
		margin: 0;
		padding: 2px 2px 120px;
		float: left;
		text-align: center;
	}

	#professionals .col3_block .ph {
		margin-bottom: 6px;
	}

	#professionals .col3_block .txt{
		margin: auto;
	}
	#professionals .col3_block p {
		letter-spacing: -.7px;
		line-height: 1.65;
	}

	#professionals .col3_block .job + .en {
		margin-bottom: 7px;
		margin-top: 1px;
	}

	#professionals .link {
		margin-top: 10px;
	}

	#professionals .btn_block {
		margin: 0;
		top: -66px;
	}
}

/*コンタクト
----------------------------------------*/
.contact {
	font-size: 15px;
	text-align: center;
	margin-top: 170px;
}

.contact h4 {
	position: relative;
	background: url(../img/common/contact_bg.png) 50% 0 no-repeat;
	font-size: 16px;
	min-height: 34px;
	line-height: 1;
	z-index: 10;
}

.contact h4 span {
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
}

.contact h4 + div {
	background: #f6f8f8;
	padding: 25px 0 35px;
	margin-top: -20px;
}

.tel {
	font-family: 'Questrial', sans-serif;
	font-size: 38px;
	font-weight: bold;
	line-height: 1;
}

.contact_box {
	background: url(../img/common/contact_btn_pc.png) 0 0 no-repeat;
	background-size: auto 100%;
	width: 620px;
	height: 64px;
	margin: 0 auto;
	text-align: center;
	margin-top: 12px;
}

.contact_box a:link,
.contact_box a:visited{
	color: #f10;
	text-decoration: none;
}
.contact_box a:hover {
	text-decoration: underline;
}

.contact_box p {
	font-size: 21px;
	font-weight: bold;
	line-height: 56px;
	padding-left: 50px;
	color: #FFF;
}

.contact_box p br {
	display: none;
}

p.holiDay {
	margin-top: 20px;
	color: #f10;
}


@media only screen and (max-width: 1041px) {
	.contact_box dl {
		width: 42%;
	}
}

@media only screen and (max-width: 767px) {
	.contact {
		font-size: 13px;
		margin-top: 70px;
	}
	.contact h4 {
		background: url(../img/common/contact_bg.png) 50% 0 no-repeat;
		font-size: 16px;
		min-height: 30px;
		background-size: 88% 100%;
	}
	.contact h4 + div {
		padding: 25px 0 30px;
	}

}

@media only screen and (max-width: 500px) {

	.contact h4 + div {
		padding: 25px 0 25px;
	}
	.contact_box {
		background: url(../img/common/contact_btn_sp.png) 0 0 no-repeat;
		background-size: auto 100%;
		width: 295px;
		height: 97px;
		margin: 0 auto;
		text-align: left;
		margin-top: 10px;
	}
	.contact_box a:hover {
		text-decoration: underline;
	}

	.contact_box p {
		font-size: 18px;
		font-weight: bold;
		line-height: 1.4;
		padding: 20px 0 0 80px;
	}
	
	.contact_box p br {
		display: block;
	}
}


/*footer
----------------------------------------*/
#footer {
	background: #eaecec;
	padding-top: 40px;
}

#footer img {
	display: block;
	margin: 0 auto;
}

#footer #footer_sitemap {
	width: 1020px;
	margin: 0 auto;
	overflow: hidden;
	padding-bottom: 45px;
}

#footer #footer_sitemap dl {
	width: 230px;
	float: left;
	line-height: 1.7;
	padding-right: 30px;
	box-sizing: border-box;
}

#footer #footer_sitemap dl dt,
#footer #footer_sitemap .f_midashi {
	font-size: 15px;
/*	font-family: 'Questrial', sans-serif; */
	font-weight: bold;
	margin-bottom: 20px;
}

#footer #footer_sitemap dd > ul > li + li {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #a8a8a8;
}

#footer #footer_sitemap dl ul li {
	margin-bottom: .2px;
	letter-spacing: -.6px;
}

#footer #footer_sitemap dl ul li .ttl {
	color: #515151;
	font-weight: bold;
	margin-left: -0.5em;
}

#footer #footer_sitemap dl ul li li {
	margin: 3px 0;
}

#footer #footer_sitemap dl a {
	color: #000;
	text-decoration: none;
	font-size: 14px;
}

#footer #footer_sitemap dl:last-of-type {
	width: 330px;
	padding-right: 0;
}

#footer #footer_sitemap dl:last-of-type ul > li + li {
	border-top: none;
}

#footer #footer_sitemap dl dd + dd {
	margin-top: 40px;
}

#footer #footer_sitemap dl dd + dd ul {
	margin-bottom: 15px;
}

#footer #footer_sitemap .sns {
	margin: 77px 0 0 13px;
}

#footer #footer_sitemap .sns .en {
	font-weight: bold;
	font-size: 138.5%;
	letter-spacing: .2px;
}

#footer #footer_sitemap .sns ul {
	overflow: hidden;
	margin: 15px 0 0 -3px;
}

#footer #footer_sitemap .sns ul li {
	float: left;
	width: 27.5px;
}

#footer #footer_sitemap .sns ul li + li {
	margin-left: 27px;
}

#footer #footer_sitemap .sns ul li img {
	width: 100%;
}

#footer .flogo {
	position: absolute;
	right: 0;
	top: 0;
}

#footer .footer_inner {
	background: #fff;
	padding-top: 18px;
}

#footer .footer_inner .sub_nav {
	width: 1020px;
	margin: 0 auto 15px;
}

#footer .sub_nav ul {
	line-height: 1.1;
	margin: 0 0 7px 7px;
	overflow: hidden;
}

#footer .sub_nav ul:nth-of-type(2) {
	margin: 0 0 0 7px;
}

#footer .sub_nav ul li {
	float: left;
	font-size: 12px;
	border-right: solid 1px #676666;
	padding: 2px 10px 1px;
}

#footer .sub_nav ul li:first-child {
	border-left: solid 1px #676666;
}

#footer .sub_nav ul li a {
	text-decoration: none;
	color: #646464;
	letter-spacing: 0.3px;
}

#copyright {
	width: 100%;
	margin: 1px auto 0;
	padding: 7px 0;
	text-align: center;
	background: #FF1100;
	color: #fff;
}

#copyright small {
	font-size: 12px;
	letter-spacing: -.38px;
	/*	font-family: 'Century Gothic','Avenir Next','Questrial', sans-serif;*/
	font-family: 'Questrial', sans-serif;
}

#footer .bazar {
	width: 215px;
	position: absolute;
	top: 160px;
	right: 116px;
	padding-top: 30px;
	border-top: 1px solid #a8a8a8;
}

@media only screen and (max-width: 1041px) {
	#footer #footer_sitemap {
		width: 600px;
		text-align: center;
	}

	#footer #footer_sitemap dl {
		width: auto;
		padding-right: 0;
		float: none;
		display: inline-block;
		vertical-align: top;
		margin: 0 20px;
		text-align: left;
	}

	#footer #footer_sitemap dl:last-of-type {
		float: left;
		width: 100%;
		border-top: solid 1px #a8a8a8;
		margin: 40px 0 0;
		padding: 40px 40px 0;
	}

	#footer #footer_sitemap dl:last-of-type dt,
	#footer #footer_sitemap dl:last-of-type dd{
		width: 330px;
	}

	#footer .footer_inner .sub_nav {
		width: 96%;
		margin: 0 auto 15px;
		box-sizing: border-box;
	}

	#footer .bazar {
		width: 215px;
		position: absolute;
		top: -46px;
		right: -218px;
		padding-top: 0;
		border-top: none;
	}

}

@media only screen and (max-width:767px) {
	#footer {
		padding-top: 20px;
	}
	
	#footer #footer_sitemap {
		width: 100%;
		text-align: center;
	}

	#footer #footer_sitemap dl {
		display: none;
	}
	
	#footer #footer_sitemap dl:last-of-type {
		float: none;
		display: block;
		width: 80%;
		border-top: none;
		margin: 0 auto;
		padding: 0;
	}
	
	#footer #footer_sitemap dl:last-of-type dt,
	#footer #footer_sitemap dl:last-of-type dd{
		width: 100%;
		max-width: 330px;
	}	
	
	#footer .footer_inner {
		padding: 0;
	}

	#footer .footer_inner .sub_nav {
		width: 100%;
		margin: 0 auto;
	}

	#footer .sub_nav ul {
		margin: 0;
		line-height: 1.6;
		border-top: solid 1px #a8a8a8;
	}

	#footer .sub_nav ul:nth-of-type(2) {
		margin: 0;
		border-top: none;
	}

	#footer .sub_nav ul li,
	#footer .sub_nav ul li:first-child {
		float: none;
		margin-bottom: 0;
		border-left: none;
		border-right: none;
		border-bottom: solid 1px #a8a8a8;
		padding: 7px 25px;

	}

	#footer .sub_nav ul li a {
		text-decoration: underline;
	}

	#footer .flogo {
		position: static;
		padding: 20px 25px;
	}

	#footer .flogo img {
		margin: 0 auto;
		width: auto;
	}

	#copyright {
		width: auto;
		margin: 1px auto 0;
		text-align: center;
		line-height: 1;
	}

	#copyright small {
		letter-spacing: -.5px;
		line-height: 1.3;
	}

	#footer .bazar {
		width: 80%;
		max-width: 330px;
		position: static;
	}

	#footer .bazar img {
		max-width: 215px;
		margin: 24px 0 0;
	}

}

/*service_col2
----------------------------------------*/
.service_col2 .service_inner {
	background: #444;
}

.service_col2 .col2_block {
	width: 1020px;
	margin: 0 auto;
}

.service_col2 .col2_block .col_box {
	width: 510px;
	margin: 0;
}

.service_col2 .col2_block .service_col2_txtbox {
	margin: 12px 0 0;
	padding: 0 50px 30px;
}

.service_col2 .col2_block .ttl {
	color: #000;
	font-weight: bold;
	font-size: 15px;
	line-height: 1.35;
	letter-spacing: -.7px;
	margin: 5px 0;
}

.service_col2 .col2_block .ttl.en {
	font-size: 15px;
	letter-spacing: 0;
}

.service_col2 .col2_block .to.en {
	font-weight: bold;
	color: #f10;
	font-size: 13px;
	padding: 8px 0 0;
	letter-spacing: 0.3px;
}

.service_col2 .col2_block .to.en + .en {
	color: #7e7e7e;
	font-weight: bold;
	font-size: 11px;
	line-height: 1.1;
	letter-spacing: .8px;
}

.service_col2 .link {
	font-size: 14px;
	margin-top: 7px;
}

.service_col2 .col2_block .link a {

}

@media only screen and (max-width: 1041px) {
	.service_col2 {
		padding: 75px 0 75px;
	}

	.service_col2 .col2_block {
		width: auto;
	}

	.service_col2 .col2_block .col_box {
		width: 50%;
		margin: 0;
	}

	.service_col2 .col2_block .ttl {
		letter-spacing: -.7px;
	}

	.service_col2 .col2_block .ttl.en {
		font-size: 13px;
		letter-spacing: -.3px;
	}

	.service_col2 .col2_block .to.en {
		padding: 11px 0 0;
	}

	.service_col2 .link {
		font-size: 13px;
	}

	.service_col2 .btn_block {
		margin: 22px 0 0;
	}
}

@media only screen and (max-width: 767px) {
	.service_col2 {
		padding: 0;
	}

	.service_col2 .col2_block .col_box {
		width: auto;
		margin: 0;
		padding: 2px 2px 60px;
		float: left;
	}

	.service_col2 .col2_block .slick-prev,
	.service_col2 .col2_block .slick-next {
		width: 10px;
		height: 10px;
		background: url(../img/common/sp_al_left.png) no-repeat;
		border: none;
		overflow: hidden;
		text-indent: -500px;
		position: absolute;
		bottom: 42px;
		left: 42px;
		z-index: 10;
	}

	.service_col2 .col2_block .slick-next {
		background: url(../img/common/sp_al_right.png) no-repeat;
		right: 42px;
		left: auto;
	}

	.service_col2 .col2_block .slick-dots {
		text-align: center;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 32px;
	}

	.service_col2 .col2_block .slick-dots li {
		display: inline-block;
		width: 7px;
		margin: 0 2px;
	}

	.service_col2 .col2_block .slick-dots li button {
		display: block;
		width: 7px;
		height: 7px;
		border-radius: 3.5px;
		background: #a9a9a9;
		border: none;
		overflow: hidden;
		text-indent: -500px;
	}

	.service_col2 .col2_block .slick-dots li.slick-active button {
		background: #000;
	}


	.service_col2 .col2_block .col_box {
		width: auto;
		margin: 0;
		float: left;
		padding: 0 0 46px;
	}

	.service_col2 .col2_block .service_col2_txtbox {
		margin: 12px 0 0;
		padding: 0 23px 30px;
	}

	.service_col2 .col2_block .col_box.bg_gray {
		background: #EAECEC;
	}

}


/* service_col3
----------------------------------------*/
.service_col3 {
	background: #444;
	color: #fff;
	padding: 104px 0 80px;
}

.service_col3 img {
	display: block;
	margin: 0 auto;
}

.service_col3 h2 {
	background: url(../img/common/h2_white.png) no-repeat center top;
	margin: 0 0 39px;
	height: 108px;
	text-align: center;
	padding: 20px 0 0;
	font-weight: normal;

	line-height: 1.6;
	letter-spacing: .2px;
	font-size: 13px;
}

.service_col3 h2 span {
	font-size: 17px;
	font-weight: bold;
	letter-spacing: -.5px;
	display: inline-block;
}

.service_col3 h2 span.en {
	font-size: 22px;
	letter-spacing: -.1px;
}

.service_col3 .col3_block {
	width: 1020px;
	margin: 0 auto;
}

.service_col3 .col3_block .col_box {
	width: 340px;
	margin: 0;
}

.service_col3 .col3_block .service_col3_txtbox {
	margin: 12px 0 0;
	padding: 0 23px 30px;
}

.service_col3 .col3_block .ttl {
	color: #000;
	font-weight: bold;
	font-size: 15px;
	line-height: 1.35;
	letter-spacing: -.7px;
	margin: 5px 0;
}

.service_col3 .col3_block .ttl.en {
	font-size: 15px;
	letter-spacing: 0;
}

.service_col3 .col3_block .to.en {
	font-weight: bold;
	color: #f10;
	font-size: 13px;
	padding: 8px 0 0;
	letter-spacing: 0.3px;
}

.service_col3 .col3_block .to.en + .en {
	color: #7e7e7e;
	font-weight: bold;
	font-size: 11px;
	line-height: 1.1;
	letter-spacing: .8px;
}

.service_col3 .link {
	font-size: 14px;
	margin-top: 7px;
}

.service_col3 .col3_block .link a {	
	color: #000;
}

.service_col3 .btn_block a {
	color: #fff;
	border: solid 2px #fff;
}

@media only screen and (max-width: 1041px) {
	.service_col3 {
		padding: 75px 0 75px;
	}

	.service_col3 h2 {
		margin: 0 0 37px;
	}

	.service_col3 .col3_block {
		width: auto;
	}

	.service_col3 .col3_block .col_box {
		width: 33.333%;
		margin: 0;
	}

	.service_col3 .col3_block .ttl {
		letter-spacing: -.7px;
	}

	.service_col3 .col3_block .ttl.en {
		font-size: 13px;
		letter-spacing: -.3px;
	}

	.service_col3 .col3_block .to.en {
		padding: 11px 0 0;
	}

	.service_col3 .link {
		font-size: 13px;
	}

	.service_col3 .btn_block {
		margin: 22px 0 0;
	}
}

@media only screen and (max-width: 767px) {
	.service_col3 {
		padding: 50px 0 33px;
	}

	.service_col3 h2 {
		margin: 0 0 19px;
		height: auto;
		padding: 26px 0 39px;
		line-height: 1.8;
		background: none;
	}

	.service_col3 h2:before,
	.service_col3 h2:after {
		content: "";
		width: 62px;
		height: 13px;
		background: url(../img/common/h2_white.png) no-repeat;
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: -31px;
	}

	.service_col3 h2:after {
		height: 28px;
		background: url(../img/common/h2_white.png) no-repeat left bottom;
		top: auto;
		bottom: 0;
	}

	.service_col3 .col3_block .slick-prev,
	.service_col3 .col3_block .slick-next {
		width: 10px;
		height: 10px;
		background: url(../img/common/sp_al_left.png) no-repeat;
		border: none;
		overflow: hidden;
		text-indent: -500px;
		position: absolute;
		bottom: -27px;
		left: 28px;
		z-index: 10;
	}

	.service_col3 .col3_block .slick-next {
		background: url(../img/common/sp_al_right.png) no-repeat;
		right: 28px;
		left: auto;
	}

	.service_col3 .col3_block .slick-dots {
		text-align: center;
		position: absolute;
		left: 0;
		right: 0;
		bottom: -37px;
	}

	.service_col3 .col3_block .slick-dots li {
		display: inline-block;
		width: 7px;
		margin: 0 2px;
	}

	.service_col3 .col3_block .slick-dots li button {
		display: block;
		width: 7px;
		height: 7px;
		border-radius: 3.5px;
		background: #fff;
		border: none;
		overflow: hidden;
		text-indent: -500px;
	}

	.service_col3 .col3_block .slick-dots li.slick-active button {
		background: #000;
	}

	.service_col3 h2 span {
		line-height: 1.5;
	}

	.service_col3 .col3_block {
		width: auto;
		margin: 0 15px;
	}

	.service_col3 .col3_block .slick-list {
		overflow: hidden;
	}

	.service_col3 .col3_block .col_box {
		width: auto;
		margin: 0;
		float: left;
		padding: 0 0 46px;
	}

	.service_col3 .col3_block .col_box.bg_gray {
		background: #EAECEC;
	}

	.service_col3 .btn_block p {
		width: 265px;
	}

	.service_col3 .btn_block {
		margin: 54px 0 0;
	}

}


/* リボン
----------------------------------------*/
.service_col3 .col_box .to.en,
.service_col2 .col_box .to.en {
	text-align: center;
	padding: 8px 15%;
	margin: 0;
	display: inline-block;
	position: absolute;
	top: 33px;
	right: 0;
	z-index: 9;
}

.service_col3 .col_box .ribon,
.service_col2 .col_box .ribon{
	font-weight:bold;
	position: relative;
	background: #f10;
	color: #fff !important;
	margin-right:20px;
}

.service_col3 .col_box .ribon:before,
.service_col2 .col_box .ribon:before {
	content: "";
	position: absolute;
	top: 0px;
	left: -10px;
	width: 0;
	height: 0;
	border-width: 19px 10px;
	border-style: solid;
	border-color: #f10;
	border-left-color: transparent;
}

.service_col3 .col_box .ribon_wh,
.service_col2 .col_box .ribon_wh{
	background: #fff;
	color: #f10;
	font-weight:bold;
	position: relative;
	margin-right:20px;
}

.service_col3 .col_box .ribon_wh:before,
.service_col2 .col_box .ribon_wh:before {
	content: "";
	position: absolute;
	top: 0px;
	left: -10px;
	width: 0;
	height: 0;
	border-width: 19px 10px;
	border-style: solid;
	border-color: #fff;
	border-left-color: transparent;
}

@media only screen and (max-width: 767px) {
	.service_col3 .col_box .to.en,
	.service_col2 .col_box .to.en {
		top: 20px;
	}
}

.dummyImg::before{
content: "アタリ";
position: absolute;
top: 45%;
left: 0;
right: 0;
background: #000;
color: #fff;
padding: 10px;
width: 160px;
text-align: center;
margin: auto;
}