/*
Theme Name: the7dtchild
Template: dt-the7
Author: Dream-Theme
Author URI: http://dream-theme.com/
Description: The7 is perfectly scalable, performance and SEO optimized, responsive, retina ready multipurpose WordPress theme. It will fit every site – big or small. From huge corporate portals to studio or personal sites – The7 will become a great foundation for your next project!
Version: 1.0.0
License: This WordPress theme is comprised of two parts: (1) The PHP code and integrated HTML are licensed under the GPL license as is WordPress itself.  You will find a copy of the license text in the same directory as this text file. Or you can read it here: http://wordpress.org/about/gpl/ (2) All other parts of the theme including, but not limited to the CSS code, images, and design are licensed according to the license purchased. Read about licensing details here: http://themeforest.net/licenses/regular_extended

*/
/*/////////////////////////////////
presets start*/ :root {
  --blu1: rgba(0, 118, 170, 1);
  --blu2: rgba(0, 148, 168, 1);
  --blu3: rgba(0, 165, 165, 1);
  --pnk1: rgba(221, 0, 111, 1);
    /* フォントスケール（clampで自動調整） */
  --fs-h1: clamp(2.6rem, 1.5vw + 1.8rem, 4.4rem);   /* 約42px → 70px */
  --fs-h2: clamp(2rem, 1.2vw + 1.3rem, 3.4rem);     /* 約32px → 54px */
  --fs-h3: clamp(1.5rem, 1vw + 0.9rem, 2.6rem);     /* 約24px → 42px */
  --fs-h4: clamp(1.25rem, 0.8vw + 0.7rem, 2rem);    /* 約20px → 32px */
  --fs-h5: clamp(1.1rem, 0.6vw + 0.6rem, 1.5rem);   /* 約18px → 24px */
  --fs-h6: clamp(1rem, 0.5vw + 0.5rem, 1.25rem);    /* 約16px → 20px */
  --fs-p:  clamp(1rem, 0.4vw + 0.8rem, 1.125rem);   /* 16px → 18px */
}
/*body {
  font-family: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

h1, h2, h3, h4, h5, h6, p, a, div, ul, li, span {
  font-family: inherit;
}*/
body,
h1, h2, h3, h4, h5, h6,
p, ol, ul, li, span, a {
  font-family: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/*FSE-Start*/
h1.wp-block-post-title {
	line-height: 2.6rem !important;
}
/*FSE-End*/


/*固定ページ設定Start*/

body.page h2.the7-heading-title {
	font-size: var(--fs-h2);
	line-height: 1.3;
	margin-bottom: 0 !important;
}

body.page p {
	font-size: var(--fs-p);
	line-height: 1.6;
	font-weight: 400;
}
.blogloop div h4 {
	font-size: clamp(1.2rem, 1vw, 1.8rem);
	line-height: 1.5;
}

div.servh4 div h4 {
	font-size: var(--fs-h4);
	margin-bottom: 0!important;
}

.footertopctatext p {
	font-size: clamp(1rem, 0.6vw + 1rem, 1.4rem)!important;
	line-height: 1.5!important;
	color: white;
}
.footertopctatitle div {
	font-size: clamp(1.7rem, 1vw + 2rem, 2.5rem)!important;
	line-height: 1.5;
	font-weight: 300;
	font-weight: 500;
	color: white;
}
.footertopctabtn div div a.elementor-button {
	font-size: clamp(1rem, 0.6vw + 0.8rem, 1.4rem)!important;
	line-height: 1.3!important;
	color: white;
	background: #dd006f;
}
.topservice h3 {
	font-size: clamp(1.5rem, 2vw, 2.1rem);
	line-height: 1.5;
}
.faqq h3 {
	font-size: var(--fs-h4);
}
.faqq h3::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	background-color: #5A92FF;
	margin-right: 8px;
	vertical-align: middle;
	position: relative;
	top: -3px;
	border-radius: 3px;
}
.faqa p {
	font-size: clamp(0.8rem, 0.4vw + 0.7rem, 1.125rem) !important;
	line-height: 1.7 !important;
}
/*テーマ更新修正*/
.the7-e-tab-item-wrapper div.elementor-widget-container h5.the7-heading-title {
  margin-bottom: 0 !important;
}



/*固定ページ設定End*/


/*ブログページ設定Start*/
body.single-post h1 {
	font-weight: 500 !important;
	font-size: clamp(1.8rem, 4.5vw, 2.6rem) !important;
	line-height: 1.3 !important;
}


body.single-post h2.elementor-heading-title {
	font-size: var(--fs-h3) !important;
	line-height: 1.3;
	font-weight: 700;
	border-bottom: 4px solid #00A3AF;
	padding-bottom: 6px;
	margin: 65px 0 5px;
}


body.single-post h2.elementor-heading-title::before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	background-color: #00A3AF;
	margin-right: 8px;
	vertical-align: middle;
	position: relative;
	top: -3px;
	border-radius: 3px;
}


body.single-post h3.elementor-heading-title {
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	line-height: 1.3;
	font-weight: 700;
	border-bottom: 1px solid #00A3AF;
	padding-bottom: 6px;
	margin: 55px 0 0;
}

body.single-post h3.elementor-heading-title::before {
  content: " ";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #00A3AF;
  transform: rotate(45deg);
  margin-right: 8px;
  vertical-align: middle;
  border-radius: 1px;
}
body.single-post div.nsContent h3::before {
	display: none;
}

body.single-post .elementor-toc__header-title {
	font-size: clamp(1rem, 1vw, 1.8rem);
	font-weight: 600;
}

.toco {
	font-family: meiryo,'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: clamp(1rem, 1vw, 1.8rem);
	font-weight: normal;
}

body.single-post p {
	font-family: meiryo,'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: clamp(0.97rem, 1vw, 1.8rem);
	line-height: 1.8;
	font-weight: 400;
	color: #232323;
	margin-top: 30px;
}
body.single-post .conc {
	color: var(--pnk1);
}

.headerbloginfo div, .headerbloginfo div a {
	font-family: meiryo,'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: clamp(0.98rem, 1vw, 1.7rem);
	color: white;
}
.footerbloginfo {
	font-family: meiryo,'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: clamp(1rem, 1vw, 1.8rem);
}
div.footerbloginfo p {
	margin-top: 4px;
	font-size: clamp(0.95rem, 1vw, 1.7rem);
	line-height: 1.6;
}
div.footerbloginfo h6 {
	font-size: clamp(1.2rem, 1vw, 1.8rem);
	display: inline-block;
}


/*箇条書きの設定Start*/

body.single-post .blogbody ul li {
	font-family: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: clamp(1rem, 1vw, 1.8rem);
	line-height: 1.8;
	font-weight: 600;
	position: relative;
	margin: 0.5em 0;
}
body.single-post .blogbody ul li::marker {
	color: #00A3AF;
}

body.single-post .blogbody .list ul {
  list-style: none;

  margin-left: 0!important;
}
body.single-post .blogbody .list ul li {
  position: relative;
  padding-left: 0.8em;
}

body.single-post .blogbody .list ul li::before {
  content: "-";
  position: absolute;
	left: 0;
}

/*箇条書きの設定End*/

body.single-post p.the7-heading-title {
	margin: revert;
}
body.single-post ul.elementor-icon-list-item li span {
	font-size: 16px;
	line-height: 29px;
}

div.point {
	background-color: rgba(0, 118, 170, 0.1);
	padding: 25px 40px 35px;
	margin: 50px 0 30px;
	border-radius: 3px;
	position: relative;
}
div.point::after {
    content: "Point!";
    text-align: center;
    vertical-align: middle;
    width: 60px;
    height: 30px;
	border: 2px solid white;
	border-radius: 5px;
    font-size: 14px;
    color: #ffffff;
	background-color: var(--pnk1);
    position: absolute;
    top: -10px;
    left: 10px;	
}

.elementor-5343 .elementor-element.elementor-element-aab29f4{
	--min-height: 40vh !important;
	}
/*body.single-post div.the7-image-container {
	margin-top: 30px;
}*/
.blogcard {
  margin: 30px 0 25px;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
  box-shadow:
    -2px -2px 5px rgba(0, 0, 0, 0.05),  /* 左上の薄い光の影 */
     4px 4px 10px rgba(0, 0, 0, 0.15);  /* 右下の濃い影 */
}

.blogcard a {
  display: flex;
  flex-direction: row;
  background: #fff;
  text-decoration: none;
  color: inherit;

}

/* サムネイル画像（左側） */
.blogcard-thumb {
  width: 35%;
  aspect-ratio: 16 / 9;
  flex-shrink: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.blogcard-thumb img,
.blogcard-img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 16 / 9;
  transition: transform 0.3s ease;
}

.blogcard:hover .blogcard-thumb img,
.blogcard:hover .blogcard-img {
  transform: scale(1.05);
}

/* テキスト部分（右側） */
.blogcard-content {
	width: 65%;
	padding: 10px 10px 10px 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.blogcard-title {
	font-size: 1.1rem;
	line-height: 1.3;
	font-weight: 600;
}

.blogcard-excerpt {
	font-family: meiryo;
	font-size: 0.9rem;
	line-height: 1.3;
	color: #333;
	font-weight: 400;
  }

.blogcard-date {
  font-size: 0.8em;
  color: #666;
}

p.cookietext {
  font-size: 14px;
  margin: 0;
}
.blogcta {
	margin-top: 50px;
	color: white;
	background-color: #021228;
	border-radius: 5px;
}

.blogctatitle {
	font-weight: bold;
}
.blogctatext div {
	font-family: meiryo,'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: clamp(0.8rem, 0.4vw + 0.8rem, 1rem);
	line-height: 1.5;
}
.blogctabtn {
	line-height: 1.5;
}

/*ブログページ設定End*/

/*CustomFooterStart*/

	
div.customfooter .footerlogo {
	color: #222;
}
div.customfooter h6 {
	font-size: 14px;
	color: rgba(50,50,60);
	margin: 5px 0 3px;
}
div.customfooter p {
	font-size: 14px;
	line-height: 1.5;
}
body.single-post div.customfooter p {
	font-family: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: #021228D1;
	margin-top: 0px;
}
div.footercopy p {
	font-size: 14px;
}
body.single-post div.footercopy p {
	font-family: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: rgba(2,18,40,0.57);
	margin-top: 0px;
}
/*CustomFooterEnd*/

/*PrivacyPolicyStart*/
div.pripol h2 {
	font-size: clamp(1.8rem, 4.5vw, 2.6rem);
	line-height: 1.4;
	font-weight: 600;
	margin-top: 70px;
}
div.pripol h3 {
	font-size: clamp(1.3rem, 2.5vw, 1.8rem);
	font-weight: 600;
	margin-top: 40px;
}
div.pripol p, ul li {
	font-family: meiryo;
}
div.pripol ul li {
	font-family: meiryo;
	font-size: 1.1rem;
	line-height: 1.9;
}
/*PrivacyPolicyEnd*/


.cform p {
  font-family: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: clamp(0.8rem, 1vw, 1.1rem) !important;
	line-height: 1.6 !important;
}
.cformtext p {
	font-size: clamp(0.9rem, 1vw, 1.2rem) !important;
	line-height: 1.6 !important;
}

input,textarea,select,button,label {
	font-family: Meiryo !important;
}
.recaptcha-note {
	font-size: clamp(0.8rem, 1vw, 0.9rem) !important;
	line-height: 1.5 !important;
}

.invisible {
	row-gap: 1px;
	display: none;
}
form.elementor-form label {
  font-family: 'Noto Sans JP', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
form.elementor-form div > label {
	font-weight: bold;
}
.elementor-field-option label {
	margin-right: 15px;
}
 /*TopTestimonials-Start*/
 .testimonials p {
	font-size: clamp(0.9rem, 1vw, 1rem) !important;
	line-height: 1.6 !important;
 }
 .testimonialclient div div {
	font-size: 0.9rem;
	font-weight: 500; 
 }
 /*TopTestimonials-End*/

/*CookieBanner*/
.cmplz-cookiebanner .cmplz-message p {
	font-size: clamp(0.8rem, 1vw, 0.9rem) !important;
}


@media screen and (max-width: 1024px) {
.spclear {
    display: none;
}

  .blogcard a {
    flex-direction: column;
  }

  .blogcard-thumb {
    width: 100%;
	max-height: 300px;
  }

  .blogcard-content {
    width: 100%;
	padding-top: 1.5rem;
	
  }
}

@media screen and (max-width: 650px) {


div.point {
	padding: 25px 15px;
}
/*箇条書きの設定Start*/
body.single-post ul li {
	font-weight: 300;
}
/*箇条書きの設定End*/
.content ol, .content ul {
	margin: 0;
}
}