/* COMMON */


body,html
	font-feature-settings: "palt";
	-webkit-font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";

font-family: YakuHanJP, 'Noto Sans JP', "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
	letter-spacing: .1em;font-weight: 400;
	-webkit-print-color-adjust: exact;
	-webkit-text-size-adjust: 100%;
overflow-x: hidden;
}

a {
color:#ff0000;
}


img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  display: initial;
}

ul, li {
  list-style-type: none;
}


.no-gutters {
    margin-right: -15px;
    margin-left: -15px;
}
.row-10{
    margin-left:-5px;
    margin-right:-5px;
 
    > div{
        padding-right:5px;
        padding-left:5px;
    }
}
.row-20{
    margin-left:-10px;
    margin-right:-10px;
 
    > div{
        padding-right:10px;
        padding-left:10px;
    }
}


.pt-0{padding-top: 0;}
.pb-0{padding-bottom: 0;}



.scroll-prevent {
  overflow: hidden;
}

.scroll-prevent2{
  overflow:initial
}


body > div{
	position: relative;
	width: 100%;overflow: hidden;

}

/*HEADER
/************************************************************/
.header {
    width: 100%;
    position: fixed;
    z-index: 10; }

.header_sec {
    width: 100%;
    position: fixed;margin:0;padding:0;
    z-index: 10; }

.navba {margin:0 auto;top:0;left:0;position:relative; opacity: 1.0;  display: block;height:55px}


 .header_sec:before {
      content: '';
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      z-index: 1; background-image:url("../img/footer_bg.webp");background-color:rgba(34,34,34,0.7);background-blend-mode:darken;
      transition: all .3s ease-out; }



.head-nav .phone {
  position:absolute;right:10px;top:10px;z-index:11;
}

.head-nav .phone .info_tel {
    font-size: 22px;
    line-height: 17px;
    letter-spacing: .05em;
    font-weight: 300; color: #EEE;
    font-family: 'Montserrat', sans-serif;
}

.head-nav .phone .info_time {
    font-size: 10px;
    line-height: 11px;
    letter-spacing: .06em;
      color: #EEE;
    white-space: nowrap
}





.head_logo {
    z-index: 11; position:absolute;left:10px;top:3px
}
 .head_logo .wh-image{
opacity: 1;
}
.head_logo .bk-image{
opacity: 1;display:none;
}



.head-name {
z-index: 10;  position:absolute;
left:75px;top:10px;
}
.head-name .corp {
  display: flex;flex-flow: column;
}
.head-name .corp a{
text-decoration:none;
}
.head-name .corp a,.head-nav .phone a{
text-decoration:none; 
}



.head-name .corp .name {
    font-size: 17px;
    line-height: 17px;
    letter-spacing: 0.01em;
    font-weight:300;
    color: #ededed;
}

.head-name .corp .id {
    font-size: 10px;padding-bottom:5px;
    line-height: 11px;
    letter-spacing: .01em;
    color: #ededed; font-weight:300;
    white-space: nowrap
}




.togglerWrapper{
text-align:center;position:absolute;
right:15px;top:13px;
	width: 35px; 
	height: 35px;
	z-index: 12;
	cursor: pointer;
	-webkit-transition: .3s all ease-in-out;
	transition: .3s all ease-in-out;}



.togglerWrapper .inner #innerText{
	font-size: 10px;font-family:'Montserrat', serif;
	color: #ebebeb;
	content: 'MENU';}

.active .togglerWrapper .inner #innerText{color: #fff;}

.togglerWrapper .inner .innerLine{
	width: 22px;
	height: 16px;
	content: '';
	margin: 0 auto 8px;
	position: relative;
}

.togglerWrapper .inner .innerLine span{
	width: 100%;
	height: 2px;
	background-color: #ebebeb;
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transition: .3s all ease-in-out;
	transition: .3s all ease-in-out;
}



.togglerWrapper .inner .innerLine span:nth-child(2){
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.togglerWrapper .inner .innerLine span:nth-child(3){
	top: auto;
	bottom: 0;
}


.active .togglerWrapper .inner .innerLine span{
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 50%;
	background-color: #fff;}

.active .togglerWrapper .inner .innerLine span:nth-child(2){
	opacity: 0;
	top: 50%;
	-webkit-transform: translateY(-50%) translateX(10px);
	transform: translateY(-50%) translateX(10px);
}
	

.active .togglerWrapper .inner .innerLine span:nth-child(3){
	bottom: 50%;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);}


.active .gnav{
opacity: 1;  visibility: visible;
 transition: 0.3s ease-out;
}
.gnav{
	position: fixed;
   visibility: hidden;
 width: 100%;
	height: 100vh;
	background-color: rgba(28, 28, 28, 0.8);
    backdrop-filter: blur(20px);
	top: 30px;
	right: 0;
opacity:0; 

}


.gnav .gnavInner{
    width:100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    height: 100%;
    align-items: center;
    justify-content: center;margin-top:0;
}


.gMenuBox a {
    display: flex;
    line-height: 1; 
    padding: .8rem 0;
color:#ebebeb;
}

.header.scrolled .gMenuBox a,.header.scrolled .gMenuBox ul span{
    color: #e1e1e1; }


.gMenuBox ul {
   list-style-type: none!important;
    line-height:1.5; margin-bottom:1em!important;padding-left:0!important;width:150px;
    display: flex;flex-flow: column;
  }


.gMenuBox ul h3{
 font-family:'Montserrat', serif;font-weight: 300;font-style: normal;
     font-size: 1.2rem;  letter-spacing: .2em;color:#c1c1c1;padding-bottom:.5em;
  }


.gMenuBox ul .sublist {

    padding-bottom:1em;border-bottom: 1px solid #999;
    line-height:1;
  }

.gMenuBox ul .sublist li{
  display: flex; font-size:1rem; 
    align-items: center; padding-bottom:1.2em;
  }
.gMenuBox ul .sublist li a {
display: block;text-decoration:none;
    padding: 0;
    overflow: hidden;line-height: 1;
    letter-spacing: .1em; transition: background-color 0.3s ease, color 0.3s ease;
}

.gMenuBox ul .sublist li a.hover {
    background-color: #fff;  
    color: #fff;
}




.text-wrap{
    position: relative;
    display: flex;
    align-items: center;
}
.tex-after{
    position: absolute;
    top: 0;
    left: 0; 
    display: flex;
    align-items: center;
}
.tex-before{
    display: flex;  
    align-items: center;
}
.tex-before span,
.tex-after span{
    line-height: 1.1; 
    transition: color .3s ease-out;/*ease-outで余裕のある動きに*/
}
.tex-after span{
    transform: translateY(105%);  
}
.gnavi__wrap{
z-index:5; position: absolute;  top: 25%;left: 200px;

}



.gnavi__list {
display: inline-block;    
padding:3px 10px 3px 5px;
    position: relative;
    transition: all .3s;
}


.gnavi__list:hover a {
        color: #fff;
}
.gnavi__list:not(:last-child)::after {
    content: "";
    width: 1px;
    height: 18px;
    background-color: #888;
    position: absolute;
    top: 5px;
    right: 0;
    transition: all .3s;
}

.gnavi__list a {
    display: flex;
    width: 100%;
    height:100%;
    text-decoration: none;
       color:#999;font-family:'Montserrat', serif;
    font-size: 11px; letter-spacing: .04em;
    transition: all .3s;
}

.dropdown__lists {
  display: none;
    width: 150px;
    position: absolute;
    top:100%;
    left: -10px;
    padding: 10px;
        z-index: 1; background-image:url("../img/footer_bg.webp");background-color:rgba(34,34,34,0.7);
background-blend-mode:darken;
    border-radius: 0 0 3px 3px;
}




.gnavi__list:hover .dropdown__lists {
    display: block;z-index:6;
}
.dropdown__list {
    transition: all .3s;
    position: relative;    border-radius: 3px;
}


.dropdown__list a {
font-family: YakuHanJP, 'Noto Sans JP', "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; 
    text-decoration: none;
   display: block;
    width: 100%;
    height: auto !important;
    line-height: 1.3 !important;
    position: relative;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 10px 15px;
    font-size: 12px!important;
    font-weight: 400;
    text-align: left;
    text-transform: none;    
    border-left: none;
    border-right: none;
    letter-spacing: 0;
color: #eee;
    outline-offset: -2px !important;
transition: all 1s;
}

.dropdown__list:hover{
 background: rgba(255,255,255, 0.3);
}


/*VIDEO
/************************************************************/
.kodawari_mov{
  overflow: hidden;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100lvh;
    transform: translate3d(0, 0, 0);
    perspective: 1000;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
position: fixed;z-index: -1;
}

.kodawari_mov .overlay {
  position: absolute; 
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; 
background-color: hsla(0, 0%, 100%, 0.5); 
  z-index: 1; 
}


.kodawari_mov_vimeo2{
   overflow: hidden;
    position: absolute;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
}
.kodawari_mov_vimeo2 iframe{
box-sizing: border-box;
    width: 177.77777778vh; /* 16:9 の幅なので 177.77% (= 16 ÷ 9) */
    height: 56.25vw; /* 16:9 の高さなので 56.25% (= 9 ÷ 16) */
    min-height: calc(100% + 4px);
    min-width: calc(100% + 4px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.mainvisual{
  overflow: hidden;
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100lvh;
    transform: translate3d(0, 0, 0);
    perspective: 1000;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
z-index: -1;
}

.sound_swich_wrapper{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; 
z-index: 2;
}

.sound_swich{
	position: absolute;
	bottom:10%; cursor: pointer !important;
	left:4%;
}


 .sound_swich img{
	width:80px;height:auto;	
}

.sound_swich #sound_off{
	display:none;z-index: 0;
}
.mainvisual_vimeo{
	position:relative;
	width:100%;
	padding-top:56.5%;margin-top:-3px;
}
.mainvisual_vimeo iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.mainvisual_vimeo2{
   overflow: hidden;
    position: absolute;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
}
.mainvisual_vimeo2 iframe{
box-sizing: border-box;
    width: 177.77777778vh; /* 16:9 の幅なので 177.77% (= 16 ÷ 9) */
    height: 56.25vw; /* 16:9 の高さなので 56.25% (= 9 ÷ 16) */
    min-height: calc(100% + 4px);
    min-width: calc(100% + 4px);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.banner{
margin-bottom:.5em;
}
.banner a img{
border:1px solid #ccc;margin-bottom:10px;
}

/*kodawari
/************************************************************/


.kodawari_logo {
  position: fixed;
  top: 50vh; 
  left: 50%;
  transform: translate(-50%, -50%);
 opacity: 0;
}


.kodawari-copy {
 position: fixed;
  top: 50vh;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
 opacity: 0;
    }

.kodawari-copy .inner {
  min-width:250px;padding:15px;
  box-sizing: border-box; display: block;
  text-align: left;color: rgba(0, 0,0, 0.6);
}

    .kodawari-ttl {
font-size: 1.5rem;text-align: left;
    font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
  line-height: 1.5;padding-bottom:1em;
    }

.kodawari-txt {
font-size: 95%;text-align: left;
        line-height: 2;
        letter-spacing: .1rem;
    }


#app1 {
    width: 100px;  
    height: 300px; 
}

.kodawari_logo{
  width: 100%; 
  height: auto;           
  display: flex;         
  justify-content: center; 
  align-items: center;   
}

.kodawari_logo img{
max-width:80vw;max-height:80vh;

}

.kodawari_gazo {
  width: 100%;  height: auto;     min-width:320px; min-height:240px;  
          
}


#app2,#app3,#app4,#app5,#app6,#app7{
max-width: 480px; 
max-height: 360px; 
width: 100%; 
height: 100%;
position: relative; 
}




#section-1 { height: 150vh;} 

 #section-3, #section-5, #section-7, #section-9, #section-11, #section-13{
  height: 200vh;
}

#section-2, #section-4 , #section-6 , #section-8 , #section-10, #section-12, #section-14{
  height: 300vh;
}


/*main
/************************************************************/


#page-wrapper{
    padding-top: 0px; height: 100%;
  margin: 0;
}

.blog_body {
margin-top:2em;padding:0 20px;
	}

.blog_body figure{;
padding:20px 0;
	}


.page_body p{;
padding:0px 20px!important;
	}

.event_body figure{;
padding-bottom:20px;
	}

.event_body p{;
padding-top:20px;
	}
.event_body img{;
padding:5px 20px;
	}

.blog-title{
position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    z-index: 2;
    width: 100%;
    margin-inline: auto;
}

.blog-title h2{
padding:20px 20px 20px 20px ;margin:0;
   letter-spacing: 0.05em;
    line-height: 1.2;
    color: #424242;
    text-align: center;
    word-wrap: break-word;
    transform-origin: left bottom;
    font-weight: 400; border-bottom: 1px solid #ccc;
    font-size: 26px;
}


.blog-title h2 span {
    display: flex;
    justify-content: center;
    gap: 1em;font-family:'Montserrat', serif;
 font-size: .7375rem;
    padding-top: 1em;
    box-sizing: border-box
}


 .sidebar_news{padding-top: 0;}

 .sidebar_news ul{
    align-items: center;
padding:0!important;margin:0!important;
}



.sidebar_news li{
align-items: center;
border-bottom: 1px solid #ccc;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    height: auto;
    justify-content: space-between;
    padding:10px 20px 10px 20px;
position: relative;
}
.sidebar_news li a{
color: rgba(4, 4, 14, 0.7);
text-decoration:none;display:block;
}

.sidebar_news li::before {
	content: ''; 
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0; width: calc(100% - 1px);
	z-index: -1;
	transform: scale(0, 1);
	transform-origin: right top;
	background: #f5f5f5;
	transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) .3s;
}


.sidebar_news li:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}


.side-txt h4{
font-size: .7375rem;
    font-weight: 400;margin:0;padding:0 10px;
    letter-spacing: .08em;
    line-height: 1.4;
}


.side-txt h3{
font-size: .7375rem;
    font-weight: 400;margin:0;padding:0;
    letter-spacing: .08em;
    line-height: 1.4;
}

.side_date{color: rgba(4, 4, 14, 0.7);
    font-size: 11px;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.2em;
    text-align: left;font-family:'Montserrat', serif;
    width: auto;
    max-width: 100%;margin:0;
    justify-content: flex-start;
}

.sentence_wrapper {

    font-weight: 400;
    letter-spacing: .05em;    line-height: 2;
margin-bottom:2em;
}


.sentence_body{
margin-top:0;padding-left:0;padding-right:0;
}
.sentence_body figure{
position: relative;
    overflow: hidden;
}

.archive_body{
padding-top:0;padding-left:-15px;padding-right:-15px;margin-top:0
}


.sentence_wrapper p img{
box-sizing: border-box;
    height: auto;
    max-width: 100%;
    vertical-align: bottom;

}
.sentence_wrapper p a{
color:#a91322;
}
.sentence_wrapper p {
padding-left:0px;
padding-right:0px;color:#424242;
    margin-block: calc(.5em - .3lh);
}


.sentence_wrapper p::after {
display: block;
content: "";
margin-bottom: 10px;
}
.title-section {
  text-align: center;
  padding: 60px 0 0;
  letter-spacing: 0.1em;
  line-height: 1.3;font-family:'Montserrat', serif;font-weight: 300;font-style: normal;
}



.title-section.en {
  font-size: 28px;color:#424242;
    letter-spacing: .2em;
  font-weight: normal;
}

.title-sub {
  margin: 0 0 30px;
  text-align: center;
  font-size: 12px;
  color: #424242;
  line-height: 1.3;
}

.selectbox-2 {
    position: relative; margin-top:-15px;margin-bottom:15px;margin-left:20px;
}


.sidetit {
    font-size: 14px;
    letter-spacing: .11em;
    font-weight: 500;
    color: #424242;display:block;
    font-family: 'Montserrat', sans-serif;
padding:10px 20px;
}


/*voice
/************************************************************/


.sentence_wrapper .voice{
padding-left:30px;
padding-right:30px;
    margin-block: calc(.5em - .3lh);
}

.sentence_wrapper .voice p{
padding:0;margin:0;
}

.sentence_wrapper .voice h3{
letter-spacing: 0.05em;
    line-height: 1.4;
    text-align: left;
    font-weight: 400;
    font-size: 1.2rem;
    padding: 10px 20px;
    margin:1em 0px 1em; position: relative;  display: inline-block;
}
.sentence_wrapper .voice h3:before, .sentence_wrapper .voice h3:after { 
 content:'';
  width: 20px;
  height: 30px;
  position: absolute;

}
.sentence_wrapper .voice h3:before {
border-left: solid 1px #999;
  border-top: solid 1px #999;
  top:0;
  left: 0;
}
.sentence_wrapper .voice h3:after {
 border-right: solid 1px #999;
  border-bottom: solid 1px #999;
  bottom:0;
  right: 0;
}



.cat_tit_wrapper{
margin:0 30px 30px;
  width: 100%;  
}



.cat_tit {
  vertical-align: middle;
 padding:20px 30px; border-bottom:1px solid #ccc;
}


 .sidebar_archive{margin:50px 0 0;position:relative;}


.archive_tit {
position: sticky;
top: 50vh;
right: 0;
 padding:0px 20px;
}

.cat_tit .ja,.archive_tit .ja{ display:block; font-size: .75rem;letter-spacing: .1em;  color: rgba(4, 4, 14, 0.8);margin-bottom:.5em;}

.cat_tit .en,.archive_tit .en{ font-family: 'Montserrat', sans-serif;
    font-weight: 300;text-transform: uppercase;
    font-style: normal;
    font-size: 1.4rem;
    letter-spacing: .2em;line-height: 1.5;}


.lock {position: relative;}

.voice_l{
    position: relative;height: calc((100vh - 190px) / 3);
    overflow: hidden;border-bottom: 1px solid #ccc;
}
.voice_l p{
color: #fff;
  text-align: center;
  width: 100%;  height:100%;     
  position: absolute; 
  left: 0;           
  bottom: 0;      padding:0;margin:0;    
  background: rgba(0,0,0,0.2); 
}

.voice_l img {
 object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
}
.voice_l a:hover {
    transition: 0.3s ease-in-out;
   opacity: 0.7;text-decoration:none;
}
.voice_name {
  position: absolute;
 top: 50%;                   
   left: 50%;               
   transform: translateY(-50%) translateX(-50%);   
  z-index:5;    color: #fff;    
}

.voice_name h3 {
    font-size:1rem; 
    letter-spacing: 0.03em;
    line-height: 1.3em;
    font-weight: 400;margin-top:1em;
}


.voice_name h2 {
margin:0;padding:0;
    line-height: 1;    font-size: 0.75rem;
color:#fff;
}

.voice_name h2 span{
    display: inline-block;
    padding: 0.25rem 1rem;
    border:1px solid #fff;
    line-height: 1;    font-size: 0.6rem;
color:#fff;margin-right:1em;
}

.mh{margin-bottom:0}

.mh_l {
  position: relative;
  height: calc((100vh - 200px) / 3);
  overflow: hidden;
}

.mh_l p{
color: #fff;
  text-align: center;
  width: 100%;  height:100%;     
  position: absolute; 
  left: 0;           
  bottom: 0;      padding:0;margin:0;    
  background: rgba(0,0,0,0.2); 
}

.mh_l img {
  object-fit: cover;
  object-position: center center;
  width: 100%;
  height: 100%;
  display: block;
  transition: transform 0.4s ease-in-out;
}

.mh_l p {
  color: #fff;
  text-align: center;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0;
  margin: 0;
  background: rgba(0, 0, 0, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease-in-out;
}

.mh_l:hover p {
  background: rgba(0, 0, 0, 0.05);
}
.mh_l:hover img {
  transform: scale(1.05);
}


.mh_name {
  position: absolute;
 top: 50%;                   
   left: 50%;               
   transform: translateY(-50%) translateX(-50%);   
  z-index:5;    color: #fff;    
}

.mh_name h3 {
    font-size:1.4rem; 
font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
    letter-spacing: 0.03em;
    line-height: 1.3em;
    font-weight: 400;margin-top:.5em;
}


.mh_name h2 {
margin:0;padding:0;
    line-height: 1;    font-size: 0.75rem;
color:#fff;
}

.mh_name h2 span{
    display: inline-block;
    padding: 0.25rem 1rem;
    border:1px solid #fff;
    line-height: 1;    font-size: 0.6rem;
color:#fff;margin-right:1em;
}


.mhd_name {
position:relative;margin-top:1em;
}

.mhd_name h3 {
    font-size:1.4rem; 
font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
    letter-spacing: 0.03em;
    line-height: 1.3em;
    font-weight: 400;margin-top:0;
}


.mhd_name h2 {
margin:0;padding:0;
    line-height: 1;    font-size: 0.75rem;

}

.mhd_name h2 span{
    display: inline-block;
    padding: 0.25rem 1rem;
    line-height: 1;    font-size: 0.6rem;
margin-right:1em;
}






.category-title{
position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    z-index: 2;
    width: 100%;
    margin-inline: auto;
    padding-block-end: 1lh;
}

.category-title h2{
padding:60px 20px;margin:0;
   letter-spacing: 0.05em;
    line-height: 1.2;
     text-align: center;
    text-align: center;
    word-wrap: break-word;
    transform-origin: left bottom;
    font-weight: 400; border-bottom: 1px solid #ccc;
    font-size: 1rem;
}

/*event
/************************************************************/
.event-title{
position: relative;
    display: flex;
    flex-direction: column;
    gap: 20px;
    z-index: 2;
    width: 100%;
    margin-inline: auto;
}

.event-title h2{
padding:20px 20px 20px 20px ;margin:0;
   letter-spacing: 0.05em;
    line-height: 1.2;
     text-align:center;
    color: #424242;
    word-wrap: break-word;
    transform-origin: left bottom;
    font-weight: 400; border-bottom: 1px solid #ccc;
    font-size: 1.2rem;
}


.event-top img{
    height: 55vh;
  margin: auto;
  max-height: 300px;
  max-width: 100%;
  object-fit: cover;
  width: 100%;display: block;
}
.event-top::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

.staff-top img{
    height: 55vh;
  margin: auto;
  max-height: 500px;
  max-width: 100%;
  object-fit: cover;object-position: 50% 40%;
  width: 100%;display: block;
}



#event_name {
position: absolute;
  top: 55%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);              
  z-index:5;    color: #fff;   
}

hr {
border-top: 1px solid #ccc;
}

#event_name h2 {
    font-size:1.2rem; 
    letter-spacing: 0.1em;
    line-height: 1.3em;font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
    font-weight: normal; white-space: nowrap; margin-top:1em;
}

.event_cat {
   padding:0;margin-top:1em;
}

.event_cat_title {
    display: flex;
    justify-content: center;
    gap: 1em;
    margin-right: 20px;
    padding: 0;
    box-sizing: border-box
}

.event_info{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;  font-size: .9375rem;padding-left:30px;padding-right:30px;padding-top:1em;padding-bottom:2em;
}

.event__title {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    order: 2;
    -webkit-line-clamp: 2;
    padding-top: 1em;padding-bottom:.4em;border-top:1px solid #ccc;
    overflow: hidden;font-weight:700;
    font-size: 1.1rem;
    line-height: 1.4;
    letter-spacing: 2px
}


.event__cat {
order: 1;
    display: inline-block;
    padding: .4rem 0;
  font-size: .8125rem;
}
.event__cat span{
color:#ff0000;padding-left:.5em;
}

.event__content {
order: 3;
    display: flex;
    position: relative;
    justify-content: space-between;
    padding:0;
    border-top: 1px solid #ccc;
}

.event__status{
    font-size: 11px;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.2em;
    text-align: left;
    width: auto;
    max-width: 100%;margin:0;
    justify-content: flex-start;
}


.wp-block-columns {
    align-items: normal !important;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap !important; gap: 0!important;
}
.wp-block-image .alignright {
    float: right;
    margin: .5em 0 .5em 0!important;
}

.wp-block-image .alignleft {
    float: left;
    margin: .5em 0 .5em 0!important;
}

.sentence_wrapper .event{
padding:0 20px;
}



.sentence_wrapper .event p {
padding-left: 0px;
    padding-right: 0px;
padding-bottom:.5em;
}




.sentence_wrapper .event img{
width:100%;height:auto;padding-bottom:.5em;

}

.sentence_wrapper .event h2{

letter-spacing: 0.02em;
    line-height: 1.4;
    text-align: left;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 0px 10px 0 20px;
    margin:1em 20px 1em 20px; position: relative;  display: inline-block;
}



.event_list h2{
        line-height: 1.6;
font-size: .9375rem;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.4;    
text-decoration: none;padding:10px;
color: #3c3c3c;
}
.event_text{
min-height:80px;padding:10px;
}


.event_list{
    position: relative;
    overflow: hidden;border-right: 1px solid #ccc;}

.event_list:nth-child(2n) {border-right: none;}



.event_list:last-child {
border-right: none;
}

.event_list > a:before{
    content:"";
    position: absolute;
    width:100vw;
    height:100vh;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    left:50%;background:tranceparent;
    top:50%;
}
.event_list a:hover {
    transition: 0.3s ease-in-out;
   opacity: 0.7;text-decoration:none;
}

.event_list a img {
    transition: 0.3s ease-in-out;
   opacity: 1;text-decoration:none;
 width:100%;
  height: 250px;
  object-fit: cover;

}

.table tr:first-child th,
.table tr:first-child td {
  border-top: none;
}


.table td, .table th {
    padding: .75rem;
    vertical-align: top;
    border-top: 1px solid #ccc;
}

.table th {min-width:100px;
}

.row.align-items-stretch {
  display: flex; /* 明示的にflexにすることで高さ揃え */
}

.text-box {
  padding: 0;
  height: 100%; 
}

.image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.image-wrapper img {
  position: absolute;
  top: 50%;
  left: 50%;
  height: 100%;
  width: auto;
  transform: translate(-50%, -50%);
  object-fit: cover;
  object-position: center;
}

/*service
/************************************************************/

.service-title{
position: relative;
    display: flex;
    flex-direction: column;
    z-index: 2;
    width: 100%;
    margin-inline: auto;
}

.service-title span{
padding:1em 2em ;
   letter-spacing: 0.1em;
    line-height: 1.5;
    color: #424242;
    text-align: center;
    word-wrap: break-word;
    transform-origin: left bottom;
    font-weight: 500; border-bottom: 1px solid #ccc;border-top: 1px solid #ccc;
    font-size: 1rem; 
}


.heading {
  align-items: center;
  display: flex;  flex-grow: 1;
  justify-content: center; 
}
.heading::before,
.heading::after {
  background-color: #ccc; 
  content: "";
  height: 1px;
  width: 60px; 
}
.heading::before {
  margin-right: 30px;
}

.heading::after {
  margin-left: 30px;
}


 .service p{
padding-left:20px;
padding-right:20px;margin-bottom: 2em;

}


 .service img{
width:100%;height:auto;margin-bottom:1em;

}

.service h2{

letter-spacing: 0.05em;
    line-height: 1.4;
    text-align: left;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 0px 20px;width:90%;
    margin:.5em 20px 1em 20px; position: relative;  display: inline-block;
}


h2.splitText2:before {
  position: absolute;
  background-color: #993333;
  content: "";
  left: 0;
  top:0;
  bottom: 0;  opacity: 0;
  width: .2em;
  transform: translateY(-100px);
  transition: opacity 0.3s ease, transform 0.4s ease-out;
}
h2.splitText2.is-visible::before {
  opacity: 1;
  transform: translateY(0);
}


/*Before&After
/************************************************************/
.reform-wrapper {
  position: relative;
  width: 100%;
  margin-bottom: 3em; overflow: hidden;

}

.reform-slide {
  position: relative;
  width: 100%;height:480px;

}

.reform-slide img {
 width: 100%;
  height: 440px;
  object-fit: cover;
  display: block;
}

.after-img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
}

.reform-text-area {
  position: relative;
  margin-top: 2em;
  text-align: center;
  font-size: 1.1rem;
  font-weight: bold;
  color: #222;
}

.reform-text-area p {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.label {
  position: absolute;
  top: 20px;
  left: 20px;
  padding: 0.3em 0.8em;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-weight:300;font-family: 'Montserrat', sans-serif;
  font-size: 0.9rem;
  border-radius: 3px;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
}

.label-before {
  opacity: 1; /* 初期表示されるのはBEFORE */
}


.text-slide p .arrow {
  position: relative;
  display: inline-block;
  width: 2px;
  height: 30px;
  margin: 0 19px;margin-top:1em;  border-radius: 9999px;
  background-color: #000000;
}

.text-slide p .arrow::before,
.text-slide p .arrow::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: calc(50% - 1px);
  width: 2px;
  height: 20px;
  border-radius: 9999px;
  background-color: #000000;
  transform-origin: 50% calc(100% - 1px);
}

.text-slide p .arrow::before {
  transform: rotate(45deg);
}

.text-slide p .arrow::after {
  transform: rotate(-45deg);
}

.before-text {
  opacity: 1;
  z-index: 1;
}

.after-text {
  z-index: 2;
}
        
/* staff
-------------------------------------------------------------- */



.staff_l {
    position: relative;
    overflow: hidden;
}


.staff_l:before {
    display: block;
    padding-top: 86.6%;
    content: "";
}




.staff_body {
    	position: relative;
	clear:both;
	padding:20px 20px;color:#464646;
}

.staff_body h2 {
	font-size: 20px;
	margin: 0px 14px 10px 0;
	letter-spacing:0.1em;
}


.staff_body p {
min-height:200px;
 font-size:12px; 
    line-height: 1.5em;
    font-weight: normal;  margin-top:1em;
}

.staff_body dl {
	padding-bottom: 5px;
width:100%;
	line-height:1.4em;
	font-size: 11px;
	font-weight: 400;
}

.staff_body dl dt {
	float: left;	font-weight: 400;
	padding-right: 10px;
}

.staff_body dl dt.capability {
	clear: left;
}



.staff__position {
    font-size: 11px;line-height:1.2em;
    position: relative;height:35px;
}




.staff__name {
        margin-top: .5rem;
        margin-bottom: 1rem
    }

    .staff__nameJa {
        font-size: 1.25rem
    }

    .staff__nameEn {
        font-size: 0.5rem;font-family:'Montserrat', serif;letter-spacing:0.08em;
    }




/*flow
/************************************************************/
.flow__list {
  padding:30px;border-top:1px solid #ccc;
}

.flow__list .item {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  position: relative;
  min-height: 6em;
}
.flow__list .item::before {
  content: "";
  position: absolute;
  width: 1px;
 height: calc(100% + 6em - 40px);
  top: 30px;
  left: 15px;
  background-color: #ccc;
}

.flow__list .item:last-child::before {
  content: "";
  position: absolute;
  width: 1px;
 height: 0;
  top: 0;
  left: 15px;
  background-color: #ccc;
}

.flow__list .flow-num {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  background: #010101;
  color: #fff; font-weight: 300;
font-family: 'Montserrat', sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin: 0;
}

.flow__list .flow-detail {
  flex: 1;
  margin: 0;
}

.flow__list .flow-detail h2 {
        line-height: 1.6;
font-size: 1rem;
    font-weight: 400;
    letter-spacing: .1em;
    line-height: 1.4;    
text-decoration: none;padding:0;
color: #3c3c3c;
}

.flow__list .flow-detail p {
  margin: 0;
  font-weight: 300;
    font-style: normal;
    font-size: .8125rem;
    letter-spacing: .02em;line-height: 1.5;
padding-bottom:1em;
}

.flow__list .flow-detail img {
width: 200px;
  height: 150px;object-position: left;
 object-fit: contain;
margin-bottom:1em;
}



/*motion
/************************************************************/



[data-inview] {
  opacity: 0;
}

[data-inview="fade-left"] {
  translate: -80px 0;
}

[data-inview="fade-right"] {
  translate: 80px 0;
}

[data-inview="fade-up"] {
  translate: 0 80px;
}

[data-inview="fade-down"] {
  translate: 0 -80px;
}
}

[data-scroll-trigger="mask"] {
    position: relative;
    overflow: hidden
}
[data-scroll-trigger="mask"] img {
    -webkit-mask-image: url(../img/mask.webp);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: auto 200%;
    -webkit-mask-position: center bottom;
    z-index: 0;
    mask-image: url(../img/mask.webp);
    mask-mode: alpha;
    mask-position: center bottom;
    mask-repeat: no-repeat;
    mask-size: auto 200%;
    opacity: 0
}
[data-scroll-trigger="mask"].is-visible img {
    animation: 2.7s mask-animation cubic-bezier(.115, .405, .24, 1) 0s forwards
}


[data-scroll-trigger="scaleOutIn"] img {
    width: 100%;
    transition: all 1s ease;
}

[data-scroll-trigger="scaleOutIn"].is-visible img {
    animation: 0.8s scaleOutIn cubic-bezier(.115, .405, .24, 1) 0s forwards
}



@keyframes scaleOutIn{
    0%{
        transform: scale(1.2) translateZ(0.3px);      
    }
    to{
        transform: scale(1.0);
    }
}

@keyframes mask-fade {
    80% {
        opacity: 1
    }

    to {
        opacity: 1
    }
}
@keyframes mask-animation {
    0% {
        -webkit-mask-position: center bottom;
        mask-position: center bottom;
        opacity: 0
    }

    20% {
        opacity: 1
    }

    to {
        -webkit-mask-position: center 0%;
        -webkit-mask-size: auto 500%;
        mask-position: center 0%;
        mask-size: auto 500%;
        opacity: 1
    }
}
[data-scroll-fade],
[data-scroll-fade] [data-scroll-str] {
    position: relative
}

    .page_img {
        margin-bottom: 10px;margin-top: 0px;
overflow:hidden;
    }
   .service .page_img img{
min-height:170px;max-height:400px;object-fit: cover;object-position: center 70%;
    }


/* Archive
----------------------------------------------------------------------------- */


.blog_l,.staff,.blogs {
    position: relative;
    overflow: hidden;
}


.blog_l:before {
    display: block;
    padding-top: 66.6%;
    content: "";
}
.blog_m {
  position: relative;
}

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

.event-status {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
  background-color: rgba(0, 0, 0, 0.3); /* 半透明の黒バックグラウンド */
  color: white;
  display: flex;
  justify-content: center; /* 横方向中央揃え */
  align-items: center; /* 縦方向中央揃え */
  font-size: 18px;
  font-weight: nomal;
  text-align: center;
  z-index: 1; /* 画像より上に重ねる */
}


.img-fit {
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transition: .5s;
}


.section-title{
  display: flex;border-top: 1px solid #ccc;
  justify-content: center;font-family: 'Montserrat', sans-serif;
  align-items: center;  padding: 30px 0px;border-bottom: 1px solid #ccc;
}


.blogs h2,.staff h2{
        line-height: 1.6;
font-size: .9375rem;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 1.4;    
text-decoration: none;padding:10px;
color: #3c3c3c;
}

.entry_text{
height:120px;
}


.blogs:nth-child(1n) {border-right: 1px solid #ccc;}
.staff:nth-child(1n) {border-right: 1px solid #ccc;}
.staff:nth-child(2n) {border-right: none;}

.crop-img {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.crop-img img,
.crop-img .blog_l,.crop-img .staff_l {
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
  object-fit: cover;
  object-position: center;
  display: block;
}

.blog_thumb,.staff_thumb {
  width: 100%;
  aspect-ratio: 4 / 3; /* 比率は自由に調整可 */
  overflow: hidden;
}

.blog_thumb img,.staff_thumb img{
  width: 100%;
  height: 130px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.blogs > a:before,.staff > a:before{
    content:"";
    position: absolute;
    width:100vw;
    height:100vh;
    -moz-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    left:50%;background:tranceparent;
    top:50%;
}
.blogs a:hover,.staff a:hover{
    transition: 0.3s ease-in-out;
   opacity: 0.7;text-decoration:none;
}
.entry__time{
font-size: 11px;
        line-height: 1.4;
        padding-bottom: 7px;
        min-height: 12px;
color: rgba(4, 4, 14, 0.7);
padding:0 10px;
    letter-spacing: 0.2em;
    text-align: left;font-family:'Montserrat', serif;margin-bottom:20px;
    }

.entry__time2{
font-size: 11px;
        line-height: 1.1;
        padding-bottom: 7px;
color:#333!important;
    letter-spacing: 0.2em;
    text-align: left;
    }



.selectbox-2::before,
.selectbox-2::after {
    position: absolute;
    content: '';
    pointer-events: none;
}

.selectbox-2::before {
    right: 0;
    display: inline-block;
    width: 1.6em;
    height: 1.6em;
    border-radius: 0 3px 3px 0;
    background-color: #222;
    content: '';
}

.selectbox-2::after {
    position: absolute;
    top: 55%;
    right: .8em;
    transform: translate(50%, -50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
}

.selectbox-2 select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width:150px;
    height: 2em;
    padding: .3em 1.8em .3em .8em;
    border: 1px solid #d2d2d7;
    border-radius: 3px;
   color: rgba(4, 4, 14, 0.7);
    font-size: .8em;
    cursor: pointer;
}


.pagination {
  display: flex;
  justify-content: center;
margin:4em 0
}
 

.nav-links{
   display:flex;
}
.page-numbers{
   display:inline-block;
   margin-right:10px;
   padding:10px 16px;
   color:#424242;font-size:12px;
   border-radius:3px;font-family:'Montserrat', serif;
   background:#ffffff;
  border: 1px solid #ededed;    transition: 0.3s ease-in-out;
}
.page-numbers:hover{
background:#2e2e2e;
text-decoration:none;
color:#fff
}

.page-numbers.current{
   padding:10px 16px;
   background:#ac000d;
   color:#ffffff;
}


.page-numbers.prev,
.page-numbers.next{
   background:transparent;
   box-shadow:none;
     border:none;
   color:#424242;font-weight:700;
}

.page-numbers.prev:hover,
.page-numbers.next:hover{
color:#ac000d;
}


.page-numbers.dots{
   background:transparent;
   box-shadow:none;
     border:none;
   color:#424242;
}
 
 
/* Swiper
----------------------------------------------------------------------------- */

.swiper-container {
  position: relative;
  margin: 0 auto;
}

.swiper {
  width: 100%;
}

.swiper-wrapper {
  display: flex;
  align-items: center;
}

.slider .swiper-slide {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  box-sizing: border-box;
  height: 75vh;
}

.slider .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* thumbnail */

.swiper-container {
  overflow-x: hidden;  /* Prevent horizontal overflow */
}


.thumbnail.main_body .swiper-wrapper {
  display: flex;
}

.thumbnail.main_body .swiper-slide {
  flex: 0 0 auto; 
  width: 100%;
}

.thumbnail .swiper-slide {
  opacity: 0.5;
  cursor: pointer;
}

.thumbnail .swiper-slide {
  width: 80px!important;
  aspect-ratio: 4 / 3; /* 正方形の枠 */
  height: auto;        /* 明示的に高さは aspect-ratio に任せる */
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding: 0;          /* 念のため余白リセット */
  margin: 0;
  opacity: 0.5;
  box-sizing: border-box;
  background-color: #f5f5f5; /* 画像外の余白が見えないように背景色追加もOK */
}

.thumbnail .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}


.thumbnail .swiper-slide-thumb-active {
  opacity: 1;
}


.swiper-button-next,.swiper-button-prev {
    position: absolute;
    top: 50%!important;
    width: 25px!important;
    height: 25px!important;
    z-index: 5!important;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #222
}

.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev {
    display: none!important
}

.swiper-button-next:after,.swiper-button-prev:after {
  display:none!important;
}

.swiper-button-prev {
    left: 20px!important;
    right: auto
}

.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,.swiper-rtl .swiper-button-prev {
    right: 20px!important;
    left: auto
}

.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after {
    content: 'next'
}




/* Contact
----------------------------------------------------------------------------- */



.contact {
    position: fixed;
    z-index: 21;left: 0;bottom: 0;width:100%;height: 5.5rem;border-radius: 0;
    background-color: #fff;
    transition: all cubic-bezier(0.215, 0.61, 0.355, 1) 1s;
    opacity: 0;border: none;
    visibility: hidden;border-top: 1px solid #ccc;
}

.contact.container
 {

    padding-right: 0;
    padding-left: 0;
    margin-right: 0;
    margin-left: 0;
}

.is-visible{
    opacity: 1;
    visibility: visible;
}

.contact_wrapper {
    width: 100%;
    height: 100%;
    padding: 20px 0;margin:0 auto;
}


.contact_item {
    width: 100%;
    height: 100%;
    border-right: 1px solid #ccc;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
}

.contact_item > a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-direction: column;
    flex-direction: column;
}

.contact_item > a img {
    width: auto;
    height: 2rem;
padding-bottom:.5em;
}

.contact_item > a span {
    display: block;
    font-size: 11.42px;
    line-height: 1;
    letter-spacing: 0.05em;
    color:#231815;
    white-space: nowrap;
}

.contact_item a:hover {
text-decoration:none;
 opacity: 0.3; transition: 0.3s ease-out;
}

.item__button {
    margin: 50px auto 0;
    max-width: 140px;
}
.item__button span{
    font-size: 12px;text-align:center;letter-spacing:0.2em;
    font-weight: 500;font-family: 'Montserrat', sans-serif;
}


.c-button {
    align-items: center;
    border: 1px solid #fff;
     border-radius: 9999px;
    color: #fff;
    display: flex;
    font-size: clamp(11px, 12 / 1440 * 100vw, 12px);
    height: 38px;
    justify-content: center;
    letter-spacing: .05em;
    padding: 10px 26px;
}



.d-button a {
    border-radius: 9999px;
    position: relative;
    display: flex;flex-direction: column;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 180px;
    padding: 10px 25px;
   color:  #fff;font-size:0.8em;
    line-height: 1.8;
    text-decoration: none;
    transition: 0.3s ease-in-out;
    font-weight: 700;
}
.d-button a.color_red:hover {
    background: #fff;
    color:  #222; 
}

.d-button a.color_bk:hover {
    background: #ddd;
    color:  #222;
}
.d-button a:after {
    content: '';
    width:8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
}
.d-button a:hover:after {
    border-color: #222;
}


		

.d-button{
    vertical-align:middle; 
    padding: 10px 0;margin-bottom:2em;
    text-align: center;
}

.d-button a.color_bk:hover {
    background: #ddd;
    color:  #222;
}
.color_bk{
    background: #464646;
}

/* contactform
-------------------------------------------------------------- */


/* 全体 */
.cform7 {
  max-width: 800px;
  margin: 0 auto 2em;
  padding:1em 1.5em;
  font-size: 16px;
  line-height: 1.6;
}

/* テーブルレイアウト */
.cform7 table {
  width: 100%;
  border-collapse: collapse;
}

.cform7 th,
.cform7 td {
  padding: 1em 0;
  vertical-align: top;
}

.cform7 th {
  width: 30%;
  text-align: left;
  font-weight: 600;
  color: #333;

}

.cform7 td {
  width: 70%;
}

.cform7 input[type="text"],
.cform7 input[type="email"],
.cform7 input[type="tel"],
.cform7 select,
.cform7 textarea {
  width: 100%;
  padding: 0.1em;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  font-size: 16px;
  box-sizing: border-box;
  transition: border-color 0.3s;
}

.cform7 input:focus,
.cform7 textarea:focus,
.cform7 select:focus {
  border-color: #222;
  outline: none;
}

/* 必須マーク */
.cform7 .required {
  color: #cc0000;
  margin-left: 0.25em;
  font-size: 0.9em;
}

/* チェックボックス */
.cform7 .checkbox-input {
  margin-right: 0.5em;
}

/* 送信ボタン */
.cform7 input[type="submit"] {
  display: inline-block;
  padding: 0.8em 2em;
  font-size: 16px;
  background-color: #464646;
  color: #fff;
  border: none;
  border-radius: 5px;
  cursor: pointer;
 width: 150px;            
   position: absolute;       
   left: 50%;     
     transform:translateX(-50%);
  transition: background-color 0.3s;
}

.wpcf7-form .wpcf7-submit {
  display: inline-block;
  margin: 1em auto;
}

.wpcf7-form p{
  text-align: center;
}

.wpcf7-form th p {
  text-align: left;
}


.wpcf7-form td p {
  text-align: left;
}



#data-tbl td .postal, 
#data-tbl td .phone {
  width: 150px;
}

#data-tbl td .pref, 
#data-tbl td .city {
  width: 200px; 
}

#data-tbl td .number{
  width: 60px; 
}

.cform7 input[type="submit"]:hover {
  background-color: #a00000;
}

/* メッセージ */
.cf_message {
  max-width: 800px;
  margin: 1em auto;
  padding: 1em;
  background-color: #fef9f6;
  border-left: 5px solid #cc0000;
  color: #444;
  font-size: 0.95em;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .cform7 table,
  .cform7 thead,
  .cform7 tbody,
  .cform7 th,
  .cform7 td,
  .cform7 tr {
    display: block;
    width: 100%;
  }

  .cform7 th {
    border: none;
    background: none;
    font-weight: bold;
    margin-top: 1em;
  }

  .cform7 td {
    padding-left: 0;
  }
}


@media screen and (max-width: 768px) {
  #data-tbl,
  #data-tbl tbody,
  #data-tbl tr,
  #data-tbl th,
  #data-tbl td {
    display: block;
    width: 100%;
  }

  #data-tbl tr {
    margin-bottom: 1.5em; /* セット間の余白 */
  }

  #data-tbl th {
    margin-bottom: 0.3em;
    font-weight: bold;
    padding: 0;
  }

  #data-tbl td {
    padding: 0;
  }
}
.cf_message {
  display: none;
}

/* Q&A
-------------------------------------------------------------- */
.cp_qa {
  margin: 0 0 2em;
  padding: 1em;
  line-height: 1.8;font-size: .875rem;
    font-weight: 400;
    letter-spacing: .08em;
    line-height: 2;
}

.cp_qa dl {
  position: relative;
  padding:0 2em;
  margin: 0;
}

.cp_qa dt {
  position: relative;
  margin: 2em 0 1em 0;
  padding: 1em 1em 1em 3em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-weight: 700;font-size:110%;
}

.cp_qa dt::before {
  content: 'Q';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.5em;
  color: #cc0000;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
}

.cp_qa dd {
  position: relative;
  margin: 0 0 2em 0;
  padding: 1em 1em 1em 3em;
}

.cp_qa dd::before {
  content: 'A';
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1.5em;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
  color: #333;
}




/* works
-------------------------------------------------------------- */
.u-fadeUp {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out
}

.u-fadeUp.is-active {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.parallax{
    overflow: hidden;
background:#000;
}


.works__item {
    height:100vh;
    left: 0;
    top: 0px;
    width: 100%;
}

.works__item:last-child {
    margin-bottom: 0
}

.works__item .item__inner {
    display: block;overflow:hidden;
    height: 100%;
    position: relative;
    width: 100%
}

.works__item .item__inner:before {
    background-color: hsla(0,0%,7%,.4);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}


.works__item:has(.item__button:hover) .works__image{
    -webkit-transform: scale(1.08);
    transform: scale(1.08)
}

.works__item:has(.item__button:hover) .c-button{
       background: rgba(255, 255, 255, 0.8);border:none;
        color: #000;    -webkit-transition: all .8s ease-out;
    }

.works__item .works__image {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: all .8s ease-out;
    transition: all .8s ease-out;
    z-index: 1
}

.works__item .works__image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: all .8s ease-out;
    transition: all .8s ease-out;
    width: 100%
}




.works__item .item__container {
    color: #fff;
    height: 100vh;
    left: 0;
    padding: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 3
}



.works__item .item__copy {
    display: block;
    left: 0;
    padding: 0 5.13%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%
}



.works__item .item__copy p {
    font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
    font-size: clamp(16px,14/1440 * 100vw,18px);
    letter-spacing: .2em;
    text-align: center
}



.works__item .works__info {
    left: 5.13%;
display: block;
    position: absolute;
    bottom: 5%;
    transform: translateY(-50%);
}


.works__item .works__info .works_cat {
    font-size: 12px;
    letter-spacing: .05em;
    margin-bottom: clamp(5px,10/1440 * 100vw,10px)
}


.works__item .works__info .location {
    font-family: 'Montserrat', sans-serif;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: grid;letter-spacing:0.08em;
    grid-template-columns: clamp(62px,70/1440 * 100vw,70px) 1fr
}

.works__item .works__info .head {
    font-size: 12px;
    font-weight: 500
}

.works__item .works__info .text {
    font-size: 12px;padding-left:2em;
    font-weight: 500
}


/* works
-------------------------------------------------------------- */
.u-fadeUp {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-transition: all 1s ease-out;
    transition: all 1s ease-out
}

.u-fadeUp.is-active {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.parallax{
    overflow: hidden;
background:#000;
}


.works__item {
    height:100vh;
    left: 0;
    top: 0px;
    width: 100%;
}

.works__item:last-child {
    margin-bottom: 0
}

.works__item .item__inner {
    display: block;overflow:hidden;
    height: 100%;
    position: relative;
    width: 100%
}

.works__item .item__inner:before {
    background-color: hsla(0,0%,7%,.4);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}


.works__item:has(.item__button:hover) .works__image{
    -webkit-transform: scale(1.08);
    transform: scale(1.08)
}

.works__item:has(.item__button:hover) .c-button{
       background: rgba(255, 255, 255, 0.8);border:none;
        color: #000;    -webkit-transition: all .8s ease-out;
    }

.works__item .works__image {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: all .8s ease-out;
    transition: all .8s ease-out;
    z-index: 1
}


.works__item .item__container {
    color: #fff;
    height: 100vh;
    left: 0;
    padding: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 3
}



.works__item .item__copy {
    display: block;
    left: 0;
    padding: 0 5.13%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%
}



.works__item .item__copy p {
    font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
    font-size: clamp(16px,14/1440 * 100vw,18px);
    letter-spacing: .2em;
    text-align: center
}



.works__item .works__info {
    left: 5.13%;
display: block;
    position: absolute;
    bottom: 5%;
    transform: translateY(-50%);
}


.works__item .works__info .works_cat {
    font-size: 12px;
    letter-spacing: .05em;
    margin-bottom: clamp(5px,10/1440 * 100vw,10px)
}


.works__item .works__info .location {
    font-family: 'Montserrat', sans-serif;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: grid;
    grid-template-columns: clamp(62px,70/1440 * 100vw,70px) 1fr
}

.works__item .works__info .head {
    font-size: 12px;
    font-weight: 500
}

.works__item .works__info .text {
    font-size: 12px;padding-left:2em;
    font-weight: 500
}

/* indx-works
-------------------------------------------------------------- */

.index__works_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;  
    gap: 0;
}

.index__works {
    height: 33.33vh;  
    position: relative;
    width: 100%;
    overflow: hidden;
}

.index__works:last-child {
    margin-bottom: 0
}

.index__works .item__inner {
    display: block;overflow:hidden;
    height: 100%;
    position: relative;
    width: 100%;margin-top:1px;
    clip-path: inset(100% 0 0 0); /* 初期状態：下に隠れている */
    transition: clip-path 1s ease; 
}

.index__works .item__inner:before {
    background-color: hsla(0, 0%, 7%, 0.4);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index:3;transition: all .5s ease-out;
}



.index__works .works__image {
    height: 100%;
    width: 100%;
    position: relative;
    overflow: hidden;
opacity: 1; 
}

.index__works .works__image img {
    width: 100%;
    height: 100%;    
    object-fit: cover;  transform: scale(1.0); 
    transition: all .8s cubic-bezier(.1,.59,.29,.99);
}



.index__works .item__inner a {
    display: block;
    position: relative;
}



.index__works .item__container {
    color: #fff;
     position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 3
}



.index__works .item__copy {
    display: block;
    left: 0;
    padding: 0 5.13%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%
}



.index__works .item__copy p {
    font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
    font-size: clamp(16px,14/1440 * 100vw,18px);
    letter-spacing: .2em;
    text-align: center
}



.index__works .works__info {
    left: 5.13%;
display: block;
    position: absolute;
    bottom: -20px;
    transform: translateY(-50%);
}


.index__works .works__info .works_cat {
    font-size: 12px;
    letter-spacing: .05em;
    margin-bottom: clamp(5px,10/1440 * 100vw,10px)
}


.index__works .works__info .location {
    font-family: 'Montserrat', sans-serif;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: grid;letter-spacing:0.08em;
    grid-template-columns: clamp(62px,70/1440 * 100vw,70px) 1fr
}

.index__works .works__info .head {
    font-size: 11px;
    font-weight: 500
}

.index__works .works__info .text {
    font-size: 11px;padding-left:2em;
    font-weight: 500
}

/* works_slider
-------------------------------------------------------------- */



#works_name {
  position: absolute;
 top: 55px;                   
   left: 0px;  padding:1em 2em;           
color: #fff;   z-index:5; 
}

#works_name h2 {
    font-size:1rem; 
    letter-spacing: 0.1em;
    line-height: 1.5em;font-family: 游明朝,Yu Mincho,yumincho,Hiragino Mincho ProN,メイリオ,meiryo,serif;
    font-weight: normal; white-space: nowrap; margin-top:.5em;
}


#works_name h1 {
margin-top:1em;padding:0;
    line-height: 1;    font-size: 0.7rem;
color:#fff;
}

#works_name h1 span{
    display: inline-block;
    padding: 0.2rem .3rem;
    border:1px solid #fff;
    line-height: 1;    font-size: 0.7rem;
color:#fff;margin-right:1em;
}




.detail {
  width: 100vw;
  height: 100vh;
  background-color: #000;
  overflow: hidden;
  position: relative;

}

.detail_slider {
  position: relative;
  width: 100%;
  height: 100%;
}

.m-slider {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0 100% 0 0)
}

.m-slider>div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(1.1);
    transform-origin: 100% 50%
}
.m-slider picture,
.m-slider img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; /* ここが超重要！ */
}
.m-slider.is-active {
    clip-path: inset(0 0 0 0);
    transition: clip-path 1s;
    z-index: 2
}

.m-slider.is-active>div {
    transform: none;
    transition: transform 3s cubic-bezier(0.215, 0.61, 0.355, 1)
}

.m-slider.is-before {
    clip-path: inset(0 0 0 0)
}

.m-slider.is-before>div {
    animation: homeProjects2 2s cubic-bezier(0.215, 0.61, 0.355, 1) both
}

@keyframes homeProjects2 {
    0% {
        transform: none
    }

    100% {
        transform: translateX(10%)
    }
}

.slider-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
background: transparent;
  border: none;
  padding:.5em;
  font-size: 2rem;
  cursor: pointer;
}

.arrow-right {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 25px;background:#222;
}
.arrow-right::before,
.arrow-right::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 50%;
  width: 6px;
  height: 2px;margin-right:-3px;
  border-radius: 9999px;
  background-color: #efefef;
transform-origin: calc(100% - 1px) 50%; outline:none
}

.arrow-right::before {
  transform: rotate(45deg);
}

.arrow-right::after {
  transform: rotate(-45deg);
}
.arrow-left {
  position: relative;
  display: inline-block;
  width: 25px;
  height: 25px;background:#222;
}

.arrow-left::before,
.arrow-left::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: 50%;margin-left:-3px;
  width: 6px;
  height:2px;
  border-radius: 9999px;
  background-color: #efefef;
  transform-origin: 1px 50%; outline:none
}

.arrow-left::before {
  transform: rotate(45deg);
}

.arrow-left::after {
  transform: rotate(-45deg);
}


.slider-btn--prev {
  left:-10PX;
}
.slider-btn--next {
  right: 0px;
}

#spec{
    margin-top:2em;
}
#spec p{
    line-height: 3;
}


.spec_wrap {letter-spacing: 0; margin-left:0px;margin-right:0px;}
 .spec_wrap th {
    padding: 0.2rem 0;
    padding-right: 2rem;min-width:100px;
}
 .spec_wrap td {
    padding: 0.2rem 0;
}
    
#spec .works_tit_wrapper{
  display: table;margin-bottom:4em;
  width: 100%;  
}

#spec .works_tit {
display: table-cell;
  vertical-align: middle;
    
}
 .spec_wrap tbody {
    vertical-align: top;
}

.spec_wrap th,
.spec_wrap td {
    padding: 0.6rem 0;
}




.spec_wrap tr {
    border-bottom: 1px solid #ccc; /* Adds a border between rows */
}



#spec .works_tit_wrapper {
    display: table;
    margin-bottom: 4em;
    width: 100%;
}

#spec .works_tit {
    display: table-cell;
    vertical-align: middle;
}

.spec_wrap tbody {
    vertical-align: top;
}



#spec .works_tit:before {content:"";position:absolute;right:10%;top:0;background:#999;width:1px;height:0;}


#spec .works_tit .ja{ display:block; font-size: .75rem;letter-spacing: .1em}

#spec .works_tit .en{ font-family: 'Montserrat', sans-serif;text-transform: uppercase;
    font-weight: 300;
    font-style: normal;
    font-size: 1.4rem;
    letter-spacing: .2em;line-height: 1.5;}


#works_detail .wp-block-columns{
		column-gap:1em!important;
row-gap:0em!important;
margin-bottom:0!important;
	}




.anim-fadeInUp {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
    transition: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform
}

.anim-fadeInUp[data-anim-status="show"] {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(0.02deg);
    transform: translateY(0) rotate(0.02deg)
}

@media (-ms-high-contrast: none) {
    .anim-fadeInUp {
        opacity: 1 !important;
        -webkit-transform: translateY(0) rotate(0.02deg) !important;
        transform: translateY(0) rotate(0.02deg) !important
    }
}

.anim-list-fadeInUp>* {
    opacity: 0;
    -webkit-transform: translateY(2rem);
    transform: translateY(2rem);
    transition: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform
}




.en span,.ja span{
 display: inline-block;
  transform: translateY(145%);
  transition: transform 1s cubic-bezier(0.25, 0.82, 0.355, 1);
}

.is-visible .en span,.is-visible .ja span {
  -webkit-transform: translateY(0px);
  transform: translateY(0px);
}
  
.msk-set {
  display: block;width:100%;
  overflow: hidden;
}

.eo span {
  display: inline-block;
  transform: translateY(-100%) skewY(-20deg);
  opacity: 0;
  transition: transform .5s ease-in-out, opacity .5s ease-in-out;
}

.is-visible .eo span {
  transform: translateY(0) skewY(0);
  opacity: 1;
}
  
/* indx-events
-------------------------------------------------------------- */


.title-section {
  text-align: center;
  padding: 20px 0px 20px;  margin:0px;

}

.title-section h2{
  font-size: 1.6rem; display: flex;
  justify-content: center;padding:0;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1.3;
}

.title-section h2.en{
font-family:'Montserrat', serif;font-weight: 300;
    text-transform: uppercase;
    font-style: normal;
    font-size: 1.6rem;
opacity: 0;
  transform: translateY(80px);
}


.title-section p.title-sub {
margin-top:5px;margin-bottom:0;
  text-align: center;
  font-size: 12px;
font-family: YakuHanJP, 'Noto Sans JP', "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;font-weight:400;
  line-height: 1.3;
}



    /* slider */

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


    .slide-media,
    .thumb-media {
      position: relative;
      overflow: hidden;
    }

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

    .splide {
      z-index: 0;position: relative; 

    }

.splide__slide a {
  pointer-events: auto;
}

    /* 前へ / 次へボタン */


.splide__slide:hover {
text-decoration:none!important;
      }


.splide__arrow--prev {
      left: calc(0% - 7rem);
    }

.splide__arrow--next {
       right:calc(0% - 7rem);
    }

    .splide__arrow--prev,
    .splide__arrow--next {
      display: grid;
      place-content: center;
      width: 25px;
      height: 25px;
      cursor: pointer;
      background-color: #222;position: absolute;
  top: 50%;z-index: 10;
  transform: translateY(-50%);
      border: 0;
    }

    .splide__arrow--prev::after,
    .splide__arrow--next::after {
      width: 6px;
      height: 6px;
      content: "";
      border:solid 2px  #fff;
      border-width: 2px 2px 0 0;
    }

    .splide__arrow--prev::after {
      transform: rotate(-135deg);
    }

    .splide__arrow--next::after {
      transform: rotate(45deg);
    }

    .splide__arrow:disabled {
      pointer-events: none;
      opacity: 0;
    }


    .splide__pagination {
      font-size: 0;
    }


    .splide-wrapper {
      position: relative;
    }

    .splide__arrow>svg {
      display: none;
    }


    .index-event,.index-news {
      overflow: hidden;
    }

    .index-event .splide__track ,.index-news .splide__track {
      overflow: visible;
    }

    .index-event .slide-content,.index-news .slide-content{
      background-color: #fff;
    }



    .index-event .slide,.index-news .slide {
      overflow: hidden;
      -webkit-transition: var(--transition), opacity 1s;
      transition: var(--transition), opacity 1s;

    }

    .index-event .slide-media{
      padding-top: 82.5%;
    }
   .index-news .slide-media{
      padding-top: 82.5%;
    }



      .index-event .slide:hover,.index-news .slide:hover {
         transition: .2s all linear; 
opacity: .5;
      }

      .index-event .slide:hover img,.index-news .slide:hover img {
        -webkit-transform: translateY(0);
        transform: translateY(0);
      }

    .index-event .slide-content,.index-news .slide-content {
      padding:5px;
    }

 

  .index-event .slide-cat_wrapper .slide-cat,.index-news .slide-cat_wrapper .slide-cat,
  .index-event .slide-cat_wrapper .status,.index-news .slide-cat_wrapper .status {
    margin-right: 0; /* 間隔を調整 */
    margin-bottom: 0.5em; /* 下に間隔を追加 */
  }




    .index-event .slide-cat_wrapper,.index-news .slide-cat_wrapper{
 display: flex; 
  align-items: center; 
  margin-top: .5em;
    }

.index-event .slide-cat_wrapper .slide-cat,.index-news .slide-cat_wrapper .slide-cat,
.index-event .slide-cat_wrapper .status,.index-news .slide-cat_wrapper .status{
  margin-right: .5em; 
  font-size: 11px;
}

.index-event .slide-cat_wrapper .slide-cat,.index-news .slide-cat_wrapper .slide-cat{
  padding: 0.4rem .4rem;
  border: 1px solid #222;
  line-height: 0.8;
  color: #222;
}

.index-event .slide-cat_wrapper .status,.index-news .slide-cat_wrapper .status  {
  color: #222;
}


    .index-event .slide-title,.index-news .slide-title{

  line-height:1.5;  font-size:0.9rem;
      display: -webkit-box;
      overflow: hidden;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
color:#111;
    }

    .index-event .splide__slide:not(.is-visible) .slide,.index-news .splide__slide:not(.is-visible) .slide {
      pointer-events: none;
      opacity:1;
    }



    @media only screen and (max-width: 1024px) {

      .l-inner {
        padding: 0 4rem;
      }

      .index-event .splide {
        padding: 0 3.2rem;
      }
    .index-news .splide {
        padding: 0 3.2rem;
      }

    }

    @media only screen and (min-width: 1025px) {

      .splide__arrow--prev::before,
      .splide__arrow--next::before {
        transition: var(--transition);
      }

      .splide__arrow--prev:hover::before,
      .splide__arrow--next:hover::before {
        transform: scale(1.2);
      }

    }


/* デフォルトのスタイル設定 */
.index-event .splide__arrows,
.index-news .splide__arrows {
  display: none; /* デフォルトで非表示にすることもできます */
}

.index-event .splide,
.index-news .splide {
  width: 130%; /* 親要素の幅を90%に設定（親要素が広くなる） */
margin-left:-15%;
}

        
/* footer
-------------------------------------------------------------- */
#foot{
background:url("../img/footer_img.webp") no-repeat;padding:3em 1em 1em;
background-color:rgba(35,35,35,0.2);background-size: cover;
background-blend-mode:darken;background-position: 40% 50%;
}



#foot a {
    color: #ebebeb;
    text-decoration: none;
}

#foot a:hover {
    color: #fff;
    transition: color .5s ease
}


.kodawari_title::before {
    background-image: url(../img/kodawari_wh.svg);
    content: '';
    display: block;
    width: 100px;
    height: 298px;
    background-position: right;
    background-repeat: no-repeat;margin-left:0px;
}

.logo_title {
    text-align: left;
   font-size:1em;
    margin-bottom:0.5em;
margin-top:0.8em;line-height:1.5em;letter-spacing:0.01em;
}
.foot_adress {display: flex;
   align-items: flex-end;
padding-bottom:0!important;
}



.adress{
    font-size:0.7em;letter-spacing:0.01em;
}

.logo_title::before {
    background-image: url(../img/header-logo.svg);
    background-size: 83px 67px;
    content: '';
    display: block;
    width: 100%;
    height: 90px;
    background-position: left;
    background-repeat: no-repeat
}

.sns {

margin-top: 4rem;margin-left:-3em;
display: flex;justify-content: center;
  align-items: center;
        column-gap: 25px;
}


.sns_cell.-instagram {
    width: 1.5rem;
}
.sns_cell.-fa {
    width: 0.8rem;
}
.sns_cell a {
    position: relative;
    display: block;
}



.copyright {
font-family:'Montserrat', serif;
    padding-top: 1em;color: #ebebeb;
    padding-bottom: 0;line-height:1.2;white-space:nowrap
    font-weight: 400;letter-spacing:0.01em;
    font-size:max(10px,0.8rem);
}

.copyright::after,.copyright::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    font-size:1rem;
}

.footer-nav{
    display: flex; flex-flow: column;margin-top:2em;
}




.footer-nav li{
   padding: .5rem 0;
}


 .footer-nav-list {
   list-style-type: none!important;
    line-height:1.5; margin:0!important;padding-left:0!important;
  
  }

 .footer-nav-list h3{
font-family: 'Montserrat', sans-serif;
font-weight: 300;
font-style: normal;color: #ebebeb;
     font-size: 1.2rem;  letter-spacing: .2em;
  }

  .footer-nav-sublist {
    margin-block-start:0;
    padding-inline-start:0px;
    line-height:1.5;margin-bottom:1em;
  }

  .footer-nav-sublist li{
  display: flex;     align-items: center;font-size:0.8rem; 
}


  .footer-nav-sublist li a {
text-align: left;display: block;text-decoration:none;
 overflow: hidden;padding: 0;
}

b {
  display: inline-block;
  margin-bottom: 1em;   margin-top: 1em; 
}
/* index_slider
-------------------------------------------------------------- */

.indx-swipe {
width: 100vw;  
  height:80vh;  
  overflow: hidden;
background:#000;
margin-top:0px;
}



#indx-images {
  position: relative;min-height: 100vh;
}

/* ロゴを中央に配置 */
.indeximg--logo {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 6; /* swiperより上に */
  width: 100px;
  height: 300px;
}

.indeximg--logo img {
  object-fit: cover;
  width: 90px;
  height: 270px;
}

.indx--slide {
  width: 100%;
  height: 100% !important
}

.indx--slides .swiper-slide {
  position: relative;
  overflow: hidden
}

.indx--slides .swiper--img {
  width: 100%;
  height: 100%
}


.indx--slides {
  position: relative;
  width: 100%;
  clip-path: inset(0 0);
}




#indx-images .swiper-container:before {
    background-color: hsla(0,0%,7%,.2);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 2
}

#indx-images .swiper-container h2 {
  position: absolute;  
  bottom: 0px;
  left: 10px;
  color: white;
  z-index: 3;   font-family: 游明朝, Yu Mincho, yumincho, Hiragino Mincho ProN, メイリオ, meiryo, serif;
  text-align: center; font-weight:300;
    font-size: 14px;background-color: transparent; letter-spacing: .2em;
}

#indx-images .swiper-container h2.reverse {
  transform: rotate(-180deg); 
 position: absolute;  
bottom: 10px;will-change: transform, filter;
  backface-visibility: hidden; 
  left: 0px;  transform-origin: center center; 

}

#indx-images .swiper-container {
width: 100vw;  
  height:80vh;  
  margin: 0;
  padding: 0; top:2px;  position: relative; 
}


/* 768px以上の画面 */
@media (min-width: 768px) {
  #indx-images .swiper-container {
    width: 100%;       /* スライダーの幅を100%に設定 */
    height: 80vh;      /* 画面の80%を高さに設定 */
  }
}

/* 768px以下の画面 */
@media (max-width: 767px) {
  #indx-images .swiper-container {
    width: 100%;       /* スライダーの幅を100%に設定 */
    height: 40vh;      /* 画面の40%を高さに設定 */
  }
}


  /* スライダー全体の高さを100%にする */
#indx-images .swiper-wrapper {
    display: flex;
   flex-direction: row; /* スライドを縦並びに変更 */
  }

#indx-images .swiper-slide {
    height: 100%; /* スライドの高さを100%に */
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* スライド内の画像の設定 */
#indx-images .swiper--img img {
    width: 100%;
    height: auto;
will-change: transform, filter; image-rendering: crisp-edges; 
  }

#indx-images .swiper-container h2.reverse {
will-change: transform, filter;
  backface-visibility: hidden; 

}

}


.img-trim img {
  width: 100%;
  height: auto;  
}

#indx-images .swiper-wrapper {
  display: flex;  
flex-direction: row;
  padding: 0;     
  margin: 0;      
  list-style: none; 
}


#indx-images .swiper-slide {
  width: 100%;    
  height: 100%;  
  display: flex;
  justify-content: center;  
  align-items: center;     
  padding: 0;     
  margin: 0;     
  overflow: hidden; 
}

#indx-images .swiper-slide img {
  width: 100%;     
  height: 100%;    
  object-fit: cover;  
}

/* 画像の余白を削除 */
.img-trim {
position:relative;}

.swiper--img {
position: absolute; /* 絶対配置で親要素内に配置 */
  top: 0;
  left: 0;
  width: 100%; 
  height: 100%;
  object-fit: cover;
}


.sw-indx--slide-right .swiper-wrapper .swiper-slide {
  transform: rotate(180deg); 
  transform-origin: center center; 
  position: relative; 
  left:0; top:1px;will-change: transform; image-rendering: crisp-edges; 
}

.sw-indx--slide-right .swiper-wrapper .swiper-slide img {
  transform: rotate(180deg);
}


/* INDEX COPY
-------------------------------------------------------------- */




#main-text .sentence_wrapper{
padding:0px 30px;    color: rgba(4, 4, 14, 0.7);margin-top:-10vh;
}

#main-text .sentence_wrapper p{
font-size:100%;padding:1em 0;
transition: clip-path 1s ease, transform 1s ease,opacity 1s ease; position: relative;
}


#main-text .sentence_wrapper h3{

    font-family: 游明朝, Yu Mincho, yumincho, Hiragino Mincho ProN, メイリオ, meiryo, serif;
    line-height: 1.5;
    padding-bottom: 1em;
color: rgba(4, 4, 14, 0.8);
    text-align: center;
    font-weight: 600;
    font-size: 1.5rem;
    padding: 0;
    margin:0 0; position: relative;  display: inline-block;

}

.midashi-popup{
position: relative;  display: inline-block;
  clip-path: inset(100% 0 0 0); 
  overflow: hidden;   
 transition: clip-path 1s ease, transform 1s ease,opacity 1s ease;
}

.sub-popup{
position: relative;  display: inline-block;
  clip-path: inset(100% 0 0 0); 
  overflow: hidden;   
 transition: clip-path 1s ease, transform 1s ease,opacity 1s ease;
}

hr.separator-break {
  border-color: #cc0000;
  width: 0;           
  border-top-width: 3px;
text-align:center;
position: relative; 
 position: relative;  

}



/* .scroll 要素のスタイル */
.scroll {
  text-align: center;
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  font-weight: 500;
  color: #464646;
  font-size: 0.75rem;
  letter-spacing: .1em;
  line-height: 1.5;
  display: inline-block;
  opacity: 1;
  transition: opacity 0.1s ease;
  writing-mode: horizontal-tb;  /* 横書きに変更 */
}

/* span要素のスタイル */
.scroll span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 文字を親要素の中央に配置 */
}

/* 線のアニメーション部分 */
.scroll::before {
  animation: scroll 2s infinite;
  background-color: #cc0000;
  bottom: -115px;
  content: "";
  height: 100px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 2px;
  top: 50%;  /* 中央に配置 */
}

/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


/* MEDIA
-------------------------------------------------------------- */

@media (orientation: landscape) {
.contact {opacity: 0;visibility: hidden;}
.mh_l{min-height: 300px; }.mh{margin-bottom:0!important}
.voice_l{min-height: 200px; }
.kodawari-copy {top: 50vh;left: 50%;transform: translate(-50%, -50%);margin-top:20px;}
.kodawari-ttl {padding-bottom:.5em;}
.kodawari-txt {text-align: center;}
.kodawari_gazo{margin-top:20px;}
.kodawari_logo{margin-top:20px;}
.indeximg--logo img {object-fit: cover;width: 80px;height: 270px;}
.indeximg--logo { position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
}


@media (min-width: 576px) { 
.mh_l{height: calc((100vh - 200px) / 3); }
.service-title{margin-top:0;}
.event-top img{height: 55vh;max-height: 300px;}
.archive_body{padding-top:0;}
.side-txt h4{padding:0 10px;}
.cat_tit{padding:20px 30px;}.archive_tit {padding:0px 30px;}
#spec .works_tit:before {height:0!important;}
.spec_wrap,.event__title,.event__cat {letter-spacing: 0; margin-left:0px;margin-right:0px;}
.kodawari_title::before {margin-left:0;}
.logo_title {font-size:1.2em;}
#foot{background-position: 40% 50%;padding:3em 2em .5em}
#sentence .container{border-left: 1px solid #ccc; border-right: 1px solid #ccc;}
.navba {width: 538px;margin:0 auto; position:relative;}
a[href] .news-list-item-title::after {display:none;}
.contact_block {padding:10px 5px 10px;}
.contact-tel {border-left: 0;}
.contact-mail {border-left:0; border-right:none;border-bottom:dotted 1px #666;padding-top:1em;}
#contact .container{padding-left:3em!important;padding-right:3em!important;}
.contact {left: 2.5rem;bottom: 2.5rem;width: 42rem;height: 6rem;border-radius: 0.3rem;border: 1px solid #ccc;}
 .sidebar_news{margin-top:0px;padding-top: 0;}
 .sidebar_archive{margin:50px 0 0;position:relative;}
 .sidebar_blog{margin-top:0;}.blogs:nth-child(1n) {border-right: 1px solid #ccc;}.staff:nth-child(1n) {border-right: 1px solid #ccc;}
.blogs:nth-child(2n) {border-right: none;}.blogs:nth-child(4n) {border-right: none;}.staff:nth-child(2n) {border-right: none;}
#works_name h2 {font-size:0.8rem; }#works_name {padding:1em 2em;}
.mh{margin-bottom:0}.flow__list {border-top:1px solid #ccc;}
#indx-images .swiper-wrapper {display: flex;flex-direction: row;}
#main-text .sentence_wrapper p{font-size:110%;}#main-text .sentence_wrapper h3{font-size: 1.4rem;}.title-section {padding: 20px 0px;}
.index-event .slide-title,.index-news .slide-title{font-size:0.9rem;}
.index-event .slide-media{padding-top: 82.5%;}.index-news .slide-media{padding-top: 82.5%;}
.index-event .splide,.index-news .splide { width: 130%; margin-left:-15%;}
.kodawari-copy {top: 50vh;left: 50%;transform: translate(-50%, -50%);}
.indeximg--logo img {object-fit: cover;width: 80px;height: 270px;}
}

@media (min-width: 768px) {
.service-title{margin-top:2em;}
.staff_body {padding:20px 15px;color:#464646;}
.staff__position {font-size: 9px;}
.staff_body p {font-size:12px; }
.mh_l{height: calc((100vh - 200px) / 3); }
.event-top img{height: 55vh;max-height: 500px;}
.cat_tit .en,.archive_tit .en{   font-size: 1.2rem;}
.archive_body{padding-top:55px;}
.side-txt h4{padding:0 0px;}
.cat_tit{padding:20px 20px;}.archive_tit {padding:0px 20px;}
#spec .works_tit:before {height:0;}
.spec_wrap,.event__title,.event__cat  {letter-spacing: 0; margin-left:0px;margin-right:0px;}
.logo_title {font-size:0.8em;}
#foot{background-position: 70% 50%;padding:3em 3em .5em}
.navba {width: 717px;margin:0 auto; position:relative;}
.head-name {z-index: 10;  position:absolute;left:80px;}
.head-name .corp {display: flex;flex-flow: column;}
.head-name .corp .id {font-size: 10px;}
.sentence_wrapper p {font-size: .8925rem;line-height: 2;}
.c-button{margin-bottom:1em;}
.gMenuBox a {padding: .6rem 0;}
.head-gnavi{position: absolute;  top: 30px;left: 360px;}
.gnavi__list a {font-size: 12px; }
#sentence .container{border-left: 1px solid #ccc; border-right: 1px solid #ccc;}
.foot_wrapper{margin:0 30px;}
.gnav{ width: 100%;}
 .sidebar_news,.sidebar_archive{margin-top:0px;border-right: 1px solid #ccc;}
 .sidebar_blog{margin-top:3em;}
.sidetit {border-bottom: 1px solid #ccc;}
.contact {left: 2.5rem;bottom: 2.5rem;width: 42rem;height: 6rem;border-radius: 0.3rem;border: 1px solid #ccc;}
.blogs:nth-child(1n) {border-right: 1px solid #ccc;}.blogs:nth-child(2n) {border-right: 1px solid #ccc;}.blogs:nth-child(3n) {border-right: none;}.blogs:nth-child(4n) {border-right: 1px solid #ccc;}.staff:nth-child(2n) {border-right: none;}.staff:nth-child(4n) {border-right: none;}
#works_name h2 {font-size:1rem; }#works_name {padding:1em;}.staff:nth-child(3n) {border-right: 1px solid #ccc;}
.mh{margin-bottom:6em}.service-title span{padding:3em 2em;margin-top:1em}.selectbox-2 { margin:15px 15px;}
.section-title{border-top: none;border-bottom: 1px solid #ccc;}.flow__list {border-top:none;}
.lock {position: absolute;top: 0;bottom: 0;left: 0;margin: auto;width: 80%;height: 3.2rem;} 
.sw-indx--slide-right .swiper-wrapper .swiper-slide {left:1px; }
#indx-images .swiper-wrapper {display: flex;flex-direction: column;}
#main-text .sentence_wrapper{padding:0px 144px;}#main-text .sentence_wrapper p{font-size:110%;}#main-text .sentence_wrapper h3{font-size: 1.8rem;}
#indx-images .swiper-container h2 {bottom: 0px;left: 30px;}
#indx-images .swiper-container h2.reverse {bottom: 50px;left: 10px;}.title-section {padding: 20px 0px 30px;}
.index-event .slide-title,.index-news .slide-title {font-size:1rem;}
.index-event .slide-media{padding-top: 62.5%;}.index-news .slide-media{padding-top: 62.5%;}.index__works {height: 50vh;}
.indeximg--logo img {object-fit: cover;width: 100px;height: 300px;}
.index-event .splide,.index-news .splide { width: 110%; margin-left:-5%;}
.kodawari-copy {top: 50vh;left: 50%;transform: translate(-50%, -50%);}
}

@media (min-width: 992px) {
.staff_body {padding:20px 20px;color:#464646;}
.staff__position {font-size: 11px;}
.staff_body p {font-size:12px; }
.mh_l{height:70vh;}
.service-title{margin-top:2em;}
.event-top img{height: 55vh;max-height: 500px;}
.cat_tit .en,.archive_tit .en{   font-size: 1.4rem;}
.archive_body{padding-top:55px;}
.side-txt h4{padding:0;}
.cat_tit{padding:20px 20px;}.archive_tit{padding:0px 20px;}
#spec .works_tit:before {height:100%!important;}
.spec_wrap,.event__title,.event__cat  {letter-spacing: 0; margin-left:0px;margin-right:0px;}
.gnavi__list a {font-size: 12px; }
#foot{background-position: 50% 50%;padding:3em 3em .5em}
.navba {width: 958px;margin:0 auto; position:relative;}
.logo_title {font-size:1em;}
#contact .container{padding-left:3em;padding-right:3em;}
.head-gnavi{position: absolute;  top: 30px;left: 440px;}
#sentence .container{border-left: 1px solid #ccc; border-right: 1px solid #ccc;}
 .sidebar_news,.sidebar_archive{padding-top: 0em;margin-top:0px;border-right: 1px solid #ccc;}
 .sidebar_blog{margin-top:3em;}
.sidetit {border-bottom: 1px solid #ccc;}
.contact {left: 2.5rem;bottom: 2.5rem;width: 42rem;height: 6rem;border-radius: 0.3rem;border: 1px solid #ccc;}
.blogs:nth-child(3n) {border-right: 1px solid #ccc;}.blogs:nth-child(4n) {border-right: none;}.staff:nth-child(2n) {border-right: 1px solid #ccc;}.staff:nth-child(3n) {border-right: none;}
#works_name h2 {font-size:1rem; }#works_name {padding:1em 2em;}
.mh{margin-bottom:6em}.service-title span{padding:3em 2em;margin-top:1em}.selectbox-2 { margin:15px 15px;}
.section-title{border-top: none;border-bottom: 1px solid #ccc;}.flow__list {border-top:none;}.lock {position: absolute;top: 0;bottom: 0;left: 0;margin: auto;width: 80%;height: 3.2rem;}
.sw-indx--slide-right .swiper-wrapper .swiper-slide {left:1px;}
#indx-images .swiper-wrapper {display: flex;flex-direction: column;}
#indx-images .swiper-container h3 {bottom: 30px;left: 30px;}#indx-images .swiper-container h3.reverse {bottom: 30px;left: 50px;}
#main-text .sentence_wrapper{padding:0px 144px;}#main-text .sentence_wrapper p{font-size:110%;}#main-text .sentence_wrapper h3{font-size: 1.8rem;}
#indx-images .swiper-container h2 {bottom: 0px;left: 30px;}
#indx-images .swiper-container h2.reverse {bottom:50px;left:10px;}.title-section {padding: 20px 0px 30px;}
.index-event .slide-title,.index-news .slide-title{font-size:1rem;}
.index-event .slide-media{padding-top: 62.5%;}.index-news .slide-media{padding-top: 82.5%;}.index__works {height: 50vh;}
.indeximg--logo img {object-fit: cover;width: 100px;height: 300px;}
.index-event .splide,.index-news .splide { width: 110%; margin-left:-5%;}
.kodawari-copy {top: 50vh;left: 50%;transform: translate(-50%, -50%);}
}

@media (min-width: 1200px) { 
.mh_l{height: 70vh;}
.service-title{margin-top:2em;}
.event-top img{height: 55vh;max-height: 500px;}
.cat_tit .en,.archive_tit .en{   font-size: 1.4rem;}
.archive_body{padding-top:55px;}
.side-txt h4{padding:0;}
.cat_tit {padding:20px 20px;}.archive_tit{padding:0px 20px;}
#spec .works_tit:before {height:100%!important;}
.spec_wrap,.event__title,.event__cat  {letter-spacing: 0; margin-left:0px;margin-right:0px;}
#foot{background-position: 50% 50%;padding:3em 3em .5em}
.navba {width: 1138px;margin:0 auto; position:relative;}
.head-gnavi{z-index:5; position: absolute;  top: 30px;left: 440px;}
#sentence .container{border-left: 1px solid #ccc; border-right: 1px solid #ccc;}
 .sidebar_news,.sidebar_archive{padding-top: 0em;margin-top:0px;border-right: 1px solid #ccc;}
 .sidebar_blog{margin-top:3em;}
.sidetit {border-bottom: 1px solid #ccc;}
.contact {left: 2.5rem;bottom: 2.5rem;width: 52rem;height: 6rem;border-radius: 0.3rem;border: 1px solid #ccc;}
.blogs:nth-child(4n) {border-right: none;}.blogs:nth-child(3n) {border-right: 1px solid #ccc;}.staff:nth-child(2n) {border-right: 1px solid #ccc;}.staff:nth-child(3n) {border-right: none;}
#works_name h2 {font-size:1rem; }#works_name {padding:1em 2em;}
.mh{margin-bottom:6em}.service-title span{padding:3em 2em;margin-top:1em}.selectbox-2 { margin:15px 15px;}
.section-title{border-top: none;border-bottom: 1px solid #ccc;}
.flow__list {border-top:none;}
.sw-indx--slide-right .swiper-wrapper .swiper-slide {left:1px; }
#indx-images .swiper-wrapper {display: flex;flex-direction: column;}
#indx-images .swiper-container h3 {bottom: 30px;left: 30px;}#indx-images .swiper-container h3.reverse {bottom: 30px;left: 50px;}
#main-text .sentence_wrapper{padding:0px 144px;}#main-text .sentence_wrapper p{font-size:110%;}#main-text .sentence_wrapper h3{font-size: 1.8rem;}
#indx-images .swiper-container h2 {bottom: 0px;left: 30px;}
#indx-images .swiper-container h2.reverse {bottom: 50px;left: 10px;}.title-section {padding: 20px 0px 30px;}
.index-event .slide-title,.index-news .slide-title{font-size:1rem;}    
.index-event .slide-media{padding-top: 62.5%;}.index-news .slide-media{padding-top: 82.5%;}
.index__works {height: 50vh;}
.indeximg--logo img {object-fit: cover;width: 100px!important;height: 300px!important;}.indeximg--logo{margin-left:-10px}
.index-event .splide,.index-news .splide { width: 110%; margin-left:-5%;}
.kodawari-copy {top: 50vh;left: 50%;transform: translate(-50%, -50%);}
 }









/* SHORTTAG
-------------------------------------------------------------- */

.mt05 {
    margin-top: 0.5em;
}
.mt1 {
    margin-top: 1em;
}
.mt15 {
    margin-top: 1.5em;
}
.mt2 {
    margin-top: 2em;
}
.mt25 {
    margin-top: 2.5em;
}
.mt3 {
    margin-top: 3em;
}
.mt35 {
    margin-top: 3.5em;
}
.mt4 {
    margin-top: 4em;
}
.mt45 {
    margin-top: 4.5em;
}
.mt5 {
    margin-top: 4em;
}
.mt55 {
    margin-top: 5.5em;
}
.mt6 {
    margin-top: 6em;
}
.mt65 {
    margin-top: 6.5em;
}
.mt7 {
    margin-top: 7em;
}
.mt75 {
    margin-top: 7.5em;
}
.mt8 {
    margin-top: 8em;
}
.mt85 {
    margin-top: 8.5em;
}
.mt9 {
    margin-top: 9em;
}
.mt95 {
    margin-top: 9.5em;
}
.mt10 {
    margin-top: 10em;
}
.mb00 {
    margin-bottom: 0;
}
.mb05 {
    margin-bottom: 0.5em;
}
.mb1 {
    margin-bottom: 1em;
}
.mb2 {
    margin-bottom: 2em;
}
.mb25 {
    margin-bottom: 2.5em;
}
.mb3 {
    margin-bottom: 3em;
}
.mb35 {
    margin-bottom: 3.5em;
}
.mb4 {
    margin-bottom: 4em;
}
.mb45 {
    margin-bottom: 4.5em;
}
.mb5 {
    margin-bottom: 4em;
}
.mb55 {
    margin-bottom: 5.5em;
}
.mb6 {
    margin-bottom: 6em;
}
.mb65 {
    margin-bottom: 6.5em;
}
.mb7 {
    margin-bottom: 7em;
}
.mb75 {
    margin-bottom: 7.5em;
}
.mb8 {
    margin-bottom: 8em;
}
.mb9 {
    margin-bottom: 9em;
}
.mb10 {
    margin-bottom: 10em;
}
.mb11 {
    margin-bottom: 11em;
}
.mb12 {
    margin-bottom: 12em;
}
.mb13 {
    margin-bottom: 13em;
}
.mb14 {
    margin-bottom: 14em;
}
.mb15 {
    margin-bottom: 15em;
}
.mr05 {
    margin-right: 0.5em;
}
.mr1 {
    margin-right: 1em;
}
.mr15 {
    margin-right: 1.5em;
}
.mr2 {
    margin-right: 2em;
}
.mr25 {
    margin-right: 2.5em;
}
.mr3 {
    margin-right: 3em;
}
.mr35 {
    margin-right: 3.5em;
}
.mr4 {
    margin-right: 4em;
}
.mr45 {
    margin-right: 4.5em;
}
.mr5 {
    margin-right: 5em;
}
.mr55 {
    margin-right: 5.5em;
}
.mr6 {
    margin-right: 6em;
}
.ml05 {
    margin-left: 0.5em;
}
.ml1 {
    margin-left: 1em;
}
.ml15 {
    margin-left: 1.5em;
}
.ml2 {
    margin-left: 2em;
}
.ml25 {
    margin-left: 2.5em;
}
.ml3 {
    margin-left: 3em;
}
.ml35 {
    margin-left: 3.5em;
}
.ml4 {
    margin-left: 4em;
}
.ml45 {
    margin-left: 4.5em;
}
.ml5 {
    margin-left: 4em;
}
.ml55 {
    margin-left: 5.5em;
}
.ml6 {
    margin-left: 6em;
}
.mt_05 {
    margin-top: -.5em;
}
.mt_1 {
    margin-top: -1em;
}
.mt_15 {
    margin-top: -1.5em;
}
.mt_2 {
    margin-top: -2em;
}
.mt_25 {
    margin-top: -2.5em;
}
.mt_3 {
    margin-top: -3em;
}
.mt_35 {
    margin-top: -3.5em;
}
.mt_4 {
    margin-top: -4em;
}
.mt_45 {
    margin-top: -4.5em;
}
.mt_5 {
    margin-top: -4em;
}
.mt_55 {
    margin-top: -5.5em;
}
.mt_6 {
    margin-top: -6em;
}
.pb1 {
    padding-bottom: 1em;
}
.pb15 {
    padding-bottom: 1.5em;
}
.pb2 {
    padding-bottom: 2em;
}
.pb25 {
    padding-bottom: 2.5em;
}
.pb3 {
    padding-bottom: 3em;
}
.pb35,
.pb4 {
    padding-bottom: 3.5em;
}
.pb45 {
    padding-bottom: 4em;
}
.pb5 {
    padding-bottom: 4.5em;
}
.pb55 {
    padding-bottom: 5.5em;
}
.pb6 {
    padding-bottom: 6em;
}
.pb7 {
    padding-bottom: 7em;
}
.pb8 {
    padding-bottom: 8em;
}
.pt1 {
    padding-top: 1em;
}
.pt15 {
    padding-top: 1.5em;
}
.pt2 {
    padding-top: 2em;
}
.pt25 {
    padding-top: 2.5em;
}
.pt3 {
    padding-top: 3em;
}
.pt35,
.pt4 {
    padding-top: 3.5em;
}
.pt45 {
    padding-top: 4em;
}
.pt5 {
    padding-top: 4.5em;
}
.pt55 {
    padding-top: 5.5em;
}
.pt6 {
    padding-top: 6em;
}
.pl1 {
    padding-left: 1em;
}
.pl15 {
    padding-left: 1.5em;
}
.pl2 {
    padding-left: 2em;
}
.pl25 {
    padding-left: 2.5em;
}
.pl3 {
    padding-left: 3em;
}
.pl35,
.pl4 {
    padding-left: 3.5em;
}
.pl45 {
    padding-left: 4em;
}
.pl5 {
    padding-left: 4.5em;
}
.pl55 {
    padding-left: 5.5em;
}
.pl6 {
    padding-left: 6em;
}
.pr1 {
    padding-right: 1em;
}
.pr15 {
    padding-right: 1.5em;
}
.pr2 {
    padding-right: 2em;
}
.pr25 {
    padding-right: 2.5em;
}
.pr3 {
    padding-right: 3em;
}
.pr35,
.pr4 {
    padding-right: 3.5em;
}
.pr45 {
    padding-right: 4em;
}
.pr5 {
    padding-right: 4.5em;
}
.pr55 {
    padding-right: 5.5em;
}
.pr6 {
    padding-right: 6em;
}
.pr7 {
    padding-right: 7em;
}
.pr8 {
    padding-right: 8em;
}

