/*コメント*/
.white, .white a, .white a:hover, .white a:hover:after{color:#fff;text-decoration:none;}

.black, .black a, .black a:hover, .black a:hover:after{color:#151515;text-decoration:none;}

/*slick-slider*/
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}
/*end*/
.fade-in-element {
    opacity: 0;
    transform: translateY(120px);
    transition: opacity 5s ease, transform 1s ease;
}

.fade-in-element.visible {
    opacity: 1;
    transform: translateY(0);
}

        
@media screen and ( max-width: 768px ) {
.grid-wrapper {aspect-ratio:3000/1250;
  display: grid;
  grid-template-areas: "content";
}
.grid-wrapper2 {aspect-ratio:800/2000;
  display: grid;
  grid-template-areas: "content";
}

.overlay-text {width:100%;height:100%;
  grid-area: content;
  z-index: 10; /* スライダーより前面に表示 */
  align-self: center;
  justify-self: center;
  background-color: rgba(255,255,255,0.5);
            background-blend-mode: overlay;
}
/*gsap-slide*/
.slider-gsap{grid-area: content;}

.slider-gsap {aspect-ratio:800/2000;
    width: 100%;
    overflow: hidden;
}

.slider-row {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

.slider-track {
    display: flex;
    width: fit-content;
}

.gsapslide {
    width:30%;
    height:auto;
    margin: 0 10px;
    flex-shrink: 0;
}

.gsapslide img {
    width: 100%;
    height:auto;
    
    
}
/*end*/
.embed{width:95%;margin:0 auto;}

.embed iframe.youtube-16-9 {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}

.between-left-s{margin:0 0 0 1.5%;}
.carousel-container,.carousel-container-a,.carousel-container-b,.carousel-container-c,

.carousel-container-d {
    position: relative;
    width: 100%;
}

.carousel img,.carousel-a img,.carousel-b img,.carousel-c img,

.carousel-d img {padding:0 2.5%;
    width: 100%;
    height: auto;
}

.custom-arrow,.custom-arrow-a,.custom-arrow-b,.custom-arrow-c,.custom-arrow-d {
    position: absolute;
    top: -90px;font-size:1em;font-weight:200;
    right: 30px;
    z-index: 1;
}

.custom-arrow button,.custom-arrow-a button,

.custom-arrow-b button,.custom-arrow-c button,.custom-arrow-d button {
    background: rgba(255, 255, 255, 0.0);
    color: #fff;
    border: 2px solid #fff;
    padding: 20px;
    margin-left: 5px;
    cursor: pointer;
    border-radius:50%;
}

.custom-arrow button:hover,.custom-arrow-a button:hover,

.custom-arrow-b button:hover,.custom-arrow-c button:hover,.custom-arrow-d button:hover {
    background: rgba(0, 0, 0, 0.2);
}


/**/
/*30%left-70%right*/
.slick-container {
	position:relative;
        display: flex;
        width: 100%;
	flex-direction: column;
    	justify-content: flex-start;
        margin: 0 auto;
        }
        
        
        
        .right-content {
            width: 100%;
            padding: 0px;
            box-sizing: border-box;
	    display: flex;
    flex-direction: column;
    justify-content: flex-start;align-items:stretch;
        }
        
        .right-slick img{  width: 100%;
            height: auto;
        }

        .left-content {
    width: 100%;margin:auto 5%;white-space:nowrap;
    padding:50% 0% 0 0%;
    box-sizing: border-box;
    position: relative;
    /* 追加：flexboxの設定 */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* 高さを設定して全体の位置を制御 */
    height: 100%;
}

.text-content {
    /* テキストコンテンツ用のスタイル */
    margin-bottom: 20px;
}

.thumb-arrow {z-index:10;
    /* 位置指定を変更 */
    position: absolute;
    /*width: 100%;*/
    /* 余白調整 */
    margin:0 5% 0px 5%;
    padding-top:60%;
    /* ボタンの配置調整 */
    display: none;
    gap: 10px;
}

.thumb-arrow .prev,
.thumb-arrow .next {
    background: transparent;
    color: #fff;
    padding: 30px 30px;
    cursor: pointer;
    border: 1px solid #fff;
    border-radius: 50%;
    transition: background 0.3s;
    /* ボタンのサイズ調整 */
    flex: 1;
    text-align: center;
}

.thumb-arrow .prev:hover,
.thumb-arrow .next:hover {
    background: rgba(255,255,255,0.3);
}

        /* 既存の矢印を非表示 */
        .slick-prev,
        .slick-next {
            display: none !important;
        }
.slick-content {
            padding: 15px;
            display: flex;
            flex-direction: column;
            align-items: stretch;
        }
/**/


/**/
.sub_contents{width:95%;margin:0 auto;}

.between-left-L{margin:0 0 0 10%; }

.pc{display:none;}

.sp{display:block;}

.post-loop-wrap article {color:#151515;
width: 100%;
height:auto;
overflow-y:hidden;
margin: 0px 0% 30px 0%;
padding:0px;
float:none;}

.wrap-flex,wrap-flex-3{
	display:flex;
	flex-direction:column;
	
}

.item-flex-3,.item-flex-7, .item-flex-5,.item-flex-10{
	/*padding:30px;*/
	width:100%;
	/*background-color:#acacac;
	border-radius:15px;border:solid 3px #f00;*/
}

/**/
.wrap-flex-next{
	display:flex;
	flex-direction:column;
	align-items:center;
}

.item-flex-next{
        position: relative;
  	margin-top: 1em;
  	padding: 1em 2em;
  	/*border: 1px solid black;*/
	padding:30px;
	width:100%;
	background-color:#FFFFFB;
        display:flex;
        flex-direction:column;
	border-top-left-radius:30px;
}
.caption-next{
  position: absolute;
  top: 0;
  right: 0;
  font-weight:bold;
  font-size: 3em;
  padding: 0.25em 0.5em;
  margin:0;color:#8BC8FF;
  background:#FFFEF2;
  border-radius:50%;
  transform: translateY(-50%) translateX(-10%);
}
/**/
/*end*/

.container-z,.container-z-2 {
  /*display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  grid-gap: 32px 0;*/
}

.container-reverse{
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    grid-gap: 0px 0px;margin-top:15vh;
  }

.main_copy,

.main_copy-reverse, .main_copy-up,.main_copy-reverse-up-margin

{display:flex;
  justify-content: center;flex-direction: column;
  align-items: center;
  text-align:left;}

.main_copy-reverse-fixed {white-space:nowrap;
    grid-column: 7 / -1;
    grid-row: 1;
    align-self: center;
    z-index: 2;
  }

.main_copy-fixed {white-space:nowrap;
    grid-column: 4 / 10;
    grid-row: 1;
    align-self: center;
    z-index: 2;
  }

.main_copy-up-fixed{white-space:nowrap;
    
    grid-column: 4 / -4;
    grid-row: 1;
    align-self: center;
    z-index: 2;


 }
.main_copy-reverse-up-fixed{white-space:nowrap;
    
    grid-column: -4 / 4;
    grid-row: 1;
    align-self: center;
    z-index: 2;
 }

.main_img,.main_img-reverse{display:contents;margin:2% auto;}

.main_img-fixed {
    grid-column: 5 / -1;
    grid-row: 1;
    z-index: 1;
  }
.main_img-reverse-fixed {
    grid-column: 1 / -5;
    grid-row: 1;
    z-index: 1;
  }

.only-pc{content-visibility:hidden;}

.only-sh{display:contents;}

.back_world01{background:url("../img/index01_MS.jpg") no-repeat;

aspect-ratio: 800 /1250 ;background-position:center center;

background-size:100%;justify-self: stretch;
  grid-column-start: 1;
  grid-row-start: 1;/*background-color: rgba(255,255,255,0.5);

background-blend-mode: overlay;*/}

.back_world02{background:url("../img/index08_s.jpg") no-repeat;

aspect-ratio: 800 /1000 ;background-position:center center;

background-size:100%;justify-self: stretch;
  grid-column-start: 1;
  grid-row-start: 1;background-color: rgba(0,0,0,0.5);

background-blend-mode: overlay;}

.back_contact01{background:url("../img/index31_MS.jpg") no-repeat;

aspect-ratio: 800 /1250 ;background-position:center center;

background-size:100%;justify-self: stretch;
  grid-column-start: 1;
  grid-row-start: 1;background-color: rgba(0,0,0,0.5);

background-blend-mode: overlay;}

.glass-clear {
  width: 100%;
  padding:15px;
  background-color:rgba(255,255,255,0.5); 
}

.glass {margin:0 auto;
  width: 100%;
  max-width: 95%;
  padding: 10px;
  background-color:#fff; /* 背景色 */
  /*border: 1px solid rgba(164,164,157,1.0);ボーダー */
  /*-moz-backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px); 
  backdrop-filter: blur(20px);
  box-shadow: 0 5px 20px rgba(255, 152, 79, 0.5);*/ /* 薄い影 */
}

.glass2 {margin:0 auto;
  width: 100%;
  max-width: 95%;border:1px solid #eee;
  padding: 10px;border-radius:25px;
  background-color:rgba(139,200,255,0.8); /* 背景色 */
  
}

.glass-black {
  width: 100%;
  
  padding:10px 15px;
  background-color:rgba(0,0,0,0.5);
}
.glass-white {
  width: 100%;
  border-radius:10px;
  padding:10px 15px;
  background-color:rgba(255,255,255,0.5);
}
.glass-white2 {border:1px solid #000;
  width: 100%;
  border-radius:12.5px;
  padding:5px 3.5px;
  background-color:rgba(255,255,255,1.0);
}

.glass-border {border:1px solid #000;
  width: 100%;
  border-radius:10px;
  padding:10px 10px;
  background-color:trasparent;
  min-height:100vh;
}
/*end*/


}

@media screen and ( min-width: 769px ) {

.grid-wrapper {aspect-ratio:3000/1688;
  display: grid;
  grid-template-areas: "content";
}
.grid-wrapper2 {aspect-ratio:3000/2500;
  display: grid;
  grid-template-areas: "content";
}

.overlay-text {width:100%;height:100%;
  grid-area: content;
  z-index: 10; /* スライダーより前面に表示 */
  align-self: center;
  justify-self: center;
  background-color: rgba(255,255,255,0.5);
            background-blend-mode: overlay;
}
/*gsap-slide*/
.slider-gsap{grid-area: content;}

.slider-gsap {aspect-ratio:3000/2500;
    width: 100%;
    overflow: hidden;
}

.slider-row {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

.slider-track {
    display: flex;
    width: fit-content;
}

.gsapslide {
    width:30%;
    height:auto;
    margin: 0 10px;
    flex-shrink: 0;
}

.gsapslide img {
    width: 100%;
    height:auto;
    
    
}
/*end*/
.embed{width:60%;margin:0 auto;}

.embed iframe.youtube-16-9 {
width: 100%;
height: auto;
aspect-ratio: 16 / 9;
}

.between-left-s{margin:0 0 0 3%;}
 
.carousel-container,.carousel-container-a,.carousel-container-b,.carousel-container-c,.carousel-container-d {
    position: relative;
    width: 100%;
}

.carousel img,.carousel-a img,.carousel-b img,.carousel-c img,.carousel-d img {padding:0 2.5%;
    width: 100%;
    height: auto;
}

.custom-arrow,.custom-arrow-a,

.custom-arrow-b,.custom-arrow-c,.custom-arrow-d {
    position: absolute;
    top: -90px;font-size:1em;font-weight:200;
    right: 30px;
    z-index: 1;
}

.custom-arrow button,.custom-arrow-a button,

.custom-arrow-b button,.custom-arrow-c button,.custom-arrow-d button{
    background: rgba(255, 255, 255, 0.0);
    color: #fff;
    border: 2px solid #fff;
    padding: 30px;
    margin-left: 5px;
    cursor: pointer;
    border-radius:50%;
}

.custom-arrow button:hover,.custom-arrow-a button:hover,

.custom-arrow-b button:hover,.custom-arrow-c button:hover,.custom-arrow-d button:hover {
    background: rgba(0, 0, 0, 0.2);
}


/*30%left-70%right*/
.slick-container {
    position: relative;
    display: flex;
    width: 100%;
    flex-direction: row; /* columnからrowに変更 - 左右に並べる */
    justify-content: space-between; /* 左右のコンテンツを適切に配置 */
    margin: 0 auto;
}

.left-content {
    width: 30%; /* 左コンテンツの幅を調整 */
    padding: 0;
    box-sizing: border-box;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center; /* 中央揃えに変更 */
    align-items: center; /* 中央揃えに変更 */
}

.right-content {
    width: 70%; /* 右コンテンツの幅を調整 */
    padding: 0px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
}

.right-slick img {
    width: 100%;
    height: auto;
}

.text-content {
    margin-bottom: 20px;
}

.thumb-arrow {
    z-index: 10;
    position: relative; /* absoluteから相対位置に変更 */
    width: 100%; /* 幅を設定 */
    display: flex;
    gap: 10px;
    justify-content: center; /* ボタンを中央に配置 */
    margin: 20px 0; /* マージン調整 */
    padding-top: 0; /* 不要なパディングを削除 */
}

.thumb-arrow .prev,
.thumb-arrow .next {
    font-size: 1.5em; /* 矢印のサイズを少し大きくして見やすく */
    background: transparent;
    color: #fff;
    cursor: pointer;
    border: 1px solid #fff;
    border-radius: 50%;
    transition: background 0.3s;
    width: 90px; /* ボタン幅維持 */
    height: 90px; /* ボタン高さ維持 */
    
    /* 内部の矢印を完全に中央に配置 */
    display: flex;
    justify-content: center;
    align-items: center; /* endからcenterに変更して中央配置 */
    
    /* paddingを削除して、代わりにlayout関連の設定で対応 */
    padding: 0;
    
    /* オプション：line-heightを設定して垂直方向の位置調整を細かく行う */
    line-height: 1;
    
    /* テキストの位置を少し調整したい場合はこちらも */
    text-align: center;
    vertical-align: middle;
}

.thumb-arrow .prev:hover,
.thumb-arrow .next:hover {
    background: rgba(255,255,255,0.3);
}

/* 既存の矢印を非表示 */
.slick-prev,
.slick-next {
    display: none !important;
}

.slick-content {
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
/**/
.sub_contents{width:50%;margin:0 auto;}

.between-left-L{margin:0 0 0 15%; }

.post-loop-wrap article {
width: 32%;
height:auto;
overflow-y:hidden;
margin: 0px 0% 0px 0.2%;
padding:0.2%;
float:left;}

.pc{display:contents;}

.sp{display:none;}

.wrap-flex-next{
	display:flex;
	justify-content:center;
	align-items:stretch;
}

.item-flex-next{
        position: relative;
  	margin-top: 1em;
  	padding: 1em 2em;
  	/*border: 1px solid black;*/
	padding:30px;
	width:30%;margin:0 2%;
	background-color:#FFFFFB;
        display:flex;
        flex-direction:column;
	border-top-left-radius:30px;
}

.item-flex-next .caption-next, .float-left .caption-next,.float-left-half.caption-next{
  position: absolute;
  top: 0;
  right: 0;
  font-weight:bold;
  /*font-size: 1em;*/
  padding: 0.25em 0.5em;
  margin: 0;color:#8BC8FF;font-size:3em;
  background:#FFFEF2;
  border-radius:50%;
  transform: translateY(-50%) translateX(25%);
}
/**/
.wrap-flex{
	display:flex;align-items: flex-start;
	/*justify-content:space-between;*/
	/*align-items:stretch;*/
}

.wrap-flex-5-reverse,.wrap-flex-reverse{display:flex;
	/*justify-content:space-between;*/
	/*align-items:stretch;*/align-items: flex-start;
	flex-direction: row-reverse;
}

.wrap-flex-3{display:flex;align-items:stretch;}

.archive-ttl {flex-grow: 1;}

.card-btn{align-self: flex-start;}

.item-flex-3{
	/*margin-top: 1em;
  	padding: 1em 2em;
	padding:30px;*/
	width:30%;/*margin:0 2%;
	background-color:#acacac;
	border-radius:15px;border:solid 3px #f00;*/
}
.item-flex-7{
	
	width:65%;/*margin:0 2%;
	background-color:#fff;
	border-radius:10px;*/
}

.item-flex-5{/*display:flex;
	flex-direction:column;
	align-items:start;*/
	width:45%;/*margin:0 2%;
	background-color:#fff;
	border-radius:10px;*/
}
.archive-ttl {margin: 0; /* 余計なマージンを取り除く */
      flex-grow: 1;}

.flex-btn{align-self: center;}

.item-flex-10{width:100%;}

/*end*/

.only-sh{display:none;}

.only-sh a{display:none;}

.only-pc{visibility:visible;}

   .container-z {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    grid-gap: 0px;
  }
  .container-z-3 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows:auto auto;
    grid-gap: 0px;
  }
  .main_copy,.main_copy-fixed {
    grid-column: 1 / 7;
    grid-row: 1;
    align-self: center;
    z-index: 2;
  }
  
  .main_img, .main_img-fixed {
    grid-column: 5 / -1;
    grid-row: 1;
    z-index: 1;
  }
  .main_img-reverse,.main_img-reverse-fixed {
    grid-column: 1 / -5;
    grid-row: 1;
    z-index: 1;
  }

.container-z-2 {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows:1fr;
    grid-gap:0em 0em;
  }

.container-reverse{
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    grid-gap: 0px 0px;margin-top:15vh;
  }

  .main_copy-reverse,.main_copy-reverse-fixed {
    grid-column: 7 / -1;
    grid-row: 1;
    align-self: center;
    z-index: 2;
  }
  .main_copy-up,.main_copy-up-fixed{
    
    grid-column: 4 / -4;
    grid-row: 1;
    align-self: center;
    z-index: 2;


 }
 .main_copy-reverse-up,.main_copy-reverse-up-fixed{
    
    grid-column: -4 / 4;
    grid-row: 1;
    align-self: center;
    z-index: 2;
 }
 .main_copy-reverse-up-end{
    
    grid-column: 5 / 13;
    grid-row: 2;
    align-self:start;
    
    z-index: 2;
 }

.back_world01{background:url("../img/index01_LL.jpg") no-repeat;

aspect-ratio: 3000 /1688 ;background-position:center center;

background-size:100%;justify-self: stretch;
  grid-column-start: 1;
  grid-row-start: 1;}

.back_world02{background:url("../img/index08_L.jpg") no-repeat;

aspect-ratio: 3000 /1250 ;background-position:center center;

background-size:100%;justify-self: stretch;
  grid-column-start: 1;
  grid-row-start: 1;background-color: rgba(0,0,0,0.5);

background-blend-mode: overlay;}

.back_contact01{background:url("../img/index31_LL.jpg") no-repeat;

aspect-ratio: 3000 /1688 ;background-position:center center;

background-size:100%;justify-self: stretch;
  grid-column-start: 1;
  grid-row-start: 1;background-color: rgba(0,0,0,0.5);

background-blend-mode: overlay;}

.glass-clear {
  width: 100%;
  padding:15px;
  background-color:rgba(255,255,255,0.5); 
}

.glass {margin:0 auto;
  width: 100%;
  max-width: 95%;
  padding: 10px;
  background-color:#fff; /* 背景色 */
  /*border: 1px solid rgba(164,164,157,1.0);ボーダー */
  /*-moz-backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px); 
  backdrop-filter: blur(20px);
  box-shadow: 0 5px 20px rgba(255, 152, 79, 0.5);*/ /* 薄い影 */
}
.glass2 {margin:0 auto;
  width: 100%;
  max-width: 95%;border:1px solid #eee;
  padding: 10px;border-radius:25px;
  background-color:rgba(139,200,255,0.8); /* 背景色 */
  
}

.glass-black {
  width: 100%;
  
  padding:10px 15px;
  background-color:rgba(0,0,0,0.5);
}
.glass-white {
  width: 100%;
  border-radius:10px;
  padding:40px 15px;
  background-color:rgba(255,255,255,0.5);
}

.glass-white2 {border:1px solid #000;
  width: 100%;
  border-radius:25px;
  padding:20px 15px;
  background-color:rgba(255,255,255,1.0);
}

.glass-border {border:0.5px solid #303030;
  width: 100%;
  border-radius:10px;
  padding:20px 20px;
  background-color:rgba(255,255,255,0.7);
  
}
/*end*/

}