@charset "UTF-8";
/* ---------------------------------------------------
	common
------------------------------------------------------ */
.popup {
  display: none;
  max-width: 70%;
  max-height: 2;
}
.popup.active {
  position: fixed;
  display: block;
  z-index: 8888;
  bottom: 0;
  left: 0;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.4);
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
.popup .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  -webkit-transform: translate(50%, -50%);
  transform: translate(50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  padding: 0;
  border: none;
  border-radius: 100%;
  background-color: #454f61;
  opacity: .7;
  cursor: pointer;
  z-index: 1;
}
.popup .btn-close .icon-close {
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
/* .popup .btn-close .icon-close::before {
  content: "×";
  font-size: 3.2rem;
  color: #FFF;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  line-height: 0;
} */

.popup .btn-close .icon-close::before{content: ""; display: inline-block; width: 20px; height: 2px; background:#FFF; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(45deg);}
.popup .btn-close .icon-close::after {content: ""; display: inline-block; width: 20px; height: 2px; background:#FFF; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(-45deg);}

.popup .popup-image a {
  display: block;
  margin-bottom: -6px;
}
.popup .popup-image a:hover {
  opacity: 1;
}
.popup .popup-image a:hover img {
  opacity: 1;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@media screen and (max-width: 1024px) and (orientation: landscape) {
  .popup .btn-close .icon-close::before {
    margin-top: 0;
  }
}
@media screen and (max-width:896px) {
  .popup .btn-close .icon-close::before {
    margin-top: -6px;
  }
}
@media screen and (max-width:896px) and (orientation: landscape) {
  .popup {
    max-width: 40%;
  }
}
@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
  .popup {
    max-width: 40%;
  }
  .popup.active {
    bottom: 50px;
  }
  .popup .btn-close .icon-close::before {
    margin-top: 0;
  }
}
@media screen and (max-width: 672px) {
  .popup {
    max-width: 65%;
  }
}

@media screen and (max-width:896px) and (orientation:landscape){
  .popup{max-width: 30%;}
}
/* ---------------------------------------------------
	mainvisual
------------------------------------------------------ */
#mainvisual {
  position: relative;
	margin-top: 19px;
}
#mainvisual .swiper-wrapper {
  transition-timing-function: linear;
}
#mainvisual .swiper-slide {
  position: relative;
  width: 960px;
}
#mainvisual .swiper-slide a {
  display: block;
}
/* #mainvisual .swiper-slide a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  transition: opacity .5s;
  z-index: 1;
} */
#mainvisual .swiper-slide a:hover {
  opacity: 1;
}
#mainvisual .swiper-slide a:hover:before {
  opacity: 0;
}
#mainvisual .swiper-slide a:hover img {
  opacity: 1;
}
#mainvisual .swiper-slide .slide-label {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
}
#mainvisual .swiper-slide .slide-logo {
  position: absolute;
  left: 0;
  top: 70px;
  width: 100%;
  text-align: center;
  z-index: 0;
}
#mainvisual .swiper-slide .slide-pic {
  overflow: hidden;
}
#mainvisual .swiper-slide .slide-pic img {
  overflow: hidden;
  display: block;
}
#mainvisual .swiper-slide .slide-txt {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  margin-top: 0;
  color: #fff;
  text-align: center;
  z-index: 10;
}

#mainvisual .swiper-slide .slide-txt .tit {
  font-size: 3.2rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: .05em;
}
.slick-slider{margin-bottom: 0; padding-bottom: 0;}

@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
  #mainvisual {
    position: relative;
  }
  #mainvisual .swiper-wrapper {
    transition-timing-function: ease-in-out;
  }
  #mainvisual .swiper-slide {
    width: 480px;
  }
  #mainvisual .swiper-slide a:hover:before {
    opacity: 1;
  }
  #mainvisual .swiper-slide .slide-label img {
    width: auto;
    height: 36px;
  }
  #mainvisual .swiper-slide .slide-logo {
    top: 50px;
  }
  #mainvisual .swiper-slide .slide-logo img {
    max-width: 80px;
  }
  #mainvisual .swiper-slide .slide-txt {
    margin-top: -30px;
    padding: 0 10px;
    font-size: 1.5rem;
  }
  #mainvisual .swiper-slide .slide-txt .tit {
    font-size: 1.8rem;
  }
}
@media screen and (max-width:896px) and (orientation:landscape){
  #mainvisual .swiper-slide {height: 300px;}
}

/* ---------------------------------------------------
	kv(リニューアル)　2024年7月11日追記
------------------------------------------------------ */
#top-kv{position: relative;}
#top-kv .kv-logo{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);z-index: 10;width: 30.4rem;/* width: calc(100vw * (304 /1920)); */}
#top-kv .renewal-kv-slide{height: 100dvh;}
#top-kv .renewal-kv-slide .renewal-kv-wrap{}
#top-kv .renewal-kv-slide .renewal-kv-wrap .renewal-kv-item{}
#top-kv .renewal-kv-slide .renewal-kv-wrap .renewal-kv-item .kv-pic{}
#top-kv .renewal-kv-slide .renewal-kv-wrap .renewal-kv-item .kv-pic img{width: 100%;height: 100dvh;object-fit: cover;object-position: center;}

#top-kv .sp-scrollico{position: absolute;left: 50%;bottom: 3rem;transform: translate(-50%,0);z-index: 91;animation: 2s ease-in-out scroll-loop infinite;}
@keyframes scroll-loop{
  0% {
    transform: translate(-50%,0);
  }
  48% {
    transform: translate(-50%,-0.5rem);
  }
  52% {
    transform: translate(-50%,-0.5rem);
  }
  100%{
    transform: translate(-50%,0);
  }
}

@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
  #top-kv .renewal-kv-slide{/* height: calc(100dvh - 50px); */height: calc(100svh);}
  #top-kv .renewal-kv-slide .renewal-kv-wrap .renewal-kv-item .kv-pic img{/* height: calc(100dvh - 50px); */height: 100svh;}
}

/* ---------------------------------------------------
	sec01
------------------------------------------------------ */
.safety-bnr {
  align-items: center;
  width: 100%;
  max-width: 820px;
  margin: 0 auto 100px;
  padding: 30px 40px;
  background: #F1F5F5;
  color: #222;
}
.safety-bnr .bnr-logo {
  width: 169px;
}
.safety-bnr .bnr-body {
  width: calc(100% - 169px);
  padding-left: 7%;
}
.safety-bnr .bnr-body .logo {
  display: inline-block;
  margin-bottom: 15px;
}
.safety-bnr .bnr-body .tit {
  margin: 0 0 10px;
  font-size: 2.6rem;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  letter-spacing: .1em;
  line-height: 1.4;
  text-align: left;
}

.top-bnr{text-align: center; margin-bottom: 12.4rem;}

.top-bnr a {
	margin-bottom: 15px;
}

.sec01 {
  padding: 80px 0 100px;
}
.sec01 .container {
  width: 96%;
  max-width: 1620px;
}

.sec01 .tab-btn {
  margin-bottom: 20px;
  font-size: 2.1rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.3;
  justify-content: center;
}
.sec01 .tab-btn li {
  display: block;
  width: 220px;
  max-width: 22%;
  margin: 0 10px 10px;
  padding: 12px 5px;
  border-top: 1px solid #222;
  cursor: pointer;
  font-weight: 600;
  text-align: center;
  transition: all .4s;
}
.sec01 .tab-btn li.active {
  background: #222;
  color: #fff;
}
.sec01 .container .bnr-body .btn-nolink img{margin-left: 5px;}
.sec01 .pickup-list {
  justify-content: left;
  gap: 4px;
}
.sec01 .plan-list {
  justify-content: left;
  gap: 10px;
}
.sec01 .pickup-list::before{content: ""; display: inline-block; width: calc((100% - 18px) / 5); height: 0; order: 2;}
.sec01 .pickup-list::after {content: ""; display: inline-block; width: calc((100% - 18px) / 5); height: 0; order: 2;}
.sec01 .pickup-list li {
  width: calc((100% - 18px) / 5);
  border-right: none;
  text-align: center;
  margin-bottom: 25px;
}
.sec01 .plan-list li {
  width: calc((100% - 30px) / 4);
}
.sec01 .pickup-list li img{
  display: block;
}
.sec01 .pickup-list li a {
  display: block;
  padding: 0;
  height: 100%;
}
.sec01 .pickup-list li a .list-pic{height: auto; overflow: hidden;}
.sec01 .pickup-list li a .list-pic img{margin: auto;}
.sec01 .pickup-list li a:hover {
  background: #F1F5F5;
  opacity: 1;
}
.sec01 .pickup-list li a:hover img {
  opacity: 1;
}
.sec01 .pickup-list li .list-txt {
  margin-top: 15px;
  line-height: 1.4;
  text-align: left;
  padding: 0 10px;
}
.sec01 .sec-btn {
  margin-top: 40px;
  text-align: center;
}
.sec01 .sec-btn .naspa-btn {
  padding: 0;
  font-size: 2rem;
}
.pickup_und_bnr {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 1620px;
	max-width: 100%;
	margin: 0 auto 80px;
}
.pickup_und_bnr a {
	width: 24%;
}
@media screen and (max-width: 1366px) {
  .sec01 .pickup-list li a {
    padding: 20px;
  }
  .sec01 .pickup-list li a .list-pic {
    height: auto;
  }
}
@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
  .safety-bnr {
    margin: 0 auto 60px;
    padding: 20px 20px 30px;
  }
  .safety-bnr .bnr-logo {
    width: 120px;
    margin: 0 auto 30px;
  }
  .safety-bnr .bnr-body {
    width: 100%;
    padding-left: 0;
    text-align: center;
  }
  .safety-bnr .bnr-body .logo {
    display: block;
    margin: 0 auto 15px;
  }
  .safety-bnr .bnr-body .tit {
    width: 100%;
    margin: 0 0 15px;
    font-size: 2rem;
    text-align: left;
  }
  .top-bnr{margin-bottom: 6rem;}
  .sec01 {
    padding: 50px 0 50px;
  }
  .sec01 .container {
    width: 90%;
  }
  .sec01 .tab-btn {
    justify-content: space-between;
    margin-bottom: 0;
    font-size: 1.4rem;
  }
  .sec01 .tab-btn li {
    max-width: 48%;
    margin: 0 0 10px;
    padding: 12px 5px;
    border-top: 1px solid #222;
  }
  .sec01 .pickup-list li {
    width: 48%;
    margin-bottom: 10px;
  }
  .sec01 .pickup-list li a .list-pic{
    height: 126px;
  }
  .sec01 .pickup-list li:nth-of-type(2n), .sec01 .pickup-list li:last-of-type {
    border-right: 1px solid #F1F5F5;
  }
  .sec01 .pickup-list li a {
    padding: 0;
  }
  .sec01 .pickup-list li a:hover {
    background: none;
  }
  .sec01 .pickup-list li .list-txt {
    margin-top: 5px;
    font-size: 1.4rem;
  }
  .sec01 .sec-btn {
    margin-top: 30px;
  }
	.pickup_und_bnr a {
	width: 49%;
	margin-bottom: -1%;
}
	.pickup_und_bnr {
		margin-bottom: 50px;
	}
}
@media screen and (max-width:896px) and (orientation:landscape){
  .sec01 .tab-btn li{width:48%;}
  .sec01 .container{width:50%;}
}
/* ---------------------------------------------------
	sec02
------------------------------------------------------ */
.sec02 {
  padding: 80px 0 100px;
  background: #F1F5F5;
}
.sec02 .container{
  max-width: 1000px;
}
.sec02 .news-list {
  margin-top: -10px;
  font-size: 1.6rem;
  line-height: 1.7;
}
.sec02 .news-list li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.sec02 .news-list li a {
  display: flex;
  width: 100%;
  padding: 17px;
  font-size: 2rem;
}
.sec02 .news-list li .time {
  display: block;
  max-width: 6em;
  text-align: left;
  white-space: nowrap;
}
.sec02 .news-list li .cat {
  padding-right: 1em;
  white-space: nowrap;
  min-width: 7em;
}
.sec02 .news-list li .tit {
  flex-grow: 1;
}
.sec02 .sec-btn {
  margin-top: 30px;
  text-align: center;
}
.sec02 .sec-btn .naspa-btn {
  padding: 0;
  font-size: 2rem;
}

@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
  .sec02 {
    padding: 40px 0 50px;
  }
  .sec02 .news-list {
    margin-top: -10px;
    font-size: 1.4rem;
  }
  .sec02 .news-list li a {
    padding: 12px 10px;
    flex-wrap: wrap;
  }
  .sec02 .news-list li .time {
    min-width: 5.5em;
    text-align: left;
  }
  .sec02 .news-list li .tit {
    width: 100%;
    margin-top: 8px;
  }
  .sec02 .sec-btn {
    margin-top: 30px;
  }
}
@media screen and (max-width:896px) and (orientation:landscape){
  .sec02 .container{width:80%;}
}
/* ---------------------------------------------------
	sec03
------------------------------------------------------ */
.sec03 {
  padding: 100px 0;
}
.sec03 .sec-list {
  width: 96%;
  max-width: 1620px;
  margin: 0 auto;
}
.sec03 .sec-list .list-item {
  position: relative;
  width: 397px;
  max-width: 24.51%;
	height: 397px;
}
.sec03 .sec-list .list-item:before, .sec03 .sec-list .list-item:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 10px;
  width: 100%;
  border-top: 1px solid #fff;
  z-index: 1;
}
.sec03 .sec-list .list-item:after {
  top: auto;
  bottom: 10px;
}
.sec03 .sec-list .list-item a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 397px;
  background: url(../images/top/img-sec03-01_spring.jpg) no-repeat center;
  background-size: cover;
  color: #fff;
  font-size: 2.8rem;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.5;
  letter-spacing: .05em;
  text-align: center;
}
.sec03 .sec-list .list-item a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #012A2C;
  opacity: .25;
}
.sec03 .sec-list .list-item a h3 {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .1em;
  z-index: 1;
  color: #FFF;
}
.sec03 .sec-list .list-item a .en {
  display: block;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: .05em;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.sec03 .sec-list .list-item.item02 a {
  background: url(../images/top/img-sec03-02.jpg) no-repeat center;
  background-size: cover;
}
.sec03 .sec-list .list-item.item03 a {
  background: url(../images/top/img-sec03-03.jpg) no-repeat center;
  background-size: cover;
}
.sec03 .sec-list .list-item.item04 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.sec03 .sec-list .list-item.item04 a:nth-of-type(1) {
  background: url(../images/top/img-sec03-04.jpg) no-repeat center;
  background-size: cover;
}
.sec03 .sec-list .list-item.item04 a:nth-of-type(2) {
  background: url(../images/top/img-sec03-05.jpg) no-repeat center;
  background-size: cover;
}

@media screen and (max-width: 1000px) {
  .sec03 .sec-list .list-item {
    width: 49%;
    max-width: 49%;
    margin-bottom: 2%;
	  height: 160px;
  }
  .sec03 .sec-list .list-item a {
    height: 300px;
  }
}
@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
  .sec03 {
    padding: 50px 0;
  }
  .sec03 .sec-list {
    width: 90%;
  }
  .sec03 .sec-list .list-item:before, .sec03 .sec-list .list-item:after {
    top: 8px;
  }
  .sec03 .sec-list .list-item:after {
    top: auto;
    bottom: 8px;
  }
  .sec03 .sec-list .list-item a {
    height: 160px;
    font-size: 2.2rem;
  }
  .sec03 .sec-list .list-item a h3 {
    font-size: 1.6rem;
    letter-spacing: .05em;
  }
  .sec03 .sec-list .list-item a .en {
    font-size: 1.1rem;
  }
}
/* ---------------------------------------------------
	sec04
------------------------------------------------------ */
.sec04 .sec-col {
  position: relative;
  padding: 144px 0;
  align-items: center;
}
.sec04 .sec-col:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 57.3%;
  height: 100%;
  background: #F1F5F5;
}
.sec04 .sec-col .col-pic {
  position: relative;
  display: block;
  width: 47.61%;
  min-height: 500px;
  order: 1;
  z-index: 1;
}
.sec04 .sec-col .col-pic img {
  width: 100%;
  height: 100%;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
  font-family: 'object-fit: cover;';
  object-fit: cover;
}
.sec04 .sec-col .col-txt {
  position: relative;
  width: 42.7%;
  padding-left: 18.75%;
  font-size: 2rem;
  z-index: 1;
  max-width: 560px;
  box-sizing: content-box;
}
.sec04 .sec-col .col-txt .txt-container {
  float: right;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-right: 0;
}
.sec04 .sec-col .col-txt h2 {
  font-size: 5rem;
  text-align: left;
  letter-spacing: .1em;
  font-weight: 500;
}
.sec04 .sec-col .col-txt p {
  max-width: 460px;
  line-height: 2.1;
}
.sec04 .sec-col .col-txt .txt-btn {
  margin-top: 65px;
  display: flex;
  align-items: center;
  width: 100%;
}
.sec04 .sec-col .col-txt .txt-btn a{line-height: 1.17; padding: 14px 15px; display: flex; align-items: center; border: 1px solid #222; font-size: 1.7rem;}
.sec04 .sec-col .col-txt .txt-btn a:first-of-type{margin-right: 10px; }
.sec04 .sec-col .col-txt .txt-btn .naspa-btn img{margin-left: 10px;}

@media screen and (max-width: 1680px) {
  .sec04 .sec-col{padding: 40px 0; align-items: center;}
  .sec04 .sec-col .col-pic{min-height: 0;}
  .sec04 .sec-col .col-txt{padding-left: 8.75%;}
}
@media screen and (max-width: 1000px) {
  .sec04 .sec-col {
    padding: 50px 0;
  }
  .sec04 .sec-col .col-txt {
    padding-left: 3%;
    font-size: 1.6rem;
  }
  .sec04 .sec-col .col-txt h2 {
    font-size: 4rem;
  }
}
@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
  .sec04 {
    padding-top: 20px;
  }
  .sec04 .sec-col {
    padding: 0 0 50px;
  }
  .sec04 .sec-col:before {
    top: 40px;
    width: 100%;
    height: calc(100% - 40px);
  }
  .sec04 .sec-col .col-pic {
    width: 90%;
    min-height: 0;
    margin: 0 auto 20px;
    order: 0;
  }
  .sec04 .sec-col .col-pic img {
    height: auto;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.16);
  }
  .sec04 .sec-col .col-txt {
    width: 90%;
    margin: 0 auto;
    padding-left: 0;
    font-size: 1.4rem;
  }
  .sec04 .sec-col .col-txt .txt-container {
    float: none;
    display: block;
    max-width: 100%;
    height: auto;
    padding-right: 0;
  }
  .sec04 .sec-col .col-txt h2 {
    margin-bottom: 15px;
    font-size: 3.2rem;
  }
  .sec04 .sec-col .col-txt p {
    max-width: 100%;
    line-height: 2.1;
  }
  .sec04 .sec-col .col-txt .txt-btn {
    margin-top: 30px;
    display: block;
  }
  .sec04 .sec-col .col-txt .txt-btn a{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.4rem;
  }
  .sec04 .sec-col .col-txt .txt-btn a:first-of-type{margin-right: 0; margin-bottom: 10px; font-size: 1.4rem;}

  .sec04 .sec-col .col-txt .txt-btn br + .naspa-btn {
    margin-top: 15px;
    padding-right: 20px;
  }
}
/* ---------------------------------------------------
	link
------------------------------------------------------ */
.link-sec {
  padding: 100px 0;
}
.link-sec .link-list {
  width: 96%;
  max-width: 1620px;
  margin: 0 auto;
	align-items: stretch;
}
.link-sec .link-list .list-item {
  width: 397px;
  max-width: 24.51%;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  line-height: 1.4;
	height: 250px;
}
.link-sec .link-list .list-item a {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 250px;
  background-size: cover;
  color: #fff;
  text-align: center;
}
.link-sec .link-list .list-item a:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(1, 42, 44, 0.25);
}
.link-sec .link-list .list-item a h3 {
  position: relative;
  margin: 0;
  padding: 0;
  font-size: 2.2rem;
  line-height: 1.4;
  letter-spacing: .1em;
  color: #FFF;
}
.link-sec .link-list .list-item a h3 img{
  display: block;
}
.link-sec .link-list .list-item.item01 a:nth-of-type(2) h3 {
  font-size: 1.9rem;
}
.link-sec .link-list .list-item.item02 a {
  background: url(../images/top/link-bg-02.jpg) no-repeat center;
  background-size: cover;
}
.link-sec .link-list .list-item.item01,.link-sec .link-list .list-item.item03, .link-sec .link-list .list-item.item04 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.link-sec .link-list .list-item.item03 a, .link-sec .link-list .list-item.item04 a {
  height: 120px;
}
.link-sec .link-list .list-item.item01 a:nth-of-type(1) {
  background: url("../images/top/link-bg-08_2.jpg") no-repeat center;
  background-size: cover;
}
.link-sec .link-list .list-item.item01 a:nth-of-type(2) {
  background: url(../images/top/link-bg-07.jpg) no-repeat center;
  background-size: cover;
}
.link-sec .link-list .list-item.item03 a:nth-of-type(1) {
  background: url(../images/top/link-bg-03.jpg) no-repeat center;
  background-size: cover;
}
.link-sec .link-list .list-item.item03 a:nth-of-type(2) {
  background: url(../images/top/link-bg-04.jpg) no-repeat center;
  background-size: cover;
}
.link-sec .link-list .list-item.item04 a:nth-of-type(1) {
  background: url(../images/top/link-bg-06.jpg) no-repeat center;
  background-size: cover;
}
.link-sec .link-list .list-item.item04 a:nth-of-type(2) {
  background: url(../images/top/link-bg-07.jpg) no-repeat center;
  background-size: cover;
}

@media screen and (max-width: 1000px) {
  .link-sec .link-list {
    max-width: 800px;
    margin: 0 auto;
  }
  .link-sec .link-list .list-item {
    width: 49%;
    max-width: 49%;
	  height: auto;
  }
  .link-sec .link-list .list-item a {
    margin-bottom: 4%;
  }
}
@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
  .link-sec {
    padding: 50px 0;
  }
  .link-sec .link-list {
    width: 90%;
  }
  .link-sec .link-list .list-item a {
    width: 100%;
    height: 104px;
  }
  .link-sec .link-list .list-item a h3 {
    font-size: 1.6rem;
    letter-spacing: .05em;
  }
  .link-sec .link-list .list-item a h3 img{
    width: 100px;
  }
  .link-sec .link-list .list-item.item03 a, .link-sec .link-list .list-item.item04 a {
    height: 50px;
  }
  .link-sec .link-list .list-item.item04 a:nth-child(2) h3 {
    font-size: 1.1rem;
  }
}
/*-------------------------------------------*/
/*
/*　　tablet
/*
/*-------------------------------------------*/
body.is_tablet #mainvisual .main-slide {
  height: 50vw;
  min-height: 360px;
}
body.is_tablet #mainvisual .main-slide .slide {
  height: 50vw;
  min-height: 360px;
}

/*-------------------------------------------*/
/*
/*　　print
/*
/*-------------------------------------------*/


  /* 汎用見出し */
h2 {
  margin: 0 0 40px;
  font-size: 4rem;
  font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ朝", serif;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: .05em;
  text-align: center;
}
h2 small{display: block; line-height: 1.4; font-size: 1.6rem; margin-top: 1rem;}

h4 {
  font-weight: bold;
}

h5 {
  font-weight: bold;
}

h6 {
  font-weight: bold;
}

@media screen and (max-width:896px),(max-width:896px) and (orientation:landscape){
  h2{font-size: 3.2rem;}
  h2 small{font-size: 1.4rem;}
}


/*-------------------------------------------*/
/*
/*　　スキーガーデン延期（221219）
/*
/*-------------------------------------------*/
.pmodal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,50%);
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
	z-index: 100001;
}
.pmodal.active {
	opacity: 1;
	visibility: visible;
}
.pmodal .pmodal-body {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 640px;
	width: 90%;
	margin-top: 30px;
}
.pmodal .pmodal-close {
	position: absolute;
	display: flex;
    align-items: center;
    justify-content: center;
	top: 5px;
	right: 5px;
	width: 40px;
	height: 40px;
	font-size: 40px;
	color: #222;
	cursor: pointer;
}
.pmodal .pmodal-contents {
	background: #fff;
	text-align: left;
	padding: 30px;
}
.pmodal .pmodal-contents .pmodal-tit {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
  padding-bottom: 10px;
}
.pmodal .pmodal-contents .pmodal-txt {
	font-size: 1.6rem;
	padding-bottom: 20px;
}
.pmodal .pmodal-contents .pmodal-txt span {
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
	text-align: right;
}
.pmodal .pmodal-contents .pmodal-btn {
	text-align: center;
}
.pmodal .pmodal-contents .pmodal-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	border: 1px solid #222;
	margin: auto;
	max-width: 240px;
	text-decoration: none;
	font-weight: bold;
}
.pmodal .pmodal-contents .pmodal-btn a:hover {
	background: #222;
	color: #fff;
	border: 1px solid #222;
}

/*230314追記News*/

@media screen and (max-width:896px), (max-width:896px) and (orientation: landscape) {
	.sec02 .container ul li a {
		font-size: 1.4rem;
	}
}

/* ---------------------------------------------------
	250521追加　h1
------------------------------------------------------ */
.top-h1{
    text-align: center;
    font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ朝", serif;
    margin: 12.4rem auto 0;
}
.top-h1 h1{
    font-size: 3rem;
    margin-bottom: 25px;
    line-height: 1.5;
}
.top-h1 p{
    line-height: 2.2;
}
@media screen and (max-width:896px),(max-width:896px) and (orientation:landscape){
   .top-h1{
        margin: 6rem auto 0;
        padding: 0 10px;
    }
    .top-h1 h1{
        font-size: 1.9rem;
    }
    .top-h1 p{
        line-height: 1.8;
        font-size: 1.4rem;
    }
}

/*-------------------------------------------*/
/*
/*　　Access
/*
/*-------------------------------------------*/
.access{
    padding: 80px 0 0;
}
.access .map{
    margin: 30px 0;
}

@media screen and (max-width:896px),(max-width:896px) and (orientation:landscape){
    .access{
        padding: 50px 0 0;
    }
    .access .map{
        margin: 25px 0;
    }
    .access .map iframe{
        height: 300px;
    }
}

