
body {
    background: none;
    width: 100%;
    min-width: 1366px;
}

.flex {
    display: -webkit-flex;
    display: flex;
}

.b {
    font-weight: bold;
}

.ac {
    text-align: center;
}

.ar {
    text-align: right;
}

.sp,
.sp_inline {
    display: none;
}

.pc {
    display: block;
}

/**
 * overwrite
 */
.fj-head,
.fj-head .fj-l-inner,
.fj-l-inner,
.fj-foot {
        min-width: 1366px;
}

/**
 * common
 */

#contents {
    width: 100%;
    margin: 0 auto;
    font-size: 16px;
    font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGOTHIC', sans-serif;
}

#contents a {
    color: #049;
    text-decoration: none;
    transition: all .5s ease-in;
}

#contents p {
    margin: 0;
}

#contents a:hover {
    color: #000;
}

#contents #breadcrumbs ul {
    padding: 0;
    margin: 0;
}

#contents #breadcrumbs ul li {
    display: inline-block;
    list-style-type: none;
}

#contents #breadcrumbs ul li:nth-child(n+2):before {
    content: ' /';
    margin: 0 16px;
}

#contents #breadcrumbs ul li a {
    color: inherit;
}

#contents #breadcrumbs ul li a:hover {
    color: #049;
}


/**
 * index
 */

#contents.index #mv_wrap {
    margin-top: -15px;
    position: relative;
}

#contents.index #mv_wrap .prev {
    position: absolute;
    bottom: 48px;
    left: 48px;
    z-index: 1;
}

#contents.index #mv_wrap .next {
    position: absolute;
    bottom: 48px;
    right: 48px;
    z-index: 1;
}

#contents.index #mv h1 {
    margin: 0;
    padding: 0;
}

#contents.index #mv_buttons{
	overflow: hidden;
}

#contents.index #mv_buttons a {
	width: 33.33%;
	display: block;
	float: left;
}

#contents.index #mv_buttons a span {
	width: 100%;
}

#contents.index #mv_buttons a span img{
	width: 100%;
}

#contents.index #news {
    width: 1200px;
    margin: 80px auto;
}

#contents.index #news ul,
#contents.index #news ul li {
    margin: 0;
    padding: 0;
}

#contents.index #news ul li {
    margin: 24px 0;
    list-style-type: none;
}

#contents.index #news ul li:nth-child(n+4) {
    display: none;
}

#contents.index #news ul a .category {
    display: inline-block;
    background: #049;
    color: #fff;
    font-size: 13px;
    padding: 6px 28px;
    border-radius: 4px;
    transition: all .5s ease-in;
    line-height: 1;
}

#contents.index #news ul a:hover .category {
    background: #ededed;
    color: #049;
}

#contents.index #news ul a .date {
    display: inline-block;
    color: #000;
    font-size: 14px;
    font-weight: bold;
    margin: 0 20px;
}

#contents.index #news #news_sub {
    position: relative;
    border-top: #f2f2f2 2px solid;
    margin-top: 32px;
}

#contents.index #news #news_sub .area {
    position: absolute;
    left: 50%;
    top: -14px;
}

#contents.index #news #news_sub .flex {
    margin-top: 28px;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#contents.index #news #news_sub .rss {
    font-size: 14px;
}

#contents.index #news #news_sub .rss div {
    display: inline;
}

#contents.index #news #news_sub .rss a {
    display: inline-block;
    margin: 0 16px;
}

#contents.index #news #news_sub .rss img {
    vertical-align: baseline;
    margin-right: 20px;
    width: 58px;
}

#contents.index #news #news_sub .more {
    font-size: 14px;
}

#contents.index #news #news_sub .more a {
    display: inline-block;
    margin-right: 24px;
    padding-right: 40px;
}

#contents.index #banner_area {
    margin: 120px auto;
    width: 1200px;
}

.slick-slide img{
	width: 100%;
}

#contents.index #our_business .visual {
    position: relative;
    height: 508px;
    background: url(/images/renewal/index/bg_01.png) no-repeat;
    color: #fff;
	background-size: cover;
	background-position: center;
}

#contents.index #our_business .visual h2 {
    padding-top: 100px;
}

#contents.index #our_business .tabs {
    width: 900px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    color: #fff;
}

#contents.index #our_business .tabs div {
    width: 280px;
    height: 54px;
    font-weight: bold;
    display: -webkit-flex;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 8px 8px 0 0;
    transition: all .5s ease-in;
    cursor: pointer;
}

#contents.index #our_business .tabs .current {
    background: #fff;
    color: #049;
}

#contents.index #our_business .tabs div:not(.current):hover {
    background: rgba(255, 255, 255, 0.3);
}

#contents.index #our_business .tab2,
#contents.index #our_business .tab3 {
    display: none;
}

#contents.index #our_business .tab h3 {
    color: #049;
    font-size: 18px;
    font-weight: normal;
    text-align: center;
    margin: 40px 0 20px;
}

#contents.index #our_business .slide_wrap {
    position: relative;
    width: 100%;
}

#contents.index #our_business .slide_wrap .prev {
    position: absolute;
    bottom: 50%;
    left: 48px;
    z-index: 80;
}

#contents.index #our_business .slide_wrap .next {
    position: absolute;
    bottom: 50%;
    right: 48px;
    z-index: 80;
}

#contents.index .slick-dots li button::before {
    font-size: 12px;
}

#contents.index #our_business .tab .dots {
    margin: 12px 0;
}

#contents.index #our_business .tab .slick-dots {
    position: static;
}

#contents.index .button_area .button {
    display: inline-block;
    background: #049;
    padding: 12px 0;
    border-radius: 8px;
}

#contents.index .button_area.gray .button {
    display: inline-block;
    background: #ededed;
    padding: 12px 0;
    border-radius: 8px;
}
#contents.index #our_business .button_area {
    margin: 40px 0 144px;
}

#contents.index .button_area .button span {
    display: inline-block;
    padding: 0 64px;
    color: #fff;
    transition: all .5s ease-in;
}

#contents.index .button_area.gray .button span {
    display: inline-block;
    padding: 0 64px;
    color: #049;
    transition: all .5s ease-in;
}

#contents.index .button_area.gray .button:hover {
    background: #049;
}

#contents.index .button_area.gray .button:hover span {
    color: #fff;
}

#contents.index #our_business .button_area.gray {
    margin: 0;
}
#contents.index #our_business .tab .button:hover {
    background: #ededed;
}

#contents.index #our_business .tab .button:hover span {
    color: #049;
}

#contents.index #our_business .slide_parent {
    width: 1160px;
    margin: 0 auto;
}

#contents.index #our_business .slide_parent {
    font-weight: bold;
}

#contents.index #our_business .slide_parent a .box {
    text-align: center;
    border-left: 1px solid #f7f7f7;
}

#contents.index #our_business .slide_parent a:first-child .box {
    border-left: none;
}

#contents.index #our_business .slide_parent a {
    color: #000;
}

#contents.index #our_business .slide_parent a:hover {
    color: #049;
}

#contents.index #our_business .slide_parent img {
    display: inline;
}

#contents.index #our_business #slide1 img,
#contents.index #our_business #slide3 img {
    width: 60px;
}

#contents.index #our_business #slide2 img {
    width: 240px;
}

#contents.index #our_business .slide_parent p {
    margin: 16px 0 24px;
}

#contents.index #our_business .slide_parent .arrow_box {
    position: relative;
    height: 32px;
}

#contents.index #our_business .slide_parent .slick-prev::before,
#contents.index #our_business .slide_parent .slick-next::before {
    color: #049;
    opacity: 1;
}

#contents.index #our_products .visual {
    height: 698px;
    background: url(/images/renewal/index/bg_02.png) no-repeat;
    color: #fff;
	background-size: cover;
	background-position: center;
}

#contents.index #our_products .visual .inner {
    margin: 0 24px;
    padding: 64px 0;
}

#contents.index #our_products .visual h2 {
    padding-top: 64px;
}

#contents.index #our_products #search {
    width: 1200px;
    margin: 0 auto;
    background: #fff;
    color: #000;
    border-radius: 8px;
}

#contents.index #our_products #search .buttons {
    margin-bottom: 16px;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#contents.index #our_products #search .buttons a {
    width: 280px;
    background: #049;
    color: #fff;
    padding: 40px 0;
    border-radius: 8px;
}

#contents.index #our_products #search form div {
    position: relative;
}

#contents.index #our_products #search form input[type="text"] {
    width: 100%;
    background: #ececec;
    padding: 16px 24px;
    border-radius: 8px;
}

#contents.index #our_products #search form .submit_button {
    position: absolute;
    right: 24px;
    top: 16px;
    top: calc(50% - 11px);
    width: 22px;
    height: 22px;
    background: url(/images/renewal/index/icon_search.png) no-repeat;
    cursor: pointer;
}

#contents.index #our_products #search .words {
    text-align: right;
    margin: 16px 0;
}

#contents.index #our_products #search .words a {
    display: inline-block;
    margin-left: 16px;
}

#contents.index #our_products h3 {
    margin: 32px 0;
}

#contents.index #our_products .panels {
    background: #fff;
    line-height: 1.4;
}

#contents.index #our_products .panels .left {
    float: left;
	width: 41.4%;
}

#contents.index #our_products .panels a {
    position: relative;
    color: #fff;
}

#contents.index #our_products .panels a .content {
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: left;
}

#contents.index #our_products .panels .left a {
    width: 100%;
    height: 450px;
	background: left top no-repeat;
	display: block;
	background-size: cover;
}


#contents.index #our_products .panels .left a.pickup01 {
    background-image: url(/images/renewal/index/image_panel_01.png);
}

#contents.index #our_products .panels .left a.pickup02 {
    background-image: url(/images/renewal/index/image_panel_02.png);
}

#contents.index #our_products .panels .left a.pickup03 {
    background-image: url(/images/renewal/index/image_panel_03.png);
}

#contents.index #our_products .panels .left a.pickup14 {
    background-image: url(/images/renewal/index/image_panel_14.png);
}


#contents.index #our_products .panels .left a .overlay {
	width: 100%;
    height: 450px;
    transition: all .5s ease-in;
}

#contents.index #our_products .panels .left a .content {
    width: 448px;
    margin: 0 0 48px 48px;
}

#contents.index #our_products .panels .right{
	width: 58.6%;
	float:right;
}

#contents.index #our_products .panels .right a {
    width: 100%;
    height: 225px;
	background-size: cover !important;
	background-position: center top !important;
}

#contents.index #our_products .panels .right .slick-slider{
   width: 50%;
   float: left;
}


#contents.index #our_products .panels .right a.pickup04 {
    background: url(/images/renewal/index/image_panel_04.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup05 {
    background: url(/images/renewal/index/image_panel_05.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup06 {
    background: url(/images/renewal/index/image_panel_06.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup07 {
    background: url(/images/renewal/index/image_panel_07.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup08 {
    background: url(/images/renewal/index/image_panel_08.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup09 {
    background: url(/images/renewal/index/image_panel_09.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup10 {
    background: url(/images/renewal/index/image_panel_10.png) no-repeat;
    float:left;
}


#contents.index #our_products .panels .right a.pickup11 {
    background: url(/images/renewal/index/image_panel_11.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup12 {
    background: url(/images/renewal/index/image_panel_12.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup13 {
    background: url(/images/renewal/index/image_panel_13.png) no-repeat;
    float:left;
}

#contents.index #our_products .panels .right a.pickup15 {
    background-image: url(/images/renewal/index/image_panel_15.png);
}

#contents.index #our_products .panels .right a .overlay {
    width: 100%;
    height: 225px;
    transition: all .5s ease-in;
}

#contents.index #our_products .panels .right a .content {
    width: 330px;
    margin: 0 0 24px 24px;
}

#contents.index #our_products .panels .right a .content h4 {
    margin: 0 0 4px;
}

#contents.index #our_products .panels .right a:hover .content h4 {
    display: none;
}

#contents.index #our_products .panels .right a .content p {
    display: none;
}

#contents.index #our_products .panels .right a:hover .content p {
    display: block;
}

#contents.index #our_products .panels a:hover .overlay {
    background: rgba(0, 68, 153, 0.5);
}

#contents.index #our_products .button_area {
    clear: both;
    margin-bottom: 128px;
}

#contents.index #our_products .button_area div {
    padding-top: 40px;
}

#contents.index #case_study .visual {
    background: url(/images/renewal/index/bg_03.png) no-repeat;
    color: #fff;
	background-size: cover;
	background-position: center;
}

#contents.index #case_study .visual h2 {
    padding: 64px 0 32px;
}

#contents.index #case_study .clients {
    background: rgba(255, 255, 255, 0.9);
    -ms-flex-pack: center;
    justify-content: center;
}

#contents.index #case_study .clients div {
    width: 270px;
    margin: 36px 30px 36px;
    text-align: left;
    line-height: 1.4;
}

#contents.index #case_study .clients div a {
    font-size: 16px;
    font-weight: bold;
}

#contents.index #case_study .clients div p {
    color: #000;
    font-size: 14px;
    margin: 12px 0;
}

#contents.index #case_study .button_area {
    margin: 40px 0 128px;
}

#contents.index #ir .visual {
    width: 100%;
    height: 460px;
    background: url(/images/renewal/index/bg_04.png) no-repeat;
    color: #fff;
	background-size: cover;
	background-position: center;
}

#contents.index #ir .visual h2 {
    padding: 80px 0 40px;
}

#contents.index #ir .data {
    width: 1100px;
    margin: 0 auto;
    color: #fff;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#contents.index #ir .data div {
    min-height: 60px;
    line-height: 1.1;
}

#contents.index #ir .data .box:nth-child(1) div {
    background: url(/images/renewal/index/icon_ir_01.png) left 30px no-repeat;
    padding-left: 80px;
}

#contents.index #ir .data .box:nth-child(2) div {
    background: url(/images/renewal/index/icon_ir_02.png) left 30px no-repeat;
    padding-left: 60px;
}

#contents.index #ir .data .box:nth-child(3) div {
    background: url(/images/renewal/index/icon_ir_03.png) left 30px no-repeat;
    padding-left: 100px;
}

#contents.index #ir .data div .head {
    font-size: 18px;
    text-align: left;
    margin-bottom: 8px;
}

#contents.index #ir .data div .value {
    font-size: 64px;
    font-weight: bold;
    text-align: left;
}

#contents.index #ir .data div .unit {
    font-size: 18px;
    text-align: right;
    margin-bottom: 8px;
}

#contents.index #ir .data div .note {
    font-size: 12px;
    color: #ccc;
    text-align: right;
}

#contents.index #csr .visual {
    width: 100%;
    height: 460px;
    background: url(/images/renewal/index/bg_05.png) no-repeat;
    color: #fff;
    padding-top: 50px;
	background-size: cover;
	background-position: center;
}

#contents.index #csr .visual h2 {
    margin-bottom: 48px;
}

#contents.index #csr .flex {
    width: 1100px;
    height: 360px;
    margin: 0 auto;
}

#contents.index #csr .flex > a,
#contents.index #csr .flex > div {
    width: 50%;
    color: #fff;
    height: 100%;
}

#contents.index #csr .flex div:nth-child(2).arrow.right7:before {
    display: none;
}

#contents.index #csr .flex div:nth-child(2).arrow.right7:after {
    display: none;
}

#contents.index #csr .flex > a:first-child {
    border-right: 1px solid #ccc;
}

#contents.index #csr .flex .inner {
    margin: 36px;
}

#contents.index #csr .flex .inner p {
    color: #fff;
}

#contents.index #csr h3 {
    font-weight: normal;
}

#contents.index #csr ul {
    padding-left: 24px;
}

#contents.index #csr ul li {
    list-style-type: none;
    margin-bottom: 12px;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    text-decoration: none;
}

#contents.index #csr ul li:after {
    position: absolute;
    left: 0;
    margin: auto;
    content: '';
    vertical-align: middle;
    transition: all .5s ease-in;
}

#contents.index #csr ul li:after {
    left: -24px;
    top: 4px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#contents.index #csr ul li a {
    color: #fff;
}

#contents.index #csr ul li a:hover {
    color: rgba(255, 255, 255, 0.7);
}

#contents.index #csr ul li span {
    display: block;
    font-size: 13px;
}

#contents.index #about .visual {
    width: 100%;
    height: 460px;
    background: url(/images/renewal/index/bg_06.png) no-repeat;
    color: #fff;
	background-size: cover;
	background-position: center;
}

#contents.index #about .visual h2 {
    padding: 164px 0;
}

#contents #logo_area {
    margin: 0 0 48px;
}

#contents #logo_area .up {
    text-align: center;
    margin: 32px 0;
}

/**
 * company
 */

#contents.company #mv {
    width: 100%;
    height: 365px;
    background: url(/images/renewal/company/2/bg_01.png) no-repeat center;
    color: #fff;
    padding: 32px 148px;
	background-size: cover;
}

#contents.company #mv h1 {
    margin-top: 88px;
}

#contents.company #catch h2 {
    margin: 88px 0;
}

#contents.company #links .panels .left {
    float: left;
    width: 66.66%;
}

#contents.company #links .panels .left a:nth-child(1) {
    width: 50%;
    height: 450px;
    background: url(/images/renewal/company/2/image_panel_01.png) no-repeat center top;
    float: left;
    background-size: cover;
}

#contents.company #links .panels .left a:nth-child(1) .overlay {
    width: 100%;
    height: 450px;
}

#contents.company #links .panels .left a:nth-child(2) {
    width: 50%;
    height: 450px;
    background: url(/images/renewal/company/2/image_panel_02.png) no-repeat center top;
    float: left;
    background-size: cover;
}

#contents.company #links .panels .left a:nth-child(2) .overlay {
    width: 100%;
    height: 450px;
}

#contents.company #links .panels .left a:nth-child(3) {
    width: 100%;
    height: 225px;
    background: url(/images/renewal/company/2/image_panel_03.png) no-repeat;
    float: left;
}

#contents.company #links .panels .left a:nth-child(3) .overlay {
    width: 100%;
    height: 225px;
}

#contents.company #links .panels .right {
    float: right;
    width: 33.33%;
}

#contents.company #links .panels .right a:nth-child(1) {
    width: 100%;
    height: 450px;
    background: url(/images/renewal/company/2/image_panel_04.png) no-repeat center top;
    background-size: cover;
}

#contents.company #links .panels .right a:nth-child(1) .overlay {
    width: 100%;
    height: 450px;
}

#contents.company #links .panels a {
    position: relative;
    color: #fff;
}

#contents.company #links .panels a .content {
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: left;
}

#contents.company #links a .overlay {
    transition: all .5s ease-in;
}

#contents.company #links .panels .left a .content {
    width: 448px;
    margin: 0 0 48px 48px;
}

#contents.company #links .panels .right a .content {
    width: 330px;
    margin: 0 0 24px 24px;
}

#contents.company #links .panels .content h3 {
    font-size: 26px;
    margin: 0;
}

#contents.company #links .panels .content h4 {
    font-size: 14px;
    font-weight: normal;
    margin: 0 0 32px;
}

#contents.company #links .panels a:hover .overlay {
    background: rgba(0, 68, 153, 0.5);
}

#contents.company #links .second {
    clear: both;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#contents.company #links .second > div {
    width: 50%;
    height: 320px;
}

#contents.company #links .second div {
    -ms-flex-align: center;
    align-items: center;
}

#contents.company #links .second > div:nth-child(1) {
    background: #e5ecf5;
}

#contents.company #links .second > div:nth-child(2) {
    background: #d9e3f0;
}

#contents.company #links .second div div:nth-child(1) {
    margin: 0 100px 0 140px;
}

#contents.company #links .second h3 {
    font-size: 26px;
    margin: 0;
}

#contents.company #links .second h4 {
    font-size: 14px;
    font-weight: normal;
    margin: 0;
}

#contents.company #links .second ul li {
    font-size: 14px;
    list-style-type: none;
    position: relative;
    vertical-align: middle;
    text-decoration: none;
    margin: 4px 0;
}

#contents.company #links .second .list > li:after {
    position: absolute;
    left: 0;
    margin: auto;
    content: '';
    vertical-align: middle;
    transition: all .5s ease-in;
}

#contents.company #links .second .list li:after {
    left: -24px;
    top: 6px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#contents.company #links .second .list li ul {
    padding-left: 2em;
}

#contents.company #links .panels2 a:nth-child(1) {
    width: 33.33%;
    height: 300px;
    background: url(/images/renewal/company/2/image_panel_05.png) no-repeat center top;
    background-size: cover;
}

#contents.company #links .panels2 a:nth-child(1) .overlay {
    width: 100%;
    height: 300px;
}

#contents.company #links .panels2 a:nth-child(2) {
    width: 33.33%;
    height: 300px;
    background: url(/images/renewal/company/2/image_panel_06.png) no-repeat center top;
    background-size: cover;
}

#contents.company #links .panels2 a:nth-child(2) .overlay {
    width: 100%;
    height: 300px;
}

#contents.company #links .panels2 a:nth-child(3) {
    width: 33.33%;
    height: 300px;
    background: url(/images/renewal/company/2/image_panel_07.png) no-repeat center top;
    background-size: cover;
}

#contents.company #links .panels2 a:nth-child(3) .overlay {
    width: 100%;
    height: 300px;
}

#contents.company #links .panels2 a .overlay {
    width: 100%;
    height: 300px;
    transition: all .5s ease-in;
}

#contents.company #links .panels2 a:hover .overlay {
    background: rgba(0, 68, 153, 0.5);
}

#contents.company #links .panels2 a {
    position: relative;
    color: #fff;
}

#contents.company #links .panels2 a .content {
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: left;
    margin: 0 0 32px 48px;
}

#contents.company #links .panels2 a .content h3 {
    font-size: 26px;
    margin: 0;
}

#contents.company #links .panels2 a .content h4 {
    font-size: 14px;
    font-weight: normal;
    margin: 0 0 32px;
}

/**
 * company / domain identity
 */

#contents.company_di #mv {
    width: 100%;
    height: 365px;
    background: url(/images/renewal/company/domain_identity/bg_01.png) no-repeat center;
    color: #fff;
    padding: 32px 148px;
    background-size: cover;
}

#contents.company_di #mv h1 {
    margin-top: 88px;
}

#contents.company_di #catch h2 {
    margin: 88px 0;
}

#contents.company_di .image {
    position: relative;
}

#contents.company_di .image a {
    position: absolute;
    display: inline-block;
    width: 160px;
    height: 160px;
    border-radius: 50%;
}

#contents.company_di .image div a:nth-child(1) {
    top: 10px;
    left: 188px;
}

#contents.company_di .image div a:nth-child(2) {
    top: 188px;
    left: 368px;
}

#contents.company_di .image div a:nth-child(3) {
    top: 368px;
    left: 188px;
}

#contents.company_di .image div a:nth-child(4) {
    top: 188px;
    left: 10px;
}

#contents.company_di #competences .flex {
    width: 1150px;
    margin: 0 auto 128px;
}

#contents.company_di #competences .flex .text {
    width: 70%;
}

#contents.company_di #competences .flex:nth-child(2n) > div:nth-child(1) {
    margin-right: 64px;
}

#contents.company_di #competences .flex:nth-child(2n-1) > div:nth-child(2) {
    margin-left: 64px;
}

#contents.company_di #competences .flex:nth-child(1) div div:nth-child(2) {
    border-top: 4px solid #e5ecf5;
    margin-top: 48px;
    padding-top: 48px;
}

#contents.company_di #competences .flex .text p {
    line-height: 2;
    margin-bottom: 1em;
}

#contents.company_di #competences .flex .text .head {
    line-height: 1.6;
}

#contents.company_di #competences .arrow.right2 {
    padding-right: 48px;
}

#contents.company_di #competences .head {
    color: #049;
    font-size: 24px;
    margin: 0 0 56px;
}

#contents.company_di #competences .sub_head {
    font-size: 22px;
    margin: 0 0 56px;
}

#contents.company_di #competences h3 {
    color: #049;
    font-size: 28px;
    font-weight: bold;
    margin: 0 0 28px;
}

#contents.company_di #competences h4 {
    font-size: 22px;
    font-weight: bold;
    margin: 0 0 56px;
}

#contents.company_di .button_area {
    margin-top: 48px;
}

#contents.company_di .button_area .button {
    display: inline-block;
    background: #049;
    padding: 12px 0;
    border-radius: 8px;
}

#contents.company_di .button_area .button span {
    display: inline-block;
    padding: 0 64px;
    color: #fff;
    transition: all .5s ease-in;
    font-size: 16px;
    vertical-align: middle;
    line-height: 1.0;
}

#contents.company_di .button_area .button:hover {
    background: #ededed;
}

#contents.company_di .button_area .button:hover span {
    color: #049;
}

#contents.company_di #video_wrap .arrow{
    display: block;
}

#contents.company_di #video_wrap img {
    width: 100%;
}

#contents.company_di #video_wrap video {
    max-width: 100%;
}

#contents.company_di map:hover {
    background: #000;
}

/**
 * arrow
 */

.arrow {
    position: relative;
    display: inline-block;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
}

.arrow:before,
.arrow:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: '';
    vertical-align: middle;
    transition: all .5s ease-in;
}

.arrow.prev:after {
    left: -9px;
    top: 0;
    width: 16px;
    height: 16px;
    border-top: 3px solid rgba(255, 255, 255, 0.8);
    border-right: 3px solid rgba(255, 255, 255, 0.8);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    cursor: pointer;
}

.arrow.prev:hover:after {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}

.slide_wrap .arrow.prev:before {
    width: 32px;
    height: 32px;
    top: 0;
    left: -4px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: none;
}

.slide_wrap .arrow.prev:after {
    left: 10px;
    top: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    cursor: pointer;
}

.slide_wrap .arrow.prev:hover:after {
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}

.slide_wrap .arrow.next:before {
    width: 32px;
    height: 32px;
    top: 0;
    left: -30px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: none;
}

.slide_wrap .arrow.next:after {
    left: auto;
    right: 10px;
    top: 0;
    width: 8px;
    height: 8px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    cursor: pointer;
}

.slide_wrap .arrow.next:hover:after {
    border-top: 2px solid #000;
    border-right: 2px solid #000;
}

.arrow.next:after {
    left: -9px;
    top: 0;
    width: 16px;
    height: 16px;
    border-top: 3px solid rgba(255, 255, 255, 0.8);
    border-right: 3px solid rgba(255, 255, 255, 0.8);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    cursor: pointer;
}

.arrow.next:hover:after {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}

.arrow.down:before {
    width: 32px;
    height: 32px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}

.arrow.down:after {
    top: -5px;
    left: 10px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.arrow.down:hover:before {
    background: #049;
}

.arrow.down:hover:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.arrow.up:before {
    width: 32px;
    height: 32px;
    top: 4px;
    left: -16px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #ececec;
}

.arrow.up:after {
    top: 6px;
    left: -6px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(315deg);
    transform: rotate(315deg);
}

.arrow.up:hover:before {
    background: #049;
}

.arrow.up:hover:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.arrow.right:before {
    width: 32px;
    height: 32px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    left: auto;
    right: 60px;
}

.arrow.right:after {
    left: auto;
    right: 72px;
    top: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.arrow.right:hover:before {
    background: #fff;
}

.arrow.right:hover:after {
    border-top: 2px solid #049;
    border-right: 2px solid #049;
}

.arrow.right2:before {
    width: 32px;
    height: 32px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #ececec;
    left: auto;
    right: 0;
}

.arrow.right2:after {
    left: auto;
    right: 12px;
    top: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.arrow.right2:hover:before {
    background: #049;
}

.arrow.right2:hover:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.arrow.right3:before {
    width: 32px;
    height: 32px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #ececec;
    left: -16px;
}

.arrow.right3:after {
    left: -9px;
    top: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#contents #our_business .slide_parent a:hover .arrow.right3:before {
    background: #049;
}

#contents #our_business .slide_parent a:hover .arrow.right3:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.arrow.right4:after {
    right: 28px;
    left: auto;
    top: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#contents #our_business .tab .button:hover .arrow.right4:after {
    border-top: 2px solid #049;
    border-right: 2px solid #049;
}

#contents.company_di .button_area .button:hover .arrow.right4:after {
    border-top: 2px solid #049;
    border-right: 2px solid #049;
}

.arrow.right5:before {
    width: 32px;
    height: 32px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #049;
    left: auto;
    right: 28px;
    top: auto;
    bottom: 28px;
}

.arrow.right5:after {
    left: auto;
    right: 40px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: auto;
    bottom: 38px;
}

.arrow.right5:hover:before {
    background: #fff;
}

.arrow.right5:hover:after {
    border-top: 2px solid #049;
    border-right: 2px solid #049;
}

.arrow.right6:before {
    width: 32px;
    height: 32px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
    left: auto;
    right: 28px;
    top: auto;
    bottom: 28px;
}

.arrow.right6:after {
    left: auto;
    right: 40px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: auto;
    bottom: 38px;
}

.arrow.right6:hover:before {
    background: #049;
}

.arrow.right6:hover:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.arrow.right7:before {
    width: 32px;
    height: 32px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
    left: auto;
    right: 28px;
    top: auto;
    bottom: 28px;
}

.arrow.right7:after {
    left: auto;
    right: 40px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: auto;
    bottom: 38px;
}

.arrow.right8:after {
    right: 28px;
    left: auto;
    top: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.arrow.right8:hover:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

#contents #csr a:hover.arrow.right7:before {
    background: #049;
}

#contents #csr a:hover.arrow.right7:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.arrow.play:before {
    top: 0;
    bottom:0;
    left: 0;
    right: 0;    width: 64px;
    height: 64px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #049;
}

.arrow.play:after {
    top: 0;
    bottom:0;
    left: 0;
    right: 8px;
    width: 20px;
    height: 20px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.arrow.play:hover:before {
    background: #fff;
}

.arrow.play:hover:after {
    border-top: 2px solid #049;
    border-right: 2px solid #049;
}

#contents.company_di .image div a:before {
    width: 32px;
    height: 32px;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #ececec;
    top: 100px;
    left: 0;
    right: 0;
}

#contents.company_di .image div a:after {
    left: -4px;
    right: 0;
    top: 100px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #049;
    border-right: 2px solid #049;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#contents.company_di .image div a:hover:before {
    background: #049;
}

#contents.company_di .image div a:hover:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.top-information {
    border:1px solid #CCC;
    padding:10px;
    margin:50px auto -50px;
    width:800px;
    font-weight:bold;
    text-align:center;
    font-size:120%;
}

.top-information2 {
    border:0.5px solid #CCC;
    color:#049;
    padding:10px;
    margin:50px auto -80px;
    max-width:1120px;
    font-weight:nomal;
    text-align:center;
    font-size:100%;
}

.slick-list {
    width: 100%;
}


/* 20180919追加 */
/**
 * header
 */

#header {
    background: #fff;
    font-size: 14px;
    width: 100%;
	z-index:2;
}

@media only screen and (max-width: 1440px) {
    #header {

        left: 0;
    }
}

#header .inner,
#header .menus,
#header .menus .icons {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#header.fixed {
    position: fixed;
    top: 0;
}

#header a {
    color: #000;
}

#header a:hover {
    color: #049;
}

#header .inner {
    width: 100%;
    margin: 8px 0;
}

#header .logo img {
    margin: 0 32px;
}

#header .line {
    border-top: 4px solid #049;
    height: 4px;
    width: 0;
    margin: 0 auto;
    transition: all .5s ease-in;
}

#header.fixed .line {
    width: 100%;
}

#header .menus {
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#header .menus .icons a,
#header .menus .icons form {
    margin: 0 8px;
}

#header a.img {
    background: #ececec;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#header a.img:hover {
    background: #049;
}

#header img {
    transition: all .5s ease-in;
}

#header a.img:hover img,
#header a.contact:hover img {
    filter: grayscale(100%) contrast(0%) brightness(200%);
}

#header form {
    display: none;
    background: #ececec;
    padding: 4px 16px 4px 8px;
    border-radius: 24px;
}

#header form div {
    background: url('/images/renewal/index/icon_search_min.png') no-repeat left center;
    padding-left: 24px;
}

#header form input[type="text"] {
    background: #ececec;
    width: 140px;
}

#header form input[type="submit"] {
    color: #049;
    font-size: 14px;
    font-weight: bold;
    background: #ececec;
}

#header form .close {
    cursor: pointer;
}

#header form .close,
#header .contact img {
    vertical-align: middle;
}

#header .contact {
    background: #f1aa00;
    font-size: 15px;
    border-radius: 24px;
    margin: 0 24px 0 0;
    padding: 8px 24px;
}

#header .contact:hover {
    background: #c18800;
    color: #fff;
}

/**
 * footer
 */

#footer {
    background: #f1f1f1;
    font-size: 14px;
    width: 100%;
    min-width: 1440px;
    border-bottom: 8px solid #049;
}

#footer a {
    color: #049;
    text-decoration: none;
    transition: all .5s ease-in;
}

#footer a:hover {
    color: #000;
}

#footer .inner {
    display: -webkit-flex;
    display: flex;
    width: 80%;
    min-width: 1060px;
    margin: 0 auto;
    padding: 32px 0;
}

#footer .inner > div {
    width: 50%;
}

#footer .inner .links {
    line-height: 2;
    margin-bottom: 32px;
}

#footer .inner .links a {
    white-space: pre;
}

#footer .inner .links a:before {
    content: ' / ';
    color: #000;
    margin: 0 8px;
}

#footer .inner .links a:nth-child(3n+1):before {
    content: "\A";
    margin: 0;
}

#footer .inner .links a:nth-child(1):before {
    content: '';
}

#footer .inner .right {
    text-align: right;
    font-weight: bold;
}

#footer .inner .right img {
    vertical-align: middle;
    margin-left: 32px;
}

#footer .blog img {
    margin-bottom: 24px;
    box-shadow: 0px 0px 5px #aaa;
    border-radius: 8px;
    transition: all .5s ease-in;
}

#footer .blog:hover img {
    box-shadow: 0px 0px 5px #44a;
}

#footer a.download:hover img {
    filter: grayscale(100%) contrast(0%) brightness(200%);
}

#footer .download img {
    vertical-align: middle;
    transition: all .5s ease-in;
}

#footer .download {
    background: #f1aa00;
    font-size: 15px;
    color: #000;
    border-radius: 8px;
    margin: 0 24px 0 0;
    padding: 16px 32px;
}

#footer .download:hover {
    background: #c18800;
    color: #fff;
}

#footer .right .fb img {
    width: 40px;
}

#footer .copyright {
    border-top: 1px solid #e5e5e5;
    text-align: center;
}

#footer .copyright .f2s img {
    width: 58px;
}

#footer .copyright div {
    margin: 24px 0;
}

#footer .copyright p {
    font-size: 12px;
    font-weight: bold;
    margin: 0 0 16px;
}


/* 【追加案】旬情報 */
#border_line{
	width:100%;
	border-bottom:1px solid #CCC;

	}
#season-link-area {
	width: 960px;
	height:200px;
	margin:0px auto;
	}

div.article-body{
	float:left;
	width:480px;
	position:relative;

	}

div.article-body .left_images{
	float:left;
	margin:10px;
}

div.article-body .right{
	float:left;
	width:50%;
}

h2.heading01{
	font-size:90%;
	font-weight:bold;
	}
	
p.text01{
	font-size:80%;
	}
	
p.read-more{
	font-size:80%;
	position:absolute;
	bottom:10px;
	
	}

	
/* 旬情報追加 */


#topics{
	width:100%;
	}

#topics .topics_left{
	width: 33.33%;
	height:300px;
	float:left;
	background-size:100% auto;
	background-image: url(/images/renewal/index/img_robot_topics.png);
	color:#fff;
	}

#topics .topics_left h3,#topics .topics_left p{
	position:relative;
	top:50px;
	width: 490px;
	left: 30px;
	}

#topics .topics_center{
	width: 33.33%;
	height:300px;
	float:left;
	background-size:100% auto;
	background-image: url(/images/renewal/index/img_showroom_topics.png);
	color:#fff;
	}
	
#topics .topics_center h3,#topics .topics_center p{
	position:relative;
	top: 50px;
	width: 490px;
	left: 30px;
	}

#topics .topics_right{
	width: 33.33%;
	height:300px;
	float:left;
	background-size:100% auto;
	background-image: url(/images/renewal/index/img_regenerative_topics.png);
	color:#fff;
	}
	
#topics .topics_right h3,#topics .topics_right p{
	position:relative;
	top: 50px;
	width: 490px;
	left: 30px;
	}


#topics a:hover .topics_left,
#topics a:hover .topics_center,
#topics a:hover .topics_right{
	opacity:0.5;
	}


/* 社員ストーリー追加 */

#story {
	text-align: center;
	margin-top: 70px;
}
#story a:hover img{
	opacity:0.5;
}



/* コロナ対応について 追加--------------- */
#contents .top-info {
    width: 50%;
    text-align: center;
    background: #fff;
    margin: 3rem auto 0;
    padding: 2rem;
    border: 2px solid #049;
}
#contents .top-info a:hover {
    text-decoration: underline;
}

@media only screen and (max-width: 767px) {
#contents .top-info {
    width: 90%;
    text-align: center;
    background: #fff;
    margin: 2rem auto 0;
    padding: 1rem;
    border: 2px solid #049;
}
}

/* 災害お見舞い文 追加--------------- */
#contents .top-message {
    text-align: center;
    margin: 3rem 0 0;
}



