@charset "utf-8";
/****************
responsive
****************/
@media (max-width: 1280px) {
  .global_nav__wrap {
    display: none;
  }
  .humberger {
    display: block;
  }
  .subnav {
    margin-top: revert;
  }
  .sp_nav__list {
    padding: 3em 2%;
  }
}

@media (max-width: 767px) {
  :root{
    font-size: 14px;
    --size-main: 1.5rem;
    --space-ll: 24px;
    --letterspace-m: revert;
  }
  .body_inner {
    display: block;
  }
  .theme {
    padding-inline: 5%;
  }
  .theme_img {
    width: auto;
    height: min(500px, 100%);
  }
  .theme_img img {
    width: auto;
    margin-inline: auto;
    height: 100%;
  }
  .line_theme {
      grid-template-columns: 40px 1fr 40px;
      width: 95%;
  }
  .cate_title {
      font-size: 4rem;
      margin-top: -58px;
  }
  .parallax_content {
    height: 145px;
  }
  .parallax_content.img_bg_01::after {
    background: url(../img/bouquet.png) repeat-y;
    background-size: contain;
    background-position: center;
  }
  .parallax_content.img_bg_02::after {
    background: url(../img/lac.png) repeat-y;
    background-size: contain;
    background-position: center;
  }
  .opening-logo p {
    font-size: 5vw;
  }
  .section_title p {
    right: -10px;
  }
  .message {
    font-size: 1.8rem;
  }
  .main_theme_txt {
    margin-left: revert;
  }
  .late_line {
    font-size: 3.8vw;
}
  .line_theme:after {
    margin-left: revert;
  }
}
@media (max-width: 520px) {
  .sp_nav__wrap {
    padding: 40px 10vw 10vw;
  }
  .sp_nav__list {
    padding: 3em 2% 16px;
  }
  .change_lang {
    font-size: 1.8rem;
  }
  .sp_only {
    display: revert;
  }
  body { 
    font-weight: 500;
    -webkit-text-size-adjust: 100%;
  }
  .content__text__wrap {
    width: 95%;
  }
  .theme_title {
    font-size: 5vw;
  }
  .main_theme_txt {
    min-height: 245px;
  }
  .line_theme {
    grid-template-columns: 30px 1fr 30px;
    width: 95%;
    letter-spacing: .5vw;
    font-size: 5vw;
  }
  .late_line {
    font-size: 3.6vw;
  }
  .section_title .name {
    font-size: 10vw;
  }
  .section_title p {
      font-size: 6vw;
  }
  .theme_title, .late_line {
    font-weight: 500;
  }
  .theme_txt {
    font-size: 3.3vw;
    letter-spacing: revert;
    font-weight: 500;
  }
  .item_description {
    font-size: 3.35vw;
  }
  .about_message {
    font-weight: 500;
    padding: 10px;
    letter-spacing: 0;
  }
  #area-3 .section_title {
    gap: 8px;
  }
  .message {
  font-size: 5vw;
  }
  #area-5 .message {
    letter-spacing: .3rem;
  }
  .cate_title {
    font-size: 10vw;
    margin-top: -47px;
  }
  .item_description p {
    font-weight: 500;
  }
  .main_theme_txt, .theme_txt {
    text-align: center;
  }
  .cate02 .theme_txt {
    align-items: center;
  }

}
@media (max-width: 400px) {
  :root{
    font-size: 12px;
    --space-huge: 60px;
    --space-large: 50px;
    --space-lll: 40px;
    --space-ll: 30px;
    --space-l: 28px;
    --space-mm: 20px;
  }
  body {
    font-weight: 500;
  }
  .theme_title {
    font-size: 5vw;
  }
  .main_theme_txt {
    min-height: 180px;
  }
  .site_logo {
    width: 200px;
  }
  .scroll {
    bottom: 40px;
  }
  .content__inner {
    width: 90%;
  }
  .content__text__wrap {
    width: 86%;
  }
  .item_dl {
    grid-template-columns: 120px 1fr;
  }
  .line_theme {
    grid-template-columns: 30px 1fr 30px;
  }
  .section_title, .item_title {
    gap: 8px;
  }
  .message {
    font-size: 6.2vw;

  }

}