@charset "UTF-8";
/* CSS Document */
/************************** 共 通 項 目
**************************/
body { color: #333; background-color: #fff; }

.btn { width: 100%; padding: 0; text-align: center; font-size: 1.2rem; line-height: 2.5rem; font-weight: 500; position: relative; transition: 0.4s; background-color: #555; color: #FFF; border-radius: 10px; }
.btn a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; text-indent: -9999px; }
.btn:hover { border-radius: 1.25rem; background-color: #222; }

/************************** コ ン テ ン ツ
**************************/
.logo { width: 100%; text-align: center; font-size: 0; }
.logo img { width: min(40vw, 200px); height: auto; }

.title { background-color: #000; font-size: 0px; padding: 1.0rem 0; }

.box { padding: 2.0rem 0; border-bottom: dotted 1px #AAA; }
.box:last-child { border-bottom: none; }
.box h1 { font-size: 1.8rem; font-weight: 700; position: relative; padding-left: 1.0rem; line-height: 1.2; }
.box h1::before { content: ""; width: 0.5rem; height: 95%; position: absolute; top: 50%; left: 0; transform: translateY(-50%); background-color: #222; border-radius: 0.25rem; }
.box h3 { font-weight: 700; font-size: 1.8rem; }

.text { font-size: 1.0rem; line-height: 1.8rem; font-weight: 400; }
.text span { color: #FF0004; font-weight: 700; font-size: 1.2rem; }

.caution { font-size: 0.8rem; color: #AAA; font-weight: 300; line-height: 1.2rem; padding-left: 0.8rem; text-indent: -0.8rem; }

.tbn { width: 100%; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.tbn li { width: calc(100% - 15px); margin: 7.5px; padding: 0; box-sizing: border-box; }
.tbn li:nth-child(n+2) { width: calc(50% - 15px); }
.tbn li:nth-child(n+2) img { border: solid 1px #AAA; }
@media (min-width: 768px) { .tbn li:nth-child(n+2) { width: calc(20% - 15px); } }
.tbn li img { width: 100%; }

.spec { width: 100%; margin: 0; padding: 1.0rem 2.0rem; border: solid 1px #AAA; }

.table { width: 100%; margin: 0; padding: 0.5rem; box-sizing: border-box; display: inline-block; vertical-align: top; }
.table .info { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: space-between; }
.table .info h4 { font-size: 1.2rem; border-bottom: dashed 1px #666; width: 40%; display: flex; align-items: center; }
.table .info p.text { font-size: 1.0rem; display: inline-block; border-bottom: dashed 1px #666; width: 60%; display: flex; align-items: center; }

.sns { margin: 4.5rem auto 2.0rem auto; width: 238px; display: flex; flex-wrap: wrap; justify-content: space-between; }
.sns #twt, .sns #fb, .sns #line { position: relative; }
.sns #twt .img, .sns #fb .img, .sns #line .img { width: 32px; height: 32px; border-radius: 50%; overflow: hidden; transition: .4s; }
.sns #twt:hover .img, .sns #fb:hover .img, .sns #line:hover .img { transform: scale(1.2); }
.sns #twt::before, .sns #fb::before, .sns #line::before { position: absolute; top: -40px; left: 50%; transform: translateX(-50%); font-size: 11px; display: flex; align-items: center; justify-content: center; width: 99px; color: #FEFEFE; height: 25px; border-radius: 5px; }
.sns #twt::after, .sns #fb::after, .sns #line::after { width: 0; height: 0; border-style: solid; border-width: 8px 10px 0 10px; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); content: ""; display: block; }
.sns #twt a, .sns #fb a, .sns #line a { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; text-indent: -9999px; }
.sns #twt .img { background-color: #1DA1F2; }
.sns #twt::before { content: "Twitterでつぶやく"; background-color: #1DA1F2; }
.sns #twt::after { border-color: #1DA1F2 transparent transparent transparent; }
.sns #fb .img { background-color: #1877F2; }
.sns #fb::before { content: "Facebookでシェア"; background-color: #1877F2; }
.sns #fb::after { border-color: #1877F2 transparent transparent transparent; }
.sns #line .img { background-color: #00B900; }
.sns #line::before { content: "LINEで送る"; background-color: #00B900; }
.sns #line::after { border-color: #00B900 transparent transparent transparent; }
@media (min-width: 576px) { .sns { width: 280px; } }

/**************************************
							店 舗 情 報
**************************************/
#shop { background: url("../img/bg.jpg") repeat; background-attachment: fixed; color: #FEFEFE; background-color: #333; }

#shop .row { align-items: center; }

.shopinfo { text-align: center; }
.shopinfo .shopinfo-txt1 { font-family: 'Open Sans', sans-serif; font-size: 3.0rem; font-weight: 800; letter-spacing: -0.1rem; line-height: 1.0; }
.shopinfo .shopinfo-txt2 { font-size: 1.6rem; font-weight: 700; line-height: 2.4rem; }
.shopinfo p.shopelement { padding-top: 0.5rem; margin: 1.0rem auto 0 auto; border-top: 0.1rem solid #FEFEFE; font-size: 1.0rem; text-align: left; width: 80%; }
.shopinfo p.shopelement span { display: block; margin-bottom: 0.3rem; font-family: 'Open Sans', sans-serif; font-size: 1.4rem; font-weight: 800; letter-spacing: -0.1rem; }
@media (min-width: 992px) { .shopinfo { text-align: left; }
  .shopinfo p.shopelement { width: 100%; } }

.shopinfo a, .shopelement a { color: #FEFEFE; transition: color .3s ease-out; }

.shopinfo a:hover, .shopelement a:hover { color: #FFF000; }

.mapimg { text-align: center; }

.mapimg img { width: 100%; }

.copyright { color: #CCC; width: 100%; font-size: 1.0rem; text-align: center; font-family: Georgia, "Times New Roman", Times, serif; }
