@charset "utf-8";
/*
Theme Name: somari
Note: le-varo 再現CSSを骨格として流用し、SOMARI 用にトークン化・再配色したもの
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Noto+Serif+JP:wght@400;600&display=swap');

/* =========================================================
 * SOMARI デザイントークン（仕様書§2）
 * 色・フォントの調整はここを起点に行う
 * ======================================================= */
:root {
  --ink: #26211c;      /* 基本テキスト・線・フッター背景 */
  --accent: #b5542a;   /* 見出し頭文字・ラベル（テラコッタ） */
  --bg-soft: #f6f2ec;  /* セクション淡色背景 */
  --bg-sub: #ece5db;   /* 補助背景 */
  --white: #fff;
}

/* RESET
----------------------------------------------------------------------------------------------------*/
a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,caption,canvas,center,cite,code,dd,del,details,dfn,dialog,div,dl,dt,em,embed,fieldset,figcaption,figure,form,footer,header,hgroup,h1,h2,h3,h4,h5,h6,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,main,small,span,strike,strong,sub,summary,sup,tt,table,tbody,tfoot,thead,time,tr,th,td,u,ul,var,video{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.5;text-align:left}textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.5;text-align:left}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}table{border-collapse:collapse;border-spacing:0}

/* ----------------------------------------------

 * 設定をしなおす

---------------------------------------------- */
html,body {
	 /*-webkit-text-size-adjust: none;*/
}

body {
  margin: 0 auto;
  padding: 0;
  font-size: 16px;
  line-height: 1.5em;
  font-family: "Noto Serif JP",游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
  color: var(--ink);
}

@media only screen and ( max-width : 480px ) {
	body {
		font-size: 14px;
	}
}

table {
	margin : 0;
	border-collapse: collapse;
	border-spacing: 0;
	empty-cells: show;
}

img {
	vertical-align: bottom;
	border: none;
}


/* ----------------------------------------------

 * アンカータグの設定

---------------------------------------------- */
a {
	outline:none;
	/*color: var(--accent);*/
  color: var(--ink);
}

a:hover {
	text-decoration: none;
}


a,a:hover,a:hover img {
	-webkit-transition: 0.5s;
	-moz-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	text-decoration: none;
}

a:hover {
	filter: alpha(opacity=80);
	-moz-opacity:0.80;
	opacity:0.80;
}


/* ----------------------------------------------

 * 要素を左右中央寄せ

---------------------------------------------- */

.taC {
	text-align: center !important;
}

.taR {
	text-align: right !important;
}

.taL {
	text-align: left !important;
}
.posL {
	float: left;
}
.posR {
	float: right;
}
.caption {
	font-size: 70% !important;
	letter-spacing: 0;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mt0 {
	margin-top: 0 !important;
}
.mb0 {
	margin-bottom: 0 !important;
}


.clr{zoom:1;display:inline-table}.clr:after{content:".";display:block;height:0;clear:both;visibility:hidden;font-size:0;line-height:0}* html .clr{height:1%;display:inline-table;display:block;height:1%}.clr{display:block}


input[type="text"],textarea,input[type="tel"],input[type="email"]{
  padding:10px;
  border: 1px solid #aaa;
  margin:0 !important;
  display: block;
    border-radius:  5px;
    -webkit-border-radius: 5px ;
    -moz-border-radius:  5px ;
  background: #eee;
  border: none;
  width: 100%;
}

input[type="submit"] {
  -webkit-appearance: none;
  cursor: pointer;
}
button {
  -webkit-appearance: none;
	cursor: pointer;
}

textarea {
	height: 10em;
}

*::selection {
background: #f3e3d5;
}
*::-moz-selection {
background: #f3e3d5;
}

*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;*behavior:url(/scripts/boxsizing.htc)}.container{margin:0 auto}.container:after,.row:after,.col:after,.colR:after,.clr:after,.group:after{content:"";display:table;clear:both}.row{padding-bottom:0}.col{display:block;float:left;width:100%}@media print,( min-width : 769px ){.gutters .col{margin-left:2%}.gutters .col:first-child{margin-left:0}.sp{display:none}}@media ( max-width : 768px ){.sp_none{display:none}}@media ( min-width : 480px ){.sp_s{display:none}}@media print,screen and ( min-width : 769px ){.span_1{width:8.33333333333%}.span_2{width:16.6666666667%}.span_3{width:25%}.span_4{width:33.3333333333%}.span_5{width:41.6666666667%}.span_6{width:50%}.span_7{width:58.3333333333%}.span_8{width:66.6666666667%}.span_9{width:75%}.span_10{width:83.3333333333%}.span_11{width:91.6666666667%}.span_12{width:100%}.gutters .span_1{width:6.5%}.gutters .span_2{width:15%}.gutters .span_3{width:23.5%}.gutters .span_4{width:32%}.gutters .span_5{width:40.5%}.gutters .span_6{width:49%}.gutters .span_7{width:57.5%}.gutters .span_8{width:66%}.gutters .span_9{width:74.5%}.gutters .span_10{width:83%}.gutters .span_11{width:91.5%}.gutters .span_12{width:100%}}


/* -----------------------------------------------
 * base.css
----------------------------------------------- */

* {box-sizing:border-box;}
body {-webkit-text-size-adjust: 100%;}
main {display: block;}
img {
    max-width: 100%;
    height: auto;
    width /***/:auto;　/*IE8のみ適用*/
}
#map_canvas img {max-width: auto !important;}
/*#main section p {line-height: 2em;}*/
#base {position: relative;overflow: hidden;}

#main p {
  line-height: 2em;
}

@media only screen and ( max-width : 768px ) {
  .box {
    margin-bottom: 30px;
  }
  .sbox {
    margin-bottom: 20px;
  }
  .container {
    padding: 0 20px;
  }
  .sp_box {
    margin-bottom: 20px;
  }
  section,.sec {
    padding: 56px 0;
  }
  .sp_pd {
    padding: 0 20px;
  }
  /*#base {
    padding-top: 45px;
  }*/
}

@media only screen and ( max-width : 480px ) {
  
}

@media print, screen and ( min-width : 769px ) {
  .box {
    margin-bottom: 80px;
  }
  .sbox {
    margin-bottom: 40px;
  }
  .container {
    width: 1040px;
  }
  section,.sec {
    padding: 120px 0;
  }
}

/* ---------------------------------------------------------------------------------------------

　   HEADER

--------------------------------------------------------------------------------------------- */
#header {
  width: 100%;
}
#header a {
  color: var(--ink);
}
#header,#gNav,#menu,.takeout,.name span {
  font-family: "Cormorant Garamond",游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}
@media only screen and ( max-width : 768px ) {
  #gNav ul {
    padding: 4em 2em;
    height: 100vh;
    overflow-y:auto; 
  }
  #gNav ul li {
    border-bottom: 1px solid #666;
  }
  #gNav ul li.sns {
    border-bottom: none;
    display: inline-block;
    width: 48%;
  }
  #gNav ul li a {
    display: block;
    padding: 1em 0;
    /*color: #fff;*/
  }
  #gNav ul li.sns a {
    text-align: center;
    font-size: 30px;
    padding-bottom: 0;
  }
  #header #head-logo {
    text-align: center;
    margin: 1em 0;
  }
  #header #head-logo img {
    width: 60px;
  } 
  #head-nav p {
    text-align: center;
  }
}

@media only screen and ( max-width : 375px ) {
  
}
@media only screen and ( max-width : 320px ) {
  
}

@media print, screen and ( min-width : 769px ) {
  #header {
    padding: 2em 3em;
  }
  #header #head-nav {
    margin-top: 1em;
  }
  #header #head-nav p {
    text-align: right;
    margin-bottom: 1em;
  }
  nav {
    position: absolute;
    z-index: 999;
    right: 3em;
    top: 5.5em;
  }
  nav li {
    float: left;
    margin-right: 3em;
  }
  nav li.sns {
    margin-right: 1em;
  }
  nav li:last-child {
    margin-right: 0;
  }
  nav li a {
    display: block;
    border-bottom: 1px solid rgba(38,33,28,0);
    padding-bottom: 0.5em;
  }
  nav li.current-menu-item a {
    color: var(--accent);
  }
  nav li a:hover {
    border-bottom: 1px solid rgba(38,33,28,1);
  }
  #head-logo {
    float: left;
  }
  #head-nav {
    float: right;
  }
  .pure-toggle,.pure-toggle-label {
    display: none;
  }
  
}

/* ---------------------------------------------------------------------------------------------

　   スマホメニュー

--------------------------------------------------------------------------------------------- */

@media only screen and ( max-width : 768px ) {
  /**************
  ## Container ##
  **************/
  .pure-container {
    position: relative;
    height: 100%;
    -webkit-overflow-scrolling: touch;
  }

  /************
  ## Toggler ##
  ************/
  .pure-toggle {
    left: -9999px;
    position: absolute;
    top: -9999px;
  }

  .pure-toggle:focus ~ .pure-toggle-label {
    /*border-color: #1fc08e;
    color: #1fc08e;*/
  }

  .pure-toggle-label {
    display: none;
    cursor: pointer;
    display: block;
    position: fixed;
    z-index: 99;
    color: var(--ink);
    -webkit-transition: all 400ms ease-in-out;
            transition: all 400ms ease-in-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  .pure-toggle-label p {
    position: absolute;
    bottom: -12px;
    font-size: 10px;
    right: -2px;
  }


  .pure-toggle-label:active {
    -webkit-tap-highlight-color: transparent;
  }

  .pure-toggle-label .pure-toggle-icon,
  .pure-toggle-label .pure-toggle-icon:before,
  .pure-toggle-label .pure-toggle-icon:after {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 2px;
    width: 25px;
    cursor: pointer;
    background: var(--ink);
    display: block;
    content: '';
    -webkit-transition: all 500ms ease-in-out;
            transition: all 500ms ease-in-out;
  }

  .pure-toggle-label .pure-toggle-icon {
    transform: translate3d(-50%, -5px, 0);
    -webkit-transform: translate3d(-50%, -5px, 0);
  }

  .pure-toggle-label .pure-toggle-icon:before {
    transform: translate3d(-50%, -8px, 0);
    -webkit-transform: translate3d(-50%, -8px, 0);
  }

  .pure-toggle-label .pure-toggle-icon:after {
    transform: translate3d(-50%, 6px, 0);
    -webkit-transform: translate3d(-50%, 6px, 0);
  }

  .pure-toggle-label[data-toggle-label='left'] {
    left: auto;
    right: 30px;
    top: 22px;
  }
  .pure-toggle-label[data-toggle-label='right'] {
    left: auto;
    right: 20px;
    top: 20px;

    width: 25px;
    height: 25px;
  }

  .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label:not([data-toggle-label='right']) {
    opacity: 0;
    z-index: -1;
  }

  .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label[data-toggle-label='right'] {
    /*border-color: #fff;
    color: #fff;*/
  }

  .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label[data-toggle-label='right'] .pure-toggle-icon {
    background-color: transparent;
  }

  .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label[data-toggle-label='right'] .pure-toggle-icon:before,
  .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label[data-toggle-label='right'] .pure-toggle-icon:after {
    top: 0;
  }

  .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label[data-toggle-label='right'] .pure-toggle-icon:before {
    transform: translateX(-50%) rotate(45deg);
    -webkit-transform: translateX(-50%) rotate(45deg);
  }

  .pure-toggle[data-toggle='right']:checked ~ .pure-toggle-label[data-toggle-label='right'] .pure-toggle-icon:after {
    transform: translateX(-50%) translateY(-10px) rotate(-45deg);
    -webkit-transform: translateX(-50%) translateY(-10px) rotate(-45deg);
    top: 10px;
  }

  /***********
  ## Drawer ##
  ***********/
  .pure-drawer {
    position: fixed;
    top: 0;
    /*left: 0;*/
    right: 0;
    z-index: 1;
    height: 100%;
    visibility: hidden;
    background-color: #fff;
    -webkit-transition-property: all;
            transition-property: all;
    -webkit-transition-duration: 500ms;
            transition-duration: 500ms;
    -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
    width: 70%;
  }
  /*********************
  ## Pusher Container ##
  *********************/
  .pure-pusher-container {
    position: relative;
    height: 100%;
    overflow: hidden;
  }

  /***********
  ## Pusher ##
  ***********/
  .pure-pusher {
    position: relative;
    height: 100%;
    overflow-y: auto;
    left: 0;
    z-index: 2;
    background-color: #fff;
    -webkit-transition-property: -webkit-transform;
            transition-property: transform;
    -webkit-transition-duration: 500ms;
            transition-duration: 500ms;
    -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
  }

  /*******************
  ## Pusher Overlay ##
  *******************/
  .pure-overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.6);
    -webkit-transition-property: opacity;
            transition-property: opacity;
    -webkit-transition-duration: 500ms;
            transition-duration: 500ms;
    -webkit-transition-delay: 500ms;
            transition-delay: 500ms;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
  }

  .pure-toggle[data-toggle='right']:checked ~ .pure-overlay[data-overlay='right'] {
    right: 70%;
  }

  .pure-toggle[data-toggle='right']:checked ~ .pure-overlay[data-overlay='right'] {
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: 2;
  }

  /********************************
  ## Fallback for older browsers ##
  ********************************/
  .no-csstransforms3d .pure-toggle[data-toggle='right']:checked ~ .pure-pusher-container .pure-pusher {
    left: -100%;
  }


  /*********************
  ## Effect - Push ##
  *********************/
  /* DRAWER */
  [data-effect='pure-effect-push'] .pure-drawer {
    -webkit-transition-duration: 500ms;
            transition-duration: 500ms;
  }

  [data-effect='pure-effect-push'] .pure-drawer[data-position='right'] {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }


  [data-effect='pure-effect-push'] .pure-toggle[data-toggle='right']:checked ~ .pure-drawer[data-position='right'] {
    visibility: visible;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  /* PUSHER */
  [data-effect='pure-effect-push'] .pure-pusher-container .pure-pusher {
    -webkit-transition-duration: 500ms;
            transition-duration: 500ms;
  }
  [data-effect='pure-effect-push'] .pure-toggle[data-toggle='right']:checked ~ .pure-pusher-container .pure-pusher {
    -webkit-transform: translate3d(-70%, 0, 0);
    transform: translate3d(-70%, 0, 0);
  }

  /* OVERLAY */
  [data-effect='pure-effect-push'] .pure-overlay {
    -webkit-transition-duration: 500ms;
            transition-duration: 500ms;
    -webkit-transition-delay: 250ms;
            transition-delay: 250ms;
  }
}



/* ---------------------------------------------------------------------------------------------

　   FOOTER

--------------------------------------------------------------------------------------------- */
#footer {
  background: var(--ink);
  color: #fff;
}
#footer a {
  color: #fff;
}
#footer p {
  line-height: 2em;
}
#footer .col {
  position: relative;
}
#footer .foot-logo {
  display: inline-block;
}

@media only screen and ( max-width : 768px ) {
  #footer {
    padding: 30px 0;
  }
  #footer .foot-logo {
    margin-bottom: 2em;
    max-width: 60%;
    text-align: center;
  }
  #footer .col {
    text-align: center;
  }
  #footer .copy {
    text-align: center;
  }
  /*#footer p {
    font-size: 12px;
  }*/
  #footer .foot-nav {
  }
  #footer .foot-nav li {
    border-bottom: 1px solid rgba(255,255,255,.6);
    padding: 1em 0;
  }
  #footer .foot-nav li a {
    display: block;
    text-align: center;
    font-size: 15px;
  }
  #footer .sns {
    text-align: center;
    margin-top: 2em;
  }
  
}

@media only screen and ( max-width : 480px ) {
}

@media print, screen and ( min-width : 769px ) {
  #footer {
    padding: 60px 0;
  }
  #footer .foot-logo {
    margin-bottom: 2em;
  }
  #footer .foot-nav {
    text-align: right;
  }
  #footer .foot-nav ul {
    display: inline-block;
  }
  #footer .foot-nav li {
    float: left;
    margin-right: 2em;
  }
  #footer .foot-nav li:last-child {
    margin-right: 0;
  }
  #footer .sns {
    text-align: right;
  }
  #footer .copy {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

/* ---------------------------------------------------------------------------------------------

　   PAGE TOP

--------------------------------------------------------------------------------------------- */
#page-top {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 99;
}
#page-top a {
    text-decoration: none;
    width: 62px;
    height: 62px;
    text-align: center;
    display: block;
}
#page-top a:hover {
    text-decoration: none;
    filter:alpha(opacity=60);
  -moz-opacity: 0.6;
  opacity: 0.6;
}

@media only screen and ( max-width : 768px ) {
}

@media only screen and ( max-width : 480px ) {
  #page-top a {
      width: 40px;
      height: 40px;
  }
}

@media print, screen and ( min-width : 769px ) {
}

/* ---------------------------------------------------------------------------------------------

　   BUTTON

--------------------------------------------------------------------------------------------- */
.btn {
  display: inline-block;
  margin: 0 auto;
  border: 1px solid var(--ink);
  text-align: center;
  padding: 1.2em 2em 1.2em 2em;
  line-height: 1em;
}
.btn:hover {
  background: var(--ink);
  color: #fff;
  filter:alpha(opacity=100);
  -moz-opacity: 1;
  opacity: 1;
}
@media only screen and ( max-width : 768px ) {
}

@media only screen and ( max-width : 480px ) {
}

@media print, screen and ( min-width : 769px ) {
  .btn {
    min-width: 300px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   CONTENTS

--------------------------------------------------------------------------------------------- */
h2,h1.ttl {
  font-family: "Cormorant Garamond",游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
  text-align: center;
  font-style: italic;
  line-height: 1em;
  margin-bottom: 1em;
}
h2:first-letter,h1.ttl:first-letter{
  color:var(--accent);
}
h2 span,h1.ttl span {
  color:var(--accent);
}
section {
  position: relative;
}

@media only screen and ( max-width : 768px ) {
  h2,h1.ttl {
    font-size: 36px;
  }
}

@media only screen and ( max-width : 480px ) {
}

@media print, screen and ( min-width : 769px ) {
  h2,h1.ttl {
    font-size: 54px;
  }
}


/* ---------------------------------------------------------------------------------------------

　   TOP

--------------------------------------------------------------------------------------------- */
.f_g {
  font-family:  'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
.home #header {
  position: absolute;
  z-index: 99;
  top: 0;
  left: 0;
}
.home #header #head-nav p,.home #gNav li a {
  text-shadow: 
  1px 1px 1px #fff,
  1px -1px 1px #fff,
  -1px 1px 1px #fff,
  -1px -1px 1px #fff;
}
#mainImage {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100vh;
}
#mainImage .maincopy {
  position: absolute;
  z-index: 3;
  width: 100%;
  left: 0;
  top: 40%;
}
#mainImage .maincopy h1,#mainImage .maincopy p {
  text-align: center;
}
#mainImage .maincopy p {
  line-height: 2em;
  font-weight: bold;
  text-shadow: 
  1px 1px 1px #fff,
  1px -1px 1px #fff,
  -1px 1px 1px #fff,
  -1px -1px 1px #fff;
}
.slider li {
  width: 100%;
  height: 100vh;
}
.slider li.slide01 {
  background: url(./img/mainImage01.jpg) no-repeat center;
  background-size: cover;
}
.slider li.slide02 {
  background: url(./img/mainImage02.jpg) no-repeat center;
  background-size: cover;
}
.slider li.slide03 {
  background: url(./img/mainImage03.jpg) no-repeat center;
  background-size: cover;
}
.slider li.slide04 {
  background: url(./img/mainImage04.jpg) no-repeat center;
  background-size: cover;
}
.slider li.slide05 {
  background: url(./img/mainImage05.jpg) no-repeat center;
  background-size: cover;
}
#mainImage .mask {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(255,255,255,.2);
}
/*.newsbox {
  float: left;
}
.newsbox .data {
  font-size: 80%;
}
.newsbox h3 {
  font-size: 130%;
}
.newsbox img {
  width: 100%;
}*/
#massage,#menu {
  background: var(--bg-soft);
}
.read {
  text-align: center;
  font-size: 130%;
}
#menu {
  padding-bottom: 0;
}
#menu a {
  display: block;
  position: relative;
  z-index: 1;
  color: #fff;
}
#menu .circle {
  background: var(--ink);
  background: rgba(38,33,28,.8);
  position: absolute;
  z-index: 2;
  width: 180px;
  height: 180px;
  border-radius: 180px;
  top: 50%;
  margin-top: -90px;
  left: 50%;
  margin-left: -90px;
}
#menu .circle strong,#menu .circle span {
  display: block;
  text-align: center;
}
#menu .circle strong {
  font-size: 200%;
  font-style: italic;
  margin-top: 30%;
}
#menu .lunch {
  background: url(./img/lunch_ph.jpg) no-repeat center;
  background-size: cover;
}
#menu .dinner {
  background: url(./img/dinner_ph.jpg) no-repeat center;
  background-size: cover;
}
#chef {
}
#chef .name {
  text-align: center;
  font-size: 2em;
  margin: 1em 0;
  line-height: 1;
}
#chef .name span {
  display: block;
  text-align: center;
  font-size: 60%;
  font-style: italic;
}
#selected .col {
  position: relative;
}
#access {
  padding-top: 0;
}
#access .ph li {
  float: left;
  width: 33.33333333333333%;
}
#access iframe {
  width: 100%;
}
#access .parking {
  background: var(--bg-sub);
  padding: 1em 1.5em;
  display: inline-block;
}
#access .parking p {
  margin-bottom: 0.8em;
}
#access .parking strong {
  border-bottom: 1px solid var(--ink);
  display: inline-block;
  padding-bottom: 0.4em;
}
#access .parking span {
  margin-left: 10px;
}
#access .parking i {
  margin-right: 5px;
}
#access .parking ul {
  display: inline-block;
}
#access .parking li {
  display: inline-block;
  margin-right: 0.5em;
}
#access .parking li:last-child {
  margin-right: 0;
}
#access .parking li a {
  display: block;
  font-family:  'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  background: var(--ink);
  color: #fff;
  padding: 0.7em 1em;
  font-size: 80%;
  line-height: 1em;
}
.tel_numtxt {
  font-size: 200%;
}
.title {
  background: var(--accent);
  color: #fff;
  display: inline-block;
  position: absolute;
  z-index: 2;
}
.title h3 {
  font-style: italic;
  text-align: center;
  line-height: 1em;
}
.title p {
  text-align: center;
}
.takeout {
  position: relative;
}
@media only screen and ( max-width : 768px ) {
  #mainImage h1 {
    padding: 2em 3em;
  }
  #mainImage .maincopy p {
    font-size: 1.2em;
  }
  /*.newsbox {
    margin-bottom: 1em;
  }
  .newsbox:last-child {
    margin-bottom: 0;
  }
  .newsbox a {
    display: block;
  }
  .newsbox img {
    float: left;
    width: 30%;
  }
  .newsbox .news_txt {
    float: right;
    width: 68%;
  }*/

  .cooking_bg {
    background: url(./img/cooking_ph.jpg) no-repeat center;
    background-size: cover;
  }
  .pasta_bg {
    background: url(./img/pasta.jpg) no-repeat center;
    background-size: cover;
  }
  #massage .col {
    text-align: center;
  }
  #massage .col p {
    text-align: center;
  }
  .cooking_bg,.pasta_bg,.home .lunch,.home .dinner,.sp_chef {
    height: 250px;
  }
  .dish01,.dish02,.dish03,.crepe01,.crepe02 {
    display: none;
  }
  .takeout img {
    max-width: 70%;
  }
  .title {
    width: 50%;
    padding: 20px 10px;
    top: 10%;
    right: 0;
  }
  .title h3 {
    font-size: 28px;
  }
  .title p {
    font-size: 12px;
  }
  .foodstuff img,.self-cultivation img {
    width: 60%;
  }
  .foodstuff h3,.self-cultivation h3 {
    font-size: 16px;
  }
  #chef {
    background: var(--bg-soft);
  }
  #chef .introduction img {
    width: 100px;
  }
  .sp_chef {
    background: url(./img/chef.jpg) no-repeat center;
    background-size: cover;
  }
  #selected p {
    text-align: center;
  }
  #main .container,.sp_pd {
    max-width: 80%;
  }
  .sp_pd {
    margin: 0 auto;
  }
  #massage .sp_pd {
    max-width: 100%;
    margin-bottom: 20px;
  }
  #access iframe {
    height: 300px;
  }
}

@media only screen and ( max-width : 480px ) {
  #main .container,.sp_pd {
    max-width: 100%;
  }
  .cooking_bg,.pasta_bg,.home .lunch,.home .dinner,.sp_chef {
    height: 200px;
  }
  #menu .circle {
    width: 140px;
    height: 140px;
    border-radius: 140px;
    margin-top: -70px;
    margin-left: -70px;
  }
  #massage .col p,#selected p {
    text-align: left;
  }
  p.taC {
    text-align: left !important;
  }
}

@media print, screen and ( min-width : 769px ) {
  #mainImage h1 {
    margin-bottom: 3em;
  }
  #mainImage .maincopy p {
    font-size: 24px;
    letter-spacing: 0.2em;
  }

  .cooking_bg {
    background: url(./img/cooking_ph.jpg) no-repeat center fixed;
    background-size: cover;
  }
  .pasta_bg {
    background: url(./img/pasta.jpg) no-repeat center fixed;
    background-size: cover;
  }
  /*.newsbox {
    width: 23.5%;
    margin-right: 2%;
  }
  .newsbox:last-child {
    margin-right: 0;
  }
  .newsbox a:hover {
    background: var(--bg-sub);
  }
  .news_txt {
    margin-top: 1em;
    padding: 0 1em 1em 1em;
  }*/
  .dish01,.dish02,.dish03,.crepe01,.crepe02 {
    position: absolute;
    z-index: 99;
  }
  .dish01 {
    right: -80px;
    bottom: -10%;
  }
  .dish02 {
    left: -80px;
    bottom: 15%;
  }
  .dish03 {
    right: -80px;
    bottom: -5%;
  }
  .crepe01 {
    left: -80px;
    top: 4%;
  }
  .crepe02 {
    right: -80px;
    top: 300px;
  }
  .cooking_bg,.pasta_bg,.lunch,.dinner {
    height: 490px;
  }
  #chef {
    padding: 0;
    background: url(./img/chef.jpg) no-repeat center fixed;
    background-size: cover;
    color: #fff;
  }
  #chef .introduction {
    width: 36%;
    padding: 4%;
    background: rgba(38,33,28,.8);
  }
  .title {
    width: 400px;
    padding: 30px;
    top: 10%;
    right: 10%;
  }
  .title h3 {
    font-size: 40px;
  }
  #selected img {
    width: 100%;
  }
  .self-cultivation {
    margin-top: 20%;
  }
  .foodstuff .title,.self-cultivation .title {
    right: -26%;
    top: 12%;
  }
  .foodstuff h3,.self-cultivation h3 {
    font-size: 24px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   BLOG詳細

--------------------------------------------------------------------------------------------- */
#post {
  font-family:  'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
#post h1 {
  font-size: 160%;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 0.4em;
}
#post .date {
  color: #888;
}
.side_post article {
  margin-bottom: 20px;
}
.side_post article a {
  display: flex;
  justify-content:space-between;
}
.side_post a .image,.side_post a .txt {
  width: 47.91667%;
}
.side_post article a .image span {
  display: block;
  overflow: hidden;
  position: relative;
}
.side_post article a .image span img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#postR .news_side li a {
  display: block;
  padding: 0.5em;
  border-bottom: 1px solid #ccc;
}
#post #postR .sideTitle {
  margin-bottom: 0.5em;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 0.4em;
  font-size: 110%;
  font-weight: bold;
}
article .post-categories:before {
  content: "\f02b";
  font-family: "FontAwesome";
  margin-right: 0.2em;
}
article .post-categories li {
  display: inline-block;
  font-size: 80%;
  margin-right: 1em;
}
article .post-categories li:last-child {
  margin-right: 0;
}
@media only screen and ( max-width : 768px ) {
  .side_post article a .image span {
    height: 150px;
  }
}

@media only screen and ( max-width : 480px ) {
  .side_post article a .image span {
    height: 100px;
  }
}

@media print, screen and ( min-width : 769px ) {
  #postL {
    float: left;
    width: 68%;
  }
  #postR {
    float: right;
    width: 28%;
  }
  .side_post article a h3 {
    font-size: 17px;
    margin-bottom: 0;
  }
  .side_post article a .date {
    font-size: 13px;
  }
  .side_post article a .image span {
    height: 90px;
  }
}

/* ---------------------------------------------------------------------------------------------

　   BLOG 一覧

--------------------------------------------------------------------------------------------- */

.postlist {
  display: flex;
  flex-wrap: wrap;
}

.postlist article {
  width: 30%;
  margin-right: 4%;
  font-family:  'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
.postlist article:nth-child(3n) {
  margin-right: 0;
}
.postlist article h3 {
  margin: 0.5em 0 0 0;
  font-size: 120%;
}
.postlist article .date {
  font-size: 80%;
}
.postlist article .ex {
  line-height: 1.4em;
  font-size: 90%;
}
.postlist article .image {
  overflow: hidden;
}
.postlist article .image span {
  display: block;
  position: relative;
  overflow: hidden;
}
.postlist article .image img {
  -moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
 }

.more {
  display: inline-block;
  color: #000;
  position: relative;
  padding-left: 100px;
  line-height: 30px;
  height: 30px;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  font-size: 80%;
}
.more:before {
  content: "";
  position: absolute;
  left: 0;
  width:90px;
  height: 1px;
  background: #000;
  top: 50%;
  margin-top: 0px;
  display: block;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.more:after {
  content: "";
  position: absolute;
  border-top: 1px solid #000;
  transform: rotate(35deg);
  top: 50%;
  left: 79px;
  margin-top: -0.2em;
  display: block;
  width: 12px;

  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}
.postlist a:hover .more {
  padding-left: 160px;
}
.postlist a:hover .more:before {
  width: 150px;
}
.postlist a:hover .more:after {
  transform: rotate(-35deg);
  margin-top: 0.2em;
  left: 139px;
}

@media only screen and ( max-width : 768px ) {
  .postlist article .more {
    display: none;
  }
  .postlist article {
    margin-bottom: 30px;
  }
  .postlist article .image span {
    height: 150px;
  }
}

@media only screen and ( max-width : 480px ) {
  .postlist {
    display: block;
  }
  .postlist article {
    width: 100%;
    display: block;
  }
  .postlist article a {
    display: flex;
    justify-content:space-between;
  }
  .postlist a .image,.postlist a .txt {
    width: 47.91667%;
  }
  .postlist article h3 {
    margin: 0;
  }
  .postlist article {
    margin-bottom: 20px;
  }
  .postlist article .image span {
    height: 120px;
  }
}

@media print, screen and ( min-width : 769px ) {
  .postlist article {
    margin-bottom: 50px;
  }
  .postlist article .image span {
    height: 220px;
  }
  .postlist article .txt {
    padding: 0 1em 1em 1em;
  }
}



/* ---------------------------------------------------------------------------------------------

　   ABOUT

--------------------------------------------------------------------------------------------- */


#about_chef .name {
  font-size: 160%;
  margin-bottom: 1em;
}
#about_chef .name span {
  font-style: italic;
  font-size: 70%;
  margin-left: 1.5em;
}
.about #selected {
  background: var(--bg-soft);
}
.selected_txt {
  font-size: 84%;
  line-height: 1.5em;
  margin-top: 1em;
}

@media only screen and ( max-width : 768px ) {
  #about_chef .name {
    text-align: center;
  }
  #about {
    background: var(--bg-soft);
  }
  #about_chef p {
    font-size: 90%;
    line-height: 1.8em;
  }
}

@media only screen and ( max-width : 480px ) {
}

@media print, screen and ( min-width : 769px ) {
  #about {
    background: url(./img/about_bg.jpg) no-repeat center top;
    background-size: cover;
    padding: 200px 0;
    position: relative;
    z-index: 1;
  }
  #about .container {
    position: relative;
    z-index: 3;
  }
  #about h1 {
    color: #fff;
  }
  #about p {
    text-align: center;
    color: #fff;
  }
  #about_chef p {
    font-size: 84%;
    line-height: 1.5em;
  }
  #about_chef h2 {
    text-align: left;
  }
  .about_mask {
    background: rgba(38,33,28,.6);
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
  }
}


/* ---------------------------------------------------------------------------------------------

　   Dolce

--------------------------------------------------------------------------------------------- */
#dolce_menu {
  background: var(--bg-soft);
}
.menu {
  margin-bottom: 2em;
}
.menu img {
  margin-bottom: 1em;
}
.menu h3 {
  margin: 0 0 0.4em 0;
  font-size: 110%;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 0.4em;
  font-weight: bold;
}
.menu h4 {
  margin: 0 0 0.4em 0;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 0.4em;
  font-weight: bold;
}
.menu .price {
  text-align: right;
  font-size: 110%;
}
.price strong {
  font-size: 140%;
}
#main .menu_discription {
  line-height: 1.4em;
  margin-bottom: 0.5em;
  color: #777;
}
#main li h3 {
  font-size: 110%;
  font-weight: bold;
}
#main #drink li h3 {
  font-size: inherit;
}
#main li .menu_discription {
  display: block;
  font-size: 80%;
  font-weight: normal;
}
@media only screen and ( max-width : 768px ) {
  .dolce .sp_crape {
    margin: 0 auto 2em;
    display: block;
    max-width: 300px;
  }
}

@media only screen and ( max-width : 480px ) {
  .dolce .sp_crape {
    max-width: 200px;
  }
}

@media print, screen and ( min-width : 769px ) {
  .menubox {
    float: left;
    width: 48%;
    margin-right: 4%;
  }
  .menubox:nth-child(2n) {
    margin-right: 0;
  }
  .menubox_col3 {
    float: left;
    width: 30.66666666666667%;
    margin-right: 4%;
  }
  .menubox_col3:nth-child(3n) {
    margin-right: 0;
  }
  .menubox_col4 {
    float: left;
    width: 22%;
    margin-right: 4%;
  }
  .menubox_col4:nth-child(4n) {
    margin-right: 0;
  }
  .menubox h2 {
    text-align: left;
    margin-bottom: 0;
  }
}

/* ---------------------------------------------------------------------------------------------

　   MENU

--------------------------------------------------------------------------------------------- */
#lunch {
  background: url(./img/lunch_ph.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  z-index: 1;
}
#dinner {
  background: url(./img/dinner_ph.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  z-index: 1;
}
#lunch .container,#dinner .container {
  position: relative;
  z-index: 3;
}
#lunch .mask,#dinner .mask {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0,0,0,.5);
  z-index: 2;
}
#lunch h1,#dinner h1 {
  color: #fff;
}
.rank {
  text-align: center;
}
.setmenu {
  border: 1px solid #fff;
  padding: 1.5em;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-size: 120%;
}
.setmenu h3 {
  text-align: center;
  font-size: 120%;
  margin-bottom: 0.5em;
}
.setmenu p {
  text-align: center;
}
.setmenu .price {
  margin-bottom: 1em;
  border-bottom: 1px dotted #ccc;
  border-top: 1px dotted #ccc;
  line-height: 1em;
  padding: 0.4em 0;
}

.dinner .yosan_set .price {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
}
#osusume,#drink,.bg {
  /*background: #E8E4DF;*/
  background: url(./img/bg.jpg);
}
.lunch h2,.dinner h2 {
  margin-bottom: 0.4em;
}
.menubox h4 {
  border-bottom: 1px dotted #ccc;
  padding-bottom: 0.4em;
}
.menulist li {
  display: table;
  width: 100%;
  border-bottom: 1px dotted #ccc;
}
.menulist li:first-child {
  border-top: 1px dotted #ccc;
}
.menulist h3,.menulist p {
  display: table-cell;
  vertical-align: middle;
  padding: 0.4em 0;
  line-height: 1em;
  font-feature-settings : "palt";
}
.menulist p {
  text-align: right;
  padding-left: 1em;
}
.drink {
  width: 100%;
  margin-bottom: 2em;
  border-top: 1px dotted #ccc;
}
.drink tr {
  border-bottom: 1px dotted #ccc;
}
.drink th,.drink td {
  padding: 0.4em 0;
  vertical-align: middle;
  font-feature-settings : "palt";
}
.drink th {
  font-weight: bold;
  font-size: 105%;
}
#main .drink .caption {
  font-weight: normal;
  font-family:  'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  color: #777;
  font-size: 50%;
  line-height: 1.5em;
}
.drink td {
  text-align: right;
}
#drink h4 {
  font-weight: bold;
  font-size: 110%;
}
#drink h5 {
  font-weight: bold;
}

.ranking li {
  position: relative;
  padding-left: 40px;
}
.rank_num {
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  background: var(--accent);
  color: #fff;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  font-size: 18px;
}

@media only screen and ( max-width : 768px ) {
  .dinner .setmenu {
    width: 100%;
  }
}

@media only screen and ( max-width : 480px ) {
  .rank_num {
    top: 5px;
  }
}

@media print, screen and ( min-width : 769px ) {
  .ranking {
    width: 700px;
    margin: 0 auto;
  }
  .dinner .setmenu {
    width: 500px;
  }
}


/* ---------------------------------------------------------------------------------------------

　   プライバシーポリシー

--------------------------------------------------------------------------------------------- */
.privacy-policy h3,.asct h3 {
  border-bottom: 1px solid var(--ink);
  padding-bottom: 0.4em;
  margin-bottom: 0.8em;
  font-size: 120%;
  font-weight: bold;
}

.pp_about {
  background: var(--bg-sub);
  padding: 1em;
}
.pp_about p strong {
  font-weight: bold;
  font-size: 110%;
}
table {
  width: 100%;
}
th:before {
  content: "\f04d";
  font-family: "FontAwesome";
  margin-right: 0.2em;
}
th,td {
  vertical-align: middle;
  padding: 0.5em 0;
}


@media only screen and ( max-width : 768px ) {
  td,th {
    display: block;
  }
  th {
    font-weight: bold;
    border-bottom: 1px dotted var(--ink);
  }
  td {
    padding-bottom: 1em;
  }
  tr {
  }
}

@media only screen and ( max-width : 480px ) {
}

@media print, screen and ( min-width : 769px ) {
  .privacy-policy #main .container,.asct #main .container {
    width: 700px;
  }
  .asct th {
    white-space: nowrap;
    padding-right: 2em;
  }
}

/* ---------------------------------------------------------------------------------------------

　   XXXX

--------------------------------------------------------------------------------------------- */

@media only screen and ( max-width : 768px ) {
}

@media only screen and ( max-width : 480px ) {
}

@media print, screen and ( min-width : 769px ) {
}

/* =========================================================
 * SOMARI 調整レイヤー（le-varo 骨格からの意匠変更）
 * ======================================================= */
html {
  scroll-behavior: smooth; /* 1ページ構成のアンカーナビ用 */
}
h2 {
  letter-spacing: .08em;
}
.mt20 {
  margin-top: 20px;
}
@media only screen and ( max-width : 768px ) {
  /* 実ロゴ（横長 232x72）は基準の60px幅では読めないため拡大 */
  #header #head-logo img {
    width: 130px;
  }
}
.btn {
  transition: background .35s ease, color .35s ease;
}
#selected .row img {
  transition: transform .6s ease;
}

/* Welcome：右カラムの本文を見出しぶん下げ、左のパスタ写真の上端と高さを揃える */
@media print, screen and ( min-width : 769px ) {
  #massage .row .col + .col p {
    padding-top: 135px;
  }
}

/* フッター：ナビ項目が少なく右カラムが低いため、絶対配置のコピーが
   SNSアイコンに重なる。コピーを通常フローに戻して下に逃がす */
@media print, screen and ( min-width : 769px ) {
  #footer .item .copy {
    position: static;
    clear: both;
    text-align: right;
    margin-top: 1.5em;
  }
  #footer .sns {
    margin-top: 1em;
  }
}
