/*
Theme Name:goyomi-child
Template:goyomi
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.53
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.
*/

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

/* 翻訳 */
.gtranslate_wrapper {
    display: inline-block;
    position: fixed;
    top: 40%;
    right: 0;
    z-index: 999;
    writing-mode: vertical-rl;
    font-size: .65em;
    margin-bottom: 0 !important;
}
.gtranslate_wrapper a {
    padding: 10px 0;
}
.gtranslate_wrapper a::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 1px;
    margin: 10px 0;
    background-color: #000;
}
.language-inner {
    text-align: right;
}
.gt_float_switcher .gt-selected {
    background-color: unset !important;
}
.gt_float_switcher {
    box-shadow: none !important;
    font-size: 11px !important;
    line-height: 14px !important;
    background: none !important;
}
.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 6px 8px !important;
}
.gt_float_switcher img {
    width: 16px !important;
    margin: 0 2px 0 0 !important;
}
.gt_float_switcher .gt_options a {
    letter-spacing: .08em;
    padding: 6px 8px !important;
}

/* 全体 */
body {
    overflow-x: hidden !important;
}
.br_pc {
    display: block;
}
.br_mb {
    display: none;
}
.br_tb {
    display: none;
}
.spacer_pc0 {
    display: none;
}

/* 見出し */
h2 {
    position: relative;
    margin: 0 auto 2.5em !important;
    text-align: center;
    font-size: 2em;
}
h2 span {
    display: block;
    font-family: "Bodoni Moda", serif;
    padding-bottom: 1em;
    font-size: .4em;
    display: block;
    color: #d81313;
}
h2::after {
	content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%) rotate(40deg);
    width: 1px;
    height: 80px;
    background-color: #d81313;
}
h3 {
    position: relative;
    line-height: 1.4;
    padding: 1em;
    top: 0;
    background: #fff;
}
h3:before, h3:after { 
    position: absolute;
    top: 0;
    content:'';
    width: 8px;
    height: 100%;
    display: inline-block;
}
h3:before {
    border-top: dotted 1px #7b8991;
    border-left: dotted 1px #7b8991;
    border-bottom: dotted 1px #7b8991;
    left: 0;
}
h3:after {
    content: '';
    border-top: dotted 1px #7b8991;
    border-right: dotted 1px #7b8991;
    border-bottom: dotted 1px #7b8991;
    right: 0;
}
h4 {
    margin-top: 0 !important;
}
h4 span {
    font-size: .6em;
}

/* ヘッダー */
.menu-main-menu-container ul li a {
    font-family: "Zen Old Mincho", serif !important;
    font-weight: 900 !important;
}
.site-title {
    display: none;
}
.site-description {
    display: none;
}
/* ヒーローエリア */
.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);
    }
}
.header-slider {
    max-width: 80% !important;
    height: 98vh !important;
    margin: 0 auto 0 0;
    border-radius: 0 0 300px 0;
}
.slide-item {
    background-position: right bottom -100px !important;
}
.sydney-hero-area {
    position: relative;
}
.slide_concept {
    display: none;
}
.page-id-23 .slide_concept {
    display: block;
    position: absolute;
    top: 19em;
    right: 5em;
    z-index: 3;
}
.slide_text {
    font-size: 7em;    
    line-height: 1.3;
    margin: 0;
}
.page-id-23 .slide_concept svg {
    height: 500px;
    width: 430px;
}
.logo_anime {
    stroke:#3E3A39;
    stroke-dasharray: 2000;
    stroke-dashoffset: 0;
    stroke-width: 1;
    -webkit-animation: hello 4s ease-in 0s;
    animation: hello 4s ease-in 0s;
}
@-webkit-keyframes hello {
    0% {
      stroke-dashoffset: 2000;
      fill:transparent;
    }
    40% {
      stroke-dashoffset: 2000;
      fill:transparent;
    }
    50% {
      fill:transparent;
    }
    100% {
      stroke-dashoffset: 0;
      fill:#3E3A39;
    }
}

/* フッター */
.top-full-width {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-bottom: 0 !important;
}
.brand {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.brand li {
    height: 400px;
    width: calc(1 / 2 * 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;
    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.3), rgba(23, 9, 4, 0.1), rgba(23, 9, 4, 0.3));
}
.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: 80px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}
.brand_in img {
    width: auto;
    height: 144px;
    margin: 0 auto;
}
.brand .text {
    color: #fff !important;
    font-size: .8em;
    line-height: 1.5;
    text-shadow: 1px 1px 5px #555;
}
footer .menu {
    padding: 0;
    text-align: center;
}
footer .menu li {
    display: inline-block;
    margin: 0 20px;
}
.sydney-credits {
    font-size: .8em;
    letter-spacing: .1em;
}
.foot_insta {
    text-align: center;
}
.foot_insta i {
    font-size: 1.5em;
}
.foot_insta .fa-instagram {
    color: #fff;
}

/* 写真のフェードイン */
.fade_image {
	display: flex;
	justify-content: space-between;
}
.fade_image_effect {
	position: relative;
	overflow: hidden;
	padding: 0 1px 0 0;
}
.fade_image_effect:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	background: #FDFDFA;
	transform: translate3d(0%,0,0);
}
.fade_image_effect.active:after {
	animation: swipeRight 1.1s cubic-bezier(0.6,0,0.4,1);
	animation-fill-mode: forwards;
}
.effe2 .fade_image_effect:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
	background: #fff;
	transform: translate3d(0%,0,0);
}
@keyframes swipeRight {
	0% {
		transform: translate(0);
	}
	50%, 60% {
		transform: translate3d(100%,0,0);
	}
	100% {
		transform: translate3d(100%,0,0);
	}
}
@media screen and (max-width: 640px) {
	.fade_image {
		flex-wrap: wrap;
		flex-direction: column;
	}
	.fade_image_effect {
		width: 100%;
		margin: 0 0 10px 0;
		padding: 0 0 1px 0;
	}
	.fade_image .fade_image_effect:last-child {
		margin: 0;
	}
}
/* 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;
    height: 60px;
    line-height: 1;
    margin-top: 0 !important;
}
.smooth.is-animated {
    clip-path: inset(0);
}
.smooth_t {
    position: relative;
    clip-path: inset(0 100% 0 0);
    transition: 2s cubic-bezier(0.37, 0, 0.63, 1);
    transition-property: clip-path;
    height: 175px;
    line-height: 1;
    margin-top: 0 !important;
}
.smooth_t.is-animated {
    clip-path: inset(0);
}

/* 文字が流れる */
.scroll-list {
    display: flex;
    position: relative;
    bottom: -2.3em;
    list-style: none;
    padding-inline: 0;
    margin-inline: 0;
    margin-top: 100px;
    gap: 0;
    overflow: hidden;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}
.scroll-list li {
    color: #d9e1e7;
    font-size: 6em;
    font-family: "Bodoni Moda", serif;
    line-height: 1;
    white-space: nowrap;
    padding: 0 100px 0 0;
    margin: 0;
    animation: marquee-left 30s linear infinite;
}
/* アニメーション */
@keyframes marquee-left {
    100% {
      transform: translateX(-100%);
    }
}

/* コンセプト */
.concept {
    font-family: "Zen Old Mincho", serif;
    font-weight: 600;
    font-size: 3em;
    text-align: center;
}
.message {
    line-height: 3;
    text-align: center;
    margin-bottom: 50px;
}
.message_box {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}
.me_img01 img {
    position: absolute;
    top: -14em;
    right: 0;
    width: 30%;
    border-radius: 100px 0 0 100px;
}
.me_img02 img {
    position: absolute;
    top: -10em;
    left: 15em;
    width: 18%;
    border-radius: 80px;
}
.me_img03 img {
    position: absolute;
    top: -17em;
    left: 0;
    width: 28%;
    border-radius: 0 100px 100px 0;
}
.top_parallax1 {
    background-image: url(../../../wp-content/uploads/2025/06/parallax_img01.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-bottom: 0 !important;
    height: 500px;
}

/* メニュー */
.menu_info {
    font-size: .85em;
    line-height: 1.5;
    color: #d81313;
}
.menu_list {
    gap: 100px;
}
.menu_box {
    margin: 10px 0 50px !important;
}
.menu_box table td {
    border: 0 solid;
    padding: 0;
    font-size: 1.1em;
}
.side_menu td {
    padding: 14px 0;
    border-top: 0px solid #333;
    border-bottom: 1px solid #8ea3af;
    border-left: 0px solid #333;
    border-right: 0px solid #333;
}
.side_menu span {
    font-size: .9em;
}
.menu_inner {
    position: relative;
}
.menu_tag {
    position: absolute;
    top: -2em;
    right: 1em;
    width: 80px;
    height: 80px;
    line-height: 80px;
    font-size: .9em;
    text-align: center;
    color: #fff;
    background: #d81313;
    border-radius: 50%;
}
.menu_tag_gold {
    position: absolute;
    top: -2em;
    right: 1em;
    width: 80px;
    height: 80px;
    line-height: 80px;
    font-size: .9em;
    text-align: center;
    color: #fff;
    background: #191970;
    border-radius: 50%;
}
.menu_tag_br {
    position: absolute;
    top: -2em;
    right: 1em;
    width: 80px;
    height: 80px;
    padding-top: 20px;
    line-height: 1.2;
    font-size: .8em;
    text-align: center;
    color: #fff;
    background: #d81313;
    border-radius: 50%;
}

/* アクセス */
.top_parallax2 {
    background-image: url(../../../wp-content/uploads/2025/06/parallax_img02.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-bottom: 0 !important;
    height: 500px;
}
.access_message {
    text-align: center;
}
.access_box {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}
.access_info {
    padding: 0 2em 0 10em;
}
.dinner {
    font-size: .8em;
}
.tel {
    font-size: 1.5em;
    letter-spacing: .1em;
}
.access_insta a {
    background: #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: inline-block;
    text-align: center;
    line-height: 56px;
}
.access_insta a i {
    background: linear-gradient(42deg, rgba(247, 238, 12, 1) 8%, rgba(255, 151, 29, 1) 35%, rgba(235, 20, 174, 1) 63%, rgba(154, 39, 238, 1) 89%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 1.5em;
}

@media only screen and (max-width: 1520px) {
    .page-id-23 .slide_concept {
        top: 17em;
        right: 2em;
    }
    .page-id-23 .slide_concept svg {
        height: 400px;
    }
    .header-slider {
        height: 740px !important;
    }
    .access_info {
        padding: 0 2em 0 5em;
    }
    .me_img01 img {
        border-radius: 80px 0 0 80px;
    }
    .me_img02 img {
        top: -6em;
        left: 11em;
        border-radius: 50px;
    }
    .me_img03 img {
        border-radius: 0 80px 80px 0;
    }
}
@media only screen and (max-width: 1199px) {
    body {
        font-size: .95em !important;
    }
    .shfb-mobile-offcanvas-rows .container {
        width: 100% !important;
    }
    .container {
        width: 840px !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 #mainnav ul li a {
        text-align: center;
    }
    .sydney-offcanvas-menu.toggled .menu {
        margin-top: 50px !important;
    }
    .sydney-dropdown .sydney-dropdown-link {
        padding: 20px 0 !important;
    }
    .sydney-dropdown .sydney-dropdown-link {
        writing-mode: unset;
    }
    .shfb-mobile_offcanvas .shfb-builder-item, .shfb.shfb-header .shfb-builder-item {
        justify-content: center;
    }
    .header-html {
        text-align: center;
    }
    .fa-instagram {
        font-size: 2em;
        color: #000;
    }
    .off_menu_logo {
        margin-top: 80px;
    }
    .br_pc {
        display: none;
    }
    .br_tb {
        display: block;
    }

    h2 {
        font-size: 35px !important;
    }
    h3 {
        font-size: 20px !important;
    }
    h4 {
        font-size: 22px !important;
    }

    .header-slider {
        max-width: 80% !important;
        height: 600px !important;
        margin: 0 auto 0 0;
        border-radius: 0 0 100px 0;
    }
    .page-id-23 .slide_concept {
        right: 0;
    }
    .page-id-23 .slide_concept svg {
        height: 315px;
    }
    .slide_text {
        font-size: 6.5em;
        line-height: 1.2;
    }

    .brand li {
        height: 350px;
    }
    .brand_in img {
        height: 128px;
    }

    .scroll-list {
        bottom: -7.5em;
    }

    .concept {
        font-size: 2.2em;
    }
    .me_img01 img {
        border-radius: 70px 0 0 70px;
    }
    .me_img02 img {
        top: -5em;
        left: 9em;
        border-radius: 50px;
    }
    .me_img03 img {
        border-radius: 0 70px 70px 0;
    }
    .top_parallax1 {
        height: 300px;
    }

    .side_menu td {
        width: 100%;
        display: block;
        padding: 0 0 14px;
    }
    .side_menu td:first-child {
        padding: 14px 0 0;
        border-bottom: 0px solid #8ea3af;
    }

    .top_parallax2 {
        height: 300px;
    }
    .access_info {
        padding: 0 0 0 4em;
    }
    .map iframe {
        height: 350px;
    }
}
@media only screen and (max-width: 991px) {
    #logo_loader .f_logo {
        width: 200px;
        height: 165px;
    }
    #logo_loader.open {
        animation-duration: 1.3s;
        animation-delay: 1.3s;
    }
    .site-logo {
        max-height: 69px !important;
    }

    .container {
        width: 667px !important;
    }
    .slide_text {
        font-size: 5em;
    }
    .header-slider {
        height: 513px !important;
    }

    h2 {
        font-size: 30px !important;
    }
    h2 span {
        font-size: 11px;
    }
    h2 span::after {
        height: 55px;
        bottom: -80px;
    }

    .brand li .brand_in {
        padding: 40px 0;
    }
    .brand li {
        height: 260px;
    }
    .brand_in img {
        height: 112px;
    }

    .page-id-23 .slide_concept {
        top: 13em;
        right: -3em;
    }
    .page-id-23 .slide_concept svg {
        height: 300px;
    }

    .scroll-list {
        bottom: -2em;
    }

    .smooth_t {
        height: 135px;
    }
    .me_img01 img {
        border-radius: 50px 0 0 50px;
    }
    .me_img02 img {
        left: 5em;
        border-radius: 30px;
    }
    .me_img03 img {
        top: -19em;
        border-radius: 0 50px 50px 0;
    }

    .concept {
        font-size: 2em;
    }
    .menu_list {
        gap: 40px;
        flex-wrap: nowrap !important;
    }
    .menu_box table td {
        font-size: 1em;
        letter-spacing: .1em;
    }
    .menu_tag {
        top: -4em;
        right: 0;
        width: 70px;
        height: 70px;
        line-height: 70px;
        font-size: .8em;
    }
    .menu_tag_gold {
        top: -4em;
        right: 0;
        width: 70px;
        height: 70px;
        line-height: 70px;
        font-size: .8em;
    }
    .menu_tag_br {
        top: -4em;
        right: 0;
        width: 70px;
        height: 70px;
        font-size: .8em;
    }
    .access {
        flex-wrap: nowrap !important;
    }
    .access_info {
        padding: 0 0 0 2em;
        flex-basis: 25% !important;
    }
    .scroll-list li {
        font-size: 4em;
    }
}
@media only screen and (max-width: 767px) {
    #gt_float_wrapper {
        text-align: right;
    }
    h4 {
        font-size: 26px !important;
    }

    .container {
        width: 88% !important;
    }
    .br_mb {
        display: block;
    }
    .spacer_pc0 {
        display: block;
    }
    .spacer15 {
        height: 15px !important;
    }
    .spacer50 {
        height: 50px !important;
    }
    .spacer300 {
        height: 500px !important;
    }
    .header-slider {
        max-width: 100% !important;
        border-radius: 0 0 100px 100px;
    }
    .header-slider {
        height: 600px !important;
    }
    .mobile-slide {
        width: auto;
        height: 600px !important;
        object-fit: cover !important;
        object-position: 60% 50% !important;
    }
    .page-id-23 .slide_concept {
        top: 13em;
        right: -2em;
    }
    .page-id-23 .slide_concept svg path {
        fill: #fff !important;
    }
    .logo_anime {
        stroke:#fff;
    }
    @-webkit-keyframes hello {
        100% {
            stroke-dashoffset: 0;
            fill:#fff;
        }
    }
    .slide_text {
        color: #fff;
    }

    .brand li {
        width: 100%;
        height: 210px;
    }
    .brand li .brand_in {
        padding: 20px 0;
    }
    .brand_in img {
        height: 96px;
    }
    .foot_insta i {
        font-size: 2em;
    }
    .scroll-list li {
        animation: marquee-left 15s linear infinite;
    }
    footer .menu {
        margin: 50px 0 0;
    }
    footer .menu li {
        margin: 0 10px;
    }
    .shfb-footer .shfb-below_footer_row .shfb-column-1 {
        align-items: center !important;
    }
    .shfb-footer .shfb-component-widget1 .widget-column .widget a {
        font-size: .9em;
    }

    .smooth {
        height: 50px;
    }
    .concept {
        line-height: 1.5;
        font-size: 1.7em;
    }
    .me_img01 img {
        top: -17em;
        width: 80%;
    }
    .me_img02 img {
        top: 23em;
        left: 11em;
        width: 50%;
    }
    .me_img03 img {
        top: -10em;
        width: 80%;
    }
    .top_parallax1 {
        background-attachment: unset;
        height: 200px;
    }
    .gradation01 {
        display: none;
    }

    .menu_list {
        flex-wrap: wrap !important;
    }
    .menu_box table td {
        font-size: 1.08em;
        letter-spacing: .05em;
    }
    .menu_info {
        letter-spacing: .1em;
    }
    .menu_tag {
        right: 0;
    }
    .menu_tag_gold {
        right: 0;
    }
    .menu_tag_br {
        right: 0;
    }
    .top_parallax2 {
        background-attachment: unset;
        height: 200px;
    }

    .access_message {
        text-align: left;
    }
    .access_box {
        width: 100%;
        margin-left: 0;
    }
    .access {
        flex-wrap: wrap !important;
    }
    .access_info {
        padding: 0;
        font-size: 1.2em;
    }
    .access_insta {
        display: none;
    }
    hr {
        margin-top: 40px !important;
    }
    :root :where(.wp-block-separator.is-style-dots):before {
        content: "$00B7$00B7$00B7";
        font-size: 2.5em;
        letter-spacing: 1.5em;
        padding-left: 1.5em;
    }
}