sub {
	vertical-align: bottom;
	font-size: small;
}
sup {
	vertical-align: top;
	font-size: small;
}

.fwb {
	font-weight: bold;
}

.img-responsive {
  display: block;
  width: 100%;
  height: auto;
}

.img-border {
	border: 1px solid #ddd;
}

.img-border-bld {
	border: 2px solid #ddd;
}

.ttl_s {
  clear: both;
  display: inline-block;
  margin: 15px 0;
  padding: 3px 10px;
  font-weight: bold;
  background: #c9caca;
}

/* #top-main h1 {
  padding-top: 70px;
} */

body:has(.pg01) #top-main h1 {
	padding-top: 90px;
}

#top-main h1 .cat {
  display: inline-block;
  margin: 8px 0 10px;
  padding: 3px 10px;
  border-radius: 3px;
  line-height: 1.3;
  font-size: 15px;
  background: rgba(1, 66, 144, 0.3);
  vertical-align: middle;
}

#top-main h1 span {
  display: block;
}

.colWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.pickup-detail .pickup-text {
  clear: both;
  overflow: hidden;
  height: auto;
  font-weight: 500;
  padding-bottom: 1em;
}

.box01 {
    padding: 10px;
    border: 5px solid #dcdcdc;
}

.box02 {
    padding: 1.5em;
    border: 1px solid #999;
}

.pickup-detail .box01 p {
	line-height: 1.5;
}

.ttl_m {
    clear: both;
    margin: 15px 0;
    margin-top: 15px;
    font-size: 18px;
    font-weight: bold;
    color: #3aafdb;
}

.inqBox {
	justify-content: flex-start !important;
	align-items: center;
	gap: 1.6em;
}

.inqBox .head {
  /* padding: 15px 7px; */
  padding: .8em .5em;
  /* line-height: 1.5; */
  line-height: 1.3;
  background: #014290;
  color: #fff;
  font-weight: bold;
  /* font-size: 20px; */
  font-size: 1.6rem;
  text-align: center;
  word-break: keep-all;
  width: auto;
	display: inline-block;
}

.pickup-detail .inqBox p {
  font-weight: bold;
  margin: 0;
  padding: 0;
  line-height: 1.3;
}
.pickup-detail .inqBox .tel {
  font-size: 26px;
  line-height: 1.3;
}
.pickup-detail .inqBox .tel span {
  display: block;
  font-size: 15px;
}


@media print, screen and (min-width: 768px) {
	.inqBox .head.w30p {
		width: 30% !important;
	}

	.inqBox .txt {
		flex: 1;
	}
}

@media print, screen and (max-width: 767px) {
	.pickup-detail .inqBox.colWrap {
		display: flex !important;
		flex-direction: column;
		gap: 1.5em;
	}
	.pickup-detail .inqBox > * {
		width: 100% !important;
	}
}

.heading-style01 span {
    display: unset;
	padding: unset;
}

.heading-style01 > span {
    display: inline-block;
}

.heading-style01 span.sub {
    display: block;
    font-size: 20px;
}

.heading-style03 span {
	font-size: unset;
}

.heading-style03 > span {
	font-size: 17px;
}

.pickup-detail .pickup-text .imgFrame .cap,
.pickup-detail .pickup-text .imgBox .cap {
    display: block;
    font-size: 18px;
    line-height: 1.4;
	font-weight: bold;
}

.pickup-detail .pickup-text img + .cap {
	margin-top: .75em;
	text-align: center;
}

.pickup-text .img-left, .pickup-text .img-right {
    width: 30%;
    max-width: 400px;
    height: auto;
	font-size: small;
}

.pickup-text .img-left.w40p,
.pickup-text .img-right.w40p {
	width: 40%;
}

.imgFrame .cap + img {
    margin-top: 10px;
}
.box01 {
    padding: 10px;
    border: 5px solid #dcdcdc;
}

body:not(#index) #main a {
	word-break: break-all;
}

.colWrap.even {
	gap: 2em;
}

.colWrap .even > * {
	width: auto !important;
	flex: 1;
}

.imgBox {
	display: flex;
	gap: 2em;
}

.imgBox img {
	display: block;
	margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
	.imgBox.rtl {
		flex-direction: row-reverse;
	}

	.imgBox .img {
		/* flex: 0 0 30%; */
		flex: 0 0 40%;
		padding-top: .5em;
	}
	.imgBox .txt {
		flex: 1;
	}

	.imgBox.even > * {
		flex: auto;
		width: calc(calc(100% - 2em) / 2);
	}
}

@media print, screen and (max-width: 767px) {
	.imgBox {
		flex-direction: column;
	}
}

.w50p {
	width: 50%!important;
}

.w70p {
	width: 70%;
	margin: 0 auto;
}

.w80p {
	width: 80%;
	margin: 0 auto;
}

.pc_only {
	display: inline;
}
.sp_only {
	display: none;
}

@media print, screen and (max-width: 991px) {
	.img-right {
		margin: 0;
	}
	
	.pickup-text .img-left,
	.pickup-text .img-right {
		display: block;
		float: none;
		margin: 0 auto 15px;
		width: min(400px, 100%) !important;
	}

	.w52p, .w80p, .w70p {
		width: 100%;
	}
	.pc_only {
		display: none;
	}
	.sp_only {
		display: inline;
	}
}
.ul {
	font-size: 18px;
}
.blue {
	color: #3aafdb;
}

.dl-box {
	display: flex;
	justify-content: space-between;
	gap: 2em;
	max-width: 570px;
	margin: 1.5em auto 0;
}

.dl-ttl {
	font-weight: bold;
	font-size: 1.2em;
	margin: 0 0 .8em;
	padding: .4em .3em;
	border: 1px solid #808080;
	text-align: center;
	letter-spacing: .02em;
}

.dl-txt {
	flex: 1;
}

.dl-txt p {
	color: #5D4B09;
}

.dl-img {
	flex: 0 1 auto;
}

.dl-img img {
	border: 1px solid #999;
}

.pg01 .imgBox:has(.prize-box) {
		align-items: center;
}

.pg01 .prize-box {
	padding: 1em 0;
}

.pg01 .prize-box p {
	font-size: 1.2em;
	line-height: 1.6;
}

.pg01 .prize-box + .prize-box {
	border-top: 1px solid #ccc;
}
.pg01 .prize-ttl {
	margin: .5em 0 .5em;
}

.legend {
	margin-top: 1.5em;
	padding: 2.5em;
}

.legend .title {
	position: relative;
	margin-top: -2em;
	left: -1.5em;
	background: #fff;
	padding: 0 .35em;
	width: fit-content;
	font-size: 2em;
	letter-spacing: .03em;
	z-index: 1;
}

@media print, screen and (max-width: 767px) {
	.legend .title {
		left: -1em;
		margin-top: -2.35em;
		font-size: 1.4em;
	}

	.pickup-detail .pickup-text .imgFrame .cap,
	.pickup-detail .pickup-text .imgBox .cap {
		font-size: 1.2em;
	}

	.ttl_m {
		font-size: 1.2em;
	}
}