
p{
	line-height: 1.8!important;
}
.--hover-animation {
    overflow:hidden;
    position:relative;
    transition:.3s
}
.--hover-animation::before {
    background-color:rgba(119,119,119,.85);
    border-radius:50%;
    bottom:0;
    content:"";
    height:100px;
    left:0;
    margin:auto;
    position:absolute;
    right:0;
    top:0;
    transform:scale(0);
    transition:.9s;
    width:100px;
    z-index:-1
}
.--hover-animation.--changecolor::before {
    background-color:rgba(201,201,201,.85);
	transition: background-color 1s ease-in-out;
}
.--hover-animation:hover {
    transition:.3s
}
.--hover-animation:hover::before {
    transform:scale(10);
    transition:1.6s
}
@keyframes slider-1 {
    0% {
        opacity:0;
        transform:scale(1)
    }
    4.16% {
        opacity:1
    }
    33.33% {
        opacity:1
    }
    41.66% {
        opacity:0;
        transform:scale(1.2)
    }
    100% {
        opacity:0
    }
}
@keyframes fadeIn {
    0% {
        opacity:0
    }
    100% {
        opacity:1
    }
}
@keyframes scroll {
    0% {
        transform:scale(1,0);
        transform-origin:0 0
    }
    50% {
        transform:scale(1,1);
        transform-origin:0 0
    }
    51% {
        transform:scale(1,1);
        transform-origin:0 100%
    }
    100% {
        transform:scale(1,0);
        transform-origin:0 100%
    }
}
.fade-in-up {
    opacity:0;
    transform:translateY(24px);
    transition:opacity 2s,transform 2s
}
.fade-in-up.is-in-view {
    opacity:1;
    transform:translateY(0)
}
.fade-in-down {
    clip-path:inset(0 0 100% 0);
    transition:2s cubic-bezier(.37,0,.63,1);
    transition-property:clip-path
}
.fade-in-down.is-in-view {
    clip-path:inset(0 0 0 0)
}
.js-hover.is-animation::before {
    animation:a-hover .8s ease-out 0s
}
.js-hover.is-animation::after {
    animation:arw-r .8s ease-out 0s
}
@keyframes a-hover {
    0% {
        transform:scaleX(1);
        transform-origin:right bottom
    }
    50% {
        transform:scaleX(0);
        transform-origin:right bottom
    }
    50.1% {
        transform:scaleX(0);
        transform-origin:left bottom
    }
    100% {
        transform:scaleX(1);
        transform-origin:left bottom
    }
}
@keyframes arw-r {
    0% {
        opacity:1;
        transform:translate(0 -50%)
    }
    50% {
        opacity:0;
        transform:translate(50% -50%)
    }
    50.1% {
        opacity:0;
        transform:translate(-50% -50%)
    }
    100% {
        opacity:1;
        transform:translate(0 -50%)
    }
}
body {
    background-color:#fff;
    color:#333;
    font-family:"Shippori Mincho",sans-serif;
    font-size:16px;
    font-weight:400;
    letter-spacing:1.44px
}
main {
    overflow:hidden
}
img {
    width:100%
}
.--sp {
    display:block
}
@media screen and (max-width:767px) {
    .--sp {
        display:none
    }
}
.--tb {
    display:block
}
@media screen and (max-width:1100px) {
    .--tb {
        display:none
    }
}
.--pc {
    display:none
}
@media screen and (max-width:1100px) {
    .--pc {
        display:block
    }
}
html:has(header.is-checked) {
    overflow:hidden
}
.about__inner {
    display:flex;
    flex-direction:row-reverse;
    gap:40px;
    justify-content:center;
    padding:160px 60px 120px;
    position:relative;
    text-align:right
}
@media screen and (max-width:1100px) {
    .about__inner {
        padding:130px 60px 90px
    }
}
@media screen and (max-width:767px) {
    .about__inner {
        flex-direction:column;
        gap:10px;
        padding:40px 20px 20px;
        text-align:center
    }
}
.about__bg-img {
    background-image:url(../img/Shadow.webp);
    background-repeat:no-repeat;
    background-size:50%;
    height:100%;
    left:0;
    position:absolute;
    top:0;
    width:100%
}
.about__sectiontitle {
    font-weight:500
}
.about__sectiontitle span {
    display:block;
    text-align:start
}
@media screen and (max-width:767px) {
    .about__sectiontitle{
        margin-bottom: 30px;
    }
    .about__sectiontitle span {
        text-align:center
    }
}
.about__sectiontitle :nth-child(1) {
    color:#777;
    font-family:"Cormorant Garamond",sans-serif;
    font-size:clamp(.875rem,.7459677419rem + .2688172043vw,1rem);
    padding-top:25px;
    position:relative
}
.about__sectiontitle :nth-child(1)::before {
    background-image:url(../img/Line.svg);
    background-repeat:no-repeat;
    background-size:contain;
    content:"";
    height:12px;
    left:50%;
    position:absolute;
    top:8px;
    transform:translateX(-50%);
    width:12px
}
@media screen and (max-width:767px) {
    .about__sectiontitle :nth-child(1) {
        font-size:14px;
		line-height: 1.7!important;
        margin:0 auto;
        padding:0 0 0 10px;
        width:-moz-fit-content;
        width:fit-content
    }
    .about__sectiontitle :nth-child(1)::before {
        height:6px;
        left:0;
        top:50%;
        transform:translate(0,-50%);
        width:6px
    }
}
.about__sectiontitle :nth-child(2) {
    font-size:clamp(1.25rem,.9919354839rem + .5376344086vw,1.5rem);
    letter-spacing:11.16px;
    line-height:34px;
    margin-right:16px
}
@media screen and (max-width:1100px) {
    .about__sectiontitle :nth-child(2) {
        margin-right:8px
    }
}
@media screen and (max-width:767px) {
    .about__sectiontitle :nth-child(2) {
        font-size:18px;
        letter-spacing:4.16px;
        line-height:24px;
        margin:0
    }
}
.about__sectiontitle {
    writing-mode:vertical-rl
}
@media screen and (max-width:767px) {
    .about__sectiontitle {
        writing-mode:unset
    }
}
.about__contents {
    text-align:left;
    writing-mode:vertical-rl
}
@media screen and (max-width:767px) {
    .about__contents {
        margin:0 auto;
	    writing-mode: inherit;
    }
}
.about__text {
    font-size:16px;
    letter-spacing:8px;
    line-height:32px
}
@media screen and (max-width:1100px) {
    .about__text {
        letter-spacing:4.44px
    }
}
@media screen and (max-width:767px) {
    .about__text {
        font-size:14px;
		line-height: 1.7!important;
        letter-spacing:1.44px;
        line-height:18px
    }
}
.about__swiper {
    margin-bottom:clamp(5.625rem,4.2056451613rem + 2.9569892473vw,7rem)
}
@media screen and (max-width:767px) {
    .about__swiper {
        margin-bottom:40px
    }
}
.about__swiper {
	margin-top: 50px;
}
.about__contents-items {
    transition-timing-function:linear
}
.about__contents-item {
    height:auto;
    width:450px;
}
.about__contents-item img {
    height:auto;
    width:100%;
}
.archive__inner {
    display:flex;
    justify-content:space-between;
    margin:0 auto;
    margin-bottom:160px;
    max-width:1278px;
    padding:160px 60px;
    position:relative
}
@media screen and (max-width:1100px) {
    .archive__inner {
        padding:130px 60px
    }
}
@media screen and (max-width:767px) {
    .archive__inner {
        padding:100px 40px
    }
}
@media screen and (max-width:1100px) {
    .archive__inner {
        margin-bottom:130px
    }
}
@media screen and (max-width:767px) {
    .archive__inner {
        flex-direction:column;
        gap:160px;
        justify-content:center;
        margin-bottom:60px
    }
}
.archive__articles {
    display:flex;
    flex-direction:column;
    gap:32px
}
@media screen and (max-width:1100px) {
    .archive__articles {
        gap:16px
    }
}
@media screen and (max-width:767px) {
    .archive__articles {
        gap:32px
    }
}
.archive__article {
    border-bottom:1px solid #c9c9c9;
    display:flex;
    gap:clamp(1.875rem,-3.4153225806rem + 11.0215053763vw,7rem);
    line-height:32px;
    padding-bottom:32px;
    width:clamp(28.125rem,3.9959677419rem + 50.2688172043vw,51.5rem)
}
.archive__article:hover {
    opacity:.7
}
@media screen and (max-width:1100px) {
    .archive__article {
        padding-bottom:16px
    }
}
@media screen and (max-width:767px) {
    .archive__article {
        flex-direction:column;
        gap:0;
        padding-bottom:8px;
        position:relative;
        width:100%
    }
}
.archive__categoryname {
    font-size:14px;
	line-height: 1.7!important;
    letter-spacing:1.26px;
    line-height:28px
}
@media screen and (max-width:767px) {
    .archive__categoryname {
        left:120px;
        position:absolute;
        top:3px
    }
}
.archive__articletitle {
    margin-top:16px
}
@media screen and (max-width:1100px) {
    .archive__articletitle {
        margin-top:8px
    }
}
@media screen and (max-width:767px) {
    .archive__articletitle {
        margin-top:0
    }
}
.archive__paginav {
    align-items:center;
    bottom:0;
    display:flex;
    gap:16px;
    left:50%;
    position:absolute;
    text-align:center;
    transform:translateX(-50%)
}
@media screen and (max-width:767px) {
    .archive__paginav {
        bottom:0;
        left:0;
        margin-top:60px;
        position:static;
        text-align:center;
        transform:translateX(0)
    }
}
.page-numbers {
    border:.5px solid #c9c9c9;
    font-size:14px;
	line-height: 1.7!important;
    letter-spacing:1.26px;
    line-height:22px;
    padding:3px 10px;
    text-align:center
}
.page-numbers.current {
    background-color:#c9c9c9;
    color:#777
}
.page-numbers.next,.page-numbers.prev {
    border:none
}
.page-numbers:hover {
    opacity:.7
}
.company__inner {
    display:flex;
    gap:clamp(3.75rem,-1.9274193548rem + 11.8279569892vw,9.25rem);
    margin:0 auto;
    max-width:1220px;
    padding:112px 60px;
    width:100%
}
@media screen and (max-width:1100px) {
    .company__inner {
        padding:82px 60px
    }
}
@media screen and (max-width:767px) {
    .company__inner {
        flex-direction:column;
        gap:10px;
        padding:40px 20px
    }
}
.company__sectiontitle {
    font-weight:500
}
.company__sectiontitle span {
    display:block;
    text-align:start
}
@media screen and (max-width:767px) {
    .company__sectiontitle span {
        text-align:center
    }
}
.company__sectiontitle :nth-child(1) {
    color:#777;
    font-family:"Cormorant Garamond",sans-serif;
    font-size:clamp(.875rem,.7459677419rem + .2688172043vw,1rem);
    padding-top:25px;
    position:relative
}
.company__sectiontitle :nth-child(1)::before {
    background-image:url(../img/Line.svg);
    background-repeat:no-repeat;
    background-size:contain;
    content:"";
    height:12px;
    left:50%;
    position:absolute;
    top:8px;
    transform:translateX(-50%);
    width:12px
}
@media screen and (max-width:767px) {
    .company__sectiontitle :nth-child(1) {
        font-size:14px;
		line-height: 1.7!important;
        margin:0 auto;
        padding:0 0 0 10px;
        width:-moz-fit-content;
        width:fit-content
    }
    .company__sectiontitle :nth-child(1)::before {
        height:6px;
        left:0;
        top:50%;
        transform:translate(0,-50%);
        width:6px
    }
}
.company__sectiontitle :nth-child(2) {
    font-size:clamp(1.25rem,.9919354839rem + .5376344086vw,1.5rem);
    letter-spacing:11.16px;
    line-height:34px;
    margin-right:16px
}
@media screen and (max-width:1100px) {
    .company__sectiontitle :nth-child(2) {
        margin-right:8px
    }
}
@media screen and (max-width:767px) {
    .company__sectiontitle :nth-child(2) {
        font-size:18px;
        letter-spacing:4.16px;
        line-height:24px;
        margin:0
    }
}
.company__sectiontitle {
    writing-mode:vertical-rl
}
@media screen and (max-width:767px) {
    .company__sectiontitle {
        writing-mode:unset
    }
}
.company__contents {
    flex-grow:1
}
.company__info {
    display:flex;
    flex-direction:column
}
.company__info-row {
    border-bottom:.25px solid #c9c9c9;
    display:flex;
    font-size:clamp(.875rem,.7459677419rem + .2688172043vw,1rem);
    line-height:24px;
    padding:clamp(.625rem,-.2782258065rem + 1.8817204301vw,1.5rem) 0;
    position:relative
}
@media screen and (max-width:767px) {
    .company__info-row {
        font-size:14px;
		line-height: 1.7!important;
        padding:10px 0;
		flex-direction: column;
    }
}
.company__info-term {
    color:#5e5e5e
}
.company__info-description {
    left:clamp(8.75rem,4.1693548387rem + 9.5430107527vw,13.1875rem);
    position:absolute
}
@media screen and (max-width:767px) {
    .company__info-description {
        left: 0px;
        position: relative;
        letter-spacing: .8px;
        margin-top: 5px;
    }
}
.contact {
    background-image:url(../img/contact.webp);
    background-repeat:no-repeat;
    background-size:cover;
    position:relative;
    z-index:1
}
.contact__inner {
    align-items:center;
    display:flex;
    justify-content:space-between;
    margin:0 auto;
    max-width:960px;
    padding:76px 60px 73px;
    text-align:center;
    width:100%
}
@media screen and (max-width:1100px) {
    .contact__inner {
        padding:46px 60px 43px
    }
}
@media screen and (max-width:767px) {
    .contact__inner {
        flex-direction:column;
        gap:10px;
        justify-content:center;
        padding:40px 20px
    }
}
.contact__left {
    color:#fff;
    font-size:clamp(.875rem,.7459677419rem + .2688172043vw,1rem);
    line-height:32px;
    text-shadow:0 4px 4px rgba(0,0,0,.25)
}
@media screen and (max-width:767px) {
    .contact__left {
        font-size:14px;
		line-height: 1.7!important;
        line-height:24px
    }
}
.contact__right {
    color:#fff
}
.contact__tel {
    font-size:clamp(1.75rem,1.4919354839rem + .5376344086vw,2rem);
    letter-spacing:2.88px;
    line-height:normal
}
.contact__tel span {
    font-size:clamp(1rem,.7419354839rem + .5376344086vw,1.25rem);
    letter-spacing:1.8px;
    line-height:34px;
    margin-right:20px;
    position:relative;
    top:-6px
}
@media screen and (max-width:767px) {
    .contact__tel {
        font-size:22px
    }
    .contact__tel span {
        font-size:16px;
        line-height:24px;
        top:0
    }
}
.contact__time {
    font-size:14px;
	line-height: 1.7!important;
    letter-spacing:1.08px;
    line-height:20px;
    text-shadow:0 4px 4px rgba(0,0,0,.25)
}
.contact__btn {
    border:.3px solid #fff;
    border-radius:415px;
    box-shadow:0 4px 4px 0 rgba(0,0,0,.25);
    display:inline-block;
    font-size:clamp(.875rem,.7459677419rem + .2688172043vw,1rem);
    letter-spacing:1.6px;
    line-height:normal;
    margin-top:28px;
    padding:16px 20px;
    text-align:center;
    transition:all .3s ease
}
@media screen and (max-width:1100px) {
    .contact__btn {
        padding:12px 16px
    }
}
.drawercontent {
    background:#fff;
    display:none;
    height:100vh;
    padding-top:100px;
    position:fixed;
    top:0;
    width:100%;
    z-index:40
}
@media screen and (max-width:767px) {
    .drawercontent {
        padding-top:60px;
		margin-top: 30px;
    }
}
.drawercontent__language {
    margin-right:80px;
    position:absolute;
    right:0;
    width:-moz-fit-content;
    width:fit-content
}
@media screen and (max-width:767px) {
    .drawercontent__language {
        margin-right:6.5104166667vw
    }
}
.drawercontent__language-text {
    color:#333;
    font-family:"Cormorant Garamond",sans-serif;
    letter-spacing:1.44px;
    line-height:normal;
    padding-right:30px;
    position:relative
}
@media screen and (max-width:767px) {
    .drawercontent__language-text {
        padding-right:20px
    }
}
.drawercontent__language-text::after {
    background-image:url('../img/arrow-down\(black\).svg');
    background-repeat:no-repeat;
    background-size:cover;
    content:"";
    height:16px;
    position:absolute;
    right:0;
    top:20%;
    transition:transform .3s;
    width:16px
}
.drawercontent__language-text.is-open::after {
    transform:rotate(180deg)
}
.drawercontent__language-body {
    display:none
}
.drawercontent__language-lists {
    padding-block:20px
}
.drawercontent__language-lists :nth-child(n+2) {
    margin-top:30px
}
.drawercontent__language-list {
    border-bottom:1px solid #c9c9c9;
    color:#333;
    padding-bottom:2px
}
.drawercontent__items {
    align-items:center;
    display:flex;
    flex-direction:column;
    gap:40px;
    margin-top:50px;
    text-align:center
}
.drawercontent__item {
    border-bottom:1px solid #161616;
    padding:10px 0;
    width:30%;
}
.drawercontent__bottom {
    margin-top:60px;
    text-align:center
}
.drawercontent__snsicons {
    display:flex;
    gap:100px;
    justify-content:center;
    margin-bottom:60px;
}
.drawercontent__snsicon {
    display:block;
    height:30px;
    width:30px
}
.drawercontent__btn {
    border:.3px solid #333;
    border-radius:22px;
    display:inline-block;
    font-size:14px;
	line-height: 1.7!important;
    letter-spacing:1.4px;
    line-height:normal;
    padding:8px 20px;
    text-align:center;
    transition:all .3s ease
}
.footer {
    background-color:#161616
}
.footer__inner {
    align-items:center;
    display:flex;
    justify-content:space-between;
    margin:0 auto;
    max-width:960px;
    padding:72px 60px;
    width:100%
}
@media screen and (max-width:1100px) {
    .footer__inner {
        padding:42px 60px
    }
}
@media screen and (max-width:767px) {
    .footer__inner {
        flex-direction:column;
        gap:30px;
        padding:20px
    }
}
.footer__left {
    color:#fff;
    line-height:normal;
    text-align:left
}
.footer__left :nth-child(n+2) {
    font-size:14px;
	line-height: 1.7!important;
    letter-spacing:1.08px;
    line-height:20px;
    margin-top:8px
}
@media screen and (max-width:767px) {
    .footer__left {
        text-align:center
    }
}
.footer__img {
    width:202px
}
.footer__right {
    color:#fff;
    text-align:right
}
.footer__nav {
    align-items:center;
    display:flex;
    flex-direction:column
}
.footer__nav-lists {
    display:flex;
    gap:24px
}
@media screen and (max-width:767px) {
    .footer__nav-lists {
        gap:16px
    }
	.footer__nav {
		display: none;
	}
	.footer__img {
		margin: 20px 0 40px;
	}
}
.footer__nav-list {
    font-size:14px;
	line-height: 1.7!important;
    letter-spacing:1.26px;
    line-height:20px
}
@media screen and (max-width:767px) {
    .footer__nav-list {
        font-size:14px
		line-height: 1.7!important;
    }
}
.footer__snsicons {
    display:flex;
    gap:24px;
    justify-content:end;
    margin-top:16px
}
@media screen and (max-width:767px) {
    .footer__snsicons {
        justify-content:center
    }
}
.footer__snsicon {
    display:block;
    height:30px;
    width:30px
}
.footer__snsicon svg {
    fill:#fff
}
.footer__copyright {
    display:block;
    margin-top:16px;
    text-align:right
}
@media screen and (max-width:767px) {
    .footer__copyright {
        font-size:10px;
        text-align:center
    }
}
.fv {
    color:#fff;
    height: 100svh;
    width:100%
}
.fv__inner,.fv__slide {
    height:100%;
    position:relative;
    width:100%
}
.fv__slide {
    overflow:hidden
}
.fv__bg-img {
    animation:slider-1 24s linear infinite;
    background-repeat:no-repeat;
    background-size:cover;
    height:100%;
    left:0;
    opacity:0;
    position:absolute;
    top:0;
    width:100%
}
.fv__bg-img:nth-child(1) {
    animation-delay:-2s;
    background-image:url(../img/FV.webp)
}
.fv__bg-img:nth-child(2) {
    animation-delay:6s;
    background-image:url(../img/ujjwal-jajoo-KLFVQgcLoZ8-unsplash.webp)
}
.fv__bg-img:nth-child(3) {
    animation-delay:14s;
    background-image:url(../img/katharina-matt-o7-hvamxZQ8-unsplash.webp)
}
.fv__contents {
    animation:fadeIn 5s forwards;
    display:flex;
    flex-direction:column;
    height:100%;
    left:50%;
    opacity:0;
    position:absolute;
    text-align:center;
    top:40%;
    transform:translateX(-50%);
    z-index:1
}
@media screen and (max-width:767px) {
    .fv__contents {
        top: 50%;
        left: 50%;
        height: auto;
		width: 100%;
        transform: translate(-50%, -50%);
    }
}
.fv__contents span {
    align-items:center;
    display:block;
    font-size:clamp(.875rem,.4879032258rem + .8064516129vw,1.25rem);
    font-weight:500;
    letter-spacing:1.8px;
    line-height:34px;
    margin-top:16px;
    text-shadow:0 4px 4px rgba(0,0,0,.25)
}
@media screen and (max-width:767px) {
    .fv__contents span {
        font-size:14px;
		line-height: 1.7!important;
        letter-spacing:.8px;
        line-height:18px
    }
}
.fv__logo {
    margin:0 auto;
    width:min(33.1349206349vw,501px)
}
@media screen and (max-width:767px) {
    .fv__logo {
        width: 70%;
    }
}
.fv__scroll {
    animation:fadeIn 12s forwards;
    border-left:1px solid #777;
    bottom:125px;
    opacity:0;
    padding-bottom:125px;
    padding-left:10px;
    position:absolute;
    right:180px;
    z-index:1
}
@media screen and (max-width:1100px) {
    .fv__scroll {
        bottom:60px;
        padding-bottom:60px;
        right:70px
    }
}
.fv__scrollbar {
    font-family:"Cormorant Garamond",sans-serif;
    font-size:14px;
	line-height: 1.7!important;
    letter-spacing:1.26px;
    position:relative;
    writing-mode:vertical-lr
}
.fv__scrollbar::before {
    animation:scroll 2s infinite;
    background-color:#fff;
    bottom:-115px;
    content:"";
    height:168px;
    left:-10.5px;
    position:absolute;
    top:0;
    width:1px;
    z-index:2
}
@media screen and (max-width:1100px) {
    .fv__scrollbar::before {
        height:103px
    }
}
.gnav__lists {
    display:flex;
    flex-direction:row;
    gap:clamp(.9375rem,-.6754032258rem + 3.3602150538vw,2.5rem);
    justify-content:center
}
.gnav__list {
    font-size:15px;
    letter-spacing:1.5px
}
.header {
    background:linear-gradient(180deg,rgba(16,17,16,.6) 0,rgba(34,37,35,.48) 43%,rgba(45,47,45,.3) 73%,rgba(54,57,54,0) 100%);
    color:#fff;
    height:100px;
    left:0;
    position:fixed;
    top:0;
    transition:all .2s ease;
    width:100%;
    z-index:50
}
.header.is-checked {
    background:#fff;
    color:#333;
    transition:all 0s
}
.header{
	background:rgba(255,255,255,0%);
	transition:all 1s ease-in-out!important;
}
.header.--changecolor {
    background:rgba(255,255,255,100%);
    box-shadow:0 4px 10px 0 rgba(0,0,0,.1);
    color:#333;
	transition:all 1s ease-in-out!important;
}
@media screen and (max-width:767px) {
    .header {
        height:60px
    }
}
.header__inner {
    height:100%;
    margin:0 auto;
    max-width:1302px;
    padding-inline:60px;
    width:100%
}
@media screen and (max-width:1100px) {
    .header__inner {
        padding-inline:40px
    }
}
@media screen and (max-width:767px) {
    .header__inner {
        padding-inline:20px
    }
}
.header__wrapper {
    align-items:center;
    display:flex;
    flex-direction:row;
    height:100%;
    justify-content:space-between;
    text-align:center
}
.header__left {
    width:202px
}
@media screen and (max-width:767px) {
    .header__left {
        width:160px
    }
}
.header__logo.--logo-white {
    display:block
}
.header__logo.--logo-color {
    display:none
}
.header__logo.--changecolor.--logo-white,.header__logo.is-checked.--logo-white {
    display:none!important
}
.header__logo.--changecolor.--logo-color,.header__logo.is-checked.--logo-color {
    display:block!important
}
@media screen and (max-width:1100px) {
    .header__right {
        height:26px;
        position:relative;
        right:60px;
        width:40px
    }
    .header__right.is-checked :nth-child(1) {
        top:20px;
        transform:rotate(45deg)
    }
    .header__right.is-checked :nth-child(2) {
        display:none
    }
    .header__right.is-checked :nth-child(3) {
        top:20px;
        transform:rotate(-45deg)
    }
}
@media screen and (max-width:767px) {
    .header__right {
        height:18px;
        width:27px;
		right: 10px;
    }
    .header__right.is-checked :nth-child(1),.header__right.is-checked :nth-child(3) {
        top:6px
    }
}
.header__right-wrapper {
    align-items:center;
    display:flex;
    gap:clamp(.0625rem,-1.8084677419rem + 3.8978494624vw,1.875rem)
}
.header__snsicons {
    display:flex;
    gap:clamp(.9375rem,-.0302419355rem + 2.0161290323vw,1.875rem)
}
.header__snsicon {
    display:block;
    height:30px;
    width:30px
}
.header__snsicon svg {
    /* fill:#fff; */
	fill:#333;
}
.header__snsicon.--changecolor svg {
    fill:#333
}
.header__btn {
    border:.3px solid #fff;
    border-radius:22px;
    display:inline-block;
    font-size:14px;
	line-height: 1.7!important;
    letter-spacing:1.4px;
    line-height:normal;
    padding:12px 20px;
    text-align:center;
    transition:all .3s ease
	border:.3px solid #333
}
.header__btn.--changecolor {
    border:.3px solid #333
}
.header__language-text {
    font-family:"Cormorant Garamond",sans-serif;
    letter-spacing:1.44px;
    line-height:normal;
    padding-right:30px;
    position:relative
}
.header__language-text::after {
    background-image:url('../img/arrow-down\(white\).svg');
    background-repeat:no-repeat;
    background-size:cover;
    content:"";
    height:16px;
    position:absolute;
    right:0;
    top:20%;
    transition:transform .3s;
    width:16px
}
.header__language-text.--changecolor::after {
    background-image:url('../img/arrow-down\(black\).svg')
}
.header__language-text.--changecolor span {
    color:#333
}
.header__language-text.is-open::after {
    transform:rotate(180deg)
}
.header__language-body {
    display:none;
    position:absolute;
    top:80px
}
.header__language-lists {
    padding-bottom:20px
}
.header__language-lists :nth-child(n+2) {
    margin-top:30px
}
.header__language-list {
    border-bottom:1px solid #c9c9c9;
    padding-bottom:2px
}
.header__language-list.--changecolor span {
    color:#333
}
.header__hamburger-bar {
    background-color:#fff;
    border-radius:1px;
    height:2px;
    position:absolute;
    transition:all .2s ease;
    width:100%
}
.header__hamburger-bar.--changecolor,.header__hamburger-bar.is-checked {
    background:#161616
}
.header__hamburger-bar:nth-of-type(1) {
    top:10px
}
.header__hamburger-bar:nth-of-type(2) {
    top:20px
}
.header__hamburger-bar:nth-of-type(3) {
    top:30px
}
@media screen and (max-width:767px) {
    .header__hamburger-bar:nth-of-type(1) {
        top:0
    }
    .header__hamburger-bar:nth-of-type(2) {
        top:7px
    }
    .header__hamburger-bar:nth-of-type(3) {
        top:14px
    }
}
.lower-contact__inner {
    margin:0 auto;
    max-width:1278px;
    padding:160px 60px
}
@media screen and (max-width:1100px) {
    .lower-contact__inner {
        padding:130px 30px
    }
}
@media screen and (max-width:767px) {
    .lower-contact__inner {
        padding:100px 20px
    }
}
.lower-contact__text {
    line-height:32px;
    margin:0 auto;
    text-align:center;
    width:100%;
}
.lower-contact__items {
    color:#282828;
    margin-top:88px
}
.lower-contact__item {
    line-height:32px
}
.lower-contact__item+.lower-contact__item {
    margin-top:24px
}
.lower-contact__label {
    align-items:center;
    display:flex;
    font-weight:700
}
.lower-contact__label span {
    border:1px solid #e54b4b;
    border-radius:12px;
    color:#e54b4b;
    display:inline-block;
    font-size:14px;
	line-height: 1.7!important;
    font-weight:600;
    line-height:20px;
    margin-left:8px;
    padding:0 7px
}
.lower-contact__formtext {
    border:1px solid #c9c9c9;
    border-radius:2px;
    margin-top:12px;
    padding:20px 16px;
    width:100%
}
.lower-contact__formtext::-moz-placeholder {
    color:#c9c9c9;
    font-size:15px
}
.lower-contact__formtext::placeholder {
    color:#c9c9c9;
    font-size:15px
}
.lower-contact__formtext:focus {
    border-color:#4a6956
}
.lower-contact__textarea {
    border:1px solid #c9c9c9;
    border-radius:2px;
    margin-top:12px;
    padding:20px 16px;
    width:100%
}
.lower-contact__textarea ::-moz-placeholder {
    color:#c9c9c9;
    font-size:15px
}
.lower-contact__textarea ::placeholder {
    color:#c9c9c9;
    font-size:15px
}
.lower-contact__textarea:focus {
    border-color:#4a6956
}
.lower-contact__privacy-text {
    color:#282828;
    display:block;
    margin-top:24px;
    padding-left:28px;
    position:relative
}
.lower-contact__privacy-text::after,.lower-contact__privacy-text::before {
    content:"";
    position:absolute;
    top:50%;
    transform:translateY(-50%)
}
.lower-contact__privacy-text::before {
    border:1px solid #c9c9c9;
    height:20px;
    left:0;
    transition:border-color .3s;
    width:20px
}
.lower-contact__privacy-text::after {
    background-image:url(../img/check.svg);
    background-repeat:no-repeat;
    background-size:cover;
    height:20px;
    left:0;
    opacity:0;
    width:20px
}
.lower-contact__privacy-link {
    -webkit-text-decoration-skip-ink:none;
    font-size:14px;
	line-height: 1.7!important;
    line-height:32px;
    text-decoration-line:underline;
    text-decoration-skip-ink:none;
    text-decoration-style:solid;
    text-decoration-thickness:auto;
    text-underline-offset:auto;
    text-underline-position:from-font
}
.lower-contact__checkbox-input {
    clip:rect(0,0,0,0);
    height:1px;
    overflow:hidden;
    position:absolute;
    width:1px
}
.lower-contact__button {
    border:1px solid #4a6956;
    border-radius:30px;
    display:inline-block;
    font-weight:700;
    left:50%;
    line-height:normal;
    line-height:32px;
    margin-inline:auto;
    margin-top:40px;
    padding:20px;
    position:relative;
    text-align:center;
    text-align:center;
    transform:translateX(-50%);
    transition:all .3s ease;
    width:340px
}
.lower-contact__button::after {
    background-image:url(../img/arrow-right.svg);
    background-repeat:no-repeat;
    background-size:contain;
    content:"";
    height:20px;
    position:absolute;
    right:30%;
    top:38%;
    width:20px
}
.wpcf7-submit {
    height:100%;
    width:100%
}
.wpcf7-spinner {
    display:none!important
}
.wpcf7-acceptance:has(.lower-contact__checkbox-input:checked) .lower-contact__privacy-text::after {
    opacity:1
}
.lower-fv {
    background-image:linear-gradient(0deg,rgba(0,0,0,.2) 0,rgba(0,0,0,.2) 100%),linear-gradient(180deg,#1b3224 0,rgba(48,81,61,.95) 55.39%,rgba(60,100,76,.9) 77.43%,rgba(77,124,95,.8) 100%),url(../img/lower-fv.svg);
    background-position:center center,center center,calc(100% + 50px) center;
    background-repeat:no-repeat;
    color:#fff;
    height:min(30.753968254vw,465px);
    width:100%
}
@media screen and (max-width:767px) {
    .lower-fv {
        background-position:center center,center center,center center;
        background-size:contain;
        height:52.9100529101vw
    }
}
.lower-fv__inner {
    height:100%;
    position:relative;
    width:100%
}
.lower-fv__title {
    left:20%;
    position:absolute;
    top:50%
}
@media screen and (max-width:767px) {
    .lower-fv__title {
		left: 0%;
		transform: translate(0%, -50%);
		width: 100%;
		text-align: center;
    }
	.lower-fv__title :nth-child(1) {
		background-image: none!important;
	}
}
.lower-fv__title :nth-child(1) {
    background-image:url(../img/slash-white.svg);
    background-position:8px center;
    background-repeat:no-repeat;
    background-size:contain;
    font-family:"Cormorant Garamond",sans-serif;
    font-size:clamp(1rem,.7419354839rem + .5376344086vw,1.25rem);
    font-weight:500;
    letter-spacing:1.8px;
    line-height:.8em;
    padding-left:2em
}
.lower-fv__title :nth-child(2) {
    font-size:clamp(2.25rem,1.9919354839rem + .5376344086vw,2.5rem);
    font-weight:600;
    letter-spacing:3.6px;
    line-height:1.2em;
    margin-top:8px
}
.lower-fv__title span {
    display:block
}
.lower-service__inner {
    margin:0 auto;
    max-width:1278px;
    padding:160px 60px
}
@media screen and (max-width:1100px) {
    .lower-service__inner {
        padding:130px 30px
    }
}
@media screen and (max-width:767px) {
    .lower-service__inner {
        padding:100px 20px
    }
}
.lower-service__contents {
    display:flex;
    flex-direction:column;
    gap:135px
}
.lower-service__contents :nth-child(2n+2) {
    grid-template-areas:"imgWrapper title" "imgWrapper text";
    grid-template-columns:clamp(18.75rem,2.4274193548rem + 34.0053763441vw,34.5625rem) auto
}
@media screen and (max-width:767px) {
    .lower-service__contents {
        gap:60px
    }
    .lower-service__contents :nth-child(2n+2) {
        grid-template-areas:"title" "imgWrapper" "text";
        grid-template-columns:auto
    }
}
.lower-service__grid {
    -moz-column-gap:clamp(1.875rem,-1.6733870968rem + 7.3924731183vw,5.3125rem);
    column-gap:clamp(1.875rem,-1.6733870968rem + 7.3924731183vw,5.3125rem);
    display:grid;
    grid-template-areas:"title imgWrapper" "text imgWrapper";
    grid-template-columns:auto clamp(18.75rem,2.4274193548rem + 34.0053763441vw,34.5625rem);
    row-gap:clamp(.9375rem,-.6754032258rem + 3.3602150538vw,2.5rem)
}
@media screen and (max-width:767px) {
    .lower-service__grid {
        grid-template-areas:"title" "imgWrapper" "text";
        grid-template-columns:auto
    }
}
.lower-service__grid-img {
    grid-area:imgWrapper
}
.lower-service__grid-img img {
    height:100%
}
.lower-service__grid-title {
    align-self:end;
    font-size:clamp(1.125rem,.4798387097rem + 1.3440860215vw,1.75rem);
    font-weight:500;
    grid-area:title;
    letter-spacing:2.52px;
    line-height:40px;
    text-decoration:underline;
    text-decoration-color:#c9c9c9;
    text-decoration-thickness:.5px;
    text-underline-offset:16px
}
@media screen and (max-width:767px) {
    .lower-service__grid-title {
        font-size:20px;
        text-underline-offset:8px
    }
}
.lower-service__grid-text {
    font-size:clamp(.75rem,.4919354839rem + .5376344086vw,1rem);
    grid-area:text;
    letter-spacing:.16px;
    line-height:30px
}
@media screen and (max-width:767px) {
    .lower-service__grid-text {
        font-size:16px
    }
}
.service {
    background-color:#eaeae9
}
.service__inner {
    display:flex;
    gap:clamp(.875rem,-.2862903226rem + 2.4193548387vw,2rem);
    margin:0 auto;
    max-width:1220px;
    padding:112px 60px;
    width:100%
}
@media screen and (max-width:1100px) {
    .service__inner {
        padding:82px 60px 60px
    }
}
@media screen and (max-width:767px) {
    .service__inner {
        flex-direction:column;
        gap:10px;
        padding:40px 20px
    }
}
.service__sectiontitle {
    font-weight:500
}
.service__sectiontitle span {
    display:block;
    text-align:start
}
@media screen and (max-width:767px) {
    .service__sectiontitle span {
        text-align:center
    }
}
.service__sectiontitle :nth-child(1) {
    color:#777;
    font-family:"Cormorant Garamond",sans-serif;
    font-size:clamp(.875rem,.7459677419rem + .2688172043vw,1rem);
    padding-top:25px;
    position:relative
}
.service__sectiontitle :nth-child(1)::before {
    background-image:url(../img/Line.svg);
    background-repeat:no-repeat;
    background-size:contain;
    content:"";
    height:12px;
    left:50%;
    position:absolute;
    top:8px;
    transform:translateX(-50%);
    width:12px
}
@media screen and (max-width:767px) {
    .service__sectiontitle :nth-child(1) {
        font-size:14px;
		line-height: 1.7!important;
        margin:0 auto;
        padding:0 0 0 10px;
        width:-moz-fit-content;
        width:fit-content
    }
    .service__sectiontitle :nth-child(1)::before {
        height:6px;
        left:0;
        top:50%;
        transform:translate(0,-50%);
        width:6px
    }
}
.service__sectiontitle :nth-child(2) {
    font-size:clamp(1.25rem,.9919354839rem + .5376344086vw,1.5rem);
    letter-spacing:11.16px;
    line-height:34px;
    margin-right:16px
}
@media screen and (max-width:1100px) {
    .service__sectiontitle :nth-child(2) {
        margin-right:8px
    }
}
@media screen and (max-width:767px) {
    .service__sectiontitle :nth-child(2) {
        font-size:18px;
        letter-spacing:4.16px;
        line-height:24px;
        margin:0
    }
}
.service__sectiontitle {
    writing-mode:vertical-rl
}
@media screen and (max-width:767px) {
    .service__sectiontitle {
        writing-mode:unset
    }
}
.service__grid {
    display:grid;
    gap:clamp(1.875rem,.7137096774rem + 2.4193548387vw,3rem);
    grid-template-areas:"imgWrapper textarea";
    grid-template-columns:clamp(17.75rem,-.5725806452rem + 38.1720430108vw,35.5rem) auto
}
@media screen and (max-width:767px) {
    .service__grid {
        gap:10px;
        grid-template-areas:"imgWrapper" "textarea";
        grid-template-columns:auto;
        margin:0 auto;
        max-width:400px;
        text-align:right
    }
}
.service__grid-img {
    grid-area:imgWrapper
}
.service__grid-textarea {
    grid-area:textarea;
    padding-top:clamp(.0625rem,-3.0987903226rem + 6.5860215054vw,3.125rem)
}
@media screen and (max-width:767px) {
    .service__grid-textarea {
        padding-top:0
    }
}
.service__grid-text {
    font-size:clamp(.875rem,.7459677419rem + .2688172043vw,1rem);
    line-height:24px
}
@media screen and (max-width:767px) {
    .service__grid-text {
        font-size:14px;
		line-height: 1.7!important;
        line-height:16px;
        text-align:left
    }
}
.service__grid-link {
    font-size:clamp(.75rem,.6209677419rem + .2688172043vw,.875rem);
    letter-spacing:1.4px;
    padding:8px 52px 8px 0;
    position:relative;
    top:clamp(.75rem,-.0241935484rem + 1.6129032258vw,1.5rem)
}
.service__grid-link::before {
    background:#5e5e5e;
    content:"";
    display:block;
    height:1px;
    left:0;
    position:absolute;
    top:35px;
    transform-origin:right bottom;
    width:100%
}
.service__grid-link::after {
    background-image:url(../img/arrow-right.svg);
    background-repeat:no-repeat;
    background-size:contain;
    content:"";
    height:20px;
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:20px
}
@media screen and (max-width:767px) {
    .service__grid-link {
        padding: 5px 30px 5px 0;
        margin-top: 30px;
        display: inline-block;
        top: 0px;
        width: auto;
    }
}
.sidebar {
    line-height:32px;
    width:144px
}
@media screen and (max-width:767px) {
    .sidebar {
        margin:0 auto;
        text-align:center;
        width:200px
    }
}
.sidebar__title {
    border-bottom:.5px solid #777;
    padding-bottom:8px
}
@media screen and (max-width:767px) {
    .sidebar__title {
        padding-bottom:4px
    }
}
.sidebar__lists {
    display:flex;
    flex-direction:column;
    font-weight:600;
    gap:12px
}
.sidebar__lists :first-child {
    margin-top:12px
}
.single__inner {
    display:flex;
    justify-content:space-between;
    margin:0 auto;
    max-width:1278px;
    padding:160px 60px;
    padding:160px 60px 150px;
    position:relative
}
@media screen and (max-width:1100px) {
    .single__inner {
        padding:130px 30px 120px
    }
}
@media screen and (max-width:767px) {
    .single__inner {
        padding:100px 20px;
        flex-direction:column;
        gap:100px;
        justify-content:center
    }
}
.single__article {
    max-width:min(70.4225352113vw,900px);
    padding-bottom:130px;
    position:relative
}
@media screen and (max-width:767px) {
    .single__article {
        margin:0 auto;
        padding-bottom:80px
    }
}
.single__article :first-child {
    margin-top:0
}
.single__article :last-child {
    margin-bottom:0
}
.single__article a {
    color:#00f;
    text-decoration:underline
}
.single__article p {
    margin-top:24px
}
.single__article div {
    display:block;
    height:420px;
    margin-top:20px;
    width:100%
}
@media screen and (max-width:767px) {
    .single__article div {
        height:210px
    }
}
.single__article figure,.single__article h1+p,.single__article h2+p,.single__article h3+p,.single__article h4+p,.single__article h5+p,.single__article h6+p {
    margin-top:20px
}
@media screen and (max-width:767px) {
    .single__article h1+p,.single__article h2+p,.single__article h3+p,.single__article h4+p,.single__article h5+p,.single__article h6+p {
        margin-top:16px
    }
}
.single__article h1,.single__article h2,.single__article h3,.single__article h4,.single__article h5,.single__article h6 {
    border-bottom:1px solid #c9c9c9;
    font-weight:500
}
.single__article h2 {
    font-size:24px;
    letter-spacing:1.36px;
    margin-top:60px;
    padding-bottom:16px
}
@media screen and (max-width:767px) {
    .single__article h2 {
        font-size:18px;
        margin-top:50px;
        padding-bottom:10px
    }
}
.single__article h3 {
    font-size:20px;
    letter-spacing:1.6px;
    margin-top:40px;
    padding-bottom:14px
}
@media screen and (max-width:767px) {
    .single__article h3 {
        font-size:16px;
        letter-spacing:1.28px
    }
}
.single__article h4 {
    font-size:18px;
    letter-spacing:1.28px;
    margin-top:40px;
    padding-bottom:12px
}
@media screen and (max-width:767px) {
    .single__article h4 {
        font-size:14px;
		line-height: 1.7!important;
        letter-spacing:1.12px
    }
}
.single__article h5 {
    font-size:18px;
    letter-spacing:1.28px;
    margin-top:40px;
    padding-bottom:12px
}
@media screen and (max-width:767px) {
    .single__article h5 {
        font-size:14px;
		line-height: 1.7!important;
        letter-spacing:1.12px
    }
}
.single__article h6 {
    font-size:18px;
    letter-spacing:1.28px;
    margin-top:40px;
    padding-bottom:12px
}
@media screen and (max-width:767px) {
    .single__article h6 {
        font-size:14px;
		line-height: 1.7!important;
        letter-spacing:1.12px
    }
}
.single__article ul {
    list-style-type:disc;
    margin-left:20px;
    margin-top:20px;
    padding-left:10px
}
@media screen and (max-width:767px) {
    .single__article ul {
        margin-left:18px;
        margin-top:12px
    }
}
.single__article ol {
    list-style-type:decimal;
    margin-left:20px;
    margin-top:20px;
    padding-left:10px
}
@media screen and (max-width:767px) {
    .single__article ol {
        margin-left:18px;
        margin-top:12px
    }
}
.single__article li {
    font-size:16px;
    margin-block:.4em
}
.single__backtext {
    bottom:0;
    height:auto!important;
    left:0;
    margin-top:0!important;
    position:absolute;
    width:auto!important
}
.single__backarchive {
    color:#333!important;
    padding-left:60px;
    position:relative;
    text-decoration:none!important
}
.single__backarchive::before {
    background:#5e5e5e;
    content:"";
    display:block;
    height:1px;
    left:0;
    position:absolute;
    top:35px;
    transform-origin:right bottom;
    width:100%
}
.single__backarchive::after {
    background-image:url(../img/arrow-left.svg);
    background-repeat:no-repeat;
    background-size:contain;
    content:"";
    height:20px;
    left:0;
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:20px
}
@media screen and (max-width:767px) {
    .single__backarchive {
        padding:5px 30px 5px 0;
        top:10px;
        width:100%
    }
}


/* トップページ用の初期非表示CSS（JSとの併用） */
body.home .header {
    display: none;
	transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
}



.translated-ltr .about__contents{
	    writing-mode: inherit!important;
}
.translated-ltr .about__inner{
	flex-direction: column!important;
}
.translated-ltr .about__sectiontitle{
	writing-mode: inherit!important;
}
.translated-ltr .about__sectiontitle :nth-child(2){
	letter-spacing: 2px!important;
}
.translated-ltr .about__text{
	letter-spacing: 2px!important;
}
.translated-ltr{
}
.translated-ltr{
}
.translated-ltr .about__contents .about__contents-title{
	writing-mode: inherit!important;
}
.translated-ltr .about__contents .about__contents-title{
	writing-mode: inherit!important;
}
.translated-ltr .about__contents .about__contents-title{
	writing-mode: inherit!important;
}
.translated-ltr .about__contents .about__contents-title{
	writing-mode: inherit!important;
}



.lower-service__grid-title{
	text-decoration: none;
}


.company__info-term{
	width: 150px;
}
.company__info-description{
    position: relative;
    flex-shrink: 0;
    left: 0;
}


#js-about-swiper{
	max-height: 370px;
}