/*
    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;}
#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;}
#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{background:url(../img/colorbox/overlay.png) repeat 0 0;}
#colorbox{outline:0;}
    /*#cboxTopLeft{width:21px; height:21px; background:url(../img/colorbox/controls.png) no-repeat -101px 0;}*/
    /*#cboxTopRight{width:21px; height:21px; background:url(../img/colorbox/controls.png) no-repeat -130px 0;}*/
    /*#cboxBottomLeft{width:21px; height:21px; background:url(../img/colorbox/controls.png) no-repeat -101px -29px;}*/
    /*#cboxBottomRight{width:21px; height:21px; background:url(../img/colorbox/controls.png) no-repeat -130px -29px;}*/
    /*#cboxMiddleLeft{width:21px; background:url(../img/colorbox/controls.png) left top repeat-y;}*/
    /*#cboxMiddleRight{width:21px; background:url(../img/colorbox/controls.png) right top repeat-y;}*/
    /*#cboxTopCenter{height:21px; background:url(../img/colorbox/border.png) 0 0 repeat-x;}*/
    /*#cboxBottomCenter{height:21px; background:url(../img/colorbox/border.png) 0 -29px repeat-x;}*/
    #cboxContent{ overflow:hidden;}
        .cboxIframe{}
        #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;}
        #cboxLoadingOverlay{background:url(../img/colorbox/loading_background.png) no-repeat center center;}
        #cboxLoadingGraphic{background:url(../img/colorbox/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:0; left:0; background:url(../img/colorbox/controls.png) no-repeat -75px 0; width:25px; height:25px; text-indent:-9999px;}
        #cboxPrevious:hover{background-position:-75px -25px;}
        #cboxNext{position:absolute; bottom:0; left:27px; background:url(../img/colorbox/controls.png) no-repeat -50px 0; width:25px; height:25px; text-indent:-9999px;}
        #cboxNext:hover{background-position:-50px -25px;}
        #cboxClose{position:absolute; top:15px; right:15px; background:url(../img/colorbox/bt_close_modal.png) no-repeat 0 0; width:19px; height:19px; text-indent:-9999px;display: none;}

/*
  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);
}


 .cboxIframe{
    margin: 0;
    padding: 0;
    border-radius: 10px;
 }
 #cboxLoadedContent{
    margin: 0;
    padding: 0;
 }

/* #3340 */
#cboxLoadedContent > p {
    height: 100%;
}


#modal{
    background: #f4f3f3;
    margin: 0;
    padding: 0;
    /*font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#modalcontents h1{
    margin: 0;
    padding-top: 25px;
    color: #595757;
    font-size: 28px;
    text-align: center;
    background: #fff;
    line-height: 28px;
}
.signin #modalcontents h1 {
  padding: 40px 0 10px 0;
}
#modalcontents #cancel {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }
#modalcontents #cancel{
    position:absolute;
    top:15px;
    right:15px;
    background:url(../img/colorbox/bt_close_modal.png) no-repeat 0 0;
    width:19px;
    height:19px;
    text-indent:-9999px;
    cursor: pointer;
}
#modalcontents #cancel:active {outline:0;}
#modalcontents .formbox{
    background: #fff;
    padding-bottom: 5px;
}
.signin #modalcontents .formbox {
    padding-bottom: 25px;
}
#modalcontents .formboxinner{
    margin: 0 auto;
    text-align: center;
    width: 300px;
}
#modalcontents .formbox p{
    margin: 0;
    padding: 0;
}
#modalcontents .messages .login_error_txt{
    color:red;
    font-size: 12px;
    background: #fff;
    margin: 0 auto;
    text-align: center;
}
#modalcontents .formbox .input1{
    padding-top:20px;
    position: relative;
}
/*#modalcontents .formbox .input1 .error_area,
#modalcontents .formbox .input1 .ok_area{
    display: none;
}
#modalcontents .formbox.ok .input1 .ok_area,
#modalcontents .formbox.error .input1 .error_area{
    display: block;
}*/
#modalcontents .formbox .input1 .ok_area .icon,
#modalcontents .formbox .input1 .error_area .icon{
    position: absolute;
    margin-top: -28px;
    display: block;
}
#modalcontents .formbox .input1 .ok_area .txt1,
#modalcontents .formbox .input1 .error_area .txt1{
    position: absolute;
    left: 0px;
    top: 60px;
    color: #4d94db;
    font-size: 12px;
    width: 312px;
    text-align:left;
}
#modalcontents .formbox .input2{
    margin-top:40px;
    position: relative;
}
#modalcontents .formbox .input1 .normaltxt1{
    position: absolute;
    left: 5px;
    top: 60px;
    font-size: 12px;
    color: #a2a0a0;
}
#modalcontents .formbox .input2 .normaltxt1{
    position: absolute;
    left: 5px;
    top: 40px;
    font-size: 12px;
    color: #a2a0a0;
}
/*#modalcontents .formbox.ok .input2 .normaltxt1,
#modalcontents .formbox.error .input2 .normaltxt1{
    display: none;
}
#modalcontents .formbox .input2 .ok_area,
#modalcontents .formbox .input2 .error_area{
    display: none;
}
#modalcontents .formbox.ok .input2 .ok_area,
#modalcontents .formbox.error .input2 .error_area{
    display: block;
}*/
#modalcontents .formbox .input2 .ok_area .icon,
#modalcontents .formbox .input2 .error_area .icon,
#modalcontents .formbox .input4 .ok_area .icon,
#modalcontents .formbox .input4 .error_area .icon{
    position: absolute;
    margin-top: -28px;
    display: block;
}
#modalcontents .formbox .input2 .ok_area .txt1,
#modalcontents .formbox .input2 .error_area .txt1{
    position: absolute;
    left: 0px;
    top: 40px;
    color: #4d94db;
    font-size: 12px;
    width: 312px;
    text-align:left;
}
#modalcontents .formbox .input3{
    margin-top:40px;
    position: relative;
}
#modalcontents .formbox .input3 .normaltxt1{
    position: absolute;
    left: 5px;
    top: 40px;
    font-size: 12px;
    color: #a2a0a0;
}
#modalcontents .formbox .input3 .ok_area .icon,
#modalcontents .formbox .input3 .error-icon{
    position: absolute;
    margin-top: -28px;
    display: block;
}
#modalcontents .formbox .input3 .ok_area .txt1,
#modalcontents .formbox .input3 .error_area .txt1,
#modalcontents .formbox .input4 .ok_area .txt1,
#modalcontents .formbox .input4 .error_area .txt1{
    position: absolute;
    left: 0px;
    top: 40px;
    color: #4d94db;
    font-size: 12px;
    width: 312px;
    text-align:left;
}

#modalcontents .formbox .input3,
#modalcontents .formbox .input4 {
    margin-top: 40px;
    position: relative;
    text-align: center;
}

#modalcontents .formbox .input3 .txt1 {
    margin-top: 5px; /* 各メッセージ間の間隔を確保 */
    display: contents; /* コンテンツ要素として表示 */
    word-break: normal;
}

#modalcontents .formbox .input3 .ok_area,
#modalcontents .formbox .input3 .error_area,
#modalcontents .formbox .input4 .ok_area,
#modalcontents .formbox .input4 .error_area {
    display: block;
    text-align: left;
}
#modalcontents .formbox .input3 .ok_area,
#modalcontents .formbox .input3 .password-required {
    position: absolute;
    width: 300px;
}
/*#modalcontents .formbox .check1 .ok_area,
#modalcontents .formbox .check1 .error_area{
    display: none;
}
#modalcontents .formbox.ok .check1 .ok_area,
#modalcontents .formbox.error .check1 .error_area{
    display: block;
}*/
#modalcontents .formbox.ok .check1 .ok_area .icon,
#modalcontents .formbox.error .check1 .error_area .icon{
    position: absolute;
    margin-top: -14px;
    display: block;
}
#modalcontents .formbox input[type=text],
#modalcontents .formbox input[type=password]{
    margin: 0;
    padding: 8px 10px;
    display: inline-block;
    border:#dedede 1px solid;
    border-radius: 3px;
    background-color: #f9f8f8;
    font-size: 16px;
    width: 290px;
}

#modalcontents .formbox input[type=text].error,
#modalcontents .formbox input[type=password].error{
    background-color: #fffcd3;
}
#modalcontents .formbox .check1{
    margin-top:40px;
    text-align: center;
    font-size: 14px;
    color: #595758;
    position: relative;
    line-height:100%;
}
#modalcontents .formbox .check1 a{
    color: #e5555e;
}
#modalcontents .formbox .check1 a:hover{
    text-decoration: none;
}
#modalcontents .formbox .btType1{
    margin: 20px auto 0 auto;
    width: 230px;
    height: 46px;
    display: block;
    text-decoration: none;
    color: #fff;
    text-shadow: 1px 1px rgb(170, 25, 25), -1px -1px #AA1919;
    font-size: 16px;
    font-weight: bold;
    background: url(../img/common/bt_login_out.png) 0 0 no-repeat;
}
#modalcontents .formbox .btType1:hover{
    background: url(../img/common/bt_login_on.png) 0 0 no-repeat;
}
#modalcontents .formbox .btType1 span{
    padding-top: 12px;
    display: block;
}
#modalcontents .formbox .link1{
    padding-top: 15px;
}
#modalcontents .formbox .link1 a{
    color: #e5555e;
    font-size: 12px;
}
#modalcontents .formbox .link1 a:hover{
    text-decoration: none;
}
#modalcontents .formbox .contact {
    position: relative;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    text-align: -webkit-center;
    padding-top: 30px;
}

#modalcontents .formbox .contact p{
    width: max-content;
    padding-bottom: 30px;
    color: #595758;
}

#modalcontents .formbox .contact .link1{
    color: #595758;
}

#modalcontents .snsloginbox {
    padding: 10px 20px 10px 20px;
    background-color: #f4f3f3;
    overflow: hidden;
    text-align: center;
}
#modalcontents .snsloginbox p{
    margin: 0;
    padding: 0;
    color: #7d7d7d;
    font-size: 12px;
}
#modalcontents .snsloginbox p a img{
    border:none;
}
#modalcontents .snsloginbox p.bt_fb{
    padding-top: 5px;
    display: inline-block;
}
#modalcontents .snsloginbox p.bt_fb a{
    display: block;
    width: 190px;
    height: 36px;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../img/common/bt_fblogin_ja_out.png) 0 0 no-repeat;
}
#modalcontents .snsloginbox p.bt_fb a:hover{
    background: url(../img/common/bt_fblogin_ja_on.png) 0 0 no-repeat;
}
.en #modalcontents .snsloginbox p.bt_fb a{
    background: url(../img/common/bt_fblogin_en_out.png) 0 0 no-repeat;
}
.en #modalcontents .snsloginbox p.bt_fb a:hover{
    background: url(../img/common/bt_fblogin_en_on.png) 0 0 no-repeat;
}
#modalcontents .snsloginbox p.bt_google{
    padding-top: 5px;
    display: inline-block;
}
#modalcontents .snsloginbox p.bt_google a{
    display: block;
    width: 190px;
    height: 36px;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../img/common/bt_google_login_ja_out.png) 0 0 no-repeat;
}
#modalcontents .snsloginbox p.bt_google a:hover{
    background: url(../img/common/bt_google_login_ja_on.png) 0 0 no-repeat;
}
.en #modalcontents .snsloginbox p.bt_google a{
    background: url(../img/common/bt_google_login_en_out.png) 0 0 no-repeat;
}
.en #modalcontents .snsloginbox p.bt_google a:hover{
    background: url(../img/common/bt_google_login_en_on.png) 0 0 no-repeat;
}
#modalcontents .snsloginbox p.bt_naver{
    padding-top: 5px;
    display: inline-block;
}
#modalcontents .snsloginbox p.bt_naver a{
    display: block;
    width: 125px;
    height: 36px;
    overflow: hidden;
    text-indent: -9999px;
    background: url(../img/common/bt_naver_login_ko_out.png) 0 0 no-repeat;
}
#modalcontents .videoBox{
    margin: 50px auto 0 auto;
    width: 854px;
}

#modalcontents .icon{
    right: -30px;
}
.input3 .error-icon {
    right: -30px;
    position: absolute;
    margin-top: -28px;
    display: block;
}

#modalcontents .desc_flow,
#modalcontents .desc_plan {
  text-align: center;
  background-color: #fff;
  padding-top: 5px;
}
#modalcontents .desc_flow span {
  color: red;
}
#modalcontents .desc_plan span {
  font-size: 14px;
}

.nonHover:hover{
    text-decoration: none;
    color: inherit;
    background: none;
    cursor: default;
}

/* モバイル */
@media only screen and (max-width: 1024px) {
#modalcontents .formbox .input2,
#modalcontents .formbox .input3,
#modalcontents .formbox .check1 {
    margin-top:40px;
}
}

/* スマートフォン */
@media only screen and (max-width: 320px) {
#modalcontents .formbox .input2,
#modalcontents .formbox .input3 {
    margin-top:40px;
}
#modalcontents .formbox .check1 {
    margin-top:60px;
}
}

@media screen and (max-width: 768px) {
  .mobile-break {
    display: inline;
  }
}

@media screen and (min-width: 769px) {
  .mobile-break {
    display: none;
  }
}
