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

html { scroll-behavior: smooth;}

.yuji-syuku-regular {
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  font-style: normal;
}


h2{ padding:0; margin:0px auto 25px auto; border:0px; text-align:center; background:url(images/line_dotted.gif) repeat-x top; position:relative;}
.h2_tibet{ background: none; font-size: 250%; font-weight: bold; color: #fff; display: block; margin: 0 auto; position: relative;}
.h2_01{ margin-top:100px;}


h3{ 
    font-size:19px;
    margin: 5px 0px;
}



.h2_tibet{ background: none; font-size: 440%; font-weight:500; color: #fff; display: block; position: absolute;top:25%; left: 38%; line-height: 110%;
font-family:'nitalago-ruika', 'Yantramanav', sans-serif;
}
.h2_tibet .stxt{font-size: 40% !important;}
.h2_tibet .txt_tibet{font-family: "Times New Roman", Times, "serif"; font-family: "dunhill-script", sans-serif;
font-weight: 100; font-size: 60% !important;  }


/*==================================================
スライダー
===================================*/

.tibet-img-box{
  width: 100%;
  height: 30vw;
  overflow: hidden;
  position: relative;
  z-index: 10;
}
.tibet-img-box>div{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30vw;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 10;
  opacity: 0;
  animation-name: fade;
  animation-duration: 15s;
  animation-iteration-count: infinite;
}
@keyframes fade {
  0%{
    opacity: 0;
  }
  20%{
    opacity: 1;
  }
  80%{
    opacity: 0;
    transform: scale(1.2);
  }
  100%{
    opacity: 0;
    z-index: 0;
  }
}
/* スライド1 */
.tibet-img-box>div:first-of-type{
  background-image: url(images/slide02w.jpg);
}

/* スライド2 */
.tibet-img-box>div:nth-of-type(2){
  background-image: url(images/slide01w.jpg);
  /* 追記 */
  animation-delay: 10s;
}

/* スライド3 */
.tibet-img-box>div:last-of-type{
  background-image: url(images/slide03w.jpg);
  /* 追記 */
  animation-delay: 15s;
}




@media screen and (max-width: 960px) {
    
  .tibet-img-box{
  max-width: 100%;
  height: 50vw;
    }
    
  .tibet-img-box>div{
  max-width: 100%;
  height: 50vw;
    }
}


@media screen and (max-width: 640px) {
    
  .tibet-img-box{
  max-width: 100%;
  height: 65vw;
    }
    
  .tibet-img-box>div{
  max-width: 100%;
  height: 65vw;
    }
}
    
    
    

/*==================================================
タイトル
===================================*/

.tibet-slider {
    position: relative;
    text-align: center;
}

.tibet-title {
    position: absolute;
    width: 100%;
    z-index: 1000;
    top: 120px;
    text-align: center;
}

.tibet-title span { 
    font-family: "Yuji Syuku", serif;
    color: white;
    font-size: clamp(10px, 1.6vw, 18px);
    text-shadow:
        1px 1px 2px #888888,
        0 0 1em #888888,
        0 0 0.2em #888888;
}

.tibet-title h1 {
    font-family: "Yuji Syuku", serif;
    color: white;
    font-weight: 400;
    font-size: clamp(36px, 5.5vw, 70px);
    text-shadow:
        1px 1px 2px #888888,
        0 0 1em #888888,
        0 0 0.2em #888888;
}

.tibet-title p {
   font-family: "Yuji Syuku", serif;
   color: white;
   font-size: clamp(16px, 1.8vw, 30px);
    text-shadow:
        1px 1px 2px #888888,
        0 0 1em #888888,
        0 0 0.2em #888888;
}



@media screen and (max-width: 1200px) {
    
.tibet-title {
    top: 70px;
}
}

@media screen and (max-width: 960px) {
    
.tibet-title {
    top: 140px;
}
}
    
@media screen and (max-width: 640px) {
    
.tibet-title {
    top: 80px;
}
}






.bg_tibet {
	background-image:url(images/bg_tashi.gif);
	background-repeat:repeat-y;
	padding:0px 0px 30px 0px;
	margin-top:-55px;
	background-position:center;
 }


.sub_title {
    padding-top: 80px ;
    padding-bottom: 40px ;
    font-family: "Yuji Syuku", serif;
 　 font-weight: 400;
    font-size: 320%;    
    text-align: center;
    background-image: url(images/endressknot.png);
    background-blend-mode:lighten;
    background-size: auto auto;
    background-repeat: no-repeat;
    background-position: center bottom;
}

.sub_title p {
    font-size: 35%;
    font-weight: 200; 
    color: #2F8D9B;     
    text-align: center ;
}


a.anchor{
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}


 .food-icon {
     text-align: center;
     padding-top: 8px;
}


 .food-icon:before {
  content: url("images/icon_food.gif");
  display: inline-block;
}



.tibet_tour {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-weight: 400;
    max-width: 860px;
    margin: -40px auto 30px auto;
    padding: 70px 20px 20px 20px;
    line-height: 22px;
}

@container tibet_contents (width < 860px) {
    
.h2_tibet {
    font-size: 380%;
    padding: 0 auto;
    position: static;
    line-height: 110%;
    margin-top: 30px;
}
    

    }
    





/*navi*/



.tibet_navi{
    container: tibet_navi / inline-size;
    resize: horizontal;
    width: 100%;
    position: -webkit-sticky;    
    position: sticky;
    top: -1px;
    padding-bottom: 2px;
    z-index: 100;
}

.unavi { 
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  font-style: normal;
  display: flex;
  flex-wrap: wrap;
  margin:0 auto ;
  list-style: none;
  letter-spacing: 0.05em;
  font-size: 16px;
  width: 100%;
}

     
@container tibet_navi (width < 860px) {
.unavi {
    font-size: 12px;
    top: 10px;
}
}
     


.unavi li+li{
    position: relative;
}
.unavi li+li::before{
    content: "";
    display: block;
    height: 80%;
    border-left: 1px solid #69C0C6;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
.unavi li a{
    display: block;
    text-decoration: none !important;
    color: #fff;
}
.unavi li{
    width: 14.28%;
    text-align: center;
    padding: 10px 0px;
    background-color: #2F8D9B;
}
.unavi li:hover{
       opacity: 0.8;
    }

.unavi-arrow{
    display: block;
    font-family: "Calibri","Candara","Arial","sans-serif";
    font-size: 70%;
}
 





.tibet_contents {
    container: tibet_contents / inline-size;
    resize: horizontal;
    width: 95%;
    max-width: 1500px;
    margin: 0 auto;
    text-align: center;
    font-family:"メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    box-sizing: content-box;
}



ul.sp360 {
    list-style-type: none;
	padding-left: 0;
    text-align: center;
}

ul.sp360 li{
    display: inline;    
}


ul.sp360 li iframe {
width: 700px;
height: 480px;
    }





.tibet_contents_text {
    max-width: 900px;
    font-size: 135%;
    text-align: justify;
    margin: 0 auto;
    padding-top: 10px;
}

.tibet_contents_text_s {
    max-width: 800px;
    font-size: 110%;
    text-align: justify;
    margin: 0 auto;
    padding-top: 10px;
}

.tibet_contents_text_center {
    max-width: 800px;
    font-size: 115%;
    text-align: justify;
    margin: 0 auto;
    padding-top: 10px;
    text-align: center;
    z-index: 1000;
}


.text_photo {
    float: left;
    width: 48%;
    padding-top: 30px;
    margin: 0 auto;
    display: inline-block;
    vertical-align: top; 
}


.text_photo_htl {
    max-width: 460px;
}


.text_photo_3 {
    max-width: 380px;
    min-width: 300px;
    padding: 30px 10px 10px 10px;
    margin: 0 auto;
    display: inline-block;
    vertical-align: top;  
}

.text_photo_3 h5 {
    margin-top: -30px;
}

.text_photo_3 h3 {
    color: #2F8D9B;
}


.info_season {
    display: grid;
    max-width: 900px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows:  max-content max-content;
    gap: 20px;
    margin: 30px auto 0 auto;
    font-size: 135%;
    text-align: justify;
    
}

.info_season_item1 {
    grid-column: 1;
    grid-row: 1;
}

.info_season_item2 {
    grid-column: 2;
    grid-row: 1;
}


.info_season_item3 {
    grid-column: 1 / 3;
    grid-row: 2;
}



.info_dining {
    display: grid;
    max-width: 900px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows:  max-content;
    gap: 20px;
    margin: 30px auto 0 auto;
    font-size: 135%;
    text-align: justify;
    
}

.info_dining_item1 {
    grid-column: 1;
    grid-row: 1;
}

.info_dining_item2 {
    grid-column: 2;
    grid-row: 1;
}


.info_dining_item3 {
    grid-column: 1;
    grid-row: 2;
}

.info_dining_item4 {
    grid-column: 2;
    grid-row: 2;
}


.info_dining_item5 {
    grid-column: 1;
    grid-row: 3;
}


.info_dining_item6 {
    grid-column: 2;
    grid-row: 3;
}







.info_faq {
    display: grid;
    max-width: 800px;
    grid-template-columns: 1fr;
    grid-template-rows:  max-content;
    gap: 20px;
    margin: 30px auto 0 auto;
    font-size: 135%;
    text-align: justify;
    
}

.info_faq_item1 {
    grid-column: 1;
    grid-row: 1;
}
.info_faq_item2 {
    grid-column: 1;
    grid-row: 2;
}

.info_faq_item3 {
    grid-column: 1;
    grid-row: 3;
}

.info_faq_item4 {
    grid-column: 1;
    grid-row: 4;
}
.info_faq_item5 {
    grid-column: 1;
    grid-row: 5;
}
.info_faq_item6 {
    grid-column: 1;
    grid-row: 6;
}
.info_faq_item7 {
    grid-column: 1;
    grid-row: 7;
}
.info_faq_item8 {
    grid-column: 1;
    grid-row: 8;
}
.info_faq_item9 {
    grid-column: 1;
    grid-row: 9;
}
.info_faq_item10 {
    grid-column: 1;
    grid-row: 10;
}





@container (max-width: 860px)  {

   
.tibet_contents ul.sp360 li iframe {
width: 375px;
height: 250px;
    }
 
    
    .info_season {
    grid-template-columns: 1fr;
    grid-template-rows:  max-content max-content max-content;
}
    
 .info_season_item1 {
    grid-column: 1;
    grid-row: 1;
}

.info_season_item2 {
    grid-column: 1;
    grid-row: 2;
}


.info_season_item3 {
    grid-column: 1;
    grid-row: 3;
}

    
.text_photo {
width: 100%;
float: none;
    }
}

@container (min-width: 860px)  {
    
.text_photo_left{
    padding-right: 30px;
}
}


.tool_img {
   float: left;
   padding-right: 10px;
}



.bg_midokoro {
    height: 210px;
    text-align: center;
    margin-top: 60px;
    background: url(images/bg_animal.png) center top no-repeat;
}


.htl_sub_title {
    text-align:center;
    margin:60px 0px 15px 0px;
    overflow: auto;
    color:#333;
    font:20px 'メイリオ';
    font-weight:bold;
    border-bottom:3px #333 solid;
    display: inline-block;
}



.htl_photo{
	max-width: 460px;
	background:url(images/slide_bk.png);
	padding:30px 30px;
	text-align:center;
	vertical-align: central;
}

.htl_data {
    max-width: 99%;
    margin: 25px auto;
}


.tibet_contents_htl {
    resize: horizontal;
    max-width: 960px;
    margin: 0 auto;
    text-align: center;
}

@container (max-width: 860px)  {
.tibet_contents_htl {
transform: scale(0.8, 0.8);
margin-left: -38px;    
    }
 }     



.box_hotel_container {
    float: left;
}

.box_hotel_container h4{ 
    font-size:14px; 
    padding:10px 0px 5px 0px; 
    color:#333;
}

.htl_strapline { 
    margin:30px 5px 0px 0px; 
    background-color:#000; 
    color:#FFF;
    font-size:14px; 
    font-weight: 600; 
    padding:2px 5px 2px 5px; 
    
}


    
.htl_name {
    padding-top: 10px;
    font-weight: bold;
    font-size: 17px;
}




.hotel_01{ width:300px; float:left; }
.hotel_02{ width:300px; float:left; margin-left:30px;}
.hotel_03{ width:300px; float:left; margin-left:30px;}


.box_hotel h5{ margin:-35px 0px 5px 0px;}


.tibet_contents_htl {
    display: grid;
    max-width: 900px;
    grid-template-columns: 1fr 1fr;
    grid-template-rows:  max-content max-content;
    gap: 20px;
    margin: 20px auto 0 auto;
    }

.tibet_htl_item01 {
    grid-column: 1;
    grid-row: 1;
}

.tibet_htl_item02 {
    grid-column: 2;
    grid-row: 1;
}

.tibet_htl_item03 {
     grid-column: 1;
　　　grid-row: 2;
}

.tibet_htl_item04 {
     grid-column: 2;
　　　grid-row: 2;
}


@container (max-width: 860px)  {
    .tibet_contents_htl {
    font-size: 130%;
    margin: -200px auto 0 -35px;
    grid-template-columns: 1fr;
    grid-template-rows:  max-content max-content max-content max-content;
    align-items: center;
    max-width: 400px;
    }

.tibet_htl_item01 {
    grid-column: 1;
    grid-row: 1;
}

.tibet_htl_item02 {
    grid-column: 1;
    grid-row: 2;
}

.tibet_htl_item03 {
     grid-column: 1;
　　　grid-row: 3;
}

.tibet_htl_item04 {
     grid-column: 2;
　　　grid-row: 4;
}
}



.faq {
    width: 100%;
    font-size: 135%;
    max-width: 1000px;
    text-align: justify;
    margin: 0 auto;
    padding-top: 20px;
}

.head-border {
    display: flex;
    align-items: center;
    margin: 40px auto 20px auto;
}
 
.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #555;
}
 
.head-border:before {
    margin-right: 1rem;
}
 
.head-border:after {
    margin-left: 1rem;
}

.head-border span{
	font-size:22px;
	color:#555;
	font-weight:bold;
	font-family:"メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background:#fff;
	padding:0pc 30px;
}


.faq_q{
	background:url(images/q.png) no-repeat left top;
	padding:0px 20px 20px 30px;
	margin:10px 0px -10px 0px;
	font-size:17px;
	font-weight:bold;
	font-family:"メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.faq_a{
	background:url(images/a.png) no-repeat left top;
	padding:0px 20px 20px 30px;
}



.faq_season {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
    grid-template-rows:  max-content max-content;
    gap: 20px;
    margin-top: 0 auto;
    }


.season_item01 {
    grid-column: 1;
    grid-row: 1;
}

.season_item02 {
    grid-column: 2;
    grid-row: 1;
    padding-top: 10px;
}

.season_item03 {
    grid-column: 1;
    grid-row: 2;
}

.season_item04 {
    grid-column: 2;
    grid-row: 2;
    padding-top: 10px;
}

@container (max-width: 700px)  {
    
.faq_season {
    display: grid;
    width: 95%;
    grid-template-columns: 1fr;
    grid-template-rows:  max-content max-content max-content max-content;
    gap: 20px;
    margin: 0 auto;
    }
    
    
.season_item01 {
    grid-column: 1;
    grid-row: 1;
}

.season_item02 {
    grid-column: 1;
    grid-row: 2;
    padding-top: 10px;
}

.season_item03 {
    grid-column: 1;
    grid-row: 3;
}

.season_item04 {
    grid-column: 1;
    grid-row: 4;
    padding-top: 10px;
}
    
}



.miyage {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows:  max-content max-content max-content max-content;
    gap: 20px;
    margin-top: 0 auto;
    }
    
    
.miyage_item01 {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
}

.miyage_item02 {
    grid-column: 1;
    grid-row: 2;
}

.miyage_item03 {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
}

.miyage_item04 {
    grid-column: 2;
    grid-row: 2;
}

.miyage_item05 {
    grid-column: 3;
    grid-row: 1;
    text-align: center;
}

.miyage_item06 {
    grid-column: 3;
    grid-row: 2;
}

.miyage_item07 {
    grid-column: 1;
    grid-row: 3;
    text-align: center;
}

.miyage_item08 {
    grid-column: 1;
    grid-row: 4;
}

.miyage_item09 {
    grid-column: 2;
    grid-row: 3;
    text-align: center;
}

.miyage_item10 {
    grid-column: 2;
    grid-row: 4;
}

.miyage_item11 {
    grid-column: 3;
    grid-row: 3;
    text-align: center;
}

.miyage_item12 {
    grid-column: 3;
    grid-row: 4;
}
    


@container (max-width: 700px)  {
    
    .miyage {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
    grid-template-rows:  max-content max-content max-content max-content max-content max-content;
    gap: 20px;
    margin-top: 0 auto;
    }
    
    
.miyage_item01 {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
}

.miyage_item02 {
    grid-column: 1;
    grid-row: 2;
}

.miyage_item03 {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
}

.miyage_item04 {
    grid-column: 2;
    grid-row: 2;
}

.miyage_item05 {
    grid-column: 1;
    grid-row: 3;
    text-align: center;
}

.miyage_item06 {
    grid-column: 1;
    grid-row: 4;
}

.miyage_item07 {
    grid-column: 2;
    grid-row: 3;
    text-align: center;
}

.miyage_item08 {
    grid-column: 2;
    grid-row: 4;
}

.miyage_item09 {
    grid-column: 1;
    grid-row: 5;
    text-align: center;
}

.miyage_item10 {
    grid-column: 1;
    grid-row: 6;
}

.miyage_item11 {
    grid-column: 2;
    grid-row: 5;
    text-align: center;
}

.miyage_item12 {
    grid-column: 2;
    grid-row: 6;
}
}

.shooting {
    padding: 20px 30px;
    margin: -30px auto 30px auto;
    border: 1px dotted;
    border-color: #999;
}
    
.starry_sky {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: max-content;
    gap: 20px;
    margin-top: 0 auto;
}

.starry_sky_1 {    
    grid-column: 1 / 3 ;
    grid-row: 1;
}

.starry_sky_2 {
    grid-column: 3;
    grid-row: 1;
}

.starry_sky_img{
    margin-top: -100px;
    transform: rotate( 8deg );
    border: solid 10px #FFF;
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .3);
}

@container (max-width: 700px)  {

    .shooting {
    margin: 30px auto;
}
    
.starry_sky {
    grid-template-columns: 1fr;
    grid-template-rows: max-content;
}

.starry_sky_1 {    
    grid-column: 1 ;
    grid-row: 1;
}

.starry_sky_2 {
    grid-column: 1;
    grid-row: 2;
}

.starry_sky_img{
    margin-top: 10px;
    transform: rotate( 0deg );
}

    
}




.faq_trick {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows:  max-content max-content max-content max-content;
    gap: 20px;
    margin-top: 0 auto;
    }
    
    
.trick_item01 {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
}

.trick_item02 {
    grid-column: 1;
    grid-row: 2;
}

.trick_item03 {
    grid-column: 2;
    grid-row: 1;
    text-align: center;
}

.trick_item04 {
    grid-column: 2;
    grid-row: 2;
}

.trick_item05 {
    grid-column: 3;
    grid-row: 1;
    text-align: center;
}

.trick_item06 {
    grid-column: 3;
    grid-row: 2;
}


@container (max-width: 700px)  {
    

.faq_trick {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
    grid-template-rows:  max-content max-content max-content max-content max-content max-content;
    gap: 20px;
    margin-top: 0 auto;
    padding-bottom: 20px;
    }
    
    
.trick_item01 {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
}

.trick_item02 {
    grid-column: 1;
    grid-row: 2;
}

.trick_item03 {
    grid-column: 1;
    grid-row: 3;
    text-align: center;
}

.trick_item04 {
    grid-column: 1;
    grid-row: 4;
}

.trick_item05 {
    grid-column: 1;
    grid-row: 5;
    text-align: center;
}

.trick_item06 {
    grid-column: 1;
    grid-row: 6;
}
}





@container (max-width: 700px)  {
    
    .tibet_tour_box {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr ;
    grid-template-rows:  max-content max-content max-content max-content max-content max-content max-content ;
    gap: 25px;
    margin: 35px auto;
    text-align: justify;
    }

.tibet_tour_box img {
    margin-bottom: 5px;
}

.tour_item01 {
    grid-column: 1;
    grid-row: 1;
}

.tour_item02 {
    grid-column: 1;
    grid-row: 2;
}

.tour_item03 {
    grid-column: 1;
    grid-row: 3;
}

.tour_item04{
    grid-column: 1;
    grid-row: 4;
}
    
.tour_item05 {
    grid-column: 1;
    grid-row: 5;
}
    
.tour_item06 {
    grid-column: 1;
    grid-row: 6;
}

.tour_item07{
    grid-column: 1;
    grid-row: 7;
}
}



body.feature main * {
    box-sizing: border-box !important;
}


body.feature main a {
   text-decoration: none;
}



/*==================================================
見どころスライダー
===================================*/

.slide-title {
    font-size: 130%;
}

.slide-text {
    font-size: 130%;
    text-align: left;
}


 .l-inner {
    position: relative;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 10rem;
  }

  .l-section {
    border-top: 1px solid #eee;
  }
  .l-section .l-inner {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  [class*=swiper]:focus {
    outline: none;
  }

  .slide-media,
  .thumb-media {
    position: relative;
    overflow: hidden;
  }
  .slide-media img,
  .thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }



  .gallery01 {
    overflow: hidden;
  }
  .gallery01 .swiper {
    max-width: 600px;
    margin: auto;
  }
  .gallery01 .swiper-main {
    overflow: visible;
  }
  .gallery01 .swiper-thumb {
    padding-top: 8px;
  }
  .gallery01 .swiper-fade .swiper-slide {
    -webkit-transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, -webkit-transform !important;
    transition-property: opacity, transform !important;
    transition-property: opacity, transform, -webkit-transform !important;
    pointer-events: none;
  }
  .gallery01 .swiper-fade .swiper-slide-active {
    pointer-events: auto;
  }
  .gallery01 .swiper-controller {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding-top: 62.5%;
  }
  .gallery01 .swiper-button-prev, .gallery01 .swiper-button-next {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .gallery01 .swiper-button-prev {
    right: calc(100% + 3.2rem);
  }
  .gallery01 .swiper-button-next {
    left: calc(100% + 3.2rem);
  }
  .gallery01 .swiper-scrollbar {
    position: relative;
    margin-top: 1.6rem;
  }
  .gallery01 .swiper-scrollbar::after {
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    margin: auto;
    content: "";
    background-color: #eee;
  }
  .gallery01 .swiper-scrollbar-drag {
    height: 20px;
    padding: 8px 0;
    cursor: pointer;
    background-color: var(--color-theme);
    background-clip: content-box;
  }
  .gallery01 .swiper-scrollbar-drag:active {
    background-color: var(--color-theme-darken);
  }
  .gallery01 .slide {
    display: block;
    overflow: hidden;
  }
  .gallery01 .slide-media {
    padding-top: 62.5%;
    border-radius: 4px;
  }
  .gallery01 .slide-media img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .gallery01 .slide-title {
    font-weight: bold;
    line-height: 1.6;
    padding: 2rem 0 0.9rem 0;
  }
  .gallery01 .thumb-media {
    padding-top: 100%;
    -webkit-transition: var(--transition);
    transition: var(--transition);
    border-radius: 4px;
  }
  .gallery01 .thumb-media img {
    height: calc(100% + 8px);
    -webkit-transition: var(--transition);
    transition: var(--transition);
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
  .gallery01 .swiper-slide-thumb-active {
    -webkit-transition: var(--transition);
    transition: var(--transition);
    opacity: 0.3;
  }
  .gallery01 .swiper-slide-thumb-active .thumb-media {
    -webkit-transform: translateY(-8px);
            transform: translateY(-8px);
  }
  .gallery01 .swiper-slide-thumb-active .thumb-media img {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }



  @media only screen and (max-width: 1024px) {
    html {
      -webkit-text-size-adjust: 100%;
    }
    .l-inner {
      padding: 0 4rem;
    }
    .pc {
      display: none !important;
    }
      
      
    .gallery01 .swiper-button-prev::before, .gallery01 .swiper-button-next::before {
      background-color: rgba(0, 0, 0, 0.3);
      -webkit-box-shadow: var(--box-shadow-dark);
              box-shadow: var(--box-shadow-dark);
        max-width: 580px;
    }
    .gallery01 .swiper-button-prev::after, .gallery01 .swiper-button-next::after {
      border-color: #fff;
    }
    .gallery01 .swiper-button-prev {
      right: calc(100% - 3.2rem);
    }
    .gallery01 .swiper-button-next {
      left: calc(100% - 3.2rem);
    }
  }

  @media only screen and (max-width: 599px) {
    html {
      font-size: 50%;
    }
    .pc-tab {
      display: none !important;
    }
  }

  @media only screen and (min-width: 1025px) {
    .tab-sp {
      display: none !important;
    }
    .swiper-button-prev::before, .swiper-button-next::before {
      -webkit-transition: var(--transition);
      transition: var(--transition);
    }
    .swiper-button-prev:hover::before, .swiper-button-next:hover::before {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
    }
    .gallery01 .swiper-scrollbar-drag:hover {
      background-color: var(--color-theme-darken);
    }
    .gallery01 .thumb-media:hover {
      -webkit-transform: translateY(-8px);
              transform: translateY(-8px);
    }
    .gallery01 .thumb-media:hover img {
      -webkit-transform: translateY(0);
              transform: translateY(0);
    }
  }

  @media only screen and (min-width: 600px) {
    .sp {
      display: none !important;
    }
  }