@charset "UTF-8";
@font-face {
  font-family: 'NagomiPOP';
  src: url("../font/jnag00b4.ttc") format("truetype"); }
@font-face {
  font-family: 'UD_KyokashoN';
  src: url("../font/UDDigiKyokashoN-R.ttc") format("truetype"); }
@font-face {
  font-family: 'UD_KyokashoNB';
  src: url("../font/UDDigiKyokashoN-B.ttc") format("truetype"); }
* {
  padding: 0;
  margin: 0;
  font-family: 'UD_KyokashoN','YuMincho','Yu Mincho','游明朝体','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif; }

body {
  background: url(../img/bg.jpg) repeat 0 0; }

header {
  position: relative;
  padding: 0 0 90px;
  height: 615px;
  background-image: url(../img/sky_bg.png);
  background-size: auto;
  background-repeat: repeat-x;
  background-position: top center; }
header .bg_img {
  width: auto;
  height: 100%; }
header .top_img {
  position: absolute;
  margin: 0 auto;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  max-width: 100%; }
header .top_content {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1em;
  box-sizing: border-box;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  top: 1em;
  left: 0;
  right: 0; }
header .top_content .title {
  display: flex;
  align-items: center;
  max-width: 500px; }
header .top_content .title h1, header .top_content .title h2 {
  width: 10em;
  font-size: 2em;
  color: #dba02b; }
header .top_content .title figure {
  width: calc(100% / 1); }
header .top_content .title img {
  width: 100%; }
header .top_content .title figcaption {
  display: none; }
header .top_content .title .company_logo {
  width: calc(100% - 18em); }
header .top_content .access {
  display: flex;
  gap: 1em; }
header .top_content .QR_icon {
  width: 60px;
  margin: 0 1em; }
header .top_content .QR_icon > img {
  width: 100%; }
header .top_content .QR_icon p {
  font-size: 0.8em;
  text-align: center; }
header .top_content .tel-fax p {
  font-size: 0.8em;
  text-align: center; }
header .top_content .tel-fax p.tel, header .top_content .tel-fax p.phone {
  font-size: 1em;
  padding: 0 0 0.3em;
  display: flex;
  align-items: center;
  gap: 0.2em; }
header .top_content .tel-fax p.tel:before, header .top_content .tel-fax p.phone:before {
  width: 30px;
  height: 30px;
  content: '';
  display: block;
  background-size: 100%;
  background-repeat: no-repeat; }
header .top_content .tel-fax p.tel:before {
  background-image: url(../img/icon/tel.png); }
header .top_content .tel-fax p.phone:before {
  background-image: url(../img/icon/phone.png); }
header .top_content .tel-fax a {
  font-size: 1.6em;
  letter-spacing: 0.1em;
  font-weight: bold;
  text-decoration: none;
  color: #000; }
header .top_content .contact button {
  border: 0;
  padding: 1em 1.4em;
  border-radius: 0.5em;
  background: #ffe69b;
  transition: 0.6s; }
header .top_content .contact button:hover {
  background: #e7db77; }
header .top_content .contact a {
  text-decoration: none;
  color: #000; }

.global_nav {
  position: absolute;
  bottom: 0px;
  width: 100%;
  margin: 0 auto; }
.global_nav ul {
  list-style: none;
  display: flex;
  justify-content: center; }
.global_nav li {
  padding: 0 1.5em;
  font-size: 0.9em;
  font-weight: bold;
  letter-spacing: 0.1em; }
.global_nav li + li {
  border-left-width: 2px;
  border-left-style: dashed;
  border-left-color: #ddd; }
.global_nav a {
  text-decoration: none;
  color: #333;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: 0.6s;
  font-family: 'NagomiPOP';
  line-height: 1.3em; }
.global_nav a > img {
  width: 60px;
  height: 60px;
  margin: 0 auto 0.8em;
  transition: 0.6s; }
.global_nav li:hover a {
  color: #ff8e2c; }
.global_nav li:hover a > img {
  transform: translate(0, -0.6em); }

main {
  box-sizing: border-box;
  padding: 2em; }
main > .inner {
  max-width: 1200px;
  margin: 0 auto; }

.pick_up h3 {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  margin: 1em auto 2em;
  width: max-content;
  position: relative;
  padding: 0.2em 0.5em;
  color: #ff8f0d;
  font-weight: normal; }
.pick_up h3:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.5em;
  background: #9cff4f;
  z-index: -1; }
.pick_up button {
  width: 400px;
  height: 400px;
  color: #fff;
  background: #99d357;
  border-radius: 50%;
  border: 0;
  font-size: 2em;
  margin: 0 auto;
  display: block;
  position: relative;
  transition: 0.6s; }
.pick_up button:hover {
  background: #b9ff6a;
  transform: translate(0px, -10px);
  color: #ff9800; }
.pick_up button:before, .pick_up button:after {
  content: '';
  display: block;
  position: absolute;
  width: 150px;
  height: 150px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }
.pick_up button:before {
  background-image: url(../img/pick_003.png);
  top: 0;
  right: 0;
  animation: loop_rotate 5s linear infinite; }
.pick_up button:after {
  width: 180px;
  height: 180px;
  background-image: url(../img/pick_001.png);
  bottom: 0;
  left: -2em;
  animation: loop_rotate_re 5s linear infinite; }

.pick_up {
  position: relative;
  width: 900px;
  margin: 0 auto;
  padding: 2em 0; }

.pick_up:before, .pick_up:after {
  content: '';
  display: block;
  position: absolute;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat; }

.pick_up:before {
  top: 0;
  left: -40px;
  width: 240px;
  height: 240px;
  background-image: url(../img/pick_004.png); }

.pick_up:after {
  bottom: 0;
  right: 0;
  width: 200px;
  height: 200px;
  background-image: url(../img/pick_005.png); }

@keyframes loop_rotate {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(10deg); }
  50% {
    transform: rotate(0deg); }
  75% {
    transform: rotate(-10deg); }
  100% {
    transform: rotate(0deg); } }
@keyframes loop_rotate_re {
  0% {
    transform: rotate(0deg); }
  25% {
    transform: rotate(-15deg); }
  50% {
    transform: rotate(0deg); }
  75% {
    transform: rotate(15deg); }
  100% {
    transform: rotate(0deg); } }
.service {
  padding: 3em 0; }
.service .inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  list-style: none;
  text-align: center;
  justify-content: center;
  flex-wrap: wrap; }
@media screen and (max-width: 767px) {
  .service .inner {
    flex-direction: column; } }
.service .inner li {
  width: calc(100% / 3);
  aspect-ratio: 321/393;
  box-sizing: border-box;
  padding: 1em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center; }
@media screen and (max-width: 767px) {
  .service .inner li {
    width: calc(90% / 1);
    margin: 0 auto; } }
.service .inner li:nth-child(1) {
  background-image: url(../img/tiara_point.png);
  position: relative; }
.service .inner li:nth-child(1):before {
  content: '';
  display: block;
  width: 170px;
  aspect-ratio: 1/1;
  position: absolute;
  top: -2em;
  left: -1em;
  background-image: url(../img/anime/tuki_anime3.gif);
  background-size: 100%;
  background-repeat: no-repeat; }
@media screen and (max-width: 1024px) {
  .service .inner li:nth-child(1):before {
    width: 130px; } }
@media screen and (max-width: 767px) {
  .service .inner li:nth-child(1):before {
    top: -1em;
    left: -1em;
    width: 160px; } }
.service .inner li:nth-child(2) {
  transform: translate(0, 60px);
  background-image: url(../img/tiara_point02.png); }
@media screen and (max-width: 767px) {
  .service .inner li:nth-child(2) {
    transform: translate(0, 30px); } }
.service .inner li:nth-child(2):before {
  content: '';
  display: block;
  width: 150px;
  aspect-ratio: 30/24;
  position: absolute;
  top: -1em;
  left: 2em;
  right: 0;
  margin: 0 auto;
  background-image: url(../img/anime/about_anime2.gif);
  background-size: 100%;
  background-repeat: no-repeat; }
@media screen and (max-width: 1024px) {
  .service .inner li:nth-child(2):before {
    width: 130px; } }
@media screen and (max-width: 767px) {
  .service .inner li:nth-child(2):before {
    top: -1em;
    left: 2em;
    width: 140px; } }
.service .inner li:nth-child(3) {
  background-image: url(../img/tiara_point03.png);
  background-position: bottom;
  position: relative; }
.service .inner li:nth-child(3):before {
  content: '';
  display: block;
  width: 150px;
  aspect-ratio: 1/1;
  position: absolute;
  bottom: -3em;
  right: -1em;
  background-image: url(../img/anime/about_anime3.gif);
  background-size: 100%;
  background-repeat: no-repeat; }
@media screen and (max-width: 1024px) {
  .service .inner li:nth-child(3):before {
    width: 120px; } }
@media screen and (max-width: 767px) {
  .service .inner li:nth-child(3):before {
    width: 150px; } }
.service .inner li:nth-child(4), .service .inner li:nth-child(5) {
  justify-content: flex-start;
  padding: 6em 1em 1em; }
@media screen and (max-width: 1024px) {
  .service .inner li:nth-child(4), .service .inner li:nth-child(5) {
    width: calc(90% / 2); } }
@media screen and (max-width: 767px) {
  .service .inner li:nth-child(4), .service .inner li:nth-child(5) {
    width: calc(100% / 1); } }
.service .inner h3 {
  font-family: 'NagomiPOP';
  font-size: 1.2em;
  line-height: 1.6em;
  padding: 0 0 1em;
  margin: 1em 0 0; }
@media screen and (max-width: 1024px) {
  .service .inner h3 {
    font-size: 1em; } }
.service .inner h3 strong {
  font-family: 'NagomiPOP';
  font-size: 1.4em;
  color: #ff902d; }
@media screen and (max-width: 1024px) {
  .service .inner h3 strong {
    font-size: 1.2em; } }
@media screen and (max-width: 767px) {
  .service .inner h3 strong {
    font-size: 1.4em; } }
.service .inner h4 {
  font-family: 'NagomiPOP';
  font-size: 1.1em;
  line-height: 1.6em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1em;
  background-image: url(../img/icon/top_point_bg04.png);
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  aspect-ratio: 14/5; }
.service .inner h4 strong {
  font-family: 'NagomiPOP';
  font-size: 1.4em;
  color: #ff902d; }
@media screen and (max-width: 1024px) {
  .service .inner h4 strong {
    font-size: 1.2em; } }
.service .inner h4 label {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 0.2em 0 0;
  gap: 0.2em; }
.service .inner h4 span {
  font-size: 0.7em;
  font-weight: normal;
  padding: 0.4em 0.5em 0.3em;
  background: #eba810;
  display: inline-block;
  border-radius: 1em;
  line-height: 1em;
  color: #fff; }
.service .inner h4 + p {
  text-align: left;
  padding: 60px 0 0px;
  margin: 0 0 30px;
  font-size: 1em;
  background-image: url(../img/line.png);
  background-position: bottom;
  background-repeat: repeat-x;
  background-size: auto 1em;
  position: relative; }
.service .inner p.hoiku:before {
  content: '';
  display: block;
  width: 100px;
  aspect-ratio: 10/12;
  background-image: url(../img/icon/top_point_bg04-01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: -2em;
  right: 0; }
.service .inner p.yakan:before {
  content: '';
  display: block;
  width: 100px;
  aspect-ratio: 11/11;
  background-image: url(../img/icon/top_point_bg04-02.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: -2em;
  right: 0; }
.service .inner p {
  font-size: 0.9em;
  line-height: 1.6em;
  letter-spacing: 0.1em; }
.service .inner button {
  border: 0;
  padding: 0;
  font-size: 1em;
  color: #fff;
  letter-spacing: 0.1em; }
.service .inner button a {
  display: block;
  text-decoration: none;
  padding: 1.6em;
  color: #fff;
  transition: 0.6s;
  border-radius: 0.4em; }
.service .inner button.link01 a {
  background: #ff7e3e; }
.service .inner button.link01 a:hover {
  background: #cf6c3a; }
.service .inner button.link02 {
  margin: 0.5em 0 0; }
.service .inner button.link02 a {
  background: #6bce94; }
.service .inner button.link02 a:hover {
  background: #60b483; }

.top_pick_up {
  width: 100%; }
.top_pick_up h3 {
  font-size: 1.5em;
  letter-spacing: 0.1em;
  margin: 1em auto 2em;
  width: max-content;
  /*position: relative;*/
  padding: 0.2em 0.5em;
  color: #ff8f0d;
  font-weight: normal; }
.top_pick_up h3:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0.5em;
  background-image: url(../img/line.png);
  background-size: auto 16px;
  background-position: center bottom;
  z-index: -1; }
.top_pick_up .flex_box {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1em; }
.top_pick_up .news_area {
  width: calc( ( (100% / 6) * 2 ) - 1em ); }
.top_pick_up .news_area .news_head {
  display: flex;
  align-items: center;
  padding: 0 0 1em; }
.top_pick_up .news_area .news_head img {
  aspect-ratio: 60/17;
  width: calc( 100% - 100px ); }
.top_pick_up .news_area .news_head button {
  border: 0;
  background: #86fd6b;
  border-radius: 50%;
  transition: 0.6s; }
.top_pick_up .news_area .news_head button a {
  display: flex;
  width: 90px;
  height: 90px;
  align-items: center;
  justify-content: center; }
.top_pick_up .news_area .news_head button:hover {
  background: #fdba6b; }
.top_pick_up .news_area ul {
  width: 100%;
  aspect-ratio: 500/555;
  background-image: url(../img/news_frames.png);
  background-size: 100% 100%;
  background-position: top;
  background-repeat: no-repeat;
  list-style: none;
  box-sizing: border-box;
  padding: 1.2em; }
.top_pick_up .news_area li + li {
  border-top-width: 2px;
  border-top-style: dashed;
  border-top-color: #ffd8d8; }
.top_pick_up .news_area a {
  text-decoration: none;
  color: #333;
  display: block;
  padding: 0.2em 0.4em;
  box-sizing: border-box; }
.top_pick_up .news_area time {
  font-size: 1em;
  position: relative;
  width: max-content;
  letter-spacing: 0.1em;
  padding: 0 0.3em; }
.top_pick_up .news_area time:before {
  content: '';
  display: block;
  width: 100%;
  height: 0.5em;
  position: absolute;
  bottom: 0;
  left: 0;
  background: #96ff76;
  z-index: -1; }
.top_pick_up .news_area h5 {
  padding: 0.8em 0.4em 0.6em;
  font-size: 1em; }
.top_pick_up .service_company {
  width: calc( (100% / 6) * 4 );
  display: flex;
  gap: 1em; }
.top_pick_up .service_company article {
  width: calc( ( 100% / 2 ) - 1em);
  background: #fff;
  padding: 0 0 1em;
  overflow: hidden;
  border-radius: 0.8em;
  box-shadow: 2px 2px 6px #acc17e; }
.top_pick_up .service_company a {
  color: #333;
  text-decoration: none; }
.top_pick_up .service_company figcaption {
  display: none; }
.top_pick_up .service_company figure.logo {
  padding: 1em; }
.top_pick_up .service_company img {
  width: 100%;
  vertical-align: top; }
.top_pick_up .service_company p {
  text-align: center;
  font-size: 0.9em; }
.top_pick_up .service_company p.tel a {
  color: #fff;
  background: #ea99a7;
  padding: 0.7em 1.6em 0.4em;
  display: block;
  border-radius: 1em;
  font-size: 1.2em;
  letter-spacing: 0.1em;
  width: max-content;
  margin: 1em auto;
  line-height: 1em; }

.service_company article a .thumnail {
  position: relative; }
.service_company article a .thumnail figcaption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  z-index: 10;
  opacity: 0;
  transition: 0.6s;
  font-size: 1.1em;
  font-weight: bold; }
.service_company article a .thumnail figcaption:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #f6c14a;
  opacity: 0.3;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1; }
.service_company article a:hover .thumnail figcaption {
  opacity: 1;
  transition: 0.6s; }
.service_company article .tel a {
  transition: 0.6s; }
.service_company article .tel.takuji a {
  background: #ea99a7; }
.service_company article .tel.takuji a:hover {
  background: #e7bdc4; }
.service_company article .tel.takinou a {
  background: #ccbd34; }
.service_company article .tel.takinou a:hover {
  background: #ccc15e; }

.top_about {
  padding: 9em 1em 6em; }
.top_about .inner {
  max-width: 1000px;
  margin: 0 auto; }
.top_about .inner h2 {
  text-align: center; }
.top_about .inner figure {
  width: max-content;
  margin: 0 auto; }
.top_about .inner figure img {
  width: 100%;
  vertical-align: top; }
.top_about .inner p {
  font-size: 1.2em;
  letter-spacing: 0.1em;
  line-height: 1.6em;
  text-align: center;
  padding: 3em 1em; }
.top_about .inner p strong {
  font-weight: normal;
  color: #d69799;
  font-size: 1.4em; }
.top_about .inner p span {
  color: #d69799; }
.top_about .inner {
  background: #fff;
  border-radius: 1em;
  box-shadow: 5px 5px 10px #efe9c4;
  position: relative;
  padding: 3em 0; }
.top_about span.kazari:before, .top_about span.kazari:after {
  content: '';
  display: block;
  width: 25em;
  height: 20em;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }
.top_about span.kazari:before {
  top: -4em;
  left: -3em;
  background-image: url(../img/top_about_001.png); }
.top_about span.kazari:after {
  bottom: -4em;
  right: -3em;
  background-image: url(../img/top_about_002.png); }
.top_about .inner:before, .top_about .inner:after {
  content: '';
  display: block;
  width: 15em;
  height: 15em;
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center; }
.top_about .inner:before {
  top: 0;
  right: -3em;
  background-image: url(../img/pick_004.png); }
.top_about .inner:after {
  bottom: -3em;
  left: -4em;
  width: 17em;
  height: 17em;
  background-image: url(../img/pick_005.png); }

  /*閉園のお知らせ*/
.info_closing {
  width: 100%;
  background: #fff;
  margin: 6em auto 0; }                                
.info_closing .inner {
  background: #fff;
  padding: 3em 0;
  width: clamp(300px, 90%, 1000px);
  margin: 0 auto; }
.info_closing > .inner h2.title {
  text-align: center;
  padding: 3em 0;
  letter-spacing: 0.1em;
  font-size: clamp(1.3em, 2.2vw, 1.8em);
  background: initial;
    overflow: hidden; }
.info_closing > .inner h2.title: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; } 

.top_company {
  padding: 6em 1em; }
.top_company .inner h3 {
  font-size: 1.6em;
  background-image: url(../img/line.png);
  background-size: auto 0.9em;
  background-position: bottom;
  background-repeat: repeat-x;
  padding: 0.2em 0.4em 0.6em;
  position: relative;
  letter-spacing: 0.2em; }
.top_company .inner h3:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 300px;
  height: 91px;
  aspect-ratio: 300/91;
  background-image: url(../img/items001.png);
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat; }
.top_company .company_box {
  padding: 3em 2em; }
.top_company .company_box dl {
  display: flex;
  justify-content: space-between;
  padding: 0.6em 1em;
  font-size: 1.2em;
  line-height: 1.6em;
  letter-spacing: 0.1em; }
.top_company .company_box dt {
  width: 100px;
  display: flex;
  align-items: center;
  justify-content: center; }
.top_company .company_box dd {
  width: calc(100% - 140px); }
.top_company .company_box dd span {
  font-size: 0.8em; }
.top_company .company_box dl + dl {
  border-top-width: 2px;
  border-top-style: dashed;
  border-top-color: #c9deb0; }

.top_access {
  padding: 6em 1em; }
.top_access .inner h3 {
  font-size: 1.6em;
  background-image: url(../img/line.png);
  background-size: auto 0.9em;
  background-position: bottom;
  background-repeat: repeat-x;
  padding: 0.2em 0.4em 0.6em;
  position: relative;
  letter-spacing: 0.2em; }
.top_access .inner h3:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 300px;
  height: 91px;
  aspect-ratio: 300/91;
  background-image: url(../img/items001.png);
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat; }
.top_access .map {
  width: 100%;
  aspect-ratio: 4/3;
  box-sizing: border-box;
  padding: 3em; }
.top_access .map iframe {
  width: 100%;
  height: 100%; }

footer {
  background: #f1e8d6;
  padding: 3em 1em 0em; }
footer .inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start; }
footer .submenu {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  list-style: none;
  padding: 2em 0; }
footer .submenu li {
  font-size: 1em; }
footer .submenu a {
  text-decoration: none;
  color: #333;
  display: flex;
  gap: 0.6em;
  padding: 0.3em 0.4em; }
footer .submenu a:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../img/icon/menu_icon.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }
footer .foo_company {
  display: flex;
  flex-wrap: wrap;
  width: 500px;
  align-items: center;
  gap: 1em; }
footer .foo_company h3 {
  font-size: 1.8em; }
footer .foo_company a {
  text-decoration: none;
  color: #dba02b; }
footer .foo_company .office {
  display: flex;
  flex-direction: column;
  width: calc(100% - 17em); }
footer .foo_company img {
  width: 100%;
  vertical-align: top; }
footer .foo_company .text_area {
  width: 100%; }
footer .foo_company .text_area p {
  font-size: 1em;
  line-height: 1.6em;
  letter-spacing: 0.1em; }
footer .foo_company .text_area a {
  text-decoration: none;
  color: #333; }
footer .sitemap {
  padding: 0 1em;
  margin: 0 auto; }
footer .sitemap h3 {
  font-size: 1.4em;
  background-image: url(../img/line.png);
  background-size: auto 0.9em;
  background-position: bottom;
  background-repeat: repeat-x;
  padding: 0.2em 0.4em 0.6em;
  position: relative;
  letter-spacing: 0.2em;
  margin: 0 0 1em; }
footer .sitemap ul {
  list-style: none; }
footer .sitemap li {
  font-size: 1.1em;
  letter-spacing: 0.1em;
  margin: 0 0 0.3em; }
footer .sitemap a {
  text-decoration: none;
  color: #333;
  display: flex;
  gap: 0.6em;
  padding: 0.3em 0.4em; }
footer .sitemap a:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../img/icon/menu_icon.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }
footer p.copyright {
  padding: 3em 1em 1em;
  text-align: center;
  font-size: 0.8em;
  margin: 0 auto;
  max-width: 1200px; }

.bg_liner {
  background-image: url(../img/icon/footer_bg.png);
  background-size: contain;
  background-repeat: repeat-x;
  aspect-ratio: 1500/115;
  width: 100%; }

header .catch {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 30px;
  margin: auto;
  width: max-content;
  height: max-content; }
header .catch figure + figure {
  padding: 2em 0 0; }
header .catch img {
  width: 300px;
  display: block;
  margin: 0 auto; }
header .catch figcaption {
  text-align: center;
  font-size: 1.1em;
  letter-spacing: 0.1em; }

.nab_btn, .global_sp {
  display: none; }

@media screen and (max-width: 1024px) {
  .top_content .access .QR_icon, .top_content .access .contact {
    display: none; }

  .nab_btn {
    display: block;
    position: fixed;
    top: 2em;
    right: 2em;
    width: 50px;
    height: 50px;
    border: 1px solid #ff7f39;
    color: #333;
    background: #ffb056;
    font-size: 1.3em;
    border-radius: 50%;
    z-index: 30; }
  .nab_btn > img {
    width: 70%;
    display: block;
    margin: 0 auto; }

  .global_sp {
    position: fixed;
    top: 0;
    right: 0;
    background: #fff;
    width: 60%;
    height: 100vh;
    box-sizing: border-box;
    padding: 6em 1em 3em;
    z-index: 20; }
  .global_sp ul {
    list-style: none;
    width: max-content;
    margin: 0 auto; }
  .global_sp ul li {
    margin: 0 0 1em; }
  .global_sp ul img {
    width: 30px;
    height: 30px;
    aspect-ratio: 1/1; }
  .global_sp ul a {
    text-decoration: none;
    color: #333;
    display: flex;
    align-items: center;
    gap: 1em; }
  .global_sp .QR_icon {
    width: 150px;
    margin: 3em auto;
    text-align: center; }
  .global_sp .QR_icon a {
    text-decoration: none;
    color: #333; }
  .global_sp .QR_icon img {
    width: 100%;
    vertical-align: top; }
  .global_sp .QR_icon p {
    font-size: 1em;
    padding: 0.2em 0;
    letter-spacing: 0.1em; }

  .global_sp .close {
    display: block;
    width: 40%;
    height: 100vh;
    background: rgba(255, 165, 165, 0.4);
    position: fixed;
    top: 0;
    left: 0; }

  body.open .global_sp {
    display: block;
    animation: fade_nav 0.6s ease both; } }
@keyframes fade_nav {
  0% {
    display: none;
    opacity: 0; }
  1% {
    display: block;
    opacity: 0; }
  100% {
    display: block;
    opacity: 1; } }
.br_sp {
  display: none; }

.br_pc {
  display: block; }

@media screen and (max-width: 1024px) {
  .br_pc {
    display: none; }

  header .top_content .title {
    max-width: 400px; }

  header .top_content {
    justify-content: flex-start;
    gap: 1em; }

  header .top_img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 80%;
    vertical-align: top; }

  .top_pick_up .flex_box {
    flex-direction: column-reverse; }

  .top_pick_up .news_area {
    width: calc( 400px - 1em );
    margin: 0 0 3em; }

  .top_pick_up .service_company {
    width: calc(100% - 2em);
    margin: 0 0 3em; }

  main {
    padding: 1em;
    overflow: hidden; }

  .top_about .inner:before, .top_about .inner:after {
    width: 11em;
    height: 11em; }

  .top_about .inner:after {
    width: 13em;
    height: 13em;
    bottom: -4em;
    left: -2em; }

  .top_about .inner:before {
    top: -2em;
    right: -2em; }

  .top_about span.kazari:before, .top_about span.kazari:after {
    width: 22em;
    height: 17em; }

  footer .inner {
    flex-direction: column; }

  footer .foo_company {
    margin: 0 auto; }

  footer .sitemap {
    width: 100%;
    box-sizing: border-box;
    padding: 2em 1em; } }
@media screen and (max-width: 767px) {
  header {
    padding: 0; }

  header .top_content .title {
    flex-direction: column;
    align-items: flex-start; }

  header .top_content .title .company_logo {
    width: calc(100% - 8em); }

  header .top_content .access {
    display: none; }

  header .top_img {
    height: 100vh;
    width: 100%;
    object-fit: cover;
    object-position: 88%;
    vertical-align: top; }

  header .catch img {
    width: 200px; }

  header .catch figcaption {
    font-size: 1em;
    padding: 1em 0 0; }

  .global_nav {
    display: none; }

  .nab_btn {
    top: 1em;
    right: 0.8em;
    width: 40px;
    height: 40px; }

  .global_sp {
    width: 100%; }

  .global_sp .close {
    display: none; }

  .top_pick_up .service_company {
    flex-direction: column; }

  .top_pick_up .service_company article {
    width: calc( ( 100% / 1 ) - 1em); }

  .top_pick_up .news_area {
    width: calc( 100% - 1em ); }

  .top_about {
    padding: 6em 0em 3em; }

  .top_about span.kazari:before, .top_about span.kazari:after {
    width: 16em;
    height: 12em; }

  .top_about span.kazari:before {
    left: -2em; }

  .top_about span.kazari:after {
    right: -2em; }

  .top_about .inner figure {
    width: 100%; }

  .top_about .inner:before {
    top: -7em;
    right: -1em;
    width: 10em;
    height: 10em; }

  .top_about .inner:after {
    width: 11em;
    height: 11em;
    bottom: -9em;
    left: -1em; }

  .top_about .inner p {
    font-size: 1em; }

  .top_about .inner p strong {
    font-size: 1.2em; }

  .br_sp {
    display: block; }

  .top_company {
    padding: 9em 0em 3em; }

  .top_company .inner h3, .top_access .inner h3 {
    font-size: 1.4em; }

  .top_company .inner h3:after, .top_access .inner h3:after {
    width: 150px;
    height: 44px;
    bottom: 10px; }

  .top_company .company_box {
    padding: 3em 0; }

  .top_company .company_box dl {
    font-size: 1em;
    flex-direction: column;
    gap: 0.6em; }

  .top_company .company_box dt {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.1em;
    font-weight: bold; }

  .top_company .company_box dd {
    width: calc(100% - 0px); }

  .top_access {
    padding: 3em 0; }

  .top_access .map {
    padding: 2em 0em; }

  .bg_liner {
    background-image: url(../img/icon/footer_bg.png);
    background-size: cover;
    background-repeat: repeat-x;
    aspect-ratio: 1500/115;
    width: 100%;
    height: 80px; }

  footer .foo_company {
    width: 100%;
    justify-content: center; }

  footer .foo_company .office {
    width: calc(100% - 6em); }

  footer .sitemap {
    padding: 2em 0em; } }
header .catch h2 {
  font-family: 'NagomiPOP';
  font-size: 3em;
  letter-spacing: 0.2em;
  line-height: 1.3em;
  text-align: center;
  color: #FF9800;
  text-shadow: 0px 0px 10px #fff; }
@media screen and (max-width: 767px) {
  header .catch h2 {
    font-size: 1.6em; } }

.price_tuki, .price_azukari, .price_yakan, .riyou_kiyaku {
  padding: 4em 1em 2em; }
.price_tuki .inner h3, .price_azukari .inner h3, .price_yakan .inner h3, .riyou_kiyaku .inner h3 {
  font-size: 1.4em;
  background-image: url(../img/line.png);
  background-size: auto 0.9em;
  background-position: bottom;
  background-repeat: repeat-x;
  padding: 0.2em 0.4em 0.6em;
  position: relative;
  letter-spacing: 0.2em; }
.price_tuki .inner h3 span, .price_azukari .inner h3 span, .price_yakan .inner h3 span, .riyou_kiyaku .inner h3 span {
  font-size: 0.8em;
  margin: 0 0 0 1em; }
.price_tuki .inner h3:after, .price_azukari .inner h3:after, .price_yakan .inner h3:after, .riyou_kiyaku .inner h3:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 300px;
  height: 91px;
  aspect-ratio: 300/91;
  background-image: url(../img/items001.png);
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat; }
.price_tuki .inner p, .price_azukari .inner p, .price_yakan .inner p, .riyou_kiyaku .inner p {
  font-size: 1em;
  line-height: 1.6em;
  letter-spacing: 0.1em;
  padding: 1em; }
.price_tuki .inner .text_area h4, .price_azukari .inner .text_area h4, .price_yakan .inner .text_area h4, .riyou_kiyaku .inner .text_area h4 {
  font-size: 1.3em;
  line-height: 1.6em;
  padding: 2em 1em 1em;
  max-width: 1000px;
  margin: 0 auto; }
.price_tuki .inner .text_area ol, .price_tuki .inner .text_area ul, .price_azukari .inner .text_area ol, .price_azukari .inner .text_area ul, .price_yakan .inner .text_area ol, .price_yakan .inner .text_area ul, .riyou_kiyaku .inner .text_area ol, .riyou_kiyaku .inner .text_area ul {
  list-style: none;
  padding: 0 1em;
  max-width: 800px;
  margin: 0 auto; }
.price_tuki .inner .text_area li, .price_azukari .inner .text_area li, .price_yakan .inner .text_area li, .riyou_kiyaku .inner .text_area li {
  padding: 0px 1em;
  margin: 0.5em 0;
  font-size: 1em;
  letter-spacing: 0.1em;
  line-height: 1.6em;
  position: relative; }
.price_tuki .inner .text_area li:before, .price_azukari .inner .text_area li:before, .price_yakan .inner .text_area li:before, .riyou_kiyaku .inner .text_area li:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../img/icon/menu_icon.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: -15px; }

.price_menu {
  display: flex;
  max-width: 800px;
  margin: 0 auto; }
.price_menu .price_box {
  width: calc((100% / 5) - 2px );
  list-style: none;
  background: #fff;
  border-left: 1px solid #f9a226;
  border-right: 1px solid #f9a226;
  border-bottom: 1px solid #f9a226; }
.price_menu .price_box li:nth-child(1) {
  text-align: center; }
.price_menu .price_box li {
  padding: 0.4em 1em;
  box-sizing: border-box;
  line-height: 1.6em;
  border-top: 1px solid #f9a226; }
.price_menu .price_box li:nth-child(1) {
  background: #f2fde9; }
.price_menu .price_box + .price_box {
  width: calc( (100% / 5) * 2 - 1px);
  border-left: 0px solid #f9a226; }
.price_menu .price_box:nth-child(1) {
  width: calc((100% / 6) - 2px ); }
.price_menu .price_box:nth-child(1) li {
  padding: 0.4em 0em; }
.price_menu .price_box:nth-child(2) {
  width: calc( (100% / 6) * 2 - 1px); }
.price_menu .price_box:nth-child(3) {
  width: calc( (100% / 6) * 3 - 1px); }
.price_menu .price_box:nth-child(1) li {
  text-align: center; }
.price_menu .price_box:nth-child(1) li, .price_menu .price_box:nth-child(2) li {
  display: flex;
  justify-content: center;
  align-items: center; }
.price_menu .price_box:nth-child(1) li + li, .price_menu .price_box:nth-child(2) li + li {
  height: 65px; }

.riyou_kiyaku .junbi {
  max-width: 800px;
  margin: 4em auto;
  padding: 3em 4em;
  position: relative;
  background: #fff; }
.riyou_kiyaku .junbi h5 {
  font-size: 1.3em;
  letter-spacing: 0.1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1em auto 2em; }
.riyou_kiyaku .junbi h5:after {
  content: '';
  display: block;
  width: 400px;
  height: 23px;
  aspect-ratio: 400/23;
  background-image: url(../img/icon/normal_item001.png);
  background-size: contain;
  background-position: bottom;
  background-repeat: no-repeat; }
.riyou_kiyaku .junbi ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 2em;
  width: 80%;
  gap: 0.5em; }
@media screen and (max-width: 1024px) {
  .riyou_kiyaku .junbi ul {
    width: 80%; } }
.riyou_kiyaku .junbi p {
  width: 85%;
  margin: 0 auto; }
@media screen and (max-width: 1024px) {
  .riyou_kiyaku .junbi p {
    width: 100%;
    box-sizing: border-box; } }
.riyou_kiyaku .junbi:before, .riyou_kiyaku .junbi:after, .riyou_kiyaku .junbi .kazari:before, .riyou_kiyaku .junbi .kazari:after {
  content: '';
  display: block;
  width: 250px;
  aspect-ratio: 400/109;
  position: absolute;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center; }
.riyou_kiyaku .junbi:before {
  top: -1em;
  left: -2em;
  background-image: url(../img/icon/normal_item002.png); }
.riyou_kiyaku .junbi:after {
  top: -1em;
  right: -2em;
  background-image: url(../img/icon/normal_item003.png); }
.riyou_kiyaku .junbi .kazari:before {
  bottom: -1em;
  left: -2em;
  background-image: url(../img/icon/normal_item004.png); }
.riyou_kiyaku .junbi .kazari:after {
  bottom: -1em;
  right: -2em;
  background-image: url(../img/icon/normal_item005.png); }

.contatct {
  background-image: url(../img/contact.png);
  background-size: cover;
  aspect-ratio: 565/400;
  margin: 2em auto;
  max-width: 600px; }
.contatct .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: center; }
.contatct .inner > a {
  text-decoration: none;
  color: #333; }
.contatct .inner img {
  display: block;
  margin: 0 auto; }
.contatct .inner p {
  padding: 0.6em;
  text-align: center; }
.contatct .inner .tel {
  text-decoration: none;
  color: #fff;
  background: #ff902d;
  display: block;
  padding: 0.4em 1em 0.3em;
  font-size: 1.4em;
  letter-spacing: 0.2em;
  border-radius: 2em;
  transition: 0.6s; }
.contatct .inner .line {
  display: flex;
  align-items: flex-end; }
.contatct .inner .line p {
  font-size: 0.9em;
  line-height: 1.4em;
  text-align: left; }
.contatct .inner .line p b {
  background: linear-gradient(transparent 50%, #fff75e 50%);
  padding: 0.2em;
  color: #FF9800; }

@media screen and (max-width: 767px) {
  .price_tuki .inner h3:after, .price_azukari .inner h3:after, .price_yakan .inner h3:after, .riyou_kiyaku .inner h3:after {
    width: 150px;
    height: auto;
    z-index: -1;
    bottom: 10px;
    opacity: 0.3; }

  .price_tuki .inner .text_area h4, .price_azukari .inner .text_area h4, .price_yakan .inner .text_area h4, .riyou_kiyaku .inner .text_area h4 {
    font-size: 1.2em;
    padding: 2em 0em 1em; }

  .price_tuki .inner .text_area li:before, .price_azukari .inner .text_area li:before, .price_yakan .inner .text_area li:before, .riyou_kiyaku .inner .text_area li:before {
    width: 16px;
    height: 16px; }

  .price_tuki .inner .text_area ol, .price_tuki .inner .text_area ul, .price_azukari .inner .text_area ol, .price_azukari .inner .text_area ul, .price_yakan .inner .text_area ol, .price_yakan .inner .text_area ul, .riyou_kiyaku .inner .text_area ol, .riyou_kiyaku .inner .text_area ul {
    padding: 0 0.6em; }

  .price_tuki .inner .text_area li, .price_azukari .inner .text_area li, .price_yakan .inner .text_area li, .riyou_kiyaku .inner .text_area li {
    padding: 0px 0.6em; }

  .price_tuki .inner p, .price_azukari .inner p, .price_yakan .inner p, .riyou_kiyaku .inner p {
    padding: 1em 0.6em; }

  .price_tuki, .price_azukari, .price_yakan, .riyou_kiyaku {
    padding: 4em 0em 2em; }

  .price_menu {
    flex-wrap: wrap; }

  .price_menu .price_box:nth-child(1) {
    width: calc((100% / 3) - 2px );
    border-bottom: 0; }
  .price_menu .price_box:nth-child(1) li {
    padding: 0.4em 0em; }

  .price_menu .price_box:nth-child(2) {
    width: calc( (100% / 3) * 2 - 1px);
    border-bottom: 0; }

  .price_menu .price_box:nth-child(3) {
    width: calc( (100% / 1) - 2px);
    border-left: 1px solid #f9a226; }

  .contatct {
    background-image: url(../img/contact_bg.png);
    background-size: cover;
    background-position: top center;
    aspect-ratio: 1/1; }

  .contatct .inner .tel {
    font-size: 1.1em;
    width: max-content;
    margin: 0 auto;
    padding: 0.3em 0.8em !important; }

  .contatct .inner .line {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: calc(100% - 2em); }

  .price_yakan .inner .contatct .inner p, .riyou_kiyaku .inner .contatct .inner p {
    padding: 0.3em; }

  .riyou_kiyaku .junbi {
    padding: 2em 1em; }

  .riyou_kiyaku .junbi:before, .riyou_kiyaku .junbi:after, .riyou_kiyaku .junbi .kazari:before, .riyou_kiyaku .junbi .kazari:after {
    width: 160px; }

  .riyou_kiyaku .junbi h5:after {
    width: 100%; }

  .riyou_kiyaku .junbi:before, .riyou_kiyaku .junbi .kazari:before {
    left: 0; }

  .riyou_kiyaku .junbi:after, .riyou_kiyaku .junbi .kazari:after {
    right: 0; } }
.top_about .inner:before {
  background-image: url(../img/pick_002.png); }

.top_about .inner:after {
  background-image: url(../img/pick_003.png); }

.potosu_service .inner {
  display: flex;
  flex-wrap: wrap; }
.potosu_service .inner .office {
  width: calc( (100% / 2 ) - 1em);
  padding: 0 0.5em; }
.potosu_service .inner .office figure {
  width: 90%;
  position: relative; }
.potosu_service .inner .office figure:before {
  content: '';
  display: block;
  width: 56px;
  aspect-ratio: 126/54;
  background-image: url(../img/potosu_midashi001-2.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  position: absolute;
  bottom: -4%;
  left: 13%;
  z-index: -1;
  animation: shipo 2s ease infinite; }
.potosu_service .inner .office img {
  width: 100%; }
.potosu_service .inner .office figcaption {
  position: absolute;
  top: 47%;
  left: 1em;
  right: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: max-content;
  height: max-content;
  font-size: 1.3em;
  letter-spacing: 0.1em; }
.potosu_service .inner .office.jidou figure:before {
  background-image: url(../img/potosu_midashi001-2.png); }
.potosu_service .inner .office.houka figure:before {
  background-image: url(../img/potosu_midashi002-2.png); }
.potosu_service .inner .office.gaiyou figure:before {
  background-image: url(../img/potosu_midashi003-2.png); }
.potosu_service .inner .text_area {
  padding: 1.4em 2em;
  margin: 3em auto;
  border: 2px solid #000;
  border-radius: 10px;
  line-height: 1.5em;
  letter-spacing: 0.1em; }
.potosu_service .inner .text_area dl {
  display: flex;
  margin: 1em 0; }
.potosu_service .inner .text_area dt {
  width: 8em; }
.potosu_service .inner .text_area dd {
  width: calc(100% - 8em); }
.potosu_service .inner .text_area dd span {
  font-size: 0.9em; }
.potosu_service .inner .text_area h4, .potosu_service .inner .text_area h5 {
  font-size: 1em;
  margin: 1.4em 0 0.6em;
  letter-spacing: 0.1em;
  font-weight: normal; }
.potosu_service .inner .text_area .flow dl {
  margin: 0.2em 0em; }
.potosu_service .inner .text_area .flow dt {
  width: 8em;
  padding: 0 0 0 1em;
  box-sizing: border-box; }
.potosu_service .inner .text_area ul {
  width: 100%;
  list-style: none; }
.potosu_service .inner .text_area li {
  letter-spacing: 0.1em;
  margin: 0 auto;
  width: 90%; }
.potosu_service .inner .text_area table {
  width: 100%; }
.potosu_service .inner .text_area table tr {
  text-align: center;
  padding: 0.4em 0;
  display: flex; }
.potosu_service .inner .text_area table th {
  width: calc(100% / 2);
  text-align: center; }
.potosu_service .inner .text_area table td {
  width: calc(100% / 2);
  text-align: left;
  display: flex; }
.potosu_service .inner .text_area table td span {
  padding: 0 0.5em 0 0; }
.potosu_service .inner .memo > p {
  width: 80%;
  margin: 0 auto; }
.potosu_service .inner .memo ul {
  list-style: none;
  width: 80%;
  margin: 0 auto; }
.potosu_service .inner .memo li {
  padding: 0px 1em;
  margin: 0.5em 0;
  font-size: 1em;
  letter-spacing: 0.1em;
  line-height: 1.6em;
  position: relative; }
.potosu_service .inner .memo li:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../img/icon/menu_icon.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: -15px; }
.potosu_service .inner .office.jidou .text_area {
  border: 2px solid #c8a062;
  background: #ffedd2; }
.potosu_service .inner .office.houka .text_area {
  border: 2px solid #ea9dc9;
  background: #ffeef2; }
.potosu_service .inner .office.gaiyou .text_area {
  border: 2px solid #a3c59f;
  background: #e5f6e4; }

@keyframes shipo {
  0% {
    transform: rotate(0deg);
    transform-origin: 0 0; }
  50% {
    transform: rotate(10deg);
    transform-origin: 0 0; }
  100% {
    transform: rotate(0deg);
    transform-origin: 0 0; } }
.schedule_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  padding: 3em 0; }

.schedule {
  display: flex;
  align-items: center; }
.schedule > img {
  width: 240px;
  aspect-ratio: 43/40;
  vertical-align: top;
  margin: 0 20px 0 0; }
.schedule ul {
  list-style: none;
  width: 300px;
  margin: auto auto auto 0; }
.schedule ul li {
  font-size: 1.1em;
  letter-spacing: 0.1em;
  padding: 0.4em 1em;
  margin: 0.4em 0 0;
  border-bottom-width: 2px;
  border-bottom-style: dashed;
  border-bottom-color: #f0db9c;
  display: flex;
  gap: 2em; }

.gallery {
  padding: 3em 1em; }
.gallery .inner {
  display: flex;
  flex-wrap: wrap; }
.gallery .inner 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); }
.gallery .inner figcaption {
  font-size: 0.9em;
  padding: 0.6em 1.2em;
  position: absolute;
  top: 1em;
  right: 1em;
  background: #afd485; }
.gallery .inner img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  vertical-align: top;
  object-fit: cover;
  object-position: center; }

.riyou_flow {
  margin: 0 auto;
  padding: 2em 1em;
  overflow: hidden; }
.riyou_flow > p {
  width: 600px;
  margin: 0 auto; }
.riyou_flow ol {
  list-style: none; }
.riyou_flow ol li {
  width: 600px;
  margin: 0 auto; }
.riyou_flow ol li > img {
  width: 40px;
  display: block;
  margin: 1em auto; }
.riyou_flow ol li {
  margin: 1em auto; }
.riyou_flow ol h4 {
  position: relative;
  height: 30px;
  font-size: 1.3em;
  font-weight: normal;
  width: max-content;
  padding: 0.2em 0.4em;
  display: flex;
  align-items: center;
  background: #ff9fc9;
  color: #fff; }
.riyou_flow ol h4:after {
  content: '';
  display: block;
  background-image: url(../img/flow_3.png);
  background-size: contain;
  background-position: center left;
  background-repeat: no-repeat;
  aspect-ratio: 90/83;
  height: 30px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -30px;
  padding: 0.2em 0.4em;
  z-index: -1; }
.riyou_flow ol .text_area {
  background-image: url(../img/flow_1.png);
  background-size: 100% 100%;
  background-position: top;
  padding: 1em;
  aspect-ratio: 60/15;
  display: flex;
  justify-content: flex-start;
  align-items: center; }
.riyou_flow ol li:nth-child(1) {
  position: relative; }
.riyou_flow ol li:nth-child(1):before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: -180px;
  width: 150px;
  aspect-ratio: 56/80;
  background-image: url(../img/flow_5.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top;
  animation: loop_hituji 6s ease infinite; }
.riyou_flow ol li:nth-child(1):after {
  content: '';
  display: block;
  position: absolute;
  bottom: 80px;
  left: -180px;
  width: 150px;
  aspect-ratio: 250/121;
  background-image: url(../img/flow_6.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top; }
.riyou_flow ol li:nth-child(2), .riyou_flow ol li:nth-child(4) {
  position: relative; }
.riyou_flow ol li:nth-child(2):before {
  content: '';
  display: block;
  position: absolute;
  bottom: 80px;
  right: -180px;
  width: 150px;
  aspect-ratio: 250/121;
  background-image: url(../img/flow_7.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top; }
.riyou_flow ol li:nth-child(3) {
  position: relative; }
.riyou_flow ol li:nth-child(3):before {
  content: '';
  display: block;
  position: absolute;
  bottom: 80px;
  left: -180px;
  width: 150px;
  aspect-ratio: 250/121;
  background-image: url(../img/flow_6.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top; }
.riyou_flow ol li:nth-child(4):before {
  content: '';
  display: block;
  position: absolute;
  bottom: 20px;
  right: -180px;
  width: 150px;
  aspect-ratio: 250/121;
  background-image: url(../img/flow_7.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top; }
@keyframes loop_hituji {
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(0px, 80px); }
  100% {
    transform: translate(0, 0); } }
@media screen and (max-width: 1024px) {
  .potosu_service .inner .text_area dl {
    flex-direction: column; }

  .potosu_service .inner .text_area dd {
    width: 90%;
    margin: 0 auto; }

  .potosu_service .inner .text_area table td {
    flex-direction: column; }

  .potosu_service .inner .text_area table td span + span {
    text-align: center; }

  .potosu_service .inner .text_area .flow dt {
    width: 100%;
    padding: 0; }

  .gallery .inner figure {
    width: calc( ( 100% / 2 ) - 1.8em ); }

  .riyou_flow ol li {
    width: 500px; }

  .riyou_flow ol .text_area {
    background-image: url(../img/flow_2.png);
    aspect-ratio: 4/2; }

  .riyou_flow ol li:nth-child(1):before {
    right: -90px;
    width: 120px; }

  .riyou_flow ol li:nth-child(1):after, .riyou_flow ol li:nth-child(3):before {
    bottom: 30px;
    left: -30px; }

  .riyou_flow ol li:nth-child(2):before {
    bottom: 30px;
    right: -60px; }

  .riyou_flow ol li:nth-child(4):before {
    bottom: -20px;
    right: -60px; } }
@media screen and (max-width: 767px) {
  .top_about.potosu .inner figure {
    width: 85%; }

  .top_about.potosu .inner:after {
    width: 10em;
    height: 10em;
    bottom: -6em;
    left: -1em; }

  .potosu_service {
    padding: 3em 0; }

  .potosu_service .inner .office {
    width: calc( (100% / 1 ) - 1em);
    padding: 0.5em; }

  .potosu_service .inner .text_area {
    padding: 0em 1em 1em; }

  .potosu_service .inner .memo > p, .potosu_service .inner .memo ul {
    width: 90%; }

  .potosu_service .inner .text_area .flow dl {
    margin: 1em 0; }

  .schedule {
    flex-direction: column;
    margin: 0 0 2em; }

  .gallery .inner figure {
    width: calc( ( 100% / 1 ) - 1.8em ); }

  .riyou_flow {
    padding: 2em 0em; }

  .riyou_kiyaku .inner .riyou_flow p {
    box-sizing: border-box;
    width: 100%; }

  .riyou_flow ol li {
    width: 100%; }

  .riyou_kiyaku .riyou_flow ol li:before, .riyou_kiyaku .riyou_flow ol li:after {
    display: none; }

  .riyou_flow ol h4:after {
    right: -50px; }

  .schedule > img {
    width: 200px;
    margin: 0 auto 1em; }

  .gallery .inner > figure {
    display: none; }

  .gallery .inner figure {
    transform: initial;
    box-sizing: border-box;
    margin: 0.3em 0;
    padding: 0; }
  .gallery .inner figure img {
    padding: 0.6em;
    box-sizing: border-box; } }
#potosu_slider {
  display: none; }
@media screen and (max-width: 767px) {
  #potosu_slider {
    display: block;
    transform: rotate(2deg); } }

header .top_img.pc {
  display: block; }
@media screen and (max-width: 767px) {
  header .top_img.pc {
    display: none; } }
header .top_phone {
  display: none; }
@media screen and (max-width: 767px) {
  header .top_phone {
    display: block; } }
header .catch.top_page {
  display: block; }
@media screen and (max-width: 767px) {
  header .catch.top_page {
    display: none; } }
header .top_content .title .company_logo.top_page {
  display: block; }
@media screen and (max-width: 767px) {
  header .top_content .title .company_logo.top_page {
    display: none; } }

@media screen and (max-width: 767px) {
  .top_pick_up h3 {
    display: none; } }

header.sub_head {
  height: 600px; }
@media screen and (max-width: 767px) {
  header.sub_head {
    height: 400px;
    background-position: bottom; } }
header.sub_head .top_img.sp {
  display: none; }
@media screen and (max-width: 767px) {
  header.sub_head .top_img.sp {
    height: 400px;
    display: block; } }

@media screen and (max-width: 767px) {
  header .catch {
    bottom: -100px; } }

.contact_flow {
  padding: 3em 1em; }
.contact_flow .midashi img {
  display: block;
  width: 300px;
  height: auto;
  vertical-align: top;
  margin: 0 auto; }
.contact_flow .midashi h2 {
  font-size: 1.4em;
  letter-spacing: 0.1em;
  color: #333;
  width: 500px;
  margin: 0 auto;
  padding: 1em 0 0.2em;
  text-align: center;
  position: relative; }
.contact_flow .midashi h2:before, .contact_flow .midashi h2:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  width: 130px;
  aspect-ratio: 250/121;
  background-image: url(../img/flow_6.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top; }
.contact_flow .midashi h2:before {
  left: 0; }
.contact_flow .midashi h2:after {
  right: 0;
  transform: scale(-1, 1); }
.contact_flow .contact_inner {
  display: flex; }
.contact_flow .contact_inner ol {
  width: calc( (100% / 2 ) - 0.6em );
  list-style: none;
  padding: 0 0.3em; }
.contact_flow .contact_inner li {
  margin: 1em 0;
  margin: 1em 0;
  padding: 1em;
  box-sizing: border-box; }
.contact_flow .contact_inner h3 {
  display: flex;
  align-items: flex-end;
  gap: 1em;
  font-size: 1.4em;
  padding: 0 0.4em 0.2em;
  letter-spacing: 0.1em;
  background: linear-gradient(transparent 80%, #b6ffd2 80%); }
.contact_flow .contact_inner h5 {
  display: flex;
  align-items: center;
  font-size: 1.2em;
  gap: 0.6em;
  margin: 0 0 1em;
  position: relative;
  color: #ff932c; }
.contact_flow .contact_inner h5:before {
  content: '';
  display: block;
  width: 50px;
  aspect-ratio: 1/1;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center; }
.contact_flow .contact_inner h5 span {
  width: calc(100% - 50px); }
.contact_flow .contact_inner .text_area {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: column;
  padding: 1em;
  background: #fffef7;
  border: 2px dashed #e5ab28;
  border-radius: 0.6em;
  box-shadow: 3px 3px 8px #fcc; }
.contact_flow .contact_inner p {
  font-size: 1em;
  line-height: 1.6em; }
.contact_flow .contact_inner a {
  color: #ff932c;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-decoration: underline; }
.contact_flow .contact_inner img {
  width: 80px;
  aspect-ratio: 1/1;
  vertical-align: top;
  display: block;
  margin: auto 0 auto auto; }
.contact_flow .contact_inner .next_item {
  width: 40px;
  aspect-ratio: 6/9;
  display: block;
  margin: 2em auto 0; }
.contact_flow .contact_inner li:nth-child(1) h3 {
  display: flex; }
.contact_flow .contact_inner li:nth-child(1) h3:before {
  background-image: url(../img/icon/step0.png);
  content: '';
  display: block;
  width: 40px;
  aspect-ratio: 43/68;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center; }
.contact_flow .contact_inner li:nth-child(2) h5:before {
  background-image: url(../img/icon/step1.png); }
.contact_flow .contact_inner li:nth-child(3) h5:before {
  background-image: url(../img/icon/step2.png); }
.contact_flow .contact_inner li:nth-child(4) h5:before {
  background-image: url(../img/icon/step3.png); }

@media screen and (max-width: 1024px) {
  .contact_flow {
    padding: 3em 0; }

  .contact_flow .contact_inner h5 {
    font-size: 1.1em; }

  .contact_flow .contact_inner h3 {
    gap: 0.3em; } }
@media screen and (max-width: 767px) {
  .contact_flow .contact_inner {
    flex-direction: column; }

  .contact_flow .contact_inner ol {
    width: calc( (100% / 1 ) - 0em );
    padding: 0em; }

  .contact_flow .midashi h2 {
    width: 100%; }

  .contact_flow .midashi h2:before, .contact_flow .midashi h2:after {
    width: 60px; }

  .contact_flow .contact_inner li {
    padding: 1em 0; }

  .contact_flow .contact_inner h5 {
    flex-direction: column;
    align-items: center;
    gap: 2em; }

  .contact_flow .contact_inner h5 span {
    width: 100%; } }
.faq_title {
  margin: 3em auto 2em; }
.faq_title img {
  display: block;
  margin: 0 auto;
  width: 300px; }
.faq_title h2 {
  text-align: center;
  font-size: 1.4em;
  letter-spacing: 0.1em;
  padding: 0.4em;
  color: #333; }

.faq_box {
  max-width: 900px;
  margin: 0 auto; }
.faq_box dl {
  padding: 0em 1em 1em; }
@media screen and (max-width: 767px) {
  .faq_box dl {
    padding: 0em 0em 1em; } }
.faq_box dt {
  font-size: 1.2em;
  background: #d2f1ff;
  border-radius: 2em;
  padding: 0.6em 0.8em;
  margin: 0 0 0.6em;
  display: flex;
  align-items: center;
  gap: 16px; }
@media screen and (max-width: 767px) {
  .faq_box dt {
    font-size: 1em;
    gap: 10px; } }
.faq_box dt:before {
  content: '';
  display: block;
  height: 1.6rem;
  aspect-ratio: 9/10;
  background-image: url(../img/icon/FAQ_q.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }
@media screen and (max-width: 767px) {
  .faq_box dt:before {
    height: 1.2rem; } }
.faq_box dd {
  font-size: 1.2em;
  padding: 0.2em 0.8em;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  letter-spacing: 0.1em;
  line-height: 1.6em; }
@media screen and (max-width: 767px) {
  .faq_box dd {
    font-size: 1em;
    gap: 10px; } }
.faq_box dd:before {
  content: '';
  display: block;
  height: 1.6rem;
  aspect-ratio: 9/10;
  background-image: url(../img/icon/FAQ_a.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }
@media screen and (max-width: 767px) {
  .faq_box dd:before {
    height: 1.2rem; } }

.faq_box.potosu dt {
  background: #99f99b; }
.faq_box.potosu dt:before {
  background-image: url(../img/icon/FAQ_q2.png); }
.faq_box.potosu img {
  width: 100%; }
/* ↓お知らせ新規追加↓ */
div .sub_blog{
width: var(--wrap-width);
margin: 2em auto;
display: block; }
.blog_container main .inner {
  padding: 0 2em 2em 2em;
  margin: 0;
  background-color: #fff;
  width: 95%;
  border-radius: 1em; }
.blog_container main .inner .blog_menu {
  margin: 0 0 1em;
  display: flex;
  align-items: center;
  justify-content: flex-end; }
/* floatを解除 */
.cl:before,.cl:after {
  content:"";
  display:table; }
.cl:after{
  clear:both; }
.cl{
  zoom:1; }
/* ↑新規追加ここまで↑ */
.blog_container {
  max-width: 100%; }
.blog_container main {
  display: block;
  max-width: 1015px;
  float: right;
  margin: 0 0.5em 0 0;
  }
@media screen and (max-width: 1415px) {
.blog_container main {
  max-width: 2000px; }
}
@media screen and (max-width: 767px) {
.blog_container {
    flex-direction: column; } }
.blog_container main {
  width: calc(100% - 280px);
  box-sizing: border-box;
  padding: 0 0.5em; }
@media screen and (max-width: 1415px) {
.blog_container main {
  width: calc(100% - 0px);
  float: none; } }
.blog_container main .inner .blog_menu > time {
  color: #999;
  letter-spacing: 0.1em; }
.blog_container main .inner .blog_menu > span {
  background: linear-gradient(transparent 60%, #ff0 60%);
  padding: 0.3em; }
.blog_container main .inner h3 {
  font-size: 1.3em;
  margin: 0 0 2em; }
.blog_container main > .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; }
.blog_container main .inner p {
  font-size: 1em;
  line-height: 1.6em;
  padding: 1em 0; }
.blog_container .sidebar {
  width: 280px;
  margin-right: 3.5em;
  float: right; }
@media screen and (max-width: 1415px) {
  .blog_container .sidebar {
    width: calc(100% - 0px);
    margin: 3em auto;
    float: none; } }
.blog_container .sidebar .inner {
  padding: 0.5em;
  background-color: #fff;
  padding: 2em 1em 2em;
  margin: 0 0 2em;
  border-radius: 1em; }
.blog_container .sidebar .inner h5 {
  font-size: 1.2em;
  letter-spacing: 0.1em;
  margin: 0 0 1em;
  padding: 0.5em 0.5em;
  background: #ffc168;
  color: #fff;
  font-weight: normal;
  border-radius: 0.3em; }
.blog_container .sidebar .inner ul {
  list-style: none; }
.blog_container .sidebar .inner li {
  font-size: 0.9em;
  line-height: 1.5em;
  padding: 0.8em; }
.blog_container .sidebar .inner li + li {
  border-top: 1px solid #bfbfbf; }
.blog_container .sidebar .inner a {
  color: #333;
  text-decoration: none; }

.blog_container .sidebar .inner a time {
  display: block;
  width: 100%; }

.blog_container main .inner .blog_menu {
  padding: 0.3em 0;
  gap: 0.6em; }

.blog_container main .inner article + article {
  border-top-width: 2px;
  border-top-style: dashed;
  border-top-color: #e4d1a8; }

.blog_container main .inner .pager {
  display: flex;
  justify-content: center;
  gap: 0.6em; }
.blog_container main .inner .pager span, .blog_container main .inner .pager a {
  padding: 0.5em;
  width: 20px;
  text-align: center;
  text-decoration: none; }

.image_area {
  display: block;
  margin: 2em 0 auto auto; }
@media screen and (max-width: 1024px) {
  .image_area {
    width: 50%; } }
@media screen and (max-width: 767px) {
  .image_area {
    width: 100%; } }

.blog_container main .inner .single h1 {
  font-size: 1.6em;
  margin: 0 0 2em;
  letter-spacing: 0.1em; }
@media screen and (max-width: 767px) {
  .blog_container main .inner .single h1 {
    font-size: 1.4em; } }

.schedule_year {
  max-width: 800px;
  margin: 2em auto; }
.schedule_year dl {
  display: flex;
  border-top: 1px solid #f9a226;
  border-left: 1px solid #f9a226;
  border-right: 1px solid #f9a226;
  border-bottom: 1px solid #f9a226; }
.schedule_year dl + dl {
  border-top: 0px solid #f9a226; }
.schedule_year dt, .schedule_year dd {
  padding: 0.8em; }
.schedule_year dt {
  font-weight: normal; }
.schedule_year dd {
  width: 80px;
  text-align: center;
  background: #ffe7cc; }
@media screen and (max-width: 767px) {
  .schedule_year dd {
    width: 60px; } }
.schedule_year > p {
  max-width: 800px;
  margin: 0 auto;
  font-weight: bold; }
.schedule_year ul {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1em;
  box-sizing: border-box;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 1em; }
.schedule_year li {
  letter-spacing: 0.1em;
  margin: 0 0 0.6em;
  display: flex;
  gap: 0.6em; }
@media screen and (max-width: 767px) {
  .schedule_year li {
    margin: 0; } }
.schedule_year li:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../img/icon/menu_icon.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat; }

.about_title {
  width: 400px;
  display: block;
  margin: 3em auto 0; }
.about_title img {
  width: 100%; }
.about_title h2 {
  font-size: 1.4em;
  letter-spacing: 0.1em;
  margin: 0.6em 0;
  text-align: center; }
@media screen and (max-width: 767px) {
  .about_title {
    width: 300px; } }

.about_policy h4 {
  position: relative;
  font-size: 2em;
  letter-spacing: 1.4em;
  line-height: 1em;
  text-align: center;
  padding: 3.9em 0 0px;
  text-indent: 1.3em;
  font-weight: normal; }
@media screen and (max-width: 1024px) {
  .about_policy h4 {
    font-size: 1.4em; } }
.about_policy h4:before {
  content: '';
  display: block;
  max-width: 300px;
  aspect-ratio: 600/343;
  background-image: url(../img/0912_about_title.png);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  box-sizing: border-box;
  padding: 0 1em;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  z-index: -1; }
@media screen and (max-width: 1024px) {
  .about_policy h4:before {
    max-width: 210px; } }
.about_policy ul {
  list-style: none;
  display: flex;
  margin: 3em auto 9em;
  width: 900px;
  gap: 1em; }
@media screen and (max-width: 1024px) {
  .about_policy ul {
    width: 100%; } }
@media screen and (max-width: 767px) {
  .about_policy ul {
    gap: 0em;
    flex-wrap: wrap;
    justify-content: center; } }
.about_policy ul li {
  width: calc(100% / 3);
  aspect-ratio: 60/77;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  padding: 2.2em 0 0;
  font-size: 1.6em;
  font-family: 'NagomiPOP'; }
@media screen and (max-width: 767px) {
  .about_policy ul li {
    width: calc(100% / 2);
    font-size: 1em;
    letter-spacing: 0em;
    padding: 1.9em 0 0; } }
.about_policy ul li:nth-child(1) {
  transform: translate(0, 90px);
  background-image: url(../img/0913_tiara_parts_001.png); }
.about_policy ul li:nth-child(2) {
  background-image: url(../img/0913_tiara_parts_002.png); }
.about_policy ul li:nth-child(3) {
  transform: translate(0, 90px);
  background-image: url(../img/0913_tiara_parts_003.png); }
@media screen and (max-width: 767px) {
  .about_policy ul li:nth-child(1), .about_policy ul li:nth-child(2), .about_policy ul li:nth-child(3) {
    font-size: 1.2em;
    transform: translate(0, 0px); } }

.about_us {
  padding: 2em 0.5em; }
.about_us p {
  font-size: 1.2em;
  line-height: 1.6em;
  text-align: center; }
@media screen and (max-width: 767px) {
  .about_us p {
    font-size: 1em; } }

.br_tab {
  display: block; }
@media screen and (max-width: 1024px) {
  .br_tab {
    display: block; } }
@media screen and (max-width: 767px) {
  .br_tab {
    display: none; } }
