@charset "UTF-8";

img {
  width: auto;
  max-width: 100%;
}

.mt20 {
  margin-top: 20px;
}

.mb20 {
  margin-bottom: 20px;
}

/* #colmn */

#colmn .colmn_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#colmn .colmn_list li {
  background-image: url(../common_img/course-bg-or.gif);
  /*background-color: #f9f4eb;*/
  width: calc( 100% / 3 - 20px );
  margin-bottom:  30px;
  padding: 10px;
}

#colmn .colmn_list li h2 {
  font-size: 13px;
  margin-bottom: 20px;
  margin-top: 10px;
}

#colmn .colmn_list li h2:before {
  border: 8px solid transparent;
  border-left: 8px solid #7a0;
  box-sizing: border-box;
  content: "";
  display: inline-block;
}

#colmn .colmn_list li a{
  background: #1e3260;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  color: #fff;
  display: block;
  margin: 10px auto;
  text-align: center;
  width: 90%;
}

#colmn .colmn_list li a:hover {
  background:#aaa;
}

/* #colmn_detail */

#colmn_detail h2 {
  font-size: 25px;
  margin-bottom:30px;
}

#colmn_detail .anchorlink {
  background-image: url(../images/colmn/course-bg-or.gif);
  margin-bottom: 50px;
  padding: 20px;
}

#colmn_detail .anchorlink h3 {
  margin-bottom: 10px;
}

#colmn_detail .anchorlink ul {
  padding-left: 1.5em
}

#colmn_detail .anchorlink li {
  list-style-type: disc;
  margin-bottom: 5px;
}

#colmn_detail .anchorlink a {
  border-bottom: 1px dotted #222;
}

#colmn_detail .contents h3 {
  border-bottom: 1px solid #333;
  font-size: 20px;
  margin-bottom: 20px;
  padding-bottom: 10px;
}

#colmn_detail .contents p {
 
}

@media screen and (max-width:1050px) {

  #colmn .colmn_list li {
    width: calc(100% / 2 - 10px);
  }

}

/* SEO column editorial content */
.seo-column-detail{line-height:1.9;color:#272727}
.seo-column-detail .seo-column-lead{font-size:1.08rem;background:#f7f4ee;border-left:4px solid #1e3260;padding:20px;margin:0 0 28px}
.seo-column-visual{margin:28px 0 36px}
.seo-column-visual img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px}
.seo-column-visual figcaption{font-size:.84rem;color:#666;margin-top:8px}
.seo-column-topic{margin:0 0 34px}
.seo-column-topic h3,.seo-column-action h3{font-size:20px;border-bottom:2px solid #1e3260;padding:0 0 10px;margin:0 0 14px}
.seo-column-action{background:#f4f7fb;border:1px solid #d7dfec;padding:24px;margin-top:42px}
.seo-column-action ul{margin:18px 0 0;padding-left:1.4em}
.seo-column-action li{margin:8px 0;list-style:disc}
.seo-column-action a{text-decoration:underline;font-weight:bold}
@media(max-width:767px){.seo-column-detail .seo-column-lead{font-size:1rem;padding:16px}.seo-column-action{padding:18px}}

/* 3000-character article expansion */
.seo-column-topic--expanded{margin-top:38px}.seo-column-topic--expanded p{margin-bottom:0}.seo-column-detail .seo-column-visual+ .seo-column-topic{margin-top:38px}

/* SEO column 公開日と更新日用 */
.article-date {
    margin: 20px 0;
    padding: 12px 16px;
    background: #f8f8f8;
    border-left: 4px solid #0073E6;
    font-size: 14px;
    color: #555;
    line-height: 1.8;
}

.article-date p {
    margin: 0;
}

/* 黄色い下線装飾 */
.yellow-line {
  display: inline;
  padding-bottom: 4px;

  background-image: linear-gradient(
    transparent 72%,
    #ffd83d 72%,
    #ffd83d 88%,
    transparent 88%
  );

  background-repeat: no-repeat;
  background-size: 100% 100%;
}

/* SEO column 次の一歩セクション */
#colmn_detail .seo-column-action {
  position: relative;
  overflow: hidden;
  margin-top: 50px;
  padding: 38px;
  border: 1px solid #d9d1c1;
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(248,244,235,.96)),
    #fff;
  box-shadow: 0 16px 40px rgba(37, 31, 22, .10);
}

#colmn_detail .seo-column-action::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #9a742e, #d7bd78 52%, #8a6728);
  content: "";
}

#colmn_detail .seo-column-action::after {
  position: absolute;
  top: -95px;
  right: -95px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(154, 116, 46, .16);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

#colmn_detail .seo-column-action__heading {
  position: relative;
  z-index: 1;
  margin-bottom: 20px;
}

#colmn_detail .seo-column-action__eyebrow {
  margin: 0 0 8px;
  color: #9a742e;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: .22em;
}

#colmn_detail .seo-column-action h3 {
  margin: 0;
  padding: 0 0 14px;
  border-bottom: 1px solid #d9d1c1;
  color: #262219;
  font-size: 24px;
  line-height: 1.5;
}

#colmn_detail .seo-column-action__lead {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #4b463d;
  font-size: 15px;
  line-height: 2;
}

#colmn_detail .seo-column-action__links {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0 0;
  padding: 0;
}

#colmn_detail .seo-column-action__links li {
  margin: 0;
  list-style: none;
}

#colmn_detail .seo-column-action__links a {
  position: relative;
  display: flex;
  min-height: 92px;
  flex-direction: column;
  justify-content: center;
  padding: 18px 52px 18px 20px;
  border: 1px solid #ded7ca;
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  color: #2d2922;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(37, 31, 22, .06);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease, background .25s ease;
}

#colmn_detail .seo-column-action__links a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  width: 9px;
  height: 9px;
  margin-top: -5px;
  border-top: 1px solid #9a742e;
  border-right: 1px solid #9a742e;
  content: "";
  transform: rotate(45deg);
}

#colmn_detail .seo-column-action__links a:hover {
  border-color: #b99a55;
  background: #fff;
  box-shadow: 0 12px 24px rgba(37, 31, 22, .11);
  transform: translateY(-2px);
}

#colmn_detail .seo-column-action__link-label,
#colmn_detail .seo-column-action__link-title {
  display: block;
}

#colmn_detail .seo-column-action__link-label {
  margin-bottom: 5px;
  color: #8a6728;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: .08em;
}

#colmn_detail .seo-column-action__link-title {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.55;
}

#colmn_detail .seo-column-action__links-contact {
  grid-column: 1 / -1;
}

#colmn_detail .seo-column-action__links-contact a {
  min-height: 78px;
  border-color: #2e3c53;
  background: linear-gradient(135deg, #253247, #3c4d67);
  color: #fff;
}

#colmn_detail .seo-column-action__links-contact a::after {
  border-color: #e6d199;
}

#colmn_detail .seo-column-action__links-contact .seo-column-action__link-label {
  color: #e6d199;
}

#colmn_detail .seo-column-action__links-contact a:hover {
  border-color: #182233;
  background: linear-gradient(135deg, #1d293b, #34465f);
}

@media screen and (max-width: 767px) {
  #colmn_detail .seo-column-action {
    margin-top: 40px;
    padding: 28px 20px 22px;
    border-radius: 9px;
  }

  #colmn_detail .seo-column-action h3 {
    font-size: 20px;
  }

  #colmn_detail .seo-column-action__lead {
    font-size: 14px;
    line-height: 1.9;
  }

  #colmn_detail .seo-column-action__links {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 22px;
  }

  #colmn_detail .seo-column-action__links-contact {
    grid-column: auto;
  }

  #colmn_detail .seo-column-action__links a,
  #colmn_detail .seo-column-action__links-contact a {
    min-height: 0;
    padding: 16px 44px 16px 16px;
  }
}

/* 次の一歩：コース別の控えめな背景演出 */
#colmn_detail .seo-column-action__item > a {
  overflow: hidden;
  isolation: isolate;
}

#colmn_detail .seo-column-action__item > a::before {
  position: absolute;
  z-index: -1;
  top: -55px;
  right: -45px;
  width: 145px;
  height: 145px;
  border-radius: 50%;
  background: rgba(255,255,255,.32);
  content: "";
  pointer-events: none;
}

/* 体験：シャンパンゴールド */
#colmn_detail .seo-column-action__item--trial > a {
  border-color: #cfb36c;
  background:
    linear-gradient(120deg, rgba(255,255,255,.68), rgba(255,255,255,.08) 48%),
    linear-gradient(135deg, #fffaf0, #f1dfad);
  color: #493915;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 7px 18px rgba(112,83,23,.10);
}

#colmn_detail .seo-column-action__item--trial .seo-column-action__link-label {
  color: #8a661d;
}

#colmn_detail .seo-column-action__item--trial > a::after {
  border-color: #9d7725;
}

#colmn_detail .seo-column-action__item--trial > a:hover {
  border-color: #b99339;
  background:
    linear-gradient(120deg, rgba(255,255,255,.78), rgba(255,255,255,.10) 48%),
    linear-gradient(135deg, #fffdf6, #ecd591);
}

/* プロ：エンジ */
#colmn_detail .seo-column-action__item--pro > a {
  border-color: #682331;
  background:
    linear-gradient(120deg, rgba(255,255,255,.12), transparent 48%),
    linear-gradient(135deg, #641d2b, #842c3b);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 8px 20px rgba(75,18,30,.16);
}

#colmn_detail .seo-column-action__item--pro .seo-column-action__link-label {
  color: #7d3947;
}

#colmn_detail .seo-column-action__item--pro > a::after {
  border-color: #f0d8b0;
}

#colmn_detail .seo-column-action__item--pro > a::before {
  background: rgba(255,255,255,.08);
}

#colmn_detail .seo-column-action__item--pro > a:hover {
  border-color: #b77b87;
  background:
    linear-gradient(120deg, rgba(255,255,255,.78), rgba(255,255,255,.12) 48%),
    linear-gradient(135deg, #fff7f8, #e8c8ce);
  color: #5f2430;
}

#colmn_detail .seo-column-action__item--pro > a:hover::after {
  border-color: #7d3947;
}

#colmn_detail .seo-column-action__item--pro > a:hover .seo-column-action__link-label {
  color: #7d3947;
}

/* 趣味：落ち着いたグリーン */
#colmn_detail .seo-column-action__item--hobby > a {
  border-color: #7da181;
  background:
    linear-gradient(120deg, rgba(255,255,255,.70), rgba(255,255,255,.10) 48%),
    linear-gradient(135deg, #f3f9f2, #cfe2ce);
  color: #25452d;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88), 0 7px 18px rgba(42,85,49,.10);
}

#colmn_detail .seo-column-action__item--hobby .seo-column-action__link-label {
  color: #477451;
}

#colmn_detail .seo-column-action__item--hobby > a::after {
  border-color: #477451;
}

#colmn_detail .seo-column-action__item--hobby > a:hover {
  border-color: #5f8866;
  background:
    linear-gradient(120deg, rgba(255,255,255,.78), rgba(255,255,255,.12) 48%),
    linear-gradient(135deg, #f8fcf7, #c3dbc2);
}

/* -------- SEOリンク -------- */

.seo-score-final ul{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:22px 0 0;
    padding:0;
    list-style:none;
}

.seo-score-final li{
    width:calc(50% - 6px);
    margin:0;
}

.seo-score-final li a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:48px;
    padding:0 42px 0 18px;
    border:1px solid #d9d2c4;
    border-left:4px solid #b99745;
    border-radius:6px;
    background:#fff;
    color:#2d2d2d;
    text-decoration:none;
    font-weight:600;
    font-size:15px;
    transition:.25s;
}

.seo-score-final li a:after{
    content:"›";
    position:absolute;
    right:16px;
    color:#b99745;
    font-size:20px;
    font-weight:300;
}

.seo-score-final li a:hover{
    transform:translateY(-2px);
    border-color:#b99745;
    box-shadow:0 8px 18px rgba(0,0,0,.08);
}

@media(max-width:767px){

.seo-score-final li{
    width:100%;
}

}

/* 1番：金 */
.seo-score-final ul li:nth-child(1) a{
    border-left-color:#c7a23a;
}

/* 2番：エンジ */
.seo-score-final ul li:nth-child(2) a{
    border-left-color:#7a2435;
}

/* 3番：濃い緑 */
.seo-score-final ul li:nth-child(3) a{
    border-left-color:#2f6a44;
}

/* 4番：青緑 */
.seo-score-final ul li:nth-child(4) a{
    border-left-color:#1b7a78;
}

.column-link{
    display:block;
    color:inherit;
    text-decoration:none;
}

.column-link:hover{
    opacity:.85;
}

/* =========================================================
   COLUMN SEO HUB（全コラム共通・ベージュデザイン）
   ========================================================= */
#colmn_detail .column-seo-hub {
  position: relative;
  overflow: hidden;
  margin: 54px 0 0;
  padding: 34px;
  border: 1px solid #ded2bf;
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(200,167,116,.18), transparent 34%),
    linear-gradient(145deg, #fffdf9, #f6efe4);
  box-shadow: 0 16px 38px rgba(66, 48, 24, .10);
  color: #34291c;
}

#colmn_detail .column-seo-hub::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, #e7d7bd, #b8945d, #e7d7bd);
  content: "";
}

#colmn_detail .column-seo-hub__intro {
  margin-bottom: 24px;
}

#colmn_detail .column-seo-hub__eyebrow,
#colmn_detail .column-seo-hub__trust-label {
  margin: 0 0 7px;
  color: #8b6b3e;
  font-family: Arial, "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .14em;
}

#colmn_detail .column-seo-hub__intro h2,
#colmn_detail .column-seo-hub__trust h2 {
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  color: #302417;
  font-size: 24px;
  line-height: 1.55;
}

#colmn_detail .column-seo-hub__intro > p:last-child,
#colmn_detail .column-seo-hub__trust-main > p:last-child {
  margin: 0;
  color: #51483e;
  font-size: 14px;
  line-height: 1.9;
}

#colmn_detail .column-seo-hub__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#colmn_detail .column-seo-hub__item {
  margin: 0;
  padding: 0;
  list-style: none;
}

#colmn_detail .column-seo-hub__item a {
  position: relative;
  display: flex;
  min-height: 74px;
  align-items: center;
  padding: 16px 52px 16px 18px;
  border: 1px solid #b8945d;
  border-radius: 7px;
  background: linear-gradient(135deg, #eadfcd, #c8a774);
  box-shadow: 0 8px 18px rgba(92, 67, 31, .14);
  color: #302417;
  text-decoration: none;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

#colmn_detail .column-seo-hub__item a::after {
  position: absolute;
  top: 50%;
  right: 21px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #604822;
  border-right: 2px solid #604822;
  content: "";
  transform: translateY(-50%) rotate(45deg);
}

#colmn_detail .column-seo-hub__item a:hover {
  background: linear-gradient(135deg, #f3eadc, #d8ba89);
  box-shadow: 0 12px 24px rgba(92, 67, 31, .18);
  color: #261c11;
  transform: translateY(-2px);
}

#colmn_detail .column-seo-hub__category {
  display: inline;
  margin-right: .35em;
  padding: 2px 5px;
  border: 1px solid rgba(76, 54, 23, .48);
  color: #49361d;
  font-family: Arial, "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
}

#colmn_detail .column-seo-hub__title {
  color: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.75;
}

#colmn_detail .column-seo-hub__trust {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid #d9c9b0;
}

#colmn_detail .column-seo-hub__all {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border: 1px solid #a6814c;
  border-radius: 7px;
  background: linear-gradient(135deg, #e4d3b8, #bd985f);
  box-shadow: 0 7px 16px rgba(80, 57, 27, .13);
  color: #2d2114;
  text-align: center;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
  transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}

#colmn_detail .column-seo-hub__all:hover {
  background: linear-gradient(135deg, #f1e7d7, #d1b17f);
  box-shadow: 0 10px 20px rgba(80, 57, 27, .17);
  color: #241a10;
  transform: translateY(-2px);
}

@media screen and (max-width: 767px) {
  #colmn_detail .column-seo-hub {
    margin-top: 42px;
    padding: 26px 20px 22px;
    border-radius: 10px;
  }

  #colmn_detail .column-seo-hub__intro h2,
  #colmn_detail .column-seo-hub__trust h2 {
    font-size: 21px;
  }

  #colmn_detail .column-seo-hub__item a {
    min-height: 68px;
    padding: 14px 42px 14px 14px;
  }

  #colmn_detail .column-seo-hub__category {
    font-size: 10px;
  }

  #colmn_detail .column-seo-hub__title {
    font-size: 13px;
  }

  #colmn_detail .column-seo-hub__trust {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 25px;
    padding-top: 22px;
  }

  #colmn_detail .column-seo-hub__all {
    width: 100%;
    box-sizing: border-box;
  }
}
