:root{
  --ycc-navy:#073a70;
  --ycc-blue:#0b5aa6;
  --ycc-sky:#eaf5ff;
  --ycc-orange:#f45a16;
  --ycc-gold:#a97800;
  --ycc-text:#17324d;
  --ycc-line:#d7e6f4;
  --ycc-white:#fff;
  --ycc-radius:18px;
  --ycc-shadow:0 10px 30px rgba(4,52,99,.08);
}

/*
 * EDIT-FIRST POLICY
 * -----------------
 * Typography sizes are intentionally NOT fixed here.
 * Initial font sizes live in each Gutenberg block's attributes, so users can
 * change them from the block editor right sidebar without editing this CSS.
 * This stylesheet only provides layout, decorative surfaces, responsive flow,
 * and a few brand colors.
 */

.ycc-lp-template-main{overflow:hidden}
.ycc-lp-root,.ycc-section{
  box-sizing:border-box;
  color:var(--ycc-text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
.ycc-inner{max-width:1180px;margin-inline:auto;padding-inline:24px}
.ycc-section{padding:88px 0}
.ycc-tint{background:linear-gradient(180deg,#f7fbff 0%,#eaf5ff 100%)}
.ycc-eyebrow{color:var(--ycc-blue);font-weight:700;letter-spacing:.03em}
.ycc-hero{
  padding:70px 0 40px;
  background:radial-gradient(circle at 80% 20%,rgba(75,172,235,.30),transparent 28%),linear-gradient(135deg,#fff 0%,#eef8ff 60%,#d7efff 100%);
  overflow:hidden;
}
.ycc-hero-title{color:var(--ycc-navy);letter-spacing:-.025em}
.ycc-hero-title strong{color:#064a8d}
.ycc-lead{font-weight:600}


.ycc-photo img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:var(--ycc-shadow)}
.ycc-hero-photo img{aspect-ratio:16/9;object-fit:cover}
.ycc-banner-photo{margin:24px 0 12px}
.ycc-banner-photo img{aspect-ratio:16/5;object-fit:cover}

.ycc-mini-cards{margin:26px 0}
.ycc-mini-cards>.wp-block-column{
  background:#fff;border:1px solid var(--ycc-line);border-radius:14px;
  padding:14px 12px;text-align:center;box-shadow:0 4px 14px rgba(4,52,99,.05)
}
.ycc-mini-cards h3,.ycc-mini-cards p{margin-top:0;margin-bottom:4px}


.ycc-btn-primary .wp-block-button__link,.ycc-submit{
  background:linear-gradient(90deg,#ff8a14,#f04412);
  color:#fff;border:0;border-radius:8px;font-weight:800;
  padding:16px 28px;box-shadow:0 8px 18px rgba(244,90,22,.22);text-decoration:none
}
.ycc-btn-primary .wp-block-button__link:hover,.ycc-submit:hover{filter:brightness(.96);transform:translateY(-1px)}
.ycc-btn-phone .wp-block-button__link{
  border:2px solid var(--ycc-blue);color:var(--ycc-blue);background:#fff;
  border-radius:8px;font-weight:800;padding:14px 22px;text-decoration:none
}

.ycc-stat-row{margin-top:34px}
.ycc-stat-row>.wp-block-column{
  text-align:center;background:#fff;border:1px solid var(--ycc-line);
  border-radius:14px;padding:20px;box-shadow:var(--ycc-shadow)
}
.ycc-stat-row p{margin-top:0;margin-bottom:0;color:#45627c;font-weight:700}
.ycc-stat-row h3{margin-top:3px;margin-bottom:0;color:var(--ycc-gold)}

.ycc-card-grid,.ycc-service-grid,.ycc-point-grid,.ycc-industry-grid,
.ycc-price-grid,.ycc-flow-grid,.ycc-step-grid{margin-top:34px}
.ycc-card,.ycc-step,.ycc-onestop-card,.ycc-price-card{
  height:100%;box-sizing:border-box;background:#fff;border:1px solid var(--ycc-line);
  border-radius:var(--ycc-radius);padding:26px;box-shadow:var(--ycc-shadow)
}
.ycc-card-emphasis{background:linear-gradient(180deg,#fff,#f4faff)}
.ycc-card h3,.ycc-step h3,.ycc-price-card h3{margin-top:0}
.ycc-closing-copy{font-weight:700;margin:34px auto 20px;max-width:850px}
.ycc-step{position:relative}
.ycc-step-no{
  display:inline-block;background:var(--ycc-blue);color:#fff;border-radius:99px;
  padding:4px 12px;font-weight:800;letter-spacing:.06em
}
.ycc-feature-split{align-items:center;margin-top:28px}
.ycc-strength{background:linear-gradient(180deg,#fff,#f3f9ff)}
.ycc-onestop{margin:20px 0 0}
.ycc-onestop-card{border:2px solid #80bce8;background:linear-gradient(#fff,#edf8ff)}

.ycc-price-card{background:linear-gradient(180deg,#fff,#f4faff);border-top:5px solid var(--ycc-blue)}
.ycc-price-card strong{color:var(--ycc-orange)}
.ycc-note{color:#53697d;margin-top:20px}

.ycc-faq{max-width:900px}
.ycc-faq details{
  background:#fff;border:1px solid var(--ycc-line);border-radius:10px;
  margin:12px 0;padding:0;box-shadow:0 4px 12px rgba(4,52,99,.05)
}
.ycc-faq summary{cursor:pointer;padding:18px 22px;font-weight:800;color:var(--ycc-navy);list-style:none}
.ycc-faq summary::-webkit-details-marker{display:none}
.ycc-faq summary:after{content:"＋";float:right;color:var(--ycc-blue)}
.ycc-faq details[open] summary:after{content:"−"}
.ycc-faq details>p{padding:0 22px 20px;margin:0}

.ycc-contact{background:linear-gradient(135deg,#eaf6ff,#fff 50%,#edf8ff)}
.ycc-contact .ycc-inner{max-width:1120px}
.ycc-contact-layout{margin-top:28px}
.ycc-contact-card{margin-top:18px}
.ycc-contact-tel{font-weight:800;color:var(--ycc-blue)}
.ycc-contact-tel strong{color:var(--ycc-navy)}

.ycc-contact-form{
  background:#fff;border:1px solid var(--ycc-line);border-radius:20px;
  padding:34px;box-shadow:var(--ycc-shadow);margin-top:20px
}
.ycc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ycc-contact-form label>span,.ycc-checks legend{display:block;font-weight:800;color:var(--ycc-navy);margin-bottom:7px}
.ycc-contact-form em{font-style:normal;background:#e53935;color:#fff;font-size:11px;padding:3px 6px;border-radius:4px;margin-left:5px}
.ycc-contact-form input[type=text],.ycc-contact-form input[type=tel],.ycc-contact-form input[type=email],
.ycc-contact-form select,.ycc-contact-form textarea{
  width:100%;box-sizing:border-box;border:1px solid #bfd2e3;border-radius:7px;
  background:#fff;padding:12px 13px;font:inherit
}
.ycc-contact-form input:focus,.ycc-contact-form select:focus,.ycc-contact-form textarea:focus{
  outline:3px solid rgba(11,90,166,.14);border-color:var(--ycc-blue)
}
.ycc-checks{border:0;padding:0;margin:24px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ycc-checks legend{grid-column:1/-1}.ycc-checks label{font-size:14px}
.ycc-form-wide{display:block;margin:18px 0}.ycc-privacy{display:block;margin:20px 0}
.ycc-submit{width:100%;cursor:pointer}
.ycc-form-success{background:#e8f8ee;color:#126b32;border:1px solid #9bd4ad;border-radius:8px;padding:16px;margin:20px 0}
.ycc-honeypot{position:absolute;left:-9999px}
.ycc-contact-phone{margin-top:24px}
.ycc-lp-root .wp-block-button__link,.ycc-section .wp-block-button__link{transition:.2s ease}

@media(max-width:900px){
  .ycc-inner{padding-inline:18px}
  .ycc-section{padding:62px 0}
  .ycc-hero{padding-top:42px}
  .ycc-hero-columns,.ycc-card-grid,.ycc-service-grid,.ycc-point-grid,.ycc-industry-grid,
  .ycc-price-grid,.ycc-flow-grid,.ycc-step-grid,.ycc-feature-split,.ycc-contact-layout{flex-wrap:wrap}
  .ycc-hero-columns>.wp-block-column,.ycc-feature-split>.wp-block-column,.ycc-contact-layout>.wp-block-column{flex-basis:100%!important}
  .ycc-hero-visual{order:-1}
  .ycc-card-grid>.wp-block-column,.ycc-industry-grid>.wp-block-column{flex-basis:calc(50% - 10px)!important}
  .ycc-flow-grid>.wp-block-column,.ycc-step-grid>.wp-block-column{flex-basis:calc(33.333% - 12px)!important}
  .ycc-stat-row{flex-wrap:wrap}
  .ycc-stat-row>.wp-block-column{flex-basis:calc(33.333% - 12px)!important}
}

@media(max-width:600px){
  .ycc-inner{padding-inline:15px}
  .ycc-section{padding:48px 0}
  .ycc-mini-cards{flex-wrap:nowrap}
  .ycc-mini-cards>.wp-block-column{padding:10px 6px}
  .ycc-cta-row{display:block}
  .ycc-cta-row>.wp-block-button{width:100%;margin:8px 0}
  .ycc-cta-row .wp-block-button__link{width:100%;box-sizing:border-box;text-align:center}
  .ycc-stat-row>.wp-block-column,.ycc-card-grid>.wp-block-column,.ycc-service-grid>.wp-block-column,
  .ycc-point-grid>.wp-block-column,.ycc-industry-grid>.wp-block-column,.ycc-price-grid>.wp-block-column,
  .ycc-flow-grid>.wp-block-column,.ycc-step-grid>.wp-block-column{flex-basis:100%!important}
  .ycc-card,.ycc-step,.ycc-onestop-card,.ycc-price-card{padding:20px}
  .ycc-onestop{display:block}
  .ycc-onestop>.wp-block-column:nth-child(2){display:none}
  .ycc-form-grid,.ycc-checks{grid-template-columns:1fr}
  .ycc-contact-form{padding:20px 16px}
  .ycc-contact-phone .wp-block-button{width:100%}
  .ycc-contact-phone .wp-block-button__link{width:100%;box-sizing:border-box}
  .ycc-banner-photo img{aspect-ratio:16/8}
}
