@charset "UTF-8";

/* パーツ id="content-ed" あり*/



body {
  overflow: visible;
}

#header {
  margin-bottom: 0;
}

#bread_crumb {
  width: 900px;
  margin: 0 auto 30px;
}

@media screen and (max-width: 1251px) {
  #bread_crumb {
    width: auto !important;
    height: auto;
    padding: 1px 20px 0 !important;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
  }
}

#main_contents:has(#content-ed) {
  width: 900px;
  margin: 0 auto;
  position: relative;
}

#page_content {
  padding: 0 0 100px;
}

#content-ed {
  font-size: 16px;
  line-height: 1.6;
}

#content-ed .pr-mark {
  display: inline-block;
  padding: 2px 4px;
  border: 1px solid #000;
  font-size: 14px;
  margin-bottom: 30px;
}

.post_content .post-info {
  width: fit-content;
  margin: 0 0 26px auto;
}

#content-ed .thumbnail {
  width: 100%;
  margin-bottom: 20px;
}

#content-ed .thumbnail img {
  display: block;
  width: 100%;
  height: auto;
}

#content-ed p {
  line-height: 1.6;
  margin-bottom: 16px;
}

#content-ed * {
  box-sizing: border-box;
}

#content-ed h1 {
  font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-size: 28px;
  line-height: 1.3;
  font-weight: bold;
  margin: 0 0 10px;
}

#content-ed h2 {
  color: #1e73be;
  font-size: 26px;
  margin-top: 60px !important;
  margin-bottom: 20px;
}

#content-ed h3 {
  margin-top: 40px;
  border-left: 4px solid #1e73be;
  padding-left: 8px;
}

#content-ed h2+h3 {
  margin-top: 0;
}

#content-ed h4 {
  margin-top: 30px;
}

#content-ed h3+h4 {
  margin-top: 0;
}

#content-ed .post_content .post-info {
  width: fit-content;
  margin: 0 0 26px auto;
}

#content-ed .post-date {
  font-size: 13px;
  color: #999;
}

#content-ed .pr-mark {
  display: inline-block;
  padding: 2px 4px;
  border: 1px solid #000;
  font-size: 14px;
  margin-right: 4px;
}

#content-ed a {
  color: #1A0DAB;
  transition: .4s;
  text-decoration: underline;
}

#content-ed a:hover {
  opacity: .6;
}

#content-ed .img-100 {
  width: 100%;
  margin-bottom: 26px;
}

#content-ed .img-100 a {
  display: block;
  width: 100%;
  height: fit-content;
}

#content-ed .img-100 img {
  width: 100%;
  height: auto;
}

#content-ed img {
  display: block;
  width: 100%;
}

#content-ed textarea {
  display: block;
  width: 100%;
  height: 200px;
  margin-bottom: 26px;
  border: 1px solid #000;
}

#content-ed .subttl {
  position: relative;
  font-size: 20px;
  padding-left: 20px;
  text-align-last: left;
  font-weight: bold;
  margin: 30px 0 10px;
}

#content-ed .subttl::before {
  content: '';
  display: block;
  position: absolute;
  top: 10px;
  left: 0;
  width: 13px;
  aspect-ratio: 1 / 1;
  background-color: #000;
}

#content-ed .blue {
  color: #1e73be;
  font-weight: bold;
}

#content-ed .orange {
  color: #f49643;
  font-weight: bold;
}

#content-ed .caution {
  display: inline-block;
  margin-bottom: 26px;
  font-size: 12px;
}

#content-ed p:has(+ p .caution),
#content-ed *:has(+ p .caution),
#content-ed p:has(+ .caution),
#content-ed *:has(+ .caution) {
  margin-bottom: 8px !important;
}

#content-ed .b {
  font-weight: bold;
}

#content-ed .marker-blue {
  background: linear-gradient(transparent 70%, #cae6ff 70%);
  font-weight: bold;
}

#content-ed .marker-orange {
  background: linear-gradient(transparent 70%, #ffd6cf 70%);
  font-weight: bold;
}

#content-ed .table {
  width: 100%;
  margin-bottom: 26px;
  table-layout: fixed;
  text-align: center;
  word-break: break-all;
}

#content-ed .table img {
  margin: 0 auto;
}

#content-ed .table td>* {
  margin-bottom: 0.75em;
}

#content-ed .table td> :first-child {
  margin-top: 0;
}

#content-ed .table td> :last-child {
  margin-bottom: 0;
}

#content-ed .table thead th {
  font-weight: bold;
  background: #f1fafc;
  text-align: center;
}

#content-ed .table thead th+th {
  border-left: 1px solid #fff;
}

#content-ed .table tbody {
  border: 1px solid #ccc;
}

#content-ed .table th,
#content-ed .table td {
  padding: 12px 16px;
  vertical-align: middle;
  text-align: center;
  line-height: 1.6;
}

#content-ed .table th:has(ul) li,
#content-ed .table th:has(ol) li,
#content-ed .table td:has(ul) li,
#content-ed .table td:has(ol) li {
  text-align-last: left;
}

#content-ed .table tbody th {
  background: #f2f2f2;
  border-right: 1px solid #ccc;
}

#content-ed .table tbody th+th {
  border-left: 1px solid #ccc;
}

#content-ed .table tbody tr th,
#content-ed .table tbody tr td {
  border-top: 1px solid #ccc;
}

#content-ed .table tbody tr:first-of-type>th,
#content-ed .table tbody tr:first-of-type>td {
  border-top: none;
}

#content-ed .table tbody td+td {
  border-left: 1px solid #ccc;
}

#content-ed .table tbody small {
  display: block;
  font-size: 0.75em;
}

#content-ed .normalbox {
  margin-bottom: 26px;
  padding: 20px;
  border: 1px solid #ccc;
}

#content-ed .normalbox.border-blue {
  border: 1px solid #1e73be;
}

#content-ed .normalbox> :first-child {
  margin-top: 0;
}

#content-ed .normalbox> :last-child {
  margin-bottom: 0;
}

#content-ed .normalbox[data-bg="gray"] {
  background: #F9F9F9;
  border: none;
}

#content-ed .normalbox[data-bg="blue"] {
  background: #f1fafc;
  border: none;
}

#content-ed .box-ttl {
  font-weight: bold;
  position: relative;
  font-size: 18px;
  margin-bottom: 14px;
}

#content-ed .num-ttl {
  font-weight: bold;
  position: relative;
  font-size: 20px;
  margin: 30px 0 14px;
  padding-left: 40px;
}

#content-ed .num-ttl .num {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  font-size: 16px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #1e73be;
  color: #fff;
}

#content-ed .check-ttl {
  position: relative;
  margin: 30px 0 10px;
  padding-left: 30px;
  font-weight: bold;
  font-size: 20px;
}

#content-ed .check-ttl::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0px;
  width: 22px;
  aspect-ratio: 1 / 1;
  background: url(../img/check-icon.png) center center/contain;
}

#content-ed h2+.subttl,
#content-ed h3+.subttl,
#content-ed h2+.check-ttl,
#content-ed h3+.check-ttl {
  margin-top: 16px;
}

#content-ed li {
  line-height: 1.6;
}

#content-ed ol,
#content-ed ul {
  margin-left: 0;
}

#content-ed ul li {
  list-style-type: none;
}

#content-ed ul:not([class]) {
  margin-bottom: 26px;
}

#content-ed ul:not([class]) li {
  position: relative;
  padding-left: 22px;
  list-style-type: none;
}

#content-ed ul:not([class]) li::before {
  position: absolute;
  left: 6px;
  top: 10px;
  content: "";
  display: block;
  width: 7px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #333;
}

#content-ed ol:not([class]) {
  margin-bottom: 26px;
  list-style-type: decimal;
  padding-left: 1.4em;
}

#content-ed ol:not([class]) li {
  position: relative;
}

#content-ed ul:not([class]) li+li,
#content-ed ol:not([class]) li+li,
#content-ed .check-list li+li {
  margin-top: 0.4em;
}

#content-ed .check-list {
  margin-bottom: 26px;
  margin-left: 1.3em;
}

#content-ed .check-list li {
  position: relative;
  list-style-type: none;
}

#content-ed .check-list li::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: -22px;
  width: 17px;
  aspect-ratio: 1 / 1;
  background: url(../img/check-icon.png) center center/contain;
}

#content-ed .flex-box {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 26px;
}

#content-ed .flex-box img {
  width: 40%;
}

#content-ed .flex-box .flex-text> :first-child,
#content-ed .float-box .flex-text> :first-child {
  margin-top: 0;
}

#content-ed .flex-box .flex-text> :last-child,
#content-ed .float-box .flex-text> :last-child {
  margin-bottom: 0;
}

#content-ed .float-box {
  margin-bottom: 26px;
}

#content-ed .float-box::after {
  content: "";
  display: table;
  clear: both;
}

#content-ed .float-box img {
  width: 40%;
  margin: 0 12px 12px 0;
  float: left;
}

#content-ed .left-img {
  float: left;
  margin-right: 1rem;
  max-width: 48%;
}

#content-ed .float-clear {
  display: block;
  height: fit-content;
  margin-bottom: 26px;
}

#content-ed .float-clear .left-img {
  margin-bottom: 1rem;
}

#content-ed .arrow {
  clip-path: polygon(20% 7%, 27% 0, 77% 50%, 27% 100%, 20% 93%, 63% 50%, 20% 7%);
  width: 3em;
  margin: 28px auto;
  aspect-ratio: 1;
  background-color: #1e73be;
  transform: rotate(90deg);
}

#content-ed .arrow-min {
  clip-path: polygon(20% 7%, 27% 0, 77% 50%, 27% 100%, 20% 93%, 63% 50%, 20% 7%);
  width: 26px;
  margin: 12px auto;
  aspect-ratio: 1;
  background-color: #1e73be;
  transform: rotate(90deg);
}

#content-ed .quote {
  margin: 0 0 25px 0;
  padding: 64px 30px 26px 30px;
  background: #f9f9f9;
  border: 1px solid #ccc;
  box-shadow: 0px 3px 0px 0px rgba(150, 150, 150, 0.1);
  position: relative;
}

#content-ed .quote::before {
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 15px;
  content: '“';
  color: #1e73be;
  font-size: 70px;
  line-height: 1;
  font-weight: 900;
}

#content-ed .quote::after {
  display: none;
}

#content-ed .quote> :first-child {
  margin-top: 0;
}

#content-ed .quote> :last-child {
  margin-bottom: 0;
}

#content-ed .quote-img {
  width: 75%;
  margin: 0 auto 16px;
}

#content-ed .quote-img img {
  display: block;
  width: 100%;
  height: auto;
}

#content-ed .fukidashi {
  text-align: center;
  color: #fff;
  background: #1e73be;
  font-weight: bold;
  font-size: 20px;
  padding: 14px 10px;
  position: relative;
  margin-top: 26px;
  margin-bottom: 26px;
}

#content-ed .fukidashi::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #1e73be;
}

#content-ed .summary {
  margin-bottom: 26px;
  padding: 20px;
  border: 1px solid #E7E7E7;
  background: #f1fafc;
  box-shadow: 0px 0.125em 0.375em rgba(0, 0, 0, 0.1);
}

#content-ed .summary> :first-child,
#content-ed .research> :first-child {
  margin-top: 0;
}

#content-ed .summary> :last-child,
#content-ed .research> :last-child {
  margin-bottom: 0;
}

#content-ed .summary-ttl {
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 12px;
  padding-bottom: 14px;
  border-bottom: 2px dashed #1e73be;
}

#content-ed .research {
  margin-bottom: 26px;
  padding: 20px;
  border: 1px solid #E7E7E7;
  background: #f9f9f9;
}

#content-ed .research-ttl {
  text-align: center;
  font-weight: bold;
  margin-bottom: 0.6em;
}

#content-ed .mininote {
  margin-bottom: 26px;
  padding: 20px;
  border: 1px solid #E7E7E7;
  background: #f9f9f9;
  font-size: 14px;
}

#content-ed .mininote> :first-child,
#content-ed .matome-inner> :first-child {
  margin-top: 0;
}

#content-ed .mininote> :last-child,
#content-ed .matome-inner> :last-child {
  margin-bottom: 0;
}

#content-ed .mininote-ttl {
  margin-bottom: 4px;
  font-weight: bold;
}

#content-ed .right-link {
  left: 20px;
  text-align: right;
  font-size: 14px;
  margin-bottom: 14px;
}

#content-ed .right-link__icon {
  text-align: right;
  margin-left: auto;
  display: table;
  font-size: 14px;
  margin: 0 0 0 auto;
  margin-bottom: 14px;
}

#content-ed *:has(+ .right-link),
#content-ed *:has(+ .right-link__icon),
#content-ed .right-link:has(+ .right-link),
#content-ed .right-link__icon:has(+ .right-link__icon),
#content-ed .right-link:has(+ .right-link__icon),
#content-ed .right-link__icon:has(+ .right-link) {
  margin-bottom: 4px;
}

#content-ed .right-link__icon a {
  position: relative;
  text-decoration: underline;
  padding-left: 1.4em;
}

#content-ed .right-link__icon a::before {
  position: absolute;
  top: 1px;
  left: 0;
  content: '';
  display: block;
  width: 1em;
  aspect-ratio: 1 / 1;
  background: url(../img/link-icon.png) center center/contain no-repeat;
}

#content-ed .btn {
  position: relative;
  align-items: center;
  z-index: 0;
  width: fit-content;
  min-width: 500px;
  max-width: 100%;
  margin: 0 auto 30px;
  overflow: hidden;
  border-radius: 16px;
  font-size: 18px;
  text-align: center;
  box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 2px 7px rgba(0, 0, 0, 0.3);
}

#content-ed .btn-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 25px;
  width: 21px;
  height: 2px;
  transition: .3s;
}

#content-ed .btn-arrow::before {
  position: absolute;
  right: 0;
  top: 0;
  content: '';
  display: block;
  background: #fff;
  width: 10px;
  height: 1px;
  transform: translateY(-0.15em) rotate(40deg);
}

#content-ed .btn-arrow::after {
  position: absolute;
  top: 50%;
  left: 0;
  content: '';
  display: block;
  background: #fff;
  width: 20px;
  height: 1px;
}

#content-ed .btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  padding: 12px;
  color: #fff;
  background: #f49643;
  text-decoration: none;
  transition: all ease .3s;
  font-weight: bold;
}

#content-ed .btn a:hover {
  opacity: .6;
  color: #fff;
}

#content-ed .btn a:hover~.btn-arrow {
  transform: translateX(10px);
}

#content-ed .tag {
  margin-bottom: 26px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-content: center;
}

#content-ed .tag.center {
  justify-content: center;
}

#content-ed .tag .item {
  background-color: #F9F9F9;
  margin-top: 0;
  border-radius: 4px;
  color: #8b9195;
  font-size: 0.875em;
  letter-spacing: 0;
  line-height: 1;
  display: inline-block;
  padding: 0.8em 1em;
}

#content-ed .tag .item.on {
  background-color: #77a7d4;
  color: #fff;
}

#content-ed .table .btn {
  width: 100%;
  margin-bottom: 0;
  min-width: auto;
  font-size: 16px;
}

#content-ed .table .btn a {
  min-height: 70px;
}

#content-ed .table-scroll {
  width: 100%;
  margin-bottom: 26px;
  overflow-x: scroll;
}

#content-ed .table-scroll .table {
  min-width: 110%;
  overflow-x: auto;
  table-layout: fixed;
  margin-bottom: 10px;
}

#content-ed .table-scroll .table thead th {
  width: 240px;
}

#content-ed .table-scroll .table thead th:first-of-type {
  width: 200px;
}

#content-ed .table.sticky-top thead {
  position: sticky;
  top: 90px;
  left: 0;
  z-index: 10;
}

@media screen and (max-width: 1251px) {
  #content-ed .table.sticky-top thead {
    top: 60px;
  }
}

#content-ed .table.sticky-top thead th {
  position: relative;
}

#content-ed .table.sticky-top thead th:not(:first-child)::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  width: 1px;
  height: 100%;
  background: #fff;
}

#content-ed .table.sticky-left {
  will-change: transform;
}

#content-ed .table.sticky-left thead th:first-of-type,
#content-ed .table.sticky-left tbody th {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3;
}

#content-ed .table.sticky-left thead th:first-of-type::before,
#content-ed .table.sticky-left tbody th::before,
#content-ed .table.sticky-left thead th:first-of-type::after,
#content-ed .table.sticky-left tbody th::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
}

#content-ed .table.sticky-left thead th:first-of-type::before {
  background: #dadada;
  position: absolute;
  top: 0;
  left: 0;
}

#content-ed .table.sticky-left tbody th::before {
  background: #dadada;
  position: absolute;
  top: 0;
  left: 0;
}

#content-ed .table.sticky-left thead th:first-of-type::after {
  background: #ccc;
  position: absolute;
  top: 0;
  right: 0;
}

#content-ed .table.sticky-left tbody th::after {
  background: #dadada;
  position: absolute;
  top: 0;
  right: 0;
}

#content-ed .jump {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr 1fr 1fr;
  margin-bottom: 26px;
}

#content-ed .jump .item {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  text-align: center;
  line-height: 1.4;
  font-size: 14px;
}

#content-ed .jump .item a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 4em;
  background: #1e73be;
  color: #fff;
  padding: 1.4em 1.4em 1.8em;
  border-radius: 0.5em;
  transition: .2s;
}

#content-ed .jump .item a:hover {
  background: #59a7eb;
  opacity: 1;
}

#content-ed .jump .item a::after {
  position: absolute;
  content: "";
  background: #fff;
  display: inline-block;
  width: .55em;
  height: .33em;
  clip-path: polygon(18% 0, 100% 50%, 18% 100%, 0 90%, 66% 50%, 0 10%);
  clip-path: polygon(100% 18%, 50% 100%, 0 18%, 12% 0, 50% 66%, 88% 0);
  bottom: 0.8em;
  left: 50%;
  transform: translateX(-50%);
  transition: .2s;
}

#content-ed .jump .item a:hover::after {
  bottom: 0.5em;
}

#content-ed .jump .arrow {
  display: none;
}

#content-ed .list_01 {
  margin-bottom: 26px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

#content-ed .list_01-item {
  border: 1px solid #1e73be;
  border-radius: 4px;
  background-color: #F9F9F9;
  padding: 10px 20px;
  display: table;
  width: 100%;
}

#content-ed .list_01-item p {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 0;
}

#content-ed .list_01-item p::before {
  content: '';
  position: absolute;
  top: 8px;
  left: 0;
  display: block;
  width: 10px;
  aspect-ratio: 1 / 1;
  background-color: #1e73be;
  transform: rotate(45deg);
}

#content-ed .list_02 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.5rem;
  margin-bottom: 26px;
}

@media (min-width: 768px) {
  #content-ed .list_02 li {
    border-left-width: 0.5rem;
  }
}

#content-ed .list_02 li {
  display: flex;
  align-items: center;
  padding: 8px 0 12px 16px;
  border-left: 4px solid #77a7d4;
}

#content-ed .name-area {
  font-size: 22px;
  margin: 20px 0 10px;
  padding: 10px 20px;
  background: -webkit-repeating-linear-gradient(-45deg, #f4feff, #f4feff 3px, #f4feff 3px, #e9f4ff 7px);
  background: repeating-linear-gradient(-45deg, #f4feff, #f4feff 3px, #e9f4ff 3px, #e9f4ff 7px);
}

#content-ed .name-text {
  font-size: 0.7em;
  margin-bottom: 0;
}

#content-ed .name-area a {
  display: block;
  width: fit-content;
}

#content-ed .name-area a:hover {
  opacity: 0.6;
}

#content-ed .name-area .name {
  margin-bottom: 0;
}

#content-ed .name-area> :last-child {
  margin-bottom: 0;
}

#content-ed .step-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 26px;
}

#content-ed .step-ttl {
  position: relative;
  padding-top: 2.4em;
  padding-left: 3em;
  font-size: 18px;
  margin-bottom: 1rem;
  font-weight: bold;
}

#content-ed .step-num {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.66em;
  color: #1e73be;
}

#content-ed .step-ttl::after {
  width: 55px;
  height: 1px;
  content: "";
  display: inline-block;
  background: #1e73be;
  position: absolute;
  left: 18px;
  top: 43px;
  transform: rotate(-44deg);
}

#content-ed .step-block> :first-child {
  margin-top: 0;
}

#content-ed .step-block> :last-child {
  margin-bottom: 0;
}

#content-ed .numbering-area {
  counter-reset: number 0;
  margin-bottom: 26px;
}

#content-ed .numbering-area li {
  list-style-type: none;
}

#content-ed .numbering-area li+li {
  margin-top: 20px;
}

#content-ed .numbering-ttl {
  position: relative;
  font-size: 18px;
  padding-left: 2.2em;
  margin-bottom: .8rem;
}

#content-ed .numbering-num {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75em;
  max-width: 36px;
  font-size: 1em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: var(--blue);
  color: #fff;
}

#content-ed .numbering-num::before {
  content: counter(number);
  counter-increment: number 1;
}

#content-ed .numbering-block> :first-child {
  margin-top: 0;
}

#content-ed .numbering-block> :last-child {
  margin-bottom: 0;
}

#content-ed .search-container input {
  border: 1px solid #000;
}

#content-ed .search-container table {
  word-break: break-all;
  line-height: 1.2;
}

#content-ed .search-container table a {
  display: block;
}

#content-ed .relatedpost {
  margin: 1.8em 0 1.5em;
}

#content-ed .relatedpost-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1em;
  margin-bottom: 26px;
}

#content-ed .relatedpost-ttl {
  text-align: center;
  color: #fff;
  background: #1e73be;
  font-weight: bold;
  font-size: 18px;
  padding: 10px;
  line-height: 1.6;
  position: relative;
  margin-bottom: 10px;
}

#content-ed .relatedpost-post .image_wrap {
  margin-bottom: 8px;
}

#content-ed .relatedpost-post>a {
  width: 100%;
  height: 100%;
  color: #1A0DAB;
  transition: .4s;
}

#content-ed .relatedpost-post>a:hover {
  opacity: .6;
}

#content-ed .relatedpost-post-ttl {
  margin-bottom: 0;
  font-size: 14px;
}

#content-ed .faq-wrap {
  margin-bottom: 26px;
}

#content-ed .faq {
  margin-bottom: -1px;
}

#content-ed .faqQ {
  cursor: pointer;
  font-size: 16px;
  border: 1px solid #ddd;
  line-height: 1.8;
  padding: 23px 60px 19px 66px;
  position: relative;
  background: #fff;
  transition: all 0.2s ease;
  font-weight: 500;
  line-height: 1.6;
}

#content-ed .faqQ::before {
  position: absolute;
  left: 20px;
  top: 50%;
  -ms-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: '?';
  font-size: 14px;
  display: block;
  width: 30px;
  height: 30px;
  line-height: 31px;
  border-radius: 100%;
  background: #1e73be;
  color: #fff;
  text-align: center;
  font-weight: bold;
}

#content-ed .faqQ::after {
  position: absolute;
  right: 15px;
  top: calc(50% - 10px);
  content: "";
  display: block;
  clip-path: polygon(20% 7%, 27% 0, 77% 50%, 27% 100%, 20% 93%, 63% 50%, 20% 7%);
  width: 20px;
  margin: 12px auto;
  aspect-ratio: 1;
  background-color: #1e73be;
  transform: rotate(90deg) translateX(-50%);
}

#content-ed .faqQ.action:after {
  top: calc(50% - 8px);
  transform: rotate(270deg) translateX(50%);
}

#content-ed .faqA {
  display: none;
  font-size: 16px;
  border: 1px solid #ddd;
  border-top: none;
  padding: 30px 65px 25px;
  margin-bottom: 0;
  background: #f1fafc;
  line-height: 1.6;
}

#content-ed .tab-section {
  margin-bottom: 26px;
}

#content-ed .tab-list {
  display: flex;
  gap: 4px;
  margin-bottom: 0;
}

#content-ed .tab-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 24px;
  gap: 5px;
  border-bottom: 2px solid #1e73be;
  padding: 0 20px;
  margin: 24px 0 10px;
}

#content-ed .tab.active {
  color: #1e73be;
  background-color: #fff;
  position: relative;
}

#content-ed .tab {
  border-radius: 5px 5px 0 0;
  flex: auto;
  text-align: center;
  border: 2px solid #1e73be;
  border-bottom: none;
  background-color: #f2f2f2;
  cursor: pointer;
  width: 100%;
  min-height: 40px;
  padding: 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.2;
  font-size: 0.875em;
}

#content-ed .tab-wrap {
  display: none;
  border: 2px solid #1e73be;
  border-top: none;
  padding: 12px 10px 14px;
}

#content-ed .tab-wrap> :first-child {
  margin-top: 0;
}

#content-ed .tab-wrap> :last-child {
  margin-bottom: 0;
}

#content-ed .tab-wrap.show {
  display: block;
}

#content-ed .merideme {
  margin-bottom: 26px;
}

#content-ed .merideme:has(+ .merideme) {
  margin-bottom: 10px;
}

#content-ed .merideme[data-merideme="merit"] {
  border: 2px solid #ffbc82;
}

#content-ed .merideme[data-merideme="merit"] .merideme-ttl {
  background: #ffbc82;
  border-bottom: 2px solid #ffbc82;
  color: #592f0a;
}

#content-ed .merideme[data-merideme="demerit"] {
  border: 2px solid #dcdcdc;
}

#content-ed .merideme[data-merideme="demerit"] .merideme-ttl {
  background: #F9F9F9;
  border-bottom: 2px solid #dcdcdc;
  color: #727272;
}

#content-ed .merideme-ttl {
  padding: 14px 20px;
  font-weight: bold;
  line-height: 1.4;
  font-size: 18px;
}

#content-ed .merideme-box {
  padding: 14px 20px;
}

#content-ed .merideme-list {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  position: relative;
  margin: 0;
}

#content-ed .merideme-list li {
  padding-left: 1em;
  position: relative;
}

#content-ed .merideme-list li:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 9px;
  aspect-ratio: 1 / 1;
  border-radius: 100px;
}

#content-ed .merideme[data-merideme="merit"] .merideme-list li:before {
  background-color: #ffbc82;
}

#content-ed .merideme[data-merideme="demerit"] .merideme-list li:before {
  background-color: #727272;
}

#content-ed .map {
  margin-bottom: 26px;
}

#content-ed .map-ttl {
  text-align: center;
  color: #fff;
  background: #1e73be;
  font-weight: bold;
  font-size: 18px;
  padding: 14px 10px;
  position: relative;
  margin-top: 26px;
  margin-bottom: 26px;
}

#content-ed .map-ttl::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 10px solid #1e73be;
}

#content-ed .acco {
  margin-bottom: 26px;
}

#content-ed .acco-ttl {
  font-size: 18px;
  font-weight: bold;
  padding: 10px 54px 10px 18px;
  border-bottom: 1px solid #1e73be;
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#content-ed .acco-ttl:first-of-type {
  border-top: 1px solid #1e73be;
}

#content-ed .acco-ttl.action {
  background: #F9F9F9;
}

#content-ed .acco-inner {
  padding-top: 14px;
  padding-left: 14px;
  border-bottom: 1px solid #1e73be;
  padding-bottom: 18px;
  padding-right: 14px;
  display: none;
}

#content-ed .acco-inner> :first-child {
  margin-top: 0;
}

#content-ed .acco-inner> :last-child {
  margin-bottom: 0;
}

#content-ed .acco-btn {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translate(-50%, -50%);
  display: block;
  width: 1em;
  aspect-ratio: 1 / 1;
}

#content-ed .acco-btn::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background: #1e73be;
}

#content-ed .acco-btn::after {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  content: '';
  display: block;
  width: 2px;
  height: 100%;
  background: #1e73be;
  display: block;
}

#content-ed .acco-ttl.action .acco-btn::after {
  display: none;
}

#content-ed .comment-scroll-wrap {
  overflow-x: scroll;
  display: flex;
  gap: 10px;
  width: 100%;
  margin-bottom: 26px;
}

#content-ed .comment {
  width: 80%;
  padding: 20px;
  flex-shrink: 0;
  background: #F9F9F9;
  margin-bottom: 10px;
  border: 1px solid #dcdcdc;
}

#content-ed .comment[data-comment="good"] {
  background: #ffe8d4;
}

#content-ed .comment-top {
  margin-bottom: 1em;
}

#content-ed .comment-profile {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-bottom: 1em;
}

#content-ed .comment-icon-w,
#content-ed .comment-icon-m {
  display: block;
  width: 60px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
}

#content-ed .comment-icon-w {
  background: #dedede url(../img/review-icon-woman.svg) center center/contain no-repeat;
  background-size: 80% 80%;
}

#content-ed .comment-icon-m {
  background: #dedede url(../img/review-icon-man.svg) center center/contain no-repeat;
  background-size: 80% 80%;
}

#content-ed .comment-name {
  font-weight: bold;
}

#content-ed .comment-plan span {
  display: inline-block;
  padding: .4em .8em;
  background: #1e73be;
  color: #fff;
  font-size: 0.875em;
  font-weight: bold;
  border-radius: .7em;
  margin-right: .8em;
}

#content-ed .comment-plan li+li {
  margin-top: 6px;
}

#content-ed .comment-bottom {
  display: flex;
  align-items: start;
  gap: 10px;
}

#content-ed .comment-bottom img {
  width: 40%;
}

#content-ed .positioning {
  margin-bottom: 26px;
}

#content-ed .positioning-top {
  margin-bottom: 6px;
  background: #1e73be;
  padding: 14px 10px;
  color: #fff;
}

#content-ed .positioning-subttl {
  text-align: center;
  font-weight: bold;
}

#content-ed .positioning-ttl {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
}

#content-ed .positioning-notes {
  font-size: 12px;
  text-align: right;
  margin-bottom: 10px;
}

#content-ed .positioning-inner {
  background: repeating-linear-gradient(90deg, #F4F5F0, #F4F5F0 1px, transparent 1px, transparent 32px), repeating-linear-gradient(0deg, #F4F5F0, #F4F5F0 1px, #fff 1px, #fff 32px);
  background-size: 32px 32px;
  background-position: 50% 50%;
  width: 70%;
  margin: 0 auto;
  aspect-ratio: 3 / 4;
  position: relative;
}

#content-ed .positioning-inner::before {
  content: "";
  display: inline-block;
  background: #ffbc82;
  border-radius: 50%;
  width: 38%;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 4%;
  right: 5%;
}

#content-ed .positioning-bg {
  display: inline-block;
  width: 64%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 49%;
  transform: translate(-50%, -50%);
  background: url(../img/positioningmap_bg.png) center center/contain no-repeat;
}

#content-ed .positioning-subLabel {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  top: 3%;
  left: 50%;
  transform: translateX(-50%);
}

#content-ed .positioning-label,
#content-ed .positioning-subLabel {
  position: absolute;
  z-index: 2;
}

#content-ed .positioning-label-01,
#content-ed .positioning-label-02 {
  font-size: 1em;
  font-weight: bold;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  width: 3em;
  aspect-ratio: 1 / 1;
}

#content-ed .positioning-label-03,
#content-ed .positioning-label-04 {
  font-size: 1em;
  padding: 8px;
  font-weight: bold;
  line-height: 1.17;
  color: #fff;
  text-align: center;
  display: inline-block;
}

#content-ed .positioning-label-01 {
  background: #1e73be;
  top: 5.5%;
  left: 50%;
  transform: translateX(-50%);
}

#content-ed .positioning-label-02 {
  background: #707F89;
  top: 89%;
  left: 50%;
  transform: translateX(-50%);
}

#content-ed .positioning-label-03 {
  background: #1e73be;
  top: 50.8%;
  transform: translateY(-50%);
  right: 5%;
}

#content-ed .positioning-label-04 {
  background: #707F89;
  top: 51%;
  transform: translateY(-50%);
  left: 5%;
}

#content-ed .positioning-item {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 1px solid #707F89;
  border-radius: 4px;
  box-shadow: 0 4px #707F89;
  padding: 8px 12px;
  position: absolute;
  z-index: 1;
}

#content-ed .positioning-item-logo {
  width: auto;
  height: 4vw;
  max-height: 32px;
  border: none;
}

#content-ed .positioning-item-02 {
  border-color: #ce782c;
  box-shadow: 0 4px #ce782c;
  z-index: 1;
}

#content-ed .forSP {
  display: none;
}

#content-ed .scrollBoxImg {
  width: 100%;
  background: #F0F0F0;
  padding: 30px 40px;
  box-sizing: textbox;
  overflow-x: auto;
  white-space: nowrap;
  margin-bottom: 26px;
}

#content-ed .scrollBoxImg-wrap {
  width: fit-content;
  display: flex;
  justify-content: center;
  padding-bottom: 10px;
}

#content-ed .scrollBoxImg-list {
  display: flex;
  padding: 0;
  margin: 0;
  list-style: none;
}

#content-ed .scrollBoxImg-ttl {
  display: flex;
  align-items: flex-start;
  max-width: 100%;
  min-height: 4em;
  font-size: 18px;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: left;
  color: var(--color-main);
  font-weight: bold;
  margin-bottom: 10px;
}

#content-ed .scrollBoxImg-ttl .num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2em;
  margin-right: 0.6em;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  color: #fff;
  background: #1e73be;
}

#content-ed .scrollBoxImg-list li {
  flex: 1 0 calc(50% - 4vw);
  max-width: calc(50% - 4vw);
  margin: 0 2vw;
  text-align: center;
  position: relative;
}

#content-ed .scrollBoxImg-list li:last-child::after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 1px;
  width: 70px;
  background-color: transparent;
}

#content-ed .scrollBoxImg-list img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 8px;
}

#content-ed .scrollBoxImg-list .caption {
  display: block;
  max-width: 100%;
  font-size: 0.9em;
  line-height: 1.4;
  white-space: normal;
  overflow-wrap: break-word;
  text-align: left;
}

#content-ed .scroll-x {
  width: 100%;
  overflow-x: scroll;
  padding-bottom: 10px;
}

#content-ed .scroll-x>* {
  min-width: 110%;
}

#content-ed .scroll-x>:first-child {
  margin-top: 0;
}

#content-ed .scroll-x>:last-child {
  margin-bottom: 0;
}