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


#side{
  position: sticky;
    order: 1;
    top: 12em;
  transform: translateZ(0); /* sticky+transform問題を緩和 */
}

#listbox{
    display: flex;
    align-items: flex-start;
    position: relative;
    z-index: 5;
    background-color: #fff;
  overflow: visible; /* ここ重要！ */
}
#listbox #side_menu{
    order: 2;
width:43rem;
}


#listbox .triangle{
  position: absolute;
  width: 0;
  height: 0;
  z-index: 0;
}
#listbox .up.left{
  top: -19.93em;
  border-bottom: 20em solid #292929;
}
#listbox .up.right{
  top: -19.93em;
  border-bottom: 20em solid #f3f3f3;
}
#listbox .down.left {
  bottom: -19.93em;
  border-top: 20em solid #292929;
}
#listbox .down.right {
  bottom: -19.93em;
  border-top: 20em solid #f3f3f3;
}
#listbox .triangle.left {
  right: 0;
  border-right: 50vw solid transparent;
  border-left: 0 solid transparent;
}
#listbox .triangle.right {
  left: 0;
  border-left: 100vw solid transparent;
  border-right: 0 solid transparent;
}

#backgray{
    flex: 1;
    order: 1;
    background-color: #292929;
    height: 95.6rem;
}
#backgray2{
    flex: 1;
    order: 2;
    background-color: #f3f3f3;
}


#list{
    flex: 1;
    order: 2;
    padding: 0 0 10em 0;
}

.listtitle{
    position: relative;
    display: flex;
}

#list_title{
    order: 1;
width:125rem;
    min-height: 95.5rem;
    padding: 7em 2em 0 6em;
    background-color: #f3f3f3;
    text-align: justify;
    position: relative;
}
#list_title h3{
    font-size: 6rem;
    font-weight: 500;
    line-height: 1.4;
}
#list_title .read{
    font-size: 2.2rem;
    padding-top: 3em;
    width: 41.5em;
    line-height: 1.8;
}
#list_title .images{
    position: absolute;
  width: 32em;
  left: 50%;
  bottom: -9em;
}
#list_title .images img{
    position: relative;
    z-index: 3;
}
#list_title .images svg#img{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
#list_title .images #img path{
        fill: #666;
        fill-rule: evenodd;
    transform-origin: 60% 40%;
    animation: fuwafuwa 5s ease-in-out infinite alternate;
}
@keyframes fuwafuwa {
  0% {
    transform:scale(1);
  }
  50% {
    transform:scale(0.9);
  }
  100% {
    transform:scale(1);
  }
}
#list_title .images .m_img,#list_title .images .m_img2,#list_title .images .c_img,#list_title .images #c_img2{
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
#list_title .images .m_img{
    z-index: 2;
    transform-origin: 60% 60%;
    animation: rote_m 3s linear infinite alternate;
}
@keyframes rote_m {
  0% {
    transform:rotate(5deg);
  }
  50% {
    transform:rotate(0deg);
  }
  100% {
    transform:rotate(-5deg);
  }
}
#list_title .images .m_img2{
      animation: box3img 3s ease-out infinite;
}
#list_title .images .c_img{
    transform-origin: 30% 70%;
      animation: fuwafuwa 8s ease-out infinite alternate;
}
#list_title .images #c_img2{
    z-index: 2;
}
#list_title .images #c_img2 path{
        fill: #6590af;
}
#list_title .images #c_img2 .st1,#list_title .images #c_img2 .st4 {
  animation: box3img 2s ease-out infinite;
}
#list_title .images #c_img2 .st2,#list_title .images #c_img2 .st6 {
  animation: box3img 3.5s ease-out infinite;
}
#list_title .images #c_img2 .st3,#list_title .images #c_img2 .st5 {
  animation: box3img 3s ease-out infinite;
}
#list_title .images #c_img2 .st7 {
  animation: box3img 2.5s ease-out infinite;
}

#list .inner{
    width: 125rem;
    text-align: justify;
    padding: 8em 0 0 6em;
}
#list .inner h3{
    display: inline-block;
    background-color: #000;
    color: #fff;
    font-size: 3.6rem;
    font-weight: 800;
    line-height: 1.4;
    padding: 0.2em 0.5em;
    margin: 4em auto 1.5em 0;
}
#list .inner dl{
    border-bottom: 1px solid #cfcfcf;
    padding: 1.3em 0 1em 0;
    display: flex;
}
#list .inner dt{
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.4;
    width: 8em;
}
#list .inner dt span{
    font-size: 2.6rem;
}
#list .inner dd{
    flex: 1;
}
#list .inner dd h4{
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 1.4;
    padding-bottom: 0.4em;
}
#list .inner dd p{
    font-size: 2rem;
    line-height: 1.4;
}
#list .inner dd h4.ind {
  text-indent: -0.5em;
}


@media screen and (min-width: 769px) and (max-width: 1886px) {
#list_title,#list .inner {
  width: 112rem;
}
    #list_title .images {
  bottom: -16em;
}
}


@media screen and (min-width: 769px) and (max-width: 1500px) {
#list_title .read {
  font-size: 20px;
    width: auto;
}
#list .inner h3 {
  font-size: 34px;
}
#list .inner dt {
  font-size: 20px;
}
    #list .inner dt span {
  font-size: 26px;
}
#list .inner dd h4 {
  font-size: 24px;
}
#list .inner dd p {
  font-size: 18px;
}

}


@media only screen and (max-width: 768px) {
    
#side {
  position: relative;
  display: block;
  min-width: inherit;
  width: 100%;
  top: inherit;
}

#listbox #side_menu{
width:100%;
}
    #side_menu ul {
  padding: 3em 1.5em 0 1.5em;
}
    
#listbox{
    display: block;
}
#listbox .triangle{
  position: absolute;
  width: 0;
  height: 0;
  z-index: 0;
}
#listbox .up.left{
  top: -3.9em;
  border-bottom: 4em solid #292929;
}
#listbox .up.right{
  top: -5.9em;
  border-bottom: 6em solid #f3f3f3;
}
#listbox .down.left {
  bottom: -3.9em;
  border-top: 4em solid #292929;
}
#listbox .down.right {
  bottom: -5.9em;
  border-top: 6em solid #f3f3f3;
}
#listbox .triangle.left {
  right: 0;
  border-right: 100vw solid transparent;
}
#listbox .triangle.right {
  left: 0;
}

#backgray,#backgray2{
display: none;
}
    
   
.listtitle{
    display: block;
} 
    
#list_title{
width:100%;  min-height: auto;
    padding: 4em 1.5em 7em 1.5em;
}
#list_title h3{
    font-size: 2.6rem;
}
#list_title .read{
    font-size: 1.8rem;
    padding-top: 3em;
    width: 100%;
}
#list_title .images{
  width: 70%;
  left: auto;
    right: 0;
  bottom: -7em;
}


#list{
    padding: 0 0 8em 0;
}
#list .inner{
    width: 100%;
  padding: 5em 1.5em 0 1.5em;
}
#list .inner h3{
    font-size: 2.6rem;
    margin: 4em 0 1em 0;
    padding: 0.3em 0.5em;
}
#list .inner dl{
    display: block;
}
#list .inner dt{
    width: auto;
    padding-bottom: 0.4em;
}
#list .inner dt span{
}
#list .inner dd{
    flex: 1;
}
#list .inner dd h4{
    font-size: 2.4rem;
}
    
}