﻿@charset "UTF-8";

@import url('//fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;600;700;900&display=swap');
@import url('//fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700;900&display=swap');
@import url('//fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
/* Google font Icon */
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200");


/*========================
トピックス
========================*/
/*-------------------------
トップページ
--------------------------*/
.toptopicswrap{
  width:100%;
  margin: auto;
  padding:64px 0 32px;
	background: rgb(255,255,255,0.6);
}
.toptopics{
  width:100%;
	max-width: 1420px;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-start;
}
.topitopics_title{
  font-family: "Figtree", "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 2.5em;
	color: #606060;
	letter-spacing: 0.06em;
	line-height: 1;
	padding: 0 0 0 32px;
	text-align: center;
}
.topitopics_detail{
	flex: 1;
	padding: 0 32px 0 24px;
}
.topitopics_title strong{
	display: block;
	font-size: 0.4em;
	font-weight: 400;
	letter-spacing: 0.04em;
	margin-top: 12px;
}
@media screen and (max-width: 1240px) {
.toptopicswrap{
  padding:48px 0 24px;
	}
}
@media screen and (max-width: 1000px) {
.topitopics_title{
	font-size: 2.1em;
	}
}
@media screen and (max-width: 767px) {
.toptopics{
  display: block;
	flex-direction: column;
	max-width: 640px;
	}
.topitopics_title{
	padding: 0 18px 24px 32px;
	text-align: left;
	}
.topitopics_detail{
	padding: 0 18px;
	}
}
@media screen and (max-width: 640px) {
.toptopicswrap{
  padding:42px 0 24px;
	}
}

/* これまでの記事一覧*/
.moretopics {
  display: inline-block;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 auto;
  padding: 1em 3em 1em 1.2em;
  color: #333;
  font-size: 1em;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  margin: 0 1em 0 0;
}
.moretopics:after {
  position: absolute;
  right: 1em;
  top:34%;
  transform-origin: left;
  width: 1.6em;
  height: .6em;
  background-color: #626262;
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  content: '';
  transition: transform .3s;
}

/*-------------------------
ページヘッダー
--------------------------*/
.pageheader{
  width:100%;
  margin: 0 auto;
  padding:18px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: center;
  align-items:center;
}
.pageheader li:first-child {
  width: 124px;
}
.pageheader li:last-child {
  width: auto;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 1240px) {
.pageheader{
  display: block;
  flex-direction: column;
  }
.pageheader li:first-child {
  width: 100%;
  text-align: center;
  }
.pageheader li:first-child img{
  width: 100%;
  max-width: 124px;
}
.pageheader li:last-child {
  width: 100%;
  margin: 24px 0 0;
  text-align: center;
  }
.pageheader .btn{
  font-size: 0.9em;
  padding: 0.7em 2em 0.7em 0.8em;
  margin: 0 0.3em 0.4em 0;
  }
.pageheader .btn:after {
  right: 0.6em;
  width: 1em;
  height: .5em;
  }
}
@media screen and (max-width: 767px) {
.pageheader{
  padding:24px 18px 18px;
  }
.pageheader li:first-child {
  display: none;
  }
.pageheader li:last-child {
  margin: 0;
  }
}

/*-------------------------
ページタイトル
--------------------------*/
#topicsarchive h1,
#topicsdetail h1{
  font-size: 2.1em;
  font-weight: 600;
  line-height: 1.65;
  letter-spacing: 0.02em;
  margin-bottom: 42px;
  padding: 0 12px;
}
@media screen and (max-width: 1000px) {
#topicsarchive h1,
#topicsdetail h1 {
  font-size: 1.8em;
  }
}
@media screen and (max-width: 767px) {
#topicsarchive h1,
#topicsdetail h1 {
  font-size: 1.5em;
  }
}
@media screen and (max-width: 480px) {
#topicsarchive h1,
#topicsdetail h1 {
  font-size: 1.3em;
  margin-bottom: 32px;
  }
}

/*-------------------------
一覧ページ
--------------------------*/
#topicsarchive{
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}
#topicsarchive section{
  width: 100%;
  max-width: 1240px;
  margin: auto;
  padding: 48px 42px 42px;
  background: rgb(255,255,255,0.6);
}
@media screen and (max-width: 960px) {
#topicsarchive section{
  padding: 42px 32px;
  }
}
@media screen and (max-width: 767px) {
#topicsarchive section{
  padding: 42px 18px 24px;
  }
}
@media screen and (max-width: 640px) {
#topicsarchive{
  padding: 0 18px;
  }
#topicsarchive section{
  padding: 32px 12px 12px;
  }
}

/*-------------------------
リスト並び
--------------------------*/
.topicslist{
  width:100%;
  margin: auto;
  padding:0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  justify-content: flex-start;
  align-items:flex-start;
  flex-wrap: wrap;
}
.topicslist li{
  width: 25%;
  max-width:25%;
  width: calc(100% / 4);
  padding: 0 18px 24px;
}
.topicslist li a{
  display: block;
	text-decoration: none;
}
@media screen and (max-width: 1240px) {
.topicslist{
  max-width: 640px;
	}
.topicslist li{
  width: 50%;
  max-width:50%;
  width: calc(100% / 2);
  padding: 0 18px 24px;
	}
}
@media screen and (max-width: 767px) {
.topicslist{
  max-width: 100%;
	}
.topicslist li{
  padding: 0 12px 24px;
	}
}
@media screen and (max-width:480px) {
.topicslist li{
	font-size: 0.9em;
	}
}

/*サムネイル画像*/
.topicslist div{
  overflow: hidden;
  position: relative;
  padding-top: 100%;
}
.topicslist div img{
  width: 100%;
	height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/*更新日時*/
.topicslist h4{
  font-family: "Figtree", sans-serif;
	color: #888;
	line-height: 1;
	font-weight: 300;
	font-size: 1em;
	letter-spacing: 0.08em;
	margin: 15px auto 6px;
}

/*カテゴリ名*/
.topicslist h3{
  display: inline;
  padding: 0.2em 0.5em;
	color: #FFF;
	line-height: 1;
	font-weight: 300;
	font-size: 0.85em;
  background: #888;
	font-weight: 500;
  font-family: "Inter", "Noto Sans JP", sans-serif;
	margin: 0 0 0 0.5em;
}

/*記事タイトル*/
.topicslist h2{
  font-family: "Inter", "Noto Sans JP", sans-serif;
  letter-spacing: 0.05em;
	color: #333;
	line-height: 1.6;
	font-weight: 500;
	font-size: 1em;
}

/*-------------------------
ページャー
--------------------------*/
.pager{
	text-align:center;
	padding:0;
	clear:both;
  margin-top: 42px;
}
/*ページャーボタン*/
.pager a{
  color: #444;
  font-size: 1.2em;
  padding: 0.2em 0.6em;
  text-decoration: none;
  line-height: 1;
  font-weight: 500;
  font-family: "Figtree", sans-serif;
  margin:0.1em;
}
/*現在のページのボタン*/
.pager a.current{
  background-color: #444;
  color: #FFF;
  font-weight: 400;
}
/*前のリストを表示(左向き矢印)*/
.pager a.before {
  padding: 0;
}
.pager a.before:after{
  display: inline-block;
  text-decoration: none;
  vertical-align: middle;
  color: #444;
	font-family: "Material Icons";
  font-size: 1em;
  line-height: 0;
  font-family:"Material Symbols Rounded";
	content: "\e5e0"; /*左向き矢印*/
  font-variation-settings:
  'FILL' 0,
  'wght' 200
}
/*先のリストを表示(右向き矢印)*/
.pager a.next {
  padding: 0;
}
.pager a.next:after{
  display: inline-block;
  text-decoration: none;
  vertical-align: middle;
  color: #444;
	font-family: "Material Icons";
  font-size: 1em;
  line-height: 0;
  font-family:"Material Symbols Rounded";
	content: "\e5e1"; /*右向き矢印*/
  font-variation-settings:
  'FILL' 0,
  'wght' 200
}
@media screen and (max-width:480px) {
.pager{
  margin-top: 32px;
  font-size: 0.9em;
  }
}

/*-------------------------
記事詳細ページ
--------------------------*/
#topicsdetail{
  width: 100%;
  margin: 0 auto;
  padding: 0 24px;
}
#topicsdetail section{
  width: 100%;
  max-width: 1240px;
  margin: auto;
  padding: 48px 42px 42px;
  background: rgb(255,255,255,0.6);
}
@media screen and (max-width: 960px) {
#topicsdetail section{
  padding: 42px 42px;
  }
}
@media screen and (max-width: 767px) {
#topicsdetail section{
  padding: 42px 32px 42px;
  }
}
@media screen and (max-width: 640px) {
#topicsdetail{
  padding: 0 18px;
  }
#topicsdetail section{
  padding: 32px 24px 32px;
  }
}

/* 更新日時 */
#topicsdetail h4{
  font-family: "Figtree", sans-serif;
	color: #888;
	line-height: 1;
	font-weight: 300;
	font-size: 1.1em;
	letter-spacing: 0.08em;
	margin: 0 0 32px 0;
  text-align: right;
}
@media screen and (max-width: 640px) {
#topicsdetail h4{
	font-size: 1em;
	margin: 0 12px 24px 0;
  }
}

/* 本文 */
#topicsdetail p{
  padding: 0 1em 1em;
  font-size: 1.05em;
}
@media screen and (max-width: 960px) {
#topicsdetail p{
  padding: 0 0.8em 1em;
  }
}
@media screen and (max-width: 640px) {
#topicsdetail p{
  padding: 0 0.4em 1em;
  font-size: 1em;
  }
}

/* 画像 */
#topicsdetail img{
  padding: 0 1em 1em;
}
@media screen and (max-width: 960px) {
#topicsdetail img{
  padding: 0 0.8em 1em;
  }
}
@media screen and (max-width: 640px) {
#topicsdetail img{
  padding: 0 0.4em 1em;
  }
}

/* 前ページへ戻るボタン */
.pagebackbtn {
  display: inline-block;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 auto;
  padding: 1em 1.2em 1em 3em;
  border: 1px solid #626262;
  color: #333;
  font-size: 0.95em;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  margin: 32px 0 0;
}
.pagebackbtn:after {
  position: absolute;
  left: 2.4em;
  top:36%;
  transform-origin: left;
  transform: scaleX(-1);
  width: 1.6em;
  height: .5em;
  background-color: #626262;
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  content: '';
  transition: transform .3s;
}
.pagebackbtn:hover{
  background-color: rgb(255,255,255,0.6);
}

