/* ==================================================
   FV Styles
   ================================================== */
#fv {
    background-image: url(../img/index/fv.jpg);
    position: relative;
    height: 30rem;
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    z-index: -1;
}

.fv__content {
    width: 100%;
    position: absolute;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: transparent;
    padding: 2.2rem 0rem 2.6rem 3.9rem;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    color: #FFF;
    text-align: center;
}

.fv__content-title {
    text-shadow: 0px -2px 7px rgba(0, 0, 0, 0.50);
    font-size: 4.5rem;
    font-weight: 700;
    line-height: 130%;
    position: relative;
}


/* ==================================================
   BUTTON
   ================================================== */
.btn__pry {
    padding: 1rem 0;
    display: block;
    text-align: center;
    text-decoration: none;
    width: auto;
    font-weight: 700;
    border: 2px solid var(--main);
    background: var(--main);
    color: #fff;
    border-radius: 100vh;
    transition: 0.5s;
    font-size: 1.6rem;
    position: relative;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.btn__pry::after {
    content: "\e5cc";
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    color: #fff;
    font-family: 'Material Icons';
    font-size: 1.5rem;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    line-height: 2.2rem;
    text-align: center;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.btn__pry:hover {
    background: #FF8C04;
    border: 2px solid #FF8C04;
    opacity: 1;
}

.btn__pry:hover::after {
    color: #fff;
}


/* オレンジ */
.btn__pry--org {
    border: 2px solid var(--str);
    background: var(--str);
}

.btn__pry--org:hover{
    background-color: #ffa61e;
    border: 2px solid #ffa61e;

}

.btn__pry--org::after {
    background-color: transparent;
    color: #fff;
    border: none;
    font-size: 2.5rem;
}

.btn__pry--org:hover::after {
    color: #fff;
}

/* 緑 */
.btn__pry--grn {
    border: 2px solid var(--grn);
    background: var(--grn);
}

.btn__pry--grn::after {
    background-color: transparent;
    color: #fff;
    border: none;
    font-size: 2.5rem;
}

.btn__pry--grn:hover {
    background: #5fb674;
    border: 2px solid #5fb674;
    opacity: 1;
}

.btn__pry--grn:hover::after {
    color: #fff;
}

/* 白 */
.btn__pry--white {
    border: none;
    background: #FFF;
    color: #0069AF;
    filter: none;
}

.btn__pry--white:hover {
    background-color: #fff;
    border: none;
}

/* 濃い青 */
.btn__pry--blue {
    border: none;
    background: #005788;
    color: #FFF;
}

.btn__pry--blue::after {
    background-color: transparent;
    color: #fff;
    border: none;
    font-size: 2.5rem;
}

.btn__pry--blue:hover::after {
    color: #fff;
}

/* 押せない風 */
.btn__pry--pre{
    background-color: #ccc;
    color: #666;
    border-color: #ccc;
    cursor: not-allowed;
    pointer-events: none;
}

.btn__pry--pre:hover {
    background-color: #ccc;
    filter: none;
}


/* ボタン上のキャッチコピー */
.btn-copy {
    font-size: 1.8rem;
    font-weight: 700;
    position: relative;
    margin-bottom: .2em;
    text-align: center;
}

.btn-copy:before {
    color: var(--str);
    margin-right: 1rem;
    content: '＼';
}

.btn-copy:after {
    color: var(--str);
    margin-left: 1rem;
    content: '／';
}

/* キャリアコンサルタント養成講座のボタン */
.btn__pry--cta {
    font-size: 2.2rem;
    padding: 1rem;
    line-height: normal;
    border: 2px solid var(--str);
    background: var(--str);
    width: 38rem;
    margin: 0 auto;
}

.btn__pry--cta span {
    font-size: 3.8rem;
}

.btn__pry--cta::after {
    font-size: 6rem;
    right: 3.5rem;
}

/* 画像のボタンリンク */
.btn__link {
    width: 91.6rem;
    height: 21.8rem;
    background-size: cover;
    background-position: center;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    text-shadow: 0px 0px 7px #000;
    color: #fff;
    font-weight: 800;
    position: relative;
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.btn__link::before {
    content: '';
    position: absolute;
    top: 5px;
    right: 5px;
    bottom: 5px;
    left: 5px;
    border: 3px solid #ffffff;
    box-sizing: border-box;
    pointer-events: none;
}

/* フォーム用送信ボタン */
.submit-button {
    display: inline-block;
    padding: 1rem 9.5rem;
    text-decoration: none;
    width: auto;
    font-weight: 700;
    border: 2px solid var(--main);
    background: var(--main);
    color: #fff;
    border-radius: 100vh;
    transition: 0.5s;
    font-size: 1.6rem;
    margin: 0 auto;
    cursor: pointer;
}

/* 投稿記事　続きを読むボタン */
.btn__pry--postlink {
    display: inline-block;
    width: 23rem;
    padding: 1rem 2.8rem;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    border: 2px solid var(--main);
    background: var(--main);
    color: #fff;
    border-radius: 100vh;
    transition: 0.5s;
    font-size: 1.6rem;
    position: relative;
    filter: none;
}

/* ==================================================
   Headline
   ================================================== */
#main-body h2 {
    color: var(--sub);
    text-align: center;
    font-size: 3.5rem;
    font-weight: 700;
    position: relative;
    margin-bottom: 4rem;
}

#main-body h2::before {
    content: '';
    position: absolute;
    bottom: -2.1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 15.3rem;
    height: .1rem;
    background-color: var(--sub);
    border-radius: 2px;
}

/* 以下見出しはカスタムブロックで挿入 */
.heading {
    text-align: left;
    margin: 0;
    position: relative;
    overflow: hidden;
    padding: 2rem 2rem 1.5rem 15.2rem;
    border-top: 3px solid var(--main);
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 3.7rem;
}

.heading:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 15rem;
    height: 10rem;
    content: '';
    background: var(--main);
    clip-path: polygon(0 0, 100% 0%, 50% 100%, 0% 100%);
    transform: translateY(-50%);
}

.heading .number {
    font-size: 5.2rem;
    font-weight: 700;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    display: block;
    padding-top: .3rem;
    padding-left: 3.4rem;
    color: #fff;
}

.subtitle {
    color: #006299;
    text-align: center;
    font-size: 1.9rem;
    font-weight: 700;
    margin-bottom: 0;
}

.title {
    margin-top: 0;
}

.arrow {
    display: flex;
    align-items: center;
}

.arrow::before {
    content: '';
    display: inline-block;
    width: 1.5rem;
    height: 3rem;
    background-image: url(../img/icon/caret-right-solid.svg);
    background-size: cover;
    margin-right: 2rem;
}

/* メインカラー上下二本の大見出し */
.headline-bule {
    border-top: 1px solid var(--main);
    border-bottom: 1px solid var(--main);
}

.headline-bule__title {
    color: var(--main);
    text-align: center;
    font-size: 2.9rem;
    font-weight: 700;
}


/* 青と水色の２色のアンダーラインの小見出し */
.accent-blue {
    color: var(--sub);
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 240%;
    position: relative;
    border-bottom: solid 3px #cce4ff;
    margin-bottom: 1rem;
}

.accent-blue::after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #5472cd;
    bottom: -3px;
    width: 20%;
}

/* 背景が青の小見出し */
.bg-blue {
    background-color: var(--main);
    padding: .1rem 1.3rem;
    display: inline-block;
    color: #FFF;
    line-height: 200%;
    font-weight: 700;
}

/* ==================================================
   Label
   ================================================== */
.yellow-label {
    background-color: #FFF4BC;
    padding: .2rem .8rem;
    border: 1px solid #707070;
    display: inline;
    white-space: nowrap;
}

/* ==================================================
   Inner
   ================================================== */
.inner {
    max-width: 103rem;
    margin: 0 auto;
}


#main-body {
    width: 100%;
    font-size: 1.9rem;
}

/* ==================================================
   Link Style
   ================================================== */
.link-text {
    color: var(--link);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 400;
    line-height: 200%;
    text-decoration-line: underline;
}

/* ==================================================
   Box Style
   ================================================== */
.popup-box {
    border: 1px solid var(--main);
    position: relative;
    margin-top: 2rem;
    padding: 2rem 1rem 1rem 1rem;
    max-width: 83rem;
}

.popup-box-title {
    text-align: center;
    width: 60rem;
    position: absolute;
    padding: 1.2rem;
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    background-color: var(--main);
    display: inline-block;
    top: -3rem;
    left: 50%;
    transform: translateX(-50%);
}

/* ==================================================
   コンサルタント一覧ページへのリンクボックスのボタン
   ================================================== */
.course-list-link__container {
    max-width: 63.5rem;
    background-color: var(--main);
    margin: 0 auto 6rem auto;
    color: #FFF;
    overflow: hidden;
}

.course-list-link__container-text {
    text-align: center;
    padding: 2.6rem 3.5rem 2rem 3.5rem;
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 150%;
}

.course-list-link__container-container {
    border-top: 1px solid #fff;
    text-align: right;
    font-size: 1.9rem;
    padding: 0.6rem 4.2rem;
    position: relative;
}

.course-list-link__container-container::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 150%;
    width: 1px;
    background-color: #fff;
    transform: rotate(45deg);
    transform-origin: top center;
}

/* ==================================================
   Form Parts
   ================================================== */



/* ==================================================
   404
   ================================================== */
   article.page-404 {
    max-width: 80rem;
    margin: 8rem auto;
    text-align: center;
    padding: 5rem 1rem;
}

.page-404__title {
    font-size: 3rem;
    color: #333; 
    margin-bottom: 1rem;
    font-weight: 700;
}

.page-404__title2 {
    font-size: 2.5rem;
    color: #666;
    margin-bottom: 2rem;
    font-weight: 700;
}


/* ==================================================
   ページネーション
   ================================================== */
.pagination-container {
    margin-top: 12.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-numbers {
    width: 33px;
    height: 33px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: solid 2px var(--main);
    font-size: 1.6rem;
    color: var(--main);
    font-weight: bold;
    transition: all 0.15s linear;
    line-height: 150%;
    margin-left: 8px;
}

.page-numbers.current,
.page-numbers.current:hover {
    background: var(--main);
    color: #fff;
    pointer-events: none;
}

.page-numbers:hover {
    background: var(--main);
    color: #fff;
}


/* ==================================================
   各種パーツ
   ================================================== */
/* part-renewal-courses */
.courses-parts {
    max-width: 70.8rem;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    border: 1px solid var(--main);
}

.courses-parts .course-item {
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px dashed #369FDA;
    padding: 1rem 0;
}

.courses-parts .course-item:last-child {
    border-bottom: none;
}

.courses-parts .courses__content {
    width: 45rem;
}

#main-body .courses-parts .courses__term {
    text-align: center;
    font-size: 1.6rem;
}

#main-body .courses-parts .courses__details {
    display: flex;
    gap: 1.5rem;
}

#main-body .courses-parts .courses__location {
    flex-basis: 15rem;
    font-size: 2.2rem;
    font-weight: 700;
    display: flex;
    align-items: center;
}

#main-body .courses-parts .courses__location::before {
    content: '';
    display: inline-block;
    width: 1.5rem;
    height: 3rem;
    background-image: url(../img/icon/caret-right-solid.svg);
    background-size: cover;
    margin-right: 2rem;
}

#main-body .courses-parts .courses__label {
    border: 1px solid #707070;
    background-color: #FFF4BC;
    padding: .2rem .8rem;
    font-size: 1.4rem;
}

#main-body .courses-parts .courses__duration {
    flex-grow: 1;
    display: flex;
    align-items: center;
    gap: 2rem;
}

#main-body .courses-parts .courses__dates {
    font-size: 2.1rem;
    font-weight: 700;
}

#main-body .courses-parts .courses__dates span {
    font-size: 1.4rem;
}

#main-body .courses-parts .courses__location,
#main-body .courses-parts .courses__duration,
#main-body .courses-parts .courses__term {
    margin: 0;
}

#main-body .courses-parts .courses__btn-container {
    width: 22.4rem;
}

#main-body .course__note.parts {
    font-size: 1.7rem;
    line-height: 200%;
    padding: 1.8rem 6rem;
    margin-left: 5.4rem;
}

/* 養成講座リスト */
.content-list.part .content-list__course {
    border-bottom: 1px solid var(--main);
    margin-bottom: 1rem;
}

.content-list.part .content-list__course-subtitle {
    background-color: #D0EEFF;
    font-size: 1.5rem;
}

.content-list.part .content-list {
    margin-bottom: 2rem;
}

.content-list.part .content-list__course-type {
    font-size: 2.2rem;
    font-weight: 700;
    margin: 0;
    flex-basis: 20rem;
}

.content-list.part .content-list__course-details {
    justify-content: space-between;
    display: flex;
}

.content-list.part .content-list__course-schedule {
    min-width: 48rem;
    flex-grow: 1;
}

.content-list__method_wrap{
    text-align: left;
    min-width: 19rem;
}

.content-list.part .schedule-item{
    display: flex;
}

.content-list.part .schedule-item {
    margin: .6rem 0;
    display: flex;
    justify-content: space-between;
   gap:2rem;
   align-items:center;
}

.content-list.part .content-list__course-schedule .yellow-label {
    font-size: 1.4rem;
    font-weight: 400;
    margin-right: 1.5rem;
    vertical-align: .2rem;
}

.content-list.part .content-list__course-schedule time {
    font-size: 2.1rem;
    font-weight: 700;
     padding-left: 9rem;
    text-indent: -9rem;
    max-width:40rem;
  padding-top:.2rem;
  flex-basis: 40rem;
}

.content-list.part .content-list__course__method {
    margin: 0 auto;
}

.content-list.part .content-list__course-btn-container {
    width: 18.6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.content-list.part .content-list__course-btn-container .btn {
    filter: none;
    width: 14.6rem;
    margin-left: auto;
    padding: .2rem 1rem .2rem 0;
}

.content-list.part .content-list__course-btn-container .btn::after {
    font-weight: normal;
}

.content-box.part {
    background-color: #FFF4BC;
    padding: 1.6rem 3.5rem 1.6rem 3.5rem;
    margin-bottom: 2rem;
}

#main-body .content-box.part .content-box__title {
    font-weight: 700;
    margin: 0;
    margin-bottom: 1.5rem;
    font-size:1.7rem;
}

#main-body .content-box.part p {
    font-size: 1.7rem;
    line-height: 150%;
}

.content-box.part .content-box__list {
    list-style: inherit;
    margin: 1rem;
    margin-left: 4.5rem;
    font-size: 1.7rem;
}

.link-list.part {
    margin: 0;
    margin-left: 4.5rem;
    list-style: inherit;
}


/* cta */
.bg.parts {
    max-width: 80rem;
    height: 63rem;
    background-image: url(../img/index/cta-bg-up.jpg), url(../img/index/cta-bg.jpg);
    background-position: top, bottom;
    background-size: 100% 50%, 100% 50%;
    background-repeat: no-repeat, no-repeat;
    border-radius: 5%;
    margin: 6rem auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.bg.parts .text-box {
    width: 100%;
    background-color: #fff;
    padding: 5rem 5.2rem 4rem 5.2rem
}


.bg.parts .text {
    font-size: 1.8rem;
    margin-bottom: 4.5rem;
    line-height: 180%;
}

.bg.parts .btn-container {
    width: 57rem;
    margin: 0 auto 1rem auto;
}

.bg.parts .btn__pry {
    line-height: 6rem;
    font-size: 3rem;
}

.bg.parts .btn__pry::after {
    font-size: 5rem;
    font-weight: 400;
    right: 3rem;
}

.cta-parts .btn-container {
    margin: 0 auto;
    width: 38rem;
}

.cta-parts .btn-container .btn {
    font-size: 2.2rem;
    padding: 1rem;
    line-height: normal;
}

.cta-parts .btn-container span {
    font-size: 3.8rem;
}


.cr-newpage{
    padding-top:4rem;
    padding-bottom:4rem;
  margin-bottom:8rem;
}

.content-list.part .schedule-item {
    margin: .6rem 0;
    display: flex;
    justify-content: space-between;
    gap: 1rem; /* Adjusted gap for tighter layout */
    align-items: center;
}

.content-list.part .content-list__course-schedule time {
    font-size: 2.1rem;
    font-weight: 700;
    padding-left: 9rem;
    text-indent: -9rem;
    max-width: 40rem;
    padding-top: .2rem;
}

.content-list__method_wrap {
    text-align: left;
    min-width: 19rem;
    flex-grow: 1;
}

.content-list.part .content-list__course-btn-container {
    width: auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-start; 
    align-items: center;
}

.content-list.part .content-list__course-btn-container .btn {
    filter: none;
    width: auto; 
    padding: .2rem 1rem;
    margin: 0 .2rem;
    white-space: nowrap;
    width: 22.4rem;
}



/* ==================================================
   add code
   ================================================== */
#main-body.assesment{
    padding:8rem 0;
  
}

#main-body.assesment h2{
    text-align: left;
    padding-left: 3.6rem;
    padding-right: 1.6rem;
    color: #006299;
    font-size: 2.8rem;
    font-weight: 700;
    border: .1px solid var(--main);
    line-height: 4.3rem;
    width: 98%;
    margin: 4rem auto 0 auto;
    position: relative;
}

#main-body.assesment h2:before,#main-body.assesment h2:after {
    border: 1px solid var(--main);
    position: absolute;
    content: "";
    display: block;
}

#main-body.assesment h2:before {
    height: 3rem;
    width: 3rem;
    background-color: transparent;
  bottom: auto;
  left:0;
  top:-21%;
}

#main-body.assesment h2:after {
	height: 2rem;
    width: 2rem;
  right: -1%;
    bottom: -20%;
}

#main-body.assesment .assesment__content{
  padding:0 3.2rem}

#main-body.assesment .assesment__content ol li{
  margin-bottom:1rem;}

#main-body.assesment .assesment__content .has-text-align-center{
  margin-top:6rem;
    margin-bottom:8rem;
}

#main-body.assesment .assesment__content .has-text-align-center a{
  color:var(--main);
  text-decoration: underline;
  font-size:2.4rem;
}

#main-body.assesment .assesment__content .result_list {
  padding: 0;
  margin: 0 0 2rem;
}

#main-body.assesment .assesment__content .result_list dt {
  font-weight: bold;
  color: #333;
  margin-top: 2rem;
}

#main-body.assesment .assesment__content .result_list dd {
  margin-left: 2rem;
  line-height: 1.6;
}

#main-body.lecture{
}

#main-body.lecture .content_box {
    margin-bottom: 4rem;
    padding:0 2rem 2rem 2rem;
  }

#main-body.lecture ol {
    padding-left: 2rem;
  }

#main-body.lecture li {
    margin-bottom: 1rem;
  }

 #main-body.lecture dl {
    margin-top: 1rem;
    margin-bottom: 1rem;
  }

#main-body.lecture dt {
    font-weight: bold;
    margin-bottom: .5rem;
  }

#main-body.lecture dd {
    margin-left: 2rem;
    margin-bottom: .5rem;
  }

#main-body.lecture ul {
    list-style: none;
    padding-left: 2rem;
  }

#main-body.lecture a {
    color: var(--main);
    text-decoration: underline;
}

#main-body.lecture .heading__title{
  font-size:2.8rem;}

#main-body.lecture .heading .number{
  font-size:4.6rem;}

#main-body.lecture .lecture__description{
  padding:0 1rem;}

#main-body.lecture #lecture__header{
    margin:4rem 0 6rem 0;
}

#main-body.lecture .lecture__description p{
    padding:0 2rem;
}

#main-body.lecture .lecture__btn-container{
      max-width: 57rem;
    margin: 0 auto;
}

#main-body.lecture .lecture__btn{
font-size: 3rem;
    padding: 2rem 0;
  color:#fff;
      text-decoration: none;
}

#main-body.lecture .lecture__note{
  display: block;
  text-align: center;
}

.form_noinput {
    pointer-events: none;
    color: #666;
    background-color: #f3f3f3 !important;
}

.lecture__description{
    text-align: center;
    margin: 6rem 0;
}

#post-778 .summary_list dt {
  font-weight: bold;
  color: #333;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 4px;
  margin-top: 10px;
}
#post-778 .summary_list dd {
  margin: 0;
  padding: 10px 0;
}
#post-778 .summary_list ul {
  list-style-type: none;
  padding-left: 20px;
}
#post-778 .summary_list li {
  padding: 5px 0;
}
#post-778 a{
color: var(--main);
text-decoration: underline;
}
#post-778 .apply_list {
        counter-reset: item;
        list-style-type: none;
}
#post-778 .apply_list li {
        margin-bottom: 20px;
        counter-increment: item;
        padding-left: 20px;
}
#post-778 .apply_list li::before {
        content: counter(item) ". ";
        font-weight: bold;
        color: #5a5a5a;
    }
#post-778 .apply_list dl {
        background-color: #ffffff;
        padding: 10px;
        border-left: 5px solid #369FDA;;
        margin-top: 10px;
    }
#post-778 .apply_list dt {
        font-weight: bold;
    }
#post-778 .apply_list dd {
        margin-left: 20px;
        font-size: 0.9em;
    }