@media screen and (min-width: 541px) {
  /* structure
  ====================================================================================================================================== */
  #main_contents_area {
    zoom: 1.2;
  }
  .cms-ready #side_menu {
    top: 46px;
    height: calc(100dvh - 46px);
  }
  /* contents
  ====================================================================================================================================== */
}

@media screen and (min-width: 541px) and (max-width: 768px) {
  #merit .merit_header .decoration01 {
    width: 25%;
    top: -9%;
    left: -9%;
  }
  #merit .merit_header .decoration02 {
    width: 11%;
    top: 14%;
    right: -1%;
  }
  #merit .merit_header .decoration03 {
    width: 11%;
  }
  #merit .merit_header .decoration04 {
    width: 23%;
    bottom: 11%;
    right: -10%;
  }
}

@media screen and (min-width: 769px) {
  /* sp */
  .pc_tb {
    display: block !important;
  }
  /* structure
  ====================================================================================================================================== */
  #all_wrap {
    position: relative;
  }
  #main_contents_area {
    zoom: 1.4;
    width: calc(560px / 1.4);
    margin: 0 auto;
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.06);
  }
  #button_menu_open {
    top: calc(7px / 1.4);
  }
  #side_menu {
    translate: 0;
    background: transparent;
    right: auto;
    left: calc(50% + 560px / 2);
    bottom: 50px;
    width: 310px;
    padding: 0 0 0 50px;
  }
  #side_menu .side_inner {
    padding-bottom: 0;
  }
  #side_menu .to_top {
    display: none;
  }
  #side_menu .button_contact {
    margin-bottom: 0;
  }
  #side_menu .menu_close {
    display: none;
  }
  .cms-ready #side_menu, #side_menu {
    top: auto;
    height: auto;
  }
  #button_menu_open,
  #button_menu_close {
    display: none;
  }
  #left_area {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: calc(50% - 560px / 2);
    height: 100vh;
    padding: 75px 90px 0 0;
    display: flex;
    justify-content: flex-end;
  }
  #left_area .bg_image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  #left_area .bg_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #left_area .logo_lead_area .logo {
    width: 180px;
    margin-bottom: 4em;
  }
  #left_area .logo_lead_area .logo a {
    transition: .2s;
    color: #111;
    font-weight: normal;
    text-decoration: none;
  }
  #left_area .logo_lead_area .logo span {
    display: block;
    font-size: 0.94rem;
    text-align: center;
  }
  #left_area .logo_lead_area .logo img {
    width: 100%;
  }
  #left_area .logo_lead_area .lead_text {
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.32;
  }
  #left_area .logo_lead_area .lead_text p {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    gap: 1.7em;
  }
  #left_area .logo_lead_area .lead_text p span {
    display: block;
    width: 1em;
  }
}

@media screen and (min-width: 769px) and (hover: hover) {
  #left_area .logo_lead_area .logo a:hover {
    opacity: 0.8;
  }
}

@media screen and (min-width: 769px) {
  .cms-ready #left_area {
    top: 46px;
    height: calc(100vh - 46px);
  }
  /* header
  ====================================================================================================================================== */
  #header {
    padding: 0;
    height: 0;
    position: static;
  }
  #site_title, #entry_link {
    display: none;
  }
  /* contents
  ====================================================================================================================================== */
  #page_title_wrap {
    margin-top: 0;
  }
  #conts {
    padding-top: 15px;
  }
  #conts.top {
    padding-top: 20px;
  }
  #main_visual {
    margin-top: 0;
  }
  /* side_fixed_box
  ====================================================================================================================================== */
  .top_page {
    right: calc(50% - 560px / 2 + 15px);
    width: 45px;
  }
}
