@charset "utf-8";

/* ANIMATION */
@keyframes animation-down {
  0% {
    bottom: 100%;
  }
  100% {
    bottom: 0;
  }
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .animation-down {
    bottom: 100%;
  }
}
@keyframes animation-top {
  0% {
    top: 100%;
  }
  100% {
    top: 0;
  }
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .animation-top {
    top: 100%;
  }
}
@keyframes animation-left {
  0% {
    left: 100%;
  }
  100% {
    left: 0;
  }
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .animation-left {
    left: 100%;
  }
}
.animation-fade {
  opacity:0;
  transform: translateY(0)!important;
  transition: opacity .1s linear!important;
}
.animation-fade.is-active {
  opacity: 1;
}

/* COMMON */
.tower-content {
  background: #ccc;
  position: relative;
  overflow: hidden;
}
.tower-content .content-container {
  background: #fff;
}
.tower-wrapper {
  margin: 0 auto;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .tower-content {
    padding: 0 0 10px 70px;
  }
  .tower-content .content-aside {
    width: 70px;
    min-height: 712px;
    background: #ccc url(/img/reform/contents/tower/tower_021.png) center right 23px / 17px auto no-repeat;
    transition: 0s;
    position: absolute;
    left: 0;
  }
  .tower-content .content-aside.is-top {
    top: 0;
    bottom: auto;
    left: 0!important;
  }
  .tower-content .content-aside.is-middle {
    height: auto;
    position: fixed;
    top: 0;
    bottom: 0;
  }
  .tower-content .content-aside.is-bottom {
    top: auto;
    bottom: 0;
    left: 0!important;
  }
  .tower-content .content-container {
    padding: 0 0 58px;
  }
  .tower-wrapper {
    width: 890px;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .page-tower .glb-pageWrapper {
    overflow: visible;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .tower-content {
    font-size: 1.6rem;
  }
}

.common-video {
  position: relative;
}
.common-video .video-main {
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.tower-title {
  position: relative;
  font-weight: 400;
  text-align: center;
  letter-spacing: .075em;
}
.tower-title::after {
  content: '';
  height: 1px;
  background: #000;
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .tower-title {
    margin-bottom: 20px;
    font-size: 3.2rem;
  }
  .tower-title::after {
    width: 69px;
    margin: 6px auto 0;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .tower-title {
    margin-bottom: 27px;
    font-size: 2.4rem;
  }
  .tower-title::after {
    width: 34px;
    margin: 3px auto 0;
  }
}

/* -- Banner -- */
.section-banner {
  margin: 0 auto;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.section-banner .banner-content {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.section-banner .banner-ratio {
  position: absolute;
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  z-index: 0;
}
.section-banner .common-video{
  height: 100%;
}
.section-banner .content-text {
  position: absolute;
  font-weight: 500;
  writing-mode: vertical-rl;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .section-banner {
    width: 100%;
    padding-top: 56.25%;
  }
  .section-banner .content-text.is-ireru {
    width: 56px;
    top: 43px;
    right: 120px;
  }
  .section-banner .content-text.is-oku {
    width: 138px;
    top: 69px;
    left: 52px;
  }
  .section-banner .content-text.is-tsurusu {
    width: 54px;
    top: 46px;
    right: 123px;
  }
  .section-banner .content-text.is-hasamu {
    width: 199px;
    top: 72px;
    right: 67px;
  }
  .section-banner .content-text.is-tateru {
    width: 54px;
    top: 35px;
    right: 122px;
  }
  .section-banner .content-text {
    top: 29px;
    right: 94px;
    font-size: 6.2rem;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .section-banner {
    padding-top: 80%;
  }
  .section-banner .content-text.is-ireru {
    width: 28px;
    top: 22px;
    right: 40px;
  }
  .section-banner .content-text.is-oku {
    width: 69px;
    top: 25px;
    left: 27px;
  }
  .section-banner .content-text.is-tsurusu {
    width: 27px;
    top: 27px;
    right: 28px;
  }
  .section-banner .content-text.is-hasamu {
    width: 99px;
    top: 26px;
    right: 19px;
  }
  .section-banner .content-text.is-tateru {
    width: 27px;
    top: 15px;
    right: 22px;
  }
  .section-banner .content-text {
    top: 17px;
    right: 28px;
    font-size: 3.1rem;
  }
}

/* -- Main -- */
.section-main {
  font-weight: 400;
  font-style: normal;
  color: #231815;
  text-align: center;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .section-main {
    padding: 30px 0 60px;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .section-main {
    padding: 30px 0;
  }
}

.main-title {
  font-weight: 400;
  letter-spacing: .075em;
}
.main-title .title-highlight {
  line-height: 1;
  letter-spacing: 0;
}

.main-title .title-line,
.main-detail .detail-line {
  display: block;
}
.main-detail {
  letter-spacing: .1em;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .main-title {
    margin-bottom: 20px;
    font-size: 2.3rem;
  }
  .main-title .title-highlight {
    font-size: 3rem;
  }
  .main-detail {
    font-size: 1.6rem;
    line-height: 2.5;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .main-title {
    margin-bottom: 10px;
    padding: 0 10px;
    font-size: 1.6rem;
    line-height: 2.0;
  }
  .main-title .title-highlight {
    font-size: 2rem;
    font-weight: 500;
  }
  .main-detail {
    padding: 0 22px;
    line-height: 2.0;
  }
}
@media print,screen and (min-width:0) and (max-width:374px) {
  .main-title,
  .main-detail {
    padding: 0 15px;
  }
}

.main-list .list-wrapper {
  display: flex;
  flex-wrap: wrap;
}
.main-list img {
  width: 100%;
}
.main-list .info-title {
  font-weight: 400;
  letter-spacing: .075em;
}
.main-list .info-detail {
  text-align: justify;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .main-list {
    width: 762px;
    margin: 0 auto;
  }
  .main-list .list-wrapper {
    margin: 0 -15px;
  }
  .main-list .list-item {
    width: 25%;
    padding: 0 15px 0;
  }
  .main-list .info-title {
    padding: 5px 0 0;
    margin-bottom: 5px;
    border-bottom: 3px solid #c6c5c5;
    font-size: 1.6rem;
  }
  .main-list .info-detail {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .main-list {
    padding: 0 22px;
  }
  .main-list .list-wrapper {
    margin: 0 -7px;
  }
  .main-list .list-item {
    width: 50%;
    padding: 0 7px 18px;
  }
  .main-list .info-title {
    padding: 5px 0 0;
    margin-bottom: 3px;
    border-bottom: 2px solid #c6c5c5;
  }
  .main-list .info-detail {
    font-size: 1.3rem;
  }
}
@media print,screen and (min-width:0) and (max-width:374px) {
  .main-list {
    padding: 0 15px;
  }
  .main-list .list-wrapper {
    margin: 0 -5px;
  }
  .main-list .list-item {
    padding: 0 5px 18px;
  }
}

/* -- Category -- */
.category-item {
  display: flex;
  flex-wrap: wrap;
}
.category-item .item-thumbnail {
  flex: 0 0 auto;
  display: block;
}
.category-item .item-thumbnail img {
  width: 100%;
  transition: opacity .3s linear;
}
.category-item .item-info {
  flex: 1 1 auto;
}
.category-title {
  position: relative;
}
.category-title img {
  display: block;
}
.category-title .title-text {
  display: block;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  writing-mode: vertical-rl;
  font-weight: 500;
}
.category-title .text-image {
  width: 100%;
  height: 100%;
  position: relative;
}
.category-title .title-line {
  position: absolute;
}
.category-title .title-line path,
.category-title .title-line line {
  fill: none;
  stroke :#000;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .section-category {
    padding-bottom: 25px;
  }
  .section-category .tower-wrapper {
    margin-bottom: 80px;
  }
  .category-item + .category-item {
    margin-top: 20px;
  }
  .category-item .item-thumbnail {
    width: 585px;
  }
  .category-title .title-text {
    font-size: 5.2rem;
  }
  .category-title .title-line path,
  .category-title .title-line line {
    stroke-miterlimit: 10;
    stroke-width: 3;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .section-category .tower-wrapper {
    margin-bottom: 47px;
  }
  .category-item + .category-item {
    margin-top: 20px;
  }
  .category-item .item-thumbnail {
    width: 60%;
  }
  .category-item .item-info {
    width: 40%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .category-title .title-text {
    font-size: 3rem;
  }
  .category-title .title-line path,
  .category-title .title-line line {
    stroke-miterlimit: 10;
    stroke-width: 3;
  }
}

/* Ireru */
@keyframes category-ireru-01 {
  0% {
    stroke-dashoffset: 272;
  }
  3% {
    stroke-dashoffset: 272;
  }
  30% {
    stroke-dashoffset: 191;
  }
  36% {
    stroke-dashoffset: 191;
  }
  63% {
    stroke-dashoffset: 88;
  }
  69% {
    stroke-dashoffset: 88;
  }
  97% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: 0;
  }
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .title-ireru {
    width: 106px;
    height: 220px;
    margin: 63px 0 59px 85px;
  }
  .title-ireru .title-text {
    width: 56px;
    height: 194px;
  }
  .title-ireru .title-line {
    width: 106px;
    height: 83px;
    right: -2px;
    bottom: 0;
    stroke-dasharray: 272;
    stroke-dashoffset: 272;
  }
  .title-ireru.is-loaded .text-image {
    animation: animation-down .3s 1.5s linear forwards;
  }
  .title-ireru.is-loaded .title-line {
    animation: category-ireru-01 1.5s linear forwards;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .title-ireru {
    width: 52px;
    height: 110px;
  }
  .title-ireru .title-text {
    width: 28px;
    height: 97px;
  }
  .title-ireru .title-line {
    width: 54px;
    height: 42px;
    right: -2px;
    bottom: 0;
  }
}

/* Oku */
@keyframes category-oku-01 {
  0% {
    stroke-dashoffset: 144;
  }
  100% {
    stroke-dashoffset: 288;
  }
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .title-oku {
    width: 144px;
    height: 83px;
    margin: 104px 0 137px 85px;
  }
  .title-oku .title-text {
    width: 138px;
    height: 53px;
  }
  .title-oku .title-line {
    width: 144px;
    height: 3px;
    right: 2px;
    bottom: 0;
    stroke-dasharray: 144;
    stroke-dashoffset: 144;
  }
  .title-oku.is-loaded .text-image {
    animation: animation-down .3s .5s linear forwards;
  }
  .title-oku.is-loaded .title-line {
    animation: category-oku-01 .5s linear forwards;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .title-oku {
    width: 76px;
    height: 42px;
  }
  .title-oku .title-text {
    width: 69px;
    height: 27px;
  }
  .title-oku .title-line {
    width: 72px;
    height: 2px;
    right: 2px;
    bottom: 0;
  }
}

/* Tsurusu */
@keyframes category-tsurusu-01 {
  0% {
    top: -15px;
    stroke-dashoffset: 50;
  }
  75% {
    top: -15px;
    stroke-dashoffset: 0;
  }
  100% {
    top: 0;
    stroke-dashoffset: 0;
  }
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .title-tsurusu {
    width: 54px;
    height: 260px;
    margin: 43px 0 72px 112px;
    padding-top: 68px;
  }
  .title-tsurusu .title-text {
    width: 54px;
    height: 192px;
  }
  .title-tsurusu .title-line {
    width: 3px;
    height: 50px;
    margin: 0 auto;
    top: -15px;
    right: 0;
    left: 0;
    stroke-dasharray: 50;
    stroke-dashoffset: 50;
  }
  .title-tsurusu.is-loaded .text-image {
    animation: animation-top .3s .5s linear forwards;
  }
  .title-tsurusu.is-loaded .title-line {
    animation: category-tsurusu-01 .5s linear forwards;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .title-tsurusu {
    width: 27px;
    height: 131px;
    padding-top: 35px;
  }
  .title-tsurusu .title-text {
    width: 27px;
    height: 95px;
  }
  .title-tsurusu .title-line {
    width: 2px;
    height: 26px;
    margin: 0 auto;
    top: 0;
    right: 0;
    left: 0;
  }
}

/* Hasamu */
@keyframes category-hasamu-01 {
  0% {
    stroke-dashoffset: 268;
  }
  40% {
    stroke-dashoffset: 402;
  }
  60% {
    stroke-dashoffset: 402;
  }
  100% {
    stroke-dashoffset: 536;
  }
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .title-hasamu {
    width: 203px;
    height: 167px;
    margin: 76px auto 92px;
    padding-top: 112px;
  }
  .title-hasamu .title-text {
    width: 199px;
    height: 55px;
  }
  .title-hasamu .title-line {
    width: 190px;
    height: 97px;
    top: 0;
    left: 0;
    stroke-dasharray: 268;
    stroke-dashoffset: 268;
  }
  .title-hasamu.is-loaded .text-image {
    animation: animation-top .3s 1s linear forwards;
  }
  .title-hasamu.is-loaded .title-line {
    animation: category-hasamu-01 1s linear forwards;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .title-hasamu {
    width: 102px;
    height: 82px;
    padding-top: 55px;
  }
  .title-hasamu .title-text {
    width: 99px;
    height: 27px;
  }
  .title-hasamu .title-line {
    width: 95px;
    height: 49px;
    top: 0;
    left: 0;
  }
}

/* Tateru */
@keyframes category-tateru-01 {
  0% {
    stroke-dashoffset: 307;
  }
  40% {
    stroke-dashoffset: 403;
  }
  60% {
    stroke-dashoffset: 403;
  }
  100% {
    stroke-dashoffset: 614;
  }
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .title-tateru {
    width: 115px;
    height: 229px;
    margin: 90px auto 59px;
  }
  .title-tateru .title-text {
    width: 54px;
    height: 202px;
  }
  .title-tateru .title-line {
    width: 94px;
    height: 215px;
    left: 0;
    bottom: 0;
    stroke-dasharray: 307;
    stroke-dashoffset: 307;
  }
  .title-tateru.is-loaded .text-image {
    animation: animation-left .3s 1s linear forwards;
  }
  .title-tateru.is-loaded .title-line {
    animation: category-tateru-01 1s linear forwards;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .title-tateru {
    width: 56px;
    height: 114px;
  }
  .title-tateru .title-text {
    width: 27px;
    height: 101px;
  }
  .title-tateru .title-line {
    width: 46px;
    height: 105px;
    left: 0;
    bottom: 0;
  }
}

.category-button-more,
.category-button-direct {
  display: flex;
  justify-content: center;
}
.category-button-more .button-wrapper,
.category-button-direct .button-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: .075em;
  color: #231815;
  text-decoration: none;
  transition: color .3s linear, background .3s linear;
}
.category-button-more .button-wrapper::after,
.category-button-direct .button-wrapper::after {
  content: '';
  display: block;
  flex: 0 0 auto;
}
.category-button-more .button-wrapper:hover,
.category-button-direct .button-wrapper:hover {
  opacity: 1;
}
.category-button-more .button-wrapper::after {
  background: url(/img/reform/contents/tower/tower_010.png) center center / 100% auto no-repeat;
  position: relative;
  right: 0;
  transition: right .3s linear;
}
.category-button-direct .button-wrapper {
  border: 1px solid #ccc;
  background: #ccc;
  line-height: 1.65;
}
.category-button-direct .button-wrapper::after {
  background: url(/img/reform/contents/tower/tower_011.png) center center / 100% auto no-repeat;
}
.category-button-direct .button-wrapper:hover {
  background: transparent;
}
.category-button-direct .m-icon {
  display: none;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .category-button-more .button-wrapper {
    font-size: 1.8rem;
    padding: 6px
  }
  .category-button-more .button-wrapper::after {
    width: 25px;
    height: 25px;
    margin: 1px 0 0 10px;
  }
  .category-button-more .button-wrapper:hover::after {
    right: -10px;
  }
  .is-left .category-button-more .button-wrapper {
    margin-right: 10px;
  }
  .is-right .category-button-more .button-wrapper {
    margin-left: 19px;
  }
  .category-button-direct .button-wrapper {
    width: 400px;
    padding: 15px 0 16px;
    border-radius: 16px;
    font-size: 2rem;
  }
  .category-button-direct .button-wrapper::after {
    width: 23px;
    height: 23px;
    margin: -3px 0 0 15px;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .category-button-more .button-wrapper {
    margin: 2px 0 -2px;
  }
  .category-button-more .button-wrapper::after {
    width: 25px;
    height: 25px;
    margin: -1px 0 2px 10px;
  }
  .category-button-direct .button-wrapper {
    padding: 18px 0 13px;
  }
  .category-button-direct .button-wrapper::after {
    width: 23px;
    height: 23px;
    margin: -8px 0 0 15px;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .category-button-more {
    width: 100%;
  }
  .category-button-more .button-wrapper {
    padding: 10px;
    font-size: 2rem;
  }
  .category-button-more .button-wrapper::after {
    width: 31px;
    height: 31px;
    margin: 2px 5px 0 10px;
  }
  .category-button-more .button-wrapper:hover::after {
    right: -10px;
  }
  .category-button-direct .button-wrapper {
    width: 207px;
    padding: 12px 0;
    border-radius: 8px;
    font-size: 1.2rem;
  }
  .category-button-direct .button-wrapper::after {
    width: 11px;
    height: 11px;
    margin: -3px 0 0 6px;
  }
}

/* -- Product -- */
.section-product {
  font-weight: 400;
  color: #231815;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .section-product {
    padding: 56px 0 66px;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .section-product {
    padding: 30px 0 33px;
  }
}

.product-block .block-thumbnail img {
  width: 100%;
}
.product-block .block-corporation {
  letter-spacing: .075rem;
}
.product-block .corporation-item {
  display: flex;
  justify-content: center;
}
.product-block .item-title {
  font-weight: 400;
  line-height: 1;
  align-self: flex-start;
  white-space: nowrap;
}
.product-block .item-detail {
  line-height: 1.5;
}
.product-block .block-note {
  display: flex;
  justify-content: center;
}
.product-block .note-title {
  flex: 0 0 auto;
  align-self: flex-start;
  font-weight: 400;
  line-height: 1;
  letter-spacing: .075rem;
  color: #fff;
  text-align: center;
}
.product-block .note-title.is-red {
  background: #e95377;
}
.product-block .note-title.is-purple {
  background: #a266a0;
}
.product-block .note-title.is-blue {
  background: #29abe2;
}
.product-block .note-detail {
  line-height: 1.54;
  letter-spacing: .1em;
}
.product-block .block-button {
  display: flex;
  justify-content: center;
}
.product-block .button-wrapper {
  border-style: solid;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: .075em;
  text-decoration: none;
  color: #231815;
  transition: opacity .3s linear;
}
.product-block .button-wrapper::after {
  content: '';
  background: url(/img/reform/contents/tower/icon_arrow_001.png) center center / 100% auto no-repeat;
  display: block;
  flex: 0 0 auto;
  position: relative;
  right: 0;
  transition: right .3s linear;
}
.product-block .block-button.is-red .button-wrapper {
  border-color: #e95377;
}
.product-block .block-button.is-purple .button-wrapper {
  border-color: #a266a0;
}
.product-block .block-button.is-blue .button-wrapper {
  border-color: #1ca3bb;
}
.product-block .block-button.is-grey .button-wrapper {
  border-color: #ccc;
}
.product-button-direct {
  display: flex;
  justify-content: center;
}
.product-button-direct .button-wrapper {
  display: block;
  position: relative;
}
.product-button-direct img {
  width: 100%;
  position: relative;
  z-index: 1;
  opacity: 1!important;
}
.product-button-direct .button-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  transition: opacity .3s linear;
}
.product-button-direct .button-wrapper:hover::after {
  opacity: 0.5;
}
@media print,screen and (min-width:769px) and (max-width:9999px) {
  .product-block + .product-block {
    margin-top: 60px;
  }
  .product-block .block-thumbnail {
    width: 585px;
    margin: 0 auto 10px;
  }
  .product-block .block-corporation {
    margin-bottom: 30px;
  }
  .product-block .corporation-icon {
    width: 23px;
    margin: 5px auto;
  }
  .product-block .item-title {
    padding: 2px 0;
    font-size: 1.4rem;
  }
  .product-block .item-detail {
    margin: 0 10px 0 30px;
    font-size: 1.4rem;
  }
  .product-block .item-tower .item-title {
    border-bottom: 4px solid #999;
  }
  .product-block .item-takara .item-title {
    border-bottom: 3px solid #005bab;
  }
  .product-block .block-note {
    margin: 0 auto 20px;
  }
  .product-block .note-title {
    width: 127px;
    padding: 10px 0px;
    margin-right: 15px;
    border-radius: 3px;
    font-size: 1.7rem;
  }
  .is-firefox .product-block .note-title {
    padding: 10px 0px;
  }
  .is-mac.is-firefox .product-block .note-title {
    padding: 4px 0 3px;
  }
  .product-block .note-detail {
    margin: -7px -34px 0 0;
    font-size: 1.6rem;
  }
  .product-block .button-wrapper {
    padding: 20px 30px;
    border-width: 3px;
    font-size: 1.6rem;
  }
  .product-block .button-wrapper::after {
    width: 14px;
    height: 16px;
    margin: 0 -10px 0 15px;
  }
  .product-block .button-wrapper:hover::after {
    right: -10px;
  }
  .product-button-direct .button-wrapper {
    width: 719px;
  }
  .product-button-direct .button-wrapper::after {
    background: url(/img/reform/contents/tower/tower_023.jpg) center center / cover no-repeat;
  }
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .product-block .item-title {
    padding: 5px 0 0;
  }
  .product-block .note-title {
    padding: 8px 0 0;
  }
  .product-block .button-wrapper {
    padding: 23px 30px 17px;
  }
  .product-block .button-wrapper::after {
    margin: -3px -10px 3px 15px;
  }
}
@media print,screen and (min-width:0) and (max-width:768px) {
  .product-block {
    padding: 0 22px;
  }
  .product-block + .product-block {
    margin-top: 60px;
  }
  .product-block .block-thumbnail {
    width: 100%;
    margin: 0 auto 10px;
  }
  .product-block .block-corporation {
    margin-bottom: 16px;
  }
  .product-block .corporation-icon {
    width: 11px;
    margin: 1px auto;
  }
  .product-block .item-title {
    padding: 2px 0 1px;
    font-size: 1.3rem;
    text-align: justify;
  }
  .is-mac .product-block .item-title {
    letter-spacing: 0;
  }
  .product-block .item-detail {
    margin-left: 10px;
    font-size: 1.3rem;
    text-align: justify;
  }
  .product-block .item-tower .item-title {
    border-bottom: 3px solid #999;
  }
  .product-block .item-takara .item-title {
    border-bottom: 2px solid #005bab;
  }
  .product-block .block-note {
    margin: 0 auto 16px;
  }
  .product-block .note-title {
    padding: 5px;
    margin-right: 7px;
    border-radius: 2px;
    font-size: 1.4rem;
    text-align: justify;
  }
  .product-block .note-detail {
    margin-top: -3px;
    font-size: 1.4rem;
    text-align: justify;
  }
  .product-block .button-wrapper {
    padding: 20px 15px;
    border-width: 2px;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: justify;
  }
  .product-block .button-wrapper::after {
    width: 7px;
    height: 8px;
    margin: 0 -5px 0 7px;
  }
  .product-block .button-wrapper:hover::after {
    right: -5px;
  }
  .product-button-direct {
    padding: 0 22px;
  }
  .product-button-direct .button-wrapper {
    width: 331px;
  }
  .product-button-direct .button-wrapper::after {
    background: url(/img/reform/contents/tower/tower_023_sp.jpg) center center / cover no-repeat;
  }
}
@media print,screen and (min-width:0) and (max-width:374px) {
  .product-block,
  .product-button-direct {
    padding: 0 15px;
  }
}

/* IE FIX */
.ie-enable {
  display: none!important;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .ie-enable {
    display: block!important;
  }
  .ie-disable {
    display: none!important;
  }
  .category-title .animation-down {
    bottom: 0;
    animation: none!important;
  }
  .category-title .animation-top {
    top: 0;
    animation: none!important;
  }
  .category-title .animation-left {
    left: 0;
    animation: none!important;
  }
  .category-title.is-loaded .title-line.ie-enable  {
    height: auto;
  }
}

.title-sanitary {
  padding-top: 0;
}

@media print,screen and (min-width:769px) and (max-width:9999px) {
  .title-kitchen,
  .title-bath,
  .title-sanitary {
    width: auto;
    height: auto;
  }
  .title-kitchen {
    margin: 10px 0 130px;
  }
  .title-bath {
    margin: 10px 0 200px;
  }
  .title-sanitary {
    margin: 10px 0 100px;
  }
  .title-kitchen .title-text,
  .title-bath .title-text,
  .title-sanitary .title-text {
    width: auto;
    height: auto;
  }
  .section-main .m-box-showroom-03 {
    margin-bottom: 40px;
    margin-top: 20px;
  }
  .section-category .m-box-showroom-03 {
    margin-top: 70px;
  }
}

@media print,screen and (min-width:0) and (max-width:768px) {
  .title-kitchen,
  .title-bath,
  .title-sanitary {
    width: auto;
    height: auto;
  }
  .title-kitchen .title-text,
  .title-bath .title-text,
  .title-sanitary .title-text {
    width: auto;
    height: auto;
  }
  .section-main .m-box-showroom-03 {
    margin-bottom: 50px;
    margin-top: 20px;
  }
  .section-category .m-box-showroom-03 {
    margin-bottom: 70px;
    margin-top: 30px;
  }
}

.category-item {
  color: #1a1a1a;
  text-decoration: none;
}

.category-item:hover {
  color: #1a1a1a;
}