@charset "UTF-8";
body {
  background-image: url("../img/bg.jpg");
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  color: #fff;
  margin: 0;
  padding: 0;
}
@media (max-width: 950px) {
  body {
    background: none;
    position: relative;
  }
  body::before {
    content: "";
    width: 100%;
    height: 100vh;
    height: 100lvh;
    background: url(../img/bg_sp.jpg) center/cover no-repeat;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
  }
}

html {
  scroll-behavior: smooth;
}

/**--------------------
	main reset
---------------------*/
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1;
  overflow: hidden;
}
.main * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.main h1, .main h2, .main h3, .main h4, .main h5, .main p, .main dt, .main dd, .main li, .main th, .main td, .main address, .main strong, .main em, .main table, .main dl, .main ul, .main ol, .main img,
.main article, .main aside, .main canvas, .main details, .main figcaption, .main figure, .main footer, .main header, .main hgroup, .main menu, .main nav, .main section, .main summary {
  padding: 0;
  margin: 0;
  background: transparent;
}
.main h1, .main h2, .main h3, .main h4, .main h5, .main p, .main dt, .main dd, .main li, .main th, .main td, .main a, .main address, .main strong, .main em, .main form, .main input, .main textarea, .main select, .main submit,
.main article, .main aside, .main canvas, .main details, .main figcaption, .main figure, .main footer, .main header, .main hgroup, .main menu, .main nav, .main section, .main summary {
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
}
.main img {
  max-width: 100%;
  height: auto;
}
.main a {
  text-decoration: none;
}

/**--------------------
	  KV
  ---------------------*/
#kv {
  position: relative;
  width: 100%;
}
#kv .kv_inner {
  width: 100%;
  max-width: 1140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 950px) {
  #kv .kv_inner {
    padding-left: min(18px, 2.1176470588vw);
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: min(10px, 1.1764705882vw);
  }
}
#kv .kv_inner .kv_left {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#kv .kv_inner .kv_left .inner {
  position: relative;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner {
    width: min(457px, 53.7647058824vw);
    height: unset;
    padding-top: min(18px, 2.1176470588vw);
  }
}
#kv .kv_inner .kv_left .inner .logo {
  width: min(170px, 14.9122807018vw);
  position: absolute;
  top: 0;
  left: min(15px, 1.3157894737vw);
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .logo {
    width: min(217px, 25.5294117647vw);
    top: min(20px, 2.3529411765vw);
    left: 0;
  }
}
#kv .kv_inner .kv_left .inner .logo img {
  width: 100%;
}
#kv .kv_inner .kv_left .inner .kv_char_bg {
  display: block;
  width: min(601px, 52.7192982456vw);
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char_bg {
    width: min(459px, 54vw);
    height: auto;
  }
}
#kv .kv_inner .kv_left .inner .kv_char {
  width: min(367.5px, 32.2368421053vw);
  position: absolute;
  right: min(46px, 4.0350877193vw);
  bottom: 0;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char {
    width: min(331px, 38.9411764706vw);
    right: min(60px, 7.0588235294vw);
    bottom: 0;
  }
}
#kv .kv_inner .kv_left .inner .kv_char_name {
  width: min(266.95px, 23.4166666667vw);
  height: min(184.54px, 16.1877192982vw);
  background: url(../img/mc.png) center/100% auto no-repeat;
  color: #525484;
  position: absolute;
  left: min(113px, 9.9122807018vw);
  bottom: min(71px, 6.2280701754vw);
  -webkit-transform: rotate(-2.5deg);
          transform: rotate(-2.5deg);
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char_name {
    width: min(219px, 25.7647058824vw);
    height: min(148px, 17.4117647059vw);
    left: min(55px, 6.4705882353vw);
    bottom: min(33px, 3.8823529412vw);
  }
}
#kv .kv_inner .kv_left .inner .kv_char_name .name_txt {
  padding: min(53px, 4.649122807vw) min(21px, 1.8421052632vw) 0 min(32px, 2.8070175439vw);
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char_name .name_txt {
    padding: min(39px, 4.5882352941vw) min(14px, 1.6470588235vw) 0 min(26px, 3.0588235294vw);
  }
}
#kv .kv_inner .kv_left .inner .kv_char_name .name_txt .postion {
  display: block;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
  font-size: min(18px, 1.5789473684vw);
  white-space: nowrap;
  line-height: 1.483;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char_name .name_txt .postion {
    font-size: min(16px, 1.8823529412vw);
    line-height: 1.336;
  }
}
#kv .kv_inner .kv_left .inner .kv_char_name .name_txt .name {
  display: block;
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-weight: 600;
  font-size: min(28px, 2.4561403509vw);
  letter-spacing: 0.02em;
  white-space: nowrap;
  line-height: 1.588;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char_name .name_txt .name {
    font-size: min(24px, 2.8235294118vw);
    margin-top: min(4px, 0.4705882353vw);
    line-height: 1.484;
  }
}
#kv .kv_inner .kv_left .inner .kv_char_name .name_txt .name > span {
  font-size: min(16px, 1.4035087719vw);
  letter-spacing: 0.02em;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char_name .name_txt .name > span {
    font-size: min(16px, 1.8823529412vw);
  }
}
#kv .kv_inner .kv_left .inner .kv_char_name .name_txt a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #525484;
  text-align: center;
  font-size: min(14px, 1.2280701754vw);
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.04em;
  margin: min(8px, 0.701754386vw) auto 0;
  position: relative;
  z-index: 1;
  padding: 0 min(25px, 2.1929824561vw) 0 min(7px, 0.6140350877vw);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char_name .name_txt a {
    font-size: min(14px, 1.6470588235vw);
    margin-top: min(6.5px, 0.7647058824vw);
    padding: 0 min(16px, 1.8823529412vw) 0 0;
  }
}
#kv .kv_inner .kv_left .inner .kv_char_name .name_txt a:hover {
  -webkit-transform: none;
          transform: none;
  opacity: 0.6;
}
#kv .kv_inner .kv_left .inner .kv_char_name .name_txt a::before {
  content: "";
  display: inline-block;
  width: min(7px, 0.6140350877vw);
  height: min(7px, 0.6140350877vw);
  border-bottom: min(1px, 0.0877192982vw) solid #525484;
  border-right: min(1px, 0.0877192982vw) solid #525484;
  position: absolute;
  top: calc(50% - min(1px, 0.0877192982vw));
  right: min(4px, 0.350877193vw);
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_left .inner .kv_char_name .name_txt a::before {
    width: min(6px, 0.7058823529vw);
    height: min(6px, 0.7058823529vw);
    border-bottom: min(1px, 0.1176470588vw) solid #525484;
    border-right: min(1px, 0.1176470588vw) solid #525484;
    top: calc(50% - min(1px, 0.1176470588vw));
  }
}
#kv .kv_inner .kv_left .inner .kv_char_name .name_txt a::after {
  content: "";
  position: absolute;
  width: 100%;
  height: min(5px, 0.4385964912vw);
  opacity: 0.5;
  background: -webkit-gradient(linear, left top, right top, color-stop(0.57%, #9CB1F1), color-stop(98.59%, #FAB0B3));
  background: linear-gradient(90deg, #9CB1F1 0.57%, #FAB0B3 98.59%);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
#kv .kv_inner .kv_right {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#kv .kv_inner .kv_right .inner {
  width: min(459.5px, 40.3070175439vw);
  text-align: center;
  -webkit-transform: translateX(max(-30px, -2.6315789474vw));
          transform: translateX(max(-30px, -2.6315789474vw));
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_right .inner {
    width: min(416px, 48.9411764706vw);
    -webkit-transform: translateX(max(-100px, -11.7647058824vw));
            transform: translateX(max(-100px, -11.7647058824vw));
  }
}
#kv .kv_inner .kv_right .inner .kv-logo {
  display: block;
  width: 100%;
}
#kv .kv_inner .kv_right .inner .kv-logo img {
  display: block;
  width: auto;
}
#kv .kv_inner .kv_right .inner .kv-onair {
  display: block;
  width: min(420px, 36.8421052632vw);
  margin: min(4px, 0.350877193vw) auto 0;
  -webkit-filter: drop-shadow(0px 0px 15px rgba(82, 84, 132, 0.25));
          filter: drop-shadow(0px 0px 15px rgba(82, 84, 132, 0.25));
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_right .inner .kv-onair {
    width: min(375px, 44.1176470588vw);
    margin-top: 0;
  }
}
#kv .kv_inner .kv_right .inner .kv-letter {
  /**問い合わせボタン*/
  display: block;
  width: min(343.5px, 30.1315789474vw);
  margin: min(40px, 3.5087719298vw) auto 0;
  line-height: 1;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_right .inner .kv-letter {
    width: min(360px, 42.3529411765vw);
    margin-top: min(30px, 3.5294117647vw);
  }
}
#kv .kv_inner .kv_right .inner .kv-letter {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
#kv .kv_inner .kv_right .inner .kv-letter:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
#kv .kv_inner .kv_right .inner .kv-letter img {
  -webkit-filter: drop-shadow(0px 0px 10px rgba(82, 84, 132, 0.2));
          filter: drop-shadow(0px 0px 10px rgba(82, 84, 132, 0.2));
}
#kv .kv_inner .kv_right .inner .discord-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: min(18px, 1.5789473684vw);
  font-weight: 700;
  line-height: 1.61;
  letter-spacing: 0.04em;
  position: relative;
  padding: 0 min(27px, 2.3684210526vw) min(2px, 0.1754385965vw) min(43px, 3.7719298246vw);
  background: url(../img/line.png) center bottom/contain repeat-x;
  margin: min(20px, 1.7543859649vw) auto 0;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_right .inner .discord-link {
    font-size: min(24px, 2.8235294118vw);
    margin-top: min(30px, 3.5294117647vw);
    padding: 0 min(23px, 2.7058823529vw) 0 min(40px, 4.7058823529vw);
  }
}
#kv .kv_inner .kv_right .inner .discord-link:hover::after {
  -webkit-transform: translateY(-50%) translateX(0.11em);
          transform: translateY(-50%) translateX(0.11em);
}
#kv .kv_inner .kv_right .inner .discord-link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: min(10px, 0.8771929825vw);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: min(24px, 2.1052631579vw);
  height: min(18px, 1.5789473684vw);
  background: url(../img/ic-discord.svg) center/cover no-repeat;
  pointer-events: none;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_right .inner .discord-link::before {
    width: min(31px, 3.6470588235vw);
    height: min(22px, 2.5882352941vw);
    left: min(2px, 0.2352941176vw);
  }
}
#kv .kv_inner .kv_right .inner .discord-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(6px, 0.5263157895vw);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: min(6px, 0.5263157895vw) solid transparent;
  border-bottom: min(6px, 0.5263157895vw) solid transparent;
  border-left: min(11.25px, 0.9868421053vw) solid #FFF;
  border-right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  pointer-events: none;
}
@media (max-width: 950px) {
  #kv .kv_inner .kv_right .inner .discord-link::after {
    border-top: min(8px, 0.9411764706vw) solid transparent;
    border-bottom: min(8px, 0.9411764706vw) solid transparent;
    border-left: min(15.7px, 1.8470588235vw) solid #FFF;
    right: 0;
  }
}

/**--------------------
	  最新話はこちら
  ---------------------*/
#new_release .inner {
  max-width: 700px;
  margin: 60px auto 0;
  padding-bottom: 56px;
  position: relative;
}
@media (max-width: 950px) {
  #new_release .inner {
    width: min(780px, 91.7647058824vw);
    max-width: unset;
    padding-top: min(147px, 17.2941176471vw);
    padding-bottom: min(60px, 7.0588235294vw);
    margin-top: min(114px, 13.4117647059vw);
  }
}
#new_release .inner::before {
  content: "";
  background: #FFF;
  border-radius: 0px 50px;
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
@media (max-width: 950px) {
  #new_release .inner::before {
    border-radius: 0px min(50px, 5.8823529412vw);
    top: 0;
  }
}
#new_release .inner h2 {
  text-align: center;
  line-height: 1;
}
@media (max-width: 950px) {
  #new_release .inner h2 {
    position: absolute;
    top: max(-64px, -7.5294117647vw);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #new_release .inner h2 img {
    width: min(395px, 46.4705882353vw);
  }
}
#new_release .inner .thumb {
  width: 520px;
  margin: 25px auto 0;
}
@media (max-width: 950px) {
  #new_release .inner .thumb {
    width: min(640px, 75.2941176471vw);
    margin-top: 0;
  }
}
#new_release .inner .thumb .thumb_link {
  display: block;
  position: relative;
  line-height: 1;
}
#new_release .inner .thumb .thumb_link img {
  vertical-align: bottom;
}
#new_release .inner .thumb .thumb_link::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 118px;
  height: 118px;
  background: url("../img/play.png") no-repeat center center;
  background-size: cover;
  pointer-events: none;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media (max-width: 950px) {
  #new_release .inner .thumb .thumb_link::after {
    width: min(118px, 13.8823529412vw);
    height: min(120px, 14.1176470588vw);
  }
}
#new_release .inner .thumb .thumb_link:hover::after {
  -webkit-transform: translate(-50%, -50%) scale(1.05);
          transform: translate(-50%, -50%) scale(1.05);
}
#new_release .inner .detail {
  width: 520px;
  margin: 36px auto 0;
  text-align: right;
}
@media (max-width: 950px) {
  #new_release .inner .detail {
    width: min(640px, 75.2941176471vw);
    margin-top: min(30px, 3.5294117647vw);
  }
}
#new_release .inner .detail .detail_link {
  color: #525484;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.04em;
  position: relative;
  padding-right: 22px;
  padding-bottom: 4px;
  display: block;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-left: auto;
}
@media (max-width: 950px) {
  #new_release .inner .detail .detail_link {
    font-size: min(28px, 3.2941176471vw);
    padding-right: min(22px, 2.5882352941vw);
    padding-bottom: min(5px, 0.5882352941vw);
  }
}
#new_release .inner .detail .detail_link:not(:first-child) {
  margin-top: 20px;
}
@media (max-width: 950px) {
  #new_release .inner .detail .detail_link:not(:first-child) {
    margin-top: min(20px, 2.3529411765vw);
  }
}
#new_release .inner .detail .detail_link:hover::after {
  -webkit-transform: translateY(-50%) translateX(2px);
          transform: translateY(-50%) translateX(2px);
}
#new_release .inner .detail .detail_link::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, color-stop(0.57%, #7595F6), color-stop(98.59%, #FF9A9E));
  background: linear-gradient(90deg, #7595F6 0.57%, #FF9A9E 98.59%);
  -webkit-mask-image: repeating-linear-gradient(90deg, #000000, #000000 2px, transparent 2px, transparent 4px);
          mask-image: repeating-linear-gradient(90deg, #000000, #000000 2px, transparent 2px, transparent 4px);
  -webkit-mask-position: left bottom;
          mask-position: left bottom;
  -webkit-mask-repeat: repeat-x;
          mask-repeat: repeat-x;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}
@media (max-width: 950px) {
  #new_release .inner .detail .detail_link::before {
    height: clamp(1px, 0.2352941176vw, 2px);
    -webkit-mask-image: repeating-linear-gradient(90deg, #000000, #000000 clamp(2px, 0.4705882353vw, 4px), transparent clamp(2px, 0.4705882353vw, 4px), transparent clamp(4px, 0.9411764706vw, 8px));
            mask-image: repeating-linear-gradient(90deg, #000000, #000000 clamp(2px, 0.4705882353vw, 4px), transparent clamp(2px, 0.4705882353vw, 4px), transparent clamp(4px, 0.9411764706vw, 8px));
    -webkit-mask-position: left bottom;
            mask-position: left bottom;
    -webkit-mask-repeat: repeat-x;
            mask-repeat: repeat-x;
    -webkit-mask-size: 100%;
            mask-size: 100%;
  }
}
#new_release .inner .detail .detail_link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 4px;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 9.5px solid #A6BCFF;
  border-right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 950px) {
  #new_release .inner .detail .detail_link::after {
    border-top: min(6px, 0.7058823529vw) solid transparent;
    border-bottom: min(6px, 0.7058823529vw) solid transparent;
    border-left: min(11.25px, 1.3235294118vw) solid #A6BCFF;
    right: min(2px, 0.2352941176vw);
  }
}
#new_release .inner .detail .detail_link .sp-br {
  display: none;
}
@media (max-width: 950px) {
  #new_release .inner .detail .detail_link .sp-br {
    display: block;
  }
}
#new_release .inner .check {
  position: absolute;
  top: 62px;
  right: -100px;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media (max-width: 950px) {
  #new_release .inner .check {
    width: min(180px, 21.1764705882vw);
    top: min(20px, 2.3529411765vw);
    right: max(-35px, -4.1176470588vw);
    z-index: 1;
  }
}
#new_release .inner .star {
  position: absolute;
  left: 48px;
  bottom: 66px;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
@media (max-width: 950px) {
  #new_release .inner .star {
    width: min(55px, 6.4705882353vw);
    left: min(19px, 2.2352941176vw);
    bottom: min(58px, 6.8235294118vw);
  }
}

/**--------------------
	初星学園放送部とは？
  ---------------------*/
#about .inner {
  max-width: 550px;
  margin: 74px auto 0;
  position: relative;
  z-index: 1;
}
@media (max-width: 950px) {
  #about .inner {
    max-width: min(780px, 91.7647058824vw);
    padding-bottom: min(231px, 27.1764705882vw);
    margin-top: min(100px, 11.7647058824vw);
  }
}
#about .inner h2 {
  text-align: center;
}
@media (max-width: 950px) {
  #about .inner h2 img {
    width: min(600px, 70.5882352941vw);
  }
}
#about .inner p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.06em;
  margin: 30px 0 0;
}
#about .inner p.w460 {
  width: 460px;
}
@media (max-width: 950px) {
  #about .inner p {
    font-size: min(28px, 3.2941176471vw);
    margin: min(30px, 3.5294117647vw) 0 0;
    letter-spacing: 0.02em;
  }
  #about .inner p .spNone {
    display: none;
  }
  #about .inner p.w460 {
    width: 100%;
  }
}
#about .inner .char {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  position: absolute;
  right: -86px;
  bottom: 0;
  z-index: -1;
}
@media (max-width: 950px) {
  #about .inner .char {
    width: min(192px, 22.5882352941vw);
    right: min(74px, 8.7058823529vw);
  }
}

/**--------------------
	プロフィール
  ---------------------*/
#profile {
  width: 100%;
  position: relative;
  padding-top: 24px;
  z-index: 1;
}
@media (max-width: 950px) {
  #profile {
    padding-top: 0;
    margin-top: min(60px, 7.0588235294vw);
  }
}
#profile::before {
  content: "";
  width: 90vw;
  background: url(../img/profile_bg.jpg) center/cover no-repeat;
  position: absolute;
  top: 108px;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media (max-width: 950px) {
  #profile::before {
    width: 91.2941176471vw;
    height: 101.1764705882vw;
    background-image: url(../img/profile_bg_sp.webp);
    top: 0;
    bottom: unset;
  }
}
#profile .inner {
  max-width: 840px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 950px) {
  #profile .inner {
    padding-top: min(860px, 101.1764705882vw);
    position: static;
  }
}
#profile .inner .lead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 46px;
  position: absolute;
  top: 0;
  z-index: 1;
}
@media (max-width: 950px) {
  #profile .inner .lead {
    margin-top: min(50px, 5.8823529412vw);
    left: min(50px, 5.8823529412vw);
  }
}
#profile .inner .lead > div {
  width: 56px;
}
@media (max-width: 950px) {
  #profile .inner .lead > div {
    width: min(71px, 8.3529411765vw);
  }
}
#profile .inner .lead > div:nth-child(2) > span {
  background: linear-gradient(181deg, #5B79E3 0%, #9E9CF1 100%);
}
#profile .inner .lead > div > span {
  display: inline-block;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.033;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  background: linear-gradient(181deg, #9E9CF1 0%, #5B79E3 100%);
  padding: 10px 5px 0;
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
}
@media (max-width: 950px) {
  #profile .inner .lead > div > span {
    font-size: min(42px, 4.9411764706vw);
    -webkit-font-feature-settings: unset;
            font-feature-settings: unset;
    line-height: 1;
    letter-spacing: 0.04em;
    padding: min(5px, 0.5882352941vw) min(6px, 0.7058823529vw) 0;
  }
}
#profile .inner h2 {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  position: relative;
  z-index: 1;
}
@media (max-width: 950px) {
  #profile .inner h2 {
    width: min(640px, 75.2941176471vw);
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
  }
}
#profile .inner h2 img {
  vertical-align: bottom;
}
@media (max-width: 950px) {
  #profile .inner h2 img {
    width: 100%;
    max-width: unset;
  }
}
#profile .inner .card {
  width: 480px;
  height: 535px;
  background: url(../img/profile_card.png) center/cover no-repeat;
  color: #525484;
  padding: 51px 0 0 58px;
  position: absolute;
  top: 77px;
  right: 0;
  -webkit-transform: rotate(2.5deg);
          transform: rotate(2.5deg);
  -webkit-filter: drop-shadow(2px 2px 3px rgba(82, 84, 132, 0.2));
          filter: drop-shadow(2px 2px 3px rgba(82, 84, 132, 0.2));
}
@media (max-width: 950px) {
  #profile .inner .card {
    position: static;
    width: min(780px, 91.7647058824vw);
    height: min(885px, 104.1176470588vw);
    margin: 0 auto;
    padding: min(95px, 11.1764705882vw) 0 0 min(95px, 11.1764705882vw);
    background-image: url(../img/profile_card_sp.png);
    -webkit-transform: translateY(max(-50px, -5.8823529412vw)) rotate(2.5deg);
            transform: translateY(max(-50px, -5.8823529412vw)) rotate(2.5deg);
  }
}
#profile .inner .card::after {
  content: "";
  width: 63px;
  height: 56px;
  position: absolute;
  right: 0;
  bottom: 0;
  background: url(../img/profile_card_corner.png) center/cover no-repeat;
  z-index: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
}
@media (max-width: 950px) {
  #profile .inner .card::after {
    width: min(102px, 12vw);
    height: min(91px, 10.7058823529vw);
  }
}
#profile .inner .card .postion {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  color: #FFF;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.2;
  padding: 4px;
  background: #A6BCFF;
}
@media (max-width: 950px) {
  #profile .inner .card .postion {
    font-size: min(30px, 3.5294117647vw);
    padding: min(6px, 0.7058823529vw);
    margin-left: min(5px, 0.5882352941vw);
  }
}
#profile .inner .card .name {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  line-height: normal;
  letter-spacing: 0.06em;
}
@media (max-width: 950px) {
  #profile .inner .card .name {
    font-size: min(32px, 3.7647058824vw);
  }
}
#profile .inner .card .name strong {
  font-size: 50px;
  line-height: normal;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.04em;
  margin: 7px 14px 0 0;
}
@media (max-width: 950px) {
  #profile .inner .card .name strong {
    font-size: min(76px, 8.9411764706vw);
    margin: min(9px, 1.0588235294vw) min(22px, 2.5882352941vw) 0 min(9px, 1.0588235294vw);
  }
}
#profile .inner .card .cv {
  display: block;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2em;
  margin: 14px 0 0;
}
@media (max-width: 950px) {
  #profile .inner .card .cv {
    font-size: min(32px, 3.7647058824vw);
    margin: min(30px, 3.5294117647vw) 0 0 min(9px, 1.0588235294vw);
    line-height: 1;
  }
}
#profile .inner .card .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 16px 20px;
  width: 100%;
  max-width: 380px;
  background: rgba(166, 188, 255, 0.1);
  padding: 24px 25px;
  margin: 18px 0 0;
}
@media (max-width: 950px) {
  #profile .inner .card .box {
    max-width: min(650px, 76.4705882353vw);
    gap: min(30px, 3.5294117647vw) min(28px, 3.2941176471vw);
    padding: min(29px, 3.4117647059vw) min(35px, 4.1176470588vw);
    margin: min(44px, 5.1764705882vw) 0 0;
  }
}
#profile .inner .card .box dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px 20px;
}
@media (max-width: 950px) {
  #profile .inner .card .box dl {
    gap: min(30px, 3.5294117647vw) min(28px, 3.2941176471vw);
  }
}
#profile .inner .card .box dl dt {
  min-width: 50px;
  font-size: 16px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.02em;
}
@media (max-width: 950px) {
  #profile .inner .card .box dl dt {
    font-size: min(26px, 3.0588235294vw);
    min-width: min(90px, 10.5882352941vw);
    line-height: 1.3;
  }
}
#profile .inner .card .box dl dd {
  min-width: 69px;
  font-size: 16px;
  line-height: normal;
  letter-spacing: 0.02em;
}
@media (max-width: 950px) {
  #profile .inner .card .box dl dd {
    font-size: min(28px, 3.2941176471vw);
    min-width: min(65px, 7.6470588235vw);
    line-height: 1.3;
  }
}
#profile .inner .card .box P {
  display: block;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.71;
  letter-spacing: 0.02em;
}
@media (max-width: 950px) {
  #profile .inner .card .box P {
    font-size: min(24px, 2.8235294118vw);
    line-height: 1.6;
  }
}

/**--------------------
	  おたより
  ---------------------*/
#letter {
  width: 100%;
  position: relative;
  padding-top: 47px;
  padding-bottom: 55px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(109, 136, 218, 0.8)), to(rgba(255, 154, 158, 0.4)));
  background: linear-gradient(180deg, rgba(109, 136, 218, 0.8) 0%, rgba(255, 154, 158, 0.4) 100%);
  backdrop-filter: blur(5px);
  margin-top: 80px;
}
@media (max-width: 950px) {
  #letter {
    padding-top: min(60px, 7.0588235294vw);
    padding-bottom: min(80px, 9.4117647059vw);
    margin-top: min(26px, 3.0588235294vw);
  }
}
#letter .bg {
  width: calc(50% - 150px);
  max-width: min(553px, 39.5vw);
  position: absolute;
  left: calc(50% + 150px);
  bottom: 27px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
}
@media (max-width: 950px) {
  #letter .bg {
    width: min(360px, 42.3529411765vw);
    max-width: unset;
    left: unset;
    right: 0;
    bottom: 0;
  }
}
#letter .bg img {
  width: 100%;
  max-width: unset;
  vertical-align: bottom;
}
#letter .inner {
  max-width: 420px;
  margin: 0 auto;
  position: relative;
}
@media (max-width: 950px) {
  #letter .inner {
    max-width: min(780px, 91.7647058824vw);
  }
}
#letter .inner h2 {
  text-align: center;
  line-height: 1;
}
@media (max-width: 950px) {
  #letter .inner h2 img {
    width: min(560px, 65.8823529412vw);
  }
}
#letter .inner p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.875;
  letter-spacing: 0.06em;
  margin: 30px 0 0;
}
@media (max-width: 950px) {
  #letter .inner p {
    font-size: min(28px, 3.2941176471vw);
    line-height: 1.714;
    margin: calc(min(50px, 5.8823529412vw) - 0.714em) 0 -0.714em;
  }
}
#letter .inner a {
  display: block;
  width: 300px;
  margin: 25px auto 0;
}
@media (max-width: 950px) {
  #letter .inner a {
    width: min(520px, 61.1764705882vw);
    margin-top: min(50px, 5.8823529412vw);
  }
}
#letter .inner a {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
#letter .inner a:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}

/**--------------------
	漫画、ボイスドラマ
  ---------------------*/
#comics {
  background: url(../img/comics_bg.jpg) center/cover no-repeat;
  padding: 55px 0;
}
@media (max-width: 950px) {
  #comics {
    padding: min(80px, 9.4117647059vw) 0;
    background-image: url(../img/comics_bg_sp.jpg);
  }
}
#comics .inner {
  max-width: 740px;
  margin: 0 auto;
}
@media (max-width: 950px) {
  #comics .inner {
    width: min(740px, 87.0588235294vw);
  }
}
#comics .inner .block {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #525484;
  gap: 22px;
  margin: 20px 0 0;
}
@media (max-width: 950px) {
  #comics .inner .block {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: min(82px, 9.6470588235vw) 0 0;
  }
}
#comics .inner .block:first-of-type {
  margin-top: 0;
}
#comics .inner .block:nth-child(2) .txt a {
  margin-top: 11px;
}
@media (max-width: 950px) {
  #comics .inner .block:nth-child(2) .txt a {
    margin-top: min(20px, 2.3529411765vw);
  }
}
@media (max-width: 950px) {
  #comics .inner .block .img {
    display: none;
  }
}
#comics .inner .block .img img {
  width: 240px;
  border-radius: 0px 20px;
  border: 1px solid #FAB0B3;
}
#comics .inner .block .txt {
  width: calc(100% - 218px - 22px);
}
@media (max-width: 950px) {
  #comics .inner .block .txt {
    width: 100%;
  }
}
#comics .inner .block .txt h2 {
  font-family: "Shippori Mincho B1", serif;
  font-size: 24px;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.14em;
  padding-left: 32px;
  position: relative;
}
@media (max-width: 950px) {
  #comics .inner .block .txt h2 {
    font-size: min(48px, 5.6470588235vw);
  }
}
#comics .inner .block .txt h2::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../img/ic-star2.svg) center/cover no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#comics .inner .block .txt img.pcNone {
  display: none;
  width: min(740px, 87.0588235294vw);
  border-radius: 0px min(20px, 2.3529411765vw);
  margin: min(30px, 3.5294117647vw) auto 0;
  border: 1px solid #FAB0B3;
}
@media (max-width: 950px) {
  #comics .inner .block .txt img.pcNone {
    display: block;
  }
}
#comics .inner .block .txt p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin: 7px 0 0;
}
@media (max-width: 950px) {
  #comics .inner .block .txt p {
    font-size: min(24px, 3.2941176471vw);
    margin-top: min(30px, 3.5294117647vw);
    line-height: 1.714;
  }
}
#comics .inner .block .txt a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #525484;
  font-size: 16px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.04em;
  position: relative;
  padding-right: 22px;
  padding-bottom: 4px;
  background: url(../img/line_gradation.png) center bottom/100% auto no-repeat;
  margin: 35px 0 0 auto;
}
@media (max-width: 950px) {
  #comics .inner .block .txt a {
    font-size: min(28px, 3.2941176471vw);
    margin-top: min(67px, 7.8823529412vw);
    padding-right: min(22px, 2.5882352941vw);
    padding-bottom: min(10px, 1.1764705882vw);
    line-height: 1;
  }
}
#comics .inner .block .txt a:hover::after {
  -webkit-transform: translateY(-50%) translateX(2px);
          transform: translateY(-50%) translateX(2px);
}
#comics .inner .block .txt a::after {
  content: "";
  position: absolute;
  top: 13px;
  right: 4px;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 9.5px solid #A6BCFF;
  border-right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (max-width: 950px) {
  #comics .inner .block .txt a::after {
    border-top: min(6px, 0.7058823529vw) solid transparent;
    border-bottom: min(6px, 0.7058823529vw) solid transparent;
    border-left: min(11.25px, 1.3235294118vw) solid #A6BCFF;
    right: min(2px, 0.2352941176vw);
    top: min(15.5px, 1.8235294118vw);
  }
}

/**--------------------
	各種リンク先情報
  ---------------------*/
#link {
  padding: 30px 0 0;
}
@media (max-width: 950px) {
  #link {
    padding: min(40px, 4.7058823529vw) min(35px, 4.1176470588vw) 0;
  }
}
#link .link_block {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  max-width: 620px;
  margin-inline: auto;
}
@media (max-width: 950px) {
  #link .link_block {
    gap: min(20px, 2.3529411765vw);
  }
}
#link .link_block a {
  display: inline-block;
  line-height: 1;
}
#link .link_block a img {
  vertical-align: bottom;
}
#link .link_block .link_banner {
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
#link .link_block .link_banner:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
#link .copyright {
  margin-top: 24px;
  margin-bottom: 2px;
}
@media (max-width: 950px) {
  #link .copyright {
    margin-top: min(40px, 4.7058823529vw);
    margin-bottom: min(8px, 0.9411764706vw);
  }
}

/**--------------------
	copyright
  ---------------------*/
.main .copyright {
  color: #FFF;
  text-align: center;
  font-family: "Jost", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.33;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}
@media (max-width: 950px) {
  .main .copyright {
    font-size: min(24px, 2.8235294118vw);
  }
}

#misuzu_banner {
  position: fixed;
  bottom: min(36px, 2.5714285714vw);
  right: min(80px, 5.7142857143vw);
  width: 12.8571428571%;
  max-width: 180px;
  z-index: 1;
  -webkit-transition: 0.15s opacity;
  transition: 0.15s opacity;
}
#misuzu_banner[aria-hidden=true] {
  opacity: 0;
}
@media (max-width: 950px) {
  #misuzu_banner {
    right: 0;
    bottom: min(36px, 4.2352941176vw);
    width: 35.2941176471%;
    max-width: 300px;
  }
}
#misuzu_banner .misuzu_banner_link {
  display: block;
  -webkit-transition: 0.15s -webkit-transform;
  transition: 0.15s -webkit-transform;
  transition: 0.15s transform;
  transition: 0.15s transform, 0.15s -webkit-transform;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
#misuzu_banner .misuzu_banner_link:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}