html {
    width: 100%;
    overflow-x: clip;
}

body {
    width: 100%;
    overflow-x: clip;
}

html,body {
    width: 100vw;
}

img {
	width: auto;
}

a {
	transition: 0.25s all;
}

input[type="submit"] {
	transition: 0.25s all;
}

input[type="submit"]:hover {
	cursor: pointer;
	opacity: 0.7;
}

@media screen and (min-width: 1024px) {
	a:hover {
		opacity: 0.7;
	}
}

.border,
.border-t,
.border-b,
.border-l,
.border-r {
	border-style: solid !important;
}

@media screen and (min-width: 1280px) {
	.pc-hidden-scrollbar {
		-ms-overflow-style: none; /* IE, Edge 対応 */
		scrollbar-width: none; /* Firefox 対応 */
	}
	.pc-hidden-scrollbar::-webkit-scrollbar {
		/* Chrome, Safari 対応 */
		display: none;
	}
}

@media screen and (max-width: 1023px) {
	#hbMenu {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0;
		left: 100%;
		z-index: 9999;
	}
	#hbMenu.open {
		left: 0;
		overflow:scroll;
	}
}

#header {
	position: absolute;
}

#header.float {
	width: 100vw;
	position: fixed;
	top:0;
	left:0;
	right:0;
	background-color: #fff;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
}

#slider{
	width:100%;
	overflow: hidden;
}

.case-mv-slider, .swiper-wrapper{
	margin: 0 auto;
}

.logo-infinite-slider {
	visibility: hidden;
}

/* スライダーのwrapper */
.logo-infinite-slider .swiper-wrapper {
	transition-timing-function: linear;
  }
  
/* スライド */
.logo-infinite-slider .swiper-slide {
	height: 47px !important; /* 高さを指定 */
	width: auto !important;
}

/* スライド内の画像 */
.logo-infinite-slider .swiper-slide img {
	width: auto;
	height: 100%;
}

@media screen and (min-width:  1001px){
	#header.float > div {
		padding-right: 2rem;
	}
	.swiper-wrapper {
		width:100%;
		padding-left:calc(50% - (1024px / 2));
	}.swiper-slide {
		width:1000px !important;
	}
}

.p-posts-navigation__wrap > * {
	width: 44px;
	height: 44px;
	border: 1px solid #E0E0E0;
	border-radius: 0.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.p-posts-navigation__wrap > .current {
	background-color: #3B72C4;
	color: #fff;
}

/* .wp-block-hubble-section h2 {
	font-size: 25px;
	padding-left: 20px;
	position: relative;
}

.wp-block-hubble-section h2::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 4px !important;
	height: 100% !important;
	background-color: #3B72C4;
	border-radius: 2px;
}

.wp-block-hubble-section h2 * {
	color: #000;
}

.wp-block-hubble-section h3 {
	font-size: 22px;
}

.wp-block-hubble-section h3 * {
	color: #000;
}

.wp-block-hubble-section h4 {
	font-size: 18px;
}

.wp-block-hubble-section h4 * {
	color: #000;
}

@media screen and (max-width: 767px) {
	.has-font-size-h-medium {
		font-size: 18px !important;
	}

	.has-font-size-p-medium {
		font-size: 15px !important;
	}

	.wp-block-hubble-section h2 {
		padding-left: 0;
		font-size: 20px;
	}

	.wp-block-hubble-section h2 * {
		color: #3B72C4 !important;
	}

	.wp-block-hubble-section h2::before {
		display: none;
	}

	.wp-block-hubble-section h3 {
		padding-left: 0;
		font-size: 18px;
	}

	.wp-block-hubble-section h3 * {
		color: #3B72C4 !important;
	}

	.wp-block-hubble-section h4 {
		font-size: 16px;
	}
	
	.wp-block-hubble-section h4 * {
		color: #000;
	}
	
} */

.answer:not(.open) {
	display: none;
}

.answer.open {
	display: flex;
}

/* フォーム関連 */

.hbspt-form {
	width: 100%;
}

.download-form .hbspt-form form {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.download-form .hbspt-form fieldset {
	width: 100%;
	max-width: none;
}

.download-form .hbspt-form .hs-form-field {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.download-form .hbspt-form label {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 15px;
	line-height: 21px;
	text-align: left;
}

.download-form .hbspt-form label .hs-form-required {
	color: #c4514c;
}

.download-form .hbspt-form input:not([type="submit"]),
.download-form .hbspt-form select {
	width: 100% !important;
	height: 44px;
	border-radius: 5px;
	background: #f3f6f9;
	border: 1px solid #d9dfea;
	padding: 0 16px;
}

.download-form .hbspt-form select {
	appearance: none;
	background: #f3f6f9 url(../images/select_arrow.svg) no-repeat right 10px center / 16px auto;
}

.download-form .hbspt-form input[type="submit"],.download-form .hbspt-form button {
	width: 100%;
	height: 60px;
	border-radius: 37.5px;
	border-radius: 10px;
	background: #3c78c8;
	box-shadow: 0px 13px 25px rgba(59, 120, 211, 0.3);	
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.06em;
	line-height: 24px;
	text-align: center;
	color: #fff;
	padding:0 20px;
}
.download-form .hbspt-form button.back{
	background:#CDCED8;
}

.hs-submit .actions{
	margin-top:40px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:40px;
}

.download-form .hbspt-form .hs-error-msg,
.download-form .hbspt-form .hs-error-msgs {
	font-size: 12px;
	color: #c4514c;
}

.download-form .hbspt-form .form-columns-2 {
	display: flex;
	gap: 10px;
}

@media screen and (max-width: 767px) {
	.download-form .hbspt-form label {
		font-size: 16px;
	}

	.download-form .hbspt-form input:not([type="submit"]),
	.download-form .hbspt-form select {
		height: 52px;
	}
}

.article-content .hbspt-form fieldset {
	width: 100%;
	max-width: none;
}

.article-content .hbspt-form form {
	display: flex;
	flex-direction: column;
}

.article-content .hbspt-form fieldset {
	width: 100%;
	max-width: none;
}

.article-content .hbspt-form fieldset div.hs-form-field {
	margin-bottom: 32px;
}

.article-content .hbspt-form .hs-form-field {
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.article-content .hbspt-form .hs-form-field label {
	width: 200px;
}

.article-content .hbspt-form .hs-form-field .input {
	width: calc(100% - 200px - 20px);
}

.article-content .hbspt-form .hs-form-field .hs-error-msgs {
	width: 100%;
}

.article-content .hbspt-form label {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 16px;
	line-height: 21px;
	text-align: left;
	display: block;
}

.article-content .hbspt-form label .hs-form-required {
	color: #c4514c;
}

.article-content .hbspt-form input[type="text"],
.article-content .hbspt-form input[type="email"],
.article-content .hbspt-form select {
	width: 100% !important;
	height: 52px;
	border-radius: 5px;
	background: #f3f6f9;
	border: 1px solid #d9dfea;
	padding: 0 16px;
}

.article-content .hbspt-form select {
	appearance: none;
	background: #f3f6f9 url(../images/select_arrow.svg) no-repeat right 10px center / 16px auto;
}

.article-content .hbspt-form textarea {
	width: 100% !important;
	height: 160px;
	border-radius: 5px;
	background: #f3f6f9;
	border: 1px solid #d9dfea;
	padding: 1rem;
}

.article-content .hbspt-form .inputs-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.article-content .hbspt-form label.hs-form-radio-display {
	width: 100%;
	display: block;
}

.article-content .hbspt-form label.hs-form-radio-display input[type="radio"] {
	display: none;
}

.article-content .hbspt-form label.hs-form-radio-display input[type="radio"] + span {
	width: 100%;
	padding-left: 32px;
	display: block;
	position: relative;
	font-weight: normal;
}

.article-content .hbspt-form label.hs-form-radio-display input[type="radio"] + span::before {
	content: "";
    width: 24px;
    height: 24px;
    border: 2px solid #D9DFEA;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: text-top;
	position: absolute;
	top: 0;
	left: 0;
}

.article-content .hbspt-form label.hs-form-radio-display input[type="radio"]:checked + span::after {
    content: "";
    width: 12px;
    height: 12px;
    background-color: #3C78C8;
    border-radius: 50%;
	position: absolute;
	top: 6px;
	left: 6px;
}

.article-content .hbspt-form .hs_submit {
	width: 100%;
	max-width: 400px;
	margin: auto;
}

.article-content .hbspt-form input[type="submit"] {
	width: 100%;
	height: 75px;
	margin: auto;
	border-radius: 37.5px;
	background: #3c78c8;
	box-shadow: 0px 13px 25px rgba(59, 120, 211, 0.3);	
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.06em;
	line-height: 24px;
	text-align: center;
	color: #fff;
}

.article-content .hbspt-form .form-columns-2 {
	display: flex;
	flex-direction: column;
}

.article-content .hbspt-form .form-columns-2 fieldset div.hs-form-field {
	margin-bottom: 32px;
}

.article-content .hbspt-form .form-columns-2 > * {
	width: 100% !important;
}

.article-content .hbspt-form .hs_recaptcha {
	margin: auto;
}

.article-content .hbspt-form .hs-error-msg,
.article-content .hbspt-form .hs-error-msgs {
	font-size: 12px;
	color: #c4514c;
}

@media screen and (max-width: 767px) {
	.article-content .hbspt-form .hs-form-field {
		flex-direction: column;
	}

	.article-content .hbspt-form .hs-form-field label {
		width: 100%;
	}
	
	.article-content .hbspt-form .hs-form-field .input {
		width: 100%;
	}
}


.contact-form .hbspt-form form {
	display: flex;
	flex-direction: column;
}

.contact-form .hbspt-form fieldset {
	width: 100%;
	max-width: none;
}

.contact-form .hbspt-form fieldset div.hs-form-field {
	margin-bottom: 32px;
}

.contact-form .hbspt-form .hs-form-field {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 10px;
}

.contact-form .hbspt-form .hs-form-field label {
	width: 100%;
}

.contact-form .hbspt-form .hs-form-field .input {
	width: 100%;
}

.contact-form .hbspt-form .hs-form-field .hs-error-msgs {
	width: 100%;
}

.contact-form .hbspt-form label {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 16px;
	line-height: 21px;
	text-align: left;
	display: block;
}

.contact-form .hbspt-form label .hs-form-required {
	color: #c4514c;
}

.contact-form .hbspt-form input[type="text"],
.contact-form .hbspt-form input[type="email"],
.contact-form .hbspt-form select {
	width: 100% !important;
	height: 52px;
	border-radius: 5px;
	background: #f3f6f9;
	border: 1px solid #d9dfea;
	padding: 0 16px;
}

.contact-form .hbspt-form select {
	appearance: none;
	background: #f3f6f9 url(../images/select_arrow.svg) no-repeat right 10px center / 16px auto;
}

.contact-form .hbspt-form textarea {
	width: 100% !important;
	height: 160px;
	border-radius: 5px;
	background: #f3f6f9;
	border: 1px solid #d9dfea;
	padding: 1rem;
}

.contact-form .hbspt-form .inputs-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.contact-form .hbspt-form label.hs-form-radio-display {
	width: 100%;
	display: block;
}

.contact-form .hbspt-form label.hs-form-radio-display input[type="radio"] {
	display: none;
}

.contact-form .hbspt-form label.hs-form-radio-display input[type="radio"] + span {
	width: 100%;
	padding-left: 32px;
	display: block;
	position: relative;
	font-weight: normal;
}

.contact-form .hbspt-form label.hs-form-radio-display input[type="radio"] + span::before {
	content: "";
    width: 24px;
    height: 24px;
    border: 2px solid #D9DFEA;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: text-top;
	position: absolute;
	top: 0;
	left: 0;
}

.contact-form .hbspt-form label.hs-form-radio-display input[type="radio"]:checked + span::after {
    content: "";
    width: 12px;
    height: 12px;
    background-color: #3C78C8;
    border-radius: 50%;
	position: absolute;
	top: 6px;
	left: 6px;
}

.contact-form .hbspt-form .hs_submit {
	width: 100%;
	max-width: 400px;
	margin: auto;
}

.contact-form .hbspt-form input[type="submit"] {
	width: 100%;
	height: 75px;
	margin: auto;
	border-radius: 37.5px;
	background: #3c78c8;
	box-shadow: 0px 13px 25px rgba(59, 120, 211, 0.3);	
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.06em;
	line-height: 24px;
	text-align: center;
	color: #fff;
	margin: 10px 0;
}

.contact-form .hbspt-form .form-columns-2 {
	display: flex;
	flex-direction: row;
	gap: 0 16px;
}

.contact-form .hbspt-form .form-columns-2 > * {
	width: 100% !important;
}

.contact-form .hbspt-form .hs_recaptcha {
	margin: auto;
}

.contact-form .hbspt-form .hs-error-msg,
.contact-form .hbspt-form .hs-error-msgs {
	font-size: 12px;
	color: #c4514c;
}


.top-form .form-field{
	border:none;
	clear: both;
	width: 100%;
	margin-bottom: 16px;
	padding:0;
	box-sizing: border-box;
}
.top-form .download-form  .form{
	display: block;
}
.top-form .download-form .form-field{
	margin-bottom:0;

}
.top-form .form{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.top-form .form-field.hidden{
	padding:0;
	margin:0;
	height:0;
}
.top-form .error.no-label,.errors,.invalid{
	font-size: 12px;
    color: #c4514c;
    font-weight:500;
}
.top-form .hs-form-required{
	color:#eb5757;
}
.top-form label{
    font-size:13px;
    font-weight:500;
}


.top-form .form-field.first_name,.top-form .form-field.last_name,
.top-form .form-field.Department_select,.top-form .form-field.jobtitle_select{
	width: 48%;
    display: flex;
        flex-direction: column;
        justify-content: end;
}


.top-form .form-field input[type='text'],
.top-form .form-field input[type='email'],
.top-form .form-field input[type='number'],
.top-form .form-field input[type='tel'],
.top-form .form-field select{
	width: 100% !important;
	height: 45px;
	border-radius: 5px;
	background: #f5f5f5;
	padding: 0 16px;
	box-sizing: border-box;
	font-size:14px;
	box-sizing: border-box;
    font-weight:500;
	border: 1px solid #DDD;
}

.top-form .form-field select{
	appearance:none;
	background: #f5f5f5 url(../images/select_arrow.svg) no-repeat right 10px center / 16px auto;
}
.top-form .form-field .input-wrap span.value{
	display: flex;
	gap:1rem;
	flex-direction: column;
}
.top-form .form-field input[type='radio']{
	display: none;
}

.top-form .form-field input[type='radio'] + label{
	width: 100%;
    padding-left: 32px;
    display: block;
    position: relative;
    font-weight: normal;
}

.top-form .form-field input[type='radio'] + label::before{
	content: "";
    width: 24px;
    height: 24px;
    border: 2px solid #D9DFEA;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    vertical-align: text-top;
    position: absolute;
    top: 0;
    left: 0;
}
.top-form .form-field  input[type="radio"]:checked + label::after {
    content: "";
    width: 12px;
    height: 12px;
    background-color: #3C78C8;
    border-radius: 50%;
    position: absolute;
    top: 8px;
    left: 8px;
}
.top-form .form-field textarea{
	width: 100% !important;
    height: 160px;
    border-radius: 5px;
    background: #f3f6f9;
    border: 1px solid #d9dfea;
    padding: 1rem;
	box-sizing: border-box;
	font-size:16px;
	box-sizing: border-box;
	
	border: 1px solid #DDD;
}
.top-form .form-field .field-label{
	margin-bottom:6px;
	display: block;
}
.top-form .form-required{
	color:#c4514c;
	padding-left:5px;
}
.top-form .submit{
	width: 100%;
    max-width: 400px;
    margin: auto;
	padding-bottom:0px;
}
.top-form .submit input[type='submit']{
	        border-radius: 4px;
            background: #3C78C8;
            /* Drop Shadow */
            box-shadow: 0px 13px 25px 0px rgba(0, 0, 0, 0.25);
			box-shadow:0px 5px 20px rgba(0, 0, 0, 0.15);
            width: 100%;
            color:#fff;
            font-weight:700;
            padding:15px 0;
            font-size:18px;
            margin-top:20px;
            box-sizing: border-box;
            border:none;
            cursor: pointer;
}
.top-form .hs-submit .actions{
	margin-top:20px;
}

@media screen and (max-width: 767px) {
	.contact-form .hbspt-form .form-columns-2 {
		flex-wrap: wrap;
	}

	.contact-form .hbspt-form .form-columns-2 > * {
		width: calc(50% - 8px) !important;
	}

	.contact-form .hbspt-form .form-columns-2 .hs_department_select {
		width: 100% !important;
	}

	.contact-form .hbspt-form .form-columns-2 .hs_job_position_select {
		width: 100% !important;
	}

	.contact-form .hbspt-form .hs-form-field {
		flex-direction: column;
	}

	.contact-form .hbspt-form .hs-form-field label {
		width: 100%;
	}
	
	.contact-form .hbspt-form .hs-form-field .input {
		width: 100%;
	}
}

.tab-content {
	display: none !important;
}

.tab-content.open {
	display: flex !important;
}

.tab-button {
	background-color: #E0E0E0;
	color: #000;
}

.tab-button.open {
	background-color: #F5F5F5;
	color: #3C78C8;
}

/* home function */

.function-nav {
	background: #fff;
	color: #000;
	margin-right: 1.5rem;
	transition: background 300ms ease-out, color 300ms ease-out, margin 300ms ease-out !important;
}
.function-nav {
	background: #fff;
	color: #000;
	margin-right: 1.5rem;
	transition: background 300ms ease-out, color 300ms ease-out, margin 300ms ease-out !important;
}

.function-nav.swiper-slide-thumb-active {
	background: #000;
	color: #fff;
	margin-right: 0;
}

.function-nav.swiper-slide-thumb-active .function-nav-icon {
	border-color: #3B78D3;
	color: #3B78D3;
}

.function-nav.swiper-slide-thumb-active .function-nav-text {
	font-size:20px;
}

.function-nav.swiper-slide-thumb-active .function-arrow {
	stroke: #fff;
}

.function-thumbs-slider-sp .swiper-slide .function-thumb {
	color:#fff;
}
.function-thumbs-slider-sp .swiper-slide .function-thumb-icon {
	border-color:#000;
	color:#000;
}
.function-slider.swiper-container-vertical > .swiper-pagination-bullets {
	top:auto;
	bottom:0;
	display: flex;
	background-color:#fff;
	border-radius:4px;
	padding:0.5rem 1rem;
}
.function-slider .swiper-pagination-bullet {
	background:none;
	width:auto;
	height:auto;
	line-height:1;
	opacity:1;
	color:#000;
	font-family:arial;
	font-weight:bold;
}
.function-slider .swiper-pagination-bullet-active {
	color:#3C78C8;
}
.function-slider.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
	margin:0 6px;
}

/* 記事関連 */
.article-content {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.article-content p {
	min-height: 32px;
    font-size: 16px;
    letter-spacing: 0.04em;
    line-height: 32px;
	word-wrap: break-word;
}

.article-content h2 {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 25px;
	letter-spacing: 0.04em;
	line-height: 35px;
	text-align: left;
	position: relative;
	padding: 10px 0 10px 15px;
}

.article-content h2::before {
	width: 5px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 5px;
	content: "";
	background-color: #3C78C8;
}

.article-content h3 {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 22px;
	letter-spacing: 0.04em;
	line-height: 30.8px;
	text-align: left;
}

.article-content h4 {
	font-family: "Noto Sans JP";
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.04em;
	line-height: 25.2px;
	text-align: left;
	color: #000;
	position: relative;
	padding-left: 30px;
}

.article-content h4::before {
	width: 20px;
	height: 30px;
	content: "";
	background-image: url(../images/h4_icon.svg);
	position: absolute;
	top: -4px;
	left: 0;
}

.article-content a {
	color: #3C78C8;
	text-decoration: underline;
}

.has-base-color {
  color: #3c78c8;
}

.has-black-color {
  color: #000;
}

.has-white-color {
  color: #fff;
}

.has-light-color {
  color: #b3d4ff;
}

.has-base-background-color {
  background-color: #3c78c8;
}

.has-black-background-color {
  background-color: #000;
}

.has-white-background-color {
  background-color: #fff;
}

.has-yellow-background-color {
	background-color: #FCF8A5;
}

.article-content li {
	line-height: 1.8;
}

.article-content ol,
.article-content .number-list {
    list-style: none;
    padding-left: 0;
	counter-reset: item;
    display: flex !important;
    flex-direction: column;
    gap: 0.5rem;
}

.article-content ol li > *,
.article-content .number-list li > * {
    display: inline !important;
    flex-direction: column;
    gap: 0.5rem;
}

.article-content ol li > ul,
.article-content .number-list li > ul {
    padding-left: 40px;
    display: block !important;
    display: flex !important;
    flex-direction: column;
    gap: 0.5rem;
	margin-top: 0.5rem;
}

.article-content ol li:before,
.article-content .number-list li:before {
    counter-increment: item;
    content: counter(item)'.';
    padding-right: .5em;
    font-weight: bold;
	font-family: 'Arial', sans-serif;
    color: #3C78C8;
}

.article-content ol li > ul,
.article-content .number-list li > ul {
	counter-reset: items 0;
    list-style-type: none;
}

.article-content ol li > ul li::before,
.article-content .number-list li > ul li::before {
    counter-increment: items 1;
    /*content: counters(item, ".") ". ";*/
	content: counter(item) "." counters(items,".");
    padding-right: .5em;
    font-weight: bold;
	font-family: 'Arial', sans-serif;
    color: #3C78C8;
    width: 0 !important;
    height: 0 !important;
    background-color: transparent;
    border-radius: 0;
    position: absolute;
    top: 0 !important;
    left: 0 !important;
}

.article-content ol li > a,
.article-content .number-list li > a {
	color: inherit !important;
}

.article-content ul,
.article-content .dot-list {
    list-style: none;
    padding-left: 0;
    display: flex !important;
    flex-direction: column;
    gap: 0.5rem;
}

.article-content ul li > *,
.article-content .dot-list li > * {
    display: inline !important;
	display: flex !important;
    flex-direction: column;
    gap: 0.5rem;
}

.article-content ul li > ul,
.article-content .dot-list li > ul {
    padding-left: 40px;
    display: block !important;
    display: flex !important;
    flex-direction: column;
    gap: 0.5rem;
	margin-top: 0.5rem;
}

.article-content ul li,
.article-content .dot-list li {
	position: relative;
	padding-left: 24px;
}

.article-content ul li:before,
.article-content .dot-list li:before {
    content: '';
	width: 8px;
	height: 8px;
    background-color: #3C78C8;
	border-radius: 4px;
	position: absolute;
	top: 10px;
	left: 0;
}

.article-content ol ul li {
    padding-left: 32px;
}

.article-content ul li > ul,
.article-content .dot-list li > ul {
    list-style-type: none;
}

.article-content ul li > ul li::before,
.article-content .dot-list li > ul li::before {
    content: '';
	width: 8px;
	height: 8px;
	border: 1px solid #3C78C8;
    background-color: #fff;
	border-radius: 4px;
	position: absolute;
	top: 9px;
	left: 0;
}

.article-content .hbspt-form ul li {
	padding-left: 0;
}

.article-content .hbspt-form ul li:before {
	display: none;
}

.article-content .dash-list {
    list-style: none;
    padding-left: 0;
    display: flex !important;
    flex-direction: column;
    gap: 0.75rem;
}

.article-content .dash-list li > * {
    display: inline !important;
	display: flex !important;
    flex-direction: column;
    gap: 0.75rem;
}

.article-content .dash-list li > ul {
    padding-left: 40px;
    display: block !important;
    display: flex !important;
    flex-direction: column;
    gap: 0.75rem;
	margin-top: 0.75rem;
}

.article-content .dash-list li {
	position: relative;
	padding-left: 24px;
}

.article-content .dash-list li:before {
    content: 'ー' !important;
	position: absolute;
	top: 0;
	left: 0;
    width: 0;
    height: 0;
	border: none;
    background-color: transparent;
    color: #3C78C8;
}

.article-content .dash-list li > ul {
    list-style-type: none;
}

.article-content .dash-list li > ul li::before {
    content: 'ー' !important;
	position: absolute;
	top: 0;
	left: 0;
    width: 0;
    height: 0;
	border: none;
    background-color: transparent;
    color: #3C78C8;
}

.article-content .circle-check-list ul {
	padding-left: 32px;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.article-content .circle-check-list ul li {
	list-style: none;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding-left: 0 !important;
}

.article-content .circle-check-list ul li::before {
	content: "";
	width: 20px;
	height: 20px;
    background-image: url('../images/check_icon.svg');
	background-repeat: no-repeat;
	background-color: transparent;
	position: absolute;
	left: -32px;
	top: 3px;
}

.article-content .circle-check-list ul li > ul {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.article-content .circle-check-list ul li > ul li {
    list-style: none;
    list-style-position: outside;
    position: relative;
	padding-left: 16px !important;
	display: inline;
}

.article-content .circle-check-list ul li > ul li::before {
    content: "ー" !important;
	background: none;
    text-indent: -16px;
    position: absolute;
	top: 0;
    left: 0;
    width: 0;
    height: 0;
	border: none;
    background-color: transparent;
    color: #3C78C8;
}

.article-content .circle-check-list ul li > ul li * {
	display: inline;
}

.article-content .overview-box {
	padding: 32px 40px;
	background-color: #f5f5f5;
}

.article-content .overview-box ul {
	padding-left: 32px;
	display: flex;
	flex-direction: column;
	gap: .8rem;
}

.article-content .overview-box ul li {
	list-style: none;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding-left: 0 !important;
}

.article-content .overview-box ul li::before {
	content: "";
	width: 20px;
	height: 20px;
    background-image: url('../images/check_icon.svg');
	background-repeat: no-repeat;
	background-color: transparent;
	position: absolute;
	left: -32px;
	top: 3px;
}

.article-content .overview-box ul li > ul {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.article-content .overview-box ul li > ul li {
    list-style: none;
    list-style-position: outside;
    position: relative;
	padding-left: 16px !important;
	display: inline;
}

.article-content .overview-box ul li > ul li::before {
    content: "ー" !important;
	background: none;
    text-indent: -16px;
    position: absolute;
	top: 0;
    left: 0;
    width: 0;
    height: 0;
	border: none;
    background-color: transparent;
    color: #3C78C8;
}

.article-content .overview-box ul li > ul li * {
	display: inline !important;
}

.article-content .interviewer-text {
    padding-left: 100px;
    position: relative;
}

.article-content .interviewer-text::before {
    content: "";
    width: 64px;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 16px;
    left: 0;
}

.article-content .talk-text {
	display: flex;
    gap: 0;
    align-items: flex-start !important;
}

.article-content .talk-text > *:nth-child(1) {
    width: 100px;
}

.article-content .talk-text > *:nth-child(2) {
    width: calc(100% - 100px);
}

.article-content .border-box {
	width: 100%;
    border: 3px solid #3c78c8;
    padding: 32px 40px;
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: 0.5rem;
}

.article-content .border-box .wp-block-group__inner-container {
	width: 100%;
}

.article-content .border-box hr {
	width: 100%;
	height: 2px;
}

.article-content .shadow-box {
    border: 1px solid #e0e0e0;
    box-shadow: 12px 12px #eee;
    padding: 24px 32px;
}

.article-content .shadow-box .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.article-content .shadow-box-inner {
	display: flex;
	gap: 2rem;
}

.article-content .shadow-box-inner img {
	width: 100%;
}

.article-content .detail-btn {
    margin-left: auto;
}

.article-content .detail-btn > .wp-block {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.article-content .detail-btn > .wp-block > *:nth-child(1) {
	width: 160px;
}

.article-content .grey-box {
    padding: 32px 40px !important;
    background-color: #FAFAFA;
}



.article-content .index-box {
	padding: 32px 40px;
    background-color: #FAFAFA;
}

.article-content .index-box a {
	color: #000;
}

.article-content .index-box ul {
    list-style: none;
    padding-left: 0;
	counter-reset: item;
    display: flex !important;
    flex-direction: column;
    gap: 0.25rem;
	/* padding-left: 24px; */
}

.article-content .index-box ul li{
    text-indent: 0px;
    padding-left: 24px;
}

.article-content .index-box ul li > * {
    display: inline !important;
    flex-direction: column;
    gap: 0.25rem;
}

.article-content .index-box ul li > ul {
    padding-left: 8px;
    display: block !important;
    display: flex !important;
    flex-direction: column;
    gap: 0.25rem;
	margin-top: 0.25rem;
}

.article-content .index-box ul li > ul li {
    text-indent: 0;
    padding-left: 40px;
}

.article-content .index-box ul li:before {
    counter-increment: item;
    content: counter(item)'.';
    padding-right: .5em;
    font-weight: bold;
	font-family: 'Arial', sans-serif;
    color: #3C78C8;
	width: 0 !important;
    height: 0 !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    position: absolute;
    top: 0 !important;
    left: 0 !important;
	border: none !important;
}

.article-content .index-box ul li > ul {
	counter-reset: item 0;
    list-style-type: none;
}

.article-content .index-box ul li > ul li::before {
    counter-increment: item 1;
    content: counters(item, ".") ". ";
    padding-right: .5em;
    font-weight: bold;
	font-family: 'Arial', sans-serif;
    color: #3C78C8;
	width: 0 !important;
    height: 0 !important;
    background-color: transparent !important;
    border-radius: 0 !important;
    position: absolute;
    top: 0 !important;
    left: 0 !important;
	border: none !important;
}


.article-content .grey-box table {
	width: 100%;
	border-top: 1px solid #CDCED8;
}

.article-content .grey-box table tr {
	border-bottom: 1px solid #CDCED8;
}

.article-content .grey-box table td {
	padding: 16px 0;
}

.article-content .grey-box table td:nth-child(1) {
	width: 120px;
	font-weight: bold;
}

.article-content .balloon-box {
	display: flex;
    align-items: start;
    gap: 1rem;
}

.article-content .balloon-box > *:nth-child(1) {
	width: 112px;
}

.article-content .balloon-box > *:nth-child(1) img {
    border-radius: 100%;
    overflow: hidden;
}

.article-content .balloon-box > *:nth-child(2) {
	width: calc(100% - 112px);
    background-color: #3C78C8;
    padding: 24px 32px;
    color: #fff;
    border-radius: 10px;
    position: relative;
}

.article-content .balloon-box > *:nth-child(2)::before {
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    border-color: rgba(0, 153, 255, 0);
    border-top-width:10px;
    border-bottom-width:10px;
    border-left-width:10px;
    border-right-width:10px;
    margin-top: -10px;
    border-right-color:#3C78C8;
    right:100%;
    top: 38px;
}

.article-content .sme-highlighter {
	opacity: 1 !important;
}

.article-content .tips-text {
	width: fit-content;
	padding: 5px 10px;
	background-color: #3C78C8;
	display: inline;
}

.article-content .wp-element-caption {
	font-size: 12px;
	text-align: left;
	margin-top: 12px;
}

.article-content .is-provider-youtube .wp-block-embed__wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
}

.article-content .is-provider-youtube iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}

.article-content .wp-block-hubble-columns {
	display: flex;
    gap: 1rem;
}

.article-content .wp-block-hubble-columns .wp-block-hubble-column {
	flex: 1;
}

@media screen and (max-width: 767px) {
	.article-content h2 {
		font-size: 20px;
		padding: 0 16px;
	}

	.article-content h3 {
		font-size: 18px;
		color: #3C78C8;
	}

	.article-content h4 {
		font-size: 16px;
	}

	.article-content a {
		word-break: break-all;
	}

	.article-content .balloon-box {
		flex-direction: column;
	}

	.article-content .balloon-box > *:nth-child(1) {
		/* width: 60px; */
	}

	.article-content .balloon-box > *:nth-child(2) {
		width: 100%;
		position: relative;
	}

	.article-content .balloon-box > *:nth-child(2)::before{
		border: solid transparent;
		content:'';
		height:0;
		width:0;
		pointer-events:none;
		position:absolute;
		border-color: rgba(60, 120, 200, 0);
		border-top-width:10px !important;
		border-bottom-width:10px !important;
		border-left-width:10px !important;
		border-right-width:10px !important;
		margin-left: -10px !important;
		border-bottom-color:#3C78C8;
		bottom:100% !important;
		left:50px !important;
		top: inherit;
		right: inherit;
	}
	

	.article-content .shadow-box-inner {
		flex-direction: column;
	}

	.article-content .shadow-box-inner > * {
		width: 100%;
		max-width: none !important;
	}

	.article-content .interviewer-text::before {
		width: 44px;
	}

	.article-content .interviewer-text {
		padding-left: 60px;
	}

	.article-content .talk-text > p:nth-child(1) {
		width: 60px;
	}

	.article-content .talk-text > *:nth-child(2) {
		width: calc(100% - 60px);
	}

	.article-content .border-box,
	.article-content .overview-box,
	.article-content .shadow-box,
	.article-content .grey-box,
	.article-content .index-box {
		padding: 20px 24px !important;
	}

	.article-content .shadow-box h3 {
		color: #000;
	}

	.article-content .overview-box ul li > ul {
		padding-left: 20px;
	}

	.article-content .grey-box table tr {
		display: block;
		padding: 16px 0;
	}

	.article-content .grey-box table td:nth-child(1) {
		width: 100% !important;
		display: block;
		padding: 0;
		margin-bottom: 8px;
	}

	.article-content .grey-box table td:not(:nth-child(1)) {
		width: 100% !important;
		display: block;
		padding: 0;
	}

	.article-content .wp-block-hubble-columns {
		flex-direction: column;
	}
}

.swiper-button-prev {
	position: absolute !important;
	left: -60px !important;
}

.swiper-button-next {
	position: absolute !important;
	right: -60px !important;
}

.swiper-button-prev::after {
	background-repeat: no-repeat;
	background-size: contain;
	content: "" !important;
	height: 50px;
	margin: auto;
	width: 50px;
	background-image: url(../images/swiper_prev_icon.svg);
}

.swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "" !important;
  height: 50px;
  margin: auto;
  width: 50px;
  background-image: url(../images/swiper_next_icon.svg);
}

.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-container-horizontal > .swiper-pagination-bullets {
	bottom: 20px !important;
}

.banner-slider.swiper-container-horizontal > .swiper-pagination-bullets {
	bottom: 0 !important;
}

@media screen and (max-width: 1000px) {
	.swiper-button-prev {
		left: 0 !important;
	}
	
	.swiper-button-next {
		right: 0 !important;
	}
}

@media screen and (max-width: 767px) {
	.swiper-button-prev {
		width: 20px !important;
		height: 20px !important;
		left: 100px !important;
	}
	
	.swiper-button-next {
		width: 20px !important;
		height: 20px !important;
		right: 100px !important;
	}

	.swiper-button-prev::after {
		background-image: url(../images/swiper_prev_icon_sp.svg);
	}
	
	.swiper-button-next::after {
		background-image: url(../images/swiper_next_icon_sp.svg);
	}	

	.swiper-button-prev::after,
	.swiper-button-next::after {
		width: 20px !important;
		height: 20px !important;
	}
}

.inifinite-slider img {
	visibility: hidden;
}

.line-clamp-1 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1; /* 制限したい行数が3の場合 */
	overflow: hidden;
}

.line-clamp-3 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
	overflow: hidden;
}

._flex-keep{
	flex: 1 0 auto;
}
._clip-path-arrow-triangle{
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (min-width:  768px){
	._clip-path-arrow-triangle{
		clip-path: polygon(0 0, 100% 50%, 0 100%);
	}
}
._clip-path-arrow-triangle.-lg{
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (min-width:  1024px){
	._clip-path-arrow-triangle.-lg{
		clip-path: polygon(0 0, 100% 50%, 0 100%);
	}
}
._clip-path-triangle{
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

._clip-path-triangle-x{
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

._clip-path-line{
	clip-path: inset(0 0 100% 0);
	-webkit-clip-path: inset(0 0 100% 0);
	transition: clip-path 300ms ease-out;
}

._clip-path-line.is-active{
	clip-path: inset(0);
	-webkit-clip-path: inset(0);
}

._reverse{
	transform: matrix(-1, 0, 0, 1, 0, 0);
}

._clip-path-arrow{
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.swiper-function-prev.swiper-button-disabled,
.swiper-function-next.swiper-button-disabled{
	opacity: 0;
	pointer-events: none;
}

.swiper-function-pagination-current,
.swiper-function-pagination-total{
	font-family: 'Arial', sans-serif;
	font-weight: 700;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0;
}

.swiper-function-pagination-line{
	position: relative;
	display: inline-block;
	width: 10px;
	height: 11px;
	padding: 0 12px;
}

.swiper-function-pagination-line::before{
	content: "";
	display: block;
	width: 1px;
	height: 15px;
	transform: rotateZ(42deg);
	background-color: #E0E0E0;
}

.cookie-reset-container {
	text-align: left !important;
}

.has-color.has-text-color-base {
    color: #3c78c8;
  }
  
  .has-color.has-text-color-black {
    color: #000;
  }
  
  .has-color.has-text-color-white {
    color: #fff;
  }
  
  .has-color.has-text-color-light {
    color: #b3d4ff;
  }
  
  .has-color.has-text-color-yellow {
    color: #FCF8A5;
  }
  
  .has-color[class*='has-back-color'] {
    padding: 0em 0.1em 0.125em;
  }
  
  .has-color.has-back-color-base {
    background-color: #3c78c8;
  }
  
  .has-color.has-back-color-black {
    background-color: #000;
  }
  
  .has-color.has-back-color-white {
    background-color: #fff;
  }
  
  .has-color.has-back-color-light {
    background-color: #b3d4ff;
  }
  
  .has-color.has-back-color-yellow {
    background-color: #FCF8A5;
  }

.wp-block-hubble-spacer.has-margin-5 {
  height: 0.27778rem;
}

.wp-block-hubble-spacer.has-margin-10 {
  height: 0.55556rem;
}

.wp-block-hubble-spacer.has-margin-15 {
  height: 0.83333rem;
}

.wp-block-hubble-spacer.has-margin-20 {
  height: 1.11111rem;
}

.wp-block-hubble-spacer.has-margin-25 {
  height: 1.38889rem;
}

.wp-block-hubble-spacer.has-margin-30 {
  height: 1.66667rem;
}

.wp-block-hubble-spacer.has-margin-35 {
  height: 1.94444rem;
}

.wp-block-hubble-spacer.has-margin-40 {
  height: 2.22222rem;
}

.wp-block-hubble-spacer.has-margin-45 {
  height: 2.5rem;
}

.wp-block-hubble-spacer.has-margin-50 {
  height: 2.77778rem;
}

.wp-block-hubble-spacer.has-margin-55 {
  height: 3.05556rem;
}

.wp-block-hubble-spacer.has-margin-60 {
  height: 3.33333rem;
}

.wp-block-hubble-spacer.has-margin-65 {
  height: 3.61111rem;
}

.wp-block-hubble-spacer.has-margin-70 {
  height: 3.88889rem;
}

.wp-block-hubble-spacer.has-margin-75 {
  height: 4.16667rem;
}

.wp-block-hubble-spacer.has-margin-80 {
  height: 4.44444rem;
}

.wp-block-hubble-spacer.has-margin-85 {
  height: 4.72222rem;
}

.wp-block-hubble-spacer.has-margin-90 {
  height: 5rem;
}

.wp-block-hubble-spacer.has-margin-95 {
  height: 5.27778rem;
}

.wp-block-hubble-spacer.has-margin-100 {
  height: 5.55556rem;
}

.wp-block-hubble-spacer.has-margin-105 {
  height: 5.83333rem;
}

.wp-block-hubble-spacer.has-margin-110 {
  height: 6.11111rem;
}

.wp-block-hubble-spacer.has-margin-115 {
  height: 6.38889rem;
}

.wp-block-hubble-spacer.has-margin-120 {
  height: 6.66667rem;
}

.wp-block-hubble-spacer.has-margin-125 {
  height: 6.94444rem;
}

.wp-block-hubble-spacer.has-margin-130 {
  height: 7.22222rem;
}

.wp-block-hubble-spacer.has-margin-135 {
  height: 7.5rem;
}

.wp-block-hubble-spacer.has-margin-140 {
  height: 7.77778rem;
}

.wp-block-hubble-spacer.has-margin-145 {
  height: 8.05556rem;
}

.wp-block-hubble-spacer.has-margin-150 {
  height: 8.33333rem;
}

.wp-block-hubble-spacer.has-margin-155 {
  height: 8.61111rem;
}

.wp-block-hubble-spacer.has-margin-160 {
  height: 8.88889rem;
}

.wp-block-hubble-spacer.has-margin-165 {
  height: 9.16667rem;
}

.wp-block-hubble-spacer.has-margin-170 {
  height: 9.44444rem;
}

.wp-block-hubble-spacer.has-margin-175 {
  height: 9.72222rem;
}

.wp-block-hubble-spacer.has-margin-180 {
  height: 10rem;
}

.wp-block-hubble-spacer.has-margin-185 {
  height: 10.27778rem;
}

.wp-block-hubble-spacer.has-margin-190 {
  height: 10.55556rem;
}

.wp-block-hubble-spacer.has-margin-195 {
  height: 10.83333rem;
}

.wp-block-hubble-spacer.has-margin-200 {
  height: 11.11111rem;
}

.wp-block-hubble-spacer.has-margin-205 {
  height: 11.38889rem;
}

.wp-block-hubble-spacer.has-margin-210 {
  height: 11.66667rem;
}

.wp-block-hubble-spacer.has-margin-215 {
  height: 11.94444rem;
}

.wp-block-hubble-spacer.has-margin-220 {
  height: 12.22222rem;
}

.wp-block-hubble-spacer.has-margin-225 {
  height: 12.5rem;
}

.wp-block-hubble-spacer.has-margin-230 {
  height: 12.77778rem;
}

.wp-block-hubble-spacer.has-margin-235 {
  height: 13.05556rem;
}

.wp-block-hubble-spacer.has-margin-240 {
  height: 13.33333rem;
}

.wp-block-hubble-spacer.has-margin-245 {
  height: 13.61111rem;
}

.wp-block-hubble-spacer.has-margin-250 {
  height: 13.88889rem;
}

.wp-block-hubble-spacer.has-margin-255 {
  height: 14.16667rem;
}

.wp-block-hubble-spacer.has-margin-260 {
  height: 14.44444rem;
}

.wp-block-hubble-spacer.has-margin-265 {
  height: 14.72222rem;
}

.wp-block-hubble-spacer.has-margin-270 {
  height: 15rem;
}

.wp-block-hubble-spacer.has-margin-275 {
  height: 15.27778rem;
}

.wp-block-hubble-spacer.has-margin-280 {
  height: 15.55556rem;
}

.wp-block-hubble-spacer.has-margin-285 {
  height: 15.83333rem;
}

.wp-block-hubble-spacer.has-margin-290 {
  height: 16.11111rem;
}

.wp-block-hubble-spacer.has-margin-295 {
  height: 16.38889rem;
}

.wp-block-hubble-spacer.has-margin-300 {
  height: 16.66667rem;
}


.about_bg{
	background:url("../images/bg_about.webp") no-repeat;
	background-size:contain;
	background-position: right top;
	height: 620px;
}
@media screen and (min-width:1500px) {
	.about_bg{
		background-size:80%;
		max-height:620px;
		background-size:contain;
	}
}
@media screen and (max-width:768px){
	.about_bg{
		background:url("../images/sp_bg_about.svg") no-repeat;
		background-position: 0 100px;
		height:auto;
	}
}
/*
.about_bg{
	background:url("../images/top/bg_top_about.webp") no-repeat;
	background-size:cover;
	background-position:left bottom;
	//min-height:47.222vw;
}
@media screen and (min-width:1500px) {
	.about_bg{
		background-size:cover;
	}
}
@media screen and (max-width:768px){
	.about_bg{
		background:url("../images/top/sp_bg_top_about.webp") no-repeat;
		background-position: center bottom;
		height:auto;
		background-size:100%;
	}
}*/
.movie_wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
}

.movie_wrapper iframe {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}
.top-mv{
	background:url("../images/bg.webp") no-repeat;
	background-size: cover;
	background-position: center top;
	margin-top:80px;
	margin-bottom:30px;
	max-height:883px;
	padding:40px 0;

}
@media screen and (max-width:768px){
	.top-mv{
		background:url("../images/sp_bg.webp") no-repeat;
		background-size:cover;
		margin-top:60px;
		max-height:auto;
		padding:40px 0 25px 0;
		margin-bottom:0;
	}
}

@media screen and (max-width: 767px) {
	.document-mv-slider .swiper-button-prev {
		width: 20px !important;
		height: 20px !important;
		left: 30px !important;
	}
	
	.document-mv-slider .swiper-button-next {
		width: 20px !important;
		height: 20px !important;
		right: 30px !important;
	}

}
.wp-block-table th,.wp-block-table td{
	border:none;
}

.pdf__view{
	width:100%;
	height:100vh;
	 position: relative;
}
.pdf__view iframe{
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.global-sub-menu{
	display: none;
}
.global-sub-menu.-active{
	position: absolute;
	bottom:-100px;
	top:70px;
	background:#fff;
	z-index: 20;
	display: block;
	width: 100%;
	left:0;
	height: 140px;
	padding:0px 0 0 0;
}
.global-sub-menu.-active dl{
	display: flex;
	justify-content: center;
	
	height: 100%;
	padding:10px 0 0 0;
	background:transparent;
	position: relative;
}
.global-sub-menu.-active dl::after{
	content: '';
    width: 100%;
    height: 100px;
    box-shadow: 0 2px 11.4px 0 rgba(0, 0, 0, 0.10);
    background: transparent;
    position: absolute;
    top: -90px;
    left: 0;
	z-index: 0;
}
.global-sub-menu.-active dt{
	color:#3c78c8;
	width: 28.61%;
	width:32.61%;
	font-size:22px;
	text-align: right;
	padding-right:60px;
	background:#f5f5f5;
	display: flex;
	align-items: center;
	justify-content: end;
}
.global-sub-menu.-active dd{
	padding:50px 60px;
	background: #fff;
	display: flex;
	align-items: center;
	width: calc(100% - 28.61%);
	width: calc(100% - 32.61%);
}
.global-sub-menu.-active dd ul{
	display: flex;
	align-items: center;
	gap:60px;
}
.global-sub-menu.-active dd li a{
	position: relative;
}
.global-sub-menu.-active dd li a::after{
	content:'';
	background:url("../images/ico_right.svg") no-repeat;
	width: 8px;
	height: 14px;
	right:-20px;
	position: absolute;
	margin:auto;
	top:0;
	bottom:0;
}
.header-nav .have-sub-nav{
	display: flex;
	gap:5px;
	align-items: center;
}
main.-submenu-on{
	position: relative;
}
main.-submenu-on::after{
	content:'';
	width: 100%;
	height:100vh;
	position: fixed;
	background:rgba(0, 0, 0, 0.15);
	z-index: 2;
	
}
header.-submenu-on  a{
	z-index: 40;
	position: relative;
}
@media screen and (max-width: 767px) {
	.global-sub-menu.-active dd li a::after{
		content:none;
	}
	.global-sub-menu.-active{
		position: relative;
		bottom:auto;
		top:auto;
		background:#fff;
		z-index: 20;
		display: block;
		width: 100%;
		left:auto;
		height: auto;
		padding:0 0 0 0;
	}
	.global-sub-menu.-active dl{
		height:auto;
		flex-direction: column;
	}
	.global-sub-menu.-active dl::after{
		content:none;
	}
	.global-sub-menu.-active dt{
		display: none;
	}
	.global-sub-menu.-active dd{
		padding:10px 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		width:100%;
	}
	.global-sub-menu.-active dd ul{
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		gap:0px;
		width: 100%;
	}
	.global-sub-menu.-active dd li{
		width:100%;
	}
	.global-sub-menu.-active dd li a{
		padding:16px;
		display: block;
		font-size:14px;
	}
	.have-sub.-open .have-sub-nav svg{
		transform: rotate(180deg);
	}
}


.top-mv2{
	background:url("../images/top/bg_kv.webp") no-repeat;
	background-size: cover;
	background-position: center;
	margin-top:80px;
	margin-bottom:30px;
	max-height:883px;
	padding:40px 0;

}
@media screen and (max-width:768px){
	.top-mv2{
		margin-top:60px;
		max-height:auto;
		padding:40px 0 25px 0;
		margin-bottom:0;
	}
}

.top-about{
	background:url("../images/top/about_bg.webp") no-repeat;
	background-size: cover;
	background-position: center;
	padding:40px 0;

}
.function-bg{
	background:url("../images/top/bg_function.webp") no-repeat;
	background-position:right top;
	background-size:100%;
}
.function .tab-menu ul{
	display: flex;
	gap:10px;
	flex-wrap: nowrap;
	justify-content: end;
}
.function .tab-menu li{
	color:#7d7d7d;
	border-radius: 4px 4px 0 0;
	background:#F5F5F5;
	cursor: pointer;
	padding:15px 20px;
}
.function .tab-menu li.swiper-slide-thumb-active{
	color:#3c78c8;
	box-shadow: 0 13px 25px 0 rgba(60, 109, 183, 0.35);
	background:#fff;
}
@media screen and (max-width:768px){
	.top-about{
		padding:40px 0 25px 0;
	}
	.function .tab-menu ul{
		justify-content: start;
		flex-wrap: wrap;
	}
	.function .tab-menu li{
		padding:10px 15px;
		font-size:14px;
	}
}

.about__title__bg{
	background:url("../images/top/bg_line.svg") no-repeat;
	background-position: bottom;
	background-size:contain;
}
.about__grid--block:nth-child(1) .about__title__bg{
	background:url("../images/top/bg_line_s.svg") no-repeat;
	background-position: bottom;
	background-size:contain;
}
.function .swiper-wrapper{
	padding-left:0;
}
.function .tab-menu .swiper-slide{
	width:auto !important;
}
.function .tab-contents .swiper-slide{
	width:100% !important;
}