/*
Theme Name:noruha2022
*/

/* jQuery用 */

/* ここからフォント */
@font-face {
	font-family: 'gtwalsheim-l';
	src: url("fonts/GT-Walsheim-Light.woff2") format('woff2'),
	url("fonts/GT-Walsheim-Light.woff") format('woff'),
	url("fonts/GT-Walsheim-Light.eot") format('eot');
}

@font-face {
	font-family: 'gtwalsheim-r';
	src: url("fonts/GT-Walsheim-Regular.woff2") format('woff2'),
	url("fonts/GT-Walsheim-Regular.woff") format('woff'),
	url("fonts/GT-Walsheim-Regular.eot") format('eot');
}
/* ここまでフォント */

/* 全体 */
body {
    margin: 0;
    padding:0;
    font-family: 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
    font-size: 14px;
    background-color: #d6d6d6;
    color: #333;
}

a {
    color: inherit;
}

#header {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    width: 100%;
    height: 77px;
    position: fixed;
    z-index: 1;
    background-color: #d6d6d6;
    border-bottom: #000 1px solid;
}

header a {
    display: inline-block;
    margin: 0;
    line-height: 77px;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
}

.wrapper {
    width: 100%;
    padding-bottom: 20px;
    position: absolute;
    top: 77px;
}

/* menu */
#menu {
    height: 40px;
    border-top: #000 1px solid;
    border-bottom: #000 1px solid;
    overflow: hidden;
}

#menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

#menu ul li {
    width: 25%;
    text-align: center;
}

#menu ul li a {
    display: block;
    font-family: "gtwalsheim-r";
    font-size: 19px;
    line-height: 40px;
    text-decoration: none;
}

#menu ul li a:hover {
    background-color: #f2e170;
}
/* TOP */
    /* left */
#top-left {
    width: 100%;
    border-right: #000 1px solid;
    background-color: #ffffff;
    padding-bottom: 58px;
}

.top-left-title {
    height: 40px;
    border-bottom: #000 1px solid;
}

.top-left-title p {
    margin: 0;
    line-height: 40px;
    font-family: "gtwalsheim-r";
    font-size: 19px;
    text-align: center;
}

.top-next-visual {
    padding: 10px 0;
}

.top-next-visual img {
    display: block;
    width: 95%;
    margin: 0 auto;
}

.top-next-title {
    width: 100%;
    height: 58px;
    margin: 0 auto;
    border-top: #000 1px solid;
    border-bottom: #000 1px solid;
}

.top-next-title p {
    margin: 0;
    line-height: 58px;
    font-size: 29px;
    font-weight: bold;
    text-align: center;
}

.top-next-wrapper {
    width: 95%;
    margin: 0 auto;
}

.top-next-detail {
    margin: 19px 0;
}

.top-next-detail-title {
    margin: 0;
    display: inline-block;
    padding: 0 5px;
    height: 24px;
    line-height: 24px;
    background-color: #000;
    color: #d6d6d6;
    font-weight: bold;
    text-align: center;
}

.top-next-detail-contents {
    margin: 19px 0;
}

.top-next-venue {
    margin-bottom: 14px;
}

.top-next-people {
    display: flex;
    justify-content: start;
}

.top-next-people p {
    margin: 0;
}

.top-next-role {
    margin-right: 20px;
}

.top-next-copy {
    margin: 58px 0;
    font-weight: bold;
    font-size: 24px;
}

.top-next-description {
    margin: 58px 0;
    font-size: 19px;
    line-height: 34px;
}

.top-next-button {
    width: 100%;
    height: 40px;
    border-top: #000 1px solid;
    border-bottom: #000 1px solid;
    text-align: center;
}

.top-next-button a {
    display: block;
    font-size: 19px;
    line-height: 40px;
    text-decoration: none;
}

    /* right */
#top-right {
    width: 100%;
}

#noruha-copy  {
    height: 120px;
    overflow: hidden;
}

#noruha-copy p {
    margin: 0;
    font-weight: bold;
    font-size: 19px;
    line-height: 120px;
}

.top-mainvisual img {
    width: 100%;
}

.top-mainvisual p {
    margin: 1em auto;
    width: 95%;
    text-align: right;
}

.top-right-title {
    height: 58px;
    border-top: #000 1px solid;
    border-bottom: #000 1px solid;
}

.top-right-title p {
    margin: 0;
    font-weight: bold;
    font-size: 19px;
    line-height: 58px;
    text-align: center;
}

.top-right-content p {
    margin: 24px 21px;
    font-weight: bold;
    line-height: 26px;
}

.members-photo {
    width: 95%;
    margin: 38px auto 0;
}

.members-photo img {
    width: 100%;
}

.member-wrapper {
    margin: 58px auto 77px;
    width: 67%;
}

.member-photo {
    width: 100%;
    cursor: pointer;
}

.member-name p {
    margin: 24px 0 19px 0;
    font-size: 19px;
    text-align: center;
    line-height: 26px;
}

.member-description {
    display: none;
    margin: 0 auto;
    width: 66.6%;
    position: absolute;
    opacity: 0;
}

.member-description p:only-child {
    margin : 0;
}

.member-description p:last-child {
    margin-bottom : 0;
}

.member-description p:first-child {
    margin-top : 0;
}

.member-description p:last-child {
    margin-bottom : 0;
}

.members-photo-credit p {
    margin-top: 150px;
    font-family: "gtwalsheim-l";
    font-size: 19px;
    text-align: center;
}

/* next */
.next-visual {
    padding: 10px 0;
}

.next-visual img {
    display: block;
    width: 95%;
    margin: 0 auto;
}

.next-title-wrapper {
    width: 100%;
    margin: 0 auto;
    border-top: #000 1px solid;
    border-bottom: #000 1px solid;
    text-align: center;
}

.next-title {
    margin: 0;
    line-height: 2em;
    font-size: 29px;
    font-weight: bold;
}

.next-subtitle {
    margin: 0;
    line-height: 2em;
    font-size: 19px;
    font-family: 'gtwalsheim-r';
}

.next-detail-wrapper {
    width: 100%;
    font-size: 19px;
}

.next-detail-contents {
    width: 95%;
    margin: 19px auto;
    border-bottom: #000 1px solid;
}

.next-wrapper {
    width: 95%;
    margin: 0 auto;
    font-size: 19px;
}

.next-detail-text {
    margin: 0 0 1em 0;
}

.next-copy {
    margin: 58px 0;
    font-size: 24px;
    font-weight: bold;
}

.next-description {
    margin: 58px 0;
    font-size: 19px;
    line-height: 34px;
}

.next-content {
    margin: 58px 0;
}

.next-content p:first-of-type {
    margin-top: 0;
}

.next-detail-title{
    margin-bottom: 1em;
    display: inline-block;
    padding: 0 5px;
    height: 24px;
    line-height: 24px;
    background-color: #000;
    color: #d6d6d6;
    font-weight: bold;
    text-align: center;
}

.next-date {
    margin: 19px 0;
}

.next-venue-content {
    margin: 19px 0;    
}

.next-venue {
    margin-bottom: 14px;
}

.credit-area {
    position: relative;
    display: flex;
    margin: 10px 0;
}

.credit-area:first-child {
    margin-top: 0;
}

.role-area {
    height: 100%;
    margin-right: 20px;
    vertical-align: top;
}

.role-area p {
    margin: 5px 0 0 0;
    white-space: nowrap
}

.name-area {
    flex-grow: 1;
}

.open-profile {
    width: fit-content;
    margin: 5px 0;
    text-decoration: underline;
    cursor: pointer;
}

.non-credit {
    text-decoration: none;
    cursor: default;
}

.profile {
    opacity: 0;
    display: none;
    position: absolute;
    left: 0;
    margin-top: 10px;
    padding: 40px 50px;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 1em;
}

.profile p {
    margin: 0;
}

.batsu{
    display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 15px;
    right: 20px;
    cursor: pointer;
}

.batsu::before, .batsu::after{
    content: "";
    display: block;
    width: 100%;/*バツ線の長さ*/
    height: 2px;/*バツ線の太さ*/
    background: #000;
    transform: rotate(45deg);
    transform-origin:0% 50%;
    position: absolute;
    top: calc(14% - 5px);
    left: 14%;
}

.batsu::after{
    transform: rotate(-45deg);
    transform-origin:100% 50%;
    left: auto;
    right: 14%;
}

.organizer p {
    margin: 0;
    font-size: 16px;
}

.organizer .credit-area {
    display: flex;
    justify-content: space-between;
    margin: 0;
}

.organizer .role-area {
        margin: 0;
    width: 10%
}

.organizer .name-area {
    width: 90%;
}

.grant {
    margin-top: 5px;
    font-size: 16px;
}

.grant img{
    margin-right: 10px;
    vertical-align: middle;
    width: 30px;
}

.grant span {
    vertical-align: middle;
}

.next-venue-logo img {
    display: inline-block;
    width: 200px;
}

.next-venue-detail{
    font-size: 16px;
}

/* 非表示 */
.hide {
    display: none;
}

/* タブレット以上 */
@media screen and (min-width:600px) {

}

/* 2列以上 */
@media screen and (min-width:960px) {
    #menu {
        border-top: none;
    }

    #top-wrapper {
        display: flex;
        justify-content: space-between;
    }

    #top-left {
        width: 480px;
        height: calc(100vh - 77px);
        padding: 0;
        position: fixed;
        left: 0;
        overflow-y: scroll;
        /* IE, Edge 対応 */
        -ms-overflow-style: none;
        /* Firefox 対応 */
        scrollbar-width: none;
        }
    
        /* Chrome, Safari 対応 */
        #top-left::-webkit-scrollbar {
            display:none;
    }

    .top-next-button {
        margin-bottom: 200px;
    }

    #top-right {
        width: calc(100% - 480px) ;
        position: absolute;
        left: 480px;
        padding-bottom: 200px;
    }
}

/* PCフルスクリーン */
@media screen and (min-width:1280px) {
    .top-next-visual {
        padding: 58px 0;
    }

    .members-wrapper {
        display: flex;
        justify-content: space-between;
    }
    
    .members-column {
        width: 50%;
    }

    .member-description {
        width: 33.3%;
    }

    /* NEXT */
    .next-visual {
        margin: 0 auto;
        width: 900px;
    }

    .next-visual img {
        width: 100%;
    }

    .next-detail-contents {
        width: 900px;
    }

    .next-wrapper {
        width: 900px;
    }
    
}