@charset "UTF-8";
/*======*/
/* 共通 */
/*======*/
/* PC/SP出し分け
------------------------------ */
.pc {
  display: block;
}
@media (min-width: 600px) {
  .pc {
    display: block !important;
  }
}
@media (max-width: 599px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none;
}
@media (min-width: 600px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 599px) {
  .sp {
    display: block !important;
  }
}

/* wrapper
-----------------------------------*/
body {
  height: 100%;
}

main section.bgcolor,
main .section.bgcolor {
  padding: 120px 0;
}
@media (max-width: 599px) {
  main section.bgcolor,
  main .section.bgcolor {
    padding: 80px 0;
  }
}
main section + section,
main section + .section,
main .section + section,
main .section + .section {
  margin-top: 120px;
}
@media (max-width: 599px) {
  main section + section,
  main section + .section,
  main .section + section,
  main .section + .section {
    margin-top: 80px;
  }
}
main section.bgcolor + .bgcolor,
main .section.bgcolor + .bgcolor {
  margin-top: 0;
}
main section article + article,
main section article + .article,
main section .article + article,
main section .article + .article,
main .section article + article,
main .section article + .article,
main .section .article + article,
main .section .article + .article {
  margin-top: 64px;
}
@media (max-width: 599px) {
  main section article + article,
  main section article + .article,
  main section .article + article,
  main section .article + .article,
  main .section article + article,
  main .section article + .article,
  main .section .article + article,
  main .section .article + .article {
    margin-top: 40px;
  }
}
@media (max-width: 599px) {
  main {
    margin-top: 60px;
  }
}

.contents {
  max-width: 1264px;
  margin: 0 auto;
  padding: 0 32px;
}
@media (max-width: 599px) {
  .contents {
    padding: 0 20px;
  }
}

/* margin
-----------------------------------*/
.mb1em {
  margin-bottom: 1em !important;
}

.mt1em {
  margin-top: 1em !important;
}

.mb05em {
  margin-bottom: 0.5em !important;
}

.mt05em {
  margin-top: 0.5em !important;
}

.com-mb01 {
  margin-bottom: 120px !important;
}
@media (max-width: 599px) {
  .com-mb01 {
    margin-bottom: 80px !important;
  }
}

.com-mt01 {
  margin-top: 120px !important;
}
@media (max-width: 599px) {
  .com-mt01 {
    margin-top: 80px !important;
  }
}

.com-mb02 {
  margin-bottom: 64px !important;
}
@media (max-width: 599px) {
  .com-mb02 {
    margin-bottom: 40px !important;
  }
}

.com-mt02 {
  margin-top: 64px !important;
}
@media (max-width: 599px) {
  .com-mt02 {
    margin-top: 40px !important;
  }
}

.com-mb03 {
  margin-bottom: 40px !important;
}
@media (max-width: 599px) {
  .com-mb03 {
    margin-bottom: 32px !important;
  }
}

.com-mt03 {
  margin-top: 40px !important;
}
@media (max-width: 599px) {
  .com-mt03 {
    margin-top: 32px !important;
  }
}

/* TELタグ
-----------------------------------*/
a[href^="tel:"] {
  color: inherit !important;
  text-decoration: none;
  cursor: default;
}
@media (min-width: 600px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* 地図
-----------------------------------*/
.map {
  position: relative;
  height: 0;
  padding-top: clamp(288px, 25vw, 480px);
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 角丸画像
-----------------------------------*/
.img-r {
  border-radius: 16px;
}
@media (max-width: 599px) {
  .img-r {
    border-radius: 8px;
  }
}

/* 背景色
-----------------------------------*/
.bgcolor {
  padding: 120px 0;
}
@media (max-width: 599px) {
  .bgcolor {
    padding: 80px 0;
  }
}

.bgcolor01 {
  background: url(/images/common/bg01.jpg) no-repeat top center;
  background-size: cover;
}

.bgcolor02 {
  background: url(/images/common/bg02.jpg) no-repeat top center;
  background-size: cover;
}

.bgcolor03 {
  background: url(/images/common/bg03.jpg) no-repeat top center;
  background-size: cover;
}

/* グループで段落落ちテキスト
-----------------------------------*/
.flex-tx {
  display: flex;
  flex-wrap: wrap;
}

.flex-tx-center {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.flex-tx-right {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* 中央寄せ
-----------------------------------*/
.center02 {
  display: table;
  margin: 0 auto;
}

/* マーカー
-----------------------------------*/
.marker {
  background: linear-gradient(transparent 60%, rgba(108, 196, 188, 0.5) 40%);
}

/* タイトルエリア・パンくず
-----------------------------------*/
.title-area {
  background: linear-gradient(
    0deg,
    rgb(255, 255, 255) 0%,
    rgb(239, 232, 212) 100%
  );
  position: relative;
  overflow: hidden;
  padding: 196px 0 72px;
  margin-bottom: 48px;
}
@media (max-width: 599px) {
  .title-area {
    background: url(/images/common/ma01_sp.png) no-repeat top center;
    background-size: 100% auto;
    min-height: 64vw;
    padding: 34vw 0 0;
  }
}
.title-area:before,
.title-area:after {
  position: absolute;
  content: "";
}
@media (max-width: 599px) {
  .title-area:before,
  .title-area:after {
    content: none;
  }
}
.title-area:before {
  width: 37%;
  height: calc(100% - 160px);
  background: url(/images/common/ma01.png) no-repeat top right;
  background-size: contain;
  top: 80px;
  right: 0;
  z-index: 1;
}
.title-area:after {
  width: 60%;
  height: 50%;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  -webkit-clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
  clip-path: polygon(25% 0%, 100% 0%, 75% 100%, 0% 100%);
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}
.title-area .contents {
  position: relative;
  z-index: 3;
}
.title-area .heading-title {
  text-align: center;
}
.title-area .heading-title .tx01 {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.025em;
  margin-bottom: 0.5em;
}
@media (max-width: 599px) {
  .title-area .heading-title .tx01 {
    font-size: 24px;
  }
}
.title-area .heading-title .tx02 {
  color: #ff9800;
  font-family: "Corinthia", serif;
  font-size: 24px;
  font-weight: bold;
}
@media (max-width: 599px) {
  .title-area .heading-title .tx02 {
    font-size: 18px;
  }
}
.title-area .b-nv {
  margin-top: 48px;
}
@media (max-width: 599px) {
  .title-area .b-nv {
    display: none;
  }
}
.title-area .b-nv ol {
  list-style: none;
}
.title-area .b-nv ol li {
  color: #29847d;
  display: inline;
}
.title-area .b-nv ol li + li {
  padding-left: 24px;
  margin-left: 16px;
  position: relative;
}
.title-area .b-nv ol li + li:before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  border-top: 2px solid #6cc4bc;
  border-right: 2px solid #6cc4bc;
  transform: rotate(45deg);
  left: 0;
  top: 8px;
}
.title-area .b-nv ol li img {
  width: auto;
  height: 100%;
  vertical-align: middle;
}
.title-area + section .contents .heading01 {
  margin-top: 0;
}

/* タイトル
-----------------------------------*/
.heading01 {
  display: table;
  margin: -16px auto 64px;
  position: relative;
}
@media (max-width: 599px) {
  .heading01 {
    margin-bottom: 40px;
  }
}
.heading01:before,
.heading01:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0;
  border-bottom: 1px solid #29847d;
  left: 0;
}
.heading01:before {
  bottom: 1px;
}
.heading01:after {
  bottom: -1px;
}
.heading01 > div {
  color: #29847d;
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.05em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  min-height: 77px;
  padding: 0 78px 16px;
  position: relative;
  z-index: 1;
}
@media (max-width: 599px) {
  .heading01 > div {
    font-size: 20px;
    min-height: 51px;
    padding: 0 47px 12px;
  }
}
.heading01 > div:before,
.heading01 > div:after {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  bottom: 0;
}
.heading01 > div:before {
  width: 47px;
  height: 77px;
  background-image: url(/images/common/pet_il03.png);
  left: 4px;
  bottom: -2px;
}
@media (max-width: 599px) {
  .heading01 > div:before {
    width: 31px;
    height: 51px;
  }
}
.heading01 > div:after {
  width: 54px;
  height: 35px;
  background-image: url(/images/common/pet_il04.png);
  right: 4px;
  bottom: 0;
}
@media (max-width: 599px) {
  .heading01 > div:after {
    width: 35px;
    height: 23px;
  }
}

.heading02 {
  color: #b55600;
  font-size: 28px;
  margin-bottom: 32px;
}
@media (max-width: 599px) {
  .heading02 {
    font-size: 18px;
    margin-bottom: 24px;
  }
}

.heading03 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 1em;
}
@media (max-width: 599px) {
  .heading03 {
    font-size: 16px;
  }
}

/* 小屋＋動物アイコン
-----------------------------------*/
.pet-il {
  width: 160px;
  margin: 0 auto;
}
@media (max-width: 750px) {
  .pet-il {
    width: 145px;
  }
}
.pet-il .img {
  background: url(/images/common/pet_bg01.png) no-repeat;
  background-size: cover;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

/* 診療動物のご案内
-----------------------------------*/
.sec-type .tx {
  display: table;
  margin: 0 auto 48px;
}
@media (max-width: 599px) {
  .sec-type .tx {
    margin-bottom: 40px;
  }
}

.pet-list01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
}
@media (max-width: 750px) {
  .pet-list01 {
    gap: 28px;
  }
}
.pet-list01 li {
  width: calc((100% - 96px) / 4);
  min-width: 190px;
}
@media (max-width: 750px) {
  .pet-list01 li {
    width: auto;
    min-width: 145px;
  }
}
.pet-list01 li .pet-il {
  width: 190px;
}
@media (max-width: 750px) {
  .pet-list01 li .pet-il {
    width: 145px;
  }
}
.pet-list01 li .pet-il .label {
  width: 190px;
  height: 50px;
  background: url(/images/common/pet_bg02.png) no-repeat;
  background-size: 190px 50px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #29847d;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin-top: -22px;
}
@media (max-width: 750px) {
  .pet-list01 li .pet-il .label {
    width: 145px;
    height: 38px;
    background-size: 145px 38px;
    font-size: 16px;
    margin-top: -17px;
  }
}

/* ベルノス動物病院の特徴
------------------------------ */
.sec-qualities .list-point li {
  width: 378px;
}

.list-point {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 32px;
}
@media (max-width: 599px) {
  .list-point {
    gap: 28px;
  }
}
.list-point > li {
  width: calc((100% - 64px) / 3);
}
.list-point > li .img {
  position: relative;
  padding-top: 36px;
}
@media (max-width: 599px) {
  .list-point > li .img {
    padding-top: 29px;
  }
}
.list-point > li .img .num {
  color: #fff;
  font-size: 34px;
  font-weight: bold;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 72px;
  background: url(/images/common/ic_num01.png) no-repeat;
  background-size: cover;
  position: absolute;
  left: 20px;
  top: 0;
}
@media (max-width: 599px) {
  .list-point > li .img .num {
    font-size: 28px;
    width: 50px;
    height: 58px;
  }
}
.list-point > li dt {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  padding: 1rem 0 0.5rem;
}
@media (max-width: 599px) {
  .list-point > li dt {
    font-size: 18px;
  }
}
.list-point > li dd {
  letter-spacing: 0.025em;
}

/* フォーム
-----------------------------------*/
input,
textarea {
  color: inherit;
  font-size: inherit;
  border: 1px solid #8e8e8e;
  border-radius: 0;
}

textarea {
  display: block;
  resize: vertical;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea {
  width: 100%;
  padding: 8px;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"],
button {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",
    "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,
    "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: inherit;
  font-size: 16px;
  line-height: 1.8;
  cursor: pointer;
  padding: 0;
  background: none;
}
@media (max-width: 599px) {
  input[type="submit"],
  input[type="button"],
  button {
    font-size: 14px;
  }
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/* ボタン
-----------------------------------*/
.com-bt01 {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}
.com-bt01 a,
.com-bt01 button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 50px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #ff9800;
  border-radius: 25px;
  transition: 0.4s;
  text-decoration: none;
  position: relative;
}
@media (max-width: 599px) {
  .com-bt01 a,
  .com-bt01 button {
    height: 44px;
    border-radius: 22px;
  }
}
.com-bt01 a:after,
.com-bt01 button:after {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
  right: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.com-bt01 a:hover,
.com-bt01 button:hover {
  background: #ffffff;
  color: #ff9800;
  border: 1px solid #ff9800;
}

.com-bt01 a:hover:after,
.com-bt01 button:hover:after {
  border-top: 2px solid #ff9800;
  border-right: 2px solid #ff9800;
}

.com-bt01.type02 a,
.com-bt01.type02 button {
  color: #29847d;
  background: #fff;
  border: 1px solid #29847d;
  box-sizing: border-box;
}
.com-bt01.type02 a:after,
.com-bt01.type02 button:after {
  border-color: #29847d;
}
.com-bt01.type02 a:after,
.com-bt01.type02 button:after {
  color: #6cc4bc;
  border-color: #6cc4bc;
}
.com-bt01.type02 a:after:after,
.com-bt01.type02 button:after:after {
  border-color: #6cc4bc;
}
.com-bt01.ic-pdf a,
.com-bt01.ic-pdf button {
  height: 88px;
  border-radius: 44px;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 52px 0 98px;
}
@media (max-width: 599px) {
  .com-bt01.ic-pdf a,
  .com-bt01.ic-pdf button {
    height: 72px;
    border-radius: 36px;
    padding-left: 84px;
  }
}
.com-bt01.ic-pdf a.color02,
.com-bt01.ic-pdf button.color02 {
  background: #ed9c1b;
}
.com-bt01.ic-pdf a.color02:hover,
.com-bt01.ic-pdf button.color02:hover {
  background: #ffffff;
}
.com-bt01.ic-pdf a .tx01,
.com-bt01.ic-pdf button .tx01 {
  font-size: 20px;
}
@media (max-width: 599px) {
  .com-bt01.ic-pdf a .tx01,
  .com-bt01.ic-pdf button .tx01 {
    font-size: 18px;
  }
}
.com-bt01.ic-pdf a .tx02,
.com-bt01.ic-pdf button .tx02 {
  font-size: 16px;
}
@media (max-width: 599px) {
  .com-bt01.ic-pdf a .tx02,
  .com-bt01.ic-pdf button .tx02 {
    font-size: 14px;
  }
}
.com-bt01.ic-pdf a:after,
.com-bt01.ic-pdf button:after {
  width: 46px;
  height: 100%;
  left: 32px;
  right: inherit;
  border: none;
  transform: none;
  background: url(/images/common/ic_dl01.svg) no-repeat left center;
  background-size: 100% auto;
}
.com-bt01.ic-pdf a:hover:after,
.com-bt01.ic-pdf button:hover:after {
  background: url(/images/common/ic_dl01_og.svg) no-repeat left center;
  background-size: 100% auto;
}
@media (max-width: 599px) {
  .com-bt01.ic-pdf a:after,
  .com-bt01.ic-pdf button:after {
    width: 36px;
  }
}

.list-bt {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 32px;
}
@media (max-width: 599px) {
  .list-bt {
    gap: 24px;
  }
}
.list-bt li {
  width: auto;
  max-width: inherit;
  margin: 0;
}

/* テーブル
-----------------------------------*/
/* 幅 */
col.colw05 {
  width: 5%;
}

col.colw10 {
  width: 10%;
}

col.colw15 {
  width: 15%;
}

col.colw20 {
  width: 20%;
}

col.colw25 {
  width: 25%;
}

col.colw30 {
  width: 30%;
}

col.colw35 {
  width: 35%;
}

col.colw40 {
  width: 40%;
}

col.colw45 {
  width: 45%;
}

col.colw50 {
  width: 50%;
}

col.colw55 {
  width: 55%;
}

col.colw60 {
  width: 60%;
}

col.colw65 {
  width: 65%;
}

col.colw70 {
  width: 70%;
}

col.colw75 {
  width: 75%;
}

col.colw80 {
  width: 80%;
}

col.colw85 {
  width: 85%;
}

col.colw90 {
  width: 90%;
}

col.colw95 {
  width: 95%;
}

.com-tb01 {
  width: 100%;
  border-top: 1px solid #8e8e8e;
}
@media (max-width: 599px) {
  .com-tb01 col {
    width: 100% !important;
  }
}
.com-tb01 th,
.com-tb01 td {
  vertical-align: top;
  border-bottom: 1px solid #8e8e8e;
}
@media (max-width: 599px) {
  .com-tb01 th,
  .com-tb01 td {
    display: block;
  }
}
.com-tb01 th {
  color: #29847d;
  font-weight: bold;
  padding: 24px 24px 24px 0;
}
@media (max-width: 599px) {
  .com-tb01 th {
    border: none;
    padding: 20px 0 14px;
  }
}
.com-tb01 td {
  padding: 24px 0 24px 24px;
}
@media (max-width: 599px) {
  .com-tb01 td {
    padding: 0 0 20px;
  }
}

.com-tb02 {
  width: 100%;
  border-collapse: separate;
}
.com-tb02 th,
.com-tb02 td {
  text-align: center;
  padding: 20px;
}
@media (max-width: 599px) {
  .com-tb02 th,
  .com-tb02 td {
    padding: 16px;
  }
}
.com-tb02 thead th {
  color: #fff;
  font-weight: bold;
  background: #29847d;
  border-right: 1px solid #e5e1d3;
  border-bottom: 1px solid #e5e1d3;
}
.com-tb02 thead tr th:first-child {
  border-left: 1px solid #29847d;
}
.com-tb02 thead tr th:last-child {
  border-right-color: #29847d;
}
.com-tb02 thead tr:first-child th {
  border-top: 1px solid #29847d;
}
.com-tb02 thead tr:first-child th:first-child {
  border-top-left-radius: 16px;
}
@media (max-width: 599px) {
  .com-tb02 thead tr:first-child th:first-child {
    border-top-left-radius: 8px;
  }
}
.com-tb02 thead tr:first-child th:last-child {
  border-top-right-radius: 16px;
}
@media (max-width: 599px) {
  .com-tb02 thead tr:first-child th:last-child {
    border-top-right-radius: 8px;
  }
}
.com-tb02 thead tr:last-child th {
  border-bottom-color: #29847d;
}
.com-tb02 tbody th,
.com-tb02 tbody td {
  border-right: 1px solid #e5e1d3;
  border-bottom: 1px solid #e5e1d3;
}
.com-tb02 tbody th {
  font-weight: normal;
  background: #faf8f1;
}
.com-tb02 tbody tr *:first-child {
  border-left: 1px solid #e5e1d3;
}
.com-tb02 tbody tr:last-child *:first-child {
  border-bottom-left-radius: 16px;
}
@media (max-width: 599px) {
  .com-tb02 tbody tr:last-child *:first-child {
    border-bottom-left-radius: 8px;
  }
}
.com-tb02 tbody tr:last-child *:last-child {
  border-bottom-right-radius: 16px;
}
@media (max-width: 599px) {
  .com-tb02 tbody tr:last-child *:last-child {
    border-bottom-right-radius: 8px;
  }
}

/* ボックス
-----------------------------------*/
.com-box01 {
  background: #faf8f1;
  padding: 1rem;
}
.com-box01.type02 {
  padding: 32px;
  border-radius: 16px;
}
@media (max-width: 599px) {
  .com-box01.type02 {
    padding: 20px 16px;
    border-radius: 8px;
  }
}

.com-box02 {
  border: 1px solid #6cc4bc;
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width: 599px) {
  .com-box02 {
    border-radius: 8px;
  }
}
.com-box02 .box-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-image: repeating-linear-gradient(
    135deg,
    #83cdc6,
    #83cdc6 3px,
    #b6e0da 3px,
    #b6e0da 6px
  );
  min-height: 64px;
  padding: 16px 32px;
}
@media (max-width: 599px) {
  .com-box02 .box-title {
    flex-direction: column;
    background: none;
    min-height: inherit;
    padding: 0;
  }
}
.com-box02 .box-title .heading02 {
  color: #1a4440;
  padding-right: 32px;
  margin-bottom: 0;
}
@media (max-width: 599px) {
  .com-box02 .box-title .heading02 {
    width: 100%;
    padding: 14px 20px;
    background-image: repeating-linear-gradient(
      135deg,
      #83cdc6,
      #83cdc6 2px,
      #b6e0da 2px,
      #b6e0da 4px
    );
  }
}
.com-box02 .box-title .label-box {
  background: #fafffe;
  display: flex;
  align-items: center;
  line-height: 1;
  height: 40px;
  border-radius: 20px;
  padding: 0 36px;
  margin-left: auto;
}
@media (max-width: 599px) {
  .com-box02 .box-title .label-box {
    background: #b6e0da;
    margin: 20px 20px 0 auto;
  }
}
.com-box02 .box-content {
  padding: 32px;
}
@media (max-width: 599px) {
  .com-box02 .box-content {
    padding: 20px;
  }
}
.com-box02 .box-content .heading03 {
  margin: 1em 0 0.25em;
}
.com-box02 .box-content > :first-child {
  margin-top: 0;
}
.com-box02 .box-content .box-point {
  margin: 32px 0;
}
@media (max-width: 599px) {
  .com-box02 .box-content .box-point {
    margin: 20px 0;
  }
}

.com-box03 {
  border: 1px solid #29847d;
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width: 599px) {
  .com-box03 {
    border-radius: 8px;
  }
}
.com-box03 .box-title {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  padding: 18px;
  background: #29847d;
}
@media (max-width: 599px) {
  .com-box03 .box-title {
    font-size: 16px;
    padding: 14px 16px;
  }
}
.com-box03 .box-content {
  padding: 16px 20px;
  background: #fff;
}
@media (max-width: 599px) {
  .com-box03 .box-content {
    padding: 14px 16px;
  }
}

.com-box03-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}
@media (max-width: 599px) {
  .com-box03-wrapper {
    flex-direction: column;
    gap: 20px;
  }
}
.com-box03-wrapper .com-box03 {
  width: calc(50% - 16px);
}
@media (max-width: 599px) {
  .com-box03-wrapper .com-box03 {
    width: 100%;
  }
}
.com-box03-wrapper.type02 {
  flex-direction: column;
  gap: 40px;
}
@media (max-width: 599px) {
  .com-box03-wrapper.type02 {
    gap: 32px;
  }
}
.com-box03-wrapper.type02 .com-box03 {
  width: 100%;
}

.com-box04 {
  background: #faf8f1;
  padding: 32px;
  border-radius: 16px;
}
@media (max-width: 599px) {
  .com-box04 {
    padding: 20px;
    border-radius: 8px;
  }
}
.com-box04 .box-title {
  color: #29847d;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  padding-bottom: 16px;
  border-bottom: 1px dashed #333;
  margin-bottom: 16px;
}
@media (max-width: 599px) {
  .com-box04 .box-title {
    padding-bottom: 14px;
    margin-bottom: 14px;
  }
}
.com-box04 + .com-box04 {
  margin-top: 32px;
}
@media (max-width: 599px) {
  .com-box04 + .com-box04 {
    margin-top: 20px;
  }
}
.com-box04.type02 {
  border: 1px solid #e5e1d3;
}

.box-point {
  font-weight: bold;
  display: flex;
  align-items: center;
  background: url(/images/common/ic_point01.png) no-repeat 16px 16px;
  background-size: 72px 72px;
  background-color: #ffdce5;
  padding: 16px 16px 16px 104px;
  min-height: 104px;
}
@media (max-width: 599px) {
  .box-point {
    background-size: 64px 64px;
    background-position: 12px 6px;
    padding-left: 84px;
    min-height: 88px;
  }
}

/* 横並びリスト
-----------------------------------*/
.com-column01 {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 40px;
}
@media (max-width: 950px) {
  .com-column01 {
    flex-direction: column;
  }
}
@media (max-width: 599px) {
  .com-column01 {
    gap: 32px;
  }
}
.com-column01.reverse {
  flex-direction: row;
}
@media (max-width: 950px) {
  .com-column01.reverse {
    flex-direction: column;
  }
}
.com-column01 > * {
  width: calc(50% - 20px);
  max-width: 564px;
}
@media (max-width: 950px) {
  .com-column01 > * {
    width: 100%;
  }
  .com-column01 > *:not(.img) {
    max-width: inherit;
  }
  .com-column01 > *.img {
    margin: 0 auto;
  }
}
@media (max-width: 950px) and (max-width: 599px) {
  .com-column01 > *.img {
    max-width: inherit;
  }
}

.com-column02 {
  overflow: hidden;
}
@media (max-width: 599px) {
  .com-column02 {
    display: flex;
    flex-direction: column;
  }
}
.com-column02 .floatL {
  float: left;
  margin: 0 72px 1em 0;
}
@media (max-width: 1168px) {
  .com-column02 .floatL {
    margin-right: 40px;
  }
}
.com-column02 .floatR {
  float: right;
  margin: 0 0 1em 72px;
}
@media (max-width: 1168px) {
  .com-column02 .floatR {
    margin-left: 40px;
  }
}
.com-column02 .floatL,
.com-column02 .floatR {
  max-width: calc(50% - 20px);
}
@media (max-width: 599px) {
  .com-column02 .floatL,
  .com-column02 .floatR {
    max-width: inherit;
    float: none;
  }
}
@media (max-width: 599px) {
  .com-column02 .sp-order01 {
    order: 1;
    margin: 0;
  }
  .com-column02 .sp-order02 {
    order: 2;
    margin: 32px 0 0;
  }
}
.com-column02 img {
  display: table;
  margin: 0 auto;
}

/* リスト
-----------------------------------*/
.list-dot > li + li,
.list-attention > li + li {
  margin-top: 0.25em;
}
@media (max-width: 599px) {
  .list-dot > li + li,
  .list-attention > li + li {
    margin-top: 0.5em;
  }
}
.list-dot.type02 li,
.list-attention.type02 li {
  margin-top: 0.25em;
}
@media (max-width: 599px) {
  .list-dot.type02 li,
  .list-attention.type02 li {
    margin-top: 0.5em;
  }
}

.list-dot > li {
  position: relative;
  padding-left: 16px;
}
@media (max-width: 599px) {
  .list-dot > li {
    padding-left: 14px;
  }
}
.list-dot > li:before {
  position: absolute;
  content: "●";
  color: #0a3977;
  font-size: 8px;
  padding: 8px 8px 8px 0;
  display: flex;
  left: 0;
}
@media (max-width: 599px) {
  .list-dot > li:before {
    font-size: 7px;
    padding: 7px 7px 7px 0;
  }
}

.list-attention.indent {
  text-indent: -1.25em;
  margin-left: 1.25em;
}
.list-attention > li:before {
  color: #b55600;
  content: "※";
  margin-right: 0.25em;
}

.list-menu {
  display: flex;
  flex-wrap: wrap;
}
.list-menu > li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fff;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.2);
  border-radius: 16px;
  overflow: hidden;
}
@media (max-width: 599px) {
  .list-menu > li {
    border-radius: 8px;
  }
}
.list-menu > li .block {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
  padding: 0 16px 24px;
}
.list-menu > li .block dt {
  font-size: 26px;
  font-weight: 500;
  text-align: center;
  padding: 1rem 0 0.5rem;
}
@media (max-width: 599px) {
  .list-menu > li .block dt {
    font-size: 18px;
  }
}
.list-menu > li .block dd {
  letter-spacing: 0.025em;
  margin-bottom: 16px;
}
.list-menu > li .block .com-bt01 {
  max-width: 234px;
  margin-top: auto;
}

.list-menu02 {
  display: flex;
  flex-wrap: wrap;
}
.list-menu02 > li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fff;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.2);
  border-radius: 16px;
  overflow: hidden;
  padding: 24px;
}
@media (max-width: 599px) {
  .list-menu02 > li {
    border-radius: 8px;
  }
}
.list-menu02 > li .title .tx01,
.list-menu02 > li .title .tx02 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}
@media (max-width: 599px) {
  .list-menu02 > li .title .tx01,
  .list-menu02 > li .title .tx02 {
    font-size: 20px;
  }
}
.list-menu02 > li .title .tx01 {
  color: #29847d;
}
.list-menu02 > li .title .tx02 {
  color: #ff9800;
  font-family: "Corinthia", serif;
  padding: 12px 0;
  border-bottom: 1px solid #6cc4bc;
  margin-bottom: 20px;
}
.list-menu02 > li .block {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
.list-menu02 > li .block .tx {
  margin-bottom: 16px;
}
.list-menu02 > li .block .com-bt01 {
  max-width: 234px;
  margin-top: auto;
}

.list-flow {
  padding: 16px;
  background: #faf8f1;
  border-radius: 32px;
}
@media (max-width: 599px) {
  .list-flow {
    border-radius: 16px;
  }
}
.list-flow > li {
  padding: 24px;
  background: #fff;
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 24px;
}
@media (max-width: 599px) {
  .list-flow > li {
    display: block;
    padding: 20px 16px;
    border-radius: 8px;
    overflow: hidden;
  }
}
.list-flow > li + li {
  margin-top: 16px;
}
.list-flow > li .num {
  width: 60px;
  height: 60px;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  background: #29847d;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
@media (max-width: 599px) {
  .list-flow > li .num {
    width: 30px;
    height: 30px;
    font-size: 14px;
    float: left;
    margin-right: 14px;
  }
}
.list-flow > li .tx {
  width: calc(100% - 84px);
}
@media (max-width: 599px) {
  .list-flow > li .tx {
    width: 100%;
  }
}
.list-flow > li .tx .tx01 {
  font-size: 20px;
  font-weight: bold;
}
@media (max-width: 599px) {
  .list-flow > li .tx .tx01 {
    float: left;
    font-size: 16px;
    display: flex;
    align-items: center;
    min-height: 30px;
    width: calc(100% - 44px);
  }
  .list-flow > li .tx .tx01 span {
    font-size: 0.8em;
  }
}
.list-flow > li .tx .tx02 {
  margin-top: 8px;
}
@media (max-width: 599px) {
  .list-flow > li .tx .tx02 {
    clear: both;
    padding-top: 16px;
    margin-top: 0;
  }
}

.list-check > li {
  font-size: 18px;
  font-weight: bold;
  background: url(/images/common/ic_check01.svg) no-repeat left;
  padding-left: 34px;
}
@media (max-width: 599px) {
  .list-check > li {
    font-size: 16px;
    background-size: 16px 16px;
    padding-left: 30px;
  }
}
.list-check > li + li {
  margin-top: 1em;
}
@media (max-width: 599px) {
  .list-check > li + li {
    margin-top: 0.5em;
  }
}

/* アコーディオン
-----------------------------------*/
.ac-label {
  cursor: pointer;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
.ac-label .ac-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-left: auto;
}
@media (max-width: 599px) {
  .ac-label .ac-inner {
    width: 20px;
  }
}
.ac-label .ac-inner span {
  position: absolute;
  width: 16px;
  height: 1px;
  background: #333;
  transform: rotate(180deg);
  transition: 0.4s;
}
@media (max-width: 599px) {
  .ac-label .ac-inner span {
    width: 12px;
  }
}
.ac-label .ac-inner span:nth-child(2) {
  transform: rotate(90deg);
}
.ac-label:not(.type02).open .ac-inner span:nth-child(1) {
  display: none;
}
.ac-label:not(.type02).open .ac-inner span:nth-child(2) {
  transform: rotate(180deg);
}
.ac-label.type02.open .ac-inner span:nth-child(1) {
  transform: rotate(225deg);
}
.ac-label.type02.open .ac-inner span:nth-child(2) {
  transform: rotate(135deg);
}

/* バナー
-----------------------------------*/
.list-bn {
  display: flex;
  gap: 16px;
}
.list-bn a {
  display: block;
}
.list-bn li {
  width: calc(50% - 8px);
  background-color: #fff;
}
.list-bn .border01 {
  border: 1px solid #ff0002;
}
.list-bn .border02 {
  border: 1px solid #8dc73f;
}
.list-bn.type02 {
  gap: 32px;
}
@media (max-width: 599px) {
  .list-bn.type02 {
    flex-direction: column;
    gap: 20px;
  }
}
.list-bn.type02 li {
  width: calc(50% - 16px);
}
@media (max-width: 599px) {
  .list-bn.type02 li {
    width: 100%;
  }
}

/* アクセス
-----------------------------------*/
.list-access .ic {
  font-size: 24px;
  font-weight: bold;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 24px 24px;
  padding-left: 36px;
}
@media (max-width: 599px) {
  .list-access .ic {
    font-size: 16px;
    background-size: 16px 16px;
    padding-left: 24px;
  }
}
.list-access .ic.ic01 {
  background-image: url(/images/common/ic_access01.svg);
}
.list-access .ic.ic02 {
  background-image: url(/images/common/ic_access02.svg);
}
.list-access .ic.ic03 {
  background-image: url(/images/common/ic_access03.svg);
}
.list-access .ic.ic04 {
  background-image: url(/images/common/ic_access04.svg);
}

/* スケジュール
-----------------------------------*/
.block-schedule .box {
  background: #fff;
  box-shadow: 0 0 5px 0 rgba(153, 153, 153, 0.75);
  border-radius: 8px;
  padding: 4px 16px 16px;
}
.block-schedule .tb-schedule {
  width: 100%;
}
.block-schedule .tb-schedule th,
.block-schedule .tb-schedule td {
  font-size: 24px;
  font-weight: normal;
  line-height: 1;
  padding: 16px 8px;
  border-bottom: 1px solid #999;
  white-space: nowrap;
}
@media (max-width: 1060px) {
  .block-schedule .tb-schedule th,
  .block-schedule .tb-schedule td {
    font-size: 18px;
  }
}
@media (max-width: 880px) {
  .block-schedule .tb-schedule th,
  .block-schedule .tb-schedule td {
    font-size: 16px;
  }
}
@media (max-width: 599px) {
  .block-schedule .tb-schedule th,
  .block-schedule .tb-schedule td {
    font-size: 14px;
    padding: 14px 4px;
  }
}
.block-schedule .tb-schedule .tx-g {
  color: #29847d;
}
.block-schedule .tb-schedule thead .tx-g {
  font-size: 26px;
  font-weight: bold;
}
@media (max-width: 1060px) {
  .block-schedule .tb-schedule thead .tx-g {
    font-size: 20px;
  }
}
@media (max-width: 880px) {
  .block-schedule .tb-schedule thead .tx-g {
    font-size: 18px;
  }
}
@media (max-width: 599px) {
  .block-schedule .tb-schedule thead .tx-g {
    font-size: 16px;
  }
}
.block-schedule .tb-schedule tbody th {
  font-size: 18px;
}
@media (max-width: 1060px) {
  .block-schedule .tb-schedule tbody th {
    font-size: 16px;
  }
}
@media (max-width: 880px) {
  .block-schedule .tb-schedule tbody th {
    font-size: 14px;
  }
}
@media (max-width: 599px) {
  .block-schedule .tb-schedule tbody th {
    font-size: 12px;
  }
}
.block-schedule .list-attention {
  color: #555;
  margin-top: 16px;
}
@media (max-width: 880px) {
  .block-schedule .list-attention {
    font-size: 14px;
  }
}
@media (max-width: 599px) {
  .block-schedule .list-attention {
    font-size: 12px;
  }
}

/* お知らせ
-----------------------------------*/
.list-news li {
  border-bottom: 1px solid rgba(41, 132, 125, 0.5);
  padding: 1em 0;
}
.list-news li:first-child {
  padding-top: 0;
}
.list-news .date {
  color: #29847d;
}
.list-news a {
  color: #333;
}
.list-news + .com-bt01 {
  margin-top: 32px;
}

/* ページャー
-----------------------------------*/
.pager {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  margin: 64px auto 0;
}
@media (max-width: 599px) {
  .pager {
    margin-top: 40px;
  }
}
.pager span,
.pager a {
  color: #29847d;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #fff;
  border: 1px solid #29847d;
  box-sizing: border-box;
}
.pager span.current,
.pager span:hover,
.pager a.current,
.pager a:hover {
  color: #fff;
  background: #29847d;
}
.pager .prev,
.pager .next {
  position: relative;
}
.pager .prev:before,
.pager .next:before {
  position: absolute;
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #29847d;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.pager .prev:hover:before,
.pager .next:hover:before {
  border-color: #fff;
}
.pager .prev:before {
  left: 4px;
  border-left: 2px solid #29847d;
  transform: rotate(-45deg);
}
.pager .next:before {
  right: 7px;
  border-right: 2px solid #29847d;
  transform: rotate(45deg);
}
.pager ul {
  display: flex;
}

/* 投稿記事 詳細
-----------------------------------*/
.entry-head {
  padding-bottom: 16px;
  margin-bottom: 40px;
  position: relative;
}
@media (max-width: 599px) {
  .entry-head {
    padding-bottom: 12px;
    margin-bottom: 32px;
  }
}
.entry-head:before,
.entry-head:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0;
  border-bottom: 1px solid #29847d;
  left: 0;
}
.entry-head:before {
  bottom: 1px;
}
.entry-head:after {
  bottom: 0;
}
.entry-head .date {
  color: #29847d;
  font-size: 18px;
  line-height: 1;
  margin-bottom: 1rem;
}
@media (max-width: 599px) {
  .entry-head .date {
    font-size: 16px;
  }
}
.entry-head .title {
  color: #29847d;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.3;
}
@media (max-width: 599px) {
  .entry-head .title {
    font-size: 20px;
  }
}

.entry-content {
  word-break: break-all;
  /* 24px */
  /* 22px */
  /* 20px */
  /* 18px */
  /* 17px */
  /* 16px */
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-weight: 500;
  margin: 0 0 1.5rem;
}
@media (max-width: 599px) {
  .entry-content h1,
  .entry-content h2,
  .entry-content h3,
  .entry-content h4,
  .entry-content h5,
  .entry-content h6 {
    margin-bottom: 16px;
  }
}
.entry-content h1 {
  font-size: 1.5rem;
}
.entry-content h2 {
  font-size: 1.375rem;
}
.entry-content h3 {
  font-size: 1.25rem;
}
.entry-content h4 {
  font-size: 1.125rem;
}
.entry-content h5 {
  font-size: 1.0625rem;
}
.entry-content h6 {
  font-size: 1rem;
}
.entry-content p {
  margin: 0 0 1.5rem;
}
@media (max-width: 599px) {
  .entry-content p {
    margin-bottom: 16px;
  }
}
.entry-content ul,
.entry-content ol {
  margin: 0 0 1.5rem 1.875rem;
}
@media (max-width: 599px) {
  .entry-content ul,
  .entry-content ol {
    margin-bottom: 16px;
  }
}
.entry-content ul {
  list-style: disc;
}
.entry-content blockquote {
  font-style: italic;
  padding: 0 1.875rem;
}
.entry-content blockquote cite,
.entry-content blockquote em,
.entry-content blockquote i {
  font-style: normal;
}
.entry-content img {
  border-radius: 16px;
}
@media (max-width: 599px) {
  .entry-content img {
    border-radius: 8px;
  }
}

.sec-btm {
  margin-top: 64px;
}
@media (max-width: 599px) {
  .sec-btm {
    margin-top: 40px;
  }
}
.sec-btm .com-bt01 {
  margin: 0 auto;
}
/*# sourceMappingURL=common.css.map */

/* 20250409 */
.img-box {
  display: flex;
  width: 100%;
  gap: 20px;
  margin-bottom: 26px;
  justify-content: center;
}
.img-box img {
  width: 49%;
  height: auto;
  object-fit: cover;
}

@media (max-width: 599px) {
  .img-box {
    flex-direction: column;
  }
  .img-box img {
    width: 100%;
  }
}

.highlight {
  color: orange;
}

.sitemap_wrap {
  display: flex;
  justify-content: center;
  ul {
    width: 20%;
  }
}

@media (max-width: 599px) {
  .sitemap_wrap {
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
    gap: 10px 0;
    font-size: 16px;
    ul {
      width: 50%;
    }
    li {
      margin: 0 0 5px 0;
    }
  }
}
