@media screen and (max-width: 768px) { /*------------------------------------------------------------------------------------------   Responsive / SP update:2016/12/19   ------------------------------------------------------------------------------------------ */
  body { margin: 0; }
  * { font-size: 16px; -webkit-text-size-adjust: 100%; }
  #contents_area { padding-top: 0; position: static; }
  #contents_area .section_inner { width: 100%; margin: 0 auto; }
  #contents_area.fixed { position: fixed; }
  .pc { display: none !important; }
  .sp-left { text-align: left; }
  .sp-center { text-align: center; }
  .sp-right { text-align: right; }
  /* ------------------------------------------------------------  #commonHeader  ------------------------------------------------------------ */
  #commonHeader { position: relative; top: 0; }
  #commonHeader { position: absolute; top: 51px; z-index: 10; width: 100%; display: table; height: 44px; background-color: #fff; padding: 0; margin: 0; text-align: left; }
  #commonHeader h1 { display: table-cell; float: none; vertical-align: middle; }
  #commonHeader h1 a { display: block; width: 250px; height: 40px; -webkit-background-size: contain; background-size: contain; }
  #commonHeader p { display: none; }
  .menu_btn { display: block; float: right; }
  .menu_btn img { height: 44px; vertical-align: bottom; }
  .gNavi { display: none; position: absolute; left: 0; top: 95px; width: 100%; border-top: 1px solid #fff; z-index: 9; }
  .gNavi.nav-show { display: block; }
  .gNavi ul { width: 100%; background-color: #fff; }
  .gNavi ul li { float: none; line-height: 1.3; border-bottom: 1px solid #fff; text-align: left; }
  .gNavi ul li a { display: block; width: auto !important; height: auto; text-decoration: none; color: #000; font-size: 13px; line-height: 1.3; background: #f0f0f0 url(/ACCESS/modulox/common/image_common/sp_arw01.png) no-repeat scroll right center/32px 11px !important; padding: 11px 20px; text-indent: 0; }
  .gNavi ul li a:hover { background: #f0f0f0 url(/ACCESS/modulox/common/image_common/sp_arw01.png) no-repeat scroll right center/32px 11px; }
  .gNavi img { vertical-align: bottom; width: 100%; }
  .is-spmenu_active { display: block; position: fixed; top: 0px; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); z-index: 7; }
  #commonHeader p a img, #pagetop a img { filter: alpha(opacity=100); -moz-opacity: 1.0; opacity: 1.0; }
  #commonHeader p a:hover img, #pagetop a:hover img { filter: alpha(opacity=70); -moz-opacity: 0.7; opacity: 0.7; }
  /* ------------------------------------------------------------  #section_header  ------------------------------------------------------------ */
  #section_header { width: 100%; overflow: hidden; margin: 0 auto 0px auto; }
  #section_header .section_inner { text-align: left; overflow: hidden; border-bottom: solid 2px #f2f2f2; padding: 20px 0 0 0; }
  #section_header .section_inner a { display: inline-block; }
  #section_header .section_inner .col_left { display: block; text-align: center; }
  #section_header .section_inner .col_right { margin-top: 15px; }
  #section_header .section_inner .col_right nav ul { display: table; width: 100%; }
  #section_header .section_inner .col_right nav li { display: table-cell; padding: 7px 3px; text-align: center; }
  #section_header .section_inner .col_right nav li a { display: block; padding: 7px 0px 7px 0px; }
  #section_header .section_inner .col_right nav li a img { width: auto; height: 7px; height: 2.1875vw; }
  /* ------------------------------------------------------------  #section_main  ------------------------------------------------------------ */
  #section_main { width: 100%; overflow: hidden; margin: 40px auto 0px auto; background-image: url(../images/img_mainvisual_sp.jpg); background-position: center bottom; background-repeat: no-repeat; background-size: cover; height: 380px; display: table; position: relative; }
  #section_main .section_inner { width: 100vw; text-align: center; display: table-cell; vertical-align: middle; height: 380px; }
  #section_main .section_inner h1 { margin: 32px auto 0px auto; }
  #section_main .section_inner p { width: 80%; margin-left: auto; margin-right: auto; text-align: center; }
  #section_main .section_inner p img { max-width: 308px; width: 100%; height: auto; }
  #section_main .section_inner nav { display: none; }
  .banner .btn_inquiry, .banner_top .btn_inquiry { padding: 10px 10px 0; }
  .banner .btn_inquiry a, .banner_top .btn_inquiry a { border: solid 1px #ccc; display: block; }
  .banner .btn_inquiry img, .banner_top .btn_inquiry img { width: 100%; height: auto; }
  /* ------------------------------------------------------------  #section_concept  ------------------------------------------------------------ */
  #section_concept { width: 100%; overflow: hidden; margin: 0px auto 0px auto; padding-top: 50px; }
  #section_concept .section_inner { width: auto; margin: 0 auto; padding: 0 20px; text-align: center; max-width: 562px; }
  #section_concept .section_inner h3 { margin: 50px auto 40px auto; padding: 0; }
  #section_concept .section_inner h3 img { width: 100%; max-width: 562px; height: auto; }
  #section_concept .section_inner .copy p { text-align: left; font-size: 12px; line-height: 24px; margin: 1em 0; }
  #section_concept .section_inner .banner { margin: 50px auto; }
  #section_concept .section_inner .banner li { margin: 10px 0; display: table; width: 100%; }
  #section_concept .section_inner .banner li a { display: table-cell; vertical-align: middle; width: 100vw; height: 53.3vw; position: relative; }
  #section_concept .section_inner .banner li a:after { content: ""; position: absolute; bottom: 10%; left: 50%; margin-left: -12px; background-image: url(../images/icon_arrow.png); background-position: center top; background-repeat: no-repeat; width: 24px; height: 24px; }
  #section_concept .section_inner .banner li.brandpromise { background-image: url(../images/bg_brand.jpg); background-position: center top; background-repeat: no-repeat; background-size: cover; height: 53.3vw; }
  #section_concept .section_inner .banner li.philosophy { background-image: url(../images/bg_philosophy.jpg); background-position: center top; background-repeat: no-repeat; background-size: cover; height: 53.3vw; position: relative; }
  #section_concept .section_inner .banner li.philosophy .caution { color: #fff; font-size: 10px; position: absolute; bottom: 8px; right: 3px; }
  #section_concept .section_inner .banner li.uservoice { background-image: url(../images/bg_uservoice.jpg); background-position: center top; background-repeat: no-repeat; background-size: cover; height: 53.3vw; }
  #section_concept .section_inner .banner li.modulo { background-image: url(../images/bg_modulo.jpg); background-repeat: no-repeat; height: 53.3vw; background-position: center bottom; background-size: auto 115%; position: relative; }
  #section_concept .section_inner .banner li.modulo .caution { color: #000; font-size: 10px;
	font-family: var(--font-light);
	position: absolute; bottom: 8px; right: 3px; }
  #section_concept .section_inner .banner li.modulo a:after { content: ""; position: absolute; bottom: 0; left: 50%; margin-left: -26px; background-image: url(../images/icon_arrow_shadow.png); background-position: center top; background-repeat: no-repeat; width: 52px; height: 52px; }
  /* ------------------------------------------------------------  #section_lineup  ------------------------------------------------------------ */
  #section_lineup { width: 100%; overflow: hidden; margin: 0px auto 0px auto; margin-top: -50px; padding-top: 50px; }
  #section_lineup .section_inner { width: auto; margin: 0 auto; text-align: center; padding: 0 20px; }
  #section_lineup .section_inner h2 { margin: 0 auto 50px auto; }
  #section_lineup .section_inner h2.sp-h2_re { margin: 0 auto 30px auto; }
  #section_lineup .section_inner li { overflow: hidden; margin: 0 0 30px 0; }
  #section_lineup .section_inner li .col_left { text-align: center; }
  #section_lineup .section_inner li .col_left img { width: 80%; height: auto; }
  #section_lineup .section_inner li .col_left p.photo-caption { display: block; font-size: 11px !important; text-align: left; margin-top: 10px; line-height: 1.2em !important; margin: 20px 0 30px 0 !important; }
  #section_lineup .section_inner li .col_left p.red-caution { color: #cc0000; border: 1px solid #cc0000; font-size: 14px !important; text-align: left; margin: 0 !important; padding: 8px 10px; display: inline-block; }
  #section_lineup .section_inner li .col_right { text-align: left; margin: 30px 0; }
  #section_lineup .section_inner li .col_bottom p.red-caution { color: #cc0000; border: 1px solid #cc0000; font-size: 14px !important; text-align: left; margin: 0 0 30px !important; padding: 8px 10px; display: inline-block; }
  #section_lineup .section_inner li h3 { padding: 0; margin: 0 0 30px 0px; }
  #section_lineup .section_inner li h3 img { height: 18px; width: auto; }
  #section_lineup .section_inner li p { padding: 0; margin: 0 0 30px 0px; font-size: 13px; line-height: 1.5; }
  #section_lineup .section_inner li p br { display: block !important; }
  #section_lineup .section_inner li .btn_area { padding: 0; margin: 0 0 30px 0px; text-align: center; }
  #section_lineup .section_inner li .btn_area a { display: block; margin: 0 0 8px 0px; }
  #section_lineup .section_inner li .btn_area a img { max-width: 274px; width: 100%; height: auto; }
  #section_lineup .section_inner .caption { margin-top: -30px; text-align: center; }
  #section_lineup .section_inner .caption p { margin: 0; font-size: 12px; line-height: 1.5; }
  /* ------------------------------------------------------------  #section_modulo  ------------------------------------------------------------ */
  #section_modulo { width: 100%; overflow: hidden; margin: 50px auto 50px auto; }
  #section_modulo .section_inner { text-align: center; padding: 0 20px; }
  #section_modulo .section_inner a { display: block; padding: 20px 0; border-top: solid 1px #000; border-bottom: solid 1px #000; }
  #section_modulo .section_inner a p { color: #000; line-height: 19px; font-size: 13px; margin-top: 10px; }
  #section_modulo .section_inner a p.l { line-height: 24px; font-size: 15px; }
  #section_modulo .section_inner a p img { display: inline-block; vertical-align: bottom; }
  #section_modulo .section_inner .caution { margin-top: 10px; font-size: 12px; line-height: 1.6; text-align: left; }
  #section_caution { width: 100%; overflow: hidden; margin: 0 auto 40px auto; }
  #section_caution .section_inner { text-align: center; }
  #section_caution .section_inner .caution { font-size: 11px;
	font-family: var(--font-light);
	text-align: left; }
  #section_caution .section_inner .caution li { line-height: 1.5em; padding-left: 1em; text-indent: -1em; }
  /* ------------------------------------------------------------  #section_brandpromise_sp  ------------------------------------------------------------ */
  #section_brandpromise_sp { width: 100%; overflow: hidden; margin: 30px auto 20px auto; }
  #section_brandpromise_sp .section_inner { position: relative; }
  #section_brandpromise_sp .section_inner h2 { text-align: center; margin: 50px auto 50px auto; }
  #section_brandpromise_sp .section_inner h3 { margin: 0 0 25px 0; padding: 0; }
  #section_brandpromise_sp .section_inner h4 { margin: 0 0 25px 0; padding: 0; }
  #section_brandpromise_sp .section_inner h4 img { max-width: 280px; }
  #section_brandpromise_sp .section_inner .text_inner { padding: 20px; }
  #section_brandpromise_sp .section_inner p { font-size: 13px; line-height: 1.5; }
  #section_brandpromise_sp .section_inner .img { display: block; line-height: 0; margin-bottom: 10px; }
  #section_brandpromise_sp .section_inner .performance { position: relative; }
  #section_brandpromise_sp .section_inner .design { position: relative; }
  #section_brandpromise_sp .section_inner .comfort { position: relative; }
  #section_brandpromise_sp .section_inner .photocaution { font-size: 10px;
	font-family: var(--font-light);
	padding: 5px 20px 20px 20px; }
  /* ------------------------------------------------------------  #section_philosophy_sp  ------------------------------------------------------------ */
  #section_philosophy_sp { width: 100%; overflow: hidden; margin: 30px auto 20px auto; }
  #section_philosophy_sp .section_inner { position: relative; }
  #section_philosophy_sp .section_inner h2 { text-align: center; margin: 50px auto 50px auto; }
  #section_philosophy_sp .section_inner h3 { margin: 0; padding: 0; }
  #section_philosophy_sp .section_inner .text_inner { padding: 20px; }
  #section_philosophy_sp .section_inner h5 { margin-bottom: 20px; }
  #section_philosophy_sp .section_inner h5 img { width: 100%; height: auto; max-width: 280px; }
  #section_philosophy_sp .section_inner p { font-size: 13px; line-height: 1.5; }
  #section_philosophy_sp .section_inner p + p { margin-top: 0.5em; }
  #section_philosophy_sp .section_inner p.position { font-size: 12px; line-height: 1.3; }
  #section_philosophy_sp .section_inner p.name { font-size: 15px; line-height: 1.3; }
  #section_philosophy_sp .section_inner .bar { margin: 25px 0; }
  #section_philosophy_sp .section_inner .img { display: block; line-height: 0; margin-bottom: 10px; }
  #section_philosophy_sp .section_inner .history { position: relative; }
  /* ------------------------------------------------------------  #section_uservoice  ------------------------------------------------------------ */
  #section_uservoice { width: 100%; overflow: hidden; margin: 30px auto 20px auto; }
  #section_uservoice .section_inner { position: relative; }
  #section_uservoice .section_inner h2 { text-align: center; margin: 50px auto 50px auto; }
  #section_uservoice .section_inner h3 { margin: 0; padding: 0; }
  #section_uservoice .section_inner .text_inner { padding: 20px; }
  #section_uservoice .section_inner .main { position: relative; }
  #section_uservoice .section_inner .main .slider { overflow: hidden; }
  #section_uservoice .section_inner .main .slider img { width: 100%; height: auto; }
  #section_uservoice .section_inner .main .catchcopy { position: absolute; z-index: 2; left: 50%; margin-left: -90px; top: 80px; top: 15vw; }
  #section_uservoice .section_inner .main .catchcopy img { width: 180px; height: auto; }
  #section_uservoice .section_inner .main .movie { position: absolute; z-index: 6; left: 50%; margin-left: -22.5px; top: 150px; top: 32vw; }
  #section_uservoice .section_inner .main .movie img { width: 51px; height: auto; }
  #section_uservoice .section_inner .main .movie a { display: block; }
  #section_uservoice .section_inner .main .message { text-align: center; padding-top: 15px; padding-bottom: 35px; line-height: 1.8; font-size: 14px; }
  #section_uservoice .section_inner .main .message br { display: block !important; }
  /* ------------------------------------------------------------  #section_thumb  ------------------------------------------------------------ */
  #section_thumb { display: none; }
  /* ------------------------------------------------------------  #section_voice  ------------------------------------------------------------ */
  #section_voice { width: 100%; overflow: hidden; margin: 0 auto 50px auto; }
  #section_voice .section_inner { position: relative; }
  #section_voice ul.voice_inner { position: relative; }
  #section_voice ul.voice_inner li { line-height: 0; font-size: 0; position: relative; }
  #section_voice ul.voice_inner li img { width: 100%; height: auto; }
  #section_voice ul.voice_inner li.ov { line-height: 1.8; font-size: 14px; padding: 0 25px 20px 25px; background-color: #e6e6e6; }
  #section_voice ul.voice_inner li.mb20 { margin-bottom: 20px; }
  #section_voice ul.voice_inner li .mov { width: 51px; height: 51px; z-index: 6; position: absolute; top: 50%; left: 50%; margin-left: -25.5px; margin-top: -25.5px; }
  /* ------------------------------------------------------------  #section_stepwgn  ------------------------------------------------------------ */
  #section_stepwgn { width: 100%; overflow: hidden; margin: 40px auto 40px auto; }
  #section_stepwgn .section_inner { text-align: center; position: relative; padding: 0 20px; }
  #section_stepwgn .section_inner a { display: block; margin: 20px 0; }
  #section_stepwgn .section_inner .btn01 { max-width: 100%; height: auto; }
  #section_stepwgn .section_inner .btn02 { max-width: 100%; height: auto; }
  #section_stepwgn .section_inner .btn03 { max-width: 100%; height: auto; }
  /* ------------------------------------------------------------  .banner_anyca  ------------------------------------------------------------ */
  .banner_anyca { margin-bottom: 50px; }
  .banner_anyca .banner_anyca_inner { width: auto; display: block; table-layout: fixed; background-color: rgba(255, 255, 255, 0.8); margin: 0 auto; }
  .banner_anyca .right { width: auto; padding: 15px 10px; text-align: left; border-bottom: 1px solid #ccc; border-left: 1px solid #ccc; border-right: 1px solid #ccc; }
  .banner_anyca .img { line-height: 0; }
  .banner_anyca .img img { max-width: 100%; }
  .banner_anyca .text { width: 90%; text-align: left; display: inline-block; vertical-align: middle; }
  .banner_anyca .text .title { font-size: 14px;
	font-family: var(--font-bold);
	line-height: 1.5; color: #000; width: auto !important; text-align: left !important; margin: 0 0 8px !important; }
  .banner_anyca .text .date { font-size: 12px; line-height: 1.2; color: #000; width: auto !important; text-align: left !important; }
  .banner_anyca .icon { width: 20px; height: 20px; display: inline-block; line-height: 1em; background-image: url(../common/image_common/parts_ico_btn_detail_arrow.png); background-repeat: no-repeat; background-position: center top; background-size: 20px 20px; position: relative; vertical-align: middle; }
  /* ------------------------------------------------------------  #section_event  ------------------------------------------------------------ */
  #section_event { width: auto; padding: 50px 20px 0; margin: 0 0 40px; margin-top: -50px;}
  #section_event.moduloSection { height: auto !important; }
  #section_event.moduloSection .inner { padding: 0 35px; }
  #section_event h2 { text-align: center; margin: 0px auto 50px auto; }
  #section_event ul { letter-spacing: -10px; width: 100%; margin-top: -11px; margin-bottom: 0; }
  #section_event ul:last-child { margin-top: -1px; }
  #section_event ul:last-child li:first-child { margin: 0; }
  #section_event ul li { letter-spacing: normal; vertical-align: top; display: block; width: auto; max-width: 100%; clear: both; overflow: hidden; margin: 10px 0; padding: 10px 0 0; border-top: solid 1px #e9e9e9; }
  #section_event ul li:last-child { margin: 0; border-bottom: solid 1px #e9e9e9; padding-bottom: 10px; }
  #section_event ul li a { text-decoration: none; }
  #section_event ul li img { max-width: 100%; height: auto; }
  #section_event ul li .pic { line-height: 0; display: inline-block; width: 100%; padding-bottom: 10px; }
  #section_event ul li .title {
	font-family: var(--font-bold);
	font-size: 14px; color: #000; line-height: 22px; height: auto; margin: 0 0 8px; }
  #section_event ul li .title span.small { display: block; }
  #section_event ul li .desc { font-size: 12px; color: #000; line-height: 21px; height: auto; margin: 0 0 8px; }
  #section_event ul li .plans { font-size: 11px;
	font-family: var(--font-light);
	color: #000; line-height: 19px; height: auto; margin: 0 0 8px; }
  #section_event ul li .date { color: #000; font-size: 13px; height: auto; margin: 0 0 8px; }
  #section_event ul li .link { line-height: 22px; }
  #section_event ul li .small { font-size: 12px;
	font-family: var(--font-bold);
	color: #000; }
  a.car_common_link { font-size: 14px; }
  a.car_common_link:after { content: ''; width: 20px; height: 20px; display: inline-block; line-height: 1em; background-image: url(../common/image_common/parts_ico_btn_detail_arrow.png); background-repeat: no-repeat; background-position: center top; background-size: 20px 20px; position: relative; left: 5px; vertical-align: middle; }
  /* ------------------------------------------------------------  .sideMenu  ------------------------------------------------------------ */
  .sideMenuOpen { position: absolute; right: 0; bottom: 0; line-height: 0; z-index: 20; cursor: pointer; }
  .sideMenuOpen .off { position: absolute; right: 0; bottom: 0; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; -moz-transition: opacity 0.3s linear; -o-transition: opacity 0.3s linear; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
  .sideMenuOpen .on { position: absolute; right: 0; bottom: 0; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; -moz-transition: opacity 0.3s linear; -o-transition: opacity 0.3s linear; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
  .sideMenuOpen:hover .off { filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; -moz-transition: opacity 0.3s linear; -o-transition: opacity 0.3s linear; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
  .sideMenuOpen:hover .on { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; -moz-transition: opacity 0.3s linear; -o-transition: opacity 0.3s linear; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
  .sideNewsWrap { width: 100%; background-color: rgba(0, 0, 0, 0.6); z-index: 0; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; -moz-transition: all 0.3s linear; -o-transition: all 0.3s linear; -webkit-transition: all 0.3s linear; transition: all 0.3s linear; }
  .sideNewsWrap.openWindow { z-index: 15; filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false); opacity: 1; -moz-transition: opacity 0.3s linear; -o-transition: opacity 0.3s linear; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
  #sideNews { width: auto; height: 0; max-width: 100%; position: relative; top: 0; right: 0; background-color: #ededed; box-sizing: border-box; padding: 0 15px 0 35px; z-index: 1; overflow: hidden; -moz-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }
  #sideNews.openWindow { padding: 36px 15px 36px 35px; height: 328px !important; top: 0; }
  #sideNews .sideNewsInner { max-width: 100%; height: 256px; padding: 0 15px 0 0; position: relative; overflow: auto; }
  #sideNews .sideMenuClose { width: 26px; height: 26px; position: absolute; top: 0; left: 0; display: none; }
  #sideNews .title { text-align: center; margin: 0 0 20px; }
  #sideNews .article_item { margin: 0 0 20px; }
  #sideNews .article_item img { max-width: 100%; height: auto; }
  #sideNews .article_info { margin: 0 0 3px; }
  #sideNews .article_date { font-size: 13px;
	font-family: var(--font-bold);
	color: #a0a0a0; padding: 0 12px 0 0; letter-spacing: 1px; }
  #sideNews .article_title { font-size: 15px;
	font-family: var(--font-bold); }
  #sideNews .desc { font-size: 12px; line-height: 20px; margin: 10px 0 20px; }
  #sideNews .desc br { display: none; }
  .openWindow #sideNews { right: 0; -moz-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }
  /* ------------------------------------------------------------  jScrollPane  ------------------------------------------------------------ */
  .jspScrollable, .jspScrollable * { outline: none; }
  .jspContainer, .jspPane, .jspScrollable { width: auto !important; }
  .jspVerticalBar { width: 2px; }
  .jspVerticalBar .jspTrack { background: #a0a0a0; }
  .jspVerticalBar .jspDrag { background: #585858; } }
