@charset "UTF-8";
/* ==========================================================================
   Setting
========================================================================== */
:root {
    --white: #FFF;
	--bluegray: #e7edf1;
	--beige: #f0efe6;
    --l-gray: #F2EEE8;
    --l-gray2: #E6E1D9;
    --gray: #999999;
    --d-gray: #373436;
    --dd-gray: #161515;
    --black: #000;
    --border1: #C6C6C6;
    --border2: #BFBFBF;
    --color1: #161515;
    --color1-h: #334038;
    --red: #DB3636;
    --font1: "Roboto", sans-serif;
    --font2: "Hind", sans-serif;
    --gothic: "Noto Sans JP", sans-serif;
    --mincho: "Noto Serif JP", serif;
}
/* ==========================================================================
   Base
========================================================================== */
html {
    font-family: var(--gothic);
    font-size: 89.1%;
    font-weight: 400;
    line-height: 2.25;
    letter-spacing: .1em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}
html:has(body.lang-en) {
    --gothic: "Noto Sans", sans-serif;
    --mincho: "Noto Serif", serif;

    letter-spacing: 0.025em;
}
@media (max-width: 389px) {
    html {
        font-size: 3.375vw;
    }
}
body {
    background: var(--white);
    color: var(--black);
}
body.navOpen {
    height: 100%;
    overflow: hidden;
}
@media (min-width: 992px) {
    body.pagegroup__basic.navOpen, body.pagegroup__restaurant.navOpen {
        height: auto;
        overflow: auto;
    }
}
#inner-content {
    padding-top: 70px;
    padding-bottom: 5rem;
}
#mv + #inner-content {
    padding-top: 0;
}
#content, #content ~ * {
    position: relative;
    z-index: 2;
}
#main-content {
    position: relative;
    z-index: 2;
}

@media (max-width: 991px) {
	h3 {
		font-size: 1.81em;
        font-weight: bold;
        line-height: 1.4;
	}
    .pc {
        display: none !important;
    }
	.container_sp {
		padding-right: 0;
		padding-left: 0;
	}
}
@media (min-width: 992px) {
	h3 {
		font-size: 3.2em;
        font-weight: bold;
        line-height: 1.76;
    }
    .sp {
        display: none !important;
    }
	.space {
		padding: 10em 4.8em 0;
	}
}

#main {
    font-weight: 300;
}

._sticky {
  position: sticky!important;
  top: 0;
}

.of-hidden {
    overflow: hidden;
}

.relative {
    position: relative;
}

/*表示
----------------------------------------*/
@media (min-width: 992px) {
	.sp {
		display: none !important;
	}
}

@media (max-width: 991px) {
	.pc {
		display: none !important;
	}
}

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.w-wg {
	background-color: var(--white);
}

/* animation
----------------------------------------*/
.fadeIn {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity .6s ease, transform .6s ease;
  will-change: opacity, transform;
}

.fadeIn.animated {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* ==========================================================================
   Header
========================================================================== */
#siteHeader {
    color: var(--color1);
    height: 75px;
    /*position: absolute;*/
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 990;
    transition: height .6s cubic-bezier(0.16, 1, 0.3, 1);
}
#siteHeader.is-bg {
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(6px);
}
#siteHeader.standby {
    /*opacity: 0;*/
}
#siteHeader:has(.gNav.on), #siteHeader.fixed {
    position: fixed;
}
#siteHeader:has(.on) {
    position: fixed !important;
    opacity: 1 !important;
}
#siteHeader::before {
    content: '';
    background-color: transparent;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transform: translateY(-101%);
    transition: transform .6s cubic-bezier(0.16, 1, 0.3, 1);
}
/* 背景ON時 */
#siteHeader.has-bg::before {
  background-color: rgba(0, 0, 0, 0.1);
}
#siteHeader.fixed::before {
    transform: translateY(0);
}
/*#siteHeader::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: var(--border1);
    position: absolute;
    bottom: 0;
}*/
body:has(#mv) #siteHeader:not(.fixed) {
    color: var(--white);
}
body:has(#mv) #siteHeader:not(.fixed)::after {
    background: currentColor;
    opacity: .3;
}
@media (min-width: 992px) {
    #siteHeader {
        height: 90px;
    }
    #siteHeader.fixed {
        height: 80px;
    }
}
.inner-header {
    height: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    position: relative;
}

.header-l {
    position: relative;
    z-index: 6;
}
#siteHeader:has(.gNav.on) .header-l {
    z-index: 4;
}
.header-logo {
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
    line-height: 1;
    position: relative;
}
.header-logo .logo__inner {
    display: block;
    width: 8em;
    color: inherit;
    transition: none;
}
.header-logo .logo__inner img {
    display: inline-block;
    vertical-align: middle;
    width: 50%;
    height: 50%;
    object-fit: contain;
}
body:has(#mv):not(.gNavOpen) #siteHeader:not(.fixed) .header-logo .logo__inner {
    background: url(../img/logo-w.svg) no-repeat center center / contain;
}
body:has(#mv):not(.gNavOpen) #siteHeader:not(.fixed) .header-logo .logo__inner img {
    visibility: hidden;
}
.header-r {
    flex-basis: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    position: relative;
    z-index: 5;
}
@media (max-width: 991px) {
    .header-l {
        position: absolute;
        top: 53%;
        left: 20%;
        transform: translate(-50%,-50%);
    }
}
@media (min-width: 992px) {
    .inner-header {
        font-size: min(1rem, 1vw);
        padding:  .2em 0 0.3em 2.75em;
    }
}
@media (max-width: 991px){

  /* z-index を効かせる土台 */
  #siteHeader,
  #siteHeader .inner-header{
    position: relative;
  }

  .header-l,
  .header-r,
  .gNav,
  .nav-btn{
    position: relative;
  }

  /* 通常時：ロゴは押せる／ハンバーガーも押せる */
  .header-l{ z-index: 20; }
  .header-r{ z-index: 30; }
  .nav-btn{ z-index: 40; }

  /* メニュー本体（開いたパネル）はロゴより上に */
  .gNav__inner{
    position: fixed;          /* 既に fixed/absolute ならそのままでOK */
    z-index: 50;
  }

  /* メニューを開いている時：メニュー操作を最優先 */
  body.gNavOpen .header-l{ z-index: 10; }  /* ロゴの“箱”を下げる */
  body.gNavOpen .gNav__inner{ z-index: 60; } /* メニューを上げる */
  body.gNavOpen .nav-btn{ z-index: 70; }     /* 閉じるボタン（ハンバーガー）は最上段 */
}
/* ヘッダーの疑似要素がクリックを奪わないようにする */
#siteHeader::before,
#siteHeader::after{
  pointer-events: none;
}
/* ==========================================================================
   Navigation
========================================================================== */
nav ul {
    display: flex;
    flex-direction: row;
    border-bottom: 0;
    margin: 0;
}
nav ul li {
    position: relative;
}
nav ul li a,
nav ul li > span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75em;
    color: inherit;
    text-decoration: none;
    line-height: 1.5;
    position: relative;
    text-decoration: none;
}
nav ul li a span {
    display: block;
}
nav ul li a svg {
    display: inline-block;
    width: .8077em;
    height: .8077em;
    object-fit: contain;
}
nav ul li a:hover {
    opacity: 0.5;
}
nav .sub-nav {
    padding: 2.5rem 0 2.75rem;
    gap: 2em;
}

nav.lang-menu {
    font-weight: 500;
    width: 4em;
}
nav.lang-menu ul {
    display: block;
}
nav.lang-menu ul li a {
    justify-content: space-between;
    align-items: center;
}
a.lang-swith {
    gap: 0;
}
a.lang-swith::after {
    content: '';
    display: block;
    width: .425em;
    height: .425em;
    border-bottom: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform .2s;
}
nav.lang-menu .sub-menu {
    padding-left: 0;
    min-width: 100% !important;
}


ul.sns-nav {
    display: flex;
    gap: .75em;
}
ul.sns-nav li a {
    display: inline-flex;
    min-width: 2em;
    padding: .5em 0;
    align-items: center;
}
ul.sns-nav li a svg {
    width: 1.75em;
    height: 1.75em;
    margin: auto;
}
ul.sns-nav li.facebook a svg {
    width: .8em;
}
@media (max-width: 991px) {
    .navBar ul {
        margin-bottom: 2rem;
        flex-direction: column;
    }
    ul .sub-menu {
        display: none;
        padding: 0 0 0 1.5em;
    }
    ul .sub-menu ul {
        margin-bottom: 0;
    }

    nav.lang-menu a {
        padding: .25em .5em !important;
    }
}
@media (min-width: 992px) {
    .navBar ul {
        justify-content: flex-end;
    }
}


/* Grobal navigation */
.gNav {
    width: 100%;
    display: flex;
}
.gNav__inner {
    display: flex;
    width: 100%;
    height: 100%;
}
.gNav .main-nav {
    display: flex;
    width: 100%;
}
.gNav > * {
    align-self: center;
}

/* Nav Btn */
.nav-btn {
    background: transparent;
    color: inherit;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 110px;
    height: 100%;
    position: relative;
    z-index: 9999;
    cursor: pointer;
}
.nav-btn i {
    display: block;
    background: var(--white);
    width: 3em;
    height: 1px;
    position: absolute;
    /*right: 0;*/
    left: 30px;
    margin: -.5px auto 0;
    transition: transform .2s, top .2s .2s;
}
.nav-btn i:nth-of-type(1) {
    top: calc(50% - 8px);
}
.nav-btn i:nth-of-type(2) {
    top: calc(50% + 3px);
}
.gNav.on .nav-btn {
    color: var(--white);
}
.gNav.on .nav-btn i {
    transition: transform .2s .2s, top .2s;
}
.gNav.on .nav-btn i:nth-of-type(1) {
    top: 50%;
    transform: rotate(30deg);
}
.gNav.on .nav-btn i:nth-of-type(2) {
    top: 50%;
    transform: rotate(-30deg);
}
.gNav.on .nav-btn::after {
    opacity: 0;
}
.gNav__inner {
    width: 100%;
    background: var(--color1);
    color: var(--white);
    position: fixed!important;
    top: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .6s cubic-bezier(0.19, 1, 0.22, 1);
}
/* OPEN */
.gNav.on .gNav__inner {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
@media (min-width: 992px) {
	.nav-btn i:nth-of-type(1) {
		top: calc(50% - 3px);
	}
	.nav-btn i:nth-of-type(2) {
		top: calc(50% + 7px);
	}
}

/* ==========================================================================
   PC Navigation
========================================================================== */
@media (min-width: 992px) {
    .gNav {
        flex: 1 1 100%;
        max-width: 100%;
        height: 100%;
        position: relative;
        z-index: 5;
    }
    .gNav .lang-menu,
    .gNav .bookNav,
    .gNav .nav-btn {
        font-weight: 500;
        flex-basis: 8%;
        position: relative;
    }
    .gNav .lang-menu {
        width: auto;
        flex-basis: 7%;
    }
    /*.gNav .navBar::after,
    body:has(#mv) #siteHeader:not(.fixed) .gNav .lang-menu::after,
    body:has(#mv) #siteHeader:not(.fixed) .gNav .bookNav::after {
        content: '';
        display: block;
        width: 1px;
        height: 2em;
        background: currentColor;
        opacity: .3;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
    }*/
    .gNav > .bookNav {
        align-self: stretch;
    }
    body:has(#mv) #siteHeader:not(.fixed) .gNav .navBar {
        font-weight: 500;
    }
    .gNav .navBar {
        margin-left: auto;
        flex-basis: 76%;
        padding-right: 1vw;
        height: 100%;
        justify-content: flex-end;
        position: relative;
    }
    .gNav ul.lang-nav {
        width: 100%;
    }
    .gNav ul.lang-nav a,
    .gNav ul.lang-nav .sub-menu ul li a {
        padding: .5em calc(1vw + .923em);
    }
    .gNav ul.lang-nav .sub-menu {
        position: absolute;
        border-bottom: 0;
    }
    .gNav ul li a,
    .gNav ul li > span {
        height: 100%;
        white-space: nowrap;
    }
    .gNav > nav,
    .gNav > nav ul,
    .gNav > nav ul li {
        height: 100%;
    }
    .gNav > nav ul.main-nav li a {
        padding: 1em min(1vw, .923em);
    }

    .gNav > nav > ul > li > a,
    .gNav > nav > ul > li > span {
        display: flex;
        border-bottom: 1px solid transparent;
        transition-property: border;
        opacity: 1!important;
    }
    .gNav > nav > ul > li:hover > a {
        border-bottom-color: var(--color1);
    }
    .gNav .sub-menu {
        min-width: calc(100% + 1em);
        background: transparent;
        border-bottom: 1px solid var(--border1);
        position: fixed;
        top: 90px;
        left: 0;
        opacity: 0;
        pointer-events: none;
        transition: .4s;
        transition-property: transform, opacity;
    }
    #siteHeader.fixed .gNav .sub-menu {
        background: var(--black);
        color: var(--white);
		top: 64px;
    }
    .gNav > nav > ul > li.has-children:hover .sub-menu {
        opacity: 1;
        pointer-events: auto;
    }
    .gNav .sub-menu {
        display: block !important;
        padding: 1em;
    }
    .gNav .sub-menu ul {
        justify-content: center;
    }
    .gNav .sub-menu ul li a:not(.btn) {
        font-size: .923em;
        padding: .5em 1.5em;
    }
    .gNav .sub-menu ul:has(.btn) {
        padding: 1.25em 0;
    }

    .gNav .book-nav {
        display: block;
    }
    .gNav .book-nav li span {
        width: 100%;
        justify-content: center;
        cursor: pointer;
    }

    .gNav__inner {
        font-size: min(1rem, 1.1vw);
    }
    .gNav__inner::before {
        content: '';
        display: block;
        /*background: url(../img/bg.jpg) no-repeat center / cover;*/
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        opacity: .1;
    }
    .gNav__inner > nav {
        width: min(90%, 80em);
        margin: auto;
    }
    .gNav__inner ul.sns-nav {
        justify-content: flex-end;
        margin-top: 4.75em;
    }
	.d-lg-flex {
        display: -ms-flexbox !important;
        display: flex !important;
    }
    .gNav__inner ul.main-nav {
        display: block;
        margin: 1.5em 0;
    }
    .gNav__inner ul.main-nav li a {
        font-size: 1.385em;
        padding: .5em 0;
    }
    .gNav__inner .gNav__bottom {
        margin-top: 4em;
    }
    .gNav__inner .gNav__bottom ul.group-links {
        margin-top: 1.75em;
    }
    .gNav__inner .gNav__bottom ul.sub-nav {
        margin-top: 2.5em;
    }
	.col-lg-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%;
    }

}
/* ==========================================================================
   SP Navigation
========================================================================== */
@media (max-width: 991px) {
    .gNav {
        /*justify-content: space-between;*/
		justify-content: right;
        align-items: center;
    }
    .gNav__inner {
        padding-top: 75px;
        z-index: 777;
    }
    .gNav .lang-menu {
        margin: 0 calc(7vw - .5em);
    }
    .gNav.on .lang-menu {
        color: var(--white);
        z-index: 999;
    }
    .gNav .navBar_inner {
        height: 100%;
        overflow-y: auto;
        padding: 0 7vw;
    }
    .gNav .navBar_inner .row {
        position: relative;
    }
    .gNav .navBar_inner .row > div:has(.sns-nav) {
        width: auto;
        position: absolute;
        right: 0;
        z-index: 5;
    }
    .gNav nav,
    .gNav nav ul.main-nav,
    .gNav nav ul.main-nav ul {
        flex-direction: column;
        justify-content: flex-start;
    }
    .gNav nav ul.main-nav > li {
        border-bottom: 1px solid rgba(255,255,255,.3);
    }
    .gNav nav ul.main-nav {
        font-size: 1.154rem;
        letter-spacing: .05em;
    }
    .gNav nav ul.main-nav li a {
        padding: 1.125em 0;
    }
    .gNav nav ul.main-nav > li > a {
        font-size: 1.231rem;
    }
    .gNav nav ul.main-nav .has-children > a::before,
    .gNav nav ul.main-nav .has-children > a::after {
        content: '';
        display: block;
        width: .75em;
        height: 1px;
        background: currentColor;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
    }
    .gNav nav ul.main-nav .has-children > a::after {
        transform: translateY(-50%) rotate(90deg);
    }
    .gNav nav ul.main-nav .has-children.open > a::after {
        opacity: 0;
    }
    .gNav nav ul.main-nav .sub-menu {
        padding-bottom: 1.5em;
    }
    .gNav nav ul.main-nav .sub-menu ul li a {
        padding: .75em 0;
    }

    .gNav nav .sub-nav {
        font-size: .9em;
    }
    .gNav nav .links-group {
        padding: 2rem 0 4rem;
    }
    .gNav nav .links-group li a {
        padding: 0;
    }
    
    .gNav > .navBar {
        display: none!important;
    }
  	.nav-btn {
		width: 48px;
		height: 48px;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		z-index: 1000; /* 何かに負けないように */
		-webkit-tap-highlight-color: transparent;
	  }
	.nav-btn i{
		pointer-events: none; /* i要素をタップしても確実に親が反応 */
	 }
	.nav-btn i:nth-of-type(1),
	.nav-btn i:nth-of-type(2) {
		left: -20px;
	}
	.row {
		margin-right: -7vw;
		margin-left: -7vw;
	}
	.col-lg-9 {
		position: relative;
    	width: 100%;
        box-sizing: border-box;
	}
	.col, [class*="col-"] {
		padding-right: 7vw;
		padding-left: 7vw;
	}
}
/* ==========================================================================
   Book Navigation
========================================================================== */
.bookNav {
    position: relative;
}
.bookNav.on .bookNav__inner {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.bookNav__buttons {
    display: flex;
	align-items: center;
    gap: 1rem;
}
.book-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: .01em;
    white-space: nowrap;
    width: 100%;
    padding: 0 1em;
    cursor: pointer;
}
.book-btn > * {
    transition: opacity .2s;
}
.book-btn:hover > * {
    opacity: .5;
}
.bookNav .book-close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3em;
    height: 3em;
    font-size: 1.5em;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;

    display: none;
}
.bookNav .book-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.25em;
    max-width: 90%;
    margin: 0 auto;
}
.bookNav .book-list li {
    width: 100%;
    max-width: 23em;
    text-align: center;
}
.bookNav .book-list li .btn {
    width: 100%;
    font-size: 1em;
}
.btn {
	display: inline-block;
	text-align: center;
	font-family: inherit;
	font-size: 1.077em;
	line-height: 1.4;
	font-weight: 400;
	padding: 1.125em 1.25em;
	width: 100%;
	max-width: 100%;
	background: var(--color1);
	color: var(--l-gray);
	border: 1px solid transparent;
	box-sizing: border-box;
	text-decoration: none;
	border-radius: 0;
	outline: none;
	cursor: pointer;
	position: relative;
	transition: .2s ease-in-out;
	transition-property: background,border,color;
}
.btn.btn-border {
	background: transparent !important;
	border-color: currentColor;
	color: var(--white);
}
.btn::after {
	  content: '';
	  display: block;
	  width: .425em;
	  height: .425em;
	  border-top: 1.5px solid currentColor;
	  border-right: 1.5px solid currentColor;
	  position: absolute;
	  top: 50%;
	  right: 7%;
	  transform: translate(0,-50%) rotate(45deg);
	  transition: transform .2s;
	}
	.btn.btn-border::after {
	  border-color: var(--gray);
	}
	.btn:hover::after {
	  transform: translate(4px,-50%) rotate(45deg);
	}

#book-widget {
    display: block;
}
@media (max-width: 991px) {
    .bookNav {
        width: 100%;
        position: fixed !important;
        right: 0;
        bottom: 0;
        z-index: 666 !important;
        color: var(--color1);
    }
    .bookNav__buttons {
        background: var(--dd-gray);
        padding: 1.2rem;
    }
    .book-btn {
		font-family: var(--font1);
        background: var(--black);
        color: var(--white);
		border: 1.5px solid var(--white);
        height: 3.125rem;
    }
    .bookNav__inner {
        display: block;
        width: 100%;
        background: var(--black);
        padding: 2.5rem 0 calc(2.5rem + 5.125rem);
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: -1;
        opacity: 0;
        transform: translateY(10vh);
        pointer-events: none;
        transition: opacity .4s cubic-bezier(0.19, 1, 0.22, 1), transform .4s cubic-bezier(0.19, 1, 0.22, 1);
    }
	.btn.btn-border {
		color: var(--white);
	}
}
@media (min-width: 768px) {
    .bookNav .book-list {
        flex-wrap: nowrap;
    }
    .bookNav .book-list li {
        flex-basis: 100%;
    }
}
@media (min-width: 992px) {
    .bookNav {
        width: auto;
    }
    .bookNav__inner {
        padding: 3rem 0;
        top: 70px;
        bottom: auto;
        transform: translateY(0);
    }
    .bookNav__buttons {
        height: 100%;
    }
    .bookNav:hover .sub-menu {
        opacity: 1;
        pointer-events: auto;
    }
	.book-btn {
		display: block;
        width: 13em;
		height: 2.2em;
        padding: 5px;
        color: var(--white);
		border-radius: 100px;
		text-decoration: none;
        text-align: center;
        margin: 10px 0;
        border: 1px solid var(--white);
    }
    .bookNav .book-list {
        gap: 30px;
    }
    .bookNav .book-list .btn {
        opacity: 1!important;
    }
    

    body:has(#mv) #siteHeader:not(.fixed) .book-btn {
        background: transparent;
        color: inherit;
    }
    body:has(#mv) #siteHeader:not(.fixed) .bookNav__inner {
        background: transparent;
        top: 90px;
    }
    body:has(#mv) #siteHeader:not(.fixed) .bookNav__inner .btn-border,
    body:has(#mv) #siteHeader:not(.fixed) .bookNav__inner .btn-border::before,
    body:has(#mv) #siteHeader:not(.fixed) .bookNav__inner .btn-border::after {
        border-color: rgba(255, 255, 255, .5);
        color: inherit;
    }
}
/* ==========================================================================
   main_view
========================================================================== */
.main_view_inner {
	position: relative;
}
.main_view_img img {
    width: 100%;
    height: 100svh;
    object-fit: cover;
    vertical-align: bottom;
}

@media (min-width: 992px) {
	.main_view_inner .main_view_txt {
		position: absolute;
		left: 2.75em;
		bottom: 35px;
		color: var(--white);
	}
	.main_view_inner .main_view_txt p.comment {
		font-size: 3.5rem;
		font-weight: 600;
		line-height: 1.92;
	}
	.main_view_inner .main_view_txt p.small {
		font-weight: 600;
		padding-top: .8em;
	}
}
@media (max-width: 991px) {
	.main_view_inner .main_view_txt {
		position: absolute;
		left: 1.2em;
        bottom: 60px;
		color: var(--white);
	}
	.main_view_inner .main_view_txt p.comment {
		font-size: 1.8em;
		font-weight: 600;
		line-height: 1.92;
	}
	.main_view_inner .main_view_txt p.small {
		font-weight: 600;
		padding-top: .8em;
	}
}

/* ==========================================================================
   sportswig
========================================================================== */
section.sportswig_inner {
	padding: 7em 0 6em;
}
.sportswig_logo {
	text-align: center;
}

.sportswig_logo img {
	width: 10%;
}

section.slider-part {
    display: flex;
}
section.slider-part .one {
    display: flex;
    width: 100%;
    min-height: 100vh;
    padding: 20px;
}
section.slider-part .bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    transition: all 0.5s ease 0s;
    z-index: -1;
}
section.slider-part .show .bg {
    opacity: 1;
}
section.slider-part .bg._01,
section.slider-part .bg._02,
section.slider-part .bg._03 {
	background-size: 70%;
	background-color: var(--bluegray);
}
section.slider-part .bg._01 {
    background-image: url("images/running.png");
}
section.slider-part .bg._02 {
    background-image: url("images/bridge.png");
}
section.slider-part .bg._03 {
    background-image: url("images/tennis.png");
}
section.slider-part .onebox {
    max-width: 400px;
    margin: 10em auto 0 10em;
}
section.slider-part .onebox img {
    width: 100%;
    height: auto;
    vertical-align: top;
    margin-bottom: 15px;
}
section.slider-part .onebox p {
	font-size: 1.2em;
    font-weight: 600;
    line-height: 3.1;
}
.sportswig_link a {
	display: flex;
	align-items: center;
	justify-content: center;
}
.sportswig_link p {
	font-family: var(--font1);
	font-size: 1.6em;
	font-weight: 600;
}
.sportswig_link img {
	width: 4em;
    margin-left: 1em;
}
@media (max-width: 991px) {
	.sportswig_logo img {
		width: 45%;
	}
	section.slider-part .onebox {
		margin: 18em auto 0 1em;
	}
	section.slider-part .bg._01,
	section.slider-part .bg._02,
	section.slider-part .bg._03 {
		background-size: 136%;
	}
	section.slider-part .onebox p {
		font-size: 1.1em;
	}
	.sportswig_link p {
		font-size: 1.5em;
	}
	.sportswig_link img {
		width: 3.3em;
    	margin-left: 1em;
	}
}

/* ==========================================================================
   about
========================================================================== */
@media (min-width: 992px) {
	section.about_inner {
		display: flex;
		justify-content: center;
		align-items: flex-start;
	}
	section.about_inner .about_txt {
		width: 40%;
        padding-right: 5em;
        box-sizing: border-box;
	}
	section.about_inner .about_img {
		width: auto;
	}
	section.about_inner h2 {
		font-size: 3.2em;
        font-weight: bold;
        line-height: 1.76;
	}
	section.about_inner p {
		line-height: 1.68;
		margin-top: 1.75rem;
    	margin-bottom: 1.75rem;
	}
	.container_sp {
		padding-right: 0;
		padding-left: 0;
	}
	section.about_inner p.sub_ttl {
		font-size: 1.9em;
		line-height: 1.59;
		padding-top: .8em;
	}
	section.about_inner .about_detail {
		padding-right: 8.9em;
	}
	section.about_inner p.owner_name {
		font-weight: bold;
	}
}

@media (max-width: 991px) {
	section.about_inner h2 {
		font-size: 1.81em;
        font-weight: bold;
        line-height: 1.4;
		padding-top: 3em;
		padding-left: 5.8vw;
        padding-bottom: .6em;
	}
	section.about_inner p {
		line-height: 1.68;
		padding-top: 1.2em;
	}
	.container_sp {
		padding-right: 5.8vw;
		padding-left: 5.8vw;
	}
	section.about_inner p.sub_ttl {
		font-size: 1.23em;
        line-height: 1.78;
        padding-top: 1.8em;
	}
	section.about_inner p.owner_name {
		font-weight: bold;
	}
}

/* ==========================================================================
   product
========================================================================== */

.product_group p.product_name {
	font-size: 1.3em;
	font-family: var(--font1);
	font-weight: bold;
	padding-top: .8em;
}
.product_group p.product_tag {
	font-weight: bold;
}
.product_group p.product_direction {
	color: var(--gray);
}
.product_group p.product_direction {
	padding-bottom: 1.8em;
}
.product_group p.product_price {
	font-family: var(--font1);
}

@media (min-width: 992px) {
	section.product_inner {
		padding-top: 10em;
		padding-left: 4.8em;
	}
	.product_group p {
		line-height: 1.68;
	}
	.product_group p.product_direction {
		padding-bottom: 1.8em;
	}
}
@media (max-width: 991px) {
	.product_inner {
        padding-top:  5.5em;
        padding-left: 5.8vw;
    }
	.product_inner h3 {
		padding-bottom: .6em;
	}
	.product_group p {
		line-height: 1.68;
	}
}
.swiper-horizontal .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   buy
========================================================================== */
.buy_inner ul {
	display: flex;
}
.buy_inner ul.buy_list {
	align-items: flex-start;
	justify-content: center;
	/*gap: 2em;*/
}
.buy_inner .buy_shop ul {
	gap: 1.2em;
}
.buy_group p.buy_name {
	font-weight: bold;
}
.buy_inner .buy_shop ul li .amazon_logo {
	width: 5em;
	height: auto;
}
.buy_inner .buy_shop ul li .shopify_logo {
	width: 6.2em;
	height: auto;
}
@media (min-width: 992px) {
	.buy_inner ul.buy_list li.buy_col {
		width : calc(100% / 3) ;
	}
	 .buy_group p.buy_txt {
		color: var(--gray);
		line-height: 1.71;
		padding-bottom: 1.8em;
	}
	.buy_group p.buy_name {
		font-size: 2.12em;
	}
}
@media (max-width: 991px) {
	.buy_inner {
        padding-top:  5.5em;
        padding-left: 5.8vw;
		padding-right: 5.8vw;
    }
	.buy_inner h3 {
		padding-bottom: .6em;
	}
	.buy_inner p {
		line-height: 1.68;
	}
	.buy_inner ul {
		display: block;
	}
	.buy_inner li.buy_col + li.buy_col {
		padding-top: 3em;
	}
	.buy_group p.buy_name {
		font-size: 1.3em;
		padding-top: .8em;
	}
	.buy_group p.buy_txt {
		padding: 1em 0;
	}
	.buy_shop ul {
		display: flex;
		align-items: flex-end;
	}
}

/* ==========================================================================
   kids
========================================================================== */
@media (min-width: 992px) {
	section.kids_inner {
		display: flex;
		justify-content: center;
		align-items: flex-start;
		padding-bottom: 10em;
	}
	section.kids_inner .kids_txt {
		width: 40%;
        padding-right: 5em;
        box-sizing: border-box;
	}
	section.kids_inner .kids_img {
		width: auto;
	}
	section.kids_inner h2 {
		font-size: 3.2em;
        font-weight: bold;
        line-height: 1.76;
	}
	section.kids_inner p {
		line-height: 1.68;
		margin-top: 1.75rem;
        margin-bottom: 1.75rem;
	}
	.container_sp {
		padding-right: 0;
		padding-left: 0;
	}
	section.kids_inner p.sub_ttl {
		font-size: 1.9em;
		line-height: 1.59;
		padding-top: .8em;
	}
	section.kids_inner .kids_detail {
		padding-right: 8.9em;
	}
	section.kids_inner p.owner_name {
		font-weight: bold;
	}
	.kids_wig {
		padding-top: 3em;
	}
	.kids_wig h4 {
		font-size: 2em;
        font-weight: bold;
	}
	.kids_wig p {
		margin-top: 0;
	}
}

@media (max-width: 991px) {
	section.kids_inner {
        padding-top:  5.5em;
		padding-bottom: 5.5em;
    }
	section.kids_inner h2 {
		font-size: 1.98em;
        font-weight: bold;
        line-height: 1.4;
		padding-left: 5.8vw;
		padding-right: 5.8vw;
        padding-bottom: .6em;
	}
	section.kids_inner p {
		line-height: 1.68;
		padding-top: 1.2em;
	}
	/*.container_sp {
		padding-right: 5.8vw;
		padding-left: 5.8vw;
	}*/
	section.kids_inner p.sub_ttl {
		font-size: 1.23em;
        line-height: 1.78;
        padding-top: 1.8em;
	}
	section.kids_inner p.owner_name {
		font-weight: bold;
	}
}
/* ==========================================================================
   news
========================================================================== */
#news {
	background-color: var(--beige);
}
@media (min-width: 992px) {
	section.news_inner {
		padding-top: 10em;
		padding-left: 4.8em;
	}
	.news_inner_col {
		display: flex;
		align-items: center;
		padding-bottom: 1.3em;
	}
}

.tag_list ul {
	display: flex;
	align-items: flex-start;
	gap: 1em;
	padding-left: 3em;
}
.tag_list li {
	display: block;
	width: 10.5em;
    height: 2em;
	padding: 5px;
	color: var(--black);
	background-color: var(--white);
	border-radius: 100px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	margin: 10px 0;
}
.tag_list li.on {
	color: var(--white);
	background-color: var(--d-gray);
}
/* クリック範囲のカード化 */
.news-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* news swiperだけ、スライド幅を内容に合わせる */
.js-news-swiper .swiper-slide {
  width: auto;
}
.js-news-swiper .news-thumb {
  width: 580px;
  height: 375px;
  max-width: 100%;
  overflow: hidden;
}

.js-news-swiper .news-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.js-news-swiper .product_tit {
	font-size: 1.1em;
    font-weight: bold;
    padding: 1.1em 0 .2em;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2; 
}
.js-news-swiper .product_tag {
	padding: 0 .5em;
	box-sizing: border-box;
}
@media (max-width: 991px) {
	.news_inner {
        padding-top: 5.5em;
        padding-left: 5.8vw;
        padding-right: 5.8vw;
    }
	.tag_list ul {
		padding-top: 1.5em;
		padding-left: 0;
		padding-bottom: 1.5em;
	}
	.tag_list li {
		width: 8.5em;
		height: 2em;
		font-size: .8em;
	}
}
@media (max-width: 767px){
	.js-news-swiper .news-thumb {
        width: 100%;
        height: auto;
    }
	/* 共通：アスペクト比固定 */
	.js-news-swiper .news-thumb {
	  width: 100%;
	  aspect-ratio: 116 / 75;   /* ← 580:375 と同義 */
	  overflow: hidden;
	}

	/* 画像は枠にフィットさせる */
	.js-news-swiper .news-thumb img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  display: block;
	}
}
/* ==========================================================================
   contact
========================================================================== */
#contact_area {
	background-color: var(--beige);
}
@media (min-width: 992px) {
	.contact_area_inner ul {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		gap: .6em;
	}
	.contact_area_inner ul li.col {
		width: calc(100% / 2);
		padding-right: 0;
		padding-left: 0;
	}
}
@media (max-width: 991px) {
	.contact_area_inner {
        padding-top: 5.5em;
        padding-left: 5.8vw;
        padding-right: 5.8vw;
    }
	.contact_area_inner h3 {
		padding-bottom: .6em;
	}
	ul.list .col_2 + .col_2 {
		padding-top: .6em;
	}
}
/* ==========================================================================
   information
========================================================================== */
#information {
	background-color: var(--beige);
}
@media (min-width: 992px) {
	.sns_area {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 4em;
	}
	.sns_area p {
		font-weight: bold;
		padding-left: 2em;
		padding-right: 3.5em;
	}
}
@media (max-width: 991px) {
	.information_inner {
        padding-top: 5.5em;
        padding-left: 5.8vw;
        padding-right: 5.8vw;
		padding-bottom: 5.5em;
    }
	.information_inner h3 {
		padding-bottom: .6em;
	}
	.sns_area {
		padding-top: 3.5em;
	}
	.sns_area_sp a {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1em;
	}
	.sns_area_sp img.arrow_sp {
		width: 4.5em;
	}
}
/* ==========================================================================
   footer
========================================================================== */
.footer {
	color: var(--white);
	background-color: var(--dd-gray);
}
@media (min-width: 992px) {
	.footer_sitemap_inner {
		display: flex;
		align-items: flex-start;
		justify-content: space-around;
		padding: 4em 11em 12em;
		font-size: 1.155em;
		line-height: 1.1;
	}
	.footer_sitemap_inner > *:first-child {
		flex: 1.5;
	}

	.footer_sitemap_inner > *:not(:first-child) {
		flex: 1;
		padding-left: 2.5em;
		box-sizing: border-box;
	}
	.logo_col img {
		width: 5.5em;
	}
	nav ul {
		display: block;
	}
	.footer_sitemap_item li + li {
		padding-top: .8em;
	}
	.sns_btn img {
		width: 1.6em;
		height: auto;
	}
}
@media (max-width: 991px) {
	.footer_sitemap_inner {
		padding: 5.5em 5.8vw 8em;
	}
	.logo_col img {
		width: 5.5em;
	}
	.footer nav ul {
		display: block;
	}
	.footer_sitemap_item + .footer_sitemap_item {
		padding-top: 1.8em;
	}
	.footer_sitemap_item li:nth-child(n+1) {
		padding-top: .8em;
	}
	.sns_btn {
		display: flex!important;
	}
	.sns_btn img {
		width: 1.6em;
		height: auto;
	}
}

li.sub_category {
	color: var(--gray);
}
li.sub_category + li.sub_category {
	padding-top: 1em;
}
li.l_space {
	padding-bottom: 3em;
}
li.small_item a {
	font-size: .92em;
}
ul.sns_btn {
	display: flex;
	align-items: baseline;
	gap: 1.6em;
	padding-top: 1em;
}
.copyrigh {
	font-family: var(--font1);
	padding-top: 2.4em;
}