/*
Theme Name:MONAD child
Theme URI:https://tcd-theme.com/tcd110
Description:WordPressテーマ「MONAD」の子テーマ
Template:monad_tcd110
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*
  ここから下にCSSを追記してください。
*/

h2.catch {
  position: relative;
  isolation: isolate;
  color: #333;
  display: inline-block;
  margin: 20px 0!important;
  text-shadow: 0 0 2px white;
}
h2.catch::before {
  content: "";
  position: absolute;
  background: #fea604;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  top: 50%;
  border: dashed 1px white;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: -1;
  box-shadow: 0px 0px 0px 5px #fea604;
}
.link,#article h2.headline,:is(.tcdce-body, .editor-styles-wrapper) * + h4.wp-block-heading {
    position: relative;
    margin-bottom: 0.5rem;
    padding-bottom: 1rem;
    background-image: repeating-linear-gradient(45deg, transparent 0 3px, #fdc601 3px 6px);
    background-repeat: no-repeat;
    background-size: 100% 0.5rem;
    background-position: bottom;
    font-weight: bold;
    font-size: 26px;
    color: #353535;
}

:is(.post_content, .post_content .tcdce-body) p {
	font-size: 16px;
	margin-bottom: 1em;
	line-height: 2;
}

.news_slider_widget .image_wrap {
    aspect-ratio: 290 / 160;
}

#main_content {
	width: 1100px;
}
@media screen and (max-width: 800px) {
	#main_content {
		width: 96%;
        margin: 0 2%;
    }
	:is(.post_content, .post_content .tcdce-body) p {
    	font-size: 16px !important;
	}
	#single_post_header .image {
		margin: 20px 0!important;
		width: 100%!important;
	}
	#category_sort_button ol li a {
		padding: 4% 2%;
	}
	#category_sort_button ol li:nth-child(4) {
		border-top: 1px solid #ddd;
	}
}
#header {
	background: #fff7ea;
}
/* トップページスライダー SP */
@media screen and (max-width: 800px) {
    #header_slider_container.height_type2.design_type2 {
        height: 400px !important;
    }
	#header_slider {
   　　 aspect-ratio: 1780 / 1140;
  　　  height: auto !important;
　　}

　　#header_slider .swiper-slide {
   　　 height: 100%;
　　}
}
.cb_service_list {
	padding: 40px 0!important;
}
.cb_free_space {
	padding: 40px 0!important;
}

/*見出し*/
:is(.tcdce-body, .editor-styles-wrapper) h2 {
  position: relative;
  padding: 0.6em;
}
:is(.tcdce-body, .editor-styles-wrapper) h2::after {
  position: absolute;
  content: "";
  top: 100%;
  left: 30px;
  border: 15px solid transparent;
  border-top: 15px solid var(--tcdce-h2-background);
  width: 0;
  height: 0;
}
.custom_h3 {
    --tcdce-h3-background-color: #f8f5f5;
    --tcdce-h3-border-color: #8e4700;
}
:is(.tcdce-body, .editor-styles-wrapper) * + h4.wp-block-heading {
	font-size:20px!important;
}

body.image_shape_type2 .cb_design_content .image_area .image {
	width: 80%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 50%;
}
.mobile_device a[href^="tel:"] {
	font-size: 20px;
}
/*フォーム*/
.onestep-contact-form label {
	margin-bottom: 0!important;
}
.wpcf7 {
	border: none;
    background: #fff;
}
.wpcf7 form {
	margin: 0;
}
.onestep-contact-form {
	max-width: 100%!important;
	background: #fff7ea!important;
	box-shadow: none!important;
	border-radius:0!important;
}
.form-header h2 {
	color:var(--main_color)!important;
}
.form-section {
	border-left: none!important;
} 
.form-description {
	color: #000!important;
}
  
/*テーブル*/
:is(.post_content .tcdce-body) td, :is(.post_content .tcdce-body) th {
    padding: 10px!important;
}
@media screen and (max-width: 800px) { 
	.post_content .wp-block-table {
        overflow-x: visible !important;
    }
    .post_content .wp-block-table table {
        width: 100% !important;
        table-layout: fixed;
    }
    .post_content .wp-block-table th,
    .post_content .wp-block-table td {
        white-space: normal !important;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
	:is(.post_content .tcdce-body) th,:is(.post_content .tcdce-body) td {
		padding: 2%!important;
	}
}

/*記事*/
:is(.tcdce-body, .editor-styles-wrapper) ol {
	counter-reset:number; /*数字をリセット*/
	list-style: none; /*数字を一旦消す*/
	padding:0.5em;
	background: #f5faff;	
}
:is(.tcdce-body, .editor-styles-wrapper) ol li {
	position: relative;
	padding-left: 30px;
	line-height: 1.5em;
	padding: 0.5em 0.5em 0.5em 30px;
}
:is(.tcdce-body, .editor-styles-wrapper) ol li::before {
	position: absolute;
	counter-increment: number;
	content: counter(number);
	display: inline-block;
	background: #5c9ee7;
	color: white;
	font-family: 'Avenir', 'Arial Black', 'Arial', sans-serif;
	font-weight: bold;
	font-size: 15px;
	border-radius: 50%;
	left: 0;
	width: 25px;
	height: 25px;
	line-height: 25px;
	text-align: center;
	top: 7px;
	transform: none;
}
@media screen and (max-width: 800px) { 
	:is(.tcdce-body, .editor-styles-wrapper) ol li {
		padding-left: 25px;
	}
	:is(.tcdce-body, .editor-styles-wrapper) ol li::before {
		width: 20px;
		height: 20px;
		font-size: 13px;
		line-height: 1.5;
	}
}
ul.wp-block-list {
	background: #f5faff;
	padding: 10px;
}
ul.wp-block-list li {
	list-style: inside;
}
ul.wp-block-list.ul-890,ul.wp-block-list.custom_ul {
	padding-left: revert-layer;
}
ul.wp-block-list.ul-890 li,ul.wp-block-list.custom_ul li {
	list-style: none;
}
.schema-faq-question {
	font-size: 16px;
}
.schema-faq-section {
	border: 1px solid #ccc;
    padding: 10px;
}
.schema-faq-section + .schema-faq-section   {
	margin-top: 10px;
}
.schema-faq-answer {
	margin: 5px 0 0 0!important;
	border-top: 1px solid #ccc;
}
/*吹き出し*/
:is(.tcdce-body, .editor-styles-wrapper) .tcdce-sb-content {
	background: #f5faff !important;
	border: 1px solid #f5faff !important;
	color: #000;
	font-weight: 400;
}

:is(.tcdce-body, .editor-styles-wrapper) .tcdce-sb-content:before, :is(.tcdce-body, .editor-styles-wrapper) .tcdce-sb-content:after {
	background: #f5faff;
}
:is(.tcdce-body, .editor-styles-wrapper) ul li {
	font-weight: normal;
}





