@charset "utf-8";
html { scroll-behavior: smooth;}
body {
  font-family: "noto sans jp", sans-serif;
  letter-spacing: 1px;
}

@media screen and (max-width:599px) {
	.pc {
display:none;}
}
@media screen and (min-width:600px) {
	.sp {
display:none;}
}


h3 {
  text-align: center;
	padding: 8px 0;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}
h4{
  text-align: center;
  font-size: 20px;
  margin: 20px 0;
}
p {
  text-align: center;
}
@media(max-width:699px) {
  p {
    font-size: 13px !important;
  }
}
a {
  color: #000;
}
.mgt30{
  margin-top: 30px !important;
}

.mb0 {
  margin-bottom:0 !important;
}
.mt0 {
  margin-top:0 !important;
}
.mt60 {
  margin-top:60px !important;
}
@media(max-width:699px) {
  .mt60 {
    margin-top:-100px !important;
  }
}

/* ヘッダーメニュー */
header {
    width: 100%;
    background: #91b661;
    z-index: 1000;
    padding: 0;
    box-shadow: 2px 2px 4px gray;
    font-family: "Poppins", sans-serif;
    font-weight:600;
    letter-spacing: 2px;
    position: fixed;
top: 0;
left: 0;
}
section {
    padding-top: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -100px; /* heightと同じ分のネガティブマージン */
}
.headA {
    padding-left: 10px;
    padding-right: 10px;
}

a {
    text-decoration: none;
}

/* ハンバーガーメニュー */
.sp-menubar {
width: 100%;
height: 60px;
font-size: 2.6rem;
text-transform: uppercase;
text-align: center;
background-color: #065471;
position: fixed; /* 位置を固定 */
z-index: 100;
}

/* ハンバーガーメニューのボタン */
.sp-menu__box {
position: fixed; /* 位置を固定 */
top: 0; /* 最上部 */
right: 0; /* 右端 */
/* 中の要素を上下中央寄せ */
display: flex;
justify-content: center;
align-items: center;
/* サイズ指定 */
height: 60px;
width: 60px;
/* 最前面にする */
z-index: 100;
}
/* メニューの白線を疑似要素を使って3本作成 */
.sp-menu__box span, /* 真ん中の線 */
.sp-menu__box span:before, /* 上の線 */
.sp-menu__box span:after { /* 下の線 */
/* contentの値を指定しないと疑似要素が生成されない */
content: "";
/* ３本線のサイズと色を指定 */
display: block;
height: 3px;
width: 25px;
border-radius: 3px;
background-color: #ffffff;
/* 3本線の位置は絶対位置で指定 */
position: absolute;
}
/* 上の線の位置 */
.sp-menu__box span:before {
/* 真ん中の線と離す距離 */
bottom: 8px;
}
/* 下の線の位置 */
.sp-menu__box span:after {
/* 真ん中の線と離す距離 */
top: 8px;
}

/* チェックボックスは常に非表示 */
#sp-menu__check {
display: none;
}
/* チェックボックスのチェックがON（スマホ用メニューを開いた状態） */
/* 真ん中の線 */
#sp-menu__check:checked ~ .sp-menu__box span {
/* 透明にして見えなくする */
background: rgba(255, 255, 255, 0);
}
/* 上の線 */
#sp-menu__check:checked ~ .sp-menu__box span::before {
/* 真ん中の線との距離を無くす（真ん中の線と同じ位置にする） */
bottom: 0;
/* 右に45度傾けてバツの片側の線にする */
transform: rotate(45deg);
}
/* 下の線 */
#sp-menu__check:checked ~ .sp-menu__box span::after {
/* 真ん中の線との距離を無くす（真ん中の線と同じ位置にする） */
top: 0;
/* 左に45度傾けてバツの片側の線にする */
transform: rotate(-45deg);
}
#sp-menu__check:checked ~ .hamburger__content {
left: 0;
}

/* ハンバーガーボタンを押してチェックがONの時だけ
スマホ用メニューを画面左端に移動する */
#sp-menu__check:checked ~ .sp-menu__content {
left: 0;
}
/* 変更箇所はコメントの項目のみ */
.sp-menu__content {
width: 100%;
height: 100%;
position: fixed;
top: 0;

/* 普段は画面外にするために左端を画面右端の位置にする */
left: 100%;

z-index: 90;
background-color: #065471;

/* 右端からゆっくり移動するように表示 */
transition: all 0.5s;

/* スクロール */
overflow-y: scroll;
}

.sp-menu__list {
padding: 20px 0;
}

.sp-menu__list li {
padding: 13px 0;
}

.sp-menu__list li a:hover {
border-bottom: dashed 1px #fff;
}
/* 〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 */
.headA p {
    font-size: 20px;
    margin: 10px 0;
    color: #fff;
}

.headB ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.headB a {
    display: block;
    padding: 8px;
    color: #fff;
    font-size: 17px;
    text-decoration: none;
    border-bottom: 2px solid none;
}

.headB a:hover {
    margin-top: -3px;
    border-bottom: 2px solid #fff;
    transition : 1s;
}



@media(min-width: 1024px) {
    .container {
        display: flex;
        align-items: center;
        max-width: 1200px;
        justify-content: space-between;
        margin-left: auto;
        margin-right: auto;
        height: 70px;
    }

    .headB ul {
        display: flex
    }

    .headC {
        display: none;

    }

    .headB {
        display: block !important;
    }
}

@media(max-width:1023px) {
    header .container-small {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .headC {
        margin-right: 10px;
        padding: 0;
        border: none;
        outline: none;
        background: none;
        font-size: 28px;
        opacity: 0.8;
        cursor: pointer;
        color: #fff;
    }

    .headC:hover {
        opacity: 0.3;
        transition : 1s;

    }

    .headB {
        display: none;
    }
}

body{
    margin: 0px;
}

h1{
    margin: 0;
}

h1 img {
  width: 100%;
  max-width: 200px;
}
a {
    text-decoration: none;
}


.container{
    padding-left: 10px;
    padding-right: 10px;
}

.headA {
    padding-left: 10px;
    padding-right: 10px;
}


.headA h1 {
    font-size: 20px;
    color: #fff;
}
.headB ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.headB a {
    display: block;
    padding: 8px;
    color: #fff;
    font-size: 17px;
    text-decoration: none;
    border-bottom: 3px solid none;
}

.headB a:hover {
    margin-top: -3px;
    border-bottom: 2px solid #fff;
}

@media(min-width: 1024px) {
    .container {
        display: flex;
        align-items: center;
        max-width: 1200px;
        justify-content: space-between;
        margin-left: auto;
        margin-right: auto;
    }

    .headB ul {
        display: flex
    }

    .headC {
        display: none;

    }

    .headB {
        display: block !important;
    }
}

@media(max-width:1023px) {
    header .container-small {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .headC {
        margin-right: 10px;
        padding: 0;
        border: none;
        outline: none;
        background: none;
        font-size: 28px;
        opacity: 0.8;
        cursor: pointer;
        color: #fff;
    }

    .headC:hover {
        opacity: 0.3;

    }
    .headB a {
      padding: 20px;
    }
    .headB {
        display: none;
    }
}
/* ヘッダーメニュー終わり */


/* トップビジュアル */
#mainImage {
    margin: 0 auto 0 auto;
    width: 100%;
    position: relative;
    border: none;
    padding: 0;
   margin-top: -50px;
}

#mainImage .img-haikei {
    max-height: 800px;
    width: 100%;
}

#mainImage .img-haikei video.movieBg {
    width: 100%;
    height: auto;
    display: block;
    margin-top:70px;
}

#mainImage .toptxtimg {
    position: absolute;
    top: 55%;
    bottom: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
}

.heading01 {
	position: relative;
	padding: 50px;
	font-size: 26px;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.heading01 span {
	position: relative;
	z-index: 2;

}

.heading01::before {
	content: attr(data-en);
	position: absolute;
	top: -40px;
	left: 25%;
	transform: translateX(-50%);
	color: #f4f3f3;
	font-size: 150px;
  display: block;
  z-index: -1;
}

.heading01::after {
	content: '';
	display: block;
	width: 90px;
	height: 2px;
	background-color: #000;
  margin-top: -5px;
}

  .inner{
    max-width: 900px;
    margin: 30px auto;
    }
section#news .heading01::before {
    left: 20%;
    }

@media(max-width:699px) {
  .heading01::before {
  	left: 45%;
  	font-size: 100px;
  }
  .heading01 {
    	padding: 20px;
  }
  .inner{
    padding: 0 15px;
  }
  section#project .heading01::before {
    font-size:90px;
  }
  section#access .heading01::before {
    font-size:100px;
  }
  #mainImage .img-haikei video.movieBg {
      margin-top:75px;
  }
}
@media(min-width:1358px) {
#mainImage{
    margin-bottom: 15rem ;
}
}

/* VISIONイメージギャラリー */
@media(min-width:700px) {
  .vision_img img { width: 100% !important; max-width:none !important;}
}
@media(max-width:699px) {
  .topimg-g, .pj-box {
    grid-template-columns: 1fr !important;
    display: grid !important;
  }
  .topimg-box {
    padding-top:60px;
  }
  .topimg-box p {
    font-size:18px !important;
  }
}
.vision_img { overflow: auto;　text-align: center; margin: 0 auto; padding-top:30px;}
.vision_img img { width: auto; max-width: 800px; }
.topimg-box { padding-top:30px; }
.topimg-box p {
  text-align: left;
  font-family: "Poppins", sans-serif;
  margin:10px 0;
}
.topimg-g {
  grid-template-columns: 1fr 1fr 1fr;
  display: grid;
  gap: 10px;
}
.topimg-g img {
  width: 100%;
}
.scl {
  text-align: right;
  font-size:12px;
}
.pj-box {
  grid-template-columns: 1fr 1fr;
  display: grid;
  gap: 30px;
 align-items: center;
}
.pj-box p{
  text-align: left;
  line-height: 1.6rem;
}


/* NEWSバックグラウンド */
.bg-gray{
  background: #f4f3f3;
  position: relative;
  z-index: 1;
}
.bg-gray .heading01::before {
  color:#fff !important;
}


/* NEWS,EVENTS部分 */
.child img {
    max-width: 100%;
    height: auto;
}

.truncate {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.truncate-title {
    -webkit-line-clamp: 2; /* タイトルを1行に制限 */
}

.truncate-description {
    -webkit-line-clamp: 3; /* 説明文を3行に制限 */
}
.w-inner{
    max-width: 1200px;
    margin: 0px auto;
    }
.slick-slide {
    box-shadow: 0px 0px 10px gray;
    border-radius: 10px;
      margin: 0 10px;
    }
.box-containts {
      padding: 20px;
    }
.slick-list {
  padding-top: 20px !important;
}
.slick-slide img {
      border-radius: 10px 10px 0 0;
    }
  .multiple-items {
  padding: 30px 0 50px;
  }
  @media(min-width:937px) {
    .slick-list {
      height: 340px;
    }
  }

  @media (min-width: 600px) and (max-width: 936px) {
    .slick-list {
      height: 360px;
    }
  }
  @media(max-width:599px) {
    .slick-next, .slick-prev {
       display: none !important;
    }
    .slick-track {
      margin: 0;
    }
    .slick-list {
      height: 300px;
    }
    .multiple-items {
    padding: 30px 0 0px;
    }
  }
  .box-date {
    padding-top:10px;
    color: #969696;
    font-size: 14px;
    font-weight: bold;
  }

/* NEWsボタン矢印 */
.notebtn {
  text-align: right;
  font-weight: 600;
  padding-right:10px;
}
.notebtn.sp {
  padding:0 10px 60px;
}
.dli-arrow-right {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 2em;
  height: 0.15em;
  background: currentColor;
  margin-left: 10px;
}

.dli-arrow-right::before {
  content: '';
  width: 1em;
  height: 1em;
  border: 0.15em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(45deg);
  transform-origin: top right;
  position: absolute;
  top: 50%;
  right: -0.05em;
  box-sizing: border-box;
}

/* アクセス */
section#access p {
  text-align: left;
  line-height: 1.6em;
}
section#access iframe {
  width: 100%;
  border:0;
  height:320px;
}


/* フッター */
footer{
background: #91b661;
}

footer .container {
        display: block;
        align-items: center;
        max-width: 1200px;
        justify-content: space-between;
        margin-left: auto;
        margin-right: auto;
        height:auto;
        padding:20px 0;
        font-family: "Poppins", sans-serif;
    }
footer .container .container-small {
  text-align: center;
}
footer .container .container-small img{
  width:100%;
  max-width:200px;
  margin: 0 auto;
  text-align: center;
}
footer p {
  color:#fff;
}
footer .headB ul {
  justify-content: center;
}
footer hr {
  max-width: 625px;
  background-color: #4d8900;
  border-width: 30px;
  border: none;
  height: 1px;
}
.yohaku{
	margin:0px 15px;
}
