@charset "UTF-8";
input, button, textarea, select {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
}
button {
 background-color: transparent;
 border: none;
 cursor: pointer;
 outline: none;
 padding: 0;
 appearance: none;
}
#colorbox, #cboxOverlay, #cboxWrapper {
 overflow: hidden;
 -webkit-transform: translate3d(0, 0, 0);
 transform: translate3d(0, 0, 0);
 position: fixed;
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: 10001;
}
#cboxWrapper {
 max-width: none;
}
a, a:focus, button:focus {
 outline: none;
 outline-width: none;
}
#colorbox {
 outline: 0;
}
#cboxOverlay, .cboxIframe {
 background: rgba(0, 0, 0, 1.0);
}
#cboxContent {
 margin-top: 0px;
 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;
 background-size: cover;
 position: relative;
 /*background-color: #fff;*/
 color: #000;
}
#cboxOverlay {
 position: fixed;
 width: 100%;
 height: 100%;
 background: rgba(255, 255, 255, .7);
 -webkit-backdrop-filter: blur(8px);
 backdrop-filter: blur(8px)
}
#cboxMiddleLeft, #cboxBottomLeft {
 clear: left;
}
#cboxContent {
 position: relative;
}
#cboxLoadedContent {
 overflow: auto;
}
#cboxLoadingOverlay, #cboxLoadingGraphic {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
 cursor: pointer;
 z-index: 100002;
}
.cboxPhoto {
 float: left;
 margin: auto;
 border: 0;
 display: block;
 max-width: none;
}
.cboxIframe {
 width: 100%;
 height: 100%;
 height: 100vh;
 height: 100dvh;
 min-height: 100vh;
 min-height: 100dvh;
 display: block;
 border: 0;
}
#colorbox, #cboxContent, #cboxLoadedContent {
 box-sizing: content-box;
}
#cboxError {
 padding: 50px;
 border: 1px solid #ccc;
}
#cboxTitle {
 position: absolute;
 bottom: 0px;
 left: 0;
 text-align: center;
 width: 100%;
 color: #fdedec;
 margin: 0;
 font-size: 0;
}
#cboxCurrent {
 position: absolute;
 bottom: 10px;
 left: 0;
 right: 0;
 margin: auto;
 color: #eee;
 font-size: 0.7em;
 width: 100px;
 text-align: center;
 font-family: Arial, Helvetica, "sans-serif";
 font-style: italic;
 font-weight: 700;
 display: none !important;
}
#cboxSlideshow {
 position: absolute;
 bottom: 0px;
 right: 42px;
 color: #444;
}
#cboxPrevious, #cboxNext {
 position: absolute;
 top: calc(50% - 200px);
 width: 60px;
 height: 400px;
 font-size: 0;
 z-index: 1002;
 /*filter: drop-shadow(0px 0px 5px #000);*/
}
#cboxPrevious {
 left: 0;
 left: env(safe-area-inset-left);
 background: url("../images/arrow_l.png") no-repeat center center;
 background-size: 40px auto;
}
#cboxNext {
 right: 0;
 right: env(safe-area-inset-right);
 background: url("../images/arrow_r.png") no-repeat center center;
 background-size: 40px auto;
}
#cboxClose {
 position: absolute;
 top: 5px;
 right: 5px;
 display: block;
 color: #333;
 width: 50px;
 height: 50px;
 text-align: right;
 font-weight: bold;
 font-size: 0;
 background: url("../images/btn_close.png") no-repeat right top;
 background-size: 100% auto;
 text-indent: 100%;
 white-space: nowrap;
 overflow: hidden;
 border: none;
 z-index: 1002;
}
@media screen and (min-width: 768px) {
 #cboxClose {
  top: 15px;
  right: 15px;
  width: 70px;
  height: 70px;
  transition: transform 0.3s ease; /* アニメーションを滑らかにするためのtransitionを設定 */
  transform: scale(1); /* 初期状態は等倍（拡大なし） */
 }
 #cboxClose:hover {
  transform: scale(1.2); /* ホバー時に1.1倍に拡大 */
 }
}
@media screen and (max-width: 767px) {
 #cboxPrevious, #cboxNext {
  width: 22px;
  background-size: 15px auto;
  top: auto;
  bottom: 0;
  height: 50px;
 }
 #colorbox, #cboxOverlay, #cboxWrapper {
  min-height: 100dvh;
 }
}
.cboxIE #cboxTopLeft, .cboxIE #cboxTopCenter, .cboxIE #cboxTopRight, .cboxIE #cboxBottomLeft, .cboxIE #cboxBottomCenter, .cboxIE #cboxBottomRight, .cboxIE #cboxMiddleLeft, .cboxIE #cboxMiddleRight {
 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#000000, endColorstr=#000000);
}
/* ------------------------------
	modal
------------------------------ */
.modal__area {
 display: none;
}
.modal__content {
 margin: 0;
 width: 100%;
 height: 100%;
 text-align: left;
 position: relative;
 z-index: 3;
 animation-name: fadeInAnime;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 opacity: 0;
}
@-webkit-keyframes fadeInAnime {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}
@keyframes fadeInAnime {
 from {
  opacity: 0;
 }
 to {
  opacity: 1;
 }
}
.fadeUp {
 animation-name: fadeUpAnime;
 animation-duration: 1s;
 animation-fill-mode: forwards;
 opacity: 0;
}
@-webkit-keyframes fadeUpAnime {
 from {
  opacity: 0;
  transform: translateY(40px);
 }
 to {
  opacity: 1;
  transform: translateY(0);
 }
}
@keyframes fadeUpAnime {
 from {
  opacity: 0;
  transform: translateY(40px);
 }
 to {
  opacity: 1;
  transform: translateY(0);
 }
}
/* blurIn */
.blurIn {
 transition: ease;
 opacity: 0;
 -webkit-animation: blurIn .3s ease .3s 1 forwards;
 animation: blurIn .3s ease .3s 1 forwards;
}
@-webkit-keyframes blurIn {
 0% {
  opacity: 0;
  filter: blur(10px);
 }
 100% {
  opacity: 1;
  filter: blur(0);
 }
}
@keyframes blurIn {
 0% {
  opacity: 0;
  filter: blur(10px);
 }
 100% {
  opacity: 1;
  filter: blur(0);
 }
}
.modal__content .name {
 font-size: clamp(3.8rem, 4vw, 5rem);
 margin: 20px 0;
 font-weight: 800;
 line-height: 1.2em;
 font-feature-settings: "palt"1; 
}
.modal__content .name.spitz {
 max-width: 500px;
 width: 80%;
 margin-top: 40px;
}
.modal__content .txt-chara {
 font-size: clamp(1.6rem, 2vw, 1.8rem);
 font-weight: 800;
 line-height: 1.7em;
 margin-bottom: 30px;
}
.modal__content .name.goods {
 font-size: 30px;
 line-height: 1.6em;
 margin-bottom: 1.8rem;
}
.modal__content p {
 margin-bottom: 20px;
 font-size: clamp(1.5rem, 2vw, 1.8rem);
 line-height: 2em;
}
.modal__content .selectbox p {
 margin-bottom: 20px;
 font-size: clamp(1.5rem, 2vw, 1.7rem);
 text-align: justify;
 hyphens: auto;
 word-break: break-all;
}
.modal__content p .cap {
 font-size: .9em;
 line-height: 1.6em;
 display: inline-block;
 color: #eee;
}
.modal__content .link {
 color: #e60012;
 text-decoration: underline;
 word-break: break-all;
}
.modal__content .link:hover {
 text-decoration: none;
}
.modal__content .btn-link, .btn-area .btn-link {
 background-color: #c7000a;
 color: #fff;
 font-weight: 800;
 line-height: 1.2em;
 padding: 8px 20px 10px;
 border-radius: 30px;
 border-radius: 50vh;
 width: 240px;
 text-align: center;
 display: block;
 -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, .5);
 box-shadow: 0 2px 3px rgba(0, 0, 0, .5);
}
.btn-area .btn-link {
 margin: auto;
 font-size: 1.2em;
}
.wrapp .name span {
 display: block;
 line-height: 1.6em;
 font-size: .8em;
}
.wrapp .name .s {
 font-size: .5em;
 display: block;
}
.wrapp .name .yaku .s {
 display: inline-block;
 margin-left: 8px;
}
.wrapp .name .position {
 display: inline-block;
 line-height: 1.3em;
 font-size: .6em;
 margin-right: 12px;
}
.wrapp .name .position.kana {
 display: inline-flex;
 letter-spacing: -2px;
 -webkit-transform: scaleX(0.9);
 -moz-transform: scaleX(0.9);
 -ms-transform: scaleX(0.9);
 -o-transform: scaleX(0.9);
 margin-left: -2.2%;
}
.wrapp .name .en {
 font-size: .5em;
}
.wrapp .name .subtxt {
 font-size: .5em;
 font-weight: 600;
 letter-spacing: 0.02em;
 margin-left: 5px;
 line-height: 1.2em;
 display: inline-block;
}
.modal__content .chara-txt {
 font-weight: 600;
 line-height: 1.8em;
 margin-bottom: 2.5em;
}
.modal__content .ttl {
 color: #e70012;
 font-size: 2.2rem;
 margin-bottom: .5rem;
 font-weight: 700;
}
.wrapp {
 width: 100%;
 max-width: 1440px;
 margin: auto;
 position: relative;
 z-index: 1;
}
.wrapp .photo {
 position: relative;
}
.photo img {
 width: 100%;
 height: inherit;
}
.photo.sub img {
 max-height: inherit;
 height: auto;
 aspect-ratio: 1;
 max-width: 100%;
 width: 84%;
 margin: auto;
 display: block;
}
.scroll_area {
 outline: none;
}
#cboxContent .cast-info {
 margin-bottom: 3rem;
}
.cast-ph {
 width: 40%;
 max-width: 300px;
}
.cast-ph img {
 aspect-ratio: 1;
 -o-object-fit: cover;
 object-fit: cover;
 object-position: top;
 border-radius: 50%;
}
.wrapp .content {
 max-width: 900px;
 width: 86%;
 margin: 10vh auto 5vh;
}
.wrapp .content .content-inner {
 margin: 5vh auto;
}
@media screen and (max-width: 1440px) {
 .modal__content .txt-chara br.sp {
  display: block;
 }
}
@media screen and (max-width: 1024px) {
 .modal__content {
  padding: 0;
  width: 100%;
  min-height: 100%;
  min-height: 100vh;
  min-height: 100lvh;
  min-height: 100dvh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
 }
 .modal__content .profile, .c-staff {
  padding: 0 8% 50px;
  box-sizing: border-box;
 }
 .c-staff {
  padding-top: 6vh;
 }
 .wrapp {
  width: 100%;
  height: auto;
  margin: 0 auto;
 }
 .scroll_area {
  height: auto;
  max-height: inherit;
  overflow: visible;
 }
 .jspDrag, .jspTrack, .jspVerticalBar {
  display: none;
 }
 .modal__content h1 {
  font-size: 38px;
 }
 #cboxContent .cast-info {
  justify-content: center;
  margin-top: 3rem;
  margin-left: -5%;
  margin-right: -5%;
  width: 110%;
 }
 .cast-txt {
  display: flex;
  align-items: center;
 }
 .modal__content .name {
  margin-top: 30px;
  font-size: 32px;
  line-height: 1.2em;
  text-align: left;
  white-space: nowrap;
 }
 .modal__content .name.artist {
  font-size: 40px;
  text-align: center;
 }
 .modal__content .ttl {
  font-size: 1.8rem;
 }
 .modal__content .chara-txt {
  font-size: 1.5rem;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
 }
 .modal__content .goods-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
 }
 .modal__content .chara-txt br {
  display: none;
 }
 .photo.sub img {
  margin-top: 30px;
 }
 .modal__content .btn-link {
  margin: auto;
 }
}
@media screen and (min-width: 813px) {
 .wrapp .photo {
  position: relative;
  max-width: 100%;
 }
 .wrapp .photo .photo-inner {
  padding: 50px 50px 0;
 }
}
@media screen and (min-width: 1025px) {
 #cboxWrapper ::-webkit-scrollbar {
  width: 3px;
  height: 4px;
 }
 #cboxWrapper ::-webkit-scrollbar-thumb {
  background: #222;
  border-radius: 2px;
 }
 #cboxWrapper ::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.5);
 }
 .modal__content {
  display: flex;
 }
 .wrapp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
 }
 .wrapp.reverse {
  flex-direction: row-reverse;
 }
 .wrapp .photo {
  width: 50%;
 }
 .wrapp .photo .photo-inner {
  padding: 2vh 20px 2vh 50px;
  height: 100%;
 }
 .wrapp .photo .photo-inner .ph-chara {
  height: 100%;
  max-height: 780px;
 }
 .wrapp .photo .photo-inner .ph-chara-inner {
  height: 50%;
 }
 .wrapp .photo .photo-inner .ph-chara-inner img {
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden;
  height: 100%;
  width: 100%;
 }
 .wrapp .photo .photo-inner.sub {
  display: grid;
  align-items: center;
 }
 .wrapp .photo .photo-inner.sub .ph-chara {
  max-height: 500px;
 }
 .wrapp .photo .photo-inner.sub .ph-chara img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
 }
 .wrapp .profile {
  width: 50%;
  display: flex;
  align-items: center;
 }
 .scroll_area {
  width: 100%;
  max-height: 780px;
  padding-left: 40px;
  padding-right: 40px;
  margin: 5vh 0;
 }
 .scroll_area .content {
  overflow-x: hidden;
  padding-right: 30px;
  -webkit-overflow-scrolling: touch;
 }
 .wrapp .name .en {
  display: inline-block;
  margin-left: 10px;
 }
 .wrapp.c-staff {
  align-items: center;
  justify-content: center;
 }
 .wrapp.c-staff .scroll_area {
  max-width: 800px;
 }
 .modal__content .name .cv {
  margin-left: 16px;
 }
 .modal__content .chara-txt {
  font-size: 1.8rem;
 }
 .modal__content .btn-link:hover, .btn-area .btn-link:hover {
  opacity: .7;
 }
 .photo.goods {
  margin-right: 5%;
  margin-left: 8%;
 }
 #cboxContent .cast-info {
  align-items: center;
 }
 .cast-ph {
  margin-right: 3rem;
  flex-shrink: 0;
 }
}
@media (min-width: 1025px) and (orientation: portrait) { /* 縦向き */
 /* 縦向きタブレット向けのCSS */
 .wrapp .photo .photo-inner {
  max-height: 900px;
 }
}