@charset "UTF-8";
/***  メインビジュアル　フェード  ***/
#top01,
#top02,
#top03,
#top04,
#top05,
#top06,
#top07,
#top08,
#top09,
#top10,
#top11,
#top12,
#top13,
#top14,
#top15 {
  width: 88%;
  margin: 0 auto;
  text-align: left;
  padding: 2em 0;
}

/*メインビジュアル*/
.mv {
  width: 100%;
  height: 100vh;
  min-height: 650px;
  background: url("../img/top/mv_sp.jpg") center/cover no-repeat;
}

#mv {
  display: flex;
  align-items: flex-end;
  width: 100%;
  height: 100%;
  padding-inline: 10%;
  padding-bottom: 26%;
}

.mv__texts {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mv__heading {
  max-width: 652px;
  width: 100%;
}

/*top01*/
.top01 {
  position: relative;
  height: 1011px;
  background: url("../img/top/top01_bg_sp.jpg") center/cover no-repeat;
}
.top01::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.top01 #top01 {
  height: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  padding-bottom: 11%;
}

.top01__text {
  line-height: 2.46;
}

.top01__linkBox {
  max-width: 535px;
  width: 100%;
}

/*top02*/
.top02__text {
  line-height: 2.46;
}

.top02__item {
  position: relative;
  display: block;
  border-bottom: 1px solid #CCCCCC;
  padding-block: 4em 3em;
}
.top02__item::after {
  content: "";
  position: absolute;
  bottom: -1px;
  right: calc((100% - 100vw) / 2);
  width: calc((100vw - 100%) / 2);
  height: 1px;
  background: #CCCCCC;
}
.top02__item:first-child {
  padding-top: 0;
}

.top02__headingCol {
  width: 100%;
  padding-block: 0;
}

.top02__slideContainer {
  width: 100%;
}

.top02__linkItem {
  max-width: 90px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
}

.top02__linkBox {
  max-width: 213px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
}

/*top03*/
.top03__topArea {
  position: relative;
  background: url("../img/top/top03_bg_sp.jpg") center/cover no-repeat;
  height: 900px;
}
.top03__topArea::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to top, rgba(35, 24, 21, 0.8) 0%, transparent 100%);
}
.top03__topArea #top03 {
  display: flex;
  align-items: flex-end;
  height: 100%;
  position: relative;
  z-index: 1;
  padding-bottom: 17%;
}

.top03__heading {
  font-size: 27px;
  font-weight: bold;
  letter-spacing: 0.25em;
}

.top03__headingMain {
  display: block;
  font-size: 0.59em;
  font-weight: 500;
  letter-spacing: 0.35em;
}

.top03__headingSub {
  display: block;
}

.top03__text {
  line-height: 2.46;
}

.top03__wrap {
  position: relative;
  z-index: 2;
  max-width: 1190px;
  width: 88%;
  margin: -50px auto 0;
}

.top03__inner {
  position: relative;
  width: 100%;
  border-bottom: 1px solid #CCCCCC;
}
.top03__inner::after {
  content: "";
  position: absolute;
  bottom: -1px;
  right: calc((100% - 100vw) / 2);
  width: calc((100vw - 100%) / 2);
  height: 1px;
  background: #CCCCCC;
}

.top03__linkItem {
  max-width: 90px;
  width: 100%;
  margin-left: auto;
  margin-right: 8px;
}

.top03__slideLink {
  text-decoration: none;
}
.top03__slideLink:hover {
  opacity: 1;
}
.top03__slideLink:hover .top03__slideImg img {
  transform: scale(1.03);
  opacity: 1;
}

.top03__slideImg {
  width: 100%;
  height: 100%;
  aspect-ratio: 470/330;
  overflow: hidden;
}
.top03__slideImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: center;
  transition: 0.45s ease-in-out;
}

.top03__btnInner {
  max-width: 1200px;
  width: 94%;
  margin: 0 auto;
}

.top03__linkBox {
  max-width: 236px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
}

.top03__slideText {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
}

/*top04*/
.top04__linkBox {
  max-width: 535px;
  width: 100%;
}

.top04__text {
  line-height: 2.46;
}

/*top05*/
.top05 {
  padding-top: 89%;
  background-image: url("../img/top/top05_bg_sp.jpg");
  background-position: center top;
  background-size: 100%;
  background-repeat: no-repeat;
  background-color: #000000;
}

.top05__text {
  line-height: 2.46;
}

.top05__body {
  display: grid;
  grid-template-columns: 1fr;
  gap: 64px;
}

.top05__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 30px 73px;
}

.top05__img {
  width: calc(100vw - 100% + 100%);
  margin-left: calc((100% - 100vw) / 2);
}

.top05__texts {
  flex: 1;
  @media screen and (min-width: 769px) {
    width: 100%;
  }
}

.top05__linkBox {
  max-width: 245px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
}

.top05__mvTexts {
  /*font-weight: normal;*/
  line-height: 1.96;
}
 .top05__mvTexts > span {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.top05__mvTexts__line {
  display: none;
}
 .top05__mvTexts__font {
  font-size: 21px;
  white-space: nowrap;
}

/*top06*/
.top06 #top06 {
  max-width: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 30px 7.3%;
  padding-right: 0;
}

.top06__img {
  width: 100%;
}
.top06__img > img {
  width: 100%;
  height: auto;
  display: block;
}

.top06__texts {
  max-width: 100%;
  width: 88%;
  margin: 0 auto;
  padding-bottom: 0;
}

.top06__text {
  line-height: 2.46;
}

.top06__linkBox {
  max-width: 181px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
}

/*top07*/

.top07__posts {
  position: relative;
  border-top: 1px solid #CCC;
  margin-top: 50px;
  padding-left: 5px;
}
.top07__posts::after {
  content: "";
  position: absolute;
  top: -1px;
  right: calc((100% - 100vw) / 2);
  width: calc((100vw - 100%) / 2);
  height: 1px;
  background: #CCCCCC;
}

.top07__post {
  text-decoration: none;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px 42px;
  border-bottom: 1px solid #CCC;
  padding-block: 23px 25px;
}
.top07__post::after {
  content: "";
  position: absolute;
  bottom: -1px;
  right: calc((100% - 100vw) / 2);
  width: calc((100vw - 100%) / 2);
  height: 1px;
  background: #CCCCCC;
}

.top07__cates {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

.top07__title {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.top07__linkBox {
  max-width: 176px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
}

.top08__body {
  margin-top: 40px;
}

.top08__link {
  text-decoration: none;
}
.top08__link:hover {
  opacity: 1;
}
.top08__link:hover .top08__img img {
  transform: scale(1.03);
  opacity: 1;
}

.top08__img {
  width: 100%;
  aspect-ratio: 396/278;
  overflow: hidden;
}
.top08__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: center;
  transition: 0.45s ease-in-out;
}

.top08__texts {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 21px 28px;
}

.top08__title {
  width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  word-break: break-word;
}

.top08__linkBox {
  max-width: 176px;
  width: 100%;
  margin-left: auto;
  margin-right: 0;
}

/*top09*/
.top09 #top09 {
  max-width: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 30px 7.3%;
  padding-right: 0;
}

.top09__img {
  width: 100%;
}
.top09__img > img {
  width: 100%;
  height: auto;
  display: block;
}

.top09__texts {
  max-width: 100%;
  width: 88%;
  margin: 0 auto;
  padding-bottom: 0;
}

.top09__text {
  line-height: 2.46;
}

.top09__linkWrap {
  max-width: 330px;
  width: 100%;
  margin-left: auto;
}

/*top10*/
.top10__head {
  max-width: 600px;
  width: 100%;
}

.top10__inner {
  max-width: 972px;
  width: 100%;
  margin-inline: auto 0;
}

.top10__linkWrap {
  max-width: 163px;
  width: 100%;
  margin-inline: auto 0;
}

/*top11*/
.top11 {
  background: url("../img/top/top11_bg_sp.jpg") center/cover no-repeat;
}

.top11__head {
  max-width: 555px;
  width: 100%;
}

.top11__inner {
  max-width: 972px;
  width: 100%;
  margin-inline: auto 0;
}

.top11__details {
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 16px 9px;
}

.top11__map {
  position: relative;
  width: calc((100vw - 100%) / 2 + 100%);
  height: 282px;
}
.top11__map iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.top11__linkWrap {
  max-width: 223px;
  width: 100%;
  margin-inline: auto 0;
}
/*top12*/
.top12 #top12 {
  max-width: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 30px 7.3%;
  padding-right: 0;
}

.top12__img {
  width: 100%;
}
.top12__img > img {
  width: 100%;
  height: auto;
  display: block;
}

.top12__texts {
  max-width: 100%;
  width: 88%;
  margin: 0 auto;
  padding-bottom: 0;
}

.top12__text {
  line-height: 2.46;
}

.top12__linkWrap {
  max-width: 330px;
  width: 100%;
  margin-left: auto;
}

/*=================================================================================*/
/** 768px以上　タブレット縦　サイズ画面  **/
/*=================================================================================*/
/** 1140px以上 padding: ;PCサイズ画面 **/
/*=================================================================================*/
/** 1600px以上 padding: ;PCサイズ画面 **/
/*=================================================================================*/
/** 矢印がまとまってるスライドショー設定**/
.slick__inner {
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 0 20px;
}

.slick__container, .slick__container--mTop {
  position: relative;
  /* インナー幅から片側をはみ出させる */
  width: calc(100% + (100vw - 100%) / 2);
  /* / インナー幅から片側をはみ出させる */
  margin-right: 0;
  margin-left: 0;
}
.slick__container--mTop {
  margin-top: 70px;
}

.slick__images.slick__images04 .slick__image {
  aspect-ratio: unset;
}
.slick__images.slick__images05 .slick__image {
  max-width: 898px;
  width: 100%;
  aspect-ratio: unset;
  margin-right: 15px;
}
.slick__images.slick__images05 .slick-prev,
.slick__images.slick__images05 .slick-next {
  display: none !important;
}
.slick__images.slick__images06 .slick__image {
  max-width: 396px;
  width: 100%;
  aspect-ratio: unset;
  margin-right: 15px;
}

.slick__images.is-single {
  display: flex;
  justify-content: center;
}

.slick__images .slick-list {
  overflow: visible;
}

.navi-area {
  display: flex;
  align-items: center;
  gap: 32px;
}

.navi-area06 {
  display: none;
}

.navi-area .slick-prev,
.navi-area .slick-next {
  display: inline-block;
  position: relative;
  width: 20px;
  height: 14px;
  transition: all 0.3s ease-in-out;
}
.navi-area .slick-prev::before,
.navi-area .slick-next::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #CCCCCC;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
}
.navi-area .slick-prev::after,
.navi-area .slick-next::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 9px;
  height: 9px;
  border-top: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s ease-in-out;
}
.navi-area .slick-prev:hover::before,
.navi-area .slick-next:hover::before {
  right: -7px;
  width: calc(100% + 7px);
}
.navi-area .slick-prev:hover::after,
.navi-area .slick-next:hover::after {
  right: -7px;
}

.navi-area .slick-prev img,
.navi-area .slick-next img {
  display: none;
}

.navi-area .slick-prev {
  transform: scale(-1, 1);
  left: 0;
}

.navi-area .slick-next {
  transform: unset;
}

.slick__prev,
.slick__next {
  border: none;
  background: transparent;
  position: absolute;
  top: -71px;
  z-index: 1;
  display: inline-block;
  width: 20px;
  height: 14px;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.slick__prev::before,
.slick__next::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #CCCCCC;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  transition: all 0.3s ease-in-out;
}
.slick__prev::after,
.slick__next::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 9px;
  height: 9px;
  border-top: 1px solid #CCCCCC;
  border-right: 1px solid #CCCCCC;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.3s ease-in-out;
}
.slick__prev:hover::before,
.slick__next:hover::before {
  right: -7px;
  width: calc(100% + 7px);
}
.slick__prev:hover::after,
.slick__next:hover::after {
  right: -7px;
}

.slick__prev {
  /* (インナー幅の右端) + (画像のマージン + ボタンの大きさ + ボタンとの間隔) */
  right: calc(100vw - 100% + 52px);
  transform: scale(-1, 1);
}
.slick__prev:hover {
  transform: scale(-1, 1);
}

.slick__next {
  /* (インナー幅の右端) + (画像のマージン) */
  right: calc(100vw - 100% + 0px);
}

.slick__images .slick__image {
  position: relative;
  width: 470px;
  height: 100% !important;
  aspect-ratio: 470/330;
  overflow: hidden;
  margin-right: 15px;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
}

.slick__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 768px){
  .mv {
    min-height: 800px;
    background: url("../img/top/mv_pc.jpg") center top/cover no-repeat;
  }
  .top01 {
    background: url("../img/top/top01_bg.jpg") center top/cover no-repeat;
  }
  .top02__item {
    display: flex;
    padding-block: 5em 3em;
  }
  .top02__headingCol {
    width: 26.5%;
    padding-block: 96px 0;
  }
  .top02__slideContainer {
    width: 73.5%;
  }
  .top02__linkItem {
    max-width: 126px;
  }
  .top03__topArea {
    background: url("../img/top/top03_bg.jpg") center top/cover no-repeat;
  }
  .top03__wrap {
    transform: translateX(0);
    margin: -107px auto 0;
  }
  .top03__linkItem {
    max-width: 126px;
  }
  .top03__slideLink:hover .linkSingleParts::before {
    right: -5px;
    width: 19px;
  }
  .top03__slideLink:hover .linkSingleParts::after {
    right: -5px;
  }
  .top03__btnInner {
    width: 96%;
  }
  .top05 {
    padding-top: 39.5%;
    background-image: url("../img/top/top05_bg.jpg");
    background-position: center top;
    background-size: 100%;
    background-repeat: no-repeat;
    background-color: #000000;
  }
  .top05__item {
    flex-direction: row;
    align-items: center;
  }
  .top05__img {
    width: 50%;
    margin-left: 0;
  }
  .top05__mvTexts {
    font-weight: 700;
    line-height: 2.46;
  }
 .top05__mvTexts > span {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  }
  .top05__mvTexts__line {
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: #FFFFFF;
	margin-inline: 11px 13px;
  }
 /*
 .top05__mvTexts__font {
  font-size: 23px;
  }*/

  .top06 #top06 {
    width: 100%;
    flex-direction: row;
    align-items: center;
    padding-right: 2%;
  }
  .top06__img {
    width: 65%;
  }
  .top06__texts {
    max-width: 322px;
    width: 100%;
    margin: 0;
  }
  .top07__cols {
    display: flex;
  }
  .top07__head {
    margin-top: -6px;
    min-width: 24.2%;
    max-width: 24.2%;
  }
  .top07__posts {
    min-width: 75.8%;
    max-width: 75.8%;
    margin-top: 0;
  }
  .top07__post {
    padding-block: 43px 45px;
  }
  .top07__title {
    flex: 1;
  }
  .top08__cols {
    display: flex;
  }
  .top08__head {
    min-width: 24.2%;
    max-width: 24.2%;
  }
  .top08__body {
    min-width: 75.8%;
    max-width: 75.8%;
    margin-top: 0;
  }
  .top09 #top09 {
    width: 100%;
    flex-direction: row;
    align-items: center;
    padding-right: 2%;
  }
  .top09__img {
    width: 65%;
  }
  .top09__texts {
    max-width: 344px;
    width: 100%;
    margin: 0;
  }
  .top09__linkWrap {
    max-width: none;
    width: 100%;
    margin-left: 0;
  }
  .top11 {
    background: url("../img/top/top11_bg.jpg") center top/cover no-repeat;
  }
  .top12 #top12 {
    width: 100%;
    flex-direction: row;
    align-items: center;
    padding-right: 2%;
  }
  .top12__img {
    width: 65%;
  }
  .top12__texts {
    max-width: 344px;
    width: 100%;
    margin: 0;
  }
  .top12__linkWrap {
    max-width: none;
    width: 100%;
    margin-left: 0;
  }
  /***  メインビジュアル　フェード  ***/
  #top01,
  #top02,
  #top03,
  #top04,
  #top05,
  #top06,
  #top07,
  #top08,
  #top09,
  #top10,
  #top11,
  #top12,
  #top13,
  #top14,
  #top15 {
    width: 96%;
  }
  /**** メインコンテンツ　****/
  .slick__container--mTop {
    margin-top: 156px;
  }
  .slick__images.slick__images05 .slick__image {
    margin-right: 39px;
  }
  .slick__images.slick__images06 .slick__image {
    margin-right: 39px;
  }
  .slick__images.is-single {
    display: block;
  }
  .slick__images .slick-list {
    overflow: hidden;
  }
  .navi-area06 {
    display: flex;
  }
  .slick__images .slick__image {
    margin-right: 30px;
  }
}

@media (min-width: 1024px){
  /**** メインコンテンツ　****/
}

@media (min-width: 1080px){
  #mv {
    padding-inline: 12.25% 5%;
    padding-bottom: 17%;
  }
}

@media (min-width: 1200px){
  .top06__texts {
    padding-bottom: clamp(0px, 6.5vw, 104px);
  }
  .top09__texts {
    padding-bottom: clamp(0px, 6.5vw, 104px);
  }
  #top01,
  #top02,
  #top03,
  #top04,
  #top05,
  #top06,
  #top07,
  #top08,
  #top09,
  #top10,
  #top11,
  #top12,
  #top13,
  #top14,
  #top15 {
    max-width: 1200px;
    padding: 40px 0;
  }
  /**** メインコンテンツ　****/
}

@media (min-width: 1255px){
  .top11__map {
    width: calc((100vw - 1200px) / 2 + 100%);
  }
}

@media (min-width: 1400px){
  .top02__linkItem {
    margin-right: calc((100% - 100vw) / 2 * 0.25);
  }
  .top02__linkBox {
    margin-right: calc((100% - 100vw) / 2 * 0.44);
  }
  .top03__wrap {
    transform: translateX(6vw);
  }
  .top03__linkBox {
    margin-right: calc((100% - 100vw) / 2 * 0.44);
  }
  .top05__linkBox {
    margin-right: calc((100% - 100vw) / 2 * 0.44);
  }
  .top07__linkBox {
    margin-right: calc((100% - 100vw) / 2 * 0.44);
  }
  .top08__linkBox {
    margin-right: calc((100% - 100vw) / 2 * 0.44);
  }
  /*メインコンテンツ*/
}