@charset "UTF-8";
/* CSS Document */

/*----------------------------------------------------------

トピックスcss

----------------------------------------------------------*/
/*----------------------------------------------------------
　一覧ページ
----------------------------------------------------------*/
/*リスト
-----------------------------*/

h1{
    font-size: 2.67em;
    font-weight: 600;
}
img.back-img {
    position: absolute;
    top: -10px;
    right: -280px;
    width: auto;
    height: 440px;
    z-index: 1;
    opacity: 0.7;
    pointer-events: none;
}
section.wrap_m.titleiner {
    margin-top: 3.75em;
    position: relative;
}
.flex_box{
    display: flex;
}
.category_box{
    width: 29%;
    margin-top: 5%;
}
.menu-section {
    margin-bottom: 35px;
}

/* カプセル型の見出し */
.menu-title {
    display: inline-block;
    background-color: #1a1a1a; /* 画像の真っ黒すぎないおしゃれな黒 */
    color: #ffffff;
    font-size: 15px;
    font-weight: unset;
    padding: 15px 35px;
    border-radius: 50px; /* これで完全な丸みになる */
    margin: 0 0 15px 0;
    min-width: 160px;
    text-align: center;
    letter-spacing: 0.05em;
}

/* リストのスタイル消去 */
.menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    padding-left: 1px;
}

/* リストアイテムの間隔 */
.menu-list li {
    margin-bottom: 12px;
}

/* テキストリンクのスタイリング */
.menu-list a {
    color: #999999;
    text-decoration: none;
    font-size: 15px;
    display: inline-block;
}

/* ホバーした時にちょっと暗くするか、お好みで！ */
.menu-list a:hover {
    color: #d92f16;
}
.content-news {
    width: 75%;
    background-color: #f1f1f1;
    padding: 10% 5%;
}
.content-news ul.news-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border-bottom: 1px solid #b2b2b2;
}
.content-news ul.news-list li{
    padding: 20px 10px;
    border-top: 1px solid #b2b2b2;
    background-image: url("../common/images/arrow-02-right-medium-red.svg");
    background-repeat: no-repeat;
    background-position: center right 20px;
    background-size: 9px;
}
.content-news a {
    text-decoration: none;
    color: #000;
}
.content-news p.date {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    color: #b2b2b2;
    letter-spacing: 0.8px;
}
.content-news span.subject {
    margin: 20px;
    font-size: 12px;
    padding: 4px 12px;
    border: 1px solid #b2b2b2;
    border-radius: 20px;
}
.content-news p.txt {
    margin: 5px 0;
}
.content-news p.txt:hover {
    color: #d92f16;
}

/*　　ページネーションCSS CMS搭載部分　　　ここから↓
-----------------------------------------------------*/
.pagination{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
    margin: 5em auto 0;
	font-family: sans-serif;
}
.pagination .numbers{
	display: flex;
	gap: 20px;
}
.pagination a{
	text-decoration: none;
	color: #333;
}
.pagination a:hover,
.pagination a.active{
	color: #d62f16;
}
/*　　ページネーションCSS CMS搭載部分　　　ここまで↑
-----------------------------------------------------*/

/*リスト（スマホ）
-----------------------------*/
@media screen and (max-width:768px){
    img.back-img {
        top: 5px;
        right: -70px;
        height: 280px;
    }
    .flex_box {
        flex-direction: column;
    }
    .content-news {
        width: 100%;
    }
    .category_box {
        width: 100%; 
        display: flex;
        gap: 15px; /* カテゴリとバックナンバーを横に並べる場合 */
        flex-direction: row;
    }
    .menu-section {
        margin-bottom: 0; /* PC用の余白をリセット */
    }
    .menu-toggle{
        cursor: pointer;
        user-select: none;
        margin-bottom: 18%;
        padding: 15px 20px;
    }
    /* スマホの時は最初メニューを閉じ状態にする */
    .menu-list{
        display: none;
        position: absolute;
        background: #ffffff;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        border-radius: 8px;
        padding: 10px 15px;
        z-index: 10;
        min-width: 120px;
    }
    /* JSで 'is-open' クラスがついたら表示する */
    .menu-list.is-open{
        display: block;
        margin-top: -10%;
    }
    /* 親要素にpositionを指定してドロップダウンの位置を固定 */
    .menu-section{
        position: relative;
    }
    
/*　　ページネーションCSS CMS搭載部分　　　ここから↓
-----------------------------------------------------*/
    .pagination {
        margin: 3em auto 0;
    }
/*　　ページネーションCSS CMS搭載部分　　　ここまで↑
-----------------------------------------------------*/

}

/*----------------------------------------------------------
　詳細ページ
----------------------------------------------------------*/
/*タイトル
-----------------------------*/
.articleiner {
    width: 70%;
}
.card-header{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}
.date{
	font-size: 14px;
	color: #aaaaaa;
	letter-spacing: 0.05em;
}
.tag{
	font-size: 11px;
	color: #aaaaaa;
	border: 1px solid #cccccc;
	border-radius: 20px;
	padding: 2px 12px;
}
/* タイトル */
.card-title{
	font-size: 17px;
	font-weight: bold;
	margin: 0 0 20px 0;
	color: #111111;
}
/* 画像が入るグレーのエリア */
.image-placeholder{
	width: 100%;
	margin-bottom: 25px;
}
.image-placeholder img{
    width: 100%;
}
/* テキストコンテンツエリア */
.card-content p{
	margin: 0 0 8px 0;
	font-size: 17px;
}
/* リスト部分のスタイリング */
.flavor-title{
	margin-top: 15px !important;
}
.flavor-list{
	list-style: none;
	padding: 0;
	margin: 0;
}
.flavor-list.only{
    margin-bottom: 2%;
}
.flavor-list li{
	font-size: 17px;
	line-height: 1.5;
}
.flavor-suffix{
	margin-bottom: 15px !important;
}
.maintext .said{
    display: flex;
    align-items: center;
    font-size: 1.1em;
    font-weight: bold;
    margin: 2.4em 0 1em;
}
.said::before, .said::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #1a1a1a;
}
.said::before {
    margin-right: 20px;
}
.said::after {
    margin-left: 20px;
}
/*タイトル（スマホ）
-----------------------------*/
@media screen and (max-width:768px){
    .card-content p {
        font-size: 15px;
    }
    .flavor-list li {
        font-size: 15px;
    }
}

/*日付
-----------------------------*/
.data{
	display: inline-block;
	line-height: 25px;
	min-height: 25px;
	padding:  0;
	font-size: .5em;
	color: #BDA656;
	font-weight: normal;
}

/* 本文中に外部リンクがあった場合 */
article .maintext a[href^="http://"],
article .maintext a[href^="https://"],
article .maintext a[target="_blank"]	{
	padding-right: 15px;
	background: transparent url(../imagem/icons/blank.gif) no-repeat center right;
}

/*ダウンロード
-----------------------------*/
ul.download{
	margin: 20px 0 0;
    padding: 0;
}
ul.download li {
	margin: 0;
	padding: 0 0 5px;
	list-style: none;
	line-height: 16px;
}
ul.download li a {
	line-height: 1.7em;
	padding: 0;
	margin: 0;
}

	/* 添付ファイルにアイコンを付属 */
	ul.download li a[href$='.doc'],
	ul.download li a[href$='.docx'] {
		padding-left: 20px;
		background: transparent url(../imagem/icons/doc.gif) no-repeat center left;
	}
	
	ul.download li a[href$='.txt'] {
		padding-left: 20px;
		background: transparent url(../imagem/icons/txt.gif) no-repeat center left;
	}
	
	ul.download li a[href$='.xls'] ,
	ul.download li a[href$='.xlsx'] {
		padding-left: 20px;
		background: transparent url(../imagem/icons/xls.gif) no-repeat center left;
	}
	
	ul.download li a[href$='.pdf'] { 
		padding-left: 20px;
		background: transparent url(../imagem/icons/pdf.gif) no-repeat center left;
	}
	
	ul.download li a[href$='.zip'],
	ul.download li a[href$='.rar'],
	ul.download li a[href$='.lzh'] { 
		padding-left: 20px;
		background: transparent url(../imagem/icons/zip.gif) no-repeat center left;
	}
	
	ul.download li a[href$='.jpg'],
	ul.download li a[href$='.gif'],
	ul.download li a[href$='.png'],
	ul.download li a[href$='.bmp'],
	ul.download li a[href$='.jpeg']{ 
		padding-left: 20px;
		background: transparent url(../imagem/icons/pic.gif) no-repeat center left;
	}
/*ダウンロード（スマホ）
-----------------------------*/
@media screen and (max-width:768px){
	ul.download{
		padding: 15px 0;
	}
}

/*本文
-----------------------------*/
article .maintext h1,
article .maintext h2,
article .maintext h3,
article .maintext h4,
article .maintext h5,
article .maintext h6 {
	clear: both;
}
article .maintext h1{
	font-size: 1.6em;
	margin: 1em 0 .5em;
	padding: .5em 0 .5em 25px;
	border-bottom: 1px solid #BDA656;
	color: #BD0813;
	background-image: url("../common/images/dod.png");
	background-repeat: no-repeat;
	background-position: top 1em left;
	background-size: auto 5px;
	line-height: 1.6em;
}
article .maintext h2{
	font-size: 1.4em;
	margin: 1em 0 .5em;
	padding: .5em 0 .5em 0;
	border-bottom: 1px solid #BDA656;
	color: #BDA656;
	line-height: 1.6em;
}
article .maintext h3{
	font-size: 1.4em;
	margin: 1em 0 .5em;
	padding: .5em 0 .5em 0;
	border-bottom: 1px solid #000;
	color: #000;
	line-height: 1.6em;
}
article .maintext h4{
	font-size: 140%;
	margin: 1em 0 1em;
	padding: .5em 0;
	color: #BD0813;	
}
article .maintext h5{
	font-weight: bold;
	font-size: 130%;
	margin: 1em 0;
	color: #BDA656;	
}
article .maintext h6{
	font-weight: bold;
	font-size: 120%;
	margin: 1em 0;
	color: #000;	
}
article .maintext{
	line-height: 1.7em;
}
article .maintext p {
	margin: 0 0 1em;
	line-height: 1.6;
	font-size: 100%;
}
article .maintext img {
	max-width: 100%;
	height: auto;
}

.maintext a,.download a{
	color: #3D74AA;
}
/*ボタン
-----------------------------*/
/*戻るボタン
-----------------------------*/
.btn_topback{
	text-align: center;
	margin: 10em auto 0;
}
.btn_topback a{
	display: inline-block;
	max-width: 100%;
	min-width: 450px;
	padding: .5em 3em;
	font-size: 1.3333em;
	text-decoration: none;
	background-color: #d92f16;
    border: 3px solid #d92f16;
	border-radius: 5px;
	color: #fff;
}
.btn_topback a:hover{
	background-color: #fff;
    color: #d92f16;
}
.btn_topback.articlebtn {
    margin: 5em 0 0 28%;
}
/*ボタン（スマホ）
-----------------------------*/
@media screen and (max-width:768px){
	.btn_topback{
        margin: 5em 0 0;
	}
    .btn_topback a{
		font-size: 1.2em;
		min-width: 100%;
	}
    .btn_topback.articlebtn {
        margin: 30px 0 0;
    }
}
