@charset "UTF-8";
/*!
 * ress.css v2.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: break-word;
  -moz-tab-size: 4;
  tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat; /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0; /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
hr {
  overflow: visible; /* Show the overflow in Edge and IE */
  height: 0; /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block; /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item; /* Add the correct display in all browsers */
}

small {
  font-size: 80%; /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none; /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none; /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted;
}

a {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0; /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; /* Specify the font family of code elements */
}

pre {
  font-size: 1em; /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
   # Forms
   # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
  color: inherit;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
   # Specify media element style
   # ================================================================= */
img {
  border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not([fill]) {
  fill: currentColor;
}

/* # =================================================================
   # Accessibility
   # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }
  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

* {
  letter-spacing: 0.05rem;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

ul li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #333;
  transition: all 0.2s;
}
a:focus {
  text-decoration: none;
  color: #333;
  transition: all 0.2s;
}
a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
}

html {
  overflow-x: hidden;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}
@media screen and (max-width: 520px) {
  html {
    font-size: 14px;
  }
}

body {
  margin: 0;
  padding: 0;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
}

@media screen and (min-width: 1451px) {
  .show__1450 {
    display: none !important;
  }
}

@media screen and (max-width: 1450px) {
  .hide__1450 {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .spc__show {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .spc__hide {
    display: none !important;
  }
}

@media screen and (max-width: 820px), print {
  .ipad__hide {
    display: none !important;
  }
}
@media print {
  .ipad__hide {
    display: none;
  }
}

@media screen and (min-width: 821px) {
  .ipad__show {
    display: none !important;
  }
}

@media screen and (max-width: 520px) {
  .smp__hide {
    display: none !important;
  }
}

@media screen and (min-width: 521px) {
  .smp__show {
    display: none !important;
  }
}
@media print {
  .smp__show {
    display: none !important;
  }
}

.fs0 {
  font-size: 0;
}

.fs-S {
  font-size: 14px;
}

.fs-M {
  font-size: 18px;
}
@media screen and (max-width: 820px), print {
  .fs-M {
    font-size: 16px;
  }
}

.fs-L {
  font-size: 22px;
}
@media screen and (max-width: 820px), print {
  .fs-L {
    font-size: 18px;
  }
}

.flex {
  display: flex;
}

@media screen and (max-width: 820px), print {
  .flexColumn {
    flex-direction: column;
  }
}

@media screen and (max-width: 820px), print {
  .flexreColumn {
    flex-direction: column-reverse;
  }
}

.alignStart {
  align-items: flex-start;
}

.alignEnd {
  align-items: flex-end;
}

.alignCenter {
  align-items: center;
}

.justBetween {
  justify-content: space-between;
}

.justCenter {
  justify-content: center;
}

.justStart {
  justify-content: flex-start;
}

.justEnd {
  justify-content: flex-end;
}

.textLeft {
  text-align: left;
}

.textRight {
  text-align: right;
}

.textCenter {
  text-align: center;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.wrapper {
  max-width: 1200px;
  margin: 0 auto;
  width: 90%;
}

.wrap-1800 {
  max-width: 1800px;
  width: 94%;
  margin: 0 auto;
}

.wrap-1600 {
  max-width: 1600px;
  margin: 0 auto;
  width: 90%;
}

.wrap-1400 {
  max-width: 1400px;
  margin: 0 auto;
  width: 90%;
}

.wrap-1390 {
  max-width: 1390px;
  margin: 0 auto;
  width: 90%;
}

.wrap-1300 {
  max-width: 1300px;
  margin: 0 auto;
  width: 90%;
}

.wrap-1100 {
  max-width: 1100px;
  margin: 0 auto;
  width: 90%;
}

.wrap-1000 {
  max-width: 1000px;
  margin: 0 auto;
  width: 90%;
}

.col-2 {
  width: 47%;
}

.col-3 {
  width: 30%;
}

.col-4 {
  width: 23%;
}

.w-100 {
  width: 100%;
}

:root {
  --headerHeight: 100px;
  --sectionTop: 80px;
  --sectionBottom: 100px;
}
@media screen and (max-width: 1450px) {
  :root {
    --headerHeight: 90px;
  }
}
@media screen and (max-width: 820px), print {
  :root {
    --headerHeight: 60px;
    --sectionTop: 40px;
    --sectionBottom: 60px;
  }
}
@media print {
  :root {
    --headerHeight: 60px;
  }
}

.margin {
  margin-top: var(--sectionTop);
  margin-bottom: var(--sectionBottom);
}

.padding {
  padding-top: var(--sectionTop);
  padding-bottom: var(--sectionBottom);
}

.mb-S {
  margin-bottom: 25px;
}

.mb-M {
  margin-bottom: 30px;
}

.mb-L {
  margin-bottom: 40px;
}

main,
.second {
  padding-top: calc(var(--headerHeight) + 55px);
}
@media screen and (max-width: 1450px) {
  main,
  .second {
    padding-top: calc(var(--headerHeight) + 40px);
  }
}
@media screen and (max-width: 820px), print {
  main,
  .second {
    padding-top: calc(var(--headerHeight) + 30px);
  }
}

#pankuzu {
  border-bottom: 1px solid #033333;
  padding: 25px 20px;
}
@media screen and (max-width: 820px), print {
  #pankuzu {
    padding: 10px;
  }
}
#pankuzu ul {
  scrollbar-width: thin;
  scrollbar-color: #cdcdcd;
  overflow-x: auto;
  overflow-y: hidden;
  overflow: auto;
  white-space: nowrap;
  display: flex;
  align-items: center;
}
#pankuzu li {
  display: inline-block;
}
#pankuzu li.arw {
  font-size: 11px;
}
#pankuzu li.event, #pankuzu li.review, #pankuzu li.topics, #pankuzu li.post, #pankuzu li.search, #pankuzu li.tag {
  padding-left: 23px;
  position: relative;
}
#pankuzu li.event::before, #pankuzu li.review::before, #pankuzu li.topics::before, #pankuzu li.post::before, #pankuzu li.search::before, #pankuzu li.tag::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: 18px;
  height: 18px;
}
#pankuzu li.post::before {
  top: 55%;
  background-image: url(../images/common/pankuzu-email@2x.png);
}
#pankuzu li.event::before {
  top: 55%;
  background-image: url(../images/common/pankuzu-eyes@2x.png);
}
#pankuzu li.review::before {
  top: 55%;
  background-image: url(../images/common/pankuzu-comments@2x.png);
}
#pankuzu li.topics::before {
  top: 55%;
  background-image: url(../images/common/pankuzu-book@2x.png);
}
#pankuzu li.search::before {
  top: 55%;
  background-image: url(../images/common/pankuzu-search@2x.png);
}
#pankuzu li.tag::before {
  top: 55%;
  background-image: url(../images/common/pankuzu-tag@2x.png);
}
#pankuzu li + li {
  margin-left: 15px;
}
#pankuzu li a {
  position: relative;
  padding-left: 23px;
}
#pankuzu li a::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  transform: translate(0, -50%);
  width: 18px;
  height: 18px;
  top: 55%;
}
#pankuzu li a.home::before {
  background-image: url(../images/common/pankuzu-home@2x.png);
}
#pankuzu li a.post::before {
  background-image: url(../images/common/pankuzu-email@2x.png);
}
#pankuzu li a.event::before {
  background-image: url(../images/common/pankuzu-eyes@2x.png);
}
#pankuzu li a.review::before {
  background-image: url(../images/common/pankuzu-comments@2x.png);
}
#pankuzu li a.topics::before {
  background-image: url(../images/common/pankuzu-book@2x.png);
}

#page_header {
  text-align: center;
  padding: 50px 0;
}
@media screen and (max-width: 820px), print {
  #page_header {
    padding: 25px 0;
  }
}
#page_header h1 {
  color: #333;
  font-size: 45px;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  #page_header h1 {
    font-size: 42px;
  }
}
@media screen and (max-width: 820px), print {
  #page_header h1 {
    font-size: 32px;
  }
}
@media screen and (max-width: 520px) {
  #page_header h1 {
    font-size: 26px;
  }
}
#page_header h1.post span::before {
  background-image: url(../images/common/title-email@2x.png);
}
#page_header h1.event span::before {
  top: 55%;
  background-image: url(../images/common/title-eyes@2x.png);
}
#page_header h1.review span::before {
  top: 55%;
  background-image: url(../images/common/title-comments@2x.png);
}
#page_header h1.topics span::before {
  top: 55%;
  background-image: url(../images/common/title-book@2x.png);
}
#page_header h1.search span::before {
  top: 10px;
  transform: none;
  background-image: url(../images/common/title-search@2x.png);
}
@media screen and (max-width: 820px), print {
  #page_header h1.search span::before {
    top: 2px;
  }
}
#page_header h1.tag span::before {
  top: 6px;
  background-image: url(../images/common/title-tag@2x.png);
  transform: none;
}
@media screen and (max-width: 820px), print {
  #page_header h1.tag span::before {
    top: -3px;
  }
}
#page_header h1 span {
  position: relative;
  padding-left: 60px;
}
@media screen and (max-width: 820px), print {
  #page_header h1 span {
    padding-left: 53px;
  }
}
@media screen and (max-width: 520px) {
  #page_header h1 span {
    padding-left: 40px;
  }
}
#page_header h1 span::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 50px;
  height: 51px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
@media screen and (max-width: 820px), print {
  #page_header h1 span::before {
    width: 45px;
    height: 46px;
  }
}
@media screen and (max-width: 520px) {
  #page_header h1 span::before {
    width: 35px;
    height: 36px;
  }
}
#page_header .en {
  color: #f15025;
  font-size: 20px;
}

.secTitle {
  font-size: 110px;
  font-weight: normal;
  position: relative;
  padding-bottom: 80px;
  margin-bottom: 40px;
  line-height: 0.6;
  font-family: "Outfit", sans-serif;
}
@media screen and (max-width: 1024px) {
  .secTitle {
    font-size: 100px;
  }
}
@media screen and (max-width: 820px), print {
  .secTitle {
    font-size: 80px;
    padding-bottom: 60px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 520px) {
  .secTitle {
    font-size: 70px;
    padding-bottom: 50px;
    margin-bottom: 25px;
  }
}
.secTitle.textCenter .jp {
  left: 50%;
  transform: translate(-50%, 0);
}
.secTitle .jp {
  position: absolute;
  bottom: 0;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 40px;
  padding: 10px 20px 11px 50px;
  font-size: 20px;
  font-weight: 500;
  left: 0;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}
@media screen and (max-width: 1024px) {
  .secTitle .jp {
    font-size: 18px;
  }
}
@media screen and (max-width: 820px), print {
  .secTitle .jp {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  .secTitle .jp {
    font-size: 12px;
    padding: 7px 13px 8px 35px;
  }
}
.secTitle .jp::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
}
@media screen and (max-width: 520px) {
  .secTitle .jp::before {
    width: 13px;
    height: 13px;
  }
}
.secTitle .jp.love-letter::before {
  background-image: url(../images/common/love-letter@2x.png);
}
.secTitle .jp.kirakira-eyes::before {
  top: 55%;
  background-image: url(../images/common/kirakira-eyes@2x.png);
}
.secTitle .jp.review::before {
  background-image: url(../images/common/comments@2x.png);
}
.secTitle .jp.topics::before {
  background-image: url(../images/common/book@2x.png);
}
.secTitle .jp.sns::before {
  background-image: url(../images/common/sns@2x.png);
}
.secTitle .jp.news::before {
  background-image: url(../images/common/email@2x.png);
}
.secTitle .jp.link::before {
  background-image: url(../images/common/link@2x.png);
}

.button01 {
  background-color: #333;
  border: 2px solid #333;
  color: #fff;
  display: block;
  font-size: 22px;
  padding: 30px 70px;
  text-align: center;
  max-width: 600px;
  position: relative;
  border-radius: 100px;
}
@media screen and (max-width: 520px) {
  .button01 {
    font-size: 16px;
    padding: 20px 40px 20px 20px;
    max-width: 100%;
    width: 100%;
  }
}
.button01.__center {
  margin: 0 auto;
}
.button01:visited {
  color: #fff;
  background-color: #333;
}
.button01::before {
  position: absolute;
  content: "";
  background-image: url(../images/common/arw02@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 32px;
  height: 32px;
  top: 50%;
  right: 30px;
  transform: translate(0, -50%);
  transition: all 0.3s;
}
@media screen and (max-width: 520px) {
  .button01::before {
    width: 23px;
    height: 23px;
    right: 20px;
  }
}
.button01:hover {
  background-color: #00d0a1;
  color: #333;
  opacity: 1;
}
.button01:hover::before {
  background-image: url(../images/common/arw03@2x.png);
  transition: all 0.3s;
}
.button01 span {
  padding-left: 40px;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 520px) {
  .button01 span {
    padding-left: 35px;
  }
}
.button01 span.event::before {
  background-image: url(../images/common/kirakira-eyes@2x.png);
}
.button01 span.news::before {
  background-image: url(../images/common/email@2x.png);
}
.button01 span.review::before {
  background-image: url(../images/common/comments@2x.png);
}
.button01 span.topics::before {
  background-image: url(../images/common/book@2x.png);
}
.button01 span::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  width: 30px;
  height: 25px;
  top: 55%;
  left: 0;
  transform: translate(0, -50%);
}

.status_area span.status_new {
  background-color: #fae459;
}
.status_area span.status_1 {
  background-color: #fa96c1;
}
.status_area span.status_2 {
  background-color: #96ecd9;
}
.status_area span.status_3 {
  background-image: linear-gradient(90deg, #96ecd9 30%, #fa96c1 70%);
}
.status_area span.status_4 {
  background-color: #cbcbcb;
}

#page404 .bg404 {
  background-image: url(../images/common/checkBg02.png);
  background-repeat: repeat;
  padding: 70px 0 120px;
}
@media screen and (max-width: 820px), print {
  #page404 .bg404 {
    padding: 40px 0 60px;
  }
}
#page404 .button01 {
  max-width: 450px;
}

.editor h1 {
  font-size: 200%;
}

.editor h2 {
  font-size: 150%;
}

.editor h3 {
  font-size: 120%;
}

.editor h4 {
  font-size: 100%;
}

.editor h5 {
  font-size: 80%;
}

.editor h6 {
  font-size: 70%;
}

.editor p {
  display: block;
  margin: 1em 0;
}

.editor strong {
  font-weight: bold;
}

.editor b {
  font-weight: bold;
}

.editor em {
  font-style: italic;
}

.editor blockquote {
  display: block;
  -webkit-margin-before: 1em;
  -webkit-margin-after: 1em;
  -webkit-margin-start: 40px;
  -webkit-margin-end: 40px;
}

/* img */
.editor .aligncenter {
  display: block;
  margin: 0 auto;
}

.editor .alignright {
  float: right;
}

.editor .alignleft {
  float: left;
}

.editor img[class*=wp-image-],
.editor img[class*=attachment-] {
  height: auto;
  max-width: 100%;
}

/* clearfix */
.clearfix {
  overflow: hidden;
  zoom: 1;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.gallery {
  width: 100%;
  margin-bottom: 20px !important;
  overflow: hidden;
}

.gallery br {
  display: none;
}

.gallery-item {
  float: left;
  margin-bottom: 0 !important;
}

.gallery-icon {
  text-align: center;
}

.gallery-icon img {
  height: auto;
  margin-bottom: 10px !important;
}

.gallery-caption {
  color: #222;
  font-size: 12px;
  margin: 0 0 10px;
  text-align: center;
}

.gallery-columns-1 .gallery-item {
  width: 100%;
  margin-right: 0;
}

.gallery-columns-2 .gallery-item {
  width: 48%;
  margin: 0 1%;
}

.gallery-columns-3 .gallery-item {
  width: 31.33333%;
  margin: 0 1%;
}

.gallery-columns-4 .gallery-item {
  width: 23%;
  margin: 0 1%;
}

.gallery-columns-5 .gallery-item {
  width: 18%;
  margin: 0 1%;
}

@media screen and (max-width: 640px) {
  .gallery-columns-3 .gallery-item,
  .gallery-columns-4 .gallery-item {
    width: 48%;
    margin: 0 1%;
  }
  .gallery-columns-5 .gallery-item {
    width: 31.33333%;
    margin: 0 1%;
  }
}
/* header */
:root {
  --borderPosition: 40px;
}
@media screen and (max-width: 820px), print {
  :root {
    --borderPosition: 25px;
  }
}

header .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  position: fixed;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid #333;
  height: 55px;
  background-color: #fff;
}
@media screen and (max-width: 1450px) {
  header .container {
    height: 40px;
  }
}
@media screen and (max-width: 820px), print {
  header .container {
    height: 30px;
  }
}
@media print {
  header .container {
    position: absolute;
  }
}
header .container .loop {
  display: flex;
  animation: loop-text 40s linear infinite;
}
@media screen and (max-width: 520px) {
  header .container .loop {
    animation: loop-text 35s linear infinite;
  }
}
header .container .double-content {
  display: inline-block;
  font-size: 14px;
  white-space: nowrap;
  padding: 0 22px 0 25px;
  position: relative;
  margin-left: 40px;
  font-weight: normal;
}
@media screen and (max-width: 820px), print {
  header .container .double-content {
    font-size: 12px;
    padding: 0 19px 0 22px;
    margin-left: 20px;
  }
}
header .container .double-content::before, header .container .double-content::after {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  transform: translate(0, -50%);
}
header .container .double-content::before {
  background-image: url(../images/common/speaker@2x.png);
  width: 20px;
  height: 19px;
  left: 0;
}
@media screen and (max-width: 820px), print {
  header .container .double-content::before {
    width: 17px;
    height: 16px;
  }
}
header .container .double-content::after {
  background-image: url(../images/common/kirakira-heart@2x.png);
  width: 17px;
  height: 17px;
  right: 0;
}
@media screen and (max-width: 820px), print {
  header .container .double-content::after {
    width: 15px;
    height: 15px;
  }
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
header .headerInner {
  background-color: #fff;
  border-bottom: 1px solid #033333;
  top: 55px;
  left: 0;
  height: var(--headerHeight);
  position: fixed;
  padding: 0 30px 0 25px;
  width: 100%;
  z-index: 999;
}
@media screen and (max-width: 1600px) {
  header .headerInner {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1450px) {
  header .headerInner {
    padding: 0 0 0 25px;
    top: 40px;
  }
}
@media screen and (max-width: 820px), print {
  header .headerInner {
    top: 30px;
    padding: 0 0 0 20px;
  }
}
@media print {
  header .headerInner {
    position: absolute;
  }
}
@media screen and (max-width: 820px), print {
  header .headerLogo {
    width: 150px;
  }
}
@media screen and (max-width: 520px) {
  header .headerLogo {
    width: 130px;
  }
}
@media print {
  header .headerLogo {
    width: 200px;
  }
}
@media screen and (max-width: 1450px) {
  header #gNav {
    background-color: #fff0f8;
    background-image: url(../images/common/checkBg02.png);
    background-repeat: repeat;
    display: none;
    position: fixed;
    left: 0;
    top: calc(var(--headerHeight) + 40px);
    height: calc(100vh - var(--headerHeight) - 40px);
    width: 100%;
    overflow: auto;
    padding: 0 0 60px;
  }
}
@media screen and (max-width: 820px), print {
  header #gNav {
    top: calc(var(--headerHeight) + 30px);
    height: calc(100vh - var(--headerHeight) - 30px);
    background-size: 25%;
  }
}
@media print {
  header #gNav {
    display: none;
  }
}
@media screen and (max-width: 1450px) {
  header .headerNav {
    background-image: url(../images/common/menuBg@2x.png);
    background-size: 100% 100%;
    flex-direction: column;
    max-width: 550px;
    margin: 45px auto 0;
    padding: 45px 0 50px;
    align-items: flex-start;
    width: 90%;
    position: relative;
  }
}
@media screen and (max-width: 820px), print {
  header .headerNav {
    max-width: 520px;
    padding-bottom: 25px;
  }
}
header .headerNav .menuTitle {
  position: absolute;
  top: 10px;
  left: 6%;
  padding-left: 25px;
  font-family: "Outfit", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 820px), print {
  header .headerNav .menuTitle {
    left: 5%;
  }
}
header .headerNav .menuTitle::before {
  position: absolute;
  content: "";
  background-image: url(../images/common/menu@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
header .headerNav .snsArea {
  padding: 0 25px;
  margin-top: 20px;
}
header .headerNav .snsArea .snsTitle {
  color: #f33888;
  font-size: 20px;
  margin-bottom: 10px;
  font-family: "Outfit", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 820px), print {
  header .headerNav .snsArea .snsTitle {
    font-size: 16px;
    margin-bottom: 5px;
  }
}
header .headerNav .snsArea .snsFlex .snsItem {
  display: inline-block;
}
@media screen and (max-width: 820px), print {
  header .headerNav .snsArea .snsFlex .snsItem {
    width: 44px;
    height: 44px;
  }
}
header .headerNav .snsArea .snsFlex .snsItem.noLink {
  pointer-events: none;
}
header .headerNav .snsArea .snsFlex .snsItem + .snsItem {
  margin-left: 20px;
}
@media screen and (max-width: 820px), print {
  header .headerNav .snsArea .snsFlex .snsItem + .snsItem {
    margin-left: 12px;
  }
}
header .headerNavList + .headerNavList {
  margin-left: 40px;
}
@media screen and (max-width: 1770px) {
  header .headerNavList + .headerNavList {
    margin-left: 15px;
  }
}
@media screen and (max-width: 1450px) {
  header .headerNavList {
    width: 100%;
  }
  header .headerNavList + .headerNavList {
    margin-left: 0;
  }
}
header .headerNavList .headerNavList__link {
  font-weight: normal;
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 1600px) {
  header .headerNavList .headerNavList__link {
    font-size: 14px;
    padding-left: 17px;
  }
}
@media screen and (max-width: 1450px) {
  header .headerNavList .headerNavList__link {
    font-size: 18px;
    border-bottom: 1px solid #333;
    display: block;
    padding: 20px 10px;
    padding-left: 50px;
    position: relative;
    width: 100%;
  }
  header .headerNavList .headerNavList__link.love-letter::after {
    background-image: url(../images/common/love-letter@2x.png);
  }
  header .headerNavList .headerNavList__link.kirakira-eyes::after {
    background-image: url(../images/common/kirakira-eyes@2x.png);
    width: 26px;
  }
  header .headerNavList .headerNavList__link.comments::after {
    background-image: url(../images/common/comments@2x.png);
  }
  header .headerNavList .headerNavList__link.book::after {
    background-image: url(../images/common/book@2x.png);
  }
  header .headerNavList .headerNavList__link.sns::after {
    background-image: url(../images/common/sns@2x.png);
  }
  header .headerNavList .headerNavList__link.email::after {
    background-image: url(../images/common/email@2x.png);
  }
  header .headerNavList .headerNavList__link.pink-heart::after {
    background-image: url(../images/common/pink-heart@2x.png);
    width: 20px;
    height: 21px;
  }
  header .headerNavList .headerNavList__link.link::after {
    background-image: url(../images/common/link@2x.png);
  }
}
@media screen and (max-width: 820px), print {
  header .headerNavList .headerNavList__link {
    font-size: 16px;
    padding: 10px;
    padding-left: 45px;
  }
}
@media screen and (max-width: 520px) {
  header .headerNavList .headerNavList__link {
    font-size: 14px;
  }
}
header .headerNavList .headerNavList__link::before {
  position: absolute;
  content: "";
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 50%;
  width: 13px;
  height: 13px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  transition: all 0.2s;
}
@media screen and (max-width: 1450px) {
  header .headerNavList .headerNavList__link::before {
    background-color: transparent;
    border: none;
    background-image: url(../images/common/arw@2x.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 30px;
    height: 30px;
    top: 50%;
    left: auto;
    right: 20px;
    transform: translate(0, -50%);
  }
}
@media screen and (max-width: 820px), print {
  header .headerNavList .headerNavList__link::before {
    width: 19px;
    height: 19px;
  }
}
@media screen and (max-width: 1450px) {
  header .headerNavList .headerNavList__link:after {
    position: absolute;
    content: "";
    background-size: contain;
    background-repeat: no-repeat;
    left: 20px;
    top: 50%;
    transform: translate(0, -50%);
    width: 22px;
    height: 22px;
  }
}
@media screen and (max-width: 820px), print {
  header .headerNavList .headerNavList__link:after {
    width: 16px;
    height: 16px;
  }
}
header .headerNavList .headerNavList__link:hover {
  opacity: 1;
}
header .headerNavList .headerNavList__link:hover::before {
  background-color: #00d0a1;
  transition: all 0.2s;
}
header .searchArea {
  width: 170px;
}
@media screen and (max-width: 1450px) {
  header .searchArea {
    margin-right: 40px;
  }
}
@media screen and (max-width: 820px), print {
  header .searchArea {
    width: 140px;
    margin-right: 15px;
  }
}
header .searchArea .keywordText {
  position: relative;
}
header .searchArea .keywordText input {
  width: 100%;
  border: 1px solid #333;
  border-radius: 20px;
  padding: 0 25px 0 10px;
  font-size: 11px;
  height: 30px;
  font-weight: 500;
}
@media screen and (max-width: 820px), print {
  header .searchArea .keywordText input {
    font-size: 12px;
    height: 25px;
  }
}
header .searchArea .keywordText .kensakubtn {
  position: absolute;
  background-image: url(../images/common/search@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  height: 10px;
  top: 50%;
  right: 10px;
  transform: translate(0, -50%);
}
header .hunsMenu {
  background: #00d0a1;
  cursor: pointer;
  position: relative;
  height: calc(var(--headerHeight) - 1px);
  width: var(--headerHeight);
  border-left: 1px solid #333;
}
header .hunsMenu span {
  background: #333;
  display: inline-block;
  left: 50%;
  position: absolute;
  transition: all 0.4s;
  transform: translate(-50%, 0);
  height: 1px;
  width: 45px;
}
@media screen and (max-width: 820px), print {
  header .hunsMenu span {
    width: 30px;
  }
}
header .hunsMenu span:nth-of-type(1) {
  top: var(--borderPosition);
}
header .hunsMenu span:nth-of-type(2) {
  top: calc(var(--borderPosition) + 13px);
}
@media screen and (max-width: 820px), print {
  header .hunsMenu span:nth-of-type(2) {
    top: calc(var(--borderPosition) + 12px);
  }
}
header .hunsMenu.active span:nth-of-type(1) {
  top: 40px;
  transform: translateX(-50%) translateY(6px) rotate(-20deg);
}
@media screen and (max-width: 820px), print {
  header .hunsMenu.active span:nth-of-type(1) {
    top: 25px;
  }
}
header .hunsMenu.active span:nth-of-type(2) {
  top: 53px;
  transform: translateX(-50%) translateY(-6px) rotate(20deg);
}
@media screen and (max-width: 820px), print {
  header .hunsMenu.active span:nth-of-type(2) {
    top: 37px;
  }
}

/*  footer  */
footer {
  padding: 40px 0 0;
  background-color: #333;
  background-image: url(../images/common/checkBg@2x.png);
  background-repeat: repeat;
  background-size: 152px 136px;
}
@media print {
  footer .spc__hide {
    display: none !important;
  }
}
@media print {
  footer .spc__show {
    display: block !important;
  }
}
@media screen and (max-width: 820px), print {
  footer {
    background-size: 25%;
  }
}
footer .footerInner {
  background-color: #fff;
  padding: 100px 0 15px;
  border-radius: 40px 40px 0 0;
  position: relative;
}
@media screen and (max-width: 820px), print {
  footer .footerInner {
    padding: 50px 0 15px;
    border-radius: 20px 20px 0 0;
  }
}
footer .footerInner::before {
  position: absolute;
  content: "";
  background-image: url(../images/common/footItem@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 158px;
  height: 220px;
  bottom: 0;
  right: 52px;
}
@media screen and (max-width: 1024px) {
  footer .footerInner::before {
    width: 120px;
    height: 167px;
  }
}
@media screen and (max-width: 820px), print {
  footer .footerInner::before {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  footer .footerInner .footFlex {
    flex-direction: column;
  }
}
@media print {
  footer .footerInner .footFlex {
    flex-direction: column;
  }
}
footer .footerInner .footFlex .footLeft {
  width: 330px;
}
@media screen and (max-width: 1024px) {
  footer .footerInner .footFlex .footLeft {
    width: 100%;
    text-align: center;
  }
}
@media print {
  footer .footerInner .footFlex .footLeft {
    width: 100%;
    text-align: center;
  }
}
footer .footerInner .footFlex .footLeft .footLogo {
  display: inline-block;
  margin-bottom: 55px;
}
@media screen and (max-width: 1024px) {
  footer .footerInner .footFlex .footLeft .footLogo {
    margin-bottom: 30px;
    max-width: 80%;
  }
}
@media print {
  footer .footerInner .footFlex .footLeft .footLogo {
    margin-bottom: 30px;
    max-width: 80%;
  }
}
@media screen and (max-width: 1024px) {
  footer .footerInner .footFlex .footLeft .accessCard {
    margin-top: 30px;
  }
}
@media print {
  footer .footerInner .footFlex .footLeft .accessCard {
    margin-top: 30px;
  }
}
footer .footerInner .footFlex .footLeft .accessCard p {
  font-size: 14px;
  line-height: 27px;
  margin-top: 5px;
}
@media screen and (max-width: 520px) {
  footer .footerInner .footFlex .footLeft .accessCard p {
    font-size: 12px;
    line-height: 22px;
  }
}
footer .footerInner .footFlex .footRight {
  width: 585px;
}
footer .footerInner .footFlex .footRight .siteMapList {
  flex-wrap: wrap;
  margin-top: -15px;
  margin-bottom: 30px;
}
footer .footerInner .footFlex .footRight .siteMapList li {
  margin-top: 15px;
  margin-right: 15px;
}
footer .footerInner .footFlex .footRight .siteMapList li a {
  border: 1px solid #333;
  border-radius: 20px;
  padding: 3px 10px;
}
footer .footerInner .footFlex .footRight .siteMapList li a span {
  position: relative;
  padding-left: 25px;
}
footer .footerInner .footFlex .footRight .siteMapList li a span::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  width: 22px;
  height: 22px;
}
footer .footerInner .footFlex .footRight .siteMapList li a span.love-letter::before {
  background-image: url(../images/common/love-letter@2x.png);
}
footer .footerInner .footFlex .footRight .siteMapList li a span.kirakira-eyes::before {
  background-image: url(../images/common/kirakira-eyes@2x.png);
  width: 26px;
}
footer .footerInner .footFlex .footRight .siteMapList li a span.comments::before {
  background-image: url(../images/common/comments@2x.png);
}
footer .footerInner .footFlex .footRight .siteMapList li a span.book::before {
  background-image: url(../images/common/book@2x.png);
}
footer .footerInner .footFlex .footRight .siteMapList li a span.sns::before {
  background-image: url(../images/common/sns@2x.png);
}
footer .footerInner .footFlex .footRight .siteMapList li a span.email::before {
  background-image: url(../images/common/email@2x.png);
}
footer .footerInner .footFlex .footRight .siteMapList li a span.pink-heart {
  padding-left: 20px;
}
footer .footerInner .footFlex .footRight .siteMapList li a span.pink-heart::before {
  background-image: url(../images/common/pink-heart@2x.png);
  width: 20px;
  height: 21px;
}
footer .footerInner .footFlex .footRight .siteMapList li a span.link::before {
  background-image: url(../images/common/link@2x.png);
}
footer .footerInner .footFlex .footRight .searchArea {
  margin-bottom: 55px;
}
footer .footerInner .footFlex .footRight .searchArea .keywordText {
  position: relative;
  display: inline-block;
}
footer .footerInner .footFlex .footRight .searchArea .keywordText input {
  width: 300px;
  border: 1px solid #333;
  border-radius: 40px;
  padding: 0 35px 0 10px;
  font-size: 16px;
  height: 45px;
  font-weight: 500;
}
footer .footerInner .footFlex .footRight .searchArea .keywordText .kensakubtn {
  position: absolute;
  background-image: url(../images/common/search@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 15px;
  height: 14px;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%);
}
footer .footerInner .snsArea .snsTitle {
  color: #f33888;
  font-size: 20px;
  margin-bottom: 10px;
  font-family: "Outfit", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 820px), print {
  footer .footerInner .snsArea .snsTitle {
    font-size: 18px;
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 520px) {
  footer .footerInner .snsArea .snsTitle {
    font-size: 16px;
  }
}
footer .footerInner .snsArea .snsFlex .snsItem {
  display: inline-block;
}
@media screen and (max-width: 520px) {
  footer .footerInner .snsArea .snsFlex .snsItem {
    width: 50px;
    height: 50px;
  }
}
footer .footerInner .snsArea .snsFlex .snsItem.noLink {
  pointer-events: none;
}
footer .footerInner .snsArea .snsFlex .snsItem + .snsItem {
  margin-left: 20px;
}
@media screen and (max-width: 520px) {
  footer .footerInner .snsArea .snsFlex .snsItem + .snsItem {
    margin-left: 15px;
  }
}
footer .footerInner .siteFootItem__link {
  font-size: 12px;
  margin-top: 50px;
}
@media screen and (max-width: 820px), print {
  footer .footerInner .siteFootItem__link {
    margin-top: 30px;
  }
}
footer .footerInner .siteFootItem__link span {
  position: relative;
  padding-left: 15px;
  font-family: "Outfit", sans-serif;
  font-weight: 400;
}
footer .footerInner .siteFootItem__link span::before {
  position: absolute;
  content: "";
  background-image: url(../images/common/copyright@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 12px;
  height: 12px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

#top {
  /** top 共通 ***********************************************************/
  /** top アニメーション ***********************************************************/
  /** topFv ***********************************************************/
  /** message ***********************************************************/
  /** loop ***********************************************************/
  /** review ***********************************************************/
  /** topics ***********************************************************/
  /** sns ***********************************************************/
  /** news ***********************************************************/
  /** about ***********************************************************/
  /** link ***********************************************************/
}
@media print {
  #top .spc__hide {
    display: none !important;
  }
}
@media print {
  #top .spc__show {
    display: block !important;
  }
}
#top .buttonBg {
  --size: 24px; /* 1マスの大きさ */
  --c1: #ffffff; /* 明るいマス */
  --c2: #f5f5f5; /* 少し暗いマス（画像に近い薄グレー） */
  background: conic-gradient(var(--c2) 25%, var(--c1) 0 50%, var(--c2) 0 75%, var(--c1) 0) 0 0/var(--size) var(--size);
  padding: 70px 0;
  border-top: 2px solid #333;
}
@media screen and (max-width: 820px), print {
  #top .buttonBg {
    padding: 40px;
  }
}
@media screen and (max-width: 520px) {
  #top .buttonBg {
    padding: 30px 20px;
  }
}
@media screen and (max-width: 820px), print {
  #top .buttonBg .button01 {
    text-align: left;
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes rotation-y {
  0% {
    transform: rotateY(0);
  }
  50% {
    transform: rotateY(720deg);
  }
  /* 残りは止まる */
  100% {
    transform: rotateY(720deg);
  }
}
@keyframes frame {
  0% {
    -webkit-transform: translate(-66.6%, 0);
    transform: translate(-66.6%, 0);
  }
  25% {
    -webkit-transform: translate(-66.6%, 0);
    transform: translate(-66.6%, 0);
  }
  50% {
    -webkit-transform: translate(-33.3%, 0);
    transform: translate(-33.3%, 0);
  }
  75% {
    -webkit-transform: translate(-33.3%, 0);
    transform: translate(-33.3%, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes frame-safari {
  0% {
    -webkit-transform: translate(-191.9%, 0);
    transform: translate(-191.9%, 0);
  }
  25% {
    -webkit-transform: translate(-191.9%, 0);
    transform: translate(-191.9%, 0);
  }
  50% {
    -webkit-transform: translate(-95%, 0);
    transform: translate(-95%, 0);
  }
  75% {
    -webkit-transform: translate(-95%, 0);
    transform: translate(-95%, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes frame-safari-ipad {
  0% {
    -webkit-transform: translate(-89%, 0);
    transform: translate(-89%, 0);
  }
  25% {
    -webkit-transform: translate(-89%, 0);
    transform: translate(-89%, 0);
  }
  50% {
    -webkit-transform: translate(-45%, 0);
    transform: translate(-45%, 0);
  }
  75% {
    -webkit-transform: translate(-45%, 0);
    transform: translate(-45%, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
@keyframes frame-safari-ipad02 {
  0% {
    -webkit-transform: translate(-66.8%, 0);
    transform: translate(-66.8%, 0);
  }
  25% {
    -webkit-transform: translate(-66.8%, 0);
    transform: translate(-66.8%, 0);
  }
  50% {
    -webkit-transform: translate(-33.5%, 0);
    transform: translate(-33.5%, 0);
  }
  75% {
    -webkit-transform: translate(-33.5%, 0);
    transform: translate(-33.5%, 0);
  }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}
#top #message {
  margin-top: -180px;
  padding-top: 180px;
}
@media screen and (max-width: 1450px) {
  #top #message {
    margin-top: -160px;
    padding-top: 160px;
  }
}
@media screen and (max-width: 820px), print {
  #top #message {
    margin-top: -100px;
    padding-top: 100px;
  }
}
@media screen and (max-width: 520px) {
  #top #message {
    margin-top: -150px;
    padding-top: 150px;
  }
}
#top #topEvent {
  margin-top: -140px;
  padding-top: 140px;
}
@media screen and (max-width: 1450px) {
  #top #topEvent {
    margin-top: -120px;
    padding-top: 120px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topEvent {
    margin-top: -90px;
    padding-top: 90px;
  }
}
#top #sns {
  margin-top: -150px;
  padding-top: 150px;
}
@media screen and (max-width: 820px), print {
  #top #sns {
    margin-top: -100px;
    padding-top: 100px;
  }
}
#top #project {
  margin-top: -120px;
  padding-top: 120px;
}
@media screen and (max-width: 1450px) {
  #top #project {
    margin-top: -100px;
    padding-top: 100px;
  }
}
@media screen and (max-width: 820px), print {
  #top #project {
    margin-top: -80px;
    padding-top: 80px;
  }
}
@media screen and (max-width: 520px) {
  #top #project {
    margin-top: -30px;
    padding-top: 30px;
  }
}
#top #link {
  margin-top: -200px;
  padding-top: 200px;
}
@media screen and (max-width: 1450px) {
  #top #link {
    margin-top: -180px;
    padding-top: 180px;
  }
}
@media screen and (max-width: 820px), print {
  #top #link {
    margin-top: -130px;
    padding-top: 130px;
  }
}
#top #topFv .fvBg {
  background-image: url(../images/common/checkBg02.png), linear-gradient(90deg, #96ecd9 30%, #fa96c1 70%);
  background-repeat: repeat;
  padding: 3.1vw 0;
  position: relative;
}
@media screen and (max-width: 1024px) {
  #top #topFv .fvBg {
    padding: 30px 0 80px;
  }
}
#top #topFv .fvBgImage {
  position: relative;
}
#top #topFv .main01,
#top #topFv .main02,
#top #topFv .main03 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
}
@media print {
  #top #topFv .main01,
  #top #topFv .main02,
  #top #topFv .main03 {
    opacity: 1;
  }
}
#top #topFv .main01 {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.5s;
}
#top #topFv .main02 {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1s;
}
#top #topFv .main03 {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1.5s;
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex {
    flex-direction: column;
  }
}
@media print {
  #top #topFv .topFvFlex {
    flex-direction: column;
  }
}
#top #topFv .topFvFlex .topLeft {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 10px;
  width: 48.125%;
  padding: 55px 0 425px;
  position: relative;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topLeft {
    padding: 3vw 0 23.6vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topLeft {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
    padding: 50px 0 350px;
  }
}
@media screen and (max-width: 700px) {
  #top #topFv .topFvFlex .topLeft {
    padding: 6.4vw 0px 49vw;
  }
}
@media print {
  #top #topFv .topFvFlex .topLeft {
    max-width: 640px;
    width: 100%;
    margin: 0 auto;
    padding: 50px 0 350px;
  }
}
#top #topFv .topFvFlex .topLeft .mainLogo {
  margin-right: 80px;
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.5s;
  opacity: 0;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topLeft .mainLogo {
    margin-right: 2.7vw;
  }
  #top #topFv .topFvFlex .topLeft .mainLogo img {
    width: 32vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topLeft .mainLogo {
    width: 100%;
    margin-bottom: 5px;
  }
  #top #topFv .topFvFlex .topLeft .mainLogo img {
    width: 64.2%;
  }
}
@media print {
  #top #topFv .topFvFlex .topLeft .mainLogo {
    width: 100%;
    opacity: 1;
  }
  #top #topFv .topFvFlex .topLeft .mainLogo img {
    width: 64.2%;
  }
}
#top #topFv .topFvFlex .topLeft .item01 {
  position: absolute;
  width: 15.7vw;
  right: 13.5vw;
  bottom: -3.3vw;
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.5s;
  opacity: 0;
}
@media screen and (min-width: 1801px) {
  #top #topFv .topFvFlex .topLeft .item01 {
    width: 282px;
    right: 242px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topLeft .item01 {
    bottom: 0;
    width: 219px;
    right: 216px;
  }
}
@media screen and (max-width: 700px) {
  #top #topFv .topFvFlex .topLeft .item01 {
    width: 31.3vw;
    right: 30.9vw;
  }
}
@media print {
  #top #topFv .topFvFlex .topLeft .item01 {
    bottom: 0;
    width: 219px;
    right: 216px;
    opacity: 1;
  }
}
#top #topFv .topFvFlex .topLeft .item02 {
  position: absolute;
  width: 16.8vw;
  left: -1vw;
  bottom: 8.3vw;
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.8s;
  opacity: 0;
}
@media screen and (min-width: 1801px) {
  #top #topFv .topFvFlex .topLeft .item02 {
    width: 302px;
    left: -18px;
    bottom: 150px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topLeft .item02 {
    width: 238px;
    left: -3px;
    bottom: 130px;
  }
}
@media screen and (max-width: 700px) {
  #top #topFv .topFvFlex .topLeft .item02 {
    width: 34vw;
    left: -0.4vw;
    bottom: 18.6vw;
  }
}
@media print {
  #top #topFv .topFvFlex .topLeft .item02 {
    width: 238px;
    left: -3px;
    bottom: 130px;
    opacity: 1;
  }
}
#top #topFv .topFvFlex .topLeft .item03 {
  position: absolute;
  width: 16.1vw;
  right: -1vw;
  bottom: -3.3vw;
  z-index: 1;
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.8s;
  opacity: 0;
}
@media screen and (min-width: 1801px) {
  #top #topFv .topFvFlex .topLeft .item03 {
    width: 290px;
    right: -18px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topLeft .item03 {
    width: 215px;
    bottom: -54px;
    right: 10px;
  }
}
@media screen and (max-width: 700px) {
  #top #topFv .topFvFlex .topLeft .item03 {
    width: 30.7vw;
    bottom: -7.7vw;
  }
}
@media print {
  #top #topFv .topFvFlex .topLeft .item03 {
    width: 215px;
    bottom: -54px;
    right: 10px;
    opacity: 1;
  }
}
#top #topFv .topFvFlex .topLeft .item04 {
  position: absolute;
  width: 7.4vw;
  right: 5.1vw;
  bottom: 9.2vw;
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1.1s;
  opacity: 0;
}
@media screen and (min-width: 1801px) {
  #top #topFv .topFvFlex .topLeft .item04 {
    width: 132px;
    right: 110px;
    bottom: 166px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topLeft .item04 {
    right: 90px;
    width: 112px;
    bottom: 152px;
  }
}
@media screen and (max-width: 700px) {
  #top #topFv .topFvFlex .topLeft .item04 {
    width: 16vw;
    bottom: 21.7vw;
    right: 13vw;
  }
}
@media print {
  #top #topFv .topFvFlex .topLeft .item04 {
    right: 90px;
    width: 112px;
    bottom: 152px;
    opacity: 1;
  }
}
#top #topFv .topFvFlex .topLeft .item05 {
  position: absolute;
  width: 15.4vw;
  left: -1.1vw;
  bottom: -3.3vw;
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 1.1s;
  opacity: 0;
}
@media screen and (min-width: 1801px) {
  #top #topFv .topFvFlex .topLeft .item05 {
    width: 277px;
    left: -20px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topLeft .item05 {
    width: 206px;
    left: -15px;
    bottom: -56px;
  }
}
@media screen and (max-width: 700px) {
  #top #topFv .topFvFlex .topLeft .item05 {
    width: 29.4vw;
    bottom: -8vw;
    left: -2.1vw;
  }
}
@media print {
  #top #topFv .topFvFlex .topLeft .item05 {
    width: 206px;
    left: -15px;
    bottom: -56px;
    opacity: 1;
  }
}
#top #topFv .topFvFlex .topRight {
  width: 48.125%;
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight {
    width: 100%;
    margin-top: 80px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight {
    margin-top: 40px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight {
    width: 100%;
    margin-top: 80px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem {
  background-image: url(../images/top/topNewsBg@2x.png);
  background-size: 100% 100%;
  padding: 55px 25px 25px;
  position: relative;
  display: block;
  filter: drop-shadow(5px 5px 0 #333);
  transform: translateZ(0);
  top: 0;
  left: 0;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem {
    padding: 3vw 1.4vw 1.4vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem {
    padding: 55px 25px 25px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topFv .topFvFlex .topRight .topNewsItem {
    background-image: url(../images/top/topNewsBg_sp@2x.png);
    max-width: 640px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem {
    padding: 38px 20px 20px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem {
    padding: 55px 25px 25px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/topNewsBg-hover@2x.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s;
}
@media screen and (max-width: 820px), print {
  #top #topFv .topFvFlex .topRight .topNewsItem::before {
    background-image: url(../images/top/topNewsBg-hover_sp@2x.png);
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem:after {
  position: absolute;
  content: "";
  background-image: url(../images/top/more@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 180px;
  height: 112px;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 20px), -50%);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
#top #topFv .topFvFlex .topRight .topNewsItem + .topNewsItem {
  margin-top: 40px;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem + .topNewsItem {
    margin-top: 2.2vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem + .topNewsItem {
    margin-top: 40px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem + .topNewsItem {
    margin-top: 25px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem + .topNewsItem {
    margin-top: 40px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem:hover {
  opacity: 1;
  top: 5px;
  left: 5px;
  filter: none;
}
#top #topFv .topFvFlex .topRight .topNewsItem:hover::before {
  opacity: 1;
  visibility: visible;
  transition: all 0.2s;
}
#top #topFv .topFvFlex .topRight .topNewsItem:hover:after {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s;
  transform: translate(-50%, -50%);
}
#top #topFv .topFvFlex .topRight .topNewsItem .check {
  position: absolute;
  top: 10px;
  left: 3%;
  padding-left: 20px;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .check {
    font-size: 0.9vw;
    padding-left: 1.2vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .check {
    font-size: 16px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .check {
    font-size: 12px;
    padding-left: 18px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .check {
    font-size: 16px;
    padding-left: 20px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .check::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/search@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 17px;
  height: 17px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .check::before {
    width: 1vw;
    height: 1vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .check::before {
    width: 17px;
    height: 17px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .check::before {
    width: 15px;
    height: 15px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .check::before {
    width: 17px;
    height: 17px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .status_area {
  position: absolute;
  top: 10px;
  left: 150px;
  text-align: center;
  z-index: 2;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .status_area {
    top: 0.5vw;
    left: 8vw;
    font-size: 1vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .status_area {
    top: 1vw;
    left: 17vw;
    font-size: 16px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topFv .topFvFlex .topRight .topNewsItem .status_area {
    top: 7px;
    left: 170px;
    font-size: 16px;
  }
}
@media screen and (max-width: 700px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .status_area {
    left: 24vw;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .status_area {
    top: 5px;
    left: 25vw;
    font-size: 14px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .status_area span {
  border: 2px solid;
  border-radius: 20px;
  padding: 5px 15px 5px;
}
@media screen and (max-width: 820px), print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex {
    flex-direction: column;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsImage {
  width: 43.7%;
}
@media screen and (max-width: 820px), print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsImage {
    width: 100%;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsImage .no-image {
  background-image: url(../images/news/no-image.jpg);
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight {
  width: 53%;
}
@media screen and (max-width: 820px), print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight {
    width: 100%;
    margin-top: 15px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .cateFlex .cateName {
  font-size: 14px;
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .cateFlex .cateName {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .cateFlex .cateName {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .cateFlex .cateName {
    font-size: 12px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .cateFlex .cateName {
    font-size: 14px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 10px;
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .cateFlex .cateName + .cateName {
    margin-left: 8px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .day {
  color: #afafaf;
  font-size: 14px;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .day {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .day {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .day {
    font-size: 12px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .dayFlex .day {
    font-size: 14px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsTitle {
  font-size: 24px;
  font-weight: 500;
  line-height: 38px;
  margin-top: 15px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsTitle {
    font-size: 1.29vw;
    line-height: 2vw;
    margin-top: 0.85vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsTitle {
    font-size: 24px;
    line-height: 38px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsTitle {
    font-size: 20px;
    line-height: 28px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsTitle {
    font-size: 24px;
    line-height: 38px;
    margin-top: 15px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsText {
  color: #666;
  line-height: 30px;
  margin-top: 15px;
  letter-spacing: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsText {
    font-size: 0.88vw;
    line-height: 1.6vw;
    margin-top: 0.9vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsText {
    font-size: 16px;
    line-height: 30px;
    margin-top: 15px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsText {
    font-size: 14px;
    line-height: 20px;
    margin-top: 10px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .topNewsText {
    font-size: 16px;
    line-height: 30px;
    margin-top: 15px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea {
  margin-top: 25px;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea {
    margin-top: 1.4vw;
    font-size: 0.9vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea {
    margin-top: 25px;
    font-size: 16px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea {
    margin-top: 15px;
    font-size: 14px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea {
    margin-top: 25px;
    font-size: 16px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open {
  position: relative;
  padding-left: 25px;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open {
    padding-left: 1.4vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open {
    padding-left: 25px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open {
    text-indent: -4.8em;
    padding-left: calc(4.8em + 20px);
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open {
    padding-left: 25px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/calendar@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 17px;
  height: 17px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open::before {
    width: 1vw;
    height: 1vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open::before {
    width: 17px;
    height: 17px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open::before {
    width: 15px;
    height: 15px;
    top: 12px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .open::before {
    width: 17px;
    height: 17px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue {
  position: relative;
  padding-left: 25px;
  text-indent: -5rem;
  padding-left: calc(5em + 25px);
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue {
    text-indent: -4.5vw;
    padding-left: 5.9vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue {
    text-indent: -5rem;
    padding-left: calc(5em + 25px);
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue {
    text-indent: -4.8em;
    padding-left: calc(4.8em + 20px);
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue {
    padding-left: calc(5em + 25px);
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/pin@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 17px;
  height: 17px;
  left: 0;
  top: 5px;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue::before {
    width: 1vw;
    height: 1vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue::before {
    width: 17px;
    height: 17px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue::before {
    width: 15px;
    height: 15px;
    top: 12px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .openArea .venue::before {
    width: 17px;
    height: 17px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex {
  flex-wrap: wrap;
  height: 45px;
  overflow: hidden;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex {
    height: 3.1vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex {
    height: 45px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex {
    height: 40px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex {
    height: 45px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 3px 10px;
  border-radius: 20px;
  margin-top: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1800px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex .tagName {
    font-size: 0.8vw;
    padding: 0.1vw 0.6vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex .tagName {
    font-size: 14px;
    padding: 3px 10px;
  }
}
@media screen and (max-width: 520px) {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex .tagName {
    font-size: 12px;
    padding: 0 7px;
  }
}
@media print {
  #top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex .tagName {
    font-size: 14px;
    padding: 3px 10px;
  }
}
#top #topFv .topFvFlex .topRight .topNewsItem .topNewsFlex .topNewsRight .tagFlex .tagName + .tagName {
  margin-left: 15px;
}
#top .topFvBox {
  transform: translate(0, -50%);
  top: 50%;
  left: 10.5vw;
  position: absolute;
  width: min(33vw, 420px);
}
#top .topFvBox .topFvTitle {
  font-size: clamp(12px, 4vw, 50px);
  font-weight: 500;
  margin-bottom: 30px;
}
#top .topFvBox .topFvText {
  font-size: clamp(12px, 1.3vw, 16px);
}
@media screen and (max-width: 820px), print {
  #top .topFvBox {
    top: 130px;
    left: 20px;
    width: 90%;
  }
  #top .topFvBox .topFvTitle {
    font-size: clamp(30px, 7vw, 50px);
    margin-bottom: 10px;
  }
  #top .topFvBox .topFvText {
    font-size: 14px;
  }
}
#top #topMessage {
  position: relative;
  padding-top: 90px;
}
#top #topMessage .kira01 {
  position: absolute;
  top: 75px;
  right: 185px;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}
@media screen and (max-width: 1820px) {
  #top #topMessage .kira01 {
    right: 20px;
  }
}
@media screen and (max-width: 1500px) {
  #top #topMessage .kira01 {
    width: 10vw;
    top: 30px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topMessage .kira01 {
    width: 16vw;
    top: 50px;
    right: 50px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topMessage .kira01 {
    width: 19vw;
    top: 18vw;
    right: 5%;
  }
}
@media screen and (max-width: 520px) {
  #top #topMessage .kira01 {
    width: 24vw;
    top: 12vw;
  }
}
@media print {
  #top #topMessage .kira01 {
    opacity: 1;
  }
}
#top #topMessage .kira01.active {
  opacity: 1;
  transition-delay: 0.5s;
  animation: rotation-y 2.5s linear infinite;
}
#top #topMessage .kira02 {
  position: absolute;
  bottom: 96px;
  left: 152px;
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}
@media screen and (max-width: 1820px) {
  #top #topMessage .kira02 {
    left: 20px;
  }
}
@media screen and (max-width: 1500px) {
  #top #topMessage .kira02 {
    width: 8vw;
    bottom: 30px;
  }
}
@media screen and (max-width: 1400px) {
  #top #topMessage .kira02 {
    width: 10vw;
    left: 70px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topMessage .kira02 {
    width: 16vw;
    left: 3%;
    bottom: 5px;
  }
}
@media screen and (max-width: 520px) {
  #top #topMessage .kira02 {
    width: 17vw;
    bottom: 4vw;
  }
}
@media print {
  #top #topMessage .kira02 {
    opacity: 1;
  }
}
#top #topMessage .kira02.active {
  opacity: 1;
  transition-delay: 0.5s;
  animation: rotation-y 2.5s linear infinite;
}
@media screen and (max-width: 820px), print {
  #top #topMessage .wrap-1100 {
    width: 97%;
    margin: 0;
  }
}
#top #topMessage .messageBg {
  background-image: url(../images/top/messageBg@2x.png);
  background-size: 100% 100%;
  padding: 145px 20px 75px;
  position: relative;
}
@media screen and (max-width: 820px), print {
  #top #topMessage .messageBg {
    padding: 140px 50px 75px;
  }
}
@media screen and (max-width: 520px) {
  #top #topMessage .messageBg {
    background-image: url(../images/top/messageBg_sp@2x.png);
    padding: 55px 30px 20vw 50px;
  }
}
#top #topMessage .messageBg .messageItem01 {
  position: absolute;
  top: 80px;
  left: -15px;
  opacity: 0;
}
@media screen and (max-width: 1024px) {
  #top #topMessage .messageBg .messageItem01 {
    left: 0;
    opacity: 0;
    width: 16vw;
    top: 20px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topMessage .messageBg .messageItem01 {
    width: 18vw;
    top: 2vw;
  }
}
@media screen and (max-width: 520px) {
  #top #topMessage .messageBg .messageItem01 {
    width: 17vw;
    top: 1vw;
  }
}
@media print {
  #top #topMessage .messageBg .messageItem01 {
    left: 0;
    opacity: 1;
  }
}
#top #topMessage .messageBg .messageItem01.active {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
#top #topMessage .messageBg .messageItem02 {
  position: absolute;
  right: -40px;
  bottom: 20px;
  opacity: 0;
}
@media screen and (max-width: 1024px) {
  #top #topMessage .messageBg .messageItem02 {
    right: 0px;
    bottom: -40px;
    width: 17vw;
    z-index: 1;
  }
}
@media screen and (max-width: 520px) {
  #top #topMessage .messageBg .messageItem02 {
    width: 29.4vw;
    bottom: -6.9vw;
  }
}
@media print {
  #top #topMessage .messageBg .messageItem02 {
    right: 0px;
    bottom: -40px;
    width: 17vw;
    z-index: 1;
    opacity: 1;
  }
}
#top #topMessage .messageBg .messageItem02.active {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@media screen and (max-width: 820px), print {
  #top #topMessage .messageBg .secTitle {
    margin-left: 1%;
  }
}
#top #topMessage .messageBg .messageText {
  line-height: 1.9;
}
@media screen and (max-width: 520px) {
  #top #topMessage .messageBg .messageText {
    text-align: left;
    letter-spacing: 0.03rem;
  }
}
#top #topLoop .container {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
  border-top: 2px solid #333;
  border-bottom: 2px solid #333;
  padding-bottom: 30px;
  font-family: "Outfit", sans-serif;
  font-weight: normal;
}
@media screen and (max-width: 820px), print {
  #top #topLoop .container {
    padding: 10px 0 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topLoop .container {
    padding: 10px 0;
  }
}
#top #topLoop .container .loop {
  display: flex;
  animation: loop-text 90s linear infinite;
}
#top #topLoop .container .double-content {
  display: inline-block;
  font-size: 90px;
  white-space: nowrap;
  position: relative;
  line-height: 0;
  padding: 50px 0 40px;
  margin-left: 40px;
}
@media screen and (max-width: 820px), print {
  #top #topLoop .container .double-content {
    font-size: 60px;
    padding: 30px 0;
  }
}
@media screen and (max-width: 520px) {
  #top #topLoop .container .double-content {
    padding: 20px 0 30px;
    font-size: 42px;
  }
}
@keyframes loop-text {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
#top #topEvent .eventBg {
  background-image: linear-gradient(90deg, #96ecd9 30%, #fa96c1 70%);
  padding: 130px 0 180px;
}
@media screen and (max-width: 820px), print {
  #top #topEvent .eventBg {
    padding: 80px 0 160px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventBg {
    padding: 80px 0 130px;
  }
}
#top #topEvent .eventText {
  font-size: 18px;
  margin-bottom: 55px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventText {
    font-size: 16px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventText {
    font-size: 14px;
    line-height: 1.8;
  }
}
#top #topEvent .comminImage {
  margin: 60px 0 80px;
  opacity: 0;
}
@media print {
  #top #topEvent .comminImage {
    opacity: 1;
  }
}
#top #topEvent .comminImage.active {
  animation: fadeIn 0.5s forwards;
}
@media screen and (max-width: 820px), print {
  #top #topEvent .eventFlex {
    flex-direction: column;
  }
}
#top #topEvent .eventFlex .eventBig {
  width: 43.75%;
}
@media screen and (max-width: 820px), print {
  #top #topEvent .eventFlex .eventBig {
    width: 100%;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem {
  display: block;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 30px;
  padding: 45px 0;
  box-shadow: 7px 7px 0 #333;
  position: relative;
  transition: all 0.2s;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventBig .eventItem {
    padding: 30px 0;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem {
    border-radius: 20px;
    box-shadow: 5px 5px 0 #333;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem:hover {
  opacity: 1;
  top: 7px;
  left: 7px;
  box-shadow: 0 0 #333;
  transition: all 0.2s;
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem:hover {
    top: 5px;
    left: 5px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem:hover::before {
  opacity: 0.4;
  visibility: visible;
  transition: all 0.2s;
}
#top #topEvent .eventFlex .eventBig .eventItem:hover:after {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s;
  transform: translate(-50%, -50%);
}
#top #topEvent .eventFlex .eventBig .eventItem::before {
  position: absolute;
  content: "";
  background-color: #fff;
  opacity: 0.4;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 30px;
  opacity: 0;
  z-index: 1;
  visibility: hidden;
}
#top #topEvent .eventFlex .eventBig .eventItem:after {
  position: absolute;
  content: "";
  background-image: url(../images/top/more@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 250px;
  height: 136px;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 20px), -50%);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
#top #topEvent .eventFlex .eventBig .eventItem .status_area {
  position: absolute;
  top: -15px;
  right: 0;
  left: 0;
  text-align: center;
  z-index: 1;
}
#top #topEvent .eventFlex .eventBig .eventItem .status_area span {
  border: 2px solid;
  border-radius: 20px;
  padding: 5px 15px 5px;
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead {
  padding: 0 45px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventBig .eventItem .eventHead {
    padding: 0 30px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .eventHead {
    padding: 0 20px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .eventImage {
  width: 100%;
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .eventImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .eventImage .no-image {
  background-image: url(../images/news/no-image.jpg);
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .dayFlex {
  margin-top: 25px;
  flex-wrap: wrap;
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .dayFlex .cateFlex .cateName {
  font-size: 18px;
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .eventHead .dayFlex .cateFlex .cateName {
    font-size: 14px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 10px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .eventHead .dayFlex .cateFlex .cateName + .cateName {
    margin-left: 7px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .dayFlex .day {
  color: #afafaf;
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .eventTitle {
  font-size: 28px;
  font-weight: 500;
  line-height: 43px;
  margin-top: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventBig .eventItem .eventHead .eventTitle {
    font-size: 24px;
    line-height: 38px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .eventHead .eventTitle {
    font-size: 19px;
    margin-top: 10px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .tagFlex {
  flex-wrap: wrap;
  margin-top: 10px;
  overflow: hidden;
  max-height: 100px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .eventHead .tagFlex {
    height: 45px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .eventHead .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 18px;
  font-weight: normal;
  padding: 3px 10px;
  border-radius: 20px;
  margin-top: 15px;
  margin-right: 15px;
  max-height: 35px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .eventHead .tagFlex .tagName {
    font-size: 14px;
    border-radius: 20px;
    margin-top: 15px;
    margin-right: 10px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .openArea {
  margin-top: 40px;
  padding: 30px 45px 0;
  border-top: 2px solid #333;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea {
    padding: 20px 30px 0;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea {
    padding: 20px 20px 0;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .openArea .open {
  font-size: 22px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea .open {
    font-size: 18px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea .open {
    font-size: 16px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .openArea .open span {
  position: relative;
  padding-left: 30px;
  font-size: 24px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea .open span {
    font-size: 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea .open span {
    font-size: 18px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .openArea .open span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/calendar@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#top #topEvent .eventFlex .eventBig .eventItem .openArea .venue {
  font-size: 22px;
  margin-top: 15px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea .venue {
    font-size: 18px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea .venue {
    font-size: 16px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .openArea .venue span {
  position: relative;
  padding-left: 30px;
  font-size: 24px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea .venue span {
    font-size: 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventBig .eventItem .openArea .venue span {
    font-size: 18px;
  }
}
#top #topEvent .eventFlex .eventBig .eventItem .openArea .venue span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/pin@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 22px;
  height: 22px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#top #topEvent .eventFlex .eventSmall {
  width: 53%;
}
@media screen and (max-width: 820px), print {
  #top #topEvent .eventFlex .eventSmall {
    width: 100%;
  }
}
@media screen and (max-width: 820px), print {
  #top #topEvent .eventFlex .eventSmall .eventFlex {
    flex-direction: row;
    margin-top: 50px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventSmall .eventFlex {
    flex-direction: column;
    margin-top: 30px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventFlex + .snsArea {
  margin-top: 75px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventSmall .eventFlex + .snsArea {
    margin-top: 40px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem {
  display: block;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 20px;
  padding: 35px 0;
  box-shadow: 5px 5px 0 #333;
  position: relative;
  transition: all 0.2s;
  top: 0;
  left: 0;
  width: 48.2%;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventSmall .eventItem {
    padding: 20px 0;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventSmall .eventItem {
    width: 100%;
  }
  #top #topEvent .eventFlex .eventSmall .eventItem + .eventItem {
    margin-top: 30px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem:hover {
  opacity: 1;
  top: 5px;
  left: 5px;
  box-shadow: 0 0 #333;
  transition: all 0.2s;
}
#top #topEvent .eventFlex .eventSmall .eventItem:hover::before {
  opacity: 0.4;
  visibility: visible;
  transition: all 0.2s;
}
#top #topEvent .eventFlex .eventSmall .eventItem:hover:after {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s;
  transform: translate(-50%, -50%);
}
#top #topEvent .eventFlex .eventSmall .eventItem::before {
  position: absolute;
  content: "";
  background-color: #fff;
  opacity: 0.4;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 30px;
  opacity: 0;
  z-index: 1;
  visibility: hidden;
}
#top #topEvent .eventFlex .eventSmall .eventItem:after {
  position: absolute;
  content: "";
  background-image: url(../images/top/more@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 180px;
  height: 112px;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 20px), -50%);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
#top #topEvent .eventFlex .eventSmall .eventItem .status_area {
  position: absolute;
  top: -15px;
  right: 0;
  left: 0;
  text-align: center;
  z-index: 1;
}
#top #topEvent .eventFlex .eventSmall .eventItem .status_area span {
  border: 2px solid;
  border-radius: 20px;
  padding: 5px 15px 5px;
}
@media screen and (max-width: 1024px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .status_area span {
    font-size: 13px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topEvent .eventFlex .eventSmall .eventItem .status_area span {
    font-size: 1rem;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead {
  padding: 0 35px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .eventHead {
    padding: 0 20px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .eventImage {
  width: 100%;
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .eventImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .eventImage .no-image {
  background-image: url(../images/news/no-image.jpg);
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .dayFlex {
  margin-top: 25px;
  flex-wrap: wrap;
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .dayFlex .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
}
@media screen and (max-width: 1024px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .eventHead .dayFlex .cateFlex .cateName {
    font-size: 14px;
  }
}
@media print {
  #top #topEvent .eventFlex .eventSmall .eventItem .eventHead .dayFlex .cateFlex .cateName {
    font-size: 14px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 10px;
}
@media screen and (max-width: 1024px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .eventHead .dayFlex .cateFlex .cateName + .cateName {
    margin-left: 7px;
  }
}
@media print {
  #top #topEvent .eventFlex .eventSmall .eventItem .eventHead .dayFlex .cateFlex .cateName + .cateName {
    margin-left: 7px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .dayFlex .day {
  font-size: 14px;
  color: #afafaf;
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .eventTitle {
  font-size: 24px;
  font-weight: 500;
  line-height: 38px;
  margin-top: 10px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .eventHead .eventTitle {
    font-size: 20px;
    line-height: 32px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .eventHead .eventTitle {
    font-size: 19px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .tagFlex {
  flex-wrap: wrap;
  margin-top: 5px;
  overflow: hidden;
  height: 45px;
}
#top #topEvent .eventFlex .eventSmall .eventItem .eventHead .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 3px 10px;
  border-radius: 20px;
  margin-top: 15px;
  margin-right: 10px;
}
#top #topEvent .eventFlex .eventSmall .eventItem .openArea {
  margin-top: 35px;
  padding: 30px 35px 0;
  border-top: 2px solid #333;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .openArea {
    padding: 20px 20px 0;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .openArea .open {
  font-size: 18px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .openArea .open {
    font-size: 16px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .openArea .open span {
  position: relative;
  padding-left: 28px;
  font-size: 22px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .openArea .open span {
    font-size: 18px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .openArea .open span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/calendar@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#top #topEvent .eventFlex .eventSmall .eventItem .openArea .venue {
  font-size: 18px;
  margin-top: 15px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .openArea .venue {
    font-size: 16px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .openArea .venue span {
  position: relative;
  padding-left: 28px;
  font-size: 20px;
}
@media screen and (max-width: 1400px) {
  #top #topEvent .eventFlex .eventSmall .eventItem .openArea .venue span {
    font-size: 18px;
  }
}
#top #topEvent .eventFlex .eventSmall .eventItem .openArea .venue span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/pin@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#top #topEvent .nonEvent {
  max-width: 850px;
  margin: 0 auto;
}
#top #topEvent .nonEvent .snsArea {
  margin-top: 75px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .nonEvent .snsArea {
    margin-top: 40px;
  }
}
#top #topEvent .snsArea {
  background-image: linear-gradient(45deg, #f5e7ee 0%, #fff0f8 35%, #fffeff 50%, #fff0f8 65%, #f5e7ee 70%);
  border-radius: 150px;
  -webkit-box-shadow: 0 0 1px 14px rgb(255, 240, 248);
  box-shadow: 0 0 1px 14px rgb(255, 240, 248);
  position: relative;
  padding: 30px;
}
@media screen and (max-width: 820px), print {
  #top #topEvent .snsArea {
    margin-top: 75px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .snsArea {
    padding: 20px;
    margin-top: 40px;
    -webkit-box-shadow: 0 0 1px 7px rgb(255, 240, 248);
    box-shadow: 0 0 1px 7px rgb(255, 240, 248);
    border-radius: 30px;
  }
}
#top #topEvent .snsArea .snsTitle {
  font-size: 45px;
  font-weight: 500;
  color: #f33888;
  margin-bottom: 15px;
  line-height: 1;
}
@media screen and (max-width: 1200px) {
  #top #topEvent .snsArea .snsTitle {
    font-size: 32px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .snsArea .snsTitle {
    font-size: 26px;
  }
}
#top #topEvent .snsArea .snsTitle span {
  position: relative;
  padding: 0 35px;
}
@media screen and (max-width: 1200px) {
  #top #topEvent .snsArea .snsTitle span {
    padding: 0 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .snsArea .snsTitle span {
    padding: 0 15px;
  }
}
#top #topEvent .snsArea .snsTitle span::before, #top #topEvent .snsArea .snsTitle span:after {
  position: absolute;
  content: "";
  width: 2px;
  height: 35px;
  border-radius: 4px;
  background-color: #f33888;
  bottom: 10px;
}
@media screen and (max-width: 1200px) {
  #top #topEvent .snsArea .snsTitle span::before, #top #topEvent .snsArea .snsTitle span:after {
    height: 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .snsArea .snsTitle span::before, #top #topEvent .snsArea .snsTitle span:after {
    height: 15px;
    bottom: 6px;
  }
}
#top #topEvent .snsArea .snsTitle span::before {
  left: 0;
  transform: rotate(-30deg);
}
#top #topEvent .snsArea .snsTitle span:after {
  right: 0;
  transform: rotate(30deg);
}
#top #topEvent .snsArea .snsText {
  margin-bottom: 15px;
  font-size: 18px;
}
@media screen and (max-width: 820px), print {
  #top #topEvent .snsArea .snsText {
    font-size: 16px;
  }
}
@media screen and (max-width: 520px) {
  #top #topEvent .snsArea .snsText {
    font-size: 14px;
  }
}
#top #topEvent .snsArea .snsText span {
  position: relative;
  padding-left: 25px;
}
#top #topEvent .snsArea .snsText span::before {
  position: absolute;
  content: "";
  background-image: url(../images/common/pink-heart@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 21px;
  top: 50%;
  left: 2px;
  transform: translate(0, -50%);
}
#top #topEvent .snsArea .snsFlex .snsItem.noLink {
  pointer-events: none;
}
#top #topEvent .snsArea .snsFlex .snsItem + .snsItem {
  margin-left: 45px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .snsArea .snsFlex .snsItem + .snsItem {
    margin-left: 15px;
  }
}
#top #topEvent .button01 {
  margin-top: 65px;
}
@media screen and (max-width: 520px) {
  #top #topEvent .button01 {
    margin-top: 30px;
  }
}
#top #topReview .reviewBg {
  background-color: #f37caf;
  padding: 160px 0;
}
@media screen and (max-width: 820px), print {
  #top #topReview .reviewBg {
    padding: 80px 0;
  }
}
#top #topReview .reviewArea {
  position: relative;
}
#top #topReview .reviewArea .reviewItem01,
#top #topReview .reviewArea .reviewItem02 {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0;
}
@media print {
  #top #topReview .reviewArea .reviewItem01,
  #top #topReview .reviewArea .reviewItem02 {
    opacity: 1;
  }
}
#top #topReview .reviewArea .reviewItem01.active,
#top #topReview .reviewArea .reviewItem02.active {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
#top #topReview .reviewArea .reviewItem01 {
  width: 264px;
  height: 247px;
  top: -80px;
  right: -22px;
}
@media screen and (max-width: 1024px) {
  #top #topReview .reviewArea .reviewItem01 {
    width: 190px;
    height: 178px;
    top: -40px;
    right: -10px;
  }
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewArea .reviewItem01 {
    width: 120px;
    height: 112px;
  }
}
@media print {
  #top #topReview .reviewArea .reviewItem01 {
    width: 190px;
    height: 178px;
    top: -40px;
    right: -10px;
  }
}
#top #topReview .reviewArea .reviewItem02 {
  background-image: url(../images/top/reviewItem02@2x.png);
  width: 220px;
  height: 275px;
  bottom: -4px;
  left: 110px;
}
@media screen and (max-width: 1300px) {
  #top #topReview .reviewArea .reviewItem02 {
    left: 20px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topReview .reviewArea .reviewItem02 {
    width: 140px;
    height: 176px;
    bottom: -124px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topReview .reviewArea .reviewItem02 {
    width: 110px;
    height: 138px;
    bottom: -104px;
    left: -10px;
  }
}
#top #topReview .reviewBox {
  border: 2px solid #333;
  border-radius: 50px;
  overflow: hidden;
}
@media screen and (max-width: 820px), print {
  #top #topReview .reviewBox {
    border-radius: 30px;
  }
}
#top #topReview .reviewBox .checkBg {
  background-color: #fff;
  background-image: url(../images/common/checkBg02.png);
  background-repeat: repeat;
  padding: 90px 100px 70px;
}
@media screen and (max-width: 1400px) {
  #top #topReview .reviewBox .checkBg {
    padding: 90px 70px 70px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topReview .reviewBox .checkBg {
    padding: 60px 50px;
  }
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .checkBg {
    padding: 50px 20px 30px;
  }
}
@media print {
  #top #topReview .reviewBox .checkBg {
    padding: 60px 50px;
  }
}
#top #topReview .reviewBox .reviewTopText {
  margin-bottom: 45px;
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewTopText {
    margin-bottom: 20px;
  }
}
#top #topReview .reviewBox .reviewSlider {
  width: calc(100% + 20px);
  margin-left: -15px;
}
@media screen and (max-width: 820px), print {
  #top #topReview .reviewBox .reviewSlider {
    width: 100%;
    margin-left: 0;
  }
}
#top #topReview .reviewBox .reviewSlider .slick-list {
  width: calc(100% + 20px);
}
@media screen and (max-width: 820px), print {
  #top #topReview .reviewBox .reviewSlider .slick-list {
    width: 100%;
  }
}
#top #topReview .reviewBox .reviewSlider .slick-track {
  padding: 20px 0 5px;
  display: flex;
}
#top #topReview .reviewBox .reviewSlider .slick-prev,
#top #topReview .reviewBox .reviewSlider .slick-next {
  width: 65px;
  height: 65px;
}
@media screen and (max-width: 1200px) {
  #top #topReview .reviewBox .reviewSlider .slick-prev,
  #top #topReview .reviewBox .reviewSlider .slick-next {
    width: 50px;
    height: 50px;
  }
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .slick-prev,
  #top #topReview .reviewBox .reviewSlider .slick-next {
    width: 30px;
    height: 30px;
  }
}
#top #topReview .reviewBox .reviewSlider .slick-prev:before,
#top #topReview .reviewBox .reviewSlider .slick-next:before {
  background-image: url(../images/top/slick-arw@2x.png);
  background-size: contain;
  color: transparent;
  opacity: 1;
  width: 65px;
  height: 65px;
  font-size: 65px;
}
@media screen and (max-width: 1200px) {
  #top #topReview .reviewBox .reviewSlider .slick-prev:before,
  #top #topReview .reviewBox .reviewSlider .slick-next:before {
    width: 50px;
    height: 50px;
    font-size: 50px;
  }
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .slick-prev:before,
  #top #topReview .reviewBox .reviewSlider .slick-next:before {
    width: 30px;
    height: 30px;
    font-size: 30px;
  }
}
#top #topReview .reviewBox .reviewSlider .slick-prev {
  transform: translate(0, -50%) rotate(180deg);
  left: -45px;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  #top #topReview .reviewBox .reviewSlider .slick-prev {
    left: -30px;
  }
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .slick-prev {
    left: -15px;
  }
}
#top #topReview .reviewBox .reviewSlider .slick-next {
  right: -55px;
}
@media screen and (max-width: 1200px) {
  #top #topReview .reviewBox .reviewSlider .slick-next {
    right: -30px;
  }
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .slick-next {
    right: -15px;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 30px;
  padding: 50px 30px 20px;
  position: relative;
  margin: 0 10px;
  box-shadow: 5px 5px 0 #333;
  top: 0;
  left: 0;
  height: auto;
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem {
    padding: 35px 15px 15px;
    box-shadow: 3px 3px 0 #333;
    border-radius: 15px;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem:hover {
  top: 5px;
  left: 5px;
  box-shadow: 0 0 0 #333;
  opacity: 1;
}
#top #topReview .reviewBox .reviewSlider .reviewItem .reviewNumber {
  font-family: "Outfit", sans-serif;
  position: absolute;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 30px;
  font-size: 20px;
  padding: 5px;
  top: -20px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 180px;
  text-align: center;
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .reviewNumber {
    font-size: 18px;
    padding: 0px;
    top: -15px;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem .cateFlex .cateName {
  font-size: 14px;
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
}
@media screen and (max-width: 1800px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .cateFlex .cateName {
    font-size: 0.8vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .cateFlex .cateName {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .cateFlex .cateName {
    font-size: 12px;
  }
}
@media print {
  #top #topReview .reviewBox .reviewSlider .reviewItem .cateFlex .cateName {
    font-size: 14px;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem .cateFlex .cateName + .cateName {
  margin-left: 10px;
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .cateFlex .cateName + .cateName {
    margin-left: 8px;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem .iconFlex {
  margin-top: 20px;
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .iconFlex {
    flex-direction: column;
    align-items: center;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem .iconFlex .icon {
  width: 75px;
}
#top #topReview .reviewBox .reviewSlider .reviewItem .iconFlex .reviewTitle {
  width: calc(100% - 95px);
  font-size: 20px;
  line-height: 30px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .iconFlex .reviewTitle {
    width: 100%;
    font-size: 18px;
    line-height: 26px;
    margin-top: 5px;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem .reviewTextArea {
  background-color: rgba(0, 208, 161, 0.1);
  padding: 10px 15px;
  border-radius: 9px;
  margin-top: 25px;
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .reviewTextArea {
    margin-top: 15px;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem .reviewTextArea .reviewText {
  line-height: 32px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  -webkit-line-clamp: 7;
}
@media screen and (max-width: 520px) {
  #top #topReview .reviewBox .reviewSlider .reviewItem .reviewTextArea .reviewText {
    line-height: 24px;
  }
}
#top #topReview .reviewBox .reviewSlider .reviewItem .reviewInfo {
  margin-top: 10px;
}
#top #topTopics .topicsBg {
  background-image: url(../images/common/checkBg02.png);
  background-repeat: repeat;
  padding: 200px 0;
}
@media screen and (max-width: 820px), print {
  #top #topTopics .topicsBg {
    padding: 40px 0 200px;
  }
}
#top #topTopics .topicsText {
  margin-bottom: 40px;
}
@media screen and (max-width: 520px) {
  #top #topTopics .topicsText {
    margin-bottom: 20px;
  }
}
#top #topTopics .topicsArea {
  position: relative;
}
#top #topTopics .topicsArea .topicsItem01 {
  position: absolute;
  content: "";
  width: 231px;
  height: 302px;
  bottom: -13px;
  right: 75px;
  opacity: 0;
}
@media screen and (max-width: 1300px) {
  #top #topTopics .topicsArea .topicsItem01 {
    right: 20px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topTopics .topicsArea .topicsItem01 {
    width: 161px;
    height: 212px;
    right: -10px;
    bottom: -133px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topTopics .topicsArea .topicsItem01 {
    width: 121px;
    height: 158px;
    right: -10px;
    bottom: -113px;
  }
}
@media print {
  #top #topTopics .topicsArea .topicsItem01 {
    opacity: 1;
  }
}
#top #topTopics .topicsArea .topicsItem01.active {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
#top #topTopics .topicsBox {
  border: 2px solid #333;
  border-radius: 50px;
  overflow: hidden;
}
@media screen and (max-width: 820px), print {
  #top #topTopics .topicsBox {
    border-radius: 30px;
  }
}
#top #topTopics .topicsBox .blueBg {
  background-color: #9fe6dc;
  padding: 90px 0 70px 100px;
}
@media screen and (max-width: 1500px) {
  #top #topTopics .topicsBox .blueBg {
    padding-left: 70px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topTopics .topicsBox .blueBg {
    padding-left: 30px;
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topTopics .topicsBox .blueBg {
    padding-left: 0;
  }
}
@media screen and (max-width: 520px) {
  #top #topTopics .topicsBox .blueBg {
    padding-top: 50px;
    padding-bottom: 30px;
  }
}
@media print {
  #top #topTopics .topicsBox .blueBg {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
#top #topTopics .wrapper {
  width: 100%;
  max-width: none;
}
@media screen and (max-width: 820px), print {
  #top #topTopics .wrapper {
    width: 92%;
  }
}
#top #main-slider {
  position: absolute;
  width: 42.7vw;
  right: 5.5%;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  #top #main-slider {
    width: 35vw;
    right: 2%;
  }
}
@media screen and (max-width: 820px), print {
  #top #main-slider {
    position: relative;
    width: 100%;
    right: auto;
    margin: 0 auto 30px;
  }
}
@media print {
  #top #main-slider {
    padding-bottom: 30px;
  }
}
#top #main-slider .splide__slide {
  height: 100% !important;
  padding-left: 2px;
}
#top #main-slider .dayFlex {
  flex-wrap: wrap;
}
#top #main-slider .dayFlex .cateFlex .cateName {
  font-size: 0.9vw;
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
}
@media screen and (max-width: 1024px) {
  #top #main-slider .dayFlex .cateFlex .cateName {
    font-size: 1.3vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #main-slider .dayFlex .cateFlex .cateName {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  #top #main-slider .dayFlex .cateFlex .cateName {
    font-size: 14px;
  }
}
#top #main-slider .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 10px;
}
@media screen and (max-width: 520px) {
  #top #main-slider .dayFlex .cateFlex .cateName + .cateName {
    margin-left: 7px;
  }
}
#top #main-slider .dayFlex .day {
  color: #6b9e97;
  margin-left: 25px;
  font-size: 0.7vw;
}
@media screen and (max-width: 1024px) {
  #top #main-slider .dayFlex .day {
    font-size: 1vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #main-slider .dayFlex .day {
    font-size: 12px;
  }
}
#top #main-slider .eventTitle {
  font-size: 28px;
  font-weight: 500;
  line-height: 43px;
  margin-top: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  overflow: hidden;
}
@media screen and (max-width: 1920px) {
  #top #main-slider .eventTitle {
    font-size: 1.46vw;
    margin-top: 1vw;
    line-height: 2.2vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #main-slider .eventTitle {
    font-size: 1.9vw;
    margin-top: 1vw;
    line-height: 2.6vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #main-slider .eventTitle {
    font-size: 22px;
    margin-top: 10px;
    line-height: 32px;
  }
}
@media screen and (max-width: 520px) {
  #top #main-slider .eventTitle {
    font-size: 19px;
    margin-top: 10px;
  }
}
#top #main-slider .tagFlex {
  flex-wrap: wrap;
  margin-top: 0.5vw;
  overflow: hidden;
  height: 5.2vw;
}
@media screen and (max-width: 1400px) {
  #top #main-slider .tagFlex {
    height: 2.9vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #main-slider .tagFlex {
    height: 7vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #main-slider .tagFlex {
    height: 90px;
  }
}
#top #main-slider .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 0.9vw;
  font-weight: normal;
  padding: 3px 10px;
  border-radius: 20px;
  margin-top: 0.8vw;
  margin-right: 0.8vw;
  max-height: 36px;
}
@media screen and (max-width: 1024px) {
  #top #main-slider .tagFlex .tagName {
    font-size: 1.3vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #main-slider .tagFlex .tagName {
    font-size: 14px;
    margin-top: 15px;
    margin-right: 15px;
  }
}
@media screen and (max-width: 520px) {
  #top #main-slider .tagFlex .tagName {
    font-size: 14px;
    border-radius: 20px;
    margin-top: 15px;
    margin-right: 10px;
  }
}
#top #thumbnail-slider .is-active {
  transform: scale(1); /* 大きくならない */
  z-index: auto;
}
#top #thumbnail-slider .splide__track {
  padding-bottom: 5px;
}
#top #thumbnail-slider .splide__list {
  align-items: flex-end;
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider .splide__list {
    align-items: center;
  }
}
#top #thumbnail-slider #thumbnail-slider-slide01 {
  margin-left: 2.3vw !important;
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider #thumbnail-slider-slide01 {
    margin-left: 0 !important;
  }
  #top #thumbnail-slider #thumbnail-slider-slide01 .category-block p {
    animation: frame-safari-ipad02 6s linear infinite !important;
    -webkit-animation: frame-safari-ipad02 6s linear infinite !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
#top #thumbnail-slider .splide__slide.is-active {
  width: 700px;
  height: 550px;
  margin-right: 3.9062vw !important;
  margin-left: 0.5vw;
}
@media screen and (max-width: 1920px) {
  #top #thumbnail-slider .splide__slide.is-active {
    width: 36.459vw;
    height: 28.646vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #thumbnail-slider .splide__slide.is-active {
    width: 50vw;
    height: 40vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider .splide__slide.is-active {
    width: 80%;
    height: 53vw;
    margin: 0 32px 0 0 !important;
  }
}
@media screen and (max-width: 520px) {
  #top #thumbnail-slider .splide__slide.is-active {
    margin: 0 16px 0 0 !important;
  }
}
#top #thumbnail-slider .splide__slide.is-active .innerItem {
  width: 700px;
  height: 550px;
  padding: 2.60417vw;
  border-radius: 30px;
  pointer-events: auto;
  box-shadow: 5px 5px 0 #333;
}
@media screen and (max-width: 1920px) {
  #top #thumbnail-slider .splide__slide.is-active .innerItem {
    width: 36.459vw;
    height: 28.646vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #thumbnail-slider .splide__slide.is-active .innerItem {
    width: 50vw;
    height: 40vw;
    padding: 3.5vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider .splide__slide.is-active .innerItem {
    width: 100%;
    height: 53vw;
    padding: 4.5vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider .splide__slide.is-active .innerItem {
    border-radius: 15px;
  }
}
#top #thumbnail-slider .splide__slide.is-active .innerItem .category-block {
  opacity: 1;
  visibility: visible;
}
#top #thumbnail-slider .splide__slide.is-active .innerItem::before {
  display: none;
}
#top #thumbnail-slider .splide__slide.is-active .innerItem .thumb {
  width: 600px;
  height: 450px;
}
@media screen and (max-width: 1920px) {
  #top #thumbnail-slider .splide__slide.is-active .innerItem .thumb {
    width: 31.25vw;
    height: 23.438vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #thumbnail-slider .splide__slide.is-active .innerItem .thumb {
    width: 42.7vw;
    height: 32.6vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider .splide__slide.is-active .innerItem .thumb {
    width: 65.8vw;
    height: 43.3vw;
  }
}
@media screen and (max-width: 520px) {
  #top #thumbnail-slider .splide__slide.is-active .innerItem .thumb {
    width: 64.5vw;
  }
}
#top #thumbnail-slider .splide__slide {
  width: 248px;
  height: 195px;
  opacity: 1 !important;
  margin-right: 1.6666vw !important;
}
@media screen and (max-width: 1920px) {
  #top #thumbnail-slider .splide__slide {
    width: 12.917vw;
    height: 10.157vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #thumbnail-slider .splide__slide {
    width: 20vw;
    height: 15vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider .splide__slide {
    width: 60%;
    height: 38vw;
    margin: 0 32px 0 0 !important;
  }
}
@media screen and (max-width: 520px) {
  #top #thumbnail-slider .splide__slide {
    margin: 0 16px 0 0 !important;
  }
}
#top #thumbnail-slider .innerItem {
  width: 248px;
  height: 195px;
  background-color: #fff;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: all 0.6s;
  border: 2px solid #333;
  border-radius: 12px;
  display: block;
  overflow: hidden;
  padding: 1.04167vw;
  pointer-events: none;
}
@media screen and (max-width: 1920px) {
  #top #thumbnail-slider .innerItem {
    width: 12.917vw;
    height: 10.157vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #thumbnail-slider .innerItem {
    width: 20vw;
    height: 15vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider .innerItem {
    width: 100%;
    height: 38vw;
    padding: 3vw;
  }
}
#top #thumbnail-slider .innerItem::before {
  position: absolute;
  content: "";
  background-color: #333;
  opacity: 0.2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
}
#top #thumbnail-slider .innerItem .thumb {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  will-change: transform;
  background: transparent no-repeat center center;
  background-size: cover;
  top: auto;
  left: auto;
  right: 0;
  bottom: 0;
  transition: width 0.6s, height 0.6s;
  width: 208px;
  height: 155px;
  -webkit-transform: none;
  transform: none;
}
@media screen and (max-width: 1920px) {
  #top #thumbnail-slider .innerItem .thumb {
    width: 10.6vw;
    height: 7.9vw;
  }
}
@media screen and (max-width: 1024px) {
  #top #thumbnail-slider .innerItem .thumb {
    width: 17.6vw;
    height: 12.4vw;
  }
}
@media screen and (max-width: 820px), print {
  #top #thumbnail-slider .innerItem .thumb {
    width: 49.9vw;
    height: 31.3vw;
  }
}
#top .category-block {
  align-items: center;
  aspect-ratio: 690/71;
  -webkit-clip-path: polygon(6% 0, 94% 0, 103.5% 100%, -3.5% 100%);
  clip-path: polygon(6% 0, 94% 0, 103.5% 100%, -3.5% 100%);
  display: flex;
  font-size: 1rem;
  justify-content: center;
  position: absolute;
  width: 93%;
  opacity: 0;
  visibility: hidden;
}
#top .category-block p {
  align-items: center;
  -webkit-animation: frame 6s linear 0s infinite;
  animation: frame 6s linear 0s infinite;
  display: flex;
  height: 100%;
  justify-content: space-between;
  left: 0;
  position: absolute;
  top: 0;
  width: 300%;
}
_::-webkit-full-page-media, _:future, :root #top .category-block p {
  -webkit-animation: frame-safari 6s linear 0s infinite;
  animation: frame-safari 6s linear 0s infinite;
}

@media screen and (max-width: 820px), print {
  _::-webkit-full-page-media, _:future, :root #top .category-block p {
    -webkit-animation: frame-safari-ipad 6s linear infinite !important;
    animation: frame-safari-ipad 6s linear infinite !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
#top .category-block p span {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  width: 33.3333333333%;
}
@media screen and (max-width: 520px) {
  #top .category-block p span {
    font-size: 12px;
  }
}
#top .category-block.block1 {
  left: 3.5%;
  top: -9px;
}
@media screen and (max-width: 820px), print {
  #top .category-block.block1 {
    top: -7px;
  }
}
#top .category-block.block2 {
  bottom: 96.5%;
  right: 0;
  rotate: 90deg;
  width: 72%;
  -webkit-transform-origin: 45% 540%;
  transform-origin: 45% 540%;
}
@media screen and (max-width: 820px), print {
  #top .category-block.block2 {
    bottom: 96%;
    width: 66%;
    -webkit-transform-origin: 47% 540%;
    transform-origin: 47% 540%;
  }
}
#top .category-block.block3 {
  bottom: -9px;
  left: 0;
  margin: 0 auto;
  right: 0;
  rotate: 180deg;
}
@media screen and (max-width: 820px), print {
  #top .category-block.block3 {
    bottom: -7px;
  }
}
#top .category-block.block4 {
  bottom: 96.5%;
  left: 0;
  rotate: -90deg;
  -webkit-transform-origin: 55% 535%;
  transform-origin: 55% 535%;
  width: 72%;
}
@media screen and (max-width: 820px), print {
  #top .category-block.block4 {
    bottom: 96%;
    width: 66%;
    -webkit-transform-origin: 54% 540%;
    transform-origin: 54% 540%;
  }
}
#top .splide__arrow svg {
  display: none;
}
#top .splide__arrow--prev,
#top .splide__arrow--next {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 12.1vw;
  margin-top: -36px;
  font-size: 0;
  cursor: pointer;
  z-index: 2;
  background-image: url(../images/common/arw@2x.png);
  background-size: contain;
}
@media screen and (max-width: 1400px) {
  #top .splide__arrow--prev,
  #top .splide__arrow--next {
    width: 3vw;
    height: 3vw;
  }
}
@media screen and (max-width: 1024px) {
  #top .splide__arrow--prev,
  #top .splide__arrow--next {
    bottom: 16.9vw;
  }
}
@media screen and (max-width: 820px), print {
  #top .splide__arrow--prev,
  #top .splide__arrow--next {
    width: 40px;
    height: 40px;
    bottom: auto;
    top: calc(50% + 10px);
  }
}
@media screen and (max-width: 520px) {
  #top .splide__arrow--prev,
  #top .splide__arrow--next {
    width: 30px;
    height: 30px;
    top: calc(50% + 15px);
  }
}
#top .splide__arrow--prev {
  right: 165px;
  transform: rotate(180deg);
}
@media screen and (max-width: 1400px) {
  #top .splide__arrow--prev {
    right: 10vw;
  }
}
@media screen and (max-width: 1024px) {
  #top .splide__arrow--prev {
    right: 6vw;
  }
}
@media screen and (max-width: 820px), print {
  #top .splide__arrow--prev {
    right: auto;
    left: 2vw;
  }
}
#top .splide__arrow--next {
  right: 110px;
}
@media screen and (max-width: 1400px) {
  #top .splide__arrow--next {
    right: 6vw;
  }
}
@media screen and (max-width: 1024px) {
  #top .splide__arrow--next {
    right: 2vw;
  }
}
@media print {
  #top .splide__arrow--next {
    right: 2vw;
  }
}
#top #topSns .snsBg {
  background-color: #fae459;
  position: relative;
  padding: 100px 0 150px;
  border-bottom: 2px solid #333;
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg {
    padding: 60px 0 90px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg {
    border-bottom: 1px solid #333;
  }
}
#top #topSns .snsBg::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/snsBg@2x.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100px;
  top: -100px;
  left: 0;
}
@media screen and (min-width: 1921px) {
  #top #topSns .snsBg::before {
    background-size: 100% 100%;
  }
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg::before {
    height: 70px;
    top: -70px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg::before {
    height: 50px;
    top: -50px;
  }
}
#top #topSns .snsBg .snsItem01 {
  position: absolute;
  top: -94px;
  right: 396px;
  opacity: 0;
}
@media screen and (max-width: 1500px) {
  #top #topSns .snsBg .snsItem01 {
    right: 50px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topSns .snsBg .snsItem01 {
    right: 20px;
    width: 14vw;
    top: -90px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .snsItem01 {
    width: 16vw;
    top: -10vw;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsItem01 {
    width: 22vw;
    top: -13vw;
  }
}
@media print {
  #top #topSns .snsBg .snsItem01 {
    right: 20px;
    opacity: 1;
  }
}
#top #topSns .snsBg .snsItem01.active {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
#top #topSns .snsBg .snsItem02 {
  position: absolute;
  left: 100px;
  bottom: -20px;
  opacity: 0;
}
@media screen and (max-width: 1700px) {
  #top #topSns .snsBg .snsItem02 {
    left: 20px;
    width: 150px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topSns .snsBg .snsItem02 {
    bottom: -40px;
    width: 17vw;
    z-index: 1;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsItem02 {
    width: 19vw;
    bottom: -6.9vw;
  }
}
@media print {
  #top #topSns .snsBg .snsItem02 {
    left: 20px;
    z-index: 1;
    opacity: 1;
  }
}
#top #topSns .snsBg .snsItem02.active {
  animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
#top #topSns .snsBg .snsText {
  font-size: 18px;
  margin-bottom: 25px;
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsText {
    font-size: 14px;
    margin-bottom: 30px;
  }
}
#top #topSns .snsBg .instaTitle {
  position: relative;
  display: inline-block;
  background-color: #333;
  padding: 0 18px;
  color: #fff;
  font-size: 44px;
  font-weight: bold;
  border: solid 2px #fff;
  border-radius: 8px;
  margin-bottom: 35px;
  font-weight: normal;
  font-family: "Outfit", sans-serif;
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .instaTitle {
    font-size: 38px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .instaTitle {
    font-size: 30px;
    margin-bottom: 20px;
  }
}
#top #topSns .snsBg .instaTitle::before {
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  border: 17px solid transparent;
  border-top: 17px solid #333;
  z-index: 2;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .instaTitle::before {
    bottom: -24px;
    border: 12px solid transparent;
    border-top: 12px solid #333;
  }
}
#top #topSns .snsBg .instaTitle::after {
  content: "";
  position: absolute;
  bottom: -36px;
  left: 50%;
  border: 18px solid transparent;
  border-top: 18px solid #fff;
  z-index: 1;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .instaTitle::after {
    bottom: -28px;
    border: 13px solid transparent;
    border-top: 13px solid #fff;
  }
}
#top #topSns .snsBg .check {
  position: absolute;
  top: -75px;
  left: 5%;
  padding-left: 58px;
  font-size: 35px;
  font-family: "Outfit", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .check {
    font-size: 30px;
    top: -60px;
    left: 6%;
    padding-left: 40px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .check {
    font-size: 24px;
    top: -45px;
    padding-left: 35px;
  }
}
#top #topSns .snsBg .check::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/search@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 43px;
  height: 43px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .check::before {
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .check::before {
    width: 25px;
    height: 25px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topSns .snsBg .snsFlex {
    flex-direction: column;
  }
}
@media print {
  #top #topSns .snsBg .snsFlex {
    flex-direction: column;
  }
}
#top #topSns .snsBg .snsFlex .instaArea {
  width: 69.2%;
}
@media screen and (max-width: 1024px) {
  #top #topSns .snsBg .snsFlex .instaArea {
    width: 100%;
  }
}
@media print {
  #top #topSns .snsBg .snsFlex .instaArea {
    width: 100%;
  }
}
#top #topSns .snsBg .snsFlex .instaArea .insta {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 20px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 40px;
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .snsFlex .instaArea .insta {
    padding: 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .instaArea .insta {
    border-radius: 10px;
  }
}
#top #topSns .snsBg .snsFlex .instaArea .insta .instaImage {
  width: 24.4%;
}
#top #topSns .snsBg .snsFlex .instaArea .insta .instaImage:nth-child(n+5) {
  margin-top: 0.6%;
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .instaArea .insta .instaImage {
    width: 48%;
  }
  #top #topSns .snsBg .snsFlex .instaArea .insta .instaImage:nth-child(n+3) {
    margin-top: 4%;
  }
}
#top #topSns .snsBg .snsFlex .instaArea .insta #instafeed {
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  box-sizing: border-box;
  display: grid;
  width: 100%;
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .instaArea .insta #instafeed {
    grid-template-columns: repeat(2, 1fr);
  }
}
#top #topSns .snsBg .snsFlex .instaArea .insta #instafeed .col {
  aspect-ratio: 1/1;
}
#top #topSns .snsBg .snsFlex .instaArea .insta #instafeed .col .feed-card {
  display: block;
  height: 100%;
}
#top #topSns .snsBg .snsFlex .instaArea .insta #instafeed .col .feed-card .feed-card-inner {
  display: block;
  height: 100%;
}
#top #topSns .snsBg .snsFlex .instaArea .insta #instafeed .col .feed-card .feed-card-inner img,
#top #topSns .snsBg .snsFlex .instaArea .insta #instafeed .col .feed-card .feed-card-inner video {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
#top #topSns .snsBg .snsFlex .instaArea .snsLink {
  text-align: center;
  margin-top: 25px;
  font-size: 22px;
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .snsFlex .instaArea .snsLink {
    font-size: 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .instaArea .snsLink {
    font-size: 18px;
    margin-top: 10px;
  }
}
#top #topSns .snsBg .snsFlex .instaArea .snsLink a {
  position: relative;
  padding: 0 30px 6px 35px;
  border-bottom: 2px solid #333;
}
#top #topSns .snsBg .snsFlex .instaArea .snsLink a::before, #top #topSns .snsBg .snsFlex .instaArea .snsLink a::after {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  top: calc(50% - 3px);
  transform: translate(0, -50%);
}
#top #topSns .snsBg .snsFlex .instaArea .snsLink a::before {
  background-image: url(../images/common/sns@2x.png);
  width: 24px;
  height: 24px;
  left: 0;
}
#top #topSns .snsBg .snsFlex .instaArea .snsLink a::after {
  background-image: url(../images/top/link@2x.png);
  width: 17px;
  height: 17px;
  right: 0;
}
#top #topSns .snsBg .snsFlex .otherSns {
  width: 22.3%;
}
@media screen and (max-width: 1024px) {
  #top #topSns .snsBg .snsFlex .otherSns {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 50px;
  }
}
@media print {
  #top #topSns .snsBg .snsFlex .otherSns {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 50px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .otherSns {
    flex-direction: column;
  }
}
@media screen and (max-width: 1024px) {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem {
    min-width: 300px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem {
    min-width: 230px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem {
    width: 100%;
  }
}
#top #topSns .snsBg .snsFlex .otherSns .snsItem + .snsItem {
  margin-top: 60px;
}
@media screen and (max-width: 1024px) {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem + .snsItem {
    margin-top: 0;
    margin-left: 60px;
  }
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem + .snsItem {
    margin-left: 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem + .snsItem {
    margin-top: 30px;
    margin-left: 0;
  }
}
@media print {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem + .snsItem {
    margin-top: 0;
  }
}
#top #topSns .snsBg .snsFlex .otherSns .snsItem .snsBaloon {
  background-color: #333;
  color: #fff;
  display: block;
  padding: 5px;
  border-radius: 40px;
  position: relative;
  text-align: center;
  max-width: 265px;
  width: 100%;
  margin: 0 auto 30px;
  font-size: 30px;
  padding-bottom: 10px;
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem .snsBaloon {
    font-size: 24px;
  }
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem .snsBaloon {
    font-size: 22px;
  }
}
#top #topSns .snsBg .snsFlex .otherSns .snsItem .snsBaloon.font-s {
  font-size: 16px;
  line-height: 22px;
}
@media screen and (max-width: 520px) {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem .snsBaloon.font-s {
    font-size: 14px;
  }
}
#top #topSns .snsBg .snsFlex .otherSns .snsItem .snsBaloon::before {
  content: "";
  position: absolute;
  bottom: -29px;
  left: 50%;
  border: 15px solid transparent;
  border-top: 15px solid #333;
  z-index: 2;
  transform: translate(-50%, 0);
}
#top #topSns .snsBg .snsFlex .otherSns .snsItem .snsIcon {
  display: block;
  background-color: #fff;
  text-align: center;
  box-shadow: 3px 3px 0 #333;
  border: 2px solid #333;
  border-radius: 80px;
  padding: 25px;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem .snsIcon {
    min-height: 134px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media screen and (max-width: 820px), print {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem .snsIcon {
    min-height: 110px;
    max-height: 110px;
  }
}
@media print {
  #top #topSns .snsBg .snsFlex .otherSns .snsItem .snsIcon {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
#top #topNews .newsBg {
  --size: 24px; /* 1マスの大きさ */
  --c1: #ffffff; /* 明るいマス */
  --c2: #f5f5f5; /* 少し暗いマス（画像に近い薄グレー） */
  background: conic-gradient(var(--c2) 25%, var(--c1) 0 50%, var(--c2) 0 75%, var(--c1) 0) 0 0/var(--size) var(--size);
  padding: 145px 0 200px;
}
@media screen and (max-width: 820px), print {
  #top #topNews .newsBg {
    padding: 90px 0 110px;
  }
}
@media screen and (max-width: 520px) {
  #top #topNews .newsBg {
    padding: 80px 0 110px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topNews .newsFlex {
    flex-direction: column;
  }
}
@media print {
  #top #topNews .newsFlex {
    flex-direction: column;
  }
}
#top #topNews .newsFlex .newsLeft {
  width: 320px;
}
#top #topNews .newsFlex .newsRight {
  width: calc(100% - 380px);
  max-width: 850px;
}
@media screen and (max-width: 1024px) {
  #top #topNews .newsFlex .newsRight {
    width: 100%;
    max-width: 100%;
  }
}
@media print {
  #top #topNews .newsFlex .newsRight {
    width: 100%;
    max-width: 100%;
  }
}
#top #topNews .newsFlex .newsRight ul {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 20px;
  padding: 0 20px;
}
@media screen and (max-width: 1024px) {
  #top #topNews .newsFlex .newsRight ul {
    padding: 10px 20px 10px 20px;
  }
}
@media screen and (max-width: 520px) {
  #top #topNews .newsFlex .newsRight ul {
    padding: 10px 30px 10px 30px;
    border-radius: 10px;
  }
}
@media print {
  #top #topNews .newsFlex .newsRight ul {
    padding: 20px 20px 20px 70px;
  }
}
#top #topNews .newsFlex .newsRight ul .newsList {
  border: none;
}
#top #topNews .newsFlex .newsRight ul .newsList + .newsList {
  border-top: 1px solid #999;
}
#top #topNews .newsFlex .newsRight ul .newsListItem:hover .newsItemTitle {
  text-shadow: 0 0 0 #00d0a1, 0 6em 0 #00d0a1, 0 12em 0 #00d0a1;
}
#top #topNews .newsFlex .newsRight ul .newsListItem .newsItemTitle {
  text-shadow: 0 -20.2em 0 #333, 0 0 0 #333, 0 20.2em 0 #333;
}
@media screen and (max-width: 1400px) {
  #top #topNews .newsFlex .newsRight ul .newsListItem .newsItemTitle {
    text-shadow: 0 -32em 0 #333, 0 0 0 #333, 0 12em 0 #333;
  }
}
@media screen and (max-width: 1200px) {
  #top #topNews .newsFlex .newsRight ul .newsListItem .newsItemTitle {
    text-shadow: 0 -38em 0 #333, 0 0 0 #333, 0 18em 0 #333;
  }
}
@media screen and (max-width: 1050px) {
  #top #topNews .newsFlex .newsRight ul .newsListItem .newsItemTitle {
    text-shadow: 0 -40em 0 #333, 0 0 0 #333, 0 20em 0 #333;
  }
}
#top #topNews .newsFlex .newsRight ul .newsListItem .newicon span::before {
  left: -65px;
}
@media screen and (max-width: 820px), print {
  #top #topNews .newsFlex .newsRight ul .newsListItem .newicon span::before {
    left: -46px;
  }
}
@media screen and (max-width: 520px) {
  #top #topNews .newsFlex .newsRight ul .newsListItem .newicon span::before {
    left: -48px !important;
  }
}
#top #topNews .button01 {
  font-size: 16px;
  padding: 20px 45px 20px 20px;
  max-width: 350px;
}
@media screen and (max-width: 1024px) {
  #top #topNews .button01 {
    margin-top: 30px;
  }
}
@media print {
  #top #topNews .button01 {
    margin-top: 30px;
  }
}
#top #topNews .button01::before {
  width: 23px;
  height: 23px;
  right: 20px;
}
#top #topAbout {
  margin-top: -100px;
}
@media screen and (max-width: 820px), print {
  #top #topAbout {
    margin-top: -50px;
  }
}
#top #topAbout .aboutBg {
  background-color: #fff0f8;
  background-image: url(../images/common/checkBg02.png);
  background-repeat: repeat;
  padding: 190px 0 260px;
  border-radius: 100px 100px 0 0;
  border: 2px solid #333;
}
@media screen and (max-width: 820px), print {
  #top #topAbout .aboutBg {
    padding: 160px 0;
    border-radius: 50px 50px 0 0;
  }
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutBg {
    padding: 130px 0 140px;
  }
}
#top #topAbout .aboutArea {
  background-color: #fff;
  border: 4px solid #444;
  border-radius: 20px;
  padding: 70px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  #top #topAbout .aboutArea {
    padding: 70px 40px 40px;
  }
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea {
    padding: 70px 30px 30px;
  }
}
@media print {
  #top #topAbout .aboutArea {
    padding: 70px 40px 40px;
  }
}
#top #topAbout .aboutArea::before {
  position: absolute;
  content: "";
  background-image: linear-gradient(90deg, #96ecd9 30%, #fa96c1 70%);
  width: calc(100% + 40px);
  height: calc(100% + 40px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 30px;
  z-index: -2;
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea::before {
    width: calc(100% + 20px);
    height: calc(100% + 20px);
  }
}
#top #topAbout .aboutArea::after {
  position: absolute;
  content: "";
  border: 4px solid #444;
  background-color: #fff;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 20px;
  z-index: -1;
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea::after {
    border: 2px solid #444;
  }
}
#top #topAbout .aboutArea .secTitle02 {
  border-radius: 40px;
  padding: 20px 60px;
  position: absolute;
  top: -45px;
  left: 50px;
  z-index: 1;
  background-color: #fff;
  font-weight: 500;
  font-size: 30px;
  width: max-content;
}
@media screen and (max-width: 1024px) {
  #top #topAbout .aboutArea .secTitle02 {
    font-size: 24px;
    top: -60px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea .secTitle02 {
    font-size: 18px;
    padding: 10px 60px;
    line-height: 1.2;
    top: -35px;
  }
}
@media print {
  #top #topAbout .aboutArea .secTitle02 {
    font-size: 24px;
    top: -60px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
#top #topAbout .aboutArea .secTitle02::before {
  position: absolute;
  content: "";
  background-image: linear-gradient(90deg, #96ecd9 30%, #fa96c1 70%);
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 80px;
  z-index: -2;
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea .secTitle02::before {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
  }
}
#top #topAbout .aboutArea .secTitle02::after {
  position: absolute;
  content: "";
  border: 4px solid #444;
  background-color: #fff;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 80px;
  z-index: -1;
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea .secTitle02::after {
    border: 2px solid #444;
  }
}
#top #topAbout .aboutArea .secTitle02 span {
  padding-left: 30px;
  position: relative;
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea .secTitle02 span {
    padding-left: 23px;
  }
}
#top #topAbout .aboutArea .secTitle02 span::before {
  position: absolute;
  content: "";
  background-image: url(../images/common/pink-heart@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 26px;
  height: 27px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea .secTitle02 span::before {
    width: 20px;
    height: 21px;
  }
}
@media screen and (max-width: 1024px) {
  #top #topAbout .aboutArea .aboutflex {
    flex-direction: column;
  }
}
@media print {
  #top #topAbout .aboutArea .aboutflex {
    flex-direction: column;
  }
}
#top #topAbout .aboutArea .aboutflex .aboutLogo {
  width: 38.4%;
}
@media screen and (max-width: 1024px) {
  #top #topAbout .aboutArea .aboutflex .aboutLogo {
    width: 50%;
  }
}
@media screen and (max-width: 820px), print {
  #top #topAbout .aboutArea .aboutflex .aboutLogo {
    width: 70%;
  }
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea .aboutflex .aboutLogo {
    width: 100%;
  }
}
#top #topAbout .aboutArea .aboutflex .aboutText {
  width: 56.5%;
  font-size: 18px;
  line-height: 43px;
  letter-spacing: 0;
}
@media screen and (max-width: 1024px) {
  #top #topAbout .aboutArea .aboutflex .aboutText {
    width: 100%;
    margin-top: 30px;
  }
}
@media screen and (max-width: 520px) {
  #top #topAbout .aboutArea .aboutflex .aboutText {
    font-size: 14px;
    line-height: 32px;
    letter-spacing: 0.03rem;
    margin-top: 20px;
  }
}
@media print {
  #top #topAbout .aboutArea .aboutflex .aboutText {
    width: 100%;
    margin-top: 30px;
  }
}
#top #topAbout .aboutArea .aboutflex .aboutText span {
  padding-left: 20px;
  position: relative;
}
#top #topAbout .aboutArea .aboutflex .aboutText span::before {
  position: absolute;
  content: "";
  background-image: url(../images/common/pink-heart@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 18px;
  height: 19px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#top #topLink {
  margin-top: -100px;
}
@media screen and (max-width: 820px), print {
  #top #topLink {
    margin-top: -50px;
  }
}
#top #topLink .linkBg {
  padding: 120px 0 120px;
  border: 2px solid #333;
  border-radius: 100px 100px 0 0;
  border-bottom: none;
  background-color: #fff;
}
@media screen and (max-width: 820px), print {
  #top #topLink .linkBg {
    padding: 90px 0;
    border-radius: 50px 50px 0 0;
  }
}
#top #topLink .linkBg .linkFlex {
  flex-wrap: wrap;
}
#top #topLink .linkBg .linkFlex .linkItem {
  width: 30.6%;
}
@media screen and (max-width: 520px) {
  #top #topLink .linkBg .linkFlex .linkItem {
    width: 48%;
  }
  #top #topLink .linkBg .linkFlex .linkItem:nth-child(n+3) {
    margin-top: 15px;
  }
}

/** news ***********************************************************/
#news .bg,
#detailBox .bg {
  --size: 24px; /* 1マスの大きさ */
  --c1: #ffffff; /* 明るいマス */
  --c2: #f5f5f5; /* 少し暗いマス（画像に近い薄グレー） */
  background: conic-gradient(var(--c2) 25%, var(--c1) 0 50%, var(--c2) 0 75%, var(--c1) 0) 0 0/var(--size) var(--size);
  padding: 60px 0 120px;
}
@media screen and (max-width: 820px), print {
  #news .bg,
  #detailBox .bg {
    padding: 60px 0 90px;
  }
}
@media screen and (max-width: 520px) {
  #news .bg,
  #detailBox .bg {
    padding: 45px 0 60px;
  }
}
#news .whiteArea,
#detailBox .whiteArea {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 20px;
  padding: 60px 90px;
}
@media screen and (max-width: 820px), print {
  #news .whiteArea,
  #detailBox .whiteArea {
    padding: 60px;
  }
}
@media screen and (max-width: 520px) {
  #news .whiteArea,
  #detailBox .whiteArea {
    padding: 35px;
  }
}
#news .center,
#detailBox .center {
  text-align: center;
}

.newsList {
  border-bottom: 1px solid #999;
}
.newsList:last-of-type {
  border-bottom: 1px solid #999;
}
.newsList:first-of-type {
  border-top: 1px solid #999;
}

.newsListItem {
  padding: 25px 30px;
  position: relative;
  align-items: start;
}
@media screen and (max-width: 1024px) {
  .newsListItem {
    flex-direction: column;
    padding: 10px 10px 15px;
    padding-right: 45px;
  }
}
@media screen and (max-width: 520px) {
  .newsListItem {
    padding: 10px 35px 13px 10px;
  }
}
.newsListItem::after {
  content: "";
  position: absolute;
  background-image: url(../images/news/arw@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 50%;
  width: 26px;
  height: 26px;
  right: 10px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
@media screen and (max-width: 520px) {
  .newsListItem::after {
    right: 4px;
  }
}
.newsListItem .newicon span::before {
  position: absolute;
  content: "";
  background-image: url(../images/news/new@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 74px;
  height: 53px;
  left: -75px;
  top: 50%;
  transform: translate(0, -50%);
  animation: blinkHard 2s steps(1, end) infinite;
}
@media screen and (max-width: 1024px) {
  .newsListItem .newicon span::before {
    top: 55%;
  }
}
@media screen and (max-width: 820px), print {
  .newsListItem .newicon span::before {
    width: 54px;
    height: 43px;
    left: -55px;
  }
}
@media screen and (max-width: 520px) {
  .newsListItem .newicon span::before {
    width: 55px;
    height: 45px;
    left: -55px;
  }
}
@keyframes blinkHard {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.newsListItem .newsItemHead {
  margin-right: 20px;
}
.newsListItem .newsItemTitle {
  max-width: calc(100% - 190px);
  overflow: hidden; /* 1つ目の影を隠す */
  text-shadow: 0 -20.2em 0 #333, 0 0 0 #333, 0 20.2em 0 #333; /* 1行下の影（2行用） */
  transition: text-shadow 0.3s;
  font-size: 20px;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  max-height: 3em;
  color: transparent; /* テキスト本体は透明にする */
}
@media screen and (max-width: 1230px) {
  .newsListItem .newsItemTitle {
    text-shadow: 0 -40em 0 #333, 0 0 0 #333, 0 40em 0 #333; /* 1行下の影（2行用） */
  }
}
@media screen and (max-width: 1024px) {
  .newsListItem .newsItemTitle {
    max-width: 100%;
  }
}
@media screen and (max-width: 820px), print {
  .newsListItem .newsItemTitle {
    text-shadow: 0 -46em 0 #333, 0 0 0 #333, 0 46em 0 #333; /* 1行下の影（2行用） */
  }
}
@media print {
  .newsListItem .newsItemTitle {
    max-width: 100%;
  }
}
.newsListItem .newsItemTitle02 {
  font-size: 20px;
  font-weight: 500;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-height: 3em;
}
@media screen and (max-width: 520px) {
  .newsListItem .newsItemTitle02 {
    font-size: 16px;
    width: 100%;
  }
}
.newsListItem:hover {
  opacity: 1;
}
.newsListItem:hover .newsItemTitle {
  text-shadow: 0 0 0 #00d0a1, 0 6em 0 #00d0a1, 0 12em 0 #00d0a1;
}
.newsListItem:hover::after {
  background-image: url(../images/news/arw2@2x.png);
  transition: 0.3s;
}
.newsListItem:hover .newsItemTitle02 {
  color: #00d0a1;
  transition: 0.3s;
}

.newsItemTime {
  font-size: 16px;
  margin-right: 1em;
  margin-top: 2px;
}
@media screen and (max-width: 1024px) {
  .newsItemTime {
    margin-top: 0;
  }
}
@media screen and (max-width: 520px) {
  .newsItemTime {
    font-size: 14px;
  }
}

.pagination {
  margin: 60px auto 0;
}
@media screen and (max-width: 820px), print {
  .pagination {
    margin: 30px auto 0;
  }
}
.pagination .inner {
  display: flex;
  justify-content: center;
}
.pagination .inner span,
.pagination .inner a {
  background-color: #00d0a1;
  line-height: 44px;
  padding-left: 1px;
  width: 50px;
  height: 50px;
  border: 2px solid #333;
  border-radius: 50%;
  color: #333;
  margin: 0 10px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 520px) {
  .pagination .inner span,
  .pagination .inner a {
    line-height: 29px;
    width: 35px;
    height: 35px;
  }
}
.pagination .inner span:hover,
.pagination .inner a:hover {
  opacity: 0.8;
}
.pagination .inner .current {
  background-color: #fae459;
}
.pagination .inner .pn-prev,
.pagination .inner .pn-next {
  position: relative;
}
.pagination .inner .pn-prev::before,
.pagination .inner .pn-next::before {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  background-color: #333;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pagination .inner .pn-prev::after,
.pagination .inner .pn-next::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(45deg);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pagination .inner .pn-prev.opa,
.pagination .inner .pn-next.opa {
  opacity: 0.3;
}
.pagination .inner .pn-next::after {
  transform: translate(-50%, -50%) rotate(45deg);
  left: 56%;
}
@media screen and (max-width: 520px) {
  .pagination .inner .pn-next::after {
    left: 60%;
  }
}
.pagination .inner .pn-prev::after {
  transform: translate(-50%, -50%) rotate(225deg);
  left: 46%;
}
@media screen and (max-width: 520px) {
  .pagination .inner .pn-prev::after {
    left: 42%;
  }
}

/** newsDetail ***********************************************************/
#detailBox .whiteArea {
  padding: 60px;
}
@media screen and (max-width: 700px) {
  #detailBox .whiteArea {
    padding: 35px;
  }
}
#detailBox .newsItemTime {
  margin-top: 0;
  margin-bottom: 10px;
  margin-left: 5px;
}
#detailBox .newsItemTitle {
  border-bottom: 1px solid #999;
  padding-bottom: 30px;
  margin-bottom: 15px;
  font-weight: 500;
}

@media screen and (max-width: 520px) {
  .sin_btns .col-3 {
    width: 32%;
  }
}

.sin_pre,
.sin_nex {
  position: relative;
}
.sin_pre::before,
.sin_nex::before {
  content: "";
  position: absolute;
  background-image: url(../images/news/arw3@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  top: 52%;
  height: 28px;
  width: 28px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
@media screen and (max-width: 820px), print {
  .sin_pre::before,
  .sin_nex::before {
    height: 22px;
    width: 22px;
  }
}
@media screen and (max-width: 550px) {
  .sin_pre::before,
  .sin_nex::before {
    height: 20px;
    width: 20px;
    top: 55%;
  }
}
.sin_pre:hover,
.sin_nex:hover {
  opacity: 1;
}
.sin_pre:hover::before,
.sin_nex:hover::before {
  background-image: url(../images/news/arw4@2x.png);
  transition: 0.3s;
}

.sin_pre {
  padding-left: 35px;
  font-size: 18px;
}
@media screen and (max-width: 820px), print {
  .sin_pre {
    padding-left: 30px;
    font-size: 16px;
  }
}
@media screen and (max-width: 550px) {
  .sin_pre {
    font-size: 14px;
    padding-left: 5px;
  }
}
@media screen and (max-width: 520px) {
  .sin_pre {
    display: inline-block;
    padding-left: 25px;
    font-size: 13px;
  }
}
.sin_pre::before {
  left: 0;
  transform: translate(0, -50%) rotate(180deg);
}
@media screen and (max-width: 550px) {
  .sin_pre::before {
    left: -20px;
  }
}
@media screen and (max-width: 520px) {
  .sin_pre::before {
    left: 0;
  }
}

.sin_nex {
  padding-right: 35px;
  font-size: 18px;
}
@media screen and (max-width: 820px), print {
  .sin_nex {
    padding-right: 30px;
    font-size: 16px;
  }
}
@media screen and (max-width: 550px) {
  .sin_nex {
    font-size: 14px;
    padding-right: 5px;
  }
}
@media screen and (max-width: 520px) {
  .sin_nex {
    display: inline-block;
    padding-right: 25px;
    font-size: 13px;
  }
}
.sin_nex::before {
  right: 0;
}
@media screen and (max-width: 550px) {
  .sin_nex::before {
    right: 0;
  }
}

.sin_back a {
  font-size: 18px;
}
@media screen and (max-width: 820px), print {
  .sin_back a {
    font-size: 16px;
  }
}
@media screen and (max-width: 550px) {
  .sin_back a {
    font-size: 14px;
  }
}
@media screen and (max-width: 520px) {
  .sin_back a {
    font-size: 13px;
  }
}

.end {
  text-align: end;
}

.addtoany_header {
  margin: 0;
  margin-right: 30px !important;
  padding-right: 25px;
  margin-bottom: 0 !important;
  border-right: 1px solid #ccc;
}
@media screen and (max-width: 520px) {
  .addtoany_header {
    margin-right: 15px !important;
    padding-right: 10px;
    width: 88px;
  }
}

.addtoany_content {
  align-items: center;
  display: flex;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  justify-content: center;
  padding: 20px;
  margin-top: 35px !important;
  margin-bottom: 50px;
}
@media screen and (max-width: 700px) {
  .addtoany_content {
    padding: 20px 10px;
  }
}
@media screen and (max-width: 520px) {
  .addtoany_content {
    padding: 15px 10px !important;
    margin-top: 20px !important;
  }
}

.addtoany_list a,
.widget .addtoany_list a {
  padding: 0;
}
.addtoany_list a + a,
.widget .addtoany_list a + a {
  margin-left: 40px !important;
}
@media screen and (max-width: 700px) {
  .addtoany_list a + a,
  .widget .addtoany_list a + a {
    margin-left: 20px !important;
  }
}
@media screen and (max-width: 520px) {
  .addtoany_list a + a,
  .widget .addtoany_list a + a {
    margin-left: 10px !important;
  }
}

@media screen and (max-width: 520px) {
  #contact .textCenter {
    text-align: left;
  }
}
#contact .doiChecks {
  text-align: center !important;
}

.required {
  background-color: #ff0000;
  color: #fff;
  text-align: center;
  padding: 0 10px;
}
@media screen and (max-width: 820px), print {
  .required {
    margin-left: 1em;
  }
}

@media screen and (max-width: 820px), print {
  .formItem + .formItem {
    display: block;
    margin-top: 20px;
  }
}
.formItem th, .formItem td {
  padding: 10px;
}
@media screen and (max-width: 820px), print {
  .formItem th, .formItem td {
    padding: 5px 10px;
    display: block;
    width: 100%;
  }
}

.formTitle {
  vertical-align: top;
  text-align: left;
  width: 280px;
}

.formInner {
  text-align: left;
  width: calc(100% - 280px);
}

.formInputBox {
  border: 1px solid #ccc;
  padding: 5px 1em;
  font-size: 16px;
  width: 100%;
}

.mailConf {
  border-top: 1px dashed #ccc;
  border-bottom: 1px dashed #ccc;
}
.mailConf input {
  padding: 5px 1em;
  font-size: 16px;
  width: 100%;
}

.privacyLink {
  text-decoration: underline;
  color: #77a7bc;
}

.radioInput,
.checkInput {
  display: none;
}

.mwform-radio-field-text {
  position: relative;
  padding-left: 30px;
}
.mwform-radio-field-text::before {
  content: "";
  position: absolute;
  border: 1px solid #333;
  border-radius: 50%;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  height: 16px;
  width: 16px;
}
.radioInput:checked + .mwform-radio-field-text::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background-color: #333;
  top: 50%;
  transform: translate(0, -50%);
  left: 3px;
  height: 10px;
  width: 10px;
}

.mwform-checkbox-field-text {
  position: relative;
  padding-left: 30px;
}
.mwform-checkbox-field-text::before {
  content: "";
  position: absolute;
  border: 1px solid #333;
  top: 50%;
  transform: translate(0, -50%);
  left: 0;
  height: 16px;
  width: 16px;
}
.checkInput:checked + .mwform-checkbox-field-text::after {
  border-bottom: 2px solid #333;
  border-right: 2px solid #333;
  content: "";
  position: absolute;
  top: 25%;
  transform: translate(0, -50%) rotate(45deg);
  left: 3px;
  height: 18px;
  width: 11px;
}

/** event ***********************************************************/
#event .eventBg,
#event_detail .eventBg {
  background-image: url(../images/common/checkBg02.png);
  background-repeat: repeat;
  padding: 70px 0 120px;
}
@media screen and (max-width: 820px), print {
  #event .eventBg,
  #event_detail .eventBg {
    padding: 40px 0 60px;
  }
}
#event .cateArea,
#event_detail .cateArea {
  margin-bottom: 60px;
}
@media screen and (max-width: 520px) {
  #event .cateArea,
  #event_detail .cateArea {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 520px) {
  #event .cateArea + #eventMain,
  #event_detail .cateArea + #eventMain {
    margin-top: 60px;
  }
}
@media screen and (max-width: 520px) {
  #event .cateArea .cateList,
  #event_detail .cateArea .cateList {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#event .cateArea .cateList li,
#event_detail .cateArea .cateList li {
  max-width: 177px;
  width: 100%;
}
@media screen and (max-width: 520px) {
  #event .cateArea .cateList li,
  #event_detail .cateArea .cateList li {
    width: 48%;
    max-width: 100%;
  }
  #event .cateArea .cateList li:nth-child(n+3),
  #event_detail .cateArea .cateList li:nth-child(n+3) {
    margin-top: 15px;
  }
}
#event .cateArea .cateList li + li,
#event_detail .cateArea .cateList li + li {
  margin-left: 30px;
}
@media screen and (max-width: 820px), print {
  #event .cateArea .cateList li + li,
  #event_detail .cateArea .cateList li + li {
    margin-left: 20px;
  }
}
@media screen and (max-width: 520px) {
  #event .cateArea .cateList li + li,
  #event_detail .cateArea .cateList li + li {
    margin-left: 0;
  }
}
#event .cateArea .cateList li.choice a,
#event_detail .cateArea .cateList li.choice a {
  background-color: #f33888;
  color: #fff;
}
#event .cateArea .cateList li a,
#event_detail .cateArea .cateList li a {
  display: block;
  padding: 15px;
  background-color: #f0f0f0;
  border: 2px solid #333;
  font-size: 20px;
  border-radius: 10px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 820px), print {
  #event .cateArea .cateList li a,
  #event_detail .cateArea .cateList li a {
    font-size: 18px;
    padding: 10px;
  }
}
#event .cateArea .cateList li a:hover,
#event_detail .cateArea .cateList li a:hover {
  background-color: #f33888;
  color: #fff;
  opacity: 1;
}
#event .cateTitle,
#event_detail .cateTitle {
  position: relative;
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 55px;
}
@media screen and (max-width: 820px), print {
  #event .cateTitle,
  #event_detail .cateTitle {
    font-size: 28px;
  }
}
@media screen and (max-width: 520px) {
  #event .cateTitle,
  #event_detail .cateTitle {
    font-size: 26px;
    margin-bottom: 60px;
  }
}
#event .cateTitle::before,
#event_detail .cateTitle::before {
  position: absolute;
  content: "";
  background-color: #f33888;
  width: 20px;
  height: 2px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
#event .eventList,
#event_detail .eventList {
  flex-wrap: wrap;
}
#event .eventList .dummy,
#event_detail .eventList .dummy {
  width: 30.6%;
}
#event .eventList .eventItem,
#event_detail .eventList .eventItem {
  display: block;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 18px;
  padding: 30px 0;
  box-shadow: 4px 4px 0 #333;
  position: relative;
  transition: all 0.2s;
  top: 0;
  left: 0;
  width: 30.6%;
  display: flex;
  flex-direction: column;
}
#event .eventList .eventItem:nth-child(n+4),
#event_detail .eventList .eventItem:nth-child(n+4) {
  margin-top: 60px;
}
@media screen and (max-width: 1400px) {
  #event .eventList .eventItem,
  #event_detail .eventList .eventItem {
    padding: 20px 0;
  }
}
@media screen and (max-width: 820px), print {
  #event .eventList .eventItem,
  #event_detail .eventList .eventItem {
    width: 48%;
  }
  #event .eventList .eventItem:nth-child(n+3),
  #event_detail .eventList .eventItem:nth-child(n+3) {
    margin-top: 60px;
  }
}
@media screen and (max-width: 520px) {
  #event .eventList .eventItem,
  #event_detail .eventList .eventItem {
    width: 100%;
  }
  #event .eventList .eventItem + .eventItem,
  #event_detail .eventList .eventItem + .eventItem {
    margin-top: 30px;
  }
}
#event .eventList .eventItem:hover,
#event_detail .eventList .eventItem:hover {
  opacity: 1;
  top: 4px;
  left: 4px;
  box-shadow: 0 0 #333;
  transition: all 0.2s;
}
#event .eventList .eventItem:hover::before,
#event_detail .eventList .eventItem:hover::before {
  opacity: 0.4;
  visibility: visible;
  transition: all 0.2s;
}
#event .eventList .eventItem:hover:after,
#event_detail .eventList .eventItem:hover:after {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s;
  transform: translate(-50%, -50%);
}
#event .eventList .eventItem::before,
#event_detail .eventList .eventItem::before {
  position: absolute;
  content: "";
  background-color: #fff;
  opacity: 0.4;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 30px;
  opacity: 0;
  z-index: 1;
  visibility: hidden;
}
#event .eventList .eventItem:after,
#event_detail .eventList .eventItem:after {
  position: absolute;
  content: "";
  background-image: url(../images/top/more@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 180px;
  height: 112px;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 20px), -50%);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
#event .eventList .eventItem .status_area,
#event_detail .eventList .eventItem .status_area {
  position: absolute;
  top: -15px;
  right: 0;
  left: 0;
  text-align: center;
  z-index: 1;
}
#event .eventList .eventItem .status_area span,
#event_detail .eventList .eventItem .status_area span {
  border: 2px solid;
  border-radius: 20px;
  padding: 5px 15px 5px;
}
#event .eventList .eventItem .eventHead,
#event_detail .eventList .eventItem .eventHead {
  padding: 0 35px;
  margin-bottom: 35px;
}
@media screen and (max-width: 1400px) {
  #event .eventList .eventItem .eventHead,
  #event_detail .eventList .eventItem .eventHead {
    padding: 0 20px;
  }
}
#event .eventList .eventItem .eventHead .eventImage,
#event_detail .eventList .eventItem .eventHead .eventImage {
  width: 100%;
}
#event .eventList .eventItem .eventHead .eventImage .thumb,
#event_detail .eventList .eventItem .eventHead .eventImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#event .eventList .eventItem .eventHead .eventImage .no-image,
#event_detail .eventList .eventItem .eventHead .eventImage .no-image {
  background-image: url(../images/news/no-image.jpg);
}
#event .eventList .eventItem .eventHead .dayFlex,
#event_detail .eventList .eventItem .eventHead .dayFlex {
  margin-top: 25px;
  flex-wrap: wrap;
}
#event .eventList .eventItem .eventHead .dayFlex .cateFlex .cateName,
#event_detail .eventList .eventItem .eventHead .dayFlex .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
  font-size: 14px;
}
#event .eventList .eventItem .eventHead .dayFlex .cateFlex .cateName + .cateName,
#event_detail .eventList .eventItem .eventHead .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 9px;
}
#event .eventList .eventItem .eventHead .dayFlex .day,
#event_detail .eventList .eventItem .eventHead .dayFlex .day {
  font-size: 14px;
  color: #afafaf;
}
#event .eventList .eventItem .eventHead .eventTitle,
#event_detail .eventList .eventItem .eventHead .eventTitle {
  font-size: 20px;
  font-weight: 500;
  line-height: 34px;
  margin-top: 10px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
@media screen and (max-width: 1024px) {
  #event .eventList .eventItem .eventHead .eventTitle,
  #event_detail .eventList .eventItem .eventHead .eventTitle {
    font-size: 18px;
    line-height: 28px;
  }
}
#event .eventList .eventItem .eventHead .tagFlex,
#event_detail .eventList .eventItem .eventHead .tagFlex {
  flex-wrap: wrap;
  margin-top: 5px;
  overflow: hidden;
  height: 45px;
}
#event .eventList .eventItem .eventHead .tagFlex .tagName,
#event_detail .eventList .eventItem .eventHead .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 3px 10px;
  border-radius: 20px;
  margin-top: 15px;
  margin-right: 10px;
}
#event .eventList .eventItem .openArea,
#event_detail .eventList .eventItem .openArea {
  padding: 30px 30px 0;
  border-top: 2px solid #333;
  margin-top: auto;
}
@media screen and (max-width: 520px) {
  #event .eventList .eventItem .openArea,
  #event_detail .eventList .eventItem .openArea {
    padding: 20px 20px 0;
  }
}
#event .eventList .eventItem .openArea .open,
#event_detail .eventList .eventItem .openArea .open {
  font-size: 16px;
}
@media screen and (max-width: 520px) {
  #event .eventList .eventItem .openArea .open,
  #event_detail .eventList .eventItem .openArea .open {
    font-size: 14px;
  }
}
#event .eventList .eventItem .openArea .open span,
#event_detail .eventList .eventItem .openArea .open span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
@media screen and (max-width: 520px) {
  #event .eventList .eventItem .openArea .open span,
  #event_detail .eventList .eventItem .openArea .open span {
    font-size: 16px;
  }
}
#event .eventList .eventItem .openArea .open span::before,
#event_detail .eventList .eventItem .openArea .open span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/calendar@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#event .eventList .eventItem .openArea .venue,
#event_detail .eventList .eventItem .openArea .venue {
  font-size: 16px;
  margin-top: 15px;
}
#event .eventList .eventItem .openArea .venue span,
#event_detail .eventList .eventItem .openArea .venue span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
#event .eventList .eventItem .openArea .venue span::before,
#event_detail .eventList .eventItem .openArea .venue span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/pin@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

#event_detail .event_detail__main {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 20px;
  padding: 70px;
}
@media screen and (max-width: 820px), print {
  #event_detail .event_detail__main {
    padding: 40px;
  }
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main {
    padding: 25px 20px;
  }
}
#event_detail .event_detail__main .status_area {
  margin-bottom: 20px;
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .status_area {
    margin-bottom: 10px;
  }
}
#event_detail .event_detail__main .status_area span {
  border-radius: 20px;
  padding: 5px 15px 5px;
  display: inline-block;
}
#event_detail .event_detail__main .eventItemHead {
  border-bottom: 1px solid #999;
  padding-bottom: 40px;
  margin-bottom: 30px;
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .eventItemHead {
    flex-direction: column;
    padding-bottom: 20px;
    margin-bottom: 15px;
  }
}
#event_detail .event_detail__main .eventItemHead .eventImage {
  width: 26.2%;
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .eventItemHead .eventImage {
    width: 100%;
    margin-bottom: 10px;
  }
}
#event_detail .event_detail__main .eventItemHead .eventImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#event_detail .event_detail__main .eventItemHead .eventImage .no-image {
  background-image: url(../images/news/no-image.jpg);
}
#event_detail .event_detail__main .eventItemHead .eventTitleArea {
  width: 69.2%;
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .eventItemHead .eventTitleArea {
    width: 100%;
  }
}
#event_detail .event_detail__main .eventItemHead .eventTitleArea .dayFlex {
  flex-wrap: wrap;
}
#event_detail .event_detail__main .eventItemHead .eventTitleArea .dayFlex .day {
  margin-right: 20px;
}
#event_detail .event_detail__main .eventItemHead .eventTitleArea .dayFlex .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
  font-size: 14px;
}
#event_detail .event_detail__main .eventItemHead .eventTitleArea .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 9px;
}
#event_detail .event_detail__main .eventItemHead .eventTitleArea .tagFlex {
  flex-wrap: wrap;
  margin-top: 5px;
}
#event_detail .event_detail__main .eventItemHead .eventTitleArea .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 0 10px;
  border-radius: 20px;
  margin-top: 5px;
  margin-right: 10px;
  pointer-events: none;
}
#event_detail .event_detail__main .eventItemHead .eventTitleArea .eventItemTitle {
  font-size: 28px;
  font-weight: 500;
  line-height: 43px;
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  #event_detail .event_detail__main .eventItemHead .eventTitleArea .eventItemTitle {
    font-size: 24px;
    line-height: 36px;
  }
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .eventItemHead .eventTitleArea .eventItemTitle {
    font-size: 20px;
    line-height: 28px;
  }
}
#event_detail .event_detail__main .openArea {
  background-color: rgba(255, 224, 0, 0.1);
  padding: 10px 30px;
  margin-bottom: 35px;
}
@media screen and (max-width: 820px), print {
  #event_detail .event_detail__main .openArea {
    padding: 1px 15px;
    margin-bottom: 15px;
  }
}
#event_detail .event_detail__main .openArea .open {
  font-size: 16px;
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .openArea .open {
    font-size: 14px;
  }
}
#event_detail .event_detail__main .openArea .open span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .openArea .open span {
    font-size: 16px;
  }
}
#event_detail .event_detail__main .openArea .open span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/calendar@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#event_detail .event_detail__main .openArea .venue {
  font-size: 16px;
  margin-top: 15px;
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .openArea .venue {
    font-size: 14px;
  }
}
#event_detail .event_detail__main .openArea .venue span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
@media screen and (max-width: 520px) {
  #event_detail .event_detail__main .openArea .venue span {
    font-size: 16px;
  }
}
#event_detail .event_detail__main .openArea .venue span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/pin@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

/** search ***********************************************************/
#search .searchBg {
  background-image: url(../images/common/checkBg02.png);
  background-repeat: repeat;
  padding: 70px 0 120px;
}
@media screen and (max-width: 820px), print {
  #search .searchBg {
    padding: 40px 0 60px;
  }
}
#search .tagArea {
  margin-bottom: 100px;
}
@media screen and (max-width: 820px), print {
  #search .tagArea {
    margin-bottom: 50px;
  }
}
#search .tagArea .acdTitle {
  text-align: center;
  background-color: #9fe6dc;
  border: 2px solid #333;
  padding: 10px;
  position: relative;
}
#search .tagArea .acdTitle::before, #search .tagArea .acdTitle::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 2px;
  background-color: #333;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.5s;
}
@media screen and (max-width: 520px) {
  #search .tagArea .acdTitle::before, #search .tagArea .acdTitle::after {
    right: 10px;
    width: 20px;
  }
}
#search .tagArea .acdTitle::after {
  transform: translateY(-50%) rotate(90deg);
  transition: transform 0.5s;
}
#search .tagArea .acdTitle span {
  padding-left: 45px;
  position: relative;
  margin-bottom: 0;
  font-size: 24px;
}
@media screen and (max-width: 820px), print {
  #search .tagArea .acdTitle span {
    font-size: 22px;
    padding-left: 35px;
  }
}
@media screen and (max-width: 520px) {
  #search .tagArea .acdTitle span {
    font-size: 20px;
  }
}
#search .tagArea .acdTitle span::before {
  background-image: url(../images/tag/search@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  height: 32px;
  width: 32px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 820px), print {
  #search .tagArea .acdTitle span::before {
    height: 28px;
    width: 28px;
  }
}
#search .tagArea .acdTitle.open::before {
  opacity: 0;
}
#search .tagArea .acdTitle.open::after {
  transform: translateY(-50%) rotate(180deg);
}
#search .tagArea .acdTitle.open + .acdInner {
  max-height: 400px;
  opacity: 1;
  visibility: visible;
}
#search .tagArea .acdTitle:hover {
  cursor: pointer;
}
#search .tagArea .acdInner {
  max-height: 0;
  opacity: 0;
  transition: 0.5s;
  visibility: hidden;
}
#search .tagArea .acdInner .tagBox {
  padding: 40px;
  background-color: #dff2ef;
  border: 2px solid #333;
  border-top: none;
}
@media screen and (max-width: 820px), print {
  #search .tagArea .acdInner .tagBox {
    padding: 20px;
  }
}
#search .tagArea .acdInner .tagBox .tagFlex {
  flex-wrap: wrap;
  background-color: #fff;
  padding: 10px 25px 25px;
}
#search .tagArea .acdInner .tagBox .tagFlex .tagName {
  margin-top: 15px;
  margin-right: 15px;
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 3px 10px;
  border-radius: 20px;
}
#search .tagArea .acdInner .tagBox .tagFlex .tagName:nth-last-child(1) {
  margin-right: 0;
}
#search .searchFlex {
  flex-wrap: wrap;
}
#search .dummy {
  width: 30.6%;
}
#search .searchItem {
  display: block;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 18px;
  padding: 30px 0;
  box-shadow: 4px 4px 0 #333;
  position: relative;
  transition: all 0.2s;
  top: 0;
  left: 0;
  width: 30.6%;
  display: flex;
  flex-direction: column;
}
#search .searchItem:nth-child(n+4) {
  margin-top: 60px;
}
@media screen and (max-width: 1400px) {
  #search .searchItem {
    padding: 20px 0;
  }
}
@media screen and (max-width: 820px), print {
  #search .searchItem {
    width: 48%;
  }
  #search .searchItem:nth-child(n+3) {
    margin-top: 60px;
  }
}
@media screen and (max-width: 520px) {
  #search .searchItem {
    width: 100%;
  }
  #search .searchItem + .searchItem {
    margin-top: 30px;
  }
}
#search .searchItem:hover {
  opacity: 1;
  top: 4px;
  left: 4px;
  box-shadow: 0 0 #333;
  transition: all 0.2s;
}
#search .searchItem:hover::before {
  opacity: 0.4;
  visibility: visible;
  transition: all 0.2s;
}
#search .searchItem:hover:after {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s;
  transform: translate(-50%, -50%);
}
#search .searchItem::before {
  position: absolute;
  content: "";
  background-color: #fff;
  opacity: 0.4;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 30px;
  opacity: 0;
  z-index: 1;
  visibility: hidden;
}
#search .searchItem:after {
  position: absolute;
  content: "";
  background-image: url(../images/top/more@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 180px;
  height: 112px;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 20px), -50%);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
#search .searchItem .searchHead {
  padding: 0 35px;
  margin-bottom: 35px;
}
@media screen and (max-width: 1400px) {
  #search .searchItem .searchHead {
    padding: 0 20px;
  }
}
#search .searchItem .searchHead .searchImage {
  width: 100%;
}
#search .searchItem .searchHead .searchImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#search .searchItem .searchHead .searchImage .no-image {
  background-image: url(../images/news/no-image.jpg);
}
#search .searchItem .searchHead .dayFlex {
  margin-top: 25px;
  flex-wrap: wrap;
}
#search .searchItem .searchHead .dayFlex .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
  font-size: 14px;
}
#search .searchItem .searchHead .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 9px;
}
#search .searchItem .searchHead .dayFlex .cateFlex .cateName.review {
  font-size: 16px;
  font-weight: 500;
}
#search .searchItem .searchHead .dayFlex .day {
  font-size: 14px;
  color: #afafaf;
}
#search .searchItem .searchHead .searchTitle {
  font-size: 20px;
  font-weight: 500;
  line-height: 34px;
  margin-top: 10px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
#search .searchItem .searchHead .searchTitle.review {
  -webkit-line-clamp: 2;
}
@media screen and (max-width: 1024px) {
  #search .searchItem .searchHead .searchTitle {
    font-size: 18px;
    line-height: 28px;
  }
}
#search .searchItem .searchHead .tagFlex {
  flex-wrap: wrap;
  margin-top: 5px;
  overflow: hidden;
  height: 45px;
}
#search .searchItem .searchHead .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 3px 10px;
  border-radius: 20px;
  margin-top: 15px;
  margin-right: 10px;
}
#search .searchItem .openArea {
  padding: 30px 30px 0;
  border-top: 2px solid #333;
  margin-top: auto;
}
@media screen and (max-width: 520px) {
  #search .searchItem .openArea {
    padding: 20px 20px 0;
  }
}
#search .searchItem .openArea p {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
#search .searchItem .openArea p.topicsText {
  -webkit-line-clamp: 3;
}
#search .searchItem .openArea p.reviewText {
  -webkit-line-clamp: 6;
}
#search .searchItem .openArea .open {
  font-size: 16px;
}
#search .searchItem .openArea .open span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
#search .searchItem .openArea .open span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/calendar@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#search .searchItem .openArea .venue {
  font-size: 16px;
  margin-top: 15px;
}
#search .searchItem .openArea .venue span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
#search .searchItem .openArea .venue span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/pin@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#search .searchList {
  flex-wrap: wrap;
}
#search .searchList .dummy {
  width: 30.6%;
}

#search_detail .search_detail__main {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 20px;
  padding: 70px;
}
@media screen and (max-width: 820px), print {
  #search_detail .search_detail__main {
    padding: 40px;
  }
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main {
    padding: 25px;
  }
}
#search_detail .search_detail__main .searchItemHead {
  border-bottom: 1px solid #999;
  padding-bottom: 40px;
  margin-bottom: 30px;
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main .searchItemHead {
    flex-direction: column;
    padding-bottom: 20px;
    margin-bottom: 15px;
  }
}
#search_detail .search_detail__main .searchItemHead .searchImage {
  width: 26.2%;
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main .searchItemHead .searchImage {
    width: 100%;
    margin-bottom: 10px;
  }
}
#search_detail .search_detail__main .searchItemHead .searchImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#search_detail .search_detail__main .searchItemHead .searchImage .no-image {
  background-image: url(../images/news/no-image.jpg);
}
#search_detail .search_detail__main .searchItemHead .searchTitleArea {
  width: 69.2%;
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main .searchItemHead .searchTitleArea {
    width: 100%;
  }
}
#search_detail .search_detail__main .searchItemHead .searchTitleArea .dayFlex {
  flex-wrap: wrap;
}
#search_detail .search_detail__main .searchItemHead .searchTitleArea .dayFlex .day {
  margin-right: 20px;
}
#search_detail .search_detail__main .searchItemHead .searchTitleArea .dayFlex .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
  font-size: 14px;
}
#search_detail .search_detail__main .searchItemHead .searchTitleArea .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 9px;
}
#search_detail .search_detail__main .searchItemHead .searchTitleArea .tagFlex {
  flex-wrap: wrap;
  margin-top: 5px;
}
#search_detail .search_detail__main .searchItemHead .searchTitleArea .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 0 10px;
  border-radius: 20px;
  margin-top: 5px;
  margin-right: 10px;
}
#search_detail .search_detail__main .searchItemHead .searchTitleArea .searchItemTitle {
  font-size: 28px;
  font-weight: 500;
  line-height: 43px;
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  #search_detail .search_detail__main .searchItemHead .searchTitleArea .searchItemTitle {
    font-size: 24px;
    line-height: 36px;
  }
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main .searchItemHead .searchTitleArea .searchItemTitle {
    font-size: 20px;
    line-height: 28px;
  }
}
#search_detail .search_detail__main .openArea .open {
  font-size: 16px;
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main .openArea .open {
    font-size: 14px;
  }
}
#search_detail .search_detail__main .openArea .open span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main .openArea .open span {
    font-size: 16px;
  }
}
#search_detail .search_detail__main .openArea .open span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/calendar@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#search_detail .search_detail__main .openArea .venue {
  font-size: 16px;
  margin-top: 15px;
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main .openArea .venue {
    font-size: 14px;
  }
}
#search_detail .search_detail__main .openArea .venue span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
@media screen and (max-width: 520px) {
  #search_detail .search_detail__main .openArea .venue span {
    font-size: 16px;
  }
}
#search_detail .search_detail__main .openArea .venue span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/pin@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

/** topics ***********************************************************/
#topics .topicsBg,
#topics_detail .topicsBg {
  background-image: url(../images/common/checkBg02.png);
  background-repeat: repeat;
  padding: 70px 0 120px;
}
@media screen and (max-width: 820px), print {
  #topics .topicsBg,
  #topics_detail .topicsBg {
    padding: 40px 0 60px;
  }
}
#topics .cateArea,
#topics_detail .cateArea {
  margin-bottom: 60px;
}
@media screen and (max-width: 520px) {
  #topics .cateArea,
  #topics_detail .cateArea {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 520px) {
  #topics .cateArea .cateList,
  #topics_detail .cateArea .cateList {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#topics .cateArea .cateList li,
#topics_detail .cateArea .cateList li {
  max-width: 177px;
  width: 100%;
}
@media screen and (max-width: 520px) {
  #topics .cateArea .cateList li,
  #topics_detail .cateArea .cateList li {
    width: 48%;
    max-width: 100%;
  }
  #topics .cateArea .cateList li:nth-child(n+3),
  #topics_detail .cateArea .cateList li:nth-child(n+3) {
    margin-top: 15px;
  }
}
#topics .cateArea .cateList li + li,
#topics_detail .cateArea .cateList li + li {
  margin-left: 30px;
}
@media screen and (max-width: 820px), print {
  #topics .cateArea .cateList li + li,
  #topics_detail .cateArea .cateList li + li {
    margin-left: 20px;
  }
}
@media screen and (max-width: 520px) {
  #topics .cateArea .cateList li + li,
  #topics_detail .cateArea .cateList li + li {
    margin-left: 0;
  }
}
#topics .cateArea .cateList li.choice a,
#topics_detail .cateArea .cateList li.choice a {
  background-color: #f33888;
  color: #fff;
}
#topics .cateArea .cateList li a,
#topics_detail .cateArea .cateList li a {
  display: block;
  padding: 15px;
  background-color: #f0f0f0;
  border: 2px solid #333;
  font-size: 20px;
  border-radius: 10px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 820px), print {
  #topics .cateArea .cateList li a,
  #topics_detail .cateArea .cateList li a {
    font-size: 18px;
    padding: 10px;
  }
}
#topics .cateArea .cateList li a:hover,
#topics_detail .cateArea .cateList li a:hover {
  background-color: #f33888;
  color: #fff;
  opacity: 1;
}
#topics .cateTitle,
#topics_detail .cateTitle {
  position: relative;
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 55px;
}
@media screen and (max-width: 820px), print {
  #topics .cateTitle,
  #topics_detail .cateTitle {
    font-size: 28px;
  }
}
@media screen and (max-width: 520px) {
  #topics .cateTitle,
  #topics_detail .cateTitle {
    font-size: 26px;
    margin-bottom: 30px;
  }
}
#topics .cateTitle::before,
#topics_detail .cateTitle::before {
  position: absolute;
  content: "";
  background-color: #f33888;
  width: 20px;
  height: 2px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
#topics .topicsList,
#topics_detail .topicsList {
  flex-wrap: wrap;
}
#topics .topicsList .dummy,
#topics_detail .topicsList .dummy {
  width: 30.6%;
}
#topics .topicsList .topicsItem,
#topics_detail .topicsList .topicsItem {
  display: block;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 18px;
  padding: 30px 0;
  box-shadow: 4px 4px 0 #333;
  position: relative;
  transition: all 0.2s;
  top: 0;
  left: 0;
  width: 30.6%;
  display: flex;
  flex-direction: column;
}
#topics .topicsList .topicsItem:nth-child(n+4),
#topics_detail .topicsList .topicsItem:nth-child(n+4) {
  margin-top: 60px;
}
@media screen and (max-width: 1400px) {
  #topics .topicsList .topicsItem,
  #topics_detail .topicsList .topicsItem {
    padding: 20px 0;
  }
}
@media screen and (max-width: 820px), print {
  #topics .topicsList .topicsItem,
  #topics_detail .topicsList .topicsItem {
    width: 48%;
  }
  #topics .topicsList .topicsItem:nth-child(n+3),
  #topics_detail .topicsList .topicsItem:nth-child(n+3) {
    margin-top: 60px;
  }
}
@media screen and (max-width: 520px) {
  #topics .topicsList .topicsItem,
  #topics_detail .topicsList .topicsItem {
    width: 100%;
  }
  #topics .topicsList .topicsItem + .topicsItem,
  #topics_detail .topicsList .topicsItem + .topicsItem {
    margin-top: 30px;
  }
}
#topics .topicsList .topicsItem:hover,
#topics_detail .topicsList .topicsItem:hover {
  opacity: 1;
  top: 4px;
  left: 4px;
  box-shadow: 0 0 #333;
  transition: all 0.2s;
}
#topics .topicsList .topicsItem:hover::before,
#topics_detail .topicsList .topicsItem:hover::before {
  opacity: 0.4;
  visibility: visible;
  transition: all 0.2s;
}
#topics .topicsList .topicsItem:hover:after,
#topics_detail .topicsList .topicsItem:hover:after {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s;
  transform: translate(-50%, -50%);
}
#topics .topicsList .topicsItem::before,
#topics_detail .topicsList .topicsItem::before {
  position: absolute;
  content: "";
  background-color: #fff;
  opacity: 0.4;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 30px;
  opacity: 0;
  z-index: 1;
  visibility: hidden;
}
#topics .topicsList .topicsItem:after,
#topics_detail .topicsList .topicsItem:after {
  position: absolute;
  content: "";
  background-image: url(../images/top/more@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 180px;
  height: 112px;
  top: 50%;
  left: 50%;
  transform: translate(calc(-50% - 20px), -50%);
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
#topics .topicsList .topicsItem .topicsHead,
#topics_detail .topicsList .topicsItem .topicsHead {
  padding: 0 35px;
  margin-bottom: 35px;
}
@media screen and (max-width: 1400px) {
  #topics .topicsList .topicsItem .topicsHead,
  #topics_detail .topicsList .topicsItem .topicsHead {
    padding: 0 20px;
  }
}
#topics .topicsList .topicsItem .topicsHead .topicsImage,
#topics_detail .topicsList .topicsItem .topicsHead .topicsImage {
  width: 100%;
}
#topics .topicsList .topicsItem .topicsHead .topicsImage .thumb,
#topics_detail .topicsList .topicsItem .topicsHead .topicsImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#topics .topicsList .topicsItem .topicsHead .topicsImage .no-image,
#topics_detail .topicsList .topicsItem .topicsHead .topicsImage .no-image {
  background-image: url(../images/event/no-image.jpg);
}
#topics .topicsList .topicsItem .topicsHead .dayFlex,
#topics_detail .topicsList .topicsItem .topicsHead .dayFlex {
  margin-top: 25px;
  flex-wrap: wrap;
}
#topics .topicsList .topicsItem .topicsHead .dayFlex .cateFlex .cateName,
#topics_detail .topicsList .topicsItem .topicsHead .dayFlex .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
  font-size: 14px;
}
#topics .topicsList .topicsItem .topicsHead .dayFlex .cateFlex .cateName + .cateName,
#topics_detail .topicsList .topicsItem .topicsHead .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 9px;
}
#topics .topicsList .topicsItem .topicsHead .dayFlex .day,
#topics_detail .topicsList .topicsItem .topicsHead .dayFlex .day {
  font-size: 14px;
  color: #afafaf;
}
#topics .topicsList .topicsItem .topicsHead .topicsTitle,
#topics_detail .topicsList .topicsItem .topicsHead .topicsTitle {
  font-size: 20px;
  font-weight: 500;
  line-height: 34px;
  margin-top: 10px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
@media screen and (max-width: 1024px) {
  #topics .topicsList .topicsItem .topicsHead .topicsTitle,
  #topics_detail .topicsList .topicsItem .topicsHead .topicsTitle {
    font-size: 18px;
    line-height: 28px;
  }
}
#topics .topicsList .topicsItem .topicsHead .tagFlex,
#topics_detail .topicsList .topicsItem .topicsHead .tagFlex {
  flex-wrap: wrap;
  margin-top: 5px;
  overflow: hidden;
  height: 45px;
}
#topics .topicsList .topicsItem .topicsHead .tagFlex .tagName,
#topics_detail .topicsList .topicsItem .topicsHead .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 3px 10px;
  border-radius: 20px;
  margin-top: 15px;
  margin-right: 10px;
}
#topics .topicsList .topicsItem .openArea,
#topics_detail .topicsList .topicsItem .openArea {
  padding: 20px 30px 0;
  border-top: 2px solid #333;
  margin-top: auto;
}
#topics .topicsList .topicsItem .openArea .detailText,
#topics_detail .topicsList .topicsItem .openArea .detailText {
  overflow: hidden; /* 1つ目の影を隠す */
  line-height: 30px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}

#topics_detail .topics_detail__main {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 20px;
  padding: 70px;
}
@media screen and (max-width: 820px), print {
  #topics_detail .topics_detail__main {
    padding: 40px;
  }
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main {
    padding: 25px;
  }
}
#topics_detail .topics_detail__main .topicsItemHead {
  border-bottom: 1px solid #999;
  padding-bottom: 40px;
  margin-bottom: 30px;
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main .topicsItemHead {
    flex-direction: column;
    padding-bottom: 20px;
    margin-bottom: 15px;
  }
}
#topics_detail .topics_detail__main .topicsItemHead .topicsImage {
  width: 26.2%;
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main .topicsItemHead .topicsImage {
    width: 100%;
    margin-bottom: 10px;
  }
}
#topics_detail .topics_detail__main .topicsItemHead .topicsImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#topics_detail .topics_detail__main .topicsItemHead .topicsImage .no-image {
  background-image: url(../images/event/no-image.jpg);
}
#topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea {
  width: 69.2%;
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea {
    width: 100%;
  }
}
#topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .dayFlex {
  flex-wrap: wrap;
}
#topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .dayFlex .day {
  margin-right: 20px;
}
#topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .dayFlex .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
  font-size: 14px;
}
#topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 9px;
}
#topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .tagFlex {
  flex-wrap: wrap;
  margin-top: 5px;
}
#topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 0 10px;
  border-radius: 20px;
  margin-top: 5px;
  margin-right: 10px;
}
#topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .topicsItemTitle {
  font-size: 28px;
  font-weight: 500;
  line-height: 43px;
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  #topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .topicsItemTitle {
    font-size: 24px;
    line-height: 36px;
  }
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main .topicsItemHead .topicsTitleArea .topicsItemTitle {
    font-size: 20px;
    line-height: 28px;
  }
}
#topics_detail .topics_detail__main .openArea .open {
  font-size: 16px;
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main .openArea .open {
    font-size: 14px;
  }
}
#topics_detail .topics_detail__main .openArea .open span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main .openArea .open span {
    font-size: 16px;
  }
}
#topics_detail .topics_detail__main .openArea .open span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/calendar@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#topics_detail .topics_detail__main .openArea .venue {
  font-size: 16px;
  margin-top: 15px;
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main .openArea .venue {
    font-size: 14px;
  }
}
#topics_detail .topics_detail__main .openArea .venue span {
  position: relative;
  padding-left: 28px;
  font-size: 18px;
}
@media screen and (max-width: 520px) {
  #topics_detail .topics_detail__main .openArea .venue span {
    font-size: 16px;
  }
}
#topics_detail .topics_detail__main .openArea .venue span::before {
  position: absolute;
  content: "";
  background-image: url(../images/top/pin@2x.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

/** review ***********************************************************/
#review .reviewBg,
#review_detail .reviewBg {
  background-image: url(../images/common/checkBg02.png);
  background-repeat: repeat;
  padding: 70px 0 120px;
}
@media screen and (max-width: 820px), print {
  #review .reviewBg,
  #review_detail .reviewBg {
    padding: 40px 0 60px;
  }
}
#review .cateArea,
#review_detail .cateArea {
  margin-bottom: 60px;
}
@media screen and (max-width: 520px) {
  #review .cateArea,
  #review_detail .cateArea {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 520px) {
  #review .cateArea .cateList,
  #review_detail .cateArea .cateList {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#review .cateArea .cateList li,
#review_detail .cateArea .cateList li {
  max-width: 177px;
  width: 100%;
}
@media screen and (max-width: 520px) {
  #review .cateArea .cateList li,
  #review_detail .cateArea .cateList li {
    width: 48%;
    max-width: 100%;
  }
  #review .cateArea .cateList li:nth-child(n+3),
  #review_detail .cateArea .cateList li:nth-child(n+3) {
    margin-top: 15px;
  }
}
#review .cateArea .cateList li + li,
#review_detail .cateArea .cateList li + li {
  margin-left: 30px;
}
@media screen and (max-width: 820px), print {
  #review .cateArea .cateList li + li,
  #review_detail .cateArea .cateList li + li {
    margin-left: 20px;
  }
}
@media screen and (max-width: 520px) {
  #review .cateArea .cateList li + li,
  #review_detail .cateArea .cateList li + li {
    margin-left: 0;
  }
}
#review .cateArea .cateList li.choice a,
#review_detail .cateArea .cateList li.choice a {
  background-color: #f33888;
  color: #fff;
}
#review .cateArea .cateList li a,
#review_detail .cateArea .cateList li a {
  display: block;
  padding: 15px;
  background-color: #f0f0f0;
  border: 2px solid #333;
  font-size: 20px;
  border-radius: 10px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 820px), print {
  #review .cateArea .cateList li a,
  #review_detail .cateArea .cateList li a {
    font-size: 18px;
    padding: 10px;
  }
}
#review .cateArea .cateList li a:hover,
#review_detail .cateArea .cateList li a:hover {
  background-color: #f33888;
  color: #fff;
  opacity: 1;
}
#review .cateTitle,
#review_detail .cateTitle {
  position: relative;
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 55px;
}
@media screen and (max-width: 820px), print {
  #review .cateTitle,
  #review_detail .cateTitle {
    font-size: 28px;
  }
}
@media screen and (max-width: 520px) {
  #review .cateTitle,
  #review_detail .cateTitle {
    font-size: 26px;
    margin-bottom: 30px;
  }
}
#review .cateTitle::before,
#review_detail .cateTitle::before {
  position: absolute;
  content: "";
  background-color: #f33888;
  width: 20px;
  height: 2px;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
#review .reviewList,
#review_detail .reviewList {
  flex-wrap: wrap;
}
#review .reviewList .dummy,
#review_detail .reviewList .dummy {
  width: 30.6%;
}
#review .reviewList .reviewItem,
#review_detail .reviewList .reviewItem {
  display: block;
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 18px;
  padding: 30px;
  box-shadow: 4px 4px 0 #333;
  position: relative;
  transition: all 0.2s;
  top: 0;
  left: 0;
  width: 30.6%;
  display: flex;
  flex-direction: column;
}
#review .reviewList .reviewItem:nth-child(n+4),
#review_detail .reviewList .reviewItem:nth-child(n+4) {
  margin-top: 60px;
}
@media screen and (max-width: 820px), print {
  #review .reviewList .reviewItem,
  #review_detail .reviewList .reviewItem {
    width: 48%;
  }
  #review .reviewList .reviewItem:nth-child(n+3),
  #review_detail .reviewList .reviewItem:nth-child(n+3) {
    margin-top: 60px;
  }
}
@media screen and (max-width: 520px) {
  #review .reviewList .reviewItem,
  #review_detail .reviewList .reviewItem {
    width: 100%;
  }
  #review .reviewList .reviewItem + .reviewItem,
  #review_detail .reviewList .reviewItem + .reviewItem {
    margin-top: 30px;
  }
}
#review .reviewList .reviewItem:hover,
#review_detail .reviewList .reviewItem:hover {
  opacity: 1;
  top: 4px;
  left: 4px;
  box-shadow: 0 0 #333;
  transition: all 0.2s;
}
#review .reviewList .reviewItem .cateFlex,
#review_detail .reviewList .reviewItem .cateFlex {
  margin-bottom: 15px;
}
#review .reviewList .reviewItem .cateFlex .cateName,
#review_detail .reviewList .reviewItem .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
  font-size: 14px;
}
#review .reviewList .reviewItem .cateFlex .cateName + .cateName,
#review_detail .reviewList .reviewItem .cateFlex .cateName + .cateName {
  margin-left: 9px;
}
#review .reviewList .reviewItem .reviewHead,
#review_detail .reviewList .reviewItem .reviewHead {
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  #review .reviewList .reviewItem .reviewHead,
  #review_detail .reviewList .reviewItem .reviewHead {
    flex-direction: column;
  }
}
#review .reviewList .reviewItem .reviewHead .reviewImage,
#review_detail .reviewList .reviewItem .reviewHead .reviewImage {
  width: 72px;
}
@media screen and (max-width: 1024px) {
  #review .reviewList .reviewItem .reviewHead .reviewImage,
  #review_detail .reviewList .reviewItem .reviewHead .reviewImage {
    margin: 0 auto;
  }
}
#review .reviewList .reviewItem .reviewHead .reviewImage .thumb,
#review_detail .reviewList .reviewItem .reviewHead .reviewImage .thumb {
  background-position: center;
  background-size: cover;
  padding-top: 75%;
}
#review .reviewList .reviewItem .reviewHead .reviewImage .no-image,
#review_detail .reviewList .reviewItem .reviewHead .reviewImage .no-image {
  background-image: url(../images/event/no-image.jpg);
}
#review .reviewList .reviewItem .reviewHead .reviewTitle,
#review_detail .reviewList .reviewItem .reviewHead .reviewTitle {
  font-size: 20px;
  font-weight: 500;
  line-height: 30px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  width: calc(100% - 92px);
}
@media screen and (max-width: 1024px) {
  #review .reviewList .reviewItem .reviewHead .reviewTitle,
  #review_detail .reviewList .reviewItem .reviewHead .reviewTitle {
    font-size: 18px;
    line-height: 28px;
    width: 100%;
    margin-top: 10px;
  }
}
#review .reviewList .reviewItem .textArea,
#review_detail .reviewList .reviewItem .textArea {
  background-color: rgba(0, 208, 161, 0.1);
  padding: 15px 20px;
}
#review .reviewList .reviewItem .textArea .reviewText,
#review_detail .reviewList .reviewItem .textArea .reviewText {
  line-height: 30px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
}
#review .reviewList .reviewItem .personDetail,
#review_detail .reviewList .reviewItem .personDetail {
  margin-top: 5px;
  font-size: 15px;
}

#review_detail .review_detail__main {
  background-color: #fff;
  border: 2px solid #333;
  border-radius: 20px;
  padding: 30px 70px 60px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  #review_detail .review_detail__main {
    padding: 30px 40px 40px;
  }
}
@media screen and (max-width: 820px), print {
  #review_detail .review_detail__main {
    padding: 40px;
  }
}
@media screen and (max-width: 520px) {
  #review_detail .review_detail__main {
    padding: 25px;
  }
}
#review_detail .review_detail__main::before {
  position: absolute;
  content: "";
  background-image: url(../images/review/reviewItem@2x.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 144px;
  height: 146px;
  top: -38px;
  left: 70px;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  #review_detail .review_detail__main::before {
    left: 40px;
  }
}
@media screen and (max-width: 820px), print {
  #review_detail .review_detail__main::before {
    left: 50%;
    transform: translate(-50%, 0);
  }
}
#review_detail .review_detail__main .reviewItemHead {
  border-bottom: 1px solid #999;
  padding-bottom: 40px;
  margin-bottom: 30px;
}
@media screen and (max-width: 820px), print {
  #review_detail .review_detail__main .reviewItemHead {
    margin-top: -65px;
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 520px) {
  #review_detail .review_detail__main .reviewItemHead {
    margin-top: -50px;
  }
}
@media screen and (max-width: 520px) {
  #review_detail .review_detail__main .reviewItemHead {
    flex-direction: column;
    padding-bottom: 20px;
    margin-bottom: 15px;
  }
}
#review_detail .review_detail__main .reviewItemHead .reviewImage {
  width: 119px;
  height: 119px;
  position: relative;
  top: -55px;
  left: 13px;
}
@media screen and (max-width: 820px), print {
  #review_detail .review_detail__main .reviewItemHead .reviewImage {
    top: 0;
    left: 0;
    margin-bottom: 10px;
  }
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea {
  width: calc(100% - 150px);
}
@media screen and (max-width: 820px), print {
  #review_detail .review_detail__main .reviewItemHead .reviewTitleArea {
    width: 100%;
  }
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea .dayFlex {
  flex-wrap: wrap;
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea .dayFlex .day {
  margin-right: 20px;
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea .dayFlex .cateFlex {
  margin-right: 20px;
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea .dayFlex .cateFlex .cateName {
  font-weight: normal;
  border: 1px solid #333;
  border-radius: 5px;
  background-color: #fff;
  padding: 0 5px;
  font-size: 14px;
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea .dayFlex .cateFlex .cateName + .cateName {
  margin-left: 9px;
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea .tagFlex {
  flex-wrap: wrap;
  margin-top: 5px;
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea .tagFlex .tagName {
  background-color: #f33888;
  color: #fff;
  font-size: 14px;
  font-weight: normal;
  padding: 0 10px;
  border-radius: 20px;
  margin-top: 5px;
  margin-right: 10px;
}
#review_detail .review_detail__main .reviewItemHead .reviewTitleArea .reviewItemTitle {
  font-size: 28px;
  font-weight: 500;
  line-height: 43px;
  margin-top: 20px;
}
@media screen and (max-width: 1024px) {
  #review_detail .review_detail__main .reviewItemHead .reviewTitleArea .reviewItemTitle {
    font-size: 24px;
    line-height: 36px;
  }
}
@media screen and (max-width: 520px) {
  #review_detail .review_detail__main .reviewItemHead .reviewTitleArea .reviewItemTitle {
    font-size: 20px;
    line-height: 28px;
  }
}
#review_detail .review_detail__main .contentBg {
  background-color: rgba(0, 208, 161, 0.1);
  padding: 45px 50px;
}
@media screen and (max-width: 820px), print {
  #review_detail .review_detail__main .contentBg {
    padding: 30px;
  }
}
#review_detail .review_detail__main .contentText + .reviewImages {
  margin-top: 20px;
}
@media screen and (max-width: 520px) {
  #review_detail .review_detail__main .reviewImages {
    flex-direction: column;
  }
}
#review_detail .review_detail__main .reviewImages + .reviewImages {
  margin-top: 20px;
}
@media screen and (max-width: 520px) {
  #review_detail .review_detail__main .reviewImages + .reviewImages {
    margin-top: 10px;
  }
}
#review_detail .review_detail__main .reviewImages .imageItem {
  width: 31.6%;
}
@media screen and (max-width: 520px) {
  #review_detail .review_detail__main .reviewImages .imageItem {
    width: 100%;
  }
  #review_detail .review_detail__main .reviewImages .imageItem + .imageItem {
    margin-top: 10px;
  }
}