@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;600;700;800&display=swap');

/*====================================================================

  リセット

====================================================================*/
html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, figcaption, figure, footer, header, hgroup,menu, nav, section, summary,time, mark, audio, video {
    margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	background:transparent;
}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display:block;
}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content:'';content:none;
}
table {border-collapse:collapse;border-spacing:0;}
input, select {vertical-align:middle;}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6 {line-height: 150%;}
body {line-height:150%;}
img {vertical-align: bottom;max-width: 100%;height: auto;display: block;margin: 0 auto;}
a {margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}
caption, th, td {font-weight: normal;}
strong {font-weight:normal;}

/*====================================================================

  設定

====================================================================*/
html,body {
	color:#333;
	font-family: "M PLUS 1p","ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
	overflow-x: hidden;
	background: #FFFFFF;
}

a:link {color: #3FA9F5; text-decoration:none;}
a:visited {color:#3FA9F5; text-decoration:none;}
a:hover {color:#65BAF7; text-decoration:none}

a {-webkit-transition: 0.4s ;transition: 0.4s ;}
p {line-height:150%;}
i {	padding: 0 0.5rem;}

/* ==================================================================================================================

 共通CSS

================================================================================================================== */

html {font-size: 62.5%;}
body {
    font-size:2.4rem;
    background: #CBEEFE;
}
.page_wrap {
    background: #FFF;
    margin: 0 auto;
    max-width: 840px;
    padding: 0 20px;
}
@media screen and (max-width: 840px) {
    .page_wrap {padding: 0;}
}
.container {
    padding: 2em 20px;
}
.cta {
    padding: 1em;
}
#bottom_btn {
    position: fixed;
    bottom: 0.5em;
    width: 100%;
    max-width: 800px;
    opacity: 0;
    pointer-events: none;
    z-index: 9999; /* 常に前面に */
    transition: opacity .5s;
    /* visibility:hidden は外す */
}
#bottom_btn.fadein {
    opacity: 1 !important;
    pointer-events: auto;
}

.video_wrap {
    width: 90%;
    display: block;
    margin:0 auto 30px auto;
    border: 1px solid #CCC;
    /*max-width: 568px;*/
}
section.shop .logo {
    max-width: 60%;
    min-width: 250px;
    margin-top: 1em;
}
.ttl01 {
    font-weight: 500;
    font-size: 2.6rem;
    margin-top: 1em;
    margin-bottom: 0.5em;
    text-align: center;
}
.ttl01::before {
    content: "ー";
    padding-right: 0.5em;
}
.ttl01::after {
    content: "ー";
    padding-left: 0.5em;
}
.text01 {
    text-align: center;
    font-size: 2.8rem;
    margin: 0.3em auto;
    color: #3FA9F5;
    font-weight: 600;
}
.text01::before {
    content: "▼";
    padding-right: 0.5em;
}
.text01::after {
    content: "▼";
    padding-left: 0.5em;
}
.shop_list dl {
    margin-bottom: 0.5em;
}
.shop_list dl dt {
    position: relative;
    cursor: pointer;
    padding: 0.5em 0.5em;
    background: #3FA9F5;
    border-radius: 0.8em;
    color: #FFF;
    font-weight: 700;
    font-size: 3.4rem;
    text-align: center;
}
.shop_list dl dt::after {
    position: absolute;
    top: 40%;
    right: 1.5em;
    width: 16px;
    height: 16px;
    content: '';
    transform: rotate(135deg);
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    transition: transform 0.3s ease;
}
.shop_list .open::after {
    top: 45%;
    transform: rotate(-45deg);
}
.shop_list dl dd {
    position: relative;
    display: none;
    height: auto;
    padding: 1em 1em 1em 1em;
}
.shop_name {
    font-weight: 600;
    font-size: 120%;
}
.shop_add {}

.shop_qr {
    max-width: 300px;
    margin: 1em auto;
    width: 50%;
}
.shop_btn_line {
    max-width: 500px;
    margin: 1em auto; 
    width: 80%;
}
.shop_list .note {
    font-size: 80%;
}
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media screen and (max-width: 768px) {
    .shop_list dl dt::after {
        top: 40%;
        width: 8px;
        height: 8px;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
    }
}
/*faq*/
.ttl02 {
    font-weight: 600;
    font-size: 4.6rem;
    margin-bottom: 1em;
    text-align: center;
}
.faq_list dl {
    margin-bottom: 1em;
}
.faq_list dl:last-of-type {
    margin-bottom: 0;
}
.faq_list dl dt {
    position: relative;
    cursor: pointer;
    font-weight: 500;
    padding: 1em 3em 1em 3.5em;
    background: #DFF2FB;
    border-radius: 1em;
    text-indent: -1.8em;
    line-height: 150%;
    font-size: 2.6rem;
}
.faq_list dl dt::after {
    position: absolute;
    top: 45%;
    right: 1.5em;
    width: 8px;
    height: 8px;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #3FA7F3;
    border-right: 2px solid #3FA7F3;
    transition: transform 0.3s ease;
}
.faq_list .open::after {
    transform: rotate(-45deg);
}
.faq_list dl dt::before {
    font-size: 150%;
    content: 'Q';
    font-weight: 600;
    color: #3FA7F3;
    margin-right: 0.5em;
}
.faq_list dl dd::before {
    font-size: 150%;
    content: 'A';
    font-weight: 500;
    color: #999;
    margin-right: 0.5em;
}
.faq_list dl dd {
    position: relative;
    display: none;
    height: auto;
    padding: 1em 1em 1em 4.1em;
    line-height: 180%;
    text-indent: -1.8em;
    font-weight: 400;
}
@media screen and (max-width: 768px) {
    .faq_list dl dt {padding: 1em 2.5em 1em 3.0em;}
    .faq_list dl dd {padding: 1em 1em 1em 3.0em;}
}
.shop-info {
    max-width: 700px;
    margin: 0 auto;
}
.shop-info .name {
    font-size: 3.0rem;
    font-weight: 600;
    margin-top: 0.8em;
}
.law {
    text-align: center;
    margin-top: 2em;
}
.law a {color: #999;}

small {
    text-align: center;
    color: #888;
    font-size: 2.4rem;
    display: block;
    letter-spacing: 0.1em;
    margin-top: 1em;
    padding: 1em 0;
}

/*law.html*/
.ttl03 {
    font-weight: 600;
    font-size: 3.6rem;
    margin-bottom: 1.5em;
    text-align: center;
}
.table01 th {
    padding: 0.8em;
    display: block;
    width: 100%;
    background: #F2F2F2;
    font-weight: 500;
    text-align: left;
}
.table01 td {
    font-size: 95%;
    padding: 1em;
    display: block;
    width: 100%;
    margin-bottom: 1em;
}
.table01 li {
    margin-bottom: 0.3em;
    margin-left: 1em;
}
.table01 li:last-of-type {
    margin-bottom: 0;
}
@media screen and (max-width: 768px) {
    html {font-size: 43%;}
}
@media screen and (max-width: 420px) {html {font-size: 36%;}}

