@charset "UTF-8";
/*--------------------------------------------------------------
.product
--------------------------------------------------------------*/

/* mobile */
@media (min-width: 300px) {
	
	.product h4 {
		font-size: 25px;
		font-weight: 600;
	}
	
	.product h4 i {
		margin: 0;
		padding: 0;
		font-size: 15px;
		font-weight: 600;
		font-style: italic;
		color: #2AB4FF;
		display: block;
		font-family: "Exo 2", serif;
		line-height: 1;
	}
	
}

/* Small than tablet */
@media (min-width: 768px) {
	
	
	
}


/* Larger than tablet */
@media (min-width: 992px) {
	
	.product h4 {
		font-size: 2.93vw;
		font-weight: 600;
	}
	
	.product h4 i {
		margin: 0;
		padding: 0;
		font-size: 1.46vw;
		font-weight: 600;
		font-style: italic;
		color: #2AB4FF;
		display: block;
		font-family: "Exo 2", serif;
		line-height: 1;
	}

}
	
/*--------------------------------------------------------------
#case-area
--------------------------------------------------------------*/

/* mobile */
@media (min-width: 300px) {
	
	#case-area {
		background: #232323;
		padding: 10px 5% 0 5%;
	}
	
	#case-area h4 {
		margin: 0 0 30px 0;
	}
	
	#case-area .tab-container {
		display: flex;
		flex-wrap: wrap;
    }
	
    #case-area .tab-menu-area {
		width: 100%;
		padding: 0;
		box-sizing: border-box;
    }
	
	#case-area .tab-header {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-wrap: wrap;
    }
	
    #case-area .tab-header li {
		margin: 0 0 1% 0;
		padding: 5px 0;
		width: 49.5%;
		box-sizing: border-box;
		background: #333;
		color: #666;
		text-align: center;
		cursor: pointer;
		font-size: 13px;
		font-weight: 600;
		position: relative;
		transition: background 0.3s, color 0.3s;
	}
	
	#case-area .tab-header li .material-symbols-outlined {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%) rotate(90deg);
		right: 5px;
		font-size: 10px;
		font-variation-settings:
			'FILL' 0,
			'wght' 300,
			'GRAD' 0,
			'opsz' 24
	}
	
    #case-area .tab-header li.active {
		background: #28A9FF;
		color: #fff;
    }
	
	.tab-content-wrapper {
		width: 100%;
	}
	
    .tab-content {
		display: none;
		padding: 20px 0;
		opacity: 0;
		transition: opacity 0.5s ease-in-out;
    }
	
    .tab-content.active {
		display: block;
		opacity: 1;
    }
	
	.tab-content h5 {
		padding: 0 0 20px 0;
		font-size: 22px;
		font-weight: 600;
    }
	
	.tab-content p {
		padding: 0 0 30px 0;
    }
	
	.tab-content ul {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-wrap: wrap;
    }
	
	.tab-content ul li {
		width: 49%;
		margin-bottom: 20px;
    }
	
	.tab-content dt {
		padding: 0 0 5px 0;
    }
	
	.tab-content dd {
		text-align: center;
		padding: 0;
		font-size: 15px;
		font-weight: 600;
    }
}
	

/* Small than tablet */
@media (min-width: 768px) {
	
	
	
}


/* Larger than tablet */
@media (min-width: 992px) {
	
	#case-area {
		background: #232323;
		padding: 2.19vw 10% 0 10%;
	}
	
	#case-area h4 {
		margin: 0 0 1.46vw 0;
	}
	
	#case-area .tab-container {
		display: flex;
    }
	
    #case-area .tab-menu-area {
		width: 30%;
		padding: 0 50px 0 0;
		box-sizing: border-box;
    }
	
	#case-area .tab-header {
		
    }
	
    #case-area .tab-header li {
		margin: 0.5%;
		padding: 1.10vw 0;
		box-sizing: border-box;
		background: #333;
		color: #666;
		width: 100%;
		text-align: center;
		cursor: pointer;
		font-size: 1.32vw;
		font-weight: 600;
		position: relative;
		transition: background 0.3s, color 0.3s;
	}
	
	#case-area .tab-header li .material-symbols-outlined {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%) rotate(90deg);
		right: 1.46vw;
		font-size: 1.10vw;
		font-variation-settings:
			'FILL' 0,
			'wght' 300,
			'GRAD' 0,
			'opsz' 24
	}
	
    #case-area .tab-header li.active {
		background: #28A9FF;
		color: #fff;
    }
	
	.tab-content-wrapper {
		width: 70%;
	}
	
    .tab-content {
		display: none;
		padding: 0 0 1.09vw 0;
		opacity: 0;
		transition: opacity 0.5s ease-in-out;
    }
	
    .tab-content.active {
		display: block;
		opacity: 1;
    }
	
	.tab-content h5 {
		padding: 0 5% 1.46vw 5%;
		font-size: 2.20vw;
		font-weight: 600;
    }
	
	.tab-content p {
		padding: 0 5% 3.66vw 5%;
    }
	
	.tab-content ul {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-wrap: wrap;
    }
	
	.tab-content ul li {
		width: 32%;
		margin-bottom: 1.46vw;
    }
	
	.tab-content dt {
		padding: 0 0 0.73vw 0;
    }
	
	.tab-content dd {
		text-align: center;
		padding: 0;
		font-size: 1.17vw;
		font-weight: 600;
    }

}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}


/*--------------------------------------------------------------
#youtube-area
--------------------------------------------------------------*/

/* mobile */
@media (min-width: 300px) {
	
	#youtube-area {
		padding: 10px 5% 20px 5%;
		background: #EFEFEF;
	}
	
	#youtube-area .inner-box {
		display: -webkit-flex;
		display: flex;
		flex-wrap: wrap;
	}
	
	#youtube-area .inner-box div:first-child {
		padding: 0;
		margin: 0;
		width: 100%;
	}
	
	#youtube-area .product {
		padding: 0;
		margin: 0;
	}
	
	#youtube-area .product h4 {
		padding: 0 0 20px 0;
		margin: 0;
		color: #232323;
	}
	
	#youtube-area .product p {
		padding: 0;
		margin: 0 0 30px 0;
		color: #232323;
	}
	
	#youtube-area .product p a {
		color: #2AB4FF;
		text-decoration: underline;
	}
	
	#youtube-area .inner-box div:last-child {
		width: 100%;
	}
	
	#youtube-area .inner-box div:last-child dl {
		margin: 0 0 30px 0;
	}
	
	#youtube-area .inner-box div:last-child dl a img {
		transition: all 0.3s ease-out;
	}
	
	#youtube-area .inner-box div:last-child dl a:hover img {
		opacity: 0.6;
	}
	
	#youtube-area .inner-box div:last-child dt {
		margin: 0 0 10px 0;
	}
	
	#youtube-area .inner-box div:last-child dd {
		padding: 0 20px;
		font-size: 18px;
		font-weight: 500;
	}
}
	

/* Small than tablet */
@media (min-width: 768px) {
	
	
	
}


/* Larger than tablet */
@media (min-width: 992px) {
	
	#youtube-area {
		padding: 2.19vw 10% 0 10%;
		background: #EFEFEF;
	}
	
	#youtube-area .inner-box {
		display: -webkit-flex;
		display: flex;
	}
	
	#youtube-area .inner-box div:first-child {
		padding: 0;
		margin: 0;
		width: 40%;
		position: sticky;
		top: 0.73vw;
		left: 0;
	}
	
	#youtube-area .product {
		padding: 0;
		margin: 0;
		position: sticky;
	}
	
	#youtube-area .product h4 {
		padding: 0 0 2.20vw 0;
		margin: 0;
		color: #232323;
	}
	
	#youtube-area .product p {
		padding: 0;
		margin: 0;
		color: #232323;
	}
	
	#youtube-area .inner-box div:last-child {
		width: 60%;
	}
	
	#youtube-area .inner-box div:last-child dl {
		margin: 0 0 3.66vw 0;
	}
	
	#youtube-area .inner-box div:last-child dl a img {
		transition: all 0.3s ease-out;
	}
	
	#youtube-area .inner-box div:last-child dl a:hover img {
		opacity: 0.6;
	}
	
	#youtube-area .inner-box div:last-child dt {
		margin: 0 0 0.73vw 0;
	}
	
	#youtube-area .inner-box div:last-child dd {
		padding: 0 1.46vw;
		font-size: 1.46vw;
		font-weight: 500;
	}

}


/*--------------------------------------------------------------
#service-area
--------------------------------------------------------------*/

/* mobile */
@media (min-width: 300px) {
	
	#service-area {
		padding: 10px 0 50px 0;
		background: #232323;
	}
	
	#service-area h4 {
		padding: 0 5% 25px 5%;
		text-align: left;
	}
	
	#service-area h4 span {
		color: #2AB4FF;
	}
	
	#service-area .center {
		padding: 0 5% 20px 5%;
		text-align: left;
	}
	
	#service-area .tab-header {
		display: flex;
		flex-wrap: wrap;
    }
	
	#service-area .tab-header li {
		background: #484848;
		color: #717171;
		margin: 0 0.3% 0 0;
		padding: 10px;
		box-sizing: border-box;
		width: 33%;
		text-align: center;
		cursor: pointer;
		position: relative;
		font-size: 13px;
		font-weight: 500;
		transition: background 0.3s, color 0.3s;
    }
	
	#service-area .tab-header li i {
		font-size: 18px;
		font-weight: 500;
		font-style: italic;
		display: block;
		font-family: "Exo 2", serif;
		margin: 0 0 5px 0;
    }
	
	#service-area .tab-header li:last-child {
		margin: 0;
		width: 33.3%;
    }
	
	
	#service-area .tab-header li .material-symbols-outlined {
		display: none;
	}
	
    #service-area .tab-header li.active {
		background: #2AB4FF;
		color: #fff;
    }
	
    .alt-tab-container .tab-content {
		background: #EFEFEF;
		padding: 20px 5%;
		color: #232323;
    }
	
	.alt-tab-container .tab-content h5 {
		padding: 0 0 10px 0;
		font-size: 20px;
		font-weight: 600;
    }
	
	.alt-tab-container .tab-content h5 span {
		padding: 0 0 5px 0;
		font-size: 20px;
		font-weight: 600;
		font-style: italic;
		display: block;
		font-family: "Exo 2", serif;
		color: #2AB4FF;
    }
	
	.alt-tab-container .tab-content p {
		padding: 0;
		margin: 0;
    }
	
	.alt-tab-container .tab-content ul {
		margin: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		flex-wrap: wrap;
    }
	
	.alt-tab-container .tab-content li {
		margin: 0 0 20px 0;
		width: 49%;
    }
	
	.alt-tab-container .tab-content li:last-child {
		margin: 0;
    }
	
	.alt-tab-container .tab-content li dd {
		font-size: 15px;
    }
	
}
	

/* Small than tablet */
@media (min-width: 768px) {
	
	
	
}


/* Larger than tablet */
@media (min-width: 992px) {
	
	#service-area {
		padding: 2.19vw 5% 3.66vw 5%;
		background: #232323;
	}
	
	#service-area h4 {
		padding: 0 0 1.83vw 0;
		text-align: center;
	}
	
	#service-area h4 span {
		color: #2AB4FF;
	}
	
	#service-area .center {
		padding: 0 0 2.19vw 0;
		text-align: center;
	}
	
	#service-area .tab-header {
		display: flex;
		flex-wrap: wrap;
    }
	
	#service-area .tab-header li {
		background: #484848;
		color: #717171;
		margin: 0 0.3% 0 0;
		padding-top: 1.83vw;
		padding-bottom: 1.83vw;
		width: 33%;
		position: relative;
		font-size: 1.17vw;
    }
	
	#service-area .tab-header li i {
		font-size: 2.20vw;
		font-weight: 500;
		font-style: italic;
		display: block;
		font-family: "Exo 2", serif;
		margin: 0 0 5px 0;
    }
	
	#service-area .tab-header li:last-child {
		margin: 0;
		width: 33.3%;
    }
	
	#service-area .tab-header li .material-symbols-outlined {
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%) rotate(90deg);
		right: 1.46vw;
		font-size: 1.10vw;
		font-variation-settings:
			'FILL' 0,
			'wght' 300,
			'GRAD' 0,
			'opsz' 24
	}
	
   #service-area .tab-header li.active {
		background: #2AB4FF;
		color: #fff;
    }
	
    .alt-tab-container .tab-content {
		background: #EFEFEF;
		padding: 2.93vw 5%;
		color: #232323;
    }
	
	.alt-tab-container .tab-content h5 {
		padding: 0 0 0.73vw 0;
		font-size: 2.56vw;
		font-weight: 600;
    }
	
	.alt-tab-container .tab-content h5 span {
		padding: 0 0 0.37vw 0;
		font-size: 1.46vw;
		font-weight: 600;
		font-style: italic;
		display: block;
		font-family: "Exo 2", serif;
		color: #2AB4FF;
    }
	
	.alt-tab-container .tab-content p {
		padding: 0;
		margin: 0;
    }
	
	.alt-tab-container .tab-content ul {
		margin: 2.20vw 0;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		flex-wrap: nowrap;
    }
	
	.alt-tab-container .tab-content li {
		margin: 0 2% 0 0;
		width: auto;
    }
	
	.alt-tab-container .tab-content li:last-child {
		margin: 0;
    }
	
	.alt-tab-container .tab-content li dd {
		font-size: 1.17vw;
    }

}


/*--------------------------------------------------------------
#document-area
--------------------------------------------------------------*/

/* mobile */
@media (min-width: 300px) {
	
	#document-area {
		padding: 10px 5% 10px 5%;
		background: #EFEFEF;
	}
	
	#document-area .product {
		padding: 0 0 20px 0;
	}
	
	#document-area .product h4 {
		color: #232323;
	}
	
	#document-area ul {
		padding: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 2%;
	}
	
	#document-area ul li {
		padding: 0 0 20px 0;
		width: 48%;
		display: flex;
        flex-direction: column;
	}
	
	.document-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        height: 100%; /* 各アイテムの高さを統一 */
    }

    /* タイトルの高さを統一（PCのみ適用） */
    .document-item .title {
        min-height: 2.5em; /* 2行分の高さを確保（調整可） */
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* ダウンロードボタンを下に揃える（PCのみ適用） */
    .dl-container {
        margin-top: auto; /* タイトルの長さに関係なくボタンを下に配置 */
        padding-top: 10px;
		width: 100%;
    }
	
	#document-area dt {
		padding: 0 0 10px 0;
	}
	
	#document-area dd {
		padding: 0 10px 10px 10px;
		font-size: 15px;
		font-weight: 600;
		color: #232323;
		text-align: center;
	}
	
	#document-area dd a {
		padding: 8px 10px;
		font-size: 13px;
		font-weight: 600;
		color: #232323;
		text-align: center;
		border: #232323 1px solid;
		border-radius: 50px;
		position: relative;
		transition: all 0.3s ease-out;
		display: block;
	}
	
	#document-area dd a:hover {
		border: #2AB4FF 1px solid;
		color: #2AB4FF;
	}
	
	#document-area dd .material-symbols-outlined {
		position: absolute;
		right: 5px;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		color: #2AB4FF;
		font-size: 15px;
		font-variation-settings:
			'FILL' 0,
			'wght' 400,
			'GRAD' 0,
			'opsz' 24
	}
	
}
	

/* Small than tablet */
@media (min-width: 768px) {
	
	
	
}


/* Larger than tablet */
@media (min-width: 992px) {
	
	#document-area {
		padding: 3.66vw 10% 0 10%;
		background: #EFEFEF;
	}
	
	#document-area .product {
		padding: 0 0 1.46vw 0;
	}
	
	#document-area .product h4 {
		color: #232323;
	}
	
	#document-area ul {
		padding: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 3%;
	}
	
	#document-area ul li {
		padding: 0 0 2.93vw 0;
		width: 22%;
		display: flex;
        flex-direction: column;
	}
	
	
	
	#document-area dt {
		padding: 0 0 1.10vw 0;
	}
	
	#document-area dd {
		padding: 0 0 0.73vw 0;
		font-size: 1.46vw;
		font-weight: 600;
		color: #232323;
		text-align: center;
	}
	
	#document-area dd a {
		padding: 0.59vw 3.66vw;
		font-size: 1.02vw;
		font-weight: 600;
		color: #232323;
		text-align: center;
		border: #232323 1px solid;
		border-radius: 3.66vw;
		position: relative;
		transition: all 0.3s ease-out;
		display: inline-block;
	}
	
	#document-area dd a:hover {
		border: #2AB4FF 1px solid;
		color: #2AB4FF;
	}
	
	#document-area dd .material-symbols-outlined {
		position: absolute;
		right: 0.73vw;
		top: 50%;
		-webkit-transform: translateY(-50%); /* Safari用 */
		transform: translateY(-50%);
		color: #2AB4FF;
		font-size: 1.46vw;
		font-variation-settings:
			'FILL' 0,
			'wght' 400,
			'GRAD' 0,
			'opsz' 24
	}

}