/* -------sns icon--------- */

@font-face {
	font-family: 'sns_icon';
	src: url('../font/sns_icon.eot?hf355k');
	src: url('../font/sns_icon.eot?hf355k#iefix') format('embedded-opentype'),
	url('../font/sns_icon.ttf?hf355k') format('truetype'),
	url('../font/sns_icon.woff?hf355k') format('woff'),
	url('../font/sns_icon.svg?hf355k#sns_icon') format('svg');
	font-weight: normal;
	font-style: normal;
}

i.snsIcon {
	font-family: 'sns_icon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	color: #000;
}
.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}

/* -------common--------- */
html {
	line-height: 1.8;
	letter-spacing: 0.08em;
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
img {
	width: 100%;
	vertical-align: middle;
}
li {
	list-style: none;
}
a {
	transition: all 0.5s ease;
	text-decoration: none;
	color: #000;
}
h2 {
  font-family: 'Yantramanav', sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  font-size: 48px;
  text-align: center;
  padding-bottom: 0.9em;
  margin-bottom: 48px;
  position: relative;
}
h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 0.9em;
  background-color: #000;
}
.contentWrap {
  max-width: 1160px;
  margin: 0 auto;
  padding: 120px 64px;
}

.anim {
	opacity: 0;
	transition: all .4s ease-out;
}
.anim.on {
	opacity: 1;
}

.btnWrap {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
.btnWrap a {
	display: block;
	text-align: center;
  background-color: #000;
  color: #fff;
	font-size: 16px;
  padding: 16px;
  border-radius: 8px;
  min-width: fit-content;
	width: 28vw;
  max-width: 320px;
}
.btnWrap a:hover {
  opacity:0.8;
}

@media screen and (min-width:881px) {
	a:hover {
		opacity: 0.6;
	}
	.sp {display: none;}
}
@media screen and (max-width:880px) {
  h2 {
    font-size: min(7.8vw, 48px);
    margin-bottom: min(4vw, 32px);
  }
  .contentWrap {
    padding: 10vw 5vw;
  }
  .btnWrap {
    margin-top: min(6vw, 40px);
  }
  .btnWrap a {
    font-size: min(3.2vw, 16px);
    padding: min(3vw, 16px);
    width: 50vw;
  }
}

/* ------- menu button --------- */
#menuButton {
	display: block;
	width: 60px;
	height:60px;
	position: fixed;
  top: 40px;
  right: 40px;
	z-index: 9999;
  opacity: 0;
	animation: opFade 1.6s ease-out 2s forwards;
}
#menuButton span {
  display: block;
	background: #fff;
	width: 50px;
	height: 2px;
	position: absolute;
	left: 5px;
	transition: all 0.4s;
}
#menuButton.on span {
  background: #000;
}
#menuButton span:first-child { top: 16px;}
#menuButton span:nth-child(2) { margin-top: -1px; top: 50%;}
#menuButton span:nth-child(3) { bottom: 16px; width: 36px;}

/* active クラス */
#menuButton.active span {
  background-color: #000;
}
#menuButton.active span:first-child {
	transform: translateY(13px) rotate(45deg);
}
#menuButton.active span:nth-child(2) { opacity: 0;}
#menuButton.active span:nth-child(3) {
	transform: translateY(-13px) rotate(-45deg);
  width: 50px;
}

#globalNav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 15;
}
.navWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
}
.mainNav a {
  font-family: 'Yantramanav', sans-serif;
  font-weight: 500;
  letter-spacing: 0.12em;
  font-size: 4.2vh;
  line-height: 2.1;
  text-decoration: none;
}

.navWrap .official {
  display: flex;
  justify-content: center;
  width: 100%;
}
.navWrap .official a {
  font-size: 14px;
  text-align: center;
  text-decoration: none;
	background-color: #fff;
  border: #000 solid 1px;
  color: #000;
	border-radius: 8px;
  padding: 16px;
  width: 280px;
  min-width: fit-content;
  margin: 3vh auto 4vh;
}
.mainSns li.share {
  width: 100%;
  text-align: center;
  font-size: 14px;
  margin-bottom: 12px;
  font-family: 'Yantramanav', sans-serif;
  font-weight: 500;
}
.mainSns {
  width: 180px;
  display: -webkit-flex;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 0 auto 40px;
}
.mainSns a {
  text-decoration: none;
}
.mainSns li i {
  font-size: 32px;
}

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

  .navWrap .official {
    display: flex;
    justify-content: center;
  }
  .navWrap .official a {
    font-size: min(2.4vh, 14px);
    padding: min(3vw, 16px);
    width: 65%;
    border-radius: 6px;
  }
  .mainSns li.share {
    font-size: min(2.4vh, 14px);
    margin-bottom: min(3vw, 16px);
  }
  .mainSns {
    width: 40%;
    margin: 0 auto 8vw;
  }
  .mainSns li i {
    font-size: min(6.8vw, 32px);
  }

  #menuButton {
    top: 5vw;
    right: 5vw;
    width: 40px;
    height:40px;
  }
  #menuButton span {
    width: 30px;
  }
  #menuButton span:first-child { top: 12px;}
  #menuButton span:nth-child(3) { bottom: 12px; width: 22px;}

  /* active クラス */
  #menuButton.active span:first-child {
    transform: translateY(7px) rotate(45deg);
  }
  #menuButton.active span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
    width: 30px;
  }
}

/* ------- main visual --------- */
.mainVisual {
  width: 100vw;
  height: 100vh;
  background: url(../images/main_img.jpg) no-repeat;
  background-size: cover;
  background-position: center top 20%;
  opacity: 0;
	animation: opFade 3s ease-out 0s forwards;
}
.mainVisual_02 {
  width: 100vw;
  height: 100vh;
  background: url(../images/main_img02.jpg) no-repeat;
  background-size: cover;
  background-position: center top 20%;
  opacity: 0;
	animation: opFade 3s ease-out 0s forwards;
}
.mainText {
  font-family: 'Yantramanav', sans-serif;
  font-weight: 400;
  position: absolute;
  bottom: 5%;
  left: 5%;
  color: #fff;
  letter-spacing: 0.1em;
  opacity: 0;
	animation: opFade 2s ease-out 0.5s forwards;
}
.mainVisual_02 .mainText {
  font-weight: 500;
}
.mainText .title {
  font-size: min(7vw, 10vh);
  line-height: 1.1;
  letter-spacing: 0.1em;
}
.mainText .text {
  font-size: min(3.2vw, 4.8vh);
  display: flex;
  align-items: center;
}
.mainText .line {
  display: inline-block;
  width: 0.06em;
  height: 0.8em;
  background-color: #fff;
  margin: 0 0.7em;
}
.mainVisual .btnWrap {
  opacity: 0;
	animation: opFade 1.6s ease-out 2s forwards;
}
.mainVisual_02 .btnWrap {
  opacity: 0;
	animation: opFade 1.6s ease-out 2s forwards;
}
.fixBtn {
  position: fixed;
  bottom: 40px;
  right: 40px;
  z-index: 10;
  opacity: 0;
  animation: opFade 1.6s ease-out 2s forwards;
}
.fixBtn a {
  display: block;
  background-color: #3039e9;
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  padding: 15px 45px;
  border-radius: 80px;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.fixBtn a span {
  display: block;
  font-size: 0.7em;
  font-weight: normal;
}
@keyframes opFade {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
@media screen and (max-width:880px) {
  .mainVisual {
    background: url(../images/main_img_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center bottom;
    height: 84vh;
  }
  .mainVisual_02 {
    background-position: 58% bottom;
    height: 57vh;
    margin-bottom: 43vh;
  }
  .mainText {
    width: 100%;
    top: min(12vh, 78px);
    bottom: auto;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
  }
  .mainVisual_02 .mainText {
    top: calc(57vh + ((43vh - 92px)/2));
    color: #000;
    transform: translate(-50%, -50%);
  }
  .mainText .title {
    font-size: min(13.8vw, 80px);
  }
  .mainVisual_02 .mainText .title {
    font-size: min(10vw, 80px);
    font-weight: 500;
  }
  .mainText .text {
    font-size: min(6.4vw, 36px);
    justify-content: center;
  }
  .mainVisual_02 .mainText .text {
    font-size: min(4.4vw, 36px);
  }
  .mainVisual_02 .mainText .line {
    background-color: #000;
  }

  .fixBtn {
    bottom: 30px;
    right: 40px;
    width: calc(100% - 80px);
  }
  .fixBtn a {
    font-size: 20px;
    padding: 10px 25px;
    line-height: 1.4;
  }
  .fixBtn a span {
    font-size: 0.5em;
  }
}
/* ------- news --------- */
.newsList li {
  margin-bottom: 32px;
}
.newsList a {
  font-size: 16px;
  display: flex;
}
.newsList a .date {
  font-weight: bold;
  margin-right: 32px;
}
@media screen and (max-width:880px) {
  .newsList li {
    margin-bottom: min(5vw, 32px);
  }
  .newsList a {
    font-size: min(3.2vw, 16px);
    display: block;
  }
  .newsList a .date {
    margin-right: 0;
    margin-bottom: min(1vw, 8px);
  }
}
/* ------- schedule --------- */
.scheduleBgWrap.notAlone a {
  color: #fff;
}
#schedule h2 {
  color: #000;
}
#schedule h3 {
  font-size: 28px;
  text-align: center;
  margin-bottom: 40px;
}
.scheduleBgWrap.notAlone {
  background-color: #ed369d;
  color: #fff;
}
.scheduleBgWrap.naked {
  background-color: #ffe63d;
}
.schedule li {
	border-bottom: #fff solid 1px;
	padding: 14px 0;
	display: flex;
  font-size: 14px;
	justify-content: space-between;
	align-items: center;
	line-height: 1.6;
}
.scheduleBgWrap.naked .schedule li {
	border-bottom: #000 solid 1px;
}
.schedule li.scheduleHead .day,
.schedule li.scheduleHead .time,
.schedule li.scheduleHead .venue,
.schedule li.scheduleHead .info {
	font-size: 12px;
	color: #fff;
  font-weight: normal;
}
.scheduleBgWrap.naked .schedule li.scheduleHead .day,
.scheduleBgWrap.naked .schedule li.scheduleHead .time,
.scheduleBgWrap.naked .schedule li.scheduleHead .venue,
.scheduleBgWrap.naked .schedule li.scheduleHead .info {
	color: #000;
}
.schedule li .day span {
  font-size: 1.54em;
  font-weight: bold;
  margin-right: 0.1em;
}
.schedule li .time {
  width: 12%;
}
.schedule li .venue {
	width: 34%;
  font-weight: bold;
  display: flex;
  align-items: center;
}
.schedule li .venue span {
  display: inline-block;
  background-color: #fff;
  color: #000;
  border-radius: 20px;
  text-align: center;
  font-size: 12px;
  font-weight: normal;
  padding: 0.3em;
  width: 5em;
  margin-right: 1em;
}
.schedule li .info {
	width: 37%;
}
.schedule li .info span {
	display: inline-block;
	margin-top: 1em;
}
.schedule li .info span:first-child {
	margin-top: 0;
}
.schedule li .info a {
	font-size: 0.9em;
}
@media screen and (min-width:881px) {
  .notAlone .schedule li .day {
    width: 11%;
  }
  .naked .schedule li .day {
    width: 14%;
  }
  .schedule li .venue {
    font-size: 15px;
  }
  .schedule li .info {
    font-size: 12px;
  }
}
@media screen and (max-width:880px) {
  #schedule h3 {
    font-size: min(5.2vw, 28px);
    margin-bottom: min(6vw, 40px);
  }
  .schedule li.scheduleHead {
		display: none;
	}
	.schedule li {
		padding: 3vw 0;
		display: block;
		font-size: min(3.6vw, 16px);
    text-align: left;
	}

	.schedule li .day,
	.schedule li .time,
	.schedule li .venue,
	.schedule li .info {
		width: 100%;
		padding: 0.5em 0 0.5em 30vw;
		position: relative;
		box-sizing: border-box;
    line-height: 1.6;
	}
  .schedule li .venue {
    flex-direction: column;
    align-items: flex-start;
  }
  .schedule li .venue span {
    display: inline-block;
    font-size: min(3.2vw, 14px);
    padding: 0.2em;
    margin-bottom: 0.4em;
  }

	.schedule li .day::before,
	.schedule li .time::before,
	.schedule li .venue::before,
	.schedule li .info::before {
		display: inline-block;
		width: 28vw;
		font-size: min(3vw, 16px);
		font-weight: normal;
		position: absolute;
		top: 0.8em;
		left: 0;
	}
	.schedule li .day::before {content: "DAY";}
	.schedule li .time::before {content: "OPEN/START";}
	.schedule li .venue::before {content: "VENUE";}
	.schedule li .info::before {content: "INFO";}

  .schedule li .day::before {
    top: 1em;
  }
	.schedule li a {
		text-decoration: underline;
	}
}
/* --------- ticket --------- */
#ticket h3 {
  font-size: 20px;
  text-align: center;
  margin-bottom: 32px;
  letter-spacing: 0.1em;
}
#ticket .ticketListWrap {
  display: flex;
  justify-content: space-between;
}
#ticket .ticketList.notAlone {
  background-color: #ed369d;
}
#ticket .ticketList.naked {
  background-color: #ffe63d;
  color: #000;
  display: flex;
  flex-direction: column;
}
#ticket .ticketList {
  color: #fff;
  border-radius: 8px;
  width: 48%;
  padding: 48px 32px;
}
#ticket .comingSoon {
  flex-grow: 1;
  border: #000 solid 1px;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
}
#ticket .ticketDisc > div {
  display: flex;
  border-bottom: #fff solid 1px;
  font-size: 13px;
  padding: 16px 0;
}
#ticket .naked .ticketDisc > div {
  border-bottom: #000 solid 1px;
}
#ticket .ticketDisc > div:first-child {
  padding-top: 0;
}
#ticket .ticketDisc > div:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
#ticket .ticketDisc dt {
  width: 120px;
}

#ticket .reception {
  border: #000 solid 1px;
  border-radius: 8px;
  padding: 48px 32px;
  margin-top: 40px;
  text-align: center;
}
#ticket .reception dt {
  font-size: 20px;
  font-weight: bold;
  color: #ed369d;
  cursor: pointer;
  position: relative;
  padding-right: 1em;
}
#ticket .reception.naked dt {
  color: #edcb3e;
}
#ticket .reception dt::after {
  display: inline-block;
  position: absolute;
  top: 20%;
  right: 32px;
  content: "";
  width: 16px;
  height: 16px;
  border-left: #000 2px solid;
  border-bottom: #000 2px solid;
  transform: rotate(-45deg);
  transition: all 0.4s;
}
#ticket .reception dt.open::after {
  transform: rotate(135deg);
  margin-top: 8px;
}

#ticket .reception dd {
  font-size: 16px;
  margin-top: 24px;
}
#ticket .reception dd .bold {
  font-weight: bold;
}
#ticket .reception dd .note {
  display: block;
  font-size: 0.8em;
  margin-top: 1em;
}
#ticket .reception .btnWrap a {
  background-color: #ed369d;
  color: #fff;
}
#ticket .reception.naked .btnWrap a {
  background-color: #ffe63d;
  color: #000;
}
#ticket .reception .btnWrap.triple a {
  width: 24vw;
  margin-left: 24px;
}
#ticket .reception .btnWrap.triple a:first-child {
  margin-left: 0;
  margin-top: 0;
}
#ticket .reception .btnWrap.closed a {
  background-color: #888888;
}

#ticket .ticketArchivesBtn {
	margin-top: 60px;
}
/* #ticket .ticketArchivesBtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 300px;
  height: 64px;
  background-color: #c69c6d;
  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
  color: #000;
	margin: 0 auto;
} */
#ticket .ticketArchivesBtn a::before {
	content: "終了した先行予約はこちら";
}
#ticket .ticketArchivesBtn a::after {
	content: "閉じる";
	display: none;
}
#ticket .ticketArchivesBtn a.open::before {
	display: none;
}
#ticket .ticketArchivesBtn a.open::after {
	display: inline;
}
#ticket .ticketArchives {
	display: none;
}

@media screen and (max-width:880px) {
  #ticket h3 {
    font-size: min(4.2vw, 20px);
    margin-bottom: min(4vw, 32px);
  }
  #ticket .ticketListWrap {
    display: block;
  }
  #ticket .ticketList.notAlone {
    margin-bottom: min(6vw, 32px);
  }
  #ticket .ticketList {
    border-radius: 6px;
    width: 100%;
    padding: min(5vw, 48px) 5vw;
  }
  #ticket .comingSoon {
    height: min(40vw, 160px);
    font-size: min(16px, 3.2vw);
  }
  #ticket .ticketDisc > div {
    display: block;
    font-size: min(3.2vw, 13px);
    padding: min(3vw, 16px) 0;
  }
  #ticket .ticketDisc dt {
    width: 100%;
  }

  #ticket .reception {
    border-radius: 6px;
    padding: min(5vw, 48px) 5vw;
    margin-top: min(5vw, 40px);
  }
  #ticket .reception dt {
    font-size: min(4.2vw, 20px);
    line-height: 1.4;
  }
	#ticket .reception dt::after {
    top: 36%;
    right: 1vw;
    width: 12px;
    height: 12px;
  }
  #ticket .reception dt.open::after {
    margin-top: 6px;
  }

  #ticket .reception dd {
    font-size: min(3.2vw, 16px);
    margin-top: 24px;
  }

  #ticket .reception .btnWrap.triple {
    flex-direction: column;
    align-items: center;
  }
  #ticket .reception .btnWrap.triple a {
    margin-left: 0;
    margin-top: 3vw;
    width: 50vw;
  }
  #ticket .ticketArchivesBtn {
    margin-top: min(8vw, 60px);
  }
  #ticket .ticketArchivesBtn a {
    width: 60vw;
  }
}

/* --------- banner --------- */
.bnrWrap {
  background-color: #172443;
}
.bnrWrap p {
  color: #fff;
  text-align: center;
  font-size: 16px;
  margin-top: 3em;
}
.bnrTitle {
  width: 320px;
  margin: auto;
}
.bnrWrap .btnWrap a {
  background-color: #fff;
  color: #172443;
}
@media screen and (max-width:880px) {

  .bnrWrap p {
    font-size: min(3.2vw, 16px);
  }
  .bnrTitle {
    width: min(60%, 320px);
  }
}
/* --------- attention --------- */
#attention .contentWrap {
  padding-bottom: 0;
}
#attention dt {
  font-size: 18px;
  font-weight: bold;
  position: relative;
  /* margin-bottom: 8px; */
}
/* #attention h3 {
  font-size: 18px;
  margin-bottom: 8px;
} */
#attention dt::before,
#attention dt::after {
  display: inline-block;
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  width: 1em;
  height: 2px;
  background-color: #000;
  transition: all 0.4s;
}
#attention dt::after {transform: rotate(90deg);}
#attention dt.open::after {transform: rotate(0);}

#attention dd {
  margin-top: 16px;
  display: none;
}
#attention .attnWrap > div {
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 32px;
  padding-left: calc(32px + 12px);
  margin-top: 24px;
}
#attention .attnWrap > div:first-child {
  margin-top: 0;
}
#attention .attnWrap {
  /* background-color: #f5f5f5;
  border-radius: 8px;
  padding: 40px;
  padding-left: calc(40px + 12px); */
  /* margin-bottom: 64px; */
}
#attention .attnWrap dd > p {
  margin-bottom: 1em;
  font-size: 14px;
}
#attention .attnWrap dd > p:last-of-type {
  margin-bottom: 0;
}
#attention .square:last-child {
  margin-bottom: 0;
}
#attention .square {
  margin-left: 1em;
  margin-bottom: 24px;
}
#attention .square > li {
  text-indent: -1em;
  font-size: 14px;
  margin-top: 1em;
}
#attention .square > li:first-child {
  margin-top: 0;
}
#attention .square > li:before {
  content: "■";
}
#attention .square > li.noIndent {
  margin-top: 0;
}
#attention .square > li.noIndent::before {
  content: "";
}
#attention .diamond > li {
  font-size: 14px;
}
#attention .diamond > li:before {
  content: "◆";
}
#attention .diamond > li.asterisk {
  margin-top: 0.5em;
}
#attention .diamond > li.asterisk:before {
  content: "※";
}

@media screen and (max-width:880px) {
  #attention dt {
    font-size: min(3.8vw, 18px);
  }
  /* #attention h3 {
    font-size: min(3.8vw, 18px);
    margin-bottom: min(1vw, 8px);
  } */
  #attention dd {
    margin-top: min(4vw, 16px);
  }
  #attention .attnWrap > div {
    border-radius: 6px;
    padding: min(5vw, 40px);
    margin-top: min(3vw, 24px);
  }
  /* #attention .attnWrap {
    border-radius: 6px;
    padding: min(5vw, 40px);
    margin-bottom: min(8vw, 64px);
  } */
  #attention .attnWrap dd > p {
    font-size: min(3vw, 14px);
  }
  #attention .square {
    margin-bottom: min(5vw, 24px);
  }
  #attention .square > li{
    font-size: min(3vw, 14px);
  }
  #attention .diamond > li {
    font-size: min(3vw, 14px);
  }
}
/* --------- contact --------- */
#contact .infoWrap {
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 40px;
  text-align: center;
}
#contact .info_p {
  font-size: 20px;
  font-weight: bold;
}
#contact .btnWrap {
  margin-top: 24px;
}
#contact .infoWrap .note {
  font-size: 14px;
  margin-top: 24px;
}
#contact .infoWrap .note a {
  text-decoration: underline;
}
@media screen and (max-width:880px) {
  #contact .infoWrap {
    border-radius: 6px;
    padding: min(5vw, 40px);
  }
  #contact .info_p {
    font-size: min(4.2vw, 20px);
  }
  #contact .btnWrap {
    margin-top: min(4vw, 24px);
  }
  #contact .infoWrap .note {
    font-size: min(2.8vw, 14px);
    margin-top: min(4vw, 24px);
  }
}
/* --------- footer --------- */
footer {
  width: 100%;
  min-height: auto;
  position: initial;
  bottom: auto;
  left: auto;
}
footer .official {
  display: flex;
  justify-content: center;
}
footer .official a {
  font-size: 14px;
  text-align: center;
  text-decoration: none;
	background-color: #fff;
  border: #000 solid 1px;
  color: #000;
	border-radius: 8px;
  padding: 16px;
  width: 280px;
  min-width: fit-content;
  margin: 0 auto 40px;
}
footer .ftrSns li.share {
  width: 100%;
  font-family: 'Yantramanav', sans-serif;
  font-weight: 500;
  font-size: 14px;
  text-align: center;
  margin-bottom: 12px;
}
footer .ftrSns {
  width: 180px;
  display: -webkit-flex;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 0 auto 40px;
}
footer .ftrSns a {
  text-decoration: none;
}
footer .ftrSns li i {
  font-size: 32px;
}
footer .copyright{
  text-align: center;
  padding: 0 0 120px 0;
  font-size: 13px;
}
@media screen and (max-width:880px) {
  footer .official {
    display: flex;
    justify-content: center;
  }
  footer .official a {
    font-size: min(2.4vh, 14px);
    padding: min(3vw, 16px);
    width: 65%;
    margin: 12vw auto 8vw;
  }
  footer .ftrSns li.share {
    font-size: min(2.4vh, 14px);
    margin-bottom: min(3vw, 16px);
  }
  footer .ftrSns {
    width: 40%;
    margin: 0 auto 8vw;
  }
  footer .ftrSns li i {
    font-size: min(6.8vw, 32px);
  }
  footer .copyright{
    padding: 0 0 30vw 0;
    font-size: min(2.6vw, 13px);
  }
}