@charset "UTF-8";


/*----------------------------
  ここから共通
-----------------------------*/
.logo {
	width: 35%;
}

.h5 {
    line-height: 1.8rem;
}
.border-w3 { 
    border-left-width: 3px !important;
    border-left-color: #262626 !important;
}
a:hover {
	text-decoration: none;
  }
/* ====== カラー指定 ====== */
.brand-color {
	color: #f15a5a !important;
}
.bg-brand-color {
	background-color: #f15a5a !important;
}
/* ====== GLOVAL NAV ====== */
.gloval-nav {
	height: 10%;
}
.navbar-white a {
	color: #fff;
}

.sun15 {
	margin-top: 3%;
	margin-bottom: 5%;
	padding: 0 25%;
}
.news
{
	margin-top: 3%;
	margin-bottom: 3%;
	padding: 0 25%;
}

/* ====== 動画を中央に====== */
.Video{
	text-align: center;
  }

.Video1{
	width: 60%;
	height:auto;
  }

/* ====== 記事の写真を中央に====== */
.picture{
	text-align: center;
  }

.picture1{
	width: 60%;
	height:auto;
  }

  
/* マウスオーバー時 */
.hover1:hover {
    opacity: 0.4;
	transform: translateY(0.1875em);
}

/*bxsliderの外側部分の記述*/
#slider{
	width:100%;
	height:100%;
	vertical-align: middle;
	overflow: hidden;
	z-index:-999;
	}
	
	/*bxsliderに配置する画像のプロパティ*/
	#slider img{
		width:100%;
		height:100%!important;
		line-height: 100%;
	
		/*30秒かけてズームイン・アウトを永遠に繰り返す*/
		animation: animationZoom 20s ease-in-out 0s infinite normal;
	}
	
	.bx-viewport{
	height: 100%!important;
	}
	
	/*拡大した画像のはみ出した部分を隠すためのクラス*/
	.slidewrap{
		width:100%!important;;
		height:100%!important;
		overflow: hidden;
	}
	
	/*イメージをズームさせるCSS3アニメーション*/
	@keyframes animationZoom {
		50%{ transform:scale(1.1); }        
	}
/*イメージを左にうごかすCSS3アニメーション*/
	@keyframes moveToLeft {
		100% {
		  left: -100px;
		}
	  }
	  
	  .moveToLeft {
		position: relative;
		left: 3200px;
		top: 0;
	  
		animation-name: moveToLeft;
		animation-duration: 10s;
		animation-iteration-count: infinite;
		animation-timing-function: linear;
	  }
/** 吹き出し **/
.wf-balloon {
	position: relative;
	padding: 20px;
	border: 2px solid rgba(75, 75, 75, 0.85);
	border-radius: 12px;
  }
  
  .wf-balloon-left::before,
  .wf-balloon-left::after,
  .wf-balloon-right::before,
  .wf-balloon-right::after {
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	top: 50px;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
  }
  
  .wf-balloon-left::before {
	left: -15px;
	border-right: 15px solid rgba(75, 75, 75, 0.85);
  }
  .wf-balloon-left::after {
	left: -12px;
	border-right: 15px solid white;
  }
  
  .wf-balloon-right::before {
	right: -15px;
	border-left: 15px solid rgba(75, 75, 75, 0.85);
  }
  .wf-balloon-right::after {
	right: -12px;
	border-left: 15px solid white;
  }

  
/* ====== FOOTER ====== */
.bggray {
	background-color: #EFF5FF;
}

.footer-logo {
	width: 30%;
}
.yukai-logo {
	width: 8%;
}
.social img {
	width: 36px;
	height: 36px;
}
footer {
	padding-bottom: 5%;
}
.time-border {
   border-top: 3px solid #262626;
    border-right: 3px solid #262626;
    margin-left: 24px;
    padding-bottom: 3rem;
    padding-right: 5rem;
    width: 43%;
}
/* ====== BREADCRUMB LIST ====== */
.breadcrumb-list, .breadcrumb-list li {
	background-color: #21386E;
}
/*----------------------------
  SP TOGGLE NAV
-----------------------------*/
.nav-scroller {
	position: relative;
	z-index: 2;
	height: 2.75rem;
	overflow-y: hidden;
}
.nav-scroller .nav {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	padding-bottom: 1rem;
	margin-top: -1px;
	overflow-x: auto;
	color: rgba(255, 255, 255, 0.75);
	text-align: center;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
.nav-underline .nav-link {
	padding-top: .75rem;
	padding-bottom: .75rem;
	font-size: .875rem;
	color: #6c757d;
}
.nav-underline .nav-link:hover {
	color: #007bff;
}
.nav-underline .active {
	font-weight: 500;
	color: #343a40;
}

/*----------------------------
  TOP ページ
-----------------------------*/
/* ====== TOP IMAGE ====== */
header .jumbotron-fluid {
	background-image: url(../img/bg-top.jpg);
	background-size: cover;
	background-position: center;
	min-height: 100%;
}

header .catch {
	width: 90%;
	bottom: 3%;
	left: 50%;
	margin-left: -45%;
}
header .g-navi {
	min-height: 100%;
}
/*バウンド矢印*/
.arrow1{
	animation: anime3 0.5s alternate infinite;
  }
  
  @keyframes anime3{
	0% {transform: translateY(0px);}
	100% {transform: translateY(-10px);}
  }


/*----------------------------
  会社概要 ページ
-----------------------------*/
/* ====== company ====== */
table {
	width: 100%;
}


th {
	text-align: center;
	width: 27%;
	padding: 0 5%;
	text-align-last: justify;
}
td {
    text-align:left;
	padding: 2% 2% 2% 6%;
}

/*----------------------------
  サスティナビリティのページ
  -----------------------------*/
.bgpink {
	background-color: #fff2fe;
}


/* ====== PROCESS ====== */
#sec5 .square {
	width: 60px;
	height: 60px;
	background: #dc3545;
	color: #ffffff;
	text-align: center;
	font-size: 2.4rem;
}
#sec5 .arrow {
	width: 60px;
	height: 40px;
	border-left: 30px solid transparent;
	border-right: 30px solid transparent;
	border-top: 25px solid rgb(235, 188, 188);
}
/* --------------------------------------------- */
#sec6 .circle-q, #sec6 .circle-a {
	width: 50px;
	height: 50px;
	font-size: 2.2rem;
	border-radius: 50%;
	text-align: center;
}
#sec6 .circle-q {
	background: #21386E;
	color: #ffffff;
	padding-top: 2px;
}
#sec6 .circle-a {
	background: #ffffff;
	color: #21386E;
	border: 3px solid #21386E;
}
.schedule-img {
    width: 75%;
}
/* ==============================================*/
/* 中デバイス（タブレット, 992px 未満）
==============================================*/
@media screen and (max-width: 991.98px) {
.philosophy1 {
	text-align: center;
}
#glovalNavbar ul li {
	border-left: none;
}
#glovalNavbar ul li:last-child {
	border-right: none;
}
.footer-nav ul li {
	border-left: none;
}
.footer-nav ul li:last-child {
	border-right: none;
}
.sun15 {
	padding: 0 5%;
}
td {
    text-align:left;
	padding: 2% 2% 2% 3%;

}

.news{
	margin-top: 1%;
	margin-bottom: 1%;
	padding:  5%;
}
.news1{
	margin-top: 4%;
}
.copyright{
	padding-bottom: 7%;
}

.Video1{
	width: 90%;
	height:auto;
  }

/* ====== SP TOGGLE NAV ====== */
.offcanvas-collapse {
	position: fixed;
	z-index: 9999;
	top: 0;
	/* ナビバーの高さ */
	bottom: 10%;
	left: 100%;
	width: 100%;
	padding-right: 1rem;
	padding-left: 1rem;
	overflow-y: auto;
	background-color: #fff;
	transition-timing-function: ease-in-out;
	transition-duration: .3s;
	transition-property: left, visibility;
}
.offcanvas-collapse.open {
	left: 0;
	visibility: visible;
}
}

/* END */
/* 小デバイス（横向きモバイル, 768px 未満）
==============================================*/
@media screen and (max-width: 767.98px) {
.philosophy1 {
	text-align: center;
}
.logo {
	width: 70%;
}
.display-3 {
	font-size: 3rem;
}
.footer-logo {
	width: 50%;
}
.yukai-logo {
	width: 13%;
}
.navbar-nav .border-left {
	border-left: none !important;
}
.navbar-nav .border-right {
	border-right: none !important;
}
}


/*PCでは無効（改行しない）*/
.sma{
    display: none;
}
/*スマートフォンでは無効（改行しない）*/
@media screen and (max-width:768px) {
    .smano{
        display: none;
    }
}

/*PCでは有効（改行する）*/
.smano{
    display: block;
}



/*スマートフォンでは有効（改行する）*/
@media screen and (max-width:768px) {
    .sma{
        display: block;
    }
}

/*スマートフォンではくるまの動き無効*/
@media screen and (max-width:768px) {
    .moveToLeft{
        display: none;
    }
}

/* 極小デバイス（縦向きモバイル, 576px 未満）
==============================================*/
@media screen and (max-width: 575.98px) {
.philosophy1 {
		text-align: center;
}
header .catch {
	bottom: 3%;
}
header .catch .h1 {
	font-size: 2rem;
}
header .catch h2 {
	font-size: 1rem;
}
.schedule-img {
    width: 100%;
}
form .border-top,
    form .border-bottom {
        border: none !important;
 }    

}

/* デバイス（縦向きモバイル, 999px 以上）
サスティナビリティのページで使用
============================================== */
@media screen and (min-width: 999px) {
	 .message {
	   position: absolute;
		left: 0;
	} 
	.message2 {
		position: absolute;
		right: 0;
	 } 

}


/* スマートフォン表示でロゴを中央～やや右寄せ */
@media screen and (max-width: 768px) {
  .logo {
    display: block;
    margin: 0 auto;
    transform: translateX(5%); /* 必要に応じて数値調整（例：0%なら中央） */
  }

  /* 親コンテナがある場合の中央寄せ（任意） */
  .logo-container {
    text-align: center;
  }
}



/* END */
