@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@700;800&family=Noto+Sans+JP:wght@400;500;600;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;}

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

  設定

====================================================================*/
html,body {
	color:#333333;
    font-family: 'Noto Sans JP',"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	-webkit-text-size-adjust: 100%;
	background: #FFFFFF;
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    font-weight: 500;
}

a:link {color:#0095e0; text-decoration:none;}
a:visited {color:#0095e0; text-decoration:none;}
a:hover {color:#66bfec; text-decoration:none;}

a:hover img {
	opacity: 0.8 ;
	filter: alpha(opacity=80) ;	
	-ms-filter: "alpha(opacity=80)";
	}

a img {
	-webkit-transition: opacity 0.4s ease-out;
	-moz-transition: opacity 0.4s ease-out;
	-ms-transition: opacity 0.4s ease-out;
	transition: opacity 0.4s ease-out;
}

a {-webkit-transition: 0.4s ;transition: 0.4s ;}
p {line-height:180%;}

.f_l {float:left;}
.f_r {float:right;}
.clear {clear:both}
.clear_fix:before, .clear_fix:after {content: " ";display: table;}
.clear_fix:after {clear: both;}
.clear_fix {*zoom: 1;}

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

 共通CSS

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

html {font-size: 62.5%;}
body {font-size: 2.0rem;}

/*-------------------------------------------
 レイアウト
-------------------------------------------*/
.container {margin: 0 auto;}

section .container {padding: 10vh 20px; max-width: 600px;}

@media screen and (max-width: 768px) {
    section .container {padding: 5vh 20px;}
}

/*-------------------------------------------
 header
-------------------------------------------*/
header {
    width: 100%;
    border-bottom: 15px solid #0095e0;
    height: 85px;
}
header .container {
    position: relative;
    width: 100%;
}
header .logo  {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 15px;
}
header .logo img {
    height: 60px;
}
@media screen and (max-width: 420px) {
    header {height: 65px; border-bottom: 10px solid #0095e0;}
    header .logo img {height: 50px;}
}

/* ナビゲーション
-----------------------------------------*/
.globalMenu ul {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
}
.globalMenu ul li {
    font-weight: 600;
    font-size: 2.2rem;
    text-align: center;
    line-height: 120%;
}
.globalMenu ul li a {
    text-decoration: none;
    color: #0095e0;
    display: block;
    padding: 0.3em 1em 0.8em 1em;
    width: 100%;
    height: 100%;
}
.globalMenu ul li a:hover {
    color: #66bfec;
}
.globalMenu ul li i {
    padding: 0 0 0 0.5em;
}

.globalMenu {
    position: fixed;
    z-index: 2;
    top: 0px;
    right: 0px;
    transition: all 0.2s;
    max-width: 350px;
    width: 100%;
    overflow: auto;
    height: 100%;
    background:rgba(255,255,255,1.0);
    opacity: 0;
    visibility: hidden;
    padding: 60px 20px 0 20px;
    box-shadow: 0 0 10px rgba(0,0,0,0.3);
}
.globalMenu.active {
    opacity: 0.98;
    visibility: visible;
}
.navToggle {
    display: block;
    position: fixed;
    right: 5px;
    top: 5px;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 3;
    transition: all 0.6s;
    border: none;
    background: transparent;
    padding: 0;
}
.navToggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: 3px solid #0095e0;
    border-radius: 3px;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 15px;
    top: 11px;
}
.navToggle span:nth-child(1) {top: 12px;}
.navToggle span:nth-child(2) {top: 21px;}
.navToggle span:nth-child(3) {top: 30px;}

.navToggle::after {
    content:"MENU";
    position: absolute;
    color: #0095e0;
    font-size: 11px;
    letter-spacing: 0.05em;
    font-weight: 600;
    top: 38px;
    left: 50%;
    transform: translateX(-50%);
}
.navToggle.active span:nth-child(1) {
    top: 21px;
    left: 15px;
    -webkit-transform: rotate(-35deg);
    -moz-transform: rotate(-35deg);
    transform: rotate(-35deg);
}
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
    top: 21px;
    -webkit-transform: rotate(35deg);
    -moz-transform: rotate(35deg);
    transform: rotate(35deg);
}
.navToggle.active::after {
        content:"CLOSE";
}
.overflowHidden {
    overflow: hidden;
}
.globalMenu ul {
    flex-wrap: wrap;
    margin-top: 30px;
}
.globalMenu ul li {
    width: 100%;
}
.globalMenu ul li a {
    font-size: 2.2rem;
    padding: 1.0em 0.5em;
}
@media screen and (max-width: 420px) {
    .navToggle { right: 0px; top: 0px;}
}

/*-------------------------------------------
 .fv
-------------------------------------------*/
.fv {
    width: 100%;
    background-position: 50% 60%;
    background-size: cover;
    height: calc(100vh - 120px);
    max-height: 800px;
    position: relative;
    min-height: 440px;
}
.fv_logo {
    position: absolute;
    top: 28%;
    left: 50%;
    -webkit-transform: translateY(-28%) translateX(-50%);
    transform: translateY(-28%) translateX(-50%);
    width: 85%;
}
.fv_logo img {
    filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 1.0));
}
.fv_dog {
    position: absolute;
    bottom: -20px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 350px;
}
.visually_hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
@media screen and (max-width: 768px) {
    .fv { height: 55vh;} 
    .fv_dog {width: 250px; bottom: -14px;}
}

/*-------------------------------------------
 .intro
-------------------------------------------*/
.intro_title {
    color: #916f46;
    font-weight: 800;
    text-align: center;
    font-size: 4.0rem;
    margin-bottom: 1.0em;
    white-space: nowrap;
}
.intro_text {
    font-size: 2.3rem;
}
.intro_photo {
    margin-top: 2.0em;
}
.intro_photo img {
    border-radius: 1.0rem;
}
@media screen and (max-width: 420px) {
    .intro_title {font-size: 3.5rem;}
}
/*-------------------------------------------
 .price
-------------------------------------------*/
.section_beige {
    background: #f3eee4;
}
.section_title {
    color: #916f46;
    font-weight: 800;
    margin-bottom: 0.5em;
    font-size: 5.4rem;
    text-align: center;
}
.menu_title{
    text-align: center;
    font-weight: 800;
    margin-bottom: 0.7em;
    color: #b29478;
    font-size: 4.0rem;
}
.menu_price + .menu_price {
    margin-top: 3em;
}
.menu_price {
    color: #916f46;
}
.menu_price ul {
    max-width: 700px;
    margin: 0 auto;
    margin-top: 1.0em;
}
.menu_price ul li {
    font-size: 2.4rem;
    border-bottom: 1px solid #DBCDC5;
    margin-bottom: 0.8em;
    padding-bottom: 0.8em;
    line-height: 150%;
    font-weight: 600;
}
.menu_price .tab-reader-box1::before {
    content: "■";
    margin-right: 0.2em;
}
.menu_price .flex {
    display: flex;
    display: -ms-flexbox;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    width: 100%;
}
.menu_price hr.tab-r-line {
    position: relative;
    top: 50%;
    margin: 0 10px;
    border: none;
    border-top: dotted 2px #916f46;
}
.menu_price .tab-reader-box2 {
    flex: auto;
}
.menu_price .tab-reader-box3 {
    font-size: 3.4rem;
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-weight: 700;
}
.menu_price .tab-reader-box3 .unit {
    font-size: 2.4rem;
    margin-left: 0.2em;
}

/*-------------------------------------------
 .shop_data access
-------------------------------------------*/
.shop_data .container {
    max-width: 380px;
}
.shop_info {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
}
.shop_logo {
    margin: 2em auto 1.5em auto;
}
.shop_address {
    line-height: 150%;
}
.shop_tel {
    font-size: 4.2rem;
    white-space: nowrap;
    text-align: center;
}
.shop_tel a {
    color: #004b95;
    font-family: 'Roboto', 'Noto Sans JP', sans-serif;
    font-weight: 800;
}
.icon_tel {
    margin-right: 0.2em;
    display: inline-block;
    position: relative;
    bottom: 0.4em;
    width: 1.0em;
    height: 1.0em;
}
/*---予約ボタン---*/
.reserve_button {
    position: relative;
    width: 100%;
    margin: 1em auto;
    color: #FFF;
    font-size: 2.4rem;
    background: #0071bc;
    background: linear-gradient(0deg, rgba(0, 75, 149, 1) 50%, rgba(0, 149, 224, 1) 100%);
    letter-spacing: 0.1em;
    padding: 1.5em 0;
    display: block;
    text-align: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
    border: 2px solid #0095e0;
    box-shadow: 0 6px 14px rgba(0, 75, 149, 0.2);
}
a.reserve_button:link,
a.reserve_button:visited,
a.reserve_button:hover {
    color: #FFF;
}
.reserve_button::after {
    content: "›";
    position: absolute;
    right: 1.5em;
    top: 50%;
    line-height: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.reserve_button:hover {
    filter: brightness(1.08);
    transform: translateY(-6px);
    box-shadow: 0 10px 22px rgba(0, 75, 149, 0.28);
}

@media screen and (max-width: 768px) {
    .shop_logo { width: 70%;}
}

/*-------------------------------------------
 footer
-------------------------------------------*/
footer a:link,
footer a:visited,
footer a:hover {color:#FFF;}

.fuji {
    position: relative;
    height: 85px;
}
.footer_logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -5px;
}
.footer_logo img {
    height: 60px;
}

@media screen and (max-width: 420px) {
    .fuji {height: 65px;}
    .fuji .footer_logo img {height: 50px;}
}
.copyright {
    background: #0095e0;
    color: #FFF;
    text-align: center;
    width: 100%;
    padding: 0.4em;
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.1em;
}

/* ===============================
 768px以下 
=============================== */
@media screen and (max-width: 768px) {
	html {font-size: 55.0%;}
}
/* ===============================
 420px以下 
=============================== */

@media screen and (max-width: 420px) {
	html {font-size: 48%;}
    body {font-size: 2.2rem;}
}

