@charset "UTF-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&display=swap");
@import "setting" as s;
@import "setting" as s;
@import "setting" as s;
@import "setting" as s;
@import "setting" as s;
@import "setting" as s;
@import "setting" as s;
@import "setting" as s;
:root {
  --color-primary: #FFE156;
  --color-primary-tint: #FF8C2A;
  --color-primary-shade: #004E93;
  --color-bg-gray: #F5F5F5;
  --color-secondary: #E7020E;
  --color-font: #5B5959;
  --color-white: #ffffff;
  --header-color-primary-tint: #11326C;
  --header-color-font: var(--color-font);
  --footer-color-font: var(--color-font);
  --footer-color-primary: var(--color-font);
  --footer-background: #f5f5f5;
  --px130: min(calc(130px + (1vw - 19.2px) * 4.2321), 130px);
  --px90: min(calc(90px + (1vw - 19.2px) * 2.9285), 90px);
  --px80: min(calc(80px + (1vw - 19.2px) * 2.5952), 80px);
  --px74: min(calc(74px + (1vw - 19.2px) * 2.3992), 74px);
  --px70: min(calc(70px + (1vw - 19.2px) * 2.2653), 70px);
  --px68: min(calc(68px + (1vw - 19.2px) * 2.1991), 68px);
  --px58: min(calc(58px + (1vw - 19.2px) * 1.8857), 58px);
  --px56: min(calc(56px + (1vw - 19.2px) * 1.7857), 56px);
  --px50: min(calc(48px + (1vw - 19.2px) * 1.6476), 50px);
  --px48: min(calc(48px + (1vw - 19.2px) * 1.5476), 48px);
  --px46: min(calc(46px + (1vw - 19.2px) * 1.4873), 46px);
  --px40: min(calc(40px + (1vw - 19.2px) * 1.3095), 40px);
  --px36: min(calc(36px + (1vw - 19.2px) * 1.0714), 36px);
  --px34: min(calc(34px + (1vw - 19.2px) * 1.0238), 34px);
  --px32: min(calc(32px + (1vw - 19.2px) * 0.9524), 32px);
  --px28: min(calc(28px + (1vw - 19.2px) * 0.8333), 28px);
  --px26: min(calc(26px + (1vw - 19.2px) * 0.7738), 26px);
  --px24: min(calc(24px + (1vw - 19.2px) * 0.7142), 24px);
  --px20: min(calc(20px + (1vw - 19.2px) * 0.5952), 20px);
  --px16: min(calc(16px + (1vw - 19.2px) * 0.4762), 16px);
  --px14: min(calc(14px + (1vw - 19.2px) * 0.4166), 14px);
  --px12: min(calc(12px + (1vw - 19.2px) * 0.3571), 12px);
  --px10: min(calc(10px + (1vw - 19.2px) * 0.2976), 10px);
  --font-family03: "M PLUS 1", sans-serif;
}

.home #wrapper, .home .inner {
  width: 100%;
  max-width: 100% !important;
}

.post{
	font-size:var(--rem24);
}
.post p{
	font-size:var(--rem24);
}

.widearea {
  margin-right: calc((100vw - 100%) / 2 * -1);
  margin-left: calc((100vw - 100%) / 2 * -1);
}

#breadcrumb {
  background-color: #f5f5f5;
}

.home .dn, .page-contact .dn {
  display: none !important;
}

button {
  border: none !important;
}

.linkBtn {
  font-weight: bold;
}

#header a.head_btn {
  background: var(--color-primary-tint);
  padding: 0 var(--px32);
}

#header a.head_btn.tel_btn::before, #header a.head_btn.mail_btn::before {
  content: none;
}

.width-240 {
  position: relative;
  padding-left: 8px;
}

.width-240 ::before {
  content: "" !important;
  display: block !important;
  width: 1px;
  height: 60%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: var(--color-font);
}

.head_btn::before, .header__df--row::before, .fa-phone::before, .header__tel--num::before {
  content: none !important;
}

.header__tel--num {
  font-size: var(--rem24) !important;
}
.header__btn--tel {
  background-color: var(--color-white) !important;
  transition: all 0.3s ease;
  color: var(--color-font) !important;
}
.header__btn--tel:hover {
  opacity: 0.6;
}
.header__btn--contact {
  transition: all 0.3s ease;
  color: var(--color-font) !important;
}
.header__btn--contact:hover {
  opacity: 0.6;
}
.header__btn--contact > span {
  white-space: nowrap;
}
.header__btn--entry {
  background-color: var(--color-primary) !important;
  transition: all 0.3s ease;
}
.header__btn--entry:hover {
  opacity: 0.6;
}
.header__btn--entry > span {
  white-space: nowrap;
}
.header__run--time {
  font-size: var(--px12);
  color: var(--color-font) !important;
  font-weight: bold;
  line-height: 1;
  padding-top: 8px;
}
.header__df--col {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.header__df--row {
  align-items: center;
  justify-content: center;
}

#header a.head_btn {
  padding: var(--px12) var(--px32);
}

.menu-item {
  transition: opacity 0.3s ease;
}
.menu-item > a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1920px) {
  .mt-special {
    margin-top: 5% !important;
  }
}
@media screen and (max-width: 1630px) {
  .mt-special {
    margin-top: 10% !important;
  }
}
@media screen and (max-width: 1400px) {
  .mt-special {
    margin-top: 15% !important;
  }
}
.color-red {
  color: var(--color-secondary);
}

@media screen and (max-width: 480px) {
  .text-size-small__sp {
    font-size: var(--px70) !important;
  }
}

@media screen and (max-width: 1024px) {
  .padding-side__sp {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

.z-index-1 {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 1024px) {
  .sp-pb0 {
    padding-bottom: 0 !important;
  }
}

.header__contact--width > a {
  width: 100%;
  max-width: 150px;
  padding: 12px 24px !important;
}

.header__entry--width > a {
  width: 100%;
  max-width: 150px;
  padding: 12px 42px !important;
}

.width-240 > a {
  width: 100%;
  max-width: 240px;
}

@media screen and (max-width: 768px) {
  .text-center__sp {
    text-align: center !important;
  }
}

.text-center {
  text-align: center !important;
}
@media screen and (max-width: 768px) {
  .text-center__sp {
    text-align: center !important;
  }
}

.text-right {
  text-align: right !important;
}
@media screen and (max-width: 768px) {
  .text-right__sp {
    text-align: right !important;
  }
}

.btn__position {
  position: relative;
  border-radius: 0 !important;
}
.btn__position > i {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .pt10_sp {
    padding-top: 100px !important;
    margin-top: 0 !important;
  }
}

.mw-280 {
  max-width: 280px !important;
}

.mw-260 {
  max-width: 260px !important;
}

.cat-news {
  text-transform: uppercase;
}

.post .time a, .post2b .time a, .post4b .time a, .postlist .time a {
  color: var(--color-white);
}

.post .time, .postlist .time, .post2b .time, .post4b .time {
  background: var(--color-primary-tint);
  color: var(--color-white);
}

.text__df--col {
  display: flex;
  flex-direction: column;
}

.postlist li:first-child {
  border-top: 1px solid #cccccc !important;
  border-bottom: 1px solid #cccccc !important;
}

.postlist li {
  border-top: none !important;
  border-bottom: 1px solid #cccccc !important;
}

.postlist .post_text {
  padding: var(--px30) 0 !important;
}

.ta_c {
  text-align: center !important;
}

.align_end {
  align-items: end !important;
}

.font-color-black {
  color: var(--color-font) !important;
}

.font-color-white {
  color: var(--color-white) !important;
}

.section__card-title.font-color-black::after {
  background-color: var(--color-font) !important;
}

.gradient-text {
  background: linear-gradient(90deg, #015DA8 0%, #024186 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block; /* ←必要に応じて */
}

.post h2:not(.lp-section__paragraph--title,.greeting__header h2,.guide__title){
  margin: 0;
  text-align: left;
	font-size:var(--px50) !important;
}

.btn-bg-grade:hover::after, input.btn-bg-grade:hover::after, .post .btn-bg-grade:hover::after {
  border-right: 2px solid var(--color-white) !important;
  border-bottom: 2px solid var(--color-white) !important;
}

.linkBtn, .post .linkBtn {
  font-weight: normal !important;
  font-size: var(--rem20) !important;
  line-height: 1.4;
  letter-spacing: 0.1em;
  background-color: var(--color-primary-tint);
  max-width: 280px;
  text-transform: uppercase;
  border: 1px solid var(--color-primary-tint);
  transition: all 0.3s ease;
  border-radius: 0 !important;
  padding: 20px 30px 20px 10px !important;
}
.linkBtn:hover, .post .linkBtn:hover {
  opacity: 0.6;
  border: 1px solid var(--color-white);
}

.linkBtn:hover::after, input.linkBtn:hover::after, .post .linkBtn:hover::after {
  border-right: 2px solid var(--color-primary-tint);
  border-bottom: 2px solid var(--color-primary-tint);
}

.linkBtn::after, input.linkBtn::after, .post .linkBtn::after {
  width: 10px !important;
  height: 10px !important;
  border-right: 2px solid var(--color-white) !important;
  border-bottom: 2px solid var(--color-white) !important;
}

.txt_c, .post .txt_c {
  text-align: left;
}

.footer__logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--px16);
}
.footer__logo > span {
  font-size: var(--rem24) !important;
  letter-spacing: 0.04em;
  font-family: var(--font-family01);
  line-height: 1;
}

#copyright {
  margin-top: 0 !important;
}

#footer .footer__logo img {
  max-width: 560px;
}

@media screen and (max-width: 768px) {
  .front_contents {
    padding: var(--px60) 24px;
  }
}

.marker.yellow {
  background: linear-gradient(transparent 60%, var(--color-primary) 60%);
}

.linebtn .btnttl {
  margin-bottom: 0 !important;
}

/*-----------------------------
column_01
------------------------------*/
.toptxtarea {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.column01 {
  position: relative;
  margin: var(--px60) 0 0;
}

.column01_wrap {
  position: relative;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}

.column01 .txtarea {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--px80) var(--px40);
  margin: 0;
}

.column01 .txtarea .txtinner {
  max-width: 624px;
}

.column01 .imgarea {
  overflow: hidden;
  line-height: 0;
  margin: 0;
}

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

@media print, screen and (max-width: 768px) {
  .column01 .txtarea {
    padding: var(--px40) 5%;
  }
}
/*---------txtstyle-----------*/
.post .txtstyle02, .txtstyle02 {
  font-family: var(--font-family02);
  font-size: var(--rem36);
  font-weight: 600;
  text-align: left;
  margin: var(--rem36) auto;
  background: transparent;
  color: #111;
  line-height: 1.4;
  padding: 0;
}

.post .txtstyle02:before, .post .txtstyle02:after, .txtstyle02:before, .txtstyle02:after {
  content: none;
}

.post .column01 .txtstyle02, .column01 .txtstyle02 {
  font-size: var(--rem20);
  margin: var(--rem20) 0;
}

.post .txtstyle04, .txtstyle04 {
  font-family: var(--font-family03);
  font-size: var(--rem36);
  font-weight: 600;
  text-align: left;
  margin: var(--rem36) auto;
  background: transparent;
  border: none;
  color: var(--color-font);
  line-height: 1.4;
	padding:0;
}

.txtinner p{
	padding-top:var(--rem20);
}

.post .txtstyle04:before, .txtstyle04:before {
  content: none;
}

.post .column01 .txtstyle04, .column01 .txtstyle04 {
  font-size: var(--rem36);
}

.post .column01 .txtstyle04:after, .column01 .txtstyle04:after {
  content: "";
  position: relative;
  visibility: visible;
  display: block;
  width: var(--px80);
  height: 3px;
  background: var(--color-primary-tint);
  margin: var(--rem30) 0 0 0.5rem;
}

/*-----------------------------
column_02
------------------------------*/
.section__top-greeting {
  background-image: url(https://medical-mirai.com/wp-content/uploads/top-greeting-bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.column02 {
  position: relative;
  padding: var(--px120) 0;
  margin: var(--px60) 0 0;
}

.column02:before {
  content: "";
  background-image: url(https://medical-mirai.com/wp-content/uploads/top-greeting.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 80%;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
}

.column02_wrap {
  position: relative;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}

.column02 .txtarea {
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--px80) var(--px40);
  margin: 0;
}

.column02 .txtarea .txtinner {
  max-width: 540px;
}

.column02 .imgarea {
  overflow: hidden;
  line-height: 0;
  margin: 0;
}

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

/*---------txtstyle-----------*/
.post .txtstyle02:before, .post .txtstyle02:after, .txtstyle02:before, .txtstyle02:after {
  content: none;
}

.section__top-greeting .txtstyle04, .txtstyle04 {
  font-family: var(--font-family02);
  font-size: var(--px50);
  font-weight: normal;
  text-align: left;
  margin: var(--rem36) auto;
  background: transparent;
  border: none;
  color: var(--color-primary-tint);
  line-height: 1.4;
  padding: 0;
}

.post .txtstyle04:before, .txtstyle04:before {
  content: none;
}

.post .column02 .txtstyle04, .column02 .txtstyle04 {
  font-size: var(--px50);
}

.post .column02 .txtstyle04:after, .column02 .txtstyle04:after {
  content: "";
  position: relative;
  visibility: visible;
  display: block;
  width: var(--px80);
  height: 3px;
  background: var(--color-primary-tint);
  margin: var(--rem30) 0 0 0.5rem;
}

.post {
  background-color: transparent;
}

@media screen and (max-width: 768px) {
  .lp-section__top {
    padding: var(--px60) 24px;
  }
}
.lp-section__top--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
}
.lp-section__top--title {
  font-size: var(--px32) !important;
  color: var(--color-font) !important;
  font-family: var(--font-family03) !important;
  text-align: center !important;
  line-height: 1.4 !important;
}
.lp-section__top--title::after {
  width: var(--px80) !important;
  background-color: var(--color-primary-tint) !important;
}
.lp-section__top--thum {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
}
.lp-section__top--thum > img {
  width: 100%;
  height: auto;
}
.lp-section__top--bottom-title {
  font-size: var(--rem28) !important;
  font-weight: bold;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.05em;
}
.lp-section__top--bottom-text {
    font-size: var(--rem20);
  text-align:center !important;
line-height: 2.5;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .lp-section__top--bottom-text {
    font-size: var(--rem20);
  }
}
.lp-section__paragraph {
  padding: var(--px60) 0;
}
.lp-section__paragraph.dn {
	display:none;
}
@media screen and (max-width: 768px) {
  .lp-section__paragraph {
    padding: var(--px60) 0 var(--px24) 0;
  }
}
.lp-section__paragraph--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
}
.lp-section__paragraph--title {
  font-size: var(--rem28) !important;
  color: var(--color-font) !important;
  font-family: var(--font-family03) !important;
  text-align: center !important;
  line-height: 1.4 !important;
  position: relative;
  text-align: left !important;
  padding-left: var(--px20) !important;
}
.lp-section__paragraph--title::before {
  content: "" !important;
  display: block;
  width: 3px !important;
  height: 100% !important;
  position: absolute !important;
  left: 0 !important;
  background-color: var(--color-primary-tint) !important;
}
.lp-section__paragraph--title::after {
  content: none !important;
}
.lp-section__paragraph--contents p {
  font-size: var(--rem24);
  color: var(--color-font);
  line-height: 2.5;
  letter-spacing: 0.06em;
}
.lp-section__paragraph--contents ul {
  margin-left: var(--px32);
}
.lp-section__paragraph--contents li {
  list-style: disc;
  font-size:var(--rem24) !important;
  color: var(--color-font);
  line-height: 2.5;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .lp-section__paragraph--contents li {
    font-size: var(--rem20);
  }
}
.lp-section__paragraph--contents-df {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .lp-section__paragraph--contents-df {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.lp-section__paragraph--contents-df a {
  width: 100%;
  max-width: 620px;
}

.fullwide a {
  width: 100%;
  max-width: 1280px;
}

.bg-none {
  background-image: none !important;
  background-color: #F5F5F5;
}
h1.title,.post h1, header#h1Header h1.title {
  font-size: var(--rem60) !important;
}

.single .post h1 {
font-size: var(--rem28) !important;
}
.page-privacy h4 {
  color: var(--color-font);
  padding-left: 0 !important;
}
.page-privacy h4::before {
  content: none !important;
}

.category article a, .page-sitemap article a {
  font-size: var(--rem20);
  color: var(--color-font);
  transition: opacity 0.3s ease;
}
.category article a:hover, .page-sitemap article a:hover {
  opacity: 0.6;
}

.section__top {
  padding: var(--px100) 24px var(--px120) 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .section__top {
    padding: var(--px60) 24px;
  }
}
.section__top--bg {
  display: block;
  background-color: var(--color-primary-shade);
  width: 100%;
  height: 37.556561086%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .section__top--bg {
    height: 70%;
  }
}
.section__top--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1400px;
  position: relative;
}
.section__top-linklist {
  position: relative;
}
.section__top-linklist-bg {
  width: 100%;
  background-color: #F5F5F5;
}
.section__top-linklist-bg-1 {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(https://medical-mirai.com/wp-content/uploads/top-col-bg-1.png);
}
.section__top-linklist-bg-2 {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(https://medical-mirai.com/wp-content/uploads/top-col-bg-2.png);
}
.section__top-linklist .txtstyle04 {
  font-family: var(--font-family03);
  font-size: var(--px50) !important;
  font-weight: normal;
  line-height: 1.4;
}
.section__top-linklist .column01 {
  margin-top: 0 !important;
}
@media screen and (max-width: 768px) {
  .section__top-linklist .txtinner {
    width: 100%;
  }
}
.section__top-activity {
  padding: var(--px100) 24px var(--px120) 24px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .section__top-activity {
    padding: var(--px60) 24px;
  }
}
.section__top-activity--bg {
  display: block;
  background-color: var(--color-primary-shade);
  width: 100%;
  height: 56.5995525727%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  .section__top-activity--bg {
    height: 100%;
  }
}
.section__top-activity--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1600px;
  position: relative;
}
.section__top-activity--inner h2 {
  font-family: var(--font-family03);
  font-size: var(--px56);
  color: var(--color-white);
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-align: center !important;
}
.section__top-activity--inner h2::after {
  background-color: var(--color-primary-tint) !important;
  width: 80px !important;
}
.section__top-news {
  padding: var(--px100) 24px var(--px120) 24px;
}
@media screen and (max-width: 768px) {
  .section__top-news {
    padding: var(--px60) 24px;
  }
}
.section__top-news--inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1240px;
}
.section__top-news--inner .txt_c {
  text-align: center !important;
}

.top-message {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--px32);
}
.top-message::after {
  content: none !important;
}
.top-message__text {
  color: var(--color-font);
}
.top-message__text--first {
  display: flex;
  font-size: var(--px48);
  font-weight: bold;
  align-items: center;
  gap: var(--px20);
}
.top-message__text--second {
  font-size: var(--px30);
  line-height: 1.6;
  text-align: center;
}
.top-message__text--third {
  font-size: var(--px40);
  line-height: 1.6;
  position: relative;
  padding-left: 10px !important;
  padding-right: 10px !important;
}
@media screen and (max-width: 768px) {
  .top-message__text--third {
    background: transparent !important;
  }
}
.top-message__text--yellow {
  white-space: nowrap;
  display: inline-block;
  background-color: var(--color-primary) !important;
  padding: var(--px20) !important;
  align-content: center;
  line-height: 1;
  text-align: center;
}
.top-activity__link {
  width: 100%;
  display: flex;
  gap: var(--px58);
  justify-content: center;
}
@media screen and (max-width: 1024px) {
  .top-activity__link {
    flex-direction: column;
    align-items: center;
  }
}
.top-activity__link--item {
  display: block;
  width: 100%;
  max-width: 770px;
  position: relative;
}
.top-activity__link--item > img {
  position: relative;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .top-activity__link--item > img {
    min-height: 250px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.top-activity__link--contents {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: space-between;
  flex-direction: column;
  position: absolute;
  top: 0;
  padding: var(--px70) var(--px80);
}
@media screen and (max-width: 1240px) {
  .top-activity__link--contents {
    padding: var(--px30) var(--px40);
  }
}
.top-activity__link--contents-title {
  font-family: var(--font-family03);
  color: var(--color-white);
  font-size: var(--px50) !important;
  line-height: 1.4;
}
.top-activity__link--contents-title::after {
  content: "" !important;
  width: var(--px80);
  height: 3px;
  display: block;
  position: relative;
  bottom: -15px;
  background-color: var(--color-white);
}
.top-activity__link--contents-text {
  font-size: var(--rem16) !important;
  line-height: 2;
  color: var(--color-white);
}
@media screen and (max-width: 768px) {
  .top-activity__link--contents-text {
    font-size: var(--rem20);
  }
}
.top-activity__link .linkBtn {
  background-color: var(--color-white) !important;
  color: var(--color-primary-shade) !important;
  border: 1px solid var(--color-white) !important;
}
.top-activity__link .linkBtn::after {
  border-right: 2px solid var(--color-primary-shade) !important;
  border-bottom: 2px solid var(--color-primary-shade) !important;
}
.top-news__title {
  font-family: var(--font-family03) !important;
  font-weight: normal !important;
  color: var(--color-font) !important;
  font-size: var(--px56) !important;
  line-height: 1.4 !important;
  text-align: center !important;
}
.top-news__title::after {
  background-color: var(--color-primary-tint) !important;
  width: var(--px80);
}

.card-list {
  display: flex;
  gap: var(--px40);
}
@media screen and (max-width: 768px) {
  .card-list {
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
}
.card-list__item {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 440px;
  background-color: var(--color-white);
}
.card-list__item--thum {
  width: 100%;
}
.card-list__item--thum > img {
  width: 100%;
  height: auto;
}
.card-list__item--bottom {
  gap: var(--px30);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--color-white);
  padding: var(--px30) var(--px46) var(--px46) var(--px46);
}
.card-list__item--title {
  font-family: var(--font-family03);
  font-size: var(--rem24) !important;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
.card-list__item--text {
  font-family: var(--font-family03);
  font-size: var(--rem16);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .card-list__item--text {
    font-size: var(--rem20);
  }
}

.problem__table {
  border-top: 1px solid #fff;
  border-left: none !important;
  border-right: none !important;
}
.problem__table tr {
  padding: 16px 8px;
  border-bottom: 1px solid #fff;
}
.problem__table th {
	 font-size: var(--rem24) !important;
  font-weight: bold;
  align-content: center;
  color: var(--color-white) !important;
  background-color: #004E93 !important;
}
.problem__table th, .problem__table td {
  line-height: 2;
  border-left: none !important;
  border-right: none !important;
}
.problem__table td {
	 font-size: var(--rem20) !important;
  color: var(--color-font);
}
.problem__table ul {
  display: flex;
  flex-direction: column;
}
.problem__table li {
  list-style: disc;
  font-size: var(--rem20) !important;
}
.problem__list {
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  padding: 24px;
}
.problem__list p {
  font-size: var(--rem20);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-table-border);
}
.problem__list p span {
  color: var(--color-primary-shade);
  padding-right: 8px;
}
.problem__list--item li {
  list-style: disc;
  font-size: var(--rem20);
}
@media screen and (max-width: 768px) {
  .problem__list--item li {
    font-size: var(--rem20);
  }
}
.problem__list--title {
  font-weight: bold;
  font-size: var(--rem28) !important;
}
.problem__list--title span {
  color: var(--color-primary-shade);
}

.activity__table th {
  text-align: center !important;
}
.activity__table li {
  font-size: var(--rem20) !important;
}
.activity__table td {
  align-content: center !important;
}
.activity__table td p {
  width: 100% !important;
  text-align: center !important;
	padding-top:0;
}
.activity__table td:nth-child(2) {
  border-left: 1px solid var(--color-table-border) !important;
  border-right: 1px solid var(--color-table-border) !important;
}
.activity__table td:nth-child(1) {
  border-left: 1px solid var(--color-table-border) !important;
	background-color:#EEEEEE;
}
.activity__table td:nth-child(3) {
  border-right: 1px solid var(--color-table-border) !important;
	background-color:#EEEEEE;
}

.guide__header {
  padding-bottom: 8px;
  border-bottom: 1px solid #ddd;
}
.guide__header h2 {
  font-size: var(--rem36) !important;
  color: var(--color-font);
  font-weight: bold;
	    margin-bottom: 0;
    text-align: left;
}
.guide__header h2::after {
  content: none !important;
}
.guide__contents ul {
  display: flex;
  flex-direction: column;
  gap: var(--px20);
}
.guide__contents--title {
  font-weight: bold;
}
.guide__contents--text, .guide__contents--small {
  font-size: var(--rem16);
}
@media screen and (max-width: 768px) {
  .guide__contents--text, .guide__contents--small {
    font-size: var(--rem20);
  }
}

.greeting__header h2 {
  font-size: var(--rem30);
  font-weight: bold;
  text-align: center !important;
  color: var(--color-font);
}
.greeting__header h2::after {
  content: none !important;
}
.greeting--title {
  font-size: var(--rem24) !important;
  color: var(--color-font);
}
.greeting__contents p {
  font-size: var(--rem24);
	line-height:1.5;
  color: var(--color-font);
}
@media screen and (max-width: 768px) {
  .greeting__contents p {
    font-size: var(--rem20);
  }
}
.greeting__contents--df {
  display: flex;
gap: var(--px60);
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .greeting__contents--df {
    flex-direction: column;
    align-items: center;
  }
}
.greeting__contents--director {
  width: 100%;
  /*max-width: 500px;*/
  display: flex;
  flex-direction: column;
  gap: var(--px24);
  align-items: center;
}

.greeting__contents--director img{
width:100%;
	height:auto;
	max-width:380px;
}
.greeting__director--name {
  font-weight: bold;
  font-size: var(--rem24) !important;
  text-align: center;
}
.greeting__director--thum {
  width: 85%;
}
.greeting__director--thum img {
  width: 100%;
  height: auto;
}
.greeting__director--bottom {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.greeting__director--bottom-title {
  font-size: var(--rem24) !important;
}
.greeting__director--bottom table {
  border: none;
}
.greeting__director--bottom table tr {
  border: none;
  padding: var(--px16) 0;
}
.greeting__director--bottom table tr:nth-child(odd) {
  background-color: #dfdfdf;
}
.greeting__director--bottom table tr:nth-child(even) {
  background-color: transparent;
}
.greeting__director--bottom table th {
  background-color: transparent !important;
  border: none !important;
  white-space: nowrap;
  align-content: center;
}
.greeting__director--bottom table td {
  border: none !important;
	font-size: 20px;
	line-height:1.5;
}
.greeting__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--px24);
}
@media screen and (max-width: 768px) {
  .greeting__grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.greeting__grid--image {
  width: 100%;
  margin: 0 auto;
}
.greeting__grid--image img {
  height: auto;
  width: 100%;
}

.wpcf7-form table {
  width: 100%;
  max-width: 1240px;
  border-left: none !important;
  border-right: none !important;
}
.wpcf7-form table tr {
  border-bottom: 1px solid var(--color-table-border);
}
.wpcf7-form table th {
  background-color: transparent !important;
  border: none !important;
  padding: var(--px32) 0 !important;
  align-content: center;
  padding-right: var(--px40) !important;
  font-size: var(--px18) !important;
  width: 30% !important;
}
.wpcf7-form table td {
  border: none !important;
  align-content: center;
  padding-left: var(--px40) !important;
  font-size: var(--px18) !important;
}
.wpcf7-form table input {
  font-size: var(--px18) !important;
  height: auto;
  padding: 4px 8px;
}

.contact__text {
  text-align: center;
  padding: var(--px60) 24px !important;
}
.contact__text--size {
  font-size: var(--px18) !important;
}
.contact__df {
  display: flex !important;
  justify-content: center;
}
.contact__df .wpcf7-form-control-wrap {
  width: auto !important;
}
.contact__privacy {
  color: var(--color-font);
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
.contact__privacy:hover {
  opacity: 0.7;
  color: var(--color-font);
}

.must {
  background-color: #00ADED !important;
  font-size: var(--px18) !important;
}

.subimitarea .linkBtn {
  border: none;
  padding: 0 !important;
  background: linear-gradient(to right, #63AADE, #2BB7E9);
}
.subimitarea .linkBtn:hover {
  opacity: 0.6;
  background: linear-gradient(to right, #63AADE, #2BB7E9);
  border: none;
}
.subimitarea .linkBtn input {
  background-color: transparent !important;
}

.page-join #breadcrumb, .page-contact #breadcrumb, .page-thanks #breadcrumb {
  background-color: transparent !important;
}

.page-thanks h2 {
  text-align: center;
  color: var(--color-font);
}
.page-thanks h2::after {
  background: var(--color-primary-tint);
}

/*-----------------------------
cta01_col3
------------------------------*/
.cta01 {
  background-image: url(https://medical-mirai.com/wp-content/uploads/top-cta-bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 0;
}

.cta01 .cta01_wrap {
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  padding: var(--px140);
}

.cta01_wrap h2{
	text-align:center !important;
}

.cta01 .ctabtnlist {
  justify-content: space-between;
  max-width: 100%;
  margin: var(--px50) auto 0 auto;
}

.cta01 .ctabtnlist li {
  width: 50%;
  margin: 0;
  padding: 0;
  line-height: 1;
  display: flex;
}

.cta01 a.item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--px60) 0;
  text-align: center;
  box-sizing: border-box;
  color: #111;
  border-radius: 0;
  transition: all ease 0.15s;
}

.cta01 a.item:hover {
  opacity: 0.8;
}

@media print, screen and (max-width: 768px) {
  .cta01 .ctabtnlist li, .cta01 .ctabtnlist a.item {
    width: 100%;
  }
  .cta01 .ctabtnlist li + li {
    margin-top: 1rem;
  }
}
/*ボタン共通パーツ*/
.cta01 .btnttl {
  display: block;
  font-weight: bold;
  margin-bottom: 1rem;
}

.cta01 .infotxt {
  font-size: var(--rem16);
  font-weight: 400;
}

/*メールボタン*/
.cta01 .mailbtn .btnttl {
  font-size: var(--rem24);
}

.cta01 a.mailbtn {
  background: var(--color-primary-tint);
  color: var(--color-white);
}

.cta01 a.entrybtn {
  background: var(--color-primary);
  color: var(--color-font);
}

/*LINEボタン*/
.cta01 a.linebtn {
  background: #06C755;
  color: var(--color-white);
}

.cta01 .linebtn .btnttl {
  font-size: var(--rem24);
}

/*ボタンアイコン*/
.cta01 .telnum::before, .cta01 .mailbtn .btnttl::before, .cta01 .linebtn .btnttl::before {
  content: "";
  display: inline-block;
  font-family: "Font Awesome 5 Free", "FontAwesome";
  font-weight: 900;
  margin-right: 1rem;
}

.cta01 .telnum::before {
  content: "\f3cd";
}

.cta01 .mailbtn .btnttl::before {
  content: "\f0e0";
}

.cta01 .linebtn .btnttl::before {
  content: "\f3c0";
  font-weight: 400;
}

.cta01 h2 {
  font-family: var(--font-family03);
  font-size: var(--px56);
  color: var(--color-white);
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.02em;
  font-weight: normal;
}
.cta01 h2::after {
  width: var(--px80);
  background-color: var(--color-white) !important;
}
.cta01 .txt_c {
  font-size: var(--px26);
  color: var(--color-white);
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.header__contact {
  display: flex;
  gap: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.header__contact .mail_btn {
  background-color: var(--color-primary-tint);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: var(--color-white);
}
.header__contact .entry_btn {
  background-color: var(--color-primary) !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: var(--color-font) !important;
  transition: all 0.3s ease;
}
.header__contact .entry_btn:hover {
  background: var(--header-color-primary-tint) !important;
  color: var(--color-white) !important;
}

.future__table tbody th{
	text-align:center !important;
}

.future__table tbody td i{
	color:#FF0000 !important;
}

/*20250813*/
.problem__list {
    max-width: 1100px !important;
}

/*20250826*/
/*--contact_area-------------------------------------*/

.contact_area {
    padding: min(calc(80px + (1vw - 19.2px) * 2.5890), 80px);/*80px-40px (1920-375)x*/
    text-align: center;
    background: #f7f7f7;
    margin-top: min(calc(120px + (1vw - 19.2px) * 2.5890), 120px);
}

.contact_area h2{
	font-size:var(--rem24); 	
}

.post .contact_ttl {
	font-size:var(--rem24); 
	font-weight: 600;
	text-align: center;
	letter-spacing: .2rem;
	padding: 0;
	margin: min(calc(120px + (1vw - 19.2px) * 3.5599), 120px) auto min(calc(50px + (1vw - 19.2px) * 0.9709), 50px); /* 120-65px auto 50-35px (1920-375) */
}
.post .contact_ttl::before {
	content: none;
	position: relative;
	width: auto;
	height: auto;
	top: auto;
	left: auto;
}
.post .contact_ttl::after {
	content: '';
	position: relative;
	visibility: visible;
	display: block;
	width: 2.2em;
	height: 3px;
	background: var(--color-primary);
	margin: 0.6em auto 0;
}
.contact_read {
    margin: 0 0 min(calc(30px + (1vw - 19.2px) * 0.9709), 30px);/*30px-15px (1920-375)*/
    text-align: center;
}

.contact_read >p{
	font-size:var(--rem24);
}
.button_wrap,
.post .button_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.button_wrap > *,
.post .button_wrap > * {
  margin: 10px !important;
}
.contact_area .linkBtn, .contact_area .post .linkBtn {
    padding: 0;
}

h3{
	color: var(--color-font) !important;
	border:none !important;
	background-color: var(--color-primary) !important;
    width: fit-content;
    margin-left: 0 !important;
	font-size:var(--rem28) !important;
}


.fz20{
	font-size:var(--rem20);
}

.bold{
	font-weight:bold;
}

.underline{
	text-decoration:underline;
}

.border-box{
	display:block;
	border:1px solid var(--color-primary);
	padding:var(--px32) var(--px24) !important;
}

.text-box{
	display:block;
	background-color:var(--color-bg-gray);
	padding:var(--px32) var(--px24) !important;
	border-radius:20px;
}
.dx-bg{
	position:relative;
}
.dx-bg >img{
	position:absolute;
	width:100%;
	left:0;
	top:0;
	aspect-ratio:1920/763;
	object-fit:cover;
}
.lp-section__paragraph--content-inner{
	position:relative;
	margin:0 auto !important;
	width:100%;
	max-width:var(--content-max-width);
}

.txt_c.dx-txt{
text-align:center !important;
}

.txt_c.dx-txt .large-txt{
	font-size:var(--rem30);
	line-height:1.5 !important;
	font-weight:bold;
}

.txt_c.dx-txt .medium-txt{
	font-size:var(--rem30);
}

.cyber-df{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:var(--px30);
}

.cyber-df p{
	max-width:620px;
}

.bold-underline{
	font-weight:bold;
	text-decoration:underline;
}
@media print, screen and (max-width: 768px) {
	.cyber-df{
		flex-direction: column;
	}
}