/* topページスライダー */
#slider {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 100vh;
    background: url(_images/slider01.jpg);
    background-size: cover;
    background-position: center;
    margin-top: -60px;
}
#slider img {
    display: block;
    width: 80%;
    max-width: 850px;
    margin: 44vh auto 2%;
}
.wrapper {
    background: rgba(0,0,0,0.5);
}

@media screen and (max-width: 1049px) {
#slider {
    padding-top: 80%;
}
#slider img {
    margin: 38% auto 2%;
}
}


/* message */
#topmessage {
    padding: 30px 60px 70px;
    text-align: center;
    font-size: 1.1em;
    line-height: 2.6em;
    background: #eee;
    color: #333;
}
#topmessage b {
    font-size: 2.8em;
    font-weight: bold;
    line-height: 4.0em;
    font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

@media screen and (max-width: 1049px) {
#topmessage {
    padding: 30px 30px 80px;
    line-height: 2.0em;
}
#topmessage b {
    display: block;
    font-size: 2.0em;
    line-height: 2.0em;
    padding: 20px;
}
}


/* タイル */
#toptilebox {
    max-width: 1290px;
    padding: 0;
    margin: 100px auto 100px;
}
.toptile { 
    width: 33.3%;
    padding: 8px;
    transition: .5s;
}
.tile {
    position: relative;
    display: block;
    width: 100%;
    height: 400px;
    overflow: hidden;
    background-size: cover !important;
}
.tile::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background: transparent;
    transition: .3s;
}
.tile:hover:before {
    transition: .3s;
}

#toptile01,
#toptile02,
#toptile03 { 
    float: left;
    overflow: visible;
}

.tile:hover {
    transition: .5s;
    transition-timing-function: ease-in-out;
}

#toptile01 a.tile {
    z-index: 4;
    background: url(_images/top001.jpg);
    background-size: auto 100%;
    background-position: left center;
}
#toptile01 a.tile::before {
    background: transparent;
}
#toptile01 a.tile:hover:before {
    background: rgba(0,0,0,0.4);
}

#toptile02 a.tile {
    z-index: 3;
    background: url(_images/top002.jpg);
    background-position: left center;
}
#toptile02 a.tile::before {
    background: rgba(255,255,255,0.2);
}
#toptile02 a.tile:hover:before {
    background: rgba(0,0,0,0.3);
}

#toptile03 a.tile {
    z-index: 2;
    background: url(_images/top003.jpg);
    background-position: left center;
}
#toptile03 a.tile::before {
    background: rgba(255,255,255,0.2);
}
#toptile03 a.tile:hover:before {
    background: rgba(0,0,0,0.3);
}


.tile h3 {
    position: relative;
    z-index: 1;
    display: block;
    width: 414px;
    color: white;
    font-size: 2.8em;
    margin: 160px 0 0 0;
    padding: 20px 0;
    letter-spacing: 0.1em;
    text-align: center;
    text-shadow: 2px 0 5px #555,0 2px 5px #555,-2px 0 5px #555,0 -2px 5px #555;
    transition: .5s;
}
.tile span {
    position: absolute;
    top: 190px;
    left: 630px;
    display: block;
    width: 300px;
    font-size: 1.8em;
    letter-spacing: 0.1em;
    opacity: 0;
    transition: .5s;
    text-shadow: 1px 1px 1px #555;
}

.tile:hover > h3 {
    letter-spacing: 0.3em;
    transition: .5s;
}
.tile:hover span {
    opacity: 1;
    transition: .8s;
}


.tile:link,
.tile:visited {
    color: white;
    text-decoration: none;
}

.tileactive {
    width: 84%;
    transition: .5s;
}
.tileinactive {
    width: 8%;
    transition: .5s;
}

@media screen and (max-width: 1290px) {
#toptilebox {
    margin: 40px 0;  
    padding: 8px;  
}
.toptile { 
    width: 100%;
    padding: 8px;
    overflow: hidden;
}
.toptile span { 
    display: block;
    width: 100%;
    overflow: hidden;
}
.toptile a.tile:hover { 
    width: 100%
}
.tile {
    height: 200px;
}
.tile h3 {
    margin: 60px auto 0;
}
.tile:hover > h3 {
    font-size: 2.8em;
    margin: 60px auto 0;
}

#toptile01 a.tile {
    background: url(_images/top001.jpg);
}
#toptile01 a.tile::before,
#toptile01 a.tile:hover:before {
    background: rgba(0,0,0,0.1);
}
#toptile01 a.tile:active:before {
    background: rgba(0,0,0,0.4);
}

#toptile02 a.tile {
    background: url(_images/top002.jpg);
}
#toptile02 a.tile::before,
#toptile02 a.tile:hover:before {
    background: rgba(0,0,0,0.3);
}
#toptile02 a.tile:active:before {
    background: rgba(0,0,0,0.6);
}

#toptile03 a.tile {
    background: url(_images/top003.jpg);
}
#toptile03 a.tile::before,
#toptile03 a.tile:hover:before {
    background: rgba(0,0,0,0.3);
}
#toptile03 a.tile:active:before {
    background: rgba(0,0,0,0.6);
}

.tile:hover > h3 {
    letter-spacing: 0.1em;
}
.tile:active > h3 {
    letter-spacing: 0.3em;
}
.tile:hover span {
    opacity: 0;
}
}