@charset "utf-8";
/* 独学道場 税理士 LP
 * 移植元: dokugaku/_kit/css/base.css（index.blade.php で使用中のコンポーネントのみ）
 * 旧スタイルは style-old.css
 */

html {
scroll-padding-top: 220px;
}
@media (width <= 767px) {
html {
    scroll-padding-top: 176px;
}
}
.winSP #wrapper {
  overflow: clip;
}

#dokugaku_zeirishi_lp {
background-color: var(--color-white);
  font-size: var(--fz-16);
  line-height: 1.6;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  --color-black: #323232;
  --color-white: #ffffff;
  --color-gray: #b5b5b5;
  --color-light_gray: #f8f8f8;
  --color-red: #cc111a;
  --color-dokugaku: #142f5c;

  --color-zeirishi: #108edd;
  --color-standard-course: #344e7f;
  --color-premium-course: #AF984A;
  --color-boki: #e74c54;
  --color-zaimu: #006CB8;
  --color-light-zeirishi: #f6fbff;
  --color-light-standard-course: #e9edf4;
  --color-light-premium-course: #f9f7f0;
  --color-light-boki: #fff3f2;
  --color-light-zaimu: #e7effb;

  --fz-40: 40px;
  --fz-30: 30px;
  --fz-22: 22px;
  --fz-18: 18px;
  --fz-16: 16px;
  --fz-14: 14px;
  --fz-12: 12px;
  --fz-10: 10px;
  @media (width <= 767px) {
    --fz-40: 26px;
    --fz-30: 22px;
    --fz-22: 18px;
    --fz-18: 16px;
    --fz-16: 14px;
    --fz-14: 14px;
    --fz-12: 12px;
    --fz-10: 10px;
}
/* ========================================
   1. 要素タグ直接指定
   ======================================= */
/* Hgroup
------------------------------- */
hgroup {
  font-feature-settings: "palt";
}
/* Sup
------------------------------- */
sup {
  vertical-align: super;
  font-size: 50%;
}
/* Table
------------------------------- */
table {
  table-layout: fixed;
  border-collapse: collapse;
}
/* A:Hover Img
------------------------------- */
a:hover img {
  opacity: 0.7;
}
/* ========================================
   2. Layout（`.l_`）
   ======================================= */
/* Section
------------------------------- */
.l_section.has_padding-block {
  padding-block: 80px;
}
.l_section.has_padding-block-start {
  padding-block-start: 80px;
}
.l_section.has_padding-block-end {
  padding-block-end: 80px;
}
@media (width <= 767px) {
.l_section.has_padding-block {
    padding-block: 40px;
}
.l_section.has_padding-block-start {
    padding-block-start: 40px;
}
.l_section.has_padding-block-end {
    padding-block-end: 40px;
}
}
/* Wrap
------------------------------- */
.l_wrap {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 16px;
}
.l_wrap.has_narrow {
  max-width: 1000px;
}
.l_wrap.has_wide {
  max-width: 1400px;
}
.l_wrap.has_padding-inline-0 {
  padding-inline: 0;
}
/* ========================================
   3. Component（`.c_`）
   ======================================= */
/* Tag List
------------------------------- */
.c_tag-list {
  display: inline-flex;
  flex-flow: row wrap;
}
.c_tag-list>li {
  padding: 4px;
  border-radius: 4px;
  background-color: #ccc;
  color: var(--color-white);
  font-size: var(--fz-14);
  font-weight: bold;
  line-height: 1.2;
}
.p_course-curriculum__content .c_tag-list>li {
  background-color: var(--details-main-color);
}
/* Bullet List
------------------------------- */
.c_bullet-list > li {
  padding-left: 1em;
  font-size: var(--fz-14);
  line-height: 1.4;
  text-indent: -1em;
}
.c_bullet-list > li::before {
  content: '・';
}
.c_bullet-list__sub-list {
  padding-left: 1em;
}
/* Button
------------------------------- */
.c_button {
  display: inline-flex;
  gap: 0.4em;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1.6em;
  border-radius: 4px;
  font-weight: bold;
  color: var(--color-white);
  text-decoration: none;
  line-height: 1.4;
  cursor: pointer;
  font-feature-settings: "palt";
  background: linear-gradient(to bottom, #41649f 0%, var(--color-dokugaku) 100%);
}
.c_button::after {
  content: '';
  width: 1em;
  height: 1em;
  mask-image: url('../images/icon_chevron.svg');
  background-color: var(--color-white);
}
a.c_button:link,
a.c_button:visited,
a.c_button:hover,
a.c_button:active {
  text-decoration: none;
}
.c_button:hover {
  filter: brightness(1.1) drop-shadow(0 3px 2px rgb(0 0 0 / 0.3));
}
.c_button.is_secondary {
  background: linear-gradient(to bottom, var(--color-white) 0%, #eeeeee 100%);
  color: var(--color-dokugaku);
  border: 1px solid #ccc;
}
.c_button.is_secondary::after {
  background-color: var(--color-dokugaku);
}
.c_button.is_course01 {
  background: var(--color-standard-course);
}
.c_button.is_course02 {
  background: var(--color-premium-course);
}
.c_button.is_scroll::after {
  transform: rotate(90deg);
}
.c_button.is_lg {
  font-size: var(--fz-18);
}
.c_button.is_sm {
  font-size: var(--fz-14);
  padding: 0.8em 1.2em;
}
.c_button.is_xs {
  font-size: var(--fz-12);
  padding: 0.8em 1.2em;
}
.c_button.is_youtube:before,
.c_button.is_book:before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: bottom;
}
.c_button.is_youtube:after,
.c_button.is_book:after {
  display: none;
}
.c_button.is_youtube:before {
  background-image: url('../images/icon_youtube.svg');
}
.c_button.is_book:before {
  background-image: url('../images/icon_book.svg');
}
.c_button.is_full {
  width: 100%;
}
.c_button.is_cta {
  border-radius: 50px;
  background: linear-gradient(180deg, #EC1C26 0%, #AF0F17 100%);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
  padding: 0.6em;
}
.c_button.is_disabled {
  background-color: lightgray;
  color: #fff;
  cursor: not-allowed;
  pointer-events: none;
  padding: 0.6em;
}
.c_button.is_disabled::after {
  display: none;
  content: none;
}
button.c_button {
  border: none;
  font: inherit;
  appearance: none;
}
/* Section Band
------------------------------- */
.c_section-band {
  padding: 16px;
  background-color: var(--color-dokugaku);
  color: var(--color-white);
  font-size: var(--fz-30);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  font-feature-settings: "palt";
}
/* Section Heading
------------------------------- */
.c_section-heading {
  margin-bottom: 40px;
  text-align: center;
}
.c_section-heading__lead {
  font-size: var(--fz-22);
  font-weight: bold;
}
.c_section-heading__title {
  font-size: var(--fz-40);
  font-weight: bold;
  line-height: 1.2;
  > span {
    font-weight: bold;
  }
}
.c_section-heading__accent {
  color: var(--color-zeirishi);
  font-weight: bold;
}
.c_section-heading__sub-title {
  font-size: var(--fz-22);
  font-weight: bold;
}
.c_section-heading.is_lg {
  margin-bottom: 48px;
}
.c_section-heading.is_lg .c_section-heading__lead {
  font-size: 28px;
  background-color: var(--color-dokugaku);
  color: var(--color-white);
  border-radius: 9999px;
}
.c_section-heading.is_lg .c_section-heading__title {
  font-size: 50px;
}
@media (width <= 767px) {
.c_section-heading {
  margin-bottom: 20px;
}
.c_section-heading.is_lg {
  margin-bottom: 24px;
}
.c_section-heading.is_lg .c_section-heading__lead {
  font-size: 20px;
}
.c_section-heading.is_lg .c_section-heading__title {
  font-size: 32px;
}
}
/* ========================================
   4. Project（`.p_`）
   ======================================= */
/* Course Materials
------------------------------- */
.p_course-materials {
  color: var(--color-black);
}
.p_course-materials__box {
  padding: 2%;
  border: thin solid #e9e9e9;
  background-color: var(--color-white);
}
.p_course-materials__trigger {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 5px;
  border: none;
  background-color: #e9e9e9;
  color: inherit;
  font: inherit;
  text-align: center;
  font-weight: bold;
  cursor: pointer;
}
.p_course-materials__trigger::after {
  position: absolute;
  top: 50%;
  right: 2%;
  color: #aaa;
  content: "\25BC";
  transform: translateY(-50%) scale(1.5, 1);
}
.p_course-materials__trigger.is_open::after {
  content: "\25B2";
}
.p_course-materials__panel {
  padding: 2% 2% 0;
}
.p_course-materials__item {
  margin-bottom: 5px;
}
.p_course-materials__note {
  position: relative;
  margin-top: 50px;
  text-align: center;
  font-weight: bold;
}
.p_course-materials__note::before {
  position: absolute;
  top: -70px;
  left: 50%;
  display: inline-block;
  color: #e9e9e9;
  font-size: 100px;
  font-weight: lighter;
  content: "\3009";
  transform: translateX(-50%) rotate(90deg) scale(1, 1.5);
}
/* Price Pack
------------------------------- *//* Course Phase
------------------------------- */
.p_course-phase.is_course02 {
  --container-color: var(--color-premium-course);
}
.p_course-phase+.p_course-phase {
  margin-top: 40px;
}
.p_course-phase__figures {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 8px;
}
.p_course-phase__figures img {
  width: 100%;
  height: auto;
}
@media (width <= 767px) {
.p_course-phase__figures {
    grid-template-columns: 1fr;
}
}
/* Course Challenge
 * 移植元: dokugaku/zeirishi/css/style-old.css (.sche-fig, .add-point, #zeirishi-addition .check)
------------------------------- */
.p_course-challenge__schedule {
  margin: 0 0 10px;
  text-align: center;
}
.p_course-challenge__schedule img {
  width: 100%;
  height: auto;
}
.p_course-challenge__base-up {
  position: relative;
  padding-left: 90px;
}
.p_course-challenge__base-up::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 76px;
  height: 76px;
  background: url(../images/icon_check.png) no-repeat center 100%;
  background-size: contain;
}
.p_course-challenge-points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 4%;
  margin-top: 30px;
}
.p_course-challenge-points__title {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 1.5% 0 1.5% 15%;
  border-radius: 50px;
  background: #ea535d;
  color: #fff;
  font-size: var(--fz-22);
  font-weight: bold;
  text-align: center;
}
.p_course-challenge-points__title::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 5%;
  width: 70px;
  height: 36px;
  background: url(../images/img_add-point.png) no-repeat left top / contain;
  transform: translateY(-50%);
}
.p_course-challenge-points__title::after {
  content: "\25BC";
  display: inline-block;
  position: absolute;
  bottom: -30px;
  left: 50%;
  color: #ea535d;
  font-size: 34px;
  transform: translateX(-50%);
}
.p_course-challenge-points__list {
  margin: 0;
  padding: 0;
  font-size: var(--fz-18);
  list-style: none;
}
.p_course-challenge-points__list > li {
  margin-top: 20px;
  padding-bottom: 2px;
  padding-left: 1.2em;
  border-bottom: 1px dashed #3a5280;
  font-weight: bold;
  text-indent: -1.2em;
}
.p_course-challenge-points__list > li::before {
  content: "● ";
}
.p_course-challenge-callout {
  position: relative;
  width: 100%;
  margin: 0 auto 1em;
  padding: 3%;
  border: 3px solid #1d376b;
  background: #fff;
  color: #1d376b;
  font-size: var(--fz-18);
  font-weight: bold;
}
.p_course-challenge-callout::after {
  content: "\25BC";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: -26px;
  color: #fff;
  font-size: 34px;
  text-shadow: 0 6px 0 #1d376b;
  transform: translateY(-50%) rotate(90deg);
}
.p_course-challenge-callout__emphasis {
  color: #a81255;
  font-weight: bold;
}
@media (width <= 767px) {
.p_course-challenge-points {
    grid-template-columns: 1fr;
    gap: 20px;
}
.p_course-challenge-points__title {
    font-size: 5vw;
}
.p_course-challenge-points__title::before {
    width: 15vw;
    height: 6vw;
}
.p_course-challenge-points__title::after {
    bottom: -5vw;
    font-size: 5vw;
}
.p_course-challenge-callout {
    font-size: 4vw;
}
.p_course-challenge-callout::after {
    top: -19px;
    left: 50%;
    font-size: 20px;
    transform: translateX(-50%) rotate(180deg);
}
.p_course-challenge-points__list > li {
    margin-top: 10px;
}
.p_course-challenge__base-up {
    padding-left: 60px;
}
.p_course-challenge__base-up::before {
    width: 50px;
    height: 50px;
}
}
/* Section #kv
------------------------------- */
#kv {
  background: linear-gradient(180deg, #EDEDED 0%, #FFFFFF 100%);
}
/* Kv
------------------------------- */
.p_kv {
  padding-block: 40px;
}
.p_kv__layout {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: center;
  align-items: center;
  gap: clamp(24px, 4vw, 40px);
}
.p_kv__visual {
  width: clamp(180px, 28vw, 300px);
}
.p_kv__visual img {
  display: block;
  width: 100%;
  height: auto;
}
.p_kv__content {
  position: relative;
}
.p_kv__links {
  display: flex;
  gap: 8px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.p_kv__header {
  margin-bottom: 16px;
}
@media (width <= 767px) {
.p_kv {
    padding-block: 20px;
}
.p_kv__layout {
    grid-template-columns: 1fr;
}
.p_kv__links {
  width: 100%;
  text-align: center;
}
.p_kv__visual {
    display: none;
}
}
/* Section #anchor_links
------------------------------- */
#anchor_links {
  position: sticky;
  top: 185px;
  z-index: 998;
  padding-block: 7px;
  border-top: 1px solid #D9D7DB;
  border-bottom: 1px solid #D9D7DB;
  background: #F8F8F8;
}
@media (width <= 1280px) {
#anchor_links {
    top: 190px;
}
}
@media (width <= 767px) {
#anchor_links {
    top: 103px;
    z-index: 999;
}
}
/* Anchor Links
------------------------------- */
.p_anchor-links__list {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-evenly;
  column-gap: 24px;
  margin-inline: auto;
}
.p_anchor-links__item {
  line-height: 1.2;
}
.p_anchor-links__item::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 4px;
  mask-image: url('../images/icon_chevron.svg');
  vertical-align: middle;
  background-color: var(--color-gray);
}
.p_anchor-links__link {
  color: var(--color-black);
  font-size: 14px;
  font-weight: bold;
}
@media (width <= 767px) {
.p_anchor-links__list {
    flex-wrap: wrap;
    justify-content: flex-start;
    width: auto;
}
.p_anchor-links__link {
    font-size: 12px;
}
}
/* About
------------------------------- */
.p_about__header {
  padding-bottom: 40px;
}
.p_about__title {
  margin-bottom: 8px;
}
.p_about__body {
  text-align: center;
}
.p_about__body img {
  margin-inline: auto;
  margin-block: 40px;
}
.p_about__body p+p {
  margin-top: 20px;
}
.p_about__list {
  list-style-type: decimal;
  list-style-position: inside;
}
@media (width <= 767px) {
  .p_about__header {
    padding-bottom: 20px;
  }
.p_about__body {
    text-align: justify;
}
.p_about__body img {
  max-width: 100%;
    margin-block: 20px;
}
}
/* About Course Cta
------------------------------- */
.p_about-course-cta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-block-start: 40px;
  max-width: 700px;
  margin-inline: auto;
}
.p_about-course-cta__item {
  text-align: center;
}
@media (width <= 767px) {
.p_about-course-cta {
  grid-template-columns: 1fr;
}
}
/* Section Jump
------------------------------- */
.p_section-jump__list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p_section-jump__item {
  text-align: center;
}
@media (width <= 767px) {
.p_section-jump__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
}
/* Section #feature
------------------------------- */
#feature {
  background-color: var(--color-light_gray);
}
/* Feature
------------------------------- */
.p_feature__cards {
  display: flex;
  flex-flow: row wrap;
  gap: 20px 32px;
}
/* Feature Card
------------------------------- */
.p_feature-card {
  width: calc((100% - 32px * 2) / 3);
  display: flex;
  flex-flow: column nowrap;
  gap: 20px;
}
.p_feature-card__catch {
  padding: 8px;
  background-color: var(--color-dokugaku);
  color: var(--color-white);
  text-align: center;
}
.p_feature-card__body {
  text-align: justify;
}
@media (width <= 767px) {
.p_feature-card {
width: 100%;
    > img {
      max-width: stretch;
      margin: 0 auto;
}
}
}
/* Feature Moreover
------------------------------- */
.p_feature-moreover {
  margin-top: 32px;
  padding: 36px 28px;
  border: 2px solid #b9dcff;
  border-radius: 16px;
  background: var(--color-light-zeirishi);
}
.p_feature-moreover__title {
  margin: 0;
  font-size: var(--fz-30);
  font-weight: bold;
  line-height: 1.35;
  text-align: center;
  color: var(--color-dokugaku);
  position: relative;
}
.p_feature-moreover__title > span {
  display: block;
  font-size: 80%;
  font-weight: bold;
}
.p_feature-moreover__text {
  flex: 1 1 45%;
  min-width: 0;
  margin: 0;
}
.p_feature-moreover__body {
  display: flex;
  gap: 40px;
  margin-top: 40px;
}
.p_feature-moreover__images {
  display: flex;
  flex: 0 1 auto;
  align-items: flex-start;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p_feature-moreover__item {
  flex-shrink: 0;
}
.p_feature-moreover__image {
  display: block;
  width: 100px;
  height: auto;
  margin: 0;
}
.p_feature-moreover__mail {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.p_feature-moreover__mail .p_feature-moreover__image {
  flex-shrink: 0;
}
.p_feature-moreover__mail-body {
  flex: 1;
  min-width: 0;
  max-width: 220px;
  padding-top: 8px;
}
@media (width <= 767px) {
.p_feature-moreover {
    padding: 28px 20px;
}
.p_feature-moreover__body {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    margin-top: 20px;
}
.p_feature-moreover__images {
    flex-direction: column;
    gap: 16px;
}
.p_feature-moreover__mail-body {
    max-width: none;
    padding-top: 0;
}
}
/* Course Heading
------------------------------- */
.p_course-heading {
  padding-block: 20px;
  padding-inline: 20px;
  border-radius: 20px 20px 0 0;
  text-align: center;
  position: relative;
  line-height: 1.4;
  color: var(--color-white);
}
.p_course-heading.is_course01 {
  background: var(--color-standard-course);
}
.p_course-heading.is_course02 {
  background: var(--color-premium-course);
}
.p_course-heading__lead {
  font-size: 20px;
  font-weight: bold;
}
.p_course-heading__title {
display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 40px;
  font-weight: bold;
  > span {
    font-size: 50%;
    font-weight: bold;
}
}
.p_course-heading img {
  width: 180px;
  height: 200px;
  position: absolute;
  bottom: 0;
  left: 20px;
}
@media (width <= 767px) {
.p_course-heading {
    padding-block: 8px;
}
.p_course-heading::before {
    width: 60px;
    height: 60px;
    left: 10px;
}
.p_course-heading::after {
    width: 60px;
    height: 60px;
    right: 10px;
}
.p_course-heading__lead {
    font-size: min(20px, 3.6vw);
}
.p_course-heading__title {
    font-size: min(40px, 5.6vw);
}
.p_course-heading img {
    left: 0;
    width: min(21vw, 140px);
    height: auto;
}
}

/* Special Course
------------------------------- */
#special-course {
  background-color: var(--color-light-zeirishi);
}
.p_special-course {
  position: relative;
  padding: 40px 20px;
  border: 2px solid var(--color-dokugaku);
  border-radius: 20px;
  background: var(--color-white);
}
.p_special-course__badge {
  position: absolute;
  top: -20px;
  left: 20px;
  margin: 0;
  padding: 0.3em 0.8em 0.4em;
  border-radius: 99px;
  background: var(--color-standard-course);
  color: var(--color-white);
  font-size: var(--fz-22);
  font-weight: bold;
  line-height: 1;
}
.p_special-course__layout {
  display: flex;
  align-items: center;
  gap: 2%;
}
.p_special-course__body {
  flex: 1;
  min-width: 0;
}
.p_special-course__figure {
  flex: 0 0 27%;
  margin: 0;
}
.p_special-course__figure img {
  width: 100%;
  height: auto;
}
.p_special-course__lead {
  color: var(--color-red);
  font-size: var(--fz-18);
  font-weight: bold;
}
.p_special-course__offer {
  font-size: var(--fz-30);
  font-weight: bold;
  line-height: 1.3;
}
@media (width <= 767px) {
.p_special-course {
  padding: 20px;
}
.p_special-course__layout {
    flex-direction: column;
}
.p_special-course__figure {
    width: 70%;
    margin: 16px auto 0;
}
.p_special-course__offer {
  font-size: 16px;
}
}
/* Web Learning
------------------------------- */
.p_web-learning__layout {
  display: grid;
  grid-template-columns: 45% 54%;
  gap: 1%;
  margin-top: 30px;
}
.p_web-learning__demo-thumb img {
  width: 100%;
}
.p_web-learning__action-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  font-size: var(--fz-14);
}
.p_web-learning__action-item:last-child {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.p_web-learning__trial {
  margin: 10px 0 0;
}
.p_web-learning__link-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.p_web-learning__features {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 10px;
  background-color: #f0f0f0;
}
.p_web-learning__feature {
  padding: 15px;
  background: var(--color-white);
}
.p_web-learning__feature-title {
  color: var(--color-dokugaku);
  font-size: var(--fz-18);
  font-weight: bold;
}
.p_web-learning__feature-text {
  font-size: var(--fz-14);
}
.p_web-learning__feature-figure {
  margin-top: 8px;
}
.p_web-learning__feature-figure img {
  width: 100%;
  max-width: 100%;
}
/* App Download
------------------------------- */
.p_app-download__title {
  margin-bottom: 0.8em;
  font-size: var(--fz-18);
  font-weight: bold;
  font-size: var(--fz-30);
  font-weight: bold;
  color: var(--color-zeirishi);
}
.p_app-download__layout {
  display: flex;
  align-items: stretch;
  gap: 20px;
  padding: 36px 28px;
  border: 2px solid #b9dcff;
  border-radius: 16px;
  background: var(--color-light-zeirishi);
}
.p_app-download__figure {
  flex-shrink: 0;
}
.p_app-download__figure img {
  height: 100%;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}
.p_app-download__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media (width <= 767px) {
.p_web-learning__layout {
    grid-template-columns: 1fr;
    gap: 15px;
}
.p_web-learning__link-row {
    grid-template-columns: 1fr;
}
.p_web-learning__features {
    padding: 10px;
}
.p_app-download__layout {
    flex-direction: column;
    padding: 18px 14px;
}
.p_app-download__figure img {
    width: 100%;
    max-width: 400px;
    height: auto;
    margin-inline: auto;
}
.p_app-download__actions {
    flex-direction: column;
    width: 80%;
    margin-inline: auto;
}
}
/* Material Intro（移植元: index-old.blade.php .teach-section）
------------------------------- */
.p_material-intro__lead {
  margin: 0;
}
.p_material-intro__card {
  margin-top: 20px;
}
.p_material-intro__card + .p_material-intro__card {
  margin-top: 50px;
}
.p_material-intro__card-title {
  margin: 0;
  padding: 5px 10px;
  background: #d9d9d9;
  font-weight: bold;
}
.p_material-intro__card-layout {
  display: grid;
  grid-template-columns: 54% 42%;
  gap: 4%;
  margin-top: 15px;
}
.p_material-intro__preview-link img {
  width: 100%;
}
.p_material-intro__book-name {
  margin-top: 15px;
  font-size: var(--fz-22);
  font-weight: bold;
}
.p_material-intro__book-name span {
  font-size: var(--fz-14);
}
.p_material-intro__delivery {
  margin-top: 8px;
}
.p_material-intro__card-lead {
  margin: 0;
}
.p_material-intro__point-title {
  margin-top: 1.5em;
  font-weight: bold;
}
.p_material-intro__note {
  margin-top: 20px;
  color: #0066cc;
}
.p_stage-cta {
  width: min(100%, 550px);
  margin: 40px auto;
  text-align: center;
  font-weight: bold;
}
@media (width <= 767px) {
.p_material-intro__card {
    margin-top: 10px;
}
.p_material-intro__card + .p_material-intro__card {
    margin-top: 30px;
}
.p_material-intro__card-layout {
    grid-template-columns: 1fr;
    gap: 15px;
}
.p_material-intro__book-name {
    margin-top: 8px;
    font-size: var(--fz-18);
}
.p_material-intro__book-name span {
    font-size: var(--fz-12);
}
.p_material-intro__point-title {
    margin-top: 1em;
}
.p_stage-cta {
    width: 100%;
}
}
/* Instructors（移植元: index-old.blade.php #zeirishi-teach）
------------------------------- */
#instructors {
  background-color: var(--color-light_gray);
}
.p_instructors__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.p_instructors__card {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 20px;
  padding: 20px;
  background-color: var(--color-white);
}
.p_instructors__photo {
  text-align: center;
}
.p_instructors__photo img {
  margin-inline: auto;
}
.p_instructors__name {
  margin-top: 8px;
  font-size: var(--fz-12);
  font-weight: bold;
}
.p_instructors__name-main {
  font-size: var(--fz-22);
  font-weight: normal;
}
.p_instructors__category {
  display: block;
  margin-top: 4px;
  padding: 2px 8px;
  background: #cf1118;
  color: var(--color-white);
  font-size: var(--fz-12);
  font-weight: bold;
}
@media (width <= 767px) {
.p_instructors__cards {
    grid-template-columns: 1fr;
}
}
/* Preferential（移植元: index-old.blade.php .preferential-box / #three-merits）
------------------------------- */
.p_preferential__item {
  padding: 30px;
  background-color: var(--color-white);
  display: flex;
  flex-direction: column;
  gap: 20px;
  border: 4px solid var(--color-dokugaku);
}
.p_preferential__item + .p_preferential__item {
  margin-top: 20px;
}
.p_preferential__item-heading {
  padding-bottom: 20px;
  border-bottom: 3px solid #ffa4a4;
  display: flex;
  align-items: center;
  gap: 20px;
}
.p_preferential__item-number {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border: 3px solid var(--color-white);
  background: var(--color-red);
  box-shadow: 0 0 0 5px #35337b;
  color: var(--color-white);
  font-size: 48px;
  font-weight: bold;
}
.p_preferential__item-title {
  margin: 0;
  font-size: var(--fz-22);
  font-weight: bold;
  line-height: 1.3;
}
.p_preferential__book-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
.p_preferential__book-item {
  text-align: center;
}
.p_preferential__book-item img {
  margin-bottom: 10px;
  margin-inline: auto;
}
.p_preferential__book-label {
  display: block;
  font-weight: bold;
}
.p_preferential__notice {
  display: flex;
  gap: 20px;
}
.p_preferential__notice-title {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--color-red);
  color: var(--color-white);
  font-size: var(--fz-22);
  font-weight: bold;
  line-height: 84px;
  text-align: center;
}
.p_preferential__notice-body .u_annotation li {
  font-size: var(--fz-14);
}
.p_preferential__notice-body .u_annotation li + li {
  margin-top: 0;
}
.p_preferential__figure img {
  margin-inline: auto;
  max-width: 100%;
}
@media (width <= 767px) {
.p_preferential__item {
    padding: 20px;
}
.p_preferential__item-number {
    width: 40px;
    height: 40px;
    font-size: 20px;
    line-height: 20px;
}
.p_preferential__notice {
  flex-direction: column;
  gap: 10px;
}
.p_preferential__notice-title {
  border-radius: 8px;
  width: 100%;
  height: auto;
  line-height: 1.2;
}
}

/* Voice
------------------------------- */
.p_voice__header {
  padding-bottom: 40px;
}
.p_voice__lead {
  margin-bottom: 40px;
  text-align: center;
}

@media (width <= 1024px) {
.p_voice__header {
    padding-bottom: 20px;
  }
  .p_voice__lead {
    margin-bottom: 20px;
  }
}

/* Voice Testimonial
------------------------------- */
.p_voice-testimonial dl {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0;
  padding: 24px;
  background: #fff;
  border: 1px solid #dce5f0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(29, 55, 107, 0.06);
}
.p_voice-testimonial + .p_voice-testimonial {
  margin-top: 20px;
}
.p_voice-testimonial dt {
  flex: 0 0 140px;
  width: 140px;
  margin: 0;
  padding: 0 20px 0 0;
}
.p_voice-testimonial dt span {
  display: block;
}
.p_voice-testimonial dt img {
  width: 100%;
  max-width: 120px;
  height: auto;
  vertical-align: top;
}
.p_voice-testimonial dd {
  flex: 1 1 0;
  margin: 0;
  min-width: 0;
}

@media (width <= 1024px) {
.p_voice-testimonial dl {
    flex-direction: column;
  }
.p_voice-testimonial dt {
    width: 100%;
    padding: 0 0 16px;
    text-align: center;
  }
}

/* Fp App Promo
------------------------------- *//* Course Details
------------------------------- */
.p_course-details.is_course01 {
  --details-main-color: var(--color-standard-course);
  --details-sub-color: var(--color-light-standard-course);
}
.p_course-details.is_course02 {
  --details-main-color: var(--color-premium-course);
  --details-sub-color: var(--color-light-premium-course);
}
.p_course-details {
  padding-block: 80px;
  background-color: var(--details-sub-color);
}
.p_course-details__card {
  border-radius: 20px;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
}
.p_course-details__body {
  padding: 40px 60px;
  border-radius: 0 0 20px 20px;
  background-color: #fff;
}
.p_course-details__trigger {
  position: relative;
  display: block;
  padding: 12px;
  border-radius: 50px;
  background: linear-gradient(180deg, #4A4A4A 0%, #010101 100%);
  color: var(--color-white);
  font-size: var(--fz-18);
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25);
  cursor: pointer;
}
.p_course-details__trigger::before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 100%;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.p_course-details__trigger::after {
  content: '';
  width: 20px;
  height: 20px;
  mask-image: url(../images/icon_chevron.svg);
  position: absolute;
  right: 14px;
  top: 56%;
  transform: translateY(-50%) rotate(90deg);
  background-color: var(--color-black);
}
.p_course-details__trigger span {
  font-weight: inherit;
}
.p_course-details__body .p_course-details__trigger.is_close-label {
  display: none;
}
.p_course-details__body.is_open .p_course-details__trigger.is_open-label {
  display: none;
}
.p_course-details__body.is_open .p_course-details__trigger.is_close-label {
  display: block;
  margin-top: 40px;
}
@media (width <= 767px) {
.p_course-details {
    padding-block: 20px;
}
.p_course-details__body {
    padding: 20px 16px 20px;
}
}
/* Course Intro
------------------------------- */
.p_course-intro__header {
  text-align: center;
}
.p_course-intro__header p {
  margin-bottom: 40px;
}
.p_course-intro {
  margin-bottom: 40px;
}
.p_course-intro__col {
  display: flex;
  flex-flow: column nowrap;
  gap: 20px;
  padding: 28px;
  height: 100%;
  border: 1px solid var(--details-main-color);
  background-color: var(--details-sub-color);
  border-radius: 12px;
}
.p_course-intro__list {
  margin: 0 auto;
  padding-left: 0;
  list-style-type: decimal;
  list-style-position: inside;
  text-align: center;
}
.p_course-intro__list li + li {
  margin-top: 0.5em;
}
@media (width <= 767px) {
.p_course-intro__header p {
    margin-bottom: 20px;
}
.p_course-intro__header p:not(.u_text-center) {
    text-align: justify;
}
.p_course-intro {
    grid-template-columns: 1fr;
    margin-bottom: 20px;
}
.p_course-intro__col {
    padding: 16px;
}
}
/* Course Schedules
------------------------------- *//* Course Curriculum
------------------------------- */
.p_course-curriculum {
  padding: 40px 10px;
  color: var(--details-main-color);
  border-top: 2px solid var(--details-main-color);
  text-align: center;
  font-size: var(--fz-40);
  font-weight: bold;
}
.p_course-curriculum__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}
.p_course-curriculum__card {
  align-content: center;
  padding: 20px;
  height: 100%;
  background-color: var(--color-light_gray);
  border-radius: 12px;
}
.p_course-curriculum__row {
  display: grid;
  grid-template-columns: 96px auto;
  gap: 25px;
  font-size: var(--fz-12);
  line-height: 1.4;
}
.p_course-curriculum__content p {
  margin-top: 4px;
  text-align: justify;
}
@media (width <= 767px) {
.p_course-curriculum {
    padding-block: 20px;
}
.p_course-curriculum__grid {
    grid-template-columns: 1fr;
}
.p_course-curriculum__card {
    padding: 13px 16px;
}
}
/* Section #voice
------------------------------- */
#voice {
  background-color: var(--color-light_gray);
}

/* Flow List
 * 移植元: dokugaku/kashikin/css/style.css (.p_flow-list)
------------------------------- */
.p_flow-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}
.p_flow-list__item {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  gap: 20px;
  padding: 16px;
  height: 100%;
  border: 1px solid var(--color-standard-course);
  font-size: var(--fz-12);
  line-height: 1.4;
}
.p_flow-list__contents {
  display: flex;
  flex-flow: column nowrap;
  gap: 12px;
}
.p_flow-list__title {
  margin: 0;
  padding: 8px;
  background-color: var(--color-standard-course);
  color: #fff;
  text-align: center;
  font-size: var(--fz-18);
  font-weight: bold;
  line-height: 1.4;
  font-feature-settings: "palt";
}
.p_flow-list__catch {
  margin: 0;
  font-size: var(--fz-12);
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-standard-course);
}
.p_flow-list__options {
  display: flex;
  flex-flow: column nowrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p_flow-list__options-item {
  padding: 6px;
  border: 1px solid var(--color-standard-course);
  background-color: #fff;
  color: var(--color-standard-course);
  font-size: var(--fz-12);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
.p_flow-list__notes {
  margin: 0;
  padding: 0.8em;
  border: 2px solid yellow;
  background-color: yellow;
  list-style: none;
  text-align: justify;
}
.p_flow-list__notes > li {
  font-size: var(--fz-12);
}
.p_flow-list__footer {
height: 100px;
  color: var(--color-standard-course);
  svg {
    width: 100%;
    height: 100%;
}
}
@media (width <= 767px) {
.p_flow-list {
    grid-template-columns: 1fr;
}
.p_flow-list__footer img {
    max-height: 100%;
    width: auto;
}
}
/* Flow Deadline
------------------------------- */
.p_flow-deadline {
  margin-top: 40px;
  text-align: center;
}
.p_flow-deadline__label {
  font-size: var(--fz-22);
  font-weight: bold;
}
.p_flow-deadline__date {
  font-size: var(--fz-40);
  font-weight: bold;
  line-height: 1.4;
  color: var(--color-red);
}
.p_flow-deadline__num {
  font-size: inherit;
  font-weight: bold;
}
@media (width <= 767px) {
.p_flow-deadline {
    margin-top: 20px;
}
.p_flow-deadline__label {
    font-size: var(--fz-18);
}
.p_flow-deadline__date {
    font-size: var(--fz-30);
}
}
/* Section #faq
------------------------------- */
#faq {
  background-color: var(--color-light_gray);
}
/* Faq
------------------------------- */
.p_faq__list>li {
  border-radius: 16px;
  border: 1px solid #EAEAEA;
  background-color: var(--color-white);
  overflow: hidden;
}
.p_faq__list>li+li {
  margin-top: 8px;
}
.p_faq__question {
  display: grid;
  grid-template-columns: 30px 1fr 86px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 16px 28px 16px;
  text-align: justify;
  text-align-last: left;
  cursor: pointer;
}
.p_faq__question:before {
  content: 'Q.';
  font-size: var(--fz-22);
  font-weight: bold;
  color: var(--color-dokugaku);
}
.p_faq__question:after {
  content: '見る＋';
  display: grid;
  justify-content: center;
  margin-left: 3px;
  padding: 5px 8px;
  border-radius: 50px;
  background-color: var(--color-dokugaku);
  color: var(--color-white);
  font-size: var(--fz-16);
  font-weight: bold;
  line-height: 1.2;
}
.p_faq__list>li.is_open .p_faq__question:after {
  content: '閉じるー';
}
.p_faq__answer {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  max-height: 0;
  margin-inline: 28px;
  text-align: justify;
  text-align-last: left;
  position: relative;
}
.p_faq__answer:before {
  align-self: self-start;
  content: 'A.';
  padding-top: 20px;
  font-size: var(--fz-22);
  font-weight: bold;
  color: var(--color-dokugaku);
  line-height: 1;
}
.p_faq__answer:after {
  content: '';
  display: block;
  height: 1px;
  background-color: #D9D7DB;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.p_faq__answer-body {
  min-width: unset;
  padding-top: 20px;
  padding-bottom: 28px;
  padding-inline: 0 !important;
}
@media (width <= 767px) {
.p_faq__question {
    padding: 16px;
}
.p_faq__answer {
    margin-inline: 16px;
}
.p_faq__answer-body {
    padding-block: 16px;
}
}
/* Course Price
------------------------------- */
.p_course-price__title {
  margin-top: 40px;
  padding: 5px;
  border: 1px solid #001fa6;
  text-align: center;
  letter-spacing: 0.1em;
}
.p_course-price {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media (width <= 767px) {
  .p_course-price__title {
    margin-top: 20px;
  }
  .p_course-price {
    gap: 20px;
  }
}
/* Course Multi Subject
 * 移植元: dokugaku/zeirishi/css/style-old.css (.feat-notice)
------------------------------- */
.p_course-multi-subject {
  display: flex;
  gap: 20px;
  margin-top: 40px;
}
.p_course-multi-subject__label {
  padding: 0.4em 0.8em;
  background-color: var(--color-premium-course);
  color: var(--color-white);
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-basis: 200px;
  line-height: 1.4;
}
@media (width <= 767px) {
.p_course-multi-subject {
  flex-direction: column;
  margin-top: 20px;
}
.p_course-multi-subject__label {
  flex-basis: auto;
}
}
/* Notes Accordion
------------------------------- */
.p_notes-accordion {
  margin-top: 49px;
}
.p_notes-accordion>hgroup,
.p_notes-accordion>div {
  border: 1px solid var(--color-red);
  border-top: none;
}
.p_notes-accordion>hgroup {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  gap: 35px;
  padding-block: 12px 14px;
  background-color: var(--color-red);
  color: #fff;
  text-align: center;
  position: relative;
}
.p_notes-accordion>hgroup img {
  width: 36px;
  height: 33px;
  margin: 0;
}
.p_notes-accordion__inner {
  padding: 0;
  min-width: unset !important;
}
.p_notes-accordion__trigger-label {
  display: grid;
  grid-template-columns: 230px auto 230px;
  align-items: center;
  justify-content: space-between;
  justify-items: center;
  padding-block: 11px;
  color: var(--color-red);
}
.p_notes-accordion__trigger-label>div:first-child {
  background-image: url('../images/btn_notes_close.png');
  opacity: 0;
}
.p_notes-accordion__trigger-label>div:last-child {
  width: 158px;
  height: 66px;
  background: url('../images/btn_notes_click.png') no-repeat center / contain;
}
.p_notes-accordion.is_open .p_notes-accordion__trigger-label>div:last-child {
  background: url('../images/btn_notes_close.png') no-repeat center / contain;
}
@media (width <= 767px) {
.p_notes-accordion {
    margin-top: 20px;
}
.p_notes-accordion>hgroup {
    gap: 7px;
    padding-block: 10px 16px;
}
.p_notes-accordion>hgroup h4 {
    font-size: var(--fz-14);
}
.p_notes-accordion__trigger-label {
    grid-template-columns: auto 60px;
    gap: 4px;
    padding: 16px;
}
.p_notes-accordion__trigger-label>div:first-child {
    display: none;
}
.p_notes-accordion__trigger-label>div:last-child {
    width: 100%;
    height: auto;
}
}
/* Apply Notes
------------------------------- */
.p_apply-notes {
  display: flex;
  flex-flow: column nowrap;
  gap: 20px;
  padding: 40px;
  line-height: 1.5;
  text-align: justify;
}
.p_apply-notes__header {
  text-align: center;
}
.p_apply-notes__header p {
  margin: 0 0 10px;
}
.p_apply-notes__header p:last-child {
  margin-bottom: 0;
}
.p_apply-notes__expiration-label {
  padding: 8px;
  background-color: var(--color-red);
  color: var(--color-white);
  text-align: center;
}
.p_apply-notes__expiration-date {
  padding: 16px;
  background-color: #F7F7F7;
  color: var(--color-red);
  text-align: center;
}
.p_apply-notes__section-title {
  margin-bottom: 4px;
  padding: 2px;
  background-color: #F4696A;
  color: var(--color-white);
  font-size: var(--fz-18);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}
.p_apply-notes__body {
  min-width: unset;
  padding-inline: 0;
}
.p_apply-notes .c_bullet-list a {
  color: var(--color-dokugaku);
  text-decoration: underline;
}
@media (width <= 767px) {
.p_apply-notes {
    padding: 16px;
}
}

/* Price
------------------------------- */
#price {
  background-color: var(--color-light_gray);
}

/* Price Box
------------------------------- */
.p_price-box {
  padding: 40px;
  background-color: var(--color-light-zeirishi, #fff2f9);
  border: dashed 1px var(--color-dokugaku);
}
.p_price-box.is_boki-standard {
  background-color: var(--color-light-boki);
}
.p_price-box.is_zaimu-standard {
  background-color: var(--color-light-zaimu);
}
.p_price-box.is_boki-premium,
.p_price-box.is_zaimu-premium {
  background-color: #0a1c41;
  color: var(--color-white);
}
@media (width <= 767px) {
.p_price-box {
    padding: 16px;
}
}
/* Price Pack List
------------------------------- */
.p_price-pack-list {
  margin: 20px 0 0;
  text-align: center;
}
.p_price-pack-list__items {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  width: 100%;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p_price-pack-list__item {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
@media (width <= 767px) {
.p_price-pack-list__items {
    flex-direction: column;
}
}
/* Price Pack Card
------------------------------- */
.p_price-pack-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  margin: 0;
  border-bottom: 2px solid var(--color-dokugaku);
  position: relative;
}
.p_price-pack-card__head {
  margin: 0;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--color-dokugaku);
  border-top: 2px solid var(--color-dokugaku);
  color: #fff;
}
.p_price-pack-card__name {
  font-size: var(--fz-22);
  font-style: italic;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin: 0;
}
.p_price-pack-card__name span {
  display: block;
  font-size: var(--fz-22);
  font-weight: bold;
  font-style: italic;
}
.p_price-pack-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  padding: 10px;
  background-color: #fff;
  font-size: var(--fz-16);
  border-left: 2px solid var(--color-standard-course);
  border-right: 2px solid var(--color-standard-course);
}
.p_price-pack-card__price {
  color: var(--color-red);
  font-style: italic;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  margin-bottom: 0.2em;
}
.p_price-pack-card__price-unit {
  font-size: 40%;
}
.p_price-pack-card.is_boki {
  border-color: var(--color-boki);
}
.p_price-pack-card.is_boki .p_price-pack-card__head {
  background-color: var(--color-boki);
  border-color: var(--color-boki);
}
.p_price-pack-card.is_boki .p_price-pack-card__body {
  border-color: var(--color-boki);
}
.p_price-pack-card.is_zaimu {
  border-color: var(--color-zaimu);
}
.p_price-pack-card.is_zaimu .p_price-pack-card__head {
  background-color: var(--color-zaimu);
  border-color: var(--color-zaimu);
}
.p_price-pack-card.is_zaimu .p_price-pack-card__body {
  border-color: var(--color-zaimu);
}
@media (width <= 767px) {
.p_price-pack-card {
    height: auto;
}
}
/* Price Box Heading
------------------------------- */
.p_price-box-heading {
  margin-bottom: 30px;
  text-align: center;
}
.p_price-box-heading__target {
  font-size: var(--fz-22);
  font-weight: bold;
  line-height: 1.4;
}
.p_price-box-heading__brand {
  font-size: var(--fz-40);
  font-weight: bold;
  line-height: 1.4;
}
.p_price-box-heading__brand-logo {
  width: 74px;
}
.p_price-box-heading__deadline {
  font-size: var(--fz-22);
}
.p_price-box-heading__deadline-label {
  font-weight: bold;
}
.p_price-box-heading__deadline-date {
  font-weight: bold;
}
@media (width <= 767px) {
.p_price-box-heading__brand-logo {
    width: 47px;
}
}

/* ========================================
   5. Utility（`.u_`）
   ======================================= */
/* Sp Only
------------------------------- */
.u_sp-only {
  display: none;
}

@media (width <= 767px) {
.u_sp-only {
    display: block;
  }
span.u_sp-only {
    display: inline-block;
  }
}

/* Margin
------------------------------- */
.u_margin-top-lg {
  margin-top: 40px;
}
@media (width <= 767px) {
.u_margin-top-lg {
    margin-top: 20px;
}
}
.u_margin-top-sm {
  margin-top: 20px;
}
.u_margin-top-xs {
  margin-top: 10px;
}

/* Text Size
------------------------------- */
.u_fz-xxl {
  font-size: var(--fz-40);
}
.u_fz-xl {
  font-size: var(--fz-30);
}
.u_fz-l {
  font-size: var(--fz-22);
}
.u_fz-m {
  font-size: var(--fz-18);
}
.u_fz-s {
  font-size: var(--fz-16);
}
.u_fz-xs {
  font-size: var(--fz-12);
}
/* Font Weight Bold
------------------------------- */
.u_font-weight-bold {
  font-weight: bold;
}
/* Text Center
------------------------------- */
.u_text-center {
  text-align: center;
}
/* Text Underline
------------------------------- */
.u_text-underline {
  text-decoration: underline !important;
}
/* Text Color
------------------------------- */
.u_text-red {
  color: var(--color-red);
}
.u_text-dokugaku {
  color: var(--color-dokugaku);
}
.u_text-standard-course {
  color: var(--color-standard-course);
}
.u_text-premium-course {
  color: var(--color-premium-course);
}
.u_text-boki {
  color: var(--color-boki);
}
.u_text-zaimu {
  color: var(--color-zaimu);
}
/* Decor Slash（吹き出し線）
------------------------------- */
.u_decor-slash {
  display: inline-flex;
  align-items: center;
  gap: 0.2em;
}
.u_decor-slash::before,
.u_decor-slash::after {
  content: "";
  width: 1.4em;
  height: 1px;
  background: currentColor;
}
.u_decor-slash::before {
  transform: rotate(60deg);
}
.u_decor-slash::after {
  transform: rotate(-60deg);
}
/* Annotation
------------------------------- */
.u_annotation {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
  font-size: var(--fz-12);
  line-height: 1.4;
}
/* Pdf
------------------------------- */
.u_pdf {
  display: inline-block;
}
.u_pdf::before {
  display: inline-block;
  width: 1em;
  height: 1.2em;
  margin-right: 0.2em;
  content: "";
  background: url(../images/icon_pdf.png);
  background-size: contain;
  background-position: center 0.2em;
  background-repeat: no-repeat;
}
/* Pc Only
------------------------------- */
@media (width <= 767px) {
.u_pc-only {
    display: none;
}
}
}