@charset "UTF-8";
*, *:before, *:after {
  box-sizing: border-box;
  outline: none; }

html {
  /* フォントサイズの正確に */
  -webkit-text-size-adjust: 100%;
  /* 文字をシャープに */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* カーニングとリガチャ（合字）を調整 */
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
  font-family: YakuHanJPs, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, sans-serif;
  font-family: YakuHanMPs, 'Yu Mincho', 'YuMincho', serif;
  font-family: YakuHanJPs_Noto, 'Noto Sans JP', sans-serif;
  font-family: YakuHanMPs_Noto, 'Noto Serif JP', serif; }

body {
  animation: fadein 3s forwards;
  position: relative;
  margin: 0;
  padding: 0;
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.75;
  color: #333;
  overflow-x: hidden;
  background-color: #ebebed;
  letter-spacing: .05em;
  font-feature-settings: "palt"; }

h1, h2, h3, h4, h5, h6, p, span {
  font-family: "dnp-shuei-mincho-pr6n", sans-serif;
  font-weight: 500; }

@keyframes fadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
html {
  scroll-behavior: smooth; }

.home-wrap {
  border: 2px solid #0202ba;
  color: #0202ba;
  min-height: calc(100vh - 8em);
  width: calc(100% - 8em);
  margin: 4em;
  padding: 4em 4em 1em 4em;
  box-sizing: border-box;
  background-color: white; }
  @media (max-width: 1100px) {
    .home-wrap {
      padding: 2em 2em 1em 2em;
      margin: 1em;
      width: calc(100% - 2em); } }
  @media (max-width: 1100px) {
    .home-wrap {
      min-height: inherit; } }

.home-main-wrap {
  display: flex;
  width: 100%;
  gap: 3em;
  justify-content: space-between;
  align-items: flex-end; }
  @media (max-width: 1100px) {
    .home-main-wrap {
      flex-direction: column-reverse;
      align-items: flex-start;
      gap: 5em; } }

.home-address {
  width: 23em; }

.home-text p {
  margin-bottom: 1.5em; }
  .home-text p:last-of-type {
    margin-bottom: 0; }

body {
  display: flex;
  flex-direction: column; }

.home-wrap {
  flex: 1;
  display: flex;
  flex-direction: column; }

main {
  flex: 1; }

footer {
  text-align: center;
  margin-top: 3em; }
