/*
Theme Name: stosdesign
Template: blaze_tcd120
Version:1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald&display=swap');
.font_en_b {font-family: "Oswald", sans-serif; font-optical-sizing: auto; font-weight: 600; font-style: normal;}
.font_en_r {font-family: "Oswald", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal;}
.font-jp_b {font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 600; font-style: normal;}
.font-jp_r {font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal;}

/*top*/
.p-mv1-content-title , .p-mv1-content-title_2 , .catch_content p.catch , .catch_content p.desc , .p-single-service-header__contents , .p-single-service-header_title {text-shadow: 0 0 3px #333, 0 0 3px #333, 0 0 3px #333;}
.p-cd-header-title_contents h2.p-cb-header-title , .catch_content p.catch , .p-cb-button , .c-archive-header__headline , .p-footer-4banner-item-title {font-family: "Oswald", sans-serif; font-optical-sizing: auto; font-weight: 600; font-style: normal;}
.p-cd-header-title_contents h2.p-cb-header-title , .p-cb-header-catch {color:#0055b3 !important;}
.p-mv1-content-title , .p-mv1-content-title_2 , .p-cb-header-sub_title , .c-archive-header__subheadline , .c-archive-header-title , .p-single-content h2 , .p-single-content h3 , .p-single-content h4 , .p-single-service-header-copy , .p-service-cards-item__link .p-service-cards-item__chatch , .p-service-cards-item .p-service-title , .p-single-content h5 , .p-single-content h6 , .c-inview-fadein.is-active .c-button01 {font-family: "Noto Sans JP", sans-serif; font-optical-sizing: auto; font-weight: 700!important; font-style: normal;}
.p-mv1-content-title span.c-hidden-sp span , .p-mv1-content-title span span {font-size:130%;}
.p-mv1-content-title span.c-hidden-sp {line-height: 1.4em!important;}
.p-mv1-content-title_2 {line-height: 1.8em!important; font-size:20px!important;}
.p-cb-header-subtitle , .catch_content .desc , .p-sc-icon-list .p-icon-list-item_desc , .p-cd-service_item .p-service-cards-item__chatch , .p-cd-service_item .p-service-cards-item_desc {text-align:justify!important;}
.p-footer-copyright {display: flex; justify-content: center; align-items: center; position: relative; block-size: 140px;}
.p-footer-copyright .foot_pmark {position: absolute; right: 0px; width:100px;}
.p-footer-logo_sns {display:none;}
.c-inview-fadein.is-active .c-button01 {background-color: rgba(255, 255, 255, 0.8); color: #0055b3 !important;}
.c-inview-fadein.is-active .c-button01:hover {color:#fff!important;}
.p-header-nav .p-header-nav__list ul a {width: 300px;}
.p-service-cards-item__chatch br {display:none;}
.p-service-cards-item__chatch {font-size: 22px!important;}
.p-cb-large_banner .desc { line-height: 2.0em!important;  font-size: 20px;}
.p-icon-list-item_desc {font-size: 18px; line-height: 2em!important;}
.btn_topics { background-color: #fff; display: grid; place-items: center; width: fit-content; min-width: 300px; height: 70px; font-size: 16px; overflow: hidden; color: #0055b3 !important; border-radius: calc(infinity * 1px); transition: opacity 1.2s ease, transform 1.2s cubic-bezier(.22, 1, .36, 1), background-color 0.3s ease, color 0.3s ease !important; padding: 0 1.5em; line-height: 1.4; font-family: "Oswald", sans-serif; font-optical-sizing: auto; font-weight: 600; font-style: normal; margin: 60px auto 0!important; text-decoration:none; border: solid 1px #0055b3;}
.btn_topics:hover { background-color: #0055b3; color: #fff !important; text-decoration:none;}

/*single*/
.p-page.page_default_header .p-single-content {padding-top: 110px!important;}
.fade-slidein {opacity: 0; transform: translateY(20px); animation: FadeSlideIn 1.0s forwards; animation-delay: 0.8s;}
.fade-slidein.delay {animation-delay: 1.0s;}
@keyframes FadeSlideIn { from {opacity: 0; transform: translateY(20px);} to {opacity: 1; transform: translateY(0);}}
.p-single-content h2 {line-height: 1.7!important; color: var(--tcd-accent-color)!important; font-size: 36px!important;}
.p-single-content h3 {border-bottom: solid 3px #dddddd!important; padding-bottom:5px!important; margin-top:50px!important; color: var(--tcd-accent-color)!important; font-size:30px!important; margin-bottom:30px!important;}
.p-single-content h3 span {font-size:80%!important;}
.p-single-content h3:after {position: absolute; content: " "; display: block; border-bottom: solid 3px var(--tcd-accent-color)!important; bottom: -3px; width: 20%;}
.p-single-content h4 {color: var(--tcd-accent-color)!important; font-size: 24px!important;}
.p-single-content h5 {color: var(--tcd-accent-color)!important; font-size: 18px!important; margin-bottom:0!important;}
.p-single-content h6 {color: var(--tcd-accent-color) !important; font-size: 18px !important; margin-bottom: 20px !important; border-left: solid 5px var(--tcd-accent-color) !important; padding-left: 10px !important;}
.p-single-content p {font-size: 18px!important; line-height:2em!important; color:#444!important;}
.p-single-content p.small {font-size:90%!important;}
:is(.tcdce-body, .editor-styles-wrapper) :is( .tcdce-button, .q_custom_button, .q_custom_button1, .q_custom_button2, .q_custom_button3, .q_button, .wp-block-button__link ):not(.wp-block-button):before {background: var(--tcd-accent-color)!important;}
:is(.tcdce-body, .editor-styles-wrapper) > *:has(+ *) {margin-bottom: 30px!important;}
.wp-block-button:hover {opacity:0.8;}

:is(.tcdce-body, .editor-styles-wrapper) :is(th, td) {border: 1px solid #ddd!important;padding: 0.8em!important;line-height: 1.8em!important;font-size:16px;}
:is(.tcdce-body, .editor-styles-wrapper) .tcdce-sb-user {flex: 0 0 150px!important;}
:where(.wp-block-columns.is-layout-flex) { gap: 5em!important;}

.p-single__content_service .wp-block-group .wp-block-group__inner-container h6 {margin-bottom:15px!important;}
.p-single__content_service .wp-block-group .wp-block-group__inner-container .wp-block-buttons {margin-bottom:10px!important; margin-top:0!important;}
.p-single__content_service .wp-block-group .wp-block-group__inner-container > *:has(+ *) { margin-bottom: 20px!important;}
.img60 {width:60%; margin:5% 20%;}

/*strong付きpタグにマーカーアニメーション*/
.p-single-content p strong, .p-single__content_service p strong {background: linear-gradient(#fff2b4 0 0) no-repeat; background-size: 0% 40%; background-position: left bottom; padding: 0 0.08em; -webkit-box-decoration-break: clone; box-decoration-break: clone; color: #3b54a7; font-size: 100%; font-weight: 800; font-size:110%;}
.p-single-content p strong.is-animated , .p-single__content_service p strong.is-animated {animation: markerSlide 1s ease forwards;}
@keyframes markerSlide {
from {background-size: 0% 40%; }
to { background-size: 100% 40%; }
}

/*service*/
.p-single-service_top_inner {margin-bottom: 0px;}
.p-service-cards-item__link .p-service-cards-item__chatch , .p-service-cards-item__link .p-service-cards-item_desc {text-align:justify!important;}
.p-service-cards-item .p-service-title , .p-cd-service_item .p-service-title {color: #fff; background-color: var(--tcd-accent-color)!important; font-size: 24px!important;}
.p-single-service-header-copy {font-size:40px!important;}
.p-service-cards_bottom {display:none;}
.p-single__content_service h2 {line-height: 1.7!important; color: var(--tcd-accent-color)!important; font-size: 32px!important;}
.p-single__content_service h3 {border-bottom: solid 5px #dddddd!important; padding-bottom:10px!important; margin-top:50px!important; color: var(--tcd-accent-color)!important; font-size:30px!important; margin-bottom:30px!important;}
.p-single__content_service h3:after {position: absolute; content: " "; display: block; border-bottom: solid 5px var(--tcd-accent-color)!important; bottom: -5px; width: 20%;}
.p-single__content_service h4 {color: var(--tcd-accent-color)!important; font-size: 24px!important;}
.p-single__content_service h5 {position: relative!important; padding: 0.5rem!important; text-align: center!important; border: 3px solid var(--tcd-accent-color)!important; color:var(--tcd-accent-color)!important; margin-bottom:1em!important; margin-top:2em!important;}
.p-single__content_service h5:before {font-size: 22px!important; position: absolute!important; top: -40px!important; left: -3px!important; height: 40px!important; padding: 0.15em 1em!important; content: '\e1ca  POINT'!important; color: #fff!important; background: var(--tcd-accent-color)!important;width:150px!important; font-family:"Oswald", "Font Awesome 6 Pro" , sans-serif!important;}
.p-single__content_service h6 {color: var(--tcd-accent-color) !important; font-size: 20px !important; margin-bottom: 10px !important; border-left: solid 5px var(--tcd-accent-color) !important; padding-left: 10px !important;}
.p-single__content_service p {font-size: 16px!important; line-height:1.8em!important; text-align:justify; color:#444!important;}
.p-single__content_service hr{height: 40px!important;}
:root :where(.wp-block-separator.is-style-dots):before {font-size: 2em!important; content: "·····"!important;}
.p-single__content_service .arrow-wrap {display: flex; flex-direction: column; align-items: center; gap: 2px;}
.p-single__content_service .arrow {position: relative; display: inline-block; width: 62px; height: 20px; opacity: 0; animation: arrowFade 1.5s infinite;}
.p-single__content_service .arrow:nth-child(2) {animation-delay: 0.2s;}
.p-single__content_service .arrow:nth-child(3) {animation-delay: 0.4s;}
.p-single__content_service .arrow::before, .p-single__content_service .arrow::after {content: ""; position: absolute; bottom: 0; left: calc(50% - 2.5px); width: 3px; height: 20px; border-radius: 9999px; background-color: #cdcdcd; transform-origin: 50% calc(100% - 2.5px);}
.p-single__content_service .arrow::before {transform: rotate(45deg);}
.p-single__content_service .arrow::after {transform: rotate(-45deg);}
@keyframes arrowFade {
  0% {opacity: 0; transform: translateY(-5px);}
  50% {opacity: 1; transform: translateY(5px);}
  100% {opacity: 0; transform: translateY(10px);}
}
.p-single__content_service p.point{position:relative;display:block;padding:0 0 0 50px;margin:0 0 30px;font-weight:700;line-height:1.5;color:#1f5fae!important; font-size:24px!important;}
.p-single__content_service p.point::before{content:"";position:absolute;left:-20px;bottom:0px;width:70px;height:70px;background-image:url("/wp-content/uploads/2026/05/point_bg.png");background-repeat:no-repeat;background-size:contain;background-position:center bottom;}
.p-single__content_service p.point::after{content:"";position:absolute;left:20px;right:0;bottom:-5px;height:4px;background:#1f5fae;}

.p-single-post p.point{position:relative;display:block;padding:0 0 0 50px;margin:0 0 30px;font-weight:700;line-height:1.5;color:#1f5fae!important; font-size:24px!important;}
.p-single-post p.point::before{content:"";position:absolute;left:-20px;bottom:0px;width:70px;height:70px;background-image:url("/wp-content/uploads/2026/05/point_bg.png");background-repeat:no-repeat;background-size:contain;background-position:center bottom;}
.p-single-post p.point::after{content:"";position:absolute;left:20px;right:0;bottom:-5px;height:4px;background:#1f5fae;}
.p-single-post .p-single-header__image {position: relative; margin-block-start: 0px; margin-bottom: 30px;}
.p-single-post ul {font-size:18px!important; line-height:1.8em!important;}

.c-archive-header__headline {font-size:100px!important;}
.c-archive-header__desc .tcdce-body p {font-size:20px!important; line-height:2em!important;}
.c-breadcrumb__list {width: 1150px;}
.p-post-cards-item__image {aspect-ratio: 16 / 9!important;}
.p-post-cards-item__title {--tcd-line-clamp: 3!important;}

/*contact*/
.wpcf7 {width: 100%; margin: 0!important; padding: 0; border: none!important; background: #fff!important; font-size: 14px;}
table.CF7_table{width:100%;margin:0 auto;border: 3px solid #e5e5e5;}
table.CF7_table tr{border-top: 1px solid #e5e5e5;}
.single .entry-content table.CF7_table,.page .entry-content table.CF7_table{display:table;}
.CF7_table input, .CF7_table textarea {border: 1px solid #d8d8d8;}
.CF7_table ::placeholder {color:#797979;}
.CF7_req{font-size:.9em;padding: 5px;background: #C00;color: #fff;border-radius: 3px;margin-right:1em; font-weight:bold;}
.CF7_unreq{font-size:.9em;padding: 5px;background: #bdbdbd;color: #fff;	border-radius: 3px;	margin-right:1em;}
.wpcf7 input.wpcf7-submit {background-color:#0055b3;border:0;color:#fff;font-size:1.2em;font-weight:bold;margin:50px auto 0; border-radius:10px;}
.CF7_btn{text-align:center;margin-top:20px;}
.wpcf7-spinner{width:0;	margin:0;}
.wpcf7 p {margin:0!important;}
.wpcf7 form {margin: 0!important;}
:is(.tcdce-body, .editor-styles-wrapper) :is(th, td) {text-align:justify;}
.wpcf7 .wpcf7-form-control-wrap .wpcf7-list-item {margin: 0px 0px 0px !important;}
.CF7_table th {width: 40%!important;}

/*voice*/
.page-id-681 p.off_title {position: relative; padding: 0.6em 1em; background: -webkit-repeating-linear-gradient(-45deg, #ffede7, #ffede7 4px,#ffe4dc 3px, #ffe4dc 8px); background: repeating-linear-gradient(-45deg, #ffede7, #ffede7 4px,#ffe4dc 3px, #ffe4dc 8px); border-radius: 10px;}
.page-id-681 p.off_title:after {position: absolute; content: ''; top: 100%; left: 30px; border: 15px solid transparent; border-top: 15px solid #ffe4dc; width: 0; height: 0;}
.page-id-681 p.off_desc {font-size:0.95em!important; text-align:justify!important;}

/* Display Posts Shortcodeのグリッド用コンテナ */
.display-posts-listing.grid {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
.display-posts-listing.grid .listing-item {border: 1px solid #eee; padding: 15px; box-shadow: 0 2px 4px rgba(0,0,0,0.05);}
.display-posts-listing.grid .listing-item img {width: 100%; height: auto; display: block; margin-bottom: 12px;}
.display-posts-listing.grid .listing-item .title {font-size: 1.2em; font-weight: 700; margin: 0px; display: block; text-decoration:none; color:#0055b3; text-align:justify;}
.display-posts-listing.grid .category-display,.display-posts-listing.grid .dps-tags {display: block; font-size: 0.9em; margin-top: -10px; color: #666; text-decoration:none; color:#0055b3; text-align:center;}
.display-posts-listing.grid .excerpt {margin-top: 10px;}
.display-posts-listing.grid .dps-tags {display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; font-size: 0.85em;}
.display-posts-listing.grid .dps-tags .dps-label {color: #666; margin-right: 2px;}
.display-posts-listing.grid .dps-tags a {display: inline-block; padding: 5px 15px; border: 1px solid #ddd; border-radius: 999px; background: #f7f7f7; color: #333; line-height: 1.4; text-decoration: none; font-size:1em;}
.display-posts-listing.grid .dps-tags a:hover {background: #333; border-color: #333; color: #fff;}


}

@media (max-width: 767px) {
.sp_none {display:none!important;}
.p-mv1 {height: 50vh!important;}
.p-footer-copyright {block-size: 140px;}
.p-footer-copyright {display: flex; flex-direction: column; align-items: center;}
.p-footer-copyright .foot_pmark {position: static; transform: none; margin-top: 10px; width:60px;}
.p-cb-header-subtitle {line-height: 1.8em; font-size: 14px;}
table.CF7_table{width:95%;}
.CF7_table tr, .CF7_table td, .CF7_table th{display: block;width: 100%;	line-height:2.5em;}
.CF7_table th , .CF7_table td {width: 94%; padding: 3% !important; border: none !important; margin-bottom: 20px;}
.CF7_table p {text-align:justify;}
.wpcf7 form { margin: 1.5em 0!important;}
}
@media (min-width: 768px) {
.pc_none {display:none!important;}
.CF7_table th{width:25%;background-color:#ebedf5;}
}