@charset "UTF-8";
@import url(component.css?v=251001);
html {
  font-size: 2.6666666667vw;
  /* = (10 / 375) * 100) SPデザインが375の場合 */
}

@media screen and (min-width: 769px) {
  html {
    font-size: 1.3020833333vw;
    /* = (10 / 1440) * 100) SPデザインが1024の場合 */
  }
}
@media screen and (min-width: 1025px) {
  html {
    font-size: 0.6944444444vw;
    /* = (10 / 1440) * 100) SPデザインが1440の場合 */
  }
}
@media screen and (min-width: 1440px) {
  html {
    font-size: 10px;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  background-color: #F5F5F5;
  font-weight: 400;
  font-size: 1.6rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body .l-bgBlack {
  color: #fff;
  background-color: #2A2A2A;
}
body .l-bgWhite {
  background-color: #fff;
}

.font-serif {
  font-family: "Noto Serif JP", serif;
}

.font-en {
  font-family: "Urbanist", sans-serif;
}

.font-bold {
  font-weight: 700;
}

.l-mainInner {
  width: min(132rem, 100%);
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .l-mainInner {
    width: 71rem;
  }
}
@media screen and (max-width: 768px) {
  .l-mainInner {
    width: 33.5rem;
    padding-inline: 0;
  }
}

.l-mainInner_single {
  width: min(81.6rem, 100%);
  margin: 4rem auto 0;
}
@media screen and (max-width: 1024px) {
  .l-mainInner_single {
    width: 71rem;
  }
}
@media screen and (max-width: 768px) {
  .l-mainInner_single {
    width: 33.5rem;
    padding-inline: 0;
  }
}

.l-mainInner_table {
  width: min(132rem, 100%);
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .l-mainInner_table {
    width: 71rem;
  }
}
@media screen and (max-width: 768px) {
  .l-mainInner_table {
    width: 100%;
    margin: auto;
  }
}

@media screen and (max-width: 768px) {
  .l-mainInner_sp {
    width: 33.5rem;
    margin: 0 auto;
  }
}

.pc-only {
  display: block;
}
@media screen and (max-width: 1024px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
  .tb-none {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .tb-none {
    display: block;
  }
}

.no-scroll {
  overflow: hidden;
  height: 100vh;
}

/* -------------------------------------
ヘッダー
------------------------------------- */
#pageHeader {
  overflow-x: clip;
  width: 100%;
}

.l-overlay {
  opacity: 0;
  pointer-events: none;
  transition: 1s ease;
}

.l-fixed {
  position: fixed;
  z-index: 100;
  top: 0;
  height: 7.2rem;
}
@media screen and (max-width: 1024px) {
  .l-fixed {
    height: 6.2rem;
  }
}
.l-fixed:first-of-type {
  left: 0;
  padding-left: 3rem;
  z-index: 101;
}
@media screen and (max-width: 1024px) {
  .l-fixed:first-of-type {
    left: 2rem;
    padding-left: 0;
  }
}
.l-fixed:nth-of-type(3) {
  right: 0;
  padding-right: 2rem;
}

.js-blend {
  mix-blend-mode: difference;
  transition: mix-blend-mode 0.3s ease;
}
.js-blend.clear {
  mix-blend-mode: normal;
}

.l-head_title {
  display: flex;
  align-items: center;
  mix-blend-mode: difference;
  transition: mix-blend-mode 0.3s ease;
}

.l-head_logo {
  width: 21.6rem;
  height: 4rem;
}
.l-head_logo img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .l-head_logo {
    width: 17.1rem;
    height: 3.32rem;
  }
}

.l-head_nav {
  color: #DEDFDA;
  mix-blend-mode: difference;
  left: 29.2%;
  transition: mix-blend-mode 0.3s ease;
}

@media screen and (max-width: 1024px) {
  .l-head_nav {
    display: none;
  }
}
.l-gnav {
  height: 100%;
}

.l-gnav_list {
  height: 100%;
  display: flex;
  font-size: 1.5rem;
}
.l-gnav_list .l-gnav_item {
  position: relative;
}
.l-gnav_list .l-gnav_item > a {
  height: 100%;
  display: grid;
  padding-inline: 1.5rem;
  place-content: center;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
}
.l-gnav_list .l-gnav_item > a::before {
  content: "";
  display: none;
  position: absolute;
  width: 3px;
  height: 3px;
  background-color: #DEDFDA;
  top: 27%;
  left: 50%;
  translate: -50% -50%;
  opacity: 0;
  transition: 0.3s;
  -webkit-animation: fadeOut 0.3s forwards;
          animation: fadeOut 0.3s forwards;
}
@media (hover: hover) {
  .l-gnav_list .l-gnav_item:hover {
    /* ホバーで装飾と子メニュー表示 */
  }
  .l-gnav_list .l-gnav_item:hover a::before {
    display: block;
    opacity: 1;
    transition: opacity 0.7s;
    -webkit-animation: fadeIn 0.7s forwards;
            animation: fadeIn 0.7s forwards;
  }
  .l-gnav_list .l-gnav_item:hover .l-gnav_child_menu {
    pointer-events: auto;
    opacity: 1;
    z-index: -5;
    transition: opacity 0.7s;
    -webkit-animation: fadeIn 0.7s forwards;
            animation: fadeIn 0.7s forwards;
  }
}

/* -------------------------------------
メガメニュー
------------------------------------- */
.isMegaMenu {
  /* オーバーレイのスタイル */
  /* メガメニューのz-indexを調整 */
}
.isMegaMenu .l-head_title {
  -webkit-filter: invert(100%);
          filter: invert(100%);
}
.isMegaMenu .l-gnav_item > a {
  color: #2A2A2A;
}
.isMegaMenu .l-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.l-gnav_child_inner {
  height: 100%;
  padding: 12rem 0 4rem;
  display: flex;
  justify-content: space-between;
}

.l-gnav_child_menu {
  position: fixed;
  inset: 0;
  z-index: -99;
  width: 100vw;
  height: 35.3rem;
  background-color: #F5F5F5;
  opacity: 0;
  pointer-events: none;
  transition: 0.3s;
  -webkit-animation: fadeOut 0.3s forwards;
          animation: fadeOut 0.3s forwards;
  left: 50%;
  translate: -50% 0;
}

.l-gnav_child_ttl {
  height: 100%;
  padding-bottom: 1.1rem;
  display: flex;
  align-items: flex-end;
  font-size: 3rem;
  line-height: 1.5;
  font-weight: 300;
  color: #000;
}

.l-gnav_child_list {
  display: flex;
  gap: 3rem;
}

.l-gnav_child_item > a {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: #000;
}
.l-gnav_child_item > a:hover {
  opacity: 0.7;
  transition: 0.3s;
}

.l-gnav_child_img {
  height: 14rem;
}
.l-gnav_child_img img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-gnav_child_text {
  line-height: 2;
  letter-spacing: 0.1em;
}

.l-gnav_list .current::before {
  content: "";
}

/* -------------------------------------
その他ヘッダーコンテンツ
------------------------------------- */
.l-head_action {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.l-head_action .l-head_action_tel {
  width: 13.5rem;
  height: 4.4rem;
  display: grid;
  place-content: center;
  color: #fff;
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 1.7;
  background-color: #60605f;
  border-radius: 0.5rem;
  transition: 0.3s;
}
@media (hover: hover) {
  .l-head_action .l-head_action_tel:hover {
    background-color: #DEDFDA;
    color: #2A2A2A;
    transition: 0.3s;
  }
}
@media screen and (max-width: 1024px) {
  .l-head_action {
    display: none;
  }
}

.l-head_action_web {
  width: 12.6rem;
  height: 4.4rem;
  cursor: pointer;
}
.l-head_action_web .c-btn {
  font-size: 1.2rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
  padding: 0.5rem 0.5rem 0.5rem 1rem;
}
.l-head_action_web .c-btn_iconBox {
  width: 2.6rem;
  height: 3.5rem;
}

/* -------------------------------------
ハンバーガーメニュー
------------------------------------- */
/* ボタン　 */
.l-openbtn {
  display: none;
  width: 3.5rem;
  align-items: center;
  right: 2rem;
  z-index: 200;
  mix-blend-mode: difference;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .l-openbtn {
    display: flex;
  }
}
.l-openbtn .l-openbtn_lineBox {
  width: 100%;
  height: 0.8rem;
  position: relative;
}
.l-openbtn span {
  height: 1px;
  width: 100%;
  display: inline-block;
  position: absolute;
  left: 0;
  background: #fff;
  transition: all 0.4s;
}
.l-openbtn span:first-of-type {
  top: 0;
}
.l-openbtn span:last-of-type {
  bottom: 0;
}
.l-openbtn.active span:first-of-type {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 12.9deg;
  /* arctan(0.8/3.5) ≈ 12.9度 */
}
.l-openbtn.active span:last-of-type {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: -12.9deg;
}

/* メニュー背景 */
.l-open_sp {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99;
  color: #fff;
  background-color: #2A2A2A;
  opacity: 0;
  transition: 0.3s;
  overflow-y: scroll;
  pointer-events: none;
}
.l-open_sp.openbgactive {
  opacity: 1;
  transition: 0.3s;
  pointer-events: auto;
}

@media screen and (min-width: 1025px) {
  .l-open_sp {
    display: none;
  }
}
/* -------------
SPメニュー(ヘッダー・フッター共通)
------------- */
.l-sp_menu {
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media screen and (max-width: 1024px) {
  .l-sp_menu:not(:first-of-type) {
    margin-top: 3rem;
  }
}

.l-head_sp_inner {
  padding: 9.9rem 2rem 5rem;
}

.l-sp_ttl {
  position: relative;
  padding: 0;
  line-height: 2.5;
  color: #DEDFDA;
  opacity: 0.7;
}
.l-sp_ttl a {
  transition: 0.3s;
  padding: 0 1rem 1rem 0;
}
@media (hover: hover) {
  .l-sp_ttl a:hover {
    color: #797979;
    transition: 0.3s;
  }
}

.l-sp_list {
  padding-top: 2.2rem;
  display: grid;
  grid-template-columns: repeat(2, auto);
  -webkit-column-gap: 2.3rem;
     -moz-column-gap: 2.3rem;
          column-gap: 2.3rem;
  row-gap: 1.5rem;
}
@media screen and (max-width: 1024px) {
  .l-sp_list {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .l-sp_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.l-sp_list li a {
  padding: 0.2rem 1.5rem 1.7rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #DEDFDA;
}

.l-sp_menu:nth-of-type(3) .l-sp_list {
  grid-template-columns: 1fr;
  margin-right: 3rem;
}
@media screen and (max-width: 1024px) {
  .l-sp_menu:nth-of-type(3) .l-sp_list {
    grid-template-columns: repeat(3, 1fr);
    margin-right: 0;
  }
}
@media screen and (max-width: 768px) {
  .l-sp_menu:nth-of-type(3) .l-sp_list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 1024px) {
  .l-sp_item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }
}
.l-sp_item a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  transition: 0.3s;
}
@media screen and (max-width: 1024px) {
  .l-sp_item a {
    width: 100%;
  }
}
@media (hover: hover) {
  .l-sp_item a:hover {
    color: #797979;
    transition: 0.3s;
  }
}

/* ------------- */
.l-sp_aside_menu {
  margin-top: 5rem;
}
.l-sp_aside_menu a {
  font-size: 1.2rem;
  line-height: 1.7;
  color: #DEDFDA;
}
.l-head_sp_btn {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.l-head_web_btn {
  width: 24rem;
  height: 6rem;
}

.l-head_sp_tel {
  width: 24rem;
  height: 6rem;
  border-radius: 0.5rem;
  background-color: rgba(222, 223, 218, 0.3019607843);
}
.l-head_sp_tel a {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  line-height: 1.7;
  color: #fff;
  transition: 0.3s;
}
@media (hover: hover) {
  .l-head_sp_tel a:hover {
    background-color: #DEDFDA;
    color: #2A2A2A;
    transition: 0.3s;
  }
}

.l-head_sp_copyright {
  border-top: 1px solid #3F3F3F;
  padding-block: 3rem 2rem;
}

.l-head_sp_copyright_inner {
  padding-inline: 2rem;
}

.l-head_sp_c_text {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #DEDFDA;
}

/* -------------------------------------
フッター
------------------------------------- */
.l-foot_main {
  display: flex;
  justify-content: space-between;
  padding-block: 8rem;
}
@media screen and (max-width: 1024px) {
  .l-foot_main {
    padding-block: 4.8rem;
    flex-direction: column;
  }
}

.l-foot_left {
  width: 27.2rem;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1024px) {
  .l-foot_left {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .l-foot_left {
    width: 24.4rem;
    margin: 0 auto 0 2rem;
  }
}

.l-foot_logo_img img {
  width: 27.2rem;
}

.l-foot_address {
  margin-top: 4rem;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media screen and (max-width: 1024px) {
  .l-foot_address {
    font-size: 1.5rem;
    margin-top: 4rem;
  }
}

.l-foot_btn {
  margin-top: auto;
}
@media screen and (max-width: 1024px) {
  .l-foot_btn {
    margin-top: 3rem;
    display: flex;
    gap: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .l-foot_btn {
    flex-direction: column;
    gap: 0;
  }
}
.l-foot_btn > :last-child {
  margin-top: 1rem;
}
@media screen and (max-width: 1024px) {
  .l-foot_btn > :last-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .l-foot_btn > :last-child {
    margin-top: 1rem;
  }
}

.l-foot_web_btn {
  width: 20.4rem;
  height: 5rem;
}
@media screen and (max-width: 1024px) {
  .l-foot_web_btn {
    width: 24rem;
    height: 6rem;
  }
}
.l-foot_web_btn .c-btn_text {
  font-size: 1.2rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
  .l-foot_web_btn .c-btn_text {
    font-size: 1.4rem;
  }
}

.l-foot_tel {
  width: 20.4rem;
  height: 5rem;
  border-radius: 0.5rem;
  background-color: rgba(222, 223, 218, 0.3019607843);
}
@media screen and (max-width: 1024px) {
  .l-foot_tel {
    width: 24rem;
    height: 6rem;
  }
}
.l-foot_tel a {
  display: grid;
  place-content: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  line-height: 1.7;
  color: #fff;
  transition: 0.3s;
}
@media (hover: hover) {
  .l-foot_tel a:hover {
    background-color: #DEDFDA;
    color: #2A2A2A;
    transition: 0.3s;
  }
}

@media screen and (max-width: 1024px) {
  .l-foot_right {
    margin-top: 5.8rem;
    width: 70rem;
  }
}
@media screen and (max-width: 768px) {
  .l-foot_right {
    margin-top: 3.8rem;
    width: auto;
  }
}

.l-foot_nav {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .l-foot_nav {
    flex-direction: column;
    gap: 0rem;
  }
}
@media screen and (max-width: 1024px) {
  .l-foot_nav .l-sp_menu:not(:first-of-type) {
    margin-top: 5rem;
  }
}

.l-foot_nav_link {
  margin-top: 2rem;
}
@media screen and (max-width: 1024px) {
  .l-foot_nav_link {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .l-foot_nav_link {
    margin-top: 5rem;
  }
}
.l-foot_nav_link a {
  font-size: 1.2rem;
  line-height: 1.7;
  color: #DEDFDA;
}

.l-foot_table {
  margin-top: 2rem;
}
@media screen and (max-width: 1024px) {
  .l-foot_table {
    margin-top: 5rem;
  }
}

.l-foot_copyright {
  border-top: 1px solid #3F3F3F;
  padding-block: 3rem 2rem;
}

.l-foot_c_text {
  display: block;
  font-size: 1.1rem;
  line-height: 1.7;
  color: #DEDFDA;
}

/* -------------------------------------
追従ボタン
------------------------------------- */
.l-follow_btn {
  display: none;
  height: 5rem;
  position: fixed;
  bottom: 2rem;
  left: 50%;
  translate: -50% 0;
  z-index: 80;
  cursor: pointer;
}
@media screen and (max-width: 1024px) {
  .l-follow_btn {
    display: block;
    max-width: 31rem;
    left: 50%;
    translate: -50% 0;
  }
}
@media screen and (max-width: 768px) {
  .l-follow_btn {
    max-width: unset;
    left: 50%;
    translate: -50% 0;
  }
}
.l-follow_btn .c-btn_text {
  font-size: 1.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.l-follow_btn .c-btn_iconBox {
  width: 4rem;
  height: 4rem;
}
.l-follow_btn.fade-out {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

/* -------------------------------------
モーダル
------------------------------------- */
.l-modal__btn,
.js-modal__btn {
  cursor: pointer;
}

.l-modal__overlay {
  width: 100vw;
  height: 100vh;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s;
}

.l-modal__overlay.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.l-modal__container {
  position: fixed;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  z-index: 1001;
  width: 95%;
  height: 60rem;
  max-width: 950px;
  max-height: 600px;
  overflow-y: scroll;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s;
}
@media screen and (max-width: 768px) {
  .l-modal__container {
    width: 85vw;
    height: 70vh;
  }
}

.l-modal__container.active {
  opacity: 1;
  visibility: visible;
  z-index: 1000;
  pointer-events: auto;
}

.l-modal__close {
  position: absolute;
  top: 1.7rem;
  right: 2.7rem;
  width: 3.6rem;
  height: 3.6rem;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .l-modal__close {
    top: 0.8rem;
  }
}

.l-modal__close::before,
.l-modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 1px;
  background-color: #000;
}

.l-modal__close::before {
  translate: -50% -50%;
  rotate: 20deg;
}

.l-modal__close::after {
  translate: -50% -50%;
  rotate: -20deg;
}

.l-modal__content {
  width: 100%;
  min-height: 100%;
  background: #fff;
  padding: 7.6rem 8rem;
}
@media screen and (max-width: 768px) {
  .l-modal__content {
    padding: 3.6rem 2rem;
  }
}

.l-modal__title {
  font-family: "Noto Serif JP", serif;
  font-size: 2.3rem;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .l-modal__title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
}

.l-modal__description {
  margin-bottom: 3rem;
}
.l-modal__description p {
  line-height: 2em;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .l-modal__description p {
    font-size: 1.4rem;
  }
}

.l-modal__section {
  margin-bottom: 3rem;
}

.l-modal__section-header {
  background-color: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-width: 1px 0;
  padding: 0.2rem 0 0.2rem 0.6rem;
  margin-bottom: 2rem;
  position: relative;
}

.l-modal__section-title {
  font-weight: 500;
  line-height: 2;
  text-align: left;
  margin: 0;
  font-size: 1.6rem;
}

.l-modal__section-content p {
  line-height: 2em;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .l-modal__section-content p {
    font-size: 1.4rem;
  }
}

.l-modal__section-list {
  margin: 0;
  padding-left: 2rem;
  list-style: disc;
}
.l-modal__section-list li {
  font-size: 1.6rem;
  font-weight: 350;
  line-height: 2em;
  text-align: left;
}
.l-modal__section-list li::marker {
  font-size: 1rem;
}
.l-modal__section-list li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .l-modal__section-list li {
    font-size: 1.4rem;
  }
}

.l-modal__text-bold {
  font-weight: 500;
}

.l-modal__text-red {
  font-weight: 500;
  color: #ff0000;
}

.l-modal__btn {
  width: 21.4rem;
  height: 5rem;
  margin: 5rem auto 0;
}
.l-modal__btn .c-btn_text {
  font-size: 1.2rem;
}

/* -------------------------------------
下層 目の症状と病気 ページ 共通
------------------------------------- */
.l-symptoms {
  padding-bottom: 16rem;
}
@media screen and (max-width: 1024px) {
  .l-symptoms {
    padding-bottom: 10rem;
  }
}

/* -------------------------------------
下層 2カラム用レイアウト
------------------------------------- */
.l-content {
  display: flex;
  gap: 12.7rem;
  margin-top: 6rem;
}
@media screen and (max-width: 1024px) {
  .l-content {
    flex-direction: column;
    gap: 0;
    margin-top: 4rem;
  }
}
.l-content.--table {
  gap: 6.7rem;
}

.l-content_side {
  width: 21.8rem;
  flex-shrink: 0;
  padding-bottom: 9rem;
}
@media screen and (max-width: 1024px) {
  .l-content_side {
    display: none;
  }
}

.l-content_side_nav {
  position: sticky;
  top: 12rem;
}
@media screen and (max-width: 1024px) {
  .l-content_side_nav {
    position: static;
  }
}

.l-content_main {
  flex: 1;
  min-width: 0;
}

/* -------------------------------------
animation
------------------------------------- */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}