html {
  /* font-feature-settings: 'palt'; */
  font-size: 62.5%;
  scroll-behavior: smooth;
}

@media screen and (min-width:1650px) {
  html {
    font-size: calc(100vw / 1650 * 10);
  }
}

@media screen and (max-width:1040px) {
  html {
    font-size: calc(100vw / 1040 * 10);
  }
}

@media screen and (max-width:768px) {
  html {
    font-size: calc(100vw / 375 * 10);
  }
}

body {
  color: #0F0404;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", Meiryo, sans-serif;
  /* font-feature-settings: "palt" 1; */
  /* プロポーショナル和文 */
  /* font-synthesis-weight: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; */
  font-size: 1.6rem;
  font-weight: 500;
  line-height: normal;
}

@media screen and (max-width:768px) {
  body {
    font-size: 1.4rem;
  }
}

.font_m {
  font-family: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.body_container {
  opacity: 0;
  overflow: hidden;
  padding-top: 13.6rem;
  transition: .6s ease;
}

.lazy .body_container {
  opacity: 1;
}

.max1000 {
  max-width: 100rem;
  margin: 0 auto;
}

img:not(.cover) {
  height: auto;
  max-width: 100%;
  width: 100%;
}

img.cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  .body_container {
    padding-top: 6.5rem;
  }
}

a {
  transition: .3s;
}

.anchor {
  display: flex;
  margin-top: -13.6rem;
  padding-top: 13.6rem;
}

@media screen and (max-width: 768px) {
  .anchor {
    margin-top: -6.5rem;
    padding-top: 6.5rem;
  }
}

strong {
  font-weight: inherit;
}

dt {
  font-weight: inherit;
}

/* ---------------------------------------------------------------------------
//  sche01
--------------------------------------------------------------------------- */
.sche01 {
  padding: 2.5rem;
  box-shadow: 0 0 1rem rgba(0, 0, 0, .16);
  border-radius: 1rem 0 0 1rem;
  background: #fff;
}

.sche01 table {
  width: 100%;
  white-space: nowrap;
  font-size: 1.4rem;
}

.sche01 table tr>* {
  vertical-align: middle;
  padding: .6rem 1rem;
}

.sche01 table tr.head {
  border-bottom: solid 2px #000;
}

.sche01 table tr.head th {
  font-weight: 500;
  color: #918128;
}

.sche01 table tr.head th:first-of-type {
  color: #B55151;
}

.sche01 table tr+tr {
  border-top: 1px solid rgba(112, 112, 112, .33);
}

.sche01 table tr:last-of-type {
  border-bottom: solid 2px #000;
}

.sche01 table span {
  display: flex;
  justify-content: center;
  align-items: center;
}

.sche01 table td.none {
  background-image: url(../img/top/sche-line01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 2.4rem;
}

.sche01 .p01 {
  font-size: 1.2rem;
  line-height: calc(20/12);
  margin-top: .6rem;
}

@media screen and (max-width: 768px) {
  .sche01 {
    padding: 2.5rem 2rem;
    border-radius: 1rem 1rem 0 0 !important;
    width: 100%;
  }

  .sche01 table {
    font-size: 1.2rem;
  }

  .sche01 table tr>* {
    vertical-align: middle;
    padding: .5rem .3rem;
  }
}

/* ---------------------------------------------------------------------------
//  cta
--------------------------------------------------------------------------- */
.cta {
  position: relative;
}

/* .cta::after {
  content: "";
  position: absolute;
  width: .1rem;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: #000;
} */
.cta .wrap {
  position: relative;
}

.cta01 {
  margin-top: 7rem;
}

.cta02 {
  margin-top: 10rem;
}

.cta03 {
  margin-top: 10rem;
}

.cta04 {
  margin-top: 10rem;
}

.cta .wrap .head {
  max-width: 90rem;
  background: rgba(145, 129, 40, .2);
  border-radius: 0 30rem 30rem 0;
  display: flex;
  align-items: center;
  padding: 5rem 4rem 5rem 0;
  position: relative;
}

.cta01 .wrap .head {
  padding-left: 22.1rem;
}

.cta02 .wrap .head {
  padding: 3rem 4rem 3rem 24rem;
}

.cta03 .wrap .head {
  padding: 2.5rem 4rem 2.5rem 43.2rem;
}

.cta04 .wrap .head {
  padding: 2.5rem 4rem 2.5rem 43.2rem;
}

.cta .wrap .head::before {
  content: "";
  background: rgba(145, 129, 40, .2);
  position: absolute;
  height: 100%;
  left: calc(((100vw - 100rem) / 2) * -1);
  width: calc((100vw - 100rem) / 2);
}

.cta .wrap .head .illsut {
  position: absolute;
}

.cta01 .wrap .head .illsut {
  bottom: 0;
  left: -2rem;
  width: 25rem;
}

.cta02 .wrap .head .illsut {
  bottom: 0;
  left: 4rem;
  width: 22.8rem;
}

.cta03 .wrap .head .illsut {
  bottom: 0;
  left: 4rem;
  width: 28.5rem;
}

.cta04 .wrap .head .illsut {
  bottom: .5rem;
  left: 4rem;
  width: 22.95rem;
}

.cta .wrap .head .ttl {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  position: relative;
}

.cta01 .wrap .head .ttl .pict {
  width: 9.3rem;
}

.cta02 .wrap .head .ttl .pict {
  width: 10.7rem;
}

.cta .wrap .head .ttl .txt {
  white-space: nowrap;
  text-align: center;
}

.cta .wrap .head .ttl .txt .h2 {
  color: #B55151;
  font-weight: bold;
  font-size: 3.2rem;
}

.cta .wrap .head .ttl .txt .p01 {
  font-size: 2rem;
  margin-top: 2rem;
}

.cta .wrap .head .btn {
  border: solid 1px #B55151;
  border-radius: 100%;
  width: 11.2rem;
  height: 11.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  background: #B55151;
  margin-left: auto;
}

.cta .wrap .head .btn:hover {
  color: #B55151;
  background: #fff;
}

@media screen and (max-width: 768px) {

  /* .cta::after {
  content: "";
  position: absolute;
  width: .1rem;
  height: 100%;
  top: 0;
  left: 0;
  right: 2rem;
  margin: auto;
  background: #000; 
} */
  .cta01 {
    margin-top: 0
  }

  .cta .wrap {
    position: relative;
    padding: 0 2rem 0 0;
  }

  .cta .wrap .head {
    border-radius: 0 10rem 10rem 0;
    flex-direction: column;
    align-items: center;
    padding: 3rem 2rem;
    overflow: hidden;
  }

  .cta01 .wrap .head {
    padding-left: 2rem;
    padding-bottom: 16rem;
  }

  .cta02 .wrap .head {
    padding: 3rem 2rem 16rem 2rem;
  }

  .cta03 .wrap .head {
    padding: 3rem 2rem 16rem 2rem;
  }

  .cta04 .wrap .head {
    padding: 3rem 2rem 19rem 2rem;
  }

  .cta .wrap .head .illsut {
    position: absolute;
  }

  .cta01 .wrap .head .illsut {
    bottom: 0;
    left: 0;
    right: 1rem;
    margin: auto;
  }

  .cta02 .wrap .head .illsut {
    bottom: 0;
    left: 0;
    right: 1rem;
    margin: auto;
  }

  .cta03 .wrap .head .illsut {
    bottom: 0;
    left: 0;
    right: 1rem;
    margin: auto;
  }

  .cta04 .wrap .head .illsut {
    bottom: 0;
    left: 0;
    right: 1rem;
    margin: auto;
  }

  .cta .wrap .head .ttl {
    flex-direction: column;
    gap: 1rem;
  }

  .cta01 .wrap .head .ttl .pict {
    width: calc(9.3rem * .8);
    position: relative;
    right: -1.3rem;
  }

  .cta02 .wrap .head .ttl .pict {
    width: calc(10.7rem * .8);
    position: relative;
    right: -1.4rem;
  }

  .cta .wrap .head .ttl .txt {
    white-space: nowrap;
    text-align: center;
  }

  .cta .wrap .head .ttl .txt .h2 {
    color: #B55151;
    font-weight: bold;
    font-size: 2.6rem;
  }

  .cta .wrap .head .ttl .txt .p01 {
    font-size: 1.6rem;
    margin-top: 1rem;
  }

  .cta .wrap .head .btn {
    margin: 2rem auto 0;
  }
}

/* ---------------------------------------------------------------------------
//  top_fv
--------------------------------------------------------------------------- */
.top_fv {
  position: relative;
  height: calc(100svh - 13.6rem);
  height: calc(100vh - 13.6rem);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 63rem;
}

.top_fv .wrap {
  position: relative;
  height: 63rem;
  width: 100%;
}

.top_fv .wrap .top_fv_slider {
  position: absolute;
  bottom: 0;
  left: -32.4rem;
  width: 116.1rem;
  height: 48.2rem;
}

.top_fv_slider .items {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.top_fv_slider .item {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 800ms ease;
  /* data-duration で上書き可 */
  pointer-events: none;
  will-change: opacity;
  z-index: 0;
}

.top_fv_slider .item.is-active {
  opacity: 1;
  z-index: 1;
  pointer-events: auto;
}

.top_fv_slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* 画面いっぱいに */
}

.top_fv .wrap .h1 {
  position: absolute;
  left: 0;
  top: 8.5rem;
  z-index: 3;
  color: #B55151;
  font-size: 5.5rem;
  font-weight: bold;
  line-height: calc(62/55);
}

.top_fv .wrap .decos .deco {
  position: absolute;
}

.top_fv .wrap .decos .deco01 {
  width: 40.8rem;
  top: 2.9rem;
  right: -1.6rem;
  z-index: 1;
  mix-blend-mode: multiply;
}

.top_fv .wrap .decos .deco02 {
  width: 32.1rem;
  top: 7.2rem;
  right: -10rem;
  z-index: 2;
}

.top_fv .fv_sche {
  position: absolute;
  z-index: 10;
  right: 0;
  bottom: 7.4rem;
  top: 0;
  bottom: 0;
  margin: auto;
  padding-bottom: 7.4rem;
  height: 63rem;
  display: flex;
  align-items: flex-end;
}

@media screen and (max-width: 768px) {
  .top_fv {
    position: relative;
    height: auto;
    display: block;
  }

  .top_fv .wrap {
    position: relative;
    height: calc(100svh - 6.5rem - 6.3rem);
    height: calc(100vh - 6.5rem - 6.3rem);
    min-height: 30rem;
    padding: .8rem 2rem 0;
  }

  .top_fv .wrap .p01 {
    font-size: 1rem;
    font-weight: 400;
    line-height: calc(16/10);
  }

  .top_fv .wrap .top_fv_slider {
    left: 0;
    width: 100%;
    height: calc(100% - 21.9rem);
  }

  .top_fv_slider .items {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .top_fv .wrap .h1 {
    left: 2rem;
    top: 18.4rem;
    font-size: 3.2rem;
    line-height: calc(36/32);
  }

  .top_fv .wrap .decos .deco01 {
    width: 24.4rem;
    top: 8rem;
    right: 4rem;
  }

  .top_fv .wrap .decos .deco02 {
    width: 18.5rem;
    top: 7.2rem;
    right: -1rem;
  }

  .top_fv .fv_sche {
    display: none;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec01
--------------------------------------------------------------------------- */
.top_sec01 {
  position: relative;
}

.top_sec01 a:hover {
  opacity: .7;
}

.top_sec01 .wrap {
  position: relative;
  padding: 7rem 0 10rem;
}

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

.top_sec01 .wrap .news_area .ttl {
  width: 13.5rem;
}

.top_sec01 .wrap .news_area .ttl .h2 {
  color: #918128;
  font-size: 3.2rem;
  font-weight: bold;
}

.top_sec01 .wrap .news_area .contents {
  width: 60rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.top_sec01 .wrap .news_area .contents .newss {
  margin-top: -2rem;
  width: 100%;
}

.top_sec01 .wrap .news_area .contents .newss .news {
  display: flex;
  font-size: 1.4rem;
  border-bottom: solid 1px rgba(15, 4, 4, .27);
  padding: 3rem 1rem;
  position: relative;
}

.top_sec01 .wrap .news_area .contents .newss .news::after {
  background-image: url(../img/common/arrow01.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  width: 2.2rem;
  height: 2.2rem;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.top_sec01 .wrap .news_area .contents .newss .news time {
  width: 11.7rem;
}

.top_sec01 .wrap .news_area .contents .newss .news .ttl {
  font-weight: 400;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  width: calc(100% - 11.7rem);
}

.top_sec01 .wrap .news_area .contents .more {
  padding: 1.5rem 0;
  font-size: 1.4rem;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .top_sec01 .wrap {
    padding: 7rem 2rem 10rem;
  }

  .top_sec01 .wrap .news_area {
    flex-direction: column;
  }

  .top_sec01 .wrap .news_area .ttl {
    width: 100%;
  }

  .top_sec01 .wrap .news_area .ttl .h2 {
    font-size: 2.6rem;
  }

  .top_sec01 .wrap .news_area .contents {
    width: 100%;
  }

  .top_sec01 .wrap .news_area .contents .newss {
    margin-top: 0;
  }

  .top_sec01 .wrap .news_area .contents .newss .news {
    padding: 2rem 2rem 2rem 0;
    flex-direction: column;
  }

  .top_sec01 .wrap .news_area .contents .newss .news::after {
    width: 1.6rem;
    height: 1.6rem;
  }

  .top_sec01 .wrap .news_area .contents .newss .news time {
    width: 100%;
  }

  .top_sec01 .wrap .news_area .contents .newss .news .ttl {
    width: 100%;
    margin-top: 1rem;
  }

  .top_sec01 .wrap .news_area .contents .more {
    padding: 2rem 0;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec02
--------------------------------------------------------------------------- */
.top_sec02 {
  position: relative;
  border-top: solid 1px #918128;
  border-bottom: solid 1px #918128;
  margin-bottom: 10rem;
}

.top_sec02 .wrap {
  position: relative;
  padding: 1rem 0;
  display: flex;
}

.top_sec02 .wrap .txt {
  width: 53rem;
  padding: 3rem 4rem;
}

.top_sec02 .wrap .txt .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top_sec02 .wrap .txt .ttl .pict {
  width: 6rem;
}

.top_sec02 .wrap .txt .ttl .h2 {
  margin-top: 2rem;
  font-size: 3.8rem;
  line-height: calc(52/38);
  font-weight: bold;
  text-align: center;
  color: #B55151;
}

.top_sec02 .wrap .txt .p01 {
  font-weight: 400;
  line-height: calc(34/16);
  margin-top: 1rem;
}

.top_sec02 .wrap .bg {
  width: calc((100% - 53rem) / 2);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.top_sec02 .wrap .bg.left {
  background-image: url(../img/top/02_bg01.jpg);
}

.top_sec02 .wrap .bg.right {
  background-image: url(../img/top/02_bg02.jpg);
}

@media screen and (max-width:768px) {
  .top_sec02 .wrap {
    padding: 1rem 0 3rem;
    flex-wrap: wrap;
  }

  .top_sec02 .wrap .txt {
    order: -1;
    width: 100%;
    padding: 2rem 2rem 3rem;
  }

  .top_sec02 .wrap .txt .ttl .h2 {
    margin-top: 2rem;
    font-size: 2.6rem;
  }

  .top_sec02 .wrap .txt .p01 {
    font-weight: 400;
    line-height: 1.75;
  }

  .top_sec02 .wrap .bg {
    width: 50%;
    aspect-ratio: 375/500;
  }

  .top_sec02 .wrap .bg.left {
    background-image: url(../img/top/02_bg01.jpg);
  }

  .top_sec02 .wrap .bg.right {
    background-image: url(../img/top/02_bg02.jpg);
  }
}

/* ---------------------------------------------------------------------------
//  top_secA
--------------------------------------------------------------------------- */
.top_secA {
  position: relative;
}

.top_secA .wrap {
  position: relative;
}

.top_secA .wrap .h2 {
  position: relative;
  background: rgba(145, 129, 40, .2);
  text-align: center;
  padding: 1.4rem;
  font-size: 2.8rem;
  color: #B55151;
  font-weight: 700;
  border-radius: 10rem 0 0 10rem;
}

.top_secA .wrap .h2::after {
  content: "";
  position: absolute;
  width: calc((100vw - 100rem) / 2);
  right: calc(((100vw - 100rem) / 2) * -1);
  height: 100%;
  background: rgba(145, 129, 40, .2);
  top: 0;
}

.top_secA .wrap .contents {
  padding: 3.6rem 0 4.7rem;
  display: flex;
}

.top_secA .wrap .contents>div {
  width: 50%;
}

.top_secA .wrap .contents .img_wrap {
  padding: 0 4rem;
}

.top_secA .wrap .contents .img {
  aspect-ratio: 414/263;
  overflow: hidden;
}

.top_secA .wrap .contents .txt {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.top_secA .wrap .contents .txt .p01 {
  padding: 0 4rem;
  font-weight: 400;
  line-height: calc(34/16);
  margin-bottom: 2rem;
}

.top_secA .wrap .contents .txt .btn {
  margin-top: auto;
  padding: 1rem 7rem 1rem 4rem;
  border: solid 1px #0F0404;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.8rem;
  position: relative;
}

.top_secA .wrap .contents .txt .btn:hover {
  background: #0F0404;
  color: #fff;
}

.top_secA .wrap .contents .txt .btn::before,
.top_secA .wrap .contents .txt .btn::after {
  background-image: url();
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  width: .9rem;
  height: 1.5rem;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 3rem;
  transition: .3s;
}

.top_secA .wrap .contents .txt .btn::before {
  background-image: url(../img/common/arrow02.svg);
}

.top_secA .wrap .contents .txt .btn::after {
  background-image: url(../img/common/arrow02_w.svg);
  opacity: 0;
}

.top_secA .wrap .contents .txt .btn:hover:after {
  opacity: 1;
}

.top_secA .wrap .ex {
  position: relative;
  border: solid 1px #E9E5D3;
  padding: 5rem 0 3rem;
  margin: 0 4rem;
}

.top_secA .wrap .ex .h3 {
  position: absolute;
  font-size: 2.2rem;
  font-weight: bold;
  color: #B55151;
  left: 0;
  right: 0;
  margin: auto;
  top: -1.5rem;
  display: flex;
  justify-content: center;
}

.top_secA .wrap .ex .h3 span {
  background: #fff;
  padding: 0 3rem;
}

.top_secA .wrap .ex .uls {
  display: flex;
  flex-wrap: wrap;
}

.top_secA .wrap .ex .uls .ul_wrap {
  width: 50%;
  display: flex;
  padding: 0 4rem;
}

.top_secA .wrap .ex .uls .ul_wrap:nth-of-type(1) {
  justify-content: flex-end;
}

.top_secA .wrap .ex .uls .ul_wrap .ul {
  line-height: calc(34/16);
  font-weight: 400;
  min-width: 28rem;
}

.top_secA .wrap .ex .uls .ul_wrap .ul li {
  display: flex;
}

.top_secA .wrap .ex .uls .ul_wrap .ul li .num {
  width: 2rem;
}

.top_secA .wrap .ex .uls .ul_wrap .ul li .txt {
  width: calc(100% - 2rem);
}

@media screen and (max-width: 768px) {
  .top_secA .wrap {
    padding: 0 2rem;
  }

  .top_secA .wrap .h2 {
    font-size: 2.6rem;
  }

  .top_secA .wrap .h2::after {
    width: 2rem;
    right: -2rem;
  }

  .top_secA .wrap .contents {
    flex-direction: column;
  }

  .top_secA .wrap .contents>div {
    width: 100%;
  }

  .top_secA .wrap .contents .img_wrap {
    padding: 0;
    position: relative;
    right: -2rem;
  }

  .top_secA .wrap .contents .txt .p01 {
    padding: 2rem 0 0 2rem;
    margin-bottom: 2rem;
  }

  .top_secA .wrap .ex {
    padding: 4rem 2rem 3rem;
    margin: 0;
  }

  .top_secA .wrap .ex .h3 {
    font-size: 1.8rem;
    top: -1.5rem;
    text-align: center;
  }

  .top_secA .wrap .ex .h3 span {
    padding: 0 1rem;
  }

  .top_secA .wrap .ex .uls {
    display: block;
  }

  .top_secA .wrap .ex .uls .ul_wrap {
    width: 100%;
    display: block;
    padding: 0;
  }

  .top_secA .wrap .ex .uls .ul_wrap .ul {
    line-height: 1.75;
    min-width: auto;
  }

  .top_secA .wrap .ex .uls .ul_wrap .ul li {
    margin-top: 1rem;
  }

  .top_secA .wrap .ex .uls .ul_wrap .ul li .num {
    width: 1.6rem;
  }

  .top_secA .wrap .ex .uls .ul_wrap .ul li .txt {
    width: calc(100% - 1.6rem);
  }
}

/* ---------------------------------------------------------------------------
//  top_sec06
--------------------------------------------------------------------------- */
.top_sec06 {
  position: relative;
  border-top: solid 1px #918128;
  border-bottom: solid 1px #918128;
  margin-top: 10rem;
}

.top_sec06 .wrap {
  position: relative;
  padding: 5rem 0;
}

.top_sec06 .wrap .p01 {
  font-weight: 400;
  line-height: calc(34/16);
}

@media screen and (max-width:768px) {
  .top_sec06 .wrap {
    padding: 5rem 2rem;
  }

  .top_sec06 .wrap .p01 {
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec07
--------------------------------------------------------------------------- */
.top_sec07 {
  position: relative;
}

.top_sec07 .wrap {
  position: relative;
  padding: 10rem 0;
}

.top_sec07 .wrap .h2 {
  color: #B55151;
  font-weight: bold;
  font-size: 3.2rem;
  text-align: center;
}

.top_sec07 .wrap .btn {
  margin-top: auto;
  width: 26rem;
  height: 4.8rem;
  border: solid 1px #0F0404;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  font-weight: 400;
  background-image: url(../img/common/logo_google.svg);
  background-size: 3.4rem;
  background-repeat: no-repeat;
  background-position: center left 2.4rem;
  margin: 6.5rem auto 0;
}

.top_sec07 .wrap .btn:hover {
  background-color: #0F0404;
  color: #fff;
}

.top_sec07 .wrap .btn::before,
.top_sec07 .wrap .btn::after {
  background-image: url();
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  width: .9rem;
  height: 1.5rem;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 3rem;
  transition: .3s;
}

.top_sec07 .wrap .btn::before {
  background-image: url(../img/common/arrow02.svg);
}

.top_sec07 .wrap .btn::after {
  background-image: url(../img/common/arrow02_w.svg);
  opacity: 0;
}

.top_sec07 .wrap .btn:hover:after {
  opacity: 1;
}

.voice_slider {
  position: relative;
  margin-top: 10rem;
}

.voice_slider .viewport {
  overflow: hidden;
}

/* 横並び＋gapは rem で。gap は JS から CSS変数 --gap-rem をセット */
.voice_slider .items {
  display: flex;
  gap: calc(var(--gap-rem, 5) * 1rem);
  will-change: transform;
  transition: transform 450ms ease;
}

/* カード幅は rem で。--card-rem を JS が切替 */
.voice_slider .item {
  flex: 0 0 calc(var(--card-rem, 44) * 1rem);
  border-radius: 3.2rem;
  background: #F2F2F2;
  padding: 2.4rem 2.4rem 4rem;
}

/* ナビ（最低限） */
.voice_slider .nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background-color: rgba(145, 129, 40, .55);
  z-index: 2;
  mix-blend-mode: multiply;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.6rem;
}

.voice_slider .nav.prev {
  left: calc((100vw - 88rem - 15rem) / 2 + .5rem);
  background-image: url(../img/common/prev01.svg);
}

.voice_slider .nav.next {
  right: calc((100vw - 88rem - 15rem) / 2 + .5rem);
  background-image: url(../img/common/next01.svg);
}

/* ドラッグ中はトランジションOFF */
.voice_slider.is-dragging .items {
  transition: none !important;
}

.voice_slider .items .item .head {
  background-image: url(../img/common/logo_google.svg);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 3.4rem;
}

.voice_slider .items .item .head .name {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.voice_slider .items .item .head .name .pict {
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.voice_slider .items .item .head .name .pict.gold {
  background: #CBC082;
}

.voice_slider .items .item .head .name .pict.orange {
  background: #FFD091;
}

.voice_slider .items .item .head .name .pict.blue {
  background: #85B4EA;
}

.voice_slider .items .item .head .name .pict.pink {
  background: #EA8585;
}

.voice_slider .items .item .head .name .pict img {
  width: 2.9rem;
}

.voice_slider .items .item .head .name .txt {
  width: calc(100% - 4.8rem - 1.5rem);
  padding-right: 4.7rem;
}

.voice_slider .items .item .p01 {
  margin-top: .7rem;
  font-weight: 400;
}

/* ========== Star Display (readonly) ========== */
.stars {
  margin-top: 2rem;
  margin-left: 1rem;
  /* カスタムプロパティ */
  --rating: 4.3;
  /* 0〜5 の任意の値 (style属性で上書き可) */
  --star-size: 2.5rem;
  --star-color: #e0e0e0;
  /* 非アクティブ */
  --star-active: #fbbc04;
  /* Google風の黄色 */
  --star-svg: url('data:image/svg+xml;utf8,\<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">\<path fill="%23000" d="M316.7 17.8l59 119.5 132 19.2c26.2 3.8 36.7 36 17.7 54.5L420.4 310.6l22.6 131.9c4.5 26.1-23 46-46.4 33.7L288 405.8 179.4 476.2c-23.4 12.3-50.9-7.6-46.4-33.7l22.6-131.9L50.6 211c-19-18.5-8.5-50.7 17.7-54.5l132-19.2 59-119.5c11.7-23.8 45.3-23.9 57 0z"/></svg>');
  position: relative;
  display: inline-block;
  width: calc(var(--star-size) * 5);
  height: var(--star-size);
  background: var(--star-color);
  /* マスクで「星形×5個」をくり抜く */
  -webkit-mask-image: var(--star-svg);
  mask-image: var(--star-svg);
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: var(--star-size) var(--star-size);
  mask-size: var(--star-size) var(--star-size);
}

/* 塗りつぶし部分（小数に応じて幅を変える） */
.stars::before {
  content: "";
  position: absolute;
  inset: 0;
  width: calc((var(--rating) / 5) * 100%);
  background: var(--star-active);
  -webkit-mask-image: var(--star-svg);
  mask-image: var(--star-svg);
  -webkit-mask-repeat: repeat-x;
  mask-repeat: repeat-x;
  -webkit-mask-size: var(--star-size) var(--star-size);
  mask-size: var(--star-size) var(--star-size);
}

@media screen and (max-width:768px) {
  .top_sec07 .wrap .h2 {
    font-size: 2.6rem;
  }

  .voice_slider {
    margin-top: 6rem;
  }

  .voice_slider .item {
    border-radius: 1.6rem;
    padding: 2rem;
  }

  .voice_slider .nav.prev {
    left: .5rem;
  }

  .voice_slider .nav.next {
    right: .5rem;
  }

  .voice_slider .items .item .p01 {
    font-size: 1.2rem;
    margin-top: 0;
  }

  /* ========== Star Display (readonly) ========== */
  .stars {
    margin-top: 1rem;
    margin-left: 0;
  }
}

/* ---------------------------------------------------------------------------
//  top_sec08
--------------------------------------------------------------------------- */
.top_sec08 {
  position: relative;
}

.top_sec08 .wrap {
  position: relative;
}

.top_sec08 .wrap .h2 {
  color: #B55151;
  font-weight: bold;
  font-size: 3.2rem;
  text-align: center;
}

.top_sec08 .wrap .p01 {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  margin-bottom: 2rem;
  margin-top: 1rem;
}

.top_sec08 .wrap .google_map {
  height: 49.3rem;
}

.top_sec08 .wrap .google_map iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width:768px) {
  .top_sec08 .wrap .h2 {
    font-size: 2.6rem;
  }

  .top_sec08 .wrap .p01 {
    font-size: 1.6rem;
  }
}

/* ---------------------------------------------------------------------------
//  ttlA
--------------------------------------------------------------------------- */
.ttlA .h2 {
  position: relative;
  background: rgba(145, 129, 40, .2);
  text-align: center;
  padding: 1.4rem 4.5rem;
  font-size: 2.8rem;
  color: #B55151;
  font-weight: 700;
  border-radius: 10rem 0 0 10rem;
  margin-bottom: 4rem;
}

.ttlA .h2.left {
  text-align: left;
}

.ttlA .h2::after {
  content: "";
  position: absolute;
  width: calc((100vw - 100rem) / 2);
  right: calc(((100vw - 100rem) / 2) * -1);
  height: 100%;
  background: rgba(145, 129, 40, .2);
  top: 0;
}

@media screen and (max-width: 768px) {
  .ttlA .h2 {
    font-size: 2.6rem;
    padding: 1.4rem 2rem;
  }

  .ttlA .h2.left {
    text-align: center;
  }

  .ttlA .h2::after {
    width: 2rem;
    right: -2rem;
  }
}

/* ---------------------------------------------------------------------------
//  bread
--------------------------------------------------------------------------- */
.bread {
  display: flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 400;
}

.bread li+li {
  padding-left: 1.6rem;
  position: relative;
}

.bread li+li::before {
  content: "  >  ";
  position: absolute;
  left: .5rem;
  top: 0;
  bottom: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bread li a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  padding: 1rem 0;
  max-width: 20rem;
  white-space: nowrap;
}

.bread li a:hover {
  opacity: .7;
}

.bread li:last-of-type a {
  pointer-events: none;
}

/* ---------------------------------------------------------------------------
//  page_fv01
--------------------------------------------------------------------------- */
.page_fv01 .wrap .bg {
  height: 25.4rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
}

.about_fv .wrap .bg {
  background-image: url(../img/about/about_fv.jpg);
}

.doctors_fv .wrap .bg {
  background-image: url(../img/doctors/doctors_fv.jpg);
}

.Immunization_fv .wrap .bg {
  background-image: url(../img/Immunization/Immunization_fv.jpg);
}

.access_fv .wrap .bg {
  background-image: url(../img/access/access_fv.jpg);
}

.services_fv .wrap .bg {
  background-image: url(../img/services/services_fv.jpg);
}

.contact_fv .wrap .bg {
  background-image: url(../img/contact/contact_fv.jpg);
}

.page_fv01 .wrap .h1 {
  color: #918128;
  font-size: 4rem;
  font-weight: bold;
  min-width: 33.2rem;
  background: #fff;
  padding: .6rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

@media screen and (max-width:768px) {
  .page_fv01 .wrap {
    padding: 0 2rem;
  }

  .page_fv01 .wrap .bg {
    height: auto;
    aspect-ratio: 3/2;
    width: 100vw;
    left: -2rem;
  }

  .page_fv01 .wrap .h1 {
    font-size: 3rem;
    min-width: 26rem;
  }
}

/* ---------------------------------------------------------------------------
//  page_fv02
--------------------------------------------------------------------------- */
.page_fv02 .wrap .big {
  color: #918128;
  font-size: 3.8rem;
  font-weight: bold;
  border: solid 1px;
  padding: 2rem;
  text-align: center;
  margin-top: 2rem;
}

.page_fv02 .wrap .min {
  color: #918128;
  font-size: 2rem;
  border: solid 1px;
  padding: .53rem 2rem;
  margin-top: 2rem;
}

@media screen and (max-width:768px) {
  .page_fv02 .wrap {
    padding: 0 2rem;
  }

  .page_fv02 .wrap .big {
    font-size: 2.6rem;
    padding: 1rem;
  }

  .page_fv02 .wrap .min {
    margin-top: 0;
  }
}

/* ---------------------------------------------------------------------------
//  about_fv
--------------------------------------------------------------------------- */
.about_fv .about_contents {
  display: flex;
  padding: 8rem 0;
  align-items: center;
}

.about_fv .about_contents .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  text-align: center;
  white-space: nowrap;
  width: 40rem;
}

.about_fv .about_contents .ttl .pict {
  width: 5.33rem;
}

.about_fv .about_contents .ttl .h2 {
  color: #B55151;
  font-size: 3.8rem;
  font-weight: bold;
  line-height: calc(52/38);
}

.about_fv .about_contents .txts {
  width: calc(100% - 40rem);
}

.about_fv .about_contents .txts .h3 {
  font-size: 2rem;
  line-height: calc(32/20);
  margin-bottom: .5rem;
}

.about_fv .about_contents .txts .p01 {
  font-weight: 400;
  line-height: 2;
}

@media screen and (max-width:768px) {
  .about_fv .about_contents {
    flex-direction: column;
    padding: 6rem 2rem;
    gap: 3rem;
  }

  .about_fv .about_contents .ttl {
    gap: 1rem;
    width: 100%;
  }

  .about_fv .about_contents .ttl .pict {
    width: 5.33rem;
    width: calc(5.33rem * .8);
  }

  .about_fv .about_contents .ttl .h2 {
    font-size: 2.6rem;
  }

  .about_fv .about_contents .txts {
    width: 100%;
  }

  .about_fv .about_contents .txts .h3 {
    font-size: 1.6rem;
    margin-bottom: .2rem;
  }

  .about_fv .about_contents .txts .p01 {
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  about_sec01
--------------------------------------------------------------------------- */
.about_sec01 .wrap {
  padding: 0 0 10rem;
}

.about_sec01 .wrap .contents {
  display: flex;
  gap: 3.9rem;
}

.about_sec01 .wrap .contents .txts {
  width: calc(100% - 41.4rem - 3.9rem);
  line-height: 2;
  padding-left: 3rem;
}

.about_sec01 .wrap .contents .txts .ul01>li+li {
  margin-top: 1rem;
}

.about_sec01 .wrap .contents .txts .ul01>li {
  display: flex;
}

.about_sec01 .wrap .contents .txts .ul01>li::before {
  content: "●";
  color: #918128;
  width: 2rem;
}

.about_sec01 .wrap .contents .txts .ul01>li>dl {
  width: calc(100% - 2rem);
}

.about_sec01 .wrap .contents .txts .ul01>li>dl dt {
  color: #B55151;
}

.about_sec01 .wrap .contents .imgs {
  width: 41.4rem;
}

.about_sec01 .wrap .contents .imgs .img+.img {
  margin-top: 2rem;
}

@media screen and (max-width:768px) {
  .about_sec01 .wrap {
    padding: 0 2rem 10rem;
  }

  .about_sec01 .wrap .contents {
    flex-direction: column;
  }

  .about_sec01 .wrap .contents .txts {
    width: 100%;
    line-height: 1.75;
    padding-left: 0;
  }

  .about_sec01 .wrap .contents .txts .ul01>li::before {
    width: 1.8rem;
  }

  .about_sec01 .wrap .contents .txts .ul01>li>dl {
    width: calc(100% - 1.8rem);
  }

  .about_sec01 .wrap .contents .imgs {
    width: 100%;
  }

  .about_sec01 .wrap .contents .imgs .img+.img {
    margin-top: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  about_sec02
--------------------------------------------------------------------------- */
.about_sec02 .wrap {
  padding: 0 0 10rem;
}

.about_sec02 .wrap .contents {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.about_sec02 .wrap .contents .ttl {
  display: flex;
  gap: 3.7rem;
  width: 50%;
  justify-content: center;
  align-items: center;
}

.about_sec02 .wrap .contents .ttl .pict {
  width: 5.9rem;
}

.about_sec02 .wrap .contents .ttl .h3 {
  font-size: 2.4rem;
  font-weight: bold;
  color: #B55151;
  line-height: calc(36/24);
}

.about_sec02 .wrap .contents .p01 {
  width: 50%;
  line-height: 2;
  font-weight: 400;
}

.about_sec02 .wrap .contents .Illustration {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* margin-top: 6.6rem; */
  margin: 6.6rem auto 0;
}

.about_sec02 .wrap .contents .Illustration dt {
  font-size: 2rem;
  margin-bottom: 1rem;
  text-align: center;
}

@media screen and (max-width:768px) {
  .about_sec02 .wrap {
    padding: 0 2rem 10rem;
  }

  .about_sec02 .wrap .contents .ttl {
    gap: 2rem;
    width: 100%;
  }

  .about_sec02 .wrap .contents .ttl .pict {
    width: 4.8rem;
  }

  .about_sec02 .wrap .contents .ttl .h3 {
    font-size: 2rem;
  }

  .about_sec02 .wrap .contents .p01 {
    width: 100%;
    line-height: 1.75;
    margin-top: 3rem;
  }

  .about_sec02 .wrap .contents .Illustration {
    margin-top: 5rem;
    display: block;
    width: 100%;
  }

  .about_sec02 .wrap .contents .Illustration dt {
    font-size: 1.6rem;
  }

  .about_sec02 .wrap .contents .Illustration dd img {
    width: calc(100vw + 7rem);
    position: relative;
    left: -5.8rem;
    max-width: inherit;
  }
}

/* ---------------------------------------------------------------------------
//  about_sec03
--------------------------------------------------------------------------- */
.about_sec03 .wrap {
  padding: 0 0 10rem;
}

.about_sec03 .wrap .contents {
  display: flex;
  flex-wrap: wrap;
}

.about_sec03 .wrap .contents .txts {
  width: 50%;
  padding-left: 3rem;
}

.about_sec03 .wrap .contents .txts .p01 {
  font-weight: 400;
  line-height: 2;
}

.about_sec03 .wrap .contents .Illustration {
  width: 50%;
  position: relative;
  height: 49rem;
}

.about_sec03 .wrap .contents .Illustration img {
  position: absolute;
  width: 52.2rem;
  right: 0;
  top: -12rem;
}

@media screen and (max-width: 768px) {
  .about_sec03 .wrap {
    padding: 0 2rem 10rem;
  }

  .about_sec03 .wrap .contents .txts {
    width: 100%;
    padding-left: 0;
  }

  .about_sec03 .wrap .contents .txts .p01 {
    line-height: 1.75;
  }

  .about_sec03 .wrap .contents .Illustration {
    width: 100%;
    height: auto;
    margin-top: 2rem;
  }

  .about_sec03 .wrap .contents .Illustration img {
    position: relative;
    width: 100%;
    right: -.2rem;
    top: auto;
  }
}

/* ---------------------------------------------------------------------------
//  about_sec04
--------------------------------------------------------------------------- */
.about_sec04 .wrap01 {
  padding: 2rem 0 6rem;
}

.about_sec04 .wrap01 .contents .gallery .items {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 3rem;
}

.about_sec04 .wrap01 .contents .gallery .items .item {
  width: calc((100% - 6rem) / 3);
}

.about_sec04 .wrap01 .contents .gallery .items .item .img {
  background: #f7f7f7;
  aspect-ratio: 315/222;
  overflow: hidden;
}

.about_sec04 .wrap02 {
  background-color: rgba(233, 229, 211, .35);
  padding: 6rem 0;
}

.about_sec04 .wrap02 .contents {
  display: flex;
  font-weight: 400;
  gap: 4rem 6rem;
  flex-wrap: wrap;
  line-height: 2;
}

.about_sec04 .wrap02 .float {
  width: 48.2rem;
  font-size: 1.4rem;
  order: 2;
}

.about_sec04 .wrap02 .float .img {
  margin-bottom: 1rem;
}

.about_sec04 .wrap02 .p01 {
  width: calc(100% - 48.2rem - 6rem);
  order: 1;
}

.about_sec04 .wrap02 .p02 {
  order: 3;
}

@media screen and (max-width: 768px) {
  .about_sec04 .wrap01 {
    padding: 2rem 2rem 6rem;
  }

  .about_sec04 .wrap01 .contents .gallery .items {
    gap: 2rem;
  }

  .about_sec04 .wrap01 .contents .gallery .items .item {
    width: 100%;
  }

  .about_sec04 .wrap02 {
    padding: 6rem 2rem;
  }

  .about_sec04 .wrap02 .contents {
    gap: 2rem;
    line-height: 1.75;
  }

  .about_sec04 .wrap02 .float {
    width: 100%;
    font-size: 1.2rem;
    order: -1;
  }

  .about_sec04 .wrap02 .p01 {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  doctors_fv
--------------------------------------------------------------------------- */
.doctors_fv .doctors_contents {
  display: flex;
  padding: 8rem 0;
  align-items: center;
  justify-content: center;
}

.doctors_fv .doctors_contents .txts .p01 {
  line-height: 2;
}

@media screen and (max-width:768px) {
  .doctors_fv .doctors_contents .txts .p01 {
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  doctors_sec01
--------------------------------------------------------------------------- */
.doctors_sec01 .wrap {
  padding: 0 0 7rem;
}

.doctors_sec01 .wrap .contents {}

.doctors_sec01 .wrap .contents .flex01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 3rem;
}

.doctors_sec01 .wrap .contents .flex01 .img {
  width: 37.8rem;
}

.doctors_sec01 .wrap .contents .flex01 .txts {
  width: 50%;
  padding-left: 3rem;
}

.doctors_sec01 .wrap .contents .flex01 .txts .name {
  font-size: 3.2rem;
  font-weight: bold;
  color: #B55151;
}

.doctors_sec01 .wrap .contents .flex01 .txts .p01 {
  margin-top: 1rem;
}

.doctors_sec01 .wrap .contents .flex01 .txts dl {
  margin-top: 7rem;
}

.doctors_sec01 .wrap .contents .flex01 .txts dl dt {
  font-size: 2.4rem;
  color: #918128;
  font-weight: bold;
}

.doctors_sec01 .wrap .contents .flex01 .txts dl dd {
  font-size: 2rem;
  line-height: 2;
  margin-top: 1rem;
}

.doctors_sec01 .wrap .contents .flex02 {
  display: flex;
  margin-top: 6rem;
  flex-wrap: wrap;
  gap: 6rem 0;
}

.doctors_sec01 .wrap .contents .flex02 .group {
  width: 50%;
  padding-left: 3rem;
  padding: 0 3rem;
}

.doctors_sec01 .wrap .contents .flex02 .group:first-of-type {
  padding-right: 3rem;
}

.doctors_sec01 .wrap .contents .flex02 .group dl+dl {
  margin-top: 6rem;
}

.doctors_sec01 .wrap .contents .flex02 .group dl dt {
  color: #918128;
  font-size: 1.8rem;
  font-weight: bold;
}

.doctors_sec01 .wrap .contents .flex02 .group dl dd {
  font-weight: 400;
  line-height: 2;
  margin-top: 1rem;
}

.doctors_sec01 .wrap .contents .flex02 .group dl dd ol li {
  display: flex;
}

.doctors_sec01 .wrap .contents .flex02 .group dl dd strong {
  font-weight: 500;
  display: block;
}

.doctors_sec01 .wrap .contents .flex02 .group dl dd ul li {
  display: flex;
}

.doctors_sec01 .wrap .contents .flex02 .group dl dd ul li::before {
  content: "・";
}

.doctors_sec01 .wrap .contents .flex03 {
  margin-top: 7rem;
}

.doctors_sec01 .wrap .contents .flex03 .gallery .items {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 3rem;
}

.doctors_sec01 .wrap .contents .flex03 .gallery .items .item {
  width: 26rem;
}

@media screen and (max-width:768px) {
  .doctors_sec01 .wrap {
    padding: 0 2rem 7rem;
  }

  .doctors_sec01 .wrap .contents .flex01 {
    padding: 0;
  }

  .doctors_sec01 .wrap .contents .flex01 .img {
    width: calc(100% - 6rem);
    margin: 0 auto;
  }

  .doctors_sec01 .wrap .contents .flex01 .txts {
    width: 100%;
    padding-left: 0;
  }

  .doctors_sec01 .wrap .contents .flex01 .txts .name {
    font-size: 2.6rem;
    text-align: center;
    margin-top: 2rem;
  }

  .doctors_sec01 .wrap .contents .flex01 .txts .p01 {
    text-align: center;
  }

  .doctors_sec01 .wrap .contents .flex01 .txts dl {
    margin-top: 5rem;
  }

  .doctors_sec01 .wrap .contents .flex01 .txts dl dt {
    font-size: 2rem;
  }

  .doctors_sec01 .wrap .contents .flex01 .txts dl dd {
    font-size: 1.6rem;
    line-height: 1.75;
  }

  .doctors_sec01 .wrap .contents .flex02 {
    display: block;
    margin-top: 5rem;
  }

  .doctors_sec01 .wrap .contents .flex02 .group {
    width: 100%;
    padding: 0
  }

  .doctors_sec01 .wrap .contents .flex02 .group:first-of-type {
    padding-right: 0;
  }

  .doctors_sec01 .wrap .contents .flex02 .group dl {
    margin-top: 4rem !important;
  }

  .doctors_sec01 .wrap .contents .flex02 .group dl dt {
    font-size: 1.6rem;
  }

  .doctors_sec01 .wrap .contents .flex02 .group dl dd {
    line-height: 1.75;
  }

  .doctors_sec01 .wrap .contents .flex03 {
    margin-top: 5rem;
  }

  .doctors_sec01 .wrap .contents .flex03 .gallery .items {
    gap: 2rem;
  }

  .doctors_sec01 .wrap .contents .flex03 .gallery .items .item {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  doctors_sec02
--------------------------------------------------------------------------- */
.doctors_sec02 .wrap {
  padding: 6rem 0 30rem;
  background: rgba(233, 229, 211, .35);
  position: relative;
  margin-bottom: 30rem;
}

.doctors_sec02 .wrap .contents .h2 {
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
  color: #B55151;
}

.doctors_sec02 .wrap .contents .p01 {
  margin-top: 4rem;
  line-height: 2;
  font-weight: 400;
  padding: 0 3rem;
}

.doctors_sec02 .wrap .contents .Illustration {
  position: absolute;
  max-width: 95.5rem;
  right: 0;
  left: 0;
  margin: auto;
  bottom: -20rem;
}

@media screen and (max-width:768px) {
  .doctors_sec02 .wrap {
    padding: 6rem 2rem 30rem;
    margin-bottom: 30rem;
  }

  .doctors_sec02 .wrap .contents .h2 {
    font-size: 2.6rem;
  }

  .doctors_sec02 .wrap .contents .p01 {
    margin-top: 4rem;
    line-height: 1.75;
    padding: 0;
  }

  .doctors_sec02 .wrap .contents .Illustration {
    right: 0;
    left: 3rem;
    bottom: -21rem;
  }
}

/* ---------------------------------------------------------------------------
//  Immunization_fv
--------------------------------------------------------------------------- */
.Immunization_fv .Immunization_contents {
  display: flex;
  padding: 8rem 0;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.Immunization_fv .Immunization_contents .p01 {
  line-height: 2;
  padding-bottom: 8rem;
}

.Immunization_fv .Immunization_contents .flex01 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.Immunization_fv .Immunization_contents .flex01 .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  text-align: center;
  white-space: nowrap;
  width: 40rem;
}

.Immunization_fv .Immunization_contents .flex01 .ttl .pict {
  width: 7.36rem;
  position: relative;
  right: -1.3rem;
}

.Immunization_fv .Immunization_contents .flex01 .ttl .h2 {
  color: #B55151;
  font-size: 3.8rem;
  font-weight: bold;
  line-height: calc(52/38);
}

.Immunization_fv .Immunization_contents .flex01 .txts {
  width: calc(100% - 40rem);
}

.Immunization_fv .Immunization_contents .flex01 .txts .p02 {
  font-weight: 400;
  line-height: 2;
}

.Immunization_fv .Immunization_contents .flex01 .txts ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4.6rem;
  margin-top: 2rem;
}

.Immunization_fv .Immunization_contents .flex01 .txts ul li {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.Immunization_fv .Immunization_contents .flex01 .txts ul li .pict {
  height: 3.5rem;
}

.Immunization_fv .Immunization_contents .flex01 .txts ul li .txt {
  font-size: 2rem;
}

.Immunization_fv .Immunization_contents .flex01 .txts ul li .txt strong {
  color: #B55151;
  font-size: 4rem;
}

.Immunization_fv .Immunization_contents .border_box {
  color: #B55151;
  border: solid 1px;
  padding: .3rem;
  width: 100%;
  margin-top: 6rem;
}

.Immunization_fv .Immunization_contents .border_box .box {
  border: solid 1px;
  padding: 1rem;
  text-align: center;
  font-size: 2rem;
  line-height: 1.75;
}

@media screen and (max-width:768px) {
  .Immunization_fv .Immunization_contents .p01 {
    line-height: 1.75;
  }

  .Immunization_fv .Immunization_contents .flex01 {
    flex-direction: column;
  }

  .Immunization_fv .Immunization_contents .flex01 .ttl {
    gap: 1rem;
    width: 100%;
  }

  .Immunization_fv .Immunization_contents .flex01 .ttl .pict {
    width: calc(7.36rem * .8);
    right: -.9rem;
  }

  .Immunization_fv .Immunization_contents .flex01 .ttl .h2 {
    font-size: 2.6rem;
  }

  .Immunization_fv .Immunization_contents .flex01 .txts {
    width: 100%;
    margin-top: 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .Immunization_fv .Immunization_contents .flex01 .txts .p02 {
    line-height: 1.75;
    width: 100%;
  }

  .Immunization_fv .Immunization_contents .flex01 .txts ul {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-top: 3rem;
  }

  .Immunization_fv .Immunization_contents .flex01 .txts ul li .pict {
    height: 3.5rem;
    width: 3.5rem;
  }

  .Immunization_fv .Immunization_contents .flex01 .txts ul li .pict img {
    object-fit: contain;
    width: 100%;
    height: 100%;
  }

  .Immunization_fv .Immunization_contents .border_box {
    margin-top: 5rem;
  }

  .Immunization_fv .Immunization_contents .border_box .box {
    white-space: nowrap;
    font-size: 1.4rem;
  }
}

/* ---------------------------------------------------------------------------
//  page_secA
--------------------------------------------------------------------------- */
.page_secA .wrap {
  padding: 0 0 10rem;
  font-weight: 400;
  line-height: 2;
}

.page_secA .wrap .ul01 li {
  display: flex;
}

.page_secA .wrap .ul01 li::before {
  content: "・";
}

@media screen and (max-width: 768px) {
  .page_secA .wrap {
    padding: 0 2rem 10rem;
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  page_secB
--------------------------------------------------------------------------- */
.page_secB .wrap {
  padding: 4rem 0 10rem;
  line-height: 2;
}

.page_secB .wrap .dl01 {
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: solid 1px #918128;
}

.page_secB .wrap .dl01 dt {
  color: #918128;
}

.page_secB .wrap .dl01 dd {
  font-weight: 400;
}

.page_secB .wrap .dl01 dd ul li {
  display: flex;
}

@media screen and (max-width: 768px) {
  .page_secB .wrap {
    padding: 4rem 2rem 6rem;
    line-height: 1.75;
  }

  .page_secB .wrap .dl01 {
    margin-top: 2rem;
    padding-top: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  ttlB
--------------------------------------------------------------------------- */
.ttlB .h2 {
  position: relative;
  background: rgba(145, 129, 40, .2);
  text-align: center;
  padding: 1.4rem 4.5rem;
  font-size: 2.4rem;
  color: #B55151;
  font-weight: 700;
  border-radius: 1rem;
  margin-bottom: 3rem;
}

.ttlB.green .h2 {
  color: #358626;
}

@media screen and (max-width: 768px) {
  .ttlB .h2 {
    font-size: 2rem;
    padding: 1.4rem 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  Immunization_sec02
--------------------------------------------------------------------------- */
.Immunization_sec02 .wrap {
  padding-bottom: 0;
}

.Immunization_sec02 .contents {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.Immunization_sec02 .contents .img {
  width: 37.5rem;
}

@media screen and (max-width:768px) {
  .Immunization_sec02 .contents {
    flex-direction: column;
    gap: 2rem;
  }

  .Immunization_sec02 .contents .img {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  access_fv
--------------------------------------------------------------------------- */
.access_fv .access_contents {
  display: flex;
  padding: 8rem 0;
  align-items: center;
  justify-content: center;
}

.access_fv .access_contents .txts .p01 {
  font-weight: 400;
  line-height: 2;
}

/* ---------------------------------------------------------------------------
//  access_sec01
--------------------------------------------------------------------------- */
.access_sec01 .contents {
  display: flex;
  align-items: center;
}

.access_sec01 .contents .illust {
  width: 50%;
  padding: 3rem 3rem 3rem 0;
}

.access_sec01 .contents .txts {
  width: 50%;
  line-height: 2;
  font-weight: 400;
}

@media screen and (max-width:768px) {
  .access_sec01 .contents {
    flex-direction: column;
  }

  .access_sec01 .contents .illust {
    width: calc(100% + 4rem);
    padding: 1rem 0 3rem;
    position: relative;
    right: -.2rem;
  }

  .access_sec01 .contents .txts {
    width: 100%;
    line-height: 1.75;
  }
}

/* ---------------------------------------------------------------------------
//  access_sec02
--------------------------------------------------------------------------- */
.access_sec02 .wrap {
  padding: 0;
}

.access_sec02 .contents {
  display: flex;
  flex-wrap: wrap;
}

.access_sec02 .contents .txts {
  width: 50%;
  line-height: 2;
}

.access_sec02 .contents .txts .p01 {
  font-size: 2rem;
}

.access_sec02 .contents .txts dl {
  margin-top: 2rem;
  font-size: 1.8rem;
}

.access_sec02 .contents .txts dl dt {
  color: #918128;
  font-weight: 500;
}

.access_sec02 .contents .txts dl dd a {
  color: #136AF5;
}

.access_sec02 .contents .txts dl dd a:hover {
  opacity: .7;
}

.access_sec02 .contents .g_map {
  width: 50%;
}

.access_sec02 .contents .g_map iframe {
  width: 100%;
  height: 100%;
}

.access_sec02 .contents .directions {
  width: 100%;
  display: flex;
  padding: 3rem 0;
  border-top: 1px solid #918128;
  border-bottom: 1px solid #918128;
  margin-top: 3.5rem;
  gap: 5rem;
}

.access_sec02 .contents .directions .direction {
  width: calc((100% - 5rem) / 2);
  display: flex;
  gap: 2rem;
}

.access_sec02 .contents .directions .direction dt {
  width: 9.8rem;
}

.access_sec02 .contents .directions .direction dd {
  width: calc(100% - 11.8rem);
  line-height: 2;
  font-weight: 400;
}

.access_sec02 .contents .entrance {
  padding: 4rem 0 0;
  width: 100%;
}

.access_sec02 .contents .entrance dt {
  text-align: center;
  color: #918128;
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 2rem;
}

.access_sec02 .contents .entrance dd {
  display: flex;
  width: 100%;
  max-width: 58rem;
  margin: 0 auto;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem 1rem;
}

.access_sec02 .contents .entrance dd .img {
  width: calc((100% - 1rem) / 2);
  background: #f7f7f7;
  aspect-ratio: 274/235;
}

.access_sec02 .contents .entrance dd .img.full {
  width: 100%;
  aspect-ratio: 560/235;
}

@media screen and (max-width:768px) {
  .access_sec02 .wrap {
    padding: 0 2rem;
  }

  .access_sec02 .contents .txts {
    width: 100%;
    line-height: 1.75;
  }

  .access_sec02 .contents .txts .p01 {
    font-size: 1.62rem;
  }

  .access_sec02 .contents .txts dl {
    margin-top: 2rem;
    font-size: 1.4rem;
  }

  .access_sec02 .contents .g_map {
    width: 100%;
    margin-top: 3rem;
    aspect-ratio: 3/4;
  }

  .access_sec02 .contents .directions {
    flex-direction: column;
    gap: 3rem;
  }

  .access_sec02 .contents .directions .direction {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }

  .access_sec02 .contents .directions .direction dd {
    width: 100%;
    line-height: 1.75;
  }

  .access_sec02 .contents .entrance {
    padding: 4rem 0 0;
    width: 100%;
  }

  .access_sec02 .contents .entrance dd {
    gap: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  service_fv
--------------------------------------------------------------------------- */
.services_fv .services_contents {
  display: flex;
  padding: 8rem 0;
  align-items: flex-end;
}

.services_fv .services_contents .ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  text-align: center;
  white-space: nowrap;
  width: 22rem;
  padding-bottom: 1.7rem;
}

.services_fv .services_contents .ttl .pict {
  width: 6.55rem;
}

.services_fv .services_contents .ttl .h2 {
  color: #B55151;
  font-size: 2rem;
  font-weight: bold;
  line-height: calc(30/20);
}

.services_fv .services_contents .txts {
  width: calc(100% - 22rem);
}

.services_fv .services_contents .txts .p01 {
  line-height: 2;
}

.services_fv .services_contents .txts .btns {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem .8rem;
  margin-top: 2.4rem;
}

.services_fv .services_contents .txts .btns .btn {
  border-radius: .4rem;
  height: 4.3rem;
  width: calc((100% - 3.2rem) / 5);
  box-shadow: .3rem .3rem 0 rgba(0, 0, 0, .22);
  font-size: 1.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: calc(16/14);
}

.services_fv .services_contents .txts .btns .btn.red {
  border: solid 2px #B55151;
}

.services_fv .services_contents .txts .btns .btn.red:hover {
  background: #B55151;
  color: #fff;
}

.services_fv .services_contents .txts .btns .btn.green {
  border: solid 2px #368626;
}

.services_fv .services_contents .txts .btns .btn.green:hover {
  background: #368626;
  color: #fff;
}

@media screen and (max-width:768px) {
  .services_fv .services_contents {
    flex-direction: column;
    padding: 6rem 0;
    align-items: center;
  }

  .services_fv .services_contents .txts {
    width: 100%;
  }

  .services_fv .services_contents .txts .p01 {
    line-height: 1.75;
  }

  .services_fv .services_contents .txts .btns {
    gap: 1rem .5rem;
  }

  .services_fv .services_contents .txts .btns .btn {
    border-radius: .2rem;
    height: 3.8rem;
    width: calc((100% - 1rem) / 3);
    font-size: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  contentsA
--------------------------------------------------------------------------- */
.page_secA .contentsA {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 4.7rem;
}

.page_secA .contentsA .p01 {
  font-weight: 400;
  line-height: 2;
}

.page_secA .contentsA .p01 strong {
  color: #FF0000;
}

.page_secA .contentsA>.imgs {
  width: 41.4rem;
}

.page_secA .contentsA>.imgs .img+.img {
  margin-top: 2rem;
}

.page_secA .contentsA>.img {
  width: 41.4rem;
}

.page_secA .contentsA>.txt {
  width: calc(100% - 41.4rem - 4.7rem);
}

.page_secA .contentsA .flex01 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.page_secA .contentsA .flex01>div {
  width: 50%;
  padding: 3rem 3rem 0;
}

.page_secA .contentsA .ul01 li {
  display: flex;
}

.page_secA .contentsA .ul01 li::before {
  content: "・";
}

.page_secA .contentsA .ul02 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2.4rem;
}

.page_secA .contentsA .ul02 li {
  display: flex;
}

.page_secA .contentsA .ul02 li span {
  flex-shrink: 0;
}

.page_secA .contentsA .btn {
  margin-top: auto;
  padding: 1rem 7rem 1rem 4rem;
  border: solid 1px #0F0404;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.8rem;
  position: relative;
  margin-left: auto;
  margin-top: 3rem;
}

.page_secA .contentsA .btn:hover {
  background: #0F0404;
  color: #fff;
}

.page_secA .contentsA .btn::before,
.page_secA .contentsA .btn::after {
  background-image: url();
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  width: .9rem;
  height: 1.5rem;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 3rem;
  transition: .3s;
}

.page_secA .contentsA .btn::before {
  background-image: url(../img/common/arrow02.svg);
}

.page_secA .contentsA .btn::after {
  background-image: url(../img/common/arrow02_w.svg);
  opacity: 0;
}

.page_secA .contentsA .btn:hover:after {
  opacity: 1;
}

.page_secA .contentsA .t_link {
  color: #7ED2FF;
}

.page_secA .contentsA .t_link:hover {
  opacity: .7;
}

@media screen and (max-width:768px) {
  .page_secA .contentsA {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
  }

  .page_secA .contentsA .p01 {
    line-height: 1.75;
  }

  .page_secA .contentsA>.imgs {
    width: 100%;
  }

  .page_secA .contentsA>.imgs .img+.img {
    margin-top: 1rem;
  }

  .page_secA .contentsA>.img {
    width: 100%;
  }

  .page_secA .contentsA>.txt {
    width: 100%;
  }

  .page_secA .contentsA .flex01 {
    width: 100%;
  }

  .page_secA .contentsA .flex01>div {
    width: 100%;
    padding: 0;
  }

  .page_secA .contentsA .ul02 {
    gap: 0 2.8rem;
  }
}

/* ---------------------------------------------------------------------------
//  services_sec01
--------------------------------------------------------------------------- */
.services_sec01 .contents .border {
  border-radius: 1rem;
  border: solid 1px #918128;
  padding: 3rem;
}

.services_sec01 .contents .border .h3 {
  color: #918128;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: calc(28/18);
  margin-bottom: .5rem;
}

.services_sec01 .contents .border .flex {
  display: flex;
  align-items: flex-end;
  margin-top: 2rem;
  margin-bottom: 4rem;
}

.services_sec01 .contents .border .flex .left {
  width: 50%;
}

.services_sec01 .contents .border .flex ul {
  margin-bottom: 3rem;
}

.services_sec01 .contents .border .flex ul li {
  display: flex;
  margin-bottom: .5rem;
}

.services_sec01 .contents .border .flex ul li:nth-of-type(1) span {
  color: #45718E;
}

.services_sec01 .contents .border .flex ul li:nth-of-type(2) span {
  color: #4E7A61;
}

.services_sec01 .contents .border .flex ul li:nth-of-type(3) span {
  color: #B28241;
}

.services_sec01 .contents .border .flex ul li b {
  font-weight: 400;
}

.services_sec01 .contents strong {
  font-weight: 700;
  /* color: #0F0404 !important; */
}

.services_sec01 .contents .border .flex .right {
  width: 50%;
  padding-left: 4.5rem;
}

@media screen and (max-width:768px) {
  .services_sec01 .contents .border {
    border-radius: .5rem;
    padding: 2rem 1rem;
  }

  .services_sec01 .contents .border .h3 {
    font-size: 1.6rem;
  }

  .services_sec01 .contents .border .flex {
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 3rem;
  }

  .services_sec01 .contents .border .flex .left {
    width: 100%;
  }

  .services_sec01 .contents .border .flex .right {
    width: 100%;
    padding-left: 0;
  }
}

/* ---------------------------------------------------------------------------
//  services_sec06
--------------------------------------------------------------------------- */
.services_sec06 .contentsA {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem 4.7rem;
}

.services_sec06 .contentsA>.txt {
  width: 100%;
}

.contentsA .dl01 {
  width: 100%;
}

.contentsA .dl01 dt {
  border-bottom: solid 1px;
  color: #918128;
  padding-bottom: .8rem;
  margin: .8rem;
}

.contentsA .dl01 dd {
  display: flex;
  gap: 3rem;
}

.contentsA .dl01 dd .ul01 {
  width: calc((100% - 3rem) / 2);
}

@media screen and (max-width:768px) {
  .services_sec06 .contentsA {
    gap: 2rem;
  }

  .services_sec06 .contentsA>.txt {
    width: 100%;
  }

  .contentsA .dl01 dl {
    width: 100%;
  }

  .contentsA .dl01 dt {
    border-bottom: solid 1px;
    color: #918128;
    padding-bottom: .8rem;
    margin: .8rem;
  }

  .contentsA .dl01 dd {
    display: block;
  }

  .contentsA .dl01 dd .ul01 {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  services_sec08
--------------------------------------------------------------------------- */
.services_sec08 {
  margin-bottom: 10rem;
}

.services_sec08 .wrap {
  background: rgba(233, 229, 211, .35);
  padding: 10rem 0;
}

.services_sec08 .contents {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}

.services_sec08 .contents .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .5rem;
}

.services_sec08 .contents .ttl .pict {
  width: 6rem;
}

.services_sec08 .contents .ttl .h2 {
  font-size: 3.8rem;
  font-weight: bold;
  color: #368626;
}

.services_sec08 .contents .dl01 {
  line-height: 2;
}

.services_sec08 .contents .dl01 dt {
  color: #918128;
  padding-bottom: .8rem;
  margin-bottom: .8rem;
  border-bottom: solid 1px;
}

.services_sec08 .contents .dl01 dd {
  display: flex;
  /* gap: 16rem; */
  justify-content: space-between;
  font-weight: 400;
}

.services_sec08 .contents .dl01 dd ul li {
  display: flex;
}

.services_sec08 .contents .dl01 dd ul li::before {
  content: "●";
  color: #918128;
}

.services_sec08 .contents>.dl01 {
  width: 100%;
}

.services_sec08 .contents .dl01 dd .img {
  width: 31.2rem;
  /* margin-left: auto; */
  margin-top: 1rem;
}

.services_sec08 .contents .flex01 {
  display: flex;
  gap: 2rem;
  width: 100%;
}

.services_sec08 .contents .flex01 .dl01 {
  width: 28.6rem;
}

.services_sec08 .contents .flex01 .dl02 {
  width: calc(100% - 28.6rem - 2rem);
  background: #E9E5D3;
  padding: 2rem 4rem;
}

.services_sec08 .contents .flex01 .dl02 dt {
  font-size: 2.4rem;
  font-weight: bold;
  color: #368626;
  text-align: center;
  margin-bottom: 1rem;
}

.services_sec08 .contents .flex01 .dl02 dd {
  display: flex;
  justify-content: space-between;
  font-weight: 400;
  line-height: 2;
}

.services_sec08 .contents .flex01 .dl02 dd ul li {
  display: flex;
}

.services_sec08 .contents .flex01 .dl02 dd ul li::before {
  content: "・";
}

@media screen and (max-width:768px) {
  .services_sec08 {
    margin-bottom: 6rem;
  }

  .services_sec08 .wrap {
    padding: 6rem 2rem;
  }

  .services_sec08 .contents {
    gap: 3rem;
  }

  .services_sec08 .contents .ttl .pict {
    width: 4.8rem;
  }

  .services_sec08 .contents .ttl .h2 {
    font-size: 2.6rem;
  }

  .services_sec08 .contents .dl01 {
    line-height: 1.75;
  }

  .services_sec08 .contents .dl01 dd {
    gap: 0;
    flex-wrap: wrap;
  }

  .services_sec08 .contents .dl01 dd ul {
    width: 100%;
  }

  .services_sec08 .contents .dl01 dd .img {
    width: 100%;
    margin-top: 2rem;
  }

  .services_sec08 .contents .flex01 {
    flex-wrap: wrap;
  }

  .services_sec08 .contents .flex01 .dl01 {
    width: 100%;
  }

  .services_sec08 .contents .flex01 .dl02 {
    width: 100%;
    padding: 2rem 1rem;
  }

  .services_sec08 .contents .flex01 .dl02 dt {
    font-size: 2rem;
  }

  .services_sec08 .contents .flex01 .dl02 dd {
    display: flex;
    flex-wrap: wrap;
    line-height: 1.75;
  }

  .services_sec08 .contents .flex01 .dl02 dd ul li {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  services_sec09
--------------------------------------------------------------------------- */
.services_sec09 .contentsA .txt {
  width: 100%;
}

.services_sec09 .contentsA .flex01 {
  display: flex;
  gap: 5.6rem;
  flex-wrap: wrap;
  margin-top: 3rem;
}

.services_sec09 .contentsA .flex01 .border {
  width: calc((100% - 5.6rem) / 2);
  padding: 3rem 2rem;
  border: solid 1px #918128;
  border-radius: 1rem;
}

.services_sec09 .contentsA .flex01 .border dt {
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
  color: #358626;
  margin-bottom: 1rem;
}

@media screen and (max-width:768px) {
  .services_sec09 .contentsA .flex01 {
    gap: 3rem;
  }

  .services_sec09 .contentsA .flex01 .border {
    width: 100%;
    padding: 3rem 1rem;
    border-radius: .5rem;
  }

  .services_sec09 .contentsA .flex01 .border dt {
    font-size: 2rem;
  }
}

/* ---------------------------------------------------------------------------
//  news_archive01
--------------------------------------------------------------------------- */
.news_archive01 .wrap {
  max-width: 75rem;
  margin: 0 auto;
  padding: 6rem 0 10rem;
}

.news_archive01 .wrap .links .link {
  border-bottom: solid 1px rgba(15, 4, 4, .5);
  display: flex;
  padding: 2.5rem 0;
  font-weight: 400;
}

.news_archive01 .wrap .links .link:first-of-type {
  border-top: solid 1px rgba(15, 4, 4, .5);
}

.news_archive01 .wrap .links .link time {
  width: 13.6rem;
}

.news_archive01 .wrap .links .link:hover {
  opacity: .7;
}

.news_archive01 .wrap .links .link .ttl {
  width: calc(100% - 13.6rem);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  padding-right: 4.5rem;
  position: relative;
}

.news_archive01 .wrap .links .link .ttl::after {
  background-image: url(../img/common/arrow03.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  width: 1.8rem;
  height: .5rem;
  position: absolute;
  right: 1.3rem;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: .3s;
}

.news_archive01 .wrap .links .link:hover .ttl::after {
  transform: translateX(1.3rem);
}

@media screen and (max-width:768px) {
  .news_archive01 .wrap {
    padding: 4rem 2rem 0;
  }

  .news_archive01 .wrap .links .link {
    padding: 2rem 0;
    flex-direction: column;
    gap: 1rem;
  }

  .news_archive01 .wrap .links .link time {
    width: 100%;
    font-size: 1.2rem;
  }

  .news_archive01 .wrap .links .link:hover {
    opacity: .7;
  }

  .news_archive01 .wrap .links .link .ttl {
    width: 100%;
  }
}

/* ---------------------------------------------------------------------------
//  news_single01
--------------------------------------------------------------------------- */
.news_single01 .wrap {
  max-width: 75rem;
  margin: 0 auto;
  padding: 6rem 0 10rem;
}

.news_single01 .wrap .head {
  margin-bottom: 4rem;
}

.news_single01 .wrap .head .ttl {
  font-size: 3.2rem;
  font-weight: bold;
  color: #918128;
}

.news_single01 .wrap .head .date {
  font-size: 1.4rem;
  font-weight: 400;
  color: #656565;
  margin-top: 1rem;
}

.news_single01 .wrap .wp_edit p {
  margin-top: 3rem;
  line-height: 2;
}

@media screen and (max-width:768px) {
  .news_single01 .wrap {
    padding: 4rem 2rem 0;
  }

  .news_single01 .wrap .head {
    margin-bottom: 4rem;
  }

  .news_single01 .wrap .head .ttl {
    font-size: 2rem;
  }

  .news_single01 .wrap .head .date {
    font-size: 1.2rem;
  }

  .news_single01 .wrap .wp_edit p {
    margin-top: 2rem;
    line-height: 2;
  }
}

/* ---------------------------------------------------------------------------
//  pagination
--------------------------------------------------------------------------- */
.pagination {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 6rem;
}

.pagination .prev,
.pagination .next {
  align-items: center;
  justify-content: center;
  display: flex;
  font-size: 0;
  height: 5rem;
  margin: 0 2.3rem;
  position: relative;
  width: 5rem;
  background-color: rgba(145, 129, 40, .55);
  border-radius: 100%;
}

.pagination .prev::before,
.pagination .next::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 1.6rem;
  width: 1.6rem;
}

.pagination .prev::before {
  background-image: url(../img/common/prev01.svg);
}

.pagination .next::before {
  background-image: url(../img/common/next01.svg);
}

.pagination .archive {
  display: flex;
  justify-content: center;
}

.pagination .archive a {
  padding: 1.2rem;
  font-size: 1.8rem;
  font-weight: 400;
}

.pagination .archive a:hover {
  opacity: .7;
}

.pagination .archive a.active {
  color: #918128;
  pointer-events: none;
}

.pagination .archive a.dotted {
  pointer-events: none;
}

.pagination .btn {
  background: #fff;
  border: solid 1px #918128;
  border-radius: 10rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 22.4rem;
  gap: 1rem;
  position: relative;
  padding-right: 2rem;
  font-weight: 400;
}

.pagination .btn:hover {
  background: rgba(145, 129, 40, .55);
  color: #fff;
}

.pagination .btn::before,
.pagination .btn::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  width: 1.6rem;
  height: 1.6rem;
  transition: .3s;
  position: absolute;
  right: 2.6rem;
  top: 0;
  bottom: 0;
  margin: auto;
}

.pagination .btn::before {
  background-image: url(../img/common/arrow04.svg);
}

.pagination .btn::after {
  background-image: url(../img/common/next01.svg);
  opacity: 0;
}

.pagination .btn:hover:after {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .pagination {
    margin-top: 4rem;
  }

  .pagination .prev,
  .pagination .next {
    margin: 0;
    width: 4rem;
    height: 4rem;
  }

  .pagination .prev {
    margin-right: auto;
  }

  .pagination .next {
    margin-left: auto;
  }

  .pagination .archive {
    gap: .5rem;
  }

  .pagination .archive a {
    padding: 1rem;
  }
}

/* ---------------------------------------------------------------------------
//  contact_fv
--------------------------------------------------------------------------- */
.contact_fv .contact_contents {
  padding: 8rem 0;
}

.contact_fv .contact_contents .h2 {
  color: #B55151;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}

.contact_fv .contact_contents .h3 {
  margin-top: 8rem;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  color: #918128;
}

.contact_fv .contact_contents .flex01 {
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
}

.contact_fv .contact_contents .flex01 .tel {
  width: calc(50% - 3rem);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  background: rgba(145, 129, 40, .4);
  color: #fff;
  font-size: 3.2rem;
  font-weight: bold;
}

.contact_fv .contact_contents .flex01 .tel::before {
  background-image: url(../img/common/footer01_pict02.svg);
  width: 4.6rem;
  height: 8.1rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
}

.contact_fv .contact_contents .flex01 .txts {
  width: 50%;
  line-height: 2;
}

.contact_fv .contact_contents .flex01 .txts dl {
  display: flex;
}

@media screen and (max-width:768px) {
  .contact_fv .contact_contents {
    padding: 6rem 0;
  }

  .contact_fv .contact_contents .h2 {
    font-size: 2rem;
  }

  .contact_fv .contact_contents .h3 {
    margin-top: 6rem;
    font-size: 1.8rem;
  }

  .contact_fv .contact_contents .flex01 {
    display: block;
  }

  .contact_fv .contact_contents .flex01 .tel {
    width: 100%;
    flex-direction: column;
    gap: 1rem;
    font-size: 2.6rem;
    padding: 2rem;
  }

  .contact_fv .contact_contents .flex01 .tel::before {
    height: 6.4rem;
  }

  .contact_fv .contact_contents .flex01 .txts {
    width: 100%;
    line-height: 1.75;
    margin-top: 1rem;
  }

  .contact_fv .contact_contents .flex01 .txts dl {
    white-space: nowrap;
    margin: 1rem 0;
  }
}

/* ---------------------------------------------------------------------------
//  contact_sec01
--------------------------------------------------------------------------- */
.contact_sec01 .wrap {
  background: #F7F6F0;
}

.contact_sec01 .wrap .contents {
  padding: 8rem 0;
}

.contact_sec01 .wrap .contents .ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-bottom: 5rem;
}

.contact_sec01 .wrap .contents .ttl .h2 {
  color: #918128;
  font-weight: bold;
  font-size: 2.4rem;
}

.contact_sec01 .wrap .contents .ttl .pict {
  width: 5.78rem;
}

.contact_sec01 .wrap .contents .sup {
  line-height: 1.75;
  display: flex;
  margin-bottom: 3rem;
}

.contact_sec01 .wrap .contents .red {
  color: #FF0000;
}

.contact_sec01 .re {
  padding: 4rem 0 10rem;
  display: flex;
  justify-content: center;
  font-weight: 400;
  line-height: 1.75;
}

@media screen and (max-width:768px) {
  .contact_sec01 .wrap .contents {
    padding: 6rem 2rem;
  }

  .contact_sec01 .wrap .contents .ttl {
    gap: 1rem;
    margin-bottom: 4rem;
  }

  .contact_sec01 .wrap .contents .ttl .h2 {
    font-size: 2.6rem;
  }

  .contact_sec01 .wrap .contents .ttl .pict {
    width: 5rem;
  }

  .contact_sec01 .re {
    padding: 4rem 2rem 6rem;
  }
}

/* ---------------------------------------------------------------------------
//  form_area
--------------------------------------------------------------------------- */
.form_area dl:not(.agree) {
  display: flex;
  align-items: flex-start;
}

.form_area dl:not(.agree)+dl:not(.agree) {
  margin-top: 4rem;
}

.form_area dl:not(.agree) dt {
  width: 22rem;
  padding: 1.8rem 0;
  color: #918128;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.form_area dl:not(.agree) dd {
  width: calc(100% - 22rem);
}

.form_area dl:not(.agree) dd input {
  background: #fff;
  width: 100%;
  padding: 2rem;
}

.form_area dl:not(.agree) dd textarea {
  background: #fff;
  width: 100%;
  padding: 2rem;
  height: 29rem;
  resize: none;
}

::placeholder {
  color: #ADADAD;
  font-weight: 400;
}

.form_area .bottom {
  border-top: 1px solid rgba(112, 112, 112, .5);
  margin-top: 6rem;
  padding-top: 4rem;
  text-align: center;
}

.form_area .bottom .p01 {
  line-height: 1.75;
  font-weight: 400;
  margin-bottom: 4rem;
}

.form_area .bottom .p01 a {
  color: #1229D9;
  text-decoration: underline;
}

.form_area .bottom .p01 a:hover {
  opacity: .7;
}

.form_area .btn {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
  position: relative;
  background: #918128;
  width: 30rem;
  height: 6.7rem;
  border: solid 1px #918128;
  color: #fff;
  margin: 4rem auto 0;
  border-radius: 10rem;
  font-size: 2.3rem;
  transition: .3s;
}

.form_area .btn:hover {
  background: #fff;
  color: #918128;
}

.form_area .btn::before,
.form_area .btn::after {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  width: 2.1rem;
  height: 2.1rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2.5rem;
  margin: auto;
  transition: .3s;
}

.form_area .btn::before {
  background-image: url(../img/common/arrow04.svg);
}

.form_area .btn::after {
  background-image: url(../img/common/next01.svg);
}

.form_area .btn:hover:after {
  opacity: 0;
}

.form_area .btn input {
  width: 100%;
  height: 100%;
}

.design input {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px !important;
}

.design input+span {
  cursor: pointer;
  display: inline-block;
  font-weight: 500;
  padding: 0 0 0 3rem;
  position: relative;
  font-size: 1.3rem;
  font-weight: 400;
}

.agree.design input+span {
  padding-left: 5.3rem;
}

.design input:checked+span::after {
  opacity: 1 !important;
}

.design input[type=checkbox]+span:before {
  background: #fff;
  border: 1px solid #0F0404;
  border-radius: .2rem;
  content: '';
  display: block;
  height: 2.6rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.6rem;
}

.design input[type=checkbox]+span::after {
  border-bottom: .3rem solid #918128;
  border-right: .3rem solid #918128;
  content: '';
  display: block;
  height: 2.4rem;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(35deg) skewY(16deg) translateY(-50%);
  transform-origin: center right;
  width: 1rem;
}

.design input[type=radio]+span::before {
  background: #f3f3f3;
  border: 1px solid #cbd0d1;
  border-radius: 50%;
  content: '';
  display: block;
  height: 2.6rem;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2.6rem;
}

.design input[type=radio]+span::after {
  background-color: #0f5896;
  border-radius: 50%;
  content: '';
  display: block;
  height: 1.6rem;
  left: .5rem;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1.6rem;
}

@media screen and (max-width:768px) {
  .form_area dl:not(.agree) {
    display: block;
  }

  .form_area dl:not(.agree)+dl:not(.agree) {
    margin-top: 2rem;
  }

  .form_area dl:not(.agree) dt {
    width: 100%;
    padding: 1.6rem 0;
    font-size: 1.6rem;
  }

  .form_area dl:not(.agree) dd {
    width: 100%;
  }

  .form_area dl:not(.agree) dd input {
    padding: 1.6rem 1rem;
  }

  .form_area dl:not(.agree) dd textarea {
    padding: 1.6rem 1rem;
    height: 20rem;
  }

  .form_area .bottom {
    margin-top: 4rem;
    padding-top: 2rem;
  }

  .form_area .bottom .p01 {
    margin-bottom: 3rem;
  }

  .form_area .btn {
    width: 100%;
    height: 6rem;
  }
}

/* ---------------------------------------------------------------------------
//  page_thanks
--------------------------------------------------------------------------- */
.page_thanks .wrap {
  padding: 10rem 0;
}

.page_thanks .wrap .h1 {
  text-align: center;
  font-size: 4rem;
  font-weight: bold;
  color: #918128;
}

.page_thanks .wrap .txts {
  margin-top: 2rem;
}

.page_thanks .wrap .txts .p01 {
  font-size: 2rem;
  line-height: 2;
  text-align: center;
}

.page_thanks .wrap .btn {
  border: solid 1px #B55151;
  border-radius: 100%;
  width: 11.2rem;
  height: 11.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  background: #B55151;
  margin: 3rem auto 0;
}

.page_thanks .wrap .btn:hover {
  color: #B55151;
  background: #fff;
}

@media screen and (max-width:768px) {
  .page_thanks .wrap {
    padding: 2rem 2rem 6rem;
    gap: 2rem;
  }

  .page_thanks .wrap .h1 {
    height: auto;
    padding: 1rem;
    width: 100%;
    border-radius: 0;
    font-size: 2.6rem;
  }

  .page_thanks .wrap .txts {
    margin-top: 0;
  }

  .page_thanks .wrap .txts .p01 {
    font-size: 1.4rem;
    line-height: 1.75;
  }

  .page_thanks .wrap .btn {
    width: 8rem;
    height: 8rem;
    margin: 2rem auto 0;
    font-size: 1.2rem;
  }
}

/* ---------------------------------------------------------------------------
//  page_404
--------------------------------------------------------------------------- */
.page_404 .wrap {
  padding: 10rem 0;
  display: flex;
  gap: 6rem;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.page_404 .wrap .h1 {
  height: 9rem;
  width: 48.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 1px;
  border-radius: 1rem;
  font-size: 4.8rem;
  font-weight: bold;
  color: #918128;
}

.page_404 .wrap .txts {
  width: calc(100% - 48.3rem - 6rem);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.page_404 .wrap .txts .p01 {
  font-size: 2rem;
  line-height: 2;
}

.page_404 .wrap .btn {
  border: solid 1px #B55151;
  border-radius: 100%;
  width: 11.2rem;
  height: 11.2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
  background: #B55151;
  margin: 0 auto;
}

.page_404 .wrap .btn:hover {
  color: #B55151;
  background: #fff;
}

@media screen and (max-width:768px) {
  .page_404 .wrap {
    padding: 2rem 2rem 6rem;
    gap: 2rem;
  }

  .page_404 .wrap .h1 {
    height: auto;
    padding: 1rem;
    width: 100%;
    border-radius: 0;
    font-size: 2.6rem;
  }

  .page_404 .wrap .txts {
    width: 100%;
  }

  .page_404 .wrap .txts .p01 {
    font-size: 1.4rem;
    line-height: 1.75;
  }

  .page_404 .wrap .btn {
    width: 8rem;
    height: 8rem;
    margin: 2rem auto 0;
    font-size: 1.2rem;
  }
}

/* ---------------------------------------------------------------------------
//  PC/SP
--------------------------------------------------------------------------- */
.forSP {
  display: none;
}

@media screen and (max-width:768px) {
  .forSP {
    display: block;
  }

  .forPC {
    display: none;
  }
}

/* ---------------------------------------------------------------------------
//  その他
--------------------------------------------------------------------------- */
.grecaptcha-badge {
  bottom: 0 !important;
  visibility: hidden;
}

@media screen and (max-width:1320px) {
  .grecaptcha-badge {
    bottom: 16rem !important;
  }
}

@media screen and (max-width:768px) {
  .grecaptcha-badge {
    bottom: 13.5rem !important;
  }
}