@charset "UTF-8";
.btm2nd #mainHeader {
  height: fit-content;
}

.btm2nd #mainHeader figure {
  text-align: center;
}

.btm2nd #mainHeader figure img {
  max-width: 100%;
  max-height: auto;
}

.btm2nd #mainHeader h2 {
	font-size: var(--f-largest);
	font-weight: normal;
}

.btm2nd #mainHeader p {
	font-weight: bold;
	font-size: var(--f-larger);
}

/* 段落 */
.btm2nd .content {
  margin: 0 auto;
}

.btm2nd .content .heading {
	margin: 0 0 3vw;
}

/* h3, h4 */
.content h3 {
  margin-bottom: 3vw;
  padding-left: .5em;
  border-left: .25em solid var(--accent2-normal);
  font-size: var(--f-largest);
  background: var(--accent2-thin);
}

.content h4 {
  margin: 0 auto 1em;
  padding-bottom: 0.3em;
	border-bottom: 3px solid var(--border);
	width: fit-content;
}

.content h3 span,
.content h4 span {
  display: inline-block;
}

/* レイアウト */
.content p,
.content figure {
  margin-bottom: 3vw;
}

.content img {
  border-radius: 1vw;
}

.content > figure {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.content figcaption,
.figcaption {
	margin-top: 1vw;
	font-size: var(--f-small);
	line-height: var(--l-narrow);
}

/* 写真横並び */
.content .flex {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: fit-content;
	text-align: center;
}

.content .flex:has(.figcaption) {
	flex-wrap: wrap;
}

.content .flex:has(.figcaption) figure {
	margin-bottom: 1vw;
}

.content .flex:has(.figcaption) p {
	margin: 0 0 3vw;
	padding: 0;
	width: 100%;
}

.content .flex figure:first-child {
	margin-right: 3vw;
}

.content .button {
  margin: 0 auto;
}

.alignRight {
	text-align: right;
}
.alert {
	text-align: right;
	color: #887;
}

/* PCの表示幅に関する設定 */
/* 1920px以上は1440pxが有効 */
@media screen and (min-width: 1920px) {
  .btm2nd .content,
  .btm2nd #mainHeader {
    width: 1440px;
  }

  .btm2nd #mainHeader figure {
    max-width: 1440px;
    max-height: 1440px;
  }

  .content > figure img {
  	max-width: 864px;
  }
  .content > figure.vertical img {
  	max-width: none;
  	max-height: 864px;
  }

  .content .flex > figure img {
  	max-width: 690px;
  }
  .content .flex > figure.vertical img {
  	max-width: none;
  	max-height: 690px;
  }
}

/* 1280px以上は画面幅の75vwが有効 */
@media screen and (min-width: 1280px) and (max-width: 1920px) {
  .btm2nd .content,
  .btm2nd #mainHeader {
    width: 75vw;
  }

  .btm2nd #mainHeader figure {
    max-width: 75vw;
    max-height: 75vw;
  }

  .content > figure img {
  	max-width: 45vw;
  }
  .content > figure.vertical img {
  	max-width: none;
  	max-height: 45vw;
  }

  .content .flex > figure img {
  	max-width: 36vw;
  }
  .content .flex > figure.vertical img {
  	max-width: none;
  	max-height: 36vw;
  }
}

/* 1024px以上は960pxが有効 */
@media screen and (min-width: 1024px) and (max-width: 1280px) {
  .btm2nd .content,
  .btm2nd #mainHeader {
    width: 960px;
  }

  .btm2nd #mainHeader figure {
    max-width: 960px;
    max-height: 960px;
  }

  .content > figure img {
  	max-width: 576px;
  }
  .content > figure.vertical img {
  	max-width: none;
  	max-height: 576px;
  }

  .content .flex > figure img {
  	max-width: 460px;
  }
  .content .flex > figure.vertical img {
  	max-width: none;
  	max-height: 460px;
  }
}

/* それ以下は画面幅の90vwが有効 */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .btm2nd .content,
  .btm2nd #mainHeader {
    width: 90vw;
  }

  .btm2nd #mainHeader figure {
    max-width: 90vw;
    max-height: 90vw;
  }

  .content > figure img {
  	max-width: 54vw;
  }
  .content > figure.vertical img {
  	max-width: none;
  	max-height: 54vw;
  }

  .content .flex > figure img {
  	max-width: 43vw;
  }
  .content .flex > figure.vertical img {
  	max-width: none;
  	max-height: 43vw;
  }
}

/* PC表示 */
@media screen and (min-width: 769px) {
  .btm2nd #mainHeader {
    margin: 0 auto 4vw;
    padding: 10vw 0 4vw;
    height: fit-content;
  }

  .btm2nd #mainHeader figure {
    margin-bottom: 2vw;
  }
}


/* スマートフォン表示 */
@media screen and (max-width: 768px) {
	.btm2nd #mainHeader {
		padding: 12vw 0 0;
		box-shadow: 0px 1px 6px var(--border);
		border-bottom: 0;
	}

	.btm2nd #mainHeader h2,
	.btm2nd #mainHeader p {
		background-color: #fff;
	}

  .btm2nd #mainHeader h2 {
  	font-size: var(--f-large);
  }

  .btm2nd #mainHeader p {
  	font-weight: bold;
  	font-size: var(--f-normal);
  }

	.btm2nd #mainHeader h2 {
		padding: 5vw 5vw 0;
	}

	.btm2nd #mainHeader p {
		padding: 0 5vw 5vw;
	}

	.btm2nd #mainHeader span {
	  display: inline-block;
	}

	.btm2nd .content {
	  margin: 0;
	  padding: 0 4vw 5vw;
	  width: 100%;
	}

/* h3, h4 */
	.content p,
	.content figure {
	  margin-bottom: 5vw;
	}

	.content img {
	  border-radius: 2vw;
	}

  .content > figure img,
  .content .flex > figure img {
  	max-width: 80vw;
  }
  .content > figure.vertical img,
  .content .flex > figure.vertical img {
  	max-width: none;
  	max-height: 80vw;
  }

/* 写真横並び */
  .content .flex {
    margin-bottom: 5vw;
	  display: block;
  }

  .content .flex figure:first-child {
  	margin-right: 0;
  }

/*
	.content figure img,
	.content .flex figure {
  	margin-left: auto;
  	margin-right: auto;
		max-width: 80vw;
		max-height: 80vw;
	}
*/
}