@charset "UTF-8";

/*----------------------------------------
	header
-----------------------------------------*/

header .logo {
    width: 220px;
    float: left;
}

header .logo img {
    width: 220px;
    height: auto;
}

header nav {
    margin-top: 75px;
}

header .right_box>div {}

header .right_box {
    padding-right: 0px;
    margin-left: -220px;
}

header .right_box>div {
    padding-left: 220px;
}

header .right_box div.navi {
    padding-right: 0px;
}

@media screen and (max-width: 768px) {
    /*SP*/
    header .logo {
        width: auto;
        height: auto;
    }
    header .logo img {
        width: auto;
        height: 60px;
    }
    header nav {
        text-align: left;
        margin: 0;
    }
}


/*----------------------------------------
	index
-----------------------------------------*/

#main {
    padding: 0;
    height: auto;
}

#main #main_images {
    height: 370px;
}

#main #main_images li {
    width: 100%;
    height: 370px;
}

#main #main_images li.main_01 {
    background: url(../img/index_main_bg_01.jpg) no-repeat center center;
    background-size: cover;
}

#main #main_images li.main_02 {
    background: url(../img/index_main_bg_02.jpg) no-repeat center center;
    background-size: cover;
}

#main #main_images li.main_03 {
    background: url(../img/index_main_bg_03.jpg) no-repeat center center;
    background-size: cover;
}

#main .box {
    padding: 30px 0;
    background: #f7b626;
}

#main .box h1 {
    padding: 0;
    font-size: 36px;
    font-weight: bold;
    color: #fef6e4;
    text-shadow: none;
}

#main .box p {
    margin-top: 10px;
    color: #5a370a;
    text-shadow: none;
}

#main .box .chara {
    position: absolute;
    left: 8%;
    top: 245px;
    z-index: 100;
}

@media screen and (max-width: 1023px) {
    /*SP*/
    #main .chara {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    /*SP*/
    #main #main_images {
        height: 150px;
    }
    #main #main_images li {
        height: 150px;
    }
    #main .box {
        padding: 15px 15px;
        background: #f7b626;
    }
    #main .box h1 {
        font-size: 26px;
        line-height: 30px;
    }
    #main .box p {
        margin-top: 5px;
        font-size: 14px;
    }
    #main .box .chara {
        display: none;
    }
}


/*----------------------------------------
	menu
-----------------------------------------*/

#menu {
    margin-top: 0px;
}

#menu .regular li {
    float: left;
    width: 33.33%;
    box-sizing: border-box;
    padding: 0 10px 45px 10px;
}

#menu .regular li:nth-of-type(3n+1) {
    padding: 0 20px 45px 0;
}

#menu .regular li:nth-of-type(3n) {
    padding: 0 0 45px 20px;
}

#menu .regular li a {
    display: block;
    text-align: left;
    box-sizing: border-box;
    color: #5a320a;
    position: relative;
    overflow: hidden;
}

#menu .regular li a:hover {
    color: #f6ab00;
}

#menu .regular li a img {
    width: 100%;
    height: auto;
}

#menu .regular li a div {
    padding-top: 15px;
    background: url(../img/index_menu_arrow.png) no-repeat right center;
    background-size: 24px 23px;
}

#menu .regular li a:hover div {
    background: url(../img/index_menu_arrow_on.png) no-repeat right center;
    background-size: 24px 23px;
}

#menu .regular li h4 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 5px;
}

#menu .regular li p {
    font-size: 12px;
}

#menu .menu_box {
    height: 160px;
    background: #c53908;
    border-radius: 6px;
    padding: 80px;
    text-align: left;
    margin-top: 50px;
}

#menu #hachimori {
    background: url(../img/index_menu_hachimori_bg.jpg) no-repeat center center;
    background-size: cover;
}

#menu #hachimori h3 {
    color: #fff;
    text-shadow: 1px 1px 3px #c43908;
}

#menu #hachimori p {
    margin: 10px 0 20px 0;
    color: #f0b7a3;
    width: 40%;
}

#menu #hachimori p span {
    font-size: 14px;
}

#menu #hachimori a {
    padding: 2px 0 2px 40px;
    color: #fff;
    font-weight: bold;
    background: url(../img/index_menu_hachimori_arrow.png) no-repeat left center;
    background-size: 24px 23px;
}

#menu #hachimori a:hover {
    background: url(../img/index_menu_hachimori_arrow_on.png) no-repeat left center;
    background-size: 24px 23px;
}

#menu #delivery {
    background: url(../img/index_menu_delivery_bg.jpg) no-repeat center center;
    background-size: cover;
}

#menu #delivery h3 {
    color: #5a370a;
}

#menu #delivery p {
    margin: 10px 0 20px 0;
    color: #5a370a;
    width: 40%;
}

#menu #delivery a {
    padding: 2px 0 2px 40px;
    color: #5a370a;
    font-weight: bold;
    background: url(../img/index_menu_delivery_arrow.png) no-repeat left center;
    background-size: 24px 23px;
}

#menu #delivery a:hover {
    background: url(../img/index_menu_delivery_arrow_on.png) no-repeat left center;
    background-size: 24px 23px;
}

@media screen and (max-width: 1024px) {
    /*SP*/
    #menu .regular li:nth-of-type(3n+1) {
        padding: 0;
    }
    #menu .regular li:nth-of-type(3n) {
        padding: 0;
    }
    #menu .regular li {
        width: 50%;
    }
    #menu .regular li:nth-of-type(2n+1) {
        width: 50%;
        padding: 0 10px 35px 0;
    }
    #menu .regular li:nth-of-type(2n) {
        padding: 0 0 35px 10px;
    }
    #menu .regular li a div {
        padding: 10px 0px 15px 0;
        text-align: center;
        background: none;
    }
    #menu .regular li a:hover div {
        background: none;
    }
    #menu .regular li h4 {
        font-size: 20px;
        margin-bottom: 5px;
    }
    #menu .menu_box {
        height: auto;
        padding: 0px;
        margin-top: 20px;
        margin-bottom: 40px;
        text-align: center;
    }
    #menu #hachimori {
        background: none;
        margin-bottom: 80px;
    }
    #menu .menu_box p.sp {
        display: block;
        width: 100%;
        height: 240px;
        padding: 0;
        margin: 0 0 10px 0;
        border-radius: 4px;
    }
    #menu #hachimori p.sp {
        background: url(../img/index_menu_hachimori_bg_sp.jpg) no-repeat center center;
        background-size: cover;
    }
    #menu #hachimori h3,
    #menu #hachimori p {
        color: #5a370a;
        text-shadow: none;
    }
    #menu #hachimori p {
        width: 100%;
    }
    #menu #hachimori a {
        padding: 2px 0 2px 40px;
        color: #5a370a;
        background: url(../img/common_button_arrow_br.png) no-repeat left center;
        background-size: 24px 23px;
    }
    #menu #hachimori a:hover {
        background: url(../img/common_button_arrow_or.png) no-repeat left center;
        background-size: 24px 23px;
        color: #f69900;
    }
    #menu #delivery {
        background: none;
        margin-bottom: 60px;
    }
    #menu #delivery p.sp {
        background: url(../img/index_menu_delivery_bg_sp.jpg) no-repeat center center;
        background-size: cover;
    }
    #menu #delivery h3,
    #menu #delivery p {
        color: #5a370a;
    }
    #menu #delivery p {
        width: 100%;
    }
    #menu #delivery a:hover {
        background: url(../img/common_button_arrow_or.png) no-repeat left center;
        background-size: 24px 23px;
        color: #f69900;
    }
}

@media screen and (max-width: 640px) {
    /*SP*/
    #menu .regular li:nth-of-type(2n+1) {
        padding: 0 5px 15px 0;
    }
    #menu .regular li:nth-of-type(2n) {
        padding: 0 0 15px 5px;
    }
    #menu .menu_box p.sp {
        height: 150px;
    }
}


/*----------------------------------------
	formality
-----------------------------------------*/

#formality {
    background: url(../img/index_formality_bg.jpg) no-repeat center center;
    background-size: cover;
}

#formality .container {
    padding: 80px 80px 230px 80px;
}

#formality p {
    line-height: 32px;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}

#formality .button {
    width: 240px;
    text-align: center;
    margin: 20px auto;
    background: #fff;
    border: solid 2px #f6ab00;
    border-radius: 35px;
}

#formality .button:hover {
    background: #f6ab00;
}

#formality .button a {
    color: #f6ab00;
    font-weight: bold;
    display: inline-block;
    width: 100%;
    padding: 15px 0;
    background: url(../img/index_formality_arrow.png) no-repeat left 10px center;
    background-size: 24px 23px;
}

#formality .button a:hover {
    color: #fff;
    background: url(../img/index_formality_arrow_on.png) no-repeat left 10px center;
    background-size: 24px 23px;
}

#formality p.lunchbox {
    position: absolute;
    bottom: -100px;
    z-index: 100;
    text-align: center;
    width: 100%;
    left: 0;
    padding: 0;
}

#formality p.lunchbox img {
    display: inline;
}

@media screen and (max-width: 768px) {
    /*SP*/
    #formality {
        background: url(../img/index_formality_bg_sp.jpg) no-repeat center center;
        background-size: cover;
    }
    #formality .container {
        padding: 60px 15px 180px 15px;
    }
    #formality p.lunchbox {
        bottom: -70px;
    }
    #formality p.lunchbox img {
        width: 250px;
        height: auto;
    }
}


/*----------------------------------------
	about
-----------------------------------------*/

#about {
    border-top: solid 1px #dcdcdc;
    text-align: left;
    /*color: #333;*/
}

#about .logo {
    display: inline;
    margin-right: 50px;
}

#about h2 {
    font-size: 28px;
    margin: 0 auto;
    width: 100%;
    text-align: center;
}

#about .info {
    width: 50%;
    padding-right: 25px;
    box-sizing: border-box;
}

#about dl:first-of-type {
    margin-top: 20px;
}

#about dl {
    width: 100%;
    padding: 20px 0;
    border-bottom: solid 1px #dcdcdc;
}

#about dt {
    width: 120px;
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
}

#about dd {
    display: block;
}

#about .pict {
    width: 50%;
    padding-left: 25px;
    box-sizing: border-box;
}

#about .pict img {
    width: 100%;
    height: auto;
}

#about .map {
    margin-top: 50px;
}

@media screen and (max-width: 768px) {
    /*SP*/
    #about {
        padding: 30px 0 0 0;
    }
    #about h2 {
        font-size: 26px;
    }
    #about .info {
        width: 100%;
        padding-right: 0px;
    }
    #about dl:first-of-type {
        margin-top: 0px;
    }
    #about dl {
        padding: 20px 0;
    }
    #about dt {
        float: left;
        width: 30%;
        display: block;
        padding-top: 2px;
        padding-right: 20px;
        box-sizing: border-box;
    }
    #about dd {
        float: left;
        width: 70%;
        display: block;
    }
    #about .pict {
        width: 100%;
        padding-left: 0px;
    }
    #about .map {
        margin-top: 30px;
    }
}