@charset "utf-8";

:root {
  --blk: #000000;
  --wht: #ffffff;
  --blue: #205799;
}

/* ==================================

  Hiraya Common PC Style

================================== */
.heading {
  font-size: 38px;
  text-align: center;
  letter-spacing: 0.05em;
  margin: 0 0 40px;
}
.heading span {
  font-size: calc(20 / 38 * 1em);
  display: block;
}

/* Main Visual
---------------------------------- */
.main-visual figure {
  max-width: initial;
  object-fit: cover;
}

/* Page Link
---------------------------------- */
.page-link {
  position: relative;
  padding: 40px 0 20px;
  margin: 80px 0 0;
}
.page-link ul {
  align-items: center;
  justify-content: space-between;
  padding: 0 calc(70 / 1200 * 100%);
}
.page-link ul li {
  font-size: 18px;
  letter-spacing: 0.05em;
  text-align: center;
}
.page-link ul li a {
  position: relative;
  display: inline-block;
  padding: 0 0 10px;
}
.page-link ul li a::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 3px;
  left: 0;
  bottom: 0;
  border-bottom: solid 3px var(--blue);
  transform: scale(0,1);
  transform-origin: 0 0;
  transition-duration: 0.2s;
}
.page-link ul li a:hover::before {
  transform: scale(1,1);
  transition-delay: 0.2s;
}
.page-link ul li a.is-current::before {
  transform: scale(1,1);
}
.is-fixed {
  position: fixed;
  z-index: 101;
  left: 0;
  width: 100%;
  padding: 20px 0 !important;
  background-color: var(--wht);
  box-shadow: 0px 6px 8px 0px rgba(0,0,0,0.1);
}

/* ----------------------------------

  Section

---------------------------------- */
section {
  position: relative;
  width: 100%;
}

/* Catalog Download
---------------------------------- */
.catalog { margin: 0 0 75px; }

/* MDM */
.mdm {
  align-items: center;
  background-color: var(--blk);
  margin: 0 0 95px;
}
.mdm-summary {
  width: calc((610 / 1500) * 100%);
  height: 100%;
  padding: 0 calc(50 / 1500 * 100%) 0 calc(150 / 1500 * 100%);
  color: var(--wht);
}
.mdm-summary h3 {
  font-size: 40px;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin: 0 0 20px;
}
.mdm-summary p {
  font-size: 18px;
  line-height: calc(32 / 18);
}
.mdm-summary a img {
  width: 100%;
  height: auto;
}
.mdm > img {
  width: calc((890 / 1500) * 100%);
}

/* 特別セット */
.catalog-set {
  position: relative;
  background: rgba(223,220,206,0.5);
}
.catalog-set a {
  position: absolute;
  left: 30px;
  bottom: 35px;
}

@media screen and (max-width:1500px) {
  .mdm-summary { padding: 0 calc(50 / 1500 * 100%) 0 calc((100% - 1200px) / 2); }
}

/* Banner
---------------------------------- */
.bnr {
  padding: 40px 0;
  background-color: #f8f8f8;
  margin: 0 0 70px;
}
.bnr-unit {
  align-items: flex-start;
  justify-content: center;
}
.bnr-unit a { margin: 0 40px; }
.bnr-unit p {
  font-size: 20px;
  letter-spacing: 0.05em;
  margin: 10px 0 0;
}

/* Fixed Button
---------------------------------- */
.fixed-btn {
  position: fixed;
  z-index: 1001;
  right: 0;
  top: 70%;
}

/* Link Button
---------------------------------- */
.link-next {
  position: relative;
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: 400;
  text-align: center;
  display: block;
  width: 100%;
  height: 80px;
  line-height: 80px;
  background-color: #f0f0f0;
  margin: 65px 0 0;
  transition: 0.2s ease;
  padding-top:5px;	
}
.link-next:hover {
  background-color: #ffffff;
  text-decoration: none;
}
.link-next::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(221,235,244);
  background: -moz-linear-gradient(left,  rgba(221,235,244,1) 0%, rgba(167,213,242,1) 100%);
  background: -webkit-linear-gradient(left,  rgba(221,235,244,1) 0%,rgba(167,213,242,1) 100%);
  background: linear-gradient(to right,  rgba(221,235,244,1) 0%,rgba(167,213,242,1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ddebf4', endColorstr='#a7d5f2',GradientType=1 );
  text-decoration: none;
  transition: transform .6s cubic-bezier(0.8,0,0.2,1) 0s;
  transform: scale(0,1);
  transform-origin: right top;
 }
.link-next:hover::before {
  transform: scale(1,1);
  transform-origin: left top;
 }
.link-next span {
  position: relative;
  z-index: 2;
}

.link-next i {
  position: relative;
  top: 25px;
  display: inline-block;
  margin: 0 10px 0 0;
}

.detail-btn {
  width: 300px !important;
}
