@charset "utf-8";
@import "hamburgers.css";

/* CSS Document */

img{
	max-width: 100%;
}
#container{
	border-top: 1px solid #ccc;
}

/* 背景色
------------------------------- */
.bg_dgy{
	background-color: #555555!important;
}
h4.gry {
    padding:0.75em 1em;
    background-color:#f5f5f5;
}

/* ボタン
------------------------------- */
.btn_wrap{
	font-size: 0;
}
.btn_wrap [class*="btn"]{
	margin: 20px;
}

/**/
.btn_redA {
	display: inline-block;
	background-image: url( "../img/header/arrow_red.png");
	background-position: 0 center;
	background-repeat: no-repeat;
	-webkit-background-size: auto 1.0rem;
	background-size: auto 0.8rem;
	color: #e72521 !important;
	padding-left: 1em;
	font-size: 1.2rem;
	height: 1.4rem;
	line-height: 1.4rem;
	text-align: left;
}

/**/
.btn_B{
	display: inline-block;
	background-image: url( "../img/footer/arrow_ht.png");
	background-position: right 1.5rem center;
	background-repeat: no-repeat;
	-webkit-background-size:auto 1rem;
	background-size:auto 1rem;
	background-color: #ec3936;
	text-align: left;
	padding-left: 1.7em;
	color: #fff!important;
	font-size: 1.4rem;
	width: 140px;
	height: 40px;
	line-height: 40px;
}

/* 背景色
------------------------------- */
.bg_or{
	background-color: #de9e33!important;
}


/* MV
------------------------------- */

#Product{background-image: url(../img/mv/mv_Product.jpg)}
#RD{background-image: url(../img/mv/mv_RD.jpg)}
#Service{background-image: url("../img/mv/mv_Service.jpg")}
#zukan{background-image: url("../img/mv/mv_zukan.jpg")}
#contact{background-image: url("../img/mv/mv_contact.jpg")}
#Etc{background-image: url("../img/mv/mv_Etc.jpg")}



.mv_wrap{
	-webkit-background-size: cover;
	background-size:cover;
	background-position: center 0;
	background-repeat: no-repeat;
}
.mv_wrap .wrap_in{
	position: relative;
	height: 300px;
}
.mv_ttl{
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: left;
	-webkit-transform: translateY(-50%);
transform: translateY(-50%);
	color: #fff;
}
.mv_ttl_h1{
	font-size: 4rem;
	font-weight: 500;
}
.mv_ttl_text{
	font-size: 1.4rem;
}

/* Breadcrumb
------------------------------- */
.breadcrumb{
	background-color: #fff;
}
.breadcrumb_list{
	display: block;
	font-size: 0;
	text-align: left;
	margin: 0;
	overflow: hidden;
	white-space: nowrap;
}
.breadcrumb_list > li{
	display: inline-block;
	height: 50px;
	line-height: 50px;
	font-size: 1.4rem;
	padding-right: 1em;
    position:relative;
}
.breadcrumb_list > li:not( :first-child ) {
    padding-left:1.2em;
}
.breadcrumb_list > li a:after {
    content:" ＞ ";
    position:absolute;
    padding-left:0.7em;
}

/* page
------------------------------- */
.anchor_wrap{
	position: relative;
	overflow: hidden;
}
#container p{
	line-height: 2em;
	margin-bottom: 1em;
text-align: justify;
text-justify: inter-ideograph;
}
h2{
	font-size: 2.6rem;
	color: #000;
	margin-bottom: 1em;
	padding: 24px 50px;
	margin-left: -50px;
	margin-right: -50px;
}
h2.ttl_h2{
	background-color: #f5f5f5;
	color: #0087b6;
}
h3{
	font-size: 2rem;
	color: #000;
	margin-bottom: 1em;
	padding: 24px 0;
}
h3.ttl_h3{
	color: #0087b6;
	border-bottom: 1px solid #0087b6;
}
h4{
	color: #000;
	padding: 24px 0;
	/*margin-bottom: 1em;*/
	font-weight: 600;
}
h4 span {
    color: #0087b6;
}
h5{
	margin-bottom: 1em;
}
.ico_wind{
	display: inline-block;
	color: #0087b6!important;
	text-decoration: underline!important;
	position: relative;
	margin-right: 1.5em;
}
.ico_wind::after {
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	background-image: url( "../img/page/ico_wind.png");
	-webkit-background-size: 14px auto;
	background-size: 14px auto;
	background-repeat: no-repeat;
	background-position: 0 0;
	position: absolute;
	top: 4px;
	right: -17px;
}
.ico_pdf{
	display: inline-block;
	color: #0087b6!important;
	text-decoration: underline!important;
	position: relative;
	margin-right: 1.5em;
}
.ico_pdf::after {
	content: "";
	display: block;
	width: 22px;
	height: 24px;
	background-image: url( "../img/page/ico_pdf.png");
	-webkit-background-size: 22px auto;
	background-size: 22px auto;
	background-repeat: no-repeat;
	background-position: 0 0;
	position: absolute;
	top: 4px;
	right: -26px;
}

.img_right,.img_left{
	overflow: hidden;
	word-break: break-all
}
.img_right img,.img_right figure{
	float: right;
	margin-left: 1.5em;
	margin-bottom: 1em;
}

.img_left img{
	float: left;
	margin-right: 1.5em;
	margin-bottom: 1em;
}

@media (max-width: 768px) {
.img_right figure{
	float: none;
	margin: 0 auto;
	margin-bottom: 1em;
}
}

ol.list_square,ul.list_square{
	list-style-type: square;
	margin-left: 1.5em;
}
ol.list_decimal,ul.list_decimal{
	list-style-type: decimal;
	margin-left: 1.5em;
}
ol.list_disc,ul.list_disc{
	list-style-type: disc;
}
ol.list_none,ul.list_none {
    list-style: none;
}
ol.list_none span,ul.list_none span {
    color:#0087b6;
    font-weight:500;
}
ol.list_squareblue {
    position:relative;
    padding-left:1.5em;
}
ol.list_squareblue li:before {
    content: "■";
    position:absolute;
    color:#0087b6;
    left:0;
}
ul.list_none a,ol.list_none a.link {
    color: #333!important;
}
ul.list_none a:hover,ol.list_none a.link:hover {
    color: #0087b6!important;
    text-decoration:none!important;
}
.box .list_none h3 {
    color:#0087b6;
}
.box .list_none ol.list_disc {
    margin-left:2rem;
}
ol.list_col2 {
    display:flex;
    width:100%;
    flex-wrap:wrap;
    justify-content:space-between;
}
ol.list_col2 > li {
    width:48.5%;
}

.blue > li,.blue a{
	color: #0087b6;
}
.black > li,.black{
	color: #000;
}
a.link{
	color: #0087b6!important;
	text-decoration: underline!important;
}
ol h3,
ul h3
{
	padding: 0;
	margin-bottom: 0;
}
.box{
	border: 1px solid #0087b6;
	padding: 2em;
	margin-bottom: 2em;
}
.box h4{
	padding: 0;
	margin-bottom: 0.5em;
}
ol.yoko,ul.yoko{
	display: block;
	text-align: left;
	margin-left: 0;
}
ol.yoko > li,ul.yoko > li{
	display: inline-block;
	vertical-align: sub;
	margin-right: 4em;
}
ol.list_decimal.yoko > li::before,ul.list_decimal.yoko > li::before {
	content: "■";
	font-size: 0.9rem;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5em;
}
a[class*="arrow"]{
	text-decoration: underline!important;
	color: #0087b6!important;
}
a[class*="arrow"]::before{
	content: "";
	display: inline-block;
	width: 7px;
	height: 1em;
	background-image: url( "../img/page/arrow_yoko.png");
	-webkit-background-size:7px auto;
		background-size:7px auto;
	background-position: 0 center;
	background-repeat: no-repeat;
	vertical-align: middle;
	margin-right: 0.3em;
}
a.arrow_btm::before{
	background-image: url( "../img/page/arrow_shita.png");
}

/* 画像パーツ
------------------------------- */

.tbb_2raw_text .cell_block .move,
.tbb_1raw .cell_block .move,
.tbb_2raw .cell_block .move,
.tbb_3raw .cell_block .move{
	display: block;
	width: 100%;
	background-color: #333;
}
.tbb_2raw_text .cell_block img,
.tbb_1raw .cell_block img,
.tbb_2raw .cell_block img,
.tbb_3raw .cell_block img{
	display: block;
	width: 100%;
}


/*横並び画像3枚*/

.tbb_3raw{
	margin-bottom: 2em;
}
.tbb_3raw .cell_block{
	width: 33.3333%!important;
	vertical-align: top!important;
	text-align: left!important;
	padding: 20px;
}
.tbb_3raw .cell_block p {
	font-size: 1.3rem;
	line-height: 1.4 !important;
	margin-top: 0.8em;
	padding-top: 0.5em;
	border-top: 1px solid #ccc;
	text-align: justify;
	text-justify: inter-ideograph;
}
/*横並び画像2枚*/
.tbb_2raw{
	margin-bottom: 2em;
}
.tbb_2raw .cell_block{
	vertical-align: top!important;
	text-align: left!important;
	padding: 20px;
}
.tbb_2raw .cell_block p {
	font-size: 1.3rem;
	line-height: 1.4 !important;
	margin-top: 0.8em;
	padding-top: 0.5em;
	border-top: 1px solid #ccc;
	text-align: justify;
	text-justify: inter-ideograph;
}

/*画像1枚*/
.tbb_1raw{
	margin-bottom: 2em;
}
.tbb_1raw .cell_block{
	vertical-align: top!important;
	text-align: left!important;
	padding: 20px;
	width: 100% !important;
}
.tbb_1raw .cell_block p {
	font-size: 1.3rem;
	line-height: 1.4 !important;
	margin-top: 0.8em;
	padding-top: 0.5em;
	border-top: 1px solid #ccc;
	text-align: justify;
	text-justify: inter-ideograph;
}

/*Indexページパーツ（第2階層）*/

.tbb_2raw_text{
	margin-bottom: 2em;
}
.tbb_2raw_text .cell_block{
	vertical-align: top!important;
	text-align: left!important;
	padding: 20px;
}
.tbb_2raw_text .cell_block p{
	line-height: 2.4!important;
	margin-top: 0.8em;
	padding-top: 0.5em;
text-align: justify;
text-justify: inter-ideograph;
}

/*25・コンテンツぶち抜き1枚画像*/
.full_img{
	padding-bottom: 3em;
    padding-top: 3em;
}
.full_img img{
	display: block;
	width: 100%;
}

/* SLIDE
------------------------------- */
#slider{
	width: 100%;
}
#slider .slick-slide img{
	width: 100%;
}
.slick-dots{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 0;
	padding-bottom: 20px;
}
.slick-dots > li{
	display: inline-block;
	padding: 0 8px;
}
.slick-dots > li button{
	font-size: 0;
	border:0;
	background-color: #fff;
	display: block;
	width: 14px;
	height: 14px;
		-moz-border-radius: 14px;
	-webkit-border-radius: 14px;
	border-radius: 14px;
	padding: 0;
	cursor: pointer;
}
.slick-dots > li.slick-active button{
	background-color: #333;
}

dl.table_list {
    display:flex;
    width:100%;
    flex-direction:column;
    position:relative;
}
dl.table_list > span {
    display:flex;
}
dl.table_list > span dt {
    padding-right:1em;
    width:150px;
}
.col1 > span.note {
    font-size:0.875em;
    color:#333;
    font-weight:normal;
}
dl.table_border {
    display:flex;
    width:100%;
    flex-direction:column;
    position:relative;
}
dl.table_border > span {
    border-bottom:solid 1px #dedede;
    padding-bottom:1em;
}

dt.color {
    padding:1em 0;
    margin-left:1.2em;
    margin-top:1em;
    font-weight:700;
}
dt.color:before {
    content: "■";
    color: #0087b6;
    position: absolute;
    left:0;
}

dl.table_border dd {
    padding-left:1.2em;
    margin-bottom:1em;
}
dd ul.list_disc {
    margin-left:1.2em;
}

/*** btn追加 ***/
.btn2 {
    margin:24px auto;
}
.btn_fx, .btn_color,.btn_color_product {
    width:100%;
    display:flex;
    justify-content:space-between;
}
.btn_fx a {
    width:48.5%;
    border:solid 1px #333;
    text-align:center;
    padding:1em 0;
}
.btn_color a,.btn_color_product a,.btn_color_product a.blue {
    width:48.5%;
    text-align:center;
    padding:1em 0;
}
.btn_color a {
    background-color:#ec3936;
    border:solid 1px #ec3936;
}
.btn_color_product a {
    background-color:#d18313;
    border:solid 1px #d18313;
}
.btn_color_product a.blue {
    background-color:#0087b6;
    border:solid 1px #0087b6;
}
.btn_color li,.btn_color_product li {
    color:#ffffff;
}
.btn_fx li, .btn_color li,.btn_color_product li {
    display:block;
}
.btn_fx a:hover {
    background:#333;
    color:#ffffff;
}

.adr_fx {
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
}
.adr_fx .dr_left {
    width:58.5%;
}

a.btn_right {
    width:40%;
    border:solid 1px #333;
    text-align:center;
    padding:1em 0;
}

a.btn_right:hover {
    background:#333;
    color:#ffffff;
}

/*** news ***/
.box-tag {
    margin-bottom: 16px;
}

.box-tag .type {
    width: 140px;
    height: 100%;
    background: #333;
    color: #fff;
    display: inline-block;
    text-align: center;
    padding: 3px;
    margin-right: 30px;
}

.box-tag .date {
    font-size:16px;
}

section.news {
    padding:24px 0;
    border-bottom:solid 1px #dedede;
}

.one-col {
    width:100%;
    margin:0 auto;
}
.one-col img {
    text-align:center;
}

.mission {
    display:flex;
    width:100%;
    align-items:center;
    margin-bottom:60px;
    flex-wrap:wrap;
}
.mission li.Service_circle,.mission li.Product_circle,.mission li.Rd_circle{
    margin-right:20px;
    width:200px;
    height:200px;
}
.mission div {
    display:flex;
}
.mission div > li:nth-child(2) {
    width:(100% - 220px);
}
.mission li.under{
    width:calc(100% - 220px);
    margin-left:220px;
    margin-top:-130px;
}

.mission h2 {
    padding:0 0 20px;
    font-size:3.2rem;
    font-weight:500;
    margin:20px 0 0;
    line-height:1.2em;
}
.mission span {
    font-size:2rem;
}
.mission h2.service {
    color:#0087b6;
}
.mission h2.product {
    color:#d18313;
}
.mission h2.rd {
    color:#bf3940;
}

.Service_circle,.Product_circle,.Rd_circle {
    position: relative;
    display: inline-block;
    width: 200px;
    height: 200px;
    border-radius: 50%;
}
.Service_circle {
    background: #0087b6;
}
.Product_circle {
    background: #d18313;
}
.Rd_circle {
    background: #bf3940;
}
.Service_circle span,.Product_circle span,.Rd_circle span {
    color: #ffffff;
    font-weight: 500;
    font-size: 2em;
    line-height:1.2em;
    font-family: 'Cinzel', serif;
    position: absolute;
    display: inline-block;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width :200px;
    text-align:center;
}

/*** table ***/
.table_scroll{
  overflow: auto;
  white-space: nowrap;
  margin: 0;
  border: none;
}

.table_scroll table {
  width: 100%;
  border-collapse: collapse;
  border: solid 1px #ccc;
}
.table_scroll th {
    text-align: left;
    font-weight:500;
    color:#0087b6;
    text-align:center;
}
.table_scroll tr,.table_scroll th,.table_scroll td {
    border-collapse:collapse;
    border: solid 1px #ddd;
}
.table_scroll th,.table_scroll td {
    padding: 10px;
    font-size:16px;
    vertical-align:middle;
}

/*下付き*/
span.under {
    vertical-align: bottom;
    position: relative;
    top: 0.4em;
}