@charset 'UTF-8';

/* 【CSS】画像をhover（ホバー）したらzoom（拡大）する
-------------------------------------------------- */
.img_box01 {
    width: min(100%, 600px);
    margin: 0 auto;
    overflow: hidden;
}

.img_box01 img {
    width: 100%;
    height: auto;
    transform: scale(1.0);
    transition: transform .5s ease;
}

.img_box01:hover img {
    transform: scale(1.2);
}


.img_box02 {
    width: min(100%, 1000px);
    margin: 0 auto;
}

.img_box02 ul {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

.img_box02 li {
    width: 50%;
    overflow: hidden;
    /* cursor: pointer; */
}

.img_box02 img {
    width: 100%;
    height: auto;
    transform: scale(1.0);
    transition: transform .5s ease;
}

.img_box02 img:hover {
    transform: scale(1.2);
}


.img_box03 {
    width: min(100%, 1000px);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.img_box03 aside {
    position: relative;
    width: calc(50% - 5px);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    text-align: center;
    overflow: hidden;
}

.img_box03 .text__bolck {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    z-index: 1;
}

.img_box03 .text__bolck p {
    font-size: 20px;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
}

.img_box03 figure {
    position: relative;
    z-index: 0;
}

.img_box03 aside img {
    width: 100%;
    height: auto;
    transform: scale(1.0);
    transition: transform .5s ease;
}

.img_box03 aside:hover img {
    transform: scale(1.2);
}



.img_box04 {
    width: min(100%, 1000px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: 10px;
    align-items: start;
}

.img_box04 aside {
    position: relative;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    border: 1px solid #aaa;
    box-sizing: border-box;
    border-radius: 10px;
    overflow: hidden;
}

.img_box04 aside:hover {
    border: 1px solid #888;
}

.img_box04 aside a {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    gap: 0px;
}

.img_box04 .text__bolck {
    order: 2;
    padding: 5px;
    display: grid;
    grid-template-rows: subgrid;
    align-items: start;
    grid-row: span 2;
}

.img_box04 .text__bolck .text__bolck--title {
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

.img_box04 .text__bolck .text__bolck--text {
    font-size: 16px;
    color: #333;
}

.img_box04 figure {
    order: 1;
    position: relative;
    z-index: 0;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.img_box04 aside img {
    width: 100%;
    height: auto;
    transform: scale(1.0);
    transition: transform .5s ease;
}

.img_box04 aside:hover img {
    transform: scale(1.2);
}
