/* 共通タグ */
main{
    padding-top: 75px; /*ヘッダ用*/
}

h2{
    border-left: 5px solid #1a1f61;
    padding-left:20px;
}

div.contents-kinkousai{
    width            : 80vw;
    /* min-width:768px; */
    margin           : 0px auto;
    min-height       : 545px;
    background-color : #ffffff;
    /* border:1px solid; */
}

section.content-box{
    background-color : #fff;
    border-radius    : 20px;
    padding          : 30px;
    margin-bottom    : 40px;
    transition       : transform 0.2s, box-shadow 0.2s ease;
}
section.content-box:hover{
    transform  : translateY(-2px);
    box-shadow : 0 5px 15px #4b4a4a50;
}


/*ーーーーーーヘッダー、ロゴ、メニューバーーーーーーー*/

header {
    background: linear-gradient(to right,#7057e0 ,#d6835d,#e2776f);
    /* background-color : #d3d1d1; */
    width            : 100%;
    padding          : 2px 0px;
    top              : 0;
    left             : 0;
    right            : 0;
    position         : fixed;
    z-index          : 500;
}

.header-inner {
    display         : flex;
    justify-content : space-between;
    align-items     : center;
    max-width       : 1400px;
    margin          : 0 auto;
}

.logo {
    font-family    : "M PLUS Rounded 1c", sans-serif;
    letter-spacing : 0.1em;
    font-weight    : 900;
    font-size      : 2.8em;
    margin         : 0;
    margin-left    : 20px;
    /* color: rgb(255, 106, 20);
    text-shadow: 0 4px 0 rgba(255, 173, 20, 0.842),
                 -3px -3px 1px white,
                 3px  -3px 1px white,
                 -3px  3px 1px white,
                 3px   3px 1px white,
                 -3px  0   1px white,
                 3px   0   1px white,
                 0    -3px 1px white,
                 0     3px 1px white; */
       
}
.logo:hover {
    opacity : 0.7;
}
.logo img{
    width: 150px;
    margin: 5px;
    vertical-align: middle;
}

.menu-list {
    display      : flex;
    gap          : 30px;
    list-style   : none;
    margin       : 0;
    margin-right : 30px;
    padding      : 0px 10px;
}

.menu-list a {
    font-family: mochiy-pop-p, sans-serif;
    display         : inline-block;
    text-decoration : none;
    font-size       : 1.8rem;
    transition      : transform 0.2s ease;
    /* color: #ffe600;
    text-shadow: -2px  1px 0px rgb(0, 0, 0),
                 -2px -1px 0px rgb(0, 0, 0); */
}

.menu-list a:hover, .menu-list .active-page {
    transform       : scale(1.2);
}

.menu-list a.active-page {
    pointer-events  : none;
    backdrop-filter : blur(5px);
}

.hamburger {
    display : none;
}

/*ーーーーヘッダー、ロゴ、メニューバー、終わりーーーー*/


/*ーーーーーメインページーーーーー*/


.ue{
margin    : auto;
width     : 80vw;
min-width : 768px;

display   : flex;
}
.sita{
margin    : auto;
width     : 80vw;
min-width : 768px;
}

/* .color-frame{
    border:10px solid;
    border-top:0px;
    border-bottom:0px;
    border-image: linear-gradient(45deg,#8972f0 ,#d6835d,#e2776f)1;
} */

.photo-lines{
    width:100%;
    height:63vw;
    background-color:rgb(221, 221, 221);
    border:1px solid;
}
.kinkousai{
    width:60vw;
    z-index:100;
    position:absolute;
    top: calc(63vw / 4 *1.65);
    left: 0px;
    right: 0px;
    margin:auto;
    opacity:1;
    vertical-align: middle;

}
.kinkousai img{
    width: inherit;
}
.photo{
    width:100%;
    height:calc(63vw / 4);
    position:absolute;
    display:flex;
    overflow:hidden;
}
.pho{
    width:100%;
    position:absolute;
    height:100%;
    z-index:50;
}

.p-r1{animation:p1 40s linear infinite;}
.p-r2{left:100%;animation: p2 40s linear infinite;}
.p-l1{animation: p3 40s linear infinite;}
.p-l2{right:100%;animation: p4 40s linear infinite;}
.p2{margin-top:calc(63vw / 4)}
.p3{margin-top:calc(63vw / 4 * 2);}
.p4{margin-top:calc(63vw / 4 * 3);}
.pho-01{background-image:url(./images/01.jpg)}
.pho-02{background-image:url(./images/02.jpg)}
.pho-03{background-image:url(./images/03.jpg)}
.pho-04{background-image:url(./images/04.jpg)}
@keyframes p1{100%{transform:translateX(-100%);}}
@keyframes p2{100%{transform:translateX(-100%);}}
@keyframes p3{100%{transform:translateX(100%);}}
@keyframes p4{100%{transform:translateX(100%);}}

.photo-right{
    background-color:rgb(179, 179, 179);
}
.photo-left{
    background-color:rgb(158, 158, 158);
}

div#copy{
    margin     : auto;
    padding    : 5em 0px;
    text-align : center;
}
div#copy *{
    margin: auto;
}

.santoubun{
    width      :calc(80vw / 3);
    min-width  :calc(768px / 3);
    min-height :300px;
}

.poster-img{
    width : inherit;
    
}
.poster-img img{
    width      : inherit;
    margin     : auto;
    border     : 1px solid;
    position   : relative;
    margin-top : 20px;
}

.poster-desc{
    width   : auto;
    padding : 20px;
}

.kaityou{
    /* display:flex; */
    width   : auto;
    padding : 20px;
}
.kaityou-name{
    text-align : center;
}
.kaityou-poster{
    width  : 200px;
    height : auto;
    border : 1px solid;
}

.linkarea{
    display             : flex;
    /* position:relative; */
    justify-content     : space-around;
    margin              : 5vh auto;
    flex-direction      : row;
}
.linkbox{
    width               : 18vw;
    height              : 18vw;
    border              : 3px solid;
    border-color        : #000;
    border-radius       : 10px;
    /* justify-content:center; */
    transition          : all 0.3s ease;

    font-size           : xx-large;
    font-weight         : bold;
    color               : #FFF;
    /* -webkit-text-stroke: 2px #FFF; */
    text-shadow         : 2px 2px 1px #000;

    /* background-color:#e88152; */
    background-repeat   : no-repeat;
    background-position : center;
    background-size     : cover;
}
.linkbox:hover{
    width  : 20vw;
    height : 20vw;
    background-color:#000;
    /* background-color:#cb8564; */
}
.linkbox:active{
    opacity:0.85;
    /* background-color:#b65122 */
}
.linkbox-phone{
    margin:0px;
}

#link-schedule{
    background-image: url(./images/schedule.png);
}
#link-event{
    background-image: url(./images/event.png);
}
#link-mogiten{
    background-image: url(./images/mogiten.png);
}
#link-map{
    background-image: url(./images/map.png);
}




/* ################################################# */
/* ################################################# */
.news-button{
    width:120px;
    height:auto;
    border:1px solid;
}
.news-window{
    width:710px;
    height:auto;
    border:1px solid;
}
.snsbox{
    display:flex;
    justify-content:space-around;
    max-width:500px;
    width:80vw;
    margin-top:50px;
}
.sns{
    width:80px;
    height:45px;
    border:1px solid;
    border-radius:5px;
}

/* ################################################# */
/* ################################################# */
/*ーーーメインページ、終わりーーー*/


/*ーーーーーーマップーーーーーー*/
.map-map, .map-img {
    display       : block;
    width         : 100%;
    border-radius : 12px;
    margin        : 1.5em auto;
}

.map-img {
    max-width     : 800px;
}

/*ーーーーマップ、終わりーーーー*/


/*ーーーーイベントーーーー*/
.event-box{
    width      : 50vw;
    min-height : 160px;
    margin     : 40px auto;
    padding    : 20px;
    text-align : center;
    border     : 2px solid #333;
    background : #fff;
}
.img-png{
    max-width : 100%;
    height    : auto;
    cursor    : pointer;
    border    : 1px solid #ccc;
}

/*ーーイベント、終わりーー*/

/*ーーーーショップーーーー*/
 .button>button {
    margin: 10px;
    width: 200px;
    height: 80px;
    font-size: 1.6em;     /* フォントサイズも大きく */
    border: none;
    border-radius: 8px;
    background-color: #0078d7;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s ease;
    display:block;
    /* 横並びのために必要な設定は下で行う */
  }
  .button{
    display: flex;
    justify-content: center;
    gap: 10px; /* ボタン間の余白 */
    /* margin-bottom: 20px; */
    flex-wrap:wrap;
  }
  .hidden {
    display: none;
  }
  .button>button.active {
    background-color: #004080;
  }
  /* 最初はすべて非表示にする */
  .sannen, .ninen, .other {
    display: none;
  }
  
  /* active が付いているものだけ表示する */
  .active {
    display: block !important;
  }

#loading{
	background-color:rgb(223, 220, 255);
	position:fixed;
	z-index:9999;
	width:100%;
	height:100%;;
	opacity:1;
	transition: 1s;
	display:block;
}
.body{
	width:100%;
	margin:0px auto;
}
.dasimono-kari>div{
	background-color:#ffffff;
	position:relative;
	/* width:700px; */
	height:100%;
}
.dasimono-img{
	width:100%; 
	height:280px;
	display:flex;
	white-space:nowrap;
}
.font{
	font-size:10px;
}
.dasimono-size{
	width:100%; 
	height:220px;
	background-color:aquamarine;
	font-size:25px;
}
.dasimono-kari,.map-kari{
	height:500px;
}
.dasimono-kari{
    display:flex;
    margin:auto;
    width:960px;
}
.dasimono-menu{
	width:260px;
	height:100%;
}
.dasimono-nam{
    width:auto;
	height:auto;
	display:flex;
	border: black 1px solid;
	border-radius: 6px;
	padding: 0.6em 0.2em;
	overflow: hidden;
}
.dasimono-nam:hover{
    background-color:rgb(236, 236, 236)
}
.dasimono-nam:active{
    background-color:rgb(228, 228, 228)
}
.dasimono-name{
	font-size:30px;
}
.padingbox{
	width:700px;
	overflow: hidden;
    border:3px solid;
    margin-left:-3px;
}
#dasimonobox{
	animation-fill-mode:forwards;
}
.gakka{
	width:280px;
	height:100%;
}
.dasimonochange{
	margin-left:0%;
}
.map-img-shop{
    width:700px;
    height:50%
}
#sidebtn{
	display:none;
}
.gakka-name{
	width:40px;
	height:100%;
	text-align:center;
}
#gname{
	width:210px;
	height:210px;
	margin:35px;
    border-radius:7px;
	background-color:rgb(11, 11, 124);
}
#gnam{
	margin:10px 0 0 0;
	text-align:center;
	font-size:85px;
	color:white;
}

#sidebtn{
	width:100%;
	height:20px;
}
#imgdayo{
	background-color:#222222;
	transition: all 0.7s;
	width: 100%;
	height:100%;
}
#img{
	width:100%;
	height:100%;
}
@keyframes aftsraido{
	0%{transform: translateX(110%)}
	30%{transform:translateX(110%)}
	100%{transform: translateX(0)}
}
@keyframes sraido{
	0%{transform: translateX(0)}
	70%{transform:translateX(-110%)}
	100%{transform: translateX(-110%)}
	
}
.chara{
	margin:0;
}
.charali{
	padding:0;
    padding-right: 1em;
	list-style-type: none;
}
#contantimage{
	width: 420px;
    height: 100%;
    object-fit: cover;
}
/*ーーショップ、終わりーー*/


/*ーーーーここからスマホーーーー*/

@media screen and (max-width: 768px){


    /*ーーーーーメインページ（スマホ）ーーーーー*/
    .photo-lines{
        height:100vh;
        min-width:320px;
    }
    .photo{
        height:calc(100vh / 4);
        min-width:320px;
    }
    .p2{
        margin-top:calc(100vh / 4);
     }
    .p3{
        margin-top:calc(100vh / 4 * 2);
    }
    .p4{
        margin-top:calc(100vh / 4 * 3);
    }
    .bode{
        min-width:320px;
        width:100%;
        height:auto;
    }
    .ue{
        width:100%;
        min-width:320px;
        min-height:0px;
        height:auto;
        flex-direction:column;
    }
    .sita{
        height:auto;
        min-width:320px;
        margin:0;
        width:100%;
    }
    div#copy{
        padding: 2em 0px;
    }
    .santoubun{
        width:100%;
        height:auto;
        min-width:320px;
        min-height:0px;
    }
    .poster-img{
        width:44vw;
        margin:0 auto;
    }
    .kaityou{
        height:auto;
        margin:auto;
        width:60vw;
    }
    .kaityou-poster{
        width:20vw;
        height:25vw;
    }
    .kaityou-name{
        width:40vw;
        font-size:4vw;
        margin:0 auto;
    }
    .linkarea{
        flex-direction:column;
        margin: 10px;
    }
    .linkbox{
        width:60vw;
        height:60vw;
        display:block;
        margin: 0.5em auto;
    }
    .linkbox:hover{
        width:62vw;
        height:62vw;
    }
    .kinkousai{
        width:75vw;
        height:45vw;
        margin:calc(50vh - 22.5vw) 12.5vw;
    }
    /*ーーーメインページ（スマホ）、終わりーーー*/


    /*ーーーーーショップ（スマホ）ーーーーー*/
    .button>button{
        font-size:1.2em;
        display:block !important;
        height:40px;
    }
    .dasimono-kari{
        flex-direction:column;
        width:80vw;
        height:auto;
    }
    .dasimono-kari>div{
        width:80vw;
    }
    .dasimono-menu{
        display:flex;
    }
    .dasimono-img{
        width:90vw;
        height:30vw;
    }
    .dasimono-menu>.active{
        flex-wrap:wrap;
        justify-content:space-between;
        width:100%;
        height:190px;
        overflow-y:scroll;
    }
    .padingbox{
        width:90vw;
        height:60vw;
    }
    .gakka{
        width:30vw;
        height:30vw;
    }
    .gakka-name{
        width:10vw;
    }
    #gname{
        width:25vw;
        height:25vw;
        margin:0px 0 0 2.5vw;
    }
    #gnam{
        font-size:10vw;
        margin:2.5vw 0 0 0;
        padding:3.5vw;
    }
    #contantimage{
        width:50vw;
    }
    #dasimonobox{
        width:80vw;
        height:75vw;
    }
    .dasimono-name{
        font-size:5.5vw;
    }
    .dasimono-size>ol{
        margin:1vw;
        margin-left:-5vw;
    }
    .dasimono-size{
        width:80vw;
        height:45vw;
    }
    .charali{
        font-size:4.5vw;
    }
    .map-img-shop{
        width:80vw;
        height:auto;
    }
    /*ーーーショップ（スマホ）、終わりーーー*/


    /*ーーーメニューリストとハンバーガ（スマホ）ーーー*/

        .menu-list {
        display: block;
        position: absolute;
        width: 100vw;
        margin: 0;
        right: 0;
        top: 70px;
        background: #ffffff;
        border-radius: 8px;
        padding: 10px;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        opacity: 0;
        pointer-events: none;
    }

    .menu-list.active  {
        transform: translateX(0);
        opacity: 1;
        pointer-events: auto;
        padding: 10px;
    }
 
    .menu-list-item {
        text-align: center;
        padding: 20px 0px;
    }

    .hamburger {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 35px;
        height: 25px;
        cursor: pointer;
        position: static;
        margin-right: 30px;
    }

    .hamburger span {
        display: block;
        height: 4px;
        background: #333;
        border-radius: 3px;
        transition: 0.3s ease;
    }

    /*ーメニューリストとハンバーガ（スマホ）、終わりー*/

}

/*ーーーースマホ、終わりーーーー*/