@charset "UTF-8";
body {
  color: #141414;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

p {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}

.inner, .footer .footer_inner {
  max-width: 1040px;
  margin: auto;
}
@media (max-width: 1080px) {
  .inner, .footer .footer_inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.l-inner {
  max-width: 1240px;
  margin: auto;
}
@media (max-width: 1280px) {
  .l-inner {
    max-width: 1040px;
  }
}
@media (max-width: 1080px) {
  .l-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.serif, .faq_list_item dd p:before, .problem_title, .problem-solution_title, .mv-concept_subtitle, .top_subtitle, .header_right_navi li, .header .section-navi .navi_current a {
  font-family: "Noto Serif JP", serif;
}

.btn {
  width: 280px;
  border-radius: 29px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  height: 58px;
  width: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  position: relative;
  transition: all 0.3s ease;
}
.btn_more span {
  margin-right: 13px;
}
.btn_more:after {
  content: "";
  width: 32px;
  height: 32px;
  display: inline-block;
  background-color: #fff;
  border-radius: 50px;
  position: absolute;
  right: 10px;
}
.btn_more:before {
  content: "";
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/top/arrow.svg);
  display: inline-block;
  width: 7.44px;
  height: 14.48px;
  position: absolute;
  top: 21.8px;
  right: 20.9px;
  z-index: 2;
  transition: all 0.3s ease;
}
@media (hover: none) {
  .btn_more:active {
    filter: brightness(1.1);
  }
  .btn_more:active:before {
    transform: translateX(6px);
    filter: brightness(90%);
  }
}
@media (hover: hover) {
  .btn_more:hover {
    filter: brightness(1.1);
  }
  .btn_more:hover:before {
    transform: translateX(6px);
    filter: brightness(90%);
  }
}
.btn_more._green {
  background: #51CC00;
}
.btn_more._green:after {
  background-color: #EFFFE5;
}
.btn_more._green:before {
  background: #51CC00;
}
.btn_more._blue {
  background: #004172;
}
.btn_more._blue:before {
  background: #004172;
}
.btn_more._clear {
  box-shadow: none;
  border: 1px solid #fff;
  width: 218px;
}
.btn_more._clear:after {
  display: none;
}
.btn_more._clear:before {
  background: #fff;
}
.btn_contact {
  background: #00ADE3;
}
.btn_contact:before {
  content: "";
  background: url(../images/top/letter.svg) no-repeat;
  display: block;
  width: 28px;
  height: 19px;
}
@media (hover: none) {
  .btn_contact:active {
    filter: brightness(1.1);
  }
}
@media (hover: hover) {
  .btn_contact:hover {
    filter: brightness(1.1);
  }
}
.btn_tel {
  background: #51CC00;
}
.btn_tel:before {
  content: "";
  background: url(../images/top/tel.svg) no-repeat;
  display: block;
  width: 28px;
  height: 32px;
}
@media (hover: none) {
  .btn_tel:active {
    filter: brightness(1.1);
  }
}
@media (hover: hover) {
  .btn_tel:hover {
    filter: brightness(1.1);
  }
}

.header {
  height: 83px;
  box-shadow: none;
  display: flex;
  align-items: center;
}
.header.scroll {
  position: fixed;
  z-index: 100;
  animation: SlideDown 0.3s;
}
@keyframes SlideDown {
  0% {
    transform: translateY(-110%);
  }
  100% {
    transform: translateY(0);
  }
}
.header .header_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  padding: 0 32px;
}
@media (max-width: 980px) {
  .header .header_inner {
    padding: 0 20px;
  }
  .header .header_inner .btn_contact {
    margin: 30px auto;
  }
}
.header .header_inner_top {
  padding: 0;
}
.header .header_inner_top .header_logo {
  width: 81px;
}
.header .header_inner.inner, .header .footer .header_inner.footer_inner, .footer .header .header_inner.footer_inner {
  display: none;
}
@media (max-width: 980px) {
  .header .header_inner.inner, .header .footer .header_inner.footer_inner, .footer .header .header_inner.footer_inner {
    display: block;
    padding: 0;
  }
}
.header .header_navi {
  background: #fff !important;
  position: fixed;
  height: auto;
  top: 83px;
  left: 0;
  z-index: 100;
}
.header .section-navi .navi_current {
  background: #fff !important;
}
.header .section-navi .navi_current a {
  color: #004172;
  text-align: center;
  font-weight: 500;
  font-size: 18px;
}
.header_right_navi {
  list-style: none;
  display: flex;
  gap: 1.6666666667vw;
}
.header_right_navi li a {
  color: #004172;
  font-size: 20px;
  font-weight: 500;
}
.header .header_inner_top .header_right_bottom {
  align-items: center;
  gap: 2.7777777778vw;
}
@media (max-width: 980px) {
  .header .header_inner_top .header_right_bottom {
    display: none;
  }
}
.header_humb {
  top: 40px;
}

.top_title {
  position: relative;
  margin-left: 74px;
}
.top_title:before {
  content: "";
  background: #00ADE3;
  width: 150px;
  height: 1px;
  position: absolute;
  left: -174px;
  top: 50%;
  translate: 0 -50%;
  display: inline-block;
}
.top_title03 {
  text-align: center;
}
.top_title04 {
  position: relative;
font-size: 4rem;
    color: #004172;
    font-family: "Noto Serif JP", serif;
    padding-left: 50px;
    margin-bottom: 20px;
}
.top_title04:before {
  content: "";
  background: #00ADE3;
  width: 40px;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  display: inline-block;
}
@media (max-width: 768px) {
  .top_title:before {
    left: -155px;
  }
}
@media (max-width: 768px) {
  .top_title {
    margin-left: 0;
  }
  .top_title img {
    height: 30px;
    object-fit: contain;
    object-position: left;
  }
	.top_title02 img,
	.top_title03 img {
    height: 60px;
    object-fit: contain;
    object-position: left;
  }
	.top_title04 {
    font-size: 2.5rem;
  }
}
.top_subtitle {
	font-family: "Noto Serif JP", serif;
  display: block;
  color: #004172;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4666666667;
  margin-left: 74px;
  margin-top: 16px;
}
.top_subtitle02 {
	font-family: "Noto Serif JP", serif;
  display: block;
  color: #004172;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4666666667;
  margin-top: -55px;
	margin-bottom:80px;
}
.top_subtitle03 {
	font-family: "Noto Serif JP", serif;
  display: block;
  color: #004172;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.4666666667;
  margin-top: -55px;
	margin-bottom:80px;
	text-align: center;
}
.top_subtitle04 {
	font-weight:normal;
	line-height:2;
}
@media (max-width: 768px) {
  .top_subtitle {
    font-size: 25px;
    margin-left: 0;
  }
	.top_subtitle02 {
    font-size: 25px;
    margin-top: -35px;
	margin-bottom:40px;
  }
	.top_subtitle03 {
    font-size: 25px;
    margin-top: -35px;
	margin-bottom:40px;
  }
}

.mv {
  background: url(../images/top/mv-bk.jpg) no-repeat;
  background-size: cover;
  overflow: hidden;
}
.mv-header {
  background: url(../images/top/mv.jpg) no-repeat;
  background-position: right;
  background-size: auto 100%;
  height: 42.3611111111vw;
  min-height: 400px;
  max-height: 610px;
}
@media (max-width: 1000px) {
  .mv-header {
    background-position: 500px;
  }
}
@media (max-width: 768px) {
  .mv-header {
    height: 100%;
    min-width: auto;
    max-height: none;
    background-image: none;
  }
}
.mv-header_content {
  max-width: 1440px;
  width: 100%;
  margin: auto;
  display: flex;
  align-items: center;
  height: 100%;
}
@media (max-width: 768px) {
  .mv-header_content {
    flex-direction: column;
  }
}
.mv-header_content_text {
  margin-left: 2.5694444444vw;
}
@media (max-width: 768px) {
  .mv-header_content_text {
    margin-left: 0;
    padding: 50px 20px 20px;
  }
}
.mv-header_content_img {
  display: none;
}
@media (max-width: 768px) {
  .mv-header_content_img {
    display: block;
  }
}
.mv-header_title img {
  width: 55.3305555556vw;
  min-width: 450px;
}
@media (max-width: 768px) {
  .mv-header_title img {
    min-width: auto;
    width: 100%;
  }
}
.mv-header_text {
  color: #004172;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.6;
  margin: 40px 0 65px;
}
@media (max-width: 768px) {
  .mv-header_text {
    text-align: center;
    font-size: 4.5vw;
  }
}
.mv-header_link {
  display: flex;
  gap: 46px;
}
@media (max-width: 768px) {
  .mv-header_link {
    flex-direction: column;
    gap: 20px;
    align-items: center;
    margin-bottom: 40px;
  }
}
.mv-concept {
  padding: 140px 0 103px;
  background: url(/wp-content/uploads/2026/04/consept_bg03.png) no-repeat;
  background-size: cover;
}
@media (max-width: 768px) {
  .mv-concept {
    padding-top: 70px;
  }
}
.mv-concept_content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .mv-concept_content {
    flex-direction: column;
    gap: 20px;
  }
}
.mv-concept_content_text {
  width: 44.3548387097%;
}
@media (max-width: 768px) {
  .mv-concept_content_text {
    width: 100%;
  }
}
.mv-concept_content_img {
  width: 51.6129032258%;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .mv-concept_content_img {
    width: 100%;
  }
}
.mv-concept_title {
  padding-left: 174px;
  position: relative;
}
.mv-concept_title:before {
  content: "";
  background: #00ADE3;
  width: 150px;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
  display: inline-block;
}
@media (max-width: 768px) {
  .mv-concept_title:before {
    left: -65px;
  }
}
@media (max-width: 768px) {
  .mv-concept_title {
    padding-left: 100px;
  }
}
.mv-concept_subtitle {
  display: block;
  color: #004172;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.6;
  margin: 32px 0;
}
@media (max-width: 768px) {
  .mv-concept_subtitle {
    font-size: 20px;
  }
}

.problem {
  padding: 182px 0 0;
}
@media (max-width: 768px) {
  .problem {
    padding-top: 91px;
  }
}
.problem_title, .problem-solution_title {
  font-size: 80px;
  color: #E9FAFF;
  text-align: center;
  line-height: 1;
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .problem_title, .problem-solution_title {
    font-size: 65px;
  }
}
.problem_title span, .problem-solution_title span {
  font-size: 30px;
  display: block;
  color: #004172;
  margin-top: -25px;
}
@media (max-width: 768px) {
  .problem_title span, .problem-solution_title span {
    font-size: 25px;
  }
}
.problem_content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-bottom: 100px;
}
.problem_content_img {
  max-width: 500px;
}
@media (max-width: 768px) {
  .problem_content_img {
    max-width: none;
    width: 80%;
  }
}
.problem_content_list_wrapper {
  background: #F1F6F7;
  width: 100%;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 48px 20px;
  border-radius: 20px;
}
@media (max-width: 768px) {
  .problem_content_list_wrapper {
    padding: 30px 20px;
  }
}
.problem_content_list {
  list-style: none;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: fit-content;
  gap: 16px;
}
@media (max-width: 768px) {
  .problem_content_list {
    grid-template-columns: 1fr;
  }
}
.problem_content_list li {
  font-size: 20px;
  font-weight: bold;
  color: #004172;
  line-height: 1.45;
  text-indent: -1.4em;
  margin-left: 1.4em;
}
.problem_content_list li:before {
  content: "";
  background: url(../images/top/check.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 20.22px;
  display: inline-block;
  margin-right: 8px;
}
@media (max-width: 768px) {
  .problem_content_list li {
    font-size: 18px;
  }
  .problem_content_list li:before {
    width: 18px;
    height: 18px;
  }
}
.problem-solution {
  background: #E9FAFF;
  position: relative;
  padding-bottom: 100px;
  text-align: center;
}
.problem-solution:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  border-top: 42px solid #fff; /* 好みで高さ色を変えてください */
  border-left: 80px solid transparent;
  border-right: 80px solid transparent;
}
.problem-solution_title {
  padding-top: 100px;
}
.problem-solution_title span {
  margin-top: 0;
}
@media (max-width: 768px) {
  .problem-solution_title span {
    font-size: 21px;
  }
}
.problem-solution_card {
  display: flex;
  gap: 4.8611111111%;
  list-style: none;
  margin-bottom: 80px;
}
@media (max-width: 768px) {
  .problem-solution_card {
	display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.problem-solution_card li {
  background: #fff;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 32px 20px 25px;
  gap: 32px;
  width:calc(100%/3 - 4.8611111111% * 2 / 3);
}
@media (max-width: 768px) {
  .problem-solution_card li {
    flex-direction: row;
    justify-content: flex-start;
    gap: 16px;
	width:auto;
  }
  .problem-solution_card li img {
    width: 30%;
  }
}
.problem-solution_card li p {
  text-align: center;
  color: #004172;
  font-size: clamp(16px, 3.25vw, 18px);
  line-height: 1.44;
  font-weight: bold;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .problem-solution_card li p {
    font-size: clamp(16px, 3.25vw, 20px);
    width: calc(70% - 32px);
  }
}
@media (max-width: 360px) {
  .problem-solution_card li p {
    font-size: 14px;
	text-align:left;
  }
}
.problem-solution_link .btn {
  margin: auto;
}

.strengths {
  padding: 100px 0 100px;
}
.strengths_card {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.6666666667vw;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .strengths_card {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.strengths_card li {
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 24px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border-radius: 10px;
}
.strengths_card li p {
  text-align: center;
  color: #004172;
  font-size: clamp(20px, 2.25vw, 25px);
  line-height: 1.44;
  font-weight: bold;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.flow {
  background: #E9FAFF;
  padding: 100px 0;
}
.flow_card {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 1.2430555556vw;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .flow_card {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.flow_card li {
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  background: #fff;
  display: flex;
  flex-direction: column;
  padding: 17px 16px 16px;
  gap: 16px 0;
}
.flow_card li span {
  display: flex;
  flex-direction: column;
  width: 50px;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 16px;
  color: #004172;
  gap: 7.7px;
}
.flow_card li span img {
  height: 32px;
}
.flow_card li figure {
  margin: auto;
  text-align: center;
  margin: 0;
}
.flow_card li figure img {
  border-radius: 100px;
}
.flow_card li figure figcaption {
  color: #004172;
  font-size: 18px;
  font-weight: bold;
  margin-top: 16px;
}
.flow_card li p {
  font-size: 16px;
  line-height: 1.5;
}

.handle {
  padding: 100px 0;
  text-align: center;
}
@media (max-width: 768px) {
  .handle_title img, .column_title img {
    height: 25px;
  }
}
.handle_title span, .column_title span {
  font-size: 30px;
  font-weight: bold;
  display: block;
  color: #004172;
  margin-top: 32px;
  position: relative;
}
@media (max-width: 768px) {
  .handle_title span, .column_title span {
    font-size: 25px;
  }
}
.handle_title span:before, .column_title span:before {
  content: "";
  background: #00ADE3;
  width: 40px;
  height: 2px;
  position: absolute;
  left: 50%;
  top: -16px;
  translate: -50% 0;
}
.handle_slider {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.handle_slider_container {
  overflow: hidden;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 80px 0 0;
}
.handle_slider_container .slides {
  display: flex;
  width: max-content;
  animation: slide-left 60s linear infinite;
}
.handle_slider_container .slide {
  display: flex;
  align-items: center;
  gap: 0 8px;
  margin-right: 8px;
}
.handle_slider_container .slide img {
  height: 100px; 
  width: auto;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
  aspect-ratio: 230/100;
  object-fit: cover;
}
@media (max-width: 768px) {
  .handle_slider_container .slide img {
    height: 50px;
  }
}
.handle_slider_container {
  /* 左→右流れ */
}
@keyframes slide-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.reviews {
  background: #E9FAFF;
  padding: 100px 0;
  background-image: url(../images/top/reviews-bk.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: bottom;
}
.reviews_slider_container {
  margin-top: 80px;
  margin-left: calc((100vw - 1040px) / 1.3);
}
@media (max-width: 1080px) {
  .reviews_slider_container {
    margin-left: 120px;
  }
}
@media (max-width: 768px) {
  .reviews_slider_container {
    margin-left: 18px;
  }
}
.reviews_slider_container .slick-track{
  display:flex;
}

.reviews_slider_item {
  max-width: 27.7777777778vw;
  min-width: 27.7777777778vw;
  border-radius: 10px;
  background: #fff;
  padding: 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-right: 2.7777777778vw;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 10px;
  height: auto !important;
}
@media (max-width: 1080px) {
  .reviews_slider_item {
    margin-right: 30px;
    min-width: 400px;
  }
}
@media (max-width: 768px) {
  .reviews_slider_item {
    min-width: 80vw;
    max-width: auto;
    margin-right: 20px;
  }
}
.reviews_slider_item figure {
  text-align: center;
}
.reviews_slider_item figure img {
  max-width: 160px;
  margin: 0 auto 24px;
}
@media (max-width: 768px) {
  .reviews_slider_item figure img {
    max-width: 120px;
  }
}
.reviews_slider_item figure figcaption {
  color: #004172;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 24px;
}

.service {
  padding: 100px 0 0;
}
.service_card {
  margin-top: 80px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 768px) {
  .service_card {
    grid-template-columns: 1fr;
  }
}
.service_card_item {
  height: 22.5277777778vw;
  min-height: 300px;
  position: relative;
  overflow: hidden;
}
.service_card_item img {
  position: absolute;
  width: auto;
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 0.3s ease;
}
.service_card_item .text {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 20px;
}
.service_card_item .text p {
  font-size: 40px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 2px;
}
@media (hover: none) {
  .service_card_item:active img {
    transform: scale(1.2);
    filter: brightness(1.5);
  }
  .service_card_item:active .service_card_btn:before {
    transform: translateX(6px);
    filter: brightness(90%);
  }
}
@media (hover: hover) {
  .service_card_item:hover img {
    transform: scale(1.2);
    filter: brightness(1.5);
  }
  .service_card_item:hover .service_card_btn:before {
    transform: translateX(6px);
    filter: brightness(90%);
  }
}

.faq {
  padding: 100px 0;
}
.faq_list {
  margin-top: 80px;
}
.faq_list_item {
  background: #FBFBFB;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 5px;
  position: relative;
}
.faq_list_item:before {
  content: "";
  position: absolute;
  top: 50px;
  right: 2.2222222222vw;
  width: 32px;
  height: 2px;
  background: inherit;
  border-radius: inherit;
  transform: rotate(90deg);
  background: #004172;
}
@media (max-width: 768px) {
  .faq_list_item:before {
    right: 18px;
    width: 16px;
    top: 33px;
  }
}
.faq_list_item:before {
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq_list_item:after {
  content: "";
  position: absolute;
  top: 50px;
  right: 2.2222222222vw;
  width: 32px;
  height: 2px;
  background: inherit;
  border-radius: inherit;
  background: #004172;
}
@media (max-width: 768px) {
  .faq_list_item:after {
    right: 18px;
    width: 16px;
    top: 33px;
  }
}
.faq_list_item.is-open:before {
  transform: rotate(0deg);
}
.faq_list_item + dl {
  margin-top: 32px;
}
.faq_list_item dt {
  padding: 32px 2.7777777778vw 0;
}
.faq_list_item dt p {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.44;
  color: #004172;
  padding-bottom: 32px;
}
@media (max-width: 768px) {
  .faq_list_item dt p {
    font-size: 18px;
  }
}
.faq_list_item dt p:before {
  content: "Q";
  font-size: 30px;
  margin-right: 24px;
}
@media (max-width: 768px) {
  .faq_list_item dt p:before {
    font-size: 20px;
    margin-right: 5px;
  }
}
@media (max-width: 768px) {
  .faq_list_item dt {
    padding: 20px 40px 0 20px;
  }
}
.faq_list_item dd {
  height: 0;
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.faq_list_item dd p {
  padding: 0 2.7777777778vw 32px;
  font-size: 16px;
  line-height: 1.5;
  text-indent: -2.8em;
  margin-left: 2.8em;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .faq_list_item dd p {
    text-indent: -1.6em;
    margin-left: 1.6em;
    padding: 0 40px 20px 20px;
  }
}
.faq_list_item dd p:before {
  content: "A";
  font-size: 30px;
  margin-right: 24px;
  color: #8B8B8B;
  line-height: 1.4666666667;
}
@media (max-width: 768px) {
  .faq_list_item dd p:before {
    font-size: 20px;
    margin-right: 8px;
  }
}

.topix {
  padding: 100px 0;
  background: #E9FAFF;
}
.topix_list {
  margin: 80px 0;
}
.topix_list_item {
  display: flex;
  gap: 2.0833333333vw;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #000;
}
@media (max-width: 768px) {
  .topix_list_item {
    gap: 20px;
    flex-wrap: wrap;
  }
}
.topix_list_item time {
  font-weight: bold;
}
.topix_list_item span {
  min-width: 160px;
  background: #5CC775;
  display: inline-block;
  border-radius: 5px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  padding: 8px 0;
}
@media (max-width: 768px) {
  .topix_list_item p {
    width: 100%;
  }
}
.topix_link .btn {
  margin: auto;
}

.column {
  padding: 100px 0;
  text-align: center;
}
.column_list {
  margin: 80px 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1.7361111111vw;
}
@media (max-width: 768px) {
  .column_list {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.column_list_item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}
.column_list_item img {
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: 8px;
  aspect-ratio: 3/2;
  object-fit: cover;
  transition: all 0.3s ease;
}
.column_list_item .meta {
  display: flex;
  gap: 8px;
  align-items: center;
}
.column_list_item .meta time {
  font-weight: bold;
}
.column_list_item .meta span {
  min-width: 160px;
  background: #03BAFD;
  display: inline-block;
  border-radius: 5px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  padding: 4px 0;
}
.column_list_item p {
  text-align: left;
  color: #004172;
  font-weight: bold;
  line-height: 1.5;
}
@media (hover: none) {
  .column_list_item:active img {
    filter: brightness(0.9);
  }
}
@media (hover: hover) {
  .column_list_item:hover img {
    filter: brightness(0.9);
  }
}
.column_link .btn {
  margin: auto;
}

.cta {
  padding: 100px 0;
  background: url(../images/top/cta.jpg) no-repeat;
  background-size: cover;
  text-align: center;
}
.cta_bottom {
  padding: 100px 0;
  background: url(/wp-content/uploads/2026/04/asset_bg.png) no-repeat;
  background-size: cover;
  text-align: center;
}
.cta_title {
  font-size: 40px;
  color: #004172;
  font-weight: bold;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  .cta_title {
    font-size: 24px;
  }
}
.cta_link {
  display: flex;
  justify-content: center;
  gap: 3.3333333333vw;
}
@media (max-width: 768px) {
  .cta_link {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
}

.footer {
  background: #284A68 !important;
}
.footer .footer_top {
  display: flex;
  padding: 97px 0 48px;
  justify-content: space-between;
}
@media (max-width: 980px) {
  .footer .footer_top {
    flex-direction: column;
    align-items: center;
  }
}
.footer .footer_bottom {
  background: #284A68 !important;
  margin-top: 0;
}
@media (max-width: 768px) {
  .footer_address {
    width: fit-content;
  }
}
.footer_address_title {
  color: #fff;
  margin-bottom: 26px;
}
.footer_address_title span {
  font-size: 28px;
  font-weight: 500;
  position: relative;
  padding-left: 96px;
}
@media (max-width: 768px) {
  .footer_address_title span {
    font-size: 24px;
  }
}
.footer_address_title span:before {
  content: "";
  width: 80px;
  height: 1px;
  background: #fff;
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  translate: 0 -50%;
}
.footer_address_title p {
  font-weight: 600;
  font-size: 38px;
}
@media (max-width: 768px) {
  .footer_address_title p {
    font-size: 32px;
  }
}
.footer_address_link, .footer_address_text {
  font-size: 23px;
  font-weight: 500;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 18px;
}
@media (max-width: 768px) {
  .footer_address_link, .footer_address_text {
    font-size: 19px;
  }
}
.footer_address_link:after {
  content: "";
  background: url(../images/top/link.svg) no-repeat;
  background-size: contain;
  width: 24px;
  height: 24px;
  display: inline-block;
}
.footer .footer_navi {
  font-size: 20px;
  padding-right: 46px;
  margin: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (max-width: 768px) {
  .footer .footer_navi {
    padding: 0;
    margin: 30px 0 0;
  }
}
.footer .footer_navi .section-navi {
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 22px;
  margin-bottom: 40px;
}
.footer .footer_navi .section-navi .navi_current .navi_current_head {
  font-weight: normal;
  color: #fff;
}
@media (max-width: 768px) {
  .footer .footer_navi .section-navi {
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin: 20px 0;
    font-size: 16px;
  }
}
.footer_other {
  display: block;
}
.footer_other ul {
  width: 100%;
  list-style: none;
  display: flex;
  gap: 40px;
  justify-content: center;
  padding-top: 40px;
  margin-bottom: 26.2px;
  border-top: 1px solid #fff;
}
.footer_other ul a {
  color: #fff;
}
@media (max-width: 768px) {
  .footer_other ul {
    gap: 20px;
    flex-wrap: wrap;
  }
}
.footer_other p {
  width: 100%;
  color: #fff;
  font-size: 13px;
}
@media (max-width: 768px) {
  .footer_other p {
    font-size: 14px;
  }
}
.footer .footer_copyright {
  text-align: center;
}

/*各アニメーション*/
.fadeLeftTrigger {
  opacity: 0;
  transform: translateX(-50px);
  transition: all 0.6s ease;
}

.fadeLeftTrigger.is-fadein-left {
  opacity: 1;
  transform: translateX(0);
}

.js-anim-left,
.js-anim-up {
  opacity: 0;
  transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 左→右 */
.js-anim-left {
  transform: translateX(-40px);
}

/* 下→上 */
.js-anim-up {
  transform: translateY(40px);
}

/* 表示状態 */
.is-animated {
  opacity: 1;
  transform: translate(0, 0);
}

.sp {
  display: none;
}
@media (max-width: 768px) {
  .sp {
    display: block;
  }
}/*# sourceMappingURL=main.css.map */