/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
/* 【変更点】positionをfixedに変更し、JSの座標指定(top, left)を!importantで上書きして中央配置に固定 */
#colorbox {
    position: fixed !important; 
    top: 50% !important; 
    left: 50% !important; 
    transform: translate(-50%, -50%) !important; 
    z-index: 9999; 
    overflow: visible !important; 
    outline: 0;
    -webkit-transform: translate(-50%, -50%) !important;
}

#colorbox,#cboxWrapper,#cboxContent,#cboxLoadedContent{height: auto !important;}
#cboxLoadedContent{ aspect-ratio: 560/360;}
#colorbox{aspect-ratio: 560/400;}

#cboxOverlay {
    position: fixed; 
    width: 100%; 
    height: 100%; 
    top: 0; 
    left: 0; 
    z-index: 9998; 
    overflow: hidden;
}

#cboxWrapper {
    position: absolute; 
    top: 0; 
    left: 0; 
    z-index: 9999; 
    overflow: hidden; 
    max-width: none;
}

#cboxMiddleLeft, #cboxBottomLeft { clear: left; }
#cboxContent { position: relative; }
#cboxLoadedContent { overflow: auto; -webkit-overflow-scrolling: touch; }
#cboxTitle { margin: 0; }
#cboxLoadingOverlay, #cboxLoadingGraphic { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow { cursor: pointer; }

/* 【変更点】floatを解除し、レスポンシブに対応 */
.cboxPhoto {
    float: none !important; 
    margin: auto; 
    border: 0; 
    display: block; 
    max-width: 100% !important; 
    height: auto !important; 
    -ms-interpolation-mode: bicubic;
}

.cboxIframe { width: 100%; height: 100%; display: block; border: 0; padding: 0; margin: 0; }
#colorbox, #cboxContent, #cboxLoadedContent { box-sizing: content-box; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; }

/* User Style:
    Change the following styles to modify the appearance of Colorbox.
*/
#cboxOverlay { background: #000; opacity: 0.9; filter: alpha(opacity = 90); }

/* 【変更点】モーダルの横幅が画面を超えないように制限 */
#cboxContent { 
    max-width: 95vw; /* 画面幅の95%を上限にする */
}

.cboxIframe { background: #fff; }
#cboxError { padding: 70px; border: 1px solid #ccc; }
#cboxLoadedContent { background: #fff; width: 100% !important; }
#cboxTitle { position: absolute; top: -20px; left: 0; color: #ccc; }
#cboxCurrent { position: absolute; top: -20px; right: 0px; color: #ccc; }
#cboxLoadingGraphic { background: url(images/loading.gif) no-repeat center center; }

/* Buttons */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose { border: 0; padding: 0; margin: 0; overflow: visible; width: auto; background: none; }
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active { outline: 0; }
#cboxSlideshow { position: absolute; top: -20px; right: 90px; color: #fff; }

#cboxPrevious { position: absolute; top: 50%; left: 5px; margin-top: -32px; background: url(images/controls.png) no-repeat top left; width: 28px; height: 65px; text-indent: -9999px; }
#cboxPrevious:hover { background-position: bottom left; }

#cboxNext { position: absolute; top: 50%; right: 5px; margin-top: -32px; background: url(images/controls.png) no-repeat top right; width: 28px; height: 65px; text-indent: -9999px; }
#cboxNext:hover { background-position: bottom right; }

#cboxClose { 
    /*
    position: absolute; 
    top: 3px; 
    right: 3px; 
    */
    margin: 20px auto 0;
    font-size: 1rem; 
    display: block;
    background-color: #fff;
    color: #333; 
    padding: 0.7em 1em; 
    line-height: 1; 
    letter-spacing: 0.1em; 
    font-weight: 400; 
    border-radius: 1.5em;
}
#cboxClose:hover { background-color: #BDFF00;}

/* --- Responsive & Force Center Overrides --- */

/* モニターサイズに合わせたコンテンツ幅の制御（JSの指定を無効化） */
#cboxLoadedContent {
    width: 100% !important;
}

/* モバイル対応：画面が小さい時は閉じるボタンを押しやすく */
@media screen and (max-width: 480px) {
    #cboxTitle {
        font-size: 12px;
        top: -25px;
    }
}


.movieBlock {
  background-color: #000;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.movieBlock iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}