@charset "UTF-8" ;
/* -------------------
common
--------------------- */
:root {
    --primary-black: #3e3e3e;
    --primary-gray: #f3f3f3;
    --contentWidth: 77.6%;
    --contentPadding: 11.2%;
}

/* -------------------
header
--------------------- */
.header {
    position: absolute;
    top: 0;
    left: 0;
    background-color: transparent;
    z-index: 10;
}

body.page-id-14 .header__topic,
body.page-id-28 .header__topic {
    display: block;
    font-family: "Cormorant Garamond";
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 121%;
    text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25); 
    padding-top: 2rem;
    padding-left: 3.2rem;
    padding-bottom: 1.2rem;
}

body.page-id-14 .header__topic a,
body.page-id-28 .header__topic a {
    color: #fff;
}

body.page-id-14 .headerTxt__item a,
body.page-id-28 .headerTxt__item a {
    color: #fff;
}

body.page-id-14 .headerTxtLanguage__EN , body.page-id-14 .headerTxtLanguage__EN a,
body.page-id-28 .headerTxtLanguage__EN , body.page-id-28 .headerTxtLanguage__EN a{
    color: #fff;
}

body.page-id-14 .headerTxtLanguage__JP , body.page-id-14 .headerTxtLanguage__JP a,
body.page-id-28 .headerTxtLanguage__JP , body.page-id-28 .headerTxtLanguage__JP a {
    color: #fff;
}

body.page-id-14 .btnNoarrow,
body.page-id-28 .btnNoarrow {
    color: #fff;
}

body.page-id-14 .headerTxtIcon__item img,
body.page-id-28 .headerTxtIcon__item img {
    display: none;
}

body.page-id-14 .headerTxtIcon__item--white img,
body.page-id-28 .headerTxtIcon__item--white img {
    display: flex;
    text-align: center;
}

/* contact pc */
@media screen and (min-width: 769px) {
    body.page-id-14 .header__topic,
    body.page-id-28 .header__topic {
        display: none;
    }

    body.page-id-14 .headerTxt__topic a,
    body.page-id-28 .headerTxt__topic a {
        color: #fff;
    }
}

@media screen and (min-width: 1024px) {
    .headerTxt {
        width: 100vw;
    } 

    body.page-id-14 .headerTxt__topic a,
    body.page-id-28 .headerTxt__topic a {
        color: #fff;
    }

    body.page-about .headerTxt {
        width: 100vw;
    }

    body.page-about .headerTxt__list a {
        color: white;
    }

    body.page-about .headerTxtIcon a {
        color: white;
    }
    
    .headerTxtIcon__item {
        width: 2.4rem;
        height: auto;
    } 
}
    
/* -------------------
mainImage
--------------------- */
.section--aboutMainImage{
    width: 100%;
    height: 100dvh;
    position: relative;
}

.section--aboutMainImageEN{
    width: 100%;
    height: 100dvh;
    position: relative;
}

.mainImage__topic {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFF;
    font-family: "Cormorant Garamond";
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 120%;
    text-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}

/* mainImage pc */
@media screen and (min-width: 769px) {
    .mainImage__topic {
        font-size: 4rem;
        font-weight: 500;
        line-height: 100%;
    }
}
/*  pc 769px */

/* -------------------
about
--------------------- */
.section--about {
    padding: 16rem 11.2% 9.2rem;
}

.aboutTopic {
    font-family: "Cormorant Garamond";
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 200%;
    letter-spacing: 0.1rem;   
    margin: 0 auto; 
    max-width: 104rem;
    position: relative;
}

.aboutTopic::before {
    content: "";
    display: block;
    width: 14.2rem;
    height: 14.2rem;
    background-image: url(../images/about_decoration.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: -14.2rem;
    right: -2.8rem;
}

.aboutContents{
    margin: 3.6rem auto 0;
    max-width: 104rem;
}

.aboutContents__txt{
    margin-top: 3.2rem;
    font-size: 14px;
    font-weight: 400;
    line-height: 220%;    
}

.aboutImages{
    position: relative;
    width: 100%;
    height: 55.9rem;
    margin-top: 10rem;
}

.aboutImages__img01 {
    display: block;
    width: 68.7%; /* 68.7% 20rem*/
    max-width: 20rem;
    height: auto;
    position: absolute;
    top: 0;
    left: -2.4%;
}

.aboutImages__img02 {
    display: block;
    margin-top: 2.9rem;
    width: 37.1%; /* 37.1% 10.8rem*/
    max-width: 10.8rem;
    height: auto;
    position: absolute;
    bottom: 22.2rem;
    left: 13%;
}

.aboutImages__img03 {
    display: block;
    margin-top: 2.9rem;
    width: 52.5%; /* 52.5% 15.3rem*/
    max-width: 15.3rem;
    height: auto;
    position: absolute;
    bottom: 13.3rem;
    right: -14.4%;
}

.aboutImages__img04 {
    display: block;
    margin-top: 2.9rem;
    width: 52.5%; /* 52.5% 15.3rem*/
    max-width: 15.3rem;
    height: auto;
    position: absolute;
    bottom: 0;
    left: -14.4%;
}


/* about pc */
@media screen and (min-width: 768px) {
    .section--about {
        padding: 20rem 22.2% 16rem;
    }
    
    .aboutTopic {
        line-height: 120%;
        letter-spacing: 0.1rem;   
        margin: 0 auto; 
        max-width: 80rem;
    }

    .aboutTopic::before {
        width: 18.4rem;
        height: 18.4rem;
    }

    .aboutContents__txt{
        margin-top: 5.3rem;
    }

    .aboutImages{
        height: 54.4rem;
        margin: 14rem auto 0;
    }

    .aboutImages::before {
        width: 19rem;
        height: 27.2rem;
        /* transform: translate(420% ,-120%); */
        position: absolute;
        top: -36.3rem;
        right: -19rem;
    }

    .aboutImages__img01 {
        width: 50.8%; /* 30.5rem; */ 
        left: -20%;
    } 
    
    .aboutImages__img02 {
        margin-top: 4.7rem;
        width: 27.3%; /* 16.4rem; */
        bottom: 0;
        left: -8.6%;
    } 
    
    .aboutImages__img03 {
        margin-top: 3.7rem;
        width: 38.8%; /* 23.3rem; */
        bottom: 28rem;
        right: -36.3%;
    }
    
    .aboutImages__img04 {
        margin-top: 25.2rem;
        width: 38.8%; /* 23.3rem; */
        bottom: 3rem;
        left: 50%;
    } 
}
/*  pc 769px */

/* about pc 1024px */
@media screen and (min-width: 1024px) {
    .aboutImages{
        height: 54.4rem;
        margin-top: 12rem;
        max-width: 104rem;
    }

    .aboutImages__img01 {
        width: 38.1%; /* 30.5rem; */ 
        max-width: 30.6rem;
        left: -15%;
    }
    
    .aboutImages__img02 {
        margin-top: 4.7rem;
        width: 20.6%; /* 16.4rem; */
        max-width: 16.5rem;
        bottom: 0;
        left: -6.6%;
    }
    
    .aboutImages__img03 {
        margin-top: 3.7rem;
        width: 29.2%; /* 23.3rem; */
        max-width: 23.4rem;
        bottom: 28rem;
        right: -15%;
    }
    
    .aboutImages__img04 {
        margin-top: 25.2rem;
        width: 23.3rem; /*　29.2%; */
        max-width: 23.4rem;
        bottom: 4.5rem;
        left: 43.5%;
    }
}
/*  pc 1024px */

/* about pc 2000px */
@media screen and (min-width: 2000px) {
    .aboutImages{
        height: 54.4rem;
        margin-top: 24rem;
        max-width: 104rem;
    }
    .aboutImages__img01 {
        width: 38.1%; /* 30.5rem */ 
        max-width: 32rem;
        left: -15%;
    }
    
    .aboutImages__img02 {
        margin-top: 4.7rem;
        width: 20.6%; /* 16.4rem ; */
        max-width: 16.4rem;
        bottom: 0;
        left: -6.6%;
    }
    
    .aboutImages__img03 {
        margin-top: 3.7rem;
        width: 29.2%; /* 23.3rem ; */
        max-width: 26rem;
        bottom: 28rem;
        right: -15%;
    }
    
    .aboutImages__img04 {
        margin-top: 25.2rem;
        width: 29.2%; /*　23.3rem ; */
        max-width: 26rem;
        bottom: 4.5rem;
        left: 43.5%;
    }
}
/*  pc 2000px */

/* -------------------
feature
--------------------- */
.section--feature {
    /* background-color: var(--primary-gray); */
    padding: 10rem 0;
}

/* .section--featureEN {
    background-color: var(--primary-gray);
    padding: 10rem 0;
} */

.featureContent {
    margin: 0 auto;
}

.featureContent:last-child {
    margin-top: 5.6rem;
}

.featureContent__topic {
    width: 77.6%;
    margin: 0 auto;
    font-family: "Sawarabi Mincho";
    font-size: 1.8rem;
    line-height: 200%;
}

.featureContent__topic01 {
    position: relative;
}

/* あしらい位置調整（和文時） */
.featureContent__topic01::after {
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background-image: url(../images/stump_hashi_1.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 5.6rem;
    left: 13.4rem/* 35.7%; */    
}

/* あしらい位置調整（欧文時） */
body.page-id-28 .featureContent__topic01::after {
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background-image: url(../images/stump_hashi_1.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 5.6rem;
    left: 24rem;
}

.featureContent__topic02 {
    position: relative;
    text-align:right;
}

/* あしらい位置調整（和文時） */
.featureContent__topic02::after {
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background-image: url(../images/stump_hashi_2.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: -0.8rem;
    right: 13.8rem /* 36.8%; */   
}

/* あしらい位置調整（欧文時） */
body.page-id-28 .featureContent__topic02::after {
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background-image: url(../images/stump_hashi_2.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: -0.8rem;
    right: 18rem;
}

.featureImg {
    display: block;
    margin: 2rem auto 0;
    width: 77.6%;
}

.featureImg--right {
    width: 90%;
    margin-right: 0;
}

.featureContent__txt {
    width: 77.6%;
    margin: 2rem auto 4rem;
    font-size: 1.4rem;
    line-height: 220%;
}

/* about pc 768px */
@media screen and (min-width: 768px) {
    .section--feature {
        padding: 14rem 0 14rem;
    }

    .section--featureEN {
        padding: 14rem 0 14rem;
    }

    .featureContent {
        position: relative;
        max-width: 144rem;   
    }

    .featureContent:last-child {
        margin-top: 14.2rem;
        height: 30rem;
    }

    .featureContent__topic {
        width: 32.5%;
        margin-top: 2% ;
        margin-left: 6.9%; /* 10rem */
    }

    .featureContent__topic01 {
        margin-top: 0;
        position: absolute;
        top: 0;
        left: 0;
    }

    .section--feature .featureContent__topic01::after {
        top: 3rem;
        left: 88% ;
    }
    
    .featureContent__topic02 {
        position: absolute;
        margin-top: 0;
        top: 0;
        left: auto;
        right: 5%;
    }

    .featureContent__txt {
        display: flex;
        width: 40%;
        max-width: 50rem;
        margin: 0 auto;
        position: absolute;
        top: 8rem;
        left: 5rem;
    }

    .featureContent__txt--printing {
        position: absolute;
        width: 44%;
        max-width: 50rem;
        top: 30%;
        left: 52%;
    }
    
    .spBr {
        display: none;
    }
    
    .featureImg {
        display: flex;
        margin-top: 0;
        margin-left: 6.9%; /* 10rem */
        width: 38.8%;
    }
    
    .featureImg--right {
        width: 48.8%;
        margin: 0 0 0 auto;
    }

/*     
    .featureContent:last-of-type .featureContent__txt{
        width: 31.8%;
        max-width: 50rem;
        margin: 0 auto;
        top: 15.2rem;
        left: auto;
        right: 20rem;
    } */
}
/*  pc 769px */

/* about pc 1024px */
@media screen and (min-width: 1024px) {
    .featureContent {
        position: relative;
    }

    .featureContent__txt {
        display: flex;
        width: 32%;
        max-width: 40rem;
        margin: 0 auto;
        position: absolute;
        top: 50%;
        left: 12%;
    }

    .featureContent__txt--printing {
        position: absolute;
        width: 36%;
        max-width: 50rem;
        top: 30%;
        left: 52%;
    }

    .featureContent__topic01 {
        margin-top: 2%;
        position: absolute;
        top: 0;
        left: 0;
    }
    
    /* 欧文時調整 */
    body.page-id-28 .featureContent__topic02 {
        margin-top: 0; 
    }

    .featureContent__topic01::after {
        left: 20rem;    
    }

    .featureContent__topic02 {
        margin-top: 2%;
    } 


}
/*  pc 1024px */