@charset "UTF-8";
:root {
  --white: #fff;
  --black: #000;
  --gray-d: #333;
	--base: #f6f6f6;
  --base2: #fff7f0;
  --base3: #ffefe2;
  --base-gr: ;
	--key01: #e63322;
	--accent: #efd82e;
  --accent02: #067d87;

  --gray: #555;
  --pink: #ed7aa1;
  --purple: #9e67db;

  --headline: #d73a6d;

  --action-01: #c50056;
  --action-02: #d49100;
  --action-03: #327a08;
  --action-04: #0096a0;
  --action-02-txt: #c55d00;
  --action-04-txt: #03666f;
  --action-bd-01: #e290b4;
  --action-bd-02: #e0b65b;
  --action-bd-03: #7ebd5a;
  --action-bd-04: #8ed9df;
  
  --icon-shiritaka: #ea5128;
  --icon-wish-plus: #56C739;
  --icon-asadesu-kbc: #ed7aa1;
  --icon-toiro: #9e67db;
  --icon-gyutto: #0096a0;
  --icon-jimotimes: #e60012;

  --font-normal: clamp(1.3rem, 0.5rem + 2.3vw, 1.6rem);
  --font-small: clamp(1.1rem, 0.3rem + 2.5vw, 1.4rem);
  --font-xsmall: clamp(0.9rem, 0.2rem + 2.2vw, 1.2rem);
  --font-xsmall_split: clamp(1rem, 0.6rem + 0.3vw, 1.2rem);
  --font-large: clamp(1.5rem, 0.5rem + 3vw, 1.8rem);
  --font-h2: clamp(2.4rem, 0.5rem + 4.5vw, 3.6rem);
  --font-h2_split: min(2rem + 1vw, 3.6rem);
  --font-h3: clamp(2.2rem, 0.5rem + 4vw, 3rem);
  --font-h4: clamp(2rem, 0.5rem + 3.5vw, 2.4rem);
}

/*上書き・打消し
---------------------------------------------------------- */
body {
  background-color: var(--base);
}
header {
  min-width: initial;
}
.header_simple {
  position: relative;
  z-index: 10;  
  background-color: var(--accent02);
}
footer {
  min-width: initial;
}

img {
  height: auto;
}
a {
  color: inherit;
  text-decoration: none;
}

@media screen and (min-width: 1080px) {
  img {
    width: auto;
  }
}

/* 共通
----------------------------------------*/
.o-wrapper {
  width: min(100%, 600px);
  margin-inline: auto;
  padding: min(40px, 10vw) min(30px, 3vw);
}

.u-txt-l {
  font-size: var(--font-large);
}
.u-txt-s {
  font-size: var(--font-small);
}
.u-txt-b {
  font-weight: 900;
}

.c-headline-lv2 {
  margin-bottom: 1em;
  font-size: var(--font-h2);
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  color: var(--key01);  
}
.c-headline-lv3 {
  margin-bottom: 1em;
  font-size: var(--font-h3);
  font-weight: 900;
  line-height: 1.5;
  color: var(--key01);
  text-align: center;
}
.c-headline-lv4 {
  margin-bottom: 0.5em;
  font-size: var(--font-h4);
  font-weight: 900;
  text-align: center;
}
.c-youtube-embed {
  position: relative;
  aspect-ratio: 16 / 9;
  margin-bottom: 0.6em;
}
.c-youtube-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.c-indent {
  padding-left: 1em;
  text-indent: -1em;
}
.c-inlineblock {
  display: inline-block;
  margin-inline: auto;
}
.c-color-white {
  color: var(--white) !important;
}
.c-color-black {
  color: var(--black) !important;
}
.c-color-red {
  color: var(--red) !important;
}
.c-color-pink {
  color: var(--pink) !important;
}
.c-bg-white {
  background-color: var(--white) !important;
}
.c-bg-gray {
  background-color: var(--base) !important;
}
.c-bg-arc-bottom,
.c-bg-arc-top {
  position: relative;
  margin-block: max(18vw, 80px);
  z-index: 1;
}
.c-bg-arc-bottom::after,
.c-bg-arc-top::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  aspect-ratio: 85 / 8;
  background-color: var(--white);
  mask-image: url("../img/bg-arc.svg");
  mask-repeat: no-repeat;
  mask-position: center bottom;
  mask-size: contain;
  z-index: -1;
}
.c-bg-arc-bottom::after {
  bottom: max(-9vw, -74px);
}
.c-bg-arc-top::before {
  top: max(-9vw, -74px);
  transform: rotate(180deg);
}

.c-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.c-link-img {
  box-shadow: 2px 2px 10px -2px #a1a1a1;
}
.c-nobreak {
  display: inline-block;
}
@media only screen and (min-width: 1080px) and (max-width: 1210px) and (orientation: landscape) {
  .c-headline-lv2 {
    font-size: var(--font-h2_split);
  }
}
@media only screen and (min-width: 1080px) and (orientation: landscape) {
  .c-bg-arc-bottom,
  .c-bg-arc-top {
    margin-block: 6vw;
  }
  .c-bg-arc-bottom::after {
    bottom: -3.7vw;
  }
  .c-bg-arc-top::before {
    top: -3.7vw;
    transform: rotate(180deg);
  }
  .c-link {
    transition: opacity 0.3s cubic-bezier(0.19, 0.64, 0.4, 0.89);
  }
  .c-link-img {
    transform: translate(0, 0);
    transition: all 0.3s cubic-bezier(0.19, 0.64, 0.4, 0.89);
  }
  .c-link-img:hover {
    box-shadow: 1px 1px 8px -4px #a1a1a1;
    transform: translate(1px, 1px);
  }
}


/* split
----------------------------------------*/
.contents-wrap {
  width: min(800px, 100%);
  overflow-x: clip;
  margin-inline: auto;
  font-size: var(--font-normal);
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: var(--gray-d);
}
@media only screen and (min-width: 1080px) and (orientation: landscape) {
	.contents-wrap {
    width: 100%;
		display: flex;
		align-items: flex-start;
		position: sticky;
	}
	.split-kv {
		order: 1;
		position: sticky;
		top: 0;
		left: 0;
		width: 45%;
    padding-inline: 15px;
	}
	.kv-item {
    width: 100%;
		height: 100vh;
    & img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  }
	.split-contents {
		order: 2;
		width: 40%;
		height: auto;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	}
	.split-nav {
		order: 3;
		position: sticky;
		top: 0;
		right: 0;
		width: min(15%, 300px);
	}
  .split-none {
    display: none;
  }
}
/* contents-block
----------------------------------------*/
.contents-block {
  width: 100%;
  margin-inline: auto;
}

/* ナビゲーション
----------------------------------------*/
.nav-block {
  padding: 3vw;
}
.nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 0.6em;
  & li {
    width: calc(100%/3 - 0.5em);
    font-size: var(--font-small);
    font-weight: 700;
    & a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      height: 100%;
      padding: 0.5em;
      background-color: var(--accent02);
      border-radius: 1em;
      color: var(--white);
      text-decoration: none;
      text-align: center;
      line-height: 1.2;
    }
  }
}
@media screen and (min-width: 648px) {
  .nav-links li {
    width: 18%;
  }
}
@media screen and (min-width: 1080px) and (orientation: landscape) {
  .nav-block {
    height: 100%;
    padding: 1.5em 1em;
  }
  .nav-links {
    display: block;
    & li {
      width: 100%;
      font-size: var(--font-normal);
      text-align: left;
      & a {
        display: block;
        background-color: transparent;
        padding: 0.5em 0;
        border-radius: 0;
        color: var(--accent02);
        transition: all 0.3s cubic-bezier(0.19, 0.64, 0.4, 0.89);
        text-align: left;
        &:hover {
          color: var(--key01);
        }
      }
    }
  }  
}

/* 下層ページ１カラムのヘッダ表示
----------------------------------------*/
@media screen and (max-width: 1079px) {
  .contents-wrap:not(.top) .kv-block .kv-item img {
    position: relative;
    width: 100%;
    aspect-ratio: 5 / 3;
		object-fit: cover;
		object-position: 0 0;
  }
  .contents-wrap:not(.top) .kv-block + .nav-block {
    margin-top: -90px;
  }
}

/*lead
---------------------------------------------------------- */
.lead-block {
  position: relative;
  z-index: 5;
}
.lead-txt p {
  padding-bottom: 1.5em;
  line-height: 1.8;
}
.lead-block .c-youtube-embed {
  max-width: 700px;
  margin-inline: auto;
  box-shadow: 3px 3px 8px 0 rgba(0, 0, 0, 0.1);
}

/*action
---------------------------------------------------------- */
.action-txt p {
  padding-bottom: 1.5em;
  line-height: 1.8;
}
.action-txt .u-txt-b.u-txt-l {
  color: var(--accent02);
}
@media screen and (min-width: 769px) {
  .action-txt {
    text-align: center;
  }
}
/*action01 十人十色
---------------------------------------------------------- */
.action01 {
  padding: min(30px, 5vw) min(20px, 3vw);
  background: url("../img/action01-bg.webp") repeat-y center center;
  background-size: cover;
}
.action01-inner {
  width: min(100%, 600px);
  margin-inline: auto;
  padding: min(26px, 4vw) min(26px, 2.5vw);
  background-color: var(--white);
}
.action01 h3 {
  width: 70%;
  max-width: 420px;
  height: auto;
  margin-inline: auto;
}
.action01-items__item {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.5em;
  padding: 1.5em 1em 1em;
  border-radius: 2em;
}
.action01-items__item .comingsoon {
  padding-block: 4px;
  background: var(--white);
  text-align: center;
}
.action01-items__headline {
  margin-bottom: 0.5em;
  padding-bottom: 0.8em;
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 10px 4px;
}
.action01-items__headline h4 {
  width: 16.5em;
  margin: 0 auto 0.5em -1.25em;
  padding: 0.2em 0 0.2em 1.25em;
  border-radius: 0 1em 1em 0;
  letter-spacing: -0.02em;
  font-weight: 500;
  color: var(--white);
}
.action01-items__headline h5 {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.2;
}
.action01-items__headline h5 .u-txt-s {
  display: block;
  font-size: 0.6em;
}
.item-01 .action01-items__headline {
  background-image: radial-gradient(circle, var(--action-bd-01) 2px, transparent 2px);
}
.item-02 .action01-items__headline {
  background-image: radial-gradient(circle, var(--action-bd-02) 2px, transparent 2px);
}
.item-03 .action01-items__headline {
  background-image: radial-gradient(circle, var(--action-bd-03) 2px, transparent 2px);
}
.item-04 .action01-items__headline {
  background-image: radial-gradient(circle, var(--action-bd-04) 2px, transparent 2px);
}
.item-01 .action01-items__headline h4 {
  background-color: var(--action-01);
}
.item-02 .action01-items__headline h4 {
  background-color: var(--action-02-txt);
}
.item-03 .action01-items__headline h4 {
  background-color: var(--action-03);
}
.item-04 .action01-items__headline h4 {
  background-color: var(--action-04-txt);
}
.item-01 .action01-items__headline h5 {
  color: var(--action-01);
}
.item-02 .action01-items__headline h5 {
  color: var(--action-02-txt);
}
.item-03 .action01-items__headline h5 {
  color: var(--action-03);
}
.item-04 .action01-items__headline h5 {
  color: var(--action-04-txt);
}
.item-01 {
  background: linear-gradient(45deg, rgba(243,197,218,0.8) 0%, rgba(255,255,255,0.4) 30%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 70%, rgba(243,197,218,0.8) 100%),linear-gradient(135deg, rgba(243,197,218,0.8) 0%, rgba(255,255,255,0.4) 30%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 70%, rgba(243,197,218,0.8) 100%);
}
.item-02 {
  background: linear-gradient(45deg, rgba(252,240,173,1) 0%, rgba(255,255,255,0.4) 30%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 70%, rgba(252,240,173,1) 100%),linear-gradient(135deg, rgba(252,240,173,1) 0%, rgba(255,255,255,0.4) 30%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 70%, rgba(252,240,173,1) 100%);
}
.item-03 {
  background: linear-gradient(45deg, rgba(228,250,215,1) 0%, rgba(255,255,255,0.4) 30%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 70%, rgba(228,250,215,1) 100%),linear-gradient(135deg, rgba(228,250,215,1) 0%, rgba(255,255,255,0.4) 30%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 70%, rgba(228,250,215,1) 100%);
}
.item-04 {
  background: linear-gradient(45deg, rgba(172,245,252,0.8) 0%, rgba(255,255,255,0.4) 30%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 70%, rgba(172,245,252,0.8) 100%),linear-gradient(135deg, rgba(172,245,252,0.8) 0%, rgba(255,255,255,0.4) 30%, rgba(255,255,255,0) 50%, rgba(255,255,255,0.4) 70%, rgba(172,245,252,0.8) 100%);
}
.txt-spacing-ng005 {
  letter-spacing: -0.05em;
}
@media screen and (min-width: 769px) {
  .action01-lead {
    text-align: center;
  }
}
/*action02 ラジオ特番
---------------------------------------------------------- */
.action02 {
  margin-top: min(6vw, 60px);
}
.action02-items__item {
  padding: 0 3vw;
}
.action02-items__ttl {
  margin-top: 1.5em;
  font-size: 1.2em;
  font-weight: 900;
  color: var(--accent02);
}
.action02-items__txt dd.txt-s {
  font-size: 0.85em;
}
.action02-items__info {
  margin: 0.5em 0 1em;
  color: var(--action-04);
}
.action02-items__info .c-indent {
  padding-left: 4em;
  text-indent: -4em;
  color: var(--gray);
}
.action02-items__pic img {
  border: 1px solid var(--gray);
}
.contents-block {
  container-type: inline-size;
}
/*gallery
---------------------------------------------------------- */
.gallery-brock {
  background-color: var(--base2);
  background-image: linear-gradient(0deg, var(--base3), var(--base2));
}
.gallery-brock.c-bg-arc-top::before {
  background-color: var(--base2);
}
.gallery-brock.c-bg-arc-bottom::after {
  background-color: var(--base3);
}
.gallery-item-main {
  max-width: 302px;
  margin-inline: auto;
  padding: 2em 0;
  text-align: center;
}
.gallery-item-main figcaption {
  margin-bottom: 0.5em;
}
.gallery-item-main img {
  border: 1px solid var(--gray);
}
.gallery-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.8em;
}
.gallery-list li {
  width: calc(25% - 0.8em);
  border: 1px solid var(--gray);
}

/*glossary
---------------------------------------------------------- */
.glossary-block .o-wrapper {
  max-width: 700px;
  padding-bottom: 5em;
}
.glossary-term {
  font-weight: 700;
}
.glossary-term::before {
  content:"● ";
  color: var(--purple);
}
.glossary-comment {
  padding: 0.5em 0 1.3em 1em;
  font-size: 0.9em;
}

/*sponsor
---------------------------------------------------------- */
.sponsor-block {
  margin-top: min(6vw, 60px);
}
.sponsor-list {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  width: min(80%, 480px);
  margin-inline: auto;
  & li {
    width: calc(50% - 0.5em);
  }
}

@media screen and (min-width: 1080px) and (orientation: landscape) {
  .sponsor-block {
    margin-top: 9vw;
  }
}

/*dandi-banner
---------------------------------------------------------- */
.dandi-banner {
  width: min(80%, 480px);
  margin-inline: auto;
  margin-top: min(13vw, 60px);
  padding-top: min(13vw, 60px);
  border-top: 2px solid #c3c3c3;
  text-align: center;
}


/*archives
---------------------------------------------------------- */
.archives-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 4%;
}
.archives-item {
  width: 48%;
}
.archives-item a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 2%;
  background: var(--white);
  box-shadow: 2px 2px 10px -2px #a1a1a1;
  text-decoration: none;
}
.archives-item-inner {
  position: relative;
  width: 100%;
  height: 100%;
  padding-bottom: 1.3em;
}
.archives-item h4 {
  padding: 0.4em 0;
  line-height: 1.2;
  font-size: var(--font-small);
  font-weight: 500;
}
.archives-item p {
  position: absolute;
  bottom: 0;
  display: flex;
  justify-content: space-between;
  width: 100%;
  font-size: var(--font-xsmall);
  color: var(--gray);
}
.icon {
  padding: 0 0.5em;
  border-radius: 0.5em;
  background-color: var(--gray);
  color: var(--white);
}
.icon-shiritaka {
  background-color: var(--icon-shiritaka);
}
.icon-gyutto {
  background-color: var(--icon-gyutto);
}
.icon-wish-plus {
  background-color: var(--icon-wish-plus);
}
.icon-asadesu-kbc {
  background-color: var(--icon-asadesu-kbc);
}
.icon-toiro {
  background-color: var(--icon-toiro);
}
.icon-jimotimes {
  background-color: var(--icon-jimotimes);
}
@media screen and (min-width: 768px) {
  .archives-item a {
    padding: 10px;
    transform: translate(0, 0);
    transition: all 0.3s cubic-bezier(0.19, 0.64, 0.4, 0.89);
  }
  .archives-item a:hover {
    box-shadow: 1px 1px 8px -4px #a1a1a1;
    transform: translate(1px, 1px);
  }
}
@media only screen and (min-width: 1080px) and (orientation: landscape) {
  .archives-item p {
    position: absolute;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: var(--font-xsmall_split);
    color: var(--gray);
  }
}

/*modal
---------------------------------------------------------- */
.modaal-iframe .modaal-container {
  width: 80vw;
  height: 70vh;
}
.modaal-image .modaal-inner-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  padding: 80px 25px;
  overflow-y: hidden;
}
@media screen and (max-width: 768px) {
  .modaal-gallery-control {
    bottom: -60px;
  }
}
@media screen and (max-width: 769px) and (max-width: 1140px) {

}
@media screen and (min-width: 769px) {
  .modaal-iframe .modaal-container {
    max-width: 800px;
    height: 80vh;
  }
  .modaal-image .modaal-container {
    width: 57vh !important;
    height: 80vh !important;
    background: transparent;
  }
  .modaal-image .modaal-gallery-item img {
    width: 57vh !important;
    height: 80vh !important;
  }
}
/*archive **modalの中身**
---------------------------------------------------------- */
body.archive {
  min-width: initial;
  font-size: 1.8rem;  
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.archive-container {
  padding: 3%;
}
.archive-container .icon {
  display: inline-block;
  margin-right: 0.5em;
}
.archive-txt {
  font-size: 1.4rem;
}
.archive-pht {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 4%;
}
.archive-pht li {
  width: 48%;
}
@media screen and (min-width: 769px) {
  .archive-container {
    padding: 1em;
  }
  .archive-txt {
    font-size: 1.6rem;
  }
}
