@charset "UTF-8";
/* ========== 導入文 ========== */
.introBox {
  width: 100%;
  margin-bottom: 60px;
  display: flex;
  gap: 40px;
  align-items: center; }
  .introBox:nth-child(even) {
    flex-direction: row-reverse; }
  .introBox:nth-last-of-type(1) {
    margin-bottom: 0; }
  @media screen and (max-width: 800px) {
    .introBox {
      display: block;
      margin-bottom: 40px; } }
  .introBox .introTxt {
    width: 40%; }
    @media screen and (max-width: 1250px) {
      .introBox .introTxt {
        width: 45%; } }
    @media screen and (max-width: 1050px) {
      .introBox .introTxt {
        width: 55%; } }
    @media screen and (max-width: 800px) {
      .introBox .introTxt {
        width: 100%;
        margin-bottom: 40px; } }
    .introBox .introTxt hgroup {
      margin-bottom: 20px; }
      .introBox .introTxt hgroup p {
        margin-bottom: 5px;
        font-size: clamp(0.85rem, 2vw, 1.4rem);
        color: #164088;
        letter-spacing: 0.05em;
        font-weight: 700; }
      .introBox .introTxt hgroup h3 {
        margin: 0;
        display: flex;
        align-items: baseline;
        gap: 20px;
        font-weight: 400;
        letter-spacing: 0.05em;
        font-size: clamp(1.6rem, 2.8vw, 2.4rem);
        line-height: 140%; }
        .introBox .introTxt hgroup h3::after {
          content: "";
          flex: 1;
          height: 3px;
          background: #1e4a92;
          /* 線の位置を少し下げる（見た目合わせ） */
          transform: translateY(-0.3em); }
        .introBox .introTxt hgroup h3 span {
          display: inline-block; }
  .introBox .introImg {
    width: 60%;
    display: flex;
    gap: 20px; }
    @media screen and (max-width: 1250px) {
      .introBox .introImg {
        width: 55%; } }
    @media screen and (max-width: 1050px) {
      .introBox .introImg {
        width: 45%; } }
    @media screen and (max-width: 800px) {
      .introBox .introImg {
        width: 100%;
        gap: 0; } }
    .introBox .introImg img {
      width: 50%; }
      @media screen and (max-width: 800px) {
        .introBox .introImg img {
          width: 45%;
          margin: 0 auto; } }

#serviceDet {
  padding-top: 0; }

.tempBox01:nth-child(odd) {
  flex-direction: row-reverse; }

.tempBox01:nth-child(even) {
  flex-direction: row; }

.tempBox01:nth-child(odd) .imgDeco::before {
  left: -15px; }
