
/** -------------------------------
 * panelModule
 */

.panelModule {
	clear: both;
	margin-top: 14.666%;
}

.panelModule .header {
	position: relative;
	padding: 0 4vw;
}

.panelModule .header:before {
	content: '';
	position: absolute;
	left: 4vw;
	top: 0;
	display: block;
	width: 18.667%;
	height: 4px;
	border-top: 3.99px solid #c3002c;
}

.panelModule .header h1 {
	display: table;
	width: 100%;
}

.panelModule .header span {
	display: table-cell;
	padding: 3.6% 0;
	font-size: 16px;
	font-size: 4.266vw;
	font-weight: bold;
	vertical-align: middle;
}

.panelModule .header span em {
	font-size: 10px;
	font-size: 2.666vw;
	font-style: normal;
	font-weight: normal;
}

.panelModule > .wrap {
	
}

.panelModule .image {
	padding-top: 66.666%;
    /*background-color: #f7f7f7;*/
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
}

.panelModule .image > .wrap {
	padding: 0 4%;
	padding-top: 4vw;
}

.panelModule .image .logo {
	display: none;
}

.panelModule .image .label {
	font-size: 12px;
	font-size: 3.2vw;
	font-weight: bold;
	color: #c3002f;
	line-height: 1.35;
	white-space: nowrap;
}

.panelModule .image .label em {
	display: block;
	font-style: normal;
	font-weight: bold;
}

.panelModule .button {
	padding: 0 4%;
	padding-top: 1.2vw;
}

.panelModule .button a {
	
}

.panelModule .button span {
	padding-right: 3.2vw;
	background-image: url(../IMAGES/arrow_red.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 2.666vw;
	font-size: 14px;
	font-size: 3.733vw;
	font-weight: bold;
	color: #333;
	line-height: 1.35;
	text-align: justify;
}
/*  .panelModule dl {
    padding: 0 4%;
    padding-top: 1.2vw;
  }
    .panelModule dl dt {
      font-size: 14px;
      font-size: 3.733vw;
      font-weight: bold;
      color: #333;
      line-height: 1.35;
      text-align: justify;
    }
    .panelModule dl dd {
      margin-top: 2.8vw;
    }
      .panelModule dl dd a {
        position: relative;
        display: table;
        width: 44.133vw;
        height: 7.466vw;
        background-color: #eee;
      }
      .panelModule dl dd a:after {
        content: '';
        position: absolute;
        right: 2.6vw;
        top: 50%;
        display: block;
        width: 1.333vw;
        height: 2vw;
        margin-top: -1vw;
        background-image: url(../IMAGES/arrow_red.png);
        background-repeat: no-repeat;
        background-position: right;
        background-size: auto 2vw;
      }
        .panelModule dl dd span {
          display: table-cell;
          padding-left: 4vw;
          font-size: 11px;
          font-size: 2.933vw;
          color: #333;
          line-height: 1.1;
          vertical-align: middle;
        }*/






/** -------------------------------
 * blockModule
 */

/* 20190404 Commons 修正 */
.blockModule {
	clear: both;
	/*margin-top: calc((30/375) * 100vw);*/
}

/* 20190404 Commons 追加 */
.listModule + .blockModule {
	margin-top: calc(30/375 * 100vw);
}

.blockModule > .wrap {
	padding: 0 0;
}

.blockModule .header {
	position: relative;
	margin-left: calc((30/375) * 100vw);
	margin-right: calc((30/375) * 100vw);
}

.blockModule .header:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 18.667%;
	height: 4px;
	border-top: 3.99px solid #c3002c;
}

.blockModule .header h1 {
	display: table;
	width: 100%;
}

.blockModule .header span {
	display: table-cell;
	padding: 5.3% 0;
	font-size: 20px;
	font-size: 5.334vw;
	font-weight: normal;
	vertical-align: middle;
}

.blockModule .header span em {
	font-size: 10px;
	font-size: 2.666vw;
	font-style: normal;
	font-weight: normal;
}

.blockModule .content {
	display: block;
	width: 100%;
	margin-top: calc((30/375) * 100vw);
}

.blockModule .content li {
	display: block;
	width: 100%;
}

.blockModule .content li + li {
	margin-top: calc((30/375) * 100vw);
}

.blockModule .content li:first-of-type {
	/* padding-right: 1.6vw; */
}

.blockModule .content li:last-of-type {
	/* padding-left: 1.6vw; */
}

.blockModule .content li > .wrap {
	display: block;
	width: 100vw;
}

.blockModule .content .image {
	position: relative;
	display: block;
	padding-top: calc((190/375)* 100%);
	background-color: #f7f7f7;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.blockModule .content .image.outline:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	display: block;
	border: 0.99px solid #ddd;
}

.blockModule .content .image em {
	display: none;
	font-size: 1.8em;
	font-weight: bold;
	color: #c3002f;
	line-height: 1.1;
}

.blockModule .content .image em i {
	font-size: 0.7em;
	font-weight: bold;
}

.blockModule .content .label {
	display: block;
	padding-top: 5vw;
	font-size: 18px;
	font-size: 4.675vw;
	font-weight: normal;
	color: #000;
	line-height: 1.2; /* 20190404 Commons 修正 */
	letter-spacing: -0.03em;
	margin-left: calc((30/375) * 100vw);
	margin-right: calc((30/375) * 100vw);
}

.blockModule .content .label.s {
	font-size: 14px;
	font-size: 3.733vw;
	line-height: 1.4;
}


/* 20190404 Commons 修正 */
.blockModule .button {
	width: auto;
	padding-top: 4.5vw;
	margin-left: calc((30/375) * 100vw);
	margin-right: calc((30/375) * 100vw);
}

/* 20190404 Commons 追加 */
.blockModule .label + .button {
	padding-top: 2.8vw;
}

.blockModule .button a {
	
}

.blockModule .button span {
	padding-right: 3.2vw;
	background-image: url(../IMAGES/arrow_red.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 2.666vw;
	font-size: 14px;
	font-size: 3.636vw;
	font-weight: bold;
	color: #000;
	line-height: 1.5;
	word-break: break-all;
}


/** -------------------------------
 * blockModule.panelExtension
 */

.blockModule.panelExtension {
	
}

.blockModule.panelExtension > .wrap {
	padding: 0;
}

.blockModule.panelExtension .header {
	position: relative;
	padding: 0 4vw;
}

.blockModule.panelExtension .header:before {
	left: 4vw;
}

.blockModule.panelExtension .content {
	display: block;
	width: 100%;
	margin-top: 0;
}

.blockModule.panelExtension .content li {
	display: block;
	width: 100%;
	margin-top: 10.666vw;
	vertical-align: inherit;
}

.blockModule.panelExtension .content li:first-child {
	padding-right: 0;
}

.blockModule.panelExtension .content li:last-child {
	padding-left: 0;
}

.blockModule.panelExtension .content li > .wrap {
	display: block;
	width: 100vw;
}

.blockModule.panelExtension .content .image.outline:after {
	border-left: none;
	border-right: none;
}

.blockModule.panelExtension .content .label {
	padding: 0 4vw;
	padding-top: 3.6vw;
}

.blockModule.panelExtension .button {
	padding: 0 4vw;
	padding-top: 2vw;
}

.blockModule.panelExtension .content dl {
	padding: 0 4vw;
	padding-top: 1.8vw;
}

.blockModule.panelExtension .content dt {
	font-size: 14px;
	font-size: 3.733vw;
}

.blockModule.panelExtension .content dd a {
	width: 46vw;
}





/** -------------------------------
 * listModule
 */

.listModule {
	clear: both;
	margin-top: 5%;
}

.listModule > .wrap {
	padding: 0 0;
}

.listModule .content {
	
}

.listModule .content li {
	margin: 0;
	border-bottom: 1px dashed #C1C1C1;
	padding-left: calc((30/375) * 100vw);
	padding-right: calc((30/375) * 100vw);
	padding-top: calc((8/375) * 100vw);
	padding-bottom: calc((8/375) * 100vw);
	display: table;
	width: 100%;
	min-height: calc((42/375) * 100vw);
}

.blockModule .listModule .content li + li {
	margin-top: 0;
}

.listModule .content a {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	width: auto;
}

.listModule .content span {
	/*display: inline;*/
	padding-left: 2px;
	/*padding-right: calc((30/375) * 100vw);*/
	font-size: 14px;
	font-size: 3.733vw;
	color: #333;
	line-height: 1.4;
	vertical-align: middle;
	
	padding-right: 3.2vw;
	background-image: url(../IMAGES/arrow_red.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 2.666vw;
}

.listModule a:hover span {
	color: #c3002f;
}




/** -------------------------------
 * swiperModule
 */

.swiperModule {
	clear: both;
	margin-top: 14.666%;
}

.swiperModule .header {
	position: relative;
	padding: 0 4vw;
}

.swiperModule .header:before {
	content: '';
	position: absolute;
	left: 4vw;
	top: 0;
	display: block;
	width: 18.667%;
	height: 4px;
	border-top: 3.99px solid #c3002c;
}

.swiperModule .header h1 {
	display: table;
	width: 100%;
}

.swiperModule .header span {
	display: table-cell;
	padding: 3.6% 0;
	font-size: 16px;
	font-size: 4.266vw;
	font-weight: bold;
	vertical-align: middle;
}

.swiperModule .header span em {
	font-size: 10px;
	font-size: 2.666vw;
	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: calc((460/375) * 100%);
}

.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;
	width: 100%;
	height: 100%;
}

.swiperModule .swiper-button-prev {
	display: none;
}

.swiperModule .swiper-button-next {
	display: none;
}

.swiperModule .swiper-pagination {
	clear: both;
	left: 0;
	bottom: 0;
	width: 100%;
	margin-bottom: 20%;
	text-align: center;
}

.swiperModule .swiper-pagination.none {
	display: none;
}

.swiperModule .swiper-pagination-bullet {
	width: 4%;
	height: 3px;
	margin-left: 1.333%;
	background-color: #fff;
	border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	opacity: 1;
}

.swiperModule .swiper-pagination-bullet-active {
	background-color: #c3002c;
}







/* accordion */


.accordion {
	margin-bottom: calc(60 / 375 * 100vw);
	border-top: none !important;
	padding-top: 0 !important;
}

.accordion .container {
	margin-top: calc(15 / 375 * 100vw);
	background-color: #eee;
	box-sizing: border-box;
	padding: calc(15 / 375 * 100vw) calc(15 / 375 * 100vw);
}

.accordion .caution > .wrap {
	margin-top: calc(30 / 375 * 100vw);
	/*padding-top: calc(30 / 375 * 100vw);*/
}
   
.accordion .caution dl dt span {
	font-size: calc(16 / 414 * 100vw);
	font-weight: bold;
	line-height: 1.2;
	padding-top: calc(10 / 414 * 100vw);
	padding-bottom: calc(10 / 414 * 100vw);
	padding-left: calc(15/375 * 100vw);
	padding-right: calc(15/375 * 100vw);
}  

.accordion .caution .column3 .item {
	margin-top: calc(30 / 414 * 100vw);
	background-color: #eee;
	box-sizing: border-box;
	padding: calc(20 / 414 * 100vw) calc(15 / 414 * 100vw);
}

.accordion .caution .column3 .item + .item {
	margin-top: calc(30 / 414 * 100vw);
}

.accordion .lead {
	margin-top: calc(20 / 414 * 100vw);
	font-size: calc(18 / 414 * 100vw);
	font-weight: normal;
}


.accordion .caution {
	clear: both;
}

.accordion .caution > .wrap {
	padding: 0 calc(15/375 * 100vw);
}

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

.accordion .caution dt {
	display: table;
	width: 100%;
	height: 10.4vw;
	background-image: url(../IMAGES/icon_open.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 10.4vw;
	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: 12px;
	font-size: 3.2vw;
	vertical-align: middle;
}

.accordion .caution dd {
	display: none;
	padding-bottom: 3vw;
	font-size: 12px;
	font-size: 3.2vw;
	line-height: 1.5;
}

.accordion .caution .container-head {
	text-align: center;
	margin-top: calc(20/375 * 100vw);
	margin-left: calc(17/375 * 100vw);
	margin-right: calc(17/375 * 100vw);
}

.accordion .caution .container-head .lead {
	font-weight: bold;
}

.accordion .caution .container-head .description {
	text-align: left;
}


.accordion .block01 {
	position: relative;
}

.accordion .image {
	margin-top: 0;
}

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

.accordion .block01 .image .button {
	width: calc(60/375 * 100vw);
	padding-top: calc(60/375 * 100vw);
	background-color: #c3002c;
	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: 2.4em;
	transform: translate(-40%, -50%);
	color: #fff;
	line-height: 1;
}

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

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

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








