@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500..800&family=Roboto:wght@500..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: #122a6d;
    font-family: 'Roboto', 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	overflow-x: hidden;
	background: #FFFFFF;
}

a:link {color: #122a6d; text-decoration:none;}
a:visited {color:#122a6d; text-decoration:none;}
a:hover {color:#1658d8; text-decoration:none}

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

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

 共通CSS

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

html {font-size: 62.5%;}
body {
    font-size:2.4rem;
    background: #fff9e6;
}
.page_wrap {
    background: #FFF;
    margin: 0 auto;
    max-width: 640px;
    padding: 0 20px;
}
@media screen and (max-width: 640px) {
    .page_wrap {padding: 0;}
}
.container {
    padding: 3em 20px;
}
#bottom_btn {
    position: fixed;
    bottom: 0;
    left: 50%;
    width: 100%;
    max-width: 600px;
    opacity: 0;
    pointer-events: none;
    z-index: 9999;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
}
#bottom_btn.fadein {
    opacity: 1;
    pointer-events: auto;
}
#bottom_btn img {
    display: block;
    width: 100%;
    height: auto;
}
/*------店舗情報------*/
.shop_info {
}
.shop_info_title {
    margin: 0 0 0.8em 0;
    font-size: 4.0rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-align: center;
}
.shop_info_photos {
}
.shop_info_detail {
    padding-top: 1.5em;
}
.shop_info_reserve_text {
    margin: 0 0 0.5em 0;
    text-align: center;
}
.shop_info_tel {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: baseline;
    align-items: baseline;
    font-weight: 700;
    white-space: nowrap;
    font-size: 5.8rem;
}
.shop_info_tel span {
    margin-right: 0.35em;
    font-size: 50%;
}
.shop_info_tel a {
    color: inherit;
}
.shop_info_reserve_button {
    width: 75%;
    display: block;
    text-align: center;
    margin: 0 auto 1.7em auto;
    padding: 0.8em 0;
    border: 2px solid #162b68;
    border-radius: 999px;
    -webkit-transition: color 0.25s ease, background-color 0.25s ease;
    transition: color 0.25s ease, background-color 0.25s ease;
    font-size: 3.0rem;
    font-weight: 500;
    letter-spacing: 0.05em;
}
a.shop_info_reserve_button {
    color: #162b68;
}
.shop_info_reserve_button:hover {
    color: #fff;
    background: #162b68;
}
.shop_info_data {
}
.shop_info_data dt {
    padding: 0.5em 1em;
    border-radius: 0.5em;
    background: #d8dde8;
    font-size: 80%;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1;
}
.shop_info_data dd {
    padding: 0.5em 0.5em 1.0em 0.5em;
}
.shop_info_link {
    margin-top: 0.5em;
    padding-bottom: 0.35em;
    border-bottom: 2px dotted #9fa9c4;

}
.footer {
    padding: 1em 20px 25% 20px;
    border-top: 1px solid #d8d8d8;
    text-align: center;
}
.footer_nav {
    list-style: none;
}
.footer_nav li {
    padding: 0.5em;
    display: inline-block;
    font-size: 90%;
}
.footer_nav a {
    text-decoration: none;
}
.copyright {
    text-align: center;
    color: #888;
    font-size: 90%;
    display: block;
    letter-spacing: 0.1em;
    margin-top: 0.5em;
}




/*faq*/
.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;}
}
.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) {
    html {font-size: 43%;}
}
@media screen and (max-width: 420px) {html {font-size: 36%;}}

