@charset "UTF-8";
@import url("grid.css");

:root { /* 色変更される場合は、#以降のカラーコードを変更してください IE非対応 */
    	--base-color: #000;
    	--link-color: #666;
    	--linkhover-color: #003ffc;
    	--back-color: #b3cf78;
    	--border-color: #ccc;
    	--white-color: #fff;
    	--top-news-color: #585edf;
    	--top-union-color: #ff8c00;
	--top-bus-color: #925e41;
    	--rapper-color: #e0ebaf;
	--sizebtn-active: #fa8c05;
	--sizebtn-hover: #0546fa;
	}

img {
	max-width: 100%;
	height: auto;
	}

a {
	display: block;
	color: var(--base-color);
	text-decoration-line: none;
	}

a:hover { 
	color: var(--linkhover-color);
	text-decoration: underline;
	}

a img {
	margin-bottom: 1rem;
	}

a img:hover {
	opacity: 0.8;
	}

.blueback {
	background-color: var(--back-color);
	color: var(--white-color);
	padding: 1rem;
	}

.underline {
	border-bottom: 3px solid var(--back-color);
	padding-bottom: 0.5rem;
	}

.center {
	text-align: center;
	}

/* 基本背景色設定 */

.rapper {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0rem;
	position: relative;
	}

.container {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 2.0rem;
	position: relative;
	background: #e0ebaf;
	}

.top_container {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0rem;
	position: relative;
	}

.subpage_rapper {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0rem;
	position: relative;
	background: #e0ebaf;
	}

.subpage_container {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 2em;
	position: relative;
	background: #e0ebaf;
	}

/*ヘッダー
-------------------------------------*/

.skip {
	position: absolute;
	top: 0px;
	left: -999px;
	width: 999px;
	font-size: 10px;
	}

.topcategory {
	padding: 0 3.0em;
	margin-top: 3em;
	width: 100%;
	height: 100%;
	background: var(--rapper-color);
	border-radius: 50px;
	}

.side-by-side {
	display: flex;
	flex-direction: row;
	padding: 1rem 0 0 0;
	}

h1 img { 
	max-width: 80%;
	height: auto;
	margin-left: 1em;
	}

/* 文字サイズ変更ボタン設定 */

#fontsize {
	margin-top: 10px;
	}

.font_txt {
	color: #000;
	font-weight: bold;
	margin: 1.5em 0 -1em 3em;
	}

#fontsize ul {
	margin: 1em 0 1em 3em;
	display: flex;
	list-style-type: none;
	}

.sizebtn {
	font-size: 1em;
	font-weight: bold;
	padding: 0.3em 0.3em 0 0.3em;
	margin-right: 0.6em;
	border: 2px solid #a9a9a9;
	background: #fff;
	}

.sizebtn.is_active {
	background: var(--sizebtn-active);
	color: #fff;
	border: 2px solid #fff;
	}

.sizebtn:hover {
	background: var(--sizebtn-hover);
	color: #fff;
	border: 2px solid #fff;
	}

/* トップスライドショー設定 */

.slide {
  	position: relative;
  	padding-top: 36%;
  	overflow: hidden;
	}


@keyframes slideshow {
  	0% { opacity: 0; }
  	20% { opacity: 1; }
  	25% { opacity: 1; }
  	30% { opacity: 0; }
  	100% { opacity: 0; }
	}

.slide img {
  	position: absolute;
  	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%);
	width: 100%;
  	height: auto;
  	opacity: 0;
  	animation: slideshow 40s linear infinite;
	}

.slide img:nth-child(1) { animation-delay: 0s; }
.slide img:nth-child(2) { animation-delay: 8s; }
.slide img:nth-child(3) { animation-delay: 16s; }
.slide img:nth-child(4) { animation-delay: 24s; }
.slide img:nth-child(5) { animation-delay: 32s; }

/* サブページメイン画像設定 */

.mainimg_img {
	width: 100vw;
	}

/* メインメニュー設定 */

.topmenu {
	background-color: var(--back-color);
	list-style-type: none;
	}

.menu {
	background-color: var(--back-color);
	list-style-type: none;
	margin-top: -0.7em;
	}

.navigation ul {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	list-style-type: none;
	margin-bottom: 0;
	}

.navigation li {
	flex: 1 0 auto;
	margin-bottom: 0;
	list-style-type: none;
	}

.navigation li a {
	text-decoration: none;
	text-align: center;
	color: var(--base-color);
	list-style-type: none;
	}

.navigation a:hover {
	background-color: #006dbe;
	color: var(--white-color);
	}

.navigation a {
	list-style-type: none;
	padding: 2rem 1rem;
	display: block;
	}

.navigation li.current a {
	background-color: #f0f0f0;
	color: #000;
	}

@media screen and (min-width: 769px){
/* PC時はMENUボタンを非表示 */
.menu-open-button,.menu-close-button {
	display: none !important;
	}

/* PC時は横メニューバーを表示 */
.navigation {
	display: block !important;
	}
	}

@media screen and (max-width: 768px){
/* スマホ時はMENUボタンを表示 */

.header {

	flex-direction: column;
	text-align: left;
	margin-bottom: 20px;
	}

.header menu-open-button,.menu-close-button  {
	position: absolute;
	top: 20px;
	right: 12px;
	}

/* スマホ時はメニューバーを非表示 */
.navigation {
	display: none;
	}
	}

/* スマホ設定 */

/* ハンバーガーボタンのスタイル */

.menu-open-button {
  	background: none;
  	border: none;
  	padding: 12px;
  	cursor: pointer;
  	min-width: 44px;
  	min-height: 44px;
  	display: flex;
  	align-items: center;
  	justify-content: center;
	position: absolute;
    	top: 20px;
    	right: 0px;
	}

/* ハンバーガーアイコン */

.hamburger-icon {
  	display: flex;
  	flex-direction: column;
  	gap: 5px;
	width: 31px;
  	height: 29px;
	padding: 5px 0px 0px 3px;
	}

.line {
  	width: 30px;
  	height: 3px;
  	background-color: #0a0a0a;
  	transition: all 0.3s ease;
	}

.close-icon {
	color: #fff;
	font-size: 20px;
	}

/* フォーカス時の視覚設定 */
.menu-open-button:focus {
  	outline: 2px solid #0066cc;
  	outline-offset: 2px;
	}

/* スマホメニュー設定 */

.mobile-menu {
  	position: fixed;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100vh;
  	padding: 0;
  	border: none;
  	background: rgba(0, 0, 0, 0.8);
  	opacity: 0;
  	transform: translateX(-100%);
  	transition: all 0.3s ease;
	}

.mobile ul {
	flex-direction: column;
	}

.mobile li {
	padding-top: 0;
	border-bottom: 1px solid var(--border-color);
	margin-bottom: 0;
	}

/* 開いた状態 */
.mobile-menu[open] {
  	opacity: 1;
  	transform: translateX(0);
	}

/* メニュー */
.menu-content {
  	width: 80%;
  	max-width: 320px;
  	height: 100%;
  	background-color: var(--back-color);
  	padding: 20px;
  	overflow-y: auto;
	}

.main-menu ul {
	flex-direction: row;
	justify-content: space-around;
	list-style-type: none;
	margin-bottom: 0;
	}

.main-menu li {
	flex: 1 0 auto;
	margin-bottom: 0;
	list-style-type: none;
	}

.main-menu li a {
	text-decoration: none;
	text-align: center;
	color: var(--base-color);
	list-style-type: none;
	}

.main-menu a:hover {
	background-color: #006dbe;   
	color: var(--white-color);
	}

.main-menu a {
	list-style-type: none;
	padding: 2rem 1rem;
	display: block;
	}

.main-menu li.current a {
	background-color: #f0f0f0;
	color: #000;
	}

/*メインコンテンツ
-------------------------------------*/

.lead {
	margin-top: 3em;
	}

main {
    margin: 5rem 0 5rem 0;
	}

.right-aligned {
	margin-top: 2em;
	text-align: right;
	}

.right-aligned a:hover {
	color: var(--linkhover-color);
	}

h2 {
	margin-top: 2em;
	}

/*--- お知らせ欄見出し設定 ---*/

.news_heading {
	position: relative;
	margin: 2em 0 1.5em;
	padding: 0.8em 0 0.8em 1.5em;
	border: 3px solid #98c1f6;
	font-size: 1.4em;
	font-weight: bold;
	color: var(--white-color);
	background: var(--top-news-color);
	list-style-type: none;
	}
 
.news_heading:before {
	content: "";
	position: absolute;
	background: #98c1f6;
	top: 50%;
	left: 0.5em;
	margin-top: -15px;
	height: 30px;
	width: 8px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	}

.news li.news_topics {
	margin-bottom: 1.5em;
	border: none;
	list-style-type: none;
	}

.news li {
	list-style-type: none;
	border-bottom: 1px solid var(--border-color);
	padding: 0.5rem 0;
	}

/*--- 日本視覚障害者団体連合見出し設定 ---*/

.union_heading {
	position: relative;
	margin: 2em 0 1.5em;
	padding: 0.8em 0 0.8em 1.5em;
	border: 3px solid #fcbe3b;
	font-size: 1.4em;
	font-weight: bold;
	color: var(--white-color);
	background: var(--top-union-color);
	list-style-type: none;
	}
 
.union_heading:before {
	content: "";
	position: absolute;
	background: #fcbe3b;
	top: 50%;
	left: 0.5em;
	margin-top: -15px;
	height: 30px;
	width: 8px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	}

.union li.news_topics {
	margin-bottom: 1.5em;
	border: none;
	list-style-type: none;
	}

/*--- 日本視覚障害者団体連合内容ページ設定 ---*/

/*--- 見出し設定 ---*/

.low_header {
    	padding: 0.7em 0.5em;
	border-top: 2px solid #fcd392;
    	border-bottom: 2px solid #fcd392;
	background: #fdecaa;
	position: relative;
	width: 100%;
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
	}

/*--- 日本視覚障害者団体連合詳細ページ設定 ---*/

.materials {
	margin: -2em 0 0 0;
	}

.detail-materials {
	padding: 0.5em 0 0.5em 0em;
	}

.materials_rapper {
  	position: relative;
  	border: solid 2px #fcd392;
  	background: #f9f9f9;
  	line-height: 1.4;
  	padding: 0.4em 0.5em;
  	margin: 4em auto 4em auto;
	width: 100%;
	}

dt.materials_header {
	position: relative;
	text-indent: -4em;
	}

dt.materials_header:after { 
	content: "";
  	position: absolute;
  	left: 0;
  	bottom: 0;
  	width: 100%;
	border: 2px solid #fcd392;
	}

.size-l {
	display: block;
	font-size: 1.5em;
	background: #f1f1f1;
	width: 100%;
	margin: 0 auto;
	}

.size-l:before {
	content: "";
	position: absolute;
	background: #fcd392;
	top: 50%;
	left: 0.5em;
	margin-top: -15px;
	height: 30px;
	width: 8px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	}

.size-l_indent {
	margin-left: -3em;
	}

.size-m {
	display: block;
	font-size: 1.2em;
	width: 100%;
	margin: 1em auto 1em auto;
  	background: #f1e6cf;
	border-bottom: 3px solid #fcbe3b;
	}

.size-m_indent {
	margin-left: -3em;
	}

.dd-box {
	width: 100%;
	}

.dd-indent {
	padding: 1.5em 0em 0em 0em;
	width: 100%;
	}

.fontsize {  
  	display: inline-block;
  	position: absolute;
  	top: -6px;
  	left: 10px;
  	margin: 0;
  	padding: 2px 0 5px;
  	z-index: 2;
  	width: 90px;
  	text-align: center;
  	color: #fff;
  	font-size: 1.5em;
  	background: #75b58a;
  	border-radius: 2px 0 0 0;
  	}

.fontsize:before {
  	position: absolute;
  	content: '';
  	top: 0;
  	left: -5px;
  	border: none;
  	border-bottom: solid 6px #416e50;
  	border-right: solid 5px transparent;
	transform: rotate(-90deg);
	}

.internal-link {
    	display: inline-flex;
    	align-items: center;
	}

.internal-link::after {
	content: url('../img/icon_go.png');
    	margin-left: 1em;
	}

.alienrow {
	margin: 3em 3em 0 0;
	text-align: right;
	}

/*--- 甲府駅バス乗り場設定 ---*/

.bus_heading {
	list-style-type: none;
	position: relative;
	margin: 2em 0 1.5em;
	padding: 0.8em 0 0.8em 1.5em;
	border: 3px solid #e39f79;
	font-size: 1.4em;
	font-weight: bold;
	background: var(--top-bus-color);
        color: var(--white-color);
	}

.bus_heading:before {
	content: "";
	position: absolute;
	background: #e39f79;
	top: 50%;
	left: 0.5em;
	margin-top: -15px;
	height: 30px;
	width: 8px;
	border-radius: 2px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	}

.bus li.news_topics {
	margin-bottom: 1.5em;
	border: none;
	list-style-type: none;
	}

/* 甲府駅バス乗り場詳細ページ設定 */

.bus_stop {
	padding: 3em;
	}

.route {
	list-style-type: none;
	}

.bus_header {
    	position: relative;
    	margin: 0 20px 60px 0px;
    	padding: 10px 15px;
    	width: 100%;
    	color: #fff;
    	background: #966518;
	border: 3px solid #efa229;
	}

.route_number1 {
	background: #eec31e;
	padding: 0.3em 0em 0em 1em;
	margin-bottom: 1.5em;
	}

.route_number2 {
	background: #4e749d;
	padding: 0.3em 0em 0em 1em;
	margin-bottom: 1.5em;
	color: #fff;
	}

/*--- 各見出し下画像位置設定 ---*/

.top-img {
	width: 50%;
	height: auto;
	display: flex;
	margin-left: auto;
	margin-top: 2em;
	}

.top-img02 {
	width: 50%;
	height: auto;
	margin-top: 2em;
	}

/*--- トップページ以下h2見出し設定 ---*/

h2 {
	position: relative;
	border-bottom: 5px solid #4e749d;
	padding: 5px 0;
	margin-bottom: 50px;
	}

h2:before {
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 20%;
	height: 5px;
	content: '';
	background: #eec31e;
	}

/*--- 会長挨拶設定 ---*/

.greeting {
	margin-left: 1em;
	}

/*--- 沿革設定 ---*/

.history01 {
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid #a1a1a1;
	background-color: #faf4d4;
	}

th.history01 {
	width: 220px;
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid #a1a1a1;
	background-color: #faf4d4;
	}

.history02 {
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid #a1a1a1;
	background-color: #e5dcf8;
	}

th.history02 {
	width: 220px;
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid #a1a1a1;
	background-color: #e5dcf8;
	}

@media screen and (max-width: 768px) {
th,td{
    	display: block;
    	width: 100%;
	}

th.history01 {
	width: 100%;
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid #a1a1a1;
	background-color: #faf4d4;
	}

th.history02 {
	width: 100%;
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid #a1a1a1;
	background-color: #e5dcf8;
	}
  	}

/*--- 本会の紹介設定 ---*/

.intro {
	margin-bottom: 2.5em;
	}

.definition {
	background: #EEC31E;
	font-weight: bold;
	padding: 0.5em 0 0.3em 1em;
	margin-bottom: 0.5em;
	}

.definition_navy {
	background: #4E749D;
	font-weight: bold;
	color: #fff;
	padding: 0.5em 0 0.3em 1em;
	margin-bottom: 0.5em;
	}

.explanation {
	background: #f9f9f9;
	padding: 2em 0 2.5em 1em;
	margin-top: -0.5em;
	}

.indent {
	margin-left: 2em;
	}

.sub_indent {
	display: inline;
	}

/*--- 本会の紹介ページ 主な行事テーブル設定 ---*/

.intro_table {
	border-collapse: collapse;
	margin-top: -0.5em;
	border: 1px solid #a1a1a1;
	text-align: left;
	}

th.division01 {
	width: 220px;
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid #a1a1a1;
	background-color: #faf4d4;
	}

.division02 {
	padding: 12px 10px;
	text-align: left;
	border-bottom: 1px solid #a1a1a1;
	background-color: #faf4d4;
	}

.intro_table th:first-child,
.intro_table td:first-child {
	padding-left: 1em;
	width: 150px;
	background-color: #f9f9f9;
	}

.intro_table th:last-child,
.intro_table td:last-child {
	padding-right: 0.6em;
	background-color: #f9f9f9;
	}

@media screen and (max-width: 768px) {
th,td{
    	display: block;
    	width: 100%;
	text-align: left;
	}

.intro_table th.division01 {
	width: 100%;
	padding: 12px 15px;
	text-align: left;
	background-color: #f9f9f9;
	}

.intro_table th.division02 {
	width: 100%;
	padding: 12px 15px;
	text-align: left;
	background-color: #f9f9f9;
	}
	}

/*--- 各支部の紹介、各部の紹介、クラブ紹介 ---*/

.introduction {
	display: flex;
	flex-direction: row;
	}

.introduction ul {
	width: 70%;
	list-style: none;
	}

.introduction li {
	color: black;
  	border-left: solid 6px #eec31e;
  	background: #f9f9f9;
  	margin-bottom: 3em;
  	line-height: 1.5;
  	border-radius: 0 3px 3px 0;
  	padding: 0.5em;
	}

.introduction a {
	padding: 0.5em 0.5em;
	display: block;
	border-bottom: 4px solid #4e749d;
	margin-bottom: 0.2em;
	}

.introduction li a {
	text-decoration: none;
	color: #000;
	}

.introduction a:hover {
	background-color: #4e749d;   
	color: var(--white-color);
	}

.onmouse {
	box-shadow: 0 4px 4px rgba(0,0,0,0.3);
	transition: .3s;
	}

.onmouse:hover {
  	box-shadow: 0 0 4px rgba(0,0,0,0.2);
	}

/* 各支部紹介 各部紹介 クラブ紹介の詳細設定 */

dt {
	position: relative;
	padding: 1rem 2rem 1rem 4em;
	margin-bottom: 2em;
	}
dd {
	padding: 0 2em 0 2em;
	}

.detail-wrapper {  
	display: block;
	position: relative;
	margin: 15px auto;
	padding: 10px 0;
	width: 100%;
	background: #fff;
	}

.ribbon_yellow {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	padding: 0.7em 2em 0.5em 2.5em;
	margin: 0 0 0 -4.2em;
	width: calc(100% + 113px);
	font-size: 22px;
	color: #000;
	font-weight: bold;
	background: #eec31e;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	}

.ribbon_yellow:before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 20px #4e749d;
	}

.ribbon_navy {
	display: inline-block;
	position: relative;
	box-sizing: border-box;
	padding: 0.7em 2em 0.5em 2.5em;
	margin: 0 0 0 -4.2em;
	width: calc(100% + 113px);
	font-size: 22px;
	color: #fff;
	font-weight: bold;
	background: #4e749d;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
	}

.ribbon_navy:before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 20px #eec31e;
	}

.photo {
	margin: 1em 0 0 2em;
	width:80%;
	height:auto;
	}

.contact {
	display: flex;
	justify-content: flex-end;
	padding: 2em 2em 0 0;
	}

/* 山障協だより設定 */

.newsletter_container {
	position: relative;
	padding: 5em 0.5em 1em 1em;
	margin-bottom: 10px;
	background: #f9f9f9;
	color: #000;
	}

.newsletter::after {
	position: absolute;
	left: 0px;
	top: 0px;
	content: '';
	box-shadow: 2px 2px 2px #a5a5a5;
	border-style: solid;
	border-width: 0 0 50px 50px;
	border-color: #e0ebaf #e0ebaf #a5a5a5;
	}

#credit {
	display: grid;
  	justify-content: right;
	}

table {
	margin: 20px auto;
	width: 100%;
	}

#credit a {
	padding-bottom: 1em;
	}

caption.bottomline {
	position: relative;
  	padding: 0.25em 0;
	margin: 4em 0 2em 0;
	}

caption.bottomline:before {
  	content: '';
  	position: absolute;
  	bottom: -5px;
  	display: inline-block;
  	width: 90px;
  	height: 5px;
  	left: 50%;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
  	background: -webkit-linear-gradient(to right, #22c1c3, #93e4f6);
  	background: linear-gradient(to right, #22c1c3, #93e4f6);
  	border-radius: 4px;
	}

.newsletter th {
	background: #edffff;
	border: solid 1px #ccc;
	color: #000;
	padding: 10px;
	text-align: left;
	}

.newsletter td {
	background: #edffff;
	border: solid 1px #ccc;
	padding: 10px;
	text-align: right;
	}
 
@media screen and (max-width: 768px) {
.last td:last-child {
	border-bottom: solid 1px #ccc;
	width: 100%;
	}

.newsletter {
	width: 80%;
  	}

.newsletter th,
.newsletter td {
	border-bottom: none;
	display: block;
	width: 100%;
	}
	}

.mokujiheader {
	color: #000;
  	padding: 0.5em;
  	margin: 2em 0 1.5em 0;
	display: block;
  	line-height: 1.3;
  	background: #dbebf8;
  	vertical-align: middle;
  	border-radius: 25px 0px 0px 25px;
	}

.mokujiheader:before {
  	content: '●';
  	color: white;
  	margin-right: 8px;
	}

.kijiheader {
  	position: relative;
  	padding: 0.25em 0;
	margin: 2em 0 1.5em 0;
	}

.kijiheader:after {
  	content: "";
  	display: block;
  	height: 5px;
  	background: -webkit-linear-gradient(to right, #22c1c3, #93e4f6);
  	background: linear-gradient(to right, #22c1c3, #93e4f6);
  	border-radius: 4px;
	}

/* リンク集設定 */

.link_deco {
	margin: 20px auto;
	width: 100%;
	}

caption.linkbottomline {
	position: relative;
  	padding: 0.25em 0;
	margin: 4em 0 2em 0;
	}

caption.linkbottomline:before {
  	content: '';
  	position: absolute;
  	bottom: -5px;
  	display: inline-block;
  	width: 140px;
  	height: 5px;
  	left: 50%;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
  	background: -webkit-linear-gradient(to right, #ffaf00, #f8d690);
	background: linear-gradient(to right, #ffaf00, #f8d690);
  	border-radius: 4px;
	}

.link_deco th {
	background: #ffeaac;
	border: solid 1px #ccc;
	color: #000;
	padding: 10px;
	text-align: left;
	}

.link_deco td {
	background: #fff2ca;
	border: solid 1px #ccc;
	color: #000;
	padding: 10px;
	text-align: left;
	}
 
@media screen and (max-width: 768px) {
	.last td:last-child {
	border-bottom: solid 1px #ccc;
	width: 100%;
	}

	.link_deco {
	width: 80%;
  	}

	.link_deco th,
	.link_deco td {
	border-bottom: none;
	display: block;
	width: 100%;
	}
	}

/* バックナンバー設定 */

.backnumber_deco {
	margin: 20px auto;
	width: 50%;
	}

.backnumber_bottomline {
	position: relative;
  	padding: 0.25em 0;
	margin: 4em 0 2em 0;
	}

.backnumber_bottomline:before {
  	content: '';
  	position: absolute;
  	bottom: -5px;
  	display: inline-block;
  	width: 330px;
  	height: 5px;
  	left: 50%;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
  	background: -webkit-linear-gradient(to right, #c6cccc, #d8dcdc);
  	background: linear-gradient(to right, #c6cccc, #d8dcdc);
  	border-radius: 4px;
	}
	
.backnumber_deco th {
	background: #f6f6f6;
	border: solid 1px #ccc;
	color: #000;
	padding: 10px;
	text-align: left;
	}

@media screen and (max-width: 768px) {
	.last td:last-child {
	border-bottom: solid 1px #ccc;
	width: 100%;
	}

	.backnumber_deco {
	width: 80%;
  	}

	.backnumber_deco th,
	.backnumber_deco td {
	border-bottom: none;
	display: block;
	width: 100%;
	}
	}

/*フッター
-------------------------------------*/
footer {
    	background-color: var(--back-color);
    	padding: 1rem 0;
    	margin-top: -1em;
	color: var(--white-color);
	}

.footer-img {
	margin-top: 3em;
	}

/*コピーライト
-------------------------------------*/
.copyright {
	text-align: center;
	padding: 0;
	color: var(--base-color);
	background-color: var(--back-color);
	}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 0px;
    right: -460px;
	}

#pagetop a {
	width: 16%;
	height: auto;
	}
