@charset "UTF-8";
/* CSS Document */



/* ==================
メインビジュアル
================== */

#mvis {
  position: relative;
  /* height: 100vh; */
}


#mvis .slider.pc .slick-list {
  position: relative;
  height: inherit;
}

/* #mvis .slider.pc .slick-list::before {
  content:"";
  position: absolute;
  background: url(../images/home/mv-deco02.png)no-repeat center center/cover;
  width: 200%;
  height: 100%;
  z-index: 1;
  left: -100vw;
  bottom: -3px;
} */


#mvis .slider.pc .slick-list::before {
  content:"";
  position: absolute;
  background: url(../images/home/mv-deco.png)no-repeat center center/cover;
  width: 100%;
  height: 100%;
  z-index: 1;
  left: -39.8vw;
  bottom: -5%;
}

#mvis .slider.pc .slick-list::after {
  content:"Scroll down";
  position: absolute;
  left: 0;
  bottom: -1px;
  font-size: 12px;
  background: #fff;
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  width: 5vw;
  height: 21vw;
  writing-mode: vertical-lr;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-bottom: 3px;
  padding-right: 2.1vw;
  z-index: 2;
}

/* #mvis .slick-track {
  height: inherit;
}

#mvis .slick-slide {
  aspect-ratio: 1400/840;
  width: 100%;
  height: 100%;
  object-fit: cover;
} */

#mvis .slider.pc .slick-list {
  height: 94vh;
}
@media(max-width:830px) {
  #mvis .slider.pc .slick-list {
    height: 100%;
  }
}

#mvis .slick-slide img{
  width: 100%;
  height: 100vh;
  object-fit: cover;
}
@media(max-width:830px) {
  #mvis .slick-slide img{
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}




/* #mvis figure img {
  width:100%;
} */
#mvis .text {
	position: absolute;
	right: 11%;
	top: 52%;
	transform:translateY(-50%);
	color:#fff;
  font-weight: 500;
	text-align: left;
  z-index: 1;
  font-family: 'Noto Sans JP';
}
#mvis .text .tit {
  font-size: 3.5vw;
  line-height: 1.2;
  letter-spacing: 3px;
  margin-top: 10px;
}
#mvis .text .txt1 {
  font-size: 2vw;
  line-height: 1.18181;
}

@media(max-width:1400px) {
	/* #mvis .text .tit {font-size: 3vw;} */
	/* #mvis .text .txt1 {font-size: 1.2vw;} */
	#mvis .text .txt1 {font-size: max(2.2vw,22px);}
  #mvis .text {
    right: 3%;
  }
}
@media(max-width:830px) {
  #mvis {
    padding-top: 50px;
  }
  /* #mvis::after{
    background: url(../images/home/deco-bule.png)no-repeat top right/contain;
    width: 15%;
    height: 18%;
    bottom: 34%;
  }   */
  #mvis .slider.tb .slick-list::before {
    display: none;
  }
  #mvis .text {
    text-align: center;
    top: 59vw;
  }
	#mvis .text .tit {font-size: 9vw;}
	#mvis .text .txt1 {font-size: 4.8vw;}
}

@media(max-width:560px) {
  #mvis .text {
    top:59vw;
    right:auto;
    left:50%;
    text-align: center;
    width:100vw;
    transform:translate(-50%, -50%);
  }
  #mvis .text .tit {font-size: 9.4vw;}
	#mvis .text .txt1 {font-size: 4.8vw;}

  #mvis .logo {
    top: 16vw;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 4vw;
  }

  #mvis .logo span {
    font-size: 6vw;
  }
}


/* ==================
slick設定（メインビジュアル）
================== */

/* .slider-dots {
  width: 100%;
  margin: 20px 0 0;
  padding: 0;
  text-align: center;
  list-style: none;
}

.slider-dots li {
  display: inline-block;
  width: calc(25% - 8px);
  margin: 0 2px;
}

.slider-dots button {
  position: relative;
  width: 100%;
  height: 4px;
  border: 0;
  background-color: #ccc;
  font-size: 0;
}

.slider-dots button::after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  width: 0%;
  height: 100%;
}

.slider-dots .slick-active button:after {
  background-color: #000;
  animation: progress 5.5s linear forwards;
}

@keyframes progress {
  from {
    width: 0%;
  }

  to {
    width: 100%;
  }
  }

@media(max-width:830px) {
  .slider-dots {
    margin: 10px 0 0;
  }
} */

.slick-dots{
  bottom:-50px;
}
.slick-dots li {
  margin: 0;
  width: 197px;
  height: 1px;
}
.slick-dots li button:before {
  content:'';
  width: 197px;
  height: 1px;
  background: #DDDDDD;
  opacity: 1;
}
.slick-dots li.slick-active button:before{
  background: #0268B7;
}

@media(max-width:830px) {
  .slick-dots li {
    width: 81px;
  }
  .slick-dots li button:before {
    width: 81px;
  }

}



/* ==================
検索欄（メインビジュアル）
================== */


.searchContainerInner {
  position: absolute;
	bottom: 2vw;
  z-index: 1;
	left: 7vw;
  /* width: 42vw; */
}
.searchContainer .headline01 {
	font-family: 'Roboto', 'sans-serif';
  font-size: min(5vw,60px);
  font-weight: 700;
	line-height: 1.31666;
	letter-spacing: 3px;
	color: white;
	margin-bottom: 0;
}

.searchContainer .searchArea:nth-child(n+2) {
  margin-top: 2em;
}

.searchContainer .searchArea .tit {
  font-size: 20px;
	color: #fff;
  font-weight: bold;
  margin-bottom: 0.4em;
}

@media(max-width:1199px) {
  .searchContainer .searchArea .tit {
    font-size: 16px;
  }
  .searchContainer .searchArea:nth-child(n+2) {
    margin-top: 1em;
  }
}



@media(max-width:830px) {
  .searchContainer {
    position: relative;
    padding-top: 32px;

  }
  .searchContainer::before {
    position: absolute;
    content:"";
    background: url(../images/home/deco-bule.png)no-repeat top right/contain;
    width: 17%;
    height: 47%;
    top: -30px;
    right: 0;
  }

  .searchContainerInner {
		position: relative;
		padding: 0 22px;
		left: auto;
		bottom: auto;
		max-width: 600px;
  }
  .searchContainer .headline01 {
		color: #333;
		font-size: 11vw;
		letter-spacing: 5px;
  }
  .searchContainer .searchArea:nth-child(n+2) {
		margin-top: 1.5em;
  }
  .searchContainer .searchArea .tit {
		color: #333;
		letter-spacing: -1px;
  }

}

/*検索窓*/
.freewordSearchField {
  display:flex;
}
.freewordSearchField > *:first-child {
  flex:1;
}
.freewordSearchField .boxButton {
  padding:1em;
  border:none;
	width: 17%;
	background-color: #0268B7;
	color: #fff;
}

.freewordSearchField ul.tags {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 10px 10px;
}


@media(max-width:1199px) {
  .freewordSearchField .boxButton {
    width: 20%;
  }
}


@media(max-width:830px) {
  .freewordSearchField .boxButton {
    width: 24%;
		padding: 0;
  }
}

input[type=text],
input[type=email],
input[type=tel],
textarea {
	display:block;
	border:1px solid #d2d2d2;
	padding:0.5em 2em;
	width:100%;
	-webkit-appearance:none;
	border-radius: 0;
}

.searchContainer ul.tags {
  gap: 0px 5px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}


.searchContainer ul.tags li a {
  display:block;
  text-align: center;
  padding: 0.3em 1.5em;
  color:#fff;
  background-color: #0268B7;
  text-decoration: none;
	font-size: 18px;
}
.searchContainer ul.tags li a:hover {
  background: #214B6C;
}
.searchContainer ul.tags.-adtags{
  grid-template-columns: repeat(3,1fr);
}
.searchContainer ul.tags.-adtags li a {
  letter-spacing: 0;
}
@media(max-width:1199px) {
  .searchContainer ul.tags {
    gap: 0px 5px;
  }
  .searchContainer ul.tags li a {
		font-size: 14px;
		padding: 0.5em 1em;
  }
  .searchContainer ul.tags.-adtags{
    grid-template-columns: repeat(2,1fr);
  }
}

@media(max-width:560px) {
  .searchContainer ul.tags li a {
    padding: 0.6em 0;
  }
}


#container .sec:first-child {
  position: relative;
  padding-top: 110px;
}

#container .sec:first-child::before {
  position: absolute;
  content:"";
  background: url(../images/home/deco-bule.png)no-repeat top right/contain;
  width: 6%;
  height: 45%;
  top: -30px;
  right: 0;
}

#container .sec:nth-child(3) {
  position: relative;
  padding-bottom: 155px;
}


#container .sec:nth-child(3) ::after{
  position: absolute;
  content:"";
  background: url(../images/home/deco-gray02.png)no-repeat bottom left/contain;
  width: 7%;
  height: 41%;
  bottom: -4px;
  left: 0;
}



@media(max-width:830px) {
  #container .sec:first-child::before {
    display: none;
  }
  #container .sec:nth-child(3) {
    padding-bottom: 103px;
  }
  #container .sec:nth-child(3) ::after{
    width: 16%;
    height: 19%;
  }
}


.sec .itemlist > li p.name {
  margin-top: 0.9em;
  margin-bottom: 0;
}

/* .sec .itemlist > li .tags li a {
  background: #fff;
  border: none;
  font-size: 12px;
  color: #878787;
  border: 1px solid #DFDFDF;
  padding: 0.1em 0.5em;
  letter-spacing: 0px;
}  */

.sec .itemlist > li .tags li {
  background: #fff;
  border: none;
  font-size: 12px;
  color: #878787;
  border: 1px solid #DFDFDF;
  padding: 0.1em 0.5em;
  letter-spacing: 0px;
}


.sec .text {
  color: #0268B7;
  font-size: 12px;
}

.sec .itemlist > li p.com {
  margin-top: 0.2em;
  letter-spacing: -0.1px;
}

@media(max-width:560px) {
  .sec .itemlist > li p.com {
    margin-top: 2px;
    letter-spacing: -0.1px;
    font-size: 12px;
    line-height: 1.66666;
  }
  .sec .itemlist > li p.name {
    line-height: 1.3125;
  }
  .sec .itemlist > li .tags {
    margin-top: 0.6em;
  }
}

.secBtn {
  margin-top: 2em;
}

.moreBtn {
  font-family: 'Roboto';
  font-size: 18px;
  text-decoration: none;
  color: #0268B7;
  position: relative;
  transition: opacity .3s;
}


@media(min-width:831px) {
  .moreBtn:hover {
    opacity: .8;
  }
}

@media(max-width:560px) {
  .secBtn {
    text-align: center;
    margin-right: 40px;
  }
}


.moreBtn:after {
  content:"";
  position: absolute;
  background: url(../images/home/arrow-blue.svg) no-repeat center center/contain;
  width: 31px;
  height: 31px;
  top: 50%;
    right: -40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

#container .sec:nth-child(3)  .moreBtn:after {
  content:"";
  position: absolute;
  background: url(../images/home/arrow-blue.svg) no-repeat center center/contain;
  width: 145px;
  height: 31px;
  top: 50%;
    right: -40px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.middle {
  display: flex;
}

.middle .middle01 {
  width: 54.5%;
}

.middle .middle02 {
  width: 45.5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* justify-content: center; */
  padding-right: 7%;
  padding-top: 9.5%;
  position: relative;
}

.middle .middle02::after {
  position: absolute;
  content:"";
  background: url(../images/home/middle-deco.png) no-repeat center center/cover;
  width: 16%;
  height: 100%;
  top: 0;
  right: 0;
}

.middle .middle02 .logo {
  width: 3.5vw;
}

.middle .middle02 .logo img{
  width: 100%
}

.middle .middle02 .tit {
  font-family:'Noto Sans JP';
  font-size: 2.1vw;
  font-weight: 500;
  margin-top: 1.3em;
  letter-spacing: 0px;
}

.middle .middle02 .text {
  font-family:'Noto Sans JP';
  font-size: max(1.15vw,11px);
  line-height: 1.875;
  text-align: center;
  letter-spacing: 0px;
  margin-top: 3.3em;
}

.middle .middle02 .boxButton {
  font-size: 14px;
  padding: 20px 2.5vw;
  margin-top: 3.7em;
}

@media(max-width:830px) {
  .middle .middle02 {
    padding-top: 6%;
  }
  .middle .middle02 .boxButton {
    font-size: 1.5vw;
    padding: 2vw 2.5vw;
  }
}

@media(max-width:530px) {
  .middle {
    display: block;
  }
  .middle .middle01 {
    width: 100%;
  }

  .middle .middle02 {
    width: 100%;
    padding-top: 10%;
    padding-right: 0;
  }
  .middle .middle02::after {
    display: none;
  }
  .middle .middle02 .logo {
    /* width: 9.5vw; */
    width: 35px;
  }
  .middle .middle02 .tit {
    font-family:'Noto Sans JP';
    font-size: 25px;
    margin-top: 0.7em;
  }
  .middle .middle02 .text {
    font-size: 14px;
    text-align: center;
    margin-top: 2.3em;
  }
  .middle .middle02 .boxButton {
    font-size: 14px;
    padding: 1em 1em;
    margin-top: 2em;
  }
}

.sec.news {
  padding-block: 75px;
}

.newsArea {
  padding-left: 14.5%;
  padding-right: 11.5%;
}
.newsArea .newsList {
  margin-top: 0.6em;
}

.newsArea .newsList li a {
  padding:1.1em 0 1.2em;
  /* align-items: flex-start; */
}

.newsArea .newsList li a figure.thumbnail {
  aspect-ratio: 133/100;
  width: 100%;
  height: auto;
  max-width:133.3px;
}

.newsArea .newsList li a figure.arrow {
  aspect-ratio: 1/1;
  width: 100%;
  height: auto;
  max-width:40px;
}


.newsArea .newsList li a figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


.newsArea .tit {
  font-size: 16px;
  margin-top: 0.4em;
  letter-spacing: 0px;
}


.newsArea .newsList li a > *:nth-child(2) {
  flex: 0.95;
  margin-left: 2em;
}


.newsList li a p.date {
  color: #333;
  line-height: 2;
}

.newsList li a p.text {
  color: #333;
  font-size: 14px;
  line-height: 1.42857;
  margin-top: 0.5em;
  letter-spacing: 0.4px;
}



@media(min-width:831px) {
  .newsArea .headline01 {margin-bottom: 0;}
}


@media(max-width:830px) {
  .newsArea {
    display:block;
    padding-right: 0;
    padding-left: 0;
  }
  .newsArea .headline01 {
    margin-bottom: 0.2em;
  }
  .newsArea .newsList {
    padding:0;
  }
  .newsArea .newsList li a {
    padding: 1.3em 0 1.4em;
    align-items: center;
  }
  .newsArea .newsList li a figure.thumbnail {
    aspect-ratio: 220/165;
    width: 100%;
    height: auto;
    max-width:110px;
  }
  .newsArea .newsList li a figure.arrow {
    max-width:26px;
    margin-right: 0;
  }
  .newsArea .newsList li a > figure {
    order: 0;
  }
  .newsArea .newsList li a > div {
    order: 0;
  }
  .newsArea .newsList li a p.date {
    width: 100%;
    order: 0;
    margin-top:0;
    text-align: left;
  }
  .newsArea .newsList li a > *:nth-child(2) {
    flex: 0.95;
    margin-left: 0;
  }

  .newsArea .tit {
    margin-top: 0;
  }

}




/* #mapArea {
  position:relative;
  max-width:620px;
  width:60%;
}
#mapArea .inner {
  position:absolute;
  bottom:0;
  width:120%;
}
@media(min-width:961px) and (max-width:1220px){
  #mapArea .inner {
    bottom:-50px;
  }
} */

/* @media(max-width:830px) {
  #mapArea {
    width:80% !important;
    margin-left: auto;
    margin-right: auto;
  }
  #mapArea .inner {
    position: static;
    width:auto;
  }
} */

@media(max-width:560px) {
  .searchContainer .searchArea .tit {
    font-size: 19px;
    letter-spacing: 1px;
  }
  .searchContainer .searchArea:nth-child(n+2) {
    margin-top: 2em;
  }
  .searchContainer .searchArea:nth-child(n+4) {
    margin-top: 1.5em;
  }

  input[type=text] {
    padding: 0.7em 1em;
  }

  .searchContainer .searchArea .tit {
    margin-bottom: 0.3em;
  }

  /* .searchContainer .headline01 {display:none;}
  .searchContainer .searchArea .tit {text-align: center;}
  .searchArea.area {display: none;} */

  /* .searchArea.freeword {
    margin-top: 0 !important;
  }
  .searchArea.freeword .tit {
    display: none;
  }
  .searchArea.freeword form .freewordSearchField {
    position: absolute;
    top:-35vw;
    left:0;
    width:100%;
    padding: 0 4%;
    display:block;
    transform:translateY(-50%);
  }
  .searchArea.freeword form .freewordSearchField input[type=text] {
    padding: 1em;
  } */
  /* .searchArea.freeword form .freewordSearchField .boxButton {
    display:block;
    width:100%;
    font-size: 15px;
    margin-top: 5px;
  } */


}



