/* JPRO追加CSS */

html {
    position: relative;
    min-height: 100%;
}
body {
    /* Margin bottom by footer height */
    /* margin-bottom: 70px; */
    background-color: #FFEFD9 !important;
    color: rgba(120,97,66,1);
}
body.magazine-atsukai {
    /* Margin bottom by footer height */
    /* margin-bottom: 70px; */
    background-color: #e9fdff !important;
    color: rgba(120,97,66,1);
}
/* 2025年JPROのWebページ改修　ここから */
body.top-page {
    background-color: #FFFFFF !important;
}
#jpro-header-nav .jpro-header-inner {
    width: 1134px;
    margin: 0px auto 0px auto;
}
body.top-page .jpro-index-main {
    width: 1134px;
    margin: 0px auto 0px auto;
}
body.top-page .container.home-content {
    padding-left: 0%;
    padding-right: 0%;
}
.jpro-header-title >p {
    margin-bottom:0;
    color:#ff6905
}
.jpro-header-login, .jpro-header-login {
    background-color: #f48e00;
}
.card.jpro-apply-card{
    background-color: palegoldenrod !important;
    border-radius: 20px;
}
.card.jpro-apply-card > div{
    padding: 0;
}
.jpro-header-login:hover {
    background-color: #a36002;
}
.jpro-header-login > a {
    color: #fff;
}
.jpro-home-content {
    background-color:#f9a17b;
}

/* 各種メニューのボタンについて ここから */
/* jpro-menu-card1 ログイン前の「出版権情報」「よくある質問」「お問合せはこちら」に使用 */
.jpro-menu-card1 {
    border-radius: 15px;
    background-color:#f48e00;
    width: 180px;
    height:75px;
    margin:0;
}
.jpro-menu-card1{
    border-radius: 15px;
    background-color:#f9a17b;
    width: 180px;
    height:75px;
    text-decoration:underline;
    font-size:1.25rem;
}

/* jpro-menu-card2 ログイン後の「マニュアル・仕様書」「ためし読みサービス」「よくある質問」に使用 */
.jpro-menu-card2 {
    border-radius: 15px;
    background: linear-gradient(to bottom, #ffffff, skyblue);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    border: none;
    color: #7f6746 !important;
    width: 180px;
    height:100px;
    margin:0;
}
.jpro-menu-card2:hover {
    background: linear-gradient(to bottom, #ffffff, #EED0AA);
    color: #7f6746 !important;
}

/* jpro-menu-card3 ログイン後の「メニュー」「お問合せはこちら」に使用 */
.jpro-menu-card3 {
    border-radius: 15px;
    background: linear-gradient(to bottom, #ffffff, #4088ff);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    border: none;
    color: #7f6746 !important;
    width: 180px;
    height:100px;
    margin:0;
}
.jpro-menu-card3:hover {
    background: linear-gradient(to bottom, #ffffff, #EED0AA);
    color: #7f6746 !important;
}

/* jpro-menu-card4 ログイン前の「出版権情報」「よくある質問」「お問合せはこちら」に使用 */
.jpro-menu-card4 {
    border-radius: 15px;
    background: linear-gradient(to bottom, #ffffff, skyblue);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    border: none;
    color: #7f6746 !important;
    width: 180px;
    height:75px;
    margin:0;
}
.jpro-menu-card4:hover {
    background: linear-gradient(to bottom, #ffffff, #EED0AA);
    color: #7f6746 !important;
}

/* jpro-menu-card5 ログイン前の「センター概要」「サービス概要データの流れ」「利用者一覧」「利用申請」に使用 */
.jpro-menu-card5 {
    border-radius: 15px;
    background: linear-gradient(to bottom, #ffffff, orange);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    border: none;
    color: #7f6746 !important;
    width: inherit;
    height: 100px;
    margin:0;
}
.jpro-menu-card5:hover {
    background: linear-gradient(to bottom, #ffffff, #EED0AA);
    color: #7f6746 !important;
}
/* 各種メニューのボタンについて ここまで */

.home-content .card-body.jpro-home-content,
.home-content .jpro-menu-card .card-body,
.home-content .jpro-apply-card .card-body,
.card.jpro-menu-card1,
.card.jpro-menu-card2,
.card.jpro-menu-card3,
.card.jpro-menu-card4,
.card.jpro-menu-card5{
    border: none;
}

/* 各種メニューで展開する項目について、下線をつけてホバー時に太字にする ここから */
#menu-link-1-area a {
    text-decoration:underline;
}
#menu-link-1-area a:hover {
    font-weight: bold;
}
#index-main-area a {
    text-decoration:underline;
}
#index-main-area a:hover {
    font-weight: bold;
}
#login-menu-container a {
    text-decoration:underline;
}
#login-menu-container a:hover {
    font-weight: bold;
}
/* 各種メニューの要素について、下線をつけてホバー時に太字にする ここまで */

/* カンマ区切りの値を下線で装飾する際に、カンマで下線が切れないようにする ここから */
a, a:link, a:visited {
    text-decoration-skip-ink: none;
}
/* カンマ区切りの値を下線で装飾する際に、カンマで下線が切れないようにする ここまで */

/* 要素の区切りに使う線の設定 ここから */
.jpro-border-top {
    border-top: 3px solid #ffcf8c;
}
.jpro-border-top-dotted {
    border-top: 3px dotted #ffcf8c;
}
.jpro-border-right {
    border-right: 3px solid #ffcf8c;
}
.jpro-border-right-dotted {
    border-right: 3px dotted #ffcf8c;
}
.jpro-border-bottom {
    border-bottom: 3px solid #ffcf8c;
}
.jpro-border-bottom-dotted {
    border-bottom: 3px dotted #ffcf8c;
}
.jpro-border-left {
    border-left: 3px solid #ffcf8c;
}
.jpro-border-left-dotted {
    border-left: 3px dotted #ffcf8c;
}
/* 要素の区切りに使う線の設定 ここまで */

.banner-container {
    background-color: #FFEFD9; /* バナーの背景色 */
    justify-content: space-between; /* 画像間のスペースを均等に配置 */
    display: flex; /* フレックスボックスを使用 */
    margin: 0 auto; /* 中央揃え */
    padding: 10px; /* バナーの内側の余白 */
}
.banner-item {
    text-align: center; /* 画像を中央揃え */
}
.banner-item img {
    height: auto;
    width: auto;
    max-height: 62px; /* 高さの最大値を指定 */
    max-width: 100%; /* 親要素を超えないようにする */
    display: block; /* 画像をブロック要素として扱う */
    margin: 0 auto; /* 中央揃え */
}
/* 2025年JPROのWebページ改修　ここまで */
header {
    height: 69px;
}
/* footerは一番下に配置されるように */
/*
.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    background-color: #fff;
    border-top: 3px solid #ffcf8c;
}
@media (min-width: 992px) {
    .footer {
        position: absolute;
        bottom: 0;
        width: 100%;
        height: 70px;
        padding-right: 15px;
        padding-left: 15px;
        margin-right: auto;
        margin-left: auto;
        display: table;
        text-align: center;
    }
    .footer > div {
        display: table-cell;
        vertical-align: middle;
    }
    .footer ul {
        display: table;
        table-layout: fixed;
        margin: 0 auto;
    }
    .footer ul li {
        display:table-cell;
        padding-left: 10px;
        padding-right: 10px;
        border-right: 1px solid rgba(120,97,66,.8);
    }
    .footer ul li:first-child {
        padding-left: 0;
    }
    .footer ul li:last-child {
        padding-right: 0;
        border-right: none;
    }
}
*/
.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 70px;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    display: table;
    text-align: center;
    background-color: #fff;
    border-top: 3px solid #ffcf8c;
}
.footer.jbpa {
    border-top: none;
    padding-left: 0;
    padding-right: 0;
}
.footer > div {
    display: table-cell;
    vertical-align: middle;
}
.footer ul {
    display: table;
    table-layout: fixed;
    margin: 0 auto;
}
.footer ul li {
    display:table-cell;
    padding-left: 10px;
    padding-right: 10px;
    border-right: 1px solid rgba(120,97,66,.8);
}
.footer ul li:first-child {
    padding-left: 0;
}
.footer ul li:last-child {
    padding-right: 0;
    border-right: none;
}

/* ----- headerの設定 ここから ----- */

header > nav > button.navbar-toggler {
    color: rgba(0,0,0,.5);
    border-color: rgba(0,0,0,.1);
}
header > nav > button.navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.jpro-header-border {
    border-bottom: 3px solid #ffcf8c;
}
@media (max-width: 991px) {
    #jpro-header-nav{
        position : absolute;
    }
}
/* ----- headerの設定 ここまで ----- */

/* ----- パンくずリストの設定 ここから ----- */

.breadcrumb {
    background:transparent;
}

/* ----- パンくずリストの設定 ここまで ----- */

/* ----- ログイン関連 ここから ----- */

/* ログインのリンク */
#jpro-login-link {
    display:inline-block;
    vertical-align:middle;
}
/* ログインのフォームの入れ物 */
#jpro-login-wrapper{
    background-color: rgba(255,207,140, 0.3);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1900;
}
/* ログインのフォーム */
/*
#jpro-login-form {
    position:absolute;
    bottom:-224px;
    right:0;
    width:262px;
    height:210px;
    border:3px solid #ffcf8c;
    background-color:#fff
}
*/
#jpro-login-form {
    position:fixed;
    border:3px solid #ffcf8c;
    background-color:#fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2000;
    padding: 40px 35px 30px 30px;
    width: 300px;
}
#jpro-login-form > div {
    position:relative;
    padding:45px 20px 20px 20px;
}
#login-form-close-button {
    position: absolute;
    right: 10px;
    top: 5px;
    font-size: 2rem;
    cursor: pointer;
}
/* ----- ログイン後のメニュー ここから ----- */

/* ----- 処理中の表示 ここから ----- */
#jpro-loading-wrapper{
    background-color: rgba(255,207,140, 0.3);
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2100;
}
#jpro-loading{
    position:fixed;
    border:3px solid #ffcf8c;
    background-color:#fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2200;
    padding: 20px;
    width: 300px;
}
#jpro-progress-bar{
    background-color:#fff;
    height: 10px;
}
#jpro-progress-bar2{
    background-color: #ffcf8c;
    height: 10px;
}
/* ----- 処理中の表示 ここまで ----- */

/* 左からスライドして表示される領域 */
#login-menu-container {
    position: fixed;
    left: -300px;
    top: 0;
    z-index: 600;
    width: 300px;
    /* height: 100%; */ 
    color: #7f6746;
}
#login-menu-container.appeared {
    left: 0;
}
#login-menu-navigation {
    /* ナビゲーション */
    position: relative;
    /* top: 68px; */
    /* background-color: red; */
    background-color: rgba( 255, 255, 255, 0.9);
    -webkit-transition: left 0.4s ease-in-out;
    transition: left 0.4s ease-in-out;
    border-top: 5px solid #7f6746;
    border-right: 5px solid #7f6746;
    border-bottom: 5px solid #7f6746;
}
#login-menu-navigation li {
    padding-top: 1px;
    margin-bottom: 1px;
}
#login-menu-navigation a {
    display: block;
    padding: 0.75em;
    overflow: hidden;
    border-left: 3px solid #ffcf8c;
}
#login-menu-navigation .separate a {
    /* separateクラスは特に離したい要素に使用。「ログアウト」など */
    padding-top: 1.5em;
    padding-bottom: 1.5em;
}
#login-menu-navigation-trigger i{
    display: inline-block;
    vertical-align: middle;
    font-size: 2em;
    line-height: 1;
    color: inherit;
}
#login-menu-navigation span {
    display: inline-block;
    font-size: 1.6em;
    line-height: 1;
    vertical-align: middle;
    width: 70%;
    color: inherit;
}
#login-menu-navigation a,
#login-menu-navigation a:hover i,
#login-menu-navigation a:hover span {
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear;
}
#login-menu-navigation .nav_bookmark a {
    padding-left: 1.8em;
}
/* ----- ログインメニューの表示・非表示ボタン ここから ----- */
#login-menu-navigation-trigger{
    /* ナビゲーションを表示・非表示させるボタン */
    position: absolute;
    top: 14%;
    right: -7em;
    width: 7em;
    border-radius: 8px 8px 8px 8px;
    background-color: rgba( 255, 255, 255, 0.9);
    text-align: center;
    border-top: 5px solid #7f6746;
    border-right: 5px solid #7f6746;
    border-bottom: 5px solid #7f6746;
    border-left: 5px solid #7f6746;
}
#login-menu-navigation-trigger a{
    display: block;
    border: none;
    padding: 0.5em;
    padding-left: 0;
    padding-right: 0;
    cursor: pointer;
}
/* ----- ログインメニューの表示・非表示ボタン ここまで ----- */

#login-menu-navigation ul {
    list-style: none;
    padding:0;
}

/* ----- ログインメニューの販促情報 ここから ----- */
#login-menu-navigation #collapsePromotion li a{
    padding:0 0 1.5rem 1.5rem;
}
#login-menu-navigation #collapsePromotion li:last-child a {
    padding:0 0 0 1.5rem;
}
/* ----- ログインメニューの販促情報 ここまで ----- */

/* ----- ログイン後のメニュー ここまで ----- */

/* ----- ログイン関連 ここまで ----- */

/* ----- メイン関連 ここから ----- */

.jpro-book-main{
    position: relative;
    padding-bottom: 67px;
}

.jpro-main-row{
    background-color: white;
    border: 3px solid #ffcf8c;
    padding:3rem;    
}

/* ----- 書誌情報入力欄などのグループの枠線 ここから ----- */
.jpro-input-group-bt{
    border-top: 1px solid #ffcf8c;
}
.jpro-input-group-bt-dotted{
    border-top: 1px dotted #ffcf8c;
}
/* ----- 書誌情報入力欄などのグループの枠線 ここまで ----- */

/* ----- 各種入力欄などの折りたたみのボタン ここから ----- */
.minus-button-active {
    position:absolute;
    top:0.1rem;
    right:0;
    font-size:1.25em;
    cursor: pointer;
}
.minus-button-hidden {
    display:none;
    position:absolute;
    top:0.1rem;
    right:0;
    font-size:1.25em;
    cursor: pointer;
}
.plus-button-active {
    position:absolute;
    top:0.1rem;
    right:0;
    font-size:1.25em;
    cursor: pointer;
}
.plus-button-hidden {
    display:none;
    position:absolute;
    top:0.1rem;
    right:0;
    font-size:1.25em;
    cursor: pointer;
}
/* ----- 各種入力欄などの折りたたみのボタン ここまで ----- */

/* ----- メイン関連 ここまで ----- */

/* ----- placeholderの色 ここから ----- */
.form-control:placeholder-shown {
    color: rgba(120,97,66,1); 
}
/* Google Chrome, Safari, Opera 15+, Android, iOS */
.form-control::-webkit-input-placeholder {
    color: rgba(120,97,66,1); 
}
/* Firefox 18- */
.form-control:-moz-placeholder {
    color: rgba(120,97,66,1); 
    opacity: 1; 
}
/* Firefox 19+ */
.form-control::-moz-placeholder {
    color: rgba(120,97,66,1);
    opacity: 1; 
}
/* IE 10+ */
.form-control:-ms-input-placeholder {
    color: rgba(120,97,66,1); 
}

/* ----- placeholderの色 ここまで ----- */

/* ----- ぱんくずリスト部分の入れ物 ここから ----- */
.jpro-breadcrumb-container{
    max-width: 954px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 12px;
    padding-right: 12px;    
}
@media (min-width: 992px) {
    .jpro-breadcrumb-container{
        max-width: 954px;
    }
}
@media (min-width: 1200px) {
    .jpro-breadcrumb-container{ 
        max-width: 1134px;
    }
}
/* ----- ぱんくずリスト部分の入れ物 ここまで ----- */

/* ----- 入力エラー ここから ----- */
.has-error {
    background-color: #f8d7da;
}
/* ----- 入力エラー ここまで ----- */
