@charset "UTF-8";
.loading ,.loading img {
  display: none;
}
/* ------------------------------------------------------
   common
------------------------------------------------------ */
@import url("https://use.typekit.net/ffv0xvs.css");
body{
	overflow-x: hidden;
	color: #535353;
}
.pc {
	display:inherit!important;
}
.pcf{
	display: flex!important;
}
.pcb{
	display: block!important;
}
.pci{
	display: inline!important;
}
.spb,.s_sp,.sp,.spi{
	display: none!important;
}
.cv_band{
	display: none;
}
html {
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	min-height: 100%;
	position: relative;
}
body {
	font-size: 14px;
	font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1.8;
}
a:link {
	color: #999;
	text-decoration: none;
	outline: none;
}
a:visited {
	color: #999;
	text-decoration: none;
}
a:hover {
	color: #999;
	text-decoration: none;
}
a:active {
	color: #999;
	text-decoration: none;
}
a.link_blue{
	color: #2958aa;
	border-bottom: 1px dashed #2958aa;
}
a.link_blue:hover {
	border-bottom: none;
}
.hatebu a{
    background-color: #FFD5D5 !important;
    color: #FF7979 !important;
    font-weight: bold;
    font-size: 12px;
    margin-left: 8px;
    padding: 1px;
}
/* other setting */
hr {display: none;}
sub, sup {
	position: relative;
	line-height: 0;
	font-size: 10px;
}
sup {top: 0em;}
sub {bottom: 0.3em; font-size: 0.4em;}
span img{ display: block;}
.small{ font-size: 12px; display: block;}
.underBold{ font-size: 22px; text-decoration: underline;}
.underLine{ text-decoration: underline;}
input{
    outline:none;
}
.mb_00{
	margin-bottom: 0!important;
}
.mt_00{
	margin-bottom: 0!important;
}
.mt_30{
	margin-top: 30px!important;
}
.ta_l{
	text-align: left!important;
}
.ta_r{
	text-align: right!important;
}
.ta_c{
	text-align: center!important;
}
/* Float */
.floatL { float: left !important;}
.floatR { float: right !important;}
.noFloat { overflow: hidden !important;}

.readBlock {
	display: none;
}
::selection {
    background: #23a9db;
    color: #fff; 
}
::-moz-selection {
    background: #23a9db;
    color: #fff;
}
.smooth{
	transform: rotate(0.05deg);
    display: inline-block;
}
p{
	font-size: 16px;
	/*font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}
img{
	max-width: 100%;
	vertical-align: bottom;
}
img.img-border {
    border: 1px solid rgba(0, 0, 0, 0.15);
}
.flex{
	display: flex;
}
.inner{
	width: 90%;
	max-width: 1150px;
	margin: auto;
}
#philosophy .inner, #kwmAbout .inner,#dateFeed .inner{
	max-width: 850px;
}
header + section{
	padding-top: 80px;
}
i.fa-twitter{
	color: #84d1ec;
}
i.fa-facebook-f{
	color: #7383c2;
}
i.hatena{
	color: #2958aa;
}
/* ------------------------------------------------------
   clearfix
------------------------------------------------------ */
.clearfix:after{
	content: "";
	display: block;
	clear: both;
}
.clearfix{
	zoom: 1;
}
/* ------------------------------------------------------
   cv_band
------------------------------------------------------ */
/*cv_band*/
.cv_band{
	display: block;
	width: 90%;
	padding: 12px 5%;
	position: fixed;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.16);
	bottom: -70px;
	z-index: 10;
	transition-duration: .5s;
}
.cv_band.is-fixed{
	bottom: 0;
}
.cv_band a.sp_bottom_cvbtn{
	display: block;
	height: 45px;
	font-size: 15px;
	text-align: center;
	border-radius: 5px;
	background: #e4359f;
	color: #fff;
	margin: 0 auto;
	font-weight: 700;
	max-width: 500px;
}
.cv_band a.sp_bottom_cvbtn span{
	display: inline-block;
	height: 45px;
	line-height: 48px;
	font-size: 16px;
	padding-left: 34px;
	background: url(../img/ico_mail.png) left center /25px auto no-repeat;
}
.cv_band a.pagetop {
    width: 88px;
    display: block;
    position: absolute;
    bottom: auto;
    right: 6px;
    z-index: 10;
    top: -86px;
}
/* ---------------------------------------------------------------------------
   header,footer
------------------------------------------------------------------------------ */
/* ------------------------------------------------------
   header
------------------------------------------------------ */
.trigger{
	display: none;
}
header{
	width: calc(100% - 86px);
	height: 40px;
	padding: 20px 43px;
	align-items: center;
	background: #fff;
	display: flex;
    position: fixed;
    top: 0;
    transition: .5s;
	z-index: 50;
    font-weight: 700;
}
header.hide{
	transform: translateY(-100%);
}
header a{
	display: block;
	color: #535353;
}
header a:active,header a:visited,header a:link{
	color: #535353;
}
header .logo{
	width: 254px;
	display: block;
}
nav > ul.flex {
	position: absolute;
    top: 27px;
	margin-left: 55px;
}
nav > ul.flex > li{
	font-size: 20px;
	position: relative;
	padding: 0 15px;
}
nav > ul.flex > li > a{
	display: inline-block;
	padding: 0 0 15px 0;
}
nav ul.flex ul{
    position: absolute;
    background: rgba(255, 255, 255, 0.95);
    left: auto;
    font-size: 16px;
    top: 38px;
    width: 270px;
    box-shadow:0px 2px 1px 0 rgba(0, 0, 0, 0.16);
    /*border-bottom:1px solid #DADADA;
	border-right:1px solid #DADADA;
	border-left:1px solid #DADADA;*/
    display: none;
}
nav ul.flex ul li{
    width: 235px;
    padding: 20px 0 20px 40px;
    position: relative;
}
nav ul.flex ul li:before{
content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 8px;
    border-color: transparent transparent transparent #2958aa;
    position: absolute;
    top: 20px;
    left: 15px;
}
nav li.active ul{
	display: block;
}
li#mynavi {
    padding: 20px 0 10px 25px;
    width: 220px;
}
nav ul.flex ul li {
    width: 235px;
    padding: 15px 0 15px 40px;
    position: relative;
}
nav ul.flex ul li#mynavi:before {
    display: none;
}
header .cv_list a.contact{
	display: block;
	position: absolute;
	height: 48px;
	padding: 0 26px;
	background: #3c8bd9;
	font-size: 20px;
	text-align: center;
	line-height: 52px;
	border-radius: 5px;
	right: 250px;
	top: 18px;
}
header .cv_list a.analysys{
	right: 25px;
	background: #e4359f;
}
header .cv_list a:hover{
	box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.16);
}
header .cv_list a,header .cv_list a:visited,header .cv_list a:active,header .cv_list a:hover{
	color: #fff;	
}
header .cv_list a.contact span{
	/*display: inline-block;
	height: 48px;
	padding-left: 34px;
	background: url(../img/ico_mail.png) left center /25px auto no-repeat;*/
}
/* ------------------------------------------------------
   footer
------------------------------------------------------ */
footer{
	margin-top: 100px;
	padding: 45px 0 25px 0;
	background: #48587e;
	color: #fff;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.pankuzu + footer,.pagetop + footer{
	margin-top: 0;
}
footer .f_logo{
	max-width: 247px;
	display: block;
}
footer p{
	font-size: 14px;
	line-height: 1.6em;
}
footer a,footer a:visited,footer a:active{
	color: #fff;
}
ul.bnr_link a, ul.bnr_link a:visited{
	color: #FFF !important;
}
footer .inner{
	justify-content: space-between;
    max-width: 1045px;
}
footer .inner > ul{
	position: relative;
    padding-right: 45px;
}
footer .inner > ul + ul{
	padding-left: 55px;
}
footer .inner > ul:last-child{
	padding-right: 20px;
}
footer .inner > ul + ul:before{
	content: '';
	display: block;
	width: 1px;
	height: 215px;
	background: #a9b4cb;
	position: absolute;
	left: 0;
	top: 20px;
}
footer .inner > ul:nth-child(1) > li + li{
	margin-top: 20px;
}
footer .inner > ul:nth-child(1) > li a{
	text-decoration: underline;
	color: #fff;
}
footer .inner > ul:nth-child(1) > li span{
	display: block;
	font-weight: bold;
}
footer .inner > ul:nth-child(2) > li a{
	padding: 2px 0;
	display: block;
	color: #fff;
}
footer .inner > ul:nth-child(2) > li a:hover{
	text-decoration: underline;
}
footer .sns_link{
	margin: 10px 0;
}
footer .sns_link a{
	width: 37px;
	display: block;
}
footer .sns_link a.newsletter{
	display: block;
	width: 150px;
	height: 37px;
	background: #fff;
	border-radius: 20px;
	color: #48587e;
	font-size: 14px;
	font-weight: bold;
	line-height: 37px;
	position: relative;
}
footer .sns_link a.newsletter:before{
	content: '';
	display: block;
	width: 26px;
	height: 20px;
	background: url(../img/ico_f_mail.png) center bottom /100% auto no-repeat;
	position: absolute;
	left: 15px;
	top: 8px;
}
footer .bnr_link li.yahlogo {
    width: 214px;
    padding-left: 4px;
}
footer .sns_link a.newsletter span{
	padding-left: 50px;
}
footer .sns_link li + li{
	margin-left: 12px;
}
footer .bnr_link{
	margin-top: 5px;
}
footer .bnr_link li + li{
	margin-top: 0;
}
address{
	padding: 60px 0 0 0;
	text-align: center;
}
a.pagetop {
	width: 100px;
	display: block;
	position: fixed;
    bottom: 30px;
    right: 30px;
	z-index: 10;
}
.cv_band + a.pagetop{
	display: none;
}
/* ---------------------------------------------------------------------------
   contents
------------------------------------------------------------------------------ */
h2{
	color: #48587E;
	font-size: 46px;
	text-align: center;
	font-weight: 800;
	line-height: 1.5em;
}
h2 + p,.h2_tit p{
	color: #63708D;
	font-size: 18px;
	text-align: center;
}
.btn_area{
	width: 100%;
}
a.btn_blue,a.btn_pink,a.btn_white,a.btn_orange{
	display: block;
	width: 90%;
	max-width: 470px;
	height: 60px;
	margin: auto;
	border-radius: 30px;
	color: #fff;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
	font-size: 22px;
	text-align: center;
	line-height: 62px;
	font-weight: 800;
	position: relative;
	transition-duration: .2s;
}
a.btn_white{
	background: #fff!important;
	color: #63708d!important;
	border: 1px solid #e2e2e2;
}
a.btn_blue{
	background: #2958aa!important;
}
a.btn_pink{
	background: #e4359f!important;
}
a.btn_orange {
    background-color: #ff8000 !important;
}
a.btn_blue:hover,a.btn_pink:hover,a.btn_white:hover,a.btn_orange:hover{
	transform: translateY(3px);
	box-shadow: none;
}
.inner a.btn_blue{
	width: 100%;
}
a.btn_blue:visited,a.btn_blue:active{
	color: #fff;
}
.sec_normal p + a.btn_blue,.sec_normal p + a.btn_pink,.sec_normal p + a.btn_white{
	margin-top: 50px;
}
a.ser_list {
	margin-top:20px;
	/*border-radius: 12px;*/
	border: 1px solid #3c8bd9;
	background-color: white !important;
	color: #3c8bd9 !important;
	height: 50px;
	line-height:50px;
	}
a.ser_list:hover{
	background-color: #3c8bd9 !important;
	color: white !important;
}
/* ------------------------------------------------------
   basic_blog
------------------------------------------------------ */
.useful{
	padding: 80px 0 115px 0;
}
.basic_blog{
	margin: 110px 0 42px 0;
    flex-wrap: wrap;
	justify-content: space-between;
}
.basic_blog::before,
.basic_blog::after {
    content: '';
    display: block;
    width: calc((100% - (36px * 2)) / 3);
}
.basic_blog::before {
    order: 1;
}
.basic_blog > li{
	width: calc((100% - (36px * 2)) / 3);
	position: relative;
	margin: 0 34px 34px 0;
	transition-duration: .5s;
}
.basic_blog > li:nth-child(3n){
	margin-right: 0;
}
.basic_blog > li a{
	display: block;
	height: 100%;
	background: #fff;
	border: 1px solid #e5e5e5;
}
.basic_blog > li:hover{
	transform: translate(-1px, -1px);
	transition-duration: .2s;
	box-shadow:1px 1px 8px 0px rgba(0, 0, 0, 0.06);
}
.basic_blog .thumb {
    width: 100%;
    max-height: 265px;
}
.basic_blog .thumb img {
    object-fit: cover;
    width: 100%;
    height: 240px;
}
.basic_blog .txt_area{
    padding: 17px 13px;
}
.basic_blog .txt_area ul{
	justify-content: flex-end;
    margin: 0 15px 0 0;
}
.basic_blog .txt_area ul li{
	color: #888;
	font-weight: bold;
	font-size: 12px;
}
.basic_blog .txt_area ul li span{
	display: inline-block;
	padding: 0 0 0 20px;
	position: relative;
}
.basic_blog .txt_area ul li span i{
	display: inline-block;
	margin-right: 5px;
}
.basic_blog .txt_area ul li span i.fa-twitter{
	color: #84d1ec;
	font-size: 16px;
}
.basic_blog .txt_area ul li span i.fa-facebook-f{
	color: #7383c2;
	font-size: 16px;
}
i.hatena:before {
    content: "B!";
    font-family: Verdana;
    font-weight: bold;
}
.basic_blog .txt_area ul li span i.hatena{
	color: #2958aa;
	font-size: 16px;
}
.basic_blog .txt_area p.date{
	margin: 0 0 10px 0;
	padding: 0 0 0 1px;
	color: #888;
	font-size: 16px;
	position: relative;
	line-height: 1.2em;
	font-weight: normal;
}
/*.basic_blog .txt_area p.date:before{
    content: '\f017';
    font-family: "Font Awesome 5 Free";
  font-weight: 100;
    display: block;
    width: 70px;
    height: 20px;
    background: #0e005d;
    color: #fff;
    font-size: 16px;
    position: absolute;
    top: -3px;
    left: 0;
    line-height: 23px;
}*/
.basic_blog .txt_area .date + p{
	margin: 0;
	color: #535353;
	font-weight: 800;
	font-size: 20px;
	line-height: 1.6em;
    font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	max-height: 6em;
	overflow: hidden;
}
section .tag{
	width: 206px;
	height: 35px;
	background: #2958aa;
	justify-content: center;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 38px;
	position: absolute;
	left: 10px;
	top: -13px;
	box-shadow:0px 1px 1px 0px rgba(0, 0, 0, 0.16);
	z-index: 5;
}
section .tag:visited,.tag:active{
	color: #fff;
}
section .tag:after{
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #e4359f;
	position: absolute;
	right: -9px;
	top: 0;
}
.popular .tag{
	background: #ffd75c;
}
.popular .tag:after{
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #cbb36a;
}
section .tag.facebook{
	background: #7383c2;
}
section .tag.facebook:after{
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #5266b5;
}
section .tag.google-ads{
	background: #3c8bd9;
}
section .tag.google-ads:after{
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #2958aa;
}
section .tag.yahoo-promotional-ads{
	background: #f16b85;
}
section .tag.yahoo-promotional-ads:after{
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #b25a6c;
}
section .tag.twitter-ads{
	background: #84d1ec;
}
section .tag.twitter-ads:after{
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #5aa1b9;
}
section .tag.line-ads-platform{
	background: #60bf60;
}
section .tag.line-ads-platform:after{
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #538053;
}
section .tag.other{
	background: #2958aa;
}
section .tag.other:after{
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #e4359f;
}
.popular{
	padding: 35px 78px 20px 65px;
	border: 1px solid #e5e5e5;
	position: relative;
}
.popular a{
	display: inline-block;
	margin: 0 35px 0 0;
	color: #63708d;
	font-size: 18px;
}
.popular a:hover{
	/*text-decoration: underline;*/
	border-bottom:1px dashed #7a8190;
}
.popular a.alltag{
    display: inline-block;
    padding: 15px 20px 10px;
    background: #fcfcfc;
    border: 1px solid rgba(0, 0, 0, 0.16);
    font-size:1.1rem;
    border-radius: 30px;
    color: #707070;
    position: absolute;
    right: 5px;
    top: 22px;
    line-height: 1;
}
.popular .tag{
	color: #535353;
}
.popular　.tag:after{
	border-style: solid;
	border-width: 13px 0 0 9px;
	border-color: transparent transparent transparent #cbb36a;
}
/* ------------------------------------------------------
  interview
------------------------------------------------------ */
.basic_blog.int_list .thumb{
	position: relative;
}
.basic_blog.int_list .thumb:before{
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 160px 0 0;
	border-color: rgba(218, 3, 129, 0.65) transparent transparent transparent;
	position: absolute;
	top: 0;
	left: 0;
}
.basic_blog.int_list .thumb:after{
	content: '';
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 50px 160px;
	border-color: transparent transparent rgba(41, 88, 170, 0.65) transparent;
	position: absolute;
	bottom: 0;
	right: 0;
}
.basic_blog.int_list .txt_area p{
	margin-bottom: 10px;
	color: #535353;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.4em;
	font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.basic_blog.int_list .txt_area p.tit_tblue{
	color: #48587e;
}
.basic_blog .txt_area p.client{
	color: #535353;
	font-size: 18px;
	margin: 0 0 10px 0;
	font-weight: normal;
}
/* ------------------------------------------------------
   point
------------------------------------------------------ */
.secwrap{
	flex-wrap: wrap;
}
.point{
	width: 100%;
	padding: 0 0 52px 0;
	background: #f7fbff;
}
.point.bgwhite{
	background: #fff;
}
.bg_blue{
	padding: 85px 0;
	background: #3c8bd9;
}
.bg_blue h2,.bg_blue p{
	color: #fff;
}
.bg_blue h2 + p{
	font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 700;
	font-size: 22px;
	margin-top: 7px;
}
.point_list{
	margin: 64px 0 0 0;
	flex-wrap: wrap;
	justify-content: center;
}
.point_list li{
	width: 32%;
	max-width: 360px;
	margin: 0 0 20px 0;
}
.point_list li + li{
	margin-left: 22px;
}
.point_list h3{
	margin: 0 0 15px 0;
	color: #2958aa;
	font-size: 26px;
	text-align: center;
	line-height: 1.3em;
	font-weight: 700;
}
.point_list h3 span{
	font-size: 20px;
}
p.point_img {
    text-align: center;
    align-items: flex-end;
    height: 316px;
    margin: 0 0 30px 0;
}
.point_list li:nth-child(2) p.point_img img{
	margin-bottom: 50px;
}
p.point_img img{
	width: 100%;
}
.point_list p.point_txt{
	padding: 0 10px;
}
/* ------------------------------------------------------
   service
------------------------------------------------------ */
.service{
	width: 100%;
	padding: 70px 0 0 0;
}
.service .tit_wrap{
	margin-bottom: 114px;
}
.service .flex{
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 65px 0 0;
}
.service .flex.odd{
	margin: 0 0 0 65px;
	flex-direction: row-reverse;
}
.service .btn_area{
	margin: 46px auto 80px auto;
}
.service h3{
	margin: 0 0 35px 0;
	padding-left: 33px;
	color: #464646;
	font-size: 38px;
	font-weight: 800;
}
.service div.top_interview {
	margin: 0px 0 140px;
	padding-top: 30px;
	background-color: #f7fbff;
}
.service div.top_interview h3{
	margin: 0 0 35px 0;
	padding-left: 0;
	color: #48587e;
	text-align: center;
}
.column_txt{
	width: 53%;
}
.column_img{
	width: 47%;
}
.service .flex .column_img img{
	transform: translate(-20px, -30px);
}
.service .flex.odd .column_img img{
	transform: translate(20px, -30px);
}
.pink_check li{
	padding: 0 0 0 42px;
	font-size: 20px;
	position: relative;
	font-weight: 700;
	line-height: 2em;
}
.pink_check li + li{
	margin-top: 20px;
}
.pink_check li:before{
	display: block;
	content: '';
	position: absolute;
	top: 11px;
	left: 0;
	width: 14px;
	height: 6px;
	border-left: 2px solid #e4359f;
	border-bottom: 2px solid #e4359f;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.service ul + p{
	margin: 32px 0 0 0;
	font-size: 17px;
}
.service .bg_gray{
    margin: 35px 0 0 0;
    padding: 20px 30px;
    background: #fcfcfc;
    border: 1px solid #e2e2e2;
    border-radius: 5px;
}
.service .bg_gray h4{
	color: #2958aa;
	font-size: 18px;
	font-weight: bold;
}
.service .bg_gray p{
	font-size: 15px;
}
/* ------------------------------------------------------
   news
------------------------------------------------------ */
.news_wrapper{
	padding: 105px 0 174px 0;
}
.news_list{
	width: 90%;
	max-width: 1020px;
	margin: 60px auto 0 auto;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.news_list li{
	padding: 30px 104px 30px 88px;
	border-top: 1px solid #dadada;
	font-size: 18px;
	position: relative;
}
.news_list li:after {
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: '\f105';
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    font-size: 1.5rem;
    color: #999;
    position: absolute;
    top: calc(50% - 20px);
    right: 88px;
}
.news_list li:last-child{
	border-bottom: 1px solid #dadada;
}
.news_list li:nth-child(even){
	background: #fcfcfc;
}
.news_list .date{
	display: inline-block;
	margin: 0 100px 0 0;
	color: #999;
}
.news_list .title{
	color: #535353;
}
.news_list .title:hover{
	text-decoration: underline;
}
/* ------------------------------------------------------
	card_list
------------------------------------------------------ */
.card_list{
	width: 90%;
	max-width: 1080px;
	margin: 0 auto 40px auto;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_normal .card_list{
	margin: 160px auto 0 auto;
}
.card_list > div{
	width: 49%;
	margin: 0 0 32px 0;
	max-width: 520px;
	border: 1px solid #e5e5e5;
}
.card_txt{
	padding: 25px;
}
.card_tit{
    min-height: 60px;
    margin: 0 0 20px 0;
    padding: 0 0 0 20px;
    flex-wrap: wrap;
    align-items: center;
    position: relative;
    border-left: 10px solid rgba(228, 53, 159, 0.15);
}
.noico .card_tit{
	padding: 0;
	margin-bottom: 0;
}
.card_tit:before{
	/* content: ''; */
	width: 60px;
	height: 60px;
	background: url(../img/ico_010.png) center /100% no-repeat;
	position: absolute;
	left: 0;
	top: 0;
}
.noico .card_tit:before{
	display: none;
}
.card_tit h3{
	width: 100%;
	color: #3c8bd9;
	font-size: 30px;
	line-height: 1.3em;
	font-weight: 800;
}
.card_tit p{
	color: #63708d;
}
.card_tit + p{
	color: #535353;
}
/* ---------------------------------------------------------------------------
	lower page
--------------------------------------------------------------------------- */
/*h1-title*/

.main_tit{
	margin: 80px 0 0 0;
	padding: 80px 5% 65px 5%;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
#philosophy .main_tit{
	margin: 50px 0 80px 0;
}
.main_tit.thin{
	padding: 20px 5%;
}
.main_tit h1{
	width: 100%;
	margin: 0 0 20px 0;
	color: #fff;
	font-size: 46px;
	text-align: center;
	line-height: 1.2em;
    font-weight: 800;
}
.main_tit h1 span{
	display: block;
	font-size: 22px;
	margin-bottom: 10px;
}
.main_tit.thin h1,.main_tit.thin h1 span{
	margin: 0;
}
.main_tit h1 + p{
	width: 100%;
	color: #fff;
	font-size: 46px;
	text-align: center;
	line-height: 1.2em;
}
.main_tit.tit_bg01{
	background: url(../img/bg_tit_010.jpg) center no-repeat;
	background-size: cover;
}
.main_tit.tit_bg02{
	background: url(../img/bg_tit_020.jpg) center no-repeat;
	background-size: cover;
}
.main_tit.tit_bg03{
	background: url(../img/bg_tit_030.jpg) center no-repeat;
	background-size: cover;
}
.main_tit.tit_bg04{
	background: url(../img/bg_tit_040.jpg) center no-repeat;
	background-size: cover;
}
/*h2-title*/
.h2_tit{
    padding: 60px 5%;
    background: #f7fbff;
    margin-bottom: 110px;
}
.h2_tit.bgwhite{
	margin: 0;
	background: #fff;
}
/*.sec_normal*/
.sec_normal{
	padding-bottom: 60px;
}
.sec_normal + .sec_normal{
	margin-top: 80px;
}
.sec_normal .h2_tit{
	margin-bottom: 60px;
}
.sec_normal h4{
	font-weight: 700;
	color: #6370bd;
	font-size: 20px;
	margin-bottom: 10px;
}
.sec_normal p + h4{
	margin-top: 50px;
}
.sec_normal p{
	font-size: 18px;
}
.sec_normal .inner > * + p{
	margin-top: 30px;
}
.sec_normal .inner > p + ul,.sec_normal .inner > ul + p{
	margin-top: 60px;
}
.sec_normal p.bold_cc{
	padding: 30px 0 60px 0;
}
.sec_normal p span{
	font-weight: 700;
}
.sec_normal figure{
	margin: 60px auto;
	text-align: center;
}
/*ul_normal*/
* + .ul_normal{
	margin-top: 20px;
}
.sec_normal .ul_normal li{
    padding: 0 0 0 38px;
    position: relative;
    font-size: 18px;
}
.sec_normal .ul_normal li:before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    background: #535353;
    border-radius: 100%;
    left: 0;
    top: 10px;
    position: absolute;
}
/*採用情報ページ*/
.rec_link{
	padding: 10px 0;
}
.column2{
	align-items: flex-start;
}
.column2 img{
	width: 285px;
	min-width: 285px;
	margin-right: 58px;
	display: block;
}
.column2 p + p{
	margin-top: 20px;
}
/*trouble_list*/
.trouble_list{
	width: 100%;
	min-height: 234px;
	padding: 0 0 130px 0;
	background: url(../img/service_030.png) right bottom /386px auto no-repeat;
}
.trouble_list li,.checkbox_list li{
	display: block;
	padding: 0 0 48px 66px;
	font-size: 30px;
	color: #2958aa;
	line-height: 1.2em;
	font-weight: 700;
	position: relative;
}
.trouble_list li:before,.checkbox_list li:before{
	content: '';
	display: block;
	width: 42px;
	height: 42px;
	background: url(../img/ico_check.png) left top /42px auto no-repeat;
	position: absolute;
	top: -5px;
	left: 0;
}
.trouble_list li span,.checkbox_list li span{
	display: block;
	font-size: 20px;
	color: #63708d;
	font-weight: normal;
	padding: 0 0 0 45px;
    position: relative;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.trouble_list li span:before{
	content: '';
	display: block;
	width: 40px;
	height: 1px;
	background: #63708d;
	position: absolute;
	top: 15px;
	left: 0;
}
#dateFeed .checkbox_list li:before {
    width: 32px;
    height: 32px;
    background: url(../img/ico_check.png) left top /32px auto no-repeat;
}

#dateFeed .checkbox_list li {
    font-size: 1.4rem;
}
/*column3_list*/
.cause_wrap{
	padding-bottom: 95px;
}
.column3_list{
	width: 90%;
	max-width: 1110px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.column3_list li{
	width: calc(100% / 3 - 32px);
}
.column3_list li h3{
	padding: 0 0 10px 0;
	border-bottom: 4px dotted #e4359f;
	text-align: center;
	font-size: 26px;
	font-weight: 700;
	color: #63708d;
	line-height: 1.4em;
}
.column3_list li p{
	margin-top: 30px;
	font-size: 18px;
}
p.bold_cc,strong{
    text-align: center;
    color: #2958aa;
    font-size: 30px;
    font-weight: 700;
    margin: 75px auto 0 auto;
    line-height: 1.4em;
	font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
p.bold_cc.marg_large{
    margin: 40px auto 60px auto;
}
/*numeral_list*/
.numeral_wrap{
	padding-bottom: 195px;
}
.numeral_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1110px;
	margin: auto;
}
.numeral_list li{
	width: calc(100% / 3 - 45px);
    padding: 30px 15px;
    border: 1px solid #e5e5e5;
}
.numeral_list li h3,.numeral_list li p.num{
	font-size: 26px;
	color: #63708d;
	text-align: center;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 2px;
	font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.numeral_list li p.num span{
	font-size: 65px;
	color: #e4359f;
	font-weight: 500;
	display: inline-block;
	margin: 0 10px 0 0;
}
.numeral_list li p.num{
	margin-bottom: 15px;
}
.numeral_list li p.num + p{
	font-size: 18px;
}
/*bggray*/
.bggray{
	background: #fafafa;
	border: 1px solid #e1e1e1;
	padding: 20px 47px 47px 47px;
	margin: 76px auto 0 auto;
	max-width: 1006px;
}
.bggray p{
	margin-bottom: 45px;
	color: #48587e;
	font-size: 26px;
	font-weight: 800;
	text-align: center;
}
.bggray ul{
	justify-content: space-between;
	flex-wrap: wrap;
}
.bggray ul li{
	width: calc(100% / 3 - 18px);
}
/*lower_intwrap*/
.lower_intwrap{
	background: #f7fbff;
	padding-bottom: 80px;
}
.lower_intwrap .h2_tit{
	margin-bottom: 0;
}
.lower_intwrap .basic_blog{
	margin-top: 0;
}
/*flow_list*/
.flow_wrap{
	padding-bottom: 160px;
}
.flow_wrap .h2_tit{
	margin-bottom: 80px;
}
.flow_list{
	width: 90%;
	max-width: 902px;
	margin: auto;
}
.flow_box{
	min-height: 165px;
	position: relative;
	border-radius: 5px;
	border: 1px solid #e5e5e5;
    padding: 45px 327px 10px 27px;
}
.flow_box + .flow_box{
	margin-top: 44px;
}
.flow_box + .flow_box:before{
	content: '';
	display: block;
	margin: auto;
	width: 27px;
	height: 44px;
	background: #ffd9e0;
	position: absolute;
	top: -44px;
	right: 0;
	left: 0;
}
.flow_box .tag{
	background: #3c8bd9;
}
.flow_box .tag:after{
    border-color: transparent transparent transparent #2958aa;
}
.flow_box h3{
	font-size: 22px;
	font-weight: 700;
	color: #48587e;
}
.flow_box .flow_img{
	position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 310px;
}
.flow_box .flow_img img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
/*text*/
.text{
	background: #f7fbff;
	padding-bottom: 100px;
}
.text .h2_tit{
	margin-bottom: 0;
}
.text.bgwhite{
	background: #fff;
}
.text > p,.text .lesson_wrap p,.text table,.text h4{
	max-width: 902px;
	width: 90%;
	margin: auto;
}
.text .lesson_wrap p + p{
	margin-top: 20px;
}
.text h3,.sec_normal > h3,.fixedpage_wrap div > h3{
	background: #eaf0f6;
	margin: 70px auto;
	padding: 20px 5%;
	font-size: 26px;
	font-weight: 700;
	text-align: center;
	color: #48587e;
}
.sec_normal .h2_tit + h3{
	margin-top: 0;
}
.text h4{
	font-size: 20px;
	font-weight: 700;
	color: #63708d;
	margin-bottom: 30px;
}
.text table td,.text table th{
	border: 1px solid #eaf0f6;
	padding: 10px;
	font-size: 20px;
	font-weight: 700;
}
.text table th{
	background: #63708d;
	color: #fff;
	width: 330px;
}
.text table td{
	padding-right: 44px;
	text-align: right;
	color: #63708d;
	background: #fff;
}
table.t_large tr td {
    text-align: center;
}
.text table td.bt_b{
	border-top: 1px solid #b2b2b2;
}
.text table td.bb_b{
	border-bottom: 1px solid #b2b2b2;
}
.text table.t_large th,.text table.t_large td{
	font-size: 26px;
    padding: 20px 44px 10px 20px;
}
.text table.t_large th{
	max-width: 320px;
}
.text table.t_large th span,.text table.t_large td span{
	font-size: 32px;
}
.text table + p.note{
	margin-top: 50px;
	font-size: 18px;
	line-height: 1.5em;
}
table.table_line{
	width: 100%;
}
table.table_line tr{
	border-top: 1px solid #dadada;
	border-bottom: 1px solid #dadada;
	width: 100%;
}
table.table_line tr:nth-child(even){
	background: #fcfcfc;
}
table.table_line th,table.table_line td{
	padding: 20px 0;
	vertical-align: middle;
	font-size: 18px;
}
table.table_line th{
	color: #999;
	width: 225px;
}
table.table_line p span{
	display: block;
}
/*check*/
.check_wrap{
	max-width: 902px;
	width: 90%;
	margin: 0 auto 70px auto;
}
.check_wrap ul + ul{
	margin-left: 70px;
}
.lesson_wrap + .lesson_wrap{
	margin-top: 84px;
}
.lesson_wrap .h2_tit{
	margin-bottom: 0;
}
.text_mainimg{
	max-width: 1150px;
	margin: 0 auto 50px auto;
}
.menu_cv{
	text-align: center;
	font-weight: 700;
	font-size: 26px;
	color: #2958aa;
	font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.menu_cv a{
	color: #3c8bd9;
	text-decoration: underline;
}
/*faq*/
.faq_wrap{
	padding-bottom: 195px;
}
.inner.faq_area {
    max-width: 1085px;
}
.faq_area dl{
	position: relative;
}
.faq_area dl + dl{
	margin-top: 15px;
}
.faq_area dl dt{
	min-height: 75px;
	background: #fff;
    padding-right: 65px;
	display: flex;
	position: relative;
	border-radius: 5px;
	border: 1px solid #e5e5e5;
	cursor: pointer;
}
.faq_area dl dt:before{
	content: '';
	width: 2px;
	height: 20px;
	background: #3c8bd9;
	position: absolute;
	right: 45px;
	top: calc(50% - 10px);
}
.faq_area dl dt.on:before{
	display: none;
}
.faq_area dl dt:after{
	content: '';
	width: 20px;
	height: 2px;
	background: #3c8bd9;
	position: absolute;
	right: 36px;
	top: calc(50% - 1px);
}
.faq_area dl dt .ques{
	width: 75px;
	min-width: 75px;
	margin-right: 50px;
	text-align: center;
	background: #3c8bd9;
	color: #fff;
	font-size: 28px;
	font-weight: 800;
	border-radius: 5px 0 0 5px;
	display: flex;
	height: auto;
	align-items: center;
	justify-content: center;
}
.faq_area dl dt p{
	font-size: 20px;
	color: #48587e;
	display: flex;
	align-items: center;
}
.faq_area dl dd{
	margin: 12px 0 0 75px;
	padding: 30px 20px;
	background: #fefcf4;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	position: relative;
	display: none;
	font-size: 18px;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.faq_area dl dd:after{
	content: '';
	display: block;
	width: 62px;
	height: 40px;
	background: url(../img/balloon_arrow.png) center /62px auto no-repeat;
	position: absolute;
	top: calc(50% - 20px);
	right: -62px;
}
.faq_area.faq_blue dl dd{
	background: #eaf0f6;
	border: 1px solid #d2d8dd;
}
.faq_area.faq_blue dl dd:after{
	background: url(../img/balloon_arrow_blue.png) center /62px auto no-repeat;
}
.faq_area dl dd a{
	font-weight: 700;
	color: #3c8bd9;
	text-decoration: underline;
}
.faq_area dl dd .strong{
	display: block;
	font-weight: 700;
}
.faq_area dl dd .tsmall{
	font-size: 16px;
}
.faq_area .btn_white{
	margin-top: 60px;
}
/*cvarea*/
.cvarea{
	padding: 60px 0 100px 0;
	background: url(../img/bg_cv.jpg) center /cover no-repeat;
}
.cvarea h2{
	margin-bottom: 40px;
}
.cvarea p{
	max-width: 920px;
	margin: auto;
	text-align: left;
	color: #535353;
}
.cvarea p + p{
	margin-top: 30px;
}
.cvarea .btn_pink{
	max-width: 550px;
	margin-top: 50px;
}
.cvarea + .useful{
	padding-bottom: 0;
    padding: 115px 0 0 0;
}
/* ------------------------------------------------------
	固定ページ用スタイル
------------------------------------------------------ */
.fixedpage_wrap section > div{
	padding: 100px 0;
}
.fixedpage_wrap section > div.bg_blue{
	color: #fff;
	background: #3c8bd9;
}
.fixedpage_wrap section > div.bg_lightblue{
	background: #f7fbff;
}
.fixedpage_wrap section > div.bg_white{
	background: #fff;
}
.fixedpage_wrap section p,
.fixedpage_wrap section table,
.fixedpage_wrap section h1,
.fixedpage_wrap section h2,
.fixedpage_wrap section h4,
.fixedpage_wrap section h5,
.fixedpage_wrap section h6,
.fixedpage_wrap section strong{
	max-width: 1150px;
	width: 90%;
	margin: auto;
}
.fixedpage_wrap section strong{
	display: block;
	margin-top: 80px;
}
.fixedpage_wrap section h2 + ul{
	margin-top: 60px;
}
.fixedpage_wrap section p + p{
	margin-top: 30px;
}
.fixedpage_wrap section .column3_list li p{
	margin: 30px 0 0 0;
	width: 100%;
}
.fixedpage_wrap section > div.cvarea h2{
    margin-bottom: 40px;
}
.fixedpage_wrap + .pankuzu{
	margin-top: 140px;
}
.fixedpage_wrap section > div.pb140{
	padding-bottom: 140px;
}
/* ------------------------------------------------------
	products
------------------------------------------------------ */
.cd_wrap{
	width: 90%;
	max-width: 1150px;
	margin: auto;
}
.cd_wrap dl{
	display: flex;
	justify-content: space-between;
}
.cd_wrap > div + div{
	margin-top: 20px;
}
.cd_wrap dl h3{
    background: none;
    margin: 0;
    padding: 10px 0 20px 0;
    font-size: 26px;
    font-weight: 700;
    text-align: left;
    color: #2958aa;
    line-height: 1.4em;
}
.cd_wrap dl h3 a {
    color: #2958aa;
}
.cd_wrap dt{
	min-width: 390px;
	width: 390px;
}
.cd_wrap.cd_set dt{
	min-width: 458px;
	width: 458px;
}
.cd_wrap dd{
	margin-left: 50px;
}
.cd_wrap dd span{
	display: block;
	margin-bottom: 5px;
	font-weight: 700;
	color: #48587e;
	font-size: 20px;
}
/* ------------------------------------------------------
	about
------------------------------------------------------ */
span.train {
    border: 4px solid #000;
    border-radius: 50%;
    display: inline-block;
    padding: 1px;
    font-weight: bold;
    height: 12px;
    line-height:15px;
    width: 12px;
    text-align: center;
    margin-right: 10px;
    margin-bottom:5px;
    font-size:11px;
    color:#333;
}
span.hibiya {
    border-color:  #CCC;
}
span.yurakucho {
    border-color:  #dba600;
}
span.asakusa {
    border-color: #e06158;
}
span.oedo {
    border-color:  #c9075e;
}
/* ------------------------------------------------------
	pankuzu
------------------------------------------------------ */
.pankuzu{
	margin: 180px 0 0 0;
	padding: 12px 0;
	background: #f8f8f8;
	border-top: 1px solid #dfdfdf;
	position: relative;
}
.useful + .pankuzu{
    margin: 125px 0 0 0;
}
.pankuzu .inner{
	max-width: 1080px;
	overflow: hidden;
	position: relative;
}
.pankuzu ul{
    width: -moz-max-content;
    width: -webkit-max-content;
    width: -o-max-content;
    width: -ms-max-content;
	width: max-content;
	flex-wrap: wrap;
}
.pankuzu li + li{
	margin: 0 0 0 16px;
}
.pankuzu a,.pankuzu span{
	display: inline-block;
	padding: 0 30px 0 0;
	color: #48587e;
	position: relative;
    line-height: 2em;
}
.pankuzu a:after{
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7.5px 0 7.5px 8px;
    border-color: transparent transparent transparent #dbdbdb;
    position: absolute;
    top: 5px;
    right: 0;
}
.pankuzu ul li:last-child a:after{
	display: none;
}
.pankuzu a:hover{
	text-decoration: underline;
}
.pankuzu span{
	padding: 0;
    overflow: hidden;
    height: 2em;
}
@media screen and (max-width: 1600px) {
header .cv_list a.contact{
	font-size: 15px;
	right: 190px;
	padding:0 18px;
}
header .cv_list a.analysys{
	right: 15px;
}
}
@media screen and (max-width: 1500px) {
	nav > ul.flex > li{
		font-size: 15px;
	}
}
@media only screen and (max-width: 1360px) {
	nav > ul.flex > li{
		font-size: 13px;
	}
	header .cv_list a{
	height: 45px;
	font-size:15px;
	}
}
@media screen and (min-width: 1201px) {
	nav{
		display: block!important;
	}
}
@media screen and (max-width: 1200px) {
	/* ------------------------------------------------------
   		header
	------------------------------------------------------ */
	.trigger {
		display: block;
		width: 32px;
		height: 23px;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 200;
		cursor: pointer;
		border-left: 26px solid #fff;
		border-right: 26px solid #fff;
		border-top: 22px solid #fff;
		border-bottom: 20px solid #fff;
	}
	.trigger span {
		display: block;
		width: 32px;
		height: 2px;
		background: #63708d;
		position: absolute;
		transition: 0.3s ease;
	}
	.trigger span:nth-child(1) {
		top: 0;
	}
	.trigger span:nth-child(2) {
		top: 10px;
	}
	.trigger span:nth-child(3) {
		bottom: 0;
	}
	.trigger.on{
		position: fixed;
		width: 32px;
		height: 23px;
	}
	.trigger.on span:nth-child(1) {
		transform: rotate(45deg);
		top: 10px;
	}
	.trigger.on span:nth-child(2) {
		display: none;
	}
	.trigger.on span:nth-child(3) {
		transform: rotate(-45deg);
		bottom: 10px;
	}
	header .spb{
		display: block!important;
	}
	header{
		width: 100%;
		min-height: 65px;
		padding: 0;
		background: #fff;
		flex-wrap: wrap;
	    position: fixed;
		z-index: 20;
		top: 0;
	}
	header.on{
		top: 0!important;
	}
	header .logo{
		position: absolute;
		top: 15px;
		left: 5%;
		width: 210px;
	}
	header a,header a:visited,header a:link{
		color: #535353;
	}
	header nav {
		width: 100%;
		height: calc(100vh - 65px);
		top: 65px;
		position: absolute;
		z-index: 10;
		background: #f2f2f2;
	    overflow-y: scroll;
		display: none;
	}
	nav > ul{
		flex-wrap: wrap;
		width: 100%;
		background: #fff;
	}
	nav > ul.flex{
		position: relative;
		top: 0;
		margin-left: 0;
	}
	nav > ul.flex > li{
		width: 100%;
		padding-left: 0;
		border-bottom: 1px solid #e5e5e5;
	}
	nav > ul.flex > li + li{
		padding-left: 0;
	}
	nav > ul.flex > li > a{
		position: relative;
		padding: 10px 0 6px calc(5% + 23px);
		display: block;
		font-size: 16px;
	}
	nav > ul > li > a:before{
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 7.5px 0 7.5px 8px;
		border-color: transparent transparent transparent #2958aa;
		position: absolute;
		top: 15px;
		left: 5%;
	}
	nav > ul > li.active ul{
		display: none;
	}
	nav li.active:after{
		display: none;
	}
	nav > ul.flex > li.subwrap{
		padding: 0;
	}
	nav > ul.flex > li.subwrap > a{
		display: none;
	}
	nav > ul.flex > li.subwrap > ul{
		display: block;
		position: relative;
		width: auto;
		height: auto;
		box-shadow: none;
		top: auto;
		left: auto;
		font-size: 18px;
	}
	nav ul.flex ul li:before{
		top: 15px;
		left: 5%;
	}
	nav > ul.flex > li.subwrap > ul li{
 	   padding: 0;
		width: auto;
	}
	nav > ul.flex > li.subwrap > ul li a{
 	   padding: 10px 0 6px calc(5% + 23px);
 	   width: auto;
 	   border-top: 1px solid #e5e5e5;
 	   font-size: 16px;
 }
	nav > ul.flex > li.h_keymap{
		/* height: 40px; */
		background: url(../img/h_keymap.png) 320px center /90px auto no-repeat;
	}
	nav > ul.flex > li.h_keymap > a{
		/* font-size: 12px; */
		font-weight: 700;
		padding-top: 12px;
	}
	header ul.cv_list {
		width: 90%;
		padding: 15px 5%;
		padding-bottom: 68px;
		margin-bottom: 0px;
		box-shadow: 0px 1px 2px 0px #adadad;
		display: flex;
		justify-content: space-between;
		position: relative;
		z-index: 1;
	}
	header .cv_list li{
		width: 48%;
	}
	header .cv_list li a:before{
		display: none;
	}
	header .cv_list a{
		padding: 0;
		position: relative;
	    right: auto;
    	top: auto;
		font-size: 16px;
	}
	header .cv_list a.contact{
	font-size: 15px;
	display: block;
	padding:0 20px;
}
	header .cv_list a.newsletter{
		background: #2958aa;
		display: none;
	}
	header .cv_list a span{
		/*adding-left: 32px;*/
		color: #fff;
	}
	header .head_close{
		display: block;
		width: 100%;
		padding: 20px 0 30px 0;
		background: #f2f2f2;
		position: relative;
	}
	header .head_close:before{
		content: '';
		display: block;
		margin: auto;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 9px 9px 9px;
		border-color: transparent transparent #63708d transparent;
	}
	header .cv_list a:hover{
		box-shadow: none;
	}
}
/* ------------------------------------------------------
   sp 768以下
------------------------------------------------------ */
@media screen and (max-width: 768px) {
	.loading {
		width: 100%;
		height: 100%;
		background: rgba(255,255,255,1.0);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 20000;
		display: block;
	}
	.loading img {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		margin-top: -75px;
		margin-left: -78px;
	}
	/* ------------------------------------------------------
   		common
	------------------------------------------------------ */
	.pc,.pcf,.pcb,.pci{
		display: none!important;
	}
	.sp {
		display: inherit!important;
	}
	.spb{
		display: block!important;
	}
	.spi{
		display: inline!important;
	}
	p{
		font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	}
	a.btn_blue {
    font-size: 18px;
	height: auto;
}
	a.btn_blue, a.btn_pink, a.btn_white, a.btn_orange {
    display: block;
    width: 90%;
    max-width: 470px;
    margin: auto;
    border-radius: 30px;
    color: #fff;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
    font-size: 18px;
    text-align: center;
    /* line-height: 62px; */
    font-weight: 700;
    position: relative;
    transition-duration: .3s;
}
	a.btn_blue:hover,a.btn_pink:hover,a.btn_white:hover{
		transform: none;
		box-shadow: none;
	}
	.basic_blog > li:hover{
		transform: none;
		transition-duration: .2s;
		box-shadow: none;
	}
	.pink_check li:before{
	top: 7px;
}
	/* ------------------------------------------------------
   		header
	------------------------------------------------------ */
	nav > ul.flex > li.h_keymap{
		/* height: 40px; */
		background: url(../img/h_keymap.png) 250px center /90px auto no-repeat;
	}
	nav > ul.flex > li.h_keymap > a{
		font-size: 15px;
		letter-spacing: -1px;
	}
	/* ------------------------------------------------------
   		footer
	------------------------------------------------------ */
	footer{
		margin: 45px 0 0 0;
		padding: 0 0 25px 0;
		position: relative;
	}
	footer .inner{
		flex-wrap: wrap;
		width: 90%;
	}
	footer .inner > ul{
		width: 100%;
		padding: 40px 0;
	}
	footer .inner > ul + ul{
	    font-family: ryo-gothic-plusn, sans-serif, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	    font-size: 16px;
    	font-weight: 800;
	    padding: 0 0 20px 0;
	}
	footer .inner > ul + ul:before{
		display: none;
	}
	footer .inner > ul.sp_box03:before{
		content: '';
		display: block;
		background: #a9b4cb;
		position: absolute;
		width: 80%;
		height: 1px;
		left: 10%;
		top: 0;
	}
	footer .inner .sp_box01{
	  -webkit-box-ordinal-group:1;
	  -ms-flex-order:1;
	  -webkit-order:1;
	  order:1;
	}
	footer .inner .sp_box02{
	  -webkit-box-ordinal-group:2;
	  -ms-flex-order:2;
	  -webkit-order:2;
	  order:2;
	}
	footer .inner .sp_box03{
	  -webkit-box-ordinal-group:3;
	  -ms-flex-order:3;
	  -webkit-order:3;
	  order:3;
	}
	footer .inner > ul:nth-child(2) li{
		position: relative;
	}
	footer .inner > ul:nth-child(2) li:after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: -25%;
		background: #414f71;
		width: 150%;
		height: 1px;
	}
	footer .inner > ul:nth-child(2) > li a {
		padding: 14px 0 14px 30px;
		position: relative;
	}
	footer .inner > ul:nth-child(2) > li a:before{
	    content: '';
	    width: 0;
		height: 0;
		border-style: solid;
		border-width: 7.5px 0 7.5px 8px;
		border-color: transparent transparent transparent #fff;
		position: absolute;
		top: calc(50% - 7.5px);
		top: calc(50% - 10.5px);
		left: 4px;
	}
	footer .f_keymap{
		background: url(../img/f_keymap.png) right center /122px auto no-repeat;
	}
	footer .f_keymap a{
		font-size: 12px;
	}
	footer .inner > ul:nth-child(2) .cv_list{
		padding: 20px 0;
		justify-content: space-between;
	}
	footer .inner > ul:nth-child(2) .cv_list li{
		display: block;
		width: 48%;
	}
	footer .inner > ul:nth-child(2) .cv_list li:after{
		display: none;
	}
	footer .inner > ul:nth-child(2) > li .cv_list a{
		display: block;
		width: 100%;
		height: 48px;
		padding: 5px 0;
		background: #e4359f;
		font-size: 16px;
		text-align: center;
		line-height: 52px;
		border-radius: 5px;
		right: auto;
		top: auto;
	}
	footer .inner > ul:nth-child(2) > li .cv_list a:before{
		display: none;
	}
	footer .inner > ul:nth-child(2) > li .cv_list a.newsletter{
		background: #2958aa;
	}
	footer .cv_list a,header .cv_list a:visited,header .cv_list a:active,header .cv_list a:hover{
		color: #fff;	
	}
	footer .inner > ul:nth-child(2) > li .cv_list a span{
		display: inline-block;
		height: 48px;
		padding-left: 32px;
		background: url(../img/ico_mail.png) left center /25px auto no-repeat;
	}
	footer .inner > ul:last-child{
		font-weight: normal;
	}
	address{
		padding: 35px 5% 0 5%;
		font-size: 12px;
	}
	a.pagetop {
		width: 88px;
		display: block;
		position: fixed;
		bottom: 6px;
		right: 6px;
		z-index: 10;
	}
	/* ------------------------------------------------------
   		common
	------------------------------------------------------ */
	h2{
		font-size: 26px;
	}
	h2 + p{
		font-size: 14px;
		line-height: 1.3em;
		margin-top: 10px;
	}
	.btn_blue, .btn_pink{
		font-size: 18px;
	}
	.sec_normal + .sec_normal {
 	   margin-top: 0;
	}
	.sec_normal p {
		font-size: 16px;
	}
	/* ------------------------------------------------------
		pankuzu
	------------------------------------------------------ */
	.pankuzu span.posttit{
		padding: 0;
		overflow: hidden;
		width: 133px;
		height: 20px;
	}
	.pankuzu span.posttit:after{
		content: '…';
		width: 20px;
		height: 20px;
		display: block;
		background: #f8f8f8;
		position: absolute;
		right: 0;
		top: 0;
		color: #48587e;
	}
	/* ------------------------------------------------------
		.basicblog
	------------------------------------------------------ */
	.useful {
		padding: 40px 0 0 0;
	}
	.basic_blog {
		margin: 50px 0 10px 0;
	}
	.basic_blog > li{
		width: 100%;
		margin: auto;
	}
	.basic_blog > li + li{
		margin-top: 10px;
	}
	.basic_blog > li img{
		width: 100%;
	}
	.basic_blog .txt_area {
		padding: 17px 20px;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4;
	}
	.basic_blog .txt_area .date {
		margin: 0 0 10px 0;
	}
	.basic_blog .txt_area ul{
		margin-right: 5px;
	}
	.basic_blog .txt_area .date + p{
		line-height: 1.4em;
	    max-height: 4.6em;
	}
	.basic_blog li:nth-child(n + 2) a{
		display: flex;
	}
	.basic_blog li:nth-child(n + 2) .date + p{
		font-size: 14px;
		line-height: 1.2em;
		max-height: 4.5em;
	}
	.basic_blog .thumb {
    max-height: none;
}
	.basic_blog li:nth-child(n + 2) .thumb{
		min-width: 148px;
		width: 148px;
		height: 116px;
	}
	.basic_blog li:nth-child(n + 2) .thumb img{
		object-fit: cover;
		height: 100%;
	}
	.basic_blog li:nth-child(n + 2) .txt_area ul,
	.basic_blog li:nth-child(n + 2) .tag{
		display: none;
	}
	.basic_blog li:nth-child(n + 2) .txt_area{
		padding: 12px;
	}
	.basic_blog li:nth-child(n + 2) .txt_area .date{
		font-size: 12px;
		margin: 0 0 10px 0;
		padding: 0;
	}
	.basic_blog li:nth-child(n + 2) .txt_area .date:before{
		top: -2px;
	}
	.basic_blog li:nth-child(n + 2) .txt_area .date + p{
		margin-bottom: 0;
	    max-height: 5.1em;
	    line-height: 1.3em;
	}
	.popular{
		padding: 0;
		border: none;
	}
	.popular a.alltag {
		display: block;
		width: 282px;
		margin: 15px auto 0 auto;
		padding: 15px 0 10px;
		background: #fcfcfc;
		border: 1px solid #ededed;
		border-radius: 20px;
		text-align: center;
		color: #656565;
		position: relative;
		top: auto;
		right: auto;
	}
	/* ------------------------------------------------------
   		top_point
	------------------------------------------------------ */
	.secwrap{
		flex-direction: column-reverse;
	}
	.bg_blue{
		padding: 70px 5% 65px 5%;
	}
	.bg_blue h2,.bg_blue h2 + p{
		text-align: left;
	}
	.bg_blue h2 + p{
		font-size: 16px;
		line-height: 1.6em;
	}
	.bg_blue h2{
		font-size: 26px;
	    line-height: 1.3em;
	    margin-bottom: 25px;
	}
	/*lower_point*/
	.point.bgwhite{
		background: #f7fbff;
	}
	.point_list{
		margin-top: 20px;
	}
	.point_list li {
		width: 100%;
		max-width: 500px;
		margin: 0 0 20px 0;
	}
	.point_list li + li{
		margin: 50px 0 0 0;
	}
	p.point_img{
		width: 60%;
		height: auto;
		margin: auto;
	}
	.point_list li:nth-child(2) p.point_img img{
		margin-bottom: 0;
	}
	.point_list h3{
		margin: 15px 0;
		font-size: 22px;
		font-weight: 700;
		letter-spacing: 1px;
	    line-height: 1.5em;
	}
	.point_list h3.saga{
		font-size: 22px;
	}
	.point_list h3.saga span{
		font-size: 18px;
	}
	.point_list p.point_txt {
		line-height: 1.5em;
	}
	/* ------------------------------------------------------
   		top_service
	------------------------------------------------------ */
	.service .tit_wrap{
		margin-bottom: 35px;
		padding: 25px 50px 35px 50px;
		background: #f7fbff;
	}
	.service h3{
		font-size: 28px;
		text-align: center;
		padding-left: 0;
	}
	.service li{
		font-size: 16px;
		padding-left: 44px;
	}
	.service div.top_interview li{
		padding-left: 0;
	}
	.service .flex,.service .flex.odd{
		margin: 0;
		justify-content: center;
	}
	.service .flex.odd{
		flex-direction: row;
	}
	.column_img,.column_txt{
		width: 100%;
	}
	.column_img{
		margin-bottom: 40px;
	    text-align: center;
	}
	.service .flex.odd .column_img img,.service .flex .column_img img{
		transform: none;
	}
	.column_img.spb img {
    width: 90%;
    max-width: 380px;
}
	/* ------------------------------------------------------
   		top_news
	------------------------------------------------------ */
	.news_wrapper{
		padding: 50px 0 0 0;
	}
	.news_wrapper h2{
		margin-bottom: 50px;
	}
	.news_list {
    	width: 100%;
		margin: 0 0 110px 0;
	}
	.news_list li{
		padding: 10px 40px 10px 5%;
	    font-size: 14px;
	}
	.news_list li:after{
		right: 22px;
	}
	.news_list .date{
		display: block;
		margin: 0;
	}
	/* ------------------------------------------------------
		card_list
	------------------------------------------------------ */
	.card_list > div{
		width: 100%;
		max-width: 100%;
	}
	.card_thumb img{
		width: 100%;
	}
	.card_tit h3{
		font-size: 20px;
	}
	.card_tit p{
		font-size: 13px;
	}
	/* ------------------------------------------------------
		lower page
	------------------------------------------------------ */
	/*cv_band*/
	.cv_band{
		display: block;
		width: 90%;
		padding: 12px 5%;
		position: fixed;
		background: rgba(255, 255, 255, 0.9);
		box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.16);
		bottom: -70px;
		z-index: 10;
	    transition-duration: .5s;
	}
	.cv_band.is-fixed{
		bottom: 0;
	}
	.cv_band a.sp_bottom_cvbtn{
		display: block;
		height: 45px;
		font-size: 15px;
		text-align: center;
		border-radius: 5px;
	    background: #e4359f;
		color: #fff;
		margin: 0;
		font-weight: 700;
	}
	.cv_band a.sp_bottom_cvbtn span{
		display: inline-block;
		height: 45px;
		line-height: 48px;
		font-size: 16px;
		padding-left: 34px;
		background: url(../img/ico_mail.png) left center /25px auto no-repeat;
	}
	/*h1-title*/
	.main_tit{
	    margin: 70px 0 0 0;
	}
	.main_tit h1{
		font-size: 26px;
		text-align: left;
	}
	.main_tit h1 span{
		font-size: 16px;
		text-align: left;
	}
	/*h2-title*/
	.h2_tit{
		padding: 46px 3%;
		margin-bottom: 30px; 
	}
	/*column2*/
	.column2{
		flex-wrap: wrap;
	}
	.column2 img{
		margin: 0 auto 30px auto;
	}
	/*trouble_list*/
	.trouble_list {
		padding: 0 0 205px 0;
		background: url(../img/service_030.png) right bottom /193px auto no-repeat;
	}
	.trouble_list li,.checkbox_list li{
		font-size: 20px;
	    padding: 0 0 30px 46px;
	}
	.trouble_list li span{
		display: none;
	}
	.trouble_list li:before,.checkbox_list li:before{
		width: 25px;
		height: 25px;
		background: url(../img/ico_check.png) left top /25px auto no-repeat;
	}
	/*column3_list*/
	.cause_wrap {
		padding-bottom: 125px;
	}
	.column3_list li{
		width: 100%;
	}
	.column3_list li + li{
		margin-top: 80px;
	}
	.column3_list li h3{
		font-size: 22px;
	}
	.column3_list li p {
		margin-top: 20px;
		font-size: 16px;
	    line-height: 1.5em;
	}
	.bold_cc{
		font-size: 20px;
		width: 90%;
		text-align: left;
		margin-top: 80px;
		line-height: 1.6em;
	}
	/*numeral_list*/
	.numeral_wrap {
		padding-bottom: 85px;
	}
	.numeral_list li{
		width: 100%;
		border: none;
	}
	.numeral_list li:first-child{
		padding-top: 0;
	}
	.numeral_list li h3{
		padding: 12px 0 6px 0;
		background: #eaf0f6;
		position: relative;
		font-size: 22px;
	}
	.numeral_list li h3:before{
		content: '';
		display: block;
		width: 10%;
		height: 100%;
		background: #eaf0f6;
		position: absolute;
		left: -10%;
		top: 0;
	}
	.numeral_list li h3:after{
		content: '';
		display: block;
		width: 10%;
		height: 100%;
		background: #eaf0f6;
		position: absolute;
		right: -10%;
		top: 0;
	}
	.numeral_list li p.num {
		margin: 20px auto 0 auto;
	}
	.numeral_list li p.num span{
		font-size: 58px;
	}
	.numeral_list li p.num + p{
		font-size: 12px;
	}
	/*bggray*/
	.bggray{
		width: 80%;
		padding: 40px 5% 45px 5%;
		margin-top: 30px;
	}
	.bggray p{
		font-size: 18px;
		line-height: 1.4em;
		margin-bottom: 30px;
	}
	.bggray ul li,.bggray ul li img{
		width: 100%;
	}
	.bggray ul li + li{
		margin-top: 15px;
	}
	/*lower_interview*/
	.basic_blog.int_list li:nth-child(n + 2) .thumb{
		height: auto;
	}
	.basic_blog.int_list li:nth-child(n + 2) .thumb:before {
		border-width: 20px 66px 0 0;
	}
	.basic_blog.int_list li:nth-child(n + 2) .thumb:after {
		border-width: 0 0 20px 66px;
	}
	.basic_blog.int_list li:nth-child(n + 2) .txt_area {
		padding: 10px 12px;
	}
	.basic_blog.int_list li:nth-child(n + 2) .txt_area p{
		font-size: 12px;
	}
	.basic_blog.int_list li:nth-child(n + 2) .txt_area p.client{
		text-align: right;
		font-size: 14px;
		margin: 0;
	}
	.lower_intwrap .basic_blog{
		margin-bottom: 50px;
	}
	/*table*/
	.price_wrap{
	    padding: 10px 0 50px 0;
	}
	.text table td, .text table th,
	.sec_normal table p{
		font-size: 14px;
	}
	.sec_normal table td p + p{
		margin-top: 14px;
	}
	.text table th{
		width: 180px;
	}
	.text table td{
		text-align: right;
		padding: 10px 20px 10px 10px;
	}
	.text table.t_large th, .text table.t_large td {
		font-size: 20px;
		display: block;
		width: auto;
		max-width: 100%;
	    padding: 7px;
		text-align: center;
	}
	table.table_line th, table.table_line td{
		font-size: 14px;
	}
	table.table_line th{
		width: 100px;
	}
	.text table + p.note {
    	margin-top: 30px;
    	font-size: 14px;
	}
	.text h3{
		font-size: 22px;
		line-height: 1.4em;
		padding: 12px 5% 6px;
		margin: 70px auto 10px auto;
	}
	.text table + h3{
		margin: 70px auto 50px auto;
	}
	.text h4{
		font-size: 16px;
		margin-bottom: 10px;
	}
	.text > p.menu_cv {
		text-align: left;
		font-size: 20px;
		width: 85%;
	}
	/*check_wrap*/
	.check_wrap{
		flex-wrap: wrap;
	}
	.check_wrap ul + ul{
		margin: 0;
	}
	.pink_check li {
    	padding: 0 0 0 30px;
    	font-size: 16px;
	}
	.pink_check li + li{
		margin-top: 20px;
	}
	/*flow_box*/
	.flow_wrap {
		padding-bottom: 75px;
	}
	.flow_wrap .h2_tit {
		margin: 20px 0;
	}
	.flow_box{
	    padding: 40px 20px 10px 20px;
		border-radius: 0;
	}
	.flow_box + .flow_box {
		margin-top: 40px;
	}
	.flow_box + .flow_box:before{
	    top: -40px;
		height: 40px;
	}
	.flow_box .flow_img {
		right: 0;
		top: 0;
		width: 144px;
		height: 135px;
	}
	.flow_box h3 {
		min-height: 110px;
		padding-right: 130px;
		line-height: 1.6em;
		font-size: 20px;
	}
	.flow_box .h3_img + p{
		font-size: 14px;
	}
	/*faq_area*/
	.faq_wrap{
		padding-bottom: 70px;
	}
	.faq_area dl + dl {
		margin-top: 5px;
	}
	.faq_area dl dt {
		padding: 0px 45px;
		border-radius: 5px;
	}
	.faq_area dl dt:before {
		height: 14px;
		right: 26px;
		top: calc(50% - 7px);
	}
	.faq_area dl dt:after {
		width: 14px;
		height: 2px;
		right: 20px;
	}
	.faq_area dl dt .ques {
		width: 44px;
		height: 44px;
		min-width: 44px;
		font-size: 18px;
		justify-content: left;
		position: absolute;
		left: 0;
		top: 0;
		border-radius: 5px 0 0 0;
		align-items: flex-start;
		text-indent: 5px;
	}
	.faq_area dl dt .ques:after{
		content: '';
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 44px 44px;
		border-color: transparent transparent #ffffff transparent;
		position: absolute;
		bottom: 0;
		right: 0;
	}
	.faq_area dl dt p{
		font-size: 14px;
	}
	.faq_area dl dt.on p{
		font-weight: 800;
	}
	.faq_area dl dd {
    	margin: 12px 22px 0 0;
		font-size: 16px;
	}
	.faq_area dl dd:after{
		content: '';
		display: block;
		width: 22px;
		height: 22px;
		background: url(../img/balloon_arrow_sp.png) center /22px auto no-repeat;
		position: absolute;
		top: calc(50% - 11px);
		bottom: auto;
		right: -22px;
	}
	.faq_area.faq_blue dl dd:after{
		background: url(../img/balloon_arrow_blue_sp.png) center /22px auto no-repeat;
	}
	/*cvarea*/
	.cvarea .btn_pink{
		width: 100%;
		font-size: 18px;
	}
	.cvarea p{
		font-size: 14px;
		line-height: 1.8em;
		width: 95%;
		margin: auto;
	}
	/*lower_blog*/
	.cvarea + .useful {
		padding: 60px 0 0 0;
	}
	/*lower_card_list*/
	.sec_normal .card_list {
		margin: 80px auto 0 auto;
	}
	/* ------------------------------------------------------
   		固定ページ用設定
	------------------------------------------------------ */
	.fixedpage_wrap section strong {
		width: 100%;
		font-size: 22px;
	}
	/* ------------------------------------------------------
   		cd_wrap
	------------------------------------------------------ */
	.cd_wrap > div + div{
		margin-top: 80px;
	}
	.cd_wrap dt,.cd_wrap.cd_set dt{
		min-width: 100%;
		width: 100%;
	}
	.cd_wrap dl{
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
	.cd_wrap dl h3{
		font-size: 22px;
	}
	.cd_wrap dd span{
		font-size: 14px;
	}
	.cd_wrap dd p{
		font-size: 14px;
	}
	.cd_wrap dd {
		margin-left: 0;
	}
	/* ------------------------------------------------------
   		固定ページ用
	------------------------------------------------------ */
	.fixedpage_wrap section > div{
		padding: 60px 0;
	}
	/* ------------------------------------------------------
   		採用ページ用
	------------------------------------------------------ */
	p.ta_r.rec_link{
		font-size: 14px;
	}
}
/* ------------------------------------------------------
   sp 600以下
------------------------------------------------------ */
@media screen and (max-width: 600px) {
	/* ------------------------------------------------------
   		common
	------------------------------------------------------ */
	.pc_sp {
		display: none!important;
	}
	.s_sp {
		display: inherit!important
	}
}
