@charset "utf-8";
body {
    background-color: #f1f1f1;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

a {
    text-decoration: none;
    color: #26a2cb;
}

p,
ul,
li {
    padding: 0;
    margin: 0;
}

img {
    border: none;
}

.clear {
    clear: both;
}


/*clearfix*/

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.clearfix {
    min-height: 1px;
}

* html .clearfix {
    height: 1px;
    /*\*/
    /*/ height:auto; overflow:hidden; /**/
}

.line:nth-child(even) {
    background-color: #2d2d2d;
}

.line:nth-child(odd) {
    background-color: #3d3d3d;
}


/*Youtube*/
.youtube {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding-top: 56.25%;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	margin: 0px auto;
}
.youtube__inner {
	max-width: 850px;
	margin: 0 auto;
}

/*for ie8_start*/

.odd {
    background-color: #2d2d2d !important;
}

.even {
    background-color: #3d3d3d !important;
}


/*for ie8_end*/

.list_nml {
    margin: 0 0 0 1.4em;
    padding: 0;
    list-style-position: inside;
    /*color:#666666;*/
}

.list_nml li {
    text-indent: -1em;
}

textarea,
input,
select {
    font-size: 14px;
    line-height: 25px;
}

button {
    border: none;
    cursor: pointer;
    font-size: 14px;
    line-height: 25px;
}

.btn_m {
    display: inline-block;
    line-height: 45px;
    padding: 0 45px;
    text-align: center;
    font-weight: bold;
    color: #111111;
    background-color: #ffffff;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.btn_l {
    line-height: 90px;
    padding: 0 90px;
    font-size: 18px;
}

.btn_m100 {
    padding: 0;
    width: 100%;
}

.btn_s {
    display: inline-block;
    line-height: 30px;
    padding: 0 20px;
    text-align: center;
    font-weight: bold;
    color: #111111;
    background-color: #ffffff;
}

.bg_dtm {
    background-color: #f29556;
}

.bg_fxbgm {
    background-color: #cfc63a;
}

.bg_mobile {
    background-color: #8D4DC4;
}

.bg_character {
    background-color: #6abfc4
}

.bg_local {
    background-color: #88c538;
}

.bg_other {
    background-color: #bfbab6;
}

.icon_r {
    margin-left: 10px;
}

.icon_l {
    margin-right: 10px;
}

.btn_m .icon_r,
.btn_m .icon_l {
    color: #ffffff;
}

.btn_fb {
    background-color: #49659f;
    color: #ffffff;
}

.btn_fb i {
    margin-right: 5px;
}

.btn_miku {
    color: #ffffff;
    background: #e84476 url(../images/btn_bg_miku.png) no-repeat right top;
}

.btn_form {
    box-shadow: 4px 4px rgba(0, 0, 0, 0.8);
    padding: 0 60px;
}

.br_t {
    margin-top: 30px !important;
}

.br_t_ss {
    margin-top: 4px !important;
}

.br_t_s {
    margin-top: 15px !important;
}

.br_t_l {
    margin-top: 60px !important;
}

.br_t_ll {
    margin-top: 120px !important;
}

.br_r {
    margin-right: 30px !important;
}

.br {
    display: inline-block;
}

.txt_red {
    color: #e4204e !important;
}

.txt_black {
    color: #101010 !important;
}


/*.txt_l					{font-size:14px !important;}*/

.note {
    background: #f5f5e1;
    padding: 20px 30px;
}

.txt_em {
    font-weight: bold;
}

.txt_youtube {
    color: #df2926 !important;
}

.txt_facebook {
    color: #3c599b !important;
}

.txt_google {
    color: #dd4b39 !important;
}

.win .txt_title,
.win .plain_title {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.center {
    text-align: center;
}

a[href$=".pdf"] {
    background: url(../images/pdficon16px.gif) no-repeat left center;
    padding-left: 24px;
    display: inline-block;
}

a[href$=".doc"] {
    background: url(../images/wordicon16px.gif) no-repeat left center;
    padding-left: 24px;
    display: inline-block;
}

a[href$=".xls"] {
    background: url(../images/xcelicon16px.gif) no-repeat left center;
    padding-left: 24px;
    display: inline-block;
}

a[href$=".zip"] {
    background: url(../images/zipicon.gif) no-repeat left center;
    padding-left: 24px;
    display: inline-block;
}

.wrapper {
    max-width: 1600px;
    margin: 0 auto;
    min-width: 1080px;
    position: relative;
}

ie8 .wrapper {
    min-width: 1200px !important;
}

.maincont {
    height: 504px;
    position: relative;
    z-index: 3;
    border-top: 2px solid #e07933;
}

.siteid {
    width: 140px;
    height: 36px;
    position: absolute;
    top: 20px;
    left: 30px;
    z-index: 4;
    display: block;
}

.site_id_bk {
    background: url(../images/id_cfm.png) no-repeat center;
    background: -webkit-image-set( url(../images/id_cfm.png) 1x, url(../images/id_cfm_2x.png) 2x) no-repeat center;
}

.site_id_wht {
    background: url(../images/id_cfm_wht.png) no-repeat center;
    background: -webkit-image-set( url(../images/id_cfm_wht.png) 1x, url(../images/id_cfm_wht_2x.png) 2x) no-repeat center;
}

.gmenu {
    list-style-type: none;
    padding: 0;
    margin: 0 0 0 195px;
    font-size: 0;
    text-align: right;
    z-index: 4;
    position: absolute;
    top: 0;
    right: 35px;
}

.gmenu li {
    display: inline-block;
    margin-left: 35px;
    font-size: 14px;
}

.gmenu a {
    padding: 30px 1px 4px 1px;
    display: inline-block;
    border-bottom: 2px solid transparent;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}

.gmenu_bk a {
    color: #000000;
}

.gmenu_wht a {
    color: #ffffff;
}

.gmenu_nml a {
    color: #000000;
}

.gmenu_bk a:hover {
    border-bottom-color: #000000;
}

.gmenu_wht a:hover {
    border-bottom-color: #ffffff;
}

.gmenu_nml a:hover {
    border-bottom-color: #e98a1b;
}

.gmenu a.now {
    border-bottom: 2px solid #000000 !important;
}

.gmenu li:nth-child(1) {
    display: none;
}

.gmenu_icon {
    display: none;
}

.gmenu .lv2 {
    display: none;
}

.topimg {
    position: absolute;
    left: 0;
    top: 0;
    height: inherit;
    width: 100%;
    display: block;
}

.topimg0 {
    background: url(../images/topimg_bg_default.jpg) no-repeat right top;
    background-size: cover;
    display: block;
}

/*.topimg0 {
    background: #e07933 url(../images/copy_cfm.png) no-repeat center;
    display: block;
}*/


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


/*.topimg0						{background:url(../images/twenty/bg-twenty.jpg) no-repeat center; display:block; background-size: cover; text-align: center;}*/


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

.topimg1 {
    background: #111111 url(../images/topimg_bg_dtm.jpg) repeat-x left top;
    display: none;
}

.topimg2 {
    background: #1a201b url(../images/topimg_bg_fxbgm.jpg) no-repeat center top;
    display: none;
}

.topimg3 {
    background: #decebb url(../images/topimg_bg_mobile.jpg) no-repeat center top;
    display: none;
}

.topimg4 {
    background: #121211 url(../images/topimg_bg_character.jpg) no-repeat center top;
    display: none;
}

.topimg6 {
    background: #000 url(../images/topimg_bg_other.jpg) no-repeat center center;
    display: none;
}

.topimg7 {
    background: #000816 url(../images/topimg_bg_local.jpg) no-repeat right top;
    display: none;
}

.topimg8 {
    background: #E9E9E9 url(../images/topimg_bg_questionnaire.png) no-repeat center top;
    display: none;
}

.topimg_icon {
    width: 90px;
    height: 90px;
    background: url(../images/ctg-icon.svg) no-repeat center;
    background-size: 630px 360px;
}

.topimg_copy {
    font-size: 30px;
    line-height: 1.4;
    font-weight: 200;
    letter-spacing: 4px;
    margin-bottom: 20px;
}

.win .topimg_copy {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.topimg_desc {
    margin: 0;
}

.topimg_inner {
    height: inherit;
    width: 1000px;
    background-position: right bottom;
    background-repeat: no-repeat;
    margin: 0 auto;
    padding-top: 110px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    position: relative;
}

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

.topimg_inner1 {
    background-image: url(../images/topimg_main_dtm.png);
    padding-right: 550px;
}

.topimg1 .topimg_icon {
    background-position: 0 -90px;
}

.topimg1 .topimg_copy,
.topimg1 .topimg_desc {
    color: #ffffff;
}

.topimg_inner2 {
    background-image: url(../images/topimg_main_fxbgm.png);
    padding-right: 520px;
}

.topimg2 .topimg_icon {
    background-position: -90px -180px;
}

.topimg2 .topimg_copy,
.topimg2 .topimg_desc {
    color: #111111;
}

.topimg_inner3 {
    background-image: url(../images/topimg_main_mobile.png);
    padding-right: 550px;
}

.topimg3 .topimg_icon {
    background-position: -180px -180px;
}

.topimg3 .topimg_copy,
.topimg3 .topimg_desc {
    color: #111111;
}

.topimg_inner4 {
    background-image: url(../images/topimg_main_character.png);
    padding-right: 500px;
}

.topimg4 .topimg_icon {
    background-position: -270px -90px;
}

.topimg4 .topimg_copy,
.topimg4 .topimg_desc {
    color: #ffffff;
}

.topimg_inner6 {
    background-image: url(../images/topimg_main_other.png);
    padding-right: 550px;
}

.topimg6 .topimg_icon {
    background-position: -360px -90px;
}

.topimg6 .topimg_copy,
.topimg6 .topimg_desc {
    color: #fff;
}

.topimg_inner7 {
    /*background-image: url(../images/topimg_main_other.png);*/
    padding-right: 300px;
}

.topimg7 .topimg_icon {
    background-position: -450px -90px;
}

.topimg7 .topimg_copy,
.topimg7 .topimg_desc {
    color: #fff;
}

.topimg8 .topimg_icon {
    background-position: -540px -90px;
}

.topimg8 .topimg_copy,
.topimg8 .topimg_desc {
    color: #fff;
}

.showcase {
    height: 170px;
    position: relative;
    font-size: 0;
    z-index: 3;
    border-bottom: 1px solid #e2e2e2;
}

.topbtn {
    height: inherit;
    width: 25%;
    text-align: center;
    display: inline-block;
    color: #666;
    font-size: 14px;
    font-weight: bold;
    background-position: center 45px;
    background-repeat: no-repeat;
    position: relative;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    background: #f5f5f5;
    border-color: #f5f5f5;
    box-sizing: border-box;
    border-right: 1px solid #e2e2e2;
}

.topbtn:last-child {
    border-right: none;
}

.topbtn_title {
    padding: 30px 5px 0 5px;
    font-size: 12px;
    line-height: 22px;
}

.topbtn_desc {
    display: none;
}

.topbtn_arrow {
    display: block;
    width: 0;
    height: 0;
    border-bottom-color: inherit;
    border-bottom-style: solid;
    border-bottom-width: 10px;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -20px;
    display: block;
}

.ff2 .topbtn_arrow {
    display: none;
}

.topbtn_icon {
    background-image: url(../images/ctg-icon.svg);
    background-size: 420px 240px;
    width: 60px;
    height: 60px;
    margin: 20px auto 0;
}

.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_other .topbtn_icon {
    background-position: -240px 0;
}

.topbtn_local .topbtn_icon {
    background-position: -300px 0;
}

.topbtn_dtm .topbtn_icon_on {
    background-position: 0 -180px;
}

.topbtn_fxbgm .topbtn_icon_on {
    background-position: -60px -180px;
}

.topbtn_mobile .topbtn_icon_on {
    background-position: -120px -180px;
}

.topbtn_character .topbtn_icon_on {
    background-position: -180px -180px;
}

.topbtn_other .topbtn_icon_on {
    background-position: -240px -180px;
}

.topbtn_local .topbtn_icon_on {
    background-position: -300px -180px;
}









/*.topbtn_icon {
    background-image: url(../images/ctg-icon.svg);
    background-size: 630px 360px;
    width: 90px;
    height: 90px;
    margin: 10px auto 0;
}

.topbtn_dtm .topbtn_icon {
    background-position: 0 0;
}

.topbtn_fxbgm .topbtn_icon {
    background-position: -90px 0;
}

.topbtn_mobile .topbtn_icon {
    background-position: -180px 0;
}

.topbtn_character .topbtn_icon {
    background-position: -270px 0;
}

.topbtn_other .topbtn_icon {
    background-position: -360px 0;
}

.topbtn_local .topbtn_icon {
    background-position: -450px 0;
}

.topbtn_dtm .topbtn_icon_on {
    background-position: 0 -270px;
}

.topbtn_fxbgm .topbtn_icon_on {
    background-position: -90px -270px;
}

.topbtn_mobile .topbtn_icon_on {
    background-position: -180px -270px;
}

.topbtn_character .topbtn_icon_on {
    background-position: -270px -270px;
}

.topbtn_other .topbtn_icon_on {
    background-position: -360px -270px;
}

.topbtn_local .topbtn_icon_on {
    background-position: -450px -270px;
}*/











.subcont {
    z-index: 4;
    position: relative;
    background-color: #f1f1f1;
}

.newsbox {
    text-align: center;
    color: #999999;
    border-bottom: 1px solid #dadada;
    padding: 60px 0 40px;
}

.newsicon {
    display: inline-block;
    background: url(../images/news_icon.png) no-repeat center top;
    margin-right: 45px;
    vertical-align: top;
    padding-top: 80px;
    font-weight: bold;
    color: #717171;
}

.newscont {
    display: inline-block;
    text-align: left;
    list-style-type: none;
    margin: 0;
    padding: 0;
    /*font-size: 12px;*/
}

.newscont li:last-child {
    text-align: right;
}

.newscont a {
    display: inline-block;
    max-width: 820px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #666;
    padding: 0 5px;
    -webkit-transition: all 0.1s ease;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
}

.newscont a:hover {
    background: #e98a1b;
    color: #202020;
}

.newscont .news_date {
    padding-right: 15px;
}

.newscont .news_ctg {
    padding-right: 15px;
    color: #e98a1b;
}

.newscont .news_title {}

.newscont a:hover .news_ctg {
    color: #ffffff;
}

.icon_more {
    /*color: #ffffff;*/
    position: relative;
    top: 3px;
    margin-right: 3px;
}

.linkbox {
    font-size: 0;
    padding: 60px 45px 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.linkthum {
    width: 105px;
    height: 70px;
    background-image: url(../images/linkicon-light.png);
    background-position: center top;
    background-repeat: no-repeat;
    display: inline-block;
    font-size: 14px;
    margin: 0 25px 15px;
}

.linkthum_empty {
    background-image: none;
    height: 0;
    overflow: hidden;
    margin-bottom: 0;
}

.linkthum_magical2023 {
    background-image: url(../images/linkicon-magical2023.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_magical10th {
    background-image: url(../images/linkicon-magical10th.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_snowmiku2023 {
    background-image: url(../images/linkicon-snowmiku2023.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_snowmiku2021 {
    background-image: url(../images/linkicon-snowmiku2021.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_magical2021 {
    background-image: url(../images/linkicon-magical2021.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_mikunavi {
    background-image: url(../images/linkicon-mikunavi.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_kiite {
    background-image: url(../images/linkicon-kitte.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_charity {
    background-image: url(../images/linkicon-charity.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_snowmiku {
    background-image: url(../images/linkicon-snowmiku2020.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_digitalstars {
    background-image: url(../images/linkicon-digitalstars.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 105px auto;
}

.linkthum_sonicwire {
    background-position: 0 -20px;
}

.linkthum_piapro {
    background-position: -110px -20px;
}

.linkthum_karent {
    background-position: -220px -20px;
}

.linkthum_router {
    background-position: -330px -20px;
}

.linkthum_mikubook {
    background-position: -440px -20px;
}

.linkthum_gigle {
    background-position: -550px -20px;
}

.linkthum_39ch {
    background-position: -660px -20px;
}

.linkthum_gurakore {
    background-position: -770px -20px;
}

.linkthum_mikumoba {
    background-position: -880px -20px;
}

.linkthum_pokeon {
    background-position: -990px -20px;
}

.linkthum_magicalmirai {
    background-position: -1210px -20px;
}

.linkthum_piapronet {
    background-position: -1320px -20px;
}

.linkthum_toontrack {
    background-position: -1430px -20px;
}

.linkthum_vsl {
    background-position: -1540px -20px;
}

.linkthum_mutant {
    background-position: -1650px -20px;
}

.linkthum_vocaloid {
    background-position: -1760px -20px;
}

.linkthum_mikuexpo {
    background-position: -1870px -20px;
}

.linkthum_miraist {
    background-position: -1980px -20px;
}

.linkthum_gurakore_nt {
    background-position: -2090px -20px;
}

.linkthum_mikuahr {
    background-position: -2200px -20px;
}

.linkthum_runner {
    background-position: -2310px -20px;
}

.linkthum_sonoca {
    background-position: -2420px -20px;
}

.linkthum_skytown {
    background-position: -2530px -20px;
}

.linkthum_r3 {
    background-position: 0 -130px;
}

.linkthum_gurutto {
    background-position: -110px -130px;
}

.linkthum_snowmiku_portal {
    background-position: -220px -130px;
}

.linkthum_domingo {
    background-position: -330px -130px;
}

.linkthum_piaprostudio {
    background-position: -440px -130px;
}

.linkthum_d2r {
    background-position: -550px -130px;
}

.footer {
    padding-top: 30px;
    text-align: center;
    color: #999999;
    padding-bottom: 30px;
}

.footer a:hover {
    text-decoration: underline;
}

.footer_link {
    display: inline-block;
    text-align: left;
    list-style-type: none;
    margin: 0;
    padding: 0;
    font-size: 0;
    margin-right: 30px;
}

.footer_link li {
    display: inline-block;
    font-size: 12px;
    margin-right: 15px;
}

.footer_link a {
    color: #999999;
}

.footer_lang {
    /*display:inline-block;*/
    display: none;
    margin-right: 30px;
}

.footer_lang a,
.footer_lang span {
    margin: 0 5px;
}

.footer_lang a {
    color: #ffffff;
}

.footer_copyright {
    display: inline-block;
    font-size: 12px;
}

.header {
    position: relative;
    z-index: 1;
    /*background:#f9f9f9;*/
    background: #f1f1f1;
    border-top: 2px solid #e07933;
    height: 56px;
}

.header .siteid,
.header .gmenu {
    margin-top: -2px;
}

.pageheader {
    padding: 70px 100px 30px 100px;
    /*background:#f9f9f9;*/
    background: #f1f1f1;
    position: relative;
}

.pageheader_pb0 {
    padding-bottom: 0;
}

.pageheader_pb_l {
    padding-bottom: 300px;
}

.pagetitle {
    font-weight: normal;
    font-size: 30px;
    line-height: 36px;
    margin: 0 0 20px 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    position: relative;
}

.win .pagetitle {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.btn_jobs {
    position: absolute;
    top: 62px;
    right: 100px;
    display: inline-block;
    line-height: 56px;
    height: 56px;
    padding: 0 60px;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    background: #f29556;
    color: #111;
}

.pagemenu {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: relative;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: -10px;
}

.pagemenu li {
    font-size: 14px;
    margin-right: 25px;
    margin-bottom: 10px;
}

.pagemenu li:last-child {
    margin-right: 0;
}

.pagemenu a {
    color: #111111;
    padding: 4px 1px 2px;
    display: inline-block;
    border-bottom: 2px solid transparent;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}

.pagemenu a:hover {
    border-bottom: 2px solid #e98a1b;
}

.pagemenu a.now {
    border-bottom: 2px solid #111111 !important;
}

.pagemenu li.blog_sns {
    display: inline-block;
    margin-right: 0;
    position: absolute;
    top: 0;
    right: 0;
    vertical-align: top;
}

.pagemenu li.blog_sns i {
    vertical-align: top;
    font-size: 22px;
}

.pagemenu li.li_right {
    margin-left: auto;
}

.pagemenu li.job_btn {
    margin-top: -8px;
    margin-bottom: -8px;
}

.pagemenu li.job_btn a {
    color: #111111;
    font-weight: bold;
    /*padding: 4px 10px 2px;*/
    padding: 12px 45px 10px;
    display: inline-block;
    border-bottom: 2px solid transparent;
    background-color: #f29556;
}

.pagetitle a {
    color: #111111;
}

.pagetitle a:hover {
    color: #e98a1b;
    text-decoration: underline;
}

.pagetitle a.rss {
    position: absolute;
    top: 0;
    right: 0;
}

.pagetitle i {
    margin: 0 10px;
    color: #999999;
    padding: 0;
}

.sectiontitle {
    font-weight: normal;
    font-size: 30px;
    color: #ffffff;
    margin-bottom: 45px;
    line-height: 1.4;
}

.win .sectiontitle {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.sectiontitle_note {
    margin-left: 10px;
    font-size: 12px;
}

.projectlist {}

.projectbox {
    padding: 100px 550px 100px 100px;
    position: relative;
    box-sizing: border-box;
}

.projectbox_dtm {
    background: url(../images/projectbox_dtm_l.jpg) no-repeat right center;
}

.projectbox_fxbgm {
    background: url(../images/projectbox_fxbgm_l.jpg) no-repeat right center;
}

.projectbox_mobile {
    background: url(../images/projectbox_mobile_l.jpg) no-repeat right center;
}

.projectbox_character {
    background: url(../images/projectbox_character_l.jpg) no-repeat right center;
}

.projectbox_local {
    background: url(../images/projectbox_local_l.jpg) no-repeat right center;
}

.projectbox_other {
    background: url(../images/projectbox_other_l.jpg) no-repeat right center;
}

.projectbox_icon {
    width: 90px;
    height: 90px;
    background: url(../images/ctg-icon.svg) no-repeat center;
    background-size: 630px 360px;
    margin: 15px 0;
}

.projectbox_dtm .projectbox_icon {
    background-position: 0 -270px;
}

.projectbox_fxbgm .projectbox_icon {
    background-position: -90px -270px;
}

.projectbox_mobile .projectbox_icon {
    background-position: -180px -270px;
}

.projectbox_character .projectbox_icon {
    background-position: -270px -270px;
}

.projectbox_other .projectbox_icon {
    background-position: -360px -270px;
}

.projectbox_local .projectbox_icon {
    background-position: -450px -270px;
}

.projectbox_title {
    color: #ffffff;
    font-weight: normal;
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 30px;
}

.projectbox_desc {
    color: #ccc;
}

.projectbox_btn {
    margin-top: 30px;
}

.projectbox:after {
    content: "";
    display: none;
    width: 0;
    height: 0;
    border-left-style: solid;
    border-left-width: 15px;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    position: absolute;
    top: 230px;
    right: 485px;
}

.projectbox:nth-child(even):after {
    border-left-color: #2d2d2d;
}

.projectbox:nth-child(odd):after {
    border-left-color: #3d3d3d;
}

.projectdetail {
    position: relative;
    background-color: #101010;
    background-repeat: no-repeat;
    background-position: left top;
}

.projectdetail_info {
    width: 450px;
    float: left;
    padding: 25px 90px 60px 100px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    display: none;
}

.projectdetail_listbox {}

.projectdetail_list {
    padding: 35px 100px 10px 100px;
    display: block;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    zoom: 1;
}

.projectdetail_list:after {
    content: "";
    display: block;
    clear: both;
}

.projectdetail_list_inner {
    position: relative;
    box-sizing: border-box;
    float: left;
    width: calc(100% - 300px);
    z-index: 5;
}

.projectdetail_list_img {
    width: 230px;
    min-height: 230px;
    float: right;
    overflow: hidden;
}

.projectdetail_list_img:after {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    content: '';
    width: 100%;
    height: 100px;
}

.line:nth-child(even) .projectdetail_list_img:after {
    background: linear-gradient(rgba(45, 45, 45, 0) 0, rgba(45, 45, 45, 1) 70%, rgba(45, 45, 45, 1) 100%);
}

.line:nth-child(odd) .projectdetail_list_img:after {
    background: linear-gradient(rgba(61, 61, 61, 0) 0, rgba(61, 61, 61, 1) 70%, rgba(61, 61, 61, 1) 100%);
}

.projectdetail_list_img img {
    width: 100%;
}

.projectdetail_list_sns {
    min-height: 160px;
    padding: 0;
    padding-right: 300px;
}

.projectdetail_dtm {
    background-image: url(../images/projectdetail_bg_dtm.jpg);
}

.projectdetail_fxbgm {
    background-image: url(../images/projectdetail_bg_fxbgm.jpg);
}

.projectdetail_mobile {
    background-image: url(../images/projectdetail_bg_mobile.jpg);
}

.projectdetail_character {
    background-image: url(../images/projectdetail_bg_character.jpg);
}

.projectdetail_other {
    background-image: url(../images/projectdetail_bg_other.jpg);
}

.projectdetail_icon {
    width: 90px;
    height: 90px;
    background: url(../images/ctg-icon.svg) no-repeat center;
    background-size: 450px 360px;
    margin: 15px 0;
}

.projectdetail_dtm .projectdetail_icon {
    background-position: 0 -90px;
}

.projectdetail_fxbgm .projectdetail_icon {
    background-position: -90px -180px;
}

.projectdetail_mobile .projectdetail_icon {
    background-position: -180px -180px;
}

.projectdetail_character .projectdetail_icon {
    background-position: -270px -90px;
}

.projectdetail_other .projectdetail_icon {
    background-position: -360px -90px;
}

.projectdetail_title {
    color: #ffffff;
    font-weight: normal;
    font-size: 20px;
    margin-top: 10px;
    margin-bottom: 20px;
}

.projectdetail_desc {
    color: #f1f1f1;
}

.projectdetail_fxbgm .projectdetail_title {
    color: #111111;
}

.projectdetail_fxbgm .projectdetail_desc {
    color: #333333;
}

.projectdetail_mobile .projectdetail_title {
    color: #111111;
}

.projectdetail_mobile .projectdetail_desc {
    color: #333333;
}

.projectdetail_sonicwire {
    background-image: url(../images/projectdetail_sonicwire.png);
}

.projectdetail_mp {
    background-image: url(../images/projectdetail_mp.png);
}

.projectdetail_mpblog {
    background-image: url(../images/projectdetail_mpblog.png);
}

.projectdetail_piaprostudio {
    background-image: url(../images/projectdetail_piaprostudio.png);
}

.projectdetail_piapro_net {
    background-image: url(../images/projectdetail_piapro_net.png);
}

.projectdetail_vocaloid {
    background-image: url(../images/projectdetail_vocaloid.png);
}

.projectdetail_karent {
    background-image: url(../images/projectdetail_karent.png);
}

.projectdetail_piapro {
    background-image: url(../images/projectdetail_piapro.png);
}

.projectdetail_piapro_blog {
    background-image: url(../images/projectdetail_piapro_blog.png);
}

.projectdetail_mikubook {
    background-image: url(../images/projectdetail_mikubook.png);
}

.projectdetail_gurakore {
    background-image: url(../images/projectdetail_gurakore.png);
}

.projectdetail_gurakore_nt {
    background-image: url(../images/projectdetail_gurakore_nt.png);
}

.projectdetail_mikumoba {
    background-image: url(../images/projectdetail_mikumoba.png);
}

.projectdetail_mikuahr {
    background-image: url(../images/projectdetail_mikuahr.png);
}

.projectdetail_runner {
    background-image: url(../images/projectdetail_runner.png);
}

.projectdetail_39ch {
    background-image: url(../images/projectdetail_39ch.png);
}

.projectdetail_pokeon {
    background-image: url(../images/projectdetail_pokeon.png);
}

.projectdetail_csp {
    background-image: url(../images/projectdetail_csp.png);
}

.projectdetail_gigle {
    background-image: url(../images/projectdetail_gigle.png);
}

.projectdetail_router {
    background-image: url(../images/projectdetail_router.png);
}

.projectdetail_snowmiku {
    background-image: url(../images/projectdetail_snowmiku.png);
}

.projectdetail_mikuexpo {
    background-image: url(../images/projectdetail_mikuexpo.png);
}

.projectdetail_magicalmirai2016 {
    background-image: url(../images/projectdetail_magicalmirai2016.png);
}

.projectdetail_magicalmirai2015 {
    background-image: url(../images/projectdetail_magicalmirai2015.png);
}

.projectdetail_magicalmirai2014 {
    background-image: url(../images/projectdetail_magicalmirai2014.png);
}

.projectdetail_magicalmirai {
    background-image: url(../images/projectdetail_magicalmirai.png);
}

.projectdetail_nasita {
    background-image: url(../images/projectdetail_nasita.png);
}

.projectdetail_beatonica {
    background-image: url(../images/projectdetail_beatonica.png);
}

.projectdetail_mpub {
    background-image: url(../images/projectdetail_mpub.png);
}

.projectdetail_youtube_mp {
    background-image: url(../images/projectdetail_youtube_mp.png);
}

.projectdetail_youtube_39ch {
    background-image: url(../images/projectdetail_youtube_39ch.png);
}

.projectdetail_facebook_mp {
    background-image: url(../images/projectdetail_facebook_mp.png);
}

.projectdetail_facebook_cfm {
    background-image: url(../images/projectdetail_facebook_cfm.png);
}

.projectdetail_facebook_miku {
    background-image: url(../images/projectdetail_facebook_miku.png);
}

.projectdetail_facebook_miku_jp {
    background-image: url(../images/projectdetail_facebook_miku_jp.png);
}

.projectdetail_google_miku_jp {
    background-image: url(../images/projectdetail_google_miku_jp.png);
}

.projectdetail_nicovideo {
    background-image: url(../images/projectdetail_nicovideo.png);
}

.projectdetail_skytown {
    background-image: url(../images/projectdetail_skytown.png);
}

.projectdetail_miraist {
    background-image: url(../images/projectdetail_miraist.png);
}

.projectdetail_gurutto {
    background-image: url(../images/projectdetail_gurutto.png);
}

.projectdetail_r3 {
    background-image: url(../images/projectdetail_r3.png);
}

.projectdetail_aps {
    background-image: url(../images/projectdetail_aps.png);
}

.projectdetail_als {
    background-image: url(../images/projectdetail_als.png);
}

.projectdetail_mutant {
    background-image: url(../images/projectdetail_mutant.png);
}

.projectdetail_mikuar {
    background-image: url(../images/projectdetail_mikuar.png);
}

.projectdetail_labopton {
    background-image: url(../images/projectdetail_labopton.png);
}

.projectdetail_sonoca {
    background-image: url(../images/projectdetail_sonoca.png);
}

.projectdetail_site_logo {}

.projectdetail_site_copy {
    color: #ffffff;
    font-weight: bold;
    padding-top: 10px;
}

.projectdetail_site_title,
.projectdetail_sns_title {
    color: #ffffff;
    font-weight: normal;
    font-size: 20px;
    margin-top: 8px;
}

.projectdetail_site_title a,
.projectdetail_sns_title a {
    color: #ffffff;
    display: block;
}

.projectdetail_site_title a:hover,
.projectdetail_sns_title a:hover {
    color: #e98a1b;
}

.projectdetail_site_desc {
    color: #999999;
    margin-top: 25px;
}

.projectdetail_site_desc p {
    color: #999999;
}

.projectdetail_sns_desc {
    color: #999999;
    margin-top: 10px;
}

.projectdetail_site_btn {
    display: none;
    position: absolute;
    width: 280px;
    top: 50%;
    right: 0;
    margin-top: -20px;
    text-align: center;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}

.projectdetail_site_btn .btn_s {
    line-height: 40px;
    padding: 0 30px;
    text-align: center;
    font-weight: bold;
    color: #ffffff;
    background-color: #202020;
    position: relative;
}

.projectdetail_site_btn .btn_s:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-left-style: solid;
    border-left-width: 15px;
    border-left-color: #202020;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    position: absolute;
    top: 0;
    right: -15px;
}

.projectdetail_snsicon {
    font-size: 24px;
    line-height: 24px;
    color: #cccccc;
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: 1px;
}


/*.projectdetail_snsicon		{font-size:40px; line-height:42px; margin-bottom:10px; color:#cccccc;}*/

.projectdetail_list:hover .projectdetail_site_title {
    color: #e98a1b;
}

.projectdetail_linkbox {
    color: #999999;
    margin-top: 15px;
}

.projectdetail_linkbox a {
    padding: 5px 0;
    font-weight: bold;
    color: #999999;
}

.projectdetail_linkbox a:hover {
    color: #ffffff;
    text-decoration: underline;
}

.news_whole {
    background: #ffffff;
    /*background:#393939;*/
    padding: 60px 100px;
}

.news {
    margin-bottom: 30px;
}

.news:last-child {
    margin-bottom: 0;
}

.news_info {
    width: 150px;
    float: left;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.newslist_month {
    color: #666666;
    /*color:#ffffff;*/
    margin-top: 0;
    /*position:relative; top:-3px;*/
    line-height: 1.4;
}

.news_listbox {
    margin-left: 150px;
    padding: 0 0 0 0;
}

.news_list {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

.news_list li {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.news_list a {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #666666;
    padding: 2px 5px;
    max-width: 100%;
    -webkit-transition: all 0.1s ease;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
}

.news_list a:hover {
    background: #e98a1b;
    color: #202020;
}

.news_list .news_date {
    padding-right: 15px;
}

.news_list .news_ctg {
    padding-right: 15px;
    color: #e98a1b;
}

.news_list .news_title {}

.news_list a:hover .news_ctg {
    color: #ffffff;
}

.news_backward {
    text-align: center;
    margin-top: 30px;
    display: none;
}

.newsdetail_whole {
    background-color: #f1f1f1;
    padding-bottom: 100px;
    /*background-color:#dcdcdc; padding:60px 0;*/
}

.newsdetail {
    background: #ffffff;
    padding: 60px 120px;
    margin: 0 100px;
    box-shadow: 6px 6px #cccccc;
}

.newsdetail_title {
    font-weight: normal;
    font-size: 20px;
    line-height: 1.4;
}

.newsdetail_date_ctg {
    font-size: 0;
}

.newsdetail_date {
    color: #666666;
    font-size: 14px;
    display: inline-block;
    margin-right: 15px;
}

.newsdetail_ctg {
    color: #e98a1b !important;
    font-size: 14px;
    display: inline-block;
    margin-right: 15px;
}

.newsdetail_summary {
    border-bottom: 1px solid #dcdcdc;
    padding-bottom: 30px;
    margin-top: 80px;
}

.newsdetail_cont {
    margin-top: 60px;
}

.backtotop {
    position: fixed;
    right: 0;
    bottom: 21px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    background: rgba(0, 0, 0, 0.25);
    cursor: pointer;
    z-index: 999;
    text-align: center;
}

.backtotop:after {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    line-height: inherit;
    height: inherit;
    width: inherit;
    text-align: center;
    color: #fff;
    font-family: 'Material Icons';
    content: '\e25a';
    font-size: 20px;
}

.aboutus_whole {
    padding: 60px 100px;
    background: #2d2d2d;
}

.aboutus {
    margin-bottom: 30px;
}

.aboutus:last-child {
    margin-bottom: 0;
}

.aboutus_label {
    width: 250px;
    float: left;
    padding: 0 45px 0 0;
    text-align: right;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.aboutus_cont {
    margin-left: 250px;
    padding: 0 0 0 0;
}

.aboutus_whole p {
    color: #ffffff;
    margin: 0;
}

.aboutus_equip {
    background: #396;
    padding: 60px 100px;
}

.aboutus_equip_desc {
    background: url(../images/logo_greenpower.gif) no-repeat right top;
    padding-right: 200px;
    min-height: 110px;
}

.aboutus_contact {
    background: #2d2d2d;
    padding: 60px 100px 60px 100px;
}

.aboutus_sns {
    background: #393939;
    padding: 60px 100px 60px 100px;
}

.aboutus_info {
    background: #393939 url(../images/aboutus_bg1.jpg) no-repeat right top;
    padding-bottom: 100px;
}

.aboutus_access {
    background: #1c1c1c url(../images/aboutus_bg2.jpg) no-repeat center top;
    /*background:#2d2d2d;*/
    padding: 60px 100px 60px 100px;
}

.aboutus_map {
    background: #2d2d2d;
    overflow: hidden;
}

.access_img {
    margin-top: 15px;
    font-size: 0;
}

.access_img .route {
    display: inline-block;
    vertical-align: top;
    text-align: center;
    margin-bottom: 20px;
    max-width: 250px;
}

.access_img .routechart {
    color: #ffffff;
    font-size: 14px;
    padding: 10px 20px;
    border: 1px solid #6d6d6d;
    background: #505050;
}

.access_img .routedesc {
    color: #ffffff;
    font-size: 12px;
    margin-top: 5px;
}

.access_img .routedesc-left {
    text-align: left;
}

.access_img .routedesc a {
    background-image: none;
    padding: 2px 15px;
    font-weight: bold;
    display: inline-block;
    background-color: #26a2cb;
    color: #fff;
    margin-bottom: 5px;
    margin-top: 5px;
    font-size: 13px;
}

.access_img .routearrow {
    color: #ffffff;
    font-size: 14px;
    padding: 10px 10px;
}

.access_img .icon-arrow-right {
    display: inline-block;
}

.access_img .icon-arrow-down {
    display: none;
}

.routenote {
    color: #e55454;
}

.bldg_img {
    margin-top: 20px;
    color: #ffffff;
    font-size: 12px;
    width: 60%;
}

.bldg_map {
    margin-top: 10px;
}

.recruit_whole {
    background-color: #393939;
    padding: 60px 100px;
}

.recruit_whole p {
    color: #ffffff;
    margin: 0;
}

.recruit1 {
    background: #393939;
    padding-bottom: 30px;
}

.recruit2 {
    background: #393939;
}

.recruit3 {
    background: #2d2d2d;
}


.internship .recruit_whole_inner{
    display: flex;
}
.internship .txt_s {
    font-size: 13px;
}
.internship_txt{
    width: 50%;
    margin-right: 30px;
}

.internship .txt_title{
    font-size: 26px;
    font-weight: normal;
    margin: 0 0 30px;
    line-height: 1.4;
}
.internship .plain_title_about_cfm{
    font-size: 50px;
    line-height: 1.6;
    margin: 0;
}
.internship .plain_title_about_cfm .break {
    display: inline-block;
}

.internship_txt ul {
    list-style: none;
}
.internship_txt li {
    display: flex;
}

.internship_feature{
    font-size: 16px;
}
.internship_feature .num{
    width: 30px;
    color: #F29556;
    font-weight: bold;
}

.internship_course {
    flex: 1;
}
.internship_course li::before{
    display: inline-block;
    content: "";
    width: 6px;
    height: 6px;
    margin: 8px 6px 0 0;
    vertical-align: middle;
    background: #666666;
    border-radius: 50%;
}
.internship_txt ul span{
    display: block;
    flex: 1;
}
.internship_txt ul span:first-child{
    flex: none;
}
.internship_txt ul .label{
    width: 80px;
    font-weight: bold;
}

.internship_img{
    width: calc(50% - 30px);
}
.internship_img img{
    width: 100%;
}

.internship .center {
    display: block;
}

.internship_notes{
    color: #e4204e;
}

.aboutus_cont ul {
    margin: 0;
    padding: 0;
    list-style-position: inside;
    color: #ffffff;
}

.contact_whole {
    border-top: 1px solid #ececec;
}

.contact_whole p {
    color: #ffffff;
    margin: 0;
}

.contact_label {
    width: 120px;
    float: left;
    text-align: center;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.contact_cont {
    margin-left: 120px;
}

.contact_cont p {
    color: #999999;
}

.contact_icon {
    width: 120px;
    height: 80px;
    background: url(../images/main_icon.png) no-repeat center -20px;
    background: -webkit-image-set( url(../images/main_icon.png) 1x, url(../images/main_icon_2x.png) 2x);
}

.contact_icon_mp {
    background-position: -840px -20px;
}

.contact_icon_sonicwire {
    background-position: -960px -20px;
}

.contact_icon_character {
    background-position: -360px -20px;
}

.contact_icon_mobile {
    background-position: -240px -20px;
}

.contact_icon_pr {
    background-position: -600px -20px;
}

.contact_icon_general {
    background-position: -720px -20px;
}

.contactbox {
    padding: 30px 30px 0 30px;
    display: block;
    float: left;
    width: 50%;
    min-height: 210px;
    border-bottom: 1px solid #ececec;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.contactbox_bg1 {
    /*background-color:#393939;*/
    background-color: #ffffff;
}

.contactbox_bg2 {
    /*background-color:#2d2d2d;*/
    background-color: #ffffff;
}

.contactbox:nth-child(odd) {
    border-right: 1px solid #ececec;
}

.contactbox_odd {
    border-right: 1px solid #ececec;
}

.contactbox:hover {
    background: #f9f9f9;
}

.contactbox_title {
    font-weight: normal;
    font-size: 16px;
    color: #333333;
    margin-bottom: 10px;
}

.contactbox:hover .contactbox_title {
    color: #e98a1b;
}

.plain_whole {
    padding: 60px 100px 60px 100px;
    background: #ffffff;
    position: relative;
    color: #666666;
}

.plain_whole_en {
    padding: 60px 100px 60px 100px;
    background-color: #3d3d3d;
}

.plain_whole .plain_title {
    color: #111111;
    margin-bottom: 20px;
}

.plain_whole p {
    margin: 0;
}

.plain_main {
    width: 100%;
    float: left;
    margin-right: -340px;
    position: relative;
}

.plain_sub {
    float: right;
    width: 340px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.plain_main_inner {
    margin-right: 610px;
}

.plain_main p {
    color: #cccccc;
}

.plain_sub p {
    color: #cccccc;
}

.plain_whole_pb0 {
    padding-bottom: 0;
}

.plain_whole_pt0 {
    padding-top: 0;
}

.contact_form {
    background: #e2e2e2;
    padding: 45px;
}

.contact_form .plain_title {
    margin-bottom: 10px;
}

.form_item {
    margin-bottom: 30px;
}

.form_item:last-child {
    margin-bottom: 0;
}

.formbox {
    position: relative;
}

.formbox textarea {
    width: 100%;
    max-width: 100%;
    height: 200px;
    min-height: 100px;
    border: 1px solid #e2e2e2;
    padding: 15px;
    /*box-shadow:3px 3px rgba(0,0,0, 0.05);*/
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.formbox input {
    width: 100%;
    max-width: 100%;
    border: 1px solid #dcdcdc;
    padding: 10px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.formbox select {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    margin: 0;
    padding: 10px;
    padding-right: 60px;
    width: 100%;
    border-radius: 0;
    border: 1px solid #dcdcdc;
    cursor: pointer;
    background-color: transparent;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.formbox .iconbtn {
    position: absolute;
    top: 10px;
    right: 13px;
    width: 20px;
    height: 25px;
    text-align: center;
    cursor: pointer;
    z-index: 1;
}


/*.formbox .iconbtn				{position:absolute; top:16px; right:13px; width:20px; height:14px; line-height:14px; font-size:14px; text-align:center; cursor:pointer; z-index:1;}*/

.ff2 .formbox select {
    text-indent: .01px;
    text-overflow: "";
    height: 46px;
    padding-top: 12px;
}

.ie .formbox select {
    /*width:auto;*/
    padding-right: 10px;
}

.ie .formbox .iconbtn {
    display: none;
}

.form_select {
    background: #ffffff;
}

.formbox textarea:focus,
.formbox input:focus {
    outline: none;
    border: 1px solid #e07933;
}

.form_s {
    width: 70%;
    max-width: 70%;
}

.form_file_dummy input {
    display: none;
}

.form_file {
    position: relative;
}

.form_file .filename input {
    padding-left: 56px;
    overflow: hidden;
    cursor: pointer;
}

.form_file .filebtn {
    width: 56px;
    height: 46px;
    position: absolute;
    top: 1px;
    left: 0;
    line-height: 46px;
    font-size: 16px;
    text-align: center;
    color: #111111;
    cursor: pointer;
    z-index: 2;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.form_btn {
    margin-top: 90px;
    position: relative;
}

.form_btn_next {
    text-align: right;
    float: right;
    width: 50%;
}

.form_btn_prev {
    text-align: left;
    float: left;
    width: 50%;
}

.form_error {
    background: #e45353;
    border-color: #e45353;
    padding: 12px 20px;
    color: #ffffff;
    margin-top: 0;
    margin-bottom: 12px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.form_error:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top-width: 10px;
    border-top-style: solid;
    border-top-color: inherit;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    position: absolute;
    bottom: -10px;
    left: 20px;
}

.form_s + .form_error {
    width: 70% !important;
    max-width: 70% !important;
}

.contact_form .title_confirm {
    color: #e07933;
    margin-bottom: 0;
}

p.confirm {
    color: #111111;
}

img.email {
    height: 14px;
    width: auto;
    margin-right: 5px;
    position: relative;
    top: 2px;
}

.ssl {
    margin-top: 20px;
}

.ssl i {
    margin-right: 5px;
    color: #e8a921;
}

.snsbox_top {
    text-align: center;
    font-size: 0;
    line-height: 0.5;
    /*margin-top: 20px;*/
    margin-bottom: 20px;
}

.snsbox_top .snsbtn {
    display: inline-block;
    font-size: 10px;
    line-height: 0.5;
    margin: 0 10px;
    vertical-align: text-top;
}

.snsbox_news {
    text-align: left;
    font-size: 0;
    line-height: 0.5;
    margin-top: 30px;
}

.snsbox_news .snsbtn {
    display: inline-block;
    font-size: 10px;
    line-height: 0.5;
    margin-right: 20px;
}

.news_email {
    margin-left: 5px;
}

.news_email .email {
    margin: 0;
}

.news_attach {
    margin-top: 30px;
    background: #f5f5f5;
    padding: 30px;
    overflow: hidden;
}

.attach_imgbox {}

.attach_img {
    display: inline-block;
    background: #ffffff;
    padding: 20px;
    margin-right: 20px;
    font-size: 0;
    vertical-align: top;
}

.attach_img img {
    width: 200px;
    height: auto;
}

.attach_img2 {
    display: inline-block;
    background: #ffffff;
    padding: 20px;
    margin-right: 20px;
    font-size: 0;
    vertical-align: top;
}

.attach_img2 img {
    width: 180px;
    height: auto;
}

.attach_movie {
    margin-top: 30px;
}

.dl_attach_img {
    margin-top: 10px;
    text-align: center;
    font-size: 11px;
}

.dl_attach_img .btn_s {
    background: #c3c3c3;
    color: #ffffff;
}


/*----------------------------------------*/

.recruit_whole2 {
    background: #ffffff;
    position: relative;
    color: #666666;
}

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

/*
.recruit_whole_oto {
    background: #ffffff url(../images/bg_recruit_oto3.jpg) no-repeat right 60px;
    padding-bottom: 0;
}
*/
.recruit_bg_oto {
	width: 50%;
	max-width: 500px;
	float: right;
	text-align: right;
}
.recruit_bg_oto img {
	width: 100%;
	max-width: 100%;
}

.plain_title {
    color: #393939;
    font-size: 20px;
}

.plain_title_about_cfm {
    color: #000;
    font-size: 30px;
    line-height: 1.4;
    letter-spacing: 0.25em;
    padding-top: 15px;
}

/*.plain_title_about_cfm			{color:#ffffff; font-size:30px; line-height:34px; letter-spacing:0.5em; background:#202020; padding:0 5px 1px 5px; display:inline;}*/

.recruit_whole2 .titleicon {
    font-size: 50px;
    height: 60px;
    line-height: 60px;
    margin-bottom: 10px;
}

.recruit_whole2 p {
    margin: 0;
}

.recruit_sub {
    float: left;
    width: 250px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_main {
    position: relative;
    margin-left: 300px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_main .title {
    font-size: 16px;
    color: #393939;
}

.line_light {
    border-bottom: 1px solid #f4f4f4;
}

.line_light:nth-child(odd) {
    background-color: #ffffff;
}

.line_light:nth-child(even) {
    background-color: #fcfcfc;
}

.line_dark {
    background-color: #efefef !important;
    border-bottom: 1px solid #d2d2d2;
}


.recruit_photo {
    position: relative;
    padding: 10px 10px 60px 10px;
    background: #f9f9f9;
}

.thum_photo_box {
    list-style-type: none;
    font-size: 0;
    margin: 0 auto;
    line-height: 1;
}

.thum_photo {
    position: relative;
    float: left;
    width: 270px;
    margin: 2px 0;
    background: #333333;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.thum_photo_img {}

.thum_photo_txt {
    padding: 20px;
    color: #cccccc;
}

.thum_photo img {
    width: 100%;
}

.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: 60px 100px;
}

.recruit_whole_inner_pb0 {
    padding-bottom: 0;
}

.recruit_youtube {
	background-color: #3d3d3d;
	padding: 20px;
}

.recruit_top_left {
    width: 100%;
    float: left;
    margin-right: -400px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_top_right {
    float: right;
    width: 400px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_top_inner {
    margin-right: 460px;
}

.recruit_top_img {
    width: 500px;
    height: 500px;
    background: url(../images/bg_recruit_oto3.jpg) no-repeat top right;
    background-size: 500px auto;
}

.recruit_gijutsu_right {
    width: 100%;
    float: right;
    margin-left: -400px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_gijutsu_left {
    float: left;
    width: 400px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_gijutsu_inner {
    margin-left: 460px;
}

.recruit_gijutsu_img {
    width: 400px;
    height: 320px;
    background: url(../images/bg_recruit_labo.jpg) no-repeat center;
    background-size: 400px auto;
}

.recruit_creator_left {
    width: 100%;
    float: left;
    margin-right: -400px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_creator_right {
    float: right;
    width: 400px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_creator_inner {
    margin-right: 460px;
}

.recruit_creator_img {
    width: 400px;
    height: 267px;
    background: url(../images/bg_recruit_concert2.jpg) no-repeat center;
    background-size: 400px auto;
}

.recruit_local_right {
    width: 100%;
    float: right;
    margin-left: -450px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_local_left {
    float: left;
    width: 450px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.recruit_local_inner {
    margin-left: 510px;
}

.recruit_local_img {
    width: 450px;
    height: 300px;
    background: url(../images/bg_recruit_local.jpg) no-repeat center;
    background-size: 450px auto;
}

.recruit_bg_top {
    padding-right: 450px;
}

/*
.recruit_bg_oto {
    padding-right: 450px;
}
*/

.recruit_bg_bosyu {
    /*background: url(../images/bg_recruit_bosyu.png) no-repeat center bottom;
	padding-bottom: 210px;*/
}

.caption {
    font-size: 11px;
    line-height: 1.4;
}


/*----------------------------------------*/


/*extra contents追加、メニュー数6コ*/

.showcase {}

.topbtn {
    width: 16.3%;
    vertical-align: top;
}

.topbtn_extra {
    width: 2.2%;
}

.topbtn_on {
    width: 14.3%;
}

.topbtn_on .topbtn_title {
    font-size: 10px;
}

.topbtn_extra_on {
    width: 14.2%;
}

.topimg5 {
    background: url(../images/purty_wood.png) repeat center;
    /*background:#101010;*/
    display: none;
}

.topbtn_extra .topbtn_arrow {
    border-bottom-width: 10px;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    position: absolute;
    top: 10px;
    left: 50%;
    margin-left: -10px;
    display: block;
}

.topbtn_extra:hover .topbtn_arrow {
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    margin-left: -20px;
}

.deskthumbox {
    width: inherit;
    height: inherit;
    list-style-type: none;
    margin: 0;
    padding: 0;
    clear: both;
    position: relative;
}

.header_bg {
    display: none;
    width: inherit;
    height: 150px;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../images/header_bg.png) repeat-x left top;
    z-index: 2;
}


/*.deskthumbox:after								{content:""; display:block; width:inherit; height:100px; position:absolute; top:0; left:0; background:url(images/header_bg.png) repeat-x left top;}*/

.deskthumbox li {
    display: block;
    width: 20%;
    height: 25%;
    margin: 0;
    padding: 0;
    float: left;
    color: #ffffff;
    text-align: center;
}

.deskthumbox li div {
    width: 100%;
    height: 100%;
    position: relative;
}

.deskthum {
    height: inherit;
    background: #101010;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    border-top: 1px solid #101010;
    border-right: 1px solid #101010;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}

.deskthumbox li:nth-child(5) .deskthum,
.deskthumbox li:nth-child(10) .deskthum,
.deskthumbox li:nth-child(15) .deskthum,
.deskthumbox li:nth-child(20) .deskthum {
    border-right: none;
}

.deskthumbox li:nth-child(1) .deskthum,
.deskthumbox li:nth-child(2) .deskthum,
.deskthumbox li:nth-child(3) .deskthum,
.deskthumbox li:nth-child(4) .deskthum,
.deskthumbox li:nth-child(5) .deskthum {
    border-top: none;
}

.champagne div.hidden {
    display: none;
}

.desk_msg {
    position: absolute;
    width: 100%;
    left: 0;
    top: 50%;
    margin-top: -140px;
    text-align: center;
    z-index: 1;
    display: none;
}

.desk_msg_inner {
    display: inline-block;
    color: #ffffff;
    line-height: 280px;
    font-size: 100px;
    letter-spacing: 0.2em;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    -moz-transform: rotate(-5deg);
    -webkit-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
}

.extra_hidden {
    display: none;
}

.topbtn_extra .topbtn_icon {
    background-position: -360px 0;
}

.font_courgette {
    font-family: 'Courgette', cursive;
}


/*sp desk*/

.pagetitle_sp_desk {
    font-family: 'Courgette', cursive !important;
    text-align: center;
    font-size: 80px;
    color: #4c300b !important;
    line-height: 100px;
    padding-bottom: 20px;
    -moz-transform: rotate(-5deg);
    -webkit-transform: rotate(-5deg);
    -o-transform: rotate(-5deg);
    -ms-transform: rotate(-5deg);
}

.deskitembox {
    margin-top: 30px;
    font-size: 0;
    text-align: center;
    list-style-type: none;
}

.deskitembox li {
    width: 250px;
    margin: 0 10px 20px 10px;
    display: inline-block;
    font-size: 14px;
}

.deskitem {
    display: block;
    background: #ffffff;
    color: #cccccc;
    padding: 5px;
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
}

.deskitem:hover {
    background: #ffffff;
    box-shadow: 4px 4px #ad7f3d;
    color: #ffffff;
}

.deskimg {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 160px;
    position: relative;
}

.deskimg:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #000000;
    filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.ie8 .deskimg:after {
    display: none;
}

.deskitem:hover .deskimg:after {
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    opacity: 0;
}

.deskinfo {
    padding: 30px 15px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-align: left;
    display: none;
}

.deskdtl {
    width: 600px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.deskdtl_img img {
    width: 600px;
    height: auto;
}

.deskdtl_info {
    padding: 30px 0 0 0;
}

.deskdtl_info p {
    color: #666666;
}

p.desc_desk {
    color: #111111;
}

.deskdtl_name {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 24px;
}

.deskdtl_name i {
    font-size: 40px;
    margin-right: 10px;
}

.deskdtl_icon_s {
    background: url(../images/desk/icon_s.jpg) no-repeat left top;
    height: 60px;
    padding-left: 70px;
    display: inline-block;
    line-height: 70px;
}

body,
textarea,
input,
select,
button {
    font-size: 13px;
    line-height: 1.8;
}

.gmenu li,
.topbtn,
.linkthum,
.pagemenu li,
.newsdetail_date,
.newsdetail_ctg,
.deskitembox li,
.access_img .routechart,
.access_img .routearrow {
    font-size: 13px;
}

.newsbody p {}

.newsbody .newssubbox {
    padding: 45px;
    background: #f5f5f5;
    margin-top: 45px;
}

.newsbody .txt_note {
    font-size: 12px;
    color: #666666;
}

.newsbody img {
    max-width: 100%;
    height: auto;
}


/*事業紹介内のニュース一覧*/

.news_project {
    font-size: 12px;
}

.news_project ul {
    list-style-type: none;
    margin-top: 10px;
    padding: 0;
    overflow: hidden;
}

.news_project li {}

.news_project a {
    display: inline-block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #666666;
    padding: 1px 2px;
    vertical-align: top;
    max-width: 100%;
    -webkit-transition: all 0.1s ease;
    -moz-transition: all 0.1s ease;
    -o-transition: all 0.1s ease;
}

.news_project a:hover {
    background: #e98a1b;
    color: #202020;
}

.news_project .news_date {
    padding-right: 15px;
}

.news_project .news_title {}

.news_project .icon_more {
    color: inherit;
}


/*チーム紹介*/

.cont_team_thum {}

.team_thum {
    width: 28%;
    margin: 0 8% 60px 0;
    display: block;
    float: left;
    vertical-align: top;
}

.team_thum:last-child {
    margin-right: 0;
}

.team_thum .team_name {
    font-size: 14px;
    margin-bottom: 20px;
}

.team_thum .team_desc {
    color: #999999;
}

.team_main {
    width: 100%;
    float: left;
    margin-right: -490px;
    position: relative;
    min-height: 480px;
}

.team_sub {
    float: right;
    width: 400px;
    position: relative;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}

.team_main_inner {
    margin-right: 490px;
}


/*SNSリスト*/

.snslist {
    margin-top: 10px;
}

.snsline {
    border-bottom: 1px solid #f1f1f1;
    padding: 10px 0;
}

.snsheader {
    padding: 2px 0;
    background-color: #666666;
    color: #dcdcdc;
}

.snsline:nth-child(odd) {
    background-color: #f9f9f9;
}

.snsline:nth-child(even) {
    background-color: #ffffff;
}

.sns_type {
    width: 15%;
    float: left;
    padding-left: 15px;
}

.sns_name {
    width: 50%;
    float: left;
    padding-left: 15px;
}

.sns_account {
    width: 35%;
    float: left;
    padding-left: 15px;
}

.sns_type,
.sns_name,
.sns_account {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
}


/*inquiry*/

.inquiry_whole {
    background: #f1f1f1;
}

.inquiry_box1 div {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    overflow: hidden;
}

.inquiry_box1 .list_nml {
    margin-bottom: 20px;
    margin-left: 0;
    padding: 30px;
    /*background:#fdfbea;*/
    background: #f4f4f4;
    position: relative;
}

.inquiry_box1 .list_nml li {
    margin-bottom: 6px;
    list-style-type: none;
    text-indent: 0;
    font-size: 13px;
}

.inquiry_box1 .list_nml li:last-child {
    margin-bottom: 0;
}

.inquiry_box1 .list_nml:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-right: 20px solid #ffffff;
    border-top: 20px solid transparent;
    position: absolute;
    right: 0;
    bottom: 0;
}

.inquiry_box1 .list_nml:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    /*border-left:20px solid #e5e0bc;*/
    border-left: 20px solid #d9d9d9;
    border-bottom: 20px solid transparent;
    position: absolute;
    right: 0;
    bottom: 0;
}

.win .inquiry_h1,
.win .inquiry_h3_txt {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.inquiry_box1 {
    font-size: 12px;
    line-height: 1.4;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    padding: 0 100px 100px 100px;
}

.inquiry_prod,
.inquiry_pr {
    background: #e8e8e8;
}

.inquiry_biz {
    background: #d9d9d9;
}

.inquiry_h1 {
    padding: 60px 0 20px 0;
    font-size: 26px;
}

.inquiry_box3 {
    clear: both;
    background: #ffffff;
    padding: 0 35px;
    margin-bottom: 10px;
}

.inquiry_h3 {
    float: left;
    width: 300px;
    padding: 30px 0;
    font-size: 18px;
}

.inquiry_c3 {
    margin-left: 300px;
    margin: 98px 0 35px;
    min-height: 150px;
}

.inquiry_box3:last-child {
    margin-bottom: 0;
}

.inquiry_txt_contact {
    color: #666666;
}

.inquiry_link_contact {
    margin-bottom: 10px;
    font-size: 14px;
}

.inquiry_no {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    display: block;
    font-size: 50px;
    line-height: 60px;
    margin-bottom: 5px;
    color: #999999;
}

.inquiry_h3_txt {
    display: block;
    vertical-align: top;
    margin-top: 3px;
    padding-right: 60px;
}

.inquiry_h3_txt .br {
    display: block;
}

.inquiry_faq_titlebox {
    padding: 30px;
    padding-bottom: 0;
    background: #f4f4f4;
    margin-top: 30px;
}

.inquiry_faq_title {
    font-size: 18px;
    font-weight: normal;
    color: #2e2e2e;
}

.inquiry_faq_txt {
    font-size: 16px;
    margin-top: 3px;
    color: #3c3c3c;
}

.inquiry_reference {
    padding: 5px;
    background: #f4f4f4;
}

.inquiry_reference span {
    background: #e0e0e0;
    display: inline-block;
    padding: 3px 6px;
    margin-right: 6px;
}

.inquiry_link_contact span {
    font-weight: bold;
    font-size: 16px;
    display: inline-block;
    margin: 0 3px;
    padding-bottom: 1px;
    border-bottom: 1px solid #898989;
}

.inquiry_link_contact span.no_border {
    border-bottom: none;
    font-weight: normal;
}

.inquiry_faq_subbox {
    padding: 30px;
    background: #f4f4f4;
    margin-top: 30px;
}

.inquiry_h1 .prefix {
    margin-right: 10px;
}


/* インラインリスト */

.inline_list_nml{
    margin-right: -10px;
}
.inline_list_nml li {
    display: inline-block;
    width: 460px;
    margin-bottom: 8px;
    line-height: 1.4;
    margin-right: 10px;
    color: #ffffff;
}


/*--------------------20th--------------------*/

.cfm-20th {
    margin-top: 30px;
    text-align: center;
}

.cfm-20th img {
    width: 100px;
}

.topimg0 img {
    height: 300px;
    margin: 100px auto 0;
    display: block;
}


/*-------------------------------------------*/

.twenty-whole {
    text-align: center;
    padding: 175px 0;
    width: 800px;
    margin: 0 auto;
}

.twenty-whole .logo-twenty img {
    width: 520px;
    text-align: center;
}

.twenty-whole .lead {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 1px;
    color: #fff;
    margin-top: 80px;
}


/*-------------------------------------------*/

.history-whole {
    margin-top: 60px;
    color: #fff;
    text-align: left;
    position: relative;
    padding-top: 60px;
}

.history-whole:after {
    content: "";
    display: block;
    width: 4px;
    height: 100%;
    position: absolute;
    top: 60px;
    left: 160px;
    background: #fff;
    border-radius: 2px;
    z-index: -1;
}


/*-------------------------------------------*/

.history-whole .history-cont {
    position: relative;
    zoom: 1;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.6;
}

.history-whole .history-cont:after {
    content: "";
    display: block;
    clear: both;
}

.history-whole .history-cont:before {
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 5px;
    left: 154px;
    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: 140px;
    float: left;
    text-align: right;
    -webkit-animation-duration: .5s;
    -moz-animation-duration: .5s;
    -ms-animation-duration: .5s;
    animation-duration: .5s;
}

.history-whole .desc {
    width: calc(100% - 220px);
    float: right;
    box-sizing: border-box;
    position: relative;
}

.history-whole .desc:after {
    content: "";
    display: block;
    width: 51px;
    height: 1px;
    position: absolute;
    top: 11px;
    left: -51px;
    background: #fff;
}

.history-whole .month span {
    font-size: 18px;
    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 20px;
    border: 1px solid #FFE6CE;
    color: #AF2F1A;
    margin-bottom: 5px;
    display: inline-block;
    -webkit-animation-duration: .5s;
    -moz-animation-duration: .5s;
    -ms-animation-duration: .5s;
    animation-duration: .5s;
}

.history-whole .desc p:last-child {
    margin-bottom: 0;
}


/*-------------------------------------------*/

.twenty-menu {
    margin-top: 160px;
    list-style-type: none;
}

.twenty-menu:after {
    content: "";
    display: block;
    clear: both;
}

.twenty-menu li {
    display: block;
    width: 50%;
    float: right;
    box-sizing: border-box;
    text-align: center;
}

.twenty-menu li:first-child {
    float: left;
    width: calc(50% - 1px);
}

.twenty-menu li a {
    display: block;
    font-size: 18px;
    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: -6px;
    content: '';
    width: 0;
    height: 0;
    border: 12px solid transparent;
    border-top: 0 solid #E8BB2A;
    transition-duration: .4s;
}

.twenty-menu li.active a:after {
    border-top: 12px solid #E8BB2A;
}


/*-------------------------------------------*/

.greeting-whole {
    margin-top: 60px;
    padding-top: 60px;
    text-align: left;
    background: rgba(255, 250, 245, 0.9);
    border-radius: 1px;
    padding: 90px;
    border: 1px solid #FFE6CE;
    color: #672419;
}

.greeting-whole p {
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 1px;
    margin-bottom: 30px;
}

.greeting-whole p.break {
    margin-bottom: 60px;
}

.greeting-whole p:last-child {
    margin-bottom: 0;
}


/*.history-whole .desc {
	width: calc(100% - 220px);
	float: right;
	box-sizing: border-box;
	background: rgba(216, 118, 19, 0.89);
	border-radius: 4px;
	padding: 2px 20px;
	border: 1px solid #DC8615;
	position: relative;
}
.history-whole .desc:after {
	content: "";
	display: block;
	width: 51px;
	height: 1px;
	position: absolute;
	top: 11px;
	left: -51px;
	background: #fff;
}
.history-whole .month span {
	font-size: 18px;
	display: inline-block;
	padding: 0 2px;
}
.history-whole .month span.mm {
	display: inline-block;
	min-width: 28px;
}

.history-whole .desc p {
	margin-bottom: 5px;
	border-bottom: 1px dotted #AB4D0A;
	padding: 10px 0;
}
.history-whole .desc p:last-child {
	margin-bottom: 0;
	border-bottom: none;
}
.history-whole .desc p:fisrt-child {
	border-bottom: none;
}*/


/*--------------------rss button--------------------*/


/*.rss {
	display: inline-block;
	position: relative;
	cursor:pointer;
	width:36px;
	height:36px;
	line-height:36px;
	text-align:center;
	font-size: 20px;
	text-decoration:none;
	box-sizing:border-box;
	vertical-align: top;
	margin-left: 20px;
}
.rss:before {
	font-family:'fontello';
	content: '\e806';
	color:#454545;
	position:absolute;
	left: 0;
	top: 0;
	height: inherit;
	width: inherit;
	line-height: inherit;
}*/

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


/*--------------------history--------------------*/

.aboutus_history {
    background: #fff;
    padding: 60px 100px;
}

.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;
    zoom: 1;
    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: 150px;
    float: left;
}

.history-whole-nml .month-whole {
    width: calc(100% - 150px);
    float: right;
}

.history-whole-nml .month-inner {
    margin-bottom: 30px;
    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: 16px;
    display: inline-block;
    margin-right: 5px;
}

.history-whole-nml .month span {
    font-size: 16px;
    display: inline-block;
    margin-right: 5px;
}

.history-whole-nml .desc p {
    margin-bottom: 10px;
    color: #333;
}

.history-whole-nml .desc p:last-child {
    margin-bottom: 0;
}


/*--------------------160804--------------------*/

.pagetitle.with_menu {
    overflow: visible;
}

.pagetitle_menu {
    font-size: 13px;
    margin-left: 20px;
    display: inline-block;
    line-height: 30px;
    vertical-align: top;
}

.pagetitle_menu span,
.pagetitle_menu a {
    display: inline-block;
    position: relative;
    margin-right: 5px;
    box-sizing: border-box;
    padding: 0 15px;
}

.pagetitle_menu .now {
    border: 2px solid #000;
}

.pagetitle_menu .now:before {
    content: "";
    display: block;
    border: 6px solid transparent;
    border-top-color: #000;
    position: absolute;
    bottom: -12px;
    left: 50%;
    margin-left: -6px;
}

.pagetitle_menu .now:after {
    content: "";
    display: block;
    border: 4px solid transparent;
    border-top-color: #f1f1f1;
    position: absolute;
    bottom: -8px;
    left: 50%;
    margin-left: -4px;
}

.pagetitle_menu a:hover {
    color: #e98a1b;
    text-decoration: none;
}

.pagemenu.tag_menu {
    padding-right: 160px;
}

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

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

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

a.link_blog_sns {
    display: block;
    background: #3d3d3d;
    padding: 60px 100px;
    font-size: 20px;
    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;
}

.bubble01 {
    background: url(../images/bubble01.png) no-repeat center;
    position: absolute;
    top: 70px;
    left: 90px;
    width: 103px;
    height: 103px;
    animation-delay: 0.3s;
    -webkit-animation-delay: 0.3s;
    -moz-animation-delay: 0.3s;
}

.bubble02 {
    background: url(../images/bubble02.png) no-repeat center;
    position: absolute;
    bottom: 180px;
    right: 60px;
    width: 111px;
    height: 103px;
    animation-delay: 0.4s;
    -webkit-animation-delay: 0.4s;
    -moz-animation-delay: 0.4s;
}

.bubble03 {
    background: url(../images/bubble03.png) no-repeat center;
    position: absolute;
    top: 40px;
    right: 370px;
    width: 103px;
    height: 110px;
    animation-delay: 0.45s;
    -webkit-animation-delay: 0.45s;
    -moz-animation-delay: 0.45s;
}

.bubble04 {
    background: url(../images/bubble04.png) no-repeat center;
    position: absolute;
    bottom: 60px;
    left: 190px;
    width: 103px;
    height: 104px;
    animation-delay: 0.5s;
    -webkit-animation-delay: 0.5s;
    -moz-animation-delay: 0.5s;
}

.bubble05 {
    background: url(../images/bubble05.png) no-repeat center;
    position: absolute;
    bottom: 40px;
    right: 300px;
    width: 103px;
    height: 111px;
    animation-delay: 0.53s;
    -webkit-animation-delay: 0.53s;
    -moz-animation-delay: 0.53s;
}

.aboutus_info .list_nml {
    margin-left: 14px;
}


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

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

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

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

.blog-sns-list li {
    width: 238px;
    display: inline-block;
    margin-bottom: 20px;
    margin-right: 20px;
    font-size: 13px;
}

.blog-sns-list li a,
.blog-sns-list li div {
    position: relative;
    display: block;
    padding: 140px 15px 20px;
    border: 1px solid #dcdcdc;
    box-sizing: border-box;
    color: #000;
    background-color: #fff;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

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

.blog-sns-list li a span,
.blog-sns-list li div span {
    /*font-size: 12px;
	color: #666;
	margin-left: 20px;*/
    display: none;
}

.blog-sns-list li a span,
.blog-sns-list li div span {
    /*display: inline-block;
	width: 150px;
	font-size: 12px;
	color: #000;
	margin-left: 0;*/
    /* display: none; */
    font-size: 12px;
    color: #999;
    display: block;
    line-height: 14px;
}

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

.blog-sns-list li.blog a:before {
    background-image: url(../images/blog-sns-blog.jpg?1);
}

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

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

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

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

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

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

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

.blog-sns-list li.fb a:before {
    background-image: url(../images/blog-sns-facebook.jpg?1);
}

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

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

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

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

.blog-sns-list li.video a:before {
    background-image: url(../images/blog-sns-video.jpg?1);
}

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

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

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

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

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

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

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

.blog-sns-list li.tw a:before {
    background-image: url(../images/blog-sns-twitter.jpg?1);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.blog-sns-list li.other a:before,
.blog-sns-list li.other div:before {
    background-image: url(../images/blog-sns-other.jpg?1);
}

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

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

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

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

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

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

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

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

.pagetitle_sp_questionnaire {
    background: url(../images/questionnaire/pagetitle_questionnaire.svg) no-repeat center;
    width: 864px;
    height: 212px;
    margin: 0 auto 60px;
}

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

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

.q-wrap {
    border-top: 5px solid #000;
    box-sizing: border-box;
}

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

.q-03,
.q-05,
.q-13,
.q-14 {
    border-top: none;
}

.q-inner {
    float: left;
    width: 50%;
    box-sizing: border-box;
}

.q-inner-03-04,
.q-inner-13 {
    border-right: 5px solid #000;
}

.q-title {
    background-image: url(../images/questionnaire/questionnaire-title.png);
    background-repeat: no-repeat;
    width: 323px;
    height: 60px;
    background-size: auto 840px;
    margin: 45px 0 0 30px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.q-02 {
    background: url(../images/questionnaire/q02.png) no-repeat center bottom;
    background-size: 980px 427px;
    padding-bottom: 340px;
}

.q-03 {
    background: url(../images/questionnaire/q03.png) no-repeat center bottom;
    background-size: 490px 427px;
    padding-bottom: 430px;
}

.q-04 {
    background: url(../images/questionnaire/q04.png) no-repeat center bottom;
    background-size: 490px 320px;
    padding-bottom: 360px;
}

.q-05 {
    background: url(../images/questionnaire/q05.png) no-repeat center bottom;
    background-size: 490px 900px;
    padding-bottom: 900px;
}

.q-06 {
    background: url(../images/questionnaire/q06.png) no-repeat center bottom;
    background-size: 980px 417px;
    padding-bottom: 320px;
}

.q-07 {
    background: url(../images/questionnaire/q07.png) no-repeat center bottom;
    background-size: 980px 417px;
    padding-bottom: 340px;
}

.q-08 {
    background: url(../images/questionnaire/q08.png) no-repeat center bottom;
    background-size: 980px 390px;
    padding-bottom: 300px;
}

.q-09 {
    background: url(../images/questionnaire/q09.png) no-repeat center bottom;
    background-size: 980px 390px;
    padding-bottom: 300px;
}

.q-10 {
    background: url(../images/questionnaire/q10.png) no-repeat center bottom;
    background-size: 980px 390px;
    padding-bottom: 300px;
}

.q-11 {
    background: url(../images/questionnaire/q11.png) no-repeat center bottom;
    background-size: 980px 380px;
    padding-bottom: 310px;
}

.q-12 {
    background: url(../images/questionnaire/q12.png) no-repeat center bottom;
    background-size: 980px 380px;
    padding-bottom: 310px;
}

.q-13 {
    background: url(../images/questionnaire/q13.png) no-repeat center bottom;
    background-size: 490px 390px;
    padding-bottom: 430px;
}

.q-14 {
    background: url(../images/questionnaire/q14.png) no-repeat center bottom;
    background-size: 490px 390px;
    padding-bottom: 430px;
}

.q-01 {
    background: url(../images/questionnaire/q01.png) no-repeat center bottom;
    background-size: 980px 377px;
    padding-bottom: 270px;
}


/*--------------------copyright-piapro--------------------*/

.copy-piapro {
    background: url(../images/logo_piapro.svg) no-repeat right center;
    padding-right: 50px;
    background-size: 45px auto;
}


/*--------------------pager--------------------*/
.pager {
    margin-top: 75px;
}

.pager ul {
    display: flex;
    justify-content: center;
    list-style: none;
}

.pager .pager_back a,
.pager .pager_back span,
.pager .pager_next a,
.pager .pager_next span {
    position: relative;
    display: block;
    width: 45px;
    height: 45px;
    line-height: 45px;
    box-sizing: border-box;
    text-align: center;
    font-size: 20px;
    border-radius: 2px;
    color: #000;
    text-decoration: none;
    border: .99px solid #000;
}

.pager .pager_back a:after,
.pager .pager_back span:after {
    font-family: 'Material Icons';
    content: '\e408';
}

.pager .pager_next a:after,
.pager .pager_next span:after {
    font-family: 'Material Icons';
    content: '\e409';
}

.pager .pager_disable span {
    color: #ccc;
    text-decoration: none;
    border: .99px solid #ccc;
}

.pager .pager_info {
    min-width: 100px;
    margin: 0 25px;
    font-size: 16px;
    line-height: 45px;
    text-align: center;
}

.pager .pager_info_slash {
    padding: 0 5px;
}