@charset "UTF-8";
/*!
* ress.css • v2.0.4
* MIT License
* github.com/filipelinhares/ress
*/

html {
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    -webkit-text-size-adjust:100%;
    word-break:normal;
    -moz-tab-size:4;
    -o-tab-size:4;
    tab-size:4
}
*,:before,:after {
    background-repeat:no-repeat;
    -webkit-box-sizing:inherit;
    box-sizing:inherit
}
:before,:after {
    text-decoration:inherit;
    vertical-align:inherit
}
* {
    padding:0;
    margin:0
}
hr {
    overflow:visible;
    height:0
}
details,main {
    display:block
}
summary {
    display:list-item
}
small {
    font-size:80%
}
[hidden] {
    display:none
}
abbr[title] {
    border-bottom:none;
    text-decoration:underline;
    -webkit-text-decoration:underline dotted;
    text-decoration:underline dotted
}
a {
    background-color:transparent
}
a:active,a:hover {
    outline-width:0
}
code,kbd,pre,samp {
    font-family:monospace,monospace
}
pre {
    font-size:1em
}
b,strong {
    font-weight:bolder
}
sub,sup {
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline
}
sub {
    bottom:-.25em
}
sup {
    top:-.5em
}
input {
    border-radius:0
}
[disabled] {
    cursor:default
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button {
    height:auto
}
[type=search] {
    -webkit-appearance:textfield;
    outline-offset:-2px
}
[type=search]::-webkit-search-decoration {
    -webkit-appearance:none
}
textarea {
    overflow:auto;
    resize:vertical
}
button,input,optgroup,select,textarea {
    font:inherit
}
optgroup {
    font-weight:700
}
button {
    overflow:visible
}
button,select {
    text-transform:none
}
button,[type=button],[type=reset],[type=submit],[role=button] {
    cursor:pointer;
    color:inherit
}
button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner {
    border-style:none;
    padding:0
}
button:-moz-focusring,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner {
    outline:1px dotted ButtonText
}
button,html [type=button],[type=reset],[type=submit] {
    -webkit-appearance:button
}
button,input,select,textarea {
    background-color:transparent;
    border-style:none
}
select {
    -moz-appearance:none;
    -webkit-appearance:none
}
select::-ms-expand {
    display:none
}
select::-ms-value {
    color:currentColor
}
legend {
    border:0;
    color:inherit;
    display:table;
    white-space:normal;
    max-width:100%
}
::-webkit-file-upload-button {
    -webkit-appearance:button;
    color:inherit;
    font:inherit
}
img {
    border-style:none
}
progress {
    vertical-align:baseline
}
svg:not([fill]) {
    fill:currentColor
}
[aria-busy=true] {
    cursor:progress
}
[aria-controls] {
    cursor:pointer
}
[aria-disabled] {
    cursor:default
}
:root {
    --gray: #F5F5F5;
    --gray2: #B9BDB6;
    --gray3: #CDCDCD;
    --white: #ffffff;
    --white70: rgba(255, 255, 255, .7);
    --offWhite: #FDFDFD;
    --offWhite60: rgba(253, 253, 253, .6);
    --black: #333333;
    --black10: rgba(0,51,51,.1);
    --green: #00A154;
    --green10: rgba(0,161,84,.1);
    --green70: rgba(0,161,84,.7);
    --darkGreen: #006714;
    --mossGreen: #003333;
    --mossGreen10: rgba(0, 51, 51, .1);
    --lightGreen: #AFEEB6
}
html,body {
    margin:0;
    padding:0;
    width:100%
}
* {
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
*:before,*:after {
    -webkit-box-sizing:border-box;
    box-sizing:border-box
}
html {
    font-size:16px;
    font-family:Noto Sans JP,sans-serif;
    scroll-behavior:smooth;
    scroll-padding-top:83px
}
body {
    background-color:var(--offWhite);
    color:var(--black);
    background-image:linear-gradient(0deg,transparent calc(100% - 1px),#FAFAFA calc(100% - 1px)),linear-gradient(90deg,transparent calc(100% - 1px),#FAFAFA calc(100% - 1px));
    background-size:10px 10px;
    background-repeat:repeat;
    background-position:center center;
    padding-top:83px
}
body.l-body {
    padding-top:0
}
main {
    overflow-x:hidden;
    -webkit-box-flex:1;
    -ms-flex:1;
    flex:1
}
ul {
    margin:0;
    padding:0;
    list-style:none
}
p {
    margin:0;
    letter-spacing:0;
    line-height:1.7
}
a {
    color:inherit;
    text-decoration:none
}
figure {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    margin-bottom:0
}
picture {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex
}
img {
    width:100%;
    height:auto
}
address {
    font-style:normal
}
.l-wrapper {
    position:relative;
    margin-inline:auto;
    padding-inline:16px;
    max-width:1232px;
    width:100%
}
.l-wrapper-lg {
    position:relative;
    margin-inline:auto;
    padding-inline:16px;
    max-width:1472px;
    width:100%
}
.l-section {
    margin:56px 0
}
.l-section-md {
    margin:64px 0
}
.l-section-lg {
    margin:80px 0
}
.l-section-top {
    margin:100px 0
}
.l-header {
    padding:0 0 0 56px;
    position:fixed;
    z-index:999;
    top:0;
    left:0;
    width:100%
}
.l-header .l-header-layer__logo {
    display:none
}
.is-active.l-header {
    background-color:var(--white)
}
.is-active.l-header .l-header__logo {
    display:none
}
.is-active.l-header .l-header-layer__logo {
    display:block
}
.is-active.l-header .l-header__nav--text {
    color:var(--black)
}
.l-header-layer {
    background-color:var(--white)
}
.l-header-layer .l-header__nav--text {
    color:var(--black)
}
.l-header-layer .active .l-header__nav--text,.l-header .active .l-header__nav--text {
    color:var(--white)
}
.l-header-layer .l-header-layer__logo {
    display:block
}
.l-header-layer .l-header__logo {
    display:none
}
.l-header__inner {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.l-header__logo {
    width:100%;
    max-width:258px
}
.l-header__main {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.l-header__button {
    display:none
}
.l-header__button.active {
    display:block
}
.l-header__button.active .l-header__line:nth-child(1) {
    -webkit-transform:translateY(16px) rotate(-42deg);
    transform:translateY(16px) rotate(-42deg)
}
.l-header__button.active .l-header__line:nth-child(2) {
    opacity:0;
    -webkit-transition:opacity .4s;
    transition:opacity .4s
}
.l-header__button.active .l-header__line:nth-child(3) {
    -webkit-transform:translateY(-32px) rotate(42deg);
    transform:translateY(-32px) rotate(42deg)
}
.l-header__line {
    width:33px;
    height:1px;
    display:inline-block;
    background-color:var(--white)
}
.l-header__nav--list {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:40px;
    margin-right:32px
}
.l-header__main.active {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    gap:32px
}
.active .l-header__nav--list {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    -webkit-column-gap:32px;
    -moz-column-gap:32px;
    column-gap:32px;
    row-gap:0
}
.active .l-header__nav--item {
    padding:24px 0;
    border-top:1px solid var(--white)
}
.active .l-header__contact-link {
    background-color:var(--green);
    padding:16px;
    width:100%;
    max-width:311px
}
.is-active.l-header .l-header__contact-link,.l-header-layer .l-header__contact-link {
    background-color:var(--darkGreen)
}
.l-header__nav--link {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column
}
.l-header__nav--link:hover {
    opacity:.6;
    -webkit-transition:all .3s;
    transition:all .3s
}
.l-header__nav--link:hover .l-header__nav--text {
    color:var(--lightGreen);
    -webkit-transition:all .3s;
    transition:all .3s
}
.l-header__nav--en {
    font-weight:700;
    font-size:.75rem;
    color:var(--lightGreen)
}
.is-active .l-header__nav--en,.l-header-layer .l-header__nav--en {
    color:var(--green)
}
.l-header__nav--text {
    font-family:Zen Old Mincho,serif;
    font-weight:400;
    color:var(--white)
}
.l-header__contact-link {
    background-color:var(--black);
    color:var(--white);
    font-family:Shippori Mincho,serif;
    padding:28px 16px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:8px
}
.l-header__contact-link:hover {
    background-color:var(--mossGreen);
    -webkit-transition:all .3s;
    transition:all .3s
}
.l-header__contact-icon {
    max-width:24px
}
.l-header__tel {
    display:none
}
.l-header__tel--link {
    color:var(--white);
    font-size:1.5rem;
    font-weight:700;
    padding-left:30px;
    position:relative
}
.l-header__tel--link:before {
    content:"";
    display:inline-block;
    background:url(../images/common/icon_tel.svg) no-repeat;
    background-size:contain;
    width:22px;
    height:24px;
    position:absolute;
    left:0;
    top:8px
}
.l-header__tel--text {
    color:var(--white);
    font-size:.75rem;
    margin-top:4px
}
.l-header__tel--parts {
    border:1px solid var(--white);
    padding:0 4px;
    margin-right:10px
}
.l-footer {
    margin-top:100px
}
.l-footer__cta {
    background:url(../images/common/footer_bg.jpg) no-repeat;
    background-size:cover;
    padding:92px 0 80px
}
.l-footer__cta--header {
    position:relative
}
.l-footer__cta--title {
    font-size:2.5rem;
    color:var(--white);
    font-family:Shippori Mincho,serif;
    text-align:center;
    z-index:1;
    position:relative
}
.l-footer__cta--text {
    position:absolute;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%);
    top:-38px;
    text-transform:uppercase;
    width:100%;
    max-width:515px
}
.l-footer__cta--row {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    gap:40px;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    margin-top:56px
}
.c-button.l-footer__cta--button {
    margin-top:0
}
.l-footer__cta--tel {
    font-size:2rem;
    font-weight:700;
    padding-left:37px;
    position:relative;
    color:var(--white)
}
.l-footer__cta--tel:before {
    content:"";
    display:inline-block;
    background:url(../images/common/footer_tel.svg) no-repeat;
    background-size:contain;
    width:23px;
    height:24px;
    position:absolute;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    left:0
}
.l-footer__cta--tel:hover {
    opacity:.6;
    -webkit-transition:all .3s;
    transition:all .3s
}
.l-footer__cta--hours {
    color:var(--white)
}
.l-footer__cta--parts {
    border:1px solid var(--white);
    padding:0 6px;
    margin-right:15px
}
.l-footer__under {
    background-color:var(--mossGreen);
    padding:64px 0 8px
}
.l-footer__under--inner {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    margin-bottom:41px
}
.l-footer__nav {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px
}
.l-footer__item {
    padding-left:44px;
    position:relative;
    margin-bottom:14px;
    font-family:Shippori Mincho,serif
}
.l-footer__item:before {
    content:"";
    display:inline-block;
    background-color:var(--lightGreen);
    width:17px;
    height:1px;
    position:absolute;
    left:0;
    top:10px
}
.l-footer__item:last-child {
    margin-bottom:0
}
.l-footer__link {
    color:var(--white)
}
.l-footer__link:hover {
    color:var(--lightGreen);
    -webkit-transition:all .3s;
    transition:all .3s;
    opacity:.6
}
.l-footer__logo {
    max-width:338px;
    margin-bottom:32px;
    display:block
}
.l-footer__text {
    color:var(--white)
}
.c-button.l-footer__button {
    margin:32px 0 0
}
.l-footer__copyright {
    text-align:center;
    color:var(--offWhite60);
    font-size:.8125rem
}
.c-heading {
    position:relative;
    padding-top:40px
}
.c-heading:before {
    content:"";
    display:inline-block;
    width:1px;
    height:88px;
    background-color:var(--green);
    position:absolute;
    top:-88px;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%)
}
.c-heading-under {
    padding-top:0;
    padding-bottom:64px
}
.c-heading-under:before {
    content:"";
    display:inline-block;
    width:1px;
    height:64px;
    background-color:var(--green);
    position:absolute;
    top:unset;
    bottom:0;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%)
}
.c-heading-top {
    padding-top:0
}
.c-heading-top:before {
    top:-100px
}
.c-heading__title--green {
    font-size:2rem;
    font-family:Shippori Mincho,serif;
    font-weight:500;
    color:var(--mossGreen);
    text-align:center;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin:0 auto;
    position:relative
}
.c-heading__title--green:after {
    content:"";
    display:inline-block;
    background:url(../images/common/heading_green.svg) no-repeat;
    background-size:contain;
    width:300px;
    height:300px;
    position:absolute;
    right:-155px;
    top:-102px
}
.c-heading__title {
    font-size:2rem;
    font-family:Shippori Mincho,serif;
    font-weight:500;
    color:var(--mossGreen);
    text-align:center;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    margin:0 auto;
    position:relative
}
.c-heading__green {
    position:relative
}
.c-heading__green:after {
    content:"";
    display:inline-block;
    background:url(../images/common/heading_green.svg) no-repeat;
    background-size:contain;
    width:300px;
    height:300px;
    position:absolute;
    left:136px;
    bottom:-102px
}
.c-heading__text {
    text-align:center;
    font-family:Zen Old Mincho,serif;
    font-weight:400;
    margin-bottom:16px
}
.c-heading__text:first-of-type {
    margin-top:32px
}
.c-heading__text:last-child {
    margin-bottom:0
}
.c-button {
    display:block;
    background-color:var(--green);
    color:var(--white);
    font-weight:700;
    text-align:center;
    padding:20px 69px 20px 56px;
    position:relative;
    margin:56px auto 0;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
}
.c-button:after {
    content:"";
    display:inline-block;
    background:url(../images/common/button_arrow.svg) no-repeat;
    background-size:contain;
    width:38px;
    height:13px;
    position:absolute;
    right:16px;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.c-button:hover {
    background-color:var(--darkGreen);
    -webkit-transition:all .3s;
    transition:all .3s
}
.c-mv {
    background:url(../images/dyieing/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center;
    width:100%;
    height:100%;
    min-height:432px;
    position:relative
}
.c-mv__lead {
    position:absolute;
    top:50%;
    left:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
    width:90%
}
.c-mv__en {
    font-weight:500;
    color:var(--lightGreen);
    text-transform:uppercase;
    text-align:center
}
.c-mv__title {
    text-align:center;
    color:var(--white);
    font-size:2.5rem;
    font-weight:500;
    font-family:Shippori Mincho,serif
}
.c-mv__sbtitle {
    text-align:center;
    color:var(--white);
    font-size:1.5rem;
    font-weight:500;
    font-family:Shippori Mincho,serif;
    margin-top:16px
}
.c-mv__text {
    margin-top:16px;
    color:var(--white);
    text-align:center;
    line-height:2
}
.p-top__section {
    margin-top:128px
}
.p-top__heading {
    text-align:center;
    padding-bottom:54px
}
.p-top__heading--border {
    position:relative;
    z-index:1
}
.p-top__heading--border:after {
    content:"";
    display:inline-block;
    width:1px;
    height:82px;
    background-color:var(--green);
    position:absolute;
    bottom:-60px;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%)
}
.p-top__heading--topBorder {
    position:relative;
    padding-top:54px
}
.p-top__heading--topBorder:after {
    content:"";
    display:inline-block;
    width:1px;
    height:108px;
    background-color:var(--green);
    position:absolute;
    top:-88px;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%)
}
.p-top__heading--en {
    font-weight:600;
    font-size:1rem;
    color:var(--green)
}
.p-top__heading--title {
    font-family:Shippori Mincho,serif;
    font-weight:500;
    font-size:2.5rem;
    color:var(--mossGreen)
}
.p-top__mv--movie {
    width:100%;
    height:100vh;
    -o-object-fit:cover;
    object-fit:cover
}
.p-top__mv--lead {
    position:absolute;
    top:50%;
    left:48px;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-top__mv--title {
    color:var(--white);
    font-size:3rem;
    font-weight:500;
    font-family:Shippori Mincho,serif
}
.p-top__mv--text {
    margin-top:30px;
    font-size:1.5rem;
    font-weight:400;
    font-family:Shippori Mincho,serif;
    color:var(--white);
    letter-spacing:.07em
}
.p-top__about {
    padding-top:128px;
    margin-top:0
}
.p-top__about--main {
    background-color:var(--white)
}
.p-top__about--media {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    padding-top:52px
}
.p-top__about--body {
    width:50%
}
.p-top__about--title {
    font-size:1.5rem;
    font-weight:400;
    color:var(--mossGreen);
    font-family:Shippori Mincho,serif;
    margin-bottom:32px
}
.p-top__about--text {
    margin-bottom:16px
}
.p-top__about--text:last-child {
    margin-bottom:0
}
.p-top__about--image {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-right:calc(50% - 50vw);
    width:45vw
}
.p-top__about--image img:nth-child(odd) {
    margin-top:-52px
}
.p-top__section--technology {
    margin-top:74px
}
.p-top__technology--inner {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    position:relative
}
.p-top__technology--inner:before {
    content:"";
    display:inline-block;
    background:url(../images/common/green.svg) no-repeat;
    background-size:contain;
    width:300px;
    height:300px;
    position:absolute;
    top:-110px;
    left:-175px;
    z-index:-1
}
.p-top__technology--inner:after {
    content:"";
    display:inline-block;
    background:url(../images/common/green.svg) no-repeat;
    background-size:contain;
    width:300px;
    height:300px;
    position:absolute;
    bottom:-33px;
    right:-230px;
    z-index:-1
}
.p-top__card {
    -webkit-box-shadow:0px 2px 26px 0px var(--black10);
    box-shadow:0 2px 26px 0 var(--black10)
}
.p-top__card--body {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    padding:16px 24px 24px;
    min-height:379px;
    background-color:var(--white)
}
.p-top__card--icon {
    width:60px;
    height:60px;
    margin:0 auto
}
.p-top__card--title {
    font-size:1.5rem;
    color:var(--mossGreen);
    font-family:Shippori Mincho,serif;
    text-align:center;
    font-weight:500;
    margin-top:16px
}
.p-top__card--en {
    color:var(--mossGreen);
    text-align:center;
    margin-top:8px;
    text-transform:uppercase
}
.p-top__card--text {
    text-align:center;
    margin-top:16px
}
.p-top__card--link {
    position:relative;
    border-bottom:1px solid var(--green);
    padding-right:36px;
    margin:16px auto 0;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content
}
.p-top__card--link:after {
    content:"";
    display:inline-block;
    background:url(../images/top/more_arrow.svg) no-repeat;
    background-size:contain;
    width:28px;
    height:9px;
    position:absolute;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-top__flow--bg {
    background-color:var(--gray);
    padding:100px 16px
}
.p-top__list {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:133px
}
.p-top__item {
    border:2px solid var(--green);
    background-color:var(--white);
    padding:32px 24px 8px;
    position:relative
}
.p-top__item:after {
    content:"";
    display:inline-block;
    background-color:var(--green);
    width:133px;
    height:2px;
    position:absolute;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    right:-135px
}
.p-top__item:nth-child(4):after {
    content:"";
    background:url(../images/top/green_arrow.png) no-repeat;
    background-size:contain;
    width:62px;
    height:10px;
    right:-62px
}
.p-top__item:nth-child(5):before {
    content:"";
    display:inline-block;
    background-color:var(--green);
    width:62px;
    height:2px;
    position:absolute;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    left:-62px
}
.p-top__item:last-child:after {
    content:none
}
.p-top__item--number {
    width:56px;
    height:56px;
    border-radius:50%;
    background-color:var(--green);
    color:var(--white);
    font-size:1.5rem;
    font-weight:700;
    font-family:Shippori Mincho,serif;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    position:absolute;
    top:-16%;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%)
}
.p-top__item--text {
    text-align:center;
    color:var(--mossGreen);
    margin-top:4px
}
.p-top__flow--button {
    margin-top:64px
}
.p-top__company {
    background-color:var(--white);
    position:relative;
    padding:40px 16px 80px;
    margin-top:248px;
    z-index:1
}
.p-top__company--wrapper {
    position:unset
}
.p-top__company--media {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:end;
    -ms-flex-pack:end;
    justify-content:flex-end;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.p-top__company--body {
    width:50%;
    position:relative
}
.p-top__company--body:after {
    content:"";
    display:inline-block;
    background:url(../images/common/green.svg) no-repeat;
    background-size:contain;
    width:235px;
    height:235px;
    position:absolute;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
    right:0;
    z-index:-1
}
.p-top__company--text {
    text-align:center;
    font-family:Shippori Mincho,serif
}
.p-top__company--image {
    position:absolute;
    left:0;
    width:50%
}
.p-top__company--image img {
    width:100%;
    height:608px;
    -o-object-fit:cover;
    object-fit:cover
}
.p-top__recruit {
    background-color:var(--white);
    padding-top:120px;
    margin-top:124px
}
.p-top__recruit--inner {
    background:url(../images/top/recruit_bg.jpg) no-repeat;
    background-size:cover;
    padding:36px 16px 80px
}
.p-top__recruit--heading {
    padding-bottom:24px
}
.p-top__recruit--heading:after {
    background-color:var(--lightGreen)
}
.p-top__recruit--title {
    color:var(--white)
}
.p-top__recruit--en {
    color:var(--lightGreen)
}
.p-top__recruit--text {
    text-align:center;
    color:var(--white);
    font-weight:700;
    margin-bottom:10px
}
.p-top__recruit--text:last-child {
    margin-bottom:0
}
.p-dyieing__mv {
    background:url(../images/dyieing/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center
}
.p-dyieing__section-top,.p-dyieing__heading {
    margin-bottom:56px
}
.p-dyieing__item {
    margin-bottom:40px
}
.p-dyieing__item:last-child {
    margin-bottom:0
}
.p-dyieing__header {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start
}
.p-dyieing__body {
    padding:24px 32px 32px;
    background-color:var(--white);
    height:100%
}
.p-dyieing__body--title {
    font-size:1.5rem;
    font-family:Shippori Mincho,serif;
    font-weight:400;
    position:relative;
    padding-bottom:10px
}
.p-dyieing__body--title:after {
    content:"";
    display:inline-block;
    width:48px;
    height:2px;
    background-color:var(--green);
    position:absolute;
    bottom:0;
    left:0
}
.p-dyieing__body--text {
    margin-top:24px
}
.p-dyieing__row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px
}
.p-dyieing__card {
    height:100%;
    overflow:hidden
}
.p-coating__mv {
    background:url(../images/coating/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center
}
.p-coating__heading {
    margin-bottom:64px
}
.p-coating__list {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    row-gap:33px;
    -webkit-column-gap:40px;
    -moz-column-gap:40px;
    column-gap:40px
}
.p-coating__list02 {
    margin-top:64px
}
.p-coating__item {
    background-color:var(--white);
    border:1px solid var(--mossGreen10);
    padding:32px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between
}
.p-coating__item--title {
    font-size:1.25rem;
    font-weight:700;
    font-family:Zen Old Mincho,serif;
    padding-bottom:16px;
    padding-left:26px;
    border-bottom:1px solid var(--gray2);
    position:relative
}
.p-coating__item--title:before {
    content:"";
    display:inline-block;
    width:16px;
    height:2px;
    background-color:var(--green);
    position:absolute;
    left:0;
    top:15px
}
.p-coating__list02 .p-coating__item--title {
    text-align:center;
    padding:0;
    border-bottom:none;
    margin-bottom:32px
}
.p-coating__list02 .p-coating__item--title:before {
    content:"";
    display:inline-block;
    width:2px;
    height:52px;
    background-color:var(--green);
    position:absolute;
    left:50%;
    -webkit-transform:translateX(-50%);
    transform:translate(-50%);
    top:-62px
}
.p-coating__item--text {
    margin:32px 0
}
.p-coating__item--parts {
    font-size:1.25rem;
    font-weight:500;
    background-color:var(--white);
    padding:0 9px 7px 0;
    position:absolute;
    left:0;
    top:-18px
}
.p-coating__item--use {
    font-family:Shippori Mincho,serif;
    background-color:var(--green10);
    padding:32px 16px 27px;
    position:relative
}
.p-coating__image {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    row-gap:36px;
    -webkit-column-gap:16px;
    -moz-column-gap:16px;
    column-gap:16px;
    margin-top:64px
}
.p-coating__image--item {
    position:relative
}
.p-coating__image--title {
    font-family:Zen Old Mincho,serif;
    background-color:var(--white);
    padding:4px 18px;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    position:absolute;
    left:0;
    top:0
}
.p-sdgs__mv {
    background:url(../images/sdgs/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center
}
.p-sdgs__heading--title:after {
    right:-272px
}
.p-sdgs__bg {
    background-color:var(--white);
    padding:100px 0;
    margin:0
}
.p-sdgs__list {
    margin-top:64px
}
.p-sdgs__item {
    margin-bottom:64px;
    padding:54px 70px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    gap:16px
}
.p-sdgs__item:last-child {
    margin-bottom:0
}
.p-sdgs__item01 {
    background:url(../images/sdgs/item_bg01.jpg) no-repeat;
    background-size:cover;
    background-position:center center
}
.p-sdgs__item02 {
    background:url(../images/sdgs/item_bg02.jpg) no-repeat;
    background-size:cover;
    background-position:center center
}
.p-sdgs__item03 {
    background:url(../images/sdgs/item_bg03.jpg) no-repeat;
    background-size:cover;
    background-position:center center
}
.p-sdgs__item04 {
    background:url(../images/sdgs/item_bg04.jpg) no-repeat;
    background-size:cover;
    background-position:center center
}
.p-sdgs__image {
    max-width:224px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px
}
.p-sdgs__image--sp {
    display:none
}
.p-sdgs__image--sp img {
    max-width:72px
}
.p-sdgs__body {
    width:100%;
    max-width:720px
}
.p-sdgs__body--title {
    font-size:1.5rem;
    font-weight:400;
    font-family:Shippori Mincho,serif;
    color:var(--white);
    padding-left:68px;
    position:relative
}
.p-sdgs__body--number {
    color:var(--lightGreen);
    font-size:3rem;
    font-family:Shippori Mincho,serif;
    position:absolute;
    left:0;
    bottom:-7px
}
.p-sdgs__body--inner {
    margin-top:24px;
    background-color:var(--white70);
    padding:24px;
    border-radius:5px
}
.p-sdgs__body--item {
    margin-bottom:24px
}
.p-sdgs__body--item:last-child {
    margin-bottom:0
}
.p-sdgs__body--lead {
    color:var(--darkGreen);
    font-size:1.25rem;
    font-family:Zen Old Mincho,serif;
    position:relative;
    padding-left:20px
}
.p-sdgs__body--lead:before {
    content:"";
    display:inline-block;
    width:12px;
    height:1px;
    background-color:var(--green);
    position:absolute;
    left:0;
    top:17px
}
.p-sdgs__body--text {
    padding-left:20px
}
.p-flow__mv {
    background:url(../images/flow/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center
}
.p-flow__inner {
    margin-top:64px
}
.p-flow__item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    padding-bottom:21px
}
.p-flow__item:nth-child(2n) .p-flow__arrow {
    background-color:var(--green);
    color:var(--white)
}
.p-flow__item:nth-child(2n) .p-flow__arrow:after {
    border-top:21px solid var(--green)
}
.p-flow__item:last-child .p-flow__body--heading:after {
    height:100%
}
.p-flow__arrow {
    font-family:Zen Old Mincho,serif;
    -webkit-writing-mode:vertical-rl;
    -ms-writing-mode:tb-rl;
    writing-mode:vertical-rl;
    background-color:var(--lightGreen);
    padding:24px 15px;
    margin-right:24px;
    position:relative
}
.p-flow__arrow:after {
    content:"";
    display:inline-block;
    border-right:28px solid transparent;
    border-left:28px solid transparent;
    border-top:21px solid var(--lightGreen);
    position:absolute;
    bottom:-21px;
    left:0
}
.p-flow__body--item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    height:100%
}
.p-flow__item--inner {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    gap:24px;
    position:relative
}
.p-flow__item--inner:after {
    content:"";
    display:inline-block;
    width:2px;
    height:calc(100% + 21px);
    background-color:var(--darkGreen);
    position:absolute;
    left:3px;
    top:11px
}
.p-flow__body {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -ms-flex-pack:distribute;
    justify-content:space-around;
    width:50%
}
.p-flow__body--heading {
    color:var(--darkGreen);
    font-weight:700;
    position:relative;
    padding-left:16px;
    min-width:112px;
    margin-right:24px
}
.p-flow__body--heading:before {
    content:"";
    display:inline-block;
    background-color:var(--darkGreen);
    width:8px;
    height:8px;
    border-radius:50%;
    position:absolute;
    left:0;
    top:10px
}
.p-flow__body--last:after {
    height:92%
}
.p-flow__body--end {
    height:auto
}
.p-flow__image {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
    width:50%;
    padding-bottom:52px
}
.p-company__mv {
    background:url(../images/company/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center
}
.p-company__name {
    text-align:right;
    font-family:Shippori Mincho,serif;
    font-size:1.25rem;
    margin-top:32px
}
.p-company__name--parts {
    font-family:Zen Old Mincho,serif;
    font-size:1rem;
    margin-right:16px
}
.p-company__bg {
    background-color:var(--white);
    padding:100px 0;
    margin:0 auto;
    max-width:800px
}
.p-company__bg .c-heading__text {
    text-align:left
}
.p-company__table {
    margin:40px auto 0;
    width:100%;
    max-width:960px;
    border:1px solid var(--mossGreen10);
    background-color:var(--white);
    border-spacing:0
}
.p-company__table--row:nth-child(2n) {
    background-color:var(--gray)
}
.p-company__table--heading {
    padding:16px;
    position:relative;
    text-align:left;
    min-width:160px;
    width:20%;
    font-family:Zen Old Mincho,serif;
    font-weight:400;
    vertical-align:top
}
.p-company__table--decoration {
    position:relative;
    vertical-align:middle;
    min-width:200px;
    padding:24px 16px 24px 32px
}
.p-company__table--decoration:before {
    content:"";
    display:inline-block;
    width:16px;
    height:1px;
    background-color:var(--green);
    position:absolute;
    left:0;
    top:50%
}
.p-company__table--body {
    padding:16px;
    width:80%;
    font-family:Zen Old Mincho,serif
}
.p-company__table--about .p-company__table--body {
    padding:24px 0;
    white-space:pre-wrap
}
.p-company__table--inner {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    margin-bottom:24px
}
.p-company__table--inner:last-child {
    margin-bottom:0
}
.p-company__table--lead {
    min-width:110px;
    width:20%
}
.p-company__table--text {
    width:80%
}
.p-company__map--iframe {
    width:100%;
    height:100%;
    aspect-ratio:1920/473
}
.p-company__table--green {
    color:var(--darkGreen);
    white-space:pre-wrap
}
.p-company__table--green+p {
    margin-top:8px;
    white-space:pre-wrap
}
.p-recruit__mv {
    background:url(../images/recruit/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center;
    min-height:532px
}
.p-recruit__intro {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:flex-start;
    -ms-flex-align:flex-start;
    align-items:flex-start;
    gap:16px;
    margin-top:80px;
    margin-left:calc(50% - 50vw)
}
.p-recruit__intro--image {
    width:60%;
    padding-right:88px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}
.p-recruit__intro--image img:nth-child(2) {
    margin-top: 56px;
}
.p-recruit__intro--body {
    width:40%
}
.p-recruit__intro--item {
    margin-bottom:32px
}
.p-recruit__intro--item:last-child {
    margin-bottom:0
}
.p-recruit__intro--title {
    font-weight:400;
    font-size:1.5rem;
    font-family:Shippori Mincho,serif
}
.p-recruit__intro--number {
    font-family:Zen Old Mincho,serif;
    font-weight:400;
    font-size:1.5rem;
    color:var(--darkGreen);
    margin-right:16px
}
.p-recruit__bg {
    background-color:var(--white);
    padding:86px 0 100px;
    margin:0
}
.p-recruit__interview {
    margin-top:64px
}
.p-recruit__media {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
    -ms-flex-pack:justify;
    justify-content:space-between;
    -webkit-box-align:start;
    -ms-flex-align:start;
    align-items:flex-start;
    gap:56px;
    margin-bottom:80px
}
.p-recruit__media:last-child {
    margin-bottom:0
}
.p-recruit__media:nth-child(2n) {
    -webkit-box-orient:horizontal;
    -webkit-box-direction:reverse;
    -ms-flex-direction:row-reverse;
    flex-direction:row-reverse
}
.p-recruit__image {
    width:40%;
    max-width:481px
}
.p-recruit__body {
    width:60%
}
.p-recruit__body--title {
    color:var(--green);
    font-weight:500;
    font-size:1.75rem;
    font-family:Shippori Mincho,serif;
    padding-bottom:32px
}
.p-recruit__body--name {
    font-size:1.5rem;
    font-family:Shippori Mincho,serif;
    padding:24px 0;
    border-top:1px solid var(--green);
    border-bottom:1px solid var(--green)
}
.p-recruit__body--parts {
    background-color:var(--darkGreen);
    color:var(--white);
    font-size:1rem;
    font-family:Zen Old Mincho,serif;
    font-weight:400;
    margin-right:24px;
    padding:6px 24px 6px 32px;
    position:relative
}
.p-recruit__body--parts:before {
    content:"";
    display:inline-block;
    width:16px;
    height:1px;
    background-color:var(--white);
    position:absolute;
    left:0;
    top:50%
}
.p-recruit__message {
    margin-top:32px
}
.p-recruit__message--text {
    margin-bottom:1em;
    font-weight:400
}
.p-recruit__message--text:last-child {
    margin-bottom:0
}
.p-recruit__benefits {
    margin:0;
    padding:88px 0;
    background:url(../images/recruit/benefits_bg.jpg) no-repeat;
    background-size:cover
}
.p-recruit__benefits--row {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:40px
}
.p-recruit__card {
    padding:32px 32px 40px;
    background-color:var(--white)
}
.p-recruit__card--title {
    text-align:center;
    font-size:1.5rem;
    font-family:Shippori Mincho,serif;
    font-weight:400;
    color:var(--darkGreen);
    padding-bottom:16px;
    border-bottom:1px solid var(--gray2)
}
.p-recruit__card--list {
    margin-top:32px
}
.p-recruit__card--item {
    position:relative;
    font-weight:400;
    padding-left:28px;
    margin-bottom:8px;
    white-space:pre-wrap
}
.p-recruit__card--item:before {
    content:"";
    display:inline-block;
    width:12px;
    height:12px;
    border-radius:50%;
    background-color:var(--green);
    position:absolute;
    left:0;
    top:8px
}
.p-recruit__card--item:last-child {
    margin-bottom:0
}
.p-recruit__heading:before {
    height:80px;
    top:-80px
}
.p-recruit__inner {
    background-color:var(--white);
    padding:0 16px 80px
}
.p-recruit__accordion {
    margin:40px auto 0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    gap:40px;
    max-width:960px
}
.p-recruit__accordion--header {
    background-color:var(--mossGreen10);
    padding:24px 51px 24px 24px;
    position:relative
}
.p-recruit__accordion--header:after {
    content:"";
    display:inline-block;
    background:url(../images/recruit/accordion_arrow.svg) no-repeat;
    background-size:contain;
    width:27px;
    height:19px;
    position:absolute;
    right:20px;
    top:38px
}
.p-recruit__accordion--header .p-recruit__accordion--header.is-active .p-recruit__accordion--header:after {
    background:url(../images/recruit/accordion_close.svg) no-repeat;
    background-size:contain
}
.p-recruit__accordion--title {
    font-size:1.5rem;
    font-family:Shippori Mincho,serif;
    font-weight:400
}
.p-recruit__table {
    width:100%;
    border-collapse:collapse
}
.p-recruit__table--heading {
    text-align:left;
    font-weight:400;
    font-family:Zen Old Mincho,serif;
    padding:24px 16px;
    color:var(--darkGreen);
    border-bottom:1px solid var(--mossGreen)
}
.p-recruit__table--body {
    font-weight:400;
    font-family:Zen Old Mincho,serif;
    padding:24px 16px;
    border-bottom:1px solid var(--gray3);
    white-space:pre-wrap
}
.p-recruit__accordion--body {
    -webkit-transition:all .3s;
    transition:all .3s;
    max-height:0;
    overflow:hidden;
    -webkit-transition:max-height .3s ease;
    transition:max-height .3s ease
}
.p-privacy__mv {
    background:url(../images/privacy/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center
}
.p-privacy__section {
    margin-top:80px
}
.p-privacy__bg {
    background-color:var(--white);
    padding:80px 16px;
    max-width:1232px;
    margin:0 auto
}
.p-privacy__bg .c-heading:before {
    top:-160px
}
.p-privacy__inner {
    max-width:1084px;
    padding:0 16px;
    margin:0 auto
}
.p-privacy__item {
    margin-top:40px
}
.p-privacy__title {
    font-size:2rem;
    font-weight:500;
    font-family:Shippori Mincho,serif;
    color:var(--darkGreen)
}
.p-privacy__body {
    margin-top:16px;
    line-height:2
}
.p-privacy__text {
    line-height:2
}
.p-privacy__list {
    padding-left:1em
}
.p-privacy__list--item {
    list-style:decimal
}
.p-privacy__children--list {
    padding-left:1em
}
.p-privacy__children--item {
    list-style:lower-alpha
}
.p-privacy__grandchild--list {
    padding-left:1em
}
.p-privacy__grandchild--item {
    list-style:lower-roman
}
.p-contact__mv {
    background:url(../images/contact/mv.jpg) no-repeat;
    background-size:cover;
    background-position-x:center
}
.p-contact__intro--text {
    text-align:center
}
.p-contact__intro--button {
    display:block;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    padding:16px 24px;
    border:1px solid var(--darkGreen);
    border-radius:10px;
    margin:32px auto 0
}
.p-contact__intro--button:hover {
    background-color:var(--darkGreen);
    -webkit-transition:all .3s;
    transition:all .3s
}
.p-contact__intro--button:hover .p-contact__intro--tel {
    color:var(--white)
}
.p-contact__intro--button:hover .p-contact__intro--tel:before {
    background:url(../images/contact/tel_white.svg) no-repeat;
    background-size:contain
}
.p-contact__intro--button:hover .p-contact__intro--time {
    color:var(--white)
}
.p-contact__intro--tel {
    color:var(--darkGreen);
    font-weight:700;
    font-size:2rem;
    text-align:center;
    padding-left:30px;
    position:relative
}
.p-contact__intro--tel:before {
    content:"";
    display:inline-block;
    background:url(../images/contact/tel.svg) no-repeat;
    background-size:contain;
    width:22px;
    height:24px;
    position:absolute;
    left:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-contact__intro--time {
    text-align:center;
    color:var(--darkGreen);
    margin-top:4px
}
.p-contact__contents {
    max-width:1080px;
    margin:32px auto 0
}
.p-contact__title {
    font-size:1.5rem;
    font-family:Shippori Mincho,serif;
    font-size:normal;
    color:var(--darkGreen);
    padding:0 60px
}
.p-contact .wp-block-snow-monkey-forms-item {
    padding:24px 60px;
    border-bottom:1px solid var(--gray2)
}
.p-contact .smf-item__col {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    margin-bottom:16px
}
.p-contact .smf-item__label__text strong {
    background-color:var(--darkGreen);
    color:var(--white);
    border-radius:5px;
    font-weight:700;
    padding:4px 8px;
    margin-right:16px
}
.p-contact .smf-form .smf-text-control__control {
    border:1px solid var(--darkGreen);
    background-color:var(--white);
    padding:16px;
    border-radius:8px;
    width:100%
}
.p-contact .smf-form .smf-textarea-control__control {
    border:1px solid var(--darkGreen);
    background-color:var(--white);
    padding:16px;
    border-radius:8px;
    width:100%;
    height:150px
}
.p-contact .wp-block-snow-monkey-forms-item:last-child {
    margin-top:80px;
    text-align:center;
    border-bottom:none;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.p-contact .smf-checkbox-control__label {
    font-weight:700
}
.p-contact .smf-form .smf-checkbox-control {
    margin-top:16px
}
.p-contact__row {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    gap:103px;
    margin-top:80px
}
.p-contact__button {
    margin:0;
    min-width:189px
}
.p-contact__return {
    background-color:var(--gray2);
    color:var(--black);
    position:relative
}
.p-contact__return:after {
    content:none
}
.p-contact__return:before {
    content:"";
    display:inline-block;
    background:url(../images/contact/arrow_return.svg) no-repeat;
    background-size:contain;
    width:38px;
    height:13px;
    position:absolute;
    left:16px;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-contact__return:hover {
    background-color:var(--mossGreen);
    color:var(--white)
}
.p-contact__return:hover:before {
    background:url(../images/contact/arrow_return_white.svg) no-repeat;
    background-size:contain;
    -webkit-transition:all .3s;
    transition:all .3s
}
.p-contact__heading:before {
    content:none
}
.p-contact__heading--title {
    margin-bottom:40px
}
.p-contact__heading--text {
    text-align:center;
    margin-bottom:1em
}
.p-contact__heading--text:last-child {
    margin-bottom:0
}
.p-contact .smf-action .smf-button-control__control {
    display:block;
    background-color:var(--green);
    color:var(--white);
    font-weight:700;
    text-align:center;
    padding:20px 69px 20px 56px;
    position:relative;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    background-image:none;
    margin:0 auto;
    min-width:176px
}
.p-contact .smf-action .smf-button-control__control:after {
    content:"";
    display:inline-block;
    background:url(../images/common/button_arrow.svg) no-repeat;
    background-size:contain;
    width:38px;
    height:13px;
    position:absolute;
    right:16px;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-contact .smf-action .smf-button-control__control:hover {
    background-color:var(--darkGreen);
    -webkit-transition:all .3s;
    transition:all .3s
}
.p-contact .smf-action button.smf-button-control__control[data-action=back] {
    background-color:var(--gray2);
    color:var(--black);
    padding:20px 56px 20px 69px
}
.p-contact .smf-action button.smf-button-control__control[data-action=back]:after {
    background:url(../images/contact/button_arrow02.svg) no-repeat;
    background-size:contain;
    right:unset;
    left:16px;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%)
}
.p-contact .smf-action button.smf-button-control__control[data-action=back]:hover {
    background-color:var(--gray3);
    -webkit-transition:all .3s;
    transition:all .3s
}
.smf-action .smf-button-control+.smf-button-control {
    margin-left:0!important
}
.p-contact .smf-action {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    gap:103px
}
.p-contact .smf-item__controls {
    width:100%
}
.p-contact .smf-item__controls>p {
    margin-top:16px
}
.p-contact:has([data-screen=confirm]) .p-contact__intro {
    display:none
}
.smf-item__label__text a {
    color:var(--green)
}
.u-uppercase {
    text-transform:uppercase
}
.u-lowercase {
    text-transform:lowercase
}
.u-centerposition {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center
}
.u-visually-hidden {
    position:absolute;
    overflow:hidden;
    clip:rect(0 0 0 0);
    margin:-1px;
    padding:0;
    width:1px;
    height:1px;
    border:0;
    white-space:nowrap;
    clip-path:inset(50%)
}
.u-bold {
    font-weight:700
}
.u-color\:white {
    color:#fff
}
.u-block {
    display:block
}
.u-left {
    text-align:left
}
.u-center {
    text-align:center
}
.u-font-size\:smallish {
    font-size:var(--font-size-smallish)
}
.u-font-size\:biggish {
    font-size:var(--font-size-biggish)
}
.u-font-size\:big {
    font-size:var(--font-size-big)
}
.u-sp {
    display:none
}
@media screen and (max-width: 1400px) {
    body {
        padding-top:65px
    }
    .l-header {
        padding:16px 0 16px 15px
    }
    .l-header__logo,.l-header-layer__logo {
        max-width:170px;
        min-height:29px;
        height:100%;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center
    }
    .l-header__main {
        position:fixed;
        width:100%;
        min-width:100%;
        min-height:100vh;
        height:100%;
        background-color:var(--white);
        overflow-y:auto;
        -webkit-transition:right .4s;
        transition:right .4s;
        z-index:9998;
        padding:118px 18px 90px;
        top:0;
        left:unset;
        -webkit-transform:unset;
        transform:unset;
        right:-150%;
        margin-right:0;
        background-color:var(--mossGreen)
    }
    .l-header__main.active {
        right:0
    }
    .l-header__button {
        position:absolute;
        top:0;
        right:0;
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        row-gap:8px;
        width:65px;
        height:65px;
        z-index:9999;
        background-color:var(--mossGreen)
    }
    .l-header__nav--list {
        gap:24px;
        margin-right:16px
    }
    .l-header__nav--en {
        font-size:.6875rem
    }
    .l-header__tel {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        border:1px solid var(--white);
        padding:8px;
        width:100%;
        max-width:311px
    }
    .p-top__list {
        gap:52px;
        padding:0 24px
    }
    .p-top__item:after {
        width:52px;
        right:-54px
    }
    .p-recruit__intro--image {
        padding-right:0
    }
}
@media screen and (max-width: 992px) {
    .p-top__card--body {
        min-height:468px
    }
    .p-top__company {
        margin-top:80px;
        padding:0 0 40px
    }
    .p-top__company--media {
        -webkit-box-orient:vertical;
        -webkit-box-direction:reverse;
        -ms-flex-direction:column-reverse;
        flex-direction:column-reverse;
        gap:32px
    }
    .p-top__company--body {
        width:100%
    }
    .p-top__company--body:after {
        width:175px;
        height:175px;
        -webkit-transform:none;
        transform:none;
        top:-45px;
        right:-46px
    }
    .p-top__company--image {
        position:unset;
        width:100%
    }
    .p-top__company--image img {
        height:auto
    }
    .p-coating__list {
        row-gap:16px;
        -webkit-column-gap:16px;
        -moz-column-gap:16px;
        column-gap:16px
    }
    .p-coating__item {
        padding:16px
    }
    .p-recruit__intro {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        margin-right:calc(50% - 50vw);
        margin-top:24px
    }
    .p-recruit__intro--image {
        width:100%;
        padding: 0 16px;
    }
    .p-recruit__intro--image img:nth-child(2) {
        margin-top: 16px;
    }
    .p-recruit__intro--body {
        width:100%;
        padding:0 16px
    }
}
@media screen and (max-width: 768px) {
    html {
        scroll-padding-top:65px
    }
    body {
        background-size:5px 5px
    }
    p {
        font-size:.875rem
    }
    .l-section-top {
        margin:56px 0
    }
    .l-footer {
        margin-top:24px
    }
    .l-footer__cta {
        padding:64px 0 36px
    }
    .l-footer__cta--title {
        font-size:1.5rem
    }
    .l-footer__cta--text {
        font-size:3.125rem;
        top:-36px;
        max-width:258px
    }
    .l-footer__cta--row {
        margin-top:24px;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .l-footer__cta--tel {
        font-size:1.5rem
    }
    .l-footer__cta--hours {
        font-size:.75rem
    }
    .l-footer__cta--parts {
        margin-right:10px
    }
    .l-footer__under {
        padding:32px 0 8px
    }
    .l-footer__under--inner {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        padding:0 16px
    }
    .l-footer__nav {
        grid-template-columns:1fr;
        gap:0;
        padding-top:16px;
        border-top:1px solid var(--lightGreen)
    }
    .l-footer__list {
        margin-bottom:8px
    }
    .l-footer__item {
        padding-left:27px;
        margin-bottom:8px
    }
    .l-footer__item:before {
        top:13px
    }
    .l-footer__logo {
        max-width:330px;
        margin:0 auto 24px
    }
    .c-button.l-footer__button {
        display:none
    }
    .l-footer__body {
        width:-webkit-fit-content;
        width:-moz-fit-content;
        width:fit-content;
        margin:0 auto;
        padding-bottom:16px
    }
    .l-footer__copyright {
        font-size:.6875rem
    }
    .c-heading {
        padding-top:0
    }
    .c-heading:before {
        top:-56px;
        height:40px
    }
    .c-heading-under {
        padding-bottom:48px
    }
    .c-heading-under:before {
        top:unset;
        height:40px
    }
    .c-heading-top:before {
        top:-56px
    }
    .c-heading__title--green {
        font-size:1.5rem
    }
    .c-heading__title--green:after {
        content:none
    }
    .c-heading__title {
        font-size:1.5rem
    }
    .c-heading__green:after {
        content:none
    }
    .c-button {
        padding:16px 68px 16px 50px;
        margin:32px auto 0;
        font-size:.875rem
    }
    .c-mv {
        min-height:282px
    }
    .c-mv__title {
        font-size:1.75rem
    }
    .c-mv__sbtitle {
        margin-top:8px;
        font-size:1.25rem
    }
    .c-mv__text {
        margin-top:8px;
        font-size:.6875rem
    }
    .p-top__section {
        margin-top:80px
    }
    .p-top__heading {
        padding-bottom:32px
    }
    .p-top__heading--border:after {
        height:40px;
        bottom:-18px
    }
    .p-top__heading--topBorder:after {
        height:40px;
        top:-18px
    }
    .p-top__heading--title {
        font-size:1.75rem
    }
    .p-top__mv--lead {
        left:50%;
        -webkit-transform:translate(-50%,-50%);
        transform:translate(-50%,-50%);
        width:80%;
        max-width:258px
    }
    .p-top__mv--title {
        font-size:2rem
    }
    .p-top__mv--text {
        margin-top:24px;
        font-size:.875rem
    }
    .p-top__about {
        padding-top:80px;
        margin-bottom:0
    }
    .p-top__about--main {
        padding-top:40px
    }
    .p-top__about--media {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        padding-top:0;
        gap:32px
    }
    .p-top__about--body {
        width:100%
    }
    .p-top__about--title {
        font-size:1.25rem;
        text-align:center
    }
    .p-top__about--image {
        width:100vw;
        margin:0 calc(50% - 50vw);
        gap:14px;
        padding-top:18px;
        margin-bottom:24px
    }
    .p-top__about--image img:nth-child(odd) {
        margin-top:-18px
    }
    .p-top__section--technology {
        margin-top:18px
    }
    .p-top__technology--inner {
        grid-template-columns:1fr;
        gap:24px
    }
    .p-top__technology--inner:before {
        top:-76px;
        left:-72px;
        width:190px;
        height:190px
    }
    .p-top__technology--inner:after {
        width:200px;
        height:200px;
        bottom:-14px;
        right:-56px
    }
    .p-top__card:first-of-type {
        position:relative
    }
    .p-top__card:first-of-type:before {
        content:"";
        display:inline-block;
        background:url(../images/common/green.svg) no-repeat;
        background-size:contain;
        width:170px;
        height:170px;
        position:absolute;
        top:-76px;
        right:0;
        z-index:-1
    }
    .p-top__card--body {
        min-height:auto;
        padding:8px 16px 24px
    }
    .p-top__card--icon {
        width:40px;
        height:40px
    }
    .p-top__card--title {
        font-size:1.25rem;
        margin-top:8px
    }
    .p-top__card--en {
        font-size:.875rem
    }
    .p-top__card--text {
        margin-top:8px
    }
    .p-top__flow--bg {
        padding:64px 16px 56px
    }
    .p-top__list {
        grid-template-columns:1fr;
        -webkit-box-align:center;
        -ms-flex-align:center;
        align-items:center;
        gap:32px;
        padding:0
    }
    .p-top__item {
        padding:24px 16px 4px;
        max-width:180px;
        margin:0 auto
    }
    .p-top__item:after {
        width:2px;
        height:32px;
        right:unset;
        top:unset;
        bottom:-32px;
        left:50%;
        -webkit-transform:translateX(-50%);
        transform:translate(-50%)
    }
    .p-top__item:nth-child(4):after {
        background-color:var(--green);
        height:2px;
        width:32px;
        right:unset;
        top:unset;
        bottom:0;
        left:50%;
        -webkit-transform:translateX(-50%);
        transform:translate(-50%)
    }
    .p-top__item:nth-child(5):before {
        content:none
    }
    .p-top__item--number {
        width:35px;
        height:35px;
        top:-18px;
        font-size:1rem
    }
    .p-top__flow--button {
        margin-top:56px
    }
    .p-top__recruit {
        padding-top:0;
        background-color:unset
    }
    .p-top__recruit--inner {
        padding:0 16px 40px
    }
    .p-top__recruit--text {
        font-size:.875rem
    }
    .p-dyieing__mv {
        background:url(../images/dyieing/mv_sp.jpg) no-repeat;
        background-size:cover;
        background-position-x:center
    }
    .p-dyieing__heading,.p-dyieing__item {
        margin-bottom:16px
    }
    .p-dyieing__header {
        grid-template-columns:1fr;
        gap:4px
    }
    .p-dyieing__body {
        padding:24px 16px 32px;
        height:auto
    }
    .p-dyieing__body--title {
        font-size:1.25rem
    }
    .p-dyieing__body--parts {
        font-size:.875rem;
        display:block
    }
    .p-dyieing__body--text {
        margin-top:16px
    }
    .p-dyieing__row {
        grid-template-columns:1fr;
        gap:16px
    }
    .p-coating__mv {
        background:url(../images/coating/mv_sp.jpg) no-repeat;
        background-size:cover;
        background-position-x:center
    }
    .p-coating__heading {
        margin-bottom:16px
    }
    .p-coating__list {
        grid-template-columns:1fr;
        gap:16px
    }
    .p-coating__item--title {
        font-size:.9375rem;
        padding-bottom:8px
    }
    .p-coating__item--title:before {
        top:11px
    }
    .p-coating__list02 .p-coating__item--title {
        margin-bottom:16px
    }
    .p-coating__list02 .p-coating__item--title:before {
        content:none
    }
    .p-coating__item--text {
        margin:8px 0 2em
    }
    .p-coating__item--parts {
        font-size:1rem
    }
    .p-coating__item--use {
        padding:16px
    }
    .p-coating__image {
        grid-template-columns:1fr;
        gap:16px;
        margin-top:32px
    }
    .p-coating__image--title {
        font-size:.75rem;
        padding:3px 10px
    }
    .p-sdgs__mv {
        background:url(../images/sdgs/mv_sp.jpg) no-repeat;
        background-size:cover;
        background-position-x:center
    }
    .p-sdgs__bg {
        padding:56px 0;
        margin:0
    }
    .p-sdgs__bg .c-heading__text {
        text-align:left
    }
    .p-sdgs__list {
        margin:24px calc(50% - 50vw) 0 calc(50% - 50vw)
    }
    .p-sdgs__item {
        margin-bottom:24px;
        padding:16px;
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .p-sdgs__image {
        grid-template-columns:1fr 1fr 1fr 1fr;
        gap:16px;
        max-width:unset
    }
    .p-sdgs__image--sp {
        display:-webkit-box;
        display:-ms-flexbox;
        display:flex;
        -webkit-box-pack:center;
        -ms-flex-pack:center;
        justify-content:center;
        gap:16px;
        max-width:unset;
        margin-top:24px
    }
    .p-sdgs__image--pc {
        display:none
    }
    .p-sdgs__body--title {
        font-size:1.25rem;
        padding-left:0;
        text-align:center;
        padding-top:44px
    }
    .p-sdgs__body--number {
        font-size:2.25rem;
        top:-2px;
        bottom:unset;
        left:50%;
        -webkit-transform:translateX(-50%);
        transform:translate(-50%)
    }
    .p-sdgs__body--inner {
        padding:24px 16px
    }
    .p-sdgs__body--lead {
        font-size:1rem
    }
    .p-flow__mv {
        background:url(../images/flow/mv_sp.jpg) no-repeat;
        background-size:cover;
        background-position-x:center
    }
    .p-flow__inner {
        margin-top:24px
    }
    .p-flow__body--item,.p-flow__item--inner {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column
    }
    .p-flow__body {
        width:100%
    }
    .p-flow__body--text {
        padding-left:16px
    }
    .p-flow__body--last:after {
        height:98%
    }
    .p-flow__image {
        width:100%;
        grid-template-columns:1fr;
        padding-left:16px
    }
    .p-company__mv {
        background:url(../images/company/mv_sp.jpg) no-repeat;
        background-size:cover;
        background-position-x:center
    }
    .p-company__name {
        font-size:1.25rem
    }
    .p-company__bg {
        padding:56px 0
    }
    .p-company__table {
        margin:24px auto 0
    }
    .p-company__table--heading {
        display:block;
        width:100%;
        padding:8px 16px;
        font-size:.875rem
    }
    .p-company__table--decoration {
        width:100%;
        padding:16px 16px 4px 32px
    }
    .p-company__table--decoration:before {
        top:62%
    }
    .p-company__table--body {
        display:block;
        width:100%;
        padding:0 16px 8px;
        font-size:.875rem
    }
    .p-company__table--about .p-company__table--body {
        padding:4px 16px 16px 32px
    }
    .p-company__table--inner {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        margin-bottom:8px
    }
    .p-company__table--lead,.p-company__table--text {
        width:100%
    }
    .p-company__map--iframe {
        aspect-ratio:375/287
    }
    .p-recruit__mv {
        background:url(../images/recruit/mv_sp.jpg) no-repeat;
        background-size:cover;
        background-position-x:center;
        min-height:403px
    }
    .p-recruit__intro--title {
        font-size:1.25rem
    }
    .p-recruit__intro--number {
        font-size:1.25rem;
        margin-right:8px
    }
    .p-recruit__bg {
        padding:56px 0
    }
    .p-recruit__interview {
        margin-top:32px
    }
    .p-recruit__media {
        -webkit-box-orient:vertical;
        -webkit-box-direction:reverse;
        -ms-flex-direction:column-reverse;
        flex-direction:column-reverse;
        gap:24px;
        margin-bottom:40px
    }
    .p-recruit__media:nth-child(2n) {
        -webkit-box-orient:vertical;
        -webkit-box-direction:reverse;
        -ms-flex-direction:column-reverse;
        flex-direction:column-reverse
    }
    .p-recruit__image {
        width:100%;
        margin:0 auto
    }
    .p-recruit__body {
        width:100%
    }
    .p-recruit__body--title {
        font-size:1.25rem;
        font-weight:400;
        padding-bottom:24px
    }
    .p-recruit__body--name {
        font-size:1.25rem;
        font-weight:400;
        padding:16px 0
    }
    .p-recruit__body--parts {
        font-size:.875rem;
        padding:4px 16px 4px 24px
    }
    .p-recruit__message {
        margin-top:24px
    }
    .p-recruit__benefits {
        padding:56px 0
    }
    .p-recruit__benefits--row {
        grid-template-columns:1fr;
        margin-top:32px
    }
    .p-recruit__card {
        padding:16px 16px 24px
    }
    .p-recruit__card--title {
        font-size:1.25rem
    }
    .p-recruit__card--list {
        margin-top:16px
    }
    .p-recruit__section {
        margin-top:32px
    }
    .p-recruit__heading {
        padding-top:32px
    }
    .p-recruit__heading:before {
        height:32px;
        top:-32px
    }
    .p-recruit__inner {
        padding-top:0 16px 56px 16px
    }
    .p-recruit__accordion {
        margin:32px auto 0;
        gap:32px
    }
    .p-recruit__accordion--header {
        padding:16px 36px 16px 16px
    }
    .p-recruit__accordion--header:after {
        width:20px;
        height:14px;
        right:14px;
        top:24px
    }
    .p-recruit__accordion--title {
        font-size:.875rem
    }
    .p-recruit__table--heading {
        padding:8px 16px;
        display:block;
        width:100%;
        font-size:.875rem
    }
    .p-recruit__table--body {
        padding:8px 16px;
        display:block;
        width:100%;
        border-bottom:none;
        font-size:.875rem
    }
    .p-privacy__mv {
        background:url(../images/privacy/mv_sp.jpg) no-repeat;
        background-size:cover;
        background-position-x:center
    }
    .p-privacy__section {
        margin-top:56px
    }
    .p-privacy__bg {
        padding:32px 16px
    }
    .p-privacy__bg .c-heading:before {
        top:-88px
    }
    .p-privacy__title {
        font-size:1rem
    }
    .p-privacy__list--item,.p-privacy__children--item,.p-privacy__grandchild--item {
        font-size:.875rem
    }
    .p-contact__mv {
        background:url(../images/contact/mv_sp.jpg) no-repeat;
        background-size:cover;
        background-position-x:center
    }
    .p-contact__intro--tel {
        font-size:1.5rem
    }
    .p-contact__title {
        font-size:1.25rem;
        padding:0
    }
    .p-contact .wp-block-snow-monkey-forms-item {
        padding:24px 0
    }
    .p-contact .smf-item__col {
        margin-bottom:8px
    }
    .p-contact .smf-item__label__text strong {
        font-size:.875rem
    }
    .p-contact__row {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        gap:32px;
        margin-top:32px
    }
    .p-contact__button {
        min-width:174px;
        margin:0 auto
    }
    .p-contact .smf-action .smf-button-control__control {
        padding:16px 68px 16px 50px;
        margin:0 auto;
        font-size:.875rem
    }
    .p-contact .smf-action button.smf-button-control__control[data-action=back] {
        padding:16px 50px 16px 68px
    }
    .p-contact .smf-action {
        -webkit-box-orient:vertical;
        -webkit-box-direction:normal;
        -ms-flex-direction:column;
        flex-direction:column;
        gap:32px
    }
    .u-pc {
        display:none
    }
    .u-sp {
        display:block
    }
}
@media screen and (max-width: 576px) {
    .p-flow__body--last:after {
        height:97%
    }
}
@media screen and (max-width: 374px) {
    .c-button,.p-contact .smf-action .smf-button-control__control {
        padding:16px 68px 16px 36px
    }
    .p-contact .smf-action button.smf-button-control__control[data-action=back] {
        padding:16px 36px 16px 68px
    }
}
@media screen {
    [hidden~=screen] {
        display:inherit
    }
    [hidden~=screen]:not(:active):not(:focus):not(:target) {
        position:absolute!important;
        clip:rect(0 0 0 0)!important
    }
}