@charset "UTF-8";
html {
  font-size: 10px;
}

body,
td,
th,
input,
textarea {
  color: #000000;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
  font-size: 1.3rem;
  line-height: 1.5;
}

body {
  overflow-wrap: break-word;
}

a,
a:link,
a:visited,
a:active,
a:hover,
a:hover img {
  color: #000000;
  text-decoration: none;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
ol,
li,
dl,
dt,
dd,
img,
figure,
nav {
  margin: 0;
  padding: 0;
}

ul,
ol,
li {
  list-style: none;
}

* {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
  word-break: break-word;
}

*::before, *::after {
  -moz-box-sizing: border-box;
       box-sizing: border-box;
}

@font-face {
  font-family: "akrobat_regular";
  src: url("../fonts/Akrobat-Regular.woff");
  font-weight: normal;
}

@font-face {
  font-family: 'Akrobat Bold';
  src: url("../fonts/Akrobat-Bold.woff");
  font-weight: normal;
  font-style: normal;
}

@-webkit-keyframes trigger {
  0% {
    background: transparent;
  }
  100% {
    background: #fff;
  }
}

@-moz-keyframes trigger {
  0% {
    background: transparent;
  }
  100% {
    background: #fff;
  }
}

@keyframes trigger {
  0% {
    background: transparent;
  }
  100% {
    background: #fff;
  }
}

@-webkit-keyframes trigger_01 {
  0% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  50% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: -2.08333vw;
    background: #fff;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

@-moz-keyframes trigger_01 {
  0% {
    top: 0;
    background: #fff;
    -moz-transform: rotate(45deg);
         transform: rotate(45deg);
  }
  50% {
    top: 0;
    background: #fff;
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
  100% {
    top: -2.08333vw;
    background: #fff;
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
}

@keyframes trigger_01 {
  0% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  50% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: -2.08333vw;
    background: #fff;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
            transform: rotate(0);
  }
}

@-webkit-keyframes trigger_02 {
  0% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  50% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 2.08333vw;
    background: #fff;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
}

@-moz-keyframes trigger_02 {
  0% {
    top: 0;
    background: #fff;
    -moz-transform: rotate(-45deg);
         transform: rotate(-45deg);
  }
  50% {
    top: 0;
    background: #fff;
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
  100% {
    top: 2.08333vw;
    background: #fff;
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
}

@keyframes trigger_02 {
  0% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  50% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 2.08333vw;
    background: #fff;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
            transform: rotate(0);
  }
}

@-webkit-keyframes trigger_at {
  0% {
    background: #fff;
  }
  100% {
    background: transparent;
  }
}

@-moz-keyframes trigger_at {
  0% {
    background: #fff;
  }
  100% {
    background: transparent;
  }
}

@keyframes trigger_at {
  0% {
    background: #fff;
  }
  100% {
    background: transparent;
  }
}

@-webkit-keyframes trigger_at_01 {
  0% {
    top: -2.08333vw;
    background: #fff;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}

@-moz-keyframes trigger_at_01 {
  0% {
    top: -2.08333vw;
    background: #fff;
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
  50% {
    top: 0;
    background: #fff;
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
  100% {
    top: 0;
    background: #fff;
    -moz-transform: rotate(45deg);
         transform: rotate(45deg);
  }
}

@keyframes trigger_at_01 {
  0% {
    top: -2.08333vw;
    background: #fff;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}

@-webkit-keyframes trigger_at_02 {
  0% {
    top: 2.08333vw;
    background: #fff;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@-moz-keyframes trigger_at_02 {
  0% {
    top: 2.08333vw;
    background: #fff;
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
  50% {
    top: 0;
    background: #fff;
    -moz-transform: rotate(0);
         transform: rotate(0);
  }
  100% {
    top: 0;
    background: #fff;
    -moz-transform: rotate(-45deg);
         transform: rotate(-45deg);
  }
}

@keyframes trigger_at_02 {
  0% {
    top: 2.08333vw;
    background: #fff;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
            transform: rotate(0);
  }
  50% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    top: 0;
    background: #fff;
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@media screen and (min-width: 769px), print {
  .show_sp {
    display: none !important;
  }
  .container {
    overflow: hidden;
    min-width: 1200px;
  }
  .row {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
  }
  a[href^=tel] {
    pointer-events: none;
    text-decoration: none;
    display: block;
  }
  .ttl {
    background: #f2f2f2;
    min-height: 155px;
    margin-bottom: 21px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .ttl .mv {
    position: absolute;
    top: 0;
    right: 0;
  }
  .ttl__wrapper {
    position: relative;
    top: 60px;
  }
  .ttl__dsc {
    font-size: 1.8rem;
    color: #404040;
    letter-spacing: 2px;
  }
  .ttl__tt em {
    font-size: 3.2rem;
    line-height: 1;
    font-weight: 400;
    color: #e20c0c;
    letter-spacing: 1px;
    font-weight: bold;
    font-style: normal;
    vertical-align: middle;
  }
  .ttl__tt em small {
    font-size: 2.6rem;
  }
  .ttl__tt em sub {
    vertical-align: middle;
  }
  .ttl__tt sub {
    font-size: 90%;
    font-weight: 400;
    bottom: -0.2em;
  }
  .ttl__tt .ttl__tag {
    font-size: 1.4rem;
    line-height: 1;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    color: #737373;
    padding: 10px 12px;
    border: 1px solid #e20c0c;
    margin-left: 11px;
  }
  .ttl__tt .ttl__tag + .ttl__tag {
    margin-left: 2px;
  }
  .ttl__tt .ttl__tag--red {
    background: #e20c0c;
    color: #fff;
  }
  .ttl__tt .ttl__tag--white {
    background: #fff;
  }
  .ttl__stt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    color: #404040;
  }
  .ttl__tag2 {
    margin-top: 15px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ttl__tag2 ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ttl__tag2 ul li {
    background: #457fbd;
    color: #fff;
    font-size: 1.2rem;
    line-height: 26px;
    text-align: center;
    margin-right: 12px;
    padding: 0 12px;
  }
  .ttl__tag2 ul li:last-of-type {
    margin-right: 54px;
  }
  .ttl__tag2 a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    border: solid 1px #e20c0c;
    color: #e20c0c;
    line-height: 26px;
    padding: 0 32px 0 7px;
    position: relative;
  }
  .ttl__tag2 a::before {
    content: "";
    position: absolute;
    width: 26px;
    height: 26px;
    background: #e20c0c;
    top: 0;
    right: 0;
  }
  .ttl__tag2 a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 8px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 7px solid #fff;
  }
  .ttl__tag2 a.inactive {
    border-color: #9d9d9d;
    color: #9d9d9d;
    pointer-events: none;
  }
  .ttl__tag2 a.inactive:before {
    background-color: #9d9d9d;
  }
  .breadcrumb {
    margin-bottom: 43px;
  }
  .breadcrumb__list {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding-left: 4px;
  }
  .breadcrumb__list li {
    font-size: 1.2rem;
    line-height: 1;
    display: inline;
    letter-spacing: 1px;
    position: relative;
    vertical-align: middle;
    font-weight: bold;
  }
  .breadcrumb__list li a {
    font-size: 1.2rem;
    line-height: 1;
    color: #8a8a8a;
    letter-spacing: 1px;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .breadcrumb__list li a:hover {
    opacity: .8;
  }
  .breadcrumb__list li:not(:last-child) {
    margin-right: 35px;
  }
  .breadcrumb__list li:not(:last-child):after {
    content: "";
    width: 17px;
    height: 1px;
    background: #000;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -28px;
    margin: auto;
  }
  .tt-01 {
    padding: 11px 15px;
    background: #f2f2f2;
    margin-bottom: 26px;
  }
  .tt-01 span {
    font-size: 2.2rem;
    line-height: 1.3;
    color: #404040;
    display: block;
    background: #f2f2f2;
    border-left: 3px solid #e20c0c;
    padding: 6.5px 18px;
  }
  .tt-01 strong {
    font-weight: inherit;
    color: #e20c0c;
  }
  .tt-02 {
    font-size: 2.4rem;
    line-height: 32px;
    color: #404040;
    font-weight: 400;
    position: relative;
    letter-spacing: -1px;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 6px 0 12px 165px;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transform: translateZ(0);
       -moz-transform: translateZ(0);
            transform: translateZ(0);
  }
  .tt-02:after {
    content: "";
    width: 100%;
    height: 3px;
    background: #e20c0c;
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
  }
  .tt-02 span {
    width: 151px;
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    padding: 0 31px;
    text-align: center;
    letter-spacing: 1px;
    margin-right: 15px;
    position: absolute;
    left: 0;
    top: 0;
  }
  .tt-02 span:before {
    content: "";
    width: 201px;
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #e20c0c;
    position: absolute;
    top: 0;
    left: -60px;
    text-align: center;
    -webkit-transform: skew(22deg);
       -moz-transform: skew(22deg);
        -ms-transform: skew(22deg);
            transform: skew(22deg);
    z-index: -1;
  }
  .tt-02 small {
    font-size: 1.4rem;
    line-height: 1;
    margin-left: 10px;
  }
  .tt-03 {
    font-size: 1.8rem;
    line-height: 1;
    color: #e20c0c;
    border-bottom: 3px solid #e20c0c;
    padding-bottom: 13px;
    padding-left: 6px;
    margin-bottom: 19px;
  }
  .tt-04 {
    font-size: 2rem;
    line-height: 1;
    padding-left: 27px;
    margin-bottom: 15px;
    font-weight: bold;
    color: #404040;
    position: relative;
  }
  .tt-04:before {
    content: "";
    width: 16px;
    height: 2px;
    background: #e20c0c;
    position: absolute;
    top: 9px;
    left: 0;
  }
  .group {
    counter-reset: number;
  }
  .group .tt-02 span:after {
    counter-increment: number;
    content: counter(number);
  }
  .group__box + .group__box {
    margin-top: 100px;
  }
  .group__box p {
    font-size: 1.6rem;
    line-height: 26px;
    color: #404040;
  }
  .group__box p + p {
    margin-top: 30px;
  }
  .group__box p span {
    color: #e20c0c;
  }
  .group__box p.notes {
    font-size: 1.3rem;
    line-height: 21px;
    color: #404040;
    text-indent: -14px;
    margin-left: 14px;
    letter-spacing: .8px;
  }
  .group__box p.notes span {
    color: #404040;
  }
  .group__box p.notes--big {
    font-size: 1.4rem;
    line-height: 1.4;
    padding-left: 0;
    color: #404040;
  }
  .group__box p.notes--big span {
    color: #404040;
  }
  .group__box .group__inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .group__box .group__inner .group__ct {
    width: -webkit-calc(100% - 300px);
    width: -moz-calc(100% - 300px);
    width: calc(100% - 300px);
    padding-right: 56px;
    padding-top: 2px;
  }
  .group__box .group__inner .group__ct h4 {
    font-size: 2.4rem;
    line-height: 30px;
    color: #e20c0c;
    font-weight: 400;
    margin-bottom: 20px;
  }
  .group__box .group__inner .group__ct h5 {
    font-size: 1.8rem;
    line-height: 30px;
    color: #e20c0c;
    margin: 20px 0 5px;
  }
  .group__box .group__inner .group__ct .notes {
    font-size: 1.4rem;
    line-height: 26px;
    padding-left: 0;
    color: #404040;
  }
  .group__box .group__inner .group__ct .notes span {
    color: #404040;
  }
  .group__box .group__inner .group__ct .group__btn {
    border: 1px solid #e20c0c;
    color: #e20c0c;
    font-size: 1.4rem;
    line-height: 1;
    padding: 5.5px 10px;
    margin-top: 15px;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    top: -2px;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .group__box .group__inner .group__ct .group__btn:before {
    content: "";
    width: 6px;
    height: 9px;
    display: block;
    background: url("../images/arr_right_red.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    margin-right: 5px;
  }
  .group__box .group__inner .group__ct .group__btn:hover {
    opacity: .7;
  }
  .group__box .group__inner .group__img {
    width: 300px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .group__box .group__inner .group__img figure + figure {
    margin-left: 10px;
  }
  .group__box .group__inner .group__img figure img {
    width: 100%;
    height: auto;
  }
  .group__box .group__inner .group__img figure figcaption {
    font-size: 1.4rem;
    line-height: 1.5;
    color: #404040;
    margin-top: 7px;
  }
  .group__box .group__inner .group__img .link_media figure {
    position: relative;
  }
  .group__box .group__inner .group__img .link_media figure:before {
    content: '';
    width: 55px;
    height: 55px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background: url("../images/ic_play.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .group__box .group__inner--grimg .group__ct {
    width: -webkit-calc(100% - 494px);
    width: -moz-calc(100% - 494px);
    width: calc(100% - 494px);
    padding-right: 56px;
  }
  .group__box .group__inner--grimg .group__img {
    width: 494px;
    -webkit-box-pack: end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .group__box .block_box h5 {
    font-size: 1.8rem;
    line-height: 30px;
    color: #e20c0c;
    margin: 20px 0 5px;
  }
  .group__box .block_box .videos {
    margin-top: 60px;
    padding: 0 67px;
  }
  .group__box .block_box .videos iframe {
    height: 400px;
    width: 100%;
  }
  .group__imgfull {
    margin-top: 30px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .list--none {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0 15px;
  }
  .list--none li {
    width: 33.333%;
    font-size: 1.6rem;
    line-height: 36px;
    position: relative;
    padding-left: 17px;
    padding-right: 10px;
    margin-bottom: 6px;
    color: #404040;
  }
  .list--none li:before {
    content: '・';
    position: absolute;
    top: 2px;
    left: 0;
  }
  .list--none.list--col4 li {
    width: 25%;
  }
  .list--border {
    margin-bottom: 17px;
  }
  .list--border li {
    font-size: 1.6rem;
    line-height: 36px;
    position: relative;
    padding-left: 20px;
    color: #404040;
    letter-spacing: 1px;
  }
  .list--border li + li {
    border-top: 1px dotted #7f7f7f;
  }
  .list--border li a {
    border: 1px solid #e20c0c;
    color: #e20c0c;
    font-size: 1.4rem;
    line-height: 1;
    padding: 5.5px 10px;
    margin-left: 14px;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    top: -2px;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .list--border li a:before {
    content: "";
    width: 6px;
    height: 9px;
    display: block;
    background: url("../images/arr_right_red.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    margin-right: 5px;
  }
  .list--border li a:hover {
    opacity: .7;
  }
  .list--border li:before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0;
  }
  .list--border li.nodot:before {
    display: none;
  }
  .list--dot li {
    font-size: 1.6rem;
    line-height: 26px;
    position: relative;
    padding-left: 20px;
    color: #404040;
    letter-spacing: 1px;
  }
  .list--dot li:before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0;
  }
  .list--red li {
    color: #e20c0c;
  }
  .notes {
    font-size: 1.3rem;
    line-height: 21px;
    color: #404040;
    text-indent: -14px;
    margin-left: 14px;
    letter-spacing: .8px;
  }
  .notes--big {
    font-size: 1.4rem;
    line-height: 1.4;
    padding-left: 0;
    color: #404040;
  }
  .notes--big span {
    color: #404040;
  }
  .gallery {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -11px;
    margin-right: -11px;
    margin-bottom: 56px;
  }
  .gallery li {
    width: 268px;
    margin: 0 11px;
  }
  .gallery li a {
    display: block;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .gallery li a figure img {
    height: auto;
    width: 100%;
  }
  .gallery li a figure figcaption {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-top: 18px;
    display: block;
    padding-left: 17px;
    position: relative;
  }
  .gallery li a figure figcaption:before {
    content: "";
    width: 7px;
    height: 12px;
    background: url("../images/arr_right_red.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    top: 4px;
    left: 0;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
  }
  .gallery li a:hover {
    opacity: .7;
  }
  .gallery li a:hover figure figcaption:before {
    -webkit-transform: translateX(3px);
       -moz-transform: translateX(3px);
        -ms-transform: translateX(3px);
            transform: translateX(3px);
  }
  #case_data .gallery {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 0 56px;
  }
  #case_data .gallery li {
    margin: 0 0 0 22px;
  }
  #case_data .gallery li:nth-of-type(3n + 1) {
    margin-left: 0;
  }
  #case_data .gallery li:nth-of-type(n + 4) {
    margin-top: 22px;
  }
  .gallery2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: -11px;
    margin-right: -11px;
    margin-bottom: 56px;
  }
  .gallery2 li {
    width: 268px;
    margin: 0 11px;
  }
  .gallery2 li a {
    display: block;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .gallery2 li a figure img {
    height: auto;
    width: 100%;
  }
  .gallery2 li a figure figcaption {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-top: 18px;
    display: block;
    padding-left: 17px;
    position: relative;
  }
  .gallery2 li a figure figcaption:before {
    content: "";
    width: 7px;
    height: 12px;
    background: url("../images/arr_right_red.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    top: 4px;
    left: 0;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
  }
  .gallery2 li a:hover {
    opacity: .7;
  }
  .gallery2 li a:hover figure figcaption:before {
    -webkit-transform: translateX(3px);
       -moz-transform: translateX(3px);
        -ms-transform: translateX(3px);
            transform: translateX(3px);
  }
  .lstNews li {
    padding: 16px 0;
    border-bottom: 1px solid #e9e9e9;
  }
  .lstNews li a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s;
  }
  .lstNews li a:hover {
    opacity: .8;
  }
  .lstNews time {
    width: 98px;
    font-size: 1.4rem;
    line-height: 22px;
    color: #a4a4a4;
    letter-spacing: .3px;
    padding-left: 5px;
  }
  .lstNews .tag {
    width: 93px;
    text-align: center;
  }
  .lstNews .tag span {
    display: block;
    width: 100%;
    height: 21px;
    font-size: 1.2rem;
    line-height: 22px;
    color: #fff;
    padding-right: 5px;
  }
  .lstNews .tag span + span {
    margin-top: 5px;
  }
  .lstNews .tag-gray {
    background: #9e9e9e;
  }
  .lstNews .tag-red {
    background: #e20c0c;
  }
  .lstNews p {
    width: -webkit-calc(100% - 191px);
    width: -moz-calc(100% - 191px);
    width: calc(100% - 191px);
    font-size: 1.6rem;
    line-height: 24px;
    letter-spacing: .5px;
    padding-left: 15px;
  }
  .header {
    border-bottom: 1px solid #ececec;
    position: relative;
    background: #fff;
    -webkit-transition: box-shadow .25s ease, -webkit-transform .25s ease;
       -moz-transition: box-shadow .25s ease, transform .25s ease;
            transition: box-shadow .25s ease, transform .25s ease;
  }
  .header.is-sticky {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1500;
    height: auto;
    padding-top: 20px;
    /* -webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); */
            /* box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); */
    -webkit-transform: translateY(-12px);
            transform: translateY(-12px);
  }
  .header.is-sticky .header-top,
  .header.is-sticky #fix_bnr {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    pointer-events: none;
  }
  .header.is-sticky.is-visible {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .header.is-sticky ~ main .ttl {
    margin-top: var(--header-offset, 111px); /* 好きな値に調整可 */
  }
  .page-nav {
    position: relative;
    z-index: 1100;
    -webkit-transition: box-shadow .28s ease, opacity .24s ease;
       -moz-transition: box-shadow .28s ease, opacity .24s ease;
            transition: box-shadow .28s ease, opacity .24s ease;
    will-change: opacity;
  }
  .page-nav.is-sticky {
    position: fixed;
    left: 0;
    right: 0;
    top: var(--page-nav-offset, 66px); /* 固定位置を明示（JSと揃える） */
    z-index: 120;
    background: #fff;
    /* -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05); */
            /* box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05); */
    opacity: 1;
            margin: 0 auto;
  }
  .page-nav.is-sticky.is-enter {
    opacity: 0.05;
  }
  .page-nav.is-sticky.is-visible {
    opacity: 1;
  }
  .page-nav__spacer {
    display: none;
  }
  .page-nav.is-sticky + .page-nav__spacer {
    display: block;
  }
  .header-top {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 32px 0 23px;
    max-height: 200px;
    overflow: hidden;
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: padding .2s ease, opacity .25s ease, -webkit-transform .25s ease, max-height .25s ease;
       -moz-transition: padding .2s ease, opacity .25s ease, transform .25s ease, max-height .25s ease;
            transition: padding .2s ease, opacity .25s ease, transform .25s ease, max-height .25s ease;
  }
  .header.is-sticky .header-top {
    padding: 0;
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    pointer-events: none;
  }
  .header-top .logo {
    width: 174px;
    margin-left: 2px;
    -webkit-transition: width .2s ease;
       -moz-transition: width .2s ease;
            transition: width .2s ease;
  }
  .header.is-sticky .header-top .logo {
    width: 150px;
  }
  .header-top .logo a {
    display: block;
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s;
  }
  .header-top .logo a:hover {
    opacity: .7;
  }
  .header-top .logo a img {
    display: block;
  }
  .header-top .hdContact {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 4px;
  }
  .header-top .hdContact .profile {
    position: relative;
    font-size: 1.4rem;
    line-height: 24px;
    color: #716d6d;
    margin-right: 36px;
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s;
    border: 1px solid #999;
    padding: 3px 38px 3px 16px;
  }
  .header-top .hdContact .profile:hover {
    opacity: .7;
  }
  .header-top .hdContact .profile::after {
    content: "";
    width: 12px;
    height: 12px;
    background: url("../images/icon_blank.png") no-repeat;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
  }
  .header-top .hdContact .tel_wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 7px;
  }
  .header-top .hdContact .tel_wrap:first-of-type {
    position: relative;
    padding-left: 33px;
  }
  .header-top .hdContact .tel_wrap:first-of-type::before {
    content: "";
    background: url(../images/hd_phone_pc.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 28px;
    height: 28px;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    position: absolute;
  }
  .header-top .hdContact .tel_wrap:last-of-type .tel {
    border-right: 1px solid #dedede;
    padding: 0 16px 0 0;
  }
  .header-top .hdContact .tel_wrap span {
    display: block;
    height: 2em;
    width: 1.5em;
    color: #e20c0c;
    font-size: 1.2rem;
    margin-right: 4px;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
  }
  .header-top .hdContact .tel_wrap .tel {
    display: block;
    padding: 0 6px 0 0;
  }
  .header-top .hdContact .tel_wrap .tel img {
    display: block;
  }
  .header-top .hdContact p {
    font-size: 1.2rem;
    line-height: 15px;
    color: #716d6d;
    margin: 3px 12px 0;
  }
  .header-top .hdContact .btContact {
    display: block;
    width: 127px;
    height: 38px;
    font-weight: bold;
    font-size: 1.4rem;
    line-height: 38px;
    color: #fff;
    background: #e20c0c;
    padding: 0 16px;
    position: relative;
    -webkit-perspective: 1px;
       -moz-perspective: 1px;
            perspective: 1px;
  }
  .header-top .hdContact .btContact::after {
    content: "";
    display: block;
    width: 6px;
    height: 10px;
    background: url("../images/arrow_sm.png") no-repeat;
    margin: auto;
    position: absolute;
    right: 9px;
    top: 0;
    bottom: 0;
  }
  .header-top .hdContact .btContact::before {
    content: "";
    width: 0%;
    height: 100%;
    background: #000;
    position: absolute;
    right: 0;
    top: 0;
    left: inherit;
    z-index: -1;
    -webkit-transition: width .3s;
    -moz-transition: width .3s;
    transition: width .3s;
  }
  .header-top .hdContact .btContact:hover::before {
    width: 100%;
    left: 0;
  }
  .header .menu {
    padding-bottom: 15px;
    position: relative;
  }
  .header .menu ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    border-left: 1px solid #e0e0e0;
    border-right: 1px solid #e0e0e0;
  }
  .header .menu ul li {
    -webkit-box-flex: 1;
       -moz-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
  }
  .header .menu ul li:not(:first-of-type) {
    border-left: 1px solid #e0e0e0;
  }
  .header .menu > ul > li > a:hover::after,
  .header .menu > ul > li > a:focus::after,
  .header .menu > ul > li.sub:hover > a::after,
  .header .menu > ul > li.sub:focus-within > a::after,
  .header .menu > ul > li.active > a::after {
    left: 0;
    right: 0;
  }
  .header .menu ul li a {
    display: block;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 20px;
    padding: 10px 0;
    text-align: center;
    position: relative;
    z-index: 60;
    -webkit-perspective: 1px;
       -moz-perspective: 1px;
            perspective: 1px;
  }
  .header.is-sticky .menu ul li a{
    padding: 5px 0;
  }
  .header .menu ul li a::after {
    content: "";
    position: absolute;
    z-index: 59;
    left: 51%;
    right: 51%;
    bottom: -16px;
    background: #e20c0c;
    height: 3px;
    -webkit-transition-property: left, right;
    -moz-transition-property: left, right;
    transition-property: left, right;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
         transition-duration: 0.3s;
    -webkit-transition-timing-function: ease-out;
       -moz-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
  }
  .header .menu .download-menu {
    position: relative;
  }
  .header .menu .download-menu__sub {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 30px 10px 16px;
    z-index: 50;
    background: #fff;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(6px);
            transform: translateY(6px);
    -webkit-transition: opacity .25s ease, -webkit-transform .25s ease, visibility .25s ease;
    -moz-transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    pointer-events: none;
  }
  .header .menu .download-menu__sub li{
    width: 100%;
  }
  .header .menu .download-menu__sub li .btn{
    padding: 17px;
    background: #e20c0c;
    color: #fff;
    text-align: center;
    position: relative;
    width: 100%;
    font-size: 14px;
    transition: .3s;
    /* margin-top: 16px; */
  }
  .header .menu .download-menu__sub li .btn:hover{
    opacity: .7;
  }
  .header .menu .download-menu__sub li .btn.btn_dl{
    background: #3E78CF;
    margin-top: 8px;
  }
  .header .menu .download-menu__sub li .btn::after{
    content: '';
    width: 8px;
    height: 12px;
    background: url(../images/arr_right.png) 0 / contain no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 16px;
    left: auto;
  }
  .header .menu .download-menu.is-open .download-menu__sub {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    pointer-events: auto;
  }
  /* desktop mega menu (separate from sp accordion)メガメニュー */
  .header .menu > ul > li.sub {
    position: static;
  }
  .header .menu > ul > li.sub .mega-menu {
    display: block;
    width: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 102%;
    background: #fff;
    /* padding: 24px 30px 28px; */
    -webkit-box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(6px);
            transform: translateY(6px);
    -webkit-transition: opacity .25s ease, -webkit-transform .25s ease, visibility .25s ease;
    -moz-transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
    pointer-events: none;
  }
  /* hover buffer to avoid gap when moving cursor */
  .header .menu > ul > li.sub .mega-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -15px;
    height: 15px; /* match menu padding-bottom to keep hover on gap */
    background: transparent;
  }
  .header .menu > ul > li.sub:hover .mega-menu, .header .menu > ul > li.sub:focus-within .mega-menu, .header .menu > ul > li.sub .mega-menu:hover {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    pointer-events: auto;
  }
  .mega-menu .mega-menu__inner {
    /* max-width: 1100px; */
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-left: #e0e0e0 1px solid;
  }
  .menu .mega-menu .mega-menu__inner li:not(:first-of-type){
    border: none;
  }
  .menu .mega-menu .mega-menu__inner li a{
    padding: 0;
    transition: .3s;
  }
  .menu .mega-menu .mega-menu__inner .bg_ttl a{
    display: block;
    width: fit-content;
    padding: 5px 12px 5px 22px;
  }
  .menu .mega-menu .mega-menu__inner .linkbox li a{
     content: none;
    padding: 0;
   }
  .mega-menu__inner .mega_item{
    display: flex;
    border-bottom: #e0e0e0 1px solid;
  }
  .mega_item .bg_ttl{
    background: url(../images/mega_01.png) 0 / cover no-repeat;
    padding: 20px 0;
    font-size: 15px;
    font-weight: 600;
    flex: 1;
  }
  .mega_item.horizon .bg_ttl{
    background-image: url(../images/mega_02.png);
  }
  .mega_item.metal .bg_ttl{
    background-image: url(../images/mega_03.png);
  }
  .mega_item.dannetsu .bg_ttl{
    background-image: url(../images/mega_04.png);
  }
  .mega_item.solar .bg_ttl{
    background-image: url(../images/mega_05.png);
  }
  .mega_item.kanki .bg_ttl{
    background-image: url(../images/mega_06.png);
  }
  .mega_item.toi .bg_ttl{
    background-image: url(../images/mega_07.png);
  }
  .mega_item {
    height: 160px;
  }
  .mega_item.vertical,.mega_item.horizon,.mega_item.metal{
    height: 200px;
  }
  .mega-menu .mega_item .bg_ttl a{
    padding: 2px 8px 1px 20px;
    background: #fff;
    width: fit-content;
    text-align: left;
    position: relative;
    
  }
  .mega_item .bg_ttl a::before{
    content: '';
    width: 2px;
    height: 70%;
    background: #E20C0C;
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translateY(-50%);
  }
  .linkbox{
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 7px;
    flex: 1;
    padding: 20px 18px;
  }
  .menu .mega-menu .mega-menu__inner .mega_item li{
   -webkit-box-flex: 0; /* or: initial */
  flex: 0 0 auto;      /* プレフィックス無しもセットで上書き */
  }
  .menu .mega-menu .mega-menu__inner .mega_item li a{
    font-size: 14px;
    font-weight: 500;
    color: #444;
  }
  .menu .mega-menu .mega-menu__inner .linkbox a:hover {
    color: #e20c0c;
    /* text-decoration: underline; */
  }
  /* desktop mega menu (separate from sp accordion)メガメニューここまで */
  .fix_bnr {
    background: #fff;
    position: fixed;
    width: 330px;
    bottom: 240px;
    right: 0;
    visibility: hidden;
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    -webkit-transition: opacity .25s ease, -webkit-transform .25s ease;
       -moz-transition: opacity .25s ease, transform .25s ease;
            transition: opacity .25s ease, transform .25s ease;
    z-index: 100;
  }
  .fix_bnr a {
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
  }
  .fix_bnr a:hover {
    opacity: 0.9;
  }
  .fix_bnr a img {
    width: 459px;
    height: auto;
  }
  .fix_bnr .fix_bnr01, .fix_bnr .fix_bnr02, .fix_bnr .fix_bnr03 {
    display: none;
  }
  .fix_bnr .fix_close_btn {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 5;
  }
  .fix_bnr .fix_bnr01.active, .fix_bnr .fix_bnr02.active, .fix_bnr .fix_bnr03.active {
    display: block;
    z-index: 1;
  }
  .footer-top {
    background: #f2f2f2;
    padding: 30px 0 34px;
  }
  .footer-top .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    padding: 30px 35px 23px;
  }
  .footer-top p {
    font-weight: bold;
    font-size: 2.179rem;
    line-height: 34.67px;
    color: #e20c0c;
  }
  .footer-top .tel_wrap {
    padding-left: 54px;
    margin-left: 24px;
    position: relative;
  }
  .footer-top .tel_wrap::before {
    position: absolute;
    content: "";
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    background: url(../images/hd_phone_pc.png) no-repeat;
    width: 53px;
    height: 53px;
  }
  .footer-top .tel_wrap .tel_inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .footer-top .tel_wrap .tel_inner .tel {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 10px;
  }
  .footer-top .tel_wrap .tel_inner .tel span {
    color: #e20c0c;
    font-size: 1.2rem;
    margin-right: 2px;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
  }
  .footer-top .tel_wrap .tel_inner .tel a {
    display: block;
    width: 166px;
  }
  .footer-top .tel_wrap > span {
    margin-top: 6px;
    margin-left: 5px;
    display: block;
  }
  .footer-top a.btn {
    width: 307px;
    margin-left: 26px;
    text-align: center;
  }
  .footer-top a.btn span {
    letter-spacing: .5px;
  }
  .footer-sponsor {
    background-color: #fff;
    width: 100%;
    height: auto;
    padding: 24px 0;
  }
  .footer-sponsor .sponsor {
    width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
  }
  .footer-sponsor .sponsor__list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 -24px -24px 0;
  }
  .footer-sponsor .sponsor__list li {
    width: 172px;
    height: auto;
    margin: 0 24px 24px 0;
  }
  .footer-sponsor .sponsor__list a {
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s;
  }
  .footer-sponsor .sponsor__list a:hover {
    opacity: .8;
  }
  .footer-menu {
    border-top: 1px solid #d6d6d6;
    border-bottom: 1px solid #dedede;
    padding: 55px 0 60px;
  }
  .footer-menu .row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
  }
  .footer-menu .box dl dt {
    border-bottom: 1px dotted #474747;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 24px;
    padding-bottom: 4px;
    margin-bottom: 8px;
  }
  .footer-menu .box dl dd ul li a {
    font-size: 1.3rem;
    line-height: 28px;
  }
  .footer-menu .box dl a {
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s;
  }
  .footer-menu .box dl a:hover {
    opacity: .7;
  }
  .footer-menu .box {
    flex-basis: 20%;
  }
  .footer-menu .box-one {
    /* width: 200px; */
    margin-right: 40px;
  }
  .footer-menu .box-one dl:not(:last-of-type) {
    margin-bottom: 23px;
  }
  .footer-menu .box-one dl dt {
    margin-bottom: 4px;
  }
  .footer-menu .box-two {
    /* width: 200px; */
    margin-right: 30px;
  }
  .footer-menu .box-three {
    /* width: 286px; */
    margin-right: 28px;
  }
  .footer-menu .box-four {
    /* width: 265px; */
    margin-right: 35px;
  }
  .footer-menu .box-five {
    /* width: 183px; */
  }
  .footer-menu .box-five dl:not(:last-of-type) {
    margin-bottom: 23px;
  }
  .footer-bot {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 22px 0 38px;
  }
  .footer-bot .lf {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 6px;
    margin-left: -3px;
  }
  .footer-bot .lf .ftLogo {
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s;
  }
  .footer-bot .lf .ftLogo:hover {
    opacity: .7;
  }
  .footer-bot .lf .ftLogo img {
    display: block;
    width: 131px;
    margin-bottom: 5px;
  }
  .footer-bot .lf .ftLogo span {
    font-size: 1.4rem;
    line-height: 20px;
    color: #666;
    letter-spacing: 1px;
  }
  .footer-bot .lf p {
    font-size: 1.4rem;
    line-height: 22px;
    color: #666;
    letter-spacing: 1.2px;
    border-left: 1px solid #d9d9d9;
    padding: 4px 32px;
    margin-left: 37px;
  }
  .footer-bot .lf p span {
    display: block;
    margin-left: 2px;
  }
  .footer-bot .rg {
    padding: 0 12px;
  }
  .footer-bot .rg ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: end;
       -moz-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .footer-bot .rg ul li:not(:last-of-type) {
    margin-right: 42px;
  }
  .footer-bot .rg ul li a {
    display: block;
    font-size: 1.4rem;
    line-height: 24px;
    color: #716d6d;
    position: relative;
    -webkit-transition: opacity .3s;
    -moz-transition: opacity .3s;
    transition: opacity .3s;
  }
  .footer-bot .rg ul li a::before {
    content: "";
    width: 6px;
    height: 10px;
    background: url("../images/arrow_ft.png") no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    left: -12px;
    top: 6px;
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    -moz-transition: transform .3s, -moz-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s, -moz-transform .3s;
  }
  .footer-bot .rg ul li a:hover {
    opacity: .7;
  }
  .footer-bot .rg ul li a:hover::before {
    -webkit-transform: translateX(3px);
       -moz-transform: translateX(3px);
        -ms-transform: translateX(3px);
            transform: translateX(3px);
  }
  .footer-bot .rg p {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 36px;
    color: #716d6d;
    letter-spacing: .6px;
    text-align: right;
    margin-right: -3px;
  }
  .product_cont {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-align: start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .product_cont .aside_blank {
    display: inline-block;
    position: relative;
  }
  .product_cont .aside_blank a {
    display: inline-block;
  }
  .product_cont .aside_blank a:before {
    content: "";
    position: absolute;
    background: url(../images/icon_blank.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    top: 50%;
    right: -24px;
    width: 12px;
    height: 12px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .product_cont .productMain {
    width: 850px;
    margin-right: 90px;
  }
  .product_cont .aside {
    width: 260px;
  }
  .product_cont .aside h3 {
    background: #404040;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.333;
    padding: 22px 15px 23px 17px;
    font-weight: 400;
    margin-bottom: 15px;
  }
  .product_cont .aside_lst > li {
    display: block;
    position: relative;
    padding: 7px 0;
    border-bottom: 1px solid #e5e5e5;
  }
  .product_cont .aside_lst > li > a {
    padding: 0 15px 0 30px;
    display: block;
    font-size: 1.6rem;
    color: #383838;
    line-height: 1.6;
    font-weight: 400;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .aside_lst > li > a.isActive {
    color: #e20c0c;
  }
  .product_cont .aside_lst > li > a.isActive::after {
    border: 3px solid #e20c0c;
  }
  .product_cont .aside_lst > li > a:hover {
    color: #e20c0c;
  }
  .product_cont .aside_lst > li > a:hover::after {
    border: 3px solid #e20c0c;
  }
  .product_cont .aside_lst > li > a:after {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border: 3px solid #bebebe;
    -moz-border-radius: 999px;
         border-radius: 999px;
    position: absolute;
    top: 13px;
    left: 7px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .aside_lst > li > a small {
    font-size: 1.3rem;
  }
  .product_cont .aside_lst > li > a small.db {
    display: block;
  }
  .product_cont .aside_lst ul {
    padding: 7px 0 0 30px;
  }
  .product_cont .aside_lst ul li a {
    display: block;
    padding: 4px 0;
    font-size: 1.4rem;
    color: #383838;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .aside_lst ul li a:hover, .product_cont .aside_lst ul li a.isActive {
    color: #e20c0c;
  }
  .product_cont .repair .aside_lst .blue a:nth-of-type(1) {
    color: #0b5cd6;
  }
  .product_cont .repair .aside_lst .blue a:nth-of-type(n+2) {
    color: #000;
    font-size: 14px;
    white-space: nowrap;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .repair .aside_lst .blue a:nth-of-type(n+2):hover {
    opacity: 1;
    color: #0b5cd6;
  }
  .product_cont .repair .aside_lst .blue a:after {
    border: 3px solid #0b5cd6;
  }
  .product_cont .repair .aside_lst .green::after {
    content: none;
  }
  .product_cont .repair .aside_lst .green:last-of-type {
    border-bottom: none;
  }
  .product_cont .repair .aside_lst .green a {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .repair .aside_lst .green a::after {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border: 3px solid #bebebe;
    -moz-border-radius: 999px;
         border-radius: 999px;
    position: absolute;
    top: 13px;
    left: 7px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .repair .aside_lst .green a:hover::after {
    border: 3px solid #52aa21;
  }
  .product_cont .repair .aside_lst .green a:hover {
    opacity: 1;
    color: #52aa21;
  }
  .product_cont .renovation p {
    font-size: 1.6rem;
    margin-top: 1em;
  }
  .product_cont .renovation p a {
    color: #52aa21;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .renovation p a:hover {
    opacity: .7;
  }
  .product_cont .renovation .aside_lst {
    margin-top: 11px;
  }
  .product_cont .renovation .aside_lst .blue {
    padding: 14px 0;
  }
  .product_cont .renovation .aside_lst .blue::after {
    content: none;
  }
  .product_cont .renovation .aside_lst .blue a {
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    position: relative;
  }
  .product_cont .renovation .aside_lst .blue a:hover {
    color: #0b5cd6;
  }
  .product_cont .renovation .aside_lst .blue a::after {
    content: '';
    display: block;
    width: 12px;
    height: 12px;
    border: 3px solid #bebebe;
    -moz-border-radius: 999px;
         border-radius: 999px;
    position: absolute;
    top: 6px;
    left: 7px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .renovation .aside_lst .blue a:hover::after {
    border: 3px solid #0b5cd6;
  }
  .product_cont .renovation .aside_lst .green > a {
    color: #52aa21;
  }
  .product_cont .renovation .aside_lst .green > a::after {
    border: 3px solid #52aa21;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .renovation .aside_lst .green div {
    margin-left: 58px;
    margin-top: 12px;
  }
  .product_cont .renovation .aside_lst .green div > a {
    display: block;
    padding: 4px 0;
    font-size: 1.4rem;
    letter-spacing: 1px;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
  }
  .product_cont .renovation .aside_lst .green div > a:hover {
    color: #52aa21;
  }
  .product_lst {
    padding-top: 27px;
    margin-bottom: -13px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .product_lst .item {
    width: 390px;
    margin-bottom: 88px;
    -webkit-transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  .product_lst .item:nth-child(even) {
    margin-left: 70px;
  }
  .product_lst .item:hover {
    opacity: 0.7;
  }
  .product_lst .item_ttl {
    border-left: 3px solid #e20c0c;
    margin: 0 1px 16px 1px;
    padding: 5px 120px 5px 20px;
    position: relative;
  }
  .product_lst .item_ttl_txt {
    display: block;
    font-size: 2.2rem;
    line-height: 1.4;
    font-weight: 700;
    color: #404040;
  }
  .product_lst .item_ttl .vaBot {
    vertical-align: sub;
    line-height: 1;
  }
  .product_lst .item_ttl .tag {
    width: 120px;
    position: absolute;
    right: 2px;
    top: 0;
    text-align: center;
    z-index: 10;
  }
  .product_lst .item_ttl .tag span {
    display: block;
    font-size: 1.4rem;
    line-height: 1.143;
    font-weight: 700;
    padding: 8px 5px;
  }
  .product_lst .item_ttl .tag span + span {
    margin-top: 6px;
  }
  .product_lst .item_ttl .tag.tag_red span {
    color: #fff;
    background: #e20c0c;
    border: 1px solid #e20c0c;
  }
  .product_lst .item_ttl .tag.tag_line span {
    color: #666464;
    background: #fff;
    border: 1px solid #e20c0c;
  }
  .product_lst .item figure {
    margin: 0 2px 5px;
  }
  .product_lst .item .content {
    padding: 3px 5px 0 5px;
  }
  .product_lst .item .content p {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .product_btn {
    width: 468px;
    margin: 0 auto;
  }
  .result_bnr {
    margin-top: 20px;
    border: solid 1px #cdcdcd;
  }
  .result_bnr a {
    display: block;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
  }
  .result_bnr a:hover {
    opacity: .7;
  }
  .btn {
    display: block;
    font-size: 1.6rem;
    line-height: 1;
    position: relative;
  }
  .btn > span {
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 500;
    text-align: center;
    background: #e20c0c;
    z-index: 10;
  }
  .btn.btn_small span {
    height: 38px;
  }
  .btn.btn_small.link_right span:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 10px;
    background: url(../images/arr_right.png) no-repeat;
    -moz-background-size: 6px 10px;
         background-size: 6px 10px;
  }
  .btn.btn_big {
    margin-bottom: 3px;
    max-width: 255px;
    margin: 30px auto 3px;
  }
  .btn.btn_big > span {
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out;
    height: 54px;
    padding-bottom: 3px;
  }
  .btn.btn_big:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -3px;
    background: #9f0a0a;
    left: 0;
  }
  .btn.link_left span:before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 13px;
    background: url(../images/arr_right.png) no-repeat;
    -moz-background-size: 7px 13px;
         background-size: 7px 13px;
    margin-right: 15px;
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out;
  }
  .btn.link_right span:after {
    content: '';
    display: inline-block;
    width: 7px;
    height: 13px;
    margin-left: 15px;
    background: url(../images/arr_right.png) no-repeat;
    -moz-background-size: 7px 13px;
         background-size: 7px 13px;
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    -moz-transition: transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out, -moz-transform 0.3s ease-in-out;
  }
  .btn.btn_white:after {
    background: #d2d2d2;
  }
  .btn.btn_white.link_left span:before {
    background: url(../images/arr_right_red.png) no-repeat;
    -moz-background-size: 7px 13px;
         background-size: 7px 13px;
  }
  .btn.btn_white span {
    background: #f3f3f3;
    color: #000;
  }
  .btn:hover.btn_big > span {
    -webkit-transform: translateY(3px);
       -moz-transform: translateY(3px);
        -ms-transform: translateY(3px);
            transform: translateY(3px);
  }
  .btn:hover.link_right span:after {
    -webkit-transform: translateX(5px);
       -moz-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px);
  }
  .btn:hover.link_left span:before {
    -webkit-transform: translateX(5px);
       -moz-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px);
  }
  .product {
    padding-bottom: 90px;
  }
  .product .productMain .product__featured {
    margin-bottom: 50px;
  }
  .product .productMain .product__featured img {
    width: 100%;
    height: auto;
    margin-bottom: 45px;
  }
  .product .productMain .product__featured figcaption {
    font-size: 3.2rem;
    line-height: 1.25;
    color: #404040;
    font-weight: 400;
    letter-spacing: 1px;
  }
  .product .productMain .product__block + .product__block {
    margin-top: 67px;
  }
  .product .productMain .product__block .product__des {
    font-size: 1.6rem;
    line-height: 26px;
    color: #404040;
    margin-top: 45px;
    margin-bottom: 54px;
    letter-spacing: .9px;
  }
  .product .productMain .product__block .product__des span {
    font-size: 2.4rem;
    line-height: 1;
    color: #e20c0c;
    display: block;
    margin-bottom: 10px;
  }
  .product .productMain .product__draw {
    text-align: center;
    margin-top: 42px;
    margin-bottom: 37px;
  }
  .product .productMain .product__ft {
    border: 1px solid #e1e1e1;
    padding: 30px 21px 19px;
    margin-top: 58px;
    margin-bottom: 55px;
  }
  .product .productMain .product__ft .tt {
    margin-bottom: 27px;
  }
  .product .productMain .product__line {
    text-align: center;
    margin-bottom: 58px;
    margin-top: 30px;
  }
  .product .productMain .product__line p {
    display: inline-block;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.5;
    color: #e20c0c;
    letter-spacing: 1px;
    border-bottom: 2px solid #e20c0c;
  }
  .product .productMain .product__line a {
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.5;
    color: #e20c0c;
    letter-spacing: 1px;
    border-bottom: 2px solid #e20c0c;
  }
  .product .productMain .product__line a:hover {
    border-bottom: none;
  }
  .product .productMain .product__btn {
    width: 468px;
    height: 54px;
    margin: 0 auto 43px;
  }
  .product .productMain .product__banner {
    text-align: center;
    margin-bottom: 42px;
    display: block;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product .productMain .product__banner:hover {
    opacity: .7;
  }
  .product .productMain .latest {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    padding: 8px 9px;
    background: #e20c0c url("../images/ic_partent.png") repeat;
    -moz-background-size: 3px 3px;
         background-size: 3px 3px;
  }
  .product .productMain .latest__big {
    width: 100%;
    background: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 14px 100px 14px 89px;
  }
  .product .productMain .latest__big figure {
    width: 143px;
    margin-right: 24px;
  }
  .product .productMain .latest__big figure img {
    width: 100%;
    height: auto;
  }
  .product .productMain .latest__big .latest__ct {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 468px;
  }
  .product .productMain .latest__big .latest__ct h4 {
    font-size: 2.4rem;
    line-height: 1;
    font-weight: bold;
    text-align: center;
  }
  .product .productMain .latest__big .latest__ct .btn {
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
    width: 236px;
  }
  .product .productMain .latest__big .latest__ct .btn:hover {
    opacity: .7;
  }
  .product .productMain .latest__list {
    width: -webkit-calc(100% - 486px);
    width: -moz-calc(100% - 486px);
    width: calc(100% - 486px);
    margin-left: 10px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .product .productMain .latest__list li {
    background: #fff;
    width: 100%;
    height: 100%;
    text-align: center;
    padding: 39px 20px 12px;
  }
  .product .productMain .latest__list li + li {
    margin-top: 10px;
  }
  .product .productMain .latest__list li h4 {
    font-size: 2.0rem;
    line-height: 1;
    color: #e20c0c;
    text-align: center;
    font-weight: bold;
    margin-bottom: 12px;
  }
  .product .productMain .latest__list li .latest__btn {
    font-size: 1.6rem;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .product .productMain .latest__list li .latest__btn:before {
    content: "";
    width: 20px;
    height: 20px;
    background: url("../images/ic_arr.jpg") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    display: block;
    margin-right: 7px;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
  }
  .product .productMain .latest__list li .latest__btn span {
    padding-top: 1px;
  }
  .product .productMain .latest__list li .latest__btn:hover:before {
    -webkit-transform: translateX(3px);
       -moz-transform: translateX(3px);
        -ms-transform: translateX(3px);
            transform: translateX(3px);
  }
  .product .productMain .tab {
    margin-top: 53px;
  }
  .product .productMain .tab .tab__menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .product .productMain .tab .tab__menu li {
    width: 25%;
  }
  .product .productMain .tab .tab__menu li span {
    width: 100%;
    height: 85px;
    display: block;
    background: #ededed;
    padding: 15px;
    font-size: 1.4rem;
    line-height: 1.4;
    font-weight: bold;
    cursor: pointer;
    color: #404040;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    text-align: center;
    -webkit-transition: background .3s ease-out, color .3s ease-out;
    -moz-transition: background .3s ease-out, color .3s ease-out;
    transition: background .3s ease-out, color .3s ease-out;
  }
  .product .productMain .tab .tab__menu li span img {
    margin-right: 5px;
    width: 55px;
    height: auto;
  }
  .product .productMain .tab .tab__menu li span img.imgCl {
    width: 65px;
  }
  .product .productMain .tab .tab__menu li:not(:last-child) {
    border-right: 1px solid #fff;
  }
  .product .productMain .tab .tab__menu li:hover span, .product .productMain .tab .tab__menu li.active span {
    background: #e20c0c;
    color: #fff;
  }
  .product .productMain .tab .tab__menu li:first-child span img {
    width: 64px;
    height: auto;
  }
  .product .productMain .tab .tab__wrap {
    border: 1px solid #dadada;
    margin-top: -1px;
    padding: 20px 20px 27px;
  }
  .product .productMain .tab .tab__wrap .tab__btn {
    margin-bottom: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .product .productMain .tab .tab__wrap .tab__btn a {
    color: #e20c0c;
    font-size: 1.4rem;
    line-height: 1;
    border-bottom: 1px solid #e20c0c;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product .productMain .tab .tab__wrap .tab__btn a:not(:last-child) {
    margin-right: 8px;
  }
  .product .productMain .tab .tab__wrap .tab__btn a.pdf {
    border: 1px solid #e20c0c;
    padding: 4px 8px;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .product .productMain .tab .tab__wrap .tab__btn a.pdf:before {
    content: "";
    width: 16px;
    height: 18px;
    display: block;
    background: url("../images/icon_pdf.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    margin-right: 10px;
  }
  .product .productMain .tab .tab__wrap .tab__btn a:hover {
    opacity: .7;
  }
  .product .productMain .tab .tab__wrap .tab__child {
    display: block;
    text-align: center;
  }
  .product .productMain .tab .tab__wrap .tab__child a {
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product .productMain .tab .tab__wrap .tab__child a:hover {
    opacity: .7;
  }
  .product .productMain .tab .tab__wrap .tab__child figure {
    display: inline-block;
    overflow: hidden;
  }
  .product .productMain .tab .tab__wrap .tab__child figure img {
    max-width: 100%;
    width: 100%;
  }
  .product .productMain .tab .tab__wrap .tab__child figure figcaption {
    font-size: 1.4rem;
    line-height: 1;
    text-align: left;
    margin-top: 20px;
  }
  .product .productMain .tab--none .tab__menu li {
    width: auto;
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
  .product .productMain .tab--none .tab__menu li span {
    padding: 15px 20px;
  }
  .product .productMain .tab--none .tab__menu li span img {
    margin-right: 0;
    width: 69px;
    height: auto;
  }
  .product .productMain .tab--none .tab__menu li:not(:last-child) {
    border-right: 1px solid #fff;
  }
  .product .productMain .tab--none .tab__wrap {
    border-top: 1px solid #dadada;
    margin-top: -1px;
  }
  .product .productMain .grip {
    margin-bottom: 70px;
  }
  .product .productMain .grip-box:not(:last-of-type) {
    margin-bottom: 55px;
  }
  .product .productMain .grip-box ul {
    overflow: hidden;
  }
  .product .productMain .grip-box ul li {
    float: left;
    width: 271px;
    height: 177px;
  }
  .product .productMain .grip-box ul li:nth-of-type(1) {
    width: 561px;
    height: 369px;
    margin-right: 18px;
  }
  .product .productMain .grip-box ul li:nth-of-type(2) {
    margin-bottom: 15px;
  }
  .product .productMain .grip-box ul li img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .product .productMain .grip-box p {
    font-size: 1.6rem;
    line-height: 26px;
    color: #404040;
    letter-spacing: .8px;
    margin-top: 15px;
  }
  .block_popup {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100vh;
    z-index: 9999;
  }
  .block_popup .popup_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10;
  }
  .block_popup .popup_item {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    max-width: 1200px;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 100;
    text-align: center;
  }
  .block_popup .popup_item > div {
    position: relative;
    display: inline-block;
    margin: 0 auto;
  }
  .block_popup .popup_item > div::before {
    content: "";
    position: absolute;
    width: 17px;
    height: 2px;
    background: #acaca9;
    top: -14px;
    right: 0;
    -webkit-transform: rotateZ(-45deg);
       -moz-transform: rotateZ(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotateZ(-45deg);
  }
  .block_popup .popup_item > div::after {
    content: "";
    position: absolute;
    width: 17px;
    height: 2px;
    background: #acaca9;
    top: -14px;
    right: 0;
    -webkit-transform: rotateZ(-135deg);
       -moz-transform: rotateZ(-135deg);
        -ms-transform: rotate(-135deg);
            transform: rotateZ(-135deg);
  }
  .block_popup #player {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
  }
  .block_popup #player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .product__about {
    background: #f9f9f9;
    padding: 26px 40px 33px;
  }
  .product__about .ttl__wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .product__about .ttl__wrap h3 {
    font-size: 3.2rem;
    font-weight: 700;
    margin-top: -23px;
    line-height: 48px;
    letter-spacing: 1.2px;
  }
  .product__about .ttl__wrap h3 small {
    font-size: 2.2rem;
    margin-right: 10px;
  }
  .product__about .ttl__wrap h3 .red {
    display: block;
    color: #e20c0c;
    letter-spacing: 0;
  }
  .product__about .ttl__wrap > figure {
    margin-top: 0;
  }
  .product__about .ttl__wrap a {
    border: 1px solid #e20c0c;
    color: #e20c0c;
    font-size: 1.4rem;
    line-height: 1;
    padding: 5.5px 10px;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product__about .ttl__wrap a:hover {
    opacity: .7;
  }
  .product__about .ttl__wrap a::before {
    content: "";
    width: 6px;
    height: 9px;
    display: block;
    background: url(../images/arr_right_red.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    margin-right: 5px;
  }
  .product__about .about_fig {
    margin-top: 21px;
  }
  .product__about .about_fig a {
    display: block;
    background: #fff;
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
    padding: 16px 27px 16px;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product__about .about_fig a:hover {
    opacity: .7;
  }
  .product__about .about_fig a h5 {
    font-size: 1.6rem;
    letter-spacing: 1.2px;
    line-height: 1;
    padding-left: 17px;
    margin-bottom: 20px;
    position: relative;
  }
  .product__about .about_fig a h5 em {
    font-size: 2.4rem;
    font-style: normal;
    font-weight: bold;
    color: #e20c0c;
  }
  .product__about .about_fig a h5::before {
    content: "";
    position: absolute;
    background: url(../images/arrow_double.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 20px;
    height: 18px;
    top: 50%;
    left: -9px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .product__about .about_fig a picture {
    display: block;
    width: 100%;
    overflow: hidden;
    text-align: center;
  }
  .product__about .about_fig a figure {
    width: 100%;
    overflow: hidden;
    text-align: center;
  }
  .product__about .about__group {
    margin-top: 42px;
    position: relative;
  }
  .product__about .about__group h4 {
    font-size: 2.2rem;
    padding-left: 34px;
    letter-spacing: 1.2px;
    position: relative;
  }
  .product__about .about__group h4::before {
    content: "";
    position: absolute;
    background: url(../images/ic_check.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 27px;
    height: 32px;
    top: -3px;
    left: 0;
  }
  .product__about .about__group .note {
    background: #fff;
    padding: 16px;
    margin-top: 39px;
  }
  .product__about .about__group .note p {
    font-size: 1.4rem;
  }
  .product__about .about__group .inclination {
    border: solid 1px #e20c0c;
    color: #e20c0c;
    font-size: 14px;
    padding: 3px 9px 1px 24px;
    top: 2px;
    right: 0;
    text-align: center;
    position: absolute;
  }
  .product__about .about__group .inclination::before {
    content: "";
    position: absolute;
    border-top: solid 1px #e20c0c;
    border-right: solid 1px #e20c0c;
    top: 50%;
    left: 8px;
    width: 6px;
    height: 6px;
    -webkit-transform: translateY(-50%) rotateZ(45deg);
       -moz-transform: translateY(-50%) rotateZ(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotateZ(45deg);
  }
  .product__about .spec {
    margin-top: 12px;
  }
  .product__about .spec .spec__form {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .product__about .spec .spec__form li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    border-top: solid 1px #000;
    padding: 12px 16px 11px;
  }
  .product__about .spec .spec__form li:nth-of-type(1), .product__about .spec .spec__form li:nth-of-type(2) {
    width: 50%;
  }
  .product__about .spec .spec__form li:nth-of-type(1), .product__about .spec .spec__form li:nth-of-type(3) {
    border-right: solid 1px #000;
  }
  .product__about .spec .spec__form li:nth-of-type(3), .product__about .spec .spec__form li:nth-of-type(4) {
    width: 50%;
  }
  .product__about .spec .spec__form li:nth-of-type(5) {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    width: 100%;
    border-bottom: solid 1px #000;
  }
  .product__about .spec .spec__form li:nth-of-type(5) span:first-of-type {
    display: block;
    width: 100%;
  }
  .product__about .spec .spec__form li:nth-of-type(5) span:nth-of-type(2), .product__about .spec .spec__form li:nth-of-type(5) span:nth-of-type(3) {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-right: 16px;
  }
  .product__about .spec .spec__form li:nth-of-type(5) span:nth-of-type(2) em, .product__about .spec .spec__form li:nth-of-type(5) span:nth-of-type(3) em {
    margin-left: 6px;
  }
  .product__about .spec .spec__form li span {
    font-size: 1.4rem;
  }
  .product__about .spec .spec__form li em {
    display: block;
    font-size: 1.7rem;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 2px;
  }
  .product__about .spec .spec__end {
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 22px;
  }
  .product__about .spec .spec__end li {
    width: 33.333333%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 16px 16px 17px 12px;
    background: #fff;
  }
  .product__about .spec .spec__end li span:nth-of-type(1) {
    font-size: 1.4rem;
  }
  .product__about .spec .spec__end li span:nth-of-type(2) {
    text-align: center;
  }
  .product__about .spec .spec__end li span:nth-of-type(2) em {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    font-style: normal;
    letter-spacing: .5px;
  }
  .product__about .spec .spec__end li span:nth-of-type(2) small {
    display: block;
  }
  .product__about .spec .spec__end li + li {
    border-left: solid 1px #000;
  }
  .product__about .spec .spec__end .bFlex {
    display: block;
  }
  .product__about .spec .spec__end .bFlex dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    text-align: center;
  }
  .product__about .spec .spec__end .bFlex dl + dl {
    margin-top: 8px;
  }
  .product__about .spec .spec__end .bFlex dl dt {
    font-size: 1.4rem;
  }
  .product__about .spec .spec__end .bFlex dl dd {
    font-size: 1.6rem;
  }
  .product__about .spec .spec__end .bFlex dl dd small {
    font-size: 1rem;
  }
  .product__about .spec p {
    margin-top: 10px;
    font-size: 1.4rem;
  }
  .product__block .tt-05 {
    font-size: 2.4rem;
    margin-top: 46px;
    padding-bottom: 12px;
    border-bottom: solid 3px #e20c0c;
    margin-bottom: 20px;
  }
  .product__block .tt-05 span {
    color: #e20c0c;
  }
  .product__block .tt-06 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 66px;
    font-size: 3.2rem;
    line-height: 36px;
  }
  .product__block .tt-06 > span {
    display: inline-block;
    padding: 0 62px;
    position: relative;
  }
  .product__block .tt-06 > span .red {
    color: #e20c0c;
  }
  .product__block .tt-06 > span::before {
    content: "";
    background: url(../images/ic_kakko01.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    top: 50%;
    left: 0;
    width: 19px;
    height: 77px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .product__block .tt-06 > span::after {
    content: "";
    background: url(../images/ic_kakko02.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    top: 50%;
    right: 0;
    width: 19px;
    height: 77px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .product__block .block__aria {
    padding: 0 33px;
  }
  .product__block .block__aria .group__lst {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 54px;
  }
  .product__block .block__aria .group__lst li {
    position: relative;
    padding-left: 23px;
    font-size: 1.6rem;
    line-height: 36px;
    margin-right: 32px;
  }
  .product__block .block__aria .group__lst li:nth-of-type(4), .product__block .block__aria .group__lst li:nth-of-type(8) {
    margin-right: 0;
  }
  .product__block .block__aria .group__lst li::before {
    content: "";
    position: absolute;
    background: #d6d6d6;
    width: 14px;
    height: 14px;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%) rotateZ(45deg);
       -moz-transform: translateY(-50%) rotateZ(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotateZ(45deg);
  }
  .product__block .block__aria p {
    font-size: 1.4rem;
    margin-top: 6px;
  }
  .product__block .desc {
    font-size: 1.6rem;
    margin-bottom: 27px;
  }
  .product__block .block_wrap {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 30px;
  }
  .product__block .block_wrap dl {
    width: 405px;
  }
  .product__block .block_wrap dl dt {
    font-size: 1.6rem;
    background: #ededed;
    text-align: center;
    line-height: 54px;
  }
  .product__block .block_wrap dl dd picture {
    display: block;
    width: 100%;
    overflow: hidden;
  }
  .product__block .block_wrap > figure {
    width: 406px;
    overflow: hidden;
  }
  .product__block .block_wrap .block_item dt {
    background: #e20c0c;
    color: #fff;
    font-size: 2.4rem;
    line-height: 78px;
  }
  .product__block .block_wrap .block_item dd figure {
    border: solid 1px #eeeeee;
    margin-top: 20px;
  }
  .product__block .gallery3 {
    margin-top: 20px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .product__block .gallery3 li {
    width: 277px;
  }
  .product__block .gallery3 li:not(:nth-of-type(3n)) {
    margin-right: 8px;
  }
  .product__block .gallery3 li figure {
    margin: 0;
    width: 100%;
  }
  .product__block .gallery3 li figure a {
    position: relative;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product__block .gallery3 li figure a:hover {
    opacity: .7;
  }
  .product__block .gallery3 li figure a::before {
    content: "";
    position: absolute;
    background: url(../images/ic_zoom.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 30px;
    height: 30px;
    right: 12px;
    bottom: 12px;
  }
  .product__block .gallery3 li figure a img {
    width: 100%;
    height: 263px;
    object-fit: cover;
  }
  .product__block .gallery3 li figure figcaption {
    margin: 10px 0;
    font-size: 1.6rem;
    font-weight: bold;
  }
  .product__block .block_item2 {
    margin-top: 48px;
  }
  .product__block .block_item2 a {
    display: block;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product__block .block_item2 a:hover {
    opacity: .7;
  }
  .product__block .block_item2 a.inactive {
    pointer-events: none !important;
  }
  .product__block .block_item2 a.inactive dl dt {
    background-color: #9d9d9d !important;
  }
  .product__block .block_item2 dl {
    width: 410px;
  }
  .product__block .block_item2 dl dt {
    background: #e20c0c;
    color: #fff;
    font-size: 2.0rem;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 24px;
    text-align: left;
    height: 70px;
    padding: 0 14px;
    position: relative;
  }
  .product__block .block_item2 dl dt::before {
    content: "";
    position: absolute;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    width: 10px;
    height: 10px;
    top: 50%;
    right: 16px;
    -webkit-transform: translateY(-50%) rotateZ(45deg);
       -moz-transform: translateY(-50%) rotateZ(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotateZ(45deg);
  }
  .product__block .block_item2 dl dd {
    margin-top: 16px;
  }
  .product__block .block_item2 dl dd .cad {
    border: solid 1px #d9d9d9;
    padding: 0 60px;
  }
  .product__block .block_item2 .other {
    margin-top: 32px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .product__block .block_item2 .other a {
    display: block;
    font-size: 1.6rem;
    background: #f9f9f9;
    border: solid 1px #d9d9d9;
    line-height: 46px;
    padding: 0 20px;
    position: relative;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product__block .block_item2 .other a:hover {
    opacity: .7;
  }
  .product__block .block_item2 .other a::before {
    content: "";
    position: absolute;
    border-top: solid 3px #e20c0c;
    border-right: solid 3px #e20c0c;
    width: 10px;
    height: 10px;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%) rotateZ(45deg);
       -moz-transform: translateY(-50%) rotateZ(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotateZ(45deg);
  }
  .product__block .block_item2 .other a:nth-of-type(1) {
    width: 416px;
  }
  .product__block .block_item2 .other a:nth-of-type(2) {
    background: #e20c0c;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    color: #fff;
    width: 280px;
    padding-left: 52px;
  }
  .product__block .block_item2 .other a:nth-of-type(2)::before {
    border-color: #fff;
  }
  .product__block .block_item2 .other a:nth-of-type(2)::after {
    content: "";
    position: absolute;
    background: url(../images/icon_pdf02.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 30px;
    height: 36px;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 7px;
  }
  .product__block .latest {
    margin-top: 31px;
  }
  #case_data .gallery {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #case_data .gallery li a {
    display: block;
  }
  #case_data .gallery li a p {
    margin-top: 12px;
    font-size: 1.6rem;
    padding-left: 24px;
    position: relative;
  }
  #case_data .gallery li a p::before {
    content: "";
    position: absolute;
    border-top: solid 2px #e20c0c;
    border-right: solid 2px #e20c0c;
    top: 8px;
    left: 0;
    width: 9px;
    height: 9px;
    -webkit-transform: rotateZ(45deg);
       -moz-transform: rotateZ(45deg);
        -ms-transform: rotate(45deg);
            transform: rotateZ(45deg);
  }
  .video_popup {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100vh;
    z-index: 9999;
  }
  .video_popup .video_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10;
  }
  .video_popup .video_item {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 640px;
    z-index: 100;
  }
  .video_popup .video_item .btn_close::before {
    content: "";
    position: absolute;
    width: 17px;
    height: 2px;
    background: #acaca9;
    top: -14px;
    right: 0;
    -webkit-transform: rotateZ(-45deg);
       -moz-transform: rotateZ(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotateZ(-45deg);
  }
  .video_popup .video_item .btn_close::after {
    content: "";
    position: absolute;
    width: 17px;
    height: 2px;
    background: #acaca9;
    top: -14px;
    right: 0;
    -webkit-transform: rotateZ(-135deg);
       -moz-transform: rotateZ(-135deg);
        -ms-transform: rotate(-135deg);
            transform: rotateZ(-135deg);
  }
  .video_popup .video_popup #player {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
  }
  .video_popup .video_popup #player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

@media screen and (max-width: 768px) {
  .show_pc {
    display: none !important;
  }
  .container {
    overflow: hidden;
    min-width: 41.66667vw;
    /* padding-bottom: 126px; */
    padding-bottom: 0;
  }
  main .row {
    padding-left: 3.90625vw;
    padding-right: 3.90625vw;
  }
  .ttl {
    background: #f2f2f2;
    height: 26.04167vw;
    margin-bottom: 2.60417vw;
  }
  .ttl__wrapper {
    position: relative;
    top: 9.11458vw;
  }
  .ttl__dsc {
    font-size: 3.125vw;
    color: #404040;
    letter-spacing: 0.33854vw;
  }
  .ttl__tt {
    margin-bottom: 1.95313vw;
    font-size: 5.20833vw;
    line-height: 1;
  }
  .ttl__tt em {
    font-size: 5.20833vw;
    line-height: 1;
    font-weight: 400;
    color: #e20c0c;
    letter-spacing: 0.13021vw;
    font-weight: bold;
    font-style: normal;
    vertical-align: middle;
    display: inline-block;
  }
  .ttl__tt em small {
    font-size: 4.42708vw;
  }
  .ttl__tt .ttl__tag {
    font-size: 2.60417vw;
    line-height: 1;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    color: #737373;
    padding: 1.30208vw 1.04167vw;
    border: 1px solid #e20c0c;
    margin-left: 3.64583vw;
  }
  .ttl__tt .ttl__tag + .ttl__tag {
    margin-left: 0.26042vw;
  }
  .ttl__tt .ttl__tag--red {
    background: #e20c0c;
    color: #fff;
  }
  .ttl__tt .ttl__tag--white {
    background: #fff;
  }
  .ttl__stt {
    font-size: 3.125vw;
    line-height: 1;
    color: #404040;
  }
  .ttl__tag2 {
    margin-top: 3.125vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 65.10417vw;
  }
  .ttl__tag2 ul {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .ttl__tag2 ul li {
    background: #457fbd;
    color: #fff;
    font-size: 2.60417vw;
    line-height: 5.46875vw;
    text-align: center;
    margin-right: 1.5625vw;
    padding: 0 1.5625vw;
    margin-top: 1.5625vw;
  }
  .ttl__tag2 ul li:last-of-type {
    margin-right: 7.03125vw;
  }
  .ttl__tag2 a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    border: solid 1px #e20c0c;
    color: #e20c0c;
    font-size: 2.60417vw;
    line-height: 5.20833vw;
    letter-spacing: 0.15625vw;
    padding: 0 14.58333vw 0 4.16667vw;
    position: relative;
    margin-top: 2.60417vw;
  }
  .ttl__tag2 a::before {
    content: "";
    position: absolute;
    width: 5.20833vw;
    height: 5.20833vw;
    background: #e20c0c;
    top: 0;
    right: 0;
  }
  .ttl__tag2 a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.69271vw;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.78125vw solid transparent;
    border-right: 0.78125vw solid transparent;
    border-top: 1.30208vw solid #fff;
  }
  .ttl__tag2 a.inactive {
    border-color: #9d9d9d;
    color: #9d9d9d;
    pointer-events: none;
  }
  .ttl__tag2 a.inactive:before {
    background-color: #9d9d9d;
  }
  .mv {
    margin-bottom: 2.60417vw;
  }
  .mv .main {
    position: relative;
    width: 100%;
    padding-top: 27.18519%;
    overflow: hidden;
  }
  .mv__video {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  @media screen and (max-width: 768px) {
    .mv .main {
      padding-top: 0;
      height: 70.8vw;
    }
  }
  .mv figure {
    margin: 0;
    width: 100%;
  }
  .mv figure img {
    width: 100%;
  }
  .breadcrumb {
    margin-bottom: 6.51042vw;
  }
  .breadcrumb__list {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .breadcrumb__list li {
    font-size: 2.60417vw;
    line-height: 1;
    display: inline;
    letter-spacing: 0.13021vw;
    position: relative;
    vertical-align: middle;
    font-weight: bold;
  }
  .breadcrumb__list li a {
    font-size: 2.60417vw;
    line-height: 1;
    color: #8a8a8a;
    letter-spacing: 0.13021vw;
  }
  .breadcrumb__list li:not(:last-child) {
    margin-right: 5.85938vw;
  }
  .breadcrumb__list li:not(:last-child):after {
    content: "";
    width: 3.90625vw;
    height: 1px;
    background: #000;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -5.20833vw;
    margin: auto;
  }
  .tt-01 {
    padding: 1.95313vw 2.60417vw;
    background: #f2f2f2;
    margin-bottom: 3.90625vw;
  }
  .tt-01 span {
    font-size: 4.16667vw;
    line-height: 1.3;
    color: #404040;
    display: block;
    background: #f2f2f2;
    border-left: 0.65104vw solid #e20c0c;
    padding: 0.91146vw 2.60417vw;
  }
  .tt-01 strong {
    font-weight: inherit;
    color: #e20c0c;
  }
  .tt-02 {
    font-size: 3.64583vw;
    line-height: 1.3;
    color: #404040;
    font-weight: 400;
    border-bottom: 3px solid #e20c0c;
    position: relative;
    overflow: hidden;
    margin-bottom: 3.25521vw;
    padding: 0.78125vw 0 1.5625vw 32.22656vw;
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .tt-02 span {
    width: 29.49219vw;
    height: 100%;
    font-size: 3.125vw;
    line-height: 1.5;
    font-weight: bold;
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 3.90625vw;
    letter-spacing: 1px;
    margin-right: 1.95313vw;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
  }
  .tt-02 span:before {
    content: "";
    width: 34.02344vw;
    height: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: #e20c0c;
    position: absolute;
    top: 0;
    left: -7.8125vw;
    text-align: center;
    -webkit-transform: skew(22deg);
       -moz-transform: skew(22deg);
        -ms-transform: skew(22deg);
            transform: skew(22deg);
    z-index: -1;
  }
  .tt-02 small {
    font-size: 2.60417vw;
    line-height: 1;
    margin-top: 1.30208vw;
  }
  .tt-03 {
    font-size: 3.64583vw;
    line-height: 1;
    color: #e20c0c;
    border-bottom: 3px solid #e20c0c;
    padding-bottom: 1.95313vw;
    margin-bottom: 2.60417vw;
  }
  .tt-04 {
    font-size: 3.90625vw;
    line-height: 1;
    padding-left: 5.20833vw;
    margin-bottom: 1.95313vw;
    font-weight: bold;
    color: #404040;
    position: relative;
  }
  .tt-04:before {
    content: "";
    width: 3.125vw;
    height: 0.52083vw;
    background: #e20c0c;
    position: absolute;
    top: 1.5625vw;
    left: 0;
  }
  .group {
    counter-reset: number;
  }
  .group .tt-02 span:after {
    counter-increment: number;
    content: counter(number);
  }
  .group__box + .group__box {
    margin-top: 7.8125vw;
  }
  .group__box p {
    font-size: 3.38542vw;
    line-height: 1.5;
    color: #404040;
  }
  .group__box p + p {
    margin-top: 3.90625vw;
  }
  .group__box p span {
    color: #e20c0c;
  }
  .group__box p.notes {
    font-size: 2.99479vw;
    line-height: 1.5;
    color: #404040;
    text-indent: -3.25521vw;
    margin-left: 3.25521vw;
  }
  .group__box p.notes span {
    color: #404040;
  }
  .group__box p.notes--big {
    font-size: 3.125vw;
    line-height: 1.4;
    padding-left: 0;
    color: #404040;
  }
  .group__box p.notes--big span {
    color: #404040;
  }
  .group__box .group__inner {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .group__box .group__inner .group__img {
    -webkit-box-ordinal-group: 2;
       -moz-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 5.20833vw;
    width: 100%;
  }
  .group__box .group__inner .group__img figure {
    text-align: center;
    width: 100%;
  }
  .group__box .group__inner .group__img figure + figure {
    margin-top: 3.90625vw;
  }
  .group__box .group__inner .group__img figure img {
    width: 100%;
  }
  .group__box .group__inner .group__img figure figcaption {
    font-size: 3.125vw;
    line-height: 1.5;
    color: #404040;
    margin-top: 2.60417vw;
  }
  .group__box .group__inner .group__img .link_media figure {
    position: relative;
    display: block;
  }
  .group__box .group__inner .group__img .link_media figure:before {
    content: '';
    width: 14.32292vw;
    height: 14.32292vw;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background: url("../images/ic_play.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
  }
  .group__box .group__inner .group__ct {
    -webkit-box-ordinal-group: 3;
       -moz-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .group__box .group__inner .group__ct h4 {
    font-size: 4.42708vw;
    line-height: 1.5;
    color: #e20c0c;
    font-weight: 400;
    margin-bottom: 2.60417vw;
  }
  .group__box .group__inner .group__ct h5 {
    font-size: 3.64583vw;
    line-height: 1.5;
    color: #e20c0c;
    margin: 2.60417vw 0 0.65104vw;
  }
  .group__box .group__inner .group__ct .notes {
    font-size: 3.125vw;
    line-height: 1.5;
    color: #404040;
    padding-left: 0;
  }
  .group__box .group__inner .group__ct .notes span {
    color: #404040;
  }
  .group__box .group__inner .group__ct .group__btn {
    border: 1px solid #e20c0c;
    color: #e20c0c;
    font-size: 3.125vw;
    line-height: 1;
    padding: 0.65104vw 1.30208vw;
    margin-top: 1.95313vw;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    top: -0.39063vw;
    margin-top: 0.39063vw;
  }
  .group__box .group__inner .group__ct .group__btn:before {
    content: "";
    width: 1.17188vw;
    height: 1.75781vw;
    display: block;
    background: url("../images/arr_right_red.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    margin-right: 1.30208vw;
  }
  .group__box .block_box h5 {
    font-size: 3.64583vw;
    line-height: 1.5;
    color: #e20c0c;
    margin: 2.60417vw 0 0.65104vw;
  }
  .group__box .block_box .videos {
    margin-top: 7.8125vw;
    padding: 0 3.90625vw;
  }
  .group__box .block_box .videos iframe {
    height: 47.52604vw;
    width: 100%;
  }
  .group__imgfull {
    margin-top: 3.90625vw;
  }
  .group__imgfull img {
    width: 100%;
  }
  .group__imgfull img + img {
    margin-top: 3.90625vw;
  }
  .list--none {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .list--none li {
    font-size: 3.38542vw;
    line-height: 1.5;
    position: relative;
    padding-left: 3.90625vw;
    width: 49%;
    margin-bottom: 2.60417vw;
    color: #404040;
  }
  .list--none li:before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0;
  }
  .list--border {
    margin-bottom: 3.90625vw;
  }
  .list--border li {
    font-size: 3.38542vw;
    line-height: 1.5;
    position: relative;
    border-bottom: 1px dotted #7f7f7f;
    padding: 1.30208vw 0;
    padding-left: 3.90625vw;
    color: #404040;
  }
  .list--border li a {
    border: 1px solid #e20c0c;
    color: #e20c0c;
    font-size: 3.125vw;
    line-height: 1;
    padding: 0.65104vw 1.30208vw;
    margin-left: 1.95313vw;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    top: -0.39063vw;
    margin-top: 0.39063vw;
  }
  .list--border li a:before {
    content: "";
    width: 1.17188vw;
    height: 1.75781vw;
    display: block;
    background: url("../images/arr_right_red.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    margin-right: 1.30208vw;
  }
  .list--border li:before {
    content: '・';
    position: absolute;
    top: 1.30208vw;
    left: 0;
  }
  .list--border li.nodot:before {
    display: none;
  }
  .list--dot li {
    font-size: 3.38542vw;
    line-height: 1.5;
    position: relative;
    padding-left: 3.90625vw;
    color: #404040;
    letter-spacing: 0.13021vw;
  }
  .list--dot li:before {
    content: '・';
    position: absolute;
    top: 0;
    left: 0;
  }
  .list--red li {
    color: #e20c0c;
  }
  .notes {
    font-size: 2.99479vw;
    line-height: 1.5;
    color: #404040;
    text-indent: -3.25521vw;
    margin-left: 3.25521vw;
  }
  .notes--big {
    font-size: 3.125vw;
    line-height: 1.4;
    padding-left: 0;
    color: #404040;
  }
  .notes--big span {
    color: #404040;
  }
  .gallery {
    margin-bottom: 7.29167vw;
  }
  .gallery li + li {
    margin-top: 5.20833vw;
  }
  .gallery li a {
    display: block;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .gallery li a figure img {
    width: 100%;
    height: auto;
  }
  .gallery li a figure figcaption {
    font-size: 3.125vw;
    line-height: 1.4;
    margin-top: 2.60417vw;
    display: block;
    padding-left: 2.60417vw;
    position: relative;
  }
  .gallery li a figure figcaption:before {
    content: "";
    width: 1.36719vw;
    height: 2.34375vw;
    background: url("../images/arr_right_red.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    top: 0.91146vw;
    left: 0;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
  }
  .gallery li a:hover {
    opacity: .7;
  }
  .gallery li a:hover figure figcaption:before {
    -webkit-transform: translateX(3px);
       -moz-transform: translateX(3px);
        -ms-transform: translateX(3px);
            transform: translateX(3px);
  }
  .gallery2 {
    margin-bottom: 7.29167vw;
  }
  .gallery2 li + li {
    margin-top: 5.20833vw;
  }
  .gallery2 li a {
    display: block;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .gallery2 li a figure img {
    width: 100%;
    height: auto;
  }
  .gallery2 li a figure figcaption {
    font-size: 3.125vw;
    line-height: 1.4;
    margin-top: 2.60417vw;
    display: block;
    padding-left: 2.60417vw;
    position: relative;
  }
  .gallery2 li a figure figcaption:before {
    content: "";
    width: 1.36719vw;
    height: 2.34375vw;
    background: url("../images/arr_right_red.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    top: 0.91146vw;
    left: 0;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
  }
  .gallery2 li a:hover {
    opacity: .7;
  }
  .gallery2 li a:hover figure figcaption:before {
    -webkit-transform: translateX(3px);
       -moz-transform: translateX(3px);
        -ms-transform: translateX(3px);
            transform: translateX(3px);
  }
  .lstNews li {
    padding: 3.38542vw 0;
    border-bottom: 1px solid #e9e9e9;
  }
  .lstNews li a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .lstNews time {
    width: 23.56771vw;
    font-size: 3.125vw;
    line-height: 4.16667vw;
    color: #a4a4a4;
    letter-spacing: 0.03906vw;
    padding-left: 1.04167vw;
  }
  .lstNews .tag {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .lstNews .tag span {
    min-width: 14.58333vw;
    height: 4.16667vw;
    font-size: 2.60417vw;
    line-height: 4.42708vw;
    color: #fff;
    text-align: center;
    padding: 0 10px;
  }
  .lstNews .tag span + span {
    margin-left: 1.30208vw;
  }
  .lstNews .tag-gray {
    background: #9e9e9e;
  }
  .lstNews .tag-red {
    background: #e20c0c;
  }
  .lstNews p {
    width: 100%;
    font-size: 3.38542vw;
    line-height: 4.94792vw;
    padding-left: 0.78125vw;
    margin-top: 1.95313vw;
  }
  .header {
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
  }
  .header-top {
    background: #fff;
    -moz-box-shadow: 0.65104vw 0 1.95313vw rgba(5, 5, 5, 0.15);
         box-shadow: 0.65104vw 0 1.95313vw rgba(5, 5, 5, 0.15);
    position: relative;
    z-index: 1;
  }
  .header-top .logo {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }
  .header-top .logo a {
    width: 31.51042vw;
    display: block;
    margin: 0 0 0.52083vw 3.51563vw;
  }
  .header-top .logo a img {
    width: 100%;
    display: block;
  }
  .header-top .logo .triggerTel {
    width: 15.625vw;
    height: 15.10417vw;
    background: #e20c0c;
    position: relative;
    margin-left: auto;
    background: url(../images/hd_phone_sp.png) no-repeat;
    background-position: center;
    -moz-background-size: 36%;
         background-size: 36%;
  }
  .header-top .logo .triggerTel.in {
    background: url(../images/hd_close.png) no-repeat;
    -moz-background-size: cover;
         background-size: cover;
    background-position: center;
  }
  .header-top .logo .triggerTel.in + .trigger {
    pointer-events: none;
    background: #fff;
  }
  .header-top .logo .triggerTel.in + .trigger span {
    background: #e20c0c !important;
    -webkit-animation: none;
       -moz-animation: none;
            animation: none;
  }
  .header-top .logo .triggerTel.in + .trigger span::before {
    background: #e20c0c !important;
    -webkit-animation: none;
       -moz-animation: none;
            animation: none;
    top: -2.2vw;
  }
  .header-top .logo .triggerTel.in + .trigger span::after {
    background: #e20c0c !important;
    -webkit-animation: none;
       -moz-animation: none;
            animation: none;
    top: 2.2vw;
  }
  .header-top .logo .trigger {
    width: 15.625vw;
    height: 15.10417vw;
    background: #e20c0c;
    position: relative;
  }
  .header-top .logo .trigger.in span {
    background: transparent;
    -webkit-animation: trigger_at .5s forwards;
       -moz-animation: trigger_at .5s forwards;
            animation: trigger_at .5s forwards;
  }
  .header-top .logo .trigger.in span::before {
    top: 0;
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-animation: trigger_at_01 .5s forwards;
       -moz-animation: trigger_at_01 .5s forwards;
            animation: trigger_at_01 .5s forwards;
  }
  .header-top .logo .trigger.in span::after {
    top: 0;
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
    -webkit-animation: trigger_at_02 .5s forwards;
       -moz-animation: trigger_at_02 .5s forwards;
            animation: trigger_at_02 .5s forwards;
  }
  .header-top .logo .trigger.out span {
    -webkit-animation: trigger .5s forwards;
       -moz-animation: trigger .5s forwards;
            animation: trigger .5s forwards;
  }
  .header-top .logo .trigger.out span::before {
    top: -2.60417vw;
    -webkit-animation: trigger_01 .5s forwards;
       -moz-animation: trigger_01 .5s forwards;
            animation: trigger_01 .5s forwards;
  }
  .header-top .logo .trigger.out span::after {
    top: 2.60417vw;
    -webkit-animation: trigger_02 .5s forwards;
       -moz-animation: trigger_02 .5s forwards;
            animation: trigger_02 .5s forwards;
  }
  .header-top .logo .trigger span, .header-top .logo .trigger span::before, .header-top .logo .trigger span::after {
    width: 5.46875vw;
    height: 0.78125vw;
    min-height: 3px;
    background: #fff;
    -moz-border-radius: 0.39063vw;
         border-radius: 0.39063vw;
    position: absolute;
    left: 0;
  }
  .header-top .logo .trigger span {
    top: 6.64063vw;
    left: 5.33854vw;
  }
  .header-top .logo .trigger span::before {
    content: "";
    top: -2.08333vw;
  }
  .header-top .logo .trigger span::after {
    content: "";
    top: 2.08333vw;
  }
  .header-top .hdContact .tel_wrap {
    display: none;
  }
  .header .menu {
    width: 100%;
    height: 0;
    background: #fff;
    position: fixed;
    top: 15.10417vw;
    left: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transition: height .5s ease, opacity .5s ease;
    -moz-transition: height .5s ease, opacity .5s ease;
    transition: height .5s ease, opacity .5s ease;
  }
  .header .menu.active {
    opacity: 1;
    height: -webkit-calc(100% - 15.10417vw);
    height: -moz-calc(100% - 15.10417vw);
    height: calc(100% - 15.10417vw);
    overflow-y: auto;
    z-index: 2000;
  }
  .header .menu.active > ul > li.sub > .wrap {
    max-height: 9999px;
  }
  .header .menu > ul > li {
    position: relative;
  }
  .header .menu > ul > li:not(:last-of-type) {
    border-bottom: 1px dotted #b2b2b2;
  }
  .header .menu > ul > li.sub.inSub > a {
    color: #fff;
  }
  .header .menu > ul > li.sub.inSub > a::after {
    content: "";
    width: 100%;
    background: #e20c0c;
    position: absolute;
    left: 0;
    top: -1px;
    bottom: 0;
    z-index: -1;
  }
  .header .menu > ul > li.sub.inSub .trSub::before {
    background-image: url("../images/arr_right.png");
  }
  .header .menu > ul > li.sub > a::before {
    display: none;
  }
  .header .menu > ul > li.sub .trSub {
    width: 13.02083vw;
    height: 17.44792vw;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10;
  }
  .header .menu > ul > li.sub .trSub::before {
    content: "";
    width: 2.08333vw;
    height: 3.64583vw;
    -moz-background-size: contain;
         background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../images/arrow_red.png");
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.64583vw;
    margin: auto;
    -webkit-transform: rotate(90deg);
       -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .header .menu > ul > li.sub .wrap {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .5s;
    -moz-transition: max-height .5s;
    transition: max-height .5s;
  }
  .header .menu > ul > li.sub .wrap ul {
    padding-top: 5.20833vw;
    padding-bottom: 10.67708vw;
  }
  .header .menu > ul > li.sub .wrap ul li a {
    display: block;
    font-size: 3.64583vw;
    line-height: 9.11458vw;
    color: #000;
    padding: 0 9.76563vw;
    position: relative;
  }
  .header .menu > ul > li.sub .wrap ul li a::before {
    content: "";
    width: 2.08333vw;
    height: 3.64583vw;
    -moz-background-size: contain;
         background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../images/arrow_gray.png");
    position: absolute;
    left: 4.29688vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .header .menu > ul > li.sub .wrap ul.sp-mega li.sp-mega__cat + li.sp-mega__cat {
    margin-top: 3.125vw;
  }
  .header .menu > ul > li.sub .wrap ul.sp-mega {
    padding-top: 0;
    padding-bottom: 0;
  }
  .header .menu > ul > li.sub .wrap ul.sp-mega .sp-mega__toggle {
    display: block;
    width: 100%;
    border: 0;
    background: #f2f2f2;
    font-weight: 700;
    font-size: 3.64583vw;
    line-height: 9.11458vw;
    padding: 0 9.76563vw 0 9.76563vw;
    text-align: left;
    position: relative;
  }
  .header .menu > ul > li.sub .wrap ul.sp-mega .sp-mega__toggle::after {
    content: "";
    width: 2.08333vw;
    height: 3.64583vw;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../images/arrow_red.png");
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.64583vw;
    margin: auto;
    transform: rotate(90deg);
    transition: transform .2s ease;
  }
  .header .menu > ul > li.sub .wrap ul.sp-mega li.sp-mega__cat.inSub .sp-mega__toggle::after {
    transform: rotate(-90deg);
  }
  .header .menu > ul > li.sub .wrap ul.sp-mega .sp-mega__list {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease;
    padding-top: 0;
    padding-bottom: 0;
    margin: 0;
  }
  .header .menu > ul > li.sub .wrap ul.sp-mega .sp-mega__list li a {
    padding-left: 12.5vw;
  }
  .header .menu > ul > li > a {
    display: block;
    font-size: 3.64583vw;
    line-height: 9.11458vw;
    color: #000;
    letter-spacing: 0.13021vw;
    padding: 4.29688vw 3.64583vw 4.16667vw;
    position: relative;
    -webkit-perspective: 1px;
       -moz-perspective: 1px;
            perspective: 1px;
  }
  .header .menu > ul > li > a::before {
    content: "";
    width: 2.08333vw;
    height: 3.64583vw;
    -moz-background-size: contain;
         background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../images/arrow_red.png");
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3.64583vw;
    margin: auto;
  }
  .header .menu > ul .contact a {
    background: #e20c0c;
    color: #fff;
  }
  .header .menu > ul .contact a::before {
    content: "";
    -moz-background-size: contain;
         background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../images/arr_right.png");
  }
  .header .menu .link {
    padding: 3.51563vw 3.64583vw 6.64063vw;
  }
  .header .menu .link a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    min-height: 17.05729vw;
    background: #383838;
    font-size: 3.64583vw;
    line-height: 4.94792vw;
    color: #fff;
    letter-spacing: 0.19531vw;
    padding: 2.86458vw 6.51042vw;
    position: relative;
  }
  .header .menu .link a::before {
    content: "";
    width: 0.39063vw;
    background: #e20c0c;
    position: absolute;
    top: 2.86458vw;
    bottom: 2.86458vw;
    left: 2.99479vw;
  }
  .header .menu .link a + a {
    margin-top: 2.21354vw;
  }
  .fix_bnr {
    background: #00479d;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100vw;
    height: 27.34375vw;
    visibility: hidden;
    z-index: 100;
  }
  .fix_bnr a {
    width: 100%;
    display: block;
    text-align: center;
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .fix_bnr a img {
    width: 100%;
  }
  .fix_bnr .fix_close_btn {
    cursor: pointer;
    position: absolute;
    right: 0;
    bottom: 22.13542vw;
    z-index: 110;
  }
  .fix_bnr .fix_close_btn img {
    width: 5.20833vw;
    height: auto;
  }
  .fix_bnr .fix_bnr01, .fix_bnr .fix_bnr02, .fix_bnr .fix_bnr03 {
    display: none;
  }
  .fix_bnr .fix_bnr01.active, .fix_bnr .fix_bnr02.active, .fix_bnr .fix_bnr03.active {
    display: block;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 1;
  }
  .menuTel {
    width: 100%;
    height: 0;
    background: #fff;
    position: fixed;
    top: 15.10417vw;
    left: 0;
    overflow: hidden;
    opacity: 0;
    -webkit-transition: height .5s ease, opacity .5s ease;
    -moz-transition: height .5s ease, opacity .5s ease;
    transition: height .5s ease, opacity .5s ease;
  }
  .menuTel.active {
    opacity: 1;
    height: -webkit-calc(100% - 15.10417vw);
    height: -moz-calc(100% - 15.10417vw);
    height: calc(100% - 15.10417vw);
    overflow-y: auto;
  }
  .menuTel ul {
    padding-bottom: 10.67708vw;
  }
  .menuTel ul li {
    position: relative;
    border-bottom: 1px dotted #b2b2b2;
  }
  .menuTel ul li a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 3.64583vw;
    line-height: 9.11458vw;
    color: #000;
    letter-spacing: 0.13021vw;
    padding: 3.6vw 2.6vw 3.6vw 6vw;
    position: relative;
  }
  .menuTel ul li a::before {
    content: "";
    width: 2.08333vw;
    height: 3.64583vw;
    -moz-background-size: contain;
         background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../images/arrow_red.png");
    position: absolute;
    right: 2.60417vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .menuTel ul li a em {
    font-size: 3.64583vw;
    color: #000;
    font-weight: bold;
    font-style: normal;
    margin-left: 2.34375vw;
    letter-spacing: 0.4vw;
  }
  .menuTel ul li a span:first-of-type {
    color: #e20c0c;
    font-size: 3.64583vw;
  }
  .menuTel ul li a span:last-of-type {
    color: #838383;
    font-size: 2.86458vw;
    letter-spacing: 0.25vw;
  }
  .menuTel .link {
    padding: 3.51563vw 3.64583vw 6.64063vw;
  }
  .menuTel .link a {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    min-height: 17.05729vw;
    background: #383838;
    font-size: 3.64583vw;
    line-height: 4.94792vw;
    color: #fff;
    letter-spacing: 0.19531vw;
    padding: 2.86458vw 6.51042vw;
    position: relative;
  }
  .menuTel .link a::before {
    content: "";
    width: 0.39063vw;
    background: #e20c0c;
    position: absolute;
    top: 2.86458vw;
    bottom: 2.86458vw;
    left: 2.99479vw;
  }
  .menuTel .link a + a {
    margin-top: 2.21354vw;
  }
  main {
    padding-top: 15.10417vw;
  }
  .footer-top {
    background: #f2f2f2;
    padding: 3.77604vw 3.90625vw;
  }
  .footer-top .row {
    background: #fff;
    padding: 4.16667vw 0 5.07813vw;
    text-align: center;
  }
  .footer-top p {
    font-weight: bold;
    font-size: 3.38542vw;
    line-height: 4.51432vw;
    color: #e20c0c;
    letter-spacing: 0.13021vw;
  }
  .footer-top .tel_wrap {
    padding-left: 5.46875vw;
    width: 58.59375vw;
    margin: 3.125vw auto 0;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    position: relative;
  }
  .footer-top .tel_wrap::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    background: url(../images/hd_phone_pc.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 5.46875vw;
    height: 5.46875vw;
  }
  .footer-top .tel_wrap .tel_inner {
    margin-left: 3.125vw;
  }
  .footer-top .tel_wrap .tel_inner .tel {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 2.60417vw;
  }
  .footer-top .tel_wrap .tel_inner .tel span {
    color: #e20c0c;
    font-size: 2.60417vw;
    margin-right: 1.04167vw;
    -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
            writing-mode: vertical-lr;
    display: block;
  }
  .footer-top .tel_wrap .tel_inner .tel a {
    display: block;
  }
  .footer-top .tel_wrap > span {
    display: block;
    font-size: 3.125vw;
    margin-top: 2.47396vw;
    margin-left: 1.5625vw;
    text-align: left;
    letter-spacing: 0.19531vw;
  }
  .footer-top a.btn {
    width: 59.50521vw;
    margin: 5.20833vw auto 0;
    position: relative;
    padding-right: 3.125vw;
  }
  .footer-top a.btn span {
    letter-spacing: 0.09115vw;
    padding-bottom: 0.65104vw;
  }
  .footer-sponsor {
    background-color: #fff;
    width: 100%;
    height: auto;
    padding: 5.07813vw 0 3.125vw;
  }
  .footer-sponsor .sponsor {
    margin: 0 auto;
    padding: 0 5.20833vw;
  }
  .footer-sponsor .sponsor__list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
       -moz-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 -3.125vw -3.125vw 0;
  }
  .footer-sponsor .sponsor__list li {
    width: 39.0625vw;
    height: auto;
    margin: 0 3.125vw 3.125vw 0;
  }
  .footer-sponsor .sponsor__list img {
    width: 100%;
    height: auto;
  }
  .footer-bot {
    padding: 11.32813vw 4.42708vw 11.71875vw;
  }
  .footer-bot .lf .ftLogo {
    width: 29.55729vw;
    display: block;
  }
  .footer-bot .lf .ftLogo img {
    display: block;
    width: 100%;
    margin-bottom: 1.5625vw;
  }
  .footer-bot .lf .ftLogo span {
    font-size: 3.38542vw;
    line-height: 4.42708vw;
    color: #666;
    letter-spacing: 0.23438vw;
  }
  .footer-bot .lf p {
    font-size: 3.125vw;
    line-height: 3.38542vw;
    color: #666;
    letter-spacing: 0.26042vw;
    margin-top: 4.16667vw;
  }
  .footer-bot .rg ul {
    padding-top: 6.64063vw;
  }
  .footer-bot .rg ul li:not(:last-of-type) {
    margin-bottom: 3.77604vw;
  }
  .footer-bot .rg ul li a {
    display: block;
    font-size: 3.125vw;
    line-height: 3.90625vw;
    color: #716d6d;
    position: relative;
    padding-left: 5.33854vw;
  }
  .footer-bot .rg ul li a::before {
    content: "";
    width: 1.5625vw;
    height: 2.60417vw;
    background: url("../images/arrow_ft.png") no-repeat center;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    left: 0.52083vw;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .footer-bot .rg p {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 2.60417vw;
    line-height: 5.20833vw;
    color: #716d6d;
    letter-spacing: 0.14323vw;
    text-align: center;
    margin-top: 10.9375vw;
    padding-right: 2.60417vw;
  }
  .product_cont .aside {
    margin: 11.71875vw 0 0;
  }
  .product_cont .aside .aside_blank {
    display: inline-block;
    position: relative;
  }
  .product_cont .aside .aside_blank a {
    display: inline-block;
  }
  .product_cont .aside .aside_blank a:before {
    content: "";
    position: absolute;
    background: url(../images/icon_blank.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    top: 50%;
    right: -4.16667vw;
    width: 2.08333vw;
    height: 2.08333vw;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .product_cont .aside h3 {
    background: #404040;
    color: #fff;
    font-size: 3.64583vw;
    line-height: 1.6;
    padding: 2.60417vw 1.95313vw 2.60417vw 2.21354vw;
    font-weight: 400;
    margin-bottom: 1.95313vw;
  }
  .product_cont .aside_lst > li {
    display: block;
    position: relative;
    border-bottom: 1px solid #e5e5e5;
  }
  .product_cont .aside_lst > li:after {
    content: '';
    display: block;
    width: 2.60417vw;
    height: 2.60417vw;
    border: 0.78125vw solid #bebebe;
    -moz-border-radius: 999px;
         border-radius: 999px;
    position: absolute;
    top: 3.25521vw;
    left: 1.95313vw;
  }
  .product_cont .aside_lst > li > a {
    padding: 1.95313vw 1.95313vw 1.95313vw 6.51042vw;
    display: block;
    font-size: 3.38542vw;
    color: #383838;
    line-height: 1.6;
    font-weight: 400;
  }
  .product_cont .aside_lst > li > a.isActive {
    color: #e20c0c;
  }
  .product_cont .aside_lst > li > a small {
    font-size: 2.60417vw;
  }
  .product_cont .aside_lst ul {
    padding: 1.30208vw 0 1.30208vw 9.11458vw;
  }
  .product_cont .aside_lst ul li a {
    display: block;
    padding: 1.30208vw 0;
    font-size: 3.125vw;
    color: #383838;
  }
  .product_cont .aside_lst ul li a.isActive {
    color: #e20c0c;
  }
  .product_cont .repair {
    margin-bottom: 8.33333vw;
  }
  .product_cont .repair .aside_lst .blue a:nth-of-type(1) {
    color: #0b5cd6;
  }
  .product_cont .repair .aside_lst .blue a:nth-of-type(n+2) {
    color: #000;
    font-size: 3.125vw;
    white-space: nowrap;
  }
  .product_cont .repair .aside_lst .blue:after {
    border: 0.78125vw solid #0b5cd6;
  }
  .product_cont .repair .aside_lst li::after {
    border: 0.78125vw solid #bebebe;
  }
  .product_cont .renovation p {
    font-size: 3.125vw;
    margin-top: 1em;
  }
  .product_cont .renovation p a {
    color: #52aa21;
  }
  .product_cont .renovation .aside_lst {
    margin-top: 1.5625vw;
  }
  .product_cont .renovation .aside_lst li {
    padding: 1.82292vw 0;
  }
  .product_cont .renovation .aside_lst li::after {
    top: 5.20833vw;
    border: 0.78125vw solid #bebebe;
  }
  .product_cont .renovation .aside_lst .green::after {
    border: 0.78125vw solid #52aa21;
  }
  .product_cont .renovation .aside_lst .green > a {
    color: #52aa21;
  }
  .product_cont .renovation .aside_lst .green div {
    margin-left: 10.41667vw;
    margin-top: 1.04167vw;
  }
  .product_cont .renovation .aside_lst .green div > a {
    display: block;
    font-size: 3.125vw;
    margin-bottom: 3.125vw;
    letter-spacing: 0.13021vw;
  }
  .product_lst {
    padding-top: 3.90625vw;
  }
  .product_lst .item {
    display: block;
    margin-bottom: 10.41667vw;
  }
  .product_lst .item_ttl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: relative;
    margin-bottom: 3.90625vw;
  }
  .product_lst .item_ttl_txt {
    border-left: 0.65104vw solid #e20c0c;
    padding-left: 2.60417vw;
    display: block;
    font-size: 3.64583vw;
    line-height: 6.51042vw;
    letter-spacing: 0.11719vw;
    font-weight: 700;
    color: #404040;
  }
  .product_lst .item_ttl .vaBot {
    vertical-align: sub;
    line-height: 1;
  }
  .product_lst .item_ttl .tag {
    width: 26.5625vw;
    position: absolute;
    right: 0.26042vw;
    top: 0;
    text-align: center;
    z-index: 10;
  }
  .product_lst .item_ttl .tag span {
    display: block;
    font-size: 3.125vw;
    line-height: 1.143;
    font-weight: 700;
    padding: 1.30208vw 1.30208vw;
  }
  .product_lst .item_ttl .tag span + span {
    margin-top: 0.78125vw;
  }
  .product_lst .item_ttl .tag.tag_red span {
    color: #fff;
    background: #e20c0c;
    border: 1px solid #e20c0c;
  }
  .product_lst .item_ttl .tag.tag_line span {
    color: #666464;
    background: #fff;
    border: 1px solid #e20c0c;
  }
  .product_lst .item figure {
    margin-bottom: 2.60417vw;
  }
  .product_lst .item figure img {
    display: block;
    margin: auto;
  }
  .product_lst .item .content p {
    font-size: 3.38542vw;
    line-height: 4.94792vw;
  }
  .product_btn {
    margin: 0 auto;
  }
  .btn {
    font-size: 3.38542vw;
    line-height: 1;
    background: #e20c0c;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 500;
    text-align: center;
  }
  .btn span {
    color: #fff;
    display: block;
  }
  .btn.btn_small {
    height: 9.76563vw;
    font-size: 2.34375vw;
  }
  .btn.btn_small.link_right:after {
    content: '';
    display: inline-block;
    width: 1.17188vw;
    height: 1.95313vw;
    background: url(../images/arr_right.png) no-repeat;
    -moz-background-size: 1.17188vw 1.95313vw;
         background-size: 1.17188vw 1.95313vw;
  }
  .btn.btn_big {
    height: 13.02083vw;
    border-bottom: 0.65104vw solid #9f0a0a;
  }
  .btn.link_left:before {
    content: '';
    display: inline-block;
    width: 1.5625vw;
    height: 2.60417vw;
    background: url(../images/arr_right.png) no-repeat;
    -moz-background-size: 1.5625vw 2.60417vw;
         background-size: 1.5625vw 2.60417vw;
    margin-right: 2.60417vw;
  }
  .btn.link_right:after {
    content: '';
    display: inline-block;
    width: 1.5625vw;
    height: 2.60417vw;
    margin-left: 2.60417vw;
    background: url(.10/ima8es/arr_right.png) no-repeat;
    -moz-background-size: 1.5625vw 2.60417vw;
         background-size: 1.5625vw 2.60417vw;
  }
  .btn.btn_white {
    border-bottom-color: #d2d2d2;
    background: #f3f3f3;
  }
  .btn.btn_white.link_left:before {
    background: url(../images/arr_right_red.png) no-repeat;
    -moz-background-size: 1.5625vw 2.60417vw;
         background-size: 1.5625vw 2.60417vw;
  }
  .btn.btn_white span {
    color: #000;
  }
  .result_bnr {
    margin-top: 4.16667vw;
    border: solid 1px #cdcdcd;
  }
  .product {
    padding-bottom: 11.71875vw;
  }
  .product .productMain .product__featured {
    margin-bottom: 5.85938vw;
  }
  .product .productMain .product__featured img {
    width: 100%;
    height: auto;
    margin-bottom: 5.20833vw;
  }
  .product .productMain .product__featured figcaption {
    font-size: 5.46875vw;
    line-height: 1.5;
    color: #404040;
    font-weight: 400;
  }
  .product .productMain .product__block + .product__block {
    margin-top: 10.41667vw;
  }
  .product .productMain .product__block .product__des {
    font-size: 3.38542vw;
    line-height: 1.5;
    color: #404040;
    margin-bottom: 6.51042vw;
  }
  .product .productMain .product__block .product__des span {
    font-size: 4.42708vw;
    line-height: 1.5;
    color: #e20c0c;
    display: block;
    margin-bottom: 1.30208vw;
  }
  .product .productMain .product__draw {
    text-align: center;
    margin-bottom: 5.20833vw;
  }
  .product .productMain .product__ft {
    border: 1px solid #e1e1e1;
    padding: 3.90625vw 2.99479vw;
    margin-top: 6.51042vw;
    margin-bottom: 6.51042vw;
  }
  .product .productMain .product__ft .tt {
    margin-bottom: 3.90625vw;
  }
  .product .productMain .product__line {
    text-align: center;
    margin-bottom: 7.8125vw;
    margin-top: 3.90625vw;
  }
  .product .productMain .product__line p {
    display: inline-block;
    font-weight: bold;
    font-size: 3.90625vw;
    line-height: 1.5;
    color: #e20c0c;
    border-bottom: 1px solid #e20c0c;
  }
  .product .productMain .product__line a {
    font-weight: bold;
    font-size: 3.90625vw;
    line-height: 1.5;
    color: #e20c0c;
    border-bottom: 1px solid #e20c0c;
  }
  .product .productMain .product__btn {
    margin-bottom: 5.20833vw;
  }
  .product .productMain .product__banner {
    text-align: center;
    margin-bottom: 5.20833vw;
  }
  .product .productMain .latest {
    padding: 2.60417vw;
    background: #e20c0c url("../images/ic_partent.png") repeat;
    -moz-background-size: 3px 3px;
         background-size: 3px 3px;
  }
  .product .productMain .latest__big {
    background: #fff;
    padding: 2.60417vw 2.60417vw 5.20833vw;
  }
  .product .productMain .latest__big figure {
    margin-top: 1.5625vw;
    margin-bottom: 3.90625vw;
    text-align: center;
  }
  .product .productMain .latest__big figure img {
    height: auto;
  }
  .product .productMain .latest__big .latest__ct h4 {
    font-size: 4.16667vw;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 3.90625vw;
    text-align: center;
  }
  .product .productMain .latest__big .latest__ct .btn {
    height: 11.97917vw;
    font-size: 3.38542vw;
  }
  .product .productMain .latest__list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .product .productMain .latest__list li {
    background: #fff;
    width: 100%;
    text-align: center;
    padding: 2.60417vw 3.90625vw;
  }
  .product .productMain .latest__list li + li {
    margin-top: 2.60417vw;
  }
  .product .productMain .latest__list li h4 {
    font-size: 3.51563vw;
    line-height: 1;
    color: #e20c0c;
    text-align: center;
    font-weight: bold;
    margin-bottom: 1.30208vw;
  }
  .product .productMain .latest__list li .latest__btn {
    font-size: 2.99479vw;
    line-height: 1;
    text-align: center;
    font-weight: bold;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .product .productMain .latest__list li .latest__btn:before {
    content: "";
    width: 4.42708vw;
    height: 4.42708vw;
    background: url("../images/ic_arr.jpg") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    display: block;
    margin-right: 1.30208vw;
    -webkit-transition: -webkit-transform .3s ease-out;
    transition: -webkit-transform .3s ease-out;
    -moz-transition: transform .3s ease-out, -moz-transform .3s ease-out;
    transition: transform .3s ease-out;
    transition: transform .3s ease-out, -webkit-transform .3s ease-out, -moz-transform .3s ease-out;
  }
  .product .productMain .latest__list li .latest__btn span {
    padding-top: 0.26042vw;
  }
  .product .productMain .latest__list li .latest__btn:hover:before {
    -webkit-transform: translateX(3px);
       -moz-transform: translateX(3px);
        -ms-transform: translateX(3px);
            transform: translateX(3px);
  }
  .product .productMain .tab {
    margin-top: 7.8125vw;
  }
  .product .productMain .tab .tab__menu {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .product .productMain .tab .tab__menu li {
    width: 50%;
    margin-bottom: 1px;
  }
  .product .productMain .tab .tab__menu li span {
    width: 100%;
    height: 15.625vw;
    display: block;
    background: #ededed;
    padding: 1.95313vw;
    font-size: 3.125vw;
    line-height: 1.3;
    font-weight: bold;
    color: #404040;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    text-align: center;
  }
  .product .productMain .tab .tab__menu li span img {
    margin-right: 1.30208vw;
    width: 10.74219vw;
    height: auto;
  }
  .product .productMain .tab .tab__menu li span img.imgCl {
    width: 12.69531vw;
  }
  .product .productMain .tab .tab__menu li:not(:last-child) {
    border-right: 1px solid #fff;
  }
  .product .productMain .tab .tab__menu li.active span {
    background: #e20c0c;
    color: #fff;
  }
  .product .productMain .tab .tab__menu li:first-child span img {
    width: 12.5vw;
  }
  .product .productMain .tab .tab__wrap {
    border: 1px solid #dadada;
    padding: 3.90625vw;
    margin-top: -1px;
  }
  .product .productMain .tab .tab__wrap .tab__btn {
    margin-bottom: 3.90625vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .product .productMain .tab .tab__wrap .tab__btn a {
    color: #e20c0c;
    font-size: 3.125vw;
    line-height: 1;
    border-bottom: 1px solid #e20c0c;
  }
  .product .productMain .tab .tab__wrap .tab__btn a:not(:last-child) {
    margin-right: 2.60417vw;
  }
  .product .productMain .tab .tab__wrap .tab__btn a.pdf {
    border: 1px solid #e20c0c;
    padding: 1.04167vw 1.30208vw;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .product .productMain .tab .tab__wrap .tab__btn a.pdf:before {
    content: "";
    width: 2.08333vw;
    height: 2.34375vw;
    display: block;
    background: url("../images/icon_pdf.png") no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    margin-right: 1.30208vw;
  }
  .product .productMain .tab .tab__wrap .tab__child {
    display: block;
    text-align: center;
  }
  .product .productMain .tab .tab__wrap .tab__child figure {
    display: inline-block;
    width: 100%;
    overflow: hidden;
  }
  .product .productMain .tab .tab__wrap .tab__child figure img {
    max-width: 100%;
    width: 100%;
  }
  .product .productMain .tab .tab__wrap .tab__child figure figcaption {
    font-size: 3.125vw;
    line-height: 1;
    text-align: left;
    margin-top: 1.95313vw;
    display: block;
  }
  .product .productMain .tab--none .tab__menu {
    -webkit-box-pack: start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .product .productMain .tab--none .tab__menu li {
    width: auto;
    -webkit-box-flex: 0;
       -moz-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    margin-bottom: 0;
  }
  .product .productMain .tab--none .tab__menu li span img {
    margin-right: 0;
    width: 13.47656vw;
    height: auto;
  }
  .product .productMain .tab--none .tab__menu li:not(:last-child) {
    border-right: 1px solid #fff;
  }
  .product .productMain .tab--none .tab__wrap {
    border-top: 1px solid #dadada;
    margin-top: -1px;
  }
  .product .productMain .grip-box {
    margin-bottom: 7.8125vw;
  }
  .product .productMain .grip-box ul {
    overflow: hidden;
  }
  .product .productMain .grip-box ul li {
    float: left;
    width: 28.90625vw;
    height: 18.88021vw;
  }
  .product .productMain .grip-box ul li:nth-of-type(1) {
    width: 60.41667vw;
    height: 39.71354vw;
    margin-right: 2.86458vw;
  }
  .product .productMain .grip-box ul li:nth-of-type(2) {
    margin-bottom: 1.95313vw;
  }
  .product .productMain .grip-box ul li img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .product .productMain .grip-box p {
    font-size: 3.38542vw;
    line-height: 4.6875vw;
    color: #404040;
    letter-spacing: 0.13021vw;
    margin-top: 2.60417vw;
  }
  .block_popup {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100vh;
    z-index: 9999;
  }
  .block_popup .popup_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10;
  }
  .block_popup .popup_item {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 92%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 100;
  }
  .block_popup .popup_item::before {
    content: "";
    position: absolute;
    width: 3.125vw;
    height: 0.26042vw;
    background: #acaca9;
    top: -3.125vw;
    right: 0;
    -webkit-transform: rotateZ(-45deg);
       -moz-transform: rotateZ(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotateZ(-45deg);
  }
  .block_popup .popup_item::after {
    content: "";
    position: absolute;
    width: 3.125vw;
    height: 0.26042vw;
    background: #acaca9;
    top: -3.125vw;
    right: 0;
    -webkit-transform: rotateZ(-135deg);
       -moz-transform: rotateZ(-135deg);
        -ms-transform: rotate(-135deg);
            transform: rotateZ(-135deg);
  }
  .block_popup #player {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
  }
  .block_popup #player iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .block_popup .popup_item {
    width: 72%;
  }
}

@media screen and (max-width: 768px) {
  .product__about {
    background: #f9f9f9;
    padding: 7.42188vw 3.90625vw 9.50521vw;
    margin: 0 -webkit-calc(50% - 50vw);
    margin: 0 -moz-calc(50% - 50vw);
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .product__about .ttl__wrap {
    padding: 0 2.60417vw 0;
    margin-bottom: 5.33854vw;
  }
  .product__about .ttl__wrap h3 {
    font-size: 4.6875vw;
    font-weight: 700;
    line-height: 5.72917vw;
    letter-spacing: 0.13021vw;
  }
  .product__about .ttl__wrap h3 .red {
    display: block;
    color: #e20c0c;
  }
  .product__about .ttl__wrap figure {
    width: 63.80208vw;
    margin: 5.98958vw 4.16667vw 0 auto;
  }
  .product__about .ttl__wrap figure img {
    width: 100%;
  }
  .product__about .ttl__wrap a {
    border: 1px solid #e20c0c;
    color: #e20c0c;
    font-size: 1.4rem;
    line-height: 1;
    padding: 5.5px 10px;
    display: -webkit-inline-box;
    display: -moz-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    -webkit-transition: opacity .3s ease-out;
    -moz-transition: opacity .3s ease-out;
    transition: opacity .3s ease-out;
  }
  .product__about .ttl__wrap a::before {
    content: "";
    width: 6px;
    height: 9px;
    display: block;
    background: url(../images/arr_right_red.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    margin-right: 5px;
  }
  .product__about .about_fig {
    margin-top: 2.60417vw;
  }
  .product__about .about_fig a {
    display: block;
    background: #fff;
    border-top: solid 1px #000;
    border-bottom: solid 1px #000;
    padding: 2.60417vw 3.125vw 4.16667vw;
  }
  .product__about .about_fig a h5 {
    font-size: 3.38542vw;
    letter-spacing: 0.15625vw;
    line-height: 1;
    padding-left: 3.90625vw;
    margin-bottom: 4.16667vw;
    position: relative;
  }
  .product__about .about_fig a h5 em {
    font-size: 4.16667vw;
    font-style: normal;
    font-weight: bold;
    color: #e20c0c;
  }
  .product__about .about_fig a h5::before {
    content: "";
    position: absolute;
    background: url(../images/arrow_double.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 3.125vw;
    height: 3.25521vw;
    top: 50%;
    left: -0.26042vw;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .product__about .about_fig a figure {
    width: 100%;
    overflow: hidden;
  }
  .product__about .about_fig a figure img {
    width: 100%;
  }
  .product__about .about__group {
    margin-top: 7.29167vw;
    position: relative;
  }
  .product__about .about__group h4 {
    font-size: 4.16667vw;
    padding-left: 4.94792vw;
    letter-spacing: 0.15625vw;
    position: relative;
  }
  .product__about .about__group h4::before {
    content: "";
    position: absolute;
    background: url(../images/ic_check.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 4.29688vw;
    height: 4.6875vw;
    top: 0.26042vw;
    left: 0;
  }
  .product__about .about__group .note {
    background: #fff;
    padding: 3.64583vw 2.08333vw;
    margin-top: 7.03125vw;
  }
  .product__about .about__group .note p {
    font-size: 3.38542vw;
    margin-left: 1em;
    text-indent: -1em;
  }
  .product__about .about__group .inclination {
    border: solid 1px #e20c0c;
    color: #e20c0c;
    font-size: 3.38542vw;
    padding: 1.30208vw 0;
    width: 54.42708vw;
    top: -1.5625vw;
    right: 0;
    text-align: center;
    position: absolute;
  }
  .product__about .about__group .inclination::before {
    content: "";
    position: absolute;
    border-top: solid 0.26042vw #e20c0c;
    border-right: solid 0.26042vw #e20c0c;
    top: 50%;
    left: 3.125vw;
    width: 1.30208vw;
    height: 1.30208vw;
    -webkit-transform: translateY(-50%) rotateZ(45deg);
       -moz-transform: translateY(-50%) rotateZ(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotateZ(45deg);
  }
  .product__about .spec {
    margin-top: 2.34375vw;
  }
  .product__about .spec .spec__form li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    border-top: solid 1px #000;
    padding: 1.5625vw 3.125vw;
    line-height: 7.03125vw;
  }
  .product__about .spec .spec__form li:last-of-type {
    border-bottom: solid 1px #000;
  }
  .product__about .spec .spec__form li:nth-of-type(5) {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
       -moz-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    width: 100%;
  }
  .product__about .spec .spec__form li:nth-of-type(5) > span {
    width: 100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .product__about .spec .spec__form li span {
    font-size: 3.38542vw;
  }
  .product__about .spec .spec__form li em {
    display: block;
    font-size: 3.64583vw;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 2px;
  }
  .product__about .spec .spec__end {
    margin-top: 6.25vw;
  }
  .product__about .spec .spec__end li {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 2.60417vw;
    background: #fff;
    border-top: solid 1px #000;
    min-height: 12.76042vw;
  }
  .product__about .spec .spec__end li:last-of-type {
    border-bottom: solid 1px #000;
  }
  .product__about .spec .spec__end li span:nth-of-type(1) {
    font-size: 3.38542vw;
  }
  .product__about .spec .spec__end li span:nth-of-type(2) {
    text-align: center;
  }
  .product__about .spec .spec__end li span:nth-of-type(2) em {
    display: block;
    font-size: 3.64583vw;
    font-weight: 700;
    font-style: normal;
    letter-spacing: 0.13021vw;
  }
  .product__about .spec .spec__end li span:nth-of-type(2) small {
    display: block;
    font-size: 2.86458vw;
  }
  .product__about .spec .spec__end .bFlex {
    display: block;
  }
  .product__about .spec .spec__end .bFlex dl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    text-align: center;
  }
  .product__about .spec .spec__end .bFlex dl + dl {
    margin-top: 2.08333vw;
  }
  .product__about .spec .spec__end .bFlex dl dt {
    font-size: 3.38542vw;
  }
  .product__about .spec .spec__end .bFlex dl dd {
    font-size: 3.64583vw;
    min-width: 29.94792vw;
  }
  .product__about .spec .spec__end .bFlex dl dd small {
    font-size: 2.86458vw;
  }
  .product__about .spec p {
    text-align: right;
    margin-top: 0.52083vw;
    font-size: 3.38542vw;
    padding-right: 2.60417vw;
  }
  .product__block .tt-05 {
    font-size: 4.16667vw;
    margin-top: 8vw;
    padding-bottom: 1.5625vw;
    border-bottom: solid 0.39063vw #e20c0c;
    margin-bottom: 2.08333vw;
  }
  .product__block .tt-05 span {
    color: #e20c0c;
  }
  .product__block .tt-06 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 9.11458vw;
    font-size: 4.6875vw;
    line-height: 5.98958vw;
    letter-spacing: 0.15625vw;
  }
  .product__block .tt-06 > span {
    display: inline-block;
    padding: 0 4.16667vw;
    position: relative;
  }
  .product__block .tt-06 > span .red {
    color: #e20c0c;
  }
  .product__block .tt-06 > span::before {
    content: "";
    background: url(../images/ic_kakko01.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    top: 50%;
    left: 0;
    width: 2.86458vw;
    height: 11.84896vw;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .product__block .tt-06 > span::after {
    content: "";
    background: url(../images/ic_kakko02.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    position: absolute;
    top: 50%;
    right: 0;
    width: 2.86458vw;
    height: 11.84896vw;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .product__block .block__aria .group__lst {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 5.98958vw;
  }
  .product__block .block__aria .group__lst li {
    position: relative;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    padding-left: 3.64583vw;
    font-size: 3.38542vw;
    line-height: 6.77083vw;
    white-space: nowrap;
    width: 53%;
  }
  .product__block .block__aria .group__lst li:nth-of-type(2n-1) {
    width: 47%;
  }
  .product__block .block__aria .group__lst li::before {
    content: "";
    position: absolute;
    background: #d6d6d6;
    width: 2.60417vw;
    height: 2.60417vw;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%) rotateZ(45deg);
       -moz-transform: translateY(-50%) rotateZ(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotateZ(45deg);
  }
  .product__block .block__aria p {
    font-size: 3.38542vw;
    margin-top: 0.78125vw;
  }
  .product__block .desc {
    font-size: 3.38542vw;
    margin-bottom: 3.51563vw;
  }
  .product__block .block_wrap dl {
    margin-top: 3.90625vw;
  }
  .product__block .block_wrap dl dt {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 3.38542vw;
    background: #ededed;
    text-align: center;
    height: 12.23958vw;
  }
  .product__block .block_wrap dl dd figure {
    width: 100%;
    overflow: hidden;
  }
  .product__block .block_wrap dl dd figure img {
    width: 100%;
  }
  .product__block .block_wrap > figure {
    margin-top: 3.90625vw;
  }
  .product__block .block_wrap .block_item {
    margin-top: 5.33854vw;
  }
  .product__block .block_wrap .block_item dt {
    background: #e20c0c;
    color: #fff;
    font-size: 3.90625vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 14.32292vw;
  }
  .product__block .block_wrap .block_item dd figure {
    border: solid 1px #eeeeee;
    margin-top: 3.90625vw;
  }
  .product__block .gallery3 {
    margin-top: 5.98958vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .product__block .gallery3 li {
    width: 45.05208vw;
  }
  .product__block .gallery3 li:nth-of-type(n+3) {
    margin-top: 1.69271vw;
  }
  .product__block .gallery3 li figure {
    margin: 0;
    width: 100%;
  }
  .product__block .gallery3 li figure figcaption {
    margin-top: 1.5625vw;
    font-size: 3.125vw;
    line-height: 3.64583vw;
    margin-bottom: 3.125vw;
  }
  .product__block .gallery3 li figure a {
    position: relative;
  }
  .product__block .gallery3 li figure a::before {
    content: "";
    position: absolute;
    background: url(../images/ic_zoom.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 4.94792vw;
    height: 4.94792vw;
    right: 1.30208vw;
    bottom: 1.30208vw;
  }
  .product__block .gallery3 li figure a img {
    width: 100%;
  }
  .product__block .block_item2 {
    margin-top: 7.55208vw;
  }
  .product__block .block_item2 a {
    display: block;
  }
  .product__block .block_item2 a.inactive {
    pointer-events: none !important;
  }
  .product__block .block_item2 a.inactive dl dt {
    background-color: #9d9d9d !important;
  }
  .product__block .block_item2 dl dt {
    height: 15.625vw;
    background: #e20c0c;
    color: #fff;
    font-size: 4.42708vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: initial;
       -moz-box-pack: initial;
        -ms-flex-pack: initial;
            justify-content: initial;
    width: 100%;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    line-height: 6.25vw;
    padding: 0 2.60417vw;
    position: relative;
    text-align: left;
  }
  .product__block .block_item2 dl dt::before {
    content: "";
    position: absolute;
    border-top: solid 0.52083vw #fff;
    border-right: solid 0.52083vw #fff;
    width: 2.08333vw;
    height: 2.08333vw;
    top: 50%;
    right: 2.60417vw;
    -webkit-transform: translateY(-50%) rotateZ(45deg);
       -moz-transform: translateY(-50%) rotateZ(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotateZ(45deg);
  }
  .product__block .block_item2 dl dd {
    margin-top: 3.90625vw;
  }
  .product__block .block_item2 dl dd .cad {
    border: solid 1px #d9d9d9;
    padding: 0 13.02083vw;
  }
  .product__block .block_item2 .other {
    margin-top: 6.51042vw;
  }
  .product__block .block_item2 .other a {
    display: block;
    font-size: 4.42708vw;
    background: #f9f9f9;
    border: solid 1px #d9d9d9;
    line-height: 15.10417vw;
    padding: 0 2.60417vw;
    position: relative;
  }
  .product__block .block_item2 .other a::before {
    content: "";
    position: absolute;
    border-top: solid 0.65104vw #e20c0c;
    border-right: solid 0.65104vw #e20c0c;
    width: 2.08333vw;
    height: 2.08333vw;
    top: 50%;
    right: 3.125vw;
    -webkit-transform: translateY(-50%) rotateZ(45deg);
       -moz-transform: translateY(-50%) rotateZ(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotateZ(45deg);
  }
  .product__block .block_item2 .other a:nth-of-type(2) {
    background: #e20c0c;
    -moz-box-sizing: border-box;
         box-sizing: border-box;
    color: #fff;
    padding-left: 14.0625vw;
    margin-top: 4.6875vw;
  }
  .product__block .block_item2 .other a:nth-of-type(2)::before {
    border-color: #fff;
  }
  .product__block .block_item2 .other a:nth-of-type(2)::after {
    content: "";
    position: absolute;
    background: url(../images/icon_pdf02.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 6.51042vw;
    height: 7.29167vw;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 4.16667vw;
  }
  .product__block .latest {
    margin-top: 6.64063vw;
  }
  #case_data .gallery li a {
    display: block;
  }
  #case_data .gallery li a p {
    margin-top: 1.82292vw;
    font-size: 3.38542vw;
    padding-left: 3.125vw;
    position: relative;
  }
  #case_data .gallery li a p::before {
    content: "";
    position: absolute;
    border-top: solid 0.39063vw #e20c0c;
    border-right: solid 0.39063vw #e20c0c;
    top: 1.5625vw;
    left: -0.52083vw;
    width: 1.82292vw;
    height: 1.82292vw;
    -webkit-transform: rotateZ(45deg);
       -moz-transform: rotateZ(45deg);
        -ms-transform: rotate(45deg);
            transform: rotateZ(45deg);
  }
  .video_popup {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100vh;
    z-index: 9999;
  }
  .video_popup .video_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10;
  }
  .video_popup .video_item {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 92vw;
    z-index: 100;
  }
  .video_popup .video_item #player iframe {
    width: 100%;
    height: 56.25vw;
  }
  .video_popup .video_item .btn_close::before {
    content: "";
    position: absolute;
    width: 3.125vw;
    height: 0.26042vw;
    background: #acaca9;
    top: -3.125vw;
    right: 0;
    -webkit-transform: rotateZ(-45deg);
       -moz-transform: rotateZ(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotateZ(-45deg);
  }
  .video_popup .video_item .btn_close::after {
    content: "";
    position: absolute;
    width: 3.125vw;
    height: 0.26042vw;
    background: #acaca9;
    top: -3.125vw;
    right: 0;
    -webkit-transform: rotateZ(-135deg);
       -moz-transform: rotateZ(-135deg);
        -ms-transform: rotate(-135deg);
            transform: rotateZ(-135deg);
  }
  .video_popup .video_popup #player {
    position: relative;
    width: 100%;
    height: 0;
  }
  .video_popup .video_popup #player iframe {
    width: 100%;
  }
}
/*----------------------2カラムか1カラムか202510 ----------------------*/
/* ワンカラム */
.product_cont.row{
  display: block;
  .productMain{
    max-width: 1200px;
    width: 100%;
    .block_wrap{
      justify-content: flex-start;
      gap: 5%;
    }
  }
}
/* ツーカラム */

.product_cont.row.two{
  display: flex;
  .productMain{
    max-width: none;
    width: 850px;
    .block_wrap{
      justify-content: flex-start;
      gap: 5%;
    }
  }
}
@media screen and (min-width: 769px){
  .check_ttl {
    font-size: 2.2rem;
    padding-left: 34px;
    margin: 40px 0 24px;
    letter-spacing: 1.2px;
    position: relative;
  }
  .check_ttl::before {
    content: "";
    position: absolute;
    background: url(../images/ic_check.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 27px;
    height: 32px;
    top: -3px;
    left: 0;
  }
  .parth_contents figure a {
    position: relative;
    display: block;
    border: 1px solid #f1f1f1;
  }
  .parth_contents figure a::before {
    content: "";
    position: absolute;
    background: url(../images/ic_zoom.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 30px;
    top: auto;
    height: 30px;
    right: 12px;
    bottom: 12px;
  }
}
@media screen and (max-width: 768px) {
  .product_cont.row.two{
  flex-direction: column;
  .productMain{
    max-width: 760px;
    width: auto;
    .block_wrap{
      justify-content: flex-start;
      gap: 5%;
    }
  }
}
.page-nav {
    position: relative;
    z-index: 1100;
    -webkit-transition: box-shadow .28s ease, opacity .24s ease;
    -moz-transition: box-shadow .28s ease, opacity .24s ease;
        transition: box-shadow .28s ease, opacity .24s ease;
    will-change: opacity;
  }
   :root {
    --page-nav-offset: var(--header-offset, clamp(60px, 15.10417vw, 120px));
  }
  .page-nav.is-sticky {
    position: fixed;
    left: 0;
    right: 0;
    top: var(--page-nav-offset, 58px); 
    z-index: 120;
    background: #fff;
    /* -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05); */
            /* box-shadow: 0 6px 12px rgba(0, 0, 0, 0.05); */
    opacity: 1;
            margin: 0 auto;
            
  }
  
  .page-nav.is-sticky.is-enter {
    opacity: 0.05;
  }
  .page-nav.is-sticky.is-visible {
    opacity: 1;
  }
  .page-nav__spacer {
    display: none;
  }
  .page-nav.is-sticky + .page-nav__spacer {
    display: block;
  }
  body.menu-open .page-nav {
    display: none !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  body.menu-open .page-nav.is-sticky {
    position: relative;
    top: auto;
  }
  html.menu-open .page-nav {
    display: none !important;
  }
  .header-top {
  }
  /* .header.is-sticky .header-top {
    padding: 0;
    max-height: 0;
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
    pointer-events: none;
  } */
   .check_ttl {
    font-size: 4.16667vw;
    padding-left: 4.94792vw;
    letter-spacing: 0.15625vw;
    position: relative;
    margin: 5vw 0 2.4vw;
  }
  .check_ttl::before {
    content: "";
    position: absolute;
    background: url(../images/ic_check.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 4.29688vw;
    height: 4.6875vw;
    top: 0.26042vw;
    left: 0;
  }
  .parth_contents figure a {
    position: relative;
    display: block;
  }
  .parth_contents figure a::before {
    content: "";
    position: absolute;
    background: url(../images/ic_zoom.png) no-repeat;
    -moz-background-size: contain;
         background-size: contain;
    width: 4.94792vw;
    height: 4.94792vw;
    right: 1.30208vw;
    bottom: 1.30208vw;
  }
}
