@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.2
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/


* {
	box-sizing: content-box;
}
a,
a:hover {
	text-decoration: none;
	color: #144699;
}

.w100 {width: 100px}
.w150 {width: 150px}
.w200 {width: 200px}
.w250 {width: 250px}
.w300 {width: 300px}
.w350 {width: 350px}

.side-col figure {
	margin: 0;
}

.marker {
	background-color: revert;
}

@media screen and (max-width: 768px) {
	table.summary th.w150 {width: auto}
}

.wrap {
	width: 100%;
}
.side-col ul {
	background: #fff;
	border-radius: inherit;
	padding: 0;
	margin: 0;
}

/* フォーム関連 */
.search-edit,
textarea, select {
	padding: 7px 10px;
	font-size: 14px;
	width: 100%;
}
textarea {
	min-height: 50px;
}
input[type="text"], input[type="password"], input[type="datetime"], input[type="datetime-local"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"],
.input_form textarea, .input_form select {
	display: inline-block;
	border: 1px solid #ccc;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	transition: border linear .2s, box-shadow linear .2s;
	font-size: 14px !important;
	padding: 7px 10px;
	border-radius: 3px;
	vertical-align: middle;
}

table.summary iframe {
	position: static;
}

article.formWrap h3 {
	font-size: 13px;
	font-weight: normal;
	padding: 0;
	margin: 20px 0;
}
article.contact h3 {
	margin: 0;
	padding: 5px;
}
input[type="submit"], #bbp_reply_submit, .bp-login-widget-register-link a {
	padding: 0 2em;
	width: auto;
	margin: 0;
	cursor: pointer;
	border: 1px solid transparent;
}
input[type="submit"].btn-yellow {
	background: #fdcd25;
}

.is-style-info-box, .info-box, .sp-info, .info {
	color: #4c4c4c;
	background: #fff;
	border-color: #fff;
	padding: 0;
	border-radius: 3px;
	margin-bottom: 20px;
}
/*
header.article-header h1,
h2.ttl {
	font-size: 1.3em;
	word-break: break-all;
	word-wrap: break-word;
	padding: .2em .2em .2em 0.7em;
	background: linear-gradient(45deg, #0051a2 0%, #0051a2 10%, #0058ae 10%, #0058ae 20%, #005db9 20%, #005db9 30%, #0061c1 30%, #0061c1 40%, #0268cc 40%, #0268cc 50%, #0070df 50%, #0070df 60%, #027bf2 60%, #027bf2 70%, #148bff 70%, #148bff 80%, #2994ff 80%, #2994ff 90%, #409ffd 90%, #409ffd 100%);
	color: #FFF;
	border-radius: 3px;
	position: relative;
	font-weight: bold;
}
h2.ttl.mb20 {
	margin-bottom: 20px;
}*/
.article-info h3 {
	margin: 0;
}
.article h1 {
	background: transparent;
	color: var(--common-font-color);
	border-bottom: 1px solid #939393;
	font-size: var(--common-h2-font-size);
	font-weight: bold;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	padding: 7px 5px;
	position: relative;
	width: 100%;
	min-height: 40px;
}
.article h2 {
	font-size: var(--common-h2-font-size);
	padding: 7px 5px;
	background: transparent;
	border-radius: unset;
	margin: 0 0 20px !important;
}
.article h3 {
	font-size: 1.2em;
}
.article h3,
.article h4 {
	border: 0;
	margin: 0;
}

section.section-info h3 {
	margin: 25px 0;
	padding: 0;
}
h2.ttl-Lblue-left,
h3.ttl-Lblue-left,
h4.ttl-Lblue-left {
	padding: 5px 10px !important;
}

h2.title,
h3.title,
h4.title {
	font-weight: bold;
	padding: revert;
	font-size: initial;
	background: revert;
	margin: revert;
	border-radius: revert;
}

/* 右カラム */
.infoContainer .right, .infoContainer .left {
	/*max-width: 200px;*/
	max-width: none;
	position: relative;
}
.infoContainer .right ul {
	padding: 0;
}
.ar .al-icon li a {
	box-sizing: content-box;
}
/* 新型コロナウイルス対策に伴う、在宅勤務実施のお知らせ */
.is-style-information-box, .information-box, .information {
	background: #ffece6;
	border: 0;
}
.is-style-information-box::before, .information-box::before, .information::before {
	content: none;
}


/* header */
header h1 {
	min-height: 20px;
}
.header-logo img {
	max-width: 150px;
}
.header-info img {
	max-width: 315px;
}

#mddNav > ul,
.megamenu-inner {
	list-style: none;
	padding: 0;
}
.megamenu-inner a {
	box-sizing: content-box;
}

/* 検索 */
.header-search-container input[type="search"] {
	width: calc(100% - 65px);
}
input[type="submit"].header-search-btn {
	background: linear-gradient(45deg, #2558aa 0%, #436fb7 100%);
	width: 60px;
	padding: 0;
	border: 1px solid transparent;
}



/* メイン */
body {
	/* font: 500 1.4rem/1.6 Meiryo,'Lucida Grande','Hiragino Kaku Gothic ProN',Arial,sans-serif; */
	font: 400 15px/21px 'NSjp','Hiragino Kaku Gothic ProN',Meiryo,'Lucida Grande',Arial,sans-serif;
	color: var(--common-color-gray4);
}
@media screen and (max-width: 768px) {
	body {
		font-family: 'Source Sans Pro', sans-serif;
		font-size: 15px;
		line-height: 18px;
		font-weight: 400;
	}
}

#container {
    margin: 0;
    padding: 0;
    position: relative;
    max-width: 100%;
}

#container .main {
    width: 100%;
    padding: 0;
    margin: 0 auto;
    max-width: 100%;
    box-sizing: border-box;
}
#container .main #container .main {
	padding: 0;
	float: left;
	width: calc(100% - 220px);
}
.content {
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	#container .main #container .main {
		float: none;
		width: 100%;
	}
}

/* パンくず */
.breadcrumb {
	padding: 10px;
	color: #4c4c4c;
	font-size: 13px;
	margin: 0 auto;
	max-width: 1280px;
}
.breadcrumb-caption {
	margin: 0;
	font-size: 12.6px;
}
/* パンずくがない場合は、パンくず分のスペースを設ける */
main > #container {
	margin: 1em .4em;
	padding: 0;
}
/* パンずくがある場合はスペースを設けない */
main #breadcrumb + div#container {
	margin: 0 0 20px 0;
}

/* wpの時だけ法パソヘッダー内のパンくずを非表示 */
#Breadcrumb .BreadcrumbList {
	padding: 0;
	display: none;
}
@media screen and (max-width: 768px) {
main div#container {
	padding: 0;
	font-size: inherit;
}
}

/* wpトップの横幅 */
#list.front-page-type-index {
	max-width: 1100px;
	margin: 0 auto;
}


/* コンテンツ */
/* 投稿日時 */
.releaseDate {
	font-size: 1.4em;
}

/* カテゴリ */
header.article-header {
	height: auto;
	margin: 0;
}
/*header.article-header h1, h2.ttl {
	margin: 0 0 20px;
	line-height: 1.6;
}*/

/* カテゴリ一覧 */
.widget-entry-cards figure {
	width: 80px;
}
.widget-entry-card-content {
	position: absolute;
	width: calc(100% - 80px);
	font-size: 13px;
	top: 0;
	bottom: 0;
	margin: auto auto auto 85px;
}
.new-entry-card-title {
	position: absolute;
	top: 20px;
	bottom: 0;
	text-align: left;
	width: 100%;
}
.new-entry-card-date {
	position: absolute;
	display: block;
	font-weight: bold;
	font-size: 14px;
	top: 0;
	bottom: 0;
	text-align: left;
	height: 15px;
}
.new-entry-card-date .new-entry-card-post-date {
	font-size: inherit;
	margin: auto;
}
.new-entry-card-date .new-entry-card-update-date {
	display: none;
}

.infoSection .scroll-list li {
	margin: 0;
}
.scroll-list .category.info,
.scroll-list .category.blog {
	margin: 0;
}
.cat-label {
	border: 0;
	padding: 5px 10px;
}
:is(.news, .blog, .interview) .scroll-list .scroll-item a {
	grid-template-columns: 90px 100px 1fr;
}
@media screen and (max-width: 768px) {
	:is(.news, .blog, .interview) .scroll-list .scroll-item a {
		padding: 3px 0;
	}
}

/* タグ一覧 */
@media screen and (max-width: 768px) {
.widget-entry-cards .a-wrap {
	min-height: 95px;
}
}


/* ブログ記事 */
@media screen and (max-width: 768px) {
	article.articleWrap section {
		z-index: 0;
		position: relative;
	}
	article section article section {
		margin: 0;
	}
	article section .section-info {
		width: 100%;
		margin: 0;
	}
	.infoContainer .right {
		margin: auto;
	}
}
.infoContainer section.section-info ol.normalOl {
	padding: 0;
}
table.simple-table {
	width: auto;
}
table th,
table td{
	border: 0;
}
table th,
table tr:nth-of-type(2n+1){
	background: #FFF;
}

.col3 div.imgWrap {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	width: calc((100% / 3) - 5px);
	vertical-align: top;
}
.col3 div.imgWrap.maxheight200 img {
	max-width: none;
	max-height: 200px;
	object-fit: cover;
}
img + .description {
	color: #999;
	font-size: 11px;
}

@media screen and (max-width: 768px) {
	.col3 div.imgWrap {
		width: calc(100% - 5px);
	}
}
@media screen and (min-width: 769px) {
	.x-axisScroll_announce {
		display: none;
	}
}


/* 関連記事 */
.rect-mini-card .related-entry-card-wrap {
	width: calc(50% - 15px);
}

.under-entry-content .related-entries, .under-entry-content .pager-post-navi {
	padding: 0;
	margin: 0 auto;
	min-width: 1100px;
	max-width: 1280px;
}
@media screen and (max-width: 768px) {
	.under-entry-content {
		width: calc(100% - 20px);
		text-align: center;
		margin: 10px 10px 20px;
	}
	.under-entry-content .related-entries, .under-entry-content .pager-post-navi {
		min-width: auto;
		width: auto;
	}
	.pager-post-navi.post-navi-square a {
		width: calc(100% - 15px);
	}
	.rect-mini-card .related-entry-card-wrap {
		width: calc(100% - 15px);
	}
	.rect-mini-card .related-entry-card-title {
		border-bottom: none;
		margin: 0;
	}
	.related-entry-card-content {
		padding-bottom: 0;
	}
	.rect-mini-card .related-entry-card-thumb {
		margin: 0;
	}
}
.related-entry-heading,
.related-entry-card-content {
	text-align: left;
}

/* コンテンツフッター */
#forward-footer {
	display: none;
}


/* フォーム */
form.normalcontact h3 {
	font-size: 1.4em;
	font-weight: 700;
	padding: 0 0 1em;
	margin: 0;
}
form.normalcontact h4 {
	font-size: .9em;
	margin: 0;
	margin-bottom: 2.4em;
	color: #5e5e5e;
	padding: 0;
}
form.normalcontact h5 {
	margin: .9em 0 1.2em;
	font-size: .9em;
	border: 0;
	padding: 0;
}
form.normalcontact p {
	font-size: .9em;
}

/* フッター */
footer .footer-wrap ul {
	list-style: none;
	padding: 0;
}
.footer-company_info ul {
	padding: 0;
	list-style: none;
}
.footer-company_address {
	padding: 20px 0 !important;
}

.entry-content > * {
	margin-bottom: 0;
}



.news ul.scroll-list,
.blog ul.scroll-list {
	display: grid;
	justify-content: start;
	align-content: start;
	align-items: center;
	grid-template-columns: 1fr;
	max-height: 500px;
	overflow-y: auto;
	list-style-type: none;
	padding: 5px;
}

/* ブログblog */
article.type-blog .entry-content p,
article.type-return .entry-content p {
	margin: 0;
}
article.type-blog .entry-content h3,
article.type-return .entry-content h3{
	padding: 15px 0;
}
article.type-blog .entry-content a,
article.type-return .entry-content a {
	text-decoration: underline;
}

/* ブログ関連動画 */
.blog-footer-link {
	margin-top: 40px;
}

article h2.ttl-Lblue-left,
article.type-blog article.blog-footer-link h3 {
background: #449FFF;
background: linear-gradient(45deg, #0081ff 0%, #0081ff 10%, #118bff 10%, #118bff 20%, #2294ff 20%, #3394ff 30%, #3398ff 30%, #3398ff 40%, #449fff 40%, #449fff 50%, #55a9ff 50%, #55a9ff 60%, #66b1ff 60%, #66b1ff 70%, #77b8ff 70%, #77b8ff 80%, #88c0ff 80%, #88c0ff 90%, #9cf 90%, #9cf 100%);
font-size: 1.2em;
font-weight: bold;
padding: 5px 0 5px 10px;
text-align: left;
border-radius: 3px;
z-index: 0;
position: relative;
color: #FFF;
}
article.type-blog .entry-content h3 {
	margin: 15px 0 20px;
	padding: 5px 0;
}
ul.blog-footer-li {
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4,1fr);
	justify-content: center;
	align-items: start;
	gap: 10px;
}
.blog-footer-li li {
	display: inline-block;
	width: 100%;
	min-height: 180px;
	margin: 0 !important;
}
.blog-footer-li a {
	display: block;
	position: relative;
	text-align: center;
}
.blog-footer-li li > a[class^="vp-"]::before {
	content: "\f144";
	font-family: "Font Awesome 6 Free";
	font-size: 40px;
	color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: rgba(0, 0, 0, 0.2);
	font-weight: 900;
	transition: all 0.1s ease-in;
  max-width: 100%;
}
.blog-footer-li li a[class^="vp-"]:hover::before {
	background: rgba(255, 255, 255, 0);
}
.blog-footer-li img {
	display: block;
	width: 100%;
	margin: auto;
	object-fit: contain;
	height: 145px;
}
.blog-footer-li span a {
	width: 100%;
	display: block;
	line-height: 16px;
	padding: 10px 3px;
	font-size: 13px;
	text-align: left;
	box-sizing: border-box;
}

@media screen and (max-width: 768px) { 
	.blog-footer-li li {
		width: calc(50% - 10px);
		min-height: 150px;
	}
	.blog-footer-li span a {
		width: 100%;
		padding: 5px 0;
		font-size: 13px;
	}
}

/* インフォメーション 期間表示 */
.entry-content .title .period {
	line-height: 20px;
	background: #f8fcfd;
	padding: 2px 7px;
	border-left: 5px solid #b7c5c8;
	display: block;
	min-width: 320px;
	max-width: 330px;
	border-radius: 1px;
}

/* 個人情報のお取り扱い、セキュリティについて */
.form-wrap h3 {
	font-size: 16px;
	padding: 0;
	margin: revert;
}
.form-wrap dd {
	margin-left: 0;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ウィジェット */
.content-widget-wrap,
.widget_popular_entries {
	padding: 0;
	margin: 0 auto;
	min-width: 1100px;
	max-width: 1280px;
	margin-top: 40px;
	margin-bottom: 40px;
}
.widget h2 {
  background: transparent;
  border-bottom: 1px solid #939393;
  color: var(--common-font-color);
  font-size: var(--common-h2-font-size);
  font-weight: bold;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  padding: 7px 5px;
  position: relative;
  min-height: 40px;
  width: 100%;
}

.content-widget-wrap h2 {
  font-size: var(--common-h2-font-size);
}
.content-widget-wrap h3 {
  font-size: var(--common-h4-font-size);
	color: #5b5b5b;
}


@media screen and (max-width: 834px) {
.content-widget-wrap, .widget_popular_entries {
	min-width: 100%;
}
}
