img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

* {
    padding: 0;
    margin: 0;
    list-style: none;
    letter-spacing: 1px;
}

ol,
ul {
    box-sizing: border-box;
}

a {
    transition: all .1s linear;
    text-decoration: none !important;
    color: #000;
}

html,
body {
    font-size: 16px;
    overflow-x: hidden;
    width: 100%;
    margin: 0;
    padding: 0;
    /* box-sizing: border-box; */
}

body {
    font-family: "Zen Antique", "Zen Kaku Gothic New";

}

h1 {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 4rem;
    line-height: 100%;
    color: #442C16;
}

h2 {
    font-size: 3rem;
    font-family: 'Zen Antique';
    font-weight: 400;
    line-height: 150%;
    color: #FFA000;
}

/*--------------header-----------------*/
@media screen and (min-width: 900px) {
    .pc {
        display: block;
    }

    .sp {
        display: none !important;
    }
}

#service-body {
    scroll-margin-top: 10rem;
}

.main-header {
    width: 100%;
    box-shadow: 0 0 1rem 0rem rgba(0, 0, 0, .1);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
    background: #fff;
}

.header-menu-list {
    display: flex;
    margin: 0 13.5rem 0 0;
    align-items: center;
}

.header-menu-list li:first-child {
    display: flex;
    align-items: center;
}

.header-menu-list h1 a {
    display: block;
    width: auto;
    padding: 1rem;
}

.header-menu-list h1 a img {
    width: 13rem;
}

.header-menu-circle-pc {
    margin: 0 auto 0 0;
}

.header-menu-pc {
    margin: 0 1.5rem 0 0;
}

.header-menu-pc ul,
.header-menu-circle-pc ul {
    display: flex;
    gap: 0.5625rem;
}

.header-menu-circle-pc ul li a,
.header-menu-pc ul li a {
    position: relative;
    padding: 0.75rem;
    display: flex;
    gap: .5rem;
    flex-direction: column;
}

.header-menu-circle-pc ul li a .header-icon-before,
.header-menu-pc ul li a .header-icon-before {
    text-align: center;
    height: auto;
    opacity: 1;
}

.header-menu-circle-pc ul li a .header-icon-before img {
    width: 4.1rem;
}

.header-menu-circle-pc ul li:nth-of-type(2) a .header-icon-before img {
    width: 4.5rem;
}

.header-menu-circle-pc ul li:nth-of-type(3) a .header-icon-before img {
    width: 4.7rem;
}

.header-menu-pc ul li a .header-icon-before img {
    width: auto;
    height: 100%;
}

.header-menu-circle-pc ul li a .header-icon-after,
.header-menu-pc ul li a .header-icon-after {
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translate(-50%, 0);
    height: 2rem;
    opacity: 0;
}

.header-menu-circle-pc ul li a .header-icon-after img,
.header-menu-pc ul li a .header-icon-after img {
    width: auto;
    height: 100%;
}

.header-menu-list-sp ul li a .header-icon-title,
.header-menu-circle-pc ul li a .header-icon-title,
.header-menu-pc ul li a .header-icon-title {
    text-align: center;
    font-size: 1rem;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    color: #442C16;
}

.header-contact-pc {
    position: fixed;
    top: 0;
    right: 0;
}

.header-contact-pc a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #FFA000;
    padding: 1.66rem 1.3rem;
}

.header-contact-pc a .content .icon {
    height: 3rem;
    text-align: center;
    margin: 0 0 .25rem;
}

.header-contact-pc a .content .icon img {
    width: auto;
    height: 100%;
}

.header-contact-pc a .content .contact-title {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 125%;
    text-align: center;
}

.header-menu-list-sp {
    position: fixed;
    top: 5.5rem;
    right: 0;
    width: 20rem;
    padding: 2rem;
    height: calc(100% - 10rem);
    background: rgba(247, 247, 247, .9);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transform: translate(100%, 0);
    transition: all 1s cubic-bezier(1, 0, 0, 1);
}

.header-menu-list-sp ul li a {
    display: flex;
    gap: 1rem;
    align-items: center;
    padding: 1rem 0;
    border-bottom: 1px solid #ccc;
    font-size: 1.25rem;
}

.header-menu-list-sp ul li a .header-icon-before {
    height: 1.5rem;
}

.header-menu-list-sp ul li a .header-icon-before img {
    width: 2rem;
    height: 100%;
    vertical-align: baseline;
}

.header-menu-sp-contact a {
    background: #0098bc;
    border-radius: .5rem;
    padding: 1rem;
    gap: 2rem !important;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
}

.header-menu-sp-contact a .header-icon-title {
    color: #fff !important;
    font-size: 1.25rem !important;
}

.header-menu-pc li:hover .header-icon-title {
    color: green;
}

.header-menu-pc li:hover .header-icon-before img {
    filter: brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(1352%) hue-rotate(87deg) brightness(94%) contrast(101%);
}

.header-contact-pc a:hover {
    background-color: green;
}

/*-----------top-section--------------------*/
.top-section {
    width: 100%;
    height: auto;
    position: relative;
    padding: 5rem 0 0 0;
    background-color: #FDF5EF;
}

.top-section .top-section-container {
    position: relative;
    max-width: 1650px;
    height: auto;
    margin: 0 auto;
    overflow: hidden;
}

.top-section .top-section-container .fv-boxes .fv-box img {
    width: 100%;
    height: auto;
    top: 0%;
    position: relative;
    opacity: 1;
}

.fixed_item {
    border-top-left-radius: 100px;
    border-bottom-left-radius: 100px;
    border: 1px solid #FFA000;
    display: inline-block;
    position: fixed;
    width: 20rem;
    background-color: #FFA000;
    top: 12rem;
    right: 0;
    transform: translate(77%, 0);
    transition: all 1s cubic-bezier(1, 0, 0, 1);
    z-index: 1000000;
}

.fixed_item:nth-of-type(2) {
    top: 17rem;
    background-color: #442C16;
    border: 1px solid #442C16;
}

.fixed_item:nth-of-type(2):hover {
    background-color: #FFFFFF;
    transition: none;
}

.fixed_item:nth-of-type(2):hover .header-icon-title {
    color: #442C16;
}

.fixed_item:nth-of-type(2) img,
.fixed_item:nth-of-type(3) img,
.fixed_item:nth-of-type(4) img {
    width: 2.5rem;
}

.fixed_item:nth-of-type(3) {
    top: 22rem;
    background-color: #6ECA4C;
    border: 1px solid #6ECA4C;
}

.fixed_item:nth-of-type(3):hover {
    background-color: #FFFFFF;
    transition: none;
}

.fixed_item:nth-of-type(3):hover .header-icon-title {
    color: #6ECA4C;
}

.fixed_item:nth-of-type(4) {
    top: 27rem;
    background-color: #FFDBC0;
    border: 1px solid #FFDBC0;
}

.fixed_item:nth-of-type(4):hover {
    background-color: #FFFFFF;
    transition: none;
}

.fixed_item:nth-of-type(4):hover .header-icon-title {
    color: #FFDBC0;
}

.fixed_item img {
    width: 3rem;
}

.fixed_item:hover {
    background-color: #FFFFFF;
    transition: none;
}

.fixed_item:hover .header-icon-title {
    color: #FFA000;
}

.fixed_item .header-icon-title {
    font-family: 'Zen Kaku Gothic New';
    font-size: 1.25rem;
    line-height: 200%;
    font-weight: 700;
    color: #FFFFFF;

}

.fixed_item .header-icon-before {
    text-align: center;
    height: auto;
    opacity: 1;
}

.fixed_item a {
    position: relative;
    padding: 0.5rem;
    display: flex;
    gap: 1.5rem;
    flex-direction: row;
}

.fixed_item_active {
    transform: translate(0, 0);
    transition: all 0.5s cubic-bezier(1, 0, 0, 1) !important;
}

/* Hide fixed_item when loading screen is visible */
body.loading-active .fixed_item {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.index-cover-lead {
    position: absolute;
    top: 15%;
    left: 43%;
    display: flex;
    gap: 1rem;
    flex-direction: row-reverse;
}

.index-cover-lead .content {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    height: fit-content;
    border: 2px solid #FFA000;
    display: inline-block;
    background-color: #FFFFFF;
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    padding: 1vw 0;
    color: #FFA000;

}

.index-cover-lead .content span {
    color: #6ECA4C;
}

/* .index-cover-lead-1{
    height: 18vw !important;
} */
.index-cover-bubble-2 {
    position: absolute;
    top: 17rem;
    right: 10rem;
    width: 7rem;
}

.index-cover-bubble-3 {
    position: absolute;
    top: 25rem;
    right: 3rem;
    width: 9rem;
}

.js-fadein-active {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}

.js-fadein {
    opacity: 0;
    transform: translate(0, 1rem);
    transition: all 1s ease-in-out;
    transition-delay: .5s;
}

.index-cover-news-wrapper {
    max-width: 1440px;
    position: relative;
    display: flex;
    flex-direction: row;
    bottom: 0;
    background-color: #FFFFFF;
    margin: 0 auto;
    margin-top: -2rem;


}

.index-conver-news-notification {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    width: 14rem;
    background-color: #442C16;
    padding: 1rem;
}

.index-conver-news-notification img {
    width: 2.3rem;
}

.index-conver-news-notification p {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 100%;
    color: #FFFFFF;
}

.index-cover-news-wrapper a {
    position: relative;
    width: calc(100% - 14rem);
    display: flex;
    align-items: center;
    padding: 2rem 1rem 2rem 3rem;
    display: flex;
    justify-content: space-between;
}

.index-cover-news-wrapper a div.header-icon-title {
    border-bottom: 1px solid #442C16;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 200%;
    color: #442C16;
    width: 60%;
}

.index-cover-news-wrapper a div.header-icon-title:hover {
    color: #FFA000;
}

.end {
    position: relative;
    color: #000000;
    display: block;
}

.page-btn {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid #442C16;
    border-radius: 50%;
    text-decoration: none;
    color: #442C16;
    font-weight: 500;
    transition: 0.3s;
    font-size: 16px;
}

.end::after {
    content: "";
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: 2px solid #442C16;
    border-right: 2px solid #442C16;
    transform: rotate(45deg);
    position: absolute;
    top: 32%;
    right: 0.8rem;
}

.page-btn:hover {
    background-color: #FFFFFF;
    color: #FFA000;
}

/*-----------------about section------------------*/
.sec-about {
    width: 100%;
    height: auto;
    position: relative;
}

.sec-mv {
    max-width: 1440px;
    height: auto;
    position: relative;
    margin: 0 auto;
}

.sec-about .container {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin: 5rem auto;
    padding: 3rem;
}

.sec-about .about-img {
    width: auto;
    height: auto;
    position: relative;
}

.sec-about .about-img img {
    width: 25rem;
    height: auto;
}

.sec-about .content {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 35rem;
    gap: 1rem;
    margin-top: 5rem;
}

.sec-about .content .title {
    display: flex;
    position: relative;
    align-items: flex-end;
    gap: 1.5rem;
}

.sec-about .content .title p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #442C16;
}

.sec-about .content .subtitle {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.sec-about .content .subtitle span {
    color: #6ECA4C;
}

.sec-about .content p.content-container {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 45px;
    color: #442C16;
    text-align: justify;
}

.sec-about .content p.bottom-content {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #FFA000;
}

.sec-about .extra-1 {
    position: absolute;
    width: auto;
    bottom: -10rem;
    left: 0;
    z-index: -1;
}

.sec-about .extra-1 img,
.sec-about .extra-2 img,
.about-img .extra-3 img,
.about-img .extra-4 img,
.about-img .extra-5 img,
.about-img .extra-6 img {
    width: 100%;
    height: auto;
}

.sec-about .extra-2 {
    position: absolute;
    width: auto;
    bottom: -8rem;
    left: 10rem;
}

.about-img .extra-3 {
    position: absolute;
    width: auto;
    bottom: -5rem;
    left: -10rem;
    z-index: -1;
}

.about-img .extra-4 {
    position: absolute;
    width: auto;
    bottom: 15rem;
    left: -10rem;
    z-index: -1;
}

.about-img .extra-5 {
    position: absolute;
    width: auto;
    bottom: -8rem;
    right: -11rem;
}

.sec-about .extra-6 {
    position: absolute;
    width: 19.81rem;
    bottom: 0;
    right: -3rem;
    z-index: -1;
}

.sec-about .extra-8 {
    position: absolute;
    width: 8.4rem;
    top: 8rem;
    right: 15rem;
    z-index: 0;
}

.sec-about .extra-7 {
    position: absolute;
    width: auto;
    top: 10rem;
    right: 3rem;
}

.sec-about .extra-7 img {
    width: 9rem;
    height: auto;
}

.title h1 {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 4rem;
    line-height: 100%;
    color: #442C16;
}

.subtitle h2 {
    font-size: 3rem;
    font-family: 'Zen Antique';
    font-weight: 400;
    line-height: 150%;
    color: #FFA000;
}

.grand-list-sec {
    width: 100%;
    height: auto;
    position: relative;
}

.grand-list-sec .container {
    display: flex;
    flex-direction: column;
    gap: 4rem;
    align-items: flex-start;
    margin: 16rem auto;
    z-index: 2;
}

.grand-list-sec .container h2 {
    font-family: 'Zen Antique';
    font-size: 3rem;
    font-weight: 400;
    line-height: 60px;
    color: #442C16;
}

.grand-list {
    width: 100%;
    height: auto;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    flex-wrap: wrap;
    gap: 1.875rem;
}

.grand-list>* {
    flex: 1 1 calc(25% - 2rem);

}

.grand-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.grand-item a:first-of-type {
    width: 100%;
    display: block;
    overflow: hidden;
    position: relative;
}

.grand-item img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease-out;
    transform: scale(1);
}

.grand-item:hover img,
.grand-sec .grand-item:hover img {
    transform: scale(1.1);
}

.grand_item_arrow {
    width: 2rem;
    height: 2rem;
    position: absolute;
    bottom: 6rem;
    right: 1.5rem;
    border-radius: 50%;
    border: 3px solid #FFFFFF;
    z-index: 1;
    transition: transform 0.3s ease-out;
}

.grand-item:hover .grand_item_arrow,
.grand-sec .grand-item:hover .grand_item_arrow {
    transform: translateX(0.5rem);
}

.grand_item_arrow::after {
    content: "";
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: 3px solid #FFFFFF;
    border-right: 3px solid #FFFFFF;
    transform: rotate(45deg);
    position: absolute;
    top: 30%;
    left: .5rem
}

.grand-item p {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 36px;
    padding: 1rem;
    width: 90%;
    color: #442C16;
    background-color: #FFFFFF;
    text-align: center;
}

.grand-list-sec .grand-bottom {
    position: absolute;
    width: 100%;
    bottom: -16rem;
}

.grand-list-sec .grand-bottom img {
    width: 100%;
    height: auto;
}

.grand-bottom-tree {
    width: auto;
    position: absolute;
}

.bottom-tree-1 {
    bottom: -16rem;
    left: 0;
}

.bottom-tree-2 {
    bottom: -16rem;
    right: 0;
}

.grand-bottom-tree.bottom-tree-1 img,
.grand-bottom-tree.bottom-tree-2 img {
    width: 100%;
    height: auto;
}

/*--------------------lightbox----------------------------*/
/* .lb-outerContainer {
    width: 39rem !important ;
    height: 32rem !important ;
}
 .lb-container{
    height: 100%;
}
 .lightbox .lb-image {
    width: 99% !important ;
    height: 98% !important ;
}
 .lb-dataContainer{
    width: 39rem !important;
}
.lb-data .lb-caption{
    font-size: 2rem !important;
}
.lb-data .lb-close{
    margin-top: 0.5rem !important;
} */
/*----------------------reason section-------------------*/
.reason-sec {
    width: 100%;
    height: auto;
    position: relative;
    background-color: #FFA000;
}

.reason-sec .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 3rem;
    padding: 10rem 0;
}

.reason-sec .reason-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 1rem;
}

.reason-sec .reason-title h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    line-height: 100%;
    color: #FFFFFF;
}

.reason-sec .reason-title p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 200%;
    color: #FFFFFF;
    text-align: center;
}

.reason-sec .reason-slide {
    width: 100%;
    height: auto;
    position: relative;
}

.reason-sec .fv-control {
    background-color: #FFFFFF;
    padding: 3rem 0;
    position: relative;
    z-index: 3;
}

.fv .slick-track {
    margin-bottom: 40px;
}

.reason-sec .fv-box-1 {
    width: 85% !important;
    position: relative;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem !important;
    background-color: #FFFFFF;
    margin: 0 auto;
}

.reason-slide .fv-extra {
    position: absolute;
    width: 15.5rem;
    top: -6rem;
    right: 1rem;
    z-index: 1;
}

.reason-sec .fv-box-1 img {
    width: 100%;
    height: auto;
}

.reason-sec .fv-content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.reason-sec .fv-content .fv-content-title {
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
    position: relative;
    align-items: center;
}

.reason-sec .fv-content .fv-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: 5px;
}

.reason-sec .fv-content .fv-title p {
    font-family: 'Zen Kaku Gothic New' !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    line-height: 100% !important;
    color: #442C16 !important;
}

.reason-sec .fv-content .fv-title span {
    width: 1.7rem;
    height: 0px;
    position: relative;
    border: 1px solid #442C16;
}

.reason-sec .fv-content .fv-content-title h2 {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 3rem;
    line-height: 100%;
    color: #442C16;
    padding-left: 6px;
}

.reason-sec .fv-content .fv-content-title p {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 200%;
    color: #442C16;
}

.reason-sec .fv-content .fv-content-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: 0.5rem;
}

.reason-sec .fv-content .fv-content-body p:first-child {
    font-size: 1.25rem;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    line-height: 200%;
    color: #FFA000;
}

.reason-sec .fv-content .fv-content-body p:nth-of-type(2) {
    font-size: 1.25rem;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    line-height: 200%;
    color: #000000;
}

.fv-control a {
    position: absolute;
    right: 0;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    bottom: -20%;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #FFA000;
    padding: 1.5rem 12rem 1.5rem 4rem;
    background-color: #FFFFFF;
    border: 1px solid #FFA000;
    cursor: pointer;
}

.fv-control a:hover {
    background-color: #FFA000;
    color: #FFFFFF;
}

.fv-control a::after {
    content: url(../img/btn_arrow.png);
    position: absolute;
    right: 10px;
    top: 25%;
}

.fv-control a:hover::after {
    filter: brightness(0) invert(1);
}

.reason-sec .reason-marquee {
    position: absolute;
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 8rem;
    line-height: 100%;
    color: #FFFFFF;
}

.reason-sec .reason-marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
    margin-top: -3rem;
}

.reason-sec .reason-marquee span {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 55s linear infinite;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}

.reason-sec .reason-photo-slide {
    width: 100%;
    height: auto;
    position: relative;
    padding-bottom: 10rem;
    background-color: #FFDBC0;
}

.reason-sec .fv-photo {
    z-index: 1;
    position: relative;
}

.reason-sec .fv-photo .fv-control {
    margin: 0 0.5rem;
    padding: 0;
}

.reason-sec .reason-image {
    position: absolute;
    bottom: 3rem;
    left: 10rem;
    z-index: 0;
}

.reason-sec .reason-image img {
    width: 9rem;
    height: auto;
    object-fit: cover;
}

/*-------------support section------------------*/
.support-sec {
    width: 100%;
    height: auto;
    position: relative;
}

.support-sec .container {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 3rem;
    align-items: center;
    padding: 4rem 0;
}

.support-sec .support_extra {
    width: 15.8rem;
    height: auto;
    position: absolute;
    top: 9rem;
    right: 5rem;
}

.support-sec .container .support_title {
    display: flex;
    flex-direction: column;
    position: relative;
    max-width: 1100px;
    gap: 1rem;
    align-items: center;
}

.support-sec .container .support_title p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #FFA000;
}

.support-sec .container .support_title .support_header_title h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    line-height: 45px;
    color: #442C16;
}

.support-sec .support_header_title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 1rem;
}

.support-sec .support_header_title span {
    width: 6.25rem;
    height: 0;
    border: 1px solid #FFA000;
}

.support-sec .container .support_content {
    display: flex;
    flex-direction: column;
    position: relative;
    max-width: 1100px;
    gap: 1rem;
    align-items: center;
}

.support-sec .container .support_content .title {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 200%;
    color: #FFA000;
    text-align: center;
}

.support-sec .container .support_content .body {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
    text-align: center;
}

.support-sec .container .support_img {
    width: 55rem;
    height: auto;
    position: relative;
}

.support-sec .container .support_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.support-sec .grand-bottom {
    position: absolute;
    bottom: 6rem;
    z-index: -1;
    width: 100%;
}

.surpport-bottom-tree-1 {
    bottom: 0rem;
    left: 0;
}

/*-----------test section-----------*/
.test-sec {
    background: url(../img/test_bk.png) center center;
    background-size: cover;
    width: 100%;
    height: 16rem;
}

.test-sec .container {
    max-width: 1100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    background-color: #FFA000;
    margin: 0 auto;
    bottom: -9rem;
    border-radius: 0.5rem;
    z-index: 1;
}

.test-sec .container .item-img {
    width: 27rem;
    height: auto;
    position: relative;
    padding: 0.2rem;
}

.test-sec .container .item-img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    overflow: hidden;
}

.test-sec .container .item-content {
    width: calc(100% - 36rem);
    height: auto;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 2rem;
}

.test-sec .container .item-content p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #FFFFFF;
}

.test-sec .container .item-content h1 {
    font-family: 'Zen Antique';
    font-size: 4rem;
    line-height: 100%;
    color: #FFFFFF;
}

.test-sec .container .item-content span {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #FFFFFF;
}

.test-sec .container .item-content a:first-of-type {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
    gap: 1rem;
}

/* .test-sec .container:hover img, */
.test-sec .container {
    transition: all 0.3s ease;
}

.test-sec .container:hover {
    background-color: #FFFFFF;
    cursor: pointer;
}

.test-sec .container:hover .item-img p,
.test-sec .container:hover .item-content p,
.test-sec .container:hover .item-content h1,
.test-sec .container:hover .item-content span,
.test-sec .container:hover .item-content a {
    color: #FFA000;

}

.test-sec .container:hover .item-content .page-btn {
    border: 1px solid #FFA000
}

.test-sec .container:hover .item-content .end::after {
    border-top: 2px solid #FFA000;
    border-right: 2px solid #FFA000;
}

.test-sec .container:hover img {

    opacity: 0.9;
}

.test-sec .container .item-img p {
    position: absolute;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 2rem;
    line-height: 100%;
    background-color: #FFFFFF;
}

.test-sec .container .item-img p:first-of-type {

    color: #FFA000;
    top: 2rem;
    right: -2.5rem !important;
    right: 0;
    padding: 0.5rem 1.5rem;
}

.test-sec .container .item-img p:nth-of-type(2) {
    color: #6ECA4C;
    top: 6rem;
    right: -10rem;
    padding: 0.5rem 1.5rem;
}

.item-content .page-btn {
    border: 1px solid #FFFFFF;
    color: #FFFFFF;
}

.item-content .end::after {
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
}

/*---------service-section-------------*/
.service-sec {
    width: 100%;
    height: auto;
    position: relative;
    display: flex;
    justify-content: center;
    background-color: #FDF5EF;

}

.service-sec .container {
    max-width: 1100px;
    width: 100vw;
    position: relative;
    margin: 20rem auto;
    border: 1px solid #FFA000;
}

.service-sec .service-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    align-items: center;
    padding: 4rem 0;
    gap: 1rem;
    background-color: #FFFFFF;
}

.service-sec .service-body .service-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}

.service-sec .service-body .service-header p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 60px;
    color: #FFA000;
}

.service-sec .service-body .service-header h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    line-height: 60px;
    color: #442C16;
}

.service-sec .service-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    padding-top: 4rem;
    width: 100%;
}

.service-sec .service-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
}

.service-sec .service-item a {
    padding: 1rem;
    width: 80%;
    margin: 0 auto;
    background-color: #FDF5EF;
    text-align: center;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: 4rem;
}

.service-sec .service-item-title {
    width: inherit;
}

.service-sec .service-item a:hover {
    background-color: #FFA000;
}

.service-sec .service-item a:hover h4 {
    color: #FFFFFF;
}

.service-sec .service-item a:hover .circle {
    /* border-color: #FFFFFF; */
}

.service-sec .service-item a:hover .circle::after {
    /* border-color: #FFFFFF; */
}

.service-item a h4 {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #442C16;
}

.service-item .circle::after {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: 1px solid #442C16;
    border-right: 1px solid #442C16;
    transform: rotate(45deg);
    position: absolute;
}

.service-item .circle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 25px;
    height: 25px;
    border: 1px solid #442C16;
    border-radius: 50%;
    text-decoration: none;
    color: #442C16;
    font-weight: 500;
    transition: 0.3s;
    font-size: 16px;
    background-color: #FFFFFF;
}

.service-content .start {
    position: absolute;
    top: 50%;
    left: -2rem;
    display: block;
}

.service-content .start::after {
    content: "";
    width: 14px;
    height: 14px;
    border: 0px;
    border-top: 3px solid #FFA000;
    border-right: 3px solid #FFA000;
    transform: rotate(225deg);
    position: absolute;
    top: 37%;
    left: 1.5rem
}

.service-content .pagination {
    display: flex;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.service-content .pagination .prev,
.service-content .pagination .next {
    display: none;
}

.service-content .page-btn:hover.start::after,
.service-content .page-btn:hover.end::after {
    border-top: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
}

.service-content .page-btn:hover {
    background-color: #FFA000;
    color: #FFFFFF;
}

.service-content .page-btn.active {
    background-color: #FFA000;
    color: #FFFFFF;
}

.service-content .page-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 64px;
    height: 64px;
    border: 3px solid #FFA000;
    border-radius: 50%;
    text-decoration: none;
    color: #FFA000;
    font-weight: 500;
    transition: 0.3s;
    font-size: 16px;
    background-color: #FFFFFF;
}

.service-content .end::after {
    content: "";
    width: 14px;
    height: 14px;
    border: 0px;
    border-top: 3px solid #FFA000;
    border-right: 3px solid #FFA000;
    transform: rotate(45deg);
    position: absolute;
    top: 37%;
    right: 24px;
}

.service-content .end {
    position: absolute;
    display: block;
    top: 50%;
    right: -2rem;
}

.service-body .service-item-category {
    font-weight: 700;
    font-family: 'Zen Kaku Gothic New';
    font-size: 1.25rem;
    line-height: 100%;
    color: #FFFFFF;
    background-color: #FFA000;
    padding: 1.2rem 4.5rem 1.2rem 2rem;
    width: 18rem;
    position: relative;
}

.service-body .service-item-category::after {
    content: url(../img/service_arrow.png);
    position: absolute;
    right: 20px;
    top: 25%;
}

/* Alternative: If you want to use filter for other effects, 
   you could use invert() for color inversion, but not for horizontal flip */

.service-body .service-item-category:hover {
    background-color: #FFFFFF;
    color: #FFA000;
}

.service-body .service-item-category:hover::after {
    content: url(../img/service_arrow.png);
    filter: brightness(0) saturate(100%) invert(58%) sepia(100%) saturate(3000%) hue-rotate(0deg) brightness(1) contrast(1);
}

.service-sec .service-extra-1 {
    width: 18.3rem;
    height: auto;
    position: absolute;
    top: -6rem;
    left: -23rem;
}

.service-sec .service-extra-2 {
    width: 8.473125rem;
    height: auto;
    position: absolute;
    top: 4rem;
    left: -12rem;
}

.service-sec .service-extra-3 {
    width: 9rem;
    height: auto;
    position: absolute;
    top: 11rem;
    left: -13rem;
}

.service-sec .service-extra-4 {
    width: 10rem;
    height: 10rem;
    position: absolute;
    top: 38rem;
    left: 0rem;
}

.service-sec .service-extra-5 {
    width: 18rem;
    height: auto;
    position: absolute;
    top: 6rem;
    right: 0rem;
}

.service-sec .service-extra-6 {
    width: 5rem;
    height: 5rem;
    position: absolute;
    top: 12rem;
    right: -14rem;
}

.service-sec .service-extra-6 {
    width: 3.8rem;
    height: auto;
    position: absolute;
    top: 9rem;
    right: -19rem;
}

.service-sec .service-extra-7 {
    width: 9rem;
    height: auto;
    position: absolute;
    top: 22rem;
    right: -18rem;
}

.service-sec .service-extra-8 {
    width: 4.5rem;
    height: auto;
    position: absolute;
    top: 27rem;
    right: -12rem;
}

.service-sec .service-extra-9 {
    width: 12.3rem;
    height: auto;
    position: absolute;
    top: 51rem;
    right: 0rem;
}

.service-sec img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.service-sec .reason-marquee:first-of-type {
    position: absolute;
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 5rem;
    line-height: 100%;
    color: #FFFFFF;
    bottom: 17rem;
}

.service-sec .reason-marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
    margin-top: -3rem;
}

.service-sec .reason-marquee span {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 34s linear infinite;
}

.service-sec .reason-marquee:nth-of-type(2) span {
    animation: marquee 38s linear infinite;
}

.service-sec .reason-marquee:nth-of-type(2) {
    position: absolute;
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 5rem;
    line-height: 100%;
    color: #FFDBC0;
    bottom: 10rem;
}

.service-sec .reason-marquee:nth-of-type(3) {
    position: absolute;
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 5rem;
    line-height: 100%;
    color: #FFA000;
    bottom: 3rem;
}

.service-sec .reason-marquee:nth-of-type(3) span {
    animation: marquee 40s linear infinite;
}

/*-------------blog-section---------------*/
.blog-sec {
    width: 100%;
    height: auto;
    position: relative;
}

.blog-sec .container {
    margin: 10rem 0 10rem 15%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.blog-sec .container .blog-title {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.blog-sec .blog-title h1 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 4rem;
    line-height: 100%;
    color: #6ECA4C;
}

.blog-sec .blog-title p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #442C16;
}

.blog-sec .blog-side {
    width: 80%;
    height: auto;
    position: relative;

}

.blog-sec .blog-side .fv-blog .fv-blog-item {
    overflow: hidden;
}

.blog-sec .blog-side .fv-blog .fv-blog-item img {
    height: 300px;
    width: 100%;
    object-fit: cover;
    transition: transform 2s ease;
}

.blog-sec .blog-side .fv-blog .fv-blog-item:hover img {
    transform: scale(1.05);
}

.blog-sec .blog-side .fv-blog .fv-blog-item .no-image-placeholder {
    height: 300px;
    width: 100%;
    object-fit: cover;
    background-color: grey;
    display: flex;
    justify-content: center;
    align-items: center;
}

.blog-sec .blog-side .fv-blog .fv-blog-item .no-image-placeholder span {
    font-size: clamp(20px, 5vw, 40px);
    color: #fff;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.fv-blog-item {
    display: flex !important;
    flex-direction: column;
    gap: 1rem;
    padding: 0 1rem;
}

a.fv-blog-item {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.fv-blog-item div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
}

.blog-category {
    padding: 0.5rem 1.5rem;
    font-family: 'Zen Kaku Gothic New';
    font-size: 1.25rem;
    color: #FFFFFF;
    font-weight: 700;

}

.blog_item_content ul {
    font-family: 'Zen Kaku Gothic';
    font-weight: 500;

}

.blog_item_content ul li {
    list-style: disc;
    font-size: 1.25rem;
}

.news-category {
    background-color: #6ECA4C;
    width: 9.6rem;
    line-height: 180%;
    padding: 0;
    text-align: center;
}

.blogs-category {
    background-color: #442C16;
    width: 9.6rem;
    line-height: 180%;
    padding: 0;
    text-align: center;
}

.blog-date {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    color: #B5B5B5;
}

.blog-item-title {
    font-family: 'Zen Kaku Gothic New';
    font-size: 1.25rem;
    color: #442C16;
    font-weight: 700;
    line-height: 160%;
    height: 54px;

}

.fv-blog-item:hover .blog-item-title {
    color: #FFA000;
}

.blog-sec .blog-detail {
    position: absolute;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    padding: 1.5rem 12rem 1.5rem 8rem;
    color: #FFFFFF;
    background-color: #FFA000;
    bottom: -4rem;
    right: 0rem;
    z-index: 1;
}

.blog-sec .blog-detail {
    transition: background-color 0.3s ease, color 0.3s ease;
}

.blog-sec .blog-detail:hover {
    background-color: #FFFFFF;
    color: #FFA000;
}

.blog-sec .blog-detail:hover::after {
    filter: brightness(0) saturate(100%) invert(67%) sepia(56%) saturate(1318%) hue-rotate(359deg) brightness(104%) contrast(105%);
}

.blog-sec .blog-detail::after {
    content: url(../img/btn_arrow_y.png);
    position: absolute;
    right: 28px;
    top: 20px;
}

.blog-sec .blog-tree {
    width: 24rem;
    position: absolute;
}

.blog-sec .tree-1 {
    bottom: -10rem;
    left: 0;
}

.blog-sec .blog-tree img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.blog-sec .tree-2 {
    bottom: -10rem;
    right: 0;
    z-index: -1;
}

/*-------------faq-section----------*/
.faq-sec {
    width: 100%;
    height: auto;
    background-color: #FDF5EF;
}

.faq-sec .container {
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    gap: 4rem;
    position: relative;
    margin: 0 auto;
    padding: 10rem 0 24rem 0;
}

.faq-sec .faq-header {
    max-width: 100%;
    height: auto;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1.5rem;
}

.faq-sec .faq-header h1 {
    color: #FFA000;
    font-family: 'Zen Antique';
    font-size: 4rem;
    font-weight: 400;
}

.faq-sec .faq-header p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    color: #442C16;
}

.faq-sec .faq-content {
    max-width: 100%;
    height: auto;
    position: relative;
}

.index-faq-list dl {
    background: #fff;
    margin: 0 0 1rem;
    padding: 2rem;
}

.index-faq-list-title {
    position: relative;
    font-size: 1.5rem;
    position: relative;
    display: flex;
    gap: 1rem;
    align-items: center;
    transition: all .1s linear;
}

.index-faq-list-title:hover {
    cursor: pointer;
    color: #169890;
}

/* .index-faq-list-title:before {
    content: "Q";
    font-size: 2rem;
    font-weight: bold;
    color: #0098bc;
} */
.faq-header-number {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    color: #FFFFFF;
    background-color: #FFA000;
    padding: 0.3rem .75rem;
    height: 2rem;

}

.faq-header-anwser {
    background-color: #FDF5EF;
    color: #FFA000;
}

.faq-header-title {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    color: #442C16;
}

.faq-header-content {
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
}

.index-faq-list-title .plus {
    position: relative;
    margin: 0 0 0 auto;
}

.index-faq-list-title .plus:before {
    content: "";
    display: block;
    width: 1rem;
    height: 2px;
    background: #442C16;
}

.index-faq-list-title .plus:after {
    content: "";
    display: block;
    width: 1rem;
    height: 2px;
    background: #442C16;
    transform: translate(-50%, -50%) rotate(90deg);
    position: absolute;
    top: 50%;
    left: 50%;
    transition: all .25s linear;
}

.index-faq-list-title-active .plus:after {
    content: "";
    width: 0rem;
}

.index-faq-list dl dd {
    display: none;
    /* border-top: 2px solid #FFA000; */
    padding: 1rem 0 0 0;
    margin: 1rem 0 0;
}

.index-faq-list dl dd div {
    display: flex;
    gap: 1rem;
}

/*---------------grand-section------------------*/
.grand-sec {
    width: 100%;
    height: auto;
    position: relative;
}

.grand-sec .container {
    margin: 0 0 0 15%;
    display: flex;
    flex-direction: column;
    gap: 4.0625rem;
    align-items: flex-start;
    z-index: 2;
    background-color: #6ECA4C;
    padding: 5rem 0 13rem 10.5rem;
    position: relative;
    top: -16rem;

}

.grand-sec .container h2 {
    font-family: 'Zen Antique';
    font-size: 3rem;
    font-weight: 400;
    line-height: 60px;
    color: #FFFFFF;
}

.grand-sec .grand-item p {
    line-height: 100%;
    font-size: 1.25rem;
    padding: 1.5rem 0;
    background-color: #FFFFFF;
    width: 100%;
    text-align: center;

}

.grand-sec .grand-item {
    gap: 0.5rem;
    position: relative;
}

.grand-sec .grand-item a:first-of-type {
    width: 100%;
    display: block;
    overflow: hidden;
    position: relative;
}

.grand-sec .grand-item img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease-out;
    transform: scale(1);
}

.grand-sec .blog-detail {
    position: absolute;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    padding: 2rem 17rem 2rem 8rem;
    color: #442C16;
    background-color: #FFFFFF;
    bottom: 5rem;
    right: 14rem;
    z-index: 1;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.grand-sec .blog-detail:hover {
    background-color: #442C16;
    color: #FFFFFF;
}

.grand-sec .blog-detail:hover::after {
    filter: brightness(0) invert(1);
}

.grand-sec .blog-detail::after {
    content: url(../img/btn_arrow_n.png) !important;
    position: absolute;
    right: 28px;
    top: 35%;
}

.grand-sec .top_marquee {
    bottom: 15rem !important;
}

.grand-sec .reason-marquee {
    position: absolute;
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 5rem;
    line-height: 100%;
    color: #FFFFFF;
    bottom: -1rem;
    z-index: 2;
}

.grand-sec .reason-marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
    /* margin-top: 11.5%; */
}

.grand-sec .reason-marquee span {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 15s linear infinite;
}

.grand-sec .contact-sec {
    display: flex;
    flex-direction: column;
    gap: 3.11rem;
    position: relative;
    align-items: center;
    border: 1px solid #FFA000;
    padding: 2.459rem 0;
    background-color: #FFFFFF;
    max-width: 1440.75px;
    z-index: 0;
}

.contact-sec .contact-bk {
    font-family: 'Noto Sans JP' !important;
    font-weight: 700 !important;
    font-size: 128px !important;
    line-height: 100% !important;
    color: #FDF5EF !important;
    position: absolute;
    top: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: -1;
}

.grand-sec .contact-sec h1 {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 4rem;
    color: #442C16;
}

.grand-sec .contact-sec div {
    display: flex;
    align-items: center;
    position: relative;
    gap: 1rem;
    padding: 0.5rem 0;
}

.grand-sec .contact-sec div:first-of-type {
    border-bottom: 3px solid #442C16;
    border-top: 3px solid #442C16;
    padding: .821875rem 1.4746875rem;
}

.grand-sec .contact-sec div:nth-of-type(2) {
    gap: 4rem;
}

.grand-sec .contact-sec p:first-of-type {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 1.25rem;
    color: #442C16;
    line-height: 100%;
}

.grand-sec .contact-sec h2 {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 3rem;
    color: #442C16;
    line-height: 100%;
    margin: 0;
}

.grand-sec .contact-sec h2 a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.grand-sec .contact-sec h2 a:hover {
    opacity: 0.7;
}

.contact-sec img {
    width: 3rem;
    height: auto;
    object-fit: cover;
}

.contact-tel>a {
    display: inline-block;
    cursor: pointer;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.contact-tel>a:hover {
    opacity: 0.7;
    transform: scale(1.1);
}

.contact-tel a img {
    display: block;
}

.contact-tel h2 a {
    transition: opacity 0.3s ease;
}

.contact-tel h2 a:hover {
    opacity: 0.7;
    transform: none;
}

.contact_line_btn {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    color: #FFFFFF;
    background-color: #6ECA4C;
    padding: 2.25rem 7.5rem;
    position: relative;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.contact_line_btn:hover {
    background-color: #FFFFFF;
    color: #6ECA4C;
}

.contact_line_btn:hover::after {
    content: url(../img/btn_arrow_y.png);
    filter: brightness(0) saturate(100%) invert(70%) sepia(100%) saturate(2000%) hue-rotate(90deg) brightness(1.1) contrast(1);
}

.contact_line_btn::before {
    content: url(../img/line_icon.png);
    position: absolute;
    left: 1.43rem;
    top: 27%;
}

.contact_line_btn::after {
    content: url(../img/btn_arrow_y.png);
    position: absolute;
    right: 1.43rem;
    top: 30%;
}

.grand-sec .mail_btn {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    color: #442C16;
    background-color: #FDF5EF;
    padding: 2.25rem 7.5rem;
    position: relative;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.grand-sec .mail_btn:hover {
    background-color: #442C16;
    color: #FDF5EF;
}

.grand-sec .mail_btn::before {
    content: url(../img/msg_icon.png);
    position: absolute;
    left: 1.43rem;
    top: 30%;
    margin-top: auto;
    margin-bottom: auto;
}

.grand-sec .mail_btn:hover::after {
    content: url(../img/btn_arrow_n.png);
    filter: brightness(0) invert(1);
}

.grand-sec .mail_btn::after {
    content: url(../img/btn_arrow_n.png);
    position: absolute;
    right: 1.43rem;
    top: 30%;
}

/*----------------------footer-section----------------------*/
/* Footer styles */
footer {
    background-color: #FFA000;
    color: white;
    padding: 40px 0 20px;
    margin-top: -10rem;
}

footer div.container {
    padding-top: 16rem;
    display: flex;
    flex-direction: column;
    gap: 10rem;
    max-width: 1100px;
    margin: 0 auto;
}

.footer-content {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
    gap: 1rem;
}

.company-info {
    width: 43rem;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
}

.company-info .company-item {
    display: flex;
    align-items: center;
    position: relative;
    gap: 1rem;
}

.company-item-header {
    position: relative;
    width: 11rem;
    height: auto;
}

.company-item-header img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.company-info .company-item p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
    background-color: #FFFFFF;
    padding: .5rem 2rem;
}

.company-info .company-item p a {
    color: inherit;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.company-info .company-item p a:hover {
    opacity: 0.7;
}

.comapany-item-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    gap: .3rem;
}

.comapany-item-content p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #FFFFFF;
}

.footer-links {
    width: calc(100% - 43rem);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 2rem;
}

.footer-links ul li a {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    color: #FFFFFF;
    text-decoration: none;
    transition: text-decoration 0.3s ease;
}

.link-column a:hover,
.footer-links ul li a:hover {
    text-decoration: underline !important;

}

.footer-bottom {
    font-size: 14px;
}

.footer-bottom {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 3rem;
}

.footer-bottom .footer-bottom-top {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.footer-bottom .footer-bottom-top .footer-bottom-link {
    display: flex;
    flex-direction: row;
    position: relative;
    gap: 1rem;
}

.footer-img {
    width: 3rem;
    height: auto;
    position: relative;
}

.footer-img a {
    display: block;
    transition: opacity 0.3s ease;
}

.footer-img a:hover {
    opacity: 0.7;
}

.footer-img img {
    display: block;
    width: 100%;
    height: auto;
}

.footer-img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.footer-bottom-top p {
    font-family: 'Zen Kaku Gothic New';
    font-size: 1rem;
    font-weight: 700;
    color: #FFF;
    padding: 1rem 1rem 1rem 4rem;
    position: relative;
    cursor: pointer;
}

.bottom-text {
    font-family: 'Zen Kaku Gothic New';
    font-size: 1rem;
    font-weight: 700;
    color: #FFF;
    ;
    padding: 1rem 0;
    border-top: 3px solid #FFFFFF;
}

.footer-bottom-top p::before {
    content: "";
    width: .7rem;
    height: .7rem;
    border: 0px;
    border-left: 2px solid #FFFFFF;
    border-top: 2px solid #FFFFFF;
    transform: rotate(45deg);
    position: absolute;
    top: 1.5rem;
    left: .8rem;
}

/*-----------about us page----------------*/
.sub_fv {
    background-color: #FFFFFF;
    /* max-width: 1440px; */
    padding: 3.6rem 0;
    margin: 5.5rem 15rem 0;
}

.sec_title_white {
    font-size: 3rem;
    font-family: "Zen Kaku Gothic New";
    color: #442C16;
    text-align: left;
    font-weight: 700;
}

.breadcrumb {
    margin: 1.2rem auto;
    max-width: 1440px;
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.3rem;
}

.breadcrumb p:last-child {
    color: #442C16;
    font-weight: 700;
    font-family: 'Zen Kaku Gothic New';
    font-size: 1rem;
}

.breadcrumb img {
    width: 1.2rem;
    height: auto;
    object-fit: cover;
}

.top_FV {
    width: 100%;
    height: auto;
    position: relative;
}

.top_FV .FV_content p:first-of-type {
    position: absolute;
    top: -7rem;
    left: 15rem;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 9.3rem;
    color: #FFA000;
}

/*-------------------support-sec----------------*/
.about_guide-sec {
    width: 100%;
    height: auto;
    position: relative;
}

.about_guide-sec .container {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 3.5rem;
    align-items: center;
    padding: 13.5rem 0;
}

.about_guide-sec .container .support_title {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 1100px;
    align-items: center;
    border-bottom: 2px solid #D9D9D9;
}

.about_guide-sec .container .support_title h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    line-height: 60px;
    color: #442C16;
    padding-bottom: 1.5rem;
}

.about_guide-sec .container .support_content {
    display: flex;
    position: relative;
    max-width: 1100px;
    gap: 4rem;
}

.about_guide-sec .container .support_content .support_content_img {
    width: 31.25rem;
    height: 25rem;
    object-fit: cover;
}

.about_guide-sec .container .support_content .support_content_img img {
    width: auto;
    ;
}

.about_guide-sec .container .support_content .support_content_group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.about_guide-sec .container .support_img {
    width: 70.4%;
    position: relative;
    padding-top: 2.75rem;
}

.about_guide-sec .container .support_content .title {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 200%;
    color: #FFA000;
    text-align: center;
}

.about_guide-sec .container .support_content .body {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
    text-align: justify;
    padding-left: 0.625rem;
}

.about_guide-sec .grand-bottom {
    position: absolute;
    top: 12rem;
    z-index: -1;
}

.about_service_sec {
    width: 100%;
    height: auto;
    position: relative;
    background-color: #FDF5EF;
    padding: 8.4325rem 0 6.25rem;
}

.about_service_sec .container {
    max-width: 1100px;
    position: relative;
    background-color: #FFFFFF;
    padding: 7rem 4rem 4rem 4rem;
    margin: 0 auto;
}

.about_service_sec .container .about_service_content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    position: relative;
    gap: 1.75rem;
    width: 58.25rem;
    margin: 0 auto;
}

.about_service_sec .about_service_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 1.263rem;
    width: 12.5rem;
}

.about_service_sec .about_service_item .about_service_item_img {
    width: 100%;
    height: auto;
}

.about_service_sec .about_service_item p {
    font-family: 'Zen Kaku Gothic New';
    font-size: 1.5rem;
    font-weight: 700;
    color: #442C16;
    text-align: center;
    line-height: 150%;
}

.about_service_sec .about_service_content_title {
    padding: 5px 4.75rem;
    font-size: 2rem;
    color: #FFFFFF;
    background-color: #FFA000;
    position: absolute;
    left: 0;
    right: 0;
    top: -6%;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    border-radius: 3.125rem;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;

}

.about_reason_sec {
    width: 100%;
    height: auto;
    position: relative;
}

.about_reason_sec .grand-bottom {
    width: 100%;
    position: absolute;
    top: 57.25rem;
    z-index: -1;
}

.about_reason_sec .container {
    max-width: 1100px;
    position: relative;
    margin: 0 auto;
    padding: 7.5rem 0;
}

.about_reason_sec .about_reason h1 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    color: #442C16;
}

.about_reason_sec .about_reason h1 span {
    padding: .7rem 0;
    border-bottom: 3px solid #FFA000;
}

.about_reason_sec .about_reason_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 3.75rem;
    margin-bottom: 5rem;
}

.about_reason_sec .about_reason_item .description {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: relative;
    gap: 4.2rem;
}

.about_reason_sec .about_reason_item .description .image {
    position: relative;
    height: fit-content;
    width: 31.25rem;
    margin-top: 1rem;
}

.about_reason_sec .about_reason_item .description .content {
    display: flex;
    flex-direction: column;
    position: relative;
    /* gap:1rem; */
    max-width: 32.25rem;
}

.about_reason_sec .about_reason_item .description .content h2 {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 200%;
    color: #442C16;
}

.about_reason_sec .about_reason_item .description .content .subcontent {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
}

.about_reason_sec .about_reason_item .description .content .subcontent p:first-of-type {
    color: #FFA000;
    font-size: 1.25rem;
}

.about_reason_sec .about_reason_item .description .content .subcontent p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
    padding-left: 0.625rem;
    text-align: justify;
}

.about_reason_sec .about_reason {
    display: flex;
    flex-direction: column;
    gap: 7.25rem;
    justify-content: center;
    align-items: center;
}

.about_reason_sec .table {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
}

.about_reason_sec .table p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.5rem;
    color: #FFA000;
}

.score-table {
    border-collapse: collapse;
    width: 100%;
    border: 2px solid #442C16;
    table-layout: fixed;
}

.score-table th,
.score-table td {
    border: 2px solid #442C16;
    padding: .8125rem 0;
    text-align: center;
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 1.25rem;
    color: #442C16;
    word-wrap: break-word;
    overflow-wrap: break-word;
    line-height: 40px;
    background-color: #FFFFFF;
}

.score-table th,
.score-table td {
    width: calc(100% / var(--column-count, 3));
}

.about_reason_sec .about_reason_item .description.reversed {
    grid-template-areas: "content image";
}

.about_reason_sec .about_reason_item .description.reversed .image {
    margin-left: 1rem;
}

.about_reason_sec .about_reason_item .description:not(.reversed) {
    grid-template-areas: "image content";
}

.about_reason_sec .about_reason_item .description .image {
    grid-area: image;
}

.about_reason_sec .about_reason_item .description .content {
    grid-area: content;
}

.about_reason_sec .about_service_feature {
    display: flex;
    flex-direction: column;
    gap: 6rem;
    justify-content: center;
    align-items: center;
    margin-top: 5.9375rem;
}

.feature_header_title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 1rem;

}

.about_reason_sec .about_service_feature h1 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    color: #442C16;
}

.about_reason_sec .about_service_feature .feature_header_title span {
    width: 6.25rem;
    height: 0;
    border: 2px solid #FFA000;
}

.about_reason_sec .feature_group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.875rem;
    position: relative;
}

.about_reason_sec .feature_item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
    gap: 2rem;
}

.about_service_feature .feature_group .feature_item:nth-of-type(3) {
    margin-top: 1.875rem;
}

.about_service_feature .feature_group .feature_item .feature_body {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.about_reason_sec .feature_body {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 1rem;
    padding: 0 1rem;
}

.about_reason_sec .feature_body p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.about_reason_sec .feature_body .feature_title {
    font-weight: 700;
    font-size: 1.25rem;
}

.about_grand_sec .container {
    margin: 0 0 12% 12% !important;
    top: 0 !important;
}

.sec_body {
    position: relative;
}

/* .about_grand_sec .reason-marquee{
    margin-top: 14% !important;
} */
/*-------------grand-section---------------------*/
.latest_post {
    position: fixed;
    bottom: 5rem;
    right: 6rem;
    width: auto;
    height: auto;
    z-index: 3;
    background-color: #6ECA4C;

}

.latest_post a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    position: relative;
    padding: 1.34rem 3rem;
}

.latest_post img {
    width: 62px;
    height: 65px;
    height: auto;
    object-fit: cover;
}

.latest_post p {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 125%;
    color: #FFFFFF;
    text-align: center;
}

.grand_bubble {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10rem;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    object-fit: cover;
}

.grand_bubble img {
    width: 20rem;
    height: auto;
}

.grand_section,
.grand_fv {
    background-color: #FDF5EF;
}

.grand_section .latest_post {
    display: none;
}

.grand_senior_housing {
    width: 100%;
    height: auto;
    position: relative;
    padding: 12.5rem 0 10.9375rem;
    display: flex;
    flex-direction: column;
    gap: 6rem;
}

.housing_content {
    max-width: 1100px;
    position: relative;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 2.6875rem;
}

.housing_content h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    color: #442C16;
    line-height: 60px;
}

.housing_content h2 span {
    border-bottom: 3px solid #FFA000;
}

.housing_content p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.housing_slide {
    position: relative;
    width: 100%;
    height: 300px;
}

.housing_slide .fv-control .fv-box-item {
    height: 98%;
    border-radius: 1rem;
    overflow: hidden;
}

.housing_slide .fv-control .fv-box-item img {
    height: -webkit-fill-available;
}

.housing_slide .fv-control.odd-item {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0.25rem 1rem;
    margin: 0 4rem;
}

.housing_slide .fv-control.odd-item .fv-box-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 1rem;
}

.housing_slide .fv-control.odd-item .fv-box-item {
    object-fit: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 95%;
    height: 15rem;
}

.housing_slide .reason-marquee {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
    margin-top: -13rem;
    position: absolute;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 8rem;
    line-height: 100%;
    color: #FFA000;
}

.housing_slide .reason-marquee span {
    display: inline-block;
    padding-left: 100%;
    animation: marquee 15s linear infinite;
}

.housing_using {
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3.5625rem;
    margin: 1.27rem auto 0;
    background-color: #FFFFFF;
    padding: 5.5rem 6.25rem 4rem;
    position: relative;
}

.using_group {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: .5rem;
    position: relative;
}

.using_context {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.using_item {
    display: flex;
    gap: .5rem;
}

.using_item img {
    width: 20px;
    height: 23px;
    object-fit: cover;
}

.using_item p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.using_show {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.56rem;
}

.using_show img {
    width: 421.52px;
    height: 250px;
    position: relative;
}

.housing_using .about_service_content_title {
    padding: 0.8rem 4.78rem;
    font-size: 2rem;
    color: #FFFFFF;
    background-color: #FFA000;
    position: absolute;
    left: 0;
    right: 0;
    top: -6%;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    border-radius: 3.125rem;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
}

.feature_total {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    gap: 2.25rem;
    bottom: 30rem;
}

.feature_extra {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: dense;
    align-items: start;
    position: relative;
    gap: 3rem;
}

.feature_extra .feature_item_1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: 1.625rem;
    padding: 1.625rem 2.15625rem;
    background-color: #FDF5EF;
    height: 8.25rem;
    width: 26.9375rem;
}

.feature_extra .feature_item_1 p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    line-height: 200%;
    font-size: 1rem;
    color: #442C16;
}

.feature_extra .feature_item_1 p:first-of-type {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 40px;
    color: #442C16;
}

.feature_extra .feature_item_1 p:first-of-type span {
    border-bottom: 2px solid #FFA000;
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 40px;
    color: #442C16;
    padding-top: 9px;
    padding-bottom: 9px;
}

.feature_sec {
    width: 100%;
    height: auto;
    position: relative;
}

.feature_sec .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 10.9375rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 7.625rem;
}

.feature_sec h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    color: #442C16;
    line-height: 60px;
}

.feature_item_header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: .5rem;
}

.feature_item_header span {
    width: 6.25rem;
    height: 0;
    border: 2px solid #FFA000;
}

.feature_sec h2 span {
    border-bottom: 3px solid #FFA000;
}

.feature_sec .feature_group {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
    gap: 4.0625rem;
}

.feature_sec .grand_feature_group {
    gap: 3.875rem;
}

.feature_sec .grand_feature_group .feature_item_1 {
    margin-bottom: 1.5rem;
}

.feature_sec .item_content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.375rem;
    position: relative;
}

.feature_sec .item_content_text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: .9375rem;
    position: relative;
    max-width: 97%;
}

.feature_sec .feature_item .item p:first-of-type,
.feature_sec .item_content_flex p:first-of-type,
.feature_sec .item_content .item_content_text p:first-of-type {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    color: #FFA000;
    line-height: 110%;
}

.feature_sec .feature_group .item_content img,
.feature_sec .feature_group .feature_item img {
    width: 34.125rem;
}

.feature_sec .feature_item .item p:nth-of-type(2),
.feature_sec .item_content_flex p:nth-of-type(2),
.feature_sec .item_content .item_content_text p:nth-of-type(2) {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.25rem;
    color: #442C16;
    line-height: 40px;
}

.feature_sec .feature_item .item p:nth-of-type(3),
.feature_sec .item_content_flex p:nth-of-type(3),
.feature_sec .item_content .item_content_text div p:nth-of-type(1) {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.grand_feature_group .item_content_text div {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
}

.grand_peer_sec .feature_item_1 .item_content .item_content_text div p:nth-of-type(1) {
    text-align: justify;
}

.grand_feature_group .feature_item_2 .item_context .item_content_flex p:nth-of-type(3) {
    text-align: justify;
}

.feature_sec .feature_item .item div {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.feature_sec .item_content .item_content_text ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    padding-left: 2rem;

}

.feature_sec .item_content .item_content_text ul li {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
    list-style: disc;

}

.feature_sec .feature_item img,
.feature_sec .item_context img,
.feature_sec .item-content img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.feature_sec .item_introduction {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: .9375rem;
    margin-top: 1.875rem;
}

.feature_sec .item_introduction>p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700 !important;
    font-size: 1.25rem !important;
    line-height: 40px !important;
    color: #442C16;
}

.feature_sec .item_introduction div.item_introduction_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1.7rem;
    padding-bottom: 1.3125rem;
}

.feature_sec .item_introduction p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    color: #442C16;
    line-height: 200%;
}

.feature_sec .feature_item_2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1.25rem;
    position: relative;
}

.feature_sec .item_context {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
}

.feature_sec .item_content_flex {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: 1rem;
    max-width: 95%;
}

.table {
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5625rem;
}

.table .table-name {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 40px;
    color: #442C16;
}

.feature_sec .feature_item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.375rem;
    position: relative;
    align-items: flex-start;
    margin-top: 1.1875rem;
}

.grand_peer_sec .feature_item:last-of-type {
    margin-top: 27rem;
}

.feature_item ul {
    padding-left: 1.5rem;
}

.feature_item ul li {
    list-style: disc;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.feature_sec .feature_item .item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: .9375rem;
    max-width: 98.5%;
}

.feature_sec .grand-bottom {
    width: 100%;
    position: absolute;
    bottom: 20rem;
    z-index: -1;
}

.purpose_sec {
    width: 100%;
    height: auto;
    position: relative;
    background-color: #FDF5EF;
}

.grand_room_purpose .container {
    gap: 4.815rem !important;
}

.grand_room_purpose .purpose_table {
    margin-bottom: 13rem;
}

.grand_nishio_purpose .purpose_table {
    margin-bottom: 1.435rem;
}

.purpose_sec .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 10.9375rem 0 8.625rem;
    display: flex;
    flex-direction: column;
    gap: 9.625rem;
    position: relative;
}

.purpose_sec .purpose_des {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
    position: relative;
}

.purpose_sec .purpose_kind {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 1.0625rem;
    position: relative;
}

.purpose_sec .purpose_kind a {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 2rem;
    line-height: 240%;
    color: #FFFFFF;
    padding: 0rem 1rem;
    background-color: #FFA000;
    width: 26.5rem;
}

.purpose_sec .purpose_des p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.purpose_sec .purpose_design {
    width: 100%;
    height: auto;
    position: relative;
}

.purpose_sec .purpose_design img {
    width: 100%;
    height: auto;
    object-fit: cover;
    position: relative;
}

.purpose_sec .purpose_design_table {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 6.25rem;
}

.purpose_table {
    background-color: #FFFFFF;
}

.purpose_table .score-table thead tr th {
    background-color: #FFA000;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 900;
    line-height: 40px;
    color: #FFFFFF;

}

.purpose_table .score-table th,
.purpose_table .score-table td {
    border: 4px solid #FDF5EF;
    font-size: 1rem;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    line-height: 40px;
}

.purpose_space {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.75rem;
    position: relative;
}

.purpose_space .purpose_space_item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    gap: 1rem;
    margin-bottom: 2.3125rem;
}

.purpose_space .purpose_space_item img {
    width: 100%;
    height: 18.75rem;
    object-fit: cover;
}

.purpose_space .purpose_space_item div p:first-of-type {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 40px;
    color: #442C16;
    width: 12.5rem;
    border-bottom: 2px solid #FFA000;
    padding-bottom: 0.9375rem;
}

.purpose_space .purpose_space_item div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: .9375rem;
}

.purpose_space .purpose_space_item div p:last-of-type {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
    text-align: justify;
}

.price_sec {
    width: 100%;
    height: auto;
    position: relative;
    background: url(../img/price_bk.png) no-repeat;
    background-size: cover;
}

.price_sec .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 10.625rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 2.1875rem;
}

.price_sec .container h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    line-height: 60px;
    color: #442C16;
    padding-bottom: 1.25rem;
}

.price_sec .container h2 span {
    border-bottom: 3px solid #FFA000;
    padding-bottom: 1.25rem;
}

.price_sec .price_table {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 4.25rem;
    position: relative;
}

.price_sec .price_table div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: 1.25rem;
}

.price_sec .price_table div p {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 40px;
    color: #442C16;
}

.price_sec .price_table div:first-of-type div:first-of-type {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
}

.grand_nishio .price_table div:first-of-type div:first-of-type {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: .5rem;
}

.price_table .score-table tr th:first-of-type {
    width: 16%;
}

.price_table .score-table thead tr th {
    background-color: #FFA000;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 900;
    line-height: 40px;
    color: #FFFFFF;
    text-align: left;
    padding-left: 1.065rem;
}

.price_table .score-table th,
.price_table .score-table td {
    border: 5px solid #ffdbc0;
    font-size: 1rem;
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    line-height: 32px;
}

.price_table .score-table td {
    text-align: left;
    padding-left: 1.065rem;
}

.price_table .score-table tr:last-of-type td {
    color: #FFA000;
}

.price_item_table {
    background-color: #FFFFFF;
}

.price_sec .price_table div:nth-of-type(2) div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
}

.price_table div:nth-of-type(2) div .score-table tr:first-of-type th {
    text-align: left;
    padding-left: 2.983rem;
}

.price_table div:nth-of-type(2) div .score-table tr td {
    border: 5px solid #ffdbc0;
    padding-left: 2.983rem;
}

.price_table div:nth-of-type(3) .score-table tr th:first-of-type {
    width: calc(100% / var(--column-count, 3));
    text-align: left;
    padding-left: 0.9375rem;
}

.price_table div:nth-of-type(3) .score-table tr td:nth-of-type(1),
.price_table div:nth-of-type(3) .score-table tr td:nth-of-type(2) {
    color: #442C16;
}

.price_table div:nth-of-type(3) .score-table thead tr th {
    text-align: left;
}

/*--------------facility_sec---------------*/
.facility_sec {
    width: 100%;
    height: auto;
    position: relative;
    background-color: #FDF5EF;
}

.facility_sec .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 11rem 0 12rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 6.25rem;
}

.facility_sec .container h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    line-height: 60px;
    color: #442C16;
    padding-bottom: 1.25rem;
}

.facility_sec .container h2 span {
    border-bottom: 3px solid #FFA000;
    padding-bottom: 1.25rem;
}

.facility_sec .facility_context {
    display: flex;
    gap: 6.5625rem;
    position: relative;
    margin-bottom: 1.4375rem;
}

.facility_sec img {
    width: 25rem;
    height: 28.125rem;
    object-fit: cover;
}

.facility_sec .facility_context .facility_context_text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: 3.125rem;
}

.facility_sec .facility_context_text p:first-of-type {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 200%;
    color: #442C16;
}

.facility_sec .facility_context_text p:first-of-type span {
    font-size: 1.5rem;
    color: #FFA000;
    line-height: 200%;
}

.facility_sec .facility_context_text p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.facility_sec .facility_overview {
    padding: 7.7rem 6.25rem 4.375rem;
    background-color: #FFFF;
    position: relative;
    width: 90%;
}

.grand .facility_sec .company-data-detail-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0px;
}

.facility_sec .company-data-detail-table>table {
    background-color: #ffffff;
    border-collapse: collapse;
    width: 100%;
}

.facility_sec .company-data-detail-table th {
    background-color: #ffffff;
    vertical-align: top;
    color: #333333;
    font-weight: 900;
    width: 28%;
    white-space: nowrap;
    font-size: 16px;
}

.facility_sec .company-data-detail-table tr:first-child th,
.facility_sec .company-data-detail-table tr:first-child td {
    border-top: none;
}

.facility_sec .company-data-detail-table th {
    font-family: 'Zen Kaku Gothic New';
    font-size: 1rem;
    font-weight: 700;
    line-height: 200%;
    color: #442C16;
}

.facility_sec .company-data-detail-table td {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.facility_sec .company-data-detail-table th,
.facility_sec .company-data-detail-table td {
    border-top: 2px solid #B3B3B3;
    padding: 1.75rem 3.07rem;
    text-align: left;
    vertical-align: top;
    font-size: 16px;
    line-height: 200%;
}

.facility_sec .company-data-detail-table tr:last-of-type th {
    padding: 1.75rem 0;
}

.company_sec .company-data-detail-table tr:last-of-type th {
    padding: 3.75rem 0 0;
}

.company-data-detail-table td>div,
.company-data-detail-table td>ul,
.company-data-detail-table td>.executives-box,
.company-data-detail-table td>.vehicles-list,
.company-data-detail-table td>.bank-list,
.company-data-detail-table td>.permission-box,
.company-data-detail-table td>.waste-items {
    margin: 0;
    padding: 0;
}

.company-data-detail-table table .executives-box {
    display: inline-block;
    line-height: 200%
}

.company-data-detail-table table .business-list {
    list-style: none;
    margin: 0;

}

.business-list li,
.business-list p {
    font-size: 1rem;
    font-weight: 500;
    line-height: 200%;
    color: #442C16;
    padding-left: 1.3rem;
}

.office-block,
.office-block strong,
.executive-row .title,
.executive-row .name {
    font-size: 1rem;
    font-weight: 500;
    line-height: 200%;
    color: #442C16;
}

.company-data-detail-table table .business-list li {
    padding: 0 .5rem;
}

.company-data-detail-table table .business-list li:before {
    content: '・';
}

.company-data-detail-table table tr th iframe {
    width: 100%;
    height: 17.75rem;
}

.facility_overview .about_service_content_title {
    padding: 0rem 15.15rem;
    font-size: 2rem;
    color: #FFFFFF;
    background-color: #FFA000;
    position: absolute;
    left: 0;
    right: 0;
    top: -2%;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
    border-radius: 3.125rem;
    font-family: 'Zen Antique';
    font-weight: 400;
    line-height: 60px;
}

/*---------------moving-sec-----------------------*/
.moving_sec {
    width: 100%;
    height: auto;
    position: relative;
}

.moving_sec .container {
    max-width: 1100px;
    padding: 11rem 0 12rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 6rem;
    margin: 0 auto;
}

.moving_sec .container h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    line-height: 60px;
    color: #442C16;
    padding-bottom: 1.25rem;
}

.moving_sec .container h2 span {
    border-bottom: 3px solid #FFA000;
    padding-bottom: 1.25rem;
}

.moving_sec .moving_block {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    gap: 2rem;
    position: relative;
}

.moving_sec .moving_vector {
    position: absolute;
    top: 11rem;
    right: 0;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    z-index: -1;
}

.moving_sec .moving_group {
    background-color: #FDF5EF;
    padding: 6.25rem;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.875rem;

}

.moving_sec .moving_item {
    background-color: #FFFFFF;
    padding: 2.5rem 3.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.moving_group .moving_item_btn {
    max-width: 100%;
    padding: 2.5rem 3.125rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    gap: 1rem;
    background-color: #FFA000;
    border-radius: 1rem;
}

.moving_group .moving_item_btn h3 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 100%;
    color: #FFFFFF;
}

.moving_group .moving_item_btn p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #FFFFFF;
}

.moving_sec .moving_item h3 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 100%;
    color: #FFA000;
}

.moving_sec .moving_content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    position: relative;
}

.moving_sec .moving_content p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
    width: 100%;
}

.moving_sec .moving_content a {
    position: relative;

}

.moving_sec .moving_content a::after {
    content: "";
    width: 1rem;
    height: 1rem;
    border: 0px;
    border-bottom: 2px solid #FFA000;
    border-right: 2px solid #FFA000;
    transform: rotate(45deg);
    position: absolute;
}

/*----------contact-sec---------------*/
.contact-sec {
    width: 100%;
    height: auto;
    position: relative;
}

.contact-sec .container {
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8.5625rem;
    position: relative;
    margin: 0 auto;
    padding: 12.5rem 0;
}

.contact-sec .container .contact-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 1.875rem;
}

.contact-sec .container .contact-header h2 {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 3rem;
    line-height: 100%;
    color: #442C16;
    padding-bottom: 1.25rem;
}

.contact-sec .container .contact-header h2 span {
    border-bottom: 3px solid #442C16;
    padding-bottom: 1.0625rem;
}

.contact-sec .container .contact-header p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1.25rem;
    line-height: 200%;
    color: #442C16;
    text-align: center;
}

.wpcf7 {
    width: 100%;
}

.form-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3.125rem;
}

.form_1,
.form_2,
.form_3,
.form_4,
.form_5,
.form_6,
.form_6_5,
.form_7,
.form_8,
.form_9 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.form_6_5 p:last-of-type .wpcf7-form-control-wrap .wpcf7-form-control {
    display: grid;
    gap: 1rem;
}

.form_7,
.form_9 {
    align-items: flex-start;
}

.form-inner .wpcf7-not-valid-tip {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 100%;
    margin-top: 1rem;
}

.form_9 p:nth-of-type(2) {
    width: 31.5rem;
}

/* .form_9 p:nth-of-type(2) span.wpcf7-form-control-wrap{
    width: 95%;
} */
.form_9 p:nth-of-type(2) span .wpcf7-textarea {
    width: 100%;
}

.form_10 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
}

.form_10.form_text p {
    display: block;
    line-height: 200%;
}

.form_10.form_text p:nth-of-type(2) span {
    border-bottom: 0.75px solid #442C16;
    line-height: 150%;
    padding-bottom: 0.9375rem;
}

.form_10.form_text p:nth-of-type(2) a:hover span {
    color: #FFA000;
    border-color: #FFA000;

}

.form_10 input[type="checkbox"] {
    width: 24px;
    height: 24px;
}

.form_10 label {
    vertical-align: middle;
}

.form_6 input[type="radio"],
.form_6_5 input[type="radio"] {
    width: 1rem;
    height: 1rem;
}

.form_11 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.form_11 .wpcf7-spinner {
    display: none;
}

.form_11 .list-btn-green {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 100%;
    color: #FFFFFF;
    padding: 1.84rem 8.5rem;
    background-color: #442C16;
}

.form_7>div>p {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: .1rem;
}

.form_text p {
    font-family: Zen Kaku Gothic New;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #442C16;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    position: relative;
    white-space: nowrap;

}

.form_text div,
.form_text p:nth-of-type(2) {
    width: 60%;
}

.form_text div p .wpcf7-form-control-wrap,
.form_text p:nth-of-type(2) .wpcf7-form-control-wrap {
    width: 100%;
}

.form_10 p:nth-of-type(2) {
    width: fit-content !important;
    padding-bottom: 0.9375rem;
    padding-right: 1rem;
}

.isneed {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: .625rem;
    line-height: 100%;
    color: #FFFFFF;
    background-color: #FFA000;
    padding: .3rem 1rem;
}

input.wpcf7-form-control,
textarea.wpcf7-form-control {
    max-width: 100%;
    width: 100%;
    background-color: #f0f0f0;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    font-weight: 400;
    font-size: 20px;
    font-family: "Noto Sans JP";
    padding: 8px;
    margin-top: 5px;

}

.datetime-wrapper {
    position: relative;
}

.form_8 .datetime-wrapper::after {
    position: absolute;
    content: '';
    background: url(../img/contact/calender.png) center center no-repeat;
    top: 25%;
    right: 1rem;
    width: 27px;
    height: 29px;
    pointer-events: none;
}

.form_7 div p span:first-of-type input.form-input {
    width: 40%;
}

.form_7 .wpcf7-form-control-wrap input.form-input {
    padding: 10px;
}

.hidden-fields-container {
    opacity: 0;
}

#confirmation-modal .modal-content {
    background-color: #fff;
    margin: 6% auto auto;
    padding: 80px 50px;
    border-radius: 8px;
    max-width: 590px;
}

#confirmation-modal .modal-content h3 {
    font-size: 28px;
    text-align: center;
    color: #FFA000;
}

#confirmation-modal .modal-content ul {
    padding: 50px 0;
    list-style: none;
    margin: 0;
}

#confirmation-modal .modal-content ul li {
    font-size: 16px;
    padding-bottom: 16px;
    display: flex;
}

#confirmation-modal .modal-content ul li strong {
    font-weight: 600;
    width: 16rem;
    display: inline-block;
}

#confirmation-modal .modal-content ul li span {
    width: calc(100% - 18rem);
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

#confirmation-modal .modal-buttons {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

#confirmation-modal .modal-buttons button {
    margin: 0;
    border: none;
    padding: .5rem 1rem;
    color: white;
    background-color: #442C16;
}

#cf-edit {
    background-color: #919191;
}

#cf-edit::before {
    content: url(http://maru-nage.jp/test01/wp-content/themes/ecocreation-2025/img/guyners/img/arr_btn_white.png);
    position: absolute;
    left: 25px;
    top: 20px;
    transform: rotate(180deg);
}

#cf-edit::after {
    display: none;
}

#cf-submit::after {
    right: 25px;
    top: 25px;
}

/* thanks modal */
.cf7-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.6);
}

.cf7-modal-content {
    background-color: #fff;
    margin: 12% auto;
    padding: 80px 90px;
    border-radius: 8px;
    max-width: 510px;
    text-align: center;
}

.cf7-modal-content img {
    width: 71px;
}

.cf7-modal-content p {
    font-family: 'Zen Kaku Gothic';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
    padding: 40px 0;
}

#cf7-modal-close {
    border: none;
    cursor: pointer;
    padding: 1rem 2rem;
    border-radius: 50px;
    background-color: #FFA000;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 1rem;
    line-height: 20px;
}

#cf7-modal-close::after {
    top: 25px;
}

.wpcf7 form.failed .wpcf7-response-output {
    display: none;
}

.address_content {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    position: relative;
}

.address_content span {
    width: 100% !important;

}

/*-----------company-sec--------------*/
.company_sec {
    background-color: #6ECA4C;
}

.company_sec .container {
    max-width: 1440.75px;
    padding: 11rem 0 28.875rem;
}

.company_sec .facility_overview {
    padding: 7.7rem 4.25rem 4.375rem;
}

.company_sec .company_overview .company-data-detail-table {
    width: 68.66rem;
    margin: 0 auto;
}

.company_header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    gap: 1.25rem;
}

.company_header h1 {
    font-weight: 700;
    font-family: 'Zen Kaku Gothic New';
    font-size: 4rem;
    line-height: 100%;
    color: #FFFFFF;
}

.company_header p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 100%;
    color: #FFFFFF;
}

.company_overview {
    padding: 2rem 4rem 4rem;
}

.company-list p:first-of-type,
.company-list p:nth-of-type(9),
.company-list p:nth-of-type(12),
.company-list p:nth-of-type(14),
.company-list p:nth-of-type(16),
.company-list p:nth-of-type(20),
.company-list p:nth-of-type(25),
.company-list p:nth-of-type(26),
.company-list p:nth-of-type(27),
.company-list p:nth-of-type(29) {
    color: #FFA000;
}

.company-list p {
    padding: 0;
}

.compnay_contact_sec {
    margin-top: -18rem;
}

/*----------blog-section---------------*/
.blog_list_sec {
    width: 100%;
    height: auto;
    position: relative;
}

.blog_list_sec .container {
    max-width: 1100px;
    position: relative;
    margin: 0 auto;
    padding: 20.375rem 0 27.5rem;
}

.blog_list_group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.375rem;
    position: relative;
}

.blog_list_item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: .75rem;
    position: relative;
}

.blog_list_item a {
    max-width: 500px;
    max-height: 320px;
    position: relative;
    width: 500px;
    height: 320px;
}

.blog_list_item a img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.blog_list_item a img.no-image {
    display: none;
}

.blog_list_item a .image-placeholder {
    width: 100%;
    height: 100%;
    background-color: #f0f0f0;
    display: block;
}

.voice_list .blog_list_item {
    border-bottom: 1px dashed #442C16;
    padding-bottom: 1.625rem;
    margin-bottom: 1rem;
}

.blog_list_item div {
    display: flex;
    position: relative;
    align-items: center;
    gap: 1.5625rem;
}

.voice_list .pagination,
.blog_list_sec .pagination {
    display: flex;
    gap: 12px;
    justify-content: center;
    align-items: center;
    margin-top: 4.6875rem;
    flex-wrap: wrap;
}

.voice_list .page-btn.active,
.blog_list_sec .page-btn.active {
    background-color: #FFA000;
    color: white;
}

.voice_list .page-btn .blog_list_sec .page-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 54px;
    height: 54px;
    border: 2px solid #FFA000;
    border-radius: 50%;
    text-decoration: none;
    color: #18603A;
    font-weight: 500;
    transition: 0.3s;
    font-size: 16px;
}

.blog_list_sec .end {
    position: relative;
    color: #18603A;
    display: block;
}

.voice_list .page-btn,
.blog_list_sec .page-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 54px;
    height: 54px;
    border: 2px solid #FFA000;
    border-radius: 50%;
    text-decoration: none;
    color: #18603A;
    font-weight: 500;
    transition: 0.3s;
    font-size: 16px;
}

.blog_list_sec .start {
    position: relative;
    color: #18603A;
    display: block;
}

.blog_list_sec .start::after {
    content: '';
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: 2px solid #18603A;
    border-right: 2px solid #18603A;
    transform: rotate(225deg);
    position: absolute;
    top: 37%;
    left: 24px;
}

.blog_list_sec .end::after {
    content: '';
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: 2px solid #18603A;
    border-right: 2px solid #18603A;
    transform: rotate(45deg);
    position: absolute;
    top: 37%;
    right: 24px;
}

.voice_list .prev,
.voice_list .next

/* .blog_list_sec .prev,
.blog_list_sec .next  */
    {
    display: none !important;
}

.voice_fv,
.voice_sub {
    background-color: #fdf5ef;
}

.voice_group {
    width: 100%;
    height: auto;
    position: relative;
    background-color: #fdf5ef;
}

.voice_group .container {
    max-width: 1100px;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 6.25rem;
    margin: 0 auto;
    padding: 12.5rem 0 27.5rem;
}

.voice_group .blog-date {
    color: #B5B5B5;
}

.voice_group .blog-category {
    padding: 0.25rem 1.875rem;
    background-color: #FFA000;
}

.voice_group .voice_header {
    display: flex;
    flex-direction: column;
    gap: 2.1875rem;
    position: relative;
}

.voice_group .blog_list_item {
    justify-content: space-between;
}

.voice_group .blog_list_item a {
    width: 100%;
}

.voice_group .blog_list_item a:nth-of-type(2) {
    max-width: 100%;
    width: 100%;
    height: auto;
}

.voice_group .blog-item-title {
    line-height: 150%;
    max-width: 24rem;
    padding-top: .5rem;
}

.voice_header h2 {
    font-family: 'Zen Antique';
    font-weight: 400;
    font-size: 3rem;
    line-height: 60px;
    color: #442C16;
    padding-bottom: 1.25rem;
}

.voice_header h2 span {
    border-bottom: 3px solid #FFA000;
    padding-bottom: 1.0625rem;
}

.voice_header p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.voice_category {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.875rem;
}

.voice_category a {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 35px;
    color: #FFFFFF;
    padding: .5rem 2rem;
    background-color: #FFA000;
    text-align: center;
    position: relative;
}

.voice_category a::after {
    content: "";
    width: 10px;
    height: 10px;
    border: 0px;
    border-bottom: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    transform: rotate(45deg);
    position: absolute;
    top: 1rem;
    right: 1.5rem;
}

.voice_title {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    position: relative;
    cursor: pointer;
}

.voice_title span {
    width: 2rem;
    height: 2rem;
    position: relative;
    border-radius: 50%;
    border: 1px solid #442C16;
    background-color: #FDF5EF;
}

.voice_title span::after {
    content: "";
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: 2px solid #442C16;
    border-right: 2px solid #442C16;
    transform: rotate(45deg);
    position: absolute;
    top: .7rem;
    right: .7rem;
}

/*-----------single-blog-sec-------------*/
.item_sec {
    width: 100%;
    height: auto;
    position: relative;
}

.item_sec .container {
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 2.125rem;
    padding: 12.5rem 0 28.5rem;
}

.item_sec .blog_item_header {
    display: flex;
    flex-direction: column;
    position: relative;
    gap: 0.625rem;
}

.item_sec .blog_item_header div {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    gap: 1rem;
}

.item_sec .blog_item_header div p:first-of-type {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 48px;
    color: #FFFFFF;
    background-color: #FFA000;
    padding: 0 3.68rem;
}

.item_sec .blog_item_header div p:nth-of-type(2) {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 48px;
    color: #B5B5B5;
}

.blog_item_title {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 48px;
    color: #442C16;
}

.blog_item_content {
    display: block;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 3.5rem;
    padding-bottom: 5rem;
    border-bottom: 1px dashed #442C16;
}

.blog_item_content p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.item_navi {
    margin-top: 2.7225rem;
}

.navi_inner {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1.6875rem;
    position: relative;
}

.navi_inner .navi_prev a,
.navi_inner .navi_next a {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: .7rem;
    cursor: pointer;
}

.navi_inner .navi_prev .disabled,
.navi_inner .navi_next .disabled {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: .7rem;
    cursor: not-allowed;
}

.navi_inner .navi_prev .circle,
.navi_inner .navi_next .circle {
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    border: 2px solid #442C16;
    position: relative;
}

.navi_inner .navi_prev .circle::after {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-bottom: 2px solid #442C16;
    border-left: 2px solid #442C16;
    transform: rotate(45deg);
    position: absolute;
    top: .4rem;
    right: .2rem;
}

.navi_inner .navi_next .circle::after {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: 2px solid #442C16;
    border-right: 2px solid #442C16;
    transform: rotate(45deg);
    position: absolute;
    top: .4rem;
    left: .3rem;
}

.navi_inner .navi_prev a p,
.navi_inner .navi_next a p,
.navi_inner .navi_prev .disabled p,
.navi_inner .navi_next .disabled p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 75px;
    color: #442C16;
}

.navi_inner .navi_back {
    font-family: 'Noto Sans JP';
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 25px;
    color: #FFFFFF;
    padding: 2rem 8rem;
    background-color: #442C16;
}

.category_active {
    background-color: #6ECA4C !important;
}

/*----------------privacy_sec------------*/
.privacy_sec {
    width: 100%;
    height: auto;
    position: relative;
}

.privacy_sec .container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 12.5rem 0 28.5rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 2rem;
}

.privacy_sec p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 500;
    font-size: 1rem;
    line-height: 200%;
    color: #442C16;
}

.wpcf7-form-control.wpcf7-radio {
    position: relative;
}

/*-------------radio button--------------*/
.wpcf7-list-item {
    display: block;
    position: relative;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 20px;
    user-select: none;
}

/* Only apply to radio buttons inside wpcf7-list-item */
.wpcf7-list-item input[type="radio"] {
    opacity: 0;
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    cursor: pointer;
}

/* Custom radio circle */
.wpcf7-list-item input[type="radio"]+span::before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-right: 12px;
    vertical-align: middle;
    border: 2px solid #666;
    border-radius: 50%;
    background-color: #fff;
    transition: all 0.3s ease;
    box-sizing: border-box;
    position: relative;
    top: -1px;
}

/* Checked state: filled circle with color */
.wpcf7-list-item input[type="radio"]:checked+span::before {
    background-color: #FFA000;
    border: 2px solid #666;
}

.wpcf7-list-item input[type="radio"]:checked+span::after {
    content: '';
    position: absolute;
    top: 0px;
    left: 1px;
    width: 20px;
    height: 21px;
    border-radius: 50%;
    border: 4px solid #FFFFFF;
    background-color: #FFA000;
    text-align: center;
}

/* Hover effect */
.wpcf7-list-item input[type="radio"]+span:hover::before {
    border-color: #FFA000;
}



/* ------------checkboxes---------------- */
.wpcf7-list-item input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    cursor: pointer;
}

/* Custom circle for checkbox */
.wpcf7-list-item input[type="checkbox"]+span::before {
    content: '';
    display: inline-block;
    width: 32px;
    height: 32px;
    vertical-align: middle;
    border: 2px solid #666;
    border-radius: 50%;
    /* Circle shape */
    background-color: #fff;
    transition: all 0.3s ease;
    box-sizing: border-box;
    position: relative;
    top: -1px;
}

/* Checked state: solid circle inside */
.wpcf7-list-item input[type="checkbox"]:checked+span::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 1px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 4px solid #FFFFFF;
    background-color: #FFA000;
}

/* Hover effect */
.wpcf7-list-item input[type="checkbox"]+span:hover::before {
    border-color: #FFA000;
}


/*---------------loading-screen-------------------*/
.loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #FFFFFF;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 0.5s ease-out;
    z-index: 1000000000;
}

.loading-screen .grand-bottom {
    width: 100%;
    position: absolute;
    top: 17%;
    z-index: -1;
}

.loading-screen.loading-screen-hidden {
    opacity: 0;
    pointer-events: none;
}

.loading-screen-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5rem;
    width: 100%;
    max-width: 1920px;
    padding: 0 1rem;
}

.loading-company-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.loading-company-name {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: clamp(1.5rem, 3vw, 2.5rem);
    color: #1F3A93;
    letter-spacing: 0.1em;
    text-align: center;
}

.loading-logo-wrapper {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    position: relative;
    max-width: 1045px;
    gap: 5rem;
}

.loading-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    gap: 1rem;
}

.loading-img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    position: relative;
}

.loading-item>p {
    font-family: 'Zen Kaku Gothic New';
    font-weight: 700;
    font-size: 1rem;
    line-height: 125%;
    color: #442C16;
}

.loading-logo {
    width: auto;
    height: clamp(60px, 8vw, 100px);
    object-fit: contain;
}

.loading-progress-container {
    width: 100%;
    max-width: 1920px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    position: relative;
}

.loading-progress-line {
    width: 100%;
    height: 3px;
    background-color: #FFA000;
    position: relative;
    border-radius: 2px;
    overflow: visible;
    margin-bottom: 2.5rem;
}

.loading-progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-color: #FFA000;
    width: 0%;
    transition: width 0.3s ease;
}

.loading-progress-marker {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(-50%, -50%);
    transition: left 0.1s linear;
    z-index: 10;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    position: relative;
    background-color: #FFA000;
}

.loading-progress-circle {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #FFA000;
    border: 2px solid #FFA000;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.loading-progress-percentage {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: clamp(1rem, 2vw, 1.5rem);
    color: #FFA000;
    text-align: center;
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0%;
    transform: translateX(-50%);
    transition: left 0.1s linear;
    white-space: nowrap;
}