@charset "utf-8";

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Gilda+Display&display=swap");
@import url("html5reset-1.6.1.css");


@media print{
  body::after { display:none; }
}

*{ box-sizing: border-box; }
html{ height: 100%; overflow: auto; }
body{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  color: #000;
  line-height: 1.7;
  font-size: 84.5%;
  overflow: visible;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 0.01em;
  text-align: center;
  -webkit-font-smoothing: subpixel-antialiased;
  background-color: #fff;
  word-wrap: break-word;
  min-height: 100vh;
  min-height: 100svh;
}

@supports (-webkit-touch-callout: none) {
  html {
    
  }
  body.spmode {
    
    
  }
}

body:before{ content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background-color: #fff; z-index: 10; transition: 1s .5s; pointer-events: none; opacity: 1; }
body.start:before{ opacity: 0; }

img{
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  line-height: 0;
  max-width: 100%;
  height: auto;
  backface-visibility: hidden;
}

a{
  text-decoration: none;
}
a:hover{
  text-decoration: underline;
}

.header{ position: relative; z-index: 3; }
#header-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff; 
  box-shadow: 0 0 10px rgba(0, 0, 0, .2);
  width: 100%;
}
#header-wrap a:hover{ text-decoration: none; }
#header-h1{
  display: flex;
  justify-content: left;
  align-items: center;
  margin-left: 20px;
}
#header-h1 h1{ height: 76px; margin-right: 20px;}
#header-h1 h1 a{ transition: .5s opacity; display: block; height: 100%; }
#header-h1 h1 a:hover{ opacity: .7; }
#header-h1 h1 img{ width: auto; height: 100%;}
#header-h1 #header-tel{ text-align: left; line-height: 1.2; }
.gl-name{ font-family: 'Noto Serif JP', serif; font-weight: 500; letter-spacing: -0.05em; }
a.gl-tel{ font-family: 'Gilda Display', serif; font-size: 300%; line-height: 1; position: relative; color: #000; }
a.gl-tel::before{content: ""; display: inline-block; background: url(../images/icon_free.svg) no-repeat center left; background-size: contain; vertical-align: middle; margin: -5px 7px 0 0; filter: invert(56%) sepia(12%) saturate(748%) hue-rotate(3deg) brightness(89%) contrast(83%); width: .9em; height: .7em; }
.gl-time{ font-size: 80%; letter-spacing: -0.05em; }

#header-menu{}
#header-sub{
  display: flex;
  justify-content: right;
  align-items: center;
}
#header-menu > #header-menu1{ display: none; }
#header-menu1{ text-align: left; font-size: 85%; margin-right: 15px;}
#header-menu1 li a{ position: relative; padding-left: 1.2em; color: #000; line-height: 1; transition: .5s color; }
#header-menu1 li a:hover{ color: #0177d1; }
#header-menu1 li a::before{ content: ""; position: absolute; left: 0; top: calc(50% - 0.4em); background: url(../images/icon_arr1.svg) no-repeat center left; background-size: contain; vertical-align: middle; width: 1em; height: 1em; filter: invert(40%) sepia(78%) saturate(7262%) hue-rotate(187deg) brightness(99%) contrast(101%); }
#header-menu2{ display: flex; margin-right: 10px; }
#header-wrap > #header-menu2{ display: none; }
#header-menu2 li a{ border: 1px solid #7b7a76; padding: 1.4em 1em 1.3em 2.7em; display: block; font-family: 'Noto Serif JP', serif; font-weight: 500; color: #000;  line-height: 1; vertical-align: middle; position: relative; transition: .5s background; }
#header-menu2 li:nth-child(2) a{ border-left: none; }
#header-menu2 li a::before{ content: ""; position: absolute; left: .8em; top: calc(50% - 0.9em); background: url(../images/icon_arr1.svg) no-repeat center left; background-size: contain; vertical-align: middle; width: 1.8em; height: 1.8em; filter: invert(56%) sepia(12%) saturate(748%) hue-rotate(3deg) brightness(89%) contrast(83%); }
#header-menu2 li a:hover{ background: #f8f7ee; }
#header-menu2 li.place a::before{ background-image: url(../images/icon_place.svg);  }
#header-menu2 li.guidance a::before{ background-image: url(../images/icon_guidance.svg);  }
#header-menu3{
  display: flex;
  justify-content: right;
  align-items: center;
}
#header-menu3 li{ height: 73px; width: 11em; text-align: left; margin-left: 1px; }
#header-menu3 li.half{ width: 13.5em; }
#header-menu3 li.half a{ height: 36px; display: block; line-height: 36px; transition: .5s opacity;  }
#header-menu3 li.half a:hover,#header-menu3 li.whole a:hover{ opacity: 0.7; }
#header-menu3 li.half a:nth-child(2){ margin-top: 1px; }
#header-menu3 li.whole{ display: flex; align-items: center; width: auto; margin-right: 10px; }
#header-menu3 li.whole a{ padding: 1em 1.5em; transition: .5s opacity; }
#header-menu3 .sc{ display: none; }
#header-menu3 li.btn-chancel,#header-menu3 li.wid{ width: 22em; }
#header-menu3 a.btn-online{ color: #024fa0; }
#header-menu3 a.btn-contact{ color: #0c295e; }
a.btn-online,a.btn-contact{ position: relative; display: block; padding-left: 1.2em; font-family: 'Noto Serif JP', serif; font-weight: 500; }
a.btn-online::before,a.btn-contact::before{ content: ""; display: inline-block; background: url(../images/icon_arr1.svg) no-repeat center left; background-size: contain; vertical-align: middle; width: 1.8em; height: 1.8em; margin: -2px 4px 0 0; }
a.btn-online{ background-color: #daeef8; }
a.btn-contact{ background-color: #d0e0f3; }
a.btn-online::before{ background-image: url(../images/icon_online.svg); filter: invert(36%) sepia(95%) saturate(3887%) hue-rotate(189deg) brightness(91%) contrast(99%); }
a.btn-contact::before{ background-image: url(../images/icon_contact.svg); filter: invert(18%) sepia(14%) saturate(4097%) hue-rotate(186deg) brightness(94%) contrast(105%);  }
.btn-visit a,.btn-document a,.btn-chancel a{ display: block; height: 73px; line-height: 73px; font-family: 'Noto Serif JP', serif; font-weight: 500; text-align: center; font-size: 130%; letter-spacing: 0.1em; color: #fff; text-shadow: 1px 1px 3px rgba(0,0,0,0.3); transition: .5s filter ; }
.btn-visit a::before,.btn-document a::before,.btn-chancel a::before{ content: ""; display: inline-block; background: url(../images/icon_arr1.svg) no-repeat center left; background-size: contain; vertical-align: middle; width: 1.7em; height: 1.7em; margin: -3px 5px 0 0; filter: brightness(0) invert(1); }
.btn-visit a::before{ background-image: url(../images/icon_visit.svg);  }
.btn-document a::before{ background-image: url(../images/icon_document.svg);  }
.btn-chancel a::before{ background-image: url(../images/icon_chancel.svg);  }
.btn-visit a{ background: linear-gradient(to right, #2056b4, #0c295e); }
.btn-document a{ background: linear-gradient(to right, #009eff, #024fa0); }
.btn-chancel a{ background: linear-gradient(to right, #921120, #64000b); }
.btn-visit a:hover,.btn-document a:hover,.btn-chancel a:hover{  filter: brightness(120%) saturate(160%); }


#header-nav{ font-family: 'Noto Serif JP', serif; font-weight: 500; margin-top: 5px; }
#header-nav > ul{
  display: flex;
  justify-content: right;
  align-items: flex-end;
}
#header-nav > ul > li{
  position: relative;
}
#header-nav > ul > li:before{ content: ""; position: absolute; left: 0; top: 1.2em; width: 1px; height: 2em; background-color: #aaa; }
#header-nav > ul > li > a{ display: block; padding: 1em; color: #000; font-size: 120%; min-width: 6.5em; text-align: center; position: relative; transition: color .5s;}
#header-nav > ul > li > a::before{ content: ""; position: absolute; left: 0; bottom: 0; width: 0; background: linear-gradient(to right, #009eff, #024fa0); height: 4px; }
#header-nav > ul > li > a.new::after{ content: "New"; position: absolute; right: .4em; top: -.3em; color: #b91a00; font-style: italic; font-weight: bold; letter-spacing: -0.01em; display: inline-block; font-family: 'Gilda Display', serif; font-size: 90%; }
#header-nav > ul > li:not(#nav-sc).active > a::before{ width: 100%; }
#header-nav > ul > li:not(#nav-sc):not(.coming) > a:hover,#header-nav > ul > li:not(#nav-sc).active > a{ color: #0177d1; }
#header-nav > ul > li:not(.active):not(.coming) > a:not([href]):hover{ color: #000 !important; }
#header-nav > ul > li > a:not([href]):hover{ cursor: default; }
body:not(.spmode ) #header-nav > ul > li > a:not([href]) + ul{ display:block !important; }


#header-nav > ul > li.coming > a{ color: #96938d; transform: translateY(-5px); }
#header-nav > ul > li.coming > a::after{ content: "coming soon"; position: absolute; left: 0; bottom: 4px; width: 100%; text-align: center; font-size: 70%; font-family: 'Gilda Display', serif;}
#header-nav > ul > li#nav-home > a{ min-width: 1em; padding: .85em 1em; }
#header-nav > ul > li#nav-home > a:after{ content: ""; display: block; background: url(../images/icon_home.svg) no-repeat center center; background-size: contain; width: 2em; height: 2em; filter: invert(53%) sepia(1%) saturate(816%) hue-rotate(16deg) brightness(87%) contrast(81%); }
#header-nav > ul > li#nav-home.active > a:after{ filter: invert(40%) sepia(78%) saturate(7262%) hue-rotate(187deg) brightness(99%) contrast(101%); }
#header-nav > ul > li#nav-sc:before{ display: none; }
#header-nav > ul > li#nav-sc > a{ padding: .5em 0; }
#header-nav > ul > li#nav-sc > a span{ position: relative; background: linear-gradient(to right, #887753, #715a3d); display: block; padding: .5em .7em; color: #fff; overflow: hidden; letter-spacing: -0.05em; transition: filter .5s; }
#header-nav > ul > li#nav-sc > a span:after{ content: "Special Contents"; position: absolute; right: .3em; bottom: -.15em; line-height: 1; font-family: 'Gilda Display', serif; color: rgba(0, 0, 0, .3); font-weight: normal; font-size: 110%; }
#header-nav > ul > li#nav-sc:not(.active):not(.coming) > a:hover span{  filter: brightness(120%) saturate(160%); }
#header-nav > ul > li#nav-sc.active > a span{ background: #715a3d; }
#header-nav > ul > li#nav-sc.coming > a::after{ background-color: rgba(0, 0, 0, .8); left: 10%; bottom: 0; width: 80%;}

#header-nav > ul > li:hover ul{ display: block; opacity: 1; visibility: visible; transition: opacity .5s; }
#header-nav > ul > li ul{ position: absolute; width: 18em; text-align: left; background-color: rgba(0, 0, 0, .8); left: -1.5em; font-size: 105%; visibility: hidden; opacity: 0; transition: none;  }
#header-nav > ul > li:last-child ul{ left: auto; right: 0; }
#header-nav > ul > li ul li:not(:last-child){ border-bottom: 1px solid #000; }
#header-nav > ul > li ul li:not(:first-child){ border-top: 1px solid rgba(255, 255, 255, .1); }
#header-nav > ul > li ul a{ display: block; color: #fff; padding: 1em 1em 1em 2em; line-height: 1.5; position: relative; text-shadow: 1px 1px 3px rgba(0,0,0,0.3); }
#header-nav > ul > li ul a span{ position: relative; z-index: 2; }
#header-nav > ul > li ul a:before{ content: ""; position: absolute; left: .8em; top: 50%; width: 10px; height: 1px; background-color: #c3a659; z-index: 1; }
#header-nav > ul > li ul a.new:before{ content: "New"; background-color: #b91a00;  font-size: 90%; width: 3em; height: 1.8em; line-height: 1.8em; text-align: center; left: -1.5em; top: calc(50% - 1em); letter-spacing: -0.01em; font-style: italic; }
#header-nav > ul > li ul a:after{ opacity: 0; width: 0; height: 100%; content: ""; background: linear-gradient(to right, #009eff, #024fa0); position: absolute; left: 0; top: 0; transition: .5s cubic-bezier(0.61, 1, 0.88, 1); }
#header-nav > ul > li#nav-sc ul a:after{ background: linear-gradient(to right, #887753, #715a3d); }
#header-nav > ul > li ul a:hover:after{ width: 100%; opacity: 1; } 


.sc-mode #header-wrap{ position: fixed; top: -150px; transition: .5s; }
.sc-mode.on #header-wrap{ top: 0; }
.sc-mode #contents-wrap{ padding-top: 138px; }
.sc-mode #header-sub { align-items: flex-start; }
.sc-mode #header-h1 .gl-name{ display: none; }
.sc-mode #header-h1 h1{ height: 50px;}
.sc-mode #header-h1 a.gl-tel{ font-size: 240%; }
.sc-mode #header-h1 .gl-time{ font-size: 75%; }
.sc-mode #header-menu1 li{ display: inline-block; margin-left: .7em; margin-top: .5em; }
.sc-mode #header-menu2 li a{ border: none; font-size: 90%; padding-top: .8em; padding-bottom: .7em; }
.sc-mode #header-menu3 li{ width: auto; }

.sc-mode #header-menu3 li.half a,
.sc-mode #header-menu3 li.whole a{ display: block; float: left; border: none; font-size: 95%; padding-right: 1em; height: 30px; line-height: 30px; }
.sc-mode #header-menu3 li.whole{ display: block; margin-right: 0; }
.sc-mode #header-menu3 li.whole a{ padding: 0 1em; }
.sc-mode #header-menu3 li.half a:nth-child(2) { margin: 0; }
.sc-mode #header-menu3 .btn-visit:not(.wid) a,
.sc-mode #header-menu3 .btn-document:not(.wid) a{
  line-height: .6; font-size: 95%; width: 76px;
}
.sc-mode #header-menu3 .btn-visit.wid a,
.sc-mode #header-menu3 .btn-document.wid a,
.sc-mode #header-menu3 li.btn-chancel{ width: 152px; }
.sc-mode #header-menu3 .btn-visit:not(.wid) a::before,
.sc-mode #header-menu3 .btn-document:not(.wid) a::before{
  display: block; margin: 0 auto; padding-top: 15px; font-size: 140%;
}
.sc-mode #header-menu3 li.btn-chancel a,
.sc-mode #header-menu3 li.wid a{ font-size: 95%; line-height: 1.6; display: flex; justify-content: center;  align-items: center; text-align: left; }
.sc-mode #header-menu3 li.wid a{ font-size: 120%; line-height: 1.4; }
.sc-mode #header-menu3 .sc{ display: inline; }
.sc-mode #header-menu3 li.btn-chancel a:before{ font-size: 130%; margin-right: 3px; }
.sc-mode #header-menu3 li.wid a:before{ font-size: 120%; margin-right: 5px; }

.sc-mode #header-nav{ position: absolute; bottom: 0;right: 160px; }
.sc-mode #header-nav > ul > li:before{ top: .8em; height: 1.3em;}
.sc-mode #header-nav > ul > li > a{ font-size: 100%; padding: .6em 1em;}
.sc-mode #header-nav > ul > li.coming > a::after{ bottom: -2px; }
.sc-mode #header-nav > ul > li#nav-home > a:after{ width: 1.8em; height: 1.8em; }
.sc-mode #header-nav > ul > li#nav-home > a { padding: .58em 1em;}
.sc-mode #header-nav > ul > li#nav-sc > a span{ padding: .2em .7em; border-radius: 0; }
.sc-mode #header-nav > ul > li ul{ font-size: 95%; }
.sc-mode #header-nav > ul > li:last-child ul{ left: -1.5em; right: auto; }

@media screen and (max-width: 1700px) {
  #header-nav > ul > li > a{ font-size: 110%; }
}
@media screen and (max-width: 1530px) {
  #header-h1 #header-tel{ font-size: 80%; }
  #header-h1 { margin-left: 15px; }
  #header-h1 h1{ height: 56px; margin-right: 15px;}
}
@media screen and (max-width: 1430px) {
  /*#header-h1 #header-tel{ display: none; }*/
  #header-wrap{ font-size:.92vw; }
  .sc-mode #header-h1 h1{ height: 45px;}
}
@media screen and (max-width: 1170px) {
  #header-wrap{ font-size:100%; }
  #header-h1 #header-tel a.gl-tel { font-size:250%; }

.menu-trigger span {
  display: block !important;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: absolute;
  right: 15px;
  top: 15px;
  z-index: 10;
  width: 25px;
  height: 11px;
  background: linear-gradient(to right, #2056b4, #0c295e);
  background: linear-gradient(to right, #009eff, #024fa0);
  width: 40px;
  height: 40px;
}
.menu-trigger span {
  position: absolute;
  left: 20%;
  width: 60%;
  height: 2px;
  background: #fff;
}

.menu-trigger span:nth-of-type(1) {
  top: 12px;
}
.menu-trigger span:nth-of-type(2) {
  top: calc(50% - 1px);
}
.menu-trigger span:nth-of-type(3) {
  bottom: 12px;
}
.spmode .menu-trigger span{ background-color: #fff; }
.spmode .menu-trigger span:nth-of-type(1) {
  transform: translateY(4px) rotate(-45deg);
  top: 15px;
  left: 21%;
}
.spmode .menu-trigger span:nth-of-type(2) { opacity: 0; }
.spmode .menu-trigger span:nth-of-type(3) {
  transform: translateY(-4px) rotate(45deg);
  bottom: 15px;
  left: 21%;
}

.spmode{  }
.spmode #main-wrap{ overflow: hidden; height: 100vh; height: 100svh; }
.spmode .header{ overflow: scroll; height: 100vh; height: 100svh; }
 
#common_header{ position: relative; z-index: 1; }
#header-wrap{ position: relative; min-height: 50px; }
#header-h1 h1{ height: 70px; padding: 10px 0; position: relative; z-index: 5;}
#header-menu{ display: none; }
#header-menu2,#header-sub #header-menu1,#nav-home { display: none; }
#header-wrap > #header-menu2 { display: block; margin-right: 70px; position: relative; z-index: 5; }
#header-menu > #header-menu1{ display: block; }
#header-menu > #header-menu1 a:hover{ color: #fff; }
#header-wrap > #header-menu2 li a{ border: none; text-align: left; padding: .5em 0 .5em 1.8em; font-size: 90%; transition: .3s; }
#header-wrap > #header-menu2 li a:before{ left: 0; }
#header-wrap > #header-menu2 li:nth-child(2){ border-top: 1px solid #7b7a76; }
#header-menu3{ display: none; }
#cover{ position: absolute; left: 0; top: 0; width: 100%; height: 100vh; background-color: rgba(0,0,0,1); position: fixed; z-index: 3; visibility: hidden; opacity: 0; transition: all .3s; }

.spmode #header-wrap{ position: absolute; z-index: 4; left: 0; width: 100%; color: #fff; }
.spmode #header-wrap a{ color: #fff; }
.spmode #cover{ visibility: visible; opacity: 1; }
.spmode #header-h1 h1 img{ filter: brightness(0) invert(1); }
.spmode #header-wrap > #header-menu2 li a:hover{ background: none; }
.spmode #header-menu{ display: block; position: absolute; left: 0; top: 0; z-index: 5; width: 100%; margin-top: 70px; padding: 0 5% 5em; }
.spmode #header-nav > ul{ display: block; text-align: left; }
.spmode #header-nav > ul > li{ padding-bottom: .8em; }
.spmode #header-nav > ul > li#nav-sc:before{ display: block; }
.spmode #header-nav > ul > li:not(#nav-sc):not(.coming) > a:hover{ color: #fff; }
#header-nav > ul > li:not(.active):not(.coming) > a:not([href]):hover { color: #fff !important; }
.spmode #header-nav > ul > li:not(#nav-sc) > a.new::after{ display: inline-block; margin-left: .5em; position: relative; right: auto; top: -.1em; color: #d32c11; }
.spmode #header-nav > ul > li.coming > a{ transform: translateY(0); }
.spmode #header-nav > ul > li.coming > a::after{ position: relative; left: 1em; bottom: 2px; width: auto; text-align: left; font-size: 80%;}
.spmode #header-nav > ul > li#nav-sc > a span{ border-radius: 0; }
.spmode #header-nav > ul > li#nav-sc > a.new::after{ color: #d32c11; top: 0; }
.spmode #header-nav > ul > li#nav-sc > a span:after{ position: relative; right: auto; display: inline-block; bottom: 0; font-size: 110%; margin-left: .5em; }
.spmode #header-nav > ul > li#nav-sc.coming > a::after { position:absolute; left:auto; right:0; bottom:auto; top:50%; transform:translateY(-50%); width:auto; padding:0 .5em; }
.spmode #header-nav > ul > li#nav-sc > a:hover span{ filter: none; }
.spmode #header-nav > ul > li ul{ visibility: visible; position: relative;  display: none; justify-content: left;  width: 100%; left: 0; background: none; padding-top: 0; flex-wrap:wrap;  }
.spmode #header-nav > ul > li .selected + ul{ opacity:1; transition:none; }
.spmode #header-nav > ul > li ul li{ border: none; width: 25%; }
.spmode #header-nav > ul > li ul a { padding: .5em 1em .5em 2em; font-weight: normal; }
.spmode #header-nav > ul > li:not(.coming) > a:not([href]):hover{ cursor: pointer; }
.spmode #header-nav > ul > li ul a:after{ display: none; }
.spmode #header-nav > ul > li:before{ left: 0; top: auto; bottom: 0; width: 100%; height: 1px; background-color: #777; }
.spmode #header-nav > ul > li > a{ font-size: 130%; text-align: left; padding: 1em 0 .2em; }
.spmode #header-nav > ul > li ul a.new:before{ width: 2.5em; left: -.8em; top: calc(50% - 1em); letter-spacing: -0.01em; padding-right: .2em; font-style: italic; font-size: 80%; }
.spmode #header-menu1 li{ display: inline-block; margin: 1.5em 1.5em 0 0; }

.sc-mode #header-wrap{ top: -90px; }
.sc-mode.on #header-wrap{ top: 0; }
.sc-mode #contents-wrap{ padding-top: 70px; }
.sc-mode #header-h1 h1 { padding: 5px 0; }
.sc-mode .menu-trigger { top: 5px; }
.sc-mode #header-wrap > #header-menu2 li a {}

#foot-nav{ position: fixed; bottom: -1px; left: 0; width: 100%; z-index: 2; }
#foot-nav ul{ 
display: flex;
justify-content: space-between;
background: linear-gradient(to right, #0c295e ,#009eff);
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
#foot-nav ul li{ width: 80%; border-left: 1px solid rgba(255, 255, 255, .6); }
#foot-nav ul li:first-child{ border: none; }
#foot-nav ul li a{ color: #fff; font-family: 'Noto Serif JP', serif; font-weight: 500; position: relative; line-height: 4; font-size: 100%; text-shadow: 1px 1px 3px rgba(0,0,0,0.3); display: block; letter-spacing: 0.05em; }
#foot-nav ul li a:before{ content: ""; display: inline-block; background: url(../images/icon_arr1.svg) no-repeat center left; background-size: contain; vertical-align: middle; width: 2em; height: 2em; margin: -3px 5px 0 0; filter: brightness(0) invert(1); }
#foot-nav ul li a:hover{ text-decoration: none;  }
#foot-nav ul li.foot-visit a:before{ background-image: url(../images/icon_visit.svg); }
#foot-nav ul li.foot-document a:before{ background-image: url(../images/icon_document.svg); }
#foot-nav ul li.foot-online a:before{ background-image: url(../images/icon_online.svg); }
#foot-nav ul li.foot-contact a:before{ background-image: url(../images/icon_contact.svg); }
#foot-nav ul li.foot-tel a:before{ background-image: url(../images/icon_tel.svg); }
#foot-nav ul li.foot-special a:before{ background-image: url(../images/icon_special.svg); }
#foot-nav ul li.foot-special a{ background: linear-gradient(to right, #887753, #715a3d); }
#foot-nav ul li.foot-chancel a:before{ background-image: url(../images/icon_chancel.svg); }
#foot-nav ul li.foot-chancel a{ background: linear-gradient(to right, #921120, #64000b); }


}
@media screen and (max-width: 950px) {
#foot-nav ul li a{ font-size: 95%; }
}
@media screen and (max-width: 810px) {

#header-h1 { margin-left: 10px;}
.spmode #header-nav > ul > li ul{ flex-wrap: wrap; }
.spmode #header-nav > ul > li ul li{ width: 50%; padding-top: .3em; padding-bottom: .3em; }

.spmode #header-nav > ul > li ul a.new:before{ content: ""; position: absolute; left: .8em; top: 50%; width: 10px; height: 1px; background-color: #c3a659; z-index: 1; }
.spmode #header-nav > ul > li ul a.new:after{ content: "New"; position: relative; display: inline-block; background: #b91a00 !important;  font-size: 90%; width: 2.5em; height: 1.5em; line-height: 1.5em; text-align: center; letter-spacing: -0.01em; font-style: italic; opacity: 1; margin-left: .5em; padding-right: .2em; font-size: 85%; }

#foot-nav ul li a{ line-height: 1; font-size: 90%; letter-spacing: 0; padding: 10px 0 14px; }
#foot-nav ul li.foot-online{ width: 100%; }
#foot-nav ul li.foot-online a{ letter-spacing: -0.05em;  }
#foot-nav ul li a:before{ width: 3em; height: 3em; display: block; margin: 0 auto .2em; }

}

@media screen and (max-width: 650px) {
#header-h1 #header-tel{ display: none; }
}

@media screen and (max-width: 580px) {
#foot-nav { font-size: 2.5vw; }

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

.menu-trigger { top: 8px; right: 8px; }
#header-h1 h1{ height: 56px;}
.spmode #header-nav > ul > li#nav-sc ul li{ width: 100%; }
#header-wrap,#contents-wrap{ font-size: 3vw; }
.spmode #header-menu{ margin-top: 60px; }
.spmode #header-nav > ul > li ul a { font-size: 110%; }
#header-menu > #header-menu1 a{ font-size: 110%; }
#header-wrap > #header-menu2 { margin-right: 60px; }

.sc-mode #contents-wrap{ padding-top: 56px; }
.sc-mode .menu-trigger { top: 5px; }

}

#contents-wrap{ position: relative; padding-bottom: 1px; margin-bottom: 1%; }
#contents-wrap:before{ position: absolute; content: ""; width: 90%; height: 1px; bottom: 0; left: 5%; background-color: #ccc; }

.notice{ background-color: #000; color: #fff; font-family: 'Noto Serif JP', serif; font-weight: 500; letter-spacing: 0.05em; font-size: 110%; }
.notice-in{ display: flex; justify-content: center; align-items: center; padding: .8em 0; }
.notice-in h4{ border: 1px solid #fff; font-size: 130%; letter-spacing: 0.1em; line-height: 2; padding: 0 1em 2px; font-weight: 500; margin-right: 1em; }
.notice-in .txt{ display: flex; justify-content: center; align-items: center; }
.notice-in .date{ color: #dfbe76; margin-left: 1em; font-size: 110%; line-height: 1; margin-top: -.6em; }
.notice-in .date .day{ font-size: 120%; position: relative; top: .05em; }
.notice-in .date .year,.notice-in .date .month{ font-family: 'Gilda Display', serif; font-size: 160%; line-height: 1; position: relative; top: .05em; display: inline-block; margin: 0 1px; }
.notice-in .date .month{ font-size: 200%; top: .1em; }
.notice .txt_area{  text-align:left; }
.notice .notice_small{ font-size: 80%; font-family: 'Noto Sans JP', sans-serif; font-weight:300; }

.info-area,#topics-area,#aj-area,#insta-area{ margin: 6% auto; }
.notes-area{ margin: 6% auto 0; }
.info-area a:hover{ text-decoration: none; }
.info-area{ text-align: center; }
.info-area .tag{ font-family: 'Gilda Display', serif; font-weight: bold; color: #0177d1; letter-spacing: 0.1em; font-size: 130%; margin-bottom: .5em; }
.info-area h2{ font-size: 400%; line-height: 1.2; font-family: 'Noto Serif JP', serif; font-weight: 500;}
.info-area h2.chancel{ color: #64000b; }
.info-area .msg{ font-size: 160%; letter-spacing: -0.05em; font-family: 'Noto Serif JP', serif; font-weight: 500; margin-top: .3em; }
.info-area .msg.note{ font-size: 120%; color: #555; margin-top: .5em; }
.info-area .info-btn1{
  display: flex;
  justify-content: center;
}
.info-area .info-btn1 li{ width: 30em; margin: 1.5em 1em; }
.info-area .info-btn1 li.wid{ width: 50em; }
.info-area .btn-visit a,.info-area .btn-document a,.info-area .btn-chancel a{ height: 4em; line-height: 3.9em; font-size: 180%; position: relative; box-shadow: 0 8px 15px rgba(0, 0, 0, .2); transition: .5s box-shadow,.5s filter;  }
.info-area .btn-visit a:hover,.info-area .btn-document a:hover,.info-area .btn-chancel a:hover{ box-shadow: none; }
.info-area .btn-visit a:after,.info-area .btn-document a:after,.info-area .btn-chancel a:after{ content: ""; display: block; position: absolute; left: 5px; top: 5px; width: calc(100% - 12px); height: calc(100% - 12px); z-index: 1; border: 1px solid rgba(255, 255, 255, .3); }
.info-area .info-tel{
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  text-align: left;
  font-size: 120%;
  margin: 1em auto;
  max-width: 1100px;
}
.info-area .info-tel li{ margin-bottom: 1em; }
.info-area .info-tel .info-logo{ height: 5em; border-right: 1px solid #555; padding-right: 1.5em; margin-right: 1.5em; }
.info-area .info-tel .info-logo img{ width: auto; height: 100%;}
.info-area .info-btn2{
  display: flex;
  justify-content: center;
  text-align: center;
  font-size: 85%;
  margin: 0 1em;
}
.info-area .info-btn2 li{ width: 20em; margin: 1em; }
.info-area .info-btn2 li.wid{ width: 30em; }
.info-area .info-btn2 li a{ line-height: 4em; font-size: 120%; padding: 0; color: #000; background: #fff; border: 1px solid #555; letter-spacing: 0.05em; transition: .5s background-color,.5s border-color ; }
.info-area .info-btn2 li a.btn-online:hover{ background-color: #daeef8; border-color: #024fa0; }
.info-area .info-btn2 li a.btn-contact:hover{ background-color: #d0e0f3; border-color: #0c295e; }

#topics-top{ display:flex; border-bottom:1px solid #0177d1; }
#topics-top > div{ box-sizing:border-box; width:100%; position:relative; overflow:hidden; }
#topics-top:has(> :nth-child(2)) > div{  width:50%; }
#topics-top h3{ text-align:left; font-family: 'Gilda Display', serif; font-size: 150%; font-weight: normal; letter-spacing: 0.05em; color: #0177d1; }
#topics-top .news-list { margin-top:0; padding:0; overflow:hidden; height:4.5em; position:relative; }
#topics-top .news-list .date { font-size:100%; }
#topics-top .news-list .date + p{ overflow: hidden; transform: translateY(-1px);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;  }
#topics-top .news-list li { padding:0 5% 0 3%; border:none; position:absolute; left:0; top:100%; height:100%; display:flex; align-items:center; gap:1em; opacity:0; }
#topics-top .news-list li:nth-child(even){ background: none; }
#topics-top .news-list li p{ line-height:1.6em; }
#topics-top .news-list li.new { width:100%; }
#topics-top .news-list li.new::before { font-weight:normal; }
#topics-top #t-topics{ background-color:#ebf3f8; }
#topics-top .news-list li.start{ animation:t-news-s 1s ease both; }
#topics-top .news-list li.end{ animation:t-news-e 1s ease both; }

@keyframes t-news-s {
  0% { top: 100%;  opacity: 0;}
  100% { top: 0%; opacity: 1;}
}
@keyframes t-news-e {
  0% { top: 0%;  opacity: 1;}
  100% { top: -100%; opacity: 0;}
}

#pickup-bnr{ margin: 6% auto 8%; }
#pickup-bnr h2{ font-family: 'Gilda Display', serif; font-weight: normal;  color: #8d8167; font-size: 300%; margin-bottom: .3em; }
.pickup-slick {}
.pickup-slick .slick-track { display:flex; align-items:center; }
.pickup-slick .slick-list{ padding: 0 5%;  }
.pickup-slick .slick-slide{ padding-top: 5px; margin: 0 10px; overflow: visible; }
.pickup-slick .slick-slide a{ transition: .5s filter; }
.pickup-slick .slick-slide a:hover{  filter: brightness(110%) saturate(120%); }
.pickup-slick .slick-slide a img{ margin: 0 auto; }
.pickup-slick .slick-slide .new{ position: relative; display: block; }
.pickup-slick .slick-slide .new:before{ content: "New"; position: absolute; left: 4px; top: 6px; color: #fff;  font-family: 'Gilda Display', serif; font-weight: bold; font-size: 150%; z-index: 1; transform: rotate(-45deg); text-align: center; }
.pickup-slick .slick-slide .new:after{ content: ""; position: absolute; left: -5px; top: -5px; width: 0; height: 0; display: block; border-top: 30px solid #b91a00; border-left: 30px solid #b91a00; border-right: 30px solid transparent; border-bottom: 30px solid transparent; border-width: 40px;  }
.pickup-slick .slick-dots{ bottom: -35px; }
.pickup-slick .slick-dots li button:before{ font-size: 16px; color: #8d8167; transition: .3s opacity; }
.pickup-slick .slick-dots li.slick-active button:before{ font-size: 20px; }

#sp-contents-menu{ display: none; }

#topics-area{ }
#topics-area #topics-in{
  display: flex;
  justify-content: space-between;
  text-align: left;
  max-width: 1240px;
  margin: 0 auto;
  width: 90%;
}
#topics-area #topics-in > div{ width: 48%; }
#topics-area .news-list{ overflow-y: scroll; overflow-x: hidden; height: 30em; }
.news-list{ margin-top: 10px; text-align: left; }
.news-list li{ border-bottom: 1px solid #ccc; padding: 1.2em .5em 1.5em 0; }
.news-list li:last-child{ border-bottom: none; }
.news-list .date{ font-family: 'Gilda Display', serif; font-weight: bold; color: #0c295e; font-size: 130%; }
.news-list .date .category{ font-family: 'Noto Sans JP', serif; font-weight: 500; font-size: 70%; display: inline-block; border: 1px solid #0c295e; background: #fff; padding: .3em .5em .4em; line-height: 1; min-width: 12em; text-align: center; margin-left: 1em; }
.news-list li a{ color: #2056b4 }
.news-list li:nth-child(even){ background-color: rgba(255, 255, 255, .3); }
.news-list li.new{ position: relative; display: block; }
.news-list li.new:before{ content: "New"; position: absolute; right: 0; top: 4px; color: #fff;  font-family: 'Gilda Display', serif; font-weight: bold; font-size: 90%; z-index: 1; transform: rotate(45deg); text-align: center; }
.news-list li.new:after{ content: ""; position: absolute; right: 0; top: -1px; width: 0; height: 0; display: block; border-top: 30px solid #b91a00; border-right: 30px solid #b91a00; border-left: 30px solid transparent; border-bottom: 30px solid transparent; border-width: 20px;  }
.news-list li.fixed{ background-color: rgba(255,231,68,0.15); padding-left: 1.5em; padding-right: 1.5em; }

#aj-area{ }
.aj-list{ 
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 1240px;
  margin: 2% auto;
  width: 90%;
 }
.aj-list li{ width: 23.5%; position: relative; margin-bottom: 2%; }
.aj-list li a{ background: #fff; display: block; box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); height: 100%;color: #000; transition: .5s all; }
.aj-list li a:before{ content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border: 0 solid #4f9a96; box-sizing: border-box; transition: .2s all cubic-bezier(0.61, 1, 0.88, 1); }
.aj-list li a.win:after{ content: ""; position: absolute; right: 3px; bottom: 4px; width: 2em; height: 2em; background: url(../images/icon_win.svg) no-repeat; background-size: contain; filter: invert(64%) sepia(8%) saturate(2044%) hue-rotate(128deg) brightness(84%) contrast(89%);  }
.aj-list li a:hover{ text-decoration: none; box-shadow:none; filter: brightness(110%) saturate(110%); }
.aj-list li a:hover:before{ border-width: 5px; }
.aj-list li .category{ position: relative; background: #4f9a96; color: #fff; font-weight: 500; display: inline-block; left: 0; top: -1em; height: 2em; padding: .5em; line-height: 1; float: left; min-width: 10em; }
.aj-list li h3{ clear: both; text-align: left; font-weight: 500; padding: 1em 1em 1.5em; position: relative; }
#insta-area{  } 
#insta-in{ max-width: 1240px; margin: 1% auto; }
.notes-area{ background-color: #f2f2f2; padding: 4%; }
.notes-in{ font-size: 80%; text-align: left; margin: 0 auto; max-width: 1240px; line-height: 1.8; color: #333; }
#seller-area{ margin: 2% auto 0;}
.seller{
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1240px;
  margin: 3% auto;
}
.seller li{ margin: 0 3%; }
.seller h3{font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 110%; text-align: left; margin-bottom: 1em;}
.seller a{ display:block; }
#privacy-area{ margin: 2% auto 0; max-width: 1240px; background-color:#ebf3f8; padding:2% 2% 1.5%; text-align:center; }
#privacy-area h3{ font-family: 'Noto Serif JP', serif; font-weight: 500; font-size: 120%; margin-bottom: 0; letter-spacing:0.1em; }
.privacy-list{}
.privacy-list li{ display:inline-block; margin:1em; }
.privacy-list li a{ display:block; font-size:110%; }
.privacy-list a.win{ color:#0177d1; margin-top:.2em; }
.privacy-list a.win:after{ content: ""; display: inline-block; width: 1.6em; height: 1.6em; background: url(../images/icon_win.svg) no-repeat; background-size: contain; filter: invert(29%) sepia(100%) saturate(2832%) hue-rotate(190deg) brightness(93%) contrast(99%); vertical-align:middle; line-height:.8; }

.h2-type1{ position: relative; border-bottom: 1px solid #555; display: flex; justify-content: space-between; align-items: center; }
.h2-type1 h2,.h2-type2 h2{ font-family: 'Gilda Display', serif; font-size: 250%; font-weight: normal; letter-spacing: 0.05em; color: #0177d1; }
.h2-type2{ margin-bottom: 1em; position: relative; max-width: 1240px; margin: 0 auto; width: 90%; }
.h2-type2 h2{ font-size: 340%; line-height: 1.2; }
.h2-type2 h2 + p{ font-size: 140%; font-family: 'Noto Serif JP', serif;  }
.h2-type2 h2 + a.link-btn{ position: absolute; right: 0; top: 0; }

a.rss-link{ font-family: 'Gilda Display', serif; background: url(../images/icon_rss.svg) no-repeat .5em center #ff8800; background-size: 1.3em; color: #fff; padding: .4em .8em .3em 1.7em; line-height: 1; border-radius: 3px; display: inline-block; margin: -.4em 0 0 .8em; transition: opacity .5s; font-size: 14px; vertical-align: middle; letter-spacing: 0em; font-weight: bold; }
a.rss-link:hover{ text-decoration: none; opacity: 0.7; }
a.link-btn{ color: #fff; background: linear-gradient(to right, #2056b4, #0c295e); padding: .8em 2em; line-height: 1; min-width: 6em; text-align: center; font-family: 'Noto Serif JP', serif; font-weight: 500; transition: filter .5s; }
a.link-btn:hover{ text-decoration: none; filter: brightness(120%) saturate(160%); }
a.link-btn.wid{ position: relative; width: 550px; font-size: 160%; display: block; margin: 0 auto; padding: 1.5em 1em; }
a.link-btn.wid:after{ content: ""; display: block; position: absolute; left: 5px; top: 5px; width: calc(100% - 12px); height: calc(100% - 12px); z-index: 1; border: 1px solid rgba(255, 255, 255, .3); }
a.link-btn.win{ position: relative; padding-right: 2.2em;  }
a.link-btn.win:before{ content: ""; position: absolute; right: 10px; top: calc(50% - .8em); width: 1.4em; height: 1.4em; background: url(../images/icon_win.svg) no-repeat; background-size: contain; filter: invert(100%) sepia(24%) saturate(0%) hue-rotate(221deg) brightness(107%) contrast(100%); opacity: 0.7; }


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

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

#contents-wrap{ font-size: 1.2vw; }

.h2-type2 h2 { font-size: 300%; }
.notes-in { font-size: 10px; }
.pickup-slick .slick-slide .new:before{ left: 1px; top: 3px; font-size: 16px; }
.pickup-slick .slick-slide .new:after{ border-width: 30px;  }
.pickup-slick .slick-dots li button:before{ font-size: 12px; }
.pickup-slick .slick-dots li.slick-active button:before{ font-size: 15px; }
#topics-area .news-list{ max-height: 30em; height: auto; }
.news-list li.new:before{ font-size: 10px; }
.news-list li.new:after{ border-width: 17px;  }
a.rss-link { font-size: 12px; }

#seller-area{ margin: 4% auto 0;}
.seller{ flex-wrap: wrap; width: 88%; margin: 4% auto;}
.seller li{ text-align: center; width:40%; margin: 1.5em; }
.seller.type1 li{ width: 70%; }
.seller.type1{ border-bottom: 1px solid #ccc; padding-bottom: 2em; margin-bottom: 2em; }
.seller h3{font-size: 120%; text-align: center; margin-bottom: 1em;}

#common_footer .common_footer_bg { padding-bottom: 80px; }

}

@media screen and (min-width:1170px) {
#foot-nav{ display: none !important;}
a[href^="tel:"]:hover { cursor: default; text-decoration: none; }
.menu-trigger{ display: none; }

}
@media screen and (min-width:810px) {
.sp{ display: none !important;}
}
@media screen and (max-width: 810px) {
#contents-wrap{ font-size: 2vw; }

.notice{ font-size: 100%; }
.notice-in{ width: 96%; margin: 0 auto; justify-content:space-between; }
.notice-in h4{ font-size: 130%; margin-right: 0; letter-spacing: 0.05em; line-height: 2.4; padding: 0 .8em 2px; width:6em; }
.notice-in .txt_area{ width:calc(100% - 9em); }
.notice-in .txt{ display: block; text-align: left; line-height: 1.2; }
.notice-in .date{ margin-left: 0; margin-top: 0; }
.notice-in .date .year,.notice-in .date .month{ font-size: 160%; }
.notice-in .date .month{ font-size: 180%; }
.notice-in .date .day,.notice-in .date .year,.notice-in .date .month{ top: 0; }
.notice .notice_small { font-size:90%; font-weight:500; line-height:1.3; }

#topics-top{ display:block; }
#topics-top > div{ width:100% !important;}

.info-area,#topics-area,#aj-area,#insta-area{ margin: 12% auto; }
.notes-area{ margin: 12% auto 0; }
.info-area .info-in{ width: 88%; margin: 0 auto; }
.info-area .tag{ font-size: 110%; margin-bottom: .3em; }
.info-area h2{ font-size: 250%;}
.info-area .msg{ font-size: 110%; }
.info-area .msg.note{ font-size: 105%; }
.info-area .info-btn1{ display: block; }
.info-area .info-btn1 li{ width: 100% !important;  margin: 1.2em 0; }
.info-area .btn-visit a,.info-area .btn-document a{ height: 3.5em; line-height: 3.5em; font-size: 180%;  }
.info-area .btn-visit a:after,.info-area .btn-document a:after{ content: ""; display: block; position: absolute; left: 3px; top: 3px; width: calc(100% - 8px); height: calc(100% - 8px); }
.info-area .info-tel{
  display: block;
  font-size: 120%;
  margin: 1.5em 0;
  text-align: center;
}
.info-area .info-tel .info-logo{ display: none; }
.info-area .info-tel .gl-time{ font-size: 90%; }
.info-area .info-btn2{ justify-content: space-between; margin: 1.5em 0;}
.info-area .info-btn2 li{ width: 48%; margin: 0; }
.info-area .info-btn2 li a{ line-height: 3.5em; letter-spacing: 0; }
.info-area .info-btn2.wid{ justify-content: center; }
.info-area .info-btn2.wid li{ width: 70%; }

#pickup-bnr{ margin: 12% auto 15%; }
#pickup-bnr h2 { margin-bottom: 0; font-size: 230%; }
.pickup-slick .slick-slide{ margin: 0 5px; }
.pickup-slick .slick-slide .new:before{ left: -1px; top: 1px; font-size: 10px; }
.pickup-slick .slick-slide .new:after{ border-width: 17px; left: -3px; top: -3px;  }
.pickup-slick .slick-dots { bottom: -30px; }
.pickup-slick .slick-dots li button:before{ font-size: 10px; }
.pickup-slick .slick-dots li.slick-active button:before{ font-size: 13px; }
.pickup-slick .slick-dots li { margin: 0; }

#sp-contents-menu{ display: block; padding: 10% 5.5%; background: rgba(0,0,0,0.04); }
#sp-contents-menu ul{ display: flex; justify-content: space-between; flex-wrap: wrap; }
#sp-contents-menu ul li{ width: calc(50% - 2px); background: linear-gradient(to right, #333, #000); margin: 1px; }
#sp-contents-menu ul li a{ display: block; padding: 1.5em 1.5em; color: #fff; font-family: 'Noto Serif JP', serif; font-weight: 500; position: relative; text-align: left; font-size: 110%; text-shadow: 1px 1px 3px rgba(0,0,0,0.3); box-shadow: 0 8px 15px rgba(0, 0, 0, .2); }
#sp-contents-menu ul li a:hover{ text-decoration: none; }
#sp-contents-menu ul li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 12px;
  height: 1px;
  background-color: #c3a659;
  z-index: 1;
}


#topics-area #topics-in{
  display: block;
  width: 88%;
}
#topics-area #topics-in > div{ width: 100%; }
#topics-area #topics-in > div:last-child{ margin-top: 2em; }
.aj-list{  margin: 4% auto; width: 88%;}
.aj-list li{ width: 48%; margin-bottom: 4%; }
.aj-list li a{ box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);  }
.aj-list li a:before{ display: none; }
.aj-list li a.win:after{ right: 2px; bottom: 3px; width: 1.8em; height: 1.8em;  }
.aj-list li h3{ font-weight: 300; }
.notes-area{ padding: 6%; }
.notes-in { font-size: 9.5px; overflow-y: scroll; max-height: 25.5em;}

#privacy-area{ padding:4.5% 4% 4%; }
#privacy-area h3{ margin-bottom:.6em; }
.privacy-list li{ margin:.4em 1em; }

.h2-type1 h2,.h2-type2 h2{ font-size: 230%; }
.h2-type2{ width: 90%; }
.h2-type2 h2 + p{ font-size: 110%;  }
.h2-type2 h2 + a.link-btn{ position: absolute; right: 0; top: 0; }
a.link-btn{ padding: .8em 2em; line-height: 1; min-width: 6em; }
a.link-btn.wid{ width: 88%; font-size: 130%; }
a.link-btn.wid:after{ left: 3px; top: 3px; width: calc(100% - 8px); height: calc(100% - 8px); }

}

@media screen and (max-width: 700px) {
#contents-wrap{ font-size: 2.4vw; }
.seller li{ width:80%; }
.seller.type1 li{ width: 80%; }
}

@media screen and (max-width: 500px) {
#contents-wrap{ font-size: 2.8vw; }
.notice{ font-size: 90%; }

}




a.link,.shop-ank li a{ display: inline-block; position: relative; transition:1s all; color: #5f503f; }
a.link:before,.shop-ank li a:before{ content: ""; width: 0; height: 1px; background-color: #5f503f; position: absolute; left: 50%; bottom: 2px; transition:1s cubic-bezier(.1,.55,.2,1) all; }
a.link.under:before{ left: 0; width: 100%; background-color: #5f503f; }
a.link:hover,.shop-ank li a:hover{ text-decoration: none; color: #333; }
a.link:hover:before,.shop-ank li a:hover:before{ left: 0; width: 100%; }
a.link.under:hover:before{ width: 0; left: 100%; }

a.alqha{ transition: all .6s cubic-bezier(0.33, 1, 0.68, 1); display: block; }
a.alqha:hover{ opacity:0.5; }

a .icon{ display: inline-block; margin-left: .5em; transition: .3s; }
a:hover .icon{ opacity: 0.7; }

.table1{ width: 100%; text-align: left; font-size: 120%; font-weight: 300; letter-spacing: 0.01em; line-height: 1.8; background-color: rgba(255, 255, 255, .5);}
#tab-cont .table1{ background: none; }
.table1 th,.table1 td{ vertical-align: middle; border-bottom: 1px solid #CCD8EF; }
.table1 th{position: relative; width: 25%; font-weight: 500; padding: 1.5em 1em; vertical-align: middle;}
.table1:not(.his) th:after{ content: ""; position: absolute; width: 1px; height: calc(100% - 3em); top: 1.5em; right: 0; background-color: #CCD8EF; }
.table1 td{ width: 75%; padding: 1.5em 2em;}
.table1.his th{ color: #00256C; width: 13%; font-size: 120%;  }
.table1.his th.mon{ text-align: right; width: 9%; color: #666; font-size: 110%;  }
.table1.his td{ width: 78%;}


ul.notes {
  display: table;
  width: 100%;
  margin: 0;
  padding-left: 0;
}
ul.notes li {
  list-style: none;
  font-size: 90%;
  line-height: 1.6;
  color: #555;
  margin-top: .3em;
}
ul.notes li span:first-child {
  display: table-cell;
  vertical-align: top;
  white-space: nowrap;
  padding-right: 0.2em;
}
ul.notes li span {
  display: table-cell;
  vertical-align: top;
}


#pagetop{ position: fixed; z-index: 11; right: -100px; bottom: 30px; transition: all .3s; opacity: 0.7; }
body.on #pagetop{ right: 30px;  }
#pagetop:hover{ transform:translate(0,-5px); opacity: 1; }




@media screen and (max-width: 810px) {
.sp{ display: block; }
.pc{ display: none !important; }

}

/* ボックス内dloatｖalear */
.cf:after,#product .detail:after,#product > dl:after {
	content: ".";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
}
.cf,#product .detail,#product > dl {display: inline-block;}
/* Hides from macIE \*/
* html .cf,* html #product .detail,* html #product > dl {height: 1%;}
.cf,#product .detail,#product > dl {display: block;}
/* End hide from macIE */

sup{ font-size: 70%; margin-top: -2em; display: inline-block;}
.fontP1{ font-size: 110%;}
.fontP2{ font-size: 120%;}
.fontP3{ font-size: 130%;}
.fb{ font-weight: bold;}
.fl { float: left !important; }
.fr { float: right !important; }
.tac{ text-align: center !important;}
.tal{ text-align: left !important;}
.tar{ text-align: right !important;}

.alpha{ transition: .3s; }
.alpha:hover{ opacity: .7; }

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


