:root {
  --text: #333;
  --white: #fff;
  --blue: #A9636C;
  --dark-blue: #7A4A52;
  --pale-blue: #FDF5F5;
  --pink: #B85F66;
  --light-gray: #e3e3e3;
  --gray: #E6D6D6;
  --cream: #fcfaf0;
  --link: #7A4A52;
  --clear-blue: #A9636C;
  --yellow: #EBDCB4;
  --orange: #ff4e00;
  --light-orange: #B85F66;
  --light-pink: #B85F66;
  --pale-orange: #B85F66;
  --gold: #b59239;
  --navy-blue: #7A4A52;
  --light-blue: #D9A9A4;
  --grean: #7A4A52;
  --aqua: #FDF5F5;
  --lime-green: #B08344;
  --deep-blue: #7A4A52;
  --green: #B08344;
  --pale-gray: #f7f7f7
}

html {
  scroll-behavior: smooth;
  height: -webkit-fill-available
}

body {
  font-size: 16px
}

*,
:before,
:after {
  box-sizing: border-box
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0
}

ul[role=list],
ol[role=list] {
  list-style: none
}

body {
  text-rendering: optimizespeed;
  min-height: 100vh;
  line-height: 1.5
}

a:not([class]) {
  -webkit-text-decoration-skip-ink: auto;
  text-decoration-skip-ink: auto
}

img,
picture {
  max-width: 100%;
  height: auto
}

input,
button,
textarea,
select {
  font: inherit
}

@media (prefers-reduced-motion:reduce) {
  html:focus-within {
    scroll-behavior: auto
  }

  *,
  :before,
  :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important
  }
}

ul,
ol {
  margin-left: 0;
  padding-left: 0
}

html {
  scroll-behavior: smooth;
  height: -webkit-fill-available;
  font-size: 62.5%
}

@media screen and (width>=768px) {
  html {
    scroll-padding-top: 120px
  }
}

body {
  min-height: 100vh;
  color: #333;
  background: #fff;
  min-height: -webkit-fill-available;
  font-family: Noto Sans JP, sans-serif;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2
}

@media screen and (width>=768px) {
  body {
    min-width: 1080px;
    font-size: 1.6rem
  }
}

body.is-fixed {
  overflow: hidden
}

img {
  max-width: 100%;
  height: auto
}

ul,
ol {
  margin: 0;
  list-style: none
}

header h1 {
  text-indent: 100%;
  white-space: nowrap;
  font-size: 0;
  overflow: hidden
}

header.header {
  height: inherit
}

.header {
  z-index: 1000
}

@media screen and (width<=767px) {
  .header {
    background: #fff;
    position: sticky;
    top: 0;
    left: 0
  }
}

.header a {
  text-decoration: none
}

@media screen and (width<=767px) {
  .header__text {
    display: none
  }
}

.header h1 {
  color: var(--blue);
  align-items: center;
  gap: 8px;
  display: flex
}

.header__logo {
  text-indent: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1
}

.header__logo a {
  color: var(--blue);
  align-items: center;
  gap: 8px;
  display: flex
}

@media screen and (width>=768px) {
  .header__logo a {
    transition: opacity .3s
  }

  .header__logo a:hover {
    opacity: .7
  }
}

.header__logo--sp {
  width: 80px
}

@media screen and (width>=768px) {
  .header__logo--sp {
    display: none
  }
}

@media screen and (width<=767px) {
  .header__logo--pc {
    display: none
  }
}

.header__mini-menu {
  z-index: 101;
  background: 0 0;
  width: 100%;
  position: fixed;
  top: 50px;
  left: 0
}

.header__mini-menu__nav {
  z-index: 2;
  background: #fff;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin: 0;
  list-style: none;
  display: grid;
  position: relative
}

.header__mini-menu__nav li {
  height: 40px
}

.header__mini-menu__nav a,
.header__mini-menu__nav span {
  background: var(--blue);
  text-align: center;
  letter-spacing: .2em;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 10px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  display: grid;
  color: #fff !important
}

.header__mini-menu__nav span {
  grid-template-columns: 1fr 10px
}

.header__mini-menu__nav span:after {
  clip-path: polygon(100% 0%, 50% 80%, 0% 0%);
  content: "";
  background-color: #fff;
  width: 9px;
  height: 9px;
  display: block;
  left: calc(50% - 5px)
}

.header__mini-menu__content {
  height: 0;
  transition: height .5s
}

.header__mini-menu__content .bg {
  opacity: 0;
  background: #00000080;
  width: 100%;
  height: 100%;
  transition: opacity .5s;
  position: absolute;
  top: 0;
  left: 0
}

.header__mini-menu__content.is-opened {
  height: 100dvh
}

.header__mini-menu__content.is-opened .bg {
  opacity: 1
}

.header__mini-menu__content {
  line-height: 1;
  overflow: hidden
}

.header__mini-menu__content a {
  color: var(--text);
  font-size: 14px;
  text-decoration: none
}

.header__mini-menu__content a img {
  object-fit: cover;
  aspect-ratio: 4/2.5;
  width: 100%;
  margin-bottom: 8px;
  display: block
}

.header__mini-menu__content ul {
  background: #fff;
  flex-wrap: wrap;
  gap: 16px;
  padding: 16px;
  display: flex
}

.header__mini-menu__content ul li {
  width: calc(50% - 8px)
}

.header__mini-menu__inner {
  z-index: 1;
  opacity: 0;
  width: 100%;
  position: absolute;
  top: 40px;
  left: 0;
  translate: 0 -100%
}

.header__mini-menu__inner.is-active {
  opacity: 1;
  animation: .5s forwards showMenu
}

@media screen and (width>=768px) {
  .header__mini-menu {
    display: none
  }
}

.header__mini-menu__link {
  width: 100% !important
}

.header__mini-menu__link a {
  border: 2px solid var(--blue);
  width: 100%;
  max-width: 200px;
  height: 40px;
  color: var(--blue);
  background: url(../../assets/images/common/bullet_blue.svg) right 8px center/6px no-repeat;
  border-radius: 4px;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  padding-right: 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  display: flex
}

.header__upper {
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 8px 16px 4px;
  display: flex
}

@media screen and (width<=767px) {
  .header__upper {
    height: 50px
  }
}

@media screen and (width>=768px) {
  .header__upper {
    width: 1080px;
    padding: 8px
  }
}

.header__upper__nav {
  gap: 8px;
  margin-left: 0;
  list-style: none;
  display: flex
}

@media screen and (width<=767px) {
  .header__upper__nav {
    display: none
  }
}

.header__upper__nav a {
  color: #fff;
  border-radius: 2px;
  align-items: center;
  gap: 8px;
  width: 140px;
  height: 45px;
  padding: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  display: flex;
  box-shadow: 0 0 4px #0003
}

.header__upper__nav a span span {
  font-size: .8em
}

.header__upper__nav .header__bar__main--simulation {
  background-color: #B85F66
}

.header__upper__nav .header__bar__main--simulation:before {
  content: "";
  background: url(../../assets/images/common/illust_menu_calculator.svg) 50%/100% no-repeat;
  width: 24px;
  height: 40px;
  display: block
}

.header__upper__nav .header__bar__tagline__button--consultation {
  background: #7A4A52
}

.header__upper__nav .header__bar__tagline__button--consultation:before {
  content: "";
  background: url(../../assets/images/common/illust_menu_consultation.png) 50%/24px no-repeat;
  width: 24px;
  height: 40px;
  display: block
}

.header__upper__nav .header__bar__button--line {
  background: #06c755
}

.header__upper__nav .header__bar__button--line svg {
  fill: #fff;
  width: 30px
}

@media screen and (width>=768px) {
  .header.smaller {
    background: #fff;
    animation: .3s forwards fall;
    display: block;
    position: sticky;
    top: -60px;
    left: 0;
    background: 0 0 !important
  }

  .header.smaller:after {
    content: "";
    z-index: 100;
    background: linear-gradient(#0000001a 0%, #0000 100%);
    width: 100%;
    height: 4px;
    display: block;
    position: absolute;
    top: 60px;
    left: 0
  }

  .header.smaller .header__upper {
    height: 0;
    padding: 0
  }

  .header.smaller .c-nav {
    z-index: 100;
    width: 100%;
    height: 60px;
    padding: 0 250px 0 150px;
    background: #fff !important
  }

  .header.smaller .header__upper__nav,
  .header.smaller .header__logo {
    z-index: 200;
    position: absolute
  }

  .header.smaller .header__upper__nav .header__logo--sp,
  .header.smaller .header__logo .header__logo--sp {
    width: 170px
  }

  .header.smaller .header__logo {
    height: 60px;
    top: 8px;
    left: 16px
  }

  .header.smaller .header__logo .header__logo--sp {
    display: block
  }

  .header.smaller .header__logo .header__logo--pc {
    display: none
  }

  .header.smaller .header__upper__nav {
    padding-top: 5px;
    top: 0;
    right: 16px
  }

  .header.smaller .header__text {
    display: none
  }

  .header.smaller .c-nav__title,
  .header.smaller .c-nav {
    color: #333;
    background: 0 0;
    font-size: 13px
  }

  .header.smaller .c-nav__item:has(.c-nav__child) .c-nav__title:after {
    border-left: 2px solid var(--blue);
    border-bottom: 2px solid var(--blue);
    right: 8px
  }

  .header.smaller .c-nav>ul {
    width: inherit;
    border-right: 1px solid #fff;
    grid-template-columns: repeat(6, max-content);
    justify-content: flex-end;
    display: grid
  }

  .header.smaller .c-nav>ul>li {
    width: inherit;
    border: none;
    display: flex
  }

  .header.smaller .c-nav>ul>li+li:before {
    content: "";
    background: linear-gradient(#ccc0 20%, #ccc 20% 80%, #ccc0 80%);
    width: 1px;
    height: 60px;
    display: block
  }

  .header.smaller .c-nav>ul>li .c-nav__title {
    height: 60px;
    padding: 8px 24px 8px 16px
  }
}

@keyframes fall {
  0% {
    top: -60px
  }

  to {
    top: 0
  }
}

@keyframes showMenu {
  0% {
    translate: 0 -100%
  }

  to {
    translate: 0
  }
}

@media screen and (width>=768px) {
  .header.smaller .header__upper__nav {
    gap: 4px;
    height: 60px;
    top: 0;
    right: 4px
  }

  .header.smaller .header__upper__nav li {
    width: 120px
  }

  .header.smaller .header__upper__nav a {
    width: 100%;
    height: 50px;
    box-shadow: 0 0 3px rgab(0 0 0/.5);
    box-shadow: none;
    border-radius: 3px;
    grid-template-columns: 30px 1fr;
    align-items: center;
    gap: 0;
    padding: 0 6px;
    font-size: 12px;
    display: grid
  }

  .header.smaller .header__upper__nav a:before,
  .header.smaller .header__upper__nav a svg {
    scale: .8
  }

  .c-nav {
    background: var(--blue);
    z-index: 1000;
    position: relative
  }

  .c-nav__btn {
    display: none
  }

  .c-nav>ul {
    margin-inline: auto;
    border-right: 1px solid #fff;
    width: 1080px;
    margin-bottom: 0;
    display: flex
  }

  .c-nav__item {
    border-left: 1px solid #fff;
    width: 16.6667%;
    height: 48px;
    font-size: 15px
  }

  .c-nav__item ul {
    display: none
  }

  .c-nav__item.experience ul {
    gap: 8px 24px
  }

  .c-nav__item.experience picture {
    aspect-ratio: 4/2.4
  }

  .c-nav__item.experience .c-nav__child__link {
    width: 100%
  }

  .c-nav__item.experience .sp {
    display: none
  }

  .c-nav__extra-menu,
  .c-nav__item--others {
    display: none !important
  }

  .c-nav__title {
    color: #fff;
    background: var(--blue);
    justify-content: center;
    align-items: center;
    height: 48px;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .3s;
    display: flex
  }

  .c-nav__title small {
    display: none
  }

  .c-nav__title:hover {
    cursor: pointer;
    background: var(--dark-blue)
  }

  .c-nav__child {
    background: linear-gradient(0deg, #fff0 4px, #fff 4px);
    width: 100%;
    height: 0;
    padding-bottom: 4px;
    font-size: 13px;
    font-weight: 700;
    transition: height .3s;
    position: absolute;
    top: 100%;
    left: 0;
    overflow: hidden
  }

  .c-nav__child a {
    color: #333;
    text-decoration: none;
    display: block
  }

  .c-nav__child ul {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 24px;
    max-width: 1080px;
    margin-inline: auto;
    padding-top: 16px;
    display: flex
  }

  .c-nav__child li {
    width: 14%
  }

  .c-nav__child li.course {
    width: calc(72% - 54px)
  }

  .c-nav__child li.course ul {
    flex-wrap: wrap;
    gap: 8px 24px;
    width: 100%;
    padding: 0;
    display: flex
  }

  .c-nav__child li.course ul li {
    width: 22.3%
  }

  .c-nav__child li.course ul li:first-child {
    border-left: 2px solid var(--blue);
    border-bottom: 1px solid var(--gray);
    width: 100%;
    padding-bottom: 4px;
    padding-left: 10px;
    line-height: 1
  }

  .c-nav__child li.course ul picture {
    aspect-ratio: 4/2.3
  }

  .c-nav__child picture {
    aspect-ratio: 4/3;
    height: 100%;
    display: block;
    overflow: hidden
  }

  .c-nav__child img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: scale .3s, opacity .3s;
    display: block
  }

  .c-nav__child a:hover {
    color: var(--blue)
  }

  .c-nav__child a:hover img {
    opacity: .7;
    scale: 1.1
  }

  .c-nav__child__link a {
    color: var(--clear-blue);
    background: url(../../assets/images/common/bullet_blue.svg) 100%/6px no-repeat;
    max-width: max-content;
    padding-right: 16px;
    font-size: 14px;
    line-height: 1
  }
}

@media (width>=768px) {
  .c-nav__item:has(.c-nav__child) .c-nav__title {
    position: relative
  }

  .c-nav__item:has(.c-nav__child) .c-nav__title:after {
    content: "";
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    width: 6px;
    height: 6px;
    transition: rotate .3s;
    display: block;
    position: absolute;
    right: 15px;
    rotate: -45deg
  }
}

@media (width>=768px) and (hover:hover) {

  .c-nav__item:hover .c-nav__child,
  .c-nav__item:focus-within .c-nav__child {
    z-index: 10;
    height: 170px
  }

  .c-nav__item:hover .c-nav__child:after,
  .c-nav__item:focus-within .c-nav__child:after {
    content: "";
    background: linear-gradient(#0000001a 0%, #0000 100%);
    width: 100%;
    height: 4px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0
  }

  .c-nav__item:hover:has(.c-nav__child) .c-nav__title:after {
    rotate: -225deg
  }
}

@media (width>=768px) and (hover:none) {
  .c-nav__item.is-active .c-nav__child {
    z-index: 10;
    height: 170px;
    box-shadow: 0 0 3px #0000004d
  }

  .c-nav__item.is-active .c-nav__child:after {
    content: "";
    background: linear-gradient(#0000001a 0%, #0000 100%);
    width: 100%;
    height: 4px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 0
  }

  .c-nav__item.is-active:has(.c-nav__child) .c-nav__title:after {
    rotate: -225deg
  }
}

@media screen and (width<=767px) {
  .c-nav {
    z-index: 100;
    background: #fff;
    width: 100%;
    height: 0;
    transition: height .5s;
    position: absolute;
    top: 50px;
    left: 0;
    overflow: auto
  }

  .c-nav>ul:first-child {
    border-top: 3px solid var(--blue);
    padding-bottom: 54px
  }

  .c-nav>ul:first-child picture,
  .c-nav .experience .pc,
  .c-nav .experience ul {
    display: none
  }

  .c-nav__item:has(.c-nav__child) .c-nav__title:not(.sp) {
    background: var(--pale-blue);
    background-image: none;
    position: relative
  }

  .c-nav__item:has(.c-nav__child) .c-nav__title:not(.sp):after {
    content: "";
    background: var(--blue);
    width: 16px;
    height: 2px;
    display: block;
    position: absolute;
    top: 25px;
    right: 20px
  }

  .c-nav__item:has(.c-nav__child) .c-nav__title:not(.sp):before {
    content: "";
    background: var(--blue);
    width: 16px;
    height: 2px;
    display: block;
    position: absolute;
    top: 25px;
    right: 20px
  }

  .c-nav__item:has(.c-nav__child) .c-nav__title:not(.sp):after {
    rotate: 90deg
  }

  .c-nav__item:has(.c-nav__child) .c-nav__title:not(.sp).is-opened:after {
    display: none
  }

  .c-nav__item--others,
  .c-nav__item--others a {
    background: #fff
  }

  .c-nav__item--others span {
    text-align: center;
    padding-top: 5px;
    font-size: 14px;
    font-weight: 700;
    display: block
  }

  .c-nav__item--others ul {
    flex-wrap: wrap;
    gap: 8px;
    display: flex
  }

  .c-nav__item--others ul li {
    width: calc(50% - 4px)
  }

  .c-nav__item--others ul li a {
    text-align: center;
    color: #000;
    background: #fff url(../../assets/images/common/bullet_blue.svg) right 16px center/6px no-repeat;
    width: 100%;
    padding: 8px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    display: block
  }

  .c-nav__title {
    color: #000;
    border-bottom: 1px solid var(--light-gray);
    background: url(../../assets/images/common/bullet_blue.svg) right 16px center/10px no-repeat var(--pale-blue);
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    height: 56px;
    padding: 0 16px;
    font-size: 17px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    display: flex
  }

  .c-nav__title small {
    font-size: 10px;
    font-weight: 400;
    display: block
  }

  .c-nav__child {
    background: #fff;
    transition: all .3s;
    overflow: hidden
  }

  .c-nav__child dt {
    display: none
  }

  .c-nav__child li a,
  .c-nav__child dd a {
    color: var(--text);
    border-bottom: 1px solid var(--light-gray);
    background: url(../../assets/images/common/bullet_blue.svg) right 16px center/8px no-repeat;
    align-items: center;
    height: 44px;
    padding: 0 24px;
    font-weight: 700;
    text-decoration: none;
    display: flex
  }

  .c-nav.is-opened {
    height: calc(100dvh - 50px)
  }

  .c-nav.is-opened .c-nav__extra-menu {
    opacity: 1;
    bottom: 0
  }

  .c-nav__btn {
    width: 46px;
    height: 42px;
    color: var(--blue);
    background: #fff;
    border: none;
    justify-content: center;
    align-items: flex-end;
    font-size: 10px;
    font-weight: 700;
    display: flex;
    position: fixed;
    top: 8px;
    right: 4px;
    scale: .8
  }

  .c-nav__btn:before,
  .c-nav__btn:after {
    background: var(--blue);
    content: "";
    order: 1;
    width: 34px;
    height: 3px;
    transition: rotate .3s;
    display: block;
    position: absolute;
    top: 9px;
    left: 5px;
    translate: 0 -10px
  }

  .c-nav__btn:after {
    box-shadow: 0 -10px 0 var(--blue);
    translate: 0 10px
  }

  .c-nav__btn.is-opened:before {
    translate: 0;
    rotate: 45deg
  }

  .c-nav__btn.is-opened:after {
    box-shadow: none;
    translate: 0;
    rotate: -45deg
  }

  .c-nav__item--estimate-btn {
    border: none
  }

  .c-nav__item--estimate-btn a {
    background: var(--pink);
    color: #fff;
    align-items: center;
    height: 56px;
    padding: 0 16px;
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    display: flex
  }

  .c-nav__item--estimate-btn img {
    width: 30px
  }

  .c-nav__extra-menu {
    opacity: 0;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    width: 100%;
    height: 58px;
    padding: 4px;
    transition: opacity .5s .5s;
    display: grid;
    position: fixed;
    bottom: -50px;
    left: 0;
    background: 0 0 !important;
    border-top: none !important;
    padding-bottom: 0 !important
  }

  .c-nav__extra-menu a {
    color: #fff;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 50px;
    padding-left: 30px;
    font-weight: 700;
    line-height: 1.2;
    display: flex;
    box-shadow: 0 0 4px #0003
  }

  .c-nav__extra-menu a span {
    font-size: 10px;
    display: block
  }

  .c-nav__extra-menu a {
    border-radius: 4px
  }

  .c-nav__extra-menu .consultation {
    background: #7A4A52 url(../../assets/images/common/illust_menu_consultation.png) 10px 10px/24px no-repeat
  }

  .c-nav__extra-menu .line {
    background: #06c755;
    flex-direction: row;
    gap: 8px;
    padding: 0 16px 0 8px;
    display: flex
  }

  .c-nav__extra-menu .line svg {
    fill: #fff;
    width: 30px
  }

  .c-nav__extra-menu .simulation {
    background: #B85F66 url(../../assets/images/common/illust_menu_calculator.svg) 10px 7px/24px no-repeat;
    font-size: 14px
  }

  .c-nav .course li:first-child~li a {
    margin: 0 16px
  }

  .c-nav .course li:last-child a {
    background-position: right 32px center;
    padding: 0 38px;
    margin: 0 !important
  }

  .c-nav .course span {
    text-align: center;
    color: #fff;
    background: var(--blue);
    font-weight: 700;
    display: block
  }
}

.btn {
  border-radius: 4px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  height: 50px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  display: flex;
  box-shadow: 0 2px 5px #0000004d;
  color: #fff !important
}

@media screen and (width>=768px) {
  .btn {
    height: 80px;
    font-size: 20px;
    transition: opacity .3s
  }

  .btn:hover {
    opacity: 1 !important
  }
}

.btn span {
  background: #fff;
  border-radius: 40px;
  padding: 2px 16px;
  font-size: 10px
}

@media screen and (width>=768px) {
  .btn span {
    padding: 4px 30px;
    font-size: 14px
  }
}

.btn--yellow {
  background: var(--pale-orange);
  color: #fff;
  border: 2px solid var(--pale-orange);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  max-width: max-content;
  height: 60px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 38px;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none;
  display: flex;
  box-shadow: 3px 3px 6px #0003
}

@media screen and (width>=768px) {
  .btn--yellow {
    height: 72px;
    font-size: 28px;
    transition: background-color .3s
  }

  .btn--yellow:hover {
    background: var(--light-orange)
  }
}

.btn--orange {
  color: #fff;
  text-align: center;
  background-color: #B85F66;
  border-color: #B85F66;
  border-radius: 6px;
  grid-template-columns: 10px 1fr 10px;
  justify-content: center;
  align-items: center;
  max-width: 350px;
  height: 80px;
  margin: 0 auto;
  padding: 0 8px;
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
  display: grid;
  box-shadow: 0 2px 5px #0000004d
}

@media screen and (width>=768px) {
  .btn--orange {
    max-width: 500px;
    height: 60px;
    transition: all .3s
  }

  .btn--orange:hover {
    opacity: .5
  }
}

.btn--orange:after,
.btn--orange:before {
  content: ""
}

.btn--orange:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 7px;
  height: 7px;
  display: block;
  rotate: 45deg
}

@media screen and (width>=768px) {
  .btn--orange {
    font-size: 20px
  }
}

.btn--orange span {
  gap: 16px
}

@media screen and (width>=768px) {
  .btn--orange span {
    justify-content: center;
    align-items: center;
    display: flex
  }
}

.btn--orange span span {
  display: block
}

@media screen and (width>=768px) {
  .btn--orange span span {
    align-items: center;
    height: 60px;
    display: flex
  }
}

.btn--orange span span:first-child {
  font-size: 12px
}

.c-page-header--repo .c-page-header__inner,
.c-page-header--gidance .c-page-header__inner,
.c-page-header--comparison .c-page-header__inner,
.c-page-header--info .c-page-header__inner,
.c-page-header--plan_price .c-page-header__inner,
.c-page-header--ceo-blog .c-page-header__inner,
.c-page-header--staff-blog .c-page-header__inner,
.c-page-header--post .c-page-header__inner,
.c-page-header--experiences .c-page-header__inner,
.c-page-header--news .c-page-header__inner,
.c-page-header--common .c-page-header__inner,
.c-page-header--study .c-page-header__inner,
.c-page-header--teachers .c-page-header__inner,
.c-page-header--about .c-page-header__inner {
  color: #fff;
  max-width: 1080px;
  padding-bottom: 16px;
  padding-left: 16px;
  padding-right: 16px
}

@media screen and (width>=768px) {

  .c-page-header--repo .c-page-header__inner,
  .c-page-header--gidance .c-page-header__inner,
  .c-page-header--comparison .c-page-header__inner,
  .c-page-header--info .c-page-header__inner,
  .c-page-header--plan_price .c-page-header__inner,
  .c-page-header--ceo-blog .c-page-header__inner,
  .c-page-header--staff-blog .c-page-header__inner,
  .c-page-header--post .c-page-header__inner,
  .c-page-header--experiences .c-page-header__inner,
  .c-page-header--news .c-page-header__inner,
  .c-page-header--common .c-page-header__inner,
  .c-page-header--study .c-page-header__inner,
  .c-page-header--teachers .c-page-header__inner,
  .c-page-header--about .c-page-header__inner {
    margin: auto;
    padding-left: 40px;
    padding-right: 40px
  }
}

.c-page-header--study,
.c-page-header--teachers,
.c-page-header--about {
  background: linear-gradient(90deg, #205d9433 55.8%, #205d9400 72.4%), #D9A9A4
}

@media screen and (width>=768px) {

  .c-page-header--study .c-page-header__inner,
  .c-page-header--teachers .c-page-header__inner,
  .c-page-header--about .c-page-header__inner {
    background-image: url(../../assets/images/common/h1-img1-school.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: contain
  }
}

.c-page-header--news,
.c-page-header--common {
  background-image: url(../../assets/images/common/h1-img-default-a.png);
  background-size: cover
}

.c-page-header--experiences {
  background: linear-gradient(90deg, #205d9433 55.8%, #205d9400 72.4%), #D9A9A4
}

@media screen and (width<=767px) {
  .c-page-header--experiences .c-page-header__inner {
    padding-top: 52px
  }
}

@media screen and (width>=768px) {
  .c-page-header--experiences .c-page-header__inner {
    background-image: url(../../assets/images/common/h1-img4-experience.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: contain
  }
}

.c-page-header--post {
  background-image: url(../../assets/images/common/h1-img-default-c.png);
  background-size: cover
}

@media screen and (width<=767px) {
  .c-page-header--post {
    padding-top: 52px
  }
}

.c-page-header--staff-blog {
  background: #D9A9A4
}

.c-page-header--staff-blog .c-page-header__inner {
  background-image: url(../../assets/images/common/h1-img-blog35-staff-tweet.png);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: auto 100%
}

.c-page-header--ceo-blog {
  background: #EFDEDE
}

@media screen and (width>=768px) {
  .c-page-header--ceo-blog .c-page-header__inner {
    background-image: url(../../assets/images/common/h1-img-blog31-ceo-blog.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: auto 100%
  }
}

.c-page-header--plan_price {
  background: #B08344
}

@media screen and (width>=768px) {
  .c-page-header--plan_price .c-page-header__inner {
    background-image: url(../../assets/images/common/h1-img3-plan.png);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: auto 100%
  }
}

.c-page-header--info {
  background: #EBDCB4
}

.c-page-header--info .c-page-header__inner {
  background-image: url(../../assets/images/common/h1-img-info.png);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: auto 100%
}

.c-page-header--comparison {
  background: #B08344
}

.c-page-header--comparison .c-page-header__inner {
  background-image: url(../../assets/images/common/h1-img-comparison.png);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: auto 100%
}

.c-page-header--gidance {
  background: #EBDCB4
}

.c-page-header--gidance .c-page-header__inner {
  background-image: url(../../assets/images/common/h1-img5-guidance.png);
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-size: auto 100%
}

.c-page-header--repo {
  background: #A9636C
}

.c-page-header__title {
  text-shadow: 1px 1px 8px #0000006b;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4
}

@media screen and (width>=768px) {
  .c-page-header__title {
    font-size: 32px
  }
}

.c-page-header__lead {
  text-shadow: 1px 1px 8px #0000006b;
  font-weight: 700;
  line-height: 1.6
}

.c-breadcrumb {
  margin-bottom: 16px;
  padding-top: 8px;
  line-height: 1.4
}

.c-breadcrumb li {
  text-shadow: 1px 1px 8px #0000006b;
  font-size: 12px;
  font-weight: 700;
  display: inline-block
}

.c-breadcrumb li+li {
  padding-left: 6px
}

.c-breadcrumb a {
  background: url(../../assets/images/common/bullet_white.svg) 100%/7px 11px no-repeat;
  padding-right: 16px;
  text-decoration: none;
  display: inline-block;
  color: #fff !important
}

@media screen and (width>=768px) {
  .c-breadcrumb a {
    transition: all .3s
  }

  .c-breadcrumb a:hover {
    opacity: .7
  }
}

.l-container,
.l-container--sm {
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
  padding-left: 20px;
  padding-right: 20px
}

@media screen and (width>=768px) {

  .l-container,
  .l-container--sm {
    padding-left: 40px;
    padding-right: 40px
  }
}

.l-container--sm {
  max-width: 800px
}

.l-cln {
  gap: 24px;
  display: grid
}

@media screen and (width>=768px) {
  .l-cln {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    position: relative
  }
}

.l-cln img {
  display: block
}

.l-cln--2 {
  gap: 24px;
  display: grid
}

@media screen and (width>=768px) {
  .l-cln--2 {
    grid-template-columns: 1fr 260px;
    gap: 32px;
    position: relative
  }
}

.l-cln--3 {
  gap: 24px;
  display: grid
}

@media screen and (width>=768px) {
  .l-cln--3 {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px
  }
}

.l-cln--3 img {
  display: block
}

.l-sidebar {
  flex-direction: column;
  gap: 32px;
  font-size: 14px;
  display: flex
}

.l-sidebar .l-container {
  padding: 0
}

.l-sidebar .home-seminar {
  border: 2px solid #cecece;
  margin-top: 24px;
  padding: 50px 12px 24px;
  line-height: 1.8;
  position: relative
}

@media screen and (width>=768px) {
  .l-sidebar .home-seminar {
    border: 2px solid #cecece;
    padding: 50px 12px 8px
  }
}

.l-sidebar .home-seminar strong {
  background: linear-gradient(#fff 50%, #B08344 50%)
}

.l-sidebar .home-seminar__heading {
  background: #fff;
  flex-direction: column;
  align-items: center;
  width: max-content;
  height: 50px;
  font-size: 13px;
  display: flex;
  position: absolute;
  top: -16px;
  left: 50%;
  translate: -50%
}

.l-sidebar .home-seminar__heading img {
  width: 180px;
  margin: 0 auto 4px;
  display: block
}

.l-sidebar .home-seminar p small {
  line-height: 1.4;
  display: block
}

.l-sidebar .home-seminar dl {
  flex-direction: column;
  align-items: center;
  margin-top: 16px;
  margin-bottom: 4px;
  font-weight: 700;
  display: flex
}

.l-sidebar .home-seminar dl dt {
  background: var(--navy-blue);
  color: #fff;
  border-radius: 40px;
  padding: 0 16px;
  font-size: 12px
}

.l-sidebar .home-seminar__link-btn {
  color: #fff;
  letter-spacing: .1em;
  background: var(--light-orange);
  text-shadow: 0 2px 1px #a0532a;
  border-radius: 8px;
  grid-template-columns: 30px auto 30px;
  justify-content: space-between;
  align-items: center;
  max-width: 400px;
  height: 50px;
  margin: 16px auto 0;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  display: grid;
  box-shadow: 0 3px #a0532a
}

@media screen and (width>=768px) {
  .l-sidebar .home-seminar__link-btn {
    height: 36px;
    transition: background-color .3s
  }
}

.l-sidebar .home-seminar__link-btn:before,
.l-sidebar .home-seminar__link-btn:after {
  content: ""
}

.l-sidebar .home-seminar__link-btn:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 7px;
  height: 7px;
  display: block;
  rotate: 45deg
}

@media screen and (width>=768px) {
  .l-sidebar .home-seminar__link-btn {
    transition: all .3s
  }

  .l-sidebar .home-seminar__link-btn:hover {
    translate: 0 2px;
    box-shadow: 0 1px #a0532a;
    color: #fff !important
  }

  .l-sidebar__banner a {
    transition: opacity .3s
  }

  .l-sidebar__banner a:hover {
    opacity: .7
  }
}

.l-sidebar__heading {
  text-align: center;
  color: var(--navy-blue);
  margin-bottom: 8px;
  font-size: 17px;
  line-height: 1.4
}

@media screen and (width>=768px) {
  .l-sidebar__heading {
    font-size: 16px
  }
}

.c-local-nav,
.c-local-nav--3,
.c-local-nav--5,
.c-local-nav--4 {
  border-left: 1px solid #dfdfdf;
  border-right: 1px solid #dfdfdf;
  grid-template-columns: repeat(2, 1fr);
  max-width: 1080px;
  margin: 0 auto;
  display: grid
}

@media screen and (width>=768px) {

  .c-local-nav,
  .c-local-nav--3,
  .c-local-nav--5,
  .c-local-nav--4 {
    grid-template-columns: repeat(5, 1fr)
  }

  .c-local-nav--4 {
    grid-template-columns: repeat(4, 1fr)
  }

  .c-local-nav--5 {
    grid-template-columns: repeat(5, 1fr)
  }

  .c-local-nav--3 {
    grid-template-columns: repeat(3, 1fr)
  }
}

.c-local-nav a,
.c-local-nav--4 a,
.c-local-nav--5 a,
.c-local-nav--3 a {
  color: #888;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  display: flex
}

@media screen and (width>=768px) {

  .c-local-nav a,
  .c-local-nav--4 a,
  .c-local-nav--5 a,
  .c-local-nav--3 a {
    font-size: 15px
  }
}

.c-local-nav .active,
.c-local-nav--4 .active,
.c-local-nav--5 .active,
.c-local-nav--3 .active {
  color: var(--blue);
  border-bottom: 3px solid var(--blue);
  background: #fff
}

.c-local-nav.bottom .active,
.bottom.c-local-nav--4 .active,
.bottom.c-local-nav--5 .active,
.bottom.c-local-nav--3 .active {
  border-bottom: none;
  border-top: 3px solid var(--blue)
}

.c-local-nav li,
.c-local-nav--4 li,
.c-local-nav--5 li,
.c-local-nav--3 li {
  background-color: #f4f4f4;
  align-items: center;
  margin-bottom: 2px;
  display: flex;
  position: relative
}

@media screen and (width<=767px) {

  .c-local-nav li:nth-child(2n):before,
  .c-local-nav--4 li:nth-child(2n):before,
  .c-local-nav--5 li:nth-child(2n):before,
  .c-local-nav--3 li:nth-child(2n):before {
    content: "";
    background: #dfdfdf;
    width: 1px;
    height: 68%;
    display: block;
    position: absolute;
    top: 16%;
    left: 0
  }
}

@media screen and (width>=768px) {

  .c-local-nav li+li:before,
  .c-local-nav--4 li+li:before,
  .c-local-nav--5 li+li:before,
  .c-local-nav--3 li+li:before {
    content: "";
    background: #dfdfdf;
    width: 1px;
    height: 68%;
    display: block;
    position: absolute;
    top: 16%;
    left: 0
  }
}

.c-contents .qaModule__q {
  color: #666;
  text-indent: 30px;
  background: url(../../assets/images/common/icon_q.png) 0 2px/24px no-repeat;
  margin: 32px 0 12px;
  padding: 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4
}

@media screen and (width>=768px) {
  .c-contents .qaModule__q {
    font-size: 24px
  }
}

.c-contents .qaModule__q:after {
  content: none
}

.c-contents .qaModule__a {
  color: #A9636C;
  text-indent: 30px;
  background: url(https://qqenglish.jp/assets/images/common/icon_a.png) 0 5px no-repeat;
  margin: 0 0 20px;
  padding: 0;
  font-weight: 700;
  line-height: 1.4
}

@media screen and (width>=768px) {
  .c-contents .qaModule__a {
    font-size: 24px
  }
}

.c-contents .cln--3,
.c-contents .cln--2,
.c-contents .cln--4x3 {
  gap: 24px;
  display: grid
}

.c-contents .cln--3>:first-child,
.c-contents .cln--2>:first-child,
.c-contents .cln--4x3>:first-child {
  margin-top: 0
}

.c-contents .cln--3>:last-child,
.c-contents .cln--2>:last-child,
.c-contents .cln--4x3>:last-child {
  margin-bottom: 0
}

.c-contents .cln--3>* :first-child,
.c-contents .cln--2>* :first-child,
.c-contents .cln--4x3>* :first-child {
  margin-top: 0
}

.c-contents .cln--3>* :last-child,
.c-contents .cln--2>* :last-child,
.c-contents .cln--4x3>* :last-child {
  margin-bottom: 0
}

@media screen and (width>=768px) {

  .c-contents .cln--3,
  .c-contents .cln--2,
  .c-contents .cln--4x3 {
    gap: 32px
  }
}

.h1,
.c-contents h1 {
  color: var(--blue);
  margin-bottom: 40px;
  font-size: 28px;
  line-height: 1.14
}

@media screen and (width>=768px) {

  .h1,
  .c-contents h1 {
    font-size: 40px
  }
}

.h2,
.c-contents--heading-2,
.c-contents h2 {
  color: #444;
  margin-bottom: 24px;
  font-size: 20px;
  line-height: 1.4
}

@media screen and (width>=768px) {

  .h2,
  .c-contents--heading-2,
  .c-contents h2 {
    margin-bottom: 32px !important;
    font-size: 28px !important
  }
}

.h2:after,
.c-contents--heading-2:after,
.c-contents h2:after {
  content: "";
  background: linear-gradient(to right, var(--blue) 50px, var(--gray) 50px);
  width: 100%;
  height: 2px;
  margin-top: 8px;
  display: block
}

@media screen and (width>=768px) {

  .h2:after,
  .c-contents--heading-2:after,
  .c-contents h2:after {
    background: linear-gradient(to right, var(--blue) 150px, var(--gray) 150px);
    margin-top: 12px
  }

  .h2,
  .c-contents--heading-2,
  .c-contents h2 {
    margin-bottom: 24px;
    font-size: 26px
  }
}

.h3,
.c-contents--heading-3,
.c-contents h3 {
  color: var(--dark-blue);
  margin-bottom: 16px;
  font-size: 17px;
  line-height: 1.4
}

@media screen and (width>=768px) {

  .h3,
  .c-contents--heading-3,
  .c-contents h3 {
    font-size: 22px
  }
}

.h3:after,
.c-contents--heading-3:after,
.c-contents h3:after {
  opacity: .3;
  content: "";
  background-color: #fff;
  background-size: auto;
  background-image: repeating-linear-gradient(90deg, transparent, transparent 2px, var(--blue) 2px, var(--blue) 4px);
  height: 3px;
  margin-top: 4px;
  display: block
}

.h4,
.c-contents--heading-4,
.c-contents h4 {
  color: var(--dark-blue);
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.4
}

@media screen and (width>=768px) {

  .h4,
  .c-contents--heading-4,
  .c-contents h4 {
    font-size: 21px
  }
}

.h5,
.c-contents--heading-5,
.c-contents h5 {
  margin-bottom: 16px;
  font-size: 16px;
  line-height: 1.4
}

@media screen and (width>=768px) {

  .h5,
  .c-contents--heading-5,
  .c-contents h5 {
    font-size: 20px
  }
}

.c-contents {
  margin-top: 32px;
  font-size: 16px
}

@media screen and (width>=768px) {
  .c-contents {
    margin-top: 68px;
    font-size: 18px;
    line-height: 2.2
  }
}

.c-contents>section+section {
  margin-top: 40px
}

.c-contents .center {
  text-align: center
}

.c-contents *+h5,
.c-contents *+h3,
.c-contents *+h4 {
  margin-top: 32px
}

@media screen and (width>=768px) {

  .c-contents *+h5,
  .c-contents *+h3,
  .c-contents *+h4 {
    margin-top: 44px
  }
}

.c-contents figure.wp-block-image {
  margin-top: 32px;
  margin-bottom: 32px
}

.c-contents a {
  color: var(--clear-blue)
}

@media screen and (width>=768px) {
  .c-contents a {
    transition: opacity .3s
  }

  .c-contents a:hover {
    opacity: .5
  }
}

.c-contents figure figcaption {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6
}

.c-contents a.link-decoration {
  color: var(--clear-blue);
  font-weight: 700;
  line-height: 1;
  text-decoration: none
}

.c-contents a.link-decoration:after {
  content: "";
  background: url(objects/images/common/bullet_deepblue.svg) 0 0/100% 100% no-repeat;
  width: 7px;
  height: 12px;
  margin-left: 4px;
  display: inline-block
}

.c-contents p {
  margin-top: 16px;
  margin-bottom: 16px
}

.c-contents ul li {
  text-indent: -1em;
  margin-left: 1em
}

.c-contents ul li:before {
  content: "";
  background: var(--blue);
  border-radius: 50px;
  width: 1em;
  height: 1em;
  display: inline-block;
  scale: .4
}

@media screen and (width>=768px) {
  .c-contents .cln--4x3 {
    grid-template-columns: 66% 1fr
  }

  .c-contents .cln--2 {
    grid-template-columns: repeat(2, 1fr)
  }

  .c-contents .cln--3 {
    grid-template-columns: repeat(3, 1fr)
  }
}

.c-contents ol {
  counter-reset: num;
  padding-left: 0;
  list-style: none
}

.c-contents ol li {
  text-indent: -1.5em;
  counter-increment: num;
  margin-left: 1.5em
}

.c-contents ol li:before {
  text-indent: 0;
  content: counter(num) ".";
  color: #B85F66;
  width: 1.5em;
  height: 1.5em;
  font-weight: 700;
  display: inline-block
}

.c-contents .buttonItem--em,
.c-contents .buttonItem--em--ext {
  background: var(--pale-orange);
  border-color: var(--pale-orange);
  color: #fff;
  text-shadow: 0 0 2px #0006;
  border-radius: 3px;
  grid-template-columns: 20px max-content 20px;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: max-content;
  height: 50px;
  margin: 16px auto;
  font-weight: 700;
  text-decoration: none;
  display: grid;
  box-shadow: 0 0 8px #0003
}

@media screen and (width>=768px) {

  .c-contents .buttonItem--em,
  .c-contents .buttonItem--em--ext {
    min-width: 500px;
    height: 58px;
    font-size: 20px;
    transition: opacity .2s
  }
}

.c-contents .buttonItem--em:before,
.c-contents .buttonItem--em--ext:before {
  content: ""
}

.c-contents .buttonItem--em:after,
.c-contents .buttonItem--em--ext:after {
  content: "";
  background: url(../../assets/images/common/bullet_white.svg) 50%/100% 100% no-repeat;
  width: 7px;
  height: 12px;
  display: block
}

.c-contents .red {
  color: #fa7575
}

.c-contents .cv-btn {
  margin-top: 2em;
  margin-bottom: 2em;
  display: block
}

.c-contents .cv-btn a {
  color: #fff;
  background: #B85F66 url(../../assets/images/common/bullet_white.svg) right 16px center/10px no-repeat;
  border-width: 2px;
  border-color: #B85F66;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  max-width: 600px;
  height: 50px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
  position: relative;
  box-shadow: 0 1px 4px #0000001c
}

.c-contents table {
  border-collapse: collapse;
  margin-bottom: 24px
}

.c-contents table th,
.c-contents table td {
  border: 1px solid #ccc;
  padding: 8px 16px;
  font-size: 16px
}

.c-contents thead th {
  background: #ccc;
  border: 1px solid #aaa;
  padding: 12px 8px;
  font-size: 12px
}

.buttonItem,
.buttonItem--large {
  border: 2px solid var(--blue);
  min-width: 200px;
  height: 40px;
  color: var(--blue);
  border-radius: 6px;
  grid-template-columns: 20px auto 20px;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  display: inline-grid;
  box-shadow: 0 1px 4px #0000001c
}

@media screen and (width>=768px) {

  .buttonItem,
  .buttonItem--large {
    transition: opacity .3s
  }

  .buttonItem:hover,
  .buttonItem--large:hover {
    opacity: .7
  }
}

.buttonItem:before,
.buttonItem--large:before {
  content: ""
}

.buttonItem:after,
.buttonItem--large:after {
  content: "";
  background: url(objects/images/common/bullet_blue.svg) 0 0/100% 100% no-repeat;
  width: 7px;
  height: 12px;
  display: block
}

.buttonItem--large {
  min-width: 300px;
  height: 45px
}

.contents--fluid--message {
  background: url(../../assets/images/common/bg_stripe_yellow.png);
  border-radius: 8px;
  margin-top: 80px;
  padding: 32px;
  position: relative
}

.contents--fluid--message .column--message {
  background: #fff;
  border-radius: 8px;
  padding: 16px
}

.column__title__img--message {
  width: 203px
}

.column__title--message {
  text-align: center;
  position: absolute;
  top: -23px;
  left: calc(50% - 102px)
}

.column__title--message:after {
  content: none !important
}

.leadCopy--message {
  text-align: center;
  color: #5E3A42 !important;
  background: 0 0 !important;
  margin-top: 0 !important
}

.c-heading--pill--navy {
  color: #fff;
  background: var(--navy-blue);
  border-radius: 100px;
  width: max-content;
  margin-inline: auto;
  padding: 4px 16px;
  font-size: 22px
}

@media screen and (width>=768px) {
  .c-heading--pill--navy {
    padding: 4px 32px;
    font-size: 28px
  }
}

.c-sticky-menu {
  z-index: 100;
  width: 100%;
  margin-inline: auto;
  padding: 8px;
  transition: all .3s;
  position: sticky;
  bottom: 0;
  left: 0;
  translate: 0 110%
}

@media screen and (width<=767px) {
  .c-sticky-menu {
    padding: 4px
  }
}

@media screen and (width>=768px) {
  .c-sticky-menu {
    background: #fff6
  }
}

.c-sticky-menu.is-show {
  translate: 0
}

.c-sticky-menu__wrapper {
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  max-width: 800px;
  margin-inline: auto;
  padding: 4px 4px 8px;
  display: grid
}

@media screen and (width>=768px) {
  .c-sticky-menu__wrapper {
    gap: 24px;
    padding: 8px
  }
}

.c-sticky-menu__sp-only {
  display: none
}

@media screen and (width<=767px) {
  .c-sticky-menu__sp-only {
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    padding: 0;
    display: grid
  }

  .c-sticky-menu__sp-only a:after {
    content: none
  }

  .c-sticky-menu__sp-only a {
    color: #fff;
    border-radius: 6px;
    justify-content: center;
    align-items: center;
    height: 50px;
    padding-left: 20px;
    font-weight: 700;
    text-decoration: none;
    display: flex
  }

  .c-sticky-menu__sp-only a.simulation {
    box-shadow: none;
    text-shadow: none;
    background: #B85F66 url(../../assets/images/common/illust_menu_calculator.svg) 10px 7px/24px no-repeat;
    font-size: 14px
  }

  .c-sticky-menu__sp-only a.consultation {
    box-shadow: none;
    text-shadow: none;
    background: #7A4A52 url(../../assets/images/common/illust_menu_consultation.png) 10px 10px/24px no-repeat;
    align-items: center;
    line-height: 1
  }

  .c-sticky-menu__sp-only a.consultation span {
    background: 0 0;
    border: none;
    width: max-content;
    height: max-content;
    font-size: 15px;
    line-height: 1.2;
    display: block;
    position: static;
    padding: 0 !important
  }

  .c-sticky-menu__sp-only a.consultation span span {
    margin-left: 8px;
    font-size: 10px
  }

  .c-sticky-menu__pc-only {
    display: none
  }
}

@media screen and (width>=768px) {
  .c-sticky-menu__pc-only a {
    color: #fff;
    background: var(--light-orange);
    text-shadow: 0 2px 1px #a0532a;
    text-align: center;
    border-radius: 8px;
    grid-template-columns: 80px 1fr 80px;
    align-items: center;
    gap: 16px;
    width: 500px;
    height: 80px;
    margin: 0 auto;
    padding-top: 0;
    font-size: 2.4rem;
    font-weight: 700;
    text-decoration: none;
    transition: all .3s;
    display: grid;
    box-shadow: 0 3px #a0532a, 0 0 10px #0003
  }

  .c-sticky-menu__pc-only a:hover {
    filter: contrast(1.4)saturate(1.8)brightness(.95);
    translate: 0 2px;
    scale: .99;
    box-shadow: 0 1px #a0532a, 0 0 6px #0009
  }

  .c-sticky-menu__pc-only a:before,
  .c-sticky-menu__pc-only a:after {
    content: "";
    height: 100%
  }

  .c-sticky-menu__pc-only a:after {
    content: "";
    filter: drop-shadow(0 2px 2px #a0532a);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    width: 10px;
    height: 10px;
    margin-left: auto;
    margin-right: 32px;
    display: block;
    rotate: 45deg
  }

  .c-sticky-menu__pc-only a:before {
    background: url(https://qqenglish.jp/assets/images/common/seminar.svg) 24px/40px no-repeat
  }

  .c-sticky-menu__pc-only a span {
    background: #fff;
    border-style: solid;
    border-width: 1px;
    border-radius: 40px;
    justify-content: center;
    align-items: center;
    width: 40%;
    height: 26px;
    padding: 0 24px;
    font-size: 12px;
    display: flex;
    position: absolute;
    top: -14px
  }
}

@media screen and (width>=768px) and (width>=768px) {
  .c-sticky-menu__pc-only a span {
    width: 60%;
    height: 30px
  }
}

@media screen and (width>=768px) {
  .c-sticky-menu__pc-only a span svg {
    width: 40px
  }
}

@media screen and (width>=768px) and (width>=768px) {
  .c-sticky-menu__pc-only a span svg {
    width: 50px
  }

  .c-sticky-menu__pc-only a {
    height: 70px;
    font-size: 24px
  }
}

@media screen and (width>=768px) {
  .c-sticky-menu__pc-only li {
    flex-grow: 1
  }

  .c-sticky-menu__pc-only__left a {
    background: var(--light-orange);
    text-shadow: 0 2px 1px #a0532a;
    box-shadow: 0 4px #a0532a
  }

  .c-sticky-menu__pc-only__left a span {
    border-color: var(--orange)
  }
}

@media screen and (width>=768px) and (width>=768px) {
  .c-sticky-menu__pc-only__left a {
    background: url(https://qqenglish.jp/assets/images/common/seminar.svg) 24px 26px/37px var(--light-orange) no-repeat;
    transition: background-color .3s
  }

  .c-sticky-menu__pc-only__left a:hover {
    background-color: var(--orange);
    translate: 0 3px;
    box-shadow: 0 1px #a0532a;
    opacity: 1 !important
  }
}

@media screen and (width>=768px) {
  .c-sticky-menu__pc-only__right a {
    background: var(--light-pink);
    text-shadow: 0 2px 1px #B85F66;
    box-shadow: 0 4px #B85F66
  }

  .c-sticky-menu__pc-only__right a span {
    border-color: var(--pink)
  }
}

@media screen and (width>=768px) and (width>=768px) {
  .c-sticky-menu__pc-only__right a {
    background: url(https://qqenglish.jp/assets/images/common/counseling.svg) 24px 22px/37px var(--light-pink) no-repeat;
    transition: background-color .3s
  }

  .c-sticky-menu__pc-only__right a:hover {
    background-color: var(--pink);
    translate: 0 3px;
    box-shadow: 0 1px #B85F66;
    opacity: 1 !important
  }
}

.c-sticky-menu__pc-only .c-sticky-menu {
  background: #ffffff80;
  gap: 24px;
  padding: 8px
}

.c-sticky-menu__pc-only .c-sticky-menu a {
  background: url(https://qqenglish.jp/assets/images/common/seminar.svg) 26px center/37px var(--light-orange) no-repeat;
  text-shadow: 0 2px 1px #a0532a;
  max-width: 500px;
  margin-inline: auto;
  padding-top: 0;
  font-size: 2rem;
  transition: background-color .3s;
  display: flex;
  position: relative;
  box-shadow: 0 4px #a0532a
}

.c-sticky-menu__pc-only .c-sticky-menu a:after {
  content: "";
  text-align: center;
  filter: drop-shadow(0 2px 2px #a0532a);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  width: 10px;
  height: 10px;
  display: block;
  position: absolute;
  right: 32px;
  rotate: 45deg
}

@media screen and (width>=768px) {
  .c-sticky-menu__pc-only .c-sticky-menu a {
    font-size: 2.4rem
  }
}

.c-sitemap {
  border-bottom: 1px dashed #bababa;
  padding-bottom: 24px;
  display: none
}

@media screen and (width>=768px) {
  .c-sitemap {
    grid-template-columns: repeat(5, max-content);
    justify-content: space-between;
    display: grid
  }

  .c-sitemap__item {
    color: #fff
  }

  .c-sitemap dt {
    margin-bottom: 8px;
    font-weight: 700
  }

  .c-sitemap dt~dt {
    margin-top: 24px
  }

  .c-sitemap dd {
    padding-left: 8px;
    font-size: 13px
  }
}

.l-footer {
  color: #fff;
  background: var(--text);
  padding: 32px 0 0;
  font-size: 14px
}

.l-footer a {
  color: #fff;
  width: 36px;
  text-decoration: none;
  transition: opacity .3s
}

.l-footer a:hover {
  opacity: .5
}

@media screen and (width<=767px) {
  .l-footer {
    flex-direction: column;
    padding: 24px 0 0;
    display: flex
  }
}

.c-footer--map {
  text-align: right;
  color: #fff;
  margin-bottom: 24px;
  padding-top: 18px
}

@media screen and (width<=767px) {
  .c-footer--map {
    order: 2;
    margin-bottom: 16px
  }
}

.c-footer--map address {
  margin-bottom: 4px;
  font-style: normal
}

.c-footer--map a {
  background: var(--clear-blue);
  border-radius: 4px;
  align-items: center;
  padding: 6px 8px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex
}

.c-footer--copyright {
  color: var(--text);
  text-align: center;
  background: #fff;
  padding: 16px 40px
}

@media screen and (width<=767px) {
  .c-footer--copyright {
    order: 3;
    padding: 16px 24px
  }
}

.c-footer--copyright a {
  color: var(--clear-blue)
}

.c-footer--sub-menu {
  padding-bottom: 24px
}

@media screen and (width<=767px) {
  .c-footer--sub-menu {
    order: 1;
    padding-bottom: 16px
  }
}

@media screen and (width>=768px) {
  .c-footer--sub-menu {
    justify-content: space-between;
    align-items: center;
    display: flex
  }
}

.c-footer--sub-menu--socialmedia {
  display: none
}

@media screen and (width>=768px) {
  .c-footer--sub-menu--socialmedia {
    gap: 24px;
    display: flex
  }
}

.c-footer--sub-menu--nav {
  flex-wrap: wrap;
  gap: 18px;
  line-height: 1;
  display: flex
}

.c-footer--sub-menu--nav li {
  margin-bottom: 0
}

@media screen and (width>=768px) {
  .c-footer--sub-menu--nav {
    gap: 24px;
    font-size: 13px
  }

  .c-footer--sub-menu--nav a {
    font-weight: 700
  }
}

.c-information-session {
  color: #fff;
  text-shadow: 0 1px 4px #0003;
  text-align: center;
  background: url(../../assets/images/common/bg_stripe_cerulean.png);
  margin-top: 8px;
  padding-top: 1px
}

@media screen and (width>=768px) {
  .c-information-session {
    margin-top: 40px
  }
}

.c-information-session__lead {
  margin-bottom: 32px;
  font-size: 14px;
  font-weight: 700
}

@media screen and (width<=767px) {
  .c-information-session__lead {
    text-align: left;
    margin-bottom: 16px;
    padding: 0 16px;
    font-size: 14px
  }

  .c-information-session__lead br {
    display: none
  }
}

.c-information-session__btn {
  background: var(--pale-orange);
  color: #fff;
  border-radius: 8px;
  grid-template-columns: 20px auto 20px;
  justify-content: space-between;
  align-items: center;
  width: calc(100% - 32px);
  margin: 0 auto 24px;
  padding: 16px;
  font-size: 24px;
  font-weight: 700;
  text-decoration: none;
  display: grid;
  box-shadow: 0 1px 4px #0003
}

@media screen and (width>=768px) {
  .c-information-session__btn {
    max-width: 525px;
    height: 130px;
    margin: 0 auto 40px;
    font-size: 30px
  }
}

.c-information-session__btn:after,
.c-information-session__btn:before {
  content: ""
}

.c-information-session__btn:after {
  background: url(objects/images/common/bullet_white_bold.svg) 0 0/100% 100% no-repeat;
  width: 10px;
  height: 18px;
  display: block
}

.c-information-session__heading {
  max-width: 370px;
  min-height: 100px;
  margin: 20px auto 8px;
  padding: 32px 24px 0;
  position: relative
}

@media screen and (width>=768px) {
  .c-information-session__heading {
    max-width: 736px;
    min-height: 150px;
    margin: 20px auto
  }
}

.c-information-session__heading h2 {
  font-size: 24px;
  line-height: 1
}

@media screen and (width>=768px) {
  .c-information-session__heading h2 {
    margin-bottom: 12px;
    font-size: 50px
  }
}

.c-information-session__heading p {
  color: var(--yellow);
  font-weight: 700
}

.c-information-session__heading:before {
  content: "";
  background: url(../../assets/images/top/session_illust_01.png) 100%/contain no-repeat;
  width: 100px;
  height: 70px;
  display: block;
  position: absolute;
  top: 4px;
  left: 0
}

@media screen and (width>=768px) {
  .c-information-session__heading:before {
    width: 138px;
    height: 102px;
    top: 10px
  }
}

.c-information-session__heading:after {
  content: "";
  background: url(../../assets/images/top/session_illust_02.png) 50%/contain no-repeat;
  width: 100px;
  height: 90px;
  position: absolute;
  top: -10px;
  right: 25px
}

@media screen and (width>=768px) {
  .c-information-session__heading:after {
    width: 120px;
    height: 135px;
    top: 0
  }
}

.c-information-session__photos {
  flex-wrap: wrap;
  display: flex
}

.c-information-session__photos li {
  width: 50%
}

@media screen and (width>=768px) {
  .c-information-session__photos li {
    width: 25%
  }
}

.c-information-session__photos img {
  width: 100%;
  display: block
}

.c-modal {
  visibility: hidden;
  opacity: 0;
  z-index: 1000;
  background: #00000080;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: all .5s;
  display: flex;
  position: fixed;
  top: 0;
  left: 0
}

.c-modal.is-show {
  visibility: visible;
  opacity: 1
}

.c-modal.is-show img {
  box-shadow: 0 0 15px #0000004d
}

.c-modal .c-modal--bg {
  z-index: -1;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0
}

.c-modal .c-modal--wrapper {
  text-align: right;
  width: max-content
}

@media screen and (width<=767px) {
  .c-modal .c-modal--wrapper {
    width: 90%;
    height: auto;
    margin: auto
  }
}

.c-modal .c-modal--wrapper button {
  text-shadow: 0 0 5px #0000004d;
  color: #fff;
  background: 0 0;
  border: none;
  align-items: center;
  font-weight: 700;
  display: inline-flex
}

.c-modal .c-modal--wrapper img {
  object-fit: contain;
  width: 100%;
  max-width: 700px;
  height: auto;
  max-height: 700px;
  display: block
}

.c-related-service {
  background: var(--pale-blue);
  justify-content: center;
  gap: 16px;
  padding: 16px;
  display: grid
}

@media screen and (width>=768px) {
  .c-related-service {
    gap: 8px;
    padding: 52px 40px
  }
}

.c-related-service h2 {
  text-align: center;
  font-size: 20px
}

@media screen and (width>=768px) {
  .c-related-service h2 {
    font-size: 28px
  }
}

.c-related-service ul {
  gap: 24px;
  max-width: 900px;
  display: grid
}

@media screen and (width>=768px) {
  .c-related-service ul {
    gap: 40px
  }
}

.c-related-service ul li {
  border-radius: 16px;
  box-shadow: 0 0 8px #0000004d
}

@media screen and (width<=767px) {
  .c-related-service ul li {
    max-width: 300px
  }
}

.c-related-service ul a {
  text-align: center;
  color: var(--dark-blue);
  background: #fff;
  border-radius: 16px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  display: block;
  overflow: hidden
}

.c-related-service ul a>img {
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%
}

.c-related-service ul a h3 {
  margin-top: 7px
}

.c-related-service ul a h3 img {
  object-fit: contain;
  width: 100%;
  height: 40px
}

@media screen and (width>=768px) {
  .c-related-service ul {
    grid-template-columns: 1fr 1fr 1fr
  }
}

.c-category:has(+.c-category) {
  margin-bottom: 32px
}

.c-category li {
  border-bottom: 1px solid var(--light-gray)
}

.c-category li a {
  color: var(--text);
  grid-template: "image date" "image title" 1fr/150px 1fr;
  align-items: flex-start;
  gap: 0 16px;
  padding: 16px 0;
  font-size: 14px;
  text-decoration: none;
  display: grid
}

@media screen and (width>=768px) {
  .c-category li a {
    grid-template-columns: 180px 1fr;
    font-size: 16px;
    transition: opacity .3s
  }

  .c-category li a:hover {
    opacity: .7
  }
}

.c-category li img {
  object-fit: cover;
  aspect-ratio: 4/3;
  background: #000;
  grid-area: image;
  width: 100%;
  height: 100%;
  display: block
}

.c-category__item--date {
  color: var(--green);
  grid-area: date;
  font-weight: 700
}

.c-category__item--heading {
  grid-area: title;
  line-height: 1.4
}

@media screen and (width>=768px) {
  .c-category__item--heading {
    font-size: 18px
  }
}

.c-category--sidebar,
.c-category--sidebar--experiences {
  gap: 24px;
  font-size: 14px;
  display: grid
}

.c-category--sidebar a,
.c-category--sidebar--experiences a {
  color: var(--text);
  line-height: 1.6;
  text-decoration: none
}

@media screen and (width>=768px) {

  .c-category--sidebar a,
  .c-category--sidebar--experiences a {
    transition: opacity .3s
  }

  .c-category--sidebar a:hover,
  .c-category--sidebar--experiences a:hover {
    opacity: .7
  }
}

.c-category--sidebar time,
.c-category--sidebar--experiences time {
  color: var(--green);
  font-size: 12px;
  font-weight: 700
}

.c-category--sidebar--experiences {
  gap: 16px;
  font-weight: 700
}

.c-category--sidebar--experiences .c-category--sidebar--name {
  color: var(--green);
  font-size: 13px;
  font-weight: 700
}

.c-category--sidebar--experiences a {
  border: 1px solid var(--gray);
  border-radius: 4px;
  padding: 8px;
  display: block
}

.c-category--sidebar--experiences img {
  aspect-ratio: 40/21;
  object-fit: cover;
  width: 100%
}

.c-post-area__date {
  color: var(--green);
  font-weight: 700
}

.c-post-area__title {
  border-bottom: 1px solid var(--gray);
  padding: 8px 0;
  font-size: 22px;
  line-height: 1.2
}

.c-post-area__title h1 {
  text-indent: 0;
  font-size: 22px;
  white-space: normal !important
}

.c-post-area__title p {
  color: var(--green);
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 700
}

@media screen and (width>=768px) {
  .c-post-area__title {
    padding: 8px 0 16px;
    font-size: 26px
  }

  .c-post-area__title h1 {
    font-size: 26px
  }

  .c-post-area__title p {
    font-size: 18px
  }
}

.c-post-area .c-contents {
  margin-top: 24px
}

@media screen and (width>=768px) {
  .c-post-area .c-contents {
    margin-top: 32px
  }
}

.c-prev-next-nav {
  gap: 8px;
  display: grid
}

@media screen and (width>=768px) {
  .c-prev-next-nav {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "prev next";
    font-size: 14px
  }

  .c-prev-next-nav__prev {
    grid-area: prev
  }

  .c-prev-next-nav__next {
    grid-area: next
  }
}

.c-prev-next-nav a img {
  aspect-ratio: 4/3;
  object-fit: cover
}

.c-prev-next-nav a {
  color: var(--text);
  border: 1px solid var(--gray);
  border-radius: 4px;
  grid-template-columns: 30% 1fr;
  grid-template-areas: "label label" "image main";
  gap: 0 16px;
  padding: 8px;
  line-height: 1.3;
  text-decoration: none;
  display: grid
}

@media screen and (width>=768px) {
  .c-prev-next-nav a {
    transition: opacity .3s
  }

  .c-prev-next-nav a:hover {
    opacity: .7
  }
}

.c-prev-next-nav a span:first-child {
  color: var(--gray);
  grid-area: label;
  font-size: 16px;
  font-weight: 700
}

.c-prev-next-nav a time {
  color: var(--green);
  margin-bottom: 8px;
  font-weight: 700;
  display: block
}

.c-pagination {
  margin-top: 35px
}

.c-pagination a {
  text-decoration: none
}

@media screen and (width<=767px) {
  .c-pagination {
    text-align: center;
    margin-top: 25px
  }

  .c-pagination .page-numbers {
    width: 32px;
    height: 32px;
    margin-left: 8px;
    font-size: 14px;
    line-height: 32px
  }
}

.c-pagination .page-numbers {
  color: #6c6c6c;
  text-align: center;
  vertical-align: middle;
  border-radius: 3px;
  width: 40px;
  height: 40px;
  margin-left: 13px;
  font-family: Helvetica;
  font-size: 18px;
  font-weight: 700;
  line-height: 40px;
  display: inline-block
}

.c-pagination .page-numbers.prev,
.c-pagination .page-numbers.next {
  background: url(objects/images/common/bullet_gray_back.svg) 50% no-repeat
}

.c-pagination .page-numbers.next {
  background: url(objects/images/common/bullet_gray_next.svg) 50% no-repeat
}

.c-pagination .page-numbers.current {
  color: #fff;
  background-color: #A9636C
}

.c-pagination .page-numbers:first-child {
  margin-left: 0
}

.c-sidebar-author {
  background: #ebefef;
  border-radius: 5px;
  margin-bottom: 24px;
  padding: 15px;
  font-size: 14px;
  line-height: 1.6
}

.c-sidebar-author__img img {
  width: 104px;
  margin: 0 auto 15px;
  display: block
}

.c-sidebar-author figcaption {
  text-align: center;
  font-size: 16px;
  font-weight: 700
}

.c-box__heading {
  text-align: center;
  color: var(--blue);
  font-size: 20px
}

@media screen and (width>=768px) {
  .c-box__heading {
    font-size: 24px
  }
}

.c-box--border-blue {
  border: 3px solid #FDF5F5;
  border-radius: 20px;
  gap: 16px;
  padding: 24px;
  display: grid
}

@media screen and (width>=768px) {
  .c-box--border-blue {
    border: 5px solid #FDF5F5;
    padding: 40px 60px
  }
}

.c-faq {
  gap: 16px;
  display: grid
}

.c-faq__item {
  background: #edebeb;
  border-radius: 10px;
  padding: 24px 24px 12px
}

.c-faq__title {
  cursor: pointer;
  background: url(../../assets/images/common/icon-faq-q.svg) 0 0/30px no-repeat;
  padding-bottom: 12px;
  padding-left: 40px;
  padding-right: 24px;
  line-height: 1.4;
  position: relative
}

@media screen and (width>=768px) {
  .c-faq__title {
    transition: all .3s
  }

  .c-faq__title:hover {
    opacity: .7
  }
}

.c-faq__title:before {
  content: "";
  border-bottom: 2px solid #a0a0a0;
  border-right: 2px solid #a0a0a0;
  width: 12px;
  height: 12px;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  rotate: 45deg
}

.c-faq__title.is-opened:before {
  rotate: 225deg
}

.c-faq__content {
  background: url(../../assets/images/common/icon-faq-a.svg) 0 0/30px no-repeat;
  padding-left: 40px;
  overflow: hidden
}

.c-faq__content>* {
  padding-bottom: 12px
}

.c-faq__content[data-height] {
  transition: all .3s
}

.c-list--caution li {
  font-size: 14px !important
}

.c-list--caution li:before {
  text-indent: 0;
  content: "※" !important;
  background: 0 0 !important;
  scale: 1 !important
}

.c-list--faq a {
  text-decoration: none
}

.c-list--faq li {
  text-indent: 1.2em !important;
  margin-left: -1.2em !important
}

.c-list--faq li:before {
  color: var(--clear-blue);
  text-indent: 0;
  content: "◎" !important;
  background: 0 0 !important;
  width: 1.2em !important;
  scale: 1 !important
}

ol.c-list--caution {
  counter-reset: num
}

ol.c-list--caution li {
  text-indent: -2em;
  counter-increment: num;
  margin-left: 2em
}

ol.c-list--caution li:before {
  width: 2em;
  text-indent: none;
  text-indent: 0;
  display: inline-block;
  content: "※" counter(num) !important;
  background: 0 0 !important;
  scale: 1 !important
}

.home-tab-menu:has(section:first-child.is-active) {
  background: var(--pale-blue)
}

.home-tab-menu:has(section:nth-child(2).is-active) {
  background: #fef2cf
}

.home-tab-menu__controller {
  grid-template-columns: repeat(2, 1fr);
  font-weight: 700;
  display: grid;
  position: relative
}

.home-tab-menu__controller li {
  justify-content: center;
  align-items: center;
  height: 56px;
  padding-top: 6px;
  font-size: 22px;
  display: flex
}

.home-tab-menu__controller li:nth-child(2) {
  background: #fef2cf
}

.home-tab-menu__controller li:not(.is-active) {
  background: #edebeb
}

@media screen and (width>=768px) {
  .home-tab-menu__controller li:not(.is-active) {
    cursor: pointer;
    transition: opacity .3s
  }

  .home-tab-menu__controller li:not(.is-active):hover {
    opacity: .7
  }
}

.home-tab-menu__controller li:not(.is-active):first-child {
  box-shadow: inset -2px -2px 8px #0000001a
}

.home-tab-menu__controller li:not(.is-active):nth-child(2) {
  box-shadow: inset 2px -2px 8px #0000001a
}

.home-tab-menu__label {
  color: #fff;
  background: var(--blue);
  border-radius: 30px;
  justify-content: center;
  width: 80px;
  height: 24px;
  font-size: 13px;
  display: flex;
  position: absolute;
  top: -12px
}

.home-tab-menu__container {
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px;
  display: flex
}

@media screen and (width>=768px) {
  .home-tab-menu__container {
    gap: 24px;
    padding: 40px 142px
  }
}

.home-tab-menu__container ul {
  font-size: 14px
}

.home-tab-menu__content {
  flex-direction: column;
  align-items: center;
  width: 100%;
  display: flex
}

.home-tab-menu__content.is-active {
  animation: .7s forwards tabShow
}

.home-tab-menu__content:not(.is-active) {
  display: none
}

.home-tab-menu__content header {
  color: var(--navy-blue);
  text-align: center;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2
}

@media screen and (width>=768px) {
  .home-tab-menu__content header {
    margin-bottom: 24px;
    font-size: 16px
  }
}

.home-tab-menu__content header h2 {
  font-size: 20px
}

@media screen and (width>=768px) {
  .home-tab-menu__content header h2 {
    font-size: 28px
  }
}

.home-tab-menu__price {
  text-align: center;
  background: #fff;
  width: 100%;
  max-width: 600px;
  margin-bottom: 24px;
  padding: 16px 24px;
  font-weight: 700
}

.home-tab-menu__price dt {
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 14px;
  display: flex
}

@media screen and (width>=768px) {
  .home-tab-menu__price dt {
    font-size: 16px
  }
}

.home-tab-menu__price dt span {
  color: #fff;
  background: var(--navy-blue);
  border-radius: 50px;
  width: max-content;
  padding-left: 16px;
  padding-right: 16px;
  line-height: 1.4;
  display: block
}

.home-tab-menu__price dd {
  color: #B85F66;
  font-size: 28px;
  line-height: 1
}

@media screen and (width>=768px) {
  .home-tab-menu__price dd {
    font-size: 40px
  }
}

.home-tab-menu__service {
  text-align: center;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "header header" "content1 content2";
  gap: 4px 16px;
  width: 100%;
  max-width: 600px;
  margin-bottom: 24px;
  display: grid
}

.home-tab-menu__service dt {
  grid-area: header;
  font-size: 16px;
  font-weight: 700
}

@media screen and (width>=768px) {
  .home-tab-menu__service dt {
    font-size: 18px
  }
}

.home-tab-menu__service dd {
  color: #000;
  background: #fff;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 16px;
  font-weight: 700;
  line-height: 1.4;
  display: flex
}

@media screen and (width<=767px) {
  .home-tab-menu__service dd small {
    font-size: 10px
  }
}

@media screen and (width>=768px) {
  .home-tab-menu__service dd small br {
    display: none
  }
}

.home-tab-menu__table {
  width: 100%;
  max-width: 500px;
  font-weight: 700
}

@media screen and (width<=767px) {
  .home-tab-menu__table {
    line-height: 1.6
  }
}

.home-tab-menu__table caption {
  color: var(--navy-blue);
  border-bottom: 1px solid #b4b4b4;
  margin-bottom: 5px
}

@media screen and (width>=768px) {
  .home-tab-menu__table caption {
    font-size: 18px
  }
}

.home-tab-menu__table th {
  text-align: left;
  padding: 0 16px
}

@media screen and (width<=767px) {
  .home-tab-menu__table th {
    padding: 5px 5px 5px 0;
    font-size: 14px
  }
}

.home-tab-menu__table td {
  text-align: right;
  padding: 0 16px
}

@media screen and (width<=767px) {
  .home-tab-menu__table td {
    padding: 5px 0
  }
}

.home-tab-menu__table tfoot tr th,
.home-tab-menu__table tfoot tr td {
  border-top: 1px solid #b4b4b4
}

.home-tab-menu__table tfoot td {
  white-space: wrap;
  font-size: 18px
}

@keyframes tabShow {
  0% {
    opacity: 0;
    translate: 0 -10px
  }

  to {
    opacity: 1;
    translate: 0
  }
}

.c-comparison {
  text-align: center;
  line-height: 1.4;
  position: relative
}

@media screen and (width<=767px) {
  .c-comparison__wrapper {
    margin-left: -20px;
    margin-right: -20px
  }

  .c-comparison {
    width: 100%;
    overflow: auto
  }
}

.c-comparison b {
  font-family: Arial, Helvetica, Noto Sans JP, sans-serif;
  font-size: 1.4em;
  font-weight: 700
}

.c-comparison span.lg {
  font-size: 1.15em
}

.c-comparison span.sm {
  font-size: .9em
}

.c-comparison span.xl {
  font-size: 1.5em
}

.c-comparison.price {
  grid-template-columns: 110px 1fr
}

@media screen and (width>=768px) {
  .c-comparison.price {
    grid-template-columns: 210px 1fr
  }

  .c-comparison.price br.sp {
    display: none
  }
}

.c-comparison.price thead th {
  height: 100px
}

@media screen and (width<=767px) {
  .c-comparison.price thead {
    width: 110px
  }
}

.c-comparison.price tbody tr {
  grid-template-rows: 82px repeat(6, 100px)
}

@media screen and (width<=424px) {
  .c-comparison.price tbody tr {
    width: 180px
  }
}

.c-comparison.price tbody tr:first-child {
  background: #fffbf5
}

.c-comparison.price tbody tr:first-child th figure {
  background: #fff;
  border-radius: 4px;
  padding: 8px 16px
}

.c-comparison.price tbody tr:first-child th figure img {
  display: block
}

@media screen and (width>=768px) {
  .c-comparison thead {
    width: 100%
  }
}

.c-comparison {
  grid-template-columns: 110px 1fr;
  display: grid
}

@media screen and (width>=768px) {
  .c-comparison {
    grid-template-columns: 160px 1fr
  }
}

.c-comparison td {
  border-bottom: 2px solid var(--gray)
}

.c-comparison thead {
  margin-top: 82px;
  display: block
}

@media screen and (width<=767px) {
  .c-comparison thead {
    width: 110px
  }
}

.c-comparison thead tr {
  display: grid
}

.c-comparison thead th {
  border-bottom: 2px solid var(--gray);
  background: #f2f2f2;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  height: 82px;
  padding: 0 8px;
  display: flex
}

@media screen and (width<=767px) {
  .c-comparison thead th {
    padding: 0 4px
  }
}

.c-comparison thead th span {
  text-align: left;
  width: calc(100% - 38px);
  font-size: 12px
}

@media screen and (width>=768px) {
  .c-comparison thead th span {
    width: calc(100% - 58px);
    font-size: 15px
  }
}

.c-comparison thead th svg {
  color: #7A4A52;
  fill: #7A4A52;
  stroke: #7A4A52;
  width: 30px;
  height: 30px
}

@media screen and (width>=768px) {
  .c-comparison thead th svg {
    width: 50px;
    height: 50px
  }
}

.c-comparison tbody {
  grid-template-columns: repeat(3, 1fr);
  display: grid
}

.c-comparison tbody tr {
  grid-template-rows: repeat(7, 82px);
  display: grid
}

@media screen and (width<=767px) {
  .c-comparison tbody tr {
    width: 200px
  }
}

.c-comparison tbody tr:first-child {
  border-left: 4px solid var(--blue);
  border-right: 4px solid var(--blue);
  font-weight: 700;
  position: relative
}

.c-comparison tbody tr:first-child:before {
  background: var(--blue);
  content: "";
  width: 100%;
  height: 4px;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0
}

.c-comparison tbody tr:first-child th {
  background: var(--blue);
  color: #fff
}

.c-comparison tbody th {
  background: #f2f2f2;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  display: flex
}

.c-comparison tbody td {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  display: flex
}

@media screen and (width>=768px) {
  .c-comparison tbody td {
    font-size: 18px
  }
}

.c-comparison .color-blue {
  color: var(--blue)
}

.c-comparison .circle {
  border: 4px solid #ffa4b2;
  border-radius: 50px;
  width: 30px;
  height: 30px;
  margin-bottom: 4px;
  display: block
}

.c-comparison .dbl-circle {
  border: 10px double #ffa4b2;
  border-radius: 50px;
  width: 30px;
  height: 30px;
  margin-bottom: 4px;
  display: block
}

.c-comparison .triangle-ring {
  background: url(../../assets/images/common/triangle.svg) 50%/contain no-repeat;
  width: 30px;
  height: 30px;
  margin-bottom: 4px;
  display: block
}

.c-comparison .closs {
  background: url(../../assets/images/common/closs.svg) 50%/contain no-repeat;
  width: 30px;
  height: 30px;
  display: block
}

.svg-shrink-7 {
  scale: .7
}

.svg-shrink-8 {
  scale: .8
}

.c-sidebar-list {
  border-top: 1px solid #dfdfdf;
  flex-direction: column;
  display: flex
}

.c-sidebar-list li {
  border-bottom: 1px solid #dfdfdf;
  padding: 16px 0
}

.c-sidebar-list__img,
.c-sidebar-list__img img {
  display: block
}

.c-sidebar-list__item {
  color: var(--text);
  grid-template-columns: 130px 1fr;
  gap: 16px;
  text-decoration: none;
  display: grid;
  position: relative
}

@media screen and (width>=768px) {
  .c-sidebar-list__item {
    grid-template-columns: 100px 1fr;
    transition: opacity .3s
  }

  .c-sidebar-list__item:hover {
    opacity: .7
  }
}

.c-sidebar-list__title {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4
}

@media screen and (width>=768px) {
  .c-sidebar-list__title {
    font-size: 13px
  }
}

.c-sidebar-list.lanking {
  counter-reset: num
}

.c-sidebar-list.lanking li {
  counter-increment: num;
  position: relative
}

.c-sidebar-list.lanking li a:before {
  z-index: 1;
  content: counter(num);
  color: #7A4A52;
  background: #fff;
  border: 2px solid #7A4A52;
  border-radius: 3px;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  position: absolute;
  top: -2px;
  left: -3px
}

.c-sidebar-list.lanking li:nth-child(2) a:before,
.c-sidebar-list.lanking li:nth-child(3) a:before,
.c-sidebar-list.lanking li:first-child a:before {
  color: #fff;
  background: #7A4A52;
  width: 27px;
  height: 27px;
  left: -7px;
  box-shadow: 0 0 2px #0003
}

main {
  position: relative
}

@media screen and (width<=767px) {
  main {
    padding-top: 40px
  }
}

.u-mb--md {
  margin-bottom: 24px
}

@media screen and (width>=768px) {
  .u-mb--md {
    margin-bottom: 32px
  }
}

.u-mb--sm {
  margin-bottom: 12px
}

@media screen and (width>=768px) {
  .u-mb--sm {
    margin-bottom: 20px
  }
}

.u-mb--xs {
  margin-bottom: 8px
}

@media screen and (width>=768px) {
  .u-mb--xs {
    margin-bottom: 16px
  }
}

.u-mb--lg {
  margin-bottom: 32px
}

@media screen and (width>=768px) {
  .u-mb--lg {
    margin-bottom: 48px
  }
}

.u-mb--xl {
  margin-bottom: 48px
}

@media screen and (width>=768px) {
  .u-mb--xl {
    margin-bottom: 96px
  }
}

.u-my--md {
  margin-top: 24px;
  margin-bottom: 24px
}

@media screen and (width>=768px) {
  .u-my--md {
    margin-top: 32px;
    margin-bottom: 32px
  }
}

.u-my--lg {
  margin-top: 32px;
  margin-bottom: 32px
}

@media screen and (width>=768px) {
  .u-my--lg {
    margin-top: 48px;
    margin-bottom: 48px
  }
}

.js-expandImg {
  cursor: pointer
}

@media screen and (width>=768px) {
  .js-expandImg {
    transition: opacity .3s
  }

  .js-expandImg:hover {
    opacity: .7
  }
}

.u-mt--lg {
  margin-top: 32px
}

@media screen and (width>=768px) {
  .u-mt--lg {
    margin-top: 62px
  }
}

.u-text--right {
  text-align: right
}

.u-text--center {
  text-align: center
}

.u-text--center .home-link--blue {
  margin-inline: auto
}

.u-text--h3 {
  font-size: 18px
}

.u-youtube {
  display: block
}

.u-youtube iframe {
  aspect-ratio: 16/9;
  object-fit: cover;
  width: 100%;
  height: auto
}

.u-width--800 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto
}

@media screen and (width>=768px) {
  .sp-only {
    display: none
  }
}

@media screen and (width<=767px) {
  .pc-only {
    display: none
  }
}
