@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Klee+One&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Zen+Kurenaido&display=swap");
* {
  color: #000;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  margin: 0px;
  padding: 0px;
  line-height: 1em;
  font-size: 16px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  overflow: auto;
}

body {
  text-align: center;
  margin: 0px auto;
  background: url(images/bg_img.jpg) #fdfbf2;
  min-width: 1080px;
  box-sizing: border-box;
  overflow: hidden;
}

img {
  height: auto;
}

input {
  -webkit-appearance: none;
}

a img {
  border: 0px;
}

a:hover {
  color: #cc3a00;
}

a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none;
  cursor: default;
}

li {
  list-style-type: none;
}

.inner {
  position: relative;
  text-align: center;
  margin: 0px auto;
  width: 1080px;
}

/* ============================================================================== */
/* header */
/* ============================================================================== */
header {
  overflow: hidden;
  height: 840px;
}
header .inner {
  z-index: 100;
}

nav {
  position: absolute;
  top: 40px;
  right: 0px;
}
nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
}
nav ul li a {
  display: block;
  padding: 16px 12px;
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
}
nav ul li a.sns {
  width: 24px;
  height: 24px;
  position: relative;
}
nav ul li a.sns:before {
  position: absolute;
  display: block;
  width: 24px;
  height: 24px;
  content: "";
  top: 14px;
  left: 16px;
}
nav ul li:last-of-type a {
  padding-right: 0px;
}

.insta_ico:before {
  background: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2088%2088%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M25.8%2C0.3c-4.7%2C0.2-7.9%2C1-10.7%2C2.1C12.2%2C3.5%2C9.8%2C5%2C7.3%2C7.5s-3.9%2C4.9-5.1%2C7.8c-1.1%2C2.8-1.8%2C6-2%2C10.7%20S0%2C32.1%2C0%2C44.1s0.1%2C13.4%2C0.3%2C18.1c0.2%2C4.7%2C1%2C7.9%2C2.1%2C10.7c1.1%2C2.9%2C2.6%2C5.3%2C5.1%2C7.8c2.4%2C2.4%2C4.9%2C3.9%2C7.8%2C5.1c2.8%2C1.1%2C6%2C1.8%2C10.7%2C2%20C30.6%2C88%2C32.1%2C88%2C44.1%2C88s13.4-0.1%2C18.1-0.3c4.7-0.2%2C7.9-1%2C10.7-2.1c2.9-1.1%2C5.3-2.6%2C7.8-5.1c2.4-2.4%2C3.9-4.9%2C5.1-7.8%20c1.1-2.8%2C1.8-6%2C2-10.7C88%2C57.4%2C88%2C55.9%2C88%2C43.9s-0.1-13.4-0.3-18.1c-0.2-4.7-1-7.9-2.1-10.7c-1.1-2.9-2.6-5.3-5.1-7.8%20c-2.4-2.4-4.9-3.9-7.8-5.1c-2.8-1.1-6-1.8-10.7-2S55.9%2C0%2C43.9%2C0S30.5%2C0.1%2C25.8%2C0.3%20M26.3%2C79.9c-4.3-0.2-6.6-0.9-8.2-1.5%20c-2.1-0.8-3.5-1.7-5.1-3.3c-1.5-1.5-2.5-3-3.3-5.1c-0.6-1.6-1.3-3.9-1.5-8.2C8%2C57.2%2C8%2C55.8%2C7.9%2C44.1s0-13.1%2C0.2-17.8%20c0.2-4.3%2C0.9-6.6%2C1.5-8.2c0.8-2.1%2C1.7-3.5%2C3.3-5.1s3-2.5%2C5.1-3.3c1.6-0.6%2C3.9-1.3%2C8.2-1.5c4.6-0.2%2C6-0.3%2C17.8-0.3s13.1%2C0%2C17.8%2C0.2%20c4.3%2C0.2%2C6.6%2C0.9%2C8.2%2C1.5c2.1%2C0.8%2C3.5%2C1.7%2C5.1%2C3.3s2.5%2C3%2C3.3%2C5.1c0.6%2C1.5%2C1.3%2C3.9%2C1.5%2C8.2c0.2%2C4.6%2C0.3%2C6%2C0.3%2C17.8s0%2C13.1-0.2%2C17.8%20c-0.2%2C4.3-0.9%2C6.6-1.5%2C8.2c-0.8%2C2.1-1.7%2C3.5-3.3%2C5.1c-1.5%2C1.5-3%2C2.5-5.1%2C3.3c-1.5%2C0.6-3.9%2C1.3-8.2%2C1.5c-4.6%2C0.2-6%2C0.3-17.8%2C0.3%20S30.9%2C80.1%2C26.3%2C79.9%20M62.2%2C20.5c0%2C2.9%2C2.4%2C5.3%2C5.3%2C5.3c2.9%2C0%2C5.3-2.4%2C5.3-5.3s-2.4-5.3-5.3-5.3c0%2C0%2C0%2C0%2C0%2C0%20C64.5%2C15.2%2C62.2%2C17.6%2C62.2%2C20.5%20M21.4%2C44c0%2C12.5%2C10.2%2C22.6%2C22.6%2C22.5c12.5%2C0%2C22.6-10.2%2C22.6-22.6c0-12.5-10.2-22.6-22.6-22.5%20C31.5%2C21.4%2C21.4%2C31.6%2C21.4%2C44%20M29.3%2C44c0-8.1%2C6.5-14.7%2C14.6-14.7c8.1%2C0%2C14.7%2C6.5%2C14.7%2C14.6c0%2C8.1-6.5%2C14.7-14.6%2C14.7%20C35.9%2C58.7%2C29.3%2C52.1%2C29.3%2C44C29.3%2C44%2C29.3%2C44%2C29.3%2C44%22%20%2F%3E%3C%2Fsvg%3E");
}
.insta_ico:hover:before {
  background: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2088%2088%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23cc3a00%22%20d%3D%22M25.8%2C0.3c-4.7%2C0.2-7.9%2C1-10.7%2C2.1C12.2%2C3.5%2C9.8%2C5%2C7.3%2C7.5s-3.9%2C4.9-5.1%2C7.8c-1.1%2C2.8-1.8%2C6-2%2C10.7%20S0%2C32.1%2C0%2C44.1s0.1%2C13.4%2C0.3%2C18.1c0.2%2C4.7%2C1%2C7.9%2C2.1%2C10.7c1.1%2C2.9%2C2.6%2C5.3%2C5.1%2C7.8c2.4%2C2.4%2C4.9%2C3.9%2C7.8%2C5.1c2.8%2C1.1%2C6%2C1.8%2C10.7%2C2%20C30.6%2C88%2C32.1%2C88%2C44.1%2C88s13.4-0.1%2C18.1-0.3c4.7-0.2%2C7.9-1%2C10.7-2.1c2.9-1.1%2C5.3-2.6%2C7.8-5.1c2.4-2.4%2C3.9-4.9%2C5.1-7.8%20c1.1-2.8%2C1.8-6%2C2-10.7C88%2C57.4%2C88%2C55.9%2C88%2C43.9s-0.1-13.4-0.3-18.1c-0.2-4.7-1-7.9-2.1-10.7c-1.1-2.9-2.6-5.3-5.1-7.8%20c-2.4-2.4-4.9-3.9-7.8-5.1c-2.8-1.1-6-1.8-10.7-2S55.9%2C0%2C43.9%2C0S30.5%2C0.1%2C25.8%2C0.3%20M26.3%2C79.9c-4.3-0.2-6.6-0.9-8.2-1.5%20c-2.1-0.8-3.5-1.7-5.1-3.3c-1.5-1.5-2.5-3-3.3-5.1c-0.6-1.6-1.3-3.9-1.5-8.2C8%2C57.2%2C8%2C55.8%2C7.9%2C44.1s0-13.1%2C0.2-17.8%20c0.2-4.3%2C0.9-6.6%2C1.5-8.2c0.8-2.1%2C1.7-3.5%2C3.3-5.1s3-2.5%2C5.1-3.3c1.6-0.6%2C3.9-1.3%2C8.2-1.5c4.6-0.2%2C6-0.3%2C17.8-0.3s13.1%2C0%2C17.8%2C0.2%20c4.3%2C0.2%2C6.6%2C0.9%2C8.2%2C1.5c2.1%2C0.8%2C3.5%2C1.7%2C5.1%2C3.3s2.5%2C3%2C3.3%2C5.1c0.6%2C1.5%2C1.3%2C3.9%2C1.5%2C8.2c0.2%2C4.6%2C0.3%2C6%2C0.3%2C17.8s0%2C13.1-0.2%2C17.8%20c-0.2%2C4.3-0.9%2C6.6-1.5%2C8.2c-0.8%2C2.1-1.7%2C3.5-3.3%2C5.1c-1.5%2C1.5-3%2C2.5-5.1%2C3.3c-1.5%2C0.6-3.9%2C1.3-8.2%2C1.5c-4.6%2C0.2-6%2C0.3-17.8%2C0.3%20S30.9%2C80.1%2C26.3%2C79.9%20M62.2%2C20.5c0%2C2.9%2C2.4%2C5.3%2C5.3%2C5.3c2.9%2C0%2C5.3-2.4%2C5.3-5.3s-2.4-5.3-5.3-5.3c0%2C0%2C0%2C0%2C0%2C0%20C64.5%2C15.2%2C62.2%2C17.6%2C62.2%2C20.5%20M21.4%2C44c0%2C12.5%2C10.2%2C22.6%2C22.6%2C22.5c12.5%2C0%2C22.6-10.2%2C22.6-22.6c0-12.5-10.2-22.6-22.6-22.5%20C31.5%2C21.4%2C21.4%2C31.6%2C21.4%2C44%20M29.3%2C44c0-8.1%2C6.5-14.7%2C14.6-14.7c8.1%2C0%2C14.7%2C6.5%2C14.7%2C14.6c0%2C8.1-6.5%2C14.7-14.6%2C14.7%20C35.9%2C58.7%2C29.3%2C52.1%2C29.3%2C44C29.3%2C44%2C29.3%2C44%2C29.3%2C44%22%20%2F%3E%3C%2Fsvg%3E");
}

h1 {
  color: #fff;
  font-weight: 700;
  font-size: 28px;
  line-height: 3em;
  writing-mode: vertical-rl;
  position: absolute;
  top: 416px;
  height: 480px;
  right: 64px;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 6px;
  font-family: "Noto Sans JP", sans-serif;
}

.slick img {
  width: 100%;
  min-width: 1200px;
  margin-inline: auto;
}

.logo {
  position: absolute;
  top: 40px;
  left: 0px;
  width: 264px;
}
.logo p {
  display: none;
}

/* ============================================================================== */
/* INDEX */
/* ============================================================================== */
.wrap h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 600;
}
.wrap h4 {
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
}
.wrap p {
  text-align: justify;
  line-height: 1.76em;
}

/* about ======================================================================== */
#about {
  margin-top: 72px;
}

.about_inner {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 48px;
}
.about_inner img {
  width: 272px;
  margin-top: 120px;
}

#about_i2 {
  padding-top: 216px;
}

.about_txt {
  padding: 232px 64px 280px 0px;
  width: calc(100% - 544px - 96px);
}
.about_txt h3 {
  margin-bottom: 48px;
}
.about_txt .insta_link {
  margin-top: 32px;
  border-top: 1px dotted #009944;
  padding-top: 32px;
  color: #009944;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  margin-bottom: 32px;
}

.insta_go {
  display: block;
  border: 1px solid #009944;
  width: 240px;
  padding: 8px 16px;
  border-radius: 4px;
  color: #009944;
  text-decoration: none;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1em;
  background: rgba(255, 255, 255, 0.6);
}
.insta_go:hover {
  background: #009944;
  color: #fff;
}

/* device ======================================================================= */
#device h3, #device h4 {
  text-align: left;
}
#device h4 {
  padding: 32px 0px 48px 0px;
}
#device p {
  width: 420px;
  text-align: left;
  margin-bottom: 280px;
}

#device_i1 {
  position: absolute;
  top: 400px;
  right: 240px;
  width: 280px;
}

#device_i2 {
  position: absolute;
  top: 32px;
  right: 0px;
  width: 400px;
}

/* works ======================================================================== */
#works {
  background: #fff;
  padding: 120px 0px 0px 0px;
}
#works h6 {
  font-family: "Zen Kurenaido", serif;
  font-size: 40px;
  margin-bottom: 96px;
}
#works h6 em {
  font-family: "Klee One", cursive;
  font-style: normal;
  font-size: 40px;
}

.work_list {
  display: flex;
  flex-wrap: wrap;
  gap: 64px;
}
.work_list li {
  width: calc((100% - 128px) / 3);
  margin-bottom: 96px;
}
.work_list li img {
  width: 100%;
  margin-bottom: 24px;
}
.work_list li h4 {
  font-family: "Noto Sans JP", sans-serif;
  text-decoration: underline;
  text-underline-offset: 4px;
  font-size: 16px;
  font-weight: 500;
  padding-bottom: 32px;
}

.items {
  background: rgba(0, 153, 68, 0.3);
  padding: 64px 0px 64px 0px;
}
.items h3 {
  margin-bottom: 32px;
}
.items ul {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  width: 1080px;
  margin-inline: auto;
}
.items ul li {
  background: #fff;
  width: calc((100% - 54px) / 4);
  padding: 16px;
  color: #009944;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

#chart {
  padding: 120px 0px 184px 0px;
}

.chart_txt {
  text-align: left;
  width: 360px;
  margin-left: 360px;
}
.chart_txt h3 {
  margin-bottom: 32px;
}

.flow {
  margin-left: calc(50% - 540px);
  margin-bottom: 88px;
}
.flow .slick-slide {
  padding: 16px;
  width: 360px;
  height: 274px;
}
.flow .slick-slide h4 {
  font-family: "Noto Sans JP", sans-serif;
  color: #009944;
  font-size: 16px;
  font-weight: 600;
}
.flow .slick-slide p {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  width: 216px;
  line-height: 1.44em;
  margin-inline: auto;
}
.flow li {
  background: url(images/pattern.svg) no-repeat;
  background-size: 360px 274px;
  position: relative;
}
.flow li:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% + 24px);
  right: -28px;
  width: 48px;
  height: 48px;
  background: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23009944%22%20d%3D%22M58%2C63.1s0%2C0%2C0%2C0c.3-.1.7-.3%2C1-.5%2C0%2C0%2C0%2C0%2C0%2C0%2C.7-.4%2C1.2-1%2C1.7-1.7%2C0%2C0%2C0%2C0%2C0%2C0%2C.2-.3.4-.6.5-1%2C0%2C0%2C0%2C0%2C0%2C0%2C.1-.3.2-.7.3-1%2C0%2C0%2C0%2C0%2C0%2C0%2C0-.4.1-.7.1-1.1%2C0%2C0%2C0%2C0%2C0%2C0V11.8c0-3.3-2.7-6-6-6s-6%2C2.7-6%2C6v31.2L12.4%2C5.6c-2.3-2.3-6.1-2.3-8.5%2C0-2.3%2C2.3-2.3%2C6.1%2C0%2C8.5l37.4%2C37.4H10.2c-3.3%2C0-6%2C2.7-6%2C6s2.7%2C6%2C6%2C6h45.7c.4%2C0%2C.7%2C0%2C1.1-.1%2C0%2C0%2C0%2C0%2C0%2C0%2C.4%2C0%2C.7-.2%2C1-.3Z%22%20%2F%3E%3C%2Fsvg%3E");
  z-index: 100;
}
.flow li img {
  width: 184px;
  margin-inline: auto;
}
.flow li:nth-of-type(odd) {
  transform: rotateX(180deg);
  margin-top: 104px;
}
.flow li:nth-of-type(odd) h4, .flow li:nth-of-type(odd) p, .flow li:nth-of-type(odd) img {
  transform: rotateX(-180deg);
}
.flow li:nth-of-type(odd) p {
  margin-top: 40px;
}
.flow li:nth-of-type(odd) h4 {
  margin: 16px auto;
}
.flow li:nth-of-type(even) img {
  margin-top: 24px;
}
.flow li:nth-of-type(even) h4 {
  margin-top: 8px;
  margin-bottom: 16px;
}
.flow li.last_li:before {
  content: none;
}

.quote p {
  padding-top: 24px;
  text-align: center;
  font-size: 14px;
}
.quote p strong {
  font-size: 40px;
  display: block;
  margin-bottom: 16px;
}

/* efforts ====================================================================== */
#efforts {
  background: #fff;
  padding: 120px 0px 192px 0px;
}
#efforts h3 {
  color: #009944;
}
#efforts h4 {
  padding: 24px;
}

.effort_inner {
  display: flex;
  flex-wrap: wrap;
  padding-top: 64px;
}
.effort_inner img {
  width: 100%;
}

.efforts_left {
  width: calc(100% - 504px - 224px);
  padding-right: 32px;
  padding-top: 72px;
}

.efforts_center {
  width: 504px;
}
.efforts_center p {
  text-align: left;
  padding: 0px 64px 116px 64px;
}

.efforts_right {
  width: 224px;
  padding-left: 32px;
}

#effort_i2 {
  width: 192px;
  margin-top: 32px;
  margin-left: calc(100% - 192px);
}

#effort_i3 {
  margin-top: 32px;
}

#effort_i5 {
  margin-top: 216px;
}

.factory {
  display: flex;
  flex-wrap: wrap;
}
.factory li {
  width: 50%;
}
.factory li img {
  width: 100%;
}
.factory li h4 {
  width: 540px;
  text-align: center !important;
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  position: relative;
  padding-top: 120px;
  margin-top: 32px;
}
.factory li h4:before {
  display: block;
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  margin-left: -12px;
  width: 24px;
  height: 24px;
  background: url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20320%20320%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M256.2%2C274.4l-19.8-238.7c0-.1%2C0-.3%2C0-.4h0c0-8.2-14.9-15.5-37.1-19.4v-6C199.2%2C4.4%2C181.7%2C0%2C160%2C0s-39.2%2C4.4-39.2%2C9.9%2C0%2C.1%2C0%2C.2v5.8c-22.3%2C4-37.2%2C11.2-37.2%2C19.5l-19.8%2C239c0%2C.4%2C0%2C.7%2C0%2C1.1%2C0%2C7%2C10.2%2C13.4%2C26.9%2C18v10.2h.2c2.8%2C9.1%2C32.7%2C16.3%2C69.1%2C16.3s66.4-7.2%2C69.1-16.3h.2v-10.2c16.7-4.7%2C26.9-11%2C26.9-18s0-.7%2C0-1.1h0ZM226%2C95.8c-6.4%2C3.6-19.8%2C10.4-38.3%2C16-23.9%2C7.2-57.4%2C12.7-95.5%2C5.4l1.8-21.4c12.6%2C2.2%2C24.6%2C3.1%2C35.9%2C3.1%2C25%2C0%2C46.5-4.4%2C62.2-9%2C14-4.1%2C25-8.9%2C32.4-12.5l1.5%2C18.4h0ZM128.8%2C135.1c26%2C0%2C48.2-4.8%2C64.5-9.8%2C14.8-4.6%2C26.4-9.8%2C34-13.7l1.5%2C18.2c-6.4%2C3.8-20.4%2C11.3-39.8%2C17.4-24.5%2C7.7-59.7%2C13.9-99.8%2C5.8l1.8-21.3c13.2%2C2.4%2C25.9%2C3.4%2C37.8%2C3.4h0ZM127.7%2C171.1c26.9%2C0%2C50-5.2%2C66.9-10.6%2C15.5-5%2C27.7-10.7%2C35.6-15l1.5%2C18.1c-6.5%2C4-21%2C12.2-41.3%2C18.9-25%2C8.2-62%2C15.2-104.1%2C6.2l1.8-21.3c13.9%2C2.7%2C27.2%2C3.8%2C39.6%2C3.8h0ZM126.6%2C207.2c27.9%2C0%2C51.8-5.6%2C69.3-11.4%2C16.3-5.4%2C29-11.7%2C37.2-16.2l1.5%2C17.9c-6.5%2C4.2-21.6%2C13.1-42.8%2C20.3-25.6%2C8.7-64.2%2C16.5-108.4%2C6.6l1.8-21.3c14.5%2C3%2C28.4%2C4.2%2C41.5%2C4.2h0ZM82.1%2C238.7c15.2%2C3.2%2C29.7%2C4.6%2C43.3%2C4.6%2C28.8%2C0%2C53.5-5.9%2C71.6-12.2%2C17.1-5.9%2C30.3-12.7%2C38.7-17.6l1.5%2C17.8c-6.5%2C4.4-22.2%2C13.9-44.2%2C21.7-26.1%2C9.2-66.5%2C17.8-112.7%2C6.9l1.8-21.2h0ZM116.8%2C32.3c1.3-.3%2C2.8-.6%2C4.2-.9%2C2%2C5%2C18.7%2C8.9%2C39%2C8.9s37-3.9%2C39-8.9c1.4.3%2C2.8.6%2C4.2.9%2C7.7%2C1.8%2C12.7%2C3.7%2C15.7%2C5.2-2.2%2C2-6.6%2C4.8-14.7%2C7.6-12.3%2C4.2-27.9%2C6.6-44%2C6.6s-32.4-2.3-44.7-6.6c-8-2.8-12.3-5.7-14.3-7.6%2C3-1.5%2C8-3.4%2C15.7-5.2h0ZM160.2%2C67.3c23.6%2C0%2C47.8-4.8%2C62.4-13.3l.7%2C7.9c-14.6%2C7.8-64.8%2C31-128.1%2C19.6l2.3-27.5c14.7%2C8.7%2C39.2%2C13.2%2C62.7%2C13.2h0ZM216.8%2C280.9c-15.9%2C3.4-36.1%2C5.3-56.8%2C5.3s-40.9-1.9-56.8-5.3c-7.7-1.7-13.3-3.5-17.3-5%2C13.4%2C2.5%2C26.3%2C3.6%2C38.5%2C3.6%2C29.7%2C0%2C55.3-6.3%2C74-13%2C17.8-6.3%2C31.5-13.7%2C40.3-18.9l2.1%2C25.1c-3%2C1.9-10.1%2C5.3-23.9%2C8.3h0Z%22%20%2F%3E%3C%2Fsvg%3E");
}
.factory li dl {
  display: flex;
  flex-wrap: wrap;
  width: calc(50% - 24px);
  padding-bottom: 64px;
}
.factory li dl dt, .factory li dl dd {
  padding: 6px 0px;
  line-height: 1.44em;
  color: #fff;
}
.factory li dl dt {
  width: 70%;
  text-align: left;
}
.factory li dl dt strong {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #fff;
}
.factory li dl dd {
  width: 30%;
  text-align: right;
}
.factory li:first-of-type {
  background: rgba(0, 153, 68, 0.8);
}
.factory li:first-of-type h4 {
  margin-left: calc(100% - 540px - 32px);
}
.factory li:first-of-type .item_li {
  margin-left: calc(100% - 540px);
  padding-right: 64px;
}
.factory li:last-of-type {
  background: rgba(7, 145, 209, 0.8);
}
.factory li:last-of-type h4 {
  margin-right: calc(100% - 540px);
  margin-left: 32px;
}
.factory li:last-of-type .item_li {
  margin-right: calc(100% - 540px);
  padding-left: 64px;
}

.item_li {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 48px;
  width: 540px;
}

/* profile ====================================================================== */
#overview {
  background: linear-gradient(rgba(7, 145, 209, 0.25), rgba(0, 153, 68, 0.25));
}
#overview .inner {
  background: url(images/map.png) no-repeat top left;
  padding-top: 344px;
}

.overview_clm {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-bottom: 160px;
}

.info {
  width: 344px;
  padding-right: 80px;
}
.info h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: 400;
  text-align: right;
  margin-bottom: 32px;
}
.info p {
  text-align: right;
}
.info p strong {
  font-weight: 600;
  font-size: 38px;
  display: block;
  padding: 8px 0px 16px 0px;
}

.profile {
  width: calc(100% - 344px);
  text-align: left;
}
.profile dl {
  display: flex;
  flex-wrap: wrap;
}
.profile dl dt, .profile dl dd {
  padding: 8px 0px;
  line-height: 1.76em;
}
.profile dl dt {
  width: 96px;
}
.profile dl dd {
  width: calc(100% - 96px);
}
.profile dl dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0px 24px;
}
.profile dl dd ul li {
  width: calc(50% - 12px);
}
.profile dl dd ul li img {
  width: 100%;
  margin-bottom: 16px;
}
.profile dl dd ul li h4 {
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 500;
}
.profile dl dd ul li p {
  line-height: 1.44em;
}
.profile dl dd a {
  display: block;
  margin-top: 8px;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 14px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  padding: 4px 12px 8px 16px;
  width: 120px;
  line-height: 1em;
  text-decoration: none;
  border-radius: 4px;
}
.profile dl dd a:hover {
  background: #00662d;
}

/* ============================================================================== */
/* footer */
/* ============================================================================== */
#pagetop {
  position: fixed;
  display: block;
  width: 36px;
  height: 36px;
  border-radius: 18px;
  bottom: 20px;
  right: 20px;
  z-index: 100000;
  background: #cc3a00;
  text-align: center;
  cursor: pointer;
}
#pagetop:before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -5px;
  margin-top: -3px;
}

footer {
  background: url(images/bg_footer.png) repeat-x top;
  padding: 84px 72px 64px 72px;
  margin-top: -24px;
}
footer p {
  color: #fff;
  text-shadow: 0 0 0 10px #000, 0 0 0 3px #000;
  font-family: "Noto Sans JP", sans-serif;
}
footer p.copy {
  padding-top: 12px;
}

/* ============================================================================== */
/* 個別設定 */
/* ============================================================================== */
.alignleft {
  float: left;
}

.alignright {
  float: right;
  margin-left: 32px;
  margin-bottom: 24px;
}

.aligncenter {
  text-align: center;
  margin: 0px auto;
}

.middle {
  width: 420px;
}

.f_center {
  text-align: center;
  margin: 0px auto;
}

.t_left {
  text-align: left !important;
}

.t_right {
  text-align: right !important;
}

.t_center {
  text-align: center;
  margin: 0px auto;
}

.d_none {
  display: none;
}

.clear {
  clear: both !important;
}

.red {
  color: #cc3a00;
}

.block {
  display: block;
}

.kome {
  text-indent: -1.2em;
  margin-left: 1.2em;
}
