.inner {
  margin: 0 30px;
}
@media screen and (min-width: 768px) {
  .inner {
    width: 90%;
    max-width: 1050px;
    margin: 0 auto;
  }
}

.h2 {
  margin-bottom: 30px;
  line-height: 1.25;
  font-weight: 600;
}
.h2 span {
  display: inline-block;
  margin-bottom: 5px;
  color: #9eafbc;
  font-family: "Noto Serif", serif;
  font-size: 14px;
  font-weight: 700;
}
.h2 p {
  font-size: 24px;
  font-family: "Noto Serif JP", serif;
  color: #262a3e;
}
.h2 p:has(span) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
}
@media (min-width: 768px) {
  .h2 p:has(span) {
    gap: 20px;
  }
}
.h2 p > span {
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.2rem;
  font-weight: 400;
  color: #000;
}
@media (min-width: 768px) {
  .h2 p > span {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  .h2 {
    margin-bottom: 40px;
  }
  .h2 span {
    font-size: 20px;
  }
  .h2 p {
    font-size: 32px;
  }
}
.h2--white p {
  color: #fff;
}

.h3 {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .h3 {
    font-size: 20px;
    margin-bottom: 30px;
  }
}
.h3 img {
  width: 10px;
  height: 10px;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .h3 img {
    width: 15px;
    height: 15px;
  }
}

@media screen and (min-width: 768px) {
  .br--sp {
    display: none;
  }
}

.br--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .br--pc {
    display: block;
  }
}

.bold {
  font-weight: 600;
}

.btn {
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  padding: 20px 30px;
  color: #fff;
}
.btn div {
  display: flex;
  justify-content: center;
  align-items: center;
}
.btn p {
  margin-right: 10px;
}
.btn--white {
  background: #fff;
  color: #262a3e;
}
.btn--navy {
  background: #262a3e;
}
.btn--blue {
  background: #1c7abe;
}
.btn--gold {
  background: #c19719;
}
.btn--green {
  background: #06c755;
}
.btn--gray {
  background: #b2b2b2;
}
.btn--330 {
  display: block;
  max-width: 330px;
}
.btn--330 div {
  justify-content: space-between;
}
.btn--small {
  font-size: 14px;
  padding: 10px 20px;
}
.btn--small img {
  width: 15px;
  height: 15px;
}
.btn--free {
  display: block;
  width: 100%;
}

.global-contact__us {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .global-contact__us {
    margin-bottom: 100px;
  }
}
.global-contact__problem {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .global-contact__problem {
    margin-bottom: 100px;
  }
}
.service__mv {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .service__mv {
    margin-bottom: 100px;
  }
}
.service__mv__inner {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .service__mv__inner {
    box-shadow: 0px 0px 13px 0px #eaf0ff;
  }
}
.service__mv__image--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .service__mv__image--pc {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .service__mv__image--sp {
    display: none;
  }
}
.service__mv__cta {
  text-align: center;
  padding: 20px 15px;
  background: #262a3e;
  color: #fff;
}
.service__mv__cta .text {
  margin-bottom: 30px;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .service__mv__cta .text {
    margin: 0;
  }
}
@media screen and (min-width: 768px) {
  .service__mv__cta {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
  }
}
.service__problem {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .service__problem {
    margin-bottom: 100px;
  }
}
.service__problem__box {
  background: #f0f6fa;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 40px;
}
.service__problem__box ul {
  padding: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.service__problem__box ul li {
  display: flex;
  align-items: center;
}
.service__problem__box ul li img {
  width: 15px;
  height: 15px;
  margin-right: 5px;
}
@media screen and (min-width: 768px) {
  .service__problem__box ul li img {
    width: 20px;
    height: 20px;
  }
}
.service__problem__box ul li p {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .service__problem__box ul li p {
    font-size: 20px;
  }
}
.service__problem__solution {
  padding: 10px;
  background: #1c7abe;
  color: #fff;
  line-height: 1.25;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .service__problem__solution {
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) {
  .service__problem__info {
    display: flex;
    align-items: center;
    gap: 40px;
  }
}
@media screen and (min-width: 768px) {
  .service__problem__info div {
    width: 72%;
  }
}
.service__problem__info figure {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .service__problem__info figure {
    width: 25%;
  }
}
.service__problem__info h4 {
  line-height: 1.25;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  color: #1c7abe;
}
@media screen and (min-width: 768px) {
  .service__problem__info h4 {
    font-size: 24px;
  }
}
.service__problem__info p {
  margin-top: 20px;
}
.service__merit {
  padding: 80px 0;
  background: linear-gradient(to bottom, #f0f6fa, #fff);
}
@media screen and (min-width: 768px) {
  .service__merit {
    padding: 100px 0;
  }
}
.service__merit .box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 2%;
}
.service__merit .box article {
  width: 100%;
  margin-bottom: 30px;
  padding: 20px;
  background: #fff;
  text-align: center;
  box-shadow: 0px 0px 13px 0px #eaf0ff;
}
@media screen and (min-width: 768px) {
  .service__merit .box article {
    width: 32%;
    flex-wrap: nowrap;
  }
}
.service__merit .box article img {
  width: 160px;
  height: 90px;
  margin-bottom: 10px;
}
.service__cta figure {
  text-align: center;
}
.service__cta__image {
  margin: 0 auto 40px;
}
.service__cta__image--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .service__cta__image--pc {
    display: block;
    width: 800px;
  }
}
@media screen and (min-width: 768px) {
  .service__cta__image--sp {
    display: none;
    max-width: 330px;
  }
}
.service__cta__area {
  margin-bottom: 80px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
  padding: 40px 30px;
  background: #262a3e;
}
@media screen and (min-width: 768px) {
  .service__cta__area {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 768px) {
  .service__cta__area {
    width: 90%;
    max-width: 1050px;
    margin: 0 auto 100px;
    padding: 40px;
  }
}
.service__cta__area h2 {
  margin-bottom: 20px;
}
.service__cta__area .text {
  color: #fff;
}
.service__flow {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .service__flow {
    margin-bottom: 100px;
  }
}
.service__flow ul li .title {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  padding: 15px 20px;
  background: #f0f6fa;
  font-family: "Noto Serif JP", serif;
}
.service__flow ul li .title--black {
  background: #262a3e;
  color: #fff;
}
.service__flow ul li .title--black span {
  color: #fbf7ea;
}
.service__flow ul li .title div {
  display: flex;
  align-items: center;
}
.service__flow ul li .title div p {
  font-size: 18px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .service__flow ul li .title div p {
    font-size: 20px;
  }
}
.service__flow ul li .title img {
  margin-right: 10px;
}
.service__flow ul li .title--mach {
  width: 135px;
  padding: 5px 10px;
  color: #fff;
  background: #1c7abe;
  text-align: center;
}
.service__flow ul li .info {
  margin: 20px 30px;
}
.service__flow ul li .col {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}
.service__flow ul li .col figure {
  width: 300px;
}
.service__flow ul li .col div p {
  margin-bottom: 10px;
}
.service__flow ul li .col div span {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 600;
  color: #1c7abe;
}
@media screen and (min-width: 768px) {
  .service__flow ul li .col div span {
    font-size: 24px;
  }
}
.service__flow ul li .arrow {
  display: block;
  width: 80px;
  height: 25px;
  margin: 20px auto;
}
.service__other {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .service__other {
    margin-bottom: 100px;
  }
}
.service__other__inner {
  max-width: 800px;
  padding: 30px;
  background: #fff;
  box-shadow: 0px 0px 13px 0px #eaf0ff;
}
@media screen and (min-width: 768px) {
  .service__other__inner {
    padding: 50px;
  }
}
.service__other__inner div {
  margin-bottom: 20px;
}
.service__other h3 {
  justify-content: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #1c7abe;
}
.service__other h4 {
  margin-bottom: 15px;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  color: #1c7abe;
}
.service__other .small {
  font-size: 14px;
}
.service__other ul li {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.service__other ul li img {
  width: 10px;
  height: 10px;
  margin-right: 5px;
}
.service__list {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .service__list {
    margin-bottom: 100px;
  }
}
.service__list__inner {
  max-width: 800px;
  padding: 30px;
  background: #f0f6fa;
}
@media screen and (min-width: 768px) {
  .service__list__inner {
    padding: 50px;
  }
}
.service__list h3 {
  justify-content: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #1c7abe;
}
.service__list ul {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 10px;
}
.service__list ul li {
  display: flex;
  align-items: center;
  padding: 5px 10px;
  background: #fff;
}
.service__list ul li img {
  width: 10px;
  height: 10px;
  margin-right: 5px;
}
.service__info {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .service__info {
    margin-bottom: 100px;
  }
}
.service__info__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  max-width: 1050px;
  padding: 30px;
  margin: 0 auto;
  background: #1c7abe;
}
.service__info__inner figure {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .service__info__inner figure {
    width: 49%;
  }
}
.service__menu {
  padding: 80px 0;
  background: linear-gradient(to bottom, #f0f6fa, #fff);
}
@media screen and (min-width: 768px) {
  .service__menu {
    padding: 100px 0;
  }
}
.service__menu .small {
  margin-bottom: 30px;
}
.service__menu .box {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: flex-start;
  gap: 2%;
}
.service__menu .box article {
  width: 100%;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .service__menu .box article {
    width: 32%;
  }
}
.service__menu .box article .content {
  margin-bottom: 30px;
  font-family: "Noto Serif JP", serif;
  box-shadow: 0px 0px 13px 0px #eaf0ff;
}
.service__menu .box article .content h3 {
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #1c7abe;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  text-align: center;
}
.service__menu .box article .content .data {
  background: #fff;
}
.service__menu .box article .content .data .price {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 20px;
  border-bottom: 1px solid #d1d1d1;
}
.service__menu .box article .content .data .price p {
  text-align: center;
}
.service__menu .box article .content .data .price p span {
  font-size: 20px;
  line-height: 0;
}
.service__menu .box article .content .data .price .nom {
  font-size: 30px;
  font-weight: bold;
  color: #1c7abe;
}
.service__menu .box article .content .ritsu {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  font-size: 20px;
  font-weight: 600;
}
.service__menu .box article .info {
  margin-bottom: 15px;
}
.service__menu .box article .info span {
  display: inline-block;
  padding: 2px 5px;
  margin-right: 5px;
  background: #1c7abe;
  color: #fff;
  font-size: 12px;
}
.service__flow--grant {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .service__flow--grant {
    margin-bottom: 100px;
  }
}
.service__flow--grant__inner {
  max-width: 800px;
}
.service__flow--grant .text {
  margin-bottom: 30px;
}
.service__flow--grant figure {
  overflow: scroll;
}
.service__flow--grant .img {
  max-width: 800px;
}
.service__reason {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .service__reason {
    margin-bottom: 100px;
  }
}
.service__reason__inner {
  max-width: 800px;
}
.service__reason ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
.service__reason ul li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 130px;
  padding: 20px;
  background: #fff;
  border: 1px solid #1c7abe;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .service__reason ul li {
    width: 48%;
  }
}
.service__reason ul li h4 {
  font-family: "Noto Serif JP", serif;
  color: #1c7abe;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .service__reason ul li h4 {
    font-size: 20px;
  }
}
.service__reason--loan {
  padding: 80px 0;
  margin: 0;
  background: linear-gradient(to bottom, #f0f6fa, #fff);
}
@media screen and (min-width: 768px) {
  .service__reason--loan {
    padding: 100px 0;
  }
}
.service__reason--loan ul li {
  min-height: 120px;
}
@media screen and (min-width: 768px) {
  .service__reason--loan ul li {
    min-height: 150px;
  }
}
.service__loan-info {
  margin-bottom: 80px;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .service__loan-info {
    margin-bottom: 100px;
  }
}
.service__loan-info__inner {
  max-width: 800px;
}
.service__loan-info .normal {
  font-size: 20px;
  margin-bottom: 20px;
}
.service__loan-info img {
  width: 80px;
  height: 25px;
  margin-bottom: 15px;
}
.service__loan-info .blue {
  margin-bottom: 15px;
  padding: 15px;
  background: #1c7abe;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
}
.service__loan-info .blue-light {
  margin-bottom: 15px;
  padding: 15px;
  background: #f0f6fa;
  font-size: 20px;
}
.service__form {
  padding: 80px 0;
  background-color: #f0f6fa;
}
.service__form .wpcf7 {
  margin-top: 60px;
}
.service__form .wpcf7 input[type=text],
.service__form .wpcf7 input[type=tel],
.service__form .wpcf7 input[type=email],
.service__form .wpcf7 textarea {
  background-color: #fff;
}

.other {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .other {
    margin-bottom: 100px;
  }
}
.other .content {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 4%;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .other .content {
    flex-direction: row;
  }
}
.other .content article {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .other .content article {
    width: 48%;
  }
}
.other .content figure {
  margin-bottom: 20px;
}
.other .btnarea {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .other .btn--small {
    display: none;
  }
}
.other .btn--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .other .btn--pc {
    display: inline-block;
  }
}

.single__wrapper {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .single__wrapper {
    margin-bottom: 100px;
  }
}
.single__inner {
  max-width: 800px;
}
.single__main {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .single__main {
    margin-bottom: 70px;
  }
}
.single__main figure {
  margin-bottom: 40px;
}
.single__main .cate {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .single__main .cate {
    margin-bottom: 15px;
  }
}
.single__main .cate li a {
  padding: 2px 5px;
  font-size: 12px;
  font-weight: 600;
}
.single__main .cate li .cate--blue {
  color: #1c7abe;
  border: 1px solid #1c7abe;
}
.single__main .cate li .cate--gold {
  color: #c19719;
  border: 1px solid #c19719;
}
.single__main time {
  display: block;
  margin-bottom: 10px;
  font-size: 1.2rem;
}
.single__main h1 {
  font-size: 2.4rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .single__main h1 {
    font-size: 3rem;
  }
}
.single__content {
  padding-bottom: 20px;
  margin-bottom: 60px;
  border-bottom: 1px solid #d1d1d1;
}
.single__content section {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .single__content section {
    margin-bottom: 60px;
  }
}
.single__content h2 {
  padding-bottom: 20px;
  margin-bottom: 30px;
  font-family: "Noto Serif JP", serif;
  border-bottom: 1px solid #262a3e;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .single__content h2 {
    font-size: 30px;
  }
}
.single__content h3 {
  margin-bottom: 30px;
  font-family: "Noto Serif JP", serif;
  font-size: 2rem;
}
@media (min-width: 768px) {
  .single__content h3 {
    font-size: 2.4rem;
  }
}
.single__content h4 {
  margin-bottom: 30px;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
}
@media (min-width: 768px) {
  .single__content h4 {
    font-size: 2rem;
  }
}
.single__content h5 {
  margin-bottom: 30px;
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .single__content h5 {
    font-size: 1.8rem;
  }
}
.single__content .text {
  margin-bottom: 30px;
}
.single__content ul,
.single__content ol {
  margin-bottom: 30px;
  font-weight: 400;
}
.single__content ul li,
.single__content ol li {
  margin-left: 20px;
  margin-bottom: 15px;
  list-style-type: disc;
  letter-spacing: 0.05em;
}
.single__content .btn {
  margin: 0 auto;
}
.single__content p {
  margin-bottom: 30px;
  line-height: 2;
  letter-spacing: 0.05em;
  font-size: 1.4rem;
  font-weight: 400;
}
@media (min-width: 768px) {
  .single__content p {
    font-size: 1.6rem;
  }
}
.single__content hr {
  margin-bottom: 30px;
  border-top: 1px solid #d1d1d1;
}
.single__content figure {
  margin-bottom: 30px;
}
.single__content blockquote {
  margin-bottom: 30px;
}
.single__content blockquote > figure {
  margin-bottom: 0;
}
.single__btnarea {
  text-align: center;
}
.single__btnarea .single__detail-btn-wrap {
  width: min(100%, 800px);
  margin: 0 auto 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #d1d1d1;
}
.single__btnarea .single__detail-btn-wrap .single__detail-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(100%, 330px);
  margin: auto;
  padding: 20px 25px;
  line-height: 1.25;
  background: #21ba4f;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s ease-in-out;
}
.single__btnarea .single__detail-btn-wrap .single__detail-btn:hover {
  opacity: 0.7;
}
@container (min-width: 1050px) {
  .single__btnarea .single__detail-btn-wrap .single__detail-btn {
    padding: 15px 25px;
    line-height: 1.5;
  }
}
.single__btnarea .single__detail-btn-wrap .single__detail-btn-text {
  font-size: 2rem;
  font-weight: 700;
}
@container (min-width: 1050px) {
  .single__btnarea .single__detail-btn-wrap .single__detail-btn-text {
    font-size: 1.8rem;
  }
}
.single__btnarea .single__detail-btn-wrap .single__detail-btn-icon {
  width: 20px;
  height: 20px;
}
.single__btnarea .single__nav {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: min(100%, 800px);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .single__btnarea .single__nav {
    padding: 0 25px;
  }
}
@media (min-width: 768px) {
  .single__btnarea .single__nav .single__nav-prev {
    min-width: 178px;
  }
}
.single__btnarea .single__nav .single__nav-prev > a {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding: 20px 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #262a3e;
  background-color: #fff;
  transition: opacity 0.2s ease-in-out;
}
.single__btnarea .single__nav .single__nav-prev > a:hover {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .single__btnarea .single__nav .single__nav-prev > a {
    padding: 20px 30px;
  }
}
.single__btnarea .single__nav .single__nav-prev > a .single__detail-btn-icon {
  margin-right: 10px;
}
@media (max-width: 767px) {
  .single__btnarea .single__nav .single__nav-prev {
    order: 2;
    width: calc(50% - 15px);
  }
}
.single__btnarea .single__nav .single__nav-archive > a {
  display: inline-block;
  width: min(100%, 330px);
  margin: 0 auto;
  transition: opacity 0.2s ease-in-out;
}
.single__btnarea .single__nav .single__nav-archive > a:hover {
  opacity: 0.7;
}
@media (max-width: 767px) {
  .single__btnarea .single__nav .single__nav-archive {
    order: 1;
    width: 100%;
    margin-bottom: 30px;
  }
}
@media (min-width: 768px) {
  .single__btnarea .single__nav .single__nav-next {
    min-width: 178px;
  }
}
.single__btnarea .single__nav .single__nav-next > a {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  padding: 20px 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #262a3e;
  background-color: #fff;
  transition: opacity 0.2s ease-in-out;
}
.single__btnarea .single__nav .single__nav-next > a:hover {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .single__btnarea .single__nav .single__nav-next > a {
    padding: 20px 30px;
  }
}
.single__btnarea .single__nav .single__nav-next > a > .single__detail-btn-icon {
  margin-left: 10px;
}
@media (max-width: 767px) {
  .single__btnarea .single__nav .single__nav-next {
    order: 3;
    width: calc(50% - 15px);
  }
}

.com-about__us .top {
  margin-bottom: 80px;
}
.com-about__us .top div {
  max-width: 800px;
  margin: 0 auto;
}
.com-about__us .top p {
  margin-bottom: 20px;
}
.com-about__us .top p:last-child {
  margin-bottom: 40px;
}
.com-about__us .top .title {
  font-size: 2.4rem;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .com-about__us .top .title {
    font-size: 3.2rem;
  }
}
.com-about__us .top .title .gold {
  color: #c19719;
}
.com-about__us .top .title .gold .small {
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .com-about__us .top .title .gold .small {
    font-size: 2rem;
  }
}
.com-about__us .top .info {
  font-size: 1.4rem;
  font-weight: 400;
}
@media (min-width: 768px) {
  .com-about__us .top .info {
    font-size: 1.6rem;
  }
}
.com-about__us .top .info.blue {
  font-size: 1.6rem;
  color: #1c7abe;
}
.com-about__us .top .blue {
  color: #1c7abe;
}
.com-about__us .top .com-about__us__image--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .com-about__us .top .com-about__us__image--pc {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .com-about__us .top .com-about__us__image--sp {
    display: none;
  }
}
.com-about__us .bottom {
  padding: 80px 0;
  background: #f0f6fa;
}
.com-about__us .bottom .inner {
  max-width: 800px;
  margin: 0 30px;
}
@media screen and (min-width: 768px) {
  .com-about__us .bottom .inner {
    margin: 0 auto;
  }
}
.com-about__us .bottom ul li {
  margin-bottom: 20px;
}
.com-about__us .bottom ul li:last-child {
  margin-bottom: 0;
}
.com-about__us .bottom ul li .title {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 5px 20px;
  color: #fff;
  background: #9eafbc;
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .com-about__us .bottom ul li .title {
    padding: 10px 30px;
    font-size: 20px;
  }
}
.com-about__us .bottom ul li .title img {
  width: 15px;
  height: 15px;
}
.com-about__us .bottom ul li .info {
  background: #fff;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .com-about__us .bottom ul li .info {
    padding: 30px;
  }
}
.com-about__us .bottom ul li .info .blue {
  margin-bottom: 15px;
  color: #1c7abe;
}
.com-about__solution {
  margin-bottom: 80px;
  padding: 40px 30px;
  background: #1c7abe;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .com-about__solution {
    margin-bottom: 100px;
  }
}
@media screen and (min-width: 768px) {
  .com-about__solution {
    padding: 60px 30px;
    font-size: 24px;
  }
}
.com-about__point {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .com-about__point {
    margin-bottom: 100px;
  }
}
.com-about__point ul {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 2%;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .com-about__point ul {
    flex-wrap: nowrap;
  }
}
.com-about__point ul li {
  width: 100%;
  height: 320px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 15px;
  margin-bottom: 30px;
  background: #1c7abe;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .com-about__point ul li {
    width: 32%;
    margin-bottom: 0;
  }
}
.com-about__point ul li img {
  width: 150px;
}
.com-about__point .text {
  max-width: 800px;
  margin: 0 auto 30px;
}
.com-about__point .text:last-child {
  margin-bottom: 0;
}

.com-admission {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .com-admission {
    margin-bottom: 100px;
  }
}
.com-admission__box {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 0;
  background: #f0f6fa;
}
@media screen and (min-width: 768px) {
  .com-admission__box {
    padding: 100px 0;
  }
}
.com-admission figure {
  text-align: center;
}
.com-admission__about p {
  margin-bottom: 20px;
}
.com-admission__about .blue-gray {
  padding: 10px;
  margin-bottom: 40px;
  color: #fff;
  background: #9eafbc;
}
@media screen and (min-width: 768px) {
  .com-admission__about .blue-gray {
    text-align-last: center;
  }
}
.com-admission article {
  margin-bottom: 40px;
  padding-top: 40px;
  background: #fff;
}
.com-admission article:last-child {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .com-admission article {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-bottom: 60px;
  }
}
.com-admission article .name {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .com-admission article .name {
    margin-bottom: 60px;
  }
}
.com-admission article .name h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .com-admission article .name h3 {
    font-size: 36px;
  }
}
.com-admission article .name h3 span {
  display: inline-block;
  padding: 2px 5px;
  margin-right: 10px;
  color: #fff;
  background: #262a3e;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .com-admission article .name h3 span {
    font-size: 30px;
  }
}
.com-admission article .name p {
  margin-top: 20px;
  font-weight: 600;
  color: #1c7abe;
  font-size: 14px;
}
.com-admission article .info h4 {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 600;
}
.com-admission article .price {
  text-align: center;
}
.com-admission article .price h4 {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #d1d1d1;
}
.com-admission article .price p {
  font-size: 20px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #d1d1d1;
}
.com-admission article .price p span {
  display: inline-block;
  margin-left: 10px;
  font-size: 24px;
  font-weight: 600;
}
.com-admission article .price p span .tax {
  font-size: 18px;
  margin-left: 0;
}
.com-admission article .merit {
  text-align: center;
}
.com-admission article .merit h4 {
  text-align: center;
  margin-bottom: 20px;
}
.com-admission article .merit ul {
  margin: 0 20px 30px;
}
@media screen and (min-width: 768px) {
  .com-admission article .merit ul {
    display: inline-block;
  }
}
.com-admission article .merit ul li {
  text-align-last: left;
  list-style-type: disc;
  margin-left: 20px;
  font-weight: 400;
}
.com-admission article .merit ul li a {
  text-decoration: underline;
}
.com-admission article .btnarea {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .com-admission article .btnarea {
    width: 330px;
    margin: 0 auto;
  }
}
.com-admission .care {
  text-align: left;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .com-admission .care {
    text-align: center;
  }
}
.com-admission__btnarea {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.com-admission__btnarea a {
  width: 330px;
}

.pro-admission {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .pro-admission {
    margin-bottom: 100px;
  }
}
.pro-admission .wpcf7 {
  margin-top: 60px;
}
.pro-admission__box {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 0;
  background: #fbf7ea;
}
@media screen and (min-width: 768px) {
  .pro-admission__box {
    padding: 100px 0;
  }
}
.pro-admission figure {
  text-align: center;
}
.pro-admission__about p {
  margin-bottom: 20px;
}
.pro-admission__about .blue-gray {
  margin-bottom: 40px;
  padding: 10px;
  font-size: 1.4rem;
  color: #fff;
  background: #9eafbc;
}
@container (min-width: 1050px) {
  .pro-admission__about .blue-gray {
    font-size: 1.6rem;
  }
}
.pro-admission__about .blue-gray span {
  display: block;
  width: fit-content;
  margin: 0 auto;
}
.pro-admission article {
  margin-bottom: 20px;
  padding-top: 40px;
  background: #fff;
}
.pro-admission article:last-child {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .pro-admission article {
    padding-top: 60px;
    padding-bottom: 60px;
    margin-bottom: 40px;
  }
}
.pro-admission article .name {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .pro-admission article .name {
    margin-bottom: 60px;
  }
}
.pro-admission article .name h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .pro-admission article .name h3 {
    font-size: 36px;
  }
}
.pro-admission article .name h3 span {
  display: inline-block;
  padding: 2px 5px;
  margin-right: 10px;
  color: #fff;
  background: #262a3e;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .pro-admission article .name h3 span {
    font-size: 30px;
  }
}
.pro-admission article .name p {
  margin-top: 20px;
  font-weight: 600;
  color: #c19719;
  font-size: 14px;
}
.pro-admission article .info h4 {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 600;
}
.pro-admission article .price {
  text-align: center;
}
.pro-admission article .price h4 {
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #d1d1d1;
}
.pro-admission article .price p {
  font-size: 20px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #d1d1d1;
}
.pro-admission article .price p span {
  display: inline-block;
  margin-left: 10px;
  font-size: 24px;
  font-weight: 600;
}
.pro-admission article .price p span .tax {
  font-size: 18px;
  margin-left: 0;
}
.pro-admission article .merit {
  text-align: center;
}
.pro-admission article .merit h4 {
  text-align: center;
  margin-bottom: 20px;
}
.pro-admission article .merit ul {
  margin: 0 20px 30px;
}
@media screen and (min-width: 768px) {
  .pro-admission article .merit ul {
    display: inline-block;
  }
}
.pro-admission article .merit ul li {
  text-align-last: left;
  list-style-type: disc;
  margin-left: 20px;
}
.pro-admission article .merit ul li a {
  text-decoration: underline;
}
.pro-admission article .btnarea {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .pro-admission article .btnarea {
    width: 330px;
    margin: 0 auto;
  }
}
.pro-admission .care {
  text-align: left;
  margin-bottom: 60px;
}
@media screen and (min-width: 768px) {
  .pro-admission .care {
    text-align: center;
  }
}
.pro-admission .care:last-child {
  margin-bottom: 0;
}
.pro-admission__btnarea {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.pro-admission__btnarea a {
  width: 330px;
}

.pro-about__us {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .pro-about__us {
    margin-bottom: 100px;
  }
}
.pro-about__problem {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .pro-about__problem {
    margin-bottom: 100px;
  }
}
.pro-about__problem__box {
  background: #fbf7ea;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 60px;
}
.pro-about__problem__box ul {
  padding: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.pro-about__problem__box ul li {
  display: flex;
  align-items: center;
}
.pro-about__problem__box ul li img {
  width: 15px;
  height: 15px;
  margin-right: 5px;
}
@media screen and (min-width: 768px) {
  .pro-about__problem__box ul li img {
    width: 20px;
    height: 20px;
  }
}
.pro-about__problem__box ul li p {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .pro-about__problem__box ul li p {
    font-size: 20px;
  }
}
.pro-about__problem__solution {
  padding: 10px;
  background: #c19719;
  color: #fff;
  line-height: 1.25;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .pro-about__problem__solution {
    font-size: 24px;
  }
}
.pro-about__problem figure {
  text-align: center;
}
.pro-about__problem figure img {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .pro-about__problem__info {
    display: flex;
    align-items: center;
    gap: 40px;
  }
}
@media screen and (min-width: 768px) {
  .pro-about__problem__info div {
    width: 72%;
  }
}
.pro-about__problem__info figure {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .pro-about__problem__info figure {
    width: 40%;
  }
}
.pro-about__problem__info h4 {
  margin-bottom: 20px;
  line-height: 1.25;
  font-size: 2.4rem;
  font-family: "Noto Serif JP", serif;
  color: #262a3e;
}
.pro-about__problem__info h4 span {
  display: inline-block;
  color: #c19719;
  font-size: 14px;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .pro-about__problem__info h4 span {
    font-size: 20px;
    margin-bottom: 10px;
  }
}
@media screen and (min-width: 768px) {
  .pro-about__problem__info h4 {
    margin-bottom: 30px;
    font-size: 3.2rem;
  }
}
.pro-about__problem__info p {
  margin-bottom: 20px;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .pro-about__problem__info p {
    margin-bottom: 0;
    font-size: 1.6rem;
  }
}
.pro-about__mechanism {
  padding: 80px 0;
  background: linear-gradient(to bottom, #fbf7ea, #fff);
}
@media screen and (min-width: 768px) {
  .pro-about__mechanism {
    padding: 100px 0;
  }
}
.pro-about__mechanism figure {
  text-align: center;
}
.pro-about__mechanism figure .image--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pro-about__mechanism figure .image--pc {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .pro-about__mechanism figure .image--sp {
    display: none;
  }
}
.pro-about__points {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .pro-about__points {
    margin-bottom: 100px;
  }
}
.pro-about__points__inner {
  max-width: 800px;
}
.pro-about__points__inner h2 > p {
  overflow-wrap: break-word;
  word-break: keep-all;
}
.pro-about__points ul li {
  margin-bottom: 20px;
}
.pro-about__points ul li:last-child {
  margin-bottom: 0;
}
.pro-about__points ul li .title {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px;
  padding: 15px 20px;
  background: #c19719;
  color: #fff;
  font-family: "Noto Serif JP", serif;
}
.pro-about__points ul li .title--black {
  background: #262a3e;
  color: #fff;
}
.pro-about__points ul li .title--black span {
  color: #fbf7ea;
}
.pro-about__points ul li .title div {
  display: flex;
  align-items: center;
}
.pro-about__points ul li .title div p {
  font-size: 18px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .pro-about__points ul li .title div p {
    font-size: 20px;
  }
}
.pro-about__points ul li .title img {
  margin-right: 10px;
}
.pro-about__points ul li .title--mach {
  width: 135px;
  padding: 5px 10px;
  color: #fff;
  background: #1c7abe;
  text-align: center;
}
.pro-about__points ul li .info {
  margin: 15px 0px 0;
}
.pro-about__points ul li .col {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 20px;
}
.pro-about__points ul li .col figure {
  width: 300px;
}
.pro-about__points ul li .col div p {
  margin-bottom: 10px;
}
.pro-about__points ul li .col div span {
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 600;
  color: #1c7abe;
}
@media screen and (min-width: 768px) {
  .pro-about__points ul li .col div span {
    font-size: 24px;
  }
}
.pro-about__points ul li .arrow {
  display: block;
  width: 80px;
  height: 25px;
  margin: 20px auto;
}
.pro-about__project {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .pro-about__project {
    margin-bottom: 100px;
  }
}
.pro-about__project figure {
  text-align: center;
}
.pro-about__project figure img {
  box-shadow: 0px 0px 10px 0px #ddd;
}
.pro-about__project figure .image--pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pro-about__project figure .image--pc {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .pro-about__project figure .image--sp {
    display: none;
  }
}

.privacy-policy {
  line-height: 2;
}
.privacy-policy h3 {
  padding-bottom: 15px;
  border-bottom: 1px solid #262a3e;
  margin-bottom: 15px;
}
.privacy-policy__text {
  margin: 10px 0 40px;
}
.privacy-policy a {
  text-decoration: underline;
  color: #1c7abe;
}
.privacy-policy ol li {
  margin-left: 20px;
}

.sec-service {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .sec-service {
    margin-bottom: 100px;
  }
}
.sec-service .sec-service__thumbnail {
  max-width: 330px;
  margin: 0 auto;
  text-align: center;
  box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.25);
}
.sec-service__bnr-list {
  margin-bottom: 30px;
}
.sec-service__bnr-item {
  width: 100%;
}
.sec-service__bnr-link {
  display: block;
  margin-bottom: 40px;
  transition: opacity 0.2s ease-in-out;
}
.sec-service__group {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .sec-service__detail {
    width: calc(100% - 330px - 40px);
  }
}
.sec-service__bnr-headline {
  letter-spacing: 0.05em;
  display: block;
  font-size: 1.17em;
  unicode-bidi: isolate;
  position: relative;
  margin-bottom: 20px;
  padding: 2.5px 40px 20px 25px;
  line-height: 1.25;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  border-bottom: 1px solid #d2dae3;
}
.sec-service__bnr-headline::before {
  position: absolute;
  top: 7.5px;
  left: 0;
  display: inline-block;
  content: "";
  width: 15px;
  height: 15px;
  margin: auto;
  background-color: #1c7abe;
  border-radius: 100%;
}
.sec-service__bnr-headline .icon-arrow--circle {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: auto;
  fill: #1c7abe;
}
@media screen and (min-width: 768px) {
  .sec-service__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
  }
}
.sec-service__item {
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .sec-service__item {
    width: calc(50% - 22.5px);
    margin-right: 45px;
  }
}
@media screen and (min-width: 1366px) {
  .sec-service__item {
    width: calc(33.33% - 30px);
  }
  .sec-service__item:nth-of-type(3n + 3) {
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1365px) {
  .sec-service__item:nth-of-type(2n + 2) {
    margin-right: 0;
  }
}
@container (min-width: 1050px) {
  .sec-service__item {
    margin-bottom: 30px;
  }
}
.sec-service__link {
  letter-spacing: 0.05em;
  position: relative;
  display: block;
  padding: 15px 30px;
  line-height: 1.25;
  font-weight: 600;
  color: #fff;
  background-color: #1c7abe;
  transition: opacity 0.2s ease-in-out;
}
@container (min-width: 1050px) {
  .sec-service__link {
    padding: 20px 30px;
    font-size: 2rem;
  }
}
.sec-service__link .icon-arrow--circle {
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: auto;
  fill: #fff;
}

.sec-case__projectinfo {
  margin-bottom: 30px;
  padding: 10px;
  background: #fbf7ea;
  text-align: center;
  font-size: 12px;
}
@media (min-width: 768px) {
  .sec-case__projectinfo {
    font-size: 16px;
  }
}
.sec-case__category {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-bottom: 60px;
}
.sec-case__category-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  padding: 20px;
}
.sec-case__category-list--blue {
  background: #f0f6fa;
}
.sec-case__category-list--gold {
  background: #fbf7ea;
}
.sec-case__category-link {
  font-size: 12px;
  font-weight: 600;
  padding: 2px 5px;
}
.sec-case__category-link--blue {
  color: #1c7abe;
  border: 1px solid #1c7abe;
}
.sec-case__category-link--gold {
  color: #c19719;
  border: 1px solid #c19719;
}
@media (min-width: 768px) {
  .sec-case__category-link {
    font-size: 16px;
  }
}
.sec-case__archive {
  margin-bottom: 80px;
  container-type: inline-size;
}
@media (min-width: 768px) {
  .sec-case__archive {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
  }
}
.sec-case__image {
  aspect-ratio: 16/9;
  object-fit: cover;
}
.sec-case__post {
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  .sec-case__post {
    margin-right: 45px;
    width: calc(33.33% - 30px);
  }
  .sec-case__post:nth-of-type(3n) {
    margin-right: 0;
  }
}
.sec-case__post--projects .sec-case__post-bottom {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  gap: 0 20px;
  margin-bottom: 40px;
  font-size: 0;
}
@media (min-width: 768px) {
  .sec-case__post--projects .sec-case__post-bottom {
    margin-bottom: 0;
  }
}
.sec-case__post--projects .sec-case__post-bottom .btn {
  width: 100%;
  margin-right: 0;
  margin-top: 15px;
  padding: 10px 20px;
  font-size: 16px;
}
@container (min-width: 1050px) {
  .sec-case__post--projects .sec-case__post-bottom .btn {
    width: calc(50% - 10px);
  }
}
.sec-case__post-nam {
  display: block;
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  text-align: center;
  color: #fff;
  background: #262a3e;
  font-size: 20px;
}
.sec-case__post-thumbnail {
  position: relative;
  display: block;
  margin-bottom: 15px;
  transition: opacity 0.2s ease-in-out;
}
@media (min-width: 768px) {
  .sec-case__post-thumbnail {
    max-width: 320px;
  }
}
.sec-case__post--end {
  transform-origin: center;
  position: absolute;
  top: 20%;
  left: 20%;
  width: 60%;
}
.sec-case__post-list {
  margin-bottom: 15px;
}
.sec-case__post-item {
  display: inline-block;
}
.sec-case__post-category {
  display: inline-block;
  margin: 0 5px 5px 0;
  padding: 0 5px;
  font-size: 12px;
  font-weight: 700;
  background-color: transparent;
  transition: opacity 0.2s ease-in-out;
}
.sec-case__post-category--blue {
  color: #1c7abe;
  border: 1px solid #1c7abe;
}
.sec-case__post-category--gold {
  color: #c19719;
  border: 1px solid #c19719;
}
@media (min-width: 768px) {
  .sec-case__post-category {
    margin-right: 10px;
  }
}
.sec-case__post-date {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: normal;
}
.sec-case__post-title {
  display: block;
  line-height: 1.25;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
}
.sec-case__post-company {
  font-size: 16px;
  font-weight: 400;
}
.sec-case__post-company--blue {
  color: #1c7abe;
}
.sec-case__post-company--gold {
  color: #c19719;
}
.sec-case__post-bottom {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-end;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .sec-case__post-bottom {
    margin-bottom: 0;
  }
}
.sec-case__post .btn {
  width: calc(50% - 10px);
  margin-right: 20px;
  margin-top: 15px;
  padding: 10px 20px;
  font-size: 16px;
}
.sec-case__post .btn:last-child {
  margin-right: 0;
}
.sec-case .icon-arrow--circle {
  width: 30px;
  height: 30px;
  margin-left: auto;
}
.sec-case__page {
  margin-bottom: 80px;
  font-family: "Noto Serif JP", serif;
}
@media screen and (min-width: 768px) {
  .sec-case__page {
    margin-bottom: 100px;
  }
}
.sec-case__page-list {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sec-case__page-link {
  padding: 5px 10px;
  font-size: 20px;
  font-weight: 600;
}
.sec-case__page-link--select-blue {
  color: #fff;
  background: #1c7abe;
}
.sec-case__page-link--select-gold {
  color: #fff;
  background: #c19719;
}
.sec-case__page-link img {
  margin-bottom: 5px;
}

.project-single {
  margin-bottom: 80px;
  container-type: inline-size;
}
@media screen and (min-width: 768px) {
  .project-single {
    margin-bottom: 100px;
  }
}
@media (min-width: 768px) {
  .project-single__contents {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    gap: 30px;
  }
}
.project-single__thumbnail {
  width: 100%;
  margin-bottom: 30px;
  text-align: center;
}
@container (min-width: 1050px) {
  .project-single__thumbnail {
    width: 420px;
  }
}
.project-single__thumbnail-nam {
  font-size: 20px;
  padding: 10px;
  margin-bottom: 20px;
  background: #262a3e;
  color: #fff;
  text-align: center;
}
.project-single__thumbnail-nam + img {
  margin-bottom: 15px;
}
@container (min-width: 1050px) {
  .project-single__thumbnail-nam + img {
    margin-bottom: 20px;
  }
}
.project-single__thumbnail-nam + .sec-case__post--end {
  position: relative;
  top: inherit;
  left: inherit;
  width: 100%;
}
.project-single__thumbnail > .sec-case__post-list {
  text-align: left;
  font-size: 0;
}
@container (min-width: 1050px) {
  .project-single__info {
    width: calc(100% - 420px - 30px);
  }
}
.project-single__info-name {
  font-size: 20px;
  padding: 10px;
  margin-bottom: 20px;
  background: #c19719;
  color: #fff;
  text-align: center;
}
.project-single__info-list {
  margin-bottom: 40px;
}
.project-single__info-item {
  display: flex;
  align-items: start;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #d1d1d1;
}
.project-single__info-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}
.project-single__info-dt {
  width: 100px;
  margin-right: 15px;
  color: #c19719;
}
.project-single__info-dd {
  width: 70%;
}
.project-single__info-dd-em {
  font-size: 18px;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}
@media (min-width: 768px) {
  .project-single__info-dd-em {
    font-size: 20px;
  }
}
.project-single__info-btnarea {
  text-align: center;
}
.project-single__info .btn {
  margin-bottom: 30px;
}
.project-single__info .btn:last-child {
  margin-bottom: 0;
}
.project-single__line {
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .project-single__line {
    margin-bottom: 100px;
  }
}
.project-single__line figure {
  text-align: center;
}
.project-single__line__image--pc {
  display: none;
}
@media (min-width: 768px) {
  .project-single__line__image--pc {
    display: block;
  }
}
@media (min-width: 768px) {
  .project-single__line__image--sp {
    display: none;
  }
}