@charset "utf-8";
@import url(normalize.css);
@import url(../_plugin/fontawesome/css/all.min.css);
@import url(https://unpkg.com/aos@next/dist/aos.css);
@import url(common_parts.css);
@import url(common.css);


/* 共通 ----------*/
.cr_red { color: #ff366e; }
#main { position: relative; z-index: 2; }
#main a { display: block; }
section h2 { margin-bottom: 3rem; font-size: 3.25rem; }
section .c_ttl { position: relative; padding: 0 0 0 2em; font-size: 2.5rem; color: #0a3289; }
section .c_ttl::before { position: absolute; top: 50%; left: 0; content: ""; display: block; width: 1em; line-height: 1; border-top: 4.5px solid #0054b4; transform: translateY(calc(-50% - 2.5px)); }
section .c_sub { font-size: 2.7rem; font-weight: 500; line-height: 1.3; }
.sup { position: relative; padding-left: 1em; }
.sup > span:nth-of-type(1) { position: absolute; top: 0%; left: 0; }

@media screen and ( min-width: 1920px ) {
	#mv img, main img { width: 100%; }
}

/* mv ----------*/
#mv { margin-top: 60px; }
#mv .pc_mv { display: none; }
#mv .img_box { position: relative; width: 100%; height: 350px; overflow: hidden; }
#mv h2 { position: absolute; top: 50%; left: 2rem; font-size: 3.4rem; transform: translateY(-50%); }
/*#mv img { position: fixed; z-index: 0; top: 60px; left: 35%; width: auto; height: 350px; max-width: inherit; transform: translate(-50%, 0); }*/
#mv img { position: fixed; z-index: 0; top: 60px; left: 0; height: auto; max-width: inherit; width: 125%; left: -25%; }
@media screen and ( min-width: 481px ) {
	#mv h2 { left: 3rem; }
}
@media screen and ( min-width: 651px ) {
	#mv { margin-top: 100px; }
	#mv .pc_mv { display: block; }
	#mv .sp_mv { display: none; }
	#mv img { position: fixed; z-index: 0; top: 60px; left: 35%; width: auto; height: 350px; max-width: inherit; transform: translate(-50%, 0); }
}
@media screen and ( min-width: 769px ) {
	#mv .img_box { height: auto; }
	#mv img { position: static; width: 100%; height: auto; transform: none; height: 350px; }
}
@media screen and ( min-width: 981px ) {
	#mv { margin-top: 0; }
	#mv .img_box { position: relative; max-height: 450px; overflow: hidden; }
	#mv img { width: 100%; height: auto; }
}

/* servis ==============================*/
/* 共通 ----------*/
#service section:not(#mv) { margin: -3rem 0; }
#service section:nth-last-of-type(1) { margin-bottom: 0; }
#service #mv + section { margin-top: 0; }
#service .sec_inner { position: relative; z-index: 2; padding: 3rem 2rem; background: #fff; }
#service section:nth-last-of-type(1) .sec_inner { padding-bottom: 3rem; }
#service h2.c_ttl { font-size: 3rem; line-height: 1.3; }
#service h2 span { display: block; font-size: 1.6rem; color: #1c3968; }
#service h3 { font-size: 2.6rem; }
#service main p { font-size: 1.8rem; }
#service .c_sub { font-size: 2.7rem; font-weight: 500; line-height: 1.3; }
#service table { width: 100%; }
#service tr { border: 1px solid #8e99bb; }
#service th { display: block; padding: 1.5rem; font-size: 2rem; text-align: left; background: #cfd4e3; border-bottom: 1px solid #8e99bb; }
#service td { display: block; padding: 1.5rem; font-size: 1.8rem; vertical-align: middle; }
#service table + p { margin: 0; }
#service dl dt { font-size: 2rem; }
#service .list_box ul,
#service dl dd { font-size: 1.8rem; }
@media screen and ( min-width: 481px ) {
	#service section:not(#mv) { margin: 0; }
	#service section:nth-last-of-type(1) .sec_inner { padding-bottom: 4rem; }
	#service #mv + section { margin-top: 0; }
	#service section .sec_inner { padding: 4rem 3rem; }
	#service section p,
	#service section li,
	#service section dl dd { font-size: 1.8rem; }
}
@media screen and ( min-width: 769px ) {
	#service section h2.c_ttl { font-size: 2.65rem; }
	#service section p,
	#service section li,
	#service section dl dt,
	#service section dl dd { font-size: 1.4rem; }
	#service section .c_sub { font-size: 2.7rem; }
	#service th,
	#service td { display: table-cell; font-size: 1.4rem; }
	#service th { border-bottom: none; border-right: 1px solid #8e99bb; }
	#service .list_box { display: flex; }
	#service .list_box ul { width: calc( (99.999% - 4rem) / 2 ); }
	#service .list_box ul:not(:nth-last-of-type(1)) { margin-right: 4rem; }
}
@media screen and ( min-width: 981px ) {
	#service section:not(#mv) { padding: 4rem 0; }
	#service section:not(#headding)  {  padding-top: 1rem; }
	#service section .sec_inner { padding: 0 8rem; }
	#service th { text-align: left; }
	#service td { padding: 1.5rem; vertical-align: middle; }
	#service .list_box ul { width: calc( (99.999% - 7rem) / 2.5 ); }
	#service .list_box ul:not(:nth-last-of-type(1)) { margin-right: 7rem; }
}

/* 共通サイドリンク ----------*/
#service aside { position: fixed; right: 0; z-index: 5; width: 100%; z-index: 9999: }
#service aside p { font-size: 1.4rem; color: #fff; font-weight: 500; }
#service aside .item_box { position: relative; }
#service aside a { padding: 1rem; }
#service aside .item_box::after { content: "\f054"; font-family: "Font Awesome 5 Pro"; width: 2rem; height: 2rem; display: block; position: absolute; top: 50%; left: 90%; transform: translateY(-50%); line-height: 1; background: #fff; text-align: center; padding: 0.3rem 0; }
#service aside .form_link.flb { display: flex; }
#service aside .doub { width: 50%; }
@media all and (-ms-high-contrast: none){
  #service aside .item_box::after { padding: 0.5rem 0; }
}
#service aside .item_box:nth-of-type(1) { background: #0a77fe; border-radius: 3px 0 0 0; }
#service aside .item_box:nth-of-type(2) { background: #ff0069; border-radius: 0 0 0 3px; }
#service aside .item_box:nth-of-type(1)::after { color: #0a77fe; }
#service aside .item_box:nth-of-type(2)::after { color: #ff0069; }
@media screen and ( min-width: 481px ) {
	#service aside p { font-size: 1.6rem; }
	#service aside p::after { line-height: 1.5; }
}
@media screen and ( min-width: 651px ) {
	#service aside p::after { width: 3rem; height: 3rem; }
	#service aside.fix { position: fixed; top: 100px!important; }
}
@media screen and ( min-width: 981px ) {
	#service aside { position: absolute; top: 0; right: 0; max-width: 57px; }
	#service aside.fix { position: fixed; top: 60px!important; right: 0; }
	#service aside p { font-size: 1.8rem; line-height: 2; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; }
	#service aside .item_box { max-width: 7rem; }
	#service aside .line_h { line-height: 1; }
	#service aside.fix { position: fixed; top: 0!important; }
	#service aside a { padding: 2rem 1rem 8rem; }
	#service aside .item_box::after { bottom: 2rem; top:auto; bottom: 2rem; left: 50%; transform: translateX(-50%); padding: 0.3rem 0; }
	#service aside .form_link.flb { display: block; }
	#service aside .doub { width: 100%; }
}
@supports (-ms-ime-align: auto) {
	#service aside .item_box { max-height: 280px; }
}
/* basic_info */
@media screen and ( min-width: 769px ) {
	#basic_info th { width: 160px; }
}
/* officer_list */
@media screen and ( min-width: 769px ) {
	#officer_list th { width: 230px; }
}
/* officer_list */

/* commissioned ==============================*/
/* 共通 ----------*/
#commissioned { background: #f2f4f7; }
#commissioned section .sec_inner { background: #f2f4f7; }
#commissioned section:not(#trouble) { padding-top: 1rem; }
#commissioned h3 { font-weight: 600; color: #0a3289; line-height: 1.3; }

/* trouble ----------*/
#trouble { margin-top: 5rem; }
#trouble .item_box { background: #fff; padding: 3rem 3rem 2rem; }
#trouble .flb { justify-content: center; margin-bottom: 2rem; }
#trouble .flb h3 { line-height: 1.5; padding: 1rem; font-weight: 300; color: #fff; background: #1c3968; border-radius: 10px 10px 0 0; }
#trouble .flb p { background: #d9dde9; margin: 0; padding: 2rem; border-radius: 0 0 10px 10px;  }
#trouble .flb .l_cont { margin-bottom: 2rem; }
@media screen and (min-width: 768px) {
	#trouble { padding-top: 4rem!important; }
	#trouble .flb { margin-bottom: 4rem; display: flex; }
	#trouble .flb h3 { font-size: 2.2rem; }
	#trouble .flb p { background: #d9dde9; margin: 0; padding: 2rem 6rem; border-radius: 0 0 10px 10px; }
	#trouble .flb .l_cont { margin: 0 1.5rem 0 0; }
	#trouble .flb + p { font-size: 2.2rem; font-weight: bold; }
	#trouble .flb + p + p { margin: 0; font-size: 5rem; line-height: 1; }
}
/* merit ----------*/
#merit .flb > li { margin-bottom: 1rem; background: #fff; padding: 2rem; }
#merit h3 { padding-left: 5rem; position: relative; }
#merit h3::before { content:""; width: 4rem; height: 4rem; display: block; position: absolute; top: 50%; left: 0;  transform: translateY(-50%); }
#merit .item_box li { position: relative; }
#merit .item_box li:nth-of-type(1) h3::before { background: url(../_img/service/icon_03.png)no-repeat; background-size: contain; }
#merit .item_box li:nth-of-type(2) h3::before { background: url(../_img/service/icon_04.png)no-repeat; background-size: contain; }
#merit .item_box li:nth-of-type(3) h3::before { background: url(../_img/service/icon_05.png)no-repeat; background-size: contain; }
#merit .item_box li:nth-of-type(4) h3::before { background: url(../_img/service/icon_06.png)no-repeat; background-size: contain; }
#merit .callout { margin-top: 3rem; position: absolute; width: calc(100% - 4rem); bottom: 4rem; top: auto; padding: 0 2rem 0 0; }
#merit .callout p { position: relative; text-align: center; border-radius: 8px; color: #fff; font-size:  2.2rem; padding: 1rem 0; }
#merit .callout p:before { content: ""; position: absolute; top: -32px; left: 2rem; border: 16px solid transparent; }
#merit li:nth-of-type(1) .callout p { background: #29c2ae; }
#merit li:nth-of-type(1) .callout p::before {  border-bottom: 16px solid #29c2ae; }
#merit li:nth-of-type(2) .callout p { background: #ff8d96; }
#merit li:nth-of-type(2) .callout p::before {  border-bottom: 16px solid #ff8d96; }
#merit li:nth-of-type(3) .callout p { background: #6eb3f5; }
#merit li:nth-of-type(3) .callout p::before {  border-bottom: 16px solid #6eb3f5; }
#merit li:nth-of-type(4) .callout p { background: #ff9d61; }
#merit li:nth-of-type(4) .callout p::before {  border-bottom: 16px solid #ff9d61; }
#merit .item { margin-bottom: 10rem; }
@media screen and ( min-width: 768px ) {
	#merit .flb { display: flex; }
	#merit .item_box .flb { flex-wrap: wrap; }
	#merit .item_box h3 { color: #231815; }
	#merit .flb > li { width: calc( (100% - 1rem) / 2 ); padding: 4rem 3rem; }
	#merit .flb > li:not(:nth-of-type(even)) { margin-right: 1rem; }
}

/* flow ----------*/
#flow .flow_item { background: #fff; padding: 2rem 1rem; }
#flow .flow_item .flb li { text-align: center; margin-bottom: 2.5rem; }
#flow .item_box { background: #fff; padding: 0 3rem 4rem; }
#flow .cr_red { display: block; }
@media screen and ( min-width: 480px ) {
	#flow .flow_item .flb { display: flex; flex-wrap: wrap; }
	#flow .flow_item .flb li { width: calc( (100% - 10rem) / 5 ); margin-bottom: 0; }
	#flow .flow_item .flb li:not(:nth-last-child(1)) { margin-right: 2rem; }
	#flow .flow_item .flb li p { font-size: 1.8rem; }
}
@media screen and ( min-width: 768px ) {
	#flow .flow_item { padding: 4rem 3rem; }
	#flow .flow_item .flb li { width: calc( (100% - 12rem) / 5 ); margin-bottom: 0; }
	#flow .flow_item .flb li:not(:nth-last-child(1)) { margin-right: 3rem; }
	#flow .item_box { padding: 0 3rem 4rem; }
	#flow .cr_red { display: inline; }
}

/* case ----------*/
#case .case_box .tgl { text-align: center; font-weight: bold; line-height: 1.5; margin-bottom: 2rem; }
#case .case_box h4 { color: #1c3968; }
#case .case_box .proposal { position: relative; padding: 2rem; background: #d9dde9; margin: 0 0 3rem; border-radius: 10px; }
#case .case_box .proposal::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -15px; border: 15px solid transparent; border-top: 15px solid #d9dde9; }
#case .callout { position: relative; display: inline-block; border-radius: 10px; margin-bottom: 3rem; padding: 7px 10px; background: #1c3968; width: 100%; }
#case .callout:before { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -15px; border: 15px solid transparent; border-top: 15px solid #1c3968; }
#case .callout p { color: #fff; font-size: 2.1rem; padding: 1rem; }
#case .case_box { background: #fff; margin-bottom: 1rem; position: relative; padding: 1rem 1rem 6rem; }
#case .case_no h3 { text-align: left; }
#case .case_img { text-align: center; margin-top: -7rem; position: relative; z-index: 2; }
#case .case_img img { width: auto; }
@media screen and ( min-width: 480px ) {
	#case .case_img { margin-top: -10rem; }
}
@media screen and ( min-width: 768px ) {
	#case .case_box h4 { font-size: 1.5rem; }
	#case .case_box .tgl { font-size: 2.4rem; }
	#case .case_box ul { display: inline-block; text-align: center; }
	#case .case_box li { text-align: left; font-size: 1.5rem; }
	#case .case_box .proposal { position: relative; padding: 2rem; background: #d9dde9; margin: 0 9.5rem 3rem; border-radius: 10px; }
	#case .case_box .proposal p { margin: 0; }
	#case .case_no { background: #1c3968; padding: 2rem; position: absolute; left: 0; top: 0; }
	#case .case_no h3 { color: #fff; font-size: 1.06rem; font-weight: normal; text-align: center; }
	#case .case_no span { display: block; font-size: 2.1rem; font-weight: bold; }
	#case .case_merit { text-align: center; }
	#case .case_img { margin-top: -12rem; }
	#case .case_merit li .cor_p { color: #ff366e; }
}



/* business_area ==============================*/
/* 共通 ----------*/
#business_area { background: #f2f4f7; }
#business_area .sec_inner { background: #f2f4f7; }

/* #business_info ----------*/
#business_info .info_box { padding: 3rem 2rem; background: #fff; }
#business_info .info_box p { max-width: 900px; margin: auto; }
#business_info .img_box { max-width: 900px; text-align: center; margin: 0 auto 2rem; }
@media screen and ( min-width: 769px ) {
	#business_info .info_box { padding: 4rem 9rem 6rem; }
	#business_info .img_box { margin: 0 auto 5rem; }
}

/* artificial_gene ==============================*/
/* 共通 ----------*/
#artificial_gene { background: #f2f4f7; }
#artificial_gene .sp_br { display: block; }
#artificial_gene .sec_inner { background: #f2f4f7; }
#artificial_gene h3 { color: #ff366e; font-weight: normal; margin-bottom: 1.5rem; }
#artificial_gene h4 { font-size: 2.7rem; }
#artificial_gene .sup { padding-left: 1.5em; }
#artificial_gene .sup span { color: #0a3289; font-size: inherit; }
@media screen and ( min-width: 651px ) {
	#artificial_gene .sp_br { display: inline; }
}
@media screen and ( min-width: 768px ) {
	#artificial_gene h4 { font-size: 1.6rem; }
}

/* technology ----------*/
#technology .item_box { background: #fff; padding: 2rem; margin-bottom: 1rem; }
#technology .right_box { margin-top: 2rem; }
#technology .spec .sup span { color: #000; }

@media screen and ( min-width: 981px ) {
	#technology { margin-top: 4rem!important; }
	#technology .item_box { padding: 3rem; }
	#technology .flb { flex-wrap: wrap; }
	#technology .left_box { width: calc(60% - 3rem); margin-right: 3rem; }
	#technology .left_box p { font-size: 1.4rem; }
	#technology .right_box { width: 40%; }
	#technology .right_box p,
	#technology .right_box li { font-weight: 600; }
	#technology .spec h3 { font-size: 2.1rem; margin: 4rem 0 3rem; }
	#technology .spec h4 { background: #cfd4e3; padding: 0.5rem 0; font-size: 1.9rem; }
	#technology .spec ul { padding: 3rem; }
	#technology .spec .item_box { padding: 0; }
	#technology .spec .flb li { width: calc( 99.999% / 3 ); }
}

/* standard_service ----------*/
#standard_service h4 { margin: 2rem 0 3px; }
#standard_service ul { margin-top: 1rem; }
#standard_service ul.flb { display: flex; flex-wrap: wrap; margin: 0; }
#standard_service ul.flb li:nth-of-type(1),
#standard_service ul.flb li:nth-of-type(2) { background: #cfd4e3; }
#standard_service ul.flb li:nth-of-type(n + 3) { background: #fff; }
#standard_service ul.flb li { width: 50%; padding: 1rem; border: 1px solid #e4e8ee; }
#standard_service li.sup span { color: inherit; }
#standard_service .spec .sup span { color: #000; font-size: inherit; }
@media screen and ( min-width: 981px ) {
	#standard_service .flb { flex-wrap: wrap; }
	#standard_service .flb > div { width: calc( (99.999% - 3rem) / 2 ); }
	#standard_service .left_box { margin-right: 3rem; }
	#standard_service ul.flb { text-align: center; margin-bottom: 1rem; }
	#standard_service li.sup span { font-size: 1.8rem; line-height: 1.5; }
}

/* fast_service ----------*/
#fast_service h4 { margin: 2rem 0 3px; }
#fast_service ul { margin-top: 1rem; }
#fast_service ul.flb { text-align: center; margin-bottom: 1rem; display: flex; flex-wrap: wrap; }
#fast_service ul.flb li { width: 50%; padding: 1rem; border: 1px solid #e4e8ee; }
#fast_service ul.flb li span { display: inline-block; text-align: right; }
#fast_service ul.flb li:nth-of-type(1),
#fast_service ul.flb li:nth-of-type(2) { background: #cfd4e3; }
#fast_service ul.flb li:nth-of-type(n + 3) { background: #fff; }
#fast_service li.sup span { color: inherit; font-size: inherit; }
@media screen and ( min-width: 981px ) {
	#fast_service .left_box { margin-right: 3rem; }
	#fast_service ul { margin-top: 0; }
	#fast_service .flb { flex-wrap: wrap; }
	#fast_service .flb > div { width: calc( (99.999% - 3rem) / 2 ); }
	#fast_service li.sup span { font-size: 1.8rem; line-height: 1.5; }
}
/* #vector ----------*/
#vector h4 span { color: #0a3289; }
#vector ol .sup span { font-size: inherit; color: inherit; line-height: inherit; }
#vector .item_box { padding-top: 2rem; border-top: 1px solid #8e99bb; }
#vector .item { margin: 1rem 0; }
#vector .item p { font-weight: 600; }
@media screen and ( min-width: 981px ) {
	#vector h4 { margin: 2rem 0 3px; }
	#vector .item_box { padding-top: 3rem; }
}

/* maker ==============================*/
/* #makers_list ----------*/
#makers_list .soat_btn ul,
#makers_list .item_box ul { display: flex; flex-wrap: wrap; }
#makers_list .soat_btn ul { margin-bottom: 3rem; }
#makers_list .soat_btn li { width: calc( (99.999% - 4rem) / 3 ); margin-bottom: 1rem; }
#makers_list .soat_btn li:not(:nth-of-type(3n)),
#makers_list .item_box li:nth-of-type(odd) { margin-right: 2rem; }
#makers_list .item_box { margin-bottom: 3rem; }
#makers_list .item_box li { width: calc( (99.999% - 2rem) / 2 ); margin-bottom: 1rem; }
@media screen and ( min-width: 769px ) {
	#makers_list h2.c_ttl { padding-bottom: 1rem; border-bottom: 1px solid #231815; }
	#makers_list .soat_btn li:not(:nth-of-type(3n)),
	#makers_list .item_box li:nth-of-type(odd) { margin-right: 0; }
	#makers_list .soat_btn { margin-bottom: 5rem; }
	#makers_list .soat_btn li { width: calc((99.999% - 6rem) / 4); }
	#makers_list .soat_btn li:not(:nth-of-type(4n)) { margin-right: 2rem; }
	#makers_list .item_box { margin: -2rem 0 5rem; padding-top: 2rem; }
	#makers_list .item_box .c_sub { position: relative; padding-left: 1.5rem; line-height: 1; margin-bottom: 3rem; }
	#makers_list .item_box .c_sub::before { content:""; width: 6px; height: 100%; display: block; background: #0054b4;; position: absolute; top: 0; left: 0; }
	#makers_list .item_box li { width: calc( (99.999% - 4rem) / 3 ); margin-bottom: 1rem; }
	#makers_list .item_box li:not(:nth-of-type(3n)) { margin-right: 2rem; }
}

/* manufacturing_department ==============================*/
/* manufacturing */
#manufacturing { margin: 0!important; }
#manufacturing h3 { padding: 1rem 3rem; background: #cfd4e3; font-size: 2.4rem; }
#manufacturing h4 { position: relative; margin: 2rem 2rem 0; padding-left: 1rem; border-bottom: 1px solid #e4e8ee; font-size: 2rem; }
#manufacturing h4::before { position: absolute; top: 0; left: 0; content:""; display: block; width: 5.5rem; height: 100%; border-left: 5.5px solid #1982de; }
#manufacturing ul { padding: 1rem 2rem 2rem; }
#manufacturing .item_box { background: #fff; }
@media screen and ( min-width: 768px ) {
	#manufacturing h3 { font-size: 1.9rem; }
	#manufacturing h4 { font-size: 1.5rem; margin: 3rem 3rem 0; }
	#manufacturing ul { padding: 3rem; }
	#manufacturing li { font-size: 1.5rem; }
	#manufacturing .item_box { margin-bottom: 2rem; }
	#manufacturing .item_box + p { font-size: 1.5rem; }
}

/* commissioned_link */
#commissioned_link { margin: 0!important; }
#commissioned_link .sec_inner { position: relative; background: url(../_img/service/service_mv.jpg)no-repeat right; background-size: cover; }
#commissioned_link .sec_inner::after { position: absolute; z-index: 0; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background: rgba(0, 33, 86, 0.8); padding: 0 8rem; }
#commissioned_link .link_btn { position: relative; z-index: 1; padding: 5rem 0; }
#commissioned_link .link_btn .btn { width: 30rem; margin: auto; background: #fff; }
#commissioned_link .link_btn .btn a { position: relative; padding: 2rem 2rem 2rem 4rem; font-size: 2rem; color: #0a3289; }
#commissioned_link .link_btn .btn a::before { position: absolute; top: 50%; left: 0; content: ""; display: block; width: 1.5em; height: 4px; border-top: 4px solid; transform: translateY(-50%); }
#commissioned_link .link_btn .btn a::after { position: absolute; top: 50%; right: 2rem; content: "\f105"; width: 35px; height: 35px; font-family: 'Font Awesome 5 Pro'; color: #fff; text-align: center; background: #0a3289; transform: translateY(-50%); font-weight: 100; line-height: 2; }
@media screen and (min-width: 480px) {
	#commissioned_link .link_btn .btn { width: 40rem; font-weight: bold; }
	#commissioned_link .link_btn .btn a { padding: 3rem 2rem 3rem 5rem; font-size: 2.2rem }
	#commissioned_link .link_btn .btn a::after { line-height: 1.8; }
}
@media screen and (min-width: 768px) {
	#commissioned_link { padding: 4rem 0 0!important; }
	#commissioned_link .sec_inner { background-position: center; padding: 0!important; }
	#commissioned_link .link_btn .btn a::after { line-height: inherit; }
}

/* industrial_waste ==============================*/
/* allow_list */
#allow_list h2.c_ttl { margin-bottom: 2rem; }
#allow_list .table_wrap th,
#allow_list .table_wrap td { border-right: 1px solid #e4e8ee;  display: table-cell; }
#allow_list .table_wrap tr { border: 1px solid #e4e8ee; display: table-row; }
#allow_list .table_wrap th { font-weight: normal; white-space: nowrap; }
#allow_list .table_wrap td { font-size: 1.5rem; padding: 1rem 2rem; background: #fff; }
#allow_list .table_wrap td:nth-of-type(3) { text-align: center; }
#allow_list .table_wrap img { width: auto; }

/* business_description */
#business_description .table_wrap { width: 100%; overflow: scroll; }
#business_description .table_wrap table { min-width: 650px; }
#business_description .table_wrap table .table_wrap { overflow: inherit; }
#business_description .table_wrap th,
#business_description .table_wrap td { border-right: 1px solid #e4e8ee; display: table-cell; }
#business_description .table_wrap tr { border: 1px solid #e4e8ee; display: table-row; }
#business_description .table_wrap th { width: 450px; white-space: nowrap; }
#business_description .table_wrap td { background: #fff; }
#business_description .link_btn { position: relative; z-index: 1; padding: 5rem 0; }
#business_description .link_btn .btn { width: 28rem; margin: auto; background: #fff; }
#business_description .link_btn .btn a { position: relative; padding: 2rem 0 2rem 3rem; font-size: 1.5rem; color: #1c3968; }
#business_description .link_btn .btn a::before { position: absolute; top: 50%; left: 0; content: ""; display: block; width: 1.5em; height: 4px; border-top: 4px solid #1982de; transform: translateY(calc(-50% - 2px)); }
#business_description .link_btn .btn span { line-height: 1.5; }
#business_description .link_btn .btn img { width: 2.5rem; height: 2.5rem; vertical-align: middle; }
#business_description .attendance li a img { width: 2.5rem; height: 2.5rem; }
/* 20201128 追加コード */
#business_description .table_wrap tr th { vertical-align: middle; }
#business_description .table_wrap tr th.nbod { border-bottom: 1px solid #e4e8ee; }
#business_description .table_wrap tr td:nth-of-type(1) { min-width: 10em; }
#business_description .table_wrap tr td:nth-of-type(2) { min-width: 30em; }

@media screen and (min-width: 480px) {
	#business_description .link_btn .btn { width: 40rem; font-weight: bold; }
	#business_description .link_btn .btn a { padding: 3rem 2rem 3rem 5rem; font-size: 1.7rem; line-height: 1; }
}
@media screen and (min-width: 768px) {
	#business_description .table_wrap { overflow: inherit; }
	#business_description .table_wrap th { width: 15%; }
	#business_description .link_btn .btn { width: 45rem; }
	#business_description .attendance li:nth-of-type(1) { margin-right: 5rem; }
}

/* estimate */
#estimate .table_wrap { width: 100%; overflow: auto; }
#estimate .table_wrap table { min-width: 650px; }
#estimate .table_wrap th,
#estimate .table_wrap td { text-align: center; border-right: 1px solid #e4e8ee; display: table-cell; }
#estimate .table_wrap tr { border: 1px solid #e4e8ee; display: table-row; }
#estimate .table_wrap td { background: #fff; }
#estimate .table_wrap td:nth-of-type(1) { width: 165px; padding: 0; text-align: left; }
@media screen and ( min-width: 480px ) {
	#estimate .table_wrap td:nth-of-type(1) { width: 200px; }
}


/* chemmat ==============================*/
#chemmat #main { background: #F2F4F7; }
#chemmat #service section:not(#mv) { padding: 3rem; z-index: 3; position: relative; background: #f2f4f7; }
#chemmat section .sec_inner { padding: 0 0 7rem; background: #fff; }
#chemmat section#birth { padding-top: 5rem!important; }
#chemmat h2.c_title { position: relative; padding: 1rem 0; font-size: inherit; background: #1C3968; }
#chemmat h2.c_title::before { position: absolute; top: 50%; left: 0; content:""; width: 2em; height: 5px; border-top: 5px solid #29C2AE; transform: translateY(-50%); }
#chemmat h2.c_title span { padding-left: 2em; font-size: 2.65rem; color: #fff; }
#chemmat .item_wrap	{ padding: 0 3rem; }
#chemmat .item:not(:nth-last-of-type(1)) { padding-bottom: 6rem; border-bottom: 1px solid #C7CFDC; }
#chemmat .item h3 { font-size: 2.1rem; color: #1C3968; }
#chemmat .item p { font-size: 1.8rem; }
@media screen and ( min-width: 769px ) {
	#chemmat #service section:not(#mv) { margin-bottom: 5rem; padding: 0 8rem; }
	#chemmat section .sec_inner { padding: 0 0 5rem; }
	#chemmat .item_wrap	{ padding: 0 4rem; }
	#chemmat .item:not(:nth-last-of-type(1)) { padding-bottom: 3rem; }
	#chemmat .item p { font-size: 1.4rem; }
}

/* #mv */
#chemmat #mv h2 { line-height: 1.5; }
#chemmat #mv h2 small { display: block; font-size: 50%; color: #1C3968; font-weight: bold; }

/* birth */
#chemmat #birth h2 { padding: 1rem 0; font-size: 2.6rem; text-align: center; background: #D9DDE9; }
#chemmat #birth p { font-size: 1.8rem; }
#chemmat #birth .logo { padding: 5rem 0; }
#chemmat #birth .point ul { margin-top: 5rem; flex-wrap: wrap; }
#chemmat #birth .point li { width: 100%; }
#chemmat #birth .point li:not(:nth-last-of-type(1)) { margin-bottom: 7rem; }
#chemmat #birth .point li h3 { text-align: center; font-size: 2rem; }
#chemmat #birth .point li .img_box { margin-bottom: 2rem; }
#chemmat #birth .point li img { max-height: 55px; min-height: 55px; width: auto; }
#chemmat #birth .point li .p_btn { width: 90%; margin: auto; background: #29C2AE; border-radius: 7px; margin-top: 2rem; }
#chemmat #birth .point li .p_btn a { display: block; padding: 1.5rem 1rem; font-weight: bold; color: #fff; }
@media screen and ( min-width: 769px ) {
	#chemmat #birth .logo img { width: 45%; max-width: 500px; }
	#chemmat #birth p { font-size: 1.4rem; }
}
@media screen and ( min-width: 1024px ) {
	#chemmat #birth .point li { position: relative; width: calc( (99.999% - 4rem) / 3 ); height: 300px; }
	#chemmat #birth .point li:not(:nth-last-of-type(1)) { margin: 0 2rem 0 0; padding-right: 2rem; border-right: 1px solid #C7CFDC; }
	#chemmat #birth .point li .img_box { margin-bottom: 1rem; }
	#chemmat #birth .point li .p_btn { position: absolute; bottom: 0; left: calc( 50% - 1rem ); transform: translateX(-50%); }
}
@media screen and ( min-width: 1251px ) {
	#chemmat #birth .point li { height: 270px; }
}

/* pdf_contnet */
#chemmat section#pdf_content .sec_inner { padding-bottom: 0; }
#chemmat #pdf_content a { position: relative; padding: 3rem 0; color: #0A3289; }
#chemmat #pdf_content a span { padding-left: 4em; }
#chemmat #pdf_content a span::before { position: absolute; top: 50%; left: 0; content: ""; width: 2em; height: 5px; border-top: 5px solid #0054B4; transform: translateY(-50%); }
#chemmat #pdf_content a span::after { content: ""; display: inline-block; width: 25px; height: 25px; margin-left: 2rem; background: url(../_img/service/chemmat/pdf_icon.png)no-repeat top center; background-size: cover; vertical-align: inherit; }
@media screen and ( min-width: 769px ) {
	#chemmat section#pdf_content .sec_inner { background: none!important; }
	#chemmat #pdf_content .dl_btn { width: 50%; max-width: 450px; margin: 5rem auto; background: #fff; }
	#chemmat #pdf_content a { position: relative; padding: 3rem 0; font-size: 1.7rem; color: #0A3289; }
}

/* p_support */
#chemmat #p_support .item:not(:nth-last-of-type(1)) { margin-bottom: 6rem; }
@media screen and ( min-width: 769px ) {
	#chemmat #p_support .item { width: calc( (99.999% - 8rem) / 2 ); margin-bottom: 0; border-bottom: none; }
	#chemmat #p_support .item:nth-of-type(1) { padding-right: 4rem; margin-right: 4rem; border-right: 1px solid #C7CFDC; }
	#chemmat #p_support .item:not(:nth-last-of-type(1)) { margin-bottom: 0; }
}

/* p_safety */
#chemmat #p_safety .item:not(:nth-last-of-type(1)) { margin-bottom: 6rem; }
#chemmat #p_safety .item .item_box ul { display: flex; flex-wrap: wrap; }
#chemmat #p_safety .item .item_box li { position: relative; width: calc( (99.999% - 3rem) / 2 ); padding-left: 1em; }
#chemmat #p_safety .item .item_box li:nth-of-type(odd) { margin-right: 3rem; }
#chemmat #p_safety .item .item_box li span { position: absolute; top: 0; left: 0; }
@media screen and ( min-width: 769px ) {
	#chemmat #p_safety .item { margin-bottom: 0; }
	#chemmat #p_safety .item:not(:nth-last-of-type(1)) { margin-bottom: 3rem; }
/*	#chemmat #p_safety .item:nth-of-type(2) { display: flex; }*/
	#chemmat #p_safety .item .item_box ul { width: 50%; }
	#chemmat #p_safety .item .item_box:nth-of-type(1) { width: calc(70% - 7rem); margin-right: 7rem; }
	#chemmat #p_safety .item .item_box li { width: 35%; }
}


/* p_ui */
#chemmat #p_ui .item:not(:nth-last-of-type(1)) { margin-bottom: 3rem; }


/* contact */
#chemmat #contact { padding-top: 6rem!important; margin-bottom: 0!important; }
#chemmat #contact .sec_inner { background: none; }
#chemmat #contact .item:not(:nth-last-of-type(1)) { border-bottom: 2px solid #1C3968; padding-bottom: 6rem; }
#chemmat #contact .item:nth-of-type(2) { padding-top: 6rem; }
#chemmat #contact .item .img_box { margin-bottom: 2rem; }
#chemmat #contact .item img { width: 100%; max-width: 57px; }
#chemmat #contact .item p { margin: 0; }
#chemmat #contact .item .img_box + p { font-weight: bold; font-size: 2.2rem; }
#chemmat #contact .item .mail_btn { width: 100%; min-width: 200px; margin: auto; background: #0A64D2; border-radius: 5px; }
#chemmat #contact .item .mail_btn a { padding: 2rem 0; font-size: 1.6rem; color: #fff; word-break: break-all; }
#chemmat #contact .item:nth-of-type(2) a { font-size: 3.2rem; font-weight: bold; color: #1C3968; line-height: 1.2; }
@media screen and ( min-width: 769px ) {
	#chemmat #contact { padding-top: 0!important; }
	#chemmat #contact .item_wrap { padding: 0; display: flex; flex-wrap: wrap; }
	#chemmat #contact .item { width: 50%; border-left: 1px solid #1C3968; }
	#chemmat #contact .item:not(:nth-last-of-type(1)) { padding-bottom: 0; border-bottom: none; }
	#chemmat #contact .item:nth-last-of-type(1) { border-right: 1px solid #1C3968; }
	#chemmat #contact .item:nth-of-type(2) { padding-top: 0; }
	#chemmat #contact .item .img_box + p { font-size: 1.8rem; }
	#chemmat #contact .item .mail_btn { width: 40%; }
	#chemmat #contact .item .mail_btn a { padding: 1rem 0; font-size: 1.4rem; }
}






















