.move-up-down {
    width: 30px;
    height: 30px;
    background-image: url('../img/scroll_sp.png');
    background-size: cover;
    position: relative;
    animation: upDown 2s infinite;
}

@keyframes upDown {
    0% {
        top: 0;
        opacity: 1;
    }

    50% {
        top: 30px;
        /* 動かす距離 */
        opacity: 1;
    }

    51% {
        top: 30px;
        /* 動かす距離 */
        opacity: 0;
    }

    75% {
        top: 0px;
        opacity: 0;
    }

    100% {
        top: 0;
        opacity: 0;
    }
}

@media screen and (max-width: 684px) {
    html {
        /*overflow: scroll;
  		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;*/
    }
    body {
		
        background:url("../img/mv_sp.jpg") center top -50px no-repeat;
		background-size: 100%;
    }

    .mv {
        position: relative;
        width: 100%;
        /*height: 135VW;*/
        /*height: calc(100vh - 45VW);*/
        height: calc(100dvh - 15VW);
        /*margin-bottom: -3VW;*/
        margin-top: -60px;
    }

    .mv {
        width: 100%;
		height:  120VW;;
        overflow: hidden;
        /*margin-top: -100px;*/
		text-align: center;
    }
    .mv p{
		font-size:16px;
		line-height:1.5;
    }

    .mv .inner {
        width: 100%;
        height: 700px;
        margin: 0 auto;
    }

    .mv .mv_title {
        width: 30%;
        min-width: 310px;
        height: 90px;
        top: 45%;
        left: 0;
        display: block;
        z-index: 9998;
        background-color: rgba(11, 26, 55, 0.9);
        text-align: right;
    }
	.mv-catch {
		margin-top: 25VW;
	}

    .mv_title img {
        width: 100%;
        height: auto;
    }

    .mv .btn_w_01 {
        margin: 2.5rem auto 2.5rem;
    }
	
	#catch img,
	#access img,
    #madori img{
        width: 100%;
    }

    #catch {
		padding-top:32VW!important;
    	background:url("../img/fair_header_sp.jpg") center top no-repeat!important;
		background-size: 100%!important;
      	background-color: #fff1a2!important;
    }
    #catch .inner{
        width: 100%;
    }
    #catch ul {
		width:100%;
		margin: 0 auto;
    }
	
    #madori h2 + p{
		font-size:14px;
		margin-bottom:10VW;
    }
    #madori .inner{
        width: 92%;
		margin: 0 auto;
    }
	
	#madori .madori_top {
		width:100%;
		height:233px;
		margin-bottom: 5VW;
		overflow-y: hidden;
	}
	#madori .slick-slide {
		width:auto!important;
	}
	
	#madori .slick-slide img {
		height:233px;
	}
	#madori .madori_mid {
		background-color: #cacaca;
		padding:50px 0 1px;
	}
	#madori .madori_bottom {
		width:100%;
		height:233px;
		overflow-y: hidden;
	}
	
	.lity-close{
		color: transparent!important;
    	background:url("../img/close.png") center center no-repeat!important;
		background-size: 30px!important;
		  text-shadow: none!important;
		  right: 44%!important;
	}


	#access {
		padding:80px 0;
	}
	#access .inner{
		width:92%;
	}
	#access .access__left{
		margin: 0 0 58px 0px;
	}
	#access .access__right{
		margin: 0;
	}
	#access .access__right p{
		padding-top:3px;
		text-align: right;
	}
	#access .access__right p a{
    	background:url("../img/reader_red.png") left center no-repeat;
		padding-left:11px;
		text-decoration: underline;
		color:#000;
	}
	#access h2{
		font-size:32px;
		margin-bottom: 50px;
	}
	
    #access .btn_w_01 {
        margin: 30px auto;
    }

    .btn_w_01 img {
        width: 100%;
    }

    #cboxPrevious,
    #cboxNext {
        /*display:block!important;*/
        top: 92%;
    }

    #cboxOverlay {
        opacity: 1;
    }

    #cboxContent,
    #cboxTopLeft,
    #cboxTopRight,
    #cboxBottomLeft,
    #cboxBottomRight,
    #cboxMiddleLeft,
    #cboxMiddleRight,
    #cboxTopCenter,
    #cboxBottomCenter {
        background: none;
    }

    #cboxClose {
        left: 0px;
        right: 0px;
        bottom: 5VW;
        margin: auto;
    }
}

@media screen and (min-width: 685px) {

    body {
		
        background:url("../img/mv.jpg") center top -50px no-repeat;
    }
    /*フローティングバナー*/
    .fix__btn {
        position: fixed;
        width: 55px;
        height: 193px;
        top: 180px;
        right: 0px;
        display: block;
        z-index: 100000;
    }

    .fix__btn li {
        margin-bottom: 10px;
    }

    #sidebar #sidebar01 {
        opacity: 0.0;
    }

    #sidebar.open #sidebar01 {
        opacity: 1.0;
    }

    #banner-sp.fixed {
        opacity: 1;
        animation-name: fadeUpAnime;
        animation-duration: 0.8s;
        animation-fill-mode: forwards;
    }

    /*フローティングバナー*/

    .mv {
        width: 100%;
		height: 550px;
        overflow: hidden;
        /*margin-top: -100px;*/
		text-align: center;
    }
    .mv p{
		font-size:21px;
		line-height:1.8;
    }

    .mv .inner {
        width: 1200px;
        height: 700px;
        margin: 0 auto;
    }

    .mv .mv_title {
        width: 30%;
        min-width: 310px;
        height: 90px;
        top: 45%;
        left: 0;
        display: block;
        z-index: 9998;
        background-color: rgba(11, 26, 55, 0.9);
        text-align: right;
    }

    .mv .mv_scroal {
        width: 33px;
        bottom: 50px;
        left: 0;
        right: 0;
        margin: auto;
        z-index: 9998;
    }

    section h2 {
        margin: 0px auto 80px auto;
        padding-bottom: 18px;
        font-size: 44px;
    }

    .alert {
        text-align: right;
        width: 1180px;
        margin: 5px auto 0;
        font-size: 12px;
    }

    /*recommend*/
    #recommend {
        padding: 1px 0 60px;
    }

    #recommend h2 {
        background-image: url("../img/title04e.png");
        /*先に書いたほうが上になる*/
        background-repeat: no-repeat;
        background-position: center top;
        padding-top: 88px;
        font-size: 38px;
    }



    #sidebar {
        width: 280px;
        height: 200px;
        position: fixed;
        bottom: 50px;
        right: -350px;
        z-index: 1;
    }

    #catch {
		padding-top:160px;
    	background:url("../img/fair_header.jpg") center top no-repeat;
      	background-color: #fff1a2;
    }
    #catch ul {
		width:1200px;
		margin: 0 auto;
    }
    #catch ul li {
		float:left;
    }
    #catch ul li:first-child {
		margin-right: 50px;
    }
	#catch .btn_w_01 {
  		margin-top:0px;
		margin-bottom: 50px;
	}
	#catch .catch__ribbon {
		text-align: center;
        transform: translateY(-50px);/*上に移動*/
	}
	
	
	.area {
		padding-top:0;
	}
	
    #madori h2 + p{
		font-size:16px;
		margin-bottom:50px;
    }
	
	#madori .madori_top {
		width:100%;
		height:233px;
    	background:url("../img/madori_photo01.jpg") center center no-repeat;
		margin-bottom: 60px;
	}
	#madori .madori_bottom {
		width:100%;
		height:260px;
    	background:url("../img/madori_photo02.jpg") center center no-repeat;
	}
	
	
	#madori .madori_mid {
		margin-top:50px;
		padding:50px 0;
	}
	
    #madori .madori_mid h2{
    }
    #madori .btn_w_01 {
        margin-bottom: 0;
	}

	#access {
		padding:80px 0;
	}
	#access .inner{
		width:1200px;
	}
	#access .access__left{
		float: left;
		text-align: left;
		width:570px;
		margin: 0 58px 0 0px;
	}
	#access .access__right{
		float: left;
		text-align: right;
		width:570px;
		margin: 0 0 50px 0px;
	}
	#access .access__right p{
		padding-top:3px;
	}
	#access .access__right p a{
    	background:url("../img/reader_red.png") left center no-repeat;
		padding-left:11px;
		text-decoration: underline;
		color:#000;
	}
	#access h2{
		font-size:44px;
		margin-bottom: 50px;
	}
	
    #access .btn_w_01 {
        margin: 70px auto;
    }

}

@media screen and (max-width: 736px) {

    .section-inner {
        padding-left: 16px;
        padding-right: 16px;
    }

    #catch h3 {
        line-height: 1.7;
    }

    #catch h3 span {
        display: block;
        font-size: 18px;
    }

    #catch {
		padding-top:0;
    	background:url("../img/reccomend.png?v=0") center bottom no-repeat;
		background-size: 100%;
    }
	#catch .btn_w_01 {
		padding:0!important;
  		margin-top:0px!important;
		margin-bottom:10VW!important;
	}
	#catch .catch__ribbon {
		width:90%;
		margin: 0 auto;
		text-align: center;
        transform: translateY(-5VW);/*上に移動*/
	}
	#catch .catch__ribbon img{
		width:100%;
	}
		

}

@media screen and (min-width: 737px) {
#PC------------------------ {}

    section {
        padding: 80px 0 0;
    }

}

@media screen and (min-width: 1401px) {
#PC------------------------ {}

	#madori .madori_top {
		background-repeat: repeat-x;
	}
	#madori .madori_bottom {
		background-repeat: repeat-x;
	}

}

section {
    /*--main-font: "Yu Mincho", "YuMincho", "小塚明朝 Pro R", "小塚明朝 Std R", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", "MS PMincho", メイリオ, Meiryo, serif;
    ;*/
    --gothic-font: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', "メイリオ", sans-serif;
}

.section-inner {
    max-width: 1180px;
    margin: auto;
}

/* #catch */

#catch h2 {
    margin-bottom: 3rem;
}

#catch h2 img {
    width: 100%;
}

#madori {
    background-color: #e3e3e3;
    margin: 0 auto;
	padding:0;
}
#access {
    background-color: #fff;
    margin: 0 auto;
}
#madori .inner,
#access .inner{
    margin: 0 auto;
    text-align: center;
}
#madori h2,
#access h2{
    font-feature-settings : "palt";
	line-height:1.5;
    margin-top: 0px;
    font-weight: normal;
    font-family: "Yu Mincho", "YuMincho","小塚明朝 Pro R","小塚明朝 Std R","Hiragino Mincho ProN","ＭＳ Ｐ明朝", "ＭＳ 明朝","MS PMincho",メイリオ,Meiryo,serif;
}
#madori h2 span{
	background:linear-gradient(transparent 60%, #ffffff 60%);
	padding:0 20px;
}
#madori h2 + p{
	line-height:2;
}
#access h2 span{
	background:linear-gradient(transparent 60%, #e3e3e3 60%);
	padding:0 20px;
}
#madori .madori_mid {
    background-color: #cacaca;
}
#madori .madori_mid  h2 {
	color:#9f1f24;
}
#madori .madori_mid  h2 span{
	/*padding:0 0px;*/
}

.sectTit {
  position: relative;
  text-align: center;
}
 
.sectTit:before,
.sectTit:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #9f1f24;
  width: 2px;
  height: 1.25em;
  margin: 0 0.5em;
  margin-top: -.2em;
  vertical-align: middle;
}
 
.sectTit:before {
  transform: rotate(-35deg);
}
 
.sectTit:after {
  transform: rotate(35deg);
}

.btn_w_01 {
	clear: both;
    max-width: 90%;
    margin: 2rem auto 3rem;
}

.modal {
	background-color: #e3e3e3!important;
	padding: 0!important;
	border-radius: 0!important;
}
.modal img{
    width: 100%;
}
.modal .btn {
    margin: 5VW auto!important;
  }

#catch h3 {
    font-weight: normal;
    text-align: center;
    font-size: clamp(26px, 2vw, 30px);
    margin-bottom: 1.5rem;
}

#catch p.catch-text {
    font-size: clamp(14px, 2vw, 18px);
    text-align: center;
    line-height: 1.5;
}

#sidebar01,
.delayed-image {
    opacity: 0;
    transition: opacity 0s ease-in 0s;
}

.delayed-image.show,
#sidebar01.show {
    transition: 1.0s;
    opacity: 1;
}

section {
    font-family: var(--main-font);
}

section h2 {
    font-family: var(--main-font);
    text-align: center;
    font-weight: normal;
    line-height: 1em;
    margin-bottom: 2rem;
}

#recommend {
    background-color: #fff;
}


#cboxCurrent {
    display: none !important;
}

.mv-catch {
    /*max-width: 878px;
    width: 80%;
    position: absolute;
    top: calc(100px + 3VH);
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;*/
}

.mv p{
    font-family: "Yu Mincho", "YuMincho","小塚明朝 Pro R","小塚明朝 Std R","Hiragino Mincho ProN","ＭＳ Ｐ明朝", "ＭＳ 明朝","MS PMincho",メイリオ,Meiryo,serif;
}
.mv-catch img {
    /*width: 100%;*/
}

#catch {
}

#ribbon2 {
	display: none;
	max-width: 476px;
	width: 80%;
  	position: absolute;
  	top: calc(620px + 3VH);
  	left: 50%;
  	transform: translateX(-50%);
  	z-index: 100;
}
#ribbon {
    display: none;
}
#ribbon.fixed,
#ribbon2.fixed {
    display: block;
}
	  
@media screen and (max-width: 737px) {
	#ribbon2 {
	  	top: calc(100px + 50VH);
	}

}


/*フロートバナー*/
@media only screen and (max-width: 767px) {

    .ban__fix__sp {
        position: fixed;
        width: 92%;
        left: 4%;
        bottom: 20VW;
        z-index: 9999;
    }

    .ban__fix__sp img {
        width: 100%;
        height: auto;
    }

    .ban__fix__inner {
        position: relative;
        width: 100%;
    }

    #closebanner-sp,
    #closebanner-sp1,
    #closebanner-sp2 {
        position: absolute;
        top: -10px;
        right: -10px;
        display: block;
        height: 25px;
        width: 25px;
        background: url('../img/float_close.png') no-repeat 0 0;
        background-size: 25px;
        cursor: pointer;
        text-indent: -9000px;
        z-index: 10;
    }

    .ban__fix {
        display: none;
    }

    #banner-sp {
        opacity: 0;
    }

    #banner-sp.fixed {
        opacity: 1;
        animation-name: fadeUpAnime;
        animation-duration: 0.8s;
        animation-fill-mode: forwards;
    }
}

@media only screen and (min-width: 768px) {
    .ban__fix {
        position: fixed;
        width: 270px;
        height: 240px;
        bottom: 50px;
        left: 50px;
        display: block;
        z-index: 9999;
        opacity: 0;
    }

    #banner.fixed {
        opacity: 1;
        animation-name: fadeUpAnime;
        animation-duration: 0.8s;
        animation-fill-mode: forwards;
    }

    .ban__fix__inner {
        position: relative;
        width: 290px;
    }

    #closebanner {
        position: absolute;
        top: -7px;
        right: -7px;
        display: block;
        height: 20px;
        width: 20px;
        background: url('../img/float_close.png') no-repeat 0 0;
        background-size: 20px;
        cursor: pointer;
        text-indent: -9000px;
        z-index: 10;
    }

    .ban__fix__sp {
        display: none;
    }

    #banner {
        /*opacity: 0;*/
    }

    #banner.fixed {
        /*opacity: 1;
		animation-name: fadeUpAnime;
        animation-duration: 0.8s;
        animation-fill-mode: forwards;*/
    }
}

@media screen and (max-width: 546px) {
    #SMP------------------------ {}

    .ban__fix__inner div:first-child {
        margin-right: 4%;
    }

    .ban__fix__half {
        position: relative;
        width: 48%;
        float: left;
    }
}

@media screen and (min-width: 737px) {
    #PC------------------------ {}

    #fixbtn_cp .fixbtn_cp01 {
        display: block;
    }

    #fixbtn_cp .fixbtn_cp02 {
        display: none;
    }

    #fixbtn_cp.fixed .fixbtn_cp01 {
        display: none;
    }

    #fixbtn_cp.fixed .fixbtn_cp02 {
        display: block;
        right: 0px;
        width: 100%;
    }

    #fixbtn_cp.fixed {
        position: fixed;
        top: 81px;
        right: 0px;
        height: 119px;
        width: 119px;
    }
}

/*フロートバナー*/

/*スクロールイベントここから*/
.scroalevent img {
    transition: .9s;
}

.scroalevent div {
    transition: 1.5s;
}

/* 移動なしフェードイン */
.list-mv02 {
    opacity: 0;
}

.mv02 {
    opacity: 1.0;
}

.list-mv02v {
    opacity: 0;
    transform: translate(0, 40px);
    -webkit-transform: translate(0, 40px);
}

.mv02v {
    opacity: 1.0;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
}

/*スクロールイベントここまで*/

.delay01 {
    animation-delay: 0.1s;
}

.delay02 {
    animation-delay: 0.5s;
}

.delay03 {
    animation-delay: 0.7s;
}

.delay04 {
    /*transition-delay: .9s!important;
  -webkit-transition-delay: .9s!important;*/
    animation-delay: 0.9s;
}

.delay05 {
    animation-delay: 1.0s;
}


.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fadeUp0 {
    animation-name: fadeUpAnime0;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime0 {
    from {
        opacity: 0;
        transform: translateY(0px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 右方向フェードイン */
.fadeLR {
    animation-name: fadeLRAnime;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeLRAnime {
    from {
        opacity: 0;
        transform: translateX(-50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 左方向フェードイン */
.fadeRL {
    animation-name: fadeRLAnime;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeRLAnime {
    from {
        opacity: 0;
        transform: translateX(50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fadeUpTrigger,
.fadeLRTrigger,
.fadeRLTrigger {
    opacity: 0;
    /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
}

@keyframes hurueru {
    0% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }

    25% {
        transform: translate(0px, 3px) rotateZ(0deg)
    }

    50% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }

    75% {
        transform: translate(0px, 3px) rotateZ(0deg)
    }

    100% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }
}

@keyframes hurueru_v {
    0% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }

    25% {
        transform: translate(3px, 0px) rotateZ(0deg)
    }

    50% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }

    75% {
        transform: translate(3px, 0px) rotateZ(0deg)
    }

    100% {
        transform: translate(0px, 0px) rotateZ(0deg)
    }
}


@media screen and (max-width: 684px) {

    .horizontal-swiper {
        width: 100%;
    }
    .horizontal-swiper.swiper {
        .swiper-wrapper {
            transition-timing-function: linear;
        }
        .swiper-slide {
            width: 33.333%;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 233px;
            text-align: center;
            color: #fff;
            font-weight: bold;
        }
        .swiper-notification {
            display: none;
        }
    }
    .swiper-slide {
    	width: auto!important;
    }
    .swiper-slide img {
    	display: block;
    	width: 100%;
    	height: auto;
    }
}