@charset "UTF-8";

:root {
  --sp-fontsize-h2: 24px;
  /* ここでテキストや色を簡単に変更できます */
  --main-text-color: #222;
  --highlight-orange: #f39800;
  --highlight-green: #70b324;
}



/* メイン画像
--------------------------------------------------------------------*/
.mainvisual_wrap {
  position: relative;
}

.main_visual_text {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 0;
  width: 77.5vw;
  margin: auto;
  right: 0;
  text-align: center;
  translate: 0 -110%;
	line-height: 1.3
}

.main_visual_text>img {
  width: 100%
}

@media (min-width: 960px) {
  .main_visual_text {
    width: 32%;
    translate: 0 -107%;
  }
}

.mainvisual_bottom {
  position: relative;
  padding: 0 15vw;
  margin: -22vw auto 0;
  z-index: 5;
}

.mainvisual_bottom::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  top: 22vw;
  z-index: -1;
  background: rgba(53, 169, 19, 0.9);
}

@media (min-width: 960px) {
  .mainvisual_bottom {}

  .mainvisual_bottom {
    margin-top: -10vw;
    padding: 0 37vw;
  }

  .mainvisual_bottom::before {
    top: 9.9vw;
    ;
  }

  .mainvisual_bottom::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0.2vw;
    top: 0;
    pointer-events: none;
    background: url("https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/bg_mainvisual_bottom_leafs.png") 50% 100% / contain no-repeat;
  }

  @supports (background-image: url('https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/bg_mainvisual_bottom_leafs.webp')) {
    .mainvisual_bottom::after {
      background-image: url('https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/bg_mainvisual_bottom_leafs.webp');
    }
  }
}

.main_visual_text01,
.main_visual_text02,
.main_visual_text03,
.main_visual_text04 {
  font-weight: 900;
}
.main_visual_text01,
.main_visual_text02 {
  font-size: 4vw;
}
.main_visual_text03,
.main_visual_text04 {
  font-size: 6.2vw;
}

@media (min-width: 960px){
  .main_visual_text01,
  .main_visual_text02 {
    font-size: 1.5vw;
  }
  .main_visual_text03,
  .main_visual_text04 {
    font-size: 2.5vw;
  }
}

/* h2タイトル
--------------------------------------------------------------------*/

.top_h2 {
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  position: relative;
  line-height: 1.4;
  margin: 0 auto 40px;
  letter-spacing: 0.2em;
  font-family: "fot-tsukuardgothic-std", sans-serif;
}

@media (min-width: 960px) {
  .top_h2 {
    font-size: 45px;
  }
}

.top_h2 .subtitle {
  font-size: 16px;
  letter-spacing: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

@media (min-width: 960px) {
  .top_h2 .subtitle {
    font-size: 18px;
  }
}



/*==================================================================

医院からのお知らせ

==================================================================*/

.blog_top_box {
  padding: 10vw 5vw;
  /* background: rgba(242, 250, 191, 0.56); */
  background: url(https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/bg_top_notice_sp.jpg) 50% 50% / cover no-repeat;
}

@supports (background-image: url("https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/bg_top_notice_sp.webp")) {
  .blog_top_box {
    background-image: url("https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/bg_top_notice_sp.webp");
  }
}

.top_notice_inner {
  margin: 0 auto 0;
  background: rgba(255, 255, 255, 0.95);
  border-radius: 16px;
  padding: 3.75%;
  line-height: 1.5;
  color: rgba(34, 24, 24, 1);
}

.top_notice h3 {
  font-size: 20px;
  color: unset;
  /* padding: 0 20px 10px;
  border-bottom: 1px solid #000; */
}

.top_notice_time {
  font-family: 'Noto Sans JP', sans-serif;
}

.top_notice_time table {
  width: 100%;
}

.top_notice_time th {
  color: rgba(53, 169, 19, 1);
  padding: 10px 5px;
  text-align: center;
  font-weight: bold;
}

.top_notice_time td {
  padding: 5px;
  text-align: center;
}

.top_notice_time tbody th,
.top_notice_time tbody td {
  border-top: 1px solid #000;
  text-align: center;
}

.top_notice_time tbody td {
  font-size: 12px;
}

.top_notice_time_text {
  color: #221818;
  font-size: 14px;
}

.top_notice_time_text02 {
  color: #221818;
  font-size: 14px;
}

@media (min-width: 960px) {
  .blog_top_box {
    padding: 5vw 0;
  }

  .top_notice_inner {
    display: grid;
    grid-gap: 3.75%;
    grid-template-columns: 1fr 1fr;
    max-width: 85%;
  }

  .top_notice_time {
    order: 1;
  }

  .top_notice_info {
    order: 2;
  }

  .top_notice_time_text {
    font-size: unset;
    margin: 10px 0
  }

  .top_h2_blog .top_h2_inner {
    position: relative;
    padding: 0 3em;
    max-width: fit-content;
    margin: 0 auto;
    min-height: 120px;
    display: grid;
    align-items: center;
  }

  .top_h2_blog .top_h2_inner::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    pointer-events: none;
    background: url(../img/top/ico_top_notice_title_left_4x.png) 0 50% / auto 100px no-repeat,
      url(../img/top/ico_top_notice_title_right_4x.png) 100% 50% / auto 100px no-repeat;
  }
}

@media (min-width: 1440px) {
  .top_notice_inner {
    max-width: 80%;
  }
}

@media (min-width: 1920px) {
  .top_notice_inner {
      max-width: 1240px;
      padding: 60px;
  }
}



/* 共通css
--------------------------------------------------------------------*/



/*==================================================================

医院からのお知らせ　終わり

==================================================================*/

/*==================================================================

ごあいさつ

==================================================================*/

.top_greeting {
  padding: 60px 5% 0;
  position: relative;
  background: #EBEBEB;
}

.top_h2_greeting .top_h2_inner {
  position: relative;
  padding: 0 2.5em;
  max-width: fit-content;
  margin: 0 auto;
  display: grid;
  align-items: center;
}

.top_h2_greeting .top_h2_inner::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  pointer-events: none;
  background: url(../img/top/ico_top_greeting_title_4x.png) 0 50% / 58px auto no-repeat,
    url(../img/top/ico_top_greeting_title_4x.png) 100% 50% / 58px auto no-repeat;
}

.top_greeting .top_greeting_contents h3 {
  font-weight: bold;
  font-family: fot-tsukuardgothic-std, sans-serif;
  margin-bottom: 40px;
  font-size: 28px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #35A913;
}

.top_greeting_text {
  color: #000;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: left;
}

.top_greeting_name {
  font-family: yu-mincho-pr6n, serif;
  font-size: 30px;
  font-weight: 500;
  color: #000;
  margin-top: 30px;
  margin-bottom: 30px;
  text-align: center;
  line-height: 1.4;
}

.top_greeting_name .mini {
  font-size: 80%;
}

.top_greeting_img {
  text-align: center;
  margin: 20px auto 0;
  max-width: 350px;
  width: 80%;
}
.top_greeting_img02 {
  display: none;
}
@media (min-width: 380px) {
  .top_h2_greeting .top_h2_inner {
    padding-left: 3em;
    padding-right: 3em;
  }
}
@media (min-width: 960px) {
  .top_greeting {
    padding: 60px 2% 60px;
  }
  .top_greeting_inner {
    display: grid;
    grid-template-columns: 350px 1fr;
    grid-gap: 20px;
    align-items: center;
    background: #fff;
    border-radius: 3vw;
    padding:  40px 40px 0;
    text-align: left;
  }
  .top_greeting_text {
    text-align: left;
  }

  .top_greeting_img {
    max-width: 100%;
    width: 100%;
    align-self: end;
    order: 1;
    margin-left: calc( -40px - 1vw);
    max-width: calc(100% + 40px + 1vw);
  }
  .top_greeting_contents {
    order: 2;
  }
  .top_greeting_contents h3 {
    text-align: left;
  }
  .top_h2_greeting .top_h2_inner::before {
    background-size: 78px auto,78px auto;
  }

}

@media (min-width: 1440px) {
  .top_greeting {
    padding: 60px 2%;
  }
  .top_greeting_inner {
    grid-template-columns: auto auto auto;
    padding: 40px;
    background: #fff;
  }
  .top_greeting_img02 {
    display: grid;
  }
  .top_greeting_img02 {
    order: 3;
    display: grid;
    justify-content: end;
    gap: 20px;
    align-self: end;
    justify-items: end;
  }
  .top_greeting_img {
    order: 1;
    margin: 0 0 -100px -80px;
  }
  .top_greeting_contents {
    order: 2;
    margin-left: -90px;
    text-align: center;
  }
  .top_greeting_text {
    text-align: center;
  }
}
@media (min-width: 1720px) {
  .top_greeting {
    padding-left: 5%;
    padding-right: 5%;
  }
  .top_greeting_contents {
    margin-left: -110px;
    margin-right: -40px;
  }
}


/*==================================================================

ごあいさつ終わり

==================================================================*/



/*==================================================================

診療科目

==================================================================*/


.top_subject {
  padding-top: 112px;
  padding-bottom: 50px;
  position: relative;
}
.top_subject.lazyloaded {
  /* background: url(../img/top/img_top_subject_01.svg) calc(50% - 130px) 130px / 40px auto no-repeat,
  url(../img/top/img_top_subject_02.svg) calc(50% - 100px) 120px / 22px auto no-repeat,
  url(../img/top/img_top_subject_03.svg) calc(50% + 120px) 100px / 40px auto no-repeat; */
  background: url(../img/top/img_top_subject_01_4x.png) calc(50% - 130px) 130px / 40px auto no-repeat,
  url(../img/top/img_top_subject_02_4x.png) calc(50% - 100px) 120px / 22px auto no-repeat,
  url(../img/top/img_top_subject_03_4x.png) calc(50% + 120px) 100px / 40px auto no-repeat;
}
.top_subject::before {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 0;
  height: 56px;
  left: 0;
  right: 0;
  background: #FFE310;
  z-index: -1;
}

.top_subject_inner {
  max-width: fit-content;
  margin: auto;
}
.top_subject_title {
  color: #000000;
  text-align: center;
  position: relative;
  margin-bottom: 30px;
  font-size: 22px;
}

.top_subject_bnr {
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  gap: 4vw;
  padding: 0 4vw;
}
/* .top_subject_bnr li {
  margin-bottom: 20px;
} */

.top_subject_bnr a {
  text-decoration: none;
  border-radius: 24px;
  display: block;
    height: 100%;
}
.top_subject_bnr_item_cavity a {
  background: rgba(60, 196, 165, 0.95);
}
.top_subject_bnr_item_pediatric a {
  background: rgba(197, 221, 35, 0.95);
}
.top_subject_bnr_item_ortho a {
  background: rgba(244, 197, 74, 0.95);
}
.top_subject_bnr_item_surgery a {
  background: rgba(252, 168, 180, 0.95);
}
.top_subject_bnr a {
  transition: filter 0.2s ease;
}
.top_subject_bnr a:hover {
  filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.2));
}
.top_subject_bnr_inner {
  font-size: 14px;
  color: #3B4043;
  padding: 20px;
  line-height: 1.2;
  border-radius: 18px;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
}

.top_subject_bnr_img {
  margin-bottom: 10px;
}
.top_subject_bnr_img img {
  width: 100%;
}

.top_subject_bnr_title {
  font-size: 18px;
  margin-bottom: 10px;
  font-family: "Zen Kaku Gothic New", fot-tsukuardgothic-std, sans-serif;
  font-weight: bold;
  color: #fff;
  text-align: center;

}

@media (min-width: 560px) and (max-width: 959px) {
  .top_subject_bnr {
    grid-template-columns: repeat(2,204px);
     gap: 12px;
  }
}

@media (min-width: 960px) {
  .top_subject { 
    padding-top: 150px;
  }
  .top_subject.lazyloaded {
      background: url(../img/top/img_subject_pc_02.webp) calc(50% - 420px) 50px / 150px auto no-repeat;
  }
  .top_subject::before {
    height: 100px;
 clip-path: shape(
    from 0% 100%,
    line to calc(50% - 250px) 100%,
    curve to calc(50% + 250px) 100% with 50% 0%,
    line to 100% 100%,
    line to 100% 0%,
    line to 0% 0%,
    close,
  );
  }
  .top_subject_bnr {
    grid-template-columns: repeat(4,204px);
     gap: 12px;
  }
}
@media (min-width: 1440px) {
  /* .top_subject { 
    background: 
    url(../img/top/img_subject_pc_02.webp) calc(50% - 420px) 50px / 150px auto no-repeat,
    url(../img/top/img_subject_pc_01.webp) calc(50% - 640px) 30px / 260px auto no-repeat,
    url(../img/top/img_top_subject_01.svg) calc(50% - 650px) 470px / 100px auto no-repeat,
    url(../img/top/img_top_subject_02.svg) calc(50% - 570px) 440px / 62px auto no-repeat,
    url(../img/top/img_top_subject_03.svg) calc(50% - 770px) 340px / 90px auto no-repeat;
  } */
  .top_subject.lazyloaded {
    /* background: 
    url(../img/top/img_subject_pc_02.webp) calc(50% - 420px) 50px / 150px auto no-repeat,
    url(../img/top/img_subject_pc_01.webp) calc(50% - 640px) 30px / 260px auto no-repeat,
    url(../img/top/img_top_subject_01.svg) calc(50% - 650px) 470px / 100px auto no-repeat,
    url(../img/top/img_top_subject_02.svg) calc(50% - 570px) 440px / 62px auto no-repeat,
    url(../img/top/img_top_subject_03.svg) calc(50% - 770px) 340px / 90px auto no-repeat; */
    background: 
    url(../img/top/img_subject_pc_02.webp) calc(50% - 420px) 50px / 150px auto no-repeat,
    url(../img/top/img_subject_pc_01.webp) calc(50% - 640px) 30px / 260px auto no-repeat,
    url(../img/top/img_top_subject_01_4x.png) calc(50% - 650px) 470px / 100px auto no-repeat,
    url(../img/top/img_top_subject_02_4x.png) calc(50% - 570px) 440px / 62px auto no-repeat,
    url(../img/top/img_top_subject_03_4x.png) calc(50% - 770px) 340px / 90px auto no-repeat;
  }
  .top_subject::after {
    content: "";
    position: absolute;
    right: 0;
    top: 100px;
    bottom: 0;
    width: 500px;
    mask: linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);
    background: url(../img/top/bg_subject_pc_2x.webp) 50% 0% / cover no-repeat;
        z-index: -1;
  }
  .top_subject_bnr_inner {
    font-size: 16px;
  }
}



/*==================================================================

診療科目 ここまで
 
==================================================================*/


/*==================================================================

診療メニュー

==================================================================*/

.top_treatment {
  padding-top: 52px;
  padding-bottom: 52px;
  position: relative;
  background-color: #F8F6E5;
  z-index: 2;
}
.top_treatment::before {
  content: "";
  position: absolute;
  z-index: 5;
  left: 0;
  width: 100%;
  top: -30px;
  height: 120px;
  pointer-events: none;
}
.top_treatment.lazyloaded::before {
  /* background: url(../img/top/ico_top_treatment01.svg) calc(50% - 140px) 0 / 50px auto no-repeat,
  url(../img/top/ico_top_treatment02.svg) 100% 0 / 118px auto no-repeat; */
  background: url(../img/top/ico_top_treatment01_4x.png) calc(50% - 140px) 0 / 50px auto no-repeat,
  url(../img/top/ico_top_treatment02_4x.png) 100% 0 / 118px auto no-repeat;
}
.top_treatment_inner {
  margin-left: auto;
  margin-right: auto;
}
.top_treatment_bnr {
  display: grid;
  grid-gap: 15px;
  /* grid-template-columns: repeat(2, 130px); */
  justify-content: center;
  max-width: 90%;
  grid-template-columns: repeat(2, auto);
  margin: auto;
}
.top_treatment_bnr li {
    max-width: 170px;
}

.top_treatment_bnr a {
  display: block;
  position: relative;
}

.top_treatment_bnr img {
  width: 100%;
  display: block;
  z-index: 1;
  transition: filter 0.2s ease;
}
.top_treatment_bnr a:hover img {
  filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.2));
}
@media (min-width: 768px) and (max-width: 959px) {
  .top_treatment_bnr {
    grid-template-columns: repeat(4, auto);
  }
}

@media (min-width: 960px) {
  .top_treatment {
    padding-bottom: 120px;
  }
  .top_treatment::before {
    background: none;
    left: 0;
    width: 100%;
    top: 0;
    bottom: 0;
    height: unset;
  }
  .top_treatment::after {
    content: "";
    position: absolute;
    background: none;
    left: 0;
    width: 100%;
    top: -60px;
    bottom: 0;
    pointer-events: none;
  }
  .top_treatment_bnr {
    grid-gap: 17px;
    grid-template-columns: repeat(5, 1fr);
    max-width: 900px;
    margin: auto;
  }
}
@media (min-width: 1120px) {
  .top_treatment.lazyloaded::before {
    background: url(../img/top/ico_top_treatment01_4x.png) calc(50% - 530px) 100px / 70px auto no-repeat;
  }
}
@media (min-width: 1320px) {
  .top_treatment.lazyloaded::after {
    background: url(../img/top/img_top_treatment_01_2x.webp) calc(50% + 620px) 350px / 190px auto no-repeat;
  }
}
@media (min-width: 1520px) {
  .top_treatment {
  }
  .top_treatment.lazyloaded { 
    background: url(../img/top/img_doctor_kiri_2x.webp) calc(50% - 630px) 100% / 310px auto no-repeat,#F8F6E5;
  }
}
@media (min-width: 1620px) {
  .top_treatment.lazyloaded::before {
    background: url(../img/top/ico_top_treatment01_4x.png) calc(50% - 530px) 100px / 70px auto no-repeat,
   url(../img/top/ico_top_treatment02_4x.png) calc(50% + 740px) 500px / 200px auto no-repeat;
  }
}
@media (min-width: 1820px) {
  .top_treatment.lazyloaded::before {
    background: url(../img/top/ico_top_treatment01_4x.png) calc(50% - 530px) 100px / 70px auto no-repeat,
   url(../img/top/ico_top_treatment02_4x.png) calc(50% + 740px) 500px / 200px auto no-repeat,
   url(../img/top/ico_top_treatment03_4x.png) calc(50% - 840px) calc(100% - 20px) / 70px auto no-repeat;
  }
  .top_treatment.lazyloaded::after {
    background: url(../img/top/img_top_treatment_01_2x.webp) calc(50% + 620px) 350px / 190px auto no-repeat,
    url(../img/top/img_top_treatment_02_2x.webp) calc(50% + 740px) 0 / 290px auto no-repeat;
  }
}

@media (min-width: 960px) and (max-width: 1239px) {
  .top_treatment_inner {
    max-width: 95%;
  }
}


/*==================================================================

診療メニュー ここまで
 
==================================================================*/


/*==================================================================

医院の特徴 上部タイトル

==================================================================*/

.top_feature {
  padding-top: 40px;
  position: relative;
  background: #DFF2D9;
  z-index: 2;
}
.top_h2_feature {
  line-height: 1.2;
  position: relative;
  z-index: 5;
}
.top_feature_title_name {
  font-size: 50%;
  letter-spacing: 0.1em;
}
.top_feature_title_main {
  font-size: 140%;
}
.top_h2_feature .subtitle {
  margin-top: 10px;
}
.top_h2_feature .top_h2_inner {
  padding: 20px 60px 0;
  position: relative;
}
.top_feature_text {
  text-align: center;
  max-width: 95%;
  margin: 0 auto 70px;
  position: relative;
  z-index: 5;
}
@media (min-width: 380px){
  .top_h2_feature .top_h2_inner::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    right: 0;
    pointer-events: none;
  }
  .top_feature.lazyloaded .top_h2_feature .top_h2_inner::before {
    background: url(../img/top/ico_feature_left_4x.png) calc(50% - 150px) 10px / contain no-repeat,
    url(../img/top/ico_feature_right_4x.png) calc(50% + 150px) 10px / contain no-repeat;
  }
}
@media (min-width: 960px){
  .top_feature.lazyloaded .top_h2_feature .top_h2_inner::before {
    background-position: calc(50% - 240px) 10px,calc(50% + 240px) 10px;
  }
}

/*==================================================================

医院の特徴 背景

==================================================================*/

.top_feature_bg {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}
.top_feature_bg svg {
  width: 800%;
  height: 100%;
  visibility: hidden
}
.top_feature.lazyloaded .top_feature_bg svg {
  visibility: visible;
}
.top_feature_bg use {
		animation:wave linear 4s infinite;
}
/* .top_feature_bg use:nth-of-type(1) {
  fill: #DFF2D9;
} */
.top_feature_bg use:nth-of-type(1) {
  fill: #FAF4C2;
}
.top_feature_bg use:nth-of-type(2) {
  fill: #FCE8EB;
}
.top_feature_bg use:nth-of-type(3) {
  fill: #CFF5ED;
}
.top_feature_bg use:nth-of-type(4) {
  fill: #fff;
}

@keyframes wave {
	from {
		transform:translate(0);
	}
	to {
		transform:translate(-50%);
	}
}
@media (min-width: 960px){
  .top_feature_bg svg {
     width: 400%;
  }
}
/*==================================================================

医院の特徴 各説明

==================================================================*/

.top_feature_box {
  padding: 0 0 75px;
  position: relative;
  z-index: 5;
}
.top_feature_box_img {
  max-width: 61%;
  margin: 0 auto 35px;
  border-radius: 50%;
  position: relative;
  z-index: 2;
}
.top_feature_box_title {
  font-size: 24px;
  max-width: 90%;
  margin: 0 auto 20px;
  font-weight: 500;
  line-height: 1.5;
}
.top_feature_box_text {
  max-width: 90%;
  margin: 0 auto;
}
.top_feature_box_img img {
  position: relative;
  z-index: 5;
}

@media (min-width: 640px){
  .top_feature_box_img {
      max-width: 350px;
  }
  .top_feature_box_title {
    /* max-width: 70%; */
    max-width: 500px;
    width: fit-content;
  }
  .top_feature_box_text {
    /* max-width: 80%; */
    max-width: 540px;
    width: fit-content;
  }
}
@media (min-width: 960px){
  .top_feature_box {
    display: grid;
    grid-template-columns: 420px 400px;
    grid-template-rows: 1fr auto;
    justify-content: center;
    gap: 0 50px;
    align-items: end;
  }
  .top_feature_box_img {
    grid-row: 1 / 3;
    max-width: 100%;
  }
  .top_feature_box01,
  .top_feature_box03 {
    direction: rtl;
  }
  .top_feature_box01 > *,
  .top_feature_box03 > * {
    direction: ltr;
  }
  .top_feature_box_title {
    max-width: 80%;
  }
  .top_feature_box_text {
    max-width: 100%;
    padding-bottom: 40px;
  }
  .top_feature_box_img_num {
    display: none;
  }
  .top_feature_box_title {
    padding-top: 90px;
    margin-top: 0;
    position: relative;
  }
  .top_feature_box_title::before {
    font-family: "fot-tsukuardgothic-std", sans-serif;
    font-size: 52px;
    border-radius: 50%;
    color: #fff;
    position: absolute;
    z-index: 10;
    left: calc(50% - 35px);
    top: 0;
    font-weight: bold;
    width: 70px;
    height: 70px;
    text-align: center;
    line-height: 64px;
  }
  .top_feature_box01 .top_feature_box_title::before {
    content: "1";
    background: rgba(53, 169, 19, 1);
  }
  .top_feature_box02 .top_feature_box_title::before {
    content: "2";
    background: rgba(244, 197, 74, 1);
  }
  .top_feature_box03 .top_feature_box_title::before {
    content: "3";
    background: rgba(250, 130, 148, 1);
  }
  .top_feature_box04 .top_feature_box_title::before {
    content: "4";
    background: rgba(60, 196, 165, 1);
  }
}


/* 画像位置調整
------------------------------------*/
.top_feature_box01 .top_feature_box_img,
.top_feature_box03 .top_feature_box_img,
.top_feature_box04 .top_feature_box_img {
  padding: 0 5px 0 0;
}
.top_feature_box02 .top_feature_box_img {
  padding: 0 0 0 5px;
}

/* 画像の背景設定
------------------------------------*/
.top_feature_box_img::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
    border-radius: 50%;
}
.top_feature_box01 .top_feature_box_img::before {
  background: rgba(53, 169, 19, 0.3);
  width: 110%;
  height: 110%;
  margin: -10px -10px;
}
.top_feature_box02 .top_feature_box_img::before {
  background: rgba(244, 197, 74, 0.3);
  width: 105%;
  height: 104%;
  margin: -30px -30px;
}
.top_feature_box03 .top_feature_box_img::before {
  background: rgba(250, 130, 148, 0.3);
  width: 112%;
  height: 112%;
  margin: -10px -10px;
}
.top_feature_box04 .top_feature_box_img::before {
  background: rgba(60, 196, 165, 0.3);
  width: 105%;
  height: 105%;
  margin: 30px 0px;
}


/* 画像上の数字設定
------------------------------------*/
.top_feature_box_img_num {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 52px;
  border-radius: 50%;
  color: #fff;
  position: absolute;
  z-index: 10;
  left: 10px;
  top: 0;
  font-weight: bold;
  width: 70px;
  height: 70px;
  text-align: center;
    line-height: 64px;
}

.top_feature_box01 .top_feature_box_img_num {
  background: rgba(53, 169, 19, 1);
}
.top_feature_box02 .top_feature_box_img_num {
  background: rgba(244, 197, 74, 1);
}
.top_feature_box03 .top_feature_box_img_num {
  background: rgba(250, 130, 148, 1);
}
.top_feature_box04 .top_feature_box_img_num {
  background: rgba(60, 196, 165, 1);
}
/* 画像近くのアイコン
------------------------------------*/

.top_feature_box_img::after {
  content: "";
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
.top_feature.lazyloaded .top_feature_box01 .top_feature_box_img::after {
  bottom: -10px;
  right: -60px;
  width: 50px;
  height: 50px;
  background: url(../img/top/ico_feature_01_4x.png) 0% 0% / contain no-repeat;
}

.top_feature.lazyloaded .top_feature_box02 .top_feature_box_img::after {
  bottom: -15px;
  left: -60px;
  width: 60px;
  height: 80px;
  background: url(../img/top/ico_feature_02_4x.png) 0% 0% / contain no-repeat;
}
.top_feature.lazyloaded .top_feature_box03 .top_feature_box_img::after {
  top: -35px;
  left: -60px;
  right: -60px;
  bottom: -30px;
  background: url(../img/top/ico_feature_03_01_4x.png) 100% 0% / 82px auto no-repeat,
  url(../img/top/ico_feature_03_02.svg) 0% 100% / 55px auto no-repeat;
}
.top_feature.lazyloaded .top_feature_box04 .top_feature_box_img::after {
  top: 10px;
  right: -60px;
  bottom: -30px;
  width: 80px;
  background: url(../img/top/ico_feature_04_01_4x.png) 100% 0% / 35px auto no-repeat,
  url(../img/top/ico_feature_04_02.svg) 0% 100% / 85px auto no-repeat;
}

@media (min-width: 960px) and (max-width: 1239px) {
  .top_feature.lazyloaded .top_feature_box01 .top_feature_box_img::after,
  .top_feature.lazyloaded .top_feature_box02 .top_feature_box_img::after,
  .top_feature.lazyloaded .top_feature_box03 .top_feature_box_img::after
  .top_feature.lazyloaded .top_feature_box04 .top_feature_box_img::after {
    display: none;
  }
}
@media (min-width: 1240px) {  
  .top_feature.lazyloaded .top_feature_box01 .top_feature_box_img::after {
    bottom: unset;
    top: -100px;
    right: -100px;
    width: 70px;
    height: 70px;
  }
  .top_feature.lazyloaded .top_feature_box02 .top_feature_box_img::after {
    bottom: unset;
    top: -100px;
    left: -120px;
    width: 80px;
    height: 90px;
  }
  .top_feature.lazyloaded .top_feature_box03 .top_feature_box_img::after {
    top: -75px;
    left: calc(-100% + -130px);
    right: -170px;
    bottom: -30px;
    background: url(../img/top/ico_feature_03_01_4x.png) 100% 0% / 122px auto no-repeat,
    url(../img/top/ico_feature_03_02_4x.png) 0% 20% / 65px auto no-repeat,
     url(../img/top/ico_feature_04_01_4x.png) 100% 60% / 50px auto no-repeat;
  }
  .top_feature.lazyloaded .top_feature_box04 .top_feature_box_img::after {
    top: 10px;
    right: -480px;
    bottom: -30px;
    width: unset;
    left: -100px;
    background: url(../img/top/ico_feature_04_02_4x.png) 100% 0% / 105px auto no-repeat,
    url(../img/top/ico_feature_04_03_4x.png) 0% 20% / 65px auto no-repeat;
  }
}
/* タイトル上のマージン
------------------------------------*/
.top_feature_box01 .top_feature_box_title {
  margin-top: 50px;
}
.top_feature_box03 .top_feature_box_title {
  margin-top: 60px;
}
.top_feature_box04 .top_feature_box_title {
  margin-top: 70px;
}
@media (min-width: 960px) {  
  .top_feature_box01 .top_feature_box_title,
  .top_feature_box03 .top_feature_box_title,
  .top_feature_box04 .top_feature_box_title {
    margin-top: 0;
  }
}

/*==================================================================

医院の特徴 先生切り抜き

==================================================================*/
.top_feature {
  padding-bottom: 310px;
  position: relative;
  z-index: 5;;
}
.top_feature.lazyloaded::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 350px;
  background: url(https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/img_feature_bottom.webp) calc(50% + 50px) 100% / 300px auto no-repeat,
  url(../img/top/ico_feature_bottom_4x.png) calc(50% - 130px) 100% / 125px auto no-repeat;
        z-index: 5;
}
@media (min-width: 960px) {  
  .top_feature {
    padding-bottom: 280px;
    overflow: hidden;
  }
  .top_feature.lazyloaded::before {
    background-position: 100% 100%, 0  100%;
    width: 80%;
    left: 10%;
  }
}
/*==================================================================

医院の特徴 PC版　周囲写真画像

==================================================================*/
@media (min-width: 1440px){
  .top_feature.lazyloaded .top_feature_box01::before {
    content: "";
    position: absolute;
    left: calc(50% - 600px);
    top: -180px;
    width: 280px;
    height: 280px;
    background: url(https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/img_examination_pc_01.webp) 0 0 / contain no-repeat;
  }
  .top_feature.lazyloaded .top_feature_box02::before {
    content: "";
    position: absolute;
    left: calc(50% + 490px);
    top: calc(50% - 220px);
    width: 240px;
    height: 220px;
    background: url(https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/img_examination_pc_02.webp) 0 0 / contain no-repeat;
  }
  .top_feature.lazyloaded .top_feature_box03::before {
    content: "";
    position: absolute;
    left: calc(50% - 730px);
    top: calc(50%);
    width: 200px;
    height: 200px;
    background: url(https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/img_examination_pc_03.webp) 0 0 / contain no-repeat;
  }
}
/*==================================================================
1920px以上の調整（vw指定でバランスを維持）
==================================================================*/
@media (min-width: 1920px) {
  /* 全体コンテナ */
  .top_feature {
    padding-top: 2.083vw; /* 40px */
    padding-bottom: 14.583vw; /* 280px */
  }

  /* タイトル周り */
  .top_h2_feature .top_h2_inner {
    padding: 1.042vw 3.125vw 0; /* 20px 60px 0 */
  }
  
  .top_h2_feature .top_h2_inner::before {
    /* アイコン位置をvwで調整 */
    background-position: calc(50% - 12.5vw) 0.521vw, calc(50% + 12.5vw) 0.521vw; /* 240px 10px */
  }

  .top_feature_text {
    margin: 0 auto 3.646vw; /* 70px */
  }

  /* コンテンツボックス（グリッド） */
  .top_feature_box {
    grid-template-columns: 21.875vw 20.833vw; /* 420px 400px */
    gap: 0 2.604vw; /* 50px */
    padding-bottom: 3.906vw; /* 75px */
  }

  /* 見出しとテキスト */
  .top_feature_box_title {
    font-size: 1.25vw; /* 24px */
    margin-bottom: 1.042vw; /* 20px */
    padding-top: 4.688vw; /* 90px */
  }

  .top_feature_box_text {
    padding-bottom: 2.083vw; /* 40px */
    font-size: 0.833vw; /* 16px目安 */
  }

  /* 数字の丸いアイコン */
  .top_feature_box_title::before,
  .top_feature_box_img_num {
    width: 3.646vw; /* 70px */
    height: 3.646vw; /* 70px */
    font-size: 2.708vw; /* 52px */
    line-height: 3.333vw; /* 64px */
    left: calc(50% - 1.823vw); /* 70pxの半分 */
  }

  /* 装飾用背景画像（PC用） */
  .top_feature.lazyloaded .top_feature_box01::before {
    left: calc(50% - 31.25vw); /* 600px */
    top: -9.375vw; /* -180px */
    width: 14.583vw; /* 280px */
    height: 14.583vw; /* 280px */
  }
  .top_feature.lazyloaded .top_feature_box02::before {
    left: calc(50% + 25.521vw); /* 490px */
    top: calc(50% - 11.458vw); /* 220px */
    width: 12.5vw; /* 240px */
    height: 11.458vw; /* 220px */
  }
  .top_feature.lazyloaded .top_feature_box03::before {
    left: calc(50% - 38.021vw); /* 730px */
    width: 10.417vw; /* 200px */
    height: 10.417vw; /* 200px */
  }

  /* 擬似要素アイコンの調整 (::after) */
  .top_feature.lazyloaded .top_feature_box01 .top_feature_box_img::after {
    top: -5.208vw; /* -100px */
    right: -5.208vw;
    width: 3.646vw;
    height: 3.646vw;
  }
  .top_feature.lazyloaded .top_feature_box02 .top_feature_box_img::after {
    top: -5.208vw;
    left: -6.25vw; /* -120px */
    width: 4.167vw;
    height: 4.688vw;
  }

  /* 下部の先生切り抜き画像 */
  .top_feature.lazyloaded .top_feature::before {
    height: 18.229vw; /* 350px */
    background-size: 15.625vw auto, 6.51vw auto; /* 300px, 125px */
    /* background-position: calc(50% + 2.604vw) 100%, calc(50% - 6.771vw) 100%; */
  }
}
/*==================================================================

医院の特徴終わり

==================================================================*/



/*==================================================================

定期検診

==================================================================*/

.top_examination {
  padding: 51px 4%;
  text-align: center;
  color: #fff;
  position: relative;
  font-size: 18px;
}
.top_h2_examination {
  color: #fff;
}
.bg_top_examination {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.bg_top_examination::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: rgba(135, 185, 173, 0.78);
}

.bg_top_examination img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  z-index: -2;
}

.top_examination_btn {
  margin-top: 40px;
}

.top_examination_btn a {
  display: block;
  max-width: 288px;
  padding: 10px;
  border: 1px solid transparent;
  color: #fff;
  text-decoration: none;
  position: relative;
  margin: auto;
  background: rgba(60, 196, 165, 1);
}

.top_examination_btn a::after {
  content: "";
  position: absolute;
  right: 10px;
  width: 13.5px;
  height: 13.5px;
  top: 50%;
  translate: 0 -50%;
  clip-path: polygon(100% 50%, 0 0, 0 100%);
  background: #fff;
}

.top_examination_btn a:hover {
  background: #fff;
  color: rgba(60, 196, 165, 1);
  border-color: rgba(60, 196, 165, 1);
}

.top_examination_btn a:hover::after {
  background: rgba(60, 196, 165, 1);
}

.top_examination_btn a::after {}

@media (min-width: 960px) {
  .top_examination h2 {
    font-size: 45px;
  }
}

@media (min-width: 1560px) {
  .img_top_examination {
    width: 500px;
    right: 50%;
    left: unset;
    margin-right: 260px;
  }
}

@media (max-width: 959px) {
  .top_examination {
    padding: 55px 3.75% 175px 3.75%;
  }

  .img_top_examination {
    left: 50%;
    width: 290px;
    margin-left: -320px;
  }

  .top_examination h2 {
    max-width: 7em;
    margin-left: auto;
    margin-right: auto;
    font-size: 38px;
    line-height: 1.2;
  }

  .top_examination h2 .jp {
    padding-bottom: 10px;
    display: block;
  }

  .bg_top_examination img {
    object-position: 75% 50%;
  }
}

@media (max-width: 559px) {
  .top_examination {
    padding: 55px 5vw 133px;
  }

  .top_examination h2 .jp {
    padding-bottom: 5px;
  }

  .top_examination_inner {
    text-align: left;
  }

  .img_top_examination {
    left: 10vw;
    width: 230px;
    height: 100%;
    pointer-events: none;
    margin: 0 0 0 -80px;
  }

  .top_examination_btn {
    text-align: center;
  }

  .top_examination_btn a {
    margin: 0 auto;
    max-width: calc(100% - 120px);
    padding: 10px 20px 10px 10px;
  }

  .top_examination_inner p {
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 399px) {
  .top_examination_btn a {
    max-width: 100%;
    margin-right: 10px;
  }
}

/*==================================================================

定期検診終わり

==================================================================*/


/*==================================================================

動画欄

==================================================================*/


.top_movie {
  position: relative;
  height: 200vw;
  padding: 5% 5% 22% 5%;
  display: grid;
  align-items: end;
}
.bg_top_movie {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.top_movie_inner {
  position: relative;
  padding: 40px;
}
.top_movie_inner::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #35A913;
  mix-blend-mode: multiply;
  border-radius: 10vw;
  pointer-events: none;
}
.top_movie_inner h2 {
  color: #fff;
}
.movie_demo {
  width: 100%;
  padding-top: 56.28%;
  background: #eee;
  position: relative;
}
.movie_demo::before {
  content: "";
  position: absolute;
  background: url(https://alphazeal.xtwo.jp/taka/wp-content/uploads/2026/02/ico_movie_start.svg);
  width: 60px;
  height: 60px;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
}
@media (min-width: 960px){
  .top_movie {
    min-height: 57.25vw;
    padding: 5%;
    height: unset;
    margin: auto;
  }
  .top_movie_inner {
    padding: 40px 80px 60px;
    width: 70%;
    margin: auto;
  }
  .top_movie_inner::before {
    border-radius: 4vw;
  }
  .movie_demo {
    max-width: 820px;
    padding-top: unset;
    aspect-ratio: 100 / 56.25;
    margin: auto;
  }
  .top_movie_contents {
    max-width: 80%;
    margin: auto;
  }
}
@media (min-width: 1440px){
  .top_movie_inner {
    max-width: 1074px;
  }
  .top_movie_inner::before {
    border-radius: 50px;
  }
}

/*==================================================================

動画欄終わり

==================================================================*/

/* infomation
--------------------------------------------------------------------*/

.category__list a,
.top_infomation_list a {
  display: inline-block;
}

.category__list a .post_date,
.top_infomation_list a .post_date {
  margin-right: 0.8em;
  display: inline-block;
}

.top_infomation {
  text-align: center;
}
.top_notice_info {
  margin-bottom: 30px;
}

.top_infomation_inner {
  max-width: fit-content;
  margin: 0 auto 40px;
  text-align: left;
}

.top_infomation_list a {
  color: #000;
  text-decoration: none;
  position: relative;
  display: block;
  padding: 10px 50px 10px 10px;
  border-bottom: 1px dotted #000;
}

.top_infomation_list a::after {
  content: ">";
  position: absolute;
  right: 0;
  top: 50%;
  line-height: 1;
  text-box-trim: trim-both;
  translate: 0 -50%;
}

.top_infomation_list a .date {
  display: inline-block;
  margin-right: 1em;
}
.top_infomation_btn {
    text-align: right;
    margin-top: 20px;
}

.top_infomation_btn a {
  display: inline-block;
  text-decoration: none;
  color: #000;
  padding: 0 25px 0 0;
  /* border-bottom: 1px solid #000; */
  position: relative;
  line-height: 1.2;
}
.top_infomation_btn a::after {
  content: ">";
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -11px;
}
.top_infomation_btn a:hover {
  opacity: 0.7;
}
/* 
.top_infomation_btn a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  border-right: 1px solid #000;
  height: 13px;
  transform-origin: right bottom;
  rotate: -65deg;
} */

@media (min-width: 960px) {
  .top_infomation_list a {
    padding-left: 4em;
    padding-right: 20px;
    position: relative;
    display: block;
  }
  .top_notice_info {
    margin-bottom: 0;
  }

  .top_infomation_list a .post_date {
    position: absolute;
    left: 0;
  }
}

.top_blog {
  padding: 100px 0;
  margin: auto;
  max-width: 960px;
  /* 
    max-width: 1080px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px; */
}


.top_blog h3 {
  line-height: 1.4;
  margin-bottom: 10px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, yu-mincho-pr6n, serif;
  font-size: 24px;
}

.top_blog_box .top_infomation_list {
  margin-bottom: 30px;
}

.top_blog .top_infomation_btn {
  text-align: right;
}

.accordion-item {
    margin-bottom: 10px;
    /* border-bottom: 1px solid #e0e0e0; */
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

/* チェックボックスは非表示 */
.accordion-check {
    display: none;
}

/* ラベル（見出し部分） */
.accordion-label {
    display: block;
    padding: 15px 20px;
    color: #2e7d32; /* 緑系の色 */
    font-weight: bold;
    cursor: pointer;
    position: relative;
    background: #f9fff9;
    transition: background 0.3s;
}

/* 開閉のアイコン（＋/－） */
.accordion-label::after {
    content: '+';
    position: absolute;
    right: 20px;
    font-size: 1.2rem;
}

.accordion-check:checked + h3 .accordion-label::after {
    content: '−';
}

/* 中身の隠し設定 */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out, padding 0.3s;
    padding: 0 20px;
}

/* チェックが入ったら中身を表示 */
.accordion-check:checked ~ .accordion-content {
    max-height: 500px; /* 十分な高さを設定 */
    padding: 20px;
}

/*==================================================================

インフォメーション調整終わり

==================================================================*/


/*==================================================================

TOPアクセス

==================================================================*/

.top_access {
  padding: 0 0 40px;
  /* background: linear-gradient(45deg,rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0) 80%),rgba(72,124,55,0.3); */
  position: relative;
  /* background-blend-mode: screen;
  background-image: repeating-linear-gradient(to top left, transparent, rgba(255,255,255,0.5));
  background-color: #40ae20; */
  /* animation: colorRotation 10s linear 0s infinite; */
}
/* 波のコンテナ：セクションの最上部に配置 */
.wave-animation-container {
  position: relative;
  width: 100%;
  height: 80px; /* 波の高さを調整 */
  background-color: transparent; /* 前のセクションの色が見えるように */
  line-height: 0;
}

.waves {
  position: relative;
  width: 100%;
  height: 80px;
  /* 上のセクションと密着させる */
  vertical-align: bottom;
    rotate: 180deg;
}

/* アニメーションの速度と動き（ゆったりめ） */
.parallax > use {
  animation: move-forever 20s cubic-bezier(.55,.5,.45,.5) infinite;
}
.parallax > use:nth-child(1) { animation-delay: -2s; animation-duration: 7s; }
.parallax > use:nth-child(2) { animation-delay: -3s; animation-duration: 10s; }
.parallax > use:nth-child(3) { animation-delay: -4s; animation-duration: 13s; }

@keyframes move-forever {
  0% { transform: translate3d(-90px,0,0); }
  100% { transform: translate3d(85px,0,0); }
}

@keyframes colorRotation {
  0% {
    background-color: hsl(0deg, 80%, 50%);
  }
  16.66% {
    background-color: hsl(60deg, 80%, 50%);
  }
  33.33% {
    background-color: hsl(120deg, 80%, 50%);
  }
  50% {
    background-color: hsl(180deg, 80%, 50%);
  }
  66.66% {
    background-color: hsl(240deg, 80%, 50%);
  }
  83.33% {
    background-color: hsl(300deg, 80%, 50%);
  }
  100% {
    background-color: hsl(360deg, 80%, 50%);
  }
}

.top_access_inner {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.top_access_map {
  margin-bottom: 40px;
  position: relative;
  height: 300px;
  border: 10px solid #fff;
}
.top_access_illast {
  border: 10px solid #fff;
}
.top_access_map iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

@media (min-width: 960px){
  .top_access {
    padding: 0 0 80px 0;
  }
  
.wave-container svg {
  width: 100%;
  height: 80px; /* 波の高さ（お好みで調整） */
}
  .top_access_inner {
    width: 80%;
    max-width: 1280px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .top_access_map {
    height: 100%;
  }
}

/*==================================================================

end TOPアクセス

==================================================================*/


