/*********************************
 Reset
 *********************************/
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  color: #000;
  background: #FFF;
  line-height: 1.5; }

*, *::before, *::after {
  box-sizing: border-box; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

fieldset, img, svg {
  border: 0; }

address, caption, cite, dfn, em, strong, th {
  font-style: normal;
  font-weight: normal; }

ol, ul {
  list-style: none; }

caption, th {
  text-align: left; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

abbr {
  border: 0;
  font-variant: normal; }

sup {
  vertical-align: text-top; }

sub {
  vertical-align: text-bottom; }

input, textarea, select, button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  background: none;
  appearance: none;
  -webkit-appearance: none; }

textarea {
  resize: vertical; }

article, aside, footer, header, nav, section {
  display: block; }

img, svg {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a, a:focus, a:hover {
  text-decoration: none;
  color: inherit;
  outline: none; }

/*********************************
 common
 *********************************/
html {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 10px;
  font-weight: 400;
  font-style: normal; }
  @media screen and (min-width: 901px) and (max-width: 1099px) {
    html {
      font-size: 9px; } }
  @media screen and (min-width: 781px) and (max-width: 900px) {
    html {
      font-size: 8px; } }

body {
  font-size: 1.6rem; }
  @media screen and (max-width: 780px) {
    body {
      -webkit-text-size-adjust: 100%; } }

/*********************************
 contents
 *********************************/
.architecture, .nursing {
  -webkit-background-size: cover;
  background-size: cover;
  background-position: center center;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 781px) {
    .architecture, .nursing {
      width: 50%;
      height: 100vh;
      float: left; } }
  @media screen and (max-width: 780px) {
    .architecture, .nursing {
      width: 100%;
      height: 50vh; } }
  .architecture .panel, .nursing .panel {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    position: relative; }
    @media screen and (min-width: 781px) {
      .architecture .panel, .nursing .panel {
        width: 90%;
        max-width: 55rem;
        height: 90%;
        max-height: 60rem; } }
    @media screen and (max-width: 780px) {
      .architecture .panel, .nursing .panel {
        width: 79.5%;
        padding: 2rem 3rem; } }
    @media screen and (min-width: 781px) {
      .architecture .panel .text, .nursing .panel .text {
        width: 100%;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(0, -50%); } }
    .architecture .panel .text h1, .nursing .panel .text h1 {
      white-space: nowrap; }
      .architecture .panel .text h1:after, .nursing .panel .text h1:after {
        width: 80%;
        max-width: 16rem;
        height: 1px;
        margin: 0 auto;
        content: '';
        display: block; }
      .architecture .panel .text h1 span, .nursing .panel .text h1 span {
        line-height: 1.5;
        white-space: nowrap; }

@media screen and (min-width: 781px) {
  .architecture {
    background-image: url("../img/bg01.jpg"); } }
@media screen and (max-width: 780px) {
  .architecture {
    background-image: url("../img/bg01_sp.jpg"); } }
.architecture .panel {
  background-color: #000000;
  border: solid 1px #D0CAB8; }
  .architecture .panel .text h1 {
    margin-bottom: 2.43em;
    font-family: "Shippori Mincho", serif;
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    line-height: 1.4333333333;
    text-transform: uppercase;
    color: #B99864; }
    @media screen and (max-width: 780px) {
      .architecture .panel .text h1 {
        margin-bottom: 1.28em;
        font-size: 2.2rem; } }
    .architecture .panel .text h1:after {
      background-color: #B99864; }
    .architecture .panel .text h1 span {
      margin: 2.1em 0;
      font-family: "Noto Serif JP", serif;
      font-size: 1.8rem;
      font-weight: 600;
      letter-spacing: 0.3em;
      color: #ffffff;
      display: block; }
      @media screen and (max-width: 780px) {
        .architecture .panel .text h1 span {
          margin: 0 0 1.4em 0;
          font-size: 1.4rem; } }
  .architecture .panel .text .btn a {
    width: 90%;
    max-width: 38.2rem;
    margin: 0 auto;
    padding: 2.4rem;
    font-family: "Cormorant Infant", serif;
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    color: #B99864;
    background-color: transparent;
    -webkit-background-size: 1.6rem 1.6rem;
    background-size: 1.6rem 1.6rem;
    background-image: url("../img/icon_arrow01.png");
    background-position: calc(100% - 3.7rem) center;
    background-repeat: no-repeat;
    border: solid 1px #B99864;
    display: block; }
    @media screen and (max-width: 780px) {
      .architecture .panel .text .btn a {
        padding: 1.1rem;
        font-size: 1.5rem;
        -webkit-background-size: 1.3rem 1.3rem;
        background-size: 1.3rem 1.3rem;
        background-position: calc(100% - 2.2rem) center; } }
    @media screen and (min-width: 781px) {
      .architecture .panel .text .btn a:hover {
        color: #030303;
        background-color: #B99864;
        background-image: url("../img/icon_arrow02.png"); } }

.nursing {
  position: relative; }
  @media screen and (min-width: 781px) {
    .nursing {
      background-image: url("../img/bg02.jpg"); } }
  @media screen and (max-width: 780px) {
    .nursing {
      background-image: url("../img/bg02_sp.jpg"); } }
  .nursing:after {
    height: auto;
    content: '';
    background-image: url("../img/fig02.png");
    -webkit-background-size: cover;
    background-size: cover;
    position: absolute;
    aspect-ratio: 228/313; }
    @media screen and (min-width: 781px) {
      .nursing:after {
        width: 11.875%;
        bottom: 2%;
        left: 5%; } }
    @media screen and (max-width: 780px) {
      .nursing:after {
        width: 14.6%;
        bottom: 5%;
        left: 5%; } }
  .nursing .panel {
    background-color: #F5F5F4; }
    @media screen and (min-width: 781px) {
      .nursing .panel {
        border-radius: 2rem; } }
    @media screen and (max-width: 780px) {
      .nursing .panel {
        border-radius: 1rem; } }
    .nursing .panel:after {
      height: auto;
      content: '';
      background-image: url("../img/fig01.png");
      -webkit-background-size: cover;
      background-size: cover;
      position: absolute;
      aspect-ratio: 1/1; }
      @media screen and (min-width: 781px) {
        .nursing .panel:after {
          width: 20.9%;
          bottom: -3%;
          right: -10%; } }
      @media screen and (max-width: 780px) {
        .nursing .panel:after {
          width: 12.5%;
          bottom: -8%;
          right: -5%; } }
    .nursing .panel .text h1 {
      margin-bottom: 1.75em;
      font-family: "Noto Serif JP", serif;
      font-size: 4.4rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      line-height: 1.1590909091;
      color: #3B3934; }
      @media screen and (max-width: 780px) {
        .nursing .panel .text h1 {
          margin-bottom: 0.77em;
          font-size: 2.2rem; } }
      .nursing .panel .text h1:after {
        background-color: #E0DCD0; }
      .nursing .panel .text h1 span {
        margin: 1.5em 0 2.1em 0;
        font-family: "Alata", sans-serif;
        font-size: 1.8rem;
        font-weight: 400;
        letter-spacing: normal;
        text-transform: uppercase;
        color: #DE9000;
        display: block; }
        @media screen and (max-width: 780px) {
          .nursing .panel .text h1 span {
            margin: 0 0 1.04em 0;
            font-size: 1.2rem; } }
    .nursing .panel .text .btn a {
      width: 90%;
      max-width: 34.3rem;
      margin: 0 auto;
      padding: 1.5rem;
      font-size: 1.8rem;
      font-weight: 500;
      color: #ffffff;
      background-color: #3B3934;
      -webkit-background-size: 3rem 3rem;
      background-size: 3rem 3rem;
      background-image: url("../img/icon_arrow03.png");
      background-position: calc(100% - 1.3rem) center;
      background-repeat: no-repeat;
      border-radius: 999px;
      box-shadow: 0 0.4rem 0 rgba(0, 0, 0, 0.16);
      display: block; }
      @media screen and (max-width: 780px) {
        .nursing .panel .text .btn a {
          padding: 0.7rem;
          font-size: 1.6rem;
          -webkit-background-size: 2rem 2rem;
          background-size: 2rem 2rem;
          background-position: calc(100% - 1.5rem) center;
          box-shadow: 0 0.2rem 0 rgba(0, 0, 0, 0.16); } }
      @media screen and (min-width: 781px) {
        .nursing .panel .text .btn a:hover {
          background-color: #DE9101; } }
