@charset "utf-8";
@media screen and (min-width: 1500px) {
	body {
		border-top: 3px solid #e07933;
	}
	.wrapper {
		max-width: 1500px;
		margin: 40px auto 0 auto;
		position: relative;
	}
	.gmenu {
		position: relative;
		max-width: 1500px;
		margin: 10px auto 0 auto;
		right: 10px;
	}
	.gmenu_bk a,
	.gmenu_wht a,
	.gmenu_nml a {
		color: #000 !important;
	}
	.gmenu_bk a:hover,
	.gmenu_wht a:hover,
	.gmenu_nml a:hover {
		border-bottom-color: #ffffff;
	}
	.header .siteid {
		top: 0;
		left: 10px;
	}
	.maincont .siteid {
		top: -70px;
		left: 10px;
	}
	.site_id_wht,
	.site_id_bk {
		background: url(../images/id_cfm.png) no-repeat center !important;
	}
	/*.maincont						{z-index:3;}*/

	.header {
		background: none;
		border-top: none;
		width: 140px;
		height: 36px;
		position: absolute;
		top: -70px;
		left: 0;
		z-index: 4;
	}
	.header .siteid,
	.header .gmenu {
		margin-top: 0;
	}
	.pageheader {
		padding: 60px 100px 40px 100px;
		background: #f9f9f9;
        position: relative;
	}
	.pageheader_pb_l {
		padding-bottom: 200px;
	}
	.showcase {
		z-index: 3;
	}
	.header_bg {
		display: none !important;
	}
	.newsdetail_whole {
		padding-bottom: 90px;
		padding-top: 90px;
	}
}

@media screen and (max-width: 1210px) {
    .pagemenu li {
        letter-spacing: -1px;
        margin-right: 20px;
    }
}

@media screen and (max-width: 1110px) {
    .pagemenu li {
        letter-spacing: -1px;
        margin-right: 18px;
    }
}

@media screen and (max-width: 1100px) {
	.maincont {
		height: 460px;
	}
	.topimg_inner {
		width: 840px;
		padding-top: 110px;
	}
	.topimg_inner1 {
		background-image: url(../images/topimg_main_dtm_s.png);
		padding-right: 420px;
	}
	.topimg_inner2 {
		background-image: url(../images/topimg_main_fxbgm_s.png);
		padding-right: 420px;
	}
	.topimg_inner3 {
		background-image: url(../images/topimg_main_mobile_s.png);
		padding-right: 420px;
	}
	.topimg_inner4 {
		background-image: url(../images/topimg_main_character_s.png);
		padding-right: 400px;
	}
	.pageheader {
		padding: 90px 60px 30px 60px;
	}
	.pageheader_multi {
		padding-top: 0;
	}

    .btn_jobs {
        top: 80px;
    }

	.projectbox {
		padding: 45px 550px 60px 60px;
	}
	.projectdetail_info {
		width: 100%;
		float: none;
		padding: 60px 280px 75px 60px;
	}
	.projectdetail_listbox {
		margin-left: 0;
	}
	.projectdetail_list {
		padding: 60px 340px 0 100px;
	}
	.projectdetail_icon {
		position: absolute;
		top: 100px;
		right: 100px;
		margin-top: -60px;
	}
	.projectdetail_title {
		margin-top: 0;
		margin-bottom: 30px;
		font-size: 26px;
	}
	.projectdetail {
		background-position: center top;
	}
	.projectdetail_dtm {
		background-image: url(../images/projectdetail_bg_dtm_hr.jpg);
	}
	.projectdetail_fxbgm {
		background-image: url(../images/projectdetail_bg_fxbgm_hr.jpg);
	}
	.projectdetail_mobile {
		background-image: url(../images/projectdetail_bg_mobile_hr.jpg);
	}
	.projectdetail_character {
		background-image: url(../images/projectdetail_bg_character_hr.jpg);
	}
	.projectdetail_other {
		background-image: url(../images/projectdetail_bg_other_hr.jpg);
	}
	.projectdetail_list {
		padding: 35px 60px 10px 60px;
	}
	.projectdetail_list_inner {

	}
	.plain_whole {
		padding: 30px 60px 0 60px;
		padding-bottom: 60px;
	}
	.plain_whole_header {
		padding-bottom: 0;
		padding-top: 90px;
	}
	.bubble01 {
		top: 70px;
		left: 110px;
	}
	.bubble02 {
		bottom: 180px;
		right: 0px;
	}
	.bubble03 {
		top: 60px;
		right: 280px;
	}
	.bubble04 {
		bottom: 30px;
		left: 200px;
	}
	.bubble05 {
		bottom: 20px;
		right: 220px;
	}
}


@media screen and (max-width: 768px) {
	body,
	textarea,
	input,
	select,
	button {
		font-size: 12px;
		line-height: 1.8;
	}
	.footer_link li,
	.access_img .routedesc,
	.bldg_img,
	.pagemenu li {
		font-size: 10px;
	}
	.gmenu li,
	.topbtn,
	.linkthum,
	.pagemenu li,
	.newsdetail_date,
	.newsdetail_ctg,
	.deskitembox li,
	.access_img .routechart,
	.access_img .routearrow {
		font-size: 12px;
	}
	.contactbox_title,
	.recruit_main .title {
		font-size: 14px;
	}
	.projectbox_title,
	.projectdetail_title,
	.projectdetail_site_title,
	.projectdetail_sns_title,
	.plain_title,
	.deskdtl_name,
	.newsdetail_title {
		font-size: 18px;
	}
	.topimg_copy,
	.pagetitle,
	.sectiontitle,
	.plain_title_about_cfm {
		font-size: 18px;
		line-height: 1.4;
	}
	.pagetitle_sp_desk {
		font-size: 45px;
		line-height: 50px;
	}
	.recruit_whole2 .titleicon {
		font-size: 30px;
		line-height: 40px;
		height: 40px;
	}

	.recruit_whole2 p {
		font-size: 13px;
	}

	.projectdetail_snsicon {
		font-size: 24px;
		line-height: 24px;
	}
	.deskdtl_name i {
		font-size: 24px;
	}
	/*
.backtotop							{font-size:20px; line-height:40px;}
.form_file .filebtn					{font-size:16px; line-height:46px;}
*/

	.caption {
		font-size: 10px;
		line-height: 1.4;
	}
	.gmenu_icon {
		display: block;
		position: absolute;
		top: 10px;
		right: 10px;
		text-align: center;
		height: 40px;
		width: 40px;
		line-height: 40px;
		color: #000000;
		font-size: 20px;
		z-index: 2;
	}
	.gmenu {
		list-style-type: none;
		padding: 30px;
		margin: 0;
		font-size: 0;
		text-align: left;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
		display: none;
	}
	.gmenu li {
		display: block;
		margin-left: 0;
		border-bottom: 1px solid #333333;
	}
	.gmenu li:first-child {
		border-top: 1px solid #333333;
	}
	.gmenu a {
		padding: 0;
		display: block;
		border-bottom: none;
		color: #cccccc;
		font-weight: bold;
		line-height: 45px;
	}
	.gmenu a.now {
		border-bottom: none !important;
	}
	.gmenu li:nth-child(1) {
		display: block;
	}
	.gmenu .lv2 {
		display: block;
	}
	.gmenu .lv2 a {
		padding-left: 30px;
	}
	.wrapper {
		min-width: 100px;
	}
	.btn_m {
		display: block;
		line-height: 40px;
		padding: 0;
	}

	.btn_l {
		line-height: 60px;
		padding: 0 10px;
		font-size: 14px;
	}

	.recruit_bg_bosyu .btn_l {
		padding: 0;
		width: 100%;
	}

	.recruit_bg_bosyu .br_r {
		margin-right: 0;
		margin-bottom: 20px;
	}

	.br_t {
		margin-top: 15px !important;
	}
	.br_t_s {
		margin-top: 7px !important;
	}
	.br_t_l {
		margin-top: 30px !important;
	}
	.br_t_ll {
		margin-top: 45px !important;
	}
	.btn_form {
		box-shadow: 2px 2px rgba(0, 0, 0, 0.8);
		padding: 0px 20px;
	}
	a[href$=".pdf"] {
		padding-left: 12px;
		background-size: 8px;
	}
	a[href$=".doc"] {
		padding-left: 12px;
		background-size: 8px;
	}
	.note {
		padding: 10px;
	}
	.maincont {
		height: 400px;
		position: relative;
		z-index: 1;
	}
	/*.siteid							{display: none;}*/

	.siteid {
		width: 180px;
		height: 40px;
		position: absolute;
		top: 170px;
		left: 50%;
		margin-left: -90px;
		z-index: 2;
		display: block;
	}
	/* 20周年終了後復帰 */

	.topimg0 img {
		/* 20周年終了後復帰 */
		/*height: 200px;
	margin: 100px auto 0;
	display: block;*/
	}

	/* 20周年終了後復帰 */



	.topimg1,
	.topimg2,
	.topimg3,
    .topimg4,
    .topimg5,
    .topimg6,
    .topimg7,
    .topimg8 {
		display: none !important;
	}

    .topimg_inner {
        width: 100%;
    }

    .topimg0 {
        background-position: center;
        background-size: cover;
        display: block;
    }

    .topimg_inner0 {
        background-size: 180px auto;
        background-position: center 230px;
        background-image: url(../images/topimg_main_default_bk.svg);
        padding: 0;
    }

	.showcase {
		height: auto;
		position: relative;
		font-size: 0;
		z-index: 2;
		display: block;
	}
	.topbtn {
		height: inherit;
		width: 100%;
		text-align: left;
		display: block;
		padding: 45px 45px 45px 150px;
		background-position: center 45px;
		box-sizing: border-box;
        background: #f5f5f5;
        border-bottom: 1px solid #e2e2e2;
	}
	.topbtn_title {
		padding: 0;
		line-height: 1.8;
	}
	.topbtn_desc {
		display: block;
		margin-top: 10px;
		color: #999999;
	}
	.topbtn_arrow {
		display: none;
	}

	.topbtn_extra {
		display: none;
	}
	.topbtn_icon {
		background-size: 420px 240px;
		width: 60px;
		height: 60px;
		margin: 0 auto;
		position: absolute;
		top: 45px;
		left: 45px;
	}
	.topbtn_dtm .topbtn_icon {
		background-position: 0 0;
	}
	.topbtn_fxbgm .topbtn_icon {
		background-position: -60px 0;
	}
	.topbtn_mobile .topbtn_icon {
		background-position: -120px 0;
	}
	.topbtn_character .topbtn_icon {
		background-position: -180px 0;
	}
	.topbtn_local .topbtn_icon {
		background-position: -300px 0;
	}
	.topbtn_other .topbtn_icon {
		background-position: -240px 0;
	}
	.subcont {
		padding-top: 0;
		padding-bottom: 0;
	}
	.newsbox {
		text-align: center;
		color: #999999;
		box-sizing: border-box;
		padding: 45px 45px 30px;
	}
	.newsicon {
		display: block;
		background: none;
		margin-right: 0;
		padding-top: 0;
		text-align: left;
		margin-bottom: 10px;
	}
	.newscont {
		display: block;
		text-align: left;
		list-style-type: none;
		margin: 0;
		padding: 0;
	}
	.newscont a {
		display: block;
		max-width: 100%;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		line-height: 1.8;
		padding: 0;
		margin-bottom: 10px;
	}
	.newscont .news_date {
		padding-right: 15px;
	}
	.newscont .news_ctg {
		padding-right: 15px;
		color: #e98a1b;
	}
	.newscont .news_title {
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.newscont a:hover .news_ctg {
		color: #ffffff;
	}
	.footer {
		text-align: center;
		color: #999999;
		margin: 0;
		background: #101010;
		padding: 15px 10px;
		line-height: 2.5;
	}
	.footer_link {
		display: block;
		text-align: center;
		margin-right: 0;
	}
	.footer_link li {
		display: inline-block;
		margin: 0 5px;
	}
	.footer_copyright {
		display: block;
	}
	.header {
		position: relative;
		z-index: 1;
		background: #e07933;
		border-top: none;
		box-sizing: border-box;
		min-height: 60px;
	}
	.header .gmenu {
		margin: 0;
	}
	.header .siteid {
		width: 110px;
		height: 60px;
		position: relative;
		top: 0;
		left: 0;
		margin-left: 15px;
		z-index: 2;
		display: block;
	}
	.site_id_bk {
		/*background:url(../images/id_cfm.png) no-repeat center;*/

		background-size: 100% auto;
	}
	.pageheader {
		padding: 30px 60px;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.pageheader_alpha {
		background: transparent;
	}
	.pagetitle {
		font-weight: normal;
		margin: 0;
	}
	.sectiontitle {
		font-weight: normal;
		color: #ffffff;
		margin-bottom: 20px;
	}

    .btn_jobs {
        top: 20px;
        right: 60px;
        line-height: 45px;
        height: 45px;
        padding: 0 30px;
        font-size: 12px;
    }

	.pagemenu {
		display: none;
	}
	.pagemenu li {
		margin-top: 10px;
	}
	.projectlist {}
	.projectbox {
		padding: 45px 160px 60px 160px;
		height: auto;
		background-position: center top;
		background-repeat: no-repeat;
	}
	.projectbox_dtm {
		background: url(../images/projectbox_dtm_mobile.jpg) no-repeat center top;
		background-size: cover;
	}
	.projectbox_fxbgm {
		background: url(../images/projectbox_fxbgm_mobile.jpg) no-repeat center top;
		background-size: cover;
	}
	.projectbox_mobile {
		background: url(../images/projectbox_mobile_mobile.jpg) no-repeat center;
		background-size: cover;
	}
	.projectbox_character {
		background: url(../images/projectbox_character_mobile.jpg) no-repeat right bottom;
		background-size: cover;
	}
	.projectbox_local {
		background: url(../images/projectbox_local_mobile.jpg) no-repeat center top;
		background-size: cover;
	}
	.projectbox_other {
		background: url(../images/projectbox_other_mobile.jpg) no-repeat right center;
		background-size: cover;
	}
	.projectbox_icon {
		width: 60px;
		height: 60px;
		background-size: 420px 240px;
	}
	.projectbox_dtm .projectbox_icon {
		background-position: 0 -60px;
	}
	.projectbox_fxbgm .projectbox_icon {
		background-position: -60px -120px;
	}
	.projectbox_mobile .projectbox_icon {
		background-position: -120px -120px;
	}
	.projectbox_character .projectbox_icon {
		background-position: -180px -60px;
	}
	.projectbox_local .projectbox_icon {
		background-position: -300px -60px;
	}
	.projectbox_other .projectbox_icon {
		background-position: -240px -60px;
	}
	.projectbox_title {
		margin-top: 10px;
	}
	.projectbox_desc {}
	.projectbox_btn {
		margin-top: 10px;
	}
	.projectbox_btn {
		margin-top: 30px;
	}
	.projectbox_dtm .projectbox_title,
	.projectbox_dtm .projectbox_desc {
		color: #ffffff;
	}
	.projectbox_fxbgm .projectbox_title,
	.projectbox_fxbgm .projectbox_desc {
		color: #101010;
	}
	.projectbox_mobile .projectbox_title,
	.projectbox_mobile .projectbox_desc {
		color: #101010;
	}
	.projectbox_character .projectbox_title,
	.projectbox_character .projectbox_desc {
		color: #ffffff;
	}
	.projectbox_other .projectbox_title,
	.projectbox_other .projectbox_desc {
		color: #ffffff;
	}
	.projectdetail_info {
		width: 100%;
		float: none;
		padding: 60px 60px;
	}
	.projectdetail_listbox {
		margin-left: 0;
	}
	.projectdetail_list {
		padding: 45px 60px;
	}
	.projectdetail_list_inner {
		min-height: 30px;
		padding-right: 0;
		background-repeat: no-repeat;
		background-position: right top;
		display: block;
		position: relative;
		background-size: 100px auto;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
	}
	.projectdetail_list_sns {
		min-height: 10px;
		padding-right: 0;
	}
	.projectdetail_icon {
		width: 60px;
		height: 60px;
		background-size: 300px 240px;
		position: absolute;
		top: 45px;
		right: 50px;
	}
	.projectdetail_dtm .projectdetail_icon {
		background-position: 0 -60px;
	}
	.projectdetail_fxbgm .projectdetail_icon {
		background-position: -60px -120px;
	}
	.projectdetail_mobile .projectdetail_icon {
		background-position: -120px -120px;
	}
	.projectdetail_character .projectdetail_icon {
		background-position: -180px -60px;
	}
	.projectdetail_other .projectdetail_icon {
		background-position: -240px -60px;
	}
	.projectdetail_title {
		margin-top: 0;
		padding-right: 100px;
		min-height: 70px;
	}
	.projectdetail_desc {}
	.projectdetail_dtm .projectdetail_title,
	.projectdetail_dtm .projectdetail_desc {
		color: #ffffff;
	}
	.projectdetail_fxbgm .projectdetail_title,
	.projectdetail_fxbgm .projectdetail_desc {
		color: #101010;
	}
	.projectdetail_mobile .projectdetail_title,
	.projectdetail_mobile .projectdetail_desc {
		color: #101010;
	}
	.projectdetail_character .projectdetail_title,
	.projectdetail_character .projectdetail_desc {
		color: #ffffff;
	}
	.projectdetail_other .projectdetail_title,
	.projectdetail_other .projectdetail_desc {
		color: #ffffff;
	}
	.projectdetail {
		background-position: center top;
	}
	.projectdetail_dtm {
		background-image: url(../images/projectdetail_bg_dtm_hr.jpg);
	}
	.projectdetail_fxbgm {
		background-image: url(../images/projectdetail_bg_fxbgm_hr.jpg);
	}
	.projectdetail_mobile {
		background-image: url(../images/projectdetail_bg_mobile_hr.jpg);
	}
	.projectdetail_character {
		background-image: url(../images/projectdetail_bg_character_hr.jpg);
	}
	.projectdetail_other {
		background-image: url(../images/projectdetail_bg_other_hr.jpg);
	}





	.projectdetail_list {
		padding: 30px;

	}

	.projectdetail_list:after {
		display: none;
	}

	.projectdetail_list_inner {
		position: relative;
		box-sizing: border-box;
		float: none;
		width: 100%;
	}

	.projectdetail_list_img {
		position: absolute;
		right: 30px;
		top: 30px;
		width: 120px;
		min-height: 120px;
		float: none;
	}

	.projectdetail_list_img img {
		width: 100%;
	}

	.projectdetail_site_desc {
		margin-top: 0;
	}

	.projectdetail_site_title {
		min-height: 80px;
	}




	.projectdetail_snsicon {
		margin-bottom: 0;
	}

	.aboutus_whole {
		padding: 60px;
	}
	.aboutus {
		margin-bottom: 15px;
	}
	.aboutus:last-child {
		margin-bottom: 0;
	}
	.aboutus_label {
		width: 100%;
		float: none;
		padding: 0;
		text-align: left;
	}
	.aboutus_cont {
		margin-left: 0;
		padding: 0 0 0 0;
	}
	.aboutus_whole p {
		color: #ffffff;
		margin: 0;
	}
	.aboutus_equip {
		background: #396;
		padding: 60px;
	}
	.aboutus_equip_desc {
		background: url(../images/logo_greenpower.gif) no-repeat right top;
		background-size: 60px auto;
		padding-right: 80px;
	}
	.aboutus_access {
		padding: 60px;
	}
	.aboutus_map {
		background: #2d2d2d;
		padding: 0;
		height: auto;
	}
	.access_img {
		margin-top: 15px;
		font-size: 0;
	}
	.routenote {
		color: #e55454;
	}
	.bldg_img {
		display: none;
	}
	.bldg_map {
		margin-top: 10px;
	}
	.news_whole {
		padding: 60px;
	}
	.news {
		margin-bottom: 30px;
	}
	.news:last-child {
		margin-bottom: 0;
	}
	.news_info {
		display: none;
	}
	.news_listbox {
		margin-left: 0;
		padding: 0 0 0 0;
	}
	.news_list {}
	.news_list li {
		margin-bottom: 10px;
	}
	.news_list a {
		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		line-height: 1.8;
		padding: 2px 5px;
		width: 100%;
	}
	.news_list .news_date {
		padding-right: 10px;
	}
	.news_list .news_ctg {
		padding-right: 10px;
		color: #e98a1b;
	}
	.news_list .news_title {
		display: block;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	.newsdetail {
		padding: 60px;
		margin: 0 60px;
		box-shadow: 6px 6px #cccccc;
	}


	/*-------------------------------------------*/
	.recruit_whole2 {
		padding: 0;
	}
	.recruit_whole_oto {
		/*background: #ffffff url(../images/bg_recruit_oto.png) no-repeat right top;*/
		background-size: 50% auto;
		background-position: right 45px;
		/*background-position: right -40px;*/
	}
	.plain_title {
		color: #393939;
	}
	.plain_title_about_cfm {
		letter-spacing: 0em;
		padding-top: 30px;
	}
	.recruit_whole2 .titleicon {
		margin-bottom: 0;
		position: absolute;
		right: 60px;
		top: 30px;
		width: 40px;
	}
	.recruit_whole2 p {
		margin: 0;
	}
	.recruit_sub {
		float: none;
		width: 100%;
		position: relative;
		padding: 30px 60px;
	}
	.recruit_main {
		position: relative;
		margin-left: 0;
		padding: 0 60px 60px 60px;
	}
	.recruit_main .title {
		color: #393939;
	}
	.recruit_whole_inner {
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		width: 100%;
		padding: 30px;
	}
	.recruit_gijutsu_right {
		width: 100%;
		float: none;
		margin-left: 0;
	}
	.recruit_gijutsu_left {
		float: none;
		width: 100%;
		margin-top: 15px;
	}
	.recruit_gijutsu_inner {
		margin-left: 0;
	}
	.recruit_gijutsu_img {
		width: 100%;
		min-height: 300px;
		background-repeat: no-repeat;
	}
	.recruit_creator_left {
		width: 100%;
		float: none;
		margin-right: 0;
	}
	.recruit_creator_right {
		float: none;
		width: 100%;
		margin-top: 15px;
	}
	.recruit_creator_inner {
		margin-right: 0;
	}
	.recruit_creator_img {
		width: 100%;
		min-height: 200px;
		background-repeat: no-repeat;
	}

	.recruit_local_right {
		width: 100%;
		float: none;
		margin-left: 0;
	}
	.recruit_local_left {
		float: none;
		width: 100%;
		margin-top: 15px;
	}
	.recruit_local_inner {
		margin-left: 0;
	}
	.recruit_local_img {
		width: 100%;
		min-height: 300px;
		background-repeat: no-repeat;
	}

	.recruit_gijutsu_left img,
	.recruit_creator_right img,
	.recruit_local_right img {
		width: 100%;
	}

	.recruit_whole_inner .btn_l,
    .recruit_whole_inner .btn_m {
		width: 100%;
		margin-bottom: 20px;
		line-height: 18px;
		padding: 21px 0;
	}

	.recruit_bg_top {
		padding-right: 0;
	}
	.recruit_bg_bosyu {
		padding-bottom: 150px;
		background-size: 100% auto;
	}
	/*-------------------------------------------*/





	.contact_cont {
		margin-left: 0;
	}
	.contact_icon {
		width: 90px;
		height: 90px;
		background-size: 900px 360px;
	}
	.contact_icon_mp {
		background-position: -630px 0;
	}
	.contact_icon_sonicwire {
		background-position: -720px 0;
	}
	.contact_icon_character {
		background-position: -270px 0;
	}
	.contact_icon_mobile {
		background-position: -180px 0;
	}
	.contact_icon_pr {
		background-position: -450px 0;
	}
	.contact_icon_general {
		background-position: -540px 0;
	}
	.contactbox {
		min-height: 240px;
	}
	.contactbox_title {
		font-weight: normal;
		margin-bottom: 0;
		min-height: 75px;
		padding-right: 0;
		padding-top: 15px;
		color: #e07933;
	}
	.contactbox_title .br {
		display: inline;
	}
	.plain_whole {
		padding: 60px;
	}
	.plain_whole .plain_title {
		color: #111111;
		margin-bottom: 15px;
	}
	.plain_main {
		float: none;
		margin-right: 0;
	}
	.plain_sub {
		float: none;
		width: 100%;
		padding: 20px;
		margin-top: 20px;
		background: #202020;
	}
	.plain_main_inner {
		margin-right: 0;
	}
	.plain_sub p {}
	.plain_whole_pb0 {
		padding-bottom: 0;
	}
	.plain_whole_pt0 {
		padding-top: 0;
	}
	.plain_whole_en:nth-child(odd) {
		padding-bottom: 60px !important;
	}
	.plain_whole_en:nth-child(even) {
		padding: 60px;
		background: #e2e2e2 !important;
	}
	.contact_form {
		background: none;
		padding: 0;
	}
	.contact_form .plain_title {
		margin-bottom: 0;
	}
	.form_item {
		margin-bottom: 20px;
	}
	.formbox textarea {
		height: 100px;
		min-height: 100px;
		padding: 10px;
		border-radius: 0;
		border-color: #cccccc;
		-webkit-appearance: none;
	}
	.formbox input {
		padding: 10px;
		border-radius: 0;
		border-color: #cccccc;
		-webkit-appearance: none;
	}
	.form_s {
		width: 100%;
		max-width: 100%;
	}
	.form_file .filename input {
		padding-left: 56px;
		overflow: hidden;
	}
	.form_file .filebtn {
		width: 56px;
		height: 46px;
		position: absolute;
		top: 1px;
		left: 0;
		text-align: center;
		color: #111111;
		cursor: pointer;
		box-sizing: border-box;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
	}
	.form_btn {
		margin-top: 60px;
		position: relative;
	}
	.form_btn_next {
		text-align: right;
		float: right;
		width: 45%;
	}
	.form_btn_prev {
		text-align: left;
		float: left;
		width: 45%;
	}
	.contact_form .title_confirm {
		color: #e07933;
		margin-bottom: 0;
	}
	p.confirm {
		color: #111111;
		/*background:#efefef; padding:5px;*/
	}
	img.email {
		height: 14px;
		width: auto;
		margin-right: 5px;
		position: relative;
		top: 1px;
	}
	.ssl {
		margin-top: 20px;
		text-align: center;
	}
	.ssl i {
		margin-right: 1px;
		color: #e8a921;
	}
	.news_attach {
		margin-top: 30px;
		background: #f5f5f5;
		padding: 10px;
		overflow: hidden;
	}

	.backtotop {
		bottom: 10px;
		width: 30px;
		height: 30px;
		line-height: 30px;
		font-size: 14px;
	}

	.linkbox {
		display: none;
	}
	#fancybox-close {
		background-size: 70px;
	}
	#fancybox-left,
	#fancybox-right {
		display: none !important;
	}
	.deskitembox li {
		width: 125px;
		margin: 0 5px 5px 5px;
		display: inline-block;
	}
	.deskimg {
		height: 80px;
	}
	.deskdtl {
		width: 200px;
	}
	.deskdtl_img img {
		width: 100%;
		height: auto;
	}
	.deskdtl_info {
		padding: 30px 0 0 0;
	}
	.deskdtl_info p {
		color: #666666;
	}
	p.desc_desk {
		color: #111111;
	}
	.form_file {
		display: none;
	}
	.news_project .news_title {
		color: #26a2cb;
	}
	.team_main {
		width: 100%;
		float: none;
		margin-right: 0;
		min-height: 100px;
		margin-bottom: 45px;
	}
	.team_sub {
		float: none;
		width: 100%;
	}
	.team_main_inner {
		margin-right: 0;
	}
	/*inquiry*/

	.inquiry_whole {
		background: #ffffff;
	}
	.inquiry_box1 {
		font-size: 12px;
		line-height: 1.4;
		padding: 30px 20px;
	}
	.inquiry_h1 {
		padding: 20px 0 20px 0;
		font-size: 18px;
	}
	.inquiry_box3 {
		clear: none;
		padding: 0 20px;
		margin-bottom: 20px;
	}
	.inquiry_h3 {
		float: none;
		width: 100%;
		padding: 30px 0 0;
		font-size: 18px;
		clear: both;
	}
	.inquiry_c3 {
		margin-left: 0;
		margin: 30px 0;
		min-height: 10px;
	}
	.inquiry_no {
		font-size: 30px;
		line-height: 30px;
		margin-bottom: 5px;
		width: 70px;
		float: left;
	}
	.inquiry_h3_txt {
		display: block;
		vertical-align: top;
		margin-top: 3px;
		padding-right: 0;
		margin-left: 70px;
	}
	.inquiry_h3_txt .br {
		display: inline-block;
	}
	.inquiry_link_contact {
		margin-bottom: 10px;
		font-size: 12px;
	}
	.inquiry_link_contact span {
		font-size: 14px;
		margin: 0 3px;
		padding-bottom: 1px;
		border-bottom: 1px solid #898989;
	}
	.inquiry_faq_title {
		font-size: 16px;
	}
	/*--------------------pagetitle_menu--------------------*/

	.pagetitle_menu {
		display: none;
	}
	.tag_menu {
		display: block;
		margin: 10px 0 0;
		white-space: normal !important;
		font-size: 0;
	}
	.tag_menu li {
		display: inline-block;
		margin: 0 10px 5px 0;
	}
	.tag_menu li a {
		display: block;
		/*background: #666;
		color: #fff;*/
		padding: 2px 8px;
		border-bottom: none !important;
		font-size: 12px;
	}
	.tag_menu li a.now {
		/*background: #e98a1b;*/
		border-bottom: none !important;
	}




	.pagemenu.tag_menu {
		padding-right: 0;
	}

	.pagemenu.tag_menu li {
		margin-right: 5px;
	}

	.pagemenu.tag_menu li a {
		/*border: 1px solid #000 !important;*/
		padding: 2px 6px;
		border-radius: 2px;
	}

	.pagemenu.tag_menu li a.now {
		/*background: #f1f1f1;
		color: #000;*/
	}

    .pagemenu_sp_on {
        display: flex;
        flex-wrap: wrap;
    }



	.internship .recruit_whole_inner {
		flex-direction: column-reverse;
	}
	.internship .txt_s{
		font-size: 11px;
	}
	.internship_txt,
	.internship_img {
		width: 100%;
	}
	.internship .txt_title {
		font-size: 18px;
		margin: 15px 0;
	}
	.internship .plain_title_about_cfm {
		font-size: 26px;
		margin: 0;
	}
	.internship_feature {
		font-size: 13px;
	}
	.internship_course li::before {
		width: 4px;
		height: 4px;
	}
	.internship_txt ul .label {
		width: 70px;
	}
	.internship_notes {
		font-weight: bold;
	}
	.internship_notes {
		font-size: 11px;
		line-height: 1.6;
	}


}

@media screen and (max-width: 640px) {
	body,
	textarea,
	input,
	select,
	button {
		font-size: 11px;
		line-height: 1.8;
	}
	.footer_link li,
	.access_img .routedesc,
	.bldg_img {
		font-size: 10px;
	}
	.gmenu li,
	.topbtn,
	.linkthum,
	.pagemenu li,
	.newsdetail_date,
	.newsdetail_ctg,
	.deskitembox li,
	.access_img .routechart,
	.access_img .routearrow {
		font-size: 10px;
	}
	.gmenu li:last-child {
		padding-bottom: 100px;
	}
	.contactbox_title,
	.recruit_main .title {
		font-size: 12px;
	}
	.projectbox_title,
	.projectdetail_title,
	.projectdetail_site_title,
	.projectdetail_sns_title,
	.plain_title,
	.deskdtl_name,
	.newsdetail_title {
		font-size: 14px;
	}
	.topimg_copy,
	.pagetitle,
	.sectiontitle,
	.plain_title_about_cfm {
		font-size: 18px;
		line-height: 24px;
	}
	.pagetitle_sp_desk {
		font-size: 45px;
		line-height: 50px;
	}
	.recruit_whole2 .titleicon {
		font-size: 30px;
		line-height: 40px;
		height: 40px;
	}
	.projectdetail_snsicon {
		font-size: 24px;
		line-height: 24px;
	}
	.deskdtl_name i {
		font-size: 24px;
	}
	/*
.backtotop							{font-size:20px; line-height:40px;}
.form_file .filebtn					{font-size:16px; line-height:46px;}
*/

	.caption {
		font-size: 10px;
		line-height: 1.4;
	}
	/*.topimg0 {
		background-size: 70% auto;
		background-position: center 135px;
	}*/

    .topimg0 {
        background-position: center;
        background-size: cover;
        display: block;
    }

    .topimg_inner0 {
        background-size: 180px auto;
        background-position: center 140px;
        background-image: url(../images/topimg_main_default_bk.svg);
        padding: 0;
    }

	/* 20周年終了後復帰 */

	.topimg0 img {
		/* 20周年終了後復帰 */
		/*height: 140px;
	margin: 50px auto 0;
	display: block;*/
	}
	.maincont {
		height: 240px;
	}
	/*.siteid							{display: none;}*/
	/* 20周年終了後復帰 */

	.siteid {
		top: 85px;
	}
	/* 20周年終了後復帰 */

	.topbtn {
		padding: 30px 20px 30px 105px;
	}
	.topbtn_icon {
		top: 26px;
		left: 22px;
	}
	.newsbox {
		padding: 30px 20px 20px;
	}
	.newscont .news_title {
		display: block;
	}
	.pageheader {
		padding: 10px 20px;
		/*background: #101010;*/
        border-bottom: .99px solid #ececec;
	}
	/*.pageheader .pagetitle {
		color: #ffffff;
	}
	.pagetitle a {
		color: #ffffff;
	}
	.pagetitle i {
		margin: 0 10px;
		color: #666666;
		padding: 0;
	}*/

    .btn_jobs {
        top: 7px;
        right: 7px;
        line-height: 30px;
        height: 30px;
        padding: 0 10px;
        font-size: 12px;


    }

	.pagemenu {
		display: none;
	}

    .pagemenu_sp_on {
        display: flex;
        flex-wrap: wrap;
    }

	.gmenu a {
		line-height: 36px;
	}
	.projectbox {
		padding: 15px 20px 40px 20px;
	}
	.projectdetail_info {
		padding: 20px;
	}
	.projectdetail_icon {
		top: 80px;
		right: 30px;
	}
	.projectdetail_list {
		padding: 20px;
	}
	.projectdetail_site_copy {
		/*display: none;*/
		padding-right: 140px;
	}
	.projectdetail_site_title {
		min-height: 90px;
		padding-right: 140px;
	}
	.projectdetail_sns_title {
		min-height: 40px;
	}
	.projectdetail_linkbox {
		/*bottom: 20px;
		left: 20px;*/
	}

	.aboutus_whole {
		padding: 20px;
	}
	.aboutus_info {
		background-image: none;
		background-color: #3d3d3d;
	}
	.aboutus_access {
		background: #2d2d2d;
		padding: 20px;
	}
	.aboutus_map {
		padding: 0 20px 20px 20px;
		box-sizing: border-box;
	}
	.aboutus_equip {
		padding: 20px;
	}
	.access_img .route {
		display: block;
		vertical-align: top;
		text-align: center;
		margin-bottom: 10px;
        max-width: 100%;
	}
	.access_img .routechart {
		color: #ffffff;
		border: 1px solid #6d6d6d;
		background: #505050;
	}
	.access_img .routedesc {
		color: #ffffff;
		margin-top: 5px;
	}
	.access_img .routearrow {
		padding: 0;
	}
	.access_img .icon-arrow-right {
		display: none;
	}
	.access_img .icon-arrow-down {
		display: block;
	}
	.news_whole {
		padding: 30px 20px;
	}
	.aboutus_label p {
		color: #e07933;
	}
	.newsdetail_whole {
		background-color: #ffffff;
		padding: 0;
	}
	.newsdetail {
		background: #ffffff;
		padding: 20px;
		margin: 0;
		overflow-x: hidden;
	}
	.newsdetail_title {
		font-weight: normal;
	}
	.newsdetail_date_ctg {
		font-size: 0;
		margin-top: 10px;
	}
	.newsdetail_date {
		color: #999999;
		display: inline-block;
		margin-right: 15px;
	}
	.newsdetail_ctg {
		color: #e98a1b;
		display: inline-block;
	}
	.newsdetail_summary {
		border-bottom: 1px solid #dcdcdc;
		padding-bottom: 20px;
		margin-top: 30px;
	}
	.newsdetail_cont {
		margin-top: 20px;
	}
	.recruit_whole2 .titleicon {
		right: 10px;
		top: 10px;
	}
	.recruit_whole_oto {
		background-position: right -20px;
	}

	.recruit_bg_oto {
		padding-right: 0;
	}
	.recruit_bg_bosyu {
		padding-bottom: 80px;
	}
	.recruit_sub {
		background: #cccccc;
		padding: 20px;
	}
	.recruit_main {
		padding: 20px;
	}

	.plain_whole {
		padding: 30px 20px;
	}
	.contact_whole {}
	.contact_whole p {
		margin: 0;
	}
	.contact_label {
		width: 100%;
		float: none;
		text-align: center;
	}
	.contact_cont {
		margin-left: 0;
	}
	.contact_cont p {}
	.contactbox {
		padding: 20px;
		display: block;
		float: none;
		width: 100%;
		min-height: 10px;
		position: relative;
	}
	.contactbox_title {
		font-weight: normal;
		margin-bottom: 0;
		min-height: 10px;
		padding-right: 0;
		padding-top: 15px;
	}
	.contactbox_title .br {
		display: inline;
	}
	.contactbox:nth-child(odd) {
		border-right: none;
	}
	.contactbox_odd {
		border-right: none;
	}
	.plain_whole_en:nth-child(odd) {
		padding-bottom: 20px !important;
	}
	.plain_whole_en:nth-child(even) {
		padding: 20px;
		background: #e2e2e2 !important;
	}
	.aboutus_team {
		background: #393939;
	}
	.team_thum {
		width: 100%;
		margin: 0 0 20px 0;
		float: none;
	}
	.team_thum .team_name {
		font-size: 14px;
		margin-bottom: 5px;
	}
	/* インラインリスト */

	.inline_list_nml li {
		display: inline-block;
		width: auto;
		margin-bottom: 5px;
		color: #ffffff;
	}
	/*--------------------20th--------------------*/

	.cfm-20th {
		margin-top: 30px;
		text-align: center;
	}
	.cfm-20th img {
		width: 100px;
	}
	/*-------------------------------------------*/

	.twenty-whole {
		text-align: center;
		padding: 45px 0;
		width: 100%;
		margin: 0 auto;
	}
	.twenty-whole .logo-twenty img {
		width: 50%;
		text-align: center;
	}
	/*-------------------------------------------*/

	.history-whole {
		margin-top: 30px;
		color: #fff;
		text-align: left;
		position: relative;
		padding-top: 0;
	}
	.history-whole:after {
		content: "";
		display: block;
		width: 4px;
		height: 100%;
		position: absolute;
		top: 0;
		left: 100px;
		background: #fff;
		border-radius: 2px;
		z-index: -1;
	}
	/*-------------------------------------------*/

	.history-whole .history-cont {
		position: relative;
		zoom: 1;
		margin-bottom: 10px;
		font-size: 12px;
		line-height: 1.4;
	}
	.history-whole .history-cont:after {
		display: none;
	}
	.history-whole .history-cont:before {
		content: "";
		display: block;
		width: 16px;
		height: 16px;
		position: absolute;
		top: 2px;
		left: 94px;
		background: #E07933;
		border: 3px solid #fff;
		border-radius: 8px;
		box-sizing: border-box;
	}
	.history-whole .history-cont:last-child {
		margin-bottom: 0;
	}
	.history-whole .month {
		width: 80px;
		position: absolute;
		float: none;
		top: 0;
		left: 0;
		text-align: right;
		-webkit-animation-duration: 0s;
		-moz-animation-duration: 0s;
		-ms-animation-duration: 0s;
		animation-duration: 0s;
	}
	.history-whole .desc {
		width: 100%;
		position: relative;
		padding-right: 5%;
		padding-left: 126px;
		float: none;
		box-sizing: border-box;
	}
	.history-whole .desc:after {
		content: "";
		display: block;
		width: 16px;
		height: 1px;
		position: absolute;
		top: 10px;
		left: 110px;
		background: #fff;
	}
	.history-whole .month span {
		font-size: 14px;
		display: inline-block;
		padding: 0 2px;
	}
	.history-whole .month span.mm {
		display: inline-block;
		min-width: 28px;
	}
	.history-whole .desc p {
		background: rgba(255, 250, 245, 0.7);
		border-radius: 1px;
		padding: 10px;
		border: 1px solid #FFE6CE;
		color: #AF2F1A;
		margin-bottom: 3px;
		display: block;
		-webkit-animation-duration: 0s;
		-moz-animation-duration: 0s;
		-ms-animation-duration: 0s;
		animation-duration: 0s;
	}
	.history-whole .desc p:last-child {
		margin-bottom: 0;
	}
	/*-------------------------------------------*/

	.twenty-menu {
		margin-top: 45px;
		list-style-type: none;
		width: 90%;
		margin: 45px auto 0;
	}
	.twenty-menu:after {
		content: "";
		display: block;
		clear: both;
	}
	.twenty-menu li {
		display: block;
		width: 50%;
		float: right;
		box-sizing: border-box;
		text-align: center;
		border-left: 1px solid #d06a1f;
	}
	.twenty-menu li:first-child {
		float: left;
		width: 50%;
		border-right: none;
	}
	.twenty-menu li a {
		display: block;
		font-size: 11px;
		padding: 12px 0;
		background: #E8BB2A;
		color: #AF2F1A;
		border-radius: 1px;
		position: relative;
	}
	.twenty-menu li.active a {}
	.twenty-menu li a:after {
		position: absolute;
		top: 100%;
		left: 50%;
		margin-left: -4px;
		content: '';
		width: 0;
		height: 0;
		border: 8px solid transparent;
		border-top: 0 solid #E8BB2A;
		transition-duration: .4s;
	}
	.twenty-menu li.active a:after {
		border-top: 8px solid #E8BB2A;
	}
	/*-------------------------------------------*/

	.greeting-whole {
		margin: 30px 5% 0;
		text-align: left;
		background: rgba(255, 250, 245, 0.9);
		border-radius: 1px;
		padding: 20px;
		border: 1px solid #FFE6CE;
		color: #672419;
		box-sizing: border-box;
	}
	.greeting-whole p {
		font-size: 13px;
		line-height: 1.6;
		letter-spacing: 0;
		margin-bottom: 15px;
	}
	.greeting-whole p.break {
		margin-bottom: 30px;
	}
	.greeting-whole p:last-child {
		margin-bottom: 0;
	}
	/*--------------------rss button--------------------*/
	/*.rss {
	display: inline-block;
	position: relative;
	cursor:pointer;
	width:24px;
	height:24px;
	line-height:24px;
	text-align:center;
	font-size: 16px;
	text-decoration:none;
	box-sizing:border-box;
	vertical-align: top;
	margin-left: 10px;
}
.rss:before {
	font-family:'fontello';
	content: '\e806';
	color:#fff;
	position:absolute;
	left: 0;
	top: 0;
	height: inherit;
	width: inherit;
	line-height: inherit;
}*/

	.pagetitle .icon-rss {
		color: #000;
		text-decoration: none;
		font-size: 16px;
		margin-left: 20px;
		line-height: 24px;
		vertical-align: middle;
	}
	/*--------------------history--------------------*/

	.aboutus_history {
		background: #fff;
		padding: 30px 20px;
	}
	.aboutus_history .sectiontitle {
		color: #000;
	}
	/*-------------------------------------------*/

	.history-whole-nml {
		color: #333;
		text-align: left;
		position: relative;
		border-top: 1px solid #ececec;
	}
	/*-------------------------------------------*/

	.history-whole-nml .history-cont {
		position: relative;
		padding: 45px 0;
		font-size: 14px;
		line-height: 1.6;
		border-bottom: 1px solid #ececec;
	}
	/*.history-whole-nml .history-cont:after {
	content: "";
	display: block;
	clear: both;
}*/

	.history-whole-nml .history-cont:last-child {
		margin-bottom: 0;
	}
	.history-whole-nml .year {
		width: 100%;
		float: none;
		font-size: 13px;
		margin-bottom: 20px;
	}
	.history-whole-nml .month-whole {
		width: 100%;
		float: none;
	}
	.history-whole-nml .month-inner {
		margin-bottom: 20px;
		zoom: 1;
	}
	.history-whole-nml .month-inner:after {
		content: "";
		display: block;
		clear: both;
	}
	.history-whole-nml .month-inner:last-child {
		margin-bottom: 0;
	}
	.history-whole-nml .month {
		width: 90px;
		float: left;
	}
	.history-whole-nml .desc {
		width: calc(100% - 90px);
		float: right;
		box-sizing: border-box;
		position: relative;
	}
	.history-whole-nml .year span {
		font-size: 20px;
		display: inline-block;
		margin-right: 3px;
	}
	.history-whole-nml .month span {
		font-size: 16px;
		display: inline-block;
		margin-right: 3px;
	}
	.history-whole-nml .desc p {
		margin-bottom: 10px;
		color: #333;
	}
	.history-whole-nml .desc p:last-child {
		margin-bottom: 0;
	}
	/*--------------------pagetitle_menu--------------------*/

	.pagetitle_menu {
		display: none;
	}
	.tag_menu {
		display: block;
	}





	a.link_blog_sns {
		display: block;
		background: #3d3d3d;
		padding: 30px 10px 30px 20px;
		font-size: 13px;
		line-height: 24px;
		color: #fff;
	}

	a.link_blog_sns i {
		line-height: 24px;
		vertical-align: top;
	}

	a.link_blog_sns:hover,
	a.link_blog_sns:hover i {
		color: #e98a1b;
	}















	/*--------------------blog_sns--------------------*/

	.blog-sns-whole {
		background: #f9f9f9;
		padding: 20px;
	}

	.blog-sns-whole .sectiontitle {
		color: #000;
		margin-bottom: 10px;
		font-size: 18px;
	}

	.blog-sns-list {
		list-style-type: none;
		margin-bottom: 30px;
		position: relative;
		font-size: 0;
	}

	.blog-sns-list li {
		width: 100%;
		display: block;
		margin-bottom: 10px;
		margin-right: 0;
		font-size: 12px;
		box-sizing: border-box;
		line-height: 18px;
		overflow: hidden;
	}

	.blog-sns-list li a,
	.blog-sns-list li div {
		position: relative;
		display: block;
		padding: 20px 10px 20px 130px;
		border: 1px solid #dcdcdc;
		box-sizing: border-box;
		color: #000;
		background-color: #fff;
		/*overflow: visible;
		white-space: normal;
		text-overflow: inherit;*/
	}

	.blog-sns-list li a:before,
	.blog-sns-list li div:before {
		position: absolute;
		content: "";
		top: -1px;
		left: -1px;
		display: block;
		width: 120px;
		height: 120px;
		background-repeat: no-repeat;
		border-bottom: 1px solid #dcdcdc;
	}

	.blog-sns-list li a span,
	.blog-sns-list li div span {
		display: none;
	}

	.blog-sns-list li.tw a span {
		font-size: 12px;
		color: #999;
		display: block;
		line-height: 14px;
	}

	.blog-sns-list li a span.ctg,
	.blog-sns-list li div span.ctg {
		display: none;
	}

	.blog-sns-list li.other a span.ctg,
	.blog-sns-list li.other div span.ctg {
		display: block;
		font-size: 12px;
	}

	.blog-sns-list li.blog a:before {
		background-size: 120px auto;
	}

	.blog-sns-list li.blog-sw a:before {
	    background-position: right 0;
	}

	.blog-sns-list li.blog-miku a:before {
	    background-position: right -80px;
	}

	.blog-sns-list li.blog-mobile a:before {
	    background-position: right -160px;
	}

	.blog-sns-list li.blog-labo a:before {
	    background-position: right -240px;
	}

	.blog-sns-list li.blog-note a:before {
	    background-position: right -320px;
	}

	.blog-sns-list li.blog-domingo a:before {
	    background-position: right -400px;
	}

	.blog-sns-list li.blog-wantedly a:before {
	    background-position: right -480px;
	}

	.blog-sns-list li.fb a:before {
		background-size: 120px auto;
	}

	.fb.fb-cfm a:before {
	    background-position: right 0;
	}

	.fb.fb-miku a:before {
	    background-position: right -80px;
	}

	.fb.fb-cfmmiku a:before {
	    background-position: right -160px;
	}

	.fb.fb-sw a:before {
	    background-position: right -240px;
	}

	.blog-sns-list li.video a:before {
		background-size: 120px auto;
	}

	.video.video-miku a:before {
	    background-position: right 0;
	}

	.video.video-karent a:before {
	    background-position: right -80px;
	}

	.video.video-sw a:before {
	    background-position: right -160px;
	}

	.video.video-piapro a:before {
	    background-position: right -240px;
	}

	.video.video-yukine a:before {
	    background-position: right -320px;
	}

	.video.video-niconico a:before {
	    background-position: right -400px;
	}

	.video.video-bilibili a:before {
	    background-position: right -480px;
	}

	.blog-sns-list li.tw a:before {
		background-size: 120px auto;
	}

	.tw.tw-sw a:before {
	    background-position: right 0;
	}

	.tw.tw-miku a:before {
	    background-position: right -80px;
	}

	.tw.tw-mobile a:before {
	    background-position: right -160px;
	}

	.tw.tw-labo a:before {
	    background-position: right -240px;
	}

	.tw.tw-domingo a:before {
	    background-position: right -320px;
	}

	.tw.tw-piapro a:before {
	    background-position: right -400px;
	}

	.tw.tw-karent a:before {
	    background-position: right -480px;
	}

	.tw.tw-router a:before {
	    background-position: right -560px;
	}

	.tw.tw-sonoca a:before {
	    background-position: right -640px;
	}

	.tw.tw-magicalmirai a:before {
	    background-position: right -720px;
	}

	.tw.tw-snowmiku a:before {
	    background-position: right -800px;
	}

	.tw.tw-miku-en a:before {
	    background-position: right -880px;
	}

	.tw.tw-yukine a:before {
	    background-position: right -960px;
	}

	.tw.tw-39ch a:before {
	    background-position: right -1040px;
	}

	.tw.tw-karent-cm a:before {
	    background-position: right -1120px;
	}

	.tw.tw-miku-tap a:before {
	    background-position: right -1200px;
	}

	.tw.tw-piapro_notice a:before {
	    background-position: right -1280px;
	}

	.tw.tw-ds a:before {
	    background-position: right -1360px;
	}

	.tw.tw-mikuexpo a:before {
	    background-position: right -1440px;
	}

	.blog-sns-list li.other a:before,
	.blog-sns-list li.other div:before {
		background-size: 120px auto;
	}

	.other.other-weibo a:before {
	    background-position: right 0;
	}

	.other.other-line a:before {
	    background-position: right -80px;
	}

	.other.other-instagram a:before {
	    background-position: right -160px;
	}

	.other.other-mikustagram a:before {
	    background-position: right -240px;
	}

	.other.other-tiktok a:before {
	    background-position: right -320px;
	}

	.other.other-tiktok-cn a:before {
	    background-position: right -400px;
	}

	/*--------------------questionnaire--------------------*/

	.pagetitle_sp_questionnaire {
		background:url(../images/questionnaire/pagetitle_questionnaire.svg) no-repeat center;
		width: 100%;
		height: auto;
		margin: 0 auto 0;
		padding-bottom: 26%;
		background-size: 100% auto;
	}

	.q-all {
		width: 100%;
		margin: 0;
		position: relative;
		border: 2px solid #000;
		border-top: none;
		background: rgba(255, 255, 255, 0.8);
		box-sizing: border-box;
	}

	.q-cont {
		border-top: 2px solid #000;
		padding: 0;
		box-sizing: border-box;
	}

	.q-wrap {
		border-top: none;
		box-sizing: border-box;
	}

	.q-wrap:after {
		content: "";
		display: block;
		clear: both;
	}

	.q-03,
	.q-05,
	.q-08,
	.q-10,
	.q-13,
	.q-14 {
		border-top: 2px solid #000;
	}

	.q-inner {
		float: none;
		width: auto;
		box-sizing: border-box;
	}

	.q-inner-03-04,
	.q-inner-13 {
		border-right: none;
	}

	.q-title {
		background-image: url(../images/questionnaire/questionnaire-title.png);
		background-repeat: no-repeat;
		width: 100%;
		height: auto;
		padding-bottom: 11.4%;
		box-sizing: border-box;
		background-size: auto 560px;
		margin: 20px 0 0 20px;
	}

	.q-02 .q-title {
		background-position: left 0;
	}

	.q-03 .q-title {
		background-position: left -40px;
	}

	.q-04 .q-title {
		background-position: left -80px;
	}

	.q-05 .q-title {
		background-position: left -120px;
	}

	.q-06 .q-title {
		background-position: left -160px;
	}

	.q-07 .q-title {
		background-position: left -200px;
	}

	.q-08 .q-title {
		background-position: left -240px;
	}

	.q-09 .q-title {
		background-position: left -280px;
	}

	.q-10 .q-title {
		background-position: left -320px;
	}

	.q-11 .q-title {
		background-position: left -360px;
	}

	.q-12 .q-title {
		background-position: left -400px;
	}

	.q-13 .q-title {
		background-position: left -440px;
	}

	.q-14 .q-title {
		background-position: left -480px;
	}

	.q-01 .q-title {
		background-position: left -520px;
	}


	.q-02 {
		background:url(../images/questionnaire/q02.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 40%;
	}

	.q-03 {
		background:url(../images/questionnaire/q03.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 89%;
	}

	.q-04 {
		background:url(../images/questionnaire/q04.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 76%;
	}

	.q-05 {
		background:url(../images/questionnaire/q05.png) no-repeat center bottom;
		background-size: 90% auto;
		padding-bottom: 160%;
	}

	.q-06 {
		background:url(../images/questionnaire/q06.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 40%;
	}

	.q-07 {
		background:url(../images/questionnaire/q07.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 40%;
	}

	.q-08 {
		background:url(../images/questionnaire/q08.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 44%;
	}

	.q-09 {
		background:url(../images/questionnaire/q09.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 40%;
	}

	.q-10 {
		background:url(../images/questionnaire/q10.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 45%;
	}

	.q-11 {
		background:url(../images/questionnaire/q11.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 36%;
	}

	.q-12 {
		background:url(../images/questionnaire/q12.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 45%;
	}

	.q-13 {
		background:url(../images/questionnaire/q13.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 85%;
	}

	.q-14 {
		background:url(../images/questionnaire/q14.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 85%;
	}

	.q-01 {
		background:url(../images/questionnaire/q01.png) no-repeat center bottom;
		background-size: 100% auto;
		padding-bottom: 40%;
	}

































































































}