/*
Theme Name: CODE Child
Template: code_tcd090
Author: Child Theme Configurator
Version: 2.9.1.1781501752
Updated: 2026-06-15 14:35:52
*/
.author{
	display: none !important;
}
#header_slider .post_item .content_inner,
.post_carousel .title {
	width: calc(100% - 10px) !important;
}
/*** 投稿ページ インタビュー 質問***/
.single .qa {
    font-weight: 600;
    font-size: 1.32rem;
    color: #909090;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 2.5em auto;
    line-height: 1.8 !important;
}
.single .qa::before {
    content: "";
    display: block;
    width: 3.5rem;
    height: .075rem;
    background-color: #aaa;
    -webkit-transform: translateY(1rem);
    -ms-transform: translateY(1rem);
    transform: translateY(1rem);
    margin-right: 1em;
}
@media screen and (max-width: 550px) {
    .single .qa {
        font-size: 1.15rem;
        margin: 1.8em auto;
        line-height: 1.6 !important;
    }
}
/*** 投稿ページ フキダシ ***/
.liquid-speech-balloon-text p{
	margin-bottom: 0 !important;
}
/********************************************
　About パートナー事業について
********************************************/
.post_content h2{
	padding: 8px 0 8px 0 !important;
}
/*** CTAエリア ***/
:root {
        --cta-ink: #1f332c;
        --cta-muted: #5f7068;
        --cta-green: #cf3720;
        --cta-green-dark: #0f6248;
        --cta-gold: #d99b2b;
        --cta-cream: #fff9ed;
        --cta-line: rgba(31, 51, 44, 0.14);
        --cta-white: #ffffff;
      }

      * {
        box-sizing: border-box;
      }

      .page-preview {
        display: grid;
        min-height: 100vh;
        place-items: center;
        padding: 48px 16px;
      }

      .tsunagaru-cta {
        position: relative;
        width: min(1080px, 100%);
        overflow: hidden;
        border: 1px solid var(--cta-line);
        border-radius: 8px;
        background:
          radial-gradient(circle at 88% 18%, rgba(217, 155, 43, 0.18), transparent 25%),
          linear-gradient(135deg, #ffffff 0%, var(--cta-cream) 100%);
        box-shadow: 0 24px 60px rgba(31, 51, 44, 0.1);
      }

      .tsunagaru-cta::before {
        position: absolute;
        inset: 0;
        pointer-events: none;
        content: "";
        background-image:
          linear-gradient(rgba(22, 129, 95, 0.08) 1px, transparent 1px),
          linear-gradient(90deg, rgba(22, 129, 95, 0.08) 1px, transparent 1px);
        background-size: 34px 34px;
        mask-image: linear-gradient(90deg, transparent, #000 24%, #000 76%, transparent);
      }

      .tsunagaru-cta__inner {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: clamp(32px, 6vw, 64px);
        text-align: center;
      }

      .tsunagaru-cta__content {
        width: min(760px, 100%);
      }

      .tsunagaru-cta__eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 16px !important;
        color: var(--cta-green-dark);
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0;
      }

      h2.tsunagaru-cta__title {
        max-width: 760px!important;
		  margin-top: 0 !important;
        margin: 0 auto !important;
        font-size: clamp(28px, 4.3vw, 48px)!important;;
        font-weight: 800!important;;
        letter-spacing: 0;
        line-height: 1.35!important;;
      }

      .tsunagaru-cta__lead {
        max-width: 720px;
        margin: 22px auto 0;
        color: var(--cta-muted);
        font-size: clamp(15px, 1.8vw, 17px);
        font-weight: 500;
        line-height: 2;
      }

      .tsunagaru-cta__actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        margin-top: 30px;
      }

      .tsunagaru-cta__button {
        display: inline-flex;
        min-height: 52px;
        align-items: center;
        justify-content: center;
        gap: 10px;
        border-radius: 999px;
        padding: 14px 24px;
        color: var(--cta-white) !important;
        font-size: 16px;
        font-weight: 800;
        line-height: 1.3;
        text-decoration: none;
        background: var(--cta-green);
        box-shadow: 0 14px 28px rgba(22, 22, 22, 0.24);
        transition:
          transform 180ms ease,
          background 180ms ease,
          box-shadow 180ms ease;
      }

      .tsunagaru-cta__button:hover {
        background: var(--cta-green-dark);
        box-shadow: 0 18px 34px rgba(22, 129, 95, 0.28);
        transform: translateY(-2px);
      }

      .tsunagaru-cta__button svg {
        flex: 0 0 auto;
      }
		.br-sm{
			display: none;
		}

      @media (max-width: 760px) {
        .page-preview {
          padding: 24px 12px;
        }

        .tsunagaru-cta__inner {
          padding: 28px 20px;
        }

        .tsunagaru-cta__eyebrow {
          align-items: center;
          font-size: 13px;
          line-height: 1.6;
        }

        .tsunagaru-cta__title {
          font-size: clamp(25px, 7vw, 32px);
          line-height: 1.45;
        }

        .tsunagaru-cta__lead {
          margin-top: 18px;
          font-size: 15px;
          line-height: 1.85;
          text-align: left;
        }

        .tsunagaru-cta__actions {
          align-items: stretch;
          flex-direction: column;
          margin-top: 24px;
        }

        .tsunagaru-cta__button {
          width: 100%;
          min-height: 56px;
          padding: 15px 18px;
          font-size: 15px;
        }
		.br-sm{
			display: block;
		}

      }

      @media (max-width: 380px) {
        .page-preview {
          padding: 20px 8px;
        }

        .tsunagaru-cta__inner {
          padding: 24px 16px;
        }

        .tsunagaru-cta__button {
          gap: 8px;
          font-size: 14px;
        }
      }
/********************************************
　Contact お問い合わせフォーム
********************************************/
/* Contactform - お問い合わせフォーム */
.wpcf7 {
	width: 100%;
	padding: 0;
	margin: 0 0 2.5rem !important;
	font-size: 14px;
	background: #fafafa;
	border: 1px solid #ddd;
}

.wpcf7 form {
	margin: 1.5rem 1.5rem 0;
}

.wpcf7 p {
	margin-bottom: 1rem;
}

.wpcf7 input,
.wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	padding: 8px;
	line-height: 1.2;
	border: 1px solid #ccc;
}

.wpcf7 select,
.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
	width: auto;
	max-width: 97%;
	padding: 8px;
	border: 1px solid #ccc;
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
	font-size: 14px;
	line-height: 1.2;
}

.wpcf7 .wpcf7-list-item {
	display: block;
}

.wpcf7 textarea {
	height: 300px;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	border: 1px solid #bbb;
	outline: none;
}

.wpcf7 .wpcf7-submit,
.wpcf7 .wpcf7-previous {
	position: relative;
	box-sizing: border-box;
	display: block;
	width: 225px;
	height: 48px;
	margin: 30px auto 0;
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-color: var(--color-main);;
	border: none !important;
	outline: none;
	transition: all 0.3s;
}

.wpcf7 .wpcf7-submit::before,
.wpcf7 .wpcf7-submit::after {
	box-sizing: border-box;
}

.wpcf7 .wpcf7-submit .wpcf7-not-valid {
	background: pink;
}

.wpcf7 .wpcf7-submit .wpcf7-response-output {
	padding: 8px 35px 8px 14px;
	margin: 10px 0 0;
	border-radius: 4px;
}

.wpcf7 .wpcf7-submit .wpcf7-validation-errors {
	color: #b94a48;
	background-color: #f2dede;
	border: 1px solid #eed3d7;
}

.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok {
	color: #3a87ad;
	background-color: #d9edf7;
	border: 1px solid #bce8f1;
}

.wpcf7 .wpcf7-previous + br {
	display: none;
}

.wpcf7 form .wpcf7-response-output {
	padding: 0;
	margin: 2rem 0.5rem 2rem;
	text-align: center;
	border: none;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	font-size: 1em;
	color: #dc3232;
}

@media (hover: hover) and (pointer: fine) {
	.wpcf7 .wpcf7-submit:hover,
	.wpcf7 .wpcf7-previous:hover {
		background-color: var(--color-text);
	}
}
/*----------------------------
お問い合わせフォーム
----------------------------*/
.cf7-grid{
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
}
.cf7-col--full {
    grid-column: 1 / -1;
}
.cf7-label{
	font-size: 16px;
	font-weight: bold;
	color: #464646;
}
span.req{
	color: #EA5514;
	font-size: 14px;
}
span.opt{
	color: #777777;
	font-size: 14px;
}
@media screen and (max-width: 600px) {
	.cf7-grid{
	display: block;
	}
}