﻿@charset "UTF-8";

* {
  box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
figure {
  margin: 0;
  padding: 0;
  font-family: var(--main-font);
  font-feature-settings: "palt";
  letter-spacing: 1px;
}

p {
  font-size: var(--font-m);
  line-height: 1.8;
  color: var(--font-color);
}

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

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

a {
  color: inherit;
  text-decoration: none;
}

.fade {
  transition: opacity 0.3s ease;
}

.fade:hover {
  opacity: 0.6;
}

:root {
  --main-color: #c43c37;
  --sub-color: #fceeed;
  --font-color: #222222;
  --font-sub-color: #7f7f80;
  --font-s: 13px;
  --font-m: 15px;
  --font-l: 20px;
  --font-xl: 28px;
  --font-xxl: 34px;
}

:root {
  --main-font: 'Zen Kaku Gothic New', sans-serif;
  --sub-font: Roboto;
}

img.mv_ill_sp {
  display: none;
}

/* ----------index---------- */

/* header */

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 3;
  width: 100%;
  height: 80px;
  max-width: 100%;
  padding: 40px 46px;
  background-color: #fff;
}

header .logo {
  display: block;
  width: 32px;
}

.menu_toggle {
  display: none;
}

.menu ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 60px;
}

.menu ul li a {
  font-size: var(--font-s);
  font-weight: 500;
}

li.li_contact {
  background-color: var(--main-color);
  padding: 8px 30px;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}

li.li_contact img {
  display: inline;
  width: 16px;
  margin-right: 6px;
}

li.li_contact p {
  color: #fff;
  display: inline;
  font-size: var(--font-s);
}

.menu_works {
  position: relative;
}

.submenu {
  position: absolute;
  top: 100% !important;
  left: 0;
  display: none !important;
  flex-direction: column;
  background: #fff;
  padding: 10px 0;
  align-content: flex-start;
  align-items: flex-start;
  background: transparent;
  border-radius: 4px;
  bottom: auto;
  gap: 0px !important;
  height: auto;
  justify-content: flex-start;
  left: 0px;
  position: absolute;
  right: auto;
  width: 140px;
  z-index: 1;
  color: var(--main-color);
}

.menu_works:hover .submenu {
  display: flex !important;
  padding-top: 20px;
}

.submenu li {
  align-content: center;
  align-items: center;
  background: #fff;
  border-bottom: 2px solid var(--main-color);
  border-left: 2px solid var(--main-color);
  border-radius: 4px 4px 0px 0px;
  border-right: 2px solid var(--main-color);
  border-top: none;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 0px;
  justify-content: space-between;
  padding: 10px 15px;
  width: 100%;
  max-width: 100%;
}

.submenu li:first-child {
  border-top: 2px solid var(--main-color);
}

.submenu a {
  display: block;
  padding: 1px 10px;
  white-space: nowrap;
  font-weight: 500 !important;
}

.menu_works button {
  border: none;
  background: none;
  font-size: var(--font-s);
  font-weight: 500;
  font-family: var(--main-font);
}

/* mv */

.mv_cover {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin-top: 110px;
}

.mv_ill_cover {
  display: flex;
  position: absolute;
  bottom: 0;
  left: calc(50% - 192.8px);
  z-index: 2;
}

.mv_ill {
  width: 480px;
}

.mv_huki_cover {
  width: 170px;
  position: absolute;
  top: 20%;
  right: -2%;
}

.mv_huki_cover p {
  color: #fff;
  position: absolute;
  top: 30%;
  text-align: center;
  right: 12%;
}

.mv_cover .mv_car_cover {
  width: 100%;
  overflow: hidden;
}

.mv_car_track {
  display: flex;
  position: relative;
  left: calc(50vw - 1053px);
  width: max-content;
  animation: mv-car-scroll 100s linear infinite;
  will-change: transform;
}

.mv_car {
  display: grid;
  flex: 0 0 auto;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, 361.5px);
  grid-auto-columns: 702px;
  row-gap: 26px;
  width: 5096px;
  padding-right: 26px;
  column-gap: 26px;
}

.mv_car .box_owl {
  width: 702px;
  min-width: 702px;
  overflow: hidden;
  background: var(--sub-color);
  border-radius: 18px;
  background-image: url("../img/tensen.png");
  background-repeat: repeat;
  background-size: 58%;
}



.mv_car .box_owl:nth-child(3n) {
  grid-row: span 2;
}

.mv_car .box_owl a,
.mv_car .box_owl img {
  width: 100%;
  height: 100%;
}

.mv_car .box_owl img {
  object-fit: cover;
}

@keyframes mv-car-scroll {
  to {
    transform: translateX(-50%);
  }
}

/* できること */
.can_cover {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding-top: 198px;
  position: relative;
}

.ito {
  position: absolute;
  z-index: -1;
}

.ito_1 {
  width: 631px;
  height: 289px;
  background-image: url("../img/ito_1.svg");
  background-repeat: no-repeat;
  top: 0;
  right: auto;
  left: 189px;
}

.ito_2 {
  width: 494px;
  height: 676px;
  background-image: url("../img/ito_2.svg");
  background-repeat: no-repeat;
  top: 181px;
  right: auto;
  left: -519px;
}

.can_box_cover {
  display: flex;
  justify-content: space-between;
  gap: 2%;
  padding-top: 58px;
}

.can_box {
  width: 31%;

}

.can_box h3 {
  font-size: var(--font-xl);
  padding: 30px 0;
  text-align: center;
  font-weight: 500;
}

.can_box img {
  width: 220px;
  margin: 0 auto;
}

h1.mh1 {
  color: var(--main-color);
  font-size: var(--font-xxl);
}

h2.mh2 {
  color: var(--main-color);
  font-size: var(--font-xxl);
}

.mh1 span {
  font-size: var(--font-l);
  padding-left: 20px;
}

/* 制作実績 */

.works_cover {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding-top: 150px;
  position: relative;
}

.ito_3 {
  width: 716px;
  height: 153px;
  background-image: url("../img/ito_3.svg");
  background-repeat: no-repeat;
  top: 123px;
  right: auto;
  left: 150px;
}

.ito_4 {
  width: 1109px;
  height: 517px;
  background-image: url("../img/ito_4.svg");
  background-repeat: no-repeat;
  bottom: -416px;
  right: auto;
  left: 89px;
  transform: rotate(-3deg);
}

.button {
  background-color: var(--main-color);
  width: 30%;
  margin: 60px auto 0px;
  color: #fff;
  padding: 12px 0;
  text-align: center;
  font-size: var(--font-m);
  border-radius: 4px;
  font-weight: 500;
}

.works_car_cover {
  width: 100%;
  padding-top: 70px;
}

.works_carousel .box_owl {
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-width: 0;
  scroll-snap-align: start;
}

.works_carousel {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(2, 247.5px);
  grid-auto-columns: calc((100% - 23px) / 3);
  column-gap: 12px;
  row-gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

.works_carousel.is-dragging {
  scroll-snap-type: none;
  cursor: grabbing;
  user-select: none;
}

.works_carousel::-webkit-scrollbar {
  display: none;
}

.works_carousel .box_owl:nth-child(3n) {
  grid-row: span 2;
}

.works_carousel .box_owl a {
  display: block;
  min-height: 0;
  overflow: hidden;
  background: var(--sub-color);
  border-radius: 8px;
  background-image: url("../img/tensen.png");
  background-repeat: repeat;
  background-size: 80%;
}

.works_carousel .box_owl img {
  width: 100%;
  object-fit: cover;
  height: 100%;
}

.works_carousel .box_owl p {
  padding-top: 6px;
  font-weight: 500;
  text-align: justify;
}

.works_dots {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 24px;
}

.works_dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--sub-color);
  cursor: pointer;
}

.works_dots button.active,
.works_dots button:hover {
  background: var(--main-color);
}

p.wp-block-paragraph {
  padding-top: 24px;
}

h1.mh1_workspage {
  font-size: var(--font-xl);
  padding-top: 24px;
  line-height: 1.2;
}

/* ブログ */
.blog_cover {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding-top: 150px;
  position: relative;
}

.ito_5 {
  width: 494px;
  height: 619px;
  background-image: url("../img/ito_5.svg");
  background-repeat: no-repeat;
  top: 167px;
  right: auto;
  left: -451px;
  transform: rotate(-10deg);
}

.comingsoon {
  width: 100%;
  background-color: #f1f1f1;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 160px 0;
  margin-top: 70px;
}

.comingsoon p {
  font-size: var(--font-l);
  font-style: italic;
  color: var(--font-sub-color);
}


/* お問い合わせバナー */
.contact_cover {
  background-image: url("../img/contact_ban.png");
  background-size: cover;
  margin-top: 150px;
}

.mh2_contact {
  color: #fff;
  font-size: var(--font-xxl);
  padding: 100px 0 10px;
  text-align: center;
  font-weight: 500;
}

.contact_cover p {
  color: #fff;
  text-align: center;
  font-size: var(--font-m);
}

.contact_button {
  margin: 50px auto 0;
}

/* footer */

footer {
  padding-top: 70px;
}

footer .menu_works button {
  padding: 0;
}

ul.submenu_footer {
  color: var(--font-sub-color);
  display: flex;
  flex-direction: column;
  padding-top: 8px;
  gap: 3px;
  font-size: var(--font-s);
}

.contact_button_cover {
  padding-bottom: 50px;
}

p.logo_txt {
  font-weight: 500;
  font-size: var(--font-s);
}

.footer_logo_cover {
  width: 50%;
  margin: 0 auto;
  text-align: center;
  padding-top: 70px;
}

footer .menu ul {
  align-items: self-start !important;
}

.footer_logo {
  width: 44px;
  margin: 0 auto;
  padding: 14px 0 56px;
}

.copyright {
  text-align: center;
  padding: 5px 0;
  background-color: #f1f1f1;
}

.copyright p {
  color: var(--font-sub-color);
  font-size: var(--font-s);
}


/* owl */

.owl-carousel_nav .owl-next,
.owl-carousel_nav .owl-prev {
  top: 35%;
}

.other .owl-next,
.other .owl-prev {
  top: 54%;
}

.owl-controls {
  right: 0;
  left: 0;
  bottom: 0;
  margin: 0 !important;
}

.owl-next {
  z-index: 99999;
  position: absolute;
  top: 47%;
  right: 1%;
  clear: both;
  display: block !important;
  background-image: url(../img/owl_arrow_r.png) !important;
  background-size: contain !important;
  width: 1.5rem;
  height: 1.5rem;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat !important;
  background-position: left !important;
  background-color: transparent !important;
  font-size: 0 !important;
}

.owl-prev {
  z-index: 99999;
  position: absolute;
  top: 47%;
  left: 1%;
  clear: both;
  display: block !important;
  background-image: url(../img/owl_arrow_l.png) !important;
  background-size: contain !important;
  width: 1.5rem;
  height: 1.5rem;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background-repeat: no-repeat !important;
  background-position: right !important;
  background-color: transparent !important;
  font-size: 0 !important;
}

.owl-dots {
  position: absolute;
  bottom: 1rem;
  right: 0;
  left: 0;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

.owl-theme .owl-dots .owl-dot span {
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  margin: 0.5rem;
  background: #FFF;
  position: relative;
  opacity: 0.7;
}

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
  background: #fff !important;
  opacity: 1;
}

.owl-item {
  height: 100%;
}

.owl-stage {
  height: 100%;
}

.owl-stage-outer {
  height: 100% !important;
}

.owl-carousel {
  height: 100% !important;
}

.owl-carousel.owl-loaded,
.owl-stage-outer,
.owl-stage,
.owl-item .cloned {
  height: 100%;
}

/* ----------制作実績 一覧---------- */

.tate {
  display: inline-block;
  height: 11px;
  border-left: 1px solid var(--font-sub-color);
  margin: 0 6px;
}

.works_arc_cover {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding-top: 150px;
  position: relative;
}

.works_arc_cover .mh2 {
  display: flex;
  align-items: center;
}

.mh2 span {
  font-size: var(--font-l);
  padding-left: 20px;
}

.works_list_cover {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 40px 0;
  padding-top: 70px;
}

.works_list {
  width: 31%;
}

.works_list p {
  font-weight: 500;
  padding-top: 4px;
}

.category {
  color: var(--font-sub-color);
  font-size: var(--font-s);
  padding: 0 !important;
  line-height: 1.4;
}

.list_img {
  display: block;
  min-height: 0;
  overflow: hidden;
  background: var(--sub-color);
  border-radius: 8px;
  background-image: url("../img/tensen.png");
  background-repeat: repeat;
  background-size: 80%;
}

/* ----------制作実績 各ページ---------- */
.workspage_cover {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding-top: 150px;
  position: relative;
}

.works_page_sp {
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding-top: 50px;
  width: 100%;
}

.works_page_sp img {
  width: 32.6%;
}

.works_page_mv_cover {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.works_page_mv {
  width: 62%;
  background-color: #f7f7f7;
  border-radius: 12px;
  background-image: url(../img/tensen_gray.png);
  background-repeat: repeat;
  background-size: 82%;
}

.works_page_txt {
  width: 38%;
}

.works_page_img {
  padding-top: 100px;
}

.works_page_content {
  width: 90%;
  margin: 0 0 0 auto;
  text-align: justify;
}

p.client {
  color: var(--main-color);
  border-bottom: 1px solid;
  display: inline;
  font-weight: 500;
}

h3.mh3 {
  font-size: var(--font-xl);
  line-height: 1.2;
  padding-top: 20px;
}

p.page_txt {
  padding-top: 24px;
}

.txt_cover {
  padding-top: 20px;
}

.box_txt.page_detail {
  display: flex;
  justify-content: flex-start;
  gap: 20px;
  text-align: justify;
  padding-bottom: 0px;
}

.box_txt.page_detail p {
  color: var(--font-sub-color);
  font-size: var(--font-s);
  line-height: 1.6;
}

p.box_txt1 {
  width: 14%;
}

p.box_txt2 {
  width: 86%;
}

.button_workspage {
  width: 60%;
  margin: 60px 0 0 0;
}

/* ----------お問い合わせ---------- */
.contactpage_cover {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding-top: 150px;
  position: relative;
}

.huki_ill {
  width: 10%;
}

.contact_huki_cover {
  display: flex;
  justify-content: flex-start;
  padding-top: 50px;
  align-items: center;
  gap: 36px;
}

.huki_txt {
  width: 45%;
  background-color: var(--sub-color);
  padding: 20px 30px;
  text-align: justify;
  border-radius: 8px;
  position: relative;
}

.huki_txt::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 14px solid var(--sub-color);
  border-right: 0;
  left: -11px;
  transform: rotate(180deg);
  top: 32px;
  border-radius: 10px;
}

.contact_form_cover {
  /* padding-top: 30px; */
  width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  /* gap: 24px; */
  border-top: 1px solid #dedddd;
  margin-top: 70px;
}

.contactpage_cover em {
  font-size: var(--font-s);
  color: var(--main-color);
  font-weight: 100;
  font-style: normal;
}

.smf-item .smf-item__col--label {
  font-weight: 500;
  font-size: var(--font-m);
  width: 22%;
}

.smf-item {
  display: flex;
  justify-content: flex-start;
  border-bottom: 1px solid #dedddd;
  padding: 24px 0;
  width: 100%;
}

.smf-button-control__control[data-action="back"] {
  background-color: #fff !important;
  border: 1px solid var(--main-color) !important;
  color: var(--main-color) !important;
  margin: 20px auto 0px !important;
}

.smf-complete-content {
  text-align: center;
  padding-top: 100px;
}

.smf-select-control {
  width: 100%;
}

textarea#content {
  padding-bottom: 140px;
}

.smf-item__col--controls {
  width: 78%;
}

select.smf-select-control__control {
  width: 100%;
}

input.smf-text-control__control {
  width: 100%;
}

.smf-action .smf-button-control__control {
  background-color: var(--main-color);
  width: 30%;
  margin: 20px auto 100px;
  color: #fff;
  padding: 12px 0;
  text-align: center;
  font-size: var(--font-m);
  border-radius: 4px;
  font-weight: 500;
  border: none;
  font-family: var(--main-font);
  background-image: unset;
}

.smf-action {
  text-align: center;
  padding-top: 30px;
}

/* ----------糸について---------- */
.aboutpage_cover {
  width: 1200px;
  max-width: 90%;
  margin: 0 auto;
  padding-top: 150px;
  position: relative;
}

.about_txt {
  padding: 30px 0 160px;
  text-align: justify;
}

.about_txt p {
  font-size: var(--font-l);
  padding-top: 30px;
}

.about_prof {
  width: 1200px;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  position: relative;
  align-items: center;
  background-color: var(--sub-color);
  border-radius: 10px;
  background-image: url(../img/tensen.png);
  background-repeat: repeat;
  background-size: 48%;
}

.prof_txt_cover {
  display: flex;
  justify-content: space-between;
  gap: 2%;
  width: 88%;
  padding-top: 226px;
  padding-bottom: 50px;
}

.prof_icon_cover {
  width: 15%;
  position: absolute;
  top: -12%;
  text-align: center;
}

.prof_icon_cover span {
  display: block;
  font-size: var(--font-s);
  padding-top: 4px;
}

.prof_icon_cover h3 {
  padding-top: 24px;
}

.box h3 {
  background-color: #fff;
  text-align: center;
  padding: 5px 0;
  font-size: var(--font-m);
  color: var(--main-color);
}

.box {
  width: 31%;
}

.box img {
  width: 159px;
  margin: 0 auto;
  padding-top: 25px;
}

.box_txt {
  display: flex;
  justify-content: space-between;
  padding-bottom: 14px;
}

.prof_txt_cover .box .box_txt1 {
  width: 30%;
}

.prof_txt_cover .box .box_txt2 {
  width: 70%;
}

.txtmail {
  display: block;
}

p.box_txtbbig {
  font-size: var(--font-l);
  font-weight: 500;
  line-height: 1;
  padding-bottom: 10px;
}



/* -----------SP----------- */

@media screen and (max-width: 767px) {

  /* 全体 */
  main {
    overflow: hidden;
    position: relative;
  }

  .can_cover,
  .works_cover,
  .blog_cover {
    width: 100%;
    max-width: 100%;
  }

  :root {
    --font-s: 12px;
    --font-m: 14px;
    --font-l: 18px;
    --font-xl: 22px;
    --font-xxl: 30px;
  }

  img.mv_ill_sp {
    display: block;
  }

  /* index*/

  section.mv_cover {
    margin: 60px 0;
    z-index: 4;
  }

  .can_box {
    width: 90%;
  }

  .can_box_cover {
    padding-top: 20px;
    flex-direction: column;
    text-align: justify;
  }

  .can_box {
    width: 85%;
    margin: 0 auto;
    padding-bottom: 26px;
  }

  .can_box h3 {
    padding: 10px 0;
  }

  .can_box img {
    width: 180px;
  }

  h2.mh2 {
    width: 85%;
    margin: 0 auto;
  }

  section.works_cover {
    width: 100%;
    max-width: none;
    padding-top: 90px;
  }

  .works_carousel {
    width: 100%;
    grid-auto-columns: 80vw;
    padding-left: 16px;
    padding-right: 0;
    scroll-padding-left: 16px;
    scroll-padding-right: 0;
    scroll-snap-type: x mandatory;
    cursor: grab;
  }

  .works_carousel .box_owl {
    scroll-snap-align: center;
  }

  .works_carousel .box_owl a {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .works_carousel .box_owl img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform: scale(1.2);
  }

  .comingsoon {
    width: 85%;
    margin: 40px auto 0;
    padding: 100px 0;
  }

  .contact_cover {
    margin-top: 100px;
    background-image: url(../img/contact_ban_sp.png);
    background-size: cover;
  }

  .mh2_contact {
    font-size: 26px;
    padding: 60px 0 10px;
  }

  .contact_cover p {
    width: 80%;
    margin: 0 auto;
  }

  .button {
    width: 70%;
    margin: 60px auto 0px !important;
    color: #fff;
  }

  .footer_logo_cover {
    width: 80%;
    padding-top: 50px;
  }

  .menu ul {
    display: flex;
    justify-content: center;
    align-items: center !important;
    gap: 27px;
    width: 85%;
    margin: 0 auto;
    flex-wrap: wrap;
  }

  .menu ul.submenu_footer {
    gap: 6px;
  }

  .mv_ill {
    display: none;
  }

  .mv_ill_sp {
    width: 340px;
  }

  .mv_ill_cover {
    left: calc(50% - 163.8px);
  }

  .mv_huki_cover {
    width: 136px;
    top: 17%;
    right: -1%;
  }

  .mv_huki_cover p {
    top: 29%;
    right: 7%;
    font-weight: 500;
    line-height: 1.6;
  }

  .mv_car .box_owl {
    width: 493px;
    min-width: 493px;
    overflow: hidden;
    border-radius: 10px;
    background-size: 58%;
  }

  .mv_car {
    display: grid;
    flex: 0 0 auto;
    grid-auto-flow: column;
    grid-template-rows: repeat(2, 274.5px);
    grid-auto-columns: 493px;
    row-gap: 16px;
    width: 3563px;
    padding-right: 16px;
    column-gap: 16px;
  }

  nav.menu {
    display: none;
  }

  header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 60px;
    max-width: 100%;
    padding: 0 20px;
    background-color: #fff;
    position: fixed;
    z-index: 7;
  }

  .menu_toggle {
    display: block;
    position: relative;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    z-index: 2;
  }

  .menu_toggle span,
  .menu_toggle span::before,
  .menu_toggle span::after {
    display: block;
    position: absolute;
    left: 7px;
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background-color: var(--main-color);
    transition: transform 0.3s ease, opacity 0.3s ease;
    content: '';
  }

  .menu_toggle span {
    top: 19px;
  }

  .menu_toggle span::before {
    top: -8px;
    left: 0;
  }

  .menu_toggle span::after {
    top: 8px;
    left: 0;
  }

  .menu_toggle.is-open span {
    background-color: transparent;
  }

  .menu_toggle.is-open span::before {
    transform: translateY(8px) rotate(45deg);
  }

  .menu_toggle.is-open span::after {
    transform: translateY(-8px) rotate(-45deg);
  }

  header>nav.menu.is-open {
    display: block;
    position: absolute;
    z-index: 100;
    top: 100%;
    right: 0;
    width: 60%;
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
    overflow-y: auto;
    padding: 0;
    background-color: #fff;
    box-shadow: 0 8px 16px rgb(0 0 0 / 8%);
  }

  header>nav.menu>ul {
    flex-direction: column;
    gap: 22px;
    width: 100%;
    flex-wrap: nowrap;
    padding: 20px 0 0 30px;
    align-items: flex-start !important;
  }


  header .submenu {
    display: flex !important;
    position: static;
    width: auto;
    gap: 10px !important;
    align-items: flex-start !important;
    flex-wrap: nowrap;
    /* width: 46%; */
    color: var(--font-sub-color);
  }

  .menu ul li a {
    font-size: var(--font-m);
    padding: 0;
  }

  .menu_works button {
    font-size: var(--font-m);
    padding: 0;
  }

  header .submenu li {
    width: auto;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .works_car_cover {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
  }

  .works_car_cover {
    padding-top: 40px;
  }

  footer .menu {
    display: block;
  }

  .can_cover {
    padding-top: 120px;
  }

  .ito_sp {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    background: url(../img/ito_sp.svg) no-repeat;
    top: 0;
  }

  .ito_1 {
    width: 125px;
    height: 321.5px;
    background-image: url("../img/ito_1_sp.svg");
    background-repeat: no-repeat;
    top: calc(50% - 737px);
    right: auto;
    left: calc(50% + -26px);
    z-index: 5;
  }

  .ito_2 {
    width: 62.5px;
    height: 62px;
    background-image: url("../img/ito_2_sp.svg");
    background-repeat: no-repeat;
    top: calc(50% - 410px);
    right: auto;
    left: 0;
  }

  .ito_3 {
    width: 58px;
    height: 152.5px;
    background-image: url("../img/ito_3_sp.svg");
    background-repeat: no-repeat;
    top: calc(50% - 429px);
    right: auto;
    left: 0;
  }

  .ito_4 {
    width: 112.5px;
    height: 81.5px;
    background-image: url("../img/ito_4_sp.svg");
    background-repeat: no-repeat;
    top: calc(50% - 305px);
    right: auto;
    left: calc(50% - 31px);
    transform: rotate(0deg);
  }

  .ito_5_sp {
    width: 249px;
    height: 206px;
    background-image: url("../img/ito_5_sp.svg");
    background-repeat: no-repeat;
    top: calc(50% + 412px);
    left: calc(50% + -51px);
    transform: rotate(0deg);
  }

  .ito_6_sp {
    width: 237.5px;
    height: 426.5px;
    background-image: url("../img/ito_6_sp.svg");
    background-repeat: no-repeat;
    top: calc(50% + 412px);
    left: calc(50% + -51px);
  }

  .ito.ito_5 {
    display: none;
  }

  .ito_6_sp {
    width: 237.5px;
    height: 426.5px;
    background-image: url("../img/ito_6_sp.svg");
    background-repeat: no-repeat;
    top: calc(50% - 92px);
    left: calc(50% - 351px);
  }


  .submenu li:first-child {
    border-top: none;
  }

  .submenu li {
    display: block;
    border-bottom: 0.5px solid #a7a6a6;
    width: 90%;
    padding-bottom: 14px;
  }

  .menu_works {
    border-bottom: 0.5px solid #a7a6a6;
    width: 90%;
    padding-bottom: 14px;
  }

  footer li.menu_works {
    border-bottom: none;
    text-align: center;
  }

  footer .menu ul {
    align-items: center !important;
  }

  header ul li {
    border-bottom: 0.5px solid #a7a6a6;
    width: 90%;
    padding-bottom: 14px;
  }

  footer .menu ul {
    gap: 19px;
    width: 85%;
    flex-direction: column;
  }

  footer .menu_works {
    padding-bottom: 0;
  }

  /* 糸について */

  .aboutpage_cover,
  .workspage_cover,
  .contactpage_cover,
  .works_arc_cover {
    width: 100%;
    max-width: 100%;
  }

  .about_txt {
    width: 85%;
    margin: 0 auto;
    padding: 0 0 110px;
  }

  .about_prof {
    width: 85%;
    background-size: 115%;
  }

  .prof_txt_cover {
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
    gap: 33px;
    padding-top: 54%;
  }

  .box {
    width: 100%;
  }

  .box img {
    width: 130px !important;
  }

  .txt_cover p {
    line-height: 1.5;
  }

  .prof_icon_cover {
    width: 33%;
    position: absolute;
    top: -4%;
    text-align: center;
  }

  h1.mh1 {
    width: 85%;
    margin: 0 auto;
  }

  /* contact */

  .huki_ill {
    width: 24%;
  }

  .huki_txt {
    width: 69%;
    background-color: var(--sub-color);
    padding: 20px;
    text-align: justify;
    border-radius: 8px;
    position: relative;
  }

  .contact_huki_cover {
    width: 90%;
    margin: 0 auto;
    position: relative;
    align-items: flex-start;
    gap: 25px;
  }

  .huki_txt p {
    letter-spacing: 0.2px;
  }

  .contact_form_cover {
    width: 85%;
  }

  .smf-item {
    flex-direction: column;
  }

  .smf-item .smf-item__col--label {
    width: 100%;
    padding-bottom: 10px;
  }

  .smf-item__col--controls {
    width: 100%;
  }

  .smf-select-control {
    width: 100%;
  }

  .smf-action .smf-button-control__control {
    width: 70%;
  }

  /* works一覧 */

  .works_list {
    width: 100%;
  }

  .works_list_cover {
    width: 85%;
    margin: 0 auto;
    gap: 28px 0;
    padding-top: 50px;
  }

  .mh2 span {
    font-weight: 100;
  }

  .works_list p {
    font-weight: 100;
    padding-top: 8px;
  }

  /* 制作実績 各ページ */

  .works_page_mv_cover {
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
  }

  .works_page_mv {
    width: 85%;
    border-radius: 8px;
    background-size: 120%;
  }

  .works_page_txt {
    width: 85%;
    padding-top: 30px;
  }

  .works_page_content {
    width: 100%;
  }

  .box_txt {
    padding-bottom: 2px;
  }

  .works_page_img {
    padding-top: 80px;
    width: 85%;
    margin: 0 auto;
  }

  .works_page_sp img {
    width: 48%;
  }

  .works_page_sp {
    display: flex;
    gap: 24px 12px;
    justify-content: space-between;
    width: 100%;
    flex-wrap: wrap;
    padding: 50px 0 0 0;
  }

  .workspage_cover .button {
    margin: 40px auto 0px !important;
  }

  .workspage_cover {
    padding-top: 100px;
  }

}