@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;
}
@media screen and (max-width: 768px) {
  body {
    overflow-x: hidden;
  }
}

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

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

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

#root,
#__next {
  isolation: isolate;
}

body {
  color: black;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
}

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;
}

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

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

.wpcf7-spinner {
  display: none;
}

table {
  width: 100%;
  border-collapse: collapse;
}
table tbody tr {
  display: flex;
  align-items: center;
}
table tbody tr th {
  text-align: left;
}
table tbody tr td {
  line-height: normal;
}

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

textarea {
  resize: vertical;
}

.desc {
  line-height: normal;
}

.wpcf7-not-valid-tip {
  font-size: 14px;
  margin-top: 5px;
  font-weight: 500;
}

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

/*****************/
/**** font   *****/
/*****************/
/*****************/
/**** 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 {
  opacity: 0;
}

.fadeIn {
  opacity: 1;
  transition: opacity 1s;
}

/*****************/
/****   parts   *****/
/*****************/
.wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-pagenavi span,
.wp-pagenavi a {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #15543F;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wp-pagenavi span.current {
  background-color: #15543F;
  color: white;
}
.wp-pagenavi span.pages {
  display: none;
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none !important;
  }
  a[href*=tel] {
    pointer-events: none;
  }
  section {
    position: relative;
  }
  .container {
    width: 100%;
    margin: 0 auto;
    max-width: 1230px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .link-button {
    background-color: #15543F;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    border-radius: 100px;
    height: 52px;
    border: 2px solid #15543F;
    cursor: pointer;
  }
  .link-button p {
    font-size: 18px;
    font-weight: bold;
    color: white;
    padding-bottom: 3px;
  }
  .link-button:after {
    flex-shrink: 0;
    content: "";
    display: block;
    width: 28px;
    height: 8px;
    background-image: url(../image/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .link-button:hover {
    opacity: 1;
    background-color: white;
    border: 2px solid #15543F;
  }
  .link-button:hover p {
    color: #15543F;
  }
  .link-button:hover:after {
    background-image: url(../image/arrow-green.svg);
  }
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none !important;
  }
  section {
    position: relative;
  }
  .container {
    width: 100%;
    margin: 0 auto;
    max-width: 1230px;
    padding-left: 22px;
    padding-right: 22px;
  }
  .link-button {
    background-color: #15543F;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    border-radius: 100px;
    height: 52px;
    border: 2px solid #15543F;
    cursor: pointer;
  }
  .link-button p {
    font-size: 18px;
    font-weight: bold;
    color: white;
    padding-bottom: 3px;
  }
  .link-button:after {
    flex-shrink: 0;
    content: "";
    display: block;
    width: 28px;
    height: 8px;
    background-image: url(../image/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  .link-button:hover {
    opacity: 1;
    background-color: white;
    border: 2px solid #15543F;
  }
  .link-button:hover p {
    color: #15543F;
  }
  .link-button:hover:after {
    background-image: url(../image/arrow-green.svg);
  }
}
/*****************/
/****   page   *****/
/*****************/
.page-wrapper {
  background-color: #FEFFF6;
}
@media screen and (min-width: 769px) {
  .page-header {
    background-color: #15543F;
    height: 145px;
    display: flex;
    align-items: center;
  }
  .page-header__ttl {
    color: white;
    font-size: 40px;
    font-weight: bold;
  }
  .page-container {
    max-width: 1030px;
  }
  .page-breadcrumb {
    margin-top: 50px;
  }
  .page-breadcrumb__list {
    display: flex;
    align-items: center;
    padding: 0;
  }
  .page-breadcrumb__item {
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    margin-right: 15px;
  }
  .page-breadcrumb__item:after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
    margin-left: 15px;
    border-top: 2px solid black;
    border-right: 2px solid black;
  }
  .page-breadcrumb__item a {
    color: black;
  }
  .page-breadcrumb__item:last-child {
    margin-right: 0;
  }
  .page-breadcrumb__item:last-child::after {
    display: none;
  }
  .page-content {
    margin-top: 20px;
    padding-bottom: 200px;
  }
  .page-content h2 {
    font-size: 21px;
    color: #15543F;
    padding-bottom: 10px;
    border-bottom: 1px solid black;
    margin-bottom: 10px;
    line-height: 1.6;
  }
  .page-content p {
    font-size: 16px;
    line-height: 1.6;
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 768px) {
  .page-wrapper {
    padding-top: 100px;
  }
  .page-header {
    background-color: #15543F;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .page-header__ttl {
    color: white;
    font-size: 32px;
    font-weight: bold;
  }
  .page-container {
    max-width: 1030px;
  }
  .page-breadcrumb {
    margin-top: 20px;
  }
  .page-breadcrumb__list {
    display: flex;
    align-items: center;
    padding: 0;
    overflow: hidden;
  }
  .page-breadcrumb__item {
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    margin-right: 15px;
    white-space: nowrap;
  }
  .page-breadcrumb__item:after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    transform: rotate(45deg);
    margin-left: 15px;
    border-top: 2px solid black;
    border-right: 2px solid black;
  }
  .page-breadcrumb__item a {
    color: black;
  }
  .page-breadcrumb__item:last-child {
    text-overflow: ellipsis;
    margin-right: 0;
    overflow: hidden;
  }
  .page-breadcrumb__item:last-child::after {
    display: none;
  }
  .page-content {
    margin-top: 50px;
    padding-bottom: 60px;
  }
  .page-content h2 {
    font-size: 20px;
    color: #15543F;
    padding-bottom: 6px;
    border-bottom: 1px solid #A2A2A2;
    margin-bottom: 6px;
    line-height: 1.6;
  }
  .page-content p {
    font-size: 16px;
    line-height: 1.6;
    padding-bottom: 20px;
  }
}

/*****************/
/****  header   *****/
/*****************/
@media screen and (min-width: 769px) {
  #header {
    width: 100%;
    height: 150px;
  }
  #header.top {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
  }
  #header.page {
    position: relative;
  }
  #header .header-left {
    position: absolute;
    top: 4px;
    left: 7%;
    width: 137px;
  }
  #header .header-left.page {
    top: 24px;
  }
  #header .header-left.page .sp_only {
    width: 106px;
    display: block !important;
  }
  #header .header-left.page .pc_only {
    display: none !important;
  }
  #header .header-middle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 282px;
  }
  #header .header-middle.page .top_only {
    display: none !important;
  }
  #header .header-middle.top .page_only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  #header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    height: 100px;
    background-color: white;
  }
  #header .header-left {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
    width: 78px;
  }
  #header .header-middle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
  }
}

/*****************/
/*** nav  ***/
/*****************/
@media screen and (min-width: 769px) {
  #nav {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    transform: translateY(-100%);
    transition: all 0.6s ease;
    z-index: 999;
    height: 100vh;
    overflow: hidden;
    background-color: white;
  }
  #nav.active {
    transform: translateY(0);
    overflow-y: scroll;
  }
  #nav .nav-wrapper {
    background-color: white;
    padding-top: 45px;
  }
  #nav .nav-logo {
    width: 250px;
    margin-bottom: 71px;
  }
  #nav .nav-row {
    margin-bottom: 56px;
  }
  #nav .nav-row.row03 {
    margin-bottom: 0;
    min-height: 240px;
  }
  #nav .nav-row {
    display: flex;
    align-items: flex-start;
    gap: 5%;
  }
  #nav .nav-row__item {
    border-left: 3px solid #A2A2A2;
    padding-left: 22px;
    padding-top: 5px;
    padding-bottom: 5px;
    max-width: 356px;
    width: 30%;
  }
  #nav .nav-row__ttl {
    font-size: 20px;
    font-weight: bold;
    color: #15543F;
    padding-right: 24px;
    position: relative;
    display: inline-block;
  }
  #nav .nav-row__button:before {
    content: "";
    position: absolute;
    display: none;
    width: 16px;
    height: 2px;
    background-color: #15543F;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  #nav .nav-row__button:after {
    content: "";
    position: absolute;
    display: block;
    width: 2px;
    height: 16px;
    background-color: #15543F;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
  }
  #nav .nav-row__button.active:after {
    display: none;
  }
  #nav .nav-list {
    margin-top: 10px;
  }
  #nav .nav-list.privacy {
    margin-top: 0;
  }
  #nav .nav-list__item {
    margin-bottom: 10px;
  }
  #nav .nav-list__item:last-child {
    margin-bottom: 0;
  }
  #nav .nav-list__link {
    font-size: 16px;
    color: #4D4D4D;
    font-weight: 500;
    display: flex;
    align-items: center;
    line-height: 1.6;
  }
  #nav .nav-list__link.privacy {
    line-height: 1.2;
  }
  #nav .nav-list__link:after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #4D4D4D;
    border-right: 1px solid #4D4D4D;
    margin-top: 3px;
    margin-left: 10px;
    transform: rotate(45deg);
  }
  #nav .nav-bottom {
    margin-top: 60px;
    display: flex;
  }
  #nav .nav-bottom__item {
    flex: 1;
    padding: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    color: white;
    font-weight: bold;
  }
  #nav .nav-bottom__item img {
    margin-right: 20px;
  }
  #nav .nav-bottom__item.contact {
    background-color: #205368;
  }
  #nav .nav-bottom__item.contact img {
    width: 30px;
  }
  #nav .nav-bottom__item.tel {
    background-color: #15543F;
  }
  #nav .nav-bottom__item.tel img {
    width: 24px;
  }
  #nav .nav-bottom__inner {
    display: flex;
    align-items: center;
  }
  #nav .nav-bottom__number {
    font-size: 24px;
    font-weight: bold;
    color: white;
    padding-right: 10px;
    margin-right: 10px;
    border-right: 1px solid white;
  }
  #nav .nav-bottom__time {
    line-height: 1.2;
    font-size: 14px;
    color: white;
    font-weight: 500;
  }
}
@media screen and (max-width: 768px) {
  #nav {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    transform: translateY(-100%);
    transition: all 0.6s ease;
    z-index: 999;
    height: 100vh;
    overflow: hidden;
    background-color: white;
  }
  #nav.active {
    transform: translateY(0);
    overflow-y: scroll;
  }
  #nav .nav-wrapper {
    background-color: white;
    padding-top: 23px;
  }
  #nav .nav-wrapper .container {
    padding: 0;
  }
  #nav .nav-logo {
    width: 142px;
    margin-bottom: 33px;
    margin-left: 12px;
  }
  #nav .nav-row.row01 {
    border-top: 1px solid #A2A2A2;
  }
  #nav .nav-row__item {
    border-bottom: 1px solid #A2A2A2;
    padding: 20px;
  }
  #nav .nav-row__ttl {
    font-size: 20px;
    font-weight: bold;
    color: #15543F;
    padding-right: 24px;
    position: relative;
    display: inline-block;
  }
  #nav .nav-row__button:before {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    background-color: #15543F;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  #nav .nav-row__button:after {
    content: "";
    position: absolute;
    display: block;
    width: 2px;
    height: 16px;
    background-color: #15543F;
    top: 50%;
    right: 7px;
    transform: translateY(-50%);
  }
  #nav .nav-row__button.active:after {
    display: none;
  }
  #nav .nav-list {
    margin-top: 10px;
  }
  #nav .nav-list.privacy {
    margin-top: 0;
  }
  #nav .nav-list__item {
    margin-bottom: 10px;
  }
  #nav .nav-list__item:last-child {
    margin-bottom: 0;
  }
  #nav .nav-list__link {
    font-size: 16px;
    color: #4D4D4D;
    font-weight: 500;
    display: flex;
    align-items: center;
    line-height: 1.6;
  }
  #nav .nav-list__link:after {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-top: 1px solid #4D4D4D;
    border-right: 1px solid #4D4D4D;
    margin-top: 3px;
    margin-left: 10px;
    transform: rotate(45deg);
  }
  #nav .nav-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
}
@media screen and (max-width: 768px) and (max-width: 500px) {
  #nav .nav-bottom {
    position: relative;
  }
}
@media screen and (max-width: 768px) {
  #nav .nav-bottom__item {
    flex: 1;
    padding: 20px;
    display: flex;
    height: 110px;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: white;
    font-weight: bold;
  }
  #nav .nav-bottom__item img {
    margin-right: 20px;
  }
  #nav .nav-bottom__item.contact {
    background-color: #205368;
  }
  #nav .nav-bottom__item.contact img {
    width: 30px;
  }
  #nav .nav-bottom__item.tel {
    background-color: #15543F;
  }
  #nav .nav-bottom__item.tel img {
    width: 24px;
  }
  #nav .nav-bottom__inner {
    display: flex;
    align-items: center;
  }
  #nav .nav-bottom__number {
    font-size: 24px;
    font-weight: bold;
    color: white;
    padding-right: 10px;
    margin-right: 10px;
    border-right: 1px solid white;
  }
  #nav .nav-bottom__time {
    line-height: 1.2;
    font-size: 14px;
    color: white;
    font-weight: 500;
  }
}
@media screen and (max-width: 768px) and (max-width: 500px) {
  #nav .nav-bottom {
    margin-bottom: 50px;
  }
}

/*****************/
/*** hamburger-menu  ***/
/*****************/
@media screen and (min-width: 769px) {
  #js-hamburger-menu {
    position: fixed;
    top: 24px;
    right: 7%;
    width: 100px;
    height: 100px;
    background-color: #15543F;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: 3px 3px 2px 0 rgba(0, 0, 0, 0.3);
    z-index: 1000;
  }
  #js-hamburger-menu .hamburger-menu {
    width: 44px;
    height: 44px;
    background-image: url(../image/menu.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #js-hamburger-menu .hamburger-text {
    font-size: 14px;
    color: white;
  }
  #js-hamburger-menu.active .hamburger-menu {
    background-image: url(../image/close.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #js-hamburger-menu.active .hamburger-text {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #js-hamburger-menu {
    position: fixed;
    top: 10px;
    right: 15px;
    width: 80px;
    height: 80px;
    background-color: #15543F;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1000;
  }
  #js-hamburger-menu .hamburger-menu {
    width: 44px;
    height: 44px;
    background-image: url(../image/menu.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #js-hamburger-menu .hamburger-text {
    font-size: 14px;
    color: white;
    display: none;
  }
  #js-hamburger-menu.active {
    background-color: white;
  }
  #js-hamburger-menu.active .hamburger-menu {
    width: 46px;
    height: 46px;
    background-image: url(../image/closeSP.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #js-hamburger-menu.active .hamburger-text {
    display: none;
  }
}

/*****************/
/****  footer   *****/
/*****************/
@media screen and (min-width: 769px) {
  #footer .footer-cta {
    display: flex;
  }
  #footer .footer-cta__item {
    flex: 1;
  }
  #footer .footer-cta__item.contact {
    background-color: #205368;
    padding: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: white;
    font-weight: bold;
    line-height: 1.2;
  }
  #footer .footer-cta__item.contact img {
    width: 70px;
    margin-right: 20px;
  }
  #footer .footer-cta__item.tel {
    background-color: #15543F;
    padding: 35px;
  }
  #footer .footer-cta__tel {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 64px;
    font-weight: bold;
  }
  #footer .footer-cta__tel img {
    width: 50px;
  }
  #footer .footer-cta__time {
    margin-top: 10px;
    font-size: 18px;
    color: white;
    text-align: center;
  }
  #footer .footer-main {
    padding: 34px;
    background-color: #FEFFF6;
  }
  #footer .footer-main__logo {
    width: 200px;
    margin: 0 auto;
  }
  #footer .footer-main__logo img {
    width: 100%;
  }
  #footer .footer-main__info {
    margin-top: 30px;
  }
  #footer .footer-main__shop {
    margin: 0 auto;
    width: 100px;
    padding: 3px;
    font-size: 16px;
    border-left: 1px solid black;
    border-right: 1px solid black;
    margin-bottom: 5px;
    text-align: center;
  }
  #footer .footer-main__address {
    font-size: 16px;
    text-align: center;
    margin-bottom: 15px;
  }
  #footer .footer-main__insta {
    margin-top: 10px;
    width: 48px;
  }
  #footer .footer-copy {
    background-color: #15543F;
    padding: 10px;
    color: white;
    font-size: 12px;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  #footer .footer-cta__item {
    padding: 40px;
    height: 138px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #footer .footer-cta__item.contact {
    background-color: #205368;
    font-size: 20px;
    color: white;
    font-weight: bold;
  }
  #footer .footer-cta__item.contact img {
    width: 48px;
    margin-right: 20px;
  }
  #footer .footer-cta__item.tel {
    background-color: #15543F;
  }
  #footer .footer-cta__tel {
    display: flex;
    align-items: center;
  }
  #footer .footer-cta__tel img {
    width: 40px;
    margin-right: 20px;
  }
  #footer .footer-cta__tel p {
    font-size: 32px;
    font-weight: bold;
    color: white;
  }
  #footer .footer-cta__time {
    display: block;
    font-size: 14px;
    color: white;
    text-align: center;
    margin-top: 5px;
  }
  #footer .footer-main {
    padding: 60px 22px 80px;
    background-color: #FEFFF6;
  }
  #footer .footer-main__logo {
    width: 200px;
  }
  #footer .footer-main__logo img {
    width: 100%;
  }
  #footer .footer-main__info {
    margin-top: 40px;
  }
  #footer .footer-main__shop {
    margin: 0 auto;
    padding: 3px 10px;
    font-size: 16px;
    border-left: 1px solid black;
    border-right: 1px solid black;
    margin-bottom: 5px;
    display: inline-block;
  }
  #footer .footer-main__address {
    font-size: 14px;
    margin-bottom: 20px;
  }
  #footer .footer-main__insta {
    margin-top: 10px;
    width: 48px;
  }
  #footer .footer-copy {
    background-color: #15543F;
    padding: 10px;
    color: white;
    font-size: 10px;
    text-align: center;
  }
}

/*****************/
/****  totop   *****/
/*****************/
@media screen and (min-width: 769px) {
  #totop {
    cursor: pointer;
    position: fixed;
    right: 62px;
    bottom: 58px;
    transform: translateY(200px);
  }
  #totop.active {
    transition: all 0.6s ease;
    transform: translateY(0);
  }
  #totop img {
    width: 50px;
  }
  #totop span {
    display: block;
    font-size: 12px;
    color: #15543F;
    margin-top: 7px;
    text-align: center;
  }
}
@media screen and (max-width: 768px) {
  #totop {
    cursor: pointer;
    position: fixed;
    right: 22px;
    bottom: 120px;
    transform: translateY(300px);
  }
  #totop.active {
    transition: all 0.6s ease;
    transform: translateY(0);
  }
  #totop img {
    width: 50px;
  }
  #totop span {
    display: block;
    font-size: 12px;
    color: #15543F;
    margin-top: 7px;
    text-align: center;
  }
}
/*****************/
/**** parts   *****/
/*****************/
@media screen and (min-width: 769px) {
  .section-ttl {
    color: #15543F;
    font-weight: bold;
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .section-ttl {
    color: #15543F;
    font-weight: bold;
    font-size: 32px;
  }
}
#front {
  /*****************/
  /**** animation  *****/
  /*****************/
}
#front .rollRight {
  animation-name: rollRight;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  transform: translateX(-100%) rotate(-180deg);
  animation-delay: 0.3s;
}
@keyframes rollRight {
  from {
    transform: translateX(-100%) rotate(-180deg);
  }
  to {
    transform: translateX(0) rotate(0);
  }
}
#front .rollLeft {
  animation-name: rollLeft;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  transform: translateX(100%) rotate(180deg);
  animation-delay: 0.3s;
}
@keyframes rollLeft {
  from {
    transform: translateX(100%) rotate(180deg);
  }
  to {
    transform: translateX(0) rotate(0);
  }
}
#front .voiceLeft {
  animation-name: voiceLeft;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  transform: translate(100%, -50%) rotate(180deg);
  animation-delay: 0.3s;
}
@keyframes voiceLeft {
  from {
    transform: translate(100%, -50%) rotate(180deg);
  }
  to {
    transform: translate(0, -50%) rotate(0);
  }
}
#front {
  /*****************/
  /****  hero   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #hero {
    height: 1002px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  #front #hero .hero-slider {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
  }
  #front #hero .hero-slider__item {
    height: 1002px;
  }
  #front #hero .hero-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #front #hero .hero-main {
    width: 100%;
    position: relative;
  }
  #front #hero .hero-main__catch {
    font-size: 40px;
    font-weight: bold;
    color: white;
    text-align: center;
    text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
  }
  #front #hero .hero-main__list {
    margin-top: 25px;
    display: flex;
    justify-content: center;
    gap: 13px;
  }
  #front #hero .hero-main__item {
    padding: 6px 17px;
    font-size: 24px;
    font-weight: bold;
    color: #15543F;
    text-align: center;
    border: 2px solid #15543F;
    border-radius: 5px;
    background-color: white;
  }
  #front #hero .hero-cta {
    background-color: #15543F;
    width: 407px;
    height: 52px;
    border-radius: 100px;
    padding: 15px;
    font-size: 18px;
    font-weight: bold;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
  }
  #front #hero .hero-cta img {
    width: 20px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px) {
  #front #hero {
    height: 600px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  }
  #front #hero .hero-slider {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
  }
  #front #hero .hero-slider__item {
    height: 600px;
  }
  #front #hero .hero-slider__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #front #hero .hero-main {
    width: 100%;
    position: relative;
  }
  #front #hero .hero-main__catch {
    font-size: 36px;
    line-height: 1.6;
    font-weight: bold;
    color: white;
    text-align: center;
    text-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
  }
  #front #hero .hero-main__list {
    margin-top: 25px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    padding-left: 20px;
    padding-right: 20px;
  }
  #front #hero .hero-main__item {
    flex-shrink: 0;
    width: 116px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    color: #15543F;
    text-align: center;
    border: 2px solid #15543F;
    border-radius: 5px;
    background-color: white;
  }
  #front #hero .hero-main__item:first-child {
    width: 136px;
  }
  #front #hero .hero-cta {
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #15543F;
    width: 367px;
    height: 70px;
    border-radius: 40px;
    font-size: 20px;
    font-weight: bold;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 900;
  }
  #front #hero .hero-cta img {
    width: 32px;
    margin-right: 10px;
  }
}
#front {
  /*****************/
  /****  about   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #about {
    background-color: #FEFFF6;
    padding-top: 133px;
  }
  #front #about .about-ttl {
    text-align: center;
  }
  #front #about .about-logo {
    margin: 20px auto 0;
    width: 220px;
  }
  #front #about .about-lead {
    margin-top: 20px;
    text-align: center;
    font-size: 32px;
    font-weight: bold;
  }
  #front #about .about-slider {
    margin-top: 30px;
    width: 100%;
  }
  #front #about .about-slider__item {
    display: inline-block;
    padding-left: 23px;
    padding-right: 23px;
  }
  #front #about .about-slider__item img {
    width: 350px;
    border-radius: 20px;
  }
  #front #about .about-desc {
    margin-top: 30px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
  }
  #front #about .about-link {
    margin: 30px auto 0;
    width: 270px;
  }
}
@media screen and (max-width: 768px) {
  #front #about {
    background-color: #FEFFF6;
    padding-top: 60px;
  }
  #front #about .about-ttl {
    text-align: center;
  }
  #front #about .about-logo {
    margin: 40px auto 0;
    width: 220px;
  }
  #front #about .about-lead {
    margin-top: 20px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
  }
  #front #about .about-slider {
    margin-top: 40px;
    width: 100%;
  }
  #front #about .about-slider__item {
    display: inline-block;
    padding-left: 10px;
    padding-right: 10px;
  }
  #front #about .about-slider__item img {
    width: 290px;
    border-radius: 20px;
  }
  #front #about .about-desc {
    margin-top: 40px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
  }
  #front #about .about-link {
    margin: 40px auto 0;
    width: 270px;
  }
}
#front {
  /*****************/
  /****  staff   *****/
  /*****************/
}
#front #staff {
  overflow: hidden;
  background-color: #FEFFF6;
}
@media screen and (min-width: 769px) {
  #front #staff {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  #front #staff .staff-row {
    display: flex;
    align-items: center;
    margin-right: -20px;
    justify-content: flex-end;
  }
  #front #staff .staff-row__img {
    flex-shrink: 0;
    width: 525px;
    border-radius: 50%;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  #front #staff .staff-row__img {
    width: 400px;
  }
}
@media screen and (min-width: 769px) {
  #front #staff .staff-row__main {
    margin-right: 50px;
    margin-left: 120px;
    width: 100%;
  }
  #front #staff .staff-row__desc {
    margin-top: 15px;
    font-size: 32px;
    line-height: 1.4;
    color: #15543F;
  }
  #front #staff .staff-row__link {
    width: 270px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  #front #staff {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  #front #staff .staff-row {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 40px;
  }
  #front #staff .staff-row__img {
    width: 106%;
    border-radius: 50%;
    margin-left: 13%;
  }
  #front #staff .staff-row__main {
    padding-left: 22px;
    padding-right: 22px;
  }
  #front #staff .staff-row__desc {
    margin-top: 20px;
    font-size: 20px;
    color: #15543F;
    line-height: 24px;
  }
  #front #staff .staff-row__link {
    width: 270px;
    margin-top: 20px;
  }
}
#front {
  /*****************/
  /****  work   *****/
  /*****************/
}
#front #work {
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  #front #work {
    padding-top: 114px;
  }
  #front #work .work-ttl {
    text-align: center;
  }
  #front #work .work-row {
    display: flex;
    align-items: center;
  }
  #front #work .work-row.row01 {
    margin-left: -20px;
  }
  #front #work .work-row.row02 {
    margin-top: -90px;
    margin-right: -20px;
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  #front #work .work-row.row02 {
    margin-top: 0;
  }
}
@media screen and (min-width: 769px) {
  #front #work .work-row__img {
    flex-shrink: 0;
    width: 525px;
    border-radius: 50%;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  #front #work .work-row__img {
    width: 400px;
  }
}
@media screen and (min-width: 769px) {
  #front #work .work-row__main.row01 {
    margin-left: 50px;
    margin-right: 120px;
  }
  #front #work .work-row__main.row02 {
    margin-right: 50px;
    margin-left: 120px;
  }
  #front #work .work-row__ttl {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
  }
  #front #work .work-row__ttl img {
    width: 30px;
    margin-right: 10px;
  }
  #front #work .work-row__desc {
    margin-top: 20px;
    font-size: 16px;
    line-height: 24px;
  }
  #front #work .work-row__link {
    width: 270px;
    margin-top: 20px;
  }
  #front #work .work-lead {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #front #work .work-lead__img {
    width: 21px;
  }
  #front #work .work-lead p {
    font-size: 18px;
    font-weight: bold;
    color: #15543F;
    margin-left: 10px;
    margin-right: 10px;
  }
  #front #work .work-list {
    margin-top: 25px;
    display: flex;
    flex-wrap: wrap;
  }
  #front #work .work-list__item {
    flex-shrink: 0;
    width: 300px;
    padding-left: 25px;
    padding-right: 25px;
  }
  #front #work .work-list__item p {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-top: 15px;
  }
  #front #work .work-cta {
    margin: 70px auto 0;
    width: 270px;
  }
}
@media screen and (max-width: 768px) {
  #front #work {
    padding-top: 60px;
  }
  #front #work .work-ttl {
    text-align: center;
    line-height: 1.2;
  }
  #front #work .work-row {
    margin-top: 40px;
  }
  #front #work .work-row__img {
    width: 106%;
    border-radius: 50%;
  }
  #front #work .work-row__img.row01 {
    margin-left: -13%;
  }
  #front #work .work-row__img.row02 {
    margin-left: 13%;
  }
  #front #work .work-row__main {
    padding-left: 22px;
    padding-right: 22px;
  }
  #front #work .work-row__ttl {
    margin-top: 20px;
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: bold;
  }
  #front #work .work-row__ttl img {
    width: 30px;
    margin-right: 10px;
  }
  #front #work .work-row__desc {
    margin-top: 20px;
    font-size: 16px;
    line-height: 24px;
  }
  #front #work .work-row__link {
    width: 270px;
    margin-top: 20px;
  }
  #front #work .work-lead {
    margin-top: 40px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }
  #front #work .work-lead__img {
    width: 21px;
  }
  #front #work .work-lead p {
    font-size: 22px;
    font-weight: bold;
    color: #15543F;
    margin-left: 5px;
    margin-right: 5px;
    line-height: 1.6;
    text-align: center;
  }
  #front #work .work-list {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #front #work .work-list__item {
    width: 47%;
    margin-bottom: 20px;
  }
  #front #work .work-list__item p {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
  }
  #front #work .work-cta {
    margin: 40px auto 0;
    width: 270px;
  }
}
#front {
  /*****************/
  /****  archive   *****/
  /*****************/
}
#front #archive {
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  #front #archive {
    padding-top: 100px;
    padding-bottom: 158px;
    background-color: #FEFFF6;
  }
  #front #archive .archive-ttl {
    text-align: center;
  }
  #front #archive .archive-scroll {
    margin-top: 68px;
    display: flex;
    align-items: center;
  }
  #front #archive .archive-scroll p {
    color: #15543F;
    font-size: 20px;
    margin-right: 12px;
  }
  #front #archive .archive-scroll img {
    width: 286px;
    margin-bottom: 8px;
  }
  #front #archive .archive-wrapper {
    margin-top: 21px;
    position: relative;
    height: 500px;
  }
  #front #archive .archive-slider {
    width: 2000px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -35px;
  }
  #front #archive .archive-slider__item {
    padding-left: 15px;
    padding-right: 15px;
  }
  #front #archive .archive-slider__link {
    width: 599px !important;
    height: 475px !important;
    position: relative;
    padding-top: 25px;
  }
  #front #archive .archive-thumb {
    width: 580px;
    height: 428px;
    position: absolute;
    right: 0;
    top: 0;
  }
  #front #archive .archive-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
  }
  #front #archive .archive-main {
    position: absolute;
    width: 389px;
    left: 0;
    bottom: 25px;
    background-color: white;
    padding: 37px 34px;
    border-radius: 20px;
    box-shadow: 7px 7px 15px 0 rgba(0, 0, 0, 0.1);
  }
  #front #archive .archive-main__shop {
    font-size: 18px;
    color: black;
  }
  #front #archive .archive-main__ttl {
    margin-top: 8px;
    font-size: 24px;
    line-height: 1.6;
    color: black;
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #front #archive .archive-link {
    margin: 25px auto 0;
    width: 270px;
  }
}
@media screen and (max-width: 768px) {
  #front #archive {
    padding-top: 60px;
    padding-bottom: 80px;
    background-color: #FEFFF6;
  }
  #front #archive .archive-ttl {
    text-align: center;
  }
  #front #archive .archive-scroll {
    margin-left: 18px;
    margin-top: 20px;
    display: flex;
    align-items: center;
  }
  #front #archive .archive-scroll p {
    color: #15543F;
    font-size: 20px;
    margin-right: 12px;
  }
  #front #archive .archive-scroll img {
    width: 224px;
    margin-bottom: 8px;
  }
  #front #archive .archive-wrapper {
    margin-top: 40px;
    position: relative;
    height: 260px;
  }
  #front #archive .archive-slider {
    width: 1000px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -7px;
  }
  #front #archive .archive-slider__link {
    width: 315px !important;
    height: 260px !important;
    position: relative;
    padding-bottom: 20px;
  }
  #front #archive .archive-thumb {
    width: 290px;
    height: 214px;
    position: absolute;
    right: 0;
    top: 0;
  }
  #front #archive .archive-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
  }
  #front #archive .archive-main {
    position: absolute;
    width: 248px;
    left: 0;
    bottom: 20px;
    background-color: white;
    padding: 16px 24px;
    border-radius: 10px;
    box-shadow: 7px 7px 15px 0 rgba(0, 0, 0, 0.1);
  }
  #front #archive .archive-main__shop {
    font-size: 16px;
    color: black;
  }
  #front #archive .archive-main__ttl {
    margin-top: 8px;
    font-size: 20px;
    line-height: 1.6;
    color: black;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #front #archive .archive-link {
    margin: 65px auto 0;
    width: 270px;
  }
}
#front {
  /*****************/
  /****  voice   *****/
  /*****************/
}
#front #voice {
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  #front #voice {
    background-color: #FEFFF6;
    padding-top: 91px;
    padding-bottom: 91px;
  }
  #front #voice .voice-row {
    background-color: #ECF2E4;
    padding: 102px 120px;
    position: relative;
  }
  #front #voice .voice-row__desc {
    margin-top: 20px;
    font-size: 18px;
    max-width: 598px;
    width: 40%;
  }
  #front #voice .voice-row__link {
    margin-top: 20px;
    width: 270px;
  }
  #front #voice .voice-row__img {
    width: 525px;
    position: absolute;
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  #front #voice .voice-row__img {
    width: 400px;
  }
}
@media screen and (max-width: 768px) {
  #front #voice {
    overflow: hidden;
    background-color: #ECF2E4;
    padding-bottom: 50px;
  }
  #front #voice .voice-row {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 40px;
  }
  #front #voice .voice-row__img {
    width: 106%;
    border-radius: 50%;
    margin-left: -13%;
  }
  #front #voice .voice-row__main {
    position: relative;
    padding-left: 22px;
    padding-right: 22px;
    z-index: 1;
  }
  #front #voice .voice-row__ttl {
    margin-top: -10%;
    text-shadow: 2px 2px 0 #FEFFF6, -2px 2px 0 #FEFFF6, 2px -2px 0 #FEFFF6, -2px -2px 0 #FEFFF6;
  }
  #front #voice .voice-row__desc {
    margin-top: 20px;
    font-size: 14px;
    line-height: 24px;
  }
  #front #voice .voice-row__link {
    width: 270px;
    margin-top: 20px;
  }
}
#front {
  /*****************/
  /**** news  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front .news-container {
    max-width: none;
    padding: 0;
    display: flex;
    align-items: center;
  }
  #front .news-container.info {
    margin-left: -20px;
  }
  #front .news-container.blog {
    flex-direction: row-reverse;
    margin-right: -20px;
  }
  #front .news-img {
    flex-shrink: 0;
    width: 525px;
    border-radius: 50%;
  }
}
@media screen and (min-width: 769px) and (max-width: 900px) {
  #front .news-img {
    width: 400px;
  }
}
@media screen and (min-width: 769px) {
  #front .news-img.info {
    margin-right: 50px;
  }
  #front .news-img.blog {
    margin-left: 50px;
  }
  #front .news-main {
    width: 100%;
  }
  #front .news-ttl.blog {
    margin-left: 163px;
  }
  #front .news-list {
    margin-top: 37px;
  }
  #front .news-list.info {
    margin-right: 120px;
    padding-right: 23px;
    border-right: 2px solid black;
  }
  #front .news-list.blog {
    margin-left: 120px;
    padding-left: 50px;
    border-left: 2px solid black;
  }
  #front .news-list__item {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px dashed black;
  }
  #front .news-list__info {
    display: flex;
    align-items: center;
  }
  #front .news-list__cat {
    background-color: #15543F;
    padding: 5px;
    color: white;
    font-size: 16px;
    margin-right: 10px;
  }
  #front .news-list__time {
    font-size: 16px;
    color: #15543F;
  }
  #front .news-list__ttl {
    margin-top: 11px;
    line-height: 1.6;
    font-size: 18px;
    color: black;
    font-weight: 500;
  }
  #front .news-link {
    margin-top: 38px;
    width: 212px;
  }
  #front .news-link.blog {
    margin-left: 163px;
  }
}
@media screen and (max-width: 768px) {
  #front .news-img {
    width: calc(100% + 44px);
    border-radius: 50%;
    max-width: none;
  }
  #front .news-img.info {
    margin-left: 13%;
  }
  #front .news-img.blog {
    margin-left: -26%;
  }
  #front .news-ttl {
    position: relative;
    z-index: 5;
    margin-top: -13%;
    text-shadow: 2px 2px 0 #FEFFF6, -2px 2px 0 #FEFFF6, 2px -2px 0 #FEFFF6, -2px -2px 0 #FEFFF6;
  }
  #front .news-ttl.blog {
    margin-top: -10%;
  }
  #front .news-list {
    margin-top: 20px;
  }
  #front .news-list__item {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px dashed black;
  }
  #front .news-list__info {
    display: flex;
    align-items: center;
  }
  #front .news-list__cat {
    background-color: #15543F;
    padding: 5px;
    color: white;
    font-size: 16px;
    margin-right: 10px;
  }
  #front .news-list__time {
    font-size: 16px;
    color: #15543F;
  }
  #front .news-list__ttl {
    margin-top: 11px;
    line-height: 1.6;
    font-size: 18px;
    color: black;
    font-weight: 500;
  }
  #front .news-link {
    width: 270px;
  }
}
#front {
  /*****************/
  /****  info   *****/
  /*****************/
}
#front #info {
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  #front #info {
    background-color: #FEFFF6;
    padding-top: 106px;
    padding-bottom: 121px;
  }
}
@media screen and (max-width: 768px) {
  #front #info {
    background-color: #FEFFF6;
    padding-top: 17px;
    padding-bottom: 40px;
  }
}
#front {
  /*****************/
  /****  blog   *****/
  /*****************/
}
#front #blog {
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  #front #blog {
    background-color: #ECF2E4;
    padding-top: 47px;
    padding-bottom: 46px;
  }
}
@media screen and (max-width: 768px) {
  #front #blog {
    background-color: #ECF2E4;
    padding-top: 17px;
    padding-bottom: 40px;
  }
}
#front {
  /*****************/
  /****  faq   *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #front #faq {
    padding-top: 100px;
    padding-bottom: 100px;
  }
  #front #faq .faq-ttl {
    text-align: center;
  }
  #front #faq .faq-list {
    margin-top: 50px;
  }
  #front #faq .faq-list__item {
    margin-bottom: 33px;
  }
  #front #faq .faq-list__item:last-child {
    margin-bottom: 0;
  }
  #front #faq .faq-list__question {
    border: 5px solid #15543F;
    border-radius: 50px;
    padding: 15px 23px;
    display: flex;
    align-items: center;
    position: relative;
    color: #15543F;
    font-size: 24px;
    font-weight: bold;
    background-color: #ECF2E4;
    cursor: pointer;
  }
  #front #faq .faq-list__question span {
    font-size: 40px;
    display: block;
    margin-right: 20px;
  }
  #front #faq .faq-list__question:before {
    content: "";
    display: block;
    width: 30px;
    height: 3px;
    background-color: #15543F;
    position: absolute;
    top: 50%;
    right: 22px;
    transform: translateY(-50%);
  }
  #front #faq .faq-list__question:after {
    content: "";
    display: block;
    width: 3px;
    height: 30px;
    background-color: #15543F;
    position: absolute;
    top: 50%;
    right: 35px;
    transform: translateY(-50%);
  }
  #front #faq .faq-list__question.active:after {
    display: none;
  }
  #front #faq .faq-list__answer {
    margin-top: 30px;
    background-color: white;
    padding: 30px 58px;
    font-size: 16px;
    border: 5px solid #15543F;
    font-weight: bold;
    display: flex;
    border-radius: 20px;
  }
  #front #faq .faq-list__answer span {
    font-size: 40px;
    display: block;
    margin-right: 20px;
    color: #15543F;
    line-height: 1;
  }
  #front #faq .faq-link {
    margin: 33px auto 0;
    width: 270px;
  }
}
@media screen and (max-width: 768px) {
  #front #faq {
    padding-top: 75px;
    padding-bottom: 60px;
  }
  #front #faq .faq-ttl {
    text-align: center;
  }
  #front #faq .faq-list {
    margin-top: 40px;
  }
  #front #faq .faq-list__item {
    margin-bottom: 20px;
  }
  #front #faq .faq-list__item:last-child {
    margin-bottom: 0;
  }
  #front #faq .faq-list__question {
    border: 5px solid #15543F;
    border-radius: 50px;
    padding: 15px;
    padding-right: 35px;
    display: flex;
    align-items: center;
    position: relative;
    color: #15543F;
    font-size: 20px;
    font-weight: bold;
    background-color: #ECF2E4;
    cursor: pointer;
    line-height: 1.3;
  }
  #front #faq .faq-list__question span {
    font-size: 24px;
    display: block;
    margin-right: 10px;
  }
  #front #faq .faq-list__question:before {
    content: "";
    display: block;
    width: 20px;
    height: 2px;
    background-color: #15543F;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
  }
  #front #faq .faq-list__question:after {
    content: "";
    display: block;
    width: 2px;
    height: 20px;
    background-color: #15543F;
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
  }
  #front #faq .faq-list__question.active:after {
    display: none;
  }
  #front #faq .faq-list__answer {
    margin-top: 15px;
    background-color: white;
    padding: 20px;
    font-size: 16px;
    border: 5px solid #15543F;
    font-weight: bold;
    display: flex;
    border-radius: 20px;
  }
  #front #faq .faq-list__answer span {
    font-size: 24px;
    display: block;
    margin-right: 10px;
    color: #15543F;
    line-height: 1;
  }
  #front #faq .faq-link {
    margin: 33px auto 0;
    width: 270px;
  }
}

#page-company {
  /*****************/
  /****  breadcrumb  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-company .company-breadcrumb {
    margin-top: 100px;
  }
}
@media screen and (max-width: 768px) {
  #page-company .company-breadcrumb {
    margin-top: 20px;
  }
}
#page-company {
  /*****************/
  /****  overview  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-company #overview .overview-list {
    margin-top: 15px;
  }
  #page-company #overview .overview-list__item {
    display: flex;
    align-items: stretch;
  }
  #page-company #overview .overview-list__item dt {
    padding: 21px 18px;
    flex-shrink: 0;
    width: 132px;
    position: relative;
    font-size: 18px;
    font-weight: bold;
    color: #15543F;
    border-bottom: 1px solid #A2A2A2;
    line-height: normal;
  }
  #page-company #overview .overview-list__item dt:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 6px;
    background-color: #15543F;
    left: 0;
    bottom: 0;
    transform: translateY(50%);
  }
  #page-company #overview .overview-list__item dd {
    width: 100%;
    padding: 21px 58px;
    font-size: 18px;
    color: black;
    border-bottom: 1px solid #A2A2A2;
  }
}
@media screen and (max-width: 768px) {
  #page-company #overview .overview-list {
    margin-top: 20px;
  }
  #page-company #overview .overview-list__item dt {
    padding-bottom: 10px;
    flex-shrink: 0;
    position: relative;
    font-size: 16px;
    font-weight: bold;
    color: #15543F;
    border-bottom: 1px solid #A2A2A2;
    line-height: normal;
  }
  #page-company #overview .overview-list__item dt:after {
    content: "";
    position: absolute;
    width: 80px;
    height: 2px;
    background-color: #15543F;
    left: 0;
    bottom: 0;
    transform: translateY(50%);
  }
  #page-company #overview .overview-list__item dd {
    width: 100%;
    padding: 10px 0 20px;
    font-size: 16px;
    color: black;
  }
}
#page-company {
  /*****************/
  /****  access  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-company #access {
    margin-top: 97px;
    padding-bottom: 130px;
  }
  #page-company #access .access-ttl {
    font-size: 40px;
    font-weight: bold;
    color: #15543F;
    padding-bottom: 25px;
    border-bottom: 1px solid #A2A2A2;
    position: relative;
  }
  #page-company #access .access-ttl:after {
    content: "";
    position: absolute;
    width: 190px;
    height: 6px;
    background-color: #15543F;
    left: 0;
    bottom: 0;
    transform: translateY(50%);
  }
  #page-company #access .access-list__item {
    padding: 21px 0;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #A2A2A2;
  }
  #page-company #access .access-list__left {
    width: 50%;
    max-width: 500px;
  }
  #page-company #access .access-list__ttl {
    font-size: 18px;
    font-weight: bold;
  }
  #page-company #access .access-list__content {
    margin-top: 10px;
    font-size: 18px;
  }
  #page-company #access .access-list__content .station {
    display: flex;
    align-items: center;
    margin-top: 10px;
  }
  #page-company #access .access-list__content .station img {
    width: 24px;
    margin-right: 10px;
  }
  #page-company #access .access-list__right {
    width: 49%;
    margin-left: 1%;
    height: 235px;
    border-radius: 20px;
    overflow: hidden;
  }
  #page-company #access .access-list__right iframe {
    width: 100%;
    height: 100%;
  }
}
@media screen and (max-width: 768px) {
  #page-company #access {
    margin-top: 60px;
    padding-bottom: 60px;
  }
  #page-company #access .access-ttl {
    font-size: 32px;
    font-weight: bold;
    color: #15543F;
    padding-bottom: 10px;
    border-bottom: 1px solid #A2A2A2;
    position: relative;
  }
  #page-company #access .access-ttl:after {
    content: "";
    position: absolute;
    width: 127px;
    height: 4px;
    background-color: #15543F;
    left: 0;
    bottom: 0;
    transform: translateY(50%);
  }
  #page-company #access .access-list__item {
    margin-top: 40px;
    display: flex;
    flex-direction: column-reverse;
  }
  #page-company #access .access-list__left {
    margin-top: 20px;
  }
  #page-company #access .access-list__ttl {
    font-size: 18px;
    font-weight: bold;
  }
  #page-company #access .access-list__content {
    margin-top: 10px;
    font-size: 18px;
  }
  #page-company #access .access-list__content .station {
    display: flex;
    align-items: center;
    margin-top: 10px;
  }
  #page-company #access .access-list__content .station img {
    width: 24px;
    margin-right: 10px;
  }
  #page-company #access .access-list__right {
    border-radius: 20px;
    overflow: hidden;
    height: 211px;
  }
  #page-company #access .access-list__right iframe {
    width: 100%;
    height: 100%;
  }
}

#page-flow {
  /*****************/
  /****  breadcrumb  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-flow .flow-breadcrumb {
    margin-top: 100px;
  }
}
@media screen and (max-width: 768px) {
  #page-flow .flow-breadcrumb {
    margin-top: 20px;
  }
}
#page-flow {
  /*****************/
  /**** flow  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-flow #flow {
    padding-bottom: 111px;
  }
  #page-flow #flow .flow-list {
    margin-top: 18px;
  }
  #page-flow #flow .flow-list__item {
    margin-bottom: 64px;
    border: 5px solid #15543F;
    border-radius: 10px;
    background-color: #ECF2E4;
    padding: 26px 34px;
    min-height: 200px;
    display: flex;
    align-items: center;
    position: relative;
  }
  #page-flow #flow .flow-list__item:last-child {
    margin-bottom: 0;
  }
  #page-flow #flow .flow-list__left {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #15543F;
    font-weight: bold;
    padding-right: 35px;
    padding-top: 5px;
    border-right: 1px solid #15543F;
  }
  #page-flow #flow .flow-list__left span {
    display: block;
    font-size: 48px;
  }
  #page-flow #flow .flow-list__right {
    display: flex;
    align-items: center;
  }
  #page-flow #flow .flow-list__img {
    flex-shrink: 0;
    width: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #page-flow #flow .flow-list__img.img01 img {
    width: 70px;
  }
  #page-flow #flow .flow-list__img.img02 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__img.img03 img {
    width: 90px;
  }
  #page-flow #flow .flow-list__img.img04 img {
    width: 90px;
  }
  #page-flow #flow .flow-list__img.img05 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__img.img06 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__img.img07 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__main {
    width: 100%;
    max-width: 537px;
  }
  #page-flow #flow .flow-list__ttl {
    color: #15543F;
    font-weight: bold;
    font-size: 24px;
  }
  #page-flow #flow .flow-list__desc {
    font-size: 18px;
    margin-top: 5px;
    font-weight: 500;
  }
  #page-flow #flow .flow-list__arrow {
    width: 96px;
    position: absolute;
    left: 50%;
    bottom: -20px;
    transform: translate(-50%, 100%);
  }
}
@media screen and (max-width: 768px) {
  #page-flow #flow {
    padding-bottom: 60px;
  }
  #page-flow #flow .flow-list {
    margin-top: 40px;
  }
  #page-flow #flow .flow-list__item {
    margin-bottom: 84px;
    border: 4px solid #15543F;
    border-radius: 10px;
    background-color: #ECF2E4;
    padding: 25px 16px 20px;
    position: relative;
  }
  #page-flow #flow .flow-list__item:last-child {
    margin-bottom: 0;
  }
  #page-flow #flow .flow-list__left {
    margin: 0 auto;
    width: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #15543F;
    font-weight: bold;
    padding-bottom: 20px;
    border-bottom: 1px solid #15543F;
  }
  #page-flow #flow .flow-list__left span {
    display: block;
    font-size: 50px;
  }
  #page-flow #flow .flow-list__right {
    margin-top: 20px;
  }
  #page-flow #flow .flow-list__img img {
    margin: 0 auto;
  }
  #page-flow #flow .flow-list__img.img01 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__img.img02 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__img.img03 img {
    width: 90px;
  }
  #page-flow #flow .flow-list__img.img04 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__img.img05 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__img.img06 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__img.img07 img {
    width: 100px;
  }
  #page-flow #flow .flow-list__main {
    margin-top: 20px;
  }
  #page-flow #flow .flow-list__ttl {
    color: #15543F;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
  }
  #page-flow #flow .flow-list__desc {
    font-size: 16px;
    margin-top: 10px;
    font-weight: 500;
  }
  #page-flow #flow .flow-list__arrow {
    width: 96px;
    position: absolute;
    left: 50%;
    bottom: -40px;
    transform: translate(-50%, 100%);
  }
}

#page-contact {
  /*****************/
  /**** parts  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-contact .submit-button {
    background-color: #15543F;
    border-radius: 100px;
    width: 270px;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    color: white;
    border: none;
    cursor: pointer;
  }
  #page-contact .submit-button:hover {
    transition: all 0.6s ease;
    color: #15543F;
    background-color: white;
    border: 1px solid #15543F;
    opacity: 1;
  }
  #page-contact .submit-button:hover::after {
    background-image: url(../image/arrow-green.svg);
  }
  #page-contact .submit-button:hover input {
    color: #15543F !important;
  }
  #page-contact .submit-button:after {
    content: "";
    flex-shrink: 0;
    width: 28px;
    height: 8px;
    background-image: url(../image/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #page-contact .submit-button.thanks {
    margin: 0 auto;
  }
  #page-contact .submit-button.thanks:after {
    margin-left: 20px;
  }
  #page-contact .contact-confirm__label,
  #page-contact .contact-form__label {
    flex-shrink: 0;
    width: 280px;
    font-size: 18px;
    font-weight: 500;
  }
  #page-contact .contact-confirm__label span,
  #page-contact .contact-form__label span {
    font-size: 14px;
    color: #E20000;
    display: inline-block;
    margin-left: 5px;
  }
  #page-contact .contact-confirm__label br,
  #page-contact .contact-form__label br {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #page-contact .submit-button {
    background-color: #15543F;
    border-radius: 100px;
    width: 270px;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    font-weight: bold;
    color: white;
    border: none;
    cursor: pointer;
  }
  #page-contact .submit-button:hover {
    transition: all 0.6s ease;
    color: #15543F;
    background-color: white;
    border: 1px solid #15543F;
    opacity: 1;
  }
  #page-contact .submit-button:hover::after {
    background-image: url(../image/arrow-green.svg);
  }
  #page-contact .submit-button:hover input {
    color: #15543F !important;
  }
  #page-contact .submit-button:after {
    content: "";
    flex-shrink: 0;
    width: 28px;
    height: 8px;
    background-image: url(../image/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
  #page-contact .submit-button.thanks {
    margin: 0 auto;
  }
  #page-contact .submit-button.thanks:after {
    margin-left: 20px;
  }
  #page-contact .contact-confirm__label,
  #page-contact .contact-form__label {
    font-size: 16px;
    font-weight: 500;
  }
  #page-contact .contact-confirm__label span,
  #page-contact .contact-form__label span {
    font-size: 14px;
    color: #E20000;
    display: inline-block;
    margin-left: 5px;
  }
  #page-contact .contact-confirm__label br,
  #page-contact .contact-form__label br {
    display: none;
  }
}
#page-contact {
  /*****************/
  /**** contact  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-contact #contact {
    padding-bottom: 162px;
  }
  #page-contact #contact .contact-form {
    margin-top: 50px;
  }
  #page-contact #contact .contact-form.thanks {
    margin-top: 80px;
    padding-bottom: 26px;
  }
  #page-contact #contact .contact-form__desc {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 50px;
  }
  #page-contact #contact .contact-form__desc.thanks {
    text-align: center;
  }
  #page-contact #contact .contact-form__row {
    margin-bottom: 40px;
  }
  #page-contact #contact .contact-form__row:last-child {
    margin-bottom: 50px;
  }
  #page-contact #contact .contact-form__row > p {
    display: flex;
  }
  #page-contact #contact .contact-form__row > p > span {
    width: 100%;
  }
  #page-contact #contact .contact-form__row input,
  #page-contact #contact .contact-form__row textarea {
    width: 100%;
    border: 1px solid #A2A2A2;
    border-radius: 10px;
    background-color: white;
    padding: 20px;
    font-size: 18px;
    line-height: 1.6;
  }
  #page-contact #contact .contact-form__row input::placeholder,
  #page-contact #contact .contact-form__row textarea::placeholder {
    color: #A2A2A2;
  }
  #page-contact #contact .contact-form__confirm p {
    display: flex;
    justify-content: center;
  }
  #page-contact #contact .contact-form__confirm p button:after {
    margin-left: 20px;
  }
  #page-contact #contact .contact-confirm__desc {
    margin-top: 50px;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 30px;
  }
  #page-contact #contact .contact-confirm__row {
    padding: 30px 0;
    display: flex;
    border-bottom: 1px solid #A2A2A2;
  }
  #page-contact #contact .contact-confirm__row.row01 {
    border-top: 1px solid #A2A2A2;
  }
  #page-contact #contact .contact-confirm__value {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
  }
  #page-contact #contact .contact-confirm__value.zip::before {
    content: "〒";
  }
  #page-contact #contact .contact-confirm__confirm {
    margin-top: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
  #page-contact #contact .contact-confirm__confirm .js-back {
    flex-direction: row-reverse;
  }
  #page-contact #contact .contact-confirm__confirm .js-back:after {
    margin-right: 20px;
    transform: rotate(180deg);
  }
  #page-contact #contact .contact-confirm__confirm .submit {
    position: relative;
    justify-content: flex-start;
    padding-left: 65px;
  }
  #page-contact #contact .contact-confirm__confirm .submit input {
    width: 100%;
    background-color: transparent;
    border: none;
    color: white;
  }
  #page-contact #contact .contact-confirm__confirm .submit:after {
    position: absolute;
    top: 50%;
    right: 65px;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 768px) {
  #page-contact #contact {
    padding-bottom: 60px;
  }
  #page-contact #contact .contact-form {
    margin-top: 60px;
  }
  #page-contact #contact .contact-form.thanks {
    margin-top: 60px;
    padding-bottom: 26px;
  }
  #page-contact #contact .contact-form__desc {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 40px;
  }
  #page-contact #contact .contact-form__desc.thanks {
    text-align: center;
  }
  #page-contact #contact .contact-form__row {
    margin-bottom: 20px;
  }
  #page-contact #contact .contact-form__row br {
    display: none;
  }
  #page-contact #contact .contact-form__row:last-child {
    margin-bottom: 40px;
  }
  #page-contact #contact .contact-form__row > p > span {
    width: 100%;
  }
  #page-contact #contact .contact-form__row input,
  #page-contact #contact .contact-form__row textarea {
    width: 100%;
    border: 1px solid #A2A2A2;
    border-radius: 10px;
    background-color: white;
    padding: 7px 10px;
    font-size: 16px;
    line-height: 1.6;
  }
  #page-contact #contact .contact-form__row input::placeholder,
  #page-contact #contact .contact-form__row textarea::placeholder {
    color: #A2A2A2;
  }
  #page-contact #contact .contact-form__label {
    display: block;
    margin-bottom: 10px;
  }
  #page-contact #contact .contact-form__confirm p {
    display: flex;
    justify-content: center;
  }
  #page-contact #contact .contact-form__confirm p button:after {
    margin-left: 20px;
  }
  #page-contact #contact .contact-confirm__desc {
    margin-top: 60px;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 40px;
  }
  #page-contact #contact .contact-confirm__row {
    margin-bottom: 20px;
  }
  #page-contact #contact .contact-confirm__label {
    padding-bottom: 6px;
    border-bottom: 1px solid #A2A2A2;
    margin-bottom: 6px;
  }
  #page-contact #contact .contact-confirm__value {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
  }
  #page-contact #contact .contact-confirm__value.zip::before {
    content: "〒";
  }
  #page-contact #contact .contact-confirm__confirm {
    margin-top: 40px;
    display: flex;
    align-items: center;
    flex-direction: column;
  }
  #page-contact #contact .contact-confirm__confirm .js-back {
    flex-direction: row-reverse;
    margin-bottom: 20px;
  }
  #page-contact #contact .contact-confirm__confirm .js-back:after {
    margin-right: 20px;
    transform: rotate(180deg);
  }
  #page-contact #contact .contact-confirm__confirm .submit {
    position: relative;
    justify-content: flex-start;
    padding-left: 65px;
  }
  #page-contact #contact .contact-confirm__confirm .submit input {
    width: 100%;
    background-color: transparent;
    border: none;
    color: white;
  }
  #page-contact #contact .contact-confirm__confirm .submit:after {
    position: absolute;
    top: 50%;
    right: 65px;
    transform: translateY(-50%);
  }
}

#archive-staff {
  /*****************/
  /****  breadcrumb  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #archive-staff .company-breadcrumb {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  #archive-staff .company-breadcrumb {
    margin-top: 20px;
  }
}
#archive-staff {
  /*****************/
  /****  archive *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #archive-staff #archive {
    margin-top: 18px;
    padding-bottom: 100px;
  }
  #archive-staff #archive .archive-list {
    margin-left: -20px;
    margin-right: -20px;
    display: flex;
    flex-wrap: wrap;
  }
  #archive-staff #archive .archive-list__item {
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 45px;
    flex-shrink: 0;
    width: 480px;
  }
  #archive-staff #archive .archive-list__link {
    min-height: 573px;
  }
  #archive-staff #archive .archive-list__link * {
    color: black;
  }
  #archive-staff #archive .archive-list__thumb {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 479/378;
  }
  #archive-staff #archive .archive-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #archive-staff #archive .archive-list__role {
    padding: 12px;
    background-color: #15543F;
    font-size: 18px;
    color: white;
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    line-height: 1.6;
  }
  #archive-staff #archive .archive-list__name {
    margin-top: 17px;
    display: flex;
    align-items: flex-end;
    font-size: 30px;
  }
  #archive-staff #archive .archive-list__name span {
    font-size: 12px;
    color: #15543F;
    margin-left: 10px;
  }
  #archive-staff #archive .archive-list__field {
    margin-top: 10px;
  }
  #archive-staff #archive .archive-list__ttl {
    padding: 5px 10px;
    border-radius: 50px;
    font-size: 12px;
    color: white;
    background-color: #15543F;
    display: inline-block;
  }
  #archive-staff #archive .archive-list__content {
    font-size: 16px;
  }
  #archive-staff #archive .wp-pagenavi {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  #archive-staff #archive {
    margin-top: 44px;
    padding-bottom: 50px;
  }
  #archive-staff #archive .archive-list__item {
    margin: 0 auto 40px;
    max-width: 480px;
  }
  #archive-staff #archive .archive-list__item:last-child {
    margin-bottom: 0;
  }
  #archive-staff #archive .archive-list__link * {
    color: black;
  }
  #archive-staff #archive .archive-list__thumb {
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 329/300;
  }
  #archive-staff #archive .archive-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #archive-staff #archive .archive-list__role {
    padding: 6px;
    background-color: #15543F;
    font-size: 18px;
    color: white;
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    line-height: 1.6;
  }
  #archive-staff #archive .archive-list__name {
    margin-top: 20px;
    display: flex;
    align-items: flex-end;
    font-size: 30px;
  }
  #archive-staff #archive .archive-list__name span {
    font-size: 12px;
    color: #15543F;
    margin-left: 10px;
  }
  #archive-staff #archive .archive-list__field {
    margin-top: 20px;
  }
  #archive-staff #archive .archive-list__ttl {
    padding: 5px 10px;
    border-radius: 50px;
    font-size: 14px;
    color: white;
    background-color: #15543F;
    display: inline-flex;
    align-items: center;
  }
  #archive-staff #archive .archive-list__content {
    font-size: 16px;
  }
  #archive-staff #archive .wp-pagenavi {
    margin-top: 70px;
  }
}

#page-portfolio {
  /*****************/
  /****  breadcrumb  *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-portfolio .portfolio-breadcrumb {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  #page-portfolio .portfolio-breadcrumb {
    margin-top: 20px;
  }
}
#page-portfolio {
  /*****************/
  /****  portfolio *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #page-portfolio #portfolio {
    margin-top: 28px;
    padding-bottom: 435px;
  }
  #page-portfolio #portfolio .portfolio-list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 38px;
  }
  #page-portfolio #portfolio .portfolio-list__item {
    flex-shrink: 0;
    width: 480px;
  }
  #page-portfolio #portfolio .portfolio-list__link {
    min-height: 430px;
    border-radius: 20px;
    border: 3px solid #15543F;
    overflow: hidden;
  }
  #page-portfolio #portfolio .portfolio-list__link:hover {
    opacity: 1;
  }
  #page-portfolio #portfolio .portfolio-list__thumb {
    aspect-ratio: 480/234;
  }
  #page-portfolio #portfolio .portfolio-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-portfolio #portfolio .portfolio-list__main {
    padding: 15px 23px;
    background-color: white;
  }
  #page-portfolio #portfolio .portfolio-list__ttl {
    text-align: center;
    font-size: 24px;
    color: #15543F;
  }
  #page-portfolio #portfolio .portfolio-list__desc {
    color: black;
    margin-top: 16px;
    font-size: 18px;
  }
  #page-portfolio #portfolio .portfolio-list__button {
    margin-top: 8px;
    margin-left: auto;
    margin-right: 0;
    width: 255px;
  }
}
@media screen and (max-width: 768px) {
  #page-portfolio #portfolio {
    margin-top: 40px;
    padding-bottom: 60px;
  }
  #page-portfolio #portfolio .portfolio-list__item {
    margin: 0 auto 40px;
    max-width: 480px;
  }
  #page-portfolio #portfolio .portfolio-list__link {
    border-radius: 20px;
    border: 3px solid #15543F;
    overflow: hidden;
  }
  #page-portfolio #portfolio .portfolio-list__link:hover {
    opacity: 1;
  }
  #page-portfolio #portfolio .portfolio-list__thumb {
    aspect-ratio: 330/234;
  }
  #page-portfolio #portfolio .portfolio-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #page-portfolio #portfolio .portfolio-list__main {
    padding: 20px 15px;
    background-color: white;
  }
  #page-portfolio #portfolio .portfolio-list__ttl {
    text-align: center;
    font-size: 24px;
    color: #15543F;
  }
  #page-portfolio #portfolio .portfolio-list__desc {
    color: black;
    margin-top: 11px;
    font-size: 18px;
  }
  #page-portfolio #portfolio .portfolio-list__button {
    margin: 28px auto 0;
    width: 228px;
  }
}

#archive-type {
  /*****************/
  /****  portfolio *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #archive-type #portfolio {
    padding-bottom: 77px;
  }
  #archive-type #portfolio .portfolio-type {
    margin-top: 18px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
  }
  #archive-type #portfolio .portfolio-type__link {
    padding: 8px 18px;
    background-color: white;
    border-radius: 5px;
    border: 1px solid #15543F;
    font-size: 16px;
    color: #15543F;
  }
  #archive-type #portfolio .portfolio-type__link:hover, #archive-type #portfolio .portfolio-type__link.is-active {
    opacity: 1;
    color: white;
    background-color: #15543F;
  }
  #archive-type #portfolio .portfolio-list {
    margin-top: 50px;
    margin-left: -15px;
    margin-right: -15px;
    display: flex;
    flex-wrap: wrap;
  }
  #archive-type #portfolio .portfolio-list__item {
    flex-shrink: 0;
    width: 484px;
    margin-bottom: 30px;
    margin-left: 15px;
    margin-right: 15px;
  }
  #archive-type #portfolio .portfolio-list__link {
    height: 338px;
    position: relative;
  }
  #archive-type #portfolio .portfolio-list__thumb {
    width: 95%;
    aspect-ratio: 462/296;
    border-radius: 20px;
    overflow: hidden;
    margin-left: auto;
    margin-right: 0;
  }
  #archive-type #portfolio .portfolio-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #archive-type #portfolio .portfolio-list__main {
    background-color: white;
    box-shadow: 7px 7px 15px 1px rgba(0, 0, 0, 0.1);
    padding: 10px 20px;
    border-radius: 20px;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 340px;
  }
  #archive-type #portfolio .portfolio-list__shop {
    font-size: 18px;
    font-weight: 500;
    color: black;
  }
  #archive-type #portfolio .portfolio-list__ttl {
    margin-top: 5px;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.6;
    color: black;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  #archive-type #portfolio .portfolio-list__cats {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }
  #archive-type #portfolio .portfolio-list__cat {
    padding: 5px 12px;
    min-width: 85px;
    background-color: #15543F;
    color: white;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    border-radius: 16px;
  }
  #archive-type #portfolio .wp-pagenavi {
    margin-top: 80px;
  }
}
@media screen and (max-width: 768px) {
  #archive-type #portfolio {
    padding-bottom: 60px;
  }
  #archive-type #portfolio .portfolio-type {
    margin-top: 42px;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
  }
  #archive-type #portfolio .portfolio-type__link {
    padding: 4px 10px;
    background-color: white;
    border-radius: 5px;
    border: 1px solid #15543F;
    font-size: 14px;
    color: #15543F;
  }
  #archive-type #portfolio .portfolio-type__link:hover, #archive-type #portfolio .portfolio-type__link.is-active {
    opacity: 1;
    color: white;
    background-color: #15543F;
  }
  #archive-type #portfolio .portfolio-list {
    margin-top: 40px;
  }
  #archive-type #portfolio .portfolio-list__item {
    margin: 0 auto 40px;
    max-width: 484px;
  }
  #archive-type #portfolio .portfolio-list__item:last-child {
    margin-bottom: 0;
  }
  #archive-type #portfolio .portfolio-list__link {
    height: 274px;
    position: relative;
  }
  #archive-type #portfolio .portfolio-list__thumb {
    height: 250px;
    border-radius: 16px;
    overflow: hidden;
    margin-left: auto;
    margin-right: 0;
  }
  #archive-type #portfolio .portfolio-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #archive-type #portfolio .portfolio-list__main {
    background-color: white;
    box-shadow: 7px 7px 15px 1px rgba(0, 0, 0, 0.1);
    padding: 16px 24px;
    border-radius: 10px;
    position: absolute;
    left: -11px;
    bottom: 0;
    width: 248px;
  }
  #archive-type #portfolio .portfolio-list__shop {
    font-size: 14px;
    font-weight: 500;
    color: black;
  }
  #archive-type #portfolio .portfolio-list__ttl {
    margin-top: 5px;
    font-size: 20px;
    font-weight: bold;
    line-height: 1.6;
    color: black;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  #archive-type #portfolio .portfolio-list__cats {
    margin-top: 5px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
  }
  #archive-type #portfolio .portfolio-list__cat {
    padding: 5px 16px;
    min-width: 85px;
    background-color: #15543F;
    color: white;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    border-radius: 16px;
  }
  #archive-type #portfolio .wp-pagenavi {
    margin-top: 40px;
  }
}

#archive-voice {
  /*****************/
  /****  archive *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #archive-voice #archive {
    padding-bottom: 77px;
  }
  #archive-voice #archive .archive-list {
    margin-top: 31px;
    margin-left: -20px;
    margin-right: -20px;
    display: flex;
    flex-wrap: wrap;
  }
  #archive-voice #archive .archive-list__item {
    flex-shrink: 0;
    width: 480px;
    margin-bottom: 40px;
    margin-left: 20px;
    margin-right: 20px;
  }
  #archive-voice #archive .archive-list__link {
    height: 457px;
    background-color: white;
    border: 3px solid #15543F;
    border-radius: 20px;
    padding: 30px 50px;
    opacity: 1;
  }
  #archive-voice #archive .archive-list__name {
    font-size: 24px;
    color: black;
  }
  #archive-voice #archive .archive-list__thumb {
    margin-top: 10px;
    height: 213px;
  }
  #archive-voice #archive .archive-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #archive-voice #archive .archive-list__excerpt {
    margin-top: 15px;
    line-height: 1.6;
    color: black;
    font-size: 24px;
  }
  #archive-voice #archive .archive-list__button {
    margin: 15px auto 0;
    width: 270px;
  }
  #archive-voice #archive .wp-pagenavi {
    margin-top: 70px;
  }
}
@media screen and (max-width: 768px) {
  #archive-voice #archive {
    padding-bottom: 47px;
  }
  #archive-voice #archive .archive-list {
    margin-top: 42px;
  }
  #archive-voice #archive .archive-list__item {
    margin: 0 auto 40px;
    max-width: 480px;
  }
  #archive-voice #archive .archive-list__item:last-child {
    margin-bottom: 0;
  }
  #archive-voice #archive .archive-list__link {
    background-color: white;
    border: 3px solid #15543F;
    border-radius: 20px;
    padding: 20px 16px;
    opacity: 1;
  }
  #archive-voice #archive .archive-list__name {
    font-size: 24px;
    color: black;
    font-weight: bold;
  }
  #archive-voice #archive .archive-list__thumb {
    margin-top: 10px;
    height: 213px;
  }
  #archive-voice #archive .archive-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #archive-voice #archive .archive-list__excerpt {
    margin-top: 15px;
    line-height: 1.6;
    color: black;
    font-size: 16px;
  }
  #archive-voice #archive .archive-list__button {
    margin: 15px auto 0;
    width: 270px;
  }
  #archive-voice #archive .wp-pagenavi {
    margin-top: 40px;
  }
}

#archive-news {
  /*****************/
  /****  archive *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #archive-news #archive {
    padding-bottom: 109px;
  }
  #archive-news #archive .archive-list__item {
    border-bottom: 1px solid black;
  }
  #archive-news #archive .archive-list__link {
    padding: 30px 0;
    display: flex;
  }
  #archive-news #archive .archive-list__time {
    font-size: 16px;
    flex-shrink: 0;
    width: 145px;
    color: black;
  }
  #archive-news #archive .archive-list__ttl {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.6;
    width: 100%;
    color: black;
  }
  #archive-news #archive .wp-pagenavi {
    margin-top: 56px;
  }
}
@media screen and (max-width: 768px) {
  #archive-news #archive {
    padding-bottom: 60px;
  }
  #archive-news #archive .archive-list {
    margin-top: 40px;
  }
  #archive-news #archive .archive-list__item {
    border-bottom: 1px solid black;
  }
  #archive-news #archive .archive-list__link {
    padding: 10px 0;
    display: flex;
  }
  #archive-news #archive .archive-list__time {
    font-size: 14px;
    flex-shrink: 0;
    width: 95px;
    color: black;
  }
  #archive-news #archive .archive-list__ttl {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.6;
    width: 100%;
    color: black;
  }
  #archive-news #archive .wp-pagenavi {
    margin-top: 40px;
  }
}

#archive-blog {
  /*****************/
  /****  archive *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #archive-blog #archive {
    padding-bottom: 132px;
  }
  #archive-blog #archive .archive-list {
    margin: 15px -15px 0;
    display: flex;
    flex-wrap: wrap;
  }
  #archive-blog #archive .archive-list__item {
    flex-shrink: 0;
    width: 423px;
    margin-left: 15px;
    margin-right: 15px;
    margin-bottom: 30px;
  }
  #archive-blog #archive .archive-list__link {
    height: 196px;
    border-radius: 20px;
    border: 3px solid #15543F;
    background-color: white;
    overflow: hidden;
    position: relative;
    padding: 30px 10px;
    opacity: 1;
  }
  #archive-blog #archive .archive-list__inner {
    display: flex;
    align-items: center;
  }
  #archive-blog #archive .archive-list__thumb {
    flex-shrink: 0;
    width: 136px;
    height: 119px;
  }
  #archive-blog #archive .archive-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #archive-blog #archive .archive-list__main {
    margin-left: 10px;
  }
  #archive-blog #archive .archive-list__time {
    font-size: 16px;
    font-weight: 500;
    color: black;
  }
  #archive-blog #archive .archive-list__ttl {
    margin-top: 6px;
    line-height: 1.2;
    font-size: 18px;
    font-weight: bold;
    color: black;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  #archive-blog #archive .archive-list__excerpt {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.2;
    color: black;
  }
  #archive-blog #archive .archive-list__button {
    border: 1px solid #15543F;
    background-color: #15543F;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 175px;
    height: 37px;
  }
  #archive-blog #archive .archive-list__button::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid white;
    border-right: 2px solid white;
    transform: rotate(45deg);
    margin-left: 10px;
    margin-top: 3px;
  }
  #archive-blog #archive .archive-list__button:hover {
    transition: all 0.6s ease;
    color: #15543F;
    background-color: white;
  }
  #archive-blog #archive .archive-list__button:hover::after {
    border-color: #15543F;
  }
  #archive-blog #archive .wp-pagenavi {
    margin-top: 20px;
  }
}
@media screen and (max-width: 768px) {
  #archive-blog #archive {
    padding-bottom: 60px;
  }
  #archive-blog #archive .archive-list {
    margin-top: 40px;
  }
  #archive-blog #archive .archive-list__item {
    margin: 0 auto 20px;
    max-width: 423px;
  }
  #archive-blog #archive .archive-list__item:last-child {
    margin-bottom: 0;
  }
  #archive-blog #archive .archive-list__link {
    height: 173px;
    border-radius: 20px;
    border: 3px solid #15543F;
    background-color: white;
    overflow: hidden;
    position: relative;
    padding: 20px 16px;
    opacity: 1;
  }
  #archive-blog #archive .archive-list__inner {
    display: flex;
    align-items: center;
  }
  #archive-blog #archive .archive-list__thumb {
    flex-shrink: 0;
    width: 122px;
    height: 106px;
  }
  #archive-blog #archive .archive-list__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #archive-blog #archive .archive-list__main {
    margin-left: 10px;
    overflow: hidden;
  }
  #archive-blog #archive .archive-list__time {
    font-size: 14px;
    font-weight: 500;
    color: black;
  }
  #archive-blog #archive .archive-list__ttl {
    margin-top: 6px;
    line-height: 1.2;
    font-size: 20px;
    font-weight: bold;
    color: black;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #archive-blog #archive .archive-list__excerpt {
    margin-top: 10px;
    font-size: 16px;
    line-height: 1.2;
    color: black;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  #archive-blog #archive .archive-list__button {
    border: 1px solid #15543F;
    background-color: #15543F;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: bold;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 175px;
    height: 37px;
  }
  #archive-blog #archive .archive-list__button::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: 2px solid white;
    border-right: 2px solid white;
    transform: rotate(45deg);
    margin-left: 10px;
    margin-top: 3px;
  }
  #archive-blog #archive .archive-list__button:hover {
    transition: all 0.6s ease;
    color: #15543F;
    background-color: white;
  }
  #archive-blog #archive .archive-list__button:hover::after {
    border-color: #15543F;
  }
  #archive-blog #archive .wp-pagenavi {
    margin-top: 40px;
  }
}

#single {
  /*****************/
  /****  archive *****/
  /*****************/
}
@media screen and (min-width: 769px) {
  #single #archive {
    padding-bottom: 217px;
  }
  #single #archive .archive-ttl {
    border-radius: 100px;
    margin-top: 12px;
    background-color: #15543F;
    padding: 12px 30px;
    line-height: 1.2;
    color: white;
    font-size: 32px;
    font-weight: bold;
  }
  #single #archive .archive-content {
    margin: 37px auto 0;
    max-width: 786px;
  }
  #single #archive .archive-content__thumb {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 30px;
    aspect-ratio: 786/443;
  }
  #single #archive .archive-content__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #single #archive .archive-content figure {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 30px;
  }
  #single #archive .archive-content figure img {
    width: 100%;
  }
  #single #archive .archive-content p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
  }
  #single #archive .archive-content h2 {
    font-size: 21px;
    color: #15543F;
    padding-bottom: 10px;
    border-bottom: 1px solid black;
    margin-bottom: 10px;
    line-height: 1.6;
  }
  #single #archive .archive-content__navi {
    margin-top: 50px;
    display: flex;
    justify-content: space-between;
  }
  #single #archive .archive-content__arrow {
    flex-shrink: 0;
    width: 270px;
  }
  #single #archive .archive-content__arrow a {
    height: 52px;
    background-color: #15543F;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
    font-weight: bold;
    border: 2px solid #15543F;
  }
  #single #archive .archive-content__arrow a:hover {
    opacity: 1;
    background-color: white;
    color: #15543F;
    transition: all 0.6s ease;
  }
  #single #archive .archive-content__arrow.prev a::before {
    content: "";
    display: block;
    width: 28px;
    height: 8px;
    background-image: url(../image/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 20px;
    transform: rotate(180deg);
  }
  #single #archive .archive-content__arrow.prev a:hover:before {
    background-image: url(../image/arrow-green.svg);
  }
  #single #archive .archive-content__arrow.next a::after {
    content: "";
    display: block;
    width: 28px;
    height: 8px;
    background-image: url(../image/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 20px;
  }
  #single #archive .archive-content__arrow.next a:hover:after {
    background-image: url(../image/arrow-green.svg);
  }
}
@media screen and (max-width: 768px) {
  #single #archive {
    padding-bottom: 60px;
  }
  #single #archive .archive-ttl {
    border-radius: 100px;
    margin-top: 40px;
    background-color: #15543F;
    padding: 10px 38px;
    line-height: 1.2;
    color: white;
    font-size: 24px;
    font-weight: bold;
  }
  #single #archive .archive-content {
    margin: 40px auto 0;
    max-width: 786px;
  }
  #single #archive .archive-content__thumb {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 20px;
    aspect-ratio: 330/230;
  }
  #single #archive .archive-content__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #single #archive .archive-content figure {
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 20px;
  }
  #single #archive .archive-content figure img {
    width: 100%;
  }
  #single #archive .archive-content p {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  #single #archive .archive-content h2 {
    font-size: 21px;
    color: #15543F;
    padding-bottom: 10px;
    border-bottom: 1px solid black;
    margin-bottom: 10px;
    line-height: 1.6;
  }
  #single #archive .archive-content .wp-block-columns {
    gap: 20px;
  }
  #single #archive .archive-content__navi {
    margin-top: 40px;
  }
  #single #archive .archive-content__arrow {
    margin: 0 auto 20px;
    flex-shrink: 0;
    width: 270px;
  }
  #single #archive .archive-content__arrow a {
    height: 52px;
    background-color: #15543F;
    border-radius: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 18px;
    font-weight: bold;
    border: 2px solid #15543F;
  }
  #single #archive .archive-content__arrow a:hover {
    opacity: 1;
    background-color: white;
    color: #15543F;
    transition: all 0.6s ease;
  }
  #single #archive .archive-content__arrow.prev a::before {
    content: "";
    display: block;
    width: 28px;
    height: 8px;
    background-image: url(../image/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 20px;
    transform: rotate(180deg);
  }
  #single #archive .archive-content__arrow.prev a:hover:before {
    background-image: url(../image/arrow-green.svg);
  }
  #single #archive .archive-content__arrow.next {
    margin-bottom: 0;
  }
  #single #archive .archive-content__arrow.next a::after {
    content: "";
    display: block;
    width: 28px;
    height: 8px;
    background-image: url(../image/arrow.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 20px;
  }
  #single #archive .archive-content__arrow.next a:hover:after {
    background-image: url(../image/arrow-green.svg);
  }
}

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