@charset "UTF-8";
/* reset5 © 2011 opensource.736cs.com MIT */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, audio, canvas, details, figcaption, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, summary, time, video {
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  margin: 0;
  padding: 0; }

body {
  line-height: 1; }

article, aside, dialog, figure, footer, header, hgroup, nav, section, blockquote {
  display: block; }

nav ul {
  list-style: none; }

ol {
  list-style: decimal; }

ul {
  list-style: disc; }

ul ul {
  list-style: circle; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }

ins {
  text-decoration: underline; }

del {
  text-decoration: line-through; }

mark {
  background: none; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input[type=submit], input[type=button], button {
  margin: 0 !important;
  padding: 0 !important; }

input, select, a img {
  vertical-align: middle; }

/* フォームのリセットここから */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none; }

textarea {
  resize: vertical; }

input[type='checkbox'],
input[type='radio'] {
  display: none; }

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer; }

select::-ms-expand {
  display: none; }

/* フォームのリセットここまで */
html {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 10px; }

*, *:before, *:after {
  -moz-box-sizing: inherit;
  -webkit-box-sizing: inherit;
  box-sizing: inherit; }

body {
  -webkit-text-size-adjust: 100%;
  	/*
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  	*/ }

main {
  display: block; }

h1, h2, h3, h4, h5, h6 {
  font-weight: normal; }

ul, ol {
  list-style: none !important; }

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

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  color: inherit;
  font-size: inherit; }

img {
  width: auto;
  height: auto;
  max-width: 100%;
  vertical-align: top; }

mark {
  color: inherit; }

.pc {
  display: none; }

.sp {
  display: none; }

@media screen and (min-width: 769px) {
  .pc {
    display: block !important; }

  img.pc,
  span.pc {
    display: inline !important; } }
@media screen and (max-width: 768px) {
  .sp {
    display: block !important; }

  img.sp,
  span.sp {
    display: inline !important; } }
span.nowrap {
  display: inline-block; }

body {
  font-family: "Noto Sans JP", sans-serif;
  clip-path: inset(0 0 0 0);
  background-color: #F5F5F5; }
  body:before {
    content: "";
    display: block;
    position: absolute;
    pointer-events: none;
    background-color: #F5F5F5;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100000;
    transition: all ease 1s; }
    .is-loaded body:before {
      opacity: 0; }

#bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh; }
  #bg video {
    width: 100%;
    height: 100%;
    object-fit: cover; }

#header > p.logo {
  position: fixed;
  z-index: 10000;
  top: 50px;
  left: 40px; }
  @media screen and (max-width: 768px) {
    #header > p.logo {
      width: 131px;
      top: 30px;
      left: 20px; } }
#header > nav.global {
  position: fixed;
  z-index: 10000;
  top: 56px;
  right: 455px;
  mix-blend-mode: exclusion; }
  @media screen and (max-width: 768px) {
    #header > nav.global {
      display: none; } }
  #header > nav.global ul {
    display: flex;
    overflow: hidden; }
    #header > nav.global ul li {
      margin-left: 32px; }
      #header > nav.global ul li a {
        position: relative;
        display: block;
        top: 0;
        transition: all ease .3s; }
        #header > nav.global ul li a p:nth-child(1) {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 14px;
          letter-spacing: -0.02em;
          line-height: 17px;
          text-align: center;
          color: #fff; }
        #header > nav.global ul li a p:nth-child(2) {
          position: absolute;
          top: 100%;
          left: 50%;
          transform: translateX(-50%);
          font-weight: bold;
          font-size: 12px;
          line-height: 17px;
          text-align: center;
          color: #fff;
          white-space: nowrap; }
        #header > nav.global ul li a:hover {
          top: -17px; }
#header > nav.cta {
  position: fixed;
  z-index: 10000;
  top: 51px;
  right: 168px;
  mix-blend-mode: exclusion; }
  @media screen and (max-width: 768px) {
    #header > nav.cta {
      display: none; } }
  #header > nav.cta ul {
    display: flex; }
    #header > nav.cta ul li {
      margin-left: 12px; }
      #header > nav.cta ul li a {
        display: block;
        border: 1px solid #fff;
        border-radius: 9999px;
        padding: 0 13px;
        font-weight: bold;
        font-size: 12px;
        letter-spacing: 0.08em;
        line-height: 25px;
        text-align: left;
        color: #fff;
        transition: all ease .3s; }
        #header > nav.cta ul li a:hover {
          color: #000;
          background-color: #fff; }
#header > p.menu {
  position: fixed;
  z-index: 10000;
  top: 36px;
  right: 72px;
  mix-blend-mode: exclusion; }
  @media screen and (max-width: 768px) {
    #header > p.menu {
      top: 25px;
      right: 20px; } }
  #header > p.menu button {
    display: block;
    width: 56px;
    height: 56px; }
    @media screen and (max-width: 768px) {
      #header > p.menu button {
        width: 32px;
        height: 32px; } }
    #header > p.menu button span {
      display: block;
      text-indent: -9999px;
      overflow: hidden; }
    #header > p.menu button:before, #header > p.menu button:after {
      content: "";
      display: block;
      position: absolute;
      top: calc(50% - 1px);
      left: 0;
      width: 56px;
      height: 2px;
      background-color: #fff; }
      @media screen and (max-width: 768px) {
        #header > p.menu button:before, #header > p.menu button:after {
          width: 32px;
          height: 1px; } }
    #header > p.menu button:before {
      margin-top: -8px; }
      @media screen and (max-width: 768px) {
        #header > p.menu button:before {
          margin-top: -5px; } }
      .menu-active #header > p.menu button:before {
        transform: rotate(15deg);
        margin-top: 0; }
    #header > p.menu button:after {
      margin-top: 8px; }
      @media screen and (max-width: 768px) {
        #header > p.menu button:after {
          margin-top: 5px; } }
      .menu-active #header > p.menu button:after {
        transform: rotate(-15deg);
        margin-top: 0; }
#header > nav.menu {
  background-color: #000000;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: all ease .3s; }
  .menu-active #header > nav.menu {
    opacity: 1;
    pointer-events: auto; }
  #header > nav.menu .container {
    width: 100%;
    height: 100%;
    overflow: auto; }
    #header > nav.menu .container .primary {
      min-height: calc(100vh - 56px - 56px - 20px);
      padding-top: calc(56px + 56px + 20px);
      margin: auto;
      width: 100%;
      max-width: 900px;
      display: flex;
      align-items: center; }
      @media screen and (max-width: 768px) {
        #header > nav.menu .container .primary {
          width: calc(335 / 375 * 100vw);
          margin: 0 auto;
          min-height: 0;
          padding: 128px 0 48px;
          display: block; } }
      #header > nav.menu .container .primary .inner {
        margin: auto; }
        #header > nav.menu .container .primary .inner .top {
          display: flex;
          align-items: center;
          justify-content: space-between; }
          @media screen and (max-width: 768px) {
            #header > nav.menu .container .primary .inner .top {
              display: block; } }
          #header > nav.menu .container .primary .inner .top .logo {
            flex: 0 0 360px; }
            @media screen and (max-width: 768px) {
              #header > nav.menu .container .primary .inner .top .logo {
                display: none; } }
          #header > nav.menu .container .primary .inner .top .global {
            display: flex; }
            @media screen and (max-width: 768px) {
              #header > nav.menu .container .primary .inner .top .global {
                display: block; } }
            #header > nav.menu .container .primary .inner .top .global > ul {
              border-left: 1px solid #BCBCBC;
              padding: 4px 0;
              margin-left: 64px; }
              @media screen and (max-width: 768px) {
                #header > nav.menu .container .primary .inner .top .global > ul {
                  padding: 0;
                  margin: 0;
                  border-left: none;
                  border-top: 1px solid #414141; } }
              #header > nav.menu .container .primary .inner .top .global > ul > li {
                padding-left: 40px; }
                @media screen and (max-width: 768px) {
                  #header > nav.menu .container .primary .inner .top .global > ul > li {
                    padding: 0;
                    border-bottom: 1px solid #414141; } }
                #header > nav.menu .container .primary .inner .top .global > ul > li + li {
                  margin-top: 24px; }
                  @media screen and (max-width: 768px) {
                    #header > nav.menu .container .primary .inner .top .global > ul > li + li {
                      margin-top: 0; } }
                #header > nav.menu .container .primary .inner .top .global > ul > li > a {
                  font-family: "Inter", sans-serif;
                  font-weight: 600;
                  font-size: 20px;
                  letter-spacing: 0.04em;
                  line-height: 24px;
                  text-align: left;
                  color: #fff;
                  transition: all ease .3s; }
                  @media screen and (max-width: 768px) {
                    #header > nav.menu .container .primary .inner .top .global > ul > li > a {
                      position: relative;
                      display: inline-block;
                      font-family: "Inter", sans-serif;
                      font-weight: 600;
                      font-size: 28px;
                      letter-spacing: 0.04em;
                      line-height: 34px;
                      padding: 10px 0;
                      text-align: left;
                      color: #fff;
                      padding-right: 34px; }
                      #header > nav.menu .container .primary .inner .top .global > ul > li > a:after {
                        content: "";
                        display: block;
                        width: 22px;
                        height: 22px;
                        border: 1px solid #fff;
                        border-radius: 50%;
                        background-image: url("../images/common/menu_global_arrow_sp.svg");
                        background-position: 50% 50%;
                        background-repeat: no-repeat;
                        position: absolute;
                        right: 0;
                        top: 50%;
                        transform: translateY(-50%); } }
                  @media screen and (min-width: 769px) {
                    #header > nav.menu .container .primary .inner .top .global > ul > li > a:hover {
                      color: #009150; } }
                #header > nav.menu .container .primary .inner .top .global > ul > li > ul {
                  margin-top: 14px; }
                  @media screen and (max-width: 768px) {
                    #header > nav.menu .container .primary .inner .top .global > ul > li > ul {
                      margin-top: 4px;
                      margin-bottom: 18px; } }
                  #header > nav.menu .container .primary .inner .top .global > ul > li > ul li {
                    border-left: 1px solid #BCBCBC; }
                    #header > nav.menu .container .primary .inner .top .global > ul > li > ul li a {
                      font-family: "Inter", sans-serif;
                      font-weight: 600;
                      font-size: 14px;
                      letter-spacing: 0.04em;
                      line-height: 17px;
                      text-align: left;
                      color: #fff;
                      padding-left: 16px;
                      transition: all ease .3s; }
                      @media screen and (max-width: 768px) {
                        #header > nav.menu .container .primary .inner .top .global > ul > li > ul li a {
                          font-size: 16px;
                          line-height: 17px;
                          padding-left: 14px; } }
                      @media screen and (min-width: 769px) {
                        #header > nav.menu .container .primary .inner .top .global > ul > li > ul li a:hover {
                          color: #009150; } }
        #header > nav.menu .container .primary .inner .bottom {
          margin-top: 80px; }
          @media screen and (max-width: 768px) {
            #header > nav.menu .container .primary .inner .bottom {
              margin-top: 48px; } }
          #header > nav.menu .container .primary .inner .bottom ul {
            display: flex;
            flex-wrap: wrap;
            gap: 0 50px; }
            @media screen and (max-width: 768px) {
              #header > nav.menu .container .primary .inner .bottom ul {
                gap: 24px 0; } }
            #header > nav.menu .container .primary .inner .bottom ul li {
              flex: 0 0 calc((100% - 50px) / 2); }
              @media screen and (max-width: 768px) {
                #header > nav.menu .container .primary .inner .bottom ul li {
                  flex: 0 0 100%; } }
              #header > nav.menu .container .primary .inner .bottom ul li a {
                display: block;
                position: relative;
                font-weight: bold;
                font-size: 20px;
                letter-spacing: 0.08em;
                line-height: 97px;
                text-align: center;
                color: #fff;
                border: 1px solid #FFFFFF;
                border-radius: 10px;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  #header > nav.menu .container .primary .inner .bottom ul li a {
                    font-size: 14px;
                    letter-spacing: 0.08em;
                    line-height: 68px; } }
                @media screen and (min-width: 769px) {
                  #header > nav.menu .container .primary .inner .bottom ul li a:hover {
                    background-color: #fff;
                    color: #000; } }
                #header > nav.menu .container .primary .inner .bottom ul li a:after {
                  content: "";
                  display: block;
                  width: 36px;
                  height: 36px;
                  border-radius: 50%;
                  background-image: url("../images/common/menu_cta_arrow.svg");
                  background-position: 50% 50%;
                  background-repeat: no-repeat;
                  border: 1px solid #fff;
                  position: absolute;
                  right: 32px;
                  top: 50%;
                  transform: translateY(-50%);
                  background-color: #000; }
                  @media screen and (max-width: 768px) {
                    #header > nav.menu .container .primary .inner .bottom ul li a:after {
                      width: 28px;
                      height: 28px;
                      right: 20px; } }
    #header > nav.menu .container .secondary {
      height: calc(56px + 56px + 20px);
      padding: 56px 0;
      color: #fff;
      display: flex;
      justify-content: space-between;
      margin: 0 auto;
      width: 100%;
      max-width: 1100px; }
      @media screen and (max-width: 768px) {
        #header > nav.menu .container .secondary {
          width: calc(335 / 375 * 100vw);
          margin: 0 auto;
          display: block;
          height: auto;
          padding: 0; } }
      #header > nav.menu .container .secondary ul {
        display: flex;
        flex-wrap: wrap; }
        @media screen and (max-width: 768px) {
          #header > nav.menu .container .secondary ul {
            gap: 17px 0; } }
        #header > nav.menu .container .secondary ul li {
          border-left: 1px solid #BCBCBC;
          padding: 0 24px; }
          @media screen and (max-width: 768px) {
            #header > nav.menu .container .secondary ul li {
              padding: 0 16px; } }
          #header > nav.menu .container .secondary ul li a {
            font-weight: 500;
            font-size: 14px;
            letter-spacing: 0.1em;
            line-height: 20px;
            text-align: left;
            color: #fff;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              #header > nav.menu .container .secondary ul li a {
                font-size: 12px;
                letter-spacing: 0.05em;
                line-height: 16px; } }
            @media screen and (min-width: 769px) {
              #header > nav.menu .container .secondary ul li a:hover {
                color: #009150; } }
          #header > nav.menu .container .secondary ul li:first-child {
            border-left: none;
            padding-left: 0; }
            @media screen and (max-width: 768px) {
              #header > nav.menu .container .secondary ul li:first-child {
                padding-left: 16px;
                border-left: 1px solid #BCBCBC; } }
      #header > nav.menu .container .secondary .copyright {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 12px;
        letter-spacing: 0.04em;
        line-height: 20px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          #header > nav.menu .container .secondary .copyright {
            margin-top: 32px;
            border-top: 1px solid #BCBCBC;
            padding: 32px 0;
            line-height: 15px; } }

#content {
  position: relative; }

#footer {
  position: relative;
  background-color: rgba(0, 0, 0, 0.8); }
  #footer:after {
    content: "";
    background-image: url("../images/common/footer_corner.svg");
    background-size: 100% 100%;
    display: block;
    width: 100px;
    height: 100px;
    position: absolute;
    top: 0;
    right: 0; }
    @media screen and (max-width: 768px) {
      #footer:after {
        width: 40px;
        height: 40px; } }
  #footer .container {
    width: calc(100% - 72px * 2);
    max-width: 1100px;
    margin: 0 auto;
    padding: 130px 0 56px; }
    @media screen and (max-width: 768px) {
      #footer .container {
        width: 100%;
        padding: 110px calc(20 / 375 * 100vw) 32px; } }
    #footer .container .top {
      margin-bottom: 100px;
      display: flex; }
      @media screen and (max-width: 768px) {
        #footer .container .top {
          display: block;
          margin-bottom: 48px; } }
      #footer .container .top .logo {
        flex: 0 0 calc(380 / 1100 * 100%);
        align-self: center; }
        @media screen and (max-width: 768px) {
          #footer .container .top .logo {
            width: 250px;
            margin: 0 auto;
            margin-bottom: 78px; } }
      #footer .container .top .sitemap {
        flex: 0 0 calc(295 / 1100 * 100%);
        padding: 8px 0 4px;
        border-left: 1px solid #BCBCBC;
        padding-left: calc(64 / 1100 * 100%); }
        @media screen and (max-width: 768px) {
          #footer .container .top .sitemap {
            border-left: none;
            padding-left: 0;
            display: flex;
            margin-bottom: 48px; } }
        @media screen and (max-width: 768px) {
          #footer .container .top .sitemap > ul {
            border-left: 1px solid #BCBCBC;
            padding-left: 24px; } }
        @media screen and (max-width: 768px) {
          #footer .container .top .sitemap > ul:first-child {
            width: calc(170 / 335 * 100%); } }
        #footer .container .top .sitemap > ul + ul {
          padding-top: 24px; }
          @media screen and (max-width: 768px) {
            #footer .container .top .sitemap > ul + ul {
              padding-top: 0; } }
        #footer .container .top .sitemap > ul > li + li {
          margin-top: 18px; }
        #footer .container .top .sitemap > ul > li > a {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 18px;
          letter-spacing: 0.04em;
          line-height: 21px;
          text-align: left;
          color: #fff;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            #footer .container .top .sitemap > ul > li > a {
              font-size: 16px;
              letter-spacing: 0.04em;
              line-height: 20px; } }
          @media screen and (min-width: 769px) {
            #footer .container .top .sitemap > ul > li > a:hover {
              color: #009150; } }
        #footer .container .top .sitemap > ul > li > ul {
          margin-top: 8px; }
          @media screen and (max-width: 768px) {
            #footer .container .top .sitemap > ul > li > ul {
              margin-top: 10px;
              padding-bottom: 4px; } }
          #footer .container .top .sitemap > ul > li > ul li {
            border-left: 1px solid #BCBCBC; }
            #footer .container .top .sitemap > ul > li > ul li a {
              display: inline-block;
              font-family: "Inter", sans-serif;
              font-weight: 600;
              font-size: 14px;
              letter-spacing: 0.04em;
              line-height: 17px;
              text-align: left;
              color: #fff;
              padding-left: 14px;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                #footer .container .top .sitemap > ul > li > ul li a {
                  padding-left: 8px; } }
              @media screen and (min-width: 769px) {
                #footer .container .top .sitemap > ul > li > ul li a:hover {
                  color: #009150; } }
      #footer .container .top ul.cta {
        flex: 0 0 calc(425 / 1100 * 100%); }
        #footer .container .top ul.cta li + li {
          margin-top: 40px; }
          @media screen and (max-width: 768px) {
            #footer .container .top ul.cta li + li {
              margin-top: 24px; } }
        #footer .container .top ul.cta li a {
          position: relative;
          display: block;
          font-weight: bold;
          font-size: 20px;
          letter-spacing: 0.08em;
          line-height: 98px;
          text-align: center;
          color: #fff;
          width: 100%;
          border-radius: 10px;
          border: 1px solid #fff;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            #footer .container .top ul.cta li a {
              font-size: 14px;
              letter-spacing: 0.08em;
              line-height: 70px; } }
          #footer .container .top ul.cta li a:after {
            content: "";
            display: block;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            border: 1px solid #fff;
            position: absolute;
            top: 50%;
            right: 32px;
            transform: translateY(-50%);
            background-image: url("../images/common/footer_cta_arrow.svg");
            background-repeat: no-repeat;
            background-position: 50% 50%;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              #footer .container .top ul.cta li a:after {
                width: 28px;
                height: 28px;
                right: 20px; } }
          @media screen and (min-width: 769px) {
            #footer .container .top ul.cta li a:hover {
              background-color: #fff;
              color: #000; }
              #footer .container .top ul.cta li a:hover:after {
                background-color: #000; } }
    #footer .container .bottom {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        #footer .container .bottom {
          display: block; } }
      #footer .container .bottom ul {
        display: flex; }
        @media screen and (max-width: 768px) {
          #footer .container .bottom ul {
            flex-wrap: wrap;
            gap: 16px; } }
        #footer .container .bottom ul li {
          position: relative;
          padding: 0 24px; }
          @media screen and (max-width: 768px) {
            #footer .container .bottom ul li {
              font-size: 12px;
              letter-spacing: 0.05em;
              line-height: 16px;
              padding: 0;
              padding-left: 16px; } }
          #footer .container .bottom ul li a {
            display: block;
            font-weight: 500;
            font-size: 14px;
            letter-spacing: 0.1em;
            line-height: 20px;
            text-align: left;
            color: #fff;
            transition: all ease .3s; }
            @media screen and (min-width: 769px) {
              #footer .container .bottom ul li a:hover {
                color: #009150; } }
          #footer .container .bottom ul li:after {
            content: "";
            background-color: #BCBCBC;
            display: block;
            width: 1px;
            position: absolute;
            top: 2px;
            bottom: 2px;
            right: 0; }
            @media screen and (max-width: 768px) {
              #footer .container .bottom ul li:after {
                left: 0;
                right: auto;
                top: 0;
                bottom: 0; } }
          #footer .container .bottom ul li:last-child:after {
            display: none; }
            @media screen and (max-width: 768px) {
              #footer .container .bottom ul li:last-child:after {
                display: block; } }
      #footer .container .bottom .copyright {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 12px;
        letter-spacing: 0.04em;
        line-height: 20px;
        text-align: left;
        color: #fff; }
        @media screen and (max-width: 768px) {
          #footer .container .bottom .copyright {
            margin-top: 32px;
            padding-top: 32px;
            border-top: 1px solid #BCBCBC;
            font-size: 12px;
            letter-spacing: 0.04em;
            line-height: 15px; } }

main.home .visual {
  position: relative;
  padding-top: 100svh; }
  main.home .visual:after {
    content: "";
    display: block;
    height: 560px;
    background: linear-gradient(rgba(250, 250, 250, 0) 0%, #f5f5f5 85.71%, #f5f5f5 100%); }
    @media screen and (max-width: 768px) {
      main.home .visual:after {
        height: 400px; } }
  main.home .visual .scroll {
    position: fixed;
    right: 75px;
    bottom: 50px;
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.03em;
    line-height: 20px;
    text-align: left;
    color: #fff;
    padding-right: 20px;
    transition: all ease .3s; }
    @media screen and (max-width: 768px) {
      main.home .visual .scroll {
        font-size: 14px;
        letter-spacing: 0.03em;
        line-height: 17px;
        bottom: auto;
        top: calc(100svh - 32px);
        transform: translateY(-100%);
        right: 20px; } }
    .is-scrolled main.home .visual .scroll {
      opacity: 0; }
    main.home .visual .scroll:after {
      content: "";
      display: block;
      background-image: url("../images/home/visual_scroll_arrow.svg");
      width: 12px;
      height: 12px;
      position: absolute;
      top: 50%;
      right: 0;
      transform: translateY(-50%); }
      @media screen and (max-width: 768px) {
        main.home .visual .scroll:after {
          background-image: url("../images/home/visual_scroll_arrow_sp.svg");
          width: 11px;
          height: 10px; } }
  main.home .visual section.news {
    position: fixed;
    left: 72px;
    bottom: 46px;
    display: flex;
    transition: all ease .3s; }
    @media screen and (max-width: 768px) {
      main.home .visual section.news {
        display: block;
        border-bottom: 1px solid #fff;
        padding-bottom: 22px;
        left: 20px;
        right: 20px;
        bottom: auto;
        top: calc(100svh - 73px);
        transform: translateY(-100%); } }
    .is-scrolled main.home .visual section.news {
      opacity: 0; }
    main.home .visual section.news h2 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 16px;
      letter-spacing: 0.03em;
      line-height: 25px;
      color: #fff;
      border: 1px solid #FFFFFF;
      width: 78px;
      border-radius: 9999px;
      margin-right: 16px;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.home .visual section.news h2 {
          font-size: 12px;
          letter-spacing: 0.03em;
          line-height: 20px;
          width: 57px;
          margin-bottom: 14px; } }
    main.home .visual section.news p a {
      font-weight: bold;
      font-size: 14px;
      line-height: 25px;
      text-align: left;
      color: #fff;
      border-bottom: 1px solid #fff; }
      @media screen and (max-width: 768px) {
        main.home .visual section.news p a {
          line-height: 24px;
          border-bottom: none; } }
main.home section.about {
  overflow: hidden;
  position: relative; }
  main.home section.about .container {
    position: relative;
    width: calc(100% - 144px);
    max-width: 1222px;
    margin: 0 auto;
    height: 754px;
    display: flex;
    justify-content: flex-end; }
    @media screen and (max-width: 768px) {
      main.home section.about .container {
        width: calc(100% - 40px);
        height: auto;
        display: block; } }
    main.home section.about .container .content {
      position: relative;
      z-index: 1;
      flex: 0 0 636px;
      padding-left: 50px;
      padding-top: 131px; }
      @media screen and (max-width: 768px) {
        main.home section.about .container .content {
          padding: 87px 0 56px;
          background-color: #F5F5F5; }
          main.home section.about .container .content:before, main.home section.about .container .content:after {
            content: "";
            display: block;
            width: 100vw;
            background-color: #F5F5F5;
            position: absolute;
            top: 0;
            bottom: 0; }
          main.home section.about .container .content:before {
            left: 100%; }
          main.home section.about .container .content:after {
            right: 100%; } }
      main.home section.about .container .content header > p {
        margin-left: -50px;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 24px;
        letter-spacing: 0.03em;
        line-height: 29px;
        text-align: left;
        color: #009150;
        margin-bottom: 70px; }
        @media screen and (max-width: 768px) {
          main.home section.about .container .content header > p {
            margin-left: 0;
            font-size: 18px;
            line-height: 21px;
            letter-spacing: 0.05em;
            margin-bottom: 44px; } }
      main.home section.about .container .content header hgroup h2 {
        font-weight: bold;
        font-size: 54px;
        letter-spacing: 0.25em;
        line-height: 90px;
        text-align: left;
        color: #262626;
        margin-bottom: 44px; }
        @media screen and (max-width: 768px) {
          main.home section.about .container .content header hgroup h2 {
            font-size: 32px;
            letter-spacing: 0.15em;
            line-height: 56px;
            margin-bottom: 24px; } }
      main.home section.about .container .content header hgroup p {
        font-family: "Inter", sans-serif;
        font-weight: 500;
        font-size: 18px;
        letter-spacing: 0.03em;
        line-height: 21px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.home section.about .container .content header hgroup p {
            font-size: 12px;
            letter-spacing: 0.03em;
            line-height: 15px; } }
      main.home section.about .container .content .action {
        margin-top: 80px; }
        @media screen and (max-width: 768px) {
          main.home section.about .container .content .action {
            margin-top: 56px; } }
        main.home section.about .container .content .action a {
          position: relative;
          display: inline-block;
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 29px;
          text-align: left;
          color: #262626;
          padding-right: 48px; }
          main.home section.about .container .content .action a:after {
            content: "";
            position: absolute;
            bottom: 0;
            background-color: #009150;
            left: 0;
            display: block;
            height: 1px;
            width: 0;
            transition: all ease .3s; }
          main.home section.about .container .content .action a .arrow {
            border: 1px solid #262626;
            width: 29px;
            height: 29px;
            border-radius: 50%;
            position: absolute;
            right: 0;
            top: 0;
            transition: all ease .3s; }
            main.home section.about .container .content .action a .arrow:after {
              content: "";
              -weblit-mask-image: url("../images/home/arrow_link.svg");
              -webkit-mask-size: 6px 9px;
              mask-image: url("../images/home/arrow_link.svg");
              mask-size: 6px 9px;
              display: block;
              width: 6px;
              height: 9px;
              background-color: #262626;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
          @media screen and (min-width: 769px) {
            main.home section.about .container .content .action a:hover:after {
              width: calc(100% - 48px); }
            main.home section.about .container .content .action a:hover .arrow {
              background-color: #009150;
              border-color: #009150; }
              main.home section.about .container .content .action a:hover .arrow:after {
                background-color: #fff; } }
    main.home section.about .container .bg {
      position: absolute;
      left: -72px;
      top: 0;
      bottom: 0;
      display: block;
      background-image: url("../images/home/about_bg.svg");
      background-size: 1366px 754px;
      background-position: 0 100%;
      width: 1366px;
      height: 754px; }
      @media screen and (max-width: 768px) {
        main.home section.about .container .bg {
          display: block;
          background-image: url("../images/home/about_bg_sp.svg");
          background-position: 100% 100%;
          background-size: 375px 220px;
          height: 220px;
          width: 375px;
          position: relative;
          margin: 0 -20px 0 auto;
          margin-top: -1px;
          left: auto;
          top: auto;
          bottom: auto;
          transform: none; } }
      main.home section.about .container .bg:before, main.home section.about .container .bg:after {
        content: "";
        display: block;
        width: 100vw;
        background-color: #F5F5F5;
        position: absolute;
        top: 0;
        bottom: 0; }
      main.home section.about .container .bg:before {
        left: 100%; }
      main.home section.about .container .bg:after {
        right: 100%; }
main.home section.whatwedo {
  position: relative;
  overflow: hidden;
  border-top: 1px solid #D1D1D1;
  margin-top: -1px; }
  main.home section.whatwedo .container {
    position: relative;
    max-width: 1366px;
    margin: 0 auto;
    height: 844px;
    background-image: url("../images/home/whatwedo_bg.svg");
    background-size: 1366px 844px;
    background-position: 0 100%;
    padding: 0 72px;
    padding-top: 166px; }
    @media screen and (max-width: 768px) {
      main.home section.whatwedo .container {
        background-image: none;
        padding: 0;
        height: auto; } }
    main.home section.whatwedo .container:before, main.home section.whatwedo .container:after {
      content: "";
      display: block;
      width: 100vw;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0; }
    main.home section.whatwedo .container:before {
      left: 100%; }
      @media screen and (max-width: 768px) {
        main.home section.whatwedo .container:before {
          right: 375px;
          top: auto;
          bottom: 0;
          left: auto;
          height: 260px; } }
    main.home section.whatwedo .container:after {
      right: 100%; }
      @media screen and (max-width: 768px) {
        main.home section.whatwedo .container:after {
          position: relative;
          display: block;
          background-image: url("../images/home/whatwedo_bg_sp.svg");
          top: auto;
          right: auto;
          bottom: auto;
          left: auto;
          margin: 0 0 0 auto;
          width: 375px;
          height: 260px;
          background-color: transparent; } }
    main.home section.whatwedo .container .content {
      padding: 0 60px;
      display: flex; }
      @media screen and (max-width: 768px) {
        main.home section.whatwedo .container .content {
          display: block;
          padding: 0 20px;
          padding-top: 88px;
          background-color: #F5F5F5; } }
      main.home section.whatwedo .container .content header {
        flex: 0 0 calc(50% - 25px); }
        main.home section.whatwedo .container .content header p {
          margin-left: -60px;
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 24px;
          letter-spacing: 0.03em;
          line-height: 29px;
          text-align: left;
          color: #009150;
          margin-bottom: 82px; }
          @media screen and (max-width: 768px) {
            main.home section.whatwedo .container .content header p {
              font-size: 18px;
              line-height: 21px;
              letter-spacing: 0.05em;
              padding: 0;
              margin: 0;
              margin-bottom: 30px; } }
        main.home section.whatwedo .container .content header h2 {
          font-weight: 500;
          font-size: 20px;
          letter-spacing: 0.1em;
          line-height: 48px;
          text-align: left;
          color: #262626; }
          @media screen and (max-width: 768px) {
            main.home section.whatwedo .container .content header h2 {
              font-size: 14px;
              letter-spacing: 0.03em;
              line-height: 30px; } }
      main.home section.whatwedo .container .content figure {
        flex: 0 0 calc(50% + 25px);
        padding-top: 4px; }
        @media screen and (max-width: 768px) {
          main.home section.whatwedo .container .content figure {
            margin: 0 -20px;
            margin-top: 50px; } }
        main.home section.whatwedo .container .content figure ol {
          position: relative;
          width: 575px;
          height: 526px;
          aspect-ratio: 575 / 526; }
          @media screen and (max-width: 768px) {
            main.home section.whatwedo .container .content figure ol {
              margin: 0 auto;
              width: calc(335 / 375 * 100vw);
              height: calc(314 / 375 * 100vw); } }
          main.home section.whatwedo .container .content figure ol:before {
            content: "";
            display: block;
            width: 355px;
            height: 355px;
            border: 1px solid #919191;
            border-radius: 50%;
            position: absolute;
            top: 115px;
            left: 50%;
            transform: translateX(-50%); }
            @media screen and (max-width: 768px) {
              main.home section.whatwedo .container .content figure ol:before {
                width: calc(210 / 375 * 100vw);
                height: calc(210 / 375 * 100vw);
                top: calc(79 / 375 * 100vw); } }
          main.home section.whatwedo .container .content figure ol li {
            position: absolute;
            width: 267px;
            height: 267px; }
            @media screen and (max-width: 768px) {
              main.home section.whatwedo .container .content figure ol li {
                width: calc(160 / 375 * 100vw);
                height: calc(160 / 375 * 100vw); } }
            main.home section.whatwedo .container .content figure ol li a {
              position: relative;
              z-index: 1;
              display: block;
              border: 1px solid #919191;
              width: 100%;
              height: 100%;
              border-radius: 50%;
              padding-top: 49px;
              background-color: #F5F5F5;
              transition: all ease .3s; }
              @media screen and (max-width: 768px) {
                main.home section.whatwedo .container .content figure ol li a {
                  padding-top: calc(18 / 375 * 100vw); } }
              main.home section.whatwedo .container .content figure ol li a:before {
                content: "";
                display: block;
                width: 267px;
                height: 267px;
                border-radius: 50%;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                opacity: 0;
                transition: all ease .3s;
                background-color: #009150;
                z-index: -1; }
                @media screen and (max-width: 768px) {
                  main.home section.whatwedo .container .content figure ol li a:before {
                    display: none; } }
              main.home section.whatwedo .container .content figure ol li a:after {
                content: "";
                display: block;
                width: 267px;
                height: 267px;
                border-radius: 50%;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                opacity: 0;
                border: 1px solid #fff;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.home section.whatwedo .container .content figure ol li a:after {
                    display: none; } }
              main.home section.whatwedo .container .content figure ol li a p:nth-child(1) {
                position: relative;
                font-family: "Inter", sans-serif;
                font-weight: 600;
                font-size: 28px;
                line-height: 34px;
                text-align: center;
                color: #009150;
                margin-bottom: 20.5px;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.home section.whatwedo .container .content figure ol li a p:nth-child(1) {
                    font-size: calc(18 / 375 * 100vw);
                    line-height: calc(21 / 375 * 100vw);
                    margin-bottom: calc(10 / 375 * 100vw); } }
              main.home section.whatwedo .container .content figure ol li a p:nth-child(2) {
                position: relative;
                font-family: "Inter", sans-serif;
                font-weight: 600;
                font-size: 30px;
                letter-spacing: 0.03em;
                line-height: 36px;
                text-align: center;
                color: #009150;
                margin-bottom: 28px;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.home section.whatwedo .container .content figure ol li a p:nth-child(2) {
                    font-size: calc(18 / 375 * 100vw);
                    letter-spacing: 0.03em;
                    line-height: calc(21 / 375 * 100vw);
                    margin-bottom: calc(12 / 375 * 100vw); } }
              main.home section.whatwedo .container .content figure ol li a p:nth-child(3) {
                position: relative;
                font-weight: bold;
                font-size: 13px;
                letter-spacing: 0.05em;
                line-height: 24px;
                color: #262626;
                width: fit-content;
                margin: 0 auto;
                padding-right: 34px;
                transition: all ease .3s; }
                @media screen and (max-width: 768px) {
                  main.home section.whatwedo .container .content figure ol li a p:nth-child(3) {
                    font-size: calc(12 / 375 * 100vw);
                    letter-spacing: 0.05em;
                    line-height: 1.5;
                    text-align: center;
                    padding-right: 0; } }
                main.home section.whatwedo .container .content figure ol li a p:nth-child(3) .arrow {
                  position: absolute;
                  display: block;
                  top: 0;
                  right: 0;
                  width: 24px;
                  height: 24px;
                  border-radius: 50%;
                  border: 1px solid #262626;
                  transition: all ease .3s; }
                  @media screen and (max-width: 768px) {
                    main.home section.whatwedo .container .content figure ol li a p:nth-child(3) .arrow {
                      display: block;
                      position: relative;
                      margin: calc(12 / 375 * 100vw) auto 0;
                      width: calc(20 / 375 * 100vw);
                      height: calc(20 / 375 * 100vw);
                      top: auto;
                      right: auto; } }
                  main.home section.whatwedo .container .content figure ol li a p:nth-child(3) .arrow:after {
                    content: "";
                    -weblit-mask-image: url("../images/home/arrow_link.svg");
                    -webkit-mask-size: 6px 9px;
                    mask-image: url("../images/home/arrow_link.svg");
                    mask-size: 6px 9px;
                    display: block;
                    width: 6px;
                    height: 9px;
                    background-color: #262626;
                    position: absolute;
                    top: 50%;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    transition: all ease .3s; }
              @media screen and (min-width: 769px) {
                main.home section.whatwedo .container .content figure ol li a:hover {
                  background-color: #009150;
                  border-color: #009150; }
                  main.home section.whatwedo .container .content figure ol li a:hover:before {
                    opacity: 1;
                    width: 280px;
                    height: 280px; }
                  main.home section.whatwedo .container .content figure ol li a:hover:after {
                    opacity: 1;
                    width: 260px;
                    height: 260px; }
                  main.home section.whatwedo .container .content figure ol li a:hover p:nth-child(1) {
                    color: #fff; }
                  main.home section.whatwedo .container .content figure ol li a:hover p:nth-child(2) {
                    color: #fff; }
                  main.home section.whatwedo .container .content figure ol li a:hover p:nth-child(3) {
                    color: #fff; }
                    main.home section.whatwedo .container .content figure ol li a:hover p:nth-child(3) .arrow {
                      background-color: #fff;
                      border-color: #fff; }
                      main.home section.whatwedo .container .content figure ol li a:hover p:nth-child(3) .arrow:after {
                        background-color: #009150; } }
            main.home section.whatwedo .container .content figure ol li:nth-child(1) {
              left: 50%;
              top: 0;
              transform: translateX(-50%); }
            main.home section.whatwedo .container .content figure ol li:nth-child(2) {
              left: 0;
              bottom: 0; }
            main.home section.whatwedo .container .content figure ol li:nth-child(3) {
              right: 0;
              bottom: 0; }
main.home section.brand {
  overflow: hidden;
  border-top: 1px solid #D1D1D1; }
  main.home section.brand .container {
    position: relative;
    max-width: 1366px;
    margin: 0 auto;
    height: 839px;
    display: flex; }
    @media screen and (max-width: 768px) {
      main.home section.brand .container {
        height: auto;
        display: block; } }
    main.home section.brand .container:before, main.home section.brand .container:after {
      content: "";
      display: block;
      width: 100vw;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0; }
    main.home section.brand .container:before {
      left: 100%;
      display: none; }
      @media screen and (max-width: 768px) {
        main.home section.brand .container:before {
          display: block;
          left: 375px;
          top: auto;
          bottom: 0;
          height: 90px; } }
    main.home section.brand .container:after {
      right: 100%; }
      @media screen and (max-width: 768px) {
        main.home section.brand .container:after {
          position: relative;
          height: 92px;
          width: auto;
          top: auto;
          left: auto;
          right: auto;
          bottom: auto;
          background-image: url("../images/home/brand_bg_sp.svg");
          width: 375px;
          height: 90px;
          background-color: transparent; } }
    main.home section.brand .container .content {
      padding-left: 132px;
      flex: 0 0 calc(740 / 1366 * 100%);
      background-image: url("../images/home/brand_bg.svg");
      background-size: 740px 839px;
      background-position: 0 100%;
      padding-top: 113px; }
      @media screen and (max-width: 768px) {
        main.home section.brand .container .content {
          padding-left: 20px;
          padding-right: 20px;
          padding-top: 88px;
          padding-bottom: calc(60px + 60 / 375 * 100vw);
          background-image: none;
          background-color: #F5F5F5; } }
      main.home section.brand .container .content header > div.marker {
        margin-left: -60px;
        display: flex;
        align-items: baseline;
        margin-bottom: 58px; }
        @media screen and (max-width: 768px) {
          main.home section.brand .container .content header > div.marker {
            margin-bottom: 40px;
            margin-left: 0; } }
        main.home section.brand .container .content header > div.marker p:nth-child(1) {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 56px;
          line-height: 68px;
          text-align: left;
          color: #009150;
          margin-right: 32px; }
          @media screen and (max-width: 768px) {
            main.home section.brand .container .content header > div.marker p:nth-child(1) {
              font-size: 32px;
              line-height: 39px; } }
        main.home section.brand .container .content header > div.marker p:nth-child(2) {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 20px;
          letter-spacing: 0.03em;
          line-height: 24px;
          text-align: left;
          color: #009150; }
          @media screen and (max-width: 768px) {
            main.home section.brand .container .content header > div.marker p:nth-child(2) {
              font-size: 18px;
              letter-spacing: 0.05em; } }
      main.home section.brand .container .content header h2 {
        font-weight: bold;
        font-size: 28px;
        letter-spacing: 0.2em;
        line-height: 52px;
        text-align: left;
        color: #262626;
        margin-bottom: 60px; }
        @media screen and (max-width: 768px) {
          main.home section.brand .container .content header h2 {
            font-size: 20px;
            letter-spacing: 0.1em;
            line-height: 36px;
            margin-bottom: 38px; } }
      main.home section.brand .container .content > p {
        max-width: 425px;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 36px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.home section.brand .container .content > p {
            max-width: none;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 32px; } }
      main.home section.brand .container .content .action {
        margin-top: 60px; }
        @media screen and (max-width: 768px) {
          main.home section.brand .container .content .action {
            margin-top: 56px; } }
        main.home section.brand .container .content .action a {
          position: relative;
          display: inline-block;
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 29px;
          text-align: left;
          color: #262626;
          padding-right: 48px; }
          main.home section.brand .container .content .action a:after {
            content: "";
            position: absolute;
            bottom: 0;
            background-color: #009150;
            left: 0;
            display: block;
            height: 1px;
            width: 0;
            transition: all ease .3s; }
          main.home section.brand .container .content .action a .arrow {
            border: 1px solid #262626;
            width: 29px;
            height: 29px;
            border-radius: 50%;
            position: absolute;
            right: 0;
            top: 0;
            transition: all ease .3s; }
            main.home section.brand .container .content .action a .arrow:after {
              content: "";
              -weblit-mask-image: url("../images/home/arrow_link.svg");
              -webkit-mask-size: 6px 9px;
              mask-image: url("../images/home/arrow_link.svg");
              mask-size: 6px 9px;
              display: block;
              width: 6px;
              height: 9px;
              background-color: #262626;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
          @media screen and (min-width: 769px) {
            main.home section.brand .container .content .action a:hover:after {
              width: calc(100% - 48px); }
            main.home section.brand .container .content .action a:hover .arrow {
              background-color: #009150;
              border-color: #009150; }
              main.home section.brand .container .content .action a:hover .arrow:after {
                background-color: #fff; } }
    main.home section.brand .container figure {
      position: relative;
      flex: 0 0 calc(626 / 1366 * 100%);
      height: 578px;
      align-self: flex-end;
      background-image: url("../images/home/figure_corner_01.svg"), url("../images/home/figure_corner_04.svg");
      background-size: 30px 30px, 30px 30px;
      background-repeat: no-repeat, no-repeat;
      background-position: 0 0, 0 100%; }
      @media screen and (max-width: 768px) {
        main.home section.brand .container figure {
          aspect-ratio: 335 / 310;
          width: calc(335 / 375 * 100vw);
          height: auto;
          margin: 0 0 0 auto;
          background-image: url("../images/home/figure_corner_01.svg"), url("../images/home/figure_corner_04.svg");
          background-size: 15px 15px, 15px 15px;
          background-repeat: no-repeat, no-repeat;
          background-position: 0 0, 0 100%;
          margin: 0 0 0 auto; } }
      main.home section.brand .container figure:before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 0;
        display: block;
        height: 1000px;
        width: 100vw;
        background-color: #F5F5F5; }
        @media screen and (max-width: 768px) {
          main.home section.brand .container figure:before {
            top: 0;
            right: 100%;
            left: auto;
            bottom: 0;
            width: 100vw;
            height: auto; } }
      main.home section.brand .container figure img {
        position: absolute;
        box-shadow: 10px 20px 40px rgba(0, 0, 0, 0.16); }
        main.home section.brand .container figure img:nth-child(1) {
          top: -195px;
          right: 0;
          width: 447px; }
          @media screen and (max-width: 768px) {
            main.home section.brand .container figure img:nth-child(1) {
              width: calc(229 / 335 * 100%);
              right: 0;
              top: calc(-60 / 310 * 100%); } }
        main.home section.brand .container figure img:nth-child(2) {
          top: -46px;
          left: 64px;
          width: 208px; }
          @media screen and (max-width: 768px) {
            main.home section.brand .container figure img:nth-child(2) {
              width: calc(116 / 335 * 100%);
              top: calc(-18 / 310 * 100%);
              left: calc(36 / 335 * 100%); } }
        main.home section.brand .container figure img:nth-child(3) {
          top: 213px;
          right: 72px;
          width: 141px;
          z-index: 1; }
          @media screen and (max-width: 768px) {
            main.home section.brand .container figure img:nth-child(3) {
              width: calc(74 / 335 * 100%);
              top: calc(147 / 310 * 100%);
              left: calc(178 / 335 * 100%); } }
        main.home section.brand .container figure img:nth-child(4) {
          top: 303px;
          left: 179px;
          left: 179px;
          width: 280px; }
          @media screen and (max-width: 768px) {
            main.home section.brand .container figure img:nth-child(4) {
              width: calc(146 / 335 * 100%);
              top: calc(174 / 310 * 100%);
              left: calc(41 / 335 * 100%); } }
main.home section.produce {
  overflow: hidden;
  border-top: 1px solid #D1D1D1; }
  main.home section.produce .container {
    position: relative;
    max-width: 1366px;
    margin: 0 auto;
    height: 899px;
    display: flex; }
    @media screen and (max-width: 768px) {
      main.home section.produce .container {
        display: block;
        height: auto; } }
    main.home section.produce .container:before, main.home section.produce .container:after {
      content: "";
      display: block;
      width: 100vw;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0; }
    main.home section.produce .container:before {
      left: 100%;
      display: none; }
      @media screen and (max-width: 768px) {
        main.home section.produce .container:before {
          display: block;
          left: 375px;
          top: auto;
          bottom: 0;
          height: 90px; } }
    main.home section.produce .container:after {
      right: 100%; }
      @media screen and (max-width: 768px) {
        main.home section.produce .container:after {
          position: relative;
          height: 92px;
          width: auto;
          top: auto;
          left: auto;
          right: auto;
          bottom: auto;
          background-image: url("../images/home/produce_bg_sp.svg");
          width: 375px;
          height: 90px;
          background-color: transparent; } }
    main.home section.produce .container .content {
      padding-left: 132px;
      flex: 0 0 calc(740 / 1366 * 100%);
      background-image: url("../images/home/produce_bg.svg");
      background-size: 740px 899px;
      background-position: 0 100%;
      padding-top: 147px; }
      @media screen and (max-width: 768px) {
        main.home section.produce .container .content {
          padding-left: 20px;
          padding-right: 20px;
          padding-top: 88px;
          padding-bottom: calc(61px + 62 / 375 * 100vw);
          background-image: none;
          background-color: #F5F5F5; } }
      main.home section.produce .container .content header > div {
        margin-left: -60px;
        display: flex;
        align-items: baseline;
        margin-bottom: 58px; }
        @media screen and (max-width: 768px) {
          main.home section.produce .container .content header > div {
            margin-bottom: 40px;
            margin-left: 0; } }
        main.home section.produce .container .content header > div p:nth-child(1) {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 56px;
          line-height: 68px;
          text-align: left;
          color: #009150;
          margin-right: 32px; }
          @media screen and (max-width: 768px) {
            main.home section.produce .container .content header > div p:nth-child(1) {
              font-size: 32px;
              line-height: 39px; } }
        main.home section.produce .container .content header > div p:nth-child(2) {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 20px;
          letter-spacing: 0.03em;
          line-height: 24px;
          text-align: left;
          color: #009150; }
          @media screen and (max-width: 768px) {
            main.home section.produce .container .content header > div p:nth-child(2) {
              font-size: 18px;
              letter-spacing: 0.05em; } }
      main.home section.produce .container .content header h2 {
        font-weight: bold;
        font-size: 28px;
        letter-spacing: 0.2em;
        line-height: 52px;
        text-align: left;
        color: #262626;
        margin-bottom: 60px; }
        @media screen and (max-width: 768px) {
          main.home section.produce .container .content header h2 {
            font-size: 20px;
            letter-spacing: 0.1em;
            line-height: 36px;
            margin-bottom: 38px; } }
      main.home section.produce .container .content > p {
        max-width: 484px;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 36px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.home section.produce .container .content > p {
            max-width: none;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 32px; } }
      main.home section.produce .container .content .action {
        margin-top: 100px; }
        @media screen and (max-width: 768px) {
          main.home section.produce .container .content .action {
            margin-top: 56px; } }
        main.home section.produce .container .content .action a {
          position: relative;
          display: inline-block;
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 29px;
          text-align: left;
          color: #262626;
          padding-right: 48px; }
          main.home section.produce .container .content .action a:after {
            content: "";
            position: absolute;
            bottom: 0;
            background-color: #009150;
            left: 0;
            display: block;
            height: 1px;
            width: 0;
            transition: all ease .3s; }
          main.home section.produce .container .content .action a .arrow {
            border: 1px solid #262626;
            width: 29px;
            height: 29px;
            border-radius: 50%;
            position: absolute;
            right: 0;
            top: 0;
            transition: all ease .3s; }
            main.home section.produce .container .content .action a .arrow:after {
              content: "";
              -weblit-mask-image: url("../images/home/arrow_link.svg");
              -webkit-mask-size: 6px 9px;
              mask-image: url("../images/home/arrow_link.svg");
              mask-size: 6px 9px;
              display: block;
              width: 6px;
              height: 9px;
              background-color: #262626;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
          @media screen and (min-width: 769px) {
            main.home section.produce .container .content .action a:hover:after {
              width: calc(100% - 48px); }
            main.home section.produce .container .content .action a:hover .arrow {
              background-color: #009150;
              border-color: #009150; }
              main.home section.produce .container .content .action a:hover .arrow:after {
                background-color: #fff; } }
    main.home section.produce .container figure {
      position: relative;
      flex: 0 0 calc(626 / 1366 * 100%);
      align-self: flex-end;
      height: 578px;
      background-image: url("../images/home/figure_corner_01.svg"), url("../images/home/figure_corner_04.svg");
      background-size: 30px 30px, 30px 30px;
      background-repeat: no-repeat, no-repeat;
      background-position: 0 0, 0 100%; }
      @media screen and (max-width: 768px) {
        main.home section.produce .container figure {
          aspect-ratio: 335 / 308;
          width: calc(335 / 375 * 100vw);
          height: auto;
          margin: 0 0 0 auto;
          background-image: url("../images/home/figure_corner_01.svg"), url("../images/home/figure_corner_04.svg");
          background-size: 15px 15px, 15px 15px;
          background-repeat: no-repeat, no-repeat;
          background-position: 0 0, 0 100%;
          margin: 0 0 0 auto; } }
      main.home section.produce .container figure:before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 0;
        width: 100vw;
        height: 1000px;
        display: block;
        background-color: #F5F5F5; }
        @media screen and (max-width: 768px) {
          main.home section.produce .container figure:before {
            top: 0;
            right: 100%;
            left: auto;
            bottom: 0;
            height: auto; } }
      main.home section.produce .container figure img {
        position: absolute;
        box-shadow: 10px 20px 40px rgba(0, 0, 0, 0.16); }
        main.home section.produce .container figure img:nth-child(1) {
          top: -201px;
          right: 81px;
          width: 447px; }
          @media screen and (max-width: 768px) {
            main.home section.produce .container figure img:nth-child(1) {
              top: calc(-62 / 308 * 100%);
              right: calc(50 / 335 * 100%);
              width: calc(230 / 335 * 100%); } }
        main.home section.produce .container figure img:nth-child(2) {
          top: 110px;
          right: 0px;
          width: 172px; }
          @media screen and (max-width: 768px) {
            main.home section.produce .container figure img:nth-child(2) {
              top: calc(114 / 308 * 100%);
              right: calc(0 / 335 * 100%);
              width: calc(100 / 335 * 100%); } }
        main.home section.produce .container figure img:nth-child(3) {
          top: 238px;
          left: 98px;
          width: 207px;
          z-index: 1; }
          @media screen and (max-width: 768px) {
            main.home section.produce .container figure img:nth-child(3) {
              top: calc(104 / 308 * 100%);
              left: calc(26 / 335 * 100%);
              width: calc(92 / 335 * 100%); } }
        main.home section.produce .container figure img:nth-child(4) {
          top: 329px;
          left: 254px;
          width: 254px; }
          @media screen and (max-width: 768px) {
            main.home section.produce .container figure img:nth-child(4) {
              top: calc(174 / 308 * 100%);
              left: calc(150 / 335 * 100%);
              width: calc(135 / 335 * 100%); } }
main.home section.action {
  overflow: hidden;
  border-top: 1px solid #D1D1D1; }
  main.home section.action .container {
    position: relative;
    max-width: 1366px;
    margin: 0 auto;
    display: flex; }
    @media screen and (max-width: 768px) {
      main.home section.action .container {
        display: block; } }
    main.home section.action .container:before, main.home section.action .container:after {
      content: "";
      display: block;
      width: 100vw;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0; }
    main.home section.action .container:before {
      left: 100%;
      display: none; }
    main.home section.action .container:after {
      right: 100%; }
    main.home section.action .container:nth-child(1) .content {
      padding-left: 132px;
      flex: 0 0 calc(740 / 1366 * 100%);
      background-size: 740px 899px;
      background-position: 0 100%;
      padding-top: 147px;
      height: 946px;
      background-color: #F5F5F5; }
      @media screen and (max-width: 768px) {
        main.home section.action .container:nth-child(1) .content {
          padding-left: 20px;
          padding-right: 20px;
          padding-top: 88px;
          padding-bottom: calc(62px + 40 / 375 * 100vw);
          height: auto; } }
      main.home section.action .container:nth-child(1) .content header > div {
        margin-left: -60px;
        display: flex;
        align-items: baseline;
        margin-bottom: 58px; }
        @media screen and (max-width: 768px) {
          main.home section.action .container:nth-child(1) .content header > div {
            margin-bottom: 40px;
            margin-left: 0; } }
        main.home section.action .container:nth-child(1) .content header > div p:nth-child(1) {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 56px;
          line-height: 68px;
          text-align: left;
          color: #009150;
          margin-right: 32px; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(1) .content header > div p:nth-child(1) {
              font-size: 32px;
              line-height: 39px; } }
        main.home section.action .container:nth-child(1) .content header > div p:nth-child(2) {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 20px;
          letter-spacing: 0.03em;
          line-height: 24px;
          text-align: left;
          color: #009150; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(1) .content header > div p:nth-child(2) {
              font-size: 18px;
              letter-spacing: 0.05em; } }
      main.home section.action .container:nth-child(1) .content header h2 {
        font-weight: bold;
        font-size: 28px;
        letter-spacing: 0.2em;
        line-height: 52px;
        text-align: left;
        color: #262626;
        margin-bottom: 44px; }
        @media screen and (max-width: 768px) {
          main.home section.action .container:nth-child(1) .content header h2 {
            font-size: 20px;
            letter-spacing: 0.1em;
            line-height: 36px;
            margin-bottom: 38px; } }
      main.home section.action .container:nth-child(1) .content > p {
        max-width: 484px;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 36px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.home section.action .container:nth-child(1) .content > p {
            max-width: none;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 32px; } }
      main.home section.action .container:nth-child(1) .content .action {
        margin-top: 60px; }
        @media screen and (max-width: 768px) {
          main.home section.action .container:nth-child(1) .content .action {
            margin-top: 56px; } }
        main.home section.action .container:nth-child(1) .content .action a {
          position: relative;
          display: inline-block;
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 29px;
          text-align: left;
          color: #262626;
          padding-right: 48px; }
          main.home section.action .container:nth-child(1) .content .action a:after {
            content: "";
            position: absolute;
            bottom: 0;
            background-color: #009150;
            left: 0;
            display: block;
            height: 1px;
            width: 0;
            transition: all ease .3s; }
          main.home section.action .container:nth-child(1) .content .action a .arrow {
            border: 1px solid #262626;
            width: 29px;
            height: 29px;
            border-radius: 50%;
            position: absolute;
            right: 0;
            top: 0;
            transition: all ease .3s; }
            main.home section.action .container:nth-child(1) .content .action a .arrow:after {
              content: "";
              -weblit-mask-image: url("../images/home/arrow_link.svg");
              -webkit-mask-size: 6px 9px;
              mask-image: url("../images/home/arrow_link.svg");
              mask-size: 6px 9px;
              display: block;
              width: 6px;
              height: 9px;
              background-color: #262626;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
          @media screen and (min-width: 769px) {
            main.home section.action .container:nth-child(1) .content .action a:hover:after {
              width: calc(100% - 48px); }
            main.home section.action .container:nth-child(1) .content .action a:hover .arrow {
              background-color: #009150;
              border-color: #009150; }
              main.home section.action .container:nth-child(1) .content .action a:hover .arrow:after {
                background-color: #fff; } }
      main.home section.action .container:nth-child(1) .content figure {
        margin-top: 72px;
        max-width: 484px; }
        @media screen and (max-width: 768px) {
          main.home section.action .container:nth-child(1) .content figure {
            margin-top: 64px;
            max-width: none; } }
    main.home section.action .container:nth-child(1) > figure {
      position: relative;
      flex: 0 0 calc(626 / 1366 * 100%);
      align-self: flex-end;
      height: 578px;
      background-image: url("../images/home/figure_corner_01.svg"), url("../images/home/figure_corner_04.svg");
      background-size: 30px 30px, 30px 30px;
      background-repeat: no-repeat, no-repeat;
      background-position: 0 0, 0 100%; }
      @media screen and (max-width: 768px) {
        main.home section.action .container:nth-child(1) > figure {
          aspect-ratio: 335 / 298;
          width: calc(335 / 375 * 100vw);
          height: auto;
          margin: 0 0 0 auto;
          background-image: url("../images/home/figure_corner_01.svg"), url("../images/home/figure_corner_02.svg"), url("../images/home/figure_corner_03.svg"), url("../images/home/figure_corner_04.svg");
          background-size: 15px 15px, 15px 15px, 15px 15px, 15px 15px;
          background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
          background-position: 0 0, 100% 0, 100% 100%, 0 100%; } }
      main.home section.action .container:nth-child(1) > figure:before {
        content: "";
        position: absolute;
        bottom: 100%;
        left: 0;
        display: block;
        width: 100vw;
        height: 1000px;
        background-color: #F5F5F5; }
        @media screen and (max-width: 768px) {
          main.home section.action .container:nth-child(1) > figure:before {
            top: 0;
            right: 100%;
            left: auto;
            bottom: 0;
            height: auto; } }
      main.home section.action .container:nth-child(1) > figure img {
        position: absolute;
        box-shadow: 10px 20px 40px rgba(0, 0, 0, 0.16); }
        main.home section.action .container:nth-child(1) > figure img:nth-child(1) {
          top: -248px;
          right: 0px;
          width: 447px; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(1) > figure img:nth-child(1) {
              top: calc(-40 / 298 * 100%);
              right: 0;
              width: calc(230 / 335 * 100%); } }
        main.home section.action .container:nth-child(1) > figure img:nth-child(2) {
          top: 64px;
          left: 98px;
          width: 180px; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(1) > figure img:nth-child(2) {
              top: calc(94 / 298 * 100%);
              left: calc(36 / 335 * 100%);
              width: calc(92 / 335 * 100%); } }
        main.home section.action .container:nth-child(1) > figure img:nth-child(3) {
          top: 155px;
          right: 0px;
          width: 172px;
          z-index: 1; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(1) > figure img:nth-child(3) {
              top: calc(120 / 298 * 100%);
              right: calc(25 / 335 * 100%);
              width: calc(100 / 335 * 100%); } }
        main.home section.action .container:nth-child(1) > figure img:nth-child(4) {
          top: 257px;
          left: 251px;
          width: 264px; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(1) > figure img:nth-child(4) {
              top: calc(194 / 298 * 100%);
              left: calc(78 / 335 * 100%);
              width: calc(132 / 335 * 100%); } }
    main.home section.action .container:nth-child(2) {
      background-image: url("../images/home/action_bg.svg");
      background-size: 1366px auto;
      background-position: 0% 100%;
      padding-top: 1px;
      padding-bottom: 224px; }
      @media screen and (max-width: 768px) {
        main.home section.action .container:nth-child(2) {
          background-image: none;
          padding-top: 0;
          padding-bottom: 0; } }
      main.home section.action .container:nth-child(2):before {
        display: block; }
        @media screen and (max-width: 768px) {
          main.home section.action .container:nth-child(2):before {
            position: absolute;
            top: auto;
            bottom: 0;
            left: 375px;
            height: 90px; } }
      @media screen and (max-width: 768px) {
        main.home section.action .container:nth-child(2):after {
          position: relative;
          content: "";
          display: block;
          background-image: url("../images/home/action_bg_sp.svg");
          background-repeat: no-repeat;
          background-size: 375px 90px;
          width: 375px;
          height: 90px;
          right: auto;
          left: auto;
          top: auto;
          bottom: auto;
          background-color: transparent; } }
      main.home section.action .container:nth-child(2) section.movie {
        max-width: 800px;
        margin: 0 auto;
        padding-top: 60px;
        background-color: #F5F5F5; }
        @media screen and (max-width: 768px) {
          main.home section.action .container:nth-child(2) section.movie {
            padding: 64px 20px 0;
            margin-top: 0; } }
        main.home section.action .container:nth-child(2) section.movie ul li + li {
          margin-top: 80px; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(2) section.movie ul li + li {
              margin-top: 40px; } }
        main.home section.action .container:nth-child(2) section.movie ul li .title {
          position: relative;
          align-items: center;
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 24px;
          text-align: left;
          color: #262626;
          margin-bottom: 32px;
          padding-left: 32px;
          word-break: keep-all;
          overflow-wrap: break-word; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(2) section.movie ul li .title {
              font-size: 14px;
              letter-spacing: 0.05em;
              line-height: 22px;
              margin-bottom: 24px;
              padding-left: 24px; } }
          main.home section.action .container:nth-child(2) section.movie ul li .title:before {
            content: "";
            background-image: url("../images/home/action_movie_title_marker.svg");
            width: 16px;
            height: 15px;
            display: block;
            position: absolute;
            top: 5px;
            left: 0; }
            @media screen and (max-width: 768px) {
              main.home section.action .container:nth-child(2) section.movie ul li .title:before {
                background-image: url("../images/home/action_movie_title_marker_sp.svg");
                width: 12px;
                height: 9px;
                top: 8px; } }
        main.home section.action .container:nth-child(2) section.movie ul li figure {
          position: relative; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(2) section.movie ul li figure {
              margin: 0 20px; } }
          main.home section.action .container:nth-child(2) section.movie ul li figure:before {
            content: "";
            display: block;
            width: 712px;
            height: 398px;
            background-color: #009150;
            position: absolute;
            bottom: -12px;
            right: -12px; }
            @media screen and (max-width: 768px) {
              main.home section.action .container:nth-child(2) section.movie ul li figure:before {
                bottom: -8px;
                right: -8px;
                height: calc(147 / 164 * 100%);
                width: calc(263 / 295 * 100%); } }
          main.home section.action .container:nth-child(2) section.movie ul li figure a {
            position: relative;
            display: block; }
            main.home section.action .container:nth-child(2) section.movie ul li figure a:before {
              content: "";
              display: block;
              background-color: #9A9A9A;
              position: absolute;
              top: 0;
              left: 0;
              bottom: 0;
              right: 0;
              z-index: 1;
              mix-blend-mode: multiply;
              transition: all ease .3s; }
            main.home section.action .container:nth-child(2) section.movie ul li figure a:after {
              content: "";
              display: block;
              background-image: url("../images/home/action_movie_play.svg");
              width: 163px;
              height: 163px;
              position: absolute;
              z-index: 1;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
              @media screen and (max-width: 768px) {
                main.home section.action .container:nth-child(2) section.movie ul li figure a:after {
                  background-image: url("../images/home/action_movie_play_sp.svg");
                  width: 59px;
                  height: 59px; } }
            main.home section.action .container:nth-child(2) section.movie ul li figure a img {
              position: relative; }
            @media screen and (min-width: 769px) {
              main.home section.action .container:nth-child(2) section.movie ul li figure a:hover:before {
                background-color: #575757; } }
        main.home section.action .container:nth-child(2) section.movie > p {
          margin-top: 60px;
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 30px;
          text-align: left;
          color: #262626; }
          @media screen and (max-width: 768px) {
            main.home section.action .container:nth-child(2) section.movie > p {
              margin-top: 48px;
              font-size: 14px;
              letter-spacing: 0.05em;
              line-height: 28px; } }

main.about .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.about .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.about .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.about header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.about header {
      height: 544px; } }
  main.about header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.about header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.about header > .bg:before, main.about header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.about header > .bg:before {
      left: 100%; }
    main.about header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.about header > .bg:after {
          right: 375px; } }
  main.about header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.about header .container {
        padding-top: 148px; } }
    main.about header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.about header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.about header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.about header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.about header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.about header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.about header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.about header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.about header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.about section.vision {
  border-top: 1px solid #D1D1D1;
  padding: 80px 0 124px;
  background-color: #F5F5F5; }
  @media screen and (max-width: 768px) {
    main.about section.vision {
      padding: 72px 0 64px; } }
  main.about section.vision .container h2 {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.03em;
    line-height: 24px;
    text-align: left;
    color: #009150;
    margin-bottom: 56px; }
    @media screen and (max-width: 768px) {
      main.about section.vision .container h2 {
        font-size: 16px;
        line-height: 20px;
        letter-spacing: 0.05em;
        text-align: left;
        color: #009150;
        margin-bottom: 36px; } }
  main.about section.vision .container .inner .copy p:nth-child(1) {
    font-weight: bold;
    font-size: 54px;
    letter-spacing: 0.25em;
    line-height: 79px;
    text-align: left;
    color: #262626;
    margin-bottom: 41px;
    word-break: keep-all;
    overflow-wrap: break-word; }
    @media screen and (max-width: 768px) {
      main.about section.vision .container .inner .copy p:nth-child(1) {
        font-size: 28px;
        letter-spacing: 0.15em;
        line-height: 48px;
        margin-bottom: 24px; } }
  main.about section.vision .container .inner .copy p:nth-child(2) {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.03em;
    line-height: 21px;
    text-align: left;
    color: #262626; }
    @media screen and (max-width: 768px) {
      main.about section.vision .container .inner .copy p:nth-child(2) {
        font-size: 12px;
        letter-spacing: 0.03em;
        line-height: 15px; } }
main.about section.mission {
  border-top: 1px solid #D1D1D1;
  padding: 80px 0 112px;
  background-color: #F5F5F5; }
  @media screen and (max-width: 768px) {
    main.about section.mission {
      padding: 72px 0 72px;
      overflow: hidden; } }
  main.about section.mission .container h2 {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.03em;
    line-height: 24px;
    text-align: left;
    color: #009150;
    margin-bottom: 46px; }
    @media screen and (max-width: 768px) {
      main.about section.mission .container h2 {
        font-size: 16px;
        line-height: 20px;
        letter-spacing: 0.05em;
        margin-bottom: 34px; } }
  main.about section.mission .container .inner {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      main.about section.mission .container .inner {
        display: block; } }
    main.about section.mission .container .inner .content p {
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 48px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.about section.mission .container .inner .content p {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 32px; } }
      main.about section.mission .container .inner .content p + p {
        margin-top: 48px; }
        @media screen and (max-width: 768px) {
          main.about section.mission .container .inner .content p + p {
            margin-top: 32px; } }
    main.about section.mission .container .inner .content .copy {
      font-weight: bold;
      font-size: 24px;
      letter-spacing: 0.25em;
      line-height: 64px;
      text-align: left;
      color: #262626;
      margin-top: 54px; }
      @media screen and (max-width: 768px) {
        main.about section.mission .container .inner .content .copy {
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 38px;
          margin-top: 36px; } }
    main.about section.mission .container .inner figure {
      flex: 0 0 397px;
      margin-top: 0;
      position: relative; }
      @media screen and (max-width: 768px) {
        main.about section.mission .container .inner figure {
          margin-top: 72px;
          aspect-ratio: 335 / 557; } }
      main.about section.mission .container .inner figure img {
        position: absolute;
        max-width: none; }
        main.about section.mission .container .inner figure img:nth-child(1) {
          top: -70px;
          left: 60px;
          width: 370px; }
          @media screen and (max-width: 768px) {
            main.about section.mission .container .inner figure img:nth-child(1) {
              width: calc(299 / 335 * 100%);
              top: 0;
              left: 0; } }
        main.about section.mission .container .inner figure img:nth-child(5) {
          top: 158px;
          left: 0;
          width: 142px; }
          @media screen and (max-width: 768px) {
            main.about section.mission .container .inner figure img:nth-child(5) {
              top: calc(470 / 557 * 100%);
              left: calc(106 / 335 * 100%);
              width: calc(118 / 335 * 100%); } }
        main.about section.mission .container .inner figure img:nth-child(2) {
          top: 158px;
          left: 311px;
          width: 219px; }
          @media screen and (max-width: 768px) {
            main.about section.mission .container .inner figure img:nth-child(2) {
              top: calc(194 / 557 * 100%);
              left: auto;
              right: calc(-20 / 335 * 100%);
              width: calc(202 / 335 * 100%); } }
        main.about section.mission .container .inner figure img:nth-child(3) {
          top: 261px;
          left: 142px;
          width: 219px; }
          @media screen and (max-width: 768px) {
            main.about section.mission .container .inner figure img:nth-child(3) {
              top: calc(269 / 557 * 100%);
              left: calc(23 / 335 * 100%);
              width: calc(144 / 335 * 100%); } }
        main.about section.mission .container .inner figure img:nth-child(4) {
          top: 454px;
          left: 301px;
          width: 180px; }
          @media screen and (max-width: 768px) {
            main.about section.mission .container .inner figure img:nth-child(4) {
              top: calc(375 / 557 * 100%);
              left: auto;
              right: calc(-20 / 335 * 100%);
              width: calc(131 / 335 * 100%); } }
main.about section.logo {
  border-top: 1px solid #D1D1D1;
  padding: 80px 0 118px;
  background-color: #F5F5F5; }
  @media screen and (max-width: 768px) {
    main.about section.logo {
      padding: 72px 0 66px; } }
  main.about section.logo .container h2 {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 29px;
    text-align: left;
    color: #009150;
    margin-bottom: 92px; }
    @media screen and (max-width: 768px) {
      main.about section.logo .container h2 {
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 24px;
        margin-bottom: 64px; } }
  main.about section.logo .container .inner {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      main.about section.logo .container .inner {
        display: block; } }
    main.about section.logo .container .inner figure {
      flex: 0 0 480px; }
      @media screen and (max-width: 768px) {
        main.about section.logo .container .inner figure {
          margin-bottom: 42px; } }
    main.about section.logo .container .inner p {
      flex: 0 0 440px;
      font-weight: 500;
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 36px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.about section.logo .container .inner p {
          font-weight: normal;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 32px; } }
main.about section.strength {
  border-top: 1px solid #D1D1D1;
  padding: 80px 0 0;
  background-color: #F5F5F5; }
  @media screen and (max-width: 768px) {
    main.about section.strength {
      padding: 72px 0 64px; } }
  main.about section.strength .container h2 {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 29px;
    text-align: left;
    color: #009150;
    margin-bottom: 124px; }
    @media screen and (max-width: 768px) {
      main.about section.strength .container h2 {
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 24px;
        text-align: left;
        color: #009150;
        margin-bottom: 64px; } }
  main.about section.strength .sticky-container {
    display: flex; }
    @media screen and (max-width: 768px) {
      main.about section.strength .sticky-container {
        display: block; } }
    main.about section.strength .sticky-container > .content {
      flex: 0 0 100%;
      margin-right: -46%; }
      @media screen and (max-width: 768px) {
        main.about section.strength .sticky-container > .content {
          margin: 0; } }
      main.about section.strength .sticky-container > .content section {
        position: relative;
        min-height: 100vh; }
        @media screen and (max-width: 768px) {
          main.about section.strength .sticky-container > .content section {
            min-height: 0;
            margin-top: 64px; } }
        main.about section.strength .sticky-container > .content section .container .marker {
          display: flex;
          margin-bottom: 56px; }
          @media screen and (max-width: 768px) {
            main.about section.strength .sticky-container > .content section .container .marker {
              margin-bottom: 36px; } }
          main.about section.strength .sticky-container > .content section .container .marker span:nth-child(1) {
            font-family: "Inter", sans-serif;
            font-weight: 600;
            font-size: 16px;
            line-height: 28px;
            text-align: left;
            color: #fff;
            padding: 0 8px;
            background-color: #262626;
            margin-right: 68px;
            position: relative; }
            @media screen and (max-width: 768px) {
              main.about section.strength .sticky-container > .content section .container .marker span:nth-child(1) {
                font-size: 14px;
                line-height: 24px;
                margin-right: 56px; } }
            main.about section.strength .sticky-container > .content section .container .marker span:nth-child(1):after {
              content: "";
              display: block;
              width: 40px;
              height: 1px;
              background-color: #262626;
              position: absolute;
              left: calc(100% + 16px);
              top: 50%; }
              @media screen and (max-width: 768px) {
                main.about section.strength .sticky-container > .content section .container .marker span:nth-child(1):after {
                  width: 32px;
                  left: calc(100% + 12px); } }
          main.about section.strength .sticky-container > .content section .container .marker span:nth-child(2) {
            font-family: "Inter", sans-serif;
            font-weight: 600;
            font-size: 16px;
            line-height: 28px;
            text-align: left;
            color: #262626; }
            @media screen and (max-width: 768px) {
              main.about section.strength .sticky-container > .content section .container .marker span:nth-child(2) {
                font-size: 14px;
                line-height: 24px; } }
        main.about section.strength .sticky-container > .content section .container .inner .content {
          padding-right: calc(50% + 50px); }
          @media screen and (max-width: 768px) {
            main.about section.strength .sticky-container > .content section .container .inner .content {
              padding-right: 0; } }
          main.about section.strength .sticky-container > .content section .container .inner .content .copy {
            font-weight: bold;
            font-size: 28px;
            letter-spacing: 0.15em;
            line-height: 56px;
            text-align: left;
            color: #262626;
            margin-bottom: 36px; }
            @media screen and (max-width: 768px) {
              main.about section.strength .sticky-container > .content section .container .inner .content .copy {
                font-size: 20px;
                letter-spacing: 0.1em;
                line-height: 36px;
                text-align: left;
                color: #262626;
                margin-bottom: 30px; } }
          main.about section.strength .sticky-container > .content section .container .inner .content p {
            font-size: 14px;
            letter-spacing: 0.1em;
            line-height: 36px;
            text-align: left;
            color: #262626; }
            @media screen and (max-width: 768px) {
              main.about section.strength .sticky-container > .content section .container .inner .content p {
                font-size: 14px;
                letter-spacing: 0.05em;
                line-height: 32px; } }
          main.about section.strength .sticky-container > .content section .container .inner .content figure {
            width: 400px;
            margin-top: 48px; }
            @media screen and (max-width: 768px) {
              main.about section.strength .sticky-container > .content section .container .inner .content figure {
                width: calc(100% - 40px);
                margin: 34px auto 0; } }
        main.about section.strength .sticky-container > .content section .container > figure {
          display: none; }
          @media screen and (max-width: 768px) {
            main.about section.strength .sticky-container > .content section .container > figure {
              display: block;
              margin: 58px calc(-20 / 375 * 100vw) 0; } }
    main.about section.strength .sticky-container > figure {
      position: sticky;
      flex: 0 0 46%;
      height: 100vh;
      top: 0;
      left: 0;
      overflow: hidden; }
      @media screen and (max-width: 768px) {
        main.about section.strength .sticky-container > figure {
          display: none; } }
      main.about section.strength .sticky-container > figure img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover; }
main.about section.learn {
  position: relative;
  padding: 124px 0; }
  @media screen and (max-width: 768px) {
    main.about section.learn {
      padding: 64px 0; } }
  main.about section.learn:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    background-color: rgba(38, 38, 38, 0.75);
    mix-blend-mode: multiply; }
  main.about section.learn:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    background-image: url("../images/about/learn_corner_01.svg"), url("../images/about/learn_corner_02.svg");
    background-repeat: no-repeat, no-repeat;
    background-position: 0 0, 0 100%;
    background-size: 80px 80px, 80px 80px; }
    @media screen and (max-width: 768px) {
      main.about section.learn:after {
        background-size: 32px 32px, 32px 32px; } }
  main.about section.learn .container {
    position: relative;
    z-index: 1; }
    main.about section.learn .container h2 {
      font-weight: bold;
      font-size: 20px;
      letter-spacing: 0.1em;
      line-height: 29px;
      text-align: left;
      color: #fff;
      margin-bottom: 80px; }
      @media screen and (max-width: 768px) {
        main.about section.learn .container h2 {
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 24px;
          text-align: left;
          color: #fff;
          margin-bottom: 40px; } }
    main.about section.learn .container .inner {
      display: grid;
      grid-template-rows: auto auto;
      grid-template-columns: calc(480 / 1100 * 100%) calc(525 / 1100 * 100%);
      gap: 0 calc(95 / 1100 * 100%); }
      @media screen and (max-width: 768px) {
        main.about section.learn .container .inner {
          display: block; } }
      main.about section.learn .container .inner .content {
        grid-row: 1 / 2;
        grid-column: 1 / 2; }
        main.about section.learn .container .inner .content .copy {
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 38px;
          text-align: left;
          color: #262626;
          margin-bottom: 36px; }
          @media screen and (max-width: 768px) {
            main.about section.learn .container .inner .content .copy {
              font-size: 14px;
              letter-spacing: 0.05em;
              line-height: 32px;
              margin-bottom: 32px; } }
          main.about section.learn .container .inner .content .copy .highlight {
            -webkit-box-decoration-break: clone;
            box-decoration-break: clone;
            background-color: #fff;
            padding: 2px 8px 3px; }
            @media screen and (max-width: 768px) {
              main.about section.learn .container .inner .content .copy .highlight {
                padding: 1px 6px 2px; } }
        main.about section.learn .container .inner .content .title {
          border-top: 1px solid #747474;
          border-bottom: 1px solid #747474;
          padding: 40px 0 34px; }
          @media screen and (max-width: 768px) {
            main.about section.learn .container .inner .content .title {
              padding: 32px 0 30px; } }
          main.about section.learn .container .inner .content .title p:nth-child(1) {
            font-weight: bold;
            font-size: 16px;
            letter-spacing: 0.05em;
            line-height: 24px;
            text-align: left;
            color: #fff;
            margin-bottom: 16px; }
            @media screen and (max-width: 768px) {
              main.about section.learn .container .inner .content .title p:nth-child(1) {
                font-size: 14px;
                letter-spacing: 0.05em;
                line-height: 20px;
                margin-bottom: 20px; } }
          main.about section.learn .container .inner .content .title p:nth-child(2) {
            font-weight: bold;
            font-size: 28px;
            letter-spacing: 0.05em;
            line-height: 54px;
            text-align: left;
            color: #fff; }
            @media screen and (max-width: 768px) {
              main.about section.learn .container .inner .content .title p:nth-child(2) {
                font-size: 20px;
                letter-spacing: 0.1em;
                line-height: 36px; } }
      main.about section.learn .container .inner figure {
        position: relative;
        flex: 0 0 525px;
        grid-row: 1 / 3;
        grid-column: 2 / 3;
        align-self: start; }
        @media screen and (max-width: 768px) {
          main.about section.learn .container .inner figure {
            width: calc(100% - 40px);
            margin: 46px auto 0; } }
        main.about section.learn .container .inner figure img {
          position: relative; }
        main.about section.learn .container .inner figure:before {
          content: "";
          display: block;
          position: absolute;
          right: -12px;
          bottom: -12px;
          top: calc(136 / 377 * 100%);
          left: calc(185 / 525 * 100%);
          background-color: #00924D; }
          @media screen and (max-width: 768px) {
            main.about section.learn .container .inner figure:before {
              right: -10px;
              bottom: -10px;
              top: calc(71 / 213 * 100%);
              left: calc(93 / 295 * 100%); } }
      main.about section.learn .container .inner .action {
        grid-row: 2 / 3;
        grid-column: 1 / 2;
        margin-top: 50px; }
        @media screen and (max-width: 768px) {
          main.about section.learn .container .inner .action {
            margin-top: 48px; } }
        main.about section.learn .container .inner .action a {
          position: relative;
          display: inline-block;
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 29px;
          text-align: left;
          color: #262626;
          padding-right: 48px;
          color: #fff; }
          main.about section.learn .container .inner .action a:after {
            content: "";
            position: absolute;
            bottom: 0;
            background-color: #009150;
            left: 0;
            display: block;
            height: 1px;
            width: 0;
            transition: all ease .3s; }
          main.about section.learn .container .inner .action a .arrow {
            border: 1px solid #262626;
            width: 29px;
            height: 29px;
            border-radius: 50%;
            position: absolute;
            right: 0;
            top: 0;
            transition: all ease .3s;
            border-color: #fff; }
            main.about section.learn .container .inner .action a .arrow:after {
              content: "";
              -weblit-mask-image: url("../images/home/arrow_link.svg");
              -webkit-mask-size: 6px 9px;
              mask-image: url("../images/home/arrow_link.svg");
              mask-size: 6px 9px;
              display: block;
              width: 6px;
              height: 9px;
              background-color: #262626;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              background-color: #fff; }
          @media screen and (min-width: 769px) {
            main.about section.learn .container .inner .action a:hover:after {
              width: calc(100% - 48px); }
            main.about section.learn .container .inner .action a:hover .arrow {
              background-color: #009150;
              border-color: #009150; }
              main.about section.learn .container .inner .action a:hover .arrow:after {
                background-color: #fff; } }
main.about section.partner {
  padding: 124px 0 80px;
  background-color: #F5F5F5; }
  @media screen and (max-width: 768px) {
    main.about section.partner {
      padding: 72px 0 104px; } }
  main.about section.partner .container h2 {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.03em;
    line-height: 24px;
    text-align: left;
    color: #009150;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.about section.partner .container h2 {
        font-size: 16px;
        line-height: 20px;
        letter-spacing: 0.05em;
        margin-bottom: 40px; } }
  main.about section.partner .container .inner ul {
    max-width: 900px;
    margin: 0 auto; }
    main.about section.partner .container .inner ul li {
      display: flex;
      justify-content: space-between;
      border-bottom: 1px solid #D1D1D1;
      padding-bottom: 48px;
      margin-bottom: 64px; }
      @media screen and (max-width: 768px) {
        main.about section.partner .container .inner ul li {
          display: block;
          padding-bottom: 44px;
          margin-bottom: 48px; } }
      main.about section.partner .container .inner ul li:last-child {
        border: none;
        padding-bottom: 0;
        margin-bottom: 0; }
      main.about section.partner .container .inner ul li figure {
        flex: 0 0 353px;
        aspect-ratio: 353 / 300;
        display: flex;
        align-items: center; }
        @media screen and (max-width: 768px) {
          main.about section.partner .container .inner ul li figure {
            aspect-ratio: auto;
            margin-bottom: 20px; } }
      main.about section.partner .container .inner ul li .content {
        flex: 0 0 403px; }
        main.about section.partner .container .inner ul li .content .name {
          font-weight: bold;
          font-size: 18px;
          letter-spacing: 0.05em;
          line-height: 32px;
          text-align: left;
          color: #000;
          margin-bottom: 32px; }
          @media screen and (max-width: 768px) {
            main.about section.partner .container .inner ul li .content .name {
              font-size: 16px;
              letter-spacing: 0.05em;
              line-height: 30px;
              margin-bottom: 24px; } }
        main.about section.partner .container .inner ul li .content .description {
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 28px;
          text-align: left;
          color: #262626; }
          @media screen and (max-width: 768px) {
            main.about section.partner .container .inner ul li .content .description {
              font-size: 12px;
              letter-spacing: 0.05em;
              line-height: 24px; } }

main.news .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.news .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.news .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.news header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.news header {
      height: 544px; } }
  main.news header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.news header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.news header > .bg:before, main.news header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.news header > .bg:before {
      left: 100%; }
    main.news header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.news header > .bg:after {
          right: 375px; } }
  main.news header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.news header .container {
        padding-top: 148px; } }
    main.news header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.news header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.news header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.news header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.news header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.news header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.news header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.news header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.news header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.news .body {
  border-top: 1px solid #D1D1D1;
  padding: 64px 0 124px;
  background-color: #F5F5F5; }
  @media screen and (max-width: 768px) {
    main.news .body {
      padding: 72px 0 80px; } }
  main.news .body .container .inner ul li {
    border-bottom: 1px solid #D1D1D1;
    padding-bottom: 64px;
    margin-bottom: 64px; }
    @media screen and (max-width: 768px) {
      main.news .body .container .inner ul li {
        padding-bottom: 32px;
        margin-bottom: 32px; } }
    main.news .body .container .inner ul li a {
      display: flex;
      gap: 0 72px; }
      @media screen and (max-width: 768px) {
        main.news .body .container .inner ul li a {
          display: block; } }
      main.news .body .container .inner ul li a figure {
        flex: 0 0 320px; }
        @media screen and (max-width: 768px) {
          main.news .body .container .inner ul li a figure {
            margin-bottom: 32px; } }
        main.news .body .container .inner ul li a figure img {
          width: 100%;
          aspect-ratio: 320 / 230;
          object-fit: cover; }
      main.news .body .container .inner ul li a .content {
        flex: 0 0 calc(100% - 320px - 72px);
        position: relative;
        padding-bottom: 60px; }
        @media screen and (max-width: 768px) {
          main.news .body .container .inner ul li a .content {
            padding-bottom: 38px; } }
        main.news .body .container .inner ul li a .content .date {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 16px;
          line-height: 20px;
          letter-spacing: 0.05em;
          text-align: left;
          color: #009150;
          margin-bottom: 28px; }
          @media screen and (max-width: 768px) {
            main.news .body .container .inner ul li a .content .date {
              font-size: 12px;
              line-height: 15px;
              margin-bottom: 12px; } }
        main.news .body .container .inner ul li a .content .title {
          font-weight: 500;
          font-size: 18px;
          letter-spacing: 0.05em;
          line-height: 36px;
          text-align: left;
          color: #262626; }
          @media screen and (max-width: 768px) {
            main.news .body .container .inner ul li a .content .title {
              font-size: 14px;
              line-height: 28px; } }
        main.news .body .container .inner ul li a .content .category {
          position: absolute;
          bottom: 0;
          left: 0;
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 12px;
          letter-spacing: 0.05em;
          line-height: 28px;
          text-align: center;
          color: #00924d;
          border: 1px solid #00924D;
          border-radius: 9999px;
          padding: 0 18px; }
          @media screen and (max-width: 768px) {
            main.news .body .container .inner ul li a .content .category {
              font-size: 9px;
              letter-spacing: 0.05em;
              line-height: 16px;
              padding: 0 9px; } }
        main.news .body .container .inner ul li a .content .more {
          position: absolute;
          bottom: 0;
          right: 0;
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 29px;
          text-align: left;
          color: #262626;
          padding-right: 44px; }
          @media screen and (max-width: 768px) {
            main.news .body .container .inner ul li a .content .more {
              text-indent: -9999px;
              overflow: hidden;
              width: 24px;
              height: 24px;
              padding-right: 0; } }
          main.news .body .container .inner ul li a .content .more:after {
            content: "";
            position: absolute;
            bottom: 0;
            background-color: #009150;
            left: 0;
            display: block;
            height: 1px;
            width: 0;
            transition: all ease .3s; }
          main.news .body .container .inner ul li a .content .more .arrow {
            border: 1px solid #262626;
            width: 29px;
            height: 29px;
            border-radius: 50%;
            position: absolute;
            right: 0;
            top: 0;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.news .body .container .inner ul li a .content .more .arrow {
                width: 24px;
                height: 24px; } }
            main.news .body .container .inner ul li a .content .more .arrow:after {
              content: "";
              -weblit-mask-image: url("../images/news/arrow_link.svg");
              -webkit-mask-size: 6px 9px;
              mask-image: url("../images/news/arrow_link.svg");
              mask-size: 6px 9px;
              display: block;
              width: 6px;
              height: 9px;
              background-color: #262626;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%);
              transition: all ease .3s; }
      @media screen and (min-width: 769px) {
        main.news .body .container .inner ul li a:hover .content .more:after {
          width: calc(100% - 44px); }
        main.news .body .container .inner ul li a:hover .content .more .arrow {
          background-color: #009150;
          border-color: #009150; }
          main.news .body .container .inner ul li a:hover .content .more .arrow:after {
            background-color: #fff; } }
  main.news .body .container .inner nav.pagination .nav-links {
    position: relative;
    width: fit-content;
    padding: 0 104px;
    display: flex;
    justify-content: center;
    gap: 0 48px;
    margin: 80px auto 0; }
    @media screen and (max-width: 768px) {
      main.news .body .container .inner nav.pagination .nav-links {
        gap: 0 24px;
        width: auto;
        margin: 48px auto 0;
        padding: 0 64px; } }
    main.news .body .container .inner nav.pagination .nav-links .prev {
      position: relative;
      display: block;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      position: absolute;
      top: 0;
      left: 0;
      border: 1px solid #262626;
      text-indent: -9999px;
      overflow: hidden;
      transition: all ease .3s; }
      @media screen and (max-width: 768px) {
        main.news .body .container .inner nav.pagination .nav-links .prev {
          width: 28px;
          height: 28px; } }
      main.news .body .container .inner nav.pagination .nav-links .prev:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: block;
        width: 8px;
        height: 12px;
        -webkit-mask-image: url("../images/news/pagination_prev_arrow.svg");
        mask-image: url("../images/news/pagination_prev_arrow.svg");
        background-color: #262626;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.news .body .container .inner nav.pagination .nav-links .prev:after {
            width: 6px;
            height: 8px;
            -webkit-mask-image: url("../images/news/pagination_prev_arrow_sp.svg");
            mask-image: url("../images/news/pagination_prev_arrow_sp.svg"); } }
      @media screen and (min-width: 769px) {
        main.news .body .container .inner nav.pagination .nav-links .prev:hover {
          background-color: #009150;
          border-color: #009150; }
          main.news .body .container .inner nav.pagination .nav-links .prev:hover:after {
            background-color: #fff; } }
    main.news .body .container .inner nav.pagination .nav-links .next {
      position: relative;
      display: block;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      position: absolute;
      top: 0;
      right: 0;
      border: 1px solid #262626;
      text-indent: -9999px;
      overflow: hidden;
      transition: all ease .3s; }
      @media screen and (max-width: 768px) {
        main.news .body .container .inner nav.pagination .nav-links .next {
          width: 28px;
          height: 28px; } }
      main.news .body .container .inner nav.pagination .nav-links .next:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: block;
        width: 8px;
        height: 12px;
        -webkit-mask-image: url("../images/news/pagination_next_arrow.svg");
        mask-image: url("../images/news/pagination_next_arrow.svg");
        background-color: #262626;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.news .body .container .inner nav.pagination .nav-links .next:after {
            width: 6px;
            height: 8px;
            -webkit-mask-image: url("../images/news/pagination_next_arrow_sp.svg");
            mask-image: url("../images/news/pagination_next_arrow_sp.svg"); } }
      @media screen and (min-width: 769px) {
        main.news .body .container .inner nav.pagination .nav-links .next:hover {
          background-color: #009150;
          border-color: #009150; }
          main.news .body .container .inner nav.pagination .nav-links .next:hover:after {
            background-color: #fff; } }
    main.news .body .container .inner nav.pagination .nav-links .page-numbers:not(.prev):not(.next) {
      display: block;
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 16px;
      line-height: 40px;
      letter-spacing: 0.05em;
      text-align: left;
      color: #000; }
      @media screen and (max-width: 768px) {
        main.news .body .container .inner nav.pagination .nav-links .page-numbers:not(.prev):not(.next) {
          font-size: 16px;
          line-height: 24px;
          letter-spacing: 0.05em; } }
      main.news .body .container .inner nav.pagination .nav-links .page-numbers:not(.prev):not(.next).current {
        color: #009150;
        text-decoration: underline; }

main.news-detail .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.news-detail .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.news-detail .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
  main.news-detail .container .inner {
    width: calc(100% - 320px); }
    @media screen and (max-width: 768px) {
      main.news-detail .container .inner {
        width: auto; } }
main.news-detail header {
  background-color: #F5F5F5; }
  main.news-detail header .container {
    position: relative;
    padding-top: 230px; }
    @media screen and (max-width: 768px) {
      main.news-detail header .container {
        padding-top: 148px; } }
    main.news-detail header .container > p {
      height: 0;
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 18px;
      letter-spacing: 0.05em;
      line-height: 21px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.news-detail header .container > p {
          font-size: 18px;
          letter-spacing: 0.03em;
          line-height: 21px;
          margin-bottom: 35px; } }
    main.news-detail header .container .inner {
      position: relative;
      padding-top: 52px; }
      @media screen and (max-width: 768px) {
        main.news-detail header .container .inner {
          padding-top: 36px; } }
      main.news-detail header .container .inner .date {
        position: absolute;
        top: 0;
        left: 0;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 18px;
        line-height: 21px;
        letter-spacing: 0.05em;
        text-align: left;
        color: #009150; }
        @media screen and (max-width: 768px) {
          main.news-detail header .container .inner .date {
            font-size: 13px;
            line-height: 25px;
            letter-spacing: 0.05em; } }
      main.news-detail header .container .inner .category {
        position: absolute;
        top: -9px;
        right: 0;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 12px;
        letter-spacing: 0.05em;
        line-height: 28px;
        text-align: center;
        color: #00924d;
        border: 1px solid #00924D;
        border-radius: 9999px;
        padding: 0 18px; }
        @media screen and (max-width: 768px) {
          main.news-detail header .container .inner .category {
            top: 0;
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            text-align: center;
            color: #00924d;
            padding: 0 16px; } }
      main.news-detail header .container .inner h1 {
        border-top: 1px solid #D1D1D1;
        padding-top: 50px;
        font-weight: bold;
        font-size: 24px;
        letter-spacing: 0.05em;
        line-height: 48px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.news-detail header .container .inner h1 {
            padding-top: 20px;
            font-size: 18px;
            letter-spacing: 0.05em;
            line-height: 32px; } }
main.news-detail .body {
  padding: 50px 0 124px;
  background-color: #F5F5F5; }
  @media screen and (max-width: 768px) {
    main.news-detail .body {
      padding: 40px 0 80px; } }
  main.news-detail .body .container .inner .content > * {
    margin: 56px 0; }
    @media screen and (max-width: 768px) {
      main.news-detail .body .container .inner .content > * {
        margin: 36px 0; } }
  main.news-detail .body .container .inner .content *:first-child {
    margin-top: 0; }
  main.news-detail .body .container .inner .content *:last-child {
    margin-bottom: 0; }
  main.news-detail .body .container .inner .content h2 {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 40px;
    text-align: left;
    color: #009150; }
    @media screen and (max-width: 768px) {
      main.news-detail .body .container .inner .content h2 {
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 32px; } }
  main.news-detail .body .container .inner .content pre,
  main.news-detail .body .container .inner .content p {
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 36px;
    text-align: left;
    color: #262626; }
    @media screen and (max-width: 768px) {
      main.news-detail .body .container .inner .content pre,
      main.news-detail .body .container .inner .content p {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 28px; } }
    main.news-detail .body .container .inner .content pre a,
    main.news-detail .body .container .inner .content p a {
      color: #009150;
      text-decoration: underline; }
      main.news-detail .body .container .inner .content pre a:hover,
      main.news-detail .body .container .inner .content p a:hover {
        text-decoration: none; }
  main.news-detail .body .container .inner nav.pager {
    position: relative;
    margin-top: 80px;
    border-top: 1px solid #D1D1D1;
    padding-top: 80px; }
    @media screen and (max-width: 768px) {
      main.news-detail .body .container .inner nav.pager {
        margin-top: 44px;
        padding-top: 48px; } }
    main.news-detail .body .container .inner nav.pager .back {
      text-align: center; }
      main.news-detail .body .container .inner nav.pager .back a {
        font-weight: bold;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 40px;
        color: #262626;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.news-detail .body .container .inner nav.pager .back a {
            font-size: 12px;
            letter-spacing: 0.1em;
            line-height: 28px; } }
        @media screen and (min-width: 769px) {
          main.news-detail .body .container .inner nav.pager .back a:hover {
            color: #009150; } }
    main.news-detail .body .container .inner nav.pager .prev {
      position: absolute;
      top: 80px;
      left: 0; }
      @media screen and (max-width: 768px) {
        main.news-detail .body .container .inner nav.pager .prev {
          top: 48px; } }
      main.news-detail .body .container .inner nav.pager .prev a {
        position: relative;
        display: block;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid #262626;
        text-indent: -9999px;
        overflow: hidden;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.news-detail .body .container .inner nav.pager .prev a {
            width: 28px;
            height: 28px; } }
        main.news-detail .body .container .inner nav.pager .prev a:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          display: block;
          width: 8px;
          height: 12px;
          -webkit-mask-image: url("../images/news/pagination_prev_arrow.svg");
          mask-image: url("../images/news/pagination_prev_arrow.svg");
          background-color: #262626;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.news-detail .body .container .inner nav.pager .prev a:after {
              width: 6px;
              height: 8px;
              -webkit-mask-image: url("../images/news/pagination_prev_arrow_sp.svg");
              mask-image: url("../images/news/pagination_prev_arrow_sp.svg"); } }
        @media screen and (min-width: 769px) {
          main.news-detail .body .container .inner nav.pager .prev a:hover {
            background-color: #009150;
            border-color: #009150; }
            main.news-detail .body .container .inner nav.pager .prev a:hover:after {
              background-color: #fff; } }
    main.news-detail .body .container .inner nav.pager .next {
      position: absolute;
      top: 80px;
      right: 0; }
      @media screen and (max-width: 768px) {
        main.news-detail .body .container .inner nav.pager .next {
          top: 48px; } }
      main.news-detail .body .container .inner nav.pager .next a {
        position: relative;
        display: block;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        border: 1px solid #262626;
        text-indent: -9999px;
        overflow: hidden;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.news-detail .body .container .inner nav.pager .next a {
            width: 28px;
            height: 28px; } }
        main.news-detail .body .container .inner nav.pager .next a:after {
          content: "";
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          display: block;
          width: 8px;
          height: 12px;
          -webkit-mask-image: url("../images/news/pagination_next_arrow.svg");
          mask-image: url("../images/news/pagination_next_arrow.svg");
          background-color: #262626;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.news-detail .body .container .inner nav.pager .next a:after {
              width: 6px;
              height: 8px;
              -webkit-mask-image: url("../images/news/pagination_next_arrow_sp.svg");
              mask-image: url("../images/news/pagination_next_arrow_sp.svg"); } }
        @media screen and (min-width: 769px) {
          main.news-detail .body .container .inner nav.pager .next a:hover {
            background-color: #009150;
            border-color: #009150; }
            main.news-detail .body .container .inner nav.pager .next a:hover:after {
              background-color: #fff; } }

main.produce .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.produce .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.produce .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.produce > header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.produce > header {
      height: 544px; } }
  main.produce > header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.produce > header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.produce > header > .bg:before, main.produce > header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.produce > header > .bg:before {
      left: 100%; }
    main.produce > header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.produce > header > .bg:after {
          right: 375px; } }
  main.produce > header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.produce > header .container {
        padding-top: 148px; } }
    main.produce > header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.produce > header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.produce > header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.produce > header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.produce > header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.produce > header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.produce > header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.produce > header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.produce > header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.produce section.greenuniform {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 114px 0 120px; }
  @media screen and (max-width: 768px) {
    main.produce section.greenuniform {
      padding: 68px 0 64px; } }
  main.produce section.greenuniform .container .inner {
    display: flex;
    align-items: center;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      main.produce section.greenuniform .container .inner {
        display: block; } }
    main.produce section.greenuniform .container .inner .content h2 {
      font-weight: bold;
      font-size: 28px;
      letter-spacing: 0.2em;
      line-height: 52px;
      text-align: left;
      color: #262626;
      margin-bottom: 42px; }
      @media screen and (max-width: 768px) {
        main.produce section.greenuniform .container .inner .content h2 {
          font-size: 20px;
          letter-spacing: 0.1em;
          line-height: 36px;
          margin-bottom: 38px; } }
    main.produce section.greenuniform .container .inner .content > p {
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 36px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.produce section.greenuniform .container .inner .content > p {
          letter-spacing: 0.05em;
          line-height: 32px; } }
    main.produce section.greenuniform .container .inner .content .action {
      margin-top: 56px; }
      main.produce section.greenuniform .container .inner .content .action p a {
        position: relative;
        display: inline-block;
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 29px;
        text-align: left;
        color: #262626;
        padding-right: 48px; }
        main.produce section.greenuniform .container .inner .content .action p a:after {
          content: "";
          position: absolute;
          bottom: 0;
          background-color: #009150;
          left: 0;
          display: block;
          height: 1px;
          width: 0;
          transition: all ease .3s; }
        main.produce section.greenuniform .container .inner .content .action p a .arrow {
          border: 1px solid #262626;
          width: 29px;
          height: 29px;
          border-radius: 50%;
          position: absolute;
          right: 0;
          top: 0;
          transition: all ease .3s; }
          main.produce section.greenuniform .container .inner .content .action p a .arrow:after {
            content: "";
            -weblit-mask-image: url("../images/home/arrow_link.svg");
            -webkit-mask-size: 6px 9px;
            mask-image: url("../images/home/arrow_link.svg");
            mask-size: 6px 9px;
            display: block;
            width: 6px;
            height: 9px;
            background-color: #262626;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
        @media screen and (min-width: 769px) {
          main.produce section.greenuniform .container .inner .content .action p a:hover:after {
            width: calc(100% - 48px); }
          main.produce section.greenuniform .container .inner .content .action p a:hover .arrow {
            background-color: #009150;
            border-color: #009150; }
            main.produce section.greenuniform .container .inner .content .action p a:hover .arrow:after {
              background-color: #fff; } }
    main.produce section.greenuniform .container .inner figure {
      flex: 0 0 620px; }
      @media screen and (max-width: 768px) {
        main.produce section.greenuniform .container .inner figure {
          margin-top: 64px; } }
      main.produce section.greenuniform .container .inner figure a {
        transition: all ease .3s; }
        @media screen and (min-width: 769px) {
          main.produce section.greenuniform .container .inner figure a:hover {
            opacity: .7; } }
main.produce section.intro {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 124px 0 124px; }
  @media screen and (max-width: 768px) {
    main.produce section.intro {
      padding: 60px 0 64px; } }
  main.produce section.intro .container .inner header {
    margin-bottom: 124px; }
    @media screen and (max-width: 768px) {
      main.produce section.intro .container .inner header {
        margin-bottom: 40px; } }
    main.produce section.intro .container .inner header p {
      font-weight: bold;
      font-size: 18px;
      letter-spacing: 0.1em;
      line-height: 1;
      text-align: center;
      color: #000;
      margin-bottom: 24px; }
      @media screen and (max-width: 768px) {
        main.produce section.intro .container .inner header p {
          font-size: 12px;
          letter-spacing: 0.1em;
          line-height: 24px;
          text-align: center;
          color: #000;
          margin-bottom: 28px; } }
    main.produce section.intro .container .inner header h2 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 64px;
      letter-spacing: 0.03em;
      line-height: 93px;
      text-align: center;
      color: #fff;
      width: fit-content;
      height: 93px;
      background: linear-gradient(90deg, #009150 0%, #11be70 100%);
      padding: 0 24px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.produce section.intro .container .inner header h2 {
          font-size: 26px;
          letter-spacing: 0.03em;
          line-height: 39px;
          height: 39px;
          padding: 0 8px; } }
  main.produce section.intro .container .inner section.problem {
    border-top: 1px solid #D1D1D1;
    padding: 64px 0 95px; }
    @media screen and (max-width: 768px) {
      main.produce section.intro .container .inner section.problem {
        padding: 40px 0 48px; } }
    main.produce section.intro .container .inner section.problem h3 {
      font-weight: bold;
      font-size: 24px;
      letter-spacing: 0.2em;
      line-height: 44px;
      text-align: center;
      color: #fff;
      background-color: #262626;
      padding: 0 16px;
      width: fit-content;
      margin: 0 auto;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.produce section.intro .container .inner section.problem h3 {
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 36px;
          margin-bottom: 24px; } }
    main.produce section.intro .container .inner section.problem ul {
      display: flex;
      flex-wrap: wrap;
      gap: 0 40px;
      max-width: 1000px;
      margin: 0 auto; }
      @media screen and (max-width: 768px) {
        main.produce section.intro .container .inner section.problem ul {
          gap: 20px 18px; } }
      main.produce section.intro .container .inner section.problem ul li {
        flex: 0 0 calc((100% - 40px * 3) / 4); }
        @media screen and (max-width: 768px) {
          main.produce section.intro .container .inner section.problem ul li {
            flex: 0 0 calc((100% - 18px * 1) / 2); } }
        main.produce section.intro .container .inner section.problem ul li figure {
          margin-bottom: 32px; }
          @media screen and (max-width: 768px) {
            main.produce section.intro .container .inner section.problem ul li figure {
              margin-bottom: 8px; } }
        main.produce section.intro .container .inner section.problem ul li p {
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 28px;
          text-align: center;
          color: #262626; }
          @media screen and (max-width: 768px) {
            main.produce section.intro .container .inner section.problem ul li p {
              font-size: 14px;
              letter-spacing: 0.05em;
              line-height: 24px; } }
  main.produce section.intro .container .inner section.solution {
    position: relative;
    padding-top: 124px; }
    @media screen and (max-width: 768px) {
      main.produce section.intro .container .inner section.solution {
        padding-top: 54px; } }
    main.produce section.intro .container .inner section.solution:before {
      content: "";
      display: block;
      background-image: url("../images/produce/intro_solution_arrow.svg");
      background-size: auto 100%;
      background-position: 50% 50%;
      height: 34px;
      position: absolute;
      top: 0;
      left: 0;
      right: 0; }
      @media screen and (max-width: 768px) {
        main.produce section.intro .container .inner section.solution:before {
          background-image: url("../images/produce/intro_solution_arrow_sp.svg");
          height: 15px; } }
    main.produce section.intro .container .inner section.solution h3 {
      font-weight: bold;
      font-size: 24px;
      letter-spacing: 0.2em;
      line-height: 44px;
      text-align: center;
      color: #fff;
      background-color: #262626;
      padding: 0 16px;
      width: fit-content;
      margin: 0 auto;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.produce section.intro .container .inner section.solution h3 {
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 36px;
          margin-bottom: 28px; } }
    main.produce section.intro .container .inner section.solution .copy {
      margin-bottom: 38px;
      font-weight: bold;
      font-size: 40px;
      letter-spacing: 0.05em;
      line-height: 56px;
      text-align: center;
      color: #009150; }
      @media screen and (max-width: 768px) {
        main.produce section.intro .container .inner section.solution .copy {
          font-size: 22px;
          letter-spacing: 0.1em;
          line-height: 34px;
          margin-bottom: 22px; } }
    main.produce section.intro .container .inner section.solution p {
      font-weight: bold;
      font-size: 18px;
      letter-spacing: 0.01em;
      line-height: 40px;
      text-align: center;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.produce section.intro .container .inner section.solution p {
          font-size: 14px;
          letter-spacing: 0.01em;
          line-height: 28px;
          text-align: left; } }
main.produce section.merit {
  position: relative;
  padding: 124px 0; }
  @media screen and (max-width: 768px) {
    main.produce section.merit {
      padding: 64px 0; } }
  main.produce section.merit:before {
    content: "";
    background-color: rgba(38, 38, 38, 0.8);
    mix-blend-mode: multiply;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  main.produce section.merit:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("../images/produce/corner_01.svg"), url("../images/produce/corner_02.svg");
    background-position: 0 0, 0 100%;
    background-repeat: no-repeat, no-repeat; }
    @media screen and (max-width: 768px) {
      main.produce section.merit:after {
        background-size: 35px 35px, 35px 35px; } }
  main.produce section.merit .container {
    position: relative;
    z-index: 1; }
    main.produce section.merit .container .inner h2 {
      text-align: center;
      margin-bottom: 80px; }
      @media screen and (max-width: 768px) {
        main.produce section.merit .container .inner h2 {
          margin-bottom: 48px; } }
      main.produce section.merit .container .inner h2 .highlight {
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
        font-weight: bold;
        font-size: 24px;
        letter-spacing: 0.2em;
        line-height: 44px;
        padding: 5px 16px 4px;
        color: #262626;
        background-color: #fff; }
        @media screen and (max-width: 768px) {
          main.produce section.merit .container .inner h2 .highlight {
            font-size: 16px;
            letter-spacing: 0.05em;
            line-height: 39px;
            padding: 4px 12px 4px; } }
    main.produce section.merit .container .inner ul {
      display: flex;
      flex-wrap: wrap;
      gap: 0 40px; }
      @media screen and (max-width: 768px) {
        main.produce section.merit .container .inner ul {
          gap: 32px 0; } }
      main.produce section.merit .container .inner ul li {
        position: relative;
        flex: 0 0 calc((100% - 40px * 2) / 3);
        padding: 40px 32px calc(34px + 180px);
        border-radius: 30px;
        border: 1px solid #FFFFFF; }
        @media screen and (max-width: 768px) {
          main.produce section.merit .container .inner ul li {
            flex: 0 0 100%;
            padding: 32px 24px; } }
        main.produce section.merit .container .inner ul li .marker {
          display: flex;
          justify-content: center;
          align-items: center;
          margin-bottom: 20px; }
          @media screen and (max-width: 768px) {
            main.produce section.merit .container .inner ul li .marker {
              margin-bottom: 16px; } }
          main.produce section.merit .container .inner ul li .marker span:nth-child(1) {
            font-family: "Inter", sans-serif;
            font-weight: 600;
            font-size: 14px;
            line-height: 1;
            text-align: center;
            color: #fff;
            margin-right: 20px; }
          main.produce section.merit .container .inner ul li .marker span:nth-child(2) {
            font-family: "Inter", sans-serif;
            font-weight: 600;
            font-size: 48px;
            line-height: 59px;
            text-align: center;
            color: #fff; }
        main.produce section.merit .container .inner ul li .title {
          font-weight: bold;
          font-size: 18px;
          letter-spacing: 0.05em;
          line-height: 32px;
          text-align: left;
          color: #fff;
          margin-bottom: 36px; }
          @media screen and (max-width: 768px) {
            main.produce section.merit .container .inner ul li .title {
              margin-bottom: 30px; } }
        main.produce section.merit .container .inner ul li figure {
          position: absolute;
          bottom: 34px;
          left: 50%;
          transform: translateX(-50%); }
          @media screen and (max-width: 768px) {
            main.produce section.merit .container .inner ul li figure {
              position: static;
              transform: none;
              text-align: center; } }
          main.produce section.merit .container .inner ul li figure img {
            width: 276px;
            max-width: none; }
            @media screen and (max-width: 768px) {
              main.produce section.merit .container .inner ul li figure img {
                width: 250px; } }
main.produce section.flow {
  background-color: #F5F5F5;
  padding: 104px 0 124px; }
  @media screen and (max-width: 768px) {
    main.produce section.flow {
      padding: 72px 0 64px; } }
  main.produce section.flow .container h2 {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 29px;
    text-align: left;
    color: #009150;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.produce section.flow .container h2 {
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 24px;
        margin-bottom: 35px; } }
  main.produce section.flow .container .inner ol {
    border-top: 1px solid #D1D1D1;
    padding-top: 40px; }
    @media screen and (max-width: 768px) {
      main.produce section.flow .container .inner ol {
        padding-top: 32px; } }
    main.produce section.flow .container .inner ol li {
      position: relative;
      padding-bottom: 40px;
      margin-bottom: 94px;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        main.produce section.flow .container .inner ol li {
          display: block;
          padding-bottom: 36px;
          margin-bottom: 48px; } }
      main.produce section.flow .container .inner ol li:after {
        content: "";
        display: block;
        background-image: url("../images/produce/flow_arrow.svg");
        background-position: 100% 0;
        height: 34px;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0; }
        @media screen and (max-width: 768px) {
          main.produce section.flow .container .inner ol li:after {
            background-image: url("../images/produce/flow_arrow_sp.svg");
            background-position: 50% 0;
            height: 15px; } }
      main.produce section.flow .container .inner ol li:last-child {
        padding-bottom: 0;
        margin-bottom: 0; }
        main.produce section.flow .container .inner ol li:last-child:after {
          display: none; }
      main.produce section.flow .container .inner ol li figure {
        flex: 0 0 480px;
        order: 2; }
        @media screen and (max-width: 768px) {
          main.produce section.flow .container .inner ol li figure {
            margin-bottom: 40px; } }
      main.produce section.flow .container .inner ol li .content {
        flex: 0 0 556px; }
        main.produce section.flow .container .inner ol li .content .marker {
          font-family: "Inter", sans-serif;
          font-weight: 600;
          font-size: 24px;
          line-height: 29px;
          text-align: left;
          color: #009150;
          margin-bottom: 44px; }
          @media screen and (max-width: 768px) {
            main.produce section.flow .container .inner ol li .content .marker {
              font-size: 18px;
              line-height: 22px;
              margin-bottom: 12px; } }
        main.produce section.flow .container .inner ol li .content .title {
          font-weight: bold;
          font-size: 28px;
          letter-spacing: 0.15em;
          line-height: 48px;
          text-align: left;
          color: #262626;
          margin-bottom: 36px; }
          @media screen and (max-width: 768px) {
            main.produce section.flow .container .inner ol li .content .title {
              font-size: 18px;
              letter-spacing: 0.15em;
              line-height: 32px;
              margin-bottom: 26px; } }
        main.produce section.flow .container .inner ol li .content p {
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 36px;
          text-align: left;
          color: #262626; }
          @media screen and (max-width: 768px) {
            main.produce section.flow .container .inner ol li .content p {
              line-height: 28px; } }
main.produce section.example {
  position: relative;
  padding: 104px 0 124px; }
  @media screen and (max-width: 768px) {
    main.produce section.example {
      padding: 64px 0; } }
  main.produce section.example:before {
    content: "";
    background-color: rgba(38, 38, 38, 0.8);
    mix-blend-mode: multiply;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  main.produce section.example:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("../images/produce/corner_01.svg"), url("../images/produce/corner_02.svg");
    background-position: 0 0, 0 100%;
    background-repeat: no-repeat, no-repeat; }
    @media screen and (max-width: 768px) {
      main.produce section.example:after {
        background-size: 35px 35px, 35px 35px; } }
  main.produce section.example .container {
    position: relative;
    z-index: 1; }
    main.produce section.example .container h2 {
      font-weight: bold;
      font-size: 20px;
      letter-spacing: 0.1em;
      line-height: 29px;
      text-align: left;
      color: #fff;
      margin-bottom: 80px; }
      @media screen and (max-width: 768px) {
        main.produce section.example .container h2 {
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 24px;
          margin-bottom: 32px; } }
    main.produce section.example .container .inner > ul {
      display: flex;
      flex-wrap: wrap;
      gap: 40px; }
      @media screen and (max-width: 768px) {
        main.produce section.example .container .inner > ul {
          gap: 24px 21px; } }
      main.produce section.example .container .inner > ul > li {
        flex: 0 0 calc((100% - 40px * 2) / 3);
        padding: 38px 30px 30px;
        border: 1px solid #FFFFFF;
        border-radius: 30px; }
        @media screen and (max-width: 768px) {
          main.produce section.example .container .inner > ul > li {
            flex: 0 0 calc((100% - 21px * 1) / 2);
            border-radius: 16px;
            padding: 20px 18px 18px; } }
        main.produce section.example .container .inner > ul > li .title {
          font-weight: bold;
          font-size: 20px;
          letter-spacing: 0.01em;
          line-height: 29px;
          text-align: center;
          color: #fff;
          margin-bottom: 24px; }
          @media screen and (max-width: 768px) {
            main.produce section.example .container .inner > ul > li .title {
              font-size: 14px;
              line-height: 20px;
              margin-bottom: 16px; } }
        main.produce section.example .container .inner > ul > li figure {
          padding-bottom: 24px;
          border-bottom: 1px solid #FFFFFF;
          text-align: center; }
          @media screen and (max-width: 768px) {
            main.produce section.example .container .inner > ul > li figure {
              padding-bottom: 16px; } }
          main.produce section.example .container .inner > ul > li figure img {
            width: 180px;
            height: 180px; }
            @media screen and (max-width: 768px) {
              main.produce section.example .container .inner > ul > li figure img {
                width: 100px;
                height: 100px; } }
        main.produce section.example .container .inner > ul > li p.description {
          margin: 16px 0 0;
          font-weight: 500;
          font-size: 12px;
          letter-spacing: 0.05em;
          line-height: 24px;
          text-align: left;
          color: #fff; }
        main.produce section.example .container .inner > ul > li ul {
          margin: 16px 0 0;
          width: fit-content;
          column-count: 2;
          column-gap: 24px; }
          @media screen and (max-width: 768px) {
            main.produce section.example .container .inner > ul > li ul {
              margin: 15px 0 0;
              column-count: auto;
              column-gap: 0; } }
          main.produce section.example .container .inner > ul > li ul li {
            font-weight: 500;
            font-size: 12px;
            letter-spacing: 0.05em;
            line-height: 24px;
            text-align: left;
            color: #fff;
            min-width: 90px; }
            @media screen and (max-width: 768px) {
              main.produce section.example .container .inner > ul > li ul li {
                line-height: 20px;
                min-width: 0; } }
            main.produce section.example .container .inner > ul > li ul li:before {
              content: "・"; }
main.produce section.original {
  position: relative;
  background-color: #F5F5F5;
  overflow: hidden; }
  main.produce section.original:before {
    content: "";
    height: 80px;
    display: block;
    border-bottom: 1px solid #D1D1D1; }
    @media screen and (max-width: 768px) {
      main.produce section.original:before {
        display: none; } }
  main.produce section.original .container .inner {
    display: flex;
    align-items: center;
    height: 241px; }
    @media screen and (max-width: 768px) {
      main.produce section.original .container .inner {
        display: block;
        height: auto;
        padding-top: 56px; } }
    main.produce section.original .container .inner p {
      position: relative;
      z-index: 1;
      font-weight: bold;
      font-size: 24px;
      letter-spacing: 0.1em;
      line-height: 52px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.produce section.original .container .inner p {
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 32px;
          text-align: center;
          margin-bottom: 36px; } }
    main.produce section.original .container .inner figure {
      position: absolute;
      right: 0;
      height: 241px;
      bottom: 0; }
      @media screen and (max-width: 768px) {
        main.produce section.original .container .inner figure {
          position: static;
          margin: 0 calc(-20 / 375 * 100vw);
          height: auto; } }
      main.produce section.original .container .inner figure img {
        width: auto;
        height: 241px; }
        @media screen and (max-width: 768px) {
          main.produce section.original .container .inner figure img {
            width: 100%;
            height: auto; } }
main.produce section.material {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 104px 0 124px; }
  @media screen and (max-width: 768px) {
    main.produce section.material {
      padding: 72px 0; } }
  main.produce section.material .container h2 {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.03em;
    line-height: 24px;
    text-align: left;
    color: #009150;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.produce section.material .container h2 {
        font-size: 16px;
        letter-spacing: 0.03em;
        line-height: 20px;
        margin-bottom: 48px; } }
  main.produce section.material .container .inner ul {
    display: flex;
    gap: 0 35px; }
    @media screen and (max-width: 768px) {
      main.produce section.material .container .inner ul {
        display: block; } }
    main.produce section.material .container .inner ul li {
      flex: 0 0 calc((100% - 35px * 2) / 3);
      border-radius: 9999px;
      background-color: #fff; }
      @media screen and (max-width: 768px) {
        main.produce section.material .container .inner ul li {
          margin-top: 18px;
          text-align: center; } }
      @media screen and (max-width: 768px) {
        main.produce section.material .container .inner ul li img {
          width: auto;
          max-height: 126px; } }
  main.produce section.material .container .inner .action {
    margin-top: 72px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      main.produce section.material .container .inner .action {
        margin-top: 48px; } }
    main.produce section.material .container .inner .action a {
      position: relative;
      display: inline-block;
      width: 228px;
      border: 1px solid #262626;
      border-radius: 8px;
      font-weight: bold;
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 54px;
      text-align: center;
      color: #262626;
      transition: all ease .3s; }
      @media screen and (max-width: 768px) {
        main.produce section.material .container .inner .action a {
          width: 100%;
          max-width: 295px;
          line-height: 46px; } }
      main.produce section.material .container .inner .action a:after {
        content: "";
        border: 1px solid #262626;
        display: block;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-image: url("../images/produce/material_btn_arrow.svg");
        background-position: 50% 50%;
        background-repeat: no-repeat;
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.produce section.material .container .inner .action a:after {
            right: 20px; } }
      @media screen and (min-width: 769px) {
        main.produce section.material .container .inner .action a:hover {
          color: #fff;
          background-color: #262626; }
          main.produce section.material .container .inner .action a:hover:after {
            background-color: #fff; } }
main.produce section.case {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 103px 0 140px; }
  @media screen and (max-width: 768px) {
    main.produce section.case {
      padding: 72px 0 74px; } }
  main.produce section.case .container h2 {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 29px;
    text-align: left;
    color: #058e4a;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.produce section.case .container h2 {
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 24px;
        margin-bottom: 40px; } }
  main.produce section.case .container .inner ul {
    max-width: 1055px;
    margin: 0 auto;
    display: flex;
    gap: 0 95px; }
    @media screen and (max-width: 768px) {
      main.produce section.case .container .inner ul {
        display: block; } }
    main.produce section.case .container .inner ul li {
      flex: 0 0 calc((100% - 95px) / 2); }
      @media screen and (max-width: 768px) {
        main.produce section.case .container .inner ul li + li {
          margin-top: 48px; } }
      main.produce section.case .container .inner ul li figure {
        position: relative;
        margin-bottom: 56px; }
        @media screen and (max-width: 768px) {
          main.produce section.case .container .inner ul li figure {
            margin: 0 20px 36px; } }
        main.produce section.case .container .inner ul li figure:before {
          content: "";
          display: block;
          width: calc(352 / 480 * 100%);
          height: calc(253 / 345 * 100%);
          background-color: #009150;
          position: absolute;
          bottom: -12px;
          right: -12px; }
          @media screen and (max-width: 768px) {
            main.produce section.case .container .inner ul li figure:before {
              bottom: -8px;
              right: -8px;
              width: calc(239 / 295 * 100%);
              height: calc(172 / 212 * 100%); } }
        main.produce section.case .container .inner ul li figure img {
          position: relative; }
      main.produce section.case .container .inner ul li .title {
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 32px;
        text-align: left;
        color: #262626;
        margin-bottom: 44px; }
        @media screen and (max-width: 768px) {
          main.produce section.case .container .inner ul li .title {
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 28px;
            margin-bottom: 28px; } }
      main.produce section.case .container .inner ul li .client {
        border-top: 1px solid #D1D1D1;
        padding-top: 24px;
        font-weight: 500;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 20px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.produce section.case .container .inner ul li .client {
            font-size: 12px;
            letter-spacing: 0.1em;
            line-height: 17px; } }
main.produce section.structure {
  position: relative;
  padding: 124px 0; }
  @media screen and (max-width: 768px) {
    main.produce section.structure {
      padding: 72px 0; } }
  main.produce section.structure:before {
    content: "";
    background-color: rgba(38, 38, 38, 0.8);
    mix-blend-mode: multiply;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  main.produce section.structure:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url("../images/produce/corner_01.svg"), url("../images/produce/corner_02.svg");
    background-position: 0 0, 0 100%;
    background-repeat: no-repeat, no-repeat; }
    @media screen and (max-width: 768px) {
      main.produce section.structure:after {
        background-size: 35px 35px; } }
  main.produce section.structure .container {
    position: relative;
    z-index: 1; }
    main.produce section.structure .container .inner h2 {
      text-align: center;
      margin-bottom: 45px; }
      @media screen and (max-width: 768px) {
        main.produce section.structure .container .inner h2 {
          margin-bottom: 32px; } }
      main.produce section.structure .container .inner h2 .highlight {
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
        font-weight: bold;
        font-size: 24px;
        letter-spacing: 0.2em;
        line-height: 44px;
        padding: 5px 16px 4px;
        color: #262626;
        background-color: #fff; }
        @media screen and (max-width: 768px) {
          main.produce section.structure .container .inner h2 .highlight {
            font-size: 16px;
            letter-spacing: 0.05em;
            line-height: 36px;
            text-align: center;
            padding: 4px 12px 4px; } }
    main.produce section.structure .container .inner p {
      font-weight: bold;
      font-size: 18px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: center;
      color: #fff;
      margin-bottom: 36px; }
      @media screen and (max-width: 768px) {
        main.produce section.structure .container .inner p {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 28px;
          text-align: left;
          margin-bottom: 32px; } }
    main.produce section.structure .container .inner figure {
      margin: 0 calc(-20 / 375 * 100vw);
      margin-bottom: 40px; }
    main.produce section.structure .container .inner ol {
      display: flex;
      flex-wrap: wrap;
      gap: 0 70px; }
      @media screen and (max-width: 768px) {
        main.produce section.structure .container .inner ol {
          gap: 42px 0; } }
      main.produce section.structure .container .inner ol li {
        position: relative;
        flex: 0 0 calc((100% - 70px * 2) / 3);
        font-weight: bold;
        font-size: 18px;
        letter-spacing: 0.1em;
        line-height: 32px;
        text-align: center;
        color: #fff;
        padding: 28px 32px;
        border: 1px solid #fff;
        border-radius: 12px; }
        @media screen and (max-width: 768px) {
          main.produce section.structure .container .inner ol li {
            flex: 0 0 100%;
            font-size: 14px;
            letter-spacing: 0.1em;
            line-height: 22px;
            padding: 15px;
            border-radius: 8px; } }
        main.produce section.structure .container .inner ol li:after {
          content: "";
          display: block;
          background-image: url("../images/produce/structure_flow_arrow.svg");
          width: 55px;
          height: 22px;
          position: absolute;
          top: 50%;
          left: 100%;
          transform: translateY(-50%); }
          @media screen and (max-width: 768px) {
            main.produce section.structure .container .inner ol li:after {
              background-image: url("../images/produce/structure_flow_arrow_sp.svg");
              width: 18px;
              height: 29px;
              top: 100%;
              left: 50%;
              transform: translateX(-50%); } }
        main.produce section.structure .container .inner ol li:last-child:after {
          display: none; }
main.produce section.qa {
  background-color: #F5F5F5;
  padding: 103px 0 124px; }
  @media screen and (max-width: 768px) {
    main.produce section.qa {
      padding: 72px 0 80px; } }
  main.produce section.qa h2 {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 29px;
    text-align: left;
    color: #058e4a;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.produce section.qa h2 {
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 24px;
        margin-bottom: 40px; } }
  main.produce section.qa dl {
    border-top: 1px solid #D1D1D1; }
    main.produce section.qa dl dt {
      position: relative;
      font-weight: bold;
      font-size: 18px;
      letter-spacing: 0.1em;
      line-height: 26px;
      text-align: left;
      color: #262626;
      padding-left: 40px;
      padding-top: 40px; }
      @media screen and (max-width: 768px) {
        main.produce section.qa dl dt {
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 32px;
          padding-top: 28px;
          padding-left: 32px; } }
      main.produce section.qa dl dt:before {
        content: "Q";
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 24px;
        letter-spacing: 0.03em;
        line-height: 29px;
        text-align: left;
        color: #009150;
        position: absolute;
        top: 39px;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.produce section.qa dl dt:before {
            font-size: 20px;
            letter-spacing: 0;
            line-height: 24px;
            top: 32px; } }
    main.produce section.qa dl dd {
      position: relative;
      font-weight: normal;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 32px;
      text-align: left;
      color: #262626;
      padding-top: 30px;
      padding-left: 40px;
      padding-bottom: 36px;
      border-bottom: 1px solid #D1D1D1; }
      @media screen and (max-width: 768px) {
        main.produce section.qa dl dd {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 28px;
          padding-bottom: 28px;
          padding-left: 32px;
          padding-top: 24px; } }
      main.produce section.qa dl dd a {
        color: #009150;
        text-decoration: underline; }
        main.produce section.qa dl dd a:hover {
          text-decoration: none; }
      main.produce section.qa dl dd:before {
        content: "A";
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 24px;
        letter-spacing: 0.03em;
        line-height: 29px;
        text-align: left;
        color: #009150;
        position: absolute;
        top: 32.5px;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.produce section.qa dl dd:before {
            font-size: 20px;
            line-height: 24px;
            letter-spacing: 0;
            top: 27px; } }

main.produce-greenuniform .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.produce-greenuniform .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.produce-greenuniform .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.produce-greenuniform > header {
  position: relative;
  height: 100svh;
  background-image: url("../images/produce/greenuniform/visual_bg.jpg");
  background-size: cover;
  background-position: 50% 50%; }
  @media screen and (max-width: 768px) {
    main.produce-greenuniform > header {
      background-image: url("../images/produce/greenuniform/visual_bg_sp.jpg");
      height: calc(554 / 375 * 100vw);
      max-height: 100svh; } }
  main.produce-greenuniform > header h1 {
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(880 / 1366 * 100vw);
    max-width: 880px; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform > header h1 {
        top: calc(251 / 544 * 100%);
        width: calc(335 / 375 * 100vw);
        max-width: 495px; } }
  main.produce-greenuniform > header .banner {
    position: absolute;
    right: calc(60 / 1366 * 100vw);
    top: 120px;
    width: min(260px, calc(260 / 1366 * 100vw));
    border-radius: calc(6 / 1366 * 100vw);
    overflow: hidden; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform > header .banner {
        right: min(28px, calc(28 / 375 * 100vw));
        top: auto;
        bottom: min(28px, calc(28 / 375 * 100vw));
        width: min(170px, calc(170 / 375 * 100vw));
        border-radius: calc(3 / 375 * 100vw); } }
main.produce-greenuniform section.about {
  background-color: #F5F5F5;
  padding: 180px 0 112px; }
  @media screen and (max-width: 768px) {
    main.produce-greenuniform section.about {
      padding: 72px 0 150px; } }
  main.produce-greenuniform section.about .container .inner {
    display: flex;
    position: relative; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform section.about .container .inner {
        display: block; } }
    main.produce-greenuniform section.about .container .inner .content {
      position: relative;
      z-index: 1; }
      main.produce-greenuniform section.about .container .inner .content hgroup {
        margin-bottom: 88px; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.about .container .inner .content hgroup {
            margin-bottom: 50px; } }
        main.produce-greenuniform section.about .container .inner .content hgroup h2 {
          font-weight: bold;
          font-size: 48px;
          letter-spacing: 0.1em;
          line-height: 65px;
          text-align: left;
          color: #262626;
          margin-bottom: 40px; }
          @media screen and (max-width: 768px) {
            main.produce-greenuniform section.about .container .inner .content hgroup h2 {
              font-size: 24px;
              line-height: 35px;
              margin-bottom: 25px; } }
        main.produce-greenuniform section.about .container .inner .content hgroup p {
          font-family: "Inter", sans-serif;
          font-weight: 500;
          font-size: 18px;
          letter-spacing: 0.03em;
          line-height: 21px;
          text-align: left;
          color: #009150; }
          @media screen and (max-width: 768px) {
            main.produce-greenuniform section.about .container .inner .content hgroup p {
              font-size: 12px;
              line-height: 15px; } }
      main.produce-greenuniform section.about .container .inner .content > p {
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 48px;
        text-align: left;
        color: #262626;
        margin-top: 48px; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.about .container .inner .content > p {
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 32px; } }
    main.produce-greenuniform section.about .container .inner figure {
      position: absolute;
      top: 85px;
      right: max(-133px, calc(-133 * 100vw / 1366));
      width: 470px; }
      @media screen and (max-width: 768px) {
        main.produce-greenuniform section.about .container .inner figure {
          position: relative;
          top: auto;
          right: auto;
          margin-top: 75px;
          width: calc(335/ 375 * 100vw);
          height: calc(510 / 375 * 100vw); } }
      main.produce-greenuniform section.about .container .inner figure picture {
        position: absolute;
        box-shadow: 10px 20px 40px rgba(0, 0, 0, 0.16); }
        main.produce-greenuniform section.about .container .inner figure picture img {
          width: 100%; }
      main.produce-greenuniform section.about .container .inner figure picture:nth-child(1) {
        width: 370px;
        top: 0;
        left: 0; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.about .container .inner figure picture:nth-child(1) {
            width: calc(315 / 375 * 100vw); } }
      main.produce-greenuniform section.about .container .inner figure picture:nth-child(2) {
        width: 223px;
        top: 161px;
        left: 247px; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.about .container .inner figure picture:nth-child(2) {
            width: calc(151 / 375 * 100vw);
            top: calc(154 / 375 * 100vw);
            left: calc(204 / 375 * 100vw); } }
      main.produce-greenuniform section.about .container .inner figure picture:nth-child(3) {
        width: 162px;
        top: 349px;
        left: 36px; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.about .container .inner figure picture:nth-child(3) {
            width: calc(158 / 375 * 100vw);
            top: calc(266 / 375 * 100vw);
            left: calc(-20 / 375 * 100vw); } }
      main.produce-greenuniform section.about .container .inner figure picture:nth-child(4) {
        width: 247px;
        top: 478px;
        left: 140px; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.about .container .inner figure picture:nth-child(4) {
            width: calc(180 / 375 * 100vw);
            top: calc(375 / 375 * 100vw);
            left: calc(96 / 375 * 100vw); } }
main.produce-greenuniform section.scheme {
  border-top: 1px solid #D1D1D1;
  padding: 80px 0 68px;
  background-color: #F5F5F5; }
  @media screen and (max-width: 768px) {
    main.produce-greenuniform section.scheme {
      padding: 68px 0 36px; } }
  main.produce-greenuniform section.scheme .container .inner h2 {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 29px;
    text-align: left;
    color: #009150;
    margin-bottom: 64px; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform section.scheme .container .inner h2 {
        font-size: 16px;
        line-height: 32px;
        margin-bottom: 36px; } }
  main.produce-greenuniform section.scheme .container .inner > figure {
    margin-bottom: 124px;
    background-color: #fff;
    border-radius: 16px; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform section.scheme .container .inner > figure {
        margin-bottom: 64px;
        border-radius: 10px; } }
  main.produce-greenuniform section.scheme .container .inner section {
    border-top: 1px solid #D1D1D1;
    padding: 56px 0;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform section.scheme .container .inner section {
        display: block;
        padding: 40px 0 36px; } }
    main.produce-greenuniform section.scheme .container .inner section figure {
      flex: 0 0 calc(480 / 1100 * 100%);
      order: 2; }
      @media screen and (max-width: 768px) {
        main.produce-greenuniform section.scheme .container .inner section figure {
          margin-bottom: 33px; } }
    main.produce-greenuniform section.scheme .container .inner section .content {
      flex: 0 0 calc(556 / 1100 * 100%); }
      main.produce-greenuniform section.scheme .container .inner section .content header p.marker {
        font-weight: bold;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 20px;
        text-align: left;
        color: #009150;
        margin-bottom: 40px; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.scheme .container .inner section .content header p.marker {
            margin-bottom: 20px; } }
      main.produce-greenuniform section.scheme .container .inner section .content header h3 {
        font-weight: bold;
        font-size: 28px;
        letter-spacing: 0.15em;
        line-height: 56px;
        text-align: left;
        color: #262626;
        margin-bottom: 16px; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.scheme .container .inner section .content header h3 {
            font-size: 18px;
            line-height: 32px;
            margin-bottom: 24px; } }
      main.produce-greenuniform section.scheme .container .inner section .content > p {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 36px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.produce-greenuniform section.scheme .container .inner section .content > p {
            font-size: 14px;
            line-height: 28px; } }
main.produce-greenuniform section.example {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 80px 0 124px; }
  @media screen and (max-width: 768px) {
    main.produce-greenuniform section.example {
      padding: 72px 0; } }
  main.produce-greenuniform section.example .container .inner h2 {
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 29px;
    text-align: left;
    color: #009150;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform section.example .container .inner h2 {
        font-size: 16px;
        line-height: 24px;
        margin-bottom: 36px; } }
  main.produce-greenuniform section.example .container .inner p {
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 36px;
    text-align: left;
    color: #262626; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform section.example .container .inner p {
        font-size: 14px;
        line-height: 28px; } }
  main.produce-greenuniform section.example .container .inner figure {
    border-radius: 16px;
    overflow: hidden;
    background-color: #fff;
    margin-top: 56px; }
    @media screen and (max-width: 768px) {
      main.produce-greenuniform section.example .container .inner figure {
        margin-top: 36px;
        border-radius: 10px; } }
main.produce-greenuniform > .action {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 80px 0 124px; }
  @media screen and (max-width: 768px) {
    main.produce-greenuniform > .action {
      padding: 56px 0 80px; } }
  main.produce-greenuniform > .action .container .inner p {
    display: flex;
    justify-content: center; }
    main.produce-greenuniform > .action .container .inner p a {
      position: relative;
      display: block;
      font-weight: bold;
      padding: 32px 56px;
      font-size: 20px;
      letter-spacing: 0.1em;
      line-height: 36px;
      text-align: left;
      color: #fff;
      width: 600px;
      border-radius: 9999px;
      background: #262626;
      box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.16);
      transition: all ease .3s; }
      @media screen and (max-width: 768px) {
        main.produce-greenuniform > .action .container .inner p a {
          font-size: 16px;
          line-height: 26px;
          padding: 24px 48px;
          width: 100%; } }
      main.produce-greenuniform > .action .container .inner p a .nowrap {
        display: inline-block; }
      main.produce-greenuniform > .action .container .inner p a .arrow {
        position: absolute;
        top: calc(50% - 18px);
        display: block;
        right: 32px;
        width: 36px;
        height: 36px;
        border: 1px solid #fff;
        border-radius: 50%;
        transition: all ease .3s; }
        main.produce-greenuniform > .action .container .inner p a .arrow:before {
          content: "";
          -webkit-mask-image: url("../images/produce/greenuniform/action_btn_arrow.svg");
          mask-image: url("../images/produce/greenuniform/action_btn_arrow.svg");
          -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
          display: block;
          width: 7px;
          height: 11px;
          background-color: #fff;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          transition: all ease .3s; }
      @media screen and (min-width: 769px) {
        main.produce-greenuniform > .action .container .inner p a:hover {
          background-color: #009150; }
          main.produce-greenuniform > .action .container .inner p a:hover .arrow {
            background-color: #fff; }
            main.produce-greenuniform > .action .container .inner p a:hover .arrow:before {
              background-color: #009150; } }

main.brand .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.brand .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.brand .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.brand header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.brand header {
      height: 544px; } }
  main.brand header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.brand header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.brand header > .bg:before, main.brand header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.brand header > .bg:before {
      left: 100%; }
    main.brand header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.brand header > .bg:after {
          right: 375px; } }
  main.brand header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.brand header .container {
        padding-top: 148px; } }
    main.brand header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.brand header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.brand header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.brand header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.brand header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.brand header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.brand header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.brand header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.brand header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.brand .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 130px 0 124px; }
  @media screen and (max-width: 768px) {
    main.brand .body {
      padding: 100px 0 104px; } }
  main.brand .body .container .inner section {
    display: grid;
    grid-template-columns: auto max(400px, calc(480 / 1100 * 100%));
    grid-template-rows: auto 1fr;
    gap: 40px calc(64 / 1100 * 100%);
    border-bottom: 1px solid #D1D1D1;
    padding-bottom: 70px;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      main.brand .body .container .inner section {
        display: block;
        padding-bottom: 48px;
        margin-bottom: 48px; } }
    main.brand .body .container .inner section:last-child {
      border: none;
      padding-bottom: 0;
      margin-bottom: 0; }
    main.brand .body .container .inner section .content {
      grid-row: 1 / 3;
      grid-column: 1 / 2; }
      main.brand .body .container .inner section .content h1 {
        max-width: 540px;
        margin-bottom: 42px;
        display: flex;
        align-items: center;
        height: 180px; }
        @media screen and (max-width: 768px) {
          main.brand .body .container .inner section .content h1 {
            max-width: 335px;
            margin: 0 auto;
            margin-bottom: 48px; } }
      main.brand .body .container .inner section .content .title {
        font-weight: bold;
        font-size: 18px;
        letter-spacing: 0.05em;
        line-height: 36px;
        text-align: left;
        color: #000;
        margin-bottom: 32px; }
        @media screen and (max-width: 768px) {
          main.brand .body .container .inner section .content .title {
            font-size: 16px;
            letter-spacing: 0.05em;
            line-height: 30px;
            margin-bottom: 24px; } }
      main.brand .body .container .inner section .content .description {
        font-size: 12px;
        letter-spacing: 0.1em;
        line-height: 24px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.brand .body .container .inner section .content .description {
            font-size: 12px;
            letter-spacing: 0.05em;
            line-height: 24px;
            margin-bottom: 38px; } }
    main.brand .body .container .inner section figure {
      grid-row: 1 / 2;
      grid-column: 2 / 3; }
    main.brand .body .container .inner section ul.action {
      grid-row: 2 / 3;
      grid-column: 2 / 3;
      display: flex;
      gap: 0 24px; }
      @media screen and (max-width: 768px) {
        main.brand .body .container .inner section ul.action {
          gap: 0 15px;
          margin-top: 40px; } }
      main.brand .body .container .inner section ul.action li {
        flex: 0 0 calc((100% - 24px) / 2); }
        @media screen and (max-width: 768px) {
          main.brand .body .container .inner section ul.action li {
            flex: 0 0 calc((100% - 15px) / 2); } }
        main.brand .body .container .inner section ul.action li a {
          position: relative;
          display: block;
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 54px;
          text-align: center;
          color: #262626;
          border: 1px solid #262626;
          border-radius: 8px;
          transition: all ease .3s;
          padding-right: 7px; }
          @media screen and (max-width: 768px) {
            main.brand .body .container .inner section ul.action li a {
              font-size: 14px;
              letter-spacing: 0.1em;
              line-height: 46px;
              padding-right: 23px;
              border-radius: 5px; } }
          main.brand .body .container .inner section ul.action li a:after {
            content: "";
            border: 1px solid #262626;
            display: block;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            position: absolute;
            right: 18px;
            top: 50%;
            transform: translateY(-50%);
            background-image: url("../images/brand/arrow_button.svg");
            background-position: 50% 50%;
            background-repeat: no-repeat;
            transition: all ease .3s; }
            @media screen and (max-width: 768px) {
              main.brand .body .container .inner section ul.action li a:after {
                right: 12px; } }
          main.brand .body .container .inner section ul.action li a:hover {
            color: #fff;
            background-color: #262626; }
            main.brand .body .container .inner section ul.action li a:hover:after {
              background-color: #fff; }

main.material .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.material .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.material .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.material header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.material header {
      height: 544px; } }
  main.material header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.material header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.material header > .bg:before, main.material header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.material header > .bg:before {
      left: 100%; }
    main.material header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.material header > .bg:after {
          right: 375px; } }
  main.material header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.material header .container {
        padding-top: 148px; } }
    main.material header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.material header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.material header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.material header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.material header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.material header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.material header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.material header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.material header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.material .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 44px 0 44px; }
  @media screen and (max-width: 768px) {
    main.material .body {
      padding: 8px 0 80px; } }
  main.material .body section {
    padding-top: 80px; }
    @media screen and (max-width: 768px) {
      main.material .body section {
        padding-top: 64px; } }
    main.material .body section .container .marker {
      display: flex;
      margin-bottom: 62px; }
      @media screen and (max-width: 768px) {
        main.material .body section .container .marker {
          margin-bottom: 40px; } }
      main.material .body section .container .marker span:nth-child(1) {
        position: relative;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        line-height: 28px;
        text-align: left;
        color: #fff;
        padding: 0 7px;
        background-color: #262626;
        margin-right: 68px; }
        @media screen and (max-width: 768px) {
          main.material .body section .container .marker span:nth-child(1) {
            font-size: 14px;
            line-height: 24px;
            margin-right: 57px; } }
        main.material .body section .container .marker span:nth-child(1):after {
          content: "";
          display: block;
          width: 40px;
          height: 1px;
          background-color: #262626;
          position: absolute;
          top: 50%;
          left: calc(100% + 16px); }
          @media screen and (max-width: 768px) {
            main.material .body section .container .marker span:nth-child(1):after {
              width: 32px;
              left: calc(100% + 13px); } }
      main.material .body section .container .marker span:nth-child(2) {
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        line-height: 28px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.material .body section .container .marker span:nth-child(2) {
            font-size: 14px;
            line-height: 24px; } }
    main.material .body section .container .inner {
      padding-bottom: 80px;
      border-bottom: 1px solid #D1D1D1;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        main.material .body section .container .inner {
          padding-bottom: 0;
          border-bottom: none;
          display: block; } }
      main.material .body section .container .inner .content {
        flex: 0 0 calc(500 / 1100 * 100%);
        padding-top: 32px; }
        @media screen and (max-width: 768px) {
          main.material .body section .container .inner .content {
            padding-top: 0;
            padding-bottom: 64px; } }
        main.material .body section .container .inner .content h2 {
          font-family: "Inter", sans-serif;
          font-weight: bold;
          font-size: 40px;
          letter-spacing: 0.1em;
          line-height: 52px;
          text-align: left;
          color: #262626;
          margin-bottom: 36px; }
          @media screen and (max-width: 768px) {
            main.material .body section .container .inner .content h2 {
              font-size: 20px;
              letter-spacing: 0.1em;
              line-height: 30px;
              margin-bottom: 34px; } }
        main.material .body section .container .inner .content p {
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 40px;
          text-align: left;
          color: #262626; }
          @media screen and (max-width: 768px) {
            main.material .body section .container .inner .content p {
              font-size: 14px;
              letter-spacing: 0.05em;
              line-height: 32px; } }
        main.material .body section .container .inner .content .action {
          margin-top: 70px; }
          @media screen and (max-width: 768px) {
            main.material .body section .container .inner .content .action {
              margin-top: 58px; } }
          main.material .body section .container .inner .content .action a {
            position: relative;
            display: inline-block;
            font-weight: bold;
            font-size: 16px;
            letter-spacing: 0.1em;
            line-height: 29px;
            text-align: left;
            color: #262626;
            padding-right: 48px; }
            main.material .body section .container .inner .content .action a:after {
              content: "";
              position: absolute;
              bottom: 0;
              background-color: #009150;
              left: 0;
              display: block;
              height: 1px;
              width: 0;
              transition: all ease .3s; }
            main.material .body section .container .inner .content .action a .arrow {
              border: 1px solid #262626;
              width: 29px;
              height: 29px;
              border-radius: 50%;
              position: absolute;
              right: 0;
              top: 0;
              transition: all ease .3s; }
              main.material .body section .container .inner .content .action a .arrow:after {
                content: "";
                -weblit-mask-image: url("../images/home/arrow_link.svg");
                -webkit-mask-size: 6px 9px;
                mask-image: url("../images/home/arrow_link.svg");
                mask-size: 6px 9px;
                display: block;
                width: 6px;
                height: 9px;
                background-color: #262626;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%); }
            @media screen and (min-width: 769px) {
              main.material .body section .container .inner .content .action a:hover:after {
                width: calc(100% - 48px); }
              main.material .body section .container .inner .content .action a:hover .arrow {
                background-color: #009150;
                border-color: #009150; }
                main.material .body section .container .inner .content .action a:hover .arrow:after {
                  background-color: #fff; } }
      main.material .body section .container .inner figure {
        flex: 0 0 calc(498 / 1100 * 100%); }
        @media screen and (max-width: 768px) {
          main.material .body section .container .inner figure {
            margin: 0 calc(-20 / 375 * 100vw); } }
    main.material .body section:last-child .container .inner {
      border-bottom: none; }

main.material-e-dye .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.material-e-dye .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.material-e-dye .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.material-e-dye > header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.material-e-dye > header {
      height: 544px; } }
  main.material-e-dye > header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.material-e-dye > header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.material-e-dye > header > .bg:before, main.material-e-dye > header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.material-e-dye > header > .bg:before {
      left: 100%; }
    main.material-e-dye > header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye > header > .bg:after {
          right: 375px; } }
  main.material-e-dye > header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye > header .container {
        padding-top: 148px; } }
    main.material-e-dye > header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye > header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.material-e-dye > header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.material-e-dye > header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.material-e-dye > header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye > header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.material-e-dye > header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye > header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.material-e-dye > header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.material-e-dye .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 0; }
  main.material-e-dye .body section.intro {
    padding: 124px 0;
    position: relative; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.intro {
        overflow: hidden;
        padding: 72px 0 0; } }
    main.material-e-dye .body section.intro .container .inner .content {
      position: relative;
      z-index: 1; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.intro .container .inner .content {
          padding-bottom: 420px; } }
      main.material-e-dye .body section.intro .container .inner .content header h2 {
        margin-bottom: 100px;
        width: 400px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.intro .container .inner .content header h2 {
            width: 180px;
            margin-bottom: 44px; } }
      main.material-e-dye .body section.intro .container .inner .content header p:nth-child(2) {
        font-weight: bold;
        font-size: 32px;
        letter-spacing: 0.15em;
        line-height: 46px;
        text-align: left;
        color: #262626;
        margin-bottom: 49px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.intro .container .inner .content header p:nth-child(2) {
            font-size: 32px;
            letter-spacing: 0.15em;
            line-height: 56px;
            margin-bottom: 44px; } }
      main.material-e-dye .body section.intro .container .inner .content header p:nth-child(3) {
        font-weight: bold;
        font-size: 20px;
        letter-spacing: 0.25em;
        line-height: 29px;
        text-align: left;
        color: #262626;
        margin-bottom: 62px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.intro .container .inner .content header p:nth-child(3) {
            font-size: 18px;
            letter-spacing: 0.1em;
            line-height: 26px;
            margin-bottom: 35px; } }
      main.material-e-dye .body section.intro .container .inner .content > p {
        font-weight: 500;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 40px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.intro .container .inner .content > p {
            font-weight: normal;
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 32px; } }
        main.material-e-dye .body section.intro .container .inner .content > p + p {
          margin-top: 40px; }
          @media screen and (max-width: 768px) {
            main.material-e-dye .body section.intro .container .inner .content > p + p {
              margin-top: 0; } }
      main.material-e-dye .body section.intro .container .inner .content .action {
        margin-top: 90px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.intro .container .inner .content .action {
            margin-top: 58px; } }
        main.material-e-dye .body section.intro .container .inner .content .action a {
          position: relative;
          display: inline-block;
          font-weight: bold;
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 29px;
          text-align: left;
          color: #262626;
          padding-right: 48px; }
          main.material-e-dye .body section.intro .container .inner .content .action a:after {
            content: "";
            position: absolute;
            bottom: 0;
            background-color: #009150;
            left: 0;
            display: block;
            height: 1px;
            width: 0;
            transition: all ease .3s; }
          main.material-e-dye .body section.intro .container .inner .content .action a .arrow {
            border: 1px solid #262626;
            width: 29px;
            height: 29px;
            border-radius: 50%;
            position: absolute;
            right: 0;
            top: 0;
            transition: all ease .3s; }
            main.material-e-dye .body section.intro .container .inner .content .action a .arrow:after {
              content: "";
              -weblit-mask-image: url("../images/home/arrow_link.svg");
              -webkit-mask-size: 6px 9px;
              mask-image: url("../images/home/arrow_link.svg");
              mask-size: 6px 9px;
              display: block;
              width: 6px;
              height: 9px;
              background-color: #262626;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%); }
          @media screen and (min-width: 769px) {
            main.material-e-dye .body section.intro .container .inner .content .action a:hover:after {
              width: calc(100% - 48px); }
            main.material-e-dye .body section.intro .container .inner .content .action a:hover .arrow {
              background-color: #009150;
              border-color: #009150; }
              main.material-e-dye .body section.intro .container .inner .content .action a:hover .arrow:after {
                background-color: #fff; } }
    main.material-e-dye .body section.intro .container .inner figure {
      position: absolute;
      width: 522px;
      top: 124px;
      right: 0; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.intro .container .inner figure {
          width: 200px;
          top: auto;
          bottom: -40px;
          left: 50%;
          right: auto;
          transform: translateX(-50%); } }
  main.material-e-dye .body section.epd {
    border-top: 1px solid #D1D1D1;
    padding: 114px 0 124px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.epd {
        padding: 60px 0 72px; } }
    main.material-e-dye .body section.epd .container .inner h2 {
      font-weight: bold;
      font-size: 20px;
      letter-spacing: 0.25em;
      line-height: 48px;
      text-align: left;
      color: #262626;
      margin-bottom: 38px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.epd .container .inner h2 {
          font-size: 20px;
          letter-spacing: 0.1em;
          line-height: 36px;
          margin-bottom: 30px; } }
    main.material-e-dye .body section.epd .container .inner p {
      font-weight: 500;
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 36px;
      text-align: left;
      color: #262626;
      margin-bottom: 64px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.epd .container .inner p {
          font-weight: normal;
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 32px;
          margin-bottom: 44px; } }
    main.material-e-dye .body section.epd .container .inner figure {
      padding: 56px 0;
      border-radius: 16px;
      background-color: #fff; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.epd .container .inner figure {
          padding: 32px 20px;
          border-radius: 10px; } }
      main.material-e-dye .body section.epd .container .inner figure ul {
        max-width: 735px;
        margin: 0 auto;
        display: flex;
        flex-wrap: wrap;
        gap: 32px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.epd .container .inner figure ul {
            gap: 15px; } }
        main.material-e-dye .body section.epd .container .inner figure ul li {
          flex: 0 0 calc((100% - 32px * 2) / 3); }
          @media screen and (max-width: 768px) {
            main.material-e-dye .body section.epd .container .inner figure ul li {
              flex: 0 0 calc((100% - 15px * 1) / 2); } }
    main.material-e-dye .body section.epd .container .inner .action {
      margin-top: 72px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.epd .container .inner .action {
          margin-top: 56px; } }
      main.material-e-dye .body section.epd .container .inner .action a {
        position: relative;
        display: inline-block;
        font-weight: bold;
        font-size: 16px;
        letter-spacing: 0.1em;
        line-height: 29px;
        text-align: left;
        color: #262626;
        padding-right: 48px; }
        main.material-e-dye .body section.epd .container .inner .action a:after {
          content: "";
          position: absolute;
          bottom: 0;
          background-color: #009150;
          left: 0;
          display: block;
          height: 1px;
          width: 0;
          transition: all ease .3s; }
        main.material-e-dye .body section.epd .container .inner .action a .arrow {
          border: 1px solid #262626;
          width: 29px;
          height: 29px;
          border-radius: 50%;
          position: absolute;
          right: 0;
          top: 0;
          transition: all ease .3s; }
          main.material-e-dye .body section.epd .container .inner .action a .arrow:after {
            content: "";
            -weblit-mask-image: url("../images/home/arrow_link.svg");
            -webkit-mask-size: 6px 9px;
            mask-image: url("../images/home/arrow_link.svg");
            mask-size: 6px 9px;
            display: block;
            width: 6px;
            height: 9px;
            background-color: #262626;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
        @media screen and (min-width: 769px) {
          main.material-e-dye .body section.epd .container .inner .action a:hover:after {
            width: calc(100% - 48px); }
          main.material-e-dye .body section.epd .container .inner .action a:hover .arrow {
            background-color: #009150;
            border-color: #009150; }
            main.material-e-dye .body section.epd .container .inner .action a:hover .arrow:after {
              background-color: #fff; } }
  main.material-e-dye .body section.technology,
  main.material-e-dye .body section.service {
    border-top: 1px solid #D1D1D1;
    padding: 80px 0; }
    main.material-e-dye .body section.technology .container h2,
    main.material-e-dye .body section.service .container h2 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 20px;
      letter-spacing: 0.03em;
      line-height: 24px;
      text-align: left;
      color: #009150;
      margin-bottom: 64px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.technology .container h2,
        main.material-e-dye .body section.service .container h2 {
          font-size: 16px;
          line-height: 20px;
          letter-spacing: 0.05em;
          margin-bottom: 40px; } }
    main.material-e-dye .body section.technology .container .inner section,
    main.material-e-dye .body section.service .container .inner section {
      padding-bottom: 80px;
      border-bottom: 1px solid #D1D1D1;
      margin-bottom: 74px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.technology .container .inner section,
        main.material-e-dye .body section.service .container .inner section {
          padding-bottom: 56px;
          margin-bottom: 45px; } }
      main.material-e-dye .body section.technology .container .inner section:last-child,
      main.material-e-dye .body section.service .container .inner section:last-child {
        padding-bottom: 0;
        margin-bottom: 0;
        border: none; }
      main.material-e-dye .body section.technology .container .inner section h3,
      main.material-e-dye .body section.service .container .inner section h3 {
        font-weight: bold;
        font-size: 24px;
        letter-spacing: 0.15em;
        line-height: 48px;
        text-align: left;
        color: #262626;
        margin-bottom: 42px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.technology .container .inner section h3,
          main.material-e-dye .body section.service .container .inner section h3 {
            font-size: 20px;
            letter-spacing: 0.1em;
            line-height: 36px; } }
      main.material-e-dye .body section.technology .container .inner section p,
      main.material-e-dye .body section.service .container .inner section p {
        font-weight: 500;
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 36px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.technology .container .inner section p,
          main.material-e-dye .body section.service .container .inner section p {
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 32px; } }
  main.material-e-dye .body section.technology .container .inner section:nth-child(1) figure {
    padding: 56px 50px;
    background-color: #fff;
    border-radius: 16px;
    text-align: center;
    margin-top: 72px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.technology .container .inner section:nth-child(1) figure {
        margin-top: 42px;
        padding: 32px 20px;
        border-radius: 10px; } }
  main.material-e-dye .body section.technology .container .inner section:nth-child(2) figure {
    padding: 56px 50px;
    background-color: #fff;
    border-radius: 16px;
    text-align: center;
    margin-top: 72px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.technology .container .inner section:nth-child(2) figure {
        margin-top: 42px;
        padding: 32px 20px;
        border-radius: 10px; } }
    main.material-e-dye .body section.technology .container .inner section:nth-child(2) figure img {
      width: 100%;
      max-width: 900px;
      border-radius: 16px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.technology .container .inner section:nth-child(2) figure img {
          border-radius: 0; } }
  main.material-e-dye .body section.technology .container .inner section:nth-child(3) figure {
    padding: 56px 50px;
    background-color: #fff;
    border-radius: 16px;
    text-align: center;
    margin-top: 72px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.technology .container .inner section:nth-child(3) figure {
        margin-top: 42px;
        padding: 32px 20px;
        border-radius: 10px; } }
    main.material-e-dye .body section.technology .container .inner section:nth-child(3) figure ul {
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.technology .container .inner section:nth-child(3) figure ul {
          display: block; } }
      main.material-e-dye .body section.technology .container .inner section:nth-child(3) figure ul li {
        flex: 0 0 calc(459 / 1000 * 100%); }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.technology .container .inner section:nth-child(3) figure ul li + li {
            border-top: 1px solid #D1D1D1;
            padding-top: 32px;
            margin-top: 32px; } }
  main.material-e-dye .body section.technology .container .inner section:nth-child(4) figure {
    padding: 56px 50px;
    background-color: #fff;
    border-radius: 16px;
    text-align: center;
    margin-top: 72px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.technology .container .inner section:nth-child(4) figure {
        margin-top: 42px;
        padding: 24px 20px;
        border-radius: 10px; } }
    main.material-e-dye .body section.technology .container .inner section:nth-child(4) figure img {
      width: 100%;
      max-width: 900px;
      border-radius: 16px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.technology .container .inner section:nth-child(4) figure img {
          border-radius: 0; } }
  main.material-e-dye .body section.service .container .inner section:nth-child(1) figure {
    padding: 56px 50px;
    background-color: #fff;
    border-radius: 16px;
    text-align: center;
    margin-top: 72px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.service .container .inner section:nth-child(1) figure {
        margin-top: 42px;
        padding: 24px 20px;
        border-radius: 10px; } }
    main.material-e-dye .body section.service .container .inner section:nth-child(1) figure img {
      width: 100%;
      max-width: 900px;
      border-radius: 16px; }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.service .container .inner section:nth-child(1) figure img {
          border-radius: 5px; } }
  main.material-e-dye .body section.service .container .inner section:nth-child(2) figure {
    padding: 56px 50px;
    background-color: #fff;
    border-radius: 16px;
    margin-top: 72px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.service .container .inner section:nth-child(2) figure {
        margin-top: 42px;
        padding: 32px 20px;
        border-radius: 10px; } }
  main.material-e-dye .body section.service .container .inner section:nth-child(3) ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0 128px; }
    @media screen and (max-width: 768px) {
      main.material-e-dye .body section.service .container .inner section:nth-child(3) ul {
        gap: 42px 0; } }
    main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li {
      flex: 0 0 calc((100% - 128px) / 2); }
      @media screen and (max-width: 768px) {
        main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li {
          flex: 0 0 100%; } }
      main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li figure {
        position: relative;
        margin-bottom: 52px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li figure {
            margin: 0 20px;
            margin-bottom: 48px; } }
        main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li figure img {
          position: relative; }
        main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li figure:before {
          content: "";
          position: absolute;
          display: block;
          background-color: #00924D;
          bottom: -8px;
          right: -8px;
          width: calc(352 / 480 * 100%);
          height: calc(253 / 345 * 100%); }
          @media screen and (max-width: 768px) {
            main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li figure:before {
              bottom: -8px;
              right: -8px;
              width: calc(239 / 295 * 100%);
              height: calc(172 / 212 * 100%); } }
      main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li .title {
        font-weight: bold;
        font-size: 20px;
        letter-spacing: 0.15em;
        line-height: 29px;
        text-align: left;
        color: #262626;
        margin-bottom: 34px; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li .title {
            font-size: 16px;
            letter-spacing: 0.1em;
            line-height: 24px;
            margin-bottom: 26px; } }
      main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li .description {
        font-size: 14px;
        letter-spacing: 0.1em;
        line-height: 32px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.material-e-dye .body section.service .container .inner section:nth-child(3) ul li .description {
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 32px; } }

main.company .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.company .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.company .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.company header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.company header {
      height: 544px; } }
  main.company header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.company header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.company header > .bg:before, main.company header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.company header > .bg:before {
      left: 100%; }
    main.company header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.company header > .bg:after {
          right: 375px; } }
  main.company header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.company header .container {
        padding-top: 148px; } }
    main.company header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.company header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.company header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.company header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.company header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.company header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.company header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.company header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.company header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
  @media screen and (max-width: 768px) {
    main.company header {
      height: 486px; } }
main.company .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 124px 0; }
  @media screen and (max-width: 768px) {
    main.company .body {
      padding: 72px 0 80px; } }
  main.company .body dl {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #D1D1D1; }
    @media screen and (max-width: 768px) {
      main.company .body dl {
        display: block; } }
    main.company .body dl dt {
      border-top: 1px solid #D1D1D1;
      padding: 24px 0;
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 40px;
      text-align: left;
      color: #262626;
      flex: 0 0 32%; }
      @media screen and (max-width: 768px) {
        main.company .body dl dt {
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 20px;
          padding: 24px 0 12px; } }
    main.company .body dl dd {
      border-top: 1px solid #D1D1D1;
      padding: 24px 0;
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.05em;
      line-height: 40px;
      text-align: left;
      color: #262626;
      flex: 0 0 68%; }
      @media screen and (max-width: 768px) {
        main.company .body dl dd {
          border-top: none;
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 28px;
          padding: 0 0 20px; } }
      main.company .body dl dd a {
        text-decoration: underline;
        color: #009150; }
        main.company .body dl dd a:hover {
          text-decoration: none; }
  main.company .body figure.map {
    position: relative;
    margin: 103px auto 0;
    width: 100%;
    max-width: 900px;
    aspect-ratio: 900 / 578; }
    @media screen and (max-width: 768px) {
      main.company .body figure.map {
        margin: 64px 0 0;
        aspect-ratio: 335 / 432; } }
    main.company .body figure.map iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }

main.download .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.download .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.download .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.download header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.download header {
      height: 544px; } }
  main.download header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.download header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.download header > .bg:before, main.download header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.download header > .bg:before {
      left: 100%; }
    main.download header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.download header > .bg:after {
          right: 375px; } }
  main.download header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.download header .container {
        padding-top: 148px; } }
    main.download header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.download header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.download header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.download header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.download header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.download header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.download header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.download header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.download header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.download .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 124px 0 124px; }
  @media screen and (max-width: 768px) {
    main.download .body {
      padding: 72px 0 80px; } }
  main.download .body .container .inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0; }
    main.download .body .container .inner figure {
      margin-bottom: 118px;
      box-shadow: 10px 20px 40px rgba(0, 0, 0, 0.16); }
      @media screen and (max-width: 768px) {
        main.download .body .container .inner figure {
          margin-bottom: 34px;
          box-shadow: 5px 10px 20px rgba(0, 0, 0, 0.16); } }
    main.download .body .container .inner .lead {
      font-weight: 500;
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 32px;
      text-align: left;
      color: #262626;
      margin-bottom: 80px; }
      @media screen and (max-width: 768px) {
        main.download .body .container .inner .lead {
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 32px;
          margin-bottom: 66px; } }
    main.download .body .container .inner form .wpcf7-not-valid-tip {
      font-size: 14px;
      line-height: 1.5;
      margin-top: 5px; }
    main.download .body .container .inner form dl {
      display: flex;
      flex-wrap: wrap;
      border-top: 1px solid #D1D1D1; }
      @media screen and (max-width: 768px) {
        main.download .body .container .inner form dl {
          display: block; } }
      main.download .body .container .inner form dl dt {
        position: relative;
        border-bottom: 1px solid #D1D1D1;
        flex: 0 0 344px;
        padding: 30px 0;
        font-weight: 500;
        font-size: 18px;
        letter-spacing: 0.05em;
        line-height: 26px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.download .body .container .inner form dl dt {
            font-weight: 500;
            font-size: 16px;
            letter-spacing: 0.05em;
            line-height: 40px;
            text-align: left;
            color: #262626;
            border-bottom: none;
            padding: 30px 0 15px;
            border-bottom: none; } }
        main.download .body .container .inner form dl dt.required:after {
          content: "必須";
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.2em;
          line-height: 26px;
          text-align: center;
          color: #fff;
          width: 47px;
          background-color: #D8341E;
          position: absolute;
          top: 30px;
          right: 40px; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form dl dt.required:after {
              display: inline-block;
              position: relative;
              top: auto;
              right: auto;
              margin-left: 20px; } }
      main.download .body .container .inner form dl dd {
        border-bottom: 1px solid #D1D1D1;
        flex: 0 0 556px;
        padding: 30px 0; }
        @media screen and (max-width: 768px) {
          main.download .body .container .inner form dl dd {
            padding: 0 0 30px; } }
        main.download .body .container .inner form dl dd input[type="text"],
        main.download .body .container .inner form dl dd input[type="email"],
        main.download .body .container .inner form dl dd input[type="tel"] {
          background-color: #FFFFFF;
          height: 67px;
          padding: 0 24px;
          width: 100%;
          font-weight: 500;
          font-size: 16px;
          letter-spacing: 0.05em; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form dl dd input[type="text"],
            main.download .body .container .inner form dl dd input[type="email"],
            main.download .body .container .inner form dl dd input[type="tel"] {
              height: 48px;
              padding: 0 18px; } }
        main.download .body .container .inner form dl dd textarea {
          background-color: #FFFFFF;
          height: 200px;
          padding: 20px 24px;
          width: 100%;
          font-weight: 500;
          font-size: 16px;
          line-height: 1.6;
          letter-spacing: 0.05em; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form dl dd textarea {
              height: 172px;
              padding: 18px; } }
        main.download .body .container .inner form dl dd select {
          font-weight: 500;
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 40px;
          text-align: left;
          color: #262626;
          height: 56px;
          border: 1px solid #DBDBDB;
          background-color: #fff;
          border-radius: 8px;
          width: 268px;
          background-image: url("../images/common/form_select_arrow.svg");
          background-position: center right 32px;
          background-repeat: no-repeat;
          padding: 0 24px; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form dl dd select {
              height: 48px;
              padding: 0 18px;
              background-position: center right 20px;
              width: 100%; } }
        main.download .body .container .inner form dl dd .note {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 28px;
          text-align: left;
          color: #262626;
          margin-top: 28px; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form dl dd .note {
              font-size: 12px;
              letter-spacing: 0.05em;
              line-height: 24px; } }
        main.download .body .container .inner form dl dd.name, main.download .body .container .inner form dl dd.kana {
          display: flex;
          gap: 0 20px; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form dl dd.name, main.download .body .container .inner form dl dd.kana {
              flex-wrap: wrap;
              gap: 16px 0; } }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form dl dd.name input, main.download .body .container .inner form dl dd.kana input {
              flex: 0 0 100%; } }
        main.download .body .container .inner form dl dd.address > * {
          display: block;
          margin-top: 24px; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form dl dd.address > * {
              margin-top: 16px; } }
          main.download .body .container .inner form dl dd.address > *:first-child {
            margin-top: 0; }
        main.download .body .container .inner form dl dd.address .zipcode {
          display: flex; }
          main.download .body .container .inner form dl dd.address .zipcode > span:nth-child(1) {
            font-weight: bold;
            font-size: 18px;
            letter-spacing: 0.05em;
            line-height: 67px;
            text-align: left;
            color: #000;
            flex: 0 0 42px; }
            @media screen and (max-width: 768px) {
              main.download .body .container .inner form dl dd.address .zipcode > span:nth-child(1) {
                font-weight: 500;
                font-size: 24px;
                letter-spacing: 0.05em;
                line-height: 40px;
                flex: 0 0 36px; } }
          main.download .body .container .inner form dl dd.address .zipcode > span:nth-child(2) {
            flex: 0 0 calc(100% - 42px); }
    main.download .body .container .inner form .agreement {
      margin: 56px 0 0; }
      @media screen and (max-width: 768px) {
        main.download .body .container .inner form .agreement {
          margin: 32px 0 0; } }
      main.download .body .container .inner form .agreement p {
        margin: 0 auto;
        position: relative;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 32px;
        text-align: left;
        color: #262626;
        padding-right: 50px;
        width: fit-content; }
        @media screen and (max-width: 768px) {
          main.download .body .container .inner form .agreement p {
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 24px;
            padding-right: 40px; } }
        main.download .body .container .inner form .agreement p input[type="checkbox"] {
          position: absolute;
          top: 0;
          right: 0;
          display: block;
          width: 32px;
          height: 32px;
          border: 1px solid #000000;
          margin: 0; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form .agreement p input[type="checkbox"] {
              width: 24px;
              height: 24px; } }
          main.download .body .container .inner form .agreement p input[type="checkbox"]:checked {
            background-image: url("../images/common/form_checkbox_on.svg");
            background-size: 100% 100%; }
        main.download .body .container .inner form .agreement p span {
          position: static; }
        main.download .body .container .inner form .agreement p .wpcf7-list-item-label {
          display: none; }
    main.download .body .container .inner form .action {
      margin-top: 80px;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.download .body .container .inner form .action {
          margin-top: 32px; } }
      main.download .body .container .inner form .action button {
        position: relative;
        display: inline-block;
        font-weight: bold;
        font-size: 20px;
        letter-spacing: 0.2em;
        line-height: 72px;
        text-align: center;
        color: #fff;
        width: 600px;
        height: 72px;
        border-radius: 9999px;
        background-color: #262626;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.download .body .container .inner form .action button {
            font-size: 16px;
            letter-spacing: 0.2em;
            line-height: 48px;
            height: 48px;
            width: 100%; } }
        @media screen and (min-width: 769px) {
          main.download .body .container .inner form .action button:hover {
            background-color: #009150; } }
        main.download .body .container .inner form .action button:after {
          content: "";
          position: absolute;
          right: 40px;
          top: 50%;
          transform: translateY(-50%);
          display: block;
          width: 36px;
          height: 36px;
          border: 1px solid #FFFFFF;
          border-radius: 50%;
          background-image: url("../images/common/form_submit_arrow.svg");
          background-position: 50% 50%;
          background-repeat: no-repeat; }
          @media screen and (max-width: 768px) {
            main.download .body .container .inner form .action button:after {
              width: 24px;
              height: 24px;
              background-image: url("../images/common/form_submit_arrow_sp.svg"); } }
    main.download .body .container .inner form .wpcf7-response-output {
      font-size: 16px;
      line-height: 1.5;
      padding: 15px; }
      @media screen and (max-width: 768px) {
        main.download .body .container .inner form .wpcf7-response-output {
          font-size: 14px;
          padding: 10px; } }
    main.download .body .container .inner .privacy {
      font-weight: 500;
      font-size: 14px;
      letter-spacing: 0.05em;
      line-height: 20px;
      text-align: center;
      color: #262626;
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        main.download .body .container .inner .privacy {
          font-size: 12px;
          letter-spacing: 0.05em;
          line-height: 24px;
          margin-top: 20px;
          text-align: left; } }
      main.download .body .container .inner .privacy a {
        color: #009150; }

main.contact .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.contact .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.contact .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.contact header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.contact header {
      height: 544px; } }
  main.contact header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.contact header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.contact header > .bg:before, main.contact header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.contact header > .bg:before {
      left: 100%; }
    main.contact header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.contact header > .bg:after {
          right: 375px; } }
  main.contact header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.contact header .container {
        padding-top: 148px; } }
    main.contact header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.contact header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.contact header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.contact header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.contact header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.contact header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.contact header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.contact header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.contact header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.contact .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 124px 0 124px; }
  @media screen and (max-width: 768px) {
    main.contact .body {
      padding: 60px 0 80px; } }
  main.contact .body .container .inner ul {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 50px; }
    @media screen and (max-width: 768px) {
      main.contact .body .container .inner ul {
        gap: 32px 0; } }
    main.contact .body .container .inner ul li {
      flex: 0 0 calc((100% - 50px) / 2); }
      @media screen and (max-width: 768px) {
        main.contact .body .container .inner ul li {
          flex: 0 0 100%; } }
      main.contact .body .container .inner ul li a {
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
        font-weight: bold;
        font-size: 20px;
        letter-spacing: 0.08em;
        line-height: 36px;
        text-align: left;
        color: #262626;
        padding-left: 32px;
        height: 128px;
        border: 1px solid #262626;
        border-radius: 10px;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.contact .body .container .inner ul li a {
            font-size: 16px;
            line-height: 30px;
            padding: 15px 24px;
            height: auto; } }
        main.contact .body .container .inner ul li a:after {
          content: "";
          display: block;
          width: 36px;
          height: 36px;
          border-radius: 50%;
          border: 1px solid #262626;
          position: absolute;
          top: 50%;
          right: 32px;
          transform: translateY(-50%);
          background-image: url("../images/contact/arrow_button.svg");
          background-position: 50% 50%;
          background-repeat: no-repeat;
          transition: all ease .3s; }
          @media screen and (max-width: 768px) {
            main.contact .body .container .inner ul li a:after {
              width: 32px;
              height: 32px;
              right: 20px; } }
        main.contact .body .container .inner ul li a:hover {
          color: #fff;
          background-color: #262626; }
          main.contact .body .container .inner ul li a:hover:after {
            background-color: #fff; }

main.contact-form .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.contact-form .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.contact-form .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.contact-form header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.contact-form header {
      height: 544px; } }
  main.contact-form header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.contact-form header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.contact-form header > .bg:before, main.contact-form header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.contact-form header > .bg:before {
      left: 100%; }
    main.contact-form header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.contact-form header > .bg:after {
          right: 375px; } }
  main.contact-form header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.contact-form header .container {
        padding-top: 148px; } }
    main.contact-form header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.contact-form header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.contact-form header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.contact-form header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.contact-form header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.contact-form header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.contact-form header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.contact-form header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.contact-form header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
main.contact-form .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 124px 0 124px; }
  @media screen and (max-width: 768px) {
    main.contact-form .body {
      padding: 66px 0 76px; } }
  main.contact-form .body .container .inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0; }
    main.contact-form .body .container .inner .lead {
      font-weight: 500;
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 32px;
      text-align: left;
      color: #262626;
      margin-bottom: 80px; }
      @media screen and (max-width: 768px) {
        main.contact-form .body .container .inner .lead {
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.1em;
          line-height: 32px;
          margin-bottom: 66px; } }
    main.contact-form .body .container .inner form .wpcf7-not-valid-tip {
      font-size: 14px;
      line-height: 1.5;
      margin-top: 5px; }
    main.contact-form .body .container .inner form dl {
      display: flex;
      flex-wrap: wrap;
      border-top: 1px solid #D1D1D1; }
      @media screen and (max-width: 768px) {
        main.contact-form .body .container .inner form dl {
          display: block; } }
      main.contact-form .body .container .inner form dl dt {
        position: relative;
        border-bottom: 1px solid #D1D1D1;
        flex: 0 0 344px;
        padding: 30px 0;
        font-weight: 500;
        font-size: 18px;
        letter-spacing: 0.05em;
        line-height: 26px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.contact-form .body .container .inner form dl dt {
            font-weight: 500;
            font-size: 16px;
            letter-spacing: 0.05em;
            line-height: 40px;
            text-align: left;
            color: #262626;
            border-bottom: none;
            padding: 30px 0 15px;
            border-bottom: none; } }
        main.contact-form .body .container .inner form dl dt.required:after {
          content: "必須";
          font-weight: bold;
          font-size: 14px;
          letter-spacing: 0.2em;
          line-height: 26px;
          text-align: center;
          color: #fff;
          width: 47px;
          background-color: #D8341E;
          position: absolute;
          top: 30px;
          right: 40px; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form dl dt.required:after {
              display: inline-block;
              position: relative;
              top: auto;
              right: auto;
              margin-left: 20px; } }
      main.contact-form .body .container .inner form dl dd {
        border-bottom: 1px solid #D1D1D1;
        flex: 0 0 556px;
        padding: 30px 0; }
        @media screen and (max-width: 768px) {
          main.contact-form .body .container .inner form dl dd {
            padding: 0 0 30px; } }
        main.contact-form .body .container .inner form dl dd input[type="text"],
        main.contact-form .body .container .inner form dl dd input[type="email"],
        main.contact-form .body .container .inner form dl dd input[type="tel"] {
          background-color: #FFFFFF;
          height: 67px;
          padding: 0 24px;
          width: 100%;
          font-weight: 500;
          font-size: 16px;
          letter-spacing: 0.05em; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form dl dd input[type="text"],
            main.contact-form .body .container .inner form dl dd input[type="email"],
            main.contact-form .body .container .inner form dl dd input[type="tel"] {
              height: 48px;
              padding: 0 18px; } }
        main.contact-form .body .container .inner form dl dd textarea {
          background-color: #FFFFFF;
          height: 200px;
          padding: 20px 24px;
          width: 100%;
          font-weight: 500;
          font-size: 16px;
          line-height: 1.6;
          letter-spacing: 0.05em; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form dl dd textarea {
              height: 172px;
              padding: 18px; } }
        main.contact-form .body .container .inner form dl dd select {
          font-weight: 500;
          font-size: 16px;
          letter-spacing: 0.05em;
          line-height: 40px;
          text-align: left;
          color: #262626;
          height: 56px;
          border: 1px solid #DBDBDB;
          background-color: #fff;
          border-radius: 8px;
          width: 268px;
          background-image: url("../images/common/form_select_arrow.svg");
          background-position: center right 32px;
          background-repeat: no-repeat;
          padding: 0 24px; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form dl dd select {
              height: 48px;
              padding: 0 18px;
              background-position: center right 20px;
              width: 100%; } }
        main.contact-form .body .container .inner form dl dd .note {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 28px;
          text-align: left;
          color: #262626;
          margin-top: 28px; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form dl dd .note {
              font-size: 12px;
              letter-spacing: 0.05em;
              line-height: 24px; } }
        main.contact-form .body .container .inner form dl dd.name, main.contact-form .body .container .inner form dl dd.kana {
          display: flex;
          gap: 0 20px; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form dl dd.name, main.contact-form .body .container .inner form dl dd.kana {
              flex-wrap: wrap;
              gap: 16px 0; } }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form dl dd.name input, main.contact-form .body .container .inner form dl dd.kana input {
              flex: 0 0 100%; } }
        main.contact-form .body .container .inner form dl dd.address > * {
          display: block;
          margin-top: 24px; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form dl dd.address > * {
              margin-top: 16px; } }
          main.contact-form .body .container .inner form dl dd.address > *:first-child {
            margin-top: 0; }
        main.contact-form .body .container .inner form dl dd.address .zipcode {
          display: flex; }
          main.contact-form .body .container .inner form dl dd.address .zipcode > span:nth-child(1) {
            font-weight: bold;
            font-size: 18px;
            letter-spacing: 0.05em;
            line-height: 67px;
            text-align: left;
            color: #000;
            flex: 0 0 42px; }
            @media screen and (max-width: 768px) {
              main.contact-form .body .container .inner form dl dd.address .zipcode > span:nth-child(1) {
                font-weight: 500;
                font-size: 24px;
                letter-spacing: 0.05em;
                line-height: 40px;
                flex: 0 0 36px; } }
          main.contact-form .body .container .inner form dl dd.address .zipcode > span:nth-child(2) {
            flex: 0 0 calc(100% - 42px); }
    main.contact-form .body .container .inner form .agreement {
      margin: 56px 0 0; }
      @media screen and (max-width: 768px) {
        main.contact-form .body .container .inner form .agreement {
          margin: 32px 0 0; } }
      main.contact-form .body .container .inner form .agreement p {
        margin: 0 auto;
        position: relative;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 32px;
        text-align: left;
        color: #262626;
        padding-right: 50px;
        width: fit-content; }
        @media screen and (max-width: 768px) {
          main.contact-form .body .container .inner form .agreement p {
            font-size: 14px;
            letter-spacing: 0.05em;
            line-height: 24px;
            padding-right: 40px; } }
        main.contact-form .body .container .inner form .agreement p input[type="checkbox"] {
          position: absolute;
          top: 0;
          right: 0;
          display: block;
          width: 32px;
          height: 32px;
          border: 1px solid #000000;
          margin: 0; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form .agreement p input[type="checkbox"] {
              width: 24px;
              height: 24px; } }
          main.contact-form .body .container .inner form .agreement p input[type="checkbox"]:checked {
            background-image: url("../images/common/form_checkbox_on.svg");
            background-size: 100% 100%; }
        main.contact-form .body .container .inner form .agreement p span {
          position: static; }
        main.contact-form .body .container .inner form .agreement p .wpcf7-list-item-label {
          display: none; }
    main.contact-form .body .container .inner form .action {
      margin-top: 80px;
      text-align: center; }
      @media screen and (max-width: 768px) {
        main.contact-form .body .container .inner form .action {
          margin-top: 32px; } }
      main.contact-form .body .container .inner form .action button {
        position: relative;
        display: inline-block;
        font-weight: bold;
        font-size: 20px;
        letter-spacing: 0.2em;
        line-height: 72px;
        text-align: center;
        color: #fff;
        width: 600px;
        height: 72px;
        border-radius: 9999px;
        background-color: #262626;
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.contact-form .body .container .inner form .action button {
            font-size: 16px;
            letter-spacing: 0.2em;
            line-height: 48px;
            height: 48px;
            width: 100%; } }
        @media screen and (min-width: 769px) {
          main.contact-form .body .container .inner form .action button:hover {
            background-color: #009150; } }
        main.contact-form .body .container .inner form .action button:after {
          content: "";
          position: absolute;
          right: 40px;
          top: 50%;
          transform: translateY(-50%);
          display: block;
          width: 36px;
          height: 36px;
          border: 1px solid #FFFFFF;
          border-radius: 50%;
          background-image: url("../images/common/form_submit_arrow.svg");
          background-position: 50% 50%;
          background-repeat: no-repeat; }
          @media screen and (max-width: 768px) {
            main.contact-form .body .container .inner form .action button:after {
              width: 24px;
              height: 24px;
              background-image: url("../images/common/form_submit_arrow_sp.svg"); } }
    main.contact-form .body .container .inner form .wpcf7-response-output {
      font-size: 16px;
      line-height: 1.5;
      padding: 15px; }
      @media screen and (max-width: 768px) {
        main.contact-form .body .container .inner form .wpcf7-response-output {
          font-size: 14px;
          padding: 10px; } }
    main.contact-form .body .container .inner .privacy {
      font-weight: 500;
      font-size: 14px;
      letter-spacing: 0.05em;
      line-height: 20px;
      text-align: center;
      color: #262626;
      margin-top: 40px; }
      @media screen and (max-width: 768px) {
        main.contact-form .body .container .inner .privacy {
          font-size: 12px;
          letter-spacing: 0.05em;
          line-height: 24px;
          margin-top: 20px;
          text-align: left; } }
      main.contact-form .body .container .inner .privacy a {
        color: #009150; }

main.terms .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.terms .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.terms .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.terms header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.terms header {
      height: 544px; } }
  main.terms header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.terms header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.terms header > .bg:before, main.terms header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.terms header > .bg:before {
      left: 100%; }
    main.terms header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.terms header > .bg:after {
          right: 375px; } }
  main.terms header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.terms header .container {
        padding-top: 148px; } }
    main.terms header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.terms header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.terms header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.terms header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.terms header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.terms header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.terms header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.terms header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.terms header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
  @media screen and (max-width: 768px) {
    main.terms header {
      height: 486px; } }
main.terms .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 60px 0 124px; }
  @media screen and (max-width: 768px) {
    main.terms .body {
      padding: 32px 0 80px; } }
  main.terms .body > section {
    padding-top: 64px; }
    @media screen and (max-width: 768px) {
      main.terms .body > section {
        padding-top: 40px; } }
    main.terms .body > section .container h2 {
      font-weight: bold;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 26px;
      text-align: left;
      color: #009150;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.terms .body > section .container h2 {
          line-height: 24px;
          margin-bottom: 28px; } }
    main.terms .body > section .container .inner {
      border-bottom: 1px solid #D1D1D1;
      padding-bottom: 58px; }
      @media screen and (max-width: 768px) {
        main.terms .body > section .container .inner {
          padding-bottom: 36px; } }
      main.terms .body > section .container .inner p {
        font-size: 14px;
        letter-spacing: 0.05em;
        line-height: 32px;
        text-align: left;
        color: #262626; }
        @media screen and (max-width: 768px) {
          main.terms .body > section .container .inner p {
            line-height: 28px; } }
      main.terms .body > section .container .inner section {
        margin-top: 50px; }
        @media screen and (max-width: 768px) {
          main.terms .body > section .container .inner section {
            margin-top: 32px; } }
        main.terms .body > section .container .inner section h3 {
          font-weight: bold;
          font-size: 18px;
          letter-spacing: 0.1em;
          line-height: 26px;
          text-align: left;
          color: #262626;
          margin-bottom: 26px; }
          @media screen and (max-width: 768px) {
            main.terms .body > section .container .inner section h3 {
              line-height: 24px; } }
        main.terms .body > section .container .inner section p {
          font-size: 14px;
          letter-spacing: 0.05em;
          line-height: 32px;
          text-align: left;
          color: #262626; }
          @media screen and (max-width: 768px) {
            main.terms .body > section .container .inner section p {
              line-height: 28px; } }
    main.terms .body > section.social .container .inner {
      border-bottom: none;
      padding-bottom: 0; }
      main.terms .body > section.social .container .inner > p:last-child {
        text-align: right;
        margin-top: 44px; }
        @media screen and (max-width: 768px) {
          main.terms .body > section.social .container .inner > p:last-child {
            margin-top: 28px; } }

main.legal .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.legal .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.legal .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.legal header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.legal header {
      height: 544px; } }
  main.legal header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.legal header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.legal header > .bg:before, main.legal header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.legal header > .bg:before {
      left: 100%; }
    main.legal header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.legal header > .bg:after {
          right: 375px; } }
  main.legal header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.legal header .container {
        padding-top: 148px; } }
    main.legal header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.legal header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.legal header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.legal header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.legal header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.legal header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.legal header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.legal header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.legal header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
  @media screen and (max-width: 768px) {
    main.legal header {
      height: 486px; } }
main.legal .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 124px 0 124px; }
  @media screen and (max-width: 768px) {
    main.legal .body {
      padding: 72px 0 80px; } }
  main.legal .body > section {
    padding-top: 105px; }
    @media screen and (max-width: 768px) {
      main.legal .body > section {
        padding-top: 64px; } }
    main.legal .body > section:first-child {
      padding-top: 0; }
    main.legal .body > section .container h2 {
      font-weight: bold;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 26px;
      text-align: left;
      color: #009150;
      margin-bottom: 48px; }
      @media screen and (max-width: 768px) {
        main.legal .body > section .container h2 {
          line-height: 24px;
          margin-bottom: 40px; } }
    main.legal .body > section .container .inner dl {
      display: flex;
      flex-wrap: wrap;
      border-bottom: 1px solid #D1D1D1; }
      @media screen and (max-width: 768px) {
        main.legal .body > section .container .inner dl {
          display: block; } }
      main.legal .body > section .container .inner dl dt {
        border-top: 1px solid #D1D1D1;
        padding: 24px 0;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 40px;
        text-align: left;
        color: #262626;
        flex: 0 0 32%; }
        @media screen and (max-width: 768px) {
          main.legal .body > section .container .inner dl dt {
            font-weight: bold;
            font-size: 14px;
            letter-spacing: 0.1em;
            line-height: 20px;
            padding: 24px 0 12px; } }
      main.legal .body > section .container .inner dl dd {
        border-top: 1px solid #D1D1D1;
        padding: 24px 0;
        font-weight: 500;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 40px;
        text-align: left;
        color: #262626;
        flex: 0 0 68%; }
        main.legal .body > section .container .inner dl dd a {
          color: #009150;
          text-decoration: underline; }
          main.legal .body > section .container .inner dl dd a:hover {
            text-decoration: none; }
        @media screen and (max-width: 768px) {
          main.legal .body > section .container .inner dl dd {
            border-top: none;
            font-weight: 500;
            font-size: 14px;
            letter-spacing: 0.1em;
            line-height: 28px;
            padding: 0 0 20px; } }

main.policy .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.policy .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.policy .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.policy header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.policy header {
      height: 544px; } }
  main.policy header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.policy header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.policy header > .bg:before, main.policy header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.policy header > .bg:before {
      left: 100%; }
    main.policy header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.policy header > .bg:after {
          right: 375px; } }
  main.policy header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.policy header .container {
        padding-top: 148px; } }
    main.policy header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.policy header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.policy header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.policy header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.policy header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.policy header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.policy header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.policy header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.policy header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
  @media screen and (max-width: 768px) {
    main.policy header {
      height: 486px; } }
main.policy .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 124px 0; }
  @media screen and (max-width: 768px) {
    main.policy .body {
      padding: 68px 0 80px; } }
  main.policy .body .container .inner p {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 32px;
    text-align: left;
    color: #262626; }
    @media screen and (max-width: 768px) {
      main.policy .body .container .inner p {
        font-size: 14px;
        letter-spacing: 0.05em;
        line-height: 28px;
        text-align: left;
        color: #262626; } }
    main.policy .body .container .inner p a {
      color: #009150;
      text-decoration: underline; }
      main.policy .body .container .inner p a:hover {
        text-decoration: none; }
  main.policy .body .container .inner section {
    margin-top: 34px;
    border-top: 1px solid #D1D1D1;
    padding-top: 40px; }
    @media screen and (max-width: 768px) {
      main.policy .body .container .inner section {
        margin-top: 36px;
        padding-top: 40px; } }
    main.policy .body .container .inner section h2 {
      font-weight: bold;
      font-size: 18px;
      letter-spacing: 0.1em;
      line-height: 26px;
      text-align: left;
      color: #262626;
      margin-bottom: 20px; }
      @media screen and (max-width: 768px) {
        main.policy .body .container .inner section h2 {
          font-size: 16px;
          letter-spacing: 0.1em;
          line-height: 24px;
          margin-bottom: 28px; } }

main.error .container {
  /*
  width: calc(100% - 144px);
  max-width: 1222px;
  margin: 0 auto;
  @include sp {
  	width: calc(100% - 40px);
  }
  .inner {
  	max-width: 1100px;
  	margin: 0 auto;
  	@include sp {
  		padding: 0;
  	}
  }
  */
  max-width: 1366px;
  padding: 0 72px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    main.error .container {
      padding: 0 calc(20 / 375 * 100vw); } }
  main.error .container .inner {
    max-width: 1100px;
    margin: 0 auto; }
main.error header {
  position: relative;
  height: 527px;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    main.error header {
      height: 544px; } }
  main.error header > .bg {
    position: absolute;
    width: calc(1366px + 114px + 114px);
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    bottom: 0;
    background-image: url("../images/common/base_header_bg.svg");
    background-size: 684px 527px;
    background-position: 100% 0%; }
    @media screen and (max-width: 768px) {
      main.error header > .bg {
        width: 375px;
        right: 0;
        left: auto;
        transform: none;
        background-image: url("../images/common/base_header_bg_sp.svg");
        background-size: 375px 544px;
        background-position: 100% 100%; } }
    main.error header > .bg:before, main.error header > .bg:after {
      content: "";
      display: block;
      background-color: #F5F5F5;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100vw; }
    main.error header > .bg:before {
      left: 100%; }
    main.error header > .bg:after {
      right: 684px; }
      @media screen and (max-width: 768px) {
        main.error header > .bg:after {
          right: 375px; } }
  main.error header .container {
    position: relative;
    padding-top: 238px; }
    @media screen and (max-width: 768px) {
      main.error header .container {
        padding-top: 148px; } }
    main.error header .container h1 {
      font-family: "Inter", sans-serif;
      font-weight: 600;
      font-size: 72px;
      letter-spacing: 0.03em;
      line-height: 87px;
      text-align: left;
      color: #262626;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        main.error header .container h1 {
          font-size: 42px;
          letter-spacing: 0.03em;
          line-height: 51px;
          margin-bottom: 35px; } }
    main.error header .container .inner p {
      font-family: "Noto Sans JP";
      font-weight: 500;
      font-size: 16px;
      letter-spacing: 0.1em;
      line-height: 40px;
      text-align: left;
      color: #262626; }
      @media screen and (max-width: 768px) {
        main.error header .container .inner p {
          font-family: "Noto Sans JP";
          font-weight: 500;
          font-size: 14px;
          letter-spacing: 0.03em;
          line-height: 30px;
          text-align: left;
          color: #262626; } }
    main.error header .container .inner ul {
      display: flex;
      gap: 0 16px;
      margin-top: 58px; }
      @media screen and (max-width: 768px) {
        main.error header .container .inner ul {
          gap: 0 10px;
          margin-top: 40px; } }
      main.error header .container .inner ul li a {
        display: block;
        font-family: "Inter", sans-serif;
        font-weight: 600;
        font-size: 16px;
        letter-spacing: 0.05em;
        line-height: 38px;
        text-align: center;
        color: #00924d;
        padding: 0 20px;
        border: 1px solid #00924D;
        border-radius: 9999px;
        min-width: 130px; }
        @media screen and (max-width: 768px) {
          main.error header .container .inner ul li a {
            font-size: 10px;
            letter-spacing: 0.05em;
            line-height: 23px;
            padding: 0 10px;
            min-width: 80px; } }
        main.error header .container .inner ul li a.active {
          background-color: #00924d;
          color: #fff; }
  @media screen and (max-width: 768px) {
    main.error header {
      height: 486px; } }
main.error .body {
  border-top: 1px solid #D1D1D1;
  background-color: #F5F5F5;
  padding: 124px 0 124px; }
  @media screen and (max-width: 768px) {
    main.error .body {
      padding: 68px 0 80px; } }
  main.error .body .container .inner .title {
    font-weight: bold;
    font-size: 32px;
    letter-spacing: 0.1em;
    line-height: 46px;
    text-align: center;
    color: #262626;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      main.error .body .container .inner .title {
        font-size: 20px;
        letter-spacing: 0.1em;
        line-height: 36px;
        text-align: center;
        color: #262626;
        margin-bottom: 32px; } }
  main.error .body .container .inner p {
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 32px;
    text-align: center;
    color: #262626; }
    @media screen and (max-width: 768px) {
      main.error .body .container .inner p {
        font-size: 14px;
        letter-spacing: 0.05em;
        line-height: 28px;
        text-align: left; } }
  main.error .body .container .inner .action {
    margin-top: 74px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      main.error .body .container .inner .action {
        margin-top: 44px; } }
    main.error .body .container .inner .action a {
      position: relative;
      display: inline-block;
      width: 228px;
      border: 1px solid #262626;
      border-radius: 8px;
      font-weight: bold;
      font-size: 14px;
      letter-spacing: 0.1em;
      line-height: 54px;
      text-align: center;
      color: #262626;
      transition: all ease .3s;
      padding-right: 32px; }
      @media screen and (max-width: 768px) {
        main.error .body .container .inner .action a {
          width: 100%;
          max-width: 295px;
          line-height: 46px; } }
      main.error .body .container .inner .action a:after {
        content: "";
        border: 1px solid #262626;
        display: block;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background-image: url("../images/error/btn_arrow.svg");
        background-position: 50% 50%;
        background-repeat: no-repeat;
        position: absolute;
        right: 18px;
        top: 50%;
        transform: translateY(-50%);
        transition: all ease .3s; }
        @media screen and (max-width: 768px) {
          main.error .body .container .inner .action a:after {
            right: 20px; } }
      @media screen and (min-width: 769px) {
        main.error .body .container .inner .action a:hover {
          color: #fff;
          background-color: #262626; }
          main.error .body .container .inner .action a:hover:after {
            background-color: #fff; } }
