@charset "UTF-8";

/*
Theme Name: TECH-BASE MW
Theme URI:
Description:
Author: makesview, Tomoki Saito
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css?family=Noto+Sans:400,400i,700,700i&subset=cyrillic,cyrillic-ext,devanagari,greek,greek-ext,latin-ext,vietnamese');

html,
button,
input,
select,
textarea {
  font-family: 'Noto Sans JP', sans-serif;
}

@font-face {
  font-family: 'Anton';
  src: url('./fonts/Anton-Regular.ttf') format('truetype');
}

.f_anton {
  font-family: 'Anton';
  font-weight: normal;
}

body {
  color: #101010;
  font-size: 14px;
  line-height: 1.7;
  min-width: 1340px;
}

a[href$='.pdf'] {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  text-decoration: underline;
  color: #000;
  line-height: 1.5;
}

a[href$='.pdf']::before {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 30px;
  height: 38px;
  background-image: url(./image/icon/icon_pdf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin-right: 15px;
}

a[href$='.pdf']:hover {
  text-decoration: none;
}

.wrap {
  width: 1240px;
  margin: 0 auto;
}

.wrap_mini {
  width: 1140px;
  margin: 0 auto;
}

.wrap_big {
  width: 1340px;
  margin: 0 auto;
}

/* PCヘッダー */
#main_header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  /* height: 105px; */
  padding: 20px 0;
  background-color: #fff;
  z-index: 99999;
}

#main_header .fl_wrap {
  align-items: center;
}

#main_header .logo a {
  display: block;
  width: 300px;
}

#main_header .hd_cont ul {
  display: flex;
  align-items: center;
}

#main_header .hd_cont ul li + li {
  margin-left: 30px;
}

#main_header .hd_cont ul li .link {
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: 600;
  color: #000;
  display: block;
  white-space: nowrap;
  position: relative;
}

#main_header .hd_cont ul li .link::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  content: '';
  width: 0;
  height: 2px;
  background-color: #325fba;
  transition: 0.3s;
}

#main_header .hd_cont ul li .link:hover {
  color: #325fba;
}

#main_header .hd_cont ul li .link:hover::after {
  width: 100%;
}

#main_header .hd_cont ul li .btn {
  width: fit-content;
  height: 65px;
  font-weight: 600;
  color: #325fba;
  background: #ffe200;
  line-height: 1.5;
  letter-spacing: 0.05em;
  border: 2px solid;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0 20px;
  padding: 8px 20px;
  transition: 0.3s;
}

#main_header .hd_cont ul li .btn::after {
  content: '';
  width: 10px;
  height: 8px;
  background-color: #325fba;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}

#main_header .hd_cont ul li .btn:hover {
  opacity: 0.7;
}

/* PCメインビジュアル */
#top_mv {
  padding-top: 100px;
  background: url(./image/mainvisual_back.png) no-repeat;
  background-size: cover;
  background-position: center;
}

#top_mv .text_area {
  width: 525px;
  margin-left: 50px;
  color: #fff;
  font-weight: bold;
  margin-top: 30px;
}

#top_mv .mv_img {
  width: 710px;
}

#top_mv .text_area .sub_ttl {
  font-size: 20px;
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-underline-offset: 50%;
  text-decoration-thickness: 1px;
  margin-bottom: 30px;
}

#top_mv .text_area .catch .color {
  color: #ffe200;
}

#top_mv .text_area .sub_ttl .size {
  font-size: 28px;
}

#top_mv .text_area .sub_ttl .color {
  font-size: 28px;
  color: #58ecff;
}

#top_mv .text_area .catch {
  font-size: 51px;
  line-height: 1.4;
  margin-bottom: 0.7em;
}

#top_mv .text_area .point_box {
  align-items: flex-end;
  margin-bottom: 20px;
}

#top_mv .text_area .point_box .point {
  font-size: 22px;
  line-height: 1.3;
}

#top_mv .text_area .point_box .point .size {
  font-size: 88px;
  margin-right: 0.1em;
}

#top_mv .text_area .point_box .icon {
  width: 250px;
  background: url(./image/ribon.svg) no-repeat;
  background-size: contain;
  background-position: center;
  text-align: center;
  font-size: 16px;
  line-height: 1;
  margin-left: 93px;
}

#top_mv .text_area .point_box .icon .num {
  font-size: 40px;
  margin-right: 0.15em;
}

#top_mv .text_area .point_box .icon small {
  font-size: 14px;
  display: block;
}

#top_mv .text_area .text {
  font-size: 24px;
}

/* PC TOPお悩みセクション */
#top_worries_sec {
  padding: 120px 0;
}

#top_worries_sec .ttl_box .ttl {
  font-size: 40px;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1em;
}

#top_worries_sec .ttl_box .ttl .size {
  font-size: 56px;
  color: #325fba;
  position: relative;
}

#top_worries_sec .ttl_box .ttl .size:before {
  content: '';
  width: 123px;
  height: 123px;
  background-image: url(./image/icon_cloud.svg);
  position: absolute;
  left: 20px;
  top: -20px;
  z-index: -1;
  pointer-events: none;
}

#top_worries_sec .worries_list ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

#top_worries_sec .worries_list ul li {
  border: 1px solid #eff5f9;
  padding: 50px 20px;
}

#top_worries_sec .worries_list ul li:nth-child(1),
#top_worries_sec .worries_list ul li:nth-child(3),
#top_worries_sec .worries_list ul li:nth-child(5) {
  background: #eff5f9;
}

#top_worries_sec .worries_list ul li .icon {
  margin-bottom: 20px;
  text-align: center;
}

#top_worries_sec .worries_list ul li .item {
  text-align: center;
  font-weight: bold;
  font-size: 17px;
  padding-bottom: 30px;
  background-image: url(./image/arrow.svg);
  background-repeat: no-repeat;
  background-position: center bottom;
  margin-bottom: 0.6em;
}

#top_worries_sec .worries_list ul li .item .size {
  color: #325fba;
  font-size: 22px;
}

#top_worries_sec .worries_list ul li .text {
  font-size: 16px;
}

/* PC固定ページ 共通設定 */
.common_page_wrap {
  padding: 100px 0;
}

.not_found .text {
  text-align: center;
}

.common_page_title {
  text-align: center;
  margin-bottom: 2em;
}

.common_page_title h2 {
  font-size: 30px;
}

.common_page_title .sub_title {
  font-size: 14px;
  letter-spacing: 0.1em;
}

.reserve_text {
  text-align: center;
  font-size: 30px;
}

/* パンくず */
.breadcrumb {
  font-size: 12px;
  padding: 1em 0;
}

.breadcrumb a {
  text-decoration: none;
  color: initial;
}

/* PC固定ページ 会社概要 */
.company_profile {
  margin-bottom: 100px;
}

.company_profile table {
  width: 100%;
  border-collapse: collapse;
}

.company_profile table th,
.company_profile table td {
  padding: 1em;
  border-bottom: 1px solid;
  font-size: 14px;
}

.company_profile table th {
  width: 20%;
}

.company_profile table td {
  width: 80%;
}

.company_access .map {
  height: 350px;
}

.company_access .map iframe {
  width: 100%;
  height: 100%;
}

/* PC固定ページ お問い合わせ */
#page_contact table {
  width: 74%;
  border-collapse: collapse;
  margin: 0 auto 50px;
  border-right: solid 1px #dfdfdf;
}

#page_contact table th,
#page_contact table td {
  padding: 20px;
  font-size: 14px;
  border-top: solid 1px #dfdfdf;
  border-bottom: solid 1px #dfdfdf;
  border-left: solid 1px #dfdfdf;
  vertical-align: middle;
}

#page_contact table th {
  width: 25%;
  background: #f7f7f7;
  white-space: nowrap;
  letter-spacing: 0.05em;
}

#page_contact table th .hissu,
#page_contact table th .ninni {
  background: #c70000;
  margin-right: 15px;
  color: #fff;
  padding: 5px 15px;
  font-size: 10px;
  letter-spacing: 0.08em;
  border-radius: 30px;
}

#page_contact table th .ninni {
  background: #333;
}

#page_contact table td {
  width: 75%;
}

#page_contact input[type='text'],
#page_contact input[type='email'],
#page_contact #zip {
  width: 85%;
  height: 44px;
  border: 1.2px solid #a4a4a4;
  border-radius: 4px;
  padding: 1em;
}

#page_contact input.tel {
  padding: 1em;
  border: 1.2px solid #a4a4a4;
}

#page_contact select {
  outline: none;
  background: transparent;
  padding: 1em;
  width: 50%;
  border: 1.2px solid #a4a4a4;
}

#page_contact textarea {
  width: 85%;
  padding: 1em;
  height: 200px;
  border: 1.2px solid #a4a4a4;
}

#page_contact .attention {
  font-size: 12px;
}

#page_contact #btn_wrap {
  justify-content: center;
  text-align: right;
  width: 74%;
  margin: auto;
}

#page_contact #btn_wrap button {
  background-color: #325fba;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: #fff;
  display: block;
  width: 300px;
  line-height: 50px;
  border-radius: 5px;
  font-weight: 600;
  transition: 0.3s;
  text-align: center;
  letter-spacing: 0.08em;
  margin: auto;
}

#page_contact #btn_wrap button[name='submitBack'] {
  background: #333;
  margin-top: 20px;
}

#page_contact #btn_wrap button:hover {
  opacity: 0.8;
}

#page_contact input[name='firstName'],
#page_contact input[name='lastName'],
#page_contact #zip {
  width: 42%;
}

.contact_form_disc {
  width: 74%;
  font-size: 15px;
  margin: 0 auto 50px;
  letter-spacing: 0.02em;
}

.contact_form_disc .caution {
  font-size: 14px;
  color: #373636;
}

.contact_form_disc .text {
  margin-bottom: 10px;
  text-align: center;
}

.privacy_term_outer .privacy_term_inner {
  height: 138px;
  margin: auto;
  overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
  font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
  font-size: 13px;
  margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
  font-size: 13px;
  border-left: solid 3px #ccc;
  padding-left: 12px;
  margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
  font-size: 13px;
  margin-bottom: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
  width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
  background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
  background-color: #333;
  border-radius: 10px;
}

.privacy_term_outer {
  border-top: solid 1px #e3e3e3;
  padding: 30px 0;
  border-bottom: solid 1px #e3e3e3;
  width: 60%;
  margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
  padding-right: 0;
}

.privacy_check_list .mwform-checkbox-field-text a {
  text-decoration: underline;
}

.privacy_check_list .error {
  font-size: 12px;
}

.privacy_term_detail {
  text-align: center;
  font-size: 13px;
  padding-bottom: 15px;
  margin: 20px 0;
  position: relative;
  font-weight: 600;
}

.privacy_term_detail::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  border-top: solid 2px #333;
  border-right: solid 2px #333;
  width: 10px;
  height: 10px;
  transform: rotate(135deg);
  bottom: 0;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
  display: none;
}

/* ラジオボタン デザイン */
/* ラジオボタンを隠す */
.radio_btns input[type='radio'].radio_btns__item {
  display: none;
}

.radio_btns label {
  display: inline-block;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item + span {
  padding-left: 2em;
  display: inline-block;
  position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item + span::after,
.radio_btns .radio_btns__item + span::before {
  content: '';
  display: block;
  position: absolute;
  border: 1px solid #aaaaaa;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0;
  border: 1.2px solid #a4a4a4;
  bottom: 0;
  margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item + span::after {
  width: 12px;
  height: 12px;
  top: 0px;
  left: 4px;
  border: none;
  background: #333;
  -webkit-transform: scale(0);
  /*--ここを0にすることで下線は非表示となる--*/
  -ms-transform: scale(0);
  /*--ここを0にすることで下線は非表示となる--*/
  transform: scale(0);
  transition: all 0.3s;
  /*--0.3秒かけて下線が表示される--*/
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked + span {
  font-weight: 600;
}

.radio_btns .radio_btns__item:checked + span::after {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

/* チェックボックス デザイン */
#page_contact input[type='checkbox'] {
  /* デフォルトcheckボックス非表示*/
  display: none;
}

.mwform-checkbox-field-text {
  display: inline-block;
  position: relative;
  padding: 0 36px 0 36px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
  content: '';
  position: absolute;
  display: block;
}

.mwform-checkbox-field-text::before {
  background: #fff;
  border: 2px solid #ccc;
  border-radius: 2px;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
  border-width: 3px;
  border-color: transparent transparent #333 #333;
  border-style: solid;
  width: 20px;
  height: 10px;
  margin-top: -0.2em;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
}

input[type='checkbox']:checked + .mwform-checkbox-field-text::after {
  opacity: 1;
}

.mw_wp_form .horizontal-item {
  margin-right: 10px;
  margin-bottom: 10px;
  display: inline-block;
}

/* サンクスページ */

#page_contact .thanks_textArea .name {
  font-size: 16px;
  line-height: 2;
  text-align: center;
  margin-bottom: 20px;
}

.thanks_textArea .contact_text {
  margin: 0 auto 50px;
  width: 62%;
}

#page_contact .thanks_textArea .ichiran_link {
  background-color: #325fba;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: #fff;
  display: block;
  width: 300px;
  line-height: 50px;
  border-radius: 4px;
  font-size: 16px;
  transition: 0.3s;
  margin: 0 auto;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-align: center;
}

#page_contact .thanks_textArea .ichiran_link:hover {
  opacity: 0.8;
}

#page_contact .thanks_textArea .contact_text .space {
  display: block;
}

#page_contact .thanks_textArea .contact_text .space {
  display: block;
  margin-top: 10px;
}

.thanks_textArea .top_text {
  width: 62%;
  margin: 0 auto 30px;
  font-size: 18px;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}

.thanks_textArea .line_btn {
  text-align: center;
  margin-bottom: 30px;
}

.thanks_textArea .line_btn a {
  display: inline-block;
  height: 48px;
}

.thanks_textArea .line_btn a img {
  width: 100%;
  height: auto;
}

/* ステップバー デザイン */
#page_contact .progressbar {
  margin-bottom: 60px;
  justify-content: center;
}

#page_contact .progressbar .item {
  position: relative;
  width: 18%;
  text-align: center;
  position: relative;
  align-items: center;
  justify-content: center;
  padding: 43px 0 13px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

#page_contact .progressbar .item .en {
  display: block;
  color: #7b7b7b;
  font-size: 14px;
}

#page_contact .progressbar .item::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border: solid 1px #a5a5a5;
  border-radius: 50%;
  margin: auto;
}

#page_contact .progressbar .item.active::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 8px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #333;
  margin: auto;
}

#page_contact .progressbar #step_2 .en {
  position: relative;
}

#page_contact .progressbar #step_2 .en::before,
#page_contact .progressbar #step_2 .en::after {
  content: '';
  height: 1px;
  width: 100px;
  background: #a5a5a5;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: -47px;
}

#page_contact .progressbar #step_2 .en::after {
  left: auto;
  right: -47px;
}

.privacy_check_list {
  justify-content: center;
  align-items: center;
  margin-bottom: 25px;
}

.privacy_check_list .hissu {
  background: #c70200;
  color: #fff;
  padding: 2px 15px;
  font-size: 10px;
  letter-spacing: 0.08em;
  border-radius: 30px;
  font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
  margin: 0;
}

/* PC固定ページ 個人情報保護方針 */
#page_privacy .main_text {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 3em;
}

#page_privacy dl {
  margin-bottom: 50px;
}

#page_privacy dl:last-child {
  margin-bottom: 0;
}

#page_privacy dl dt {
  font-weight: 600;
  font-size: 16px;
  margin-bottom: 0.5em;
  border-left: 3px solid #ccc;
  padding-left: 1em;
}

#page_privacy dl dd {
  font-size: 14px;
  line-height: 2;
}

/* PC固定ページ 404ページ */
#page_404 {
  text-align: center;
}

#page_404 .num {
  font-size: 100px;
  font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
  margin-bottom: 1em;
  font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page_list > article {
  padding-bottom: 15px;
  padding-top: 15px;
  border-bottom: 1px dashed #eee;
  padding-right: 30px;
}

.archive_page_list > article:after {
  content: '';
  position: absolute;
  width: 10px;
  height: 10px;
  top: 0;
  right: 5px;
  bottom: 0;
  margin: auto;
  border: solid #ccc;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
}

.archive_page_list > article .date {
  font-weight: bold;
  font-size: 80%;
  width: 100px;
}

.archive_page_list > article .content_area {
  width: calc(100% - 100px);
}

.archive_page_list > article .content_area .ttl {
  font-weight: bold;
}

.archive_page_list > article .content_area .content {
  font-size: 80%;
}

/* wp-pagenavi base */
.wp-pagenavi {
  clear: both;
  text-align: center;
  margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  color: #999;
  background-color: #fff;
  border: solid 1px #e0e0d2;
  padding: 8px 15px;
  margin: 0 2px;
  white-space: nowrap;
  -moz-border-radius: 3px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}

.wp-pagenavi a:hover {
  color: #fff;
  background-color: #66cccc;
  border-color: #66cccc;
}

.wp-pagenavi .current {
  color: #fff;
  background-color: #66cccc;
  border-color: #66cccc;
  font-weight: bold;
}

/* PC投稿ページ シングルページ */
#single_page .fl_wrap {
  align-items: flex-start;
  flex-wrap: nowrap;
  justify-content: flex-end;
}

.single_main_img {
  width: 300px;
  height: 300px;
  position: relative;
  margin: 0 auto 40px auto;
}

.singleContent .single_title::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 30px;

  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 30px;
  margin: auto;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #333;
}

.singleContent .title_area {
  border-bottom: solid 1px #ccc;
  padding: 100px 0 30px;
  margin-bottom: 40px;
  position: relative;
}

.singleContent .single_title {
  font-size: 30px;
  line-height: 1.4;
  font-weight: 600;
}

.single_main_img img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  object-fit: cover;
  width: 100% !important;
  height: 100% !important;
}

.singleContent .single_title time {
  font-size: 12px;
  font-weight: 600;
}

.singleContent .single_title time i {
  margin-right: 0.5em;
}

.singleContent .category_list ul {
  gap: 10px;
}

.singleContent .category_list ul li {
  background-color: #333;
  color: #fff;
  font-size: 12px;
  padding: 2px 20px;
  letter-spacing: 0.08em;
}

.singleContent article h2 {
  font-size: 20px;
  border: solid 1px #333;
  padding: 15px;
  margin: 1.5em 0 1em;
  position: relative;
  line-height: 1.4;
}

.site_single_latest {
  border-left: solid 1px #333;
  border-bottom: solid 3px #333;
  padding: 0 0 35px 0;
  margin-bottom: 80px;
}

.site_single_latest .en {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-align: center;
}

.singleContent article h2::before {
  top: 0px;
}

.singleContent article h2::after {
  bottom: 0;
}

.singleContent article h3 {
  position: relative;
  padding: 0.7rem 1rem;
  font-size: 18px;
  margin: 1.5em 0 1.5em;
  background-color: #ccc;
}

.singleContent article h4 {
  padding: 2px 10px;
  margin: 1.5em 0 1em;
  color: #333;
  border-left: 5px solid #5b5959;
  font-size: 17px;
  position: relative;
}

.singleContent article h5:before {
  content: '■';
  padding-right: 10px;
}

.singleContent article h5 {
  font-size: 18px;
  /* padding-left: 1em; */
  margin: 1.5em 0;
}

.singleContent h6 {
  font-size: 17px;
  border-bottom: 1px solid;
  padding-bottom: 3px;
  margin: 1.5em 0 1em;
}

.singleContent p {
  font-size: 16px;
  line-height: 2;
}

#single_page .singleContent {
  width: 60%;
  flex-shrink: 0;
  margin-right: 50px;
}

#single_page .singleContent .ichiran_link {
  display: block;
  width: 300px;
  line-height: 50px;
  text-align: center;
  color: #333;
  border: solid 1px #333;
  margin: 50px auto 0 auto;
  font-size: 16px;
  transition: 0.3s;
  border-bottom: solid 3px #333;
  border-right: solid 3px #333;
}

#single_page .singleContent .ichiran_link:hover {
  opacity: 0.7;
}

#single_page .singleSidebar {
  width: 27%;
}

#single_page aside#info_side {
  background-color: #fff;
  padding: 20px;
}

#single_page aside#info_side p#news-not_found {
  text-align: center;
}

#single_page aside#info_side ul li + li {
  margin-top: 12px;
}

#single_page aside#info_side ul li a {
  color: initial;
  align-items: center;
  font-size: 14px;
  transition: 0.3s;
}

#single_page aside#info_side ul li a:hover {
  opacity: 0.7;
}

#single_page aside#info_side ul li a time {
  font-size: 12px;
  font-weight: 600;
}

#single_page aside#info_side ul li a time i {
  margin-right: 0.5em;
}

#single_page aside#info_side ul li a h3 {
  font-size: 14px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.singleContent .title_area .en {
  font-size: 12px;
  top: 0;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.singleContent .day_cat {
  align-items: center;
  margin-bottom: 40px;
}

#toc_container a {
  color: #333;
}

.singleContent .day_cat .day {
  color: #6c6c6c;
  font-size: 13px;
  padding-right: 20px;
  border-right: solid 1px #ccc;
  margin-right: 20px;
}

.site_single_latest .topic {
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.08em;
  font-weight: 600;
}

.site_single_latest .img {
  width: 85px;
  margin: 20px auto;
}

.site_single_latest .disc {
  text-align: center;
  font-size: 14px;
}

.aside_article_type .ttl {
  font-size: 15px;
  margin-bottom: 20px;
  border-bottom: solid 2px;
  padding-bottom: 5px;
}

.aside_article_type li .img {
  height: 70px;
  width: 100px;
  position: relative;
}

.aside_article_type .inner_ttl {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.aside_article_type li .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aside_article_type .cat_wrap {
  gap: 5px;
}

.aside_article_type .cat_wrap .label {
  background: #333;
  padding: 0px 10px;
  color: #fff;
  font-size: 10px;
}

.aside_article_type .cat_wrap ul {
  display: flex;
  column-gap: 5px;
  row-gap: 5px;
  padding-left: 0;
}

.aside_article_type ul {
  padding-left: 20px;
  position: relative;
}

.aside_article_type .cat_wrap ul::before {
  display: none;
}

.aside_article_type ul::before {
  content: '∟';
  position: absolute;
  left: 2px;
  font-size: 14px;
  color: #333;
}

.recommend_post_area {
  width: 92%;
  margin: 50px 0 0 auto;
}

.recommend_post_area ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 30px;
}

.recommend_post_area .ttl {
  font-size: 18px;
  letter-spacing: 0.08em;
  border-bottom: solid #ccc 1px;
  padding-bottom: 20px;
  margin-bottom: 30px;
  font-weight: 600;
}

.recommend_post_area .ttl .en {
  font-weight: 400;
  letter-spacing: 0.08em;
  font-size: 14px;
  display: block;
}

.recommend_post_area a {
  color: #000;
}

.recommend_post_area .inner_ttl {
  font-size: 13px;
  line-height: 1.4;
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin-bottom: 10px;
}

.recommend_post_area .day_cat .day {
  font-size: 12px;
  color: #6c6c6c;
  padding-right: 10px;
  border-right: solid 1px #ccc;
  margin-right: 10px;
}

.recommend_post_area .day_cat {
  margin: auto 0 0;
  flex-wrap: nowrap;
  align-items: flex-start;
}

.recommend_post_area .category_list .cat_wrap {
  padding: 0;
  gap: 5px;
}

.recommend_post_area .category_list .cat {
  font-size: 12px;
  text-align: center;
  background: #333;
  color: #fff;
  padding: 0 10px;
}

.recommend_post_area .category_list {
  width: 100%;
}

.recommend_post_area .img {
  position: relative;
  height: 145px;
  margin-bottom: 12px;
  overflow: hidden;
}

.recommend_post_area .img img {
  transition: 0.3s;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.recommend_post_area a:hover .img img {
  transform: scale(1.1);
}

.aside_article_type + .aside_article_type {
  margin-top: 35px;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style {
  top: 280px !important;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style::before {
  content: '';
  width: 1px;
  height: 100px;
  background: #ccc;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -103px;
}

.a2a_kit.a2a_kit_size_32.a2a_floating_style.a2a_vertical_style::after {
  content: 'SHARE ON';
  position: absolute;
  top: -169px;
  font-size: 11px;
  writing-mode: vertical-lr;
  text-align: center;
  left: 8px;
  right: 0;
  margin: auto;
}

.singleContent_links {
  margin-top: 150px;
  align-items: center;
  position: relative;
}

.singleContent_links ul {
  width: 40%;
}

.singleContent_links ul.prev li {
  padding-left: 30px;
}

.singleContent_links ul.next li {
  padding-right: 30px;
}

.singleContent_links .btn {
  margin-bottom: 23px;
  border-bottom: solid 1px #ccc;
  font-size: 15px;
  position: relative;
}

.singleContent_links::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 1px;
  background: #ccc;
  height: 100%;
  margin: auto;
}

.singleContent_links a {
  color: #333;
  font-size: 14px;
}

.singleContent_links a .ttl {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

.singleContent_links .img {
  margin-bottom: 15px;
  position: relative;
  height: 150px;
}

.singleContent_links .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.singleContent_links ul.next .btn {
  text-align: right;
}

.singleContent_links ul.next .img {
  margin-left: auto;
}

.breadcrumb.single {
  margin-top: 70px;
  text-align: right;
}

.aside_article_type .text_box {
  width: calc(100% - 100px);
  padding-left: 10px;
}

#toc_container li {
  position: relative;
  padding-left: 20px;
}

#toc_container li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6px;
  background: url(./image/article_arrow.png) center no-repeat;
  background-size: contain;
  width: 13px;
  height: 14px;
  bottom: auto;
}

.singleContent article h2::before,
.singleContent article h3::before {
  content: '';
  position: absolute;
  right: -35px;
  top: 0px;
  bottom: 0px;
  height: 1px;
  width: 50px;
  background: rgb(0, 0, 0);
  margin: auto;
}

.singleContent ol {
  border: solid 1px #333;
  padding: 20px 10px;
  counter-reset: count 0;
  position: relative;
  background-image: url(./image/grid.gif);
}

.singleContent ol li {
  position: relative;
}

.singleContent ol li::before {
  content: '';
  content: counter(count) '. ';
  counter-increment: count 1;
}

.singleContent ol li + li {
  margin-top: 7px;
}

.singleContent ol::before {
  content: '';
  position: absolute;
  right: -2px;
  top: -2px;
  border-width: 0 30px 30px 0;
  border-style: solid;
  border-color: #333 #fff #333;
}

.singleContent ol::after {
  content: '';
}

.singleContent #toc_container {
  margin-bottom: 50px;
}

.singleContent_links ul li + li {
  margin-top: 10px;
}

.singleContent_links ul li.btn::before {
  content: '';
  position: absolute;
  background: url(./image/icon/arrow.svg) center no-repeat;
  background-size: contain;
  background-position: center;
  width: 20px;
  height: 20px;
  right: 0;
  top: 5px;
}

.singleContent_links ul.prev li.btn::before {
  transform: scale(-1, 1);
  right: auto;
  left: 0;
}

#toc_container.no_bullets li,
#toc_container.no_bullets ul,
#toc_container.no_bullets ul li,
.toc_widget_list.no_bullets,
.toc_widget_list.no_bullets li {
  border: none;
}

.singleContent .category_list ul li::before {
  display: none;
}

.singleContent .category_list ul {
  border: none;
}

#top_program {
  padding-bottom: 150px;
}

#top_program.flow_contact_flow {
  padding-bottom: 50px;
}

#top_program .paid_area {
  background: #e2f0ff;
  padding: 100px 0;
  margin-bottom: 100px;
}

#top_program .main_title {
  text-align: center;
  margin-bottom: 50px;
}

#top_program .main_title .title {
  font-size: 64px;
  font-weight: bold;
  color: #1278ef;
}

.common_hukidashi {
  font-size: 24px;
  background: #ffe200;
  padding: 0.4em 2.5em;
  position: relative;
}

.common_hukidashi:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 12px solid #ffe200;
  border-bottom: 0;
  position: absolute;
  left: calc(50% - 5px);
  bottom: -10px;
}

#top_reason .common_hukidashi {
  background: #325fba;
  color: #fff;
}

#top_reason .common_hukidashi:before {
  border-top-color: #325fba;
}

.common_hukidashi small {
  font-size: 16px;
}

#top_program .main_title .sub {
  font-size: 24px;
  font-weight: bold;
}

#top_program .main_title .sub .size {
  font-size: 40px;
}

#top_program .main_title .sub .color_1 {
  color: #1278ef;
}

#top_program .main_title .sub .color_2 {
  color: #122a91;
}

#top_program .course_box_wrap .course_title {
  text-align: center;
  position: relative;
  margin-bottom: 1.5em;
}

#top_program .course_box_wrap .course_title:before {
  content: '';
  width: 100%;
  height: 5px;
  background: #1278ef;
  position: absolute;
  left: 0;
  top: calc(50% - 2.5px);
}

#top_program .free_area .course_box_wrap .course_title:before {
  background: #122a91;
}

#top_program .course_box_wrap .course_title .title {
  display: inline-block;
  font-size: 48px;
  padding: 0 0.5em;
  position: relative;
  z-index: 2;
  background: #e2f0ff;
  color: #1278ef;
  font-weight: bold;
}

#top_program .free_area .course_box_wrap .course_title .title {
  background: #fff;
  color: #122a91;
}

#top_program .course_box_wrap .flow_area .title {
  font-size: 32px;
  font-weight: bold;
  color: #1278ef;
  padding-left: 40px;
  border-left: 6px solid;
  line-height: 1.3;
  position: relative;
  margin-bottom: 1em;
}

#top_program .free_area .course_box_wrap .flow_area .title {
  color: #122a91;
}

#top_program .free_area .course_box_wrap .flow_area .title:before {
  background: #122a91;
}

#top_program .course_box_wrap .flow_area .title:before {
  content: '';
  width: 3px;
  height: 100%;
  background: #1278ef;
  position: absolute;
  left: 7px;
}

#top_program .course_box_wrap .flow_num_area {
  margin-bottom: 30px;
}

#top_program .course_box_wrap .flow_num_area ul li {
  width: 18.5%;
  color: #fff;
  font-size: 32px;
  position: relative;
  line-height: 80px;
  padding-left: 80px;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(1) {
  background: #73abed;
  z-index: 5;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(1)::after {
  border-left-color: #73abed;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(2) {
  background: #5ca1f0;
  z-index: 4;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(2)::after {
  border-left-color: #5ca1f0;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(3) {
  background: #4593ef;
  z-index: 3;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(3)::after {
  border-left-color: #4593ef;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(4) {
  background: #2d85eb;
  z-index: 2;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(4)::after {
  border-left-color: #2d85eb;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(5) {
  background: #1278ef;
  z-index: 1;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(1) {
  background: #6a79be;
  z-index: 5;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(1)::after {
  border-left-color: #6a79be;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(2) {
  background: #5061af;
  z-index: 4;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(2)::after {
  border-left-color: #5061af;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(3) {
  background: #3b4ea2;
  z-index: 3;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(3)::after {
  border-left-color: #3b4ea2;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(4) {
  background: #273c98;
  z-index: 2;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(4)::after {
  border-left-color: #273c98;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(5) {
  background: #122a91;
  z-index: 1;
}

#top_program .course_box_wrap .flow_num_area ul li small {
  font-size: 24px;
}

#top_program .course_box_wrap .flow_num_area ul li:before,
#top_program .course_box_wrap .flow_num_area ul li:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 42px solid transparent;
  border-bottom: 42px solid transparent;
  border-left: 30px solid #e2f0ff;
  border-right: 0;
  position: absolute;
  top: 0;
}

#top_program .free_area .course_box_wrap .flow_num_area ul li:before {
  border-left-color: #fff;
}

#top_program .course_box_wrap .flow_num_area ul li:before {
  left: 0;
}

#top_program .course_box_wrap .flow_num_area ul li:after {
  right: -30px;
}

#top_program .course_box_wrap .flow_num_area ul li:nth-child(1)::before,
#top_program .course_box_wrap .flow_num_area ul li:nth-child(5)::after {
  display: none;
}

#top_program .course_box_wrap .flow_contents_area {
  margin-bottom: 50px;
}

#top_program .course_box_wrap .flow_contents_area ul li {
  /* width: 20%; */
  text-align: center;
  flex: 1;
}

#top_program .course_box_wrap .flow_contents_area ul li .icon {
  width: 140px;
  height: 140px;
  background: #fff;
  border-radius: 100%;
  position: relative;
  margin: 0 auto 20px auto;
  flex-shrink: 0;
}

#top_program .free_area .course_box_wrap .flow_contents_area ul li .icon {
  background: #f4f6ff;
}

#top_program .course_box_wrap .flow_contents_area ul li .icon img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 70px;
  width: 70px;
}

#top_program .course_box_wrap .flow_contents_area ul li .item {
  font-size: 24px;
  color: #1278ef;
  font-weight: bold;
  margin-bottom: 0.5em;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#top_program .free_area .course_box_wrap .flow_contents_area ul li .item {
  color: #122a91;
}

#top_program .free_area .course_box_wrap .flow_contents_area ul li .text_area .text .text_link,
.single_course_page #course_flow .flow_cont ol > li .text_area .inner .text .text_link {
  text-decoration: underline;
  color: #1278ef;
  transition: 0.3s;
}

#top_program .free_area .course_box_wrap .flow_contents_area ul li .text_area .text .text_link:hover,
.single_course_page #course_flow .flow_cont ol > li .text_area .inner .text .text_link:hover {
  opacity: 0.7;
}

#top_program .course_box_wrap .flow_contents_area ul li .item small {
  font-size: 14px;
  display: block;
}

.common_course_list ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.common_course_list ul li {
  position: relative;
  transition: 0.3s;
}

.common_course_list ul li:hover {
  opacity: 0.8;
}

.common_course_list ul li:after {
  content: '';
  width: 30px;
  height: 30px;
  background-image: url(./image/icon_arrow.svg);
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

#top_program .free_area .course_box_wrap .common_course_list ul {
  grid-template-columns: repeat(2, 1fr);
}

.common_course_list ul li .image {
  width: 100%;
  height: 200px;
}

.common_course_list ul li .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.common_course_list ul li .text_area {
  background: #2876d1;
  color: #fff;
  position: relative;
  padding: 35px 20px 20px 20px;
  position: relative;
}

.common_course_list ul li .text_area:after {
  content: '';
  width: 100%;
  height: 100px;
  position: absolute;
  left: 0;
  top: -100px;
  background: rgb(40, 118, 209);
  background: linear-gradient(0deg, rgba(40, 118, 209, 1) 0%, rgba(40, 118, 209, 1) 24%, rgba(40, 118, 209, 0) 100%);
}

#top_program .free_area .common_course_list ul li .text_area:after {
  background: rgb(50, 95, 186);
  background: linear-gradient(0deg, rgba(50, 95, 186, 1) 0%, rgba(50, 95, 186, 0) 100%);
}

#top_program .free_area .common_course_list ul li .text_area {
  background: #325fba;
}

.common_course_list ul li .text_area .title_box {
  position: absolute;
  left: 0;
  top: -20px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.common_course_list ul li .text_area .title {
  color: #2876d1;
  background: #fff;
  font-weight: bold;
  font-size: 22px;
  padding: 0.2em 0.8em;
  width: fit-content;
}

#top_program .free_area .common_course_list ul li .text_area .title {
  color: #122a91;
}

.common_course_list ul li .text_area .point {
  color: #ffe200;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

#top_program .price_area {
  margin-top: 50px;
  text-align: center;
  font-weight: bold;
  line-height: 1;
}

#top_program .price_area .text {
  font-size: 48px;
  line-height: 1;
  margin-bottom: 0.5em;
}

#top_program .price_area .text small {
  font-size: 32px;
  margin-left: -0.2em;
}

#top_program .price_area .text .size {
  font-size: 80px;
  color: #1278ef;
  margin: 0 -0.07em;
}

#top_program .price_area .price_box {
  justify-content: center;
  align-items: flex-end;
  margin-bottom: 50px;
  margin-left: 130px;
}

#top_program .price_area .price_box .hukidashi {
  position: absolute;
  left: -160px;
  top: 0;
  font-size: 32px;
  width: 130px;
  height: 130px;
  background: #ffe200;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top_program .price_area .price_box .price {
  letter-spacing: 0.05em;
}

#top_program .price_area .price_box .hukidashi:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 20px solid #ffe200;
  border-right: 0;
  position: absolute;
  top: calc(50% - 10px);
  right: -12px;
}

#top_program .price_area .price_box .num {
  font-size: 128px;
  color: #1278ef;
  position: relative;
}

#top_program .price_area .price_box .yen_box span {
  display: block;
}

#top_program .price_area .price_box .yen_box .yen {
  color: #1278ef;
  font-size: 60px;
}

#top_program .price_area .price_box .yen_box .tax {
  font-size: 24px;
  margin-bottom: 0.3em;
}

#top_program .price_area .price_box .text_defo {
  font-size: 40px;
}

#top_program .price_area .addition {
  background: #ffe200;
  color: #1278ef;
  display: inline-block;
  padding: 0.5em 1em;
  font-size: 48px;
  margin-bottom: 0.4em;
}

#top_program .price_area .attention {
  font-size: 16px;
  font-weight: normal;
}

#top_support {
  padding-top: 100px;
}

#top_support .main_text {
  text-align: center;
}

#top_support .main_text .arrow {
  position: relative;
  font-size: 32px;
  font-weight: bold;
  z-index: 2;
  color: #fff;
  margin-bottom: 70px;
}

#top_support .main_text .arrow:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 320px solid transparent;
  border-left: 320px solid transparent;
  border-top: 100px solid #122a91;
  border-bottom: 0;
  position: absolute;
  left: calc(50% - 320px);
  top: -10px;
  z-index: -1;
}

#top_support .main_text .text {
  font-size: 40px;
  font-weight: bold;
}

#top_support .main_text .text .size {
  color: #1278ef;
  text-decoration: underline;
  margin: 0 0.1em;
  font-size: 56px;
  text-underline-offset: 20%;
  text-decoration-thickness: 5px;
}

#top_support .contents_wrap {
  padding-top: 200px;
  position: relative;
  background: #eff5f9;
  margin-top: 100px;
}

#top_support .contents_wrap .contents {
  margin-bottom: 50px;
}

#top_support .contents_wrap:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 50vw solid transparent;
  border-left: 50vw solid transparent;
  border-top: 140px solid #fff;
  border-bottom: 0;
  position: absolute;
  left: 0;
  top: 0;
}

#top_support .main_title {
  text-align: center;
  color: #325fba;
  font-size: 32px;
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 20%;
  text-decoration-thickness: 5px;
  margin-bottom: 1em;
}

#top_support .contents_wrap .contents .image {
  width: 430px;
}

#top_support .contents_wrap .contents .text_area {
  width: calc(100% - 470px);
}

#top_support .contents_wrap .contents .text_area ul {
  margin-bottom: 40px;
}

#top_support .contents_wrap .contents .text_area ul li {
  padding-left: 35px;
  position: relative;
  background-image: url(./image/icon_check.svg);
  background-repeat: no-repeat;
  background-position: 0 10px;
}

#top_support .contents_wrap .contents .text_area ul li .catch {
  font-size: 18px;
  font-weight: bold;
}

#top_support .contents_wrap .contents .text_area ul li .catch .accent {
  color: #325fba;
  font-size: 24px;
}

#top_support .contents_wrap .contents .text_area ul li + li {
  margin-top: 30px;
}

#top_support .contents_wrap .contents .flow_area .title_box {
  position: relative;
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#top_support .contents_wrap .contents .flow_area .title_box:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #325fba transparent transparent transparent;
  border-width: 200.5px 200.5px 0px 0px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.95;
}

#top_support .contents_wrap .contents .flow_area .title_box:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent #325fba transparent;
  border-width: 0 0 200px 200px;
  position: absolute;
  right: 0;
  bottom: 0;
}

#top_support .contents_wrap .contents .flow_area .title_box .title {
  font-size: 24px;
  position: relative;
  color: #fff;
  z-index: 2;
  font-weight: bold;
}

#top_support .contents_wrap .contents .flow_area .text_box {
  width: calc(100% - 200px);
  background: #fff;
  align-items: center;
  padding-left: 30px;
}

#top_support .contents_wrap .contents .flow_area .text_box .dl_wrap {
  width: 100%;
}

#top_support .contents_wrap .contents .flow_area .text_box dl {
  display: flex;
}

#top_support .contents_wrap .contents .flow_area .text_box dl dt {
  color: #325fba;
  font-size: 16px;
  width: 13%;
}

#top_support .contents_wrap .contents .flow_area .text_box dl dt small {
  font-size: 12px;
}

#top_support .contents_wrap .contents .flow_area .text_box dl dd {
  width: 87%;
}

#top_support .unofficial_company {
  padding-bottom: 100px;
  padding-top: 50px;
}

#top_support .unofficial_company .bx-wrapper {
  background: none;
  border: none;
  margin: 0;
  box-shadow: none;
  margin: 0 auto 50px auto;
}

#top_support .unofficial_company .common_slider li {
  background: #fff;
}

#top_support .unofficial_company .text {
  text-align: center;
}

#top_reviews {
  margin: 150px 0;
}

#top_reviews .main_title {
  text-align: center;
  margin-bottom: 40px;
}

#top_reviews .main_title .title {
  display: inline-block;
  position: relative;
  font-size: 56px;
  color: #325fba;
  font-weight: bold;
}

#top_reviews .main_title .title:before {
  content: '';
  width: 60px;
  height: 60px;
  background-image: url(./image/icon_reviews.svg);
  position: absolute;
  left: -80px;
  top: 10px;
  z-index: -1;
  pointer-events: none;
}

#top_reviews ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

#top_reviews ul li .image {
  height: 200px;
  margin-bottom: 20px;
}

#top_reviews ul li .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#top_reviews ul li .name,
#top_reviews ul li .info {
  color: #325fba;
  font-weight: bold;
}

#top_reviews ul li .name {
  font-size: 20px;
}

#top_reviews ul li .info {
  font-size: 16px;
  margin-bottom: 1em;
}

#main_footer {
  background: #325fba;
  color: #fff;
  padding: 145px 0 50px 0;
}

#main_footer .logo {
  width: 345px;
  margin: 0 auto 50px auto;
}

#main_footer .navi_area {
  justify-content: center;
  gap: 130px;
  margin-bottom: 150px;
}

#main_footer a {
  color: #fff;
  transition: 0.3s;
}

#main_footer a:hover {
  opacity: 0.7;
}

#main_footer .navi_area .course_contents .title {
  border-bottom: 2px solid;
  font-size: 16px;
  padding-bottom: 0.2em;
  margin-bottom: 1em;
}

#main_footer .navi_area .course_contents ul li + li {
  margin-top: 1em;
}

#main_footer .navi_area .course_contents ul li {
  margin-left: 1em;
}

#main_footer .navi_area .course_contents ul li a {
  padding-left: 20px;
  position: relative;
  font-weight: 700;
  font-size: 16px;
}

#main_footer .navi_area .course_contents ul li a:before {
  content: '';
  width: 8px;
  height: 8px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  left: 0;
  top: 50%;
  transform: rotate(45deg);
  translate: 0 -50%;
}

#main_footer .navi_area .course_contents .list_wrap ul + ul {
  margin-left: 40px;
}

#main_footer .navi_area .main_contents ul li + li {
}

#main_footer .navi_area .main_contents ul li a {
  font-size: 16px;
  font-weight: bold;
}

#main_footer .sub_contents {
  margin-bottom: 20px;
}

#main_footer .sub_contents ul {
  justify-content: center;
  gap: 30px;
}

#main_footer .sub_contents ul li a {
  font-size: 10px;
}

#main_footer .copyright {
  text-align: center;
  font-size: 12px;
}

#main_footer .navi_area .main_contents ul {
  display: flex;
  flex-wrap: wrap;
  width: 260px;
  gap: 1em;
}

#top_reason {
  padding-bottom: 150px;
}

#top_reason .main_title {
  text-align: center;
  margin-bottom: 60px;
}

#top_reason .main_title .title {
  font-size: 56px;
  font-weight: bold;
}

#top_reason .main_title .title .small {
  font-size: 40px;
}

#top_reason .main_title .title .color {
  color: #325fba;
  margin-left: -0.2em;
}

#top_reason .box + .box {
  margin-top: 50px;
  padding-top: 50px;
  border-top: 1px solid #ebebeb;
}

#top_reason .box .image {
  width: 440px;
  height: 360px;
  position: relative;
  box-shadow: 1px 1px 2px #f1f1f1;
}

#top_reason .box .image img {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

#top_reason .box:nth-child(even) .image {
  order: 2;
}

#top_reason .box .text_area {
  width: calc(100% - 480px);
}

#top_reason .box .text_area .catch_area {
  margin-bottom: 20px;
}

#top_reason .box .text_area .catch_area .catch {
  font-size: 24px;
  font-weight: bold;
  color: #fff;
}

#top_reason .box .text_area .catch_area .catch .cover {
  background: #325fba;
  padding: 0.2em 1em;
  margin-bottom: 0.3em;
  display: inline-block;
}

#top_reason .box .text_area .catch_area .catch .size {
  color: #ffe72f;
  font-size: 32px;
}

#top_reason .box .text_area .text .attention {
  color: #e30000;
}

.single_course_page #top_reason {
  padding-bottom: 0;
}

.course_common_ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.5em;
  font-size: 40px;
  color: #1278ef;
  font-weight: 700;
  margin-bottom: 1.5em;
}

.single_course_page.free .course_common_ttl {
  color: #122a91;
}

.course_common_ttl::before,
.course_common_ttl::after {
  content: '';
  flex-grow: 1;
  height: 5px;
  background-color: currentColor;
}

.single_course_page #course_tec {
  background-color: #eff5f9;
  padding: 100px 0;
  margin-bottom: 100px;
}

.single_course_page.free #course_tec {
  background-color: #f4f6ff;
}

.single_course_page #course_tec .tec_list ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}

.single_course_page #course_tec .tec_list ul li {
  background-color: #fff;
  border: 2px solid #1278ef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: 700;
  gap: 1em;
  padding: 0.5em;
  border-radius: 100vmax;
}

.single_course_page.free #course_tec .tec_list ul li {
  border-color: #122a91;
}

.single_course_page #course_tec .tec_list ul li .tec_icon {
  flex-shrink: 0;
  width: 2em;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.single_course_page #course_tec .tec_list ul li .tec_icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.single_course_page #course_tec .note_text {
  font-size: 12px;
  margin-top: 1.5em;
  text-align: right;
  color: #a8a8a8;
}

.single_course_page #course_flow {
  padding-bottom: 100px;
}

.single_course_page.thanks_flow #course_flow {
  padding: 100px 0 0;
}

.single_course_page .single_course_page #course_flow {
  padding-top: 100px;
}

.single_course_page #course_flow .flow_cont ol > li + li {
  margin-top: 50px;
}

.single_course_page #course_flow .flow_cont ol > li {
  display: flex;
  gap: 40px;
}

.single_course_page #course_flow .flow_cont ol > li .num {
  writing-mode: vertical-lr;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30px 20px;
}

.single_course_page #course_flow .flow_cont ol > li .num::before,
.single_course_page #course_flow .flow_cont ol > li .num::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 30px;
}

.single_course_page #course_flow .flow_cont ol > li .num::before {
  clip-path: polygon(50% 100%, 100% 0, 100% 100%, 0 100%, 0 0);
  top: 0.5px;
  transform: translateY(-100%);
}

.single_course_page #course_flow .flow_cont ol > li .num::after {
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  bottom: 0.5px;
  transform: translateY(100%);
}

.single_course_page #course_flow .flow_cont ol > li:first-child .num::before {
  display: none;
}

.single_course_page #course_flow .flow_cont ol > li:last-child .num::after {
  display: none;
}

.single_course_page #course_flow .flow_cont ol > li:nth-child(1) .num,
.single_course_page #course_flow .flow_cont ol > li:nth-child(1) .num::before,
.single_course_page #course_flow .flow_cont ol > li:nth-child(1) .num::after {
  background-color: #73abed;
}

.single_course_page #course_flow .flow_cont ol > li:nth-child(2) .num,
.single_course_page #course_flow .flow_cont ol > li:nth-child(2) .num::before,
.single_course_page #course_flow .flow_cont ol > li:nth-child(2) .num::after {
  background-color: #5ca1f0;
}

.single_course_page #course_flow .flow_cont ol > li:nth-child(3) .num,
.single_course_page #course_flow .flow_cont ol > li:nth-child(3) .num::before,
.single_course_page #course_flow .flow_cont ol > li:nth-child(3) .num::after {
  background-color: #4593ef;
}

.single_course_page #course_flow .flow_cont ol > li:nth-child(4) .num,
.single_course_page #course_flow .flow_cont ol > li:nth-child(4) .num::before,
.single_course_page #course_flow .flow_cont ol > li:nth-child(4) .num::after {
  background-color: #2d85eb;
}

.single_course_page #course_flow .flow_cont ol > li:nth-child(5) .num,
.single_course_page #course_flow .flow_cont ol > li:nth-child(5) .num::before,
.single_course_page #course_flow .flow_cont ol > li:nth-child(5) .num::after {
  background-color: #1278ef;
}

.single_course_page.free #course_flow .flow_cont ol > li:nth-child(1) .num,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(1) .num::before,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(1) .num::after {
  background-color: #6a79be;
}

.single_course_page.free #course_flow .flow_cont ol > li:nth-child(2) .num,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(2) .num::before,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(2) .num::after {
  background-color: #5061af;
}

.single_course_page.free #course_flow .flow_cont ol > li:nth-child(3) .num,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(3) .num::before,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(3) .num::after {
  background-color: #3b4ea2;
}

.single_course_page.free #course_flow .flow_cont ol > li:nth-child(4) .num,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(4) .num::before,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(4) .num::after {
  background-color: #273c98;
}

.single_course_page.free #course_flow .flow_cont ol > li:nth-child(5) .num,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(5) .num::before,
.single_course_page.free #course_flow .flow_cont ol > li:nth-child(5) .num::after {
  background-color: #122a91;
}

.single_course_page #course_flow .flow_cont ol > li .icon_area {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.single_course_page #course_flow .flow_cont ol > li .icon_area .icon {
  background-color: #f4f6ff;
  border-radius: 50%;
  width: 150px;
  aspect-ratio: 1;
  padding: 35px;
  flex-shrink: 0;
}

.single_course_page #course_flow .flow_cont ol > li .icon_area .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.single_course_page #course_flow .flow_cont ol > li .text_area {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.single_course_page #course_flow .flow_cont ol > li .text_area .flex_box {
  margin-bottom: 20px;
}

.single_course_page #course_flow .flow_cont ol > li .text_area .flow_ttl {
  font-size: 24px;
  color: #1278ef;
  font-weight: 700;
}

.single_course_page.free #course_flow .flow_cont ol > li .text_area .flow_ttl {
  color: #122a91;
}

.single_course_page #course_flow .flow_cont ol > li .text_area .inner .text {
  font-size: 16px;
  font-weight: 500;
}

.single_course_page #course_flow .flow_cont ol > li .text_area .inner .text + .text {
  margin-top: 1em;
}

.single_course_page #course_flow .flow_cont ol > li .text_area .text_list {
  font-size: 16px;
  font-weight: 500;
  margin: 1em 0;
}

.single_course_page #course_flow .flow_cont ol > li .text_area .text_list ul li {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
}

.single_course_page #course_flow .flow_cont ol > li .text_area .text_list ul li::before {
  content: '';
  background-color: #1278ef;
  width: 0.7em;
  height: 0.7em;
  margin-top: 0.55em;
  border-radius: 50%;
}

.single_course_page #course_flow .flow_cont ol > li:first-child .text_area,
.single_course_page #course_flow .flow_cont ol > li:first-child .icon_area {
  padding-top: 30px;
}

.single_course_page #course_flow .flow_cont ol > li:last-child .text_area,
.single_course_page #course_flow .flow_cont ol > li:last-child .icon_area {
  padding-bottom: 30px;
}

.single_course_page #course_main {
  position: relative;
  padding: 100px 0;
}

.single_course_page #course_main > * {
  position: relative;
  z-index: 2;
}

.single_course_page #course_main::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(40, 118, 209, 0.6);
  z-index: 1;
}

.single_course_page.free #course_main::before {
  background: rgba(39, 60, 152, 0.6);
}

.single_course_page #course_main .main_img {
  position: absolute;
  inset: 0;
  z-index: 0 !important;
}

.single_course_page #course_main .main_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.single_course_page #course_main .cont {
  display: flex;
  align-items: flex-start;
  gap: 50px;
}

.single_course_page #course_main .cont .ttl_area {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 30px;
}

.single_course_page #course_main .cont .ttl_area .course_icon {
  width: 80px;
  height: 80px;
  background-color: #fff;
  border-radius: 50%;
  padding: 15px;
  flex-shrink: 0;
}

.single_course_page #course_main .cont .ttl_area .course_icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.single_course_page #course_main .cont .ttl_area .course_ttl {
  font-size: 48px;
  line-height: 1.4;
  margin-bottom: 0.2em;
  font-weight: 700;
  color: #fff;
}

.single_course_page #course_main .cont .detail_area {
  flex-grow: 1;
}

.single_course_page #course_main .cont .detail_area .course_price {
  background-color: #fff;
  border-radius: 100vmax;
  font-size: 24px;
  font-weight: 700;
  color: #1278ef;
  padding: 0.2em 1em;
  line-height: 1.5;
  width: fit-content;
  margin-bottom: 0.7em;
}

.single_course_page.free #course_main .cont .detail_area .course_price {
  color: #122a91;
}

.single_course_page #course_main .cont .detail_area .recommend_list ul {
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  color: #fff;
  letter-spacing: 0.04em;
  font-weight: 700;
  gap: 0.3em 1em;
  line-height: 1.5;
}

.single_course_page #course_description {
  padding: 70px 0 100px;
}

.single_course_page #course_description .cont {
  background-color: #eff5f9;
  padding: 50px;
}

.single_course_page.free #course_description .cont {
  background-color: #f4f6ff;
}

.single_course_page #course_description .descript_text {
  font-size: 16px;
  letter-spacing: 0.06em;
  font-weight: 500;
}

#course_contact {
  padding: 100px 0;
  background-color: #325fba;
}

#course_contact .course_common_ttl {
  color: #fff !important;
}

#course_contact .course_common_text {
  color: #fff !important;
  text-align: center;
  font-size: 24px;
}

#course_contact .course_common_text a {
  color: #fff !important;
  text-decoration: underline !important;
}

#course_contact .btn_wrap {
  display: flex;
  justify-content: center;
  gap: 30px;
}

#course_contact .btn_wrap .btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  width: 350px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
  padding: 1em 1.5em;
  color: #325fba;
  transition: 0.3s;
  background-color: #ffe200;
}

#course_contact .btn_wrap .btn:hover {
  opacity: 0.8;
}

#course_contact .btn_wrap .btn::after {
  content: '';
  width: 1em;
  height: 1em;
  background-color: currentColor;
  clip-path: polygon(0 0, 0 100%, 100% 50%);
  flex-shrink: 0;
}

.single_course_page #course_other {
  padding-top: 100px;
}

.single_course_page #course_other .cont + .cont {
  margin-top: 50px;
}

.single_course_page #course_other .cont .course_type {
  font-size: 32px;
  font-weight: bold;
  color: #1278ef;
  padding-left: 40px;
  border-left: 6px solid currentColor;
  line-height: 1.3;
  position: relative;
  margin-bottom: 1em;
}

.single_course_page #course_other .cont.free .course_type {
  color: #122a91;
}

.single_course_page #course_other .cont .course_type::before {
  content: '';
  width: 3px;
  height: 100%;
  background: currentColor;
  position: absolute;
  left: 7px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

.common_page_main {
  margin-top: 105px;
  background: url(./image/mainvisual_back.png) no-repeat;
  background-size: cover;
  background-position: center;
  padding: 80px 0;
}

.common_page_main .common_fv_cont {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
}

.common_page_main .common_fv_cont .title_box .title {
  font-size: 64px;
  line-height: 1.5;
  margin-bottom: 0.3em;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.common_page_main .common_fv_cont .title_box .sub_title {
  font-size: 32px;
  color: #ffe200;
  text-transform: capitalize;
}

.common_page_main .common_fv_cont .icon {
  width: 280px;
  flex-shrink: 0;
}

.common_page_main .common_fv_cont .icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

#top_reason .box .text_area .note_text {
  font-size: 12px;
  margin-top: 1.5em;
  color: #a8a8a8;
}

#top_reason .box .text_area .note_text + .note_text,
.single_course_page #course_tec .note_text + .note_text {
  margin-top: 0.5em;
}

#course_contact .btn_wrap .btn .size {
  font-size: 1.4em;
}

#course_contact .btn_wrap .btn .size .small {
  font-size: 0.5em;
  margin-left: 2em;
}

#main_header .hd_cont ul li .btn .size {
  font-size: 1.4em;
}

#main_header .hd_cont ul li .btn .size .small {
  font-size: 0.5em;
  margin-left: 1em;
}

#top_program .course_box_wrap .flow_contents_area ul {
  gap: 30px;
}

#page_contact.top_contact {
  padding-bottom: 120px;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 50px;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li {
  flex-direction: column;
  gap: 20px;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .num {
  writing-mode: unset;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li + li {
  margin-top: 0;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .text_area {
  justify-content: unset;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li:first-child .text_area,
.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li:first-child .icon_area {
  padding-top: 0;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li:last-child .text_area,
.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li:last-child .icon_area {
  padding-bottom: 0;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .num::after {
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  bottom: 0;
  transform: unset;
  right: -29px;
  width: 30px;
  height: 100%;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .num::before {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 100% 50%);
  top: 0;
  transform: unset;
  left: -29px;
  height: 100%;
  width: 30px;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .text_area .flow_ttl {
  text-align: center;
}

.single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .text_area .inner .text {
  font-size: 14px;
}

.top_contact .error_message {
  color: #ff0000;
  display: none;
  text-align: center;
}

#course_other,
#single_course_page {
  padding-top: 100px;
}

@media (max-width: 750px) {
  .wrap {
    max-width: 90vw;
  }

  .wrap_mini {
    max-width: 92vw;
  }

  .wrap_big {
    max-width: 95vw;
  }

  a[href$='.pdf']::before {
    width: 7vw;
    height: 8vw;
    margin-right: 2.5vw;
  }

  a[href$='.pdf']:hover {
    text-decoration: underline;
  }

  body {
    font-size: 3.2vw;
    /* padding-top: 55px; */
    min-width: unset;
  }

  /* SPヘッダー */
  #sp_header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    background: #fff;
    box-shadow: 1px 1px #ccc;
    z-index: 999;
    height: 55px;
  }

  #sp_header .logo {
    position: absolute;
    left: 10px;
    top: 15px;
    line-height: 0;
  }

  #sp_header .logo img {
    height: 25px;
  }

  #sp_header .icon {
    color: #000;
    position: absolute;
  }

  #sp_header .mail {
    right: 70px;
    top: 13px;
    font-size: 25px;
  }

  #sp_header .tel {
    right: 110px;
    top: 15px;
    font-size: 20px;
  }

  /* SP固定ページ 共通設定 */
  .common_page_wrap {
    padding: 10vw 0;
  }

  .common_page_title h2 {
    font-size: 5vw;
  }

  .common_page_title .sub_title {
    font-size: 3vw;
  }

  .reserve_text {
    font-size: 6vw;
  }

  /* パンくず */
  .breadcrumb {
    font-size: 2.5vw;
  }

  /* SP固定ページ 会社概要 */
  .company_profile {
    margin-bottom: 20vw;
  }

  .company_profile table th,
  .company_profile table td {
    font-size: 3.2vw;
    width: 100%;
    display: block;
  }

  .company_profile table {
    border-top: 1px solid;
  }

  .company_profile table th {
    width: 100%;
    background-color: #f2f2f2;
  }

  .company_profile table td {
    width: 100%;
  }

  .company_access .map {
    height: 50vw;
  }

  /* SP固定ページ お問い合わせ */
  #page_contact table {
    margin-bottom: 10vw;
    width: 100%;
  }

  #page_contact table th,
  #page_contact table td {
    font-size: 4vw;
    display: block;
    border-bottom: none;
    padding: 5vw 4vw;
  }

  #page_contact table th {
    width: 100%;
    text-align: left;
    padding: 3vw;
    display: flex;
    justify-content: space-between;
    /* flex-direction: row-reverse; */
    align-items: center;
  }

  #page_contact table td {
    width: 100%;
  }

  #page_contact input[type='text'],
  #page_contact input[type='email'],
  #page_contact #zip {
    width: 100%;
    height: 12vw;
  }

  #page_contact input.tel {
  }

  #page_contact select {
    width: 100%;
  }

  #page_contact textarea {
    width: 100%;
    height: 60vw;
  }

  #page_contact #btn_wrap button {
    width: 80%;
    line-height: 12vw;
    border-radius: 4px;
    font-size: 4vw;
  }

  #page_contact #btn_wrap button[name='submitBack'] {
    margin-top: 4vw;
  }

  .mwform-checkbox-field.horizontal-item {
    display: block;
  }

  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0;
    margin-top: 2vw;
  }

  #page_contact .attention {
    font-size: 3vw;
  }

  #page_contact .progressbar #step_2 .en::before,
  #page_contact .progressbar #step_2 .en::after {
    width: 8vw;
  }

  #page_contact .progressbar #step_2 .en::before {
    left: -4vw;
  }

  #page_contact .progressbar {
    margin-bottom: 7vw;
  }

  .contact_form_disc {
    width: 100%;
    font-size: 3.5vw;
    letter-spacing: 0.02em;
  }

  .contact_form_disc .caution {
    font-size: 3.4vw;
  }

  .contact_form_disc .text {
    margin-bottom: 3vw;
  }

  #page_contact table th .hissu,
  #page_contact table th .ninni {
    display: block;
    width: 13vw;
    padding: 0.2vw 0;
    text-align: center;
    font-size: 3vw;
    margin-right: 0;
  }

  #page_contact table {
    border-bottom: solid 1px #dfdfdf;
  }

  #page_contact #btn_wrap {
    width: 100%;
    text-align: center;
  }

  .privacy_check_list .mwform-checkbox-field-text {
    font-size: 3vw;
    padding-left: 6vw;
  }

  .mw_wp_form .privacy_check_list .horizontal-item {
    margin-right: 4vw;
  }

  .privacy_check_list .hissu {
    padding: 0.3vw 4vw;
  }

  .privacy_check_list {
    margin-bottom: 6vw;
  }

  .privacy_term_detail {
    font-size: 3.4vw;
    padding-bottom: 4vw;
    margin: 5vw 0;
  }

  .privacy_term_outer {
    width: 96%;
    padding: 5vw 0;
  }

  .privacy_term_outer .privacy_term_inner .main_text {
    font-size: 3.4vw;
    line-height: 1.6;
    margin-bottom: 5vw;
  }

  .privacy_term_outer .privacy_term_inner dl dt {
    font-size: 3.5vw;
  }

  .privacy_term_outer .privacy_term_inner dl dd {
    font-size: 3.5vw;
    line-height: 1.6;
  }

  .privacy_term_detail::before {
    width: 2.5vw;
    height: 2.5vw;
  }

  /* サンクスページ */
  .thanks_textArea p {
    font-size: 3.5vw;
  }

  .thanks_textArea .contact_text {
    margin-bottom: 2em;
    width: 100%;
  }

  #page_contact .thanks_textArea .ichiran_link {
    width: 80%;
    line-height: 12vw;
    font-size: 4vw;
  }

  .thanks_textArea .top_text {
    width: 100%;
    font-size: 3.8vw;
    margin: 0 auto 5vw;
    text-align: left;
  }

  .thanks_textArea .line_btn {
    margin-bottom: 5vw;
  }

  .thanks_textArea .line_btn a {
    height: auto;
    width: 39vw;
  }

  /* ステップバー デザイン */
  #page_contact .progressbar .item {
    font-size: 4vw;
    line-height: 1.4;
    padding: 13vw 0px 2vw;
    width: 31%;
  }

  #page_contact .progressbar .item .en {
    display: block;
    color: #7b7b7b;
    font-size: 3.5vw;
    margin-bottom: 1vw;
  }

  #page_contact .progressbar .item::before {
    width: 8vw;
    height: 8vw;
  }

  #page_contact .progressbar .item.active::after {
    top: 2vw;
    width: 4vw;
    height: 4vw;
  }

  #page_contact .progressbar #step_2 .en {
    position: relative;
  }

  #page_contact .progressbar #step_2 .en::before,
  #page_contact .progressbar #step_2 .en::after {
    content: '';
    position: absolute;
    left: -47px;
    height: 1px;
    width: 100px;
    background: #a4a5a4;
  }

  #page_contact .progressbar #step_2 .en::after {
    left: auto;
    right: -4vw;
  }

  #page_contact .progressbar #step_2 .en::before,
  #page_contact .progressbar #step_2 .en::after {
    width: 8vw;
  }

  #page_contact .progressbar #step_2 .en::before {
    left: -4vw;
  }

  /* SP固定ページ 個人情報保護方針 */
  #page_privacy .main_text {
    font-size: 3.5vw;
  }

  #page_privacy dl {
    margin-bottom: 10vw;
  }

  #page_privacy dl dt {
    font-size: 4vw;
  }

  #page_privacy dl dd {
    font-size: 3.5vw;
    margin-left: 5vw;
  }

  /* SP固定ページ 404ページ */
  #page_404 .num {
    font-size: 20vw;
    line-height: 1.5;
  }

  #page_404 .text {
    font-size: 3.5vw;
  }

  /* SP投稿ページ アーカイブページ */
  .archive_page_list > article {
    padding-right: 20px;
  }

  .archive_page_list > article .date {
    width: 80px;
  }

  .archive_page_list > article .content_area {
    width: calc(100% - 80px);
  }

  .archive_page_list > article:after {
    width: 7px;
    height: 7px;
  }

  /* SP投稿ページ シングルページ */
  .singleContent .single_title::before {
    width: 3vw;
    height: 3vw;
    top: 7vw;
  }

  .singleContent .title_area .en {
    font-size: 3vw;
  }

  .single_main_img {
    width: 47vw;
    height: 47vw;
    margin: 0 auto 5vw auto;
  }

  .singleContent .day_cat {
    flex-wrap: nowrap;
    margin-bottom: 10vw;
  }

  .singleContent .day_cat .day {
    font-size: 3.2vw;
    margin-right: 3vw;
    padding-right: 3vw;
    flex-shrink: 0;
  }

  .singleContent .day_cat ul {
    gap: 2vw;
  }

  .singleContent .day_cat .category_list {
    width: 100%;
  }

  .singleContent h1 {
    font-size: 4.5vw;
    padding: 2vw;
  }

  .singleContent .title_area {
    margin-bottom: 10vw;
    padding: 20vw 0 5vw;
  }

  .singleContent .single_title {
    font-size: 4.5vw;
    letter-spacing: 0.05em;
  }

  .singleContent .single_title time {
    font-size: 3vw;
  }

  .singleContent .category_list ul li {
    font-size: 2.5vw;
    padding: 1vw 3vw;
  }

  .singleContent article h2 {
    font-size: 4.2vw;
    padding: 2vw;
  }

  .singleContent article h3 {
    font-size: 4vw;
    padding: 2vw;
    margin: 1.5em 0 1em;
  }

  .singleContent article h4 {
    font-size: 4vw;
    padding: 2vw;
    margin: 1.5em 0 1em;
  }

  .singleContent article h5 {
    font-size: 4vw;
  }

  .singleContent h6 {
    font-size: 3.8vw;
  }

  .singleContent p {
    font-size: 3.5vw;
  }

  #single_page .singleContent {
    width: 100%;
    margin: 0;
  }

  #single_page .singleContent .ichiran_link {
    width: 80%;
    line-height: 12vw;
    margin: 10vw auto 0 auto;
    font-size: 4vw;
  }

  #single_page .singleContent .ichiran_link:hover {
    opacity: 1;
  }

  #single_page .singleSidebar {
    display: none;
  }

  .singleContent_links {
    margin-top: 25vw;
  }

  .singleContent_links .btn {
    margin-bottom: 4vw;
    font-size: 3.4vw;
  }

  .singleContent_links a .ttl {
    font-size: 3.2vw;
  }

  .singleContent_links ul {
    width: 40%;
  }

  .recommend_post_area {
    width: 100%;
    margin: 14vw 0 0;
  }

  .recommend_post_area .ttl {
    font-size: 4.2vw;
    letter-spacing: 0.05em;
    padding-bottom: 2vw;
    margin-bottom: 5vw;
  }

  .recommend_post_area .ttl .en {
    font-size: 3vw;
  }

  .recommend_post_area .img {
    height: 25vw;
  }

  .recommend_post_area ul {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3vw;
    row-gap: 5vw;
  }

  .recommend_post_area .day_cat {
    display: block;
  }

  .recommend_post_area .category_list .cat {
    font-size: 2vw;
    padding: 0 2vw;
  }

  .article_flame_wrap .text_box {
    height: auto;
    position: relative;
    padding-top: 4vw;
  }

  .recommend_post_area .day_cat .day {
    font-size: 3vw;
    margin-right: 0;
    padding-right: 0;
    border-right: none;
    position: absolute;
    left: 0;
    top: 0;
  }

  .recommend_post_area .inner_ttl {
    font-size: 3vw;
    margin-top: 1vw;
    -webkit-line-clamp: 1;
    height: 4.8vw;
  }

  .breadcrumb.single {
    text-align: left;
    margin-top: 25vw;
  }

  .singleContent_links .img {
    margin-bottom: 3vw;
    height: 25vw;
  }

  #toc_container li::before {
    width: 3vw;
    height: 3vw;
    top: 1vw;
  }

  #toc_container li {
    padding-left: 4vw;
  }

  .singleContent .singleContent_links ul li {
    padding: 0;
  }

  .singleContent_links ul li + li {
    margin-top: 3vw;
  }

  .singleContent_links ul li {
    padding-left: 6vw;
  }

  .singleContent article ul {
    padding: 4vw 3vw;
  }

  .singleContent_links ul::before {
    width: 4vw;
    height: 4vw;
  }

  .singleContent ol::before {
    border-width: 0 18px 18px 0;
  }

  .singleContent ol {
    padding: 6vw 3vw;
  }

  .singleContent #toc_container {
    margin-bottom: 8vw;
  }

  /* SP固定ページ サイトマップ */
  ul#sitemap_list li {
    margin: 0;
  }

  body #sitemap_list li a {
    font-size: 4vw;
    padding: 1vw 2vw;
    line-height: 9vw;
    margin-bottom: 1vw;
  }

  body #sitemap_list li.home-item {
    margin-bottom: 4vw;
  }

  body #sitemap_list {
    padding: 0;
  }

  #top_program .paid_area {
    padding: 20vw 0;
    margin-bottom: 20vw;
  }

  #top_program .main_title {
    margin-bottom: 10vw;
  }

  #top_program .main_title .title {
    font-size: 6.5vw;
  }

  .common_hukidashi {
    font-size: 4vw;
    display: inline-block;
    margin-bottom: 3vw;
  }

  .common_hukidashi small {
    font-size: 3.2vw;
  }

  #top_program .main_title .sub {
    font-size: 5vw;
  }

  #top_program .main_title .sub .size {
    font-size: 6vw;
  }

  #top_program .course_box_wrap .course_title .title {
    font-size: 5vw;
  }

  #top_program .course_box_wrap .flow_area .title {
    font-size: 4vw;
    padding-left: 5vw;
  }

  #top_program .course_box_wrap .flow_area .title:before {
    left: 2vw;
  }

  #top_program .course_box_wrap .flow_num_area {
    margin-bottom: 0;
    width: 10vw;
  }

  #top_program .course_box_wrap .flow_area .fl_wrap {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20vw;
  }

  #top_program .course_box_wrap .flow_num_area ul {
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }

  #top_program .course_box_wrap .flow_num_area ul li {
    width: 100%;
    font-size: 4vw;
    /* line-height: 25vw; */
    padding-left: 0;
    text-align: center;
    flex-grow: 1;
  }

  #top_program .course_box_wrap .flow_num_area ul li + li {
    margin-top: 5vw;
  }

  #top_program .course_box_wrap .flow_num_area ul li:nth-child(1)::after {
    border-top-color: #73abed;
  }

  #top_program .course_box_wrap .flow_num_area ul li:nth-child(2)::after {
    border-top-color: #5ca1f0;
  }

  #top_program .course_box_wrap .flow_num_area ul li:nth-child(3)::after {
    border-top-color: #4593ef;
  }

  #top_program .course_box_wrap .flow_num_area ul li:nth-child(4)::after {
    border-top-color: #2d85eb;
  }

  #top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(1)::after {
    border-top-color: #6a79be;
  }

  #top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(2)::after {
    border-top-color: #5061af;
  }

  #top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(3)::after {
    border-top-color: #3b4ea2;
  }

  #top_program .free_area .course_box_wrap .flow_num_area ul li:nth-child(4)::after {
    border-top-color: #273c98;
  }

  #top_program .course_box_wrap .flow_num_area ul li small {
    display: none;
  }

  #top_program .course_box_wrap .flow_num_area ul li:before,
  #top_program .course_box_wrap .flow_num_area ul li:after {
    border-right: 5vw solid transparent;
    border-left: 5vw solid transparent !important;
    border-top: 4vw solid #e2f0ff;
    border-bottom: 0;
  }

  #top_program .free_area .course_box_wrap .flow_num_area ul li:before {
    border-top-color: #fff;
  }

  #top_program .course_box_wrap .flow_num_area ul li:before {
    left: 0;
  }

  #top_program .course_box_wrap .flow_num_area ul li:after {
    right: 0;
    top: 100%;
  }

  #top_program .course_box_wrap .flow_contents_area {
    margin-bottom: 0;
    width: calc(100% - 40px - 4vw);
  }

  #top_program .course_box_wrap .flow_contents_area ul {
    display: block;
  }

  #top_program .course_box_wrap .flow_contents_area ul li {
    width: 100%;
    text-align: left;
    display: flex;
    align-items: center;
  }

  #top_program .course_box_wrap .flow_contents_area ul li .text_area {
    flex-grow: 1;
  }

  #top_program .course_box_wrap .flow_contents_area ul li + li {
    margin-top: 5vw;
  }

  #top_program .course_box_wrap .flow_contents_area ul li .icon {
    width: 18vw;
    height: 18vw;
    margin: 0 4vw 0 0;
  }

  #top_program .course_box_wrap .flow_contents_area ul li .icon img {
    max-width: 60%;
    max-height: 60%;
  }

  #top_program .course_box_wrap .flow_contents_area ul li .item {
    font-size: 3.4vw;
    margin-bottom: 0.2em;
    height: auto;
    display: block;
  }

  #top_program .course_box_wrap .flow_contents_area ul li .text {
    font-size: 3vw;
  }

  #top_program .course_box_wrap .flow_contents_area ul li .item small {
    font-size: 2.3vw;
  }

  .common_course_list ul {
    display: block;
    white-space: nowrap;
    overflow: scroll;
  }

  .common_course_list ul li {
    display: inline-block;
    white-space: initial;
    width: 70vw;
    vertical-align: top;
  }

  .common_course_list ul li + li {
    margin-left: 3vw;
  }

  .common_course_list ul li:after {
    width: 6vw;
    height: 6vw;
    background-size: contain;
  }

  .common_course_list ul li .image {
    height: 50vw;
  }

  .common_course_list ul li .text_area {
    padding: 10vw 4vw 4vw 4vw;
  }

  .common_course_list ul li .text_area:after {
    height: 20vw;
    top: -20vw;
  }

  .common_course_list ul li .text_area .title_box {
    top: -3vw;
  }

  .common_course_list ul li .text_area .title {
    font-size: 4vw;
  }

  .common_course_list ul li .text_area .point {
    font-size: 3.6vw;
  }

  .common_course_list ul li .text_area .text {
    font-size: 3vw;
    min-height: 15vw;
  }

  #top_program .price_area {
    margin-top: 10vw;
  }

  #top_program .price_area .text {
    font-size: 6vw;
  }

  #top_program .price_area .text small {
    font-size: 4vw;
  }

  #top_program .price_area .text .size {
    font-size: 10vw;
  }

  #top_program .price_area .price_box {
    margin-bottom: 5vw;
    margin-left: 17vw;
  }

  #top_program .price_area .price_box .hukidashi {
    left: -20vw;
    font-size: 4vw;
    width: 17vw;
    height: 17vw;
  }

  #top_program .price_area .price_box .hukidashi:before {
    right: -7px;
  }

  #top_program .price_area .price_box .num {
    font-size: 16.5vw;
  }

  #top_program .price_area .price_box .yen_box .yen {
    font-size: 7vw;
  }

  #top_program .price_area .price_box .yen_box .tax {
    font-size: 3vw;
  }

  #top_program .price_area .price_box .text_defo {
    font-size: 5vw;
    width: 100%;
    margin-top: 4vw;
    margin-right: 17vw;
  }

  #top_program .price_area .addition {
    font-size: 5vw;
  }

  #top_program .price_area .attention {
    font-size: 3vw;
  }

  #top_support {
    padding-top: 20vw;
  }

  #top_support .main_text .arrow {
    font-size: 4.5vw;
    margin-bottom: 14vw;
  }

  #top_support .main_text .arrow:before {
    border-right: 40vw solid transparent;
    border-left: 40vw solid transparent;
    border-top: 15vw solid #122a91;
    left: calc(50% - 40vw);
    top: -2vw;
  }

  #top_support .main_text .text {
    font-size: 5vw;
  }

  #top_support .main_text .text .size {
    font-size: 6vw;
  }

  #top_support .contents_wrap {
    padding-top: 30vw;
    margin-top: 10vw;
  }

  #top_support .contents_wrap .contents {
    margin-bottom: 10vw;
  }

  #top_support .contents_wrap:before {
    border-top: 20vw solid #fff;
  }

  #top_support .main_title {
    font-size: 5vw;
  }

  #top_support .contents_wrap .contents .image {
    width: 100%;
    height: 40vw;
    margin-bottom: 5vw;
  }

  #top_support .contents_wrap .contents .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  #top_support .contents_wrap .contents .text_area {
    width: 100%;
  }

  #top_support .contents_wrap .contents .text_area ul {
    margin-bottom: 10vw;
  }

  #top_support .contents_wrap .contents .text_area ul li {
    padding-left: 8vw;
    background-position: 0 2vw;
    background-size: 5vw;
  }

  #top_support .contents_wrap .contents .text_area ul li .catch {
    font-size: 3.7vw;
  }

  #top_support .contents_wrap .contents .text_area ul li .catch .accent {
    font-size: 4.5vw;
  }

  #top_support .contents_wrap .contents .text_area ul li + li {
    margin-top: 4vw;
  }

  #top_support .contents_wrap .contents .flow_area .title_box {
    width: 100vw;
    height: 20vw;
  }

  #top_support .contents_wrap .contents .flow_area .title_box:before {
    border-width: 20.3vw 92vw 0px 0px;
  }

  #top_support .contents_wrap .contents .flow_area .title_box:after {
    border-width: 0 0 20.2vw 92vw;
  }

  #top_support .contents_wrap .contents .flow_area .title_box .title {
    font-size: 4vw;
  }

  #top_support .contents_wrap .contents .flow_area .text_box {
    width: 100%;
    padding: 4vw;
  }

  #top_support .contents_wrap .contents .flow_area .text_box dl {
    display: block;
  }

  #top_support .contents_wrap .contents .flow_area .text_box dl + dl {
    margin-top: 0.5em;
  }

  #top_support .contents_wrap .contents .flow_area .text_box dl dt {
    font-size: 4.2vw;
    width: 100%;
  }

  #top_support .contents_wrap .contents .flow_area .text_box dl dt small {
    font-size: 3.6vw;
  }

  #top_support .contents_wrap .contents .flow_area .text_box dl dd {
    width: 100%;
    font-size: 3.5vw;
  }

  #top_support .unofficial_company {
    padding-bottom: 20vw;
    padding-top: 10vw;
  }

  #top_support .unofficial_company .bx-wrapper {
    margin: 0 auto 2vw auto;
  }

  #top_support .unofficial_company .text {
    margin-top: 10vw;
  }

  #top_reviews {
    margin: 20vw 0;
  }

  #top_reviews .main_title {
    margin-bottom: 10vw;
  }

  #top_reviews .main_title .title {
    font-size: 5.5vw;
  }

  #top_reviews .main_title .title:before {
    width: 10vw;
    height: 10vw;
    left: -12vw;
    top: -3vw;
    background-size: contain;
  }

  #top_reviews ul {
    grid-template-columns: repeat(1, 1fr);
  }

  #top_reviews ul li .image {
    height: 50vw;
    margin-bottom: 4vw;
  }

  #top_reviews ul li .name {
    font-size: 4vw;
  }

  #top_reviews ul li .info {
    font-size: 3.5vw;
  }

  #main_footer {
    padding: 20vw 0 8vw 0;
    position: relative;
    z-index: 101;
  }

  #main_footer .wrap {
    max-width: 75%;
  }

  #main_footer .logo {
    width: 100%;
    margin: 0 auto 10vw auto;
  }

  #main_footer .copyright {
    font-size: 3vw;
  }

  #main_footer .contact_button_wrap {
    margin-bottom: 10vw;
  }

  #main_footer .contact_button_wrap ul li + li {
    margin-top: 4vw;
  }

  #main_footer .contact_button_wrap ul li + li a {
    background: #ffe200;
  }

  #main_footer .contact_button_wrap ul li a {
    display: block;
    background: #ffe200;
    color: #325fba;
    font-weight: bold;
    height: 19vw;
    display: flex;
    align-items: center;
    padding: 4vw;
    position: relative;
    font-size: 3.7vw;
  }

  #main_footer .contact_button_wrap ul li a::after {
    content: '';
    width: 10px;
    height: 12px;
    background-color: #325fba;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    position: absolute;
    right: 5vw;
    top: calc(50% - 6px);
  }

  /* PCメインビジュアル */
  #top_mv {
    padding: 6vw 0;
    background: url(./image/mainvisual_back_sp.png) no-repeat;
    background-size: cover;
    background-position: center;
    margin-top: 0;
  }

  #top_mv .text_area {
    width: 100%;
    margin-left: 0;
    margin-top: 0;
    margin-bottom: 4vw;
  }

  #top_mv .mv_img {
    width: 100%;
  }

  #top_mv .text_area .sub_ttl {
    font-size: 3vw;
    margin-bottom: 4vw;
  }

  #top_mv .text_area .sub_ttl .size {
    font-size: 3.5vw;
  }

  #top_mv .text_area .sub_ttl .color {
    font-size: 4.5vw;
  }

  #top_mv .text_area .catch {
    font-size: 9vw;
    margin-bottom: 4vw;
  }

  #top_mv .text_area .point_box {
    align-items: center;
    margin-bottom: 0;
  }

  #top_mv .text_area .point_box .point {
    font-size: 5vw;
  }

  #top_mv .text_area .point_box .point .size {
    font-size: 15vw;
    margin-right: 0.05em;
  }

  #top_mv .text_area .point_box .icon {
    width: 45vw;
    font-size: 3vw;
    margin-left: 7vw;
  }

  #top_mv .text_area .point_box .icon .num {
    font-size: 8vw;
  }

  #top_mv .text_area .point_box .icon small {
    font-size: 2.3vw;
  }

  #top_mv .text_area .text {
    font-size: 3.5vw;
    margin-top: 1em;
  }

  /* PC TOPお悩みセクション */
  #top_worries_sec {
    padding: 20vw 0;
  }

  #top_worries_sec .ttl_box .ttl {
    font-size: 5vw;
    margin-bottom: 2em;
  }

  #top_worries_sec .ttl_box .ttl .size {
    font-size: 7vw;
  }

  #top_worries_sec .ttl_box .ttl .size:before {
    width: 20vw;
    height: 20vw;
    left: 4vw;
    top: -4vw;
    background-size: contain;
  }

  #top_worries_sec .worries_list ul {
    display: block;
  }

  #top_worries_sec .worries_list ul li {
    padding: 4vw;
    white-space: initial;
    vertical-align: top;
  }

  #top_worries_sec .worries_list ul li + li {
    margin-top: 6vw;
  }

  #top_worries_sec .worries_list ul li .icon {
    margin-bottom: 4vw;
  }

  #top_worries_sec .worries_list ul li .item {
    font-size: 3.2vw;
    padding-bottom: 7vw;
  }

  #top_worries_sec .worries_list ul li .item .size {
    font-size: 4vw;
  }

  #top_worries_sec .worries_list ul li .text {
    font-size: 3vw;
  }

  #top_reason {
    padding-bottom: 20vw;
  }

  #top_reason .main_title {
    margin-bottom: 10vw;
  }

  #top_reason .main_title .title {
    font-size: 7vw;
  }

  #top_reason .main_title .title .small {
    font-size: 5vw;
  }

  #top_reason .box + .box {
    margin-top: 10vw;
    padding-top: 6vw;
  }

  #top_reason .box .image {
    width: 100%;
    height: auto;
    margin-bottom: 4vw;
    padding: 4vw;
  }

  #top_reason .box .image img {
    position: static;
  }

  #top_reason .box:nth-child(even) .image {
    order: -1;
  }

  #top_reason .box .text_area {
    width: 100%;
  }

  #top_reason .box .text_area .catch_area {
    margin-bottom: 4vw;
  }

  #top_reason .box .text_area .catch_area .catch {
    font-size: 4vw;
  }

  #top_reason .box .text_area .catch_area .catch .size {
    font-size: 5vw;
  }

  .single-course .common_page_wrap {
    padding-top: 0;
  }

  .course_common_ttl {
    font-size: 5vw;
    margin-bottom: 1.7em;
  }

  .course_common_ttl::before,
  .course_common_ttl::after {
    height: 3px;
  }

  .single_course_page #course_tec {
    padding: 20vw 0;
    margin-bottom: 20vw;
  }

  .single_course_page #course_tec .tec_list ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 4vw;
  }

  .single_course_page #course_tec .tec_list ul li {
    font-size: 3.4vw;
  }

  .single_course_page #course_flow {
    padding-bottom: 20vw;
  }

  .single_course_page.thanks_flow #course_flow {
    padding: 20vw 0 0;
  }

  .single_course_page .single_course_page #course_flow {
    padding-top: 20vw;
  }

  .single_course_page #course_flow .flow_cont ol > li + li {
    margin-top: 9vw;
  }

  .single_course_page #course_flow .flow_cont ol > li {
    gap: 4vw;
  }

  .single_course_page #course_flow .flow_cont ol > li .num {
    font-size: 4vw;
    padding: 5vw 3vw;
  }

  .single_course_page #course_flow .flow_cont ol > li .num::before,
  .single_course_page #course_flow .flow_cont ol > li .num::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 5vw;
  }

  .single_course_page #course_flow .flow_cont ol > li .icon_area {
    display: none;
  }

  .single_course_page #course_flow .flow_cont ol > li .text_area .flex_box {
    margin-bottom: 3vw;
    display: flex;
    align-items: center;
    gap: 3vw;
  }

  .single_course_page #course_flow .flow_cont ol > li .text_area .flex_box .icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 13vw;
    height: 13vw;
    padding: 3vw;
    background-color: #f4f6ff;
    border-radius: 50%;
    flex-shrink: 0;
  }

  .single_course_page #course_flow .flow_cont ol > li .text_area .flex_box .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .single_course_page #course_flow .flow_cont ol > li .text_area .flow_ttl {
    font-size: 3.4vw;
  }

  .single_course_page #course_flow .flow_cont ol > li .text_area .inner .text,
  .single_course_page #course_flow .flow_cont ol > li .text_area .text_list {
    font-size: 3.5vw;
  }

  .single_course_page #course_flow .flow_cont ol > li:first-child .text_area,
  .single_course_page #course_flow .flow_cont ol > li:first-child .icon_area {
    padding-top: 5vw;
  }

  .single_course_page #course_flow .flow_cont ol > li:last-child .text_area,
  .single_course_page #course_flow .flow_cont ol > li:last-child .icon_area {
    padding-bottom: 5vw;
  }

  .single_course_page #course_main {
    padding: 15vw 0;
  }

  .single_course_page #course_main .cont {
    align-items: unset;
    flex-direction: column;
    gap: 9vw;
  }

  .single_course_page #course_main .cont .ttl_area {
    gap: 4vw;
  }

  .single_course_page #course_main .cont .ttl_area .course_icon {
    width: 15vw;
    height: 15vw;
    padding: 3vw;
  }

  .single_course_page #course_main .cont .ttl_area .course_ttl {
    font-size: 7vw;
  }

  .single_course_page #course_main .cont .detail_area .course_price {
    font-size: 5vw;
    margin-bottom: 1em;
  }

  .single_course_page #course_main .cont .detail_area .recommend_list ul {
    font-size: 3.4vw;
  }

  .single_course_page #course_description {
    padding: 15vw 0 15vw;
  }

  .single_course_page #course_description .cont {
    padding: 5vw;
  }

  .single_course_page #course_description .descript_text {
    font-size: 3.5vw;
  }

  #course_contact {
    padding: 20vw 0;
  }

  #course_contact .btn_wrap {
    gap: 4vw;
    flex-direction: column;
  }

  #course_contact .btn_wrap .btn {
    width: 100%;
    font-size: 3.5vw;
  }

  #course_contact .btn_wrap .btn:hover {
    opacity: 1;
  }

  .single_course_page #course_other {
    padding-top: 20vw;
  }

  .single_course_page #course_other .cont + .cont {
    margin-top: 8vw;
  }

  .single_course_page #course_other .cont .course_type {
    font-size: 4.5vw;
    padding-left: 1.2em;
    border-left: 4px solid currentColor;
    margin-bottom: 1.3em;
  }

  .single_course_page #course_other .cont .course_type::before {
    width: 2px;
    left: 4px;
  }

  .mwform-checkbox-field-text {
    padding-right: 0;
  }

  .common_page_main {
    margin-top: 0;
    padding: 15vw 0;
  }

  .common_page_main .common_fv_cont {
    gap: 5vw;
  }

  .common_page_main .common_fv_cont .title_box .title {
    font-size: 7vw;
  }

  .common_page_main .common_fv_cont .title_box .sub_title {
    font-size: 4vw;
    color: #ffe200;
    text-transform: capitalize;
  }

  .common_page_main .common_fv_cont .icon {
    width: 25vw;
  }

  .sp_follow_cta_area {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    /* padding: 2vw; */
    /* background-color: #FFE200; */
    z-index: 100;
    transition: 0.3s;
    opacity: 0;
  }

  .sp_follow_cta_area.active {
    opacity: 1;
  }

  .sp_follow_cta_area .btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.6em 2.5em;
    font-size: 4.2vw;
    line-height: 1.5;
    background-color: #ffe200;
    /* border-radius: 100vmax; */
    color: #325fba;
    font-weight: 700;
  }

  .sp_follow_cta_area .btn::after {
    content: '';
    width: 1em;
    height: 1em;
    background-color: currentColor;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    flex-shrink: 0;
  }

  .sp_follow_cta_area .btn .size {
    font-size: 1.4em;
  }

  .sp_follow_cta_area .btn .size .small {
    font-size: 0.5em;
    margin-left: 2em;
  }

  .single_course_page #course_tec .note_text,
  #top_reason .box .text_area .note_text {
    font-size: 2.8vw;
  }

  #top_reason .box .text_area .note_text {
    text-align: right;
  }

  #top_program {
    padding-bottom: 20vw;
  }

  #top_program.flow_contact_flow {
    padding-bottom: 0;
  }

  #top_program.flow_contact_flow .course_box_wrap .flow_num_area {
    display: none;
  }

  #top_program.flow_contact_flow .course_box_wrap .flow_contents_area {
    width: 1100%;
  }

  #main_footer .contact_button_wrap ul li a .size {
    font-size: 1.4em;
  }

  #main_footer .contact_button_wrap ul li a .size .small {
    font-size: 0.5em;
    margin-left: 2em;
  }

  #page_contact.top_contact {
    padding-bottom: 20vw;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol {
    display: block;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li {
    gap: 4vw;
    flex-direction: row;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .num {
    writing-mode: vertical-lr;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .num::before,
  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .num::after {
    width: 100%;
    height: 5vw;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .num::before {
    clip-path: polygon(50% 100%, 100% 0, 100% 100%, 0 100%, 0 0);
    top: 0.5px;
    transform: translateY(-100%);
    left: 0;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .num::after {
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    bottom: 0.5px;
    transform: translateY(100%);
    right: 0;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li:first-child .text_area,
  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li:first-child .icon_area {
    padding-top: 5vw;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .text_area {
    justify-content: center;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li + li {
    margin-top: 9vw;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li:last-child .text_area,
  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li:last-child .icon_area {
    padding-bottom: 5vw;
  }

  .single_course_page.top_bottom_flow #course_flow .flow_cont ol > li .text_area .inner .text {
    font-size: 3vw;
  }

  #page_contact input[name='firstName'],
  #page_contact input[name='lastName'],
  #page_contact #zip {
    width: 49%;
  }

  #course_other,
  #single_course_page {
    padding-top: 15vw;
  }
}
