/* cp2026 専用スタイル（base.css は /css/pc/base.css を使用） */
/* base.css が参照する変数（共通 style.css は読み込まないためここで定義） */
:root{
  --default-font:'游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', sans-serif;
  --eng-font:'Montserrat', sans-serif;
  --bg-color:#fff;
  --base-color:#263a5a;
  --normal:400;
  --bold:700;
}
#container.cp2026{
  --navy:#263a5a;
  --light-blue:#d9f1f3;
  --panel:#d8d9e0;
  --reference:#d6dde3;
  --text:#263a5a;
  width:100%;
  padding:0;
  min-width:1280px;
  color:var(--text);
  font-weight:var(--normal);
  text-align:left;
  letter-spacing:0.1rem;
}
#container.cp2026,
#container.cp2026 *,
#container.cp2026 *::before,
#container.cp2026 *::after{
  box-sizing:border-box;
}
#container.cp2026 img{
  display:block;
  max-width:100%;
}
#container.cp2026 p{
  margin:0;
}

#container.cp2026 .hero{
  padding:5.0rem 0 6.5rem;
}

#container.cp2026 .hero__inner{
  width:1180px;
  margin:0 auto;
  text-align:center;
}
#container.cp2026 .hero__title{
  width:840px;
  margin:0 auto 2.38rem;
}
#container.cp2026 .hero__visual{
  width:1050px;
  margin:0 auto 2.88rem;
}

#container.cp2026 .lead{
  font-size:1.4rem;
  line-height:2.4;
}

#container.cp2026 .definition-list{
  width:840px;
  margin:4.25rem auto 3.44rem;
  display:grid;
  gap:1.63rem;
}
#container.cp2026 .definition{
  display:flex;
  align-items:center;
  gap:2.81rem;
  padding:0.94rem 5rem;
  border:1.5px solid var(--navy);
  border-radius:1.75rem;
  text-align:left;
}
#container.cp2026 .definition img{
  width:90px;
}
#container.cp2026 .definition strong{
  font-size:1.5rem;
  line-height:1.9;
}
#container.cp2026 .hero__note{
  font-size:1.3rem;
  line-height:2.1;
  font-weight:var(--bold);
}

#container.cp2026 .examples{
  width:1190px;
  margin:0 auto;
  padding:5rem 0 1.88rem;
}
#container.cp2026 .section-heading{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1.5rem;
  margin-bottom:4.75rem;
}
#container.cp2026 .section-heading img{
  width:142px;
}
#container.cp2026 .section-heading h2{
  margin:0;
  font-size:3.4rem;
  font-weight:var(--bold);
  letter-spacing:0.18em;
}

#container.cp2026 .example{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:4.5rem;
  padding:5.0rem 0;
  align-items:center;
}
#container.cp2026 .example__copy{
  align-self:start;
}
#container.cp2026 .example__label{
  width:183px;
  margin-bottom:2.38rem;
}
#container.cp2026 .example h3{
  margin:0 0 3.88rem;
  font-size:2.6rem;
  line-height:1.6;
  letter-spacing:0.12em;
}
#container.cp2026 .example__copy > p{
  font-size:1.1rem;
  line-height:2.6;
  letter-spacing:0.1em;
}
#container.cp2026 .points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.19rem;
  margin-top:2.38rem;
}
#container.cp2026 .points strong{
  display:block;
  margin-bottom:1rem;
  font-size:1.3rem;
  font-weight:var(--bold);
}
#container.cp2026 .points p{
  font-size:1.1rem;
  line-height:2.3;
}
#container.cp2026 .example__photo{
  position:relative;
  align-self:center;
	top:-3.5rem;
}
#container.cp2026 .example__photo > img:last-child{
  width:100%;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:2.19rem;
}
#container.cp2026 .example__icon{
  position:absolute;
  top:-0.5rem;
  left:-0.5rem;
  z-index:2;
  width:125px;
}

#container.cp2026 .references{
  padding:4.69rem 0 8.13rem;
}
#container.cp2026 .references__inner{
  width:1160px;
  margin:0 auto;
}
#container.cp2026 .references__heading{
  display:flex;
  align-items:center;
  gap:1.38rem;
  margin:0 0 2.63rem 0;
}
#container.cp2026 .references__heading img{
  width:66px;
}
#container.cp2026 .references__heading h2{
  margin:0;
  font-size:3.4rem;
  letter-spacing:0.12em;
}
#container.cp2026 .reference-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:3rem 3.5rem;
}
#container.cp2026 .reference-card{
  background:var(--reference);
}
#container.cp2026 .reference-card__top{
  display:grid;
  grid-template-columns:55% 45%;
}
#container.cp2026 .reference-card__top img{
  width:100%;
  aspect-ratio:3 / 2;
  object-fit:cover;
}
#container.cp2026 .reference-card__top h3{
  margin:0;
  align-self:center;
  padding:0 2.13rem;
  font-size:1.6rem;
  line-height:2;
	font-weight:var(--normal);
  letter-spacing:0.13em;
}
#container.cp2026 .reference-card > p{
  padding:1.0rem 1.5rem 1.25rem;
  font-size:1rem;
  line-height:2;
}

#container.cp2026 .primary-cta{
  margin:0 auto;
  padding:3.44rem 0 7.81rem;
  text-align:center;
}
#container.cp2026 .primary-cta > p{
  font-size:1.3rem;
  line-height:2.1;
}
#container.cp2026 .primary-cta h2{
  margin:2rem 0 3.13rem;
  color:#111;
  font-size:2.3rem;
  line-height:2;
}
#container.cp2026 .primary-cta img{
  width:330px;
  margin:0 auto 2.63rem;
}

#container.cp2026 .cta{
}
#container.cp2026 .cta > h3{
	width:fit-content;
	font-size:2.0rem; line-height:2;
	margin:0 auto 0.25em;
}
#container.cp2026 .cta > h3::before{
	content:"＼";
	display:inline-block;
	transform:scaleX(0.75);
	margin-right:0.25em;
}
#container.cp2026 .cta > h3::after{
	content:"／";
	display:inline-block;
	transform:scaleX(0.75);
	margin-left:0.25em;
}
ul.cta-button{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:1.5rem;
}
ul.cta-button > li{
	width:540px;
}
ul.cta-button > li > a{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto;
  border-radius:9999px;
  color:#fff;
	padding:1.0em 0;
  font-size:1.5rem; line-height:2.0;
  font-weight:var(--bold);
  text-decoration:none;
  letter-spacing:0.05em;
  transition:transform .2s ease, background .2s ease;
	position:relative;
}
ul.cta-button > li > a::after{
	content:"";
	width:0.5em;
	aspect-ratio:0.6/1;
	clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
	background:#fff;
	position:absolute;
	top:50%; right:0;
	transform:translate(-250%,-50%);
}
ul.cta-button > li > a:hover{
  transform:translateY(-0.19rem);
}
ul.cta-button > li > a.button{
  background:var(--navy);
}
ul.cta-button > li > a.btn-instagram{
  background:#d30065;
}
ul.cta-button > li > a.btn-instagram::before{
	content:"";
	width:1.5em;
	aspect-ratio:1/1;
	background-image:url(../../../img/sns/instagram/normal/white.svg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	position:absolute;
	top:50%; left:0;
	transform:translate(125%,-50%);
}

#container.cp2026 .instagram{
  position:relative;
  width:980px;
  margin:5.0rem auto 0;
  text-align:center;
}
#container.cp2026 .instagram h2{
  margin:0;
  font-size:2.6rem;
  font-weight:var(--bold);
  letter-spacing:0.08em;
}
#container.cp2026 #sb_instagram .sbi_header_text{
	justify-content:space-between;
	align-items:flex-end;
}
#container.cp2026 #sb_instagram .sbi_header_text .sbi_feedtheme_header_text{
	align-items:flex-end;
}
#container.cp2026 #sb_instagram .sbi_header_text .sbi_feedtheme_header_text > h3::before{
	content:"@";
}
#container.cp2026 .instagram .sbi_header_img{
	border:1px solid #ccc;
}
#container.cp2026 .instagram__account{
  position:absolute;
  top:15.31rem;
  right:8.75rem;
  font-size:1.8rem;
  text-decoration:none;
}
#container.cp2026 .instagram__placeholder{
  width:990px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:0.25rem;
  background:rgba(255,255,255,.3);
}
#container.cp2026 .instagram__placeholder div{
  aspect-ratio:33 / 29;
  display:grid;
  place-items:center;
  padding:1.88rem;
  color:rgba(255,255,255,.94);
  background:linear-gradient(135deg, #60778c, #95a8b3);
  font-size:1.3rem;
  line-height:1.6;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
}
#container.cp2026 .instagram__placeholder div:nth-child(2n){
  background:linear-gradient(135deg, #738b7f, #b2b89f);
}
#container.cp2026 .instagram__placeholder div:nth-child(3n){
  background:linear-gradient(135deg, #8b786f, #b8a995);
}

#container.cp2026 .application{
  width:1220px;
  margin:0 auto;
  padding:1.56rem 0 7.19rem;
  text-align:center;
}
#container.cp2026 .application__lead{
  margin-bottom:6.56rem;
  font-size:1.3rem;
  line-height:2.2;
}
#container.cp2026 .application__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2.5rem;
  text-align:left;
	margin-bottom:7.0rem;
}
#container.cp2026 .application__side{
  display:grid;
  gap:2.13rem;
}
#container.cp2026 .info-box{
  position:relative;
  padding:3.0rem 2.0rem 2.0rem;
  border-radius:1.5rem;
  background:var(--panel);
}
#container.cp2026 .info-box h3{
  position:absolute;
  top:-2rem;
  left:0;
  width:245px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  border-radius:9999px;
  color:#fff;
  background:var(--navy);
  font-size:1.4rem;
	line-height:2.6;
  font-weight:var(--bold);
}
#container.cp2026 .info-box p{
  font-size:1rem;
  line-height:2.2;
}
#container.cp2026 .info-box h4{
  width:185px;
  margin:1.56rem 0 0.5rem;
  padding:0.5rem 1.25rem;
  border-radius:62.44rem;
  background:#fff;
  font-size:1rem;
  font-weight:var(--normal);
  text-align:center;
}
#container.cp2026 .info-box a{
  overflow-wrap:anywhere;
}
#container.cp2026 .info-box--period{
	margin-bottom:2.5rem;
}
#container.cp2026 .info-box--period p{
  font-size:1.3rem;
  font-weight:var(--bold);
}
#container.cp2026 .info-box ul{
  margin:0;
  padding:0 0 0 1.2em;
}
#container.cp2026 .info-box li{
	list-style:disc outside;
  margin:0 0 1.0rem;
  font-size:1rem;
  line-height:2.1;
}
#container.cp2026 .info-box li:last-child{
	margin-bottom:0;
}
#container.cp2026 .info-box--guidelines{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr 1fr;
  margin-top:1.4rem;
  padding-top:5rem;
  text-align:left;
}
#container.cp2026 .guidelines__col:first-of-type{
  padding-right:2.5rem;
}
#container.cp2026 .guidelines__col + .guidelines__col{
  padding-left:2.5rem;
  border-left:2px dotted var(--navy);
}
#container.cp2026 .guideline + .guideline{
  margin-top:2rem;
}
#container.cp2026 .info-box .guideline h4{
  width:auto;
  margin:0 0 0.4rem;
  padding:0;
  border-radius:0;
  background:none;
  font-size:1.1rem;
  font-weight:var(--bold);
  text-align:left;
}
#container.cp2026 .guideline__list{
  margin:0;
  padding:0;
  counter-reset:guideline;
  list-style:none;
}
#container.cp2026 .guideline__list > li{
  position:relative;
  margin:0;
  padding-left:2.4em;
  counter-increment:guideline;
  list-style:none;
}
#container.cp2026 .guideline__list > li::before{
  content:"（" counter(guideline) "）";
  position:absolute;
  left:0;
}
#container.cp2026 .guideline__list--circle > li:nth-child(1)::before{
  content:"①";
}
#container.cp2026 .guideline__list--circle > li:nth-child(2)::before{
  content:"②";
}
#container.cp2026 .info-box .guideline__note{
  font-size:0.9rem;
  line-height:2;
}
#container.cp2026 .guideline__note::before{
  content:"※";
}
#container.cp2026 .guideline__note + .guideline__note{
  margin-top:0.2rem;
}
#container.cp2026 .form-link-row{
  display:grid;
  grid-template-columns:1fr 7.5rem;
  gap:1.13rem;
  align-items:end;
}
#container.cp2026 .form-link-row img{
  width:112px;
  background:#fff;
}
#container.cp2026 .application__illustration{
  width:390px;
  margin:5rem auto 3.44rem;
}

#container.cp2026 .brand{
  padding:3.13rem 0 5.63rem;
  text-align:center;
}
#container.cp2026 .brand img{
  width:290px;
  margin:0 auto 1.56rem;
}
#container.cp2026 .brand p{
  color:#201b1b;
  font-size:1.4rem;
  font-weight:var(--bold);
}

#container.cp2026 .contact{
  padding:2.81rem 0;
  color:#fff;
  background:var(--navy);
}
#container.cp2026 .contact__inner{
  width:1170px;
  margin:0 auto;
  display:grid;
  grid-template-columns:22.5rem 1fr;
  gap:6.88rem;
  align-items:center;
}
#container.cp2026 .contact p{
  font-size:1.1rem;
  line-height:1.8;
  font-weight:var(--bold);
}
#container.cp2026 .contact a{
  color:#fff;
  text-decoration:none;
}
#container.cp2026 .contact a:hover{
  text-decoration:underline;
}

@media (prefers-reduced-motion: reduce){
  #container.cp2026 .button{
    transition:none;
  }
}
