@charset "UTF-8";
:root {
  --link-border-color2025: #e37b63;
  --link-border-color2026: #093893;
  --main-color: var(--link-border-color2026);
  --link-border-color: var(--link-border-color2026);
  --pink: #e4006e;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 819px) {
  :root {
    font-size: 15px;
  } 
}
html, body {
  min-width: 320px
}
img {
  image-rendering: -webkit-optimize-contrast;
}
/********** header **********/
.top-header {
  position: fixed;
  padding: 10px 16px 10px 29px;
  width: 100%;
  min-height: 120px;
  background: rgba(255,255,255,.99);
  z-index: 1999;
}
.header-logo {
  padding: 17px 50px 7px 0;
  flex-shrink: 0;
}
.header-logo img {
  width: auto;
  height: 66px;
}
.header-link {
  position: absolute;
  bottom: 0;
  right: max(5px, calc(111vw - 1080px));
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: calc(100% - 215px);
  height: 48px;
}
.header-link-item {
  width: 140px;
  height: 100%;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
}
.header-link-item a {
  position: relative;
  display: inline-block;
  padding: 4px 2px 12px;
  height: 100%;
  transition: .3s;
}
.header-link-item.bosyu a,
.header-link-item.info a {color: var(--link-border-color);}
.header-link-item a::after {
  position: absolute;
  bottom: 10px;
  left: 0;
  content: '';
  width: 100%;
  height: 4px;
  background: var(--link-border-color);
  transform: scale(0,1);
  transform-origin: center top;
  transition: transform .3s;
}
.header-link-item.info.next a {color: var(--pink);}
.header-link-item.info.next a::after {background-color: var(--pink);}

#home .home a::after,
#v13th .tokimeki > a::after,
#v14th .tokimeki > a::after,
#v15th .tokimeki > a::after,
#v16th .tokimeki > a::after,
#v17th .tokimeki > a::after,
#v18th .tokimeki > a::after,
#artclass .artclass > a::after,
#artclass2 .artclass > a::after,
#artclass04 .artclass > a::after,
#artclass05 .artclass > a::after,
#artclass06 .artclass > a::after,
.header-link-item a:hover:after {
  transform: scale(1,1);
}

#v13th header .tokimeki > a::after,
#v14th header .tokimeki > a::after,
#artclass header .artclass > a::after {
  background: #dcae6d;
}
#v13th .header-link-item a::after,
#v14th .header-link-item a::after,
#artclass .header-link-item a::after {
  background: #dcae6d;
}
#v15th header .tokimeki > a::after,
#artclass2 header .artclass > a::after {
  background: #145a91;
}
#v15th .header-link-item a::after,
#artclass2 .header-link-item a::after {
  background: #145a91;
}
#v16th .header-link-item a::after,
#artclass04 .header-link-item a::after {
  background: #047053;
}
#v17th .header-link-item a::after,
#artclass05 .header-link-item a::after {
  background: #e4006e;
}
#v18th .header-link-item a::after,
#artclass06 .header-link-item a::after {
  background: var(--link-border-color2025);
}
.hovmenu {
  position: relative;
}
.hovmenu-list {
  width: 100%;
  background: #fff;
  font-size: .875rem;
  font-weight: normal;
  z-index: 3;
}
@media screen and (min-width:820px) {
  .hovmenu-list {
    display: none;
    position: absolute;
    top: 48px;
    padding-top: 3px;
    background: rgba(255,255,255,.95);
    font-feature-settings: "palt";
  }
  .header-link-item.home {width: 100px;}
  .header-link-item.artclass {
    width: 170px;
  }

  .header-link-item.bosyu a,
  .header-link-item.info a {
    padding: 0 2px 16px;
    font-size: 15px;
    line-height: 1.2;
    transform: translateY(-2px);
  }
  .header-link-item.bosyu a::after,
  .header-link-item.info a::after {bottom: 6px;}

  @media (min-width: 1081px) {
    .header-link {
      right: 120px;
    }
  }
}

.hovmenu-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
}
.hovmenu-item a::after {
  bottom: 4px;
}
/* .hovmenu-item + .hovmenu-item {
  background: url(../img/dot-line.svg) repeat-x  0 top;
  padding-top: 3px;
  border-color: #fff;
  border-style: solid;
  border-left-width: 4px;
  border-right-width: 2px;
}
#v13th .hovmenu-item + .hovmenu-item,
#v14th .hovmenu-item + .hovmenu-item,
#artclass .hovmenu-item + .hovmenu-item {
  background: url(../img/dot-line-br.svg) repeat-x 0 top;
} */

.search-form {
  position: absolute;
  top: 24px;
  right: 30px;
}
.search-query {
  padding: 0 10px 1px 16px;
  width: 232px;
  outline: none;
  border: 2px solid #b9b9b9;
  border-right: none;
  border-radius: 16px 0 0 16px;
  height: 28px;
  font-size: .875rem;
}
.search-query::placeholder {
  color: #b9b9b9;
}
.search-submit {
  position: relative;
  border: none;
  outline: none;
  background: transparent;
  width: 40px;
  height: 33px;
  cursor: pointer;
  z-index: 3;
}
.search-submit img {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 40px;
}
.search-trigger {display: none}

@media screen and (max-width:819px) {
  main {padding-top: 71px!important}
  .sp-image {display: none}
  .top-header {min-height: 70px}
  .header-logo {padding: 0}
  .searching .header-logo img{opacity: 0;transition: .3s}
  .header-logo img {height: 50px;transition: .3s }
  
  body.menu_active {overflow: hidden;}
  .active nav{
    position: fixed;
    top: 70px;
    left: 0;
    width: 100vw;
    height: 100%;
    max-height: calc(100dvh - 70px);
    background: rgba(0, 0, 0, .75);
    z-index: 100;
    transition: .5s background;
  }
  .header-link {
    flex-direction: column;
    justify-content: flex-start;
    position: fixed;
    top: 70px;
    bottom: auto;
    right: -150vw;
    width: 100%;
    height: auto;
    max-height: calc(100dvh - 70px);
    background: #fff;
    overflow: auto;
    z-index: 9000;
    transition: .5s;
  }
  .active .header-link {
    max-width: none;
    right: 0;
    transition: .5s;
  }
  .header-link-item {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding: 12px 0 13px;
    /* height: 70px; */
    width: 100%;
  }
  .header-link-item + .header-link-item, .header-link-item:first-child {
    border-top: 1px solid #646464;
  }
  .header-link-item a {
    padding: 8px 0 12px;
    height: auto;
    font-size: 1rem;
  }
  .header-link-item a::after {
    bottom: 8px;
  }
  .hovmenu-list {
    display: block!important;
    padding-left: 30px;
    padding-right: 30px;
  }
  .hovmenu-item + .hovmenu-item {
    background-size: 2px;
  }

  .search-form {top: 20px; right: 35px;width: calc(100% - 55px);display: none}
  /*.searching .search-form {opacity: 1;transition: .5s}*/
  .search-query {width: calc(100% - 80px);font-size: 1rem}
  .search-trigger {
    display: block;
    position: absolute;
    width:40px;
    top: 20px;
    right: 47px;
    transition: .5s;
    cursor: pointer;
  }
  /*.searching .search-trigger {opacity: 0;transition: .5s}*/
    /*** バーガーアイコン ***/
  .menu-trigger, .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: fixed;
    z-index: 2000;
    top: 27px;
    right: 16px;
    width: 20px;
    height: 20px;
    visibility: visible;
    opacity: 1;
    transition: .5s;
    cursor: pointer;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #646464;
    border-radius: 1px;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 2px;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 9px;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 2px;
  }
  .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(7px) rotate(-45deg);
  }
  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-7px) rotate(45deg);
  }
  .menu-trigger.active {
    visibility: visible !important;
    opacity: 1 !important;
  }
  .menu-trigger.hidden {
    visibility: hidden;
    opacity: 0;
    transition: .5s;
  }

}

/********** main **********/
main {
  padding-top: 120px;
  width: 100%;
  /*max-width: 1500px;*/
  margin: 0 auto;
  overflow: hidden;
}

.homeheader-image {
  position: relative;
  width: 120vw;
  margin-left: -10vw;
}
.homeheader-bg {
  padding: 0 2.5% 55.5%;
  background: no-repeat bottom center;
  background-size: cover;
  overflow: hidden;
}
.home-main {
  background: no-repeat top center;
  background-size: contain;
}
.homeheader-bg,
.home-main {
  background-image: url(../img/bg-top.jpg);
}

.sp-image {
  position: absolute;
  width: 26%;
  max-width: 235px;
  top: 81%;
  right: 16.5%;
  background: url(../img/sp-qr.svg) no-repeat;
  background-size: contain;
  border-radius: 50%;
  z-index: 10;
}
@media screen and (min-width: 1501px) {
  .home-main {background-position-y: -33.3vw;}
  .homeheader-bg {padding-bottom: 1000px}
  .sp-image {top: 810px;right: calc(50% - 600px)}
}
.sp-image img {
  display: block;
  border-radius: 50%;
  overflow: hidden;
  opacity: 1;
  transition: .3s;
  cursor: cell;
}
.sp-image img:hover {
  opacity: 0;
  transition: .3s;
}

.breadcrumbs {
  display: flex;
}
.breadcrumbs li + li {
  position: relative;
  margin-left: .5em;
  padding-left: 1em;
}
.breadcrumbs li + li::before {
  position: absolute;
  content: '\03e';
  left: 0;
}

.section-text {
  margin: 0 auto;
  padding: 0 25px;
  width:100%;
  max-width: 600px;
  font-size: 1.1875rem;
  /* font-weight: bold; */
  letter-spacing: 1px;
  line-height: 2;
}

.about {
  position: relative;
  z-index: 1;
  /* margin-top: 110px; */
  padding: 110px 0 55px;
}
.top-bg-lines {
  position: absolute;
  z-index: -1;
  top: -320px;
  left: calc(50% - 750px);
  max-width: none;
  width: 1500px;
  pointer-events: none;
}
.deco {
  position: absolute;
  content: '';
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
}
.deco-pink {
  top: -58px;
  left: calc(50% - 350px);
  width: 174px;
  height: 64px;
  background-image: url(../img/deco-pink.svg);
}
.deco-pink-2 {
  top: 240px;
  left: calc(50% + 300px);
  width: 106px;
  height: 40px;
  background-size: 174px 64px;
  background-position: bottom left;
}
.deco-pink-3 {
  top: 630px;
  left: calc(50% - 550px);
  width: 212px;
  height: 73px;
  background-image: url(../img/deco-pink-3.svg);
}
.deco-skyblue {
  top: 280px;
  left: calc(50% - 585px);
  width: 179px;
  height: 62px;
  background-image: url(../img/deco-skyblue.svg);
}
.deco-skyblue-2 {
  top: 750px;
  left: calc(50% + 380px);
}
.deco-dot_yellow {
  top: 160px;
  left: calc(50% + 425px);
  width: 20px;
  height: 20px;
  background-image: url(../img/dot-yellow.svg);
}
.deco-dot_skyblue {
  top: 160px;
  left: calc(50% + 425px);
  width: 20px;
  height: 20px;
  background-image: url(../img/dot-skyblue.svg);
}
.deco-dot_skyblue-2 {
  top: 810px;
  left: calc(50% + 345px);
}
.about h2 {
  margin: 100px auto 0;
  width: 118px;
  transform: translateX(6px);
}
.about-text {margin-top: 80px}
.fukushika-name {margin-top: 1.25rem;text-align: right}
#artclass04 .fukushika-name {text-align: right;}
#artclass05 .fukushika-name {text-align: right;}

.goto-link {
  position: relative;
  margin: 55px 16px 0;
  padding: 24% 2.5% 12%;
  background: center / cover no-repeat;
  border-radius: 0 0 1vw 1vw;
  overflow: hidden;
  text-align: center;
}
.body-2026 .goto-link {background-image: url(../img/bg-blue2026.jpg);}

@media screen and (min-width: 1500px) {
  .goto-link {background-size: cover;}
}
@media screen and (min-width: 1001px) {
  .goto-link {padding-bottom: 90px}
  .goto-link h2 {transform: translateY(-2.5vw);}
}
.goto-link::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -16px;
  width: 50%;
  height: 42%;
  width: calc(100% + 32px);
  height: 16vw;
  background: url("../img/tri-wh.svg") no-repeat;
  background-size: contain;
}

.goto-link h2 {
  padding: 0 20px;
}

.goto-link h2 a {
  display: inline-block;
  transition: .3s;
}

.goto-link h2 a:hover {
  opacity: .5;
}


/* 準備中 */
.goto-link h2 {
  margin: 0 auto;
  width: 147px;
  height: 52px;
  background-color: #fff;
  color: var(--link-border-color);
  border: 1px solid var(--link-border-color);
  font-size: 30px;
  font-weight: normal;
  line-height: 1.6;
}
.goto-link-notice {
  margin-top: 8px;
  font-size: 20px;
  color: var(--link-border-color);
}

footer {
  margin: 120px 0 0;
  text-align: center
}
.footer-logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 170px;
  border: 1px solid var(--main-color);
  border-left: none;
  border-right: none;
}
#v14th .footer-logo,
#v13th .footer-logo,
#artclass .footer-logo {
  border-color: #f5e9d7;
}
#v15th .footer-logo,
#artclass2 .footer-logo {
  border-color: #145a91;
}
#v16th .footer-logo,
#artclass04 .footer-logo {
  border-color: #93d2d3;
}
#v17th .footer-logo,
#artclass05 .footer-logo {
  border-color: #e4006e;
}
#v18th .footer-logo,
#artclass06 .footer-logo {
  border-color: var(--link-border-color2025);
}
.footer-logo-top {
  width: 206px;
}
#search .footer-logo-top {display: none;}
.footer-logo-logo {
  margin-top: 8px;
  width: 153px;
}
#search .footer-logo-logo {margin-top: 0;}
.footer-sponser {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 47px 0;
}
.sdgs {
  flex-shrink: 0;
  margin: 0 30px;
  width: 200px;
}
.sponser-text {
  max-width: 460px;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 30px;
  font-size: .75rem;
  text-align: left;
}
.sponser-text p {
  display: inline-block;
  margin-right: 1em;
  line-height: 2;
}

.footer-bg{
  padding-top: 12px;
  background: center top / cover no-repeat url(../img/bg-yellow.jpg);
}
.body-2026 .footer-bg {background-image: url(../img/bg-blue2026.jpg);}
#v13th .footer-bg,
#v14th .footer-bg,
#artclass .footer-bg{
  background: #f5e9d7;
}
#v15th .footer-bg,
#artclass2 .footer-bg{
  background-image: url(../img/bg-blue.jpg);
}
#v16th .footer-bg,
#artclass04 .footer-bg{
  background-image: url(../img/bg-green2.jpg);
}
#v17th .footer-bg,
#artclass05 .footer-bg{
  background-image: url(../img/bg-pink2.jpg);
}
#v18th .footer-bg,
#artclass06 .footer-bg{
  background-image: url(../img/bg-yellow2.jpg);
}
.footer-link {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 12px 10px;
  max-width: 620px;
}
.footer-link-item {
  width: 145px;
  font-size: .9375rem;
  font-weight: bold;
  color: #000;
}
.footer-link-item p,
.footer-link-item a {
  position: relative;
  display: inline-block;
  padding: 4px 0 6px;
  color: #000;
  transition: .3s;
}
.usage {
  padding: 20px 10px 8px;
  font-size: .75rem;
  color: #000;
}
.copyright {
  display: block;
  padding: 0 10px 10px;
  font-size: .625rem;
  color: #000;
  letter-spacing: 1px
}
.footer-link-item p {
  margin-bottom: 8px;
}
.footer-link-item a::after {
  position: absolute;
  bottom: 1px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: var(--link-border-color);
  transform: scale(0,1);
  transform-origin: center top;
  transition: transform .3s;
}
#v13th .footer-link-item a::after,
#v14th .footer-link-item a::after,
#artclass .footer-link-item a::after {
  background: #aa8716;
}
#v15th .footer-link-item a::after,
#artclass2 .footer-link-item a::after {
  background: #fff;
}
#v16th .footer-link-item a::after,
#artclass04 .footer-link-item a::after {
  background: #047053;
}
#v17th .footer-link-item a::after,
#artclass05 .footer-link-item a::after {
  background: #e4006e;
}
#v18th .footer-link-item a::after,
#artclass06 .footer-link-item a::after {
  background: var(--link-border-color2025);
}
.footer-link-item a:hover:after,
#home footer .home a::after,
#v13th footer .v13th a::after,
#v14th footer .v14th a::after,
#v15th footer .v15th a::after,
#v16th footer .v16th a::after,
#v17th footer .v17th a::after,
#v18th footer .v18th a::after,
#artclass footer .art_old a::after,
#artclass2 footer .art_r3 a::after,
#artclass04 footer .art_r4 a::after,
#artclass05 footer .art_r5 a::after,
#artclass06 footer .art_r6 a::after,
.footer-link-item a:hover {
  transform: scale(1);
}

.footer-link-child-item a {
  margin-top: 6px;
  font-size: .8125rem;
  font-weight: normal;
}

#v15th .footer-bgp,
#v15th .footer-bga,
#v15th .footer-bg.copyright,
#artclass2 .footer-bgp,
#artclass2 .footer-bga,
#artclass2 .footer-bg.copyright {
  color: #fff;
}
#home .footer-bgp,
#home .footer-bga,
#home .footer-bg.copyright,
#v16th .footer-bgp,
#v16th .footer-bga,
#v16th .footer-bg.copyright,
#artclass04 .footer-bgp,
#artclass04 .footer-bga,
#artclass04 .footer-bg.copyright {
  color: #273C3C;
}
#home .footer-bgp,
#home .footer-bga,
#home .footer-bg.copyright,
#v17th .footer-bgp,
#v17th .footer-bga,
#v17th .footer-bg.copyright,
#artclass05 .footer-bgp,
#artclass05 .footer-bga,
#artclass05 .footer-bg.copyright {
  color: #273C3C;
}

@media screen and (min-width: 720px) {
  .footer-link-item.artclass {
    width: 210px;
  }
  .footer-link-item.artclass > p {
    transform: translateX(-35px);
  }
  .footer-link-item.artclass ol {
    padding-left: 3em;
  }
  .footer-link-item.artclass .footer-link-child {
    text-align: left;
  }
  .spOnly {display: none;}
}
@media screen and (max-width:719px) {
  .spNone {display: none!important;}
  br.spOnly{display: inline}
  .footer-link{flex-direction: column;padding-bottom: 0}
  .footer-link-item {width: auto;margin-bottom: 8px}
  .footer-link-item a{margin: 0 auto}
  .footer-link-item home a {width: 5em;}
  .footer-link-child {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin: -10px auto 0;
  }
  .footer-sponser {flex-direction: column}
  .sdgs{margin-bottom: 30px}
  .sponser-text {display: inline-block;text-align: center}
  .usage{text-align: left}
}
@media screen and (max-width: 449px) {
  .footer-link-child-item {
    margin: 0 10px;
    width: auto;
  }
  .tokimeki .footer-link-child {
    max-width: 230px;
  }
  
}




/* */
.breadcrumbs {
  max-width: 1000px;
  padding: 0 16px;
  margin: 20px auto 123px;
}
.breadcrumbs,
body:not(#home) section {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
body h1 {
  margin: 0 16px;
  padding: 73px 0 80px;
  border-radius: 10px;
  text-align: center;
  overflow: hidden;
}
body#home h1 {
  margin: auto;
  padding: 0;
  border-radius: 0;
}
.main-13th>h1, .main-14th>h1, .main-artclass>h1 {
  background: #f5e9d7;
}
.main-15th>h1, .main-artclass2>h1 {
  position: relative;
  background: url(../img/bg-blue.jpg) no-repeat center top;
  background-size: cover;
}
.main-16th>h1, .main-artclass04>h1, .main-search>h1 {
  position: relative;
  background: url(../img/bg-green2.jpg) no-repeat center top;
  background-size: cover;
}
.main-17th>h1, .main-artclass05>h1, .main-search>h1 {
  position: relative;
  background: url(../img/bg-pink.jpg) no-repeat center top;
  background-size: cover;
}
.main-18th>h1, .main-artclass06>h1, .main-search>h1 {
  position: relative;
  background: url(../img/bg-yellow.jpg) no-repeat center top;
  background-size: cover;
}
.main-15th>h1::after, .main-artclass2 >h1::after,
.main-16th>h1::after, .main-artclass04>h1::after,
.main-17th>h1::after, .main-artclass05>h1::after,
.main-18th>h1::after, .main-artclass06>h1::after,
.main-search>h1::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
}
@media screen and (min-width: 820px) {
  .main-15th>h1::after, .main-artclass2>h1::after {
    background-image: url(../img/bg-lines-pc.svg);
  }
  .main-16th>h1::after, .main-artclass04>h1::after {
    background-image: url(../img/bg-lines-2023-pc.svg);
  }
  .main-17th>h1::after, .main-artclass05>h1::after, .main-search>h1::after {
    background-image: url(../img/bg-lines-2024-pc.svg);
  }
  .main-18th>h1::after, .main-artclass06>h1::after, .main-search>h1::after {
    background-image: url(../img/bg-lines-2025-pc.svg);
  }
}
@media screen and (max-width: 819px) {
  .main-15th>h1::after, .main-artclass2>h1::after {
    background-image: url(../img/bg-lines-sp.svg);
  }
  .main-16th>h1::after, .main-artclass04>h1::after {
    background-image: url(../img/bg-lines-2023-sp.svg);
  }
  .main-17th>h1::after, .main-artclass05>h1::after, .main-search>h1::after {
    background-image: url(../img/bg-lines-2024-sp.svg);
  }
  .main-18th>h1::after, .main-artclass06>h1::after, .main-search>h1::after {
    background-image: url(../img/bg-lines-2024-sp.svg);
  }
  .main-search>h1::after {background-position: 80% 95%;}
}
.main-13th>h1>img:first-child{max-width: 236px}
.main-14th>h1>img:first-child {max-width: 238px}
.main-15th>h1>img:first-child {max-width: 240px}
.main-16th>h1>img:first-child {max-width: 240px}
.main-17th>h1>img:first-child {max-width: 240px}
.main-18th>h1>img:first-child {max-width: 240px}
.main-artclass>h1>img:first-child, .main-artclass2>h1>img:first-child {width: 349px}
.tokimeki-landscape {max-width: 418px;margin-left: 35px}
@media screen and (min-width: 820px) {
  h1>img:first-child {width:30%}
  .tokimeki-landscape {width: 60%!important}
}


.accordionSwitch {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 90px;
  width: 550px;
  height: 105px;
  border-radius: 14px;
  box-shadow: 0 0 5px #c4c4c4;
  cursor: pointer;
}
#v13th .accordionSwitch {background: #009e96}
#v14th .accordionSwitch {background: #aa8716}
#v15th .accordionSwitch {background: #145a91}
#v16th .accordionSwitch {background: #047053}
#v17th .accordionSwitch {background: #093994}
#v18th .accordionSwitch {background: #6fb554}
.accordionSwitch::before, .accordionSwitch::after {
  content: "";
  position: absolute;
  top: 33px;
  left: 49px;
  display: block;
  background: #fff;
  border-radius: 3px;
  width: 3px;
  height: 39px;
  transition: .5s;
  overflow: hidden;
}
.accordionSwitch::after {transform: rotate(90deg);}
.accordion-open .accordionSwitch::before {
  top: 52px;
  height: 0;
  opacity: 0;
  transition: .5s;
}
.accordionSwitch img {
  width: auto;
  height: 67px;
}
.accordion {
  display: none;
  margin-bottom: 225px;
}
.comments .accordion {margin-bottom: 90px}
.accordion .comments {margin-bottom: 135px}
.accordion-arrow {
  width: 100%;
  height: 75px;
  background: #f5e9d7;
}
#v15th .accordion-arrow, #artclass2 .accordion-arrow {
  background: url(../img/bg-skyblue.jpg);
  background-position: top center;
  background-size: cover;
  transform: scale(1, -1);
}
#v16th .accordion-arrow, #artclass04 .accordion-arrow {
  background: url(../img/bg-green.jpg);
  background-position: top center;
  background-size: cover;
}
#v17th .accordion-arrow, #artclass05 .accordion-arrow {
  background: url(../img/bg-pink2.jpg);
  background-position: top center;
  background-size: cover;
}
#v18th .accordion-arrow, #artclass06 .accordion-arrow {
  background: url(../img/bg-yellow2.jpg);
  background-position: top center;
  background-size: cover;
}
.accordion-arrow img {
  width: 100%;
  height: 75px;
  object-fit: cover;
}
#v15th .accordion-arrow img, #artclass2 .accordion-arrow img {
  transform: scale(1, -1);
}
.accordion-inner {
  padding: 0 20px;
  background: #f5e9d7;
}
#v15th .accordion-inner,
#artclass2 .accordion-inner {
  background: url(../img/bg-skyblue.jpg) repeat-y;
  background-size: contain;
}
#v16th .accordion-inner,
#artclass04 .accordion-inner {
  background: url(../img/bg-green.jpg) repeat-y;
  background-size: contain;
}
#v17th .accordion-inner,
#artclass05 .accordion-inner {
  background: url(../img/bg-pink2.jpg) repeat-y;
  background-size: contain;
}
#v18th .accordion-inner,
#artclass06 .accordion-inner {
  background: url(../img/bg-yellow2.jpg) repeat-y;
  background-size: contain;
}
.accordion-inner section {
  margin: 0 auto;
  padding: 75px 0 15px;
  max-width: 990px;
}
.comments .accordion-inner {padding-top: 48px}
.accordion-inner .comment {
  margin: 0 auto;
  padding: 80px 0;
  max-width: 700px;
}
.accordion-inner .comment h3 {
  margin-bottom: 26px;
  line-height: 2;
}
.comment p {font-size: 1.25rem;line-height: 1.9}
.accordion-inner .prize-section + .prize-section::before,
.accordion-inner .comment + .comment::before {
  content: "";
  position: absolute;
  width: 100%;
  top: -5px;
  left: 0;
  border-top: 5px solid #fff;
}
#v18th .accordion-inner .prize-section + .prize-section::before,
#v18th .accordion-inner .comment + .comment::before {border-top-color: #e37b63;}

.category h3 {margin-bottom: 64px;font-size: 1.375rem;text-align:  center}
.category h4, #search h4 {margin-bottom: 8px;font-size: 1.125rem;text-align: center}
.category h5, #search h5 {font-size: 1rem;text-align: center}
.grand_prix h3 img {width: 222px}
.excellent_award h3 img {width: 165px}
.headman_award h3 img {width: 157px}
.chairman_award h3 img {width: 332px}
.special_award h3 img {width: 332px}
.azalea_award h3 img {width: 210px}
.comment .position {font-size: 1.125rem}
.comment .commenter-name {margin-top: 1em;font-size: 1.125rem;text-align: right}
.allworks h2 {
  padding-top: 30px;
  text-align: center;
}
.ttl-oubo {width: 105px}
.ttl-allworks {width:203px}
.name-notice {
  display: block;
  margin: 16px auto 76px;
  text-align: center;
}
.artwork-list {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin: 0 auto;
  width: 100%;
  max-width: 1020px;
}
.artwork-list li {
  position: relative;
  margin: 0 20px;
  padding-bottom: 60px;
  width:260px;
}
.artwork-list_all {
  padding: 0 20px;
}
/* .artwork-list_all::after {
  content: '';
  display: block;
  width: 260px;
  height: 0;
} */
.artwork-list_all li {
  padding-bottom: 62px;
  width: 260px;
}
.artwork-list h4 {font-size: 1.125rem}
.artwork {
  position: relative;
  display: block;
  margin-bottom: 1em;
  width: 260px;
  overflow: hidden;
}
.artimage {min-height: 260px;background: #000;border-radius: 11px}
.artimage img {
  width: 260px;
  height: 260px;
  border-radius: 10px;
  object-fit: cover;
  transition: .2s;
}
.artwork:hover .artimage img {opacity: .5;transition: .5s}
.artwork .excerpt {
  position: absolute;
  opacity: 0;
  padding: 1em 2em 0 2em;
  bottom: calc(100% - 228px);
  left: 0;
  color: #fff;
  transition: .2s;
}
.artwork:hover .excerpt {
  opacity: 1;
  transition: .5s;
}
.img-enlarge {
  display: inline-block;
  margin-top: 16px;
  padding: 3px 1em;
  background: #fff;
  color: #333;
}
.badge {
  position: absolute;
  top: -28px;
  left: -20px;
  width: 54px;
  height: 72px;
}
@media screen and (max-width:819px) {
  .main-13th>h1,.main-14th>h1,
  .main-15th>h1,.main-16th>h1,
  .main-17th>h1,.main-18th>h1
  {
    margin-bottom: 10px;
    padding:25px ;
  }
  .main-artclass>h1,.main-artclass2>h1,.main-artclass04>h1,.main-artclass05>h1, .main-search>h1 {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .main-artclass>h1,.main-artclass2>h1,.main-artclass04>h1,.main-artclass05>h1 {padding: 25px 80px;}
  .main-search>h1 {padding: 25px 20px;}
  .main-13th>h1>img:first-child,
  .main-14th>h1>img:first-child,
  .main-15th>h1>img:first-child{margin:5px 20px;width:30%;min-width: 105px}
  .main-16th>h1>img:first-child{margin:5px 20px;width:30%;min-width: 105px}
  .main-17th>h1>img:first-child{margin:5px 20px;width:30%;min-width: 105px}
  .main-18th>h1>img:first-child{margin:5px 20px;width:30%;min-width: 105px}
  .tokimeki-landscape {margin:10px 20px;width:60%;min-width: 210px}

  .breadcrumbs {margin:10px 0 50px;font-size: .75rem;}
  .accordionSwitch {margin-bottom: 20px;width: 310px;height: 80px}
  .comments {margin-top: 50px;}
  .accordionSwitch img{height: 43px}
  .accordionSwitch::before, .accordionSwitch::after {
    top:28px;left:39px;height:29px
  }
  .accordion-open .accordionSwitch::before{top:41px}
  .accordion {margin-bottom: 0}
  .accordion-arrow {height: 40px;}
  .accordion-arrow img {height: 40px;}
  .accordion-inner {padding:0 16px}
}

body:not(#home) .about-artclass {
  margin: 0 auto 120px;
}
.about-artclass h2 {
  margin: 0 auto 80px;
  width: 360px;
}
.about-artclass h3 {
  margin: 42px auto 26px;
  padding: 0 25px;
  font-size: 1.625rem;
}
body:not(#home) .tutor-greeting {
  margin: 0 auto 10em;
}
.tutor-greeting h2 {
  margin: 0 auto 80px;
  width: 208px;
}
@media screen and (max-width:819px) {
  body:not(#home) .about-artclass {margin-bottom: 100px}
  .about-artclass h2 {width: 280px}
  .tutor-greeting h2 {width: 170px}
}


.search-keyword {margin-top: 2em;font-size: 1.8125rem;text-align: center}
.search-keyword img {
  display: block;
  width:248px;
  margin: 20px auto 112px;
}
.search-category {
  padding-top: 8px;
  font-size: .75rem;
  color: #555;
  text-align: center;
}
@media screen and (max-width:719px) {
  .search-keyword {font-size: 1.25rem;}
  .search-keyword img {width: 200px;margin: 10px auto 60px;}
}

/********** Lightcase.js customize **********/
#lightcase-content .lightcase-inlineWrap {padding:0!important}
#lightcase-content h1, #lightcase-content h2, #lightcase-content h3, #lightcase-content h4, #lightcase-content h5, #lightcase-content h6 {text-align: center;font-size: 1rem;}
#lightcase-content * {color: #fff!important}
#lightcase-content {background: none!important;}

#lightcase-content h4, #lightcase-content h5 {font-size: 1.25rem;padding-bottom: .5em}
#lightcase-content h4 {padding-top:43px}
#lightcase-content h6 {font-size: .9375rem}
#lightcase-content h6 + h6 {margin-top: 1em;}
#lightcase-content img {display: block;margin: 0 auto;max-height: 800px}
#lightcase-content .content {
  display: flex;
  justify-content: center;
  padding-top: 42px;
  font-size:1rem;
}
@media screen and (min-width: 640px) {
  #lightcase-content .lightcase-inlineWrap div:first-child {padding: 0 20px}}
#lightcase-content .detail-badge {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  padding-top: 46px;
}
#lightcase-content .detail-badge-image {
  display: inline-block;
  margin: 0 10px;
  width: 52px;
}
#lightcase-content .detail-badge-ttl {
  display: inline-block;
  margin: 0 10px;
  width:auto;
  height: 51px;
}
#lightcase-content .detail-badge-ttl.chairman_award {
  height:98px
}
#lightcase-content small.group {
  display: block;
  padding-bottom: .5em;
  font-size: 90%;
}

.ilb {display: inline-block}
.bold {font-weight: bold;}

/* メッセージツリー */
@media all {
  .msgtree {
    margin-top: 40px;
    padding: 0 10px;
  }
  .ttl-tree {
    display: block;
    margin: 0 auto 76px;
    width: 288px;
  }
  .ttl-tree-2025 {
    width: 245px;
    margin-bottom: 50px;
  }
  .txt-tree {
    margin-top: 30px;
    font-size: 16px;
    text-align: center;
    line-height: 2;
  }
  .txt-tree-2025 {
    font-weight: 500;
    white-space: nowrap;
  }
  .txt-tree-2025-7 {
    margin-top: .5em!important;
    font-weight: bold;
  }
  .txt-tree + .txt-tree {margin-top: 3em;}
  .tree1, .tree-item {
    overflow: hidden;
    display: block;
    border-radius: 10px;
  }
  .tree1 img, .tree-item img {transition: transform .2s linear;}
  .tree1:hover img, .tree-item:hover img {
    transform: scale(1.05);
  }
  .tree-2025-7 {
    display: block;
    margin: 50px auto 0;
  }

  @media screen and (max-width: 819px) {
    .tree1, .tree-item {
      margin: 20px auto;
      max-width: 300px;
    }
    .txt-info-2025 {
      width: 100vw;
      margin-left: -10px;
    }
  }
  @media print,
  (min-width: 820px) {
    .msgtree {margin-top: 80px;}
    .txt-tree {
      font-size: 20px;
    }
    .tree1 {
      margin: 40px auto 0;
      width: 390px;
    }
    .tree-2025-7 {width: 390px;}
    .tree-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
      margin: 40px auto 0;
      max-width: 960px;
    }
    .tree-item {
      width: 31.91489%;
    }
  }
}


#animation_container {
	position:absolute;
	margin:auto;
	left:0;right:0;
	top:-2vw;/*bottom:0;*/
  z-index: 10;
}
#dom_overlay_container {
  visibility: hidden;
}
@media screen and (min-width: 1501px) {
  #animation_container,
  #canvas,
  #dom_overlay_container {
    width: 1800px !important;
    height: 941px !important;
  }
}

@media screen and (max-width: 1500px) {
  #animation_container,
  #canvas,
  #dom_overlay_container {
    width: 120vw !important;
    height: 62.667vw !important;
    max-height: 941px;
  }
}

/* main-title (mv)*/
@media all {
  .main-title {position: relative;}
  .main-title > img {position: absolute;display: block;}
  #mv-line, #mv-dots {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #mv1 {
    width: 56vw;
    max-width: 840px;
  }
  #mv2 {
    width: 56.667vw;
    max-width: 850px;
  }
  #mv3, #mv4 {
    width: 5.733vw;
    max-width: 86px;
    width: 8vw;
    max-width: 120px;
  }

  /* pc  *** min/max は、1.5倍 ( 7vw(70px)*1.5 = 105px )  viewport1500pxで固定化 */
  @media print,
  (min-width: 120px) {
    #mv1 {
      left: max(calc(50% - 420px), calc(50% - 28vw));
    }
    #mv1 {top: min(140px, 9.333vw);}
    #mv2 {
      top: min(310px, 20.667vw);
      left: max(calc(50% - 425px), calc(50% - 28.333vw));
    }
    #mv3, #mv4 {top: min(105px, 7vw);}
    #mv3 {
      left: max(calc(50% - 607px), calc(50% - 40.467vw)); /* 607px /15(00px) = 40.467vw */
    }
    #mv4 {
      right: max(calc(50% - 620px), calc(50% - 41.33vw));
    }
  }
}


/* template */
@media all {
  
  /* sp */
  @media only screen and (max-width: 819px) {
    
  }

  /* tab & pc */
  @media print,
  (min-width: 820px) {
    
  }
}


/* mv animation */
@media all {
  #mv1,#mv2,#mv3,#mv4 {
    opacity: 0;
    transform: scale(0);
    transition: opacity .5s linear, transform .5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }
  .animated #mv1,
  .animated #mv2,
  .animated #mv3,
  .animated #mv4 {
    opacity: 1;
    transform: scale(1);
  }
  #mv1 {transition-delay: .3s;}
  #mv2 {transition-delay: .6s;}
  #mv3 {transition-delay: .9s;}
  #mv4 {transition-delay: 1.2s;}

  #mv-line,#mv-dots {opacity: 0;}
  #mv-line {
    transform: translate(60px, -20px);
    transition: opacity .4s linear 1.6s, transform .4s linear 1.9s
  }
  .animated #mv-line {
    opacity: 1;
    transform: translate(0, 0);
  }
  #mv-dots {transition: opacity .4s linear 2.2s;}
  .animated #mv-dots {opacity: 1;}
}

.bosyu-aside {
  margin: 0 auto;
  max-width: 970px;
  padding: 0 20px;
}
.bosyu-aside a {
  display: block;
  background: center / cover url(../img/2026bnr-bg.jpg);
  transition: opacity .3s;
}
@media screen and (min-width: 820px) {
  .about {padding-top: 10px;}
  .bosyu-aside {margin-top: 140px;}
  .bosyu-aside a:hover {opacity: .7;}
}
@media screen and (max-width: 819px) {
  .about {padding-top: 80px;}
  .about h2 {margin-top: 0;}
  .bosyu-aside {margin-top: 80px;}
}


.artwork-list-item-ttl {
  margin-top: -60px;
  margin-bottom: 20px;
  text-align: center;
  height: 51px;
}
.prize-section.effort_award {padding-top: 150px;}
.effort_award .artwork-list {row-gap: 60px;}
.effort_award .badge {
  top: 36px;
  left: -22px;
}


/* lightcase */
a[class*='lightcase-icon-'] {text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3);}

/* html[data-lc-type=inline] #lightcase-content .lightcase-contentInner, html[data-lc-type=ajax] #lightcase-content .lightcase-contentInner, html[data-lc-type=error] #lightcase-content .lightcase-contentInner {
  height: auto!important;
}
#lightcase-case {
  width: 100%!important;
  height: 100%!important;
  margin: 0!important;
  top: 0;
  left: 0;
  pointer-events: none;
}
html[data-lc-type=inline] #lightcase-content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%!important;
  height: 100%!important;
}
.lightcase-contentInner {pointer-events: all;}
@media screen and (max-width: 640px) {
  html[data-lc-type=inline] #lightcase-content .lightcase-contentInner .lightcase-inlineWrap, html[data-lc-type=ajax] #lightcase-content .lightcase-contentInner .lightcase-inlineWrap, html[data-lc-type=error] #lightcase-content .lightcase-contentInner .lightcase-inlineWrap {
    max-height: 80dvh!important;
    padding-bottom: 20px!important;
  }
} */