﻿@charset "utf-8";
/* CSS Document */

@font-face {
    font-family: "myFont";
    src: url("../Fonts/apricot_character.eot?")  format('eot'),
        url("../Fonts/apricot_character.woff")  format('woff');
    font-weight: normal;
	font-style: normal;
}

*,::after,::before{box-sizing:border-box}html{line-sizing:normal}body{margin:0}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.17rem}h4{font-size:1rem}h5{font-size:.83rem}h6{font-size:.67rem}h1{margin:.67em 0}pre{white-space:pre-wrap}hr{border-style:solid;border-width:1px 0 0;color:inherit;height:0;overflow:visible}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle;max-width:100%}canvas,img,svg,video{height:auto}audio{width:100%}img{border-style:none}svg{overflow:hidden}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}


body {
    background-color: #fff49a;
    background-image: url("../images/nobolt/sumikkogurashicafe_bg.png");
    background-repeat: repeat;
    background-size: 45%;
    background-position: center center;
    color: #5e4237;
    -webkit-font-feature-settings : "palt";
    font-feature-settings : "palt";
    letter-spacing: 0;
}

a {
    color: #5e4237;
    text-decoration: none;
}

.caution {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
    letter-spacing: 0.1em;
}

.pconly {display: none;}

.flexBox {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: stretch;
}

header,
main {
    font-family: "myFont";
}
@media only screen and (min-width: 560px) {

.sponly {display: none;}
.pconly {display: block;}

}
@media only screen and (min-width: 960px) {

main {font-size: 1.2em;}

}



/*header*/
header {
    padding: 50px 0 0;
    text-align: center;
}

header h1{
	display: block;
	width: calc(100% - 40px);
    max-width: 1360px;
	height: 0;
	margin: 0 auto;
	padding: calc(calc(100% - 40px) * calc(775 / 870)) 0 0;
    text-align: center;
	background-image:url("../images/nobolt/sumikkogurashicafe_logo_sp.png");
	background-size:100%;
	background-repeat: no-repeat;
	overflow:hidden;
}

header p {
    display: block;
    margin: 30px auto 0;
    text-align: center;
    font-size: clamp(1.2em, 4.2vw, 2.4em);
    line-height: 1.4em;
    letter-spacing: 0.2em;
}

header time {
    display: block;
    margin: 30px auto 0;
    text-align: center;
    font-size: clamp(1.4em, 6vw, 2.2em);
    line-height: 1.4em;
    font-kerning: normal;
    -webkit-font-feature-settings : "palt";
    font-feature-settings : "palt";
}
@media only screen and (min-width: 560px) {

header p {
    margin: 40px auto 0;
    font-size: clamp(1.2em, 3vw, 2em);
}

header time {
    margin: 40px auto 0;
    font-size: clamp(1.4em, 4.8vw, 3.5em);
}

header time span {margin-right: 1em;}

}
@media only screen and (min-width: 960px) {

header h1{
	display: block;
	width: calc(100% - 40px);
	height: 0;
	margin: 0 auto;
	padding: calc(calc(100% - 40px) * calc(480 / 1360)) 0 0;
    text-align: center;
	background-image:url("../images/nobolt/sumikkogurashicafe_logo.png");
	background-size:100%;
	background-repeat: no-repeat;
	overflow:hidden;
}

}



/*main*/
article {
	width: calc(100% - 30px);
    max-width: 640px;
    margin: 100px auto 0;
    padding: 20px;
    background-color: #FFF;
    border: 7px solid #f4aecd;
    border-radius: 15px;
    position: relative;
}
article::before {
    content: "";
	width: calc(100% + 7px);
	height: calc(100% + 7px);
    background-color : rgba(0,0,0,0.00);
    background-image:
        repeating-linear-gradient( -45deg,#f196ad 0px 8px,	transparent 8px 13px);
    border-radius: 10px;
	position: absolute;
	top: 7px;
    bottom: 0;
	left: 7px;
    right: 0px;
    z-index: -1;
}

article > div {margin: 40px auto 0;}

article h2 {
    margin: 10px auto 0;
    padding-bottom: 10px;
    border-bottom: dotted 8px #f196ad;
    text-align: center;
    font-size: 2.4em;
    letter-spacing: 0;
}
article h2.cana {font-size: 3em;}

article h3 {
    margin: 0px auto 0;
    padding-bottom: 0px;
    font-size: 1.6em;
    letter-spacing: 0;
}

article h4 {
    margin: 0px auto 0;
    padding-bottom: 0px;
    font-size: 1.6em;
    line-height: 1.2em;
    letter-spacing: 0.1em;
}

article ul {padding-left: 1.1em;}
article li+li {margin-top: 5px;}
article .caution {font-size: 0.7em;}

article button {
    display: block;
    width: clamp(180px, 60%, 250px);
    margin: 30px auto 0;
    padding: 5px 0px;
    border-radius: 50px;
    border: 2px solid #f4aecd;
    background-color: #fbe5ef;
    font-size: 0.8em;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
article button:hover {opacity: 0.8;}
article button a {
    display: block;
    width: 100%;
    height: 100%;
}
@media only screen and (min-width: 560px) {

article h4 {
    font-size: clamp(20px, 3.6vw, 26px);
}

}
@media only screen and (min-width: 960px) {

article {
	width: calc(100% - 30px);
    max-width: 1080px;
    margin: 100px auto 0;
    padding: 20px;
    border: 10px solid #f4aecd;
    border-radius: 30px;
}

article::before {
    content: "";
	width: calc(100% + 10px);
	height: calc(100% + 10px);
    background-image:
        repeating-linear-gradient( -45deg,#f196ad 0px 8px,	transparent 8px 13px);
    border-radius: 20px;
	position: absolute;
	top: 10px;
    bottom: 0;
	left: 10px;
    right: 0px;
    z-index: -1;
}

article h4 {
    font-size: clamp(20px, 3.6vw, 38px);
}

article button {width: clamp(180px, 60%, 350px);}

}



/* カフェについて／店舗情報 */
article.cafe,
article.store {
    padding-bottom: 40px;
}

article.cafe .reservation {
    width: 70%;
    margin: 40px auto 0 0;
}

article.cafe .img,
article.store .img {
    width: clamp(160px, 35%, 250px);
    margin: 0;
    position: absolute;
    bottom: -20px;
    right: -20px;
}

article.cafe button,
article.store button {
    margin: 30px auto 0 0;
    border-radius: 10px;
    font-size: 0.8rem;
}

@media only screen and (min-width: 560px) {

article.cafe button,
article.store button {
    border-radius: 50px;
}

}

@media only screen and (min-width: 960px) {

.outerBox {
    display: block;
    width: calc(100% - 80px);
    max-width: 1080px;
    margin: auto;
    position: relative;
}

article.cafe,
article.store {
    width: 80%;
    max-width: 960px;
    position: relative;
}

article.cafe {margin-left: 0;}
article.store {
    margin-top: 200px;
    margin-right: 0;
}

article.cafe .img {
    width: clamp(160px, 65%, 560px);
    position: absolute;
    bottom: 0%;
    right: 0%;
    top: 20%;
    left: 66%
}

article.store .img {
    width: clamp(160px, 60%, 560px);
    position: absolute;
    bottom: 0%;
    right: 70%;
    top: 10%;
}

article.cafe .reservation {width: 68%;}
article.cafe .howTo {
    width: 75%;
    margin: 30px auto 0 0;
}

article.store .Information {
    width: 70%;
    margin: 30px 0 0 auto;
}

}



/* food */
article.menu {text-align: center;}

article.menu .foodMenu > div {
    flex: 0 0 calc(50% - 10px);
    padding-bottom: 20px;
}

article.menu h4 {
    margin-top: 30px;
    text-align: center;
}

article.menu .foodMenu p {
    text-align: center;
    font-size: 0.8em;
    letter-spacing: 0;
}
@media only screen and (min-width: 560px) {

article.menu .foodMenu p {
    font-size: 1em;
}

}
@media only screen and (min-width: 960px) {

article.menu {
    margin-top: 100px;
}

article.menu h4 {
    margin-top: 50px;
    text-align: center;
}

article.menu .foodMenu {
    margin-top: 50px;
}

article.menu .foodMenu > div {
    flex: 0 0 calc(25% - 10px);
}

article.menu .foodMenu p {
    font-size: clamp(18px, 1.8vw, 20px);
}

}



/*coaster*/
article.menu .freebie  {
    padding-bottom: 50px;
    border-bottom: dotted 8px #f196ad;
    text-align: left;
}

article.menu .freebie p {
    margin-top: 0;
    font-size: 1.4em;
    text-align: left;
}
article.menu .freebie > div {
    flex: 0 0 100%;
}

article.menu .coaster {
    margin-top: 50px;
    justify-content: center;
}
article.menu .coaster > div {
    flex: 0 0 calc(calc(100% / 3) - 5px);
    padding: 5px;
}
@media only screen and (min-width: 960px) {

article.menu .freebie > div:first-of-type {flex: 0 0 35%;}
article.menu .freebie > div:last-of-type {flex: 0 0 65%;}
article.menu .freebie {align-items: center;}
article.menu .coaster {margin-top: 0px;}
article.menu .coaster > div {flex: 0 0 calc(calc(100% / 5) - 5px);}

}



/*goods*/
article.menu .goodsMenu {
    display: grid;
    margin-top: 50px;
    gap: 40px;
    grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
    grid-template-rows: auto;
}

article.menu .goodsMenu > div {
    height: max-content;
}

article.menu .goodsImg {
    display: block;
    max-width: 70%;
    margin: 0px auto 0;
}
article.menu .tShirt .goodsImg {max-width: 100%;}
article.menu .goodsMenu img {max-width: 100%;}

.goodsMenu p {
    margin: 20px auto 0;
    font-size: 1.2em;
}
article.menu .goodsMenu h4 {
    margin: 10px auto 0;
    margin-top: 10px;
}
.goodsMenu ul {
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
    font-size: 1.2em;
}
.goodsMenu li+li {
    padding-top: 10px;
}

@media only screen and (min-width: 560px) {

article.menu .goodsMenu {
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(calc(50% - 10px), 1fr));
    grid-template-rows: auto;
}

/*article.menu .goodsImg {
    height: clamp(240px, 64%, 310px);
}*/

article.menu .tShirt .goodsImg {
    padding: 10% 0;
}

article.menu .socks .goodsImg {
    padding: 16% 0 0;
}

.goodsMenu ul {
    font-size: 1em;
}

.goodsMenu li+li {
    padding-top: 5px;
}

}
@media only screen and (min-width: 960px) {

article.menu .goodsMenu {
    grid-template-columns: 1.8fr 1fr 1fr 1fr;
}

article.menu .goodsMenu img {
    width: 100%;
}

article.menu .tShirt .goodsImg {
    padding: 4.5% 0;
}

article.menu .handTowel .goodsImg {
    padding: 17% 0;
}

article.menu .socks .goodsImg {
    padding: 15% 0 0;
}

.goodsMenu p {
    font-size: 15px;
}
article.menu .goodsMenu h4 {
    font-size: 20px;
    letter-spacing: 0;
}
.goodsMenu ul {
    font-size: 18px;
}

}



/*なぞときゲーム*/
article.riddle h4 {
    margin-top: 30px;
    text-align: center;
}

article.riddle .flexBox > div:last-of-type {
    margin-top: 30px;
}

article.riddle .flexBox > div:last-of-type p {
    margin: 0px;
    font-size: 1.4em;
    line-height: 1.4em;
}

.clearFile {
    width: clamp(200px, 53%, 360px);
    margin: 50px auto 0;
}
article.riddle .flexBox > div:last-of-type .clearFile p {
    margin: 10px auto 0;
    font-size: 1em;
}

article.riddle .flexBox > div:last-of-type .price {
    display: block;
    margin-top: 50px;
    padding-left: 10px;
    font-size: 1.2em;
    border-left: 5px solid #5e4237;
}

@media only screen and (min-width: 960px) {

article.riddle .flexBox > div {
    flex: 0 0 50%;
}

article.riddle .flexBox > div:last-of-type {
    margin-top: 0px;
    padding: 0 20px;
}

}

/*SNS ボタン*/
.shareBox {
	width: 230px;
	margin: 50px auto 0;
	padding: 50px 0 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
	align-content: flex-start;
}

.officialAccount .shareBox {width: 120px; margin: 40px auto 0;}

.shareButtons {flex: 0 0 auto;}

.shareButtons a {
	display: block;
	width: 50px;
	height: 50px;
	margin: 0;
	padding: 0;
	background-size: 30px;
}

.fbBtn {background: url("../images/sns_ico_01_fb.svg") no-repeat;}
.tweetBtn {background: url("../images/sns_ico_02_tw.svg") no-repeat;}
.lineBtn {background: url(../images/sns_ico_03_line.svg) no-repeat;}
.officialAccount .tweetBtn {background: url(../images/stayhome/svg_logo_tw_wt.svg) no-repeat;}
.officialAccount .instBtn {background: url("../images/stayhome/svg_logo_inst_wt.svg") no-repeat; }

@media only screen and (min-width: 960px) {

.officialAccount .shareBox {margin: 20px auto 0;}

}


/*----------footer------------*/
footer {
	width: 100%;
    height: auto;
	display: block;
	margin: 200px 0 0;
	color: #222;
    background-color: #FFF;
}

footer article {
	width: 100%;
	max-width: 1560px;
	margin: auto;
	padding: 0 0px 15px;
    border: none;
    border-radius: 0px;
    position: relative;
}

footer article::before {
    content: none;
}

/*タイトーリンク*/
ul.taitoLink {
    margin: 100px auto 0;
    padding: 0;
    text-align: center;
}

ul.taitoLink li {
    font-size: 0.8em;
    display: inline-block;
}
ul.taitoLink li+li {margin-left: 1.0em;}
ul.taitoLink li+li::before {
    content: "|";
    margin-right: 1.0em;
}

ul.taitoLink a{
    text-decoration: none;
	color: #222;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}
ul.taitoLink a:hover{
    opacity: 0.8;
}

footer .copy {
    margin-top: 80px;
    font-family: Arial, Helvetica, "sans-serif";
    font-size: 0.6em;
    text-align: center;
}

@media only screen and (min-width: 960px) {

ul.taitoLink li {
    font-size: 1em;
}

}




.preventiveMeasure {
    display: block;
	width: calc(100% - 30px);
    max-width: 640px;
    margin: 150px auto 0;
    text-align: center;
}
.preventiveMeasure a {
    display: inline-block;
    color: #DD0000;
    font-size: clamp(26px, 6vw, 38px);
}
.preventiveMeasure p {
    display: inline-block;
    margin: 0;
    padding: 0 10px;
    background: linear-gradient(transparent 60%, #FFCC00 40%);
}
.preventiveMeasure p+p {margin-top: 10px;}

@media only screen and (min-width: 960px) {

.preventiveMeasure {
    margin-top: 200px;
    max-width: 1080px;
}

.preventiveMeasure a {
    padding: 0 10px;
    background: linear-gradient(transparent 60%, #FFCC00 40%);
    background-position: bottom;
}

.preventiveMeasure p {
    padding: 0;
    background: transparent;
}
.preventiveMeasure p+p {
    margin-top: 0px;
    margin-left: -10px;
}

}

.taito a {
	width: 150px;
	display: block;
	margin: auto;
}
