@charset "UTF-8";
/*--------------------
*reset
--------------------*/
* {
  margin: 0px;
  padding: 0px;
  border: 0px; }

html, body {
  min-height: 100%;
  font-family: Verdana,"ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",sans-serif;
  font-size: 10px;
  color: #999;
  background-color: #fff; }

li {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0px; }

a {
  text-decoration: none;
  color: #999; }

img {
  display: block; }

/*--------------------
*clearfix
--------------------*/
.cf {
  zoom: 1;
  /*IE fix*/ }

.cf:after {
  content: "";
  display: block;
  clear: both;
  height: 0; }

.cf + * {
  clear: both;
  /*IE fix*/ }

/*--------------------
*structure
--------------------*/
#wrapper {
  max-width: 1170px;
  margin: 0 auto; }

/*--------------------
*common
--------------------*/
.btn {
  cursor: pointer; }

.desable {
  cursor: auto; }

.red {
  color: #c71444 !important; }

.bred {
  background-color: #c71444 !important; }

/*--------------------
#header
--------------------*/
#header {
  position: relative;
  z-index: 1; }

#header h1 {
  width: 100%;
  height: 86px; }

#header h1 img {
  position: absolute;
  left: 22px; }

#header h2 {
  position: absolute;
  top: 0;
  right: 22px;
  height: 100%; }

#header h2 img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0; }

/*--------------------
#contents
--------------------*/
#contents {
  position: relative;
  overflow: hidden; }

#start {
  position: absolute;
  top: 0; }

#exterior,
#interior {
  position: relative;
  background-color: #fff; }

/*.mv*/
.ex.mv, #start {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  width: 73.24786%;
  margin-left: 10.25641%; }

.in.mv {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  width: 100%; }

.ex.ps {
  position: absolute;
  bottom: 0;
  right: 3.39506%;
  background-color: #fff\9;
  /*IE fix*/
  width: 93.20988%; }

.ex.at {
  position: absolute;
  top: 59.21788%;
  right: 31.48148%;
  background-color: #fff\9;
  /*IE fix*/
  width: 37.03704%; }

.in.ps {
  position: absolute;
  bottom: 16%;
  right: 2.17949%;
  width: 12.90598%; }

.in.at {
  position: absolute;
  top: 46.55493%;
  right: 6.06838%;
  background-color: #fff\9;
  /*IE fix*/
  width: 5.12821%; }

.i360 {
  position: relative;
  top: -40px;
  left: 0;
  right: 0;
  height: 0;
  text-align: center; }

.i360 img {
  min-width: 240px;
  width: 29.74359%;
  margin: 0 auto; }

.in.cntl {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 17.26496%; }

.in.cntl img {
  width: 100%; }

/*.list*/
.inner {
  position: relative;
  width: 100%; }
  .inner:before {
    content: "";
    display: block;
    padding-top: 47.94872%; }

.ex.inner {
  background: url(../IMG/bg.png) no-repeat center top;
  background-size: contain; }

.ex.control {
  position: absolute;
  top: 4.27807%;
  bottom: 4.27807%;
  right: 10px;
  width: 13.84615%; }

.ex.list {
  width: 58.02469%;
  margin: 0 auto;
  font-size: 0; }

.ex.list li {
  position: relative;
  display: inline-block;
  width: 45.94595%;
  margin-right: 2.7027%;
  margin-bottom: 6.51769%; }

.ex.list li:first-child + li,
.ex.list li:first-child + li + li + li,
.ex.list li:first-child + li + li + li + li + li,
.ex.list li:first-child + li + li + li + li + li + li + li,
.ex.list li:first-child + li + li + li + li + li + li + li + li + li {
  top: 17px; }

.ex.list li.selected {
  cursor: auto;
  background: url("../IMG/icn_exls.png") no-repeat left top;
  background-size: contain; }

.ex.list li img {
  width: 100%; }

.in.list {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 17.26496%;
  background: url("../IMG/bg_inm.png") repeat left top; }

.in.list > img {
  margin: 15% auto 12%;
  width: 64.35644%; }

.in.list li {
  width: 37.62376%;
  margin: 2% auto; }

.in.list li.selected {
  cursor: auto;
  background: url("../IMG/icn_inls.png") no-repeat left top;
  background-size: contain; }

.in.list li img {
  width: 100%; }

/*menu*/
.menu {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 352px;
  background-color: #ccc; }

.menu .mk {
  position: relative;
  height: 12.47772%;
  border-bottom: 2px solid #fff; }

.menu .mk > img:first-child {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto; }

.menu .mk > .close.btn {
  position: absolute;
  top: 0;
  right: 0; }

.menu .dl {
  position: relative;
  height: 50px;
  background-color: #ebebeb; }

.menu .dl > img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50px;
  margin: auto; }

.menu .op {
  overflow: auto;
  height: 87%; }

.menu .op > * + * {
  border-top: 2px solid #fff; }

.menu .ttl {
  width: 100%;
  height: 58px; }

.menu .ttl td {
  vertical-align: middle; }

.menu .ttl td:first-child {
  width: 25%; }

.menu .ttl td:first-child + td + td {
  width: 30px; }

.menu .ttl td:first-child + td + td + td {
  width: 20px; }

.menu .ttl .thm {
  width: 88.63636%; }

.menu .ttl .nm {
  height: 58px; }

.menu .ttl .arr {
  width: 14px; }

.menu .ttl .icn {
  width: 24px; }

.in.menu .grd .ttl td:first-child + td + td {
  width: 46px; }

.in.menu .grd .ttl .icn {
  width: 40px; }

.menu .chk {
  position: relative;
  height: 58px; }

.menu .chk .thm {
  width: 22.15909%; }

.menu .chk .nm {
  position: absolute;
  top: 0;
  left: 25%;
  height: 58px; }

.menu .chk .icn {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 18px;
  width: 25px;
  margin: auto 0; }

.menu .chk .icn + .icn {
  visibility: hidden; }

.menu .chk.visible .icn + .icn {
  visibility: visible; }

.menu .chk .thm,
.menu .chk .nm,
.menu .chk .icn:first-child {
  background-color: #ccc\9;
  /*IE fix*/ }

.menu .chk.desable {
  opacity: 0.5;
  filter: alpha(opacity=50) \9;
  /*IE fix*/
  -ms-filter: "alpha(opacity=50)" \9;
  /*IE fix*/ }

.menu .itm {
  margin: 16px 10px 14px 18px; }

.menu .itm .name {
  margin: 0 10px 2px 0;
  font-size: 12px;
  line-height: 16px;
  color: #4c4c4c; }

.menu .itm li {
  position: relative;
  display: inline-block;
  margin-right: 5px;
  line-height: 34px; }

.menu .itm li img {
  width: 34px; }

.menu .itm li.selected {
  cursor: auto;
  background: url("../IMG/icn_exms.png") no-repeat left top;
  background-size: contain; }

.menu .itm li.desable img {
  opacity: 0.3;
  background-color: #ccc\9;
  /*IE fix*/
  filter: alpha(opacity=30) \9;
  /*IE fix*/
  -ms-filter: "alpha(opacity=30)" \9;
  /*IE fix*/
  zoom: 1\9;
  /*IE fix*/ }

.menu .itm li.desable:after {
  content: " ";
  position: absolute;
  display: block;
  top: 0;
  width: 34px;
  height: 34px;
  background: url("../IMG/icn_exds.png") no-repeat left top;
  background-size: contain; }

.in.menu .grd .itm li {
  margin: 4px 10px 0 0; }

.in.menu .grd .itm li.selected {
  background: url("../IMG/icn_inls.png") no-repeat left top;
  background-size: contain; }

.in.menu .grd .itm li img {
  width: 60px; }

/*.sub, .cap*/
.sub {
  position: relative;
  padding: 15px 27px 10px;
  overflow: hidden; }

.sub .bc {
  float: right;
  width: calc(100% - 260px);
  font-size: 15px;
  line-height: 20px;
  text-align: right;
  color: #222; }

.sub .sw {
  position: relative;
  float: left;
  width: 120px;
  height: 36px;
  margin-right: 10px;
  background-color: #d0d0d0; }

.sub .sw img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto; }

.cap {
  min-height: 120px;
  padding: 12px 0 50px;
  margin: 0 27px;
  line-height: 14px;
  border-top: 1px solid #e4e4e4; }

/*--------------------
.spin_box
--------------------*/
ul.spin_images img {
  display: none; }

ul.spin_images img.selected,
ul.spin_images img.visible {
  display: block; }

.in.mv ul.spin_images img {
  top: -22.5%;
  /*trimming*/ }

#start div.spin_progress .spin_bar {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 120px;
  height: 36px;
  margin: auto;
  background-color: #fff; }

.sub div.spin_progress {
  width: 100%;
  height: 100%; }

.sub div.spin_progress .spin_bar {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #fff; }

div.spin_progress .spin_bar > div {
  width: 0%;
  height: 100%;
  background-color: #ccc; }

#start .spin_bar {
  opacity: 0.9; }

/*--------------------
#link
--------------------*/
#link {
  position: relative;
  padding: 20px 0;
  margin: 0 27px;
  background: url("../IMG/bg_link.jpg") no-repeat center top;
  font-size: 0;
  text-align: center; }

#link li {
  position: relative;
  display: inline-block;
  width: 24.327%;
  height: 40px;
  background-color: #999; }

#link li + li {
  margin-left: 0.896%; }

#link li a {
  display: block;
  width: 100%;
  height: 100%; }

#link li img:first-child {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0 auto 20px; }

#link li img + img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 15px;
  margin: auto; }

#facebook {
  position: absolute;
  top: -42px;
  right: 28px; }

#twitter {
  position: absolute;
  top: -42px;
  right: 0; }

/*--------------------
#footer
--------------------*/
#footer {
  padding: 20px 22px;
  border-top: 1px solid #e4e4e4; }

#footer .pc {
  position: relative;
  width: 100%;
  text-align: right; }

#footer .pc li {
  display: inline-block; }

#footer .pc li:first-child {
  position: absolute;
  display: block;
  left: 0; }

#footer .pc li:first-child a {
  color: #c71444; }

#footer .pc li + li + li:before {
  content: "｜";
  display: inline-block;
  padding: 0 0.5em; }

.contents-head {
  min-width: 480px;
  width: 59.65812%;
  margin: 40px auto 30px;
  text-align: center; }
  .contents-head img {
    max-width: 100%;
    height: auto; }

@media print, screen and (max-width: 960px) {
  #link li {
    width: 49%;
    margin-bottom: 10px; }

  #link li + li {
    margin-left: 0; }

  #link li:nth-of-type(even) {
    margin-left: 2%; }

  .menu {
    width: 280px; }

  .menu .mk > img:first-child {
    width: 60%; }

  .menu .dl {
    height: 40px; }

  .menu .dl > img {
    height: 40px; }

  .menu .ttl {
    height: 46px; }

  .menu .ttl td:first-child {
    width: 70px; }

  .menu .ttl td:first-child + td {
    width: 140px; }

  .menu .ttl td:first-child + td + td {
    width: 30px; }

  .menu .ttl .thm {
    width: 60px; }

  .menu .ttl .nm {
    height: 46px; }

  .menu .chk {
    height: 46px; }

  .menu .chk .thm {
    width: 60px; }

  .menu .chk .nm {
    left: 70px;
    height: 46px; }

  .in.menu .grd .itm li {
    margin: 4px 4px 0 0; }

  .in.menu .grd .itm li img {
    width: 50px; }

  /*.sub, .cap*/
  .sub .bc {
    font-size: 12px; } }
@media print, screen and (max-width: 580px) {
  /*--------------------
  *reset
  --------------------*/
  html {
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%; }

  img {
    -webkit-touch-callout: none; }

  /*android bug fix*/
  p, a, span, li {
    max-height: 999999px; }

  p.ex, p.in {
    background-color: #fff; }

  /*--------------------
  *structure
  --------------------*/
  #wrapper {
    width: 100%;
    margin: 0; }

  /*--------------------
  *common
  --------------------*/
  .scroll {
    -webkit-overflow-scrolling: touch; }

  /*--------------------
  #header
  --------------------*/
  #header {
    width: 100%; }

  #header h1 {
    height: 51px;
    border-bottom: 1px solid #e4e4e4; }

  #header h1 img {
    left: 13px;
    width: 149px; }

  #header .sp {
    background-color: #fff; }

  #header .sp > .btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 45px;
    border-left: 1px solid #e4e4e4; }

  #header .sp p, #header .sp a {
    cursor: pointer;
    display: block;
    font-weight: bold;
    line-height: 1em;
    color: #666; }

  #header .sp p {
    background: url("../IMG/icn_hdm-off.png") no-repeat 96% center;
    background-size: 12px 8px; }

  #header .sp p.red {
    background: url("../IMG/icn_hdm-on.png") no-repeat 96% center;
    background-size: 12px 8px; }

  #header .sp > * > ul > li > p,
  #header .sp > * > ul > li > a {
    color: #222; }

  #header .sp > * > ul > li {
    border-bottom: 1px solid #e4e4e4; }

  #header .sp ul ul {
    border-top: 1px solid #e4e4e4; }

  #header .hd {
    padding-top: 10px;
    margin-bottom: 120px;
    box-shadow: 0px 2px 5px 1px #eee; }

  #header .ft {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: #fff;
    border-top: 4px solid #c71444;
    box-shadow: 0px -2px 5px 1px #eee; }

  #header .hd p, #header .hd a {
    padding: 14px 13px; }

  #header .hd > ul ul {
    background-color: #f4f4f4; }

  #header .hd > ul ul ul {
    background-color: #eee; }

  #header .ft a {
    padding: 11px 13px; }

  /*--------------------
  #main
  --------------------*/
  #main {
    position: absolute;
    overflow: hidden;
    top: 52px;
    width: 100%; }

  #main > h2 {
    position: absolute;
    top: 35px;
    right: 16px; }

  #main > h2 img {
    height: 15px; }

  #contents {
    margin-bottom: 75px; }

  #exterior {
    position: relative;
    margin-top: 50px; }

  #interior {
    margin-top: 70px; }

  .ex.mv, #start {
    position: relative;
    bottom: auto;
    width: 90%;
    height: auto;
    margin: 0 auto; }

  #start {
    position: absolute;
    top: 0; }

  .ex.mv:before, #start:before {
    content: " ";
    display: block;
    padding-bottom: 66.627%; }

  .ex.mv ul.spin_images img,
  #start ul.spin_images img {
    top: -15%;
    /*trimming*/ }

  #start {
    left: 0;
    right: 0; }

  .in.mv {
    position: relative;
    bottom: auto;
    width: 100%;
    height: auto; }

  .in.mv:before {
    content: " ";
    display: block;
    padding-bottom: 46.16%; }

  .ex.ps, .in.ps {
    position: absolute;
    left: 16px;
    width: 90px;
    background-color: transparent; }

  .ex.ps {
    top: -35px; }

  .in.ps {
    top: -55px; }

  .i360 {
    position: static;
    left: auto;
    height: auto;
    margin: 15px 0 12px; }

  .i360 img {
    min-width: inherit;
    width: 194px; }

  .ex.control {
    position: static;
    top: auto;
    bottom: auto;
    right: auto;
    width: auto; }

  /*.list*/
  .inner:before {
    content: none;
    padding-top: 0; }

  .ex.list, .in.list {
    position: static;
    width: auto;
    height: auto;
    margin: 0 20px 6px;
    text-align: center;
    background: none; }

  .ex.list li {
    position: static;
    display: inline-block;
    width: 28px;
    height: 28px;
    margin: 2px; }

  .ex.list li img {
    width: 28px; }

  .ex.list li.selected {
    background: url("../IMG/icn_exls.png") no-repeat left top;
    background-size: 28px 28px; }

  .in.list li {
    display: inline-block;
    width: 42px;
    height: 24px;
    margin: 2px; }

  .in.list li img {
    width: 42px;
    margin: 0; }

  .in.list li.selected {
    background: url("../IMG/icn_inls.png") no-repeat left top;
    background-size: 42px 24px; }

  /*menu*/
  .menu {
    position: fixed;
    z-index: 2;
    right: auto;
    width: 100%;
    height: 100%; }

  .menu .mk {
    position: absolute;
    z-index: 1;
    top: 0;
    width: 100%;
    height: 68px;
    background-color: #ccc; }

  .menu .mk > img:first-child {
    width: 212px; }

  .menu .mk > .close.btn {
    width: 36px; }

  .menu .op {
    height: 100%;
    padding-top: 70px;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box; }

  .menu .ttl {
    table-layout: fixed;
    width: 100%; }

  .menu .ttl td {
    vertical-align: middle; }

  .menu .ttl td:first-child + td {
    width: auto; }

  .menu .ttl td:first-child + td + td + td {
    width: 27px;
    text-align: left; }

  .menu .itm {
    margin-right: 10px; }

  .menu .itm li.selected {
    background: url("../IMG/icn_exms.png") no-repeat left top;
    background-size: 34px 34px; }

  .menu .itm li.desable:after {
    background: url("../IMG/icn_exds.png") no-repeat left top;
    background-size: 34px 34px; }

  .in.menu .grd .itm li.selected {
    background: url("../IMG/icn_inlsr.png") no-repeat left top;
    background-size: 60px 34px; }

  .in.menu .grd .itm li {
    margin: 4px 10px 0 0; }

  .in.menu .grd .itm li img {
    width: 60px; }

  /*.sub, .cap*/
  .sub {
    position: relative;
    height: auto;
    margin-bottom: 15px;
    padding: 0 20px;
    overflow: hidden; }

  .sub .bc {
    float: none;
    width: auto;
    margin-bottom: 12px;
    font-size: 9px;
    line-height: 1.25em;
    text-align: left; }

  .sub .sw {
    width: 48.4375%;
    height: 35px;
    margin-right: 0; }

  .sub .sw + .sw {
    margin-left: 3.125%; }

  .sub .sw img {
    height: 15px; }

  .cap {
    height: auto;
    padding: 0;
    margin: 0 20px;
    font-size: 8px;
    line-height: 1.25em;
    border-top: none; }

  /*--------------------
  .spin_box
  --------------------*/
  ul.spin_images {
    top: 0; }

  /*--------------------
  #link
  --------------------*/
  #link {
    padding: 25px 0;
    margin: 0 13px 5px;
    background-size: 100% 25px; }

  #link li {
    float: none;
    width: 100%;
    height: 35px;
    margin-bottom: 0; }

  #link li + li {
    margin: 10px 0 0; }

  #link li:nth-of-type(even) {
    margin-left: 0; }

  #link li img:first-child {
    width: 160px;
    margin: auto 0; }

  #link li img + img {
    width: 10px;
    right: 13px; }

  #facebook, #twitter {
    display: block;
    top: -57px;
    right: 0;
    left: 0;
    width: 33px;
    margin: 0 auto; }

  #facebook {
    left: -45px; }

  #twitter {
    right: -45px; }

  #facebook img, #twitter img {
    width: 33px; }

  /*--------------------
  #footer
  --------------------*/
  #footer {
    padding: 0;
    border-top: 1px solid #e4e4e4; }

  #footer .sp a {
    display: block;
    line-height: 1em;
    color: #666;
    padding: 13px; }

  #footer .sp li:first-child {
    font-size: 11px;
    background-color: #f4f4f4;
    border-bottom: 1px solid #e4e4e4; }

  #footer .sp li + li:not(:last-child) {
    border-bottom: 1px dashed #e4e4e4; }

  .contents-head {
    min-width: 280px;
    margin: 70px auto 0; } }
