/* ------------------------------
    mixin
------------------------------ */
/* ------------------------------
    fair
------------------------------ */
#page_fair #sec_mv .bg {
  background: url("../img/naser/bg@2x.jpg") no-repeat center top/100% auto;
  padding: 30rem 6rem 4rem;
  margin-top: -60px;
}
#page_fair #sec_mv .ttl {
  color: #ff8014;
}
#page_fair #sec_mv .ttl .en {
  font-family: "Jost", sans-serif;
  font-size: 9.8rem;
  line-height: 1;
  font-weight: 600;
}
#page_fair #sec_mv .ttl .ja {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  line-height: 1;
  margin-left: 0.5em;
}
#page_fair #sec_mv .nav {
  position: absolute;
  left: 50%;
  margin-left: 22rem;
  top: 27rem;
}
#page_fair #sec_mv .nav.is-scrolled {
  position: fixed;
  top: 60px;
  z-index: 100;
}
@media screen and (min-width: 1200px) {
  #page_fair #sec_mv .nav.is-scrolled {
    left: 0;
    translate: 55vw 0;
    margin-left: 60.4rem;
  }
}
#page_fair #sec_mv .nav a {
  background: #ff8014;
  color: #fff;
  width: 14rem;
  height: 14rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Jost", sans-serif;
  font-size: 2.4rem;
  line-height: 1.2;
  font-weight: 600;
  text-align: center;
  border-radius: 100%;
  padding-bottom: 0.5em;
}
#page_fair #sec_mv .nav a .ico {
  position: absolute;
  left: 50%;
  bottom: 15%;
  height: 0.8em;
  width: 1px;
  background: #fff;
}
#page_fair #sec_mv .nav a .ico::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  translate: -50% 0;
  width: 0.4em;
  height: 0.4em;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  rotate: 45deg;
}
#page_fair #sec_main .movie {
  padding-left: 15rem;
}
#page_fair #sec_main .img._01 {
  padding-right: 15rem;
}
#page_fair #sec_main .m-catch._01 {
  padding: 0 10rem;
}
#page_fair #sec_main .slick-dots {
  margin-top: 2rem;
}
#page_fair #sec_main .data .ttl {
  font-family: "Jost", sans-serif;
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-bottom: 0.5em;
}
#page_fair #sec_fair .acd {
  background: #ff8014;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52.5rem;
  height: 8.6rem;
  font-size: 2.6rem;
  margin: 0 auto;
  position: relative;
}
#page_fair #sec_fair .acd .m-ico_circle {
  position: absolute;
  right: 1em;
  top: 50%;
  translate: 0 -50%;
  rotate: 90deg;
}
#page_fair #sec_fair .acd.is-open .m-ico_circle {
  scale: -1 1;
}
#page_fair #sec_fair .schedule .color {
  color: #ff8014;
}
#page_fair #sec_fair .schedule .calendar .month {
  display: flex;
  justify-content: space-between;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #b3b3b3;
}
#page_fair #sec_fair .schedule .calendar .month .prev, #page_fair #sec_fair .schedule .calendar .month .next {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2.6rem;
  letter-spacing: 0.2em;
  width: 5em;
}
#page_fair #sec_fair .schedule .calendar .month .next {
  text-align: right;
}
#page_fair #sec_fair .schedule .calendar .month .now {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 3rem;
  letter-spacing: 0.2em;
}
#page_fair #sec_fair .schedule .calendar .date .week, #page_fair #sec_fair .schedule .calendar .date .num {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 3rem 1rem;
}
#page_fair #sec_fair .schedule .calendar .date .week p, #page_fair #sec_fair .schedule .calendar .date .num p {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  text-align: center;
}
#page_fair #sec_fair .schedule .calendar .date .week p a, #page_fair #sec_fair .schedule .calendar .date .num p a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ff8014;
  color: #fff;
  border-radius: 100%;
  width: 1.7em;
  height: 1.7em;
  padding-left: 0.1em;
}
#page_fair #sec_fair .schedule .calendar .date .week {
  margin-bottom: 3rem;
}
#page_fair #sec_fair .list .acd.is-open {
  display: none;
}
#page_fair #sec_fair .list .item {
  background: #fff;
  padding: 3rem;
  margin-top: 10rem;
  position: relative;
}
#page_fair #sec_fair .list .item .img {
  aspect-ratio: 609/564;
}
#page_fair #sec_fair .list .item .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page_fair #sec_fair .list .item .ttl {
  color: #ff8014;
  font-size: 2.6rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-top: 1em;
}
#page_fair #sec_fair .list .item .category {
  margin-top: 1em;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#page_fair #sec_fair .list .item .category span {
  background: #7f7f7f;
  color: #fff;
  padding: 0.5em 1.5em;
  font-size: 2.1rem;
  line-height: 1.4;
}
#page_fair #sec_fair .list .item .m-txt {
  margin-top: 1em;
}
#page_fair #sec_fair .list .item .btn_wrap {
  margin: 6rem 2rem 0;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
#page_fair #sec_fair .list .item .btn_wrap .btn {
  flex: 1;
}
#page_fair #sec_fair .list .item .btn_wrap .btn a {
  display: block;
  background: #ff8014;
  color: #fff;
  border: 1px solid #ff8014;
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
  padding: 0.8em;
}
#page_fair #sec_fair .list .item .btn_wrap .btn._02 a {
  background: #fff;
  color: #ff8014;
}
#page_fair #sec_fair .list .js-acd-box {
  padding-bottom: 10rem;
}
#page_fair #sec_fair .list .js-acd-box .js-acd-item .inner {
  padding-top: 5rem;
  margin-top: 5rem;
  border-top: 1px solid #ff8014;
}
#page_fair #sec_fair .list .js-acd-box .js-acd-btn {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ff8014;
  color: #fff;
  font-size: 2.2rem;
  line-height: 1.4;
}
#page_fair #sec_fair .list .js-acd-box .js-acd-btn .m-ico_circle {
  position: absolute;
  right: 2em;
  top: 50%;
  translate: 0 -50%;
  rotate: 90deg;
  width: 1.5em;
  height: 1.5em;
}
#page_fair #sec_fair .list .js-acd-box .js-acd-btn.is-open .m-ico_circle {
  rotate: -90deg;
}
#page_fair._sincere #sec_mv .bg {
  background-image: url("../img/sincere/bg@2x.jpg");
}
#page_fair._sincere #sec_mv .bg .ttl {
  color: #fff;
}
#page_fair._sincere #sec_mv .nav a {
  background: #83adc5;
}
#page_fair._sincere #sec_main .slick-dots button {
  background-color: #83adc5;
}
#page_fair._sincere #sec_fair .acd {
  background-color: #83adc5;
}
#page_fair._sincere #sec_fair .schedule .color {
  color: #83adc5;
}
#page_fair._sincere #sec_fair .schedule .calendar .date .num a {
  background-color: #83adc5;
}
#page_fair._sincere #sec_fair .list .item .m-date {
  color: #83adc5;
}
#page_fair._sincere #sec_fair .list .item .m-date .day {
  border-color: #83adc5;
}
#page_fair._sincere #sec_fair .list .item .ttl {
  color: #83adc5;
}
#page_fair._sincere #sec_fair .list .item .btn_wrap .btn a {
  background: #83adc5;
  border-color: #83adc5;
}
#page_fair._sincere #sec_fair .list .item .btn_wrap .btn._02 a {
  background: #fff;
  color: #83adc5;
}
#page_fair._sincere #sec_fair .list .js-acd-box .js-acd-item .inner {
  border-top: 1px solid #83adc5;
}
#page_fair._sincere #sec_fair .list .js-acd-box .js-acd-btn {
  background: #83adc5;
}

#page_fair_post #sec_post .ttl_01 {
  background: #ff8014;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-align: center;
  padding: 0.5em 1em;
  margin-top: 8rem;
}
#page_fair_post #sec_post .mv .img {
  aspect-ratio: 653/443;
  overflow: hidden;
}
#page_fair_post #sec_post .mv .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#page_fair_post #sec_post .mv .ttl {
  color: #ff8014;
  font-size: 2.5rem;
  line-height: 1.8;
  font-weight: 600;
  margin: 1em 0;
}
#page_fair_post #sec_post .mv .date {
  color: #ff8014;
  font-size: 2.7rem;
  line-height: 1.4;
  font-weight: 500;
}
#page_fair_post #sec_post .mv .date small {
  display: inline-block;
  border: 1px solid #ff8014;
  padding: 0 0.5em;
  font-size: 1.6rem;
  line-height: 2;
  margin-right: 1em;
}
#page_fair_post #sec_post .mv .time {
  margin: 0.5em 0 2em;
  font-size: 2rem;
  line-height: 1.4;
  letter-spacing: 0.1em;
  font-weight: 500;
}
#page_fair_post #sec_post .mv .time span {
  display: inline-block;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #515151;
}
#page_fair_post #sec_post .mv .category {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  width: 80%;
  margin: 4rem 0;
}
#page_fair_post #sec_post .mv .category span {
  background: #f19857;
  color: #fff;
  padding: 0.3em 2em;
  font-size: 1.7rem;
  line-height: 1.6;
}
#page_fair_post #sec_post .mv .txt {
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: 1em;
}
#page_fair_post #sec_post .benefits {
  margin-top: 6rem;
}
#page_fair_post #sec_post .benefits .bg {
  background: #ecd6c7;
  color: #ff8014;
  padding: 4rem;
}
#page_fair_post #sec_post .benefits .table {
  display: grid;
  grid-template-columns: 12em auto;
  align-items: flex-start;
  gap: 2rem;
}
#page_fair_post #sec_post .benefits .table .ttl, #page_fair_post #sec_post .benefits .table .txt {
  margin-top: 1.5em;
}
#page_fair_post #sec_post .benefits .table .ttl {
  border: 1px solid #ff8014;
  padding: 0 0.5em;
  text-align: center;
}
#page_fair_post #sec_post .detail {
  margin-top: 10rem;
}
#page_fair_post #sec_post .detail .post {
  margin-top: 4rem;
  overflow: hidden;
}
#page_fair_post #sec_post .detail p {
  font-size: 2.2rem;
  line-height: 2;
}
#page_fair_post #sec_post .detail figure {
  margin: 8rem 0;
}
#page_fair_post #sec_post .detail figure img {
  width: 100%;
}
#page_fair_post #sec_post .detail figure + figure {
  margin-top: -4rem;
}
#page_fair_post #sec_post .detail figure:first-child {
  margin-top: 0;
}
#page_fair_post #sec_post .detail figure:last-child {
  margin-bottom: 0;
}
#page_fair_post #sec_post .detail .post h2 {
  color: #ff8014;
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin: 1em 0 0.5em;
  position: relative;
  width: max-content;
}
#page_fair_post #sec_post .detail .post h2::before {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  translate: 1em -50%;
  width: 76.8rem;
  height: 1px;
  background: #ff8014;
}
#page_fair_post #sec_post .detail .post h2:first-child {
  margin-top: 0;
}
#page_fair_post #sec_post .detail h3 {
  color: #ff8014;
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin: 1em 0 0.5em;
  position: relative;
  width: max-content;
}
#page_fair_post #sec_post .detail h3::before {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  translate: 1em -50%;
  width: 76.8rem;
  height: 1px;
  background: #ff8014;
}
#page_fair_post #sec_post .detail h3:first-child {
  margin-top: 0;
}
#page_fair_post #sec_post .detail h4 {
  color: #ff8014;
  font-size: 3rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-weight: 600;
  margin: 1em 0 0.5em;
}
#page_fair_post #sec_post .detail h4:first-child {
  margin-top: 0;
}
#page_fair_post._sincere #sec_mv .ttl {
  color: #83adc5;
}
#page_fair_post._sincere #sec_post .ttl_01 {
  background: #83adc5;
}
#page_fair_post._sincere #sec_post .mv .ttl {
  color: #83adc5;
}
#page_fair_post._sincere #sec_post .mv .category span {
  background: #7f7f7f;
}
#page_fair_post._sincere #sec_post .benefits .bg {
  background: #e3e6e8;
  color: #83adc5;
}
#page_fair_post._sincere #sec_post .benefits .table .ttl {
  border-color: #83adc5;
}
#page_fair_post._sincere #sec_post .detail h3 {
  color: #83adc5;
}
#page_fair_post._sincere #sec_post .detail h3::before {
  background: #83adc5;
}
#page_fair_post._sincere #sec_post .detail h4 {
  color: #83adc5;
}
#page_fair_post._sincere #sec_post .btn a {
  background-color: #83adc5;
}

body:has(#page_fair._sincere) #header .logo_wrap .logo a,
body:has(#page_fair_post._sincere) #header .logo_wrap .logo a {
  color: #fff;
}
body:has(#page_fair._sincere) #header .menu-trigger span,
body:has(#page_fair_post._sincere) #header .menu-trigger span {
  background: #fff;
}
body:has(#page_fair._sincere) #footer .sec_link,
body:has(#page_fair_post._sincere) #footer .sec_link {
  background-image: url("../img/common/link_bg_b@2x.png");
}
body:has(#page_fair._sincere) #footer .sec_link .btn_wrap .btn a,
body:has(#page_fair_post._sincere) #footer .sec_link .btn_wrap .btn a {
  background-color: #83adc5;
  background-image: url("../img/common/ico_long_bw.svg");
}
body:has(#page_fair._sincere) #footer .sec_footer .m-h2,
body:has(#page_fair_post._sincere) #footer .sec_footer .m-h2 {
  color: #7f7f7f;
}
body:has(#page_fair._sincere) #footer .sec_footer .m-btn_more a,
body:has(#page_fair_post._sincere) #footer .sec_footer .m-btn_more a {
  color: #ff8014;
}
body:has(#page_fair._sincere) .floating_nav .btn a,
body:has(#page_fair_post._sincere) .floating_nav .btn a {
  background: #83adc5;
}
body:has(#page_fair._sincere) .floating_nav .btn._02 a,
body:has(#page_fair_post._sincere) .floating_nav .btn._02 a {
  background: #94b6c9;
}
body:has(#page_fair._sincere) .floating_nav .btn._03 a,
body:has(#page_fair_post._sincere) .floating_nav .btn._03 a {
  background: #aac5d5;
}
body:has(#page_fair._sincere) .contents,
body:has(#page_fair_post._sincere) .contents {
  background-color: #f2f3f4;
}
body:has(#page_fair._sincere) .m-h2,
body:has(#page_fair_post._sincere) .m-h2 {
  color: #83adc5;
}

body:has(#page_fair_post._sincere) #header .logo_wrap .logo a {
  color: #83adc5;
}
@media screen and (max-width: 767px) {
  body:has(#page_fair_post._sincere) #header .menu-trigger span {
    background: #83adc5;
  }
}
