/* -- reset module8 -- */
.edit,
.show_content,
.main_part { width: 100% !important; max-width: 100% !important; margin: auto !important; padding: 0px !important;}
.pageIndex .main_part { border:none !important; }
.path,
.banner { display:none;}
.edit_part {max-width: 100%;margin: auto;padding: 0;}
/* -- reset module8 end -- */

.foi_a{
    padding: calc(var(--pdy)*1.2) var(--pdx);
    background: url(../edit_image/index/fo_bg01.jpg) center;
    text-align: center;
}
.foi_a01{
    max-width: 1500px;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}
.foi_a01 a figure{
    overflow: hidden;
    --mask_pos: 50%;
}
.foi_a > a{
    width: 70%;
    max-width: 290px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    border-radius: 500px;
    background-color: #523f2fa1;
    text-align: center;
    margin: calc(1vw + 20px) auto 0;
    color: var(--colorText-white);
    font-size: var(--f22);
    padding: 15px 0;
    transition: all .4s ease !important;
    box-shadow: inset 0px 0px 0px #000,inset  0px 0px 0px #ccc;
}
.foi_a > a:hover{
    background-color: var(--colorBrown);
    box-shadow: inset 2px 2px 3px #000,inset  -1px -1px 2px #cccccc5e;
}

.foi_b{
    padding: var(--pdy) 0 50px var(--pdy);
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.foi_b::before{
    content: '';
    background: url(../edit_image/index/fo_bg02.png) left / cover;
    position: absolute;
    top: 0px;
    width: 100%;
    height: 400px;
    z-index: -1;
}
.foi_b01{
    width: 390px;
    min-width: fit-content;
    margin: 0 5% 0 0;
    overflow: hidden;
}
.foi_b01 > h4{
    writing-mode: vertical-rl;
    font-size: var(--f30);
    line-height: 1.4;
    letter-spacing: 0.04em;
    font-weight: normal;
    font-family: var(--Seriffont);
}
.foi_b01 > span{
    display: block;
    font-weight: normal;
    font-family: var(--Cardofont);
    line-height: 1.4;
    letter-spacing: 0.2em;
    margin: calc(8vw + 20px) 0 calc(2vw + 20px);
    color: var(--colorGreen);
}
.foi_b01 > p{
    margin: 30px 0 0;
}
.foi_b02{
    padding: 30px 0 0;
    overflow: hidden;
}
.foi_b02 figure{
    --mask_pos: 100%;
    margin: calc(1vw + 30px) 0 0;
}

.foi_c{
    padding: var(--pdy) 0;
    background: url(../edit_image/index/fo_bg03.jpg) center / cover;
}
.foi_c01{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.foi_c01 article{
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    flex-direction: row-reverse;
    width: 540px;
    margin: 0 0 0 5%;
}
.foi_c01 article p{
    writing-mode: vertical-rl;
}
.foi_c01 article p:nth-of-type(2){
    margin: 0 calc(2vw + 30px);
}
.foi_c01 article h4{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 1;
    margin: 0 0 0 calc(1vw + 30px);
}
.foi_c01 article h4::before{
    content: '';
    position: absolute;
    top: -20px;
    right: -20px;
    width: 30px;
    height: 30px;
    background: url(../edit_image/fo_icon_flower.png) center / cover;
    animation: run_circle 5s infinite linear;
}
@keyframes run_circle {
    100%{transform: rotate(360deg);}
}
.foi_c01 article h4 s{
    width: 50px;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid var(--colorCoral);
    border-radius: 500px;
}
.foi_c01 > dl{
    margin: 0 0 0 -3vw;
}
.foi_c01 > dl dd{
    font-size: var(--f18);
    color: var(--colorGreen);
    line-height: 1.4;
    letter-spacing: 0.2em;
    padding: 0 0 30px 15%;
    font-family: var(--Cardofont);
}

.foi_c02{
    max-width: fit-content;
    margin: 15px auto;
    display: flex;
    justify-content: center;
    align-items: flex-end;
}
.foi_c02 > s{
    margin: 0 10px;
    font-size: var(--f15);
    line-height: 1.4;
    letter-spacing: 0.2em;
    color: var(--colorGreen);
    font-family: var(--Cardofont);
}
.foi_c02 img{
    transition: all .4s ease;
    margin: 0 0 7px;
}
.foi_c02:hover img{
    transform: translateX(8px);
}
.foi_c03{
    max-width: 1480px;
    width: 90%;
    margin: calc(5vw + 30px) auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 4%;
    row-gap: 20px;
    overflow: hidden;
}
.foi_c03 dl{
    background-color: #ffffff9a;
    backdrop-filter: blur(5px);
    padding: calc(2vw + 50px) var(--pdx);
    display: flex;
    justify-content: center;
    align-items: center;
}
.foi_c03 dl dt{
    min-width: 70px;
    margin: 0 20px 0 0;
}
.foi_c03 dl dd{
    max-width: 350px;
    width: 100%;
}
.foi_c03 dl dd p{
    max-width: fit-content;
    font-size: var(--f22);
    line-height: 1.2;
    margin: 0 0 10px;
    position: relative;
    z-index: 1;
}
.foi_c03 dl dd p::before{
    content: '';
    position: absolute;
    top: -30px;
    right: -30px;
    width: 30px;
    height: 30px;
    background: url(../edit_image/fo_icon_flower.png) center / cover;
    animation: run_circle 5s infinite linear;
}
.foi_c03 dl dd span{
    letter-spacing: 0.03em;
}

.foi_d{
    padding: calc(var(--pdy)*1.5) var(--pdx);
    background-color: #161F1C;
}
.foi_d01{
    max-width: 1585px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1.4fr 1fr;
    column-gap: 5%;
    row-gap: 30px;
}
.foi_d01_cen{
    overflow: hidden;
}
.foi_d01_ri,
.foi_d01_le{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    overflow: hidden;
}
.foi_d01_le article h4,
.foi_d01_ri article h4{
    font-size: var(--f30);
    margin: calc(1vw + 30px) 0 5px;
    font-weight: normal;
    color: var(--colorText-white);
}
.foi_d01_le article p,
.foi_d01_ri article p{
    color: var(--colorText-white);
}
.foi_d01_le > s{
    color: var(--colorGreen);
    font-family: var(--Cardofont);
    font-size: var(--f18);
    letter-spacing: 0.2em;
    word-break: break-word;
}
.foi_d01_ri > aside{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}
.foi_d01_ri > aside a{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px;
    margin: 10px 10px 0 0;
    position: relative;
    z-index: 1;
}
.foi_d01_ri > aside a:is(:last-of-type){
    margin: 10px 0 0;
}
.foi_d01_ri > aside a p{
    color: var(--colorText-white);
    line-height: 1.2;
    margin: 0 15px 0 0;
}
.foi_d01_ri > aside a s{
    color: var(--colorGreen);
    font-family: var(--Cardofont);
    font-size: var(--f15);
    letter-spacing: 0.2em;
    word-break: break-word;
}
.foi_d01_ri > aside a::after{
    content: '';
    width: 0%;
    height: 1px;
    background-color: #fff;
    transition: all .4s ease-in-out;
    position: absolute;
    bottom: 0px;
    left: 0px;
}
.foi_d01_ri > aside a:hover::after{
    width: 100%;
}

/* --- Media Queries --- */
@media (max-width: 1500px) {
    .foi_c01 > dl{margin: 0;}
    .foi_c01 article{margin: 0 5%;width: 350px;}
}
@media (max-width: 1440px) {
    .foi_d01{grid-template-columns: 1fr 1.2fr 1fr;}
    .foi_d01_cen{min-height: 520px;}
    .foi_d01_cen > img{min-height: 100%;object-fit: cover;}
}
@media (max-width: 1024px) {
    .foi_b{flex-direction: column;padding: var(--pdy) var(--pdx) 50px;}
    .foi_b01{width: 100%;margin: 0;display: grid;grid-template-columns: 80px 1fr;column-gap: 10%;}
    .foi_b01 > h4{grid-row: 1/4;}
    .foi_b02 > p{text-align: right;}

    .foi_c{padding: var(--pdy) var(--pdx);}
    .foi_c01{flex-wrap: wrap;align-items: center;}
    .foi_c01 > figure{order: 10;width: 100%;margin: 10px 0 0;}
    .foi_c01 > figure img{width: 100%;}
    .foi_c01 article{width: 50%;margin: 0 5% 0 0;}
    .foi_c01 dl{width: calc(50% - 5%);}
    .foi_c03{width: 100%;}
}
@media (max-width: 992px) {
    .foi_d01{grid-template-columns: 1fr 1fr;}
    .foi_d01_le{grid-column: 1/3;}
}
@media (max-width: 768px) {
    .foi_a01{grid-template-columns: 1fr;max-width: 500px;}
    .foi_a01 a{position: sticky;top: 0px;}

    .foi_c01 article{width: 100%;justify-content: center;margin: 0 0 30px;}
    .foi_c01 dl{width: 100%;display: none;}
    .foi_c01 article h4 {margin: 0 0 0 15px;}
    .foi_c01 article h4 s{width: 40px;height: 40px;}
    .foi_c01 article p:nth-of-type(2){margin: 0 15px;}
    .foi_c03{grid-template-columns: 1fr;}
}
@media (max-width: 576px) {
    .foi_d01{grid-template-columns: 1fr;}
    .foi_d01_le{grid-column: unset;}
    .foi_d01_cen{min-height: unset;}
    .foi_d01_cen > img{min-height: unset;}
    .foi_d01_ri > aside{margin: 30px 0 0;}
}
@media (max-width: 480px) {
    .foi_b01{grid-template-columns: 1fr;display: block;}
    .foi_b01 > h4{grid-row: unset;writing-mode: unset;}
    .foi_b02 > p{text-align: left;}
}
@media (max-width: 375px) {}