@charset "UTF-8";


/* -----------------------------------------------------------
	LIMITED共通
----------------------------------------------------------- */
main {
    font-family: var(--sub-font);
    padding: 184px 0 50px;
}
h2{
    margin-bottom:50px;
}
h2 img{
    width: auto;
    height:30px;
}
h3{
    font-size: 20px;
    margin-bottom:20px;
}


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

h2 {
    margin-bottom: 10px;
}
    h2 img {
    width: auto;
    height: 18px;
}
 }
@media screen and (max-width: 1000px) {
h2 {
    margin-bottom: 30px;
}
h2 img {
    width: auto;
    height: 20px;
}
    }

@media screen and (max-width: 767px) {
main {
    padding: 100px 0 0;
}
h2 {
        margin-bottom: 30px;
    }

    .floating-menu .list li {

        width: calc(100% / 3);
    }
    }




/*メインエリア共通*/
.main_area{
    padding:90px 0;
    background: #f9f8f4;
}
.main_area .wrap{
    display: flex;
    align-items: flex-end;
    gap:5%;
    max-width: 1800px;
}
.main_area .wrap .left{
    max-width: 45%;
    position: relative;
}
.main_special_pc{
    display: block;
}
.main_special_tabsp{
    display: none;
}
.main_area .wrap .left .cap{
    color:#fff;
    position: absolute;
    text-shadow: 0 0 2px #000;
    bottom:4px;
    right: 8px;
    font-size:12px;
    font-family: var(--main-font);
    
    
}
.main_area .wrap .right{
    flex: 1;
    width: 50%;
    padding-right: 5%;
}
.main_area .wrap .right ul{
    display: flex;
    gap:3%;
    font-family: "yu-gothic-pr6n", sans-serif;
    font-size:12px;
}
.main_area .wrap .right ul li{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
        width: calc(100% / 3);
}
.main_area .wrap .right ul li .text{
    line-height: 1.6em;
    margin-bottom: 10px;
}
.main_area .wrap .right ul li .image{
    
}

.main_area .wrap .right ul li .image span{
   
}
.main_area .wrap .right ul li a{
    border-bottom:1px solid #4d4a52;
    display: block;
    padding:5px 0;
}
.main_area .wrap .right ul li a :hover{
    opacity:0.6;
    transition: opacity 0.6s ease;
}
.main_area .wrap .right ul li img.readmore{
    
}


.main_area .wrap .right .title_contents{
    margin-bottom:20px;
}
.main_area .wrap .right .title_contents img{
    width:112px;
}
.main_area .wrap .right ul li .text .vol img{
    height:8px;
    width: auto;
    margin-bottom:8px;
}



/*サブエリア共通*/
.sub_area .title{
     margin: 0 auto 60px;
    position: relative;
    display: inline-block; /* 必要に応じて */
    padding-bottom:10px;
    font-size: 30px;
}

.sub_area .title::after {
  content: "";
  position: absolute;
  bottom: -8px; /* 画像の下から8px下に線を配置（必要に応じて調整） */
  left: 50%;
  transform: translateX(-50%);
  width: 30px;              /* 横線の長さ */
  height: 2px;              /* 線の太さ */
  background-color: #333;   /* 線の色 */
}

.sub_area{
    text-align: center;
}

.sub_area .cap{
    display: block;
    text-align: right;
    padding:0 10px 0 0;
     font-family: var(--main-font);
}
.sub_area .text{
    padding:50px 0 70px;
}

.parallax_container {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
}

.parallax_inner {
    position: absolute;
    top: -324px;
    left: 0;
    width: 100%;
    height: 150%; /* 1.5倍で上下余白を作る */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: translateY(0);
    will-change: transform;
}



.cap{
    font-size:10px;
}
@media screen and (max-width: 1200px) {
.main_area .wrap{
    gap:3%;
}
.main_area .wrap .left{
    max-width: 43%;
}

.main_area .wrap .right{
    width: 54%;
    padding-right: 2%;
}
.main_area .wrap .right .title_contents {
    margin-bottom: 15px;
}

.main_area .wrap .right ul li .image img.readmore{
     
}
.main_area .wrap .right ul li:nth-child(3) .image img.readmore{
     
}
    }
@media screen and (max-width: 1000px) {
.main_area{
    padding:0 0 90px 0;
}
.main_area .wrap .left {
    max-width: 100%;
    margin-bottom: 50px;
    }
.main_area .wrap .right {
    width: 90%;
    padding-right: 0;
    }
.main_area .wrap {
    align-items: center;
    gap: 5%;
    flex-direction: column;
}
.main_area .wrap .left .main_special_pc{
    display: none;
}
.main_area .wrap .left .main_special_tabsp{
    display: block;
}
.parallax_container {
    height: 350px;
}
 .sub_area .title {
    font-size: 24px; 
}   
    }

@media screen and (max-width: 767px) {
.main_area .wrap .right {
        width: 90%;
        padding-right: 0;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: column;
        align-content: center;
        align-items: center;
    }
.main_area .wrap .right .title_contents img{
    width:136px;
}
.main_area .wrap .right ul {
    font-size: 12px;
    flex-direction: column;
    width: 70%;
}
.main_area .wrap .right ul li {
    margin-bottom: 35px;
            width: 100%;
}
.main_area .wrap .right ul li .text {
    line-height: 1.3;
    font-size: 14px;
    }
.main_area .wrap .right .title_contents {
    margin-bottom: 20px;
    }
.main_area .wrap .right ul li .image img.readmore{
    height:100%; 
}
 .main_area .wrap .right ul li a{
        padding: 10px 0;
}
.main_area .wrap .right ul li:nth-child(3) .image img.readmore {

    }

.sub_area .title {
    font-size: 16px;
    margin: 0 auto 40px;
    }
.sub_area .text2 {
    line-height: 2.2;
    letter-spacing: -0.02em;
    }
.parallax_container {
    height: 250px;
}
.parallax_inner {
    top: -466px;
    }

}

/* -----------------------------------------------------------


	SPECIAL 01


----------------------------------------------------------- */
#special_01 .block_area_01{
    padding:40px 0;
    text-align: center;
}
#special_01 .block_area_01 .area_title{
    font-size: 30px;
    padding-bottom:120px;
        letter-spacing: 0.2em;
}


#special_01 .block_area_01 .area_title span{
    font-size: 16px;
    display: block;
    
}

/*--------------トップエリア--------------*/
#special_01 .block_area_01 .box{
    text-align: left;
    margin-bottom:90px;
}

/*左右*/
#special_01 .block_area_01 .box .flex_box{
    display: flex;
    gap: 5%;
}
#special_01 .block_area_01 .box_01 .flex_box,
#special_01 .block_area_01 .box_03 .flex_box,
#special_01 .block_area_01 .box_05 .flex_box{
    flex-direction: row;
}
#special_01 .block_area_01 .box_02 .flex_box,
#special_01 .block_area_01 .box_04 .flex_box{
    flex-direction: row-reverse;
}
#special_01 .block_area_01 .box .flex_box .text_box{
    flex: 1;
}

/*左右サイズ*/
#special_01 .block_area_01 .box_01 .flex_box .image_box,
#special_01 .block_area_01 .box_02 .flex_box .image_box,
#special_01 .block_area_01 .box_05 .flex_box .image_box{
    width:41%;
}
#special_01 .block_area_01 .box_03 .flex_box .image_box,
#special_01 .block_area_01 .box_04 .flex_box .image_box{
    width:50%;
}

/*共通*/
#special_01 .block_area_01 .box .flex_box .text_box h3{
    font-size: 22px;
    line-height: 1.6em;
    letter-spacing: 0.2em;
}
#special_01 .block_area_01 .box .flex_box .text_box .text{
    line-height: 2em;
}
#special_01 .block_area_01 .box .flex_box .text_box .cap{
    font-size: 10px;
    padding-top:10px;
    padding-top: 5px;
    line-height: 1.5;
}
#special_01 .block_area_01 .box .flex_box .image_box .cap{
    font-size: 10px;
    padding-top: 5px;
    line-height: 1.5;
}
/*box_02 キャプション*/
/*box_05 キャプション*/
#special_01 .block_area_01 .box_02 .flex_box .image_box .cap_wrap,
#special_01 .block_area_01 .box_05 .flex_box .image_box .cap_wrap{
    position: relative;
}
#special_01 .block_area_01 .box_02 .flex_box .image_box .cap,
#special_01 .block_area_01 .box_05 .flex_box .image_box .cap{
    color:#fff;
    position: absolute;
    text-shadow: 0 0 2px #000;
    bottom:4px;
    right: 6px;
}
/*box_02 リスト*/
#special_01 .block_area_01 .box_02 .bottom{
    padding-top:50px;
}
#special_01 .block_area_01 .box_02 .bottom ul{
    display: flex;
    gap:1%;
}
#special_01 .block_area_01 .box_02 .bottom ul li .cap{
    font-size: 10px;
}
#special_01 .block_area_01 .box_02 .bottom ul li:nth-child(3){
    position: relative;
}
#special_01 .block_area_01 .box_02 .bottom ul li:nth-child(3) .cap{
    color:#000;
    position: absolute;
    bottom: 20px;
    right: 6px;
}
/*box_03 画像*/
#special_01 .block_area_01 .box_03 .text_box_image{
    padding-top: 30px;
}


/*--------------ボトムエリア--------------*/
#special_01 .block_area_02{
    background: #f9f8f4;
    padding:50px 0;
}
#special_01 .block_area_02 .title{
    font-size:22px;
}
#special_01 .block_area_02 .title span{
    font-size:10px;
}
#special_01 .block_area_02 .title span.en{
    font-size:10px;
    display: block;
}
/*上*/
#special_01 .block_area_02 .box_top{
    margin-bottom:50px;
}
#special_01 .block_area_02 .box_top .image_box{
    margin-bottom:30px;
    flex:1;
}
#special_01 .block_area_02 .box_top .text_box{
    display: flex;
}
#special_01 .block_area_02 .box_top .text_box .title{
    width:34%;
}
#special_01 .block_area_02 .box_top .text_box .text{
    flex:1;
    letter-spacing: 0.04em;
}
/*下*/
#special_01 .block_area_02 .box_bottom{
    
}
#special_01 .block_area_02 .box_bottom ul{
    display: flex;
    gap:3%;
}
#special_01 .block_area_02 .box_bottom ul li{
    width:calc(94%/3);
}
#special_01 .block_area_02 .box_bottom ul li .image{
    margin-bottom:20px;
}
#special_01 .block_area_02 .box_bottom ul li .title{
    margin-bottom:20px;
}
#special_01 .block_area_02 .box_bottom ul li .title span{
    
}

@media screen and (max-width: 1000px) {
#special_01 .block_area_01 .box {
    margin-bottom: 80px;
}
#special_01 .block_area_01 .area_title {
    font-size: 24px;
    padding-bottom: 100px;
}
#special_01 .block_area_01 .box .flex_box .text_box h3 {
    font-size: 20px;
}
#special_01 .block_area_02 .title {
    font-size: 20px;
}
    }

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

#special_01 .block_area_01 {
    padding: 0;
    text-align: center;
            letter-spacing: -0.02em;
}
#special_01 .block_area_01 .area_title {
        font-size: 20px;

    padding-top: 20px;
    }
#special_01 .block_area_01 .box .flex_box {

    flex-wrap: wrap;
    flex-direction: column;
}
    #special_01 .block_area_01 .box .flex_box .text_box h3 {
        font-size: 18px;
    }
#special_01 .block_area_01 .box_01 .flex_box .image_box,
#special_01 .block_area_01 .box_02 .flex_box .image_box, 
#special_01 .block_area_01 .box_05 .flex_box .image_box {
    width: 100%;
    margin-bottom: 20px;
}
#special_01 .block_area_01 .box_03 .flex_box .image_box, 
#special_01 .block_area_01 .box_04 .flex_box .image_box {
    width: 100%;
    margin-top: 0;
}
  #special_01 .block_area_01 .box_04 .flex_box .image_box {
        margin-top: 0;
    }  
    #special_01 .block_area_01 .box .flex_box .text_box .text {
        margin-bottom: 20px;
    }
    
#special_01 .block_area_01 .box_03 .text_box_image {
    padding-top: 0px;
}
    #special_01 .block_area_01 .box_03 .text_box_image {
        margin-bottom: 10px;
    }
#special_01 .block_area_01 .box_02 .bottom {
    padding-top: 0;
    margin: 0 auto;
}
#special_01 .block_area_01 .box_02 .bottom ul {
    flex-direction: column;
}
#special_01 .block_area_01 .box_02 .bottom ul li .cap {
    font-size: 10px;
    text-align: right;
}
#special_01 .block_area_01 .box_02 .bottom ul li{
    margin-bottom: 10px;
}
#special_01 .block_area_01 .box_02 .bottom ul li:nth-child(3) .cap {
    bottom: 5px;
}
    #special_01 .block_area_02 .box_top .text_box {
    display: flex
;
    flex-direction: column;
}
#special_01 .block_area_02 .box_top .text_box .title {
    width: 100%;
    margin-bottom: 10px;
}
#special_01 .block_area_02 .box_top .text_box .text,
#special_01 .block_area_02 .box_bottom ul li .text2{
    letter-spacing: -0.02em;
    line-height: 1.8;
}
#special_01 .block_area_02 .box_bottom ul {
    flex-direction: column;
}
#special_01 .block_area_02 .box_bottom ul li {
    width: 100%;
    margin-bottom: 30px;
}
#special_01 .block_area_02 .box_bottom ul li .title {
    margin-bottom: 10px;
}
    #special_01 .block_area_02 .title {
        font-size: 18px;
    }
#special_01 .block_area_02 .box_top .image_box {
    margin-bottom: 20px;
}
    #special_01 .block_area_02 .box_bottom ul li {
        margin-bottom: 50px;
    }

    }




/* -----------------------------------------------------------


	SPECIAL 02


----------------------------------------------------------- */
#special_02 .sub_area .text ul{
    display: flex;
    justify-content: center;
    padding-top:50px;
    width:100%;
}
#special_02 .sub_area .text ul li{
    border-right:1px solid #000;
    flex: 1;
    font-size: 12px;
}
#special_02 .sub_area .text ul li:first-child{
    border-left:1px solid #000;
}
#special_02 .sub_area .text ul li span{
    font-size:22px;
    padding:0 3px;
        letter-spacing: 0.1em;
}


/*--------------インタビューエリア--------------*/
#special_02 .block_area_01{
    background: #f9f8f4;
    padding:80px 0;
}

#special_02 .block_area_01 .box{
    text-align: left;
    margin-bottom:90px;
}

#special_02 .block_area_01 .box .question{
    font-size: 20px;
    margin-bottom:20px;
    position: relative;
    padding-left: 2.5em;
}
#special_02 .block_area_01 .box .question::before{
  content: "";
  position: absolute;
  top: 0.8em; /* テキストの高さに合わせて微調整 */
  left: 0;
  width: 2em; /* 線の長さ */
  height: 1px; /* 線の太さ */
  background: #000; /* 線の色 */
}

/*左右*/
#special_02 .block_area_01 .box .flex_box{
    display: flex;
    gap: 5%;
}
#special_02 .block_area_01 .box_01 .flex_box,
#special_02 .block_area_01 .box_04 .flex_box,
#special_02 .block_area_01 .box_07 .flex_box{
    flex-direction: row;
}
#special_02 .block_area_01 .box_02 .flex_box,
#special_02 .block_area_01 .box_06 .flex_box{
    flex-direction: row-reverse;
}
#special_02 .block_area_01 .box_03 .flex_box,
#special_02 .block_area_01 .box_05 .flex_box{
    display:block;
}

/*左右サイズ*/
#special_02 .block_area_01 .box .flex_box .text_box{
    flex: 1;
}
#special_02 .block_area_01 .box .flex_box .image_box{
    width:37%;
}

/*キャプション*/
#special_02 .block_area_01 .box .flex_box .text_box .cap{
    font-size: 10px;
    padding-top:10px;
}
#special_02 .block_area_01 .box .flex_box .image_box .cap{
    font-size: 10px;
    padding-top:2px;
}

/*box_05*/
#special_02 .block_area_01 .box_05 .bottom{
    padding-top:50px;
}
#special_02 .block_area_01 .box_05 .bottom ul{
    display: flex;
    gap:1%;
}
#special_02 .block_area_01 .box_05 .bottom ul li .cap{
    font-size: 10px;
}




@media screen and (max-width: 1000px) {
    
#special_02 .block_area_01 {
    padding: 80px 0 10px;
}
#special_02 .block_area_01 .box {
    margin-bottom: 70px;
}

#special_02 .sub_area .text ul li span {
    font-size: 20px;
}
    

}

@media screen and (max-width: 767px) {
#special_02 .block_area_01 {
        letter-spacing: -0.02em;
    }
#special_02 .sub_area .text ul {
    flex-direction: column;
    border-bottom: 1px solid #dcdcdc;
    border-top: 1px solid #dcdcdc;
            padding: 10px 0;
        margin-top: 40px;
    }


#special_02 .sub_area .text ul li:first-child {
    border-left:none;
    padding: 15px 0 0 0;
    }
#special_02 .sub_area .text ul li {
    border-right: none;
    padding: 10px 0 15px 0;
    }
#special_02 .sub_area .text ul li span {
        font-size: 16px;
    }

#special_02 .block_area_01 .box .question {
    font-size: 16px;
 
}

#special_02 .block_area_01 .box_01 .flex_box, 
    #special_02 .block_area_01 .box_04 .flex_box, 
    #special_02 .block_area_01 .box_07 .flex_box {
    flex-direction: column;
}
#special_02 .block_area_01 .box_02 .flex_box, 
#special_02 .block_area_01 .box_06 .flex_box {
    flex-direction: column;
}
#special_02 .block_area_01 .box .flex_box .image_box {
    width: 100%;
    margin-top: 30px;
}
#special_02 .block_area_01 .box_05 .bottom ul {
    flex-direction: column;
}
#special_02 .block_area_01 .box_05 .bottom {
    padding-top: 20px;
}

#special_02 .block_area_01 .box_05 .bottom ul li:nth-child(2){
    margin-top: 20px;
    }
    
    }







/* -----------------------------------------------------------


	SPECIAL 03


----------------------------------------------------------- */
html{
    scroll-behavior: smooth;
}
#special_03 .sub_area .text2{letter-spacing: -0.02em;}
#special_03 .sub_area .text ul{
    display: flex;
    justify-content: center;
    margin-top:50px;
    width:100%;
    border-top:1px solid #4a484e;
    border-bottom:1px solid #4a484e;
    padding:15px 0;
}
#special_03 .sub_area .text ul li{
    border-right:1px solid #4a484e82;
    flex: 1;
    
    position: relative;
    display: inline-block; 
    padding-bottom: 4px;
}

/* 下線はデフォルトでは非表示 */
.anchor-menu li::after {
  content: "";
  position: absolute;
  left: 0;
 bottom: -15px;
  width: 0%;
  height: 2px;
  background: #4a484f;
  transition: width 0.3s ease;
}

/* activeになったらアニメーションで下線表示 */
.anchor-menu li:hover::after{
  width: 100%;
}


#special_03 .sub_area .text ul li:last-child{
    border-right:none;
}
#special_03 .sub_area .text ul li img{
    height:14px;
}

#special_03 .sub_area .text ul li:hover{
    transition: opacity 0.3s ease;

}
#special_03 .parallax_container {
    position: relative;
    width: 100%;
    height: auto;
    overflow: auto;
}


/*--------------エリア--------------*/
#special_03 .block_area_01,
#special_03 .block_area_02,
#special_03 .block_area_03{
    background: #f9f8f4;
}
#special_03 .block_area_01,
#special_03 .block_area_02,
#special_03 .block_area_03{
    padding: 80px 0 160px;
}
#special_03 .box h2{
    margin-bottom:40px;
    font-size: 24px;
}
#special_03 .box h2 img{
    height:18px;
    margin-right:10px;
}
#special_03 .box h2 span{
    font-size: 12px;
    font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
#special_03 .box h3 {
    font-size: 22px;
}

#special_03 .box_top{
    margin-bottom:50px;
}
#special_03 .box_top .image_box{
    
}
#special_03 .box_bottom .box{
    text-align: left;
    margin-bottom:90px;
}
#special_03 .box_bottom .flex_box{
    display: flex;
    gap: 5%;
    margin-bottom: 50px;
   
}
#special_03 .box_bottom .flex_box .text_box {
    flex: 1;
    letter-spacing: -0.08em;
}
#special_03 .box_bottom .image_box{
    width: 41%;
}
#special_03 .box_bottom .bottom ul {
    display: flex;
    gap: 1%;
}

#special_03 .box_bottom .cap{
    font-size:12px;
}
#special_03 .box_bottom .cap .title{
    margin: 15px 0 10px;
}
#special_03 .box_bottom .cap .title span{
    font-family: "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 10px;
}
#special_03 .box_bottom .cap .title img{
    height:14px;
    width: auto;
    margin-right: 10px;
    margin-top: -5px;
}

@media screen and (max-width: 1000px) {
#special_03 .block_area_01,
#special_03 .block_area_02,
#special_03 .block_area_03{
    padding: 50px 0 70px;
}

}

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

#special_03 .sub_area .text ul {
    flex-direction: column;
    width:80%;
    margin:40px auto 0;
    padding:0;
}
#special_03 .sub_area .text ul li{
    border-right:0;
    border-bottom: 1px solid #4a484e2e;
}
#special_03 .sub_area .text ul li:nth-child(3){
    border-bottom:none;
}
#special_03 .sub_area .text ul li img {
    height: 13px;
}
#special_03 .sub_area .text ul li a{
    padding: 15px 0;
    display: block;
}
.anchor-menu li::after {
  content: none;
}   
    
#special_03 .block_area_01, #special_03 .block_area_02, #special_03 .block_area_03 {
    padding: 40px 0 50px;
}

#special_03 .box h2 img {
    height: 18px;
    margin-right: 0;
}
#special_03 .box h2 span {
    font-size: 10px;
    display: block;
}   
#special_03 .box h3 {
    font-size: 18px;
    line-height: 1.4em;
    margin-bottom: 20px;
}
#special_03 .box_top {
    margin-bottom: 25px;
}
#special_03 .box_bottom .flex_box {
    margin-bottom: 40px;
    flex-direction: column;
}
#special_03 .box_bottom .flex_box .text_box {
    margin-bottom: 40px;
    letter-spacing: 0;
}    
#special_03 .box_bottom .image_box {
    width: 100%;
} 

#special_03 .box_bottom .bottom ul li{
    margin-bottom:5px;
} 
#special_03 .box_bottom .cap {
    font-size: 10px;
}
#special_03 .box_bottom .cap .title img {
    height: 12px;
    margin-right: 5px;
}  
    }



/* スマホだけスライダー化 */
@media (max-width: 767px) {
    #special_03 .box_bottom .bottom ul{
        display: none;
    }
.slider2 {
  margin-inline: auto;
}
.slider-img {
  margin: 0 5px;
}

.slick-initialized .slick-slide {
    width: 300px;
}
.slider2 .slick-slide img {
  height: auto;    /* アスペクト比を保持 */
  margin: 0 auto;  /* 中央寄せ */
  display: block;
}
}



@media (max-width: 500px) {
.slick-initialized .slick-slide {
    width: 240px;
}

}


