@charset "UTF-8";
/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Variable
--------------------------------------------------*/
/* Brand */
/* Text */
/* Line */
/* Body */
/* Semantic */
/*---------- フォント ----------*/
/*--------------------------------------------------
Mixin
--------------------------------------------------*/
/*---------- Responsive ----------*/
/*---------- fade animetion ----------*/
/*---------- icon ----------*/
/*---------- mixin ----------*/
/*--------------------------------------------------
Setting (destyle, base, utility)
--------------------------------------------------*/
/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-style: solid;
  border-width: 0;
  overflow-wrap: break-word;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.5 !important;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.5 !important;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: middle;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  /* 1 */
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
  /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  letter-spacing: 0.05em;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit;
  /* 1 */
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/*--------------------------------------------------
Base
--------------------------------------------------*/
html {
  font-size: 62.5%;
}
html :focus {
  outline: none;
}

body {
  font: 1.4rem "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
  line-height: 1.5 !important;
  letter-spacing: 0.05em;
  color: #34536f;
  background-color: #fcfbfa;
  position: relative;
}

img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

em {
  font-style: normal;
}

table {
  width: 100%;
}

/*--------------------------------------------------
Utility
--------------------------------------------------*/
/*---------- Display ----------*/
@media all and (min-width: 768px) {
  .sp_only {
    display: none !important;
  }
  a[href^="tel:"] {
    text-decoration: none !important;
    color: inherit !important;
    cursor: default !important;
    pointer-events: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc_only {
    display: none !important;
  }
}
/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Title
--------------------------------------------------*/
.headline1 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .headline1 {
    font-size: 2rem;
  }
}

.headline2 {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .headline2 {
    font-size: 1.8rem;
  }
}

.headline3 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
}

.headline4 {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0;
}

.headline-button {
  font-size: 1.4rem;
  font-weight: bold;
}

.note {
  font-size: 1.2rem;
}

.note-bold, .note-bold-warning {
  font-size: 1.2rem;
  font-weight: bold;
}

.note-bold-warning {
  color: #ee4f4f;
}
.note-bold-warning:hover {
  color: #f38484;
}

/*--------------------------------------------------
Module
--------------------------------------------------*/
/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Button
--------------------------------------------------*/
.btn01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
  border-radius: 12px;
  border: none !important;
  min-height: 48px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 152px;
  margin: auto;
  padding: 8px 16px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
.btn01.disabled, .btn01:disabled {
  opacity: 0.32;
  pointer-events: none;
}

.btn02 {
  padding-inline: 40px;
}
@media screen and (max-width: 767px) {
  .btn02 {
    padding-inline: 24px;
  }
}

.btn-primary {
  background: #b08c60;
  color: #fff;
}
.btn-primary:hover {
  background: #d4b895;
  color: #fff;
}
.btn-primary.disabled, .btn-primary:disabled {
  background: #b08c60;
  color: #fff;
  cursor: default;
}
.btn-primary.selected {
  background: #ed6d34;
}
.btn-primary:focus {
  background: #b08c60;
  color: #fff;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
}
.btn-primary:focus-visible, .btn-primary:active, .btn-primary:active:focus {
  background: #ed6d34;
  color: #fff;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
}

.btn-secondary {
  background: #fff;
  color: #897051;
}
.btn-secondary:hover {
  background: #fcfbfa;
  color: #b08c60;
}
.btn-secondary.disabled, .btn-secondary:disabled {
  background: #fff;
  color: #897051;
  cursor: default;
}
.btn-secondary.selected {
  background: #f6f2ec;
}
.btn-secondary:focus {
  background: #fff;
  color: #897051;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
}
.btn-secondary:focus-visible, .btn-secondary:active, .btn-secondary:active:focus {
  background: #f6f2ec;
  color: #897051;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
}

/*--------------------------------------------------
Warning button
--------------------------------------------------*/
.btn-primary-warning,
.btn-secondary-warning {
  -webkit-box-shadow: 0px 2px 18px 2px rgba(197, 73, 43, 0.2);
          box-shadow: 0px 2px 18px 2px rgba(197, 73, 43, 0.2);
  width: auto;
  min-width: 108px;
}

.btn-primary-warning {
  background: #ee4f4f;
  color: #fff;
}
.btn-primary-warning:hover, .btn-primary-warning.selected {
  color: #fff;
  background: #f38484;
}
.btn-primary-warning.disabled, .btn-primary-warning:disabled {
  background: #facaca;
}

.btn-secondary-warning {
  background: #fff;
  color: #ee4f4f;
}
.btn-secondary-warning:hover, .btn-secondary-warning.selected {
  background: #fcfbfa;
  color: #ee4f4f;
}
.btn-secondary-warning.disabled {
  color: #facaca;
  cursor: default;
}
.btn-secondary-warning:focus, .btn-secondary-warning:active, .btn-secondary-warning:active:focus {
  background: #ee4f4f;
  color: #fff;
}

/*--------------------------------------------------
Text button
--------------------------------------------------*/
.text-button01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #c15631;
  font-weight: bold;
  letter-spacing: 0.05em;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  cursor: pointer;
}
@media all and (hover: hover) and (min-width: 768px) {
  .text-button01:hover {
    color: #f39f70;
  }
}
.text-button01:hover .icon path {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
@media all and (hover: hover) and (min-width: 768px) {
  .text-button01:hover .icon path {
    fill: #f39f70;
  }
}
.text-button01:disabled, .text-button01.disabled {
  opacity: 0.32;
  pointer-events: none;
}
.text-button01:active, .text-button01.selected {
  color: #897051;
}

/*--------------------------------------------------
Show more button
--------------------------------------------------*/
.btn-show-more {
  border: none;
}
.btn-show-more .icon {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
.btn-show-more .icon.active {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media all and (hover: hover) and (min-width: 768px) {
  .btn-show-more:hover .icon path {
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    fill: none;
    stroke: #f39f70;
  }
}

/*--------------------------------------------------
Favorite button
--------------------------------------------------*/
.fav-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}
.fav-btn:focus {
  outline: none;
}

/*--------------------------------------------------
Reset button
--------------------------------------------------*/
.reset-btn {
  display: none;
  width: auto;
  margin: 24px 0 20px;
}

/*--------------------------------------------------
Icon
--------------------------------------------------*/
.icon {
  display: inline-block;
}

.icon-16 {
  width: 16px;
  height: 16px;
}

.icon-24 {
  width: 24px;
  height: 24px;
}

.icon-32 {
  width: 32px;
  height: 32px;
}

/*--------------------------------------------------
SP Menu button
--------------------------------------------------*/
.sp_menu_btn {
  position: relative;
  z-index: 9999;
  top: 0;
  right: 20px;
  cursor: pointer;
  width: 28px;
  height: 28px;
  border: none;
  background: #fff;
  outline: none;
  padding: 0;
}
@media screen and (min-width: 768px) {
  .sp_menu_btn {
    display: none !important;
  }
}
.sp_menu_btn span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  height: 4px;
  width: 100%;
  background: #345375;
  border-radius: 2px;
}
.sp_menu_btn span:nth-of-type(1) {
  top: 0;
}
.sp_menu_btn span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.sp_menu_btn span:nth-of-type(3) {
  bottom: 0;
}
.sp_menu_btn.active span:nth-of-type(1) {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.sp_menu_btn.active span:nth-of-type(2) {
  opacity: 0;
}
.sp_menu_btn.active span:nth-of-type(3) {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

.info-link {
  gap: 8px;
  background-color: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 8px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 6px 11px;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.2rem;
}
.info-link:hover {
  color: #8c9fb2;
}
.info-link:hover .icon path {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  fill: #8c9fb2;
}

.pointer {
  cursor: pointer;
}

/*--------------------------------------------------
Evaluation button
--------------------------------------------------*/
.evaluation_buttons {
  gap: 32px;
  border-radius: 9999px;
  border: 1px solid #576c80;
  background: #fff;
  padding: 8px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.evaluation_buttons .btn_container {
  color: #576c80;
  gap: 8px;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media all and (hover: hover) and (min-width: 768px) {
  .evaluation_buttons .btn-tooltip.tooltip_show .tooltip {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
  }
}
.evaluation_buttons .btn_good.active.animate {
  -webkit-animation: thumbs-up-animation 0.8s forwards;
          animation: thumbs-up-animation 0.8s forwards;
}
.evaluation_buttons .btn_bad {
  position: relative;
}
.evaluation_buttons .btn_bad::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 1px;
  height: 24px;
  background: #d3d3d3;
}
.evaluation_buttons .good_count:empty {
  display: none;
}
.evaluation_buttons .btn-tooltip:hover .icon path {
  -webkit-transition: none;
  transition: none;
  fill: #576c80;
}
.evaluation_buttons .tooltip {
  max-width: 245px;
  padding: 12px 24px;
  pointer-events: auto;
  font-size: 1rem;
}
.evaluation_buttons .tooltip.tooltip-on-bottom {
  top: calc(100% + 32px);
}
@media screen and (max-width: 767px) {
  .evaluation_buttons .tooltip.tooltip-on-bottom {
    left: 85px;
  }
}
.evaluation_buttons .tooltip .text_link {
  color: currentColor;
  text-decoration: underline;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .evaluation_buttons .tooltip .triangle-wrapper {
    display: none;
  }
}

@-webkit-keyframes thumbs-up-animation {
  0% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  20% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1.2) rotate(-15deg);
            transform: scale(1.2) rotate(-15deg);
  }
  60% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes thumbs-up-animation {
  0% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  20% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1.2) rotate(-15deg);
            transform: scale(1.2) rotate(-15deg);
  }
  60% {
    -webkit-transform: scale(1) rotate(0deg);
            transform: scale(1) rotate(0deg);
  }
  80% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
/*--------------------------------------------------
Checklist button
--------------------------------------------------*/
.btn-bookmark:not(.text-button01) {
  color: #576c80;
}

.btn-bookmark.booked {
  color: #ed6d34;
}

.btn-bookmark .icon_bookmark path {
  fill: currentColor;
}

.rounded_bookmark_button .btn-bookmark {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .rounded_bookmark_button .btn-bookmark {
    -ms-flex-line-pack: center;
        align-content: center;
    width: 56px;
    height: 56px;
    -webkit-box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
            box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
  }
}

@media all and (hover: hover) and (min-width: 768px) {
  .btn-bookmark:not(.booked):hover {
    color: #8c9fb2;
  }
}

@media screen and (max-width: 767px) {
  .rounded_bookmark_button .btn-bookmark .icon_bookmark {
    width: 20px;
    height: 20px;
  }
}

@media screen and (max-width: 767px) {
  .rounded_bookmark_button .btn-bookmark .btn_label {
    font-size: 1rem;
    line-height: 1.25;
    text-align: center;
    font-weight: 700;
  }
}

.btn-bookmark .tooltip .tooltip_arrow {
  position: absolute;
  z-index: -1;
}

.btn-bookmark .tooltip.tooltip-on-top .tooltip_arrow {
  top: calc(100% - 5px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.btn-bookmark .tooltip.tooltip-on-bottom .tooltip_arrow {
  bottom: calc(100% - 5px);
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(180deg);
          transform: translateX(-50%) rotate(180deg);
}

/*--------------------------------------------------
Question board button
--------------------------------------------------*/
.rounded_question_board_button .btn_question_board {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid currentColor;
  border-radius: 50%;
  background-color: #fff;
  color: #576c80;
}
@media screen and (max-width: 767px) {
  .rounded_question_board_button .btn_question_board {
    -ms-flex-line-pack: center;
        align-content: center;
    width: 56px;
    height: 56px;
    -webkit-box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
            box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
  }
}

.btn_question_board .icon_question path {
  fill: currentColor;
}

@media all and (hover: hover) and (min-width: 768px) {
  .rounded_question_board_button .btn_question_board:hover {
    color: #8c9fb2;
  }
}

@media screen and (max-width: 767px) {
  .rounded_question_board_button .btn_question_board .icon_question {
    width: 20px;
    height: 20px;
  }
}

@media screen and (max-width: 767px) {
  .rounded_question_board_button .btn_question_board .btn_label {
    font-size: 1rem;
    text-align: center;
    font-weight: 700;
  }
}

/*--------------------------------------------------
Scroll to Top button
--------------------------------------------------*/
.scroll_to_top {
  position: fixed;
  bottom: 9.2rem;
  right: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 5.6rem;
  height: 5.6rem;
  border: 1px solid #576c80;
  border-radius: 50%;
  background-color: #fff;
  color: #576c80;
  -webkit-box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
          box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  z-index: 1000;
}

.scroll_to_top.show {
  opacity: 1;
  visibility: visible;
}

@media all and (hover: hover) and (min-width: 768px) {
  .scroll_to_top:hover {
    color: #8c9fb2;
  }
}

.scroll_to_top .icon {
  width: 2rem;
  height: 2rem;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

@media all and (hover: hover) and (min-width: 768px) {
  .scroll_to_top:hover .icon {
    -webkit-transform: translateY(-0.25em);
            transform: translateY(-0.25em);
  }
}

.scroll_to_top .btn_label {
  font-size: 1rem;
  white-space: nowrap;
  font-weight: 700;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Card
--------------------------------------------------*/
.card-footer {
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
}

/* Plan card */
.plan_cards_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
}

.plan_card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 320px;
  background: #fff;
  -webkit-box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
          box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
  border-radius: 8px;
  border: none;
  padding: 0px 0px;
}
.plan_card .card_header {
  padding: 20px 10px;
  border-radius: 8px 8px 0 0;
  background-color: #fff;
  text-align: center;
}
.plan_card .card_header .plan_description {
  font-size: 1.2rem;
}
.plan_card.free_plan .card_header {
  background-color: #f0f0f0;
}
.plan_card.free_plan .feature_container {
  margin-top: 98px;
}
.plan_card.basic_plan .card_header {
  background-color: #dedede;
}
.plan_card.standard_plan .card_header {
  background-color: #8c9fb2;
  color: #fff;
}
.plan_card.premium_plan .card_header {
  background-color: #576c80;
  color: #fff;
}
.plan_card .card_body {
  padding: 24px 16px 12px;
  background-color: #fff;
}
.plan_card .pricing_container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 24px;
  padding: 14px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 152px;
}
@media screen and (max-width: 767px) {
  .plan_card .pricing_container {
    height: auto;
    padding: 0;
  }
}
.plan_card .pricing_container .discount {
  margin-bottom: 14px;
  color: #c15631;
  font-weight: 700;
}
.plan_card .pricing_container .monthly_price {
  margin-bottom: 8px;
  font-size: 3.6rem;
  font-weight: 700;
}
.plan_card .pricing_container .lump_sum {
  font-size: 2rem;
  font-weight: 700;
}
.plan_card .pricing_container .payment_type {
  display: inline-block;
  margin-right: 1rem;
  color: #c15631;
}
.plan_card .btn_checkout.btn_cancel {
  background: #576c80;
  color: #fff;
}
.plan_card .btn_checkout.btn_cancel:disabled {
  background: #b9c7d4;
}
.plan_card .btn_checkout.btn_cancel:not(:disabled) {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
.plan_card .btn_checkout.btn_cancel:not(:disabled):hover {
  background: #8c9fb2;
}
.plan_card .feature_container {
  margin: 24px auto 0;
}
.plan_card .feature_container .feature_title {
  margin-bottom: 8px;
  font-size: 1.2rem;
  font-weight: 700;
}
.plan_card .feature_container .feature_title:not(:first-of-type) {
  margin-top: 2.4rem;
}
.plan_card .feature_container .feature_item {
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.2rem;
  font-weight: 700;
}
.plan_card .feature_container .feature_item:not(:last-of-type) {
  margin-bottom: 4px;
}
.plan_card .feature_container .icon_container {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0.225rem;
  width: 24px;
  height: 24px;
}
.plan_card .feature_container .icon_container .icon {
  width: 100%;
  height: 100%;
}
.plan_card .card_footer {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 12px 16px 32px;
  border-radius: 0 0 8px 8px;
  background-color: #fff;
}
.plan_card .recommendation_container {
  padding: 16px;
  background-color: #faf8f6;
  width: 100%;
  height: 100%;
}
.plan_card .recommendation_container .recommendation_title {
  font-size: 1.2rem;
  font-weight: 700;
}
.plan_card .recommendation_container .recommendation_list {
  margin-top: 8px;
  padding-left: 20px;
}
.plan_card .recommendation_container .recommendation_item {
  list-style-type: disc;
  font-size: 1.2rem;
}

/* Card with video thumbnail */
.card_landscape_video .card_inner {
  display: grid;
  grid-template-areas: "thumbnail title       button" "thumbnail description button";
  grid-template-rows: auto 1fr;
  grid-template-columns: 192px 1fr auto;
}
@media screen and (max-width: 767px) {
  .card_landscape_video .card_inner {
    grid-template-areas: "thumbnail" "title" "description";
    grid-template-rows: 1fr;
    grid-template-columns: 1fr;
  }
}
.card_landscape_video .card_img {
  grid-area: thumbnail;
  width: min(100%, 176px);
  aspect-ratio: 16/9;
  margin-right: 16px;
  border-radius: 8px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .card_landscape_video .card_img {
    display: none;
  }
}
.card_landscape_video .card_img img {
  width: 100%;
  height: 100%;
}
.card_landscape_video .card_title {
  grid-area: title;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .card_landscape_video .card_title {
    margin-bottom: 4px;
    font-size: 1.6rem;
  }
}
.card_landscape_video .card_text {
  grid-area: description;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: unset;
  white-space: unset;
}
.card_landscape_video .card_button {
  grid-area: button;
  margin: auto 0 0 40px;
}
@media screen and (max-width: 767px) {
  .card_landscape_video .card_button {
    display: none;
  }
}
@media all and (min-width: 768px) {
  .card_landscape_video .video-frame,
  .card_landscape_video .video_frame_wrapper {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .card_landscape_video .video-frame,
  .card_landscape_video .video_frame_wrapper {
    grid-area: thumbnail;
    margin-bottom: 10px;
    max-width: 100%;
    aspect-ratio: 16/9;
  }
}
.card_landscape_video .video-frame .video_frame,
.card_landscape_video .video_frame_wrapper .video_frame {
  width: 100%;
  height: 100%;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Hint
--------------------------------------------------*/
.hint01 {
  background: #f6ece6;
  border-radius: 8px;
  padding: 16px;
}
.hint01 .hint-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  color: #c15631;
  font-weight: bold;
}
.hint01 .hint-text {
  font-size: 1.2rem;
  text-align: center;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Label
--------------------------------------------------*/
.label01 {
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #ed6d34;
  color: #fff;
  border-radius: 8px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding: 3px 8px;
  font-size: 1.2rem;
  font-weight: 700;
}

.label-basic-task {
  background: #fff;
  border: 1px solid #576c80;
  color: #576c80;
  line-height: 20px;
}

.label-practice-task {
  background: #576c80;
}

.label-video {
  background: #b08c60;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Modal
--------------------------------------------------*/
.modal {
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .modal .modal-dialog {
    margin-inline: auto;
  }
}
.modal .modal-footer > * {
  margin: 0;
}

.modal01 {
  display: none;
  position: fixed;
  inset: 50% 0 auto;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  max-width: 1080px;
  height: 100%;
  max-height: 720px;
  overflow: hidden;
  outline: 0;
  background: #fff;
  padding: 24px;
  border-radius: 24px;
  margin: auto;
  opacity: 0;
  visibility: hidden;
  z-index: 9999;
}
.modal01.show {
  opacity: 1 !important;
  visibility: visible;
  display: block;
}
.modal01 .modal-dialog {
  width: 100%;
  max-width: none;
  margin: auto;
}
.modal01 .modal-content {
  border: 0;
  overflow: auto;
}
.modal01 .modal-header {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: none;
  padding: 0 31px 0 0;
  margin: 72px auto 32px;
}
.modal01 .modal-header .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  background-image: none;
  width: 24px;
  height: 24px;
  padding: 0;
  margin: 0;
  opacity: 1;
  z-index: 1;
}
.modal01 .modal-header .btn-close .btn__icon {
  margin-right: 0;
}
.modal01 .modal-header-title {
  margin-bottom: 16px;
}
.modal01 .modal-header-text {
  text-align: center;
}
.modal01 .modal-body {
  overflow-y: auto;
  height: 374px;
  padding: 0 14px 0 0;
  margin-right: 7px;
  margin-bottom: 24px;
  -webkit-box-flex: initial;
      -ms-flex: initial;
          flex: initial;
}
.modal01 .modal-footer {
  border: none;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* Custom Modal */
.custom_modal.modal {
  padding: 0;
}
@media screen and (max-width: 767px) {
  .custom_modal .modal-dialog {
    margin: 2rem;
    max-width: none;
  }
}
.custom_modal .modal-lg {
  max-width: 1080px;
  max-height: 720px;
}
@media screen and (max-width: 991px) {
  .custom_modal .modal-lg {
    margin: 0 16px;
  }
}
.custom_modal .modal-content {
  border: none;
  border-radius: 24px;
  background-color: #fff;
}
.custom_modal .modal-header {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
}
.custom_modal .btn-close {
  position: absolute;
  top: 24px;
  right: 24px;
  margin: 0;
  padding: 0;
  background-image: none;
  opacity: 1;
  z-index: 1;
  width: 24px;
  height: 24px;
}
.custom_modal .modal-footer {
  border: none;
  padding: 0;
}

.modal_562 .modal-dialog {
  max-width: 562px;
}
@media screen and (max-width: 767px) {
  .modal_562 .modal-dialog {
    max-width: 100%;
  }
}
.modal_562 .modal-content {
  border: 1px solid #d3d3d3;
  border-radius: 10px;
}
.modal_562 .modal-header {
  padding: 48px 80px 16px;
}
@media screen and (max-width: 767px) {
  .modal_562 .modal-header {
    padding: 32px 32px 16px;
  }
}
.modal_562 .modal-header-img {
  margin: 0 auto;
  width: 96px;
  height: 96px;
}
@media screen and (max-width: 767px) {
  .modal_562 .modal-header-img {
    width: 80px;
    height: 80px;
  }
}
.modal_562 .modal-header-title {
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.modal_562 .modal-body {
  height: auto;
  padding: 0 80px 12px;
}
@media screen and (max-width: 767px) {
  .modal_562 .modal-body {
    padding: 0 32px 14px;
  }
}
.modal_562 .modal-body-title {
  margin-bottom: 12px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal_562 .modal-body-title {
    margin-bottom: 16px;
  }
}
.modal_562 .modal-body-text {
  font-size: 1.2rem;
}
.modal_562 .modal-body-text .fw_bold {
  display: block;
  font-weight: 700;
}
.modal_562 .modal-footer {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  padding: 12px 80px 48px;
}
@media screen and (max-width: 767px) {
  .modal_562 .modal-footer {
    gap: 10px;
    padding: 14px 32px 32px;
  }
}
.modal_562 .modal-footer .btn-primary {
  min-width: inherit;
}
.modal_562 .modal-close.text-button01 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
}

.modal_508 .modal-dialog {
  max-width: 508px;
}
@media screen and (max-width: 767px) {
  .modal_508 .modal-dialog {
    max-width: 100%;
  }
}
.modal_508 .modal-footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .modal_508 .modal-footer {
    gap: 10px;
  }
}

@media all and (min-width: 768px) {
  .modal_480 .modal-dialog {
    max-width: 48rem;
  }
}

.modal_480 .modal-content {
  padding: 4rem;
  border: 1px solid #d3d3d3;
  border-radius: 1rem;
  background-color: #f6f2ec;
}
@media screen and (max-width: 767px) {
  .modal_480 .modal-content {
    padding: 2.4rem;
  }
}

.modal_480 .modal-header {
  padding: 0;
  margin-bottom: 2.4rem;
}

.modal_480 .modal-header .modal-img {
  width: 9.6rem;
  height: 9.6rem;
  margin: 0 auto;
}

.modal_480 .modal-body {
  padding: 0;
  margin-bottom: 2.4rem;
}

.modal_480 .modal-body .modal-title {
  margin-bottom: 0.8rem;
  text-align: center;
}

.modal_480 .modal-body .modal-text {
  text-align: center;
}

.modal_480 .modal-footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
}

.beta_modal .modal-content {
  background: #f6f2ec;
}
.beta_modal .modal-header {
  padding: 48px 80px 16px;
}
@media screen and (max-width: 767px) {
  .beta_modal .modal-header {
    padding: 32px 32px 16px;
  }
}
.beta_modal .modal-header-img {
  margin: 0 auto;
  width: 96px;
  height: 96px;
}
@media screen and (max-width: 767px) {
  .beta_modal .modal-header-img {
    width: 80px;
    height: 80px;
  }
}
.beta_modal .modal-header-title {
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.beta_modal .modal-body {
  height: auto;
  padding: 0 80px 12px;
}
@media screen and (max-width: 767px) {
  .beta_modal .modal-body {
    padding: 0 32px 14px;
  }
}
.beta_modal .modal-body-title {
  margin-bottom: 12px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .beta_modal .modal-body-title {
    margin-bottom: 16px;
  }
}
.beta_modal .modal-body-text {
  font-size: 1.2rem;
}
.beta_modal .modal-body-text .fw_bold {
  display: block;
  font-weight: 700;
}
.beta_modal .modal-footer {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  padding: 12px 80px 48px;
}
@media screen and (max-width: 767px) {
  .beta_modal .modal-footer {
    gap: 10px;
    padding: 14px 32px 32px;
  }
}
.beta_modal .modal-footer .btn-primary {
  min-width: inherit;
}
.beta_modal .modal-close.text-button01 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
}

/* Alert modal */
.alert-modal01 {
  max-width: 504px;
  max-height: 360px;
  padding: 40px;
}
.alert-modal01 .modal-content {
  text-align: left;
  padding: 0;
  border-radius: 0;
  overflow: initial;
}
.alert-modal01 .modal-header {
  padding: 0;
  margin: 0 auto 24px;
}
.alert-modal01 .modal-header-img {
  width: 96px;
}
.alert-modal01 .modal-header-img img {
  width: 100%;
}
.alert-modal01 .modal-body {
  overflow-y: auto;
  height: 88px;
}
.alert-modal01 .modal-body-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 16px;
}
.alert-modal01 .modal-body-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.alert-modal01 .modal-footer {
  gap: 24px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.alert-modal01 .modal-footer .btn01 {
  margin: 0;
}

/* Modal03 */
.modal03 {
  background: #f6f2ec;
  border: 1px solid #d3d3d3;
  border-radius: 10px;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  padding: 48px 80px;
}
@media screen and (max-width: 767px) {
  .modal03 {
    width: auto;
    max-width: none;
    margin: 0 20px;
    padding: 32px;
  }
}
.modal03 .modal-content {
  background: #f6f2ec;
  border: none;
  border-radius: 0;
  max-width: 456px;
}
.modal03 .modal-header {
  margin: 0 auto 24px;
}
.modal03 .modal-header-title {
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* Modal04 */
.modal04 {
  background: #f6f2ec;
  border: 1px solid #d3d3d3;
  border-radius: 10px;
  max-width: 562px;
  height: auto;
  padding: 48px 68px 36px;
}
.modal04 .modal-content {
  background: #f6f2ec;
  border: none;
  border-radius: 0;
}
.modal04 .modal-header {
  padding: 0;
  margin: 0 auto 16px;
}
.modal04 .modal-header-img {
  width: 96px;
  height: 96px;
}
.modal04 .modal-header-title {
  gap: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.modal04 .modal-body {
  height: auto;
  padding: 0 12px;
  margin: 0 auto 12px;
}
.modal04 .modal-body-title {
  margin-bottom: 12px;
  text-align: center;
}
.modal04 .modal-body-text {
  font-size: 1.2rem;
}
.modal04 .modal-body-text .fw_bold {
  display: block;
  font-weight: 700;
}
.modal04 .modal-footer {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  padding: 12px;
}
.modal04 .modal-footer .btn-primary {
  min-width: inherit;
}
.modal04 .modal-close.text-button01 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 400;
}

/* Other */
.limited-function-alert-modal .modal-body-text01 {
  margin-bottom: 16px;
  text-align: center;
}
.limited-function-alert-modal .modal-body-text02:not(:last-of-type) {
  margin-bottom: 12px;
}

.personalized-course-limit-alert-modal .modal-body-text {
  text-align: center;
}

.personalized-course-create-limit-alert-modal .modal-body-text {
  text-align: center;
}

.course-rename-modal .modal-body {
  padding: 48px 80px 12px;
}
@media screen and (max-width: 767px) {
  .course-rename-modal .modal-body {
    padding: 48px 24px 12px;
  }
}
.course-rename-modal .modal-body-title {
  margin-bottom: 4px;
  text-align: left;
  font-weight: 700;
}
.course-rename-modal .modal-body-text {
  margin-bottom: 24px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .course-rename-modal .modal-body-text {
    margin-bottom: 16px;
  }
}
@media all and (min-width: 768px) {
  .course-rename-modal .form_item .form-control {
    width: 100%;
  }
}

.course-delete-modal .modal-body-text {
  text-align: center;
}
.course-delete-modal .modal-footer .btn-primary-warning {
  min-width: inherit;
}
.course-delete-modal .modal-close.text-button01 {
  color: #ee4f4f;
}
.course-delete-modal .modal-close.text-button01:hover {
  color: #f38484;
}

.plan_restriction_modal .modal-dialog,
.plan_access_restriction_modal .modal-dialog {
  background-color: initial;
  border: none;
  max-width: 562px;
  padding: 0;
}
.plan_restriction_modal .modal-content,
.plan_access_restriction_modal .modal-content {
  border: 1px solid #d3d3d3;
  border-radius: 10px;
  padding: 48px 68px 36px;
}
.plan_restriction_modal .modal-header,
.plan_access_restriction_modal .modal-header {
  border: none;
}
.plan_restriction_modal .modal-body-text,
.plan_access_restriction_modal .modal-body-text {
  text-align: center;
}
.plan_restriction_modal .modal-footer,
.plan_access_restriction_modal .modal-footer {
  border: none;
}

/* Feedback modal */
@media screen and (max-width: 991px) {
  .feedback_modal .modal-lg {
    margin: 0.5rem;
  }
}
.feedback_modal .modal-content {
  height: 100%;
  max-height: 720px;
}
.feedback_modal .modal-header {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 80px min(11.1111111111vw, 160px) 24px;
}
@media screen and (max-width: 767px) {
  .feedback_modal .modal-header {
    padding: 32px 24px 24px;
  }
}
@media screen and (max-width: 767px) {
  .feedback_modal .modal-title {
    padding: 0 24px;
  }
}
.feedback_modal .modal-body {
  padding: 24px min(11.1111111111vw, 160px) 24px;
}
@media screen and (max-width: 767px) {
  .feedback_modal .modal-body {
    padding: 24px;
  }
}
.feedback_modal .modal-footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 24px min(11.1111111111vw, 160px) 80px;
}
@media screen and (max-width: 767px) {
  .feedback_modal .modal-footer {
    padding: 24px 24px 32px;
  }
}
.feedback_modal .card-img {
  width: 100%;
}
.feedback_modal .modal-content-01 .modal-title {
  margin-bottom: 24px;
}
.feedback_modal .modal-content-01 .support-link {
  color: #c15631;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  font-weight: 700;
}
.feedback_modal .modal-content-01 .support-link:hover {
  color: #ed6d34;
}
@media all and (min-width: 768px) {
  .feedback_modal .modal-content-01 .feedback-form-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.feedback_modal .modal-content-01 .form_section {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.feedback_modal .modal-content-01 .form_item:not(:last-of-type) {
  margin-bottom: 16px;
}
.feedback_modal .modal-content-01 .form_item .form-control {
  width: 100%;
}
.feedback_modal .modal-content-01 .form-label {
  margin-bottom: 8px;
  text-transform: uppercase;
}
.feedback_modal .modal-content-01 .form-label .label01 {
  background: #ed6d34;
}
.feedback_modal .modal-content-01 .form_item_feedback_details .form-control {
  height: 135px;
  padding: 16px 20px;
}
.feedback_modal .modal-content-01 .select_container {
  width: 100%;
}
.feedback_modal .modal-content-01 .card-img--wrapper {
  width: min(100%, 250px);
  width: min(17.3611111111vw, 250px);
  margin-right: 30px;
}
@media screen and (max-width: 767px) {
  .feedback_modal .modal-content-01 .card-img--wrapper {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .feedback_modal .modal-content-02.modal-content {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.feedback_modal .modal-content-02 .modal-title {
  margin-bottom: 16px;
}
.feedback_modal .modal-content-02 .card-img--wrapper {
  max-width: 360px;
  max-height: 360px;
  margin: 0 auto;
}

/* Confirm modal */
.ai_mentor_introduction_modal .modal-content {
  border-radius: 1rem;
  border: 1px solid #d3d3d3;
  background: #f6f2ec;
}

.ai_mentor_introduction_modal .modal-header {
  padding: 5rem 8rem 1.2rem;
}
@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-header {
    padding: 2.4rem 2.4rem 1.2rem;
  }
}

.ai_mentor_introduction_modal .modal-header .modal-img {
  width: 8rem;
  height: 8rem;
  margin: 0 auto;
}

.ai_mentor_introduction_modal .modal-body {
  padding: 1.2rem 8rem;
}
@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-body {
    padding: 1.2rem 2.4rem;
  }
}

.ai_mentor_introduction_modal .modal-body .modal-title {
  margin-bottom: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-body .modal-title {
    margin-bottom: 0.8rem;
  }
}

.ai_mentor_introduction_modal .modal-body .modal-text {
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-body .modal-text {
    font-size: 1.4rem;
  }
}

.ai_mentor_introduction_modal .modal-footer {
  padding: 1.2rem 8rem 5rem;
}
@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-footer {
    gap: 0;
    padding: 1.2rem 2.4rem 2.4rem;
  }
}

.ai_mentor_introduction_modal .modal-footer .btn_group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-footer .btn_group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.ai_mentor_introduction_modal .modal-footer .btn_question_board {
  padding: 0.8rem 3.2rem;
}
@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-footer .btn_question_board {
    width: 100%;
    max-width: 20rem;
  }
}

.ai_mentor_introduction_modal .modal-footer .btn_ai_mentor {
  padding: 0.8rem 2.4rem;
}
@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-footer .btn_ai_mentor {
    width: 100%;
    max-width: 20rem;
  }
}

.ai_mentor_introduction_modal .modal-footer .form_item {
  margin-top: 1.6rem;
}

@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-footer .form_item .form-check .form-check-label {
    padding-left: 2.6rem;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-footer .form_item .form-check .form-check-input[type=checkbox] + .form-check-label:before {
    width: 1.8rem;
    height: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .ai_mentor_introduction_modal .modal-footer .form_item .form-check .form-check-input[type=checkbox] + .form-check-label .icon {
    width: 1.6rem;
    height: 1.6rem;
  }
}

/* Next Lesson Modal */
.learning_path_modal .modal-content {
  border-radius: 1rem;
  border: 1px solid #d3d3d3;
  background: #f6f2ec;
}

.learning_path_modal .modal-header {
  padding: 5rem 8rem 1.2rem;
}
@media screen and (max-width: 767px) {
  .learning_path_modal .modal-header {
    padding: 2.4rem 2.4rem 1.2rem;
  }
}

.learning_path_modal .modal-header .modal-img {
  width: 8rem;
  height: 8rem;
  margin: 0 auto;
}

.learning_path_modal .modal-body {
  padding: 1.2rem 8rem;
}
@media screen and (max-width: 767px) {
  .learning_path_modal .modal-body {
    padding: 1.2rem 2.4rem;
  }
}

.learning_path_modal .modal-body .modal-title {
  margin-bottom: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .learning_path_modal .modal-body .modal-title {
    margin-bottom: 0.8rem;
  }
}

.learning_path_modal .modal-body .modal-text {
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .learning_path_modal .modal-body .modal-text {
    font-size: 1.4rem;
  }
}

.learning_path_modal .modal-footer {
  padding: 1.2rem 8rem 5rem;
}
@media screen and (max-width: 767px) {
  .learning_path_modal .modal-footer {
    gap: 0;
    padding: 1.2rem 2.4rem 2.4rem;
  }
}

.learning_path_modal .modal-footer .btn_group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .learning_path_modal .modal-footer .btn_group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.learning_path_modal .modal-footer .btn01 {
  min-width: 15.2rem;
}
@media screen and (max-width: 767px) {
  .learning_path_modal .modal-footer .btn01 {
    width: 100%;
    max-width: 20rem;
  }
}

/* Mask */
.mask {
  position: fixed;
  inset: 0;
  z-index: 9998;
  background: rgb(121, 121, 121);
  mix-blend-mode: multiply;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  width: 100vw;
  height: 100vh;
}
.mask[modal_id=user-setting] {
  background: transparent;
}
.mask.show {
  opacity: 1;
  visibility: visible;
}
.mask[data-backdrop=static] {
  pointer-events: none;
}

.modal-backdrop {
  background: rgb(121, 121, 121) !important;
  mix-blend-mode: multiply;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 1 !important;
}

/* Tutorial Introduction Modal */
.tutorial_introduction_modal .modal-content {
  border-radius: 1rem;
  border: 1px solid #d3d3d3;
  background: #f6f2ec;
}

.tutorial_introduction_modal .modal-header {
  padding: 5rem 8rem 1.2rem;
}
@media screen and (max-width: 767px) {
  .tutorial_introduction_modal .modal-header {
    padding: 2.4rem 2.4rem 1.2rem;
  }
}

.tutorial_introduction_modal .modal-header .modal-img {
  width: 8rem;
  height: 8rem;
  margin: 0 auto;
}

.tutorial_introduction_modal .modal-body {
  padding: 1.2rem 8rem;
}
@media screen and (max-width: 767px) {
  .tutorial_introduction_modal .modal-body {
    padding: 1.2rem 2.4rem;
  }
}

.tutorial_introduction_modal .modal-body .modal-title {
  margin-bottom: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tutorial_introduction_modal .modal-body .modal-title {
    margin-bottom: 0.8rem;
  }
}

.tutorial_introduction_modal .modal-body .modal-text {
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tutorial_introduction_modal .modal-body .modal-text {
    font-size: 1.4rem;
  }
}

.tutorial_introduction_modal .modal-footer {
  padding: 1.2rem 8rem 5rem;
}
@media screen and (max-width: 767px) {
  .tutorial_introduction_modal .modal-footer {
    gap: 0;
    padding: 1.2rem 2.4rem 2.4rem;
  }
}

.tutorial_introduction_modal .modal-footer .btn_group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  .tutorial_introduction_modal .modal-footer .btn_group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Pagination
--------------------------------------------------*/
.pagination {
  gap: 4px;
  margin: 40px auto 0;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .pagination .page-item {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.pagination .page-item .page-link {
  background: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 4px !important;
  color: #c15631;
  text-decoration: none;
  line-height: 32px;
  padding: 0;
  margin: 0 !important;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  width: 32px;
  height: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .pagination .page-item .page-link {
    width: 100%;
  }
}
.pagination .page-item .page-link.active {
  background: #f6ece6;
  font-weight: bold;
}
.pagination .page-item .page-link:hover {
  color: rgba(193, 86, 49, 0.6);
}
.pagination .page-item .page-link:hover .icon path {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  stroke: rgba(193, 86, 49, 0.6);
}
.pagination .page-item.dots {
  margin-inline: -4px;
}
.pagination .page-item.dots .page-link {
  background: none;
  border: none;
  width: auto;
  pointer-events: none;
  width: 24px;
  height: 24px;
}
.pagination .page-item.active .page-link {
  border: 1px solid #d3d3d3;
  background: #f6ece6;
  font-weight: bold;
  color: #c15631;
}
.pagination .page-item .btn__icon {
  margin-right: 0;
}
.pagination .page-item.disable {
  visibility: hidden;
}
.pagination .page-item.disable .page-link {
  -webkit-transition: none;
  transition: none;
}
.pagination.empty {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 0;
}
.pagination.empty + .reset-btn {
  display: block;
}

.no-items-message {
  text-align: center;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Snackbar Component
--------------------------------------------------*/
.snackbar {
  position: fixed;
  top: calc(50px + 1.6rem);
  right: 1.6rem;
  z-index: 9900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
  max-width: 400px;
  padding: 1rem 1.6rem;
  border-radius: 0.8rem;
  background-color: #fff;
  -webkit-box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
          box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
  font-weight: bold;
  opacity: 0;
  -webkit-transform: translateX(calc(100% + 1.6rem));
          transform: translateX(calc(100% + 1.6rem));
  -webkit-transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: -webkit-grab;
  cursor: grab;
}
@media screen and (max-width: 767px) {
  .snackbar {
    top: calc(50px + 1.6rem);
    max-width: none;
  }
}

body:has(.notice-swiper) .snackbar {
  top: calc(50px + 6.4rem);
}
@media screen and (max-width: 767px) {
  body:has(.notice-swiper) .snackbar {
    top: calc(50px + 6.4rem);
  }
}

.snackbar.show {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.snackbar .icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
}

.snackbar .comment {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.snackbar.snackbar-positive {
  -webkit-box-shadow: 0px 2px 18px 2px rgba(110, 165, 38, 0.2);
          box-shadow: 0px 2px 18px 2px rgba(110, 165, 38, 0.2);
}

.snackbar.snackbar-warning {
  -webkit-box-shadow: 0px 2px 18px 2px rgba(187, 140, 41, 0.2);
          box-shadow: 0px 2px 18px 2px rgba(187, 140, 41, 0.2);
}

.snackbar.snackbar-negative {
  -webkit-box-shadow: 0px 2px 18px 2px rgba(197, 73, 43, 0.2);
          box-shadow: 0px 2px 18px 2px rgba(197, 73, 43, 0.2);
}

.snackbar.dragging {
  cursor: -webkit-grabbing;
  cursor: grabbing;
  -webkit-transition: none;
  transition: none;
}

.snackbar.drag-exit {
  opacity: 0;
  -webkit-transform: translateX(calc(100% + 5rem));
          transform: translateX(calc(100% + 5rem));
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

.snackbar[data-auto-hide=true] {
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-animation: snackbar-auto-hide 10s ease forwards;
          animation: snackbar-auto-hide 10s ease forwards;
}

@-webkit-keyframes snackbar-auto-hide {
  0%, 75% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@keyframes snackbar-auto-hide {
  0%, 75% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Tag
--------------------------------------------------*/
.tag01 {
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 1.2rem;
  color: #c15631;
  background: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 50rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 2px 16px;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Tooltip
--------------------------------------------------*/
.btn-tooltip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  background: none;
  border: none;
  margin: 0;
  padding: 0;
}
@media all and (hover: hover) and (min-width: 768px) {
  .btn-tooltip:hover .tooltip, .btn-tooltip.hover .tooltip {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
  }
}
@media all and (hover: hover) and (min-width: 768px) {
  .btn-tooltip:hover .icon path, .btn-tooltip.hover .icon path {
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    fill: #8c9fb2;
  }
}
.btn-tooltip:focus {
  outline: none;
}

.tooltip {
  display: none;
  position: absolute;
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  color: #fff;
  background: #4e6172;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 416px;
  border-radius: 8px;
  padding: 16px;
  pointer-events: none;
  z-index: 1020;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .tooltip {
    max-width: 260px;
  }
}
.tooltip .triangle-wrapper,
.tooltip .tooltip_arrow {
  position: absolute;
}
.tooltip.tooltip-on-right {
  top: 50%;
  left: calc(100% + 24px);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.tooltip.tooltip-on-right .triangle-wrapper {
  top: 50%;
  left: -17px;
  -webkit-transform: translateY(-50%) rotate(-90deg);
          transform: translateY(-50%) rotate(-90deg);
}
.tooltip.tooltip-on-right .tooltip_arrow {
  top: 50%;
  left: -1.4rem;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.tooltip.tooltip-on-top {
  bottom: calc(100% + 24px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.tooltip.tooltip-on-top .triangle-wrapper {
  bottom: -17px;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(-180deg);
          transform: translateX(-50%) rotate(-180deg);
}
.tooltip.tooltip-on-top-left {
  bottom: calc(100% + 24px);
  right: -16px;
}
.tooltip.tooltip-on-top-left .triangle-wrapper {
  bottom: -17px;
  right: 16px;
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.tooltip.tooltip-on-bottom {
  top: calc(100% + 24px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.tooltip.tooltip-on-bottom .triangle-wrapper {
  top: -17px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.tooltip .triangle,
.tooltip .triangle:before,
.tooltip .triangle:after {
  width: 20px;
  height: 20px;
}
.tooltip .triangle {
  overflow: hidden;
  background-color: transparent;
  display: block;
  position: relative;
  margin: 0 auto;
  border-radius: 2px;
  -webkit-transform: translateY(50%) rotate(30deg) skewY(30deg) scaleX(0.866);
          transform: translateY(50%) rotate(30deg) skewY(30deg) scaleX(0.866);
}
.tooltip .triangle:before,
.tooltip .triangle:after {
  position: absolute;
  content: "";
}
.tooltip .triangle:before {
  background-color: #4e6172;
  border-radius: 2px;
  -webkit-transform: scaleX(1.155) skewY(-30deg) rotate(-30deg) translateY(-42.3%) skewX(30deg) scaleY(0.866) translateX(-24%);
          transform: scaleX(1.155) skewY(-30deg) rotate(-30deg) translateY(-42.3%) skewX(30deg) scaleY(0.866) translateX(-24%);
}
.tooltip .triangle:after {
  background-color: #4e6172;
  border-radius: 2px;
  -webkit-transform: scaleX(1.155) skewY(-30deg) rotate(-30deg) translateY(-42.3%) skewX(-30deg) scaleY(0.866) translateX(24%);
          transform: scaleX(1.155) skewY(-30deg) rotate(-30deg) translateY(-42.3%) skewX(-30deg) scaleY(0.866) translateX(24%);
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Breadcrumb
--------------------------------------------------*/
.breadcrumb01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.breadcrumb01 .breadcrumb-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  padding: 0;
  color: #576c80;
  font-size: 1.2rem;
}
.breadcrumb01 .breadcrumb-link {
  color: #576c80;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
@media all and (hover: hover) and (min-width: 768px) {
  .breadcrumb01 .breadcrumb-link:hover {
    color: #8c9fb2;
  }
}
.breadcrumb01 .breadcrumb-separator {
  display: grid;
  place-items: center;
}
.breadcrumb01 .breadcrumb-separator img {
  vertical-align: middle;
}
.breadcrumb01 .breadcrumb-current {
  font-weight: 700;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Progress
--------------------------------------------------*/
/* Progress answer rate */
@media all and (min-width: 768px) {
  .progressbar_answer_rate {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.progressbar_answer_rate .progress_bar_area {
  margin: 0 40px 4px 0;
}
@media screen and (max-width: 767px) {
  .progressbar_answer_rate .progress_bar_area {
    margin: 0;
  }
}
@media all and (min-width: 768px) {
  .progressbar_answer_rate .progress_text {
    margin-bottom: 3px;
    font-size: 1.2rem;
  }
}
.progressbar_answer_rate .progress_text span {
  padding: 0 0.5rem;
}
.progressbar_answer_rate .progress_text span:first-of-type {
  padding-left: 0;
}
.progressbar_answer_rate .progress_bar {
  width: 240px;
  height: 10px;
  border-radius: 5px;
  background: #f6ece6;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .progressbar_answer_rate .progress_bar {
    width: 100%;
  }
}
.progressbar_answer_rate .progress_bar .progress {
  border-radius: 5px;
  background: #ed6d34;
}
.progressbar_answer_rate .answer_rate {
  line-height: 1;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .progressbar_answer_rate .answer_rate {
    margin-top: 0;
  }
}
.progressbar_answer_rate .answer_rate .point {
  margin-left: 8px;
  color: #c15631;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .progressbar_answer_rate .answer_rate .point {
    margin-left: 4px;
  }
}
.progressbar_answer_rate .progress_value {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Video Step
--------------------------------------------------*/
.video_step_container {
  width: 100%;
}

.video_step_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  width: 100%;
  padding: 1.6rem 1.2rem 0.8rem;
  overflow-x: auto;
}

.video_step_wrapper::-webkit-scrollbar {
  height: 1rem;
}

.video_step_wrapper::-webkit-scrollbar-track {
  border: none;
  border-radius: 999px;
  background: #f0f0f0;
}

.video_step_wrapper::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #d3d3d3;
  cursor: pointer;
}

.video_step_button {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  min-width: auto;
  max-width: calc((100% - 4.8rem) / 4);
  height: auto;
  min-height: 56px;
  margin: 0;
  padding: 1rem 1.2rem;
  background-color: #fff;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
  color: #897051;
  font-size: 1.2rem;
}

.video_step_button.active {
  background-color: #b08c60;
  color: #fff;
}

.video_step_button .step_name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: unset;
  white-space: unset;
  white-space: normal;
}

.video_step_container.five-or-more .video_step_button {
  max-width: calc((100% - 64px) / 5);
}

/*--------------------------------------------------
Layout
--------------------------------------------------*/
/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Layout
--------------------------------------------------*/
/* Common */
main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.main_content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .main_content {
    margin-top: 50px;
  }
}
.main_content .container {
  padding: 94px 20px 80px;
}
@media screen and (max-width: 767px) {
  .main_content .container {
    padding: 36px 20px 60px;
    max-width: 100%;
  }
}
@media all and (min-width: 768px) {
  .app_main .main_content .container {
    padding: 40px 20px 80px;
  }
}

/* Content */
.content {
  background: #fff;
  -webkit-box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
          box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
  border-radius: 8px;
  border: none;
  padding: 0px 0px;
}

.border-bottom-gray {
  border-bottom: 1px solid #d3d3d3;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Form
--------------------------------------------------*/
/* Layout */
.form-element_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.form-element__item {
  max-width: 360px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .form-element__item {
    max-width: 100%;
  }
}

.form_item:not(:last-of-type) {
  margin-bottom: 24px;
}
.form_item .form-control {
  width: min(100%, 360px);
  height: auto;
}
@media screen and (max-width: 767px) {
  .form_item .form-control {
    width: 100%;
  }
}
.form_item .select_container {
  position: relative;
  width: min(100%, 360px);
}
@media screen and (max-width: 767px) {
  .form_item .select_container {
    width: 100%;
  }
}
.form_item .select_container .form-select {
  width: 100%;
  height: auto;
  padding: 14px 48px 14px 16px;
  border: 1px solid #d3d3d3;
  border-radius: 8px !important;
  background: #fff;
  color: #34536f;
}
.form_item .select_container .form-select::-webkit-input-placeholder {
  color: #8c9fb2;
}
.form_item .select_container .form-select::-moz-placeholder {
  color: #8c9fb2;
}
.form_item .select_container .form-select:-ms-input-placeholder {
  color: #8c9fb2;
}
.form_item .select_container .form-select::-ms-input-placeholder {
  color: #8c9fb2;
}
.form_item .select_container .form-select::placeholder {
  color: #8c9fb2;
}
.form_item .select_container .form-select:focus {
  border-color: #b08c60;
  background-color: #fff;
  color: #34536f;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.form_item .select_container .icon_wrapper {
  display: grid;
  place-items: center;
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 16px;
}
.form_item .select_container .icon {
  pointer-events: none;
}
.form_item .form-check .form-check-input {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
}
.form_item .form-check .form-check-input[type=checkbox]:checked + .form-check-label::before {
  border: none;
  background: #ed6d34;
}
.form_item .form-check .form-check-input[type=checkbox]:checked + .form-check-label .icon {
  opacity: 1;
}
.form_item .form-check .form-check-input[type=checkbox] + .form-check-label:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 1px solid #d3d3d3;
  border-radius: 3px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .form_item .form-check .form-check-input[type=checkbox] + .form-check-label:before {
    border-radius: 2px;
    width: 12px;
    height: 12px;
  }
}
.form_item .form-check .form-check-input[type=checkbox] + .form-check-label .icon {
  position: absolute;
  top: 50%;
  left: 1px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .form_item .form-check .form-check-input[type=checkbox] + .form-check-label .icon {
    width: 10px;
    height: 10px;
  }
}
.form_item .form-check .form-check-input[type=radio]:checked + .form-check-label::before {
  border-color: #ed6d34;
}
.form_item .form-check .form-check-input[type=radio]:checked + .form-check-label::after {
  opacity: 1;
}
.form_item .form-check .form-check-input[type=radio] + .form-check-label::before, .form_item .form-check .form-check-input[type=radio] + .form-check-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  border-radius: 50%;
}
.form_item .form-check .form-check-input[type=radio] + .form-check-label::before {
  left: 0;
  border: 1px solid #d3d3d3;
  border-radius: 50%;
  background-color: #fff;
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 767px) {
  .form_item .form-check .form-check-input[type=radio] + .form-check-label::before {
    width: 12px;
    height: 12px;
  }
}
.form_item .form-check .form-check-input[type=radio] + .form-check-label::after {
  left: 4px;
  border-radius: 50%;
  background-color: #ed6d34;
  opacity: 0;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 767px) {
  .form_item .form-check .form-check-input[type=radio] + .form-check-label::after {
    width: 4px;
    height: 4px;
  }
}
.form_item .form-check .form-check-label {
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 26px;
}
@media screen and (max-width: 767px) {
  .form_item .form-check .form-check-label {
    padding-left: 16px;
    font-size: 1rem;
  }
}

/* Label */
.form-label {
  gap: 8px;
  margin-bottom: 4px;
  color: #576c80;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
}

.form-element-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
  color: #576c80;
  font-weight: bold;
  margin-bottom: 4px;
}

/* Text Field */
.form-control,
.form-select {
  color: #34536f;
  background: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 8px !important;
  width: 360px;
  height: 50px;
  padding: 14.5px 16px;
  font-size: 1.4rem;
}
.form-control::-webkit-input-placeholder, .form-select::-webkit-input-placeholder {
  color: #8c9fb2;
}
.form-control::-moz-placeholder, .form-select::-moz-placeholder {
  color: #8c9fb2;
}
.form-control:-ms-input-placeholder, .form-select:-ms-input-placeholder {
  color: #8c9fb2;
}
.form-control::-ms-input-placeholder, .form-select::-ms-input-placeholder {
  color: #8c9fb2;
}
.form-control::placeholder,
.form-select::placeholder {
  color: #8c9fb2;
}
.form-control:focus,
.form-select:focus {
  color: #34536f;
  background-color: #fff;
  border-color: #b08c60;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

@media screen and (max-width: 767px) {
  .form-control {
    max-width: 100%;
  }
}

.input-group {
  display: block;
}

/* Password */
.input-pw {
  position: relative;
}
.input-pw .form-control {
  padding: 13.5px 52px 13.5px 16px;
}

.toggle-pw {
  position: absolute;
  top: 50%;
  right: 14px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.toggle-pw.btn__icon {
  margin-right: 0;
}

/* Helper */
.form-text {
  margin-top: 8px;
  margin-left: 0 !important;
  color: #34536f;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .form-text {
    margin-top: 4px;
    font-size: 1rem;
  }
}

/* Text Area */
/* Unit */
.unit {
  padding-left: 0.5em;
  font-weight: normal;
}

/* Select Box */
.form-element-select {
  position: relative;
}
.form-element-select .form-select {
  padding-right: 48px;
}
.form-element-select .icon {
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  margin-right: 0;
  pointer-events: none;
}

/* Checkbox */
.form-check {
  position: relative;
  min-height: auto;
  padding: 0;
  margin: 0;
}

.form-check01 .form-check-input {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}
.form-check01 .form-check-input:checked + .form-check-label::before {
  background: #ed6d34;
  border: none;
}
.form-check01 .form-check-input:checked + .form-check-label .icon {
  opacity: 1;
}
.form-check01 .form-check-label {
  position: relative;
  display: block;
  padding-left: 26px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .form-check01 .form-check-label {
    padding-left: 16px;
    font-size: 1rem;
  }
}
.form-check01 .form-check-label:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 3px;
}
@media screen and (max-width: 767px) {
  .form-check01 .form-check-label:before {
    border-radius: 2px;
    width: 12px;
    height: 12px;
  }
}
.form-check01 .form-check-label .icon {
  position: absolute;
  top: 50%;
  left: 1px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .form-check01 .form-check-label .icon {
    width: 10px;
    height: 10px;
  }
}

.form-check02 {
  display: none;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  background: #fff;
  -webkit-box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
          box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
  border-radius: 8px;
  border: none;
  padding: 16px 24px;
}
.form-check02.show {
  display: block;
  opacity: 1;
  visibility: visible;
}
.form-check02 .form-check-text {
  margin-bottom: 16px;
}
.form-check02 .form-check-list {
  margin-bottom: 16px;
}
.form-check02 .form-check-list-item:not(:last-of-type) {
  margin-bottom: 12px;
}
.form-check02 .form-check-input:checked + .form-check-label::before {
  background: #b08c60;
}
.form-check02 .form-check-label:before {
  border-color: #576c80;
}

/* Radio Button */
.form-radio-input {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}
.form-radio-input:checked + .form-radio-label::before {
  border-color: #ed6d34;
}
.form-radio-input:checked + .form-radio-label::after {
  opacity: 1;
}

.form-radio-label {
  position: relative;
  cursor: pointer;
  padding-left: 26px;
}
.form-radio-label::before, .form-radio-label::after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form-radio-label::before {
  background-color: #fff;
  border: 1px solid #d3d3d3;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  left: 0;
}
.form-radio-label::after {
  background-color: #ed6d34;
  border-radius: 50%;
  opacity: 0;
  width: 10px;
  height: 10px;
  left: 4px;
}

/* Search */
.form-element-search {
  position: relative;
  width: 630px;
}
@media screen and (max-width: 767px) {
  .form-element-search {
    width: 100%;
  }
}
.form-element-search .form-control {
  padding-right: 66px;
}
.form-element-search .form-control::-webkit-search-cancel-button {
  -webkit-appearance: none;
          appearance: none;
}
.form-element-search .btn-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
  background: #576c80;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  padding: 0;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

/* Toggle switch */
.toggle-switch-label {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
}
.toggle-switch-label .toggle-switch {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}
.toggle-switch-label .toggle-switch:checked + .toggle-slider {
  background-color: #ed6d34;
}
.toggle-switch-label .toggle-switch:focus + .toggle-slider {
  -webkit-box-shadow: 0 0 1px #ed6d34;
          box-shadow: 0 0 1px #ed6d34;
}
.toggle-switch-label .toggle-switch:checked + .toggle-slider:before {
  -webkit-transform: translateX(20px);
          transform: translateX(20px);
}

.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #dedede;
  border-radius: 20px;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
.toggle-slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

/* Error */
.valid-err {
  position: relative;
  font-size: 1.4rem;
  font-weight: bold;
  color: #ee4f4f;
}
.valid-err .error-list01 .error-list-item {
  gap: 8px;
  margin-top: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .valid-err .error-list01 .error-list-item {
    gap: 4px;
    margin-top: 4px;
    font-size: 1rem;
  }
}
.valid-err .error-list01 .error-list-item .icon,
.valid-err .error-list01 .error-list-item img {
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .valid-err .error-list01 .error-list-item .icon,
  .valid-err .error-list01 .error-list-item img {
    width: 12px;
    height: 12px;
  }
}

/* Feedback */
.invalid-feedback {
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  margin-top: 0.8rem;
  color: #ee4f4f;
  font-size: 1.4rem;
  font-weight: bold;
}

.form_item:has(:user-invalid) .invalid-feedback,
.form_item:has(.is-invalid) .invalid-feedback {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.form-control:user-invalid,
.form-control.is-invalid {
  border-color: #ee4f4f;
  background-image: none;
}

.form-select:user-invalid,
.form-select.is-invalid {
  border-color: #ee4f4f;
  background-image: none;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/* List */
.bullet-list {
  list-style: disc;
  padding-left: 2rem;
}
.bullet-list li {
  list-style: disc;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Tab Navigation
--------------------------------------------------*/
/* Tab nav unit */
.tab-nav-unit {
  position: relative;
}

.tab-nav {
  background: #faf8f6;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.tab-nav-list {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.tab-nav-list-col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .tab-nav-list-col4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

.tab-nav-list-item {
  position: relative;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tab-nav-list-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: transparent;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  -webkit-transform: none;
          transform: none;
}
.tab-nav-list-item:hover {
  color: #f39f70;
}
.tab-nav-list-item:hover::after {
  background: #f39f70;
}
.tab-nav-list-item.active {
  color: #ed6d34;
}
.tab-nav-list-item.active::after {
  background: #ed6d34;
}
@media (hover: none), (pointer: coarse) {
  .tab-nav-list-item:hover {
    color: inherit;
  }
  .tab-nav-list-item:hover::after {
    background: transparent;
  }
}
@media screen and (max-width: 767px) {
  .tab-nav-list-item.hover {
    color: #f39f70;
  }
  .tab-nav-list-item.hover::after {
    background: #f39f70;
  }
  .tab-nav-list-item.active {
    color: #ed6d34;
  }
  .tab-nav-list-item.active::after {
    background: #ed6d34;
  }
}

.tab-nav01 {
  padding: 0 48px;
}
@media screen and (max-width: 767px) {
  .tab-nav01 {
    padding: 0 20px;
  }
}
.tab-nav01 .tab-nav-list-item {
  padding: 26px 0;
}
@media screen and (max-width: 767px) {
  .tab-nav01 .tab-nav-list-item {
    padding: 18px 0;
  }
}

/* Tabs item */
.tabs-item {
  display: none;
}
.tabs-item.active {
  display: block;
}

.tabs01 .tabs-item {
  padding: 48px;
}
@media screen and (max-width: 767px) {
  .tabs01 .tabs-item {
    padding: 20px;
  }
}

/* Tab slider */
.tab_slider_nav {
  width: 100%;
}

.tab_slider_tabs {
  position: relative;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 48px;
  margin: 0 auto;
  padding: 0;
  overflow: hidden;
  border-radius: 9999px;
  background: #eaeff4;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.tab_slider_tabs::after {
  content: "";
  position: absolute;
  top: 0;
  left: var(--tab-left, 0);
  width: var(--tab-width, 33.3333333333%);
  height: 100%;
  border: 1px solid #576c80;
  border-radius: 9999px;
  background: #fff;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  font-size: 1.2rem;
}

.tab_slider_trigger {
  position: relative;
  z-index: 2;
  display: inline-block;
  padding: 0;
  text-align: center;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  font-size: 1.2rem;
}

.tab_slider_body {
  display: none;
}
.tab_slider_body.active {
  display: block;
}

/* Tab Underline */
.tabs_underline .tabs_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.tabs_underline .tab_item {
  position: relative;
  padding: 0.8rem 2.4rem;
  outline: none;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

.tabs_underline .tab_item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #8c9fb2;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}

.tabs_underline .tab_item.active {
  color: #ed6d34;
}
.tabs_underline .tab_item.active::after {
  background: #ed6d34;
}

@media all and (hover: hover) and (min-width: 768px) {
  .tabs_underline .tab_item:not(.active):hover {
    color: #f39f70;
  }
}
@media all and (hover: hover) and (min-width: 768px) {
  .tabs_underline .tab_item:not(.active):hover::after {
    background: #f39f70;
  }
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/* Table */
/* Table02 */
.table02-header,
.table02-body-item {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  -webkit-border-after: 1px solid #f6ece6;
          border-block-end: 1px solid #f6ece6;
}
.table02-header dt,
.table02-header dd,
.table02-body-item dt,
.table02-body-item dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: normal;
  -webkit-margin-start: auto;
          margin-inline-start: auto;
}
.table02-header dt,
.table02-body-item dt {
  -webkit-padding-end: 58px;
          padding-inline-end: 58px;
}
@media screen and (max-width: 767px) {
  .table02-header dt,
  .table02-body-item dt {
    -webkit-padding-end: 8px;
            padding-inline-end: 8px;
  }
}
.table02-header dd:first-of-type,
.table02-body-item dd:first-of-type {
  -webkit-margin-start: 0;
          margin-inline-start: 0;
}

.table02-header {
  padding: 17px 24px;
}
.table02-header dt,
.table02-header dd {
  font-weight: bold;
  color: #576c80;
}

.table02-body-item {
  padding: 12px 24px;
}

.table02-body-item-data02 {
  gap: 16px;
}
.table02-body-item-data02 .table02-body-item-data02-img {
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 767px) {
  .table02-body-item-data02 .table02-body-item-data02-img {
    display: none;
  }
}
.table02-body-item-data02 .table02-body-item-data02-img img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

/* Table02 col4 */
.table02-col4 .table02-header,
.table02-col4 .table02-body-item {
  grid-template-columns: 90px 1fr repeat(2, 24.543%);
}
@media screen and (max-width: 1200px) {
  .table02-col4 .table02-header,
  .table02-col4 .table02-body-item {
    grid-template-columns: 90px 1fr 24.543%;
  }
  .table02-col4 .table02-header dd:last-of-type,
  .table02-col4 .table02-body-item dd:last-of-type {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .table02-col4 .table02-header,
  .table02-col4 .table02-body-item {
    grid-template-columns: 40px 1fr 40.486%;
  }
}

/* Table02 col5 */
.table02-col5 .table02-header,
.table02-col5 .table02-body-item {
  grid-template-columns: 90px 1fr repeat(3, 19.015%);
}
@media screen and (max-width: 1200px) {
  .table02-col5 .table02-header,
  .table02-col5 .table02-body-item {
    grid-template-columns: 90px 1fr repeat(2, 19.015%);
  }
  .table02-col5 .table02-header dd:last-of-type,
  .table02-col5 .table02-body-item dd:last-of-type {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .table02-col5 .table02-header,
  .table02-col5 .table02-body-item {
    grid-template-columns: 40px 1fr 19.015%;
  }
  .table02-col5 .table02-header dd:nth-of-type(3),
  .table02-col5 .table02-body-item dd:nth-of-type(3) {
    display: none;
  }
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Tutorial
--------------------------------------------------*/
.driver-popover {
  font-family: "Noto Sans JP", sans-serif;
  background: #f6f2ec;
  width: 100%;
  max-width: 420px;
  padding: 26px 24px 20px;
  border-radius: 8px;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
}
.driver-popover.popover-lg {
  max-width: 520px;
}
.driver-popover.popover-lg .driver-popover-title {
  max-width: 420px;
}
.driver-popover .driver-popover-next-btn {
  margin-inline: 0;
}

.driver-popover-arrow {
  border: none;
  background: #f6f2ec;
  border-radius: 2px;
  width: 32px;
  height: 32px;
  z-index: -1;
}
.driver-popover-arrow.driver-popover-arrow-side-top {
  top: calc(100% - 25px);
  -webkit-transform: rotate(-45deg) skew(-5deg, -5deg);
          transform: rotate(-45deg) skew(-5deg, -5deg);
}
.driver-popover-arrow.driver-popover-arrow-side-bottom {
  top: -8px;
  -webkit-transform: rotate(-45deg) skew(-5deg, -5deg);
          transform: rotate(-45deg) skew(-5deg, -5deg);
}
.driver-popover-arrow.driver-popover-arrow-side-left {
  left: calc(100% - 25px);
  -webkit-transform: rotate(45deg) skew(-5deg, -5deg);
          transform: rotate(45deg) skew(-5deg, -5deg);
}

.driver-popover-title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  font-weight: bold;
  color: #34536f;
  max-width: 320px;
  margin: 0;
}

.driver-popover-description {
  font-family: "Noto Sans JP", sans-serif;
  color: #34536f;
  margin-top: 8px !important;
}
.driver-popover-description .driver-popover-title {
  margin-bottom: 4px;
}
.driver-popover-description .driver-popover-title:not(:first-of-type) {
  margin-top: 8px;
}
.driver-popover-description .icon {
  vertical-align: middle;
}
.driver-popover-description .note {
  display: block;
  margin-top: 8px;
}

.driver-popover-close-btn {
  font-family: "Noto Sans JP", sans-serif;
  top: 26px;
  right: 24px;
  color: #c15631;
  font-size: 1.2rem;
  width: auto;
  height: auto;
  font-weight: 400;
}
.driver-popover-close-btn:hover {
  color: #f39f70;
}
.driver-popover-close-btn:hover .icon path {
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  fill: #f39f70;
}

.driver-popover-footer {
  margin-top: 12px;
}
.driver-popover-footer button {
  font-family: "Noto Sans JP", sans-serif;
  gap: 8px;
  background: #b08c60;
  font-size: 1.4rem;
  color: #fff;
  text-shadow: none;
  -webkit-box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
          box-shadow: 0px 2px 12px rgba(193, 168, 137, 0.6);
  border-radius: 12px;
  border: none !important;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-height: 48px;
  margin: auto;
  padding: 8px 32px;
  letter-spacing: 0.05em;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.driver-popover-footer .driver-popover-prev-btn {
  background: #fff;
  color: #897051;
  margin-right: 0;
}
.driver-popover-footer .driver-popover-prev-btn:hover {
  background: #fcfbfa;
  color: #b08c60;
}
.driver-popover-footer .driver-popover-next-btn {
  background: #b08c60;
  color: #fff;
  margin-inline: 0;
}
.driver-popover-footer .driver-popover-next-btn:hover {
  background: #d4b895;
  color: #fff;
}

.driver-popover-progress-text {
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  -ms-flex-item-align: end;
      align-self: flex-end;
  font-weight: bold;
  font-size: 1.4rem;
  color: #ed6d34;
}

.driver-popover-navigation-btns {
  gap: 16px;
}
.driver-popover-navigation-btns button + button {
  margin: 0;
}

.driver-overlay {
  mix-blend-mode: multiply;
}
.driver-overlay path {
  fill: rgb(121, 121, 121) !important;
}

.nav-help .card.show {
  display: block !important;
}
.nav-help .card.driver-active a {
  pointer-events: none;
}
.nav-help .card.driver-active .menu-tutorial-link .text_button {
  color: #ed6d34 !important;
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Header
--------------------------------------------------*/
body.header_nav_open {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

/* 暫定対応 */
@media screen and (max-width: 767px) {
  .header .header_nav_item.nav_community {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header .header_nav_item.nav_help .bullet-list__item:not(.nav_menu_item_guidance, .nav_menu_item_faq) {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header .header_nav_item.nav_info {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header .header_nav_item.nav_mypage .bullet-list__item:not(.nav_menu_item_usersetting_profile, .nav_menu_item_usersetting_plan, .nav_menu_item_usersetting_payment_change, .nav_menu_item_logout, .nav_menu_item_corp_dashboard, .nav_menu_item_cms) {
    display: none;
  }
}

/* Header */
.header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1040;
  height: 50px;
}
.header .header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px;
  width: 100%;
  height: 50px;
  padding: 0 0 0 16px;
  background-color: #fff !important;
  -webkit-box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
          box-shadow: 0px 2px 18px 2px rgba(172, 88, 62, 0.15);
}
@media screen and (max-width: 767px) {
  .header .header_inner {
    height: auto;
    padding: 10px 20px;
  }
}
.header .header-logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 30px;
  width: 176px;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .header .header-logo {
    width: 150px;
    height: 100%;
  }
}
.header .header-logo img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.header .header_logo_link {
  width: 100%;
}
@media all and (min-width: 768px) {
  .header .header_logo_link {
    padding: 9px 0;
  }
}
.header .header_nav_menu {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .header .header_nav_menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 999;
    width: 100%;
    height: calc(100vh - 50px);
    margin-top: 50px;
    padding: 28px 40px;
    background: #fff;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: 0.3s ease-out;
    transition: 0.3s ease-out;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.header .header_nav_menu.show {
  visibility: visible;
  opacity: 1;
}
.header .header_nav_menu_list {
  margin: 0;
}
@media all and (min-width: 768px) {
  .header .header_nav_menu_list {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .header .header_nav_menu_list {
    display: block;
    height: auto;
  }
}
.header .header_nav_item {
  position: relative;
  height: 100%;
  vertical-align: middle;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  font-weight: 700;
}
@media all and (min-width: 768px) {
  .header .header_nav_item {
    line-height: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .header .header_nav_item {
    display: block;
    margin-bottom: 25px;
  }
}
@media all and (hover: hover) and (min-width: 768px) {
  .header .header_nav_item.active .header_nav_link {
    background: #eaeff4;
    color: #34536f;
  }
}
.header .header_nav_item:has(.card) {
  cursor: default;
}
.header .notification-badge {
  display: inline-block;
  position: absolute;
  top: 6px;
  right: min(1.6666666667vw, 24px);
  width: auto;
  min-width: 22px;
  padding: 0 4px;
  border: 2px solid rgba(255, 255, 255, 0.98);
  border-radius: 9999px;
  background: #ee4f4f;
  color: #fff;
  line-height: 1.5;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .header .notification-badge {
    top: 50%;
    left: auto;
    right: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.header .header_nav_link {
  height: 50px;
  padding: 0px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  will-change: transition;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .header .header_nav_link {
    height: auto;
    padding: 0;
    font-size: 1.6rem;
  }
}
@media all and (hover: hover) and (min-width: 768px) {
  .header .header_nav_link:hover {
    background: #eaeff4;
    color: #34536f;
  }
}
.header .header_nav_link:hover + .card {
  display: block;
  opacity: 1;
}
.header .header_nav_link img,
.header .header_nav_link svg {
  vertical-align: middle;
}
@media all and (min-width: 768px) {
  .header .card {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1030;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    min-width: auto;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: #fff;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2509803922);
            box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2509803922);
    opacity: 0;
    overflow: hidden;
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
  }
}
@media screen and (max-width: 767px) {
  .header .card {
    all: inherit;
    margin: 4px 0 0;
  }
}
.header .card.show {
  display: block;
  opacity: 1;
}
.header .card:has(.bullet-list__item:hover) {
  display: block;
  opacity: 1;
}
.header .card .bullet-list {
  padding: 0;
  list-style: none;
}
.header .card .bullet-list__item {
  font-weight: normal;
  list-style: none;
  line-height: normal;
  padding: 0;
}
.header .card .bullet-list__item .text_button {
  display: block;
  width: flex-content;
  padding: 20px 20px 20px 20px;
  color: #34536f;
  font-weight: normal;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
@media screen and (max-width: 767px) {
  .header .card .bullet-list__item .text_button {
    position: relative;
    padding: 7px 1em;
  }
}
.header .card .bullet-list__item .text_button.last-sec {
  display: block;
  width: 100%;
}
@media all and (min-width: 768px) {
  .header .card .bullet-list__item .text_button.last-sec {
    padding-bottom: 20px;
  }
}
@media all and (hover: hover) and (min-width: 768px) {
  .header .card .bullet-list__item .text_button.active {
    background: #eaeff4;
  }
}
@media screen and (max-width: 767px) {
  .header .card .bullet-list__item .text_button::before {
    content: "—";
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media all and (hover: hover) and (min-width: 768px) {
  .header .card .bullet-list__item .text_button:hover {
    background: #eaeff4;
  }
}
.header .nav-course {
  min-width: 160px;
}
.header .nav_community .card .bullet-list__item .text_button img {
  vertical-align: middle;
  margin-top: -2px;
}
.header .nav_personalize {
  gap: 8px;
  padding: 15px min(2.2222222222vw, 32px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .header .nav_personalize {
    gap: 6px;
    padding: 0;
  }
}
@media all and (min-width: 768px) {
  .header .nav_info .header_nav_link {
    padding: 14px min(2.2222222222vw, 32px);
  }
}
.header .nav_mypage img {
  width: 24px;
  border-radius: 50%;
}
@media all and (min-width: 768px) {
  .header .nav_mypage .card {
    left: auto;
    right: 0;
  }
}
.header .nav_ai_chat .ai_chat_trigger {
  cursor: pointer;
  background: none;
  border: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 min(1.3888888889vw, 20px);
}
@media all and (hover: hover) and (min-width: 768px) {
  .header .nav_ai_chat .ai_chat_trigger:hover {
    background: #eaeff4;
  }
}
.header .nav_ai_chat .ai_chat_trigger svg {
  width: 24px;
  height: 24px;
}
.header .nav_ai_chat .ai_chat_close_icon {
  display: none;
}
.header .nav_ai_chat.panel_open {
  background: #fff;
}
.header .nav_ai_chat.panel_open .ai_chat_trigger_icon {
  display: none;
}
.header .nav_ai_chat.panel_open .ai_chat_close_icon {
  display: block;
}

/* アイコンを円形で表示する */
.header_profile__img_wrapper {
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  width: 24px;
  height: 24px;
  border: 0.5px solid #D3D3D3;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
}

.header_profile__img {
  position: absolute;
  top: 3px;
  width: 22px;
  height: 22px;
  -o-object-fit: cover;
     object-fit: cover;
}
.header_profile__img--user {
  top: 0px;
  width: 100%;
  height: 100%;
}

/* Header nav menu */
.menu-tutorial-link {
  display: none;
}
.menu-tutorial-link.show {
  display: block;
}

/* SP menu */
.sp_menu_container {
  gap: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* Header menu btn */
.header_menu_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  width: 26px;
  height: 26px;
}
.header_menu_btn span {
  display: block;
  position: relative;
  background-color: #576c80;
  border-radius: 9999px;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  width: 20px;
  height: 2px;
}
.header_menu_btn span::before, .header_menu_btn span::after {
  content: "";
  position: absolute;
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 9999px;
  background-color: #576c80;
  -webkit-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
}
.header_menu_btn span::before {
  top: -7px;
}
.header_menu_btn span::after {
  bottom: -7px;
}
.header_menu_btn.active span {
  background-color: transparent;
}
.header_menu_btn.active span::before {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-45deg);
          transform: translateY(-50%) rotate(-45deg);
}
.header_menu_btn.active span::after {
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}

/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Footer
--------------------------------------------------*/
.footer {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
  padding: 56px 40px;
  background: #4e6172;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .footer {
    gap: 34px;
    padding: 40px 24px;
  }
}
.footer .footer-logo {
  width: 251px;
  height: 50px;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.footer .footer-logo .footer_logo_link img {
  width: 100%;
  display: block;
}
@media (hover: hover) {
  .footer .footer-logo:hover {
    opacity: 0.56;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer-logo {
    width: 220px;
    height: 44px;
    margin-bottom: 24px;
  }
}
.footer .footer_all {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0px;
  width: 100%;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.footer .footer_head {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin: 0 auto;
  margin-bottom: 88px;
}
@media screen and (max-width: 767px) {
  .footer .footer_head {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0px;
    -webkit-box-shadow: 0px 1px 0 0 #F0F0F0;
            box-shadow: 0px 1px 0 0 #F0F0F0;
    margin-bottom: 24px;
    border-style: solid;
    border-color: #F0F0F0;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_heading {
    border: 0px;
    width: 100%;
  }
}
.footer .footer_heading_list {
  margin-bottom: 8px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
}
@media all and (min-width: 768px) {
  .footer .footer_heading_list {
    cursor: text;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_heading_list {
    height: 51px;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-width: 1px 0px 0px 0px;
    border-style: solid;
    border-color: #f0f0f0;
    padding: 0px 12px 0px 0px;
    margin: 0px;
  }
  .footer .footer_heading_list.is-open .footer_accordion_arrow {
    -webkit-transform: rotate(315deg);
            transform: rotate(315deg);
  }
}
.footer .footer_heading_item {
  margin-bottom: 9px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (hover: hover) {
  .footer .footer_heading_item:hover {
    opacity: 0.56;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_heading_item {
    margin-bottom: 0px;
    height: 44px;
    padding: 12px 16px 12px 16px;
    gap: 10px;
  }
}
.footer .footer_head_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footer .footer_head_link {
    font-size: 1.4rem;
  }
}
.footer .accordion_trigger {
  background: none;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0px;
  width: 100%;
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: text;
  pointer-events: none;
  font: inherit;
  color: inherit;
}
@media screen and (max-width: 767px) {
  .footer .accordion_trigger {
    cursor: pointer;
    pointer-events: auto;
  }
}
@media (hover: hover) and (max-width: 767px) {
  .footer .accordion_trigger:hover .footer_menu_title {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    opacity: 0.56;
  }
}
.footer .accordion_trigger .footer_accordion_arrow {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer .accordion_trigger .footer_accordion_arrow {
    display: block;
    width: 12px;
    height: 12px;
    top: 17px;
    left: 14px;
    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg);
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    transition: -webkit-transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out;
    transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
  }
}
@media screen and (max-width: 767px) {
  .footer .accordion_trigger:not(.collapsed) .footer_accordion_arrow {
    -webkit-transform: rotate(315deg);
            transform: rotate(315deg);
  }
}
@media all and (min-width: 768px) {
  .footer .accordion_target {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}
@media screen and (max-width: 767px) {
  .footer .accordion_target.show {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .footer .accordion_inner {
    padding-bottom: 17px;
  }
}
.footer .layer2 {
  margin-top: 37px;
}
@media screen and (max-width: 767px) {
  .footer .layer2 {
    margin-top: 0px;
  }
}
.footer .footer_nav_list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .footer .footer_nav_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0px;
  }
}
.footer .footer_nav_item {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
@media (hover: hover) {
  .footer .footer_nav_item:hover {
    opacity: 0.56;
  }
}
@media screen and (max-width: 767px) {
  .footer .footer_nav_item {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
    height: 44px;
    padding: 12px 0px;
    gap: 10px;
  }
}
.footer .footer_nav_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 400;
}
.footer .copyright {
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  padding: 0px 20px 0px 20px;
  margin-top: 24px;
  height: 18px;
}
@media screen and (max-width: 767px) {
  .footer .copyright {
    height: auto;
    letter-spacing: 0.07em;
    font-size: 1rem;
  }
}

/*--------------------------------------------------
Navigation
--------------------------------------------------*/
/*--------------------------------------------------
Global (variable, mixin, function)
--------------------------------------------------*/
/*--------------------------------------------------
Stepper
--------------------------------------------------*/
.stepper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.8rem;
  width: 100%;
  max-width: none;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.stepper_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.2rem;
  color: #576c80;
  font-size: 1.2rem;
}

.stepper_item.active {
  color: #c15631;
}

.stepper_item.completed {
  color: #ed6d34;
}

.stepper_item .stepper_circle {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid #d3d3d3;
  border-radius: 50%;
  background-color: #fff;
  color: #8c9fb2;
}

.stepper_item.active .stepper_circle {
  border: 0;
  background-color: #ed6d34;
  color: #fff;
}

.stepper_item.completed .stepper_circle {
  border: 0;
  background-color: #f39f70;
}

.stepper .line {
  width: 100%;
  height: 0.2rem;
  border-radius: 999px;
  background-color: #d3d3d3;
}

/*---------- Common style ----------*/
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-padding-top: 60px;
    -webkit-scroll-padding-top: 60px;
  }
}
/* Text */
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.clamp {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Scrollbar */
.scrollable::-webkit-scrollbar,
.scrollable-y::-webkit-scrollbar {
  width: 10px;
}
.scrollable::-webkit-scrollbar-track,
.scrollable-y::-webkit-scrollbar-track {
  background: #f0f0f0;
  border: none;
  border-radius: 10px;
}
.scrollable::-webkit-scrollbar-thumb,
.scrollable-y::-webkit-scrollbar-thumb {
  background: #d3d3d3;
  border-radius: 10px;
}

*::-webkit-scrollbar {
  width: 10px;
}

*::-webkit-scrollbar-track {
  background: #f0f0f0;
  border: none;
  border-radius: 10px;
}

*::-webkit-scrollbar-thumb {
  background: #d3d3d3;
  border-radius: 10px;
}

.static_files_container {
  display: none;
}