@charset "UTF-8";

/* ********** css変数 ********** */
:root {
	--color1: #fff;
	--color2: #f8f9fa;
	--color3: #333; 
	--color4: #007acc; 
	--colorw: #fff; 
	--fontsub: 'Merriweather', serif;
}

/* ********** サイト全体の共通モジュールのstyle ********** */
/* テキスト要素 */
[class*="c-text"] {
	font-family: 'Merriweather', serif;
	font-optical-sizing: auto;
}
[class*="c-title"],
.c-text--bold  {
	font-weight: 500;
}
[class*="c-title"],
[class*="c-text"] {
	color:var(--color3);
}
.c-title--large {
	font-size:calc(7 * var(--rem));
	font-weight:bold;
	font-family: "Arvo", serif;
}
.c-title--normal {
	font-size:calc( 2.8 * var(--rem));
	font-weight:bold;
	font-family: "Arvo", serif;
}
.c-title--small {
	font-size:calc( 2.5 * var(--rem));
	font-weight:bold;
	font-family: 'Roboto', sans-serif;
}
.c-text--large  {
	font-size:calc( 2.2 * var(--rem));
	font-weight:bold;
	font-family: 'Merriweather', serif;
}
.c-text--normal  {
	font-size:calc( 1.5 * var(--rem));
	line-height: 1.55;
	font-weight:500;
}
.c-text--small {
	font-size:calc( 1.3 * var(--rem));
	line-height: 1.6;
}
.c-text--bold {
	font-family: 'Roboto', sans-serif;
	font-size:calc( 1.7 * var(--rem));
	font-weight:bold;
	line-height: 1.9;
}
/* タグ要素 */
.s-catelist {
	flex-wrap: wrap;
	gap:7px;
}
.s-catelist li {
	display: inline-block;
	font-size:calc( 1.2 * var(--rem));
	font-weight:normal;
	width: fit-content;
	background-color: var(--color2);
	color:var(--color3);
	white-space: nowrap;
}
.s-catelist li a {
	pointer-events: none;
}
[class*="c-tag"] {
	width: fit-content;
	padding: 5px 20px;
	font-weight: bold;
	margin-bottom: 20px;
	border-radius: 20px;
	font-size:calc( 1.8 * var(--rem));
	background: var(--colorw);
}
.c-tag--group {
	color: var(--color4);
}
.c-tag--other {
	color: var(--color3);
}
/* テキストリンク要素 */
.c-textlink,
.s-readingtext p a {
	color:var(--color4);
	text-decoration:none;
	padding:0 1px;
}
.c-textlink[target="_blank"]:after {
	margin: 0 3px 3px;
	font-family: "Font Awesome 6 Free";
	vertical-align: middle;
	content: "\f08e";
	font-weight:900;
	display: inline-block;
	font-size:calc( 1.4 * var(--rem));
}
.c-textlink:hover {
	opacity:0.7;
	text-decoration:underline;
}
/* タブ要素 */
[class*="c-tab"].e-current {
	background:#333;
	color:#fff;
}

/* **********  サイト全体の共通パーツのstyle ********** */
/* フッタ */
.l-footer {
	background:var(--color3);
}
.l-footer .c-col2 {
	padding:40px 0;
}
.l-footer__menu a {
	color:#fff;
}
.l-footer__menu a:hover {
	color:#999;
}
.l-footer__lists li {
	line-height: 2.5rem;
}
.l-footer__copyright {
	margin-top:40px;
	width: 100%;
	padding:40px 5px 0;
	color:#fff;
	text-align: center;
	font-size:calc(1.4 * var(--rem));
	border-top:1px solid #fff;
}
/* パンくず */
.s-breadcrumb {
	background: #000;
}
.s-breadcrumb .c-rowlists {
	padding:10px 0;
	display: block;
}
.s-breadcrumb .c-rowlists li {
	font-size:calc(1.3 * var(--rem));
	color:#fff;
	display: inline;
}
.s-breadcrumb .c-rowlists li a {
	color:var(--color2);
	text-decoration:underline;
}
/* .s-breadcrumb .c-rowlists li:after {
	content:"";
	background:url(../img/arrow--right.svg) center center/contain no-repeat;
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 6px 0 12px;
} */
.s-breadcrumb .c-rowlists li:after {
	content:"";
	mask: url(../img/arrow--right.svg) center center / contain no-repeat;
	-webkit-mask: url(../img/arrow--right.svg) center center / contain no-repeat;
	background-color: #fff; /* ここで色を指定 */
	width: 10px;
	height: 10px;
	margin: 0 6px 0 12px;
	display: inline-block;
}
.s-breadcrumb .c-rowlists li:last-of-type:after {
	content:none;
}
.s-breadcrumb .c-rowlists li a:hover {
	opacity:0.7;
}
/* ページネーション/WPに影響するためclass名は変更不可 */
.s-pagenation {
	padding: 50px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align:center;
}
.s-pagenation a,
.s-pagenation span  {
	width: fit-content;
	height: 50px;
	margin: 5px;
	line-height: 50px;
	text-align: center;
	font-size:calc( 1.4 * var(--rem));
	font-weight: 700;
	background-color: var(--color3);
	color: var(--color1);
	border: 1px solid #000;
	padding: 0 10px;
	display: inline-block;
}
.s-pagenation a:hover,
.s-pagenation .current{
	background-color:  var(--color1);
	color:var(--color3);
	border: 1px solid var(--color3);
}

/* c-tab/js連動のためclass名は変更不可 */
[class*="c-tab"]:not(.c-table) {
	display:flex;
	justify-content:space-between;
	align-items:center;
}
[class*="c-tab"]:not(.c-table) li {
	background-color: #fff;
	color:#333;
	border:1px solid #777;
}
[class*="c-tab"]:not(.c-table) li.e-current {
	background-color: #000;
	color:#fff;
}
/* ページトップへ戻る */
.s-backtotop {
	background: var(--color3);
	width: 70px;
	height: 70px;
	border-radius: 50%;
	position: fixed;
	z-index: 99;
	bottom: 80px;
	right: 30px;
	display:flex;
	justify-content:center;
	align-items:center;
	opacity:0;
	pointer-events: none;
	transition:0.5s;
	border:3px solid #fff;
}
.s-backtotop.e-active {
	opacity:1;
	pointer-events: auto;
}
.s-backtotop span::after {
  content: "";
  background-color: #fff;
  height: 1px;
  width: 14px;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: rotate(135deg) translateY(-50%);
}
.s-backtotop span::before {
  content: "";
  background-color: #fff;
  height: 1px;
  width: 14px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: rotate(-135deg) translateY(-50%);
}
.s-backtotop:hover {
	transform: translateY(-5%);
	background: var(--color4);
}

/* ********** ページごと・セクションごとの個別style（★） ********** */
/* プロモーションリード文 */
.s-promotionlead {
	color:#555;
}
/* メインカラム */
.s-lead {
	background:var(--color2);
}
.s-lead .c-text--normal {
	background:var(--colorw);
	border-radius:40px;
	padding-left: 40px;
	padding-right: 40px;
}
.s-maincontents {
	background:var(--color1);
}
.s-maincontents .c-container > .c-col2 {
	align-items: flex-start;
}
/* 左カラム */
.s-colleft {
	background:var(--colorw);
	border:1px solid #333;
	padding:calc(30 * var(--px));
}
.s-colleft__readinglist,
.s-colleft__catelist {
	margin-top: 60px;
}
.s-colleft__readinglist > .c-photo--con,
.s-colleft__catelist > .c-photo--con {
	display: block;
	width: calc(150 * var(--px));
	height: calc(150 * var(--px));
	margin: 0 auto;
}
.s-colleft__readinglist > .c-text--large ,
.s-colleft__catelist > .c-text--large	{
	text-align: center;
	margin-top: 10px;
	font-size:calc(2 * var(--rem));
}
.s-colleft__readinglist .c-col2 {
	margin-top: 20px;
	align-items: flex-start;
}
.s-colleft__readinglist .c-col2:hover {
	opacity:0.7;
}
.s-colleft__readinglist .c-col2 .c-photo {
	border-radius: 50%;
	width: calc(65 * var(--px));
	height: calc(65 * var(--px));
}
.s-colleft__readinglist .c-col2 .c-text--normal {
		margin-top: 5px;
}
.s-colleft__readinglist .c-btn {
	margin-top: 30px;
	display: block;
	width: fit-content;
}
.s-colleft__catelist > .c-text--bold {
	text-align: center;
	margin-top: 20px;
	font-size:calc(1.8 * var(--rem));
	color:var(--color4);
}
.s-colleft__catelist .c-col1 a {
	background: var(--color2);
	display: inline-block;
	margin: 8px auto 0;
	width: 100%;
	padding: 10px 20px;
	font-size:calc(1.5 * var(--rem));
	text-align: center;
	transition:0.3s;
}
.s-colleft__catelist .c-col1 a:hover {
	opacity:.7;
	}
.s-search {
	text-align: center;
}
.s-search button {
	background:var(--color3);
	padding:0 10px;
	color:#fff;
	border-radius:15px;
	margin-left: 2%;
}

	
/* 右カラム */
.s-colright .c-title--normal .c-photo--con {
	display: inline-block;
	width: 50px;
	height: 50px;
	vertical-align: middle;
	margin-right: 15px;
}
.s-colright__catelist .c-col3--panel {
	margin-top:20px;
	margin-bottom:50px;
}
.s-colright__catelist .c-col3--panel .c-item {
	font-size:calc(2 * var(--rem));
	padding: 10px 20px;
	border: 2px solid var(--color3);
	background: var(--color2);
	text-align: center;
	border-radius: 40px;
}
.s-colright__catelist .c-col3--panel > .c-item:nth-of-type(n+4) {
	margin-top: calc(20 * var(--px));
}
.s-colright__tolists .c-btn {
	width: 100%;
	margin-top: 30px;
	margin-bottom: 50px;
}

/* カテゴリパーツ */
.c-parentcate,
.c-childcate {
	width:fit-content;
	padding:2px 8px;
}
.c-parentcate {
	color:var(--color4);
	width:fit-content;
	padding:2px 8px;
	background:var(--color1);
	border:1px solid var(--color4);
}
.c-childcate {
	color:var(--color3);
	width:fit-content;
	padding:2px 8px;
	background:var(--color2);
	border:1px solid var(--color3);
}

/* **** TOP ***** */
/* リード */
.s-topmainvisual {
	background: var(--color3);
}
.s-topmainvisual .c-title--large,
.s-topmainvisual .c-text--normal{
	color:#fff;
}
/* **** 記事一覧 ***** */
.s-readinglist .c-item {
	background:var(--color2);
}
.s-readinglist .c-item .c-wrap{
	padding:20px;
}
.s-readinglist .c-item .c-photo {
	aspect-ratio: 16/9;
	height: 200px;
}
.s-readinglist a .c-title--normal {
	transition:0.3s;
}
.s-readinglist a:hover .c-title--normal {
	text-decoration:underline;
}


/* **** single 記事 ****** */
/* 著者情報 */
.s-writer {
	padding:20px;
	border:1px solid var(--color3);
}
/* リンク記事一覧 */
#p-reading .s-readinglink a{
	background:var(--color2);
	padding:20px;	
}
#p-reading .s-readinglink a:hover .c-title--normal{
	text-decoration:underline;
}
#p-reading .s-readinglink span{
	display:inline-block;
}
#p-reading .s-readinglink .c-title--normal {
	font-size: calc( 2.2 * var(--rem));
	transition:0.2s;
}

/* **** 記事ページ ***** */
.s-readingtext div > *:first-child {
	margin-top :0;
}
.s-readingtext p,
.s-readingtext ul{
	margin-top :calc(15 * var(--px));
}
.s-readingtext h3,
.s-readingtext h4{
	color:var(--color3);
	font-weight:bold;
}
.s-readingtext h3 {
	margin-top :calc(40 * var(--px));
	font-size: calc(2.2 * var(--rem));
}
.s-readingtext h4{
	margin-top :calc(25 * var(--px));
	font-size: calc(1.8 * var(--rem));
}
.s-readingtext li {
	margin-top :calc(5 * var(--px));
}
.s-readingtext iframe {
	margin-top :calc(25 * var(--px));	
	width: 100% !important;
}
/* .s-readingtext p a {
display:block;
margin-top :calc(15 * var(--px));
} */
.s-reading__pagination {
	display: flex;
	justify-content: center;
	gap: 50px;
	padding-top:30px;
	margin-bottom: 60px;
}
.s-reading__pagination .prev-post,
.s-reading__pagination .next-post {
	width: fit-content;
	color: var(--color1);
	font-size:calc(2 * var(--rem));
	background: var(--color3);
	padding: 5px 20px;
	border-radius: 20px;
	transition:0.1s;
	border:1px solid var(--color3);
}
.s-reading__pagination .prev-post:hover,
.s-reading__pagination .next-post:hover {
	background: var(--color1);
	color: var(--color3);
}
	
/* **** hero ***** */
.s-hero {
	background:var(--color3);
	color:#fff;
}
.s-hero .c-title--normal,
.s-hero .c-text--normal,
.s-hero .c-text--small {
	color:#fff;
}
#p-reading .s-hero .c-photo {
	aspect-ratio:16/9;
	max-height:320px;
}
#p-reading .s-hero .c-rowlists .c-text--small + .c-text--small {
	margin-left:20px;
}
.p-page .s-hero {
	text-align:center;
}
.p-page .s-hero,
#p-serach_reading .s-hero {
	text-align:center;
}
/* **** 固定ページ ***** */
.p-page h3:first-of-child {
	margin-top:0;
}
.p-page .c-table th,
.p-page .c-table td {
	text-align:left;
}
.p-page .c-table th {
	width:25%;
	padding:5px 10px;
	border-bottom:2px solid var(--color2);
	font-weight:bold;
}
.p-page .c-table td {
	width:75%;
	padding:5px 20px;
	border-bottom:2px solid var(--color2);
}
/* **** sitemapページ ***** */
#p-sitemap .s-colright h3.e-first {
	margin-top:0;
}
#p-sitemap .s-colright ul{
	margin-top :calc(15 * var(--px));
}
#p-sitemap .s-colright h3{
	color:var(--color3);
	font-weight:bold;
	margin-top :calc(40 * var(--px));
	font-size: calc(2.2 * var(--rem));
}
#p-sitemap .s-colright li,
#p-sitemap .s-colright li ul{
	margin-top :calc(5 * var(--px));
}
#p-sitemap .s-colright li a {
	color:var(--color4);
	transition:0.3s;
}
/* **** フォーム ***** */
button,
option,
textarea,
input[type="button"],
input[type="submit"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="text"],
input[type="select"],
input[type="url"],
input[type="option"],
input[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -ms-border-radius: 0;
  border-radius: 0;
  border: none;
  outline: 0;
  margin: 0;
  background: none;
}
/* for firefox */
select {
  text-indent: 0.01px;
  text-overflow: "";
}
/* for ie10 ie11 ie系のプルダウンの矢印を消す ie9は非対応 */
select::-ms-expand {
  display: none;
}
/* フォーカス時の色変更 */
.s-form textarea:focus,
.s-form input[type="email"]:focus,
.s-form input[type="tel"]:focus,
.s-form input[type="text"]:focus,
.s-form input[type="date"]:focus
.s-form input[type="search"] :focus {
  outline: solid 1px #20b2aa;
  box-shadow: 0px 5px 10px 0px rgba(224, 255, 255, 0.7);
}
/* 入力欄の基本デザイン */
.s-form input[type="email"],
.s-form input[type="tel"],
.s-form input[type="text"],
.s-form input[type="date"],
.s-form input[type="search"],
.s-form textarea,
.s-form select {
  padding: 5px;
  width: 100%;
  font-size: 1.5rem;
  border: 1px solid #ccc;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
}
.s-form input[type="radio"],
.s-form input[type="checkbox"] {
  display: inline-block;
}
.s-form textarea {
  height: 160px; /* デフォルトの高さ */
}
.s-form .c-wrap {
  background:var(--color3);
  transition:0.2s;
  width:fit-content;
}
.s-form .c-wrap:hover {
	background:var(--color1);
	border:1px solid var(--color3);
}
.s-form .c-wrap input[type="submit"] {
  width: 100px;
  padding: 20px;
  color:#fff;
}
.s-form .c-wrap:hover input[type="submit"] {
  color:var(--color3);
}
.wpcf7-spinner {
  display:none;
}


/* **************************************************************** */
/* ********************** スマートフォン対応 ************************* */

@media screen and (max-width:810px) {
	/* ********** サイト全体の共通モジュールのstyle（★） ********** */
	/* テキスト要素 */
	.c-title--large {
		font-size: calc(5 * var(--rem));
	}
	.c-title--normal {
		font-size: calc(2.5 * var(--rem));
	}
	/* **********  サイト全体の共通パーツのstyle（★） ********** */
	.s-breadcrumb .c-rowlists {
		padding:10px;
	}
	/* ********** ページごと・セクションごとの個別style（★） ********** */
	/* 左カラム */
	.s-colleft {
		order: 1;
		margin-top:20px;
	}  
	/* 検索パーツ */
	.s-search button {
		padding: 10px;
		margin: 15px auto 0;
	}
	/* 下層ページhero */
	.s-hero .c-container .c-col2 > .c-photo {
		width: 100%;
	}
	.s-hero .c-title--normal {
		text-align: left;
	}
	#p-reading .s-hero .c-rowlists {
		display: block;
	}
	#p-reading .s-hero .c-title--normal {
		text-align: left;
		margin-left: 0;
	}
	#p-reading .s-hero .c-rowlists .c-text--small + .c-text--small {
		margin-left: 0;
	}
	/* 記事ページ */
	.s-reading__pagination .prev-post,
	.s-reading__pagination .next-post {
		font-size: calc(1.6 * var(--rem));
	}
}
