@charset "UTF-8";
* {
  margin:0;
  padding:0;
}
html, body {
  width:100%;
  height:auto;
  margin:0;
  padding:0;
}
html {
  font-size:62.5%;
  -webkit-text-size-adjust: 100%;
}
body {
  font-family:'Noto Serif JP','YuMincho','游明朝','Times New Roman','Hiragino Mincho ProN','HGS明朝B','ＭＳ Ｐ明朝',serif;
  color:#003333;
  background:#fff;
  font-size:1.4rem;
  letter-spacing:0.025em;
  line-height:2;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position: relative;
}
_:lang(x)::-ms-backdrop, .selector {
	font-family: "Segoe UI", Meiryo, sans-serif;
}
a {
  text-decoration: none;
  color:#003333;
}
a:hover {
  color:#003333;
}
.fade {
  opacity:0;
  transition:1s;
}
.is-fade {
  opacity:1;
}
.fadeInUP {
  opacity:0;
  transform: translate(0, 50px);
  transition:1.5s;
}
.is-fadeInUP {
  opacity:1;
  transform:translate(0, 0);
}
.fadeInUP2 {
  opacity:0;
  transform: translate(0, 80px);
  transition:1.5s;
}
.is-fadeInUP2 {
  opacity:1;
  transform:translate(0, 0);
}
.fadeInDown {
  opacity:0;
  transform: translate(0, -50px);
  transition:1.5s;
}
.is-fadeInDown {
  opacity:1;
  transform:translate(0, 0);
}
.fadeInScale {
  transform:scale(.9);
  opacity:0;transition:1.5s;
}
.is-fadeInScale {
  transform:scale(1);
  opacity:1;
}
.fadeInRight {
    opacity: 0;
    transform: translateX(50px);
}
.is-fadeInRight {
    opacity: 1;
    transform: translateX(0);
    transition:1s;
}
.fadeInLeft {
    opacity: 0;
    transform: translateX(-50px);
}
.is-fadeInLeft {
    opacity: 1;
    transform: translateX(0);
    transition:1s;
}
#heading {
  width:100%;
  height:auto;
  position:absolute;
  top:42vh;left:50%;transform:translate(-50%,0);
  z-index:1;
}
#heading h1 {
  width:100%;
  height:auto;
  max-width:1280px;
  box-sizing:border-box;
  margin:0 auto;text-align:right;
  font-size:1rem;
  line-height:1;padding:5px 0;
  position:relative;
}
/*----------------------------------------------------
  loading
----------------------------------------------------*/
.loading{
  width:100vw;
  height:100vh;
  background:#fff;
  display:flex;
  justify-content:center;
  align-items:center;
  position:fixed;
  top:0;
  left:0;
  z-index:99999;
}
.loading img{
  width:30%;
  max-width:320px;
}

/*----------------------------------------------------
  header
----------------------------------------------------*/
header {
  width:100%;
  height:auto;
}
#header01 {
  width:100%;
  height:auto;
  position:fixed;
  top:0;left:0;
  z-index:999;
  letter-spacing:.05em;
  box-sizing:border-box;
  transition:1s cubic-bezier(.4, 0, .2, 1);
}
.srcoll #header01 {
  background:#fff;
  transition:1s cubic-bezier(.4, 0, .2, 1);
}
.head-animation {
  transform: translateY(-100%);
}
#global-nav {
  width:100%;
  height:60px;
  transition: 1s cubic-bezier(.4, 0, .2, 1);
}
.global-nav {
  width:100%;
  height:60px;
  max-width:1280px;
  padding:0 20px;
  box-sizing:border-box;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.scroll #global-nav {
  background:rgba(255,255,255,.8);
  transition: 1s cubic-bezier(.4, 0, .2, 1);
}
.global-nav-logo {
  display:flex;
  position:relative;
  z-index:1000;
}
.global-nav-logo a {
  display:block;
  width:100%;height:52px;
}
.global-nav-logo a img {
  display:block;
  width:auto;
  height:100%;
}
#navigation {
  display:flex;
  width:100%;
  max-width:calc(100% - 184px);
  height:60px;
}
.overlay {
  display:none;
}
nav {
  width:100%;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
nav ul {
  width:100%;height:auto;
  display:flex;justify-content:flex-end;
  align-items:center;
  list-style:none;
}
nav li {
  display:flex;
  letter-spacing:0;
}
nav li a {
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  color:#005068;
  line-height:1.4;
  padding:0 10px;
  font-size:1rem;
}
.nav-text {
  font-family: 'Cinzel', serif;
  font-size:1.4rem;
}
.nav-online {
  width:auto;
  height:42px;
}
.nav-online a,.nav-online a img {
  display:block;
  width:auto;height:100%;
}
.nav-online-sp {
  display:none;
  position:absolute;
  top:0;left:0;
  width:60px;height:70px;
  z-index:1001;
}
.nav-online-sp a {
  display:flex;justify-content:center;align-items:center;
  width:100%;height:100%;
}
.nav-online-sp a img {
  display:block;
  width:auto;height:32px;
}
.nav-online-sp-banner {
  display:none;
  width:60%;height:auto;
}
.nav-online-sp-banner a,
.nav-online-sp-banner a img {
  display:block;
  width:100%;height:auto;
}
.global-nav-logo-sp {
  display:none;
  width:50%;height:auto;
  padding:0 10px;
  box-sizing:border-box;
  position:relative;
  z-index:1;
}
.global-nav-logo-sp a,
.global-nav-logo-sp a img {
  display:block;
  width:100%;height:auto;
}
.navigation-bg {
  display:none;
}
/*----------------------------------------------------
  #nav-toggle
----------------------------------------------------*/
#nav-toggle {
  display:none;
  position:fixed;
  top:0;
  right:0;
  width:60px;
  height:60px;
  z-index:1003;
  cursor:pointer;
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position:relative;z-index:1;
  width:32px;
  height:60px;
}
.menu-trigger span {
  position:absolute;
  left:50%;
  width:32px;
  height:3px;
  transform: translate(-50%,0);
  background:#005068;
  border-radius:2px;
}
.scroll .menu-trigger span {
  background:#005068;
}
.menu-trigger span:nth-of-type(1) {
  top:22px;
}
.menu-trigger span:nth-of-type(2) {
  position: absolute;
  right: 0;
  top:32px;
}
.menu-trigger span:nth-of-type(3) {
  top:42px;
}
.menu-trigger.active span {
  position:absolute;left:50%;
  background:#fff;
}
.menu-trigger.active span:nth-of-type(1) {
  top:8px;
  -webkit-transform: translateY(20px) rotate(-45deg);
  transform: translate(-50%,20px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: active-menu-bar .8s forwards;
  animation: active-menu-bar02 .8s forwards;
}
@-webkit-keyframes active-menu-bar {
  100% {
    height: 0;
  }
}
@keyframes active-menu-bar {
  100% {
    height: 0;
  }
}
.menu-trigger.active span:nth-of-type(3) {
  top:48px;
  -webkit-transform: translateY(-20px) rotate(45deg);
  transform: translate(-50%,-20px) rotate(45deg);
}

/*----------------------------------------------------
  main-img
----------------------------------------------------*/
main {
  width:100%;
  height:auto;
  overflow:hidden;
  position:relative;
}
#main-img {
  width:100%;
  height:40vh;
  position:relative;
}
#main-img::after {
  display:block;
  content:'';
  width:100%;
  height:100%;
  position:absolute;
  top:0;left:0;
  background:url('https://bottegablu.com/img/top/main-img-bg.png');
  background-size:cover;
}
.main-img-title {
  width:100%;
  height:auto;
  display:flex;
  flex-direction:column-reverse;
  justify-content:center;
  align-items:center;
  position:absolute;
  top:55%;left:50%;
  transform:translate(-50%,-50%);
  z-index:1;
}
.main-img-title img {
  display:block;
  width:20%;height:auto;
  min-width:200px;
  margin-bottom:10px;
}
.main-img-title h2 {
  font-size:1.6rem;
  font-weight:normal;
}
/*------------------------------------
footer
------------------------------------*/
#footer01 {
  width:100%;height:auto;
  position:relative;
  color:#fff;
  background:#000;
}
#foote01 a {
  color:#fff;
}
#footer01::after {
  display:block;
  content:'';
  width:100%;height:100%;
  position:absolute;
  top:0;left:0;
  background:url('https://bottegablu.com/img/top/footer-bg.png');
  opacity:.3;
  background-size:cover;
}
.footer01 {
  width:90%;
  max-width:1280px;
  height:auto;
  margin:0 auto;
  padding:100px 0;
  position:relative;
  z-index:1;
}
.footer01-cols {
  width:100%;
  height:auto;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
}
.footer-info {
  width:65%;
  height:auto;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
}
.footer-address {
  width:47.5%;
  height:auto;
}
.footer-logo {
  width:90%;
  height:auto;
  margin-bottom:20px;
}
.footer-logo a,.footer-logo a img {
  display:block;
  width:100%;height:auto;
}
.footer-logo a h2 {
  width:100%;
  height:auto;
}
.footer-address > ul {
  width:100%;
  height:auto;
  display:flex;
  flex-wrap:wrap;
  line-height: 1.4;
  list-style:none;
}
.footer-address > ul > li {
  width:85%;
  padding:4px 0;
}
.footer-address-number {
  display:flex;
  flex-direction:column;
}
.post-code {
  font-size:1rem;
}
.footer-address-tel a {
  display:block;
  width:100%;height:auto;
}
.footer-address-tel a img {
  display:block;
  width:70%;height:auto;
}
.footer-address-open {
  width:100%;
  height:auto;
  font-size:1.2rem;
  list-style:none;
}
.opening {
  width:100%;
  height:auto;
  display:flex;
  align-items:center;
}
.opening:nth-of-type(n+2) {
  margin-top:2px;
}
.opening-tab {
  display:inline-block;
  width:80px;
  padding:4px 0;
  background:rgba(0,0,0,.5);
  margin-right:3px;
  border-radius:2px;
  text-align:center;
  font-size:1.2rem;
}
.footer-sns {
  width:100%;height:auto;
  display:flex;justify-content:space-between;
  flex-wrap:wrap;
}
.footer-sns a {
  display:block;
  width:49.5%;height:auto;
  background:rgba(0,0,0,.5);
  border-radius:2px;
}
.footer-sns a img {
  display:block;
  width:100%;height:auto;
}
.footer-googleM a {
  display:flex;
  align-items:center;
  justify-content:center;
  width:140px;height:28px;
  margin-top:4px;
  border-radius:4px;
  background:#fff;
  color:#1a1a1a;
  letter-spacing:0;
}
.footer-googleM a i {
  margin-right:5px;
}
.footer-map {
  width:47.5%;height:auto;
  position:relative;
}
.footer-map img {
  display:block;
  width:100%;height:auto;
}
.footer-nav {
  width:24%;
  height:auto;
  color:#fff;
}
.footer-nav a {
  color:#fff;
}
.footer-nav ul {
  width:100%;
  height:auto;
  list-style:none;
}
.footer-nav ul li {
  width:100%;height:auto;
}
.footer-nav ul li a {
  display:block;
  width:100%;height:auto;
}
.footer-nav-main {
  display:inline-flex;
  align-items:center;
  width:120px;
}
.footer-nav-main::after {
  display:block;
  content:'';
  flex:1;
  border-top:1px solid #666;
  margin-left:16px;
}
.footer-nav-sub {
  font-size:1.2rem;
  margin-left:20px;
}
.footer-nav-online {
  width:100%;
  height:auto;
  margin-top:16px;
}
.footer-nav-online a,.footer-nav-online img {
  display:block;
  width:100%;height:auto;
}
.copyright {
  text-align:center;
  position:relative;z-index:1;
  font-size:1.2rem;
}
.sp-style {
  display:none;
}
@media screen and (max-width: 1360px) {
  html {
    font-size:0.73529412vw;
  }
  main {
    font-size:clamp(1.2rem,1.1vw, 1.6rem);
  }
  #heading h1,.footer01 {
    width:90%;max-width:initial;
  }
}
@media screen and (max-width: 1280px) {
}
@media screen and (max-width: 1220px) {
}
@media screen and (max-width: 1024px) {
  .footer01 {
    width:80%;
    flex-wrap:wrap;
  }
  .footer-info {
    width:100%;
  }
  .footer-nav {
    display:none;
  }
}
@media screen and (max-width:970px) {
}
@media screen and (max-width:896px) {
  #header01 {
    position: fixed;
    z-index: 1001;
  }
  #global-nav {
    width:100%;
    height:70px;
    max-width: initial;
    padding-left: 0;
  }
  .global-nav {
    height:70px;
    justify-content: space-between;
    box-sizing: border-box;
  }
  .global-nav-logo {
    width:100%;
    margin-left:0;
    margin-right:10px;
  }
  .global-nav-logo a img {
    margin:0 auto;
  }
  #nav-toggle {
    display: block;
  }
  .nav-online-sp {
    display:block;
  }
  .nav-online {
    display:none;
  }
  .nav-online-sp-banner {
    display:block;
    margin-top:20px;
    position:relative;
    z-index:1;
  }
  /*-------------------------------------------------
    toggle オーバーレイ
  -------------------------------------------------*/
  #navigation {
    width:100%;
    max-width:initial;
    height:100vh;
    background:#fff;
  }
  .overlay {
    position:fixed;
    top:0;
    left:0;
    z-index:1003;
    width:100%;
    height:auto;
    display:flex;
    justify-content:space-between;
    padding:0;
    box-sizing:border-box;
    opacity:0;
    visibility:hidden;
    transition:.4s;
  }
  .overlay.is-open {
    width:100%;
    height:auto;
    opacity: 1;
    visibility:visible;
  }
  .navigation-bg {
    display:block;
    width:40%;
    height:100%;
    background-color:#000;
    background-image:url('https://bottegablu.com/img/top/navigation-bg.png');
    background-size:cover;
  }
  nav {
    width:60%;
    height:auto;
    overflow-y:scroll;
    margin:0 auto;
    padding:100px 50px;box-sizing:border-box;
    display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;
    background:#000;
    position:relative;
  }
  nav::after {
    display:block;
    content:'';
    width:100%;height:100%;
    position:absolute;
    top:0;left:0;
    background:url('https://bottegablu.com/img/top/footer-bg.png');
    opacity:.3;
    background-size:cover;
  }
  nav::-webkit-scrollbar {
    display:none;
  }
  nav ul {
    width:100%;max-width:520px;
    height:auto;margin: 0 auto;
    flex-direction:row;
    flex-wrap:wrap;justify-content:space-between;
    position:relative;
    z-index:1;
  }
  nav ul li {
    width:49%;height:auto;padding:20px 0;box-sizing:border-box;
    border-bottom:1px dashed #545454;
  }
  nav li:nth-of-type(7) {
    width:100%;
    border-bottom:none;
  }
  nav li a:not(.nav-online a) {
    width:100%;height:100%;align-items:stretch;
  }
  nav li a {
    color:#fff;
  }
  .global-nav-logo-sp {
    display:block;
    width:60%;height:auto;
    margin-bottom:20px;
  }
  .nav-text {
    font-size:2rem;
  }
  .nav-online {
    width:60%;
    height:60px;border-bottom:none;
    margin-top:20px;
  }
}
@media screen and (max-width:768px) {
  .footer01-nav {
    display:block;
    width:100%;
    margin-top:30px;
  }
  .footer01-nav-lead {
    display:none;
  }
}
@media screen and (max-width:680px) {
  nav {
    max-width:initial;
    padding-left:5%;padding-right:5%;box-sizing:border-box;
    padding-top:60px;
  }
  nav ul li {
    width:100%;
    padding:10px 0;
  }
  .global-nav-logo-sp {
    width:80%;
  }
  #main-img {
    width:100%;
    height: calc(var(--vh, 1vh) * 50);
  }
  #heading {
    top: calc(var(--vh, 1vh) * 52);
  }
  .footer01 {
    width:70%;
  }
  .footer01-cols {
    flex-direction:column;
    align-items:center;
  }
  .footer-info {
    flex-direction:column;
    align-items:center;
  }
  .footer-address {
    width:100%;
  }
  .footer-map {
    width:100%;
    margin-top:30px;
  }
  .footer-nav {
    display:block;
    width:100%;
    margin-top:30px;
  }
  .footer-nav ul {
    display:none;
  }
  .footer-nav-online {
    margin-top:0;
  }
}
@media screen and (max-width:480px) {
  html {
    font-size:62.5%;
  }
  .loading img{
    width:70%;
    max-width:initial;
  }
  main {
    font-size:1.4rem;
  }
  #main-img {
    width:100%;
    height: calc(var(--vh, 1vh) * 40);
  }
  #heading {
    top: calc(var(--vh, 1vh) * 42);
  }
  #heading h1 {
    font-weight:normal;
  }
  #navigation {
    flex-direction:column;
    background:#000;
  }
  #navigation::after {
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: url(https://bottegablu.com/img/top/footer-bg.png);
    opacity: .3;
    background-size: cover;
  }
  nav {
    width:100%;
  }
  nav::after {
    display:none;
  }
  .nav-text {
    font-family: 'Cinzel', serif;
    font-size:1.6rem;font-weight:700;
  }
  .navigation-bg {
    display:none;
  }
  .global-nav-logo a {
    height:46px;
  }
  .nav-online-sp-banner {
    width:100%;
  }
  .footer01 {
    width:85%;
    padding:100px 0;
  }
  .footer-address > ul > li {
    width:100%;
  }
}