@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    outline: 0;
    font-size: 1em;
}
html {
    font-size: 62.5%;
}
body, table, input, textarea, select, option {
    font-family: 'Zen Old Mincho', serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
:focus {
    outline: 0;
}
ins {
    text-decoration: none;
}
del {
    text-decoration: line-through;
}
img {
    vertical-align: top;
    max-width: 100%;
    height: auto;
}
a, a:link {
    color: #000;
    text-decoration: none;
}
a:visited {
    color: #000;
}
a:hover {
    color: #000;
    opacity: 0.7;
}
a:active {
    color: #000;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
    display: flex;
    flex-wrap: wrap;
}
.flexA {
    justify-content: space-around;
}
.flexB {
    justify-content: space-between;
}
.flexC {
    justify-content: center;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
    min-width: 1100px;
    color: #000;
    font-size: 1.4rem;
    line-height: 1.5;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    background-color: #FFF;
    opacity: 0;
    transition: all 1s ease;
}
body.hideCover {
    opacity: 1;
}
#container {
    padding-top: 242px;
    position: relative;
    text-align: left;
    background: url("img/common/main_bg.png") no-repeat right -42px top 170px/547px auto;
}
#main {}
a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}
.en {
    font-family: 'EB Garamond', serif;
}
@media all and (min-width: 897px) {
    .sp {
        display: none !important;
    }
}
@media all and (max-width: 896px) {
    body {
        min-width: inherit;
        font-size: 1.3rem;
    }
    #container {
        padding-top: 190px;
        background-size: 300px auto;
    }
    a:hover, a:hover img {
        opacity: 1 !important;
    }
    .pc {
        display: none !important;
    }
    a[href^="tel:"] {
        cursor: pointer;
        pointer-events: auto;
    }
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
    padding: 20px 0;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 100;
    text-align: center;
    transition: all .5s;
}
#gHeader.on {
    background-color: rgba(255, 255, 255, 1);
}
#gHeader h1 {
    margin-bottom: 20px;
    margin-top: 20px;
}
#gHeader h1 a:hover {
    opacity: 1;
}
.topRBox {
    position: absolute;
    right: 30px;
    top: 25px;
    width: 200px;
    z-index: 101;
}
.topRBox .shopBtn {
    margin-bottom: 6px;
}
.topRBox .shopBtn a {
    padding-left: 5px;
    width: 200px;
    height: 45px;
    font-weight: 500;
    letter-spacing: 0.14em;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border: 1px solid #000;
    box-sizing: border-box;
}
.topRBox .shopBtn a img {
    margin-right: 7px;
}
.topRBox .linkBox {
    display: flex;
    justify-content: center;
}
.topRBox .linkBox .sns {
    margin: 5px 9px 0 8px;
    display: flex;
}
.topRBox .linkBox .sns li {
    margin: 0 4px;
    width: 14px;
}
.topRBox .linkBox .language {
    display: flex;
    font-weight: 500;
}
.topRBox .linkBox .language a {
    margin: 0 5px;
    letter-spacing: 0.1em;
}
#gNavi ul {
    display: flex;
    justify-content: center;
}
#gNavi li {
    margin: 0 8px;
	position: relative;
    letter-spacing: 0.1em;
    font-weight: 500;
}
#gNavi li:after {
	position: absolute;
	left: -8px;
	top: 4px;
	width: 1px;
	height: 14px;
	background-color: #000;
	content: "";
}
#gNavi li:first-child:after {
	display: none;
}
#gNavi li a {
    padding-bottom: 3px;
    display: inline-block;
    position: relative;
}
#gNavi li a:after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: transparent;
    content: "";
}
.menu {
    right: 26px;
    top: 22px;
    display: block;
    position: fixed;
    width: 30px;
    height: 30px;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    box-sizing: border-box;
    z-index: 102;
}
.menu > div {
    margin: 0 auto;
    width: 30px;
    height: 19px;
    position: relative;
}
.menu span {
    background-color: #000;
    border: none;
    height: 1px;
    width: 30px;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all .35s ease;
    transition: all .35s ease;
    cursor: pointer;
}
.menu span:nth-of-type(2) {
    top: 10px;
}
.menu span:nth-of-type(3) {
    top: 20px;
}
.menu.active span {
    background-color: #fff;
}
.menu.active .top {
    -webkit-transform: translateY(10px) translateX(0) rotate(45deg);
    -ms-transform: translateY(10px) translateX(0) rotate(45deg);
    transform: translateY(10px) translateX(0) rotate(45deg);
}
.menu.active .middle {
    opacity: 0;
}
.menu.active .bottom {
    -webkit-transform: translateY(-10px) translateX(0) rotate(-45deg);
    -ms-transform: translateY(-10px) translateX(0) rotate(-45deg);
    transform: translateY(-10px) translateX(0) rotate(-45deg);
}
.menuBox {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    overflow-y: auto;
    z-index: 101;
    transform: none;
    background-color: #000;
}
.menuBox .logo {
    margin: 43px 0 35px;
}
.menuBox .menuList {
    margin-bottom: 45px;
}
.menuBox .menuList li {
    margin-bottom: 11px;
}
.menuBox .menuList li a {
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: 0.04em;
}
.menuBox .sns {
    margin-bottom: 40px;
    display: flex;
    justify-content: center;
}
.menuBox .sns li {
    margin: 0 10px;
    width: 19px;
}
.menuBox .language {
    margin-bottom: 43px;
    display: flex;
    justify-content: center;
    color: #fff;
    font-size: 1.6rem;
    letter-spacing: 0.07em;
}
.menuBox .language a {
    margin: 0 5px;
    color: #fff
}
.menuButton {
  display: none;
}
.scrollHide {
  display: none!important;
}
.scrollShow {
  display: block!important;
}
.business_header.on img {
  filter: none;
}
#gHeader.on ~.menu span {
  background-color:#000;
}
#gHeader.on .menuLogo {
  width: 120px;
}
/*#gHeader.on .gNavi {
  display: none;
}*/
#gHeader.on ~.menuButton {
  display: block;
}
/*#gHeader.active ~.menuButton {
  display: none;
}*/
#gNavi {
margin-top: 20px;
}
.menuSp {
  display: none;
}


@media all and (max-width: 1200px) {
  .menuPc {
    display: none;
  }
  .menuSp {
      right: 26px;
      top: 30px;
      display: block;
      position: fixed;
      width: 30px;
      height: 30px;
      cursor: pointer;
      -webkit-transition: all .3s ease;
      transition: all .3s ease;
      box-sizing: border-box;
      z-index: 102;
  }
  .menuSp > div {
      margin: 0 auto;
      width: 30px;
      height: 19px;
      position: relative;
  }
  .menuSp span {
      background-color: #000;
      border: none;
      height: 1px;
      width: 30px;
      position: absolute;
      top: 0;
      left: 0;
      -webkit-transition: all .35s ease;
      transition: all .35s ease;
      cursor: pointer;
  }
  .menuSp span:nth-of-type(2) {
      top: 10px;
  }
  .menuSp span:nth-of-type(3) {
      top: 20px;
  }
  .menuSp.active span {
      background-color: #fff;
  }
  .menuSp.active .top {
      -webkit-transform: translateY(10px) translateX(0) rotate(45deg);
      -ms-transform: translateY(10px) translateX(0) rotate(45deg);
      transform: translateY(10px) translateX(0) rotate(45deg);
      background-color: #888!important;
  }
  .menuSp.active .middle {
      opacity: 0;
  }
  .menuSp.active .bottom {
      -webkit-transform: translateY(-10px) translateX(0) rotate(-45deg);
      -ms-transform: translateY(-10px) translateX(0) rotate(-45deg);
      transform: translateY(-10px) translateX(0) rotate(-45deg);
      background-color: #888!important;
  }
  #gHeader .menuH1, #gHeader.on .menuH1 {
    margin: auto;
  }
}

@media all and (max-width: 1000px) {
	#gNavi li {
		margin: 0 6px;
		font-size: 1.3rem;
	}
	#gNavi li:after {
		left: -6px;
		height: 12px;
	}
}
@media all and (min-width: 897px) {
  /*  .menuBox {
        display: none !important;
    }*/
    #gNavi li a:hover {
        opacity: 1;
    }
    #gNavi li a:hover:after {
        background-color: #000;
    }
    */#gHeader.active {
        transform: translateY(-100%);*/
    }
}
@media all and (max-width: 896px) {
    #gHeader {
        padding: 44px 0;
    }
    #gHeader h1 {
        margin-bottom: 0;
    }
    /**#gHeader h1 img {
        width: 169px;
        transition: all .3s ease;
    }**/
    #gHeader.on {
        padding: 20px 0;
    }
    #gHeader.on h1 img {
        width: 118px;
    }
    #gHeader.active ~.menuButton {
      display: block;
    }
    #gHeader {
        padding: 20px 0;
    }
    #gHeader h1 img {
        width: 118px;
    }
    #gHeader ~.menuButton {
      display: block;
    }
    .menu {
        right: 26px;
        top: 22px;
        display: block;
        position: fixed;
        width: 30px;
        height: 30px;
        cursor: pointer;
        -webkit-transition: all .3s ease;
        transition: all .3s ease;
        box-sizing: border-box;
        z-index: 102;
    }
    .menu > div {
        margin: 0 auto;
        width: 30px;
        height: 19px;
        position: relative;
    }
    .menu span {
        background-color: #000;
        border: none;
        height: 1px;
        width: 30px;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: all .35s ease;
        transition: all .35s ease;
        cursor: pointer;
    }
    .menu span:nth-of-type(2) {
        top: 10px;
    }
    .menu span:nth-of-type(3) {
        top: 20px;
    }
    .menu.active span {
        background-color: #fff;
    }
    .menu.active .top {
        -webkit-transform: translateY(10px) translateX(0) rotate(45deg);
        -ms-transform: translateY(10px) translateX(0) rotate(45deg);
        transform: translateY(10px) translateX(0) rotate(45deg);
    }
    .menu.active .middle {
        opacity: 0;
    }
    .menu.active .bottom {
        -webkit-transform: translateY(-10px) translateX(0) rotate(-45deg);
        -ms-transform: translateY(-10px) translateX(0) rotate(-45deg);
        transform: translateY(-10px) translateX(0) rotate(-45deg);
    }
    .menuBox {
        display: none;
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        overflow-y: auto;
        z-index: 101;
        transform: none;
        background-color: #000;
    }
    .menuBox .logo {
        margin: 43px 0 35px;
    }
    .menuBox .menuList {
        margin-bottom: 45px;
    }
    .menuBox .menuList li {
        margin-bottom: 11px;
    }
    .menuBox .menuList li a {
        color: #fff;
        font-size: 1.6rem;
        letter-spacing: 0.04em;
    }
    .menuBox .sns {
        margin-bottom: 40px;
        display: flex;
        justify-content: center;
    }
    .menuBox .sns li {
        margin: 0 10px;
        width: 19px;
    }
    .menuBox .language {
        margin-bottom: 43px;
        display: flex;
        justify-content: center;
        color: #fff;
        font-size: 1.6rem;
        letter-spacing: 0.07em;
    }
    .menuBox .language a {
        margin: 0 5px;
        color: #fff
    }
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
    margin-top: 100px;
    position: relative;
}
#gFooter .pageTop {
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 80;
}
#gFooter .pageTop.on {
    position: absolute;
    bottom: auto;
    top: -35px;
}
#gFooter .contactBox {
    margin-bottom: 54px;
    padding: 50px 0 70px;
    background-color: #808080;
}
#gFooter .contactBox .content {
    color: #fff;
    text-align: center;
}
#gFooter .contactBox h2 {
    margin-bottom: 0;
    color: #fff;
}
#gFooter .contactBox h2 .en {
    margin-bottom: 0;
    font-size: 4.2rem;
}
#gFooter .contactBox p {
    margin-bottom: 50px;
    line-height: 2.7;
    letter-spacing: 0.05em;
}
#gFooter .contactBox .btnList {
    margin: 0 -10px;
    display: flex;
}
#gFooter .contactBox .btnList li {
    padding: 0 10px;
    width: calc(100%/3);
    box-sizing: border-box;
}
#gFooter .contactBox .btnList a {
    height: 100px;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: 0.04em;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    box-sizing: border-box;
}
#gFooter .fLogo {
    margin-bottom: 30px;
    text-align: center;
}
#gFooter .fLogo a:hover {
    opacity: 1;
}
#gFooter .fNavi {
    margin: 0 -10px 20px;
    display: flex;
    justify-content: center;
    font-family: 'EB Garamond', serif;
}
#gFooter .fNavi li {
    margin: 0 8px;
	position: relative;
    letter-spacing: 0.08em;
    font-weight: 500;
}
#gFooter .fNavi li:after {
	position: absolute;
	left: -8px;
	top: 4px;
	width: 1px;
	height: 14px;
	background-color: #000;
	content: "";
}
#gFooter .fNavi li:first-child:after {
	display: none;
}
#gFooter .fNavi li a {
    padding-bottom: 3px;
    display: inline-block;
    position: relative;
}
#gFooter .fNavi li a:after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: transparent;
    content: "";
}
#gFooter .fNavi .liStyle a {
    margin-right: 15px;
}
#gFooter .sns {
    margin-bottom: 45px;
    display: flex;
    justify-content: center;
}
#gFooter .sns li {
    margin: 0 7px;
    width: 24px;
}
#gFooter address {
    padding: 25px 0;
    color: #fff;
    font-size: 1.4rem;
    font-style: normal;
    letter-spacing: 0.06em;
    text-align: center;
    background-color: #000;
}
@media all and (min-width: 897px) {
    #gFooter .fNavi li a:hover {
        opacity: 1;
    }
    #gFooter .fNavi li a:hover:after {
        background-color: #000;
    }
}
@media all and (max-width: 896px) {
    #gFooter {
        margin-top: 50px;
        padding-bottom: 50px;
    }
    #gFooter .pageTop {
        right: 8px;
        width: 25px;
        bottom: 90px;
    }
    #gFooter .pageTop.on {
        top: -24px;
    }
    #gFooter .contactBox {
        margin-bottom: 27px;
        padding: 16px 12px 25px;
    }
    #gFooter .contactBox h2 {
        margin-bottom: 11px;
    }
    #gFooter .contactBox h2 .en {
        font-size: 2.2rem;
    }
    #gFooter .contactBox p {
        margin-bottom: 40px;
        line-height: 1.6;
    }
    #gFooter .contactBox .btnList {
        margin-top: -13px;
        display: block;
    }
    #gFooter .contactBox .btnList li {
        margin-top: 13px;
        width: auto;
        padding: 0;
    }
    #gFooter .contactBox .btnList a {
        height: 60px;
        font-size: 1.4rem;
    }
    #gFooter .fLogo {
        margin-bottom: 20px;
    }
    #gFooter .fLogo img {
        width: 98px;
    }
    #gFooter .fNavi {
        display: none;
    }
    #gFooter .follow {
        margin-bottom: 15px;
        font-size: 0.9rem;
        text-align: center;
        letter-spacing: 0.1em;
    }
    #gFooter .sns {
        margin-bottom: 15px;
    }
    #gFooter .sns li {
        margin: 0 7px;
        width: 15px;
    }
    #gFooter address {
        padding: 0;
        color: #000;
        font-size: 1rem;
        background: none;
    }
}
@media all and (max-width: 359px) {
    #gFooter .contactBox .btnList a {
        font-size: 1.3rem;
    }
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.fadeInUp {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1s ease-in-out;
}
.fadeInUp.visible {
    opacity: 1;
    transform: translateY(0);
}
.fadeInDown {
    opacity: 0;
    transform: translateY(-30px);
    transition: all 1s ease-in-out;
}
.fadeInDown.visible {
    opacity: 1;
    transform: translateY(0);
}
.fadeIn {
    opacity: 0;
}
.fadeIn.visible {
    opacity: 1;
    transition: all 1s ease-in-out;
}
.fadeInLeft {
    opacity: 0;
    transform: translateX(10px);
    transition: all 1s ease-in-out;
}
.fadeInLeft.visible {
    opacity: 1;
    transform: translateX(0);
}
.fadeInRight {
    opacity: 0;
    transform: translateX(-10px);
    transition: all 1s ease-in-out;
}
.fadeInRight.visible {
    opacity: 1;
    transform: translateX(0);
}
.fadeImg {
    overflow: hidden;
}
.fadeImg img {
    transform: scale3d(1.35, 1.35, 1);
    transition: all 1.6s cubic-bezier(.3, .1, .1, 1);
    transform-origin: center top;
}
.fadeImg.visible img {
    transform: none;
}
/* fixBtn */
.fixBtn {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 80;
    animation: slidein 1s ease;
}
.fixBtnContact {
    width: 270px;
    height: 100px;
    padding-left: 10px;
    color: #fff!important;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.73;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    border-radius: 60px 0 0 60px;
    box-sizing: border-box;
}
.fixBtn a span {
    padding-left: 36px;
    display: inline-block;
    background: url("img/common/icon03.png") no-repeat left center/21px auto;
}
.fixShopBtn {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: black;
    background: white;
    width: 90px;
    height: 90px;
    line-height: 1.4;
    font-size: 1.1rem;
    padding: 0;
    border-radius: 50%;
    border: 1px solid;
    margin: 0 15px 10px auto;
}
#gHeader.on ~.fixBox .fixBtn .fixShopBtn {
  display: flex;
}
.fixShopBtn span {
    padding: 0;
    margin-bottom: 5px;
}
@media all and (min-width: 897px) {
    @keyframes slidein {
        0% {
            transform: translateX(100%);
        }
        100% {
            transform: translateX(0);
        }
    }
}
.fixBox .fixBtn,
.fixBox .shopBtn {
	transition: opacity 0.5s;
}
/*.fixBox.active .fixBtn,
.fixBox.active .shopBtn {
	opacity: 0;
}*/
@media all and (max-width: 896px) {
    .fixBox {
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        display: flex;
        z-index: 80;
    }
    .fixBtn {
        width: 50%;
        position: static;
        right: auto;
        bottom: auto;
    }
    .fixBtn a {
        width: auto;
        height: 75px;
        font-size: 1.2rem;
        padding-left: 0;
        letter-spacing: 0.02em;
        border-radius: 0;
    }
    .fixBtn a span {
        padding-left: 28px;
        background-size: 15px auto;
    }
    .fixBox .shopBtn {
        width: 50%;
    }
    .fixBox .shopBtn a {
        height: 75px;
        display: flex;
        font-size: 1.25rem;
        font-weight: 500;
        letter-spacing: 0.13em;
        justify-content: center;
        align-items: center;
        background-color: #fff;
    }
    .fixBox .shopBtn a img {
        margin-right: 5px;
    }
    .fixShopBtn {
      display: none!important;
    }
}
/* content */
.content {
    margin: 0 auto;
    max-width: 960px;
}
@media all and (max-width: 896px) {
    .content {
        margin: 0 20px;
    }
}
/* headLine01 */
.headLine01 {
    margin-bottom: 55px;
    font-size: 1.5rem;
    letter-spacing: 0.07em;
    text-align: center;
}
.headLine01 .en {
    margin-bottom: 9px;
    display: block;
    font-size: 3.5rem;
    font-weight: 500;
    letter-spacing: 0.13em;
}
@media all and (max-width: 896px) {
    .headLine01 {
        margin-bottom: 25px;
        font-size: 1.5rem;
        line-height: 1.6;
    }
    .headLine01 .en {
        font-size: 2.4rem;
    }
}
/* headLine02 */
.headLine02 {
    margin-bottom: 95px;
    font-size: 5rem;
    letter-spacing: 0.15em;
    font-weight: 500;
    line-height: 1.2;
}
@media all and (max-width: 896px) {
    .headLine02 {
        margin-bottom: 60px;
        font-size: 3rem;
    }
}
@media all and (max-width: 374px) {
    .headLine02 {
        font-size: 2.8rem;
    }
}
@media all and (max-width: 359px) {
    .headLine02 {
        font-size: 2.5rem;
    }
}
/* headLine03 */
.headLine03 {
    margin-bottom: 30px;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-align: center;
}
@media all and (max-width: 896px) {
    .headLine03 {
        margin-bottom: 25px;
        font-size: 2rem;
    }
}
/* pagePath */
#pagePath {
    margin-bottom: 60px;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 0.15em;
}
#pagePath li {
    margin-right: 6px;
}
#pagePath li a {
    margin-right: 4px;
}
@media all and (max-width: 896px) {
    #pagePath {
        margin-bottom: 40px;
    }
}
/* comBtn */
.comBtn a {
    margin: 0 auto;
    display: flex;
    width: 230px;
    height: 50px;
    color: #fff;
    font-weight: bold;
    justify-content: center;
    align-items: center;
    background-color: #000;
    border-radius: 50px;
    border: 1px solid #000;
}
@media all and (max-width: 896px) {
    .comBtn a {
        width: 200px;
        height: 35px;
        margin: 15px auto 0 auto;
    }
    .business .ctaLink {
      margin: 0px auto 0 auto;
    }
    .productBtn a {
    width: 200px!important;
    height: 35px!important;
  }
}
/* comBtnList */
.comBtnList li {
	margin: 0 15px;
}
@media all and (max-width: 896px) {
	.comBtnList {
		display: block;
	}
	.comBtnList li {
		margin: 0 0 20px;
	}
	.comBtnList li:last-child {
		margin: 0;
	}
	.comBtnList a {
		width: 200px;
	}
}
/* newsList */
.newsList {
    margin-bottom: 50px;
    border-bottom: 1px dashed #000;
}
.newsList li {
    display: flex;
    position: relative;
    border-top: 1px dashed #000;
}
.newsList a {
    padding: 40px 0;
    display: block;
    flex: 1;
    background: url("img/common/arrow02.png") no-repeat right bottom 20px/17px auto;
}
.newsList .date {
    margin-top: 42px;
    width: 180px;
    line-height: 2;
    letter-spacing: 0.15em;
    font-family: 'EB Garamond', serif;
}
.newsList .date .tag {
    padding: 1px 5px;
    margin-left: 30px;
    line-height: 1.2;
    display: inline-block;
    border: 1px solid #000;
}
.newsList .txt {
    line-height: 2.1;
    letter-spacing: 0.06em;
}
.newsList .txt span {
    display: block;
    font-weight: 900;
}
@media all and (max-width: 896px) {
    .newsList {
        margin-bottom: 24px;
    }
    .newsList li {
        padding-top: 15px;
        display: block;
    }
    .newsList a {
        padding: 0 25px 15px 0;
        background-size: 11px auto;
    }
    .newsList .date {
        margin-top: 0;
        width: auto;
        line-height: 2.17;
    }
    .newsList .date .tag {
        margin-left: 18px;
    }
    .newsList .txt {
        line-height: 2.17;
    }
}
/* comListBox */
.comListBox {
    position: relative;
}
.comListBox .prev, .comListBox .next {
    position: absolute;
    top: 114px;
    left: -68px;
    width: 17px;
    cursor: pointer;
    z-index: 10;
}
.comListBox .next {
    left: auto;
    right: -68px;
}
.comListBox .slideList {
    margin: 0px -12px 0 0;
    display: flex;
    flex-wrap: wrap;
}
.comListBox .slideList li {
    margin: 30px 12px 0 0;
    width: 231px;
}
.comListBox .slideList li a {
    display: block;
}
.comListBox .slideList li p {
    margin-bottom: 0 !important;
    font-size: 1.2rem;
    line-height: 1.5 !important;
    font-weight: bold;
    text-align: center;
}
.comListBox .slideList li .ttl {
    margin: 15px 0 4px !important;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
}
@media all and (min-width: 897px) {
    .comListBox .prev:hover, .comListBox .next:hover {
        opacity: 0.7;
    }
}
@media all and (max-width: 896px) {
    .comListBox {
        padding: 0;
    }
    .comListBox .prev, .comListBox .next {
        left: -8px;
        width: 11px;
        top: 50%;
        margin-top: -28px;
    }
    .comListBox .next {
        left: auto;
        right: -8px;
    }
    .comListBox .slideList {
        margin-right: -8px;
    }
    .comListBox .slideList li {
        margin: 20px 8px 0 0;
        width: calc((100% - 16px)/2);
    }
    .comListBox .slideList li p {
        font-size: 0.8rem;
    }
    .comListBox .slideList li .ttl {
        margin: 12px 0 2px !important;
        font-size: 1.3rem;
    }
	.comListBox .slideList li img {
		width: 100%;
	}
}
/* comTable */
.comTable {
    width: 100%;
    border-collapse: collapse;
    border-bottom: 1px dashed #000;
}
.comTable th, .comTable td {
    padding: 21px 0;
    font-size: 1.6rem;
    letter-spacing: 0.03em;
    text-align: left;
    vertical-align: top;
    border-top: 1px dashed #000;
}
.comTable th {
    width: 18.2%;
}
@media all and (max-width: 896px) {
    .comTable th, .comTable td {
        padding: 15px 0;
        font-size: 1.4rem;
    }
    .comTable th {
        width: 28%;
    }
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#index #container {
    padding-top: 0;
}
#index .topVisual {
    margin-bottom: 90px;
    overflow: hidden;
	background: #fff;
}
#index .topVisual li img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
#index .conceptBox {
    margin-bottom: 84px;
    overflow: hidden;
}
#index .conceptBox h2 {
    margin-bottom: 45px;
    font-size: 2.5rem;
    line-height: 1.3;
    letter-spacing: 0.05em;
}
#index .conceptBox .imgBox {
    margin-bottom: 0;
    align-items: flex-start;
}
#index .conceptBox .imgBox .photoBox {
    margin-top: 14px;
}
#index .conceptBox .imgBox .txtBox {
    margin-top: 0;
    width: 450px;
    min-height: 608px;
}
#index .conceptBox .imgBox .txtBox p {
    letter-spacing: 0.02em;
}
#index .conceptBox .imgBox .txtBox p .note {
    margin: 8px 0 0;
    display: block;
    font-size: 1.1rem;
}
#index .txtBox h3 {
    margin-bottom: 28px;
    font-size: 2.5rem;
    letter-spacing: 0.1em;
}
#index .txtBox small {
    font-size: 1.4rem;
}
#index .txtBox .en {
    margin-right: 10px;
    font-weight: 500;
}
#index .txtBox p {
    letter-spacing: 0.05em;
    line-height: 2.7;
    text-align: justify;
}
#index .txtBox p a {
    text-decoration: underline;
}
#index .notes {
    font-size: 1rem;
    display: block;
}
#index .imgBox {
    margin-bottom: 45px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#index .imgBox .photoBox {
    width: 450px;
}
#index .imgBox .txtBox {
    margin-top: 13px;
    width: 445px;
    min-height: 560px;
    position: relative;
}
#index .internationalBox .imgBox {
	flex-direction: row-reverse;
}
#index .imgBox .txtBox p {
    letter-spacing: -0.04em;
}
#index .imgBox .txtBox .prev, #index .imgBox .txtBox .next {
    position: absolute;
    bottom: 30px;
    left: 0;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: 0.14em;
    cursor: pointer;
}
#index .imgBox .txtBox .prev span, #index .imgBox .txtBox .next span {
    padding: 0 0 1px 14px;
    display: inline-block;
    background: url("img/common/prev.png") no-repeat left bottom/51px auto;
}
#index .imgBox .txtBox .next {
    left: auto;
    right: -20px;
}
#index .imgBox .txtBox .next span {
    padding: 0 14px 1px 0;
    background-image: url("img/common/next.png");
}
#index .sliderBox {
    position: relative;
}
#index .sliderBox .slick-dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 32px;
    display: flex;
    justify-content: center;
    width: calc(100% - 110px);
}
#index .sliderBox .slick-dots li {
    margin: 0 6px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    cursor: pointer;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #000;
}
#index .sliderBox .slick-dots li button {
    display: none;
}
#index .sliderBox .slick-dots li.slick-active {
    background-color: #000;
}
#index .imgBox .txtBox .slick-disabled {
    display: none !important;
}
#index .imgBox .txtBox .list {
    margin-bottom: 13px;
}
#index .imgBox .txtBox .list li {
    display: flex;
    position: relative;
    line-height: 2.15;
}
#index .imgBox .txtBox .list li:after {
    position: absolute;
    left: 95px;
    top: 0;
    width: 1px;
    height: 100%;
    background-color: #000;
    content: "";
}
#index .imgBox .txtBox .list .left {
    width: 74px;
    text-align: right;
    margin-right: 45px;
}
#index .imgBox .txtBox .list .right {
    flex: 1;
}
#index .imgBox .txtBox .notes {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-left: 17px;
    letter-spacing: 0;
}
#index .imgBox .txtBox .subBox .ttl {
    font-weight: 900;
    margin-bottom: 10px;
}
#index .imgBox .txtBox .subBox p {
    margin-bottom: 15px;
}
#index .imgBox .txtBox .subBox p:last-child {
    margin-bottom: 0 !important;
}
#index .imgBox .txtBox .subBox .logo {
    margin-top: 35px;
}
#index .imgBox .txtBox .subBox .logo img {
    margin: 0 auto;
}
#index .productBox {
    margin-bottom: 84px;
}
#index .productBox .imgBox {
    align-items: flex-start;
}
#index .classBox {
    margin-bottom: 84px;
}
#index .classBox .imgBox .txtBox {
    margin-top: 0;
    min-height: inherit;
}
#index .giftingBox {
    margin-bottom: 80px;
}
#index .giftingBox .imgBox {
    align-items: flex-start;
}
#index .giftingBox .imgBox .txtBox {
    min-height: 460px;
}
#index .internationalBox .imgBox .txtBox {
	padding-bottom: 50px;
	min-height: 560px;
}
#index .rjBox {
    margin-bottom: 81px;
    position: relative;
}
#index .rjBox .headLine01 {
    margin-bottom: 46px;
}
#index .rjBox .photo {
    margin-bottom: 38px;
}
#index .rjBox p {
    margin-bottom: 42px;
    line-height: 2.7;
}
#index .insBox {
    margin-bottom: 85px;
}
#index .insBox .headLine01 {
    margin-bottom: 0;
}
#index .insBox .headLine01 .en {
    margin-bottom: 2px;
}
#index .insBox .midTxt {
    margin-bottom: 40px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 2.3;
    text-align: center;
}
#index .insBox .midTxt a {
    text-decoration: underline;
}
#index .insBox #ins iframe {
    width: 100% !important;
    height: 320px !important;
}
#index .insBox #instafeed {
    margin: -10px -5px 0;
    display: flex;
    flex-wrap: wrap;
}
#index .insBox #instafeed li {
    width: calc(100%/6);
    height: 160px;
    list-style: none;
    box-sizing: border-box;
    padding: 10px 5px 0;
}
#index .insBox #instafeed a {
    display: block;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#index .bookBox {
    margin-bottom: 85px;
}
#index .bookBox .imgBox {
	flex-direction: row-reverse;
}
#index .bookBox .imgBox .txtBox {
    min-height: inherit;
}
#index .aboutBox {
    margin-bottom: 85px;
}
#index .productBox .subBox02 {
    background: url("img/index/logo.png") no-repeat center/170px auto;
}
#index .newsBox h2 {
    margin-bottom: 35px;
}
#index .newsBox .comBtn a {
    letter-spacing: 0.1em;
}
@media all and (min-width: 897px) {
    #index .txtBox p a:hover {
        opacity: 1;
        text-decoration: none;
    }
    #index .imgBox .txtBox .prev:hover, #index .imgBox .txtBox .next:hover {
        opacity: 0.7;
    }
    #index .sliderBox .slick-dots li button:hover {
        color: #fff;
        background-color: #000;
    }
    #index .insBox .midTxt a:hover {
        opacity: 1;
        text-decoration: none;
    }
}
@media all and (max-width: 896px) {
    #index .topVisual {
        margin-bottom: 58px;
    }
    #index .conceptBox {
        margin-bottom: 55px;
    }
    #index .conceptBox h2 {
		margin-bottom: 25px;
        font-size: 1.6rem;
        letter-spacing: 0.04em;
    }
    #index .conceptBox h2 .en {
        margin-bottom: 10px;
    }
	#index .conceptBox .imgBox .photoBox {
		margin-top: 0;
	}
    #index .conceptBox .imgBox .txtBox {
		margin-top: 40px;
		width: 100%;
    }
    #index .conceptBox .imgBox .txtBox p {
        line-height: 1.9;
    }
    #index .conceptBox .imgBox .txtBox p .fadeImg {
        width: 100%;
        display: block;
        margin: 13px 0 17px;
    }
	#index .conceptBox .imgBox .txtBox p .fadeImg img {
		width: 100%;
	}
    #index .conceptBox .imgBox .txtBox p .note {
        font-size: 1.4rem;
        margin-top: 0;
        line-height: 1.8;
    }
    #index .txtBox h3 {
        margin-bottom: 9px;
        font-size: 1.8rem;
        text-align: left;
    }
    #index .txtBox small {
        font-size: 0.9rem;
    }
    #index .txtBox .en {
        margin-right: 4px;
        letter-spacing: 0.15em;
    }
    #index .txtBox p {
        line-height: 1.9;
    }
    #index .txtBox p a {
        text-decoration: underline;
    }
    #index .notes {
        font-size: 1rem;
    }
    #index .imgBox {
        margin-bottom: 10px;
        flex-wrap: wrap;
    }
    #index .imgBox .photoBox {
        width: 100%;
        order: 0;
    }
	#index .imgBox .photoBox img {
		width: 100%;
	}
    #index .imgBox .txtBox {
        margin-top: 40px;
        padding: 12px 0 0;
        width: 100%;
        order: 2;
        min-height: inherit !important;
        box-sizing: border-box;
    }
    #index .internationalBox .imgBox .txtBox {
		padding-bottom: 0;
	}
    #index .imgBox .txtBox .prev, #index .imgBox .txtBox .next {
        bottom: auto;
        top: -17px;
        font-size: 1rem;
    }
    #index .imgBox .txtBox .prev span, #index .imgBox .txtBox .next span {
        padding-left: 10px;
        background-size: 40px auto;
    }
    #index .imgBox .txtBox .next {
        left: auto;
        right: -5px;
    }
    #index .imgBox .txtBox .next span {
        padding: 0 8px 0 0;
        background-image: url("img/common/next.png");
    }
    #index .imgBox .txtBox .notes {
        font-size: 1rem;
    }
    #index .imgBox .txtBox .subBox p {
        margin-bottom: 10px;
    }
    #index .imgBox .txtBox .subBox .ttl {
        margin-bottom: 5px;
    }
    #index .sliderBox {
        position: relative;
    }
    #index .sliderBox .slick-dots {
        display: none !important;
    }
    #index .sliderBox .slick-dots li {
        margin: 32px 0;
        height: 17px;
        font-size: 0.8rem;
    }
    #index .sliderBox .slick-dots li button {
        font-size: 0.8rem;
    }
    #index .sliderBox .slick-dots li:after {
        height: 32px;
    }
    #index .sliderBox .slick-dots li.active:before {
        height: 32px;
    }
    #index .sliderBox .slick-dots li.on:before {
        height: 32px;
    }
    #index .imgBox .txtBox .list .left {
        margin-right: 40px;
    }
    #index .imgBox .txtBox .subBox .logo {
        margin-top: 20px;
    }
    #index .productBox {
        margin-bottom: 35px;
    }
    #index .classBox {
        margin-bottom: 35px;
    }
    #index .giftingBox {
        margin-bottom: 35px;
    }
	#index .giftingBox:not(.internationalBox) .imgBox .txtBox p {
		line-height: 1.9;
	}
    #index .rjBox {
        margin-bottom: 36px;
    }
    #index .rjBox:after {
        top: 630px;
        width: 90vw;
        height: 90vw;
    }
    #index .rjBox .headLine01 {
        margin-bottom: 20px;
    }
    #index .rjBox .photo {
        margin-bottom: 20px;
    }
	#index .rjBox .photo img {
		width: 100%;
	}
    #index .rjBox p {
        margin-bottom: 20px;
    }
    #index .insBox {
        margin-bottom: 38px;
    }
    #index .insBox .headLine01 {
        margin-bottom: 12px;
    }
    #index .insBox .headLine01 .en {
        margin-bottom: 0;
    }
    #index .insBox .midTxt {
        margin-bottom: 20px;
        font-size: 1.3rem;
        font-weight: normal;
        line-height: 2.7;
        text-align: left;
    }
    #index .insBox #ins {
        margin: 0 13px;
        position: relative;
        padding-bottom: 61%;
    }
    #index .insBox #ins iframe {
        position: absolute;
        left: 0;
        top: 0;
        width: 100% !important;
        height: 100% !important;
    }
    #index .insBox #instafeed {
        margin: -6px 10px 0;
    }
    #index .insBox #instafeed li {
        width: calc(100%/3);
        height: 28vw;
        padding: 6px 3px 0;
    }
    #index .insBox #instafeed li:nth-child(n+7) {
        display: none;
    }
    #index .bookBox {
        margin-bottom: 40px;
    }
    #index .bookBox .imgBox {
        margin-bottom: 20px;
    }
    #index .bookBox .imgBox .txtBox {
        padding-right: 0;
    }
    #index .aboutBox {
        margin-bottom: 47px;
    }
    #index .newsBox h2 {
        margin-bottom: 15px;
    }
    #index .newsBox .comBtn a {
        letter-spacing: 0.1em;
    }
}
/*------------------------------------------------------------
	company
------------------------------------------------------------*/
.company #pagePath {
    margin-bottom: 50px;
}
.company .inner {
    margin-bottom: 77px;
}
.company .inner p {
    line-height: 2.7;
    letter-spacing: 0.05em;
}
.company .inner p span {
    margin-top: 4px;
    display: block;
    text-align: right;
}
.company .infoBox .headLine03 {
    margin-bottom: 53px;
}
.company .companyTab .txtDl dt {
	float: left;
}
.company .companyTab .txtDl dd {
	padding: 0 0 15px 6.5em
}
.company .companyTab .txtDl dd:last-child {
	padding-bottom: 0;
}
.company .inner .infoInner {
	padding-top: 5px;
	float: right;
	width: 430px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-end;
}
.company .inner .infoInner .pho {
	width: 243px;
}
.company .inner .infoInner .textBox {
	width: 170px;
}
.company .inner .infoInner p {
	margin-bottom: -13px;
	text-align: right;
}
@media all and (max-width: 896px) {
    .company #pagePath {
        margin-bottom: 30px;
    }
    .company .inner {
        margin-bottom: 50px;
    }
    .company .inner p {
        line-height: 2.2;
    }
    .company .infoBox .headLine03 {
        margin-bottom: 35px;
    }
	.company .companyTab tr {
		display: table;
		width: 100%;
	}
	.company .companyTab th,
	.company .companyTab td {
		display: table-cell;
		vertical-align: top;
	}
	.company .companyTab .lastTr {
		display: block;
	}
	.company .companyTab .lastTr th,
	.company .companyTab .lastTr td {
		display: block;
		width: 100%;
	}
	.company .companyTab .lastTr td {
		border-top: none;
		padding-top: 0;
	}
	.company .inner .infoInner {
		padding-top: 15px;
		display: block;
		float: none;
		width: auto;
		text-align: center;
	}
	.company .inner .infoInner .pho {
		margin-bottom: 2px;
		width: auto;
		text-align: center;
	}
	.company .inner .infoInner .pho img {
		width: 36%;
	}
	.company .inner .infoInner .textBox {
		width: auto;
	}
	.company .inner .infoInner p {
		margin-bottom: 0;
		text-align: center;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
.contact #pagePath {
    margin-bottom: 47px;
}
.contact p {
    margin-bottom: 40px;
    line-height: 2.7;
    letter-spacing: 0.03em;
}
.contact p a {
    text-decoration: underline;
}
.contact .must {
    margin-right: 4px;
    padding: 2px 11px 3px;
    font-size: 1.4rem;
    display: inline-block;
    color: #fff;
    line-height: 1.2;
    background-color: #000;
}
.contact .comTable {
    margin-bottom: 20px;
    border-bottom-color: #D9D9D9;
}
.contact .comTable th, .contact .comTable td {
    border-top-color: #D9D9D9;
}
.contact .comTable th {
    padding-top: 35px;
    width: 29.5%;
}
.contact .comTable th .must {
    margin-left: 15px;
}
.contact .comTable td {
    padding: 29px 0;
    font-size: 1.4rem;
    font-weight: bold;
}
.contact .comTable .radioList li:not(:last-child) {
    margin-bottom: 13px;
}
.contact input[type="radio"], .contact input[type="checkbox"] {
    display: none;
}
.contact input[type="radio"] + span, .contact input[type="checkbox"] + span {
    padding-left: 20px;
    display: inline-block;
    cursor: pointer;
    background: url("img/common/radio_bg.png") no-repeat left 5px/13px auto;
}
.contact input[type="radio"]:checked + span {
    background-image: url("img/common/radio_on_bg.png");
}
.contact input[type="text"], .contact input[type="email"], .contact input[type="tel"], .contact textarea {
    width: 100%;
    height: 41px;
    padding: 10px;
    max-width: 602px;
    font-size: 1.4rem;
    box-sizing: border-box;
    border: 1px solid #D9D9D9;
    border-radius: 0;
    appearance: none;
    -webkit-appearance: none;
}
.contact .comTable td .notes {
    margin: 15px 0 0;
    line-height: 1.7;
    letter-spacing: 0;
}
.contact textarea {
    height: 163px;
}
.contact .txt a {
    text-decoration: underline;
}
.contact .agree {
    font-size: 1.8rem;
    line-height: 1.5;
}
.contact .agree input[type="checkbox"] + span {
    padding-left: 30px;
    background-image: url("img/common/check_bg.png");
    background-size: 20px auto;
    background-position: left 5px;
}
.contact .agree input[type="checkbox"]:checked + span {
    background-image: url("img/common/check_on_bg.png");
}
.contact .sample {
    font-size: 1.8rem;
    line-height: 1.5;
}
.contact .sample span {
    font-size: 120%!important;
}
.contact .sample input[type="checkbox"] + span {
    padding-left: 30px;
    background-image: url("img/common/check_bg.png");
    background-size: 20px auto;
    background-position: left 4px;
}
.contact .sample input[type="checkbox"]:checked + span {
    background-image: url("img/common/check_on_bg.png");
}
.contact .tpcheck {
    font-size: 1.4rem;
    line-height: 1.5;
    margin-top: 15px;
}
.contact .tpcheck span {
    font-size: 120%!important;
}
.contact .tpcheck input[type="checkbox"] + span {
    padding-left: 30px;
    background-image: url("img/common/check_bg.png");
    background-size: 20px auto;
    background-position: left 4px;
}
.contact .tpcheck input[type="checkbox"]:checked + span {
    background-image: url("img/common/check_on_bg.png");
}
.contact .submit {
    display: flex;
    justify-content: center;
}
.contact .submit li {
    margin: 0 30px;
}
.contact .submit input {
    width: 292px;
    height: 65px;
    color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2rem;
    background: #fff;
    border: 1px solid #000;
    border-radius: 50px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}
.contact.confirm .txt01 {
    margin-bottom: 185px;
}
.contact.confirm .comTable {
    margin-bottom: 58px;
}
.contact.confirm .comTable th {
    padding-top: 29px;
}
.contact .comBtn a {
    width: 292px;
    height: 65px;
    color: #000;
    background: #fff;
    border: 1px solid #000;
}
.contact .errorMsg {
    margin-bottom: 35px;
    color: #DC2427;
}
@media all and (min-width: 897px) {
    .contact .submit input:hover {
        opacity: 0.7;
    }
    .contact p a:hover {
        opacity: 1;
        text-decoration: none;
    }
    .contact .comTable .thStyle {
        padding-top: 25px;
    }
}
@media all and (max-width: 896px) {
    .contact #pagePath {
        margin-bottom: 30px;
    }
    .contact p {
        margin-bottom: 30px;
        line-height: 2.2;
    }
    .contact .must {
        padding: 2px 8px 3px;
        font-size: 1.2rem;
    }
    .contact .comTable {
        margin-bottom: 20px;
    }
    .contact .comTable th, .contact .comTable td {
        float: left;
        width: 100% !important;
    }
    .contact .comTable th {
        padding: 20px 0 0 !important;
    }
    .contact .comTable td {
        padding: 18px 0 20px;
        font-size: 1.4rem;
        border-top: none;
    }
    .contact .comTable .radioList li:not(:last-child) {
        margin-bottom: 10px;
    }
    .contact .comTable td .notes {
        margin-top: 10px;
        font-size: 1.2rem;
    }
    .contact input[type="radio"] + span {
        background-position: left 4px;
    }
    .contact .agree {
        font-size: 1.6rem;
    }
    .contact .agree input[type="checkbox"] + span {
        background-position: left 3px;
    }
    .contact .sample {
        font-size: 1.6rem;
    }
    .contact .sample input[type="checkbox"] + span {
        background-position: left 3px;
    }
    .contact .sample span {
        font-size: 105%!important;
    }
    .contact .tpcheck {
        font-size: 1.4rem;
    }
    .contact .tpcheck input[type="checkbox"] + span {
        background-position: left 3px;
    }
    .contact .tpcheck span {
        font-size: 105%!important;
    }
    .contact .submit {
        display: block;
    }
    .contact .submit li {
        margin: 20px auto 0;
        max-width: 292px;
    }
    .contact .submit input {
        height: 54px;
        font-size: 1.8rem;
    }
    .contact.confirm .txt01 {
        margin-bottom: 80px;
    }
    .contact.confirm .comTable {
        margin-bottom: 35px;
    }
    .contact .errorMsg {
        margin-bottom: 20px;
    }
}
/*------------------------------------------------------------
	rj
------------------------------------------------------------*/
.rj #pagePath {
    margin-bottom: 45px;
}
.rj p {
    margin-bottom: 67px;
    line-height: 2.7;
}
.rj h3 {
    text-align: center;
}
.rj h3 .large {
    margin-right: 40px;
    font-size: 3.6rem;
}
.rj .photo {
    margin-bottom: 47px;
}
.rj h4 {
    margin-bottom: 15px;
    font-size: 1.8rem;
    letter-spacing: 0.06em;
}
.rj .subInner {
    margin-bottom: 50px;
}
.rj .subInner p {
    margin-bottom: 30px;
}
.rj .photoList {
    display: flex;
    justify-content: space-between;
}
.rj .photoList li {
    width: 47.3%;
}
.rj .infoBox {
    text-align: center;
}
.rj .infoBox h3 {
    font-size: 2.1rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-align: center;
}
.rj .infoBox p {
    line-height: 1.7;
    letter-spacing: 0.15em;
    margin-bottom: 0;
}
.rj .infoBox p img {
    margin-right: 10px;
    vertical-align: middle;
}
@media all and (max-width: 896px) {
    .rj #pagePath {
        margin-bottom: 30px;
    }
    .rj h2 {
        margin-right: 0px;
    }
    .rj p {
        margin-bottom: 35px;
        line-height: 2.2;
    }
    .rj h3 {

    }
    .rj h3 .large {
        margin-right: 0;
        font-size: 2.6rem;
        display: block;
    }
    .rj .photo {
        margin-bottom: 30px;
    }
	.rj .photo img {
		width: 100%;
	}
    .rj h4 {
        font-size: 1.6rem;
    }
    .rj .subInner {
        margin-bottom: 40px;
    }
    .rj .subInner p {
        margin-bottom: 25px;
    }
    .rj .photoList {
        margin-top: 0;
        display: block;
    }
    .rj .photoList li {
        margin-top: 20px;
        width: auto;
    }
	.rj .photoList li img {
		width: 100%;
	}
    .rj .infoBox {
        margin-bottom: 0px;
    }
    .rj .infoBox h3 {
        font-size: 1.8rem;
    }
    .rj .infoBox p img {
        margin-right: 5px;
    }
}
/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
.privacy #pagePath {
    margin-bottom: 45px;
}
.privacy p {
    margin-bottom: 45px;
    line-height: 2.7;
}
.privacy .inner h3 {
    margin-bottom: 8px;
    font-size: 1.5rem;
}
.privacy .infoBox h3 {
    margin-bottom: 8px;
}
.privacy .infoBox p {
    font-size: 1.5rem;
    line-height: 2.5;
}
@media all and (max-width: 896px) {
    .privacy #pagePath {
        margin-bottom: 30px;
    }
    .privacy p {
        margin-bottom: 30px;
        line-height: 2.2;
    }
    .privacy .infoBox p {
        line-height: 2;
    }
}
/*------------------------------------------------------------
	business
------------------------------------------------------------*/
.txCenter {
  text-align: center!important;
}
.inlineb {
  display: inline-block;
}
.jph2 {
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.13em;
  margin-bottom: 45px!important;
}
.font-en {
  font-family: 'EB Garamond', serif!important;
}
.txBtm {
  margin-bottom: 1.8rem;
}
.business .shopBtn {
  display: none;
}
.business p, .business h2 {
  letter-spacing: -0.04em;
  line-height: 2.7;
}
.business .businessTopBg {
  overflow: hidden;
	background: #fff;
  height: 100vh;
  position: relative;
}
.business .businessTopBgimg {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.business_header img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(2%) saturate(8%) hue-rotate(37deg) brightness(105%) contrast(102%);
}
.business_header a {
  color: white;
}
.business_header .topRBox .shopBtn a {
  border-color: white;
}
.business .menu span {
  background-color: white;
  transition: all .3s ease;
}
.businessTopBg h1 {
  color: white;
  position: absolute;
  top: 50%;
  left: 20%;
  transform: translateY(-50%);
  text-align: center;
  letter-spacing:10px;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.8;
  padding-left: 10px;
}
.business_header #gNavi li:after {
  background-color: white;
}
.sectionPdg {
  position: relative;
  padding: 85px 0px;
}
.sectionBg {
  position: absolute;
  top: 20%;
  width: 100vw;
  right: 0;
  left: 0;
}
.business-intro {
  position: relative;
}
.business .content {
  position: relative;
  width: 960px;
  max-width: calc(100% - 30px);
  margin: 0 auto;
}
.ctaBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 30px auto 0 auto;
}
.ctaArrow {
  position: relative;
  display: inline-block;
  width: 32.4px;
  height: 11.7px;
  margin: 10px auto 20px auto;
}
.ctaArrow::before,
.ctaArrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 0.5px);
  width: 1px;
  height: 15px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: 50% calc(100% - 0.5px);
}
.ctaArrow::before {
  transform: rotate(57.5deg);
}
.ctaArrow::after {
  transform: rotate(-57.5deg);
}
.ctaLink {
  max-width: 100%!important;
  width: 310px!important;
  padding-bottom: 3px;
}
.messageBox {
  padding-top: 120px;
}
.moreLinkText {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
  display: block;
  width: fit-content;
  margin: 3rem auto;
  padding-right: 20px;
}
/*ホバーしたときに下線矢印も同時に色を変える*/
.moreLinkText:hover .lineArrow  {
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
}
.moreLinkText:hover {
    color: #7f8080;
}
.lineArrow {
  width: 100%;
  height: 10px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
   /*傾きを調節*/
  transform: skew(45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  margin: 0px 0 0 -5px;
  display: block;
  padding: 0px 12px 0 12px;
}
.messangerBox {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 15px;
}
.messangerBox p {
  font-size: 85%;
}
.messangerImgbox {
  width: 130px;
}
.meritBox {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  height: 550px;
}
.meritBoxBlack {
  background: black;
  color: white;
}
.meritBoxWhite {
  background: white;
  color: black;
}
.meritImgbox {
  width: 50%;
  display: flex;
  justify-content: center;
  position: relative;
}
.meritImg {
  object-fit: cover;
  height: 100%;
  width: auto;
  overflow: hidden;
  max-width: 100vw;
}
.meritTxbox {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 30px;
}
.meritBoxWhite .meritTxbox {
  align-items: flex-end;
}
.meritTxWapper {
  width: 80%;
}
.meritFilterWhite {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 30%;
  background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
.meritFilterBlack {
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
}
.businessH3 {
  font-size: 2rem;
  letter-spacing: 0.07em;
  width: 100%;
  text-align: left;
  margin-bottom: 25px;
  padding-bottom: 25px;
  border-bottom: 0.5px solid;
  font-weight: 500;
}
.recipeBox {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 95%;
  max-width: 1100px;
  margin: 0 auto;
  gap:40px;
}
.recipeTxbox {
  width: 45%;
}
.recipeImgbox {
  width: 22%;
}
.recipeInfobox {
  width: 33%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-bottom: 10%;
}
.recipeTable {
  border-spacing: 0;
}
.recipeTable td:first-child {
  border-right: 1px solid #ccc;
  text-align: right;
  padding: 5px 15px 5px 0;
}
.recipeTable td:last-child {
  padding:5px 0px 5px 10px;
}
.recipeNote {
  margin-top: 10px;
}
.recipeNote p {
  line-height: 1.4;
}
.business-merit, #business-quality, #business-wineglass {
  padding-bottom: 0!important;
}
#business-quality .content {
  text-align: center;
}
.qualityImg {
  margin-top: -15%;
  width: 100%;
}
#business-wineglass {
  background: black;
  color: white;
}
#business-wineglass h3 {
  font-size: 2rem;
  letter-spacing: 0.07em;
  text-align: left;
  font-weight: 500;
}
.glassNumber {
  border: 0.5px solid;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.glassContainer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  gap: 40px;
}
.glassBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.glassTitlebox {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}
.glassImg {
  max-width: 100%;
  width: 900px;
  margin: -10px auto 30px auto;
}
.glassImgSp {
  display: none;
}
#business-cta .ctaBox {
  margin: -10px auto 0px auto;
}
#business-steps {
  display: flex;
  padding: 0;
  justify-content: center;
align-items: stretch;
}
.stepBgbox {
  position: relative;
  width: 50%;
  top: 0;
  left: 0;
  bottom: 0;
}
.stepImg {
  height: -webkit-fill-available;
  object-fit: cover;
  object-position: right;
}
.stepFilter {
  width: 30%;
  height: 100%;
  position: absolute;
  top: 0;
  right: -5px;
  background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.7497592787114846) 50%, rgba(255,255,255,1) 100%);
}
.stepContent {
  width: 50%;
  padding: 60px 30px;
}
.stepBox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.stepNumber {
  width: 70px;
  border: 0.5px solid;
  line-height: 1!important;
  padding: 5px 10px 7px 10px;
}
#business-steps .ctaArrow {
  margin: 25px auto;
}
.stepTx {
  line-height: 2!important;
  margin: 5px 0;
}
.stepNote {
  margin: 20px auto 0 auto;
  width: 70%;
  text-align: left;
}
.stepNote p {
  line-height: 1.4;
  font-size: 85%;
}
.stepImgSp {
  display: none;
}
#business-voice h2 {
  margin-bottom: 20px!important;
}
.voiceContent {
  margin-top: 45px;
}
.voiceTable {
  margin:0 auto;
  max-width: 95%;
  width: 1100px;
}
.voiceContentSp {
  display: none;
}
.voiceTr {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  width: 100%;
}
.voiceTd {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 15px;
  padding: 30px 20px;
  border-top: 0.5px dashed;
  width: 50%;
}
.voiceUdline  {
  border-bottom: 0.5px dashed;
}
.voicePersonBox {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 15px;
  width: 100%;
  margin: auto 0 0 0;
}
.voiceTx {
  margin: auto;
}
.voicePersonBox p {
  line-height: 1.6;
  font-size: 80%;
  text-align: left;
}
.voiceImg {
  width: 85px;
  border-radius: 50%;
  height: 85px;
  object-fit: cover;
}
.linkBtn {
  background: white;
  border: 0.5px solid black;
  color: black;
  margin: 20px auto 0 auto;
  font-weight: 600;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  width: 280px;
}
.linkBtn:hover {
  opacity: 0.7;
}
.iconIg {
  width: 27px;
  margin-left: 5px;
}
.linkContainer {
  display: flex;
  justify-content: center;
  align-items: stretch;
  background: #FAFAFA;
  max-width: 95%;
  /*width: 1100px;*/
  width: 550px;
  margin: 80px auto 0 auto;
  padding: 40px 0px 50px 0;
}
.business-linkBox {
  /*width: 50%;*/
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.linkContainer hr {
  margin: 0;
  border: 0;
  border-right: 0.5px dashed;
}
.faqType {
  text-align: center;
  margin-bottom: 30px;
}
.faqTitle {
  font-weight: 600;
  transition: 0.3s;
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 25px;
  padding-left: 35px;
}
.faqTitle::before {
  content: "Q";
  width: 25px;
  height: 25px;
  border: 0.5px solid #000;
  border-radius: 50%;
  position: absolute;
  transition: 0s;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
}
.faqTitle.active {
  margin-bottom: 0;
}
.faqAnswer {
  padding: 0;
  opacity: 0;
  height: 0;
  line-height: 0;
  transition: 0s;
}

.faqAnswer.open {
  opacity: 1;
  line-height: normal;
  height: auto;
  padding: 20px 20px 35px 0px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.faqA {
  height: 25px;
  border: 0.5px solid #000;
  background: black;
  color: white;
  border-radius: 50%;
  transition: 0.3s;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25px;
}
.faqTx {
  margin: 0;
  line-height: 2!important;
  padding-left: 8px;
}
.faqLine {
  border-bottom: 0.5px dashed #000;
  height: 0px;
  background: transparent;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  margin: 25px 0 40px 0;
}
#business-instagram .insBox {
    margin-bottom: 85px;
}
#business-instagram .insBox .headLine01 {
    margin-bottom: 0;
}
#business-instagram .insBox .headLine01 .en {
    margin-bottom: 2px;
}
#business-instagram .insBox .midTxt {
    margin-bottom: 40px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 2.3;
    text-align: center;
}
#business-instagram .insBox .midTxt a {
    text-decoration: underline;
}
#business-instagram .insBox #ins iframe {
    width: 100% !important;
    height: 320px !important;
}
#business-instagram .insBox #instafeed-business {
    margin: -10px -5px 0;
    display: flex;
    flex-wrap: wrap;
}
#business-instagram .insBox #instafeed-business li {
    width: calc(100%/6);
    height: 160px;
    list-style: none;
    box-sizing: border-box;
    padding: 10px 5px 0;
}
#business-instagram .insBox #instafeed-business a {
    display: block;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
#business-instagram .insBox p{
  margin: -30px 0 45px 0;
}
#business-instagram .insBox {
  margin: -20px auto 0 auto;
}
#business-instagram h2 {
  letter-spacing: 3px;
}


@media all and (min-width: 897px) {
    #business-instagram .insBox a:hover {
        opacity: 1;
        text-decoration: none;
    }
}

@media all and (max-width: 896px) {
  .business .fixBtn {
    width: 100%;
  }
  .business .fixBtn br {
    display: none;
  }
  .business p, .business h2 {
    letter-spacing: 0.02em;
    line-height: 1.8;
  }
  .jph2 {
    font-size: 2rem;
    margin-bottom: 30px!important;
  }
  .sectionPdg {
    position: relative;
    padding: 60px 0px;
  }
  .sectionBg {
    top: 23%;
  }
  .businessTopBgimg {
    object-position: 80%;
  }
  .businessTopBg h1 {
    top: 0;
    bottom: auto;
    transform: translateY(0%) translateX(-50%);
    left: 50%;
    padding-top: 125px;
    width: 100%;
    font-size: 2rem;
  }
  .ctaLink {
    width: 280px !important;
  }
  .messageBox {
    padding-top: 80px;
  }
  .lineArrow {
    border-bottom: 0.5px solid #000;
    border-right: 0.5px solid #000;
  }
  .moreLinkText:hover .lineArrow  {
      border-bottom: 0.5px solid #999;
      border-right: 0.5px solid #999;
  }
  .moreLinkText:hover {
      color: #7f8080;
  }
  .messangerImgbox {
    width: 100px;
  }
  .messangerBox {
    gap: 5px;
  }
  .businessH3 {
    font-size: 1.5rem;
    line-height: 1.6;
  }
  .meritBox {
    flex-direction: column;
    width: 100%;
    gap: 0px;
    padding-top: 20px;
    height:auto;
  }
  .meritImgbox {
    width: 100%;
    order: 2;
  }
  .meritImgbox:first-child {
    padding-bottom: 20px;
  }
  .meritTxbox {
    width: auto;
    order: 1;
    padding: 30px 20px;
  }
  .meritTxWapper {
    width: 100%;
  }
  .meritFilterBlack {
    width: 100%;
    height: 20%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
  }
  .meritFilterWhite {
    width: 100%;
    height: 20%;
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
  }
  .recipeBox {
    flex-direction: column;
    padding: 0 20px;
    width: auto;
    gap: 0;
  }
  .recipeTxbox {
    width: 100%;
  }
  .recipeImgbox {
    width: 100%;
    text-align: center;
    margin-top: 30px;
  }
  .recipeImg {
    width: 180px;
  }
  .recipeInfobox {
    width: 100%;
    margin-top: -30px;
  }
  .recipeTable {
    font-size: 90%;
  }
  .qualityImg {
    margin-top: -10%;
  }
  .glassContainer {
    gap: 30px;
  }
  #business-wineglass h3 {
    font-size: 1.5rem;
    line-height: 1.6;
    text-align: center;
    margin-top: 10px;
  }
  .glassTitlebox {
    flex-direction: column;
  }
  .glassImgSp {
    display: block;
    margin-bottom: -5px;
  }
  .glassImg {
    display: none;
  }
  #business-wineglass {
    border-bottom: 1px solid white;
  }
  #business-steps {
    flex-direction: column;
    align-items: center;
  }
  .stepBgbox {
    width: 100%;
  }
  .stepFilter {
    display: none;
  }
  .stepContent {
    width: auto;
    padding: 40px 15px 60px 15px;
  }
  .stepBgbox {
    display: none;
  }
  .stepImgSp {
    display: block;
  }
  .stepNote {
    width: auto;
  }
  #business-steps .ctaArrow {
    margin: 20px auto;
  }
  #business-voice h2 {
    margin-bottom: 15px!important;
  }
  .voiceContent {
    margin-top: 0px;
    padding: 0 15px;
  }
  .voiceTable {
    display: none;
  }
  .voiceContentSp {
    display: block;
  }
  .voiceTr {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }
  .voiceTd {
    width: 100%;
    max-width: 500px;
  }
  .voiceTx {
    text-align: center!important;
  }
  .voicePersonBox {
    margin: 0;
  }
  .voicePersonBox p {
    margin-bottom: 0px!important;
  }
  .linkContainer {
    flex-direction: column;
    padding: 30px 10px 40px 10px;
    margin: 60px auto 0 auto;
    width: 500px;
    max-width: 85%;
  }
  /*.business-linkBox {
    width: 100%;
  }*/
  .linkContainer hr {
    width: 80%;
    height: 0.5px;
    border-top: 0.5px dashed;
    margin: 30px auto 20px auto;
  }
  .linkBtn {
    width: 250px;
    height: 33px;
  }
  .faqTitle {
    padding-left: 28px;
  }
  .faqTitle::before {
    width: 20px;
    height: 20px;
    font-size: 90%;
  }
  .faqAnswer.open {
    width: 100%;
    padding: 15px 15px 25px 0px;
  }
  .faqA {
    height: 20px;
    width: 20px;
    font-size: 90%;
    margin-top: 2px;
  }
  .faqTx {
    margin-left: 7px;
    padding-left: 0;
    width: 85%;
  }
  .faqType {
    margin-bottom: 25px;
  }
  .faqLine {
    margin: 15px 0 35px 0;
  }
  #business-instagram .insBox {
      margin-bottom: 0px;
  }
  #business-instagram .insBox .headLine01 {
      margin-bottom: 12px;
  }
  #business-instagram .insBox .headLine01 .en {
      margin-bottom: 0;
  }
  #business-instagram .insBox .midTxt {
      margin-bottom: 20px;
      font-size: 1.3rem;
      font-weight: normal;
      line-height: 2.7;
      text-align: left;
  }
  #business-instagram .insBox #ins {
      margin: 0 13px;
      position: relative;
      padding-bottom: 61%;
  }
  #business-instagram .insBox #ins iframe {
      position: absolute;
      left: 0;
      top: 0;
      width: 100% !important;
      height: 100% !important;
  }
  #business-instagram .insBox #instafeed-business {
      margin: -6px 10px 0;
  }
  #business-instagram .insBox #instafeed-business li {
      width: calc(100%/3);
      height: 28vw;
      padding: 6px 3px 0;
  }
  #business-instagram .insBox #instafeed-business li:nth-child(n+7) {
      display: none;
  }
  #business-instagram .insBox p{
    margin: -10px 0 35px 0;
  }
}

@media all and (max-width: 500px) {
.business-linkBox {
  font-size: 0.8em;
}
.linkBtn {
  font-size: 0.9em;
  width: 220px;
  height: 33px;
}
}

@media all and (max-width: 400px) {
  .moreLinkText {
    max-width: 250px;
  }
}

@media all and (max-width: 375px) {
  .businessTopBg h1 {
    font-size: 1.6rem;
    letter-spacing: 5px;
  }
}

.business-header h1 img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%) hue-rotate(90deg) brightness(107%) contrast(101%);
}

.business-header .topRBox .shopBtn a {
  color: white;
  border: 1px solid;
}

.business-header .topRBox .shopBtn a img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%) hue-rotate(90deg) brightness(107%) contrast(101%);
}

.business-header .linkBox {
  color: white;
}

.business-header .linkBox .sns img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(1%) hue-rotate(90deg) brightness(107%) contrast(101%);
}

.business-header .linkBox .language a {
  color: white;
}

.business-header #gNavi li a {
  color: white;
}

.business-header #gNavi li:after {
  background-color: white;
}

#gHeader.on .business-header h1 img {
  filter: none;
}

#gHeader.on .business-header .topRBox .shopBtn a {
  color: black;
}

#gHeader.on .business-header .topRBox .shopBtn a img {
  filter: none;
}

#gHeader.on .business-header .linkBox {
  color: black;
}

#gHeader.on .business-header .linkBox .sns img {
  filter: none;
}

#gHeader.on .business-header .linkBox .language a {
  color: black;
}

#gHeader.on .business-header #gNavi li a {
  color: black;
}

#gHeader.on .business-header #gNavi li:after {
  background-color: black;
}

/*------------------------------------------------------------
	RJ 改修
------------------------------------------------------------*/
.rjContainer {
  padding-top: 160px!important;
  background: none!important;
}
.rjHeaderBox {
  background: black;
  padding: 50px 0;
  position: relative;
}

.rjHeaderBg {
  position: absolute;
  top: 0;
  right: 0;
  width: 350px;
  height: 100%;
  object-fit: cover;
}
.rjHeaderFilter {
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(90.31713207234316deg, rgba(0, 0, 0, 1) 0.732638888888889%, rgba(0, 0, 0, 0.004166666666666652) 38.37152777777778%, rgba(0, 0, 0, 0) 38.37152777777778%);
  width: 350px;
  height: 100%;
  border-left: 1px solid;
}
.rjHeaderWrapper {
  margin: 0 auto;
  max-width: 960px;
  color: white;
}
.rjHeaderTitle {
  margin-bottom: 20px;
  font-size:3rem;
}
.rjHeaderTx {
  line-height: 1.6;
}
.rjPagePath {
  margin: 30px 0 0 0!important;
  color: #999999;
}
.rjPagePath a {
  color: #999999;
}
.rjHeaderBgSp {
  display: none;
}

/** title**/
.rjTitleBox {
margin-top: 60px;
}
.rjNumber {
  margin: 0!important;
  font-size: 20px;
  line-height: 1.4 !important;
}
.rjTitle {
  font-size: 3rem;
}
.rjTitleLine {

}
.rjStoreName {
  font-size: 20px;
  line-height: 1.6!important;
  margin: 0!important;
  font-weight: 600;
}
.rjCaterory {
  line-height: 1.6!important;
  margin: 0!important;
}
.rjStar {
  margin: 0!important;
  line-height: 1.6!important;
}
.rjPhotoUnderTitle {
  margin-top: 40px;
}
.title{
	pointer-events: none;
}
.rjH3 {
  font-size: 2.5rem!important;
  border-bottom: 1px solid #cccccc;
  padding-bottom: 20px;
  margin-bottom: 20px!important;
  text-align: left!important;
}
.rjImgSp {
  display: none;
}
.rjInfoStoreName {
  font-size: 16px;
  line-height: 1.6 !important;
  margin: 0 !important;
  font-weight: 600;
}
.rjInfoLine {
  border-top: 1px dashed #999999;
  border-bottom: 0;
  margin: 40px 0;
}
.rjPrevBtn {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
  display: block;
  width: fit-content;
  margin: 0 auto 1.5rem 0;
  padding-left: 10px;
}
.rjNextBtn {
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
  display: block;
  width: fit-content;
  margin: 0 0 1.5rem auto;
  padding-right: 15px;
}
/*ホバーしたときに下線矢印も同時に色を変える*/
.rjPrevBtn:hover .prevArrow  {
    border-bottom: 1px solid #999;
    border-left: 1px solid #999;
}
.rjNextBtn:hover .prevArrow  {
    border-bottom: 1px solid #999;
    border-right: 1px solid #999;
}
.rjPrevBtn:hover {
    color: #7f8080;
}
.rjNextBtn:hover {
    color: #7f8080;
}
.prevArrow {
  width: 100%;
  height: 7px;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
   /*傾きを調節*/
  transform: skew(-45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  margin: 0px 0 0 -5px;
  display: block;
  padding: 0px 0px 0 10px;
}
.nextArrow {
  width: 100%;
  height: 7px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
   /*傾きを調節*/
  transform: skew(45deg);
  /*下線矢印をテキストに合わせてうまい具合にはめる*/
  margin: 0px;
  display: block;
  padding: 0px 10px 0 0px;
}
.pagenationSection {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
.pagenationImg {
  width: 231px;
  aspect-ratio: 1;
  object-fit: cover;
  max-width: 100%;
}
.pagenationTx {
  text-align: center;
  line-height: 1.6!important;
  margin-top: 1.2rem;
}
.rjCtaSectionTob {
  width: 100%;
  height: 100%;
  background: black;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rjBtnTob a {
    margin: 0 auto;
    display: flex;
    width: 200px;
    height: 45px;
    color: #000;
    font-weight: bold;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border-radius: 50px;
}
.rjMoreInterview a {
   letter-spacing: 0.13em;
    margin: 60px auto 0 auto;
    display: flex;
    width: 200px;
    height: 45px;
    color: #000;
    font-weight: bold;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border-radius: 50px;
    border: 1px solid;
    font-weight: 600;
}
.rjCtaTobImgbox {
  height: 100%;
  width: 40%;
  position: relative;
}
.rjCtaTobImg {
  height: 100%;
}
.rjCtaTobImgSp {
  display: none;
}
.rjCtaTobImgFilter {
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(90.58343990957314deg, rgba(0, 0, 0, 0) 64.81076388888889%, rgba(0, 0, 0, 0) 65.94733796296296%, rgba(0, 0, 0, 0.9956896551724138) 98.90798611111111%, rgba(0, 0, 0, 1) 98.90798611111111%);
}
.rjCtaTobTxbox {
  color: white;
  width: 60%;
  text-align: center;
}
.rjCtaTobTitle {
  font-size: 2.5rem;
}
.rjCtaTobTx {
  margin: 30px auto;
}
.rjComListSection {
  padding-top: 80px;
  padding-bottom: 80px;
}
.rjMoreTitle {
  text-align: center;
  letter-spacing: 0.13em;
  font-weight: 500;
  font-size: 3rem;
  margin-bottom: 3rem;
}
.rjCtaSnsbox {
  display: flex;
  background: #edebec;
  padding: 60px 20px;
  justify-content: center;
align-items: center;
}
.rjCtaSnsTitle {
  font-size: 2.5rem;
}
.rjCtaSnsTxbox {
  text-align: center;
  width: 60%;
}
.rjCtaSnsTx {
  margin: 30px auto!important;
  line-height: 1.6!important;
}
.rjCtaSnsBgbox {
  width: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.rjCtaSnsBg {
  width: 70%;
  margin: auto auto auto 0;
}
.rjIgBtn a {
    margin: 0px auto 0 auto;
    display: flex;
    width: 270px!important;
    height: 45px;
    color: #000;
    font-weight: bold;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border-radius: 50px;
    border: 1px solid;
    font-weight: 600;
}
.rjNlBtn a {
   margin: 0px auto 0 auto;
   display: flex;
   width: 270px!important;
   height: 45px;
   color: #fff;
   font-weight: bold;
   justify-content: center;
   align-items: center;
   background-color: #000;
   border-radius: 50px;
   border: 1px solid;
   font-weight: 600;
}
.rjCtaSnsBtnbox {
  display: flex;
justify-content: center;
align-items: center;
gap: 15px;
}
.rjCtaIg {
  width: 15px;
}
.rjIgLink {
  width: 150px;
}
.rjCtaSnsImgbox {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 40px;
}
.rjCtaSnsImg {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.rjContainer #gFooter {
  margin-top: 0;
}
.anchor {
  position: absolute;
  padding-top: 160px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -160px;
}

@media all and (max-width: 896px) {
  .rjContainer {
    padding-top: 130px!important;
  }
  .rjHeaderBg {
    position: relative;
  }
  .rjHeaderBox {
    display: flex;
    flex-direction: column;
    padding: 40px 20px 10px 20px;
  }
  .rjHeaderFilter {
    display: none;
  }
  .rjHeaderBgBox {
    order: 2;
  }
  .rjHeaderBg {
    display: none;
  }
  .rjHeaderBgSp {
    display: block;
    margin-top: 10px;
  }
  .rjPagePath {
    margin: 20px 0 0 0!important;
    font-size: 10px!important;
  }
  .rjHeaderTitle {
    font-size: 2.3rem;
  }
  .rjHeaderTx {
    font-size: 11px;
  }
  /**rj title ***/
  .rjTitleBox {
  margin-top: 40px;
  }
  .rjTitle {
    font-size: 2.1rem;
  }
  .rjPhotoUnderTitle {
    margin-top: 25px;
  }
  .rjStoreName {
    font-size: 18px;
  }
  .rjNumber {
    font-size: 16px;
  }
  .rjImgPc {
    display: none;
  }
  .rjImgSp {
    display: block;
    margin: 25px 0;
    width: 100%;
  }
  .rjH3 {
    font-size: 1.8rem!important;
    padding-bottom: 15px;
    margin-bottom: 15px!important;
  }
  .rjPrevBtn:hover .prevArrow  {
      border-bottom: 0.5px solid #999;
      border-left: 0.5px solid #999;
  }
  .rjPrevBtn:hover {
      color: #7f8080;
  }
  .prevArrow {
    border-bottom: 0.5px solid #000;
    border-left: 0.5px solid #000;
  }
  .rjNextBtn:hover .nextArrow  {
      border-bottom: 0.5px solid #999;
      border-right: 0.5px solid #999;
  }
  .rjNextBtn:hover {
      color: #7f8080;
  }
  .nextArrow {
    border-bottom: 0.5px solid #000;
    border-right: 0.5px solid #000;
  }
  .rjBtnTob a {
      width: 130px;
      height: 33px;
      margin: 30px auto 0 auto;
  }
  .rjMoreInterview a {
      width: 130px;
      height: 33px;
      margin-top: 40px;
  }
  .rjCtaSectionTob {
    flex-direction: column;
  }
  .rjCtaTobImgbox {
    display: none;
  }
  .rjCtaTobTxbox {
    width: 100%;
    padding: 40px 0px 0 0px;
  }
  .rjCtaTobTx {
    margin: 20px auto 25px auto;
    padding: 0 15px;
  }
  .rjCtaTobImgFilter {
    background: linear-gradient(181.1590050588934deg, rgba(0, 0, 0,1) -3.5283251231527117%,rgba(0, 0, 0,0.9956896551724138) -3.5283251231527117%,rgba(0, 0, 0,0) 37.662151067323485%,rgba(0, 0, 0,0) 39.08251231527094%);
  }
  .rjCtaTobImgSp {
    display: block;
    width: 450px;
    max-width: 100%;
    margin: 20px auto 0 auto;
  }
  .rjCtaTobTitle {
    font-size:2rem;
    padding: 0 15px;
  }
  .rjMoreTitle {
    font-size: 2.5rem;
    margin-bottom: 2rem;
  }
  .rjComListSection {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .rjCtaSnsTitle {
    font-size: 2rem;
  }
  .rjIgBtn {
    width: 100%;
    max-width: 300px;
    height: 33px;
  }
  .rjNlBtn {
    width: 100%;
    max-width: 300px;
    height: 33px;
  }
  .rjCtaSnsbox {
    flex-direction: column;
    padding: 50px 15px;
  }
  .rjCtaSnsTxbox {
    width: 100%;
  }
  .rjCtaSnsTx {
    margin: 20px auto 25px auto!important;
  }
  .rjCtaSnsBgbox {
    width: 100%;
  }
  .rjCtaSnsBg {
    max-width: 400px;
    margin: 20px auto 0 auto;
  }
  .rjCtaSnsImgbox {
    margin-bottom: 30px;
  }
  .rjCtaSnsBtnbox {
    flex-direction: column;
    gap: 30px;
  }
  .rj .slideList li:nth-child(n+7) {
    display: none;
  }
}
@media all and (max-width: 530px) {
  .pagenationSection {
    margin-top: 50px;
    gap: 8px;
  }
  .pagenationImg {
    width: 100%;
  }
  .pagenationTx {
    line-height: 1.3;
    margin-top: 1rem!important;
  }
  .rjIgLink:nth-child(2) {
    display: none;
  }
}

/**table of content**/
/* 目次コンテナ */
.rj-toccontainer {
  margin: 0 auto 40px auto;
  background: #F6F6F6;
  padding: 20px 30px 30px 30px;
}

/* ヘッダー */
.rj-tocheader {
  padding: 10px;
  font-weight: bold;
  cursor: pointer;
  text-align: center;
  user-select: none;
}

/* 目次リスト */
.rj-toccontent {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* リンクスタイル */
.rj-toccontent li a {
  display: block;
  padding: 5px;
  text-decoration: none;
}

.rj-toccontent li a:hover {
}

/* モバイルおよびタブレットで目次を隠す */
@media (max-width: 896px) {
  .rj-toccontent {
    display: none;
    margin-top: 5px;
  }
  .rj-tocheader {
    padding: 0px;
  }
  .rj-toccontainer {
    padding: 15px 20px;
  }
}

/* デスクトップで目次を常に表示 */
@media (min-width: 897px) {
  .rj-toccontent {
    display: block;
  }
}

/**SNSシェア**/
.rj-social-share {
  display: flex;
  gap: 15px;
  justify-content: center;
  align-items: center;
}
.rj-social-share a {
  width: 50px;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: black;
  border-radius: 50%;
  text-decoration: none;
  color: white;
  font-size: 24px;
}
.rj-social-share a:hover {
  opacity: 0.8;
}
.rj-social-share a img {
  width: 50%;
  height: 50%;
}
.rjSnsTx {
  margin: -10px 0 5px 0!important;
  text-align: center;
  font-size: 16px;
}
@media (max-width: 896px) {
.rjSnsTx {
  font-size: 14px;
}
.rj-social-share a {
  width: 40px;
  height: 40px;
}
}

/*****電話窓口 LINE窓口******/
.mgn0 {
  margin: 0!important;
}
.ctaContainer {
  width: 510px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  margin: auto;
}
.telLink {
  display: flex;
  height: 50px;
  color: black;
  font-weight: bold;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50px;
  max-width: 100% !important;
  width: 310px !important;
  padding-bottom: 3px;
  border: 1px solid black;
  margin: 15px 0 7px 0;
  text-align: center;
}
.business .ctaLink {
  width: 100% !important;
}
.business .ctaLink-gift {
  width: 310px!important;
}
.telBtn-gift {
  margin: auto;
}
.telLineContainer {
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  gap: 15px;
  width: 100%;
}
.business .telBtn {
  width: 50%!important
}
.business .lineBtn {
  width: 50%!important
}
.business .telLink {
  width: 100%!important
}
.telIcon {
  width: 20px;
  margin-right: 5px;
}
.telNote {
  font-size: 80%;
  line-height: 1.2!important;
  text-align: center;
}
.contact .telBtn {
  width: fit-content;
}
.lineLink {
  display: flex;
  height: 50px;
  color: black;
  font-weight: bold;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50px;
  max-width: 100% !important;
  width: 100% !important;
  padding-bottom: 3px;
  border: 1px solid black;
  margin: 15px 0 7px 0;
  text-align: center;
}
.lineIcon {
  width: 20px;
  margin-right: 5px;
}
.lineNote {
  font-size: 80%;
  line-height: 1.2!important;
  text-align: left;
}


@media (max-width: 896px) {
  .ctaContainer {
    gap: 10px;
    width: 310px;
    max-width: 100%;
  }
  .telLineContainer {
    flex-direction: column;
    gap: 10px;
  }
  .business .telBtn, .business .lineBtn {
    width: 100%!important;
  }
  .business .telLink, .business .lineLink {
    margin: 0!important;
  }
  .business .lineLink {
    margin: 0 0 5px 0!important;
  }
  .business .lineBtn {
    width: 100% !important;
    margin: 0;
  }
  .telNote {
    display: none;
  }
  .telLink {
    height: 33px;
  }
  #business-steps .telLink {
    margin: 0px 0 5px 0;
  }
  .telIcon {
    width: 15px;
    margin-right: 5px;
  }
  .lineLink {
    height: 33px;
  }
  #business-steps .lineLink {
    margin: 0px 0 5px 0;
  }
  .lineIcon {
    width: 15px;
    margin-right: 5px;
  }
}

/******一般消費者向けLP******/
/*************************/
.consumerTopBg {
  overflow: hidden;
	background: #fff;
  height: 100%;
  position: relative;
  padding-top: 190px;
}
.consumerTopBgimg {
  height: 100%;
  object-fit: cover;
  width: 100%;
  object-position: bottom;
}
.consumerTopSpace {
  background: linear-gradient(179.44528641031934deg, rgba(255, 255, 255,1) 2.4722906403940885%,rgba(255, 255, 255,0.004166666666666652) 91.51169950738917%,rgba(255, 255, 255,0) 91.51169950738917%);
  height: 150px;
  position: absolute;
  top: 190px;
  width: 100%;
}
.consumerTopBg h1 {
  color: black;
  position: absolute;
  top: 150px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  letter-spacing: 10px;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.8;
  padding-left: 10px;
  width: 100%;
}
.ctaNote {
  max-width: 100% !important;
  width: 312px !important;
  text-align: left;
  margin-top: 5px;
  font-size: 80%;
  line-height: 1.3 !important;
}
.consumerBg {
  position: absolute;
  top: 5%;
  width: 100vw;
  right: 0px;
  left: 0px;
}
.consumerMeritH2 {
line-height: 1.8!important;
}
.consumerMeritContainer {
  margin-top: 45px;
}
.consumerMeritTx {
  margin-top: -20px;
}

.featureBox {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  height: 550px;
  background: black;
  color: white;
  border: 1px solid black;
}
.featureImgbox {
  width: 50%;
  display: flex;
  justify-content: center;
  position: relative;
  margin-left: 2px;
  margin-bottom: 0px;
}
.featureImg {
  object-fit: cover;
  height: 100%;
  width: 100%;
  overflow: hidden;
  max-width: 100vw;
}
.featureTxbox {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 30px;
}
.featureTxbox {
  align-items: flex-end;
}
.featureTxWapper {
  width: 80%;
}
.featureFilterBlack {
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  width: 40%;
  background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
}
.featureFilterBlackLeft {
  transform: scale(-1);
  left: 0;
  right: auto;
}
.featureTxboxRight {
  align-items: flex-start;
}
.featureImgSp {
  display: none;
}
.giftboxContainer {
  width: 1000px;
  max-width: 90%;
  margin: 45px auto 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 60px;
}
.giftboxRow {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
.giftboxImgbox {
  width: 50%;
}
.giftboxTxbox {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.giftboxH3 {
  font-size: 2rem;
  letter-spacing: 0.07em;
  width: 100%;
  text-align: left;
  font-weight: 500;
}
.giftboxMark {
  display: inline-block;
  margin-right: 5px;
  line-height: 2.2;
}
.giftboxList {
  margin: 40px 0;
  gap: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.giftboxList li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.giftboxList p {
  line-height: 2.2;
}
.giftsetContainer {
  width: 1100px;
  max-width: 90%;
  margin: 0 auto;
}
.giftsetImgbox {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  position: relative;
  margin-top: 40px;
}
.giftsetImg {
  width: 25%;
}
.giftsetContentSp {
  display:none;
}
.giftcardImg {
  margin: 40px auto 0 auto!important;
  width: 100%;
}
.consumer-giftcard {
  padding: 0 0 125px 0;
}
.consumerGiftH2 {
line-height: 1.8!important;
margin-bottom: 40px!important
}
.consumer-glass {
  background: black;
  color: white;
}
.consumer-glass .telLink {
  margin: 40px auto 0 auto;
}
.consumerGlassContainer {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.consumerGlassTxBox {
  width: 50%;
}
.consumerGlassImgBox {
  width: 50%;
  margin-bottom: -85px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.consumerGlassImg {
  margin: 0;
  width: 100%;
}
.consumerCtaBg {
  overflow: hidden;
	background: #E8E8E8;
  height: 100%;
  position: relative;
  padding-top: 50px;
}
.consumerCtaBgimg {
  height: 100%;
  object-fit: cover;
  width: 100%;
  object-position: bottom;
}
.consumerCtaSpace {
  background: linear-gradient(180.4722072714054deg, rgba(232, 232, 232,1) 1.995073891625616%,rgba(232, 232, 232,0.004166666666666652) 91.65024630541872%,rgba(232, 232, 232,0) 91.65024630541872%);
  height: 250px;
  position: absolute;
  top: 50px;
  width: 100%;
  margin-top: -1px;
}
.consumerCtaContent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-right: 20px;
  padding-left: 20px;
}
#consumer-cta {
  background: #E8E8E8;
  padding-bottom: 0!important;
}
#consumer-cta h2 {
  line-height: 1.8 !important;
  letter-spacing: 0.1em;
}
.consumer .fixBtnContact {
  width: 230px;
}


@media all and (max-width: 896px) {
  .hideSp {
    display: none;
  }
  .consumerTopBg h1 {
    top: 0;
    bottom: auto;
    transform: translateY(0%) translateX(-50%);
    left: 50%;
    padding-top: 120px;
    width: 100%;
    font-size: 2rem;
  }
  .ctaNote {
    width: 280px !important;
  }
  .consumerBg {
    top: 10%;
  }
  .consumerMeritContainer {
    margin-top: 30px;
  }
  .consumerMeritTx {
    margin-top: -10px;
  }
  .giftcardImg {
    margin: 30px auto 0 auto!important;
    width: 100%;
  }
  .consumer-giftcard {
      padding: 0 0 75px 0;
      margin-top: -40px;
  }
  .consumerGiftH2 {
  margin-bottom: 30px!important
  }
  .featureBox {
    flex-direction: column;
    width: 100%;
    gap: 0px;
    padding-top: 20px;
    height:auto;
  }
  .featureImgbox {
    width: 100%;
    order: 2;
  }
  .featureTxbox {
    width: auto;
    order: 1;
    padding: 30px 20px;
  }
  .featureTxWapper {
    width: 100%;
  }
  .featureFilterBlack {
    width: 100%;
    height: 20%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 100%);
  }
  .featureFilterWhite {
    width: 100%;
    height: 20%;
    background: linear-gradient(0deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
  }
  .featureImgPc {
    display: none;
  }
  .featureImgSp {
    display: block;
  }
  .giftboxRow {
    flex-direction: column;
  }
  .giftboxImgbox {
    width: 100%;
    max-width: 500px;
  }
  .giftboxTxbox {
    width: 100%;
    max-width: 500px;
  }
  .giftboxRow {
    gap: 30px;
  }
  .giftboxList {
    gap: 10px;
    margin: 20px 0;
  }
  .giftboxH3 {
    font-size: 1.7rem;
  }
  .giftboxContainer {
    gap: 60px;
  }
  .giftsetContentSp {
    display: block;
  }
  .giftsetImgbox {
    display: none;
  }

  .giftsetImg {
    width: 100%;
  }
  .consumerGlassContainer {
    flex-direction: column;
  }
  .consumerGlassTxBox {
    width: 100%;
    padding: 0;
  }
  .consumerGlassImgBox {
    width: 100%;
    max-width: 300px;
    margin: 30px auto -60px auto;
  }
  .giftboxTxbox .comBtn {
    margin: 0 auto;
  }
  .consumer .fixBtn a {
    height: 50px;
  }
  .consumer #business-intro {
    padding-bottom: 30px;
  }
  .consumer .fixBtnContact {
    width: 100%;
  }
  .consumer #gFooter .pageTop {
    bottom: 60px;
  }
}
@media all and (max-width: 600px) {
  .consumerTopBgimg {
    object-position: center;
    aspect-ratio: 1;
  }
  .consumerTopBg {
    padding-top: 160px;
  }
  .consumerTopSpace {
    top: 160px;
  }
  .consumerTopBg h1 {
    letter-spacing: 7px;
    padding-top: 110px;
  }
  .consumerBg {
    top: 15%;
  }
  .consumerCtaBgimg {
    aspect-ratio: 1.2;
  }
  .consumerCtaBg {
    padding-top: 200px;
  }
  .consumerCtaSpace {
    top: 200px;
  }
}
@media all and (max-width: 480px) {
  .consumerTopBg h1 {
    font-size: 1.6rem;
    letter-spacing: 3px;
  }
  .consumerTopBg {
    padding-top: 150px;
  }
  .consumerTopSpace {
    top: 150px;
  }
  .featureImg {
    aspect-ratio: 1.2;
  }
}

@media all and (max-width: 350px) {
  .consumerTopBg h1 {
    font-size: 1.4rem;
    letter-spacing: 3px;
  }
.consumerCtaBg {
  padding-top: 320px;
}
.consumerCtaSpace {
  top: 320px;
  height: 150px;
}
}

@media all and (max-width: 1300px) {
  .hide1300 {
    display: none;
  }
}

.consumer #container {
  overflow-y: scroll;
/*スクロールバー非表示（IE・Edge）*/
-ms-overflow-style: none;
/*スクロールバー非表示（Firefox）*/
scrollbar-width: none;
}
.consumer #container::-webkit-scrollbar{
  display:none;
}
#index .anaBox .slick-dots {
  bottom: 0;
}
#index .anaBox .imgBox .txtBox .next, #index .anaBox .imgBox .txtBox .prev {
  bottom: 0;
}
.anaBox .slick-slide {
  margin-bottom: 30px;
}
@media all and (max-width: 896px) {
  .anaBox .slick-slide {
    margin-bottom: 0px;
  }
}

/**** TOP ToC page link****/
.productBtn {
margin-top: 10px;
}

.productBtn a {
  margin: 0 auto;
  display: flex;
  width: 230px;
  height: 50px;
  color: #000;
  font-weight: bold;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50px;
  border: 1px solid #000;
}

/**** B2B Contact page Line ****/
.contactTelLine {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 30px;
  margin: 40px 0;
}
.contactLinebox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
}
.contactTelbox {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 80%;
}
.contact2H2 {
  font-size: 26px;
  margin: 0;
}
.contact2 .telLink {
  margin: 10px 0 0 0;
}
.contact2Tx {
  margin: 15px 0!important;
  line-height: 1.2 !important;
}
.contact2Tx:nth-child(1), .contact2Tx:nth-child(2) {
  margin: 15px 0 10px 0!important;
}
.contact .telNote {
  margin: 5px 0 0 0!important;
}
.contact .lineNote {
  margin: 5px 0 0 0!important;
  text-align: left;
}
.contact2TxForm {
  margin: 15px 0!important;
  line-height: 1.6!important;
}
.contactFormbox {
  margin-top: 60px;
}
@media all and (max-width: 896px) {
  .contactTelLine {
    flex-direction: column;
    margin: 30px 0;
  }
  .contact2Tx, .contact2TxForm {
    margin: 12px 0!important;
  }
  .contact2H2 {
    font-size: 20px;
  }
  .contactFormbox {
    margin-top: 35px;
  }
}
/*------------------------------------------------------------
	index FV Movie
------------------------------------------------------------*/
.topMovieSp {
  display: none;
}
.topMovieBox {
  margin-top: 147px;
  margin-bottom: 60px;
}
.topMovieLink {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 30px;
  z-index: 1000;
  margin-top: 20px;
  pointer-events: none;
transition: opacity 1s ease;
opacity: 0;
}
.topMovieLink.fixed {
  position: fixed;
}

.topMovieLink.visible {
  opacity: 1;
  pointer-events: auto;
}
.topMovieLink:hover {
  opacity: 0.7;
}
.topMovieLinkIcon {
  width: 21px;
  height: 21px;
}
.topMovieLinkTx {
  border: 0;
  display: flex;
  width: fit-content !important;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 10px;
  background: none;
  color: white;
  font-weight: 400!important;
  font-size:15px;
}
.topMovieLink02 {
  display: none;
  justify-content: center;
  align-items: center;
  margin: 20px auto 60px auto;
}
.topMovieLink02:hover {
  opacity: 0.7;
}
.topMovieLinkIcon02 {
  width: 20px;
  height: 20px;
}
.topMovieLinkTx02 {
  display: flex;
  width: fit-content !important;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 10px;
  font-size: 14px;
}
.topMovieLink03 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 25px auto 90px auto;
}
.topMovieLink03:hover {
  opacity: 0.7;
}
.topMovieLinkIcon03 {
  width: 22px;
  height: 22px;
}
.topMovieLinkTx03 {
  display: flex;
  width: fit-content !important;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 10px;
  font-size: 16px;
}
#movieFull {
  z-index: 1;
  aspect-ratio: 950 / 540;
}
#soundBtn {
  position: absolute;
    top: auto;
    right: auto;
    left: 10px;
    border: 0;
    background: none;
    width: 30px;
    bottom: 15px;
    opacity: 0.6;
    z-index: 3;
}
.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  transform: translate(-50%, -50%)!important;
  cursor: pointer;
  z-index: 3;
  opacity: 0.6;
}

.video-thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-thumbnail {
  z-index: 2;
  cursor: pointer;
}
#volumeBtn {
  cursor: pointer;
  display: none; /* デフォルト非表示 */
  position: absolute;
    top: auto;
    right: auto;
    left: 10px;
    border: 0;
    background: none;
    width: 30px;
    bottom: 15px;
    opacity: 0.6;
    z-index: 3;
}

#volumeIcon {
  width: 30px;
  height: auto;
}
.movieContainer {
  position: relative;
}

.movieTitle h3 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.07em;
}
.movieTitle .movieTitleWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin-bottom: 20px;
}
.movieTitleWrapper hr {
  width: 30px;
  height: 0.5px;
  border: 0;
  background: black;
  margin: 0;
}
.topRjTitle h3 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: 0.07em;
}
.topRjTitle .movieTitleWrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
}

.topRjTitle {
  margin-top: 60px;
  margin-bottom: -35px;
}

/**#brandMovie {
  padding-top: 167px;
  margin-top: -167px;
  display: block;
}**/
@media all and (max-width: 1200px) {
  .topMovieBox {
    margin-top: 83px;
    margin-bottom: 60px;
  }
  /**#brandMovie {
    padding-top: 123px;
    margin-top: -123px;
    display: block;
  }**/
}
@media (min-width: 896px) {
  #movie-container:hover #volumeBtn {
    display: block;
  }
}
@media all and (max-width: 896px) {
  .topMovieBox {
    margin-top: 73.6px;
  }
  /**#brandMovie {
    padding-top: 73.6px;
    margin-top: -73.6px;
    display: block;
  }**/
  #soundBtn {
    width: 23px;
    left: 2px;
    bottom: 2px;
    height: 23px;
  }
  #volumeBtn {
    display: block;
    width: 23px;
    height: 23px;
    left: 2px;
    bottom: 2px;
  }
  .play-button {
    width: 35px!important;
    height: 35px;
  }
  #movieFull {
    aspect-ratio: 416 / 236.45;
  }
  .movieTitle h3 {
    font-size: 1.8rem;
  }
  .movieTitle .movieTitleWrapper {
    margin-bottom: 10px;
    gap: 15px;
  }
  .movieTitleWrapper hr {
    width: 25px;
  }
  .topRjTitle h3 {
    font-size: 1.8rem;
  }
  .topRjTitle {
    margin-bottom: -15px;
    margin-top: 40px;
  }
  .topRjTitle .movieTitleWrapper {
    margin-bottom: 10px;
    gap: 15px;
  }
}

@media all and (max-width: 600px) {
  .topMoviePc {
    display: none;
  }
  .topMovieBox {
    margin-bottom: 40px;
  }
  .topMovieSp {
    display: block
  }
  .topMovieLink {
    display: none;
  }
  .topMovieLink02 {
    display: flex;
  }
  .topMovieLink03 {
    margin: 20px auto 60px auto;
  }
  .topMovieLinkIcon03 {
    width: 20px;
    height: 20px;
  }
  .topMovieLinkTx03 {
    font-size: 14px;
  }
}
