@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&family=Cormorant+Garamond:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,500;6..96,700;6..96,900&text=0123456789-&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;700;900&display=swap');
@charset 'utf-8';
:root {
  --black: #000000;
  --white: #ffffff;
  --pk1:#eadef7;
  --pk2:#6a3e60;
  --red: #E60000;
  --width: 1440;
  --spwidth:768;
  --font-base: 'Bodoni Moda', 'Cormorant Garamond','Hina Mincho',serif;
  --font-gt: "Montserrat", "Noto Sans JP", sans-serif;
  --font-gt-en: "Montserrat", sans-serif;
  --max-width: 10000;
}
/*font-family: 'Hina Mincho', serif;
font-family: 'Bodoni Moda', serif;
font-family: 'Cormorant Garamond', serif;*/


*{margin: 0;box-sizing: border-box;}
body{line-height:1.6;background:var(--pk1);color:var(--black);font-size:clamp(0.1rem, calc(18 / var(--width) * 100vw), 20.5px);;font-family: var(--font-base);font-weight: 500;font-feature-settings : "palt";letter-spacing: 0.1em;}
img{width: 100%;}

ul,dt,ol{margin:0;padding: 0;list-style-type:none;}
section:not(.mainvisual){position:relative;max-width:1480px;margin:0 auto 2em;}

section.mainvisual{position: relative;aspect-ratio: 1280 / 720;padding: 1em;overflow: hidden;background: var(--pk2);}
section.mainvisual h1{
  position: absolute;
    z-index: 1;
    width: 38%;
    margin: 0 auto;
    top: 36.5%;
    left: 5.5%;}
section.mainvisual h2{
  position: absolute;
    z-index: 2;
    width: 39%;
    top: 30%;
    left: 5%}
section.mainvisual h3{position: absolute;z-index: 1;
    z-index: 1;
    width: 33%;
    left: 8%;
    top: 16%;}
section.mainvisual h4.date1{position: absolute;
    z-index: 1;
    width: 39%;
    margin: 0 auto;
    bottom: 35%;
    left: 5%;
    aspect-ratio: 300 / 19;
}
section.mainvisual h4.date2{position: absolute;
    z-index: 1;
    width: 22.3%;
    margin: 0 auto;
    bottom: 30%;
    left: 13%;
    aspect-ratio: 300 / 32;}
section.mainvisual h5{position: absolute;
    z-index: 1;
    width: 39%;
    margin: 0 auto;
    top: 73%;
    left: 5%;}
section.mainvisual h4 img{width: auto;}
section.mainvisual small{position: absolute;z-index: 1;bottom: 1.5em;color: var(--white);width: 100%;text-align:right;right: 1%;text-shadow: 0 0 0.25em #A95395, 0 0 0.25em #A95395, 0 0 0.25em #A95395, 0 0 0.25em #A95395;}
section.mainvisual figure{width: 100%;position: absolute;left: 0;top:0;z-index: 0;}


nav.menu{background: var(--pk2);}
nav.menu ul{display: flex;max-width:1480px;margin:0 auto;    border-bottom: 0.1em solid var(--pk2); border-top: 0.1em solid var(--pk2);}
nav.menu ul li{width: 18%;border-right: 0.1em solid var(--pk1);}
nav.menu ul li:first-child{width:10%;}
nav.menu ul li:first-child a{padding:0.5em;}
nav.menu ul li:first-child a svg{width: 37%;fill:var(--white);}
nav.menu ul li:first-child a:hover svg{fill:var(--pk2);}
nav.menu ul li a:not([href]) {cursor: default;pointer-events: none;opacity: 0.25;}
nav.menu ul li:last-child{border:none;}
nav.menu ul li a{display: block;padding: 1em;background: var(--pk2);color: var(--white);text-decoration: none;text-align: center;transition: .3s;font-weight: 900;}
nav.menu ul li a:hover{text-decoration: none;background: var(--pk1);color: var(--pk2);}
nav.menu.fixed {
width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
nav.menu ul li a.disabled {pointer-events: none;
  cursor: default;
  color: rgba(255, 255, 255, 0.3);
}


section.news{width: 90%;padding: 6em;}
section.news h2{color: var(--pk2);margin-bottom: 1em;}
section.news table{width: 100%;}
section.news table tr{border-bottom: var(--pk2) solid 0.05em;display: flex;align-items: center;}
section.news table th{width: 15%;padding: 0.5em 0.5em 0.5em 0;text-align: left;}
section.news table td{width: 85%;padding: 0.5em;}


section.outline{ background: #fff;width: 90%; border-radius: 1.5em;padding:4em;}
section.outline h2{background: var(--pk2); color: #fff; padding: 0.5em 1em; border-radius: 0.5em;margin-bottom: 1em;}
section.outline h3{font-size: 1.8em;color: var(--pk2);display: flex;align-items: center;white-space: nowrap;margin-bottom: 1em;}
section.outline h3:after{border-bottom: 0.03em solid var(--pk2);content: "";display: block;width: 100%;height: 0;    margin-left: 0.5em;}

section.outline ol{display: flex;gap:1.5%;margin: 1em 0 4em;}
section.outline ol li{width: 32.3%;box-shadow:0 0 0.5em #00000020;border-radius: 1em;font-size: 1.6em;overflow: hidden;}
section.outline ol li div{padding: 0.5em;text-align: center;font-family: var(--font-gt);font-weight: 600;color: var(--white);}
section.outline ol li span{padding: 0.5em;display: block;text-align: center;font-weight: 800;}
section.outline ol li span strong{font-weight: 900;font-size: 2em;font-family: var(--font-gt);}
section.outline ol li.gold div{background: linear-gradient(135deg,  #f3e2c7 0%,#c19e67 50%,#b68d4c 51%,#e9d4b3 100%);}
section.outline ol li.silver div{background: linear-gradient(135deg,  #4c4c4c 0%,#595959 12%,#666666 25%,#474747 39%,#2c2c2c 50%,#000000 51%,#111111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);}
section.outline ol li.encouragement div{background: linear-gradient(135deg,  #f85032 0%,#f16f5c 50%,#f6290c 51%,#f02f17 71%,#e73827 100%)}
section.outline ol li.special div{background: linear-gradient(135deg,  #fceabb 0%,#fccd4d 50%,#f8b500 51%,#fbdf93 100%)}
section.outline .sep{display: flex;margin-bottom: 2em;}
section.outline .outlinedetail.sep div{width: 50%;}
section.outline .outlinedetail.sep div ul{display: flex;gap: 1.5%;}
section.outline .outlinedetail.sep div ul li{width: 32.3%;}
section.outline .outlinedetail.sep p{width: 50%;padding-right: 2em;}
section.outline .point .sep{align-items: center;}
section.outline .point .sep > div{padding-left: 2em;}
section.outline .point .sep > div p.main_txt{font-size: 2.2em;font-family: var(--font-gt);    font-weight: 900;}
section.outline .point .sep > div strong{font-size: 1.4em;font-family: var(--font-gt);}

section.outline .point .sep > h4{background: var(--pk2);align-items:center;border-radius: 100%;width: 7em; height: 7em; display: flex; align-items: center; justify-content: center;color: var(--white);flex-wrap: wrap;position: relative;}
section.outline .point .sep > h4 span{width: 100%;text-align: center;position: absolute;top: 0.8em;}
section.outline .point .sep > h4 b{width: 100%;text-align: center;position: absolute;top: 0.25em;font-size: 4em;}

section.award{ background: #fff;width: 90%; border-radius: 1.5em;padding:4em;}
section.award h2{background: var(--pk2); color: #fff; padding: 0.5em 1em; border-radius: 0.5em;margin-bottom: 1em;}
section.award h3{font-size: 1.8em;color: var(--pk2);display: flex;align-items: center;white-space: nowrap;margin: 1em 0 0.2em;}
section.award h3:after{border-bottom: 0.03em solid var(--pk2);content: "";display: block;width: 100%;height: 0;    margin-left: 0.5em;}
section.award .award_content ul{
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}
section.award .award_content ul li{
  width: 49%;
  padding-bottom: 1.8em;
  border-radius: 1em;
  overflow: hidden;
  box-shadow: 0 0 0.5em #00000020;
}
/* section.award .award_rank{
  display: none;
} */
section.award .award_rank span{
  display: block;
  margin-bottom: 1em;
  font-size: 1.6em;
  color: #fff;
  font-family: var(--font-gt);
  text-align: center;
  padding: 0.5em;
  font-weight: 600;
}
section.award .award_rank .award_taisyou{
  background: linear-gradient(135deg, #f85032 0%, #f16f5c 50%, #f6290c 51%, #f02f17 71%, #e73827 100%);
}
section.award .award_rank .award_kinnsyou{
  background: linear-gradient(135deg, #f3e2c7 0%, #c19e67 50%, #b68d4c 51%, #e9d4b3 100%);
}
section.award .award_rank .award_ginnsyou{
  background: linear-gradient(135deg, #4c4c4c 0%, #595959 12%, #666666 25%, #474747 39%, #2c2c2c 50%, #000000 51%, #111111 60%, #2b2b2b 76%, #1c1c1c 91%, #131313 100%);
}
section.award .award_rank .award_syoureisyou{
  background: linear-gradient(135deg, #fceabb 0%, #fccd4d 50%, #f8b500 51%, #fbdf93 100%);
}
section.award .award_rank .award_jusyou{
  background: var(--pk2);
}
section.award .award_content ul li dl{
  width: 90%;
  margin: 0 auto;
}
section.award .title{
  margin-bottom: 1.2em;
}
section.award .title dt{
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
section.award .title dt a{
  font-family: var(--font-gt);
  font-weight: bold;
  color: var(--pk2)
}
section.award .title .auth{
  margin-right: 1em;
  padding: 0.3em 0.5em;
  font-size: 0.8em;
  color: #fff;
  background: var(--pk2);
}
section.award .review{
  background: #F7F7F7;
}
section.award .review dt{
  background: #eee;
  padding: 0.5em;
  margin-top: 1.8em;
}
section.award .review dd{
  padding: 4%;
  margin: 0 auto;
  word-break: break-all;
  text-align: justify;
}


section.about{ background: #fff;width: 90%; border-radius: 1.5em;padding: 4em;}
section.about h2{background: var(--pk2); color: #fff; padding: 0.5em 1em; border-radius: 0.5em;margin-bottom: 1em;}
section.about h3{font-size: 1.8em;color: var(--pk2);display: flex;align-items: center;white-space: nowrap;margin-bottom: 1em;}
section.about h3:after{border-bottom: 0.03em solid var(--pk2);content: "";display: block;width: 100%;height: 0;    margin-left: 0.5em;}
section.about p.bt{font-size: 1.4em;font-family: var(--font-gt);font-weight: 800;}
section.about p span a{color: var(--pk2);}
section.about .atts{margin-bottom: 1em;font-size: 0.8em;}
section.about h5{background: #eee;padding: 0.5em 1em;margin: 1em 0;font-size: 1em;}
section.about ol.lst{list-style-type: disc;margin-left: 1.5em;}
.nomark{
  list-style-type: none;
  margin-left: -1.2em;
}

section.qa{ background: #fff;width: 90%; border-radius: 1.5em;padding: 4em;}
section.qa h2{background: var(--pk2); color: #fff; padding: 0.5em 1em; border-radius: 0.5em;margin-bottom: 1em;}
section.qa h3{font-size: 1.8em;color: var(--pk2);display: flex;align-items: center;white-space: nowrap;margin: 1em 0;}
section.qa .note{margin-top: 1em;}
section.qa .note p{margin-top: 1em;}

.qa__box {width: 100%;margin: 0 auto;position: relative;z-index: 1;border-bottom: 0.1em dotted var(--pk2);}

.qa__box > dl > dt {display: flex;align-items: center;padding:1em 3em 1em 1em;position: relative;transition: 0.3s;}
.qa__box > dl > dt:hover{cursor: pointer;background: var(--pk2);color:var(--white)}
.qa__box > dl > dt:hover .crossBar::before {background-color:var(--pk1);}
.qa__box > dl > dt:hover .crossBar::after {background-color:var(--pk1);}
.qa__box > dl > dt .crossBar {width: 1em;height: 1em;position: absolute;top: 50%;right: 1em;transform: translateY(-50%);}
.qa__box > dl > dt .crossBar::before {content: "";display: inline-block;width: 1.6px;height: 100%;background-color:var(--pk2);position: absolute;top: 0;left: 50%;transform-origin: center center; transform: translateX(-50%) rotate(0deg);transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);}
.qa__box > dl > dt .crossBar::after {content: "";display: inline-block;width: 100%;height: 1.6px;background-color:var(--pk2);position: absolute;top: 50%;left: 0;transform: translateY(-50%);}
.qa__box > dl > dt > span {    top: -0.1em;position: relative;font-size: 2em;line-height: 1.75;font-weight: 700;font-style: normal;margin-right: 0.5em;}
.qa__box > dl > dd {opacity:0;margin: 0;display: flex;align-items: flex-start;padding:0 0 0 3em;max-height: 0;overflow: hidden;transition: all 0.8s cubic-bezier(0.19, 1, 0.22, 1);} 
.qa__box > dl > dd > span {font-size: 2em;line-height: 1.7;font-weight: 700;font-style: normal;margin-right: 0.5em;color:var(--pk2)}
.qa__box > dl > dd a{text-decoration: underline;color:#fff}
.qa__box > dl > dd a:hover{text-decoration: none;}
.qa__box > dl > dd.is-open {max-height: fit-content;padding:1em 0em 1em 3em;opacity:1;align-items: center;}
.qa__box > dl > dt.is-open .crossBar::before {transform: translateX(-50%) rotate(90deg);}


section.comicalize{ background: none;width: 90%; border-radius: 1.5em;padding: 0;}
section.comicalize h2{background: var(--pk2); color: #fff; padding: 0.5em 1em; border-radius: 0.5em;margin-bottom: 1em;}
section.comicalize ul{margin:0 auto ;list-style-type: none;display:flex;/*flex-wrap: wrap;gap:2%;justify-content: center;*/}
section.comicalize ul li{width: 32%;margin-bottom: 1em;}
section.comicalize ul li figcaption{padding-top: 0.5em;}
.comicalize-slider{width: 85%;margin: 0 auto;}
.comicalize-slider .swiper-wrapper {
	padding-bottom: 2em;
}
.comicalize-slider .swiper-slide {
	width: auto;
	flex-shrink: 0;
}
.comicalize-slider figure {
	text-align: center;
}
.comicalize-slider img {
	width: 100%;
	border-radius: 0.5em;
}

/* 左矢印 */
.swiper-button-prev { background: url(../img/arr.svg) no-repeat center center; left: 0;width: 8em;height:2em;transition: .3s;}
.swiper-button-prev:hover{left: -1em;}
/* 右矢印 */
.swiper-button-next {background: url(../img/arr.svg) no-repeat center center;right: 0;width: 8em;height:2em;transform: rotate(180deg);transition: .3s;}
.swiper-button-next:hover{right: -1em;}

.swiper-button-prev::after,
.swiper-button-next::after {display: none;}
.swiper-pagination-bullet{background:var(--pk2);}

.link {
    width: 75%;
    background-color: var(--pk2);
    border-radius:1.5em;
    margin: 2em auto 0;}

.link a {
    color: white;
    font-size: 1.4em;
    text-align: center;
    display: block;
    width: 100%;
    padding: 0.3em 0;
    text-decoration: none;
}
.link a:hover{opacity: 0.7;}

.pc{display: block;}
.sp{display: none;}


footer{padding: 2em;text-align: center;}


@media (max-width: 768px) {
*{white-space:unset!important;}
body{line-height:1.6;color:var(--black);font-size:calc(26/ var(--spwidth) * 100vw);}
  .pc{display:none;}
  .sp{display:block;}

section.mainvisual{aspect-ratio: 1280 / 2000;}
section.mainvisual h1{width: 90%;
        top: 72%;
        left: 50%;
        transform: translate(-50%);}

section.mainvisual h2{width: 85%;
        top: 2%;
        left: 50%;
        transform: translate(-50%);
}
section.mainvisual h3{width: 73%;
        top: 62%;
        left: 50%;
        transform: translate(-50%);
    }
section.mainvisual h4.date1{width: 75%;
        left: 0;
        right: 0;
        margin: auto;
        bottom: 17%;}
section.mainvisual h4.date2{width: 44%;
        left: 0;
        right: 0;
        margin: auto;
        bottom: 13%;}
section.mainvisual h5{width: 66%;
        left: 4%;
        top: 88%;
        left: 50%;
        transform: translate(-50%)}
section.mainvisual small{font-size: 0.5em;position: absolute;left: 0;  width: 90%; right: 0;  margin: auto;color:white;text-shadow: none;bottom:1%;text-align: center;font-weight: bold;text-shadow: 0 0 0.25em #A95395;}

nav.menu ul {    align-items: stretch;}
nav.menu ul li:first-child{display: none;}
nav.menu ul li{width: 20%;}
nav.menu ul li a{padding:1em 0.5em;align-items: center;display: flex;height: 100%; align-items: center;    justify-content: center;}

section.news{padding: 2em 0;}
section.news table tr,section.news table th,section.news table td{display: block;width: 100%;}
section.news table td{padding: 0;}

section.outline{padding: 1.5em;width: ;}
section.outline h3{font-size:1.7em;}
section.outline .point .sep > h4{margin-bottom: 1.5em;}
section.outline h3:after{display: none;}
section.outline .sep{flex-direction: column;}
section.outline .outlinedetail.sep p{width: 100%;padding-right: 0;padding-bottom: 2em;}
section.outline .outlinedetail.sep div{width: 100%;}
section.outline .point .sep > div{padding-left: 0;}
section.outline ol{flex-wrap: wrap;justify-content: space-between;}
section.outline ol li{width: 48%;margin-bottom: 0.5em;}
section.outline ol li span strong{    display: block;line-height: 1;}
section.outline ol li span small{font-size: 50%;}

section.award{padding: 1.5em;}
section.award h3{font-size:1.7em;}
section.award h3:after{display: none;}
section.award .award_content ul li {
  width: 100%;
  border-radius: 0.5em;
}

section.about{padding: 1.5em;}
section.about h3{font-size:1.7em;}
section.about h3:after{display: none;}

section.qa{padding: 1.5em;}
section.qa h3{font-size:1.6em;}
.qa__box > dl > dd.is-open{padding: 1em 0em 1em 1em;}

.swiper-button-prev,
.swiper-button-next
{width: 4em;    height: 1em;}
.link {
    width: 85%;
    background-color: var(--pk2);
    border-radius:1.5em;
    margin: 2em auto 0;}
}