#page-mv3 {
	background-image: url("../images/shop-search/mv.jpg");
}
.txt-style1 {
	max-width: 1350px;
	width: 90%;
	margin: 0 auto 40px;
}
.txt-style2 {
	max-width: 1350px;
	width: 90%;
	margin: 0 auto 20px;
}
/* --------------------------------------------------- */
select,
input,
button {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	font-size: 15px;
}

#sec01 {
	border: #8BC5C0 4px solid;
	background-color: #fff;
	border-radius: 8px;
	padding: 30px;
	max-width: 1350px;
	width: 95%;
	margin: 0 auto 50px;
	position: relative;
}
#sec01 .select-block {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
#sec01 .select-block .box {
	width: 24%;
	margin-bottom: 20px;
}
#sec01 .select-block .box p {
	margin-bottom: 7px;
}
#sec01 .select-block .box p label {
}
#sec01 .select-block .box p span {
}
#sec01 .select-block .box select,
#sec01 .select-block .box input {
	width: 100%;
	border: #8BC5C0 1px solid;
	padding: 13px;
	border-radius:3px;
	background-color: #F9F8F6;
	box-shadow:2px 2px 6px -6px #333 inset;
}
#sec01 .select-block .box input::placeholder {
	color: #bbb;
}
.check-block {
	margin-bottom: 40px;
}
.check-block .cap {
	display: block;
	font-size: 12px;
	margin-left: 40px;
}
input[type=checkbox] {
    display: none;
}
.check-block .check-box__text {
    display: inline-block;
    padding: 3px 0 3px 40px;
    cursor: pointer;
    position: relative;
}
.check-block .check-box__text::before {
    content: '';
    display: inline-block;
    position: absolute;
    width: 27px;
    padding-top: 27px;
    top: 5px;
    left: 0;
    border: 1px solid #8AC5BF;
	border-radius: 3px;
	background-color: #F9F8F6;
}
.check-block .check-box__text::after {
    content: '';
    display: inline-block;
    position: absolute;
    width: 14px;
    padding-top: 10px;
    top: 10px;
    left: 7px;
    border-left: 2px solid #8AC5BF;
    border-bottom: 2px solid #8AC5BF;
    transform: rotate(-45deg);
    opacity: 0;
}
input[type=checkbox]:checked + span::after {
    opacity: 1;
}

input[type="submit"] {
  -webkit-appearance: none;
}
.form-btns {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.form_btn {
  padding: 20px 5%;
  cursor: pointer;
}
.form_btn.primary {
  background: #8AC5BF;
  color: #fff;
  border: 1px solid #8AC5BF;
	font-weight: 500;
}
.form_btn.secondary {
  background: #fff;
  color: #8AC5BF;
  border: 1px solid #8AC5BF;
	font-weight: 500;
}
@media screen and (max-width: 910px) {
	#sec01 .select-block {
		flex-wrap: wrap;
    }
    #sec01 .select-block .box {
        width: 48%;
        margin-bottom: 20px;
    }
	#sec01 .select-block .box p {
        margin-bottom: 5px;
    }
}
@media screen and (max-width: 680px) {
	#sec01 {
		padding: 25px;
		margin-bottom: 30px;
	}
	#sec01 .select-block {
		display: block;
    }
    #sec01 .select-block .box {
        width: 100%;
        margin-bottom: 20px;
    }
	.form-btns {
        display: block;
        gap: 0;
    }
	.form_btn {
		display: block;
		width: 90%;
		margin: 5px auto 0;
		padding: 15px 0;
    }
}
/* --------------------------------------------------- */
#sec02 {
	max-width: 1350px;
	width: 90%;
	margin: 0 auto 30px;
}
#sec02 .block {
	background-color: #fff;
	margin-bottom: 20px;
	border: #8AC5BF 1px solid;
}
#sec02 .block .ttl1 {
	font-weight: 500;
	line-height: 1.6;
	border-left: #8AC5BF 5px solid;
	border-bottom: #8AC5BF 1px solid;
}
#sec02 .block .ttl1 span {
	display: block;
	border-bottom: #ccc 1px dashed;
	padding: 10px 20px 7px;
	font-size: .9em;
}
#sec02 .block .ttl1 strong {
	display: inline-block;
	font-weight: 500;
	font-size: 1.4em;
	padding: 13px 20px;
}
#sec02 .block .inner {
	padding: 30px;
	display: flex;
	gap: 26px;
	align-items: stretch;
}
#sec02 .block .ph {
	width: 42%;
	flex-shrink: 0;
	position: relative;
	min-height: 300px;
}
#sec02 .block .ph img {
	position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background-color: #f4f3ef;
}
#sec02 .block .info {
	flex: 1;
	min-width: 0;
}
#sec02 .block .office-no {
	color: #639590;
	font-weight: 600;
	border-bottom: #8AC5BF 1px solid;
	padding-bottom: 6px;
	margin-bottom: 14px;
	display: inline-block;
}
#sec02 .block .desc1 {
	margin-bottom: 14px;
}
#sec02 .block .desc1 span {
	display: inline-block;
	font-size: 13px;
	color: #8AC5BF;
	border: #8AC5BF 1px solid;
	border-radius: 30px;
	line-height: 1;
	padding: 7px 12px 7px 14px;
	margin: 0 5px 5px 0;
}
#sec02 .block .desc2 {
	width: 100%;
}
#sec02 .block .desc2 dl {
	width: 100%;
	display: table;
	border-bottom: #aaa 1px dotted;
}
#sec02 .block .desc2 dt,
#sec02 .block .desc2 dd {
	display: table-cell;
	vertical-align: top;
	line-height: 1.4;
}
#sec02 .block .desc2 dt {
	width: 100px;
	text-align: center;
	background-color: #EFF7F7;
	padding: 15px 0px;
	font-size: 13px;
}
#sec02 .block .desc2 dd {
	padding: 15px 15px;
	font-size: .9em;
}
#sec02 .block .btns {
	display: flex;
	justify-content: flex-end;
	padding: 15px;
}
#sec02 .block .btns li {
	max-width: 250px;
	width: 50%;
	margin: 5px;
}
#sec02 .block .btns li a {
	font-weight: 500;
	display: block;
	text-align: center;
	padding: 15px 0;
}
#sec02 .block .btns li.btn-site a {
	border: #C59D8B 2px solid;
	color: #C59D8B;
}
#sec02 .block .btns li.btn-more a {
	background-color: #8AC5BF;
	border: #8AC5BF 2px solid;
	color: #fff;
}
#sec02 .block .btns {
	flex-wrap: wrap;
	justify-content: flex-end;
}
#sec02 .block .pdf-btns--list {
	padding: 0 20px 12px;
}
/* 一覧 PC: 各 PDF ボタンは親幅の 1/4 まで（min-width で縦1文字折り返しを防止） */
@media screen and (min-width: 911px) {
	#sec02 .block .pdf-btns--list {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
		width: 100%;
	}
	#sec02 .block .pdf-btns--list .btn-pdf {
		flex: 0 1 calc(25% - 8px);
		max-width: calc(25% - 8px);
		min-width: 220px;
		width: auto;
	}
	#sec02 .block .pdf-btns--list .pdf-btn__text {
		min-width: 0;
		flex: 1 1 auto;
	}
	#sec02 .block .pdf-btns--list .pdf-btn__line {
		white-space: normal;
		word-break: keep-all;
		overflow-wrap: normal;
	}
}
@media screen and (max-width: 910px) {
	#sec02 .block .inner {
        padding: 20px 20px 10px;
    }
	#sec02 .block .ph {
        width: 40%;
        min-height: 260px;
    }
	#sec02 .block .desc1 {
        margin-bottom: 15px;
    }
    #sec02 .block .desc1 span {
        font-size: 12px;
    }
	#sec02 .block .desc2 dt {
        width: 70px;
        font-size: 12px;
        padding: 10px 0px;
    }
    #sec02 .block .desc2 dd {
        padding: 10px 15px;
    }
}
@media screen and (max-width: 680px) {
	#sec02 .block .ttl1 span {
        padding: 7px 13px;
        font-size: 12px;
    }
    #sec02 .block .ttl1 strong {
        font-size: 1.1em;
        padding: 8px 13px;
    }
	#sec02 .block .inner {
        padding: 10px;
    }
	#sec02 .block .inner {
		flex-direction: column;
	}
	#sec02 .block .ph {
        width: 100%;
        min-height: 240px;
		margin-bottom: 10px;
    }
	#sec02 .block .desc1,
	#sec02 .block .desc2 {
		width: 100%;
	}
	#sec02 .block .desc1 {
        margin-bottom: 10px;
    }
	#sec02 .block .desc1 span {
        font-size: 11px;
		padding: 5px 10px 7px 12px;
    }
	#sec02 .block .btns {
		justify-content: space-between;
        padding: 0px;
    }
    #sec02 .block .btns li {
        max-width: none;
        width: 50%;
        margin: 0;
    }
	#sec02 .block .btns li a {
        padding: 10px 0;
    }
	#sec02 .block .btns li.btn-site a {
		background-color: #F9F8F6;
        border: none;
        color: #C59D8B;
    }
    #sec02 .block .btns li.btn-more a {
        background-color: #8AC5BF;
        border: none;
        color: #fff;
    }
	#sec02 .block .pdf-btns--list {
		padding: 0 12px 10px;
	}
	#sec02 .block .btns li.btn-more {
		width: 100%;
		flex: 0 0 100%;
	}
}
@media screen and (max-width: 580px) {
	#sec02 .block .ph {
        padding-top: 200px;
    }
}
/* --------------------------------------------------- */
#sec03 {
	max-width: 1350px;
	width: 95%;
	margin: 0 auto;
	background-color: #fff;
	margin-bottom: 20px;
	border: #8AC5BF 1px solid;
}
#sec03 .ttl1 {
	font-weight: 500;
	line-height: 1.6;
	border-left: #8AC5BF 5px solid;
	border-bottom: #8AC5BF 1px solid;
}
#sec03 .ttl1 span {
	display: block;
	border-bottom: #ccc 1px dashed;
	padding: 10px 20px 7px;
	font-size: .9em;
}
#sec03 .ttl1 strong {
	display: inline-block;
	font-weight: 500;
	font-size: 1.4em;
	padding: 13px 20px;
}
#sec03 .inner {
	display: flex;
	justify-content: space-between;
	padding: 30px;
}
#sec03 .inner .left {
	width: 48%;
}

/* ギャラりスライダー用　------------------ */
#sec03 .inner .left img{
	width: 100%;
	height: auto;
	vertical-align: bottom;
}


#sec03 .inner .left .gallery{
	margin:0 0 5px 0;
}
#sec03 .inner .left .gallery li{
	list-style:none;
}
#sec03 .inner .left .gallery .ph{
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
#sec03 .inner .left .choice-btn .ph{
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
#sec03 .inner .left .ph img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background-color: #f4f3ef;
  display: block;
}
#sec03 .inner .left .slick-prev, 
#sec03 .inner .left .slick-next {
    position: absolute;
	z-index: 3;
    top: 42%;
    cursor: pointer;
    outline: none;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    height: 25px;
    width: 25px;
}
#sec03 .inner .left .slick-prev {
    left:2.5%;
    transform: rotate(-135deg);
}
#sec03 .inner .left .slick-next {
    right:2.5%;
    transform: rotate(45deg);
}

#sec03 .inner .left .choice-btn li{
	cursor: pointer;
	outline: none;
	background:#333;
	list-style:none;
}
#sec03 .inner .left .choice-btn .slick-slide .ph img{
  opacity: .4;
  transition: .2s;
}
/* 現在のサムネだけ明るく */
#sec03 .inner .left .choice-btn .slick-slide.slick-current .ph img{
  opacity: 1;
}
#sec03 .inner .left .choice-btn .slick-track {
}

#sec03 .inner .left .choice-btn{
  padding: 0;
  margin: 0;
  list-style: none;
}

#sec03 .inner .left .choice-btn .slick-list{
  padding: 0 !important;
  margin: 0 !important;
}

#sec03 .inner .left .choice-btn .slick-slide{
  margin: 0 !important;
}
/* ここまで　------------------ */

#sec03 .inner .right {
	width: 48%;
}
#sec03 .inner .right .desc1 {
	margin-bottom: 20px;
}
#sec03 .inner .right .desc1 span {
	display: inline-block;
	font-size: 13px;
	color: #8AC5BF;
	border: #8AC5BF 1px solid;
	border-radius: 30px;
	line-height: 1;
	padding: 7px 12px 7px 14px;
	margin: 0 5px 5px 0;
}
#sec03 .inner .right .desc2 {
	margin-bottom: 20px;
}
#sec03 .inner .right .desc2 dl {
	width: 100%;
	display: table;
	border-bottom: #aaa 1px dotted;
}
#sec03 .inner .right .desc2 dt,
#sec03 .inner .right .desc2 dd {
	display: table-cell;
	vertical-align: top;
	line-height: 1.4;
}
#sec03 .inner .right .desc2 dt {
	width: 100px;
	text-align: center;
	background-color: #EFF7F7;
	padding: 15px 0px;
	font-size: 13px;
}
#sec03 .inner .right .desc2 dd {
	padding: 15px 15px;
	font-size: .9em;
}
#sec03 .inner .right .desc3 {
}
#sec03 .inner .right .desc3 dl {
	line-height: 1.4;
	margin-bottom: 20px;
}
#sec03 .inner .right .desc3 dt {
	border-bottom: #ccc 1px solid;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 3px;
	padding-bottom: 4px;
	margin-bottom: 5px;
}
#sec03 .inner .right .desc3 dd {
	font-size: .9em;
}
#sec03 .inner .right .btns {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 30px;
}
#sec03 .inner .right .btns li {
}
#sec03 .inner .right .btns li a {
	display: block;
	text-align: center;
	font-weight: 500;
	padding: 15px 20px 15px 50px;
	font-size: .9em;
	position: relative;
}
#sec03 .inner .right .btns li.tel {
	text-align: center;
	line-height: 1.4;
	font-size: .9em;
}
#sec03 .inner .right .btns li.tel span {
	display: block;
	text-align: center;
	font-size: 1.5em;
}
#sec03 .inner .right .btns li.btn-tel {
	display: none;
}
#sec03 .inner .right .btns li.btn-tel a {
}
#sec03 .inner .right .btns li.btn-mail a {
	background-color: #A0CB44;
	color: #fff;
}
/* 公表書類 PDF ボタン（指示書デザイン・件数に応じて等幅） */
.pdf-btns {
	display: grid;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.pdf-btns--n1 { grid-template-columns: repeat(1, 1fr); }
.pdf-btns--n2 { grid-template-columns: repeat(2, 1fr); }
.pdf-btns--n3 { grid-template-columns: repeat(3, 1fr); }
.pdf-btns--n4 { grid-template-columns: repeat(4, 1fr); }
.pdf-btns .btn-pdf {
	margin: 0;
	padding: 0;
	min-width: 0;
}
.pdf-btns .pdf-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	width: 100%;
	min-height: 76px;
	height: 100%;
	padding: 12px 18px 12px 20px;
	border: 1px solid #8AC5BF;
	background-color: #fff;
	color: #333;
	text-decoration: none;
	transition: background-color .2s ease;
}
.pdf-btns .pdf-btn:hover {
	background-color: #EFF7F7;
	color: #333;
	text-decoration: none;
}
.pdf-btns .pdf-btn__text {
	flex: 1 1 auto;
	min-width: 0;
	padding-right: 8px;
}
.pdf-btns .pdf-btn__line {
	display: block;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0.02em;
}
.pdf-btns .pdf-btn__icon {
	flex: 0 0 36px;
	width: 36px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pdf-btns .pdf-btn__icon img {
	display: block;
	width: 36px;
	height: 44px;
	object-fit: contain;
}
#sec03 .pdf-btns--detail {
	padding: 0 36px 30px;
}
@media screen and (max-width: 1024px) {
	.pdf-btns--n4 {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 910px) {
	.pdf-btns--n3 {
		grid-template-columns: repeat(2, 1fr);
	}
}
#sec03 .inner .right .btns li a .material-symbols-outlined {
	font-size: 22px;
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translate(0%, -50%);
}
@media screen and (max-width: 1100px) {
	#sec03 .inner .right .btns {
        display: block;
        gap: 0px;
        margin-top: 30px;
    }
	#sec03 .inner .right .btns li.tel {
		margin-bottom: 10px;
	}
	#sec03 .inner .right .btns li.tel span {
		display: inline-block;
	}
}
@media screen and (max-width: 910px) {
	#sec03 .inner {
        display: block;
        padding: 30px;
    }
	#sec03 .inner .left {
		max-width: 700px;
        width: 100%;
		margin: 0 auto 30px;
    }
	#sec03 .inner .right {
        width: 100%;
    }
	#sec03 .inner .right .btns {
        display: flex;
        gap: 20px;
    }
	#sec03 .inner .right .btns li.tel {
		margin-bottom: 0px;
	}
	#sec03 .inner .right .btns li.tel span {
		display: block;
	}
}
@media screen and (max-width: 680px) {
	#sec03 .ttl1 span {
        padding: 7px 13px;
        font-size: 12px;
    }
    #sec03 .ttl1 strong {
        font-size: 1.1em;
        padding: 8px 13px;
    }
	#sec03 .inner {
        padding: 10px;
    }
	#sec03 .inner .right .desc1 {
        margin-bottom: 15px;
    }
    #sec03 .inner .right .desc1 span {
        font-size: 12px;
    }
	#sec03 .inner .right .desc2 dt {
        width: 70px;
        font-size: 12px;
        padding: 10px 0px;
    }
    #sec03 .inner .right .desc2 dd {
        padding: 10px 15px;
    }
	#sec03 .inner .right .desc3 {
		width: 92%;
		margin: 0 auto;
	}
	#sec03 .inner .right .btns {
        display: block;
        gap: 0px;
    }
	#sec03 .inner .right .btns li.tel {
		display: none;
	}
	#sec03 .inner .right .btns li.btn-tel {
		display: block;
		margin-bottom: 5px;
	}
	#sec03 .inner .right .btns li.btn-tel a {
		border: #8AC5BF 1px solid;
		color: #8AC5BF;
		background-color: #F9F8F6;
	}
	#sec03 .pdf-btns--detail {
		padding: 0 12px 15px;
		gap: 8px;
	}
	.pdf-btns--n3,
	.pdf-btns--n4 {
		grid-template-columns: repeat(2, 1fr);
	}
	.pdf-btns .pdf-btn {
		min-height: 72px;
		padding: 10px 16px 10px 18px;
	}
	.pdf-btns .pdf-btn__line {
		font-size: 12px;
	}
}
@media screen and (max-width: 480px) {
	.pdf-btns--n2,
	.pdf-btns--n3,
	.pdf-btns--n4 {
		grid-template-columns: 1fr;
	}
}
/* --------------------------------------------------- */
#sec04,
#sec05,
#sec06 {
	max-width: 1350px;
	width: 95%;
	margin: 0 auto 20px;
	background-color: #fff;
	border: #8AC5BF 1px solid;
	position: relative;
}
#sec05 {
	border: #D8A32C 2px solid;
	border-radius: 8px;
}
#sec06 {
	border: #8AC5BF 2px solid;
	border-radius: 8px;
}
#sec05::before,
#sec06::before {
	content: "";
	width: auto;
	height: auto;
	position: absolute;
	z-index: -1;
	top: -10px;
	left: -10px;
	right: -10px;
	bottom: -10px;
	background: url("../images/common/back06.png") center;
	background-size: 200px;
	border-radius: 8px;
}
#sec06::before {
	background-image: url("../images/common/back07.png");
}
#sec04 .inner,
#sec05 .inner,
#sec06 .inner {
	padding: 30px;
}
#sec04 .desc1 dl,
#sec05 .desc1 dl,
#sec06 .desc1 dl {
	width: 100%;
	display: table;
	border-bottom: #ccc 1px dashed;
}
#sec04 .desc1 dt,
#sec04 .desc1 dd,
#sec05 .desc1 dt,
#sec05 .desc1 dd,
#sec06 .desc1 dt,
#sec06 .desc1 dd {
	display: table-cell;
	vertical-align: top;
	padding: 15px 10px 15px 20px;
}
#sec04 .desc1 dt,
#sec05 .desc1 dt,
#sec06 .desc1 dt {
	width: 240px;
	font-weight: 600;
	font-size: .9em;
	position: relative;
}
#sec04 .desc1 dt::after,
#sec05 .desc1 dt::after,
#sec06 .desc1 dt::after {
	content: "";
	width: 1px;
	height: auto;
	background-color: #ccc;
	position: absolute;
	top: 20px;
	right: 10px;
	bottom: -5px;
}
#sec04 .desc1 dd,
#sec05 .desc1 dd,
#sec06 .desc1 dd {
}
#sec04 .desc1 p,
#sec05 .desc1 p,
#sec06 .desc1 p {
	margin-bottom: 25px;
}
#sec04 .desc1 .list1,
#sec05 .desc1 .list1,
#sec06 .desc1 .list1 {
	list-style: outside disc;
	margin-left: 25px;
	margin-bottom: 25px;
}
#sec04 .desc1 .list2,
#sec05 .desc1 .list2,
#sec06 .desc1 .list2 {
	margin-bottom: 25px;
}
#sec04 .desc1 .list2 li,
#sec05 .desc1 .list2 li,
#sec06 .desc1 .list2 li {
	display: inline-block;
}
#sec04 .desc1 .list2 li::after,
#sec05 .desc1 .list2 li::after,
#sec06 .desc1 .list2 li::after {
	content: "・";
	margin: 0 5px;
}
#sec04 .desc1 .list2 li:last-child::after,
#sec05 .desc1 .list2 li:last-child::after,
#sec06 .desc1 .list2 li:last-child::after {
	display: none;
}
#sec04 .desc1 .schedule {
}
#sec04 .desc1 .schedule li {
	display: flex;
	justify-content: flex-start;
}
#sec04 .desc1 .schedule li p {
	margin-bottom: 0;
}
#sec04 .desc1 .schedule li p.time {
	width: 60px;
	font-size: .9em;
	font-weight: 600;
	margin-right: 20px;
	text-align: center;
}
#sec04 .desc2 dl,
#sec05 .desc2 dl,
#sec06 .desc2 dl {
	width: 100%;
	display: table;
	margin: 0px 0px 20px;
}
#sec04 .desc2 dl:last-child,
#sec05 .desc2 dl:last-child,
#sec06 .desc2 dl:last-child {
	margin-bottom: 0;
}
#sec04 .desc2 dt,
#sec05 .desc2 dt,
#sec06 .desc2 dt,
#sec04 .desc2 dd,
#sec05 .desc2 dd,
#sec06 .desc2 dd {
	display: table-cell;
	vertical-align: top;
	padding: 5px;
}
#sec04 .desc2 dt,
#sec05 .desc2 dt,
#sec06 .desc2 dt {
	color: #8AC5BF;
	font-weight: 600;
	width: 180px;
	font-size: .9em;
	border-right: #8AC5BF 1px dashed;
}
#sec04 .desc2 dd,
#sec05 .desc2 dd,
#sec06 .desc2 dd {
	padding-left: 20px;
}
#sec04 .desc3,
#sec05 .desc3,
#sec06 .desc3 {
	display: flex;
	justify-content: space-between;
}
#sec04 .desc3 dl,
#sec05 .desc3 dl,
#sec06 .desc3 dl {
	width: 48%;
}
#sec04 .desc3 dt,
#sec05 .desc3 dt,
#sec06 .desc3 dt {
}
#sec04 .desc3 dd,
#sec05 .desc3 dd,
#sec06 .desc3 dd {
}
#sec04 .desc3 dd .gg-btn,
#sec05 .desc3 dd .gg-btn,
#sec06 .desc3 dd .gg-btn {
	display: block;
	font-size: 13px;
	text-align: center;
	max-width: 200px;
	width: 100%;
	background-color: #eee;
	padding: 10px 0 10px 30px;
	margin-top: 10px;
	border-radius: 4px;
	position: relative;
}
#sec04 .desc3 dd .gg-btn .material-symbols-outlined,
#sec05 .desc3 dd .gg-btn .material-symbols-outlined,
#sec06 .desc3 dd .gg-btn .material-symbols-outlined {
	position: absolute;
	top: 50%;
	left: 15px;
	transform: translate(0%, -50%);
}
#sec04 .desc3 dd .gg-btn:hover,
#sec05 .desc3 dd .gg-btn:hover,
#sec06 .desc3 dd .gg-btn:hover {
	background-color: #8AC5BF;
	color: #fff;
}
@media screen and (max-width: 910px) {
	#sec04 .desc1 dt,
    #sec04 .desc1 dd,
    #sec05 .desc1 dt,
    #sec05 .desc1 dd,
    #sec06 .desc1 dt,
    #sec06 .desc1 dd {
        padding: 15px 0px 15px 20px;
    }
    #sec04 .desc1 dt,
    #sec05 .desc1 dt,
    #sec06 .desc1 dt {
        width: 190px;
		padding: 15px 0px 15px 0px;
    }
	#sec04 .desc1 dt::after,
    #sec05 .desc1 dt::after,
    #sec06 .desc1 dt::after {
        right: 0px;
    }
}
@media screen and (max-width: 680px) {
	#sec04 .inner,
    #sec05 .inner,
    #sec06 .inner {
        padding: 15px;
    }
	#sec04 .desc1 dl,
    #sec05 .desc1 dl,
    #sec06 .desc1 dl,
    #sec04 .desc1 dt,
    #sec04 .desc1 dd,
    #sec05 .desc1 dt,
    #sec05 .desc1 dd,
    #sec06 .desc1 dt,
    #sec06 .desc1 dd {
		display: block;
    }
	#sec04 .desc1 dt,
    #sec04 .desc1 dd,
    #sec05 .desc1 dt,
    #sec05 .desc1 dd,
    #sec06 .desc1 dt,
    #sec06 .desc1 dd {
        padding: 15px 0px 15px 10px;
    }
    #sec04 .desc1 dt,
    #sec05 .desc1 dt,
    #sec06 .desc1 dt {
        width: 190px;
		padding: 5px 0px 5px 10px;
		border-bottom: #ccc 1px solid;
    }
	#sec04 .desc1 dt::after,
    #sec05 .desc1 dt::after,
    #sec06 .desc1 dt::after {
		bottom: 0;
    }
	#sec04 .desc1 dd,
    #sec05 .desc1 dd,
    #sec06 .desc1 dd {
		font-size: .9em;
	}
	
	#sec04 .desc2 dl,
    #sec05 .desc2 dl,
    #sec06 .desc2 dl {
        display: block;
		margin-bottom: 15px;
    }
    #sec04 .desc2 dt,
    #sec05 .desc2 dt,
    #sec06 .desc2 dt,
    #sec04 .desc2 dd,
    #sec05 .desc2 dd,
    #sec06 .desc2 dd {
        display: block;
        padding: 5px;
    }
    #sec04 .desc2 dt,
    #sec05 .desc2 dt,
    #sec06 .desc2 dt {
        width: 190px;
        border-right: #8AC5BF 1px dashed;
		border-bottom: #8AC5BF 1px solid;
		margin-bottom: 10px;
		padding: 5px 0px 5px 10px;
    }
    #sec04 .desc2 dd,
    #sec05 .desc2 dd,
    #sec06 .desc2 dd {
        padding-left: 10px;
    }
    #sec04 .desc3,
    #sec05 .desc3,
    #sec06 .desc3 {
        display: block;
    }
    #sec04 .desc3 dl,
    #sec05 .desc3 dl,
    #sec06 .desc3 dl {
        width: 100%;
    }
	#sec04 .desc3 dd,
    #sec05 .desc3 dd,
    #sec06 .desc3 dd {
		font-size: .9em;
    }
	#sec04 .desc3 dd .gg-btn,
    #sec05 .desc3 dd .gg-btn,
    #sec06 .desc3 dd .gg-btn {
        margin: 10px auto 20px;;
    }
}
/* --------------------------------------------------- */
#sec05 {
}
@media screen and (max-width: 910px) {
}
@media screen and (max-width: 680px) {
}
/* --------------------------------------------------- */



/* ===== 旧WP流用: 事業所エリアマップ (自動移植) ===== */
.office-map-search .search-box {
  margin: 0 auto 65px;
  width: 1120px;
  border: 2px solid #8BC5C0;
  display: flex;
}
.office-map-search .search-box .map-box {
  width: 860px;
  height: 769px;
  background: url(../images/shop-search/pc_office_map.png) 0 0 no-repeat;
  position: relative;
}
.office-map-search .search-box .map-box .area01,
.office-map-search .search-box .map-box .area02,
.office-map-search .search-box .map-box .area03,
.office-map-search .search-box .map-box .area04,
.office-map-search .search-box .map-box .area05,
.office-map-search .search-box .map-box .area06,
.office-map-search .search-box .map-box .area07 {
  font-size: 1rem;
  text-align: center;
  width: 103px;
  position: absolute;
}
.office-map-search .search-box .map-box .area01 {
  top: 145px;
  left: 451px;
}
.office-map-search .search-box .map-box .area02 {
  top: 416px;
  left: 705px;
}
.office-map-search .search-box .map-box .area03 {
  top: 300px;
  left: 374px;
}
.office-map-search .search-box .map-box .area04 {
  top: 599px;
  left: 521px;
}
.office-map-search .search-box .map-box .area05 {
  top: 652px;
  left: 375px;
}
.office-map-search .search-box .map-box .area06 {
  top: 349px;
  left: 195px;
}
.office-map-search .search-box .map-box .area07 {
  top: 498px;
  left: 21px;
}
.office-map-search .search-box .list-box {
  width: 255px;
  background: #eaf5f3;
  padding: 27px 15px 21px 18px;
}
.office-map-search .search-box .list-box h2 {
  margin: 0 59px 26px 75px;
  width: 92px;
  height: 40px;
}
.office-map-search .search-box .list-box ul {
  margin: 0 0 35px 5px;
  border-bottom: 2px solid #8BC5C0;
}
.office-map-search .search-box .list-box ul li {
  width: 221px;
  height: 60px;
  border: 1px solid #8BC5C0;
  background: #fff;
  position: relative;
  margin: 0 0 19px;
}
.office-map-search .search-box .list-box ul li::before {
  position: absolute;
  display: block;
  content: "→";
  color: #639590;
  line-height: 58px;
  font-size: 1rem;
  left: 21px;
  top: 50%;
  transform: translate(0, -50%);
}
.office-map-search .search-box .list-box ul li a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 58px;
  padding: 0 0 0 44px;
  color: #454545;
  text-decoration: none;
}
.office-map-search .search-box .list-box p {
  width: 221px;
  height: 60px;
  border: 1px solid #8BC5C0;
  background: #fff;
  position: relative;
  margin: 0 0 0 5px;
  line-height: 58px;
  padding: 0 0 0 44px;
}
.office-map-search .search-box .list-box p a {
  text-decoration: none;
  color: #454545;
  width: 100%;
  height: 100%;
  display: block;
}
.office-map-search .search-box .list-box p::before {
  position: absolute;
  display: block;
  content: "→";
  color: #639590;
  line-height: 58px;
  font-size: 1rem;
  left: 21px;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 910px) {
.office-map-search .search-box {
  margin: 0 4vw 12.9333333333vw;
  border: 0.5333333333vw solid #8BC5C0;
}
.office-map-search .search-box .map-box {
  width: 100%;
  height: 78.6666666667vw;
  background: url(../images/shop-search/sp_office_map.png) 0 0 no-repeat;
  background-size: contain;
  position: relative;
}
.office-map-search .search-box .map-box p {
  width: 13.7333333333vw;
  font-size: 3.2vw;
  color: #454545;
  text-align: center;
  line-height: 1;
  position: absolute;
}
.office-map-search .search-box .map-box .area01 {
  top: 14.8vw;
  left: 48.1333333333vw;
}
.office-map-search .search-box .map-box .area02 {
  top: 47.4666666667vw;
  left: 75.0666666667vw;
}
.office-map-search .search-box .map-box .area03 {
  top: 33.3333333333vw;
  left: 37.4666666667vw;
}
.office-map-search .search-box .map-box .area04 {
  top: 62.6666666667vw;
  left: 56.6666666667vw;
}
.office-map-search .search-box .map-box .area05 {
  top: 68vw;
  left: 41.3333333333vw;
}
.office-map-search .search-box .map-box .area06 {
  top: 38.1333333333vw;
  left: 16.8vw;
}
.office-map-search .search-box .map-box .area07 {
  top: 56.2666666667vw;
  left: 2.1333333333vw;
}
.office-map-search .search-box .list-box {
  padding: 3.3333333333vw 2.1333333333vw 0;
  height: 105.4666666667vw;
  background: #eaf5f3;
  position: relative;
}
.office-map-search .search-box .list-box::before {
  position: absolute;
  display: block;
  content: "";
  width: 83.3333333333vw;
  height: 0.5333333333vw;
  background: #8BC5C0;
  top: 80.4vw;
  left: 50%;
  transform: translate(-50%, 0);
}
.office-map-search .search-box .list-box h2 {
  margin: 0 auto 5.3333333333vw;
  width: 26.5333333333vw;
  height: 7.2vw;
}
.office-map-search .search-box .list-box h2 img {
  width: 100%;
  height: auto;
}
.office-map-search .search-box .list-box ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 9.3333333333vw;
}
.office-map-search .search-box .list-box ul li {
  width: 42.1333333333vw;
  height: 11.4666666667vw;
  border: 0.2666666667vw solid #8BC5C0;
  background: #fff;
  margin: 0 0 4vw;
}
.office-map-search .search-box .list-box ul li a {
  width: 100%;
  height: 100%;
  display: block;
  line-height: 11.2vw;
  color: #454545;
  font-size: 3.7333333333vw;
  text-decoration: none;
  padding: 0 0 0 8.5333333333vw;
  position: relative;
}
.office-map-search .search-box .list-box ul li a::before {
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  content: "→";
  top: 0;
  left: 3.8666666667vw;
  color: #639590;
  font-size: 3.7333333333vw;
}
.office-map-search .search-box .list-box p {
  margin: 0 auto;
  width: 42.1333333333vw;
  height: 11.4666666667vw;
  display: block;
  line-height: 11.2vw;
  border: 0.2666666667vw solid #8BC5C0;
  background: #fff;
  color: #454545;
  font-size: 3.7333333333vw;
  text-decoration: none;
  padding: 0 0 0 8.5333333333vw;
  position: relative;
}
.office-map-search .search-box .list-box p a {
  width: 100%;
  height: 100%;
  display: block;
  text-decoration: none;
  color: #454545;
}
.office-map-search .search-box .list-box p::before {
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  content: "→";
  top: 0;
  left: 3.8666666667vw;
  color: #639590;
  font-size: 3.7333333333vw;
}
}

/* ===== 店舗写真 モーダル(ライトボックス) ===== */
#sec03 .inner .left .gallery .ph img { cursor: zoom-in; }
.img-modal {
  display: flex;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 9999;
  background: rgba(0,0,0,.85);
  align-items: center;
  justify-content: center;
  cursor: zoom-out;
  opacity: 0;
  visibility: hidden;
  transition: opacity .28s ease, visibility .28s ease;
}
.img-modal.on { opacity: 1; visibility: visible; }
.img-modal img {
  max-width: 92%;
  max-height: 90%;
  object-fit: contain;
}
.img-modal .img-modal-close {
  position: absolute;
  top: 16px; right: 28px;
  color: #fff;
  font-size: 40px;
  line-height: 1;
  cursor: pointer;
}

/* ===== 地図エリアのクリック領域(バブルを含めて広めに) ===== */
.office-map-search .search-box .map-box a[class^="area"] {
  display: block;
  color: #454545;
  text-decoration: none;
  cursor: pointer;
  padding-top: 66px;
  margin-top: -66px;
  transition: opacity .15s;
}
.office-map-search .search-box .map-box a[class^="area"]:hover { opacity: .6; }
@media screen and (max-width: 910px) {
  .office-map-search .search-box .map-box a[class^="area"] {
    padding-top: 12vw;
    margin-top: -12vw;
  }
}
