#keyVisual{
    width:100%;
    margin:0 auto 3.5rem auto;

}

.home h1 img,
#keyVisual img{
    display:block;
    width:100%;
    margin:0 auto;
}

.explanation{
    width:100%;
    line-height: 1.8;
}

dl {
    width: 100%;
    max-width: 1200px;
    font-size: 1em;
    display: flex;
    justify-content: start;
  }
  dl dt {
    width: 5em;
    letter-spacing: 0.5em;
    font-weight: 500;
    line-height: 2;
    font-weight: bold;
  }
  dl dd {
    width: 25em;
    line-height: 2;
  }

.greeting{
    width:80%;
    max-width: 1200px;
    margin:0 auto;
    line-height: 1.8;
}

.greeting h2{
    line-height: 1.6;
    font-weight: bold;
    font-weight: 500;
}

.greeting p{
    text-align: justify;
}

#readText{
    width:80%;
    max-width: 1200px;
    margin:0 auto 4rem auto;
}

#readText h2{
    font-size: 2em;
    font-weight: bold;
    font-weight: 500;
    line-height: 1.6;
}

#readText h3{
    font-size: 1.4em;
    font-weight: bold;
    font-weight: 500;
    line-height: 1.6;
}

.reference{
    line-height: 1.8;
    font-size:small;
}

.work_images{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 40px;
}


.work_images figure,
.work_images img{
    width:49.5%;
    margin-bottom:1%;
    border:#ccc solid thin;
    box-sizing: border-box;
    object-fit: cover;
}


.work_images figure img{
    width: 100%;
}

.work_images:after {
    content: "";
    width: 49%;
}

.work_images_setb{

}

.work_images_setb img{
    width:100%;
    margin-bottom:1%;
    border:#ccc solid thin;
    box-sizing: border-box;
    object-fit: cover;
}

.work_movie{
    position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}

.work_movie iframe{
    position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.links{
    text-align: right;
}


.backLink a{
    font-size:0.8em;
    font-weight:bold;
    margin-left:1.6em;
}

.backLink a:hover{
    text-decoration: underline;
    color: #212d3e;
}

.snsIcon{
    padding-left:1.8em;
    background-image: url("../../images/icon_target-blank.jpg");
    background-repeat: no-repeat;
    background-size: 1.2em;
    background-position: left;
}
.snsIcon img{
    width:20%;
    margin-right:1em;
}

.snsIcon a{
    text-decoration: none;
    color: #212d3e;
}

.snsIcon a:hover{
    text-decoration: underline;
}

.snsIcon2{
    padding-left:1.8em;
    background-image: url("../../images/icon_insta.jpg");
    background-repeat: no-repeat;
    background-size: 1.2em;
    background-position: left;
}

.snsIcon2 img{
    width:2%;
    margin-right:1em;
}

.snsIcon2 a{
    text-decoration: none;
    color: #212d3e;
}

.snsIcon2 a:hover{
    text-decoration: underline;
}


hr{
    border: 0;
    margin:3rem auto 4rem auto;
    border-top: 1.5px solid #f03535;
    width: 80%;
    max-width: 1200px;
    opacity:0.5;
}

/*
hr.top-hr{
    opacity:1;
    border: 0;
    margin:2.5rem auto 3rem auto;
    background: linear-gradient(to right, #212d3e, #dec71d);
    height: 2px;
}
*/

.top-hr:after {
    background: linear-gradient(to right, #fbe5e5, #f37a7a, #f03535);
    border-radius: 2.5px; /* 線幅の半分 */
    content: "";
    display: block;
    height: 5px; /* 線幅 */
    width: 80%;
    max-width: 1200px;
    margin:2.5rem auto;
}


.small{
    font-size:0.9em;
}

.gray{
    color:#999;
}

.semiBox{
    width:80%;
    max-width: 1200px;
    margin:0 auto 3rem auto;
}

.semiBox h3{
    font-size:1.6em;
    font-weight: bold;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 2rem;
}

#readText h3.galleryText{
    font-size:1.6em;
    margin-bottom: 2rem;
}


#readText h3.galleryText,
.semiBox h3 a,
.semiBox h3 a:visited{
    color: #f03535;
    font-weight: bold;
    font-weight: 500;
}

.semiBox h3 a:hover{
    text-decoration: none;
	color: #dec71d;
}

.semiBox h3 a:hover:after {
    content: " >";
}

.itemContainer{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:space-between;
}

.itemContainer a{
    display:block;
    text-decoration: none;
    color:#f03535;
    width: 30%;
    font-size: 0.9em;
}

.itemContainer a:hover{
    background-color:#f45f5f;
    color:white;
}

.itemContainer:after {
    content: "";
    width: 30%;
}


.sItem{
    text-align: center;
    flex-basis:30%;
    border:#ccc solid thin;   
    margin:0 0 6% 0;
    padding:3%;
}

.nashi{
    border:#fad4d4 solid thin;
    color:#fad4d4;  
}



a.sItem{
    text-align: center;
    flex-basis:30%;
    border:#f45f5f solid thin;  
}

#breadCrumbs{
    width:80%;
    max-width: 1200px;
    margin:0 auto 0 auto;
    padding:0;
}

#breadCrumbs ul{
    list-style: none;
    padding:0;
}

#breadCrumbs li{
    display: inline;
    list-style: none;
    font-size: 0.8em;
    color:#999;
}

#breadCrumbs li:after{
    content:'>';
    padding:0 0.2em;
}

#breadCrumbs li:last-child:after{
    content:'';
}

#breadCrumbs li a{
    text-decoration: none;
    color:#777;

}

#breadCrumbs li a:hover{
    text-decoration: underline;

}

.noborder{
    border:none;
}

audio { width: 100%; }

video { width: 100%; }

@media screen and (max-width: 480px) {
	/* 480px以下に適用されるCSS（スマホ用） */

    body{
        font-size: 80%;
    }

.greeting,
.semiBox,
#breadCrumbs,
#readText,
hr,
.top-hr:after{
    margin:3rem auto;
    width:90%;
}
    .explanation{
        width:100%;
        line-height: 1.8;
    }

    .work_images img{
        width:100%;
        margin-bottom:2%;
    }

    .links{
        text-align: right;
    }


    .snsIcon{
        padding-left:1.6em;
        background-image: url("../../images/icon_target-blank.jpg");
        background-repeat: no-repeat;
        background-size: 1.2em;
    }
    
    .snsIcon img{
        width:5%;
        margin-right:1rem;
    }

    dl{
    flex-wrap: wrap;
    }

  dl dt {
    width: 15%;
    letter-spacing: 0.75em;
  }
  dl dd {
    width:85%;
  }


}


@media screen and (max-width: 420px) {
	/* 320px以下に適用されるCSS（スマホ用） */

    body{
        font-size: 78%;
    }

    #shinkkyu_sitelist p{
        font-size: 0.65rem;
    }
}