@charset "UTF-8";
/* CSS Document */
/****************************************/
/**   Rules    **/
/****************************************/
/******   break point    ****/
/******   variable colors    ****/
/******   prefix    ****/
/****** color mixin ******/
/******   mix in    ****/
/******   abstract class    ****/
.box_container, #header_sub_contents, #top_information_one > div, footer p.copyright, footer .footer_inner, aside, article section div.section_title, article section > div.section_inner, #pankuzu div.pankuzu_inner, header > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
  width: 100%;
  box-sizing: border-box;
  padding-left: 10px;
}
@media screen and (max-width: 800px) {
  .box_container, #header_sub_contents, #top_information_one > div, footer p.copyright, footer .footer_inner, aside, article section div.section_title, article section > div.section_inner, #pankuzu div.pankuzu_inner, header > * {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.clearfix, section#recommend_product .main_image_container .main_image_inner.pickup_items, section.business_contents > .section_inner, section.business_header_contents .header_double_column, #main_image .main_image_container .main_image_inner.pickup_items, header #header_bottom, header #header_top {
  *zoom: 1;
}
.clearfix:after, section#recommend_product .main_image_container .main_image_inner.pickup_items:after, section.business_contents > .section_inner:after, section.business_header_contents .header_double_column:after, #main_image .main_image_container .main_image_inner.pickup_items:after, header #header_bottom:after, header #header_top:after, .clearfix:before, section#recommend_product .main_image_container .main_image_inner.pickup_items:before, section.business_contents > .section_inner:before, section.business_header_contents .header_double_column:before, #main_image .main_image_container .main_image_inner.pickup_items:before, header #header_bottom:before, header #header_top:before {
  content: " ";
  display: table;
}
.clearfix:after, section#recommend_product .main_image_container .main_image_inner.pickup_items:after, section.business_contents > .section_inner:after, section.business_header_contents .header_double_column:after, #main_image .main_image_container .main_image_inner.pickup_items:after, header #header_bottom:after, header #header_top:after {
  clear: both;
}

.inline_blocks, section.associate_link_contents ul.associate_link_list, section#achievement_list ul.achievement_list, section.safety_contents .img_wrap, section#recommend_product .main_image_container .main_image_inner.pickup_items .logo_area, section.product_details_body .goods_details_inner, section#contact_form .btn_wrap,
section#contact_form_confirm .btn_wrap, section#recruit_contents .section_inner, section.business_header_contents .process_images, section#business_navigation div.section_inner, section#pdf_list ul dl, section#information_details .date_information, section#informations li dl, section#company_navigation div.section_inner, section#main_categories div.section_inner,
section#second_navigation div.section_inner, #header_sub_contents, #main_image .main_image_container .main_image_inner.pickup_items .logo_area, #top_information_one > div li dl, footer .footer_inner ul.foot_nav, footer .footer_inner, aside #contact_banner, article #title_area div#second_top_nav ul, article #title_area div#second_top_nav dl, nav ul, header #header_top ul.top_sub_nav, header #header_top div.search_area form, div.double_column, dl.table_dl {
  letter-spacing: -0.4em;
  box-sizing: border-box;
  width: 100%;
}
.inline_blocks > *, section.associate_link_contents ul.associate_link_list > *, section#achievement_list ul.achievement_list > *, section.safety_contents .img_wrap > *, section#recommend_product .main_image_container .main_image_inner.pickup_items .logo_area > *, section.product_details_body .goods_details_inner > *, section#contact_form .btn_wrap > *,
section#contact_form_confirm .btn_wrap > *, section#recruit_contents .section_inner > *, section.business_header_contents .process_images > *, section#business_navigation div.section_inner > *, section#pdf_list ul dl > *, section#information_details .date_information > *, section#informations li dl > *, section#company_navigation div.section_inner > *, section#main_categories div.section_inner > *,
section#second_navigation div.section_inner > *, #header_sub_contents > *, #main_image .main_image_container .main_image_inner.pickup_items .logo_area > *, #top_information_one > div li dl > *, footer .footer_inner ul.foot_nav > *, footer .footer_inner > *, aside #contact_banner > *, article #title_area div#second_top_nav ul > *, article #title_area div#second_top_nav dl > *, nav ul > *, header #header_top ul.top_sub_nav > *, header #header_top div.search_area form > *, div.double_column > *, dl.table_dl > * {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
}

.image_link, section#recruit_contents .section_inner > .recruit_box, aside #contact_banner .btn_to_form2, aside #contact_banner .btn_to_form, aside #contact_banner .tel_number, aside #banners div.banner_contents .banner_contents_inner_wrapper .banner_contents_inner_half, aside #banners div.banner_contents .banner_contents_inner, nav ul li, header #header_top ul.top_sub_nav li, p.border_btn {
  box-sizing: border-box;
}
.image_link a, section#recruit_contents .section_inner > .recruit_box a, aside #contact_banner .btn_to_form2 a, aside #contact_banner .btn_to_form a, aside #contact_banner .tel_number a, aside #banners div.banner_contents .banner_contents_inner_wrapper .banner_contents_inner_half a, aside #banners div.banner_contents .banner_contents_inner a, nav ul li a, header #header_top ul.top_sub_nav li a, p.border_btn a {
  text-decoration: none !important;
  display: block;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}

.hover_effect, section.associate_link_contents ul.associate_link_list li a, #product_contact_map_area .product_contact_map_wrap .pref_box, section#category_name_search .btn_view_all, section#maker_name_search .btn_view_all, section#search_result .table_dl dd.btn_col > p, section#contact_form button,
section#contact_form_confirm button, section#recruit_contents .section_inner > .recruit_box, aside #contact_banner .btn_to_form2, aside #contact_banner .btn_to_form, aside #banners div.banner_contents .banner_contents_inner_wrapper .banner_contents_inner_half, aside #banners div.banner_contents .banner_contents_inner, header #header_top ul.top_sub_nav li, p.border_btn, button {
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.hover_effect:hover, section.associate_link_contents ul.associate_link_list li a:hover, #product_contact_map_area .product_contact_map_wrap .pref_box:hover, section#category_name_search .btn_view_all:hover, section#maker_name_search .btn_view_all:hover, section#search_result .table_dl dd.btn_col > p:hover, section#contact_form button:hover,
section#contact_form_confirm button:hover, section#recruit_contents .section_inner > .recruit_box:hover, aside #contact_banner .btn_to_form2:hover, aside #contact_banner .btn_to_form:hover, aside #banners div.banner_contents .banner_contents_inner_wrapper .banner_contents_inner_half:hover, aside #banners div.banner_contents .banner_contents_inner:hover, header #header_top ul.top_sub_nav li:hover, p.border_btn:hover, button:hover {
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  -ms-opacity: 0.5;
  -o-opacity: 0.5;
  opacity: 0.5;
}

/****************************************/
/**   DEFAULT SET    **/
/****************************************/
strong {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
}

/****************************************/
/**   共通レイアウト設定    **/
/****************************************/
/******   frames    ****/
html {
  height: 100%;
}

body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: rgb(23, 23, 23);
  text-align: left;
  height: 100%;
  background-color: rgb(255, 255, 255);
}

.wrapper {
  position: relative;
  height: auto !important;
  height: 100%;
  min-height: 100%;
}

/******   input    ******/
input, textarea, select {
  padding: 2px 5px;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  outline: none;
  border: 1px solid rgb(221, 221, 221);
  box-sizing: border-box;
  color: rgb(23, 23, 23);
}
input:focus, textarea:focus, select:focus {
  background-color: rgba(148, 0, 211, 0.1);
}

button {
  outline: none;
  border: none;
  cursor: pointer;
}

/******   A style    ******/
a {
  color: rgb(148, 0, 211);
}
a:link, a:visited {
  text-decoration: none;
}
a:hover, a:active {
  text-decoration: underline;
}

/******   common parts    ******/
.mb_30 {
  margin-bottom: 30px;
}

.mt_30 {
  margin-top: 30px;
}

.ta_center {
  text-align: center;
}

.ta_right {
  text-align: right;
}

.ta_left {
  text-align: left;
}

span.under_line {
  background: linear-gradient(transparent 70%, rgba(148, 0, 211, 0.3) 70%);
  margin-left: 5px;
  margin-right: 5px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
}

span.important_text {
  color: rgb(148, 0, 211);
  font-size: 130%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
}

p.border_btn {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  border-color: rgb(0, 0, 0);
  border-width: 1px;
  border-style: solid;
  position: relative;
  display: inline-block;
}
p.border_btn a {
  padding: 5px 20px;
  color: rgb(0, 0, 0);
}
p.border_btn:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent #000000 transparent;
}

div.btn_wrap {
  text-align: center;
}
div.btn_wrap p.border_btn a {
  padding: 10px 30px;
}

ul.simple_list, section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.simple_list li, section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd ul li {
  padding-left: 30px;
  text-indent: -0.7em;
  margin-bottom: 10px;
}
ul.simple_list li:before, section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd ul li:before {
  content: "\f138";
  font-family: FontAwesome;
  color: rgba(0, 0, 0, 0.7);
  margin-right: 0.5em;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  text-indent: 0;
  font-size: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-left: -20px;
}
ul.simple_list li:last-of-type, section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd ul li:last-of-type {
  margin-bottom: 0;
}

ol.simple_list {
  list-style: none;
  padding: 0;
  margin: 0;
}
ol.simple_list li {
  padding-left: 28px;
  text-indent: -0.7em;
  counter-increment: number;
  margin-bottom: 10px;
}
ol.simple_list li:before {
  content: counter(number);
  text-indent: 0;
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 400;
  font-size: 110%;
  vertical-align: middle;
  color: rgb(255, 255, 255);
  margin-right: 0.5em;
  background-color: rgb(148, 0, 211);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
  height: 20px;
  width: 20px;
  text-align: center;
  line-height: 20px;
  display: inline-block;
  box-sizing: border-box;
  margin-left: -18px;
}
ol.simple_list li:last-of-type {
  margin-bottom: 0;
}

ol.default_list {
  list-style-type: decimal !important;
  list-style-position: outside !important;
  padding-left: 1.5em;
}
ol.default_list > li {
  margin-bottom: 20px;
}

ol.pare li {
  counter-increment: number;
}
ol.pare li:before {
  content: "(" counter(number) ")";
  margin-right: 5px;
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 700;
}

dl.table_dl > * {
  border-top: rgb(221, 221, 221) dotted 1px;
  padding-top: 10px;
  margin-top: 10px;
}
dl.table_dl dt {
  width: 29%;
  max-width: 200px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
}
dl.table_dl dt:first-of-type {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}
dl.table_dl dt a {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
}
dl.table_dl dd {
  width: 70%;
}
dl.table_dl dd:first-of-type {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
}
dl.table_dl.fix_width dt {
  max-width: none;
  width: 20%;
}
dl.table_dl.fix_width dd {
  width: 80%;
}
@media screen and (max-width: 640px) {
  dl.table_dl > * {
    width: 100% !important;
    max-width: none !important;
  }
  dl.table_dl dt:before {
    content: "\f150";
    font-family: FontAwesome;
    color: rgb(148, 0, 211);
    margin-right: 0.2em;
    text-align: center;
    text-indent: 0;
    font-size: 130%;
    display: inline-block;
    vertical-align: middle;
  }
  dl.table_dl dd {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
}

p.table_dl_title {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 110%;
  margin-bottom: 5px;
  padding-bottom: 5px;
  background-color: rgba(0, 0, 0, 0.1);
  margin-top: 30px;
  box-sizing: border-box;
  width: 100%;
  padding: 0 20px;
}
@media screen and (max-width: 640px) {
  p.table_dl_title {
    padding: 10px;
    line-height: 1em;
    margin-left: -10px;
    margin-right: -10px;
    box-sizing: content-box;
  }
}

table.default_table {
  width: 100%;
}
table.default_table th, table.default_table td {
  border: 1px solid #ddd;
  padding: 5px 10px;
  box-sizing: border-box;
}
table.default_table thead td {
  background-color: #f4f4f4;
}
table.default_table tbody th {
  background-color: #f4f4f4;
}
@media screen and (max-width: 640px) {
  table.default_table {
    display: block;
  }
  table.default_table thead {
    display: none;
  }
  table.default_table tbody, table.default_table tr, table.default_table th, table.default_table td {
    display: inline-block;
    width: 100% !important;
  }
  table.default_table tbody tr {
    margin-top: 10px;
  }
  table.default_table tbody tr td {
    border: none;
    padding: 3px 0px;
  }
  table.default_table tbody tr td:before {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
    font-style: normal;
    font-weight: 700;
    display: inline-block;
    width: 70px;
    content: attr(data-text);
  }
}

div.double_column > * {
  width: 50% !important;
}
@media screen and (max-width: 640px) {
  div.double_column > * {
    width: 100% !important;
  }
}

/**********   ヘッダー    **********/
header {
  position: fixed;
  z-index: 3;
  width: 100%;
  border-bottom: rgb(148, 0, 211) solid 3px;
  background-color: rgba(255, 255, 255, 0.9);
}
#top header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
header #header_top p.top_text {
  padding: 8px 0 0 0;
  font-size: 70%;
  float: left;
  line-height: 1em;
}
header #header_top div.search_area {
  padding: 3px 0 0 0;
  float: right;
}
header #header_top div.search_area form input {
  -webkit-border-radius: 5px 0 0 5px;
  -moz-border-radius: 5px 0 0 5px;
  -ms-border-radius: 5px 0 0 5px;
  -o-border-radius: 5px 0 0 5px;
  border-radius: 5px 0 0 5px;
  height: 31px;
  line-height: 31px;
  width: 150px;
}
header #header_top div.search_area form button {
  -webkit-border-radius: 0 5px 5px 0;
  -moz-border-radius: 0 5px 5px 0;
  -ms-border-radius: 0 5px 5px 0;
  -o-border-radius: 0 5px 5px 0;
  border-radius: 0 5px 5px 0;
  outline: none;
  border: none;
  background-color: rgb(148, 0, 211);
  color: rgb(255, 255, 255);
  height: 31px;
  line-height: 31px;
  width: 31px;
  text-align: center;
}
header #header_top ul.top_sub_nav {
  float: right;
  margin-left: 10px;
  width: auto;
}
header #header_top ul.top_sub_nav li {
  -webkit-border-radius: 0 0 5px 5px;
  -moz-border-radius: 0 0 5px 5px;
  -ms-border-radius: 0 0 5px 5px;
  -o-border-radius: 0 0 5px 5px;
  border-radius: 0 0 5px 5px;
  padding: 5px 10px;
  margin-right: 5px;
  font-size: 95%;
}
header #header_top ul.top_sub_nav li a {
  color: rgb(255, 255, 255);
}
header #header_top ul.top_sub_nav li span {
  background-color: rgb(255, 255, 255);
  width: 18px;
  height: 18px;
  display: inline-block;
  vertical-align: middle;
  line-height: 18px;
  text-align: center;
  margin-right: 5px;
}
header #header_top ul.top_sub_nav li:last-of-type {
  margin-right: 0;
}
header #header_top ul.top_sub_nav li.sub_nav_search {
  background-color: rgb(148, 0, 211);
}
header #header_top ul.top_sub_nav li.sub_nav_search span {
  color: rgb(148, 0, 211) !important;
}
header #header_top ul.top_sub_nav li.sub_nav_contact {
  background-color: rgb(20, 97, 131);
}
header #header_top ul.top_sub_nav li.sub_nav_contact span {
  color: rgb(20, 97, 131) !important;
}
header #header_top ul.top_sub_nav li.sub_nav_english {
  background-color: rgb(56, 56, 56);
}
header #header_top ul.top_sub_nav li.sub_nav_english span {
  color: rgb(56, 56, 56) !important;
  font-size: 80%;
}
header #header_top ul.top_sub_nav li.sub_nav_logout {
  background-color: rgb(105, 105, 105);
}
header #header_top ul.top_sub_nav li.sub_nav_logout span {
  color: rgb(105, 105, 105) !important;
  font-size: 90%;
}
@media screen and (max-width: 1080px) {
  header #header_top p.top_text {
    width: 43%;
    max-width: 435px;
  }
}
@media screen and (max-width: 800px) {
  header #header_top p.top_text {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  header #header_top {
    display: none;
  }
}
header #header_bottom {
  /*
  $break_point0:1080px;
  $break_point1:800px;
  $break_point2:640px;
  $break_point3:400px;
  */
}
header #header_bottom h1 {
  float: left;
  width: 245px;
  margin-top: -10px;
  margin-left: -10px;
}
@media screen and (max-width: 800px) {
  header #header_bottom h1 {
    margin-top: 0;
  }
}

/********   ナビ    ********/
nav {
  float: right;
  margin-top: 20px;
}
nav ul li {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  font-size: 110%;
  padding: 0 10px;
  border-left: rgba(0, 0, 0, 0.2) solid 1px;
  position: relative;
}
nav ul li a {
  color: rgb(23, 23, 23);
  z-index: 2;
  position: relative;
}
nav ul li:after {
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  content: "";
  position: absolute;
  width: 0;
  height: 3px;
  bottom: 0;
  left: 2.5%;
  background-color: rgb(148, 0, 211);
}
nav ul li:first-of-type {
  border-left: none;
}
nav ul li:hover:after {
  width: 95%;
}
nav ul li ul {
  display: none;
  position: absolute;
  /*top: 25px;*/
  padding-top: 15px;
  left: 0;
  width: 135px;
  font-size: 80%;
  background-color: #FFFFFF;
}
nav ul li ul li {
  letter-spacing: 0.3em;
  display: block;
}
nav ul li p.new_badge {
  position: absolute;
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 700;
  font-size: 10px;
  -webkit-transform: scale(0.8, 0.8);
  -moz-transform: scale(0.8, 0.8);
  -ms-transform: scale(0.8, 0.8);
  -o-transform: scale(0.8, 0.8);
  transform: scale(0.8, 0.8);
  background-color: rgb(195, 44, 26);
  color: rgb(255, 255, 255);
  left: -10px;
  top: -8px;
  z-index: 1;
  padding: 3px 5px;
}
nav ul li:hover ul {
  display: block;
}
@media screen and (max-width: 830px) {
  nav ul li {
    padding: 0 4px;
    font-size: 1.9vw;
  }
}
@media screen and (max-width: 640px) {
  nav {
    display: none;
  }
}

/*******    SPナビ    *******/
.sp_nav {
  position: fixed;
  top: 7.5px;
  right: 7.5px;
  display: none;
  height: 45px;
  width: 45px;
  text-align: center;
  line-height: 60px;
  font-size: 30px;
  color: rgb(0, 0, 0);
  z-index: 9999;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.sp_nav_btn, .sp_nav_btn_bar {
  -webkit-transition-duration: 0.4s;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.sp_nav_btn {
  width: 45px;
  height: 45px;
  cursor: pointer;
  position: fixed;
  top: 0px;
  right: 14px;
  z-index: 101;
}
.sp_nav_btn_bar {
  width: 20px;
  height: 2px;
  position: absolute;
  top: 29px;
  left: 20px;
  background-color: rgb(23, 23, 23);
}
.sp_nav_btn_bar_top {
  -webkit-transform: translate(0, -8px);
  -moz-transform: translate(0, -8px);
  -ms-transform: translate(0, -8px);
  -o-transform: translate(0, -8px);
  transform: translate(0, -8px);
}
.sp_nav_btn_bar_bottom {
  -webkit-transform: translate(0, 8px);
  -moz-transform: translate(0, 8px);
  -ms-transform: translate(0, 8px);
  -o-transform: translate(0, 8px);
  transform: translate(0, 8px);
}
.sp_nav.is-opened {
  position: fixed;
  z-index: 999999;
}
.sp_nav.is-opened .sp_nav_btn_bar {
  background-color: rgb(255, 255, 255);
}
#top .sp_nav.is-opened .sp_nav_btn_bar {
  background-color: rgb(255, 255, 255);
}
.sp_nav.is-opened .sp_nav_btn_bar_top {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}
.sp_nav.is-opened .sp_nav_btn_bar_middle {
  width: 0;
  -webkit-transform: translate(10px, 0);
  -moz-transform: translate(10px, 0);
  -ms-transform: translate(10px, 0);
  -o-transform: translate(10px, 0);
  transform: translate(10px, 0);
}
.sp_nav.is-opened .sp_nav_btn_bar_bottom {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.sp_nav.on_scroll {
  background-color: rgba(148, 0, 211, 0.8);
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -ms-border-radius: 50%;
  -o-border-radius: 50%;
  border-radius: 50%;
}
.sp_nav.on_scroll .sp_nav_btn_bar {
  background-color: rgb(255, 255, 255);
}
.sp_nav.on_scroll.is-opened {
  background-color: transparent;
}
@media screen and (max-width: 640px) {
  .sp_nav {
    display: block;
  }
}

/*******   格納メニュー   *******/
.responsive_menu {
  position: fixed;
  z-index: 9998;
  top: 0;
  right: -600px;
  height: 100%;
  width: 100%;
  max-width: 600px;
  background-color: rgba(34, 34, 34, 0.95);
  display: block;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.responsive_menu_wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9997;
  background-color: rgba(0, 0, 0, 0.5);
  min-height: 100%;
  height: auto !important;
  height: 100%;
  display: none;
}
.responsive_menu_wrap.show {
  display: block;
}
.responsive_menu::-webkit-scrollbar {
  display: none;
}
.responsive_menu .inner_menu {
  margin: 30px;
  color: rgba(0, 0, 0, 0.6);
  padding: 0;
}
.responsive_menu .inner_menu p.menu_title {
  margin-bottom: 30px;
  text-align: center;
  font-family: "acumin-pro-condensed", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 130%;
  letter-spacing: 3px;
}
.responsive_menu .inner_menu p.menu_title i {
  margin-right: 10px;
}
.responsive_menu .inner_menu ul {
  margin-bottom: 30px;
}
.responsive_menu .inner_menu li {
  letter-spacing: normal;
  border-bottom: rgba(255, 255, 255, 0.4) solid 1px;
  box-sizing: border-box;
  width: 100%;
  height: 50px;
  line-height: 50px;
}
.responsive_menu .inner_menu li a {
  text-decoration: none;
  color: rgb(255, 255, 255);
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden;
}
.responsive_menu .inner_menu li i {
  margin-right: 20px;
}
.responsive_menu .inner_menu p {
  text-align: center;
  color: rgb(255, 255, 255);
}
@media screen and (max-width: 340px) {
  .responsive_menu .inner_menu p {
    font-size: 80%;
  }
}
.responsive_menu .inner_menu p.inner_bottom_logo > img {
  width: 175px;
  text-align: center;
  margin-bottom: 30px;
}

/*******   パンくず    *******/
#pankuzu {
  padding-top: 80px;
  background-color: rgba(240, 240, 240, 0.6);
}
#pankuzu div.pankuzu_inner > * {
  display: inline-block;
  vertical-align: middle;
}
#pankuzu div.pankuzu_inner a {
  color: rgb(23, 23, 23) !important;
}
#pankuzu div.pankuzu_inner i {
  font-size: 160%;
  color: rgba(0, 0, 0, 0.5) !important;
  vertical-align: top;
}
#pankuzu div.pankuzu_inner i:hover {
  color: rgb(148, 0, 211) !important;
}
#pankuzu div.pankuzu_inner span.arrow {
  border-top: solid 1px rgba(0, 0, 0, 0.4);
  border-right: solid 1px rgba(0, 0, 0, 0.4);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  width: 6px;
  height: 6px;
  margin-right: 10px;
  margin-left: 6px;
}
#pankuzu div.pankuzu_inner ul.login_user_info {
  display: table;
  float: right;
}
#pankuzu div.pankuzu_inner ul.login_user_info li {
  display: table-cell;
  padding-left: 5px;
  padding-right: 5px;
}
@media screen and (max-width: 640px) {
  #pankuzu {
    font-size: 80%;
  }
  #pankuzu div.pankuzu_inner span.arrow {
    margin-right: 5px;
    margin-left: 3px;
  }
}

/*******   メインエリア    *******/
article {
  width: 100%;
  overflow: hidden;
  padding-top: 50px;
}
article section {
  overflow: hidden;
  margin-bottom: 50px;
}
article section:last-of-type {
  margin-bottom: 80px;
}
article section div.section_title {
  border-bottom: rgb(221, 221, 221) solid 3px;
  width: 100%;
  margin-bottom: 15px;
}
article section div.section_title h3 {
  display: inline-block;
  margin-bottom: -3px;
  border-bottom: rgb(148, 0, 211) solid 3px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 130%;
  box-sizing: border-box;
}
article#procurement section div.section_title h3 {
  border-bottom-color: rgb(222, 84, 22);
}
article#construction section div.section_title h3 {
  border-bottom-color: rgb(230, 152, 31);
}
article#ecology section div.section_title h3 {
  border-bottom-color: rgb(188, 199, 69);
}
article#overseas section div.section_title h3 {
  border-bottom-color: rgb(71, 177, 167);
}
article #title_area {
  text-align: center;
  padding-bottom: 50px;
  border-bottom: solid 1px rgba(0, 0, 0, 0.2);
  position: relative;
}
article #title_area h2 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  font-size: 250%;
  position: relative;
  display: inline-block;
  padding: 0 90px;
}
article #title_area h2:before, article #title_area h2:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 80px;
  height: 2px;
  border-top: solid 1px rgba(0, 0, 0, 0.3);
  border-bottom: solid 1px rgba(0, 0, 0, 0.3);
}
article #title_area h2:before {
  left: 0;
}
article #title_area h2:after {
  right: 0;
}
article #title_area > span {
  display: block;
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.5);
  font-size: 90%;
  margin-top: -10px;
}
article #title_area:before {
  position: absolute;
  display: block;
  content: "";
  background: url(../img/common/title_mark.png) no-repeat center center;
  opacity: 0.1;
  height: 100px;
  width: 100px;
  background-size: contain;
  margin-left: -50px;
  top: -10px;
  left: 50%;
}
article #title_area + section {
  margin-top: 30px;
}
article #title_area div#second_top_nav {
  margin: 50px auto -50px auto;
  max-width: 1080px;
  padding-bottom: 10px;
}
article #title_area div#second_top_nav dl dt {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  margin-right: 20px;
}
article #title_area div#second_top_nav ul li {
  border-right: rgb(221, 221, 221) solid 1px;
  margin-right: 10px;
  padding-right: 10px;
}
article #title_area div#second_top_nav ul li:last-of-type {
  border-right: none;
  margin-right: 0;
  padding-right: 0;
}
@media screen and (max-width: 640px) {
  article #title_area h2 {
    font-size: 180%;
    padding: 0 50px;
    line-height: 1em;
  }
  article #title_area h2:before, article #title_area h2:after {
    width: 40px;
  }
  article #title_area div#second_top_nav {
    padding-bottom: 0;
  }
  article #title_area div#second_top_nav dl {
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    height: 45px;
  }
  article #title_area div#second_top_nav dl > * {
    width: 100%;
    box-sizing: border-box;
  }
  article #title_area div#second_top_nav dl dt {
    height: 45px;
    line-height: 45px;
    background: rgb(221, 221, 221);
    text-align: left;
    padding-left: 10px;
    position: relative;
    cursor: pointer;
  }
  article #title_area div#second_top_nav dl dt:after {
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    position: absolute;
    top: 0;
    font-family: "FontAwesome";
    content: "\f103";
    right: 10px;
    font-size: 150%;
    height: 45px;
  }
  article #title_area div#second_top_nav dl dd {
    height: 0;
    overflow: hidden;
  }
  article #title_area div#second_top_nav dl.open {
    height: auto;
  }
  article #title_area div#second_top_nav dl.open dt:after {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  article #title_area div#second_top_nav dl.open dd {
    height: auto;
  }
  article #title_area div#second_top_nav ul li {
    width: 100%;
    text-align: left;
    border-bottom: rgb(221, 221, 221) solid 1px;
    padding-bottom: 10px;
    padding-top: 10px;
    padding-left: 10px;
    box-sizing: border-box;
  }
  article #title_area div#second_top_nav ul li a {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
  }
}

/*******   サイド    *******/
aside {
  padding-bottom: 370px;
}
@media screen and (max-width: 800px) {
  aside {
    padding-bottom: 300px;
  }
}
@media screen and (max-width: 640px) {
  aside {
    padding-bottom: 150px;
  }
}
aside #banners {
  padding: 50px 0 0 0;
  margin-bottom: 30px;
}
aside #banners div.banner_contents {
  position: relative;
  box-sizing: border-box;
  margin: 0 5px;
}
aside #banners div.banner_contents img {
  width: 100%;
  height: auto;
}
aside #banners div.banner_contents .banner_contents_inner,
aside #banners div.banner_contents .banner_contents_inner_wrapper {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  box-sizing: border-box;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
aside #banners div.banner_contents .banner_contents_inner:last-of-type,
aside #banners div.banner_contents .banner_contents_inner_wrapper:last-of-type {
  bottom: 0;
  top: auto;
}
aside #banners div.banner_contents .banner_contents_inner {
  border: rgba(0, 0, 0, 0.2) solid 1px;
  padding: 5px;
}
aside #banners div.banner_contents .banner_contents_inner_wrapper {
  letter-spacing: -0.4em;
}
aside #banners div.banner_contents .banner_contents_inner_wrapper .banner_contents_inner_half {
  border: rgba(0, 0, 0, 0.2) solid 1px;
  padding: 5px;
  box-sizing: border-box;
  display: inline-block;
  letter-spacing: normal;
  width: 49%;
  vertical-align: bottom;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
aside #banners div.banner_contents .banner_contents_inner_wrapper .banner_contents_inner_half:first-of-type {
  margin-right: 2%;
}
aside #banners div.banner_contents:before {
  content: "";
  padding-top: 77%;
  position: relative;
  display: block;
  width: 100%;
}
aside #contact_banner {
  box-sizing: border-box;
  border: rgb(20, 97, 131) solid 1px;
}
aside #contact_banner hgroup {
  background: url(../img/common/contact_banner_bg.gif) repeat;
  color: rgb(255, 255, 255);
  position: relative;
  overflow: hidden;
  height: 160px;
  width: 35%;
  padding: 0 80px 0 30px;
  box-sizing: border-box;
}
aside #contact_banner hgroup .hgroup_inner {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
aside #contact_banner hgroup h4 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  font-size: 150%;
}
aside #contact_banner hgroup p {
  font-size: 80%;
}
aside #contact_banner hgroup:before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 80px 80px 0;
  border-color: transparent #FFFFFF transparent transparent;
  display: block;
}
aside #contact_banner hgroup:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 80px 80px;
  border-color: transparent transparent #FFFFFF transparent;
  display: block;
}
aside #contact_banner .contact_right {
  position: relative;
  height: 160px;
  width: 65%;
  box-sizing: border-box;
}
aside #contact_banner .tel_number {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  left: 20px;
  color: rgb(20, 97, 131);
  padding-left: 70px;
}
aside #contact_banner .tel_number:before {
  font-family: "FontAwesome";
  content: "\f2a0";
  display: inline-block;
  font-size: 500%;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -35px;
  line-height: 1em;
}
aside #contact_banner .tel_number a {
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 700;
  font-size: 350%;
  color: rgb(20, 97, 131);
  line-height: 1em;
}
aside #contact_banner .btn_to_form {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  right: 20px;
  background-color: rgb(20, 97, 131);
}
aside #contact_banner .btn_to_form a {
  color: rgb(255, 255, 255);
  padding: 15px 30px;
  font-size: 120%;
}
aside #contact_banner .btn_to_form:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent #FFFFFF transparent;
}
aside #contact_banner .btn_to_form2 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  min-width: 80%;
  text-align: center;
  border-top: rgba(0, 0, 0, 0.1) solid 3px;
  border-bottom: rgba(0, 0, 0, 0.1) solid 3px;
}
aside #contact_banner .btn_to_form2 a {
  color: rgb(20, 97, 131);
  padding: 30px 30px;
  font-size: 120%;
}
aside #contact_banner .btn_to_form2:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 15px 15px;
  border-color: transparent transparent rgb(20, 97, 131) transparent;
}
@media screen and (max-width: 1080px) {
  aside #contact_banner .contact_right {
    padding: 20px 30px 0 30px;
  }
  aside #contact_banner .tel_number,
  aside #contact_banner .btn_to_form {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
    display: inline-block;
  }
  aside #contact_banner .tel_number {
    width: 100%;
  }
  aside #contact_banner .btn_to_form {
    margin-top: 15px;
  }
  aside #contact_banner .btn_to_form a {
    padding: 5px 30px;
  }
}
@media screen and (max-width: 800px) {
  aside #contact_banner hgroup {
    width: 100%;
    height: 60px;
    text-align: center;
  }
  aside #contact_banner hgroup .hgroup_inner {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
  }
  aside #contact_banner hgroup:after, aside #contact_banner hgroup:before {
    display: none;
  }
  aside #contact_banner hgroup p {
    margin-top: -5px;
  }
  aside #contact_banner hgroup p br {
    display: none;
  }
  aside #contact_banner .tel_number {
    width: auto;
    display: inline-block;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  aside #contact_banner .btn_to_form_wrap {
    display: block;
    text-align: center;
  }
  aside #contact_banner .contact_right {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  aside #contact_banner .tel_number a {
    font-size: 7.5vw;
  }
}
@media screen and (max-width: 400px) {
  aside #contact_banner hgroup {
    height: 40px;
  }
  aside #contact_banner hgroup h4 {
    font-size: 120%;
  }
  aside #contact_banner hgroup p {
    display: none;
  }
  aside #contact_banner .tel_number {
    padding-left: 50px;
  }
  aside #contact_banner .tel_number:before {
    font-size: 350%;
    margin-top: -29px;
  }
}

/*******   フッター    *******/
footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 45px;
  box-sizing: border-box;
  background-color: #3C3B3B;
  font-size: 85%;
}
footer .footer_inner ul.foot_nav {
  width: 60%;
  padding-right: 50px;
  padding-top: 15px;
}
footer .footer_inner ul.foot_nav li {
  border-right: rgb(255, 255, 255) solid 1px;
  padding-right: 10px;
  margin-right: 10px;
}
footer .footer_inner ul.foot_nav li a {
  color: rgb(255, 255, 255);
}
footer .footer_inner ul.foot_nav li:last-of-type {
  border-right: none;
  margin-right: 0;
  padding-right: 0;
}
footer .footer_inner div.foot_logo_area {
  width: 40%;
  color: rgb(255, 255, 255);
  border-left: rgb(255, 255, 255) solid 1px;
  padding: 15px 0 15px 50px;
}
footer .footer_inner div.foot_logo_area img {
  width: 240px;
  height: auto;
  margin-bottom: 15px;
}
footer p.copyright {
  margin-top: 10px;
  text-align: center;
  color: rgb(255, 255, 255);
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 400;
}
@media screen and (max-width: 800px) {
  footer {
    height: 50px;
  }
  footer ul.foot_nav {
    width: 100% !important;
    text-align: center;
  }
  footer div.foot_logo_area {
    display: none;
  }
}
@media screen and (max-width: 640px) {
  footer {
    height: 50px;
  }
  footer .footer_inner {
    display: none;
  }
  footer p.copyright {
    border-top: none;
    padding-top: 0;
  }
}

.btn_to_top {
  display: none;
  position: fixed;
  bottom: 0;
  right: 10px;
  background-color: rgba(0, 0, 0, 0.5);
  width: 60px;
  height: 60px;
  text-align: center;
  color: rgb(255, 255, 255);
  padding-top: 35px;
  box-sizing: border-box;
  font-family: "acumin-pro-condensed", sans-serif;
  font-style: normal;
  font-weight: 300;
  cursor: pointer;
  z-index: 99;
}
.btn_to_top > span {
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  top: 20px;
  left: 50%;
  margin-left: -10px;
  border-left: rgb(255, 255, 255) solid 1px;
  border-top: rgb(255, 255, 255) solid 1px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_to_top:hover > span {
  top: 15px;
}

/****************************************/
/**   ページごと    **/
/****************************************/
#top_information_one {
  position: absolute;
  top: 87px;
  width: 100%;
  height: 40px;
  background-color: rgba(240, 240, 240, 0.6);
  z-index: 10;
}
#top_information_one > div li {
  margin-top: 5px;
}
#top_information_one > div li dl > * {
  vertical-align: middle !important;
}
#top_information_one > div li dl dt {
  margin-right: 10px;
}
#top_information_one > div li dl dt.categories_icon {
  background-color: rgb(1, 108, 148);
  color: rgb(255, 255, 255);
  text-align: center;
  width: 80px;
  font-size: 80%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  #top_information_one > div li dl dd {
    width: 100%;
  }
}
@media screen and (max-width: 640px) {
  #top_information_one {
    top: 56px;
    height: 65px;
  }
}

#main_image {
  width: 100%;
  min-height: 100vh;
  background-size: cover;
  overflow: hidden;
}
#main_image .main_image_container {
  text-align: center;
  width: 100%;
  height: 100vh;
  max-height: 100vh;
  position: relative;
  box-sizing: border-box;
}
#main_image .main_image_container .main_image_inner {
  width: 100%;
  max-height: calc(100vh - 200px);
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
#main_image .main_image_container .main_image_inner > img {
  text-align: center;
  display: inline-block;
  max-height: calc(100vh - 200px);
  object-fit: contain;
}
#main_image .main_image_container .main_image_inner > a {
  display: inline-block;
  margin: 0 auto;
}
#main_image .main_image_container .main_image_inner > a img {
  text-align: center;
  display: inline-block;
  max-height: calc(100vh - 200px);
  object-fit: contain;
}
#main_image .main_image_container .main_image_inner.pickup_items {
  max-width: 1080px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 50px 30px;
}
#main_image .main_image_container .main_image_inner.pickup_items > * {
  box-sizing: border-box;
  width: 48%;
}
#main_image .main_image_container .main_image_inner.pickup_items .logo_area {
  width: 100%;
  text-align: left;
}
#main_image .main_image_container .main_image_inner.pickup_items .logo_area img {
  width: 180px;
}
#main_image .main_image_container .main_image_inner.pickup_items .logo_area p {
  background-color: rgb(222, 111, 3);
  color: rgb(255, 255, 255);
  padding: 5px 10px;
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 400;
  font-size: 120%;
  line-height: 22px;
  vertical-align: middle;
  height: 34px;
  margin-left: 10px;
}
#main_image .main_image_container .main_image_inner.pickup_items hgroup,
#main_image .main_image_container .main_image_inner.pickup_items .characteristics {
  float: left;
  text-align: left;
}
#main_image .main_image_container .main_image_inner.pickup_items hgroup {
  padding: 30px 0;
}
#main_image .main_image_container .main_image_inner.pickup_items hgroup h3 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 250%;
  border-bottom: rgba(0, 0, 0, 0.3) solid 1px;
  margin-bottom: 0px;
}
#main_image .main_image_container .main_image_inner.pickup_items hgroup p {
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 400;
  color: rgba(23, 23, 23, 0.8);
}
#main_image .main_image_container .main_image_inner.pickup_items .characteristics {
  background-color: rgb(255, 255, 255);
  padding: 20px;
}
#main_image .main_image_container .main_image_inner.pickup_items .characteristics h4 {
  color: rgb(222, 111, 3);
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  position: relative;
  font-size: 120%;
}
#main_image .main_image_container .main_image_inner.pickup_items .characteristics h4 span {
  background-color: rgb(255, 255, 255);
  z-index: 3;
  position: relative;
  padding-right: 10px;
}
#main_image .main_image_container .main_image_inner.pickup_items .characteristics h4:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: rgba(0, 0, 0, 0.2);
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
}
#main_image .main_image_container .main_image_inner.pickup_items .characteristics li {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  list-style: disc inside;
  line-height: 1.5em;
}
#main_image .main_image_container .main_image_inner.pickup_items .characteristics p {
  font-size: 80%;
  line-height: 1.5em;
  border-top: rgba(0, 0, 0, 0.2) solid 1px;
  border-bottom: rgba(0, 0, 0, 0.2) solid 1px;
  margin-top: 20px;
  padding: 10px 0;
}
#main_image .main_image_container .main_image_inner.pickup_items .img_wrap,
#main_image .main_image_container .main_image_inner.pickup_items .to_detail_btn {
  float: right;
}
#main_image .main_image_container .main_image_inner.pickup_items .img_wrap {
  position: relative;
  overflow: hidden;
}
#main_image .main_image_container .main_image_inner.pickup_items .img_wrap:after {
  content: "";
  display: block;
  padding-top: 60%;
  width: 100%;
}
#main_image .main_image_container .main_image_inner.pickup_items .img_wrap img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#main_image .main_image_container .main_image_inner.pickup_items .to_detail_btn {
  margin-top: 30px;
}
#main_image .main_image_container .main_image_inner.pickup_items .to_detail_btn p.border_btn a {
  padding: 10px 40px;
}
@media screen and (max-height: 750px) {
  #main_image .main_image_container .main_image_inner.pickup_items {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  #main_image .main_image_container .main_image_inner.pickup_items hgroup {
    padding: 0 0 10px 0;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .to_detail_btn {
    margin-top: 10px;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .to_detail_btn p.border_btn a {
    padding: 5px 40px;
  }
}
@media screen and (max-height: 650px) {
  #main_image .main_image_container .main_image_inner.pickup_items {
    padding-top: 10px;
    padding-bottom: 10px;
  }
  #main_image .main_image_container .main_image_inner.pickup_items hgroup {
    padding: 0 0 10px 0;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .characteristics {
    padding: 5px 20px;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .characteristics li {
    font-size: 90%;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .characteristics p {
    margin-top: 10px;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .img_wrap {
    margin-top: -30px;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .img_wrap:after {
    padding-top: 45%;
  }
}
#main_image.slick-dotted.slick-slider {
  margin-bottom: 0;
}
#main_image .slick-dots {
  bottom: 106px;
  padding-right: 0;
}
@media screen and (max-height: 500px) {
  #main_image {
    height: auto;
    padding-top: 100px;
  }
  #main_image .main_image_container {
    max-height: none;
    min-height: 100vh;
    height: auto;
  }
  #main_image .main_image_container .main_image_inner {
    max-height: none;
    top: 0;
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -o-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  #main_image .main_image_container .main_image_inner > img {
    max-height: 100vh;
  }
  #main_image .main_image_container .main_image_inner > a > img {
    max-height: 100vh;
  }
  #main_image .main_image_container .main_image_inner.pickup_items {
    top: 0;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
  #main_image .main_image_container .main_image_inner.pickup_items .characteristics li {
    font-size: 75%;
  }
}
@media screen and (max-width: 800px) {
  #main_image .main_image_container .main_image_inner.pickup_items {
    padding: 20px;
  }
  #main_image .slick-dots {
    bottom: 20px;
  }
}
@media screen and (max-width: 640px) {
  #main_image .main_image_container .main_image_inner.pickup_items {
    padding: 10px;
    max-height: none !important;
  }
  #main_image .main_image_container .main_image_inner.pickup_items > * {
    box-sizing: border-box;
    width: 100%;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .logo_area img {
    display: none;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .logo_area p {
    margin-left: 0;
  }
  #main_image .main_image_container .main_image_inner.pickup_items hgroup {
    padding: 0;
    margin-top: 45%;
    background-color: rgba(255, 255, 255, 0.5);
  }
  #main_image .main_image_container .main_image_inner.pickup_items hgroup > * {
    padding-left: 10px;
  }
  #main_image .main_image_container .main_image_inner.pickup_items hgroup h3 {
    font-size: 150%;
  }
  #main_image .main_image_container .main_image_inner.pickup_items hgroup p {
    margin-bottom: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .img_wrap {
    margin-top: -60%;
    z-index: -1;
    position: relative;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .characteristics {
    padding: 10px;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .characteristics p {
    display: none;
  }
  #main_image .main_image_container .main_image_inner.pickup_items .characteristics li {
    font-size: 75%;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

#header_sub_contents {
  margin-top: -86px;
}
#header_sub_contents > * {
  width: 49%;
  background-color: rgb(235, 235, 235);
  position: relative;
  padding: 20px 15px;
}
#header_sub_contents > * hgroup {
  border-left: rgb(148, 0, 211) 5px solid;
  padding: 0px 10px;
}
#header_sub_contents > * hgroup h4 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  color: rgb(148, 0, 211);
  line-height: 1.5em;
}
#header_sub_contents > * hgroup p {
  line-height: 1.5em;
  font-size: 75%;
}
#header_sub_contents > * p.border_btn {
  position: absolute;
  right: 15px;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
#header_sub_contents > *:first-of-type {
  margin-right: 2%;
}
@media screen and (max-width: 800px) {
  #header_sub_contents {
    margin-top: 20px;
    margin-bottom: -30px;
  }
  #header_sub_contents > * {
    width: 100%;
    margin-right: 0 !important;
  }
  #header_sub_contents > * p.border_btn a {
    padding: 5px 10px;
  }
  #header_sub_contents > *:first-of-type {
    border-bottom: rgba(0, 0, 0, 0.3) solid 1px;
  }
}
@media screen and (max-width: 400px) {
  #header_sub_contents > * hgroup h4 {
    font-size: 90%;
  }
  #header_sub_contents > * hgroup p {
    display: none;
  }
  #header_sub_contents > * p.border_btn {
    font-size: 90%;
  }
}

section#main_categories div.category_image_btn,
section#second_navigation div.category_image_btn {
  width: 33.3%;
  position: relative;
  margin-bottom: 0.05%;
  overflow: hidden;
}
section#main_categories div.category_image_btn:nth-of-type(3n-1),
section#second_navigation div.category_image_btn:nth-of-type(3n-1) {
  margin-left: 0.05%;
  margin-right: 0.05%;
}
section#main_categories div.category_image_btn img,
section#second_navigation div.category_image_btn img {
  width: 100%;
  height: auto;
}
section#main_categories div.category_image_btn a:after,
section#second_navigation div.category_image_btn a:after {
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  content: "詳しく見る";
  display: block;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(-45deg, rgba(0, 0, 0, 0.7) 25%, rgba(0, 0, 0, 0.5) 25%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.7) 50%, rgba(0, 0, 0, 0.7) 75%, rgba(0, 0, 0, 0.5) 75%, rgba(0, 0, 0, 0.5));
  background-size: 8px 8px;
  position: absolute;
  bottom: -100%;
  left: 0;
  color: rgb(255, 255, 255);
  text-align: center;
  box-sizing: border-box;
  padding-top: 30%;
}
section#main_categories div.category_image_btn img,
section#second_navigation div.category_image_btn img {
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
section#main_categories div.category_image_btn p.wrap_btn,
section#second_navigation div.category_image_btn p.wrap_btn {
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  border: rgb(255, 255, 255) solid 1px;
  color: rgb(255, 255, 255);
  padding: 20px 0px;
  text-align: center;
  width: 70%;
  background-color: rgba(0, 0, 0, 0.4);
}
section#main_categories div.category_image_btn p.wrap_btn:after,
section#second_navigation div.category_image_btn p.wrap_btn:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent #FFFFFF transparent;
}
section#main_categories div.category_image_btn p.add_text,
section#second_navigation div.category_image_btn p.add_text {
  position: absolute;
  width: 100%;
  color: #FFFFFF;
  text-align: center;
  height: 20px;
  bottom: 5%;
  left: 0;
  font-size: 75%;
  -webkit-text-shadow: 0px 0px 7px rgb(23, 23, 23);
  -moz-text-shadow: 0px 0px 7px rgb(23, 23, 23);
  -ms-text-shadow: 0px 0px 7px rgb(23, 23, 23);
  -o-text-shadow: 0px 0px 7px rgb(23, 23, 23);
  text-shadow: 0px 0px 7px rgb(23, 23, 23);
  white-space: nowrap; /* 横幅のMAXに達しても改行しない */
  overflow: hidden; /* ハミ出した部分を隠す */
  text-overflow: ellipsis; /* 「…」と省略 */
  -webkit-text-overflow: ellipsis; /* Safari */
  -o-text-overflow: ellipsis; /* Opera */
}
section#main_categories div.category_image_btn:hover a:after,
section#second_navigation div.category_image_btn:hover a:after {
  bottom: 0;
}
section#main_categories div.category_image_btn:hover p.wrap_btn,
section#main_categories div.category_image_btn:hover p.add_text,
section#second_navigation div.category_image_btn:hover p.wrap_btn,
section#second_navigation div.category_image_btn:hover p.add_text {
  opacity: 0;
}
@media screen and (max-width: 800px) {
  section#main_categories div.category_image_btn,
  section#second_navigation div.category_image_btn {
    width: 49.9%;
    margin-bottom: 0.2%;
  }
  section#main_categories div.category_image_btn:nth-of-type(3n-1),
  section#second_navigation div.category_image_btn:nth-of-type(3n-1) {
    margin-left: 0;
    margin-right: 0;
  }
  section#main_categories div.category_image_btn:nth-of-type(2n),
  section#second_navigation div.category_image_btn:nth-of-type(2n) {
    margin-left: 0.2%;
  }
  section#main_categories div.category_image_btn p.wrap_btn,
  section#second_navigation div.category_image_btn p.wrap_btn {
    width: 90%;
    font-size: 90%;
  }
}
@media screen and (max-width: 400px) {
  section#main_categories div.category_image_btn p.wrap_btn,
  section#second_navigation div.category_image_btn p.wrap_btn {
    font-size: 85%;
    width: 95%;
  }
}

section#second_navigation div.category_image_btn {
  background: -webkit-radial-gradient(rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0.4) 15%, rgb(0, 0, 0) 16%, rgba(0, 0, 0, 0) 100%), -webkit-radial-gradient(rgba(255, 255, 255, 0.4) 15%, rgb(0, 0, 0) 16%), rgb(0, 0, 0);
  background: radial-gradient(rgba(255, 255, 255, 0.4) 0, rgba(255, 255, 255, 0.4) 15%, rgb(0, 0, 0) 16%, rgb(0, 0, 0) 100%), radial-gradient(rgba(255, 255, 255, 0.4) 15%, rgba(0, 0, 0, 0) 16%), rgb(0, 0, 0);
  background-position: 0 0, 4px 4px;
  -webkit-background-size: 8px 8px;
  background-size: 8px 8px;
}
section#second_navigation div.category_image_btn img {
  opacity: 0.8;
}
section#second_navigation div.category_image_btn p.wrap_btn {
  background-color: rgba(0, 0, 0, 0.3) !important;
  border-left: none;
  border-right: none;
  font-size: 115%;
  -webkit-text-shadow: 0px 0px 8px rgb(0, 0, 0);
  -moz-text-shadow: 0px 0px 8px rgb(0, 0, 0);
  -ms-text-shadow: 0px 0px 8px rgb(0, 0, 0);
  -o-text-shadow: 0px 0px 8px rgb(0, 0, 0);
  text-shadow: 0px 0px 8px rgb(0, 0, 0);
  letter-spacing: 0.2em;
  font-weight: 700;
  width: 80%;
}
section#second_navigation div.category_image_btn a:after {
  content: attr(data-contents);
}
@media screen and (max-width: 640px) {
  #product section#second_navigation div.category_image_btn p.wrap_btn, #search section#second_navigation div.category_image_btn p.wrap_btn {
    width: 90%;
    font-size: 100%;
    line-height: 1em;
  }
}

section#company_navigation div.company_nav_btn {
  width: 49.5%;
  box-sizing: border-box;
  padding: 15px 30px;
  border-left: rgb(148, 0, 211) solid 5px;
  border-bottom: rgb(221, 221, 221) solid 1px;
  border-top: rgb(221, 221, 221) solid 1px;
  border-right: rgb(221, 221, 221) solid 1px;
  margin-bottom: 1%;
  position: relative;
}
section#company_navigation div.company_nav_btn:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent rgb(148, 0, 211) transparent;
}
section#company_navigation div.company_nav_btn a {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 120%;
}
section#company_navigation div.company_nav_btn:nth-of-type(2n-1) {
  margin-right: 1%;
}
@media screen and (max-width: 640px) {
  section#company_navigation div.company_nav_btn {
    width: 100%;
    margin-right: 0 !important;
    margin-bottom: 5px;
  }
}

section#informations {
  background-color: rgb(240, 240, 240);
  padding: 50px 0 30px 0;
}
section#informations h3 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 140%;
  border-bottom: rgb(23, 23, 23) solid 1px;
  margin-bottom: 20px;
  padding-bottom: 10px;
}
section#informations li {
  border-bottom: rgb(23, 23, 23) dotted 1px;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
section#informations li dl > * {
  vertical-align: middle !important;
}
section#informations li dl dt {
  margin-right: 10px;
}
section#informations li dl dt.categories_icon {
  background-color: rgb(1, 108, 148);
  color: rgb(255, 255, 255);
  text-align: center;
  width: 80px;
  font-size: 80%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 640px) {
  section#informations li dl dd {
    width: 100%;
  }
}
section#informations div.btn_wrap {
  margin-top: 30px;
}
#info section#informations {
  background-color: transparent;
  padding: 0;
}

section#information_details .date_information > * {
  vertical-align: middle;
  margin-right: 10px;
}
section#information_details .date_information .categories_icon {
  background-color: rgb(1, 108, 148);
  color: rgb(255, 255, 255);
  text-align: center;
  width: auto;
  font-size: 80%;
  padding: 0 5px;
}
section#information_details .entry_body {
  margin-top: 50px;
  margin-bottom: 50px;
}

section#pdf_list ul li {
  border-bottom: rgb(221, 221, 221) dotted 1px;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
section#pdf_list ul li:last-of-type {
  border-bottom: none;
  padding-bottom: 0px;
  margin-bottom: 0px;
}
section#pdf_list ul dl dt {
  width: 80%;
}
section#pdf_list ul dl dd {
  width: 20%;
  text-align: right;
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 700;
}

section#business_navigation div.business_navigation_box {
  background-color: rgba(0, 0, 0, 0.1);
  width: 24.8%;
  margin-right: 0.1%;
  border-top: rgb(255, 255, 255) solid 5px;
}
section#business_navigation div.business_navigation_box img {
  width: 100%;
}
section#business_navigation div.business_navigation_box .business_navigation_box_inner {
  padding: 15px 10px;
  text-align: center;
}
section#business_navigation div.business_navigation_box .business_navigation_box_inner h3 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 150%;
  border-top: rgb(23, 23, 23) solid 1px;
  border-bottom: rgb(23, 23, 23) solid 1px;
  display: inline-block;
  padding: 0 20px;
}
section#business_navigation div.business_navigation_box .business_navigation_box_inner div.sub_text {
  height: 70px;
  position: relative;
}
section#business_navigation div.business_navigation_box .business_navigation_box_inner div.sub_text > p {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  line-height: 1.1em;
}
section#business_navigation div.business_navigation_box.procurement {
  border-top-color: rgb(222, 84, 22);
}
section#business_navigation div.business_navigation_box.construction {
  border-top-color: rgb(230, 152, 31);
}
section#business_navigation div.business_navigation_box.ecology {
  border-top-color: rgb(188, 199, 69);
}
section#business_navigation div.business_navigation_box.overseas {
  border-top-color: rgb(71, 177, 167);
}
@media screen and (max-width: 800px) {
  section#business_navigation div.business_navigation_box {
    width: 49.5%;
    margin-right: 0.5%;
    margin-bottom: 2px;
  }
}
@media screen and (max-width: 640px) {
  section#business_navigation div.business_navigation_box {
    width: 100%;
    margin-right: 0;
    margin-bottom: 2px;
  }
}

section#business_eye_catch {
  width: 100%;
  background-color: rgb(148, 0, 211);
  text-align: center;
  padding: 20px 0;
}

section.business_header_contents .contents_sub_category {
  text-align: center;
}
section.business_header_contents .contents_sub_category p {
  background-color: rgba(0, 0, 0, 0.7);
  color: rgb(255, 255, 255);
  display: inline-block;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  padding: 10px 30px;
}
section.business_header_contents .contents_main_text {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  text-align: center;
  font-size: 200%;
  margin-bottom: 30px;
  line-height: 1em;
  margin-top: 10px;
}
#procurement section.business_header_contents .contents_main_text {
  color: rgb(222, 84, 22);
}
#construction section.business_header_contents .contents_main_text {
  color: rgb(230, 152, 31);
}
#ecology section.business_header_contents .contents_main_text {
  color: rgb(188, 199, 69);
}
#overseas section.business_header_contents .contents_main_text {
  color: rgb(71, 177, 167);
}
section.business_header_contents span.inner_banner {
  display: block;
  text-align: left;
  margin-top: 10px;
}
section.business_header_contents span.inner_banner img {
  border: rgb(221, 221, 221) solid 1px;
}
section.business_header_contents .process_images {
  color: rgb(255, 255, 255);
  margin-bottom: 30px;
}
section.business_header_contents .process_images .process_box {
  width: 33.3%;
  position: relative;
  height: 150px;
  box-sizing: border-box;
  padding-left: 40px;
}
section.business_header_contents .process_images .process_box div.process_box_inner {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  z-index: 3;
}
section.business_header_contents .process_images .process_box h3 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 120%;
  border-bottom: rgba(255, 255, 255, 0.8) solid 2px;
  margin-bottom: 10px;
}
section.business_header_contents .process_images .process_box p {
  font-size: 75%;
  height: 75px;
}
section.business_header_contents .process_images .process_box:after {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  right: -20px;
  content: "\f101";
  font-family: FontAwesome;
  font-size: 500%;
}
section.business_header_contents .process_images .process_box:last-of-type:after {
  display: none;
}
section.business_header_contents .process_images .process_box:nth-of-type(1) {
  z-index: 3;
}
section.business_header_contents .process_images .process_box:nth-of-type(2) {
  z-index: 2;
}
section.business_header_contents .process_images .process_box:nth-of-type(3) {
  z-index: 1;
}
#procurement section.business_header_contents .process_images .process_box:nth-of-type(1) {
  background-color: rgb(222, 84, 22);
}
#procurement section.business_header_contents .process_images .process_box:nth-of-type(2) {
  background-color: rgba(222, 84, 22, 0.95);
}
#procurement section.business_header_contents .process_images .process_box:nth-of-type(3) {
  background-color: rgba(222, 84, 22, 0.9);
}
#construction section.business_header_contents .process_images .process_box:nth-of-type(1) {
  background-color: rgb(230, 152, 31);
}
#construction section.business_header_contents .process_images .process_box:nth-of-type(2) {
  background-color: rgba(230, 152, 31, 0.95);
}
#construction section.business_header_contents .process_images .process_box:nth-of-type(3) {
  background-color: rgba(230, 152, 31, 0.9);
}
#ecology section.business_header_contents .process_images .process_box:nth-of-type(1) {
  background-color: rgb(188, 199, 69);
}
#ecology section.business_header_contents .process_images .process_box:nth-of-type(2) {
  background-color: rgba(188, 199, 69, 0.95);
}
#ecology section.business_header_contents .process_images .process_box:nth-of-type(3) {
  background-color: rgba(188, 199, 69, 0.9);
}
#overseas section.business_header_contents .process_images .process_box:nth-of-type(1) {
  background-color: rgb(71, 177, 167);
}
#overseas section.business_header_contents .process_images .process_box:nth-of-type(2) {
  background-color: rgba(71, 177, 167, 0.95);
}
#overseas section.business_header_contents .process_images .process_box:nth-of-type(3) {
  background-color: rgba(71, 177, 167, 0.9);
}
@media screen and (max-width: 800px) {
  section.business_header_contents .process_images .process_box {
    width: 100%;
  }
  section.business_header_contents .process_images .process_box:after {
    content: "\f103";
    left: 50%;
    right: auto;
    top: auto;
    bottom: -65px;
    -webkit-transform: translate(-50%, 0);
    -moz-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    -o-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
  }
}
section.business_header_contents .header_double_column .img_wrap {
  width: 20%;
  float: left;
  text-align: center;
}
section.business_header_contents .header_double_column p {
  width: 80%;
  float: right;
  box-sizing: border-box;
  padding-left: 20px;
}
@media screen and (max-width: 640px) {
  section.business_header_contents .header_double_column > * {
    width: 100% !important;
  }
  section.business_header_contents .header_double_column p {
    padding-left: 0;
    margin-top: 10px;
    text-align: center;
  }
  section.business_header_contents .header_double_column span.inner_banner {
    text-align: center;
  }
}

section.business_contents > .section_inner {
  background-color: rgba(0, 0, 0, 0.05);
}
section.business_contents > .section_inner > * {
  box-sizing: border-box;
}
section.business_contents > .section_inner h4, section.business_contents > .section_inner p {
  width: 70%;
  float: left;
  padding-left: 30px;
  padding-right: 30px;
  padding-top: 20px;
}
section.business_contents > .section_inner h4 {
  line-height: 1.5em;
  position: relative;
}
section.business_contents > .section_inner h4 span {
  position: relative;
  display: inline-block;
  padding-bottom: 5px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 120%;
}
section.business_contents > .section_inner h4 span:after {
  background-color: rgb(221, 221, 221);
  width: 100%;
  height: 3px;
  content: "";
  display: block;
  bottom: 0;
  left: 0;
  position: absolute;
  content: "";
}
section.business_contents > .section_inner > div.img_wrap {
  float: right;
  width: 30%;
}
section.business_contents > .section_inner > div.img_wrap img {
  width: 100%;
}
section.business_contents > .section_inner p {
  clear: left;
  line-height: 1.5em;
}
@media screen and (max-width: 800px) {
  section.business_contents > .section_inner h4, section.business_contents > .section_inner p {
    width: 60%;
  }
  section.business_contents > .section_inner div.img_wrap {
    width: 40%;
  }
}
@media screen and (max-width: 640px) {
  section.business_contents > .section_inner h4, section.business_contents > .section_inner p, section.business_contents > .section_inner div.img_wrap {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
  section.business_contents > .section_inner h4 span {
    font-size: 100%;
  }
  section.business_contents > .section_inner p {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

section#recruit_contents .section_inner > .recruit_box {
  width: 49.8%;
  margin: 0 0.1%;
  position: relative;
}
section#recruit_contents .section_inner > .recruit_box .recruit_box_title {
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  text-align: center;
}
section#recruit_contents .section_inner > .recruit_box .recruit_box_title h4 {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.3em;
  font-size: 200%;
  color: rgb(255, 255, 255) !important;
  background-color: rgba(0, 0, 0, 0.6);
  padding: 10px 30px;
  border-top: rgb(255, 255, 255) solid 1px;
  border-bottom: rgb(255, 255, 255) solid 1px;
  width: 80%;
  box-sizing: border-box;
}
@media screen and (max-width: 640px) {
  section#recruit_contents .section_inner > .recruit_box {
    width: 100%;
    margin: 0 0 5px 0;
  }
}

section#contact_form span.must,
section#contact_form_confirm span.must {
  background-color: rgb(167, 5, 7);
  color: rgb(255, 255, 255);
  font-size: 90%;
  padding: 1px 5px;
  margin-left: 10px;
}
section#contact_form input, section#contact_form textarea, section#contact_form select,
section#contact_form_confirm input,
section#contact_form_confirm textarea,
section#contact_form_confirm select {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
section#contact_form input[type=text],
section#contact_form input[type=email],
section#contact_form textarea,
section#contact_form_confirm input[type=text],
section#contact_form_confirm input[type=email],
section#contact_form_confirm textarea {
  width: 100%;
}
section#contact_form input[type=tel],
section#contact_form_confirm input[type=tel] {
  width: 150px;
}
section#contact_form input.zip1,
section#contact_form_confirm input.zip1 {
  width: 40px;
}
section#contact_form input.zip2,
section#contact_form_confirm input.zip2 {
  width: 50px;
}
section#contact_form input.address,
section#contact_form_confirm input.address {
  margin-top: 5px;
}
section#contact_form textarea,
section#contact_form_confirm textarea {
  height: 150px;
}
section#contact_form .btn_wrap,
section#contact_form_confirm .btn_wrap {
  margin-top: 30px;
}
section#contact_form button,
section#contact_form_confirm button {
  width: 150px;
  height: 50px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  border-color: rgba(0, 0, 0, 0.3);
  border-width: 1px;
  border-style: solid;
  position: relative;
}
section#contact_form button:after,
section#contact_form_confirm button:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 3px;
  right: 3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 10px 10px;
  border-color: transparent transparent #000000 transparent;
}
section#contact_form button.btn_submit, section#contact_form button.btn_send,
section#contact_form_confirm button.btn_submit,
section#contact_form_confirm button.btn_send {
  background-color: rgb(148, 0, 211);
  color: rgb(255, 255, 255);
  margin-left: 30px;
}
section#contact_form button.btn_submit:after, section#contact_form button.btn_send:after,
section#contact_form_confirm button.btn_submit:after,
section#contact_form_confirm button.btn_send:after {
  border-color: transparent transparent #FFFFFF transparent;
}
@media screen and (max-width: 640px) {
  section#contact_form button,
  section#contact_form_confirm button {
    width: 100%;
  }
  section#contact_form button.btn_submit, section#contact_form button.btn_send,
  section#contact_form_confirm button.btn_submit,
  section#contact_form_confirm button.btn_send {
    margin-left: 0;
    margin-top: 10px;
  }
}

section#contact_form_confirm {
  margin-top: 30px;
}
section#contact_form_confirm p.confirm_text {
  background-color: rgba(240, 240, 240, 0.6);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  padding: 10px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  margin-bottom: 20px;
}

section#contact_form_complete {
  text-align: center;
  margin-top: 30px;
}
section#contact_form_complete p.thanks_main_text {
  margin-bottom: 40px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 180%;
}
section#contact_form_complete p.thanks_main_text img {
  max-width: 200px;
}
section#contact_form_complete p.thanks_cautions {
  background-color: rgba(240, 240, 240, 0.6);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  padding: 10px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  margin-bottom: 20px;
  color: rgb(195, 44, 26);
  margin-top: 40px;
}

section.office_contents table {
  width: 100%;
  border-bottom: rgb(221, 221, 221) solid 1px;
}
section.office_contents table tr > *:last-child {
  width: 170px;
}
section.office_contents table tr > th + td {
  width: auto !important;
}
section.office_contents table th, section.office_contents table td {
  vertical-align: middle;
  border-top: rgb(221, 221, 221) solid 1px;
  padding: 5px 10px;
}
section.office_contents table th {
  background-color: rgba(0, 0, 0, 0.1);
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  width: 180px !important;
}
section.office_contents table td i {
  font-size: 150%;
  margin-left: 10px;
  line-height: 1em;
}
@media screen and (max-width: 800px) {
  section.office_contents table {
    display: block;
  }
  section.office_contents table tbody, section.office_contents table tr, section.office_contents table th {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }
  section.office_contents table tr {
    letter-spacing: -0.4em;
  }
  section.office_contents table tr > * {
    letter-spacing: normal;
  }
  section.office_contents table tr > td {
    vertical-align: top;
    display: inline-block;
    box-sizing: border-box;
  }
  section.office_contents table tr > td:nth-of-type(1) {
    width: 70%;
  }
  section.office_contents table tr > td:nth-of-type(2) {
    width: 30%;
  }
}
@media screen and (max-width: 640px) {
  section.office_contents table tr > td {
    width: 100% !important;
  }
  section.office_contents table tr > td:last-of-type br {
    display: none;
  }
}
@media screen and (max-width: 400px) {
  section.office_contents table tr > td:last-of-type br {
    display: inline-block;
  }
}

section#search_form {
  margin-top: 0px !important;
  margin-bottom: 30px !important;
  background-color: rgba(240, 240, 240, 0.6);
  padding: 30px 0;
}
section#search_form .search_form_inner {
  background-color: rgb(255, 255, 255);
  border: rgb(221, 221, 221) solid 1px;
  display: table;
  width: 100%;
}
section#search_form .search_form_inner > * {
  display: table-cell;
}
section#search_form .search_form_inner h3 {
  width: 130px;
  text-align: center;
  vertical-align: middle;
  background-color: rgba(0, 0, 0, 0.7);
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  color: rgb(255, 255, 255);
}
section#search_form .search_form_inner div.search_form_wrapper {
  padding: 10px 10px 10px 30px;
}
section#search_form .search_form_inner div.search_form_wrapper dl dt {
  width: 20%;
}
section#search_form .search_form_inner div.search_form_wrapper dl dd {
  width: 80%;
}
section#search_form .search_form_inner div.search_form_wrapper input[type=text] {
  width: 100%;
}
section#search_form .search_form_inner div.search_form_wrapper input, section#search_form .search_form_inner div.search_form_wrapper select {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
section#search_form .search_form_inner div.search_form_wrapper select {
  width: 150px;
  margin-right: 5px;
  display: inline-block;
}
section#search_form .search_form_inner div.btn_wrap {
  vertical-align: middle;
  padding: 0 10px;
  width: 80px;
}
section#search_form .search_form_inner div.btn_wrap button {
  background-color: rgb(148, 0, 211);
  color: rgb(255, 255, 255);
  width: 60px;
  height: 60px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
section#search_form .search_form_inner div.btn_wrap button i {
  font-size: 200%;
}
@media screen and (max-width: 640px) {
  section#search_form .search_form_inner {
    display: block;
    letter-spacing: -0.4em;
    position: relative;
  }
  section#search_form .search_form_inner > * {
    display: inline-block;
    letter-spacing: normal;
    box-sizing: border-box;
    width: 100% !important;
  }
  section#search_form .search_form_inner div.search_form_wrapper {
    padding: 10px;
  }
  section#search_form .search_form_inner div.btn_wrap {
    padding: 10px;
  }
  section#search_form .search_form_inner div.btn_wrap button {
    width: 100%;
    height: 45px;
  }
}

section#search_result p.result_count span {
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 700;
  font-size: 150%;
}
section#search_result .table_dl {
  display: inline-block;
  margin-top: 15px;
  padding-top: 15px;
  border-top: rgb(221, 221, 221) dotted 1px;
}
section#search_result .table_dl dt {
  line-height: 1em;
  max-width: none;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 120%;
}
section#search_result .table_dl dt a {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
}
section#search_result .table_dl dt i {
  margin-right: 10px;
}
section#search_result .table_dl dd {
  margin: 0;
  padding: 0;
  border-top: none;
}
section#search_result .table_dl dd.btn_col {
  width: 15%;
  text-align: right;
}
section#search_result .table_dl dd.btn_col > p {
  background-color: rgb(148, 0, 211);
  color: rgb(255, 255, 255);
  text-align: center;
  width: 100px;
  font-size: 80%;
  padding: 5px;
  cursor: pointer;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -ms-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
}
section#search_result .table_dl dd span.experience_years {
  width: 130px;
  background-color: rgba(0, 0, 0, 0.5);
  color: rgb(255, 255, 255);
  padding: 2px 5px;
  font-size: 80%;
}
@media screen and (max-width: 640px) {
  section#search_result .table_dl dt:before {
    display: none;
  }
  section#search_result .table_dl dd.btn_col {
    margin-top: 10px;
  }
}

section.product_details_body .goods_details_inner > .img_wrap {
  width: 40%;
}
section.product_details_body .goods_details_inner > .img_wrap img {
  width: 100%;
}
section.product_details_body .goods_details_inner > div:not(.img_wrap) {
  width: 60%;
  box-sizing: border-box;
  padding: 0 0 0 20px;
}
section.product_details_body .goods_details_inner > div:not(.img_wrap) strong {
  font-size: 150%;
}
section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table {
  margin-top: 20px;
}
section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table > * {
  width: 100%;
  box-sizing: border-box;
}
section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dt {
  background-color: rgba(0, 0, 0, 0.7);
  color: rgb(255, 255, 255);
  padding: 5px 10px;
  margin-bottom: 10px;
}
section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd ul li {
  margin-bottom: 3px;
}
section.product_details_body .goods_details_inner > div:not(.img_wrap) div.movie_wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-top: 15px;
  box-sizing: border-box;
  border: rgb(221, 221, 221) solid 1px;
}
section.product_details_body .goods_details_inner > div:not(.img_wrap) div.movie_wrap video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 800px) {
  section.product_details_body .goods_details_inner > * {
    width: 100% !important;
    padding-left: 0 !important;
  }
}
section.product_details_body .goods_dl_area {
  background-color: rgba(240, 240, 240, 0.6);
  width: 100%;
  box-sizing: border-box;
  padding: 20px;
  margin-top: 20px;
}
section.product_details_body .btn_wrap {
  margin-top: 30px;
}
section.product_details_body .btn_wrap p.border_btn {
  width: 100%;
  max-width: 800px;
}
section.product_details_body .btn_wrap p.border_btn a {
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 10px;
  padding-right: 10px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 120%;
}
section.product_details_body .btn_wrap p.border_btn a i {
  font-size: 250%;
  vertical-align: middle;
  margin-right: 10px;
  color: rgb(148, 0, 211) !important;
}
section.product_details_body #product05_tables table.default_table tbody tr th {
  width: 20%;
}
section.product_details_body #product05_tables table.default_table tbody tr td:nth-of-type(1) {
  width: 15%;
}
section.product_details_body #product05_tables table.default_table tbody tr td:nth-of-type(2) {
  width: 22%;
}
section.product_details_body #product05_tables table.default_table tbody tr td:nth-of-type(3) {
  width: 10%;
}
section.product_details_body #product05_tables table.default_table tbody tr td:nth-of-type(4) {
  width: 14%;
}
section.product_details_body #product05_tables table.default_table tbody tr td:nth-of-type(5) {
  width: 15%;
}

section#category_name_search ul.simple_list li, section#category_name_search section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd ul li, section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd section#category_name_search ul li, section#maker_name_search ul.simple_list li, section#maker_name_search section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd ul li, section.product_details_body .goods_details_inner > div:not(.img_wrap) dl.characteristic_table dd section#maker_name_search ul li {
  margin-bottom: 5px;
}
section#category_name_search .grad-btn, section#maker_name_search .grad-btn {
  background: rgba(0, 0, 0, 0.01);
  padding: 3px 0;
  text-align: center;
  display: inline-block;
  width: 80%;
  box-sizing: border-box;
  margin-top: 10px;
  color: rgba(0, 0, 0, 0.6);
  font-size: 90%;
}
section#category_name_search .grad-btn > i, section#maker_name_search .grad-btn > i {
  margin-right: 10px;
  vertical-align: middle;
}
section#category_name_search .grad-item, section#maker_name_search .grad-item {
  position: relative;
  overflow: hidden;
  height: 0;
}
section#category_name_search .grad-item:before, section#maker_name_search .grad-item:before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 50%, rgba(255, 255, 255, 0.9) 50%, #fff 100%);
  content: "";
}
section#category_name_search .grad-trigger, section#maker_name_search .grad-trigger {
  display: none;
}
section#category_name_search .grad-trigger:checked ~ .grad-btn, section#maker_name_search .grad-trigger:checked ~ .grad-btn {
  display: none;
}
section#category_name_search .grad-trigger:checked ~ .grad-item, section#maker_name_search .grad-trigger:checked ~ .grad-item {
  height: auto;
}
section#category_name_search .grad-trigger:checked ~ .grad-item::before, section#maker_name_search .grad-trigger:checked ~ .grad-item::before {
  display: none;
}
section#category_name_search .btn_view_all, section#maker_name_search .btn_view_all {
  width: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.1);
  padding: 10px 0;
  color: rgba(0, 0, 0, 0.6);
  cursor: pointer;
  margin-top: 30px;
}

section#recommend_product {
  background-color: rgb(240, 240, 240);
  width: 100%;
  padding: 30px 0;
}
section#recommend_product p.pickup_title {
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 700;
  font-size: 150%;
  position: relative;
  height: 30px;
}
section#recommend_product p.pickup_title:before {
  width: 100%;
  height: 3px;
  content: "";
  position: absolute;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  background-color: rgb(148, 0, 211);
  box-sizing: border-box;
}
section#recommend_product p.pickup_title span {
  background-color: rgb(240, 240, 240);
  display: block;
  position: absolute;
  width: 8em;
  height: 30px;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -moz-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  -o-transform: translate(0, -50%);
  transform: translate(0, -50%);
  left: 0;
  line-height: 30px;
}
section#recommend_product .main_image_container {
  text-align: center;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  padding-top: 10px;
}
section#recommend_product .main_image_container .main_image_inner {
  width: 100%;
  box-sizing: border-box;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items {
  max-width: 1080px;
  width: 100%;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items > * {
  box-sizing: border-box;
  width: 48%;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .logo_area {
  width: 100%;
  text-align: left;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .logo_area img {
  width: 180px;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .logo_area p {
  background-color: rgb(222, 111, 3);
  color: rgb(255, 255, 255);
  padding: 5px 10px;
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 400;
  font-size: 120%;
  line-height: 22px;
  vertical-align: middle;
  height: 34px;
  margin-left: 10px;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items hgroup,
section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics {
  float: left;
  text-align: left;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items hgroup {
  padding: 30px 0;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items hgroup h3 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 250%;
  border-bottom: rgba(0, 0, 0, 0.3) solid 1px;
  margin-bottom: 0px;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items hgroup p {
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 400;
  color: rgba(23, 23, 23, 0.8);
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics {
  background-color: rgb(255, 255, 255);
  padding: 20px;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics h4 {
  color: rgb(222, 111, 3);
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  position: relative;
  font-size: 120%;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics h4 span {
  background-color: rgb(255, 255, 255);
  z-index: 3;
  position: relative;
  padding-right: 10px;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics h4:after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: rgba(0, 0, 0, 0.2);
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics li {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  list-style: disc inside;
  line-height: 1.5em;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics p {
  font-size: 80%;
  line-height: 1.5em;
  border-top: rgba(0, 0, 0, 0.2) solid 1px;
  border-bottom: rgba(0, 0, 0, 0.2) solid 1px;
  margin-top: 20px;
  padding: 10px 0;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .img_wrap,
section#recommend_product .main_image_container .main_image_inner.pickup_items .to_detail_btn {
  float: right;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .img_wrap {
  position: relative;
  overflow: hidden;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .img_wrap:after {
  content: "";
  display: block;
  padding-top: 60%;
  width: 100%;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .img_wrap img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .to_detail_btn {
  margin-top: 30px;
}
section#recommend_product .main_image_container .main_image_inner.pickup_items .to_detail_btn p.border_btn a {
  padding: 10px 40px;
}
@media screen and (max-width: 640px) {
  section#recommend_product {
    padding: 15px 0;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items {
    padding: 10px;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items > * {
    box-sizing: border-box;
    width: 100%;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items .logo_area img {
    display: none;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items hgroup {
    padding: 0;
    margin-top: 45%;
    background-color: rgba(255, 255, 255, 0.5);
    z-index: 1;
    position: relative;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items hgroup > * {
    padding-left: 10px;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items hgroup h3 {
    font-size: 150%;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items hgroup p {
    margin-bottom: 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items .img_wrap {
    margin-top: -60%;
    z-index: 0;
    position: relative;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics {
    padding: 10px;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics p {
    display: none;
  }
  section#recommend_product .main_image_container .main_image_inner.pickup_items .characteristics li {
    font-size: 75%;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

#over_ray.product_map .over_ray_inner {
  width: 80%;
  height: 85%;
}

#product_contact_map_area .product_contact_map_wrap {
  position: relative;
  width: 700px;
  height: 330px;
  margin: 0 auto;
}
#product_contact_map_area .product_contact_map_wrap .pref_box {
  position: absolute;
  width: 60px;
  height: 30px;
  background-color: rgb(148, 0, 211);
  vertical-align: middle;
  text-align: center;
  border: rgb(255, 255, 255) solid 1px;
  box-sizing: border-box;
  overflow: hidden;
  color: rgb(255, 255, 255);
  line-height: 24px;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 400;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
  border-radius: 6px;
  cursor: pointer;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.tokyo, #product_contact_map_area .product_contact_map_wrap .pref_box.tokyo_other, #product_contact_map_area .product_contact_map_wrap .pref_box.hokkaido, #product_contact_map_area .product_contact_map_wrap .pref_box.aomori, #product_contact_map_area .product_contact_map_wrap .pref_box.fukushima, #product_contact_map_area .product_contact_map_wrap .pref_box.zenkoku {
  width: 120px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.hokkaido, #product_contact_map_area .product_contact_map_wrap .pref_box.zenkoku {
  height: 60px;
  line-height: 60px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.okinawa, #product_contact_map_area .product_contact_map_wrap .pref_box.nagasaki, #product_contact_map_area .product_contact_map_wrap .pref_box.saga, #product_contact_map_area .product_contact_map_wrap .pref_box.fukuoka, #product_contact_map_area .product_contact_map_wrap .pref_box.yamaguchi, #product_contact_map_area .product_contact_map_wrap .pref_box.hyogo {
  width: 40px;
  height: 60px;
  padding: 0 10px;
  line-height: 26px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.hokkaido, #product_contact_map_area .product_contact_map_wrap .pref_box.zenkoku {
  top: 0;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.aomori {
  top: 70px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.iwate, #product_contact_map_area .product_contact_map_wrap .pref_box.akita, #product_contact_map_area .product_contact_map_wrap .pref_box.okinawa {
  top: 100px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.yamagata, #product_contact_map_area .product_contact_map_wrap .pref_box.miyagi {
  top: 130px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.fukushima {
  top: 160px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.ishikawa, #product_contact_map_area .product_contact_map_wrap .pref_box.toyama, #product_contact_map_area .product_contact_map_wrap .pref_box.niigata, #product_contact_map_area .product_contact_map_wrap .pref_box.tochigi {
  top: 190px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.nagasaki, #product_contact_map_area .product_contact_map_wrap .pref_box.saga, #product_contact_map_area .product_contact_map_wrap .pref_box.fukuoka, #product_contact_map_area .product_contact_map_wrap .pref_box.yamaguchi, #product_contact_map_area .product_contact_map_wrap .pref_box.shimane, #product_contact_map_area .product_contact_map_wrap .pref_box.tottori, #product_contact_map_area .product_contact_map_wrap .pref_box.hyogo, #product_contact_map_area .product_contact_map_wrap .pref_box.kyoto, #product_contact_map_area .product_contact_map_wrap .pref_box.fukui, #product_contact_map_area .product_contact_map_wrap .pref_box.nagano, #product_contact_map_area .product_contact_map_wrap .pref_box.gunma, #product_contact_map_area .product_contact_map_wrap .pref_box.saitama, #product_contact_map_area .product_contact_map_wrap .pref_box.ibaraki {
  top: 220px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.hiroshima, #product_contact_map_area .product_contact_map_wrap .pref_box.okayama, #product_contact_map_area .product_contact_map_wrap .pref_box.oosaka, #product_contact_map_area .product_contact_map_wrap .pref_box.shiga, #product_contact_map_area .product_contact_map_wrap .pref_box.gifu, #product_contact_map_area .product_contact_map_wrap .pref_box.yamanashi, #product_contact_map_area .product_contact_map_wrap .pref_box.tokyo {
  top: 250px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.kumamoto, #product_contact_map_area .product_contact_map_wrap .pref_box.ooita, #product_contact_map_area .product_contact_map_wrap .pref_box.nara, #product_contact_map_area .product_contact_map_wrap .pref_box.mie, #product_contact_map_area .product_contact_map_wrap .pref_box.aichi, #product_contact_map_area .product_contact_map_wrap .pref_box.shizuoka, #product_contact_map_area .product_contact_map_wrap .pref_box.kanagawa, #product_contact_map_area .product_contact_map_wrap .pref_box.chiba {
  top: 280px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.ehime, #product_contact_map_area .product_contact_map_wrap .pref_box.kagawa {
  top: 290px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.kagoshima, #product_contact_map_area .product_contact_map_wrap .pref_box.miyazaki, #product_contact_map_area .product_contact_map_wrap .pref_box.wakayama {
  top: 310px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.kochi, #product_contact_map_area .product_contact_map_wrap .pref_box.tokushima {
  top: 320px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.nagasaki, #product_contact_map_area .product_contact_map_wrap .pref_box.kumamoto, #product_contact_map_area .product_contact_map_wrap .pref_box.kagoshima, #product_contact_map_area .product_contact_map_wrap .pref_box.okinawa {
  left: 0;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.saga {
  left: 40px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.ooita, #product_contact_map_area .product_contact_map_wrap .pref_box.miyazaki {
  left: 60px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.fukuoka {
  left: 80px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.yamaguchi {
  left: 140px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.shimane, #product_contact_map_area .product_contact_map_wrap .pref_box.hiroshima, #product_contact_map_area .product_contact_map_wrap .pref_box.ehime, #product_contact_map_area .product_contact_map_wrap .pref_box.kochi {
  left: 180px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.tottori, #product_contact_map_area .product_contact_map_wrap .pref_box.okayama, #product_contact_map_area .product_contact_map_wrap .pref_box.kagawa, #product_contact_map_area .product_contact_map_wrap .pref_box.tokushima {
  left: 240px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.hyogo {
  left: 300px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.kyoto, #product_contact_map_area .product_contact_map_wrap .pref_box.oosaka, #product_contact_map_area .product_contact_map_wrap .pref_box.nara, #product_contact_map_area .product_contact_map_wrap .pref_box.wakayama {
  left: 340px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.fukui, #product_contact_map_area .product_contact_map_wrap .pref_box.shiga, #product_contact_map_area .product_contact_map_wrap .pref_box.mie {
  left: 400px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.nagano, #product_contact_map_area .product_contact_map_wrap .pref_box.gifu, #product_contact_map_area .product_contact_map_wrap .pref_box.aichi, #product_contact_map_area .product_contact_map_wrap .pref_box.ishikawa {
  left: 460px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.toyama, #product_contact_map_area .product_contact_map_wrap .pref_box.gunma, #product_contact_map_area .product_contact_map_wrap .pref_box.yamanashi, #product_contact_map_area .product_contact_map_wrap .pref_box.shizuoka {
  left: 520px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.hokkaido, #product_contact_map_area .product_contact_map_wrap .pref_box.aomori, #product_contact_map_area .product_contact_map_wrap .pref_box.akita, #product_contact_map_area .product_contact_map_wrap .pref_box.yamagata, #product_contact_map_area .product_contact_map_wrap .pref_box.fukushima, #product_contact_map_area .product_contact_map_wrap .pref_box.niigata, #product_contact_map_area .product_contact_map_wrap .pref_box.saitama, #product_contact_map_area .product_contact_map_wrap .pref_box.tokyo, #product_contact_map_area .product_contact_map_wrap .pref_box.tokyo_other, #product_contact_map_area .product_contact_map_wrap .pref_box.kanagawa {
  left: 580px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.iwate, #product_contact_map_area .product_contact_map_wrap .pref_box.miyagi, #product_contact_map_area .product_contact_map_wrap .pref_box.tochigi, #product_contact_map_area .product_contact_map_wrap .pref_box.ibaraki, #product_contact_map_area .product_contact_map_wrap .pref_box.chiba {
  left: 640px;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.okinawa {
  position: relative;
  overflow: visible;
}
#product_contact_map_area .product_contact_map_wrap .pref_box.okinawa:before {
  position: absolute;
  content: "";
  display: block;
  right: -17px;
  top: 0;
  width: 2px;
  height: 75px;
  background-color: rgba(0, 0, 0, 0.5);
}
#product_contact_map_area .product_contact_map_wrap .pref_box.okinawa:after {
  position: absolute;
  content: "";
  display: block;
  left: 0px;
  bottom: -18px;
  height: 2px;
  width: 55px;
  background-color: rgba(0, 0, 0, 0.5);
}
#product_contact_map_area .product_contact_map_wrap .area_hokkaido .pref_box {
  background-color: #BF360C;
}
#product_contact_map_area .product_contact_map_wrap .area_tohoku .pref_box {
  background-color: #FF6D00;
}
#product_contact_map_area .product_contact_map_wrap .area_kanto .pref_box {
  background-color: #c59000;
}
#product_contact_map_area .product_contact_map_wrap .area_tokyo .pref_box {
  background-color: #5D4037;
}
#product_contact_map_area .product_contact_map_wrap .area_kanagawa .pref_box {
  background-color: #84690e;
}
#product_contact_map_area .product_contact_map_wrap .area_hokuriku .pref_box {
  background-color: #748418;
}
#product_contact_map_area .product_contact_map_wrap .area_chubu .pref_box {
  background-color: #33691E;
}
#product_contact_map_area .product_contact_map_wrap .area_kinki .pref_box {
  background-color: #00897B;
}
#product_contact_map_area .product_contact_map_wrap .area_chugoku .pref_box {
  background-color: #283593;
}
#product_contact_map_area .product_contact_map_wrap .area_shikoku .pref_box {
  background-color: #880E4F;
}
#product_contact_map_area .product_contact_map_wrap .area_kyushu .pref_box {
  background-color: #d0336f;
}
@media screen and (max-width: 940px) {
  #product_contact_map_area {
    height: 80vh;
  }
  #product_contact_map_area .product_contact_map_wrap {
    width: 100%;
    height: 90%;
    overflow-y: scroll;
    letter-spacing: -0.4em;
    -webkit-overflow-scrolling: touch;
  }
  #product_contact_map_area .product_contact_map_wrap .pref_box {
    position: relative;
    top: 0 !important;
    left: 0 !important;
    width: 50% !important;
    height: 30px !important;
    line-height: 30px !important;
    display: inline-block;
    letter-spacing: normal;
  }
  #product_contact_map_area .product_contact_map_wrap .pref_box.okinawa {
    overflow: hidden;
  }
  #product_contact_map_area .product_contact_map_wrap .pref_box.okinawa:before, #product_contact_map_area .product_contact_map_wrap .pref_box.okinawa:after {
    display: no;
  }
  #product_contact_map_area .product_contact_map_wrap .area_wrap {
    margin-bottom: 10px;
  }
  #product_contact_map_area .product_contact_map_wrap .area_wrap:before {
    display: block;
    width: 100%;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
    font-style: normal;
    font-weight: 700;
    letter-spacing: normal;
  }
  #product_contact_map_area .product_contact_map_wrap .area_hokkaido:before {
    content: "北海道";
  }
  #product_contact_map_area .product_contact_map_wrap .area_tohoku:before {
    content: "東北";
  }
  #product_contact_map_area .product_contact_map_wrap .area_kanto:before {
    content: "関東";
  }
  #product_contact_map_area .product_contact_map_wrap .area_tokyo:before {
    content: "東京千葉";
  }
  #product_contact_map_area .product_contact_map_wrap .area_kanagawa:before {
    content: "神奈川東海";
  }
  #product_contact_map_area .product_contact_map_wrap .area_hokuriku:before {
    content: "新潟北陸";
  }
  #product_contact_map_area .product_contact_map_wrap .area_chubu:before {
    content: "中部";
  }
  #product_contact_map_area .product_contact_map_wrap .area_kinki:before {
    content: "関西";
  }
  #product_contact_map_area .product_contact_map_wrap .area_chugoku:before {
    content: "中国";
  }
  #product_contact_map_area .product_contact_map_wrap .area_shikoku:before {
    content: "四国";
  }
  #product_contact_map_area .product_contact_map_wrap .area_kyushu:before {
    content: "九州沖縄";
  }
  #product_contact_map_area .product_contact_map_wrap .area_zenkoku:before {
    content: "全国";
  }
}

#product_contact_contact_area {
  display: none;
}

#over_ray {
  display: none;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
}
#over_ray .close_btn {
  width: 60px;
  height: 60px;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 102;
}
#over_ray .close_btn_bar {
  width: 40px;
  height: 2px;
  position: absolute;
  top: 29px;
  left: 0px;
  background-color: #FFF;
  z-index: 99;
}
#over_ray .close_btn_bar_top {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
#over_ray .close_btn_bar_bottom {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#over_ray .over_ray_inner {
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 80%;
  height: 80%;
  background-color: rgb(255, 255, 255);
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  -ms-border-radius: 10px;
  -o-border-radius: 10px;
  border-radius: 10px;
  text-align: center;
  min-width: 320px;
}
#over_ray .over_ray_inner_inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  box-sizing: border-box;
  padding: 20px;
}
#over_ray h3, #over_ray h4 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
}
#over_ray h3 {
  margin: 0 auto 30px auto;
  width: 100%;
  font-size: 130%;
  border-bottom: rgb(148, 0, 211) solid 3px;
}
#over_ray h4 {
  font-size: 130%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.1);
  padding: 30px 0;
}
#over_ray p.tel, #over_ray p.mail {
  margin: 20px auto;
  font-size: 150%;
}
#over_ray p.tel a, #over_ray p.mail a {
  font-family: "acumin-pro", Sans-Serif;
  font-style: normal;
  font-weight: 700;
}
#over_ray p.tel i, #over_ray p.mail i {
  font-size: 150%;
  margin-right: 10px;
  vertical-align: middle;
}

section#safety_header .safety_title {
  font-size: 200%;
  text-align: center;
}
section#safety_header .safety_title span {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  background: linear-gradient(transparent 70%, rgba(23, 128, 173, 0.3) 70%);
}

section.safety_contents h4 {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 120%;
}
section.safety_contents .link_text {
  margin-top: 10px;
  background-color: rgba(0, 0, 0, 0.05);
  padding: 10px 30px;
}
section.safety_contents .img_wrap .img_wrap_inner {
  width: 33%;
  margin-right: 0.5%;
  margin-bottom: 0.5%;
  position: relative;
}
section.safety_contents .img_wrap .img_wrap_inner:nth-of-type(3n) {
  margin-right: 0;
}
section.safety_contents .img_wrap .img_wrap_inner img {
  width: 100%;
}
section.safety_contents .img_wrap .img_wrap_inner p.comment {
  position: absolute;
  width: 98%;
  bottom: 10px;
  left: 1%;
  box-sizing: border-box;
  padding: 5px;
  background-color: rgba(0, 0, 0, 0.8);
  color: rgb(255, 255, 255);
  text-align: center;
}
section.safety_contents .img_wrap .img_wrap_inner p.comment_circle {
  position: absolute;
  top: 15%;
  right: 8%;
  border-radius: 50%;
  width: 30%;
  border: #FF0000 solid 3px;
}
section.safety_contents .img_wrap .img_wrap_inner p.comment_circle:before {
  content: "";
  width: 100%;
  height: auto;
  padding-top: 100%;
  display: block;
}
section.safety_contents .img_wrap .img_wrap_inner p.comment_circle span {
  position: absolute;
  height: 45px;
  color: #FF0000;
  bottom: -30px;
  font-size: 350%;
  text-align: center;
  width: 100%;
  vertical-align: top;
}
section.safety_contents .img_wrap .img_wrap_inner.double_columns {
  width: 49%;
  margin-right: 1%;
  margin-bottom: 1%;
}
section.safety_contents .img_wrap .img_wrap_inner.double_columns:nth-of-type(3n) {
  margin-right: 1%;
}
section.safety_contents .img_wrap .img_wrap_inner.double_columns:nth-of-type(2n) {
  margin-right: 0%;
}
@media screen and (max-width: 800px) {
  section.safety_contents .img_wrap .img_wrap_inner {
    width: 49%;
    margin-right: 1%;
    margin-bottom: 1%;
  }
  section.safety_contents .img_wrap .img_wrap_inner:nth-of-type(3n) {
    margin-right: 1%;
  }
  section.safety_contents .img_wrap .img_wrap_inner:nth-of-type(2n) {
    margin-right: 0%;
  }
}
@media screen and (max-width: 640px) {
  section.safety_contents .img_wrap .img_wrap_inner {
    width: 100% !important;
    margin-right: 0 !important;
    margin-bottom: 5px !important;
  }
  section.safety_contents .img_wrap .img_wrap_inner:nth-of-type(3n) {
    margin-right: 0 !important;
  }
}

section#achievement_list .section_inner {
  margin-bottom: 30px;
}
section#achievement_list .section_inner:last-of-type {
  margin-bottom: 0;
}
section#achievement_list ul.achievement_list li {
  width: 25%;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  box-sizing: border-box;
  border: rgb(255, 255, 255) solid 2px;
}
section#achievement_list ul.achievement_list li:before {
  width: 100%;
  padding-top: 100%;
  content: "";
  display: block;
}
section#achievement_list ul.achievement_list li div.img_wrap {
  background: no-repeat center center;
  background-size: cover;
  width: 100%;
  height: 100%;
  text-indent: -999em;
  position: absolute;
  top: 0;
  left: 0;
}
section#achievement_list ul.achievement_list li div.hover_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9;
  background-color: rgba(0, 0, 0, 0.8);
  color: rgb(255, 255, 255);
  opacity: 0;
  -webkit-transition: all 0.25s ease-in-out;
  -moz-transition: all 0.25s ease-in-out;
  -ms-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
section#achievement_list ul.achievement_list li div.hover_wrap p {
  width: 80%;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
}
section#achievement_list ul.achievement_list li:hover div.hover_wrap {
  opacity: 1;
}
@media screen and (max-width: 800px) {
  section#achievement_list ul.achievement_list li {
    width: 33.3%;
  }
}
@media screen and (max-width: 640px) {
  section#achievement_list ul.achievement_list li {
    width: 50%;
  }
}

#achievements #over_ray .over_ray_inner {
  height: 90%;
}
#achievements #over_ray .over_ray_inner_inner {
  height: 100%;
  overflow: auto;
}
#achievements #over_ray div.img_wrap {
  position: relative;
  width: 100%;
  max-height: 450px;
  overflow: hidden;
}
#achievements #over_ray #overray_image {
  max-height: 450px;
}
#achievements #over_ray dl {
  margin-top: 10px;
}
#achievements #over_ray dt, #achievements #over_ray dd {
  text-align: left;
}

section.error_area .error_msg {
  padding: 100px 0;
  font-size: 120%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  text-align: center;
}
section.error_area .error_msg span.error_cd {
  color: rgba(0, 0, 0, 0.4);
  font-family: "acumin-pro-condensed", sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 80%;
}
section.error_area button {
  padding: 40px 40px;
}

section.associate_link_contents ul.associate_link_list li {
  width: 48%;
  box-sizing: border-box;
  height: 130px;
  margin-bottom: 30px;
  border: rgba(0, 0, 0, 0.2) solid 1px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}
section.associate_link_contents ul.associate_link_list li:first-of-type {
  margin-right: 4%;
}
section.associate_link_contents ul.associate_link_list li a {
  width: 100%;
  height: 100%;
  display: table;
}
section.associate_link_contents ul.associate_link_list li a:hover {
  text-decoration: none !important;
}
section.associate_link_contents ul.associate_link_list li a > div {
  display: table-cell;
  vertical-align: middle;
  box-sizing: border-box;
}
section.associate_link_contents ul.associate_link_list li .associate_link_list_logos {
  width: 100px;
  background-color: rgb(148, 0, 211);
  text-align: center;
  padding: 25px;
}
section.associate_link_contents ul.associate_link_list li .associate_link_list_information {
  width: calc(100% - 100px);
  padding: 10px 30px;
}
section.associate_link_contents ul.associate_link_list li .associate_link_list_information h5 {
  color: #000000 !important;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic";
  font-style: normal;
  font-weight: 700;
  font-size: 110%;
}
section.associate_link_contents ul.associate_link_list li .associate_link_list_information p {
  color: rgba(0, 0, 0, 0.6) !important;
  font-size: 90%;
}
@media screen and (max-width: 800px) {
  section.associate_link_contents ul.associate_link_list li {
    width: 100%;
  }
  section.associate_link_contents ul.associate_link_list li:first-of-type {
    margin-right: 0;
  }
}/*# sourceMappingURL=style.css.map */