/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden; -webkit-transform: translate3d(0,0,0);}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#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;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -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.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{opacity: 1 !important;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background-color: rgba(22,11,8,.35);}
#colorbox{outline:0;}
    /*#cboxTopLeft{width:21px; height:21px; background:url(../images/common/prev.png) no-repeat 0 0;}
    #cboxTopRight{width:21px; height:21px; background:url(images/controls.png) no-repeat -130px 0;}
    #cboxBottomLeft{width:14px; height:24px; background:url(../images/common/prev.png) no-repeat 0 0;}
    #cboxBottomRight{width:14px; height:24px; background:url(../images/common/next.png) no-repeat 0 0;}*/
    /*#cboxMiddleLeft{width:21px; background:url(../images/common/prev.png) no-repeat 0 0;}
    #cboxMiddleRight{width:21px; background:url(images/controls.png) right top repeat-y;}*/
    #cboxTopCenter{height:21px; background:url(images/border.png) 0 0 repeat-x;}
    #cboxBottomCenter{height:21px; background:url(images/border.png) 0 -29px repeat-x;}
    #cboxContent{/*background:#fff; overflow:hidden;*/}
        /**/.cboxIframe{background:#fff;}
        #cboxError{padding:50px; border:1px solid #ccc;}
        /*#cboxLoadedContent{margin-bottom:28px;}*/
        #cboxTitle{position:absolute; bottom:4px; left:0; text-align:center; width:100%; color:#949494;}
        #cboxCurrent{position:absolute; bottom:4px; left:58px; color:#949494; display: none !important;}
        #cboxLoadingOverlay{background:url(images/loading_background.png) no-repeat center center;}
        #cboxLoadingGraphic{background:url(images/loading.gif) no-repeat center center;}

        /* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
        #cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
        
        /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
        #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

        #cboxSlideshow{position:absolute; bottom:4px; right:30px; color:#0092ef;}
        #cboxPrevious{position:absolute; bottom: 70px; left: 100px; background:url(../images/common/prev.png) no-repeat 0 0; width:25px; height:25px; text-indent:-9999px;}
        /*#cboxPrevious:hover{background-position:-75px -25px;}*/
        #cboxNext{position:absolute;  bottom: 70px;  right:80px; background:url(../images/common/next.png) no-repeat 0px 0; width:25px; height:25px; text-indent:-9999px;}
        /*#cboxNext:hover{background-position:-50px -25px;}*/
        #cboxClose{ position:absolute; bottom:0; right:0;
             background:url(../images/common/close.png) no-repeat 0px 0 #1e2b5a; 
             width:80px; height:80px;
              text-indent:-9999px;
                background-size: 100% auto;
                outline: none;
                transition: .35s;
                box-sizing: border-box;
            }      

/*
  The following fixes a problem where IE7 and IE8 replace a PNG's alpha transparency with a black fill
  when an alpha filter (opacity change) is set on the element or ancestor element.  This style is not applied to or needed in IE9.
  See: http://jacklmoore.com/notes/ie-transparency-problems/
*/
.cboxIE #cboxTopLeft,
.cboxIE #cboxTopCenter,
.cboxIE #cboxTopRight,
.cboxIE #cboxBottomLeft,
.cboxIE #cboxBottomCenter,
.cboxIE #cboxBottomRight,
.cboxIE #cboxMiddleLeft,
.cboxIE #cboxMiddleRight {
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00FFFFFF,endColorstr=#00FFFFFF);
}



/* FullScreen SETTINGS */
#modalwrap{display:none;}
.modalbox{ position: relative; }
/* モーダルのコンテンツ */
.m_title_style01{ letter-spacing: -0.6px;   border-bottom:1px solid #dadbdd; }
.m_title_style01 span{ 
	font-family:  "YakuHanMP","Zen Old Mincho", serif;
	font-weight: 600; }

.m_title_style01 span::before {
	font-family:'YakuHanJP','Noto Sans JP',"游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	 line-height: 1.4em; position: relative;
    display: block;
    content: attr(data-before-content);
    letter-spacing: 0;
    font-weight: 700;
	}


  .modal_contents_box{ display: flex; justify-content: space-between;
    box-sizing: border-box;}
  .m_f_text{ margin-top: -10px; letter-spacing: -0.08em;}


#modal_contents {
    width: 100%;
    border: solid 1px #1e2b5a;
    background-color: #fff;
    box-sizing: border-box;
    overflow-x: hidden;
    position: relative;
  }

#cboxContent{padding:0;overflow: visible; list-style: none;}
.m_f_text a{ text-decoration: underline; color: #1e2b5a;}
a,button {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

@media screen and (min-width:641px){
    #cboxLoadedContent{margin:50px;}
    #cboxClose{width: 80px; height: 80px;}
        /* Chrome Edge(Chromium) Safari Opera */
        @media screen and (-webkit-min-device-pixel-ratio: 0) {
            #cboxPrevious,
            #cboxNext { bottom:80px }
            }
        /* Firefox */
        @-moz-document url-prefix() {
            #cboxPrevious,
            #cboxNext { bottom:70px }
        }

    .modal_contents_box{ padding:0 2%; width: 96%; }
  .m_mv{width: 46.8%; max-width: 380px;}
  .m_f_text{ width: 46%; margin-left:6%; font-size: 18px; }
  .m_title_style01{ padding-bottom: 30px; margin-bottom: 50px; }
  .m_title_style01 span{ font-size: 4.75rem; line-height:1.2em;}
  .m_title_style01 span::before{ font-size: 2.2rem;margin-bottom: 20px;}
  .m_title_style01 span{ letter-spacing: -4.35px;}
  .m_mv img{ max-width: 380px; }
  
  }
  
  
  @media screen and (max-width:1100px) and (min-width:641px) {
    .m_mv img{ margin-bottom: 4%;}
    #cboxClose{width:45px;height:45px;right: 25px;top: 25px;}
    #modal_contents{ max-width: 85vw; height: /*702px*/108vw;}

  }
  
  @media screen and (min-width:1101px){
    #modal_contents {padding: 50px 5% 75px; max-width: 1000px; min-width: 1000px; height: 635px; }
    #cboxClose:hover{background-position:0 0; background-color: #0092ef;}
    #cboxClose{right:10px; top:10px; }
    .m_f_text a:hover{color: #0092ef;}
  }
  
  @media screen and (max-width:1100px){
    #modal_contents{  padding: 5% 5% 75px;width: 100%;}
    .m_mv img{ width: 100%;  }
  
  }

  @media screen and (max-width:640px){
    #cboxLoadedContent {margin: 9vw 6vw 6vw;}
    #modal_contents{ max-width: 83vw; padding-bottom: 2%; height:490px;}
    #cboxClose{ background-size: 100%; width: 45px; height: 45px;right: 6vw; top:-10px;}
    .modal_contents_box{ flex-wrap: wrap; }
    .m_mv,.m_f_text{width: 100%; }
  .m_f_text{  font-size: 3vw; line-height: 1.8em; letter-spacing: 0.5px;}
  .m_title_style01{ padding-bottom: 3%; margin-bottom: 5%; line-height: 1.6em;}
  .m_title_style01 span{ font-size: 5.5vw; letter-spacing: -0.5px; line-height:1.2em;}
  .m_title_style01 span::before{ font-size: 2.9vw; margin-bottom: 3%;}
  
  /*#swipebox.lightbox__slide{ height:115vw; overflow-y: scroll; }*/
  .m_mv img{ margin-bottom: 8%;}
  #cboxPrevious, #cboxNext{ background-size: 35%; width: 10px; height: 15px; padding: 15px;
     bottom: 6%;background-position: center ; z-index: 999;
    /*background-color: #ccc;*/}
  #cboxPrevious{left: 9vw;}
  #cboxNext{ right: 8vw;}
      /* Chrome Edge(Chromium) Safari Opera */
      @media screen and (-webkit-min-device-pixel-ratio: 0) {
        #cboxPrevious, #cboxNext { bottom: 5.5%; }
        }
    /* Firefox */
    @-moz-document url-prefix() {
        #cboxPrevious, #cboxNext { bottom: 5.5%;}
    }
        
}
@media screen and (max-width:414px){
#cboxClose{top:-20px;}
}
