@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Quattrocento+Sans:700);

/********************************************************* fade top*/
.hero_slide {
	position: relative;
	height: 380px;
}
.hero_slide_nav_wrap {
	background-color: #f8f6f3;
	padding: 15px 0;
}
.hero_slide_nav {
	text-align: center;
}
.hero_slide_nav li {
	margin: 0 7px;
	outline: none;
	position: relative;
	/*width: 243px;*/
	cursor: pointer;
	letter-spacing: normal;
}
.hero_txt {
	position: absolute;
	display: table;
	z-index: 2;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #fff;
	font-weight: bold;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, .8), -1px -1px 5px rgba(0, 0, 0, .8);
	top: 0;
	left: 0;
	font-family: '游ゴシック', YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
}
.hero_txt > a {
	display: table-cell;
	padding: 10px;
	vertical-align: middle;
	color: #fff;
	text-decoration: none;
	transition: background-color 0.3s ease;
}
.hero_txt > a:hover {
	background-color: rgba(255,255,255,0.2);
}
.hero_txt h1 {
	font-size: 32px;
	line-height: 1.2;
	text-align: center;
	padding-top: 3em;
}
.hero_txt h1 .en {
	font-size: 25px;
}
.hero_txt p {
	font-size: 18px;
	line-height: 1.4;
	margin-top: 20px;
	text-align: center;
}
.hero_slide_nav li.slick-active:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border: 5px solid #ffaa00;
	box-sizing: border-box;
}
.hero_slide .child {
	height: 380px;
}
.hero_slide .slide01,
.hero_slide .slick-dots li:nth-child(1) button {
	background: url(../../new_images/slide_img01.jpg) no-repeat center top / cover;
}
.hero_slide .slide02,
.hero_slide .slick-dots li:nth-child(2) button {
	background: url(../../new_images/slide_img02.jpg) no-repeat center top / cover;
}
.hero_slide .slide03,
.hero_slide .slick-dots li:nth-child(3) button {
	background: url(../../new_images/slide_img03.jpg) no-repeat center top / cover;
}
.hero_slide .slide04,
.hero_slide .slick-dots li:nth-child(4) button {
	background: url(../../new_images/slide_img04.jpg) no-repeat center top / cover;
}
.hero_slide .slide05,
.hero_slide .slick-dots li:nth-child(5) button {
	background: url(../../new_images/slide_img05.jpg) no-repeat center top / cover;
}


@media screen and (max-width: 736px) {
.hero_slide,
.hero_slide .child {
	height: 240px;
}
.hero_txt h1 {
	padding-top: 0;
	font-size: 25px;
}
.hero_txt h1 .en {
	font-size: 18px;
}
/*.hero_slide a > div {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	padding: 10px;
}*/
}

/********************************************************* top*/
#top {
	position: relative;
	background-color: #001D44;
	border-top: 6px solid #2f4fa1;
}
#company.index #top .lead,
#statement.index #top .lead,
#state-technology.index #top .lead,
#state-people.index #top .lead,
#state-culture.index #top .lead,
#state-creative.index #top .lead,
#state-fulfilling.index #top .lead,
#state-sustainable.index #top .lead,
#english.index #top .lead,
#recruit.index #top .lead {
	margin-top: 0px;
}
#top .lead {
	position: relative;
	color: #fff;
	letter-spacing: 0.05em;
	font-weight: bold;
	font-family: '游ゴシック', YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
}
#top .lead h1 {
	font-size: 34px;
	line-height: 1.3;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, .8), -1px -1px 5px rgba(0, 0, 0, .8);
}
#home #top .lead h1 {
	font-size: 30px;
	line-height: 1.2;
	text-align: center;
	margin-top: 2em;
}
#home #top .lead h1 .en {
	font-size: 25px;
}
#top .lead p {
	text-shadow: 1px 1px 5px rgba(0, 0, 0, .8), -1px -1px 5px rgba(0, 0, 0, .8);
	font-size: 18px;
	line-height: 1.4;
	margin-top: 20px;
	text-align: center;
}
#top .lead a {
	color: #fff;
	text-decoration: none;
}
#home #topIn {
	height: 380px;
}
#topIn {
	height: 290px;
	overflow: hidden;
	display: table;
	width: 100%;
}
#topIn .lead {
	display: table-cell;
	vertical-align: middle;
}
#ir.index #topIn {
	height: 750px;
}
#company.index #topIn,
#statement.index #topIn,
#state-technology.index #topIn,
#state-people.index #topIn,
#state-culture.index #topIn,
#state-creative.index #topIn,
#state-fulfilling.index #topIn,
#state-sustainable.index #topIn,
#english.index #topIn,
#recruit.index #topIn {
	height: 290px;
}
#news.index #topIn {
	background: url(/news/img/img_header_news.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#company.index #topIn {
	background: url(/company/images/img_header.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#statement.index #topIn {
	background: url(/statement/images/img_header.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#state-technology.index #topIn {
	background: url(/statement/images/img_header_technology.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#state-people.index #topIn {
	background: url(/statement/images/img_header_people.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#state-culture.index #topIn {
	background: url(/statement/images/img_header_culture.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#state-creative.index #topIn {
	background: url(/statement/images/img_header_creative.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#state-fulfilling.index #topIn {
	background: url(/statement/images/img_header_fulfilling.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#state-sustainable.index #topIn {
	background: url(/statement/images/img_header_sustainable.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#english.index #topIn {
	background: url(/english/images/img_header.jpg) no-repeat center center #001D44;
	background-size: cover;
}
#recruit.index #topIn {
	background: url(/recruit/images/img_header.jpg) no-repeat center center #001D44;
	background-size: cover;
}
.slide img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 736px) {
#news.index #top .lead,
#company.index #top .lead,
#statement.index #top .lead,
#state-technology.index #top .lead,
#state-people.index #top .lead,
#state-culture.index #top .lead,
#state-creative.index #top .lead,
#state-fulfilling.index #top .lead,
#state-sustainable.index #top .lead,
#recruit.index #top .lead,
#english.index #top .lead {
	height: 200px;
}
#top .lead img {
	/* width: 225px; */
	width: 130px;
	height: auto;
}
#topIn {
	height: 300px;
	position: relative;
}
#ir.index #topIn,
#home #topIn {
	height: 250px;
}
#news.index #topIn,
#company.index #topIn,
#statement.index #topIn,
#state-technology.index #topIn,
#state-people.index #topIn,
#state-culture.index #topIn,
#state-creative.index #topIn,
#state-fulfilling.index #topIn,
#state-sustainable.index #topIn,
#english.index #topIn,
#recruit.index #topIn {
	height: 200px;
}
#top .lead .inner {
	padding: 0 15px;
}
#top .lead h1 {
	font-size: 22px;
}
#home #top .lead h1 {
	font-size: 25px;
	line-height: 1.5;
	margin-top: 0;
}
#home #top .lead h1 .en {
	font-size: 16px;
}
#home #top .lead {
	/* text-align: center; */
}
#home #top .lead p {
	font-size: 14px;
}
.slide img {
	min-height: 300px;
}
}
/********************************************************* section*/
.topSection {
	padding: 70px 0;
}
.topSection h2 {
	text-align: center;
	margin-bottom: 20px;
}
.topSection h2 + p {
	text-align: center;
	letter-spacing: 2px;
	font-size: 16px;
	color: #4779b3;
	margin-bottom: 40px;
	font-weight: bold;
}
.stateSection {
	padding: 70px 0;
}
.stateSection + .stateSection:not(.bgGray) {
	padding-top: 0;
}
.stateSection p:not(:last-child),
.stateSectionEx p:not(:last-child) {
	margin-bottom: 1.5em;
}
.stateSectionEx + .stateSectionEx {
	margin-top: 30px;
}
.stateSectionEx .inner {
	padding: 40px 0;
}
.setionBorder {
	margin-bottom: 40px;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 40px;
}
.effortsSection {
	margin-top: 40px;
}
.ttlState {
    font-weight: bold;
    color: #4779b3;
    font-size: 24px;
    margin-bottom: 20px;
    letter-spacing: 4px;
	line-height: 1.4;
}
.ttlState img {
	margin-bottom: 5px;
}
.ttlState .sub {
	font-size: 18px;
	letter-spacing: 2.5px;
}
.ttlStateSub {
	font-size: 18px;
	color: #4779b3;
	margin-bottom: 10px;
}
p + .ttlStateSub {
	margin-top: 30px;
}
.ttlStateSub02 {
	color: #fff;
	padding: 8px 10px;
	background-color: #4779b3;
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 15px;
	border-radius: 3px;
}
.orange {
	background-color: #ee7800;
}
.green {
	background-color: #009944;
}
.ttlStateVisual {
	width: 100%;
	display: table;
	background-color: #ccc;
}
.bg_sustainable {
	background: #333 url(../statement/images/bg_sustainable.jpg) no-repeat center center / cover;
}
.bg_creative {
	background: #333 url(../statement/images/bg_creative.jpg) no-repeat center center / cover;
}
.bg_fulfilling {
	background: #333 url(../statement/images/bg_fulfilling.jpg) no-repeat center center / cover;
}
.bg_efforts01 {
	background: url(../statement/images/img_efforts01.jpg) no-repeat center center / cover;
}
.bg_efforts02 {
	background: url(../statement/images/img_efforts02.jpg) no-repeat center center / cover;
}
.bg_efforts03 {
	background: url(../statement/images/img_efforts03.jpg) no-repeat center center / cover;
}
.ttlStateVisual > * {
	display: table-cell;
	height: 300px;
	vertical-align: middle;
	text-align: center;
	color: #fff;
	padding: 10px;
	text-shadow: 1px 1px 5px rgba(0, 0, 0, .5), -1px -1px 5px rgba(0, 0, 0, .5);
}
.ttlStateVisual .ttl {
	font-size: 28px;
}
.ttlStateVisual .lead {
	font-size: 18px;
	font-weight: bold;
	margin-top: 15px;
}
.ttlStateVisual a {
	text-decoration: none;
	color: #fff;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.ttlStateVisual a:hover {
	opacity: .7;
}
.statelead {
	font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.05em;
}
#en .statelead {
	letter-spacing: 0em;
}
.border {
	padding-bottom: 30px;
	border-bottom: 1px dashed #ccc;
}
a.blocklink {
	display: block;
	text-decoration: none;
	transition: opacity 0.3s ease;
}
a.blocklink:hover {
	opacity: .7;
}

@media screen and (max-width: 736px) {
.topSection {
	padding: 30px 15px;
}
.topSection h2 {
	margin-bottom: 10px;
}
.topSection h2 img {
	width: auto;
	height: 20px;
	display: none;
}
.stateSection h2:before,
.topSection h2:before{
	content: attr(data-sptext);
	/*display: block;*/
	color: #4779b3;
	font-weight: 700;
	letter-spacing: 2px;
	font-family: 'Quattrocento Sans', sans-serif;
	font-size: 25px;
	line-height: 1.2;
}
.topSection h2 img[src*=ttl_comcontents],
.topSection h2 img[src*=ttl_pressinfo],
.topSection h2 img[src*=ttl_rec-contents] {
	max-width: 100%;
	height: auto;
}
.topSection h2 + p {
	font-size: 14px;
	margin-bottom: 20px;
}
.topSection .fb-page {
	width: 100%;
}
.topSection .fb-page iframe {
	width: 100%;
}
.stateSection {
	padding: 30px 15px;
}
.stateSection img {
	max-width: 100%;
	width: 100%;
	height: auto;
}
.stateSectionEx .inner {
	padding: 30px 15px;
}
.ttlState {
    font-size: 20px;
    margin-bottom: 10px;
    letter-spacing: 0;
}
.ttlStateVisual > * {
	height: 200px;
}
.ttlStateVisual .ttl {
	font-size: 24px;
}
.ttlStateVisual .lead {
	font-size: 15px;
}
.ttlStateSub {
	font-size: 16px;
	margin-bottom: 10px;
}
}
/********************************************************* column*/
.topColsWrap {
	overflow: hidden;
	margin: 0 -20px;
}
.topColsWrap > div {
	width: 50%;
	padding: 0 20px;
	position: relative;
	float: left;
}
.topColsWrap .btns {
	margin-top: 20px;
}
.topColsWrap .btns p:not(:first-child) {
	margin-top: 10px;
}
.flexCols {
	display: flex;
}
.flexCols + * {
	margin-top: 30px;
}
.flexCols .img {
	margin-right: 30px;
}

@media screen and (max-width: 736px) {
.topColsWrap {
	display: block;
	width: auto;
	margin: 0;
}
.topColsWrap > div {
	width: auto;
	padding: 0;
	display: block;
	float: none;
}
.topColsWrap > div + div {
	margin-top: 30px;
}
.topColsWrap .btns {
	position: static;
	padding: 0;
	margin-top: 15px;
}
.topColsWrap .btns p:not(:first-child) {
	margin-top: 10px;
}
.flexCols {
	display: block;
}
.flexCols .img {
	margin-right: 0;
	margin-bottom: 15px;
	text-align: center;
}
}
/********************************************************* title*/
.ttlMidBar {
	font-size: 18px;
	color: #4779b3;
	position: relative;
	font-weight: normal;
	margin-bottom: 15px;
	letter-spacing: 1px;
}
.ttlMidBar:after {
	content: '';
	height: 1px;
	width: 100%;
	background-color: #4779b3;
	left: 0;
	top: 50%;
	margin-top: -1px;
	display: block;
	position: absolute;
}
.ttlMidBar span {
	display: inline-block;
	background-color: #fff;
	padding-right: 5px;
	position: relative;
	z-index: 2;
}

@media screen and (max-width: 736px) {
.ttlMidBar {
	margin-bottom: 10px;
	border-bottom: 1px solid #4779b3;
	padding-bottom: 5px;
}
.ttlMidBar:after {
	display: none;
}
.ttlMidBar span {
	position: static;
	z-index: 0;
}
}
/********************************************************* bread*/
.bread {
  padding: 20px 0 0;
}
.bread li {
  display: inline-block;
}
.bread li:not(:last-child):after {
  content: '>';
  display: inline-block;
  vertical-align: middle;
  padding-left: 5px;
}
.bread a:hover {
  text-decoration: none;
}

@media screen and (max-width: 736px) {
  .bread {
    font-size: 12px;
  }
}
/********************************************************* btn*/
a.btnRadius {
	background-color: #fff;
	border: 1px solid #4779b3;
	border-radius: 20px;
	text-align: center;
	color: #4779b3;
	text-decoration: none;
	display: block;
	font-size: 18px;
	padding: 6px 35px;
	position: relative;
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}
a.btnRadius:after {
	margin-top: -10px;
	content: '→';
	position: absolute;
	top: 50%;
	right: 10px;
	height: 20px;
	width: 20px;
	line-height: 20px;
}
#english a.btnRadius:after {
	content: '»';
	margin-top: -11px;
}
a.btnRadius:hover {
	color: #fff;
	border: 1px solid #fff;
	background-color: #4779b3;
}
a.btnRadius.rss:after {
	content: '';
	background: url(/new_common/images/icon_rss.png) no-repeat;
	-webkit-background-size: 100% auto;
	background-size: 100% auto;
	height: 16px;
	width: 16px;
	margin-top: -8px;
}

@media screen and (max-width: 736px) {
a.btnRadius {
	font-size: 16px;
}
}
/********************************************************* list*/
.listNewsBtns {
	margin-top: 40px;
}
.listNewsBtns li {
	display: inline-block;
	margin-right: 5px;
	margin-bottom: 10px;
}
.listNewsBtns a.btnRadius {
	letter-spacing: 1px;
	font-size: 14px;
	min-width: 140px;
}
.listTopNews li {
	overflow: hidden;
	margin-top: 20px;
	font-size: 15px;
}
.listTopNews .date, .listTopNews time {
	float: left;
	width: 150px;
}
.listTopNews .date + p, .listTopNews time + p {
	float: left;
	width: 886px;
}
.listTopNews .catIcon {
	float: left;
}
.listTopNews a {
	text-decoration: none;
	overflow: hidden;
	display: block;
}
.listTopNews a:hover {
	text-decoration: underline;
}
.listContentCat {
	text-align: center;
	margin-top: -80px;
}
.listContentCat li {
	display: inline-block;
	vertical-align: middle;
	width: 33%;
	margin-top: 80px;
	font-weight: bold;
}
.listContentCat a {
	display: inline-block;
	text-decoration: none;
	letter-spacing: 1px;
	vertical-align: bottom;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.listContentCat a:hover {
	opacity: .7;
}
.listContentCat .icon {
	height: 110px;
	display: table-cell;
	vertical-align: middle;
	padding-bottom: 20px;
}
.listContentCat span {
	display: table-footer-group;
}

.listContentCats {
	margin-top: -80px;
	text-align: center;
}
.listContentCats li {
	margin-top: 80px;
	display: inline-block;
	vertical-align: bottom;
	width: 33%;
}
.listContentCats a {
	-webkit-transition: color 0.3s ease;
	transition: color 0.3s ease;
	display: block;
	text-decoration: none;
	text-align: center;
}
.listContentCats a:before {
	display: inline-block;
	font-size: 100px;
	margin-bottom: 10px;
}
.listContentCats a.icon-mail:before {
	font-size: 95px;
}
.listContentCats li span {
	letter-spacing: 1px;
	font-weight: bold;
	display: block;
}

.listTanshin li {
	font-size: 16px;
	position: relative;
	padding-left: 15px;
}
.listTanshin li:not(:first-child) {
	margin-top: 15px;
}
.listTanshin li:before {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #4779b3;
	left: 0;
	top: 6px;
}
.listEfforts {
	display: flex;
	justify-content: space-between;
}
.listEfforts li {
	width: 31%;
}
.listEfforts .ttlStateVisual {
	margin-bottom: 10px;
	position: relative;
}
.listEfforts .ttlStateVisual .down:after {
	position: absolute;
	right: 10px;
	bottom: 10px;
	content: '▼';
	line-height: 1;
	color: #4779b3;
}
.listEfforts .ttlStateVisual > * {
	height: 200px;
}
@media screen and (max-width: 736px) {
.listNewsBtns {
	margin-top: 20px;
}
.listTopNews li {
	margin-top: 20px;
}
.listTopNews .date,  .listTopNews time,  .listTopNews p {
	float: none !important;
	width: auto !important;
}
.listTopNews .date + div {
	float: none;
	width: auto;
}
.listTopNews .catIcon {
	float: none;
}
.listContentCat {
	text-align: center;
	margin-top: -30px;
	letter-spacing: -1em;
}
.listContentCat li {
	width: 50%;
	margin-top: 30px;
}
.listContentCats {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: -30px;
}
.listContentCats.cf:after,
.listContentCats.cf:before {
	display: none;
}
.listContentCats a:before {
	font-size: 70px;
}
.listContentCats li {
	width: 50%;
	display: block;
	margin-top: 30px;
}
.listContentCats a.icon-mail:before {
	font-size: 68px;
}
.listContentCat li:first-child img {
	width: 70%;
}
.listContentCat img {
	width: 60%;
	height: auto;
}
.listContentCat .icon {
	height: 100px;
}
}
/********************************************************* slideshare*/
.slideshare {
	margin-bottom: 10px;
}
.slideshare iframe {
	border: 1px solid #ccc;
	width: 100%;
}
.moviethumb {
	text-align: center;
}
.moviethumb img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 736px) {
.slideshare {
	position: relative;
	width: 100%;
	overflow: hidden;
	min-height: 200px;
	padding-top: 56.25%;
}
.slideshare iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
}
/********************************************************* section indivisual*/
#irPress, #irContents, .bgGray {
	background-color: #f8f6f3;
}
#irSocialMedia {
	background-color: #4779b3;
	color: #fff;
}
#irSocialMedia h2 + p {
	color: #fff;
}
#irSocialMedia .ttlMidBar {
	color: #fff;
}
#irSocialMedia .ttlMidBar:after {
	background-color: #fff;
}
#irSocialMedia .ttlMidBar span {
	background-color: #4779b3;
}
#irSocialMedia .ttlMidBar em {
	font-weight: bold;
}
#irSocialMedia .ttlMidBar a {
	color: #fff;
	text-decoration: none;
}
#irSocialMedia .ttlMidBar a:after {
	line-height: 20px;
	content: '';
	background: url(/new_common/images/icon_arrow01.png) no-repeat center center white;
	-webkit-background-size: 10px auto;
	background-size: 10px auto;
	width: 20px;
	height: 20px;
	color: #4779b3;
	font-size: 12px;
	text-align: center;
	display: inline-block;
	border-radius: 50%;
	font-weight: bold;
	margin-left: 5px;
	vertical-align: middle;
}
#irSocialMedia .ttlMidBar a:hover {
	color: #ff9c00;
}
#irSocialMedia .ttlMidBar a:hover:after {
	background-color: #ff9c00;
}

@media screen and (max-width: 736px) {
/*#irSocialMedia h2 {
	background: url(/ir/images/ttl_accounts_sp.png) no-repeat center top;
	-moz-background-size: auto 100%;
	-o-background-size: auto 100%;
	-webkit-background-size: auto 100%;
	background-size: auto 100%;
	height: 44px;
}
#irSocialMedia h2 img {
	display: none;
}*/
#irSocialMedia h2:before {
	color: #fff;
}
#irSocialMedia .ttlMidBar {
	border-bottom: 1px solid #fff;
}
}

/********************************************************* portal*/
#portal {
	background: url(/new_images/bg_portal.png) no-repeat center top #f8f6f3;
	background-size: 100%;
	height: 720px;
	max-height: 720px;
}
#portal .inner {
	height: 100%;
	position: relative;
	display: table;
}
#portal .inner > div {
	vertical-align: middle;
	display: table-cell;
	text-align: right;
}
#portal .inner > div > div {
	display: inline-block;
	text-align: left;
}
#portal h2 {
	margin: 0 0 30px 0;
}
#portal a {
	height: 100%;
	text-decoration: none;
	display: block;
	transition: background-color 0.3s ease;
}
#portal a:hover {
	background-color: rgba(255,255,255,0.3);
	color: #4779b3;
}
#portal p {
	margin-bottom: 30px;
	font-family: '游ゴシック', YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
	font-weight: bold;
	font-size: 20px;
	letter-spacing: 0.05em;
}
#portal .btn {
	text-align: right;
	line-height: 1;
	position: relative;
	margin-right: 10px;
	transition: margin 0.3s ease;
}
#portal a:hover .btn {
	margin: 0;
}

@media screen and (max-width: 736px) {
#portal {
	height: 300px;
	min-height: 300px;
	background-size: cover;
}
#portal .inner > div {
	padding: 0 20px;
	text-align: left;
}
#portal h2 {
	margin: 0 0 20px 0;
}
#portal p {
	margin-bottom: 20px;
	font-size: 16px;
}
#portal .btn img {
	width: 20px;
	height: auto;
	vertical-align: top;
}
}
/********************************************************* product*/
#product {
	position: relative;
	background: url(/new_images/img_product.jpg) no-repeat center top #4779b3;
	background-size: 100%;
	height: 720px;
	max-height: 720px;
}
#product .inner {
	height: 100%;
	position: relative;
	display: table;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.05em;
	font-family: '游ゴシック', YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo;
}
#product .inner > div {
	display: table-cell;
	vertical-align: middle;
}
#product .inner > div > div {
	display: inline-block;
}
#product a {
	display: block;
	height: 100%;
	color: #fff;
	transition: background-color 0.3s ease;
	text-decoration: none;
	background-color: rgba(0,0,0,0.2);
}
#product a:hover {
	background-color: rgba(0,0,0,0.3);
}
#product h2 {
	font-size: 34px;
	line-height: 1.3;
	margin-bottom: 30px;
}
#product p {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.05em;
	margin-bottom: 30px;
}
.listCircles {
	display: flex;
	justify-content: center;
	margin-top: 20px;
}
.listCircles li {
	width: 220px;
	height: 220px;
	border: 2px solid #4779b3;
	border-radius: 50%;
	/*float: left;*/
	display: table;
	text-align: center;
	margin-right: 30px;
	font-size: 16px;
	font-weight: bold;
	color: #4779b3;
}
.listCircles li:last-child {
	margin-right: 0;
}
.listCircles li > div {
	display: table-cell;
	vertical-align: middle;
}
#product .btn {
	text-align: right;
	line-height: 1;
	margin-right: 10px;
	transition: margin 0.3s ease;
}
#product a:hover .btn {
	margin: 0;
}
.video {
	background-color: #fff;
	text-align: center;
}
.video a {
	padding: 60px 0;
	display: block;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	background: url(/new_images/btn_arrow02.png) no-repeat 95% center;
}
.video a:hover {
	background-color: rgba(255, 255, 255, 0.4);
	background-position: 96% center;
}

@media screen and (max-width: 736px) {
#product {
	height: 300px;
	min-height: 300px;
	background-size: cover;
}
#product .inner > div {
	padding: 20px;
}
#product .btn img {
	width: 20px;
	height: auto;
	vertical-align: top;
}
#product h2 {
	margin-bottom: 20px;
	font-size: 20px;
}
#product p {
	font-size: 14px;
	margin-bottom: 20px;
}
.video a {
	padding: 1.5em 0;
	line-height: 1;
	background-position: 95% center;
	-webkit-background-size: 20px auto;
	background-size: 20px auto;
}
.listCircles {
	margin-bottom: 20px;
}
.listCircles li {
	width: 85px;
	height: 85px;
	margin-right: 10px;
	font-size: 12px;
}
}
/********************************************************* ir & press*/
.loader {
	text-align: center;
}
#irSection {
	color: #fff;
	background-color: #8599d3;
	padding: 32px 0;
}
#irSection a {
	text-decoration: none;
	color: #fff;
}
#irSection a:hover {
	text-decoration: underline;
}
#pressSection {
	color: #4a80c0;
	background-color: #c5dffe;
	padding: 32px 0;
}
#pressSection a {
	color: #4a80c0;
	text-decoration: none;
}
#pressSection a:hover {
	text-decoration: underline;
}
#irSection .inner, #pressSection .inner {
	display: table;
}
#irSection h2, #pressSection h2 {
	display: table-cell;
	vertical-align: middle;
	width: 27%;
	padding-left: 46px;
}
#irSection .pickup, #pressSection .pickup {
	display: table-cell;
	vertical-align: middle;
	width: 73%;
}
#irSection .pickup li, #pressSection .pickup li {
	display: table;
	width: 100%;
}
#irSection .pickup li p a, #pressSection .pickup li p a {
	display: block;
}
#irSection .pickup li time, #pressSection .pickup li time {
	display: table-cell;
	vertical-align: middle;
	padding: 0 30px 0 10px;
	width: 10%;
}
#irSection .pickup li p, #pressSection .pickup li p {
	display: table-cell;
	vertical-align: middle;
}
#irSection .more, #pressSection .more {
	display: table-cell;
	text-align: right;
	vertical-align: bottom;
	padding-left: 15px;
}
#irSection .more a, #pressSection .more a {
	display: inline-block;
	border-radius: 13px;
	vertical-align: bottom;
	height: 26px;
	width: 88px;
	line-height: 1;
	border: 1px solid #4a80c0;
	overflow: hidden;
	background: url(/new_images/btn_more01.png) no-repeat 20px center;
	-webkit-transition: background-color 0.3s ease;
	-moz-transition: background-color 0.3s ease;
	-ns-transition: background-color 0.3s ease;
	-o-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}
#irSection .more a:hover, #pressSection .more a:hover {
	background-color: #fff;
}
#irSection .more a span, #pressSection .more a span {
	display: none;
}
#irSection .more a {
	border: 1px solid #fff;
	background: url(/new_images/btn_more02.png) no-repeat 20px center;
}
#irSection .more a:hover {
	background-color: #4a80c0;
}

@media screen and (max-width: 1036px) {
#irSection .inner, #pressSection .inner {
	width: 100% !important;
	display: block;
}
#irSection h2, #pressSection h2 {
	float: left;
	display: block;
}
#irSection .pickup, #pressSection .pickup {
	float: left;
	display: block;
}
#irSection .more, #pressSection .more {
	clear: both;
}
}

@media screen and (max-width: 736px) {
#irSection, #pressSection {
	padding: 20px;
}
#irSection h2, #pressSection h2 {
	vertical-align: top;
	padding: 0;
}
#irSection .pickup li, #pressSection .pickup li {
	display: block;
}
#irSection .pickup li p, #pressSection .pickup li p {
	display: block;
	margin-bottom: 10px;
}
#irSection .pickup li time, #pressSection .pickup li time {
	display: block;
	padding: 0;
	margin-bottom: 5px;
	width: 100%;
}
#irSection .more, #pressSection .more {
	display: block;
	padding-left: 0;
	text-align: right;
}
#irSection .more a, #pressSection .more a {
	background: url(/new_images/btn_more01@2x.png) no-repeat 20px center;
	-moz-background-size: 52px auto;
	-o-background-size: 52px auto;
	-webkit-background-size: 52px auto;
	background-size: 52px auto;
}
#pressSection h2 {
	background: url(/new_images/ttl_press@2x.png) no-repeat 0 3px;
	-moz-background-size: auto 10px;
	-o-background-size: auto 10px;
	-webkit-background-size: auto 10px;
	background-size: auto 10px;
	height: 13px;
}
#irSection h2 {
	background: url(/new_images/ttl_news@2x.png) no-repeat 0 3px;
	-moz-background-size: auto 10px;
	-o-background-size: auto 10px;
	-webkit-background-size: auto 10px;
	background-size: auto 10px;
	height: 13px;
}
#irSection .more a {
	background: url(/new_images/btn_more02@2x.png) no-repeat 20px center;
	-moz-background-size: 52px auto;
	-o-background-size: 52px auto;
	-webkit-background-size: 52px auto;
	background-size: 52px auto;
}
}
/********************************************************* category*/
.list_category {
	font-size: 1px;
	line-height: 1;
	width: 900px;
	margin: 0 auto;
}
.list_category ul {
	letter-spacing: -1em;
}
.list_category li {
	display: inline-block;
	width: 33.3%;
	padding: 0 0 80px 0;
	vertical-align: top;
}
.list_category a {
	opacity: 1;
	display: inline-block;
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ns-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.list_category a:hover {
	opacity: .7;
}
.list_group {
	text-align: center;
}
.list_group ul {
	font-weight: bold;
	margin: -20px 0;
}
.list_group li {
	display: inline-block;
	vertical-align: middle;
	margin: 20px 45px;
}
#en.list_group li {
	margin: 20px 60px;
}
.list_group a {
	display: table;
	width: 100%;
	text-decoration: none;
	-webkit-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
.list_group a:hover {
	opacity: .7;
}
.list_group div {
	width: 100%;
	height: 90px;
	vertical-align: middle;
	display: table-cell;
	text-align: center;
	padding-bottom: 10px;
}
.list_group p {
	display: table-footer-group;
}
#category01 {
	text-align: center;
	padding: 100px 0 20px 0;
}
#category02 {
	padding: 70px 0;
}
#category02 h2 {
	text-align: center;
	margin-bottom: 20px;
}
#category02 h2 + p {
	text-align: center;
	letter-spacing: 2px;
	font-size: 16px;
	color: #4779b3;
	margin-bottom: 40px;
	font-weight: bold;
}

@media screen and (max-width: 936px) {
.list_group ul {
	margin: 0 0 -20px 0;
}
.list_group li {
	padding: 0 10px 20px 10px;
	margin: 0;
	vertical-align: top;
	width: 49%;
	font-size: 12px;
}
.list_group li img {
	max-height: 40px;
	width: auto;
	max-width: 100%;
}
.list_group li div {
	height: 50px;
}
}

@media screen and (max-width: 900px) {
.list_category {
	width: 100%;
}
}

@media screen and (max-width: 736px) {
#category01 {
	padding: 20px 0 0 0;
}
#category02 {
	padding: 30px 15px;
}
#category02 h2 {
	margin-bottom: 10px;
}
#category02 h2 img {
	width: auto;
	height: 20px;
}
#category02 h2 + p {
	font-size: 14px;
	margin-bottom: 20px;
}
.list_category li {
	padding-bottom: 20px;
}
.list_category a {
	height: 133px;
}
.list_category .wn a {
	background: url(/new_images/icon_wn@2x.png) no-repeat center top;
	-moz-background-size: auto 133px;
	-o-background-size: auto 133px;
	-webkit-background-size: auto 133px;
	background-size: auto 133px;
	width: 100px;
	height: 133px;
}
.list_category .ir a {
	background: url(/new_images/icon_ir@2x.png) no-repeat center top;
	-moz-background-size: auto 133px;
	-o-background-size: auto 133px;
	-webkit-background-size: auto 133px;
	background-size: auto 133px;
	width: 78px;
	height: 133px;
}
.list_category .job a {
	background: url(/new_images/icon_job@2x.png) no-repeat center top;
	-moz-background-size: auto 133px;
	-o-background-size: auto 133px;
	-webkit-background-size: auto 133px;
	background-size: auto 133px;
	width: 140px;
	height: 133px;
}
.list_category .about a {
	background: url(/new_images/icon_about@2x.png) no-repeat center top;
	-moz-background-size: auto 133px;
	-o-background-size: auto 133px;
	-webkit-background-size: auto 133px;
	background-size: auto 133px;
	width: 78px;
	height: 133px;
}
.list_category .social a {
	background: url(/new_images/icon_social@2x.png) no-repeat center top;
	-moz-background-size: auto 116px;
	-o-background-size: auto 116px;
	-webkit-background-size: auto 116px;
	background-size: auto 116px;
	width: 105px;
	height: 116px;
}
.list_category .event a {
	background: url(/new_images/icon_event@2x.png) no-repeat center top;
	-moz-background-size: auto 116px;
	-o-background-size: auto 116px;
	-webkit-background-size: auto 116px;
	background-size: auto 116px;
	width: 117px;
	height: 116px;
}
}

@media screen and (max-width: 414px) {
.list_category li {
	width: 50%;
}
}
/********************************************************* nginx*/
#nginx {
	background: #4f89ce;
	padding: 32px 0;
	text-align: center;
	/*position: relative;*/
	color: #fff;
}
#nginx p:last-child {
	margin-bottom: 0;
}
/*#nginx:after {
  content: '';
  background-color: #4f89ce;
  height: 153px;
  top: 0;
  left: 0;
  width: 30%;
  position: absolute;
  z-index: 1;
}*/
#nginx .inner {
/*position: relative;
  z-index: 2;*/
}
#nginx h2 {
	margin-bottom: 20px;
}
#nginx p {
	margin-bottom: 20px;
}
#nginx .hikari_plala {
	background-color: #fff;
	padding: 10px 15px;
	border-radius: 30px;
	display: inline-block;
}
#nginx a {
	display: block;
	color: #fff;
	text-decoration: none;
}
#nginx .lead {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 2px;
}

@media screen and (max-width: 736px) {
#nginx {
	padding: 20px;
}
#nginx h2, #nginx .lead {
	margin-bottom: 10px;
}
#nginx h2 img {
	width: auto;
	height: 20px;
}
/*#nginx .lead a {
    display: inline-block;
    background: url(/new_images/txt_nginx@2x.png) no-repeat center top;
    -moz-background-size: auto 9px;
    -o-background-size: auto 9px;
    -webkit-background-size: auto 9px;
    background-size: auto 9px;
    height: 9px;
    width: 273px;
  }
  #nginx .hikari_plala {
    width: auto;
    padding: 5px 30px;
  }
  #nginx .hikari_plala a {
    display: inline-block;
    background: url(/new_images/icon_hikari_plala@2x.png) no-repeat center top;
    -moz-background-size: auto 18px;
    -o-background-size: auto 18px;
    -webkit-background-size: auto 18px;
    background-size: auto 18px;
    height: 18px;
    width: 150px;
    vertical-align: bottom;
  }*/
}

/********************************************************* btn important*/
a.btnImportant {
	color: #fff;
	background-color: red;
	padding: 5px 10px;
	display: inline-block;
	text-decoration: none;
	min-width: 300px;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	position: absolute;
	right: 0;
	top: -70px;
	-webkit-transition: background-color 0.3s ease;
	-moz-transition: background-color 0.3s ease;
	-ns-transition: background-color 0.3s ease;
	-o-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}
a.btnImportant:hover {
	color: red;
	background-color: #fff;
}

@media screen and (max-width: 736px) {
a.btnImportant {
	position: static;
	min-width: 0;
	margin-top: 10px;
}
}
