@charset "UTF-8";

/* display PC SP
----------------------------------------------------------------------- */

.pc {
	display: none !important;
}
.sp {
	display: block !important;
}

/* style
----------------------------------------------------------- */

.ttl_base {
	margin-bottom: 30px;
	font-size: 35px;
}
.ttl_base img {
	height: 28px;
}
.ttl_base span {
	margin-top: 12px;
	font-size: 8px;
}

.ttl_contents {
	margin-bottom: 22px;
	font-size: 14px;
}

.ttl_profile {
	margin-bottom: 40px;
}

.ttl_profile img {
	padding-bottom: 12px;
	border-bottom: solid 1px #fff;
}

.ttl_head {
	position: relative;
	top: inherit;
	left: inherit;
	right: inherit;
	width: 100%;
	padding: 15px;
	font-size: 28px;
	border-bottom: solid 2px #1d1d1d;
}
.ttl_head span {
	margin-top: 12px;
	font-size: 8px;
}

.catch {
	margin-bottom: 17px;
	line-height: 1.7;
	font-size: 14px;
}
.catch span {
	font-size: 14px;
	font-weight: bold;
}

.btn_detail a,
.btn_detail input {
	width: 100%;
	line-height: 46px;
	font-size: 14px;
}

.btn_submit {
	width: 100%;
	height: 50px;
	line-height: 50px;
	margin-top: 30px;
	border-radius: 25px;
	font-size: 9px;
}

.read {
	font-size: 17px;
}

.read span {
	font-size: 17px;
}

.error {
	color: #f39800;
}


/* contact_module
----------------------------------------------------------- */

#contact_module {
	padding-top: 75px;
	padding-bottom: 65px;
}

#contact_module .fl {
	float: none;
	width: 100%;
}

#contact_module .fr {
	margin-top: 30px;
	float: none;
	width: 100%;
}

#contact_module .btn_contact {
	padding: 17px;
	border: solid 3px #fff;
}

#contact_module .tel {
	margin-top: 0;
}

#contact_module .tel span {
	display: inline-block;
	padding-left: 18px;
	background-size: 13px auto;
	font-size: 17px;
}

#contact_module .tel.sp.btn_detail {
	margin-top: 0;
}

#contact_module .date {
	margin-top: 10px;
	font-size: 8px;
}

#contact_module .btn_contact .btn_detail {
	margin-top: 18px;
}

#contact_module .btn_detail.icn_mail span {
	min-height: 9px;
	padding-left: 17px;
	background-size: auto 9px;
	font-size: 9px;
}


/* index
----------------------------------------------------------- */

#index .siteHeader,
#index .siteHeader .bar,
#index .siteHeader .toggle {
	height: 60px;
}

#index .siteHeader .toggle {
	padding: 19.5px 0 0 36px;
}

#index .siteHeader .logo,
#index .siteHeader.smaller .logo {
	height: 33px;
}
#index .siteHeader .logo img,
#index .siteHeader.smaller .logo img {
	height: 33px;
}

.kv_area {
	height: 240px;
}

.kv_area img {
	width: 100%;
}

.kv_area .wrapper {
	overflow: hidden;
	text-align: center;
	width: 100%;
}

/* iPhone5 */
@media screen and (min-width: 0px) and (max-device-width: 320px) {
	#index .siteHeader,
	#index .siteHeader .bar,
	#index .siteHeader .toggle {
		height: 60px;
	}
	#index .siteHeader .toggle {
		padding: 19.5px 0 0 36px;
	}
	#index .siteHeader .logo,
	#index .siteHeader.smaller .logo {
		height: 33px;
	}
	#index .siteHeader .logo img,
	#index .siteHeader.smaller .logo img {
		height: 33px;
	}
	.kv_area {
		height: 240px;
	}
}
/* iPhone6(1.17倍) */
@media screen and (min-width: 321px) and (max-device-width: 375px) {
	#index .siteHeader,
	#index .siteHeader .bar,
	#index .siteHeader .toggle {
		height: 70px;
	}
	#index .siteHeader .toggle {
		padding: 22.8px 0 0 42px;
	}
	#index .siteHeader .logo,
	#index .siteHeader.smaller .logo {
		height: 39px;
	}
	#index .siteHeader .logo img,
	#index .siteHeader.smaller .logo img {
		height: 39px;
	}
	.kv_area {
		height: 282px;
	}
}
/* iPhone6Plus(1.29倍) */
@media screen and (min-width: 376px) and (max-device-width: 414px) {
	#index .siteHeader,
	#index .siteHeader .bar,
	#index .siteHeader .toggle {
		height: 77px;
	}
	#index .siteHeader .toggle {
		padding: 25px 0 0 46px;
	}
	#index .siteHeader .logo,
	#index .siteHeader.smaller .logo {
		height: 43px;
	}
	#index .siteHeader .logo img,
	#index .siteHeader.smaller .logo img {
		height: 43px;
	}
	.kv_area {
		height: 310px;
	}
}
/* iPad(2.4倍) */
@media screen and (min-width: 415px) and (max-device-width: 768px) {
	#index .siteHeader,
	#index .siteHeader .bar,
	#index .siteHeader .toggle {
		height: 144px;
	}
	#index .siteHeader .toggle {
		padding: 46.8px 0 0 86.4;
	}
	#index .siteHeader .logo,
	#index .siteHeader.smaller .logo {
		height: 79px;
	}
	#index .siteHeader .logo img,
	#index .siteHeader.smaller .logo img {
		height: 79px;
	}
	.kv_area {
		height: 576px;
	}
}

#profile_area {
	padding-top: 0;
	padding-bottom: 65px;
}

#profile_area .fl {
	float: none;
	width: 100%;
	border-right: none;
}

#profile_area .fr {
	width: 100%;
	padding-top: 42px;
}

#profile_area .fr li a {
	display: inline-block;
	width: 90%;
	padding: 10px 0;
}

#profile_area .fr li:before {
	content: "-";
	margin-right: 5px;
}


#profile_area .btn_detail {
	margin-top: 30px;
}

#recruit_area {
	padding-top: 75px;
	padding-bottom: 65px;
}

#recruit_area .fl {
	float: none;
	width: 100%;
}

#recruit_area .fr {
	float: none;
	width: 100%;
}

#recruit_area .btn_detail {
	margin-top: 30px;
}

#recruit_area .recruit_list {
	margin-top: 50px;
}

#recruit_area .recruit_list li {
	float: left;
	width: 33.33%;
}
#recruit_area .recruit_list li:nth-child(3n+1) {
	clear: both;
	float: left;
}

#recruit_area .recruit_list li a {
	width: 100%;
	height: 80px;
	padding-top: 40px;
	background-position: center 13px;
	line-height: 1.2;
	font-size: 11px;
}

#recruit_area .recruit_list li:first-child a {
	width: 100%;
}

#recruit_area .recruit_list li.art_director a {
	background-size: 20px auto;
}

#recruit_area .recruit_list li.copy_writer a {
	padding-top: 48px;
	background-size: 18px auto;
}

#recruit_area .recruit_list li.graphic_designer a {
	background-size: 20px auto;
}

#recruit_area .recruit_list li.marketing_planner a {
	background-size: 16px auto;
}

#recruit_area .recruit_list li.communication_planner a {
	background-size: 22px auto;
}


/* contact
----------------------------------------------------------- */

#contact_head {
	padding: 30px 0 35px;
}

#contact_head .fl {
	float: none;
	padding-top: 0px;
	padding-bottom: 20px;
}
#contact_head .fr {
	float: none;
}

#contact_head .tel_area {
	width: 100%;
	padding: 0;
	border: solid 3px #000;
}

#contact_head .tel_area a {
	display: block;
	padding: 12px 0 11px;
	color: #000;
}

#contact_head .tel span {
	display: inline-block;
	padding-left: 18px;
	background-size: 13px auto;
	font-size: 17px;
}

#contact_head .date {
	margin-top: 6px;
}

#contactform {
	padding: 35px 0 60px;
}

#contactform .ttl_contact {
	font-size: 14px;
}

#contactform .label_required {
	width: 30px;
	height: 16px;
	line-height: 16px;
	margin-right: 6px;
}

#contactform .privacy_read {
	font-size: 9px;
}

#contactform .privacy_read {
	margin-top: 15px;
}

#contactform .contact_step {
	margin-top: 17px;
	margin-bottom: 25px;
}

#contactform .contact_step li {
	width: 30%;
	height: auto;
	line-height: 1.4;
	margin-left: 13px;
}

#contactform .contact_step li span {
	display: block;
}

#contactform .contact_step li.step02:after,
#contactform .contact_step li.step03:after {
	content: "";
	position: absolute;
	top: -100%;
	bottom: -100%;
	left: -15px;
	width: 12px;
	height: 20px;
	margin: auto;
	background-size: auto 5px;
}

#contactform .tbl_base dt,
#contactform .tbl_base dd {
	display: block;
	width: 100%;
	min-width: 100%;
	padding: 10px;
}

#contactform .tbl_base dd {
	border-left: solid 1px #1b1b1b;
	border-right: solid 1px #1b1b1b
}

/* form
-------------------------------- */

#contact dd input[type="text"],
#contact dd input[type="tel"],
#contact dd input[type="email"],
#contact dd textarea,
#contact dd select {
	width: 100%;
	height: auto;
	padding: 7px;
	min-height: 34px;
}

#contact dd textarea {
	min-height: 90px;
}

#contact dd .select_box {
	background-position: 95% center;
}

#contact dd .select_box {
	width: 100%;
}

#contact dd .select_box {
	background-size: 6px 4.5px;
}

#contact dd select {
	width: 150%;
	height: 34px;
	text-indent: 0;
}

#contact .privacy {
	margin-bottom: 11px;
}

#contact .privacy .checkbox + .checkbox-icon {
	height: 10px;
	width: 10px;
	margin-right: 8px;
}

#contact .privacy .checkbox + .checkbox-icon:before,
#contact .privacy .checkbox:checked + .checkbox-icon:before {
	width: 10px;
	height: 10px;
	background-size: 10px 10px;
}

#contact .btn_contact input {
	width: 100%;
	height: 50px;
	line-height: 50px;
	margin-top: 30px;
	border-radius: 25px;
	font-size: 14px;
}

/* recruit
----------------------------------------------------------- */

#recruit #recruit_head {
	padding: 31px 0 50px;
}

#recruit #recruit_head .read {
	font-size: 9px;
}

#recruit_head .recruiut_genre {
	display: block;
	margin-top: 45px;
	border-left: none;
}

#recruit_head .recruiut_genre li {
	display: block;
	float: left;
	width: 50%;
	margin-bottom: 10px;
	padding: 10px 7px 2px;
}

#recruit_head .recruiut_genre li dt,
#recruit_head .recruiut_genre li dd,
#recruit_head .recruiut_genre li span {
	font-size: 9px;
}

#recruit_head .recruiut_genre li:nth-child(2n+1) {
	border-left: solid 1px #dcdcdc;
}

#recruit_head .recruiut_genre li dt .image {
	height: 23px;
	line-height: 23px;
}

#recruit_head .recruiut_genre li dt .image img {
	height: 23px;
}

#recruit_head .recruiut_genre li dt .name {
	height: 20px;
	margin-top: 10px;
	margin-bottom: 9px;
	line-height: 1.2;
	font-weight: bold;
	font-size: 8px;
}

#recruit_head .recruiut_genre li dt .copy_writer_name {
	line-height: 20px;
}

#recruit_head .recruiut_genre li dd.num_people {
	margin-top: 9px;
}

#recruit_head .recruiut_genre li dd.ttl_about {
	height: 15px;
	line-height: 15px;
	margin-top: 10px;
	background-color: #eee;
}

#recruit_head .recruiut_genre li dd.about {
	margin-top: 7px;
	line-height: 1.7;
	letter-spacing: 0;
}

#requirements {
	padding: 37px 0 47px;
}

#requirements .tbl_base dt {
	display: block;
	width: 100%;
}

#requirements .tbl_base dd {
	display: block;
	border-left: solid 1px #1b1b1b;
}

#requirements .tbl_base .arrow {
	margin-left: 12px;
	padding-left: 12px;
}

#requirements .border {
	margin-bottom: 7px;
	padding-bottom: 7px;
}

#method .wrapper {
	padding: 37px 0 47px;
}

#method .read {
	margin-bottom: 40px;
	text-align: left;
	font-size: 9px;
}

#method .tbl_base dt,
#method .tbl_base dd {
	display: block;
	border-left: solid 1px #1b1b1b;
}


/* profile
----------------------------------------------------------- */
#profile_head {
	padding: 82px 0 85px;
}

#profile_head img {
	width: 50%;
	max-width: 175px;
}

#profile_head .read {
	margin-top: 35px;
}

#profile_list li a {
	padding: 40px 20px 40px 0;
	background-size: 17px auto;
}

#profile_list li a img {
	max-height: 70px;
	margin-bottom: 30px;
}

#profile_list li .ttl_list {
	margin-bottom: 15px;
	font-size: 17px;
}

#profile_list li .ttl_sub {
	margin-bottom: 17px;
	font-size: 11px;
}

#profile_list li .wrapper {
	display: block;
	width: 90%;
}

#profile_list li .wrapper > p {
	display: block;
	width: 100%;
	text-align: center;
}

#profile_list li .wrapper > dl {
	display: block;
}


/* profile/philosophy
----------------------------------------------------------- */

#philosophy_head {
	padding: 40px 0 60px;
}

#philosophy_head img {
	height: 46px;
}

#philosophy_head .read {
	font-size: 9px;
}

#three_wins .wrapper {
	padding: 37px 0 47px;
}

#three_wins .wrapper:before {
	top: -2px;
	height: 3px;
	background-size: auto 3px;
}

#three_wins .wrapper img {
	width: 100%;
}

#three_wins .read {
	margin-top: 25px;
	font-size: 9px;
}

/* profile/company
----------------------------------------------------------- */
#company_head {
	padding: 37px 0 40px;
}

#company_head img {
	height: 46px;
}

#company_head .company_list {
	margin-top: 45px;
	margin-bottom: 15px;
}

#company_head .company_list li a {
	padding: 15px 0 25px;
	background-position: center bottom;
	background-size: auto 6px;
	line-height: 1.4;
	font-size: 11px;
}

#company_head .company_list li a span {
	display: block;
	font-size: 11px;
}

#comapny_about li > dl > dt {
	padding: 6px 0;
}

#comapny_about li > dl > dt .fl {
	float: none;
	width: 100%;
	padding-top: 10px;
	font-size: 11px;
}

#comapny_about li > dl > dt .fl span {
	margin-bottom: 10px;
	font-size: 8px;
}

#comapny_about li > dl > dt .fr {
	float: none;
	width: 100%;
	height: auto;
	margin-top: 20px;
	border-top: solid 1px #eaeaea;
	border-left: none;
}

#comapny_about li > dl > dt .fr img {
	max-width: 163px;
}

#comapny_about li > dl > dd {
	padding: 13px 0 50px;
}

#comapny_about .about_business {
	margin-bottom: 15px;
}


#comapny_about .about_business .fl {
	float: none;
	width: 100%;
}

#comapny_about .about_business .fr {
	float: none;
	width: 100%;
}

#comapny_about .about_business li {
	min-height: 10px;
	margin-right: 7px;
	padding-left: 15px;
	background-position: left 7px;
	background-size: auto 10px;
}

#comapny_about li > dl > dd .tbl_base,
#comapny_about li > dl > dd .tbl_base dt,
#comapny_about li > dl > dd .tbl_base dd {
	display: block;
	width: 100%;
	min-width: 100%;
}

#comapny_about li > dl > dd .tbl_base dd,
#comapny_about li > dl > dd .tbl_base dd.br0 {
	border-left: solid 1px #1b1b1b;
	border-right: solid 1px #1b1b1b !important;
}

#comapny_about li#transaction dt,
#comapny_about li#transaction dd {
	float: none;
	width: 100%;
	padding: 20px 0 0 !important;
}

#comapny_about li#transaction dd {
	padding-bottom: 20px !important;
}

#comapny_about li#transaction dd .list_transaction li {
	width: 50%;
	margin-right: 0;
}

/* profile/name
----------------------------------------------------------- */


#name_head {
	padding: 37px 0 40px;
}

#name_head .ttl_profile img {
	height: 46px;
}

#name_head .logo img {
	width: 80%;
	max-width: 363px;
}

#name_head .read {
	margin-top: 40px;
	font-size: 9px;
}


/* profile/organization
----------------------------------------------------------- */

#organization_head {
	padding: 37px 0 20px;
}

#organization_head .ttl_profile img {
	height: 46px;
}

#organization_head .read {
	margin-top: 40px;
	font-size: 9px;
}

#about_organization dl {
	padding: 45px 0 30px;
}

#about_organization dt {
	margin-bottom: 20px;
	font-size: 11px;
}

#about_organization dt span {
	margin-bottom: 7px;
	font-size: 9px;
}

#about_organization .company_left {
	padding-left: 0;
	padding-top: 100px;
}

#about_organization .company_right {
	padding-right: 0;
	padding-top: 100px;
}

#about_organization .bfile:after {
	top: 25px;
	bottom: inherit;
	width: 100%;
	height: 53px;
	background-position: center top;
	background-size: auto 53px;
}

#about_organization .pyramid:after {
	top: 20px;
	bottom: inherit;
	width: 100%;
	height: 53px;
	background-position: center top;
	background-size: auto 53px;
}

#about_organization .engine:after {
	top: 25px;
	bottom: inherit;
	width: 100%;
	height: 43px;
	background-position: center top;
	background-size: auto 43px;
}

/* profile/mark
----------------------------------------------------------- */

#mark_head {
	padding: 37px 0 40px;
}


#mark_head .ttl_profile img {
	max-height: 46px;
	max-width: 100%;
}

#mark_head .pmd img {
	width: 50%;
	max-width: 175px;
}

#mark_head .read {
	margin-top: 40px;
	font-size: 9px;
}


/* privacy
----------------------------------------------------------- */
#privacy_area {
	padding: 25px 0 47px;
}

#privacy_area .ttl_privacy {
	margin-top: 35px;
	padding: 37px 0 30px;
	font-size: 14px;
}

#privacy_area .list_privacy li {
	margin-top: 17px;
	padding-left: 20px;
}


/* sitemap
----------------------------------------------------------- */
#sitemap_area {
	padding: 45px 0 55px;
}

.link_sitemap {
	margin-top: 30px;
}

.link_sitemap a {
	font-size: 23px;
}

.list_sitemap li {
	margin-top: 15px;
	padding-left: 25px;
}

.list_sitemap li:before {
	content: "−";
	position: absolute;
	left: 14px;
	top: 0;
}
