@-webkit-keyframes floatUpDown {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes floatUpDown {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.home_page .key {
  --height: 56vw;
  --min-height: 550px;
  --max-height: 970px;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  font-size: 0.625em;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../images/key-mv.png);
}
.home_page .key::before {
  position: absolute;
  content: "";
  bottom: -118px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/key-shape-bg.png);
}
.home_page .key .inner {
  position: relative;
  padding: 0;
  width: 100%;
}
.home_page .key .inner::before {
  z-index: 1;
  position: absolute;
  content: "";
  font-size: 10px;
  left: -100px;
  bottom: 191px;
  background-image: url(../images/key-shape-icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 17em;
  height: 18.9em;
  -webkit-animation: floatUpDown 3s ease-in-out infinite;
          animation: floatUpDown 3s ease-in-out infinite;
}
.home_page .key .key_text {
  position: relative;
  overflow: hidden;
}
.home_page .key .key_text .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: var(--height);
  min-height: var(--min-height);
  max-height: var(--max-height);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: 114px;
}
.home_page .key .key_text .item .inner::before {
  display: none;
}
.home_page .key .catch {
  margin: auto;
  font-size: 10px;
  text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.5);
}
.home_page .key h2,
.home_page .key p {
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
}
.home_page .key h2 {
  margin-bottom: 0.3571428em;
  font-size: 4.2em;
  line-height: 1.5714285714;
}
.home_page .key p {
  font-size: 2.6em;
  line-height: 2;
}
.home_page .topic_path {
  display: none;
}
.home_page .idx-title {
  text-align: center;
  font-size: 10px;
  position: relative;
}
.home_page .idx-title::before {
  display: block;
  content: "";
  margin-left: auto;
  margin-right: auto;
  width: 48px;
  height: 41px;
  margin-bottom: 3px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/h3-shape.svg);
}
.home_page .idx-title h3,
.home_page .idx-title p {
  letter-spacing: 0.1em;
  font-weight: bold;
}
.home_page .idx-title h3 {
  color: var(--clr2);
  font-size: 3.6em;
}
.home_page .idx-title .sm {
  font-size: 14px;
  color: var(--main-color);
  line-height: 1.6;
  padding-top: 8px;
}
.home_page .idx-title.white::before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.home_page .idx-title.white h3,
.home_page .idx-title.white p {
  color: #fff;
}

@media screen and (min-width: 1921px) {
  .home_page .key {
    --max-height: 1300px;
    --height: 50vw;
  }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) and (orientation: landscape) {
  .home_page .key {
    font-size: min(0.625em, 0.75vw);
    --max-height: calc(100vh - var(--wrapper));
  }
}
@media (769px <= width <= 1440px) {
  .home_page .key .inner::before {
    left: 20px;
    bottom: 9em;
  }
}
@media (769px <= width <= 1366px) {
  .home_page .key {
    background-position: bottom -10% center;
  }
  .home_page .key .catch {
    font-size: min(8px, 0.95vw);
  }
}
@media (769px <= width <= 1280px) {
  .home_page .key .inner::before {
    font-size: 8px;
  }
}
@media only screen and (max-width: 1170px) and (min-width: 769px) {
  .home_page .key {
    font-size: min(0.8vw, 1vh);
  }
  .home_page .key::before {
    background-size: auto;
  }
}
section {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.idx-news {
  padding: 19px 0px;
  position: relative;
}
.idx-news .idx-title {
  border-bottom: 2px solid var(--main-color);
  padding-bottom: 15px;
  padding-left: 14px;
}
.idx-news .idx-title h3 {
  font-size: 3em;
}
.idx-news .idx-title .black {
  color: var(--clr1);
}
.idx-news .idx-title .cl2 {
  color: var(--main-color);
}
.idx-news .box {
  padding-top: 73px;
  padding-bottom: 58px;
}
.idx-news .inner_big {
  max-width: 1280px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/idx-news-bg.jpg);
  -webkit-box-shadow: 0px 5px 40px 0px rgba(0, 0, 0, 0.08);
          box-shadow: 0px 5px 40px 0px rgba(0, 0, 0, 0.08);
  border-radius: 40px;
  position: relative;
}
.idx-news .inner_big::before {
  position: absolute;
  content: "";
  top: 9px;
  left: 9px;
  width: 100%;
  height: 100%;
  border: 1px solid var(--main-color);
  border-radius: 40px;
}
.idx-news .content {
  -webkit-box-align: inherit;
      -ms-flex-align: inherit;
          align-items: inherit;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.idx-news .content li {
  border-bottom: 1px solid #e2e5cc;
  width: auto;
  margin-bottom: 0;
}
.idx-news .content li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  padding: 14.5px 0px;
  padding-left: 14px;
  padding-right: 30px;
  --w: 7.9em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  letter-spacing: 0.1em;
  white-space: nowrap;
  max-width: 100%;
  color: var(--clr1);
  position: relative;
}
.idx-news .content li a::after {
  position: absolute;
  content: "";
  top: calc(50% - 5px);
  right: 18px;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='12px' height='20px'%3E%3Cpath fill-rule='evenodd' fill='rgb(176, 200, 23)' d='M12.012,10.000 L10.008,12.002 L10.008,12.002 L1.993,20.012 L-0.011,18.010 L8.004,10.000 L-0.011,1.990 L1.993,-0.012 L10.008,7.998 L10.008,7.998 L12.012,10.000 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='12px' height='20px'%3E%3Cpath fill-rule='evenodd' fill='rgb(176, 200, 23)' d='M12.012,10.000 L10.008,12.002 L10.008,12.002 L1.993,20.012 L-0.011,18.010 L8.004,10.000 L-0.011,1.990 L1.993,-0.012 L10.008,7.998 L10.008,7.998 L12.012,10.000 Z'/%3E%3C/svg%3E");
  width: 6px;
  height: 10px;
  background-color: var(--main-color);
}
.idx-news .content li a span {
  display: inline-block;
  color: var(--clr1);
  letter-spacing: 0.1em;
}
.idx-news .content li a:hover {
  opacity: 1;
}
@media only screen and (min-width: 769px) {
  .idx-news .content li a:hover {
    background-color: #e7f1f9;
  }
}
.idx-news .content li a .date {
  width: var(--w);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-weight: 400;
  letter-spacing: 1px;
}
.idx-news .content li a .title {
  max-width: calc(100% - var(--w));
  position: relative;
  padding-right: 1.5em;
  text-overflow: ellipsis;
  overflow: hidden;
  font-weight: 600;
}
.idx-news .news-btn {
  font-size: 16px;
}
.idx-news .news-btn a {
  text-align: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  color: var(--main-color);
  font-size: 1em;
}
.idx-news .news-btn a::after {
  display: block;
  content: "";
  width: 25px;
  height: 25px;
  margin-left: 18px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/news-btn-arr.svg);
}
@media only screen and (min-width: 769px) {
  .idx-news .news-btn {
    position: absolute;
    top: 92px;
    right: 15px;
  }
  .idx-news .idx-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 21px;
  }
  .idx-news .idx-title::before {
    margin: 0;
    margin-right: 15px;
  }
  .idx-news .idx-title h3 {
    text-align: left;
  }
}
@media (992px <= width <= 1366px) {
  .idx-news .inner_big {
    width: calc(100% - 150px);
  }
}
@media (769px <= width <= 1280px) {
  .idx-news .idx-title {
    font-size: 8px;
  }
}
@media (769px <= width <= 1024px) {
  .idx-news .inner_big {
    width: calc(100% - var(--wrapper));
    left: -5px;
  }
  .idx-news .news-btn {
    top: 55px;
  }
  .idx-news .box {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.idx01 {
  position: relative;
  padding-top: 154px;
  padding-bottom: 427px;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
.idx01::before {
  position: absolute;
  content: "";
  top: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top center;
  background-image: url(../images/idx01-bg.png);
}
.idx01 .inner_big {
  width: calc(100% - 40px);
  max-width: 1280px;
  background-color: #fff;
  position: relative;
  padding-right: 7.5%;
  padding-top: 111px;
  padding-bottom: 107px;
  border-radius: 40px;
}
.idx01 .inner_big::before {
  position: absolute;
  content: "";
  bottom: -92px;
  right: -53px;
  font-size: 10px;
  width: 22.7em;
  height: 19.9em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx01-shape.png);
  -webkit-animation: floatUpDown 3s ease-in-out infinite;
          animation: floatUpDown 3s ease-in-out infinite;
}
.idx01-content {
  max-width: 667px;
  width: 60%;
  margin-right: 0;
  margin-left: auto;
}
.idx01-img {
  font-size: 10px;
  width: 75em;
  height: 87.7em;
  top: -50px;
  left: calc(50% - 91em);
}
.idx01-img .img {
  position: absolute;
  border-radius: 50%;
}
.idx01-img .img::before {
  position: absolute;
  content: "";
}
.idx01-img .img01 {
  top: 0;
  left: 0;
  width: 60em;
  height: 60em;
  z-index: 1;
}
.idx01-img .img01::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx01-text.png);
  width: 75em;
  height: 74.8em;
  left: calc(50% - 37.5em);
  top: -7.4em;
  z-index: -1;
  -webkit-animation: spin 35s linear infinite;
          animation: spin 35s linear infinite;
}
.idx01-img .img02 {
  bottom: 7.4em;
  right: 10.7em;
  width: 38.2em;
  height: 38.2em;
  z-index: 1;
}
.idx01-img .img02::before {
  inset: 0;
  border: 4px solid #b0c817;
  border-radius: 50%;
}
.idx01-img img {
  border-radius: 50%;
}
@media only screen and (min-width: 769px) {
  .idx01 .idx-title {
    margin-bottom: 30px;
  }
  .idx01-img {
    position: absolute;
  }
}
@media only screen and (min-width: 1281px) {
  .idx01 .idx-title {
    left: 7px;
  }
}
@media (769px <= width <= 1560px) {
  .idx01 {
    padding-bottom: 350px;
  }
  .idx01 .inner_big {
    padding-top: 40px;
    padding-bottom: 60px;
    padding-right: 4vw;
    margin-right: 20px;
    margin-left: auto;
    width: calc(100% - 25.5vw);
  }
  .idx01-content {
    max-width: 100%;
    width: 70%;
  }
  .idx01-img {
    top: -70px;
    font-size: min(8.5px, 0.55vw);
    left: calc(50% - 57vw);
  }
}
@media (769px <= width <= 1440px) {
  .idx01 {
    padding-bottom: 280px;
  }
}
@media (769px <= width <= 1366px) {
  .idx01 {
    padding-bottom: 250px;
  }
  .idx01 .inner_big::before {
    right: 0;
    font-size: 8px;
  }
}
@media (769px <= width <= 1280px) {
  .idx01 .inner_big {
    padding-bottom: 60px;
  }
  .idx01 .inner_big::before {
    right: 0;
    font-size: 8px;
  }
  .idx01-img {
    top: -40px;
  }
}
@media (769px <= width <= 1024px) {
  .idx01 {
    padding-bottom: 200px;
  }
  .idx01 .idx-title {
    margin-bottom: 20px;
  }
  .idx01-img {
    left: calc(50% - 56vw);
  }
}
@media only screen and (max-width: 991px) {
  .idx01 {
    padding-top: 80px;
  }
  .idx01 .inner_big {
    width: 100%;
    width: calc(100% - 40px);
  }
  .idx01-img {
    position: relative;
    width: 68em;
    height: 80em;
    margin-top: 50px;
    font-size: min(5px, 1vw);
    left: calc(50% + 3em);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: 0;
  }
  .idx01-img .img02 {
    bottom: 0;
  }
  .idx01-content {
    width: 100%;
  }
  .idx01 .box-txt {
    margin-top: 20px;
  }
}

.idx02 {
  position: relative;
  padding-top: 61px;
  padding-bottom: 142px;
}
.idx02::before {
  position: absolute;
  content: "";
  top: -142px;
  left: 0;
  width: 100%;
  height: calc(100% + 142px);
  -webkit-mask-position: top center;
          mask-position: top center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='1920px' height='1481px'%3E%3Cpath fill-rule='evenodd' fill='rgb(176, 200, 23)' d='M0.000,0.000 C0.000,0.000 479.334,141.999 959.000,141.999 C1439.333,141.999 1919.1000,0.000 1919.1000,0.000 L1919.1000,1480.1000 L0.000,1480.1000 L0.000,0.000 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='1920px' height='1481px'%3E%3Cpath fill-rule='evenodd' fill='rgb(176, 200, 23)' d='M0.000,0.000 C0.000,0.000 479.334,141.999 959.000,141.999 C1439.333,141.999 1919.1000,0.000 1919.1000,0.000 L1919.1000,1480.1000 L0.000,1480.1000 L0.000,0.000 Z'/%3E%3C/svg%3E");
  background-image: url(../images/idx02-bg.png);
  background-position: bottom center;
  background-repeat: no-repeat;
  background-size: cover;
}
.idx02 .inner_big {
  max-width: 1480px;
  position: relative;
}
.idx02 .idx-title {
  padding-top: 5.2em;
  z-index: 1;
}
.idx02 .idx-title::after {
  z-index: -1;
  position: absolute;
  content: "Yasui Yamanouchi Clinic";
  width: 100vw;
  font-size: 12em;
  letter-spacing: 0.1em;
  font-weight: 300;
  font-family: var(--f-en);
  white-space: nowrap;
  line-height: 0.8;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
  text-align: center;
  color: #fff;
  opacity: 50%;
  text-transform: uppercase;
}
.idx02-content {
  margin-top: 39px;
  background-color: #fff;
  border-radius: 40px;
  padding-top: 78px;
  padding-left: 5.55%;
  padding-right: 5.55%;
  padding-bottom: 56px;
}
.idx02-left {
  max-width: 585px;
  width: 50%;
}
.idx02-right {
  max-width: 640px;
  width: 50%;
}
.idx02-logo {
  margin-bottom: 20px;
  max-width: 410px;
}
.idx02-logo:hover a {
  opacity: 1;
}
.idx02-list {
  --widthUl: 97px;
  margin-bottom: 14px;
}
.idx02-list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 0;
  padding: 13px;
}
.idx02-list li:first-child {
  padding-top: 0;
}
.idx02-list li:last-child {
  border-bottom: 0;
}
.idx02-list li span {
  font-weight: 500;
  display: block;
}
.idx02-list li .left {
  width: var(--widthUl);
}
.idx02-list li .right {
  width: calc(100% - var(--widthUl));
}
.idx02-list li .tel_click {
  color: #009e96;
  letter-spacing: 0.1em;
  width: auto;
}
.idx02 .btn-group {
  margin-top: 35px;
}
.idx02 .btn-group .btn {
  max-width: 440px;
  margin-left: auto;
  margin-right: auto;
}
.idx02-map {
  height: 360px;
}
@media only screen and (min-width: 769px) {
  .idx02 .btn-group .btn {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 1281px) {
  .idx02-left {
    padding-top: 11px;
  }
}
@media (769px <= width <= 1560px) {
  .idx02 .idx-title::after {
    font-size: 6vw;
    left: 50%;
  }
}
@media (769px <= width <= 1366px) {
  .idx02-content {
    padding-left: 30px;
    padding-right: 30px;
    width: calc(100% - 60px);
    margin-left: auto;
    margin-right: auto;
  }
  .idx02-content > div {
    width: 49%;
  }
  .idx02 .idx-title {
    padding-top: 20px;
  }
}
@media (769px <= width <= 1024px) {
  .idx02-content {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  .idx02::before {
    top: -180px;
  }
  .idx02 {
    padding-top: 0;
  }
  .idx02 .time_sheet {
    font-size: 1.4vw;
  }
}
@media (769px <= width <= 991px) {
  .idx02 .btn-group .btn a {
    padding-right: 45px;
  }
}

.idx03 {
  background-image: url(../images/idx03-bg.png);
  padding-top: 85px;
  padding-bottom: 180px;
  position: relative;
}
.idx03::before {
  position: absolute;
  content: "";
  top: -53px;
  right: -170px;
  font-size: 10px;
  width: 94.1em;
  height: 80.1em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx03-bg-logo.png);
}
.idx03 .inner_big {
  position: relative;
}
.idx03 .inner_big::before {
  position: absolute;
  content: "";
  top: -209px;
  right: -219px;
  font-size: 10px;
  width: 32.1em;
  height: 32.4em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../images/idx03-img-sub.png);
}
.idx03 .idx-title::before {
  display: none;
}
.idx03-content {
  max-width: 640px;
  width: 55%;
  margin-right: 0;
  margin-left: auto;
}
.idx03 .btn-group {
  margin-top: 47px;
}
.idx03-doctor {
  font-size: min(10px, 0.55vw);
  width: 80.2em;
  height: 77.5em;
  position: absolute;
  top: -7.6em;
  left: -17.9em;
}
.idx03-doctor .img {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='792px' height='775px'%3E%3Cpath fill-rule='evenodd' fill='rgb(234, 234, 234)' d='M650.337,721.649 C701.880,694.532 747.404,610.909 772.742,542.359 C839.783,360.988 723.184,-3.260 444.732,38.871 C303.142,60.293 194.021,182.310 86.241,324.462 C-21.538,466.616 6.482,589.224 97.610,691.830 C143.252,743.221 216.488,750.909 307.052,726.164 C397.307,701.502 481.248,810.612 650.337,721.649 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='792px' height='775px'%3E%3Cpath fill-rule='evenodd' fill='rgb(234, 234, 234)' d='M650.337,721.649 C701.880,694.532 747.404,610.909 772.742,542.359 C839.783,360.988 723.184,-3.260 444.732,38.871 C303.142,60.293 194.021,182.310 86.241,324.462 C-21.538,466.616 6.482,589.224 97.610,691.830 C143.252,743.221 216.488,750.909 307.052,726.164 C397.307,701.502 481.248,810.612 650.337,721.649 Z'/%3E%3C/svg%3E");
  -webkit-mask-position: top center;
          mask-position: top center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  width: 79.2em;
  height: 83em;
}
.idx03-doctor .name {
  font-size: 1em;
  position: absolute;
  top: 11.5em;
  left: 2.7em;
}
.idx03-doctor .name::before {
  position: absolute;
  content: "";
  top: calc(50% + 1em);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 25.4em;
  height: 25.9em;
  background-image: url(../images/idx03-shape-name.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.idx03-doctor .name p {
  position: relative;
  color: #fff;
  text-align: center;
  line-height: 1;
}
.idx03-doctor .name .t1 {
  font-size: 1.8em;
  margin-bottom: 1em;
}
.idx03-doctor .name .t1::after {
  display: block;
  content: "";
  background-color: #fff;
  width: 10em;
  height: 1px;
  margin-top: 0.722em;
  margin-left: auto;
  margin-right: auto;
}
.idx03-doctor .name .t2 span {
  display: block;
  letter-spacing: 0.1em;
}
.idx03-doctor .name .t2 .jp {
  font-size: 3em;
  margin-top: 0.63333em;
}
.idx03-doctor .name .t2 .sm {
  font-family: var(--nunito);
  font-size: 1.6em;
  text-transform: uppercase;
  padding-top: 0.9375em;
}
.idx03-doctor::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 70.1em;
  height: 83em;
  background-image: url(../images/idx03-shape-doctor.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media only screen and (min-width: 1281px) {
  .idx03-box {
    padding-right: 15px;
  }
  .idx03-box p {
    font-size: 18px;
    line-height: 2.3333333333;
  }
  .idx03 .btn-group .btn {
    margin-bottom: 20px;
  }
}
@media only screen and (min-width: 769px) {
  .idx03 .idx-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 37px;
  }
  .idx03 .idx-title::before {
    display: none;
  }
  .idx03 .idx-title h3 {
    font-size: 6em;
    margin-left: 13px;
  }
  .idx03 .idx-title .sm {
    font-size: 1.8em;
    margin-bottom: 0;
    padding-top: 1.055556em;
  }
  .idx03 .btn-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .idx03 .btn-group .btn {
    width: 49.5%;
  }
  .idx03 .btn-group .btn:last-child {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (769px <= width <= 1560px) {
  .idx03-doctor {
    left: calc(50% - 47vw);
  }
  .idx03 .inner_big::before {
    font-size: min(8px, 0.75vw);
    right: calc(50% - 48vw);
  }
}
@media (769px <= width <= 1440px) {
  .idx03 {
    padding-bottom: 100px;
  }
  .idx03::before {
    font-size: min(8px, 0.55vw);
    top: 0;
    right: -20em;
  }
}
@media (769px <= width <= 1280px) {
  .idx03 {
    padding-bottom: 100px;
  }
}
@media (769px <= width <= 1024px) {
  .idx03-doctor {
    font-size: 0.5vw;
  }
}
@media (769px <= width <= 991px) {
  .idx03 .btn-group {
    margin-top: 20px;
  }
  .idx03 .btn-group .btn {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.idx04 {
  padding-top: 87px;
  --scale: scale(0.8166666667);
  --sideX: var(--scale) translateX(-4.3em);
  --itemWidth: min(37.5em, 40vw);
  position: relative;
  padding-bottom: 99px;
}
.idx04 .inner_big {
  max-width: 1660px;
}
.idx04::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: calc(100% - 40px);
  height: 65%;
  max-height: 681px;
  max-width: 1820px;
  border-radius: 40px;
  background-position: center;
  background-repeat: repeat;
  background-size: cover;
  background-image: url(../images/idx04-bg.jpg);
}
.idx04 .idx-title {
  margin-bottom: 41px;
}
.idx04 .inner_big {
  width: calc(100% - 80px);
  /* width: 98%; */
  overflow: hidden;
}
.idx04 .slick-list {
  overflow: visible;
}
.idx04 .item {
  border-radius: 20px;
  overflow: hidden;
  max-width: var(--itemWidth);
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  margin-right: 2.5em;
  -webkit-box-shadow: rgba(100, 100, 111, 0.4) 0px 7px 29px 0px;
          box-shadow: rgba(100, 100, 111, 0.4) 0px 7px 29px 0px;
  background-color: var(--main-color);
}
.idx04 .item::before {
  position: absolute;
  content: "";
  border: 2px solid var(--main-color);
  border-radius: 20px;
  inset: 0;
  z-index: 1;
}
.idx04-slide {
  max-width: var(--itemWidth);
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx04 .slick-slide:not(.slick-current) {
  -webkit-transform: var(--scale) translateX(3.8em);
          transform: var(--scale) translateX(3.8em);
}
@media only screen and (min-width: 1561px) {
  .idx04 .slick-slide:not(.slick-current) {
    -webkit-transform: var(--scale) translateX(4.2em);
            transform: var(--scale) translateX(4.2em);
  }
}
.idx04 .slick-current + .slick-slide {
  -webkit-transform: var(--sideX);
          transform: var(--sideX);
}
.idx04 .slick-arrow {
  background-color: var(--clr2);
  z-index: 1;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  top: 45%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 13px auto;
}
.idx04 .slick-arrow::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-image: url(../images/idx04-arr.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 13px;
  height: 11px;
}
@media only screen and (min-width: 769px) {
  .idx04 .slick-arrow:hover {
    background-color: #03726d;
  }
}
.idx04 .slick-prev {
  left: -1.7em;
}
.idx04 .slick-next {
  right: -1.85em;
}
.idx04 .slick-next::before {
  -webkit-transform: translate(-50%, -50%) rotate(180deg);
          transform: translate(-50%, -50%) rotate(180deg);
}
.idx04 .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.idx04-content {
  background-color: var(--main-color);
  color: #fff;
  padding-left: 123px;
  padding-right: 60px;
  padding-top: 22px;
  padding-bottom: 30px;
  position: relative;
}
.idx04-content p {
  font-weight: 500;
}
.idx04 .step {
  position: absolute;
  top: -52px;
  left: 0;
  text-align: center;
  font-size: 10px;
  background-color: var(--main-color);
  border-top-right-radius: 20px;
  padding-top: 20px;
  padding-left: 22px;
  padding-right: 25px;
}
.idx04 .step p {
  line-height: 1;
  margin-bottom: 0;
  letter-spacing: 0.05em;
  font-family: var(--f-en);
  font-weight: 400;
}
.idx04 .step .t {
  font-size: 2.6em;
}
.idx04 .step .num {
  font-size: 6em;
  margin-top: 0.08333em;
}
.idx04 .step::before, .idx04 .step::after {
  position: absolute;
  content: "";
  background-color: #fff;
  border-radius: 50%;
  width: 1.2em;
  height: 1.2em;
  bottom: 0;
  left: calc(50% - 0.6em);
}
.idx04 .step::before {
  bottom: -2.9em;
}
.idx04 .step::after {
  bottom: -4.9em;
}
.idx04-img {
  position: relative;
}
.idx04-img::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--main-color);
}
.idx04 .ttl {
  font-size: 26px;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-bottom: 13px;
}
.idx04 .btn-group {
  margin-top: 38px;
}
.idx04 .btn-group .btn {
  margin-left: auto;
  margin-right: auto;
}
@media (769px <= width <= 1560px) {
  .idx04 {
    --sideX: var(--scale) translateX(-3.5em);
  }
}
@media (769px <= width <= 1440px) {
  .idx04::before {
    height: 55%;
  }
  .idx04 .slick-arrow {
    width: 50px;
    height: 50px;
  }
  .idx04 .slick-arrow {
    top: 40%;
  }
  .idx04 .step {
    font-size: min(8px, 0.5vw);
    padding-left: 20px;
    padding-right: 20px;
  }
  .idx04-content {
    padding-left: 110px;
    padding-right: 20px;
  }
  .idx04 .ttl {
    font-size: 24px;
  }
}
@media (769px <= width <= 1366px) {
  .idx04-content {
    padding-left: 22%;
  }
}
@media (769px <= width <= 1024px) {
  .idx04 {
    padding-bottom: 60px;
  }
  .idx04 .inner_big {
    width: calc(100% - 60px);
  }
  .idx04 .slick-arrow {
    top: 35%;
  }
  .idx04 .btn-group {
    margin-top: 40px;
  }
}
@media (769px <= width <= 991px) {
  .idx04 .slick-arrow {
    top: 45%;
  }
}

.idx05 {
  padding-top: 137px;
  padding-bottom: 79px;
}
.idx05 .inner_big {
  max-width: 1480px;
}
.idx05-top {
  background-position: center;
  background-repeat: repeat;
  background-size: cover;
  background-image: url(../images/idx05-bg.jpg);
  border-radius: 40px;
  position: relative;
}
.idx05-top::before, .idx05-top::after {
  position: absolute;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  font-size: 10px;
  z-index: 1;
  -webkit-animation: floatUpDown 3s ease-in-out infinite;
          animation: floatUpDown 3s ease-in-out infinite;
}
.idx05-top::before {
  background-image: url(../images/idx05-shape1.png);
  top: -9px;
  left: -15.5em;
  width: 14.4em;
  height: 12.5em;
}
.idx05-top::after {
  background-image: url(../images/idx05-shape2.png);
  bottom: 9.8em;
  right: -8em;
  width: 22.7em;
  height: 19.9em;
}
.idx05-ct {
  padding-top: 82px;
  padding-bottom: 174px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.idx05-ct::before {
  position: absolute;
  content: "";
  bottom: -11.8em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 10px;
  width: 30em;
  height: 19.6em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx05-arr-big.png);
}
.idx05-title {
  font-size: 10px;
  width: 40em;
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 45px;
  border: 2px solid var(--clr2);
  position: absolute;
  top: -4.7em;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding-top: 1.3em;
  padding-bottom: 1.3em;
}
.idx05-title::before {
  position: absolute;
  content: "";
  bottom: -1.6em;
  left: calc(50% - 1.4em);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx05-arr-down.png);
  width: 2.8em;
  height: 1.6em;
}
.idx05-title p {
  text-align: center;
  color: var(--clr2);
  font-size: 1.8em;
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  font-weight: bold;
}
.idx05 .idx-title::before {
  display: none;
}
.idx05 .idx-title h3 {
  line-height: 1.6666666667;
  text-underline-offset: 10px;
  -webkit-text-decoration: underline var(--clr2) solid 1px;
          text-decoration: underline var(--clr2) solid 1px;
}
.idx05-box {
  max-width: 708px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 33px;
}
.idx05 .btn-group {
  margin-top: 57px;
}
.idx05-grImg {
  font-size: 10px;
}
.idx05-grImg .img img {
  border-radius: 20px;
}
.idx05-grImg .img01 {
  width: 28em;
  height: 32em;
}
.idx05-grImg .img02 {
  width: 40em;
  height: 28em;
}
.idx05-grImg .img03 {
  width: 48em;
  height: 36em;
}
.idx05-tabs {
  margin-top: 158px;
}
.idx05-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 90px;
  padding-left: 6.35%;
  padding-right: 6.6%;
  padding-bottom: 90px;
}
.idx05-img {
  max-width: 600px;
  width: 50%;
}
.idx05-img img {
  border-radius: 20px;
}
.idx05-info {
  width: 50%;
  max-width: 559px;
}
.idx05-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--main-color);
  margin-bottom: 32px;
}
.idx05-ttl p {
  margin-bottom: 0;
}
.idx05-ttl .txt {
  padding-left: 24px;
  line-height: 1;
}
@media only screen and (min-width: 769px) {
  .idx05 .btn-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .idx05 .btn-group .btn {
    width: calc(50% - 20px);
    margin: 0 10px;
  }
  .idx05 .idx-title {
    font-size: min(10px, 0.6vw) !important;
  }
  .idx05-grImg .img {
    position: absolute;
  }
  .idx05-grImg .img01 {
    left: -10.8em;
    top: 8.2em;
  }
  .idx05-grImg .img02 {
    bottom: -3em;
    left: -19em;
  }
  .idx05-grImg .img03 {
    top: 12.5em;
    right: -19em;
  }
}
.idx05-tabs .btn-group {
  margin-top: 40px;
}
.idx05-tabs .btn-group .btn {
  width: 100%;
  margin-left: 0;
  margin-right: auto;
}
@media only screen and (min-width: 1281px) {
  .idx05-box p {
    font-size: 18px;
    line-height: 2.3333333333;
  }
  .idx05-info {
    padding-top: 7px;
  }
}
@media (769px <= width <= 1750px) {
  .idx05-ct {
    width: 60%;
  }
  .idx05-top::before {
    left: calc(50% - 49vw);
  }
  .idx05-top::after {
    right: calc(50% - 49vw);
    bottom: 5em;
  }
  .idx05-grImg {
    font-size: min(7px, 0.55vw);
  }
  .idx05-grImg .img01 {
    left: calc(50% - 48vw);
  }
  .idx05-grImg .img02 {
    left: calc(50% - 49vw);
  }
  .idx05-grImg .img03 {
    right: calc(50% - 49vw);
  }
}
@media (769px <= width <= 1560px) {
  .idx05-top {
    width: calc(100% - 150px);
    margin-left: auto;
    margin-right: auto;
  }
  .idx05-grImg .img03 {
    font-size: 0.8em;
  }
}
@media (769px <= width <= 1440px) {
  .idx05-tabs {
    margin-top: 120px;
  }
  .idx05-top::before, .idx05-top::after {
    font-size: min(8px, 1vw);
  }
  .idx05 .btn-group {
    margin-top: 20px;
  }
  .idx05-ct {
    padding-bottom: 120px;
  }
  .idx05-ct::before {
    font-size: min(8px, 0.8vw);
  }
}
@media (769px <= width <= 1366px) {
  .idx05-content {
    padding: 5% 3%;
  }
}
@media (769px <= width <= 1280px) {
  .idx05-grImg {
    font-size: min(7px, 0.48vw);
  }
  .idx05-title {
    font-size: 8px;
  }
  .idx05-box {
    margin-top: 20px;
  }
  .idx05-img, .idx05-info {
    width: 49%;
  }
}
@media (769px <= width <= 1024px) {
  .idx05-top {
    width: calc(100% - 100px);
  }
  .idx05-ttl {
    font-size: 26px;
    margin-bottom: 20px;
  }
  .idx05-ttl .txt {
    padding-left: 10px;
  }
}
@media (769px <= width <= 991px) {
  .idx05 .btn-group .btn {
    width: 100%;
    margin-bottom: 10px;
  }
  .idx05-top::after {
    bottom: 0;
  }
  .idx05 .idx-title {
    font-size: 7px !important;
  }
  .idx05 .idx-title h3 span {
    display: block;
  }
  .idx05-ct {
    width: 67%;
  }
  .idx05-grImg .img01 {
    top: 18em;
    font-size: 4.5px;
  }
  .idx05-grImg .img03 {
    right: calc(50% - 48vw);
  }
  .idx05-img {
    width: 45%;
  }
  .idx05-info {
    width: 52%;
  }
}

.idx-banner .banner {
  width: 50%;
  position: relative;
  height: min(320px, 18vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
.idx-banner .banner::before, .idx-banner .banner::after {
  position: absolute;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx-banner .banner::before {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.idx-banner .banner::after {
  border: 1px solid #fff;
  inset: 10px;
  opacity: 30%;
}
.idx-banner .banner p {
  margin-bottom: 0;
}
.idx-banner .banner.bn1::before {
  background-image: url(../images/idx-banner01.jpg);
}
.idx-banner .banner.bn2::before {
  background-image: url(../images/idx-banner02.jpg);
}
.idx-banner .banner.bn3::before {
  background-image: url(../images/idx-banner03.jpg);
}
.idx-banner .banner.bn4::before {
  background-image: url(../images/idx-banner04.jpg);
}
.idx-banner .bn-title {
  color: #fff;
  text-align: center;
  position: relative;
  font-size: min(10px, 0.8vw);
}
.idx-banner .bn-title::before {
  position: absolute;
  content: "";
  top: calc(50% - 2.3em);
  right: calc(50% - 22.35vw);
  background-image: url(../images/idx-banner-arr.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 4.8em;
  height: 4.8em;
}
.idx-banner .bn-title p {
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.idx-banner .bn-title .jp {
  font-size: 3.6em;
  margin-bottom: 0.5em;
}
.idx-banner .bn-title .jp::after {
  display: block;
  content: "";
  background-color: #fff;
  height: 1px;
  background-color: #fff;
  width: 10em;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.52777778em;
}
.idx-banner .bn-title .sm {
  font-size: 1.8em;
  text-transform: uppercase;
}
@media only screen and (min-width: 769px) {
  .idx-banner .banner:hover::before {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

.idx06 {
  background-image: url(../images/idx06-bg.jpg);
  padding-top: 488px;
  padding-bottom: 100px;
  background-size: 100% auto;
  background-position: top center;
}
.idx06 .inner_big {
  max-width: 1480px;
}
.idx06-content {
  background-color: #f7f5db;
  max-width: 1280px;
  margin-right: 0;
  margin-left: auto;
  border-radius: 40px;
  padding-top: 92px;
  padding-left: 165px;
  padding-bottom: 98px;
  padding-right: 113px;
  position: relative;
}
.idx06-content::before, .idx06-content::after {
  position: absolute;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.idx06-content::before {
  top: 10px;
  left: 9px;
  width: 100%;
  height: 100%;
  border-radius: 40px;
  border: 1px solid var(--main-color);
}
.idx06-content::after {
  -webkit-animation: floatUpDown 3s ease-in-out infinite;
          animation: floatUpDown 3s ease-in-out infinite;
  font-size: 10px;
  background-image: url(../images/idx06-shape1.png);
  top: -31px;
  right: -14px;
  width: 20.5em;
  height: 17.9em;
}
.idx06-img {
  max-width: 400px;
  width: 40%;
}
.idx06-img img {
  border-radius: 20px;
  -webkit-box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.22);
          box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.22);
}
.idx06-box {
  width: 60%;
  max-width: 555px;
}
.idx06 .btn-group {
  margin-top: 40px;
}
.idx06-title {
  position: absolute;
  top: -24.9em;
  left: -20.2em;
  font-size: min(10px, 0.55vw);
  width: 36em;
  height: 36em;
  border-radius: 50%;
  color: #fff;
}
.idx06-title::before, .idx06-title::after {
  position: absolute;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.idx06-title::before {
  background-image: url(../images/idx06-shape2.png);
  width: 40.7em;
  height: 40.2em;
  top: -1.5em;
  left: -1.4em;
}
.idx06-title::after {
  background-image: url(../images/idx06-doctor.png);
  bottom: -10em;
  left: 7.5em;
  width: 14em;
  height: 18.3em;
}
.idx06-title .in {
  background-color: var(--main-color);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  padding-bottom: 5.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.idx06-title .ttl {
  text-align: center;
  font-size: 3em;
  letter-spacing: 0.05em;
  line-height: 1.6;
  font-weight: bold;
}
.idx06-title .ttl::before {
  display: block;
  content: "";
  width: 1.6em;
  height: 1.3666666667em;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.3em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx06-logo-sm.png);
}
.idx06 .flex {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1281px) {
  .idx06-img {
    padding-top: 10px;
  }
  .idx06 .btn-group {
    margin-left: 4px;
  }
}
@media (769px <= width <= 1560px) {
  .idx06 {
    padding-top: 25vw;
  }
  .idx06-title {
    font-size: 0.45vw;
    left: calc(50% - 50vw);
  }
}
@media (769px <= width <= 1280px) {
  .idx06-title {
    left: 0;
    top: -30em;
  }
  .idx06-content {
    padding-top: 70px;
    padding-bottom: 70px;
    padding-left: 140px;
    padding-right: 100px;
  }
  .idx06-content::after {
    font-size: 7px;
    right: 0;
  }
}
@media (769px <= width <= 1024px) {
  .idx06 {
    padding-top: 22vw;
  }
  .idx06-content {
    padding: 80px 40px 60px;
  }
  .idx06-content::after {
    top: -10em;
    right: 0;
    font-size: 7px;
  }
  .idx06-img {
    width: 36%;
  }
  .idx06 .btn-group {
    margin-top: 20px;
  }
}
@media (769px <= width <= 991px) {
  .idx06-title {
    font-size: 4.5px;
  }
}

.idx07 {
  background-image: url(../images/idx07-bg.jpg);
  padding-top: 90px;
  padding-bottom: 89px;
}
.idx07-top {
  margin-top: 52px;
}
.idx07-img {
  max-width: 578px;
  width: 50%;
  height: 100%;
  position: relative;
}
.idx07-img::before {
  position: absolute;
  content: "";
  max-width: 578px;
  max-height: 551px;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx07-shape.png);
}
.idx07-left {
  width: 50%;
  max-width: 555px;
}
.idx07-left h4 {
  font-size: 30px;
  line-height: 1.7333333333;
  letter-spacing: 0.1em;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 11px;
  margin-bottom: 38px;
  font-weight: 500;
}
.idx07-left h4 span {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 11px;
}
.idx07-left h4 .cl {
  color: var(--main-color);
  text-decoration-color: var(--clr1);
}
.idx07 .btn-group {
  margin-top: 40px;
}
.idx07-img .img {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='563px' height='523px'%3E%3Cpath fill-rule='evenodd' fill='rgb(234, 234, 234)' d='M460.763,497.292 C498.159,477.677 531.188,417.191 549.572,367.606 C598.212,236.415 513.616,-27.057 311.590,3.417 C208.861,18.912 129.691,107.172 51.493,209.995 C-26.705,312.819 -6.375,401.505 59.742,475.723 C92.856,512.897 145.991,518.457 211.698,500.559 C277.181,482.720 338.083,561.643 460.763,497.292 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='563px' height='523px'%3E%3Cpath fill-rule='evenodd' fill='rgb(234, 234, 234)' d='M460.763,497.292 C498.159,477.677 531.188,417.191 549.572,367.606 C598.212,236.415 513.616,-27.057 311.590,3.417 C208.861,18.912 129.691,107.172 51.493,209.995 C-26.705,312.819 -6.375,401.505 59.742,475.723 C92.856,512.897 145.991,518.457 211.698,500.559 C277.181,482.720 338.083,561.643 460.763,497.292 Z'/%3E%3C/svg%3E");
  -webkit-mask-position: left top;
          mask-position: left top;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
}
.idx07-grBtn {
  background-image: url(../images/idx07-bg-sm.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: cover;
  border-radius: 40px;
  margin-top: 50px;
  -webkit-box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.22);
          box-shadow: 0px 10px 30px 0px rgba(0, 0, 0, 0.22);
  position: relative;
  padding-top: 91px;
  padding-bottom: 89px;
  padding-left: 20px;
  padding-right: 20px;
}
.idx07-grBtn::before {
  position: absolute;
  content: "";
  border: 1px solid #fff;
  border-radius: 30px;
  opacity: 50%;
  inset: 10px;
}
.idx07-flex {
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.idx07-bn {
  max-width: 340px;
  width: calc(33.33% - 20px);
  margin-bottom: 0;
  position: relative;
}
.idx07-bn a {
  min-height: 9em;
  background-color: #f7f5db;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  border-radius: 45px;
  padding-left: 3em;
  font-size: 10px;
}
.idx07-bn a .txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.idx07-bn a .txt::before {
  display: block;
  content: "";
  background-image: url(../images/idx07-arr.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 3em;
  height: 3em;
  margin-right: 1.6em;
}
.idx07-bn a span {
  letter-spacing: 0.1em;
}
.idx07-bn a .jp {
  font-size: 1.8em;
  font-weight: 500;
  color: #333333;
  position: relative;
  padding-right: 2.0555555556em;
}
.idx07-bn a .jp::after {
  position: absolute;
  content: "";
  top: 1em;
  right: 0;
  width: 2.1111111111em;
  height: 1px;
  background-color: var(--clr1);
  opacity: 50%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.idx07-bn a .sm {
  font-size: 1.1em;
  color: var(--clr2);
  text-transform: uppercase;
  margin-left: -0.727273em;
  padding-top: 1.09091em;
}
@media (min-width: 1281px) {
  .idx07-left {
    margin-left: 19px;
  }
  .idx07-img {
    margin-top: -51px;
    margin-right: 8px;
  }
  .idx07-img .img {
    -webkit-mask-size: auto;
            mask-size: auto;
  }
}
@media (769px <= width <= 1024px) {
  .idx07-img {
    width: 45%;
  }
  .idx07-grBtn {
    padding: 60px 20px;
  }
  .idx07-bn {
    width: calc(33.33% - 10px);
  }
  .idx07-bn a {
    font-size: min(9px, 0.85vw);
  }
  .idx07-flex {
    gap: 10px;
  }
}

.idx08 {
  background-image: url(../images/idx08-bg.jpg);
  background-position: top center;
  padding-top: 97px;
  padding-bottom: 88px;
}
.idx08 .idx-title::after {
  position: absolute;
  content: "";
  top: -6.4em;
  left: calc(50% - 31.6em);
  width: 64.1em;
  height: 54.4em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-image: url(../images/idx08-logo.png);
}
.idx08 .inner_big {
  max-width: 1860px;
}
.idx08 .flex {
  margin-top: 50px;
  gap: 40px;
}
.idx08 .item {
  width: calc(25% - 30px);
  max-width: 425px;
  border-radius: 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.2);
  padding-top: 50px;
  padding-bottom: 59px;
  padding-left: 20px;
  padding-right: 20px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
.idx08 .item::before, .idx08 .item::after {
  position: absolute;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx08 .item::before {
  inset: 10px;
  border: 1px solid #fff;
  border-radius: 16px;
  opacity: 50%;
}
.idx08 .item::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='25px' height='21px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M24.593,10.118 C24.597,10.126 24.598,10.134 24.601,10.142 C24.692,10.365 24.745,10.606 24.745,10.860 C24.745,11.113 24.692,11.353 24.602,11.575 C24.598,11.584 24.597,11.593 24.593,11.601 C24.490,11.845 24.339,12.065 24.149,12.248 L15.946,20.236 C15.553,20.618 15.039,20.809 14.526,20.809 C14.012,20.809 13.498,20.618 13.105,20.236 C12.321,19.471 12.321,18.233 13.105,17.470 L17.889,12.814 L2.967,12.814 C1.857,12.814 0.958,11.939 0.958,10.860 C0.958,9.777 1.857,8.902 2.967,8.902 L17.886,8.902 L13.105,4.248 C12.321,3.483 12.321,2.247 13.105,1.482 C13.890,0.719 15.161,0.719 15.946,1.482 L24.151,9.471 C24.340,9.654 24.491,9.873 24.593,10.118 Z'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='25px' height='21px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M24.593,10.118 C24.597,10.126 24.598,10.134 24.601,10.142 C24.692,10.365 24.745,10.606 24.745,10.860 C24.745,11.113 24.692,11.353 24.602,11.575 C24.598,11.584 24.597,11.593 24.593,11.601 C24.490,11.845 24.339,12.065 24.149,12.248 L15.946,20.236 C15.553,20.618 15.039,20.809 14.526,20.809 C14.012,20.809 13.498,20.618 13.105,20.236 C12.321,19.471 12.321,18.233 13.105,17.470 L17.889,12.814 L2.967,12.814 C1.857,12.814 0.958,11.939 0.958,10.860 C0.958,9.777 1.857,8.902 2.967,8.902 L17.886,8.902 L13.105,4.248 C12.321,3.483 12.321,2.247 13.105,1.482 C13.890,0.719 15.161,0.719 15.946,1.482 L24.151,9.471 C24.340,9.654 24.491,9.873 24.593,10.118 Z'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
  width: 13px;
  height: 11px;
  background-color: #fff;
  bottom: 21px;
  right: 23px;
}
.idx08 .item.cl1 {
  background-image: url(../images/idx08-bg-cl1.jpg);
}
.idx08 .item.cl2 {
  background-image: url(../images/idx08-bg-cl2.jpg);
}
.idx08-title {
  text-align: center;
  font-size: 10px;
  margin-bottom: 24px;
}
.idx08-title p {
  margin-bottom: 0;
  line-height: 1;
}
.idx08-title .jp {
  font-size: 2.6em;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.idx08-title .sm {
  font-size: 1.4em;
  color: var(--clr2);
  text-transform: uppercase;
  margin-top: 13px;
}
.idx08-img {
  margin-left: auto;
  margin-right: auto;
  background-color: #fff;
  border-radius: 50%;
  width: 140px;
  height: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx08 .txt {
  margin-left: auto;
  margin-right: auto;
  max-width: 330px;
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) {
  .idx08 .item:hover {
    background-color: #fff;
    background-image: unset;
  }
  .idx08 .item:hover .idx08-img {
    background-color: #f7f5db;
  }
  .idx08 .item:hover::before {
    border-color: #b0c817;
  }
  .idx08 .item:hover::after {
    background-color: var(--main-color);
  }
}
@media (769px <= width <= 1280px) {
  .idx08 .item {
    width: calc(25% - 15px);
  }
  .idx08 .flex {
    gap: 20px;
  }
  .idx08-title {
    font-size: 8px;
  }
  .idx08-img {
    width: 120px;
    height: 120px;
  }
  .idx08-img img {
    width: 70%;
  }
}
@media (max-width: 991px) {
  .idx08 .flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .idx08 .item {
    width: calc(33.33% - 15px);
  }
}

.idx09 {
  background-image: url(../images/idx09-bg.jpg);
  padding-top: 77px;
  padding-bottom: 90px;
}
.idx09 .inner_big {
  position: relative;
}
.idx09 .inner_big::before, .idx09 .inner_big::after {
  position: absolute;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
}
.idx09 .inner_big::before {
  z-index: 2;
  top: 44px;
  right: -171px;
  font-size: 10px;
  width: 22.7em;
  height: 19.9em;
  background-size: 100% auto;
  background-image: url(../images/idx09-shape.png);
  -webkit-animation: floatUpDown 3s ease-in-out infinite;
          animation: floatUpDown 3s ease-in-out infinite;
}
.idx09 .inner_big::after {
  background-image: url(../images/idx09-img-sub.jpg);
  background-size: cover;
  max-width: 567px;
  max-height: 474px;
  width: 55%;
  height: 60%;
  bottom: 0;
  right: -299px;
}
.idx09-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 81px;
  position: relative;
}
.idx09-img {
  display: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
}
.idx09-img.tab1 {
  background-image: url(../images/idx09-img01.jpg);
}
.idx09-img.tab2 {
  background-image: url(../images/idx09-img02.jpg);
}
.idx09-img.tab3 {
  background-image: url(../images/idx09-img03.jpg);
}
.idx09-img.tab4 {
  background-image: url(../images/idx09-img04.jpg);
}
.idx09-img.tab5 {
  background-image: url(../images/idx09-img05.jpg);
}
.idx09-img.active {
  display: block;
}
.idx09-button {
  max-width: 700px;
  width: 60%;
}
.idx09-btn {
  border: 2px solid #fff;
  color: #fff;
  border-radius: 45px 0 0 45px;
  margin-bottom: 6px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 18px;
  padding-bottom: 20px;
  padding-left: 32px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 10px;
  position: relative;
}
.idx09-btn::before {
  position: absolute;
  content: "";
  top: calc(50% - 11px);
  left: -11px;
  width: 22px;
  height: 22px;
  background-image: url(../images/idx09-icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.idx09-btn .num {
  line-height: 1;
  margin-bottom: 0;
  font-size: 4.8em;
  letter-spacing: 0;
  font-weight: 300;
  position: relative;
  padding-right: 24px;
  margin-right: 24px;
}
.idx09-btn .num::before {
  position: absolute;
  content: "";
  top: 7px;
  right: 0;
  width: 1px;
  height: calc(100% - 12px);
  background-color: #fff;
}
.idx09-btn .txt {
  font-size: 2.4em;
  letter-spacing: 0.1em;
  font-weight: 500;
  line-height: 1.4;
}
.idx09-btn.active {
  background-color: rgba(0, 158, 150, 0.502);
}
.idx09-btn.active::before {
  opacity: 1;
}
.idx09-btn:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 769px) {
  .idx09-btn:hover {
    background-color: #80d89e;
  }
}
.idx09-Tabcontent {
  max-width: 800px;
  width: 100%;
  height: 115%;
  max-height: 535px;
  z-index: 1;
}
.idx09-Tabcontent::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: #fff;
}
.idx09 .btn-group {
  position: relative;
  z-index: 1;
  margin-top: 88px;
}
.idx09 .btn-group .btn {
  margin-left: auto;
  margin-right: auto;
}
.idx09 .btn-group .btn a {
  border: 0;
}
@media only screen and (min-width: 769px) {
  .idx09-Tabcontent {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: -160px;
  }
}
@media (769px <= width <= 1560px) {
  .idx09 .inner_big::before {
    right: 0;
    font-size: 8px;
    top: 8em;
  }
  .idx09 .inner_big::after {
    height: 45%;
  }
  .idx09-Tabcontent {
    width: 55%;
    right: calc(50% - 48vw);
  }
}
@media (769px <= width <= 1366px) {
  .idx09 .inner_big::after {
    height: 30%;
  }
}
@media (769px <= width <= 1280px) {
  .idx09-btn {
    font-size: min(7px, 0.85vw);
  }
  .idx09-Tabcontent {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
@media (max-width: 991px) {
  .idx09 .inner_big::before {
    top: 25em;
    right: 20px;
    font-size: 5px;
  }
  .idx09 .inner_big::after {
    width: 200px;
    height: 200px;
    right: 0;
  }
  .idx09-tabs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-left: auto;
    margin-right: auto;
    max-width: 640px;
    position: relative;
    z-index: 1;
  }
  .idx09-Tabcontent {
    width: 100%;
    height: 100%;
    position: relative;
    height: min(500px, 68vw);
    top: auto;
    right: auto;
    -webkit-transform: unset;
            transform: unset;
    margin-left: auto;
    margin-right: auto;
  }
  .idx09-button {
    width: 100%;
    margin-top: 20px;
  }
  .idx09-btn {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .idx09-tabs {
    margin-top: 50px;
  }
  .idx09 .btn-group {
    margin-top: 30px;
  }
}

.idx_map {
  height: 450px;
}
.idx_map iframe {
  height: 100%;
}

@media only screen and (max-width: 1280px) and (min-width: 769px) {
  .home_page .idx-title {
    font-size: 8px;
  }
  .home_page .idx-title h3 {
    letter-spacing: 0.05em;
  }
}
/*# sourceMappingURL=index_pc.css.map */