@charset "utf-8";


/* ------------------------------------------------------------------------- common */

.slider{ display: flex; }



/* ------------------------------------------------------------------------- fv */
#fv{ overflow: hidden; position: relative; padding: 65px 0 95px; background: url(../images/index/bg_kv.png) center/cover; }
.fv__wrapper{ display: flex; align-items: center; justify-content: space-between; width: 1150px; margin: 0 auto; }
.fv__side-label{ position: absolute; width: 100%; text-align: center; left: 50%; bottom: -30px; transform: translateX(-50%); font-size: 153px; color: #fff; font-family: 'din1451alt'; white-space: nowrap; }

.fv__main{ width: 55%; }
.fv__title{ padding: 0 0 35px; font-size: 35px; font-family: 'Noto-Sans-JP-Bold'; color: #fff; }
.fv__title small{ font-size: 29px; }
.fv__title span{ display: block; }
.fv__title strong{ display: block; padding: 15px 0 0; font-size: 50px; }

.fv-serch{ padding: 20px 20px 25px; border-radius: 15px; background: rgba(0,54,140,0.7); }
.fv-serch__head{ padding: 0 0 20px; font-size: 20px; color: #fff; text-align: center; font-family: 'Noto-Sans-JP-Medium'; }
.fv-serch__item{ display: flex; align-items: center; gap: 25px; padding: 15px 0; border-bottom: 1px solid #fff; }
.fv-serch__item:last-of-type{ padding-bottom: 0; border: none; }
.fv-serch__title{ width: 50px; font-size: 16px; font-family: 'Noto-Sans-JP-Medium'; color: #fff; }
.fv-serch__cat{ width: calc(100% - 80px); display: flex; align-items: stretch; flex-wrap: wrap; justify-content: flex-start; gap: 9px; }
.fv-serch__cat a{ width: calc(100% / 5 - 8px); min-height: 40px; padding: 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border-radius: 7px; background: #fff; color: var(--maincolor); font-size: 14px; text-align: center; }
.fv-serch__cat img{ width: auto; height: 39px; }

.fv-serch__area a{ width: calc(100% / 5 - 8px); }
.fv-serch__industry a{ min-height: 88px; }

.fv__aside{ width: 41%; }
.fv__banner{ cursor: pointer; width: 370px; margin: 0 auto 20px; }
.fv__banner a{ display: block; width: 100%; height: 100%; }

.fv__news{ position: relative; padding: 50px 25px; background: #fff; border-radius: 15px; }
.fv__news:before{ z-index: -1; position: absolute; right: -5px; bottom: -5px; content: ""; width: 100%; height: 100%; background-image: repeating-linear-gradient(140deg, #00368c, #00368c 1px, transparent 1px, transparent 6px); }
.fv__news-title{ padding: 0 0 15px; }
.fv__news-title .en-title{ display: initial; font-size: 37px; }
.fv__news-title .main-title{ padding-left: 5px; }

.news-list__item{ border-bottom: 1px solid #F0F0F0; }
.news-list__link{ display: flex; align-items: center; gap: 17px; padding: 20px 0 23px; width: 100%; }
.news-list__link:hover{ background: var(--subcolor) }
.news-list__date{ font-size: 14px; color: var(--maincolor); width: 100px; }
.news-list__text{ font-size: 14px; line-height: 1.4; }

/* ------------------------------------------------------------------------- blog */
#blog{ padding: 64px 0 77px; background: var(--subcolor); }
.blog__title{ padding: 0 0 35px; }
.blog-card{ padding: 0 0 65px; }
.blog-slider__item{ width: 300px!important; margin: 0 25px; }
.blog-card__thumb{ padding: 0 0 25px; }
.blog-card__thumb img{ width: 100%; height: auto; }

.blog-card__meta{ display: flex; align-items: center; gap: 5px; }
.blog-card__tag{ padding: 6px 13px; font-size: 13px; border: 1px solid #000; border-radius: 100px; font-family: 'Noto-Sans-JP-Medium'; }
.blog-card__title{ padding: 15px 0 20px; font-size: 18px; line-height: 1.7; font-family: 'Noto-Sans-JP-Medium'; }
.blog-card__date{ font-size: 14px; }

/* ------------------------------------------------------------------------- information */
#information{ padding: 90px 0 30px; }
.information .flex{ display: flex; align-items: stretch; justify-content: space-between; gap: 20px; }

.info-bnr{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 35px 25px; padding: 0 0 35px; }
.info-bnr__link{ width: calc(100% / 2 - 15px); }
.info-bnr__link img{ width: 100%; height: auto; }

.info-bnr__title{font-family: 'Noto-Sans-JP-Medium';;text-align: center;color: #fff;font-size: 30px;margin-bottom: 20px;text-shadow: 0px 0px 11px rgba(23, 23, 23, 0.004);}
.info-bnr__title span{font-weight: bold;letter-spacing: 5px;text-indent: 5px;display: block;line-height: 1; font-family: helvetica, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, sans-serif; font-size: 20px;margin-bottom: 15px;}
.info-bnr__text{ font-size: 16px; line-height: 1.7; }

.info-page{ display: flex; align-items: stretch; justify-content: space-between; gap: 25px; }
.info-page a{ width: calc(100% / 2 - 15px); }

.content_company,
.content_about{text-align: center;background-repeat: no-repeat;background-position: center;background-size: cover;margin-bottom: 30px;
color: #fff;padding:45px 20px;letter-spacing: 0;display: block;}
.content_company:link,
.content_about:link,
.content_company:visited,
.content_about:visited{color: #fff;}
.content_company{background-image: url(../images/common/bg_company.jpg);}
.content_about{background-image: url(../images/common/bg_about.jpg);}

.information{background: url(../images/common/bg_information.jpg) no-repeat;background-size: cover;padding:40px 50px;color: #fff;margin-bottom: 30px;}
.information,
.information_right{overflow: hidden;zoom: 1;}
.information_left{float: left;padding-right: 50px;}
.information_left .info-bnr__title{text-align: left;color: #fff;font-size: 30px;line-height: 1.7;margin-bottom: 10px;}
.information_left .info-bnr__title span{font-size: 20px;margin-bottom: 0;}
.information_right{padding-top: 22px;}
.information_right .button{ position: relative; display: flex; align-items: center; justify-content: center; gap: 10px;background-color: #78a0dd;color: #fff;padding-top: 33px;padding-bottom: 33px;box-shadow: 7px 7px 0 #fff;margin-bottom: 10px; margin-right: 10px;}
.information_right .button .arrow{ position: absolute; content: ""; right: 20px; top: 50%; transform: rotate(45deg) translate(0,-50%); width: 15px; height: 15px; border-top: 2px solid #fff; border-right: 2px solid #fff; }
.information_right .info-btn{ width: calc(100% / 3 - 25px); font-family: 'Noto-Sans-JP-Medium'; }




/* ----------------------------- mobile ------------------------------- */
@media only screen and (max-width: 768px) {

/* ------------------------------------------------------------------------- fv */
	#fv{ padding: 20px 0 50px; }
	
	.fv__wrapper{ width: 100%; margin: 0; flex-direction: column; }
	.fv__main{ width: 90%; }
	.fv__aside{ width: 90%; padding: 30px 0 0; }
	.fv__title small{ font-size: 13px; }
	.fv__title{ padding: 0 0 22px; font-size: 18px; }
	.fv__title strong{ padding: 10px 0 0; font-size: 29px; }
	
	.fv-serch__head{ padding: 0 0 10px; font-size: 19px; }
	.fv-serch{ padding: 20px 10px; border-radius: 10px; }
	.fv-serch__item{ gap: 10px; padding: 10px 0; }
	.fv-serch__title{ font-size: 14px; }
	.fv-serch__area a{ width: calc(100% / 3 - 5px); }
	.fv-serch__cat,
	.fv-serch__area .fv-serch__cat{ gap: 5px; }
	.fv-serch__cat{ width: calc(100% - 60px); justify-content: flex-start; }
	.fv-serch__cat a{ width: calc(100% / 3 - 5px); min-height: 35px; gap: 5px; border-radius: 4px; font-size: 12px; }
	.fv-serch__cat img{ height: 23px; }
	.fv-serch__industry a{ min-height: 57px; }
	.fv-serch__time a{ min-height: 35px; }
	
	.fv__banner{ width: 100%; }
	.fv__news{ padding: 20px 15px; border-radius: 10px; }
	.fv__news-title .en-title{ font-size: 35px; }
	.fv__news-title{ padding: 0 0 10px; }
	.news-list__link{ align-items: flex-start; gap: 6px; padding: 15px 0; flex-direction: column; }
	.news-list__date{ font-size: 12px; width: 100%; }
	.news-list__text{ font-size: 12px; }
	
	.fv__side-label{ bottom: -9px; font-size: 50px; }

/* ------------------------------------------------------------------------- blog */
	#blog{ padding: 35px 0 40px; }
	.blog__title{ padding: 0 0 25px; }
	.blog-card{ padding: 0 0 45px; }
	.blog-card__tag{ padding: 5px 10px; font-size: 11px; }
	.blog-card__thumb{ padding: 0 0 20px; }
	.blog-card__title{ padding: 10px 0 8px; font-size: 16px; }
	.blog-card__date{ font-size: 12px; }

	.blog-slider__item{ width: 250px!important; margin: 0 15px; }

/* ------------------------------------------------------------------------- information */
	#information{ padding: 40px 0 20px; }
	
	.info-page a{ width: 100%;}
	.info-page a:not(:last-child){margin: 0 0 20px;}
	.content_company,
	.content_about{ width: 100%; margin-bottom: 0; padding: 20px 20px 15px; }
	.blog-card{ padding: 0 0 45px; }
	.info-bnr{ gap: 15px; padding: 0 0 15px;display: block; }
	.info-bnr__link{ width: 100%; display: block; height: auto;}
	.info-bnr__link:not(:last-child){margin: 0 0 20px;}
	
	.info-page{ display: block; column; gap: 15px; }
	.info-bnr__title{ font-size: 20px; margin-bottom: 14px; }
	.info-bnr__title span{ font-size: 14px; margin-bottom: 9px; }
	.info-bnr__text{ font-size: 13px; }
	.information{ margin: 15px 0; padding: 25px 10px; }
	.information_left,
	.information_right{ display: block; width: 100%; float: none; padding: 0; }
	.information_left{ padding: 0 0 20px; }
	.information_left .info-bnr__title{ font-size: 22px; margin-bottom: 5px; text-align: center; }
	.information_left .info-bnr__title span{ font-size: 14px; }
	.information_left .info-bnr__text{ font-size: 15px; text-align: center; letter-spacing: 0.15em; }
	.information .flex{ gap: 10px; }
	.information_right .info-btn{ width: 100%; position: relative; min-height: 1px; }
	.information_right .button{ margin-bottom: 5px; margin-right: 5px; padding-top: 11px; padding-bottom: 13px; box-shadow: 4px 4px 0 #fff; font-size: 12px; line-height: 1.5; text-align: center; }
	.information_right .button .arrow{ right: 8px; width: 8px; height: 8px; }


}
