@charset "UTF-8";
/* CSS Document */
/***********************************************
								共 通 項 目
***********************************************/
a, a:visited { color: #000000; }

a:hover img { opacity: 1; }

h2 { font-weight: 500; font-size: 1.8em; font-size: clamp(1.8em, calc(1.8rem + ((1vw - 0.234375em) * 1.3576)), 2.5em); }

h3 { font-weight: 500; line-height: 0.45; font-size: 1.4em; border-bottom: solid 1px #C4A154; }

.wrapper { width: 100%; max-width: 1920px; margin: 0 auto; padding: 0; color: #000000; }

.worksans { font-family: 'Work Sans', 'Helvetica Neue', Arial, 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'BIZ UDPGothic', Meiryo, sans-serif; }

.fret-patterns { margin: 0; padding: 0; font-size: 0; }
.fret-patterns img { width: 100%; height: auto; }

.strings-graphics { position: absolute; top: 0; left: 0; bottom: 0; right: 0; margin: auto; width: 100%; height: 95%; }
.strings-graphics img { width: 100%; height: 100%; object-fit: cover; }

.tbn-trim { width: 100%; position: relative; overflow: hidden; }
.tbn-trim.ratio-169::before { content: ""; display: block; padding-top: 56.25%; /* 高さと幅の比を16:9に固定。9/16*100=56.25 */ }
.tbn-trim.ratio-square::before { content: ""; display: block; padding-top: 100%; }
.tbn-trim.ratio-ogp::before { content: ""; display: block; padding-top: 52.356%; }
.tbn-trim img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }

a:hover .tbn-trim img { transform: scale(1.1); }

.include-item { background-color: #FFFFFF; height: 100%; position: relative; }
.include-item .post-title { font-weight: 700; font-size: 1em; transition: .2s; }
.include-item .post-title:hover { color: #FF576D; }
.include-item .post-author { font-size: 0.8em; background-color: #C4A154; color: #FFFFFF; display: inline-block; }
.include-item .new-post { position: absolute; top: -2.5rem; left: -2.5rem; font-size: 1.4em; transform: rotate(-15deg); font-weight: 500; }

.button { width: 15rem; font-weight: 500; height: 4rem; display: flex; align-items: center; justify-content: center; border-radius: 2rem; background-color: #000000; color: #FFFFFF; font-size: initial; border: none; transition: .2s; position: relative; }
.button:hover { background-color: #245C4F; }
.button a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-indent: -9999px; }

/***********************************************
								  ヘ ッ ダ ー
***********************************************/
.hero-area { width: 100%; height: auto; }

/***********************************************
								コ ン テ ン ツ
***********************************************/
.latest-post { background-color: #FFFFFF; position: relative; }

.newarrivals { background-color: #FF576D; position: relative; z-index: 0; }
.newarrivals .strings-graphics { z-index: 1; }
.newarrivals .inner-content { position: relative; z-index: 2; color: #FFFFFF; }
.newarrivals .rss { font-size: 0; margin: 0; padding: 0; }
.newarrivals .rss li { position: relative; font-size: initial; margin: 0; }
.newarrivals .rss li img { transition: .4s; }
.newarrivals .rss li a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; text-indent: -9999px; }
.newarrivals .rss li p { font-size: 1em; margin-top: 0.5rem; }
.newarrivals .rss li:hover img { opacity: 1; transform: scale(1.1); }
.newarrivals .button:hover { background-color: #245C4F; }

.other-body a { color: #333; }
.other-body a:hover { text-decoration: underline; }

.shops { background-color: #2B3830; color: #FFFFFF; }
.shops .tbn-trim { background-color: #245C4F; }
.shops .shopinfo { border-left: solid 4px #C4A154; }
.shops .shopinfo a, .shops .shopinfo a:visited { color: #FFFFFF; }
.shops .shopinfo a:hover { text-decoration: underline; }
.shops .shopinfo p:first-child { font-weight: 700; font-size: 1.1em; }
.shops .shopinfo p:nth-child(n+2) { font-size: 0.9em; }

/*********************************************
							フ ッ タ ー
*********************************************/
.footer-nav { background-color: #000; width: 100%; margin: 0; padding: 0; text-align: center; }

.footer-nav img { width: 60%; max-width: 300px; }

.fnav { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; margin: auto; color: #FEFEFE; }

.fnav li { font-size: 1.2rem; line-height: 2.0rem; width: 100%; position: relative; padding: 0 0.5rem; box-sizing: border-box; text-align: left; border-bottom: solid 1px #333; transition: .4s; }

.fnav li:last-child { border-bottom: none; }

.fnav li:hover { background-color: #333; }

.fnav li a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-indent: -9999px; }

@media (min-width: 992px) { .fnav { justify-content: space-around; max-width: 1000px; }
  .fnav li { width: auto; text-align: center; border-bottom: none; border-bottom: solid 1px #000; }
  .fnav li:hover { background-color: #000; border-bottom: solid 1px #FEFEFE; } }
.copy { font-size: 1rem; text-align: center; padding: 0; line-height: 2.6rem; color: #FEFEFE; }
