.shi_a{
    padding: calc(var(--pdy)*2) var(--pdx);
    background: url(../images/index/sh_bg01.jpg);
    background-position: center;
    background-size: cover;
}
.shi_a01{
    max-width: 1400px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.shi_a01img{
    box-shadow: 3px 3px 3px var(--colorSub);
    position: relative;
    z-index: 1;
    line-height: 0px;
    align-self: stretch;
}
.shi_a01img > img:nth-of-type(1){
    min-height: 100%;
    object-fit: cover;
}
.shi_a01img > img:nth-of-type(2){
    position: absolute;
    right: 50%;
    bottom: 75%;
    z-index: -1;
    width: clamp(100px, 50vw, 520px);
}
.shi_a01img > img:nth-of-type(3){
    position: absolute;
    top: 92%;
    left: 70%;
    width: clamp(60px, 20vw, 255px);
}
.shi_a01con{
    width: 700px;
    margin: 0 0 0 5%;
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.shi_a01con dd{
    max-width: 410px;
    width: 100%;
    margin: 0 30px 0 0;
    writing-mode: vertical-rl;
}
.shi_a01con dd p{
    font-size: var(--f18);
    line-height: 180%;
    letter-spacing: 0.05em;
    max-height: 460px;
    margin: 0 0 0 15px;
}
.shi_a01con dt{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: fit-content;
    text-align: center;
}
.shi_a01con dt p{
    font-size: var(--f36);
    line-height: 120%;
    letter-spacing: 0.1em;
    writing-mode: vertical-rl;
    font-family: var(--Seriffont);
    font-weight: 500;
}

.shi_b{
    background: url(../images/index/sh_bg02.jpg);
    background-position: center;
    background-size: cover;
    padding: calc(var(--pdy)*2) var(--pdx) calc(var(--pdy)*2.5);
}
.shi_b01{
    max-width: 1400px;
    margin: auto;
    position: relative;
    z-index: 1;
}
.shi_b01 dl{
    max-width: 600px;
    width: 50%;
}
.shi_b01 dl dt{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.shi_b01 dl dt p{
    font-size: var(--f24);
    line-height: 180%;
    letter-spacing: 0.05em;
    color: var(--colorSub);
    font-weight: bold;
}
.shi_b01 dl dt p s{
    display: inline-block;
    font-size: var(--f24);
    line-height: 180%;
    letter-spacing: 0.05em;
    color: var(--colorSub);
    font-weight: bold;
}
.shi_b01 dl dt::before{
    content: '';
    background: url(../images/all_icon01.png);
    background-position: center;
    background-size: cover;
    min-width: 40px;
    height: 38px;
    margin: 0 5px 0 0;
    filter: invert(73%) sepia(93%) saturate(678%) hue-rotate(358deg) brightness(105%) contrast(106%);
    -webkit-filter: invert(73%) sepia(93%) saturate(678%) hue-rotate(358deg) brightness(105%) contrast(106%);
}
.shi_b01 dl dd{
    margin: 20px 0 0 45px;
}
.shi_b01 dl dd p{
    font-size: var(--f18);
    color: #fff;
    line-height: 180%;
    letter-spacing: 0.05em;
}
.shi_b01img{
    position: absolute;
    bottom: calc(var(--pdy)*-2.5 - 70px);
    right: 0px;
}
.shi_b01img > img:nth-of-type(2){
    position: absolute;
    top: 50%;
    right: 40%;
    z-index: -1;
    transform: translateY(-50%);
    width: clamp(100px, 40vw, 500px);
}

.shi_c{
    min-height: clamp(250px, 50vw, 350px);
    background: url(../images/index/sh_img03.jpg);
    background-position: center;
    background-size: cover;
    width: 100%;
    animation: effect01run 120s infinite linear;
}
.shi_d{
    padding: var(--pdy) var(--pdx);
    background: url(../images/index/sh_bg03.jpg);
    background-position: bottom center; 
    background-size: cover;
}
.shi_d01{
    max-width: 1400px;
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.shi_d01img{
    align-self: stretch;
}
.shi_d01img > img{
    min-height: 100%;
    object-fit: cover;
}
.shi_d01con{
    width: 600px;
    text-align: center;
    margin: 0 0 0 5%;
}
.shi_d01con > img{
    filter: invert(10%) sepia(88%) saturate(5172%) hue-rotate(1deg) brightness(98%) contrast(117%);
    -webkit-filter: invert(10%) sepia(88%) saturate(5172%) hue-rotate(1deg) brightness(98%) contrast(117%);
}
.shi_d01con > h4{
    font-size: var(--f24);
    line-height: 180%;
    letter-spacing: 0.05em;
    margin: 15px 0 0;
    color: var(--colorMainlight);
}
.shi_d01con > h4 s{
    display: inline-block;
    font-size: var(--f24);
    letter-spacing: 0.05em;
    color: var(--colorMainlight);
}
.shi_d01con p{
    margin: 30px 0;
    font-size: var(--f18);
    line-height: 180%;
    letter-spacing: 0.05em;
}
.shi_d01con .sh_btn01{
    max-width: 195px;
    margin: auto;
    width: 100%;
    border-radius: 500px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background: linear-gradient(to bottom, rgba(100,0,0,1) 0%,rgba(192,0,0,1) 100%);
    padding: 8px;
    background-size: auto 100%;
}
.shi_d01con .sh_btn01::before{
    content: '';
    background: url(../images/all_icon02.png);
    background-position: center;
    background-size: cover;
    min-width: 30px;
    height: 30px;
    filter: invert(73%) sepia(93%) saturate(678%) hue-rotate(358deg) brightness(105%) contrast(106%);
    -webkit-filter: invert(73%) sepia(93%) saturate(678%) hue-rotate(358deg) brightness(105%) contrast(106%);
    margin: 0 30px 0 0;
}
.shi_d01con .sh_btn01 s{
    font-size: var(--f16);
    color: #fff;
    letter-spacing: 0.05em;
}
.shi_d01con .sh_btn01:hover{
    background-size: auto 150%;
    box-shadow: inset 0px 3px 2px var(--colorSub);
}

.shi_e{
    border-top: 5px solid var(--colorSub);
    text-align: center;
    background-color: var(--colorMain);
}
.shi_e > img{
    display: block;
    max-width: fit-content;
    width: 80%;
    margin: auto;
    line-height: 0px;
}
.shi_e > h4{
    font-size: var(--f36);
    color: #fff;
    font-weight: normal;
    line-height: 120%;
    letter-spacing: 0.1em;
    margin: 15px 0 40px;
}
.shi_e01{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.shi_e01 li{
    position: relative;
    z-index: 1;
    line-height: 0px;
}
.shi_e01 li img{
    min-height: 250px;
    object-fit: cover;
}
.shi_e01 li h5{
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 100%;
    padding: 10px;
    text-align: center;
    font-size: var(--f20);
    color: #fff;
    line-height: 120%;
    letter-spacing: 0.1em;
    z-index: 10;
}
.shi_e01 li::after{
    content: '';
    width: 100%;
    height: 100%;
    min-height: 50px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 0;
    background: linear-gradient(to bottom, rgba(100,0,0,0) 0%,rgba(192,0,0,.7) 100%);
    transition: all .4s;
    opacity: 1;
}
.shi_e01 li:hover h5{
    color: var(--colorMain);
}
.shi_e01 li:hover::after{
    background: var(--colorSub);
    height: 0%;
    transition: all .4s;
    opacity: .7;
}

.shi_f{
    padding: var(--pdy) var(--pdx);
    background: url(../images/index/sh_bg04.jpg);
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
.shi_f > img{
    width: 50%;
    max-width: fit-content;
    height: 100%;
    object-fit: cover;
    object-position: right;
    position: absolute;
    top: 0px;
    left: 0px;
    line-height: 0px;
    z-index: -1;
}
.shi_f01{
    max-width: 1200px;
    margin: auto;
}
.shi_f01 figure{
    max-width: 650px;
    margin: 0 0 0 auto;
}
.shi_f01 figure > h4{
    font-size: var(--f36);
    color: var(--colorMain);
    line-height: 120%;
    letter-spacing: 0.01em;
    font-family: var(--Seriffont);
    font-weight: normal;
}
.shi_f01 figure dl{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: calc(1vw + 30px) 0 20px;
}
.shi_f01 figure dl dd p{
    font-size: var(--f18);
    line-height: 180%;
    letter-spacing: 0.05em;
}
.shi_f01 figure dl dt{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-width: fit-content;
}
.shi_f01 figure dl dt a{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5px;
    min-width: 37px;
    height: 37px;
    background-color: var(--colorMainlight);
    border-radius: 500px;
}
.shi_f01 figure dl dt a:hover{
    background-color: var(--colorMain);
}
.shi_f01iframe{
    line-height: 0px;
    box-shadow: 0 0 8px #333;
}

@media (max-width: 1360px) {
    .shi_a{padding: var(--pdy) var(--pdx);}
    .shi_a01{flex-direction: column-reverse;max-width: 1000px;margin: auto;}
    .shi_a01img > img:nth-of-type(1){min-height: unset;width: 100%;}
    .shi_a01con{margin: 0 0 50px;width: 100%;justify-content: center;}

    .shi_b01img{right: -5%;}
}
@media (max-width: 1024px) {}
@media (max-width: 992px) {
    .shi_b{padding: var(--pdy) var(--pdx) 0px;}
    .shi_b01img{position: relative;bottom: unset;right: unset;max-width: fit-content;margin: auto;}
    .shi_b01 dl{width: 100%;margin: 0 auto 30px;}

    .shi_d01{flex-direction: column-reverse;}
    .shi_d01img{align-self: center;}
    .shi_d01img > img{min-height: unset;}
    .shi_d01con{margin: 0 0 40px;}

    .shi_e01{grid-template-columns: 1fr 1fr;}
}
@media (max-width: 768px) {
    .shi_a01con{flex-direction: column-reverse;align-items: center;}
    .shi_a01con dd{margin: 20px auto 0 ;}
}
@media (max-width: 600px) {
    .shi_a01con dd{writing-mode: unset;}

    .shi_b01 dl dd{margin: 30px 0 0;}
}
@media (max-width: 475px) {
    .shi_e01{grid-template-columns: 1fr;}
    
    .shi_f01 figure dl{flex-direction: column;align-items: flex-start;}
}
@media (max-width: 375px) {}