@charset "utf-8";
/* CSS Document */
.section-top h1 {
  font-size: 1rem;
  text-align: center;
  margin: 128px 24px 56px; /*ヘッダーの高さ48px分もトップにつける。パソコン版はヘッダー高さ75px*/
}
@media(min-width:800px) {
  .section-top h1 {
    font-size: 1.125rem;
    margin: 155px 24px 56px;
  }
}
.section-top__description__container01, .section-top__description__container02 {
  background-color: #ffffff;
  border: solid 8px #dedede;
  border-radius: 20px;
  margin: 16px;
  padding: 24px;
  min-width: 150px;
  max-width: 280px;
  width: 100%;
  height: auto;
  text-align: center;
}
.section-top__description__container01 h2, .section-top__description__container02 h2 {
  margin: 0 auto 16px;
}
.section-top__description__container01 ul, .section-top__description__container02 ul {
  list-style: none;
  text-align: left;
  display: inline-block;
}
.section-top__description {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
.section-top__massage {
  text-align: center;
  font-size: 0.875rem;
  margin: 40px auto;
  padding: 0 24px;
}
.decoration-line01 img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  vertical-align: bottom;
}
.section-work01 {
  background-image: url("bg.png");
  background-repeat: repeat;
  background-size: contain;
  width: 100%;
  padding: 56px 16px 24px;
  align-items: center;
}
.section-work01 h2 {
  text-align: center;
  padding-top: 16px;
  margin-bottom: 56px;
  font-size: 1.25rem;
}
.section-work__text__container {
  text-align: center;
  margin: 32px auto 120px;
}
.section-work__text__container-bg {
  background-color: rgba(255, 255, 255, 1);
  max-width: 720px;
  padding: 24px 16px;
  margin: 0 auto;
}
.section-work__text__container ul {
  list-style: none;
  display: inline-block;
  text-align: left;
  font-size: 0.8125rem;
}
.section-work__text__container img {
  max-width: 720px;
  min-width: 200px;
  width: 100%;
  height: auto;
  objecct-fit: cover;
  vertical-align: bottom;
  margin: 0 auto;
}
.section-work__wire__container {
  margin: 0 auto;
  text-align: center;
  font-size: 0.8125rem;
}
.section-work__wire__container nav {
  margin: 160px auto 32px;
}
.section-work__wire__container img {
  max-width: 720px;
  min-width: 200px;
  width: 100%;
  height: auto;
  objecct-fit: cover;
  vertical-align: bottom;
  margin: 0 auto;
}
.section-work__comps__container {
  margin: 0 auto 24px;
  text-align: center;
  font-size: 0.8125rem;
}
.section-work__comps__container nav {
  margin: 160px auto 32px;
}
.section-work__comps__container img {
  max-width: 720px;
  min-width: 200px;
  width: 100%;
  height: auto;
  objecct-fit: cover;
  vertical-align: bottom;
  margin: 0 auto;
}
@media(min-width:800px) {
  .section-work01 {
    background-color: #f7f7f7;
    padding: 4px 64px 56px;
    align-items: center;
  }
  .section-work__text__container {
    text-align: center;
    margin: 64px auto 160px;
  }
  .section-work__text__container img {
    max-width: 1000px;
  }
  .section-work__text__container-bg {
    background-color: rgba(255, 255, 255, 1);
    max-width: 720px;
    padding: 32px;
    margin: 0 auto;
  }
  .section-work__text__container ul {
    list-style: none;
    display: inline-block;
    text-align: left;
    font-size: 1rem;
  }
  .section-work__wire__container {
    font-size: 1rem;
  }
  .section-work__wire__container img {
    max-width: 800px;
    min-width: 200px;
    width: 100%;
    height: auto;
    objecct-fit: cover;
    vertical-align: bottom;
    margin: 0 auto;
  }
  .section-work__comps__container {
    font-size: 1rem;
  }
  .section-work__comps__container img {
    max-width: 800px;
    min-width: 200px;
    width: 100%;
    height: auto;
    objecct-fit: cover;
    vertical-align: bottom;
    margin: 0 auto;
  }
}
.section-work02 {
  width: 100%;
  padding: 56px 16px;
  align-items: center;
}
.section-work02 h2 {
  text-align: center;
  padding-top: 16px;
  margin-bottom: 56px;
  font-size: 1.25rem;
}
.section-work__tofu-shop {
  margin: 0 auto;
  max-width: 768px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
.section-work__tofu-shop__container h3 {
  text-align: center;
  margin: 0 auto 56px;
  font-size: 1rem;
}
.section-work__tofu-shop img {
  max-width: 720px;
  min-width: 200px;
  width: 100%;
  height: auto;
  objecct-fit: cover;
  vertical-align: bottom;
  margin: 0 auto;
}
.section-work__tofu-shop__description {
  background-color: #fff;
  border: solid 2px #e0e0e0;
  max-width: 720px;
  width: 100%;
  height: auto;
  padding: 24px 16px;
}
.section-work__tofu-shop__description h4 {
  font-size: 0.875rem;
  margin: 8px auto 16px;
}
.section-work__tofu-shop__description h5 {
  font-size: 0.875rem;
  margin: 24px auto 16px;
}
.section-work__tofu-shop__description p {
  font-size: 0.8125rem;
}
.section-work__tofu-shop__description ul {
  font-size: 0.8125rem;
  list-style: none;
}
.link {
  width: 100%;
  max-width: 768px;
  text-align: right;
  font-size: 0.875rem;
  margin-top: 8px;
}
@media(min-width:800px) {
  .section-work__tofu-shop__container h3 {
    text-align: center;
    margin: 0 auto 56px;
    font-size: 1rem;
  }
  .section-work__tofu-shop {
    max-width: 1440px;
  }
  .section-work__tofu-shop img {
    max-width: 800px;
    min-width: 200px;
    width: 100%;
    height: auto;
    objecct-fit: cover;
    vertical-align: bottom;
    margin: 0 auto;
  }
  .section-work__tofu-shop__description {
    max-width: 800px;
    padding: 32px;
  }
  .section-work__tofu-shop__description h4 {
    font-size: 1rem;
    margin: 8px auto 16px;
  }
  .section-work__tofu-shop__description h5 {
    font-size: 1rem;
    margin: 24px auto 16px;
  }
  .section-work__tofu-shop__description p {
    font-size: 1rem;
  }
  .section-work__tofu-shop__description ul {
    font-size: 1rem;
  }
  .link {
    width: 100%;
    max-width: 800px;
    text-align: right;
    font-size: 0.875rem;
    margin-top: 8px;
  }
}
.section-work__portfolio {
  margin: 0 auto;
  max-width: 768px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}
.section-work__portfolio__container h3 {
  text-align: center;
  margin: 160px auto 56px;
  font-size: 1rem;
}
.section-work__portfolio img {
  max-width: 720px;
  min-width: 200px;
  width: 100%;
  height: auto;
  objecct-fit: cover;
  border: solid 2px #e0e0e0;
  vertical-align: bottom;
  margin: 0 auto;
}
.section-work__portfolio__description {
  background-color: #fff;
  border: solid 2px #e0e0e0;
  max-width: 720px;
  width: 100%;
  height: auto;
  padding: 24px 16px;
}
.section-work__portfolio__description h4 {
  font-size: 0.875rem;
  margin: 8px auto 16px;
}
.section-work__portfolio__description h5 {
  font-size: 0.875rem;
  margin: 24px auto 16px;
}
.section-work__portfolio__description p {
  font-size: 0.8125rem;
}
.section-work__portfolio__description ul {
  font-size: 0.8125rem;
  list-style: none;
}
@media(min-width:800px) {
  .section-work__portfolio__container h3 {
    text-align: center;
    margin: 160px auto 56px;
    font-size: 1rem;
  }
  .section-work__portfolio {
    max-width: 1440px;
  }
  .section-work__portfolio img {
    max-width: 800px;
    min-width: 200px;
    width: 100%;
    height: auto;
    objecct-fit: cover;
    border: solid 2px #e0e0e0;
    vertical-align: bottom;
    margin: 0 auto;
  }
  .section-work__portfolio__description {
    max-width: 800px;
    padding: 32px;
  }
  .section-work__portfolio__description h4 {
    font-size: 1rem;
    margin: 8px auto 16px;
  }
  .section-work__portfolio__description h5 {
    font-size: 1rem;
    margin: 24px auto 16px;
  }
  .section-work__portfolio__description p {
    font-size: 1rem;
  }
  .section-work__portfolio__description ul {
    font-size: 1rem;
  }
}
.decoration-line02 img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  vertical-align: top;
}
.section-work03 {
  background-image: url("bg.png");
  background-repeat: repeat;
  background-size: contain;
  width: 100%;
  padding: 56px 16px;
  text-align: center;
}
.section-work__banner__container h3 {
  text-align: center;
  margin: 0 auto 56px;
  font-size: 1rem;
}
.section-work__banner__container p {
  margin-bottom: 32px;
  font-size: 0.8125rem;
}
.section-work__banner {
  margin: 0 auto;
  max-width: 1440px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  align-items: stretch;
}
.section-work__banner img {
  max-width: 400px;
  min-width: 80px;
  width: 100%;
  height: auto;
  objecct-fit: cover;
  vertical-align: bottom;
  margin: 0 auto;
}
@media(min-width:800px) {
  .section-work__banner__container h3 {
    text-align: center;
    margin: 0 auto 56px;
    font-size: 1rem;
  }
  .section-work__banner__container p {
    margin-bottom: 32px;
    font-size: 1rem;
  }
  .section-work__banner {
    max-width: 1440px;
  }
  .section-work__banner img {
    max-width: 400px;
    min-width: 80px;
    width: 100%;
    height: auto;
    objecct-fit: cover;
    vertical-align: bottom;
    margin: 0 auto;
  }
}
.section-work__line__container {
  max-width: 832px;
  margin: 0 auto;
  ;
}
.section-work__line__container h3 {
  margin: 160px 0 56px;
}
.section-work__line {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.section-work__line img {
  max-width: 400px;
  min-width: 200px;
  width: 100%;
  height: auto;
  objecct-fit: cover;
  vertical-align: bottom;
  margin: 0 auto;
  border: solid 1px #e0e0e0;
}
.section-work__line__description {
  max-width: 400px;
  min-width: 200px;
  width: 100%;
  background-color: #ffffff;
  padding: 24px;
  text-align: center;
  border: solid 1px #e0e0e0;
}
.section-work__line__description ul {
  list-style: none;
  display: inline-block;
  text-align: left;
  font-size: 0.8125rem;
}
@media(min-width:800px) {
  .section-work__line__container {
    max-width: 950px;
    padding: 0 64px;
  }
  .section-work__line img {
    max-width: 400px;
    min-width: 200px;
  }
  .section-work__line__description {
    max-width: 400px;
    min-width: 200px;
    padding: 32px;
  }
  .section-work__line__description ul {
    font-size: 1rem;
  }
}
.section-workhistory01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  margin: 56px auto 16px;
}
.section-workhistory__license, .section-workhistory__description1 {
  background-color: #ffffff;
  border: solid 8px #dedede;
  border-radius: 20px;
  margin: 16px;
  padding: 24px;
  min-width: 150px;
  max-width: 280px;
  width: 100%;
  height: auto;
  text-align: center;
}
.section-workhistory__license h2, .section-workhistory__description1 h2 {
  margin: 0 auto 16px;
}
.section-workhistory__license ul, .section-workhistory__description1 ul {
  list-style: none;
  font-size: 0.8125rem;
  text-align: left;
  display: inline-block;
}
.section-workhistory02 {
  padding: 0 16px;
  margin: 0 auto 16px;
  text-align: center;
}
.section-workhistory__description2 {
  display: inline-block;
  text-align: left;
  font-size: 0.8125rem;
}
.section-workhistory__description2 div {
  margin: 24px auto;
  background-color: #ffffff;
  padding: 16px;
  border-radius: 20px;
}
@media(min-width:800px) {
  .section-workhistory02 {
    padding: 0 64px;
  }
  .section-workhistory__description2 {
    font-size: 0.875rem;
    line-height: 1.9;
  }
}
#workstation {
  padding-top: 80px;
  margin-top: -80px;
}
#work {
  padding-top: 96px;
  margin-top: -80px;
}
#workhistory {
  padding-top: 120px;
  margin-top: -80px;
}
.section-time {
  text-align: center;
  padding: 0 8px;
}
.section-time table {
  margin: 24px auto;
  border-spacing: 0;
  border-collapes: collapse;
  table-layout: auto;
  max-width: 700px;
  width: 100%;
  font-size: 0.75rem;
}
th, td {
  border: 1px solid #bdbdbd;
  padding: 2px;
  text-align: center;
}
th {
  background-color: #fafafa;
  color: #333;
}
th:first-child {
  width: 30%;
  font-weight: 600;
}
td {
  background-color: #fff;
  font-weight: 500;
}
@media(min-width:800px) {
  .section-time {
    padding: 0 64px;
  }
  .section-time table {
    margin: 64px auto;
    border-spacing: 0;
    border-collapes: collapse;
    table-layout: auto;
    max-width: 700px;
    width: 100%;
    font-size: 0.875rem;
  }
  th, td {
    border: 1px solid #bdbdbd;
    padding: 4px;
    text-align: center;
  }
  th {
    background-color: #fafafa;
    color: #333;
    font-weight: 600;
  }
  th:first-child {
    width: 30%;
  }
  td {
    background-color: #fff;
    font-weight: 500;
  }
}