@charset "UTF-8";
/* 基本フォントの色-黒 */
/* 基本背景の色-白 */
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&family=Barlow:wght@400;600;700&family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  padding: 0px !important;
  margin: 0 !important;
  height: 100%;
  font-size: 16px; }
  @media screen and (max-width: 1024px) {
    html {
      font-size: 15px; } }

input[type="submit"] {
  appearance: none;
  -webkit-appearance: none; }

body {
  background-color: #fff;
  color: #1f1f1f;
  word-break: break-all;
  font-size: 16px;
  font-family: "BIZ UDPGothic", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif; }
  @media screen and (max-width: 1024px) {
    body {
      font-size: 15px; } }

a {
  color: #0070cb;
  text-decoration: none; }
  a:hover {
    color: #005093;
    text-decoration: none; }

img {
  max-width: 100%;
  height: auto; }

*,
*::before,
*::after {
  box-sizing: border-box; }

p {
  line-height: 170%; }

/********TOP*********/
.section_wrap {
  padding: 80px 0; }
  @media screen and (max-width: 639px) {
    .section_wrap {
      padding: 60px 0; } }

.bg__g {
  background-color: #f0f0f0; }

.bg__b {
  background-color: #000000; }

.bg__pickup {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(../images/top/pickup_back.jpg);
  background-color: #000000; }

/********TOP*********/
.top_h2 {
  padding: 0 0 40px 0;
  /*@include max(tabw) {
    padding: 0 0 40px 0;
  }*/ }
  .top_h2 h2 {
    font-size: 30px;
    display: flex;
    flex-wrap: wrap;
    align-items: center; }
    @media screen and (max-width: 1024px) {
      .top_h2 h2 {
        font-size: 25px; } }
    .top_h2 h2 strong {
      padding-right: 15px;
      font-weight: 700; }
    .top_h2 h2 span {
      line-height: 80%;
      font-size: 21px;
      padding: 2px 15px;
      border-left: 1px solid #000;
      font-family: "Barlow", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
      font-weight: 600px; }
  .top_h2.centerh2 h2 {
    text-align: center;
    justify-content: center; }

.bg__b .top_h2 h2,
.bg__pickup .top_h2 h2 {
  color: #fff;
  font-style: normal; }
  .bg__b .top_h2 h2 span,
  .bg__pickup .top_h2 h2 span {
    border-color: #fff; }

.column3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px; }
  @media screen and (max-width: 1024px) {
    .column3 {
      grid-template-columns: 100%;
      gap: 10px; } }

.icon-button {
  width: 100%;
  transition: 0.4s;
  overflow: hidden;
  display: inline-flex;
  padding: 10px 10px 10px 10px;
  position: relative;
  user-select: none;
  align-items: center; }
  .icon-button .icon-button__icon {
    width: 70px; }
  .icon-button .icon-button__text {
    width: calc(100% - 70px);
    font-weight: bold;
    padding-top: 3px;
    font-size: 20px;
    line-height: 100%; }
    @media screen and (max-width: 639px) {
      .icon-button .icon-button__text {
        font-size: 18px; } }
  .icon-button img {
    width: 100%;
    height: auto;
    vertical-align: top; }

.c-b-w-head .icon-button {
  padding-right: 30px;
  position: relative; }
  .c-b-w-head .icon-button i {
    display: inline-block;
    width: 19px;
    height: 19px;
    vertical-align: bottom;
    margin: 0 0 0 15px;
    transition: 0.2s;
    background-image: url(../images/icon/sc_arrow_b.svg); }
    @media screen and (max-width: 1024px) {
      .c-b-w-head .icon-button i {
        position: absolute;
        right: 20px;
        top: 0;
        bottom: 0;
        margin: auto 0; } }
  .c-b-w-head .icon-button:hover {
    background-color: #e6e6e6; }
    .c-b-w-head .icon-button:hover i {
      transform: translateX(10px); }

.top-productinofrmation a {
  box-shadow: 1px 2px 8px -5px #777777;
  border-radius: 3px;
  background-color: #4e95d9; }
  .top-productinofrmation a:before {
    background-image: url(../images/icon/sc_arrow.svg);
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transition: 0.2s;
    width: 30px;
    height: 30px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    display: inline-block;
    content: "";
    position: absolute; }
  .top-productinofrmation a:hover {
    background-color: #005093;
    text-decoration: none; }
    .top-productinofrmation a:hover:before {
      right: 8px; }
.top-productinofrmation .icon-button {
  padding: 10px 65px 10px 10px; }
.top-productinofrmation .icon-button__text {
  color: #fff; }

.top-dataservice .top-dataservice__part {
  background-color: #fff; }
.top-dataservice .icon-button {
  background-color: #bfcedf;
  color: #1f1f1f; }
.top-dataservice .top-dataservice__hrefarea {
  padding: 25px 20px 30px 20px; }

.top-dataservice__hrefarea {
  display: grid;
  grid-template-columns: 100%;
  gap: 15px 0; }
  .top-dataservice__hrefarea a {
    transition: 0.3s;
    padding-left: 25px;
    position: relative;
    display: inline-block;
    color: #1f1f1f; }
    .top-dataservice__hrefarea a:hover {
      transform: translateX(5px); }
    .top-dataservice__hrefarea a:before {
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
      display: inline-block;
      content: "";
      position: absolute;
      left: 0;
      top: 1px;
      width: 18px;
      height: 18px;
      background-image: url(../images/icon/sc_arrow_b.svg); }

.pickup__column2,
.pickup__column4 {
  width: 100%;
  display: grid; }

.pickup__column2part,
.pickup__column4part {
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  border-radius: 5px; }
  .pickup__column2part .pickup__image,
  .pickup__column4part .pickup__image {
    overflow: hidden;
    border-radius: 3px 3px 0 0; }
    .pickup__column2part .pickup__image img,
    .pickup__column4part .pickup__image img {
      object-fit: cover;
      object-position: center;
      width: 100%;
      height: 100%;
      transition: 0.3s; }
  .pickup__column2part:hover .pickup__image img,
  .pickup__column4part:hover .pickup__image img {
    transform: scale(1.05, 1.05); }
  .pickup__column2part:hover .pickup__text,
  .pickup__column4part:hover .pickup__text {
    /* &:after {
      right: 10px;
    }*/ }

.pickup__column2 {
  grid-template-columns: 1fr 1fr;
  gap: 4px; }
  @media screen and (max-width: 1024px) {
    .pickup__column2 {
      grid-template-columns: 100%; } }
  .pickup__column2 .pickup__image {
    width: 100%;
    aspect-ratio: 1.96/1; }
  .pickup__column2 .pickup__text {
    padding: 20px 20px 20px 20px;
    /*padding: 20px 80px 20px 20px;*/
    line-height: 1.7;
    /* &:after {
      width: 25px;
      height: 25px;
    }*/ }

.pickup__column4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 4px; }
  @media screen and (max-width: 1024px) {
    .pickup__column4 {
      grid-template-columns: 100%; } }
  .pickup__column4 .pickup__image {
    width: 100%;
    aspect-ratio: 1.58/1; }
    @media screen and (max-width: 1024px) {
      .pickup__column4 .pickup__image {
        width: 20%;
        border-radius: 3px; } }
  .pickup__column4 .pickup__text {
    padding: 20px 2% 20px 20px;
    /*padding: 20px 50px 20px 20px;*/
    /* &:after {
      width: 15px;
      height: 15px;
    }*/ }
    @media screen and (max-width: 1024px) {
      .pickup__column4 .pickup__text {
        width: 80%;
        /*padding: 5px 50px 5px 20px;*/
        padding: 5px 20px 5px 20px; } }

@media screen and (max-width: 1024px) {
  .pickup__column4part {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 5px; } }

.pickup__text {
  color: #1f1f1f;
  position: relative;
  font-size: 18px;
  font-weight: 700;
  /* &:after {
    @include obj;
    @include bgcontain;
    background-image: url(../images/icon/sc_arrow_b.svg);
    top: 20px;
    right: 20px;
    transition: 0.2s;
    @include max(tabw) {
      top: 0;
      bottom: 0;
      margin: auto 0;
    }
  }*/ }
  @media screen and (max-width: 1024px) {
    .pickup__text {
      font-size: 15px; } }
  .pickup__text span {
    display: inline-block; }

.pickup__wrap {
  display: flex;
  flex-direction: column;
  gap: 15px 0; }

.news__wrap {
  display: flex;
  flex-direction: column;
  gap: 20px; }

.news__area {
  background-color: #fff;
  padding: 40px;
  width: 100%; }
  @media screen and (max-width: 1024px) {
    .news__area {
      padding: 20px; } }
  .news__area .news__title {
    font-size: 23px;
    display: block;
    padding: 0 0 10px 0;
    margin-bottom: 15px;
    border-bottom: 1px solid #28557a; }
  .news__area .news__list {
    display: flex;
    flex-direction: column;
    gap: 10px; }
    .news__area .news__list .news__part {
      width: 100%; }
      .news__area .news__list .news__part a:hover {
        text-decoration: underline; }
      .news__area .news__list .news__part.newsdate {
        display: flex;
        align-items: flex-start; }
        @media screen and (max-width: 1024px) {
          .news__area .news__list .news__part.newsdate {
            flex-direction: column; } }
        .news__area .news__list .news__part.newsdate span {
          font-family: "Barlow", "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
          width: 110px; }
          @media screen and (max-width: 1024px) {
            .news__area .news__list .news__part.newsdate span {
              width: 100%; } }
        .news__area .news__list .news__part.newsdate a {
          width: calc(100% - 110px);
          padding-top: 2px; }
          @media screen and (max-width: 1024px) {
            .news__area .news__list .news__part.newsdate a {
              width: 100%; } }

.importantnews .news__title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px; }
  .importantnews .news__title strong {
    display: inline-flex; }
  .importantnews .news__title:before {
    display: inline-block;
    content: "";
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    width: 30px;
    height: 30px;
    background-image: url(../images/icon/importantnews.svg); }

#mainimage {
  height: 500px;
  width: 100%;
  background-color: #005093;
  position: relative; }
  @media screen and (max-width: 639px) {
    #mainimage {
      height: inherit;
      aspect-ratio: 1/1; } }
  #mainimage .mainimage-text {
    width: 70%;
    max-width: 600px;
    height: 100%;
    display: flex;
    align-items: center;
    left: 3%;
    margin: auto 0;
    position: absolute; }
  #mainimage .mainimage {
    object-fit: cover;
    width: 100%;
    height: 100%;
    object-position: center; }

#headermenu {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif; }

#topagetop2 {
  opacity: 0;
  position: fixed;
  right: 50px;
  bottom: 50px;
  width: 66px;
  height: 66px;
  z-index: 50; }
  @media screen and (max-width: 1024px) {
    #topagetop2 {
      right: 20px;
      bottom: 30px;
      width: 45px;
      height: 45px; } }
  #topagetop2 a {
    position: relative;
    display: block;
    width: 66px;
    height: 66px;
    border-radius: 999px;
    background-color: rgba(0, 112, 203, 0.8);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px); }
    @media screen and (max-width: 1024px) {
      #topagetop2 a {
        width: 45px;
        height: 45px; } }
    #topagetop2 a:after {
      display: inline-block;
      content: "";
      position: absolute;
      width: 25%;
      aspect-ratio: 1/1;
      border-top: 3px solid #fff;
      border-right: 3px solid #fff;
      transform: rotate(-45deg);
      right: 0;
      left: 0;
      top: 30px;
      margin: 0 auto; }
      @media screen and (max-width: 1024px) {
        #topagetop2 a:after {
          top: 20px; } }

#topagetop2.is-hidden {
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease; }

#topagetop2.is-visible {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease, visibility 0.3s ease; }

#pankuzu_list {
  width: 100%;
  background-color: #000;
  color: #fff;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 15px;
  gap: 5px 10px;
  padding: 10px 0;
  position: relative;
  z-index: 3; }
  @media screen and (max-width: 1024px) {
    #pankuzu_list {
      font-size: 13px;
      padding: 5px 0; } }
  #pankuzu_list > div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 2px 30px; }
  #pankuzu_list > div > div {
    position: relative; }
    #pankuzu_list > div > div:after {
      content: ">";
      position: absolute;
      right: -18px;
      top: 0; }
  #pankuzu_list > div > div:last-child:after {
    display: none; }
  #pankuzu_list a,
  #pankuzu_list span {
    color: #fff; }

/****************/
#container {
  width: 100%;
  overflow-x: hidden; }

#main__new {
  background-color: #f0f0f0;
  padding: 0 0 80px 0; }

#pagetop__h1 {
  padding: 80px 2.5% 50px 2.5%;
  text-align: center; }
  @media screen and (max-width: 1024px) {
    #pagetop__h1 {
      padding: 55px 2.5% 40px 2.5%; } }
  #pagetop__h1 h1,
  #pagetop__h1 > div {
    display: block;
    padding: 0 0 15px 0;
    position: relative;
    font-size: 36px;
    margin: 0;
    line-height: 160%;
    font-weight: 700; }
    @media screen and (max-width: 639px) {
      #pagetop__h1 h1,
      #pagetop__h1 > div {
        font-size: 28px; } }
    #pagetop__h1 h1:after,
    #pagetop__h1 > div:after {
      display: inline-block;
      content: "";
      position: absolute;
      height: 3px;
      width: 73px;
      background-color: #005093;
      bottom: 0;
      right: 0;
      left: 0;
      margin: 0 auto; }
    #pagetop__h1 h1 span,
    #pagetop__h1 > div span {
      font-size: 0.6em;
      display: block;
      line-height: 120%; }

.pagetop2__h1 {
  font-size: 28px;
  text-align: center;
  display: block;
  font-weight: 700;
  border-bottom: 1px solid #ccc;
  margin-bottom: 30px;
  padding-bottom: 20px; }
  @media screen and (max-width: 639px) {
    .pagetop2__h1 {
      font-size: 24px; } }

.cadtop__h1 {
  font-size: 28px;
  background-color: #005093;
  color: #fff;
  padding: 15px 10px;
  display: block;
  margin-bottom: 30px; }
  @media screen and (max-width: 639px) {
    .cadtop__h1 {
      font-size: 20px;
      text-align: center;
      color: #333;
      background-color: #fff;
      border: 1px solid #eeeeee;
      margin-bottom: 20px; } }

/******product******/
#product__list {
  gap: 30px;
  display: grid;
  grid-template-columns: 100%; }
  #product__list .product__part {
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 1px 3px 8px -5px #777777;
    padding: 30px 0 50px 0; }
    @media screen and (max-width: 639px) {
      #product__list .product__part {
        padding: 20px 0 30px 0; } }
    #product__list .product__part > div {
      width: 90%;
      max-width: 1130px;
      margin: 0 auto; }
    #product__list .product__part .product__part__hl {
      display: grid;
      font-weight: 700;
      grid-template-columns: 68px 1fr;
      align-self: center;
      font-size: 28px;
      padding: 0 0 16px 0;
      margin-bottom: 33px;
      border-bottom: 1px solid #005093;
      gap: 8px; }
      @media screen and (max-width: 639px) {
        #product__list .product__part .product__part__hl {
          grid-template-columns: 40px 1fr;
          font-size: 20px;
          padding: 0 0 8px 0;
          margin-bottom: 20px; } }
      #product__list .product__part .product__part__hl > div {
        display: flex;
        align-items: center; }

.arrowlink {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; }
  @media screen and (max-width: 639px) {
    .arrowlink {
      display: grid;
      grid-template-columns: 100%;
      gap: 10px; } }

.arrowlink > a,
a.arrowlink_button {
  display: inline-flex;
  font-size: 18px;
  padding: 15px 25px 15px 45px;
  color: #333333;
  border: 1px solid #b3b3b3;
  background-color: #f0f0f0;
  border-radius: 5px;
  transition: 0.2s;
  position: relative; }
  .arrowlink > a:before,
  a.arrowlink_button:before {
    display: inline-block;
    content: "";
    position: absolute;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    width: 19px;
    height: 19px;
    background-image: url(../../common/images/icon/sc_arrow_b.svg);
    left: 15px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transition: 0.2s; }
  @media screen and (max-width: 639px) {
    .arrowlink > a,
    a.arrowlink_button {
      gap: 10px 0;
      font-size: 16px;
      border-radius: 1px; } }
  .arrowlink > a:hover,
  a.arrowlink_button:hover {
    background-color: #005093;
    color: #fff; }
    .arrowlink > a:hover:before,
    a.arrowlink_button:hover:before {
      background-image: url(../../common/images/icon/sc_arrow.svg); }
    .arrowlink > a:hover .blanklink::after,
    a.arrowlink_button:hover .blanklink::after {
      background-image: url(../../common/images/icon/blanklink_w.svg); }

a.arrowlink_button {
  font-size: 13px;
  padding-top: 13px;
  padding-bottom: 13px;
  font-weight: 600; }
  @media screen and (max-width: 639px) {
    a.arrowlink_button {
      font-size: 14px; } }

.inputtable a.arrowlink_button {
  margin-top: 15px;
  min-width: 140px;
  text-align: center;
  padding-right: 30px;
  justify-content: center; }

#product-scr {
  transition: 0.2s; }

#product-scr__inner a {
  transition: 0.3s; }

#product-scr__inner {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px;
  transition: 0.2s; }
  @media screen and (max-width: 1024px) {
    #product-scr__inner {
      padding: 0; } }

#product-scr_top {
  height: 10px;
  display: block; }

#product-scr {
  top: 80px;
  width: 100%;
  z-index: 10;
  position: sticky;
  left: 0; }
  @media screen and (max-width: 1024px) {
    #product-scr {
      top: 60px; } }

.product-scr__spbutton {
  display: none;
  transition: 0.2s;
  padding: 5px 50px;
  color: #fff;
  background-color: #005093;
  text-align: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  min-height: 54px;
  align-items: center;
  font-size: 20px; }
  @media screen and (max-width: 1024px) {
    .product-scr__spbutton {
      display: flex; } }

#product-scr .product-scr__spbutton:after, #product-scr .product-scr__spbutton:before {
  width: 20px;
  height: 2px;
  right: 32px;
  display: block;
  content: "";
  background-color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transition: 0.2s; }
#product-scr .product-scr__spbutton:after {
  transform: rotate(90deg); }
#product-scr.open .product-scr__spbutton:after {
  transform: rotate(0deg); }
#product-scr.open .product-scr__spbutton:before {
  opacity: 0; }

#product-scr_top.scr + #product-scr .product-scr__spbutton {
  background-color: #4e95d9; }

#product-scr_top.scr + #product-scr #product-scr__inner {
  background-color: #f0f0f0;
  border-bottom: 1px solid #c0c0c0; }

#product-scr_top.scr + #product-scr #product-scr__inner .product-scr__menu {
  margin-bottom: 0; }

.product-scr__menu {
  max-width: 1280px;
  width: 95%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    .product-scr__menu {
      width: 100%;
      grid-template-columns: 100%;
      margin-bottom: 20px;
      boder-bottom: 1px solid #ccc; } }
  .product-scr__menu a {
    border: 1px solid #cccccc;
    font-weight: 700;
    background-color: #fff;
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 68px;
    padding: 5px 30px 5px 20px;
    position: relative; }
    @media screen and (max-width: 1024px) {
      .product-scr__menu a {
        border-top: none;
        border-right: none;
        border-left: none;
        border-top: 1px solid #cccccc; } }
    .product-scr__menu a:after {
      width: 12px;
      height: 12px;
      display: inline-block;
      content: "";
      position: absolute;
      right: 20px;
      top: 0;
      bottom: 0;
      margin: auto 0;
      border-top: 2px solid #333333;
      border-right: 2px solid #333333;
      transform: rotate(45deg);
      transition: 0.2s; }
      @media screen and (max-width: 1024px) {
        .product-scr__menu a:after {
          width: 50px;
          height: 50px;
          background-size: 20px 20px;
          background-repeat: no-repeat;
          background-position: center;
          border: none;
          background-image: url(../images/icon/sc_arrow_br.svg);
          right: 0;
          transform: none; } }
    @media screen and (max-width: 1024px) {
      .product-scr__menu a.targetblank:after {
        background-image: url(../images/icon/blanklink_br.svg); } }
    .product-scr__menu a i {
      width: 20%;
      display: block;
      aspect-ratio: 1/1;
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 90% 90%; }
      @media screen and (max-width: 1024px) {
        .product-scr__menu a i {
          display: none; } }
    .product-scr__menu a:hover:after,
    .product-scr__menu a .select:after {
      right: 10px;
      top: 0;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff; }
      @media screen and (max-width: 1024px) {
        .product-scr__menu a:hover:after,
        .product-scr__menu a .select:after {
          width: 50px;
          height: 50px;
          background-size: 20px 20px;
          background-repeat: no-repeat;
          background-position: center;
          border: none;
          background-image: url(../images/icon/sc_arrow.svg);
          right: 0;
          transform: none; } }
    @media screen and (max-width: 1024px) {
      .product-scr__menu a.targetblank:hover:after,
      .product-scr__menu a .targetblank.select:after {
        background-image: url(../images/icon/blanklink_w.svg); } }
  @media screen and (max-width: 1024px) {
    .product-scr__menu {
      opacity: 0;
      height: 0;
      visibility: hidden; } }

@media screen and (max-width: 1024px) {
  #product-scr.open .product-scr__menu {
    opacity: 1;
    height: auto;
    visibility: visible; } }

body.page-normal .menu-normal,
body.page-breath .menu-breath,
body.page-dannetsu .menu-dannetsu,
body.page-hanger .menu-hanger,
body.page-net_madomawari .menu-net_madomawari,
body.page-vertical .menu-vertical,
body.page-horizontal .menu-horizontal,
body.page-middle .menu-middle,
body.page-r_sash .menu-r_sash,
body.page-r_gaiheki .menu-r_gaiheki,
body.page-r_shop .menu-r_shop,
body.page-r_door .menu-r_door,
body.page-shop .menu-shop,
body.page-toplight .menu-toplight,
body.page-alumi .menu-alumi,
body.page-kanren .menu-kanren,
body.page-bl_tsuiraku .menu-bl_tsuiraku,
body.page-koho .menu-koho,
body.page-louver .menu-louver,
body.page-tenjo .menu-tenjo,
body.page-curtain .menu-curtain,
body.page-solar .menu-solar,
#product-scr__inner a:hover,
#product-scr__inner a.select {
  background-color: #005093;
  color: #fff;
  opacity: 1; }

@media screen and (min-width: 1025px) {
  #product-scr__inner a.select:after,
  body.page-normal .menu-normal:after,
  body.page-breath .menu-breath:after,
  body.page-dannetsu .menu-dannetsu:after,
  body.page-hanger .menu-hanger:after,
  body.page-net_madomawari .menu-net_madomawari:after,
  body.page-vertical .menu-vertical:after,
  body.page-horizontal .menu-horizontal:after,
  body.page-middle .menu-middle:after,
  body.page-r_sash .menu-r_sash:after,
  body.page-r_gaiheki .menu-r_gaiheki:after,
  body.page-r_shop .menu-r_shop:after,
  body.page-r_door .menu-r_door:after,
  body.page-shop .menu-shop:after,
  body.page-toplight .menu-toplight:after,
  body.page-alumi .menu-alumi:after,
  body.page-kanren .menu-kanren:after,
  body.page-bl_tsuiraku .menu-bl_tsuiraku:after,
  body.page-koho .menu-koho:after,
  body.page-louver .menu-louver:after,
  body.page-tenjo .menu-tenjo:after,
  body.page-curtain .menu-curtain:after,
  body.page-solar .menu-solar:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff; } }
@media screen and (max-width: 1024px) {
  #product-scr__inner a.select:after,
  body.page-normal .menu-normal:after,
  body.page-breath .menu-breath:after,
  body.page-dannetsu .menu-dannetsu:after,
  body.page-hanger .menu-hanger:after,
  body.page-net_madomawari .menu-net_madomawari:after,
  body.page-vertical .menu-vertical:after,
  body.page-horizontal .menu-horizontal:after,
  body.page-middle .menu-middle:after,
  body.page-r_sash .menu-r_sash:after,
  body.page-r_gaiheki .menu-r_gaiheki:after,
  body.page-r_shop .menu-r_shop:after,
  body.page-r_door .menu-r_door:after,
  body.page-shop .menu-shop:after,
  body.page-toplight .menu-toplight:after,
  body.page-alumi .menu-alumi:after,
  body.page-kanren .menu-kanren:after,
  body.page-bl_tsuiraku .menu-bl_tsuiraku:after,
  body.page-koho .menu-koho:after,
  body.page-louver .menu-louver:after,
  body.page-tenjo .menu-tenjo:after,
  body.page-curtain .menu-curtain:after,
  body.page-solar .menu-solar:after {
    width: 50px;
    height: 50px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    background-image: url(../images/icon/sc_arrow.svg);
    right: 0;
    transform: none; } }

body.page-cad-cad01 .cadmenu__inner .menu-cad01 a,
body.page-cad-cad02 .cadmenu__inner .menu-cad02 a,
body.page-cad-cad03 .cadmenu__inner .menu-cad03 a,
body.page-cad-cad04 .cadmenu__inner .menu-cad04 a,
body.page-cad-cad05 .cadmenu__inner .menu-cad05 a,
body.page-cad-cad06 .cadmenu__inner .menu-cad06 a,
body.page-cad-cad07 .cadmenu__inner .menu-cad07 a,
body.page-cad-cad08 .cadmenu__inner .menu-cad08 a,
body.page-cad-cad09 .cadmenu__inner .menu-cad09 a,
body.page-cad-cad10 .cadmenu__inner .menu-cad10 a,
.cadmenu__inner a:hover {
  background-color: #005093;
  color: #fff; }
  @media screen and (min-width: 1025px) {
    body.page-cad-cad01 .cadmenu__inner .menu-cad01 a,
    body.page-cad-cad02 .cadmenu__inner .menu-cad02 a,
    body.page-cad-cad03 .cadmenu__inner .menu-cad03 a,
    body.page-cad-cad04 .cadmenu__inner .menu-cad04 a,
    body.page-cad-cad05 .cadmenu__inner .menu-cad05 a,
    body.page-cad-cad06 .cadmenu__inner .menu-cad06 a,
    body.page-cad-cad07 .cadmenu__inner .menu-cad07 a,
    body.page-cad-cad08 .cadmenu__inner .menu-cad08 a,
    body.page-cad-cad09 .cadmenu__inner .menu-cad09 a,
    body.page-cad-cad10 .cadmenu__inner .menu-cad10 a,
    .cadmenu__inner a:hover {
      border: 1px solid #005093; } }

@media screen and (min-width: 1025px) {
  body.page-cad-cad01 .cadmenu__inner .menu-cad01 a:after,
  body.page-cad-cad02 .cadmenu__inner .menu-cad02 a:after,
  body.page-cad-cad03 .cadmenu__inner .menu-cad03 a:after,
  body.page-cad-cad04 .cadmenu__inner .menu-cad04 a:after,
  body.page-cad-cad05 .cadmenu__inner .menu-cad05 a:after,
  body.page-cad-cad06 .cadmenu__inner .menu-cad06 a:after,
  body.page-cad-cad07 .cadmenu__inner .menu-cad07 a:after,
  body.page-cad-cad08 .cadmenu__inner .menu-cad08 a:after,
  body.page-cad-cad09 .cadmenu__inner .menu-cad09 a:after,
  body.page-cad-cad10 .cadmenu__inner .menu-cad10 a:after {
    content: "";
    background: #005093;
    height: calc(tan(60deg) * 20px / 2);
    width: 20px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    position: absolute;
    bottom: 5px;
    right: 0;
    left: 0;
    display: block;
    margin: 0 auto; } }

.plane_content__wrapper {
  display: grid;
  grid-template-columns: 100%;
  gap: 40px 0; }
  @media screen and (max-width: 639px) {
    .plane_content__wrapper {
      gap: 20px 0; } }
  .plane_content__wrapper .plane_content {
    padding: 40px 30px; }
    @media screen and (max-width: 639px) {
      .plane_content__wrapper .plane_content {
        padding: 30px 3%; } }

.plane_content {
  background-color: #fff;
  width: 95%;
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 30px 80px 30px; }
  @media screen and (max-width: 1024px) {
    .plane_content {
      width: 90%; } }
  @media screen and (max-width: 1024px) {
    .plane_content {
      padding: 30px 3% 50px 3%; } }

/*********product*********/
#product_h1,
h2.product_h1,
h3.product_h1,
h4.product_h1 {
  margin: 0 auto 43px auto;
  font-size: 28px;
  display: block;
  position: relative;
  border-bottom: 1.5px solid #bfbfbf;
  padding: 0 0 15px 30px; }
  @media screen and (max-width: 1024px) {
    #product_h1,
    h2.product_h1,
    h3.product_h1,
    h4.product_h1 {
      font-size: 25px;
      padding: 0 0 15px 20px; } }
  #product_h1:before,
  h2.product_h1:before,
  h3.product_h1:before,
  h4.product_h1:before {
    width: 8px;
    height: 33px;
    content: "";
    display: block;
    background: #005093;
    position: absolute;
    left: 0;
    top: 2px; }

h2.product_h1,
h3.product_h1,
h4.product_h1 {
  margin-bottom: 30px; }

.block-list__wrap {
  display: grid;
  grid-template-columns: 100%;
  gap: 30px; }
  .block-list__wrap .block-list {
    background-color: #fff;
    display: flex;
    align-items: flex-start;
    gap: 41px;
    padding: 35px 25px; }
    .block-list__wrap .block-list.sp-bl {
      flex-direction: column;
      gap: 20px; }
    @media screen and (max-width: 639px) {
      .block-list__wrap .block-list {
        flex-direction: column;
        gap: 20px; } }
    .block-list__wrap .block-list .block-list__img {
      width: 24%;
      aspect-ratio: 1/1;
      overflow: hidden; }
      @media screen and (max-width: 639px) {
        .block-list__wrap .block-list .block-list__img {
          width: 100%; } }
      .block-list__wrap .block-list .block-list__img img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
    .block-list__wrap .block-list .block-list__text {
      width: 76%; }
      @media screen and (max-width: 639px) {
        .block-list__wrap .block-list .block-list__text {
          width: 100%; } }
      .block-list__wrap .block-list .block-list__text .block-list__title {
        font-size: 28px;
        font-weight: 700;
        margin: 10px 0 30px 0; }
        @media screen and (max-width: 639px) {
          .block-list__wrap .block-list .block-list__text .block-list__title {
            font-size: 20px; } }
        .block-list__wrap .block-list .block-list__text .block-list__title span {
          font-size: 13px;
          display: block; }

.icon_h2 {
  font-size: 24px;
  font-weight: bold;
  display: block;
  padding: 0 0 0 40px;
  position: relative; }
  .icon_h2 i {
    display: block;
    display: inline-block;
    content: "";
    position: absolute;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    left: 0;
    top: 0;
    width: 28px;
    height: 28px; }
  @media screen and (max-width: 1024px) {
    .icon_h2 {
      font-size: 18px;
      padding: 0 0 0 30px; }
      .icon_h2 i {
        width: 22px;
        height: 22px; } }

.block-list__button {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
  gap: 11px; }
  @media screen and (max-width: 1024px) {
    .block-list__button {
      grid-template-columns: 1fr; } }
  .block-list__button > a,
  .block-list__button > span {
    display: inline-flex;
    font-weight: 700;
    font-size: 18px;
    width: 100%;
    gap: 11px;
    align-items: center;
    padding: 10px 24px 10px 10px;
    border: 1px solid #cccccc;
    transition: 0.2s;
    color: #333; }
    @media screen and (max-width: 639px) {
      .block-list__button > a,
      .block-list__button > span {
        font-size: 16px; } }
    .block-list__button > a i,
    .block-list__button > span i {
      width: 50px;
      aspect-ratio: 1/1;
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 80% 80%; }
      @media screen and (max-width: 1024px) {
        .block-list__button > a i,
        .block-list__button > span i {
          width: 30px;
          background-size: 90% 90%; } }
  .block-list__button a {
    box-shadow: 0px 4px 3px 0px #d8d8d8;
    position: relative; }
    .block-list__button a:after {
      display: inline-block;
      content: "";
      position: absolute;
      width: 10px;
      height: 10px;
      border-top: 2px solid #333;
      border-right: 2px solid #333;
      transform: rotate(45deg);
      right: 15px;
      top: 0;
      bottom: 0;
      margin: auto 0;
      transition: 0.2s; }
  .block-list__button > span {
    background-color: #cccccc;
    color: #8b8b8b; }
  .block-list__button > a:hover {
    box-shadow: -2px -1px 1px -6px #616161;
    color: #fff;
    background-color: #005093; }
    .block-list__button > a:hover:after {
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      right: 10px; }

.product-single__wrap {
  display: grid;
  gap: 80px;
  grid-template-columns: 100%;
  font-size: 16px; }
  @media screen and (max-width: 1024px) {
    .product-single__wrap {
      font-size: 15px; } }
  @media screen and (max-width: 639px) {
    .product-single__wrap {
      gap: 50px; } }
  .product-single__wrap p {
    line-height: 200%; }
  .product-single__wrap hr {
    height: 1px;
    width: 100%;
    background-color: #000;
    display: block; }
  .product-single__wrap > div,
  .product-single__wrap > hr {
    width: 100%; }

.product-single__mainimg img {
  width: 100%;
  height: auto; }

.p-wrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 15px; }

h2.product__h2,
h3.product__h2,
h4.product__h2,
strong.product__h2 {
  width: 100%;
  display: block;
  text-align: center;
  font-weight: 700;
  margin-bottom: 40px;
  font-size: 28px; }
  @media screen and (max-width: 639px) {
    h2.product__h2,
    h3.product__h2,
    h4.product__h2,
    strong.product__h2 {
      font-size: 24px; } }
  @media screen and (max-width: 639px) {
    h2.product__h2,
    h3.product__h2,
    h4.product__h2,
    strong.product__h2 {
      margin-bottom: 25px; } }

p.simple__h3,
h2.simple__h3,
h3.simple__h3,
h4.simple__h3,
strong.simple__h3,
p.border__h3,
h2.border__h3,
h3.border__h3,
h4.border__h3,
p.border__h3 {
  font-weight: 700;
  display: block;
  margin-bottom: 30px;
  font-size: 24px; }
  @media screen and (max-width: 639px) {
    p.simple__h3,
    h2.simple__h3,
    h3.simple__h3,
    h4.simple__h3,
    strong.simple__h3,
    p.border__h3,
    h2.border__h3,
    h3.border__h3,
    h4.border__h3,
    p.border__h3 {
      margin-bottom: 20px;
      font-size: 20px;
      font-size: 20px; } }

.border__h3 {
  position: relative;
  padding-left: 15px; }
  .border__h3:after {
    display: inline-block;
    content: "";
    position: absolute;
    width: 6px;
    height: 24px;
    background-color: #005093;
    left: 0;
    top: 2px; }
    @media screen and (max-width: 639px) {
      .border__h3:after {
        top: 2px; } }

h2.obi__hl,
h3.obi__hl,
h4.obi__hl,
strong.obi__hl {
  background-color: #005093;
  color: #fff;
  padding: 20px;
  font-size: 28px;
  margin-bottom: 40px; }
  @media screen and (max-width: 639px) {
    h2.obi__hl,
    h3.obi__hl,
    h4.obi__hl,
    strong.obi__hl {
      font-size: 20px;
      color: #333;
      background-color: inherit;
      padding: 0;
      margin-bottom: 20px; } }

.anc-top {
  margin-top: -80px;
  padding-top: 80px;
  display: block; }

a.obi__hl__wrap {
  transition: 0.2s;
  display: block; }
  a.obi__hl__wrap .obi__hl {
    transition: 0.2s; }
    a.obi__hl__wrap .obi__hl span {
      transition: 0.2s;
      display: inline-flex;
      padding: 0 50px 0 0;
      position: relative; }
      a.obi__hl__wrap .obi__hl span:after {
        transition: 0.2s;
        display: inline-block;
        content: "";
        position: absolute;
        width: 15px;
        height: 15px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
        right: 10px;
        bottom: 10px; }
  a.obi__hl__wrap:hover .obi__hl {
    background-color: #f0f0f0;
    color: #005093; }
    a.obi__hl__wrap:hover .obi__hl span:after {
      right: 0;
      border-top: 2px solid #005093;
      border-right: 2px solid #005093; }

.h4_sq {
  font-size: 18px;
  position: relative;
  font-weight: bold;
  display: block;
  line-height: 160%;
  margin: 0 0 8px 0;
  padding: 0 0 0 30px; }
  .h4_sq:before {
    display: inline-block;
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background-color: #005093;
    left: 0;
    top: 5px; }

.icon__i {
  display: block;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  aspect-ratio: 1/1; }

.button__type1 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  gap: 15px;
  font-weight: 700;
  background-color: #005093;
  align-items: center;
  padding: 10px 0 10px 20px;
  color: #fff;
  transition: 0.2s; }
  .button__type1:hover {
    background-color: #4e95d9;
    color: #fff; }
  .button__type1 .icon__i {
    width: 60px;
    height: 60px;
    background-size: 70% 70%; }

.product-single__info-menu {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px; }
  @media screen and (max-width: 639px) {
    .product-single__info-menu {
      grid-template-columns: 1fr; } }

.column2__movie {
  display: grid;
  grid-template-columns: 1fr 55%;
  gap: 5%;
padding-top: 270px;
	margin-top: -270px;}
  @media screen and (max-width: 639px) {
    .column2__movie {
      grid-template-columns: 100%;
      gap: 30px;
	  padding-top: 140px;
		margin-top: -140px;} }
  .column2__movie .column2__movie__right {
    overflow: hidden; }
    .column2__movie .column2__movie__right iframe {
      width: 100%;
      height: 100%;
      position: absolute; }

.youtube__wrap {
  width: 100%;
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9; }

.column1 {
  width: 100%; }
  .column1 img {
    width: 100%;
    height: auto; }

.column2__5050 {
  display: grid;
  grid-template-columns: 48% 48%;
  gap: 90px 4%; }
  @media screen and (max-width: 639px) {
    .column2__5050 {
      grid-template-columns: 1fr;
      gap: 20px 4%; } }
  .column2__5050 > div {
    display: flex;
    gap: 10px;
    flex-direction: column;
    justify-content: flex-start; }
    .column2__5050 > div img,
    .column2__5050 > div p {
      display: block;
      width: 100%; }
    .column2__5050 > div > h3 {
      margin-bottom: 20px; }
      @media screen and (max-width: 639px) {
        .column2__5050 > div > h3 {
          margin-bottom: 10px; } }

.column3_30 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 90px 4%; }
  .column3_30 img,
  .column3_30 div,
  .column3_30 p {
    display: block;
    width: 100%; }
  .column3_30 img {
    height: auto; }
  @media screen and (max-width: 639px) {
    .column3_30 {
      grid-template-columns: 1fr;
      gap: 20px 4%; } }
  .column3_30 > h3 {
    margin-bottom: 20px; }
    @media screen and (max-width: 639px) {
      .column3_30 > h3 {
        margin-bottom: 10px; } }

.product-single__features__wrap {
  grid-template-columns: 100%;
  gap: 90px 0;
  display: grid; }
  @media screen and (max-width: 639px) {
    .product-single__features__wrap {
      gap: 60px 0; } }

.features-inner__wrap {
  grid-template-columns: 100%;
  gap: 25px 0;
  display: grid; }

.features-inner__wrap2 {
  grid-template-columns: 100%;
  gap: 80px 0;
  display: grid; }
  @media screen and (max-width: 639px) {
    .features-inner__wrap2 {
      gap: 40px 0; } }

.image-border {
  border: 1px solid #ccc; }

.image__full img {
  width: 100%;
  height: auto; }

.image__half img {
  max-width: 610px;
  height: auto; }

.image__third img {
  max-width: 405px;
  height: auto; }

.img-center img {
  display: block;
  margin: 0 auto; }

.imgmw-small img {
  max-width: 200px; }

.imgmw-middle img {
  max-width: 400px; }

.imgmw-large img {
  max-width: 900px; }

.border-waku {
  border: 1px solid #ccc;
  padding: 40px 20px; }

/**cad***/
@media screen and (max-width: 1024px) {
  .cad_box > span {
    margin-bottom: 25px; } }

.new_icon {
  font-size: 10px;
  padding: 2px 5px 1px;
  background-color: red;
  color: #ffffff;
  margin-top: 3px;
  display: inline-block; }

.sp_cadsub {
  display: none; }
  @media screen and (max-width: 1024px) {
    .sp_cadsub {
      display: flex;
      margin: 0 0 15px 0;
      flex-direction: column;
      gap: 8px; }
      .sp_cadsub > div {
        display: flex;
        gap: 5px;
        align-items: center; }
        .sp_cadsub > div span,
        .sp_cadsub > div img {
          width: 30px; }
        .sp_cadsub > div span {
          color: #0070cb;
          text-align: center;
          display: block; } }

#cadmenu__toggle {
  position: relative;
  display: none;
  cursor: pointer; }
  @media screen and (max-width: 1024px) {
    #cadmenu__toggle {
      display: block;
      position: absolute;
      z-index: 3;
      right: 0px;
      top: -15px;
      background-color: #333;
      width: 50px;
      height: 50px; }
      #cadmenu__toggle > div span {
        background-color: #fff;
        height: 2px;
        width: 60%;
        display: block;
        position: absolute;
        right: 0;
        left: 0;
        margin: 0 auto;
        transition: 0.4s; }
      #cadmenu__toggle > div span:nth-child(1) {
        top: 10px; }
      #cadmenu__toggle > div span:nth-child(2) {
        top: 18px; }
      #cadmenu__toggle > div span:nth-child(3) {
        top: 26px; }
      #cadmenu__toggle > span {
        font-weight: bold;
        font-size: 11px;
        bottom: 3px;
        position: absolute;
        color: #fff;
        text-align: center;
        width: 100%;
        transform: scale(0.8);
        transition: 0.2s; } }

#cadmenu__toggle.cadmenuopen > span,
#cadmenu__toggle.cadmenuopen span:nth-child(2) {
  opacity: 0;
  visibility: hidden; }
#cadmenu__toggle.cadmenuopen span:nth-child(1),
#cadmenu__toggle.cadmenuopen span:nth-child(3) {
  top: 0;
  bottom: 0;
  margin: auto; }
#cadmenu__toggle.cadmenuopen span:nth-child(1) {
  transform: rotate(45deg); }
#cadmenu__toggle.cadmenuopen span:nth-child(3) {
  transform: rotate(-45deg); }

@media screen and (max-width: 1024px) {
  .cadmenu__wrap {
    height: 0;
    visibility: hidden;
    opacity: 0;
    transition: 0.2s;
    position: absolute;
    background-color: #fff;
    z-index: 3; } }

#cadmenu__toggle.cadmenuopen + .cadmenu__wrap {
  visibility: visible;
  opacity: 1;
  height: auto;
  width: 100%;
  left: 0;
  right: 0;
  top: 40px; }

.cadmenubg {
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: 2;
  top: 0;
  left: 0;
  transition: 0.3s;
  opacity: 0;
  visibility: hidden; }

#cadmenu__toggle.cadmenuopen + .cadmenu__wrap + .cadmenubg {
  opacity: 1;
  visibility: visible; }

.cadmenu__inner a {
  font-weight: 700; }
@media screen and (min-width: 1025px) {
  .cadmenu__inner {
    display: flex;
    width: 100%;
    margin-bottom: 20px; }
    .cadmenu__inner div {
      flex: 1 1 auto;
      margin: 0;
      padding: 0;
      display: flex;
      padding-bottom: 20px;
      position: relative; }
    .cadmenu__inner div a {
      width: 100%;
      border: 1px solid #cccccc;
      display: flex;
      padding: 15px;
      transition: 0.2s;
      background-color: #f2f8fc;
      color: #333; } }
@media screen and (max-width: 1024px) {
  .cadmenu__inner {
    display: flex;
    flex-direction: column; }
    .cadmenu__inner > div {
      width: 100%; }
      .cadmenu__inner > div a {
        color: #333;
        width: 100%;
        padding: 15px;
        display: flex; }
        .cadmenu__inner > div a:before {
          content: "-";
          display: inline-block;
          margin-right: 8px; } }

.cadh1_wrap {
  position: relative; }

.table_wrap {
  width: 100%; }
  @media screen and (max-width: 1024px) {
    .table_wrap {
      overflow-x: scroll; } }

.table_inner {
  width: 100%;
  min-width: 900px;
  min-height: 100px; }

.table_wrap .p_cad {
  margin-top: 3px;
  padding-left: 30px;
  height: 20px;
  background: url(../images/btn_cad.gif) no-repeat; }

.table_wrap .p_web {
  margin: 3px auto 22px;
  padding-left: 30px;
  height: 20px;
  background: url(../images/btn_webcatalog2.png) no-repeat; }

.simple_border_area {
  border: 1px solid #999;
  padding: 20px;
  display: grid;
  grid-template-columns: 100%;
  gap: 15px; }

.simple_dl {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 8px 0; }
  .simple_dl dt {
    padding: 0 8px 0 0;
    position: relative; }
    .simple_dl dt:after {
      content: ":";
      position: absolute;
      right: 4px;
      top: 0; }

.page404 h1 {
  width: 100%;
  max-width: 882px;
  text-align: center;
  display: block;
  font-size: 24px;
  margin: 0 auto 42px auto;
  line-height: 180%; }
  @media screen and (max-width: 1024px) {
    .page404 h1 {
      text-align: left; } }
.page404 > div {
  width: 100%;
  max-width: 882px;
  margin: 0 auto;
  font-size: 16px;
  display: flex;
  flex-direction: column;
  gap: 38px; }
  .page404 > div p {
    width: 100%;
    text-align: center; }
    @media screen and (max-width: 1024px) {
      .page404 > div p {
        text-align: left; }
        .page404 > div p br {
          display: none; } }
.page404 a {
  border: 1px solid #d8dde0;
  display: flex;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
  padding: 10px 40px 10px 40px;
  max-width: 259px;
  min-height: 77px;
  font-weight: 600;
  color: #333333;
  position: relative;
  transition: 0.2s;
  box-shadow: 0px 7px 4px -4px #d8dde0; }
  .page404 a:after {
    display: inline-block;
    content: "";
    position: absolute;
    transform: rotate(45deg);
    height: 12px;
    width: 12px;
    background-image: url(../images/);
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    top: 0;
    bottom: 0;
    right: 30px;
    margin: auto 0;
    transition: 0.2s; }
  .page404 a:hover {
    box-shadow: 0px 2px 2px -4px #d8dde0; }
    .page404 a:hover:after {
      right: 20px; }

.page404__wrap {
  border: 1px solid #d8dde0;
  padding: 70px 20px; }

.content404.plane_content {
  margin-top: 90px;
  padding-bottom: 40px; }
  @media screen and (max-width: 1024px) {
    .content404.plane_content {
      padding-bottom: 30px; } }

.inputtable {
  margin: 30px 0;
  border-collapse: collapse;
  border: 1px solid #999; }
  .inputtable .vt {
    /*vertical-align: top;*/
    font-size: 15px; }
  .inputtable .pcdel {
    display: none; }
  @media screen and (max-width: 1024px) {
    .inputtable {
      border: none; }
      .inputtable .pcdel {
        display: block; }
      .inputtable .spdel {
        display: none; } }
  .inputtable td,
  .inputtable th {
    border: 1px solid #999; }
    @media screen and (max-width: 1024px) {
      .inputtable td,
      .inputtable th {
        display: block;
        width: 100%; } }
  .inputtable th {
    background-color: #e6e6e6;
    padding: 23px 23px 23px 50px; }
    @media screen and (max-width: 1024px) {
      .inputtable th {
        padding: 15px; } }
  .inputtable td {
    padding: 23px; }
    @media screen and (max-width: 1024px) {
      .inputtable td {
        margin-bottom: 20px;
        border-top: none;
        padding: 15px; }
        .inputtable td.nomb {
          margin-bottom: 0; } }
  .inputtable input,
  .inputtable select {
    border: 1px solid #b3b3b3;
    padding: 2px 15px;
    border-radius: 3px;
    min-height: 34px;
    align-items: center;
    font-size: 16px; }
  .inputtable .forminner_flex {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2px;
    align-items: flex-end; }
    .inputtable .forminner_flex > div {
      display: flex;
      flex-direction: column; }
    .inputtable .forminner_flex span {
      display: block;
      font-size: 16px;
      margin: 5px 0 0 0; }
  .inputtable #shichoson {
    width: 100%;
    margin-top: 8px; }

.forminner_flex_ten {
  padding-right: 40px;
  min-width: 200px;
  position: relative; }
  .forminner_flex_ten.tex_short {
    min-width: 100px; }
  .forminner_flex_ten:after {
    content: ".";
    right: 17px;
    top: 15px;
    position: absolute; }

.forminner_flex_m {
  min-width: 50px;
  position: relative; }
  .forminner_flex_m.add_m {
    padding-right: 30px;
    min-width: 80px; }
    .forminner_flex_m.add_m:after {
      content: "m";
      right: 0px;
      top: 8px;
      position: absolute; }

.forminner_flex_ten input,
.forminner_flex_ten select,
.forminner_flex_m input,
.forminner_flex_m select {
  width: 100%; }

input.middleform,
select.middleform {
  width: 100%;
  max-width: 234px; }

.flex_form_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center; }
  .flex_form_wrap input,
  .flex_form_wrap select {
    width: calc(100% - 50px); }

.radio_flex {
  display: flex;
  gap: 5px;
  align-items: center;
  margin-bottom: 10px; }

.keisan_img {
  width: 100%; }
  .keisan_img img {
    max-width: 800px;
    margin: 0 auto;
    display: block; }

#btn_box {
  padding-top: 20px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 30px; }
  #btn_box p {
    width: calc(50% - 15px);
    display: block;
    max-width: 285px; }
  #btn_box p a,
  #btn_box form input {
    border: 1px solid #ccc;
    width: 100%;
    display: inline-flex;
    color: #fff;
    min-height: 77px;
    padding: 8px 50px;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: 0.2s; }
    #btn_box p a:after,
    #btn_box form input:after {
      display: inline-block;
      content: "";
      position: absolute;
      width: 10px;
      height: 10px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(45deg);
      top: 0;
      bottom: 0;
      right: 25px;
      margin: auto 0;
      transition: 0.2s; }
    #btn_box p a:hover:after,
    #btn_box form input:hover:after {
      right: 20px; }
  #btn_box form input {
    min-height: 40px; }
  #btn_box p#btn_kei a,
  #btn_box form input {
    background-color: #005093; }
    #btn_box p#btn_kei a:hover,
    #btn_box form input:hover {
      background-color: #777777; }
  #btn_box p#btn_clr a {
    background-color: #333333; }
    #btn_box p#btn_clr a:hover {
      background-color: #777777; }

#keisan_window {
  padding: 20px 30px; }
  #keisan_window table {
    max-width: 800px;
    width: 100%;
    margin: 35px auto; }
    #keisan_window table td,
    #keisan_window table th {
      padding: 10px;
      border: 1px solid #ccc; }
    #keisan_window table .sodo1 {
      background-color: #f1f1f1; }
  @media screen and (max-width: 639px) {
    #keisan_window .attrtable .sodo1 {
      display: none; }
    #keisan_window .attrtable th,
    #keisan_window .attrtable td,
    #keisan_window .attrtable tr,
    #keisan_window .attrtable thead,
    #keisan_window .attrtable tbody {
      display: block; }
    #keisan_window .attrtable td:before {
      display: block;
      content: attr(data-text);
      background-color: #f1f1f1;
      padding: 5px;
      margin-bottom: 5px;
      text-align: center;
      font-size: 14px; }
    #keisan_window .attrtable td {
      border-bottom: none; }
    #keisan_window .attrtable tr {
      margin-bottom: 25px;
      border-bottom: 1px solid #ccc; } }

#keisan_page .contact_list_link {
  color: #0070cb; }
#keisan_page .menseki {
  display: block;
  padding: 0 0 25px 0; }

.arrow-simple__button {
  color: #333;
  display: inline-block;
  padding: 0 0 0 25px;
  transition: 0.2s;
  position: relative; }
  .arrow-simple__button:before {
    display: inline-block;
    content: "";
    position: absolute;
    top: 4px;
    width: 15px;
    height: 15px;
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(../images/icon/sc_arrow_b.svg);
    left: 0; }

#img_keisanzu {
  border: 1px solid #999999;
  margin: 45px 0 25px 0;
  display: block; }

table.kekka,
table.kekka_end {
  border-collapse: collapse;
  width: 100%; }
  table.kekka th,
  table.kekka td,
  table.kekka_end th,
  table.kekka_end td {
    padding: 25px; }

table.kekka {
  margin-bottom: 35px; }
  table.kekka th,
  table.kekka td {
    border: 1px solid #fff;
    background-color: #bfccd7; }

.kekka_end {
  margin-bottom: 40px; }
  .kekka_end th,
  .kekka_end td {
    border: 1px solid #acacac; }
  .kekka_end .kekka3 {
    background: #e0ffbd; }
  .kekka_end .kekka2 {
    background: #b4d7ff; }
  .kekka_end .kekka4 {
    background: #ffd8d6; }
  .kekka_end .kekka_end_1 {
    width: 100px; }
  .kekka_end td {
    vertical-align: center;
    text-align: center; }

#keisan_page .table_inner {
  min-width: 800px; }

.zyoken5 {
  display: flex;
  justify-content: center;
  gap: 20px; }
  .zyoken5 img {
    width: calc(50% - 10px);
    max-width: 300px; }

.opencontent {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-out;
  /* ここでスピードを調整 */
  opacity: 0;
  transition: height 0.3s ease-out, opacity 0.3s; }

.opencontent.active {
  opacity: 1;
  padding: 20px 0; }

.boukadl {
  margin-top: 30px;
  display: grid;
  grid-template-columns: 100%; }
  .boukadl .opendl {
    border-top: 1px solid #ccc;
    position: relative; }
    .boukadl .opendl:before {
      background-color: #005093;
      display: inline-block;
      content: "";
      position: absolute;
      height: 29px;
      width: 7px;
      left: 0;
      top: 20px;
      z-index: 2; }
      @media screen and (max-width: 639px) {
        .boukadl .opendl:before {
          height: 25px; } }
    .boukadl .opendl.borderon {
      border-bottom: 1px solid #ccc; }
  .boukadl .opentitle,
  .boukadl .opendl > span {
    font-size: 24px;
    font-weight: 600;
    position: relative; }
    @media screen and (max-width: 639px) {
      .boukadl .opentitle,
      .boukadl .opendl > span {
        font-size: 20px; } }
  .boukadl .opendl > span {
    padding: 20px 0px 20px 20px;
    display: block; }
  .boukadl .opentitle {
    padding: 20px 30px 20px 20px;
    transition: 0.3s;
    cursor: pointer; }
    .boukadl .opentitle:hover {
      color: #005093;
      background-color: #eafaff6c; }
    .boukadl .opentitle:before, .boukadl .opentitle:after {
      display: inline-block;
      content: "";
      position: absolute;
      height: 20px;
      width: 4px;
      transition: 0.2s;
      top: 25px;
      background-color: #005093;
      z-index: 2; }
      @media screen and (max-width: 639px) {
        .boukadl .opentitle:before, .boukadl .opentitle:after {
          width: 2px;
          height: 18px; } }
    .boukadl .opentitle:before {
      right: 10px; }
    .boukadl .opentitle:after {
      right: 10px;
      transform: rotate(90deg); }
    .boukadl .opentitle.active:before {
      transform: rotate(90deg); }
    .boukadl .opentitle.active:hover {
      background-color: #fff;
      color: #333; }

.opencontent table th,
.opencontent table td {
  border: 1px solid #999999;
  padding: 20px; }
.opencontent table .cols {
  background-color: #e6e6e6; }
.opencontent .pdficon {
  display: inline-block;
  padding: 0 0 0 20px;
  background-size: 15px 15px;
  background-position: left top;
  background-image: url(/common/images/pdficon_small.gif);
  background-repeat: no-repeat; }

.center-flex {
  text-align: center; }

.arrow-button {
  min-height: 77px;
  min-width: 380px;
  font-size: 18px;
  display: inline-flex;
  border: 1px solid #cccccc;
  justify-content: center;
  align-items: center;
  padding: 10px 40px;
  transition: 0.4s;
  color: #333;
  position: relative; }
  @media screen and (max-width: 639px) {
    .arrow-button {
      min-width: inherit; } }
  .arrow-button:after {
    display: inline-block;
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 2px solid;
    border-right: 2px solid;
    right: 20px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transform: rotate(45deg);
    transition: 0.2s; }
  .arrow-button:hover {
    background-color: #e0e0e0; }
    .arrow-button:hover:after {
      right: 15px; }
    .arrow-button:hover.arrow_wh {
      color: #333; }
  .arrow-button.arrow_wh:after {
    border-color: #333; }
  .arrow-button.arrow_bl {
    background-color: #005093;
    color: #fff; }
    .arrow-button.arrow_bl :after {
      border-color: #fff; }
    .arrow-button.arrow_bl:hover {
      background-color: #e6e6e6;
      color: #333333; }

.syozaichi {
  display: grid;
  margin-top: 40px;
  grid-template-columns: 100%;
  gap: 30px; }
  .syozaichi h2 {
    font-size: 24px; }

.syozaichi_before,
.syozaichi_after {
  padding: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 15px; }
  .syozaichi_before > div,
  .syozaichi_after > div {
    display: flex;
    gap: 20px; }
    .syozaichi_before > div span,
    .syozaichi_after > div span {
      font-size: 0.85em; }
    @media screen and (max-width: 639px) {
      .syozaichi_before > div,
      .syozaichi_after > div {
        flex-direction: column;
        gap: 5px; } }

.syozaichi_wrap {
  display: grid;
  gap: 45px;
  grid-template-columns: 100%; }

.syozaichi_before {
  background: #e6e6e6;
  position: relative; }
  .syozaichi_before:after {
    display: inline-block;
    content: "";
    position: absolute;
    height: 18px;
    margin: 0;
    padding: 8px;
    place-items: center;
    width: 35px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background-color: #005093;
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: -32px; }

.syozaichi_after {
  background: #dcf6db; }

.scroll-hint-icon {
  right: 0px !important;
  top: 0px !important;
  left: auto !important;
  width: 50px !important; }

.scroll-hint-icon:before {
  width: 22px !important;
  height: 22px !important; }

.scroll-hint-icon:after {
  left: calc(50% + 3px) !important; }

.agreement_btn {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 30px; }
  @media screen and (max-width: 639px) {
    .agreement_btn {
      flex-direction: column;
      align-items: center;
      gap: 15px; } }
  .agreement_btn a.arrow-button {
    max-width: 272px;
    min-width: inherit;
    width: calc(50% - 15px); }
    @media screen and (max-width: 639px) {
      .agreement_btn a.arrow-button {
        width: 100%;
        min-height: inherit;
        font-size: 16px; } }
    .agreement_btn a.arrow-button:hover {
      color: #333; }

.c-b-w__inner {
  display: grid;
  grid-template-columns: 100%;
  gap: 50px; }

.c-b-w-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: 95%;
  margin: 0 auto;
  max-width: 1280px; }
  @media screen and (max-width: 1024px) {
    .c-b-w-head {
      width: 90%; } }
  @media screen and (max-width: 639px) {
    .c-b-w-head {
      grid-template-columns: 100%;
      gap: 10px; } }
  .c-b-w-head .top-dataservice__hrefarea {
    font-size: 18px;
    display: flex; }
    @media screen and (min-width: 1025px) {
      .c-b-w-head .top-dataservice__hrefarea {
        min-height: 133px;
        align-items: center; } }

.simple_ul {
  display: grid;
  grid-template-columns: 100%;
  gap: 10px;
  margin: 0;
  padding: 0; }
  .simple_ul li {
    padding-left: 10px;
    position: relative; }
    .simple_ul li:before {
      display: inline-block;
      content: "";
      position: absolute;
      width: 3px;
      height: 3px;
      top: 10px;
      background-color: #333;
      left: 0; }

.tech__list h3.border__h3 {
  margin-bottom: 24px; }
.tech__list .w_img {
  display: block;
  text-align: right; }
  .tech__list .w_img a {
    display: inline-flex;
    align-items: center;
    border: 1px solid #ccc;
    padding: 12px 30px 12px 40px;
    position: relative;
    transition: 0.2s; }
    @media screen and (max-width: 639px) {
      .tech__list .w_img a {
        width: 100%; } }
    .tech__list .w_img a:before {
      display: inline-block;
      content: "";
      position: absolute;
      background-size: contain;
      background-position: center center;
      background-repeat: no-repeat;
      width: 14px;
      height: 14px;
      background-image: url(../images/icon/sc_arrow_b.svg);
      left: 15px;
      top: 0;
      bottom: 0;
      margin: auto 0;
      transition: 0.3s; }
    .tech__list .w_img a:after {
      transition: 0.3s; }
    .tech__list .w_img a:hover {
      background-color: #005093;
      color: #fff; }
      .tech__list .w_img a:hover:before {
        left: 20px;
        background-image: url(../images/icon/sc_arrow_w.svg); }
      .tech__list .w_img a:hover.blanklink:after {
        background-image: url(../images/icon/blanklink_w.svg) !important; }

.tech__list .teck__block {
  padding: 40px 0;
  border-top: 1px solid #ccc; }
  .tech__list .teck__block > img {
    width: 100%;
    height: auto; }
  .tech__list .teck__block:nth-child(1) {
    border: none; }
  .tech__list .teck__block.tech-grid {
    display: grid;
    grid-template-columns: 1fr 242px;
    gap: 0 5%;
    align-items: flex-start; }
    @media screen and (max-width: 639px) {
      .tech__list .teck__block.tech-grid {
        gap: 15px;
        grid-template-columns: 1fr; } }
  .tech__list .teck__block .w_img {
    display: block;
    margin: 25px 0 0 0; }

.cad-block__wrap {
  display: grid;
  grid-template-columns: 100%;
  gap: 39px; }
  .cad-block__wrap h3 {
    margin: 0; }
  .cad-block__wrap > h2 {
    font-size: 28px;
    display: block;
    text-align: center;
    padding-bottom: 33px;
    border-bottom: 1px solid #bfbfbf; }

.cslist-gaikan {
  margin-top: 23px; }

.cs_h2 {
  margin: 0 0 45px 0;
  display: block;
  border-bottom: 1px solid #005093;
  padding: 37px 0 48px 0; }
  @media screen and (max-width: 639px) {
    .cs_h2 {
      padding: 0 0 18px 0;
      margin-bottom: 25px; } }
  .cs_h2 h2 {
    font-size: 28px; }
    @media screen and (max-width: 639px) {
      .cs_h2 h2 {
        font-size: 20px; } }

.cslist__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px 17px; }
  @media screen and (max-width: 639px) {
    .cslist__wrap {
      grid-template-columns: 100%;
      gap: 19px 0; } }
  .cslist__wrap a {
    display: block;
    border: 1px solid #ededed;
    overflow: hidden;
    border-radius: 5px;
    color: #333;
    transition: 0.2s; }
    .cslist__wrap a .cs-img {
      width: 100%;
      aspect-ratio: 1.43/1;
      overflow: hidden; }
      .cslist__wrap a .cs-img img {
        width: 100%;
        object-fit: cover;
        width: 100%;
        height: 100%;
        object-position: center;
        transition: 0.4s; }
    .cslist__wrap a .cs-text {
      padding: 23px; }
      @media screen and (max-width: 639px) {
        .cslist__wrap a .cs-text {
          font-size: 15px;
          padding: 20px; } }
      .cslist__wrap a .cs-text strong {
        font-size: 20px;
        display: block;
        margin: 0 0 22px 0; }
        @media screen and (max-width: 639px) {
          .cslist__wrap a .cs-text strong {
            font-size: 15px;
            margin-bottom: 15px; } }
    .cslist__wrap a:hover {
      background-color: #f7f7f7; }
      .cslist__wrap a:hover .cs-img img {
        transform: scale(1.1, 1.1); }

.sclist {
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: flex-start;
  display: flex; }
  .sclist.c4 {
    gap: 15px 4px; }
    @media screen and (max-width: 639px) {
      .sclist.c4 {
        gap: 15px 2%; } }
    .sclist.c4 img {
      width: 128px; }
      @media screen and (max-width: 639px) {
        .sclist.c4 img {
          width: 49%; } }
  .sclist.center {
    justify-content: center; }
    @media screen and (max-width: 639px) {
      .sclist.center {
        justify-content: flex-start; }
        .sclist.center.spcenter {
          justify-content: center; } }

/********************** product.css *********************/
col.w175 {
  width: 175px; }

col.w75 {
  width: 75px; }

col.w250 {
  width: 250px; }

.table_wrap table.short_table,
.table_wrap table.list_table {
  font-size: 16px; }
  @media screen and (max-width: 1024px) {
    .table_wrap table.short_table,
    .table_wrap table.list_table {
      font-size: 14px; } }

.table_wrap table.short_table {
  float: right;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  border-spacing: 0;
  empty-cells: show;
  text-align: center;
  margin-bottom: 5px;
  table-layout: fixed; }
  @media screen and (max-width: 1024px) {
    .table_wrap table.short_table {
      float: inherit;
      width: 550px; } }

.table_wrap .short_table th,
.table_wrap .short_table td {
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 2px 0; }

.table_wrap .short_table .short_name {
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  padding: 3px;
  background-color: #e6e6e6; }

.table_wrap .short_table .color_blue {
  color: #0070cb;
  text-align: center; }

.table_wrap .short_table .color_blue a:hover {
  color: #6faee3;
  text-decoration: none; }

/* メイン表 */
.table_wrap table.list_table {
  clear: both;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  border-spacing: 0;
  empty-cells: show;
  text-align: center;
  margin-bottom: 10px;
  table-layout: fixed; }

.table_wrap .list_table th,
.table_wrap .list_table td {
  border-right: 1px solid #999;
  border-bottom: 1px solid #999;
  padding: 2px 0; }

.table_wrap .list_table .list_name {
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  padding: 3px;
  background-color: #e6e6e6; }

.table_wrap .list_table .list_name img {
  margin: 5px; }

.table_wrap .list_table .list_conte {
  text-align: center;
  padding: 2px 2px;
  border: #999999; }

.table_wrap .list_table .color_blue {
  color: #0070cb;
  text-align: center; }

.table_wrap .list_table .color_blue a:hover {
  color: #6faee3;
  text-decoration: none; }

/****************nr_l.css**************/
/* table_mado */
.table_mado {
  width: 100%; }

.table_mado td {
  text-align: center;
  padding: 5px;
  border: 1px solid #000; }

.table_mado td.bg_color {
  background: #ebebd6; }

/* buhin_btn_list */
.buhin_btn_list {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap; }

.buhin_btn_list.one {
  display: block; }

.buhin_btn_list .buhin_btn {
  width: 204px;
  margin-right: 15px;
  text-align: center;
  border: 1px solid #0070cb;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding: 10px;
  display: flex;
  display: -webkit-flex;
  justify-content: center;
  -webkit-justify-content: center;
  align-items: center;
  -webkit-align-items: center; }

.buhin_btn_list .buhin_btn:last-child {
  margin-right: 0; }

.buhin_btn_list.one .buhin_btn {
  width: 688px; }

.buhin_btn_list .buhin_btn:hover {
  background: #0070cb;
  color: #fff; }

/**************↑**nr_l.css**************/
/*icon*/
.icon_detail.icon_wh {
  background-image: url(../images/icon/icon_detail_w.svg); }

.icon_info {
  background-image: url(../images/icon/icon_product-info.svg); }
  .icon_info.icon_br {
    background-image: url(../images/icon/icon_product-info_b.svg); }
  .icon_info.icon_wh {
    background-image: url(../images/icon/icon_product-info_w.svg); }

.icon_manual.icon_br {
  background-image: url(../images/icon/icon_product-manual_b.svg); }
.icon_manual.icon_wh {
  background-image: url(../images/icon/icon_product-manual_w.svg); }

.icon_cat {
  background-image: url(../images/icon/icon_product-cat.svg); }
  .icon_cat.icon_br {
    background-image: url(../images/icon/icon_product-cat_b.svg); }
  .icon_cat.icon_wh {
    background-image: url(../images/icon/icon_product-cat_w.svg); }

.icon_cad {
  background-image: url(../images/icon/icon_product-cad.svg); }
  .icon_cad.icon_br {
    background-image: url(../images/icon/icon_product-cad_b.svg); }
  .icon_cad.icon_wh {
    background-image: url(../images/icon/icon_product-cad_w.svg); }

.icon_mail {
  background-image: url(../images/icon/icon_product-mail.svg); }
  .icon_mail.icon_br {
    background-image: url(../images/icon/icon_product-mail_b.svg); }
  .icon_mail.icon_wh {
    background-image: url(../images/icon/icon_product-mail_w.svg); }

.icon_bim {
  background-image: url(../images/icon/icon_product-bim.svg); }
  .icon_bim.icon_br {
    background-image: url(../images/icon/icon_product-bim_b.svg); }
  .icon_bim.icon_wh {
    background-image: url(../images/icon/icon_product-bim_w.svg); }

.icon_color {
  background-image: url(../images/icon/icon_color.svg); }
  .icon_color.icon_br {
    background-image: url(../images/icon/icon_color_b.svg); }
  .icon_color.icon_wh {
    background-image: url(../images/icon/icon_color_w.svg); }

.icon_cad2.icon_wh {
  background-image: url(../images/icon/icon_product-cad2_w.svg); }

.icon_bim2.icon_wh {
  background-image: url(../images/icon/icon_product-bim2_w.svg); }

.block-list__button a:hover .icon_info,
.block-list__button.select a .icon_info {
  background-image: url(../images/icon/icon_product-info_w.svg) !important; }
.block-list__button a:hover .icon_manual,
.block-list__button.select a .icon_manual {
  background-image: url(../images/icon/icon_product-manual_w.svg) !important; }
.block-list__button a:hover .icon_cat,
.block-list__button.select a .icon_cat {
  background-image: url(../images/icon/icon_product-cat_w.svg) !important; }
.block-list__button a:hover .icon_color,
.block-list__button.select a .icon_color {
  background-image: url(../images/icon/icon_color_w.svg) !important; }
.block-list__button a:hover .icon_cad,
.block-list__button.select a .icon_cad {
  background-image: url(../images/icon/icon_product-cad_w.svg) !important; }
.block-list__button a:hover .icon_mail,
.block-list__button.select a .icon_mail {
  background-image: url(../images/icon/icon_product-mail_w.svg) !important; }
.block-list__button a:hover .icon_bim,
.block-list__button.select a .icon_bim {
  background-image: url(../images/icon/icon_product-bim_w.svg) !important; }

.product-scr__menu a:hover .icon_info,
.product-scr__menu a.select .icon_info {
  background-image: url(../images/icon/icon_product-info_w.svg) !important; }
.product-scr__menu a:hover .icon_cad,
.product-scr__menu a.select .icon_cad {
  background-image: url(../images/icon/icon_product-cad_w.svg) !important; }
.product-scr__menu a:hover .icon_cat,
.product-scr__menu a.select .icon_cat {
  background-image: url(../images/icon/icon_product-cat_w.svg) !important; }
.product-scr__menu a:hover .icon_color,
.product-scr__menu a.select .icon_color {
  background-image: url(../images/icon/icon_color_w.svg) !important; }
.product-scr__menu a:hover .icon_bim,
.product-scr__menu a.select .icon_bim {
  background-image: url(../images/icon/icon_product-bim_w.svg) !important; }
.product-scr__menu a:hover .icon_mail,
.product-scr__menu a.select .icon_mail {
  background-image: url(../images/icon/icon_product-mail_w.svg) !important; }

.icon_bl {
  background-image: url(../images/icon/icon_bl.gif); }

.techpdf_icon {
  width: 13px;
  display: inline-block;
  margin-right: 8px;
  background-image: url(/common/images/pdficon_small.gif); }

.mb50 {
  margin-bottom: 50px; }

.mb40 {
  margin-bottom: 40px; }

.mb30 {
  margin-bottom: 30px; }

.mb20 {
  margin-bottom: 20px; }

.mb25 {
  margin-bottom: 25px; }

.mt20 {
  margin-top: 20px; }

.mt30 {
  margin-top: 30px; }

.mt40 {
  margin-top: 40px; }

.mt50 {
  margin-top: 50px; }

.fs24 {
  font-size: 24px; }
  @media screen and (max-width: 639px) {
    .fs24 {
      font-size: 18px; } }

.fs32 {
  font-size: 32px; }
  @media screen and (max-width: 639px) {
    .fs32 {
      font-size: 20px; } }

.align-right {
  text-align: right; }

.align-center {
  text-align: center; }
