@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap);

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
    margin: 0
}

code {
    font-family: source-code-pro, Menlo, Monaco, Consolas, Courier New, monospace
}

.slick-slider {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
    touch-action: pan-y;
    -webkit-user-select: none;
    user-select: none;
    -khtml-user-select: none
}

.slick-list,
.slick-slider {
    display: block;
    position: relative
}

.slick-list {
    margin: 0;
    overflow: hidden;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-list,
.slick-slider .slick-track {
    transform: translateZ(0)
}

.slick-track {
    display: block;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    top: 0
}

.slick-track:after,
.slick-track:before {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    border: 1px solid #0000;
    display: block;
    height: auto
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-loading .slick-list {
    background: #fff url(data:image/gif;base64,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) 50% no-repeat
}

@font-face {
    font-family: slick;
    font-style: normal;
    font-weight: 400;
    src: url(../media/slick.a4e97f5a2a64f0ab1323.eot);
    src: url(../media/slick.a4e97f5a2a64f0ab1323.eot?#iefix) format("embedded-opentype"), url(../media/slick.295183786cd8a1389865.woff) format("woff"), url(../media/slick.c94f7671dcc99dce43e2.ttf) format("truetype"), url(../media/slick.2630a3e3eab21c607e21.svg#slick) format("svg")
}

.slick-next,
.slick-prev {
    border: none;
    cursor: pointer;
    display: block;
    font-size: 0;
    height: 20px;
    line-height: 0;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 20px
}

.slick-next,
.slick-next:focus,
.slick-next:hover,
.slick-prev,
.slick-prev:focus,
.slick-prev:hover {
    background: #0000;
    color: #0000;
    outline: none
}

.slick-next:focus:before,
.slick-next:hover:before,
.slick-prev:focus:before,
.slick-prev:hover:before {
    opacity: 1
}

.slick-next.slick-disabled:before,
.slick-prev.slick-disabled:before {
    opacity: .25
}

.slick-next:before,
.slick-prev:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #fff;
    font-family: slick;
    font-size: 20px;
    line-height: 1;
    opacity: .75
}

.slick-prev {
    left: -25px
}

[dir=rtl] .slick-prev {
    left: auto;
    right: -25px
}

.slick-prev:before {
    content: "←"
}

[dir=rtl] .slick-prev:before {
    content: "→"
}

.slick-next {
    right: -25px
}

[dir=rtl] .slick-next {
    left: -25px;
    right: auto
}

.slick-next:before {
    content: "→"
}

[dir=rtl] .slick-next:before {
    content: "←"
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    bottom: -25px;
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    width: 100%
}

.slick-dots li {
    display: inline-block;
    margin: 0 5px;
    padding: 0;
    position: relative
}

.slick-dots li,
.slick-dots li button {
    cursor: pointer;
    height: 20px;
    width: 20px
}

.slick-dots li button {
    background: #0000;
    border: 0;
    color: #0000;
    display: block;
    font-size: 0;
    line-height: 0;
    outline: none;
    padding: 5px
}

.slick-dots li button:focus,
.slick-dots li button:hover {
    outline: none
}

.slick-dots li button:focus:before,
.slick-dots li button:hover:before {
    opacity: 1
}

.slick-dots li button:before {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #000;
    content: "•";
    font-family: slick;
    font-size: 6px;
    height: 20px;
    left: 0;
    line-height: 20px;
    opacity: .25;
    position: absolute;
    text-align: center;
    top: 0;
    width: 20px
}

.slick-dots li.slick-active button:before {
    color: #000;
    opacity: .75
}

@font-face {
    font-family: Artisan;
    src: url(../font/artisan12.otf) format("opentype")
}

body {
    font-family: Artisan, sans-serif;
}

.u-shadow {
    box-shadow: 0 3px 10px 0 #0000001a
}

body {
    font-size: 100%;
    line-height: 1.5;
    overflow-x: hidden
}

a {
    color: #007bff;
    text-decoration: none
}

*,
:after,
:before {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

:where([hidden]:not([hidden=until-found])) {
    display: none !important
}

:where(html) {
    -webkit-text-size-adjust: none;
    color-scheme: dark light;
    tab-size: 2
}

@media(prefers-reduced-motion:no-preference) {
    :where(html:focus-within) {
        scroll-behavior: smooth
    }
}

:where(body) {
    -webkit-font-smoothing: antialiased;
    font-family: system-ui, sans-serif;
    line-height: 1.5
}

:where(button) {
    all: unset
}

:where(input, button, textarea, select) {
    color: inherit;
    font: inherit
}

:where(textarea) {
    resize: vertical;
    resize: block
}

:where(button, label, select, summary, [role=button], [role=option]) {
    cursor: pointer
}

:where(:disabled) {
    cursor: not-allowed
}

:where(label:has(>input:disabled), label:has(+input:disabled)) {
    cursor: not-allowed
}

:where(a) {
    color: inherit;
    text-underline-offset: .2ex
}

:where(ul, ol) {
    list-style: none
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block
}

:where(img, picture, svg, video) {
    block-size: auto;
    max-inline-size: 100%
}

:where(p, h1, h2, h3, h4, h5, h6) {
    overflow-wrap: break-word
}

:where(h1, h2, h3) {
    line-height: calc(1em + .5rem)
}

:where(hr) {
    block-size: 0;
    border: none;
    border-block-start: 1px solid;
    color: inherit;
    overflow: visible
}

:where(:focus-visible) {
    box-shadow: 0 0 0 5px Canvas;
    outline: 3px solid CanvasText;
    outline-offset: 1px
}

:where(:focus-visible, :target) {
    scroll-margin-block: 8vh
}

:where(.visually-hidden:not(:focus-within, :active)) {
    border: 0 !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important
}

.l-header {
    background: #f1efea;
    height: 108px;
    position: fixed;
    width: 100%;
    z-index: 10
}

.l-header.fixed .l-header__logo a {
    transform: scale(.5) translateY(-34px)
}

.l-header.fixed .l-header__contact .contact-area a {
    transform: scale(.8)
}

.l-header.fixed .l-header__contact .contact-area a:hover {
    opacity: .5;
    transform: scale(1);
    transition-duration: .8s
}

.l-header__inner {
    padding: 4px 16px;
    position: relative;
    z-index: 0
}

.l-header__inner.c-flex {
    align-items: flex-start
}

.l-header__inner .spacer {
    flex-grow: 1
}

.l-header__nav {
    width: 30%
}

.l-header__nav .menu-inner .navList {
    padding: 28px
}

.l-header__nav .menu-inner .navList li {
    font-size: 16px;
    margin: 0 40px 0 0
}

.l-header__nav .menu-inner .navList li a {
    color: #1c1c1c
}

.l-header__nav .menu-inner .navList li a:hover {
    opacity: .5
}

.l-header__logo a {
    display: inline-block;
    position: relative;
    transform: translateY(32px);
    transition-duration: .5s
}

.l-header__logo a .logo-type {
    left: 0;
    position: relative;
    top: 0;
    z-index: 10
}

.l-header__logo a .logo-mark {
    left: 180px;
    position: absolute;
    top: 51px;
    z-index: 1;
    stroke-width: 4;
}

.l-header__contact {
    width: 30%
}

.l-header__contact .contact-area {
    display: flex;
    justify-content: flex-end;
    margin: 30px 8px
}

.l-header__contact .contact-area img {
    display: none
}

.l-header__contact .contact-area a {
    background: #1c1c1c;
    color: #fff;
    display: inline-block;
    font-size: 1.5rem;
    line-height: 1.5em;
    padding: 6px 14px 2px 16px
}

.l-header__contact .contact-area a:hover {
    opacity: .5;
    transform: scale(1.2);
    transition-duration: .8s
}

@media(max-width:767px) {
    .l-header {
        height: 65px
    }

    .l-header.fixed .l-header__inner {
        padding: 16px;
        position: relative
    }

    .l-header.fixed .l-header__logo a {
        transform: scale(.7) translateY(-14px)
    }

    .l-header.fixed .l-header__contact .contact-area {
        display: block;
        margin: 0
    }

    .l-header.fixed .l-header__contact .contact-area a {
        align-items: center;
        aspect-ratio: 1/1;
        border-radius: 50px;
        display: flex;
        justify-content: center;
        padding: 0;
        width: 48px
    }

    .l-header.fixed .l-header__contact .contact-area span {
        display: none
    }

    .l-header.fixed .l-header__contact .contact-area img {
        display: block;
        width: 24px
    }

    .l-header__inner {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column
    }

    .l-header__inner .spacer,
    .l-header__nav {
        display: none
    }

    .l-header__logo {
        text-align: center;
        width: 100%
    }

    .l-header__logo a {
        transform: translateY(16px)
    }

    .l-header__logo a .logo-type {
        width: 240px;
    }

    .l-header__logo a .logo-mark {
        left: 110px;
        top: 31px;
        width: 55px
    }

    .l-header__contact {
        display: flex;
        justify-content: flex-end;
        position: absolute;
        right: 8px;
        top: 6px;
        width: 10%
    }

    .l-header__contact .contact-area {
        align-items: center;
        display: none;
        margin: 13px -13px 0 0
    }

    .l-header__contact .contact-area a {
        font-size: 1.2rem
    }
}

@media(min-width:768px)and (max-width:1140px) {
    .l-header.fixed .l-header__inner.c-flex {
        flex-direction: inherit
    }

    .l-header.fixed .l-header__contact .contact-area {
        display: block
    }

    .l-header__inner {
        display: flex;
        flex: 1 1 auto;
        flex-direction: column
    }

    .l-header__inner .spacer,
    .l-header__nav {
        display: none
    }

    .l-header__logo {
        text-align: center;
        width: 100%
    }

    .l-header__contact {
        display: none
    }
}

.l-footer__copy {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%
}

.l-footer__copy span {
    display: block;
    font-family: Roboto, sans-serif;
    font-size: 90%;
    font-weight: 400;
    letter-spacing: 0;
    padding: 16px;
    text-align: center
}

body {
    background-color: #f1efea;
    color: #000000de;
    letter-spacing: .1em
}

.l-main__inner {
    padding: 16px
}

@media(max-width:767px) {
    .l-main__inner {
        padding-bottom: 0
    }
}

a {
    transition-duration: .8s
}

p {
    font-family: ten-mincho, serif
}

section {
    margin: 0 auto;
    max-width: 1120px
}

@media(max-width:767px) {
    section {
        margin: 0 auto 54px;
        min-width: 300px
    }
}

.c-flex {
    display: flex
}

.c-text p {
    font-size: 22px;
    line-height: 2.5em;
    margin-bottom: 48px
}

@media(max-width:767px) {
    .c-text p {
        font-size: 15px;
        letter-spacing: 0;
        line-height: 1.8em;
        margin-bottom: 24px
    }

    .c-text p br {
        display: none
    }
}

.c-heading {
    margin-bottom: 56px;
    margin-top: 40px;
    padding-top: 80px
}

@media(max-width:767px) {
/**** MV位置変更時に追加 2506 ***/
.c-heading.section-top {
    margin-top: 0px;
}
}

.c-heading.center {
    padding-top: 64px;
    text-align: center
}

.c-heading.sub {
    margin-bottom: 32px;
    margin-top: 0;
    padding: 0
}

.c-heading.sub h3 {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: .1em
}

.c-heading h2 {
    font-family: ten-mincho, serif;
    font-size: 56px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: .2em
}
.c-heading h2 span.omitted{
font-size: 40%;
display: block;
}

@media(max-width:767px) {
    .c-heading {
        margin-bottom: 24px;
        padding: 48px 0 0
    }

    .c-heading h2 {
        font-size: 35px;
        font-weight: 400;
        letter-spacing: .2em
    }

    .c-heading h2 span {
        display: block;
        line-height: 1.8
    }

    .c-heading.sub {
        margin-bottom: 16px
    }

    .c-heading.sub h3 {
        font-size: 20px;
        font-weight: 400;
        letter-spacing: .1em;
        text-align: center
    }
}

@media(min-width:768px)and (max-width:1140px) {
    .c-heading h2 {
        font-size: 48px
    }

    .c-heading.sub h3 {
        text-align: center
    }
}

.p-mv {
    padding-top: 92px
}

@media(max-width:767px) {
    .p-mv {
        padding-top: 48px
    }

    .p-mv .slick-slide img {
        aspect-ratio: 1/.85;
        display: block;
        object-fit: cover
    }
}

.p-business__outline.c-flex {
    align-items: center;
    justify-content: center
}

.p-business__outline .business-left {
    text-align: left;
    width: 45%
}

.p-business__outline .business-left dl dt {
    font-family: Avenir, lato, noto sans jp, ヒラギノ角ゴ pron, hiragino kaku gothic pron, メイリオ, meiryo, ms p ゴシック, ms pgothic, sans-serif;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: .11em
}

.p-business__outline .business-left dl dt:after {
    background-color: #1c1c1c;
    border-radius: 10px;
    content: "";
    display: block;
    height: 6px;
    margin: 16px auto 24px 0;
    width: 56px
}

.p-business__outline .business-left dl dd {
    font-family: ten-mincho, serif;
    font-size: 16px;
    line-height: 2em;
    margin-bottom: 64px;
    text-align: justify
}

.p-business__outline .business-right {
    margin-left: 104px;
    width: 55%
}

.p-business__outline .business-right img {
    margin-right: calc(50% - 50vw);
    max-inline-size: 110%;
    width: 100vw
}

@media(max-width:767px) {
    .p-business__outline.c-flex {
        flex-wrap: wrap
    }

    .p-business__outline .business-left {
        width: 100%
    }

    .p-business__outline .business-left dl dt {
        text-align: center
    }

    .p-business__outline .business-left dl dt:after {
        margin: 16px auto 24px
    }

    .p-business__outline .business-left dl dd {
        margin-bottom: 40px
    }

    .p-business__outline .business-right {
        margin-left: 0;
        width: 100%
    }

    .p-business__outline .business-right img {
        margin-right: 0;
        max-inline-size: 100%;
        width: 100vw
    }
}

@media(min-width:768px)and (max-width:1140px) {
    .p-business__outline.c-flex {
        flex-wrap: wrap
    }

    .p-business__outline .business-left {
        width: 100%
    }

    .p-business__outline .business-right {
        margin-left: 0;
        width: 100%
    }

    .p-business__outline .business-right img {
        margin: 0 auto;
        max-inline-size: 100%;
        width: 50vw
    }
}

.p-company__wrap {
    margin-bottom: 64px
}

.p-company__wrap.c-flex {
    justify-content: space-between
}

.p-company__wrap .company-left {
    width: 250px
}

.p-company__wrap .company-left img {
    min-width: 250px;
    width: 250px
}

.p-company__wrap .company-left .profile {
    font-family: Avenir, lato, noto sans jp, ヒラギノ角ゴ pron, hiragino kaku gothic pron, メイリオ, meiryo, ms p ゴシック, ms pgothic, sans-serif;
    letter-spacing: .1em;
    margin-top: 16px;
    text-align: center
}

.p-company__wrap .company-left .profile span {
    display: block
}

.p-company__wrap .company-left .profile span.role {
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 8px
}

.p-company__wrap .company-left .profile span.name {
    font-size: 24px
}

.p-company__wrap .company-left .profile span.ruby {
    font-size: 14px
}

.p-company__wrap .company-right {
    margin-left: 64px
}

.p-company__wrap .company-right p {
    font-size: 15px;
    line-height: 2.2em;
    margin-top: -11px;
    text-align: justify
}

.p-company__info span {
    display: block;
    font-family: Avenir, lato, noto sans jp, ヒラギノ角ゴ pron, hiragino kaku gothic pron, メイリオ, meiryo, ms p ゴシック, ms pgothic, sans-serif;
    font-weight: 700
}

.p-company__info span.company-name {
    font-size: 40px;
    margin-bottom: 8px
}

.p-company__info span.location {
    font-size: 20px;
    margin-bottom: 8px
}

.p-company__info span.location a{
color:#000000de;
text-decoration:none;
}

.p-company__info span.mail {
    font-size: 20px
}

@media(max-width:767px) {
    .p-company__wrap {
        margin-bottom: 40px
    }

    .p-company__wrap.c-flex {
        flex-wrap: wrap
    }

    .p-company__wrap .company-left {
        width: 100%
    }

    .p-company__wrap .company-left img {
        margin: 0 auto;
        text-align: center
    }

    .p-company__wrap .company-left .profile {
        margin: 16px auto
    }

    .p-company__wrap .company-left .profile span.role {
        font-size: 12px
    }

    .p-company__wrap .company-left .profile span.name {
        font-size: 20px
    }

    .p-company__wrap .company-left .profile span.ruby {
        font-size: 10px
    }

    .p-company__wrap .company-right {
        margin-left: 0;
        width: 100%
    }

    .p-company__wrap .company-right p {
        font-size: 15px;
        letter-spacing: 0;
        line-height: 2em
    }

    .p-company__info span {
        text-align: center
    }

    .p-company__info span.company-name {
        font-size: 32px
    }

    .p-company__info span.location {
        font-size: 18px
    }
}

@media(min-width:768px)and (max-width:1140px) {
    .p-company__wrap.c-flex {
        flex-wrap: wrap
    }

    .p-company__wrap .company-left {
        width: 100%
    }

    .p-company__wrap .company-left img {
        margin: 0 auto;
        text-align: center
    }

    .p-company__wrap .company-left .profile {
        margin: 16px auto
    }

    .p-company__wrap .company-right {
        margin-left: 0;
        width: 100%
    }
}

.p-credit__inner {
    margin: 0 auto 80px;
    max-width: 1120px
}

.p-credit__inner p {
    font-family: Artisan, sans-serif;
    font-size: 90%;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 16px;
    text-align: right
}

.p-credit__inner .credit-list li {
    font-family: Roboto, sans-serif;
    font-size: 90%;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 0;
    margin: 0 0 4px;
    text-align: right
}

@media(max-width:767px) {
    .p-credit__inner {
        margin: 0 auto 64px
    }

    .p-credit__inner .credit-list li,
    .p-credit__inner p {
        text-align: center
    }
}

@media(min-width:768px)and (max-width:1140px) {
    .p-credit__inner {
        padding: 0 16px;
        width: 100%
    }
}

body.contact .l-header__logo a {
    transform: scale(.5) translateY(-32px)
}

.p-contact {
    margin-bottom: 40px;
    padding-top: 140px
}

.p-contact__inner .c-heading {
    margin-top: 0;
    padding-top: 0
}

.p-contact__inner .form-btn {
    background: #1c1c1c;
    border-radius: 7px;
    color: #fff;
    display: inline-block;
    display: block;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    margin: 24px auto 0;
    padding: 14px 20px 10px;
    text-align: center;
    width: 300px
}

.p-contact__inner .form-btn:hover {
    opacity: .8;
    transform: scale(1.1);
    transition-duration: .8s
}

.p-contact__form {
    margin: auto auto 24px;
    max-width: 700px;
    min-width: 320px;
    text-align: center
}

.p-contact__form label {
    display: block;
    margin-bottom: 24px
}

.p-contact__form label span {
    display: block;
    font-size: 20px;
    margin: 0 auto 8px;
    text-align: left;
    width: 80%
}

.p-contact__form label input {
    background: #f1efea;
    border: 2px solid #1c1c1c;
    border-radius: 10px;
    font-size: 16px;
    outline: none;
    padding: 10px;
    width: 80%
}

.p-contact__form label input:focus {
    background: #fff;
    outline: none
}

.p-contact__form label input:focus-visible {
    box-shadow: none
}

.p-contact__form label textarea {
    background: #f1efea;
    border: 2px solid #1c1c1c;
    border-radius: 10px;
    font-size: 16px;
    height: 160px;
    padding: 10px;
    width: 80%
}

.p-contact__form label textarea:focus {
    background: #fff;
    outline: none
}

.p-contact__form label textarea:focus-visible {
    box-shadow: none
}

.p-contact__message p {
    font-family: ten-mincho, serif;
    font-size: 20px;
    margin-bottom: 24px;
    text-align: center
}

@media(max-width:767px) {
    body.contact .l-header__logo a {
transform: scale(1) translateY(16px);
    }

    .p-contact {
        padding-top: 140px
    }

    .p-contact__form label span {
        font-size: 16px;
        margin: 0 auto 8px;
        width: 100%
    }

    .p-contact__form label input {
        font-size: 15px;
        width: 100%
    }

    .p-contact__form label textarea {
        font-size: 15px;
        height: 160px;
        width: 100%
    }

    .p-contact__message p {
        font-size: 16px;
        text-align: justify
    }
}



/* 　ロゴスライダー　 */
    .logo-slider {
        overflow: hidden;
        display: flex;
    }

    .logo-track {
      display: flex;
      width: calc(200px * 14 * 2);
      animation: scroll 24s infinite linear .5s both;
    }

    .logo-item {
      width: 200px;
      flex-shrink: 0;
      vertical-align: middle;
    }

    .logo-item img {
      width: 140px;
      vertical-align: middle;
      max-width: 100%;
      height: auto;
    }

    @keyframes scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(calc(-200px * 14)); }
    }