@charset "utf-8";
/* CSS Document */

body {
    font-size: 16px;
    line-height: 1.8;
    font-family: "メイリオ", sans-serif,"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic";
    font-weight: 400;
	height:100%;
	margin-top: 0;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	color: #1F1F1F;
}
img {
	border:none; vertical-align:middle;
}
img.top {
	vertical-align:top;
}
img.middle {
	vertical-align:middle;
}
address,
em {
	font-style:normal;
}
a {
	color:#000;
	text-decoration: none;
}
a i {
	margin-left: 5px;
	margin-right: 5px;
}
a:hover,
input[type="submit"]:hover,
input[type="reset"]:hover{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	transition: 0.2s;
}
li {
	list-style-type:none;
}
header, main, article, footer, section, aside, nav, cite, figure, figcaption {
	display: block; 
}
/************************ class **********************************************/
.middle_img {
	width: 90%;
}
.icon {
	max-width: px;
	margin-right: 1em;
	margin-bottom: 5px;
}
/************************ float **********************************************/
.c-both {
	clear:both;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
.left {
	float:left;
}
.right {
	float:right;
}
.center {
	display:block;
	margin-left:auto; margin-right:auto;
	text-align:center;
}
/******* end float **********/
/******* flex box ***********/
.flex{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.flex img {
    object-fit: cover;
    object-position: top;
}
.height {
	justify-content: space-between;
  	flex-wrap: wrap;
	align-items: stretch;
}
/****** end flex box ********/
.inner {
	width:96%; max-width:1860px;
	margin-left:auto; margin-right:auto;
}
.middle_inner {
	width: 96%; 
	max-width:1300px;
	margin-left:auto; margin-right:auto;
}
.lower_inner {
	width: 86%; max-width:740px;
	margin-left:auto; margin-right:auto;
}
.half {
	width:50%;
}
img.banner {
	border:solid 1px #DDD;
}
span.hissu {
	color:#F03;
	font-size:12px;
}
span.memo {
	color:#666;
	font-size:12px;
}
span.error {
	display:block;
	color:#F03;
	font-size:12px;
}
p.indent {
	font-weight:normal; margin:5px 0 5px 1em;
	text-indent:-1em;
}
.heading {
	width: 100%;
}
.sp_v {
	display:none;
}
.pc_v {
	display:block;
}

/*************** end class ***************************************************************/
mark {
	background: linear-gradient(transparent 50%, #FFFF00 50%);
}
main {
	width:100%;
	overflow:hidden;
}
/**********************************  color     *****************************************/
.bg_c_b {
	background-color: #0099CC;
}
.bg_c_g {
	background-color: #339933;
}
.bg_c_p {
	background-color: #FF3399;
}
.bg_c_o {
	background-color: #FF9900;
}
.bg_c_y {
	background-color: #FFCC00;
}
.fc_b {
	color: #0099CC;
}
.fc_g {
	color: #339933;
}
.fc_p {
	color: #FF3399;
}
.fc_o {
	color: #FF9900;
}
.fc_y {
	color: #FFCC00;
}
.fc_m {
	color: #999999;
}
.fc_bk {
	color: #212121;
}
.fc_w {
	color: #ffffff;
}
span.o {
	color: #FF9900;
}
span.g {
	color: #999999;
}
span.y {
	color: #FFCC00;
}
.light_blue {
	color:#3399CC;
}
/**********************************  font     *****************************************/
.fs12 {
	font-size: 0.75rem;
}
.fs14 {
	font-size: 0.875rem;
}
.fs15 {
	font-size: 0.938rem;
}
.fs17 {
	font-size: 1.063rem;
}
.fs18 {
	font-size: 1.125rem;
}
.fs20 {
	font-size: 1.25rem;
}
.fs22 {
	font-size: 1.375rem;
}
.fs24 {
	font-size: 1.5rem;
}
.fs28 {
	font-size: 1.75rem;
}
.fs32 {
	font-size: 2rem;
}
.fs34 {
	font-size: 2.125rem;
}
.fs43 {
	font-size: 2.688rem;
}
.fwb {
	font-weight: bold;
} 
/**********************************  SWIPER   *****************************************/
section#slide {
	margin:0;
	height: auto;
	position: relative;
	top:0;
	z-index: 1;
}
section#slide .slide1 {
	background-image: url(../images/top/slide_01.jpg);
}
section#slide .slide2 {
	background-image: url("../images/top/slide_02.jpg");
}
section#slide .slide3 {
	background-image: url(../images/top/slide_03.jpg);
}
section#slide .slide4 {
	background-image: url(../images/top/slide_04.jpg);
}
section#slide .swiper-slide {
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
	padding:16% 0 31% 0;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 7em;
	margin-left: auto;
}

section#slide .swiper-container {
	margin:0em auto -7.2em;
	
} 
/**********************************  common   *****************************************/
div.v_line {
	border-left: 1px solid #333;
	height: 72px;
	width: 1px;
	margin-top: 3em;
}
div.line_y {
	border-bottom: 2px solid #FFCC00;
	width: 3.2em;
	margin-bottom: 2em;
}
a.s_button {
	color: #fff;
	width: 10em;
	padding: 0.5em 0.5em 0.5em 1.3em;
	border-radius: 2em;
}
a.m_button {
	color: #fff;
	width: 18.5em;
	padding: 0.5em 0.5em 0.5em 1em;
	border-radius: 2em;
}
.ttl_icon {
	width: 3%;
    max-width: 40px;
    margin-right: 0.5em;
}
.arrow_icon {
	margin-top: 0.4em;
}
.h_ttl {
	font-size: 2.375em;
	font-weight: bold;
	line-height: 1em;
}
h2 span.fs {
	font-size: 0.368em;
	font-weight: normal;
}
/**********************************  header   *****************************************/
header#header h1 img.logo {
	max-width: 131px;
	width: 45%;
}
header#header h1 img.text_logo {
	max-width: 165px;
	width: 55%;
}
header#header ul li {
	float: left;
	font-weight: bold;
	margin: 0 1em 0 1em;
}
header#header a.h_contact {
	background-color: #FF9900;
    margin: 0.5em 0em 0 1em;
    padding: 0.5em 2em 0.5em 2em;
    border-radius: 2em;
    color: #fff;
	width: 10em;
	text-align: center;
}
header#header a.h_contact i {
	font-size: 21px;
	vertical-align: sub;
	margin-right: 0.5em;
}
header#header nav.right {
	margin-top: 1.5em;
}
/**********************************  p_contac *****************************************/
section#page_contact div.contact_box {
	width: 39%;
	display: block;
	margin: 2em auto 3em auto;
}
section#page_contact div.contact_box a.tel {
	border: 1px solid #ff9900;
	padding: 0.1em 1em;
	color: #E07E00;
}
section#page_contact div.contact_box a.mail {
	border-radius: 2em;
	padding: 0.5em 3em;
} 
section#page_contact div.map_box {
	background-color: #F6F6F6;padding: 2em 0;
}
section#page_contact div.data {
	width: 65%;
	padding: 1em 0 1em 2em ;
}
section#page_contact div.data dd {
	margin-left: 0;
}
section#page_contact div.staff_about {
	width: 40%;
	border: 6px solid #FFCC00;
	padding: 1.3em 1em 0.5em 0.5em ;
	margin: 2em 2em;
}
section#page_contact div.glid_bg_m {
	/*	background-image: url("../images/page_contact/page_bg.jpg");
	background-size: contain;
	background-position: center top;
	background-repeat: repeat-y;*/
	margin: 1em 0 1em 0;
	background-image: url(../images/recruit/bg.jpg);
	background-repeat: repeat;
}
section#page_contact img.logo {
	width: 20%;
	max-width: 131px;
}
section#page_contact div.sapporo {
	width: 60%;
}
section#page_contact div.asahikawa {
	width: 40%;
}
section#page_contact div.sapporo i,
section#page_contact div.asahikawa i {
	margin: 0 0.3em ;
	color: #666666;
}
section#page_contact div.staff_about a {
	display: block;
	text-align: center;
	margin-right: 1em;
}
section#page_contact div.staff_about img.left {
	width: 50%;
	max-width: 240px;
}
section#page_contact div.staff_about div.staff_contact {
	width: 50%;
	float: right;
}
section#page_contact div.staff_about div.staff_contact img {
	width: 90%;
	margin-top: 1em;
	margin-left: 1em;
	max-width: 206px;
}
section#page_contact div.staff_about div.staff_contact p {
	margin: 0.5em 0 0.5em 1em;
}
iframe {
	width: 100%;
}
section#page_contact h4 {
}
section#page_contact h4 a.plivacy_logo_link {
	padding-left: 1em;
}
section#page_contact h4 a.plivacy_logo_link img.plivacy_logo {
	width: 100%;
	max-width: 56px;
	
}

/**********************************  footer   *****************************************/
footer#footer {
	padding-bottom: 3em;
}
footer#footer section.footer {
	padding: 2em 0;
	margin-bottom: 2em;
}
footer#footer section.footer div.bannar {
	width: 100%;
}
footer#footer section.footer a.bannar {
	margin-right: 1.5em;
}
footer#footer section.footer a.bannar img {
}
/*footer#footer img.plivacy_logo {
	width: 100%;
	max-width: 56px;
	margin-right: 2em;
}
*/
footer#footer p {
	text-align: right;
}
/*footer#footer p.fs14 {
	padding-top: 0.8em;
	margin: 0;
}
*/
footer#footer p.fs12 {
	margin: 0;
}
footer#footer ul {
	margin: 0;
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 2em;
	padding-left: 0;
}

footer#footer ul li {
	float: left;
	font-weight: bold;
	margin: 0 1em 0 1em;
	list-style-type: none;
}
/**********************************  top      *****************************************/
section#top_infomation .flex01 {
	margin-bottom: 2.5em;
	margin-top: 3em;
}
body#top div.quadrant {
	width: calc(100% / 4);
	margin-left: 2%;
}
body#top div.trichotomy {
	width: calc(100% / 3);
	margin-left: 3%;
}
body#top div.f {
	margin-left: 0;
}
section#top_infomation div.quadrant h3 {
	margin: 0.5em 0 ;
	color: #202020;
}
section#top_infomation div.quadrant dt.fc_m {
	margin: 2em 0 0 0 ;
	line-height: 2em;
}
section#top_infomation div.quadrant dt span.fs14 {
	color: #1F1F1F; 
}
section#top_infomation div.quadrant dd.fs14 {
	margin-left: 0;
	margin-top: 1em;
}


/****************20190621 start ***************************/
body#top div.quadrant:first-child {margin-left: 0;}
.report_sum {
    max-width: 310px;
    height: auto;
    width: 100%;
    display: block;
}
.report_sum .heading {
    max-width: 310px;
    width: 100%;
    height: auto;
    display: block;
}

/****************20190621 end ***************************/

section#top_service div.out_line {
	border: 2em solid #ff9900;
	padding: 3em 0 3.5em 0;
	margin-top: 3em;
}
section#top_service h3.grid_bg_01 {
	background-image: url("../images/top/grid_01.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	border-bottom: 2px solid #0099CC;
	padding: 0.5em 0;
}
section#top_service h3.grid_bg_02 {
	background-image: url("../images/top/grid_02.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	border-bottom: 2px solid #FF3399;
	padding: 0.5em 0;
}
section#top_service h3.grid_bg_03 {
	background-image: url("../images/top/grid_03.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	border-bottom: 2px solid #339933;
	padding: 0.5em 0;
}
section#top_service div.flex02 p.fs14 {
	color: #222222;
	margin: 2em 0;
	height: 6em;
} 
section#top_works .flex03 {
	margin-bottom: 4em;
	margin-top: 3em;
}
section#top_works div.out_line {
	border: 2em solid #ffCC00;
	padding: 1.5em 0 6em 0;
	margin-top: 3em;
}
section#top_works div.design_ad img {
	border: 1px solid #ccc;
	padding: 7% 4%;
	border-radius: 1em;
	box-shadow: 0 0 7px #ccc;
	width: 90%;
}
section#top_works div.flex03 h4 {
	margin: 0.5em 0 0.5em 0;
}
section#top_works div.flex03 a.fs12 {
	letter-spacing: 0.05em;
}
section#top_works .design_ad {
	margin-bottom: 3em;
	margin-top: 3em;
}
section#top_works div.outsourcing {
	width: 70%;
	margin:2em auto 2em auto;
}
section#top_works div.h_line {
	border-bottom: 2px dotted #CCCCCC;
	margin: 4em 0 ;
}

p.bg_c_b,
p.bg_c_p,
p.bg_c_g {
	padding: 0.5em 0;
	margin-bottom: 0;
}
.arrow01 {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 16px 0 16px;
	border-color: #0099cc transparent transparent transparent;
}
.arrow02 {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 16px 0 16px;
	border-color: #ff3399 transparent transparent transparent;
}
.arrow03 {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 16px 0 16px;
	border-color: #339933 transparent transparent transparent;
}

/**********************************  outsourcing *****************************************/
body#outsourcing h2 {
	font-size: 2.375em;
	font-weight: bold;
	line-height: 1em;
}
body#outsourcing h2 span.fs {
	font-size: 0.368em;
	font-weight: normal;
}
section#outsourcing_content div.outsourcing_top {
	margin-top: 4em;
}
section#outsourcing_content div.help {
	margin-top: 5em;
	padding: 1em 0 3em 0;
}
section#outsourcing_content div.help h3.fs34 {
	margin: 1em 0 ;
}
section#outsourcing_content div.help p.border_r {
	display: inline;
	border-radius: 2em;
	padding: 0.2em 1.5em;
	color: #fff;
}
section#outsourcing_content div.help p.fs24 {
	margin-top: 2em;
	margin-bottom: 0.5em;
}
section#outsourcing_content div.human_resources {
	padding-bottom: 3em;
	margin-top: 3em;
}
section#outsourcing_content div.human_resources img {
	margin-bottom: 3em;
}
section#outsourcing_content div.human_resources h3 span {
	vertical-align: middle;
}
section#outsourcing_content div.right.half {
	width: 48%;
}
section#outsourcing_content div.right.half img.staff {
	max-width: 619px;
	margin-bottom: 0.8em;
}
section#outsourcing_content h4.grid_bg_03 {
    background-image: url("../images/top/grid_03.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    border-bottom: 2px solid #339933;
    padding: 0.2em 0;
	margin-top: 0;
	margin-bottom: 0.8em;
}
section#outsourcing_content div.half img.strategy {
	width: 96%;
	max-width: 620px;
}
section#outsourcing_content div.check_box p {
	margin: 0.5em 1em 0.5em 1em ;
}
section#outsourcing_content div.check_box p i {
	margin-right: 0.5em;
}
section#outsourcing_content p.center.fs20 {
	margin-bottom: 0em;
}
section#outsourcing_content p span.can {
	border-bottom: 2px solid #FFCC00;
}
section#outsourcing_content div.half ul {
	background-color: #F4F4F0;
	padding: 0.8em 0 0.8em 3em;
	border-radius: 7px;
}
section#outsourcing_content div.half ul li {
	margin-right: 1em;
}
section#outsourcing_content div.right.half p.left.fs14 {
	
}
section#outsourcing_content div.right.half p.left.fs14 img {
	vertical-align: top;
	margin-right: 0.5em;
}
section#outsourcing_content div.right.half p.left.fs14 span {
	vertical-align: middle;
	margin-right: 0.5em;
}
/**********************************  service  *****************************************/
div.service_top {
	margin-top: 4em;
}
section#service_content h2 {
    font-size: 2.375em;
    font-weight: bold;
    line-height: 1em;
}
section#service_content div.left {
	width: 40%
}
section#service_content div.right {
	width: 60%;
}
section#service_content section.top {
	margin: 5em 0 7em 0;
}
section#service_content section.bottom {
	margin: 0em 0em 2em 0;
}
section#service_content h3.grid_bg_04 {
    background-image: url("../images/service/grid_bg_04.png");
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    margin: 1em 0 1em 0;
	border-bottom: 2px solid #ff9900;
	padding: 0.5em 1em;
}
section#service_content h3 span {
	font-weight: normal;
	margin-left: 1em;
	vertical-align: middle;
}
section#service_content section.top p,
section#service_content section.bottom p {
	padding: 0 1em;
}
section#service_content section.top img {
	width: 96%;
	max-width: 240px;
}
section#service_content section.bottom.bt1 img {
	width: 96%;
	max-width: 230px;
}
section#service_content section.bottom.bt2 img,
section#service_content section.bottom.bt3 img,
section#service_content section.bottom.bt5 img,
section#service_content section.bottom.bt6 img {
	width: 96%;
	max-width: 430px;
}
section#service_content section.bottom.bt5 ,
section#service_content section.bottom.bt6 {
	margin-top: 3em;
}

/**********************************  design_ad  *****************************************/
section#ad_content div.ad_top {
	margin-top: 4em;
}
section#ad_content div.bg_c_y {
    margin-top: 5em;
    padding: 1em 0 3em 0;
}
section#ad_content div.bg_c_y h3.fs34 {
    margin: 1em 0 0 0 ;
}
section#ad_content div.p_box01, 
section#ad_content div.p_box02 {
	
}
section#ad_content div.p_box01 p, 
section#ad_content div.p_box02 p {
	display: inline-block;
	border-radius: 2em;
	color: #fff;
	padding: 0.2em 1.5em;
}
section#ad_content div.bg_c_y p.fs24 {
    margin-top: 1em;
    margin-bottom: 0.5em;
}
section#ad_content div.flex01 {
	margin: 2em 0 ;
}
section#ad_content div.de {
	width: 19%;
	padding: 2% 0.5% 0 0.5%;
}
section#ad_content div.de img {
	width: 100%;
	max-width: 177px;
}
section#ad_content div.de h4 {
	background-image: url("../images/design_ad/ad_grid_bg.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	margin: 1em 0;
	border-bottom: 2px solid #FF3399;
	padding: 0.5em 0 0.2em 0;
}
section#ad_content div.de p {
	text-align: left;
}
section#ad_content section#top_works div.out_line {
    border: 2em solid #ffCC00;
    padding: 1.5em 0 3em 0;
    margin-top: 3em;
}
section#ad_content div.flex02 {
	flex-flow: wrap;
	justify-content: space-between;
	margin-top: 3em;
}
section#ad_content div.ad_box {
	width: 23%;
	margin-right: calc( 8% / 3 );
	position: relative;
	height: 400px;
	margin-top: 2em;
}
section#ad_content div.ad_box:nth-of-type(4n) {
	margin-right: 0;
}
section#ad_content div.ad_box:nth-of-type(4n+1){
	clear: both;
}
section#ad_content div.ad_box:nth-of-type(n + 9) {
	margin-top: -3em;
}
section#ad_content div.ad_box img {
	position: absolute;
	bottom: 7em;
	right: 0;
	left: 0;
	width: 100%;
	max-width: 290px;
}
section#ad_content div.ad_box img.w200 {
	max-width: 200px;
}
section#ad_content div.ad_box h5 {
	position: absolute;
	bottom: 2em;
	right: 0;
	left: 0;
}
section#ad_content div.ad_box p {
	position: absolute;
	bottom: 1em;
	right: 0;
	left: 0;
	color: #999;
}
.movie-wrap {
     position: relative;
   /*  padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
	position: absolute;
	left: 0;
	width: 100%;
	max-width: 290px;
	height: 51.25%;
	bottom: 7em;
	display: block;
	margin: 0 auto;
}

/**********************************  flow     *****************************************/
/**********************************  gallery  *****************************************/
/**********************************  company   *****************************************/
/**********************************  recruit   *****************************************/

section#company_content,
section#news_content,
section#recruit {
	padding-top: 2em;
}
section#philosophy {
	padding-top: 2em;
	padding-bottom: 1em;
}

section#message {
	padding-top: 2em;
	padding-bottom: 6em;
}
section#philosophy img.create,
section#message img.create {
	margin-top: 2.5em;
}
section#conduct img.pc_v {
	max-width: 1299px;
	margin-top: 3em;
}
section#summary div.bg_c,
section#recruitment div.bg_c {
	background-color: #F6F6F6;
	padding: 2em 0;
	margin-top: 3em;
}
section#summary div.middle_inner,
section#recruitment div.middle_inner {
	background-color: #fff;
	margin:2em auto;
	padding: 3em 1em;
	display: block;
		
}
section#summary dl {
	border-top: 1px solid #CCC;
	display: table;
	width: 100%;
}
section#summary dl dt,
section#summary dl dd {
	display: table-cell;
}
section#summary .bs_01 {
	width: 46%;
	margin: 0 2%;
}
section#summary .bs_01 dt {
	width: 9em;
	padding-right: 1em;
	padding-left: 2em;
	padding-top: 1em;
}
section#summary .bs_01 dd {
	padding-left: 2em;
	padding-top: 1em;
}
section#summary .bs_01 dd span.j-field {
	border-bottom: 1px solid #212121;
}
section#summary .bs_02 {
	width: 46%;
	margin: 0 2%;
}
section#summary .bs_02 dt {
	width: 9em;
	padding-right: 1em;
	padding-left: 2em;
	padding-top: 1em;
}
section#summary .bs_02 dd{
	padding-left: 2em;
	padding-top: 1em;
	line-height: 1.9em;
}
section#summary .bs_03 {
	width: 96%;
	margin: -1em 2% 0 2%;
}
section#summary .bs_03 dd {
	padding-left: 2em;
	padding-top: 1em;
}
section#summary .bs_03 dd span.fs12 {
	margin-left: 1.5em;
}
section#summary .bs_03 dd span.fs14 {
	margin-left: 1em;
}
section#summary .bs_03 dd.f {
	line-height: 1.6em;
}
section#summary .bs_03 dd.f,
section#summary .bs_03 dd.s {
	width: 27%;
}
section#summary .bs_03 dd.l,
section#summary .bs_03 dd.s {
	margin-left: 1em;
}
section#summary .bs_03 dt {
	width: 9em;
	padding-right: 1em;
	padding-left: 2em;
	padding-top: 1em;
}
section#summary .bs_04 {
	width: 96%;
	margin: 0 2%;
}
section#summary .bs_04 dl {}
section#summary .bs_04 dt {
	width: 9em;
	padding-right: 1em;
	padding-left: 2em;
	padding-top: 1em;
}
section#summary .bs_04 dd {
	padding-left: 2em;
	padding-top: 1em;
	line-height: 2em;
}
section#summary .bs_04 dd.l {
	width: 47%;
}
section#summary .bs_04 dd iframe {
	width: 100%;
	max-width: 415px;
	margin-top: 1em;
}
section#message div.flex {
	justify-content: flex-start;
}
section#message img.mes01 {
	max-width:657px; width:100%; height:auto;
}
section#message img.mes02,
section#message img.mes03 {
	max-width:625px; width:48%; height:auto;
}

dl.message_txt {
	margin: 0px;
	padding: 3em 0 1em 0;
}
dl.message_txt dt {
}
dl.message_txt dt span {
	display: inline-block;
}
dl.message_txt dd {
	margin: 0px;
	padding-top: 1em;
}
.txt_btm_line {
	border-bottom: 2px solid #FFCC00;
}
.pt1 {
	padding-top: 1em;
}
section#introduction {
	background-image: url(../images/recruit/bg.jpg);
	background-repeat: repeat;
	padding-top: 4em;
	padding-bottom: 3em;
}
.line_orange {
	border: 1px solid #FF9900;
}
.line_yellow {
	border: 1px solid #FFCC00;
}

div.intro_box {
	background-color: #FFF;
	width: calc(62% - 12%);
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	margin-top:4em;
	padding: 3% 6%;
}
div.intro_box.line_orange {
	margin-top: 0%;
}
section#introduction h3 {
	padding: 0px;
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 2em;
	margin-left: auto;
	position: relative;
}
section#introduction div.line_yellow h3 {
	margin-bottom: 0em;
}
.width5 {
	width: 5em;
}
.width6 {
	width: 6em;
}
.width21 {
	width: 21em;
}
section#introduction h3.width5:after,
section#introduction h3.width6:after,
section#introduction h3.width21:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #FF9900;
  bottom: -3px;
  width:100%;
}
section#introduction h3.width6:after,
section#introduction h3.width21:after {
  border-bottom: solid 2px #FFCC00;
}

section#introduction dl.left {
	margin: 0px;
	width: 38%;
}
section#introduction dl.left dt {
	max-width:380px; width:100%;
}
section#introduction dl.left dt img {
	max-width:380px; width:100%;
	display:block; height:auto;
}

section#introduction dl.left dd {
	margin: 0px;
	padding-top: 1.5em;
}
section#introduction dl.right {
	margin: 0px;
	width: 58%;
}
section#introduction div.line_yellow {
	margin-bottom: 6em;
}
section#introduction div.line_yellow dl.right,
section#introduction div.line_yellow dl.left {
	padding-top:3em;
	padding-bottom: 3em;
}
section#introduction dl.right dt {
	padding-bottom:1em;
}
section#introduction dl.right dd {
	margin: 0px;
}
hr.broken_line {
	border-top-width: 2px;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-top-style: dashed;
	border-right-style: dashed;
	border-bottom-style: dashed;
	border-left-style: dashed;
	border-top-color: #CCC;
	border-right-color: #CCC;
	border-bottom-color: #CCC;
	border-left-color: #CCC;
}
div.gallery_box{
	width:73%;
	margin:auto;	
}

div.gallery_box ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

div.gallery_box ul li {
    width: 23.86%;
    max-width: 335px;
    margin: 1% 1.5% 1% 0;
}

div.gallery_box ul li.e {
    margin: 1% 0 1% 0;
}

div.gallery_box ul li img {
    width: 100%;
    max-width: 335px;
}
h3.txt_btm_line {
	display: inline-block;
	text-align:center;
}
section#recruitment{
	
	padding-bottom: 80px;
	padding-top:90px;
}
section#recruitment table.data {
    width: 100%;
	margin: 20px 0 25px 0;
    border-collapse: collapse;
}

section#recruitment table.data th {
	padding: 0.3em 0 0.3em 2em;
    border-bottom: dotted 2px #7A2E2C;
    text-align: left;
    text-indent: 1em;
    font-weight: 400;
	width: 13em;
}

section#recruitment table.data th, table.data td {
	padding-top: 0.8em;
	padding-bottom: 0.8em;
	font-weight: 400;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #CCCCCC;
}
section#recruitment p.dark_red span {
	padding: 0.15em 2em;
}

section#recruitment table.data th, 
section#recruitment table.data td{
	vertical-align: text-top;
}

section#recruitment table.data th{
	padding: 0.3em 0 0.3em 6em;
}
section#recruitment table.data th.e_th{
	vertical-align: top;
    padding-top: 1em;
}

section#recruitment table.data th.e_th, table.data td.e_td{
	border:none;
}

section#recruitment table.data td.e_td img{
	padding-top:8px;
	width: 80%;
	display: block;
	padding-bottom: 1em;
}

section#recruitment table.data td div.ul_box{
	width:97%;
}
dl.office_l,
dl.office_r {
	margin: 0px;
	padding-top: 1em;
	padding-bottom: 1em;
}
dl.office_l {
	padding-right: 3%;
}
dl.office_l dt,
dl.office_r dt {
	font-size:0.875em;
	padding-bottom:1em;
}
dl.office_l dd,
dl.office_r dd {
	margin: 0px;
	max-width:370px; width:100%; height:auto;
}
dl.office_l dd img,
dl.office_r dd img {
	max-width:370px; width:100%; height:auto;
}
/*20240601*/

section#conduct .sub_ttl1 {margin: 0 auto 1em auto;padding: 0.5em 0 0 0;inline-size: 6em;font-weight: bold;font-size: 1.65em;border-bottom: 2px solid #FF9900;}
section#conduct .sub_ttl2 {margin: 0 auto 1.5em auto;padding: 1em 0 0 0;inline-size: 6em;font-weight: bold;font-size: 1.65em;}
section#philosophy img.create {margin-top: 0.5em;}
section#conduct .p_1 {font-size: 1.5em;margin-block: 0 1em;}
section#conduct .list_box {display: flex;justify-content: space-between}
section#conduct .left_side {inline-size: 48%;}
section#conduct .left_side .sub_ttl2 {border-bottom: 2px solid #FF3399;}
section#conduct .right_side {inline-size: 48%;}
section#conduct .right_side .sub_ttl2 {border-bottom: 2px solid #0099CC;}
section#conduct .ol {padding-inline-start: 0;inline-size: 96%;margin-inline: auto;}
section#conduct .ol .list {position: relative;padding-inline-start: 1.25em;font-size: 1.05em;margin-block-end: 0.25em;}
section#conduct .ol .list .num {position: absolute;inset: 0 auto auto 0;}
section#summary dd .ul {padding-inline-start: 0;}
section#summary dd .ul .list {text-indent: -1.35em;padding-inline-start: 1.35em;}
@media (min-width: 768px) and (max-width: 1023px) {
section#conduct .sub_ttl1,
section#conduct .sub_ttl2 {font-size: 1.5em;}
section#conduct .list_box {display: block;}
section#conduct .left_side,section#conduct .right_side {inline-size: 100%;}
section#philosophy .h_ttl {font-size: 1.85em;}
section#conduct .p_1 {font-size: 1.35em;}
}
/**********************************  policy *****************************************/
section#policy_content section.policy.bg_c {

	background-color: #F6F6F6;
	padding: 4em 0;
	margin: 5em 0 1em 0;
}
section#policy_content section.policy.bg_c div.bg_c {
	background-color: #fff;
	width: 95.4%;
	padding: 0 2.3% 3em 2.3%;
}
section#policy_content section.policy h3.fs24 {
	padding-top: 2.5em;
}
section#policy_content section.policy h4 {
	margin-top: 0.5em;
}
section#policy_content section.policy p.philosophy {
	margin-bottom: 2em;
	line-height: 1.9em;
}
section#policy_content section.policy p.implementation {
	margin-bottom: 0em;
}
section#policy_content div.text_box p {
	text-align: right;
	margin-top: 0em;
	line-height: 1.9em;
}
section#policy_content section.policy ul {
	padding-left: 0em;
	margin-top: 0em;
	margin-bottom: 2em;
}
section#policy_content section.policy ul li {
	margin-bottom: 2em;
}
section#policy_content section.policy ul.get li,
section#policy_content section.policy ul.correspondence li{
	text-indent: -3em;
	margin-left: 3em;
	line-height: 1.9em;
}
section#policy_content section.policy ul.establishment li.establishment {
	margin-bottom: 0em;
	line-height: 1.9em;
    text-indent: -2.65em;
    margin-left: 2.65em;
}
section#policy_content section.policy ul.underlayer li.underlayer {
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 0em;
}
section#policy_content section.policy ul.correspondence li.correspondence {
	text-indent: -2.7em;
}
section#policy_content section.policy table {
	border-collapse: collapse;
	margin-left: -3em;
}
section#policy_content ul.get p.fwb {
	padding-top: 1.3em;
	padding-bottom: 0.5em;
}
section#policy_content section.policy table .in {
	text-align: center;
}
section#policy_content section.policy th {
	background-color: #e2e2e2;
}
section#policy_content section.policy th {
	width: 50%;
	border: 1px solid #CCC;
	padding: 0.63em;
	text-indent: 0em;
}
section#policy_content section.policy td {
	width: 50%;
	border: 1px solid #CCC;
	padding: 1em;
	text-indent: 0em;
}
section#policy_content a.mail_c {
	color: #DF7E00;
}
section#policy_content a.policy_linkpage {
	color: #DF7E00;
}
section#policy_content a.disclosure_pdf {
	color: #F00;
	display: block;
	padding-top: 1em;
	position: relative;
	padding-left: 2em;
}
section#policy_content a.disclosure_pdf:before {
	font-family: "Font Awesome 5 pro";
	content: '\f1c1';
	font-weight: 400;
	position: absolute;
	left: 1em;
	top: 1em;
}
section#policy_content section.policy ul.establishment ul.consultation  {
    margin-left: 2.5em;	
}
section#policy_content a.m_button {
    margin: 1em auto 2em auto;	
}

section#policy_content dl.consultation_desk {
    padding: 2em 2em;
	box-sizing: border-box;
	border: 1px solid #999999;
	margin-bottom: 1.5em;	
}
section#policy_content dl.consultation_desk dt {
	font-size: 1.125em;
    font-weight: bold;
	margin-bottom: 0.4em;	
}

section#policy_content dl.consultation_desk dd {
    margin-left: 0.5em;	
}
section#policy_content dl.consultation_desk dd.caution {
    margin-top: 0.8em;	
}

section#policy_content dl.consultation_desk:last-of-type {
	margin-bottom: 2.5em;	
}

section#policy_content section.policy ul.in_ul {margin-bottom: 1em;padding-left: 1.5em;}
section#policy_content section.policy ul.in_ul li {margin-block-end: 0;}
section#policy_content section.policy ol.consultation_desk {margin-block: 0 2em;}
section#policy_content section.policy ol.consultation_desk li {}
/********************************** privacy *****************************************/
body#privacy section#policy_content section.policy p.philosophy {
	width: calc(100% - 12em);
    margin-bottom: auto;
    line-height: revert;
    margin-top: 0.5em;
}
body#privacy section#policy_content section.policy p.len7 {
	width: calc(100% - 12em);
	margin-block-end: 1em;
}
body#privacy section#policy_content section.policy table {
    margin-top: 1.25em;	
}
section#policy_content p.t_bottom {
    margin-bottom: 2em;	
}
section#policy_content section.policy ul.consultation li {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    text-indent: 0;	
    margin-left: 0;		
}
section#policy_content p.revision_date {
    margin-top: 2.5em;	
}
section#policy_content a.mailto {
    color:#DF7E00
}
section#policy_content section.policy ul.consultation_desk {
	margin-top: -0.75em;
}
section#policy_content section.policy ul.consultation_desk li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: 1.0em;
}
/**********************************  web  *****************************************/
div.attracting_customers_top {
	margin-top: 4em;
	position: relative;
}
section#attracting_customers div.bg_c_y {
    margin-top: 5em;
    padding: 1em 0 3em 0;
}
section#attracting_customers div.bg_c_y p.fs24 {
	margin: 2em auto 0.5em auto;
}
section#attracting_customers div.flex01 {
	margin-top: 3.5em;
}
section#attracting_customers div.web_box {
	width: 31%;
	margin:1em 3.5% 3em 0;
}
section#attracting_customers div.web_box:nth-of-type(3n) {
	margin-right: 0em;
}
section#attracting_customers div.web_box:nth-of-type(3n+1) {
	clear: both;
}
section#attracting_customers div.web_box img {
	width: 100%;
}
section#attracting_customers div.web_box h5 {
	margin-bottom: 0.5em;
}
section#attracting_customers div.p_box01 p.border_r {
	display: inline;
	border-radius: 2em;
	padding: 0.2em 1.5em;
	color: #fff;
}

section#attracting_customers div.de {
	width: 31%;
	margin-right: 3.5%;
}
section#attracting_customers div.de img {
	width: 100%;
}
section#attracting_customers div.l {
	margin-right: 0em;
}
section#attracting_customers div.de p {
	text-align: left;
	padding: 0 0.8em;
}
section#attracting_customers div.de h4 {
    background-image:url("../images/web/web_grid_bg.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    margin: 1em 0;
    border-bottom: 2px solid #0099CC;
    padding: 0.5em 0 0.2em 0;
}
section#attracting_customers div.de h4 span.bfs {
	font-size: 1rem;
}
section#attracting_customers div.out_line {
	padding-bottom: 2em;
}

div.attracting_customers_top .farm_bnr {
	position: absolute;
    right: 0;
    top: -10px;
    border: 5px solid #ffCC00;
    padding: 0em;
    background-color: #fff;
    width: min(380px, 30%);
}
div.attracting_customers_top .farm_bnr dl {
	display: table;
    margin: 0;
    position: relative;
    width: 100%;
    height: 5em;
    background-image: url(../images/recruit/bg.jpg);
    background-repeat: repeat;
}
div.attracting_customers_top .farm_bnr dl dt {
	display: table-cell;
    font-weight: bold;
    padding-inline-start: 1em;
    font-size: min(calc(26* 0.095vw), 26px);
	line-height: 32px;
}
div.attracting_customers_top .farm_bnr dl dt i {
	color: #FF9900;
    padding-inline-start: 0.5em;
}
div.attracting_customers_top .farm_bnr dl dd {
	position: absolute;
    right: -6px;
    bottom: -6px;
    width: min(108px, 28.5%);
}
div.attracting_customers_top .farm_bnr dl dd img{
	filter: drop-shadow(-18px 0px 0px #ccc);
    width: 100%;
}



/***** scroll star t*******/


#list{
	width:100%;
	margin-bottom:30px;
}
#list .li{
/*       padding:10px;
        border:1px solid #dfdfdf;
        background:#efefef;
        margin-bottom:10px;*/
}
     
/* morelink */
.morelink{
	display:block;
	max-width:240px;
	margin:20px auto;
	padding:10px 20px;
	background:#ff9900;
	border:2px solid #fff;
	color:#fff;
	text-align:center;
	border-radius:40px;
	clear: both;
	font-weight: bold;
	transition: 0.2s;
}
.morelink:hover{
	cursor:pointer;
	border:2px solid #ff9900;
	background:#fff;
	color:#ff9900;
	transition: 0.2s;
}


/***** scroll end *******/
/**********************************  contact  *****************************************/
section#contact div.contact_top {
	margin-top: 4em;
}
section#contact div.inner {
	background-color: #F6F6F6;
	padding: 2em 0;
	margin-top: 5em;
}
span.h {
	background-color:#E80032;
	color:#FFF; font-size:0.7em; font-weight:normal;
	display:inline-block;
	padding:1px 8px 0px 8px;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	-o-border-radius: 3px;
	-ms-border-radius: 3px;
}

span.n {
	background-color:#7FCDF1;
	color:#FFF; font-size:0.7em; font-weight:normal;
	display:inline-block;
	padding:1px 8px 0px 8px;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	-o-border-radius: 3px;
	-ms-border-radius: 3px;
}


form input[type=text] {
	width:85%; padding:8px; font-size:100%;
}

form input[type=number]{
	width:20%; padding:8px; font-size:100%;
}
form select{
	width:45%; padding:8px; font-size:100%;
}

form input[type=radio]{
	width:18px; height:18px; margin-left:10px;
}
form textarea {
	width:95%; height:140px; padding:5px; font-size:100%;
}
form span.error {
	color:#C00; font-size:0.8em;
}
section#contact form {
	padding-bottom:5em;
	padding-top: 3em;
	background-color: #fff;
	margin: 2em 0;
}

section#contact form dl {
	margin:0 auto; padding-bottom:20px;
	width:100%;
	margin-top: 3em;
}
section#contact form dl dt{
	margin:0.5em auto; padding:10px 10px 10px 10px;
	border-bottom:solid 1px #ccc; font-size:16px; font-weight:bold;
	color:#000;width: 94%;
}
section#contact form dl dd{
	margin:0 0.8em 1.5em 2em;
	padding:0 0.8em;
}

section#contact form dl dd span {
	display:block; font-size:80%; padding-top:5px;
}

section#contact form input[type=submit] {
	border-radius:0;
	-webkit-appearance: none;
	width:52%; margin-bottom:31px; height:48px; font-size:1.4em;
	background-color:#0099CB; border:solid 1px #4682A2;
	color:#FFF; cursor:pointer;
	box-shadow:0px 0px 13px -5px rgba(0, 0, 0, 0.8);
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-o-border-radius: 4px;
	-ms-border-radius: 4px;
	margin-bottom:50px;
}

section#contact form input[type=submit].center {
	display:block; margin:2em auto 0;
}

section#contact form input[type=submit]:hover ,
section#contact form input[type=button]:hover {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	
}

section#contact form label {
	display:inline-block; margin-right:20px; margin-bottom:10px;
}
section#contact form input[type="radio"] 
{font-size:200%;height:18px;width:18px; } 
section#contact form input[type="checkbox"] 
{font-size:200%;height:18px;width:18px; }

form a.back {
	display:inline-block;
	text-align:center;
	text-decoration:none;
	line-height:48px;
	width:30%; margin-bottom:31px; height:48px; font-size:20px;
	background-color:#888; border:#666 solid 1px;
	color:#FFF; cursor:pointer;
	box-shadow:0px 0px 13px -5px rgba(0, 0, 0, 0.8);
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	-o-border-radius: 2px;
	-ms-border-radius: 2px;
}
form a.post {
	display:inline-block;
	text-align:center;
	text-decoration:none;
	line-height:48px;
	width:30%; margin-bottom:31px; height:48px; font-size:20px;
	background-color:#0099CB; border:solid 1px #4682A2;
	color:#FFF; cursor:pointer;
	box-shadow:0px 0px 13px -5px rgba(0, 0, 0, 0.8);
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	-o-border-radius: 2px;
	-ms-border-radius: 2px;
}
section#contact form a.c_p {
	color: #0167CB;
	text-decoration-line: underline;
  	text-decoration-color: #0167CB;
}

/****************************** 採用担当 予約管理 ******************************************/

section#saiyoutantou_contents ul li, section#yoyakukanri_contents ul li {
	margin-top: 3em;
}
section#saiyoutantou_contents ul li img, section#yoyakukanri_contents ul li img {
	width: 100%;
	max-width: 1080px;
}
section#saiyoutantou_contents div.out_line, section#yoyakukanri_contents div.out_line {
    border: 2em solid #ffCC00;
    padding: 1.5em 0 6em 0;
    margin-top: 3em;
}

/*******************************************ipad********************************************************/
@media (min-width: 768px) and (max-width: 1023px) {
	header#header {
	}
	header#header ul {
		display: block;
		margin-top: 0;
    	font-size: 0.875em;
    	padding-left: 0;
		float: right;
		margin-bottom: 0;
	}
	header#header ul li {
    margin: 0 0 0 1em;
	}
	header#header ul li a {
		font-size: 0.875em;
	}
	header#header h1 {
		width: 25%;
		margin-top: 0em;
		margin-bottom: 0em;
	}
	header#header h1 img.logo {
    width: 70%;
		margin-bottom: -1em;
	}
	header#header h1 img.text_logo {
    width: 100%;
		margin-top: 0em;
	}
	header#header nav.right {
    margin-top: 1.5em;
    width: 75%;
	}
/**************************** top **********************************/
	section#top_service div.out_line {
    border: 1em solid #ff9900;
	}
	section#top_works div.out_line {
    border: 1em solid #ffCC00;
	}
	section#top_service h3 {
    font-size: 1em;
	}
	section#top_service div.flex02 p.fs14 {
    height: 7em;
	}
	section#top_service div.trichotomy p.ipfs {
		font-size: 0.875em;
	}
	section#top_works div.outsourcing {
    width: 100%;
    margin: 2em auto 2em auto;
	}
/********************* outsourcing ******************************/	
	section#outsourcing_content p.center.fs20 {
    font-size: 1.1em;
	}
	section#outsourcing_content div.help p.fs24 {
    text-align: left;
    margin: 1em auto;
    font-size: 1.2em;
	width: 90%;
	}
	section#outsourcing_content div.help p.expansion {
		font-size: 1.2em;
	}
	section#outsourcing_content div.half.left {
		width: 100%;
	}
	section#outsourcing_content div.half.left img {
		width: 100%;
	}
	section#outsourcing_content div.half.right {
		margin-top: 2em;
		width: 100%;
	}
	section#outsourcing_content div.check_box.half.left {
		width: 50%
	}
	section#outsourcing_content div.check_box p {
    margin: 0.5em 2em 0.5em 2em;
	}
	section#outsourcing_content div.right.half p.left.fs14 {
    float: none;
    text-align: center;
    margin-top: 2em;
    margin-bottom: 2em;
	}
/**********************   service     *******************************/
	section#service_content h3.grid_bg_04 {
    font-size: 1.2em;
	}
	section#service_content div.left {
    width: 38%;
	}
	section#service_content section.top p, section#service_content section.bottom p {
    font-size: 0.9em;
	}
	section#service_content h3 span {
    margin-left: 0em;
    display: block;
}

/**********************   design_ad     *******************************/
	section#ad_content {
		margin-top: -2em;
	}
	section#ad_content div.de h4 {
    font-size: 1.3rem;
	}
	section#ad_content div.v_line {
    margin-top: 0em;
	}
	section#ad_content div.bg_c_y h3.fs34 {
    margin: 1em auto 0 auto;
    width: 90%;
	}
	section#ad_content div.flex01 {
    margin: 2em 0 0 0;
	}
	section#ad_content div.de {
    width: 18%;
    padding: 2% 1% 0 1%;
	}
	section#ad_content div.flex02 {
    margin-top: 0em;
	}
	section#ad_content div.ad_box {
    width: 32%;
	margin: 0;
	}
	section#ad_content div.ad_box:nth-of-type(n + 9) {
    margin-top: 0;
	}
	section#ad_content div.ad_box:nth-of-type(n + 7) {
    margin-top: -6em;
	}
	section#ad_content div.ad_box {
    height: 395px;
	margin-top: 2em;
	}
	section#ad_content section#top_works div.out_line {
    padding: 0.5em 0 1em 0;
	}
	section#ad_content section#top_works div.out_line h3 {
	margin-bottom: 0em;
	}
	section#ad_content div.ad_box h5 {
    font-size: 0.85em;
	}
	.movie-wrap iframe {
     height: 37%;
	}
/**********************   company     *******************************/
	section#summary .bs_01 {
    width: 96%;
    margin: 0 2%;
}
	section#summary .bs_02 {
    width: 96%;
    margin: 0 2%;
}
	section#summary .bs_03 dd.f,
	section#summary .bs_03 dd.s,
	section#summary .bs_03 dd.l {
    width: 100%;
    display: block;
    margin: 0;
}
	section#summary .bs_04 dd.f,
	section#summary .bs_04 dd.l {
    padding-left: 2em;
    padding-top: 1em;
    line-height: 2em;
    display: block;
    margin-left: 0;
    width: 100%;
}
	section#summary .bs_04 dd.l {
		margin-top: 1em;
	}
section#summary div.middle_inner,
section#recruitment div.middle_inner {
	width:90%;		
}
	
/*********************  policy  ***********************************/ 
	section#policy_content section.policy td {
    text-indent: 0em;
}
	section#policy_content section.policy ul.establishment li.establishment {
    text-indent: -2.6em;
    line-height: 1.9em;
}
	section#attracting_customers div.de h4 {
    font-size: 1rem;
	}
	section#attracting_customers div.de h4 span.bfs {
    font-size: 0.5rem;
	}
section#policy_content section.policy ul.establishment ul.consultation {
    margin-left: 0;
}	
/**************************** web ********************************/
	section#attracting_customers div.bg_c_y p.fs24 {
	    margin: 2em auto 0.5em auto;
	    width: 90%;
	}
	section#attracting_customers div.bg_c_y h3.fs34 {
	    margin: 1em auto 0 auto;
	    width: 90%;
	}
	section#attracting_customers div.web_box a {
	    word-break: break-all;
	    font-size: 0.6em;
	}
	section#attracting_customers div.web_box h5 {
	    font-size: 0.7em;
	}
	section#top_works em.c_text {
	    font-size: 0.95em;
	}
/*************************  contact   *********************************/
	section#contact div.inner {
    padding: 1em 0;
    margin-top: 3em;
}
	section#contact form {
    padding-bottom: 3em;
    padding-top: 1em;
    margin: 2em 0;
}
/********************* p_contact ******************************/
	section#page_contact div.contact_box {
    width: 96%;
    display: block;
    margin: 2em auto 3em auto;
	}
	section#page_contact div.glid_bg_m {
    display: block;
	}
	section#page_contact div.staff_about {
    width: 100%;
    padding: 1em 0;
    margin: 0;
}
	section#page_contact div.staff_about div.staff_contact {
    width: 55%;
	}
section#page_contact div.staff_about img {
    width: 100%;
	margin-left: 1em;
	float: none;
}
	section#page_contact h4 a img.logo {
	width: 38%;
}
section#page_contact h4 a img.text_logo {
	margin-left: 2%;
}
	section#page_contact div.data {
    width: 100%;
    padding: 1em 0 1em 0em;
	float: none;
}
section#page_contact h4 {
	padding-left:1em;
		
}
section#page_contact h4 a {
	/*display: block; text-align: center;*/
	display: inline-block;
}
section#page_contact div.sapporo {
	margin: 0em 2% ;
	width: 54%;
	font-size: 0.95em;
}
section#page_contact div.asahikawa {
    margin: 0em 2% 0 0  ;
    width: 40%;
	font-size: 0.95em;
}
section#page_contact div.staff_about {
    width: 90%;
    padding: 1em 0;
    margin: 0 auto;
	float: none;
}
section#page_contact div.staff_about div.staff_contact p {
    font-size: 1em;
	margin-top: 1em;
}
section#page_contact div.staff_about a {
    width: 16em;
	margin-top: 1em;
	margin-right: 3em;
}
/**********************  footer *************************/
	footer#footer section.footer div.bannar {
    width: 96%;
	}
	footer#footer section.footer a.bannar {
    margin-right: 0;
    float: left;
    width: calc(100% / 3);
    margin-bottom: 1em;
	}
	footer#footer section.footer a.bannar img {
    width: 100%;
	max-width: 190px;
	}
	footer#footer section.footer a.bannar:nth-of-type(4) {
		clear: both;
	}
/****************************** contact ************************************/	
section#contact {	
	width:90%; padding:2% 5% 5% 5%;
}
section#contact form input[type=submit] {
	width:70%; font-size:1.2em;
}
	
/************************ recruit ***************************************/
div.intro_box {
    width: calc(96% - 12%);
}	
	
}
/*******************************************ipad pro****************************************************/

@media (min-width: 1024px) and (max-width: 1222px) {
	header#header {
		margin-bottom: 1em;
	}
	header#header h1 {
		width: 35%;
	}
	header#header nav.right {
    width: 65%;
    margin-top: 1em;
	}
	header#header ul {
	padding-left: 0em;
	margin-bottom: 0em;
	float: right;
	}
	header#header ul li {
    float: left;
    font-weight: bold;
    margin: 0 0em 0 1em;
	}
/********************* outsourcing ******************************/		
	section#outsourcing_content div.help p.fs24 {
    margin: 2em 0.5em 1em 0.5em;
	font-size: 1.2em;
	}
	section#outsourcing_content div.half img.strategy {
    margin-top: 1em;
	}
	section#outsourcing_content h4.grid_bg_03 {
    margin-bottom: 0.5em;
	}
	section#outsourcing_content div.check_box p {
    margin: 0.5em 0;
    font-size: 1.1em;
	}
	section#outsourcing_content img.y_arrow {
	width: 2em;
	}
	section#outsourcing_content div.half ul {
	padding: 0.8em 0 0.8em 1em;
	}
	section#outsourcing_content div.half ul li {
    margin-right: 1em;
    font-size: 0.8em;
	}
/********************* service ******************************/	
/*	section#service_content section.bottom img {
	width: 90%;
	}
*/
section#service_content h3 span {
    margin-left: 0em;
    display: block;
}

/********************* design_ad ******************************/
	section#ad_content div.bg_c_y h3.fs34 {
    margin: 1em 0 0.5em 0;
    font-size: 1.8em;
	}
	section#ad_content {
	margin-top: -2em;
	}
	section#ad_content div.ad_box:nth-of-type(n + 9) {
    margin-top: -6em;
	}
	.movie-wrap iframe {
     height: 36%;
}
/********************* company ******************************/
	section#summary .bs_01 {
    width: 53%;
    margin: 0 2%;
}
	section#summary .bs_01 dt {
    width: 9em;
    padding-right: 1em;
    padding-left: 0.5em;
    padding-top: 1em;
}
	section#summary .bs_01 dd {
    padding-left: 0;
    padding-top: 1em;
}
	section#summary .bs_02 {
    width: 39%;
    margin: 0 2%;
}
	section#summary .bs_02 dt {
    width: 5em;
    padding-right: 1em;
    padding-left: 0.5em;
    padding-top: 1em;
}
	section#summary .bs_02 dd {
    padding-left: 1em;
    padding-top: 1em;
    line-height: 1.8em;
}
	section#summary .bs_03 dt {
    width: 6em;
	display: block;
    padding-right: 1em;
    padding-left: 0.5em;
    padding-top: 1em;
}
	section#summary .bs_03 dd {
    padding-left: 0;
    display: block;
    padding-top: 1em;
    float: left;
}
	section#summary .bs_03 dd.f {
    width: 33%;
	margin-left: 0.5em;
}
	section#summary .bs_03 dd.s {
		width: 32%;
	}
	section#summary .bs_03 dd.l {
		width: 26%;
	}
	section#summary .bs_04 dt {
    padding-left: 0.5em;
	}
	section#summary .bs_04 dd {
    padding-left: 1em;
    padding-top: 1em;
    line-height: 2em;
    width: 44%;
}
	section#summary .bs_04 dd.l {
    width: 44%;
}
section#summary div.middle_inner,
section#recruitment div.middle_inner {
	width:90%;		
}

/*********************  policy  ***********************************/ 
	section#policy_content section.policy td {
    text-indent: 0em;
}
	section#policy_content section.policy ul.establishment li.establishment {
    text-indent: -2.6em;
    margin-left: 2em;
    line-height: 1.9em;
}
section#policy_content section.policy ul.establishment ul.consultation {
    margin-left: 0;
}
/************************ web ***************************************/
	section#attracting_customers div.de h4 {
    font-size: 1.2rem;
	}
	section#attracting_customers div.de h4 span.bfs {
    font-size: 0.8rem;
	}
	section#attracting_customers div.web_box h5 {
    font-size: 0.8em;
}
/********************* page_contact ******************************/	
	section#page_contact div.sapporo {
    width: 54%;
    padding: 0 2%;
	}
	section#page_contact div.staff_about a {
    width: 16em;
	}
	section#page_contact div.staff_about div.staff_contact p {
    margin: 0.5em 0 2.5em 1em;
    font-size: 0.875em;
	}
	section#page_contact div.contact_box {
    width: 75%;
    display: block;
    margin: 2em auto 3em auto;
	}
	
	section#page_contact div.glid_bg_m {
    display: block;
	}
	section#page_contact div.staff_about {
    width: 100%;
    padding: 1em 0;
		margin: 0;
	}
		section#page_contact div.staff_about div.staff_contact {
		width: 56%;
	}
	section#page_contact div.staff_about img {
		margin-left: 2em;
		float: none;
	}
		section#page_contact div.staff_about div.staff_contact img {
		width: 90%;
		margin-top: 0.5em;
		margin-left: 1em;
	}
		section#page_contact h4 a img.logo {
		width: 38%;
	}
	section#page_contact h4 a img.text_logo {
		margin-left: 2%;
	}
		section#page_contact div.data {
		width: 100%;
		padding: 1em 0 1em 0em;
			float: none;
	}
	section#page_contact h4 {
		padding-left:2em;
		
	}
	section#page_contact h4 a {
		/*display: block; text-align: center;*/
		display: inline-block;
		
	}
	section#page_contact div.sapporo {
		margin: 0em 2% ;
		width: 50%;
		font-size: 1em;
	}
	section#page_contact div.asahikawa {
		margin: 0em 2% 0 0  ;
		width: 40%;
		font-size: 1em;
	}
	section#page_contact div.staff_about {
		width: 85%;
		padding: 1em 0;
		margin: 0 auto;
		float: none;
	}
	section#page_contact div.staff_about div.staff_contact p {
		font-size: 1.3em;
		margin-top: 1em;
		margin-bottom: 0.5em;
	}
	section#page_contact div.staff_about a {
		width: 23em;
		margin-top: 1em;
		margin-right: 2.5em;
	}
	footer#footer section.footer div.bannar {
    	width: 100%;
	}
	footer#footer section.footer div.bannar a.bannar {
		margin-right: 0.1em;
	}
	footer#footer section.footer div.bannar a:last-of-type {
		margin-right: 0em;
	}
/************************ recruit ***************************************/
div.intro_box {
    width: calc(96% - 12%);
}	
}
/*******************************************pc**********************************************************/
@media (min-width: 1223px) and (max-width: 1480px) {
	header#header h1 {
		width: 35%;
	}
	header#header nav.right {
    width: 65%;
    margin-top: 1em;
	}
	section#page_contact div.contact_box {
    width: 70%;
    display: block;
    margin: 2em auto 3em auto;
}
	section#page_contact div.sapporo {
    width: 53%;
}
	section#page_contact div.asahikawa {
    width: 46%;
}
	section#page_contact div.staff_about {
    margin: 2em 2em 2em 0;
}
	header#header ul {
		padding-left: 0em;
		margin-bottom: 0em;
	}
	header#header ul li {
    float: left;
    font-weight: bold;
    margin: 0 0em 0 1em;
	}
	footer#footer section.footer div.bannar {
    width: 100%;
	}
	section#summary div.middle_inner,
section#recruitment div.middle_inner {
	width:90%;		
}

}
/*******************************************pc**********************************************************/
@media (min-width: 1481px) and (max-width: 1780px) {
	section#page_contact div.contact_box {
    width: 52%;
	}
}
/*******************************************IE**********************************************************/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
	section#ad_content div.ad_box {
	width: 22%;
}

}








