
.igi_a{
    padding: var(--pdy) var(--pdx);
}
.igi_a01{
    max-width: 1600px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.igi_a01 dl{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 1200px;
}
.igi_a01 dl dd{
    padding: 50px 0;
    position: relative;
    z-index: 1;
    margin: 0 15px 0 0;
    width: 100%;
    max-width: 150px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.igi_a01 dl dd::before{
    content: '';
    position: absolute;
    top: 0px;
    right: 15px;
    height: 100%;
    width: 2px;
    background-color: var(--colorTextlight);
    z-index: -1;
}
.igi_a01 dl dd p{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
}
.igi_a01 dl dd p s{
    font-size: var(--f24);
    color: var(--colorTextlight);
    font-weight: 500;
    font-family: var(--Marcfont);
    line-height: 120%;
    width: 77px;
    text-align: right;
}
.igi_a01 dl dd p i{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 0 10px;
    padding: 20px 0;
    background-color: #FCFBFA;
    position: relative;
    z-index: 1;
    min-width: 31px;
    min-height: 31px;
}
.igi_a01 dl dd p i::after{
    content: '';
    position: absolute;
    z-index: 10;
    width: 16px;
    height: 16px;
    border-radius: 500px;
    border: 3px solid var(--colorTextlight);
}
.igi_a01 dl dd p.igi_a01color s{
    color: var(--colorSub);
}
.igi_a01 dl dd p.igi_a01color i::after{
    border-color: var(--colorSub);
    background-color: var(--colorSub);
}
.igi_a01 dl dt{
    position: relative;
    z-index: 1;
}
.igi_a01 dl dt img:nth-of-type(1){
    border-radius: 4vw;
    overflow: hidden;
    line-height: 0px;
    object-fit: cover;
    min-height: 100%;
}
.igi_a01 dl dt img:nth-of-type(2){
    position: absolute;
    bottom: -3vw;
    right: -6vw;
    width: 21%;
    max-width: fit-content;
}
.igi_a01con{
    min-width: fit-content;
    margin: 0 0 0 5%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: row-reverse;
    padding: 2vw 0 0;
}
.igi_a01con > p{
    writing-mode: vertical-rl;
    font-size: var(--f16);
    font-family: var(--Sansfont);
    letter-spacing: 0.4em;
    margin: 0 0 0 15px;
}
.igi_a01con > p s{
    display: inline-block;
    font-size: var(--f16);
    font-family: var(--Sansfont);
    letter-spacing: 0.4em;
}
.igi_a01con > p:nth-last-of-type(1){
    padding: 4vw 0 0;
}
.igi_a01con > p:nth-last-of-type(2){
    padding: 3vw 0 0;
}
.igi_a01con > p:nth-last-of-type(3){
    padding: 2vw 0 0;
}

.igi_b{
    padding: var(--pdy) var(--pdx);
}
.igi_b01{
    max-width: 1600px;
    margin: auto;
    border-radius: 4vw;
    overflow: hidden;
    text-align: center;
    padding: calc(var(--pdy)*1.2) var(--pdx) var(--pdy);
    background: url(/edit_image/index/ig_bg01.jpg);
    background-position: 40%;
    background-size: cover;
    background-attachment: fixed;
    position: relative;
    z-index: 1;
}
.igi_b01 > p{
    font-size: var(--f16);
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 250%;
    margin: 0 0 calc(1vw + 50px);
    filter: drop-shadow(1px 1px 3px #000);
    -webkit-filter: drop-shadow(1px 1px 3px #000);
}
.igi_b01 > p s{
    display: inline-block;
    font-size: var(--f16);
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 250%;
}
.igi_b01 > img{
    width: 40%;
    margin: auto;
    max-width: fit-content;
}

.igi_c{
    padding: 0 var(--pdx) 0 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.igi_c_left{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    position: relative;
    z-index: 1;
}
.igi_c_left > img{
    position: absolute;
    top: 3vw;
    right: -3vw;
    max-width: fit-content;
    width: 20%;
}
.igi_c_left li:nth-of-type(1){
    border-top-right-radius: 4vw;
    border-bottom-right-radius: 4vw;
    overflow: hidden;
}
.igi_c_left li:nth-of-type(2){
    border-top-left-radius: 4vw;
    border-bottom-left-radius: 4vw;
    overflow: hidden;
}
.igi_c_right{
    max-width: 775px;
    width: 65%;
    margin: 0 0 0 5%;
}
.igi_c_right .ig_title{
    margin: 0 0 0 auto;
}
.igi_c_right_list{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
    margin: calc(2vw + 50px) 0 calc(1vw + 30px);
    width: 100%;
}
.igi_c_right_list dl{
    width: 100%;
}
.igi_c_right_list dl dd{
    max-width: 200px;
    width: 100%;
    margin: auto;
    padding: 0 0 70px;
    position: relative;
    z-index: 1;
}
.igi_c_right_list dl dd::after{
    content: '';
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 500px;
    background-color: var(--colorMainlight);
    width: 18px;
    height: 18px;
    animation: index_effect01 1s infinite linear;
}
.igi_c_right_list dl:nth-of-type(2){
    margin: 0 11%;
}
@keyframes index_effect01 {
    0%{transform: translateX(-50%) translateY(0);}
    20%{transform: translateX(-50%) translateY(-3px);}
    25%{transform: translateX(-50%) translateY(-5px);}
}
.igi_c_right_list dl dt{
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.igi_c_right_list dl dt s{
    font-size: var(--f32);
    color: var(--colorText);
    letter-spacing: 0.1em;
    font-weight: 500;
    font-family: var(--Marcfont);
}
.igi_c_right_list dl dt u{
    font-size: var(--f20);
    letter-spacing: 0.1em;
    color: var(--colorText);
    margin: 0 10px;
    font-weight: 500;
    font-family: var(--Marcfont);
}
.igi_c_right_list dl dt p{
    font-size: var(--f20);
    letter-spacing: 0.1em;
    color: var(--colorText);
}
.igi_c_right > h6{
    text-align: right;
    font-weight: normal;
    font-size: var(--f16);
    letter-spacing: 0.1em;
    color: var(--colorTextlight);
}

.igi_d{
    text-align: center;
    padding: var(--pdy) var(--pdx);
}
.igi_d > p{
    font-size: var(--f16);
    letter-spacing: 0.3em;
    writing-mode: vertical-rl;
    margin: auto;
    font-weight: 400;
}
.igi_d > figure{
    margin: 15px auto 0;
    position: relative;
    z-index: 1;
}
.igi_d > figure h4{
    font-family: var(--Seriffont);
    letter-spacing: 0.1em;
    font-size: var(--f24);
    line-height: 150%;
    width: 100%;
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%,-50%);
}

/* --- Media Queries --- */
@media (max-width: 1360px) {}
@media (max-width: 1024px) {
    .igi_c{flex-direction: column-reverse;padding: var(--pdy) var(--pdx);}
    .igi_c_right{margin: 0 0 60px;width: 100%;}
    .igi_c_right > h6{text-align: center;}
    .igi_c_right .ig_title{margin: auto;}
}
@media (max-width: 992px) {
    .igi_a01{flex-direction: column-reverse;align-items: center;}
    .igi_a01con{margin: 0 0 40px;min-width: unset;flex-direction: column;}
    .igi_a01con > p{writing-mode: unset;text-align: center;}
    .igi_a01con > p:nth-last-of-type(1){padding: 10px 0 0 4vw;}
    .igi_a01con > p:nth-last-of-type(2){padding: 10px 0 0 3vw;}
    .igi_a01con > p:nth-last-of-type(3){padding: 10px 0 0 2vw;}

    .igi_d > figure h4{top: 20%;}
}
@media (max-width: 768px) {}
@media (max-width: 600px) {
    .igi_a01 dl{flex-direction: column-reverse;}
    .igi_a01 dl dd{width: 100%;max-width: unset;display: none;}
    .igi_a01 dl dt img:nth-of-type(1){min-height: unset;}

    .igi_b01{background-attachment: unset;background-position: center;}
    
    .igi_d{padding: 0px var(--pdx) var(--pdy);}
    .igi_d > figure h4{top: unset;left: unset;transform: unset;position: unset;}

}
@media (max-width: 475px) {
    .igi_c_right_list{flex-wrap: wrap;justify-content: center;}
    .igi_c_right_list dl{width: calc(100%/2);}
    .igi_c_right_list dl,
    .igi_c_right_list dl:nth-of-type(2){margin: 10px 0;}
}
@media (max-width: 375px) {}