/*
Theme Name:chiyo-child
Template:chiyo
Theme URI: https://athemes.com/theme/sydney
Author: aThemes
Author URI: https://athemes.com
Description: Sydney is a powerful business theme that provides a fast way for companies or freelancers to create an awesome online presence. As well as being fully compatible with Elementor, Sydney brings plenty of customization possibilities like access to all Google Fonts, full color control, layout control, logo upload, full screen slider, header image, sticky navigation and much more. Also, Sydney provides all the construction blocks you need to rapidly create an engaging front page. Looking for a quick start with Sydney? With just a few clicks, you can import one of our existing demos (https://athemes.com/sydney-demos/)
Version: 2.54
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tested up to: 6.6
Requires PHP: 5.6
Text Domain: sydney
Tags: two-columns, right-sidebar, block-styles, custom-colors, custom-background, custom-header, custom-menu, featured-images, sticky-post, theme-options, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
Sydney is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
*/

/* トップページローディング */
.page-id-10 #logo_loader {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    background-color: #222;
}
.page-id-10 #logo_loader .f_logo {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 320px;
    height: 138px;
    text-align: center;
    color: #222;
    font-size: 30px;
}
.page-id-10 #logo_loader .f_logo img {
    width: 100%;
    height: auto;
}
.page-id-10 #logo_loader .f_logo:before {
    content: "";
    display: block;
    width: 100%;
    height: 110%;
    background-color: #222;
    position: absolute;
    top: 0;
    left: 100%;
    animation: loadLogo .5s;
}
@keyframes loadLogo {
    0% {
      left: 0;
    }
    50% {
      left: 0;
    }
    100% {
      left: 100%;
    }
  }
.page-id-10 #logo_loader .f_logo:before {
    animation: loadLogo .5s;
}
.page-id-10 #logo_loader.open {
    animation-name: slideOut;
    animation-fill-mode: forwards;
    animation-duration: 1s;
    animation-delay: 1.5s;
}
@keyframes slideOut {
    0% {
        transform: translateY(0%);
    }
    50% {
        transform: translateY(0%);
    }
    100% {
        transform: translateY(-100%);
    }
}
/* ローディング */
#logo_loader {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 9999;
    background-color: #000;
}
#logo_loader .f_logo {
    display: none;
}
#logo_loader .f_logo:before {
    animation: loadLogo .5s;
}
#logo_loader.open {
    animation-name: slideOut;
    animation-fill-mode: forwards;
    animation-duration: .8s;
    animation-delay: .1s;
}
@keyframes slideOut {
    0% {
        transform: translateY(0%);
    }
    50% {
        transform: translateY(0%);
    }
    100% {
        transform: translateY(-100%);
    }
}

/* 翻訳 */
.gtranslate_wrapper {
    display: inline-block;
    position: fixed;
    top: 40%;
    right: 0;
    z-index: 999;
    writing-mode: vertical-rl;
    font-size: .6em;
    margin-bottom: 0 !important;
}
.gtranslate_wrapper a {
    padding: 10px 0;
    color: #fff !important;
}
.gtranslate_wrapper a::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 1px;
    margin: 10px 0;
    background-color: #ffffff50;
}
.gtranslate_wrapper a:first-child::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 1px;
    top: 0;
    background-color: #ffffff50;
}

/* 全体 */
body {
    overflow-x: hidden !important;
}
.br_pc {
    display: block;
}
.br_pc2 {
    display: block;
}
.br_mb {
    display: none;
}
.br_tb {
    display: none;
}
.wp-block-spacer {
    margin: 0 !important;
}
.page-id-10 .container {
    padding-left: 30px !important;
    padding-right: 30px !important;
}
.page-id-10 footer .container {
    padding-left: 15px !important;
    padding-right: 15px !important;
}
/* fadeUp */
.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeUpAnime{
    from {
        opacity: 0;
        transform: translateY(100px);
        -webkit-filter: blur(15px);
        -moz-filter: blur(15px);
        -ms-filter: blur(15px);
        -o-filter: blur(15px);
        filter: blur(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
        -webkit-filter: blur(0px);
        -moz-filter: blur(0px);
        -ms-filter: blur(0px);
        -o-filter: blur(0px);
        filter: blur(0px);
    }
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger{
        opacity: 0;
}
/* 文字が横から */
.smooth {
    position: relative;
    clip-path: inset(0 100% 0 0);
    transition: 1.5s cubic-bezier(0.37, 0, 0.63, 1);
    transition-property: clip-path;
    margin-top: 0 !important;
}
.smooth.is-animated {
    clip-path: inset(0);
}
/* 写真を暗く */
.wp-block-image {
    position: relative;
}
.wp-block-image::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(23, 9, 4, 0.4), rgba(23, 9, 4, 0.1));
}

/* ボタン */
.btn_type1 {
    position: relative;
}
.btn_type1:after {
    content: "";
    position: absolute;
    top: 40%;
    left: 10em;
    width: .5em;
    height: .5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 1px solid #555;
    border-top: 1px solid #555;
    transition: ease-in-out 0.5s;
}
.btn_type1:hover:after {
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
}
.btn_type1 a {
    display: inline-block;
    position: relative;
    color: #000;
    padding: 0 0 1em 0;
    width: 160px;
    font-size: .9em;
    text-align: left;
}
.btn_type1 a:hover {
    color: #fff !important;
}
.btn_type1 a::after {
    content: "";
    position: absolute;
    width: 1em;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #fff;
    -webkit-transition: ease-in-out 0.5s;
    transition: ease-in-out 0.5s;
}
.btn_type1 a:hover::after {
    width: 100%;
}
.btn_type1 a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #555;
    transition: width .3s ease;
}
.page-id-10 .btn_type1 {
    margin: 40px 0 0 !important;
}
.btn_type2 a {
    display: inline-block;
    color: #fff;
    border: 1px solid #fff;
    padding: .6em 2.5em;
    width: 100%;
    text-align: center;
    border-radius: 30px;
}
.btn_type2 a:hover {
    color: #000;
    border: 1px solid #fff;
    background: #fff;
}

/* 見出し */
h1 {
    background: #111;
    padding: 1em 2em 1em 5em;
    position: absolute;
    top: -7em;
}
h2 {
    position: relative;
    padding: .25em 1em;
    border-top: solid 1px #555;
    border-bottom: solid 1px #555;
    text-align: center;
    margin: 0 0 50px !important;
}
h2:before, h2:after {
    content: '';
    position: absolute;
    top: -7px;
    width: 1px;
    height: -webkit-calc(100% + 14px);
    height: calc(100% + 14px);
    background-color: #555;
}
h2:before {
    left: 7px;
}
h2:after {
    right: 7px;
}
h4 {
    font-family: "Oranienbaum", serif;
}
.ttl_en {
    font-family: "Old Standard TT", serif;
    font-size: 5em;
    text-align: left;
    line-height: 1.1;
    margin: 2em 0 0 !important;
    color: #555;
}
.page-id-10 .ttl_en {
    margin: 0 !important;
}

/* ヘッダー */
.sydney-dropdown .sydney-dropdown-link {
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: 14px !important;
}
#menu-item-86 a {
    position: relative;
    border: 1px solid #ffffff50;
    border-radius: 20px;
    padding: 2em 1em;
}
#menu-item-86 a:hover {
    border: 1px solid #fff;
    color: #fff !important;
}
.header-photo {
    position: relative;
    height: 500px;
    margin-top: 200px;
}
.header-photo-image {
    position: absolute;
    width: 80%;
    height: 500px;
    right: 0;
}
.header-photo-image::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(23, 9, 4, 0.4), rgba(23, 9, 4, 0.1));
}
.page-id-10 .header-photo {
    display: none;
}
.page-id-13 .header-photo-image {
    background-image: url(../../../wp-content/uploads/2025/06/header_photo02.jpg);
    background-size: cover;
    background-position: 0 36%;
}
.page-id-15 .header-photo-image {
    background-image: url(../../../wp-content/uploads/2025/06/header_photo03.jpg);
    background-size: cover;
    background-position: 50% 45%;
}
.page-id-24 .header-photo-image {
    background-image: url(../../../wp-content/uploads/2025/06/header_photo04.jpg);
    background-size: cover;
}
.page-id-17 .header-photo-image {
    background-image: url(../../../wp-content/uploads/2025/06/header_photo05.jpg);
    background-size: cover;
    background-position: 0 70%;
}
.page-id-26 .header-photo-image {
    background-image: url(../../../wp-content/uploads/2025/06/header_photo01.jpg);
    background-size: cover;
    background-position: 0 36%;
}
.page-id-28 .header-photo-image {
    background-image: url(../../../wp-content/uploads/2025/06/header_photo06.jpg);
    background-size: cover;
    background-position: 0 62%;
}
.single .entry-header, .page .entry-header {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    position: relative;
}

/* フッター */
.footer-widget .wp-block-image::after {
    display: none;
}
.breadcrumb-area {
    background: #000;
  font-size: 12px;
  padding: 1em 0;
  border-top: 1px solid #333;
}
.breadcrumb-area-inner {
    width: 1140px;
    margin: 0 auto;
    color: #fff;
}
.breadcrumb-area-inner a {
    color: #fff;
}
.onlineshop_link {
    margin: 50px 0 80px;
}
.onlineshop {
    background-image: url(../../../wp-content/uploads/2025/06/onlineshop2.jpg);
    background-position: 50% 55%;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 55px 0 40px;
    position: relative;
    width: 100%;
    z-index: 1;
    overflow: hidden;
}
.onlineshop_in {
    width: 85%;
    margin: 0 auto;
    color: #fff;
}
.onlinshop_ttl {
    font-family: "Old Standard TT", serif;
    font-size: 2.5em;
    line-height: 1;
}
.onlineshop_link a:hover {
    opacity: .8;
    transition: all 0.3s ease-in-out;
}
.onlineshop:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5em;
    width: 2em;
    height: 2em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
}
.footer_reserve {
    margin-top: 4em;
    padding: 3em 0;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
}
.footer_reserve .wp-block-column:first-child {
    border-right: 1px solid #333;
    padding: 0 3em 0 0;
}
.footer_reserve .wp-block-column:nth-last-child(2) {
    padding: 0 1.7em;
}
.footer_reserve .wp-block-column:last-child {
    border-left: 1px solid #333;
    padding: 3em 0 3em 3em;
}
.footer_reserve h3 {
    color: #fff;
}
.footer_reserve .tel {
    font-size: 2.2em;
}
.reserve_info {
    font-size: .8em;
}
.tel span {
    font-size: .5em;
}
.menu-footer-menu-container ul {
    padding: 0 !important;
}
.menu-footer-menu-container li {
    display: inline-block;
    padding: 0 15px 0 0 !important;
    letter-spacing: .1em;
    font-size: .9em;
}
.footer_meu_sub {
    padding: 0;
}
.footer_meu_sub li {
    display: inline-block;
    padding: 0 15px 0 0 !important;
    letter-spacing: .1em;
    font-size: .7em;
}
.footer_meu_sub li:first-child::after {
    content: "/";
    padding-left: 24px;
}
.footer_sns {
    padding: 0;
}
.footer_sns li {
    display: inline-block;
    padding: 0 15px 0 0 !important;
    font-size: 1.5em;
}
.sydney-credits {
    font-size: .7em;
}

/* ヒーローエリア */
.slide-item::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(23, 9, 4, 0.4), rgba(23, 9, 4, 0.1));
}
.slide-inner {
    display: none !important;
}
.slides-container .slide-item {
    animation: zoomUp 10s linear 0s normal both;
}
@keyframes zoomUp { /* ズームアップで1.15倍させる指定 */
    0% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}
.sydney-hero-area {
    position: relative;
}
.page-id-10 .hero_logo {
    display: block;
    position: absolute;
    top: 40%;
    left: 40%;
    z-index: 3;
}
.hero_logo {
    display: none;
}

/* トップページ */
.TextRandomAnime span{
	opacity: 0;
}
.TextRandomAnime.appearRandomtext span{ 
	animation:text_randomanime_on .5s ease-out forwards;
}
/*アニメーションで透過を0から1に変化させる*/
@keyframes text_randomanime_on {
	0% {opacity:0;}
	100% {opacity:1;}
}
.TextRandomAnime.appearRandomtext span:nth-child(2n) {
	animation-delay: .5s;/* spanのついた2の倍数の文字列の変化を0.5秒遅らせる*/
}
.TextRandomAnime.appearRandomtext span:nth-child(3n+1) {
	animation-delay: .15s;/* spanのついた3の倍数＋1の文字列の変化を0.15秒遅らせる*/
}
/* スライダー */
.slider {
    padding: 0;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}
.slider img {
    width: 95% !important;
    height: auto;
}
.top_concept_box {
    position: relative;
}
.top_concept {
    position: absolute;
    font-family: "Hina Mincho", serif;
    writing-mode: vertical-rl;
    height: 540px;
    top: -5em;
    z-index: 3;
    right: 0;
    font-size: 2.5em;
    letter-spacing: .3em;
}
.top-full-width {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-bottom: 0 !important;
}
.top-full-width .wp-block-columns {
    gap: 0;
}
.top-full-width-in {
    max-width: 100%;
    text-align: right;
}
.about_contents {
    gap: 60px !important;
}
.about_contents_re {
    gap: 60px !important;
}
.about_contents_bg {
    gap: 60px !important;
    position: relative;
}
.about_contents_bg:after {
    content: "";
    position: absolute;
    top: 4%;
    background: #ffffff1f;
    width: 100vw;
    height: 90%;
    margin-left: calc(-50vw + 50%);
    z-index: 1;
}
.bg_in {
    position: relative;
    z-index: 3;
}
.about_box {
    position: relative;
    padding: 20em 0 26em;
}
.about_img1 {
    position: absolute;
    top: 0;
    right: 0;
}
.about_img1 img {
    width: 200px;
}
.about_img1::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(23, 9, 4, 0.4), rgba(23, 9, 4, 0.1));
}
.about_img2 {
    position: absolute;
    bottom: 0;
    left: 80px;
}
.about_img2 img {
    width: 400px;
}
.about_img2::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(23, 9, 4, 0.4), rgba(23, 9, 4, 0.1));
}
.chef_k img {
    filter: grayscale(100%);
}
.top_access_2col {
    display: inline-block;
    text-align: left;
}
.access {
    gap: 60px !important;
}
.access_box {
    border-bottom: 1px solid #555;
    padding: 3em 0;
}
.access_box2 {
    padding: 3em 0;
}
.access_ttl {
    font-size: .8em !important;
    border: 1px solid #555;
    border-radius: 20px;
    padding: .5em .8em .5em 1em;
    display: inline-block;
    margin: 0 !important;
}
.add {
    font-size: 1.3em;
    letter-spacing: 1.7px;
}
.tel {
    font-size: 2em;
    letter-spacing: .1em;
}
.shop_close span {
    font-size: .8em;
}
.brand {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.brand li {
    height: 500px;
    width: 100%;
    list-style: none;
}
.brand li .brand_btn {
    position: relative;
    display: block;
    height: 100%;
    z-index: 1;
}
.brand li .brand_btn:hover {
    color: #fff;
}
.brand li .brand_img {
    position: absolute;
    overflow: hidden;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.brand li .brand_img img {
    object-fit: cover;
    object-position: 50% 70%;
    width: 100%;
    height: 100%;
}
.brand li .brand_img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(23, 9, 4, 0.5), rgba(23, 9, 4, 0.2), rgba(23, 9, 4, 0.5));
}
.brand li a .brand_img img {
    transition: transform .4s ease;
}
.brand li a:hover .brand_img img {
    transform: scale(1.05);
}
.brand li a:hover p {
    color: #fff;
}
.brand li .brand_in {
    height: 100%;
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}
.brand_in img {
    width: 216px;
    margin: 0 auto;
}

/* メニュー */
.flexslider::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(23, 9, 4, 0.4), rgba(23, 9, 4, 0.1));
    z-index: 9;
}
.full-width {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-bottom: 0 !important;
    background: #ffffff18;
}
.full-width-in {
    margin: 0 auto;
    padding: 8em 0;
    width: 1170px;
}
.big_text {
    font-size: 1.5em;
    margin: 0 0 2em !important;
}
.menu_box_type1 table td {
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid #555;
    padding: 2em .5em;
}
.menu_box_type1 td:first-child {
    font-size: 1.1em;
    width: 46%;
}
.menu_box_type1 td:nth-last-child(2) {
    font-size: .9em;
    color: #b3b3b3;
    width: 34%;
}
.menu_box_type2 table td {
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid #555;
    padding: 2em .5em;
}
.menu_box_type2 td:first-child {
    font-size: 1.1em;
}
.menu_box_type3 table td {
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid #555;
    padding: 2em .5em;
}
.menu_box_type3 td:first-child {
    font-size: 1.06em;
    width: 40%;
}
.menu_box_type3 td:nth-last-child(2) {
    font-size: .8em;
    color: #b3b3b3;
}
.menu_box_type4 table td {
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid #555;
    padding: 2em .5em;
}
.menu_box_type4 td:first-child {
    font-size: 1.1em;
    width: 30%;
}
.menu_box_type4 td:nth-last-child(2) {
    font-size: .9em;
    color: #b3b3b3;
}
.menu_box_type4 span {
    font-size: .64em;
}
.menu_box_type5 table td {
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid #555;
    padding: 1.5em .5em;
}
.menu_box_type5 table td:last-child {
    font-size: .9em;
}
.menu_category {
    padding: 0;
    margin: 0;
    text-align: center;
}
.menu_category li {
    display: inline-block;
    padding: 0 15px 0 0 !important;
}
.menu_category a {
    position: relative;
    border: 1px solid #555;
    border-radius: 30px;
    padding: .5em 2em .7em;
    font-size: .9em;
    transition: .3s;
}
.menu_category a:hover {
    border: 1px solid #fff;
}
.menu_info {
    display: inline-block;
    background: #00447e;
    color: #fff;
    padding: .5em 2em;
    margin-bottom: 15px !important;
    font-size: .8em;
}
.tax_info {
    text-align: right;
    font-size: .7em;
    margin: 0 !important;
}
.menu_h3 {
    position: relative;
    padding-left: 1.5em;
}
.menu_h3:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    z-index: 0;
    width: .5em;
    height: .5em;
    background: #00447e;
    border-radius: 50%;
}

/* 採用情報 */
.recruite th {
    width: 28%;
    text-align: left;
    vertical-align: top;
    padding: 20px 0;
    border-top: 0px solid #333;
    border-bottom: 1px solid #999;
    border-left: 0px solid #333;
    border-right: 0px solid #333;
    font-weight: 500;
}
.recruite td {
    text-align: left;
    word-break: break-all;
    padding: 20px 0;
    border-top: 0px solid #333;
    border-bottom: 1px solid #333;
    border-left: 0px solid #333;
    border-right: 0px solid #333;
}

/* お問い合わせ */
.con-info {
    padding: 20px;
    margin: 50px 0 !important;
    border: 1px solid #333;
    text-align: center;
}
.con-ate {
    font-size: 1.3em;
    letter-spacing: .1em;
}
.con-tel {
    text-align: center;
    font-size: 1.5em;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="select"] {
    border: 1px solid #888 !important;
    border-radius: 10px;
    color: #333;
    padding: 8px 15px;
    width: 100%;
    box-shadow: none;
    -webkit-appearance:none;
    border-style:none;
    line-height: 1.5;
    height: 50px;
}
.wpcf7 textarea {
    border: 1px solid #888 !important;
    border-radius: 10px;
    color: #333;
    padding: 8px 15px;
    width: 100%;
    height: 200px;
    box-shadow: none;
    -webkit-appearance:none;
    border-style:none;
    line-height: 1.5;
}
.wpcf7 input[type="email"] {
    border: 1px solid #888 !important;
    border-radius: 10px;
    color: #333;
    padding: 8px 15px;
    width: 100%;
    box-shadow: none;
    -webkit-appearance:none;
    border-style:none;
    line-height: 1.5;
    height: 50px;
}
.form-control {
    width: 45%;
    border: none;
}
select {
    border: 1px solid #888 !important;
    padding: 3px 8px 6px;
    height: 45px;
    font-weight: 400;
    color: #333 !important;
}
.cf7 {
    width: 70%;
    margin: 70px auto;
    font-size: .9em;
}
.cf7 dt {
    float: left;
    clear: left;
    width: 35%;
    padding: .5em 1em .5em 0;
    line-height: 2;
    height: 60px;
}
.cf7 dd {
    margin: 0 0 3% 35%;
}
.cf7 dt p {
    margin-bottom: 0;
}
.wpcf7-list-item-label a {
    text-decoration: underline;
}
.post-content dl dt {
    font-weight: normal;
    font-size: 15px;
}
.cf7 .rqd {
    color: #b99c22;
    padding: 6px 7px 0;
    margin-left: 10px;
    font-size: 11px;
    float: right;
}
.cf7_multi {
    width: 70%;
    margin: 70px auto;
    font-size: .9em;
}
.cf7_multi dt {
    float: left;
    clear: left;
    width: 35%;
    line-height: 2;
    height: 60px;
}
.cf7_multi dt p {
    margin-bottom: 0;
}
.cf7_multi dd {
	margin: 0 0 2em;
    border-bottom: 1px dotted #555;
}
.cf7_multi .con_message {
    height: auto;
}
.cf7_multi .rqd {
    color: #d60000;
    margin-left: 10px;
    font-size: 11px;
}
.btn_cf7 {
	text-align: center;
}
.btn_cf7 input {
	width: 100%;
}
.btn_ok {
    position: relative;
    width: 230px;
    margin: 0 auto;
}
.btn_ok p {
    margin: 0;
}
.btn_ok input[type=submit] {
    display: block;
    position: relative;
    padding: 15px 50px;
    text-align: center;
    margin: 0 auto;
    width: 230px;
    letter-spacing: .1em;
    color: #fff;
    background: unset;
    border: 1px solid #555;
    border-radius: 40px;
}
.btn_ok input[type=submit]:hover {
    border: 1px solid #fff;
    color: #fff;
}
.btn_back {
    position: relative;
    width: 230px;
    margin: 0 auto;
}
.btn_back input[type=button] {
    display: block;
    position: relative;
    padding: 15px 50px;
    text-align: center;
    margin: 0 auto;
    width: 230px;
    letter-spacing: .1em;
    color: #888;
    background: unset;
    border: 1px solid #555;
    border-radius: 40px;
}
.btn_back input[type=button]:hover {
    border: 1px solid #fff;
    color: #fff;
}
span.wpcf7-list-item {
    display: inline-block;
}
::-webkit-input-placeholder { /* WebKit browsers */
color: #a6a6a6 !important;
opacity: 1;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
color: #a6a6a6 !important;
opacity: 1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
color: #a6a6a6 !important;
opacity: 1;
}
:-ms-input-placeholder { /* Internet Explorer 10+ */
color: #a6a6a6 !important;
opacity: 1;
}
input.wpcf7c-conf, textarea.wpcf7c-conf, select.wpcf7c-conf {
    background: #fff !important;
    border: none;
    color: #212121;
    border: 1px solid #f2f2f2;
}
.con_center {
    text-align: center;
}
span.wpcf7-not-valid-tip {
    font-size: .7em;
}
div.wpcf7-validation-errors {
    border: none;
    background: #e5e5e5;
    color: #ff0000;
    padding: 20px;
    margin: 2em 0;
    font-size: 15px;
    text-align: center;
}
div.wpcf7-mail-sent-ok {
    border: none;
    background: #727272;
    color: #fff;
    padding: 20px;
    margin: 2em 0;
    font-size: 15px;
    text-align: center;
}
.wpcf7-spinner {
    display: block;
    margin: 10px auto 0;
}
.thanks_ttl {
    font-size: 1.5em;
}
.con_pri {
    text-align: center;
    font-size: .9em;
    margin-bottom: 3em;
}
.con_pri a {
    text-decoration: underline !important;
}
.recap {
    text-align: center;
    font-size: 11px;
}
.grecaptcha-badge {
    visibility: hidden;
}
.recap a {
    text-decoration: underline;
}
@media only screen and (max-width: 1520px) {
    .header-photo-image {
        height: 400px;
    }
    .ttl_en {
        margin: 0 !important;
    }
    h1 {
        top: -6em;
    }
}
@media only screen and (max-width: 1199px) {
    body {
        font-size: .95em !important;
    }
    .page-id-10 .container {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }

    /* 見出し */
    h1 {
        font-size: 34px !important;
        top: -5em;
    }
    .ttl_en::after {
        height: 60px;
    }
    .ttl_en {
        font-size: 4em !important;
    }
    .page-id-10 .ttl_en {
        font-size: 4em !important;
    }
    
    /* ヘッダー */
    .shfb-mobile-offcanvas-rows .container {
        width: 100% !important;
    }
    .shfb .sydney-svg-icon {
        --icon-size: 26px;
    }
    .sydney-svg-icon {
        width: 26px !important;
        height: 26px !important;
    }
    .sydney-svg-icon svg {
        width: 26px;
        height: 26px;
    }
    .sydney-offcanvas-menu svg {
        max-height: 22px !important;
    }
    .sydney-offcanvas-menu {
        max-width: 100% !important;
    }
    .sydney-dropdown .sydney-dropdown-link {
        padding: 8px 0 !important;
        writing-mode: unset;
    }
    .shfb-mobile_offcanvas .shfb-builder-item, .shfb.shfb-header .shfb-builder-item {
        justify-content: center;
    }
    .header-html {
        text-align: center;
    }
    .sydney-offcanvas-menu .sydney-dropdown ul li {
        border-bottom: 0px solid rgba(238, 238, 238, 0.14) !important;
    }
    .shfb-mobile_offcanvas .menu-item-86 a {
        position: relative !important;
        border: 1px solid #555;
        border-radius: 20px;
        padding: .5em 0 !important;
        width: 140px !important;
        margin: 0 auto;
    }
    .shfb-mobile_offcanvas .menu-item-86 a:hover {
        border: 1px solid #fff;
        color: #fff !important;
    }
    .shfb-mobile_offcanvas .shfb-builder-item + .shfb-builder-item {
        margin-top: 40px !important;
    }
    .off_menu_sub {
        padding: 0;
        margin: 0;
    }
    .off_menu_sub1 {
        letter-spacing: .1em;
        font-size: .8em;
    }
    .off_menu_sub li {
        display: inline-block;
        padding: 0 15px 0 0 !important;
        letter-spacing: .1em;
        font-size: .8em;
    }
    .menu-item-41 .sydney-dropdown-link {
        padding: 8px 0 25px !important;
    }
    .off_menu_sub li:last-child {
        padding: 0 !important;
    }
    .off_menu_sns {
        padding: 0;
    }
    .off_menu_sns li {
        display: inline-block;
        padding: 0 15px 0 0 !important;
        font-size: 1.5em;
    }
    .off_menu_sns li:last-child {
        padding: 0 !important;
    }
    .off_menu_logo {
        margin-top: 40px;
    }
    .header-photo {
        height: 320px;
        margin-top: 120px;
    }
    .header-photo-image {
        height: 320px;
    }

    /* フッター */
    .breadcrumb-area-inner {
        width: 100%;
        padding: 0 15px;
    }
    .footer_reserve .wp-block-column:last-child {
        padding: 1.5em 0 2em 3em;
    }
    .footer_reserve .tel {
        font-size: 1.7em;
    }

    /* ヒーローエリア */
    .page-id-10 .hero_logo {
        left: 35%;
    }
    .hero_logo img {
        height: 80px;
    }

    /* トップページ */
    .top_concept {
        height: 460px;
        top: -5em;
        right: 2em;
        font-size: 2.2em;
        line-height: 1.5;
    }
    .full-width-in {
        width: 940px;
    }

    /* お料理 */
    .metaslider {
        max-width: 800px !important;
    }
    .flex-control-paging li a {
        width: 8px !important;
        height: 8px !important;
    }
}

@media only screen and (max-width: 991px) {
    /* トップページローディング */
    .page-id-10 #logo_loader .f_logo img {
        height: 60px !important;
        width: auto;
    }

    /* 全体 */
    body {
        font-size: .9em !important;
    }
    .br_pc2 {
        display: none;
    }
    .br_tb {
        display: block;
    }
    .site-logo {
        max-height: 40px !important;
    }
    .spacer_tb_100 {
        height: 100px !important;
    }
    .big_text {
        font-size: 1.3em;
    }

    /* 見出し */
    h1 {
        font-size: 24px !important;
        padding: 1em 1.3em 1em 3em;
        top: -6em;
    }
    h2 {
        font-size: 20px !important;
    }
    .page-id-24 h2 {
        margin: 0 0 10px !important;
    }
    h3 {
        font-size: 19px !important;
    }
    .ttl_en {
        margin: 0 !important;
    }

    /* ヘッダー */
    .header-photo {
        height: 240px;
        margin-top: 100px;
    }
    .header-photo-image {
        height: 240px;
    }

    /* フッター */
    .breadcrumb-area-inner {
        margin: 0;
    }
    .onlineshop {
        padding: 50px 0 40px;
    }
    .onlinshop_ttl {
        font-size: 2em;
    }
    .onlineshop:after {
        right: 5em;
        width: 1em;
        height: 1em;
    }
    .footer_reserve {
        flex-wrap: nowrap !important;
    }
    .footer_reserve .wp-block-column:first-child {
        padding: 0 1em 0 0;
    }
    .footer_reserve .wp-block-column:nth-last-child(2) {
        padding: 0
    }
    .footer_reserve .wp-block-column:last-child {
        padding: 2.5em 0 2.5em 1em;
    }
    .footer_reserve .tel {
        font-size: 1.5em;
    }
    .shfb-row.shfb-cols-layout-bigright.shfb-cols-2 {
        grid-template-columns: 1fr 3fr !important;
    }
    .footer_logo img {
        height: 40px !important;
    }

    /* ヒーローエリア */
    .hero_logo img {
        height: 60px;
    }

    /* トップページ */
    .top_concept {
        height: 420px;
        top: -8em;
        right: 1em;
        font-size: 2em;
        line-height: 1.3;
    }
    .mb_reverse {
        flex-direction: column-reverse;
    }
    .top-full-width-in {
        text-align: left;
    }
    .about_contents {
        gap: 40px !important;
        flex-wrap: nowrap !important;
    }
    .about_contents_re {
        gap: 40px !important;
        flex-wrap: nowrap !important;
    }
    .about_box {
        padding: 15em 0 15em;
    }
    .about_img1 img {
        width: 160px;
    }
    .about_img2 img {
        width: 280px;
    }
    .about_contents_bg {
        gap: 40px !important;
        flex-wrap: nowrap !important;
    }
    .full-width-in {
        width: 720px;
    }
    .chef p {
        margin: 0 !important;
    }
        .access {
        flex-wrap: nowrap !important;
        gap: 40px !important;
    }
    .add {
        font-size: 1.1em;
    }
    .tel {
        font-size: 1.8em;
    }    
    .brand li {
        height: 300px;
    }
    .brand li .brand_in {
        padding: 40px 0;
    }
    .brand_in img {
        width: 160px;
    }

    /* お料理 */
    .metaslider {
        max-width: 600px !important;
    }
    .menu_box_type1 td:first-child {
        font-size: 1em;
        width: 50%;
    }
    .menu_box_type1 td:nth-last-child(2) {
        font-size: .8em;
        width: 36%;
    }
    .menu_box_type2 td:first-child {
        font-size: 1em;
    }
    .menu_box_type3 td:first-child {
        font-size: .95em;
        width: 45%;
    }
    .menu_box_type3 td:nth-last-child(2) {
        font-size: .8em;
        width: 30%;
    }
    .menu_box_type4 td:first-child {
        font-size: 1em;
        width: 34%;
    }
    .menu_box_type4 td:nth-last-child(2) {
        font-size: .8em;
        width: 50%;
    }
    .menu_box_type4 span {
        font-size: .64em;
    }
    .menu_box_type5 table td {
        font-size: .95em;
    }
    .menu_box_type5 table td:last-child {
        font-size: .8em;
    }
    .menu_small {
        flex-wrap: nowrap !important;
    }
    .menu_p {
        margin: 0 0 1.5em !important;
    }

    /* 採用情報 */
    .recruite_info {
        flex-wrap: nowrap !important;
        gap: 40px !important;
    }

    /* お問い合わせ */
    .cf7 {
        width: 90%;
    }
}
@media only screen and (max-width: 767px) {
    body.custom-background {
        background-size: contain !important;
    }
    .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .page-id-10 .container {
        padding-left: 35px !important;
        padding-right: 35px !important;
    }
    .page-id-10 footer .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    .br_pc {
        display: none;
    }
    .br_tb {
        display: none;
    }
    .br_mb {
        display: block;
    }
    .spacer_mb_500 {
        height: 500px !important;
    }
    .spacer_mb_20 {
        height: 20px !important;
    }
    .spacer_mb_50 {
        height: 50px !important;
    }
    .spacer_mb_80 {
        height: 80px !important;
    }

    /* ボタン */
    .btn_type2 {
        margin: 0 0 20px;
    }

    /* 見出し */
    h1 {
        font-size: 22px !important;
        top: -6em;
    }
    h2 {
        font-size: 18px !important;
        padding: .5em 1em;
    }
    .page-id-24 h2 {
        font-size: 16px !important;
        padding: .5em 1em;
    }
    .page-id-10 .ttl_en {
        font-size: 3em !important;
        line-height: 1.5;
    }
    .ttl_en {
        margin: 0 !important;
        font-size: 3em !important;
    }

    /* ヘッダー */
    .header-photo-image {
        height: 140px;
        width: 90%;
    }
    .header-photo {
        height: 140px;
    }

    /* フッター */
    .breadcrumb-area {
        font-size: 10px;
    }
    .footer_reserve {
        flex-wrap: wrap !important;
        margin: 2em 0;
        padding: 2em 0;
    }
    .shfb-row.shfb-cols-layout-bigright.shfb-cols-2 {
        grid-template-columns: unset !important;
    }
    .menu-footer-menu-container li {
        font-size: .85em;
    }
    .footer_reserve .wp-block-column:first-child {
        border-right: 0px solid #333;
        padding: 0;
    }
    .footer_reserve .wp-block-column:last-child {
        border-top: 1px solid #333;
        border-left: 0 solid #333;
        padding: 1em 0 0 0;
    }
    .footer_reserve .tel {
        font-size: 1.8em;
    }
    .reserve_info {
        font-size: 10px;
        letter-spacing: 1.8px;
        margin: 0;
    }

    /* ヒーローエリア */
    .mobile-slide {
        width: auto;
        height: 650px !important;
        object-fit: cover !important;
        object-position: 40% 50% !important;
    }
    .slide-item-2 .mobile-slide {
        object-position: 70% 50% !important;
    }
    .slide-item-3 .mobile-slide {
        object-position: 52% 50% !important;
    }
    .header-slider {
        max-width: 100% !important;
        border-radius: unset;
    }
    .page-id-10 .hero_logo {
        top: 47%;
    }
    .page-id-10 .hero_logo {
        left: 23%;
    }

    /* トップページ */
    .top_concept {
        top: -14em;
        right: 2em;
    }
    .top-full-width .wp-block-columns {
        gap: 20px;
    }
    .top_parallax1 {
        height: 520px;
        background-position: 64% 0;
    }
    .onlineshop:after {
        right: 2.5em;
        top: 29%;
    }
    .onlineshop_link {
        margin: 3em 0;
    }
    .onlineshop_in {
        width: 100%;
    }
    .onlineshop {
        padding: 2em 2em .5em;
    }
    .onlinshop_ttl {
        font-size: 1.6em;
        margin-bottom: .5em;
    }
    .onlinshop_p {
        font-size: 10px;
    }
    .about_contents {
        gap: 0 !important;
        flex-wrap: wrap !important;
    }
    .about_contents_re {
        flex-direction: column-reverse;
    }
    .about_box {
        padding: 14em 0 16em;
    }
    .about_img1 {
        top: 3em;
        right: 2em;
    }
    .about_img1 img {
        width: 140px;
    }
    .about_img2 {
        left: 2em;
    }
    .about_img2 img {
        width: 220px;
    }
    .chef_k {
        margin-top: 80px !important;
    }
    .chef {
        padding: 4em 20px;
    }
    .access {
        flex-wrap: wrap !important;
        gap: 20px !important;
    }
    .access_box {
        padding: 1em 0 2em;
    }
    .access_box2 {
        border-bottom: 1px solid #555;
        padding: 1em 0 2em;
    }
    .access_box2:last-child {
        border-bottom: 0px solid #555;
        padding: 1em 0 2em;
    }
    .map iframe {
        height: 300px;
    }

    /* お料理 */
    .menu_category a {
        padding: .7em 2em;
        font-size: .8em;
    }
    .menu_category {
        text-align: left;
    }
    .menu_category li {
        padding: 10px 0px !important;
    }
    .full-width-in {
        width: 100%;
        padding: 80px 20px;
    }
    .menu_box_type1 {
        margin: 20px 0 0;
    }
    .menu_box_type1 table tr {
        display: block;
        border-bottom: 1px solid #555;
        padding: 20px 0;
    }
    .menu_box_type1 table td {
        border-bottom: 0px solid #555;
        padding: 0;
        display: block;
    }
    .menu_box_type1 td:first-child {
        width: 100%;
        font-size: 1.1em;
    }
    .menu_box_type1 td:nth-last-child(2) {
        width: 100%;
    }
    .menu_box_type2 table tr {
        display: block;
        border-bottom: 1px solid #555;
        padding: 20px 0;
    }
    .menu_box_type2 table td {
        border-bottom: 0px solid #555;
        padding: 0;
        display: block;
    }
    .menu_box_type2 td:first-child {
        font-size: 1.1em;
    }
    .menu_box_type3 table tr {
        display: block;
        border-bottom: 1px solid #555;
        padding: 20px 0;
    }
    .menu_box_type3 table td {
        border-bottom: 0px solid #555;
        padding: 0;
        display: block;
    }
    .menu_box_type3 td:first-child {
        width: 100%;
        font-size: 1em;
    }
    .menu_box_type3 td:nth-last-child(2) {
        width: 100%;
    }
    .menu_box_type4 {
        margin: 20px 0 0;
    }
    .menu_box_type4 table tr {
        display: block;
        border-bottom: 1px solid #555;
        padding: 20px 0;
    }
    .menu_box_type4 table td {
        border-bottom: 0px solid #555;
        padding: 0;
        display: block;
    }
    .menu_box_type4 td:first-child {
        width: 100%;
        font-size: 1.1em;
    }
    .menu_box_type4 td:nth-last-child(2) {
        width: 100%;
    }
    .menu_box_type5 table tr {
        display: block;
        border-bottom: 1px solid #555;
        padding: 20px 0;
    }
    .menu_box_type5 table td {
        border-bottom: 0px solid #555;
        padding: 0;
        display: block;
    }
    .menu_box_type5 td:first-child {
        font-size: 1em;
    }

    /* 採用情報 */
    .recruite_info {
        flex-wrap: wrap !important;
        gap: 40px !important;
    }

    /* お問い合わせ */
    .cf7_box {
        padding: 2em 2em 1em;
    }
    .cf7_mailcheck {
        background: #4d4d4d;
        padding: .1em .5em .3em;
        margin: 0 0 0 1em;
        color: #fff;
        display: inline-block;
    }
    .cf7 {
        width: 100%;
        margin: 40px auto 0;
    }
    .wpcf7-radio {
        display: inline;
    }
    .wpcf7 input[type="text"],
    .wpcf7 input[type="tel"],
    .wpcf7 input[type="select"],
    .wpcf7 input[type="email"],
    .wpcf7 textarea {
        font-size: 14px;
    }
    .cf7 dt {
        width: 100%;
        padding: 0.5em 0;
        font-size: 14px;
        height: 45px;
    }
    .cf7 dd {
        margin: 0 0 15px 0;
    }
    .cf7_multi .rqd {
        font-size: 10px;
    }
    .cf7_multi {
        width: 100%;
        margin: 40px auto 80px;
    }
    .cf7_multi dt {
        width: 100%;
        padding: 1em 0 0;
        font-size: 13px;
        height: 35px;
        float: unset;
    }
    .cf7_multi dd {
        margin: 0;
        padding: 0;
        font-size: 16px;
    }
    .cf7_multi dd:last-child {
        border-bottom: 1px dotted #555;
    }
    .wp-block-column {
        flex-basis: 100% !important;
        flex-grow: 0;
    }
    .wp-block-column:not(:last-child) {
        margin-right: 0px;
    }
    .wp-block-column:not(:first-child) {
        margin-left: 0px;
    }
    .wp-block-column:nth-child(odd) {
        margin-right: 0px;
    }
    .wpcf7-list-item-label {
        font-size: 12px;
    }
    .wpcf7-form input[type=submit] {
        width: 100%;
        margin: 0 auto !important;
    }
    .btn_back input[type=button] {
        width: 100%;
    }
    .wpcf7-form .btn-back {
        width: 100%;
        padding: 10px 20px;
        margin-bottom: 0px;
    }
    .recap {
        font-size: 10px;
        letter-spacing: .08em;
    }
}