@charset "utf-8";
html {  scroll-behavior: smooth; scroll-padding-top: 70px; }
body { line-height: 1.5;}
.wrapper { width: 100% ; margin: 0; overflow: hidden; }
img { max-width: 100%; height: auto; }

.mt1em { margin-top: 1em; }
.mt2em { margin-top: 2em; }

.br-wrap {  word-break: keep-all; overflow-wrap: anywhere;}

.contents-width { width: 90%; max-width: 980px; margin: 0 auto; }
.contents-width-s { width: 90%; max-width: 750px; margin: 0 auto; }

.conts-section { padding: 100px 0 100px; }
.conts-section-t { padding-top: 100px; }
.sp-only { display: none; }
@media screen and (max-width: 768px) {
  .conts-section { padding: 50px 0; }
  .conts-section-t { padding-top: 50px; }
  
  .pc-only { display: none; }
  .sp-only { display: initial; }
}

.bg-grad { background: linear-gradient(to bottom, #132859, #0B1C43); }
.bg-grad-top { background: linear-gradient(to bottom, #132859, #101931 500px); }
.t-yellow { color: #FFEC5D; }
.t-red { color: #B92B27; }
.t-center { text-align: center; }
.t-marker-yellow { text-decoration: underline; text-decoration-color: #FFEC5D; text-decoration-thickness: .2em;text-underline-offset: -.1em; text-decoration-skip-ink: none; }

.title-section { font-size: 2.3rem; text-align: center; margin-bottom: 1em; }
.title-section::after { content: ''; width: 80px; height: 3px; background: linear-gradient(#BE9D2D, #897322); display: block; margin: .5em auto 0; }
.title-section.-left { text-align: left; }
.title-section.-left::after { margin-left: 0; }
.title-section .l { font-size: 1.2em; }
.title-section.-white { color: #FFF; }

.title-section .sub { display: block; font-size: .7em; }

@media screen and (max-width: 1000px) {
  .title-section { font-size: 2rem; }
}
@media screen and (max-width: 768px) {
  .title-section { font-size: 1.5rem; }
}

.btn-block { width: 330px; max-width: 90%; margin: 0 auto; display: block; text-align: center; background: linear-gradient(to bottom, #344E8A, #253D73); color: #FFF; font-family: 'Noto Sans JP', sans-serif; padding: 1em; }
.btn-block.-gold { background: linear-gradient(to bottom, #BE9D2D, #897322); }
.btn-block::after { content: ''; width: 2em; height: 7px; border-right: 1px solid; border-bottom: 1px solid; display: inline-block; margin-left: 1em; transform: skewX(45deg); vertical-align: middle; margin-bottom: .5em;  } 

@media screen and (max-width: 768px) {
  .btn-block {}
}

.header { padding: .5em 1.5rem; display: flex; justify-content: space-between; position: fixed; align-items: center; width: 100%; top: 0; left: 0; right: 0; margin: auto; z-index: 99; }
.head-contact { background: linear-gradient(to bottom, #BE9D2D, #897322); border-radius: 3px; padding: .5em 1.5em; display: block; }

.head-menu { display: flex; align-items: center; }
.head-menu > li + li { margin-left: 2em; font-family: 'Noto Sans JP', sans-serif; font-size: .935rem; }

.btn-hamburger { display: none; }

@media screen and (max-width: 768px) {
  .head-menu { position: fixed; top: 0; right: 0; margin: auto; transform: translateX(100%); width: 200px; height: 100vh; transition: transform .3s;  display: block; background: #132859; padding: 5rem 2rem; }
  .head-menu > li + li { margin-left: 0; margin-top: 2rem; }
  .head-contact {}
  
  .head-menu.open {transform: translateX(0); }
  .head-logo { width: 100px; }
  .btn-hamburger { display: block; width: 3rem; height: 3rem; display: block; background: none; border: none; text-indent: 200%; overflow: hidden; white-space: nowrap; position: fixed; top: .5rem; right: 1rem; margin: auto; }
  .btn-hamburger::before,
  .btn-hamburger::after { content: ''; width: 2rem; height: 2px ; display: block; position: absolute; inset: 0; background: #FFF; margin: auto; transition: transform .3s; }
  .btn-hamburger::before { transform: translateY(-7px); box-shadow: 0 7px 0 #FFF;  }
  .btn-hamburger::after { transform: translateY(7px); }
  
  .btn-hamburger.open::before { transform: rotate(45deg); box-shadow: none; }
   .btn-hamburger.open::after { transform: rotate(-45deg); }
}

.footer-top { padding: 50px 0; }
.footer-top .inner { display: flex; justify-content: space-between;align-items: center ;}
.footer-menu { display: flex; align-items: center;}

.footer-menu > li  + li { margin-left: 3em; }
.footer-menu a { display: block;  }
.footer-menu a::after { content: ''; width: .5em; height: .5em; display: inline-block; margin-left: 1em; transform: rotate(45deg); border-top: 2px solid; border-right: 2px solid; }

@media screen and (max-width: 768px) {
  .footer-top .inner { flex-direction: column; }
  
  
  .footer-menu { font-size: .85rem; }
  .footer-menu > li  + li { margin-left: 1.5em; }
  .footer-menu a::after { margin-left: .5em; }
  .footer-menu  { margin-top: 3em; }
}

.mv { position: relative; height: 100vh; }
.mv::after { content: 'BULLSEYE'; font-size: 23vw; font-family: 'Cormorant Garamond', serif; position: absolute; left: 50%; bottom: 0; z-index: 2; color: #003FA3; opacity: .25; line-height: .7; transform: translateX(-50%); z-index: 3; }
.mv .text { position: absolute; z-index: 10;width: 90%; top: 50%;
  transform: translateY(-50%); left: 0; right: 0; bottom: auto; margin: auto; height: fit-content;  }
.mv .text .title { font-size: 2.8rem; }
.mv .text p { font-family: 'Noto Sans JP', sans-serif; margin: 1.5em 0; }
.mv .text .btn-block { margin-left: 0; }

.mv .swiper { mix-blend-mode: color-dodge; opacity: .25; }
.mv .swiper-slide img { opacity: 0; width: 100%; height: 100vh; object-fit: cover; }
.mv .swiper-slide-active img { opacity: .7; }


@media screen and (max-width: 768px) {
  .mv  { height: auto; }
  .mv .text { text-align: center; }
  .mv .text .title { font-size: 2rem; }
  .mv .text p { font-size: .9rem; }
  .mv .swiper-slide img {  height: 100vw;}
  .mv .text { position: relative; margin-top: -20vw; bottom: auto; left: auto; transform: none;  }
  .mv .swiper-slide-active img { opacity: 1; }
  
  .mv .text .btn-block { margin: 0 auto; }
  
  
  .mv.-support  .swiper-slide img { height: min(150vw, 600px);}
  .mv.-support .text { bottom: 20vw; top: auto; margin: auto; position: absolute; left: 0; right: 0; }
  .mv.-support .text .title { font-size: 1.7rem; }
}


.conts-region { position: relative; z-index: 2; }
.conts-region::before { content: ''; width: 95%; height: calc(100% + 10vw); display: block; background: #182447; position: absolute; top: -10vw; right: 0; margin: auto; z-index: -1; }


@media screen and (max-width: 768px) {
  .conts-region::before { width: 100%; }
}
.table-region { width: 100%; table-layout: fixed; margin-bottom: 2em; }
.table-region thead th { text-align: center; font-size: 1.125rem; font-weight: normal; padding: 1em .2em;  position: relative; z-index: 2; }
.table-region thead th:nth-child(1) { z-index: 6;}
.table-region thead th:nth-child(2) { z-index: 5;}
.table-region thead th:nth-child(3) { z-index: 4;}
.table-region thead th:nth-child(4) { z-index: 3;}
.table-region thead th:nth-child(5) { z-index: 2;}

.table-region.-rainbow thead th:nth-child(1)::before { background: linear-gradient(to right, #344E8B, #243C72); }
.table-region.-rainbow thead th:nth-child(2)::before { background: linear-gradient(to right, #33368A, #262E74); }
.table-region.-rainbow thead th:nth-child(3)::before { background: linear-gradient(to right, #47338A, #382674); }
.table-region.-rainbow thead th:nth-child(4)::before { background: linear-gradient(to right, #70338A, #552674); }
.table-region.-rainbow thead th:nth-child(5)::before { background: linear-gradient(to right, #8A3381, #74266F); }

.table-region thead th::before { content: ''; width: calc(100% + 1rem); height: 100%; display: block; background: linear-gradient(to right, #34658B, #174161); position: absolute; left: 0; top: 0; z-index: -1; clip-path: polygon(0 0, calc(100% - 1rem) 0, 100% 50%, calc(100% - 1rem) 100%, 0 100%); }

.table-region thead th::after { content: ''; width: 1rem; height: 100%; background:#101931; position: absolute; right: -1rem; top: 0; margin: auto; z-index: 2; clip-path: polygon(0 0, 2px 0, 1rem 50%, 2px 100%, 0 100% , calc(1rem - 2px) 50%, 0 0); }

.table-region thead { border-bottom: 2px solid #101931; }
.table-region tbody td { background: rgba(255,255,255,.05); text-align: center; padding: 1em .2em; border: 2px solid #101931; font-size: .9rem; vertical-align: middle; }

@media screen and (max-width: 768px) {
  .table-region thead th { font-size: .8rem; }
  .table-region thead th::before { width: calc(100% + .5rem);  clip-path: polygon(0 0, calc(100% - .5rem) 0, 100% 50%, calc(100% - .5rem) 100%, 0 100%); }
  .table-region thead th::after {  width: .5rem; clip-path: polygon(0 0, 2px 0, .5rem 50%, 2px 100%, 0 100% , calc(.5rem - 2px) 50%, 0 0); right: -.5rem; }
  .table-region tbody td { font-size: .75rem; padding: .5em; text-align: left; }
}


.conts-region .msg { text-align: center; font-size: 1.6rem; margin: 2em 0 1em; }

.conts-region .questionaire { display: flex; justify-content: space-between; align-items: center; }
.conts-region .questionaire .img { width: 30%;}
.conts-region .questionaire  .text { width: 65%; }

.conts-region .questionaire .title { font-size: 1.6rem; margin-bottom: .5em; }
.conts-region .questionaire .note { font-family: 'Noto Sans JP', sans-serif; color: #DEDFE1; font-size: .8375rem; font-weight: 200; }

@media screen and (max-width: 768px) {
  .conts-region .msg { font-size: 1.2rem; }
  
  .conts-region .questionaire { flex-direction: column; }
  .conts-region .questionaire  .text { width: 100%; margin-top: 1em; }
  .conts-region .questionaire .title { font-size: 1.25rem; }
}


.conts-knowhow  { position: relative; }
.conts-knowhow::after { content: ''; width: 360px; height: 70px; display: block; background: #182447; clip-path: polygon(0 0, 100% 0, 50% 100%, 0 0); position: absolute; top: 0; left: 0; right: 0; margin: auto; }
.conts-knowhow .lead { text-align: center; font-size: 1.8rem; margin-bottom: 1em; }

@media screen and (max-width: 768px) {
  .conts-knowhow::after { width: 200px; height: 40px; }
  .conts-knowhow .lead { font-size: 1.5rem; }
}


.approach-slider { position: relative; }
.approach-slider .swiper-slide { width: min(700px, 85vw); background: #FFF; color: #222; border-radius: 10px; height: auto; }
.approach-slider .text { padding: 1rem; }
.approach-slider .num { font-size: 2.5rem; font-weight: 600; text-align: center; color: #132859; }
.approach-slider .num::after { content: ''; width: 1px; height: 30px; display: block; margin: .5rem auto ; background: currentColor; }
.approach-slider .title { text-align: center; font-size: 1.5rem; margin-bottom: .5em; color: #132859; }
.approach-slider .title-answer { font-size: 1.25rem; font-family: 'Noto Sans JP', sans-serif; color: #132859; margin-bottom: .5em; text-decoration: underline; text-decoration-color: #E7E9EE; text-decoration-skip-ink: none; text-underline-offset: -.2em; text-decoration-thickness: .4em; }
.approach-slider .title-answer::before { content: ''; width: 1.5em; height: 1.2em; display: inline-block; background: url("../img/logo-blue.svg") no-repeat center center / contain; margin-right: .5em; }
.approach-slider p { font-family: 'Noto Sans JP' , sans-serif; }

.conts-approach { position: relative; }
.conts-approach::before { content: ''; width: 40vw; height: 25vw; background: url("../img/symbol.svg") no-repeat right bottom / 100% auto; opacity: .07; position: absolute; right: 2%; top: 0; margin: auto; }
.approach-slider .approach-prev,
.approach-slider .approach-next { position: absolute; top: 50%; margin: auto; z-index: 10; width: 4rem; height: 4rem; }
.approach-slider .approach-prev { right: min(92%, calc(50% + 350px)); transform: translate(50%, -50%); }
.approach-slider .approach-next { left: min(92%, calc(50% + 350px)); transform: translate(-50%, -50%);  }

@media screen and (max-width: 768px) {
  .approach-slider .num { font-size: 1.5rem; } 
  .approach-slider .num::after { height: 15px; }
  .approach-slider .title { font-size: 1.2rem; }
  .approach-slider .title-answer { font-size: 1.125rem; }
  .approach-slider .text { padding: 1rem 2.5rem; }

}



.list-service { counter-reset: listnum; }
.list-service > li { display: flex; align-items: center; justify-content: space-between; margin-bottom: 50px; counter-increment: listnum;  }
.list-service > li:nth-child(2n) { flex-direction: row-reverse; }
.list-service .img { width: 48%;}
.list-service .text { width: 48%;}

.list-service.-reverse > li { flex-direction: row-reverse;}
.list-service.-reverse > li:nth-child(2n) { flex-direction: row; }

.list-service .num { margin-bottom: 1em; }
.list-service .num .point{ font-size: .75rem; transform: translateX(-100%) rotate(90deg); transform-origin: right bottom; display: inline-block; }
.list-service .num::after { content: counter(listnum, decimal-leading-zero); font-size: 2.2rem; margin-left: -.2em;  }

.list-service .title { font-size: 1.7rem; margin-bottom: .5em;  }
.list-service .title span { font-size: .7em; }
.list-service .desc { font-family: 'Noto Sans JP', sans-serif; line-height: 1.6; font-size: .9rem; }


@media screen and (max-width: 768px) {
  .list-service > li:nth-child(n),
  .list-service.-reverse > li:nth-child(n) { flex-direction: column; }
  .list-service .img { width: 100%;}
  .list-service .text { width: 100%; margin-top: 1rem ;}
  
  .list-service .title { font-size: 1.6rem; }
  .list-service .desc { font-size: .9rem; }
}


.list-reason { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.list-reason .title { text-align: center; font-size: 1.3rem; font-weight: 500; line-height: 1.5; margin: .5em 0; }
.list-reason .desc { font-family: 'Noto Sans JP', sans-serif; font-size: .935rem; line-height: 1.5; }

@media screen and (max-width: 768px) {
  .list-reason { grid-template-columns: 1fr; }
}

.top-message { display: flex; justify-content: flex-end; }
.top-message .img { width: 50%; }
.top-message .text { width: 490px; max-width: 45%;  padding-right: 5%; line-height: 1.7; position: relative; }
.top-message .text::before { content: 'Message'; position: absolute; right: 0; top: -.8em; line-height: 1.5; font-size: min(12vw, 15em); color: #FFFFFF; opacity: .05; line-height: 1; font-family: 'Noto Serif JP', serif; }

.top-message p { font-family: 'Noto Sans JP', sans-serif;  }
.top-message .name { margin-top: 1.5em; }

@media screen and (max-width: 768px) {
  .top-message { flex-direction: column-reverse; }
  .top-message .text { width: 90%; margin: 10vw auto 0; max-width: none; padding: 0; }
  .top-message .img { width: 100%; }
  .top-message .text::before { font-size: 20vw; }
  
}
.consultant-slider-wrap { position: relative; }
.consultant-slider .img img { border-radius: 10px; }
.consultant-slider .text { margin-top: 1em;  }
.consultant-slider .name { text-align: center; font-size: 1.5rem; }
.consultant-slider .role { text-align: center; font-size: .8735rem; font-family: 'Noto Sans JP', sans-serif; }
.consultant-slider .proflie { font-family: 'Noto Sans JP', sans-serif; margin-top: 1em; }

.consultant-prev { position: absolute; left: -3rem; bottom: 50%; margin: auto; }
.consultant-next { position: absolute; right: -3rem; bottom: 50%; margin: auto; }

.consultant-prev.swiper-button-disabled,
.consultant-next.swiper-button-disabled { opacity: .2; }

.consultant-scrollbar { width: 200px; height: 4px; background: rgba(255, 255, 255, .1); margin: 50px auto 0; }
.consultant-scrollbar .swiper-scrollbar-drag { background-color: #B3952B; }

.list-flow { width: fit-content; margin: 0 auto; counter-reset: listnum; position: relative; z-index: 2; }
.list-flow::after { content: ''; width: 10px; height: 100%; position: absolute; border-right: 2px solid #B7982B; border-bottom: 3px solid #B7982B; left: calc(2rem - 10px); top: 2rem; z-index: -1; transform: skewY(45deg); }
.list-flow > li { counter-increment: listnum;position: relative; padding-left: 5rem; min-height: 5rem; padding-top: .7rem;  }
.list-flow > li::before { content: counter(listnum, decimal-leading-zero); color: #FFF; font-size: 2rem;
  width: 2em; height: 2em; position: absolute; left: 0; top: 0; margin: auto; 
  background: linear-gradient(to bottom, #BE9D2D, #897322); display: block; border-radius: 50%; text-align: center; line-height: 2; }
.list-flow .title { font-size: 1.7rem; margin-bottom: .2em; }
.list-flow > li:not(:last-child) { margin-bottom: 3rem; }

@media screen and (max-width: 768px) {
  .list-flow .title { font-size: 1.3rem;}
  .list-flow > li { padding-left: 4rem; min-height: 2rem; padding-top: .5em; }
  .list-flow > li::before { font-size: 1.5rem; }
  .list-flow::after { left: calc(1.5rem - 10px); }
  .list-flow > li:not(:last-child) { margin-bottom: 2rem; }
}

.list-qa { width: 100%; }
.list-qa .question { border-bottom: 1px solid #D5C58B; padding: 1rem 2em 1rem 3rem; font-size: 1.125rem; position: relative; margin-bottom: 1em; position: relative; }
.list-qa .question::before { content: 'Q.'; font-size: 1.6em; color: #D5C58B; width: 2rem; position: absolute; left: .5rem; top: .4rem; margin: auto; }
.list-qa .question::after { content: ''; width: .4em; height: .4em; position: absolute; right: 0; top: 1em; margin: auto; border-top: 1px solid #D5C58B; border-right: 1px solid #D5C58B; transform: rotate(135deg); }
.list-qa .question.open::after { transform: rotate(-45deg); }
.list-qa .answer { display: none; padding: 0 0 2rem 3rem;  }

@media screen and (max-width: 768px) {
  .list-qa .question { font-size: 1rem; }
}

.price-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px;  }

.price-wrap .title { font-size: 1.5rem; color: #FFF; text-align: center; padding: .5em; background: linear-gradient(to bottom , #B7982B, #8D7623);}
.price-wrap .item { background: #FFF; color: #222222;  }
.price-wrap .item .conts { padding: 1.5em; font-family: 'Noto Sans JP', sans-serif; font-weight: 400;  }
.price-wrap .item .price { text-align: center; font-size: 1.5rem; margin: 1em 0; letter-spacing: .5em; }
.price-wrap .item .price .em { font-size: 2.5rem; color: #B7982B; font-weight: bold; }
.price-wrap .item .price .em2 { font-size: 1.5rem; font-weight: bold; letter-spacing: .15em; }
.price-wrap .item .price .em2 span{ font-size: 1.3em; letter-spacing: 0;  }

.price-copy { text-align: center; margin: 2em 0 1em; font-size: 1.8rem; line-height: 1.5; }

@media screen and (max-width: 768px) {
  .price-wrap .title { font-size: 1.3rem; }
  
  .price-wrap { grid-template-columns: minmax(0, 1fr); }
  .price-wrap .item .price { font-size: 1.3rem; }
  .price-copy { font-size: 1.3rem; }
}

.contact-form { width: 790px; max-width: 90%;  margin: 0 auto ; }
.form-item { display: grid; grid-template-columns: 12em minmax(0, 1fr); gap: 1rem; margin-bottom: 1em; font-family: 'Noto Sans JP', sans-serif; align-items: center; }
.form-item label { font-size: 1.125rem; }
.form-item .note { font-size: .835rem; }

.form-item input[type="text"],
.form-item input[type="email"],
.form-item input[type="tel"],
.form-item select,
.form-item textarea { padding: .8em; border-radius: 3px; }

.form-item textarea { height: 20em; }

.form-send-block { text-align: center; } 
.privacy-check { font-size: 1.125rem; margin: 2em 0; display: block; }

@media screen and (max-width: 768px) {
  .form-item  { grid-template-columns: 1fr; }
  
}
.copyright { background: #222222; color: #FFF; text-align: center; font-family: 'Noto Sans JP', sans-serif; padding: 1em 0; }



.support-issue { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.support-issue .ttl { background: linear-gradient(to right, #34658B, #173F5F); text-align: center; font-size: 1.25rem; padding: 1em .5em; }
.support-issue .list li { margin-top: 3px; background: rgba(255, 255,255, .05); padding: 1em .5em 1em 2em; text-indent: -1em; font-size: .9rem; }
.support-issue .list li::before { content: '・'; }

@media screen and (max-width: 768px) {
  .support-issue { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .support-issue .ttl { font-size: 1rem; }
  .support-issue .list li { font-size: .875rem; min-height: 7em; }
}
.support-service .msg { font-size: 1.5rem; text-align: center; }
.support-flow .msg { font-size: 1.5rem; text-align: center; }

@media screen and (max-width: 768px) {
  .support-service .msg { font-size: 1.2rem; }
  .support-flow .msg { font-size: 1.2rem; }
}


.page-main { margin-top: 100px; }
.page-head { border-bottom: 1px solid rgba(255,255,255,.2); }
.page-head.-noline { border: none; }
.page-head .title { text-align: center; padding: 2em 0; font-size: 2.5rem; }
.breadcrumb { display: flex; flex-wrap: wrap; font-size: .8rem; margin: 2em 0 50px; }
.breadcrumb > li + li::before { content: '> '; margin: 0 .5em; }

.pabe-body { padding-bottom: 100px; }

@media screen and (max-width: 768px) {
  .page-main { margin-top: 60px; }
  .page-head .title { font-size: 1.7rem; }
}
.table-company { width: 100%; margin: 0 auto; border-top: 1px solid rgba(255,255,255,.2); }
.table-company tr { border-bottom: 1px solid rgba(255,255,255,.2); }
.table-company th { padding: 2em 1em; width: 30%;  }
.table-company td { padding: 2em 0 2em 2em; position: relative; }
.table-company td::before { content: ''; width: 1px; height: calc(100% - 2em); display: block; background: rgba(255,255,255, .2); position: absolute; left: 0; top: 0; bottom: 0; margin: auto; } 

.list-num { counter-reset: listnum; }
.list-num > li { counter-increment: listnum; padding-left: 2em;  }
.list-num > li::before { content: counter(listnum)'.'; display: inline-block; width: 2em; margin-left: -2em; }

.thanks-text{ text-align: center; }

.privacy-text .title { font-size: 1.5rem; margin: 3em 0 1.5em; }

.privacy-text p { margin-bottom: 1em; }
.privacy-text .list-num { margin-top: 2em; }
.privacy-text .list-num > li { margin-bottom: 1em; }


/* フォームエラーメッセージ */
.form-item .error-message {
  grid-column: 2; /* 2カラム目（入力フィールドの下）に配置 */
  color: #dc3545;
  font-size: 0.875rem;
  margin-top: -0.5rem; /* gap分を調整 */
  margin-bottom: 0.5rem;
}

/* プライバシーポリシーのエラー */
.privacy-check .error-message {
  display: block;
  color: #dc3545;
  font-size: 0.875rem;
  margin-top: 0.5rem;
}

/* エラー時の入力フィールドの枠線 */
.form-item input.error,
.form-item textarea.error,
.form-item select.error {
  border-color: #dc3545;
}

/* モバイル対応 */
@media screen and (max-width: 768px) {
  .form-item .error-message {
    grid-column: 1; /* モバイルでは1カラムなので調整 */
    margin-top: 0.25rem;
  }
}