/* ===================== ハンバーガーメニュー ===================== */
#switch ~ label {
  padding: 12px 12px;
  width: 60px;
  height: 60px;
  position: fixed;
  box-sizing: border-box;
  right: 0;
  z-index: 999;
  cursor: pointer;
  margin-right: 30px;
}
#switch ~ label span{
  display: block;
  width:22px;
  height:2px;
  top: 50%;
  left: 0;
  right: 0;
  margin:auto;
  background: var(--main);
  position: absolute;
  -webkit-transition: 0.2s transform;
  transition: 0.2s transform;
}
#switch ~ label span:before,
#switch ~ label span:after{
  content: "";
  display: block;
  background: var(--main);
  position: absolute;
  width:22px;
  height:2px;
  left: 0;
  right: 0;
  margin: auto;
}
#switch ~ label span:before{
  top: -9px;
}
#switch ~ label span:after{
  top: 9px;
}
#switch:checked ~ label span{
  -webkit-transform:rotate(-45deg) ;
  transform:rotate(-45deg) ;
  }
  #switch:checked ~ label span:before{
  top:0;
  }
  #switch:checked ~ label span:after{
  -webkit-transform:rotate(270deg);
  transform:rotate(270deg);
  top:0;
  margin-top:0;
  }
  #switch:checked ~ #navwrap { 
  display: block; 
  top: 0;
  }
#navwrap{
  padding-top: 0;
  position: fixed;
  top: -200%;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #f7f7f7;
  transition: all 0.4s;
  /* padding: 60px; */
  box-sizing: border-box !important;
}

.header_menu{
  display: flex;
  flex-direction: column;
  margin-top: 104px;
}
.header_menu li{
  margin: 0 auto 30px;
}
.header__buttons {
  flex-direction: column;
}

.fix_menu {
  padding: 8px 20px;
  box-sizing: border-box;
  overflow: hidden; /* 応急処置になるけど確実 */
}


/* メインビジュアル */
.mv_all {
    display: block;
}
.catch-copy {
  font-size: 45px;
  line-height: 1.4;
}
.sub-copy {
  font-size: 18px;
}
.image_wrapper {
    display: none;
}
.about__grid {
  display: block;
}
/* サービス */
.service_all,.about_inner {
    display: block;
}
.service_container {
    width: 100%;
    margin-bottom: 24px;
}
.btn_twins {
    display: block;
    width: 100%;
}

.bnr_ocat {
    max-width: 100%;
}

.btn {
    width: 50%;
    margin-bottom: 10px;
}
.btn--basic {
   padding: 20px 20px;
}
.sp-none {
    display: none;
}
.pc-none {
    display: block!important;
}
.section_all {
  padding-top: 72px;
  padding-bottom: 72px;
}
/* 企業理念 */
.scroll-infinity__item {
    width: calc(100vw / 4);
}
.about_text {
  margin-right: 0;
}
.about__photo img {
    width: 100%;
}
/* トップページ */
.scroll-top-mv {
    padding-top: 26vh;
    display: block;
}
/* メインビジュアル */

.section_title {
  font-size: 64px;
  line-height: 1;
  margin-bottom: 20px;
}
.top_mv_all {
  max-width: 100%;
  padding: 0;
}
