@charset 'utf-8';

/*****************************
#about
*****************************/

#about section {
  width: 90%;
  max-width: 1000px;
  min-width: 320px;
  margin: 0 auto;
}

#about section:not(:nth-child(1)) {
  border-top: 1px solid black;
}

#about section p:not(.title):not(.caption):not(.link) {
  line-height: var(--lineheight-18-32);
}

/*******
#whatiIsOBSM
*******/

#about #whatIsOBSM {
  margin-top: 178px;
}

#whatIsOBSM .flex_box {
  margin-top: 100px;
}

#whatIsOBSM .flex_box span {
  width: 100%;
}

#whatIsOBSM .flex_box span .small{
  font-size: 15px;
}

#whatIsOBSM .flex_box .what_mainimg {
  overflow: hidden;
  margin-top: 30px;
}

#whatIsOBSM .flex_box .what_mainimg img {
  object-fit: cover;
  height: 100%;
}

#whatIsOBSM .flex_box span:nth-child(n + 3),
#whatIsOBSM .flex_box span p:nth-child(2) {
  margin-top: 30px;
}

@media (min-width: 960px) {
  #whatIsOBSM .flex_box {
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
  }

  #whatIsOBSM .flex_box span {
    width: 49%;
    max-width: 49%;
  }

  #whatIsOBSM .flex_box .what_mainimg {
    flex-grow: 1;
    margin-top: unset;
  }

  #whatIsOBSM .flex_box span:nth-child(n + 3),
  #whatIsOBSM .flex_box span p:nth-child(2) {
    margin-top: 30px;
  }
}

/*******
#useGuide
*******/

#about #useGuide {
  margin-top: 100px;
}

#useGuide h2 {
  margin-top: 80px;
}

#useGuide > p {
  margin-top: 20px;
}

#useGuide .useItem {
  margin-top: 100px;
}

#useGuide .useItem .flex_box:nth-child(2) {
  margin-top: 110px;
}

#useGuide .useItem .flex_box > div,
#useGuide .useItem .flex_box > span {
  width: 100%;
}

#useGuide .useItem .flex_box > span {
  margin-top: 20px;
}

#useGuide .useItem .flex_box > div:nth-child(n + 3),
#useGuide .useItem .flex_box > span:nth-child(n + 3) {
  margin-top: 20px;
}

#useGuide .useItem .flex_box.museum {
  display: flex;
  flex-direction: column-reverse;
}

#useGuide .useItem .useBox.museum_info {
  margin: auto 0;
}

#useGuide .useItem .useBox span + p {
  margin-top: 15px;
}

#useGuide .useItem .useBox .title {
  font-size: 24px;
}

#useGuide .useItem .useBox .text {
  margin-top: 20px;
}

#useGuide .useItem .useBox .useSign {
  width: 82px;
  height: 82px;
}

#useGuide .useItem .useBox .useSign p:nth-child(1) {
  font-size: 24px;
}

#useGuide .useItem .useBox .useSign p:nth-child(2) {
  font-size: 14px;
}

#useGuide .useItem .use_link {
  width: 100%;
  max-width: 400px;
  margin: 50px auto 0;
  height: 80px;
}

#useGuide .useItem .use_link a {
  width: 100%;
  text-align: center;
  font-size: 20px;
  padding: 20px 0px;
  border: 1px solid var(--font-colour);
  white-space: nowrap;
}

#useGuide .useItem .use_link .link.active a {
  color: white;
  background: var(--font-colour);
  border: none;
}

@media (min-width: 960px) {
  #useGuide .useItem .flex_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: stretch;
  }

  #useGuide .useItem .flex_box > div,
  #useGuide .useItem .flex_box > span {
    width: 49%;
  }

  #useGuide .useItem .flex_box > span {
    margin-top: unset;
  }

  #useGuide .useItem .flex_box > div:nth-child(n + 3),
  #useGuide .useItem .flex_box > span:nth-child(n + 3) {
    margin-top: 20px;
  }

  #useGuide .useItem .flex_box.museum {
    flex-direction: row;
  }

  #useGuide .useItem .useBox .title {
    font-size: 32px;
  }

  #useGuide .useItem .use_link {
    width: fit-content;
    padding: auto 100px;
    max-width: unset;
  }

  #useGuide .useItem .use_link a {
    padding: 0px 100px;
    white-space: nowrap;
    line-height: 80px;
    font-size: 28px;
  }

  #useGuide .useItem .use_link .br_sp {
    display: none;
  }
}

/*******
#ourEfforts
*******/

#about #ourEfforts {
  margin-top: 100px;
}

#ourEfforts h2 {
  margin-top: 80px;
}

#ourEfforts .flex_box {
  margin-top: 35px;
}

#ourEfforts .flex_box p {
  width: 100%;
}

#ourEfforts .flex_box p:nth-child(2) {
  margin-top: 20px;
}

#ourEfforts .our_img {
  margin-top: 50px;
}

@media (min-width: 960px) {
  #ourEfforts .flex_box {
    margin-top: 35px;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: stretch;
  }

  #ourEfforts .flex_box p {
    width: 49%;
  }

  #ourEfforts .flex_box p:nth-child(2) {
    margin-top: unset;
  }
}

/*****************************
#workshop
*****************************/

#workshop section:not(#reservation) {
  width: 90%;
  max-width: 1000px;
  min-width: 320px;
  margin: 0 auto;
}

#workshop
  section
  p:not(.title):not(.sub_title):not(.price):not(.reservation_link) {
  line-height: var(--lineheight-18-32);
}

/*******
#aboutWorkshop
*******/
#workshop section#aboutWorkshop {
  margin-top: 176px;
}

#aboutWorkshop .flex_box {
  margin-top: 60px;
}

#aboutWorkshop .flex_box span {
  width: 100%;
}

#aboutWorkshop .flex_box .ws_box p:not(:nth-child(1)){
  margin-top: 20px;
}

#aboutWorkshop .flex_box .ws_box p.small{
  font-size: 15px;
}

#aboutWorkshop .flex_box .ws_box .ws_link {
  margin: 95px auto 0;
  width: 100%;
  max-width: 400px;
}

#aboutWorkshop .flex_box .ws_box .ws_link a {
  height: 60px;
  line-height: 60px;
  font-size: 20px;
  padding: 0px 50px;
  text-align: center;
  background-color: var(--font-colour);
  border: 1px solid var(--font-colour);
  color: white;
}

#aboutWorkshop .flex_box .ws_box .ws_link.active a {
  color: var(--font-colour);
  background: white;
}

#aboutWorkshop .flex_box .ws_img {
  margin-top: 100px;
}

#aboutWorkshop .flex_box .ws_img img {
  height: 100%;
  object-fit: cover;
}

@media (min-width: 960px) {
  #aboutWorkshop .flex_box {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  #aboutWorkshop .flex_box span {
    width: 49%;
  }

  #aboutWorkshop .flex_box .ws_box .ws_link {
    width: fit-content;
    max-width: unset;
    margin: unset;
    margin-top: 95px;
  }

  #aboutWorkshop .flex_box .ws_img {
    margin-top: unset;
  }
}

/*******
#trial
*******/
#workshop section#trial {
  margin-top: 100px;
}

#trial .flex_box {
  display: inherit;
}

#trial .trial_about {
  margin-top: 60px;
}

#trial .trial_about span.text {
  width: 100%;
}

#trial .trial_about span.text p:nth-child(2){
  margin-top: 10px;
}

#trial .trial_about span.text {
  width: 100%;
}

#trial .trial_about span.price {
  width: 100%;
  margin-top: 30px;
}

#trial .trial_about span.price p {
  font-size: 22px;
}

#trial .trial_about span.price dl {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-top: 25px;
  border-bottom: 1px solid var(--font-colour);
  padding-bottom: 8.5px;
}

#trial .trial_imgs {
  margin-top: 50px;
}

#trial .trial_imgs span {
  width: 100%;
  margin-top: 20px;
}

@media (min-width: 960px) {
  #trial .flex_box {
    display: flex;
  }

  #trial .trial_about {
    margin-top: 60px;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  #trial .trial_about span.text {
    width: 50%;
  }

  #trial .trial_about span.price {
    width: 43%;
    max-width: 430px;
    margin-top: unset;
  }

  #trial .trial_imgs {
    margin-top: 50px;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  #trial .trial_imgs span {
    width: 49%;
    margin-top: unset;
  }

  #trial .trial_imgs span:nth-child(n + 3) {
    margin-top: 20px;
  }
}

/*******
#selfmake
*******/
#workshop section#selfmake {
  margin-top: 110px;
}

#selfmake .text {
  margin-top: 50px;
}

#selfmake .self_img {
  margin-top: 20px;
}

/*******
#artPrint
*******/
#workshop section#artPrint {
  margin-top: 100px;
}

#artPrint {
  border-top: 1px solid var(--font-colour);
  padding-top: 80px;
}

#artPrint .flex_box {
  margin-top: 47px;
}

#artPrint .flex_box div,
#artPrint .flex_box span {
  width: 100%;
}

#artPrint .flex_box span {
  margin-top: 20px;
}

#artPrint .flex_box span:nth-child(n + 3) {
  margin-top: 20px;
}

#artPrint .flex_box .art_box.flex_column {
  display: flex;
  flex-direction: column;
  margin-top: 80px;
}

#artPrint .flex_box .art_box .title {
  font-size: 24px;
}

#artPrint .flex_box .art_box .text {
  margin-bottom: auto;
}

#artPrint .flex_box .art_box .text,
#artPrint .flex_box .art_box .price {
  margin-top: 30px;
}

#artPrint .flex_box .art_box .art_img {
  width: 100%;
  margin-top: 30px;
}

@media (min-width: 960px) {
  #artPrint .flex_box {
    margin-top: 47px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  #artPrint .flex_box:nth-child(3) {
    margin-top: 80px;
    flex-wrap: nowrap;
  }

  #artPrint .flex_box div,
  #artPrint .flex_box span {
    width: 49%;
  }

  #artPrint .flex_box span {
    margin-top: unset;
  }

  #artPrint .flex_box .art_box.flex_column {
    margin-top: unset;
  }
}

/*******
#reservation
*******/

#reservation {
  position: relative;
}

#reservation .reservation_box {
  width: 90%;
  max-width: 1000px;
  margin: 170px auto 0;
  align-items: center;
}

#reservation .reservation_box .reservation_img {
  width: 100%;
  min-width: 320px;
  overflow: hidden;
}

#reservation .reservation_box .reservation_img img {
  transition: 0.5s;
}

#reservation .reservation_box .reservation_access {
  width: 100%;
  margin-top: 30px;
  min-width: 320px;
}

#reservation .reservation_box .reservation_access .reservation_text {
  margin-top: 15px;
}

#reservation .reservation_box .reservation_access .reservation_link {
  width: 100%;
  margin: 50px auto 0;
  height: 60px;
  line-height: 60px;
  max-width: 400px;
}

#reservation .reservation_box .reservation_access .reservation_link a {
  font-size: 20px;
  text-align: center;
  background-color: var(--font-colour);
  color: white;
}

#reservation .reservation_box.active .reservation_img img {
  transform: scale(1.1);
  transition: 0.5s;
}

#reservation .reservation_box.active .reservation_access .reservation_link a {
  background-color: transparent;
  color: var(--font-colour);
  border: 1px solid var(--font-colour);
}

@media (min-width: 960px) {
  #reservation .reservation_box {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    margin: 170px auto 0;
    align-items: center;
    padding: unset;
    width: 100%;
    max-width: unset;
  }

  #reservation .reservation_box .reservation_img {
    width: 50%;
    transform: translateY(-50px);
  }

  #reservation .reservation_box .reservation_access {
    width: calc(45% - 75px);
    max-width: 425px;
    margin-left: 75px;
    margin-top: unset;
  }

  #reservation .reservation_box .reservation_access .reservation_link {
    width: 245px;
    margin: unset;
    margin-top: 50px;
    height: 60px;
    line-height: 60px;
    max-width: unset;
  }
}

#reservation .design_box {
  background: var(--colour-gray);
  position: absolute;
  z-index: -9999;
  width: 100%;
  display: none;
}

@media (min-width: 960px) {
  .design_box {
    width: 80%;
  }

  #reservation .design_box {
    display: inherit;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 90%;
    max-width: calc(1000px + ((100vw - 1000px) / 2));
    height: calc(100% + 20px);
  }
}

/*****************************
#access
*****************************/

#access section:not(#access_reservation) {
  width: 90%;
  max-width: 1000px;
  min-width: 320px;
  margin: 0 auto;
}

#access section p,
#access section dl {
  line-height: var(--lineheight-18-32);
}

/*******
#basicInfo
*******/
#access section#basicInfo {
  margin-top: 176px;
}

#basicInfo .flex_box {
  margin-top: 60px;
}

#basicInfo .flex_box span {
  display: block;
  width: 100%;
}

#basicInfo .flex_box span h3 {
  font-size: 24px;
}

#basicInfo .flex_box span dl {
  margin-top: 30px;
}

#basicInfo .flex_box span dt {
  font-size: 22px;
}

#basicInfo .flex_box .basic_img {
  display: block;
  position: relative;
  margin-top: 30px;
}

#basicInfo .flex_box .basic_img:before {
  content: "";
  display: block;
  padding-top: 100%;
}

#basicInfo .flex_box .basic_img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  object-fit: cover;
}

@media (min-width: 960px) {
  #basicInfo .flex_box {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
  }

  #basicInfo .flex_box span {
    width: 49%;
    max-width: 490px;
  }
  #basicInfo .flex_box .basic_img {
    margin-top: unset;
  }
}

/*******
#access_reservation
*******/

#access_reservation {
  position: relative;
}

#access_reservation .reservation_box {
  width: 90%;
  max-width: 1000px;
  margin: 170px auto 0;
  align-items: center;
}

#access_reservation .reservation_box .reservation_img {
  width: 100%;
  min-width: 320px;
  overflow: hidden;
}

#access_reservation .reservation_box .reservation_img img {
  transition: 0.5s;
}

#access_reservation .reservation_box .reservation_access {
  width: 100%;
  margin-top: 30px;
  min-width: 320px;
}

#access_reservation .reservation_box .reservation_access .reservation_text {
  margin-top: 15px;
}

#access_reservation .reservation_box .reservation_access .reservation_link {
  width: 100%;
  max-width: 400px;
  margin: 25px auto 0;
  height: 60px;
  line-height: 60px;
}

#access_reservation .reservation_box .reservation_access .reservation_link a {
  font-size: 20px;
  text-align: center;
  background-color: var(--font-colour);
  border: 1px solid var(--font-colour);
  color: white;
}

#access_reservation .reservation_box.active .reservation_img img {
  transform: scale(1.1);
  transition: 0.5s;
}

#access_reservation
  .reservation_box.active
  .reservation_access
  .reservation_link
  a {
  background-color: transparent;
  color: var(--font-colour);
}

@media (min-width: 960px) {
  #access_reservation .reservation_box {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    margin: 170px auto 0;
    align-items: center;
    padding: unset;
    width: 100%;
    max-width: unset;
  }

  #access_reservation .reservation_box .reservation_img {
    width: 50%;
    transform: translateY(-50px);
  }

  #access_reservation .reservation_box .reservation_access {
    width: calc(45% - 75px);
    max-width: 425px;
    margin-left: 75px;
    margin-top: unset;
  }

  #access_reservation .reservation_box .reservation_access .reservation_link {
    width: 245px;
    margin: unset;
    margin-top: 25px;
    height: 60px;
    line-height: 60px;
    max-width: unset;
  }
}

#access_reservation .design_box {
  background: var(--colour-gray);
  position: absolute;
  z-index: -9999;
  width: 100%;
  display: none;
}

@media (min-width: 960px) {
  .design_box {
    width: 80%;
  }

  #access_reservation .design_box {
    display: inherit;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 90%;
    max-width: calc(1000px + ((100vw - 1000px) / 2));
    height: calc(100% + 20px);
  }
}

/*******
#place
*******/

#access section#place {
  margin-top: 100px;
  border-top: 1px solid var(--font-colour);
}

#place h2 {
  margin-top: 80px;
}

#place .place_info {
  margin-top: 60px;
}

#place .place_img {
  margin-top: 30px;
}

/*******
#omoitsumugi
*******/

#access section#omoitsumugi {
  margin-top: 100px;
  border-top: 1px solid var(--font-colour);
}

#omoitsumugi h2 {
  margin-top: 80px;
}

#omoitsumugi .flex_box {
  margin-top: 60px;
}

#omoitsumugi .flex_box > span {
  width: 100%;
}

#omoitsumugi .flex_box span p:nth-child(n + 2) {
  margin-top: 30px;
}

#omoitsumugi .flex_box .omoi_info_right .link {
  display: flex;
  flex-wrap: nowrap;
  margin-top: 30px;
  align-items: center;
}

#omoitsumugi .flex_box .omoi_info_right .link a {
  color: var(--main-colour);
}

@media (min-width: 960px) {
  #omoitsumugi .flex_box {
    margin-top: 60px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  #omoitsumugi .flex_box > span {
    width: 48%;
    max-width: 480px;
  }
}

/*******
#access_contact
*******/

#access section#access_contact {
  margin-top: 100px;
  border-top: 1px solid var(--font-colour);
}

#access_contact h2 {
  margin-top: 80px;
}

#access_contact .contact_area {
  margin-top: 60px;
}

#access_contact .contact_area form{
  margin-top: 60px;
}

#access_contact .contact_area form .post_item{
  border-top: 1px solid var(--font-colour);
  padding-top: 50px;
}

#access_contact .contact_area form .post_item:nth-child(n + 2){
  margin-top: 50px;
}

#access_contact .contact_area form .post_item > span{
  display: flex;
  flex-direction: row;
}
#access_contact .contact_area form .post_item > span p{
  align-self: center;
}

#access_contact .contact_area form .post_item > input,
#access_contact .contact_area form .post_item > textarea{
  border: 1px solid var(--font-colour);
  margin-top: 20px;
  width: 80%;
  max-width: 500px;
  min-width: 300px;
}

#access_contact .contact_area form .post_item > input{
  min-height: 40px;
}

#access_contact .contact_area form .post_item > textarea{
  min-height: 200px;
}

#access_contact .contact_area form .post_item .post_tag{
  font-size: 16px;
  color: white;
  background: var(--font-colour);
  width: fit-content;
  height: fit-content;
  padding: 7px 10px;
}

#access_contact .contact_area form .post_item .post_name{
  margin-left: 15px;
}

#access_contact .contact_area form .post_btn{
  margin: 80px auto 0;
  width: fit-content;
  font-size: 22px;
}

#access_contact .contact_area form .post_btn input{
  font-size: 22px;
  padding: 20px 50px;
  border: 1px solid var(--font-colour);
  background: white;
  cursor: pointer;
}

#access_contact .contact_area form .post_btn input.active{
  background: var(--font-colour);
  color: white;
}

#access_contact .contact_area .link_privacy{
  width: fit-content;
  margin:40px auto 0;

}

@media (min-width: 960px) {

#access_contact .contact_area form .post_item{
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin: 0 auto;
}

#access_contact .contact_area form .post_item > span{
  width: 300px;
  margin: 0 0 0 auto;
}

#access_contact .contact_area form .post_item > input,
#access_contact .contact_area form .post_item > textarea{
  width: 500px;
  margin: 0 auto 0 0;
}
}

/*****************************
#exhibition
*****************************/

#exhibition section {
  width: 90%;
  max-width: 1000px;
  min-width: 320px;
  margin: 0 auto;
  margin-top: 176px;
}

/*******
#exhibition_info
*******/

#exhibition_info .info_box{
  margin-top: 60px;
}

#exhibition_info .info_box .left{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#exhibition_info .info_box .left span,
#exhibition_info .info_box .right{
  margin-top: 30px;
}


@media(min-width:960px){

  #exhibition_info .info_box{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
  }

  #exhibition_info .info_box .left,
  #exhibition_info .info_box .right{
    width: 49%;
  }

  #exhibition_info .info_box .left span,
  #exhibition_info .info_box .right{
    margin-top: unset;
  }

}

/*******
#schedule
*******/

#exhibition section#schedule {
  margin-top: 100px;
  border-top: 1px solid var(--font-colour);
}

#schedule h2{
  margin-top: 80px;
}

#schedule > p{
  margin-top: 20px;
}

#schedule .schedule_box{
  margin-top: 65px;
}

#schedule .schedule_box .event{
  margin-top: 65px;
}

#schedule .schedule_box .event:not(:nth-child(1)){
  margin-top: 50px;
}

#schedule .schedule_box .event .event_img{
  width: 100%;
}

#schedule .schedule_box .event .event_info{
  width: 100%;
  margin: 20px auto 0px;
}

#schedule .schedule_box .event .event_info .event_title{
  font-size: 26px;
  margin-top: 10px;
}

#schedule .schedule_box .event .event_info .small{
  font-size: 14px;
  margin-top: 10px;
}

#schedule .schedule_box .event .event_info .event_link{
  margin-top: 20px;
  text-align: center;
  width: fit-content;
}

#schedule .schedule_box .event .event_info .event_link a {
  font-size: 20px;
  padding: 15px 50px;
  text-align: center;
  border: 1px solid var(--font-colour);
}

#exhibition section .link.active a {
  background-color: var(--font-colour);
  color: white;
  border: none;
}


@media(min-width:960px){

#schedule .schedule_box .event{
  margin-top: 65px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
}

#schedule .schedule_box .event .event_img{
  width: 20%;
  margin-right: 20px;
}

#schedule .schedule_box .event .event_info{
  width: calc(80% - 20px);
  margin: auto 0px;
}
}

/*******
#archives
*******/


#exhibition section#archives {
  margin-top: 100px;
  border-top: 1px solid var(--font-colour);
}

#archives h2{
  margin-top: 60px;
}

#archives .archive_box{
  margin-top: 50px;
}

#archives .archive_box .archive_items{
  margin-top: 30px;
}

#archives .archive_box .archive_items .archive_item{
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
}

#archives .archive_box .archive_items .archive_item:not(:nth-child(1)){
  margin-top: 20px;
}

#archives .archive_box .archive_items .archive_item .archive_date{
  white-space: nowrap;
  width: 20%;
  min-width: 180px;
  font-size: 14px;
}

#archives .archive_box .archive_items .archive_item .archive_title{
  width: 80%;
}

@media(min-width:960px){
  #archives .archive_box .archive_items .archive_item .archive_date{
  font-size: 18px;
  }
}


/*******
#archives_accordion
*******/

.accordion_area .accordion_one .accordion_header {
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition-duration: 0.3s;
  border-bottom: 1px solid var(--font-colour);
  display: flex;
  flex-direction: row;
  align-items: center;
}

.accordion_area .accordion_one .accordion_header .accordion_arrow{
  width: 13px;
  margin-right: 10px;
  vertical-align: middle;
  transform: translateY(2px);
  transition-duration: 0.3s;
}

.accordion_area .accordion_one .accordion_header.open .accordion_arrow {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  transition-duration: 0.3s;
}

.accordion_area .accordion_one .accordion_inner {
  display: none;
  box-sizing: border-box;
}

@media(min-width:960px){
  .accordion_area .accordion_one .accordion_header .accordion_arrow{
    width: 15px;
    transform: translateY(2px);
  }
}


/*****************************
#exhibition_single
*****************************/

.expo_single .outer{
  width: 90%;
  max-width: 1000px;
  min-width: 320px;
  margin: 176px auto 0;
}

.expo_single #single_info{
  margin-top: 70px;
}

.expo_single #single_info .content{
  margin-top: 40px;
}

.expo_single #single_info .content .title{
  font-size: 30px;
  margin-top: 15px;
}

.expo_single #single_info .content .text{
  margin-top: 30px;
}

.expo_single #single_info .content .text .link{
  color: var(--main-colour);
  word-break: break-word;
}

.expo_single #single_info .content .text p:nth-child(n + 2){
  margin-top: 20px;
}

.expo_single #single_info .content .group{
  margin-top: 30px;
}

.expo_single #single_info .content .author_info{
  margin-top: 60px;
}

.expo_single #single_info .content .author_info p{
  margin-top: 8px;
  display: flex;
  white-space: nowrap;
}

.expo_single #single_info .content .author_info p a{
  display: block;
  width: fit-content;
  color: var(--main-colour);
  word-break: break-word;
}

.expo_single #single_video{
  margin-top: 100px;
}

.expo_single #single_video video{
  width: 100%;
  margin-top: 20px;
  /* iPhone safariの枠線を消す */
  filter: drop-shadow(0px 0px rgba(0,0,0,0));

  /* PCのChromeの枠線を消す */
  outline: none;
  border: none;
}

.expo_single #single_gallery{
  margin-top: 100px;
}

.expo_single #single_gallery .gallery_box{
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  flex-wrap: wrap ;
  align-items: flex-start;
}

.expo_single #single_gallery .gallery_box > span{
  width: 49%;
}

.expo_single #single_gallery .gallery_box .left,
.expo_single #single_gallery .gallery_box .right{
  width: 49%;
}

.expo_single #single_gallery .gallery_box .left span:nth-child(n + 2),
.expo_single #single_gallery .gallery_box .right span:nth-child(n + 2){
  margin-top: 20px;
}

.expo_single #single_gallery .photographer{
  margin-top: 30px;
}


@media(min-width:960px){
  .expo_single #single_info{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
  }

  .expo_single #single_info .flyer{
    width: 40%;
  }

  .expo_single #single_info .content{
    width: calc(60% - 30px);
    margin-top: unset;
  }
}

/*****************************
#privacy-policy
*****************************/

#privacy_policy section{
  width: 90%;
  max-width: 1000px;
  margin: 178px auto 0;
}

#privacy_policy section .privacy_text{
  margin-top: 45px;
}

#privacy_policy section .privacy_text p{
  line-height: var(--lineheight-18-32);
}

#privacy_policy section .privacy_text h3{
  margin-top: 30px;
  font-size: 22px;
}

#privacy_policy section .privacy_text p:not(:nth-child(1)){
  margin-top: 10px;
}

#privacy_policy section .privacy_text p.annotation{
  margin-top: 18px;
}


/*****************************
#thanks
*****************************/

#thanks section {
  width: 90%;
  max-width: 1000px;
  min-width: 320px;
  margin: 0 auto;
  margin-top: 176px;
}

#thanks section p:not(.link) {
  line-height: var(--lineheight-18-32);
  margin-top: 63px;
}

#thanks section h2 {
  text-align: center;
}

#thanks section .link {
  margin: 50px auto 0;
  text-align: center;
  width: fit-content;
  height: 60px;
  line-height: 60px;
}

#thanks section .link a {
  font-size: 20px;
  padding: 0px 50px;
  text-align: center;
  background-color: var(--font-colour);
  border: 1px solid var(--font-colour);
  color: white;
}

#thanks section .link.active a {
  background-color: transparent;
  color: var(--font-colour);
}


/*****************************
#mail
*****************************/

#mail section {
  width: 90%;
  max-width: 1000px;
  min-width: 320px;
  margin: 0 auto;
  margin-top: 176px;
}

#mail section h2{
  text-align:center;
}

#mail section input.link {
  margin: 50px auto 0;
  text-align: center;
  width: fit-content;
  height: 60px;
  line-height: 60px;
  font-size: 20px;
  padding: 0px 50px;
  text-align: center;
  background-color: var(--font-colour);
  border: 1px solid var(--font-colour);
  color: white;
}

#mail section input.link.active{
  background-color: transparent;
  color: var(--font-colour);
}

/*******
#mail/check
*******/
#mail section .error h4{
  margin-top: 30px;
}
#mail section .error p{
  margin-top: 20px;
}

#mail section .correct h4{
  margin-top: 30px;
}
#mail section .correct .formTable{
  width: 80%;
  margin: 20px auto 0;
}

#mail section .correct .formTable tbody tr{
  margin-top: 20px;
}
#mail section .correct .formTable tbody th{
  width: 30%;
  text-align:left;
  margin-right: 30px;
}



/*****************************
animation
全体ふわっと表示
******************************/

.scroll-fade-up{
  opacity:0;
}


