@charset "utf-8";

/*
  section-box
--------------------------------------------------------------------------------------------------------*/
.section-box { border: 1px solid #e5e5e5; padding: 25px; }

.section-box img{max-width:100%;}
.section-box p {text-align: center;}


.par-va-middle{
    position: relative;
}
.valign-middle{
	position:absolute;
	top: 50%;
	left: 50%; 
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%); 
	transform: translate(-50%, -50%); 
	width: 100%;
}


/*
  row
--------------------------------------------------------------------------------------------------------*/

.row {
    position: relative;
    margin: 0 -15px 0px;
}

.row [class^="col-"] {
    box-sizing: border-box;
    display: inline-block;
    margin: 0 -6px 0px 0;
    padding: 0 15px;
    vertical-align: top;
}

.row.row-content > [class^="col-"] {
    margin-bottom: 16px;
}

.row [class^="col-"] > div,
.row [class^="col-"] > a {
    background: #fff;
}



.row.row-sp-s {
    margin: 0px -8px 0px;
}

.row.row-sp-s > [class^="col-"] {
    padding: 0 8px;
}

.row .col-4 {
    width: 4%;

}

.row .col-48 {
    width: 48%;
}


@media screen and (max-width: 767px) {
    .row.row-sp-s {
        margin: 0px -6px 0px;
    }
    
    .row.row-sp-s > [class^="col-"] {
        padding: 0 6px;
    }
    
    .row.row-sp-s.row-content > [class^="col-"] {
        margin-bottom: 9px;
    }
    
    .row .sp-col-100 {
        width: 100%;
    }
}


/*
  icn-middle
--------------------------------------------------------------------------------------------------------*/

.icn-middle {
    position: relative;
    display: block;
}

[class^="icn-middle"]:before,
[class^="icn-middle"]:after {
    position: absolute;
    top: 0px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}


.row .list-u-kome > ::before {
    position: relative!important;
}


@media print,all and (min-width:768px) {
		.icn-middle { 
		position: absolute; 
		top: 50%; 
		left: 50%; 
		-webkit-transform: 
		translate(-50%, -50%); 
		/* Safari用 */ 
		transform: translate(-50%, -50%); 
		width: 100%; }
}

@media screen and (max-width: 767px) {
  .icn-middle {
      position: relative!important;
      top: auto!important;
      margin:0 auto;
  }
	.par-va-middle{
	    position: inherit;
	}
	.valign-middle{
			position:inherit;
			top: auto!important;
			left: auto!important; 
			-ms-transform: translate(0);
			-webkit-transform: translate(0); 
			transform: translate(0); 
			width: 100%;
	}
}
