@charset "UTF-8";






/*index*/
.index .mainimg {
    height: 90rem;
}
.index .mainimg .slider {
    width: 100%;
    height: inherit;
}
.index .mainimg .slider .pic {
    width: 100%;
    height: inherit;
    position: relative;
}
.index .mainimg .slider *{
    height: inherit;
}
#wrapper .index .mainimg .slider .pic::after {
    content: initial !important;
}
.index .mainimg .slider .pic::after {
    content: "";
    width: 100%;
    height: 100%;
    display: inline-block;
    background: rgba(3, 0, 0, 0.15);
    mix-blend-mode: darken;
    position: absolute;
    left: 0;
    top: 0;
}
.index .mainimg .slider .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 5s linear;
}

/* ズーム */
.index .mainimg .slider.start .slick-current img {
    transform: scale(1.2);
}
@keyframes zoom {
    0% {
        transform: scale(1)
    }
    100% {
        transform: scale(1.2)
    }
}

.index_cnt1 {
    padding: 10rem 0 18rem;/*18rem 0;*/
}
.index_cnt1 .inner {
    max-width: 44.79vw;
    /*86*/
    position: relative;
    z-index: 1;
}
.index_cnt1 .inner h2 {
    margin: 0 0 7rem;
}
.index_cnt1 .inner .ul {
    margin: 0 0 5rem;
}
.index_cnt1 .inner .li {
    display: flex;
    align-items: center;
    gap: 1rem;
    list-style: none;
    text-decoration: underline;
    line-height: 2.66;
}
.index_cnt1 .inner .li::before {
    content: "";
    background: url(/system_panel/uploads/images/icon_libefore.png) no-repeat;
    width: 1.4rem;
    height: 1.5rem;
    display: inline-block;
}
.index_cnt1 .inner>p {
    line-height: 2.66;
}
.index_cnt1 .col2 {
    position: relative;
}
.index_cnt1 .col2 .left {
    width: 24%;
    max-width: 46rem;
    aspect-ratio: 46/34;
    overflow: hidden;
    position: absolute;
    left: 0;
}
.index_cnt1 .col2 .right {
    width: 40.625%;
    max-width: 78rem;
    aspect-ratio: 78/62;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: -14.58vw;
}
.index_cnt1 .col2 :is(.left, .right) .slider2 {
    width: 100%;
    height: 100%;
    position: relative;
}
.index_cnt1 .col2 :is(.left, .right) .slider2 * {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.index_cnt1 .col2 :is(.left, .right) .slider2 .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.index_cnt2 {
    padding: 0;/*11rem 0;*/
    position: relative;
}
.index_cnt2::before {
    content: "";
    width: 55%;
    height: 70%;
    background: #f6f6f6;
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
}
.index_cnt2 .col2 {
    display: flex;
    align-items: center;
    gap: 2.6vw;
}
.index_cnt2 .col2 .left {
    width: 48%;
}
.index_cnt2 .col2 .right {
    width: 52%;
    position: relative;
}
.index_cnt2 .col2 .right .slider2 {
    width: 30rem;
    aspect-ratio: 3/2.35;
    overflow: hidden;
    /*position: absolute;
    left: 0;
    top: ;*/
    margin: 0 0 10rem;
}
.index_cnt2 .col2 .right .slider2 .pic {
    width: 100%;
    aspect-ratio: 3/2.35;
    overflow: hidden;
}
.index_cnt2 .col2 .right .slider2 .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.index_cnt2 .col2 .right>p {
    line-height: 2.66;
}
.index_cnt3 {
    padding: 26rem 0 10rem;
}
.index_cnt3 .pic {
    width: 76%;
    aspect-ratio: 146/43;
    overflow: hidden;
    margin: 0 0 10rem;
}
.index_cnt3 .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.index_cnt3 .inner .col2 {
    display: flex;
    gap: 2.6vw;
    /*5*/
}
.index_cnt3 .inner .col2 .left {
    width: 26%;
}
.index_cnt3 .inner .col2 .right {
    width: 74%;
}
.index_cnt3 .inner .col2 .right p {
    line-height: 2.66;
}
.index_cnt4 {
    padding: 26rem 0 10rem;
}
.index_cnt4 .pic {
    width: 76%;
    aspect-ratio: 146/43;
    overflow: hidden;
    margin: 0 0 10rem auto;
}
.index_cnt4 .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.index_cnt4 .inner .col2 {
    width: calc(100% - 5.2vw);
    display: flex;
    gap: 2.6vw;
    /*5*/
    margin: 0 0 0 auto;
}
.index_cnt4 .inner .col2 .left {
    width: 26%;
}
.index_cnt4 .inner .col2 .right {
    width: 74%;
}
.index_cnt4 .inner .col2 .right p {
    line-height: 2.66;
}
.index_cnt5 {
    padding: 10rem 0 13rem;
}
.index_cnt5 .ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.6vw;
    /*5*/
}
.index_cnt5 .li {
    width: 100%;
    aspect-ratio: 5.8/3.3;
    overflow: hidden;
    filter: grayscale(1);
    font-size: 1.6rem;
}
.index_cnt5 .li:hover {
    filter: grayscale(0);
    transition: 0.5s;
}
.index_cnt5 .li:nth-of-type(1) {
    background: url(/system_panel/uploads/images/index_cnt5_1.jpg) no-repeat center;
    background-size: cover;
}
.index_cnt5 .li:nth-of-type(2) {
    background: url(/system_panel/uploads/images/index_cnt5_2.jpg) no-repeat center;
    background-size: cover;
}
.index_cnt5 .li:nth-of-type(3) {
    background: url(/system_panel/uploads/images/index_cnt5_3.jpg) no-repeat center;
    background-size: cover;
}
.index_cnt5 .li:nth-of-type(4) {
    background: url(/system_panel/uploads/images/index_cnt5_4.jpg) no-repeat center;
    background-size: cover;
}
.index_cnt5 .li p {
    width: 100%;
    height: 100%;
}
.index_cnt5 .li a {
    width: 100%;
    height: 100%;
    display: grid;
    align-content: end;
    color: #fff;
    text-decoration: none;
    padding: clamp(2rem, 2.6vw, 5rem);
}
.index_cnt5 .li a::before {
    content: "";
    display: block;
    font-size: 4rem;
    font-family: "Tenali Ramakrishna", sans-serif;
}
.index_cnt5 .li:nth-of-type(1) a::before {
    content: "GALLERY";
}
.index_cnt5 .li:nth-of-type(2) a::before {
    content: "FLOW";
}
.index_cnt5 .li:nth-of-type(3) a::before {
    content: "PRICE";
}
.index_cnt5 .li:nth-of-type(4) a::before {
    content: "ACCESS";
}
.index_cnt6 {
    padding: 13rem 0 20rem;
}
.index_cnt6 .inner .titleA * {
    text-align: center;
}
.index_cnt6 .inner .webgene-blog {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.5rem;
    margin: 0 auto 5rem;
}
.index_cnt6 .inner .webgene-blog .webgene-item {
    width: 100%;
    aspect-ratio: 1/1;
    overflow: hidden;
    display: grid;
    align-items: center;
    justify-content: center;
    background: #ccc;
}
.index_cnt6 .inner .buttonA {
    margin: auto;
}
.index_cnt7 {
    padding: 10rem 0;
}
.top_news_list {
    overflow-y: auto;
    scrollbar-color: var(--blue_dark) var(--grey);
    max-height: 200px;
    padding: 0 30px 30px 0;
}
.top_news_list .dl {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #000000;
    padding: 20px 20px;
}
.top_news_list .dt {
    width: 170px;
}
.top_news_list .dd {
    width: calc(100% - 170px);
}



/*about*/
.about_cnt1 {
    padding: 13rem 0 10rem;
    position: relative;
}
.about_cnt1::before {
    content: "";
    width: 57.29vw;
    height: 54rem;
    background: #f6f6f6;
    display: inline-block;
    position: absolute;
    left: 0;
    top: 6.77vw;
    /*13*/
    z-index: -1;
}
.about_cnt1 .inner .col2 {
    display: flex;
    align-items: center;
    gap: 2.6vw;
    padding: 4.16vw 0 0;
}
.about_cnt1 .inner .col2 .left {
    width: 55%;
}
.about_cnt1 .inner .col2 .left .catch {
    margin: 0;
}
.about_cnt1 .inner .col2 .left .dl {
    width: 100%;
}
.about_cnt1 .inner .col2 .right {
    width: 45%;
    aspect-ratio: 5.4/3.6;
    overflow: hidden;
}
.about_cnt1 .inner .col2 .right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.about_cnt1 .inner>p {
    line-height: 2.66;
}
.about_cnt1 .inner .grid {
    display: grid;
    align-items: center;
    grid-template-columns: auto auto auto;
    gap: 4.68vw;
    /*9*/
    margin: 0 0 2rem;
}
.about_cnt1 .inner .grid .pic1 {
    width: 14.06vw;
    /*27*/
    min-width: 25rem;
    aspect-ratio: 2.7/3.5;
    overflow: hidden;
    grid-column: 1;
    grid-row: 1;
    margin: 0 0 0 -6.77vw;
    /*13*/
}
.about_cnt1 .inner .grid .pic2 {
    width: 19.79vw;
    /*38*/
    min-width: 30rem;
    aspect-ratio: 3.8/5;
    overflow: hidden;
    grid-column: 3;
    grid-row: 1;
    margin: 0 2.6vw 0 0;
    /*5*/
}
.about_cnt1 .inner .grid [class^="pic"] {}
.about_cnt1 .inner .grid [class^="pic"] img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.about_cnt1 .inner .grid p {
    line-height: 2.66;
    grid-column: 2;
    grid-row: 1;
}
.about_cnt2 {
    padding: 10rem 0;
}
.about_cnt2 .inner .titleA * {
    text-align: center;
}
.about_cnt2 .container {
    width: 100% !important;
    max-width: initial;
    padding: initial;
    margin: 0 auto 7rem;
}
.about_cnt2 .container .slider {
    width: 100%;
}
.about_cnt2 .container .slider .slick-img {
    width: 100%;
    aspect-ratio: 3/2;
    overflow: hidden;
    padding: clamp(1rem, 1.3vw, 2.5rem);
}
.about_cnt2 .container .slider .slick-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.about_cnt2 .container .thumbnail {
    width: 60%;
    margin: auto;
}
.about_cnt2 .container .thumbnail .slick-track {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1rem;
}
.about_cnt2 .container .thumbnail .slick-track::before {
    content: initial !important;
}
.about_cnt2 .container .thumbnail .thumbnail-img {
    width: 100%;
    aspect-ratio: 3/2;
    overflow: hidden;
}
.about_cnt2 .container .thumbnail .thumbnail-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.about_cnt2 .container .thumbnail .slick-slide {
    width: 100% !important;
}
.about_cnt2 .container img {}
.about_cnt2 .inner .figure {
    width: 80%;
    max-width: 100rem;
    margin: auto;
    display: block;
}
.about_cnt2 .inner .figure .pic {
    width: 100%;
    aspect-ratio: 10/6;
    overflow: hidden;
    margin: 0 auto 2rem;
}
.about_cnt2 .inner .figure .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.about_cnt3 {
    padding: 10rem 0;
}
.about_cnt3 .inner .titleA * {
    text-align: center;
}
.about_cnt3 .inner .grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(2rem, 5.2vw, 10rem);
}
.about_cnt3 .inner .grid .figure {
    width: 100%;
}
.about_cnt3 .inner .grid .figure .pic {
    width: 100%;
    aspect-ratio: 3/2;
    overflow: hidden;
    margin: 0 0 1rem
}
.about_cnt3 .inner .grid .figure .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.about_cnt3 .inner .grid .figure .figcaption {
    line-height: 1.6;
}
.about_cnt4 {
    padding: 10rem 0;
}
.about_cnt4 .inner>.titleA * {
    text-align: center;
}
.about_cnt4 .inner .col2 {
    display: flex;
    align-items: center;
    gap: 2.6vw;
    margin: 0 auto 24rem;
}
.about_cnt4 .inner .col2 .left {
    width: 50%;
}
.about_cnt4 .inner .col2 .left .dl {
    width: 100%;
    min-height: 7.5rem;
    border-bottom: 0.1rem solid #ededed;
    display: flex;
    padding: 3rem 0;
}
.about_cnt4 .inner .col2 .left .dt {
    width: 33%;
    color: #bd9e45;
    line-height: 1.5625;
}
.about_cnt4 .inner .col2 .left .dd {
    width: 67%;
    line-height: 1.5625;
}
.about_cnt4 .inner .col2 .left .dd a {
    color: inherit;
}
.about_cnt4 .inner .col2 .right {
    width: 50%;
}
.about_cnt4 .inner .col2 .right iframe {
    width: 100%;
    aspect-ratio: 6/4;
    border: none;
    transform: translate(2.6vw, 0);
}
.about_cnt4 .inner .col2b {
    display: flex;
    align-items: center;
    gap: 2.08vw;
    /*4*/
}
.about_cnt4 .inner .col2b :is(.left, .right) {
    width: 50%;
    aspect-ratio: 5.8/3.3;
    overflow: hidden;
}
.about_cnt4 .inner .col2b :is(.left, .right) a {
    width: 100%;
    height: 100%;
    color: #fff;
    display: grid;
    align-items: end;
    padding: clamp(2rem, 2.6vw, 5rem);
    text-decoration: none;
}
.about_cnt4 .inner .col2b :is(.left, .right) a .titleA {
    margin: 0;
}
.about_cnt4 .inner .col2b :is(.left, .right) a .titleA * {
    text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.7);
}
.about_cnt4 .inner .col2b .left {
    background: url(/system_panel/uploads/images/about_cnt4_1.jpg) no-repeat center;
    filter: grayscale(1);
}
.about_cnt4 .inner .col2b .right {
    background: url(/system_panel/uploads/images/about_cnt4_2.jpg) no-repeat center;
    filter: grayscale(1);
}
.about_cnt4 .inner .col2b :is(.left,.right):hover{
    filter:grayscale(0);
    transition: 0.5s;
}





/*guide*/
.guide_cnt1 {
    padding: 8rem 0;
}
.guide_cnt1 .inner .col2 {
    width: 80%;
    max-width: 102rem;
    display: flex;
    gap: 2rem;
}
.guide_cnt1 .inner .col2 :is(.left, .right) {
    width: 100%;
}
.guide_cnt1 .inner .col2 :is(.left, .right) h4 {
    font-size: 1.7rem;
    text-align: center;
    width: 100%;
    min-height: 5rem;
    background: #f6f6f6;
    border: 0.1rem solid #a4a4a4;
    display: grid;
    align-items: center;
}
.guide_cnt1 .inner .col2 :is(.left, .right) .dl {
    width: 100%;
    min-height: 5rem;
    display: flex;
    align-items: center;
    border-left: 0.1rem solid #a4a4a4;
    border-right: 0.1rem solid #a4a4a4;
    border-bottom: 0.1rem solid #a4a4a4;
    padding: 0 2.6vw;
    /*5*/
}
.guide_cnt1 .inner .col2 :is(.left, .right) .dt {}
.guide_cnt1 .inner .col2 :is(.left, .right) .dd {}
.guide_cnt1 .inner>p {
    line-height: 2.66;
}
.guide_cnt1 .inner>p:first-of-type {
    margin: 0 0 13rem;
}
.guide_cnt2 {
    padding: 9rem 0;
}
.guide_cnt2 .inner>p {
    line-height: 2.66;
    margin: 0 0 6rem;
}
.guide_cnt2 .inner .li {
    line-height: 2.66;
    display: flex;
    gap: 1rem;
    align-items: center;
}
.guide_cnt2 .inner .li::before {
    content: "";
    background: url(/system_panel/uploads/images/icon_libefore.png) no-repeat center;
    width: 1.4rem;
    height: 1.5rem;
    display: inline-block;
}
.guide_cnt3 {
    padding: 9rem 0;
}
.guide_cnt3 .inner .dl {
    width: 100%;
    background: #f6f6f6;
    padding: clamp(2rem, 2.6vw, 5rem);
    position: relative;
}
.guide_cnt3 .inner .dl:not(:last-of-type) {
    margin: 0 0 4rem;
}
.guide_cnt3 .inner .dl:not(:last-of-type)::before {
    content: "";
    width: 0.5rem;
    height: 4rem;
    background: #281514;
    display: inline-block;
    position: absolute;
    left: 3.125vw;
    /*6*/
    bottom: -4rem;
}
.guide_cnt3 .inner .dt {
    display: flex;
    align-items: baseline;
    gap: 2rem;
    font-size: 2.5rem;
    margin: 0 0 5rem;
}
.guide_cnt3 .inner .dt::before {
    content: "";
    color: #bd9e45;
    font-size: 5rem;
    font-family: "Tenali Ramakrishna", sans-serif;
    display: inline-block;
}
.guide_cnt3 .inner .dl:nth-of-type(2) .dt::before {
    content: "01";
}
.guide_cnt3 .inner .dl:nth-of-type(3) .dt::before {
    content: "02";
}
.guide_cnt3 .inner .dl:nth-of-type(4) .dt::before {
    content: "03";
}
.guide_cnt3 .inner .dl:nth-of-type(5) .dt::before {
    content: "04";
}
.guide_cnt3 .inner .dl:nth-of-type(6) .dt::before {
    content: "05";
}
.guide_cnt3 .inner .dl:nth-of-type(7) .dt::before {
    content: "06";
}
.guide_cnt3 .inner .dl:nth-of-type(8) .dt::before {
    content: "07";
}
.guide_cnt3 .inner .dd {
    line-height: 2.66;
    padding: 0 0 0 6rem;
}
.guide .bg1 {
    width: 81.25%;
    height: 50rem;
    margin: 0 0 0 auto;
    background: url(/system_panel/uploads/images/guide_bg1.jpg) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
}
.guide_cnt4 {
    padding: 23rem 0;
}
.guide_cnt4 .inner .set {}
.guide_cnt4 .inner .set:not(:last-of-type) {
    margin: 0 0 9rem;
}
.guide_cnt4 .inner .set h4 {
    font-size: 1.7rem;
    width: 100%;
    min-height: 4.5rem;
    background: #f6f6f6;
    display: grid;
    align-items: center;
    padding: 0 1.5625vw;
    /*3*/
}
.guide_cnt4 .inner .set p {
    line-height: 2.66;
    padding: 0 1.5625vw;
    /*3*/
}





/*cases*/
[class^="cases_"] {
    padding: 10rem 0;
}
[class^="cases_"] h4 {
    font-size: 2.5rem;
    margin: 0 0 5rem;
}
[class^="cases_"] p {
    line-height: 2.66;
}
[class^="cases_"] .slider {
    width: 81.25%;
    margin: 0 0 5rem auto;
}
[class^="cases_"] .slider .pic {
    width: 100%;
    aspect-ratio: 3/2;
    overflow: hidden;
}
[class^="cases_"] .slider .pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.cases button {
    height: 100%;
    position: absolute;
    right: 0;
}
.cases .slick-next::before {
    width: 4.5rem;
    min-width: 4.5rem;
    height: 4.5rem;
    display: grid;
    align-items: center;
    border-radius: 50%;
    background: #bd9e45;
    position: absolute;
    right: 18.75vw;
    /*36*/
    bottom: -2.25rem;
}





/*contact*/
.contact_cnt1 {
    width: 100%;
    padding: 8rem 0;
}

.contact_cnt1 .inner>p {
    line-height: 2.66;
}
.contact_cnt2 {
    width: 100%;
    background: #f6f6f6;
    padding: 8rem 0;
}
.contact_cnt2 .inner .col2 {
    display: flex;
}
.contact_cnt2 .inner .col2 .left {
    width: 37.5%;
}
.contact_cnt2 .inner .col2 .left .tel {
    font-size: 2.8rem;
    margin: 0 0 1rem;
}
.contact_cnt2 .inner .col2 .left .tel a {
    color: inherit;
    text-decoration: none;
}
.contact_cnt2 .inner .col2 .right {
    width: 62.5%;
}
.contact_cnt2 .inner .col2 .right .insta {
    width: fit-content;
    height: 6rem;
}
.contact_cnt2 .inner .col2 .right .insta a {
    width: 100%;
    height: inherit;
    display: flex;
    gap: 1rem;
    align-items: center;
    color: #fff;
    text-decoration: none;
    padding: 0 2em;
    background: #281514;
}
.contact_cnt2 .inner .col2 .right .insta a::before {
    content: "";
    background: url(/system_panel/uploads/images/icon_insta.png) no-repeat;
    width: 2.5rem;
    min-width: 2.5rem;
    height: 2.5rem;
    background-size: cover;
}
.contact_cnt3 {
    padding: 20rem 0 10rem;
}
.contact_cnt3 .inner>p {
    line-height: 2.66;
    margin: 0 0 7rem;
}
.contact_cnt3 .inner p a {
    color: #000;
}
form .dl {
    width: 100%;
    min-height: 6rem;
    display: flex;
    gap: 1rem;
}
form .dl .dt {
    width: 30%;
    min-height: inherit;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0;
    align-self: stretch;
    border-bottom: 0.1rem solid #898989;
}
form .dt .required {
    width: fit-content;
    height: 2rem;
    display: inline-grid;
    align-items: center;
    background: #000;
    font-size: 1.3rem;
    color: #fff;
    padding: 0 0.5rem;
}
form .dl .dd {
    width: 70%;
    padding: 0.5rem 0;
    border-bottom: 0.1rem solid #dedede;
}
form .dl .dd input:nth-of-type(2) {
    margin: 1rem 0 0;
}
form .dl .dd .em {
    margin: 1rem 0 0;
}
form input[type="text"],
form input[type="email"],
form textarea {
    width: 100%;
    height: 5rem;
    background: #f6f6f6;
    border: none;
}
form textarea {
    height: 20rem;
}
form input.zipInput {
    width: 40%;
}
form input[type="text"],
form input[type="email"],
form input[type="checkbox"],
form textarea {
    padding: 0 1em;
}
form select {}
form .dl .dd .selectArea {}
form .dl .dd .selectArea div {
    width: fit-content;
    display: inline-block;
}
form .terms {
    background: #e8e8e8;
    padding: clamp(2rem, 2.08vw, 4rem);
    height: 18rem;
    overflow-y: scroll;
    margin: 5rem 0 5rem 0;
}
form .terms p {
    line-height: 2.35;
}
form .col {

    width: 100% !important;
    display: flex;
    justify-content: center;
    margin: 0 auto 5rem;
}
form .col label {
    width: fit-content;
}
form .privacyLabel {
    width: 100%;
    text-align: center;
}
form button {
    -webkit-appearance: none;
    display: block;
    margin: auto;
}