@charset "UTF-8";
/*****************/
/**** reset *****/
/*****************/
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html,
body {
  height: 100%;
}

body {
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
body.active {
  overflow: hidden;
}

img,
picture,
video,
canvas {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

html {
  font-size: 62.5%;
}

body {
  color: #403d3c;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 500;
}

a {
  display: block;
  text-decoration: none;
  transition: all 0.6s ease;
}
a:hover {
  opacity: 0.6;
}

ul {
  padding: 0;
}
ul li {
  list-style: none;
}

img {
  height: auto;
  width: 100%;
}

.wp-block-table td {
  border: none;
}

.wpcf7-list-item {
  display: block;
}

.wpcf7-spinner {
  display: none;
}

table {
  display: block;
  border-collapse: collapse;
}
table tbody {
  display: block;
}
table tbody tr {
  display: flex;
}
table tbody tr th {
  text-align: left;
}
table tbody tr td {
  line-height: normal;
}
@media screen and (max-width: 768px) {
  table tr,
  table td,
  table th {
    display: block;
  }
}

input[type=submit] {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

p {
  line-height: 1.6;
}

.wpcf7-not-valid-tip {
  position: absolute;
  font-size: 1.6rem;
}

.wpcf7-response-output {
  display: none !important;
}

.arrow {
  width: 7px;
  height: 7px;
  border-top: 1px solid;
  border-right: 1px solid;
  transform: rotate(45deg);
}

button {
  display: block;
  border: none;
  cursor: pointer;
}

.noarticle {
  font-size: 16px;
}

/*****************/
/**** font   *****/
/*****************/
.eng {
  font-family: "Urbanist", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/*****************/
/**** animation   *****/
/*****************/
.delay-time02 {
  animation-delay: 0.2s;
}

.delay-time03 {
  animation-delay: 0.3s;
}

.delay-time04 {
  animation-delay: 0.4s;
}

.delay-time05 {
  animation-delay: 0.5s;
}

.delay-time06 {
  animation-delay: 0.6s;
}

.delay-time08 {
  animation-delay: 0.8s;
}

.delay-time1 {
  animation-delay: 1s;
}

.delay-time12 {
  animation-delay: 1.2s;
}

.delay-time14 {
  animation-delay: 1.4s;
}

.delay-time18 {
  animation-delay: 1.8s;
}

.delay-time2 {
  animation-delay: 2s;
}

.delay-time22 {
  animation-delay: 2.2s;
}

.delay-time3 {
  animation-delay: 3s;
}

.delay-time35 {
  animation-delay: 3.5s;
}

.delay-time4 {
  animation-delay: 4s;
}

.delay-time45 {
  animation-delay: 4.5s;
}

.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger {
  opacity: 0;
}

.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 0.3s;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*****************/
/****   parts   *****/
/*****************/
@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
  a[href*=tel] {
    pointer-events: none;
  }
  section {
    position: relative;
  }
  .container {
    container-type: inline-size;
    width: 100%;
    margin: 0 auto;
    max-width: 1130px;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
  a[href*=tel] {
    pointer-events: none;
  }
  section {
    position: relative;
  }
  .container {
    container-type: inline-size;
    width: 100%;
    margin: 0 auto;
    max-width: 1130px;
    padding-left: 28px;
    padding-right: 28px;
    position: relative;
  }
}
/*----------------
/*breadcrumb
-----------------*/
@media screen and (min-width: 769px) {
  .breadcrumb {
    padding: 18px 0;
    font-size: 13.5px;
  }
  .breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .breadcrumb-list__item {
    display: flex;
    align-items: center;
    color: #403d3c;
    line-height: 1.6;
  }
  .breadcrumb-list__item a {
    color: #403d3c;
    text-decoration: none;
    transition: color 0.2s;
  }
  .breadcrumb-list__item a:hover {
    color: #000;
  }
  .breadcrumb-list__item:not(:last-child)::after {
    content: "＞";
    margin: 0 9px;
    color: #b8b8b8;
    font-size: 10.5px;
  }
}
@media screen and (max-width: 768px) {
  .breadcrumb {
    padding: 12px 0;
    font-size: 10.5px;
  }
  .breadcrumb-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .breadcrumb-list__item {
    display: flex;
    align-items: center;
    color: #403d3c;
    line-height: 1.6;
  }
  .breadcrumb-list__item a {
    color: #403d3c;
    text-decoration: none;
  }
  .breadcrumb-list__item:not(:last-child)::after {
    content: "＞";
    margin: 0 6px;
    color: #b8b8b8;
    font-size: 9px;
  }
}

/*****************/
/**** page  *****/
/*****************/
/*****************/
/*** hamburger-menu  ***/
/*****************/
@media screen and (min-width: 769px) {
  #sp-nav {
    /*****************/
    /*** sp-nav  ***/
    /*****************/
    display: flex;
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    width: 485px;
    height: 100vh;
    background-color: rgba(255, 255, 255, 0.9);
    align-items: center;
    justify-content: center;
    transform: translateX(100%);
    transition: all 0.6s ease;
    overflow-y: scroll;
  }
  #sp-nav.active {
    transform: translateX(0);
  }
  #sp-nav .sp-nav__close {
    position: absolute;
    top: 27.75px;
    right: 27.75px;
    width: 19.5px;
    cursor: pointer;
  }
  #sp-nav .sp-nav__top {
    border-top: 3px solid #b4b4b4;
    border-bottom: 3px solid #b4b4b4;
    background-color: #eee9e2;
  }
  #sp-nav .sp-nav__parent {
    height: 64.5px;
    display: flex;
    align-items: center;
    padding-left: 45px;
    font-size: 25.5px;
    color: #403d3c;
    cursor: pointer;
  }
  #sp-nav .sp-nav__parent span {
    display: block;
    width: 32.25px;
    height: 9px;
    margin-right: 30px;
    background-image: url(../images/sp-nav__parentB.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #sp-nav .sp-nav__parent:hover {
    background-color: #9e9e9f;
    color: white;
    opacity: 1;
  }
  #sp-nav .sp-nav__parent:hover span {
    background-image: url(../images/sp-nav__parentW.svg);
  }
  #sp-nav .sp-nav__parent.line {
    border-bottom: 1px solid #b4b4b4;
  }
  #sp-nav .sp-nav__bottom {
    margin-top: 51px;
    border-top: 3px solid #b4b4b4;
    border-bottom: 3px solid #b4b4b4;
    background-color: #eee9e2;
  }
  #sp-nav .sp-nav__children {
    display: flex;
  }
  #sp-nav .sp-nav__left {
    width: 20.9401709402%;
    border-right: 1px solid #b4b4b4;
  }
  #sp-nav .sp-nav__right {
    width: 100%;
  }
  #sp-nav .sp-nav__button {
    height: 49.5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 15px;
    padding-right: 35.25px;
    font-size: 21px;
    color: #595858;
    border-bottom: 1px solid #b4b4b4;
    cursor: pointer;
  }
  #sp-nav .sp-nav__button:hover {
    background-color: #9e9e9f;
    color: white;
    opacity: 1;
  }
  #sp-nav .sp-nav__button .toggle {
    flex-shrink: 0;
    width: 18.75px;
    height: 18.75px;
    position: relative;
  }
  #sp-nav .sp-nav__button .toggle span {
    position: absolute;
    display: block;
    background-color: #595858;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #sp-nav .sp-nav__button .toggle span.before {
    width: 100%;
    height: 1.5px;
  }
  #sp-nav .sp-nav__button .toggle span.after {
    width: 1.5px;
    height: 100%;
  }
  #sp-nav .sp-nav__button .toggle.active span.after {
    display: none;
  }
  #sp-nav .sp-nav__sub {
    border-bottom: 1px solid #b4b4b4;
  }
  #sp-nav .sp-nav__child {
    height: 41.25px;
    display: flex;
    align-items: center;
    padding-left: 51px;
    font-size: 17.25px;
    color: #595858;
    background-color: white;
  }
  #sp-nav .sp-nav__child:hover {
    color: white;
    background-color: #9e9e9f;
  }
  #sp-nav .sp-nav__map {
    margin: 92.25px auto 0;
    width: 375px;
    height: 75px;
    border-radius: 7.5px;
    border: 1.5px solid #3e3a39;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 26.25px;
    font-size: 20px;
    color: #4d4d4d;
    background-color: #eee9e2;
  }
  #sp-nav .sp-nav__map img {
    flex-shrink: 0;
    width: 35.25px;
  }
  #sp-nav .sp-nav__map:after {
    content: "";
    width: 35.25px;
    display: block;
    flex-shrink: 0;
  }
  #sp-nav .sp-nav__policy {
    margin-top: 28.5px;
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  #sp-nav .sp-nav__policy a {
    font-size: 19.5px;
    color: #403d3c;
  }
}
@media screen and (max-width: 768px) {
  #sp-nav {
    /*****************/
    /*** sp-nav  ***/
    /*****************/
    padding-top: 59.67px;
    display: block;
    position: fixed;
    z-index: 1000;
    top: 0;
    right: 0;
    max-width: 315.18px;
    width: 100%;
    height: 100vh;
    background-color: rgb(255, 255, 255);
    transform: translateX(100%);
    transition: all 0.6s ease;
    overflow-y: auto;
    padding-bottom: 32.13px;
  }
  #sp-nav.active {
    transform: translateX(0);
  }
  #sp-nav .sp-nav {
    height: 100%;
  }
  #sp-nav .sp-nav__close {
    position: absolute;
    top: 25.5px;
    right: 25.5px;
    width: 13.26px;
    cursor: pointer;
  }
  #sp-nav .sp-nav__wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }
  #sp-nav .sp-nav__nav {
    width: 100%;
  }
  #sp-nav .sp-nav__top {
    border-top: 2.04px solid #b4b4b4;
    border-bottom: 2.04px solid #b4b4b4;
    background-color: #eee9e2;
  }
  #sp-nav .sp-nav__parent {
    height: 38.25px;
    display: flex;
    align-items: center;
    padding-left: 28.05px;
    font-size: 15.3px;
    color: #403d3c;
    cursor: pointer;
  }
  #sp-nav .sp-nav__parent span {
    display: block;
    width: 19.38px;
    height: 5.61px;
    margin-right: 17.85px;
    background-image: url(../images/sp-nav__parentB.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #sp-nav .sp-nav__parent:hover {
    background-color: #9e9e9f;
    color: white;
    opacity: 1;
  }
  #sp-nav .sp-nav__parent:hover span {
    background-image: url(../images/sp-nav__parentW.svg);
  }
  #sp-nav .sp-nav__parent.line {
    border-bottom: 1px solid #b4b4b4;
  }
  #sp-nav .sp-nav__bottom {
    margin-top: 42.33px;
    border-top: 2.04px solid #b4b4b4;
    border-bottom: 2.04px solid #b4b4b4;
    background-color: #eee9e2;
  }
  #sp-nav .sp-nav__children {
    display: flex;
  }
  #sp-nav .sp-nav__left {
    width: 17.1052631579%;
    border-right: 1px solid #b4b4b4;
  }
  #sp-nav .sp-nav__right {
    width: 100%;
  }
  #sp-nav .sp-nav__button {
    height: 29.58px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 7.65px;
    padding-right: 20.91px;
    font-size: 12.75px;
    color: #595858;
    border-bottom: 1px solid #b4b4b4;
    cursor: pointer;
  }
  #sp-nav .sp-nav__button:hover {
    opacity: 1;
    background-color: #9e9e9f;
    color: white;
  }
  #sp-nav .sp-nav__button .toggle {
    flex-shrink: 0;
    width: 11.22px;
    height: 11.22px;
    position: relative;
  }
  #sp-nav .sp-nav__button .toggle span {
    position: absolute;
    display: block;
    background-color: #595858;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #sp-nav .sp-nav__button .toggle span.before {
    width: 100%;
    height: 1.02px;
  }
  #sp-nav .sp-nav__button .toggle span.after {
    width: 1.02px;
    height: 100%;
  }
  #sp-nav .sp-nav__button .toggle.active span.after {
    display: none;
  }
  #sp-nav .sp-nav__sub {
    border-bottom: 1px solid #b4b4b4;
  }
  #sp-nav .sp-nav__child {
    height: 25.5px;
    display: flex;
    align-items: center;
    padding-left: 33.66px;
    font-size: 10.71px;
    color: #595858;
    background-color: white;
  }
  #sp-nav .sp-nav__child:hover {
    color: white;
    background-color: #9e9e9f;
  }
  #sp-nav .sp-nav__map {
    margin: 25.5px auto 0;
    width: 255px;
    height: 51px;
    border-radius: 5.1px;
    border: 1.02px solid #3e3a39;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18.36px;
    font-size: 14px;
    color: #4d4d4d;
    background-color: #eee9e2;
  }
  #sp-nav .sp-nav__map img {
    flex-shrink: 0;
    width: 24.48px;
  }
  #sp-nav .sp-nav__map:after {
    content: "";
    width: 24.48px;
    display: block;
    flex-shrink: 0;
  }
  #sp-nav .sp-nav__policy {
    line-height: 1.6;
    margin-top: 35.7px;
  }
  #sp-nav .sp-nav__policy a {
    margin-bottom: 10px;
  }
  #sp-nav .sp-nav__policy a:last-child {
    margin-bottom: 0;
  }
  #sp-nav .sp-nav__policy a {
    text-align: center;
    font-size: 12.75px;
    color: #403d3c;
  }
}

/*---------------------*/
/*----   header   
/*--------------------*/
@media screen and (min-width: 900px) {
  #header.front-header {
    display: none;
  }
  #header.front-header.active {
    display: block;
  }
  #header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999;
    background-color: white;
  }
  #header .header-container {
    height: 73.5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #header .header-logo {
    max-width: 456.75px;
    width: 100%;
  }
  #header .header-right {
    margin-left: 0.75%;
    display: flex;
    align-items: center;
    gap: 24px;
  }
  #header .header-right__item {
    flex-shrink: 0;
    cursor: pointer;
  }
  #header .header-right__item.user {
    width: 35.25px;
  }
  #header .header-right__item.access {
    width: 28.5px;
  }
  #header .header-right__item.hum {
    width: 28.5px;
  }
}
@media screen and (max-width: 899px) {
  #header.front-header {
    display: none;
  }
  #header.front-header.active {
    display: block;
  }
  #header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 999;
    background-color: white;
  }
  #header .header-container {
    height: 42.84px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #header .header-logo {
    max-width: 242.25px;
    width: 100%;
  }
  #header .header-right {
    margin-left: 3%;
    display: flex;
    align-items: center;
    gap: 11.22px;
  }
  #header .header-right__item {
    flex-shrink: 0;
    cursor: pointer;
  }
  #header .header-right__item.user {
    width: 22.44px;
  }
  #header .header-right__item.access {
    width: 17.85px;
  }
  #header .header-right__item.hum {
    width: 16.83px;
  }
}

/*---------------------*/
/*----   main
/*--------------------*/
@media screen and (min-width: 769px) {
  main::before {
    content: "";
    width: 100%;
    height: 73.5px;
    display: block;
  }
}
@media screen and (min-width: 900px) {
  main#front::before {
    content: "";
    width: 100%;
    height: 73.5px;
    display: none;
  }
  main#front.active::before {
    display: block;
  }
  main .mv-map-wrapper {
    width: 100%;
    height: auto;
    aspect-ratio: 1480/832;
  }
}
@media screen and (min-width: 1000px) {
  main#inside-station::before {
    content: "";
    width: 100%;
    height: 73.5px;
    display: block;
  }
  main .is-map-wrapper {
    width: 100%;
    height: auto;
    aspect-ratio: 1480/832;
  }
}
@media screen and (max-width: 768px) {
  main::before {
    content: "";
    width: 100%;
    height: 42.84px;
    display: block;
  }
}
@media screen and (max-width: 899px) {
  main#front::before {
    content: "";
    width: 100%;
    height: 42.84px;
    display: none;
  }
  main#front.active::before {
    display: block;
  }
  main .mv-map-wrapper {
    width: 100%;
    height: calc(100vh - 37.49px);
  }
}
@media screen and (max-width: 999px) {
  main#inside-staton::before {
    content: "";
    width: 100%;
    height: 42.84px;
    display: block;
  }
  main .is-map-wrapper {
    width: 100%;
    height: 580px;
  }
}

/*---------------------*/
/*----   footer
/*--------------------*/
@media screen and (min-width: 769px) {
  #footer {
    background-color: #403d3c;
    padding-top: 81.75px;
    padding-bottom: 51px;
  }
  #footer .footer-logo {
    margin: 0 auto;
    width: 66.2389380531%;
  }
  #footer .footer-lead {
    margin: 49.5px auto 0;
    width: 60.5973451327%;
  }
  #footer .footer-link {
    margin: 128.25px auto 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
  #footer .footer-link__item {
    flex-shrink: 0;
    width: 361.5px;
    height: 40.5px;
    border-left: 1px solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 24.75px;
    margin-bottom: 37.5px;
  }
  #footer .footer-link__item:last-child {
    border-right: 1px solid white;
  }
  #footer .footer-copy {
    text-align: center;
    font-size: 16.5px;
    color: white;
  }
}
@media screen and (max-width: 768px) {
  #footer {
    background-color: #403d3c;
    padding-top: 21.93px;
    padding-bottom: 29.58px;
  }
  #footer .footer-logo {
    margin: 0 auto;
    width: 322.32px;
  }
  #footer .footer-lead {
    margin: 20.91px auto 0;
    width: 299.37px;
  }
  #footer .footer-link {
    margin: 35.19px auto 0;
  }
  #footer .footer-link__item {
    margin: 0 auto;
    flex-shrink: 0;
    width: 201.96px;
    height: 22.44px;
    border-left: 1px solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 13.77px;
    margin-bottom: 13.77px;
    border-right: 1px solid white;
  }
  #footer .footer-link__item:last-child {
    margin-bottom: 0;
  }
  #footer .footer-copy {
    margin-top: 25.5px;
    text-align: center;
    font-size: 10.2px;
    color: white;
  }
}

/*---------------------*/
/*----   loader
/*--------------------*/
@media screen and (min-width: 769px) {
  #loader {
    width: 100%;
    height: 100vh;
    position: fixed;
    inset: 0;
    z-index: -100;
    opacity: 0;
  }
  #loader.active {
    z-index: 2000;
    opacity: 1;
  }
  #loader .loader-wrap {
    opacity: 0;
    z-index: -100;
    transition: opacity 0.6s ease;
  }
  #loader .loader-wrap.active {
    opacity: 1;
    z-index: 2000;
  }
  #loader .loader-first {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/loader-bg.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #loader .loader-first__logo {
    width: 50.78125%;
  }
  #loader .loader-first__sub {
    margin-top: 70.5px;
    width: 50.0520833333%;
  }
  #loader .loader-second {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
  }
  #loader .loader-inner {
    margin: auto;
    width: 95%;
    max-width: 808.5px;
    border-radius: 30px;
    background-color: white;
    padding: 30px;
    position: relative;
  }
  #loader .loader-close {
    position: absolute;
    top: 15px;
    right: 48.75px;
    font-size: 16.5px;
    text-align: center;
    cursor: pointer;
  }
  #loader .loader-close img {
    width: 42.75px;
    margin-bottom: 7.5px;
  }
  #loader .loader-content__item {
    display: none;
  }
  #loader .loader-content__item.active {
    display: block;
  }
  #loader .loader-catch {
    margin: 69.75px auto 0;
    width: 52.0408163265%;
  }
  #loader .loader-number {
    margin-top: 9.75px;
    font-size: 50.25px;
    text-align: center;
    color: #878788;
  }
  #loader .loader-number span {
    font-size: 75px;
  }
  #loader .loader-desc {
    margin: 0 auto;
    font-size: 21.75px;
    color: #878788;
  }
  #loader .loader-desc.desc01 {
    text-align: center;
    margin-top: 87.75px;
  }
  #loader .loader-desc.desc02 {
    width: 555.75px;
    margin-top: 36px;
  }
  #loader .loader-button {
    margin: 39.75px auto 0;
    width: 303px;
    height: 59.25px;
    border-radius: 7.5px;
    background-color: #a71527;
    display: flex;
    padding: 0 24.75px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 23.25px;
    color: white;
    cursor: pointer;
  }
  #loader .loader-button::before {
    content: "";
    display: block;
    width: 15px;
    height: 15px;
    transform: rotate(45deg);
  }
  #loader .loader-button::after {
    content: "";
    display: block;
    width: 11.25px;
    height: 11.25px;
    border-top: 2px solid white;
    border-right: 2px solid white;
    transform: rotate(45deg);
  }
  #loader .loader-dots {
    margin: 21px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
  }
  #loader .loader-dots__item {
    flex-shrink: 0;
    width: 8.25px;
    height: 8.25px;
    border-radius: 50%;
    background-color: #b4b4b4;
  }
  #loader .loader-dots__item.active {
    background-color: #403d3c;
  }
}
@media screen and (max-width: 768px) {
  #loader {
    width: 100%;
    height: 100vh;
    position: fixed;
    inset: 0;
    z-index: -100;
    opacity: 0;
  }
  #loader.active {
    z-index: 2000;
    opacity: 1;
  }
  #loader .loader-wrap {
    opacity: 0;
    z-index: -100;
    transition: opacity 0.6s ease;
  }
  #loader .loader-wrap.active {
    opacity: 1;
    z-index: 2000;
  }
  #loader .loader-first {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/loader-bg.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  #loader .loader-first__logo {
    width: 275.4px;
  }
  #loader .loader-first__sub {
    margin-top: 45.39px;
    width: 319.77px;
  }
  #loader .loader-second {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
  }
  #loader .loader-inner {
    margin: auto;
    width: 95%;
    max-width: 412.34px;
    border-radius: 15.3px;
    background-color: white;
    padding: 15.3px;
    position: relative;
  }
  #loader .loader-close {
    position: absolute;
    top: -11.22px;
    right: 22.95px;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
  }
  #loader .loader-close img {
    width: 29.07px;
    margin-bottom: 5.1px;
  }
  #loader .loader-content__item {
    display: none;
  }
  #loader .loader-content__item.active {
    display: block;
  }
  #loader .loader-catch {
    margin: 77.01px auto 0;
    width: 286.11px;
  }
  #loader .loader-number {
    margin-top: 12.75px;
    font-size: 25.63px;
    text-align: center;
    color: #878788;
  }
  #loader .loader-number span {
    font-size: 38.25px;
  }
  #loader .loader-desc {
    margin: 0 auto;
    font-size: 15px;
    color: #878788;
  }
  #loader .loader-desc.desc01 {
    text-align: center;
    margin-top: 63.24px;
  }
  #loader .loader-desc.desc02 {
    width: 263.16px;
    margin-top: 23.46px;
  }
  #loader .loader-button {
    margin: 17.34px auto 0;
    width: 206.04px;
    height: 40.42px;
    border-radius: 5.1px;
    background-color: #a71527;
    display: flex;
    padding: 0 12.62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 15.81px;
    color: white;
    cursor: pointer;
  }
  #loader .loader-button::before {
    content: "";
    display: block;
    width: 7.65px;
    height: 7.65px;
    transform: rotate(45deg);
  }
  #loader .loader-button::after {
    content: "";
    display: block;
    width: 5.74px;
    height: 5.74px;
    border-top: 1.02px solid white;
    border-right: 1.02px solid white;
    transform: rotate(45deg);
  }
  #loader .loader-dots {
    margin: 17.34px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 7.65px;
  }
  #loader .loader-dots__item {
    flex-shrink: 0;
    width: 5.61px;
    height: 5.61px;
    border-radius: 50%;
    background-color: #b4b4b4;
  }
  #loader .loader-dots__item.active {
    background-color: #403d3c;
  }
}

/*------------------------------------------
* top-modal
*----------------------------------------*/
@media screen and (min-width: 769px) {
  #top-modal {
    background-color: rgba(37, 30, 28, 0.5);
    position: fixed;
    inset: 0;
    width: 100%;
    z-index: -100;
    opacity: 0;
    transition: all 0.6s ease;
    overflow-y: scroll;
  }
  #top-modal.active {
    opacity: 1;
    z-index: 1500;
  }
  #top-modal.active .modal-inner {
    transform: translateX(0);
  }
  #top-modal .modal-inner {
    padding-bottom: 100px;
    min-height: 100vh;
    width: 570px;
    background-color: white;
    transform: translateX(-100%);
    transition: all 0.6s ease;
  }
  #top-modal .modal-header {
    height: 73.5px;
    padding-left: 22.5px;
    display: flex;
    align-items: center;
  }
  #top-modal .modal-header__logo {
    flex-shrink: 0;
    width: 356.25px;
  }
  #top-modal .modal-close {
    margin-top: 49.5px;
    width: 42.75px;
    margin-left: auto;
    margin-right: 27.75px;
    font-size: 16.5px;
    text-align: center;
    cursor: pointer;
  }
  #top-modal .modal-close img {
    margin-bottom: 7.5px;
  }
  #top-modal .modal-body {
    margin-top: 60px;
  }
  #top-modal .modal-body__item {
    display: none;
  }
  #top-modal .modal-body__item.active {
    display: block;
  }
  #top-modal .modal-body__item:nth-child(4) .modal-body__thumb {
    width: 367.5px;
  }
  #top-modal .modal-body__thumb {
    margin: 0 auto;
    width: 90%;
  }
  #top-modal .modal-body__inner {
    margin: 22.5px auto 0;
    width: 450px;
  }
  #top-modal .modal-body__pin {
    display: none;
    width: 63.75px;
  }
  #top-modal .modal-body__ttl {
    margin-top: 27px;
    font-size: 30.75px;
    font-weight: bold;
  }
  #top-modal .modal-body__ttl span {
    font-size: 24px;
  }
  #top-modal .modal-body__middle {
    margin-top: 15px;
    font-size: 27px;
    font-weight: 500;
  }
  #top-modal .modal-body__small {
    font-weight: bold;
    margin-top: 2px;
    font-size: 21.5px;
    color: #9e9e9f;
  }
  #top-modal .modal-body__desc {
    margin-top: 40px;
    font-size: 18.75px;
  }
  #top-modal .modal-body__desc span {
    font-weight: bold;
  }
  #top-modal .modal-body__flower {
    margin-top: 43px;
  }
  #top-modal .modal-body__flower .ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    color: #717071;
    gap: 12px;
  }
  #top-modal .modal-body__flower .ttl img {
    flex-shrink: 0;
    width: 12px;
  }
  #top-modal .modal-body__flower .button {
    margin-top: 10px;
    display: flex;
    align-items: center;
    gap: 13.5px;
  }
  #top-modal .modal-body__flower .button-left {
    flex-shrink: 0;
    width: 111px;
    height: 111px;
    border-radius: 50%;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #dde3e8;
    flex-direction: column;
    color: #b4b4b4;
    font-size: 22px;
    font-family: din-2014, sans-serif;
    font-weight: 400;
    font-style: normal;
    cursor: pointer;
  }
  #top-modal .modal-body__flower .button-left img {
    flex-shrink: 0;
    width: 33px;
    margin-bottom: 5px;
  }
  #top-modal .modal-body__flower .button-right {
    border-radius: 100px;
    background-color: #dde3e8;
    box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
    padding: 12px 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
  #top-modal .modal-body__flower .button-right p {
    color: #b4b4b4;
    font-size: 20px;
    font-family: din-2014, sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  #top-modal .modal-body__flower .button-right__numbers {
    display: flex;
    gap: 3px;
  }
  #top-modal .modal-body__flower .button-right__number {
    width: 50px;
    flex-shrink: 0;
    height: 63px;
    border: 2px solid white;
    background-color: #9e9e9f;
    color: white;
    font-size: 67px;
    font-family: "din-condensed", sans-serif;
    text-shadow: 1.125px 1.125px 0 #333;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 2px;
  }
  #top-modal .modal-bottom {
    margin: 41.25px auto 0;
    width: 200.25px;
    height: 44.25px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18px;
    font-size: 17.25px;
    border-radius: 5px;
    border: 2px solid black;
    cursor: pointer;
  }
  #top-modal .modal-bottom img {
    flex-shrink: 0;
    width: 15px;
  }
  #top-modal .modal-bottom:after {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 15px;
  }
}
@media screen and (max-width: 768px) {
  #top-modal {
    background-color: rgba(37, 30, 28, 0.5);
    position: fixed;
    inset: 0;
    width: 100%;
    z-index: -100;
    opacity: 0;
    transition: all 0.6s ease;
    overflow-y: scroll;
  }
  #top-modal.active {
    opacity: 1;
    z-index: 1500;
  }
  #top-modal.active .modal-inner {
    transform: translateX(0);
  }
  #top-modal .modal-inner {
    min-height: 100vh;
    width: 90%;
    max-width: 350px;
    background-color: white;
    transform: translateX(-100%);
    transition: all 0.6s ease;
    padding-bottom: 50px;
  }
  #top-modal .modal-header {
    height: 37.49px;
    padding-left: 11.48px;
    display: flex;
    align-items: center;
  }
  #top-modal .modal-header__logo {
    flex-shrink: 0;
    width: 181.69px;
  }
  #top-modal .modal-close {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 25.25px;
    width: 21.8px;
    margin-left: auto;
    margin-right: 14.15px;
    font-size: 12px;
    text-align: center;
    cursor: pointer;
  }
  #top-modal .modal-close img {
    margin: 0 auto;
    margin-bottom: 3.83px;
  }
  #top-modal .modal-body {
    margin-top: 30.6px;
  }
  #top-modal .modal-body__item {
    display: none;
  }
  #top-modal .modal-body__item.active {
    display: block;
  }
  #top-modal .modal-body__item:nth-child(4) .modal-body__thumb {
    width: 275.625px;
  }
  #top-modal .modal-body__thumb {
    margin: 0 auto;
    width: 90%;
  }
  #top-modal .modal-body__inner {
    margin: 11.48px auto 0;
    width: 90%;
  }
  #top-modal .modal-body__pin {
    display: none;
    width: 32.51px;
  }
  #top-modal .modal-body__ttl {
    margin-top: 13.77px;
    font-size: 18px;
    font-weight: bold;
  }
  #top-modal .modal-body__ttl span {
    font-size: 12px;
  }
  #top-modal .modal-body__middle {
    margin-top: 10px;
    font-size: 16px;
  }
  #top-modal .modal-body__small {
    font-weight: bold;
    margin-top: 0;
    font-size: 15px;
    color: #9e9e9f;
  }
  #top-modal .modal-body__desc {
    margin-top: 30px;
    font-size: 14px;
  }
  #top-modal .modal-body__desc span {
    font-weight: bold;
  }
  #top-modal .modal-body__flower {
    margin-top: 30.1px;
  }
  #top-modal .modal-body__flower .ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14.7px;
    color: #717071;
    gap: 8.4px;
  }
  #top-modal .modal-body__flower .ttl img {
    flex-shrink: 0;
    width: 8.4px;
  }
  #top-modal .modal-body__flower .button {
    margin-top: 7px;
    display: flex;
    align-items: center;
    gap: 9.45px;
  }
  #top-modal .modal-body__flower .button-left {
    flex-shrink: 0;
    width: 77.7px;
    height: 77.7px;
    border-radius: 50%;
    box-shadow: 7px 7px 7px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #dde3e8;
    flex-direction: column;
    color: #b4b4b4;
    font-size: 15.4px;
    font-family: din-2014, sans-serif;
    font-weight: 400;
    font-style: normal;
    cursor: pointer;
  }
  #top-modal .modal-body__flower .button-left img {
    flex-shrink: 0;
    width: 23.1px;
    margin-bottom: 3.5px;
  }
  #top-modal .modal-body__flower .button-right {
    border-radius: 70px;
    background-color: #dde3e8;
    box-shadow: 7px 7px 7px rgba(0, 0, 0, 0.2);
    padding: 8.4px 21px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8.4px;
  }
  #top-modal .modal-body__flower .button-right p {
    color: #b4b4b4;
    font-size: 14px;
    font-family: din-2014, sans-serif;
    font-weight: 400;
    font-style: normal;
  }
  #top-modal .modal-body__flower .button-right__numbers {
    display: flex;
    gap: 2.1px;
  }
  #top-modal .modal-body__flower .button-right__number {
    width: 35px;
    flex-shrink: 0;
    height: 44.1px;
    border: 1.4px solid white;
    background-color: #9e9e9f;
    color: white;
    font-size: 46.9px;
    font-family: "din-condensed", sans-serif;
    text-shadow: 0.7875px 0.7875px 0 #333;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 1.4px;
  }
  #top-modal .modal-bottom {
    margin: 21.04px auto 0;
    width: 102.13px;
    height: 22.57px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 9.18px;
    font-size: 14px;
    border-radius: 2.55px;
    border: 1.02px solid black;
    cursor: pointer;
  }
  #top-modal .modal-bottom img {
    flex-shrink: 0;
    width: 7.65px;
  }
  #top-modal .modal-bottom:after {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 7.65px;
  }
}

#modal-bottom {
  width: 570px;
  height: 100px;
  background: linear-gradient(transparent, white);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 2000;
  transform: translateX(-100%);
  transition: all 0.6s ease;
  opacity: 1;
}
#modal-bottom.active {
  transform: translateX(0);
}
#modal-bottom.scrolled {
  opacity: 0;
}
@media screen and (max-width: 768px) {
  #modal-bottom {
    width: 90%;
    max-width: 350px;
    height: 50px;
  }
}

#front {
  /*------------------------------------------
  * hero
  *----------------------------------------*/
}
#front #hero a:hover {
  opacity: 1;
}
#front #hero #pin-red4,
#front #hero #pin-red5,
#front #hero #pin-red6,
#front #hero #pin-red7,
#front #hero #pin-red8,
#front #hero #bus-02 {
  display: none;
}
@media screen and (min-width: 900px) {
  #front #hero {
    position: relative;
  }
  #front #hero .mv-map {
    width: max(100%, 133.3333333333vh);
    aspect-ratio: 1480/832;
  }
  #front #hero #flower {
    position: fixed;
    bottom: 52.5px;
    left: 15px;
    display: flex;
    gap: 10.125px;
    align-items: flex-start;
    transform: translateX(-150%);
    transition: all 0.6s ease;
    z-index: 999;
  }
  #front #hero #flower.active {
    transform: translateX(0);
  }
  #front #hero #flower .flower-left {
    flex-shrink: 0;
    width: 77.0625px;
    height: 77.0625px;
    background-color: white;
    border-radius: 50%;
    box-shadow: 0 0 28.125px rgb(255, 255, 255);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  #front #hero #flower .flower-left img {
    flex-shrink: 0;
    width: 56.25px;
    margin: auto;
  }
  #front #hero #flower .flower-right {
    position: relative;
  }
  #front #hero #flower .flower-right__bg {
    position: relative;
    width: 294.1875px;
  }
  #front #hero #flower .flower-right__inner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-53%, -56%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11.8125px;
  }
  #front #hero #flower .flower-right__inner img {
    flex-shrink: 0;
    width: 73.6875px;
  }
  #front #hero #flower .flower-numbers {
    display: flex;
    align-items: center;
    gap: 2.25px;
  }
  #front #hero #flower .flower-numbers__item {
    flex-shrink: 0;
    width: 42.1875px;
    height: 55.125px;
    background-image: url(../images/flower-block.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 56.25px;
    font-family: "din-condensed", sans-serif;
    text-shadow: 1.125px 1.125px 0 #333;
  }
  #front #hero #yoko {
    display: none;
  }
}
@media screen and (max-width: 899px) {
  #front #hero {
    position: relative;
  }
  #front #hero .mv-map-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #front #hero .mv-map {
    width: max(100%, 133.3333333333vh);
    left: 0;
    transform: translate(0, -50%);
    height: 100%;
  }
  #front #hero #flower {
    position: fixed;
    bottom: 100px;
    left: 13.5px;
    display: flex;
    gap: 9.1125px;
    align-items: flex-start;
    transform: translateX(-150%);
    transition: all 0.6s ease;
    z-index: 999;
  }
  #front #hero #flower.active {
    transform: translateX(0);
  }
  #front #hero #flower .flower-left {
    flex-shrink: 0;
    width: 69.35625px;
    height: 69.35625px;
    background-color: white;
    border-radius: 50%;
    box-shadow: 0 0 25.3125px rgb(255, 255, 255);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }
  #front #hero #flower .flower-left img {
    flex-shrink: 0;
    width: 50.625px;
    margin: auto;
  }
  #front #hero #flower .flower-right {
    position: relative;
  }
  #front #hero #flower .flower-right__bg {
    position: relative;
    width: 264.76875px;
  }
  #front #hero #flower .flower-right__inner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-53%, -56%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10.63125px;
  }
  #front #hero #flower .flower-right__inner img {
    flex-shrink: 0;
    width: 66.31875px;
  }
  #front #hero #flower .flower-numbers {
    display: flex;
    align-items: center;
    gap: 2.025px;
  }
  #front #hero #flower .flower-numbers__item {
    flex-shrink: 0;
    width: 37.96875px;
    height: 49.6125px;
    background-image: url(../images/flower-block.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 50.625px;
    font-family: "din-condensed", sans-serif;
    text-shadow: 1.0125px 1.0125px 0 #333;
  }
  #front #hero #yoko {
    display: none;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-name: fadeInAnime;
    animation-duration: 5s;
    animation-fill-mode: forwards;
    opacity: 1;
  }
  @keyframes fadeInAnime {
    from {
      opacity: 1;
      z-index: 1;
    }
    to {
      opacity: 0;
      z-index: -1;
    }
  }
  #front #hero #yoko .yoko-wrap {
    width: 204px;
    position: relative;
  }
  #front #hero #yoko .yoko-inner {
    position: absolute;
    width: 111px;
    top: 43%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-name: yokoAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 1;
    animation-delay: 0.3s;
  }
  @keyframes yokoAnime {
    0% {
      transform: translate(-50%, -50%);
    }
    25% {
      transform: translate(-75%, -50%);
    }
    50% {
      transform: translate(-25%, -50%);
    }
    75% {
      transform: translate(-75%, -50%);
    }
    100% {
      transform: translate(-25%, -50%);
    }
  }
  #front #hero:hover #yoko {
    display: block;
  }
}
#front {
  /*------------------------------------------
  * intro
  *----------------------------------------*/
}
@media screen and (min-width: 769px) {
  #front #intro {
    position: relative;
    padding-top: 180px;
    transition: all 0.6s ease;
  }
}
@media screen and (min-width: 769px) and (max-width: 899px) {
  #front #intro {
    margin-top: -10vw;
  }
}
@media screen and (min-width: 769px) {
  #front #intro.active {
    margin-top: -7.8125vw;
  }
}
@media screen and (min-width: 769px) and (max-width: 899px) {
  #front #intro.active {
    margin-top: -20vw;
  }
}
@media screen and (min-width: 769px) {
  #front #intro .intro-before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  #front #intro .intro-catch {
    font-size: 5.7079646018cqw;
    text-align: center;
  }
  #front #intro .intro-catch span {
    color: #a5814c;
  }
  #front #intro .intro-lead {
    margin-top: 26.25px;
    text-align: center;
    font-size: 2.2566371681cqw;
  }
  #front #intro .intro-lead a {
    color: #403d3c;
    display: inline-block;
    text-decoration: underline;
  }
  #front #intro .intro-img {
    margin: 28.5px auto 0;
    width: 49.6460176991%;
  }
  #front #intro .intro-logo {
    margin: 45px auto 0;
    width: 66.3053097345%;
  }
  #front #intro .intro-sub {
    margin: 33.75px auto 0;
    width: 63.3185840708%;
  }
  #front #intro .intro-link {
    margin: 67.5px auto 0;
    display: flex;
    justify-content: center;
    gap: 83.25px;
  }
  #front #intro .intro-link__item {
    width: 318px;
    flex-shrink: 0;
  }
  #front #intro .intro-link__item.link02 {
    margin-top: 20.25px;
  }
  #front #intro .intro-link__item img.link02-2 {
    width: 178.5px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #front #intro {
    position: relative;
    padding-top: 90px;
    transition: all 0.6s ease;
    margin-top: -20vw;
  }
  #front #intro.active {
    margin-top: -40vw;
  }
  #front #intro .intro-before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
  }
  #front #intro .intro-container {
    padding-left: 0;
    padding-right: 0;
  }
  #front #intro .intro-catch {
    font-size: 5.7079646018cqw;
    text-align: center;
  }
  #front #intro .intro-catch span {
    color: #a5814c;
  }
  #front #intro .intro-lead {
    margin-top: 13.39px;
    text-align: center;
    font-size: 2.2566371681cqw;
  }
  #front #intro .intro-lead a {
    color: #403d3c;
    display: inline-block;
    text-decoration: underline;
  }
  #front #intro .intro-img {
    margin: 14.54px auto 0;
    width: 49.6460176991%;
  }
  #front #intro .intro-logo {
    margin: 0 auto;
    width: 83.5526315789%;
  }
  #front #intro .intro-sub {
    margin: 14.28px auto 0;
    width: 79.7368421053%;
  }
  #front #intro .intro-link {
    margin: 20.27px auto 0;
    display: flex;
    justify-content: center;
    gap: 3.57px;
  }
  #front #intro .intro-link__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #front #intro .intro-link__item img.link01 {
    width: 190px;
  }
  #front #intro .intro-link__item img.link02 {
    width: 121.89px;
  }
  #front #intro .intro-link__item p {
    color: white;
    font-size: 16.83px;
    text-align: center;
  }
  #front #intro .intro-link__item p span {
    display: block;
    font-size: 14.28px;
  }
}
#front {
  /*------------------------------------------
  * info
  *----------------------------------------*/
}
@media screen and (min-width: 769px) {
  #front #info {
    margin-top: 60px;
    overflow: hidden;
  }
  #front #info .info-container {
    max-width: 1380px;
    padding-top: 81px;
    padding-bottom: 42px;
    border-radius: 37.5px;
    background-image: url(../images/info-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #front #info .info-ttl {
    margin: 0 auto;
    max-width: 788.25px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #front #info .info-ttl__before {
    width: 56.25px;
    flex-shrink: 0;
    margin-top: 30px;
  }
  #front #info .info-ttl__main {
    font-size: 30px;
  }
  #front #info .info-ttl__main img {
    margin: 0 auto 27.75px;
    width: 161px;
  }
  #front #info .info-ttl__after {
    flex-shrink: 0;
    width: 41.25px;
    margin-top: 24.75px;
  }
  #front #info .info-catch {
    text-align: center;
    color: white;
    font-size: 69px;
    margin: 0 auto;
    width: 663px;
    position: relative;
    padding-top: 38px;
  }
  #front #info .info-catch__after {
    position: absolute;
    top: 0;
    right: 0;
    width: 111px;
  }
  #front #info .info-lead {
    margin-top: 28.5px;
    font-size: 22.5px;
    text-align: center;
  }
  #front #info .info-wrap {
    margin-top: 69.75px;
    position: relative;
    height: 705px;
  }
  #front #info .info-slider {
    position: absolute;
    width: calc(100vw - 15px);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  #front #info .info-slider .slick-list {
    padding-top: 112.5px !important;
  }
  #front #info .info-slider__item {
    padding-left: 11.25px;
    padding-right: 11.25px;
    transition: all 0.6s ease;
  }
  #front #info .info-slider__link {
    width: 375px;
    height: 600px;
    position: relative;
  }
  #front #info .info-slider__inner {
    height: 100%;
    position: relative;
    border-radius: 22.5px;
    overflow: hidden;
    background-color: white;
    transition: all 0.6s ease;
  }
  #front #info .info-slider__thumb {
    height: 278.25px;
  }
  #front #info .info-slider__thumb img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  #front #info .info-slider__content {
    padding: 22.5px;
  }
  #front #info .info-slider__ttl {
    display: flex;
    align-items: center;
  }
  #front #info .info-slider__avatar {
    flex-shrink: 0;
    width: 75px;
    border-radius: 50%;
  }
  #front #info .info-slider__name {
    margin-left: 13.5px;
    font-size: 22.5px;
    color: #403d3c;
  }
  #front #info .info-slider__excerpt {
    margin-top: 19.5px;
  }
  #front #info .info-slider__excerpt p {
    font-size: 18.75px;
    color: #403d3c;
  }
  #front #info .info-slider__like {
    position: absolute;
    bottom: 22.5px;
    right: 22.5px;
    display: flex;
    align-items: center;
  }
  #front #info .info-slider__icon {
    flex-shrink: 0;
    width: 30px;
  }
  #front #info .info-slider__number {
    margin-left: 11.25px;
    font-size: 21px;
    color: #403d3c;
  }
  #front #info .info-slider__good {
    margin-left: 17.25px;
    font-size: 18.75px;
    color: #878788;
  }
  #front #info .info-slider__bg {
    background-color: #dcdcdc;
    border: #c8c8c9;
    border-radius: 22.5px;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
  }
  #front #info .info-slider .slick-active,
  #front #info .info-slider .slick-current {
    transform: translateY(-105px);
  }
  #front #info .info-slider .slick-active .info-slider__inner,
  #front #info .info-slider .slick-current .info-slider__inner {
    transform: translate(-7.5px, -7.5px);
  }
  #front #info .info-bottom {
    margin: 57.75px auto 0;
    max-width: 998.25px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  #front #info .info-bottom__before {
    margin-left: 100px;
    flex-shrink: 0;
    width: 83.25px;
  }
  #front #info .info-bottom__arrows {
    display: flex;
    gap: 57px;
  }
  #front #info .info-bottom__arrows img {
    cursor: pointer;
    flex-shrink: 0;
    width: 37.5px;
  }
  #front #info .info-bottom__after {
    flex-shrink: 0;
    width: 87px;
  }
  #front #info .info-link {
    margin: 13.5px auto 0;
    max-width: 998.25px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5%;
  }
  #front #info .info-link__item {
    flex-shrink: 0;
    width: 87px;
    margin-top: 24.75px;
  }
  #front #info .info-link__button {
    width: 100%;
    max-width: 412.5px;
    height: 52.5px;
    background-color: #595858;
    border-radius: 37.5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 27.75px;
    container-type: inline-size;
  }
  #front #info .info-link__button span {
    font-size: 5.8252427184cqw;
    color: white;
  }
  #front #info .info-link__button::before {
    content: "";
    display: block;
    width: 51px;
    flex-shrink: 0;
  }
  #front #info .info-link__button img {
    width: 51px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 768px) {
  #front #info {
    margin-top: 20px;
    overflow: hidden;
  }
  #front #info .info-container {
    max-width: 703.8px;
    padding-top: 34.68px;
    padding-bottom: 24.24px;
    border-radius: 11.22px;
    background-image: url(../images/info-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #front #info .info-ttl {
    margin: 0 auto;
    max-width: 321.3px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #front #info .info-ttl__before {
    width: 24.99px;
    flex-shrink: 0;
    margin-top: 35.19px;
  }
  #front #info .info-ttl__main {
    font-size: 20.4px;
  }
  #front #info .info-ttl__main img {
    margin: 0 auto 14.15px;
    width: 119px;
  }
  #front #info .info-ttl__after {
    flex-shrink: 0;
    width: 28.05px;
  }
  #front #info .info-catch {
    margin: 0 auto;
    width: 270px;
    text-align: center;
    color: white;
    font-size: 39px;
  }
  #front #info .info-catch__after {
    width: 74px;
    margin-left: auto;
    margin-right: 30px;
  }
  #front #info .info-lead {
    margin-top: 11.73px;
    font-size: 14.79px;
    text-align: center;
  }
  #front #info .info-wrap {
    margin-top: 41.31px;
    position: relative;
    height: 479.4px;
  }
  #front #info .info-slider {
    position: absolute;
    width: calc(100vw - 15px);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  #front #info .info-slider .slick-list {
    padding-top: 80px !important;
  }
  #front #info .info-slider__item {
    padding-left: 7.65px;
    padding-right: 7.65px;
    transition: all 0.6s ease;
  }
  #front #info .info-slider__link {
    width: 255px;
    height: 408px;
    position: relative;
  }
  #front #info .info-slider__inner {
    height: 100%;
    position: relative;
    border-radius: 15.3px;
    overflow: hidden;
    background-color: white;
    transition: all 0.6s ease;
  }
  #front #info .info-slider__thumb {
    height: 189.21px;
  }
  #front #info .info-slider__thumb img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  #front #info .info-slider__content {
    padding: 15.3px;
  }
  #front #info .info-slider__ttl {
    display: flex;
    align-items: center;
  }
  #front #info .info-slider__avatar {
    flex-shrink: 0;
    width: 51px;
    border-radius: 50%;
  }
  #front #info .info-slider__name {
    margin-left: 10.2px;
    font-size: 15.3px;
    color: #403d3c;
  }
  #front #info .info-slider__excerpt {
    margin-top: 13.26px;
  }
  #front #info .info-slider__excerpt p {
    font-size: 12.75px;
    color: #403d3c;
  }
  #front #info .info-slider__like {
    position: absolute;
    bottom: 12.24px;
    right: 12.24px;
    display: flex;
    align-items: center;
  }
  #front #info .info-slider__icon {
    flex-shrink: 0;
    width: 19.38px;
  }
  #front #info .info-slider__number {
    margin-left: 5.74px;
    font-size: 14.28px;
    color: #403d3c;
  }
  #front #info .info-slider__good {
    margin-left: 11.73px;
    font-size: 12.75px;
    color: #878788;
  }
  #front #info .info-slider__bg {
    background-color: #dcdcdc;
    border: #c8c8c9;
    border-radius: 15.3px;
    position: absolute;
    width: 100%;
    height: 100%;
    inset: 0;
  }
  #front #info .info-slider .slick-active,
  #front #info .info-slider .slick-current {
    transform: translateY(-70.89px);
  }
  #front #info .info-slider .slick-active .info-slider__inner,
  #front #info .info-slider .slick-current .info-slider__inner {
    transform: translate(-5.1px, -5.1px);
  }
  #front #info .info-bottom {
    margin: 13.04px auto 0;
    max-width: 350.5px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
  }
  #front #info .info-bottom__before {
    flex-shrink: 0;
    width: 56.61px;
    margin-left: 30px;
  }
  #front #info .info-bottom__arrows {
    display: none;
    gap: 29.07px;
  }
  #front #info .info-bottom__arrows img {
    cursor: pointer;
    flex-shrink: 0;
    width: 19.13px;
  }
  #front #info .info-bottom__after {
    flex-shrink: 0;
    width: 56.46px;
  }
  #front #info .info-link {
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5%;
    max-width: 359.04px;
    position: relative;
  }
  #front #info .info-link__item {
    flex-shrink: 0;
    width: 59.16px;
    position: absolute;
    right: 0;
    bottom: -5.1px;
    transform: translateY(100%);
  }
  #front #info .info-link__button {
    margin: 0 auto;
    width: 100%;
    max-width: 280.5px;
    height: 40.8px;
    background-color: #595858;
    border-radius: 25.5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 17.85px;
    container-type: inline-size;
  }
  #front #info .info-link__button span {
    font-size: 5.8181818182cqw;
    color: white;
  }
  #front #info .info-link__button::before {
    content: "";
    display: block;
    width: 34.68px;
    flex-shrink: 0;
  }
  #front #info .info-link__button img {
    width: 34.68px;
    flex-shrink: 0;
  }
}
#front {
  /*------------------------------------------
  * contents
  *----------------------------------------*/
}
@media screen and (min-width: 769px) {
  #front #contents {
    margin-top: 23.25px;
  }
  #front #contents .contents-container {
    max-width: 1380px;
    padding-top: 78px;
    padding-bottom: 109.5px;
    border-radius: 37.5px;
    background-image: url(../images/contents-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #front #contents .contents-ttl {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 832.5px;
    gap: 1.5%;
  }
  #front #contents .contents-ttl:after {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 87px;
  }
  #front #contents .contents-ttl__item {
    margin-top: 30.75px;
    flex-shrink: 0;
    display: block;
    width: 87px;
  }
  #front #contents .contents-ttl__main {
    max-width: 425.25px;
    width: 100%;
    text-align: center;
    font-size: 30px;
  }
  #front #contents .contents-ttl__main img {
    margin-bottom: 23.25px;
  }
  #front #contents .contents-lead {
    margin-top: 45.75px;
    text-align: center;
    font-size: 22.5px;
  }
  #front #contents .contents-img {
    margin: 48px auto 0;
    width: 273px;
  }
  #front #contents .contents-link {
    margin: 40.5px auto 0;
    max-width: 763.5px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  #front #contents .contents-link::before {
    content: "";
    width: 56.25px;
    display: block;
    flex-shrink: 0;
  }
  #front #contents .contents-link__button {
    width: 100%;
    margin-top: 32.25px;
    max-width: 412.5px;
    height: 52.5px;
    background-color: #595858;
    border-radius: 37.5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 27.75px;
    container-type: inline-size;
  }
  #front #contents .contents-link__button span {
    font-size: 5.8252427184cqw;
    color: white;
  }
  #front #contents .contents-link__button img {
    width: 51px;
    flex-shrink: 0;
  }
  #front #contents .contents-link__button::before {
    content: "";
    width: 51px;
    display: block;
    flex-shrink: 0;
  }
  #front #contents .contents-link__item {
    width: 56.25px;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 768px) {
  #front #contents {
    margin-top: 11.86px;
  }
  #front #contents .contents-container {
    max-width: 703.8px;
    padding-top: 66.3px;
    padding-bottom: 58.14px;
    border-radius: 25.5px;
    background-image: url(../images/contents-bg.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
  }
  #front #contents .contents-ttl {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 auto;
    width: 294.27px;
  }
  #front #contents .contents-ttl__item {
    position: absolute;
    left: 10px;
    top: 10px;
    display: block;
    width: 59.16px;
  }
  #front #contents .contents-ttl__main {
    width: 100%;
    text-align: center;
    font-size: 20.4px;
  }
  #front #contents .contents-ttl__main img {
    margin-bottom: 13.26px;
  }
  #front #contents .contents-lead {
    margin-top: 20.91px;
    text-align: center;
    font-size: 14.79px;
  }
  #front #contents .contents-img {
    margin: 30.2px auto 0;
    width: 150px;
  }
  #front #contents .contents-link {
    margin: 20px auto 0;
    max-width: 389.39px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  #front #contents .contents-link::before {
    content: "";
    width: 28.69px;
    display: block;
    flex-shrink: 0;
  }
  #front #contents .contents-link__button {
    margin: 5.1px auto 0;
    width: 100%;
    max-width: 280.5px;
    height: 40.8px;
    background-color: #595858;
    border-radius: 25.5px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 17.85px;
    container-type: inline-size;
  }
  #front #contents .contents-link__button span {
    font-size: 5.8181818182cqw;
    color: white;
  }
  #front #contents .contents-link__button::before {
    content: "";
    display: block;
    width: 34.68px;
    flex-shrink: 0;
  }
  #front #contents .contents-link__button img {
    width: 34.68px;
    flex-shrink: 0;
  }
  #front #contents .contents-link__item {
    width: 28.69px;
    flex-shrink: 0;
  }
}
#front {
  /*------------------------------------------
  * outro
  *----------------------------------------*/
}
@media screen and (min-width: 769px) {
  #front #outro {
    margin-top: 76.5px;
    padding-bottom: 43.5px;
  }
  #front #outro .outro-slider {
    width: 100%;
  }
  #front #outro .outro-slider__item img {
    width: 365.25px;
  }
  #front #outro .outro-social {
    margin: 75px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 61.5px;
  }
  #front #outro .outro-social__item {
    flex-shrink: 0;
    width: 66px;
  }
}
@media screen and (max-width: 768px) {
  #front #outro {
    margin-top: 60.18px;
    padding-bottom: 26.01px;
  }
  #front #outro .outro-slider {
    width: 100%;
  }
  #front #outro .outro-slider__item img {
    width: 193.8px;
  }
  #front #outro .outro-social {
    margin: 41.82px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11.22px;
  }
  #front #outro .outro-social__item {
    flex-shrink: 0;
    width: 44px;
  }
}

@media screen and (min-width: 769px) {
  #top-modal.inside-city-modal .modal-body__item:first-child .modal-body__thumb {
    width: 348px;
  }
  #top-modal.inside-city-modal .modal-body__item:nth-child(2) .modal-body__thumb {
    width: 367.5px;
  }
  #top-modal.inside-city-modal .modal-body__item:nth-child(3) .modal-body__thumb {
    width: 200.25px;
  }
  #top-modal.inside-city-modal .modal-body__item:nth-child(4) .modal-body__thumb {
    width: 274.25px;
  }
  #top-modal.inside-city-modal .modal-body__item:nth-child(5) .modal-body__thumb {
    width: 281.25px;
  }
  #top-modal.inside-city-modal .modal-body__link {
    margin-top: 46.5px;
    display: flex;
    color: #878788;
    gap: 27px;
    font-size: 18.75px;
    line-height: 1.6;
  }
  #top-modal.inside-city-modal .modal-body__link img {
    flex-shrink: 0;
    width: 45px;
  }
}
@media screen and (max-width: 768px) {
  #top-modal.inside-city-modal .modal-body__item:first-child .modal-body__thumb {
    width: 261px;
  }
  #top-modal.inside-city-modal .modal-body__item:nth-child(2) .modal-body__thumb {
    width: 275.625px;
  }
  #top-modal.inside-city-modal .modal-body__item:nth-child(3) .modal-body__thumb {
    width: 150.1875px;
  }
  #top-modal.inside-city-modal .modal-body__item:nth-child(4) .modal-body__thumb {
    width: 203.1875px;
  }
  #top-modal.inside-city-modal .modal-body__item:nth-child(5) .modal-body__thumb {
    width: 210.9375px;
  }
  #top-modal.inside-city-modal .modal-body__link {
    margin-top: 20px;
    display: flex;
    color: #878788;
    gap: 15px;
    font-size: 14px;
    line-height: 1.6;
  }
  #top-modal.inside-city-modal .modal-body__link img {
    flex-shrink: 0;
    width: 33px;
  }
}

@media screen and (min-width: 769px) {
  #inside-city-modal {
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: safe center;
    gap: 22.5px;
    opacity: 0;
    transition: all 0.6s ease;
    padding: 20px 0;
  }
  #inside-city-modal.active {
    opacity: 1;
    z-index: 1500;
  }
  #inside-city-modal:after {
    content: "";
    height: 42.75px;
    display: block;
  }
  #inside-city-modal .modal-head {
    width: 487.5px;
    display: flex;
    justify-content: flex-end;
  }
  #inside-city-modal .modal-close {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
    font-size: 16.5px;
    text-align: center;
    cursor: pointer;
  }
  #inside-city-modal .modal-close img {
    width: 42.75px;
    flex-shrink: 0;
    margin-bottom: 7.5px;
  }
  #inside-city-modal .modal-body {
    width: 487.5px;
    background-color: white;
    border-radius: 45px;
    padding: 37.5px 48.75px;
  }
  #inside-city-modal .modal-body__item {
    display: none;
  }
  #inside-city-modal .modal-body__item.active {
    display: block;
  }
  #inside-city-modal .modal-body__item:first-child .modal-body__thumb {
    width: 348px;
  }
  #inside-city-modal .modal-body__item:nth-child(2) .modal-body__thumb {
    width: 367.5px;
  }
  #inside-city-modal .modal-body__item:nth-child(3) .modal-body__thumb {
    width: 200.25px;
  }
  #inside-city-modal .modal-body__item:nth-child(4) .modal-body__thumb {
    width: 273.25px;
  }
  #inside-city-modal .modal-body__item:nth-child(5) .modal-body__thumb {
    width: 281.25px;
  }
  #inside-city-modal .modal-body__thumb {
    margin: 0 auto;
  }
  #inside-city-modal .modal-body__ttl {
    margin-top: 38.25px;
    font-size: 30.75px;
  }
  #inside-city-modal .modal-body__desc {
    font-size: 18.75px;
    margin-top: 28.5px;
  }
  #inside-city-modal .modal-body__link {
    margin-top: 46.5px;
    display: flex;
    color: #878788;
    gap: 27px;
    font-size: 18.75px;
  }
  #inside-city-modal .modal-body__link img {
    flex-shrink: 0;
    width: 45px;
  }
}
@media screen and (max-width: 768px) {
  #inside-city-modal {
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: safe center;
    gap: 16.875px;
    opacity: 0;
    transition: all 0.6s ease;
    padding: 15px 0;
  }
  #inside-city-modal.active {
    opacity: 1;
    z-index: 1500;
  }
  #inside-city-modal:after {
    content: "";
    height: 32.0625px;
    display: block;
  }
  #inside-city-modal .modal-head {
    width: 365.625px;
    display: flex;
    justify-content: flex-end;
  }
  #inside-city-modal .modal-close {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
  }
  #inside-city-modal .modal-close img {
    width: 32.0625px;
    flex-shrink: 0;
    margin-bottom: 5.625px;
  }
  #inside-city-modal .modal-body {
    width: 365.625px;
    background-color: white;
    border-radius: 33.75px;
    padding: 28.125px 36.5625px;
  }
  #inside-city-modal .modal-body__item {
    display: none;
  }
  #inside-city-modal .modal-body__item.active {
    display: block;
  }
  #inside-city-modal .modal-body__item:first-child .modal-body__thumb {
    width: 261px;
  }
  #inside-city-modal .modal-body__item:nth-child(2) .modal-body__thumb {
    width: 275.625px;
  }
  #inside-city-modal .modal-body__item:nth-child(3) .modal-body__thumb {
    width: 150.1875px;
  }
  #inside-city-modal .modal-body__item:nth-child(4) .modal-body__thumb {
    width: 204.1875px;
  }
  #inside-city-modal .modal-body__item:nth-child(5) .modal-body__thumb {
    width: 210.9375px;
  }
  #inside-city-modal .modal-body__thumb {
    margin: 0 auto;
  }
  #inside-city-modal .modal-body__ttl {
    margin-top: 28.6875px;
    font-size: 23.0625px;
  }
  #inside-city-modal .modal-body__desc {
    font-size: 14.0625px;
    margin-top: 21.375px;
  }
  #inside-city-modal .modal-body__link {
    margin-top: 34.5px;
    display: flex;
    color: #878788;
    gap: 20px;
    font-size: 14.0625px;
  }
  #inside-city-modal .modal-body__link img {
    flex-shrink: 0;
    width: 33px;
  }
}

#inside-station {
  /*------------------------------------------
  * hero
  *----------------------------------------*/
}
#inside-station #hero a:hover {
  opacity: 1;
}
@media screen and (min-width: 1000px) {
  #inside-station #hero {
    position: relative;
  }
  #inside-station #hero .is-map {
    width: max(100%, 133.3333333333vh);
    aspect-ratio: 1480/832;
  }
}
@media screen and (max-width: 999px) {
  #inside-station #hero {
    position: relative;
  }
  #inside-station #hero .is-map {
    width: 100%;
    left: 0;
    transform: translate(0, -50%);
    height: 100%;
    overflow-x: scroll;
  }
  #inside-station #hero .is-map__svg-wrap {
    width: 1000px;
    overflow: hidden;
  }
  #inside-station #hero .is-map__svg {
    width: 188% !important;
  }
}

@media screen and (max-width: 999px) {
  footer.inside-city-footer {
    position: relative;
  }
}
@media screen and (max-width: 999px) and (min-width: 500px) {
  footer.inside-city-footer {
    min-height: 600px;
  }
}
@media screen and (max-width: 999px) {
  footer.inside-city-footer:before {
    content: "";
    width: 100%;
    height: 20px;
    background-color: #403d3c;
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(-100%);
  }
}
@media screen and (min-width: 769px) {
  header.post-page {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
  }
}
@media screen and (max-width: 768px) {
  header.post-page {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
  }
}

#page-archive {
  /*------------------------------------------
  * archive
  *----------------------------------------*/
}
@media screen and (min-width: 769px) {
  #page-archive #archive {
    padding-top: 33px;
  }
  #page-archive #archive .archive-container {
    max-width: 1407px;
  }
  #page-archive #archive .archive-ttl {
    padding-left: 42px;
    display: flex;
    align-items: center;
    font-size: 22.5px;
  }
  #page-archive #archive .archive-ttl img {
    flex-shrink: 0;
    width: 44.25px;
    margin-right: 9.75px;
  }
  #page-archive #archive .archive-wrap {
    margin-top: 38.25px;
    border-radius: 45px;
    background-color: #eae3db;
    padding: 100px 97.5px 60px;
    position: relative;
  }
  #page-archive #archive .archive-icon {
    position: absolute;
    width: 64.5px;
    transform: translateY(40px);
  }
  #page-archive #archive .archive-icon.icon01 {
    top: 0;
    left: 15px;
  }
  #page-archive #archive .archive-icon.icon02 {
    top: 20%;
    right: 15px;
  }
  #page-archive #archive .archive-icon.icon03 {
    top: 40%;
    left: 15px;
  }
  #page-archive #archive .archive-icon.icon04 {
    top: 60%;
    right: 15px;
  }
  #page-archive #archive .archive-icon.icon05 {
    top: 80%;
    left: 15px;
  }
  #page-archive #archive .archive-list {
    margin: 0 -14.25px;
    display: flex;
    flex-wrap: wrap;
  }
  #page-archive #archive .archive-list__item {
    flex-shrink: 0;
    width: 375px;
    margin: 0 14.25px 28.5px;
  }
  #page-archive #archive .archive-list__link {
    border-radius: 30px;
    overflow: hidden;
  }
  #page-archive #archive .archive-list__thumb {
    height: 240px;
  }
  #page-archive #archive .archive-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-archive #archive .archive-list__content {
    background-color: white;
    padding: 15px 19.5px 17.25px;
  }
  #page-archive #archive .archive-list__ttl {
    display: flex;
    align-items: center;
    padding: 0 7.5px;
  }
  #page-archive #archive .archive-list__ttl p {
    color: #403d3c;
    font-size: 22.5px;
  }
  #page-archive #archive .archive-list__ttl img {
    width: 61.5px;
    border-radius: 50%;
    margin-right: 22.5px;
  }
  #page-archive #archive .archive-list__excerpt {
    margin-top: 18px;
    padding: 0 7.5px;
  }
  #page-archive #archive .archive-list__excerpt p {
    color: #403d3c;
    font-size: 18px;
  }
  #page-archive #archive .archive-list__more {
    text-align: end;
    color: #c30d23;
    font-size: 17.25px;
  }
  #page-archive #archive .archive-list__bottom {
    margin-top: 35.25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #page-archive #archive .archive-list__time {
    color: #878788;
    font-size: 17.25px;
  }
  #page-archive #archive .archive-list__like {
    display: flex;
    align-items: center;
  }
  #page-archive #archive .archive-list__icon {
    flex-shrink: 0;
    width: 22.5px;
  }
  #page-archive #archive .archive-list__number {
    margin-left: 8.4375px;
    font-size: 20.25px;
    color: #403d3c;
  }
  #page-archive #archive .archive-list__good {
    margin-left: 21px;
    font-size: 17.25px;
    color: #878788;
  }
  #page-archive #archive .wp-pagenavi {
    margin-top: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #page-archive #archive .wp-pagenavi .pages {
    display: none;
  }
  #page-archive #archive .wp-pagenavi span, #page-archive #archive .wp-pagenavi a {
    border: none;
    padding: 0;
    font-size: 27px;
    margin: 0 18px;
    color: #878788;
  }
  #page-archive #archive .wp-pagenavi span.current, #page-archive #archive .wp-pagenavi a.current {
    color: #231815;
    position: relative;
  }
  #page-archive #archive .wp-pagenavi span.current:after, #page-archive #archive .wp-pagenavi a.current:after {
    width: 22px;
    height: 2px;
    display: block;
    content: "";
    position: absolute;
    bottom: -14px;
    right: 0;
    background-color: #231815;
  }
}
@media screen and (max-width: 768px) {
  #page-archive #archive {
    padding-top: 24.75px;
  }
  #page-archive #archive .archive-container {
    padding-left: 0;
    padding-right: 0;
    max-width: 1055.25px;
  }
  #page-archive #archive .archive-ttl {
    padding-left: 31.5px;
    display: flex;
    align-items: center;
    font-size: 16.875px;
  }
  #page-archive #archive .archive-ttl img {
    flex-shrink: 0;
    width: 33.1875px;
    margin-right: 7.3125px;
  }
  #page-archive #archive .archive-wrap {
    margin-top: 28.6875px;
    border-radius: 33.75px;
    background-color: #eae3db;
    padding: 75px 47px 45px;
    position: relative;
  }
  #page-archive #archive .archive-icon {
    position: absolute;
    width: 35px;
    transform: translateY(30px);
  }
  #page-archive #archive .archive-icon.icon01 {
    top: 0;
    left: 5px;
  }
  #page-archive #archive .archive-icon.icon02 {
    top: 20%;
    right: 5px;
  }
  #page-archive #archive .archive-icon.icon03 {
    top: 40%;
    left: 5px;
  }
  #page-archive #archive .archive-icon.icon04 {
    top: 60%;
    right: 5px;
  }
  #page-archive #archive .archive-icon.icon05 {
    top: 80%;
    left: 5px;
  }
  #page-archive #archive .archive-list {
    margin: 0 -10.6875px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
  #page-archive #archive .archive-list__item {
    flex-shrink: 0;
    width: 281.25px;
    margin: 0 10.6875px 21.375px;
  }
  #page-archive #archive .archive-list__link {
    border-radius: 22.5px;
    overflow: hidden;
  }
  #page-archive #archive .archive-list__thumb {
    height: 180px;
  }
  #page-archive #archive .archive-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-archive #archive .archive-list__content {
    background-color: white;
    padding: 11.25px 14.625px 12.9375px;
  }
  #page-archive #archive .archive-list__ttl {
    display: flex;
    align-items: center;
    padding: 0 5.625px;
  }
  #page-archive #archive .archive-list__ttl p {
    color: #403d3c;
    font-size: 16.875px;
  }
  #page-archive #archive .archive-list__ttl img {
    width: 46.125px;
    border-radius: 50%;
    margin-right: 16.875px;
  }
  #page-archive #archive .archive-list__excerpt {
    margin-top: 13.5px;
    padding: 0 5.625px;
  }
  #page-archive #archive .archive-list__excerpt p {
    color: #403d3c;
    font-size: 13.5px;
  }
  #page-archive #archive .archive-list__more {
    text-align: end;
    color: #c30d23;
    font-size: 12.9375px;
  }
  #page-archive #archive .archive-list__bottom {
    margin-top: 26.4375px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #page-archive #archive .archive-list__time {
    color: #878788;
    font-size: 12.9375px;
  }
  #page-archive #archive .archive-list__like {
    display: flex;
    align-items: center;
  }
  #page-archive #archive .archive-list__icon {
    flex-shrink: 0;
    width: 16.875px;
  }
  #page-archive #archive .archive-list__number {
    margin-left: 6.328125px;
    font-size: 15.1875px;
    color: #403d3c;
  }
  #page-archive #archive .archive-list__good {
    margin-left: 15.75px;
    font-size: 12.9375px;
    color: #878788;
  }
  #page-archive #archive .wp-pagenavi {
    margin-top: 48.75px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #page-archive #archive .wp-pagenavi .pages {
    display: none;
  }
  #page-archive #archive .wp-pagenavi span, #page-archive #archive .wp-pagenavi a {
    border: none;
    padding: 0;
    font-size: 20.25px;
    margin: 0 13.5px;
    color: #878788;
  }
  #page-archive #archive .wp-pagenavi span.current, #page-archive #archive .wp-pagenavi a.current {
    color: #231815;
    position: relative;
  }
  #page-archive #archive .wp-pagenavi span.current:after, #page-archive #archive .wp-pagenavi a.current:after {
    width: 16.5px;
    height: 1.5px;
    display: block;
    content: "";
    position: absolute;
    bottom: -10.5px;
    right: 0;
    background-color: #231815;
  }
}

#page-archive.page-single {
  /*------------------------------------------
  * archive
  *----------------------------------------*/
}
#page-archive.page-single #archive {
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  #page-archive.page-single #archive .archive-container {
    max-width: 1000px;
    padding-bottom: 72px;
  }
  #page-archive.page-single #archive .archive-list__eye {
    height: 525px;
  }
  #page-archive.page-single #archive .archive-list__eye img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-archive.page-single #archive .archive-list__time {
    display: block;
    margin-top: 18px;
    text-align: end;
  }
  #page-archive.page-single #archive .archive-list__ttl {
    margin-top: 10px;
  }
  #page-archive.page-single #archive .archive-list__title {
    margin-top: 69px;
    font-size: 30px;
    line-height: 1.4;
    font-weight: 500;
  }
  #page-archive.page-single #archive .archive-list__excerpt {
    margin-top: 39px;
  }
  #page-archive.page-single #archive .archive-list__excerpt h2 {
    font-size: 20px;
    line-height: 1.4;
    margin-bottom: 30px;
  }
  #page-archive.page-single #archive .archive-list__excerpt figure {
    width: 100%;
    margin-bottom: 30px;
  }
  #page-archive.page-single #archive .archive-list__excerpt p {
    margin-bottom: 30px;
  }
  #page-archive.page-single #archive .archive-list__like {
    display: none;
    margin-top: 35px;
    justify-content: flex-end;
  }
  #page-archive.page-single #archive .archive-list__back {
    margin-top: 55px;
    width: 254px;
    height: 42px;
    border-radius: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    bottom: 40px;
    font-size: 20px;
    background-color: #595858;
    gap: 20px;
  }
  #page-archive.page-single #archive .archive-list__back img {
    flex-shrink: 0;
    width: 30px;
  }
  #page-archive.page-single #archive .wpulike {
    margin-top: 35px;
    padding: 0;
    display: flex;
    justify-content: flex-end;
  }
}
@media screen and (max-width: 768px) {
  #page-archive.page-single #archive .archive-container {
    max-width: 750px;
    padding-bottom: 54px;
    padding-left: 20px;
    padding-right: 20px;
  }
  #page-archive.page-single #archive .archive-list__eye {
    height: 393.75px;
  }
  #page-archive.page-single #archive .archive-list__eye img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-archive.page-single #archive .archive-list__time {
    display: block;
    margin-top: 13.5px;
    text-align: end;
  }
  #page-archive.page-single #archive .archive-list__ttl {
    margin-top: 7.5px;
  }
  #page-archive.page-single #archive .archive-list__title {
    margin-top: 51.75px;
    font-size: 22.5px;
    line-height: 1.4;
    font-weight: 500;
  }
  #page-archive.page-single #archive .archive-list__excerpt {
    margin-top: 29.25px;
  }
  #page-archive.page-single #archive .archive-list__excerpt h2 {
    font-size: 18px;
    line-height: 1.4;
    margin-bottom: 20px;
  }
  #page-archive.page-single #archive .archive-list__excerpt figure {
    width: 100%;
    margin-bottom: 20px;
  }
  #page-archive.page-single #archive .archive-list__excerpt p {
    margin-bottom: 20px;
  }
  #page-archive.page-single #archive .archive-list__like {
    display: none;
    margin-top: 28.75px;
    justify-content: flex-end;
  }
  #page-archive.page-single #archive .archive-list__back {
    margin-top: 41.25px;
    width: 190.5px;
    height: 31.5px;
    border-radius: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    bottom: 30px;
    font-size: 15px;
    background-color: #595858;
    gap: 15px;
  }
  #page-archive.page-single #archive .archive-list__back img {
    flex-shrink: 0;
    width: 22.5px;
  }
  #page-archive.page-single #archive .wpulike {
    margin-top: 28.75px;
    padding: 0;
    display: flex;
    justify-content: flex-end;
  }
}

#privacy-policy {
  /*------------------------------------------
  * page
  *----------------------------------------*/
}
@media screen and (min-width: 769px) {
  #privacy-policy #page {
    padding-top: 37.5px;
  }
  #privacy-policy #page .page-ttl {
    text-align: left;
    font-size: 22.5px;
    padding-bottom: 17.25px;
    font-weight: 500;
    border-bottom: 1px solid black;
    margin-bottom: 31.5px;
  }
  #privacy-policy #page p {
    font-size: 18.75px;
    font-weight: 400;
    margin-bottom: 30px;
  }
  #privacy-policy #page ol {
    padding-left: 20px;
  }
  #privacy-policy #page ol li span {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
  }
  #privacy-policy #page ol li a {
    display: inline-block;
    text-decoration: underline;
    color: inherit;
  }
  #privacy-policy #page ol li {
    line-height: 1.6;
    font-size: 18.75px;
    font-weight: 400;
    margin-bottom: 45px;
  }
}
@media screen and (max-width: 768px) {
  #privacy-policy #page {
    padding-top: 28.125px;
  }
  #privacy-policy #page .page-ttl {
    text-align: left;
    font-size: 16.875px;
    padding-bottom: 12.9375px;
    font-weight: 500;
    border-bottom: 1px solid black;
    margin-bottom: 23.625px;
  }
  #privacy-policy #page p {
    font-size: 14.0625px;
    font-weight: 400;
    margin-bottom: 22.5px;
  }
  #privacy-policy #page ol {
    padding-left: 20px;
  }
  #privacy-policy #page ol li span {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
  }
  #privacy-policy #page ol li a {
    color: inherit;
    display: inline-block;
    text-decoration: underline;
  }
  #privacy-policy #page ol li {
    line-height: 1.6;
    font-size: 14.0625px;
    font-weight: 400;
    margin-bottom: 33.75px;
  }
}

#notfound {
  /*------------------------------------------
  * page
  *----------------------------------------*/
}
#notfound .page {
  text-align: center;
}
@media screen and (min-width: 769px) {
  #notfound .page {
    padding: 112.5px 0 150px;
  }
  #notfound .page-ttl {
    font-size: 30px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 45px;
  }
  #notfound .page-content {
    font-size: 18.75px;
    font-weight: 400;
    line-height: 1.8;
    margin-bottom: 60px;
  }
  #notfound .page-top {
    display: inline-block;
    width: 300px;
    padding: 18.75px 0;
    color: #fff;
    background: #403D3B;
    border-radius: 6px;
    font-size: 16.875px;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  #notfound .page {
    padding: 75px 0 112.5px;
  }
  #notfound .page-ttl {
    font-size: 20.625px;
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 30px;
  }
  #notfound .page-content {
    font-size: 14.0625px;
    font-weight: 400;
    line-height: 1.8;
    text-align: left;
    margin-bottom: 45px;
  }
  #notfound .page-top {
    display: inline-block;
    width: 100%;
    max-width: 262.5px;
    padding: 15px 0;
    color: #fff;
    background: #403D3B;
    border-radius: 6px;
    font-size: 14.0625px;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin: 0 auto;
  }
}

/*# sourceMappingURL=main.css.map */
