@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.0.8
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
html {
	scroll-behavior: smooth;
}
body {
	overflow-x: hidden;
}

/*固定ページ投稿ページいろいろ非表示*/
.page .sns-share,
.page .sns-follow,
.page .date-tags,
.page .author-info,
.single .sns-share,
.single .sns-follow,
/*.single .date-tags,*/
.single .author-info {
    display: none;
}


/*トップページいろいろまとめて非表示*/
.home.page .entry-title,
.home.page .sns-share,
.home.page .sns-follow,
.home.page .date-tags,
.home.page .author-info,
.home .article-header,
.home .entry-header {
  display: none;
}




/* 文字装飾 */
/* 明朝フォント */
.mincho {
	font-family: "游明朝", YuMincho,   serif;
}
/* 青字太字 */
.bold-blue {
	font-weight: 600;
	color: #007faf;
}

.bold-blue_center {
	font-weight: 600;
	color: #007faf;
	text-align: center;
	margin-bottom: 10px;
}

/* ボタンデザイン */
.btn_01 {
	position: relative;
  display: inline-block;
  padding: 0.6rem 2.2rem;
  border: solid 1px #1e1109;
  border-radius: 1px;
  transition: 0.4s;
	text-decoration: none;
	font-size: 0.9rem;
	color: #fff;
	background-color: #202D3E;

}
.btn_01:after {/* ボタン矢印 */
	position: absolute;
	content: '';
	width: 7px;
	height: 7px;
	border-top: solid 1.2px #fff;
	border-right: solid 1.2px #fff;
	transform: rotate(45deg);
	top: 50%;
	right: 10px;
	margin-top: -4px;
}
.btn_01:hover {
  background: #f4f5f7;
  color: inherit;
}
.btn_01:hover:after {
	border-top: solid 1px #202D3E;
	border-right: solid 1px #202D3E;
}
.btn_wrap {
	text-align: center;
}
/* ボタンデザイン終わり */


/* コンテンツカラム幅　フロントページ以外は1000px 
.page:not(.home) .content .wrap,
.single .content .wrap,
.archive .content .wrap {
	width: 1000px;
	max-width: 100%;
} */
.main {
	background-color: transparent;
}
/* コンテンツカラム幅終わり */





/* hとpタグリセット */
.article h1,
.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {
  font-weight: 400;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background-color: transparent;
}
p,
ul,
ol {
	margin: 0;
	padding: 0;
}
.article ul,
.article ol,
.article dl {
	/*text-align: justify;*/
}
/* hとp、ul、olタグリセット終わり */

/* ヘッダー */
.header {
  height: 80px;
}
.header-container-in.hlt-top-menu {
	padding-left: 15px;
	padding-right: 15px;
}
/* グローバルメニュー */
.navi-in a {
	color: inherit;
	font-size: 0.9rem;
}
.navi-in ul.menu-header > li {
	position: relative;
	font-weight: 500;
}
.navi-in ul.menu-header > li a:before,
.navi-in ul.menu-header > li a:after {
	position: absolute;
	top: 2.9rem;
	content: "";
	display: inline-block;
	width: 0;;
	height: 3px; 
	background: #2096ba;
	transition: 0.5s;
	
}
.navi-in ul.menu-header > li a:before {
	left: 50%;
}
.navi-in ul.menu-header > li a:after {
	right: 50%;
}
.navi-in ul.menu-header > li > a:hover:before,
.navi-in ul.menu-header > li > a:hover:after {
	width: 30%;
}
.navi-in a:hover {
	background-color: #f4fafd;
}

/* グローバルメニュー終わり */


/* 通知エリア */
.notice-area {
	font-size: 1.0rem;
	padding: 0.3rem;
}
/* 通知エリア終わり */



/* アピールエリアの背景 */
.appeal {
	background: linear-gradient(to bottom, rgba(70, 70, 70, 0.2), rgba(0, 146, 206, 0.2)),url(https://cecap.jp/cecap2020/wp-content/uploads/mainvisual_bg.jpg);
	background-size: cover;
	background-position: center center;
}
.appeal-content {
	background-color: transparent;
	color: #fff;
	text-shadow: #454545 0 0 5px;
	line-height: 1.5;
}
.appeal-message h2 {
	font-size: 1.7rem;
	margin-top: 0.5rem;
	margin-bottom: 0.3rem;
	letter-spacing: 0.15rem;
}
.appeal-message p {
	font-weight: 600;
	letter-spacing: 0.05rem;
	padding: 0;
	margin: 0;
}
/* アピールエリア終わり */


/* トップページデザイン */
/*横幅いっぱいに背景のため*/
.home .content .wrap {
	width: 100%;
}
/* トップページのコンテンツエリア余白 */
.home .content {
	margin-top: 0;
}
.home .main {
	padding: 0;
}
.home .entry-content {
	margin-top: 0;
}
.home .entry-content > * {
	margin-top: 0;
	margin-bottom: 0;
}
/* トップページの見出し */
.index_ttl {
	text-align: center;
	margin-bottom: 1.0rem;
}
.index_ttl h2 {
	font-weight: 600;
}

.index_ttl span {
	display: inline-block;
	position: relative;
	padding-left: 8px;
	padding-right: 8px;
}
.index_ttl span:before,
.index_ttl span:after {
  position: absolute;
  top: 50%;
  content: '';
  width: 50px;
  height: 1px;
  background-color: #1e1109;
}
.index_ttl span:before { right: 100%; }
.index_ttl span:after { left: 100%; }


/* トップページコンテンツ */
.index_inner {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 10px;
}

/* お知らせセクション */
.news {
	background-color: #97D3E3;
}
.news .index_inner {
	padding-top: 24px;
	padding-bottom: 16px;
}
.news .news_contents {
	flex-basis: 100%;
}

.news .cic_entry_card_date {
	display: block;
	margin-right: 16px;
}
.news .cic_entry_card_category {
	display: block;
	margin-right: 8px;
}
.news .cic_entry_card_category:before {
	content: '［';
}
.news .cic_entry_card_category:after {
	content: '］';
}
.news .news_contents figure {
	display: none;
}
.news .news_contents .a-wrap {
	position: relative;
	background-color: #fff;
	display: block;
	border-radius: 3px;
	padding: 10px 20px;
	margin-bottom: 8px;
}
.news .news_contents .a-wrap:after {
	position: absolute;
	content: '';
	width: 7px;
	height: 7px;
	border-top: solid 1.2px #ccc;
	border-right: solid 1.2px #ccc;
	transform: rotate(45deg);
	top: 50%;
	right: 15px;
	margin-top: -4px;
}
.news .card-content {
	display: flex;
	margin: 0;
	font-size: 1.0rem;
}
.news .cic_entry_card_date,
.news .cic_entry_card_category,
.news .card-title {
	padding: 5px 0;
}
.news .cat-label {
	position: static;
	padding: 0;
	border: none;
	background-color: transparent;
	color: inherit;
	font-size: 1.0rem;
}

/* お知らせセクション終わり */
/* コンテンツエリアその1 about */




.about .btn_wrap {
	margin-top: 20px;
}
/* コンテンツエリアその2 service */
.service_2 {
	text-align: center;
	padding: 50px 0;
}
.keyword strong {
	color: #007faf;
	font-size: 1.2em;
}
.service_2 .navi-entry-cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 30px;
}
.service_2 .navi-entry-cards .a-wrap {
	margin: 0 0 20px 0;
	padding: 1px;
	flex-basis: calc(100% / 5);
}
.service_2 .widget-entry-cards figure {
	background-color: #54bcdf;
}
.service_2 .card-title {
	color: #007faf;
	margin-top: 12px;
	margin-bottom: 8px;
}
.service_2 .card-snippet {
	font-size: 14px;
	text-align: left;
	padding: 0 8px;
	text-align: justify;
}
.service_video {
	background: linear-gradient(to bottom, rgba(32, 150, 186, 0.2), rgba(0, 146, 206, 0.2)),url(http://test.npocc.org/proof-cecap/wp-content/uploads/bg_02.png);
	/*background-color: rgba(32,150,186,0.8);*/
	padding: 20px 0;
}
.service_video .index_inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.service_video .index_inner h3 {
	width: 100%;
	/*color: #fff;*/
	font-weight: 500;
}
.service_video .index_inner h3 i {
	margin-right: 5px;
}
.video_wrap {
	flex-basis: 48%;
}

/* last_worksセクション */




/************************/
.links {
	padding: 50px 0;
}

.links .logo_list li {
	list-style: none;
	background-color: #fff;
	margin-bottom: 1.5rem;
	padding: 5px 0;
}
.links .logo_list li:last-child {
	background-color: transparent;;
}
.links .logo_list img {
	vertical-align: middle;
}
.logo_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.article .logo_list li {
	flex-basis: 18%;
}
.article-footer {
	display: none;
}
.home .entry-content {
	margin-bottom: 0;
}
.footer {
	background-color: #97D3E3;
	margin-top: 0;
}


.footer-bottom {
	/*display: flex;
	flex-wrap: wrap;*/
	font-size: 16px;
	margin-top: 0;
	padding: 0;
}
/* フッター左　会社情報 */
.footer .logo {
	text-align: start;
	display: inline-block;
}
.footer-bottom-logo {
	float: none;
	position: static;
	flex-basis: 50%;
	padding: 20px 30px;
}
.footer-bottom-logo .site-name-text {
  padding-bottom: 0;
}
.footer-bottom-logo .logo-image {
  padding: 0;
  max-width: 60px;
}
.footer-bottom-name {
	line-height: 60px;
	font-size: 24px;
	color: #333333;
	display: inline-block;
	vertical-align: top;
}
.footer-bottom-address {
	width: 100%;
}
.footer-bottom-address ul {
	list-style: none;
}
.footer-bottom-address li {
	line-height: 1.8;
}

/* フッター右　問い合わせ */
.footer-bottom-contact {
	flex-basis: 50%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	text-align: center;
	padding: 20px 30px;
}
.footer-bottom-contact > p {
	flex-basis: 100%;
	margin-bottom: 0.5rem;
	font-size: 18px;
	font-weight: 600;
}
.footer-bottom-contact i {
	margin-right: 5px;
}
.footer-bottom-contact .footer-tel {
	flex-basis: 50%;
	font-size: 26px
}
.footer-bottom-contact .footer-tel span {
	display: block;
	font-size: 14px;
	line-height: 1.2;
}
.footer-bottom-contact .footer-mail {
	flex-basis: 50%;
}
/* フッター下 */
.footer-bottom-content {
	float: none;
	display: flex;
	justify-content: space-between;
	margin-top: 14px;
	padding: 15px 8px;
	/*border-top: solid 1px #202D3E;*/
	line-height: 1.8;
}
.navi-footer-in > .menu-footer {
	justify-content: flex-start;
	flex-wrap: wrap;
}
.navi-footer-in > .menu-footer li {
  /*border-left: 1px solid #202D3E;*/
  border: none;
}
.navi-footer-in > .menu-footer li:last-child {
  border-right: none;
}
.copyright {
	margin-top: 0px;
}



/* 固定ページのデザイン */
/* アーカイブページのデザイン */
/* /en/greeting /en/achievementのページ */
.page .content,
.category .content,
.tag .content,
.postid-1266 .content,
.postid-1268 .content {
	margin-top: 0;
}
.page .main,
.category .main,
.tag .main,
.postid-1266 .main,
.postid-1268 .main {
	padding-top: 0;
}
.page .entry-header,
.category .category-header,
.tag .tag-header,
.post-1266 .entry-header,
.post-1268 .entry-header {
	background: linear-gradient(to bottom, rgba(70, 70, 70, 0.5), rgba(70, 70, 70, 0.5)),url(https://cecap.jp/cecap2020/wp-content/uploads/subpage_header_bg.jpg);
	background-position: center center;
	background-size: cover;
	margin-left: calc((100% - 100vw) / 2);
	margin-right: calc((100% - 100vw) / 2);
	height: 250px;
	text-align: center;
	color: #fff;
}
.page .entry-header h1,
.category .category-header h1,
.tag .tag-header h1,
.post-1266 .entry-header h1,
.post-1268 .entry-header h1 {
	line-height: 250px;
	font-weight: 600;
	letter-spacing: 0.2rem;
}
.page:not(.home) .article h2,
.category .article h2,
.tag .article h2,
.single .post-1266 h2,
.single .post-1268 h2 {
	position: relative;
	text-align: center;
	font-size: 23px;
	font-weight: 600;
	margin: 4.0rem 0 3.0rem;
}
.page:not(.home) .article h2:after,
.category .article h2:after,
.tag .article h2:after,
.single .post-1266 h2:after,
.single .post-1268 h2:after {
  position: absolute;
  content: "";
  bottom: -10px;
  display: inline-block;
  width: 60px;
  height: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #2096BA;
  border-radius: 2px;
}

/* 固定ページ会社紹介のデザイン */
.company_profile,
.company_message,
.company_access,
.page_inner {
	width: 1100px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.company_profile {
}
.company_profile dl {
	display: flex;
	flex-wrap: wrap;
	width: 680px;
	max-width: 100%;
	margin: 0 auto;
}
.company_profile dt {
	flex-basis: 30%;
	border-bottom: solid 1px #aaaaaa;
	padding-top: 20px;
	padding-left: 5px;
}
.company_profile dd {
	flex-basis: 70%;
	margin: 0;
	border-bottom: solid 1px #aaaaaa;
	padding-top: 20px;
	padding-left: 5px;
}
.company_message {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.company_message h2 {
	flex-basis: 100%;
	order: 1;
}
.company_message figure {
	flex-basis: 45%;
	order: 3;
	line-height: 1.6;
}
.company_message figcaption {
	background-color: #e0e0e0;
	padding: 10px;
	font-size: 16px
}
.company_message div {
	flex-basis: 50%;
	text-align: justify;
	order: 2;
}
.company_message h3 {
	font-size: 21px;
	font-weight: 600;
	line-height: 1.6;
	margin-top: 5px;
	margin-bottom: 1.4rem;
	color: #2096BA;
	border-left: solid 5px #2096ba;
	padding-left: 10px;
}
.company_message p {
	margin-bottom: 1.0rem;
}
.company_access {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.company_access h2 {
	flex-basis: 100%;
}
.company_access .access_address {
	flex-basis: 45%;
}
.access_address dt {
	font-weight: 600;
	color: #2096BA;
	border-bottom: dashed 1px #a3a3a3;
}
.article .access_address dd {
	margin-top: 0.5rem;
	margin-left: 0;
	margin-bottom: 1.0rem;
	padding-left: 1.0rem;
	line-height: 1.6;
}
.company_access .access_map {
	flex-basis: 50%;
}

.engineering_image,
.clinical_image,
.tester_cases,
.parts_image {
	display: flex;
	margin: 40px 0;
}
.engineering_image figure,
.clinical_image figure,
.tester_cases figure,
.parts_image figure {
	flex-basis: 50%;
}
.engineering_spec {
	background-color: #fff;
	border: solid 1px #dcdcdc;
	border-radius: 3px;
	padding-top: 20px;
	padding-bottom: 30px;
	counter-reset: count;
}

.engineering_spec ul,
.engineering_spec ol {
	width: 900px;
	max-width: 90%;
	margin: 30px auto;
	list-style: none;
}
.engineering_spec > ul {
	font-weight: 600;
	list-style-type: disc;
	list-style-position: inside;
}
.engineering_spec ol > li {
	border-bottom: dashed 1px #a3a3a3;
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
	position: relative;
}
.engineering_spec ol > li:before {
	counter-increment: count;
	content: counter(count) ". ";
	position: absolute;
	top: 0.5rem;
	left: 0;
}

.ethics_spec > ul,
.ethics_spec > dl {
	width: 900px;
	max-width: 90%;
	margin: 30px auto;
}
.ethics_spec > ul {
	font-weight: 600;
	list-style-type: disc;
	list-style-position: inside;
}
.ethics_spec dt {
	font-weight: 600;
	border-bottom: dashed 1px #a3a3a3;
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
	position: relative;
}
.ethics_spec dd {
	margin-top: 30px;
	margin-left: 1.0rem;
}
.ethics_spec dd > ul {
	padding-left: 1.0rem;
	margin-top: 1.0rem;
	margin-bottom: 20px;
}
.ethics_spec {
	counter-reset: count;
	background-color: #fff;
	border: solid 1px #dcdcdc;
	border-radius: 3px;
	padding-top: 20px;
	padding-bottom: 30px;
}
.ethics_spec dt:before {
	counter-increment: count;
	content: counter(count) '.';
	position: absolute;
	top: 0.5rem;
	left: 0;
}
.clinical_spec > dl,
.clinical_spec > ol {
	width: 900px;
	max-width: 90%;
	margin: 30px auto;
}
.clinical_spec dt {
	font-weight: 600;
	border-bottom: dashed 1px #a3a3a3;
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
	position: relative;
}
.clinical_spec dd {
	margin-top: 30px;
	margin-left: 1.0rem;
}
.clinical_spec dd > ol {
	padding-left: 1.0rem;
}
.clinical_spec {
	counter-reset: count;
	background-color: #fff;
	border: solid 1px #dcdcdc;
	border-radius: 3px;
	padding-top: 20px;
	padding-bottom: 30px;
}
.clinical_spec dt:before {
	counter-increment: count;
	content: counter(count) '.';
	position: absolute;
	top: 0.5rem;
	left: 0;
}
.tester_spec > dl,
.tester_spec > ol {
	width: 900px;
	max-width: 90%;
	margin: 30px auto;
}
.tester_spec {
	counter-reset: count;
	background-color: #fff;
	border: solid 1px #dcdcdc;
	border-radius: 3px;
	padding-top: 20px;
	padding-bottom: 30px;
}
.tester_spec dt:before {
	counter-increment: count;
	content: counter(count) '.';
	position: absolute;
	top: 0.5rem;
	left: 0;
}
.tester_spec dt {
	font-weight: 600;
	border-bottom: dashed 1px #a3a3a3;
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
	position: relative;
}
.tester_spec dd {
	margin-top: 30px;
	margin-left: 1.0rem;
}
.tester_spec dd > ol {
	margin-top: 1.0rem;
	margin-left: 1.0rem;
	margin-bottom: 20px;
}
.parts_spec1,
.parts_spec2 {

	background-color: #fff;
	border: solid 1px #dcdcdc;
	border-radius: 3px;
	padding-top: 20px;
	padding-bottom: 30px;
}

.parts_spec1 ol,
.parts_spec2 ol,
.parts_spec2 dl {
	width: 900px;
	max-width: 90%;
	margin: 30px auto;
	counter-reset: count;
}
.parts_spec1 ol,
.parts_spec2 ol {
	list-style: none;
}
.parts_spec1 ol > li,
.parts_spec2 ol > li {
	border-bottom: dashed 1px #a3a3a3;
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
	position: relative;
}
.parts_spec1 ol > li:before,
.parts_spec2 ol > li:before {
	counter-increment: count;
	content: counter(count) ". ";
	position: absolute;
	top: 0.5rem;
	left: 0;
}

.parts_spec2 dt {
	font-weight: 600;
	border-bottom: dashed 1px #a3a3a3;
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
	position: relative;
}
.parts_spec2 dd {
	margin-top: 30px;
	margin-left: 1.0rem;
}
.parts_spec2 dt:before {
	counter-increment: count;
	content: counter(count) '.';
	position: absolute;
	top: 0.5rem;
	left: 0;
}
.parts_spec2 dd > ul {
	padding-left: 1.0rem;
}
.contact_container {
	width: 900px;
	max-width: 100%;
	margin: 30px auto;
}
.contact_container p {
	margin-bottom: 1.0rem;
}
.contact_container .wpcf7 {
	margin-top: 3.0rem;
}
/*お問い合わせアドレス注意*/
.mail-info {
	border: solid 1px #333;
	background-color: #f5f5f5;
	padding: 10px 25px;
}
.mail-info .title {
	color: #860000;
	font-weight: bold;
}

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

/*1030px以下*/
@media screen and (max-width: 1030px){
  /*必要ならばここにコードを書く*/
  .footer-bottom-content {
    text-align: right;
  }
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
.header-container-in.hlt-top-menu .logo-image {
  padding: 10px 0;
}
.appeal div.appeal-in {
	min-height: 400px;
}
  .footer-bottom-content {
    text-align: center;
	flex-wrap: wrap;
  }
}





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


}
