@charset "UTF-8";
/*!
Theme Name: ff_wp_template
Theme URI: http://underscores.me/
Author: Firefly inc.
Author URI: https://fireflyinc.io
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ff_template
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ff_template is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/
html {
  font-size: 16px;
  color: #1a1a1a;
  letter-spacing: 0.03em;
  line-height: 2;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt" 1;
}

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", "MS Gothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt" 1;
}

p,
a,
dt,
dd,
li,
th,
td {
  line-height: 2;
  font-family: inherit;
}

a {
  color: #1a1a1a;
}
a:hover {
  color: #1a1a1a;
}

*,
::before,
::after {
  box-sizing: border-box;
}

* {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: 0.03em;
}

::before,
::after {
  display: inline-block;
  text-decoration: inherit;
  vertical-align: inherit;
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  background: #F1EEEA;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

footer,
header,
hgroup,
nav,
section {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden] {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

b,
strong {
  font-weight: bold;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
  vertical-align: bottom;
  max-width: 100%;
}
img.pdf_icon {
  vertical-align: middle;
}

svg:not(:root) {
  overflow: hidden;
}

hr {
  box-sizing: content-box;
  height: 0;
}

*:not(input):not(select):not(button):not(textarea):not(label):focus {
  outline: none;
}

select {
  height: 30px;
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 0 20px 0 5px;
  line-height: 1;
}

button,
input,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
  padding: 4px 6px;
  border: 1px solid #ccc;
  border-radius: 4px;
  outline: none;
}

input:not([type=checkbox]):not([type=radio]),
textarea,
button {
  -webkit-appearance: none;
}

input {
  padding: 0 6px;
}

input:focus,
textarea:focus {
  outline: none;
}

input[type=button],
input[type=submit] {
  background-color: transparent;
  border: none;
}

button {
  overflow: visible;
  background-color: transparent;
  border-radius: 0;
  border: none;
}

button,
select {
  text-transform: none;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: none;
  cursor: pointer;
}

button[disabled],
input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  padding: 0 5px 0 0;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input[type=text],
select,
textarea {
  font-size: 100%;
}

input[type=text]:focus,
textarea:focus {
  transition: 0.2s;
}

input[type=text]:focus,
textarea:focus {
  border-color: rgba(82, 168, 236, 0.8);
  outline: 0;
  outline: thin dotted \9 ;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
}

textarea {
  overflow: auto;
  resize: vertical;
}

label {
  display: inline-block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
  text-align: left;
  vertical-align: top;
}

ol {
  list-style-position: inside;
}

li {
  list-style-type: none;
}

address {
  font-style: normal;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
p,
table,
thead,
tbody,
tfoot,
address {
  margin: 0;
  padding: 0;
}

input,
textarea,
table,
thead,
tbody,
tfoot,
address {
  text-align: left;
}

div,
dl,
dt,
dd,
ul,
ol,
li,
form,
p {
  text-align: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: normal;
  font-weight: normal;
}

figure {
  margin: 0;
}

.breadcrumb li {
  /**/
}

.button01 {
  font-family: "Noto sans JP";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.125vw;
  text-decoration: none;
  background: var(--gr, linear-gradient(135deg, #EBAD10 0%, #F0770E 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  width: 18.75vw;
  line-height: 4.6875vw;
  border-radius: 0.78125vw;
  border: 0.15625vw solid var(--gr, #EBAD10);
  background: var(--, #F1EEEA);
  display: block;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 1280px) {
  .button01 {
    font-size: 16px;
    letter-spacing: 1.6px;
    width: 240px;
    line-height: 60px;
    border-radius: 10px;
    border: 2px solid var(--gr, #EBAD10);
  }
}
.button01::before {
  content: "";
  background: url(../../../images/index/right-arrow.png) no-repeat center/cover;
  width: 0.625vw;
  height: 1.171875vw;
  position: absolute;
  top: calc(50% - 0.5859375vw);
  right: 1.5625vw;
}
@media screen and (min-width: 1280px) {
  .button01::before {
    width: 8px;
    height: 15px;
    top: calc(50% - 7.5px);
    right: 20px;
  }
}

.button02 {
  font-family: "Noto sans JP";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.125vw;
  width: 18.75vw;
  line-height: 4.6875vw;
  display: block;
  border: 0.15625vw solid #66503E;
  border-radius: 0.78125vw;
  padding-left: 1.796875vw;
  color: #66503E;
  text-decoration: none;
  position: relative;
  background: #E5DFD6;
}
@media screen and (min-width: 1280px) {
  .button02 {
    font-size: 16px;
    letter-spacing: 1.6px;
    width: 240px;
    line-height: 60px;
    border: 2px solid #66503E;
    border-radius: 10px;
    padding-left: 23px;
  }
}
.button02::before {
  content: "";
  background: url(var(--theme-image-path)index/right-arrow02.png) no-repeat center/cover;
  display: block;
  width: 0.625vw;
  height: 1.171875vw;
  position: absolute;
  right: 1.5625vw;
  top: calc(50% - 0.5859375vw);
}
@media screen and (min-width: 1280px) {
  .button02::before {
    width: 8px;
    height: 15px;
    right: 20px;
    top: calc(50% - 7.5px);
  }
}

.button02.-another {
  font-family: "Noto sans JP";
  font-size: 1.25vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.125vw;
  width: 18.75vw;
  line-height: 4.6875vw;
  display: block;
  border: 0.15625vw solid var(--gr, #EBAD10);
  border-radius: 0.78125vw;
  padding-left: 1.796875vw;
  text-decoration: none;
  background: var(--gr, linear-gradient(135deg, #EBAD10 0%, #F0770E 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  background: var(--, #F1EEEA);
}
@media screen and (min-width: 1280px) {
  .button02.-another {
    font-size: 16px;
    letter-spacing: 1.6px;
    width: 240px;
    line-height: 60px;
    border: 2px solid var(--gr, #EBAD10);
    border-radius: 10px;
    padding-left: 23px;
  }
}
.button02.-another::before {
  content: "";
  background: url(var(--theme-image-path)index/right-arrow.png) no-repeat center/cover;
  display: block;
  width: 0.625vw;
  height: 1.171875vw;
  position: absolute;
  right: 1.5625vw;
  top: calc(50% - 0.5859375vw);
}
@media screen and (min-width: 1280px) {
  .button02.-another::before {
    width: 8px;
    height: 15px;
    right: 20px;
    top: calc(50% - 7.5px);
  }
}

@media screen and (max-width: 768px) {
  .button01 {
    font-size: 16px;
    letter-spacing: 1.6px;
    width: 280px;
    line-height: 50px;
    border-radius: 8px;
    border: 2px solid var(--gr, #EBAD10);
  }
  .button01::before {
    width: 8px;
    height: 15px;
    top: calc(50% - 7.5px);
    right: 15px;
  }
  .button02 {
    font-size: 14px;
    letter-spacing: 1.6px;
    width: 170px;
    line-height: 40px;
    border: 2px solid #66503E;
    border-radius: 8px;
    padding-left: 20px;
  }
  .button02::before {
    width: 8px;
    height: 15px;
    right: 15px;
    top: calc(50% - 7.5px);
  }
  .button02.-another {
    font-size: 16px;
    letter-spacing: 1.6px;
    width: 280px;
    line-height: 50px;
    border: 2px solid var(--gr, #EBAD10);
    border-radius: 8px;
    padding-left: 20px;
  }
  .button02.-another::before {
    width: 8px;
    height: 15px;
    right: 15px;
    top: calc(50% - 7.5px);
  }
}
.pager li {
  /**/
}

.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 7.8125vw;
  position: fixed;
  top: 2.34375vw;
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 1280px) {
  .site-header {
    padding: 0 100px;
    top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .site-header {
    padding: 0 20px;
    top: 15px;
  }
}
.site-header .logo a {
  display: block;
}
.site-header .logo a img {
  display: block;
  width: 14.0625vw;
  height: auto;
}
@media screen and (min-width: 1280px) {
  .site-header .logo a img {
    width: 180px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .logo a img {
    width: 120px;
  }
}
.site-header .wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .site-header .main-nav {
    display: none;
  }
}
.site-header .main-nav ul {
  display: flex;
  background: #fff;
  padding: 1.171875vw 2.34375vw;
  border-radius: 78.125vw;
}
@media screen and (min-width: 1280px) {
  .site-header .main-nav ul {
    padding: 15px 30px;
    border-radius: 1000px;
  }
}
.site-header .main-nav li {
  display: flex;
  align-items: center;
  margin-right: 2.34375vw;
}
@media screen and (min-width: 1280px) {
  .site-header .main-nav li {
    margin-right: 30px;
  }
}
.site-header .main-nav li a {
  color: #6b5642;
  font-size: 1.25vw;
  font-weight: 700;
  text-decoration: none;
}
@media screen and (min-width: 1280px) {
  .site-header .main-nav li a {
    font-size: 16px;
  }
}
.site-header .main-nav li:last-child {
  margin-right: 0;
}
.site-header .main-nav li .dot {
  display: inline-block;
  width: 0.9375vw;
  height: 0.9375vw;
  background: #f3b52b;
  border-radius: 50%;
  margin-right: 0.625vw;
}
@media screen and (min-width: 1280px) {
  .site-header .main-nav li .dot {
    width: 12px;
    height: 12px;
    margin-right: 8px;
  }
}
.site-header .contact-btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13.75vw;
  height: 4.296875vw;
  background: #f7f5f2;
  color: #F0770E;
  border-radius: 0.78125vw;
  padding: 1.5625vw 1.171875vw;
  font-size: 1.25vw;
  font-weight: bold;
  text-decoration: none;
  margin-left: 3.125vw;
  border: none;
  z-index: 1;
  overflow: hidden;
  transition: background 0.2s, color 0.2s;
}
@media screen and (min-width: 1280px) {
  .site-header .contact-btn {
    width: 176px;
    height: 55px;
    border-radius: 10px;
    padding: 20px 15px;
    font-size: 16px;
    margin-left: 40px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .contact-btn {
    display: none;
  }
}
.site-header .contact-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 0.78125vw;
  padding: 0.15625vw;
  background: linear-gradient(135deg, #EBAD10 0%, #F0770E 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 1280px) {
  .site-header .contact-btn::before {
    border-radius: 10px;
    padding: 2px;
  }
}
.site-header .contact-btn .mail-icon img {
  width: 1.5625vw;
  height: 1.25vw;
  margin-right: 0.9375vw;
  vertical-align: middle;
}
@media screen and (min-width: 1280px) {
  .site-header .contact-btn .mail-icon img {
    width: 20px;
    height: 16px;
    margin-right: 12px;
  }
}
@media screen and (max-width: 768px) {
  .site-header .contact-btn .mail-icon img {
    width: 16px;
    height: 14px;
    margin-right: 8px;
  }
}
.site-header .contact-btn:hover {
  background: linear-gradient(135deg, #EBAD10 0%, #F0770E 100%);
  color: #fff;
}
.site-header .contact-btn:hover .mail-icon img {
  filter: brightness(0) invert(1);
}
.site-header .hamburger-menu {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 24px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  z-index: 1000;
  transition: all 0.3s ease;
  position: absolute;
  right: 20px;
}
@media screen and (max-width: 768px) {
  .site-header .hamburger-menu {
    display: flex;
  }
}
.site-header .hamburger-menu .hamburger-line {
  width: 100%;
  height: 3px;
  background: #6b5642;
  border-radius: 2px;
  transition: all 0.3s ease;
  transform-origin: center;
}
.site-header .hamburger-menu.is-active .hamburger-line:nth-child(1) {
  transform: translateY(10.5px) rotate(45deg);
}
.site-header .hamburger-menu.is-active .hamburger-line:nth-child(2) {
  opacity: 0;
}
.site-header .hamburger-menu.is-active .hamburger-line:nth-child(3) {
  transform: translateY(-10.5px) rotate(-45deg);
}
.site-header .mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: #fff;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}
@media screen and (max-width: 768px) {
  .site-header .mobile-menu {
    display: block;
  }
}
.site-header .mobile-menu.is-active {
  opacity: 1;
  visibility: visible;
}
.site-header .mobile-menu .mobile-nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  justify-content: flex-start;
  height: 100%;
  padding: 80px 40px 40px;
  overflow-y: auto;
}
.site-header .mobile-menu .mobile-nav .mobile-logo {
  margin-bottom: 40px;
  text-align: center;
}
.site-header .mobile-menu .mobile-nav .mobile-logo a {
  display: inline-block;
}
.site-header .mobile-menu .mobile-nav .mobile-logo a img {
  width: 140px;
  height: auto;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu {
  list-style: none;
  text-align: left;
  min-width: 280px;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li {
  margin-bottom: 15px;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.mobile-menu.is-active .site-header .mobile-menu .mobile-nav .mobile-main-menu li {
  opacity: 1;
  transform: translateY(0);
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:nth-child(1) {
  transition-delay: 0.1s;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:nth-child(2) {
  transition-delay: 0.15s;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:nth-child(3) {
  transition-delay: 0.2s;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:nth-child(4) {
  transition-delay: 0.25s;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:nth-child(5) {
  transition-delay: 0.3s;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:last-child {
  margin-bottom: 0;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:not(.mobile-contact)::before {
  content: "●";
  color: #f3b52b;
  margin-right: 10px;
  font-size: 12px;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:last-child {
  margin-bottom: 50px;
  margin-top: 30px;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:last-child a {
  width: 100%;
  text-align: center;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li:last-child::before {
  display: none;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li a {
  color: #6b5642;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  font-family: "Noto sans JP";
  transition: all 0.3s ease;
  display: block;
  padding: 10px 0;
  position: relative;
  border-radius: 10px;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 0;
  height: 2px;
  background: #f3b52b;
  transition: all 0.3s ease;
  transform: translateY(-50%);
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li a:hover {
  color: #f3b52b;
  background: rgba(243, 181, 43, 0.1);
  padding-left: 15px;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li a:hover::before {
  width: 4px;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li a.mobile-contact {
  background: #f7f5f2;
  color: #F0770E;
  padding: 15px 30px;
  border-radius: 15px;
  display: inline-block;
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
  font-weight: bold;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li a.mobile-contact::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 15px;
  padding: 2px;
  background: linear-gradient(135deg, #EBAD10 0%, #F0770E 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.site-header .mobile-menu .mobile-nav .mobile-main-menu li a.mobile-contact:hover {
  background: linear-gradient(135deg, #EBAD10 0%, #F0770E 100%);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(235, 173, 16, 0.3);
}
.site-header .mobile-menu .mobile-nav .mobile-footer-links {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
}
.site-header .mobile-menu .mobile-nav .mobile-footer-links a {
  color: #6b5642;
  font-family: "Noto sans JP";
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  transition: color 0.3s ease;
  padding: 6px 0;
}
.site-header .mobile-menu .mobile-nav .mobile-footer-links a:hover {
  color: #f3b52b;
}

footer {
  padding: 0 50px;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 0 20px;
  }
}
footer .footer-wrap {
  background: url(../../../images/index/footer_bg.png) no-repeat center/cover;
  padding: 115px 45px 60px;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  footer .footer-wrap {
    padding: 60px 20px 40px;
    border-radius: 15px;
  }
}
footer .footer-wrap > img {
  width: 532px;
  margin-bottom: 36px;
}
@media screen and (max-width: 768px) {
  footer .footer-wrap > img {
    width: 280px;
    margin-bottom: 25px;
  }
}
footer .footer-wrap .btn-wrap {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 768px) {
  footer .footer-wrap .btn-wrap {
    flex-direction: column;
    gap: 15px;
    align-items: center;
  }
}
footer .footer-wrap .btn-wrap li img.btn01 {
  width: 338px;
}
@media screen and (max-width: 768px) {
  footer .footer-wrap .btn-wrap li img.btn01 {
    width: 280px;
  }
}
footer .footer-wrap .btn-wrap li img.btn02 {
  width: 305px;
}
@media screen and (max-width: 768px) {
  footer .footer-wrap .btn-wrap li img.btn02 {
    width: 250px;
  }
}
footer .footer-wrap .btn-wrap li img.btn03 {
  width: 326px;
}
@media screen and (max-width: 768px) {
  footer .footer-wrap .btn-wrap li img.btn03 {
    width: 270px;
  }
}

.copy {
  color: #66503E;
  font-family: "Josefin Sans";
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  letter-spacing: 3px;
  padding: 60px 0;
}
@media screen and (max-width: 768px) {
  .copy {
    padding: 40px 0;
    font-size: 9px;
    letter-spacing: 2px;
  }
}

.footer-links {
  display: flex;
  justify-content: center;
  gap: 30px;
  margin: 20px 0;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .footer-links {
    gap: 20px;
    margin: 15px 0;
  }
}
.footer-links .footer-link-item {
  color: #66503E;
  font-family: "Noto sans JP";
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-decoration: none;
  transition: color 0.3s ease;
}
.footer-links .footer-link-item:hover {
  color: #8B7355;
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .footer-links .footer-link-item {
    font-size: 11px;
  }
}

.footer-link {
  display: block;
  text-align: right;
  margin-top: -80px;
  color: #333;
  text-align: right;
  font-family: "Noto sans JP";
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 170%;
  /* 23.8px */
  letter-spacing: 0.7px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}
@media screen and (max-width: 768px) {
  .footer-link {
    text-align: center;
    margin-top: 0px;
    font-size: 12px;
    letter-spacing: 0.5px;
    line-height: 150%;
    padding-bottom: 30px;
  }
}

.news-list li {
  /**/
}

.slide-menu {
  /**/
}

.p-terms,
.p-privacy-policy,
.p-community-guidelines,
.p-legal {
  margin-top: 80px;
  padding: 60px 0;
}
@media screen and (max-width: 768px) {
  .p-terms,
  .p-privacy-policy,
  .p-community-guidelines,
  .p-legal {
    margin-top: 60px;
    padding: 40px 0;
  }
}
.p-terms .container,
.p-privacy-policy .container,
.p-community-guidelines .container,
.p-legal .container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .p-terms .container,
  .p-privacy-policy .container,
  .p-community-guidelines .container,
  .p-legal .container {
    padding: 0 15px;
  }
}
.p-terms .page-title,
.p-privacy-policy .page-title,
.p-community-guidelines .page-title,
.p-legal .page-title {
  font-size: 32px;
  color: #66503E;
  font-family: "Josefin Sans";
  font-weight: 600;
  text-align: center;
  margin-bottom: 50px;
  letter-spacing: 2px;
}
@media screen and (max-width: 768px) {
  .p-terms .page-title,
  .p-privacy-policy .page-title,
  .p-community-guidelines .page-title,
  .p-legal .page-title {
    font-size: 24px;
    margin-bottom: 30px;
    letter-spacing: 1px;
  }
}

.p-terms .terms-content > p {
  font-size: 14px;
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.7;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content > p {
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 25px;
    padding: 0 5px;
  }
}
.p-terms .terms-content h2 {
  font-size: 22px;
  color: #66503E;
  font-family: "Noto sans JP";
  font-weight: 600;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content h2 {
    font-size: 18px;
    margin-bottom: 25px;
    padding: 0 10px;
  }
}
.p-terms .terms-content .terms-section {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content .terms-section {
    margin-bottom: 25px;
    padding: 0 5px;
  }
}
.p-terms .terms-content .terms-section h3 {
  font-size: 16px;
  color: #8B7355;
  font-family: "Noto sans JP";
  font-weight: 600;
  margin-bottom: 12px;
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content .terms-section h3 {
    font-size: 15px;
    margin-bottom: 10px;
    margin-top: 20px;
    padding: 0 5px;
  }
}
.p-terms .terms-content .terms-section h4 {
  font-size: 15px;
  color: #66503E;
  font-family: "Noto sans JP";
  font-weight: 600;
  margin-bottom: 10px;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content .terms-section h4 {
    font-size: 14px;
    margin-bottom: 8px;
    margin-top: 12px;
    padding: 0 5px;
  }
}
.p-terms .terms-content .terms-section p {
  font-size: 14px;
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.7;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content .terms-section p {
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 8px;
    padding: 0 5px;
  }
}
.p-terms .terms-content .terms-section ul {
  margin-left: 20px;
  margin-bottom: 12px;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content .terms-section ul {
    margin-left: 15px;
    margin-bottom: 10px;
    padding: 0 5px;
  }
}
.p-terms .terms-content .terms-section ul li {
  font-size: 14px;
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.7;
  margin-bottom: 6px;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content .terms-section ul li {
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 5px;
  }
}
.p-terms .terms-content .terms-date {
  font-size: 13px;
  color: #8B7355;
  font-family: "Noto sans JP";
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p-terms .terms-content .terms-date {
    font-size: 12px;
    margin-top: 30px;
    padding: 0 10px;
  }
}

.p-privacy-policy .privacy-content .privacy-section {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p-privacy-policy .privacy-content .privacy-section {
    margin-bottom: 30px;
  }
}
.p-privacy-policy .privacy-content .privacy-section h2 {
  font-size: calc(1vw * 20 / 1280 * 100);
  color: #66503E;
  font-family: "Noto sans JP";
  font-weight: 600;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 2px solid #E8E0D8;
}
@media screen and (min-width: 1280px) {
  .p-privacy-policy .privacy-content .privacy-section h2 {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy-policy .privacy-content .privacy-section h2 {
    font-size: calc(1vw * 18 / 1280 * 100);
    margin-bottom: 12px;
    padding-bottom: 8px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-privacy-policy .privacy-content .privacy-section h2 {
    font-size: 18px;
  }
}
.p-privacy-policy .privacy-content .privacy-section p {
  font-size: calc(1vw * 16 / 1280 * 100);
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.8;
  margin-bottom: 15px;
}
@media screen and (min-width: 1280px) {
  .p-privacy-policy .privacy-content .privacy-section p {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy-policy .privacy-content .privacy-section p {
    font-size: calc(1vw * 14 / 1280 * 100);
    line-height: 1.7;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-privacy-policy .privacy-content .privacy-section p {
    font-size: 14px;
  }
}
.p-privacy-policy .privacy-content .privacy-section ul {
  margin-left: 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .p-privacy-policy .privacy-content .privacy-section ul {
    margin-left: 15px;
    margin-bottom: 12px;
  }
}
.p-privacy-policy .privacy-content .privacy-section ul li {
  font-size: calc(1vw * 16 / 1280 * 100);
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.8;
  margin-bottom: 8px;
}
@media screen and (min-width: 1280px) {
  .p-privacy-policy .privacy-content .privacy-section ul li {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy-policy .privacy-content .privacy-section ul li {
    font-size: calc(1vw * 14 / 1280 * 100);
    line-height: 1.7;
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-privacy-policy .privacy-content .privacy-section ul li {
    font-size: 14px;
  }
}
.p-privacy-policy .privacy-content .privacy-date {
  font-size: calc(1vw * 14 / 1280 * 100);
  color: #8B7355;
  font-family: "Noto sans JP";
  text-align: center;
  margin-top: 50px;
  font-style: italic;
}
@media screen and (min-width: 1280px) {
  .p-privacy-policy .privacy-content .privacy-date {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .p-privacy-policy .privacy-content .privacy-date {
    font-size: calc(1vw * 12 / 1280 * 100);
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-privacy-policy .privacy-content .privacy-date {
    font-size: 12px;
  }
}

.p-community-guidelines .guidelines-content .guidelines-section {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p-community-guidelines .guidelines-content .guidelines-section {
    margin-bottom: 30px;
  }
}
.p-community-guidelines .guidelines-content .guidelines-section h2 {
  font-size: calc(1vw * 20 / 1280 * 100);
  color: #66503E;
  font-family: "Noto sans JP";
  font-weight: 600;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 2px solid #E8E0D8;
}
@media screen and (min-width: 1280px) {
  .p-community-guidelines .guidelines-content .guidelines-section h2 {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .p-community-guidelines .guidelines-content .guidelines-section h2 {
    font-size: calc(1vw * 18 / 1280 * 100);
    margin-bottom: 12px;
    padding-bottom: 8px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-community-guidelines .guidelines-content .guidelines-section h2 {
    font-size: 18px;
  }
}
.p-community-guidelines .guidelines-content .guidelines-section p {
  font-size: calc(1vw * 16 / 1280 * 100);
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.8;
  margin-bottom: 15px;
}
@media screen and (min-width: 1280px) {
  .p-community-guidelines .guidelines-content .guidelines-section p {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-community-guidelines .guidelines-content .guidelines-section p {
    font-size: calc(1vw * 14 / 1280 * 100);
    line-height: 1.7;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-community-guidelines .guidelines-content .guidelines-section p {
    font-size: 14px;
  }
}
.p-community-guidelines .guidelines-content .guidelines-section ul {
  margin-left: 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .p-community-guidelines .guidelines-content .guidelines-section ul {
    margin-left: 15px;
    margin-bottom: 12px;
  }
}
.p-community-guidelines .guidelines-content .guidelines-section ul li {
  font-size: calc(1vw * 16 / 1280 * 100);
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.8;
  margin-bottom: 8px;
}
@media screen and (min-width: 1280px) {
  .p-community-guidelines .guidelines-content .guidelines-section ul li {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-community-guidelines .guidelines-content .guidelines-section ul li {
    font-size: calc(1vw * 14 / 1280 * 100);
    line-height: 1.7;
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-community-guidelines .guidelines-content .guidelines-section ul li {
    font-size: 14px;
  }
}
.p-community-guidelines .guidelines-content .guidelines-date {
  font-size: calc(1vw * 14 / 1280 * 100);
  color: #8B7355;
  font-family: "Noto sans JP";
  text-align: center;
  margin-top: 50px;
  font-style: italic;
}
@media screen and (min-width: 1280px) {
  .p-community-guidelines .guidelines-content .guidelines-date {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .p-community-guidelines .guidelines-content .guidelines-date {
    font-size: calc(1vw * 12 / 1280 * 100);
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-community-guidelines .guidelines-content .guidelines-date {
    font-size: 12px;
  }
}

.p-legal .legal-content .legal-section {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section {
    margin-bottom: 30px;
  }
}
.p-legal .legal-content .legal-section h2 {
  font-size: calc(1vw * 20 / 1280 * 100);
  color: #66503E;
  font-family: "Noto sans JP";
  font-weight: 600;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #E8E0D8;
}
@media screen and (min-width: 1280px) {
  .p-legal .legal-content .legal-section h2 {
    font-size: 20px;
  }
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section h2 {
    font-size: calc(1vw * 18 / 1280 * 100);
    margin-bottom: 15px;
    padding-bottom: 8px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-legal .legal-content .legal-section h2 {
    font-size: 18px;
  }
}
.p-legal .legal-content .legal-section p {
  font-size: calc(1vw * 16 / 1280 * 100);
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.8;
  margin-bottom: 15px;
}
@media screen and (min-width: 1280px) {
  .p-legal .legal-content .legal-section p {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section p {
    font-size: calc(1vw * 14 / 1280 * 100);
    line-height: 1.7;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-legal .legal-content .legal-section p {
    font-size: 14px;
  }
}
.p-legal .legal-content .legal-section ul {
  margin-left: 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section ul {
    margin-left: 15px;
    margin-bottom: 12px;
  }
}
.p-legal .legal-content .legal-section ul li {
  font-size: calc(1vw * 16 / 1280 * 100);
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.8;
  margin-bottom: 8px;
}
@media screen and (min-width: 1280px) {
  .p-legal .legal-content .legal-section ul li {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section ul li {
    font-size: calc(1vw * 14 / 1280 * 100);
    line-height: 1.7;
    margin-bottom: 6px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-legal .legal-content .legal-section ul li {
    font-size: 14px;
  }
}
.p-legal .legal-content .legal-section .legal-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section .legal-table {
    margin-bottom: 15px;
  }
}
.p-legal .legal-content .legal-section .legal-table th,
.p-legal .legal-content .legal-section .legal-table td {
  border: 1px solid #E8E0D8;
  padding: 15px;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section .legal-table th,
  .p-legal .legal-content .legal-section .legal-table td {
    padding: 10px;
    display: block;
    width: 100%;
    border-left: none;
    border-right: none;
  }
}
.p-legal .legal-content .legal-section .legal-table th {
  background-color: #F8F6F3;
  font-size: calc(1vw * 16 / 1280 * 100);
  color: #66503E;
  font-family: "Noto sans JP";
  font-weight: 600;
  width: 30%;
}
@media screen and (min-width: 1280px) {
  .p-legal .legal-content .legal-section .legal-table th {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section .legal-table th {
    font-size: calc(1vw * 14 / 1280 * 100);
    width: 100%;
    border-bottom: none;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-legal .legal-content .legal-section .legal-table th {
    font-size: 14px;
  }
}
.p-legal .legal-content .legal-section .legal-table td {
  font-size: calc(1vw * 16 / 1280 * 100);
  color: #333;
  font-family: "Noto sans JP";
  line-height: 1.6;
}
@media screen and (min-width: 1280px) {
  .p-legal .legal-content .legal-section .legal-table td {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-section .legal-table td {
    font-size: calc(1vw * 14 / 1280 * 100);
    border-top: none;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-legal .legal-content .legal-section .legal-table td {
    font-size: 14px;
  }
}
.p-legal .legal-content .legal-date {
  font-size: calc(1vw * 14 / 1280 * 100);
  color: #8B7355;
  font-family: "Noto sans JP";
  text-align: center;
  margin-top: 50px;
  font-style: italic;
}
@media screen and (min-width: 1280px) {
  .p-legal .legal-content .legal-date {
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .p-legal .legal-content .legal-date {
    font-size: calc(1vw * 12 / 1280 * 100);
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) and (min-width: 1280px) {
  .p-legal .legal-content .legal-date {
    font-size: 12px;
  }
}

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