﻿@charset "utf-8";

/* ****************************************************
index.css
***************************************************** */
@media print, screen and (min-width: 769px) {

	/* common settings
	=================================*/
	#contentsContainer.top {
		-ms-text-size-adjust: 100%;
		-moz-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
		width: 100%;
		margin-top: 0;
		padding-bottom: 0;
		padding-left: 0;
		padding-right: 0;
	}
	#contentsContainer.top #contents {
		width: 100%;
	}
	#contentsContainer.top * {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	#footer-container {
		padding-left: 0;
		padding-right: 0;
	}
	#footer-nav {
		padding-left: 10px;
		padding-right: 10px;
	}
	#footer-nav .footer-inner {
		display: flex;
		height: 100px;
	}
	#footer-nav .footer-link,
	#footer-nav .footer-mark {
		float: none;
	}
	#footer-nav .footer-link {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
		border-left: none;
		margin: 0 -40px 0 0;
	}
	#footer-nav .footer-link > li {
		float: none;
		display: flex;
		align-items: center;
		margin: 0 40px 0 0;
		border-right: none;
	}
	#footer-nav .footer-link > li > a {
		display: inline-block;
		padding: 0;
		height: auto;
		color: #369;
		font-size: 16px;
		line-height: 1.6;
		text-align: left;
		text-decoration: none;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	#footer-nav .footer-link > li > a:hover {
		color: #d7063b;
		text-decoration: underline;
	}
	#footer-nav .footer-link > li > a > span {
		position: relative;
		padding: 0 0 0 17px;
		background: none;
	}
	#footer-nav .footer-link > li > a > span::before {
		content: "";
		position: absolute;
		top: 0.5em;
		left: 0;
		transform: rotate(45deg);
		width: 8px;
		height: 8px;
		margin: 0 0 0 -3px;
		border-top: 2px solid #666;
		border-right: 2px solid #666;
	}
	#footer-nav .footer-mark {
		display: flex;
		align-items: center;
		margin-left: 40px;
	}
	#footer-nav .footer-mark > li {
		float: none;
		padding: 0;
	}
	#footer-nav .footer-mark > li.mark02 {
		margin-left: 20px;
	}
	#footer-nav .footer-mark > li.mark03 {
		margin-left: 18px;
	}
	#footer-nav .footer-mark > li > a {
		display: inline-block;
	}
	#footer-bottom {
		padding-left: 10px;
		padding-right: 10px;
	}
	#footer-bottom #footer-up {
		right: 30px;
	}
	#footer-bottom #footer-up a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%) rotate(-45deg);
		width: 16px;
		height: 16px;
		margin: 6px 0 0 0;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	#footer-bottom #footer-up a:hover {
		background-color: #e35176;
	}
	#footer-bottom #footer-up a img {
		display: none;
	}

	.isSp {
		display: none !important;
	}

	/* page component
	=================================*/
	/*--------------------------------
	 * index-hero
	 *--------------------------------*/
	.index-hero {
		margin-right: -30px;
		margin-left: -30px;
		border-bottom: 1px solid #dddddd;
	}
	/*index-hero-carousel*/
	.index-hero-carousel {
		position: relative;
	}
	.index-hero-carousel .index-hero-carousel-list.slick-slider{
		overflow: hidden;
	}
	.index-hero-carousel .index-hero-carousel-list.slick-initialized{
		opacity: 1;
	}
	.index-hero-carousel .index-hero-carousel-item {
		padding: 0;
		font-size: 16px;
		line-height: 1.6;
	}
	.index-hero-carousel .index-hero-carousel-type {
		display: block;
		color: #333;
	}
	.index-hero-carousel .index-hero-carousel-card {
		position: relative;
		width: 100%;
	}
	.index-hero-carousel .index-hero-carousel-card-body {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.index-hero-carousel .index-hero-carousel-card-body-inner {
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		justify-content: center;
		max-width: max(calc((1680 / 1920) * 100vw), 1680px);
		width: 100%;
		height: 100%;
		margin: 0 auto;
		padding: 0 max(calc((30 / 1920) * 100vw), calc((30 / 1920) * 1280px)) max(calc((20 / 1920) * 100vw), calc((20 / 1920) * 1280px));
	}
	.index-hero-carousel .index-hero-carousel-animate-item {
			display: inline-block;
			vertical-align: middle;
			overflow: hidden
	}
	.index-hero-carousel .index-hero-carousel-animate-item > * {
			position: relative;
			display: block;
			transform: translate3d(0,105%,0)
	}
	.index-hero-carousel .index-hero-carousel-animate-item:nth-child(2) > * {
		transition-delay: .2s !important;
	}
	.index-hero-carousel .index-hero-carousel-animate-item:nth-child(3) > * {
		transition-delay: .4s !important;
	}
	.index-hero-carousel .is-animated .index-hero-carousel-animate-item > * {
		transform: translateZ(0);
		transition: transform 1.2s cubic-bezier(.165,.84,.44,1);
	}
	.index-hero-carousel .index-hero-carousel-card-frame {
		display: flex;
		justify-content: center;
		overflow: hidden;
	}
	.index-hero-carousel .index-hero-carousel-card-image {
		width: 100%;
		height: auto;
		aspect-ratio: 24 / 7;
	}
	.index-hero-carousel .index-hero-carousel-card-title {
		font-weight: bold;
		font-size: max(calc((50 / 1920) * 100vw), calc((50 / 1920) * 1280px));
		line-height: 1.5;
	}
	.index-hero-carousel .index-hero-carousel-card-title .index-hero-carousel-card-text-emphasis{
		font-size: max(calc((70 / 1920) * 100vw), calc((70 / 1920) * 1280px));
		line-height: max(calc((75 / 1920) * 100vw), calc((75 / 1920) * 1280px));
	}
	.index-hero-carousel .index-hero-carousel-card-title .index-hero-carousel-card-text-small{
		font-size: max(calc((46 / 1920) * 100vw), calc((46 / 1920) * 1280px));
		line-height: max(calc((75 / 1920) * 100vw), calc((75 / 1920) * 1280px));
	}
	.index-hero-carousel .index-hero-carousel-card-title .index-hero-carousel-card-text-red{
		color: #d7063b;
	}
	.index-hero-carousel .index-hero-carousel-card-description {
		margin-top: max(calc((6 / 1920) * 100vw), calc((6 / 1920) * 1280px));
		font-size: max(calc((18 / 1920) * 100vw), calc((18 / 1920) * 1280px));
		line-height: 1.6;
	}
	.index-hero-carousel .index-hero-carousel-card-button {
		margin-top: max(calc((32 / 1920) * 100vw), calc((32 / 1920) * 1280px));
		display: flex;
	}
	.index-hero-carousel .index-hero-carousel-card-button .index-hero-carousel-card-button-type {
		position: relative;
		display: flex;
		justify-content: center;
		min-width: max(calc((200 / 1920) * 100vw), calc((200 / 1920) * 1280px));
		min-height: max(calc((40 / 1920) * 100vw), calc((40 / 1920) * 1280px));
		border-radius: max(calc((20 / 1920) * 100vw), calc((20 / 1920) * 1280px));
		border: max(calc((2 / 1920) * 100vw), calc((2 / 1920) * 1280px))  solid #333333;
		padding: max(calc((6 / 1920) * 100vw), calc((6 / 1920) * 1280px)) max(calc((34 / 1920) * 100vw), calc((34 / 1920) * 1280px)) max(calc((6 / 1920) * 100vw), calc((6 / 1920) * 1280px)) max(calc((20 / 1920) * 100vw), calc((20 / 1920) * 1280px));
		background: #333333;
		color: #ffffff;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel .index-hero-carousel-type:hover .index-hero-carousel-card-button .index-hero-carousel-card-button-type {
		border: max(calc((2 / 1920) * 100vw), calc((2 / 1920) * 1280px)) solid #d7063b;
		background: #d7063b;
		color: #ffffff;
	}
	.index-hero-carousel .index-hero-carousel-card-button .index-hero-carousel-card-button-type::after {
		position: absolute;
		top: calc(50% - max(calc((4 / 1920) * 100vw), calc((4 / 1920) * 1280px)));
		right: max(calc((22 / 1920) * 100vw), calc((22 / 1920) * 1280px));
		display: block;
		width: max(calc((6 / 1920) * 100vw), calc((6 / 1920) * 1280px));
		height: max(calc((6 / 1920) * 100vw), calc((6 / 1920) * 1280px));
		border-top: max(calc((2 / 1920) * 100vw), calc((2 / 1920) * 1280px)) solid #ffffff;
		border-right: max(calc((2 / 1920) * 100vw), calc((2 / 1920) * 1280px)) solid #ffffff;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-hero-carousel .index-hero-carousel-card-button .index-hero-carousel-card-button-label {
		font-weight: bold;
		font-size: max(calc((14 / 1920) * 100vw), calc((14 / 1920) * 1280px));
		line-height: 1.6;
	}

	.index-hero-carousel .index-hero-carousel-item-v2 {
		padding: 0;
		font-size: max(calc((16 / 1920) * 100vw), calc((16 / 1920) * 1280px));
		line-height: 1.6;
	}
	.index-hero-carousel .index-hero-carousel-item-v2 .index-hero-carousel-type {
		display: block;
		color: #fff;
	}
	.index-hero-carousel .index-hero-carousel-item-v2 .index-hero-carousel-card-button .index-hero-carousel-card-button-type {
		border-color: #333333;
		background: #ffffff;
		color: #333333;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel .index-hero-carousel-item-v2 .index-hero-carousel-card-button .index-hero-carousel-card-button-type::after {
		border-top-color: #d7063b;
		border-right-color: #d7063b;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel .index-hero-carousel-item-v2 .index-hero-carousel-type:hover .index-hero-carousel-card-button .index-hero-carousel-card-button-type {
		border-color: #d7063b;
		background: #d7063b;
		color: #ffffff;
	}
	.index-hero-carousel .index-hero-carousel-item-v2 .index-hero-carousel-type:hover .index-hero-carousel-card-button .index-hero-carousel-card-button-type::after {
		border-top-color: #ffffff;
		border-right-color: #ffffff;
	}
	.index-hero-carousel .index-hero-carousel-item-v3 {
		padding: 0;
		font-size: max(calc((16 / 1920) * 100vw), calc((16 / 1920) * 1280px));
		line-height: 1.6;
	}
	.index-hero-carousel .index-hero-carousel-item-v3 .index-hero-carousel-type {
		display: block;
		color: #fff;
	}
	.index-hero-carousel .index-hero-carousel-item-v3 .index-hero-carousel-card-button .index-hero-carousel-card-button-type {
		border-color: #333333;
		background: #ffffff;
		color: #333333;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel .index-hero-carousel-item-v3 .index-hero-carousel-card-button .index-hero-carousel-card-button-type::after {
		border-top-color: #d7063b;
		border-right-color: #d7063b;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel .index-hero-carousel-item-v3 .index-hero-carousel-type:hover .index-hero-carousel-card-button .index-hero-carousel-card-button-type {
		border-color: #d7063b;
		background: #d7063b;
		color: #ffffff;
	}
	.index-hero-carousel .index-hero-carousel-item-v3 .index-hero-carousel-type:hover .index-hero-carousel-card-button .index-hero-carousel-card-button-type::after {
		border-top-color: #ffffff;
		border-right-color: #ffffff;
	}
	.index-hero-carousel .index-hero-carousel-item-v3 .index-hero-carousel-type:hover .index-hero-carousel-card-button .index-hero-carousel-card-button-type {
		border: max(calc((2 / 1920) * 100vw), calc((2 / 1920) * 1280px))  solid #ffffff;
		background: #000000;
		color: #ffffff;
	}
	.index-hero-carousel .index-hero-carousel-item-v3 .index-hero-carousel-type:hover .index-hero-carousel-card-button .index-hero-carousel-card-button-type::after {
		border-top: max(calc((2 / 1920) * 100vw), calc((2 / 1920) * 1280px)) solid #d7063b;
		border-right: max(calc((2 / 1920) * 100vw), calc((2 / 1920) * 1280px)) solid #d7063b;
	}
	.index-hero-carousel  .index-hero-carousel-list:not(.slick-initialized){
		height: max(calc((560 / 1920) * 100vw), calc((560 / 1920) * 1280px));
		overflow: hidden;
	}
	.index-hero-carousel  .slick-arrow{
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		border: none;
		background: none;
		text-indent: -100vw;
		white-space: nowrap;
		background-color: #d7063b;
		width: 39px;
		height: 39px;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel .slick-arrow::after {
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: center;
		transform: rotateZ(45deg);
		content: "";
		box-sizing: border-box
	}
	.index-hero-carousel .slick-arrow:hover {
		opacity: .7;
	}
	.index-hero-carousel .slick-arrow.slick-prev {
		margin-right: 36px;
	}
	.index-hero-carousel .slick-arrow.slick-next {
		margin-left: 30px;
	}
	.index-hero-carousel .slick-arrow.slick-prev:after {
		right: calc(50% - 6px);
		transform: rotateZ(-135deg);
	}
	.index-hero-carousel .slick-arrow.slick-next:after {
		right: calc(50% - 3px);
	}

	.index-hero-carousel .index-hero-carousel-list>.slick-list>.slick-track>.slick-slide>div:not([class]) {
		font-size: 0;
		line-height: 1;
	}
	.index-hero-carousel-control {
		position: absolute;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		margin: 0;
	}
	.index-hero-carousel-pager>.slick-dots {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		gap: 3px 15px;
		margin: 0;
		padding: 0;
	}	
	.index-hero-carousel-pager>.slick-dots>li {
		display: flex;
		margin: 0;
		font-size: 0;
		list-style: none;
	}
	.index-hero-carousel-pager>.slick-dots>li>button {
		display: inline-block;
		width: 12px;
		height: 12px;
		padding: 0;
		border: none;
		border-radius: 50%;
		outline: none;
		background-color: #bbbbbb;
		text-indent: -9999em;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel-pager>.slick-dots>li>button:hover {
		background-color: #d7063b;
	}
	.index-hero-carousel-pager>.slick-dots>li.slick-active>button {
		background-color: #d7063b;
		pointer-events: none;
	}
	.index-hero-carousel-switch-pause, 
	.index-hero-carousel-switch-play {
		position: relative;
		appearance: none;
		overflow: hidden;
		width: 32px;
		height: 32px;
		border-radius: 16px;
		border: 1px solid #cccccc;
		margin-left: 18px;
		background-color: #fff;
		font-size: 0;
		text-indent: -100vw;
		white-space: nowrap;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel-switch-pause::after, 
	.index-hero-carousel-switch-play::after {
		position: absolute;
		top: calc(50% - 6px);
		left: calc(50% - 6px);
		display: block;
		width: 12px;
		height: 12px;
		background: #333333;
		mask-position: center;
		mask-repeat: no-repeat;
		content: '';
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-hero-carousel-switch-pause::after {
		mask-image: url(/images_renewal/index_ic02.webp);
		mask-size: auto 10px;
	}
	.index-hero-carousel-switch-play::after {
		mask-image: url(/images_renewal/index_ic01.webp);
		mask-size: auto 11px;
		margin-top: 1px;
		margin-left: 1px;
	}
	.index-hero-carousel-switch-pause:hover, 
	.index-hero-carousel-switch-play:hover {
		background: #d7063b;
	}
	.index-hero-carousel-switch-pause:hover::after, 
	.index-hero-carousel-switch-play:hover::after {
		background: #ffffff;
	}


	/*--------------------------------
	* index-urgent-notice
	*--------------------------------*/
	#in_urgent:not(:has(.index-urgent-notice)){
		display: none;
	}
	.index-urgent-notice {
		margin-right: -30px;
		margin-left: -30px;
		border-bottom: 1px solid #dddddd;
		padding-right: 30px;
		padding-left: 30px;
		background: #fff3f6;
	}
	.index-urgent-notice .index-urgent-notice-inner {
		display: flex;
		max-width: 1620px;
		padding: 15px 0;
		margin: 0 auto;
	}
	.index-urgent-notice .index-urgent-notice-head {
		width: 218px;
		text-align: center;
		padding-right: 20px;
	}
	.index-urgent-notice .index-urgent-notice-body {
		position: relative;
		flex: 1 1;
		padding-left: 30px;
	}
	.index-urgent-notice .index-urgent-notice-body::before {
		position: absolute;
		top: 6px;
		left: 0;
		width: 1px;
		height: calc(100% - (6px * 2));
		background: #dddddd;
		content: '';
	}
	.index-urgent-notice .index-urgent-notice-title {
		font-weight: bold;
		font-size: 18px;
		color: #d7063b;
	}


	/*--------------------------------
	* index-important-notice
	*--------------------------------*/
	#in_important:not(:has(.index-important-notice)){
		display: none;
	}
	.index-important-notice {
		margin-right: -30px;
		margin-left: -30px;
		padding-right: 30px;
		padding-left: 30px;
		border-bottom: 1px solid #dddddd;
	}
	.index-important-notice .index-important-notice-inner {
		display: flex;
		max-width: 1620px;
		padding: 18px 0 22px;
		margin: 0 auto;
	}
	.index-important-notice .index-important-notice-head {
		width: 218px;
		text-align: center;
		padding-right: 20px;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.index-important-notice .index-important-notice-body {
		position: relative;
		flex: 1 1;
		padding-left: 30px;
	}
	.index-important-notice .index-important-notice-body::before {
		position: absolute;
		top: 6px;
		left: 0;
		width: 1px;
		height: calc(100% - (6px * 2));
		background: #dddddd;
		content: '';
	}
	.index-important-notice .index-important-notice-title {
		font-weight: bold;
		font-size: 18px;
		color: #d7063b;
	}
	.index-important-notice .index-important-notice-button {
		margin-top: 12px;
		display: flex;
	}
	.index-important-notice .index-important-notice-button .index-important-notice-button-type {
		position: relative;
		display: flex;
		justify-content: center;
		min-width: 200px;
		min-height: 40px;
		border-radius: 20px;
		border: 2px  solid #333333;
		padding: 6px 34px 6px 20px;
		background: #333333;
		color: #ffffff;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-important-notice .index-important-notice-button .index-important-notice-button-type:hover {
		border: 2px  solid #d7063b;
		background: #d7063b;
		color: #ffffff;
		text-decoration: none;
	}
	.index-important-notice .index-important-notice-button .index-important-notice-button-type::after {
		position: absolute;
		top: calc(50% - 4px);
		right: 22px;
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-important-notice .index-important-notice-button .index-important-notice-button-label {
		font-weight: bold;
		font-size: 14px;
		line-height: 1.6;
	}
	/*index-important-notice-box*/
	.index-important-notice-box-wrap {
		margin: 30px auto 0;
		max-width: 1620px;
		width: 100%;
	}
	.index-important-notice-box {
		border: 2px solid #cccccc;
		padding: 10px;
	}
	.index-important-notice-box .index-important-notice-box-text {
		text-align: center;
	}
	.index-important-notice-box .index-important-notice-box-link {
		font-size: 16px;
		line-height: 1.6;
	}
	.index-important-notice-box a.index-important-notice-box-link {
		color: #2b7bb2;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-important-notice-box a.index-important-notice-box-link:hover {
		color: #d7063b;
	}
	.index-important-notice-box .index-important-notice-box-link:not(.blankIc):not(.pdfIc)::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-important-notice-box .index-important-notice-box-link.blankIc::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-important-notice-box .index-important-notice-box-link.pdfIc::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 0 0 10px;
		background-image: url("/images_renewal/index_link_ic02.webp");
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}

	/*--------------------------------
	* index-notice
	*--------------------------------*/
	.index-notice > *:first-child {
		margin-top: 0 !important;
	}
	.index-notice .index-notice-article {
		margin-top: 11px;
	}
	.index-notice .index-notice-type ,
	.index-notice .index-notice-type-nolink {
		display: block;
		color: #333;
		text-decoration: none;
	}
	.index-notice .index-notice-body {
		display: flex;
		gap: 0 18px;
	}
	.index-notice .index-notice-datetime {
		display: flex;
		gap: 0 20px;
	}
	.index-notice .index-notice-date {
		display: block;
		font-size: 16px;
	}
	.index-notice .index-notice-time {
		display: block;
		font-size: 16px;
	}
	.index-notice .index-notice-title {
		font-size: 16px;
	}
	.index-notice a.index-notice-type .index-notice-title {
		color: #336699;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-notice a.index-notice-type:not(.blankIc):not(.pdfIc) .index-notice-title::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-notice a.index-notice-type.blankIc .index-notice-title::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-notice a.index-notice-type.pdfIc .index-notice-title::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 0 0 10px;
		background-image: url("/images_renewal/index_link_ic02.webp");
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-notice a.index-notice-type:hover .index-notice-title {
		text-decoration: underline;
		color: #d7063b;
	}

	/*--------------------------------
	 * index-layout-v1
	 *--------------------------------*/
	.index-layout-v1{
		display: flex;
		justify-content: space-between;
		max-width: 1620px;
		width: 100%;
		margin: 40px auto 0;
		padding: 0;
		gap: 0 74px
	}
	.index-layout-v1 .index-layout-col:nth-child(odd){
		flex: 1 1;
	}
	.index-layout-v1 .index-layout-col:nth-child(even){
		width: 483px;
	}


	/*--------------------------------
	 * index-news
	 *--------------------------------*/
	.index-news .index-news-head{
		display: flex;
		align-items: flex-end;
		gap: 0 40px
	}
	.index-news .index-news-body{
		margin-top: 28px;
	}
	.index-news .index-news-title{
		font-weight: bold;
		font-size: 48px;
	}
	.index-news .index-news-tabs-list {
		display: flex;
	}
	.index-news .index-news-tabs-list > li{
		position: relative;
		min-width: 121px;
	}
	.index-news .index-news-tabs-list > li+ li::before{
		top: 18px;
		left: 0;
		position: absolute;
		width: 1px;
		height: 20px;	
		background: #dddddd;
		content: '';
	}
	.index-news .index-news-tabs-list > li a{
		display: block;
		padding: 15px 13px 15px 14px;
		border-bottom: 4px solid transparent;
		text-align: center;
		color: #333333;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-news .index-news-tabs-list > li a:hover,
	.index-news .index-news-tabs-list > li.is-active a{
		text-decoration: none;
		border-bottom-color: #d7063b;
		color: #d7063b;
	}
	.index-news .index-news-tabs-label {
		font-weight: bold;
		font-size: 16px;
		line-height: 1.6;
	}
	.index-news-list dl {
		display: flex;
		padding: 16px 0;
		border-bottom: 1px solid #ddd;
	}
	.index-news-list dl:first-child {
		border-top: 1px solid #ddd;
	}
	.index-news-list dl > dt {
		display: flex;
	}
	.index-news-list dl > dd {
		flex: 1;
		padding: 1px 0 0;
		font-size: 16px;
	}
	.index-news-list dl > dd a{
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-news-list dl > dd a:not(.blankIc):not(.pdfIc)::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-news-list dl > dd a.blankIc::after {
		content: "";
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background: url("/images_renewal/index_link_ic01.webp") no-repeat 0 0;
		background-size: 100% 100%;
		vertical-align: middle;
	}
	.index-news-list dl > dd a.pdfIc::after {
		content: "";
		position: relative;
		top: -1px;
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 0 0 10px;
		background-image: url("/images_renewal/index_link_ic02.webp");
		background-size: 100% 100%;
		vertical-align: middle;
	}
	.index-news-list .date {
		width: 109px;
	}
	.index-news-list .newsIcon {
		display: flex;
		margin: 0 20px 0 0;
	}
	.index-news-list .newsIcon > li {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 109px;
		height: 25px;
		padding: 0 0 1px;
		border: 1px solid #666;
		color: #666;
		font-size: 12px;
		line-height: 1.1;
		text-align: center;
	}
	.index-news-list .newsIcon > li:nth-child(2n) {
		margin-left: 10px;
	}
	.index-news-list .newsIcon > li.newsIcon-icon01 {
		border-color: #d7063b;
		color: #d7063b;
	}
	.index-news-list .forAllList > li.newsIcon-icon01 {
		border-color: #d7063b;
		color: #d7063b;
	}
	.index-news-list .forAllList {
		display: flex;
		justify-content: center;
		margin: 32px 0 0;
	}
	.index-news-list .forAllList > a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 378px;
		height: 56px;
		border-radius: 30px;
		padding: 10px 35px 10px 30px;
		background-color: #333;
		color: #fff;
		font-size: 16px;
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
		text-decoration: none;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-news-list .forAllList > a::after {
		position: absolute;
		top: 50%;
		right: 24px;
		transform: translateY(-50%) rotate(45deg);
		width: 6px;
		height: 6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		content: "";
	}
	.index-news-list .forAllList > a:hover {
		background-color: #d7063b;
	}


	/*--------------------------------
	 * index-event
	 *--------------------------------*/
	.index-event .index-event-head{
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 0 40px
	}
	.index-event .index-event-body{
		margin-top: 20px;
	}
	.index-event .index-event-title{
		font-weight: bold;
		font-size: 48px;
	}
	.index-event .index-event-link-text{
		font-size: 16px;
	}
	.index-event .index-event-link-text a{
		position: relative;
		padding-left: 17px;
		line-height: 1.6;
	}
	.index-event .index-event-link-text a::before {
		position: absolute;
		top: calc(0.5em* 1.6 - 3px);
		left: -2px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-event .index-event-card-wrap>.slick-list>.slick-track{
		display: flex;
	}
	.index-event .index-event-card-wrap>.slick-list>.slick-track>.slick-slide{
		height: auto !important;
	}
	.index-event .index-event-card-wrap>.slick-list>.slick-track>.slick-slide>div{
		height: 100%;
	}
	.index-event .index-event-card-wrap {
		margin: 0 -15px -15px;
	}
	.index-event .index-event-card {
		padding: 0 15px 15px;
		height: 100%;
	}
	.index-event-card .index-event-card-type {
		display: flex;
		flex-direction: column;
		text-decoration: none;
		color: #333333;
		border-radius: 16px;
		box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
		overflow: hidden;
		height: 100%;
	}
	.index-event-card .index-event-card-body {
		flex: 1 1;
		padding: 14px 22px 18px;
	}
	.index-event-card .index-event-card-frame {
		margin: 0;
		line-height: 1;
	}
	.index-event-card .index-event-card-image {
		width: 100%;
    height: auto;
	}
	.index-event-card .index-event-card-title {
		font-weight: bold;
		font-size: 18px;
	}
	.index-event-card a.index-event-card-type .index-event-card-title {
		color: #336699;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-event-card a.index-event-card-type:not(.blankIc) .index-event-card-title::after {
			position: relative;
			top: -2px;
			display: inline-block;
			width: 6px;
			height: 6px;
			margin: 0 0 0 8px;
			border-top: 2px solid #d91547;
			border-right: 2px solid #d91547;
			transform: rotateZ(45deg);
			content: '';
	}
	.index-event-card a.index-event-card-type.blankIc .index-event-card-title::after {
			position: relative;
			top: -1px;
			display: inline-block;
			width: 12px;
			height: 11px;
			margin: 0 0 0 10px;
			background-image: url(/images_renewal/index_link_ic01.webp);
			background-size: 100% 100%;
			vertical-align: middle;
			content: "";
	}
	.index-event-card a.index-event-card-type:hover .index-event-card-title {
		text-decoration: underline;
		color: #d7063b;
	}
	.index-event-card .index-event-card-date {
		margin-top: 8px;
		font-size: 16px;
	}
	.index-event-card .index-event-card-venue {
		position: relative;
		margin-top: 2px;
		padding-left: 3.1em;
		font-size: 16px;
	}
	.index-event-card .index-event-card-venue > .index-event-card-venue-mark {
		position: absolute;
		top: 0;
		left: 0;
	}

  .index-event-carousel .index-event-card-wrap:not(.slick-initialized){
    display: none;
  }
	.index-event-carousel .slick-arrow{
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		border: none;
		background: none;
		text-indent: -100vw;
		white-space: nowrap;
		background-color: #d7063b;
		width: 39px;
		height: 39px;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-event-carousel .slick-arrow::after {
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: center;
		transform: rotateZ(45deg);
		content: "";
		box-sizing: border-box
	}
	.index-event-carousel .slick-arrow:hover {
		opacity: .7;
	}
	.index-event-carousel .slick-arrow.slick-prev {
		margin-right: 32px;
	}
	.index-event-carousel .slick-arrow.slick-next {
		margin-left: 32px;
	}
	.index-event-carousel .slick-arrow.slick-prev:after {
		right: calc(50% - 6px);
		transform: rotateZ(-135deg);
	}
	.index-event-carousel .slick-arrow.slick-next:after {
		right: calc(50% - 3px);
	}
	.index-event-carousel-control {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		margin: 30px 0 0;
	}
	.index-event-carousel-switch-pause, 
	.index-event-carousel-switch-play {
		position: relative;
		appearance: none;
		overflow: hidden;
		width: 30px;
		height: 30px;
		border-radius: 15px;
		border: 2px solid #dddddd;
		background-color: #fff;
		font-size: 0;
		text-indent: -100vw;
		white-space: nowrap;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-event-carousel-switch-pause::after, 
	.index-event-carousel-switch-play::after {
		position: absolute;
		top: calc(50% - 6px);
		left: calc(50% - 6px);
		display: block;
		width: 12px;
		height: 12px;
		background: #333333;
		mask-position: center;
		mask-repeat: no-repeat;
		content: '';
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-event-carousel-switch-pause::after {
		mask-image: url(/images_renewal/index_ic02.webp);
		mask-size: auto 10px;
	}
	.index-event-carousel-switch-play::after {
		mask-image: url(/images_renewal/index_ic01.webp);
		mask-size: auto 11px;
		margin-left: 1px;
	}
	.index-event-carousel-switch-pause:hover, 
	.index-event-carousel-switch-play:hover {
		background: #d7063b;
	}
	.index-event-carousel-switch-pause:hover::after, 
	.index-event-carousel-switch-play:hover::after {
		background: #ffffff;
	}

	/*--------------------------------
	 * index-service
	 *--------------------------------*/
	.index-service{
		margin: 80px -30px 0;
		padding-right: 30px;
		padding-left: 30px;
		background-color: #eff1f2;
		background-image: url("/images_renewal/index_bg01_01.webp"), url("/images_renewal/index_bg01_02.webp");
		background-size: 100% auto, 100% auto;
		background-repeat: no-repeat;
		background-position: center top, center bottom;
	}
	.index-service .index-service-inner{
		max-width: 1620px;
		width: 100%;
		margin: 0 auto;
		padding: 57px 0 78px;
	}
	.index-service .index-service-title{
		font-weight: bold;
		font-size: 48px;
		line-height: 1.4;
		text-align: center;
	}
	.index-service .index-service-text{
		margin-top: 12px;
		font-size: 16px;
		text-align: center;
	}
	.index-service .index-service-title-v2{
		margin: 48px 0 0;
		font-weight: bold;
		font-size: 28px;
		line-height: 1.4;
		text-align: center;
	}
	.index-service .index-service-title-v2 .index-service-title-v2-emphasis {
		font-size: 34px;
	}
	.index-service .index-service-title-v3{
		margin: 72px 0 0;
		font-weight: bold;
		font-size: 28px;
		line-height: 1.4;
		text-align: center;
	}
	.index-service .index-service-title-v3 .index-service-title-v3-emphasis {
		font-size: 34px;
	}
	.index-service .index-service-search {
		display: flex;
		justify-content: center;
		width: 836px;
		margin: 32px auto 0;
	}
	.index-service .index-service-search .index-service-search-input {
		flex:1 1;
		height: 60px;
		border-radius: 30px 0 0 30px;
		border: 2px solid #dddddd;
		padding: 15px 32px;
		background: #ffffff;
		font-size: 16px;
	}
	.index-service .index-service-search .index-service-search-input::placeholder {
		color: #777777;
	}
	.index-service .index-service-search .index-service-search-button {
		position: relative;
		height: 60px;
		border-radius: 0 30px 30px 0;
		border: 2px solid #dddddd;
		padding: 15px 52px 15px 23px;
		background: #ffffff;
		text-align: center;
		font-weight: bold;
		font-size: 16px;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-service .index-service-search .index-service-search-button::after {
		position: absolute;
		top: calc(50% - 10px);
		right: 22px;
		display: block;
		width: 20px;
		height: 20px;
		background:  #333333;
		mask-image: url("/images_renewal/index_ic03.svg");
		mask-repeat: no-repeat;
		mask-size: 20px auto;
		content: '';
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-service .index-service-search .index-service-search-button:hover {
		color: #d7063b;
	}
	.index-service .index-service-search .index-service-search-button:hover::after {
		background:  #d7063b;
	}
	.index-service .index-service-search .index-service-search-input +.index-service-search-button {
		border-left: none;
	}
	.index-service .index-service-card-wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 30px 36px;
		margin-top: 40px;
	}
	.index-service .index-service-card-wrap > *{
		width: calc(((100% - (36px * 3)) / 4));
	}
	.index-service .index-service-card {
	}
	.index-service .index-service-card .index-service-card-type {
		position: relative;
		display: flex;
		align-items: center;
		gap: 0 13px;
		min-height: 80px;
		height: 100%;
		padding: 15px 38px 15px 22px;
		border-radius: 18px;
		background: #ffffff;
		color: #333333;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-service .index-service-card .index-service-card-type::after {
		position: absolute;
		top: calc(50% - 4px);
		right: 22px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-service .index-service-card .index-service-card-type:hover {
		color: #d7063b;
	}
	.index-service .index-service-card .index-service-card-frame {
		width: 48px;
		height: 48px;
	}
	.index-service .index-service-card .index-service-card-title {
		font-weight: bold;
		font-size: 18px;
		line-height: 1.4;
	}

	.index-service .index-service-button {
		margin-top: 40px;
		display: flex;
		justify-content: center;
	}
	.index-service .index-service-button .index-service-button-type {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		min-width: 378px;
		height: 56px;
		border-radius: 30px;
		padding: 10px 35px 10px 30px;
		background-color: #333;
		color: #fff;
		text-align: center;
		text-decoration: none;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-service .index-service-button .index-service-button-type:hover {
		background: #d7063b;
		color: #ffffff;
		text-decoration: none;
	}
	.index-service .index-service-button .index-service-button-type::after {
		position: absolute;
		top: calc(50% - 4px);
		right: 24px;
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-service .index-service-button .index-service-button-label {
		font-weight: bold;
		font-size: 16px;
		line-height: 1.4;
	}

	/*index-service-box*/
	.index-service-box{
		margin-top: 62px;
		border-radius: 18px;
		background-color: #fff;
	}
	.index-service-box .index-service-box-inner{
		padding: 58px 40px 60px;
	}
	.index-service-box .index-service-box-inner > *{
		max-width: 1460px;
		margin: 0 auto;
	}
	.index-service-box .achievement_subttl{
		text-align: center;
		font-weight: bold;
		font-size: 28px;
		line-height: 1.4;
	}
	.index-service-box .achievement_list{
		display: flex;
		gap: 0 36px;
		margin-top: 36px;
	}
	.index-service-box .achievement_list > li{
		width: calc((100% - 36px)/2);
	}
	.index-service-box .achievement_list > li > a {
		position: relative;
		display: block;
		height: 100%;
		border-radius: 16px;
		border: 2px solid #dddddd;
		overflow: hidden;
		padding: 25px 50px 22px 30px;
		color: #333333;
	}
	.index-service-box .achievement_list > li > a::after {
		position: absolute;
		top: calc(50% - 4px);
		right: 22px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-service-box .achievement_list > li > a:hover {
		text-decoration: none;
	}
	.index-service-box .achievement_list > li > a:hover .achievement_data_logo{
		opacity: .7;
	}
	.index-service-box .achievement_list > li > a:hover .achievement_data_info .achievement_data_name {
		text-decoration: underline;
		color: #d7063b;
	}
	.index-service-box .achievement_list > li .achievement_data {
		padding-left: calc(134px + 30px);
	}
	.index-service-box .achievement_list > li .achievement_data_logo {
		position: absolute;
		top: 25px;
		left: 30px;
		width: 134px;
		padding: 5px 0;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-service-box .achievement_list > li .achievement_data_logo img{
		width: 100%;
	}
	.index-service-box .achievement_list > li .achievement_data_info .achievement_data_name  {
		font-weight: bold;
		font-size: 20px;
		line-height: 1.4;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-service-box .achievement_list > li .achievement_data_pic {
		display: none;
	}
	.index-service-box .achievement_list > li .achievement_data_text {
		margin-top: 10px;
		font-size: 16px;
	}
	.index-service-box .achievement_list > li .hashtagList {
		display: flex;
		flex-wrap: wrap;
		gap: 2px 20px;
		margin-top: 12px;
	}
	.index-service-box .achievement_list > li .hashtagList  > li {
    font-size: 13px;
    color: #333333;
	}
	.index-service-box .wideCarousel {
		margin-top: 30px;
	}
	.index-service-box .wideCarousel li {
		display: block !important;
		width: fit-content !important;
		margin: 0 15px;
	}
	.index-service-box .wideCarousel li a{
		display: block;
		overflow: hidden;
		width: 220px;
	}
	.index-service-box .wideCarousel li a > img{
		width: 100%;
	}
	.index-service-box .wideCarousel:not(.slick-initialized) {
		display: none;
	}
	.index-service-box .btnArea{
		margin-top: 40px;
		display: flex;
		justify-content: center;
	}
	.index-service-box .btnArea .c-btn{
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-shrink: 0;
		min-width: 378px;
		min-height: 56px;
		margin: 0 auto;
		border-radius: 30px;
		padding: 10px 35px 10px 30px;
		background-color: #333;
		color: #fff;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-service-box .btnArea .c-btn::after{
		position: absolute;
		top: calc(50% - 4px);
		right: 24px;
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-service-box .btnArea .c-btn:hover {
		background: #d7063b;
		color: #ffffff;
		text-decoration: none;
	}
	.index-service-box .btnArea .c-btn > span{
		font-weight: bold;
		font-size: 16px;
	}

	/*index-service-card-v2*/
	.index-service .index-service-card-v2 {
		margin-top: 32px;
	}
	.index-service .index-service-card-v2 a.index-service-card-v2-type {
		display: block;
		height: 100%;
		border-radius: 18px;
		background: #ffffff;
		text-decoration: none;
		color: #333333;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-type:hover .index-service-card-v2-frame{
		opacity: .7;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-type:hover .index-service-card-v2-title-logo{
		opacity: .7;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-type:hover .index-service-card-v2-title-label{
		text-decoration: underline;
		color: #d7063b;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-inner {
		overflow: hidden;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0 100px;
		height: 100%;
		padding: 18px 0;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-head {
		margin-bottom: -44px;
		margin-left: 20px;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-body {
		padding-bottom: 18px;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-frame {
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title {
		display: flex;
		align-items: center;
		gap: 0 30px;
		padding-left: 4px;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title-logo {
		width: 216px;
		margin-top: 10px;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title-label {
		font-weight: bold;
		font-size: 28px;
		color: #333333;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title-label::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-service-card-v2-text{
		margin-top: 30px;
		font-size: 16px;
	}

	/*--------------------------------
	 * index-technology-topics
	 *--------------------------------*/
	.index-technology-topics {
		margin: 125px -30px 0;
		padding-right: 30px;
		padding-left: 30px;
		background-color: #eff1f2;
	}
	.index-technology-topics .index-technology-topics-inner {
		display: flex;
		gap: 0 36px;
		max-width: 1620px;
		width: 100%;
		margin: 0 auto;
		padding: 62px 0 62px;
	}
	.index-technology-topics .index-technology-topics-head {
		align-self: center;
		width: 378px;
		margin-top: -5px;
	}
	.index-technology-topics .index-technology-topics-body {
		flex: 1 1;
		overflow: hidden;
		margin-top: calc((50px + 56px) * -1);
		margin-right: -15px;
		margin-left: -15px;
		padding-right: 15px;
		padding-left: 15px;
	}
	.index-technology-topics .index-technology-topics-title {
		font-weight: bold;
		font-size: 40px;
		line-height: 1.4;
	}

	/* index-technology-topics-card */
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track{
		display: flex;
	}
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track>.slick-slide{
		height: auto !important;
	}
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track>.slick-slide>div{
		height: 100%;
	}
	.index-technology-topics .index-technology-topics-card-wrap {
		margin: 0 -15px -15px;
	}
	.index-technology-topics .index-technology-topics-card {
		padding: 0 18px 15px;
		height: 100%;
	}
	.index-technology-topics-card .index-technology-topics-card-type {
		display: flex;
		flex-direction: column;
		overflow: hidden;
		box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
		height: 100%;
		border-radius: 16px;
		text-decoration: none;
		color: #333333;
	}
	.index-technology-topics-card .index-technology-topics-card-head {
		position: relative;
	}
	.index-technology-topics-card .index-technology-topics-card-body {
		flex: 1 1;
		padding: 19px 22px;
		background: #ffffff;
	}
	.index-technology-topics-card .index-technology-topics-card-frame {
		margin: 0;
		line-height: 1;
		overflow: hidden;
	}
	.index-technology-topics-card .index-technology-topics-card-image {

		width: 100%;
		height: auto;
		transition: all 0.6s linear 0s;
	}
	.index-technology-topics-card .index-technology-topics-card-title {
		font-weight: bold;
		font-size: 18px;
	}
	.index-technology-topics-card .index-technology-topics-card-text {
		margin-top: 5px;
		font-size: 16px;
	}
	.index-technology-topics-card .index-technology-topics-card-badge {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		padding: 3px 9px;
		background: #333333;
		font-size: 12px;
		color: #ffffff;
	}
	.index-technology-topics-card a.index-technology-topics-card-type .index-technology-topics-card-title {
		color: #336699;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-technology-topics-card a.index-technology-topics-card-type:not(.blankIc) .index-technology-topics-card-title::after {
			position: relative;
			top: -2px;
			display: inline-block;
			width: 6px;
			height: 6px;
			margin: 0 0 0 8px;
			border-top: 2px solid #d91547;
			border-right: 2px solid #d91547;
			transform: rotateZ(45deg);
			content: '';
	}
	.index-technology-topics-card a.index-technology-topics-card-type.blankIc .index-technology-topics-card-title::after {
			position: relative;
			top: -1px;
			display: inline-block;
			width: 12px;
			height: 11px;
			margin: 0 0 0 10px;
			background-image: url(/images_renewal/index_link_ic01.webp);
			background-size: 100% 100%;
			vertical-align: middle;
			content: "";
	}
	.index-technology-topics-card a.index-technology-topics-card-type:hover .index-technology-topics-card-title {
		text-decoration: underline;
		color: #d7063b;
	}
	.index-technology-topics-card a.index-technology-topics-card-type:hover .index-technology-topics-card-image {
		transform: scale(1.1);
	}
	.index-technology-topics-card .index-technology-topics-card-venue > .index-technology-topics-card-venue-mark {
		position: absolute;
		top: 0;
		left: 0;
	}
  .index-technology-topics-carousel .index-technology-topics-card-wrap:not(.slick-initialized){
    display: none;
  }
	.index-technology-topics-carousel .slick-arrow{
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		border: none;
		background: none;
		text-indent: -100vw;
		white-space: nowrap;
		background-color: #d7063b;
		width: 39px;
		height: 39px;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-technology-topics-carousel .slick-arrow::after {
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: center;
		transform: rotateZ(45deg);
		content: "";
		box-sizing: border-box
	}
	.index-technology-topics-carousel .slick-arrow:hover {
		opacity: .7;
	}
	.index-technology-topics-carousel .slick-arrow.slick-prev {
		margin-right: 32px;
	}
	.index-technology-topics-carousel .slick-arrow.slick-next {
		margin-left: 32px;
	}
	.index-technology-topics-carousel .slick-arrow.slick-prev:after {
		right: calc(50% - 6px);
		transform: rotateZ(-135deg);
	}
	.index-technology-topics-carousel .slick-arrow.slick-next:after {
		right: calc(50% - 3px);
	}
	.index-technology-topics-carousel-control {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		margin: 30px 0 0;
	}
	.index-technology-topics-carousel-switch-pause, 
	.index-technology-topics-carousel-switch-play {
		position: relative;
		appearance: none;
		overflow: hidden;
		width: 30px;
		height: 30px;
		border-radius: 15px;
		border: 2px solid #dddddd;
		background-color: #fff;
		font-size: 0;
		text-indent: -100vw;
		white-space: nowrap;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-technology-topics-carousel-switch-pause::after, 
	.index-technology-topics-carousel-switch-play::after {
		position: absolute;
		top: calc(50% - 6px);
		left: calc(50% - 6px);
		display: block;
		width: 12px;
		height: 12px;
		background: #333333;
		mask-position: center;
		mask-repeat: no-repeat;
		content: '';
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-technology-topics-carousel-switch-pause::after {
		mask-image: url(/images_renewal/index_ic02.webp);
		mask-size: auto 10px;
	}
	.index-technology-topics-carousel-switch-play::after {
		mask-image: url(/images_renewal/index_ic01.webp);
		mask-size: auto 11px;
		margin-left: 1px;
	}
	.index-technology-topics-carousel-switch-pause:hover, 
	.index-technology-topics-carousel-switch-play:hover {
		background: #d7063b;
	}
	.index-technology-topics-carousel-switch-pause:hover::after, 
	.index-technology-topics-carousel-switch-play:hover::after {
		background: #ffffff;
	}

	/*--------------------------------
	 * index-topics
	 *--------------------------------*/
	.index-topics {
		margin: 80px 0 0;
	}
	.index-topics .index-topics-inner {
		max-width: 1620px;
		margin: 0 auto;
	}
	.index-topics .index-topics-column>.slick-list>.slick-track{
		display: flex;
	}
	.index-topics .index-topics-column>.slick-list>.slick-track>.slick-slide{
		height: auto !important;
	}
	.index-topics .index-topics-column>.slick-list>.slick-track>.slick-slide>div{
		height: 100%;
	}
	/*4こ以下*/
	.index-topics .index-topics-column:not(.slick-slider):has(> :nth-child(-n+4):last-child) {
		display: flex;
		flex-wrap: wrap;
		gap: 32px 36px;
	}
	/*2こ以下*/
	.index-topics .index-topics-column:not(.slick-slider):has(> :nth-child(-n+2):last-child){
		width: 1200px;
		margin-right: auto;
		margin-left: auto;
	}
	/*4こ*/
	.index-topics .index-topics-column:not(.slick-slider):has(> :nth-child(4):last-child) > .index-topics-column-item {
		width: calc((100% - (36px * 3))/4);
	}
	/*3こ*/
	.index-topics .index-topics-column:not(.slick-slider):has(> :nth-child(3):last-child) > .index-topics-column-item {
		width: calc((100% - (36px * 2))/3);
	}
	/*2こ*/
	.index-topics .index-topics-column:not(.slick-slider):has(> :nth-child(2):last-child) > .index-topics-column-item {
		width: calc((100% - (36px * 1))/2);
	}
	/*1こ*/
	.index-topics .index-topics-column:not(.slick-slider):has(> :nth-child(1):last-child) > .index-topics-column-item {
		width: 100%;
	}
	.index-topics .index-topics-column.slick-slider {
		margin: 0 -16px -16px;
	}
	.index-topics .index-topics-column.slick-slider .index-topics-column-item {
		height: 100%;
		padding: 0 16px 16px;
	}
	.index-topics .index-topics-column-v2 {
		display: flex;
		flex-wrap: wrap;
		gap: 32px 36px;
	}
	.index-topics .index-topics-column-v2 .index-topics-column-item {
		width: calc((100% - (36px * 2))/3);
	}

	/*.index-topics .index-topics-card */
	.index-topics .index-topics-card {
		height: 100%;
	}
	.index-topics .index-topics-card .index-topics-card-type {
		overflow: hidden;
		display: flex;
		flex-direction: column;
		height: 100%;
		border-radius: 18px;
		box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
		text-decoration: none;
		color: #333;
	}
	.index-topics .index-topics-card a.index-topics-card-type .index-topics-card-title {
		color: #336699;
	}
	.index-topics .index-topics-card a.index-topics-card-type:not(.blankIc) .index-topics-card-title::after{
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-topics .index-topics-card a.index-topics-card-type.blankIc .index-topics-card-title::after{
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-topics .index-topics-card a.index-topics-card-type:hover .index-topics-card-image {
		transform: scale(1.1)
	}
	.index-topics .index-topics-card a.index-topics-card-type:hover .index-topics-card-title {
		text-decoration: underline;
		color: #d7063b;
	}
	.index-topics .index-topics-card .index-topics-card-head{
		line-height: 1;
	}
	.index-topics .index-topics-card .index-topics-card-body{
		flex: 1 1;
		padding: 15px 20px 24px;
		background: #ffffff;
	}
	.index-topics .index-topics-card .index-topics-card-frame{
		height: fit-content;
		line-height: 1;
		overflow: hidden;
	}
	.index-topics .index-topics-card .index-topics-card-image{
		max-width: 100%;
		width: 100%;
		height: auto;
		transition: all 0.6s linear 0s;
	}
	.index-topics .index-topics-card .index-topics-card-title{
		font-weight: bold;
		font-size: 18px;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-topics .index-topics-card .index-topics-card-text{
		margin-top: 5px;
		font-size: 16px;
	}

	/*.index-topics .index-topics-card-v2 */
	.index-topics .index-topics-card-v2 {
		height: 100%;
	}
	.index-topics .index-topics-card-v2 .index-topics-card-v2-type {
		overflow: hidden;
		display: flex;
		gap: 0 20px;
		height: 100%;
		border-radius: 18px;
		padding: 22px 20px;
		box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
		text-decoration: none;
		color: #333;
	}
	.index-topics .index-topics-card-v2 a.index-topics-card-v2-type .index-topics-card-v2-title {
		color: #336699;
	}
	.index-topics .index-topics-card-v2 a.index-topics-card-v2-type:not(.blankIc) .index-topics-card-v2-title::after{
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-topics .index-topics-card-v2 a.index-topics-card-v2-type.blankIc .index-topics-card-v2-title::after{
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-topics .index-topics-card-v2 a.index-topics-card-v2-type:hover .index-topics-card-v2-image {
		transform: scale(1.1)
	}
	.index-topics .index-topics-card-v2 a.index-topics-card-v2-type:hover .index-topics-card-v2-title {
		text-decoration: underline;
		color: #d7063b;
	}
	.index-topics .index-topics-card-v2 .index-topics-card-v2-body{
		flex: 1 1;
		background: #ffffff;
	}
	.index-topics .index-topics-card-v2 .index-topics-card-v2-frame{
		width: 144px;
		height: 144px;
		line-height: 1;
		overflow: hidden;
	}
	.index-topics .index-topics-card-v2 .index-topics-card-v2-image{
		max-width: 100%;
		transition: all 0.6s linear 0s;
	}
	.index-topics .index-topics-card-v2 .index-topics-card-v2-title{
		font-weight: bold;
		font-size: 18px;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-topics .index-topics-card-v2 .index-topics-card-v2-text{
		margin-top: 5px;
		font-size: 16px;
	}
	.index-topics .index-topics-column.slick-slider:not(.slick-initialized){
		height: 300px;
		opacity: 0;
		overflow: hidden;
	}
	.index-topics .slick-arrow{
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		border: none;
		background: none;
		text-indent: -100vw;
		white-space: nowrap;
		background-color: #d7063b;
		width: 39px;
		height: 39px;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-topics .slick-arrow::after {
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: center;
		transform: rotateZ(45deg);
		content: "";
		box-sizing: border-box
	}
	.index-topics .slick-arrow:hover {
		opacity: .7;
	}
	.index-topics .slick-arrow.slick-prev {
		margin-right: 32px;
	}
	.index-topics .slick-arrow.slick-next {
		margin-left: 32px;
	}
	.index-topics .slick-arrow.slick-prev:after {
		right: calc(50% - 6px);
		transform: rotateZ(-135deg);
	}
	.index-topics .slick-arrow.slick-next:after {
		right: calc(50% - 3px);
	}
	.index-topics-control {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		margin: 30px 0 0;
	}
	.index-topics-switch-pause, 
	.index-topics-switch-play {
		position: relative;
		appearance: none;
		overflow: hidden;
		width: 30px;
		height: 30px;
		border-radius: 15px;
		border: 2px solid #dddddd;
		background-color: #fff;
		font-size: 0;
		text-indent: -100vw;
		white-space: nowrap;
		cursor: pointer;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-topics-switch-pause::after, 
	.index-topics-switch-play::after {
		position: absolute;
		top: calc(50% - 6px);
		left: calc(50% - 6px);
		display: block;
		width: 12px;
		height: 12px;
		background: #333333;
		mask-position: center;
		mask-repeat: no-repeat;
		content: '';
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-topics-switch-pause::after {
		mask-image: url(/images_renewal/index_ic02.webp);
		mask-size: auto 10px;
	}
	.index-topics-switch-play::after {
		mask-image: url(/images_renewal/index_ic01.webp);
		mask-size: auto 11px;
		margin-left: 1px;
	}
	.index-topics-switch-pause:hover, 
	.index-topics-switch-play:hover {
		background: #d7063b;
	}
	.index-topics-switch-pause:hover::after, 
	.index-topics-switch-play:hover::after {
		background: #ffffff;
	}


	/*--------------------------------
	 * index-about
	 *--------------------------------*/
	.index-about {
		margin: 67px 0 0;
	}
	.index-about .index-about-inner {
		max-width: 1620px;
		margin: 0 auto;
	}
	.index-about .index-about-title {
		text-align: center;
		font-weight: bold;
		font-size: 40px;
		line-height: 1.4;
	}

	/*index-about-card*/
	.index-about .index-about-card-wrap {
		display: flex;
		gap: 0 0;
		margin-top: 30px;
	}
	.index-about .index-about-card {
		height: 100%;
	}
	.index-about .index-about-card .index-about-card-type {
		position: relative;
		display: block;
		height: 100%;
	}
	.index-about .index-about-card .index-about-card-type:hover .index-about-card-title {
		text-decoration: underline;
	}
	.index-about .index-about-card .index-about-card-type:hover .index-about-card-image {
		transform: scale(1.1)
	}
	.index-about .index-about-card .index-about-card-body {
		position: absolute;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: center;
		width: 100%;
		padding: 24px 20px;
		background: rgba(0, 0, 0, 0.5);
	}
	.index-about .index-about-card .index-about-card-frame {
		overflow: hidden;
	}
	.index-about .index-about-card .index-about-card-image {
		display: block;
		max-width: 100%;
		width: 100%;
		height: auto;
		transition: all 0.6s linear 0s;
	}
	.index-about .index-about-card .index-about-card-title {
		margin-right: -15px;
		font-weight: bold;
		font-size: 20px;
		line-height: 1.4;
		color: #fff;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-about .index-about-card .index-about-card-title::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotateZ(45deg);
		content: '';
	}


	/*--------------------------------
	 * index-guide
	 *--------------------------------*/
	.index-guide {
		margin: 98px 0 0;
	}
	.index-guide .index-guide-inner {
		max-width: 1620px;
		margin: 0 auto;
	}
	.index-guide .index-guide-item-wrap {
		display: flex;
		gap: 0 36px;
	}
	.index-guide .index-guide-item-wrap .index-guide-item {
		width: calc((100% - 36px)/2);
	}

	/*index-guide-card*/
	.index-guide-card .index-guide-card-type{
		display: grid;
		gap: 10px 36px;
	}

.index-guide .index-guide-card {
	display: grid;
	grid-template-areas: 
		"head body"
		"head foot";
	grid-template-columns: 240px 1fr;
	grid-template-rows: auto auto;
	gap: 16px 36px;
}

.index-guide .index-guide-card-head {
	grid-area: head;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #eeeeee;
}

.index-guide .index-guide-card-body {
	grid-area: body;
}

.index-guide .index-guide-card-foot {
	grid-area: foot;
}
.index-guide .index-guide-card-foot > *:first-child {
	margin-top: 0!important;
}

.index-guide .index-guide-card-frame {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #eeeeee;
	aspect-ratio: 1 / 1;
	width: 240px;
}

.index-guide .index-guide-card-image {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.index-guide .index-guide-card-title {
	font-weight: bold;
	font-size: 20px;
	line-height: 1.4;
}

.index-guide .index-guide-card-discription {
	margin-top: 10px;
}

.index-guide .index-guide-card-subtext {
	font-weight: bold;
	font-size: 16px;
	color: #d7063b;
}

.index-guide .index-guide-card-text {
	font-weight: bold;
	font-size: 20px;
	line-height: 1.4;
}

.index-guide .index-guide-card-button,
.index-guide .index-guide-card-button-v2 {
	margin-top: 20px;
}

.index-guide .index-guide-card-button-type{
	position: relative;
	display: flex;
	justify-content: center;
	max-width: 376px;
	border: 2px solid #333333;
	border-radius: 30px;
	background-color: #333333;
	padding: 13px 38px;
	text-decoration: none;
	color: #fff;
	transition: all .25s cubic-bezier(.4,0,.2,1) 0s
}
.index-guide .index-guide-card-button-type::after{
	position: absolute;
	top: calc(50% - 4px);
	right: 22px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: rotateZ(45deg);
	content: '';
}
.index-guide .index-guide-card-button-type:hover{
	border-color: #d7063b;
	background-color: #d7063b;
}
.index-guide .index-guide-card-button-v2-type{
	position: relative;
	display: flex;
	justify-content: center;
	max-width: 376px;
	border: 2px solid #333333;
	border-radius: 30px;
	padding: 14px 38px;
	background-color: #ffffff;
	text-decoration: none;
	color: #333333;
	transition: all .25s cubic-bezier(.4,0,.2,1) 0s
}
.index-guide .index-guide-card-button-v2-type::after{
	position: absolute;
	top: calc(50% - 4px);
	right: 22px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #d91547;
	border-right: 2px solid #d91547;
	transform: rotateZ(45deg);
	content: '';
	transition: all .25s cubic-bezier(.4,0,.2,1) 0s
}
.index-guide .index-guide-card-button-v2-type:hover{
	border-color: #d7063b;
	background-color: #d7063b;
	color: #fff;
}
.index-guide .index-guide-card-button-v2-type:hover::after{
	border-color: #fff;
}
.index-guide .index-guide-card-button-label,
.index-guide .index-guide-card-button-v2-label {
	font-size: 16px;
	font-weight: bold;
}

.index-guide .index-guide-banner {
}
.index-guide .index-guide-banner-type {
	display: block;
	height: fit-content;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
	line-height: 1;
	overflow: hidden;
}
.index-guide .index-guide-banner-type:hover  .index-guide-banner-image {
	transform: scale(1.1)
}
.index-guide .index-guide-banner-image {
	display: block;
	width: 100%;
	height: auto;
	transition: all 0.6s linear 0s;
}


	/*--------------------------------
	 * index-recruit
	 *--------------------------------*/
	.index-recruit {
		margin: 108px -30px 0;
		padding: 80px 30px 106px;
		background: url("/images_renewal/index_bg02.webp") no-repeat center top/cover;
	}
	.index-recruit .index-recruit-inner {
		max-width: 1620px;
		margin: 0 auto;
	}
	.index-recruit .index-recruit-title {
		font-weight: bold;
		font-size: 40px;
		color: #ffffff;
		line-height: 1.4;
	}
	.index-recruit .index-recruit-text {
		margin-top: 10px;
		font-weight: bold;
		font-size: 20px;
		color: #ffffff;
	}

	/*.index-recruit-card-button*/
	.index-recruit .index-recruit-card-button-wrap{
		display: flex;
		gap: 0 36px;
		margin-top: 25px;
	}
	.index-recruit .index-recruit-card-button-type{
		position: relative;
		display: flex;
		justify-content: center;
		width: 376px;
		border: 2px solid #333333;
		border-radius: 30px;
		padding: 14px 38px;
		background-color: #ffffff;
		text-decoration: none;
		color: #333333;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-recruit .index-recruit-card-button-type:not(.blankIc)::after{
		position: absolute;
		top: calc(50% - 4px);
		right: 22px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-recruit .index-recruit-card-button-type.blankIc::after{
		position: absolute;
		top: calc(50% - 5px);
		right: 18px;
		width: 12px;
		height: 11px;
		background-color: #7f7f7f;
		mask-image: url(/images_renewal/index_link_ic01.webp);
		mask-size: 100% 100%;
		vertical-align: middle;
		content: "";
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-recruit .index-recruit-card-button-type:hover{
		border-color: #d7063b;
		background-color: #d7063b;
		color: #fff;
	}
	.index-recruit .index-recruit-card-button-type:not(.blankIc):hover::after{
		border-color: #fff;
	}
	.index-recruit .index-recruit-card-button-type.blankIc:hover::after{
		background-color: #fff;
	}
	.index-recruit .index-recruit-card-button-label {
		font-size: 16px;
		font-weight: bold;
	}

	/*--------------------------------
	 * index-contact
	 *--------------------------------*/
	.index-contact {
		margin: 0 -30px 0;
		padding: 80px 30px;
		background: #eff1f2;
	}
	.index-contact .index-contact-inner {
		max-width: 1200px;
		margin: 0 auto;
	}
	/*.index-contact-box*/
	.index-contact-box-wrap{
		display: flex;
		gap:0 36px;
	}
	.index-contact-box-wrap > .index-contact-box{
		width: calc((100% - 36px)/2);
		display: flex;
		flex-direction: column;
	}
	.index-contact-box{
		border-radius: 16px;
		padding: 25px 50px 50px;
		background: #fff;
	}
	.index-contact-box .index-contact-box-title{
		text-align: center;
		font-weight: bold;
		font-size: 40px;
	}
	.index-contact-box .index-contact-box-text{
		margin-top: 20px;
		text-align: center;
		font-size: 16px;
	}

	/*.index-contact-button*/
	.index-contact .index-contact-button{
		flex: 1 1;
		display: flex;
		justify-content: center;
		align-items: flex-end;
		margin-top: 30px;
	}
	.index-contact .index-contact-button-type{
		position: relative;
		display: flex;
		justify-content: center;
		width: 376px;
		border: 2px solid #333333;
		border-radius: 30px;
		padding: 13px 38px;
		background-color: #ffffff;
		text-decoration: none;
		color: #333333;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-contact .index-contact-button-type::after{
		position: absolute;
		top: calc(50% - 4px);
		right: 22px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-contact .index-contact-button-type:hover{
		border-color: #d7063b;
		background-color: #d7063b;
		color: #fff;
	}
	.index-contact .index-contact-button-type:hover::after{
		border-color: #fff;
	}
	.index-contact .index-contact-button-label {
		font-size: 16px;
		font-weight: bold;
	}
	.index-contact .index-contact-sns-list {
		display: flex;
		justify-content: center;
		gap: 0 40px;
		margin-top: 16px;
	}
	.index-contact .index-contact-sns-list > li {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 60px;
		height: 60px;
	}
	.index-contact .index-contact-sns-list > li a{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		transition: all .25s cubic-bezier(.4,0,.2,1) 0s
	}
	.index-contact .index-contact-sns-list > li a:hover{
		opacity: .7;
	}
	.index-contact .index-contact-sns-list > li a img{
		width: 100%;
	}

}

@media screen and (min-width: 769px) and (max-width: 1430px) {
	.index-layout-v1{
		gap: 0 38px
	}
	.index-layout-v1 .index-layout-col:nth-child(even){
		width: 376px;
	}
	.index-news .index-news-head{
		gap: 0 20px;
	}
	.index-event .index-event-head{
		gap: 0 20px;
	}
	.index-news .index-news-tabs-list > li{
		min-width: 118px;
	}
	.index-service .index-service-inner{
		padding-bottom: 57px;
	}
	.index-technology-topics .index-technology-topics-head{
		width: 274px;
	}
	.index-guide{
		margin-top: 83px;
	}
	.index-guide .index-guide-card{
		grid-template-columns: 170px 1fr;
	}
	.index-guide .index-guide-card-frame{
		width: 170px;
	}
}
@media screen and (min-width: 769px) and (max-width: 1290px) {
}

@media only screen and (max-width: 768px) {

	/* common settings
	=================================*/
	#contentsContainer.top {
		-ms-text-size-adjust: 100%;
		-moz-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
		margin-top: 0;
	}
	#contentsContainer.top #contents {
		padding: 0;
	}
	#contentsContainer.top * {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
	#footer-nav .footer-link > li + li {
		margin-top: 10px;
	}
	#footer-nav .footer-link > li > a {
		position: relative;
		display: inline-block;
		padding: 0 0 0 18px;
		background: none;
		color: #369;
	}
	#footer-nav .footer-link > li > a::before {
		content: "";
		position: absolute;
		top: 0.3em;
		left: -3px;
		transform: rotate(45deg);
		width: 8px;
		height: 8px;
		border-top: 2px solid #666;
		border-right: 2px solid #666;
	}
	#footer-nav .footer-mark {
		display: flex;
		align-items: center;
		justify-content: center;
		margin-top: 30px;
	}
	#footer-nav .footer-mark > li {
		display: inherit;
	}
	#footer-nav .footer-mark > li.mark02 {
		margin-left: 15px;
	}
	#footer-nav .footer-mark > li.mark03 {
		margin-left: 13px;
	}
	#footer-nav .footer-mark > li img {
		width: 100%;
	}
	#footer-nav .footer-mark > li.mark01 img {
		max-width: 75px;
	}
	#footer-nav .footer-mark > li.mark02 img {
		max-width: 82px;
	}
	#footer-nav .footer-mark > li.mark03 img {
		max-width: 51px;
	}
	#footer-bottom #footer-up a {
		position: relative;
		height: 47px;
		padding: 0;
	}
	#footer-bottom #footer-up a::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%) rotate(-45deg);
		width: 16px;
		height: 16px;
		margin: 6px 0 0 0;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}
	#footer-bottom #footer-up a img {
		display: none;
	}

	.isPc {
		display: none !important;
	}


	/* page component
	=================================*/
	/*--------------------------------
	 * index-hero
	 *--------------------------------*/
	.index-hero {
		margin-right: -15px;
		margin-left: -15px;
		border-bottom: 1px solid #dddddd;
	}
	/*index-hero-carousel*/
	.index-hero-carousel {
		position: relative;
		padding-bottom: 22px;
	}
	.index-hero-carousel .index-hero-carousel-list.slick-slider{
		overflow: hidden;
	}
	.index-hero-carousel .index-hero-carousel-list.slick-initialized{
		opacity: 1;
	}
	.index-hero-carousel .index-hero-carousel-list>.slick-list>.slick-track {
		display: flex;
	}
	.index-hero-carousel .index-hero-carousel-list>.slick-list>.slick-track>.slick-slide {
		height: auto !important;
	}
	.index-hero-carousel .index-hero-carousel-list>.slick-list>.slick-track>.slick-slide>div {
		height: 100%;
	}
	.index-hero-carousel .index-hero-carousel-item ,
	.index-hero-carousel .index-hero-carousel-item-v2,
  .index-hero-carousel .index-hero-carousel-item-v3 {
		padding: 0;
		font-size: 16px;
		line-height: 1.6;
		height: 100%;
	}
	.index-hero-carousel .index-hero-carousel-type {
		display: block;
		color: #333;
		height: 100%;
	}
	.index-hero-carousel .index-hero-carousel-card {
		position: relative;
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
	}
	.index-hero-carousel .index-hero-carousel-card-body {
		flex: 1 1;
		margin-top: 16px;
		padding: 0 15px;
	}
	.index-hero-carousel .index-hero-carousel-card-body-inner {
		position: relative;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		width: 100%;
		height: 100%;
		padding-bottom: 54px;
	}
	.index-hero-carousel .index-hero-carousel-animate-item {
			display: inline-block;
			vertical-align: middle;
			overflow: hidden
	}
	.index-hero-carousel .index-hero-carousel-animate-item > * {
			position: relative;
			display: block;
			transform: translate3d(0,100%,0)
	}
	.index-hero-carousel .index-hero-carousel-animate-item:nth-child(2) > * {
		transition-delay: .2s !important;
	}
	.index-hero-carousel .index-hero-carousel-animate-item:nth-child(3) > * {
		transition-delay: .4s !important;
	}
	.index-hero-carousel .is-animated .index-hero-carousel-animate-item > * {
			transform: translateZ(0);
			transition: transform 1.2s cubic-bezier(.165,.84,.44,1);
	}
	.index-hero-carousel .index-hero-carousel-card-image {
		width: 100%;
		height: auto;
	}
	.index-hero-carousel .index-hero-carousel-card-title {
		font-weight: bold;
		font-size: 25px;
		line-height: 1.5;
	}
	.index-hero-carousel .index-hero-carousel-card-title .index-hero-carousel-card-text-emphasis{
		font-size: 35px;
		line-height: 37.5px;
		vertical-align: text-bottom;
	}
	.index-hero-carousel .index-hero-carousel-card-title .index-hero-carousel-card-text-small{
		font-size: 23px;
		line-height: 37.5px;
	}
	.index-hero-carousel .index-hero-carousel-card-title .index-hero-carousel-card-text-red{
		color: #d7063b;
	}
	.index-hero-carousel .index-hero-carousel-card-description {
		margin-top: 4px;
		font-size: 12px;
		line-height: 1.6;
	}
	.index-hero-carousel .index-hero-carousel-card-button {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.index-hero-carousel .index-hero-carousel-card-button .index-hero-carousel-card-button-type {
		position: relative;
		display: flex;
		justify-content: center;
		min-width: 193px;
		min-height: 40px;
		border-radius: 20px;
		border: 2px  solid #333333;
		padding: 6px 30px 6px 17px;
		background: #333333;
		color: #ffffff;
	}
	.index-hero-carousel .index-hero-carousel-card-button .index-hero-carousel-card-button-type::after {
		position: absolute;
		top: calc(50% - 4px);
		right: 15px;
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-hero-carousel .index-hero-carousel-card-button .index-hero-carousel-card-button-label {
		font-weight: bold;
		font-size: 14px;
		line-height: 1.6;
	}
  .index-hero-carousel  .index-hero-carousel-list:not(.slick-initialized){
    height: 100vw;
    overflow: hidden;
    opacity: 0;
  }
	.index-hero-carousel  .slick-arrow{
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		border: none;
		background: none;
		text-indent: -100vw;
		white-space: nowrap;
		background-color: #d7063b;
		width: 31px;
		height: 31px;
		cursor: pointer;
	}
	.index-hero-carousel .slick-arrow::after {
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: center;
		transform: rotateZ(45deg);
		content: "";
		box-sizing: border-box
	}
	.index-hero-carousel .slick-arrow.slick-prev {
		margin-right: 16px;
	}
	.index-hero-carousel .slick-arrow.slick-next {
		margin-left: 18px;
	}
	.index-hero-carousel .slick-arrow.slick-prev:after {
		right: calc(50% - 6px);
		transform: rotateZ(-135deg);
	}
	.index-hero-carousel .slick-arrow.slick-next:after {
		right: calc(50% - 3px);
	}
	.index-hero-carousel .index-hero-carousel-list>.slick-list>.slick-track>.slick-slide>div:not([class]) {
		font-size: 0;
		line-height: 1;
	}
	.index-hero-carousel-control {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		margin: 22px 0 0;
	}
	.index-hero-carousel-pager>.slick-dots {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		gap: 3px 14px;
		margin: 0;
		padding: 0;
	}	
	.index-hero-carousel-pager>.slick-dots>li {
		display: flex;
		margin: 0;
		font-size: 0;
		list-style: none;
	}
	.index-hero-carousel-pager>.slick-dots>li>button {
		display: inline-block;
		width: 13px;
		height: 13px;
		padding: 0;
		border: none;
		border-radius: 50%;
		outline: none;
		background-color: #bbbbbb;
		text-indent: -9999em;
		cursor: pointer;
	}
	.index-hero-carousel-pager>.slick-dots>li.slick-active>button {
		background-color: #d7063b;
		pointer-events: none;
	}
	.index-hero-carousel-switch-pause, 
	.index-hero-carousel-switch-play {
		position: relative;
		appearance: none;
		overflow: hidden;
		width: 30px;
		height: 30px;
		border-radius: 16px;
		border: 1px solid #cccccc;
		margin-left: 16px;
		background-color: #fff;
		font-size: 0;
		text-indent: -100vw;
		white-space: nowrap;
		cursor: pointer;
	}
	.index-hero-carousel-switch-pause::after, 
	.index-hero-carousel-switch-play::after {
		position: absolute;
		top: calc(50% - 6px);
		left: calc(50% - 6px);
		display: block;
		width: 12px;
		height: 12px;
		background: #333333;
		mask-position: center;
		mask-repeat: no-repeat;
		content: '';
	}
	.index-hero-carousel-switch-pause::after {
		mask-image: url(/images_renewal/index_ic02.webp);
		mask-size: auto 10px;
	}
	.index-hero-carousel-switch-play::after {
		mask-image: url(/images_renewal/index_ic01.webp);
		mask-size: auto 11px;
		margin-top: 1px;
		margin-left: 1px;
	}


	/*--------------------------------
	* index-urgent-notice
	*--------------------------------*/
	#in_urgent:not(:has(.index-urgent-notice)){
		display: none;
	}
	.index-urgent-notice {
		margin-right: -15px;
		margin-left: -15px;
		padding-right: 15px;
		padding-left: 15px;
		border-bottom: 1px solid #dddddd;
		background: #fff3f6;
	}
	.index-urgent-notice .index-urgent-notice-inner {
		padding: 15px 0;
	}
	.index-urgent-notice .index-urgent-notice-body {
		margin-top: 8px;
	}
	.index-urgent-notice .index-urgent-notice-title {
		font-weight: bold;
		font-size: 14px;
		color: #d7063b;
	}


	/*--------------------------------
	* index-important-notice
	*--------------------------------*/
	#in_important:not(:has(.index-important-notice)){
		display: none;
	}
	.index-important-notice {
		margin-right: -15px;
		margin-left: -15px;
		padding-right: 15px;
		padding-left: 15px;
		border-bottom: 1px solid #dddddd;
	}
	.index-important-notice .index-important-notice-inner {
		padding: 15px 0 18px;
	}
	.index-important-notice .index-important-notice-head {
		display: flex;
		justify-content: space-between;
		align-items: center;
		min-height: 40px;
	}
	.index-important-notice .index-important-notice-title {
		font-weight: bold;
		font-size: 14px;
		color: #d7063b;
	}
	.index-important-notice .index-important-notice-button {
		display: flex;
		margin-right: -7px;
	}
	.index-important-notice .index-important-notice-button .index-important-notice-button-type {
		position: relative;
		display: flex;
		justify-content: center;
		min-width: 192px;
		min-height: 40px;
		border-radius: 20px;
		border: 2px  solid #333333;
		padding: 6px 20px 6px 10px;
		background: #333333;
		color: #ffffff;
	}
	.index-important-notice .index-important-notice-button .index-important-notice-button-type::after {
		position: absolute;
		top: calc(50% - 4px);
		right: 14px;
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-important-notice .index-important-notice-button .index-important-notice-button-label {
		font-weight: bold;
		font-size: 14px;
		line-height: 1.6;
	}
		/*index-important-notice-box*/
	.index-important-notice-box-wrap {
		margin: 18px auto 0;
		width: 100%;
	}
	.index-important-notice-box {
		border: 2px solid #cccccc;
		padding: 8px 12px;
	}
	.index-important-notice-box .index-important-notice-box-text {
		text-align: center;
	}
	.index-important-notice-box .index-important-notice-box-link {
		font-size: 14px;
		line-height: 1.6;
	}
	.index-important-notice-box a.index-important-notice-box-link {
		color: #2b7bb2;
	}
	.index-important-notice-box .index-important-notice-box-link:not(.blankIc):not(.pdfIc)::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-important-notice-box .index-important-notice-box-link.blankIc::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-important-notice-box .index-important-notice-box-link.pdfIc::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 0 0 10px;
		background-image: url("/images_renewal/index_link_ic02.webp");
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}


	/*--------------------------------
	* index-notice
	*--------------------------------*/
	.index-notice > *:first-child {
		margin-top: 0 !important;
	}
	.index-notice .index-notice-article {
		margin-top: 11px;
	}
	.index-notice .index-notice-type ,
	.index-notice .index-notice-type-nolink {
		display: block;
		color: #333;
		text-decoration: none;
	}
	.index-notice .index-notice-datetime {
		display: flex;
		gap: 0 15px;
		color: #666666;
	}
	.index-notice .index-notice-date {
		display: block;
		font-size: 12px;
	}
	.index-notice .index-notice-time {
		display: block;
		font-size: 12px;
	}
	.index-notice .index-notice-caption {
		margin-top: 5px;
	}
	.index-notice .index-notice-title {
		font-size: 14px;
	}
	.index-notice a.index-notice-type .index-notice-title {
		color: #336699;
	}
	.index-notice a.index-notice-type:not(.blankIc):not(.pdfIc) .index-notice-title::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-notice a.index-notice-type.blankIc .index-notice-title::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		border: none;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-notice a.index-notice-type.pdfIc .index-notice-title::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 0 0 10px;
		background-image: url("/images_renewal/index_link_ic02.webp");
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}


	/*--------------------------------
	 * index-news
	 *--------------------------------*/
	.index-news {
		margin-top: 18px;
	}
	.index-news .index-news-body{
		margin-top: 17px;
	}
	.index-news .index-news-title{
		text-align: center;
		font-weight: bold;
		font-size: 25px;
	}
	.index-news .index-news-tabs-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 6px 1px;
		margin-top: 0;
	}
	.index-news .index-news-tabs-list > li{
		position: relative;
		width: calc((100% - 2px) / 3);
	}
	.index-news .index-news-tabs-list > li::before{
		top: 13px;
		right: -1px;
		position: absolute;
		width: 1px;
		height: 17px;	
		background: #dddddd;
		content: '';
	}
	.index-news .index-news-tabs-list > li:nth-child(3n)::before,
	.index-news .index-news-tabs-list > li:nth-last-child(1)::before{
		content: none;
	}
	.index-news .index-news-tabs-list > li a{
		display: block;
		padding: 13px 4px 13px 4px;
		border-bottom: 2px solid #dddddd;
		text-align: center;
		color: #333333;
	}
	.index-news .index-news-tabs-list > li.is-active a{
		border-bottom-color: #d7063b;
		color: #d7063b;
	}
	.index-news .index-news-tabs-label {
		font-weight: bold;
		font-size: 12px;
		line-height: 1.1;
	}
	.index-news-list dl {
		padding: 14px 15px 11px;
		margin-right: -15px;
		margin-left: -15px;
		border-bottom: 1px solid #ddd;
	}
	.index-news-list dl:first-child {
		border-top: 1px solid #ddd;
	}
	.index-news-list dl > dt {
		display: flex;
	}
	.index-news-list dl > dd {
		flex: 1;
		margin-top: 6px;
		padding: 1px 0 0;
		font-size: 14px;
	}
	.index-news-list dl > dd a:not(.blankIc):not(.pdfIc)::after {
			position: relative;
			top: -2px;
			display: inline-block;
			width: 6px;
			height: 6px;
			margin: 0 0 0 8px;
			border-top: 2px solid #d91547;
			border-right: 2px solid #d91547;
			transform: rotateZ(45deg);
			content: '';
	}
	.index-news-list dl > dd a.blankIc::after {
		content: "";
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background: url("/images_renewal/index_link_ic01.webp") no-repeat 0 0;
		background-size: 100% 100%;
		vertical-align: middle;
	}
	.index-news-list dl > dd a.pdfIc::after {
		content: "";
		position: relative;
		top: -1px;
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 0 0 10px;
		background-image: url("/images_renewal/index_link_ic02.webp");
		background-size: 100% 100%;
		vertical-align: middle;
	}
	.index-news-list .date {
		display: flex;
		align-items: center;
		width: 80px;
		color: #666666;
	}
	.index-news-list .newsIcon {
		display: flex;
		margin: 0 20px 0 0;
	}
	.index-news-list .newsIcon > li {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 90px;
		height: 25px;
		padding: 0 0;
		border: 1px solid #666;
		color: #666;
		font-size: 10px;
		line-height: 1.1;
		text-align: center;
	}
	.index-news-list .newsIcon > li:nth-child(2n) {
		margin-left: 10px;
	}
	.index-news-list .newsIcon > li.newsIcon-icon01 {
		border-color: #d7063b;
		color: #d7063b;
	}
	.index-news-list .forAllList > li.newsIcon-icon01 {
		border-color: #d7063b;
		color: #d7063b;
	}
	.index-news-list .forAllList {
		display: flex;
		justify-content: center;
		margin: 20px 0 0;
	}
	.index-news-list .forAllList > a {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 48px;
		border-radius: 30px;
		padding: 10px 40px 10px 30px;
		background-color: #333;
		color: #fff;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.4;
		text-align: center;
		text-decoration: none;
	}
	.index-news-list .forAllList > a::after {
		position: absolute;
		top: 50%;
		right: 24px;
		transform: translateY(-50%) rotate(45deg);
		width: 6px;
		height: 6px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		content: "";
	}


	/*--------------------------------
	 * index-event
	 *--------------------------------*/
	.index-event {
		margin-top: 28px;
	}
	.index-event .index-event-body{
		margin-top: 22px;
	}
	.index-event .index-event-title{
		text-align: center;
		font-weight: bold;
		font-size: 25px;
	}
	.index-event .index-event-link-text{
		margin-top: 10px;
		display: flex;
		justify-content: center;
		font-size: 14px;
	}
	.index-event .index-event-link-text a{
		position: relative;
		padding-left: 17px;
		line-height: 1.6;
	}
	.index-event .index-event-link-text a::before {
		position: absolute;
		top: calc(0.5em* 1.6 - 3px);
		left: -2px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}

	.index-event .index-event-card-wrap>.slick-list>.slick-track{
		display: flex;
	}
	.index-event .index-event-card-wrap>.slick-list>.slick-track>.slick-slide{
		height: auto !important;
	}
	.index-event .index-event-card-wrap>.slick-list>.slick-track>.slick-slide>div{
		height: 100%;
	}
	.index-event .index-event-card-wrap {
		margin-right: -15px;
		margin-left: -15px;
		margin-bottom: -15px;
	}
	.index-event .index-event-card {
		height: 100%;
		padding-right: 7px;
		padding-left: 7px;
	}
	.index-event-card .index-event-card-type {
		display: flex;
		flex-direction: column;
		height: 100%;
		text-decoration: none;
		color: #333333;
		border-radius: 16px;
		box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.1);
		overflow: hidden;
	}
	.index-event-card .index-event-card-body {
		flex: 1 1;
		padding: 11px 16px 22px;
	}
	.index-event-card .index-event-card-frame {
		margin: 0;
		line-height: 1;
	}
	.index-event-card .index-event-card-image {
		width: 100%;
    height: auto;
	}
	.index-event-card .index-event-card-title {
		font-weight: bold;
		font-size: 14px;
	}
	.index-event-card a.index-event-card-type .index-event-card-title {
		color: #336699;
	}
	.index-event-card a.index-event-card-type:not(.blankIc) .index-event-card-title::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-event-card a.index-event-card-type.blankIc .index-event-card-title::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}	
	.index-event-card .index-event-card-date {
		margin-top: 10px;
		font-size: 12px;
	}
	.index-event-card .index-event-card-venue {
		position: relative;
		margin-top: 6px;
		padding-left: 3.3em;
		font-size: 12px;
	}
	.index-event-card .index-event-card-venue > .index-event-card-venue-mark {
		position: absolute;
		top: 0;
		left: 0;
	}
  .index-event-carousel .index-event-card-wrap:not(.slick-initialized){
    height: 100vw;
    overflow: hidden;
    opacity: 0;
  }
	.index-event-carousel .slick-arrow{
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		border: none;
		background: none;
		text-indent: -100vw;
		white-space: nowrap;
		background-color: #d7063b;
		width: 30px;
		height: 30px;
		cursor: pointer;
	}
	.index-event-carousel .slick-arrow::after {
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: center;
		transform: rotateZ(45deg);
		content: "";
		box-sizing: border-box
	}
	.index-event-carousel .slick-arrow.slick-prev {
		margin-right: 32px;
	}
	.index-event-carousel .slick-arrow.slick-next {
		margin-left: 32px;
	}
	.index-event-carousel .slick-arrow.slick-prev:after {
		right: calc(50% - 6px);
		transform: rotateZ(-135deg);
	}
	.index-event-carousel .slick-arrow.slick-next:after {
		right: calc(50% - 3px);
	}
	.index-event-carousel .slick-list {
		padding-bottom: 15px !important;
	}
	.index-event-carousel-control {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		margin: 26px 0 0;
	}
	.index-event-carousel-switch-pause, 
	.index-event-carousel-switch-play {
		position: relative;
		appearance: none;
		overflow: hidden;
		width: 30px;
		height: 30px;
		border-radius: 15px;
		border: 1px solid #dddddd;
		background-color: #fff;
		font-size: 0;
		text-indent: -100vw;
		white-space: nowrap;
		cursor: pointer;
	}
	.index-event-carousel-switch-pause::after, 
	.index-event-carousel-switch-play::after {
		position: absolute;
		top: calc(50% - 6px);
		left: calc(50% - 6px);
		display: block;
		width: 12px;
		height: 12px;
		background: #333333;
		mask-position: center;
		mask-repeat: no-repeat;
		content: '';
	}
	.index-event-carousel-switch-pause::after {
		mask-image: url(/images_renewal/index_ic02.webp);
		mask-size: auto 10px;
	}
	.index-event-carousel-switch-play::after {
		mask-image: url(/images_renewal/index_ic01.webp);
		mask-size: auto 11px;
		margin-left: 1px;
	}


	/*--------------------------------
	 * index-service
	 *--------------------------------*/
	.index-service {
		margin: 45px -15px 0;
		padding-right: 15px;
		padding-left: 15px;
		background: #eff1f2 url("/images_renewal/index_bg01_sp.webp") no-repeat center bottom/100% auto;
	}
	.index-service .index-service-inner{
		width: 100%;
		margin: 0 auto;
		padding: 35px 0 43px;
	}
	.index-service .index-service-title{
		font-weight: bold;
		font-size: 25px;
		line-height: 1.4;
		text-align: center;
	}
	.index-service .index-service-text{
		margin-top: 12px;
		font-size: 14px;
		text-align: center;
	}
	.index-service .index-service-title-v2{
		margin: 28px 0 0;
		font-weight: bold;
		font-size: 18px;
		line-height: 1.5;
		text-align: center;
	}
	.index-service .index-service-title-v2 .index-service-title-v2-emphasis {
		font-size: 25px;
	}
	.index-service .index-service-title-v3{
		margin: 27px 0 0;
		font-weight: bold;
		font-size: 18px;
		line-height: 1.4;
		text-align: center;
	}
	.index-service .index-service-title-v3 .index-service-title-v3-emphasis {
		font-size: 25px;
	}
	.index-service .index-service-search {
		display: flex;
		justify-content: center;
		margin: 16px auto 0;
	}
	.index-service .index-service-search .index-service-search-input {
		flex:1 1;
		height: 46px;
		border-radius: 30px 0 0 30px;
		border: 2px solid #dddddd;
		padding: 12px 20px;
		background: #ffffff;
		font-size: 16px;
	}
	.index-service .index-service-search .index-service-search-input::placeholder {
		color: #777777;
	}
	.index-service .index-service-search .index-service-search-button {
		position: relative;
		width: 46px;
		height: 46px;
		border-radius: 0 30px 30px 0;
		border: 2px solid #dddddd;
		padding: 0;
		overflow: hidden;
		background: #ffffff;
		text-align: center;
		text-indent: -999em;
		font-weight: bold;
		font-size: 16px;
	}
	.index-service .index-service-search .index-service-search-button::after {
		position: absolute;
		top: calc(50% - 10px);
		right: calc(50% - 7px);
		display: block;
		width: 20px;
		height: 20px;
		background:  #333333;
		mask-image: url("/images_renewal/index_ic03.svg");
		mask-repeat: no-repeat;
		mask-size: 20px auto;
		content: '';
	}
	.index-service .index-service-search .index-service-search-input +.index-service-search-button {
		border-left: none;
	}
	.index-service .index-service-card-wrap {
		display: flex;
		flex-wrap: wrap;
		gap: 15px 15px;
		margin-top: 20px;
	}
	.index-service .index-service-card-wrap > *{
		width: calc(((100% - (15px)) / 2));
	}
	.index-service .index-service-card .index-service-card-type {
		position: relative;
		display: flex;
		align-items: center;
		gap: 0 7px;
		min-height: 60px;
		height: 100%;
		padding: 7px 19px 7px 11px;
		border-radius: 16px;
		background: #ffffff;
		color: #333333;
	}
	.index-service .index-service-card .index-service-card-type::after {
		position: absolute;
		top: calc(50% - 4px);
		right: 11px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-service .index-service-card .index-service-card-frame {
		width: 29px;
		height: 29px;
	}
	.index-service .index-service-card .index-service-card-image {
		width: 100%;
		height: auto;
	}
	.index-service .index-service-card .index-service-card-title {
		font-weight: bold;
		font-size: 13px;
		line-height: 1.4;
	}
	.index-service .index-service-button {
		margin-top: 28px;
		display: flex;
		justify-content: center;
	}
	.index-service .index-service-button .index-service-button-type {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 48px;
		border-radius: 30px;
		padding: 11px 38px 11px 24px;
		background-color: #333;
		color: #fff;
		text-align: center;
		text-decoration: none;
	}
	.index-service .index-service-button .index-service-button-type::after {
		position: absolute;
		top: calc(50% - 4px);
		right: 24px;
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-service .index-service-button .index-service-button-label {
		font-weight: bold;
		font-size: 14px;
		line-height: 1.4;
	}

	/*index-service-box*/
	.index-service-box{
		margin-top: 40px;
		border-radius: 18px;
		background-color: #fff;
	}
	.index-service-box .index-service-box-inner{
		padding: 25px 20px 35px;
	}
	.index-service-box .achievement_subttl{
		text-align: center;
		font-weight: bold;
		font-size: 18px;
		line-height: 1.4;
	}
	.index-service-box .achievement_list{
		display: flex;
		flex-direction: column;
		gap: 16px 0;
		margin-top: 18px;
	}
	.index-service-box .achievement_list > li{
		width: 100%;
	}
	.index-service-box .achievement_list > li > a {
		display: block;
		height: 100%;
		border-radius: 16px;
		border: 2px solid #dddddd;
		overflow: hidden;
		padding: 12px 15px 15px;
		color: #333333;
	}
	.index-service-box .achievement_list > li .achievement_data_header {
		position: relative;
		padding-top: 79px;
	}
	.index-service-box .achievement_list > li .achievement_data_logo {
		position: absolute;
		top: 0;
		left: 0;
		width: 105px;
		height: 79px;
	}
	.index-service-box .achievement_list > li .achievement_data_logo img{
		width: 100%;
	}
	.index-service-box .achievement_list > li .achievement_data_info .achievement_data_name  {
		position: absolute;
		top: 0;
		right: 0;
		display: flex;
		align-items: center;
		width: calc(100% - (105px + 8px));
		height: 79px;
		padding-right: 15px;
		font-weight: bold;
		font-size: 15px;
		line-height: 1.4;
	}
	.index-service-box .achievement_list > li .achievement_data_info .achievement_data_name::after  {
		position: absolute;
		top: calc(50% - 3px);
		right: 0;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-service-box .achievement_list > li .achievement_data_pic {
		display: none;
	}
	.index-service-box .achievement_list > li .achievement_data_text {
		margin-top: 15px;
		font-size: 14px;
	}
	.index-service-box .achievement_list > li .hashtagList {
		display: flex;
		flex-wrap: wrap;
		gap: 5px 13px;
		margin-top: 15px;
	}
	.index-service-box .achievement_list > li .hashtagList  > li {
		font-size: 12px;
		color: #333333;
	}
	.index-service-box .wideCarousel {
		margin-top: 17px;
	}
	.index-service-box .wideCarousel li {
		display: block !important;
		width: fit-content !important;
		margin: 0 15px;
	}
	.index-service-box .wideCarousel li a{
		display: block;
		overflow: hidden;
		width: 94px;
	}
	.index-service-box .wideCarousel li a > img{
		width: 100%;
	}
	.index-service-box .wideCarousel:not(.slick-initialized) {
    height: 80px;
    overflow: hidden;
    opacity: 0;
	}
	.index-service-box .btnArea {
		margin-top: 25px;
		display: flex;
		justify-content: center;
	}
	.index-service-box .btnArea .c-btn{
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-shrink: 0;
		width: 100%;
		min-height: 48px;
		margin: 0 auto;
		border-radius: 30px;
		padding: 11px 38px 11px 24px;
		background-color: #333;
		color: #fff;
	}
	.index-service-box .btnArea .c-btn::after{
		position: absolute;
		top: calc(50% - 4px);
		right: 24px;
		display: block;
		width: 6px;
		height: 6px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-service-box .btnArea .c-btn > span{
		font-weight: bold;
		font-size: 14px;
	}

	/*index-service-card-v2*/
	.index-service .index-service-card-v2 {
		margin-top: 16px;
	}
	.index-service .index-service-card-v2 a.index-service-card-v2-type {
		overflow: hidden;
		display: flex;
		justify-content: center;
		height: 100%;
		padding: 18px 18px 26px;
		border-radius: 16px;
		background: #ffffff;
		text-decoration: none;
		color: #333333;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-inner {
		position: relative;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-head {
		position: absolute;
		top: 0;
		left: 0;
		width: 116px;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-image {
		width: 100%;
		height: auto;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title {
		display: flex;
		justify-content: center;
		flex-direction: column;
		min-height: 122px;
		padding-left: 135px;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title-logo {
		width: 108px;
		margin: 8px 0 6px;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title-logo > img{
		width: 100%;
		height: auto;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title-label {
		font-weight: bold;
		font-size: 14px;
		line-height: 1.6;
	}
	.index-service .index-service-card-v2 .index-service-card-v2-title-label::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-service-card-v2-text {
		margin-top: 10px;
		font-size: 14px;
	}



	/*--------------------------------
	 * index-technology-topics
	 *--------------------------------*/
	.index-technology-topics {
		margin: 32px 0 0;
	}
	.index-technology-topics .index-technology-topics-body {
		margin: 56px -15px 0;
		padding: 1px 15px 34px;
		background-color: #eff1f2;
	}
	.index-technology-topics .index-technology-topics-title {
		text-align: center;
		font-weight: bold;
		font-size: 25px;
		line-height: 1.4;
	}

	/* index-technology-topics-card */
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track{
		display: flex;
	}
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track>.slick-slide{
		height: auto !important;
	}
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track>.slick-slide>div{
		height: 100%;
	}
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track{
		display: flex;
	}
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track>.slick-slide{
		height: auto !important;
	}
	.index-technology-topics .index-technology-topics-card-wrap>.slick-list>.slick-track>.slick-slide>div{
		height: 100%;
	}
	.index-technology-topics .index-technology-topics-card-wrap {
		margin-right: -15px;
		margin-left: -15px;
		margin-bottom: -15px;
	}
	.index-technology-topics .index-technology-topics-card {
		height: 100%;
		padding-right: 7px;
		padding-left: 7px;
	}
	.index-technology-topics-card .index-technology-topics-card-type {
		display: flex;
		flex-direction: column;
		height: 100%;
		text-decoration: none;
		color: #333333;
		border-radius: 16px;
		box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.1);
		overflow: hidden;
	}
	.index-technology-topics-card .index-technology-topics-card-head {
		position: relative;
	}
	.index-technology-topics-card .index-technology-topics-card-body {
		flex: 1 1;
		padding: 11px 16px 17px;
		background: #fff;
	}
	.index-technology-topics-card .index-technology-topics-card-frame {
		margin: 0;
		line-height: 1;
	}
	.index-technology-topics-card .index-technology-topics-card-image {
		width: 100%;
		height: auto;
	}
	.index-technology-topics-card .index-technology-topics-card-badge {
		position: absolute;
		bottom: 0;
		left: 0;
		display: block;
		padding: 2px 10px;
		background: #333;
		font-size: 10px;
		color: #fff;
	}
	.index-technology-topics-card .index-technology-topics-card-title {
		font-weight: bold;
		font-size: 14px;
	}
	.index-technology-topics-card a.index-technology-topics-card-type .index-technology-topics-card-title {
		color: #336699;
	}
	.index-technology-topics-card a.index-technology-topics-card-type:not(.blankIc) .index-technology-topics-card-title::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-technology-topics-card a.index-technology-topics-card-type.blankIc .index-technology-topics-card-title::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 10px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}	
	.index-technology-topics-card .index-technology-topics-card-text {
		margin-top: 5px;
		font-size: 14px;
	}
	.index-technology-topics-card .index-technology-topics-card-venue > .index-technology-topics-card-venue-mark {
		position: absolute;
		top: 0;
		left: 0;
	}

	.index-technology-topics-carousel{
		margin-top: -30px;
	}
  .index-technology-topics-carousel .index-technology-topics-card-wrap:not(.slick-initialized){
    height: 100vw;
    overflow: hidden;
    opacity: 0;
  }
	.index-technology-topics-carousel .slick-arrow{
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		border: none;
		background: none;
		text-indent: -100vw;
		white-space: nowrap;
		background-color: #d7063b;
		width: 30px;
		height: 30px;
		cursor: pointer;
	}
	.index-technology-topics-carousel .slick-arrow::after {
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: center;
		transform: rotateZ(45deg);
		content: "";
		box-sizing: border-box
	}
	.index-technology-topics-carousel .slick-arrow.slick-prev {
		margin-right: 32px;
	}
	.index-technology-topics-carousel .slick-arrow.slick-next {
		margin-left: 32px;
	}
	.index-technology-topics-carousel .slick-arrow.slick-prev:after {
		right: calc(50% - 6px);
		transform: rotateZ(-135deg);
	}
	.index-technology-topics-carousel .slick-arrow.slick-next:after {
		right: calc(50% - 3px);
	}
	.index-technology-topics-carousel .slick-list {
		padding-bottom: 15px !important;
	}
	.index-technology-topics-carousel-control {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		margin: 32px 0 0;
	}
	.index-technology-topics-carousel-switch-pause, 
	.index-technology-topics-carousel-switch-play {
		position: relative;
		appearance: none;
		overflow: hidden;
		width: 30px;
		height: 30px;
		border-radius: 15px;
		border: 1px solid #dddddd;
		background-color: #fff;
		font-size: 0;
		text-indent: -100vw;
		white-space: nowrap;
		cursor: pointer;
	}
	.index-technology-topics-carousel-switch-pause::after, 
	.index-technology-topics-carousel-switch-play::after {
		position: absolute;
		top: calc(50% - 6px);
		left: calc(50% - 6px);
		display: block;
		width: 12px;
		height: 12px;
		background: #333333;
		mask-position: center;
		mask-repeat: no-repeat;
		content: '';
	}
	.index-technology-topics-carousel-switch-pause::after {
		mask-image: url(/images_renewal/index_ic02.webp);
		mask-size: auto 10px;
	}
	.index-technology-topics-carousel-switch-play::after {
		mask-image: url(/images_renewal/index_ic01.webp);
		mask-size: auto 11px;
		margin-left: 1px;
	}


	/*--------------------------------
	 * index-topics
	 *--------------------------------*/
	.index-topics {
		margin: 38px  0 0;
	}
	.index-topics .index-topics-inner {
		max-width: 1620px;
		margin: 0 auto;
	}
	.index-topics .index-topics-column>.slick-list>.slick-track,
	.index-topics .index-topics-column-v2>.slick-list>.slick-track{
		display: flex;
	}
	.index-topics .index-topics-column>.slick-list>.slick-track>.slick-slide,
	.index-topics .index-topics-column-v2>.slick-list>.slick-track>.slick-slide{
		height: auto !important;
	}
	.index-topics .index-topics-column>.slick-list>.slick-track>.slick-slide>div,
	.index-topics .index-topics-column-v2>.slick-list>.slick-track>.slick-slide>div{
		height: 100%;
	}
	/*2こ以下*/
	.index-topics .index-topics-column:not(.slick-slider):has(> :nth-child(-n+2):last-child) ,
	.index-topics .index-topics-column-v2:not(.slick-slider):has(> :nth-child(-n+2):last-child) {
		display: flex;
		flex-wrap: wrap;
		gap: 16px 0;
	}
	.index-topics .index-topics-column:not(.slick-slider):has(> :nth-child(-n+2):last-child) > .index-topics-column-item ,
	.index-topics .index-topics-column-v2:not(.slick-slider):has(> :nth-child(-n+2):last-child) > .index-topics-column-item {
		width: 100%;
	}
	.index-topics .index-topics-column.slick-slider ,
	.index-topics .index-topics-column-v2.slick-slider {
		margin-right: -15px;
		margin-left: -15px;
	}
 .index-topics .index-topics-column.slick-slider .index-topics-column-item ,
 .index-topics .index-topics-column-v2.slick-slider .index-topics-column-item {
		height: 100%;
		padding: 0 7px;
	}

	/*.index-topics .index-topics-card */
	.index-topics .index-topics-card ,
	.index-topics .index-topics-card-v2 {
		height: 100%;
	}
	.index-topics .index-topics-card .index-topics-card-type ,
	.index-topics .index-topics-card-v2 .index-topics-card-v2-type {
		overflow: hidden;
		display: flex;
		flex-direction: column;
		height: 100%;
		border-radius: 16px;
		box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.1);
		text-decoration: none;
		color: #333;
	}
	.index-topics .index-topics-card a.index-topics-card-type .index-topics-card-title ,
	.index-topics .index-topics-card-v2 a.index-topics-card-v2-type .index-topics-card-v2-title {
		color: #336699;
	}
	.index-topics .index-topics-card a.index-topics-card-type:not(.blankIc) .index-topics-card-title::after ,
	.index-topics .index-topics-card-v2 a.index-topics-card-v2-type:not(.blankIc) .index-topics-card-v2-title::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-topics .index-topics-card a.index-topics-card-type.blankIc .index-topics-card-title::after ,
	.index-topics .index-topics-card-v2 a.index-topics-card-v2-type.blankIc .index-topics-card-v2-title::after {
		position: relative;
		top: -1px;
		display: inline-block;
		width: 12px;
		height: 11px;
		margin: 0 0 0 6px;
		background-image: url(/images_renewal/index_link_ic01.webp);
		background-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-topics .index-topics-card .index-topics-card-head,
	.index-topics .index-topics-card-v2 .index-topics-card-v2-head{
		line-height: 1;
	}
	.index-topics .index-topics-card .index-topics-card-body,
	.index-topics .index-topics-card-v2 .index-topics-card-v2-body{
		flex: 1 1;
		padding: 12px 16px 17px;
		background: #ffffff;
	}
	.index-topics .index-topics-card .index-topics-card-frame,
	.index-topics .index-topics-card-v2 .index-topics-card-v2-frame{
		height: fit-content;
		line-height: 1;
		overflow: hidden;
	}
	.index-topics .index-topics-card .index-topics-card-image,
	.index-topics .index-topics-card-v2 .index-topics-card-v2-image{
		max-width: 100%;
		width: 100%;
		height: auto;
	}
	.index-topics .index-topics-card .index-topics-card-title,
	.index-topics .index-topics-card-v2 .index-topics-card-v2-title{
		font-weight: bold;
		font-size: 15px;
		line-height: 1.4;
	}
	.index-topics .index-topics-card .index-topics-card-text,
	.index-topics .index-topics-card-v2 .index-topics-card-v2-text{
		margin-top: 5px;
		font-size: 14px;
	}

	.index-topics .index-topics-column.slick-slider:not(.slick-initialized),
	.index-topics .index-topics-column-v2.slick-slider:not(.slick-initialized) {
		height: 100vw;
		overflow: hidden;
		opacity: 0;
	}
	.index-topics .slick-arrow{
		position: relative;
		z-index: 1;
		margin: 0;
		padding: 0;
		overflow: hidden;
		border-radius: 50%;
		border: none;
		background: none;
		text-indent: -100vw;
		white-space: nowrap;
		background-color: #d7063b;
		width: 30px;
		height: 30px;
		cursor: pointer;
	}
	.index-topics .slick-arrow::after {
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform-origin: center;
		transform: rotateZ(45deg);
		content: "";
		box-sizing: border-box
	}
	.index-topics .slick-arrow.slick-prev {
		margin-right: 32px;
	}
	.index-topics .slick-arrow.slick-next {
		margin-left: 32px;
	}
	.index-topics .slick-arrow.slick-prev:after {
		right: calc(50% - 6px);
		transform: rotateZ(-135deg);
	}
	.index-topics .slick-arrow.slick-next:after {
		right: calc(50% - 3px);
	}
	.index-topics .slick-list {
		padding-bottom: 15px !important;
	}
	.index-topics-control {
		display: flex;
		flex-flow: row nowrap;
		align-items: center;
		justify-content: center;
		margin: 17px 0 0;
	}
	.index-topics-switch-pause, 
	.index-topics-switch-play {
		position: relative;
		appearance: none;
		overflow: hidden;
		width: 30px;
		height: 30px;
		border-radius: 15px;
		border: 1px solid #dddddd;
		background-color: #fff;
		font-size: 0;
		text-indent: -100vw;
		white-space: nowrap;
		cursor: pointer;
	}
	.index-topics-switch-pause::after, 
	.index-topics-switch-play::after {
		position: absolute;
		top: calc(50% - 6px);
		left: calc(50% - 6px);
		display: block;
		width: 12px;
		height: 12px;
		background: #333333;
		mask-position: center;
		mask-repeat: no-repeat;
		content: '';
	}
	.index-topics-switch-pause::after {
		mask-image: url(/images_renewal/index_ic02.webp);
		mask-size: auto 10px;
	}
	.index-topics-switch-play::after {
		mask-image: url(/images_renewal/index_ic01.webp);
		mask-size: auto 11px;
		margin-left: 1px;
	}


	/*--------------------------------
	 * index-about
	 *--------------------------------*/
	.index-about {
		margin: 40px 0 0;
	}
	.index-about .index-about-inner {
		margin-right: -15px;
		margin-left: -15px;
	}
	.index-about .index-about-title {
		text-align: center;
		font-weight: bold;
		font-size: 25px;
		line-height: 1.4;
	}

	/*index-about-card*/
	.index-about .index-about-card-wrap {
		display: flex;
		flex-direction: column;
		gap: 0 0;
		margin-top: 25px;
	}
	.index-about .index-about-card .index-about-card-type {
		position: relative;
		display: block;
		height: 100%;
	}
	.index-about .index-about-card .index-about-card-body {
		position: absolute;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: center;
		width: 100%;
		padding: 15px 15px;
		background: rgba(0, 0, 0, 0.5);
	}
	.index-about .index-about-card .index-about-card-frame {
		line-height: 1;
	}
	.index-about .index-about-card .index-about-card-image {
		max-width: 100%;
		width: 100%;
		height: auto;
	}
	.index-about .index-about-card .index-about-card-title {
		margin-right: -15px;
		font-weight: bold;
		font-size: 16px;
		line-height: 1.4;
		color: #fff;
	}
	.index-about .index-about-card .index-about-card-title::after {
		position: relative;
		top: -2px;
		display: inline-block;
		width: 6px;
		height: 6px;
		margin: 0 0 0 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotateZ(45deg);
		content: '';
	}



	/*--------------------------------
	 * index-guide
	 *--------------------------------*/
	.index-guide {
		margin: 40px 0 0;
	}
	.index-guide .index-guide-item-wrap {
		display: flex;
		flex-direction: column;
		gap: 32px 0;
	}
	.index-guide .index-guide-item-wrap .index-guide-item {
		display: flex;
		justify-content: center;
	}

	/*index-guide-card*/
	.index-guide-card .index-guide-card-type{
		display: grid;
		gap: 10px 36px;
	}

.index-guide .index-guide-card {
	display: grid;
	grid-template-areas: 
		"head body"
		"foot foot";
	grid-template-columns: 120px 1fr;
	grid-template-rows: auto auto;
	gap: 13px 14px;
	width: 100%;
}

.index-guide .index-guide-card-head {
	grid-area: head;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #eeeeee;
}

.index-guide .index-guide-card-body {
	grid-area: body;
}

.index-guide .index-guide-card-foot {
	grid-area: foot;
}
.index-guide .index-guide-card-foot > *:first-child {
	margin-top: 0!important;
}

.index-guide .index-guide-card-frame {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #eeeeee;
	aspect-ratio: 1 / 1;
	width: 120px;
}

.index-guide .index-guide-card-image {
	width: 100%;
	height: auto;
	vertical-align: top;
}

.index-guide .index-guide-card-title {
	font-weight: bold;
	font-size: 16px;
	line-height: 1.4;
}

.index-guide .index-guide-card-discription {
	margin-top: 12px;
}

.index-guide .index-guide-card-subtext {
	font-weight: bold;
	font-size: 12px;
	color: #d7063b;
}

.index-guide .index-guide-card-text {
	margin-top: 2px  ;
	font-weight: bold;
	font-size: 15px;
	line-height: 1.6;
}

.index-guide .index-guide-card-button,
.index-guide .index-guide-card-button-v2 {
	margin-top: 13px;
}

.index-guide .index-guide-card-button-type{
	position: relative;
	display: flex;
	justify-content: center;
	border: 2px solid #333333;
	border-radius: 30px;
	background-color: #333333;
	padding: 11px 38px 11px 24px;
	text-decoration: none;
	color: #fff;
}
.index-guide .index-guide-card-button-type::after{
	position: absolute;
	top: calc(50% - 4px);
	right: 22px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	transform: rotateZ(45deg);
	content: '';
}
.index-guide .index-guide-card-button-v2-type{
	position: relative;
	display: flex;
	justify-content: center;
	border: 2px solid #333333;
	border-radius: 30px;
	padding: 11px 38px 11px 24px;
	background-color: #ffffff;
	text-decoration: none;
	color: #333333;
}
.index-guide .index-guide-card-button-v2-type::after{
	position: absolute;
	top: calc(50% - 4px);
	right: 22px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #d91547;
	border-right: 2px solid #d91547;
	transform: rotateZ(45deg);
	content: '';
}
.index-guide .index-guide-card-button-label,
.index-guide .index-guide-card-button-v2-label {
	font-size: 14px;
	font-weight: bold;
}
.index-guide .index-guide-banner-type {
	display: block;
	height: fit-content;
	box-shadow: 0px 2px 7px 0px rgba(0, 0, 0, 0.2);
	line-height: 1;
	overflow: hidden;
}
.index-guide .index-guide-banner-image {
	display: block;
	width: 100%;
	height: auto;
}


	/*--------------------------------
	 * index-recruit
	 *--------------------------------*/
	.index-recruit {
		margin: 30px -15px 0;
		padding: 32px 15px 40px;
		background: url("/images_renewal/index_bg02_sp.webp") no-repeat center top/cover;
	}
	.index-recruit .index-recruit-title {
		text-align: center;
		font-weight: bold;
		font-size: 25px;
		color: #ffffff;
		line-height: 1.4;
	}
	.index-recruit .index-recruit-text {
		margin-top: 16px;
		text-align: center;
		font-weight: bold;
		font-size: 15px;
		color: #ffffff;
	}

	/*.index-recruit-card-button*/
	.index-recruit .index-recruit-card-button-wrap{
		display: flex;
		flex-direction: column;
		gap: 14px 0;
		margin-top: 14px;
	}
	.index-recruit .index-recruit-card-button-type{
		position: relative;
		display: flex;
		justify-content: center;
		width: 100%;
		border: 2px solid #333333;
		border-radius: 30px;
		padding: 11px 38px 11px 24px;
		background-color: #ffffff;
		text-decoration: none;
		color: #333333;
	}
	.index-recruit .index-recruit-card-button-type:not(.blankIc)::after{
		position: absolute;
		top: calc(50% - 4px);
		right: 22px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-recruit .index-recruit-card-button-type.blankIc::after{
		position: absolute;
		top: calc(50% - 5px);
		right: 18px;
		width: 12px;
		height: 11px;
		background-color: #7f7f7f;
		mask-image: url(/images_renewal/index_link_ic01.webp);
		mask-size: 100% 100%;
		vertical-align: middle;
		content: "";
	}
	.index-recruit .index-recruit-card-button-label {
		font-size: 14px;
		font-weight: bold;
	}

	/*--------------------------------
	 * index-contact
	 *--------------------------------*/
	.index-contact {
		margin: 0 -15px 0;
		padding: 45px 15px 40px;
		background: #eff1f2;
	}
	/*.index-contact-box*/
	.index-contact-box-wrap{
		display: flex;
		flex-direction: column;
		gap: 16px 0;
	}
	.index-contact-box-wrap > .index-contact-box{
		display: flex;
		flex-direction: column;
	}
	.index-contact-box{
		border-radius: 16px;
		padding: 22px 20px 31px;
		background: #fff;
	}
	.index-contact-box .index-contact-box-title{
		text-align: center;
		font-weight: bold;
		font-size: 25px;
		line-height: 1.4;
	}
	.index-contact-box .index-contact-box-text{
		margin-top: 11px;
		text-align: center;
		font-size: 14px;
	}

	/*.index-contact-button*/
	.index-contact .index-contact-button{
		flex: 1 1;
		display: flex;
		justify-content: center;
		align-items: flex-end;
		margin-top: 15px;
	}
	.index-contact .index-contact-button-type{
		position: relative;
		display: flex;
		justify-content: center;
		width: 100%;
		border: 2px solid #333333;
		border-radius: 30px;
		padding: 11px 38px 11px 24px;
		background-color: #ffffff;
		text-decoration: none;
		color: #333333;
	}
	.index-contact .index-contact-button-type::after{
		position: absolute;
		top: calc(50% - 4px);
		right: 22px;
		width: 6px;
		height: 6px;
		border-top: 2px solid #d91547;
		border-right: 2px solid #d91547;
		transform: rotateZ(45deg);
		content: '';
	}
	.index-contact .index-contact-button-label {
		font-size: 14px;
		font-weight: bold;
	}
	.index-contact .index-contact-sns-list {
		display: flex;
		justify-content: center;
		gap: 0 35px;
		margin-top: 24px;
	}
	.index-contact .index-contact-sns-list > li {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 45px;
		height: 45px;
	}
	.index-contact .index-contact-sns-list > li a{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
	}
	.index-contact .index-contact-sns-list > li a img{
		width: 100%;
	}  .index-contact-sns-list + .index-contact-button{
		margin-top: 33px;
	}


}/* end Media max-width: 768px*/

@media only screen and (max-width: 360px) {
}/* end Media max-width: 360px*/

@media print {
}


[aria-hidden="true"] a{
  pointer-events: none !important;
}
