.vbox { padding: 0px 0px 30px; }
.vbox .clearfix { display: flex; flex-flow: column wrap; }
.vbox .pht { float: left; margin: 20px 0px 0px; width: 100%; order: 2; }
.vbox .pht img { width: 100%; }
.vbox h3 { margin: 0px; padding: 0px 0px 20px; font-size: 1.6rem; line-height: 150%; font-weight: normal; }
.vbox ul { margin: 0px; padding: 1px 0px 10px; list-style-type: none; line-height: 100%; display: flex; flex-flow: wrap; justify-content: flex-start; }
.vbox li { position: relative; margin: 20px 20px 0px 0px; padding: 0px 0px 0px 23px; display: inline-block; white-space: nowrap; }
.vbox li::before { content: ""; position: absolute; top: 1px; left: 1px; width: 14px; height: 14px; border: 1px solid #153b54; border-radius: 50%; }
.vbox li::after { content: ""; position: absolute; top: 9px; left: 7px; width: 0px; height: 0px; border-width: 5px; border-style: solid; border-color: transparent transparent transparent #153b54; transform: translateY(-50%); }
.vbox2 { margin: 0px; padding: 0px; width: 100%; flex-flow: wrap; justify-content: space-between; }
.vbox2 .pht { flex-basis: 43%; }
.vbox2 .pht div { border: 1px solid #ffffff; padding: 20px 30px; }
.vbox2 .pht img { margin: 0px auto; width: 100%; height: auto; max-width: 230px; }
.vbox2 .pht p { padding: 20px 0px 0px; font-size: 1rem; line-height: 200%; }
.vbox2 .data { flex-basis: 51%; }
.vbox2 .data h3 { margin: 0px; padding: 30px 0px 15px; font-size: 1.8rem; line-height: 150%; font-weight: normal; }
.vbox2 ul { margin: 10px 0px 0px 30px; padding: 0px; }
.vbox2 li { margin: 0px; padding: 0px; }
.markss { margin: 0px; padding: 0px; list-style-type: none; width: 100%; font-size: 0.9rem; line-height: 175%; display: flex; flex-flow: wrap; justify-content: flex-start; }
.markss li { margin: 20px 1% 0px 0px; flex-basis: 32%; }
.markss div { padding: 3px; }
.markss .waku { margin: 0px 0px 9px; border: 1px solid #cccccc; }
.hrs { margin: 50px 0px 0px; padding: 0px; border-width: 1px 0px 0px; border-style: dashed; }
.ul02 { margin: 0px; padding: 0px 0px 15px; line-height: 150%; list-style-type: none; width: 100%; display: flex; flex-flow: wrap; justify-content: space-between; }
.ul02 li { margin: 20px 0px 0px; padding: 0px; width: 48%; text-align: center; }
.ul02 p { padding: 10px 0px 0px; text-align: center; line-height: 150%; }
.mgn10 { margin-top: 8px; }
.hx03 { position: relative; margin: 40px 0px 0px; padding: 3px 0px 20px 50px; font-size: 1.5rem; line-height: 150%; }
.hx03 span.sml2 { margin-left: 8px; font-size: 1.1rem; }
.hx03::before { content: attr(data-label); position: absolute; top: 0px; left: 0px; width: 40px; height: 40px; font-size: 1.4rem; line-height: 38px; text-align: center; background-color: #153b54; color: #ffffff; border-radius: 50%; }
.nnbtn3 a { position: relative; display: block; margin: 30px 0px 0px; padding: 15px 0px; width: 90%; max-width: 220px; font-size: 0.9rem; line-height: 100%; text-align: center; text-decoration: none; border-width: 1px; border-style: solid; border-radius: 3px; font-weight: bold; }
.nnbtn3 a::after { content: ""; position: absolute; top: 50%; right: 5px; width: 0px; height: 0px; border-width: 5px; border-style: solid; border-color: transparent transparent transparent #153b54; transform: translateY(-50%); }
@media print, screen and (min-width: 420px) {
  .vbox .clearfix { display: block; }
  .vbox .pht { float: left; margin: 5px 30px 5px 0px; width: 42%; }
  .vbox h3 { font-size: 1.8rem; line-height: 150%; }
}
@media print, screen and (min-width: 510px) {
  .hx03 { padding: 3px 0px 30px 63px; font-size: 1.7rem; line-height: 150%; }
  .hx03::before { top: 0px; left: 0px; width: 50px; height: 50px; font-size: 1.6rem; line-height: 48px; }
}
@media screen and (min-width: 800px) and (max-width: 950px) {
  .vbox h3 { font-size: calc(0.5736rem + 2.2vw); line-height: 150%; }
}
@media print, screen and (min-width: 690px) {
  .vbox2 { display: flex; }
  .vbox2 .data h3 { padding-top: 0px; }
}
@media print, screen and (min-width: 640px) {
  .markss li { margin: 10px 1% 0px 0px; flex-basis: 19%; }
  .markss li:last-of-type { display: none; }
  .ul02 { justify-content: flex-start; }
  .ul02 li { margin: 40px 2% 0px 0px; width: 31%; max-width: 252px; }
  .ul02 li:last-of-type { display: none; }
}
@media print, screen and (min-width: 800px) {
  .vbox { position: relative; margin: 0px 0px 40px; padding: 0px 0px 0px 48%; }
  .vbox .pht { position: absolute; top: 0px; left: 0px; width: 42%; height: 100%; }
  .vbox .pht img { width: 100%; height: 100%; object-fit: cover; }
  .vbox ul { padding: 5px 0px 0px; }
}
@media print, screen and (min-width: 950px) {
  .vbox h3 { font-size: 2rem; line-height: 150%; }
}
@media print, screen and (min-width: 1100px) {
  .hx03::before { top: 2px; }
}
