.elementor-kit-5{--e-global-color-primary:#1D2088;--e-global-color-secondary:#F1F2FF;--e-global-color-text:#1A1A1A;--e-global-color-accent:#101268;--e-global-color-b0c335c:#F1F1F1;--e-global-color-6a1e420:#FFFFFF;--e-global-color-34c7c7d:#000000;--e-global-typography-primary-font-family:"Noto Serif JP";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Noto Serif JP";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Noto Sans JP";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.8;--e-global-typography-text-letter-spacing:0.05em;--e-global-typography-accent-font-family:"Noto Sans JP";--e-global-typography-accent-font-weight:700;--e-global-typography-a48bb81-font-family:"Noto Serif JP";--e-global-typography-a48bb81-font-weight:500;--e-global-typography-e0ebd94-font-family:"Fraunces";--e-global-typography-e0ebd94-font-weight:400;--e-global-typography-e0ebd94-text-transform:uppercase;--e-global-typography-19b725a-font-family:"Noto Serif JP";--e-global-typography-19b725a-font-size:14px;--e-global-typography-19b725a-font-weight:500;--e-global-typography-19b725a-text-transform:uppercase;--e-global-typography-19b725a-line-height:1;--e-global-typography-19b725a-letter-spacing:0.2em;--e-global-typography-b784b2a-font-family:"Noto Serif JP";--e-global-typography-b784b2a-font-size:40px;--e-global-typography-b784b2a-font-weight:300;--e-global-typography-b784b2a-line-height:1.2;--e-global-typography-b784b2a-letter-spacing:0.5;--e-global-typography-5bf845a-font-family:"Fraunces";--e-global-typography-5bf845a-font-size:0.78rem;--e-global-typography-5bf845a-font-weight:400;--e-global-typography-5bf845a-text-transform:uppercase;--e-global-typography-5bf845a-line-height:1.1;--e-global-typography-5bf845a-letter-spacing:0.2em;--e-global-typography-42b2a07-font-family:"Noto Serif JP";--e-global-typography-42b2a07-font-size:1.68rem;--e-global-typography-42b2a07-font-weight:400;--e-global-typography-42b2a07-line-height:1.4;--e-global-typography-42b2a07-letter-spacing:0.05em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1366px){.elementor-kit-5{--e-global-typography-primary-font-size:2.5rem;--e-global-typography-primary-line-height:1.3em;--e-global-typography-primary-word-spacing:1px;--e-global-typography-secondary-font-size:1.8rem;--e-global-typography-secondary-word-spacing:2px;--e-global-typography-text-font-size:1rem;--e-global-typography-text-line-height:1.8em;--e-global-typography-text-word-spacing:2px;--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-line-height:1.8em;--e-global-typography-accent-word-spacing:2px;--e-global-typography-a48bb81-font-size:1.25rem;--e-global-typography-a48bb81-line-height:1.3em;--e-global-typography-a48bb81-word-spacing:2px;--e-global-typography-e0ebd94-font-size:0.85rem;--e-global-typography-e0ebd94-line-height:1.3em;--e-global-typography-e0ebd94-word-spacing:8px;--e-global-typography-19b725a-font-size:1rem;--e-global-typography-19b725a-line-height:1.8em;--e-global-typography-19b725a-word-spacing:2px;--e-global-typography-b784b2a-font-size:2.5rem;--e-global-typography-b784b2a-line-height:1.3em;--e-global-typography-b784b2a-word-spacing:1px;--e-global-typography-5bf845a-line-height:1.8em;--e-global-typography-5bf845a-word-spacing:2px;--e-global-typography-42b2a07-line-height:1.3em;--e-global-typography-42b2a07-word-spacing:1px;}}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html, body {
    font-size: clamp(15px, 1.1vw, 18px);
    overflow-x: hidden;
}

h1,h2,h3,h4,h5,p {
    font-feature-settings: "palt";
}

p:last-of-type {
    margin: 0;
}

/* PCとSPで表示切り替え */
@media screen and (min-width:768px) {
  .d-pc {
      display:block;
  }
  .d-sp {
      display:none;
  }
}
@media screen and (max-width:767px) {
  .d-pc {
      display:none;
  }
  .d-sp {
      display:block;
  }
}

.d-none {
    display: none;
}

/* AIOSEO */
.aioseo-breadcrumb {
    font-size: 0.8rem;
}

.aioseo-breadcrumb a {
    color: #333;
    text-decoration: underline;
}

.aioseo-breadcrumb a:hover {
    color: #707070;
    text-decoration: underline;
}


/* カーテンアニメーション */
.curtain-ltor {
	position: relative;
	overflow: hidden;
	&::before {
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background: #1D2088;
		z-index: 1;
		transition: .5s;
	}
	img,
	span {
		opacity: 0;
		transition: .5s;
	}
	&.show {
		&::before {
			transform: translateX(100%);
		}
		img,
		span {
			opacity: 1;
		}
	}
}
.curtain-rtol {
	position: relative;
	overflow: hidden;
	&::before {
		content: '';
		width: 100%;
		height: 100%;
		position: absolute;
		left: 0;
		top: 0;
		background: #1D2088;
		z-index: 1;
		transition: .5s;
	}
	img,
	span {
		opacity: 0;
		transition: .5s;
	}
	&.show {
		&::before {
			transform: translateX(-100%);
		}
		img,
		span {
			opacity: 1;
		}
	}
}

.h2-title {
    position: relative;
    padding-bottom: 1em;
    &::before {
    content: "";
    position: absolute;
    width: 3em;
    height: 1px;
    background-color: #1D2088;
    bottom: 0;
    left: 0;
    }
    &.center::before {
        left: 0;
        right: 0;
        margin: auto;
    }
    &.white::before {
        background-color: white;
    }
}

.step-num {
    position: absolute;
    left: -1.1rem;
    top: -.3rem;
    p {
        font-family: var(--e-global-typography-5bf845a-font-family), Sans-serif;
        font-size: 1.2rem;
        text-align: center;
        border-radius: 50%;
        display: block;
        line-height: 2rem;
        height: 2rem;
        width: 2rem;
        background-color: var(--e-global-color-primary);
        color: #fff;
        margin: 0;
    }
}

.title-h3 {
    font-size: 1.18rem;
    display: flex;
    align-items: flex-start;
    gap: .4em;
    &:not(.no-deco)::before {
        margin-top: .25rem;
        content: "";
        display: block;
        border: 1px solid var(--e-global-color-primary);
        height: 1.18rem;
        width: 1.18rem;
        flex: 0 0 1.18rem;
        border-radius: 50%;
    }
}

.top-menu {
    .ue-item {
        background-color: white;
        padding-top: 30px;
        .ue-item-text {
            text-align: justify;
        }
    }
}/* End custom CSS */