@charset "UTF-8";
/* 
--------------------------------
Fonts
共通設定
見出し
テキストスタイル
背景パーツ
共通リンク
お知らせ
-------------------------------- */



/*
Fonts
-------------------------------- */
body{

}

.ff_realway{
	font-family: 'Raleway', sans-serif;
}



/*
共通設定
-------------------------------- */
body{
	min-height: 100vh;
	padding-bottom: 0;
}

main {
    display: block;
    margin-top: 0; /* 70px から 0 に変更 */
    min-height: calc(100vh - 50px); /* 隙間を消した分、高さの計算も調整が必要かもしれません */
}

.wrapper-page{
	width: 100%;
	max-width: 700px;
}


/*
背景パーツ
-------------------------------- */
.blueBack{
	background: #CAE4FE;
}

.main_bg{
	/*background: url(../../../assets/images/common/main_bg.jpg);
	background-repeat: repeat;*/
	background-color: #fff;
	height: 100%;
	background-size: 80%;
}


/*
見出し
-------------------------------- */
.mainTitle{
	color: var(--color-mainOrange);
	font-size: 28px;
}

.wrapper-page .subTitle{
	color: #000;
	font-size: 16px;
	font-weight: normal;
}

.wrapper-page .mainTitle{
	color: var(--color-mainOrange);
	font-size: 28px;
}


/*
テキストスタイル
-------------------------------- */
.txtItem{
	font-size: 15px;
	color: #000;
}

.txtItem_small{
	font-size: 13px;
	color: #666;
}

/*
共通リンク
-------------------------------- */
/* commonLink01s
----------------------------------------- */
.commonLink01{
	background: #fff;
	color: var(--color-mainOrange);
	border: 1px solid var(--color-mainOrange);
	font-size: 14px;
	padding: 10px 34px;
	border-radius: 30px;
	text-align: center;
	font-weight: bold;
	transition: .3s;
	letter-spacing: .2px;
}
.commonLink01:link, .commonLink01:visited{
	color: var(--color-mainOrange);
}
.commonLink01:hover{
	background: var(--color-mainOrange);
	color: #fff;
}

/* commonLink02
----------------------------------------- */
.commonLink02{
	background: rgb(255,255,255,0);
	color: #fff;
	border: 1px solid #fff;
	font-size: 14px;
	padding: 20px 20px;
	border-radius: 44px;
	text-align: center;
	font-weight: bold;
	transition: .3s;
	letter-spacing: .2px;
}

.commonLink03:hover{
	background: #fff;
	color: var(--color-mainOrange);
}

/* commonLink03
----------------------------------------- */
.commonLink03{
	color: var(--color-mainOrange);
	text-decoration: underline;
}
.commonLink03:visited,
.commonLink03:link{
	color: var(--color-mainOrange);
}
.commonLink03:hover{
	color: #000;
}


/* commonLink04
----------------------------------------- */
.commonLink04{
	background:  var(--color-mainOrange);
	color: #fff;
	border: 1px solid var(--color-mainOrange);
	font-size: 14px;
	padding: 10px 34px;
	border-radius: 30px;
	text-align: center;
	font-weight: bold;
	transition: .3s;
	letter-spacing: .2px;
}
.commonLink04:link, .commonLink04:visited{
	color: #fff;
}

.commonLink04:hover{
	background: #fff;
	color: var(--color-mainOrange);
}


/* commonLink05
----------------------------------------- */
.commonLink05{
	display: block;
    background: var(--color-mainOrange);
    color: #fff;
    position: relative;
    border: 1px solid var(--color-mainOrange);
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    padding: 26px 17px;
    border-radius: 10px;
    transition: .3s;
    line-height: 1.7;
    max-width: 324px;
    letter-spacing: .2px;
    margin: 0 auto;
}

.commonLink05:visited,
.commonLink05:link{
	color: #fff;
}
.commonLink05:hover{
	background: #fff;
	color: var(--color-mainOrange);
	transition: .3s;
}

/* commonLink06
----------------------------------------- */
.commonLink06{
	background: #fff;
	color: #fff;
	background-color: var(--color-mainOrange);
	border: 1px solid var(--color-mainOrange);
	font-size: 14px;
	padding: 10px 34px;
	border-radius: 30px;
	text-align: center;
	font-weight: bold;
	transition: .3s;
	letter-spacing: .2px;
}
.commonLink06:link, .commonLink06:visited{
	color: #fff;
}
.commonLink06:hover{
	background: #fff;
	color: var(--color-mainOrange);
}


/* commonLink07
----------------------------------------- */
.commonLink07{
	color: #fff;
	background-color: #6B2D6E;
	border: 1px solid #888;
	font-size: 14px;
	padding: 10px 34px;
	border-radius: 30px;
	text-align: center;
	font-weight: bold;
	transition: .3s;
	letter-spacing: .2px;
}
.commonLink07:link, .commonLink07:visited{
	color: #fff;
}
.commonLink07:hover{
	background: #fff;
	color: #888;
}

/* commonLink08
----------------------------------------- */
.commonLink08{
	color: #fff;
	background-color: #888;
	border: 1px solid #888;
	font-size: 14px;
	padding: 10px 34px;
	border-radius: 30px;
	text-align: center;
	font-weight: bold;
	transition: .3s;
	letter-spacing: .2px;
}
.commonLink08:link, .commonLink07:visited{
	color: #fff;
}
.commonLink08:hover{
	background: #fff;
	color: #888;
}


/* 
お知らせ
----------------------------------------- */
/*
NEWS list
------------------------------------*/
.newsWrap .card-box{
	padding-top: 30px;
	padding-bottom: 50px;
}
/* news-sec */
.news-sec {
	width: 94%;
	padding: 100px 0 100px 0;
	max-width: 760px;
	margin: 0 auto;
}
.news-sec .sec-ttl-vertical {
	margin: 0 0 35px 30px;
}
.news-sec .Tit{
	width: 100%;
	padding: 0 0;
}
.news-sec .Tit_ttl{
	padding: 0 0 10px 0;
	margin: 0 0 55px 0;
}

.new-list{
	width: 100%;
	margin: 0 0 0 0;
	padding: 0;
}
.new-list li {
	margin-bottom: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e5e5e5;
	list-style: none;
}
.new-list li:last-child {
	margin-bottom: 0;
}
.news-date {
	/*font-family: 'Roboto Condensed';*/
	font-weight: 400;
	line-height: 1.6;
	font-size: 14px;
	display: inline-block;
	color: #666;
	margin-right: 30px;
	vertical-align: middle;
	letter-spacing: .1px;
}
.news-cate{
	border: 1px solid var(--color-mainOrange);
    font-size: 12px;
    padding: 1px 5px 0;
    border-radius: 3px;
    display: inline-block;
    color: var(--color-mainOrange);
    transition: .3s;
    vertical-align: middle;
    line-height: 1.7;
}

.news-cate.info{
	border: 1px solid var(--color-mainOrange);
	color: var(--color-mainOrange);
}
.news-cate.release{
	border: 1px solid #3179CE;
	color: #3179CE;
}
.news-cate.media{
	border: 1px solid #E69332;
	color: #E69332;
}
.news-cate.other{
	border: 1px solid #666666;
	color: #666666;
}
.news-txt{
	display: block;
	margin: 10px 0 0 0;
	line-height: 1.7;
	font-size: 12px;
	color: #000;
}
.new-list a {
	font-size: 12px;
	color: #666;
	transition: .3s;
	display: block;
}
.new-list a:hover{
	color: var(--color-mainOrange);
}
.new-list a.commonLink02:hover{
	color: #fff;
}
.new-list a:hover .news-date{
	color: var(--color-mainOrange);
}
.new-list a:hover .news-cate{
	background: var(--color-mainOrange);
	color: #fff;
}
.new-list a:hover .news-cate.info{
	background: var(--color-mainOrange);
	color: #fff;
}
.new-list a:hover .news-cate.release{
	background: #3179CE;
	color: #fff;
}
.new-list a:hover .news-cate.media{
	background: #E69332;
	color: #fff;
}
.new-list a:hover .news-cate.other{
	background: #666666;
	color: #fff;
}
.news_commonLinkBlok{
	text-align: center;
	margin-top: 10px;
}

.news_commonLinkBlok .commonLink04{
	margin: 0 auto;
	display: inline-block;
	width: 200px;
}

/* 
今日の予定
----------------------------------------- */
.schedulesWrap .card-box{
	padding-top: 30px;
	padding-bottom: 50px;
}
/* news-sec */
.schedules-sec {
	width: 94%;
	padding: 100px 0 100px 0;
	max-width: 760px;
	margin: 0 auto;
}
.schedules-sec .sec-ttl-vertical {
	margin: 0 0 35px 30px;
}
.schedules-sec .Tit{
	width: 100%;
	padding: 0 0;
}
.schedules-sec .Tit_ttl{
	padding: 0 0 10px 0;
	margin: 0 0 55px 0;
}

.schedule-list{
	width: 100%;
	margin: 0 0 0 0;
	padding: 0;
}
.schedule-list li {
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px dashed #000;
    list-style: none;
}
.schedule-list li:last-child {
	margin-bottom: 0;
}
.schedules-date {
	/*font-family: 'Roboto Condensed';*/
	font-weight: 400;
	line-height: 1.6;
	font-size: 14px;
	display: inline-block;
	color: #666;
	margin-right: 30px;
	vertical-align: middle;
	letter-spacing: .1px;
}
.schedules-cate{
	border: 1px solid var(--color-mainOrange);
    font-size: 12px;
    padding: 1px 5px 0;
    border-radius: 3px;
    display: inline-block;
    color: var(--color-mainOrange);
    transition: .3s;
    vertical-align: middle;
    line-height: 1.7;
}

.schedules-cate.info{
	border: 1px solid var(--color-mainOrange);
	color: var(--color-mainOrange);
}
.schedules-cate.release{
	border: 1px solid #3179CE;
	color: #3179CE;
}
.schedules-cate.media{
	border: 1px solid #E69332;
	color: #E69332;
}
.schedules-cate.other{
	border: 1px solid #666666;
	color: #666666;
}
.schedule-txt{
	display: block;
	margin: 10px 0 0 0;
	line-height: 1.7;
	font-size: 12px;
	color: #000;
	margin-bottom: 0;
}
.schedule-list a {
	font-size: 12px;
	color: #666;
	transition: .3s;
	display: block;
}
.schedule-list a:hover{
	color: var(--color-mainOrange);
}
.schedule-list a.commonLink02:hover{
	color: #fff;
}
.schedule-list a:hover .schedules-date{
	color: var(--color-mainOrange);
}
.schedule-list a:hover .schedules-cate{
	background: var(--color-mainOrange);
	color: #fff;
}
.schedule-list a:hover .schedules-cate.info{
	background: var(--color-mainOrange);
	color: #fff;
}
.schedule-list a:hover .schedules-cate.release{
	background: #3179CE;
	color: #fff;
}
.schedule-list a:hover .schedules-cate.media{
	background: #E69332;
	color: #fff;
}
.schedule-list a:hover .schedules-cate.other{
	background: #666666;
	color: #fff;
}


/* 
ページャー
----------------------------------------- */
.pagerListItem{
    width: 100%;
    padding: 0 0;
    margin: 0 0;
}
.listPagerBox{
	/*display: flex;
    justify-content: space-between;*/
    width: 100%;
    padding: 0;
}

.pagerListItem .container{
    width: 100%;
    padding: 0 0;
    margin: 0 0;
}

.pagerListItem li{
	list-style: none;
	width: 45px;
	height: 45px;
}

/*.pagerListItem li {

}*/

.listPager{
	width: 100%;
}

.listPager .pager{
	display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0;
}

.pagerListItem li button{
	border-radius: 100px;
	background: #fff;
	border: 2px solid var(--color-mainOrange);
	display: block;
	width: 45px;
	height: 45px;
	position: relative;
}

.pagerListItem li.next button:before{
	content: '';
    position: absolute;
    left: 37%;
    top: 0;
    bottom: 0;
    /* right: 0; */
    margin: auto;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    border: 11px solid transparent;
    border-left: 13px solid var(--color-mainOrange);
}

.pagerListItem li.prev button:before{
	content: '';
    position: absolute;
    left: 5%;
    top: 0;
    bottom: 0;
    /* right: 0; */
    margin: auto;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    border: 11px solid transparent;
    border-right: 13px solid var(--color-mainOrange);
}


/*
NEWS detail
------------------------------------*/
.newsDetailWrap{
	min-height: 100vh;
}
.newsDetailWrap .page_newsTit{
    font-size: 18px;
    font-weight: bold;
    margin-top: 20px;
    line-height: 1.5;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--color-mainOrange);
    margin-bottom: 30px;
}

.newsDetailWrap .news_cate{
    border: 1px solid var(--color-mainOrange);
    font-size: 14px;
    padding: 0 5px;
    border-radius: 5px;
    display: inline-block;
    color: var(--color-mainOrange);
    transition: .3s;
    letter-spacing: .2px;
    vertical-align: middle;
    line-height: 1.7;
}

.newsDetailWrap p.per_read{
	color: #000;
	line-height: 1.7;
}

.newsDetailWrap .page_inner_Wrap{
	margin-bottom: 80px;
}




.schedulelinkList{
    display: flex;
    margin: 0 0 20px 0;
    padding: 0;
}

.schedulelinkList li {
	list-style: none;
	/*width: 33%;*/
	margin: 0 5px;
}

.btn-warning{
	width: 100%;
}

.schedulelinkList li .btn{
	padding: 5px 0px;
}







/*
 テーブル 01
----------------------*/
.tableType01Wrap {
    width: 100%;
    max-width: 1200px;
}

.tableType01Wrap th {
    font-size: 16px;
    background-color: #efefef;
    padding: 15px 10px;
    border: 1px solid #DDDDDD;
    line-height: 1.6;
    width: 220px;
}

.tableType01Wrap tr td {
    font-size: 16px;
    background: #fff;
    width: calc(100% - 300px);
    padding: 15px 10px;
}

.tableType01Wrap tr>td:first-child {
    width: 20%;
    background-color: #F5F5F5;
    padding: 10px 20px;
    color: #595656;
    border: 1px solid #DDDDDD;

}

.tableType01Wrap tr td:nth-child(2) {
    /*    width: 60%;*/
    border: 1px solid #DDDDDD;
}

.tableType01Wrap tr td:nth-child(3) {
    /*    width: 20%;*/
    border: 1px solid #DDDDDD;
}

.tableType01Wrap tr td a {
    color: #104730;
    transition: .3s;
}

.tableType01Wrap {
    margin-bottom: 50px;
}

.tableType01Wrap.middle td {
    line-height: 1.6;
}

.tableType01Wrap.middle th,
.tableType01Wrap.middle td {
    vertical-align: middle;
}

@media screen and (max-width:767px) {

    .tableType01Wrap {
        font-size: 12px;
    }

    .tableType01Wrap tr th {
        font-size: 14px;
        width: 130px;
        letter-spacing: .1px;
    }

    .tableType01Wrap tr td {
        font-size: 14px;
        width: calc(100%- 130px);
        line-height: 1.7;
    }

    .tableType01Wrap tr td a {
        font-size: 14px;
    }
}

@media screen and (max-width: 500px) {
    .tableType01Wrap tr th {
        width: 80px;
    }

    .tableType01Wrap tr td {
        font-size: 14px;
        width: calc(100%- 80px);
    }
}

/* =====================================================
   user_edit ページ専用：#wrapper 高さ固定解除
   ===================================================== */
.page-template-user_edit #wrapper {
  height: auto !important;
  min-height: auto !important;
  overflow: visible !important;
  position: relative !important;
}

/* コンテンツエリアが切れないように調整 */
.page-template-user_edit .content-page,
.page-template-user_edit .content {
  height: auto !important;
  overflow: visible !important;
  padding-bottom: 250px !important; /* フッターの逃げ */
}

/* フッターは固定解除 */
.page-template-user_edit footer {
  position: static !important;
  z-index: 1 !important;
}

/* メニュー内のロゴサイズを調整 */
.nav-logo {
    height: 40px;    /* メニューの高さに合わせて30px〜50px程度で調整してください */
    width: auto;     /* 横幅はアスペクト比を維持して自動計算 */
    display: inline-block;
    vertical-align: middle; /* テキストなどと並べる場合に高さを中央に */
}

/* リンク自体の余白調整（必要に応じて） */
.navbar-brand-link {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
}

/*Indexのロゴ*/
.index-logo {
    height: 100px;    /* メニューの高さに合わせて30px〜50px程度で調整してください */
    width: auto;     /* 横幅はアスペクト比を維持して自動計算 */
    display: inline-block;
    vertical-align: middle; /* テキストなどと並べる場合に高さを中央に */
}

/* --- フッター最終調整：サイズと色の統一 --- */
.site-footer {
    display: block !important;
    width: 100% !important;
    margin-top: 80px !important;
    background-color: #fff !important;
    clear: both !important;
}

/* ロゴエリア：サイズを小さく調整 */
.f-upper {
    text-align: center !important;
    padding: 30px 0 20px !important;
}
.f-logo {
    color: #4a245e !important;
    font-size: 24px !important; /* 32pxから24pxへ縮小 */
    margin: 0 !important;
    letter-spacing: 0.05em !important;
}
.f-sub {
    color: #4a245e !important;
    font-size: 12px !important; /* 14pxから12pxへ縮小 */
    margin-top: 5px !important;
}

/* 中部リンクエリア：背景色をコピーライトと統一 */
.f-middle {
    background-color: #6d327c !important; /* 画像のコピーライト色に合わせる */
    padding: 20px 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

.f-links {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    gap: 25px !important;
}

/* リンク文字：13pxに設定 */
.f-links li a,
.f-links li a:link,
.f-links li a:visited {
    color: #ffffff !important; 
    text-decoration: none !important;
    font-size: 13px !important; /* 16pxから13pxへ変更 */
    font-weight: 500 !important;
}

/* 下部：コピーライト */
.f-bottom {
    background-color: #6d327c !important; /* 色を統一 */
    color: #fff !important;
    text-align: center !important;
    padding: 0 0 15px 0 !important; /* 上の余白を詰める */
}
.f-bottom p {
    margin: 0 !important;
    font-size: 11px !important;
    opacity: 0.8 !important; /* コピーライトは少し控えめに */
}

/* スマホ対応 */
@media (max-width: 768px) {
    .f-links {
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
    }
}

/* --- PCでの設定確認 --- */
.sp-header-bar { display: none; } /* PCでは隠す */

/* --- スマホ用設定 --- */
@media screen and (max-width: 768px) {
    /* 1. ボタンを固定し、最前面へ配置 */
    .sp-header-bar {
        display: block !important;
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100%;
        height: 60px;
        background: #fff;
        z-index: 10001; /* メニューより上に */
        border-bottom: 1px solid #eee;
    }

    .menu-trigger {
        display: block !important;
        position: absolute !important;
        top: 15px !important;
        right: 20px !important;
        width: 40px !important;
        height: 30px !important;
        background: none !important;
        border: none !important;
        cursor: pointer !important;
        z-index: 10002;
    }

    .menu-trigger span {
        display: block !important;
        position: absolute !important;
        left: 0 !important;
        width: 100% !important;
        height: 3px !important;
        background-color: #6a3a73 !important;
        transition: all .4s !important;
    }

    /* 三本線の配置 */
    .menu-trigger span:nth-of-type(1) { top: 0; }
    .menu-trigger span:nth-of-type(2) { top: 12px; }
    .menu-trigger span:nth-of-type(3) { bottom: 0; }

    /* ×印アニメーション */
    .menu-trigger.active span:nth-of-type(1) { transform: translateY(12px) rotate(-45deg) !important; }
    .menu-trigger.active span:nth-of-type(2) { opacity: 0 !important; }
    .menu-trigger.active span:nth-of-type(3) { transform: translateY(-15px) rotate(45deg) !important; }

    /* 2. メニュー本体 (.side-menu) の強制表示 */
    /* ID(#js-nav)を指定して既存の .side-menu スタイルを上書きします */
    #js-nav.side-menu.left {
        display: none !important; /* 通常は消しておく */
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        background: #fff !important;
        z-index: 10000 !important; /* 他の全要素より前、ボタンより後ろ */
        padding-top: 80px !important;
        margin: 0 !important;
        /* スライド等のアニメーション干渉を無効化 */
        transform: none !important;
        visibility: visible !important;
    }

    /* クラスがついたら表示 */
    #js-nav.side-menu.left.is-active {
        display: block !important;
    }

    /* 内部コンテンツの縦並び調整 */
    #sidebar-menu ul {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #sidebar-menu ul li {
        width: 100% !important;
        text-align: center !important;
        border-bottom: 1px solid #eee !important;
    }

    #sidebar-menu ul li a {
        display: block !important;
        padding: 15px 0 !important;
        font-size: 16px !important;
    }
}

@media screen and (max-width: 768px) {
    /* 1. 白い背景の中でコンテンツを強制表示 */
    #js-nav.side-menu.left.is-active .sidebar-inner,
    #js-nav.side-menu.left.is-active #sidebar-menu {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        left: 0 !important;
        width: 100% !important;
    }

    /* 2. ユーザー情報のボックスを表示 */
    #js-nav.side-menu.left.is-active .user-box {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        padding: 20px 0;
        border-bottom: 1px solid #f0f0f0;
    }

    /* 3. リスト項目を中央に配置 */
    #js-nav.side-menu.left.is-active #sidebar-menu ul {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    #js-nav.side-menu.left.is-active #sidebar-menu ul li {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        border-bottom: 1px solid #eee !important;
    }

    /* 4. リンクの文字を大きく、見やすくする */
    #js-nav.side-menu.left.is-active #sidebar-menu ul li a {
        display: block !important;
        padding: 15px 0 !important;
        color: #6a3a73 !important; /* ロゴの色に合わせる */
        font-size: 16px !important;
        text-decoration: none !important;
    }

    /* ロゴの画像サイズ調整 */
    #js-nav.side-menu.left.is-active .nav-logo {
        width: 150px !important;
        height: auto !important;
    }
	/* --- NEWSなどが隠れないようにメインエリアの上にスペースを作る --- */
    main {
        margin-top: 60px !important; /* バーの高さ(60px)と同じ分だけ下げる */
    }

    /* もし余白が足りない、あるいは背景色を調整したい場合はここを微調整 */
    .newsWrap, .news-sec {
        padding-top: 20px !important;
}