.outlineTableWrap {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .outlineTableWrap {
    margin: 100px auto 0;
  }
}

@media screen and (max-width: 768px) {
  .outlineTableWrap {
    margin: 40px 20px 0;
  }
}

@media screen and (min-width: 768px) {
  .outlineTableWrap + .outlineTableWrap {
    margin-top: 80px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTableWrap + .outlineTableWrap {
    margin-top: 40px;
  }
}

.outlineTableHead {
  border-bottom: 1px solid #231815;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .outlineTableHead {
    font-size: 20px;
    padding-bottom: 25px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTableHead {
    padding-bottom: 10px;
  }
}

@media screen and (min-width: 768px) {
  .outlineTableHead + .outlineTable {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTableHead + .outlineTable {
    margin-top: 25px;
  }
}

.outlineTable {
  letter-spacing: 0;
  width: 100%;
  line-height: 1.875;
}

.outlineTable:before {
  content: '';
  margin-top: calc((1 - 1.875) * .5em);
}

.outlineTable:after {
  margin-bottom: calc((1 - 1.875) * .5em);
}

.outlineTable:before, .outlineTable:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

@media screen and (min-width: 768px) {
  .outlineTable {
    font-size: 14px;
    margin-top: 25px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTable {
    border: 1px solid #cecece;
    font-size: 12px;
    margin-top: calc(30vw / 750 * 100);
  }
}

@media screen and (max-width: 768px) {
  .outlineTable .tableRow {
    display: block;
  }
}

.outlineTable .tableRow:first-child {
  border-top: 1px solid #cecece;
}

.outlineTable .tableRow:not(:last-child) {
  border-bottom: 1px solid #cecece;
}

.outlineTable .tableRow:last-child .tableRow__th {
  border-bottom: 1px solid #cecece;
}

.outlineTable .tableRow__th {
  background-color: #eaeaea;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #333333;
  font-weight: 400;
  text-align: left;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .outlineTable .tableRow__th {
    border-bottom: 1px solid #cecece;
    border-left: 1px solid #cecece;
    padding: 17px 24px;
    width: 252px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTable .tableRow__th {
    border: none;
    display: block;
    padding: 10px 14px;
    width: 100%;
  }
}

.outlineTable .tableRow__th:before, .outlineTable .tableRow__th:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.outlineTable .tableRow__th:before {
  margin-top: calc((1 - 1.4) * .5em);
}

.outlineTable .tableRow__th:after {
  margin-bottom: calc((1 - 1.4) * .5em);
}

.outlineTable .tableRow__td {
  background-color: #ffffff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .outlineTable .tableRow__td {
    border-bottom: 1px solid #cecece;
    border-right: 1px solid #cecece;
    padding: 20px;
    width: 706px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTable .tableRow__td {
    display: block;
    padding: 10px 14px;
    width: 100%;
  }
}

.outlineTable .tableRow__td:before, .outlineTable .tableRow__td:after {
  content: '';
  display: block;
  height: 0;
  width: 0;
}

.outlineTable .tableRow__td:before {
  margin-top: calc((1 - 1.4) * .5em);
}

.outlineTable .tableRow__td:after {
  margin-bottom: calc((1 - 1.4) * .5em);
}

.outlineTtl {
  font-family: "Noto Serif JP", serif;
  letter-spacing: .14em;
  margin: 0 auto;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .outlineTtl {
    font-size: 24px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTtl {
    font-size: 16px;
  }
}

.outlineTtl:before {
  background: url("../../common/imgs/bg-ttl-txt@2x.png") no-repeat center center;
  background-size: contain;
  content: '';
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  z-index: 0;
}

@media screen and (min-width: 768px) {
  .outlineTtl:before {
    height: 190px;
    width: 810px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTtl:before {
    height: calc(89 / 390 * 100vw);
    width: calc(374 / 390 * 100vw);
  }
}

.outlineTtl .en {
  color: #59472b;
  font-family: "Cinzel", serif;
  letter-spacing: 1.2em;
}

@media screen and (min-width: 768px) {
  .outlineTtl .en {
    font-size: 16px;
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 768px) {
  .outlineTtl .en {
    font-size: 14px;
    padding-bottom: 20px;
  }
}

.container {
  position: relative;
}

.container:before {
  background: url("../../common/imgs/bg-layer-01@2.jpg") repeat center top;
  content: '';
  height: 100%;
  position: absolute;
  width: 100vw;
  z-index: 0;
}

@media screen and (min-width: 768px) {
  .container .wrap {
    width: 958px;
  }
}

@media screen and (min-width: 768px) {
  .outlineArea {
    padding: 120px 0 100px;
  }
}

@media screen and (max-width: 768px) {
  .outlineArea {
    padding: 60px 0;
  }
}
