@charset "UTF-8";

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #fff;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam, footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact {
  position: relative;
  padding: 0;
  border-radius: 5px;
  overflow: hidden;
  z-index: 1;
}

footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a, footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-weight: 700;
  color: colors(primary);
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a::before, footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 13%;
  transform: translateY(-50%);
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a::after, footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  padding-top: 100%;
  width: 100%;
  height: 0;
  opacity: 0;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  transition: opacity 0.5s, transform 0s;
  transition-delay: 0s, 0.4s;
}
@media screen and (max-width: 480px) {
  footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a::after, footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a::after {
    content: none;
  }
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a:hover, footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a:hover {
  color: #fff;
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a:hover::after, footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a:hover::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity 0.6s, transform 0.3s ease-in-out;
}

.submit_btn, .page_link_btn, .category_link > li, #category_exam_list .section_inner .cat_exam_list > li .link_btn, #category_exam_list .section_inner .other_related_exam, .shikaku_main_visual .shikaku_next_exam .exam_order_btn, .default_main_visual .shikaku_next_exam .exam_order_btn, #exam_order_banner .section_inner .exam_order_btn, footer .footer_wrapper .f_category_menu > li, header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu,
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu, header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu, header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu, header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.submit_btn .btn, .page_link_btn > a, .category_link > li > a, #category_exam_list .section_inner .cat_exam_list > li .link_btn > a, #category_exam_list .section_inner .other_related_exam > a, .shikaku_main_visual .shikaku_next_exam .exam_order_btn > a, .default_main_visual .shikaku_next_exam .exam_order_btn > a, #exam_order_banner .section_inner .exam_order_btn > a, footer .footer_wrapper .f_category_menu > li > a, header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu > a,
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu > a, header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu > a, header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu > a, header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #fff;
}
.submit_btn .btn::after, .page_link_btn > a::after, .category_link > li > a::after, #category_exam_list .section_inner .cat_exam_list > li .link_btn > a::after, #category_exam_list .section_inner .other_related_exam > a::after, .shikaku_main_visual .shikaku_next_exam .exam_order_btn > a::after, .default_main_visual .shikaku_next_exam .exam_order_btn > a::after, #exam_order_banner .section_inner .exam_order_btn > a::after, footer .footer_wrapper .f_category_menu > li > a::after, header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu > a::after,
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu > a::after, header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu > a::after, header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu > a::after, header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu > a::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  padding-top: 100%;
  width: 100%;
  height: 0;
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
  transform: translateY(-50%) scale(0.1);
  transition: opacity 0.5s, transform 0s;
  transition-delay: 0s, 0.4s;
}
@media screen and (max-width: 480px) {
  .submit_btn .btn::after, .page_link_btn > a::after, .category_link > li > a::after, #category_exam_list .section_inner .cat_exam_list > li .link_btn > a::after, #category_exam_list .section_inner .other_related_exam > a::after, .shikaku_main_visual .shikaku_next_exam .exam_order_btn > a::after, .default_main_visual .shikaku_next_exam .exam_order_btn > a::after, #exam_order_banner .section_inner .exam_order_btn > a::after, footer .footer_wrapper .f_category_menu > li > a::after, header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu > a::after,
  header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu > a::after, header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu > a::after, header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu > a::after, header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu > a::after {
    content: none;
  }
}
.submit_btn .btn:not(.disabled):hover, .page_link_btn > a:not(.disabled):hover, .category_link > li > a:not(.disabled):hover, #category_exam_list .section_inner .cat_exam_list > li .link_btn > a:not(.disabled):hover, #category_exam_list .section_inner .other_related_exam > a:not(.disabled):hover, .shikaku_main_visual .shikaku_next_exam .exam_order_btn > a:not(.disabled):hover, .default_main_visual .shikaku_next_exam .exam_order_btn > a:not(.disabled):hover, #exam_order_banner .section_inner .exam_order_btn > a:not(.disabled):hover, footer .footer_wrapper .f_category_menu > li > a:not(.disabled):hover, header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu > a:not(.disabled):hover,
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu > a:not(.disabled):hover, header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu > a:not(.disabled):hover, header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu > a:not(.disabled):hover, header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu > a:not(.disabled):hover {
  color: #fff;
}
.submit_btn .btn:not(.disabled):hover::after, .page_link_btn > a:not(.disabled):hover::after, .category_link > li > a:not(.disabled):hover::after, #category_exam_list .section_inner .cat_exam_list > li .link_btn > a:not(.disabled):hover::after, #category_exam_list .section_inner .other_related_exam > a:not(.disabled):hover::after, .shikaku_main_visual .shikaku_next_exam .exam_order_btn > a:not(.disabled):hover::after, .default_main_visual .shikaku_next_exam .exam_order_btn > a:not(.disabled):hover::after, #exam_order_banner .section_inner .exam_order_btn > a:not(.disabled):hover::after, footer .footer_wrapper .f_category_menu > li > a:not(.disabled):hover::after, header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu > a:not(.disabled):hover::after,
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu > a:not(.disabled):hover::after, header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu > a:not(.disabled):hover::after, header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu > a:not(.disabled):hover::after, header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu > a:not(.disabled):hover::after {
  opacity: 1;
  transform: translateY(-50%) scale(1.1);
  transition-delay: 0s;
  transition: opacity 0.2s, transform 0.3s ease-in-out;
}

#exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name > a, #latest_news_list .section_inner .news_all_view > a,
#news_archive_view .section_inner .news_all_view > a, footer .footer_wrapper .f_menu_area .f_site_menu > li > a,
footer .footer_wrapper .f_menu_area .f_passed_menu > li > a,
footer .footer_wrapper .f_menu_area .f_other_menu > li > a, header.pc_header .header_wrapper .menu_area .lower_menu .lower_main > li > a {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 0.86rem !important;
  line-height: 1.2rem;
  text-align: center;
}
#exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name > a::before, #latest_news_list .section_inner .news_all_view > a::before,
#news_archive_view .section_inner .news_all_view > a::before, footer .footer_wrapper .f_menu_area .f_site_menu > li > a::before,
footer .footer_wrapper .f_menu_area .f_passed_menu > li > a::before,
footer .footer_wrapper .f_menu_area .f_other_menu > li > a::before, header.pc_header .header_wrapper .menu_area .lower_menu .lower_main > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  transform-origin: center top;
  transform: scale(0, 1);
  transition: transform 0.3s;
}
@media screen and (max-width: 480px) {
  #exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name > a::before, #latest_news_list .section_inner .news_all_view > a::before,
  #news_archive_view .section_inner .news_all_view > a::before, footer .footer_wrapper .f_menu_area .f_site_menu > li > a::before,
  footer .footer_wrapper .f_menu_area .f_passed_menu > li > a::before,
  footer .footer_wrapper .f_menu_area .f_other_menu > li > a::before, header.pc_header .header_wrapper .menu_area .lower_menu .lower_main > li > a::before {
    content: none;
  }
}
#exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name > a:hover::before, #latest_news_list .section_inner .news_all_view > a:hover::before,
#news_archive_view .section_inner .news_all_view > a:hover::before, footer .footer_wrapper .f_menu_area .f_site_menu > li > a:hover::before,
footer .footer_wrapper .f_menu_area .f_passed_menu > li > a:hover::before,
footer .footer_wrapper .f_menu_area .f_other_menu > li > a:hover::before, header.pc_header .header_wrapper .menu_area .lower_menu .lower_main > li > a:hover::before {
  transform-origin: center top;
  transform: scale(1, 1);
}


.nav-menu_item:hover .drop-menu-list {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s, visibility 0.3s;
}


.drop-menu-list {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s, visibility 0.3s;
}

.drop-menu-list {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s, visibility 0.3s;
  /* display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; */
  /* position: absolute;
  left: 0;
  top: 100%; */
  margin: 0.5em auto 0 auto;
  /* padding: 1em; */
  padding: 0.4em;
  width: 100%;
  /* width: auto; */
  background-color: #fff;
  box-shadow: 0 8px 15px 0 rgba(0, 0, 0, 0.05);
  z-index: 1;
}
@media screen and (max-width: 480px) {
  .drop-menu-list {
    visibility: visible;
    opacity: 1;
    position: static;
    margin: 0;
    padding: 0;
    box-shadow: none;
    z-index: 0;
  }
}
.drop-menu-list .dropdown_item {
  margin: 0;
  padding: 0;
  /* width: 32%; */
  width: 100%;
}
@media screen and (max-width: 480px) {
  .drop-menu-list .dropdown_item {
    width: 100%;
  }
}
.drop-menu-list .dropdown_item > a {
  display: inline-block;
  margin: 0;
  /* padding: 0.5em 1em; */
  padding: 0.5em;
  width: 100%;
  font-size: 0.94rem;
  /* font-weight: bold; */
  color: #222;
  text-align: left;
  text-decoration: none;
  border-bottom: 1px solid #f0f0f0;
  /* border-left: 3px solid #6eabd4; */
}
@media screen and (max-width: 480px) {
  .drop-menu-list .dropdown_item > a {
    position: relative;
    display: block;
    margin: 0;
    padding: 0.7em 4em;
    border-bottom: 1px solid #ddd;
    border-left: none;
  }
  .drop-menu-list .dropdown_item > a::after {
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translateY(-50%);
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-weight: 600;
    color: #b51c1c;
  }
}
.drop-menu-list .dropdown_item > a:hover {
  color: #b51c1c;
}
@media screen and (max-width: 480px) {
  .drop-menu-list .dropdown_item > a:hover {
    color: inherit;
  }
}


/**---------------------------------------------------
* 基本設定
*----------------------------------------------------*/
html {
  font-size: 100%;
  font-weight: 400;
}

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "MS PGothic", Osaka, arial, "Font Awesome 6 Free", sans-serif;
  width: 100%;
  padding-top: 140px;
}
body.order {
  padding-top: 0;
}
@media screen and (max-width: 480px) {
  body {
    padding-top: 65px;
  }
  body.order {
    padding-top: 0;
  }
}

@font-face {
  src: url("../../webfonts/NotoSansJP-Regular.ttf") format("truetype");
  font-family: "Noto Sans JP";
  font-style: normal;
  font-display: swap;
}
a {
  text-decoration: none;
}
a:hover {
  transition: all 0.3s;
}

.txt_red {
  color: #E21616;
  font-weight: bold;
}

.txt_bold {
  font-weight: 500;
  font-weight: bold;
}

.txt_center {
  text-align: center;
}

.txt_underline {
  text-decoration: underline;
}

.txt_yellow_underline {
  background: linear-gradient(transparent 70%, yellow 70%);
  font-weight: bold;
}

.bg_blue {
  background: #c5defa;
}

.bg_green {
  background: #d3fac5;
}

.bg_yellowgreen {
  background: #e7fac5;
}

.bg_yellow {
  background: #faf8c5;
}

.bg_orange {
  background: #fae4c5;
}

.mt_20 {
  margin-top: 20px;
}
@media screen and (max-width: 480px) {
  .mt_20 {
    margin-top: 10px;
  }
}

.mb_20 {
  margin-bottom: 20px;
}
@media screen and (max-width: 480px) {
  .mb_20 {
    margin-bottom: 10px;
  }
}

.mt_20_auto {
  margin: 20px auto 0 auto;
}
@media screen and (max-width: 480px) {
  .mt_20_auto {
    margin: 10px auto 0 auto;
  }
}

.mt_30 {
  margin-top: 30px;
}
@media screen and (max-width: 480px) {
  .mt_30 {
    margin-top: 15px;
  }
}

.mb_30 {
  margin-bottom: 30px;
}
@media screen and (max-width: 480px) {
  .mb_30 {
    margin-bottom: 15px;
  }
}

.mt_30_auto {
  margin: 30px auto 0 auto;
}
@media screen and (max-width: 480px) {
  .mt_30_auto {
    margin: 15px auto 0 auto;
  }
}

.mt_40 {
  margin-top: 40px;
}
@media screen and (max-width: 480px) {
  .mt_40 {
    margin-top: 20px;
  }
}

.mb_40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
  .mb_40 {
    margin-bottom: 20px;
  }
}

.mt_40_auto {
  margin: 40px auto 0 auto;
}
@media screen and (max-width: 480px) {
  .mt_40_auto {
    margin: 20px auto 0 auto;
  }
}

.mt_60 {
  margin-top: 60px;
}
@media screen and (max-width: 480px) {
  .mt_60 {
    margin-top: 30px;
  }
}

.mb_60 {
  margin-bottom: 60px;
}
@media screen and (max-width: 480px) {
  .mb_60 {
    margin-bottom: 60px;
  }
}

.mt_60_auto {
  margin: 60px auto 0 auto;
}
@media screen and (max-width: 480px) {
  .mt_60_auto {
    margin: 60px auto 0 auto;
  }
}

.pd_20 {
  padding: 20px 0;
}
@media screen and (max-width: 480px) {
  .pd_20 {
    padding: 10px 0;
  }
}

.pd_30 {
  padding: 30px 0;
}
@media screen and (max-width: 480px) {
  .pd_30 {
    padding: 15px 0;
  }
}

.pd_40 {
  padding: 40px 0;
}
@media screen and (max-width: 480px) {
  .pd_40 {
    padding: 20px 0;
  }
}

.pd_60 {
  padding: 60px 0;
}
@media screen and (max-width: 480px) {
  .pd_60 {
    padding: 30px 0;
  }
}

/**---------------------------------------------------
* フォームエラー表示
*----------------------------------------------------*/
.form-error,
.ui-error {
  margin: 0 0 10px 0;
  padding: 5px 10px;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #e91919;
  background: #fdf1f1;
}
.form-error.exam-error,
.ui-error.exam-error {
  margin: 20px 0 0 0;
  padding: 10px 20px;
  font-size: 1rem;
}

.ui-error {
  display: none;
}
.ui-error.has-error {
  display: block;
}

/**-------------------------------------------------------
* ベースレイアウト
*--------------------------------------------------------*/
section {
  margin: 0 auto;
  padding: 0;
  width: 1100px;
  background: #F9F9F9;
  border-radius: 10px;
}
section.no_bg {
  background: none;
}
section.exam_summary {
  background: #EDFAF6;
}
@media screen and (max-width: 480px) {
  section {
    width: 94%;
    border-radius: 5px;
  }
}
section .section_inner {
  margin: 0 auto;
  padding: 0;
  width: 1000px;
}
@media screen and (max-width: 480px) {
  section .section_inner {
    width: 92%;
  }
}

/**---------------------------------------------------
* ヘッダー
*----------------------------------------------------*/
header.pc_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 140px;
  border-top: 5px solid #108C67;
  z-index: 100;
  background: #fff;
  transition: all 0.5s;
}
header.pc_header.transform {
  height: 85px;
  border-bottom: 1px solid #b4b4b4;
  transform: all 0.5s;
  filter: drop-shadow(0 2px 4px #d6d6d6);
}
header.pc_header.transform .header_wrapper {
  height: 80px;
  transition: all 0.5s;
}
header.pc_header.transform .header_wrapper .main_logo {
  height: 100%;
}
header.pc_header.transform .header_wrapper .menu_area {
  height: 40px;
  background: #D3ECE5;
  border-radius: 5px;
  transition: all 0.5s;
}
header.pc_header.transform .header_wrapper .menu_area .upper_menu {
  padding: 5px 10px;
  height: 100%;
  transition: all 0.5s;
}
header.pc_header.transform .header_wrapper .menu_area .lower_menu {
  padding: 5px 10px;
  height: 40px;
}
header.pc_header .header_wrapper {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 1200px;
  height: 140px;
  transition: all 0.5s;
}
header.pc_header .header_wrapper .main_logo {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 30%;
  height: 100%;
}
header.pc_header .header_wrapper .main_logo > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
header.pc_header .header_wrapper .menu_area {
  margin: 0;
  padding: 0;
  width: 70%;
  height: 60px;
  transition: all 0.5s;
}
header.pc_header .header_wrapper .menu_area .upper_menu {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin: 0;
  padding: 10px;
  width: 100%;
  height: 60px;
  background: #D3ECE5;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  transition: all 0.5s;
}
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  width: 50%;
}
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu,
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu {
  position: relative;
  width: 50%;
  background: #55A990;
}
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu > a::after,
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu > a::after {
  background: #1f7158;
}
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .left_menu {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
header.pc_header .header_wrapper .menu_area .upper_menu .passed_menu .right_menu::before {
  content: "";
  position: absolute;
  top: 10%;
  left: 0;
  width: 1px;
  height: 80%;
  background: #B6DBD0;
}
header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu {
  margin: 0;
  padding: 0;
  width: 25%;
  background: #E3D795;
  border-radius: 5px;
}
header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu > a {
  color: #904A16;
}
header.pc_header .header_wrapper .menu_area .upper_menu .ranking_menu > a::after {
  background: #bca836;
}
header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu {
  margin: 0;
  padding: 0;
  width: 25%;
  background: #BC4C1B;
  border-radius: 4px;
}
header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu > a {
  font-size: 1rem;
  font-weight: 700;
  color: #fff;
}
header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu > a::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 14%;
  transform: translateY(-50%);
}
header.pc_header .header_wrapper .menu_area .upper_menu .exam_order_menu > a::after {
  background: #a90a0a;
}
header.pc_header .header_wrapper .menu_area .lower_menu {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 0;
  padding: 20px 10px;
  width: 100%;
  height: 80px;
  transition: all 0.5s;
}
header.pc_header .header_wrapper .menu_area .lower_menu .lower_main {
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  width: 75%;
}
header.pc_header .header_wrapper .menu_area .lower_menu .lower_main > li {
  margin: 0;
  padding: 0;
  width: 100%;
}
header.pc_header .header_wrapper .menu_area .lower_menu .lower_main > li + li {
  border-left: 1px solid #c1c1c1;
}
header.pc_header .header_wrapper .menu_area .lower_menu .lower_main > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  color: #000;
}
header.pc_header .header_wrapper .menu_area .lower_menu .lower_main > li > a::before {
  left: 5%;
  width: 90%;
  background: #108C67;
}
header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu {
  margin: 0;
  padding: 0;
  width: 25%;
  background: #108C67;
  border-radius: 4px;
}
header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu > a {
  font-size: 1rem;
  color: #fff;
}
header.pc_header .header_wrapper .menu_area .lower_menu .contact_menu > a::after {
  background: #076549;
}

header.sp_header {
  display: none;
}

/**---------------------------------------------------
* スマートフォン：ヘッダー
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  header.pc_header {
    display: none;
  }
  header.sp_header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 60px;
    border-top: 4px solid #108C67;
    background: #fff;
    z-index: 100;
  }
  header.sp_header.transform {
    filter: drop-shadow(0 2px 4px #d6d6d6);
  }
  header.sp_header .main_logo {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 10px;
    width: 70%;
    max-height: 60px;
  }
  header.sp_header .main_logo > img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
  header.sp_header .menu_btn {
    position: fixed;
    overflow-y: scroll;
    top: 12px;
    right: 15px;
    display: flex;
    width: 40px;
    height: 40px;
    justify-content: center;
    align-items: center;
    background: #108C67;
    border-radius: 100%;
    z-index: 100;
  }
  header.sp_header .menu_btn span,
  header.sp_header .menu_btn span::before,
  header.sp_header .menu_btn span::after {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 1px;
    border-radius: 3px;
    background: #fff;
  }
  header.sp_header .menu_btn span::before {
    bottom: 5px;
  }
  header.sp_header .menu_btn span::after {
    top: 5px;
  }
  header.sp_header #menu_btn_check {
    display: none;
  }
  header.sp_header #menu_btn_check:checked ~ .menu_btn span {
    background-color: rgba(255, 255, 255, 0);
  }
  header.sp_header #menu_btn_check:checked ~ .menu_btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    transition: all 0.5s;
  }
  header.sp_header #menu_btn_check:checked ~ .menu_btn span::after {
    top: 0;
    transform: rotate(-45deg);
    transition: all 0.5s;
  }
  header.sp_header .menu_content {
    position: fixed;
    top: 0;
    left: 100%;
    width: 100%;
    height: 100vh;
    background: rgba(16, 140, 103, 0.9);
    z-index: 10;
    transition: all 0.5s;
  }
  header.sp_header .menu_content .content_wrapper {
    margin: 70px auto 0 auto;
    padding: 0;
    width: 92%;
  }
  header.sp_header .menu_content .content_wrapper .menu_site_title {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    font-size: 1.2rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
  }
  header.sp_header .menu_content .content_wrapper .menu_site_title .en_title {
    display: block;
    margin: 5px auto 0 auto;
    padding: 0;
    width: 100%;
    font-size: 0.8rem;
    font-weight: 400;
    color: #fff;
    text-align: center;
  }
  header.sp_header .menu_content .content_wrapper .menu_btn_area {
    margin: 20px auto 0 auto;
    padding: 0;
    width: 100%;
  }
  header.sp_header .menu_content .content_wrapper .menu_btn_area .order_btn {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 70px;
  }
  header.sp_header .menu_content .content_wrapper .menu_btn_area .order_btn > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-size: 1.3rem;
    font-weight: 500;
    color: #108C67;
    background: #fff;
    border-radius: 5px;
  }
  header.sp_header .menu_content .content_wrapper .menu_btn_area .order_btn > a::after {
    content: "\f138";
    position: absolute;
    top: 50%;
    right: 15%;
    font-weight: 700;
    transform: translateY(-50%);
  }
  header.sp_header .menu_content .content_wrapper .menu_btn_area .contact_btn {
    margin: 10px 0 0 0;
    padding: 0;
    width: 100%;
    height: 50px;
  }
  header.sp_header .menu_content .content_wrapper .menu_btn_area .contact_btn > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-size: 1.3rem;
    font-weight: 500;
    color: #108C67;
    background: #fff;
    border-radius: 5px;
  }
  header.sp_header .menu_content .content_wrapper .menu_btn_area .contact_btn > a::after {
    content: "\f138";
    position: absolute;
    top: 50%;
    right: 15%;
    font-weight: 700;
    transform: translateY(-50%);
  }
  header.sp_header .menu_content .content_wrapper .menu_list_upper {
    margin: 20px auto 0 auto;
    padding: 20px;
    width: 100%;
    border-top: 1px solid #75B5A2;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_upper > li {
    margin: 0;
    padding: 0;
    width: 100%;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_upper > li + li {
    margin-top: 13px;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_upper > li > a {
    position: relative;
    font-size: 1.1rem;
    color: #fff;
    padding-left: 30px;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_upper > li > a::before {
    position: absolute;
    content: "\f138";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-top: 2px;
    font-weight: 700;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_lower {
    margin: 0 auto;
    padding: 20px;
    width: 100%;
    border-top: 1px solid #75B5A2;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_lower > li {
    margin: 0;
    padding: 0;
    width: 100%;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_lower > li + li {
    margin-top: 13px;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_lower > li > a {
    position: relative;
    font-size: 1.1rem;
    color: #fff;
    padding-left: 30px;
  }
  header.sp_header .menu_content .content_wrapper .menu_list_lower > li > a::before {
    position: absolute;
    content: "\f138";
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    margin-top: 2px;
    font-weight: 700;
  }
  header.sp_header #menu_btn_check:checked ~ .menu_content {
    left: 0;
  }
}
/**---------------------------------------------------
* フッター
*----------------------------------------------------*/
footer {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  background: #1FA37B;
}
footer .footer_wrapper {
  margin: 0 auto;
  padding: 40px 0;
  width: 1000px;
  /*-----------------------------------------------
  * 受験申込み・合格認定証発行ページの場合
  *----------------------------------------------*/
}
footer .footer_wrapper .f_site_title {
  margin: 0;
  padding: 0;
  width: 100%;
}
footer .footer_wrapper .f_site_title > a {
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
}
footer .footer_wrapper .f_site_title .en_title {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 0.8rem;
  font-weight: 400;
  color: #fff;
}
footer .footer_wrapper .f_category_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px 0 0 0;
  padding: 0 0 20px 0;
  width: 100%;
  border-bottom: 1px solid #75B5A2;
}
footer .footer_wrapper .f_category_menu::before {
  content: "";
  display: block;
  width: 24.5%;
  order: 1;
}
footer .footer_wrapper .f_category_menu::after {
  content: "";
  display: block;
  width: 24.5%;
}
footer .footer_wrapper .f_category_menu .f_exam_category {
  margin: 0;
  padding: 0;
  width: 24.5%;
}
@media screen and (max-width: 480px) {
  footer .footer_wrapper .f_category_menu .f_exam_category {
    width: 100%;
  }
}
footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_cat_name {
  margin: 0;
  padding: 0;
  width: 100%;
  background: #108C67;
  height: 40px;
}
footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list {
  margin: 0;
  padding: 0.8em 0.8em 1em 0.8em;
  width: 100%;
  background: #1a9772;
}
@media screen and (max-width: 480px) {
  footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list {
    padding: 0.8em 1em 1em 1em;
  }
}
footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list .f_exam_list_name {
  margin: 0;
  padding: 0 0 0.4em 0;
  width: 100%;
  border-bottom: 1px solid #75B5A2;
}
@media screen and (max-width: 480px) {
  footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list .f_exam_list_name {
    border-bottom: none;
    padding: 0;
  }
}
footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list .f_exam_list_name:not(:last-child) {
  margin-bottom: 0.3em;
}
footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list .f_exam_list_name > a {
  position: relative;
  display: inline-block;
  padding-left: 1.5em;
  width: 100%;
  font-size: 0.9rem;
  color: #fff;
}
@media screen and (max-width: 480px) {
  footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list .f_exam_list_name > a {
    display: inline;
    line-height: 0;
  }
}
footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list .f_exam_list_name > a:hover {
  text-decoration: underline;
}
footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list .f_exam_list_name > a::before {
  position: absolute;
  content: "\f138";
  top: 60%;
  left: 0;
  transform: translateY(-60%);
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  font-size: 0.8rem;
  color: #fff;
}
@media screen and (max-width: 480px) {
  footer .footer_wrapper .f_category_menu .f_exam_category .f_exam_list .f_exam_list_name > a::before {
    top: 60%;
    left: 0;
    transform: translateY(-60%);
  }
}
footer .footer_wrapper .f_category_menu > li {
  margin: 0 0 5px 0;
  padding: 0;
  width: 24.5%;
  background: #108C67;
}
footer .footer_wrapper .f_category_menu > li > a {
  height: 40px;
}
footer .footer_wrapper .f_category_menu > li > a::after {
  background: #1b6750;
}
footer .footer_wrapper .f_menu_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px 0 0 0;
  padding: 0;
  width: 100%;
}
footer .footer_wrapper .f_menu_area .order_sns_area {
  margin: 0;
  padding: 0;
  width: 25%;
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam {
  margin: 0;
  width: 90%;
  height: 70px;
  background: #fff;
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a {
  font-size: 1.1rem;
  color: #108C67;
  letter-spacing: 0.1rem;
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a::after {
  background: #1b6750;
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact {
  margin: 5px 0 0 0;
  width: 90%;
  height: 50px;
  background: #fff;
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a {
  font-size: 1rem;
  color: #108C67;
  letter-spacing: 0.05rem;
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a::after {
  background: #1b6750;
}
footer .footer_wrapper .f_menu_area .order_sns_area .f_sns_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px 0 0 0;
  padding: 0;
  width: 90%;
}
footer .footer_wrapper .f_menu_area .f_site_menu,
footer .footer_wrapper .f_menu_area .f_passed_menu,
footer .footer_wrapper .f_menu_area .f_other_menu {
  margin: 0;
  padding: 0 0 0 30px;
  width: 25%;
  border-left: 1px solid #75B5A2;
}
footer .footer_wrapper .f_menu_area .f_site_menu > li,
footer .footer_wrapper .f_menu_area .f_passed_menu > li,
footer .footer_wrapper .f_menu_area .f_other_menu > li {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
}
footer .footer_wrapper .f_menu_area .f_site_menu > li + li,
footer .footer_wrapper .f_menu_area .f_passed_menu > li + li,
footer .footer_wrapper .f_menu_area .f_other_menu > li + li {
  margin-top: 20px;
}
footer .footer_wrapper .f_menu_area .f_site_menu > li > a,
footer .footer_wrapper .f_menu_area .f_passed_menu > li > a,
footer .footer_wrapper .f_menu_area .f_other_menu > li > a {
  padding-bottom: 5px;
  font-size: 0.9rem;
  color: #fff;
}
footer .footer_wrapper .f_menu_area .f_site_menu > li > a::before,
footer .footer_wrapper .f_menu_area .f_passed_menu > li > a::before,
footer .footer_wrapper .f_menu_area .f_other_menu > li > a::before {
  height: 1px;
  background: #fff;
  transform-origin: left top;
}
footer .footer_wrapper .f_menu_area .f_site_menu > li > a:hover::before,
footer .footer_wrapper .f_menu_area .f_passed_menu > li > a:hover::before,
footer .footer_wrapper .f_menu_area .f_other_menu > li > a:hover::before {
  transform-origin: left top;
}
footer .footer_wrapper.no_cont .f_site_title {
  text-align: center;
}
footer .footer_wrapper.no_cont .f_menu_area .f_other_menu {
  margin: 0;
  padding: 0;
  width: 100%;
  text-align: center;
  border-left: none;
}
footer .footer_wrapper.no_cont .f_menu_area .f_other_menu > li {
  display: inline;
  margin-top: 0;
  padding: 0 20px;
  text-align: center;
}
footer .footer_wrapper.no_cont .f_menu_area .f_other_menu > li + li {
  border-left: 1px solid #75B5A2;
}
footer .footer_wrapper.no_cont .f_menu_area .f_other_menu > li > a::before {
  transform-origin: center top;
}
footer .footer_wrapper.no_cont .f_menu_area .f_other_menu > li > a:hover::before {
  transform-origin: center top;
}
footer .copyright {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 50px;
  font-size: 14px;
  color: #fff;
  background: #108C67;
}

/**---------------------------------------------------
* スマートフォン：フッター
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  footer .footer_wrapper {
    padding: 30px 0 10px 0;
    width: 94%;
    /*-----------------------------------------------
    * 受験申込み・合格認定証発行ページの場合
    *----------------------------------------------*/
  }
  footer .footer_wrapper .f_site_title {
    font-size: 1.1rem;
    text-align: center;
  }
  footer .footer_wrapper .f_site_title .en_title {
    text-align: center;
  }
  footer .footer_wrapper .f_category_menu > li {
    width: 50%;
  }
  footer .footer_wrapper .f_category_menu > li:not(:first-of-type)::before {
    background: none;
  }
  footer .footer_wrapper .f_category_menu > li:nth-of-type(2n)::before {
    content: "";
    position: absolute;
    top: 15%;
    left: 0;
    width: 1px;
    height: 70%;
    background: #75B5A2;
  }
  footer .footer_wrapper .f_category_menu > li:nth-of-type(1)::after, footer .footer_wrapper .f_category_menu > li:nth-of-type(2)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 5%;
    width: 90%;
    height: 1px;
    background: #75B5A2;
  }
  footer .footer_wrapper .f_category_menu > li > a {
    padding: 13px 8px;
    height: auto;
    font-size: 0.8rem;
  }
  footer .footer_wrapper .f_category_menu > li > a::after {
    background: #1b6750;
  }
  footer .footer_wrapper .f_menu_area {
    margin: 20px auto 0 auto;
  }
  footer .footer_wrapper .f_menu_area .order_sns_area {
    margin: 0;
    padding: 0 0 30px 0;
    width: 100%;
    border-bottom: 1px solid #75B5A2;
  }
  footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam {
    margin: 0;
    width: 100%;
    height: 50px;
    background: #fff;
  }
  footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_order_exam > a {
    font-size: 1.1rem;
    color: #108C67;
    letter-spacing: 0.1rem;
  }
  footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact {
    margin: 5px 0 0 0;
    width: 100%;
    height: 40px;
    background: #fff;
  }
  footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a {
    font-size: 1.1rem;
    color: #108C67;
    letter-spacing: 0.05rem;
  }
  footer .footer_wrapper .f_menu_area .order_sns_area .f_order_btn .f_contact > a::after {
    background: #1b6750;
  }
  footer .footer_wrapper .f_menu_area .order_sns_area .f_sns_menu {
    margin: 30px auto 0 auto;
    padding: 0;
    width: 70%;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu,
  footer .footer_wrapper .f_menu_area .f_passed_menu {
    position: relative;
    width: 50%;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu:first-of-type,
  footer .footer_wrapper .f_menu_area .f_passed_menu:first-of-type {
    border-left: none;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu:nth-of-type(1), footer .footer_wrapper .f_menu_area .f_site_menu:nth-of-type(2),
  footer .footer_wrapper .f_menu_area .f_passed_menu:nth-of-type(1),
  footer .footer_wrapper .f_menu_area .f_passed_menu:nth-of-type(2) {
    padding: 20px 0;
    width: 50%;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu:nth-of-type(2)::before,
  footer .footer_wrapper .f_menu_area .f_passed_menu:nth-of-type(2)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10%;
    width: 1px;
    height: 80%;
    background: #75B5A2;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu:nth-of-type(4),
  footer .footer_wrapper .f_menu_area .f_passed_menu:nth-of-type(4) {
    margin-top: 20px;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu:not(:first-child),
  footer .footer_wrapper .f_menu_area .f_passed_menu:not(:first-child) {
    padding-left: 20px;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu + ul,
  footer .footer_wrapper .f_menu_area .f_passed_menu + ul {
    border-left: none;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu > li,
  footer .footer_wrapper .f_menu_area .f_passed_menu > li {
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu > li + li,
  footer .footer_wrapper .f_menu_area .f_passed_menu > li + li {
    margin-top: 10px;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu > li > a,
  footer .footer_wrapper .f_menu_area .f_passed_menu > li > a {
    padding-bottom: 5px;
    font-size: 0.9rem;
    color: #fff;
  }
  footer .footer_wrapper .f_menu_area .f_site_menu > li > a::before,
  footer .footer_wrapper .f_menu_area .f_passed_menu > li > a::before {
    background: #108C67;
  }
  footer .footer_wrapper .f_menu_area .f_other_menu {
    padding: 20px;
    width: 100%;
    border-top: 1px solid #75B5A2;
  }
  footer .footer_wrapper .f_menu_area .f_other_menu > li {
    margin: 0;
    padding: 0;
    width: 100%;
  }
  footer .footer_wrapper .f_menu_area .f_other_menu > li + li {
    margin-top: 10px;
  }
  footer .footer_wrapper.no_cont .f_site_title {
    text-align: center;
  }
  footer .footer_wrapper.no_cont .f_menu_area .f_other_menu {
    margin-bottom: 20px;
    padding-top: 20px;
    text-align: left;
  }
  footer .footer_wrapper.no_cont .f_menu_area .f_other_menu > li {
    display: block;
    text-align: left;
  }
  footer .footer_wrapper.no_cont .f_menu_area .f_other_menu > li + li {
    margin-top: 10px;
    border-left: none;
  }
  footer .copyright {
    font-size: 0.75rem;
  }
}
/**---------------------------------------------------
* メインビジュアル：トップページ
*----------------------------------------------------*/
.front_main_visual {
  position: relative;
  margin: 0 auto;
  padding: 0;
  width: 1200px;
  height: 500px;
  border-radius: 10px;
  overflow: hidden;
}
.front_main_visual .visual_img {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.front_main_visual .visual_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.front_main_visual .head_catch_area {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  margin: 0 0 0 5%;
  padding: 20px;
  width: 40%;
  background: rgba(0, 0, 0, 0.2);
  box-shadow: 0px 0px 50px 50px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}
.front_main_visual .head_catch_area .site_name {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
}
.front_main_visual .head_catch_area .catchcopy {
  margin: 10px 0 0 0;
  padding: 0;
  width: 100%;
  font-size: 2.4rem;
  font-weight: 700;
  color: #fff;
  line-height: 3.2rem;
}
.front_main_visual .head_catch_area .catch_summary {
  margin: 10px 0 0 0;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
  color: #fff;
  line-height: 1.8rem;
  text-wrap: balance;
}
.front_main_visual .front_next_exam {
  position: absolute;
  bottom: 10%;
  right: 5%;
  margin: 0;
  padding: 20px;
  width: 30%;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 10px;
}
.front_main_visual .front_next_exam .ne_title {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.2rem;
  font-weight: 700;
  color: #108C67;
  text-align: center;
}
.front_main_visual .front_next_exam .ne_date {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  color: #C01D1D;
  text-align: center;
}
.front_main_visual .front_next_exam .ne_order_title {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  text-align: center;
}
.front_main_visual .front_next_exam .ne_order_date {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #000;
  text-align: center;
}

/**---------------------------------------------------
* スマートフォン：メインビジュアル：トップページ
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .front_main_visual {
    width: 94%;
    height: 220px;
    border-radius: 5px;
  }
  .front_main_visual .head_catch_area {
    top: 70%;
    transform: translateY(-70%);
    margin: 0;
    padding: 0 5%;
    width: 100%;
  }
  .front_main_visual .head_catch_area .site_name {
    font-size: 0.9rem;
  }
  .front_main_visual .head_catch_area .catchcopy {
    margin: 5px 0 0 0;
    font-size: 1.3rem;
    line-height: 1.8rem;
  }
  .front_main_visual .head_catch_area .catch_summary {
    margin: 5px 0 0 0;
    font-size: 0.7rem;
    line-height: 1rem;
  }
  .front_main_visual .front_next_exam {
    display: none;
  }
}
/**---------------------------------------------------
* メインビジュアル：認定試験（資格）ページ
*----------------------------------------------------*/
.shikaku_main_visual {
  display: flex;
  flex-wrap: wrap;
  gap: 1%;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 1200px;
  height: 300px;
}
.shikaku_main_visual .visual_area {
  position: relative;
  margin: 0;
  padding: 0;
  width: 72%;
  background: #F6F6F6;
  border-radius: 10px;
}
.shikaku_main_visual .visual_area .visual_img {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 260px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  overflow: hidden;
}
.shikaku_main_visual .visual_area .visual_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.shikaku_main_visual .visual_area .shikaku_title {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -65%);
  padding: 15px 4% 15px 7%;
  width: 94%;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  line-height: 2rem;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 10px;
}
@media screen and (max-width: 480px) {
  .shikaku_main_visual .visual_area .shikaku_title {
    line-height: 1.4rem;
  }
}
.shikaku_main_visual .visual_area .shikaku_title::before {
  content: "";
  position: absolute;
  top: 15%;
  left: 4%;
  height: 70%;
  width: 10px;
  background: #108C67;
}
.shikaku_main_visual .visual_area .shikaku_title .s_title {
  display: block;
  margin: 0 0 5px 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
  line-height: 1rem;
}
.shikaku_main_visual .shikaku_next_exam {
  position: relative;
  margin: 0;
  padding: 0;
  width: 27%;
  background: #F6F6F6;
  border-radius: 10px;
}
.shikaku_main_visual .shikaku_next_exam .date_contents {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 90%;
}
.shikaku_main_visual .shikaku_next_exam .date_contents .ne_title {
  margin: 0 auto;
  padding: 0 0 10px 0;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #108C67;
  text-align: center;
  border-bottom: 1px solid #CECECE;
}
.shikaku_main_visual .shikaku_next_exam .date_contents .ne_date {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  color: #C01D1D;
  text-align: center;
}
.shikaku_main_visual .shikaku_next_exam .date_contents .ne_order_title {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  text-align: center;
}
.shikaku_main_visual .shikaku_next_exam .date_contents .ne_order_date {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #000;
  text-align: center;
}
.shikaku_main_visual .shikaku_next_exam .date_contents .other_date {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 100%;
  height: 36px;
}
.shikaku_main_visual .shikaku_next_exam .date_contents .other_date > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 0.9rem;
  color: #000;
  border: 1px solid #CECECE;
  border-radius: 5px;
}
@media (hover: hover) and (pointer: fine) {
  .shikaku_main_visual .shikaku_next_exam .date_contents .other_date > a:hover {
    color: #fff;
    background: #55A990;
    border: none;
  }
}
.shikaku_main_visual .shikaku_next_exam .exam_order_btn {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-top: auto;
  padding: 0;
  width: 100%;
  height: 50px;
  background: #108C67;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.shikaku_main_visual .shikaku_next_exam .exam_order_btn > a {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
}
.shikaku_main_visual .shikaku_next_exam .exam_order_btn > a::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 25%;
  transform: translateY(-50%);
  font-weight: 700;
}
.shikaku_main_visual .shikaku_next_exam .exam_order_btn > a::after {
  background: #a90a0a;
}

/**---------------------------------------------------
* スマートフォン：メインビジュアル：認定試験（資格）ページ
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .shikaku_main_visual {
    gap: 0;
    width: 94%;
    height: auto;
  }
  .shikaku_main_visual .visual_area {
    width: 100%;
  }
  .shikaku_main_visual .visual_area .visual_img {
    height: 160px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
  }
  .shikaku_main_visual .visual_area .shikaku_title {
    top: 75%;
    left: 50%;
    transform: translate(-50%, -65%);
    padding: 10px 2% 10px 8%;
    font-size: 1rem;
    border-radius: 5px;
  }
  .shikaku_main_visual .visual_area .shikaku_title::before {
    width: 7px;
  }
  .shikaku_main_visual .visual_area .shikaku_title .s_title {
    margin-bottom: 2px;
    font-size: 0.7rem;
  }
  .shikaku_main_visual .shikaku_next_exam {
    width: 100%;
    height: 260px;
    border-radius: 0;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  .shikaku_main_visual .shikaku_next_exam .date_contents {
    margin: 10px auto 0 auto;
  }
  .shikaku_main_visual .shikaku_next_exam .date_contents .ne_title {
    padding: 0 0 6px 0;
    font-size: 1.1rem;
  }
  .shikaku_main_visual .shikaku_next_exam .date_contents .ne_date {
    margin: 6px auto 0 auto;
    font-size: 1.5rem;
  }
  .shikaku_main_visual .shikaku_next_exam .date_contents .ne_order_title {
    font-size: 0.9rem;
  }
  .shikaku_main_visual .shikaku_next_exam .date_contents .ne_order_date {
    font-size: 0.9rem;
  }
  .shikaku_main_visual .shikaku_next_exam .date_contents .other_date {
    margin: 15px auto 0 auto;
  }
  .shikaku_main_visual .shikaku_next_exam .exam_order_btn {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  .shikaku_main_visual .shikaku_next_exam .exam_order_btn > a {
    font-size: 1.1rem;
  }
  .shikaku_main_visual .shikaku_next_exam .exam_order_btn > a::before {
    right: 30%;
  }
}
/**---------------------------------------------------
* メインビジュアル：一般ページ
*----------------------------------------------------*/
.default_main_visual {
  margin: 0 auto;
  padding: 0;
  width: 1200px;
}
.default_main_visual .visual_area {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  background: #F6F6F6;
  border-radius: 10px;
}
.default_main_visual .visual_area .visual_img {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 300px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  overflow: hidden;
}
.default_main_visual .visual_area .visual_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.default_main_visual .visual_area .shikaku_title {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -65%);
  padding: 15px 4% 15px 7%;
  width: 94%;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.6rem;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 10px;
}
.default_main_visual .visual_area .shikaku_title::before {
  content: "";
  position: absolute;
  top: 15%;
  left: 4%;
  height: 70%;
  width: 10px;
  background: #108C67;
}
.default_main_visual .visual_area .shikaku_title .s_title {
  display: block;
  margin: 0 0 5px 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 400;
  color: #fff;
  line-height: 1rem;
}
.default_main_visual .shikaku_next_exam {
  position: relative;
  margin: 0;
  padding: 0;
  width: 27%;
  background: #F6F6F6;
  border-radius: 10px;
}
.default_main_visual .shikaku_next_exam .date_contents {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 90%;
}
.default_main_visual .shikaku_next_exam .date_contents .ne_title {
  margin: 0 auto;
  padding: 0 0 10px 0;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #108C67;
  text-align: center;
  border-bottom: 1px solid #CECECE;
}
.default_main_visual .shikaku_next_exam .date_contents .ne_date {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  color: #C01D1D;
  text-align: center;
}
.default_main_visual .shikaku_next_exam .date_contents .ne_order_title {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  text-align: center;
}
.default_main_visual .shikaku_next_exam .date_contents .ne_order_date {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #000;
  text-align: center;
}
.default_main_visual .shikaku_next_exam .date_contents .other_date {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px auto 0 auto;
  padding: 0;
  width: 100%;
  height: 36px;
  font-size: 0.9rem;
  color: #000;
  border: 1px solid #CECECE;
  border-radius: 5px;
}
.default_main_visual .shikaku_next_exam .exam_order_btn {
  position: absolute;
  bottom: 0;
  left: 0;
  margin-top: auto;
  padding: 0;
  width: 100%;
  height: 50px;
  background: #108C67;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.default_main_visual .shikaku_next_exam .exam_order_btn > a {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
}
.default_main_visual .shikaku_next_exam .exam_order_btn > a::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 25%;
  transform: translateY(-50%);
  font-weight: 700;
}
.default_main_visual .shikaku_next_exam .exam_order_btn > a::after {
  background: #a90a0a;
}

/**---------------------------------------------------
* スマートフォン：メインビジュアル：認定試験（資格）ページ
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .default_main_visual {
    width: 94%;
    height: auto;
  }
  .default_main_visual .visual_area {
    width: 100%;
  }
  .default_main_visual .visual_area .visual_img {
    height: 160px;
    border-radius: 5px;
  }
  .default_main_visual .visual_area .shikaku_title {
    top: 75%;
    left: 50%;
    transform: translate(-50%, -65%);
    padding: 10px 2% 10px 8%;
    font-size: 1rem;
    border-radius: 5px;
  }
  .default_main_visual .visual_area .shikaku_title::before {
    width: 7px;
  }
  .default_main_visual .visual_area .shikaku_title .s_title {
    margin-bottom: 2px;
    font-size: 0.7rem;
  }
}
/**---------------------------------------------------
* パンくずリスト
*----------------------------------------------------*/
.breadcrumbs,
.footer_breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 0 30px;
  width: 100%;
  height: 40px;
}
@media screen and (max-width: 480px) {
  .breadcrumbs,
  .footer_breadcrumbs {
    height: auto;
  }
}
.breadcrumbs .separator,
.footer_breadcrumbs .separator {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 13px;
  padding: 2px 0 0 0;
  width: 10px;
  height: 100%;
}
.breadcrumbs > a,
.footer_breadcrumbs > a {
  display: block;
  font-size: 0.85rem;
  color: #666;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .breadcrumbs > a:hover,
  .footer_breadcrumbs > a:hover {
    color: #932626;
    text-decoration: underline;
  }
}

@media screen and (max-width: 480px) {
  .breadcrumbs {
    display: none;
  }
}
.footer_breadcrumbs {
  margin: 30px auto 0 auto;
  padding: 0 5%;
  width: 100%;
  background: #fafafa;
}
@media screen and (max-width: 480px) {
  .footer_breadcrumbs {
    padding: 10px 5%;
    line-height: 1.6rem;
  }
}

/**---------------------------------------------------
* セクションタイトル - 左揃え
*----------------------------------------------------*/
.section_title_left {
  margin-bottom: 30px;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: #000;
  line-height: 1.4rem;
  letter-spacing: 0.2rem;
}
.section_title_left.stl_sub {
  font-size: 1.1rem;
  letter-spacing: 0.1rem;
}
.section_title_left.body_title {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 1100px;
}
@media screen and (max-width: 480px) {
  .section_title_left.body_title {
    width: 94%;
  }
}
@media screen and (max-width: 480px) {
  .section_title_left {
    margin-bottom: 20px;
    font-size: 1rem;
    line-height: 1rem;
  }
}
.section_title_left .en_title {
  display: block;
  margin: 0 0 3px 0;
  padding: 0;
  font-size: 0.8rem;
  font-weight: 400;
  color: #108C67;
  letter-spacing: normal;
}
@media screen and (max-width: 480px) {
  .section_title_left .en_title {
    margin-bottom: 5px;
    font-size: 0.7rem;
  }
}

.article_en_title {
  display: block;
  margin: 0 auto 8px auto;
  padding: 0;
  width: 1100px;
  font-size: 0.8rem;
  font-weight: 400;
  color: #108C67;
}
@media screen and (max-width: 480px) {
  .article_en_title {
    margin: 0 0 5px 0;
    padding-left: 5px;
    font-size: 0.7rem;
    width: 94%;
  }
}

/**---------------------------------------------------
* セクションタイトル - 中央揃え
*----------------------------------------------------*/
.section_title_center {
  margin: 30px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #000;
  line-height: 1.4rem;
  letter-spacing: 0.2rem;
  text-align: center;
}
.section_title_center.title_gr {
  color: #108C67;
}
.section_title_center.mt_40 {
  margin-top: 40px;
}
@media screen and (max-width: 480px) {
  .section_title_center {
    font-size: 1.1rem;
  }
}
.section_title_center .en_title {
  display: block;
  margin: 16px auto 30px auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #108C67;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .section_title_center .en_title {
    margin-top: 5px;
    font-size: 0.7rem;
  }
}

.upper_en_title {
  display: block;
  margin: 10px 0 8px 0;
  padding: 0;
  font-size: 0.9rem;
  font-weight: 400;
  color: #108C67;
  letter-spacing: normal;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .upper_en_title {
    margin-top: 5px;
    font-size: 0.7rem;
  }
}

.bottom_en_title {
  display: block;
  margin: 16px auto 40px auto;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 400;
  color: #108C67;
  letter-spacing: normal;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .bottom_en_title {
    margin-bottom: 20px;
    font-size: 0.7rem;
  }
}

/**---------------------------------------------------
* NEWマーク
*----------------------------------------------------*/
.new_mark {
  display: inline-block;
  margin: 0 8px 0 0;
  padding: 2px 5px;
  width: 46px;
  font-size: 0.7rem;
  color: #fff;
  text-align: center;
  background: #ab1010;
  border-radius: 3px;
}
@media screen and (max-width: 480px) {
  .new_mark {
    padding: 1px 3px;
  }
}

/**---------------------------------------------------
* 三角形
*----------------------------------------------------*/
.triangle {
  background: #108C67;
  height: 25.9807621135px;
  width: 60px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.triangle.wd30 {
  width: 30px;
  height: 25.9807621135px;
}
.triangle.wd40 {
  width: 40px;
  height: 34.6410161514px;
}
.triangle.wd50 {
  width: 50px;
  height: 43.3012701892px;
}
.triangle.wd60 {
  width: 60px;
  height: 51.9615242271px;
}
.triangle.tg_center {
  margin-left: auto;
  margin-right: auto;
}

/**---------------------------------------------------
* 受験申込みバナー
*----------------------------------------------------*/
#exam_order_banner {
  background: #CDE7DF;
}
#exam_order_banner .section_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
#exam_order_banner .section_inner .order_txt_area {
  margin: 0;
  padding: 0;
  width: 63%;
}
#exam_order_banner .section_inner .order_txt_area .main_txt {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1.2rem;
  font-weight: 700;
  color: #C73737;
}
#exam_order_banner .section_inner .order_txt_area .sub_txt {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #000;
}
#exam_order_banner .section_inner .exam_order_btn {
  margin: 0;
  padding: 0;
  width: 33%;
  height: 60px;
  background: #108C67;
  border-radius: 5px;
}
#exam_order_banner .section_inner .exam_order_btn > a {
  width: 100%;
  height: 100%;
  font-size: 1.1rem;
  font-weight: 700;
}
#exam_order_banner .section_inner .exam_order_btn > a::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 14%;
  transform: translateY(-50%);
  font-weight: 700;
}
#exam_order_banner .section_inner .exam_order_btn > a::after {
  background: #a90a0a;
}

/**---------------------------------------------------
* スマートフォン：受験申込みバナー
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #exam_order_banner .section_inner .order_txt_area {
    width: 100%;
  }
  #exam_order_banner .section_inner .order_txt_area .main_txt {
    font-size: 1.1rem;
    text-align: center;
  }
  #exam_order_banner .section_inner .order_txt_area .sub_txt {
    margin-top: 7px;
    font-size: 0.85rem;
  }
  #exam_order_banner .section_inner .exam_order_btn {
    margin-top: 15px;
    width: 100%;
    height: 50px;
  }
}
/**---------------------------------------------------
* 認定講座リンク
*----------------------------------------------------*/
.certificate_lesson {
  margin: 30px auto 0 auto;
  padding: 0;
  width: 100%;
  background: #fff;
  border: 1px solid #ddd;
}
.certificate_lesson .lesson_title {
  margin: 0;
  padding: 8px 0;
  width: 100%;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: #108C67;
}
.certificate_lesson .kouza_summary {
  margin: 10px auto 0 auto;
  padding: 0.6em 1em;
  width: 94%;
  font-size: 0.9rem;
  color: #222;
  line-height: 1.6rem;
  background: #fffdf7;
}
@media screen and (max-width: 480px) {
  .certificate_lesson .kouza_summary {
    line-height: 1.4rem;
  }
}
.certificate_lesson .link_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 20px 30px;
  width: 100%;
}
.certificate_lesson .link_area .sara_area,
.certificate_lesson .link_area .ryo_area {
  margin: 0;
  padding: 0;
  width: 48%;
  border: 1px solid #ddd;
}
.certificate_lesson .link_area .sara_area .kouza_name,
.certificate_lesson .link_area .ryo_area .kouza_name {
  margin: 0;
  padding: 6px 0;
  width: 100%;
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}
.certificate_lesson .link_area .sara_area .kouza_link,
.certificate_lesson .link_area .ryo_area .kouza_link {
  margin: 0;
  padding: 0;
  width: 100%;
}
.certificate_lesson .link_area .sara_area .kouza_link > a,
.certificate_lesson .link_area .ryo_area .kouza_link > a {
  display: block;
  margin: 0;
  padding: 15px 10px;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  color: #1948a0;
  text-align: center;
}
@media (hover: hover) and (pointer: fine) {
  .certificate_lesson .link_area .sara_area .kouza_link > a:hover,
  .certificate_lesson .link_area .ryo_area .kouza_link > a:hover {
    color: #fff;
    background: #6492c3;
    transition: all 0.3s;
  }
}
.certificate_lesson .link_area .sara_area .kouza_name {
  background: #e669c3;
}
.certificate_lesson .link_area .ryo_area .kouza_name {
  background: #205893;
}

/**---------------------------------------------------
* スマートフォン：認定講座リンク
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .certificate_lesson .lesson_title {
    font-size: 1rem;
  }
  .certificate_lesson .link_area {
    padding: 10px;
  }
  .certificate_lesson .link_area .sara_area,
  .certificate_lesson .link_area .ryo_area {
    width: 100%;
  }
  .certificate_lesson .link_area .sara_area .kouza_name,
  .certificate_lesson .link_area .ryo_area .kouza_name {
    font-size: 0.9rem;
  }
  .certificate_lesson .link_area .sara_area .kouza_link > a,
  .certificate_lesson .link_area .ryo_area .kouza_link > a {
    padding: 10px;
    font-size: 0.9rem;
  }
  .certificate_lesson .link_area .ryo_area {
    margin-top: 10px;
  }
}
/**---------------------------------------------------
* トップに戻るボタン
*----------------------------------------------------*/
#page_top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page_top > a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 80px;
  height: 80px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #72C7CA;
  border-radius: 80px;
  opacity: 0.9;
  transition: all 0.3s ease-in-out;
}
@media (hover: hover) and (pointer: fine) {
  #page_top > a:hover {
    text-decoration: none;
    opacity: 0.5;
  }
}
@media screen and (max-width: 480px) {
  #page_top {
    bottom: 30px;
    right: 10px;
  }
  #page_top > a {
    width: 60px;
    height: 60px;
  }
}

/**---------------------------------------------------
* 新着情報
*----------------------------------------------------*/
#latest_news_list .section_inner,
#news_archive_view .section_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#latest_news_list .section_inner .sp_next_exam,
#news_archive_view .section_inner .sp_next_exam {
  display: none;
}
#latest_news_list .section_inner .section_title_left,
#news_archive_view .section_inner .section_title_left {
  width: 22%;
}
#latest_news_list .section_inner .news_list,
#news_archive_view .section_inner .news_list {
  margin: 0;
  padding: 0;
}
#latest_news_list .section_inner .news_list.front_view,
#news_archive_view .section_inner .news_list.front_view {
  width: 78%;
}
#latest_news_list .section_inner .news_list.archive_view,
#news_archive_view .section_inner .news_list.archive_view {
  width: 100%;
}
#latest_news_list .section_inner .news_list > li,
#news_archive_view .section_inner .news_list > li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0 0 15px 0;
  width: 100%;
}
#latest_news_list .section_inner .news_list > li:not(:last-child),
#news_archive_view .section_inner .news_list > li:not(:last-child) {
  border-bottom: 1px solid #C9C9C9;
}
#latest_news_list .section_inner .news_list > li + li,
#news_archive_view .section_inner .news_list > li + li {
  margin-top: 15px;
}
#latest_news_list .section_inner .news_list > li .news_date,
#news_archive_view .section_inner .news_list > li .news_date {
  margin: 0;
  padding: 0;
  width: 15%;
  font-size: 0.95rem;
  color: #333;
}
#latest_news_list .section_inner .news_list > li .news_title,
#news_archive_view .section_inner .news_list > li .news_title {
  margin: 0;
  padding: 0;
  width: 85%;
}
#latest_news_list .section_inner .news_list > li .news_title > a,
#news_archive_view .section_inner .news_list > li .news_title > a {
  font-size: 0.95rem;
  color: #000;
}
#latest_news_list .section_inner .news_list > li .news_title > a:hover,
#news_archive_view .section_inner .news_list > li .news_title > a:hover {
  color: #a90a0a;
  text-decoration: underline;
}
#latest_news_list .section_inner .news_all_view,
#news_archive_view .section_inner .news_all_view {
  position: relative;
  margin: 20px 0 0 0;
  padding: 0;
  width: 100%;
  text-align: right;
}
#latest_news_list .section_inner .news_all_view::after,
#news_archive_view .section_inner .news_all_view::after {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-weight: 700;
  color: #108C67;
}
#latest_news_list .section_inner .news_all_view > a,
#news_archive_view .section_inner .news_all_view > a {
  position: relative;
  margin: 0 3% 0 0;
  padding: 0 0 3px 0;
  width: 100%;
  font-size: 1rem;
  color: #000;
}
#latest_news_list .section_inner .news_all_view > a::before,
#news_archive_view .section_inner .news_all_view > a::before {
  background: #108C67;
  transform-origin: left top;
}
#latest_news_list .section_inner .news_all_view > a:hover::before,
#news_archive_view .section_inner .news_all_view > a:hover::before {
  transform-origin: left top;
}

/**---------------------------------------------------
* スマートフォン：新着情報
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #latest_news_list .section_inner,
  #news_archive_view .section_inner {
    display: block;
  }
  #latest_news_list .section_inner .sp_next_exam,
  #news_archive_view .section_inner .sp_next_exam {
    display: block;
    margin: 0 auto 16px auto;
    padding: 20px;
    width: 100%;
    background: #eee;
    border-radius: 10px;
  }
  #latest_news_list .section_inner .sp_next_exam .ne_title,
  #news_archive_view .section_inner .sp_next_exam .ne_title {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    font-size: 1.1rem;
    font-weight: 700;
    color: #108C67;
    text-align: center;
  }
  #latest_news_list .section_inner .sp_next_exam .ne_date,
  #news_archive_view .section_inner .sp_next_exam .ne_date {
    margin: 5px auto 0 auto;
    padding: 0;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 700;
    color: #C01D1D;
    text-align: center;
  }
  #latest_news_list .section_inner .sp_next_exam .ne_order_title,
  #news_archive_view .section_inner .sp_next_exam .ne_order_title {
    margin: 5px auto 0 auto;
    padding: 0;
    width: 100%;
    font-size: 0.9rem;
    font-weight: 500;
    color: #000;
    text-align: center;
  }
  #latest_news_list .section_inner .sp_next_exam .ne_order_date,
  #news_archive_view .section_inner .sp_next_exam .ne_order_date {
    margin: 5px auto 0 auto;
    padding: 0;
    width: 100%;
    font-size: 0.9rem;
    color: #000;
    text-align: center;
  }
  #latest_news_list .section_inner .section_title_left,
  #news_archive_view .section_inner .section_title_left {
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    width: 98%;
  }
  #latest_news_list .section_inner .news_list,
  #news_archive_view .section_inner .news_list {
    margin: 0 auto;
    padding: 0;
  }
  #latest_news_list .section_inner .news_list.front_view, #latest_news_list .section_inner .news_list.archive_view,
  #news_archive_view .section_inner .news_list.front_view,
  #news_archive_view .section_inner .news_list.archive_view {
    width: 98%;
  }
  #latest_news_list .section_inner .news_list > li,
  #news_archive_view .section_inner .news_list > li {
    padding: 0 0 10px 0;
  }
  #latest_news_list .section_inner .news_list > li + li,
  #news_archive_view .section_inner .news_list > li + li {
    margin-top: 10px;
  }
  #latest_news_list .section_inner .news_list > li .news_date,
  #news_archive_view .section_inner .news_list > li .news_date {
    width: 100%;
  }
  #latest_news_list .section_inner .news_list > li .news_title,
  #news_archive_view .section_inner .news_list > li .news_title {
    margin-top: 6px;
    width: 100%;
  }
  #latest_news_list .section_inner .news_list > li .news_title > a,
  #news_archive_view .section_inner .news_list > li .news_title > a {
    font-size: 0.9rem;
  }
  #latest_news_list .section_inner .news_all_view::after,
  #news_archive_view .section_inner .news_all_view::after {
    right: 2%;
  }
  #latest_news_list .section_inner .news_all_view > a,
  #news_archive_view .section_inner .news_all_view > a {
    margin: 0 10% 0 0;
    font-size: 0.9rem;
  }
}
/**---------------------------------------------------
* 新着情報詳細
*----------------------------------------------------*/
#news_detail .section_inner .news_title {
  position: relative;
  margin: 0 auto;
  padding: 20px 30px 20px 5%;
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.8rem;
  background: #108C67;
  border-radius: 5px;
}
#news_detail .section_inner .news_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3%;
  transform: translateY(-50%);
  width: 5px;
  height: 60%;
  background: #fff;
}
#news_detail .section_inner .news_post_date {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 96%;
  font-size: 0.9rem;
  color: #222;
  text-align: right;
}
#news_detail .section_inner .post_content {
  margin: 40px auto 0 auto;
  padding: 30px;
  width: 96%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
  background: #fff;
}
#news_detail .section_inner .post_content > a {
  color: #1b3a7e;
  text-decoration: underline;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  #news_detail .section_inner .post_content > a:hover {
    color: #ae2525;
  }
}
#news_detail .section_inner .page_link_btn {
  margin-top: 40px;
}

/**---------------------------------------------------
* スマートフォン：新着情報詳細
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #news_detail .section_inner .news_title {
    padding: 10px 15px 10px 8%;
    font-size: 1rem;
    line-height: 1.3rem;
  }
  #news_detail .section_inner .news_title::before {
    height: 70%;
  }
  #news_detail .section_inner .post_content {
    margin-top: 20px;
    padding: 15px;
    width: 100%;
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  #news_detail .section_inner .page_link_btn {
    margin-top: 30px;
  }
}
/**---------------------------------------------------
* その他カテゴリーの資格試験
*----------------------------------------------------*/
#exam_category_link .section_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#exam_category_link .section_inner > a {
  display: block;
  margin: 0;
  padding: 10px;
  width: 24%;
  height: 100%;
  background: #fff;
  border-radius: 10px;
  /*-------------------------------
  * スマートフォン
  -------------------------------*/
}
@media screen and (max-width: 480px) {
  #exam_category_link .section_inner > a {
    margin-bottom: 10px;
    width: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  #exam_category_link .section_inner > a:hover .category_link .category_img > img {
    transform: scale(1.2);
    transition: all 0.3s;
  }
}
#exam_category_link .section_inner > a .category_link {
  margin: 0;
  padding: 0;
  width: 100%;
}
#exam_category_link .section_inner > a .category_link .category_img {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100px;
  overflow: hidden;
  border-radius: 5px;
}
#exam_category_link .section_inner > a .category_link .category_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#exam_category_link .section_inner > a .category_link .category_name {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #000;
  text-align: center;
}

/**---------------------------------------------------
* SPオーダーメニュー
*----------------------------------------------------*/
.sp_order_menu {
  display: none;
}

@media screen and (max-width: 480px) {
  .go_top {
    position: fixed;
    right: 0;
    bottom: 70px;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    width: 30px;
    height: 90px;
    z-index: 100;
  }
  .sp_order_menu {
    position: fixed;
    display: flex;
    justify-content: space-between;
    left: 0;
    bottom: 0;
    margin: 0;
    padding: 10px 3%;
    width: 100%;
    height: 60px;
    background: #fff;
    z-index: 100;
    transform: translateY(100%);
    transition: all 0.3s;
    filter: drop-shadow(0 2px 3px #6e6e6e);
  }
  .sp_order_menu .menu_list {
    margin: 0;
    padding: 0;
    width: 49%;
  }
  .sp_order_menu .menu_list > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    font-size: 0.9rem;
    color: #fff;
    border-radius: 5px;
  }
  .sp_order_menu .menu_list > a::after {
    content: "\f138";
    position: absolute;
    top: 50%;
    right: 6%;
    transform: translateY(-50%);
    font-weight: 700;
  }
  .sp_order_menu .menu_list > a.order_exam {
    background: #eb2929;
    filter: drop-shadow(0 1px 2px #a3a3a3);
  }
  .sp_order_menu .menu_list > a.order_cert {
    font-weight: 500;
    color: #108C67;
    border: 1px solid #108C67;
    background: #fff;
  }
  .sp_order_menu.active {
    transform: translate(0);
  }
}
/**---------------------------------------------------
* トップページ内メニュー
*----------------------------------------------------*/
#front_menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 3%;
}
#front_menu .menu_img {
  position: relative;
  margin: 0;
  padding: 0;
  width: 38%;
}
#front_menu .menu_img .img_area {
  margin: 0;
  padding: 0;
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
  background: #000;
}
#front_menu .menu_img .img_area > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  opacity: 0.7;
}
#front_menu .menu_img .menu_txt {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  margin: 0;
  padding: 0 0 0 30px;
  width: 86%;
}
#front_menu .menu_img .menu_txt .main_txt {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1.7rem;
  font-weight: 300;
  color: #fff;
}
#front_menu .menu_img .menu_txt .summary_txt {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #fff;
}
#front_menu .menu_list {
  margin: 0;
  padding: 0;
  width: 59%;
}
#front_menu .menu_list .list_contents {
  margin: 0;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #c9c9c9;
}
#front_menu .menu_list .list_contents:first-child {
  border-top: 1px solid #c9c9c9;
}
#front_menu .menu_list .list_contents > a {
  position: relative;
  display: block;
  margin: 0;
  padding: 11px 0 0 0;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  #front_menu .menu_list .list_contents > a:hover {
    background: #d4f7e9;
    transition: all 0.3s;
    padding-left: 10px;
  }
}
#front_menu .menu_list .list_contents > a::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  font-weight: 700;
  color: #108C67;
}
#front_menu .menu_list .list_contents > a .en_title {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #108C67;
}
#front_menu .menu_list .list_contents > a .contents_title {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 0 12px 0;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 400;
  color: #333;
}

/**---------------------------------------------------
* スマートフォン：トップページ内メニュー
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #front_menu {
    display: block;
  }
  #front_menu .menu_img {
    width: 100%;
  }
  #front_menu .menu_img .img_area {
    height: 140px;
  }
  #front_menu .menu_img .menu_txt {
    top: 70%;
    transform: translateY(-70%);
    padding: 0 15px;
    width: 100%;
  }
  #front_menu .menu_img .menu_txt .main_txt {
    font-size: 1.4rem;
  }
  #front_menu .menu_img .menu_txt .summary_txt {
    font-size: 0.8rem;
  }
  #front_menu .menu_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
  #front_menu .menu_list .list_contents {
    width: 48%;
  }
  #front_menu .menu_list .list_contents:first-child {
    border-top: none;
  }
  #front_menu .menu_list .list_contents > a {
    margin-top: 6px;
    padding: 8px 10px;
    height: auto;
    font-size: 1.2rem;
  }
  #front_menu .menu_list .list_contents > a::before {
    right: 3%;
  }
  #front_menu .menu_list .list_contents > a .en_title {
    font-size: 0.8rem;
  }
  #front_menu .menu_list .list_contents > a .contents_title {
    margin: 0;
    padding-bottom: 8px;
    font-size: 1.2rem;
  }
}
/**---------------------------------------------------
* 医療従事者による監修
*----------------------------------------------------*/
#supervisor .section_inner .supervisor_summary {
  margin: 0 auto;
  padding: 0;
  width: 80%;
  font-size: 0.9rem;
  color: #333;
  line-height: 1.6rem;
}
#supervisor .section_inner .spvisor_list {
  padding: 0;
  width: 100%;
}
#supervisor .section_inner .spvisor_list .spvisor_area {
  margin: 0 auto 20px auto;
  padding: 30px 40px;
  width: 100%;
  background: #fff;
}
#supervisor .section_inner .spvisor_list .spvisor_area .spvisor_name {
  margin: 0 auto;
  padding: 10px 30px;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #000;
  background: #f4f4f4;
  border-radius: 5px;
}
@media (prefers-color-scheme: dark) {
  #supervisor .section_inner .spvisor_list .spvisor_area .spvisor_name {
    color: #000;
  }
}
#supervisor .section_inner .spvisor_list .spvisor_area .spvisor_name::after {
  content: "先生";
  margin-left: 10px;
  font-size: 1.1rem;
}
#supervisor .section_inner .spvisor_list .spvisor_detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 5%;
  margin: 20px auto 0 auto;
  padding: 0 30px;
  width: 100%;
}
#supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_img {
  margin: 0;
  padding: 0;
  width: 25%;
  height: 240px;
  overflow: hidden;
}
#supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_img > a {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  #supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_img > a:hover {
    transform: scale(1.2);
  }
}
#supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_img > a > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border: 1px solid #e7e7e7;
}
#supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_profile {
  margin: 0;
  padding: 0;
  width: 70%;
  font-size: 0.9rem;
  color: #000;
  line-height: 1.6rem;
}
#supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_profile > p > a {
  display: inline-block;
  color: #165874;
}
#supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_profile > p > a:hover {
  color: #84152c;
  text-decoration: underline;
  transition: all 0.3s ease-in-out;
}

/**---------------------------------------------------
* スマートフォン：医療従事者による監修
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #supervisor .section_inner .supervisor_summary {
    width: 100%;
  }
  #supervisor .section_inner .spvisor_list .spvisor_area {
    padding: 10px;
  }
  #supervisor .section_inner .spvisor_list .spvisor_area .spvisor_name {
    padding: 8px 15px;
    font-size: 1.2rem;
  }
  #supervisor .section_inner .spvisor_list .spvisor_area .spvisor_name::after {
    font-size: 0.9rem;
  }
  #supervisor .section_inner .spvisor_list .spvisor_detail {
    padding: 0 10px;
  }
  #supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_img {
    width: 100%;
    height: 160px;
    border: none;
  }
  #supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_img > a > img {
    margin: 0 auto;
    width: auto;
    height: 100%;
    border: 1px solid #e7e7e7;
  }
  #supervisor .section_inner .spvisor_list .spvisor_detail .spvisor_profile {
    margin: 20px auto 0 auto;
    width: 100%;
    font-size: 0.85rem;
    line-height: 1.5rem;
  }
}
/**---------------------------------------------------
* 資格試験一覧
*----------------------------------------------------*/
#exam_list .section_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#exam_list .section_inner .exam_list_contents {
  margin: 0 0 20px 0;
  padding: 0;
  width: 49%;
  background: #fff;
}
#exam_list .section_inner .exam_list_contents .cat_title {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 140px;
  overflow: hidden;
}
#exam_list .section_inner .exam_list_contents .cat_title .cat_img {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
#exam_list .section_inner .exam_list_contents .cat_title .cat_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#exam_list .section_inner .exam_list_contents .cat_title .cat_name {
  position: absolute;
  top: 70%;
  left: 0;
  transform: translateY(-70%);
  margin: 0;
  padding: 0;
  width: 100%;
  height: 50px;
  background: rgba(0, 0, 0, 0.35);
}
#exam_list .section_inner .exam_list_contents .cat_title .cat_name > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
}
#exam_list .section_inner .exam_list_contents .list_contents {
  margin: 0;
  padding: 20px 30px;
  width: 100%;
}
#exam_list .section_inner .exam_list_contents .list_contents > ul {
  margin: 0;
  padding: 0;
  width: 100%;
}
#exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name {
  position: relative;
  margin: 0 0 8px 25px;
  padding: 0;
  width: 100%;
}
#exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name::after {
  content: "\f138";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  margin: 1px 0 0 -25px;
  color: #108C67;
  font-weight: 700;
}
#exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name > a {
  padding: 0 0 4px 0;
  font-size: 0.9rem;
  color: #000;
}
#exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name > a::before {
  background: #108C67;
  transform-origin: left top;
}
#exam_list .section_inner .exam_list_contents .list_contents > ul .exam_name > a:hover::before {
  transform-origin: left top;
}

/**---------------------------------------------------
* スマートフォン：資格試験一覧
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #exam_list .section_inner .exam_list_contents {
    width: 100%;
  }
  #exam_list .section_inner .exam_list_contents .cat_title {
    height: 120px;
  }
  #exam_list .section_inner .exam_list_contents .cat_title .cat_name {
    background: rgba(0, 0, 0, 0.2);
  }
  #exam_list .section_inner .exam_list_contents .list_contents {
    padding: 15px;
  }
}
/**---------------------------------------------------
* カテゴリー別資格試験一覧
*----------------------------------------------------*/
#category_exam_list .section_inner .category_summary {
  margin: 0 auto 30px auto;
  padding: 1em 1.5em;
  width: 80%;
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
  background: #f3f3f3;
  border-radius: 4px;
}
@media screen and (max-width: 480px) {
  #category_exam_list .section_inner .category_summary {
    margin-bottom: 16px;
    width: 100%;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
}
#category_exam_list .section_inner .cat_exam_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
#category_exam_list .section_inner .cat_exam_list::after {
  content: "";
  display: block;
  width: 32.6666666667%;
}
#category_exam_list .section_inner .cat_exam_list > li {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  margin: 0 0 10px 0;
  padding: 10px;
  width: 32.6666666667%;
  background: #fff;
  border-radius: 5px;
  border: 1px solid #ddd;
  /*-------------------------------
  * スマートフォン
  -------------------------------*/
}
@media screen and (max-width: 480px) {
  #category_exam_list .section_inner .cat_exam_list > li {
    width: 100%;
  }
}
#category_exam_list .section_inner .cat_exam_list > li .exam_name {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #fff;
  background: #108C67;
}
#category_exam_list .section_inner .cat_exam_list > li .exam_img {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
  height: 130px;
  overflow: hidden;
}
#category_exam_list .section_inner .cat_exam_list > li .exam_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#category_exam_list .section_inner .cat_exam_list > li .exam_summary {
  margin: 10px auto 20px auto;
  padding: 0;
  width: 96%;
  font-size: 0.85rem;
  color: #333;
  line-height: 1.3rem;
}
#category_exam_list .section_inner .cat_exam_list > li .link_btn {
  margin: auto auto 0 auto;
  padding: 0;
  width: 100%;
  border-radius: 5px;
}
#category_exam_list .section_inner .cat_exam_list > li .link_btn > a {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  font-weight: 500;
  color: #108C67;
  border: 1px solid #108C67;
  border-radius: 5px;
}
#category_exam_list .section_inner .cat_exam_list > li .link_btn > a::after {
  background: #108C67;
}
#category_exam_list .section_inner .cat_exam_list > li .link_btn > a::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 25%;
  transform: translateY(-50%);
  font-weight: 700;
}
#category_exam_list .section_inner .other_related_exam {
  margin: 30px auto 5px auto;
  padding: 0;
  width: 50%;
  background: #108C67;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  #category_exam_list .section_inner .other_related_exam {
    margin-top: 24px;
    width: 100%;
  }
}
#category_exam_list .section_inner .other_related_exam > a {
  height: 50px;
  font-size: 1.1rem;
}
@media screen and (max-width: 480px) {
  #category_exam_list .section_inner .other_related_exam > a {
    height: 40px;
    font-size: 1rem;
  }
}
#category_exam_list .section_inner .other_related_exam > a::after {
  background: #1b6750;
}

/**---------------------------------------------------
* 資格試験情報
*----------------------------------------------------*/
#exam_head_area .section_inner .info_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
#exam_head_area .section_inner .info_area .exam_summary_img {
  margin: 0;
  padding: 0;
  width: 30%;
}
#exam_head_area .section_inner .info_area .exam_summary_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#exam_head_area .section_inner .info_area .exam_info_txt {
  margin: 0;
  padding: 0;
  width: 68%;
}
#exam_head_area .section_inner .info_area .exam_info_txt .exam_inner_title {
  margin: 0;
  padding: 4px 0 4px 15px;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  color: #108C67;
  border-left: 10px solid #108C67;
}
#exam_head_area .section_inner .info_area .exam_info_txt .exam_summary_txt {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
}
#exam_head_area .section_inner .info_area .exam_info_txt .exam_summary_txt > a {
  color: #1a4f8d;
}
#exam_head_area .section_inner .info_area .exam_info_txt .exam_summary_txt > a::before {
  margin-right: 0.5em;
  font-family: "Font Awesome 5 Free";
  content: "\f152";
  font-weight: 600;
}
#exam_head_area .section_inner .info_area .exam_info_txt .exam_summary_txt > a:hover {
  color: #bb2323;
  transition: all 0.3s;
}
#exam_head_area .section_inner .info_area .exam_info_txt .exam_get_shikaku_title {
  margin: 16px auto 0 auto;
  padding: 0.4em 0;
  width: 100%;
  font-size: 1.1rem;
  color: #086247;
  text-align: center;
  background: #c9f4e7;
}
#exam_head_area .section_inner .info_area .exam_info_txt .exam_get_shikaku_txt {
  margin: 0 auto;
  padding: 0.8em;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.5rem;
}
@media screen and (max-width: 480px) {
  #exam_head_area .section_inner .info_area .exam_info_txt .exam_get_shikaku_txt {
    padding: 0.8em 0;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
}
#exam_head_area .section_inner .info_area .exam_info_txt .exam_notice {
  margin: 10px auto 0 auto;
  padding: 20px;
  width: 100%;
  font-size: 0.9rem;
  color: #C01D1D;
  background: #FEF1F1;
  border-radius: 5px;
}
#exam_head_area .section_inner .info_area .exam_info_txt .kouza_column_link {
  display: grid;
  grid-template-columns: 20% 1fr;
  margin: 16px auto;
  padding: 0;
  width: 100%;
}
@media screen and (max-width: 480px) {
  #exam_head_area .section_inner .info_area .exam_info_txt .kouza_column_link {
    display: block;
  }
}
#exam_head_area .section_inner .info_area .exam_info_txt .kouza_column_link .link_title {
  grid-column: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 4px 0 !important;
  width: 100%;
  font-size: 0.9rem;
  color: #fff;
  background: #4c9018;
}
@media screen and (max-width: 480px) {
  #exam_head_area .section_inner .info_area .exam_info_txt .kouza_column_link .link_title {
    width: 100%;
  }
}
#exam_head_area .section_inner .info_area .exam_info_txt .kouza_column_link .link_cont {
  grid-column: 2;
  margin: 0;
  padding: 4px 1em;
  width: 100%;
  background: #fff;
}
#exam_head_area .section_inner .info_area .exam_info_txt .kouza_column_link .link_cont > a {
  font-size: 0.9rem;
  color: #142772;
}
#exam_head_area .section_inner .info_area .exam_info_txt .kouza_column_link .link_cont > a:hover {
  color: #a71717;
  transition: all 0.3s ease;
}

.youtube_video_area {
  margin: 30px auto 0 auto;
  padding: 20px;
  width: 1100px;
  background: #f8f8f8;
}
@media screen and (max-width: 480px) {
  .youtube_video_area {
    margin: 30px auto;
    width: 100%;
  }
}
.youtube_video_area .video_contents {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  text-align: center;
}
.youtube_video_area .video_contents .video_area_title {
  margin: 0;
  padding: 10px 15px;
  width: 100%;
  font-size: 1.5rem;
  color: #209d81;
  background: #fff;
  border: 1px solid #209d81;
}
@media screen and (max-width: 480px) {
  .youtube_video_area .video_contents .video_area_title {
    font-size: 0.9rem;
  }
}
.youtube_video_area .video_contents .video_area_title > br {
  display: none;
}
.youtube_video_area .video_contents .video_area_title::before, .youtube_video_area .video_contents .video_area_title::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 2px;
  vertical-align: middle;
  background-color: #209d81;
}
@media screen and (max-width: 480px) {
  .youtube_video_area .video_contents .video_area_title::before, .youtube_video_area .video_contents .video_area_title::after {
    content: none;
  }
}
.youtube_video_area .video_contents .video_area_title::before {
  margin-right: 1%;
  transform: rotate(70deg);
}
.youtube_video_area .video_contents .video_area_title::after {
  margin-left: 1%;
  transform: rotate(-70deg);
}
.youtube_video_area .video_body {
  margin: 0;
  padding: 15px 0;
  width: 100%;
  background: #fff;
}
@media screen and (max-width: 480px) {
  .youtube_video_area .video_body {
    position: relative;
    margin: 10px 0;
    padding: 53% 0 10px 0;
  }
}
.youtube_video_area .video_body > iframe {
  margin: 0 auto;
  padding: 0;
}
@media screen and (max-width: 480px) {
  .youtube_video_area .video_body > iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

/**---------------------------------------------------
* スマートフォン：資格試験情報
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #exam_head_area .section_inner .info_area .exam_summary_img {
    width: 100%;
    height: 100px;
  }
  #exam_head_area .section_inner .info_area .exam_info_txt {
    margin-top: 20px;
    width: 100%;
  }
  #exam_head_area .section_inner .info_area .exam_info_txt .exam_inner_title {
    padding: 4px 0 4px 10px;
    font-size: 1.1rem;
    border-left: 5px solid #108C67;
  }
  #exam_head_area .section_inner .info_area .exam_info_txt .exam_summary_txt {
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  #exam_head_area .section_inner .info_area .exam_info_txt .exam_notice {
    margin-top: 15px;
  }
}
/**---------------------------------------------------
* 資格検定試験概要
*----------------------------------------------------*/
#exam_summary_area .section_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#exam_summary_area .section_inner .shikaku_merit_area {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
#exam_summary_area .section_inner .shikaku_merit_area .merit_title {
  margin: 0;
  padding: 0;
  font-size: 1.2rem;
  font-weight: bold;
  color: #ba1010;
  line-height: 1.4rem;
  letter-spacing: 0.05rem;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner .shikaku_merit_area .merit_title {
    font-size: 1.1rem;
    letter-spacing: normal;
  }
}
#exam_summary_area .section_inner .shikaku_merit_area .merit_contents {
  margin: 16px auto 32px auto;
  padding: 1.2em;
  width: 100%;
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
  background: #fff;
  border-radius: 5px;
}
#exam_summary_area .section_inner .shikaku_merit_area .merit_contents:last-of-type {
  margin-bottom: 60px;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner .shikaku_merit_area .merit_contents:last-of-type {
    margin-bottom: 30px;
  }
}
#exam_summary_area .section_inner .about_shikaku_area {
  margin: 0 0 60px 0;
  padding: 30px;
  width: 100%;
  border-radius: 5px;
  background: #fff;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner .about_shikaku_area {
    margin-bottom: 30px;
    width: 100%;
  }
}
#exam_summary_area .section_inner .about_shikaku_area .about_contents {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #333;
  line-height: 1.6rem;
  border-radius: 5px;
}
#exam_summary_area .section_inner .exam_purpose_area {
  margin: 0 0 20px 0;
  padding: 30px;
  width: 100%;
  border-radius: 5px;
  background: #fff;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner .exam_purpose_area {
    margin-bottom: 10px;
    padding: 15px;
    width: 100%;
  }
}
#exam_summary_area .section_inner .exam_purpose_area .exam_purpose_tbl {
  margin: 0;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #eee;
}
#exam_summary_area .section_inner .exam_purpose_area .exam_purpose_tbl .tbl_title {
  margin: 0;
  padding: 1em 0;
  width: 26%;
  font-size: 0.9rem;
  font-weight: bold;
  color: #000;
  background: #FBF1E2;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner .exam_purpose_area .exam_purpose_tbl .tbl_title {
    display: block;
    width: 100%;
  }
}
#exam_summary_area .section_inner .exam_purpose_area .exam_purpose_tbl .tbl_cont {
  margin: 0;
  padding: 1em 1.5em;
  width: 74%;
  font-size: 1rem;
  font-weight: 400;
  color: #000;
  line-height: 1.6rem;
  border-bottom: 1px solid #eee;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner .exam_purpose_area .exam_purpose_tbl .tbl_cont {
    display: block;
    width: 100%;
  }
}
#exam_summary_area .section_inner .exam_contents_area,
#exam_summary_area .section_inner .exam_detail_area {
  margin: 0;
  padding: 30px;
  width: 49%;
  border-radius: 5px;
  background: #fff;
}
#exam_summary_area .section_inner .exam_contents_area .exam_contents_list {
  margin: 0;
  padding: 0;
  width: 100%;
}
#exam_summary_area .section_inner .exam_contents_area .exam_contents_list .contents_list {
  margin: 0;
  padding: 10px 20px;
  width: 100%;
  font-size: 0.9rem;
  color: #000;
  line-height: 1.4rem;
  background: #F9F2E5;
}
#exam_summary_area .section_inner .exam_contents_area .exam_contents_list .contents_list:nth-of-type(2n) {
  background: #FFFBF4;
}
#exam_summary_area .section_inner .exam_detail_area .exam_detail_tbl {
  margin: 0;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
}
#exam_summary_area .section_inner .exam_detail_area .exam_detail_tbl .tbl_title {
  display: block;
  margin: 0;
  padding: 0.5em 0;
  width: 100%;
  font-size: 0.9rem;
  font-weight: bold;
  color: #000;
  background: #FBF1E2;
}
#exam_summary_area .section_inner .exam_detail_area .exam_detail_tbl .tbl_cont {
  display: block;
  margin: 0;
  padding: 10px;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 400;
  color: #000;
}
#exam_summary_area .section_inner .all_exam_date_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list {
  margin: 0 0 2% 0;
  padding: 20px 30px;
  width: 49%;
  background: #fff;
  border: 1px solid #F2E5CE;
  border-radius: 5px;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list.exam_finish {
  display: none;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_title {
  margin: 0;
  padding: 0 0 0 15px;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #981717;
  border-left: 6px solid #981717;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px 0 0 0;
  padding: 10px 15px;
  width: 100%;
  background: #FEF9F0;
  border-radius: 5px;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main > dt {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 5px 0;
  padding: 0;
  width: 35%;
  height: 30px;
  font-size: 0.9rem;
  color: #644000;
  background: #EBD6B0;
  border-radius: 4px;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main > dt:last-of-type {
  margin-bottom: 0;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main > dd {
  display: flex;
  align-items: center;
  margin: 0 0 5px 0;
  padding: 0;
  width: 61%;
  font-size: 1.1rem;
  color: #981717;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main > dd:first-of-type {
  font-size: 1.2rem;
  font-weight: 500;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main > dd:last-of-type {
  margin-bottom: 0;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_sub {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10px 0 0 0;
  padding: 10px 15px;
  width: 100%;
  background: #fff;
  border: 1px solid #F2E5CE;
  border-radius: 5px;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_sub > dt {
  margin: 0 0 3px 0;
  padding: 5px 0;
  width: 35%;
  font-size: 0.85rem;
  color: #644000;
  text-align: center;
  background: #F2E7D3;
  border-radius: 4px;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_sub > dt:last-of-type {
  margin-bottom: 0;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_sub > dd {
  display: flex;
  align-items: center;
  margin: 0 0 3px 0;
  padding: 0;
  width: 61%;
  font-size: 0.9rem;
  color: #000;
}
#exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_sub > dd:last-of-type {
  margin-bottom: 0;
}
#exam_summary_area .section_inner details {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  /**
  * アコーディオンがオープン時はマイナスアイコンに変更
  **/
}
#exam_summary_area .section_inner details summary {
  list-style: none;
  padding: 0.8em 2em;
  color: #242323;
  font-size: 1.2rem;
  font-weight: bold;
  background: #f9f3dd;
  cursor: pointer;
  /**
  * Chrome用のデフォルト三角削除
  **/
  /**
  * Font Awesomeのプラスアイコン使用
  **/
}
#exam_summary_area .section_inner details summary::-webkit-details-marker {
  display: none;
}
#exam_summary_area .section_inner details summary::before {
  font-family: FontAwesome;
  content: "\f067";
  margin-right: 20px;
}
#exam_summary_area .section_inner details .other_exam_date_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10px auto 0 auto;
  padding: 1.2em;
  width: 100%;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list {
    padding: 0.6em 0;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list {
  margin: 0 0 2% 0;
  padding: 20px 30px;
  width: 49%;
  background: #fff;
  border: 1px solid #F2E5CE;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list {
    padding: 15px;
    width: 100%;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list.exam_finish {
  display: none;
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_title {
  margin: 0;
  padding: 0 0 0 15px;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #981717;
  border-left: 6px solid #981717;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_title {
    font-size: 1.2rem;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px 0 0 0;
  padding: 10px 15px;
  width: 100%;
  background: #FEF9F0;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main {
    padding: 8px 10px;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main > dt {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 5px 0;
  padding: 0;
  width: 35%;
  height: 30px;
  font-size: 0.9rem;
  color: #644000;
  background: #EBD6B0;
  border-radius: 4px;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main > dt {
    font-size: 0.85rem;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main > dt:last-of-type {
  margin-bottom: 0;
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main > dd {
  display: flex;
  align-items: center;
  margin: 0 0 5px 0;
  padding: 0;
  width: 61%;
  font-size: 1.1rem;
  color: #981717;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main > dd {
    font-size: 1rem;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main > dd:first-of-type {
  font-size: 1.2rem;
  font-weight: 500;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main > dd:first-of-type {
    font-size: 1rem;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_main > dd:last-of-type {
  margin-bottom: 0;
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_sub {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 10px 0 0 0;
  padding: 10px 15px;
  width: 100%;
  background: #fff;
  border: 1px solid #F2E5CE;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_sub {
    padding: 8px 10px;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_sub > dt {
  margin: 0 0 3px 0;
  padding: 5px 0;
  width: 35%;
  font-size: 0.85rem;
  color: #644000;
  text-align: center;
  background: #F2E7D3;
  border-radius: 4px;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_sub > dt {
    font-size: 0.8rem;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_sub > dt:last-of-type {
  margin-bottom: 0;
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_sub > dd {
  display: flex;
  align-items: center;
  margin: 0 0 3px 0;
  padding: 0;
  width: 61%;
  font-size: 0.9rem;
  color: #000;
}
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_sub > dd {
    font-size: 0.85rem;
  }
}
#exam_summary_area .section_inner details .other_exam_date_list .exam_date_list .exam_date_sub > dd:last-of-type {
  margin-bottom: 0;
}
#exam_summary_area .section_inner details[open] summary::before {
  content: "\f068";
}

/**---------------------------------------------------
* スマートフォン：資格検定試験概要
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #exam_summary_area .section_inner .exam_contents_area,
  #exam_summary_area .section_inner .exam_detail_area {
    padding: 15px;
    width: 100%;
  }
  #exam_summary_area .section_inner .exam_contents_area {
    margin-bottom: 10px;
  }
  #exam_summary_area .section_inner .exam_contents_area .exam_contents_list .contents_list {
    font-size: 0.85rem;
  }
  #exam_summary_area .section_inner .exam_detail_area .exam_detail_tbl .tbl_title {
    display: block;
    padding: 8px 0;
    width: 100%;
  }
  #exam_summary_area .section_inner .exam_detail_area .exam_detail_tbl .tbl_cont {
    display: block;
    width: 100%;
    text-align: center;
    border-bottom: none;
  }
  #exam_summary_area .section_inner .exam_detail_area .exam_detail_tbl .tbl_cont:first-of-type {
    border-top: none;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list {
    padding: 15px;
    width: 100%;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list.exam_finish {
    display: none;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_title {
    font-size: 1.2rem;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main {
    padding: 8px 10px;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main > dt {
    font-size: 0.85rem;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main > dd {
    font-size: 1rem;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_main > dd:first-of-type {
    font-size: 1rem;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_sub {
    padding: 8px 10px;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_sub > dt {
    font-size: 0.8rem;
  }
  #exam_summary_area .section_inner .all_exam_date_area .exam_date_list .exam_date_sub > dd {
    font-size: 0.85rem;
  }
}
/**---------------------------------------------------
* 本文（投稿）記事
*----------------------------------------------------*/
#page_body01 .section_inner .body_content,
#page_body02 .section_inner .body_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#page_body01 .section_inner .body_content.img_right,
#page_body02 .section_inner .body_content.img_right {
  flex-direction: row-reverse;
}
#page_body01 .section_inner .body_content .content_img,
#page_body02 .section_inner .body_content .content_img {
  margin: 0;
  padding: 0;
  width: 40%;
}
@media screen and (max-width: 480px) {
  #page_body01 .section_inner .body_content .content_img,
  #page_body02 .section_inner .body_content .content_img {
    width: 100%;
    height: 160px;
  }
}
#page_body01 .section_inner .body_content .content_img > img,
#page_body02 .section_inner .body_content .content_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#page_body01 .section_inner .body_content .content_txt,
#page_body02 .section_inner .body_content .content_txt {
  display: block;
  margin: 0;
  padding: 0;
  width: 58%;
  font-size: 0.9rem;
  color: #333;
  line-height: 1.6rem;
}
@media screen and (max-width: 480px) {
  #page_body01 .section_inner .body_content .content_txt,
  #page_body02 .section_inner .body_content .content_txt {
    margin-top: 10px;
    width: 100%;
  }
}

#page_body01 {
  margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
  #page_body01 {
    margin-bottom: 30px;
  }
}

/**---------------------------------------------------
* 資格が活かせる職業
*----------------------------------------------------*/
#working .section_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#working .section_inner .working_list {
  margin: 0 0 20px 0;
  padding: 20px;
  width: 49%;
  background: #fff;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  #working .section_inner .working_list {
    margin-bottom: 15px;
    padding: 10px;
    width: 100%;
  }
}
#working .section_inner .working_list .working_title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 50px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  background: #108C67;
}
@media screen and (max-width: 480px) {
  #working .section_inner .working_list .working_title {
    height: 40px;
    font-size: 1rem;
  }
}
#working .section_inner .working_list .working_img {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
  height: 200px;
  overflow: hidden;
}
#working .section_inner .working_list .working_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#working .section_inner .working_list .working_txt {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #333;
  line-height: 1.6rem;
}
#working .section_inner .working_list .inner_title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 15px auto 0 auto;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  color: #108C67;
  background: #fff;
  border: 1px solid #108C67;
}
@media screen and (max-width: 480px) {
  #working .section_inner .working_list .inner_title {
    font-size: 0.9rem;
  }
}
#working .section_inner .working_list .working_summary {
  margin: 15px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #333;
  line-height: 1.6rem;
}

/**---------------------------------------------------
* 資格が活かせる職業『アロマ』
*----------------------------------------------------*/
#job .section_inner {
  margin: 20px auto 0 auto;
  padding: 0 40px 20px 40px;
  width: 100%;
}
@media screen and (max-width: 480px) {
  #job .section_inner {
    padding: 0 15px 10px 15px;
  }
}
#job .section_inner .main_job_title {
  margin: 0 auto;
  padding: 0.4em 0;
  width: 100%;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  background: #108C67;
}
@media screen and (max-width: 480px) {
  #job .section_inner .main_job_title {
    font-size: 1.2rem;
  }
}
#job .section_inner .main_job_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 20px 30px;
  width: 100%;
  background: #fff;
}
@media screen and (max-width: 480px) {
  #job .section_inner .main_job_area {
    padding: 20px 15px;
  }
}
#job .section_inner .main_job_area .main_job_img {
  margin: 0;
  padding: 0;
  width: 40%;
}
@media screen and (max-width: 480px) {
  #job .section_inner .main_job_area .main_job_img {
    width: 100%;
  }
}
#job .section_inner .main_job_area .main_job_img > img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  height: 100%;
}
#job .section_inner .main_job_area .main_job_summary {
  margin: 0;
  padding: 0;
  width: 56%;
}
@media screen and (max-width: 480px) {
  #job .section_inner .main_job_area .main_job_summary {
    margin-top: 16px;
    width: 100%;
  }
}
#job .section_inner .main_job_area .main_job_summary .summary_title {
  margin: 0 auto;
  padding: 0.4em 1em;
  width: 100%;
  font-size: 1.1rem;
  color: #06583f;
  border: 1px solid #108C67;
  border-radius: 4px;
}
#job .section_inner .main_job_area .main_job_summary .summary_txt {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #000;
  line-height: 1.5rem;
}
#job .section_inner .other_job_title {
  margin: 40px auto 0 auto;
  padding: 0.4em 0;
  width: 100%;
  font-size: 1.3rem;
  color: #085f45;
  background: #bbdfd4;
  text-align: center;
}
@media screen and (max-width: 480px) {
  #job .section_inner .other_job_title {
    margin-top: 20px;
    font-size: 1.1rem;
  }
}
#job .section_inner .other_job_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 30px;
  width: 100%;
  background: #fff;
}
@media screen and (max-width: 480px) {
  #job .section_inner .other_job_area {
    padding: 20px 10px;
  }
}
#job .section_inner .other_job_area .other_job_cont {
  margin: 0 0 16px 0;
  padding: 0;
  width: 32.6666666667%;
}
@media screen and (max-width: 480px) {
  #job .section_inner .other_job_area .other_job_cont {
    width: 100%;
  }
}
#job .section_inner .other_job_area .other_job_cont .other_job_name {
  margin: 0;
  padding: 0.4em 0.8em;
  width: 100%;
  font-size: 1.1rem;
  color: #0a4329;
  text-align: center;
  background: #f3f3f3;
}
#job .section_inner .other_job_area .other_job_cont .other_job_img {
  margin: 16px auto 0 auto;
  padding: 0;
  width: 100%;
}
#job .section_inner .other_job_area .other_job_cont .other_job_img > img {
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.shikaku_working_area {
  margin: 40px auto 0 auto;
  padding: 0;
  width: 1100px;
}
.shikaku_working_area > .section_title_left {
  margin-bottom: 10px;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: #000;
  line-height: 1.4rem;
  letter-spacing: 0.2rem;
}
.shikaku_working_area .contents_area {
  margin-top: 30px;
}
.shikaku_working_area .contents_area .working_title {
  margin-bottom: 30px;
  padding: 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: #000;
  line-height: 1.4rem;
  letter-spacing: 0.2rem;
}

/**---------------------------------------------------
* 認定試験に合格するには
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .section_title_center {
    line-height: 1.8rem;
  }
}
.section_title_center > br {
  display: none;
}
@media screen and (max-width: 480px) {
  .section_title_center > br {
    display: block;
  }
}

#process .section_inner .pass_exam_txt {
  margin: 0 auto;
  padding: 1.5em;
  width: 100%;
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
  background: #fff;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  #process .section_inner .pass_exam_txt {
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
}
#process .section_inner .exam_process_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px auto 0 auto;
  padding: 0;
  width: 100%;
}
@media screen and (max-width: 480px) {
  #process .section_inner .exam_process_area {
    margin-top: 20px;
  }
}
#process .section_inner .exam_process_area .process_title {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  width: 30%;
  font-size: 1.1rem;
  color: #000;
  text-indent: 16px;
}
@media screen and (max-width: 480px) {
  #process .section_inner .exam_process_area .process_title {
    width: 100%;
    font-size: 1rem;
  }
}
#process .section_inner .exam_process_area .process_title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 30px;
  background: #127c5c;
}
#process .section_inner .exam_process_area .process_txt {
  display: block;
  margin: 0;
  padding: 1.5em;
  width: 67%;
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
  background: #fff;
}
@media screen and (max-width: 480px) {
  #process .section_inner .exam_process_area .process_txt {
    margin-top: 20px;
    width: 100%;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
}

/**---------------------------------------------------
* 監修医師
*----------------------------------------------------*/
.supervisor_detail {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 30px;
  width: 100%;
  background: #fff;
  border-radius: 5px;
}
.supervisor_detail .spv_img {
  margin: 0;
  padding: 0;
  width: 20%;
  border: 1px solid #ccc;
}
.supervisor_detail .spv_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.supervisor_detail .spv_detail {
  position: relative;
  margin: 0;
  padding: 0;
  width: 76%;
}
.supervisor_detail .spv_detail > dt {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 700;
  color: #108C67;
}
.supervisor_detail .spv_detail > dt::after {
  content: "先生";
  margin-left: 5px;
  font-size: 1.1rem;
}
.supervisor_detail .spv_detail > dd {
  margin: 8px 0 0 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #222;
  line-height: 1.5rem;
}

/**---------------------------------------------------
* スマートフォン：監修医師
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .supervisor_detail {
    padding: 15px;
  }
  .supervisor_detail .spv_img {
    margin: 0 auto;
    width: 60%;
  }
  .supervisor_detail .spv_detail {
    margin-top: 20px;
    width: 100%;
  }
  .supervisor_detail .spv_detail > dt {
    text-align: center;
  }
  .supervisor_detail .spv_detail > dd {
    margin-top: 10px;
    font-size: 0.85rem;
  }
}
/**---------------------------------------------------
* よくあるお問い合わせ
*----------------------------------------------------*/
#faq .section_inner .faq_area {
  margin: 0;
  padding: 0;
  width: 100%;
}
#faq .section_inner .faq_area:not(:first-child) {
  margin-top: 1em;
}
#faq .section_inner .faq_area .faq_question {
  position: relative;
  margin: 0;
  padding: 10px 0 10px 65px;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 400;
  color: #000;
  background: #EAEAEA;
  list-style: none;
}
@media screen and (max-width: 480px) {
  #faq .section_inner .faq_area .faq_question {
    padding: 8px 10px 8px 55px;
    width: 100%;
    font-size: 0.9rem;
  }
}
#faq .section_inner .faq_area .faq_question::-webkit-details-marker {
  display: none;
}
#faq .section_inner .faq_area .faq_question::before {
  content: "Q";
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 50px;
  height: 100%;
  font-family: monospace;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background: #6EB9E2;
}
@media screen and (max-width: 480px) {
  #faq .section_inner .faq_area .faq_question::before {
    width: 40px;
    font-size: 1.4rem;
  }
}
#faq .section_inner .faq_area .faq_question::after {
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translateY(-50%);
  font-family: FontAwesome;
  content: "\f078";
  margin-right: 20px;
}
#faq .section_inner .faq_area .faq_answer {
  position: relative;
  margin: 20px auto 30px auto;
  padding: 10px 0 10px 65px;
  width: 100%;
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
  background: #fff;
}
#faq .section_inner .faq_area .faq_answer:last-of-type {
  margin-bottom: 0;
}
#faq .section_inner .faq_area .faq_answer::before {
  content: "A";
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 50px;
  height: 100%;
  font-family: monospace;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background: #E26E6E;
}
@media screen and (max-width: 480px) {
  #faq .section_inner .faq_area .faq_answer {
    padding: 8px 10px 8px 55px;
    width: 100%;
    font-size: 0.9rem;
  }
  #faq .section_inner .faq_area .faq_answer::before {
    width: 40px;
    font-size: 1.2rem;
  }
}
#faq .section_inner .faq_area[open] .faq_question::after {
  content: "\f077";
}

/**---------------------------------------------------
* おすすめコラム
*----------------------------------------------------*/
#recommend_column .section_inner .column_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 15px 0;
  border-bottom: 1px solid #f0f0f0;
}
#recommend_column .section_inner .column_list:first-of-type {
  border-top: 1px solid #f0f0f0;
}
#recommend_column .section_inner .column_list .column_img {
  margin: 0;
  padding: 0;
  width: 20%;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  #recommend_column .section_inner .column_list .column_img {
    width: 100%;
    height: 100px;
  }
}
#recommend_column .section_inner .column_list .column_img > a {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
#recommend_column .section_inner .column_list .column_img > a > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  #recommend_column .section_inner .column_list .column_img > a:hover {
    transform: scale(1.2);
  }
}
#recommend_column .section_inner .column_list .column_body {
  margin: 0;
  padding: 0;
  width: 77%;
}
#recommend_column .section_inner .column_list .column_body .column_title {
  margin: 0;
  padding: 0;
  width: 100%;
}
#recommend_column .section_inner .column_list .column_body .column_title > a {
  font-size: 1.2rem;
  font-weight: 700;
  color: #114E87;
}
@media (hover: hover) and (pointer: fine) {
  #recommend_column .section_inner .column_list .column_body .column_title > a:hover {
    color: #C01D1D;
  }
}
#recommend_column .section_inner .column_list .column_body .column_preface {
  margin: 10px 0 0 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #333;
  line-height: 1.5rem;
}
@media screen and (max-width: 480px) {
  #recommend_column .section_inner .column_list .column_body {
    width: 100%;
  }
  #recommend_column .section_inner .column_list .column_body .column_title {
    margin-top: 10px;
  }
  #recommend_column .section_inner .column_list .column_body .column_title > a {
    font-size: 1rem;
  }
  #recommend_column .section_inner .column_list .column_body .column_preface {
    font-size: 0.85rem;
    line-height: 1.4rem;
  }
}
#recommend_column .section_inner .column_list_str {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 16px auto 0 auto;
  padding: 1em;
  width: 100%;
  background: #fafafa;
}
#recommend_column .section_inner .column_list_str .column_title {
  margin: 0 0 8px 0;
  padding: 0;
  width: 48%;
}
#recommend_column .section_inner .column_list_str.one_column .column_title {
  width: 100%;
}

@media screen and (max-width: 480px) {
  #recommend_column .section_inner .column_list_str .column_title {
    width: 100%;
  }
}
#recommend_column .section_inner .column_list_str .column_title > a {
  position: relative;
  font-size: 1rem;
  color: #0044cc;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media screen and (max-width: 480px) {
  #recommend_column .section_inner .column_list_str .column_title > a {
    padding-left: 6%;
    font-size: 0.9rem;
  }
}
#recommend_column .section_inner .column_list_str .column_title > a::before {
  content: "\f0a9";
  margin-right: 2%;
  font-family: "Font Awesome 5 Free";
  font-size: 1rem;
  font-weight: bold;
}
#recommend_column .section_inner .column_list_str .column_title > a:hover {
  color: #c92626;
  transition: all 0.3s ease-in;
}

.add_recommend_column {
  margin: 0 auto;
  padding: 1em;
  width: 1000px;
  background: #fafafa;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .add_recommend_column {
    width: 96%;
  }
}
.add_recommend_column .add_recommend_column_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 1em 1.5em;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
}
.add_recommend_column .add_recommend_column_list .column_img {
  margin: 0;
  padding: 0;
  width: 20%;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .add_recommend_column .add_recommend_column_list .column_img {
    width: 100%;
    height: 100px;
  }
}
.add_recommend_column .add_recommend_column_list .column_img > a {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
.add_recommend_column .add_recommend_column_list .column_img > a > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .add_recommend_column .add_recommend_column_list .column_img > a:hover {
    transform: scale(1.2);
  }
}
.add_recommend_column .add_recommend_column_list .column_body {
  margin: 0;
  padding: 0;
  width: 77%;
}
.add_recommend_column .add_recommend_column_list .column_body .column_title {
  margin: 0;
  padding: 0;
  width: 100%;
}
.add_recommend_column .add_recommend_column_list .column_body .column_title > a {
  font-size: 1.2rem;
  font-weight: 700;
  color: #114E87;
}
@media (hover: hover) and (pointer: fine) {
  .add_recommend_column .add_recommend_column_list .column_body .column_title > a:hover {
    color: #C01D1D;
  }
}
.add_recommend_column .add_recommend_column_list .column_body .column_preface {
  margin: 10px 0 0 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #333;
  line-height: 1.5rem;
}
@media screen and (max-width: 480px) {
  .add_recommend_column .add_recommend_column_list .column_body {
    width: 100%;
  }
  .add_recommend_column .add_recommend_column_list .column_body .column_title {
    margin-top: 10px;
  }
  .add_recommend_column .add_recommend_column_list .column_body .column_title > a {
    font-size: 1rem;
  }
  .add_recommend_column .add_recommend_column_list .column_body .column_preface {
    font-size: 0.85rem;
    line-height: 1.4rem;
  }
}
.add_recommend_column .add_recommend_column_list_str {
  margin: 12px auto 0 auto;
  padding: 0;
  width: 100%;
  background: #fafafa;
}
.add_recommend_column .add_recommend_column_list_str .add_column_title {
  margin: 0 0 8px 0;
  padding: 0;
  width: 100%;
}
.add_recommend_column .add_recommend_column_list_str .add_column_title > a {
  position: relative;
  font-size: 1rem;
  color: #0044cc;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media screen and (max-width: 480px) {
  .add_recommend_column .add_recommend_column_list_str .add_column_title > a {
    font-size: 0.9rem;
  }
}
.add_recommend_column .add_recommend_column_list_str .add_column_title > a::before {
  content: "\f0a9";
  margin-right: 1%;
  font-family: "Font Awesome 5 Free";
  font-size: 1rem;
  font-weight: bold;
}
.add_recommend_column .add_recommend_column_list_str .add_column_title > a:hover {
  color: #c92626;
  transition: all 0.3s ease-in;
}

/**---------------------------------------------------
* コラムページ
*----------------------------------------------------*/
.post_date {
  margin: 10px auto 0 auto;
  padding: 0;
  font-size: 1rem;
  color: #333;
  text-align: right;
}

/* #preface {
  border-radius: 10px;
  background: #e8f8f3;
}
#preface .section_inner > p {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.8rem;
}
@media screen and (max-width: 480px) {
  #preface .section_inner > p {
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
}
#preface .section_inner > p > a {
  color: #108C67;
  border-bottom: 1px solid #108C67;
} */

#preface {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  border-radius: 10px;
  background: #e8f8f3;
}
#preface .section_inner {
  margin: 0 auto;
  padding: 1.2em;
  width: 100%;
  box-sizing: border-box;
}
#preface .section_inner > p {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.8rem;
}
@media screen and (max-width: 480px) {
  #preface .section_inner > p {
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
}
#preface .section_inner > p > a {
  color: #108C67;
  border-bottom: 1px solid #108C67;
}

/**---------------------------------------------------
* コラム目次
*----------------------------------------------------*/
/* .page_index {
  margin: 20px auto;
  padding: 0 40px 20px 40px;
  width: 100%;
  border: 2px solid #a8d6cc;
}
.page_index > dt {
  margin: 0 auto;
  padding: 3px 0 5px 0;
  width: 20%;
  font-size: 1.3rem;
  color: #fff;
  text-align: center;
  background: #209d81;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.page_index > dd {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 100%;
}
.page_index > dd .index_link {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.page_index > dd .index_link > li > a {
  color: #333;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .page_index > dd .index_link > li > a:hover {
    color: #209d81;
    text-decoration: underline;
  }
}
.page_index > dd .index_link .level_2 {
  margin: 15px 0 10px 0;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
}
.page_index > dd .index_link .level_3 {
  margin: 0;
  padding: 0 0 0 20px;
  width: 100%;
  font-size: 1rem;
}
.page_index > dd .index_link .level_3 > a > span {
  margin-right: 8px;
}
.page_index > dd .index_link .level_3 + .level_3 {
  margin-top: 5px;
}
@media screen and (max-width: 480px) {
  .page_index {
    padding: 0 20px 20px 20px;
  }
  .page_index > dt {
    padding: 3px 0;
    width: 60%;
    font-size: 1rem;
  }
  .page_index > dd .index_link .level_1 {
    font-size: 0.9rem;
    font-weight: 500;
  }
  .page_index > dd .index_link .level_1:not(:first-of-type) {
    margin-top: 15px;
  }
  .page_index > dd .index_link .level_2 {
    font-size: 0.9rem;
  }
} */

#column_index {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.page_index {
  margin: 20px auto;
  padding: 0 40px 20px 40px;
  width: 100%;
  border: 2px solid #a8d6cc;
}

.page_index > dt {
  margin: 0 auto;
  padding: 3px 0 5px 0;
  width: 20%;
  font-size: 1.3rem;
  color: #fff;
  text-align: center;
  background: #209d81;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.page_index > dd {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 100%;
}

.page_index > dd .index_link {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.page_index > dd .index_link > li > a {
  color: #333;
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .page_index > dd .index_link > li > a:hover {
    color: #209d81;
    text-decoration: underline;
  }
}
.page_index > dd .index_link .level_2 {
  margin: 15px 0 10px 0;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
}

.page_index > dd .index_link .level_3 {
  /* margin: 0;
  padding: 0 0 0 20px;
  width: 100%;
  font-size: 1rem; */
  display: none;
}
.page_index > dd .index_link .level_3 > a > span {
  margin-right: 8px;
}
.page_index > dd .index_link .level_3 + .level_3 {
  margin-top: 5px;
}
@media screen and (max-width: 480px) {
  .page_index {
    padding: 0 20px 20px 20px;
  }
  .page_index > dt {
    padding: 3px 0;
    width: 60%;
    font-size: 1rem;
  }
  .page_index > dd .index_link .level_1 {
    font-size: 0.9rem;
    font-weight: 500;
  }
  .page_index > dd .index_link .level_1:not(:first-of-type) {
    margin-top: 15px;
  }
  .page_index > dd .index_link .level_2 {
    font-size: 0.9rem;
  }
}


.page_index.column_side {
  position: sticky;
  top: 100px;
  margin: 0 auto;
  padding: 1em;
  width: 100%;
  /* border: 2px solid #a8d6cc; */
  border: none;
  background: #fafafa;
}

.page_index.column_side > dt {
  display: none;
}

.page_index.column_side > dd {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.page_index.column_side > dd .index_link .level_2 {
  margin: 0.4em 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
}


#column {
  /* セクションタイトル見出し */
  /* セクションサブ見出し */
  /* セクション内小見出し */
  /* コンテンツリード文 */
  /* コンテンツテキスト共通 */
  /* コラム内エリアタイトル */
  /* コンテンツ四角囲みエリア */
}


.column_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px auto 0 auto;
  padding: 0;
  width: 1140px;
}

@media screen and (max-width: 480px) {
  .column_wrapper {
    width: 96%;
  }
}

.column_wrapper .contents_main {
  margin: 0;
  padding: 0;
  width: 74%;
  box-sizing: border-box;
}

@media screen and (max-width: 480px) {
  .column_wrapper .contents_main {
    width: 100%;
  }
}

.column_wrapper .contents_main .page_content {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.column_wrapper .contents_main .page_content .section_inner {
  margin: 0 auto;
  padding: 1em;
  width: 100%;
}

.column_wrapper .contents_side {
  margin: 0;
  padding: 0;
  width: 25%;
  /* background: rgba(240,240,240,0.8); */
}

@media screen and (max-width: 480px) {
  .column_wrapper .contents_side {
    display: none;
  }
}



#column .section_midashi,
#column .section_midashi_no_cta {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 10px 0 10px 95px;
  width: 100%;
  font-size: 1.4rem;
  color: #108C67;
  background: #e6f8f4;
}
#column .section_midashi::before,
#column .section_midashi_no_cta::before {
  content: attr(data-number);
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 100%;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  background: #108C67;
}
#column .section_midashi:not(:first-of-type) {
  margin-top: 40px;
}
@media screen and (max-width: 480px) {
  #column .section_midashi,
  #column .section_midashi_no_cta {
    padding: 5px 15px 5px 75px;
    font-size: 1.1rem;
    line-height: 1.8rem;
  }
  #column .section_midashi:not(:first-of-type) {
    margin-top: 20px;
  }
  #column .section_midashi::before,
  #column .section_midashi_no_cta::before {
    width: 60px;
    font-size: 1.6rem;
  }
}

#column .section_midashi_lead {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 10px 16px;
  width: 100%;
  font-size: 1.4rem;
  color: #108C67;
  background: #e6f8f4;
  border-left: 8px solid #108C67;
}

#column .section_sub_midashi {
  position: relative;
  margin: 30px auto 15px auto;
  padding: 5px 20px 5px 105px;
  width: 98%;
  font-size: 1.2rem;
  font-weight: 500;
  color: #000;
  /* border-bottom: 1px solid #1FA37B; */
}
#column .section_sub_midashi > span {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  width: 80px;
  height: 100%;
  font-size: 1.4rem;
  font-weight: normal;
  color: #fff;
  text-align: center;
  background: #1FA37B;
}
#column .section_sub_midashi > span::after {
  position: absolute;
  content: attr(sub-number);
  top: calc(50% - 10px);
  right: -10px;
  width: 0;
  height: 0;
  border-width: 10px 0 10px 10px;
  border-style: solid;
  border-color: transparent transparent transparent #1FA37B;
}
@media screen and (max-width: 480px) {
  #column .section_sub_midashi {
    margin: 20px auto;
    padding: 5px 10px 5px 70px;
    font-size: 1rem;
    line-height: 1.4rem;
  }
  #column .section_sub_midashi > span {
    width: 50px;
    font-size: 1rem;
  }
}
#column .section_komidashi {
  position: relative;
  margin: 30px auto 0 auto;
  padding: 0 0 15px 0;
  width: 94%;
  font-size: 1rem;
  text-indent: 35px;
  color: #0c725c;
  background-image: repeating-linear-gradient(90deg, #b6b6b6 0, #b6b6b6 1px, rgba(0, 0, 0, 0) 1px, rgba(0, 0, 0, 0) 7px);
  background-size: 2px 2px;
  background-repeat: repeat-x;
  background-position: center bottom;
}
#column .section_komidashi + .contents_txt {
  margin-top: 10px;
  width: 94%;
}
#column .section_komidashi::before {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: 1%;
  width: 13px;
  height: 13px;
  background-color: #7dc7b7;
  transform: rotate(45deg);
  z-index: 2;
}
@media screen and (max-width: 480px) {
  #column .section_komidashi {
    margin: 0 auto;
    padding: 0 0 7px 0;
    font-size: 1rem;
    text-indent: 1.6rem;
  }
  #column .section_komidashi::before {
    top: 0.4rem;
  }
}
#column .contents_lead {
  display: block;
  margin: 20px auto 0 auto;
  padding: 0;
  width: 98%;
  font-size: 1rem;
  color: #222;
  line-height: 1.8rem;
}
#column .contents_lead > a {
  color: #108C67;
  border-bottom: 1px solid #108C67;
}
@media screen and (max-width: 480px) {
  #column .contents_lead {
    font-size: 0.9rem;
    line-height: 1.6rem;
  }
}
#column .contents_txt {
  display: block;
  margin: 20px auto;
  width: 98%;
  font-size: 1rem;
  color: #000;
  line-height: 1.8rem;
}
#column .contents_txt > a {
  color: #108C67;
  border-bottom: 1px solid #108C67;
}
@media screen and (max-width: 480px) {
  #column .contents_txt {
    font-size: 0.9rem;
    line-height: 1.6rem;
  }
}
#column .column_img {
  margin: 15px auto;
  padding: 0;
  width: 100%;
  /* max-height: 400px; */
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  #column .column_img {
    max-height: 220px;
  }
}
#column .column_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  /* height: auto; */
}
#column .contents_inner_title {
  margin: 0 auto;
  padding: 0;
  width: 94%;
  font-size: 1rem;
  font-weight: bold;
}
#column .contents_square {
  margin: 16px auto 20px auto;
  padding: 1em;
  width: 98%;
  border: 1px solid #ccc;
}

/*
* 関連記事リンク
*----------------------------------------------*/
.related_links {
  margin: 20px auto;
  padding: 0;
  width: 100%;
}
.related_links > dt {
  position: relative;
  margin: 0;
  padding: 4px 15px;
  width: 16%;
  font-size: 0.9375rem;
  color: #fff;
  text-align: center;
  background: #f0a00d;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
@media screen and (max-width: 480px) {
  .related_links > dt {
    width: 40%;
  }
}
.related_links > dt::before {
  content: "\f358";
  margin-right: 10px;
}
.related_links > dd {
  margin: 0;
  padding: 8px 30px;
  width: 100%;
  background: #f2f2f2;
}
.related_links > dd ul.links_cont {
  margin: 0;
  padding: 0;
  width: 100%;
}
.related_links > dd ul.links_cont > li {
  margin: 0;
  padding: 0;
  width: 100%;
  list-style-type: disc;
  list-style-position: inside;
}
.related_links > dd ul.links_cont > li + li {
  margin-top: 7px;
}
.related_links > dd ul.links_cont > li > a {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #27457e;
  text-decoration: none;
}
.related_links > dd ul.links_cont > li > a:hover {
  text-decoration: underline;
}

/* 202506追記・関連記事（関連コラム） */

.related_link {
	position: relative;
	margin: 60px auto 40px auto;
	padding: 18px 20px 15px 20px;
	width: 100%;
	background: #f0f0f0;
	border-top: solid 1px #5e9aa1;
	border-bottom: solid 1px #5e9aa1;
}

.related_link > a {
	font-size: 0.9rem;
	color: #1c4694;
	text-decoration: none;
}

.related_link > a:hover {
	color: #941c1c;
	text-decoration: underline;
	transition: ease-in-out 0.2s;
}

.related_link:after {
	/*タブ*/
	position: absolute;
	content: '\f0a7\ 関連コラム';
	left: 0px;
	padding: 10px 25px 10px;
	font-family: "Font Awesome 5 Free",'Quicksand','Avenir','Arial',sans-serif;
	font-size: 0.9rem;
	font-weight: 400;
	color: #fff;
	line-height: 1;
	letter-spacing: 0.05em;
	bottom: 100%;
	border-radius: 5px 5px 0 0;
	background: #1FA37B;
}

/* 202506追記ここまで */


/**---------------------------------------------------
* コラム内資格ページリンクボタン
*----------------------------------------------------*/
.column_exam_link {
  position: relative;
  margin: 30px auto;
  padding: 0;
  width: 60%;
  color: #fff;
  background: #108C67;
  border-radius: 5px;
}
.column_exam_link::after {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 7%;
  transform: translateY(-50%);
  font-weight: 700;
}
@media (hover: hover) and (pointer: fine) {
  .column_exam_link:hover {
    background: #1FA37B;
    transition: all 0.3s;
    cursor: pointer;
  }
}
.column_exam_link > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 8px 0;
  width: 80%;
  height: 100%;
  font-size: 1.1rem;
  color: #fff;
}
@media screen and (max-width: 480px) {
  .column_exam_link {
    width: 100%;
  }
  .column_exam_link::after {
    right: 4%;
  }
  .column_exam_link > a {
    font-size: 0.9rem;
  }
}

/**---------------------------------------------------
* 関連コラム
*----------------------------------------------------*/
#related_column {
  padding: 30px 30px 20px 30px;
  border: 1px solid #ddd;
}
#related_column .section_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
#related_column .section_inner::after {
  content: "";
  display: block;
  width: 32.6666666667%;
}
#related_column .section_inner .related_column_list {
  margin-bottom: 10px;
  padding: 0;
  width: 32.6666666667%;
  background: #F9F9F9;
  border: 1px solid #efefef;
  border-radius: 5px;
}
#related_column .section_inner .related_column_list > a {
  display: block;
  margin: 0;
  padding: 10px;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
#related_column .section_inner .related_column_list > a .column_img {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 100px;
  overflow: hidden;
}
#related_column .section_inner .related_column_list > a .column_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#related_column .section_inner .related_column_list > a .column_title {
  margin: 5px auto 0 auto;
  padding: 5px 10px;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.4rem;
  background: #108C67;
  border-radius: 5px;
}
#related_column .section_inner .related_column_list > a .column_preface {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 96%;
  font-size: 0.85rem;
  color: #222;
  line-height: 1.4rem;
}
@media (hover: hover) and (pointer: fine) {
  #related_column .section_inner .related_column_list > a:hover .column_img > img {
    transform: scale(1.2);
    transition: all 0.3s;
  }
  #related_column .section_inner .related_column_list > a:hover .column_title {
    background: #a01a1a;
    transition: all 0.3s;
  }
}
#related_column .add_column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 8px auto 0 auto;
  padding: 1em;
  width: 100%;
  background: #f9f9f9;
}
@media screen and (max-width: 480px) {
  #related_column .add_column {
    padding: 0.6em;
  }
}
#related_column .add_column::after {
  content: "";
  display: block;
  width: 32.6666666667%;
}
#related_column .add_column .add_column_list {
  margin-bottom: 10px;
  padding: 0;
  width: 32.6666666667%;
  background: #f0f0f0;
  border: 1px solid #efefef;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  #related_column .add_column .add_column_list {
    width: 100%;
  }
}
#related_column .add_column .add_column_list > a {
  display: block;
  margin: 0;
  padding: 10px;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
}
#related_column .add_column .add_column_list > a .column_img {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 100px;
  overflow: hidden;
}
#related_column .add_column .add_column_list > a .column_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#related_column .add_column .add_column_list > a .column_title {
  margin: 5px auto 0 auto;
  padding: 5px 10px;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  line-height: 1.4rem;
  background: #108C67;
  border-radius: 5px;
}
#related_column .add_column .add_column_list > a .column_preface {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 96%;
  font-size: 0.85rem;
  color: #222;
  line-height: 1.4rem;
}
@media (hover: hover) and (pointer: fine) {
  #related_column .add_column .add_column_list > a:hover .column_img > img {
    transform: scale(1.2);
    transition: all 0.3s;
  }
  #related_column .add_column .add_column_list > a:hover .column_title {
    background: #a01a1a;
    transition: all 0.3s;
  }
}

/* 2025.02.11追記 */
#related_column .column_list_str {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 16px auto 0 auto;
  padding: 1em;
  width: 100%;
  background: #fafafa;
}
#related_column .column_list_str .column_title {
  margin: 0 0 8px 0;
  padding: 0;
  width: 48%;
}
#related_column .column_list_str.one_column .column_title {
  width: 100%;
}

@media screen and (max-width: 480px) {
  #related_column .column_list_str .column_title {
    width: 100%;
  }
}
#related_column .column_list_str .column_title > a {
  position: relative;
  font-size: 1rem;
  color: #0044cc;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media screen and (max-width: 480px) {
  #related_column .column_list_str .column_title > a {
    padding-left: 6%;
    font-size: 0.9rem;
  }
}
#related_column .column_list_str .column_title > a::before {
  content: "\f0a9";
  margin-right: 2%;
  font-family: "Font Awesome 5 Free";
  font-size: 1rem;
  font-weight: bold;
}
#related_column .column_list_str .column_title > a:hover {
  color: #c92626;
  transition: all 0.3s ease-in;
}

/* 2025.02.11追記ここまで */

/**---------------------------------------------------
* スマートフォン：関連コラム
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #related_column {
    padding: 15px 15px 10px 15px;
  }
  #related_column .section_inner::after {
    content: none;
  }
  #related_column .section_inner .related_column_list {
    width: 100%;
  }
}
/* コラム記事内テーブル */
.column_tbl {
  margin: 30px auto;
  padding: 0;
  width: 98%;
  border: 1px solid #ccc;
}

.column_tbl caption {
  margin: 0;
  padding: 5px 20px;
  width: 100%;
  font-size: 16px;
  color: #fff;
  text-align: left;
  background: #4b9a77;
}

.column_tbl th {
  margin: 0;
  padding: 3px 0;
  font-size: 15px;
  color: #000;
  text-align: center;
  background: #f0f0f0;
  border-bottom: 1px solid #ddd;
}

.column_tbl th + th {
  border-left: 1px solid #ccc;
}

.column_tbl td {
  margin: 0;
  padding: 8px 10px;
  font-size: 15px;
  color: #222;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #ddd;
}

.column_tbl td + td {
  border-left: 1px solid #ddd;
}

.column_tbl td.td_head {
  background: #f0f0f0;
  border-top: 1px solid #fff;
}

/* 3カラムテーブル */
.column_3 .th_head {
  width: 16%;
}

.column_3 .th_col {
  width: 28%;
}

/* 宿曜・4カラム */
.syukuyo_01 .th_head,
.syukuyo_01 .th_subhead {
  width: 14%;
}

.syukuyo_01 .th_col {
  width: 36%;
}

.syukuyo_01 .td_subhead {
  border-right: 1px solid #ddd;
}

/* ルーン・4カラム */
.rune_01 .th_head {
  width: 16%;
}

.rune_01 .th_col {
  width: 28%;
}

/* コラム記事内資格概要テーブル */
.shikaku_tbl {
  margin: 30px 0 30px 10px;
  padding: 0;
  width: 70%;
  border: 1px solid #ccc;
  background: #fff;
}

.shikaku_tbl caption {
  margin: 0;
  padding: 5px 20px;
  width: 100%;
  font-size: 16px;
  color: #fff;
  text-align: left;
  background: #4b9a77;
}

.shikaku_tbl tr:last-child th,
.shikaku_tbl tr:last-child td {
  border-bottom: none;
}

.shikaku_tbl th {
  margin: 0;
  padding: 7px 0;
  width: 25%;
  font-size: 16px;
  color: #000;
  vertical-align: middle;
  background: #f1f1f1;
  border-bottom: 1px solid #fff;
}

.shikaku_tbl thead .tbl_head1 {
  margin: 0;
  padding: 7px 0;
  width: 25%;
  font-size: 16px;
  color: #000;
  vertical-align: middle;
  background: #f1f1f1;
  border-bottom: 1px solid #fff;
}

.shikaku_tbl thead .tbl_head2 {
  margin: 0;
  padding: 7px 0;
  width: 75%;
  font-size: 16px;
  color: #000;
  vertical-align: middle;
  background: #f1f1f1;
  border-bottom: 1px solid #fff;
}

.shikaku_tbl td {
  margin: 0;
  padding: 7px 10px;
  width: 75%;
  font-size: 16px;
  color: #333;
  line-height: 1.7rem;
  border-bottom: 1px solid #ddd;
}

.shikaku_tbl .tbl_cont1 {
  margin: 0;
  padding: 7px 10px;
  width: 25%;
  font-size: 16px;
  color: #333;
  line-height: 1.7rem;
  border-bottom: 1px solid #ddd;
}

.shikaku_tbl .tbl_cont2 {
  margin: 0;
  padding: 7px 10px;
  width: 75%;
  font-size: 16px;
  color: #333;
  line-height: 1.7rem;
  border-bottom: 1px solid #ddd;
}

.shikaku_tbl td + td {
  border-left: 1px solid #ddd;
}


.shikaku_tbl_even {
  margin: 30px 0 30px 10px;
  padding: 0;
  width: 100%;
  border: 1px solid #ccc;
  background: #fff;
}

.shikaku_tbl_even tr:last-child th,
.shikaku_tbl_even tr:last-child td {
  border-bottom: none;
}

.shikaku_tbl_even th {
  margin: 0;
  padding: 7px 0;
  width: 25%;
  font-size: 16px;
  color: #000;
  vertical-align: middle;
  background: #f1f1f1;
  border-bottom: 1px solid #fff;
}

.shikaku_tbl_even .th_head {
  width: 50%;
}

.shikaku_tbl_even td {
  margin: 0;
  padding: 7px 10px;
  width: 75%;
  font-size: 16px;
  color: #333;
  line-height: 1.7rem;
  border-bottom: 1px solid #ddd;
}

.shikaku_tbl_even td + td {
  border-left: 1px solid #ddd;
}


.shikaku_tbl_even .td_cont {
  width: 50%;
}



/* ダウジング：3カラム */
.shikaku_tbl.column_3 {
  width: 100%;
}

.shikaku_tbl.column_3 thead th {
  border-bottom: 1px solid #ccc;
}

.shikaku_tbl.column_3 th + th {
  border-left: 1px solid #ccc;
}

.shikaku_tbl.column_3 .th_head,
.shikaku_tbl.column_3 .td_head,
.shikaku_tbl.column_3 .tbl_head {
  width: 20%;
}

.shikaku_tbl.column_3 .th_col,
.shikaku_tbl.column_3 .td_col,
.shikaku_tbl.column_3 .tbl_cont {
  width: 40%;
}

.shikaku_tbl.column_3 td + td {
  border-left: 1px solid #ddd;
}

.shikaku_tbl.column_3 .td_head {
  text-align: center;
  vertical-align: middle;
  background: #f1f1f1;
}

.shikaku_tbl.column_3 .td_col {
  text-align: center;
}

/* ルーン：4カラム */
.shikaku_tbl.column_4 {
  width: 100%;
}

.shikaku_tbl.column_4 thead th {
  border-bottom: 1px solid #ccc;
}

.shikaku_tbl.column_4 th + th {
  border-left: 1px solid #ccc;
}

.shikaku_tbl.column_4 .th_head,
.shikaku_tbl.column_4 .td_head,
.shikaku_tbl.column_4 .tbl_head {
  width: 19%;
}

.shikaku_tbl.column_4 .th_col,
.shikaku_tbl.column_4 .td_col,
.shikaku_tbl.column_4 .tbl_cont {
  width: 27%;
}

.shikaku_tbl.column_4 td + td {
  border-left: 1px solid #ddd;
}

.shikaku_tbl.column_4 .td_head {
  text-align: center;
  vertical-align: middle;
  background: #f1f1f1;
}

.shikaku_tbl.column_4 .td_col {
  text-align: center;
}

.shikaku_tbl.column_5 {
  width: 100%;
}

.shikaku_tbl.column_5 thead .tbl_head {
  width: calc(100% / 5);
  font-size: 0.9rem;
}

.shikaku_tbl.column_5 tbody .tbl_head {
  font-size: 0.9rem;
}

.shikaku_tbl.column_5 tbody .tbl_cont {
  width: calc(100% / 5);
}

.shikaku_tbl.column_6 {
  width: 100%;
}

.shikaku_tbl.column_6 thead .tbl_head {
  width: calc(100% / 6);
  font-size: 0.9rem;
}

.shikaku_tbl.column_6 tbody .tbl_head {
  font-size: 0.9rem;
}

.shikaku_tbl.column_6 tbody .tbl_cont {
  width: calc(100% / 6);
}

.shikaku_tbl.column_7 {
  width: 100%;
}

.shikaku_tbl.column_7 thead .tbl_head {
  width: calc(100% / 7);
  font-size: 0.9rem;
}

.shikaku_tbl.column_7 tbody .tbl_head {
  font-size: 0.9rem;
}

.shikaku_tbl.column_7 tbody .tbl_cont {
  width: calc(100% / 7);
}


/* コラム記事内講座概要テーブル */
.kouza_tbl {
  margin: 30px auto;
  padding: 0;
  width: 98%;
}

.kouza_tbl caption {
  margin: 0;
  padding: 5px 20px;
  width: 100%;
  font-size: 16px;
  color: #fff;
  text-align: left;
  background: #4b9a77;
}

.kouza_tbl th {
  margin: 0;
  padding: 5px 0;
  font-size: 16px;
  color: #000;
  text-align: center;
  background: #f0f0f0;
  border-bottom: 1px solid #ddd;
}

.kouza_tbl thead .th_1 {
  width: 18%;
  border-left: 1px solid #ddd;
}

.kouza_tbl thead .th_2,
.kouza_tbl thead .th_3 {
  width: 41%;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

.kouza_tbl td {
  margin: 0;
  padding: 8px 10px;
  font-size: 16px;
  color: #222;
  text-align: center;
}

.kouza_tbl .td_1 {
  background: #f0f0f0;
  border-left: 1px solid #ddd;
  border-bottom: 1px solid #fff;
}

.kouza_tbl tr:last-child .td_1 {
  border-bottom: 1px solid #ddd;
}

.kouza_tbl .td_2,
.kouza_tbl .td_3 {
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

/* 参照付きテーブル */
.shikaku_tbl_quote {
  margin: 30px 0 30px 10px;
  padding: 0;
  width: 70%;
}

.shikaku_tbl_quote caption {
  margin: 0;
  padding: 5px 20px;
  width: 100%;
  font-size: 16px;
  color: #fff;
  text-align: left;
  background: #4b9a77;
}

.shikaku_tbl_quote tbody tr:last-child th,
.shikaku_tbl_quote tbody tr:last-child td {
  border-bottom: 1px solid #ccc;
}

.shikaku_tbl_quote thead th {
  margin: 0;
  padding: 7px 0;
  width: 25%;
  font-size: 16px;
  color: #000;
  vertical-align: middle;
  background: #f1f1f1;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
}

.shikaku_tbl_quote thead .th_head {
  border-left: 1px solid #ccc;
}

.shikaku_tbl_quote tbody th {
  margin: 0;
  padding: 7px 0;
  width: 25%;
  font-size: 16px;
  color: #000;
  vertical-align: middle;
  background: #f1f1f1;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #ccc;
}

.shikaku_tbl_quote tbody td {
  margin: 0;
  padding: 7px 10px;
  width: 75%;
  font-size: 16px;
  color: #333;
  line-height: 1.7rem;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ccc;
}

.shikaku_tbl_quote tfoot td {
  padding-top: 8px;
  font-size: 14px;
  text-align: right;
}

.shikaku_tbl_quote tfoot td > a {
  color: #20608a;
}

/* 202410追記 */
.shikaku_tbl.column_2_even {
  margin: 30px 0 30px 10px;
  padding: 0;
  width: 70%;
  border: 1px solid #ccc;
  background: #fff;
}
@media screen and (max-width: 480px) {
  .shikaku_tbl.column_2_even {
    margin: 20px auto;
    width: 100%;
  }
  .shikaku_tbl.column_2_even tr.disp_none {
    display: none;
  }
}
.shikaku_tbl.column_2_even tr:last-child th,
.shikaku_tbl.column_2_even tr:last-child td {
  border-bottom: none;
}
.shikaku_tbl.column_2_even .tbl_head {
  margin: 0;
  padding: 7px 0;
  width: 50%;
  font-size: 16px;
  color: #000;
  vertical-align: middle;
  background: #f1f1f1;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 480px) {
  .shikaku_tbl.column_2_even .tbl_head {
    width: 100%;
    font-size: 0.9rem;
  }
}
.shikaku_tbl.column_2_even .tbl_cont {
  margin: 0;
  padding: 7px 10px;
  width: 50%;
  font-size: 16px;
  color: #333;
  line-height: 1.7rem;
  border-bottom: 1px solid #ddd;
}
@media screen and (max-width: 480px) {
  .shikaku_tbl.column_2_even .tbl_cont {
    width: 100%;
    font-size: 0.9rem;
  }
}

/* 202410追記ここまで */
@media screen and (max-width: 480px) {
  .column_tbl caption {
    line-height: 1.6rem;
  }
  .column_tbl tr th,
  .column_tbl tr td {
    display: block;
    width: 100%;
  }
  .column_tbl thead {
    display: none;
  }
  .column_tbl .td_col:before {
    content: attr(data-label) "";
    display: block;
    margin: 0 0 8px 0;
    width: 100%;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    background: #f9f7dd;
  }
  /* コラム記事内資格概要テーブル */
  .shikaku_tbl {
    margin: 20px auto;
    width: 98%;
  }
  .shikaku_tbl th,
  .shikaku_tbl td {
    display: block;
  }
  .shikaku_tbl th {
    width: 100%;
  }
  .shikaku_tbl td {
    width: 100%;
  }
  /* 参照付きテーブル */
  .shikaku_tbl_quote {
    margin: 20px auto;
    width: 98%;
  }
  .shikaku_tbl_quote th,
  .shikaku_tbl_quote td {
    display: block;
  }
  .shikaku_tbl_quote thead {
    display: none;
  }
  .shikaku_tbl_quote tbody tr:last-child th,
  .shikaku_tbl_quote tbody tr:last-child td {
    border-bottom: 1px solid #ccc;
  }
  .shikaku_tbl_quote tbody th {
    width: 100%;
    border-right: 1px solid #ccc;
  }
  .shikaku_tbl_quote tbody td {
    width: 100%;
    border-left: 1px solid #ccc;
  }
  /* ダウジング：3カラム */
  .shikaku_tbl.column_3 {
    width: 98%;
  }
  .shikaku_tbl.column_3 thead {
    display: none;
  }
  .shikaku_tbl.column_3 thead th,
  .shikaku_tbl.column_3 tbody td {
    display: block;
  }
  .shikaku_tbl.column_3 .th_head,
  .shikaku_tbl.column_3 .td_head,
  .shikaku_tbl.column_3 .tbl_head {
    width: 100%;
  }
  .shikaku_tbl.column_3 .th_col,
  .shikaku_tbl.column_3 .td_col,
  .shikaku_tbl.column_3 .tbl_cont {
    width: 100%;
  }
  .shikaku_tbl.column_3 td + td {
    border-left: none;
  }
  .shikaku_tbl.column_3 .td_col {
    padding: 10px;
  }
  .shikaku_tbl.column_3 .td_col:before,
  .shikaku_tbl.column_3 .tbl_cont:before {
    content: attr(data-label) "";
    display: block;
    margin: 0 0 8px 0;
    width: 100%;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    background: #f9f7dd;
  }
  /* ルーン：4カラム */
  .shikaku_tbl.column_4 {
    width: 98%;
  }
  .shikaku_tbl.column_4 thead {
    display: none;
  }
  .shikaku_tbl.column_4 thead th,
  .shikaku_tbl.column_4 tbody td {
    display: block;
  }
  .shikaku_tbl.column_4 .th_head,
  .shikaku_tbl.column_4 .td_head,
  .shikaku_tbl.column_4 .tbl_head {
    width: 100%;
  }
  .shikaku_tbl.column_4 .th_col,
  .shikaku_tbl.column_4 .td_col,
  .shikaku_tbl.column_4 .tbl_cont {
    width: 100%;
  }
  .shikaku_tbl.column_4 td + td {
    border-left: none;
  }
  .shikaku_tbl.column_4 .td_col {
    padding: 10px;
  }
  .shikaku_tbl.column_4 .td_col:before,
  .shikaku_tbl.column_4 .tbl_cont:before {
    content: attr(data-label) "";
    display: block;
    margin: 0 0 8px 0;
    width: 100%;
    font-size: 0.9rem;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    background: #f9f7dd;
  }

  .shikaku_tbl.column_5 {
    width: 98%;
  }
  .shikaku_tbl.column_5 thead {
    display: none;
  }
  .shikaku_tbl.column_5 thead th,
  .shikaku_tbl.column_5 tbody td {
    display: block;
  }
  .shikaku_tbl.column_5 thead .tbl_head {
    width: 100%;
  }
  .shikaku_tbl.column_5 tbody .tbl_cont {
    width: 100%;
  }
  .shikaku_tbl.column_5 tbody td + td {
    border-left: none;
  }
  .shikaku_tbl.column_5 .td_col {
    padding: 10px;
  }
  .shikaku_tbl.column_5 tbody .tbl_cont:before {
    content: attr(data-label) "";
    display: block;
    margin: 0 0 8px 0;
    width: 100%;
    font-size: 0.9rem;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    background: #f9f7dd;
  }

  .shikaku_tbl.column_6 {
    width: 98%;
  }
  .shikaku_tbl.column_6 thead {
    display: none;
  }
  .shikaku_tbl.column_6 thead th,
  .shikaku_tbl.column_6 tbody td {
    display: block;
  }
  .shikaku_tbl.column_6 thead .tbl_head {
    width: 100%;
  }
  .shikaku_tbl.column_6 tbody .tbl_cont {
    width: 100%;
  }
  .shikaku_tbl.column_6 tbody td + td {
    border-left: none;
  }
  .shikaku_tbl.column_6 .td_col {
    padding: 10px;
  }
  .shikaku_tbl.column_6 tbody .tbl_cont:before {
    content: attr(data-label) "";
    display: block;
    margin: 0 0 8px 0;
    width: 100%;
    font-size: 0.9rem;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    background: #f9f7dd;
  }

  .shikaku_tbl.column_7 {
    width: 98%;
  }
  .shikaku_tbl.column_7 thead {
    display: none;
  }
  .shikaku_tbl.column_7 thead th,
  .shikaku_tbl.column_7 tbody td {
    display: block;
  }
  .shikaku_tbl.column_7 thead .tbl_head {
    width: 100%;
  }
  .shikaku_tbl.column_7 tbody .tbl_cont {
    width: 100%;
  }
  .shikaku_tbl.column_7 tbody td + td {
    border-left: none;
  }
  .shikaku_tbl.column_7 .td_col {
    padding: 10px;
  }
  .shikaku_tbl.column_7 tbody .tbl_cont:before {
    content: attr(data-label) "";
    display: block;
    margin: 0 0 8px 0;
    width: 100%;
    font-size: 0.9rem;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    background: #f9f7dd;
  }
  /* コラム記事内講座概要テーブル */
  .kouza_tbl {
    width: 20px auto;
  }
  .kouza_tbl thead {
    display: none;
  }
  .kouza_tbl th,
  .kouza_tbl td {
    display: block;
    width: 100%;
  }
  .kouza_tbl .td_1 {
    border-right: 1px solid #ddd;
  }
  .kouza_tbl .td_2,
  .kouza_tbl .td_3 {
    border-left: 1px solid #ddd;
  }
  .kouza_tbl .td_2:before,
  .kouza_tbl .td_3:before {
    content: attr(data-label) "";
    display: block;
    margin: 0 0 8px 0;
    width: 100%;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    background: #f9f7dd;
  }
}
/* 202409追記：風水column08テーブル */
.shikaku_tbl.column-13 {
  width: 100%;
}
@media screen and (max-width: 480px) {
  .shikaku_tbl.column-13 thead > tr {
    display: none;
  }
}
.shikaku_tbl.column-13 .tbl_head {
  width: 10%;
}
@media screen and (max-width: 480px) {
  .shikaku_tbl.column-13 .tbl_head {
    display: block;
    width: 100%;
  }
}
.shikaku_tbl.column-13 .tbl_head_cont,
.shikaku_tbl.column-13 .tbl_cont {
  width: 7.5%;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .shikaku_tbl.column-13 .tbl_head_cont,
  .shikaku_tbl.column-13 .tbl_cont {
    display: block;
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 480px) {
  .shikaku_tbl.column-13 .tbl_cont::before {
    content: attr(data-label) "";
    display: block;
    margin: 0 0 8px 0;
    width: 100%;
    font-size: 0.9rem;
    font-weight: bold;
    text-align: center;
    white-space: pre;
    background: #f9f7dd;
  }
}

/* // 202409追記：風水column08テーブル */
.detail_link {
  margin: 0 auto;
  padding: 5px 10px;
  width: 98%;
  background: #fafafa;
}

.detail_link > a {
  color: #0e5c0f;
}

/**
* コラム内CTAバナー
*
===================================================================*/
.cta_banner {
  /* margin: 40px auto 20px auto; */
  margin: 0 auto 20px auto;
  /* padding: 0; */
  padding: 1.2em 0;
  width: 100%;
  box-sizing: border-box;
  background: #e6f8f4;
}
/* .cta_banner:first-of-type {
  display: none;
} */
@media screen and (max-width: 480px) {
  .cta_banner {
    width: 100%;
  }
}
.cta_banner .balloon {
  position: relative;
  margin: 0 auto;
  padding: 0.6em 0;
  width: 30%;
  color: #282828;
  font-size: 1rem;
  text-align: center;
  border: 1px solid #ECECEC;
  border-radius: 6px;
  background: #FFFFFF;
}
@media screen and (max-width: 480px) {
  .cta_banner .balloon {
    width: 60%;
  }
}
.cta_banner .balloon:after, .cta_banner .balloon:before {
  position: absolute;
  content: "";
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  border: solid transparent;
  pointer-events: none;
}
.cta_banner .balloon:after {
  border-color: rgba(255, 255, 255, 0);
  border-top-width: 16px;
  border-bottom-width: 16px;
  border-left-width: 20px;
  border-right-width: 20px;
  margin-left: -20px;
  border-top-color: #FFFFFF;
}
.cta_banner .balloon:before {
  border-color: rgba(236, 236, 236, 0);
  border-top-width: 16px;
  border-bottom-width: 16px;
  border-left-width: 20px;
  border-right-width: 20px;
  margin-left: -20px;
  margin-top: 1px;
  border-top-color: #ECECEC;
}
/* .cta_banner > a {
  position: relative;
  display: block;
  margin: 20px auto 0 auto;
  padding: 0.6em 2em;
  width: 70%;
  font-size: 1.1rem;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  background: #d4753a;
  box-sizing: border-box;
  text-decoration: none !important;
}
@media screen and (max-width: 480px) {
  .cta_banner > a {
    padding: 1em 1.5em;
    width: 100%;
    font-size: 0.9rem;
  }
} */
/*
.cta_banner > a:hover {
  filter: saturate(1.6);
  transition: all 0.3s;
  text-decoration: none;
} */

.cta_banner > a {
  display: block;
  position: relative;
  margin: 20px auto 0 auto;
  padding: 0.6em 2em;
  /* width: 70%; */
  width: 80%;
  /* font-size: 1.4rem; */
  font-size: 1.1rem;
  color: #212529;
  cursor: pointer;
  user-select: none;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
  color: #fff;
  background-color: #eb6100;
  border-bottom: 5px solid #b84c00;
}

@media screen and (max-width: 480px) {
  .cta_banner > a {
    width: 94%;
    font-size: 1rem;
  }
}

.cta_banner > a::after {
    content: "\f054";
    position: absolute;
    top: 50%;
    right: 3%;
    transform: translateY(-50%);
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
}
.cta_banner > a:hover {
    margin-top: 23px;
    color: #fff;
    background: #f56500;
    border-bottom: 1px solid #b84c00;
}

/**
* コラム内CTAリンク
*
===================================================================*/
.domap_cta {
  margin: 40px auto;
  padding: 1.5em;
  width: 80%;
  border-radius: 5px;
  background: #fff;
  border: 1px solid #ddd;
}
@media screen and (max-width: 480px) {
  .domap_cta {
    width: 100%;
  }
}
.domap_cta .cta_title {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.3rem;
  font-weight: bold;
  color: #036d4e;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .domap_cta .cta_title {
    font-size: 1.1rem;
  }
}
.domap_cta .cta_txt {
  display: inline-block;
  margin: 16px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
}
@media screen and (max-width: 480px) {
  .domap_cta .cta_txt {
    margin-top: 10px;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
}
.domap_cta .cta_link_btn {
  display: flex;
  justify-content: center;
  margin: 20px auto 0 auto;
  padding: 0;
  width: 70%;
  text-align: center;
  border: none;
}
@media screen and (max-width: 480px) {
  .domap_cta .cta_link_btn {
    width: 100%;
  }
}
.domap_cta .cta_link_btn > a {
  display: block;
  margin: 0 auto;
  padding: 1em 1.5em;
  width: 100%;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  border-radius: 4px;
  background: #d77391;
}
@media screen and (max-width: 480px) {
  .domap_cta .cta_link_btn > a {
    padding: 0.6em 1em;
  }
}
.domap_cta .cta_link_btn > a:hover {
  background: #bb4f70;
  transition: all 0.3s ease;
}

/**
* コラム記事監修
*---------------------------------------*/
.column_supervisor {
  position: relative;
  margin: 80px auto 40px auto;
  padding: 40px 20px 20px;
  /* width: 50%; */
  width: 80%;
  border: 1px solid #1e855c;
}
@media screen and (max-width: 480px) {
  .column_supervisor {
    margin-top: 60px;
    width: 86%;
    padding-top: 30px;
  }
}
.column_supervisor::before {
  content: "この記事の監修者";
  position: absolute;
  top: -23px;
  left: -26px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 200px;
  height: 46px;
  font-size: 1.1rem;
  font-weight: bold;
  color: #fff;
  border-radius: 10px;
  background: #1e855c;
}
@media screen and (max-width: 480px) {
  .column_supervisor::before {
    width: 160px;
    height: 40px;
    font-size: 1rem;
  }
}
.column_supervisor .wrapper {
  margin: 0;
  padding: 0;
  width: 100%;
}
.column_supervisor .wrapper .supervisor_name {
  margin: 0;
  padding: 0;
  width: 100%;
}
.column_supervisor .wrapper .supervisor_name > a {
  font-size: 1.1rem;
  font-weight: bold;
  color: #222;
  text-decoration: underline;
}
@media screen and (max-width: 480px) {
  .column_supervisor .wrapper .supervisor_name > a {
    font-size: 1rem;
  }
}
.column_supervisor .wrapper .supervisor_name > a:hover {
  color: #b91b1b;
}
.column_supervisor .wrapper .supervisor_contents {
  display: flex;
  justify-content: space-between;
  margin: 16px auto 0 auto;
  padding: 0;
  width: 100%;
}
@media screen and (max-width: 480px) {
  .column_supervisor .wrapper .supervisor_contents {
    display: block;
  }
}
.column_supervisor .wrapper .supervisor_contents .contents_txt {
  margin: 0;
  padding: 0;
  width: 70%;
  font-size: 0.95rem;
  color: #000;
  line-height: 1.5rem;
}
@media screen and (max-width: 480px) {
  .column_supervisor .wrapper .supervisor_contents .contents_txt {
    width: 100%;
  }
}
.column_supervisor .wrapper .supervisor_contents .contents_img {
  margin: 0;
  padding: 0;
  width: 27%;
}
@media screen and (max-width: 480px) {
  .column_supervisor .wrapper .supervisor_contents .contents_img {
    margin: 24px auto 0 auto;
    width: 80%;
  }
}
.column_supervisor .wrapper .supervisor_contents .contents_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 100%;
  max-height: 100%;
}

.column_supervisor .wrapper .thesis_policy_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 24px 0 0 0;
  padding: 0;
  width: 60%;
}

@media screen and (max-width: 480px) {
  .column_supervisor .wrapper .thesis_policy_link {
    display: block;
    width: 100%;
  }
}

.column_supervisor .wrapper .thesis_policy_link .thesis_link,
.column_supervisor .wrapper .thesis_policy_link .policy_link {
  margin: 0 auto;
  padding: 0;
  width: 48%;
}

@media screen and (max-width: 480px) {
  .column_supervisor .wrapper .thesis_policy_link .thesis_link,
  .column_supervisor .wrapper .thesis_policy_link .policy_link {
    margin: 0 auto 8px auto;
    padding: 0;
    width: 100%;
  }
}

.column_supervisor .wrapper .thesis_policy_link .thesis_link > a,
.column_supervisor .wrapper .thesis_policy_link .policy_link > a {
  position: relative;
  display: block;
  margin: 0;
  padding: 0.3em 0;
  width: 100%;
  font-size: 0.84rem;
  font-weight: bold;
  color: #333;
  background: #f0f0f0;
  text-align: center;
}

@media screen and (max-width: 480px) {
  .column_supervisor .wrapper .thesis_policy_link .thesis_link > a,
  .column_supervisor .wrapper .thesis_policy_link .policy_link > a {
    margin: 0 auto;
    width: 70%;
  }
}

.column_supervisor .wrapper .thesis_policy_link .thesis_link > a::after,
.column_supervisor .wrapper .thesis_policy_link .policy_link > a::after {
  content: '\f054';
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  font-size: 0.7rem;
}

.column_supervisor .wrapper .thesis_policy_link .thesis_link > a:hover,
.column_supervisor .wrapper .thesis_policy_link .policy_link > a:hover {
  background: #ddd;
  transition: all .3s;
}



/**---------------------------------------------------
* ページ共通要素
*----------------------------------------------------*/
.section_preface {
  margin: 0 auto;
  padding: 20px;
  width: 70%;
  font-size: 1rem;
  color: #000;
  text-align: center;
  border: 1px solid #dedede;
  border-radius: 5px;
}
.section_preface.bg_white {
  background: #fff;
}
.section_preface.txt_center {
  text-align: center;
}
@media screen and (max-width: 480px) {
  .section_preface {
    padding: 10px;
    width: 100%;
    font-size: 0.9rem;
  }
}

/**---------------------------------------------------
* 協会について
*----------------------------------------------------*/
.contents {
  margin: 0 auto;
  padding: 30px;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.8rem;
  background: #fff;
  border-radius: 5px;
}
.contents .contents_body:not(:first-of-type) {
  margin-top: 30px;
}
@media screen and (max-width: 480px) {
  .contents {
    padding: 15px;
    font-size: 0.9rem;
    line-height: 1.6rem;
  }
}

.kyokai_notice {
  margin: 30px auto 0 auto;
  padding: 20px;
  width: 100%;
  font-size: 1rem;
  color: #108C67;
  text-align: center;
  background: #fff;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .kyokai_notice {
    font-size: 0.9rem;
  }
}

.kyokai_tbl {
  margin: 60px auto 0 auto;
  padding: 0;
  width: 70%;
  border-collapse: collapse;
  background: #fff;
}
.kyokai_tbl .tbl_title {
  margin: 0;
  padding: 10px 0;
  width: 30%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #000;
  background: #FBF1E2;
  border-bottom: 1px solid #fff;
}
.kyokai_tbl .tbl_cont {
  margin: 0;
  padding: 10px;
  width: 70%;
  font-size: 0.9rem;
  font-weight: 400;
  color: #000;
  border-bottom: 1px solid #f0f0f0;
}
.kyokai_tbl .tbl_cont:first-of-type {
  border-top: 1px solid #f0f0f0;
}
@media screen and (max-width: 480px) {
  .kyokai_tbl {
    margin-top: 40px;
    width: 100%;
  }
  .kyokai_tbl .tbl_title,
  .kyokai_tbl .tbl_cont {
    display: block;
    width: 100%;
    text-align: center;
    border-bottom: none;
  }
}

/**---------------------------------------------------
* 資格認定制度
*----------------------------------------------------*/
.cert_img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 60px auto 0 auto;
  padding: 0;
  width: 70%;
}
.cert_img > li {
  margin: 0;
  padding: 0;
  width: 47%;
  text-align: center;
}
.cert_img > li > img {
  margin: 0 auto;
  -o-object-fit: contain;
     object-fit: contain;
  height: 180px;
}
.cert_img > li .img_caption {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #222;
}
@media screen and (max-width: 480px) {
  .cert_img {
    margin-top: 40px;
    width: 100%;
  }
  .cert_img > li > img {
    height: 100px;
  }
}

/**---------------------------------------------------
* 受験概要ページ
*----------------------------------------------------*/
/**---------------------------------------------------
* カテゴリーリンク
*----------------------------------------------------*/
.category_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px 0 0 0;
  padding: 0;
  width: 100%;
}
.category_link > li {
  margin: 0;
  padding: 0;
  width: 25%;
  background: #108C67;
}
.category_link > li:first-of-type {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.category_link > li:last-of-type {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.category_link > li:not(:first-of-type)::before {
  content: "";
  position: absolute;
  top: 15%;
  left: 0;
  width: 1px;
  height: 70%;
  background: #75B5A2;
}
.category_link > li > a {
  height: 40px;
}
.category_link > li > a::after {
  background: #1b6750;
}

/**---------------------------------------------------
* スマートフォン：カテゴリーリンク
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .category_link {
    margin-top: 20px;
  }
  .category_link > li {
    width: 50%;
  }
  .category_link > li:first-of-type {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 0;
  }
  .category_link > li:nth-of-type(2) {
    border-top-right-radius: 5px;
  }
  .category_link > li:nth-of-type(3) {
    border-bottom-left-radius: 5px;
  }
  .category_link > li:last-of-type {
    border-top-right-radius: 0;
    border-bottom-right-radius: 5px;
  }
  .category_link > li:not(:first-of-type)::before {
    background: none;
  }
  .category_link > li:nth-of-type(2n)::before {
    content: "";
    position: absolute;
    top: 15%;
    left: 0;
    width: 1px;
    height: 70%;
    background: #75B5A2;
  }
  .category_link > li:nth-of-type(1)::after, .category_link > li:nth-of-type(2)::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 5%;
    width: 90%;
    height: 1px;
    background: #75B5A2;
  }
  .category_link > li > a {
    padding: 13px 8px;
    height: auto;
    font-size: 0.8rem;
  }
  .category_link > li > a::after {
    background: #1b6750;
  }
}
/**---------------------------------------------------
* 資格検定試験リンク
*----------------------------------------------------*/
.exam_summary_list {
  margin: 40px auto 0 auto;
  padding: 0;
  width: 100%;
}
.exam_summary_list .cat_title {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 20px 0 50px;
  width: 100%;
  height: 60px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #fff;
  background: #108C67;
  border-radius: 5px;
}
.exam_summary_list .cat_title > a {
  color: #fff;
}
.exam_summary_list .cat_title > a:hover {
  text-decoration: underline;
}
.exam_summary_list .cat_title > a::after {
  content: "\f03a";
  margin: 0 0 0 12px;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
}
.exam_summary_list .cat_title::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 30px;
  width: 5px;
  height: 40px;
  background: #fff;
}
.exam_summary_list .list_contents {
  margin: 10px auto 0 auto;
  padding: 20px 0;
  width: 100%;
  background: #F9F9F9;
  border-radius: 5px;
}
.exam_summary_list .list_contents .exam_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 1000px;
}
.exam_summary_list .list_contents .exam_list .exam_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 1% 0;
  padding: 10px;
  width: 49.5%;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_img {
  margin: 0;
  padding: 0;
  width: 30%;
  overflow: hidden;
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_img > a {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_img > a > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .exam_summary_list .list_contents .exam_list .exam_area .exam_img > a:hover {
    transform: scale(1.2);
  }
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_detail {
  margin: 0;
  padding: 0;
  width: 68%;
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_title {
  margin: 0;
  padding: 5px 10px;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #fff;
  background: #108C67;
  border-radius: 5px;
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_summary {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 96%;
  font-size: 0.85rem;
  color: #222;
  line-height: 1.2rem;
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_link_btn {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_link_btn > a {
  position: relative;
  display: block;
  margin: 0;
  padding: 5px 10px;
  width: 100%;
  height: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #108C67;
  text-align: center;
  border: 1px solid #108C67;
  border-radius: 5px;
}
.exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_link_btn > a::after {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 24%;
  transform: translateY(-50%);
  font-weight: 700;
}
@media (hover: hover) and (pointer: fine) {
  .exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_link_btn > a:hover {
    color: #fff;
    background: #108C67;
  }
}

/**---------------------------------------------------
* スマートフォン：資格検定試験リンク
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .exam_summary_list {
    margin-top: 20px;
  }
  .exam_summary_list .cat_title {
    padding: 0 15px 0 35px;
    height: 40px;
    font-size: 1rem;
  }
  .exam_summary_list .cat_title::before {
    top: 5px;
    left: 15px;
    height: 30px;
  }
  .exam_summary_list .list_contents .exam_list {
    width: 92%;
  }
  .exam_summary_list .list_contents .exam_list .exam_area {
    margin-bottom: 10px;
    width: 100%;
  }
  .exam_summary_list .list_contents .exam_list .exam_area .exam_img {
    width: 100%;
    height: 100px;
  }
  .exam_summary_list .list_contents .exam_list .exam_area .exam_detail {
    margin-top: 5px;
    width: 100%;
  }
  .exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_title {
    text-align: center;
    border-radius: 0;
  }
  .exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_summary {
    font-size: 0.8rem;
  }
  .exam_summary_list .list_contents .exam_list .exam_area .exam_detail .exam_link_btn {
    margin-top: 15px;
  }
}
/**---------------------------------------------------
* 受験の流れ
*----------------------------------------------------*/
.process_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 40px;
  width: 100%;
  background: #F9F9F9;
  border-radius: 10px;
}
.process_area .process_list {
  margin: 0;
  padding: 0;
  width: 70%;
}
.process_area .process_list .process_title {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 0 0 50px;
  width: 100%;
  height: 40px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  background: #108C67;
  border-radius: 5px;
}
.process_area .process_list .process_title::before {
  content: attr(data-num);
  position: absolute;
  top: 8px;
  left: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 24px;
  height: 24px;
  font-size: 1.1rem;
  font-weight: 700;
  color: #108C67;
  background: #fff;
}
.process_area .process_list .process_txt {
  margin: 20px auto 0 auto;
  padding: 20px 30px;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
  background: #fff;
  border-radius: 5px;
}
.process_area .process_img {
  margin: 0;
  padding: 0;
  width: 28%;
  overflow: hidden;
}
.process_area .process_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

/**---------------------------------------------------
* スマートフォン：受験の流れ
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .process_area {
    padding: 20px;
  }
  .process_area .process_list {
    width: 100%;
  }
  .process_area .process_list .process_title {
    padding-left: 40px;
    font-size: 0.9rem;
  }
  .process_area .process_list .process_txt {
    padding: 15px;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
  .process_area .process_img {
    margin: 20px auto 0 auto;
    width: 50%;
  }
}
/**---------------------------------------------------
* 合格者専用ページ
*----------------------------------------------------*/
.area_wrapper {
  margin: 40px auto 0 auto;
  padding: 20px;
  width: 100%;
  background: #fff;
  border-radius: 10px;
}
.area_wrapper .passed_area_title {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 0 40px;
  width: 100%;
  height: 50px;
  font-size: 1.2rem;
  font-weight: 700;
  color: #fff;
  background: #108C67;
  border-radius: 5px;
}
.area_wrapper .passed_area_title::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 20px;
  width: 7px;
  height: 30px;
  background: #fff;
}
.area_wrapper .area_preface {
  display: block;
  margin: 20px auto 0 auto;
  padding: 0;
  width: 96%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
}
.area_wrapper .cert_info_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto 0 auto;
  padding: 0;
  width: 96%;
}
.area_wrapper .cert_info_area .cert_info {
  margin: 0;
  padding: 0;
  width: 26%;
}
.area_wrapper .cert_info_area .cert_info > li {
  margin: 0;
  padding: 0;
  width: 100%;
}
.area_wrapper .cert_info_area .cert_info > li + li {
  margin-top: 10px;
}
.area_wrapper .cert_info_area .cert_info > li .cert_img {
  margin: 0;
  padding: 0;
  width: 100%;
}
.area_wrapper .cert_info_area .cert_info > li .cert_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.area_wrapper .cert_info_area .cert_info > li .cert_caption {
  margin: 7px auto 0 auto;
  padding: 5px 10px;
  width: 100%;
  border: 1px solid #eaeaea;
  border-radius: 5px;
}
.area_wrapper .cert_info_area .cert_info > li .cert_caption .cert_name {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  text-align: center;
}
.area_wrapper .cert_info_area .cert_info > li .cert_caption .cert_price {
  margin: 3px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #000;
  text-align: center;
}
.area_wrapper .cert_info_area .cert_explain_area {
  margin: 0;
  padding: 0;
  width: 72%;
}
.area_wrapper .cert_info_area .cert_explain_area .explain_title {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 0 30px;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background: #CFA026;
  border-radius: 5px;
}
.area_wrapper .cert_info_area .cert_explain_area .explain_title:not(:first-of-type) {
  margin-top: 20px;
}
.area_wrapper .cert_info_area .cert_explain_area .explain_title::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 15px;
  width: 5px;
  height: 24px;
  background: #fff;
}
.area_wrapper .cert_info_area .cert_explain_area .explain_txt {
  margin: 8px auto 0 auto;
  padding: 0;
  width: 96%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
}
.area_wrapper .cert_info_area .cert_explain_area .page_link_btn {
  height: 60px;
  background: #3C67A8;
}
.area_wrapper .cert_info_area .cert_explain_area .useful_card {
  display: flex;
  justify-content: center;
  margin: 5px auto 0 auto;
  padding: 0;
  width: 100%;
  text-align: center;
}
.area_wrapper .cert_info_area .cert_explain_area .explain_notice {
  margin: 20px auto 0 auto;
  padding: 20px;
  width: 96%;
  background: #f6f6f6;
  border-radius: 5px;
}
.area_wrapper .cert_info_area .cert_explain_area .explain_notice .notice_title {
  margin: 0 0 5px 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
}
.area_wrapper .cert_info_area .cert_explain_area .explain_notice .notice_txt {
  position: relative;
  margin: 0 auto;
  padding: 0 0 0 20px;
  width: 98%;
  font-size: 0.85rem;
  color: #222;
  line-height: 1.4rem;
}
.area_wrapper .cert_info_area .cert_explain_area .explain_notice .notice_txt::before {
  content: "\f138";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 700;
  color: #666;
}

.other_menu_area {
  margin: 30px auto 0 auto;
  padding: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.other_menu_area .area_wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 10px;
  width: 49%;
}
.other_menu_area .area_wrapper .area_preface {
  margin-bottom: 30px;
}
.other_menu_area .area_wrapper .page_link_btn {
  margin: auto auto 0 auto;
  width: 80%;
  background: #3C67A8;
}

/**---------------------------------------------------
* スマートフォン：合格者専用ページ
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .area_wrapper {
    margin-top: 20px;
    padding: 10px;
  }
  .area_wrapper .passed_area_title {
    padding-left: 30px;
    height: 40px;
    font-size: 1rem;
  }
  .area_wrapper .passed_area_title::before {
    top: 8px;
    left: 15px;
    width: 5px;
    height: 24px;
  }
  .area_wrapper .area_preface {
    margin-top: 10px;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
  .area_wrapper .cert_info_area {
    margin-top: 20px;
    width: 100%;
  }
  .area_wrapper .cert_info_area .cert_info {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .area_wrapper .cert_info_area .cert_info > li {
    width: 49%;
  }
  .area_wrapper .cert_info_area .cert_info > li + li {
    margin-top: 0;
  }
  .area_wrapper .cert_info_area .cert_info > li .cert_caption {
    margin-top: 5px;
    padding-top: 3px;
  }
  .area_wrapper .cert_info_area .cert_info > li .cert_caption .cert_name {
    font-size: 0.9rem;
  }
  .area_wrapper .cert_info_area .cert_info > li .cert_caption .cert_price {
    font-size: 0.8rem;
  }
  .area_wrapper .cert_info_area .cert_explain_area {
    margin-top: 20px;
    width: 100%;
  }
  .area_wrapper .cert_info_area .cert_explain_area .explain_title {
    height: 34px;
    font-size: 0.9rem;
  }
  .area_wrapper .cert_info_area .cert_explain_area .explain_title::before {
    top: 5px;
    height: 24px;
  }
  .area_wrapper .cert_info_area .cert_explain_area .explain_txt {
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
  .area_wrapper .cert_info_area .cert_explain_area .page_link_btn {
    margin-top: 15px;
  }
  .area_wrapper .cert_info_area .cert_explain_area .explain_notice {
    margin-top: 10px;
    padding: 10px;
  }
  .other_menu_area {
    margin-top: 20px;
  }
  .other_menu_area .area_wrapper {
    margin-bottom: 20px;
    width: 100%;
  }
  .other_menu_area .area_wrapper .area_preface {
    margin-bottom: 20px;
  }
  .other_menu_area .area_wrapper .page_link_btn {
    width: 90%;
  }
}
/**---------------------------------------------------
* 資格証明バナーについて
*----------------------------------------------------*/
.cert_inner_area {
  margin: 40px auto 0 auto;
  padding: 30px;
  width: 100%;
  background: #F9F9F9;
  border-radius: 10px;
}
.cert_inner_area .cert_inner_title {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 0 0 0 50px;
  width: 100%;
  height: 50px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  background: #108C67;
  border-radius: 5px;
}
.cert_inner_area .cert_inner_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3%;
  transform: translateY(-50%);
  width: 5px;
  height: 30px;
  background: #fff;
}
.cert_inner_area .merit_appeal {
  margin: 30px auto 0 auto;
  padding: 15px 30px;
  width: 70%;
  font-size: 1rem;
  font-weight: 700;
  color: #108C67;
  text-align: center;
  background: #fff;
  border-radius: 5px;
}
.cert_inner_area .merit_img {
  margin: 30px auto 0 auto;
  padding: 0;
  width: 70%;
}
.cert_inner_area .merit_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.cert_inner_area .merit_point {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto 0 auto;
  padding: 0;
  width: 100%;
}
.cert_inner_area .merit_point > li {
  margin: 0;
  padding: 10px;
  width: 32.6666666667%;
  background: #fff;
  border-radius: 5px;
}
.cert_inner_area .merit_point > li .point_list {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.cert_inner_area .merit_point > li .point_list > dt {
  margin: 0;
  padding: 8px 0;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #108C67;
  text-align: center;
  line-height: 1.4rem;
  background: #fcf7e2;
  border-radius: 5px;
}
.cert_inner_area .merit_point > li .point_list > dt .en_title {
  display: inline-block;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
}
.cert_inner_area .merit_point > li .point_list > dd {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 96%;
  font-size: 0.9rem;
  color: #222;
  line-height: 1.4rem;
}
.cert_inner_area .cert_preface {
  margin: 30px auto 0 auto;
  padding: 10px 0;
  width: 70%;
  font-size: 1rem;
  color: #222;
  text-align: center;
  background: #fff;
  border-radius: 5px;
}
.cert_inner_area .exam_name_list {
  margin: 0 auto;
  padding: 0;
  width: 94%;
}
.cert_inner_area .exam_name_list:first-of-type {
  margin-top: 30px;
}
.cert_inner_area .exam_name_list .list_contents .cert_exam_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list {
  margin: 0 0 8px 0;
  padding: 0;
  width: 48%;
}
@media (prefers-color-schme: dark) {
  .cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list .radio-label {
    color: #000;
  }
}
.cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list > input[type=radio] {
  position: absolute;
  opacity: 0;
}
.cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list > input[type=radio] + .radio-label:before {
  content: "";
  position: relative;
  top: -0.1rem;
  display: inline-block;
  margin-right: 0.8rem;
  width: 1.4em;
  height: 1.4em;
  vertical-align: middle;
  text-align: center;
  background: #f4f4f4;
  border: 1px solid #b4b4b4;
  border-radius: 100%;
  transition: all 250ms ease;
  cursor: pointer;
}
.cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list > input[type=radio]:checked + .radio-label:before {
  background-color: #d1164b;
  box-shadow: inset 0 0 0 4px #f4f4f4;
}
.cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list > input[type=radio]:focus + .radio-label:before {
  outline: none;
  border-color: #d1164b;
}
.cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list > input[type=radio]:disabled + .radio-label:before {
  box-shadow: inset 0 0 0 4px #f4f4f4;
  border-color: #b4b4b4;
  background: #b4b4b4;
}
.cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list > input[type=radio] + .radio-label:empty:before {
  margin-right: 0;
}
.cert_inner_area .view_banner_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto 0 auto;
  padding: 30px;
  width: 94%;
  background: #fff;
}
.cert_inner_area .view_banner_area .view_example .inner_title,
.cert_inner_area .view_banner_area .banner_address .inner_title {
  margin: 0 auto;
  padding: 8px 15px;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background: #226cb7;
  border-radius: 5px;
}
.cert_inner_area .view_banner_area .view_example {
  margin: 0;
  padding: 0;
  width: 49%;
}
.cert_inner_area .view_banner_area .view_example .example_img {
  margin: 30px auto 0 auto;
  padding: 0;
  width: 80%;
}
.cert_inner_area .view_banner_area .view_example .example_img > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.cert_inner_area .view_banner_area .banner_address {
  margin: 0;
  padding: 0;
  width: 49%;
}
.cert_inner_area .view_banner_area .banner_address .explain_txt {
  margin: 8px auto 0 auto;
  padding: 0;
  width: 94%;
  font-size: 0.9rem;
  color: #222;
  line-height: 1.4rem;
}
.cert_inner_area .view_banner_area .banner_address .address_url {
  display: block;
  margin: 8px auto 0 auto;
  padding: 5px 8px;
  width: 94%;
  height: 130px;
  font-size: 0.9rem;
}
@media (prefers-color-scheme: dark) {
  .cert_inner_area .view_banner_area .banner_address .address_url {
    color: #000;
    background: #fff;
  }
}
.cert_inner_area .view_banner_area .banner_address .copy_btn {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 94%;
  text-align: right;
}
.cert_inner_area .view_banner_area .banner_address .copy_btn > button {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background: #108C67;
  border: none;
  border-radius: 5px;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .cert_inner_area .view_banner_area .banner_address .copy_btn > button:hover {
    background: #cc2200;
  }
}
.cert_inner_area .view_banner_area .banner_address .copy_btn > button.disable {
  filter: saturate(0);
  opacity: 0.5;
}
.cert_inner_area .view_banner_area .banner_address .copy_btn > button.copied {
  background: #223fcf;
}
.cert_inner_area .view_banner_area .banner_address .copy_btn > button.copied::before {
  content: "\f058";
}
.cert_inner_area .view_banner_area .banner_address .copy_btn > button::before {
  content: "\f0c5";
  position: absolute;
  top: 50%;
  left: 24%;
  transform: translateY(-50%);
  font-weight: 700;
}
.cert_inner_area .view_banner_area .notice {
  margin: 30px auto 0 auto;
  padding: 20px;
  width: 100%;
  background: #f7f8e2;
  border-radius: 5px;
}
.cert_inner_area .view_banner_area .notice > dt {
  margin: 0 0 5px 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
}
.cert_inner_area .view_banner_area .notice > dd {
  margin: 0 auto;
  padding: 0;
  width: 98%;
  font-size: 0.9rem;
  color: #000;
  line-height: 1.4rem;
}

/**---------------------------------------------------
* スマートフォン：資格証明バナーについて
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .cert_inner_area {
    margin: 30px auto 0 auto;
    padding: 10px;
  }
  .cert_inner_area .cert_inner_title {
    padding: 0 0 0 30px;
    height: 40px;
    font-size: 1rem;
  }
  .cert_inner_area .cert_inner_title::before {
    height: 20px;
  }
  .cert_inner_area .merit_appeal {
    margin-top: 20px;
    width: 100%;
  }
  .cert_inner_area .merit_img {
    width: 90%;
  }
  .cert_inner_area .merit_point > li {
    width: 100%;
  }
  .cert_inner_area .merit_point > li:not(:first-of-type) {
    margin-top: 10px;
  }
  .cert_inner_area .merit_point > li .point_list > dt {
    font-size: 1rem;
  }
  .cert_inner_area .merit_point > li .point_list > dt .en_title {
    font-size: 0.8rem;
  }
  .cert_inner_area .merit_point > li .point_list > dd {
    margin-top: 10px;
    font-size: 0.85rem;
  }
  .cert_inner_area .cert_preface {
    margin-top: 20px;
    padding: 10px 15px;
    width: 100%;
    font-size: 0.9rem;
  }
  .cert_inner_area .exam_name_list {
    width: 100%;
  }
  .cert_inner_area .exam_name_list:first-of-type {
    margin-top: 20px;
  }
  .cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list {
    margin-bottom: 10px;
    width: 100%;
    font-size: 0.9rem;
  }
  .cert_inner_area .exam_name_list .list_contents .cert_exam_list .exam_list > input[type=radio] + .radio-label:before {
    content: "";
    top: 0;
    margin-right: 0.5rem;
  }
  .cert_inner_area .view_banner_area {
    margin-top: 10px;
    padding: 10px;
    width: 100%;
  }
  .cert_inner_area .view_banner_area .view_example .inner_title,
  .cert_inner_area .view_banner_area .banner_address .inner_title {
    font-size: 0.9rem;
  }
  .cert_inner_area .view_banner_area .view_example {
    width: 100%;
  }
  .cert_inner_area .view_banner_area .view_example .example_img {
    margin: 20px auto 30px auto;
  }
  .cert_inner_area .view_banner_area .banner_address {
    width: 100%;
  }
  .cert_inner_area .view_banner_area .banner_address .explain_txt {
    margin: 10px auto;
    font-size: 0.85rem;
  }
  .cert_inner_area .view_banner_area .banner_address .address_url {
    height: 150px;
    font-size: 0.85rem;
    line-height: 1.4rem;
  }
  .cert_inner_area .view_banner_area .banner_address .copy_btn > button::before {
    left: 17%;
  }
}
/**---------------------------------------------------
* 人気資格ランキングTOP25
*----------------------------------------------------*/
.ranking_preface {
  margin: 0 auto;
  padding: 30px;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
  background: #f1fbef;
  border-radius: 10px;
}

.ranking_afterwords {
  margin: 30px auto 0 auto;
  padding: 30px;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
  background: #eeeeee;
  border-radius: 10px;
}

.rank_list {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  background: #fff;
  /* 1位〜10位 */
  /* 11位〜25位 */
}
.rank_list:not(:last-of-type) {
  margin-bottom: 20px;
}
.rank_list.rank1-10 {
  border: 3px solid #E5CB3B;
  border-radius: 4px;
}
.rank_list.rank1-10 .title_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 20px 40px 15px 40px;
  width: 100%;
  border-bottom: 1px solid #ccc;
}
.rank_list.rank1-10 .title_area .rank_num_area {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100px;
  height: 80px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.rank_list.rank1-10 .title_area .rank_num_area .rank_num {
  position: absolute;
  bottom: 7%;
  left: 45%;
  transform: translateX(-45%);
  font-size: 2.1rem;
  font-weight: bold;
  color: #fff;
}
.rank_list.rank1-10 .title_area .rank01 {
  background-image: url("../images/ranking/rank_trophy_1.svg");
}
.rank_list.rank1-10 .title_area .rank02 {
  background-image: url("../images/ranking/rank_trophy_2.svg");
}
.rank_list.rank1-10 .title_area .rank03 {
  background-image: url("../images/ranking/rank_trophy_3.svg");
}
.rank_list.rank1-10 .title_area .rank04 {
  background-image: url("../images/ranking/rank_trophy_4.svg");
}
.rank_list.rank1-10 .title_area .shikaku_title {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  width: calc(100% - 120px);
  height: 80px;
  font-size: 2rem;
  font-weight: bold;
  color: #a90f0f;
}
.rank_list.rank1-10 .detail_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto 20px auto;
  padding: 0;
  width: 100%;
}
.rank_list.rank1-10 .detail_area .txt_area {
  margin: 0 0 0 40px;
  padding: 0 0 15px 0;
  width: 54%;
  background: #f7f6f6;
}
.rank_list.rank1-10 .detail_area .txt_area .area_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  background: #BEA13D;
  overflow: hidden;
}
.rank_list.rank1-10 .detail_area .txt_area .area_title::before, .rank_list.rank1-10 .detail_area .txt_area .area_title::after {
  content: "";
  position: absolute;
  width: 50%;
  height: 100%;
  top: 0;
  background-color: #f7f6f6;
}
.rank_list.rank1-10 .detail_area .txt_area .area_title::after {
  left: -40%;
  transform: skewX(16deg);
}
.rank_list.rank1-10 .detail_area .txt_area .area_title::before {
  right: -40%;
  transform: skewX(-16deg);
}
.rank_list.rank1-10 .detail_area .txt_area .summary {
  margin: 20px auto 0 auto;
  padding: 0 20px;
  width: 100%;
  font-size: 1.1rem;
  font-weight: bold;
  color: #da8b14;
  line-height: 2rem;
}
.rank_list.rank1-10 .detail_area .txt_area .area_afterwords {
  margin: 20px auto 0 auto;
  padding: 20px;
  width: calc(100% - 20px);
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
  background: #F9FCE7;
}
.rank_list.rank1-10 .detail_area .photo_link_area {
  margin: 0;
  padding: 0 40px 0 0;
  width: calc(100% - (56% + 40px));
}
.rank_list.rank1-10 .detail_area .photo_link_area .shikaku_photo {
  margin: 0;
  padding: 0;
  width: 100%;
  border: 1px solid #eee;
}
.rank_list.rank1-10 .detail_area .photo_link_area .shikaku_photo > img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.rank_list.rank1-10 .detail_area .photo_link_area .detail_link {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 100%;
}
.rank_list.rank1-10 .detail_area .photo_link_area .detail_link > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 60px;
  font-size: 1.1rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  background: #2E7D9A;
  border-radius: 5px;
}
.rank_list.rank1-10 .detail_area .photo_link_area .detail_link > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 50px;
  transform: translateY(-50%);
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url("../images/ranking/detail_link_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (hover: hover) and (pointer: fine) {
  .rank_list.rank1-10 .detail_area .photo_link_area .detail_link > a:hover {
    background: #20657e;
    transition: all 0.3s;
  }
}
.rank_list.rank1-10 .detail_link_sp {
  display: none;
}
.rank_list.rank11-25 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px auto 0 auto;
  padding: 0;
  width: 100%;
}
.rank_list.rank11-25 .area_left,
.rank_list.rank11-25 .area_right {
  margin: 0 0 20px 0;
  padding: 0;
  width: 49%;
  border: 3px solid #53cd5d;
  border-radius: 4px;
}
.rank_list.rank11-25 .area_left .title_area,
.rank_list.rank11-25 .area_right .title_area {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 0;
  padding: 5px 20px 5px 20px;
  width: 100%;
  border-bottom: 1px solid #ccc;
}
.rank_list.rank11-25 .area_left .title_area .rank_num_area,
.rank_list.rank11-25 .area_right .title_area .rank_num_area {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100px;
  height: 70px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
}
.rank_list.rank11-25 .area_left .title_area .rank_num_area .rank_num,
.rank_list.rank11-25 .area_right .title_area .rank_num_area .rank_num {
  position: absolute;
  top: 50%;
  left: 20%;
  transform: translate(-20%, -47%);
  font-size: 2.1rem;
  font-weight: bold;
  color: #fff;
}
.rank_list.rank11-25 .area_left .title_area .rank_num_area .small_txt,
.rank_list.rank11-25 .area_right .title_area .rank_num_area .small_txt {
  position: absolute;
  top: 65%;
  left: 65%;
  transform: translate(-65%, -65%);
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
}
.rank_list.rank11-25 .area_left .title_area .rank11,
.rank_list.rank11-25 .area_right .title_area .rank11 {
  background-image: url("../images/ranking/rank_trophy_21.svg");
}
.rank_list.rank11-25 .area_left .title_area .shikaku_title,
.rank_list.rank11-25 .area_right .title_area .shikaku_title {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  width: calc(100% - 110px);
  height: 70px;
  font-size: 1.4rem;
  font-weight: bold;
  color: #3268af;
}
.rank_list.rank11-25 .area_left .detail_area,
.rank_list.rank11-25 .area_right .detail_area {
  margin: 10px auto 15px auto;
  padding: 0;
  width: 100%;
}
.rank_list.rank11-25 .area_left .detail_area .shikaku_photo,
.rank_list.rank11-25 .area_right .detail_area .shikaku_photo {
  margin: 0 auto;
  padding: 0;
  width: calc(100% - 20px);
  height: 140px;
}
.rank_list.rank11-25 .area_left .detail_area .shikaku_photo > img,
.rank_list.rank11-25 .area_right .detail_area .shikaku_photo > img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.rank_list.rank11-25 .area_left .detail_area .txt_area,
.rank_list.rank11-25 .area_right .detail_area .txt_area {
  margin: 10px auto 0 auto;
  padding: 20px;
  width: calc(100% - 20px);
  background: #f7f6f6;
}
.rank_list.rank11-25 .area_left .detail_area .txt_area .summary,
.rank_list.rank11-25 .area_right .detail_area .txt_area .summary {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: bold;
  color: #ac8426;
  line-height: 1.6rem;
}
.rank_list.rank11-25 .area_left .detail_area .detail_link,
.rank_list.rank11-25 .area_right .detail_area .detail_link {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 100%;
}
.rank_list.rank11-25 .area_left .detail_area .detail_link > a,
.rank_list.rank11-25 .area_right .detail_area .detail_link > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  background: #2E7D9A;
  border-radius: 5px;
}
.rank_list.rank11-25 .area_left .detail_area .detail_link > a::after,
.rank_list.rank11-25 .area_right .detail_area .detail_link > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  display: inline-block;
  width: 15px;
  height: 15px;
  background-image: url("../images/ranking/detail_link_arrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (hover: hover) and (pointer: fine) {
  .rank_list.rank11-25 .area_left .detail_area .detail_link > a:hover,
  .rank_list.rank11-25 .area_right .detail_area .detail_link > a:hover {
    background: #20657e;
    transition: all 0.3s;
  }
}
.rank_list.rank11-25 .area_left .detail_link_sp,
.rank_list.rank11-25 .area_right .detail_link_sp {
  display: none;
}

/**---------------------------------------------------
* スマートフォン：人気資格ランキングTOP25
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #ranking_title_area .section_inner {
    width: 100%;
  }
  #ranking_title_area .section_inner .ranking_preface {
    padding: 20px;
    font-size: 0.9rem;
    line-height: 1.5rem;
    border-radius: 5px;
  }
  .ranking_afterwords {
    margin-top: 20px;
    padding: 20px;
    font-size: 0.9rem;
    line-height: 1.5rem;
    border-radius: 5px;
  }
  .rank_list {
    /* 1位〜10位 */
    /* 11位〜25位 */
  }
  .rank_list.rank1-10 .title_area {
    padding: 10px 20px;
  }
  .rank_list.rank1-10 .title_area .rank_num_area {
    width: 100%;
    height: 60px;
    background-position: center;
  }
  .rank_list.rank1-10 .title_area .rank_num_area .rank_num {
    top: 45%;
    left: 50%;
    transform: translate(-50%, -45%);
    font-size: 1.8rem;
  }
  .rank_list.rank1-10 .title_area .shikaku_title {
    margin: 10px auto 0 auto;
    width: 100%;
    height: auto;
    font-size: 1.2rem;
    justify-content: center;
  }
  .rank_list.rank1-10 .detail_area {
    margin: 15px auto 0 auto;
    flex-direction: column-reverse;
  }
  .rank_list.rank1-10 .detail_area .txt_area {
    margin: 0 auto;
    padding: 0 auto 10px auto;
    width: 96%;
  }
  .rank_list.rank1-10 .detail_area .txt_area .area_title {
    height: 35px;
    font-size: 0.9rem;
  }
  .rank_list.rank1-10 .detail_area .txt_area .area_title::before, .rank_list.rank1-10 .detail_area .txt_area .area_title::after {
    width: 45%;
  }
  .rank_list.rank1-10 .detail_area .txt_area .summary {
    margin-top: 10px;
    padding: 0 10px;
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  .rank_list.rank1-10 .detail_area .txt_area .area_afterwords {
    margin: 15px auto 5px auto;
    padding: 15px;
    width: calc(100% - 15px);
    font-size: 0.9rem;
  }
  .rank_list.rank1-10 .detail_area .photo_link_area {
    margin: 0 auto 10px auto;
    padding: 0;
    width: 96%;
  }
  .rank_list.rank1-10 .detail_area .photo_link_area .shikaku_photo {
    height: 160px;
  }
  .rank_list.rank1-10 .detail_area .photo_link_area .shikaku_photo > img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .rank_list.rank1-10 .detail_area .photo_link_area .detail_link {
    display: none;
  }
  .rank_list.rank11-25 .area_left,
  .rank_list.rank11-25 .area_right {
    width: 100%;
  }
  .rank_list.rank11-25 .area_left .title_area,
  .rank_list.rank11-25 .area_right .title_area {
    padding: 5px 10px 5px 0;
  }
  .rank_list.rank11-25 .area_left .title_area .rank_num_area,
  .rank_list.rank11-25 .area_right .title_area .rank_num_area {
    width: 70px;
    height: 50px;
  }
  .rank_list.rank11-25 .area_left .title_area .rank_num_area .rank_num,
  .rank_list.rank11-25 .area_right .title_area .rank_num_area .rank_num {
    font-size: 1.4rem;
  }
  .rank_list.rank11-25 .area_left .title_area .rank_num_area .small_txt,
  .rank_list.rank11-25 .area_right .title_area .rank_num_area .small_txt {
    font-size: 0.9rem;
  }
  .rank_list.rank11-25 .area_left .title_area .shikaku_title,
  .rank_list.rank11-25 .area_right .title_area .shikaku_title {
    width: calc(100% - 80px);
    height: 50px;
    font-size: 1.2rem;
  }
  .rank_list.rank11-25 .area_left .detail_area,
  .rank_list.rank11-25 .area_right .detail_area {
    margin: 20px auto 10px auto;
    flex-direction: column-reverse;
  }
  .rank_list.rank11-25 .area_left .detail_area .shikaku_photo,
  .rank_list.rank11-25 .area_right .detail_area .shikaku_photo {
    margin: 0 auto 10px auto;
    padding: 0;
    height: 120px;
  }
  .rank_list.rank11-25 .area_left .detail_area .shikaku_photo > img,
  .rank_list.rank11-25 .area_right .detail_area .shikaku_photo > img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .rank_list.rank11-25 .area_left .detail_area .txt_area,
  .rank_list.rank11-25 .area_right .detail_area .txt_area {
    margin: 0 auto;
    padding: 15px 5px;
    width: 96%;
  }
  .rank_list.rank11-25 .area_left .detail_area .txt_area .summary,
  .rank_list.rank11-25 .area_right .detail_area .txt_area .summary {
    padding: 0 10px;
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  .rank_list.rank11-25 .area_left .detail_area .detail_link,
  .rank_list.rank11-25 .area_right .detail_area .detail_link {
    display: none;
  }
  .rank_list.rank1-10 .detail_link_sp, .rank_list.rank11-25 .area_left .detail_link_sp, .rank_list.rank11-25 .area_right .detail_link_sp {
    display: block;
    margin: 5px auto 10px auto;
    padding: 0;
    width: 92%;
  }
  .rank_list.rank1-10 .detail_link_sp > a, .rank_list.rank11-25 .area_left .detail_link_sp > a, .rank_list.rank11-25 .area_right .detail_link_sp > a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 45px;
    font-size: 1rem;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    background: #2E7D9A;
    border-radius: 5px;
  }
  .rank_list.rank1-10 .detail_link_sp > a::after, .rank_list.rank11-25 .area_left .detail_link_sp > a::after, .rank_list.rank11-25 .area_right .detail_link_sp > a::after {
    content: "\f138";
    position: absolute;
    top: 50%;
    right: 50px;
    transform: translateY(-50%);
  }
}
/**---------------------------------------------------
* 個人情報保護方針
*----------------------------------------------------*/
.privacy_preface {
  margin: 0 auto;
  padding: 20px 30px;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
  background: #fff;
  border-radius: 5px;
}

.privacy_list {
  margin: 30px auto 0 auto;
  padding: 30px 40px;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
  background: #fff;
  border-radius: 5px;
}
.privacy_list .list_title {
  position: relative;
  margin: 0;
  padding: 0 0 0 25px;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #222;
}
.privacy_list .list_title:not(:first-of-type) {
  margin-top: 20px;
}
.privacy_list .list_title::before {
  content: attr(data-num);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 1.1rem;
  font-weight: 500;
}
.privacy_list .list_body {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 95%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
}
.privacy_list .list_body .inner_list {
  margin: 10px auto 0 auto;
  padding: 0;
  width: 100%;
}
.privacy_list .list_body .inner_list .inner_list_body {
  position: relative;
  margin: 0 auto;
  padding: 0 0 0 25px;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.6rem;
}
.privacy_list .list_body .inner_list .inner_list_body:not(:first-of-type) {
  margin-top: 5px;
}
.privacy_list .list_body .inner_list .inner_list_body::before {
  content: attr(data-txt);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 1rem;
}

/**---------------------------------------------------
* スマートフォン：個人情報保護方針
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .privacy_preface {
    padding: 10px 15px;
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  .privacy_list {
    margin-top: 20px;
    padding: 15px 20px;
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  .privacy_list .list_title {
    font-size: 1rem;
  }
  .privacy_list .list_title::before {
    font-size: 1rem;
  }
  .privacy_list .list_body {
    width: 100%;
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  .privacy_list .list_body .inner_list .inner_list_body {
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  .privacy_list .list_body .inner_list .inner_list_body::before {
    font-size: 0.9rem;
  }
}
/**---------------------------------------------------
* 特定商取引法に基づく表記
*----------------------------------------------------*/
.law_tbl {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border-top: 1px solid #ddd;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.law_tbl .tbl_title {
  margin: 0;
  padding: 15px 0;
  width: 20%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #222;
  background: #efefef;
  border-bottom: 1px solid #ddd;
}
.law_tbl .tbl_body {
  margin: 0;
  padding: 15px 20px;
  width: 80%;
  font-size: 0.9rem;
  color: #222;
  line-height: 1.5rem;
  border-bottom: 1px solid #ddd;
}
.law_tbl .tbl_body > a {
  color: #1f3ab2;
  text-decoration: underline;
}

.law_comment {
  margin: 30px auto 0 auto;
  padding: 20px 30px;
  width: 100%;
  background: #fff;
  border-radius: 5px;
}
.law_comment .comment_title {
  margin: 0 0 5px 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #222;
}
.law_comment .comment_body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #222;
  line-height: 1.5rem;
}
.law_comment .comment_body .law_date {
  display: block;
  margin: 5px 0 0 0;
  padding: 0;
  width: 100%;
  text-align: right;
}

/**---------------------------------------------------
* スマートフォン：特定商取引法に基づく表記
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .law_tbl .tbl_title {
    display: block;
    padding: 8px 10px;
    width: 100%;
  }
  .law_tbl .tbl_body {
    display: block;
    padding: 10px 15px;
    width: 100%;
  }
  .law_comment {
    margin-top: 20px;
    padding: 15px 20px;
  }
}
/**---------------------------------------------------
* 著作権・商標権・免責事項について
*----------------------------------------------------*/
.copyright_body {
  margin: 0 auto;
  padding: 30px 40px;
  width: 100%;
  background: #fff;
  border-radius: 5px;
}
.copyright_body .copyright_title {
  margin: 0 0 10px 0;
  padding: 0 0 0 15px;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 700;
  color: #000;
  border-left: 5px solid #108C67;
}
.copyright_body .copyright_title:not(:first-of-type) {
  margin-top: 30px;
}
.copyright_body .copyright_txt {
  margin: 0 auto;
  padding: 0;
  width: 95%;
  font-size: 0.9rem;
  color: #222;
  line-height: 1.5rem;
}

/**---------------------------------------------------
* スマートフォン：著作権・商標権・免責事項について
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .copyright_body {
    padding: 20px;
  }
  .copyright_body .copyright_txt {
    width: 100%;
  }
}
/**---------------------------------------------------
* 認定校制度
*----------------------------------------------------*/
.certificate_preface {
  margin: 0 auto;
  padding: 20px 30px;
  width: 100%;
  font-size: 1rem;
  color: #222;
  text-align: center;
  line-height: 1.6rem;
  background: #fff;
  border-radius: 5px;
}
.certificate_preface .jaamp_criteria {
  margin: 20px auto 0 auto;
  padding: 30px;
  width: 100%;
  background: #f2f2f2;
  border-radius: 5px;
}
.certificate_preface .jaamp_criteria .criteria_title {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #108C67;
}
.certificate_preface .jaamp_criteria .criteria_txt {
  position: relative;
  margin: 0 auto;
  padding: 0 0 0 25px;
  width: 80%;
  font-size: 0.9rem;
  color: #222;
  text-align: left;
}
.certificate_preface .jaamp_criteria .criteria_txt:first-of-type {
  margin-top: 20px;
}
.certificate_preface .jaamp_criteria .criteria_txt::before {
  content: attr(data-num);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 0.9rem;
  font-weight: 500;
}

.criteria_msg {
  margin: 30px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #108C67;
  text-align: center;
}

.criteria_form_area {
  margin: 30px auto 0 auto;
  padding: 30px 40px;
  width: 100%;
  background: #fff;
  border-radius: 5px;
}
.criteria_form_area .criteria_tbl {
  margin: 0 auto;
  padding: 0;
  width: 90%;
}
.criteria_form_area .criteria_tbl .form_title {
  position: relative;
  margin: 0;
  padding: 15px 20px;
  width: 30%;
  font-size: 0.9rem;
  font-weight: 500;
  color: #222;
  text-align: left;
  background: #efefef;
  border-bottom: 1px solid #ddd;
}
.criteria_form_area .criteria_tbl .form_title.required::after {
  content: "必須";
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  margin: 0;
  padding: 2px 8px;
  font-size: 0.7rem;
  color: #fff;
  background: #b11d1d;
  border-radius: 4px;
}
.criteria_form_area .criteria_tbl .form_input {
  margin: 0;
  padding: 15px 20px;
  width: 70%;
  font-size: 16px;
  color: #222;
  border-bottom: 1px solid #ddd;
}
.criteria_form_area .criteria_tbl .form_input .wpcf7-text,
.criteria_form_area .criteria_tbl .form_input .wpcf7-select {
  padding: 4px 6px;
  font-size: 16px;
  border: 1px solid #999;
  border-radius: 5px;
}
.criteria_form_area .criteria_tbl .form_input .wpcf7-text.sizeS,
.criteria_form_area .criteria_tbl .form_input .wpcf7-select.sizeS {
  width: 30%;
}
.criteria_form_area .criteria_tbl .form_input .wpcf7-text.sizeM,
.criteria_form_area .criteria_tbl .form_input .wpcf7-select.sizeM {
  width: 50%;
}
.criteria_form_area .criteria_tbl .form_input .wpcf7-text.sizeL,
.criteria_form_area .criteria_tbl .form_input .wpcf7-select.sizeL {
  width: 100%;
}
.criteria_form_area .criteria_tbl .form_input .wpcf7-textarea {
  width: 100%;
}
.criteria_form_area .submit_btn {
  width: 300px;
  height: 50px;
  background: none;
}
.criteria_form_area .submit_btn .btn_submit {
  margin: 0;
  padding: 0;
  width: 300px;
  height: 50px;
  border: none;
  background: #108C67;
  transition: all 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .criteria_form_area .submit_btn .btn_submit:hover {
    background: #1b5f39;
  }
}

/**---------------------------------------------------
* スマートフォン：認定校制度
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .certificate_preface {
    padding: 20px 10px;
    font-size: 0.9rem;
    line-height: 1.5rem;
  }
  .certificate_preface .jaamp_criteria {
    padding: 15px;
  }
  .certificate_preface .jaamp_criteria .criteria_title {
    font-size: 1rem;
  }
  .certificate_preface .jaamp_criteria .criteria_txt {
    width: 100%;
    font-size: 0.85rem;
  }
  .certificate_preface .jaamp_criteria .criteria_txt:first-of-type {
    margin-top: 10px;
  }
  .certificate_preface .jaamp_criteria .criteria_txt::before {
    top: 0;
    transform: translateY(0);
  }
  .criteria_msg {
    margin-top: 20px;
    font-size: 1rem;
  }
  .criteria_form_area {
    margin-top: 20px;
    padding: 15px 10px;
  }
  .criteria_form_area .criteria_tbl {
    width: 100%;
  }
  .criteria_form_area .criteria_tbl .form_title {
    display: block;
    width: 100%;
    padding: 8px 20px;
    border-bottom: none;
  }
  .criteria_form_area .criteria_tbl .form_input {
    display: block;
    width: 100%;
    padding: 20px 5px;
    border-bottom: none;
  }
  .criteria_form_area .criteria_tbl .form_input .wpcf7-text.sizeS, .criteria_form_area .criteria_tbl .form_input .wpcf7-text.sizeM, .criteria_form_area .criteria_tbl .form_input .wpcf7-text.sizeL,
  .criteria_form_area .criteria_tbl .form_input .wpcf7-select.sizeS,
  .criteria_form_area .criteria_tbl .form_input .wpcf7-select.sizeM,
  .criteria_form_area .criteria_tbl .form_input .wpcf7-select.sizeL {
    width: 100%;
  }
}
/**---------------------------------------------------
* 共通要素
*----------------------------------------------------*/
/*--------------------------
* サブミットボタン
*-------------------------*/
.submit_btn {
  margin-left: auto;
  margin-right: auto;
  width: 50%;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #fff;
  border: none;
  background: #108C67;
  border-radius: 5px;
}
.submit_btn .btn {
  width: 100%;
  height: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  border: none;
  background: none;
}
.submit_btn .btn::after {
  background: #a90a0a;
}
@media screen and (max-width: 480px) {
  .submit_btn {
    width: 100%;
    height: 40px;
  }
  .submit_btn .btn {
    font-size: 0.9rem;
  }
}

/*--------------------------
* リンクボタン
*-------------------------*/
.page_link_btn {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  height: 50px;
  background: #108C67;
  border-radius: 5px;
}
.page_link_btn.wd_40 {
  width: 40%;
}
.page_link_btn.wd_60 {
  width: 60%;
}
.page_link_btn.wd_80 {
  width: 80%;
}
.page_link_btn > a {
  width: 100%;
  height: 100%;
  font-size: 1rem;
  font-weight: 500;
  border: none;
  background: none;
}
.page_link_btn > a::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  font-weight: 700;
}
.page_link_btn > a::after {
  background: #a90a0a;
}
@media screen and (max-width: 480px) {
  .page_link_btn {
    width: 100%;
    height: auto;
  }
  .page_link_btn.wd_40, .page_link_btn.wd_60, .page_link_btn.wd_80 {
    width: 100%;
  }
  .page_link_btn > a {
    padding: 8px 40px 8px 15px;
    font-size: 0.9rem;
  }
}

/**---------------------------------------------------
* 合否結果照会
*----------------------------------------------------*/
.result_form_area {
  margin: 40px auto 0 auto;
  padding: 30px;
  width: 70%;
  background: #faeddb;
  border-radius: 10px;
}
.result_form_area .result_form {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.result_form_area .result_form > dt {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 10px;
  width: 20%;
  font-size: 1rem;
  font-weight: 500;
  color: #754b11;
  text-align: right;
  background: #f0c07d;
}
.result_form_area .result_form > dd {
  margin: 0;
  padding: 10px 15px;
  width: 80%;
  background: #fbf6ee;
}
.result_form_area .result_form > dd .input_notice {
  display: block;
  margin: 0 0 3px 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #E21616;
}
.result_form_area .result_form > dd #exam_number {
  margin: 0;
  padding: 4px 8px;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  border: 1px solid #ccc;
  border-radius: 5px;
}
@media (prefers-color-scheme: dark) {
  .result_form_area .result_form > dd #exam_number {
    background: #fff;
    color: #000;
  }
}
@media screen and (max-width: 480px) {
  .result_form_area {
    padding: 15px;
    width: 100%;
  }
  .result_form_area .result_form > dt {
    padding: 5px 0;
    width: 100%;
  }
  .result_form_area .result_form > dd {
    width: 100%;
  }
}

/**---------------------------------------------------
* 合否結果：合格
*----------------------------------------------------*/
.result_pass_area {
  margin: 0 auto;
  padding: 30px;
  width: 100%;
  background: #fffdeb;
  border: 10px solid #fff;
  border-radius: 10px;
}
.result_pass_area .pass_mark {
  margin: 0 auto;
  width: 100%;
  text-align: center;
}
.result_pass_area .pass_mark > img {
  margin: 0 auto;
}
.result_pass_area .pass_msg {
  margin: 30px auto 0 auto;
  padding: 30px;
  width: 100%;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 2rem;
  background: #f9eece;
  border-radius: 10px;
}
@media screen and (max-width: 480px) {
  .result_pass_area {
    padding: 15px 10px;
  }
  .result_pass_area .pass_msg {
    margin-top: 20px;
    padding: 15px;
  }
}

.cert_order_msg {
  margin: 40px auto 0 auto;
  padding: 20px;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #108C67;
  text-align: center;
  line-height: 2rem;
  background: #fff;
  border: 2px solid #108C67;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .cert_order_msg {
    margin-top: 30px;
    padding: 10px;
    font-size: 0.9rem;
    line-height: 1.6rem;
  }
}

.cert_type_title {
  position: relative;
  display: flex;
  align-items: center;
  margin: 30px auto 0 auto;
  padding: 0 20px 0 40px;
  width: 100%;
  height: 50px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  background: #108C67;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.cert_type_title::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 20px;
  width: 5px;
  height: 30px;
  background: #fff;
}

.cert_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 30px;
  width: 100%;
  background: #fff;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.cert_area .cert_img {
  margin: 0;
  padding: 0;
  width: 40%;
}
.cert_area .cert_txt_area {
  margin: 0;
  padding: 0;
  width: 57%;
}
.cert_area .cert_txt_area .cert_txt {
  margin: 0;
  padding: 20px;
  width: 100%;
  font-size: 1rem;
  color: #000;
  line-height: 1.6rem;
  background: #F9F9F9;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .cert_area {
    padding: 15px;
  }
  .cert_area .cert_img {
    width: 100%;
  }
  .cert_area .cert_txt_area {
    margin-top: 10px;
    width: 100%;
  }
  .cert_area .cert_txt_area .cert_txt {
    padding: 15px;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
}

/**---------------------------------------------------
* 合否結果：不合格
*----------------------------------------------------*/
.result_fail_area {
  margin: 0 auto;
  padding: 30px;
  width: 100%;
  background: #f0f0f0;
  border-radius: 10px;
}
.result_fail_area .fail_msg {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  text-align: center;
  line-height: 2rem;
}
@media screen and (max-width: 480px) {
  .result_fail_area {
    padding: 15px;
  }
}

/**---------------------------------------------------
* 合否結果：エラー
*----------------------------------------------------*/
.result_error_area {
  margin: 0 auto;
  padding: 30px;
  width: 100%;
  background: #f0f0f0;
  border-radius: 10px;
}
.result_error_area .error_msg {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #000;
  text-align: center;
  line-height: 1.6rem;
}
@media screen and (max-width: 480px) {
  .result_error_area {
    padding: 15px;
  }
}

/**---------------------------------------------------
* 受験申込み・合格認定証発行
*----------------------------------------------------*/
/*----------------------------------
* 資格リスト
*---------------------------------*/
.exam_name_list {
  margin: 30px auto 0 auto;
  padding: 0;
  width: 100%;
}
.exam_name_list .cat_title {
  position: relative;
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 20px 0 50px;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background: #108C67;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.exam_name_list .cat_title::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 30px;
  width: 5px;
  height: 22px;
  background: #fff;
}
.exam_name_list .list_contents {
  margin: 0 auto;
  padding: 20px 30px;
  width: 100%;
  background: #F9F9F9;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.exam_name_list .order_exam_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.exam_name_list .order_exam_list .exam_list,
.exam_name_list .order_exam_list .cert_list {
  margin: 0 0 10px 0;
  padding: 0;
  width: 48%;
  letter-spacing: 0.1rem;
}
.exam_name_list .order_exam_list .exam_list > input[type=checkbox],
.exam_name_list .order_exam_list .cert_list > input[type=checkbox] {
  display: none;
  position: relative;
}
.exam_name_list .order_exam_list .exam_list .checklabel,
.exam_name_list .order_exam_list .cert_list .checklabel {
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
  color: #000;
}
.exam_name_list .order_exam_list .exam_list .checklabel::before,
.exam_name_list .order_exam_list .cert_list .checklabel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
}
.exam_name_list .order_exam_list .exam_list .checklabel::after,
.exam_name_list .order_exam_list .cert_list .checklabel::after {
  content: "";
  position: absolute;
  top: 55%;
  left: 12px;
  display: block;
  margin-top: -16px;
  width: 9px;
  height: 20px;
  border-right: 6px solid #cc2200;
  border-bottom: 3px solid #cc2200;
  transform: rotate(45deg);
  opacity: 0;
}
.exam_name_list .order_exam_list .exam_list > input[type=checkbox]:checked + .checklabel::before,
.exam_name_list .order_exam_list .cert_list > input[type=checkbox]:checked + .checklabel::before {
  border-color: #666;
}
.exam_name_list .order_exam_list .exam_list > input[type=checkbox]:checked + .checklabel::after,
.exam_name_list .order_exam_list .cert_list > input[type=checkbox]:checked + .checklabel::after {
  opacity: 1;
}

/*----------------------------------
* 認定証リスト
*---------------------------------*/
.order_cert_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px auto 0 auto;
  padding: 20px;
  width: 100%;
  background: #F9F9F9;
  border-radius: 10px;
}
.order_cert_list .cert_list {
  margin: 0 0 10px 0;
  padding: 0;
  width: 48%;
  letter-spacing: 0.1rem;
}
.order_cert_list .cert_list > input[type=checkbox] {
  display: none;
  position: relative;
}
.order_cert_list .cert_list .checklabel {
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}
@media (prefers-color-scheme: dark) {
  .order_cert_list .cert_list .checklabel {
    color: #000;
  }
}
.order_cert_list .cert_list .checklabel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 5px;
  display: block;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 3px;
}
.order_cert_list .cert_list .checklabel::after {
  content: "";
  position: absolute;
  top: 55%;
  left: 12px;
  display: block;
  margin-top: -16px;
  width: 9px;
  height: 20px;
  border-right: 6px solid #cc2200;
  border-bottom: 3px solid #cc2200;
  transform: rotate(45deg);
  opacity: 0;
}
.order_cert_list .cert_list .checklabel .sub_txt {
  font-size: 0.9rem;
}
.order_cert_list .cert_list > input[type=checkbox]:checked + .checklabel::before {
  border-color: #666;
}
.order_cert_list .cert_list > input[type=checkbox]:checked + .checklabel::after {
  opacity: 1;
}

.order_msg .msg_area {
  display: block;
  margin: 20px auto 0 auto;
  padding: 8px;
  width: 94%;
  height: 140px;
}

.push_btn_notice {
  margin: 20px auto 0 auto;
  padding: 20px;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #be2828;
  text-align: center;
}

.cert_notice {
  margin: 20px auto 0 auto;
  padding: 30px;
  width: 100%;
  background: #ededed;
  border-radius: 10px;
}
.cert_notice .notice_title {
  margin: 0 0 8px 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #222;
}
.cert_notice .notice_title:last-of-type {
  margin-top: 10px;
}
.cert_notice .notice_txt {
  margin: 0 auto;
  padding: 0;
  width: 96%;
  font-size: 0.9rem;
  color: #222;
  line-height: 1.6rem;
}

.submit_btn {
  margin-top: 40px;
}

/*----------------------------------
* 確認画面
*---------------------------------*/
#confirm-form #view_exam {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 90%;
}
#confirm-form #view_exam > li {
  position: relative;
  margin: 0 0 8px 0;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
  color: #d75d0b;
}
#confirm-form #view_exam > li:last-of-type {
  margin-bottom: 0;
}
#confirm-form #view_exam > li::before {
  content: "\f138";
  margin-right: 8px;
  font-weight: 700;
}
#confirm-form .select_info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#confirm-form .select_info .exam_info,
#confirm-form .select_info .cert_info {
  margin: 0;
  padding: 10px 10px 20px 10px;
  width: 49%;
}
#confirm-form .select_info #view_cert {
  margin: 20px auto 0 auto;
  padding: 0;
  width: 90%;
}
#confirm-form .select_info #view_cert > li {
  position: relative;
  margin: 0 0 8px 0;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
  color: #2f7e51;
}
#confirm-form .select_info #view_cert > li:last-of-type {
  margin-bottom: 0;
}
#confirm-form .select_info #view_cert > li::before {
  content: "\f138";
  margin-right: 8px;
  font-weight: 700;
}
#confirm-form .personal_info {
  margin-top: 20px;
}
#confirm-form .btn_area {
  position: relative;
  margin: 60px auto 0 auto;
  padding: 0;
  width: 100%;
}
#confirm-form .btn_area .submit_btn {
  margin: 0 auto;
  padding: 0;
  width: 50%;
  height: 60px;
}
#confirm-form .btn_area .back_btn {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  margin: 0;
  padding: 0;
  width: 12%;
}
#confirm-form .btn_area .back_btn .btn {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  color: #fff;
  background: #929292;
  border: none;
  border-radius: 5px;
}
@media (hover: hover) and (pointer: fine) {
  #confirm-form .btn_area .back_btn .btn:hover {
    background: #b0b0b0;
    transition: all 0.3s;
  }
}

/**---------------------------------------------------
* スマートフォン：受験申込み・合格認定証発行
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  .section_preface {
    width: 94%;
  }
  .personal_info,
  .exam_info,
  .cert_info,
  .order_msg {
    padding: 10px;
    border-radius: 5px;
  }
  .personal_info .info_title,
  .exam_info .info_title,
  .cert_info .info_title,
  .order_msg .info_title {
    padding: 7px 10px;
    font-size: 1rem;
  }
  .personal_info .exam_order_tbl {
    margin-top: 20px;
    width: 100%;
  }
  .personal_info .exam_order_tbl .in_name {
    display: block;
    width: 100%;
    padding: 8px 15px;
    font-size: 0.9rem;
    border-bottom: none;
  }
  .personal_info .exam_order_tbl .input_area {
    display: block;
    padding: 15px 10px;
    width: 100%;
  }
  .personal_info .exam_order_tbl .input_area:first-of-type {
    border-top: none;
  }
  .personal_info .exam_order_tbl .input_area .in_head {
    width: 34px;
    font-size: 0.9rem;
    text-align: left;
  }
  .personal_info .exam_order_tbl .input_area > input[type=text] {
    font-size: 16px;
  }
  .personal_info .exam_order_tbl .input_area > input[type=text]:first-of-type {
    margin-bottom: 8px;
  }
  .personal_info .exam_order_tbl .input_area > input[type=text].sizeS {
    width: 30%;
  }
  .personal_info .exam_order_tbl .input_area > input[type=text].sizeM {
    width: 85%;
  }
  .personal_info .exam_order_tbl .input_area > input[type=text].sizeL {
    width: 100%;
  }
  .personal_info .exam_order_tbl .input_area > select {
    width: 100%;
  }
  .personal_info .exam_order_tbl .input_area .input_notice {
    font-size: 0.8rem;
  }
  /*----------------------------------
  * 資格リスト
  *---------------------------------*/
  .exam_name_list {
    margin-top: 20px;
    width: 100%;
  }
  .exam_name_list .cat_title {
    padding: 0 10px 0 30px;
    font-size: 0.9rem;
  }
  .exam_name_list .cat_title::before {
    left: 15px;
  }
  .exam_name_list .list_contents {
    padding: 15px 10px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  .exam_name_list .list_contents .order_exam_list .exam_list {
    margin-bottom: 6px;
    width: 100%;
  }
  .exam_name_list .list_contents .order_exam_list .exam_list > input[type=checkbox] {
    display: none;
    position: relative;
  }
  .exam_name_list .list_contents .order_exam_list .exam_list .checklabel {
    padding: 5px 10px 5px 30px;
    font-size: 0.9rem;
  }
  /*----------------------------------
  * 認定証リスト
  *---------------------------------*/
  .order_cert_list {
    margin-top: 20px;
    padding: 10px;
    width: 100%;
    border-radius: 5px;
  }
  .order_cert_list .cert_list {
    margin-bottom: 6px;
    width: 100%;
  }
  .order_cert_list .cert_list > input[type=checkbox] {
    display: none;
    position: relative;
  }
  .order_cert_list .cert_list .checklabel {
    padding: 5px 10px 5px 30px;
    font-size: 0.9rem;
    font-weight: 500;
  }
  .order_cert_list .cert_list .checklabel .sub_txt {
    font-size: 0.8rem;
    font-weight: 400;
  }
  .order_msg .msg_area {
    font-size: 16px;
  }
  .push_btn_notice {
    margin-top: 10px;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
  .cert_notice {
    margin-top: 10px;
    padding: 15px;
    border-radius: 5px;
  }
  /*----------------------------------------------
  * 確認画面
  *---------------------------------------------*/
  #confirm-form .exam_info {
    margin-top: 0;
  }
  #confirm-form .exam_info #view_exam {
    margin-top: 10px;
    padding: 6px 0;
  }
  #confirm-form .exam_info #view_exam > li {
    margin-bottom: 6px;
    font-size: 0.9rem;
  }
  #confirm-form .select_info .exam_info,
  #confirm-form .select_info .cert_info {
    padding: 10px;
    width: 100%;
  }
  #confirm-form .select_info .cert_info {
    margin-top: 20px;
  }
  #confirm-form .select_info #view_cert {
    margin-top: 10px;
    padding: 6px 0;
  }
  #confirm-form .select_info #view_cert > li {
    margin-bottom: 6px;
    font-size: 0.9rem;
  }
  #confirm-form .personal_info {
    margin-top: 20px;
  }
  #confirm-form .order_msg > p {
    margin: 10px auto;
    padding: 0;
    width: 100%;
    font-size: 0.9rem;
    color: #000;
    line-height: 1.4rem;
  }
  #confirm-form .btn_area {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 30px;
  }
  #confirm-form .btn_area .submit_btn {
    margin: 0 auto;
    padding: 0;
    width: 70%;
  }
  #confirm-form .btn_area .back_btn {
    position: static;
    margin: 40px auto 0 auto;
    padding: 0;
    width: 30%;
    height: 30px;
  }
  #confirm-form .btn_area .back_btn .btn {
    height: 100%;
    font-size: 0.8rem;
  }
}
/**---------------------------------------------------
* 受験申込み完了
*----------------------------------------------------*/
.exam_order_complete_msg,
.cert_order_complete_msg,
.contact_complete_msg {
  margin: 30px auto 0 auto;
  padding: 30px;
  width: 70%;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  text-align: center;
  line-height: 1.8rem;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 480px) {
  .exam_order_complete_msg,
  .cert_order_complete_msg,
  .contact_complete_msg {
    margin-top: 20px;
    width: 100%;
    font-size: 0.9rem;
  }
}

/**---------------------------------------------------
* お問い合わせ
*----------------------------------------------------*/
@media (prefers-color-scheme: dark) {
  #contact input,
  #contact select,
  #contact textarea {
    color: #000;
    background: #fff;
    border: 1px solid #999;
  }
}
#contact .input_form,
#contact .confirm_form {
  margin: 0 auto;
  padding: 30px;
  width: 100%;
  background: #fff;
  border-radius: 10px;
}
#contact .input_form .contact_tbl,
#contact .confirm_form .contact_tbl {
  margin: 0 auto;
  padding: 0;
  width: 94%;
  border-collapse: collapse;
}
#contact .input_form .contact_tbl .in_name,
#contact .confirm_form .contact_tbl .in_name {
  position: relative;
  margin: 0;
  padding: 20px 0 20px 30px;
  width: 30%;
  font-size: 1rem;
  font-weight: 500;
  color: #644000;
  text-align: left;
  background: #FBF1E2;
  border-bottom: 5px solid #fff;
}
#contact .input_form .contact_tbl .in_name.required::after,
#contact .confirm_form .contact_tbl .in_name.required::after {
  content: "必須";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  margin: 0;
  padding: 3px 10px;
  font-size: 0.7rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  background: #D21717;
  border-radius: 4px;
}
#contact .input_form .contact_tbl .input_area,
#contact .confirm_form .contact_tbl .input_area {
  margin: 0;
  padding: 20px;
  width: 70%;
  border-bottom: 1px solid #f0f0f0;
}
@media (prefers-color-scheme: dark) {
  #contact .input_form .contact_tbl .input_area,
  #contact .confirm_form .contact_tbl .input_area {
    color: #000;
  }
}
#contact .input_form .contact_tbl .input_area:first-of-type,
#contact .confirm_form .contact_tbl .input_area:first-of-type {
  border-top: 1px solid #f0f0f0;
}
#contact .input_form .contact_tbl .input_area .in_head,
#contact .confirm_form .contact_tbl .input_area .in_head {
  display: inline-block;
  margin: 0 8px 0 0;
  padding: 0;
  font-size: 1rem;
  color: #000;
}
#contact .input_form .contact_tbl .input_area > input[type=text], #contact .input_form .contact_tbl .input_area > input[type=number],
#contact .confirm_form .contact_tbl .input_area > input[type=text],
#contact .confirm_form .contact_tbl .input_area > input[type=number] {
  padding: 5px 8px;
  font-size: 1rem;
  border: 1px solid #979797;
  border-radius: 5px;
}
#contact .input_form .contact_tbl .input_area > input[type=text].sizeS, #contact .input_form .contact_tbl .input_area > input[type=number].sizeS,
#contact .confirm_form .contact_tbl .input_area > input[type=text].sizeS,
#contact .confirm_form .contact_tbl .input_area > input[type=number].sizeS {
  width: 20%;
}
#contact .input_form .contact_tbl .input_area > input[type=text].sizeM, #contact .input_form .contact_tbl .input_area > input[type=number].sizeM,
#contact .confirm_form .contact_tbl .input_area > input[type=text].sizeM,
#contact .confirm_form .contact_tbl .input_area > input[type=number].sizeM {
  width: 30%;
}
#contact .input_form .contact_tbl .input_area > input[type=text].sizeL, #contact .input_form .contact_tbl .input_area > input[type=number].sizeL,
#contact .confirm_form .contact_tbl .input_area > input[type=text].sizeL,
#contact .confirm_form .contact_tbl .input_area > input[type=number].sizeL {
  width: 100%;
}
#contact .input_form .contact_tbl .input_area > input[type=number],
#contact .confirm_form .contact_tbl .input_area > input[type=number] {
  -moz-appearance: textfield;
}
#contact .input_form .contact_tbl .input_area > input[type=number]::-webkit-outer-spin-button, #contact .input_form .contact_tbl .input_area > input[type=number]::-webkit-inner-spin-button,
#contact .confirm_form .contact_tbl .input_area > input[type=number]::-webkit-outer-spin-button,
#contact .confirm_form .contact_tbl .input_area > input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#contact .input_form .contact_tbl .input_area > select,
#contact .confirm_form .contact_tbl .input_area > select {
  padding: 5px 8px;
  border-radius: 5px;
}
#contact .input_form .contact_tbl .input_area .input_notice,
#contact .confirm_form .contact_tbl .input_area .input_notice {
  margin: 0 0 5px 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #aa4521;
}
#contact .input_form .contact_tbl .input_area .body_area,
#contact .confirm_form .contact_tbl .input_area .body_area {
  display: block;
  margin: 20px auto 0 auto;
  padding: 8px;
  width: 100%;
  height: 140px;
}
#contact .input_form .btn_area,
#contact .confirm_form .btn_area {
  position: relative;
  margin: 60px auto 0 auto;
  padding: 0;
  width: 94%;
}
#contact .input_form .btn_area .submit_btn,
#contact .confirm_form .btn_area .submit_btn {
  margin: 0 auto;
  padding: 0;
  width: 50%;
  height: 60px;
}
#contact .input_form .btn_area .back_btn,
#contact .confirm_form .btn_area .back_btn {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  margin: 0;
  padding: 0;
  width: 12%;
}
#contact .input_form .btn_area .back_btn .btn,
#contact .confirm_form .btn_area .back_btn .btn {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  color: #fff;
  background: #929292;
  border: none;
  border-radius: 5px;
}
@media (hover: hover) and (pointer: fine) {
  #contact .input_form .btn_area .back_btn .btn:hover,
  #contact .confirm_form .btn_area .back_btn .btn:hover {
    background: #b0b0b0;
    transition: all 0.3s;
  }
}

/**---------------------------------------------------
* スマートフォン：お問い合わせ
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #contact .input_form,
  #contact .confirm_form {
    padding: 10px;
    border-radius: 5px;
  }
  #contact .input_form .contact_tbl,
  #contact .confirm_form .contact_tbl {
    width: 100%;
  }
  #contact .input_form .contact_tbl .in_name,
  #contact .confirm_form .contact_tbl .in_name {
    display: block;
    padding: 8px 15px;
    width: 100%;
    font-size: 0.9rem;
  }
  #contact .input_form .contact_tbl .in_name.required::after,
  #contact .confirm_form .contact_tbl .in_name.required::after {
    right: 3%;
  }
  #contact .input_form .contact_tbl .input_area,
  #contact .confirm_form .contact_tbl .input_area {
    display: block;
    padding: 15px 10px;
    width: 100%;
  }
  #contact .input_form .contact_tbl .input_area:first-of-type,
  #contact .confirm_form .contact_tbl .input_area:first-of-type {
    border-top: none;
  }
  #contact .input_form .contact_tbl .input_area .in_head,
  #contact .confirm_form .contact_tbl .input_area .in_head {
    font-size: 0.9rem;
  }
  #contact .input_form .contact_tbl .input_area > input[type=text], #contact .input_form .contact_tbl .input_area > input[type=number],
  #contact .confirm_form .contact_tbl .input_area > input[type=text],
  #contact .confirm_form .contact_tbl .input_area > input[type=number] {
    font-size: 16px;
  }
  #contact .input_form .contact_tbl .input_area > input[type=text].sizeS, #contact .input_form .contact_tbl .input_area > input[type=text].sizeM, #contact .input_form .contact_tbl .input_area > input[type=text].sizeL, #contact .input_form .contact_tbl .input_area > input[type=number].sizeS, #contact .input_form .contact_tbl .input_area > input[type=number].sizeM, #contact .input_form .contact_tbl .input_area > input[type=number].sizeL,
  #contact .confirm_form .contact_tbl .input_area > input[type=text].sizeS,
  #contact .confirm_form .contact_tbl .input_area > input[type=text].sizeM,
  #contact .confirm_form .contact_tbl .input_area > input[type=text].sizeL,
  #contact .confirm_form .contact_tbl .input_area > input[type=number].sizeS,
  #contact .confirm_form .contact_tbl .input_area > input[type=number].sizeM,
  #contact .confirm_form .contact_tbl .input_area > input[type=number].sizeL {
    width: 100%;
  }
  #contact .input_form .contact_tbl .input_area > input[type=number].sizeS,
  #contact .confirm_form .contact_tbl .input_area > input[type=number].sizeS {
    width: 92%;
  }
  #contact .input_form .contact_tbl .input_area > select,
  #contact .confirm_form .contact_tbl .input_area > select {
    font-size: 16px;
  }
  #contact .input_form .contact_tbl .input_area .body_area,
  #contact .confirm_form .contact_tbl .input_area .body_area {
    margin-top: 0;
    font-size: 16px;
  }
  #contact .input_form .btn_area,
  #contact .confirm_form .btn_area {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 30px;
  }
  #contact .input_form .btn_area .submit_btn,
  #contact .confirm_form .btn_area .submit_btn {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    height: 50px;
  }
  #contact .input_form .btn_area .back_btn,
  #contact .confirm_form .btn_area .back_btn {
    position: static;
    margin: 40px auto 0 auto;
    padding: 0;
    width: 30%;
    height: 30px;
  }
  #contact .input_form .btn_area .back_btn .btn,
  #contact .confirm_form .btn_area .back_btn .btn {
    height: 100%;
    font-size: 0.8rem;
  }
}

/* 20250210追加 */
.kouza_column_link {
	display: grid;
	grid-template-columns: 20% 1fr;
	margin: 16px auto;
	padding: 0;
	width: 100%;
}

@media screen and (max-width: 480px) {
	.kouza_column_link {
		display: block;
	}
}

.kouza_column_link .link_title {
	grid-column: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 4px 0 !important;
	width: 100%;
	font-size: 0.9rem;
	color: #fff;
	background: #4c9018;
}

@media screen and (max-width: 480px) {
	.kouza_column_link .link_title {
		width: 100%;
	}
}

.kouza_column_link .link_cont {
	grid-column: 2;
	margin: 0;
	padding: 4px 1em;
	width: 100%;
	background: #fff;
}

.kouza_column_link .link_cont > a {
	font-size: 0.9rem;
	color: #142772;
}

.kouza_column_link .link_cont > a:hover {
	color: #a71717;
	transition: all 0.3s ease;
}
/* 20250210追加ここまで */

/**
* 編集者ポリシー
*--------------------------------------------------*/
.contents_body {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.contents_body .section_title {
  margin: 0 auto;
  padding: 0 0 0.5em 0;
  width: 100%;
  font-size: 1.2rem;
  font-weight: bold;
  color: #222;
  border-bottom: 1px solid #666;
}

.contents_body .section_title:not(:first-child) {
  margin-top: 30px;
}

.contents_body .section_txt {
  display: inline-block;
  margin: 1em auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #333;
  line-height: 1.6rem;
}

.contents_body .contact_link {
  margin: 40px auto 0 auto;
  padding: 0;
  width: 100%;
  text-align: center;
}

.contents_body .contact_link > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 40%;
  height: 40px;
  font-size: 1rem;
  color: #fff;
  border-radius: 4px;
  background: #0e7254;
}

.contents_body .contact_link > a:hover {
  background: #15936d;
  transition: all .3s;
}

@media screen and (max-width: 480px) {
  .contents_body .section_title {
    font-size: 1rem;
  }
  .contents_body .section_txt {
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
  .contents_body .contact_link > a {
    width: 80%;
    font-size: 0.94rem;
  }
}

/**
* JAAMP論文集
*--------------------------------------------------*/
.thesis_contents {
  margin: 60px auto 0 auto;
  padding: 0;
  width: 100%;
}

@media screen and (max-width: 480px) {
  .thesis_contents {
    margin-top: 20px;
  }
}

.thesis_contents .thesis_section_title {
  margin: 0 auto;
  padding: 3px 0 5px 16px;
  width: 100%;
  font-size: 1.2rem;
  font-weight: bold;
  color: #105f47;
  border-left: 6px solid #1FA37B;
  border-bottom: 1px solid #1FA37B;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_section_title {
    font-size: 1rem;
  }
}

.thesis_contents .thesis_section_title:not(:first-child) {
  margin-top: 50px;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_section_title:not(:first-child) {
    margin-top: 40px;
  }
}

.thesis_contents .thesis_menu_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px auto 0 auto;
  padding: 0;
  width: 70%;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_menu_list {
    width: 100%;
  }
}

.thesis_contents .thesis_menu_list .list_contents {
  margin: 0;
  padding: 0;
  width: calc(96% / 3);
  height: 60px;
  background: #eafff8;
  border: 1px solid #1FA37B;
  border-radius: 5px;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_menu_list .list_contents {
    width: 100%;
    height: 40px;
  }

  .thesis_contents .thesis_menu_list .list_contents + .list_contents {
    margin-top: 8px;
  }
}

.thesis_contents .thesis_menu_list .list_contents > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 0,94rem;
  font-weight: bold;
  color: #0c503c;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_menu_list .list_contents > a {
    font-size: 0.9rem;
  }
}

.thesis_contents .thesis_menu_list .list_contents > a:hover {
  background: #5db898;
  color: #fff;
  transition: all .3s;
}

.thesis_contents .no_thesis_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 30px auto 0 auto;
  padding: 1.5em;
  width: 70%;
  height: 120px;
  font-size: 1rem;
  color: #666;
  background: #f0f0f0;
}

@media screen and (max-width: 480px) {
  .thesis_contents .no_thesis_txt {
    width: 90%;
    height: 80px;
    font-size: 0.9rem;
  }
}

.thesis_contents .thesis_list {
  margin: 30px auto 0 auto;
  padding: 0;
  width: 94%;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_list {
    margin-top: 20px;
  }
}

.thesis_contents .thesis_list .thesis_list_contents {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_list .thesis_list_contents {
    height: auto;
  }
}

.thesis_contents .thesis_list .thesis_list_contents + .thesis_list_contents {
  border-top: 1px solid #ddd;
}

.thesis_contents .thesis_list .thesis_list_contents .thesis_date {
  margin: 0;
  padding: 0;
  width: 12%;
  font-size: 0.94rem;
  font-weight: bold;
  color: #666;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_list .thesis_list_contents .thesis_date {
    margin-top: 6px;
    width: 100%;
    font-size: 0.9rem;
  }
}

.thesis_contents .thesis_list .thesis_list_contents .thesis_title {
  margin: 0;
  padding: 0;
  width: 88%;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_list .thesis_list_contents .thesis_title {
    padding-bottom: 8px;
    width: 100%;
  }
}

.thesis_contents .thesis_list .thesis_list_contents .thesis_title > a {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: 1rem;
  color: #0f6a4f;
  text-decoration: none;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_list .thesis_list_contents .thesis_title > a {
    font-size: 0.94rem;
  }
}

.thesis_contents .thesis_list .thesis_list_contents .thesis_title > a:hover {
  color: #ad3a3a;
  transition: all .3s;
}

/* 協会からのご挨拶 */
.thesis_contents .greeting_body {
  display: inline-block;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #222;
  line-height: 1.8rem;
}

/* 応募規定 */
/* 投稿方法 */
.thesis_contents .thesis_preface {
  margin: 0 auto 30px auto;
  padding: 1.2em;
  width: 100%;
  font-size: 0.94rem;
  color: #222;
  line-height: 1.8rem;
  background: #eee;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_preface {
    padding: 0.8em;
    font-size: 0.9rem;
    line-height: 1.6rem;
  }
}

.thesis_contents .thesis_preface.txt_center {
  text-align: center;
}


.thesis_contents .thesis_rules {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.thesis_contents .thesis_rules .rules_title,
.offer_title {
  margin: 0;
  padding: 0.4em 0.8em;
  width: 100%;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  border-left: 5px solid #1FA37B;
}

.thesis_contents .thesis_rules .rules_body,
.offer_body {
  margin: 20px auto;
  padding: 0;
  width: 96%;
  font-size: 1rem;
  color: #333;
  line-height: 1.6em;
}

/* 投稿フォーム */
.thesis_contents .thesis_form_tbl {
  margin: 0 auto;
  padding: 0;
  width: 80%;
  border-collapse: separate;
  border-spacing: 5px;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_form_tbl {
    width: 100%;
  }
}

.thesis_contents .thesis_form_tbl .tbl_head,
.thesis_contents .thesis_form_tbl .tbl_cont {
  padding: 1em 0.8em;
}


.thesis_contents .thesis_form_tbl .tbl_head {
  margin: 0;
  width: 24%;
  font-size: 1rem;
  font-weight: normal;
  color: #fff;
  background: #1FA37B;
}

.thesis_contents .thesis_form_tbl .tbl_cont {
  margin: 0;
  width: 76%;
  font-size: 1rem;
  background: #fff;
}

.thesis_contents .thesis_form_tbl .tbl_cont .notice {
  display: inline-block;
  margin: 0 0 5px 0;
  padding: 0;
  width: 100%;
  font-size: 0.84rem;
  /* color: #a71717; */
  color: #333;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_form_tbl .tbl_head,
  .thesis_contents .thesis_form_tbl .tbl_cont {
    display: block;
    padding: 0.5em;
    width: 100%;
    font-size: 0.9rem;
  }
  .thesis_contents .thesis_form_tbl .tbl_cont {
    padding: 1em 0.5em;
  }
}

.thesis_contents .thesis_form_tbl .tbl_cont input,
.thesis_contents .thesis_form_tbl .tbl_cont select {
  padding: 0.3em;
  font-size: 0.94rem;
  color: #222;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.thesis_contents .thesis_form_tbl .tbl_cont .sizeS {
  width: 16%;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_form_tbl .tbl_cont .sizeS {
    width: 30%;
  }
}

.thesis_contents .thesis_form_tbl .tbl_cont .sizeM {
  width: 50%;
}

.thesis_contents .thesis_form_tbl .tbl_cont .sizeL {
  width: 100%;
}

@media screen and (max-width: 480px) {
  .thesis_contents .thesis_form_tbl .tbl_cont .sizeM,
  .thesis_contents .thesis_form_tbl .tbl_cont .sizeL {
    width: 100%;
  }
}


.thesis_contents .action_btn_area {
  display: flex;
  justify-content: center;
  margin: 50px auto 0 auto;
  padding: 0;
  width: 100%;
}

@media screen and (max-width: 480px) {
  .thesis_contents .action_btn_area {
    margin-top: 30px;
  }
}

.thesis_contents .action_btn_area .action_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0 1.5em;
  width: 40%;
  height: 50px;
  font-size: 1.1rem;
  color: #fff;
  letter-spacing: 0.02em;
  border: none;
  border-radius: 5px;
  background: #108C67;
  cursor: pointer;
}

@media screen and (max-width: 480px) {
  .thesis_contents .action_btn_area .action_btn {
    width: 80%;
    height: 40px;
    font-size: 0.9rem;
  }
}

.thesis_contents .action_btn_area .action_btn:hover {
  background: #065b41;
  transition: all .3s;
}

.p-country-name {
  display: none;
}


/* 戻るボタン */
.back_thesis {
  margin: 60px auto 0 auto;
  padding: 0;
  width: 100%;
}

@media screen and (max-width: 480px) {
  .back_thesis {
    margin-top: 40px;
  }
}

.back_thesis > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 30%;
  height: 40px;
  font-size: 0.9rem;
  color: #fff;
  background: #1FA37B;
  border-radius: 4px;
}

@media screen and (max-width: 480px) {
  .back_thesis > a {
    width: 60%;
  }
}

.back_thesis > a:hover {
  background: #107355;
  transition: all .3s;
}

/**---------------------------------------------------
* 論文詳細ページ
*----------------------------------------------------*/
#thesis_detail .section_inner .thesis_title {
  position: relative;
  margin: 0 auto;
  padding: 20px 30px 20px 5%;
  width: 100%;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  line-height: 1.8rem;
  background: #108C67;
  border-radius: 5px;
}
#thesis_detail .section_inner .thesis_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3%;
  transform: translateY(-50%);
  width: 5px;
  height: 60%;
  background: #fff;
}
#thesis_detail .section_inner .thesis_post_date {
  margin: 5px auto 0 auto;
  padding: 0;
  width: 96%;
  font-size: 0.9rem;
  color: #222;
  text-align: right;
}

.thesis_contents .thesis_detail {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.thesis_contents .thesis_detail .detail_title {
  margin: 0;
  padding: 0.4em 0.8em;
  width: 100%;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}

.thesis_contents .thesis_detail .detail_title > a {
  color: #15377c;
}

.thesis_contents .thesis_detail .detail_title > a:hover {
  color: #a62020;
  text-decoration: underline;
  transition: all .3s;
}


.thesis_contents .thesis_detail .detail_title::before {
  content: '\f152';
  margin-right: 8px;
  color: #107355;
}


.thesis_contents .thesis_detail .detail_title + .detail_title {
  margin-top: 16px;
}


.thesis_contents .thesis_detail .detail_body {
  margin: 12px auto 0 auto;
  padding: 0.8em;
  width: 93%;
  font-size: 1rem;
  color: #333;
  line-height: 1.6em;
  background: #ececec;
}

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

/**---------------------------------------------------
* スマートフォン：論文詳細ページ
*----------------------------------------------------*/
@media screen and (max-width: 480px) {
  #thesis_detail .section_inner .thesis_title {
    padding: 10px 15px 10px 8%;
    font-size: 1rem;
    line-height: 1.3rem;
  }
  #thesis_detail .section_inner .thesis_title::before {
    height: 70%;
  }
  .thesis_contents .thesis_detail .detail_body {
    font-size: 0.9rem;
  }
}


/* その他の論文一覧 */
.other_thesis_list_area {
  margin: 60px auto 0 auto;
  padding: 0;
  width: 90%;
  border: 1px solid #ddd;
  border-radius: 5px;
}

@media screen and (max-width: 480px) {
  .other_thesis_list_area {
    width: 100%;
  }
}

.other_thesis_list_area .other_thesis_area_title {
  margin: 0 auto;
  padding: 0.8em 1em;
  width: 100%;
  font-size: 1rem;
  color: #333;
  background: #efefef;
}

@media screen and (max-width: 480px) {
  .other_thesis_list_area .other_thesis_area_title {
    padding: 0.5em 1em 0.7em 1em;
    font-size: 0.9rem;
  }
}

#thesis_detail .section_inner .other_thesis_list_area .no_thesis_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px auto;
  padding: 1.5em;
  width: 70%;
  height: 60px;
  font-size: 1rem;
  color: #666;
  line-height: 1.6rem;
  background: #f0f0f0;
}

@media screen and (max-width: 480px) {
  #thesis_detail .section_inner .other_thesis_list_area .no_thesis_txt{
    width: 94%;
    height: 40px;
    font-size: 0.9rem;
    line-height: 1.4rem;
  }
}

#thesis_detail .section_inner .other_thesis_list_area .other_thesis_list {
  margin: 0 auto;
  padding: 0;
  width: 94%;
}

@media screen and (max-width: 480px) {
  #thesis_detail .section_inner .other_thesis_list_area .other_thesis_list {
    margin-top: 8px;
  }
}

#thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
}

@media screen and (max-width: 480px) {
  #thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents {
    height: auto;
  }
}

#thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents + .other_thesis_list_contents {
  border-top: 1px solid #ddd;
}

#thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents .thesis_date {
  margin: 0;
  padding: 0;
  width: 12%;
  font-size: 0.9rem;
  font-weight: bold;
  color: #666;
}

@media screen and (max-width: 480px) {
  #thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents .thesis_date {
    /* margin-top: 6px; */
    width: 100%;
    font-size: 0.9rem;
  }
}

#thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents .thesis_list_title {
  margin: 0;
  padding: 0;
  width: 88%;
}

@media screen and (max-width: 480px) {
  #thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents .thesis_list_title {
    padding-bottom: 8px;
    width: 100%;
  }
}

#thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents .thesis_list_title > a {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
  color: #0f6a4f;
  text-decoration: none;
}

@media screen and (max-width: 480px) {
  #thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents .thesis_list_title > a {
    font-size: 0.9rem;
  }
}

#thesis_detail .section_inner .other_thesis_list_area .other_thesis_list_contents .thesis_list_title > a:hover {
  color: #ad3a3a;
  transition: all .3s;
}


/* 202506追記：コラム内四角エリア・講座サイトCTA */
.square_area {
  margin: 20px auto;
  padding: 1em;
  width: 94%;
  font-size: 1rem;
  line-height: 1.8rem;
  border: 1px solid #ccc;
  background: #fafafa;
}

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

  .square_area {
    width: 100%;
    font-size: 0.9rem;
    line-height: 1.6rem;
  }
}

/* 講座サイトCTA */
.cta_banner_kouza {
  margin: 16px auto 24px auto;
  padding: 1.3em 1.6em;
  width: 100%;
  background: #beedcb;
}

.cta_banner_kouza .area_title {
  margin: 0 auto;
  padding: 0.3em 0;
  width: 100%;
  font-size: 1.1rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  background: #5fa773;
}

.cta_banner_kouza .banner_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 16px auto 0 auto;
  padding: 0;
  width: 96%;
}

.cta_banner_kouza .banner_area .kouza_area {
  margin: 0;
  padding: 0;
  width: 48%;
  text-align: center;
  background: #fff;
}

.cta_banner_kouza .banner_area .kouza_area > a {
  display: inline-block;
  margin: 0;
  padding: 0.5em 0;
  width: 100%;
  font-size: 0.94rem;
  color: #0f476e;
  text-align: center;
  text-decoration: none;
}

.cta_banner_kouza .banner_area .kouza_area > a:hover {
  color: #fff;
  background: #de447a;
  transform: all .3s;
}


.cta_banner_kouza .banner_area .kouza_area .site_name {
  margin: 0;
  padding: 0.4em 0;
  width: 100%;
  font-size: 0.94rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.cta_banner_kouza .banner_area .kouza_area .site_name.sara {
  background: #cf6acf;
}

.cta_banner_kouza .banner_area .kouza_area .site_name.ryo {
  background: #2476b1;
}

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

  .cta_banner_kouza {
    padding: 0.6em;
  }

  .cta_banner_kouza .area_title {
    padding: 0.5em 0;
    font-size: 0.94rem;
  }

  .cta_banner_kouza .banner_area {
    display: block;
  }

  .cta_banner_kouza .banner_area .kouza_area {
    margin-bottom: 8px;
    width: 100%;
  }

}

/* 202506追記：コラム内四角エリア・講座サイトCTA ここまで */

/*# sourceMappingURL=style.css.map */