/*===============================================
SP
===============================================*/
@media (max-width:761px) {
	/* ============================================================
 	FV BG MOVIE
	==============================================================*/
	#animation_container {
		position: absolute;
		top: 36%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	
	video {
		display: block;
	}
	.black_lay {
		position: relative;
		opacity: 0;
		transition: all 1s ease 0s;
	}
	
	.black_lay_act{
		opacity: 1;
	}
	
	#bg-video {
		position: fixed;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: auto;
		height:100vh;
		z-index: -20;
	}
	
	/* ============================================================
 	main vi 
	==============================================================*/
	#main_wrap {
		width: 100%;
		height: 100vh;
		overflow: hidden;
		position: relative;
	}
	#main_wrap h2{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		z-index: 2;
		font-family:
		"Oswald", sans-serif;
		font-weight: 600;
		font-size: 7.0rem;
		font-feature-settings:
		'palt';
		color: #fff;
		line-height: 1;
	}
	#main_wrap ul {
		position: absolute;
		left: 50%;
		bottom: 30px;
		transform: translate(-50%, 0);
	}
	#main_wrap ul li {
		width: 60vw;
		height: 60vw;
		border-radius: 50%;
		background: linear-gradient(to bottom, rgba(66, 197, 255, 0.85) 0%, rgba(8, 88, 163, 0.85) 100%);
	}
	#main_wrap ul a {
		width: 60vw;
		height: 60vw;
		box-sizing: border-box;
		display: block;
		font-family: 'Barlow', sans-serif;
		font-weight: 100;
		font-size: 3.2rem;
		line-height: 1.2;
		text-align: center;
		color: #fff;
		position: relative;
		padding: 43px 0 0;
	}
	#main_wrap ul a .jp_txt {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 300;
		font-size: 1.3rem;
		padding: 10px 0 0;
	}
	#main_wrap ul a .icon {
		position: absolute;
		bottom: 35px;
		left: 50%;
		transform: translate(-50%, 0);
	}
	/* ============================================================
 	bg_img
	==============================================================*/
	.bg_img01, .bg_img02, .bg_img03, .bg_img04, .bg_img05, .bg_img06, .bg_img07, .bg_img08, .bg_img09, .bg_img10, .bg_img11, .bg_img12, .bg_img13 {
		position: absolute;
		z-index: 0;
	}
	.bg_img01 {
		top: -57px;
		left: 13px;
		width: 30vw;
	}
	.bg_img02 {
		top: 0px;
		left: calc(50% + 80px);
		width: 12vw;
	}
	.bg_img03 {
		width: 156px;
		bottom: -76px;
		left: calc(50% + 70px);
		width: 26vw;
	}
	.bg_img04 {
		top: 0;
		right: -244px;
	}
	.bg_img05 {
		top: 10px;
		left: calc(50% - 120px);
		width: 16vw;
	}
	.bg_img06 {
		top: -196px;
		left: -65px;
	}
	.bg_img07 {
		top: -50px;
		left: 628px;
	}
	.bg_img08 {
		top: -36px;
		left: 840px;
	}
	.bg_img09 {
		bottom: -91px;
		right: 7px;
		width: 24vw;
	}
	.bg_img10 {
		bottom: -244px;
		left: 230px;
	}
	.bg_img11 {
		width: 50vw;
		bottom: -244px;
		left: -87px;
	}
	.bg_img12 {
		width: 100px;
		bottom: -200px;
		left: 230px;
	}
	.bg_img13 {
		bottom: -260px;
		left: calc(35%);
	}
	/* ============================================================
 	section 01
	==============================================================*/
	#sec01 {
		width: 100%;
		padding: 0px 0 100px;
		background: #fff;
		position:relative;
	}
	#sec01 .wrapper {
		padding:0 7%;
	}
	
	#sec01 h2 {
		display: inline-block;
		font-family: "Oswald", sans-serif;
		font-weight: 600;
		font-size: 5.0rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		line-height: 1.2;
		color: #000000;
		padding: 57px 0 0;
	}
	#sec01 h2 span {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1;
	}
	#sec01 h3 {
		display: inline-block;
		font-family: "Oswald", sans-serif;
		font-weight: 600;
		font-size: 7.3rem;
		font-feature-settings: 'palt';
		line-height: 1.0;
		color: #000000;
		letter-spacing: -0.1rem;
		padding: 26px 0 0;
	}
	#sec01 p {
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 400;
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
		line-height: 2.0;
		font-feature-settings: 'palt';
		padding: 36px 0 30px;
		color:#000;
	}


	/* ============================================================
 	section 02
	==============================================================*/
	#sec02 {
		width: 100%;
		padding: 0 0 120px;
		background: #005bac;
		position:relative;
		background-position: center;
		background-size: cover;
	}
	#sec02 .wrapper {
		padding:0 7%;
	}
	#sec02 h2 {
		display: inline-block;
		font-family: "Oswald", sans-serif;
		font-weight: 600;
		font-size: 5.0rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		line-height: 1.2;
		color: #ffffff;
		padding: 57px 0 0;
	}
	#sec02 h2 span {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1;
	}
	#sec02 .main_pro_box{
		margin: 54px auto 0;
		text-align: center;
	}
	#sec02 .pro_in{
		width: 100%;
		height: 280px;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: center;
		position: relative;
	}
	#sec02 .pro_in:nth-child(1){
		background-image: url(../img/pro_01.jpg);
		background-size: 100%;
	}
	#sec02 .pro_in:nth-child(2){
		background-image: url(../img/pro_02.jpg);
		background-size: 100%;
	}
	#sec02 .pro_in:nth-child(3){
		background-image: url(../img/pro_03.jpg);
		background-size: 100%;
	}
	#sec02 .pro_in h3{
		font-family: "Oswald", sans-serif;
		font-weight: 600;
		letter-spacing: 0.1rem;
		font-size: 2.2rem;
		line-height: 1.4;
		font-feature-settings: 'palt';
		color: #fff;
		margin: 0 0 80px;
		text-shadow: 0px 0px 4px rgb(0 0 0);
	}
	#sec02 .pro_in .btn_view li a{
		margin: 0 auto 0;
		background-color:#000;
		position: absolute;
		bottom: 15px;
		left: 50%;
		transform: translate(-50%, 0);
	}
	#sec02 .pro_in .btn_view a:hover {
		background: #1e2021;
		transform: translate(-50%, 0) scale(1.1);
	}
	
	#sec02 .news_wrapper{
		background-color:#fff;
		border-radius: 4px;
		width:80%;
		margin: 79px auto 0;
		padding: 30px 6% 50px;
	}
	#sec02 .news_wrapper h2 {
		font-size: 8.0rem;
		color: #000000;
		padding: 0;
	}
	#sec02 .news_wrapper h2 span{
		padding: 0px 0 0;
	}
	#sec02 .news_wrapper .btn_view{
		margin:30px 0 0 ;
	}
	#sec02 .news_list {
    margin: 32px 0 0;
    border-top: 1px solid #bfd4e8;
}
	#sec02 .news_list ul {
		border-top: 1px solid #CBD5DC;
	}
	#sec02 .news_list li a {
		display: block;
		padding: 14px 20px;
		border-bottom: 1px solid #bfd4e8;
		position: relative;
	}
	#sec02 .news_list li a time {
		display: block;
		width: 130px;
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 400;
		font-size: 1.3rem;
		letter-spacing: 0.1rem;
		line-height: 1.4;
		padding: 0 0 7px;
		color: #000;
	}
	#sec02 .news_list li a .txt_block {
		/* display: flex; */
	}
	#sec02 .news_list li a p {
		display: inline-block;
		box-sizing: border-box;
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		letter-spacing: 0.1rem;
		line-height: 1.4;
		color: #0858A3;
	}
	#sec02 .news_list li a .label_a {
		display: block;
		width: 48px;
		margin: 2px 10px 4px 0;
		text-align: center;
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 400;
		font-size: 1.2rem;
		letter-spacing: 0.1rem;
		padding: 2px 0 3px;
		border-radius: 2px;
		line-height: 1;
		color: #fff;
		background: #99cc00;
	}
	#sec02 .news_list > a {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		line-height: 1;
		padding: 11px 0 13px 0;
		text-align: center;
		width: 150px;
		margin: 20px auto 0;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color: #fff;
		border-radius: 30px;
		background: linear-gradient(to bottom, #0a5aa5 0%, #4090db 100%);
	}
	#sec02 .news_list > a span {
		font-size: 1.3rem;
		font-weight: 500;
		padding: 0 10px 0 0;
	}
	/* ============================================================
 	section 03
	==============================================================*/
	#sec03 {
		width: 100%;
		position:relative;
		padding: 0 0 140px;
		background: #fff;
	}
	#sec03 .wrapper {
		padding: 40px 6%;
	}
	
	#sec03 h2 {
		display: inline-block;
		font-family: "Oswald", sans-serif;
		font-weight: 500;
		font-size: 8rem;
		font-feature-settings: 'palt';
		line-height: 1.0;
		color: #000000;
		text-align:left;
	}
	#sec03 h2 span {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		letter-spacing: 0.1rem;
		line-height: 1;
		padding: 7px 0 0;
	}
	#sec03 p.body_txt{
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 400;
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
		line-height: 1.8;
		font-feature-settings: 'palt';
		padding: 30px 0px 0 0;
		color: #000;
	}
	#sec03 .sq_ttl{
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 600;
		letter-spacing: 0.1rem;
		font-size: 2.0rem;
		color: #000000;
		position:relative;
		padding: 0 0 0px 19px;
		margin: 30px auto 15px;
	}
	#sec03 .sq_ttl:before{
		content:"";
		position:absolute;
		width:12px;
		height:12px;
		background:#99CC00;
		top: 50%;
		left:0;
		transform: translate(0%, -50%);
	}
	#sec03 .gree_ttl:before{
		background:#99CC00;		
	}
	#sec03 .orange_ttl:before{
		background:#F6881B;		
	}
	#sec03 .sky_ttl:before{
		background:#66CCFF;		
	}
	#sec03 .blue_ttl:before{
		background:#005BAC;		
	}
	#sec03 .card p {
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 600;
		letter-spacing: 0.1rem;
		font-size: 1.6rem;
		line-height: 1.4;
		font-feature-settings: 'palt';
		margin:0 0 6px;
		text-shadow: 0px 0px 4px rgb(0 0 0);
	}
	#sec03 .card p span{
		font-size: 1.4rem;
		display:block;
		text-align:center;
		font-weight: 400;		
	}
	#sec03 .system-section {
		border-top: 1px solid #e1e1e1;
		margin: 35px 0 0;
	}
	#sec03 .system-section .btn_view a{
		background-color:#000;
	}
	#sec03 .pd_wrap {
		border-top: 1px solid #e1e1e1;
		margin: 90px auto 0;
	}
	#sec03 .ori_wrap {
		margin: 30px auto 0;
		padding:0 6%;
		border-top: 1px solid #e1e1e1;
	}
	#sec03 .pd_wrap .img_box{
		margin:40px auto 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch; /* iOS用スムーススクロール */
	}
	#sec03 .pd_wrap .img_box img{
	  display: block;
	  width: auto;
	  height: auto;
	  max-height: 500px;
	}

	#sec03 .grid-feature {
	}
	
	#sec03 .card {
		position: relative;
		background: #e0e0e0;
		padding: 1.5rem;
		height: 200px;
		background-image: url(../img/TwinPAC-1.jpg);
		background-position: center;
		background-size: cover;
		color: white;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: center; 
		text-align: center;
		margin:0 0 20px;
	}
	
	#sec03 .system-section .btn_view li{
		background-color:#000;		
	}
	#sec03 .system-section .btn_view li .btn_txt{
		display: block;
		font-family: "Oswald", sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		line-height: 1;
		padding: 11px 12px 13px 12px;
		text-align: center;
		width: 180px;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color: #fff;
	}
	#sec03 .system-section .btn_view li .btn_txt span{
		display:inline;
		margin: 0 0 0 15px;
	}
	
	#sec03 .grid-feature .card:nth-child(2){
		background-image: url(../img/TwinPAC-2.jpg);	
	}
	
	#sec03 .grid-feature .card:nth-child(3){
		background-image: url(../img/TwinPAC-3.jpg);	
	}
	
	#sec03 .grid-3 .card:first-child{
		background-image: url(../img/TwinPAC-4.jpg);	
	}
	
	#sec03 .grid-3 .card:nth-child(2){
		background-image: url(../img/TwinPAC-5.jpg);	
	}
	
	#sec03 .grid-3 .card:nth-child(3){
		background-image: url(../img/TwinPAC-6.jpg);	
	}
	
	#sec03 .grid-2 .card:first-child{
		background-image: url(../img/TwinPAC-9.jpg);	
	}
	
	#sec03 .grid-2 .card:nth-child(2){
		background-image: url(../img/TwinPAC-10.jpg);	
	}
	
	#sec03 .grid-2 .card:nth-child(3){
		background-image: url(../img/TwinPAC-11.jpg);	
	}
	
	#sec03 .grid-2 .card:nth-child(4){
		background-image: url(../img/TwinPAC-12.jpg);	
	}
	
	#sec03 .grid-2 .card:nth-child(5){
		background-image: url(../img/TwinPAC-13.jpg);	
	}
	
	
	#sec03 .system-section:nth-child(2) .grid-2 .card:first-child{
		background-image: url(../img/TwinPAC-7.jpg);	
	}
	
	#sec03 .system-section:nth-child(2) .grid-2 .card:nth-child(2){
		background-image: url(../img/TwinPAC-8.jpg);	
	}
	
	#sec03 .card > * {
		position: relative;
		z-index: 1;
	}
	
	#sec03 .swiper-wrapper {
		display: flex;
	}	
	#sec03 .swiper-slide {
	  border-radius: 8px;
	  padding: 8px;
	  text-align: center;
	}	
	#sec03 .swiper-slide img {
	  width: 100%;
	  height: auto;
	  object-fit: contain;
	  margin-bottom: 8px;
	}	
	#sec03 .swiper-slide p {
	  text-align: center;
	  font-family: "Noto Sans SC", sans-serif;
	  font-weight: 500;
	  font-size: 1.4rem;
	  color: #000;
	  line-height: 1.3;
	}

	#sec03 .pd_wrap {
	  overflow-x: auto;
	}
	
	#sec03 .table_flex {
	  display: flex;
	  gap: 18px;
	  flex-wrap: nowrap;
	  min-width: 1000px;
	}
	
	#sec03 .tech_table {
	  border-collapse: collapse;
	  font-family: "Noto Sans SC", sans-serif;
	  font-size: 1.4rem;
	  table-layout: fixed;
	  width: 600px;
		color: #000;
	}
	
	.tech_table th,
	.tech_table td {
	  border: 1px solid #e1e1e1;
	  padding: 6px 12px;
	  text-align: center;
	  vertical-align: middle;
	  word-wrap: break-word;
	}
	
	.tech_table th {
	  background-color: #dcf2fd;
	  font-weight: 500;
	  line-height: 2.0rem;
	}
	
	.tech_table th:nth-child(3),
	.tech_table th:nth-child(4),
	.tech_table th:nth-child(5),
	.tech_table td:nth-child(3),
	.tech_table td:nth-child(4),
	.tech_table td:nth-child(5) {
	  width: 100px;
	}
	.tech_table th,
	.tech_table td {
	  border: 1px solid #ccc;
	  padding: 8px 12px;
	  text-align: center;
	  vertical-align: middle;
	  word-break: break-word;
	  white-space: normal; 
	}

	.tech_table th.mini_l{
	  line-height:1.2;
	}
	.tech_table th:first-child,
	.tech_table td:first-child {
		width: 110px;
	}

	/* ============================================================
 	section 04
	==============================================================*/
	#sec04 {
		width: 100%;
		padding: 0 0 100px;
		position: relative;
		background: #005bac;
	}
	
	#sec04 h2 {
		display: inline-block;
		font-family: "Oswald", sans-serif;
		font-weight: 500;
		font-size: 8rem;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		line-height: 1.0;
		color: #ffffff;
		padding: 57px 0 0;
		text-align:left;
	}
	#sec04 h2 span {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1;
		padding: 17px 0 0;
	}
	#sec04 p {
		font-family: "Noto Sans SC", sans-serif;
		font-weight: 300;
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
		color:#fff;
		line-height: 1.8;
		font-feature-settings: 'palt';
		margin: 24px 0 0 0;
	}    
	#sec04 .btn_view li a {
		margin:30px 0 0;
        background-color: #000;
	}
	#sec04 .txt_wrap {
		width: 480px;
	}
	#sec04 .img_box {
		width: 100%;
		position: absolute;
		/* left: calc(20%); */
		margin: 40px 0 0;
		z-index: 200;
	}
	/* ============================================================
 	section 05
	==============================================================*/
	#sec05 {
		width: 100%;
		padding: 60px 0 250px;
		background: #fff;
	}
	
	#sec05 .wrapper {
	}
	
	#sec05 h2 {
		display: inline-block;
		font-family: "Oswald", sans-serif;
		font-weight: 500;
		font-size: 6rem;
		font-feature-settings: 'palt';
		line-height: 1.0;
		color: #000000;
		text-align:left;
	}
	#sec05 h2 span {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1;
		padding: 18px 0 29px;
	}
	#sec05 .img_box{
		position:absolute;
		z-index:200;
		right:0;
		bottom: -200px;
		width: 100%;
		transform: translateX(20%);
	}
	#sec05 .wrapper::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: -250px;
		width: 140%;
		max-width: 1380px;
		height: 130px;
		background: linear-gradient(to right, #004e9b, #0072ce); /* ãŠå¥½ã¿ã§ */
		z-index: 100;
		transform: translateX(-40%);
	}
	/* ============================================================
 	section 06
	==============================================================*/
	#sec06 {
		width: 100%;
		padding: 60px 0 250px;
		background: #fff;
	}
	
	#sec06 .wrapper {
	}
	
	#sec06 h2 {
		display: inline-block;
		font-family: "Oswald", sans-serif;
		font-weight: 500;
		font-size: 6rem;
		font-feature-settings: 'palt';
		line-height: 1.0;
		color: #000000;
		text-align:left;
	}
	#sec06 h2 span {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1;
		padding: 18px 0 29px;
	}
	#sec06 .img_box{
		position:absolute;
		z-index:200;
		right:0;
		bottom: -200px;
		width: 100%;
		transform: translateX(20%);
	}
	#sec06 .wrapper::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: -250px;
		width: 140%;
		max-width: 1380px;
		height: 130px;
		background: linear-gradient(to right, #004e9b, #0072ce); /* ãŠå¥½ã¿ã§ */
		z-index: 100;
		transform: translateX(-40%);
	}
	/* ============================================================
 	section 07
	==============================================================*/
	#sec07 {
		width: 100%;
		padding: 60px 0 250px;
		background: #fff;
	}
	
	#sec07 .wrapper {
	}
	
	#sec07 h2 {
		display: inline-block;
		font-family: "Oswald", sans-serif;
		font-weight: 500;
		font-size: 6rem;
		font-feature-settings: 'palt';
		line-height: 1.0;
		color: #000000;
		text-align:left;
	}
	#sec07 h2 span {
		display: block;
		font-family: "Noto Sans SC", sans-serif;
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1;
		padding: 18px 0 29px;
	}
	#sec07 .img_box{
		position:absolute;
		z-index:200;
		right:0;
		bottom: -200px;
		width: 100%;
		transform: translateX(20%);
	}
	#sec07 .wrapper::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: -250px;
		width: 140%;
		max-width: 1380px;
		height: 130px;
		background: linear-gradient(to right, #004e9b, #0072ce); /* ãŠå¥½ã¿ã§ */
		z-index: 100;
		transform: translateX(-40%);
	}
}