* {
  position: relative;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Noto Sans JP', sans-serif;
  list-style: none;
  line-height: 1; }

img {
  margin: 0;
  line-height: 1; }

p {
  line-height: 0; }

body {
  font-family: "YakuHanJP","Noto Sans JP",sans-serif;
  font-size: 16px;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%; }
  body section {
    width: 840px;
    margin: 0 auto; }

header {
  width: 840px;
  margin: 0 auto;
  padding: 30px 0 33px;
  display: flex;
  justify-content: space-between; }
  header > div {
    width: 50%; }
  header > div:nth-of-type(1) {
    align-self: flex-start; }
    header > div:nth-of-type(1) img {
      width: 120px;
      height: 86px; }
  header > div:nth-of-type(2) {
    align-self: flex-end; }
    header > div:nth-of-type(2) nav {
      text-align: right; }
      header > div:nth-of-type(2) nav ul {
        display: flex;
        justify-content: flex-end;
        margin-bottom: 18px; }
        header > div:nth-of-type(2) nav ul li:nth-of-type(1) {
          margin-right: 20px; }
        header > div:nth-of-type(2) nav ul li a {
          color: transparent;
          font-size: 10px; }
        header > div:nth-of-type(2) nav ul li:nth-of-type(1) a {
          width: 63px;
          height: 12px;
          display: block;
          background: url("/asset/img/common/h-link01.png") no-repeat; }
          header > div:nth-of-type(2) nav ul li:nth-of-type(1) a:hover {
            background-position: left bottom; }
        header > div:nth-of-type(2) nav ul li:nth-of-type(2) a {
          width: 79px;
          height: 12px;
          display: block;
          background: url("/asset/img/common/h-link02.png") no-repeat; }
          header > div:nth-of-type(2) nav ul li:nth-of-type(2) a:hover {
            background-position: left bottom; }

footer {
  margin: 0 auto 40px;
  padding: 22px 0 22px;
  width: 840px;
  text-align: right; }
  footer small {
    font-size: 10px;
    color: #999999; }

body.top .swiper {
  width: 840px;
  height: 448px; }
body.top .catch {
  text-align: center;
  padding: 40px 0; }
body.top .products {
  display: flex;
  justify-content: space-between;
  width: 688px;
  margin: 0 auto; }
  body.top .products > div {
    text-align: center; }
    body.top .products > div > img {
      margin-bottom: 5px; }

body.lower main {
  border-top: 1px solid #d3d3d3;
  padding: 25px 0 0;
  width: 840px;
  margin: 0 auto;
  font-size: 14px;
  padding-bottom: 25px; }
  body.lower main h1 {
    font-size: 15px;
    line-height: 1.6;
    letter-spacing: 2px;
    margin-bottom: 15px; }
  body.lower main p {
    line-height: 1; }
body.lower.outline .details dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  body.lower.outline .details dl dt {
    width: 93px;
    text-align: right;
    padding: 6px 10px 6px 0;
    border-right: 1px solid #d3d3d3;
    line-height: 1.6; }
  body.lower.outline .details dl dd {
    width: calc(100% - 93px);
    padding: 6px 0 10px 6px;
    line-height: 1.6; }
    body.lower.outline .details dl dd span {
      width: 4.5rem;
      display: inline-block; }
body.lower.outline .details figure {
  width: 142px;
  position: absolute;
  right: 0;
  top: 0;
  display: block; }
  body.lower.outline .details figure > div {
    display: block;
    margin-bottom: 15px;
    text-align: right; }
    body.lower.outline .details figure > div img {
      line-height: 1;
      margin-bottom: 5px; }
    body.lower.outline .details figure > div p {
      line-height: 1.4;
      font-size: 12px; }
