@charset "utf-8";
/* ========================================================
	top.css => トップページ用CSS
======================================================== */
/*header
------------------------------------------------------------------------------*/
#header {
      background: var(--bg_beige);
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
}
#header.fixed {
      background: #fff;
}
@media screen and (min-width: 961px), print {
      #header .logo {
            opacity: 0;
            overflow: hidden;
            width: 0;
      }
      #header.fixed .logo, #header.open .logo {
            opacity: 1;
            overflow: visible;
            width: 9.0em;
      }
}
/*important_info
---------------------------------------------------*/
.important_info {
      background: var(--col_main);
      color: #fff;
      padding: 1em 0;
      font-size: 1.6rem;
}
.important_info_inner {
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 0.88em;
}
.important_info_inner a {
      color: #fff;
}
.important_info_title {
      color: #fff;
      border: solid 1px #fff;
      border-radius: 3em;
      padding: 0em 1em;
      font-family: "Zen Kaku Gothic New", sans-serif;
}
.important_info_text {
      margin-left: 1.5em;
}
.important_info_text > a {
      position: relative;
      padding-right: 2em;
}
.important_info_text > a:before {
      position: absolute;
      width: 0.7em;
      content: "";
      background: url("../images/arrow_basic_ff.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 1 / 1.4;
      top: 50%;
      right: 0em;
      transform: translate(-0%, -50%) rotate(90deg);
}
.important_info_text > a:hover {
      text-decoration: underline;
}
@media screen and (max-width: 480px) {
      .important_info_title {
            width: 7em;
      }
      .important_info_text {
            margin-left: 0.5em;
            max-width: calc(100% - 11em);
      }
      .important_info_text > a {
            padding-right: 1em;
            display: block;
      }
}
/*mv_area
============================================================================================================ */
.mv_area {
      background: var(--bg_beige);
      overflow: hidden;
      padding: 9rem 0 0rem 0;
      position: relative;
}
.mv_inner {
      display: flex;
      width: 150%;
      position: absolute;
      left: -40%;
      top: 0;
}
.mv_area, .swiper-slide img, .mv_text_box {
      height: 745px;
}
.mv_inner > * {
      width: calc(100% / 3);
}
.mv_l {
      padding-right: 3em;
}
.mv_l_inner {
      border-radius: 0 1.5em 1.5em 0;
      overflow: hidden;
}
.mv_center {
      position: relative;
      padding-right: calc(1em + 384px);
}
.mv_center_inner {
      border-radius: 1.5em;
      overflow: hidden;
}
.mv_r_inner {
      border-radius: 1.5em 0 0 1.5em;
      overflow: hidden;
	box-sizing: border-box;
}
.swiper-slide img {
	box-sizing: border-box;
      width: 100%;
      object-fit: cover;
      object-position: center;
      font-family: 'object-fit: cover; object-position: center;'
}
@media screen and (max-width: 1500px) {
      .mv_area, .swiper-slide img, .mv_text_box {
            height: 45vw;
      }
      .mv_center {
            padding-right: 24vw;
      }
}
@media screen and (max-width: 1410px) {
      .mv_area, .swiper-slide img, .mv_text_box {
            height: 40vw;
      }
      .mv_center {
            position: relative;
            padding-right: 21vw;
      }
}
@media screen and (max-width: 680px) {
      .mv_area {
            padding: 2rem 0 4rem 0;
      }
      .mv_r {
            display: none;
      }
      .mv_inner {
            position: relative;
            width: 150%;
            left: -50%;
      }
      .mv_inner > * {
            width: calc(100% / 2 - (1em));
      }
      .mv_l {
            padding-right: 1em;
      }
      .mv_l_inner {
            border-radius: 0 1em 1em 0;
      }
      .mv_center {}
      .mv_center_inner {
            border-radius: 1em;
      }
      .mv_area, .swiper-slide img, .mv_text_box {
            height: auto;
      }
}
/*mv_text_box
------------------------------------------------------------------------------*/
.mv_text_box {
      position: absolute;
      top: 0px;
      right: 0;
      z-index: 100;
      width: auto;
      aspect-ratio: 384/745;
}
.mv_text_box img, .mv_text_box_sp {
      width: 100% !important;
}
.mv_text_box_sp {
      display: none;
}
@media screen and (max-width: 680px) {
      .mv_text_box {
            display: none;
      }
      .mv_text_box_sp {
            margin: auto auto 3em auto;
            text-align: center;
            display: block;
      }
}
/*矢印
------------------------------------------------------------------------------*/
/*center　矢印*/
/*リセット*/
.swiper-button-next:after, .swiper-button-prev:after {
      content: normal;
}
.swiper-button-next:focus-visible, .swiper-button-prev:focus-visible, .swiper-button-next:focus, .swiper-button-prev:focus {
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
      outline: none !important;
}
/*リセット end*/
/*左右
-----------------------------------------------*/
.mv_slide_center .swiper-button-prev, .mv_slide_center .swiper-button-next {
      bottom: -0em;
      top: auto;
      height: 2.7em;
      width: 2.7em;
}
.mv_slide_center .swiper-button-prev {
      left: auto;
      right: 5em;
}
.mv_slide_center .swiper-button-prev span, .mv_slide_center .swiper-button-next span {
      width: 100%;
      height: 100%;
      background: var(--col_main);
      border-radius: 5em;
      border: solid 1px var(--col_main);
      transition: all 0.15s ease;
      display: block;
      box-sizing: border-box;
      position: relative;
}
.mv_slide_center .swiper-button-prev img, .mv_slide_center .swiper-button-next img {
      aspect-ratio: 1 / 1;
      width: 1.0em;
      filter: brightness(0) invert(1);
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) rotate(-90deg);
}
.mv_slide_center .swiper-button-next img {
      transform: translate(-50%, -50%) rotate(90deg);
}
@media screen and (min-width: 1025px), print {
      /*hover*/
      /*.mv_slide_center .swiper-button-prev:hover span, .mv_slide_center .swiper-button-next:hover span {
	background: #fff;
	border: solid 1px var(--col_gray);
}
.mv_slide_center .swiper-button-prev:hover img, .mv_slide_center .swiper-button-next:hover img {
	filter: none;
}*/
      .mv_slide_center .swiper-button-prev:hover span, .mv_slide_center .swiper-button-next:hover span {
            opacity: 0.7;
      }
}
@media screen and (max-width: 960px) {
      .mv_slide_center .swiper-button-prev, .mv_slide_center .swiper-button-next {
            bottom: auto;
            top: -2.5em;
            height: 2em;
            width: 2em;
            right: 0;
            z-index: 1;
      }
      .mv_slide_center .swiper-button-prev {
            right: 3em;
      }
      .mv_slide_center .swiper-button-prev span {
            position: relative;
      }
      .mv_slide_center .swiper-button-prev span:before {
            background: #fff;
            content: "";
            position: absolute;
            top: -1em;
            width: 400%;
            left: -1em;
            height: 200%;
            z-index: -1;
            border-radius: 0.5em 0 0 0;
      }
      .mv_slide_center .swiper-button-prev img, .mv_slide_center .swiper-button-next img {
            width: 0.8em;
      }
}
/*dots
------------------------------------------------------------------------*/
.mv_slide_center .swiper-pagination {
      text-align: left;
}
.mv_slide_center .swiper-pagination-bullet-active {
      background: var(--col_main);
}
@media screen and (max-width: 960px) {
      .mv_slide_center .swiper-pagination {
            text-align: right;
            padding-right: 0.2em;
            width: auto;
            right: 0;
            bottom: auto;
            top: -2em;
      }
}
/*紹介文
============================================================================================================ */
.top_about_flex {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 2em;
}
.top_about_flex .text_box {
      width: 53%;
      z-index: 0;
      position: relative;
      padding-bottom: 10em;
}
.top_about_flex .img {
      width: 47%;
      overflow: hidden;
      border-radius: 1em;
}
.top_about_flex .img img {
      width: 100%;
}
.top_about_flex .text_box :before {
      content: "";
      background: url("../images/top/top_about.png") no-repeat;
      position: absolute;
      background-size: contain;
      bottom: 0;
      right: 0;
      aspect-ratio: 300/367;
      width: 18em;
      z-index: -1;
}
.top_about_text > p + p {
      margin-top: 2em;
}
@media screen and (max-width: 960px) {
      .top_about_flex .text_box {
            padding-bottom: 5em;
      }
      .top_about_flex .text_box :before {
            width: 12em;
      }
}
@media screen and (max-width: 680px) {
      .top_about_flex {
            display: block;
      }
      .top_about_flex .text_box {
            width: auto;
            padding-bottom: 9em;
      }
      .top_about_flex .img {
            width: auto;
            border-radius: 0.5em;
      }
      .top_about_flex .text_box :before {
            background: url("../images/top/top_about_sp.png") no-repeat;
            background-size: contain;
            aspect-ratio: 151/243;
            width: 10em;
            bottom: 1em;
      }
}
/*メニュー
============================================================================================================ */
/*タブ
------------------------------------------------------------------*/
.tab_box {
      display: flex;
      justify-content: center;
      gap: 0 1em;
}
.tab_box > * {
      background: #ded8d4;
      font-size: 1.375em;
      width: 100%;
      color: #fff;
      padding: 1em 2em 1em 1em;
      border-radius: 0.5em 0.5em 0 0;
      cursor: pointer;
      position: relative;
      max-width: 50%;
      -webkit-transition: all 0.15s ease;
      transition: all 0.15s ease;
}
.tab_box > *:before {
      content: "";
      aspect-ratio: 1;
      background: url("../images/brn_arrow_ff.svg") no-repeat;
      background-size: contain;
      position: absolute;
      width: 1em;
      top: 50%;
      right: 1em;
      transform: translate(-0%, -50%) rotate(90deg);
}
.tab_box > *.is-active {
      background: var(--bg_beige);
      color: var(--col_main);
}
.tab_box > *.is-active:before {
      background: url("../images/brn_arrow.svg") no-repeat;
      background-size: contain;
}
@media screen and (min-width: 961px), print {
      .tab_box > *:hover {
            background: var(--bg_beige);
            color: var(--col_main);
      }
      .tab_box > *:hover:before {
            background: url("../images/brn_arrow.svg") no-repeat;
            background-size: contain;
      }
}
@media screen and (max-width:680px) {
      .tab_box {
            display: block;
            margin-bottom: 2em;
      }
      .tab_box > * {
            padding: 0.5em 2em 0.5em 0.8em;
            max-width: none;
            width: auto;
            border-radius: 0.3em 0.3em 0.3em 0.3em;
      }
      .tab_box > * + * {
            margin-top: 0.5em;
      }
}
/*tab_list_w
------------------------------------------------------------------*/
.tab_list_w {
      position: relative;
      z-index: 0;
}
.tab_list_w:before {
      content: "";
      background: var(--bg_beige);
      width: 200%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, -0%);
      z-index: -1;
}
/*top-menu-slide*/
.tab_list_ab {
      width: 1800px;
      position: relative;
      left: calc(50% + 330px);
      transform: translate(-50%, -0%);
}
.top-menu-slide li {
      margin: auto 1em;
}
.top-menu-slide .slick-list {
      padding-inline-end: 650px;
}

@media screen and (max-width:1250px) {
      .tab_list_ab {
            width: 90%;
            left: 50%;
      }
      .top-menu-slide .slick-list {
            padding-inline-end: 0;
      }
}
@media screen and (max-width:680px) {
      .tab_list_ab {
            width: 100%;
      }
}
/*

@media screen and (max-width:960px) {

	.tab_list_ab{
		width: 1700px;
	left: calc(50% + 25em);
		    padding-inline-end: 100px;

		
	}
}

*/
/*.tab_list > li {
      height: 500px;
      position: relative;
}
.tab_list.no_contents > li {
      height: auto;
      position: relative;
}
.tab_list_ab {
      width: 1600px;
      position: absolute;
      top: 50%;
      left: calc(50% + 12vw);
      transform: translate(-50%, -50%);
}
.top-menu-slide .slick-list {
      padding-inline-end: 29em;
}
.top-menu-slide li {
      margin: auto 1em;
}
@media screen and (max-width:1370px) {
      .tab_list_ab {
            width: 95vw;
            position: absolute;
            top: 50%;
            left: calc(50% + 2vw);
            transform: translate(-50%, -50%);
      }
      .top-menu-slide .slick-list {
            padding-inline-end: 3em;
      }
}
@media screen and (max-width:960px) {
      .tab_list > li {
            height: 50vw;
      }
}
@media screen and (max-width:680px) {
      .tab_list > li {
            height: auto;
      }
      .tab_list_ab {
            width: auto;
            position: static;
            top: auto;
            left: auto;
            transform: translate(-0%, -0%);
      }
      .top-menu-slide .slick-list {
            padding-inline-end: 0;
      }
}*/
/*.top-menu-slide{
	padding-inline-end:30px;
	width:81vw;
	margin: auto;
	margin-right: calc(-50vw + 48%);
}
.top-menu-slide .slick-list {
    padding-inline-end: 20em;
}.top-menu-slide  li{
	margin:auto 1em ;
}
@media screen and (max-width: 1600px) {
	.top-menu-slide{
	padding-inline-end:30px;

	margin: auto;
	margin-right: calc(-50vw + 48%);
}

}*/
/*oneslide*/
@media screen and (max-width: 680px) {
      .one_slide {
            margin: auto;
      }
}
/*スライド
------------------------------------------------------------------*/
/*矢印リセット*/
.top-menu-slide .slick-prev:before, .top-menu-slide .slick-next:before {
      font-size: 0px;
      opacity: 0;
}
.top-menu-slide .slick-prev, .top-menu-slide .slick-next {
      background: url("../images/slide_arrow.svg") no-repeat;
      background-size: contain;
      aspect-ratio: 1;
      width: 50px !important;
      height: auto !important;
      z-index: 5;
      top: 40%;
      transform: translate(-0%, -50%);
}
.top-menu-slide .slick-prev:hover, .slick-next:hover {
      background: url("../images/slide_arrow.svg") no-repeat;
      background-size: contain;
}
.top-menu-slide .slick-prev {
      left: 0;
      transform: translate(-0%, -50%) rotate(180deg);
}
.top-menu-slide .slick-next {
      left: 1100px;
}
@media screen and (max-width:1370px) {
      .top-menu-slide .slick-next {
            left: 87vw;
      }
}
@media screen and (max-width:960px) {
      .top-menu-slide .slick-next {
            left: 85vw;
      }
}
@media screen and (max-width:680px) {
      .top-menu-slide .slick-prev {
            left: 20px;
      }
      .top-menu-slide .slick-next {
            left: auto;
            right: 20px;
      }
}
/* 店舗
============================================================================================================ */
.top_shop_flex {
      display: flex;
      justify-content: space-between;
      gap: 0 6em;
}
.top_shop_flex .text_box {
      width: 53%;
}
.top_shop_flex .img {
      width: 47%;
}
.gmap {
      overflow: hidden;
      border-radius: 1em;
}
.gmap > * {
      aspect-ratio: 50/42;
      width: 100%;
      height: 100%;
}
@media screen and (max-width: 960px) {
      .top_shop_flex {
            gap: 0 2em;
      }
      .gmap > * {
            aspect-ratio: 430/480;
      }
}
@media screen and (max-width: 680px) {
      .top_shop_flex {
            display: block;
      }
      .top_shop_flex .text_box {
            width: auto;
      }
      .top_shop_flex .img {
            width: auto;
            margin-top: 3em;
      }
      .gmap {
            border-radius: 0.5em;
      }
      .gmap > * {
            aspect-ratio: 320/270;
      }
}
/*table_01
-----------------------------------------------------------------*/
.table_01 table {
      table-layout: fixed;
      width: 100%;
}
.table_01 th, .table_01 td {
      vertical-align: top;
      padding: 1em 0;
}
.table_01 th {
      border-bottom: 1px solid var(--col_main);
}
.table_01 td {
      padding: 1em 0 1em 4em;
      border-bottom: 1px solid #eae1cf;
}
.table_01 tr:first-child th {
      padding: 0 0 1em 0;
}
.table_01 tr:first-child td {
      padding: 0em 0 1em 4em;
}
.table_01 tr:last-child th {
      padding: 1em 0 0 0;
      border-bottom: none;
}
.table_01 tr:last-child td {
      border-bottom: none;
      padding: 1em 0 0em 4em
}
@media screen and (max-width: 960px) {
      .table_01 th {
            width: 30%;
      }
      .table_01 td {
            width: 70%;
            padding: 1em 0 1em 2em;
      }
      .table_01 tr:first-child td {
            padding: 0em 0 1em 2em;
      }
      .table_01 tr:last-child td {
            padding: 1em 0 0em 2em
      }
}
@media screen and (max-width: 680px) {
      .table_01 table tr, .table_01 table th, .table_01 table td {
            display: block;
            padding: 0;
            width: 100%;
      }
      .table_01 tr:first-child th {
            padding: 0;
      }
      .table_01 tr:first-child td {
            padding: 0;
      }
      .table_01 tr:last-child th {
            padding: 0;
      }
      .table_01 tr:last-child td {
            padding: 0;
      }
      /**/
      .table_01 th {
            padding-top: 1em !important;
            padding-bottom: 0.5em !important;
            border-bottom: none;
      }
      .table_01 td {
            padding-bottom: 0 !important;
            border-bottom: none;
      }
      .td_inner {
            padding-bottom: 0.5em;
            border-bottom: 1px solid #eae1cf;
            position: relative;
      }
      .table_01 .td_inner:before {
            content: "";
            width: 3em;
            height: 1px;
            background: var(--col_main);
            position: absolute;
            left: 0;
            bottom: 0;
      }
}
/* slider崩れ対策
-----------------------------------------------------------------*/
/*.top-menu-slide {
      margin: 0;
      padding: 0;
      list-style: none;
}

.top-menu-slide:not(.slick-initialized) {
      display: flex;
      flex-wrap: nowrap;
      overflow: hidden;
}

.top-menu-slide:not(.slick-initialized) > li {
      width: calc((100% - 40px) / 3);
      margin-right: 20px;
      flex: 0 0 calc((100% - 40px) / 3);
}

@media screen and (max-width: 680px) {
      .top-menu-slide:not(.slick-initialized) > li {
            width: 80%;
            flex: 0 0 80%;
      }
}*/
.obj_list .img_inner {
      aspect-ratio: 1 / 1;
      overflow: hidden;
}
.obj_list .img_inner img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}