@charset "utf-8";

ul,
li {
  list-style: none;
}

.breadcrumbs {
  margin-bottom: 0 !important;
}

.flex {
  display: flex !important;
}

.disblock {
  display: block !important;
}

.txtright {
  text-align: right;
}

.block_attention {
  border-top: double 4px #f57172;
  border-bottom: double 4px #f57172;
  padding: 15px 12px !important;
  line-height: 1.6;
  margin-bottom: 25px;
  text-align: center;
}

.txt_emergency {
  background-color: #e5e503 !important;
  padding: 3px 9px;
  color: #000 !important;
  display: inline-block;
}

.guestHouse {
  margin-top: 80px;
}

#g-restaurant .guestHouse .block_attention p {
  line-height: 1.6;
  margin-bottom: 0 !important;
}

.block_attention .txt-attention {
  color: #f57172;
}

i.fa-exclamation-triangle {
  text-align: center;
  color: #f57172;
  width: 100%;
  height: 20px;
  font-size: 20px;
  position: relative;
}

i.fa-exclamation-triangle:before {
  position: absolute;
  left: 50%;
  transform: translatex(-50%);
}

.pc_hidden {
  display: none;
}

.sp_hidden {
  display: block;
}

/*---------------------------------------------------
main
---------------------------------------------------*/


main#g-restaurant {
  background-color: #fff;
  color: #000;
  letter-spacing: 1.5px;
}

main#g-restaurant .hide {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}

/*---------------------------------------------------
hero
---------------------------------------------------*/

#g-restaurant .heroImg ul {
  position: relative;
  width: 100%;
  max-height: 687px;
  height: 37vw;
  overflow: hidden;
  z-index: 0;
}

#g-restaurant .heroImg li {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  animation: fadesheroImg 15s infinite both;
}

#g-restaurant .heroImg li img {
  object-fit: cover;
  font-family: "object-fit: cover";
  object-position: 50% 50%;
  height: auto;
  width: 100%;
}

#g-restaurant .heroImg li:nth-of-type(1) {
  animation-delay: 0s;
  z-index: 5;
}

#g-restaurant .heroImg li:nth-of-type(2) {
  animation-delay: 5s;
  z-index: 4;
}

#g-restaurant .heroImg li:nth-of-type(3) {
  animation-delay: 10s;
  z-index: 3;
}


@keyframes fadesheroImg {
  0% {
    opacity: 0;
  }

  5% {
    opacity: 1;
  }

  33.33333333% {
    opacity: 1;
  }

  45%{
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

@-webkit-keyframes fadesheroImg {
 0% {
    opacity: 0;
  }

  5% {
    opacity: 1;
  }

  33.33333333% {
    opacity: 1;
  }

  45%{
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

/*---------------------------------------------------
article restaurant
---------------------------------------------------*/

#g-restaurant #container {
  float: none;
  width: 100%;
  padding-top: 120px;
}

#g-restaurant #container .container_inner {
  width: 1000px;
  margin: 0 auto;
}

#g-restaurant section {
  margin-bottom: 120px;
  font-size: 16px;
}

#g-restaurant .h2_block {
  margin-bottom: 45px;
}

#g-restaurant .h2_block h2 {
  font-size: 47px;
  color: #000;
  width: 100%;
  display: block;
  margin-bottom: 35px;
}

#g-restaurant .h2_block hr {
  height: 1px;
  background-color: #808080;
  border: none;
  margin-left: -64%;
}

#g-restaurant .left_block {
  width: 42%;
  margin-left: 10%;
  margin-right: 3%;
}

#g-restaurant .center_block {
  width: 980px;
  margin: auto;
}

#g-restaurant .right_block {
  margin-left: auto;
  margin-right: 0;
  width: 45%;
}

#g-restaurant .wide_block {
  width: 100%;
  margin-bottom: 90px;
}

#g-restaurant img {
  width: 100%;
  vertical-align: top;
}

#g-restaurant .wide_block .afterLunch {
  text-align: center;
  margin-top: 55px;
  margin-bottom: 170px;
  padding: 0 15px;
  font-size: 16px;
  line-height: 1.5;
}

#g-restaurant p {
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 25px;
}

div.lm {
  margin-bottom: 50px;
}

/*---------------------------------------------------
TDK ゲストハウス
---------------------------------------------------*/


#g-restaurant .guestHouse .gh_info {
  border: solid 1px #ccc;
  padding: 25px 45px;
  margin-top: 55px;
}

#g-restaurant .guestHouse .gh_info li {
  line-height: 1.4;
}

#g-restaurant .guestHouse .gh_info a,
.center_block .lm_description a.icon_arrow {
  margin-left: 30px;
  position: relative;
  display: inline;
  color: #000;
}

.center_block .lm_description a.icon_arrow {
  margin-left: 20px;
}

#g-restaurant .guestHouse .gh_info a.icon_arrow:before,
.center_block .lm_description a.icon_arrow:before {
  content: "";
  position: absolute;
  top: 4px;
  left: -21px;
  width: 18px;
  height: 18px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #008DB0;
  display: inline-block;
  z-index: 300;
}

.center_block .lm_description a.icon_arrow:before {
  top: 3px;
}

#g-restaurant .guestHouse .gh_info a.icon_arrow:after,
.center_block .lm_description a.icon_arrow:after {
  content: "";
  position: absolute;
  left: -16px;
  top: 9px;
  width: 5px;
  height: 5px;
  font-weight: bold;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  display: inline-block;
  z-index: 301;
}

#g-restaurant .guestHouse .gh_info-title {
  margin-bottom: 25px;
  font-size: 20px;
}

#g-restaurant .guestHouse .gh_info-list li {
  list-style: disc;
  margin-left: 20px;
}

/*---------------------------------------------------
ランチメニュー
---------------------------------------------------*/

#g-restaurant .lunchMenu .col_01 .ml {
  margin-top: 30px;
}

#g-restaurant .lunchMenu .lm .title {
  font-size: 19px;
  font-weight: bold;
  margin-top: 15px;
  margin-bottom: 7px;
}

#g-restaurant .lunchMenu .lm .price {
  font-size: 19px;
  text-align: right;
  border-bottom: solid 1px #808080;
  margin-bottom: 10px;
  padding-bottom: 10px !important;
}

#g-restaurant .lunchMenu .lm small {
  font-size: 15px;
}

#g-restaurant .lunchMenu .lm_supplement {
  padding-bottom: 10px !important;
  margin-bottom: 10px;
  border-bottom: 1px solid #808080;
}

#g-restaurant .lunchMenu .lm_description {
  font-size: 15px;
  line-height: 1.5;
}

#g-restaurant .lunchMenu .col_02 {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
}

#g-restaurant .lunchMenu li {
  width: 48.5%;
}

#g-restaurant .lunchMenu li:nth-of-type(odd) {
  margin-right: 3%;
}

/*
#g-restaurant .lunchMenu .limitedmenu_title .title {
  background-color: #CC1C24;
  text-align: center;
  width: 409px;
  font-size: 21px;
  margin: 20px auto;
  padding: 10px !important;
}
*/
.limitedmenu_title {
  text-align: center;
  margin-bottom: 30px;
  margin-top: 120px;
}

#g-restaurant .lunchMenu .limitedmenu_n {
  position: relative;
  z-index: 1;
}

#g-restaurant .limitedmenu_title img {
  width: 500px;
}

#g-restaurant .lunchMenu .limitedmenu_n:before {
  display: inline-block;
  padding: 5px;
  background-color: #CC1C24;
  color: #fff;
  font-size: 24px;
  position: absolute;
  z-index: 2;
  right: 0;
  width: 24px;
  text-align: center;
}

#g-restaurant .lunchMenu .limitedmenu_n.n1:before {
  content: "1";
}

#g-restaurant .lunchMenu .limitedmenu_n.n2:before {
  content: "2";
}

#g-restaurant .lunchMenu .limitedmenu_n.n3:before {
  content: "3";
}

#g-restaurant .lunchMenu .limitedmenu_n.n4:before {
  content: "4";
}

/*---------------------------------------------------
お弁当 boxLunch
---------------------------------------------------*/

#g-restaurant .boxLunch .flex .right_block {
  margin-left: auto;
  margin-right: 9%;
  width: 36%;
}

#g-restaurant .boxLunch .title {
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 15px !important;
}

#g-restaurant .boxLunch .caution li {
  line-height: 1.5;
}

#g-restaurant .boxLunch h2 span {
  font-size: 25px;
  padding-left: 15px;
  font-weight: normal;
}

#g-restaurant .boxLunch .inquiry {
  margin-top: 20px;
}

#g-restaurant .boxLunch .inquiry p {
  margin-bottom: 7px;
}



#g-restaurant .boxLunch .inquiry a[href*="tel:"]:link {
  color: #000 !important;
}

#g-restaurant .boxLunch .inquiry .indent {
  margin-left: 51px;
  text-indent: -51px;
  line-height: 1.5rem;
  margin-bottom: 0 !important;
}

/*---------------------------------------------------
  termsOfUse
  ---------------------------------------------------*/

#g-restaurant .termsOfUse .termsOfUse_wrapper {
  width: 100% !important;
  margin: 0 10%;
}

/*
#g-restaurant .termsOfUse .right_block {
  width: 30% !important;
}
*/
#g-restaurant .payment {
  width: 100%;
}

#g-restaurant .payment p {
  margin-bottom: 10px !important;
}

#g-restaurant .payment p.paymentCard {
  margin-bottom: 25px !important;
}

#g-restaurant .payment .termsOfUse_air-wait {
  width: 85%;
  margin: 15px auto 25px;
  position: relative;
}

#g-restaurant .payment .termsOfUse_air-wait figcaption {
  position: absolute;
  bottom: 9px;
  left: 4px;
  color: #0d35ab;
  font-size: 14px;
  letter-spacing: 0.1px;
}

#g-restaurant .cregitLogo {
  display: flex;
  align-items: flex-start;
  background-color: #fff;
  width: 70%;
  margin: 0 auto;
  max-width: 860px;
}

#g-restaurant .cregit_LogoL,
.cregit_LogoR {
  width: 50%;
}

#g-restaurant p.payment_caution {
  color: #06ace5;
  text-align: center;
  font-size: 12px !important;
  margin: 0 5px 0 0 !important;
  letter-spacing: 0.5px;
  line-height: 1.2;
}

/*---------------------------------------------------
aside
---------------------------------------------------*/


#g-restaurant aside {
  float: none;
  overflow: hidden;
  width: 90%;
  max-width: 800px;
  min-width: 600px;
  margin: auto;
}

#g-restaurant .guideNav {
  background-color: #fff;
}

#g-restaurant aside nav ul {
  display: flex;
  flex-wrap: wrap;
}


@media screen and (max-width: 1029px) {

  #g-restaurant #container {
    padding-top: 7vw !important;
  }

  #g-restaurant section {
    margin-bottom: 9vw;
  }

  #g-restaurant .h2_block h2 {
    font-size: 4.7vw;
    margin-bottom: 3.5vw;
  }

  #g-restaurant .boxLunch h2 span {
    font-size: 2.5vw;
    padding-left: 15px;
  }

  #g-restaurant .left_block {
    width: 45%;
    margin-left: 7%;
  }

  #g-restaurant .center_block {
    width: 100%;
  }

  /*---------------------------------------------------
heroImg
---------------------------------------------------*/
  g-restaurant .heroImg li img {
    object-fit: cover;
    font-family: "object-fit: cover";
    object-position: 50% 50%;
    height: 550px;
    width: 100%;
  }

  /*---------------------------------------------------
guestHouse
---------------------------------------------------*/

  #g-restaurant .guestHouse .gh_info {
    padding: 2vw;
    margin-top: 8vw;
  }

  /*---------------------------------------------------
lunchMenu
---------------------------------------------------*/
  #g-restaurant .lunchMenu .col_01,
  #g-restaurant .lunchMenu .col_02,
  #g-restaurant .lunchMenu .limitedmenu_title {
    padding: 0 20px;
  }


  /*---------------------------------------------------
afterLunch
---------------------------------------------------*/
  #g-restaurant .wide_block .afterLunch {
    margin-top: 5.7vw;
    margin-bottom: 9vw;
  }


}

@media screen and (min-width: 641px) {

  /*---------------------------------------------------
aside
---------------------------------------------------*/

  #g-restaurant aside nav ul li {
    width: 50%;
  }

  #g-restaurant aside nav ul li:nth-child(odd) {
    border-right: 1px solid #0e3a86;
  }

  #g-restaurant aside nav ul li:nth-of-type(2) {
    border-top: 1px solid #0e3a86;
  }

  #g-restaurant aside nav ul li:nth-of-type(7) {
    border-bottom: none;
    line-height: 40px;
  }

  #g-restaurant .boxLunch .inquiry a[href*="tel:"] {
    pointer-events: none;
    cursor: none;
    text-decoration: none;
  }


}


@media screen and (max-width: 640px) {

  .pc_hidden {
    display: block;
  }

  .sp_hidden {
    display: none;
  }

  #g-restaurant #container {
    padding-top: 4vw !important;
  }

  #g-restaurant section {
    display: block !important;
    margin-bottom: 14vw;
  }

  .block_attention {
    margin: 0 30px 25px !important;
  }

  .txt-attention {
    text-align: left;
  }

  #g-restaurant .h2_block {
    padding-left: 30px;
  }

  #g-restaurant .h2_block h2 {
    font-size: 6vw;
  }

  #g-restaurant .left_block {
    width: 100%;
    padding: 0;
    margin-left: 0;
    margin-right: 0;
  }

  /*---------------------------------------------------
heroImg
---------------------------------------------------*/

  #g-restaurant .heroImg ul {
    height: 49vw;
  }

  #g-restaurant .heroImg ul:before {
    content: "";
    display: block;
    padding-top: 75%;
  }

  /*---------------------------------------------------
guestHouse
---------------------------------------------------*/

.guestHouse{
  margin-top: 30px;
}
  #g-restaurant .guestHouse p {
    padding: 0 30px !important;
  }

  #g-restaurant .guestHouse .gh_info li {
    padding-bottom: 5px;
  }

  #g-restaurant .guestHouse img {
    padding: 0 30px;
    margin-bottom: 30px;
  }

  #g-restaurant .guestHouse .gh_info {
    margin: 0 30px 20px;
    padding: 4vw;
  }

  #g-restaurant .guestHouse .gh_info p {
    padding: 0 !important;
  }



  /*---------------------------------------------------
wide_block
---------------------------------------------------*/

  #g-restaurant .wide_block {
    margin-bottom: 13vw;
  }

  /*---------------------------------------------------
lunchMenu
---------------------------------------------------*/

  #g-restaurant .boxLunch .title {
    font-size: max(3.5vw, 20px);
  }

  #g-restaurant .boxLunch h2 span {
    font-size: 15px;
  }

  #g-restaurant .lunchMenu .col_01,
  #g-restaurant .lunchMenu .col_02,
  #g-restaurant .lunchMenu .limitedmenu_title {
    padding: 0 30px;
  }

  #g-restaurant .lunchMenu .col_02 li {
    width: 100%;
    margin-right: 0;
  }

  #g-restaurant .lunchMenu p {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #g-restaurant .lunchMenu .limitedmenu_title .title {
    width: 100%;
    font-size: 18px;
  }

  /*---------------------------------------------------
boxLunch
---------------------------------------------------*/

  #g-restaurant .boxLunch .flex {
    display: block !important;
  }

  #g-restaurant .boxLunch img {
    margin-bottom: 30px;
    padding: 0 30px;
  }

  #g-restaurant .boxLunch .right_block {
    margin-right: 0 !important;
    width: 100% !important;
  }

  #g-restaurant .boxLunch .caution {
    padding: 0 30px;
  }

  #g-restaurant .boxLunch .link-inquiry {
    margin-top: 6vw;
    text-align: center;
  }

  #g-restaurant .boxLunch a[href*="tel:"] {
    text-decoration: none;
    display: inline-block;
    margin-top: 0;
  }

  #g-restaurant .boxLunch p {
    padding: 0 30px !important;
  }

  /*---------------------------------------------------
afterLunch
---------------------------------------------------*/

  #g-restaurant .wide_block .afterLunch {
    text-align: left;
  }

  #g-restaurant .afterLunch p {
    padding: 0 30px !important;
  }

  #g-restaurant .termsOfUse img {
    margin-bottom: 30px;
    padding: 0 30px;
  }

  #g-restaurant .termsOfUse p {
    padding: 0 30px !important;
  }

  /*---------------------------------------------------
termsOfUse
---------------------------------------------------*/

  #g-restaurant .termsOfUse .termsOfUse_wrapper {
    width: 100% !important;
    margin: 0 auto;
  }

  #g-restaurant .termsOfUse .right_block {
    width: 100%c
  }

  #g-restaurant .payment {
    width: 100%;
    margin: 0 auto;
  }

  #g-restaurant .cregitLogo {
    display: block;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    max-width: 491px;
    width: 90%;
  }

  #g-restaurant .cregitLogo img {
    padding: 0;
    margin-bottom: 0;
  }

  #g-restaurant .payment .termsOfUse_air-wait img {
    margin-bottom: 0 !important;
    padding: 0 !important;
  }

  #g-restaurant .payment .termsOfUse_air-wait figcaption {
    bottom: 3px;
    left: 0px;
    font-size: 13px;
  }

  #g-restaurant .cregit_LogoL,
  #g-restaurant .cregit_LogoR {
    width: 100%;
  }

  /*---------------------------------------------------
aside
---------------------------------------------------*/
  #g-restaurant aside nav ul li {
    width: 100%;
  }

  /*--------------------------------------------------
  limitedmenu
  --------------------------------------------------*/
  .limitedmenu_title {
    margin-bottom: 20px;
    margin-top: 70px;
  }

  #g-restaurant .limitedmenu_title img {
    width: 100%;
  }

}