
/** -------------------------------
 * 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(15/375 * 100vw);
	margin-right: calc(15/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: block;
	width: 100%;
}

.blockModule .header span {
	display: block;
	padding: 4.5% 0 0;
	margin-bottom: calc(17/375 * 100vw);
	font-size: 17px;
	font-size: 4.533vw;
	font-weight: bold;
}

.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(15/375 * 100vw);
	margin-right: calc(15/375 * 100vw);
}


/* 20190404 Commons 修正 */
.blockModule .button {
	width: auto;
	padding-top: calc(17/375 * 100vw);
	margin-left: calc(15/375 * 100vw);
	margin-right: calc(15/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: 10.666%;
}

.listModule > .wrap {
	padding: 0 calc(15/375 * 100vw);
}

.listModule .content {
	
}

.listModule .content li {
	margin-top: 0.533vw;
}

.listModule .content a {
	position: relative;
	display: table;
	width: 100%;
	height: 10.666vw;
	background-color: #eee;
}

.listModule .content a:after {
	content: '';
	position: absolute;
	right: 3.2vw;
	top: 50%;
	display: block;
	width: 1.866vw;
	height: 2.666vw;
	margin-top: -1.333vw;
	background-image: url(../IMAGES/arrow_red.png);
	background-repeat: no-repeat;
	background-position: right;
	background-size: auto 2.666vw;
}

.listModule .content span {
	display: table-cell;
	padding-left: 3.2vw;
	padding-right: 5.2vw;
	font-size: 12px;
	font-size: 3.2vw;
	color: #333;
	line-height: 1.35;
	vertical-align: middle;
}




/** -------------------------------
 * 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;
}











