@keyframes MV-zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

#page,#primary,#news{
    overflow: hidden;
}
.MV-carousel .carousel-cell{
	width:100vw;
	height:calc((100vw / 2) * 1);
}
.MV-carousel .carousel-cell img{
	width:100vw;
	height:calc((100vw / 2) * 1);
	object-fit:cover;
	object-position:center center;
	/*transform: scale(1.15);*/
}
.MV-carousel .carousel-cell.is-selected img{
	animation: MV-zoomUp 10s linear 0s 1 normal both;
}

.MV{
	position:relative;
	background:#000;
}
.MV .typography{
	position:absolute;
	width:40vw;
	top: 7vw;
	left: 5vw;
	z-index:100;
	margin:0;
	padding:0;
}
.MV .typography img{
	width:100%;
}
.MV .MV-carousel{
	z-index:10;
}

/* For (under 991px)*/
@media (max-width: 991px){
.MV .typography{
	width: 60vw;
    top: 24vw;
    left: 20vw;
}
/* レイアウトシフト対応　2024.01 */
.MV.block{
		height:calc(100vw * 1.25);
		overflow:hidden;
	}
	
.MV .MV-carousel{
	opacity:0.75;
}
.MV-carousel .carousel-cell{
	height:125vw;
}
.MV-carousel .carousel-cell img{
	height:125vw;
}
.MV-carousel .carousel-cell:nth-child(4) img{
	object-position:100% 50%;
}
}/* For (under 991px)*/
/* For (under 991px)*/
@media (max-width: 599px){
.header-logo .logo {
	max-width: 85.61px;
	padding: 7px 0px 5px 0px;
}
}/* For (under 991px)*/


#news{
	color:#ffffff;
	position:absolute;
	bottom:3vw;
	left:5vw;
	z-index:100;
	width:calc(100vw - 5vw);
	overflow:hidden;
}
#news .heading{
	font-size:24px;
	font-weight:bold;
	margin:0 0 0.18em 0;
}
#news .bg-black{
	background:#000000aa;
}

#news .list{
	list-style:none;
	margin:0;
	padding:0;
}
#news .list-item{
	font-size:16px;
	margin:0 0 0.3em 0;
	padding:0;
	white-space: nowrap;
}
#news .list-item a{
	color:#ffffff;
	display:flex;
	width:calc(100% - 5vw);
}
#news .date{
	display:block;
	width:5.7em;
}
#news .title{
	display:block;
	white-space:nowrap;
	width:calc(100% - 5.7em);
	overflow:hidden;
	text-overflow:ellipsis;
}
#news .list-item a:hover{
	text-decoration:none;
}
#news .list-item a .title{
	text-decoration:underline;
}
#news .list-item a:hover .title{
	opacity:0.75;
}



/*------------------------------------------------------*/





#about-us {
	margin: 0;
	position: relative;
	font-size:17px;
	line-height:1.8;
}
#about-us .info-wrapper{
	margin-left:9vw;
}
#about-us .catchcopy{
	width: 28vw;
	padding-bottom:40px;
	font-weight:bold;
	font-size:3.5vw;
	line-height: 1.15;
	border-bottom: 1px #222222 solid;
	padding-bottom: 0.4em;
	margin-bottom: 0.6em;
	display:inline-block;
}
#about-us .heading{
	padding-bottom:1.1em;
	font-weight:bold;
	font-size:1.2vw;
	line-height: 1.3;
	margin:0;
}
#about-us .paragraph{
    width: 28vw;
	padding-bottom:0px;
	margin-bottom: 2vw;
}

#about-us .image{
	height:100%;
}
#about-us .image img{
	object-fit:cover;
	width:50vw;
	min-height:50vw;
	height:100%;
}

#about-us .btn,
#about-us .btn:visited {
	font-size: 18px;
	background-color: #005097;
	border-radius: 0px;
	color: #eee;
	border:none;
}
#about-us .btn:hover {
	background-color: #005097;
	color: #eee;
	opacity:0.75;
}
#about-us .row-eq-height {
    display: flex;
    flex-wrap: wrap;
}



/* For (under 1199px)*/
@media (max-width: 1199px){
#about-us .heading{
	font-size: 1.417vw;
}
#about-us .paragraph{
	font-size: 1.417vw;
}

}/* For (under 1199px)*/


/* For (under 991px)*/
@media (max-width: 991px){

}/* For (under 991px)*/

/* For (under 767px)*/
@media (max-width: 767px){
.sec-1,
.sec-2,
.sec-3,
.sec-4{
	margin-bottom:10vw;
}

#about-us .info-wrapper{
	margin-left:0;
	text-align:center;
}
#about-us .catchcopy{
	width: 80%;
	font-size:8.5vw;
}
#about-us .heading{
	font-size:3.5vw;
}
#about-us .paragraph{
    width: 80%;
	margin:0 auto 7vw auto;
	font-size:3.4vw;
}


}/* For (under 767px)*/
@media (max-width: 767px){
#about-us .image {
    text-align: center;
    padding-top: 5vw;
}
#about-us .image img {
    width: 90vw;
    min-height: 90vw;
    height: 90vw;
    margin: 0 auto;
}
}/* For (under 575px)*/
@media (max-width: 575px){

}/* For (under 575px)*/





/*------------------------------------------------------*/





#our-product {
	margin: 0;
	position: relative;
	font-size:17px;
	line-height:1.8;
}
#our-product .info-wrapper{
	margin-left:9vw;
}
#our-product .catchcopy{
	width: 28vw;
	padding-bottom:40px;
	font-weight:bold;
	font-size:3.5vw;
	line-height: 1.15;
	border-bottom: 1px #222222 solid;
	padding-bottom: 0.4em;
	margin-bottom: 0.6em;
	display:inline-block;
}
#our-product .heading{
	padding-bottom:1.1em;
	font-weight:bold;
	font-size:1.2vw;
	line-height: 1.3;
	margin:0;
}
#our-product .paragraph{
    width: 28vw;
	padding-bottom:0px;
	margin-bottom: 2vw;
}

#our-product .image{
	height:100%;
}
#our-product .image img{
	object-fit:cover;
	width:50vw;
	min-height:50vw;
	height:100%;
}

#our-product .btn,
#our-product .btn:visited {
	font-size: 18px;
	background-color: #005097;
	border-radius: 0px;
	color: #eee;
	border:none;
}
#our-product .btn:hover {
	background-color: #005097;
	color: #eee;
	opacity:0.75;
}
#our-product .row-eq-height {
    display: flex;
    flex-wrap: wrap;
}



#our-product .product-carousel{
	margin-bottom:20px;
}
#our-product .product-carousel .item .title{
	/*font-size: 1.417vw;*/
	font-size: 16px;
}
#our-product .product-carousel .carousel-cell{
	width:18.22vw;
	/*height:calc(((18.22vw / 3) * 2));*/
	margin:5vw 2vw 2vw 2vw;
	text-align:center;
}
#our-product .product-carousel .flickity-page-dots .dot {
	border-radius: 0%;
}



/* For (over 768px)*/
@media (min-width: 768px){
#our-product .info-cell {
	padding: 6vw 0 !important;
}
}
/* For (under 1199px)*/
@media (max-width: 1199px){
#our-product .heading{
	font-size: 1.417vw;
}
#our-product .paragraph{
	font-size: 1.417vw;
}
}/* For (under 1199px)*/


/* For (under 991px)*/
@media (max-width: 991px){

}/* For (under 991px)*/

/* For (under 767px)*/
@media (max-width: 767px){
#our-product{
	margin-bottom:10vw;
}
#our-product .info-wrapper{
	margin-left:0;
	text-align:center;
}
#our-product .catchcopy{
	width: 80%;
	font-size:8.5vw;
}
#our-product .heading{
	font-size:3.5vw;
}
#our-product .paragraph{
    width: 80%;
	margin:0 auto 7vw auto;
	font-size:3.4vw;
}

#our-product .product-carousel{
	display:none;
}

		#our-product .product-carousel .carousel-cell {
			width: 48.22vw !important;
		}
		#our-product .product-carousel .item .title {
			font-size: 2.4vw;
		}

#our-product .image {
    text-align: center;
    padding-top: 5vw;
}
#our-product .image img {
    width: 90vw;
    min-height: 90vw;
    height: 90vw;
    margin: 0 auto;
}

}/* For (under 767px)*/

/* For (under 575px)*/
@media (max-width: 575px){

#our-product .product-carousel .item .title {
    font-size: 12px;
}
}/* For (under 575px)*/





/*------------------------------------------------------*/





#process {
	margin: 0;
	position: relative;
	font-size:17px;
	line-height:1.8;
	
	background:url(/wp-content/themes/taiyosangyo/images/front-page/process@2x.jpg) center center / cover no-repeat;

}
#process .row{
	min-height:50vw;
	text-align:center;
}

#process .catchcopy{
	padding-bottom:40px;
	font-weight:bold;
	font-size:3.5vw;
	line-height: 1.15;
	display:inline-block;
	
	color:#fff;
	border:none;
    margin: 0 0 0.2em 0;
	padding:0;

}
#process .heading{
	font-weight:bold;
	font-size:1.2vw;
	line-height: 1.3;

	color:#fff;
	margin:0 0 1.25em 0;
	padding:0;
}
#process .paragraph{
    width: 28vw;

	color:#fff;
	margin:0 auto 1em auto;
	width:auto;
	border-top:1px #fff solid;
	padding-top:1em;
	display: inline-block;
}

#process .image{
	height:100%;
}
#process .image img{
	object-fit:cover;
	width:50vw;
	min-height:50vw;
	height:100%;
}

#process .btn,
#process .btn:visited {
	font-size: 18px;
	background-color: #005097;
	border-radius: 0px;
	color: #eee;
	border:none;
}
#process .btn:hover {
	background-color: #005097;
	color: #eee;
	opacity:0.75;
}
#process .row-eq-height {
    display: flex;
    flex-wrap: wrap;
}



/* For (under 1199px)*/
@media (max-width: 1199px){
#process .paragraph{
	font-size: 1.417vw;
}
}/* For (under 1199px)*/


/* For (under 991px)*/
@media (max-width: 991px){

}/* For (under 991px)*/

/* For (under 767px)*/
@media (max-width: 767px){
#process .row{
	min-height:100vw;
}

#process .catchcopy{
	width: auto;
	font-size:8.5vw;
}
#process .heading{
	font-size:3.5vw;
}
#process .paragraph{
    width: 80%;
	margin:0 auto 7vw auto;
	font-size:3.4vw;
}

}/* For (under 767px)*/

/* For (under 575px)*/
@media (max-width: 575px){

}/* For (under 575px)*/






/*------------------------------------------------------*/






#recruit{
	margin: 0;
	position: relative;
	font-size:17px;
	line-height:1.8;
}
#recruit .text{
	position:absolute;
	z-index:100;
}
#recruit .catchcopy{
	font-weight:bold;
	font-size:3.5vw;
	line-height: 1.15;
	display:inline-block;

	width:auto;
	color:#fff;
	border:none;
    margin: 0 0 0em 0;
	padding:0;
}
#recruit .heading{
	font-weight:bold;
	font-size:1.2vw;
	line-height: 1.3;

	color:#fff;
	margin:0 0 1.25em 0;
	padding:0;
}
#recruit .paragraph{

	color:#fff;
	margin:0 auto 1em auto;
	width:auto;
	border-top:1px #fff solid;
	padding-top:1em;
	display: inline-block;
}
#recruit .btn{
	background-color:none;
	border:none;
	border-radius:0px;
	color:#eee;
}
#recruit .row{
	min-height:50vw;
	text-align:center;
}
#recruit .btn,
#recruit .btn:visited {
	font-size: 18px;
	background-color: #005097;
	border-radius: 0px;
	color: #eee;
	border:none;
}
#recruit .btn:hover {
	background-color: #005097;
	color: #eee;
	opacity:0.75;
}
#recruit .row-eq-height {
    display: flex;
    flex-wrap: wrap;
}


.recruit-carousel .carousel-cell{
	position:relative;
	z-index:10;
}
.recruit-carousel .carousel-cell{
	width:50vw;
	height:50vw;
	margin:0;
}
.recruit-carousel .carousel-cell img{
	object-fit:cover;
	width:50vw;
	height:50vw;
}


/* For (under 1199px)*/
@media (max-width: 1199px){
#recruit .paragraph{
	font-size: 1.417vw;
}
}/* For (under 1199px)*/

/* For (under 767px)*/
@media (max-width: 767px){
#recruit .row{
	min-height:100vw;
}

#recruit .catchcopy{
	width: auto;
	font-size:7vw;
	margin-bottom:2vw;
	margin-top:13vw;
}
#recruit .heading{
	font-size:3.5vw;
	margin-bottom:4.5vw;
}
#recruit .paragraph{
    width: 80%;
	margin:0 auto 7vw auto;
	font-size:3.4vw;
}


.recruit-carousel .carousel-cell{
	width:100vw;
	height:100vw;
}
.recruit-carousel .carousel-cell img{
	width:100vw;
	height:100vw;
}


}/* For (under 767px)*/







/*------------------------------------------------------*/
#instagram{
	margin: 0;
	position: relative;
	padding:100px 0 100px;
	background-color:#F8F8F8;
}
	/* For (under 575px)*/
	@media (max-width: 575px){
		#instagram{
			margin: 0;
			position: relative;
			padding:60px 0 60px;
		}
	}/* For (under 575px)*/


.insta-wrapper{
	max-width:1200px;
}


.insta-head{
	text-align:center;
	padding-bottom:30px;
}
.insta-icon{
	text-align: right;
	display:inline-block;
	margin:0 7.5px;
}
.insta-info{
	text-align: left;
	display:inline-block;
	margin:0 7.5px;
}
	/* For (under 575px)*/
	@media (max-width: 575px){
		.insta-icon{
			text-align: center;
			display:block;
			margin:0 7.5px 15px 7.5px;
		}
		.insta-info{
			text-align: center;
			display:block;
			margin:0 7.5px;
		}
	}/* For (under 575px)*/



#instagram .my-icon{
	width:166px;
	height:166px;
}
#instagram .heading{
	font-size:50px;
	letter-spacing: 0.02em;
	line-height:1;
	margin:0 0 12px 0;
	color:#262626;
}
#instagram .sub-heading{
	font-size:20px;
	line-height:1;
	margin:0 0 20px 0;
	font-weight:bold;
	color:#262626;
}
#instagram .text-link{
	font-size:24px;
	line-height:1;
	margin:0 15px 5px 0;
	color:#00356D;
	text-decoration:none;
	display:inline-block;
}
	/* For (under 575px)*/
	@media (max-width: 575px){
		#instagram .my-icon{
			width:116px;
			height:116px;
		}
		#instagram .heading{
			font-size:30px;
		}
		#instagram .sub-heading{
			font-size:16px;
		}
		#instagram .text-link{
			font-size:18px;
		}
		#instagram .insta_btn2{
			font-size: 16px;/*文字のサイズ*/
		}
	}/* For (under 575px)*/

#instagram .insta_btn2{/*ボタンの下地*/
  color: #FFF;/*文字・アイコン色*/
  border-radius: 7px;/*角丸に*/
  position: relative;
  display: inline-block;
  height: auto;/*高さ*/
  width: auto;/*幅*/
  padding:6px 10px;
  text-align: center;/*中身を中央寄せ*/
  font-size: 18px;/*文字のサイズ*/
  line-height: 1;/*文字サイズと合わせる*/
  background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
  overflow: hidden;/*はみ出た部分を隠す*/
  text-decoration:none;/*下線は消す*/
}

#instagram .insta_btn2:before{/*グラデーション②*/
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;/*全体を覆う*/
  height: 100%;/*全体を覆う*/
  background: -webkit-linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
  background: linear-gradient(15deg, #ffdb2c, rgb(249, 118, 76) 25%, rgba(255, 77, 64, 0) 50%) no-repeat;
}

#instagram .insta_btn2 .fa-instagram{/*アイコン*/
  width: 20px;/*アイコンサイズ*/
  height:20px;
  display: inline-block;
  font-size: 20px;/*文字のサイズ*/
  line-height: 20px;/*文字サイズと合わせる*/
  position: relative;
  top: 0px;/*アイコン位置の微調整*/
  margin-right:3px;
}

#instagram .insta_btn2 span {/*テキスト*/
  display:inline-block;
  position: relative;
  transition: .5s
}

#instagram .insta_btn2:hover span{/*ホバーで一周回転*/
/*  -webkit-transform: rotateX(360deg);
  -ms-transform: rotateX(360deg);
  transform: rotateX(360deg);*/
}

	/* For (under 575px)*/
	@media (max-width: 575px){
		#instagram .my-icon{
			width:116px;
			height:116px;
		}
		#instagram .heading{
			font-size:30px;
		}
		#instagram .sub-heading{
			font-size:16px;
		}
		#instagram .text-link{
			font-size:18px;
		}
		#instagram .insta_btn2{
			font-size: 16px;/*文字のサイズ*/
		}
	}/* For (under 575px)*/




.insta-body {
	
}
.insta-body .photo-block{
	padding:15px;
}
.insta-body .photo-block .photo{
	display:block;
	margin:0;
}




