@charset "utf-8";
#kv{
  position: relative;
  z-index: 1;
  width:100%;
  min-width: 1250px;
  padding-top: 50px;
  margin:0 auto;
  padding-bottom: 90px;
}
#kv .inner {
  position: relative;
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
  width: 100%;
  align-items: center;
}
#kv .kv_txt {
  /*flex: 1;*/
  width:650px;
  position: absolute;
  padding-left: 50px;
  margin-right: auto;
}
#kv .kv_img {
  width: calc(100% - 650px);
  margin-left: auto;
  padding-left: 40px;
}
#kv .kv_img img{
  display:block;
  width:100%;
}
#kv .kv_txt .label{
  color: #233242;
  padding:5px 0px;
  margin-bottom: 30px;
  z-index: 1;
  font-size: 6rem;
  letter-spacing: 0rem;
  line-height: 1.6;
  font-style: italic;
  font-family: "toppan-bunkyu-midashi-go-std", sans-serif;
  font-weight: 900;
}
#kv .kv_txt .label span.line{
  border-bottom: 4px double #233242;
}

#kv .kv_txt p{
  font-size: 20px;
  color:#233242;
}

#kv .who{
  position: relative;
  display:inline-block;
  background: #fff;
  padding:5px 20px;
  margin-bottom: 20px;
  z-index: 1;
  margin-top: -20px;
}
#kv .who::before{
  position: absolute;
  content:"";
  display: inline-block;
  left:30px;
  bottom:-20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0px 20px 34px;
  border-color: transparent transparent transparent #fff;
}
#kv .who span.b{
  position: relative;
  z-index:1;
  color:#1d9383;
  font-size: 20px;
  font-weight: bold;
}
#kv .who span.s{
  font-size: 18px;
}

#kv .kv_slide{
  position: relative;
}
#kv .slider{width: 100%;}
#kv .kv_slide .slick-track {
    position: relative;
    top: 0;
    left: -50px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
#kv .kv_slide .slick-slide img {
    max-width: none;
    width: 100%;
    max-height: 90vh;
    object-fit: cover;
    object-position: 50% 50%;
    font-family: 'object-fit: cover; object-position: 50% 50%;';
}
#kv .kv_slide.slider .pointer{
	margin: 20px auto 0 0;
}
.slider .pointer li{
	display: table-cell;
	padding: 0 5px;
}
.slider .pointer li button{
	display: block;
	text-indent: -10000px;
	outline:none;
	line-height:1px;
	font-size:1px;
	background-color: rgba(125,125,125,0.5);
	width: 5px;
	height: 5px;
	border-radius: 50px;
	border: none;
	cursor: pointer;
  transition: 0.2s ease-in-out;
}
.slider .pointer .slick-active button{
	background-color: rgba(27,174,151,1);
  width: 20px;
	height: 5px;
}

#mv{
  width:100%;
  min-width: 1200px;
  padding-top: 50px;
  padding-left: 50px;
}
#mv .inner{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
  justify-content: space-between;
}
#mv .mv_l{
  width:37%;
}
#mv .mv_r{
  width:60%;
}
#mv .mv_l .label{
  position: relative;
  display:inline-block;
  background: #fff;
  padding:5px 15px;
  margin-bottom: 40px;
  z-index: 1;
  margin-top: -20px;
}
#mv .mv_l .label::before{
  position: absolute;
  content:"";
  display: inline-block;
  left:30px;
  bottom:-20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0px 20px 34px;
  border-color: transparent transparent transparent #fff;
}
#mv .mv_l .label span{
  position: relative;
  z-index:1;
  color:#1d9383;
  font-size: 20px;
}
#mv .mv_l p{
  font-size: 20px;
  color:#fff;
}

#mv .mv_l #mpath_box{
  width:100%;
  position: relative;
  z-index: 0;
}


/* Slider */
.mvslider{
	position: relative;
	cursor: pointer;
}
.mvslider .slick-list{
	position: relative;
	display: block;
	overflow: hidden;
}
.mvslider .slick-track{
	position: relative;
	top: 0;
	left: 0px;
	display: flex;
	-webkit-align-items: flex-end;
	align-items: flex-end;
}
.mvslider .slick-slide{
  padding:0px;
  -webkit-transition: all ease-in-out 0.2s;
  transition: 0.2s ease-in-out;
  transform: scale(0.88);
  transform-origin: 100% 50%;
}
.mvslider .slick-slide.slick-current{
  padding:0px;
  transform-origin: 0 50%;
  transform: scale(1);
}
.mvslider .slick-slide a {
    display: block;
    position: relative;
}
.mvslider .slick-slide .article_mv_img {
    position: relative;
    width: 100%;
}
.mvslider .slick-slide .article_mv_img::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), to(rgba(0, 0, 0, 0.90)));
    z-index: 1;
    transition: 0.5s ease-in-out;
}

.mvslider .slick-slide .article_mv_img img {
    max-width: none;
  	width: 100%;
  	max-height: 90vh;
  	object-fit: cover;
  	object-position: 50% 50%;
  	font-family: 'object-fit: cover; object-position: 50% 50%;';
}
.mvslider .slick-slide a .desc {
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 15px;
    z-index: 2;
    transition: 0.5s ease-out;
    color: #fff;
}
.mvslider .slick-slide a .desc .title {
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.mvslider .slick-arrow{
	display: block;
	text-indent: -10000px;
	outline:none;
	line-height:1px;
	font-size:1px;
	height: 40px;
	width: 30px;
	cursor: pointer;
	position: absolute;
	top: calc(50% - 20px);
	left: 0;
	z-index: 1;
	border: none;
}
.mvslider .slick-next{
	left: auto;
	right: 0;
}
.mvslider .slick-arrow:before{
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	position: absolute;
	top: calc(50% - 7px);
	border-top: 1px solid #222;
	border-left: 1px solid #222;
}
.mvslider .slick-prev:before{
	transform: rotate(-45deg);
	left: calc(50% - 4px);
}
.mvslider .slick-next:before{
	transform: rotate(135deg);
	left: calc(50% - 12px);
}

.mvslider .pointer{
	display: table;
	position: absolute;
	bottom: -20px;
	left: 0px;
}
.mvslider .pointer li{
	display: table-cell;
	padding: 0 6px;
}
.mvslider .pointer li button{
	display: block;
	text-indent: -10000px;
	outline:none;
	line-height:1px;
	font-size:1px;
	background-color: rgba(125,125,125,0.5);
	width: 7px;
	height: 7px;
	border-radius: 100%;
	border: none;
	cursor: pointer;
  transition: 0.2s ease-in-out;
  transform: scale(0.8);
}
.mvslider .pointer .slick-active button{
	background-color: rgba(27,174,151,1);
  transform: scale(1.3);
}
#mpath path {
  fill: #28e6cd;
  stroke: #28e6cd;
  stroke-width: 2px;
  animation: svg 5s ease-in both 1;
}
@keyframes svg {
  0% {
    fill: transparent;
    stroke-dasharray: 2000px;
    stroke-dashoffset: 2000px;
  }
  20%{
    stroke-dashoffset: 0;
  }
  30%{
    fill: transparent;
  }
  50%{
    fill: #28e6cd;
  }
}
@media screen and (max-width:1700px) {
  #kv .kv_txt {
    width:580px;
  }
  #kv .kv_img {
    width: calc(100% - 580px);
  }
  #kv .kv_txt .label{
    font-size: 5rem;
  }
  #kv .kv_txt p{
    font-size: 18px;
  }
  #kv .who span.b{
    font-size: 18px;
  }
  #kv .who span.s{
    font-size: 16px;
  }
}
@media screen and (max-width:1350px) {
  #mv .mv_l p br,
  #kv .kv_txt p br{
    display:none;
  }
}
@media screen and (max-width:1300px) {
  #mv .mv_l .label,
  #kv .kv_txt .label{
    line-height: 1.4;
    margin-top: -10px;
  }
}
@media screen and (max-width:1200px) {
  #kv{
    min-width: 1300px;
  }
  #kv .kv_txt {
    width:480px;
    padding-left: 50px;
  }
  #kv .kv_img {
    width: calc(100% - 480px);
    padding-left: 40px;
  }
  #kv .kv_txt .label{
    margin-bottom: 30px;
    font-size: 4rem;
  }
  #kv .who{
    padding:5px 10px;
  }
  #kv .who span.b{
    font-size: 16px;
  }
  #kv .who span.s{
    font-size: 14px;
  }
}
@media screen and (max-width:1100px) {

  #kv .kv_txt {
    width:410px;
    padding-left: 50px;
  }
  #kv .kv_img {
    width: calc(100% - 410px);
    padding-left: 40px;
  }
  #kv .kv_txt p{
    font-size: 16px;
  }
  #kv .who{
    line-height: 1.6;
  }
}
@media screen and (max-width:1050px) {
  #kv .kv_img {
    width: calc(100% - 410px);
    padding-left: 40px;
  }
}
@media screen and (max-width:860px) {
  #kv{
    min-width: auto;
    padding: 50px 25px 30px;
  }
  #kv .inner {
    flex-wrap: wrap;
  }
  #kv .kv_txt {
    position: relative;
    width:100%;
    padding-left: 0px;
  }
  #kv .kv_img {
    width:100%;
    margin-top: 30px;
    padding-left: 0px;
  }
  #kv .kv_txt .label{
    padding:0px 0px;
    margin-bottom: 30px;
    font-size: 5rem;
    line-height: 1.8;
  }
  #kv .kv_txt .label br{
    display:none;
  }
  #kv .kv_txt p{
    font-size: calc(0.8em + 0.8vw);
  }
  #kv .kv_txt .label span.line{
    border-bottom: none;
  }

  #kv .who{
    padding:5px 15px;
    margin-bottom: 40px;
  }
  #kv .who span.b{
    font-size: 24px;
  }
  #kv .who span.s{
    font-size: 20px;
  }
  #mv{
    min-width: auto;
    padding: 30px 25px 30px;
  }
  #mv .inner{
    flex-wrap: wrap;
  }
  #mv .mv_l{
    width:100%;
    margin-bottom: 40px;
  }
  #mv .mv_r{
    width:100%;
  }
  #mv .mv_l #mpath_box{
    max-width:500px;
    z-index: 0;
  }
  #mv .mv_l .label span{
    font-size: calc(1.2em + 1.2vw);
  }
  #mv .mv_l p{
    font-size: calc(0.8em + 0.8vw);
    color:#000;
    font-weight: bold;
  }
  .mvslider .slick-slide{
    transform: scale(1);
    transform-origin: 0 50%;
  }
  #mpath path {
    fill: #1d9383;
    stroke: #1d9383;
  }
  @keyframes svg {
    0% {
      fill: transparent;
      stroke-dasharray: 2000px;
      stroke-dashoffset: 2000px;
    }
    20%{
      stroke-dashoffset: 0;
    }
    30%{
      fill: transparent;
    }
    50%{
      fill: #1d9383;
    }
  }
}
@media screen and (max-width:716px) {
  #kv .kv_txt .label{
    margin-bottom: 30px;
    font-size: 4rem;
  }
  #mv .mv_l .label span{
    font-size: calc(1.1em + 1.1vw);
  }
}
@media screen and (max-width:680px) {
  #kv .who{
    margin-bottom: 30px;
  }
  #kv .who span.b{
    font-size: 20px;
  }
  #kv .who span.s{
    font-size: 18px;
  }
  #kv .kv_slide .slick-track {
      left: -20px;
  }
}

@media screen and (max-width:500px) {
  #kv{
    padding: 30px 15px 30px;
  }
  #kv .kv_txt .label{
    margin-bottom: 20px;
    font-size: 3rem;
  }
  #mv{
    padding: 30px 15px 30px;
  }
  #mv .mv_l{
    margin-bottom: 30px;
  }
  #mv .mv_r{
    padding:0 40px;
  }
  #mv .mv_l .label{
    display:block;
    text-align: center;
    padding:5px 5px;
    margin-bottom: 30px;
  }
  #mv .mv_l .label span{
    font-size: 15px;
  }

}
@media screen and (max-width:390px) {
  #kv .kv_txt .label{
    margin-bottom: 20px;
    font-size: 2.6rem;
  }
  #kv .who{
    padding:5px 5px;
    margin-bottom: 40px;
  }
  #kv .who span.b{
    font-size: 16px;
  }
  #kv .who span.s{
    font-size: 14px;
  }
  #mv .mv_l .label::before{
    left:15px;
    bottom:-15px;
    border-width: 15px 0px 15px 29px;
  }
  #mv .mv_l .label{
    padding:5px 0px;
    margin-bottom: 20px;
  }
  #mv .mv_l .label span{
    font-size: 12px;
  }
  #mv .mv_l p{
    font-size: 14px;
  }
  #mv .mv_r{
    padding:0 20px;
  }
}
/*---------------------------------
 s1
-----------------------------------*/
#s1{
  position: relative;
  padding:90px 0 0px;
  min-width: 1300px;
  z-index:1;
  background: #fff;
  border-radius: 3rem 3rem 0 0;
}
#s1 .s1_list{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
	flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 20px;
}
#s1 .s1_list article{
  width:31%;
  margin-bottom: 50px;
}
#s1 .s1_list article a{
  display:block;
  position: relative;
  margin-bottom: 20px;
}
#s1 .s1_list article a .tumb{
  position: relative;
  width: 100%;
  height: 0;
  padding: 0 0 80%;
  background: #17212c;
}
#s1 .s1_list article a .tumb::before{
  content:"";
  position: absolute;
  display:block;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), to(rgba(23, 33, 44, 1)));
  z-index: 1;
  transition: 0.5s ease-in-out;
}

#s1 .s1_list article a .tumb span {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
#s1 .s1_list article a .tumb span img {
  object-fit: cover;
  object-position: 50% 80%;
  font-family: 'object-fit: cover; object-position: 50% 80%;';
  width: 100%;
  height: 100%;
  max-width: none;
  will-change: transform;
  transition: 0.5s ease-out;
  transform: scale(1);
}
#s1 .s1_list article a:hover .tumb span img{
	transform: scale(1.07);
  filter: blur(3px);
  opacity: 0.5;
}

#s1 .s1_list article a .catch{
  position: absolute;
  bottom:15px;
  width:100%;
  padding:0 15px;
  z-index:2;
  transition: 0.5s ease-out;
  color:#fff;
}
#s1 .s1_list article a .catch .en{
  font-weight: 600;
  letter-spacing: 0rem;
  font-size: 20px;
  margin-bottom: 0px;
  line-height: 1.4;
}
#s1 .s1_list article a .catch h3{
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.2rem;
}
#s1 .s1_list article .desc{
  font-size: 16px;
  margin-bottom: 40px;
}
#s1 .s1_list article .blink a::after{
  top:calc(50% - 6px);
}
#s1 .s1_ms{
  text-align: center;
  font-weight: bold;
  font-size: 24px;
}
@media screen and (max-width:860px) {
  #s1{
    min-width: auto
  }
  #s1 .scl_box{
    position: relative;
    width: 100%;
    margin-bottom: 50px;
  }
  #s1 .scl_box > div{
    overflow-x: scroll;
    padding-right: 140px;
  }
  #s1 .scl_box::after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		background: -moz-linear-gradient(left,  rgba(255,255,255,0) 0%, rgba(255,255,255,0) 30%, rgba(255,255,255,0) 70%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right,  rgba(255,255,255,0) 0%,rgba(255,255,255,0) 30%,rgba(255,255,255,0) 70%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( endColorstr='#fff',GradientType=1 ); /* IE6-9 */
	}
  #s1 .s1_list{
    width:1300px;
    -webkit-overflow-scrolling: touch;
  }
  #s1 .scl_box > div::-webkit-scrollbar {
    background: #dfdfdf;
    height:5px;
  }
  #s1 .scl_box > div::-webkit-scrollbar-thumb {
    background-color: #1d9383;
    height:5px;
    border-radius: 8px;
  }
  #s1 .s1_list article{
    width:31%;
    margin-bottom: 0px;
  }
}
@media screen and (max-width:500px) {
  #s1{
    padding:50px 0 0px;
  }
  #s1 .scl_box{
    margin-bottom: 0px;
  }
  #s1 .scl_box::after{
		display:none;
	}
  #s1 .scl_box > div{
    overflow-x: hidden;
    padding-right: 0px;
  }
  #s1 .s1_list{
    width:100%;
    padding-bottom: 0px;
  }
  #s1 .s1_list article{
    width:100%;
    margin-bottom: 50px;
  }
  #s1 .s1_ms{
    text-align: left;
    font-size: 18px;
  }
  #s1 .s1_ms br{
    display:none;
  }
}
/*---------------------------------
 s2
-----------------------------------*/
#s2{
  position: relative;
  padding:40px 0 210px;
  min-width: 1300px;
  z-index:1;
  background: #fff;
}
#s2 h2{
  text-align: center;
  font-weight: bold;
  font-size: 30px;
  margin-bottom: 80px;
}

#s2 .s2_index .slick-list{
	position: relative;
	display: block;
}
#s2 .s2_index{
	position: relative;
	cursor: pointer;
	width:100%;
	margin:0 auto 80px;
}
#s2 .s2_index .slick-track{
	position: relative;
	top: 0;
	left: 0;
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	display: flex;
	justify-content: center;
	align-items:flex-start;
}
#s2 .s2_index article{
  padding:0 15px;
}
#s2 .s2_index article > div{
  padding:50px 20px 40px;
  -webkit-box-shadow: 0 9px 20px 0px rgb(31 188 153 / 17%);
  box-shadow: 0 9px 20px 0px rgb(31 188 153 / 17%);
}
#s2 .s2_index article .i{
  display:block;
  margin-top: -80px;
  margin-bottom: 20px;
}
#s2 .s2_index article .i img{
  display:block;
  width:100%;
  max-width:100px;
  margin:0 auto;
}
#s2 .s2_index article .label{
  display:block;
  text-align: center;
  margin-bottom: 20px;
}
#s2 .s2_index article .label span{
  background: #ffdd00;
  font-size: 18px;
  font-weight: bold;
  padding:2px 15px;
  border-radius: 3px;
}
#s2 .s2_index article ul{
  padding-bottom: 5px;
}
#s2 .s2_index article ul li{
  border: 1px solid #e3e4e5;
  font-size: 16px;
  padding:5px 20px;
  margin-bottom: 15px;
}
#s2 .s2_index article .etc{
  text-align: right;
}
#s2 .s2_dl{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	width:100%;
	flex-wrap: wrap;
}
#s2 .s2_dl dt{
  width:calc(100% - 320px);
  font-size: 16px;
}
#s2 .s2_dl dd{
  width:320px;
}

@media screen and (max-width:860px) {
  #s2{
    padding:40px 0 180px;
    min-width: auto;
  }
  #s2 h2{
    font-size: 30px;
    margin-bottom: 50px;
  }
  #s2 .s2_index{
  	width:calc(100% - 30px);
  	margin:0 auto 60px;
    overflow:hidden;
  }
  #s2 .s2_index article{
    padding:20px 15px;
  }
  #s2 .s2_index article > div{
    padding:30px 20px 30px;
  }
  #s2 .s2_index article .i{
    display:block;
    margin-top: 0px;
    margin-bottom: 20px;
  }
  #s2 .s2_index .slick-track{
  	justify-content: center;
  }
  #s2 .s2_index .slick-arrow{
  	display: block;
  	text-indent: -10000px;
  	outline:none;
  	line-height:1px;
  	font-size:1px;
  	height: 40px;
  	width: 30px;
  	cursor: pointer;
  	position: absolute;
  	top: calc(50% - 20px);
  	left: 0;
  	z-index: 1;
  	border: none;
  }
  #s2 .s2_index .slick-next{
  	left: auto;
  	right: 0;
  }
  #s2 .s2_index .slick-arrow:before{
  	content: "";
  	display: block;
  	width: 20px;
  	height: 20px;
  	position: absolute;
  	top: calc(50% - 10px);
  	border-top: 3px solid #233242;
  	border-left: 3px solid #233242;
  }
  #s2 .s2_index .slick-prev:before{
  	transform: rotate(-45deg);
  	left: calc(50% - 4px);
  }
  #s2 .s2_index .slick-next:before{
  	transform: rotate(135deg);
  	left: calc(50% - 20px);
  }
  #s2 .s2_dl dt{
    width:100%;
    order: 2;
  }
  #s2 .s2_dl dd{
    width:100%;
    order: 1;
    margin-bottom: 40px;
  }
}
@media screen and (max-width:500px) {
  #s2{
    padding:40px 0 170px;
  }
  #s2 h2{
    font-size: 26px;
    margin-bottom: 20px;
  }
  #s2 .w{
    padding:0 0px;
  }
  #s2 .s2_index{
  	width:100%;
  	margin:0 auto 60px;
    overflow:hidden;
  }
  #s2 .s2_index article{
    padding:20px 5px;
  }
  #s2 .s2_dl{
    padding:0 15px;
  }
}
/*---------------------------------
 s3
-----------------------------------*/
#s3{
  position: relative;
  padding:0px 0 80px;
  min-width: 1300px;
  z-index:1;
}
#s3::before{
  position: absolute;
  content:"";
  top:-100px;
  left:0;
  width:70%;
  height:611px;
  background: #f7f7f7;
  z-index:0;
}
#s3 .i{
  position: absolute;
  z-index:1;
  min-width:657px;
  width: min(876 / 1600* 100vw, 876px);
	height: min(610 / 1600* 100vw, 610px);
  top: min(0 / 1600* 100vw, 0px);
  right: min(0 / 1600* 100vw, 0px);
}
#s3 .base_hadding{
  margin-bottom: 60px;
}
#s3 .s3_index{
  position: relative;
  width:40%;
  z-index:2;
}
#s3 .s3_index .p1{
  font-size: 18px;
  margin-bottom: 50px;
}
#s3 .blink{
  text-align: left;
}
@media screen and (max-width:860px) {
  #s3{
    padding:120px 0 100px;
    min-width: auto;
    background: #f7f7f7;
  }
  #s3::before{
    display:none;
  }
  #s3 .i{
    position: absolute;
    z-index:1;
    min-width:157px;
    width: min(876 / 1600* 100vw, 876px);
  	height: min(610 / 1600* 100vw, 610px);
    top: min(-100 / 1600* 100vw, -100px);
    right: min(0 / 1600* 100vw, 0px);
  }
  #s3 .s3_index{
    width:100%;
  }
}
@media screen and (max-width:500px) {
  #s3{
    padding:120px 0 80px;
  }
  #s3 .i{
    position: absolute;
    z-index:1;
    min-width:347px;
    width: min(876 / 1600* 100vw, 876px);
  	height: min(610 / 1600* 100vw, 610px);
    top: min(-100 / 1600* 100vw, -100px);
    right: min(0 / 1600* 100vw, 0px);
  }
}
/*---------------------------------
 s4
-----------------------------------*/
#s4{
  position: relative;
  padding:280px 0 120px;
  z-index:1;
  min-width: 1300px;
  overflow: hidden;
}

#s4 .slider .slick-list{
	position: relative;
	display: block;
	overflow: hidden;
}
#s4 .slider{
	position: relative;
	cursor: pointer;
	width:calc(100% - 30px);
	margin:auto;
}
#s4 .slider .slick-track{
	position: relative;
	top: 0;
	left: 0;
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	display: flex;
	justify-content: center;
	align-items:flex-start;
}

#s4 .slider .slick-arrow{
	display: block;
	text-indent: -10000px;
	outline:none;
	line-height:1px;
	font-size:1px;
	height: 30px;
	width: 30px;
	cursor: pointer;
	position: absolute;
	top: calc(50% - 15px);
	left:-15px;
	z-index: 1;
	border: none;
}
#s4 .slider .slick-next{
	left: auto;
	right:-15px;
}
#s4 .slider .slick-arrow:before{
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	position: absolute;
	top: calc(50% - 7px);
	border-top: 3px solid rgba(0,0,0,0.8);
	border-left: 3px solid rgba(0,0,0,0.8);
}
#s4 .slider .slick-prev:before{
	transform: rotate(-45deg);
	left: calc(50% - 4px);
}
#s4 .slider .slick-next:before{
	transform: rotate(135deg);
	left: calc(50% - 12px);
}

#s4 .slider .pointer{
	display: table;
	margin: 20px auto 0;
}
#s4 .slider .pointer li{
	display: table-cell;
	padding: 0 5px;
}
#s4 .slider .pointer li button{
	display: block;
	text-indent: -10000px;
	outline:none;
	line-height:1px;
	font-size:1px;
	background-color: #233242;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	border: none;
	cursor: pointer;
	transition: 0.3s ease-in-out;
}
#s4 .slider .pointer .slick-active button{
	width: 16px;
	height: 16px;
	background-color: #019e97;
}
#s4 .s4_slider{
	width:100%;
  position: relative;
}
#s4 .s4_slider .slick-list {
  overflow: visible;
}
#s4 .s4_slider .slick-slide {
    margin-right: 0px;
}

#s4 .s4_slider .slick-slide a {
    display: block;
    position: relative;
}
#s4 .s4_slider .slick-slide .article_mv_img {
    position: relative;
    width: 100%;
    overflow: hidden;
}
#s4 .s4_slider .slick-slide .article_mv_img::before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), to(rgba(0, 0, 0, 0.90)));
    z-index: 1;
    transition: 0.5s ease-in-out;
}

#s4 .s4_slider .slick-slide a .article_mv_img img {
    max-width: none;
  	width: 100%;
  	max-height: 90vh;
  	object-fit: cover;
  	object-position: 50% 50%;
  	font-family: 'object-fit: cover; object-position: 50% 50%;';
    will-change: transform;
    transition: 0.5s ease-out;
    transform: scale(1);
}
#s4 .s4_slider .slick-slide a:hover .article_mv_img img{
	transform: scale(1.07);
}
#s4 .s4_slider .slick-slide a .desc {
    position: absolute;
    bottom: 0px;
    width: 100%;
    padding: 15px;
    z-index: 2;
    transition: 0.5s ease-out;
    color: #fff;
}
#s4 .s4_slider .slick-slide a .desc .label{
  font-size: 1.4rem;
  margin-bottom: 5px;
  color: #fff;
}
#s4 .s4_slider .slick-slide a .desc .title {
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
#s4 .s4_slider .slick-arrow{
	display: block;
	text-indent: -10000px;
	outline:none;
	line-height:1px;
	font-size:1px;
	height: 40px;
	width: 30px;
	cursor: pointer;
	position: absolute;
	top:auto;
	bottom: -60px;
	right: 0px;
	left:auto;
	z-index: 1;
	border: none;
}
#s4 .s4_slider .slick-arrow:before{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	position: absolute;
	top: calc(50% - 7px);
	border-top: 1px solid #fff;
	border-left: 1px solid #fff;
  z-index:1;
}
#s4 .s4_slider .slick-arrow::after{
  position: absolute;
  content: "";
	display: block;
  width:40px;
  height:40px;
  top:0px;
  background: #233242;
  border-radius: 50px;
  transition: 0.3s ease-in-out;
  z-index:0;
}
#s4 .s4_slider .slick-arrow:hover::after{
  background: #3b454f;
}
#s4 .s4_slider .slick-prev::before{
	transform: rotate(-45deg);
	left:auto;
	right: 72px;
}
#s4 .s4_slider .slick-prev::after{
	transform: rotate(-45deg);
	right: 60px;
}
#s4 .s4_slider .slick-next::before{
	transform: rotate(135deg);
  right: 0;
}
#s4 .s4_slider .slick-next::after{
	transform: rotate(135deg);
  right: 0px;
}

@media screen and (max-width:860px) {
  #s4{
    padding:100px 0 120px;
    min-width: auto;
  }
}
@media screen and (max-width:780px) {
  #s4{
    padding:100px 0 220px;
  }
}
@media screen and (max-width:500px) {
  #s4{
    padding:80px 0 220px;
  }
  #s4 .s4_index{
    margin-left: 15px;
  }
  .s4_slider .slick-track{
  	position: relative;
  	top: 0;
  	left: -25px;
  	display: flex;
    justify-content: flex-start;
    align-items: center;
  	-webkit-align-items: center;
  }
  .s4_slider .slick-prev::before{
  	right: 106px;
  }
  .s4_slider .slick-prev::after{
  	right: 95px;
  }
  .s4_slider .slick-next::before{
    right: 42px;
  }
  .s4_slider .slick-next::after{
    right: 25px;
  }
}
/*---------------------------------
 s5
-----------------------------------*/
#s5{
  position: relative;
  padding:80px 0 150px;
  min-width: 1300px;
  z-index:1;
  background: #fff;
  border-radius: 3rem 3rem 0 0;
}
#s5 .s5_index{
  width:100%;
  flex-wrap: wrap;
  justify-content: space-between;
}
#s5 .s5_index .elm{
  width:47%;
  padding-top: 60px;
}
#s5 .s5_index .i{
  width:46%;
}
#s5 .s5_index .i img{
  display:block;
  width:100%;
  max-width:1240px;
  margin:0 auto;
}
#s5 .s5_index .elm h2{
  font-size: 26px;
  margin-bottom: 60px;
}
#s5 .s5_index .elm .p1{
  font-size: 18px;
  margin-bottom: 30px;
}
#s5 .s5_index .elm ul{
  width:100%;
  max-width:400px;
}
#s5 .s5_index .elm ul li{
  position: relative;
  border: 1px solid #dae4e3;
  padding:15px 15px 15px 40px;
  margin-bottom: 1px;
  border-radius: 3px;
}
#s5 .s5_index .elm ul li::before,
#s5 .s5_index .elm ul li::after{
  position: absolute;
  content:"";
}
#s5 .s5_index .elm ul li::before{
  top:calc(50% - 7px);
  left:11px;
  width:17px;
  height:17px;
  border-radius: 50px;
  background: rgba(38, 172, 166, 0.4);
  transform: scale(0.7);
	transition: transform 2.5s cubic-bezier(.38,.172,.166,1) 0s;
  animation: pathmove 2.4s ease-in-out infinite;
}
#s5 .s5_index .elm ul li::after{
  top:calc(50% - 3px);
  left:15px;
  width:9px;
  height:9px;
  border-radius: 50px;
  background: rgba(38, 172, 166, 1);
}
@keyframes pathmove {
  0%{
    transform: scale(0.7);
	}
  60%{
    transform: scale(1.3);
	}
	100%{
    transform: scale(0.7);
	}
}
@media screen and (max-width:860px) {
  #s5{
    padding:80px 0 100px;
    min-width: auto;
  }
}
@media screen and (max-width:780px) {
  #s5{
    padding:80px 0 100px;
  }
  #s5 .s5_index .elm{
    width:100%;
    padding-top: 60px;
  }
  #s5 .s5_index .i{
    width:100%;
    position: absolute;
    z-index:1;
    min-width:157px;
    width: min(327 / 780* 100vw, 327px);
  	height: min(335 / 780* 100vw, 335px);
    top: min(-100 / 780* 100vw, -100px);
    right: min(0 / 780* 100vw, 0px);
  }
  #s5 .s5_index .elm ul{
    max-width:100%;
  }
}
@media screen and (max-width:630px) {
  #s5 .s5_index .i{
    width: min(327 / 780* 100vw, 327px);
  	height: min(335 / 780* 100vw, 335px);
    top: min(-50 / 780* 100vw, -50px);
    right: min(0 / 780* 100vw, 0px);
  }
}
@media screen and (max-width:500px) {
  #s5{
    padding:80px 0 80px;
  }
  #s5 .s5_index .i{
    min-width:257px;
    width: min(327 / 780* 100vw, 327px);
  	height: min(335 / 780* 100vw, 335px);
    top: min(-100 / 780* 100vw, -100px);
    right: min(0 / 780* 100vw, 0px);
  }
  #s5 .s5_index .elm h2{
    margin-bottom: 40px;
  }
}
/*---------------------------------
 s6
-----------------------------------*/
#s6{
  position: relative;
  padding:90px 0 80px;
  min-width: 1300px;
  z-index:1;
  background: #f7f7f7;
}
#s6 .p1{
  font-size: 18px;
  margin-bottom: 70px;
}
@media screen and (max-width:860px) {
  #s6{
    padding:100px 0 50px;
    min-width: auto;
  }
  #s6 .list_article1 article:nth-of-type(5),
  #s6 .list_article1 article:nth-of-type(6){
    display:none;
  }
}
@media screen and (max-width:500px) {
  #s6{
    padding:80px 0 30px;
  }
  #s6 .p1{
    margin-bottom: 50px;
  }
}
/*---------------------------------
 s7
-----------------------------------*/
#s7{
  position: relative;
  padding:150px 0 150px;
  min-width: 1300px;
  z-index:1;
  background: #fff;
}
#s7 .s7_index{
  width:100%;
  flex-wrap: wrap;
}
#s7 .s7_index .t{
  width:350px;
}
#s7 .s7_index .elm{
  width:calc(100% - 350px);
  padding-left:50px;
}
#s7 .s7_index .t .blink{
  text-align: left;
}
#s7 .s7_index .news_list dl{
  display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
  width:100%;
  flex-wrap: wrap;
  align-items: center;
  padding:30px 15px;
  border-bottom: 1px solid #dae4e3;
}
#s7 .s7_index .news_list dl:first-of-type{
  border-top: 1px solid #dae4e3;
}
#s7 .s7_index .news_list dt{
  width:160px;
  color:#85a09f;
}
#s7 .s7_index .news_list dd{
  width:calc(100% - 160px);
}
#s7 .s7_index .news_list dd a{
  color:#000;
  transition: 0.3s ease-in-out;
}
#s7 .s7_index .news_list dd a:hover{
  color:#019e97;
}
@media screen and (max-width:860px) {
  #s7{
    min-width: auto;
    padding:100px 0 100px;
  }
  #s7 .s7_index .t{
    width:240px;
  }
  #s7 .s7_index .elm{
    width:calc(100% - 240px);
    padding-left:50px;
  }
}
@media screen and (max-width:500px) {
  #s7{
    padding:80px 0 80px;
  }
  #s7 .s7_index .t{
    width:100%;
  }
  #s7 .s7_index .elm{
    width:100%;
    padding-left:0px;
  }
  #s7 .s7_index .t .base_hadding{
    margin-bottom: 30px;
  }
  #s7 .s7_index .t .blink{
    text-align: right;
    margin-bottom: 40px;
  }
  #s7 .s7_index .news_list dl{
    padding:20px 15px;
  }
  #s7 .s7_index .news_list dt{
    width:100%;
    margin-bottom: 5px;
  }
  #s7 .s7_index .news_list dd{
    width:100%;
  }
}
/*---------------------------------
 h-menu
-----------------------------------*/
