@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho+B1&display=swap');

/*テーマ*/
.theme {
  background:url("../img/glossary_topbr.jpg") no-repeat center center;
}

.archive {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}


/*バナーメニュー*/
.banner {
  margin-top: 60px;
}
.banner ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
.banner li~li {
  margin-top: 20px;
}
.banner li img {
  max-width: 573px;
}

/*-------------------------*/
/*記事ページ*/
/*-------------------------*/
.cover img {
  display: block;
}
.read {
  background-color: #ebebeb;
  padding: 20px 40px;
  text-align: center;
  font-size: clamp(0.875rem, 0.85rem + 0.13vw, 1rem);
}
.read p {
  max-width: 900px;
  margin: 0 auto;
}

.interview {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}

h2.interview-headline {
  margin: 100px auto;
  text-align: center;
  /*18-26*/
  font-size: clamp(1.125rem, 1.025rem + 0.5vw, 1.625rem);
  font-family: "Shippori Mincho B1", serif;
  font-weight: 400;
}
figure.interview-headline {
  margin: 100px auto 60px;
  text-align: center;
}
.interview h3 {
  /*16-18*/
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  margin: 40px auto;
}
.interview figure {
  margin: 30px auto;
  text-align: center;
}
.interview p b {
  color: var(--limegreen);
  margin-right: 1em;
}

/*注釈*/
.interview .note {
  margin: 50px 0;
}

.img-r {
  float: right;
  margin: 0 0 20px 20px !important;
}

/*プロフィール*/
.photo {
  display: grid;
  grid-template-columns: 1fr 300px;
  column-gap: 20px;
}
.photo figure {
  margin: 0;
}
.photo figcaption {
  text-align: left;
  color: #000;
  font-size: clamp(0.625rem, 0.6rem + 0.13vw, 0.75rem);
  line-height: 160%;
  margin: 10px 0 0 0;
}
.photo figcaption b {
  color: var(--limegreen);
}

/*ライター*/
.sign {
  text-align: right;
}

/*メニュー*/
.topics-menu {
  border-top: 1px #ddd solid;
  padding-top: 50px;
  margin-top: 50px;
}
.topics-menu ul {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
}
.topics-menu li {
  padding: 10px;
}
.topics-menu p {
  font-size: 14px;
}

/*-------------------------*/
/*report_spacedome.html*/
/*-------------------------*/
.spacedome {
  margin-top: 50px;
}
.spacedome .section {
  overflow: hidden;
}
.spacedome .section~.section {
  margin-top: 100px;  
}
.spacedome .figure {
  margin: 0 auto;
}
.spacedome figcaption {
  font-size: clamp(0.75rem, 0.738rem + 0.06vw, 0.813rem);
}

.spacedome-headline {
  font-weight: bold;
  margin-bottom: 30px;
  overflow: hidden;
}
.spacedome-headline div {
  font-size: clamp(1.125rem, 1.1rem + 0.13vw, 1.25rem);
  color: gray;
  border-bottom: 2px gray solid;
  margin-bottom: 10px;
}
.spacedome-headline h2 {
  margin: 0;
  font-size: clamp(1.125rem, 0.95rem + 0.88vw, 2rem);
}
.spacedome-headline span {
  font-size: clamp(1rem, 0.925rem + 0.38vw, 1.375rem);
  margin: 0 10px;
}

#area01 {
  overflow: visible; /*.photo01画像用*/
}

.photo01 {
  float: left;
  margin-right: 30px;
  position: relative;
}
.photo01 img:first-child {
  position: absolute;
  top: 40px;
  left: -30px;
  transform: rotate(-15deg);
}

.photo02 {
  float: right;
  margin-top: 40px;
  margin-left: 30px;
}
.text01 {
  margin-top: 240px;
}

.photo03 {
  clear: both;
  margin-top: 60px;
}
.photo03 .figure-col {
  gap: 10px;
}

.photo04 {
  width: 100%;
  max-width: 355px;
  float: right;
  margin-left: 40px;
}
.photo04 figure {
  margin: 0;
}

.photo05 {
  width: 100%;
  max-width: 420px;
  float: left;
  margin-right: 30px;
}
.photo06 {
  position: relative;
  margin-top: 15px;
}
.photo06 img:first-child {
  position: absolute;
  top: 30px;
  left: 270px;
  transform: rotate(-19deg);
}

.photo07 {
  width: 100%;
  max-width: calc(100% - 550px);
  float: right;
  margin-left: 40px;
}
.photo07 figure {
  display: grid;
  align-items: end;
  grid-template-columns: 1fr 292px;
  gap: 10px;
}

#area04 {
  position: relative;
}
#area04 .photo08 {
  position: absolute;
  top: 0;
  right: calc(100% - 483px - 50px);
  overflow: visible;
}
#area04 .photo09 {
  width: 100%;
  max-width: 483px;
  float: right;
  margin-left: 40px; 
}
#area04 .photo09 figure {
  margin: 0;
}

.spacedome-info {
  display: flex;
  justify-content: end;
  margin: 50px 0;
}
.spacedome-info dl {
  width: 100%;
  max-width: 450px;
  margin: 0;
}
.spacedome-info dt {
  font-weight: bold;
  font-size: clamp(1rem, 0.975rem + 0.13vw, 1.125rem);
  border-bottom: 12px #adadad solid;
  color: #6e6e6e;
}
.spacedome-info dt span {
  border-left: 1px #adadad solid;
  margin-left: 10px;
  padding-left: 10px;
}
.spacedome-info dd {
  margin: 0;
  padding: 20px;
}

.quiz {
  border-top: 1px solid var(--limegreen);
  padding-top: 10px;
}
.quiz figure {
  margin: 0;
}
.answer {
  width: 100%;
  max-width: 850px;
  margin: 0 auto;
}
.answer~.answer {
  margin-top: 30px;
}
.photo10 {
  float: left;
  margin-right: 40px;
}

/****************************/
/*レスポンシブ*/
/****************************/
@media screen and (max-width: 1279px) {
}

@media screen and (max-width: 979px) {
  .read {
    padding: 20px;
  }
  .img-r {
    float: none;
    margin: 20px auto;
  }

  .photo {
    display: block;
    grid-template-columns: none;
  }
  .photo figure {
    margin: 20px auto;
  }
  .photo figcaption {
    margin: 10px auto;
  }

  .photo01 {
    width: 45%;
    margin-right: 15px;
  }
  .photo01 img:first-child {
    width: 45%;
    top: auto;
    bottom: 20px;
    left: 0;
  }
  .photo02 {
    width: 45%;
  }
  .text01 {
    margin-top: 140px;
  }
  .photo04 {
    width: 45%;
  }
  .photo05 {
    width: 45%;
  }
  .photo06 {
    width: 65%;
  }
  .photo06 img:first-child {
    width: 65%;
    top: 20px;
    left: 80%;
  }
  .photo07 {
    max-width: 100%;
  }
  .photo07 figure {
    margin: 0;
  }
  #area04 .photo08 {
    top: 40px;
    right: calc(100% - 45% - 150px);
  }
  #area04 .photo08 img {
    max-width: 45%;
  }
  #area04 .photo09 {
    max-width: 45% !important;
  }
  .photo10 {
    width: 45%;
  }
}

@media screen and (max-width: 779px) {
  h2.interview-headline {
    margin: 30px auto;
  }
  figure.interview-headline {
    margin: 30px auto;
  }
}

@media screen and (max-width: 579px) {
  .spacedome .section~.section {
    margin-top: 30px;
  }

  .read {
    padding: 10px;
  }

  .photo02 {
    width: 100%;
    float: none;
    margin: 0 auto;
  }
  .text01 {
    margin-top: 20px;
  }
  .photo03 {
    margin-top: 0px;
  }
  .photo04 {
    width: 100%;
    float: none;
    margin: 20px auto 30px;
  }
  .photo05 {
    width: 100%;
    float: none;
    margin: 20px auto 40px;
  }
  .photo06 {
    width: 100%;
  }
  .photo06 img:first-child {
    width: 120px;
    top: 20px;
    left: auto;
    right: 20px;
  }
  .photo07 {
    float: none;
    margin: 20px auto;
  }
  .photo07 figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-template-columns: none;
    order: 1;
    margin: 0 auto;
  }
  .photo07 figure figcaption {
    order: 2;
  }

  #area04 .photo08 {
    width: 100%;
    position: static;
    top: auto;
    right: auto;
    text-align: center;
    margin: 20px auto;
  }
  #area04 .photo08 img {
    max-width: 100%;
  }
  #area04 .photo09 {
    float: none;
    width: 100%;
    max-width: 100% !important;
    margin: 20px auto 0;
  }
  .photo10 {
    width: 100%;
    float: none;
    margin: 0px auto;
    text-align: center;
  }

  #area04 {
    display: flex;
    flex-direction: column;
  }
  #area04 .photo08 {
    order: 4;
  }
  #area04 .photo09 {
    order: 3;
  }
  #area04 .spacedome-headline {
    order: 1;
  }
  #area04 .text08 {
    order: 2;
  }

  .topics-menu ul {
    max-width: 400px;
    margin: 0 auto 40px;
    display: block;
    grid-template-columns: none;
  }
  .topics-menu p {
    margin: 0;
    font-size: 12px;
  }
}

@media screen and (max-width: 379px) {
}
