@charset "UTF-8";
/* CSS Document */

/*
Theme Name: 花いろ
Author: 環145
Description: 花いろオリジナルテーマ
Version: 1.0
*/

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, 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%;
    vertical-align:baseline;
    background:transparent;
}

*{
    box-sizing: border-box;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}

ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;  
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
/*Reset End*/

/*clearfix*/
.clearfix::after{
    content: "";
    display: block;
    clear: both;
}
/*clearfix End*/


/*Style*/

html{
    font-size: 62.5%;
}
body{
    font-family: sans-serif;
    font-size: 1.6rem;
    line-height: 1.5;
}
.wrapper{
    overflow: hidden;
}
a{
    text-decoration: none;
    color: #000;
}
img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
h2{
    text-align: center;
}
h3{
    font-family: serif;
    font-weight: normal;
}
.btn a{
    display: inline-block;
    border: 1px solid #590210;
    color: #590210;
    width: 274px;
    height: 51px;
    background-color: #fff;
    background: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/arrow_r.svg) no-repeat;
    background-size: 30%;
    background-position: right 20px center;
    font-family: serif;
    line-height: 51px;
    padding-left: 23px;
    margin-top: 3.3vw;
    position: relative;
    -webkit-transition: border-color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
    transition: border-color 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}
.btn a span {
  position: relative;
}
.btn a:hover {
    opacity: 1;
    color: #fff;
}
.btn a:hover:before {
  width: 100%;
  left: 0;
  -webkit-transition: width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}
.btn a:before {
  content: '';
  height: 100%;
  display: block;
  top: 0;
  left: 100%;
  position: absolute;
  opacity: 1;
  background-color: #590210;
  width: 0;
  -webkit-transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: left 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms, width 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}
.btn a:after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 274px;
  -webkit-transition: background-image 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
  transition: background-image 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955) 0ms;
}
.btn a:hover:after{
    background-color: #fff;
    background: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/arrow_w.svg) no-repeat;
    background-size: 30%;
    background-position: right 20px center;
}
header .menu dt,
.access dt{
    width: 5vw;
    float: left;
    clear: both;
    font-size: 1.4rem;
    margin-bottom: 2vw;
}
header .menu dd,
.access dd{
    padding-left: 5vw;
    margin-bottom: 2vw;
}
header .menu dd .time_ttl,
.access dd .time_ttl{
    width: 7vw;
    display: inline-block;
}
header .menu dd .repletion,
.access dd .repletion{
    font-weight: normal;
    font-size: 1.4rem;
}
.bg_01{
    background-image: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/bg_01.png),url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/bg_02.png);
    background-repeat: no-repeat,no-repeat;
    background-position: left top 17vw,right -5vw bottom 30vw;
    background-size: 30%,30%;
}
.bg_02{
    background-image: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/bg_02.png);
    background-repeat: no-repeat;
    background-position: right bottom 38vw;
}
.sp{
    display: none;
}
.pc{
    display: block;
}
@media all and (max-width: 768px) {
    .btn a{
        margin: 5vw auto 0;
        position: static;
        display: block;
    }
    header .menu dt,
    .access dt{
        width: 18vw;
        margin-bottom: 3vw;
    }
    header .menu dd,
    .access dd{
        padding-left: 18vw;
        margin-bottom: 3vw;
    }
    header .menu dd .time_ttl,
    .access dd .time_ttl{
        width: auto;
        display: block;
        font-weight: bold;
    }
    .bg_01{
        background-position: left top 172vw,right -5vw bottom 170vw;
        background-size: 50%,50%;
    }
    .bg_02{
        background-position: right bottom 74vw;
        background-size: 40%;
    }
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
}

/*Header*/
header{
    width: 137px;
    height: 100vh;
    position: fixed;
    background: #fff;
    z-index: 9999;
}
.navToggle {
    display: block;
    width: 137px;
    height: 137px;
    position: relative;
    cursor: pointer;
    z-index: 9999;
    background: #590210;
}
.navToggle.open{
    background: #fff;
}
.navToggle span {
    display: block;
    position: absolute;
    width: 33px;
    border-bottom: solid 2px #eee;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 52px;
    top: 52px;
    z-index: 999;
}
.navToggle span:nth-child(1) {
    top: 53px;
}
.navToggle span:nth-child(2) {
    top: 62px;
}
.navToggle span:nth-child(3) {
    top: 71px;
}
.navToggle.open span{
    border-color: #590210;
}
.navToggle.open span:nth-child(1) {
    top: 62px;
    left: 52px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.navToggle.open span:nth-child(2),
.navToggle.open span:nth-child(3) {
    top: 62px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
header .menu {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    background: #fff;
    color: #000;
    font-family: serif;
    transform: translateX(-100%);
    transition: all 0.6s;
    width: 46vw;
    padding: 5vw 0 5vw 9vw;
}
.menu nav ul {
    width: 100%;
    font-size: 3.6rem;
    margin: 0 auto;
    padding: 0;
}
.menu nav li{
    margin-bottom: 1.6vw;
}
header .menu dl{
    margin-bottom: 4vw;
}
.menu p{
    font-family: serif;
    color: #590210;
}
.menu address{
    display: inline-block;
    font-style: normal;
    font-size: 5.2rem;
    color: #fff;
    line-height: 1;
    background: #590210;
    padding: 3px 10px;
}
.menu address a{
    color: #fff;
}
header .menu.open {
    transform: translateX(9vw);
}
header h1{
    text-align: center;
    padding: 0 20px;
    margin: 13vw 0 18vw;
}
header .insta{
    width: 23px;
    margin: 0 auto;
}
@media all and (max-width: 768px) {
    header{
        width: 100%;
        height: 60px;
        position: fixed;
    }
    .navToggle{
        width: 60px;
        height: 60px;
        position: absolute;
        right: 0;
        background: none;
    }
    .navToggle span{
        width: 26px;
        left: 16px;
        border-bottom: solid 2px #590210;
    }
    .navToggle span:nth-child(1) {
        top: 19px;
    }
    .navToggle span:nth-child(2) {
        top: 28px;
    }
    .navToggle span:nth-child(3) {
        top: 37px;
    }
    .navToggle.open span:nth-child(1) {
        top: 28px;
        left: 16px;
    }
    .navToggle.open span:nth-child(2),
    .navToggle.open span:nth-child(3) {
        top: 28px;
    }
    header .menu{
        transform: translateX(100%);
        width: 100%;
        padding: 5vw;
    }
    header .menu.open{
        transform: translateX(0);
    }
    .menu nav ul{
        font-size: 2.4rem;
    }
    .menu nav li{
        margin-bottom: 4vw;
    }
    header .menu dl{
        margin-bottom: 30px;
        font-size: 1.3rem;
    }
    .menu address{
        font-size: 3.0rem;
    }
    header h1{
        width: 50px;
        margin: 0 auto;
        padding: 6px 0 0;
    }
    header .insta{
        position: absolute;
        left: 15px;
        top: 17px;
    }
}
/*location*/
.menu_page .location{
    margin-top: 5vw;
}
.location .inner{
    background: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/img_top_05.jpg) no-repeat;
    background-position: center top 110px;
    position: relative;
}
.top_page .location h2,
.menu_page .location h3{
    font-size: 8.0rem;
    text-align: left;
    margin-left: 12vw;
    padding-bottom: 36vw;
}
.top_page .location h2 img,
.menu_page .location h3 img{
    width: 80px;
}
.location .inner p{
    position: absolute;
    bottom: -40px;
    right: 7vw;
    background: #ae0c25;
    border-radius: 50%;
    font-family: serif;
    color: #fff;
    text-align: center;
    line-height: 1.2;
    padding: 20px 30px;
}
.location .inner p span{
    font-size: 4.8rem;
}
.location .inner+p{
    text-align: center;
    margin: 50px 0 10vw;
}
@media all and (max-width: 768px) {
    .location .inner{
        background-size: contain;
        background-position: center top 90px;
    }
    .top_page .location h2 img,
    .menu_page .location h3 img{
        width: 50px;
    }
    .location .inner+p{
        text-align: left;
        padding: 0 5vw;
    }
}

/*Main*/
main{
    display: block;
    background: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/bg.png);
    padding: 0 0 5vw 137px;
}
@media all and (max-width: 768px) {
    main{
        padding: 60px 0 0;
    }
}
/*Main Visual*/
.top_page .top_main{
    height: 100vh;
    position: relative;
}
.top_page .top_main ul{
    position: relative;
    z-index: 1;
    height: 100vh;
}
.top_page .top_main img{
    max-width: none;
}
.top_page .top_main .scroll {
    position: absolute;
    z-index: 66;
    bottom: 9.9em;
    left: 1em;
}
.top_page .top_main .scroll a {
    display: block;
    font-size: 1.4rem;
    color: #fff;
    transform: rotate(-90deg);
    padding-left: 4.5em;
    letter-spacing: .05em;
    position: relative;
}
.top_page .top_main .scroll a:before {
    content: '';
    position: absolute;
    width: 100%;
    border-bottom: solid 1px #fff;
    right: 0;
    bottom: 0;
    transition: width .2s ease-in;
}
.top_page .top_main .pager {
  position: absolute;
  bottom: 2vw;
  right: 2vw;
  z-index: 66;
}
.top_page .top_main .pager a {
  display: inline-block;
  color: transparent;
  position: relative;
  width: 3em;
  height: .15em;
  background: rgba(255, 255, 255, 0.2);
  margin: 0 .2em;
}
.top_page .top_main .pager a:before {
  content: '';
  position: absolute;
  width: 0;
  height: 100%;
  left: 0;
  top: 0;
  background: #fff;
}
.top_page .top_main .pager a.active:before {
  width: 100%;
  transition: width 4s ease-in;
}
.top_page .top_main .pager a:hover {
  opacity: 1;
}

@media all and (max-width: 768px) {
   .top_page .top_main{
        height: 121vw;
   }
   .top_page .top_main ul{
        height: 121vw;
   }
   .top_page .top_main img{
        max-width: 100%;
        height: auto;
        overflow: hidden;
   }
   .top_page .top_main .scroll {
        left: -15vw;
        bottom: 2em;
    }
}
/*Intro*/
.top_page .intro{
    text-align: center;
    line-height: 1.875;
    padding: 7vw 0 9vw;
}
.top_page .intro .catch{
    font-family: serif;
    font-size: 4.8rem;
    line-height: 1.4;
    margin-bottom: 40px;
}
@media all and (max-width: 768px) {
    .top_page .intro{
        padding: 7vw 5vw 9vw;
    }
    .top_page .intro .catch{
        font-size: 2.6rem;
        line-height: 1.5;
    }
    .top_page .intro .catch+p{
        text-align: left;
    }
}
/*News*/
.top_page .news{
    display: flex;
    padding-bottom: 13vw;
}
.top_page .news h2{
    width: 32vw;
}
.top_page .news h2 img{
    width: 48px;
}
.top_page .news h3{
    font-size: 2.4rem;
    color: #590210;
    margin-bottom: 35px;
}
.top_page .news span{
    font-size: 1.4rem;
}
.top_page .news .inner h3 + p{
    margin-bottom: 2.3vw;
}
@media all and (max-width: 768px) {
    .top_page .news{
        display: block;
        padding: 0 5vw 30vw;
    }
    .top_page .news h2{
        width: 100%;
        min-height: 140px;
        margin-bottom: 2vw;
    }
    .top_page .news h3{
        text-align: center;
    }
    .top_page .news .inner h3 + p{
        margin-bottom: 5vw;
    }
    .top_page .news .insta{
        text-align: center;
    }
    .top_page .news .btn a{
        background-color: #fff;    
    }
}
/*Common PickUp*/
.top_page .pickup{
    display: flex;
}
.top_page .seafood,.top_page .liquor{
    flex-direction: row-reverse;
}
.top_page .horsestab,.top_page .liquor{
    padding-top: 10vw;
}
.top_page .pickup .inner{
    width: 40vw;
    position: relative;
    padding-left: 5vw;
}
.top_page .pickup h2 img{
    width: 128px;    
}
.top_page .seafood h2,
.top_page .liquor h2{
    text-align: left;
    padding-left: 6vw;
}
.top_page .pickup h3{
    font-size: 3.2rem;
    margin: 9vw 0 2vw;
}
.top_page .pickup figure{
    margin-top: 8vw;
}
@media all and (max-width: 768px) {
   .top_page .pickup{
        display: block;
        padding: 0 5vw 20vw;
    }
    .top_page .pickup .inner{
        width: 100%;
        padding: 0;
    }
    .top_page .pickup h2{
        font-size: 6.0rem;
        text-align: center;
        padding: 0;
    }
    .top_page .pickup h2 img{
        width: 60px;    
    }
    .top_page .pickup h3{
        font-size: 2.2rem;
        text-align: center;
        margin-bottom: 5vw;
    }
    .top_page .pickup figure{
        margin-top: 10vw;
    }
}

/*horsestab*/
.top_page .horsestab h2 img{
    width: 106px;
}
@media all and (max-width: 768px) {
    .top_page .horsestab h2 img{
        width: 60px;
    }
}
/*liquor*/
.top_page .liquor{
    margin-bottom: 215px;
}
.top_page .liquor h2 img{
    width: 130px;
}
@media all and (max-width: 768px) {
    .top_page .liquor{
        margin-bottom: 0;
    }
    .top_page .liquor h2 img{
        width: 60px;
    }
}
/*Lunch*/
.top_page .lunch{
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    color: #fff;
    background: #590210;
    margin-bottom: 240px;
}
.top_page .lunch .inner_l{
    width: 54vw;
    min-height: 610px;
    background: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/img_top_04.jpg) no-repeat;
    background-position: bottom;
}
.top_page .lunch h2{
    text-align: right;
    padding-top: 3vw;
    padding: 3vw 8.6vw 0 0;
}
.top_page .lunch h2 img{
    width: 145px;
}
.top_page .lunch .inner_r{
    width: 37vw;
    padding: 65px 4vw 117px 7vw;
}
.top_page .lunch .inner_r h3{
    font-size: 3.2rem;
}
.top_page .lunch .btn a{
    border: 1px solid #fff;
    color: #fff;
    background-color: #590210;
    background: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/arrow_w.svg) no-repeat;
    background-size: 30%;
    background-position: right 20px center;
}
.top_page .lunch .btn a:hover {
    color: #590210;
}
.top_page .lunch .btn a:before {
  background-color: #fff;
}
.top_page .lunch .btn a:hover:after{
    background-color: #fff;
    background: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/arrow_r.svg) no-repeat;
    background-size: 30%;
    background-position: right 20px center;
}
@media all and (max-width: 768px) {
    .top_page .lunch{
        display: block;
        padding-top: 10vw;
        margin-bottom: 10vw;
    }
    .top_page .lunch .inner_l,
    .top_page .lunch .inner_r{
        width: 100%;
        background-size: contain;
        padding: 0 5vw 10vw;
    }
    .top_page .lunch .inner_l{
        min-height: auto;
    }
    .top_page .lunch h2{
        padding: 0 8.6vw 0 0;
    }
    .top_page .lunch h2 img {
        width: 80px;
    }
    .top_page .lunch .inner_l figure{
        position: static;
        padding-top: 240px;
    }
    .top_page .lunch .inner_r h3{
        font-size: 2.2rem;
        text-align: center;
        margin: 5vw 0;
    }
    .top_page .lunch .inner_r h3 span{
        display: inline-block;
    }
}

/*Access*/
.access{
    display: flex;
}
.access .map{
    width: 46vw;
    padding-top: 32vw;
    position: relative;
}
.access .map iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.access .inner{
    font-family: serif;
    padding-left: 5vw;
}
.access dl{
    margin-bottom: 5vw;
}
.access dt{
    margin-bottom: 3vw;
}
.access dd{
    margin-bottom: 3vw;
}
.access .inner .name{
    font-size: 1.8rem;
    margin-bottom: 3vw;
}
.access dl + p{
    display: inline-block;
    background: #590210;
    color: #fff;
    padding: .2em .4em;
}
.access .inner address{
    font-size: 6.0rem;
    font-style: normal;
    color: #000;
}
@media all and (max-width: 768px) {
    .access{
        display: block;
        padding: 0 5vw 15vw;
    }
    .access .map{
        width: 100%;
        padding-top: 70vw;
        margin-bottom: 5vw;
    }
    .access .inner{
        max-width: 360px;
        padding: 0;
        margin: 0 auto;
    }
    .access dl{
        margin-bottom: 7vw;
    }
    .access dt{
        margin-bottom: 5vw;
    }
    .access dd{
        margin-bottom: 5vw;
    }
    .access .inner .name{
        margin-bottom: 5vw;
    }
    .access .inner p{
        text-align: center;
    }
    .access .inner address{
        font-size: 4.0rem;
        text-align: center;
    }
}

/*Footer*/
footer{
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
    background: #000;
    padding:0 0 38px;
}
footer .logo{
    background: #ae0c25;
    padding: 5.4vw 0 4.1vw;
    margin-bottom: 2.2vw;
}
footer .logo p{
    width: 86px;
    margin: 0 auto;
}
@media all and (max-width: 768px) {
    footer .logo p{
        width: 50px;
    }
}
/*------------
   Menu Page
------------*/
/*Common*/
.menu_page{
    font-family: serif;
}
.menu_page .lunch_menu,
.menu_page .drink_menu{
    background: #d4b36e;
    padding: 60px 0 7vw;
}
.menu_page .lunch_menu section,
.menu_page .dinner_menu section,
.menu_page .drink_menu section{
    display: flex;
    padding-bottom: 6vw;
}
.menu_page .lunch_menu h3,
.menu_page .dinner_menu h3,
.menu_page .drink_menu h3{
    width: 23vw;
    text-align: center;
}
.menu_page .lunch_menu section .text,
.menu_page .dinner_menu section .text,
.menu_page .drink_menu section .text{
    width: 28vw;
    margin-right: 7vw;
}
.menu_page .menu_box li {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1.3vw;
}
.menu_page .menu_box .subject {
    width: 77%;
    list-style: disc;
}
.menu_page .subject:first-of-type::before {
    content: "・";
}
.menu_page .menu_box .subject span {
    width: 92%;
    float: right;
    font-size: 1.2rem;
    margin-bottom: 4vw;
}
.menu_page .menu_box .subject span2 {
    width: 92%;
    float: right;
    font-size: 1.2rem;
    margin-bottom: 0vw;
}
.menu_page .menu_box .price{
    width: 23%;
    text-align: right;    
}
.menu_page .comment{
    border: 1px solid #000;
    display: inline-block;
    font-size: 1.4rem;
    padding: 1.3vw;
}
.menu_page .lunch_menu figure,
.menu_page .dinner_menu figure{
    width: 36vw;
}
.menu_page figcaption{
    font-size: 1.4rem;
    margin-top: 0.5em;
}
.menu_page .repletion{
    font-size: 1.2rem;
    margin: 0 0 1.3vw 1em;
}
.menu_page .lunch_menu .repletion{
    font-size: 1.4rem;
    margin: 0 0 4vw 1.5em;
}
/*ランチ*/
.menu_page .lunch_area .subject,
.menu_page .lunch_area .price{
    font-size: 2.0rem;
}
.menu_page .lunch_area .subject span {
    font-size: 1.4rem;
}
.menu_page .lunch_area .comment{
    border: 1px solid #590210;
    display: inline-block;
    font-size: 1.6rem;
    padding: 1.3vw;
}

@media all and (max-width: 768px) {
    .menu_page .lunch_menu section,
    .menu_page .dinner_menu section,
    .menu_page .drink_menu section{
        display: block;
        padding: 0 5vw 20vw;
    }
    .menu_page .lunch_menu h3,
    .menu_page .dinner_menu h3,
    .menu_page .drink_menu h3{
        width: 100%;
        margin-bottom: 8vw;
    }
    .menu_page .lunch_menu section .text,
    .menu_page .dinner_menu section .text,
    .menu_page .drink_menu section .text{
        width: 100%;
    }
    .menu_page .lunch_menu section .text p,
    .menu_page .dinner_menu section .text p,
    .menu_page .drink_menu section .text p{
        display: inline-block;
    }
    .menu_page .lunch_menu figure,
    .menu_page .dinner_menu figure{
        width: 100%;
        text-align: center;
        padding: 0;
        margin-top: 8vw;
    }
}
/*---*/

.menu_page .page_ttl{
    width: 100%;
    height: 29vw;
    background: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/mv_menu.jpg) no-repeat;
    background-position: center;
    color: #fff;
}
.menu_page h2{
    padding: 5vw 0 2vw;
}
.menu_page h2 img{
    width: 60px;
}
.menu_page .page_ttl p{
    text-align: center;
}
.menu_page .menu_nav{
    background: #590210;
}
.menu_page .menu_nav ul{
    width: 64vw;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 2vw 0;
}
.menu_page .menu_nav li{
    border-right: 1px solid #fff;
}
.menu_page .menu_nav li:last-child{
    border: none;
}
.menu_page .menu_nav a{
    color: #fff;
    white-space: nowrap;
    padding: 0 2vw;
}
.menu_page .lunch_menu{
    background-image: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/ttl_lunch_02.svg);
    background-repeat: no-repeat;
    background-size: 230px;
    background-position: left top 4.5vw;
}
.menu_page .lunch_menu .lunch_area{
    display: flex;
    padding-left: 23vw;
    margin-bottom: 5vw;
}
.menu_page .lunch_area .text{
    width: 28vw;/*wとmr合計で32vw*/
    margin: 12vw 5vw 0 0;
}
.menu_page .lunch_area figure{
    width: 36vw;
    position: relative;
}
.menu_page .lunch_area img{
    width: 89%;
    position: absolute;
    top: 0;
    right: 0;
}
.menu_page .lunch_area figcaption{
    position: absolute;
    left: 0;
    top: 23vw;
    background: #fff;
    border-radius: 50%;
    padding: 27px 20px;
}
.menu_page .dinner_menu{
    background-image: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/ttl_dinner.svg);
    background-repeat: no-repeat;
    background-size: 230px;
    background-position: left top 4.5vw;
    padding: 14vw 0 0;
}
.menu_page .dinner_menu section:first-of-type figure:first-of-type{
    margin-bottom: 1vw;
}
.menu_page .ricebowl h3 img{
    width: 50px;
}
.menu_page .gozen h3 img,
.menu_page .friedfood h3 img,
.menu_page .rice h3 img,
.menu_page .course h3 img,
.menu_page .shochuhigh h3 img,
.menu_page .shochu h3 img{
    width: 60px;
}
.menu_page .onedish h3 img,
.menu_page .plumwine h3 img{
    width: 64px;
}
.menu_page .salad h3 img,
.menu_page .beer h3 img,
.menu_page .wine h3 img{
    width: 40px;
}
.menu_page .horsestab h3 img,
.menu_page .sake h3 img,
.menu_page .fruitwine h3 img{
    width: 52px;
}
.menu_page .onedish .figure_box,
.menu_page .menu_slider{
    width: 36vw;
}
.menu_page .softdrink h3 img{
    width: 30px;
}
.menu_page .onedish figure,
.menu_page .slick-slider figure{
    width: 100%;
}
.menu_page .drink_menu{
    background-image: url(http://thehanairo.pro/wp/wp-content/themes/hanairo/img/ttl_drink.svg);
    background-repeat: no-repeat;
    background-size: 230px;
    background-position: left top 4.5vw;
    padding: 14vw 0 0;
}

@media all and (max-width: 768px) {
    .menu_page .page_ttl{
        height: 55vw;
    }
    .menu_page .menu_nav ul{
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 4vw 0;
    }
    .menu_page .menu_nav li{
        padding-right: 2vw;
    }
    .menu_page .lunch_menu{
        background-size: 100px;
        padding: 110px 0 7vw;
    }
    .menu_page .lunch_menu .lunch_area {
        display: block;
        padding: 0 5vw 15vw;
    }
    .menu_page .lunch_area .text{
        width: 100%;
        margin: 0 0 5vw;
    }
    .menu_page .subject{
        margin-bottom: 4vw;
    }
    .menu_page .repletion{
        margin-bottom: 6vw;
    }
    .menu_page .lunch_area figure{
        width: 100%;
    }
    .menu_page .lunch_area figcaption{
        top: auto;
        bottom: -10vw;
        left: 3vw;
    }
    .menu_page .lunch_area img{
        width: 100%;
        position: static;
    }
    .menu_page .gozen h3{
        height: 120px;
    }
    .menu_page .dinner_menu {
        background-size: 100px;
        padding: 110px 0 0;
    }
    .menu_page .drink_menu {
        background-size: 100px;
        padding: 110px 0 0;
    }
    .menu_page .onedish h4{
        height: 170px;
    }
    .menu_page .onedish .figure_box,
    .menu_page .menu_slider{
        width: 100%;
    }
    .menu_page .dinner_menu section:first-of-type figure:first-of-type{
        margin-bottom: 5vw;
    }
    .menu_page .horsestab h3{
        height: 170px;
    }
    .menu_page .rice h3,
    .menu_page .course h3{
        height: 180px;
    }
}
@media all and (max-width: 480px) {
    .menu_page .page_ttl{
        height: 100vw;
    }
    .menu_page .menu_nav li{
        padding: 0;
    }
}