* {
  padding: 0;
  margin: 0; }

:root {
  --main-color: #000;
  --bg-color: #f2fff4;
  --wrap-width: clamp(300px, 96%, 1366px); }

header#remake {
  padding: 0.6em 0 1em;
  position: relative;
  z-index: 1;
  background: #fff;
  box-shadow: 0 4px 6px #abb8ff;
  height: initial; }
@media screen and (max-width: 767px) {
  header#remake {
    padding: 0; } }
header#remake .header_inner {
  width: var(--wrap-width);
  margin: 0 auto;
  display: flex;
  align-items: center; }
@media screen and (max-width: 767px) {
  header#remake .header_inner {
    flex-direction: column;
    align-items: flex-start; } }
header#remake .header_inner .title {
  display: flex;
  align-items: flex-end; }
header#remake .header_inner .title img {
  width: auto;
  height: 80px;
  object-fit: contain;
  object-position: center;
  vertical-align: top; }
@media screen and (max-width: 767px) {
  header#remake .header_inner .title img {
    height: 60px; } }
header#remake .header_inner .title h1 {
  font-size: clamp(1em, 2vw, 1.8em);
  letter-spacing: 0.1em;
  margin: 0 0 0 0.6em; }
header#remake .header_inner nav {
  margin: 0 0 0 auto; }
@media screen and (max-width: 767px) {
  header#remake .header_inner nav {
    margin: 0 auto; } }
header#remake .header_inner ul {
  display: flex;
  gap: 1em;
  list-style: none; }
header#remake .header_inner a {
  color: #000;
  text-decoration: none; }
header#remake .header_inner figure {
  width: max-content;
  height: 100px;
  overflow: hidden;
  position: relative;
  display: flex; }
@media screen and (max-width: 767px) {
  header#remake .header_inner figure {
    height: 70px; } }
header#remake .header_inner figure img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 90px;
  height: 90px;
  transform: scale(1.8) translate(0px, 8px); }
@media screen and (max-width: 767px) {
  header#remake .header_inner figure img {
    width: 60px;
    height: 60px;
    transform: scale(1.4) translate(0px, 4px); } }
header#remake .header_inner figure figcaption {
  position: relative;
  margin: auto auto 0;
  background: #fff;
  display: block;
  width: 100%;
  height: max-content; }
header#remake .header_inner .head_contact {
  margin: 0 1em 0 auto; }
@media screen and (max-width: 767px) {
  header#remake .header_inner .head_contact {
    margin: 1em auto; } }
header#remake .header_inner .head_contact ul {
  display: flex;
  flex-direction: column-reverse;
  width: max-content;
  gap: 0.6em; }
@media screen and (max-width: 767px) {
  header#remake .header_inner .head_contact ul {
    flex-direction: row; } }
@media screen and (max-width: 450px) {
  header#remake .header_inner .head_contact ul {
    flex-direction: column-reverse; } }
header#remake .header_inner .head_contact ul li {
  transition: 0.6s; }
header#remake .header_inner .head_contact ul .tel {
  font-size: 1.6em; }
header#remake .header_inner .head_contact ul .con {
  padding: 0.6em 1em;
  background: #ffdb17;
  border-radius: 0.6em;
  text-align: center; }
header#remake .header_inner .head_contact ul .tel:hover a {
  color: #f00; }
header#remake .header_inner .head_contact ul .con:hover {
  background: #ffc417; }
header#remake .header_inner .head_contact ul a {
  display: block; }

@media screen and (max-width: 1024px) {
  header#remake .header_inner {
    display: grid;
    grid-template-columns: 1em repeat(10, 1fr) 1em;
    grid-template-rows: 1em repeat(1, 1fr) 1em; } }
@media screen and (max-width: 1024px) and (max-width: 768px) {
  header#remake .header_inner {
    grid-template-columns: 1em repeat(10, 1fr) 1em;
    grid-template-rows: 1em repeat(2, 1fr) 1em; } }
@media screen and (max-width: 1024px) {
  header#remake .header_inner .title {
    grid-column: 2/ span 10;
    grid-row: 2/ span 1; }
  header#remake .header_inner nav {
    grid-column: 6/ span 8;
    grid-row: 2/ span 1;
    margin: 0 auto 0 0; } }
@media screen and (max-width: 1024px) and (max-width: 768px) {
  header#remake .header_inner nav {
    grid-column: 2/ span 8;
    grid-row: 3/ span 1; } }
@media screen and (max-width: 1024px) {
  header#remake .header_inner .head_contact {
    grid-column: 9/ span 3;
    grid-row: 2/ span 1; } }
@media screen and (max-width: 1024px) and (max-width: 450px) {
  header#remake .header_inner {
    display: grid;
    grid-template-columns: 1em repeat(10, 1fr) 1em;
    grid-template-rows: 1em 60px 120px 90px 1em; }
  header#remake .header_inner .title {
    grid-column: 2/ span 10;
    grid-row: 2/ span 1; }
  header#remake .header_inner nav {
    grid-column: 1/ span 12;
    grid-row: 4/ span 2;
    margin: 0 auto; }
  header#remake .header_inner nav ul {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 1em; }
  header#remake .header_inner .head_contact {
    grid-column: 2/ span 10;
    grid-row: 3/ span 1; } }

.main_viwer .inner {
  display: grid;
  grid-template-columns: 1em repeat(10, 1fr) 1em;
  grid-template-rows: 1em repeat(10, 1fr) 1em;
  background: var(--bg-color); }

@media screen and (max-width: 768px) {
  .main_viwer .inner {
    height: 60vh; }
  .main_viwer .inner > img.bg_screen {
    object-fit: cover;
    object-position: 75%; }
   }
.main_viwer .inner > img {
  grid-column: 1/span 12;
  grid-row: 1/ span 12;
  display: block;
  margin: auto;
  width: clamp(300px, 80%, 620px);
  object-fit: cover;
  object-position: center;
  vertical-align: top;
  position: relative; }
.main_viwer .inner > img.img-top {
  top: -15%; }
.main_viwer .inner > img.img-top02 {
  top: 10%; }
@media screen and (max-width: 1280px) {
  .main_viwer .inner > img.img-top {
  top: -10%; }
  .main_viwer .inner > img.img-top02 {
  top: 15%; } }
@media screen and (max-width: 960px) {
  .main_viwer .inner > img.img-top {
  top: -15%; }
  .main_viwer .inner > img.img-top02 {
  width: 50%;
  top: 15%; } }
@media screen and (max-width: 768px) {
  .main_viwer .inner > img.img-top {
  top: -20%; }
  .main_viwer .inner > img.img-top02 {
  width: 50%;
  top: 15%; } }
@media screen and (max-width: 450px) {
  .main_viwer .inner > img {
    width: clamp(320px, 100%, 620px); }
  .main_viwer .inner > img.img-top {
    top: -20%; }
  .main_viwer .inner > img.img-top02 {
    top: 0%; } }
@media screen and (max-width: 375px) {
  .main_viwer .inner > img {
    width: clamp(320px, 90%, 620px); }
  .main_viwer .inner > img.img-top {
    top: -20%; }
  .main_viwer .inner > img.img-top02 {
    top: 0%; } }
.main_viwer .inner > img.bg_screen {
  width: 100%;
  height: 100%; }
.main_viwer .inner picture {
  grid-column: 1/span 12;
  grid-row: 1/ span 12;
  display: block;
  margin: auto;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  vertical-align: top;
  position: relative; }
.main_viwer .inner picture > source, .main_viwer .inner picture > img {
  width: 100%;
  height: 100%;
  vertical-align: top;
  object-fit: cover;
  object-position: center; }
@media screen and (max-width: 768px) {
  .main_viwer .inner picture > source, .main_viwer .inner picture > img {
    object-position: 75%; } }
.main_viwer .tiara > img.bg_screen {
  transform: scale(-1, 1); }

.white_area {
  width: 100%;
  height: 100px;
  background: #e5eff8;
  margin: 0 0 -1em; }

footer#foo_remake {
  width: 100%;
  background-image: url(../img/footer_screen.svg);
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
  padding: initial; }
@media screen and (max-width: 768px) {
  footer#foo_remake {
    background-size: 1200px;
    background-color: #e5eff8; } }
@media screen and (max-width: 450px) {
  footer#foo_remake {
    background-size: 600px;
    background-color: #e5eff8; } }
footer#foo_remake .inner {
  width: clamp(300px, 96%, 1366px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1em repeat(10, 1fr) 1em;
  grid-template-rows: 1em repeat(6, 1fr) 1em; }
@media screen and (max-width: 450px) {
  footer#foo_remake .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    padding: 0 0 3em; } }
footer#foo_remake .inner .company_log {
  grid-column: 2/ span 4;
  grid-row: 2/ span 1;
  display: flex;
  gap: 1em;
  align-items: flex-end; }
footer#foo_remake .inner .company_log img {
  width: auto;
  height: 70px; }
footer#foo_remake .inner .company_log h1, footer#foo_remake .inner .company_log h3 {
  font-size: clamp(1.2em, 2vw, 1.8em);
  letter-spacing: 0.1em; }
footer#foo_remake .inner .company_log h1 a, footer#foo_remake .inner .company_log h3 a {
  text-decoration: none;
  color: #000; }
footer#foo_remake .inner .company_access {
  grid-column: 2/ span 5;
  grid-row: 7/ span 1;
  font-size: clamp(1em, 1.8vw, 1.2em);
  line-height: 1.6em;
  letter-spacing: 0.1em; }
@media screen and (max-width: 768px) {
  footer#foo_remake .inner .company_access {
    grid-column: 2/ span 5;
    grid-row: 3/ span 1; } }
footer#foo_remake .inner .company_menu {
  grid-column: 9/ span 3;
  grid-row: 3/ span 2; }
@media screen and (max-width: 768px) {
  footer#foo_remake .inner .company_menu {
    grid-column: 2/ span 3;
    grid-row: 5/ span 2; } }
footer#foo_remake .inner .company_menu ul {
  list-style: none; }
footer#foo_remake .inner .company_menu li {
  font-size: clamp(1em, 1.6vw, 1.2em);
  letter-spacing: 0.1em; }
footer#foo_remake .inner .company_menu a {
  text-decoration: none;
  color: #000;
  background: #ffc031;
  padding: 0.3em;
  margin: 0.3em 0;
  display: inline-block; }
footer#foo_remake .inner .foo_menu {
  grid-column: 6/ span 3;
  grid-row: 3/ span 4; }
@media screen and (max-width: 768px) {
  footer#foo_remake .inner .foo_menu {
    grid-column: 8/ span 4;
    grid-row: 2/ span 4; } }
footer#foo_remake .inner .foo_menu ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  gap: 0.6em;
  flex-direction: column; }
footer#foo_remake .inner .foo_menu li:hover a {
  transform: translate(10px, 0); }
footer#foo_remake .inner .foo_menu a {
  display: block;
  transition: 0.6s;
  color: #000;
  text-decoration: none; }
footer#foo_remake .inner .sub_menu {
  grid-column: 6/ span 6;
  grid-row: 7/ span 4; }
footer#foo_remake .inner .sub_menu ul {
  display: flex;
  justify-content: flex-end; }
footer#foo_remake .inner .sub_menu a {
  text-decoration: none;
  color: #000; }
footer#foo_remake .copyright {
  text-align: center; }

.glb_btn {
  display: none;
  width: 50px;
  height: 50px;
  box-sizing: border-box;
  font-size: 1em;
  background: #d7d70b;
  border: 0;
  position: fixed;
  top: 1em;
  right: 1em;
  z-index: 2; }
@media screen and (max-width: 767px) {
  .glb_btn {
    display: block; } }

.glb_menu {
  width: var(--wrap-width);
  margin: 0 auto;
  background: #fff;
  padding: 1em;
  border-radius: 1em;
  box-sizing: border-box; }
.glb_menu ul {
  display: flex;
  list-style: none;
  gap: 1em;
  justify-content: space-evenly; }
.glb_menu li {
  margin: 0 0.5em; }
.glb_menu li img {
  width: clamp(80px, 100%, 100px);
  height: auto;
  transition: 0.6s; }
.glb_menu a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #000;
  font-size: clamp(0.9em, 1.5vw, 1em); }
.glb_menu a:hover img {
  transform: translate(0, -1em); }

@media screen and (max-width: 767px) {
  .glb_menu {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: calc(100% - 1em);
    height: calc(100vh - 1em);
    margin: auto;
    z-index: 1;
    animation: glb_animation_out 0.6s linear both; }
  .glb_menu ul {
    flex-direction: column;
    margin: 3em 1em 0; }
  .glb_menu li img {
    width: 60px;
    margin: 0 1em 0 0; }
  .glb_menu li a {
    display: flex;
    flex-direction: row; }

  .open .glb_menu {
    display: block;
    animation: glb_animation 0.6s linear both; } }
@keyframes glb_animation {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }
@keyframes glb_animation_out {
  0% {
    display: block;
    opacity: 1; }
  99% {
    display: block;
    opacity: 0; }
  100% {
    display: none;
    opacity: 0; } }
main.remake_page {
  padding: 6em 0 0;
  background-image: url(../img/bg/bg_001.png);
  background-size: auto;
  background-position: center;
  background-repeat: repeat; }
@media screen and (max-width: 768px) {
  main.remake_page {
    padding: 0; } }
div.blog_container.remake_page {
  padding: 6em 0 0;
  background-image: url(../img/bg/bg_001.png);
  background-size: auto;
  background-position: center;
  background-repeat: repeat; }
@media screen and (max-width: 768px) {
  div.blog_container.remake_page {
    padding: 0; } }

main.remake_page .about {
  width: 100%;
  background: #fff;
  margin: 6em auto 0;
  overflow: hidden;
  display: grid;
  grid-template-columns: 120px repeat(10, 1fr) 120px;
  grid-template-rows: 6em repeat(10, 1fr) 3em; }
main.remake_page .about .inner {
  grid-column: 3/ span 8;
  grid-row: 2/ span 9;
  background: #fff;
  position: relative;
  padding: 3em 0;
  width: clamp(300px, 90%, 1000px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: center; }
@media screen and (max-width: 768px) {
  main.remake_page .about .inner {
    grid-column: 1/ span 12;
    grid-row: 1/ span 12;
    background: rgba(255, 255, 255, 0.3);
    width: clamp(300px, 100%, 1000px); } }
main.remake_page .about .inner figure {
  width: max-content;
  margin: 0 auto; }
@media screen and (max-width: 768px) {
  main.remake_page .about .inner figure {
    width: clamp(200px, 100%, 340px); } }
main.remake_page .about .inner figure img {
  width: 100%;
  vertical-align: top; }
main.remake_page .about .inner p {
  font-size: clamp(1em, 1.8vw, 1.3em);
  letter-spacing: 0.2em;
  line-height: 1.8em;
  text-align: center;
  padding: 3em 1em; }
@media screen and (max-width: 450px) {
main.remake_page .about .inner p {
  padding: 1em 0;
  letter-spacing: 0;
  font-size: clamp(1em, 1.6vw, 1.2em); } }

/* 自発・放デイ用画像横並び */
main.remake_page .about .inner .image_box.dot01 {
  width: clamp(300px, 90%, 1000px);
  margin: 0 auto;
  border-radius: 15px;
  background-image: radial-gradient(#ffffff 30%, #e8c72e 30%);
  background-size: 20px 20px;
  background-position: 0ox 0px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  bottom: -10em !important;
}
main.remake_page .about .inner .image_box.dot02 {
  width: clamp(300px, 90%, 1000px);
  margin: 0 auto;
  border-radius: 15px;
  background-image: radial-gradient(#ffffff 30%, #b5d043 30%);
  background-size: 20px 20px;
  background-position: 0ox 0px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  bottom: -10em !important;
}
main.remake_page .about .inner .image_box.dot01 .image-grid,
main.remake_page .about .inner .image_box.dot02 .image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); /* 100px以上で、残りを均等に分割 */
  gap: 10px; /* 画像間の間隔 */
  padding: 2em;
  position: relative;
  bottom: 0em; }
main.remake_page .about .inner .image_box.dot01 .image-item img,
main.remake_page .about .inner .image_box.dot02 .image-item img {
  width: 100%;
  height: auto;
  border-radius: 15px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  z-index: 9999;
  display: block; /* img要素のデフォルトのインライン要素の挙動をブロック要素に変更 */ }
main.remake_page .about .inner .image_box.dot01 .image-item img:hover,
main.remake_page .about .inner .image_box.dot02 .image-item img:hover {
  transform: translateY(-10px) scale(1.05);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3); }
/* レスポンシブ対応 (例: 画面幅が600px以下の場合) */
@media (max-width: 768px) {
main.remake_page .about .inner .image_box.dot01 .image-grid,
main.remake_page .about .inner .image_box.dot02 .image-grid {
  grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
  transform: none;
  width: 100%;
  margin-top: 2rem; /* 上の要素との間に余白を追加 */
  grid-template-columns: repeat(2, 1fr);
  bottom: 0;
  gap: 10px; } }
main.remake_page .left_img {
  grid-column: 1/ span 2;
  grid-row: 3/ span 10;
  display: block;
  width: 100%; }
main.remake_page .right_img {
  grid-column: 11/ span 2;
  grid-row: 2/ span 10;
  display: block;
  width: 100%; }
main.remake_page .anime_child {
  grid-column: 2/ span 2;
  grid-row: 8/ span 3;
  display: block;
  width: clamp(100px, 16vw, 300px);
  position: relative;
  transform: translate(3em, 0px); }
@media screen and (max-width: 1024px) {
  main.remake_page .anime_child {
    grid-row: 9/ span 3; } }
@media screen and (max-width: 768px) {
  main.remake_page .about {
    margin: 2em 0;
    display: grid;
    grid-template-columns: 5vw repeat(10, 1fr) 5vw;
    grid-template-rows: 6em repeat(10, 1fr) 3em; }
  main.remake_page .left_img, main.remake_page .right_img {
    width: 100%;
    height: 100%;
    vertical-align: top;
    object-fit: cover;
    object-position: right; }
  main.remake_page .anime_child {
    grid-row: 9/ span 3;
    grid-column: 8/ span 3;
    transform: translate(0px, 40px); }
  main.remake_page .right_img {
    object-position: left; } }
main.remake_page .empty {
  width: 100%; }
main.remake_page .potosu.remake_service {
  padding: 3em 0;
  background: rgba(250, 255, 180, 0.4); }
main.remake_page .potosu.remake_service .inner {
  width: clamp(300px, 100%, 1366px);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around; }
main.remake_page .potosu.remake_service .office {
  width: clamp(300px, 50%, 600px);
  box-sizing: border-box;
  padding: 1em; }
@media screen and (max-width: 768px) {
  main.remake_page .potosu.remake_service .office {
    width: clamp(300px, 100%, 600px); } }
main.remake_page .potosu.remake_service .office > p {
  text-indent: -1em; }
@media screen and (max-width: 768px) {
  main.remake_page .potosu.remake_service .office > p {
    width: clamp(300px, 90%, 600px);
    margin: 0 auto; } }
main.remake_page .potosu.remake_service .office figure {
  width: 100%; }
main.remake_page .potosu.remake_service .office figure img {
  width: clamp(300px, 100%, 500px);
  display: block;
  margin: 0 auto;
  vertical-align: top; }
main.remake_page .potosu.remake_service .text_area {
  background: #fff;
  padding: 2em;
  box-sizing: border-box;
  border-radius: 1em;
  margin: 1em auto 2em; }
main.remake_page .potosu.remake_service .text_area dl {
  display: flex;
  margin: 1em 0; }
@media screen and (max-width: 1024px) {
  main.remake_page .potosu.remake_service .text_area dl {
    flex-direction: column; } }
main.remake_page .potosu.remake_service .text_area dt {
  width: 8em; }
@media screen and (max-width: 1024px) {
  main.remake_page .potosu.remake_service .text_area dt {
    width: calc(100% - 0em); } }
main.remake_page .potosu.remake_service .text_area dd {
  width: calc(100% - 8em); }
@media screen and (max-width: 1024px) {
  main.remake_page .potosu.remake_service .text_area dd {
    width: calc(100% - 2em);
    padding: 0 1em; } }
main.remake_page .potosu.remake_service .text_area .flow dt {
  text-indent: 1em; }
main.remake_page .potosu.remake_service .text_area table {
  width: 100%;
  display: block;
  margin: 1em 0; }
main.remake_page .potosu.remake_service .text_area table thead {
  width: 100%;
  display: block; }
main.remake_page .potosu.remake_service .text_area table thead tr {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: repeat(1, 1fr); }
main.remake_page .potosu.remake_service .text_area table thead th {
  grid-column: 1/ span 5; }
main.remake_page .potosu.remake_service .text_area table thead th + th {
  grid-column: 6/ span 5; }
main.remake_page .potosu.remake_service .text_area table tbody {
  width: 100%;
  display: block; }
main.remake_page .potosu.remake_service .text_area table tbody tr {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: repeat(1, 1fr);
  margin: 1em auto;
  letter-spacing: 0.1em; }
main.remake_page .potosu.remake_service .text_area table tbody td span:nth-child(1) {
  text-indent: 1em; }
main.remake_page .potosu.remake_service .text_area table tbody td {
  grid-column: 1/ span 5;
  display: flex;
  gap: 0.6em; }
@media screen and (max-width: 768px) {
  main.remake_page .potosu.remake_service .text_area table tbody td {
    flex-direction: column;
    align-items: flex-start; }
  main.remake_page .potosu.remake_service .text_area table tbody td span + span {
    display: block;
    margin: 0 auto; } }
main.remake_page .potosu.remake_service .text_area table tbody td + td {
  grid-column: 6/ span 5; }
main.remake_page .potosu.remake_service .text_area ul {
  list-style: none;
  box-sizing: border-box;
  padding: 1em; }
main.remake_page .potosu.remake_service .memo {
  padding: 2em;
  background: #fff;
  border-radius: 1em; }
main.remake_page .potosu.remake_service .memo ul {
  padding: 1em 0em 1em 3em;
  margin: 0 auto; }
main.remake_page .potosu.remake_service .text_area h4, main.remake_page .potosu.remake_service .text_area h5, main.remake_page .potosu.remake_service .text_area dt, main.remake_page .potosu.remake_service .text_area dd, main.remake_page .potosu.remake_service .text_area th, main.remake_page .potosu.remake_service .text_area td, main.remake_page .potosu.remake_service .text_area li {
  font-size: clamp(1em, 1.6vw, 1.2em);
  letter-spacing: 0.1em;
  font-weight: normal; }
main.remake_page .riyou_kiyaku {
  background-image: url(../img/bg/bg_002.png);
  background-position: 0 0;
  padding: 0 0 3em; }
/*main.remake_page .riyou_kiyaku img {
  width: 70%;
  padding-right: 15%;
  padding-left: 15%; }*/
main.remake_page .riyou_kiyaku > .inner h3 {
  text-align: center;
  padding: 3em 0;
  letter-spacing: 0.1em;
  font-size: clamp(1.3em, 2.2vw, 1.8em);
  background: initial;
    overflow: hidden;
}
main.remake_page .riyou_kiyaku > .inner h3:after {
  display: block;
  content: '';
  width: 96vw;
  height: 40px;
  margin: 0.4em auto 0;
  background-image: url(../img/midashi_item.svg);
  background-repeat: repeat;
  background-position: center;
  position: initial; }
main.remake_page .riyou_kiyaku .schedule_box {
  display: flex;
  flex-wrap: wrap;
  width: clamp(300px, 96%, 1000px);
  margin: 0 auto; }
@media screen and (max-width: 768px) {
  main.remake_page .riyou_kiyaku .schedule_box {
    flex-direction: column; } }
main.remake_page .riyou_kiyaku .schedule_box .schedule {
  display: flex;
  align-items: center;
  width: 50%; }
@media screen and (max-width: 768px) {
  main.remake_page .riyou_kiyaku .schedule_box .schedule {
    width: 100%; } }
@media screen and (max-width: 450px) {
  main.remake_page .riyou_kiyaku .schedule_box .schedule {
    flex-direction: column; } }
main.remake_page .riyou_kiyaku .schedule_box .schedule img {
  width: clamp(150px, 18vw, 240px);
  vertical-align: top; }
main.remake_page .riyou_kiyaku .schedule_box ul {
  width: calc(100% - 240px);
  display: block;
  box-sizing: border-box;
  padding: 1em;
  list-style: none; }
@media screen and (max-width: 768px) {
  main.remake_page .riyou_kiyaku .schedule_box ul {
    width: calc(100% - 150px); } }
@media screen and (max-width: 450px) {
  main.remake_page .riyou_kiyaku .schedule_box ul {
    width: calc(100% - 0px); } }
main.remake_page .riyou_kiyaku .schedule_box li {
  margin: 0.3em 0;
  text-indent: 1em;
  padding: 0.3em 0;
  border-bottom: initial;
  font-size: initial;
  display: block; }
main.remake_page .riyou_kiyaku .schedule_box li + li {
  border-top-width: 2px;
  border-top-style: dashed;
  border-top-color: #f8d8a2; }
main.remake_page .gallery .inner {
  display: flex;
  flex-wrap: wrap;
  width: clamp(300px, 96%, 1000px);
  margin: 0 auto; }
main.remake_page .gallery figure {
  width: calc( ( 100% / 3 ) - 1.8em );
  background: #fff;
  padding: 0.6em;
  margin: 0 0.3em 1em;
  box-shadow: 3px 3px 8px #eaddc7;
  position: relative;
  transform: rotate(2deg); }
@media screen and (max-width: 767px) {
  main.remake_page .gallery figure {
    width: 100%; } }
main.remake_page .gallery figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  vertical-align: top;
  object-fit: cover;
  object-position: center; }
main.remake_page .gallery figure figcaption {
  font-size: 0.9em;
  padding: 0.6em 1.2em;
  position: absolute;
  top: 1em;
  right: 1em;
  /*background: #afd485;*/
  background: #e2f0d9; }
main.remake_page .gallery figure figcaption.jihatu {
  font-size: 0.9em;
  padding: 0.6em 1.2em;
  position: absolute;
  top: 1em;
  right: 1em;
  background: #ffe699; }
main.remake_page .riyou_flow > p {
  font-size: clamp(1em, 1.8vw, 1.2em);
  letter-spacing: 0.1em;
  margin: 0 auto 3em;
  text-align: center; }
main.remake_page .riyou_flow ol {
  display: grid;
  grid-template-columns: 1em repeat(10, 1fr) 1em;
  grid-template-rows: repeat(4, 1fr);
  width: clamp(300px, 96%, 1000px);
  margin: 0 auto;
  gap: 1em 0; }
main.remake_page .riyou_flow li {
  display: flex;
  align-items: center;
  gap: 1em;
  box-sizing: border-box;
  padding: 1em;
  background: #fff;
  border-radius: 1em; }
@media screen and (max-width: 450px) {
  main.remake_page .riyou_flow li {
    flex-direction: column;
    align-items: flex-start; } }
main.remake_page .riyou_flow li {
  grid-column: 2/ span 6; }
@media screen and (max-width: 450px) {
  main.remake_page .riyou_flow li {
    grid-column: 2/ span 10; } }
main.remake_page .riyou_flow li:nth-child(2n) {
  grid-column: 5/ span 6; }
@media screen and (max-width: 450px) {
  main.remake_page .riyou_flow li:nth-child(2n) {
    grid-column: 2/ span 10; } }
main.remake_page .riyou_flow li:nth-child(1) {
  grid-row: 1/ span 1; }
main.remake_page .riyou_flow li:nth-child(2) {
  grid-row: 2/ span 1; }
main.remake_page .riyou_flow li:nth-child(3) {
  grid-row: 3/ span 1; }
main.remake_page .riyou_flow li:nth-child(4) {
  grid-row: 4/ span 1; }
main.remake_page .riyou_flow li:before, main.remake_page .riyou_flow li:after {
  display: none; }
main.remake_page .riyou_flow h4 {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: clamp(1.2em, 2vw, 1.6em);
  letter-spacing: 0.2em;
  height: 8em;
  font-weight: normal;
  line-height: 1.2em;
  color: #fff;
  background: #ffaa56;
  padding: 0.3em 0.3em;
  border-radius: 0.3em; }
@media screen and (max-width: 450px) {
  main.remake_page .riyou_flow h4 {
    -ms-writing-mode: initial;
    writing-mode: initial;
    height: initial; } }
main.remake_page .riyou_flow .text_area {
  padding: 0 1em;
  box-sizing: border-box;
  font-size: clamp(0.9em, 1.6vw, 1.2em);
  letter-spacing: 0.1em;
  line-height: 1.6em;
  background: initial; }
main.remake_page .riyou_flow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  vertical-align: top; }
main.remake_page .riyou_flow .item_01 {
  grid-column: 2/ span 2;
  grid-row: 2/ span 1; }
main.remake_page .riyou_flow .item_02 {
  grid-column: 9/ span 2;
  grid-row: 3/ span 1; }
main.remake_page .riyou_flow .item_03 {
  grid-column: 2/ span 2;
  grid-row: 4/ span 1; }
@media screen and (max-width: 450px) {
  main.remake_page .riyou_flow .item_01 {
    grid-column: 8/ span 4;
    grid-row: 2/ span 1;
    transform: translate(0px, 6em); }
  main.remake_page .riyou_flow .item_02 {
    grid-column: 2/ span 4;
    grid-row: 3/ span 1;
    transform: translate(0px, 6em); }
  main.remake_page .riyou_flow .item_03 {
    grid-column: 8/ span 4;
    grid-row: 4/ span 1;
    transform: translate(0px, 6em); } }
main.remake_page .contact {
  background-image: url(../img/contact.png);
  background-size: cover;
  aspect-ratio: 565/400;
  margin: 2em auto 0;
  max-width: 600px; }
@media screen and (max-width: 450px) {
  main.remake_page .contact {
    background-image: url(../img/contact_bg.png);
    background-size: cover;
    background-position: top center;
    aspect-ratio: 1/1; } }
main.remake_page .contact .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: center; }
main.remake_page .contact .inner > a {
  text-decoration: none;
  color: #333; }
main.remake_page .contact .inner > a > img {
  width: 60%; }
main.remake_page .contact .inner img {
  display: block;
  margin: 0 auto; }
main.remake_page .contact .inner p {
  padding: 0.6em;
  text-align: center; }
@media screen and (max-width: 450px) {
  main.remake_page .contact .inner p {
    padding: 0.3em; } }
main.remake_page .contact .inner .tel {
  text-decoration: none;
  color: #fff;
  background: #ff902d;
  display: block;
  font-size: 1.4em;
  letter-spacing: 0.2em;
  border-radius: 2em;
  transition: 0.6s;
  width: max-content;
  margin: 0 auto;
  padding: 0.1em 1em 0.2em; }
@media screen and (max-width: 450px) {
  main.remake_page .contact .inner .tel {
    width: max-content;
    margin: 0 auto;
    padding: 0.3em 0.8em; } }
main.remake_page .contact .inner .line {
  display: flex;
  align-items: flex-end;
  width: 70%;
  margin: 0.6em auto 0; }
@media screen and (max-width: 450px) {
  main.remake_page .contact .inner .line {
    display: flex;
    align-items: center;
    flex-direction: column; } }
main.remake_page .contact .inner .line p {
  font-size: 0.9em;
  line-height: 1.4em;
  text-align: left; }
main.remake_page .contact .inner .line p b {
  background: linear-gradient(transparent 50%, #fff75e 50%);
  padding: 0.2em;
  color: #FF9800; }
main.remake_page .br_pc {
  display: block; }
@media screen and (max-width: 1024px) {
  main.remake_page .br_pc {
    display: none; } }
@media screen and (max-width: 450px) {
  main.remake_page .about.tiara {
    grid-template-columns: 2vw repeat(10, 1fr) 2vw;
    grid-template-rows: 0em repeat(9, 1fr) 3em; } }
@media screen and (max-width: 1024px) {
  main.remake_page .about.tiara .left_img {
    transform: translate(-100px, 0px); }
  main.remake_page .about.tiara .right_img {
    transform: translate(100px, 0px); } }
@media screen and (max-width: 768px) {
  main.remake_page .about.tiara .left_img {
    transform: translate(0px, 0px); }
  main.remake_page .about.tiara .right_img {
    transform: translate(0px, 0px); } }
@media screen and (max-width: 450px) {
  main.remake_page .about.tiara .left_img, main.remake_page .about.tiara .right_img {
    display: none; } }
main.remake_page .about.tiara .inner {
  grid-column: 1/ span 12;
  grid-row: 2/ span 9;
  background: rgba(255, 255, 255, 0); }
@media screen and (max-width: 768px) {
  main.remake_page .about.tiara .inner {
    width: clamp(320px, 80%, 600px); } }
main.remake_page .about.tiara .inner ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 2em 0; }
main.remake_page .about.tiara .inner li {
  width: 280px;
  aspect-ratio: 1/1;
  border: 1px solid #000;
  background: #fff;
  border-radius: 50%;
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  padding: 1em;
  position: relative; }
main.remake_page .about.tiara .inner li h3 {
  font-size: clamp(1.2em, 2vw, 1.4em);
  margin: 0 auto 1em;
  display: block;
  color: #ffa300; }
main.remake_page .about.tiara .inner li h3 span {
  font-size: 0.8em;
  color: #000; }
main.remake_page .about.tiara .inner li p {
  padding: 0;
  font-size: clamp(0.8em, 1.6vw, 1em);
  letter-spacing: 0.1em; }
main.remake_page .about.tiara .inner li img {
  position: absolute;
  width: 150px;
  height: 150px;
  vertical-align: top; }
main.remake_page .about.tiara .inner li .item001 {
  bottom: 0;
  right: 0;
  transform: translate(40px, 60px); }
main.remake_page .about.tiara .inner li .item002 {
  bottom: 0;
  left: 0;
  transform: translate(-50px, 60px); }
@media screen and (min-width: 1024px) {
  main.remake_page .about.tiara .inner li:nth-child(2) {
    transform: translate(0px, 160px); } }
main.remake_page .tiara_hoiku {
  padding: 3em 0; }
main.remake_page .tiara_hoiku .inner {
  width: clamp(320px, 96%, 1000px);
  margin: 0 auto; }
main.remake_page .tiara_hoiku .inner ul {
  display: flex;
  gap: 1em; }
@media screen and (max-width: 450px) {
  main.remake_page .tiara_hoiku .inner ul {
    flex-direction: column; } }
main.remake_page .tiara_hoiku .inner li {
  width: clamp(320px, 100%, 500px);
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  grid-template-rows: repeat(4, 1fr);
  background: #fff;
  box-sizing: border-box;
  padding: 1em;
  border-radius: 1em; }
main.remake_page .tiara_hoiku .inner li h2 {
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  grid-column: 1/ span 3;
  grid-row: 1/ span 3;
  font-size: 2.2em;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1.2em;
  margin: 0 auto;
  color: #ff9027;
  padding: 0.5em 0; }
main.remake_page .tiara_hoiku .inner li .text {
  grid-column: 4/ span 7;
  grid-row: 1/ span 1;
  font-size: clamp(1em, 2.2vw, 1.4em);
  background: linear-gradient(0deg, #ecff46 56%, transparent 56%);
  height: max-content;
  padding: 0 0.3em 0.2em;
  width: initial;
  margin: initial; }
main.remake_page .tiara_hoiku .inner li .tag {
  grid-column: 4/ span 7;
  grid-row: 2/ span 2;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: baseline;
  gap: 0.4em 1em; }
main.remake_page .tiara_hoiku .inner li .tag span {
  font-size: 1em;
  display: block;
  padding: 0.2em 1em;
  background: #ff9027;
  color: #fff;
  border-radius: 1em;
  width: max-content; }
main.remake_page .tiara_hoiku .inner li button {
  grid-column: 1/ span 5;
  grid-row: 4/ span 1;
  border: 0;
  margin: 0.3em;
  background: #ffc107;
  border-radius: 0.6em;
  transition: 0.6s; }
main.remake_page .tiara_hoiku .inner li button a {
  color: #fff;
  text-decoration: none;
  display: block;
  font-size: clamp(1em, 1.8vw, 1.2em); }
main.remake_page .tiara_hoiku .inner li button + button {
  grid-column: 6/ span 5;
  grid-row: 4/ span 1;
  background: #078dff; }
main.remake_page .tiara_hoiku .inner li button.full {
  grid-column: 1/ span 10;
  background: #ff62c6; }
main.remake_page .tiara_hoiku .inner li button:hover {
  background: #dea806; }
main.remake_page .tiara_hoiku .inner li button + button:hover {
  background: #0479dc; }
main.remake_page .tiara_hoiku .inner li button.full:hover {
  background: #e359b1; }
main.remake_page .tiara_rinen + .about {
  margin: 0em auto 0; }
main.remake_page .tiara_rinen {
  background: #fff;
  padding: 3em 0; }
main.remake_page .tiara_rinen > img {
  width: clamp(320px, 96%, 530px);
  margin: 3em auto 0;
  display: block; }
main.remake_page .days .time_flow {
  width: clamp(320px, 90%, 1000px);
  margin: 0 auto; }
main.remake_page .days .line {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 3em;
  gap: 3em;
  width: clamp(320px, 96%, 600px); }
main.remake_page .days .line > img {
  width: max-content; }
main.remake_page .days .line:before, main.remake_page .days .line:after {
  content: '';
  display: block;
  width: 120px;
  height: 2px;
  background: #ff1817; }
@media screen and (max-width: 450px) {
  main.remake_page .days .line:before, main.remake_page .days .line:after {
    width: clamp(70px, 12vw, 120px); } }
main.remake_page .days .time_flow + .line {
  margin: 3em auto 3em; }
main.remake_page .days .flex_box {
  display: flex;
  align-items: flex-start; }
@media screen and (max-width: 450px) {
  main.remake_page .days .flex_box {
    flex-direction: column; } }
main.remake_page .days .flex_box .text_area {
  width: calc(100% - 300px);
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 2em 0; }
@media screen and (max-width: 768px) {
  main.remake_page .days .flex_box .text_area {
    flex-direction: column; } }
@media screen and (max-width: 450px) {
  main.remake_page .days .flex_box .text_area {
    width: calc(100% - 0px); } }
main.remake_page .days .flex_box time {
  display: flex;
  align-items: center;
  width: 10em;
  box-sizing: border-box;
  padding: 0 0 0 1em;
  font-size: 1.6em; }
main.remake_page .days .flex_box time:after {
  content: '';
  display: block;
  width: 40px;
  height: 5px;
  border-radius: 6px;
  background: #ffc660;
  margin: 0 1em; }
main.remake_page .days .flex_box .event {
  width: calc(100% - (10em + 4em + 40px ) ); }
@media screen and (max-width: 768px) {
  main.remake_page .days .flex_box .event {
    width: calc(100% - 0px);
    box-sizing: border-box;
    padding: 0 0 0 4em; } }
main.remake_page .days .flex_box h5 {
  font-size: clamp(1.2em, 1.8vw, 1.4em);
  font-weight: normal;
  letter-spacing: 0.1em;
  margin: 0 0 0.2em;
  -webkit-text-stroke: 0.3px; }
main.remake_page .days .flex_box h5 span {
  font-size: 0.6em;
  letter-spacing: 0;
  padding: 0.2em 0.8em 0.4em;
  background: #91c1ff;
  margin: 0 0 0 1em;
  border-radius: 1.5em;
  color: #fff; }
main.remake_page .days .flex_box p {
  font-size: clamp(1em, 1.6vw, 1.2em);
  letter-spacing: 0.1em;
  margin: 0 0 0.4em; }
main.remake_page .days .flex_box p + h5 {
  margin: 1em 0 0.2em; }
main.remake_page .days .reverse {
  flex-direction: row-reverse; }
@media screen and (max-width: 450px) {
  main.remake_page .days .reverse {
    flex-direction: column; } }
main.remake_page .days figure {
  width: 300px; }
@media screen and (max-width: 450px) {
  main.remake_page .days figure {
    margin: 2em auto; } }
main.remake_page .days figure img {
  width: 100%;
  border-radius: 1em; }

main.remake_page.sub_page {
  padding: 6em 0 3em; }
main.remake_page.sub_page .inner {
  padding: 3em 0;
  margin: 3em auto 0;
  background-image: url(../img/bg/bg_002.png);
  max-width: initial;
  width: clamp(300px, 96%, 1200px);
  border-radius: 1em; }

main.remake_page.sub_page .contatct .inner {
  background-image: initial;
  padding: 0;
  margin: 0;
  border-radius: initial;
  width: initial; }

main.remake_page.sub_page .price_tuki, main.remake_page.sub_page .price_azukari, main.remake_page.sub_page .price_yakan, main.remake_page.sub_page .riyou_kiyaku {
  padding: 0em 1em 2em; }
@media screen and (max-width: 767px) {
  main.remake_page.sub_page .price_tuki, main.remake_page.sub_page .price_azukari, main.remake_page.sub_page .price_yakan, main.remake_page.sub_page .riyou_kiyaku {
    padding: 0em 0.5em 2em; } }
main.remake_page.sub_page .price_tuki .inner, main.remake_page.sub_page .price_azukari .inner, main.remake_page.sub_page .price_yakan .inner, main.remake_page.sub_page .riyou_kiyaku .inner {
  padding: 0;
  margin: 0 auto; }
main.remake_page.sub_page .riyou_kiyaku .junbi {
  max-width: initial;
  width: clamp(330px, 70%, 800px);
  box-sizing: border-box; }

@media screen and (max-width: 767px) {
  main.remake_page .riyou_kiyaku > .inner h3:after {
    width: 100%; } }

main.remake_page .schedule_year {
  max-width: initial;
  width: clamp(300px, 90%, 800px); }

main.remake_page.site_bg {
  background-image: initial; }
main.remake_page.site_bg .top_pick_up .flex_box {
  justify-content: center;
  position: relative;
  z-index: 1; }

main.remake_page.site_bg .top_pick_up .flex_box:before {
  content: '';
  display: block;
  background-image: url(../img/demo/bg_left.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right;
  width: 150px;
  height: 615px;
  position: absolute;
  left: 0px;
  top: -100px;
  z-index: -1; }
@media screen and (max-width: 767px) {
  main.remake_page.site_bg .top_pick_up .flex_box:before {
    width: 130px; } }

main.remake_page.site_bg .top_pick_up .flex_box:after {
  content: '';
  display: block;
  background-image: url(../img/demo/bg_right.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right;
  width: 150px;
  height: 615px;
  position: absolute;
  right: 0px;
  top: -100px;
  z-index: -1; }
@media screen and (max-width: 767px) {
  main.remake_page.site_bg .top_pick_up .flex_box:after {
    width: 130px;
    top: initial;
    bottom: 0; } }

@media screen and (max-width: 767px) {
  .top_pick_up .service_company {
    width: calc(100% - 2em);
    gap: 1em 0;
    margin: 0 auto 3em; }

  .top_pick_up .service_company article {
    width: calc( ( 100% / 1 ) - 0em); } }
.remake_contact .inner a {
  display: block;
  margin: 0 auto;
  width: max-content; }
.remake_contact .inner img {
  width: clamp(300px, 96%, 545px);
  aspect-ratio: 545/373;
  margin: 0 auto;
  display: block; }

.lazyload {
  opacity: 0; }

.is-lazyloaded {
  opacity: 1;
  transition: opacity .8s ease-out; }



.modaal-gallery-item {
    height: 600px;
}

.modaal-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.pager {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: 1em;
    position: relative;
}


.pager .prev {
    position: absolute;
    left: 0;
}
.pager .next {
    position: absolute;
    right: 0;
}