// out: style.css, sourcemap: false, compress: false @primaryColor: #7f6252;//#624c3f @charset "UTF-8"; .photo { padding-top: 60px; .serif { font-family: "Yu Mincho","YuMincho",serif,sans-serif; } .mainColumn { width: 100%; margin-bottom: 60px; &.mainColumn--photo { padding-top: 0; } &.mainColumn--photo-top { padding-top: 0; + .sideMenu { position: fixed; top: 60px; left: 0; width: 220px; height: 100vh; z-index: 8; } } } .sideMenu { display: none; } &.is-toggle-sidemenu { .mainColumn { width: calc(~"100% - 220px"); margin-left: auto; margin-right: 0; } .mainSlider { left: -220px; } .sideMenu { display: block; } } .portrait { display: none; } @media (orientation: portrait){ .portrait { display: block; position: absolute; bottom: 96px; left: 50%; z-index: 99; color: #fff; max-width: 300px; width: 80%; transform: translateX(-50%); text-align: left; } } } .photo__heading { margin: 80px auto; text-align: center; font-size: 1.8em; &&--minmargin { margin: 40px auto; } &__name { display: block; line-height: 1; } &__en { font-weight: normal; font-size: 0.64em; display: block; opacity: 0.7; margin-top: 5px; } &__bgImages { display: flex; align-items: flex-start; justify-content: flex-start; width: 100%; margin: auto; opacity: 0.25; } &__bgImage { background-position: center; background-size: cover; background-repeat: no-repeat; width: 25%; padding-bottom: calc(~"25% / 16 * 9"); display: block; z-index: 1; } &&--sub { font-size: 1.48em; margin: 40px auto; } &&--hyakkei { background: #fff; position: relative; text-shadow: 5px 5px 10px #fff; margin: 140px auto 60px; .photo__heading__name { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2; } .photo__heading__en { position: absolute; top: 50%; left: 50%; margin-top: 36px; transform: translate(-50%,-50%); z-index: 2; opacity: 0.8; } } } .photo_image,.photo_heading { position: absolute; left: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; transition: all 0.75s ease; transform: scale(1); } .photo_heading { background: rgba(255,255,255,0.8); background: linear-gradient(0deg, rgba(255,255,255,0.7),#fff, rgba(255,255,255,0.7)); background: radial-gradient(#fff 0%, rgba(255,255,255,0.7)); z-index: 2; flex-direction: column; font-weight: normal; font-size: 1em; line-height: 1; &:after, &:before { content: ""; display: block; border: solid 30px; border-top-width: 20px; border-bottom-width: 20px; position: absolute; z-index: 1; } &:after { bottom: 0; right: 0; border-top-color: transparent; border-left-color: transparent; } &:before { top: 0; left: 0; border-right-color: transparent; border-bottom-color: transparent; } &__year { font-size: 0.84em; letter-spacing: -0.02em; margin-bottom: 5px; } &__month { font-size: 2.4em; font-weight: bolder; } &__slash { width: 40px; border-bottom: solid 1px; margin: 6px auto 10px; } &__monthName { font-size: 1em; } } .photo_heading_bgImages { display: flex; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; width: 100%; height: 100%; position: absolute; top: 0; left: 0; > img { width: 50%; height: 50%; display: block; object-fit: cover; } } a:hover > .photo_image { transform: scale(1.1); } .photoWrap { margin: 60px auto; position: relative; } .photo__items { display: flex; align-items: flex-start; justify-content: center; flex-wrap: wrap; margin: 0; } .photo__item { width: 16.66%; max-width: 300px; min-width: 16.66%; border: solid 1px transparent; position: relative; overflow: hidden; a { display: block; width: 100%; height: 0; padding-bottom: 66.66%; &:hover { text-decoration: none; opacity: 1; } } } .photo__item.photo__item--heading > a .photo_heading { &:after,&:before{ animation-name: photoSlideShowPR; animation-duration: 1s; animation-direction: alternate-reverse; animation-iteration-count: infinite; } } @keyframes photoSlideShowPR { 0% { opacity: 0.5; } 100% { color: @primaryColor; } } .photo__more { margin: 50px auto; text-align: center; } #slide-show.paused .photoShowcase__items * { animation-play-state: paused; } .photoShowcase { position: relative; width: 100%; height: 100vh; &__loading { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999; overflow: hidden; &:before,&:after { content: ""; display: block; position: absolute; top: 0; width: calc(~"50% + 1px"); height: 100%; z-index: 1; transition: width 1s ease; background: #fff; } &:before { left: 0; } &:after { right: 0; } } &__heading { display: flex; align-items: center; justify-content: center; flex-direction: column; top: 50%; left: 50%; position: absolute; transform: translate(-50%,-50%); z-index: 2; width: 130px; height: 130px; color: #fff; line-height: 1; font-weight: normal; font-size: 1em; &:after { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: @primaryColor; transform: rotate(45deg); z-index: -1; } &__month { font-size: 3em; font-weight: bold; margin: 5px auto; } } &__item { position: absolute; z-index: 1; width: 100%; height: 100%; overflow: hidden; opacity: 0; transition: all 3s ease; &.current { z-index: 2; opacity: 1; transition-delay: 1.5s; .photoShowcase__image { animation-name: photoShowcase; animation-delay: 0s; animation-fill-mode: forwards; animation-duration: 30s; animation-timing-function: ease-in; } } } &__image { position: relative; background-repeat: no-repeat; background-position: center; background-size: cover; width: 100%; height: 100%; z-index: 1; transform: scale(1.2); img { display: none; } } &__title { position: absolute; bottom: 60px; left: 40px; margin-right: 40px; z-index: 2; font-size: 1.6em; font-weight: bold; line-height: 1.35; padding: 5px 0; color: #fff; &:empty { display: none; } } &__photoDetail { position: absolute; bottom: 25px; left: 40px; z-index: 2; color: #fff; border-bottom: solid 2px; line-height: 1; padding-bottom: 4px; &:after { content: ""; display: inline-block; border: solid 5px; border-left-width: 8px; border-top-color: transparent; border-bottom-color: transparent; border-right: none; margin-left: 5px; position: relative; left: 0; transition: left 0.5s ease; } &:hover { color: #fff; &:after { left: 3px; } } } &__utility { position: absolute; bottom: 40px; right: 40px; z-index: 3; display: flex; align-items: flex-end; justify-content: flex-end; padding: 5px; } &__playpause { background: rgba(255,255,255,0.25); border: solid 1px; color: #fff; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; font-size: 12px; padding: 1px 0 0 1px; border-radius: 28px; cursor: pointer; &:after { font-family: "fontello"; content: '\e827'; } &.pause:after { content: '\e825'; } } &__copyright { position: absolute; bottom: 10px; right: 10px; z-index: 3; color: #fff; font-size: 12px; opacity: 0.3; } } .loaded { .photoShowcase__heading:after { animation-name: photoShowcaseLoaded1; animation-delay: 1s; animation-fill-mode: forwards; animation-duration: 1.5s; } .photoShowcase__heading { animation-name: photoShowcaseLoaded2; animation-fill-mode: forwards; animation-delay: 2.5s; animation-duration: 0s; } .photoShowcase__loading { pointer-events: none; &:before, &:after { animation-name: photoShowcaseLoaded3; animation-delay: 3s; animation-fill-mode: forwards; animation-duration: 1.25s; } } } .current { .photoShowcase__title { color: transparent; animation-name: photoTitleSlideInText; animation-delay: 4s; animation-fill-mode: forwards; animation-duration: 1.5s; &:before { content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; background: #fff; animation-name: photoTitleSlideInBG; animation-duration: 1.5s; animation-fill-mode: forwards; animation-delay: 4s; } } } .cursorNone { cursor: none; } .photoPostWrap { width: 100%; } .photoContentWrap { margin: 40px auto; width: 100%; } .photoContent { &__image { display: block; width: 100%; background: #eee; padding: 20px; margin-bottom: 20px; > img { display: block; max-height: 480px; width: auto; height: auto; margin: auto; } } &__download { margin: 40px auto; &__list { margin: 0px auto 40px 0; min-width: 50%; width: fit-content; > ul { list-style: none; > li { padding: 8px 5px 8px 0px; border-top: solid 1px #ddd; &:last-child { border-bottom: solid 1px #ddd; } } } } &__item { display: flex; align-items: center; justify-content: flex-start; width: 100%; width: fit-content; &__link { padding: 8px; display: block; background: #ddd; line-height: 1; margin-right: 10px; border: none; color: @primaryColor; cursor: pointer; } &__text { line-height: 1.35; strong { min-width: 2em; display: inline-block; text-align: center; } small { display: inline-block; } } } } } .pagenation.pagenation--photo { display: flex; align-items: flex-end; justify-content: flex-start; width: fit-content; > a { width: 150px; position: relative; line-height: 1; + a { margin-left: 30px; } } } .photo-prev > p:before, .photo-next > p:after { content: ""; display: inline-block; border: solid 10px; border-top: solid 6px transparent; border-bottom: solid 6px transparent; } .photo-prev > p { text-align: left; &:before { margin-right: 5px; border-left: none; } } .photo-next > p { text-align: right; &:after { margin-left: 5px; border-right: none; } } @media all and (max-width: 1024px){ .photo { &.is-toggle-sidemenu .mainSlider { left: 0; } } } @media all and (max-width: 821px){ .photo { padding-top: 50px; .latestPhoto { display: none; } } .photoWrap { margin: 40px auto; } .photo__heading { font-size: 1.56em; margin: 40px auto 30px; &__en { font-size: 0.58em; } &.photo__heading--hyakkei { .photo__heading__en { margin-top: 30px; } } &__bgImage { padding-bottom: 25%; } } .photo__items { &&--hyakkei { > *:nth-child(n+21){ display: none; } } } .photo__item { width: 25%; } .photo_heading { &:after, &:before { border-width: 24px; border-top-width: 18px; border-bottom-width: 18px; } &__month { font-size: 1.8em; } &__monthName { font-size: 0.84em; } } .photoShowcase { &__title,&__utility { bottom: 90px; } &__photoDetail { bottom: 60px; } } } @media all and (max-width: 480px){ .photo__items { &&--hyakkei { .photo__item:nth-child(n+19) { display: none; } } } .photo__item { width: 50%; &&--heading { width: 100%; max-width: none; a { padding-bottom: 30%; } } } .photo__heading { &&--hyakkei { margin: 80px auto 20px; font-size: 1.4em; .photo__heading__en { white-space: nowrap; margin-top: 25px; } .photo__item { width: 33.33%; } } } .photoShowcase { &__title { font-size: 1.24em; left: 20px; margin-right: 60px; } &__photoDetail { left: 20px; } &__utility { right: 20px; } } .photoContentWrap { margin: 0px auto 40px; } .photoContent__image { padding: 10px; width: auto; margin-left: -15px; margin-right: -15px; > img { max-height: 360px; } } } @keyframes photoShowcaseLoaded1 { 0% { transform: rotate(45deg) scale(1); } 100% { transform: rotate(0deg) scale(0); } } @keyframes photoShowcaseLoaded2 { 0% { opacity: 0; } 100% { opacity: 0; pointer-events: none; } } @keyframes photoShowcaseLoaded3 { 0% { width: calc(50% + 1px) } 100% { width: 0%; } } @keyframes photoShowcase { 0% { transform: scale(1); } 100% { transform: scale(1.2); } } @keyframes photoUtilFadeOut { 0% { opacity: 1; } 50% { opacity: 0.5; } 100% { opacity: 0; pointer-events: none; } } @keyframes photoTitleSlideInText { 0% { color: transparent; } 49% { color: transparent; } 50% { color: #fff; } 100% { color: #fff; } } @keyframes photoTitleSlideInBG { 0% { height: 0%; top: 0; bottom: unset; } 49% { height: 100%; top: 0; bottom: unset; } 51% { height: 100%; top: unset; bottom: 0; } 100% { height: 0%; top:unset; bottom: 0; } }