@charset "utf-8";
@media all and (max-width:349px) {
    html {
        font-size: calc(1000vw / 350)
    }
}

body {
    min-width: inherit;
    font-size: 1.4rem
}

.pc {
    display: none !important
}

a[href^="tel:"] {
    cursor: pointer;
    pointer-events: auto
}

#gFooter {
    padding: 3.2rem 0 10.5rem
}

#gFooter .fLogo {
    margin-bottom: 1.8rem;
    width: 17.2rem
}

#gFooter .name {
    font-size: 1.4rem
}

#gFooter .add {
    margin-bottom: 1.9rem;
    font-size: 1.2rem
}

#gFooter address {
    padding-top: 1.5rem;
    margin: 0 2.5rem;
    font-size: 1rem
}

.caption{
    max-width: initial;
    margin: initial;
}
.caption .caption_jp{
    margin-left: 2.5rem;
}

.caption .caption_jp h3 {
    width: calc(100vw - 2.5rem);
}

.comAmazonBox {
    padding: 0 0 0.8rem 2.286vw
}

.comAmazonBox img {
    width: 100%
}

.content {
    margin: 0 2.5rem
}

.headLine01 {
    margin: 0 0 -1.2rem -2.5rem;
    font-size: 7.4rem;
    top: 6rem;
    left: 0;
}

.comInnerBox {
    margin-bottom: 3.2rem
}

.comInnerBox h3 {
    margin-bottom: 1.3rem;
    padding: 0.4rem 0.8rem 0.5rem;
    height: 2.8rem;
    font-size: 1.8rem;
    line-height: 100%;
}

.comInnerBox .ttl {
    font-size: 2rem
}

.comInnerBox .txt {
    font-size: 1.6rem
}

.slideBox .slick-list {
    height: 22rem !important
}

.slideBox .foo img {
    width: 30rem !important;
    height: 22rem
}

.slideBox .foo .slick-slide>div {
    margin: 0 0.6rem;
    width: 30rem !important
}

.slick-dots {
    bottom: -3.5rem !important
}

.slick-dots li {
    margin: 0 0.4rem;
    width: 0.8rem;
    height: 0.8rem
}

.comVisitBox {
    padding: 3.3rem 0 3.2rem;
    background-image: url(../img/index/visit_bg_sp.webp)
}

.comVisitBox::before {
    background-image: url(../img/index/visit_img01_sp.webp)
}

.comVisitBox::after {
    background-image: url(../img/index/visit_img02_sp.webp)
}

.comVisitBox::after,
.comVisitBox::before {
    width: 14rem;
    height: 8.8rem
}

.comVisitBox .title {
    margin-bottom: 1.4rem;
    font-size: 2.4rem;
    line-height: 1.5
}

.comVisitBox .title span {
    font-size: 1.8rem
}

.comBtn {
    margin: 0 auto;
    width: 30rem;
    box-shadow: 0 0.4rem 1.6rem 0 rgba(93, 68, 54, 0.20)
}

.comBtn span {
    width: 29.2rem;
    font-size: 1.6rem;
    background-position: right 1.5rem center
}

.fixedBox {
    padding: 2.7rem 0 0.8rem;
    min-height: 91px
}

.fixedBox .comBtn {
    margin: 0 auto;
    width: 33.4rem
}

.fixedBox .comBtn a {
    min-height: 5.6rem
}

.fixedBox .comBtn span {
    width: 32.6rem;
    min-height: 4.8rem;
    font-size: 1.8rem;
    background-position: right 1.9rem center
}

.fixedBox .innerBox .text {
    padding: 0 0 0.3rem;
    min-width: 24rem
}

.mainVisual {
    position: relative;
    height: auto !important;
}
.mainVisual .container {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%;
    padding: calc(10vw / 350 * 100) 0 0;
}
.mainVisual .container .logo {
    width: calc(110vw / 350 * 100);
    margin: 0 auto calc(20vw / 350 * 100);
}
.mainVisual .container .ttl {
    font-size: calc(30vw / 350 * 100);
    line-height: 1.4;
    margin: 0 0 calc(270vw / 350 * 100);
    text-align: center;
}
.mainVisual .container .txt {
    width: calc(330vw / 350 * 100);
    margin: 0 0 calc(12vw / 350 * 100) auto;
    position: relative;
}
.mainVisual .container .btn {
    width: calc(326vw / 350 * 100);
    padding: calc(4vw / 350 * 100);
    margin: 0 auto;
}
.mainVisual .container .btn a {
    border: calc(1vw / 350 * 100) solid #fff;
    min-height: calc(52vw / 350 * 100);
    padding: 0 0 calc(2vw / 350 * 100);
    position: relative;
    background: url(../img/common/icon03.webp) no-repeat right calc(20vw / 350 * 100) center / calc(16vw / 350 * 100);
}
.mainVisual .container .btn a span {
    font-size: calc(20vw / 350 * 100);
}

.mainVisual .container .gift_10000 {
    position: absolute;
    bottom: 100%;
    margin-bottom: 10px;
    right: 5%;
    width: 50%;
    max-width: 300px;
}

#main .trouble {
    padding: 5rem 0 29.7rem;
    background: linear-gradient(180deg, #EFECEB 34.98%, #FFF 100%)
}

#main .trouble::after {
    background-image: url(../img/index/trouble_bg_sp.webp)
}

#main .trouble h2 {
    margin-bottom: 5.6rem;
    font-size: 3.2rem;
    line-height: 1.6;
    border: none
}

#main .trouble h2 span {
    padding-bottom: 0.2rem;
    display: inline-block;
    border-bottom: 0.1rem solid #000
}

#main .trouble .textList {
    margin: -2.4rem 0 5.9rem;
    position: relative;
    z-index: 2;
    display: block
}

#main .trouble .textList li {
    padding: 1.7rem 2rem 1.6rem 4rem;
    margin: 2.4rem auto 0;
    width: auto;
    height: auto;
    justify-content: flex-start;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.6
}

#main .trouble .textList li:not(:nth-child(3n)) {
    margin-right: 0
}

#main .trouble .textList .icon {
    width: 2.8rem;
    top: -0.8rem;
    left: -0.8rem
}

#main .trouble .text {
    position: relative;
    font-size: 2.6rem;
    line-height: 1.6
}

#main .trouble .text::after {
    width: 34.5rem;
    height: 37.2rem;
    position: absolute;
    z-index: -1;
    top: -11.5rem;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    background: url(../img/index/trouble_img01_sp.webp) no-repeat left top;
    background-size: 100%
}

#main .trouble .text span {
    font-size: 2.2rem
}

#main .design {
    padding: 6rem 0 0;
}

#main .design .photoBox {
    width: auto
}

#main .design .photoBox img {
    width: 100%
}

#main .design .comInnerBox {
    margin-left: 2.5rem;

}

#main .design .imgBox {
    display: block
}

#main .design .imgBox:not(:last-of-type) {
    margin-bottom: 18.4rem
}

#main .design .imgBox01 {
    margin-left: -2.5rem
}

#main .design .imgBox02,
#main .design .imgBox03 {
    margin-bottom: 19rem !important
}

#main .design .imgBox04 {
    margin-right: -2.5rem
}

#main .design .imgBox04 .inner {
    margin-left: -0.1rem
}

#main .design .imgBox01 .photoBox,
#main .design .imgBox04 .photoBox {
    max-width: 89.6rem
}

#main .design .imgBox .photoBox::after {
    background-size: cover
}

#main .design .imgBox01 .photoBox::after,
#main .design .imgBox02 .photoBox::after,
#main .design .imgBox03 .photoBox::after,
#main .design .imgBox04 .photoBox::after {
    width: auto !important;
    height: auto !important
}

#main .design .imgBox01 .photoBox::after {
    left: 2.5rem;
    right: -2.5rem;
    top: 8.8rem;
    bottom: -6.6rem
}

#main .design .imgBox02 .photoBox::after {
    left: -1.6rem;
    right: 6.2rem;
    top: 5.6rem;
    bottom: -1.6rem
}

#main .design .imgBox03 .photoBox::after {
    left: 6.2rem;
    right: -1.6rem;
    top: 5.6rem;
    bottom: -1.6rem
}

#main .design .imgBox04 .photoBox::after {
    top: 8.8rem;
    bottom: -6.6rem;
    left: -7.143vw;
    right: 2.5rem
}

#main .design .imgBox .textBox {
    top: auto
}

#main .design .imgBox01 .textBox {
    bottom: -15rem
}

#main .design .imgBox02 .textBox,
#main .design .imgBox03 .textBox {
    bottom: -13.8rem
}

#main .design .imgBox04 .textBox {
    bottom: -12.5rem
}

#main .design .imgBox .textBox h4 {
    margin-bottom: 0.1rem;
    width: 30.4rem
}

#main .design .imgBox .textBox .ttl {
    margin-bottom: 0.8rem
}

#main .design .imgBox01 .textBox .ttl {
    margin: 0 0 1.6rem 3.3rem
}

#main .design .imgBox02 .textBox .ttl {
    margin-right: 1rem
}

#main .design .imgBox04 .textBox .ttl {
    margin: 0 3.3rem 1.6rem 0
}

#main .design .imgBox .textBox .subTtl {
    font-size: 1.6rem
}

#main .design .imgBox01 .textBox .subTtl {
    margin-left: 2.5rem
}

#main .design .imgBox04 .textBox .subTtl {
    margin-right: 2.5rem
}

#main .floor {
    padding: 6rem 0
}

#main .floor .comInnerBox {
    margin-left: 2.5rem
}

#main .floor .photoBox01 {
    margin-bottom: 2rem;
    width: auto
}

#main .floor .photoBox01 img,
#main .floor .photoBox02 img,
#main .floor .photoBox03 img {
    width: 100%
}

#main .floor .photoBox02 {
    margin: 0 0 7.8rem -2.5rem;
    width: 86.857vw
}

#main .floor .photoBox02 .txt {
    width: 26.9rem;
    padding: 1.7rem 2.4rem;
    font-size: 1.6rem;
    line-height: 1.6;
    right: -4.6rem;
    transform: translateY(81%)
}

#main .floor .photoBox03 {
    margin: 0 -2.5rem;
    width: 100vw
}

#main .hiraya {
    padding: 5.7rem 0 26.3rem
}

#main .hiraya::after {
    background-image: url(../img/index/hiraya_bg_sp.webp)
}

#main .hiraya .comInnerBox {
    margin-left: 2.5rem;
    position: relative;
    z-index: 4
}

#main .hiraya .slideBox {
    margin-bottom: 8.4rem;
    position: relative;
    z-index: 3
}

#main .hiraya .foo img {
    height: 22rem
}

#main .hiraya .text {
    position: relative;
    font-size: 2.4rem;
    line-height: 1.6;
    z-index: 2
}

#main .hiraya .text::after {
    width: 34.5rem;
    height: 37.2rem;
    position: absolute;
    z-index: -1;
    top: -9rem;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    background: url(../img/index/hiraya_img01_sp.webp) no-repeat left top;
    background-size: 100%;
    pointer-events: none
}

#main .home {
    padding: 9.7rem 0 7.9rem
}

#main .home::after {
    background-image: url(../img/index/home_bg01_sp.webp)
}

#main .home h2 {
    margin: 0 auto 2.4rem;
    width: fit-content
}

#main .home h2::after {
    width: 17.2rem;
    height: 5.8rem;
    top: -6.5rem;
    left: -2.2rem;
    background-image: url(../img/index/home_img01_sp.webp)
}

#main .home .midImg {
    margin-bottom: 2rem;
    padding: 3.2rem 0 2.4rem
}

#main .home .text {
    margin-bottom: 4rem;
    padding: 0 1rem;
    font-size: 1.6rem
}

#main .home .line {
    margin-bottom: 4rem
}

#main .home h3 {
    margin-bottom: 2rem;
    font-size: 2rem
}

#main .home .photoList {
    margin: -1.2rem auto 4rem;
    width: 31.3rem
}

#main .home .photoList li {
    margin-top: 1.2rem;
    width: 15.2rem
}

#main .home .photoList li:not(:nth-of-type(4n)) {
    margin-right: 0
}

#main .home .photoList li:not(:nth-of-type(2n)) {
    margin-right: 0.9rem
}

#main .home .photoList li:nth-of-type(2n-1) {
    margin-left: -0.3rem
}

#main .home .subText {
    font-size: 2.4rem
}

#main .reason {
    padding: 4.8rem 0 4rem
}

#main .reason .textBox {
    flex: 1;
    width: 24.5rem
}

#main .reason .ttl {
    margin-bottom: 2.5rem;
    font-size: 3.2rem
}

#main .reason .txt {
    font-size: 1.6rem
}

#main .reason h2 {
    margin: 1.2rem 2.8rem 0 0;
    padding: 1.3rem 0.3rem 0.5rem 0.2rem;
    width: 2.75rem;
    font-size: 1.6rem;
    letter-spacing: 0.6rem
}

#main .reason h2::after {
    height: 22.4rem;
    top: 15rem
}

#main .reward {
    padding: 1.5rem 0 1.6rem
}

#main .reward .photoBox {
    text-align: center;
    width: auto
}

#main .promise {
    padding: 4rem 0 18.2rem;
    border-bottom: 0.1rem solid #FFF;
    background: #F9F7E6 url(../img/index/promise_bg_sp.webp) no-repeat bottom center / 100%
}

#main .promise h2 {
    margin-bottom: 1.5rem;
    font-size: 2.4rem
}

#main .promise .photoBox {
    text-align: center;
    width: auto
}

#main .tour {
    padding: 6rem 0 0.6rem
}

#main .tour h2 {
    margin: 0 auto 2.8rem;
    width: 30rem;
    font-size: 3.2rem
}

#main .tour h2::before {
    width: 10.5rem;
    height: 10.7rem;
    left: -4.2rem;
    transform: translateY(-87%);
    background-image: url(../img/index/tour_img01_sp.webp)
}

#main .tour h2::after {
    width: 4.2rem;
    height: 6.4rem;
    right: -1.5rem;
    transform: translateY(24%);
    background-image: url(../img/index/tour_img02_sp.webp)
}

#main .tour .text {
    margin-bottom: 2.6rem;
    font-size: 1.6rem
}

#main .tour .text span {
    margin-bottom: 2.7rem
}

#main .tour .bgBox {
    margin-bottom: 1.6rem;
    padding: 2rem;
    width: auto
}

#main .tour .bgBox h3 {
    padding: 0.3rem 1rem 0.1rem;
    margin-bottom: 2.6rem;
    font-size: 2.4rem;
    letter-spacing: -0.048rem
}

#main .tour .bgBox .textList {
    margin: -1.1rem 0 0;
    display: block
}

#main .tour .bgBox .textList li {
    padding-left: 4rem;
    margin-top: 1.1rem;
    width: auto !important;
    font-size: 1.8rem;
    background-size: 2.8rem
}

#main .tour .subText {
    margin-bottom: 3.8rem;
    padding: 0 1rem;
    font-size: 2rem
}

#main .tour .content>h3 {
    margin-bottom: 6.5rem;
    padding: 2.5rem 1rem 2rem;
    font-size: 2rem;
    line-height: 1.4
}

#main .tour .content>h3 .txt {
    margin: 0;
    display: block;
    font-size: 2.8rem
}

#main .tour .content>h3 .num {
    font-size: 3.6rem
}

#main .tour .flowList {
    margin: -3.2rem 0 4.8rem;
    display: block
}

#main .tour .flowList li {
    margin-top: 3.2rem;
    width: auto
}

#main .tour .flowList li:not(:nth-of-type(3n)) {
    margin-right: 0
}

#main .tour .flowList li:not(:nth-of-type(3n)) .textBox::after {
    display: none
}

#main .tour .flowList .photoBox {
    margin: 0 auto 1.2rem;
    width: 30rem
}

#main .tour .flowList .textBox {
    padding: 0.8rem 1.4rem;
    min-height: 4.2rem
}

#main .tour .subImg {
    width: 100%;
    max-width: 31rem
}

#main .exhibition h2 {
    padding: 1.2rem 2.5rem 1.3rem;
    text-align: left;
    font-size: 1.8rem;
    letter-spacing: 0.09rem;
    background: #5D4436 url(../img/common/icon07.webp) no-repeat center right 2.5rem / 1.4rem
}

#main .exhibition h2 span {
    width: auto;
    font-size: 2.4rem;
}

#main .exhibition h2 span small {
    font-size: 1.6rem;
}

#main .exhibition h2 span small::after {
    display: none;
}

#main .exhibition h2 span::after {
    display: none;
}

#main .exhibition h2.on {
    background-image: url(../img/common/icon08.webp)
}

#main .exhibition .innerBox {
    padding: 2.5rem 0 2.4rem
}

#main .exhibition .slideBox {
    margin-bottom: 4.8rem
}

#main .exhibition .slideBox .slick-list {
    height: 20rem !important
}

#main .exhibition .slideBox .slick-dots {
    bottom: -3.2rem !important
}

#main .exhibition h3 {
    margin: 0 2rem 0.3rem 2.5rem;
    text-align: left;
    font-size: 2rem
}

#main .exhibition .ttl {
    margin: 0 2rem 2rem 2.5rem;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.5
}

#main .exhibition .add {
    padding: 1.2rem 2rem;
    margin: 0 2.5rem 2rem;
    width: auto;
    text-align: left;
    font-size: 1.4rem
}

#main .comVisitBox01 {
    padding: 4rem 0
}

#main .comVisitBox01 .comBtn {
    margin-bottom: 3.9rem
}

#main .comVisitBox01 .textBox {
    padding-top: 3.9rem
}

#main .comVisitBox01 h3 {
    margin-bottom: 1.8rem;
    font-size: 1.6rem;
    text-align: left
}

#main .comVisitBox01 .textList {
    margin-top: -0.75rem;
    font-size: 1.4rem
}

#main .comVisitBox01 .textList,
#main .comVisitBox01 .textList01 {
    width: auto
}

#main .comVisitBox01 .textList:not(:last-of-type) {
    margin-bottom: 1.5rem
}

#main .comVisitBox01 .textList>li {
    margin-top: 0.75rem;
    padding-left: 1.6rem;
    text-indent: -1.8rem
}

#main .comVisitBox01 .innerBox {
    display: block
}

#main .comVisitBox01 .subList {
    margin-left: 2rem
}

#main .comVisitBox01 .subList li {
    line-height: 1.56
}

#main .comVisitBox01 .subList li::before {
    width: 0.3rem;
    height: 0.3rem;
    top: 1rem
}

#main .exhibition h2 .kagoshima {
    left: 0;
}

#main .lastly {
    text-align: center;
    font-size: 1.6rem;
    padding: 2rem 0;
    background: url(../img/index/bg_lastly.webp) no-repeat center bottom / cover !important;
}

#main .lastly .inner_Box {
    margin: 0 auto;
    max-width: 31rem;
    background: #fff;
    text-align: center;
    font-size: 1.6rem;
    padding: 4rem 2.4rem 0.4rem;
}

#main .lastly .ttl {
    color: #306437;
    font-size: 3.2rem;
    border-bottom: 1px solid #306437;
    padding-bottom: 2.8rem;
    margin: 0 auto 2.8rem;
}

#main .lastly .txt {
    line-height: 160%;
    padding: 0 0 3.6rem;
}

#main .lastly .txt span {
    color: #306437;
    font-weight: 700;
}

#main .faq {
    margin: 0 auto;
}

#main .faq .comVisitBox {
    border-bottom: 1px solid #A3A7AC;
    padding-bottom: 3.3rem;

}
#main .faq .content{
    margin: 0 2.5rem;
}


#main .faq .ttl {
    text-align: center;
    font-size: 4.8rem;
    font-weight: bold;
}

.faq {
    padding: 9rem 0 6rem;
}

.faq__list {
    padding: 3rem 0 0;
}

.faq__item__ttl {
    font-size: 1.6rem;
    line-height: 1.4;
    padding: 2rem 3rem 2rem 4.7rem;
}

.faq__item__ttl::before {
    top: 50%;
    transform: translateY(-50%);
}

.faq__item__ttl::after {
    top: 50%;
    transform: translateY(-50%) rotate(-135deg);
}

.faq__item__ttl.active::after {
    top: 52%;
    transform: translateY(-50%) rotate(45deg);
}

.faq__item__txt {
    padding: 2rem 0 2rem 4.7rem;
    line-height: 1.4;
}
.faq__item__txt .note {
    font-size: 1rem;
    padding-top: 2.3rem;
}

.company{
    background: #FAF2E6;
}
.company .content{
    padding: 4rem 2.5rem;
    font-weight: 300;
}
.company .content h3{
    font-size: 1.6rem;
    font-weight: 500;
}
.company .content ul{
    line-height: 200%;
}
.company .content ul .subList{
    list-style-type: disc;
    line-height:    160%;
}
.company .content ul .subList li{
        position: relative;
        left: 2rem;
}

.flexC {
    justify-content: left;
    gap: 0;
}

@media all and (min-width:600px) and (max-width:896px) {
    /* .mainVisual {
        margin-bottom: -0.1rem
    } */

    #main .floor .photoBox02 .txt {
        top: 65%
    }

    #main .home {
        padding-bottom: 20rem
    }

    #main .hiraya {
        padding-bottom: 43%
    }
}

/* .pad .mainVisual {
    padding-top: 2rem;
    margin-bottom: 0 !important;
    height: auto !important;
    min-height: inherit !important;
    background: url(../img/index/main_bg.webp) no-repeat center bottom / cover !important;
    align-items: flex-end !important
}

.pad .mainVisual .photo {
    max-width: 144rem !important
}

.pad .mainVisual img.pc {
    display: block !important
}

.pad .mainVisual img.sp {
    display: none !important
} */

#main .exhibition .comBtn {
    box-shadow: 0 0.4rem 1.6rem 0 rgba(93, 68, 54, 0.20);
    border-radius: 0.4rem;
    width: 30rem;
    height: 4.8rem;
}

#main .exhibition .comBtn span {
    position: relative;
    border: none;
    width: 32rem;
    height: 4.8rem;
    top: -0.6rem;
    right: 1.5rem;
    background:url(../img/common/icon11.webp) no-repeat right 2.4rem center /2.4rem;
    font-size: 1.6rem;
}