@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Roboto:wght@900&display=swap');

:root{
    --dark-blue-bg: #303c54;
    --main-light-bg: #eeeeee;
    --border-color: #d9d9d9;
    --blue-color: #4285f4;
    --text-color: #494848;
    --category-text-size: 15px;
    --green-color: #008000;
    --modal-bg: black;
    ---modal-opacity: 70%;
}
body{
    width: 100vw;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
}

#js_success{
    position: absolute;
    top: 58px;
    background: white;
    padding: 10px 20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    border: 1px solid gray;
    border-radius: 9px;
    z-index: 999;
}
p{
    font-size: 18px;
}
a{
    font-size: 17px;
}
.modal-font-size{
    font-size: 17px;
}


*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    /* font-family: 'Inter', sans-serif; */
    /* overflow-x: hidden; */
}

/* ################################################# */
/* font size */
/* ################################################# */

.label{
    font-size: 15px;
    color: #444;
}
.alert_txt{
    font-size: 13px;
    margin-top: 3px;
}
.alert_active{
    border: 1.5px solid red !important;
}

/* ################################################# */
/* color */
/* ################################################# */

.white{
    color: rgba(255, 255, 255, 0.815);
}
.blue{
    color: blue;
}
.domain_color{
    color: var(--blue-color);
}
.red{
    color: red !important;
}
.green{
    color: green !important;
}
.text_color{
    color: var(--text-color);
}
.bg-red{
    background-color: red;
}
.bg-white{
    background-color: white;
}
.border{
 border: 1px solid var(--border-color);
}
h2{
    font-size: 1.4rem;
}
/* ######################################################
padding, margin
#########################################################*/
.margin_0{
    margin: 0;
}
.padding_t5{
    padding-top: 5px;
}
.padding_t10{
    padding-top: 10px;
}
.padding_t20{
    padding-top: 20px;
}
.padding_t30{
    padding-top: 30px;
}
.padding_t40{
    padding-top: 40px;
}
.padding_t50{
    padding-top: 50px;
}
.padding_t60{
    padding-top: 60px;
}
.padding_t70{
    padding-top: 70px;
}
.padding_t80{
    padding-top: 80px;
}
.margin_t10{
    margin-top: 10px;
}
.margin_t30{
    margin-top: 30px;
}
/* ###################################################### */
/* その他共通スタイル */
/* ####################################################### */
.absolute{
    position: absolute;
}
.relative{
    position: relative;
}
.fixed{
    position: fixed;
}
.sticky{
    position: sticky;
}
.c{
    text-align: center;
}
.bold{
    font-weight: bold;
}
.light{
    font-weight: normal;
}
.hidden{
    display: none !important;
}
.pointer{
    cursor: pointer;
}
.prohibited{
    cursor: not-allowed;
}

.scrollbar_none::-webkit-scrollbar{
    display: none;
}

.disabled_btn{
    opacity: 50%;
    pointer-events: none ;
    cursor: none !important;
}
.enabled_btn{
    pointer-events: auto !important;
    cursor:pointer !important;
}
.button_none{
    background: none;
    border: none;
    display: flex;
    align-items: center;
    gap: 11px;
}
.container_paddingRL{
    padding-right:60px;
    padding-left:60px;
}
.box_paddingRL{
    padding-right: 40px;
    padding-left: 40px !important;
}
.textdecoration_none{
    text-decoration: none;
}
.modal_btn{
    width: 244px;
    border: none;
    padding: 10px;
    border-radius: 51px;
}
.add_btn{
    background: rgb(206, 206, 206);
    border: none;
    padding: 10px 30px;
    border-radius: 3px;
}
.info_btn{
    border: 2px solid var(--border-color);
    border-radius: 50%;
    width: 22px;
    height: 22px;
    text-align: center;
    color: rgba(0, 0, 0, 0.342);
    font-size: 12px;
    font-weight: bold;
}

/* スライドモーダル共通 */
/* モーダル背景 */
.bg-gray{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--modal-bg);
    opacity: var(---modal-opacity);
    z-index: 998;
}
.bg-gray2{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--modal-bg);
    opacity: var(---modal-opacity);
    z-index: 998;
}


/* 共通レイアウト */
.domain_wrapper{
    width: 1200px;
    min-height: 100vh;
    background-color: var(--main-light-bg);
    overflow-x: hidden;
    overflow-y: clip;
}

.domain_top_container{
    background-color: var(--dark-blue-bg);
    color: white;
    padding-top: 30px;
    padding-bottom: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/*  ドメイン編集、削除などのモーダル */
.admin_modal_container{
    /* width: 100px; */
    /* height: 50px; */
    background-color: white;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    z-index: 999;
    border-radius: 8px;
    padding: 20px;
}
.modal_item{
    display: flex;
    align-items: center;
    padding: 15px;
    gap: 10px;

}
.icon{
    width: 20px;
    height: 20px;
}
.slideInFromBottom{
  animation: slideInFromBottom 0.3s ease-in-out;
  -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
}

/* アニメーション */
.modal_slideIn{
    display: block;
    -webkit-animation-name: slideIn;
            animation-name: slideIn;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
        

}
.modal_slideOut{
    display: block;
    -webkit-animation-name: slideOut;
            animation-name: slideOut;
    -webkit-animation-duration: 0.5s;
            animation-duration: 0.5s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
        

}


@keyframes slideIn {
    from {
        transform: translateX(960px); 
    }
    to {
        transform: translateX(0px); 
    }
}
@keyframes slideOut {
    from {
        transform: translateX(0px); 
    }
    to {
        transform: translateX(960px); 
    }
}

@keyframes slideInFromBottom {
    0% {
        height: 103px; /* 初期位置: 下方向に100%移動 */
        opacity: 0; /* 初期状態: 不透明度0 */
    }
    100% {
        height: 337px; /* 最終位置: 下方向に0移動 (元の位置) */
        opacity: 1; /* 最終状態: 不透明度1 */
    }
}

/* プラグイン */
/* .ace_gutter-cell {
   height: 20px !important;
}
.ace_line{
    height: 20px !important;
} */
/* #editor{
    height: 254px !important;
    width: 93% !important;
} */

.loading{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 999;
    width: 93px;
}
.folder_icon{
    width: 103%;
    padding-right: 5
}


.overflow_copy{
    overflow: hidden;
    width: 100%;
    display: block;
    overflow-wrap: break-word;

}
.img_container{
    width: 27px;
}
.copy_icon{
    width: 103%;
}
.domain_title{
    max-width: 1086px;
    word-wrap: break-word;
    overflow-wrap: break-word;

}
.hyper_link{
    width: 300px;
}
.tag_name{
    max-width: 300px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.scroll{
    max-width: 872px;
    display: block;
    overflow-wrap: anywhere;
}

#js_info_btn{
    cursor: pointer;
}

.border_under {
    background: linear-gradient(transparent 50%, #ffff00 10% 90%, transparent 90%);
}
.user_icon{
    width: 30px;
    height: 30px;
}
.user_flex{
    display: flex;
    justify-content: space-between;
    width: 100%;
}