/* ----------------------------------------*/

/* hero */

/* ----------------------------------------*/

.hero {
	background: url(../images/index/hero-bg.jpg) no-repeat center center;
	-moz-background-size: cover;
	-o-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
}

.hero__inner {
	position: relative; /*background:url(../images/index/hero-bg-inner.jpg) no-repeat center center;*/
	-moz-background-size: cover;
	-o-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
	height: 459px;
	max-width: 1280px;
	margin-right: auto;
	margin-left: auto;
}

.hero__table {
	position: absolute;
	top: 0;
	left: 0;
	display: table;
	width: 100%;
	height: 459px;
}

.hero__cell {
	display: table-cell;
	vertical-align: middle;
}

.hero__logo {
	text-align: center;
	font-size: 0;
	margin-bottom: 45px;
	padding-top: 20px;
	width: 230px;
	margin-right: auto;
	margin-left: auto;
}

.hero__logo img {
	width: 100%;
}

.hero__copy {
	text-align: center;
	font-size: 0;
	width: 418px;
	margin-right: auto;
	margin-left: auto;
}

.hero__copy img {
	width: 100%;
}

.hero__subnav {
	position: absolute;
	top: 25px;
	right: 0;
	width: 100%;
}

/* ----------------------------------------*/

/* about */

/* ----------------------------------------*/

.about {
	padding-top: 60px;
}

.about__message {
	text-align: center;
	font-size: 15px;
	letter-spacing: 0.2em;
	line-height: 173.3%;
	margin-bottom: 40px;
}

.about__message span {
	display: inline-block;
/*	text-align: left;*/
}

.about__btn {
	width: 220px;
	margin-right: auto;
	margin-left: auto;
}

/* ----------------------------------------*/

/* banner01 */

/* ----------------------------------------*/

.banner01 {
	width: 980px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 20px;
	padding-right: 20px;
}

.banner01 .item__link {
	border: 1px solid #cdcdcd;
	text-decoration: none;
	background: url(../images/common/icon-arw-right-red.png) no-repeat right 19px center;
}

.banner01 .item__link:hover {
	filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
	opacity: 1;
	-moz-box-shadow: 4px 4px 6px 0px rgba(0, 0, 0, 0.08);
	-webkit-box-shadow: 4px 4px 6px 0px rgba(0, 0, 0, 0.08);
	box-shadow: 4px 4px 6px 0px rgba(0, 0, 0, 0.08);
}

.banner01 .item__table {
	height: 100px;
	display: table;
	width: 100%;
	height: 100px;
}

.banner01 .item__cell {
	display: table-cell;
	vertical-align: middle;
	padding-left: 55px;
}

.banner01 .item__row {
	font-size: 0;
}

.banner01 .item__col {
	display: inline-block;
	vertical-align: middle;
	*vertical-align: auto;
	*zoom: 1;
	*display: inline;
}

.banner01 .item__col--icon {
	width: 75px;
}

.banner01 .item__col--contents {
	width: 290px;
}

.banner01 .item__icon {
	width: 50px;
	height: 50px;
	border-radius: 100%;
	display: block;
	border: 1px solid #cdcdcd;
	text-align: center;
	line-height: 50px;
}

.banner01 .item__icon img {
	vertical-align: middle;
}

.banner01 .item__ttl {
	letter-spacing: 0.1em;
	font-size: 15px;
}

.banner01 .item__txt {
	font-size: 12px;
	letter-spacing: 0;
	line-height: 150%;
}

/* ----------------------------------------*/

/* news */

/* ----------------------------------------*/

.news {
	padding-bottom: 70px;
}

.news__ttl {
	text-align: center;
	margin-bottom: 40px;
}

.news__contents {
	width: 620px;
	margin-right: auto;
	margin-left: auto;
}

.news__contents dl {
	overflow: hidden;
	_zoom: 1;
	margin-bottom: 15px;
	font-size: 12px;
	letter-spacing: 0;
}

.news__contents dl:last-child {
	margin-bottom: 0;
}

.news__contents dl dt {
	float: left;
	font-size: 0;
}

.news__contents dl dt span {
	font-size: 12px;
	letter-spacing: 0;
}

.news__contents dl dt .category {
	display: inline-block;
	vertical-align: middle;
	*vertical-align: auto;
	*zoom: 1;
	*display: inline;
	width: 75px;
}

.news__contents dl dt .time {
	display: inline-block;
	vertical-align: middle;
	*vertical-align: auto;
	*zoom: 1;
	*display: inline;
	width: 125px;
}

.news__contents dl dd {
	overflow: hidden;
	_zoom: 1;
}

.news__contents dl dd a {
	text-decoration: none;
	display: block;
}

.news__new {
	color: #c30;
}

.news__more {
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.075em;
	font-weight: bold;
	margin-top: 20px;
}

.news__more a {
	background: url(../images/common/icon-arw-right-line-red.png) left top 2px no-repeat;
	text-decoration: none;
	padding-left: 25px;
	color: #333;
}

/* ----------------------------------------*/

/* banner02 */

/* ----------------------------------------*/

.banner02 {
	width: 980px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 45px;
}



.br__sp {
    display: none;
}


/* ----------------------------------------*/

/* newpro */

/* ----------------------------------------*/

.newpro {
	width: 980px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 45px;
}


/* ----------------------------------------*/

/* info */

/* ----------------------------------------*/

.info {
	width: 980px;
	margin-right: auto;
	margin-left: auto;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 70px;
}

.info__row:after {
	content: " ";
	display: block;
	clear: both;
}

.info__col {
/*	width: 50%;
	float: left;*/
}

.info__col--news {
/*	border-right: 1px solid #dcdcdc;*/
}

.info__cate {
/*	width: 65px;*/
    min-width: 95px;
    border-radius: 1em;
    background-color: #e9e9e9;
    color: #5e5e5e;
    font-size: 12px;
    text-align: center;
    line-height: 1;
    padding: 5px 0;
}

.info__date {
/*	width: 125px;*/
}

.info .section02 {
	padding-bottom: 35px;
}

.info .section02__ttl__inner {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.info .section02__ttl {
	font-size: 20px;
	text-align: center;
/*	margin-bottom: 35px;*/
    font-weight: normal;
    letter-spacing: 0.2em;
}

.info .section02 dl {
    display: flex;
    align-items: flex-start;
    column-gap: 15px;
/*	overflow: hidden;
	_zoom: 1;*/
	font-size: 14px;
	letter-spacing: 0;
	line-height: 166.6%;
    border-bottom: 1px solid #efefef;
    padding-top: 15px;
    padding-bottom: 15px;
}

.info .section02 dl:first-child {
    border-top: 1px solid #efefef;
}
.info .section02 dl:last-child {
	margin-bottom: 0;
}

.info .section02 dl dt {
/*	float: left;
    padding-bottom: 5px;
    padding-right: 1em;*/
    color: #666;
    display: flex;
    align-items: center;
    column-gap: 15px;
    white-space: nowrap;
}

.info .section02 dl dd {
	overflow: hidden;
	_zoom: 1;
    font-size: 14px;
}

.info .section02 dl dd a {
	text-decoration: none;
/*	display: block;*/
}

.info .news__entries {
/*	padding-right: 35px;*/
}

.info .media__entries {
	padding-left: 35px;
/*	padding-right: 10px;*/
}

.info__new {
	color: #c30;
    font-weight: bold;
    font-size: 11px;
/*    padding-left: 1em;*/
}

.info__more {
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.075em;
/*	font-weight: bold;
	margin-top: 30px;*/
}

.info__more a {
	background: url(../images/common/icon-arw-right-line-red.png) left top 2px no-repeat;
	text-decoration: none;
	padding-left: 25px;
	color: #333;
}


/* ----------------------------------------*/

/* SP */

/* ----------------------------------------*/

@media screen and (max-width: 980px) {
    
.wrap {
    min-width: 100%;
}
.banner01, .banner02, .newpro {
    width: 100%;
}
.banner01 {
    margin-top: 40px;
}
.banner01 .item__col--contents {
    width: auto;
}
.banner01 .item__cell {
    padding-left: 25px;
}
.banner01 .item__link {
    background: url(../images/common/icon-arw-right-red.png) no-repeat right 25px center;
}
.news__contents {
    width: 100%;
    padding-right: 20px;
    padding-left: 20px;
}
.news__contents dl dt .category {
    width: 100px;
}

.info {
    width: 100%;
}
    
    
}


@media screen and (max-width: 479px) {

    .hero__logo img, .hero__copy img {
        width: 90%;
    }
    .hero__logo {
        margin-bottom: 50px;
    }
    .header-index .header__nav {
        border-bottom: none;
    }
    .header-index .header .nav__list {
        width: 100%;
    }
    .header-index .header .nav__list li {
        border: 1px solid #b3b3b3;
    }
    .header-index .header .nav__list li:nth-child(1) {
        width: 38%;
        border-bottom: none;
        border-left: none;
    }
    .header-index .header .nav__list li:nth-child(2) {
        width: 32%;
        border-bottom: none;
        border-left: none;
    }
    .header-index .header .nav__list li:nth-child(3) {
        width: 30%;
        border-bottom: none;
        border-right: none;
        border-left: none;
    }
    .header-index .header .nav__list li:nth-child(4) {
        width: 38%;
        border-left: none;
    }
    .header-index .header .nav__list li:nth-child(5) {
        width: 32%;
        border-left: none;
    }
    .header-index .header .nav__list li:nth-child(6) {
        width: 30%;
        border-left: none;
        border-right: none;
    }
    .header-index .header .nav__list li:nth-child(2) {
        border-left: 0px;
    }
    .header-index .header .nav__list li a {
        border-right: none;
        display: block;
        height: 59px;
        line-height: 59px;
    }
    
    .C-row--two .C-row__col {
        width: 100%;
        margin-bottom: 15px;
    }
    .banner01 .C-row__col {
        float: none;
        margin-right: 0;
    }
    .banner01 .C-row, .banner02 .C-row {
        margin-top: 0;
        margin-right: -20px;
    }
    .C-row--pb30 .C-row__col {
        padding-bottom: 0;
    }
    .section__ttl {
        font-size: 18px;
    }
    
    .C-row--four .C-row__col {
        width: 50%;
        margin-bottom: 15px;
    }
    .header-index .C-card__main {
        background-size: 100% auto;
        background-repeat: no-repeat;
        height: 140px;
    }
    .header-index .C-card__body {
        padding: 0 19px 10px 19px;
    }

    .hero__copy {
        width: 80%;
    }
    .hero__inner, .hero__table {
        height: 580px;
    }
    
    .news__contents dl dt .category {
        display: none;
    }
    .br__sp {
        display: block;
    }    
    
    .newpro {
    }
    .newpro .C-row.C-row--four {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-right: 0;
    }
    .newpro .C-row--four .C-row__col{
        width: calc((100% - 10px)/2);
        float: none;
        padding-right: 0;
    }
    .newpro .C-row:after {
        display: none;
    }   
    
    
    
    .info {
    width: 100%;
    }
    .info__col {
    width: 100%;
    float: none;
    }
    .info__col--news {
        border-right: none;
    }
    .info .section02 {
        padding-top: 20px;
    }
    .info .news__entries {
    padding-right: 0;
    }
    .info .media__entries {
    padding-left: 0;
    padding-right: 0;
    }
    .info .section02 dl {
        display: block;
    }
    .info .section02 dl dt {
        padding-bottom: 5px;
    }
    .info__cate {
        padding: 3px 0;
    }

}
