
/** -------------------------------
 * panelModule
 */

.panelModule {
	clear: both;
	margin-top: 4%;
}

.panelModule .headerWrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 3.667%;
}

.panelModule .header {
	position: relative;
	padding-top: 1.6%;
}

.panelModule .header:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 6.837%;
	height: 4px;
	background-color: #c3002c;
}

.panelModule .header h1 {
	display: table;
}

.panelModule .header span {
	display: table-cell;
	font-size: 2.0em;
	font-weight: bold;
	line-height: 1.1;
	vertical-align: middle;
}

.panelModule .header span em {
	font-size: 0.6em;
	font-style: normal;
	font-weight: normal;
}

.panelModule > .wrap {
	position: relative;
	display: block;
	padding-top: 40.625%
}

.panelModule .image {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-color: #f7f7f7;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.panelModule .image > .wrap {
	position: relative;
	width: 100%;
	max-width: 1280px;
	height: 100%;
	margin: 0 auto;
	padding: 0 3.667%;
}

.panelModule .image .logo {
	position: absolute;
	right: 3.667%;
	top: 0;
	display: block;
	width: 24.6875%;
	margin-top: 2.031%;
}

.panelModule .image .logo i {
	display: block;
	padding-top: 6.962%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.panelModule .image .label {
	position: absolute;
	left: 3.667%;
	bottom: 0;
	display: inline-block;
	padding: 0.9%;
	background-color: rgba(255,255,255,0.75);
	font-size: 2.0em;
	font-weight: bold;
	color: #c3002f;
	line-height: 1.1;
	white-space: nowrap;
}

.panelModule .image .label em {
	font-size: 0.7em;
	font-weight: bold;
}

.panelModule .button {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 3.667%;
	padding-top: 1.875%;
}

.panelModule .button a {
	
}

.panelModule .button span {
	padding-right: 20px;
	background-image: url(../IMAGES/arrow_red.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 18px;
	font-size: 2.8em;
	font-weight: bold;
	color: #333;
	line-height: 1.1;
}

.panelModule .button a:hover span {
	color: #c3002f;
}
/*  .panelModule dl {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 3.667%;
    padding-top: 1.875%;
  }
    .panelModule dl dt {
      font-size: 2.8em;
      font-weight: bold;
      color: #333;
      line-height: 1.1;
    }
    .panelModule dl dd {
      position: absolute;
      right: 3.667%;
      top: 0;
      margin-top: 1.875%;
    }
      .panelModule dl dd a {
        position: relative;
        display: table;
        height: 45px;
        background-color: #eee;
        float: right;
      }
      .panelModule dl dd a:after {
        content: '';
        position: absolute;
        right: 15px;
        top: 50%;
        display: block;
        width: 10px;
        height: 14px;
        margin-top: -7px;
        background-image: url(../IMAGES/arrow_red.png);
        background-repeat: no-repeat;
        background-position: right;
        background-size: auto 13px;
      }
        .panelModule dl dd span {
          display: table-cell;
          padding-left: 18px;
          padding-right: 40px;
          font-size: 1.6em;
          color: #333;
          line-height: 1.1;
          vertical-align: middle;
        }*/
/* tablet */

@media screen and (min-width: 581px) and (max-width: 1279px) {
	.panelModule .button span {
		padding-right: 1.5625vw;
		background-size: auto 1.40625vw;
	}
	/*      .panelModule dl dd a {
	        height: 3.515625vw;
	      }
	      .panelModule dl dd a:after {
	        right: 1.171875vw;
	        width: 0.78125vw;
	        height: 1.015625vw;
	        margin-top: -0.507812vw;
	        background-size: auto 1.015625vw;
	      }
	        .panelModule dl dd span {
	          padding-left: 1.40625vw;
	          padding-right: 3.125vw;
	        }*/
}






/** -------------------------------
 * blockModule
 */

/* 20190404 Commons 修正 */
.blockModule {
	clear: both;
	max-width: 1130px;
	box-sizing: content-box;
	margin: 0 auto;
	/*margin-top: 4%;*/
	padding: 0 3.667%;
}

/* 20190404 Commons 追加 */
.listModule + .blockModule {
	margin-top: calc(30/1130 * 100%);
}

.blockModule > .wrap {
	display: block;
}

.blockModule .header {
	position: relative;
	padding-top: 1.6%;
}

.blockModule .header:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: calc((60/1440) * 100%);
	height: 4px;
	background-color: #c3002c;
}

.blockModule .header h1 {
	display: table;
}

.blockModule .header span {
	display: table-cell;
	font-size: 2.0em;
	font-weight: bold;
	line-height: 1.1;
	vertical-align: middle;
	letter-spacing: 0.03em;
}

.blockModule .header span em {
	font-size: 0.6em;
	font-style: normal;
	font-weight: normal;
}

.blockModule .content {
	display: table;
	width: 100%;
	margin-top: calc(30/1130 * 100%); /* 20190404 Commons 修正 */
}

.blockModule .content li {
	display: table-cell;
	width: 50%;
	vertical-align: top;
}

.blockModule .content li:first-of-type {
	padding-right: calc((15/1130) * 100%);
}

.blockModule .content li:last-of-type {
	padding-left: calc((15/1130) * 100%);
}

.blockModule .content li > .wrap {
	overflow: hidden;
}

.blockModule .content .image {
	position: relative;
	display: block;
	padding-top: calc((278/550) * 100%);
	background-color: #f7f7f7;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.blockModule .content .image em {
	display: none;
}

.blockModule .content .label {
	display: block;
	font-size: 2.0em;
	margin-top: calc(20/550 * 100%); /* 20190404 Commons 修正 */
}

.blockModule .content .label.s {
	font-size: 1.6em;
}

.blockModule .button {
	width: 100%;
	margin-top: calc(20/550 * 100%); /* 20190404 Commons 修正 */
}

/* 20190404 Commons 追加 */
.blockModule .label + .button {
	width: 100%;
	margin-top: calc(8/550 * 100%);
}

.blockModule .button a {
	
}

.blockModule .button span {
	padding-right: 18px;
	background-image: url(../IMAGES/arrow_red.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 15px;
	font-size: 1.6em;
	font-weight: bold;
	color: #333;
	line-height: 1.5;
	word-break: break-all;
}

.blockModule .button a:hover span {
	color: #c3002f;
}
/* tablet */

@media screen and (min-width: 581px) and (max-width: 1279px) {
	.blockModule .button span {
		padding-right: 1.875vw;
		background-size: auto 1.171875vw;
	}
	/*            .blockModule .content dt {
	              padding-right: 1.875vw;
	            }
	            .blockModule .content dd {
	              width: 15vw;
	            }
	              .blockModule .content dd a {
	                height: 3.515625vw;
	              }
	              .blockModule .content dd a:after {
	                right: 1.171875vw;
	                width: 0.78125vw;
	                height: 1.015625vw;
	                margin-top: -0.507812vw;
	                background-size: auto 1.015625vw;
	              }
	                .blockModule .content dd span {
	                  padding-left: 1.40625vw;
	                  padding-right: 3.125vw;
	                }*/
}




/** -------------------------------
 * listModule
 */

.listModule {
	clear: both;
	max-width: 1130px;
	box-sizing: content-box;
	margin: 0 auto;
	margin-top: calc(22/1440 * 100%); /* 20190404 Commons 修正 */
	padding: 0 3.667%;
}

.listModule > .wrap {
	display: block;
}

.listModule .content {
	
}

.listModule .content li {
	margin: 0;
	border-bottom: 1px dashed #C1C1C1;
}

.listModule .content a {
	position: relative;
	display: inline-table;
	width: auto;
	height: 45px;
}

.listModule .content a:after {
	content: '';
	position: absolute;
	right: 0px;
	top: 50%;
	display: block;
	width: 10px;
	height: 14px;
	margin-top: -7px;
	background-image: url(../IMAGES/arrow_red.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 13px;
}

.listModule .content span {
	display: table-cell;
	padding-left: 2px;
	padding-right: 16px;
	font-size: 1.6em;
	color: #333;
	line-height: 1.1;
	vertical-align: middle;
}

.listModule a:hover span {
	color: #c3002f;
}
/* tablet */

@media screen and (min-width: 581px) and (max-width: 1279px) {
	.listModule .content li {
		margin-top: 0.15625vw;
	}
	
	.listModule .content a {
		height: 3.515625vw;
	}
	
	.listModule .content a:after {
		right: 1.171875vw;
		width: 0.78125vw;
		height: 1.015625vw;
		margin-top: -0.5078125vw;
		background-size: auto 1.015625vw;
	}
	
	.listModule .content span {
		padding-left: 0.40625vw;
		padding-right: 3.125vw;
	}
}





/** -------------------------------
 * swiperModule
 */

.swiperModule {
	clear: both;
	margin-top: 4%;
}

.swiperModule .headerWrap {
	max-width: 1130px;
	box-sizing: content-box;
	margin: 0 auto;
	padding: 0 3.667%;
}

.swiperModule .header {
	position: relative;
	padding-top: 1.6%;
}

.swiperModule .header:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: calc((60/1440) * 100%);
	height: 4px;
	background-color: #c3002c;
}

.swiperModule .header h1 {
	display: table;
}

.swiperModule .header span {
	display: table-cell;
	font-size: 2.0em;
	font-weight: bold;
	line-height: 1.1;
	vertical-align: middle;
	letter-spacing: 0.03em;
}

.swiperModule .header span em {
	font-size: 0.6em;
	font-style: normal;
	font-weight: normal;
}

.swiperModule > .wrap {
	position: relative;
	width: 100%;
}

.swiperModule .swiper-container {
	
}

.swiperModule .swiper-wrapper {
	
}

.swiperModule .swiper-slide {
	position: relative;
	padding-top: 41.04%;
}

.swiperModule .bg {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.swiperModule .swiper-slide > .wrap {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
}

.swiperModule .inner {
	position: relative;
	max-width: 1280px;
	height: 100%;
	margin: 0 auto;
}

.swiperModule .swiper-button-prev {
	width: 28px;
	height: 54px;
	margin-top: -27px;
	background-image: url(../IMAGES/mainview_prev.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.swiperModule .swiper-button-prev.none {
	display: none;
}

.swiperModule .swiper-button-next {
	width: 28px;
	height: 54px;
	margin-top: -27px;
	background-image: url(../IMAGES/mainview_next.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.swiperModule .swiper-button-next.none {
	display: none;
}

.swiperModule .swiper-pagination {
	display: none;
}
/* tablet */

@media screen and (min-width: 581px) and (max-width: 1279px) {
	.swiperModule .swiper-button-prev {
		width: 2.1875vw;
		height: 4.21875vw;
		margin-top: -2.109375vw;
	}
	
	.swiperModule .swiper-button-next {
		width: 2.1875vw;
		height: 4.21875vw;
		margin-top: -2.109375vw;
	}
}




/* accordion */

.accordion {
	clear: both;
	margin-top: calc(60/1170 * 100%);
}

.accordion .container {
	margin-top: calc(10/1170 * 100%);
	letter-spacing: 0;
	padding: calc(30 / 1170 * 100%) calc(20 / 1170 * 100%);
	background-color: #eee;
}

.accordion .caution {
	clear: both;
}

.accordion .caution > .wrap {
	max-width: 1280px;
	margin: 0 auto;
	margin-top: 5%;
	padding: 0 3.667%;
}

.accordion .caution dl {
	position: relative;
	border-bottom: 1px solid #c2c2c2;
}

.accordion .caution dt {
	display: table;
	width: 100%;
	height: 54px;
	background-image: url(../IMAGES/icon_open.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 40px;
	border-top: 1px solid #c2c2c2;
	cursor: pointer;
}

.accordion .caution dt.open {
	background-image: url(../IMAGES/icon_close.png);
}

.accordion .caution dt span {
	display: table-cell;
	padding-left: 5px;
	font-size: 2rem;
	font-weight: bold;
	vertical-align: middle;
}

.accordion .caution dd {
	display: none;
	padding-bottom: 20px;
	font-size: 1.2em;
	line-height: 1.5;
}

.accordion .caution dd .caution-detail-image {
	padding-bottom: 20px;
}

.accordion .caution dd .caution-detail-image img {
	width: 100%;
}

.accordion .caution .column3 {
	margin-top: 0;
	display: flex;
	justify-content: space-between;
}

.accordion .caution .column3 .item {
	width: 31.623%;
	margin-top: 3%;
	background-color: #eee;
	box-sizing: border-box;
	padding: 2.5% 1.5%;
}

.accordion .caution .container-head {
	text-align: center;
	margin-top: calc(20/1170 * 100%);
}

.accordion .caution .container-head .lead {
	font-weight: bold;
	margin-bottom: calc(20/1170 * 100%);
}


/* tablet */
@media screen and (min-width: 581px) and (max-width: 1279px) {
	.accordion .caution dt {
		height: 3.75vw;
		background-size: auto 3.125vw;
	}
	
	.accordion .caution dt span {
		padding-left: 0.3906vw;
	}
	
	.accordion .caution dd {
		padding-bottom: 1.5625vw;
	}
}

.accordion .block01 {
	width: 31.856%;
	float: right;
	position: relative;
}

.accordion .block02 {
	width: calc(100% - 31.856% - 15px);
	float: left;
}

.accordion .image {
	margin-top: 0 !important;
	position: relative;
}

.accordion .image img {
	width: 100%;
}

.accordion .block01 .image .button {
	width: calc(80/348 * 100%);
	padding-top: calc(80/348 * 100%);
	background-color: rgba(255, 255, 255, 0.7);
	position: absolute;
	top: 50%;
	left: 50%;
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.accordion .block01 .image .button::after {
	font-family:icon-Nissan-Global;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: 3em;
	transform: translate(-40%, -50%);
	color: rgba(0, 0, 0, 0.5);
	line-height: 1;
}

.accordion .block01:hover .image .button {
	background-color: #c3002c;
}

.accordion .block01:hover .image .button::after {
	color: #fff;
}

.accordion .block01 .movie video {
	width: 100%;
}

.accordion .caution > .wrap {
	padding-left: 0;
	padding-right: 0;
	margin-top: 4%
}

.accordion .lead {
	font-size: 1.8rem !important;
	font-weight: normal;
	margin-bottom: calc(20/570 * 100%);
}

.accordion .column3 .lead {
	margin-bottom: calc(20/323 * 100%);
}

.accordion .image + .lead {
	margin-top: calc(15/323 * 100%);
}

.accordion .description {
	font-size: 1.6rem !important;
	line-height: 1.5 !important;
	font-weight: normal;
}

.accordion .block01 .movie {
	cursor: pointer;
}

.accordion .block01 .movie + .image {
	position: absolute;
	top: 0;
	left: 0;
	z-index: +1;
	cursor: pointer;
}



