@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css2?family=Bowlby+One&display=swap');

body {
background-image: url(img/komabg-light.webp);
background-size: 50%;
background-position: top -10px center;
background-color: #faeae9;
font-family: "Noto Sans JP", sans-serif;
box-sizing: border-box;
}

.container {
max-width: 800px;
background-color: rgba(255, 255, 255, 0.9);
border-radius: 10px;
margin: 1rem auto 1rem auto;
padding: 1rem 3rem 2rem 3rem;
box-shadow: 0 0 5px 5px rgb(0 0 0 / 10%);
}

.mlogo {
display: block;
width: 100%;
max-width: 500px;
margin: 0 auto 1em;
}

.logodesc {
padding: .7em 1em;
border: 1px solid #ccc;
border-radius: 8px;
background-color: #fef9f9;
}

.logodesc .subt {
margin-bottom: 0;
font-weight: bold;
font-style: italic;
color: #e4318d;
}

.logodesc .desc {
margin-bottom: 0;
font-size: 90%;
}

.ytvid {
aspect-ratio: 16 / 9;
width: 100%;
margin-top: 2rem;
}

@media screen and (max-width: 800px) {
  .ytvid {
    margin-top: 1rem;
  }
}


.mcontainer {
max-width: 800px;
margin: 1rem auto 0 auto;
padding: 0;
}

.mcontainer > .mrow {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
gap: 1rem;
/* margin-bottom: 1.5em; */
}

.mcontainer > .mrow.sa {
justify-content: space-around;
}

.mcontainer > .mrow.fs {
justify-content: flex-start;
}

.mcontainer > .mrow > a {
display: block;
position: relative;
width: 185px;
height: 185px;
background-color: rgba(255, 255, 255, 0.9);
border-radius: 10px;
box-shadow: 0 0 5px 5px rgb(0 0 0 / 10%);
padding: 1em;
}

.mcontainer > .mrow > a.ph {
background-color: transparent;
border-radius: 0;
box-shadow: none;
padding: 0;
margin: 0;
height: 0;
}

.mcontainer > .mrow > a:hover {
transform: scale(1.05);
transition: transform 250ms ease-in-out;
border: 2px solid #e3318c;
cursor: pointer;
}

.mcontainer > .mrow > a.ph:hover {
transform: none;
transition: none;
border: none;
cursor: default;
}

.mcontainer > .mrow > a > .timg > img {
max-width: 100%;
max-height: 100%;
margin: 0 auto;
}

.mcontainer > .mrow > a > .timg > img.port {
max-width: 65%;
}

.mcontainer > .mrow > a > .timg {

display: flex;
align-items: center;

max-width: 100%;
max-height: 100%;
aspect-ratio: 1/1;
margin: 0 auto;
}

.mcontainer > .mrow > a > .tcopy {
position: absolute;
right: 8px;
bottom: 4px;
font-size: 8px;
}

@media screen and (max-width: 800px) {
  .mcontainer > .mrow > a {
    width: calc(90vw / 3);
    height: calc(90vw / 3);
  }
}
@media screen and (max-width: 600px) {
  .mcontainer > .mrow > a {
    width: calc(90vw / 2);
    height: calc(90vw / 2);
  }
}



.modal-dialog {
max-width: 98%;
}

.modal-manga {
height:calc(90vh - 140px);
}

.manga-panel {
display: flex;
align-items: center;
}
.manga-panel-img {
position: relative;
flex: 1 1 66%;
height:calc(90vh - 140px - 2rem);
}

.manga-panel-img > div.imgwrap {
display: flex;
align-items: center;
}

.manga-panel-img > div.imgwrap img{
padding-bottom: 25px;
}

.manga-panel-img > div.copywrap {
position: absolute;
right: 0;
bottom: 0;
font-size: 18px;
}


@media screen and (max-width: 600px) {
  .manga-panel-img > div.copywrap {
  position: absolute;
  right: 0;
  bottom: 0;
  font-size: 14px;
  }
}

.manga-panel-txt {
height:calc(90vh - 140px - 2rem);
overflow-y: auto;
flex: 1 1 33%;
padding: 0 2em 0 2em;
border-left: 1px solid #ccc;
margin-left: 2em;
display: flex;
align-items: center;
}

.manga-txt {
max-height: 100%;
}

@media screen and (max-width: 1100px) {
  .modal-manga {
    overflow: auto !important;
  }
  .manga-panel-img {
    height: auto;
  }
  .manga-panel-txt {
    height: auto;
    border: none;
    margin: 0;
  }
}

.manga-panel-port .manga-panel-img {
flex: 1 1 50%;
}
.manga-panel-port .manga-panel-txt {
flex: 1 1 50%;
}

.manga-panel-img img {
max-height: calc(90vh - 140px - 2rem);
}

.modal-manga h2 {
margin-top: 2rem;
font-size: 1.4rem;
text-align: center;
}

.modal-manga img {
display: block;
max-width: 100%;
margin: 0 auto;
}

.modal-manga p {
/*
padding-left: 3em;
padding-right: 3em;
*/
}

.modal-footer {
justify-content: center;
}


.container.footer {
margin-top: 0;
}

.schedTab table {
width: 100%;
margin-bottom: 4em;
}
.schedTab table tr th {
border: 1px solid #ccc;
text-align: center;
font-weight: bold;
background-color: #f5d9e8;
}
.schedTab table tr {
background-color: white;
}
.schedTab table tr td {
border: 1px solid #ccc;
padding: 3px;
text-align: center;
}
.schedTab table tr:nth-child(odd) {
background-color: #fef9f9;
}
.schedTab table caption{
text-align: right;
}

.links {
display: flex;
justify-content: space-around;
margin-top: 8em;
}
.links a { 
display: block;
width: 30%;
min-width: 200px;
margin-top: .5em;
}
.links a:hover { 
text-decoration: none;
}
.links a img { 
width: 100%;
border-radius: 4px;
border: 1px solid #ccc;
}

.copy {
text-align: center;
margin: 3em 0 1em 0;
font-size: 80%;
}

.vbox-next {
right: 20px !important;
}
.vbox-close {
top: 10px !important;
right: 10px !important;
}

.sponly {
display: none;
}

@media screen and (max-width: 1100px) {
  .manga-panel {
  display: block;
  }
}

@media screen and (max-width: 800px) {

  .container {
    max-width: 95%;
    margin: 1rem auto 1rem auto;
    padding: 1em 1em;
  }

  h1 .mag {
    font-size: 48px;
  }

  .balloon {
    padding: 1rem;
    border-radius: 12px;
  }

  .mcontainer {
    max-width: 95%;
  }

  .mcontainer > .mrow {
    column-gap: 0;
    row-gap: 1rem;
  }

  .mcontainer > .mrow > a {
    padding: .5em;
  }

/*
  .modal-manga img.mpport {
    max-width: 100%; max-height: 100%;
  }
*/

  .manga-panel-txt {
  padding: 0 1em;
  }

  .schedTab table {
    font-size: .8rem;
  }

  .links {
    flex-direction: column;
    align-items: center;
    margin-top: 4em;
  }

  .sponly {
    display: block;
  }
  .pconly {
    display: none;
  }

}

