@charset "UTF-8";
@media (min-width: 431px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media only screen and (max-width: 768px) {
  .scrollUp {
    right: 3%;
    bottom: 2.5%;
    width: 50px;
  }
  br.sp {
    display: inline;
  }
  .narrow {
    transform: scaleX(0.8);
    transform-origin: left;
    display: block;
    font-size: clamp(1.05rem, -0.1591rem + 4.5455vw, 2rem);
    line-height: 160%;
    width: 125%;
  }
  /*===========================
  ライフスタイル
  ===========================*/
  .lifestyle .replace {
    background: url(images/lifestyle/2x/lifestyle-txt-deco-01@2x.png) no-repeat center;
    background-size: contain;
    width: 100%;
    position: relative;
    left: 0;
    top: 8%;
  }
  .lifestyle .replace .replace-txt {
    height: 38%;
    top: 30%;
  }
  .lifestyle .name {
    bottom: -2%;
    right: -35%;
  }
  .lifestyle .flex {
    width: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
  }
  .lifestyle .flex .flex-insert {
    order: 1;
  }
  .lifestyle .flex .space {
    order: 2;
    width: 73%;
    margin: 5% 3% 0 auto;
  }
  .lifestyle .inner {
    flex-direction: column;
    width: 100%;
    padding: 0 0 10% 0;
    background: url(images/lifestyle/lifestyle-deco-01.png) no-repeat right 11% top 24%, url(images/lifestyle/lifestyle-deco-02.png) no-repeat right bottom, url(images/lifestyle/lifestyle-bg-01.png) no-repeat right 20% bottom 32%, url(images/lifestyle/lifestyle-deco-02-reverse.png) no-repeat left 16% bottom 0%;
    background-size: 21%, 0%, 105%, 18%;
  }
  .lifestyle .head-doctor {
    width: 100%;
  }
  .lifestyle .head-doctor-image {
    width: 62%;
    margin-left: 5%;
  }
  .lifestyle .txt {
    padding: 0 5%;
  }
  /*===========================
  社内制度・福利厚生
  ===========================*/
  .rules::before {
    padding-top: 450%;
  }
  .rules .box-header {
    width: 83%;
    margin: 0 auto 2rem auto;
    background: url(images/rules/2x/rules-replace-sp.svg) no-repeat bottom left;
    background-size: contain;
  }
  .rules .box-header::before {
    padding-top: 55%;
  }
  .rules .box-header h2 {
    font-weight: 500;
    position: absolute;
    top: auto;
    bottom: 15%;
    left: 7%;
    color: #009744;
    font-size: clamp(0.75rem, -0.1591rem + 4.5455vw, 1.0625rem);
  }
  .rules .inner {
    flex-direction: column;
    background: url(images/rules/2x/rules-flower-01@2x.png) no-repeat left 5% top 24%, url(images/rules/2x/rules-flower-02@2x.png) no-repeat right 0% top 55%;
    background-size: 15%, 14%;
    width: 100%;
  }
  .rules .inner .item {
    margin: 0 auto;
  }
  .rules .inner .item .replace {
    width: 45%;
  }
  .rules .inner .item p {
    font-size: clamp(1.05rem, -0.1591rem + 4.5455vw, 2rem);
    letter-spacing: -0.1em;
    width: 60%;
  }
  .rules .inner .item-01 {
    width: 95%;
    background: url(images/rules/2x/rules-01@2x.png) no-repeat center;
    background-size: contain;
  }
  .rules .inner .item-01 .replace {
    margin: 14% auto 0 auto;
  }
  .rules .inner .item-01 p {
    margin: 14% auto 10% 14%;
    font-size: clamp(1.05rem, -0.1591rem + 4.5455vw, 2rem);
  }
  .rules .inner .item-02 {
    width: 90%;
    background: url(images/rules/2x/rules-02@2x.png) no-repeat center;
    background-size: contain;
    margin: 5% auto;
  }
  .rules .inner .item-02 .replace {
    margin: 24% auto 0 39%;
  }
  .rules .inner .item-02 p {
    margin: 12% auto 10% 38%;
  }
  .rules .inner .item-03 {
    width: 85%;
    background: url(images/rules/2x/rules-03@2x.png) no-repeat center;
    background-size: contain;
  }
  .rules .inner .item-03 .replace {
    margin: 22% auto 0 26%;
  }
  .rules .inner .item-03 p {
    margin: 10% 18% 0 auto;
  }
  .rules .inner .item-04 {
    width: 91%;
    background: url(images/rules/2x/rules-04@2x.png) no-repeat center;
    background-size: contain;
  }
  .rules .inner .item-04 .replace {
    margin: 23% auto 0 6%;
  }
  .rules .inner .item-04 p {
    margin: 9% auto 0 5%;
  }
  .rules .view-more {
    width: 33%;
    max-width: 125px;
    margin: 24% auto 0 auto;
  }
  /*===========================
  厳しい基準をクリアし認定
  ===========================*/
  .standard {
    padding: 20% 0 0 0;
  }
  .standard .inner {
    background: none;
  }
  .standard .box-header {
    background-size: contain;
    width: 78%;
    margin: 0 auto 2rem auto;
    background: url(images/standard/2x/standard-replace-sp.svg) no-repeat bottom left;
    background-size: contain;
    position: relative;
  }
  .standard .box-header::before {
    padding-top: 78%;
  }
  .standard .flex {
    flex-direction: column;
  }
  .standard .flex-01 {
    align-items: flex-start;
  }
  .standard .flex-01 .icon-box {
    display: none;
  }
  .standard .flex-01 .item-01 {
    width: 100%;
    order: 3;
  }
  .standard .flex-01 .item-02 {
    width: 100%;
    order: 1;
    background: url(images/standard/2x/standard-bg-01@2x.png) no-repeat right center;
    background-size: contain;
  }
  .standard .flex-01 .icon-box-sp {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10%;
  }
  .standard .flex-01 .icon-box-sp .icon-01 {
    width: 80%;
  }
  .standard .flex-01 .icon-box-sp .icon-02 {
    width: 85%;
  }
  .standard .flex-01 .txt {
    padding: 15% 12%;
    background: url(images/standard/2x/standard-txt-deco-01@2x.png) no-repeat center;
    background-size: contain;
    text-align: center;
    font-size: clamp(0.75rem, -0.1591rem + 4.5455vw, 1.0625rem);
  }
  .standard .flex-02 {
    align-items: flex-start;
  }
  .standard .flex-02 .icon-box {
    display: none;
  }
  .standard .flex-02 .item-01 {
    width: 100%;
    order: 2;
    background: url(images/standard/2x/standard-bg-02@2x.png) no-repeat center;
    background-size: 90%;
    padding: 0 0 11% 0;
  }
  .standard .flex-02 .item-02 {
    width: 100%;
    order: 3;
  }
  .standard .flex-02 .icon-box-sp {
    display: flex;
    order: 1;
    margin-bottom: 10%;
  }
  .standard .flex-02 .icon-box-sp .icon-01 {
    width: 80%;
  }
  .standard .flex-02 .icon-box-sp .icon-02 {
    width: 85%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .standard .flex-02 .txt {
    padding: 15% 0%;
    background: url(images/standard/2x/standard-txt-deco-01@2x.png) no-repeat center;
    background-size: contain;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
  .standard .flex-02 .circle {
    width: 80%;
  }
  .standard .flex-02 .circle span {
    font-size: clamp(0.75rem, -0.1591rem + 4.5455vw, 1.0625rem);
  }
  /*===========================
  歯科医院としての新しい取り組み
  ===========================*/
  .initiative {
    padding: 20% 0 0 0;
    background: url(images/initiative/2x/initiative-bg-sp.svg) no-repeat top center, url(images/initiative/2x/initiative-bg-sp.svg) no-repeat bottom center;
    background-size: contain;
  }
  .initiative::before {
    padding-top: 475%;
  }
  .initiative .box-header {
    background-size: contain;
    width: 90%;
    margin: 20% auto 0 auto;
    background: url(images/initiative/2x/initiative-replace-sp.svg) no-repeat bottom left;
    background-size: contain;
    position: relative;
  }
  .initiative .box-header::before {
    padding-top: 33%;
  }
  .initiative .introduction {
    background: none;
  }
  .initiative .introduction .txt {
    width: 100%;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
  .initiative .introduction .txt p {
    font-size: clamp(1.05rem, -0.1591rem + 4.5455vw, 1.0625rem);
    line-height: 180%;
    margin: 0 auto;
  }
  .initiative .travel::before {
    padding-top: 275%;
  }
  .initiative .cloud-sp {
    display: block;
    background: url(images/initiative/2x/introduction@2x.png) no-repeat center;
    background-size: contain;
    width: 90%;
    margin: 0 auto;
    position: relative;
  }
  .initiative .cloud-sp::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 95%;
  }
  .initiative .cloud-sp .replace {
    background: url(images/initiative/2x/introduction-replace-02-sp.svg) no-repeat center;
    background-size: contain;
    width: 64%;
    margin: 0 auto;
  }
  .initiative .cloud-sp .replace::before {
    padding-top: 23%;
  }
  .initiative .cloud-sp .txt {
    position: absolute;
    bottom: 10%;
    text-align: center;
    font-size: clamp(0.75rem, -0.1591rem + 4.5455vw, 1.0625rem);
  }
  .initiative .cutoff-txt {
    display: block;
    position: absolute;
    top: 3%;
    right: -8%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    letter-spacing: -0.1em;
    line-height: 180%;
  }
  .initiative .cloud-03 {
    display: none;
  }
  .dashed-line {
    width: 83%;
    background: url(images/initiative/2x/travel-dashed-line-sp.svg) no-repeat top;
    background-size: contain;
    position: absolute;
    bottom: 3%;
    left: 8.5%;
    z-index: 30;
  }
  .dashed-line::before {
    padding-top: 275%;
  }
  .cloud-01 {
    top: 8%;
    left: 11%;
    width: 25%;
  }
  .cloud-02 {
    top: 16.5%;
    left: 34%;
  }
  .cloud-04 {
    width: 10.6%;
    top: 45%;
    right: 66%;
  }
  .cloud-05 {
    width: 8%;
    bottom: 31.5%;
    left: 10%;
  }
  .cloud-06 {
    width: 9.4%;
    bottom: 7.5%;
    left: 34%;
  }
  .cloud-07 {
    display: block;
    width: 10%;
    position: absolute;
    bottom: 21.5%;
    right: 19%;
    z-index: 50;
    -webkit-animation: move-shape-01 5s infinite;
            animation: move-shape-01 5s infinite;
  }
  .vietnam-photo {
    left: auto;
    right: 2%;
    top: 17%;
    width: 35%;
  }
  .vietnam-txt {
    left: 34%;
    top: 23%;
    width: 35%;
  }
  .travel-couple {
    width: 22%;
    right: 8.5%;
    top: 41%;
  }
  .shanghai-thailand {
    width: 32%;
    right: 27%;
    top: 42%;
  }
  .south-koria-txt {
    left: 18%;
    top: 40%;
    width: 42%;
  }
  .south-koria-photo {
    left: 14%;
    top: 28%;
    width: 40%;
    background-size: contain;
    padding: 0% 0 8% 0%;
  }
  .south-koria-photo .inner {
    width: 100%;
    margin: 0 0 8% 0;
  }
  .speech-bubble {
    background: url(images/initiative/2x/speech-bubble-cloud@2x.png) no-repeat center;
    background-size: contain;
    width: 46%;
    left: auto;
    right: 2%;
    top: 31%;
  }
  .speech-bubble .replace {
    background: url(images/initiative/2x/speech-bubble-txt-sp.svg) no-repeat center;
    background-size: contain;
    margin: 5% 0 3% 17%;
    width: 54.7%;
  }
  .speech-bubble-arrow {
    width: 24%;
    right: 46%;
    bottom: -27%;
  }
  .hawaii-photo-bg {
    width: 55%;
    position: absolute;
    right: 23.5%;
    top: 60.5%;
    z-index: 50;
    opacity: 1 !important;
  }
  .hawaii-photo {
    width: 55%;
    right: 9%;
    top: 55%;
  }
  .hawaii-txt {
    right: 43%;
    top: 69%;
    width: 30%;
  }
  .hawaii-illust {
    width: 35%;
    left: 2.5%;
    top: 50%;
  }
  .taiwan-photo-bg {
    width: 46%;
    right: 5%;
    top: 84%;
  }
  .taiwan-photo {
    width: 42%;
    right: 7%;
    top: 81%;
  }
  .taiwan-txt {
    right: -3%;
    top: 92%;
    width: 30%;
  }
  .bali-txt {
    left: 34%;
    bottom: 19.5%;
    width: 29.6%;
  }
  .bali-photo-01 {
    width: 34.5%;
    left: 5%;
    bottom: 16%;
  }
  .bali-photo-02 {
    width: 30%;
    left: 15%;
    bottom: 11.5%;
  }
  .airplane {
    width: 15%;
    bottom: -1%;
    right: 48%;
  }
  /*===========================
  産休・育休制度
  ===========================*/
  .maternity .inner {
    width: 87%;
    background: none;
  }
  .maternity .inner::before {
    content: "";
    display: none;
  }
  .maternity .inner .txt {
    position: static;
    width: 100%;
  }
  .maternity .inner .txt p {
    width: 100%;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    margin-top: 24px;
  }
  .maternity .inner .txt p .narrow {
    white-space: nowrap;
  }
  .maternity .inner .txt .txt-inner {
    width: 100%;
  }
  .maternity .inner .txt-inner-sp {
    width: 100%;
    background: url(images/maternity/maternity.png) no-repeat center;
    background-size: contain;
    position: relative;
  }
  .maternity .inner .txt-inner-sp::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 60%;
  }
  .maternity .inner .txt-inner-sp .replace {
    width: 50%;
    margin: 0 auto;
    background: none;
    background: url(images/maternity/2x/maternity-replace-sp.svg) no-repeat center;
    background-size: contain;
    top: 0;
    left: 38%;
    height: 100%;
    position: absolute;
  }
  .maternity .inner .replace {
    margin-bottom: 56px;
  }
  .maternity .inner .replace::before {
    padding-top: 63%;
  }
  /*===========================
  院内託児
  ===========================*/
  .childcare::before {
    padding-top: 135%;
  }
  .childcare .inner {
    background: rgb(253, 236, 236);
    width: 100%;
    left: 0;
  }
  .childcare .inner .txt {
    width: 87%;
    left: 6.5%;
    top: -7%;
  }
  .childcare .inner .txt p {
    text-align: center;
    margin-top: 24px;
    font-size: clamp(0.75rem, -0.1591rem + 4.5455vw, 1.0625rem);
  }
  .childcare .inner .txt-inner-sp {
    width: 100%;
    background: url(images/childcare/2x/nursery@2x.png) no-repeat center;
    background-size: contain;
    position: relative;
  }
  .childcare .inner .txt-inner-sp::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 85%;
  }
  .childcare .inner .txt-inner-sp .replace {
    width: 50%;
    margin: 0 auto;
    background: none;
    background: url(images/childcare/2x/childcare-replace-sp.svg) no-repeat center;
    background-size: contain;
    top: 0;
    left: 10%;
    height: 100%;
    position: absolute;
    margin-top: 3%;
  }
  /*===========================
  フリーランスや独立のサポート
  ===========================*/
  .support {
    background-size: contain;
  }
  .support .inner {
    width: 87%;
    background: none;
    padding: 0px 0 70px 0;
  }
  .support .inner::before {
    content: "";
    display: none;
  }
  .support .inner .txt {
    position: static;
  }
  .support .inner .txt .txt-inner {
    width: 100%;
  }
  .support .inner .txt .txt-inner p {
    text-align: center;
    margin-top: 24px;
    font-size: clamp(0.75rem, -0.1591rem + 4.5455vw, 1.0625rem);
  }
  .support .inner .txt-inner-sp {
    width: 100%;
    background: url(images/support/support.png) no-repeat center;
    background-size: contain;
    position: relative;
  }
  .support .inner .txt-inner-sp::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 60%;
  }
  .support .inner .txt-inner-sp .replace {
    width: 38%;
    margin: 0 auto;
    background: none;
    background: url(images/support/2x/support-replace-sp.svg) no-repeat center;
    background-size: contain;
    top: 0;
    left: 31%;
    height: 100%;
    position: absolute;
    margin-top: 3%;
  }
  .support .inner .replace {
    margin-bottom: 56px;
  }
  .support .inner .replace::before {
    padding-top: 63%;
  }
}
@media only screen and (max-width: 430px) {
  /*===========================
  アイキャッチ
  ===========================*/
  .eyecatch .contact {
    width: 100%;
    top: inherit;
    bottom: 0;
    left: 0;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    /* background: #E36369;
    mix-blend-mode: multiply; */
    background: rgba(227, 99, 105, 0.7);
    padding: 6px 0;
  }
  .eyecatch .contact picture {
    width: 70%;
    margin: 0 auto;
    /* mix-blend-mode: screen; */
  }
  .catchcopy {
    width: 78%;
    left: 11%;
    right: inherit;
    top: 22%;
  }
  .catchcopy::before {
    padding-top: 44%;
  }
  .main-image {
    order: 3;
  }
  header {
    padding: 16px 18px;
    background: rgb(255, 255, 255);
    position: static;
    order: 1;
  }
  header .inner-header {
    padding: 0;
    flex-direction: column;
    justify-content: space-between;
  }
  header .inner-header .header-left {
    width: 100%;
  }
  header .inner-header .header-left .txt-header {
    padding-left: 0;
  }
  header .inner-header .logo {
    width: 70%;
  }
  .inner-footer .logo {
    width: 50%;
  }
}
/*# sourceMappingURL=responsive.css.map */