.outline {
  margin-top: clamp(118.9px, 8.9vw, 170px);
  width: 100%;
  position: relative;
}

.outlineInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .outlineInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 1024px) {
  .outlineInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 48px;
  }
}

.outlineHead {
  width: clamp(227.4px, 16.9vw, 325px);
  min-width: clamp(227.4px, 16.9vw, 325px);
  padding-right: clamp(16px, 1.3vw, 25px);
}
@media (max-width: 1024px) {
  .outlineHead {
    width: 100%;
  }
}

.outlineHeadTtl.-en {
  font-size: clamp(4.8rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
  color: #00009b;
}
.outlineHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.01em;
}

.outlineTable {
  margin-top: calc(-100% + 100% - clamp(10.5px, 0.8vw, 15px));
  width: calc(100% - clamp(227.4px, 16.9vw, 325px));
}
@media (max-width: 1024px) {
  .outlineTable {
    width: 100%;
  }
}
.outlineTable tbody {
  width: 100%;
}
.outlineTable tr {
  width: 100%;
  border-bottom: 1px solid #cfcfcf;
  padding-top: clamp(21px, 1.6vw, 30px);
  padding-bottom: clamp(21px, 1.6vw, 30px);
  align-items: center;
}
.outlineTable th {
  padding-left: clamp(14.4px, 1.3vw, 24px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.5;
  width: clamp(135px, 11.7vw, 225px);
  min-width: clamp(135px, 11.7vw, 225px);
}
.outlineTable td {
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: 500;
  line-height: 1.5;
  padding-right: clamp(14.4px, 1.3vw, 24px);
}
.outlineTable td strong {
  font-weight: 500;
}

.license {
  margin-top: clamp(85.2px, 7.4vw, 142px);
  padding-top: clamp(92px, 9.6vw, 184px);
  padding-bottom: clamp(114.1px, 8.5vw, 163px);
  width: 100%;
  background: #f2f3fa;
}

.licenseInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .licenseInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 1024px) {
  .licenseInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 48px;
  }
}

.licenseHead {
  width: clamp(227.4px, 16.9vw, 325px);
  min-width: clamp(227.4px, 16.9vw, 325px);
  padding-right: clamp(16px, 1.3vw, 25px);
}
@media (max-width: 1024px) {
  .licenseHead {
    width: 100%;
  }
}

.licenseHeadTtl.-en {
  font-size: clamp(4.8rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
  color: #00009b;
}
.licenseHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.01em;
}

.licenseBody {
  width: calc(100% - clamp(227.4px, 16.9vw, 325px));
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  border-bottom: 1px solid #cfcfcf;
}
@media (max-width: 1024px) {
  .licenseBody {
    width: 100%;
  }
}

.licenseBodyRow {
  border-top: 1px solid #cfcfcf;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}

.licenseBodyTtl {
  font-size: clamp(1.5rem, (1.3vw), 2.5rem);
  font-weight: bold;
  line-height: 1.44;
  width: clamp(125px, 13vw, 250px);
  min-width: clamp(125px, 13vw, 250px);
  padding-left: 1em;
  padding-right: 1em;
  text-align: center;
}
@media (max-width: 767px) {
  .licenseBodyTtl {
    width: clamp(100px, 32.6vw, 250px);
    min-width: clamp(100px, 32.6vw, 250px);
  }
}

.licenseBodyList {
  width: calc(100% - clamp(150px, 13vw, 250px));
}
@media (max-width: 767px) {
  .licenseBodyList {
    width: calc(100% - clamp(100px, 32.6vw, 250px));
  }
}

.licenseBodyItem {
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  padding: clamp(14px, 1vw, 20px);
}
.licenseBodyItem:not(:last-of-type) {
  border-bottom: 1px solid #cfcfcf;
}

.licenseBodyName {
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.01em;
  padding-right: 2em;
}

.licenseBodyCount {
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.01em;
  text-align: right;
  white-space: nowrap;
}

.history {
  margin-top: clamp(102px, 8.9vw, 170px);
  width: 100%;
}

.historyInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .historyInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 1024px) {
  .historyInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 48px;
  }
}

.historyHead {
  width: clamp(227.4px, 16.9vw, 325px);
  min-width: clamp(227.4px, 16.9vw, 325px);
  padding-right: clamp(16px, 1.3vw, 25px);
}
@media (max-width: 1024px) {
  .historyHead {
    width: 100%;
  }
}

.historyHeadTtl.-en {
  font-size: clamp(4.8rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
  color: #00009b;
}
.historyHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.01em;
}

.historyBody {
  width: calc(100% - clamp(227.4px, 16.9vw, 325px));
}
@media (max-width: 1024px) {
  .historyBody {
    width: 100%;
  }
}

.historyBodyList {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(18.9px, 1.4vw, 27px);
}

.historyBodyItem {
  list-style: none;
}

.historyBodyYear {
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  color: #00009b;
  position: relative;
  padding-left: clamp(38.5px, 4vw, 77px);
}
.historyBodyYear::before {
  position: absolute;
  top: clamp(2px, 0.2vw, 3px);
  left: 0;
  content: "";
  display: block;
  width: clamp(14px, 1vw, 20px);
  height: clamp(14px, 1vw, 20px);
  border-radius: 50%;
  border: clamp(2px, 0.2vw, 3px) solid #00009b;
}

.historyBodyTxt {
  margin-top: clamp(14px, 1vw, 20px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: 500;
  line-height: 1.4444444444;
  position: relative;
  padding-left: clamp(38.5px, 4vw, 77px);
  padding-bottom: clamp(28px, 2.1vw, 40px);
}
.historyBodyTxt:not(.historyBodyTxt.-noLine)::before {
  content: "";
  display: block;
  width: clamp(2px, 0.2vw, 3px);
  height: calc(100% - clamp(3.5px, 0.3vw, 5px));
  background-color: #00009b;
  position: absolute;
  bottom: 0;
  left: calc(clamp(14px, 1vw, 20px) / 2);
  transform: translateX(-50%);
}

.map {
  margin-top: clamp(99px, 8.6vw, 165px);
  padding-top: clamp(85px, 8.9vw, 170px);
  padding-bottom: clamp(105px, 7.8vw, 150px);
  width: 100%;
  background: #f2f3fa;
}

.mapInner {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1920px;
  width: 100%;
  padding-left: clamp(16px, (16.7vw), 320px);
  padding-right: clamp(16px, (16.7vw), 320px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
}
@media (max-width: 767px) {
  .mapInner {
    padding-left: 16px;
    padding-right: 16px;
  }
}
@media (max-width: 1024px) {
  .mapInner {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: 48px;
  }
}

.mapHead {
  width: clamp(227.4px, 16.9vw, 325px);
  min-width: clamp(227.4px, 16.9vw, 325px);
  padding-right: clamp(16px, 1.3vw, 25px);
}
@media (max-width: 1024px) {
  .mapHead {
    width: 100%;
  }
}

.mapHeadTtl.-en {
  font-size: clamp(4.8rem, (4.2vw), 8rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.02em;
  font-family: "Jost";
  color: #00009b;
}
.mapHeadTtl.-ja {
  margin-top: clamp(7px, 0.5vw, 10px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: bold;
  line-height: 1.4444444444;
  letter-spacing: 0.01em;
}

.mapBody {
  width: calc(100% - clamp(227.4px, 16.9vw, 325px));
}
@media (max-width: 1024px) {
  .mapBody {
    width: 100%;
  }
}

.mapBodyMap {
  width: 100%;
  height: clamp(385px, 28.6vw, 550px);
}

.mapBodyTxt {
  margin-top: clamp(10.5px, 0.8vw, 15px);
  font-size: clamp(1.44rem, (0.9vw), 1.8rem);
  font-weight: 500;
  line-height: 1.4444444444;
}