/* all */
.is-debug {
  box-shadow: rgb(0, 0, 0) 0px 0px 0px 1px inset;
  background-color: rgba(204, 204, 204, 0.25);
}

.is-debug * {
  box-shadow: rgb(0, 0, 0) 0px 0px 0px 1px inset;
  background-color: rgba(204, 204, 204, 0.25);
}

.Body {
  background-color: #fffef2;
  font-family: "HigureGothic-Regular", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

@font-face {
  font-family: "HigureGothic-Regular";
  src: url(/fonts/higuregothic-regular.ttf) format("truetype");
  src: url(/fonts/higuregothic-regular.woff) format("woff");
}

@font-face {
  font-family: "HigureGothic-Medium";
  src: url(/fonts/higuregothic-medium.ttf) format("truetype");
  src: url(/fonts/higuregothic-medium.woff) format("woff");
}

@font-face {
  font-family: "HigureGothic-Black";
  src: url(/fonts/higuregothic-black.ttf) format("truetype");
  src: url(/fonts/higuregothic-black.woff) format("woff");
}

/* フェードインアニメーションのため、不透明度を 0 にする */
.fadein {
  opacity: 0;
}

/* 背景の角丸と、背景色を制御するclass */
.BackgroundRounded {
  border-radius: clamp(1.563rem, 0.878rem + 2.81vw, 3.125rem) clamp(1.563rem, 0.878rem + 2.81vw, 3.125rem) 0 0;
}

.BackgroundCover--A {
  background-color: #fffef2;
}

.BackgroundCover--B {
  background-color: #F6F5DE;
}

/* Header */

.Header__Link {
  background-color: transparent;
  display: flex;
  justify-content: space-between;
  /* 相対値にする */
  /* 24 - 48px , 24px - 64px*/
  padding: clamp(1.5rem, 0.843rem + 2.7vw, 3rem) clamp(1.5rem, 0.404rem + 4.49vw, 4rem);
  align-items: center;
}

.Header__LinkText {
  position: relative;
}

.Header__LinkTextInner:hover + .Header__LinkCircle .Header__LinkCircleLine {
  opacity: 1;
  stroke-dashoffset: 0;
}


.Header__LinkCircleLine {
  opacity: 0;
  stroke-dasharray: 500;
  stroke-dashoffset: 500;
  transition: stroke-dashoffset .5s ease-out;
}


.Header__LinkCircle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  aspect-ratio: 156 / 56;

}


/* 丸のSVG コンテナ*/
.Header__LinkText--Title .Header__LinkCircle {
  /* width: calc(202px + 16px + 16px); */
  width: calc((234 / 202) * 100%);

}
.Header__LinkText--Works .Header__LinkCircle {
  /* width: calc(134px + 16px + 16px); */
  width: calc((166 / 134) * 100%);
}

.Header__LinkText--Practice .Header__LinkCircle {
  /* width: calc(102px + 16px + 16px); */
  width: calc((134 / 102) * 100%);
}


.Header__LinkCircleInner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.Nav__Inner {
  display: flex;
  /* れんしゅう ページが公開されたら、ここをspace-betweenにする */
  justify-content: flex-end;
}

.Header__LinkTextInner {
  display: block;
  position: relative;
  z-index: 2;

}

.Header__LinkTextInnerImage {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.Header__LinkText--Title {
  /* デザイン上の SVG の幅 / .Header__Link の幅 * 単位（%） */
  width: calc(204 / (1280 - 64 - 64) * 100%);
  max-width: 204px;
  min-width: 102px;
}

/* いえざきゆめみ コンテナ */
.Header__LinkText--Title .Header__LinkTextInner {
  aspect-ratio: 204 / 32;
}

.Nav {
  width: calc((134 + 102 + 24) / (1280 - 64 - 64) * 100%);
  max-width: 260px;
  min-width: 130px;
}

.Nav__Inner {
  width: 100%;
}

/* つくったもの */
.Header__LinkText--Works {
  width: calc(134 / (134 + 102 + 24) * 100%);
}

/* つくったもの　SVGコンテナ */
.Header__LinkText--Works .Header__LinkTextInner {
  aspect-ratio: 134 / 32;
}



/* れんしゅう*/
.Header__LinkText--Practice {
  width: calc(102 / (134 + 102 + 24) * 100%);
}

/* れんしゅう　SVGコンテナ */
.Header__LinkText--Practice  .Header__LinkTextInner {
  aspect-ratio: 102 / 32;
}



.Header__LinkText:nth-child(1) {
  padding: 0;
}



/* footer */

.Footer__Inner {
  display: flex;
  justify-content: end;
  background-color: #FFF;
  padding: clamp(1.5rem, 0.843rem + 2.7vw, 3rem) clamp(2rem, 1.124rem + 3.6vw, 4rem);
  font-size: clamp(0.75rem, 0.64rem + 0.45vw, 1rem);
}

@media screen and (max-width: 768px) {
  .Footer__Inner {
    justify-content: center;
  }
}

/* Button */

.Button {
  font-size: 16px;
  border: 1px solid #000;
  border-radius: 50px;
  background-color: #FFF;
  margin: 0 auto;
  display: inline-block;
  transition:
    color 0.5s,
    background-color 0.5s;
  color: #000;
  text-decoration: none;
  line-height: calc(32 / 16);
}

@media screen and (max-width: 768px) {
  .Button {
    font-size: 14px;
    line-height: calc(24 / 14);
  }
}


.Button:hover {
  background-color: #000;
  color: #fff;
  border: 1px solid #000;
}

.TextButton--Small {
  display: flex;
}

.Button--Small{
  padding: 8px 72px;
}

/* 390px 以下は、Button--Smallを適用する */
.Button--Large {
  /* 16 - 24px , 56 - 200px */
  padding: clamp(1rem, 0.781rem + 0.9vw, 1.5rem) clamp(3.5rem, -0.444rem + 16.18vw, 12.5rem);
}

@media screen and (max-width: 768px) {
  .Button--Large{
    padding: 8px 72px;
  }
}

.Section__FooterButtonInner {
  display: flex;
  position: relative;
}


.TopButton--Works {
  /* 90 * 2 は両サイドの padding の値 */
  width: calc(68 / (1280 - (90 * 2)) * 100%);
  max-width: 68px;
  min-width: 24px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

.TopButton__Arrow {
  width: 100%;
}


.TextBr {
  display: inline-block;
}
