/* ==========================================================================
  Foundation
========================================================================== */

/* Reset
----------------------------------------------------------------- */
*, *::before, *::after { padding: 0; margin: 0; outline: none; box-sizing: border-box; }
main { display: block; }
ul, li { list-style: none; }
a { color: inherit; text-decoration: none; }
img { width: 100%; max-width: 100%; vertical-align: middle; }
input, select, button, textarea { color: inherit; font: inherit; }
button { cursor: pointer; }

/* Base
----------------------------------------------------------------- */
html {
  font-size: 62.5%;
}
body {
  color: #333;
  font-family: 'Montserrat', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', '游ゴシック', '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 1.4rem;
  background: #ddd;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
svg {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 48.0625em) {
  a,
  button {
    transition: opacity .4s cubic-bezier(.215, .61, .355, 1);
  }
  a:hover,
  button:hover {
    opacity: .7;
  }
}


/* ==========================================================================
  Utility
========================================================================== */
.u-d--n { display: none !important; }
@media (max-width: 48em) {
  .u-sp-d--n { display: none !important; }
}
@media (min-width: 48.0625em) {
  .u-pc-d--n { display: none !important; }
}


/* ==========================================================================
  Layout
========================================================================== */

/* Container
----------------------------------------------------------------- */
.l-container {
  overflow: hidden;
}


/* ==========================================================================
  Object - Project
========================================================================== */

/* Size Guide
----------------------------------------------------------------- */
.p-size-guide {
  margin: 40px 0;
}
.p-size-guide__inner {
  padding: 0 12px;
}
.p-size-guide__content {
  background: #fff;
  padding: 64px 12px 40px;
  position: relative;
  z-index: 1;
}
@media (min-width: 48.0625em) {
  .p-size-guide {
    margin: 48px 0;
  }
  .p-size-guide__inner {
    max-width: 1120px;
    padding: 0 20px;
    margin: 0 auto;
  }
  .p-size-guide__content {
    padding: 80px 40px 48px;
  }
}

.p-size-guide__header {
  text-align: center;
  margin: 0 0 32px;
}
.p-size-guide__logo {
  max-width: 84px;
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1;
}
.p-size-guide__heading {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: .02em;
  line-height: 1.2;
}
@media (min-width: 48.0625em) {
  .p-size-guide__header {
    margin: 0 0 40px;
  }
  .p-size-guide__logo {
    max-width: 108px;
  }
  .p-size-guide__heading {
    font-size: 3.2rem;
  }
}

.p-size-guide__note {
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  text-align: right;
}
.p-size-guide__note-title {
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: .04em;
}
.p-size-guide__note-data {
  font-size: 1.6rem;
  font-weight: bold;
}
@media (min-width: 48.0625em) {
  .p-size-guide__note-title {
    font-size: 1.1rem;
  }
  .p-size-guide__note-data {
    font-size: 1.8rem;
  }
}

.p-size-guide__info {
  background: #efefef;
  padding: 24px 20px;
  margin: 12px 0 0;
}
.p-size-guide__info-title {
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: .04em;
}
.p-size-guide__info-item {
  text-indent: -1em;
  padding: 0 0 0 1em;
}
.p-size-guide__info-data {
  margin: 8px 0 0;
}
.p-size-guide__info-item {
  font-size: 1.2rem;
}
@media (min-width: 48.0625em) {
  .p-size-guide__info {
    padding: 40px 80px;
  }
  .p-size-guide__info-title {
    font-size: 1.4rem;
  }
  .p-size-guide__info-item {
    font-size: 1.4rem;
  }
}

.p-size-guide__tables {
  margin: 32px 0 0;
}
.p-size-guide__table:nth-of-type(n+2) {
  margin-top: 32px;
}
.p-size-guide__table-title {
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: .04em;
  text-align: left;
  margin: 0 0 8px;
}
.p-size-guide__table table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.p-size-guide__table thead th {
  height: 36px;
  color: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: .04em;
  text-align: center;
  vertical-align: middle;
  background: #777;
  padding: 4px;
  border: 1px solid #fff;
}
.p-size-guide__table tbody th,
.p-size-guide__table tbody td {
  height: 40px;
  font-size: 1.3rem;
  letter-spacing: .04em;
  text-align: center;
  vertical-align: middle;
  padding: 4px;
  border: 1px solid #fff;
}
.p-size-guide__table tbody th {
  color: #fff;
  font-weight: bold;
  background: #777;
}
.p-size-guide__table tbody td {
  background: #ddd;
}
.p-size-guide__table thead tr:first-child th:first-child,
.p-size-guide__table tbody th {
  width: 25%;
}
@media (min-width: 48.0625em) {
  .p-size-guide__tables {
    margin: 40px 0 0;
  }
  .p-size-guide__table:nth-of-type(n+2) {
    margin-top: 40px;
  }
  .p-size-guide__table-title {
    font-size: 1.4rem;
    margin: 0 0 12px;
  }
  .p-size-guide__table thead th {
    height: 40px;
    font-size: 1.4rem;
    padding: 8px;
  }
  .p-size-guide__table tbody th,
  .p-size-guide__table tbody td {
    height: 48px;
    font-size: 1.8rem;
    padding: 8px;
  }
}