@charset "UTF-8";
/*
  Theme Name: 31-interior
  Description: Theme of 31-interior.
  Version: 1.0 */
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@100..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&family=Zen+Old+Mincho:wght@400;700&display=swap");
/* ----------------
 * base
 * ---------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  font: inherit;
  padding: 0;
  margin: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}

article, aside, details, figcaption, figure,
footer, header, main, hgroup, menu, nav, section {
  display: block;
}

html {
  font-size: 62.5%;
}

@media screen and (min-width: 768px) {
  html {
    overflow-y: scroll;
  }
}

body {
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  color: #101411;
  line-height: 1;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
  padding: 0;
  box-sizing: border-box;
  border-radius: 0;
  border: none;
  outline: none;
  background: transparent;
}

button, input[type="submit"], input[type="button"] {
  -webkit-appearance: button;
     -moz-appearance: button;
          appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  outline: none;
  background: transparent;
}

button::-webkit-search-decoration, input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration {
  display: none;
}

button::focus, input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
}

li {
  list-style: none;
}

hr {
  border: none;
  margin: 0;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

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

img {
  vertical-align: bottom;
  width: 100%;
  height: auto;
}

a, a:visited, button, input[type="submit"] {
  color: #101411;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: .1s linear;
}

a:active {
  opacity: .6;
}

@media screen and (min-width: 768px) {
  a:hover, input[type=button]:hover, input[type=submit]:hover {
    opacity: .6;
  }
}

a.text-link:active {
  text-decoration: underline;
}

:focus {
  color: #101411;
  outline: none;
}

@media screen and (min-width: 768px) {
  [href^="tel:"], [href^="mailto:"] {
    pointer-events: none;
  }
}

/* ----------------
 * media query
 * ---------------- */
@media screen and (max-width: 767px) {
  .tablet, .tablet-pc, .tp, .pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .pc, .sp {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .sp, .tablet, .tablet-sp, .ts {
    display: none !important;
  }
}

html {
  width: 100%;
}

@media screen and (max-width: 767px) {
  html.menu-back {
    width: 100%;
    height: 100%;
  }
  html.menu-back body > .wrapper {
    position: fixed;
  }
}

body {
  width: 100%;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
  min-width: 37.5rem;
}

@media screen and (min-width: 768px) {
  body {
    min-width: 136.6rem;
  }
}

body > .wrapper {
  width: 100%;
  overflow: hidden;
}

main.l-main {
  width: 100%;
  padding-top: 6rem;
}

@media screen and (min-width: 768px) {
  main.l-main {
    padding-top: 8rem;
  }
}

/* ----------------
 * component
 * ---------------- */
.c-contact-button {
  display: block;
  position: fixed;
  width: 100%;
  height: 4rem;
  bottom: 0;
  right: 0;
  background-color: #577C50;
  z-index: 4000;
}

@media screen and (min-width: 768px) {
  .c-contact-button {
    width: auto;
    height: 14.8rem;
    top: 50%;
    bottom: auto;
    transform: translate(0, -50%);
  }
}

.c-contact-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  border: 1px solid #FFFFFF;
  transition: .3s linear;
}

@media screen and (min-width: 768px) {
  .c-contact-button a {
    width: 4.2rem;
  }
  .c-contact-button a:hover {
    opacity: 1;
    width: 5.2rem;
  }
}

.c-contact-button a span {
  color: #FFFFFF;
  letter-spacing: .05em;
  font-size: 1.6rem;
  font-weight: 500;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .c-contact-button a span {
    font-size: 1.4rem;
    letter-spacing: .15em;
    writing-mode: vertical-rl;
  }
  .c-contact-button a span span {
    font-size: 2rem;
  }
}

.c-headline1.white .sub {
  color: #FFFFFF;
}

.c-headline1.white .subject {
  color: #FFFFFF;
}

.c-headline1 .sub {
  font-family: "Jost", sans-serif;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 300;
  color: #577C50;
}

.c-headline1 .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: 1rem;
  font-size: 2.6rem;
  line-height: 3.6rem;
  letter-spacing: .03em;
}

@media screen and (min-width: 768px) {
  .c-headline1 .subject {
    font-size: 3.2rem;
    line-height: 4.8rem;
    letter-spacing: .1em;
  }
}

.c-headline2 .sub {
  font-family: "Jost", sans-serif;
  font-size: 3.2rem;
  line-height: 4rem;
  font-weight: 300;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .c-headline2 .sub {
    font-size: 4.8rem;
    line-height: 4.8rem;
  }
}

.c-headline2 .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: 1.5rem;
  font-size: 1.8rem;
  line-height: 2.8rem;
  letter-spacing: .05em;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .c-headline2 .subject {
    margin-top: 2rem;
    font-size: 2.2rem;
    line-height: 3.2rem;
    letter-spacing: .05em;
    font-weight: 400;
  }
}

.c-button1 {
  display: flex;
  border: 1px solid #577C50;
  padding: 0 1rem;
  align-items: center;
  background-image: url(./img/arrow_right_green.svg);
  background-size: 1rem auto;
  background-position: right 1rem center;
  background-repeat: no-repeat;
  width: 12.6rem;
  height: 3.2rem;
}

@media screen and (min-width: 768px) {
  .c-button1 {
    padding: 0 1.5rem;
    background-position: right 1.5rem center;
    width: 21.4rem;
    height: 3.8rem;
    transition: .15s linear;
  }
  .c-button1:hover {
    opacity: 1;
    background-image: url(./img/arrow_right_white.svg);
    background-position: right .75rem center;
    background-color: #577C50;
  }
  .c-button1:hover span {
    color: #FFFFFF;
  }
}

.c-button1.noborder {
  border: 0;
  padding: 0;
  background-position: right 1rem center;
  width: 10.5rem;
}

@media screen and (min-width: 768px) {
  .c-button1.noborder:hover {
    opacity: 1;
    background-image: url(./img/arrow_right_green.svg);
    background-position: right .5rem center;
    background-color: #FFFFFF;
  }
  .c-button1.noborder:hover span {
    color: #577C50;
  }
}

.c-button1.external {
  background-image: url(./img/arrow_external_green.svg);
}

@media screen and (min-width: 768px) {
  .c-button1.external:hover {
    background-image: url(./img/arrow_external_white.svg);
    background-position: right 1.5rem center;
  }
}

.c-button1.white {
  border-color: #FFFFFF;
  background-image: url(./img/arrow_right_white.svg);
}

@media screen and (min-width: 768px) {
  .c-button1.white:hover {
    border-color: #577C50;
  }
}

.c-button1.white span {
  color: #FFFFFF;
}

.c-button1 span {
  font-size: 1.4rem;
  line-height: 1.8rem;
  letter-spacing: .05em;
  color: #577C50;
}

.c-mainvisual {
  position: relative;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}

.c-mainvisual:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 151.2%;
}

@media screen and (min-width: 768px) {
  .c-mainvisual:before {
    padding-top: 50.36603%;
  }
}

.c-mainvisual .wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-mainvisual .wrapper .headline {
  text-align: center;
  color: #FFFFFF;
}

.c-mainvisual .wrapper .headline .sub {
  font-family: "Jost", sans-serif;
  color: #FFFFFF;
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .c-mainvisual .wrapper .headline .sub {
    font-size: 1.6rem;
    line-height: 1.6rem;
  }
}

.c-mainvisual .wrapper .headline .subject {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.6rem;
  line-height: 3.7rem;
}

@media screen and (min-width: 768px) {
  .c-mainvisual .wrapper .headline .subject {
    font-size: 3.6rem;
    line-height: 5.2rem;
  }
}

@media screen and (max-width: 767px) {
  .c-breadcrumbs {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .c-breadcrumbs {
    width: 100%;
  }
}

.c-breadcrumbs .inner {
  padding-top: 1.2rem;
  padding-bottom: 1.2rem;
}

@media screen and (max-width: 767px) {
  .c-breadcrumbs .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .c-breadcrumbs .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.c-breadcrumbs .inner ul {
  display: flex;
}

.c-breadcrumbs .inner ul li {
  font-family: "Jost", sans-serif;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6rem;
  color: #577C50;
  font-weight: 300;
}

.c-breadcrumbs .inner ul li + li {
  margin-left: 1.2rem;
  padding-left: 2rem;
}

.c-breadcrumbs .inner ul li + li:before {
  content: '>';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
}

.c-breadcrumbs .inner ul li span, .c-breadcrumbs .inner ul li a {
  color: #577C50;
}

/* ----------------
 * Header
 * ---------------- */
.l-header {
  height: 6rem;
  z-index: 5000;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  background-color: #FFFFFF;
}

@media screen and (min-width: 768px) {
  .l-header {
    height: 8rem;
    min-width: 136.6rem;
  }
}

.l-header.fixed {
  height: 6rem;
}

@media screen and (min-width: 768px) {
  .l-header.fixed {
    height: 8rem;
  }
}

.l-header.scrolled {
  box-shadow: 0 0 1rem 1rem rgba(0, 0, 0, 0.1);
  transition: .7s;
}

.l-header[data-opened=true] .title-header > .inner .menus .spmenu a.open {
  display: none;
}

.l-header[data-opened=true] .title-header > .inner .menus .spmenu a.close {
  display: block;
}

.l-header .title-header {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .l-header .title-header {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-header .title-header {
    width: 100%;
  }
}

.l-header .title-header > .inner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-header .title-header > .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-header .title-header > .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-header .title-header > .inner {
    align-items: center;
  }
}

.l-header .title-header > .inner .logo {
  width: 19.6rem;
  height: 1.5rem;
}

@media screen and (min-width: 768px) {
  .l-header .title-header > .inner .logo {
    width: 26.8rem;
    height: 2.1rem;
  }
}

.l-header .title-header > .inner .logo a {
  white-space: nowrap;
  text-indent: 200%;
  overflow: hidden;
  display: block;
  height: 100%;
  background-image: url(./img/logo_title.svg);
  background-size: 100% 100%;
}

.l-header .title-header > .inner .logo a:hover, .l-header .title-header > .inner .logo a:active {
  opacity: 1;
}

.l-header .title-header > .inner .menus {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.l-header .title-header > .inner .menus .spmenu {
  width: 2.4rem;
  height: 1.2rem;
}

.l-header .title-header > .inner .menus .spmenu a {
  white-space: nowrap;
  text-indent: 200%;
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  background-size: 2.4rem auto;
  background-position: center center;
  background-repeat: no-repeat;
}

.l-header .title-header > .inner .menus .spmenu a.open {
  background-image: url(./img/menu_sp.svg);
}

.l-header .title-header > .inner .menus .spmenu a.close {
  background-image: url(./img/menu_close_sp.svg);
  display: none;
}

@media screen and (max-width: 767px) {
  .l-header .title-header > .inner .nav {
    display: none;
    position: fixed;
    width: 100%;
    height: calc(100% - 6rem);
    color: #101411;
    top: 6rem;
    right: 0;
    background-color: #FFFFFF;
  }
  .l-header .title-header > .inner .nav .wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    flex: 1;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content ul.menu.main > li {
    display: block;
    height: 4rem;
    padding: 0 4rem;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content ul.menu.main > li a {
    line-height: 4.4rem;
    position: relative;
    font-size: 1.6rem;
    font-weight: 500;
    color: #577C50;
    letter-spacing: .05em;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content {
    padding: 3rem 4rem;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .contacts {
    color: #577C50;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .contacts ul {
    display: flex;
    flex-wrap: wrap;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .contacts ul li {
    display: flex;
    align-items: center;
    width: 50%;
    font-size: 1.4rem;
    line-height: 2rem;
    font-weight: 700;
    letter-spacing: .05em;
  }
}

@media screen and (max-width: 767px) and (min-width: 768px) {
  .l-header .title-header > .inner .nav .wrapper .option-content .contacts ul li {
    width: auto;
    white-space: nowrap;
    margin-top: 1rem;
    margin-right: 3.3rem;
  }
}

@media screen and (max-width: 767px) {
  .l-header .title-header > .inner .nav .wrapper .option-content .contacts ul li.tel {
    padding-left: 2.5rem;
    background-image: url(./img/icon_tel_green.svg);
    background-size: 1.7rem auto;
    background-position: left center;
    background-repeat: no-repeat;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .contacts ul li.tel a {
    color: #577C50;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .contacts ul li.fax .title {
    font-size: 1.5rem;
    letter-spacing: 0;
    width: 3.7rem;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sns {
    margin-top: 1rem;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sns ul {
    display: flex;
    margin-left: -1rem;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sns ul li {
    padding-top: 1rem;
    padding-left: 1rem;
    width: 50%;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sns ul li.instagram a:before {
    background-image: url(./img/icon_instagram_green.svg);
    background-size: auto 2rem;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sns ul li.line a:before {
    background-image: url(./img/icon_line_green.svg);
    background-size: auto 2rem;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sns ul li a {
    display: block;
    border: 1px solid #577C50;
    height: 4rem;
    padding-left: 4rem;
    position: relative;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sns ul li a:before {
    content: '';
    display: block;
    border-right: 1px solid #577C50;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 0;
    left: 0;
    background-position: center center;
    background-repeat: no-repeat;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sns ul li a span {
    font-family: "Jost", sans-serif;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 1rem;
    background-image: url(./img/arrow_right_green.svg);
    background-size: 1rem auto;
    background-position: right 1rem center;
    background-repeat: no-repeat;
    font-size: 1.4rem;
    font-weight: 500;
    color: #577C50;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sanai-tsushin {
    margin-top: 1rem;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sanai-tsushin a {
    display: flex;
    align-items: center;
    padding-left: 1rem;
    border: 1px solid #577C50;
    height: 4rem;
    background-image: url(./img/arrow_right_green.svg);
    background-size: 1rem auto;
    background-position: right 1rem center;
    background-repeat: no-repeat;
  }
  .l-header .title-header > .inner .nav .wrapper .option-content .sanai-tsushin a span {
    white-space: nowrap;
    text-indent: 200%;
    overflow: hidden;
    display: block;
    overflow: hidden;
    width: 12.9rem;
    height: 1.6rem;
    background-image: url(./img/logo_sanai_tsushin_green.svg);
    background-size: contain;
    background-position: left center;
    background-repeat: no-repeat;
  }
}

@media screen and (min-width: 768px) {
  .l-header .title-header > .inner .nav {
    height: 100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .l-header .title-header > .inner .nav .wrapper {
    height: 100%;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content {
    height: 100%;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content {
    height: 100%;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content ul.menu.main {
    bottom: 0rem;
    right: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content ul.menu.main > li {
    position: relative;
    height: 100%;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content ul.menu.main > li > a {
    display: flex;
    align-items: center;
    padding: 0 1rem;
    height: 100%;
    color: #101411;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .05em;
    color: #577C50;
    position: relative;
  }
}

@media screen and (min-width: 768px) and (min-width: 1025px) {
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content ul.menu.main > li > a:hover {
    opacity: 1;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content ul.menu.main > li > a:hover:before {
    height: .4rem;
  }
  .l-header .title-header > .inner .nav .wrapper .scroll-content .content ul.menu.main > li > a:before {
    content: '';
    display: block;
    width: 100%;
    height: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #577C50;
    transition: .3s linear;
  }
}

/* ----------------
 * Footer
 * ---------------- */
.l-footer {
  background-color: #577C50;
  color: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .l-footer {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer {
    width: 100%;
  }
}

.l-footer > .inner {
  padding-top: 2rem;
  padding-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .l-footer > .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-footer > .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-footer > .inner {
    padding-bottom: 1rem;
  }
}

.l-footer > .inner nav.nav ul {
  display: flex;
  flex-wrap: wrap;
}

.l-footer > .inner nav.nav ul li {
  display: block;
  width: 50%;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner nav.nav ul li {
    width: auto;
    padding: 0 2rem;
  }
  .l-footer > .inner nav.nav ul li + li {
    border-left: 1px solid #FFFFFF;
  }
}

.l-footer > .inner nav.nav ul li a.link span {
  font-size: 1.4rem;
  line-height: 2.5rem;
  font-weight: 500;
  letter-spacing: .05em;
  color: #FFFFFF;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner nav.nav ul li a.link span {
    line-height: 2rem;
    font-weight: 700;
  }
}

.l-footer > .inner .content {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content {
    margin-top: 10rem;
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .left-block {
    width: 36.4rem;
  }
}

.l-footer > .inner .content .left-block .logo {
  width: 10.4rem;
  height: 3.7rem;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .left-block .logo {
    width: 15.9rem;
    height: 5.8rem;
  }
}

.l-footer > .inner .content .left-block .logo a {
  white-space: nowrap;
  text-indent: 200%;
  overflow: hidden;
  display: block;
  height: 100%;
  background-image: url(./img/logo_white.svg);
  background-size: 100% 100%;
  background-position: top left;
  background-repeat: no-repeat;
}

.l-footer > .inner .content .left-block .logo a:hover, .l-footer > .inner .content .left-block .logo a:active {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .l-footer > .inner .content .right-block {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block {
    width: 65.6rem;
  }
}

.l-footer > .inner .content .right-block .address {
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: .05em;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .address {
    font-size: 1.6rem;
    line-height: 2.8rem;
    font-weight: 700;
  }
}

.l-footer > .inner .content .right-block .work-time {
  margin-top: 1rem;
}

.l-footer > .inner .content .right-block .work-time span {
  font-size: 1.4rem;
  line-height: 2rem;
}

.l-footer > .inner .content .right-block .work-time span + span {
  margin-left: 1rem;
  padding-left: 1rem;
  border-left: 1px solid #FFFFFF;
}

.l-footer > .inner .content .right-block .contacts {
  margin-top: 1rem;
}

.l-footer > .inner .content .right-block .contacts ul {
  display: flex;
  flex-wrap: wrap;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .contacts ul {
    width: 50rem;
  }
}

.l-footer > .inner .content .right-block .contacts ul li {
  display: flex;
  align-items: center;
  width: 50%;
  font-size: 1.4rem;
  line-height: 2rem;
  font-weight: 700;
  letter-spacing: .05em;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .contacts ul li {
    width: auto;
    white-space: nowrap;
    margin-top: 1rem;
    margin-right: 3.3rem;
  }
}

.l-footer > .inner .content .right-block .contacts ul li.tel {
  padding-left: 2.5rem;
  background-image: url(./img/icon_tel_white.svg);
  background-size: 1.7rem auto;
  background-position: left center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .contacts ul li.tel {
    padding-left: 3.7rem;
    background-position: left .5rem center;
  }
}

.l-footer > .inner .content .right-block .contacts ul li.tel a {
  color: #FFFFFF;
}

.l-footer > .inner .content .right-block .contacts ul li.free-dial .title {
  margin-right: 1rem;
  font-weight: 400;
}

.l-footer > .inner .content .right-block .contacts ul li.fax .title {
  font-size: 1.5rem;
  letter-spacing: 0;
  width: 3.7rem;
}

.l-footer > .inner .content .right-block .banners {
  margin-top: 1.5rem;
}

.l-footer > .inner .content .right-block .banners ul {
  display: flex;
  flex-wrap: wrap;
}

.l-footer > .inner .content .right-block .banners ul li {
  width: 50%;
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .banners ul li {
    width: auto;
    margin-right: 3rem;
  }
}

.l-footer > .inner .content .right-block .banners ul li a {
  display: inline-block;
  height: 2.9rem;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .banners ul li a {
    height: 3.8rem;
  }
}

.l-footer > .inner .content .right-block .banners ul li a img {
  width: auto;
  height: 100%;
}

.l-footer > .inner .content .right-block .sns {
  margin-top: 3rem;
}

.l-footer > .inner .content .right-block .sns ul {
  display: flex;
  margin-left: -1rem;
}

.l-footer > .inner .content .right-block .sns ul li {
  padding-top: 1rem;
  padding-left: 1rem;
  width: 50%;
}

.l-footer > .inner .content .right-block .sns ul li.instagram a:before {
  background-image: url(./img/icon_instagram_white.svg);
  background-size: auto 2rem;
}

.l-footer > .inner .content .right-block .sns ul li.line a:before {
  background-image: url(./img/icon_line_white.svg);
  background-size: auto 2rem;
}

.l-footer > .inner .content .right-block .sns ul li a {
  display: block;
  border: 1px solid #FFFFFF;
  height: 4rem;
  padding-left: 4rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .sns ul li a {
    height: 6rem;
    padding-left: 6rem;
    transition: .2s linear;
  }
  .l-footer > .inner .content .right-block .sns ul li a:hover {
    opacity: 1;
    background-color: #FFFFFF;
  }
  .l-footer > .inner .content .right-block .sns ul li a:hover span {
    color: #577C50;
    background-image: url(./img/arrow_right_green.svg);
    background-position: right 1rem center;
  }
}

.l-footer > .inner .content .right-block .sns ul li a:before {
  content: '';
  display: block;
  border-right: 1px solid #FFFFFF;
  width: calc(4rem - 2px);
  height: calc(4rem - 2px);
  position: absolute;
  top: 0;
  left: 0;
  background-color: #577C50;
  background-position: center center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .sns ul li a:before {
    width: 6rem;
    height: 6rem;
    width: calc(6rem - 2px);
    height: calc(6rem - 2px);
  }
}

.l-footer > .inner .content .right-block .sns ul li a span {
  font-family: "Jost", sans-serif;
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 1rem;
  background-image: url(./img/arrow_right_white.svg);
  background-size: 1rem auto;
  background-position: right 1rem center;
  background-repeat: no-repeat;
  font-size: 1.4rem;
  font-weight: 500;
  color: #FFFFFF;
  transition: .2s linear;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .sns ul li a span {
    font-size: 1.6rem;
    font-weight: 300;
    padding: 0 2rem;
    background-position: right 2rem center;
  }
}

.l-footer > .inner .content .right-block .sanai-tsushin {
  margin-top: 1rem;
}

.l-footer > .inner .content .right-block .sanai-tsushin a {
  display: flex;
  align-items: center;
  padding-left: 1rem;
  border: 1px solid #FFFFFF;
  height: 4rem;
  background-image: url(./img/arrow_right_white.svg);
  background-size: 1rem auto;
  background-position: right 1rem center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .sanai-tsushin a {
    height: 6rem;
    padding-left: 1.5rem;
    background-position: right 2rem center;
    transition: .2s linear;
  }
  .l-footer > .inner .content .right-block .sanai-tsushin a:hover {
    opacity: 1;
    background-color: #FFFFFF;
    background-image: url(./img/arrow_right_green.svg);
    background-position: right 1rem center;
  }
  .l-footer > .inner .content .right-block .sanai-tsushin a:hover span {
    color: #577C50;
    background-image: url(./img/logo_sanai_tsushin_green.svg);
  }
}

.l-footer > .inner .content .right-block .sanai-tsushin a span {
  white-space: nowrap;
  text-indent: 200%;
  overflow: hidden;
  display: block;
  overflow: hidden;
  width: 12.9rem;
  height: 1.6rem;
  background-image: url(./img/logo_sanai_tsushin_white.svg);
  background-size: contain;
  background-position: left center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .content .right-block .sanai-tsushin a span {
    transition: .2s linear;
  }
}

.l-footer > .inner .map {
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-footer > .inner .map {
    margin-top: 3rem;
  }
  .l-footer > .inner .map:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 59.10448%;
  }
}

.l-footer > .inner .map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  bottom: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .map iframe {
    width: 36.4rem;
    height: 23.6rem;
  }
}

.l-footer > .inner .copy {
  margin-top: 2rem;
  font-size: 1.2rem;
  line-height: 1.7rem;
  color: #FFFFFF;
}

@media screen and (min-width: 768px) {
  .l-footer > .inner .copy {
    margin-top: 1rem;
  }
}

/* Top */
.l-p-top {
  position: relative;
  background-image: url(./img/background.svg);
  background-size: 136.6rem auto;
  background-position: top 5rem left;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.l-p-top .l-mainvisual {
  position: relative;
  height: calc(100svh - 6rem - 4rem);
}

@media screen and (min-width: 768px) {
  .l-p-top .l-mainvisual {
    height: calc(100svh - 8rem);
  }
}

.l-p-top .l-mainvisual .slider {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  pointer-events: none;
}

.l-p-top .l-mainvisual .slider .slick-list, .l-p-top .l-mainvisual .slider .slick-track {
  height: 100%;
}

.l-p-top .l-mainvisual .slider ul.slick-dots {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  display: flex;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-mainvisual .slider ul.slick-dots {
    bottom: 3rem;
    left: calc((100vw - 108rem) / 2);
  }
}

.l-p-top .l-mainvisual .slider ul.slick-dots li {
  display: block;
  width: 3rem;
  height: 3rem;
  border: 1px solid #FFFFFF;
  margin-left: -1px;
  transition: .3s linear background;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-mainvisual .slider ul.slick-dots li {
    width: 3.8rem;
    height: 3.8rem;
  }
}

.l-p-top .l-mainvisual .slider ul.slick-dots li.slick-active {
  background-color: #FFFFFF;
}

.l-p-top .l-mainvisual .slider ul.slick-dots li.slick-active button {
  color: #3B4043;
}

.l-p-top .l-mainvisual .slider ul.slick-dots li button {
  font-family: "Jost", sans-serif;
  display: block;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  font-size: 1.1rem;
  text-align: center;
  line-height: 2.8rem;
  pointer-events: auto;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-mainvisual .slider ul.slick-dots li button {
    font-size: 1.4rem;
    line-height: 3.6rem;
  }
}

.l-p-top .l-mainvisual .slider ul.slick-dots li button:before {
  content: '0';
}

.l-p-top .l-mainvisual .slider .slider-item {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.l-p-top .l-mainvisual .slider .slider-item.slider-01 {
  background-image: url(./img/top_mainvisual_01_sp.jpg);
}

@media screen and (min-width: 768px) {
  .l-p-top .l-mainvisual .slider .slider-item.slider-01 {
    background-image: url(./img/top_mainvisual_01_pc.jpg);
  }
}

.l-p-top .l-mainvisual .slider .slider-item.slider-02 {
  background-image: url(./img/top_mainvisual_02_sp.jpg);
}

@media screen and (min-width: 768px) {
  .l-p-top .l-mainvisual .slider .slider-item.slider-02 {
    background-image: url(./img/top_mainvisual_02_pc.jpg);
  }
}

.l-p-top .l-mainvisual .slider .slider-item.slider-03 {
  background-image: url(./img/top_mainvisual_03_sp.jpg);
}

@media screen and (min-width: 768px) {
  .l-p-top .l-mainvisual .slider .slider-item.slider-03 {
    background-image: url(./img/top_mainvisual_03_pc.jpg);
  }
}

.l-p-top .l-mainvisual .slider .slider-item.slider-04 {
  background-image: url(./img/top_mainvisual_04_sp.jpg);
}

@media screen and (min-width: 768px) {
  .l-p-top .l-mainvisual .slider .slider-item.slider-04 {
    background-image: url(./img/top_mainvisual_04_pc.jpg);
  }
}

.l-p-top .l-newsbar {
  border-top: 1px solid #577C50;
  border-bottom: 1px solid #577C50;
  background: linear-gradient(90deg, #F8F9F4 0%, #F8F9F4 50%, #577C50 50%, #577C50 100%);
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar {
    width: 100%;
  }
}

.l-p-top .l-newsbar .inner {
  display: flex;
  height: 6rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner {
    height: 5rem;
  }
}

.l-p-top .l-newsbar .inner .date {
  width: 2.7rem;
  font-size: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 1px solid #577C50;
  background-color: #F8F9F4;
  color: #577C50;
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-newsbar .inner .date {
    border-right: 1px solid #577C50;
  }
  .l-p-top .l-newsbar .inner .date span {
    display: block;
    position: absolute;
    transform: rotate(90deg);
    transform-origin: center center;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner .date {
    width: 7rem;
  }
}

.l-p-top .l-newsbar .inner .category {
  border-right: 1px solid #577C50;
  background-color: #F8F9F4;
  font-size: 1rem;
  font-weight: 700;
  color: #577C50;
  width: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 .5rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner .category {
    width: 8rem;
  }
}

.l-p-top .l-newsbar .inner .subject {
  flex: 1;
  font-size: 1.2rem;
  line-height: 2rem;
  display: flex;
  align-items: center;
  color: #577C50;
  padding: .9rem 1rem;
  background-color: #FFFFFF;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner .subject {
    font-size: 1.4rem;
    line-height: 2rem;
    padding: 1.5rem 4rem;
  }
}

.l-p-top .l-newsbar .inner .subject span {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner .subject span {
    -webkit-line-clamp: 1;
  }
}

.l-p-top .l-newsbar .inner .button {
  width: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner .button {
    width: 20.6rem;
  }
}

.l-p-top .l-newsbar .inner .button a {
  display: block;
  height: 100%;
  background-color: #577C50;
  color: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-newsbar .inner .button a {
    background-image: url(./img/arrow_right_white.svg);
    background-size: 1rem auto;
    background-position: center center;
    background-repeat: no-repeat;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner .button a {
    font-family: "Jost", sans-serif;
    display: flex;
    align-items: center;
    padding-left: 4rem;
  }
  .l-p-top .l-newsbar .inner .button a:hover {
    opacity: 1;
  }
  .l-p-top .l-newsbar .inner .button a:hover span {
    background-position: right center;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-newsbar .inner .button a span {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-newsbar .inner .button a span {
    padding-right: 3rem;
    background-image: url(./img/arrow_right_white.svg);
    background-size: 1rem auto;
    background-position: right 1rem center;
    background-repeat: no-repeat;
    transition: .3s linear;
  }
}

.l-p-top .l-concept {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-concept {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept {
    padding-top: 18rem;
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-concept > .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept > .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept > .inner > .wrapper {
    display: flex;
    justify-content: space-between;
  }
}

.l-p-top .l-concept > .inner > .wrapper .image-block {
  margin-left: -2rem;
  padding-right: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept > .inner > .wrapper .image-block {
    margin-left: -14.3rem;
    padding-right: 0;
    width: 52rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-concept > .inner > .wrapper .text-block {
    padding-top: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept > .inner > .wrapper .text-block {
    width: 54.3rem;
  }
}

.l-p-top .l-concept > .inner > .wrapper .text-block .text {
  padding-top: 1rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept > .inner > .wrapper .text-block .text {
    padding-top: 4rem;
  }
}

.l-p-top .l-concept > .inner > .wrapper .text-block .text .text-image {
  display: block;
  width: 100%;
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-concept > .inner > .wrapper .text-block .text .text-image {
    max-width: 33.5rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept > .inner > .wrapper .text-block .text .text-image {
    margin-top: 5rem;
  }
}

.l-p-top .l-concept > .inner > .wrapper .text-block .text p {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.6rem;
  line-height: 2.6rem;
  margin-top: 2.6rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept > .inner > .wrapper .text-block .text p {
    font-size: 1.8rem;
    line-height: 3.6rem;
    margin-top: 5rem;
  }
}

.l-p-top .l-concept > .inner .image-block2 {
  margin-top: 6rem;
  margin-right: -2rem;
  margin-left: 2rem;
  padding-bottom: 1.3rem;
  border-bottom: 1px solid #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-concept > .inner .image-block2 {
    margin-top: 20rem;
    margin-right: -14.3rem;
    margin-left: 2rem;
    padding-bottom: 4rem;
  }
}

.l-p-top .l-reform {
  background-image: url(./img/top_reform_01_sp.jpg);
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-reform {
    background-image: url(./img/top_reform_01_pc.jpg);
  }
}

.l-p-top .l-reform:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 56.26667%;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-reform:before {
    padding-top: 56.22255%;
  }
}

.l-p-top .l-reform .box {
  background-color: #FFFFFF;
  padding-top: 2rem;
  padding-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-reform .box {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-reform .box {
    position: absolute;
    bottom: 0;
    right: calc((100% - 136.6rem) / 2);
    width: 66.9rem;
    padding: 8rem 14.3rem 8rem 8rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-reform .box > .inner {
    width: 100%;
  }
}

.l-p-top .l-reform .box > .inner p.text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-reform .box > .inner p.text {
    margin-top: 3rem;
  }
}

.l-p-top .l-reform .box > .inner .button {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-reform .box > .inner .button {
    margin-top: 3rem;
  }
}

.l-p-top .l-interior {
  padding-bottom: 8rem;
  background-image: url(./img/top_interior_01_sp.jpg);
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-interior {
    background-image: url(./img/top_interior_01_pc.jpg);
    padding-bottom: 18rem;
  }
}

.l-p-top .l-interior:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 56.26667%;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-interior:before {
    padding-top: 73.8653%;
  }
}

.l-p-top .l-interior .box {
  background-color: #FFFFFF;
  padding-top: 2rem;
  padding-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-interior .box {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-interior .box {
    position: absolute;
    bottom: 18rem;
    right: calc((100% - 136.6rem) / 2);
    width: 66.9rem;
    padding: 8rem 14.3rem 8rem 8rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-interior .box > .inner {
    width: 100%;
  }
}

.l-p-top .l-interior .box > .inner p.text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-interior .box > .inner p.text {
    margin-top: 3rem;
  }
}

.l-p-top .l-interior .box > .inner .button {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-interior .box > .inner .button {
    margin-top: 3rem;
  }
}

.l-p-top .l-interior .box > .inner .curtain {
  margin-top: 2rem;
  padding: 2rem 0 2rem 2rem;
  border-left: 1px solid #577C50;
}

.l-p-top .l-interior .box > .inner .curtain .headline {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: .05em;
  color: #577C50;
}

.l-p-top .l-interior .box > .inner .curtain .text2 {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 2.4rem;
}

.l-p-top .l-interior .box > .inner .curtain .button {
  margin-top: 2rem;
}

.l-p-top .l-voice {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-voice {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice {
    padding-top: 8rem;
    padding-bottom: 18rem;
  }
}

.l-p-top .l-voice:before {
  content: '';
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #577C50;
  height: 27.8rem;
  mix-blend-mode: multiply;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice:before {
    height: 29.3rem;
  }
}

.l-p-top .l-voice .inner {
  position: relative;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-voice .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-top .l-voice .inner .headline .sub {
  font-family: "Jost", sans-serif;
  color: #FFFFFF;
  font-size: 1.6rem;
  line-height: 2rem;
  text-align: center;
}

.l-p-top .l-voice .inner .headline .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: 1rem;
  color: #FFFFFF;
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: .05em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice .inner .headline .subject {
    font-size: 2.6rem;
    line-height: 3.7rem;
  }
}

.l-p-top .l-voice .inner .box {
  margin-top: 2rem;
  background-image: url(./img/top_voice_01_sp.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice .inner .box {
    margin-top: 3rem;
    background-image: url(./img/top_voice_01_pc.jpg);
  }
}

.l-p-top .l-voice .inner .box .wrapper {
  display: block;
  width: 100%;
  height: 100%;
  padding: 3rem 4.15rem 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice .inner .box .wrapper {
    padding: 3rem 25rem 3rem;
    transition: .2s linear;
  }
  .l-p-top .l-voice .inner .box .wrapper:has(a:hover) {
    -webkit-backdrop-filter: brightness(80%);
            backdrop-filter: brightness(80%);
  }
  .l-p-top .l-voice .inner .box .wrapper:has(a:hover) .subject:before, .l-p-top .l-voice .inner .box .wrapper:has(a:hover) .subject:after {
    width: 2rem;
    height: 2rem;
  }
}

.l-p-top .l-voice .inner .box .wrapper .subject {
  font-family: "Zen Old Mincho", serif;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 11rem;
  font-size: 1.6rem;
  line-height: 2.6rem;
  letter-spacing: .05em;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice .inner .box .wrapper .subject {
    height: 8.6rem;
    font-size: 1.8rem;
    line-height: 2.6rem;
  }
}

.l-p-top .l-voice .inner .box .wrapper .subject:before, .l-p-top .l-voice .inner .box .wrapper .subject:after {
  content: '';
  display: block;
  width: 2rem;
  height: 2rem;
  border-color: #FFFFFF;
  position: absolute;
  transition: .2s linear;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-voice .inner .box .wrapper .subject:before, .l-p-top .l-voice .inner .box .wrapper .subject:after {
    width: 3rem;
    height: 3rem;
  }
}

.l-p-top .l-voice .inner .box .wrapper .subject:before {
  border-top: 2px solid;
  border-left: 2px solid;
  top: 0;
  left: 0;
}

.l-p-top .l-voice .inner .box .wrapper .subject:after {
  border-right: 2px solid;
  border-bottom: 2px solid;
  right: 0;
  bottom: 0;
}

.l-p-top .l-voice .inner .box .wrapper .button {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.l-p-top .l-about {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-about {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-about {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-about {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-about .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-about .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-about .inner {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-about .inner .left-block {
    width: 58.1rem;
  }
}

.l-p-top .l-about .inner .left-block .text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-about .inner .left-block .text {
    margin-top: 4rem;
  }
}

.l-p-top .l-about .inner .left-block .button {
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-about .inner .right-block {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-about .inner .right-block {
    width: 39.9rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-line {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-line {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-line .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-line .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-top .l-line .inner .box {
  border-top: 1px solid #577C50;
  border-bottom: 1px solid #577C50;
  background-color: #F8F9F4;
  padding: 2.2rem 2rem 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-line .inner .box {
    padding: 4rem 4rem 4rem;
  }
}

.l-p-top .l-line .inner .box .headline .subject {
  font-family: "Jost", sans-serif;
  color: #577C50;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: .05em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-line .inner .box .headline .subject {
    font-size: 2.6rem;
    line-height: 3.4rem;
  }
}

.l-p-top .l-line .inner .box p.text {
  margin-top: 2rem;
  font-size: 1.2rem;
  line-height: 2.4rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-line .inner .box p.text {
    font-size: 1.4rem;
    line-height: 2.6rem;
  }
}

.l-p-top .l-line .inner .box .button {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}

.l-p-top .l-instagram {
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-instagram {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-instagram {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-instagram {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-instagram .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-instagram .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-top .l-instagram .inner .box {
  border-top: 1px solid #577C50;
  border-bottom: 1px solid #577C50;
  padding: 2.2rem 2rem 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-instagram .inner .box {
    padding: 4rem 4rem 4rem;
  }
}

.l-p-top .l-instagram .inner .box .headline {
  display: flex;
  justify-content: center;
}

.l-p-top .l-instagram .inner .box .headline .subject {
  font-family: "Jost", sans-serif;
  color: #577C50;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: .05em;
  text-align: center;
  position: relative;
  padding-left: 3.2rem;
  background-image: url(./img/icon_instagram_green.svg);
  background-size: 2.2rem auto;
  background-position: left center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-instagram .inner .box .headline .subject {
    font-size: 2.6rem;
    line-height: 3.4rem;
    padding-left: 4.6rem;
    background-size: 3.1rem auto;
  }
}

.l-p-top .l-instagram .inner .box p.text {
  margin-top: 2rem;
  font-size: 1.2rem;
  line-height: 2.4rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-instagram .inner .box p.text {
    font-size: 1.4rem;
    line-height: 2.6rem;
  }
}

.l-p-top .l-instagram .inner .box .button {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}

.l-p-top .l-news {
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-news {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-news {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-news {
    padding-bottom: 20rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-news .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-news .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-news .inner {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-news .inner .left-block {
    width: 30rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-news .inner .right-block {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-news .inner .right-block {
    width: 76.8rem;
  }
}

.l-p-top .l-news .inner .right-block ul {
  border-top: 1px solid #577C50;
  border-left: 1px solid #577C50;
}

.l-p-top .l-news .inner .right-block ul li a {
  display: block;
  border-right: 1px solid #577C50;
  border-bottom: 1px solid #577C50;
  padding: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-news .inner .right-block ul li a {
    padding: 4rem;
  }
  .l-p-top .l-news .inner .right-block ul li a:hover {
    opacity: 1;
    background-color: #F8F9F4;
  }
  .l-p-top .l-news .inner .right-block ul li a:hover .c-button1 {
    background-position: right .5rem center !important;
    background-color: #F8F9F4;
  }
}

.l-p-top .l-news .inner .right-block ul li a .meta {
  display: flex;
}

.l-p-top .l-news .inner .right-block ul li a .meta .date {
  font-size: 1.2rem;
  line-height: 1.2rem;
}

.l-p-top .l-news .inner .right-block ul li a .meta .category {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2rem;
  margin-left: 1.2rem;
  padding-left: 1.2rem;
  border-left: 1px solid #577C50;
  color: #577C50;
}

.l-p-top .l-news .inner .right-block ul li a .title {
  font-size: 1.4rem;
  line-height: 2rem;
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-news .inner .right-block ul li a .title {
    margin-top: 1.5rem;
  }
}

.l-p-top .l-news .inner .right-block ul li a .button {
  display: flex;
  justify-content: flex-end;
}

.l-p-top .l-contact {
  background-image: url(./img/top_contact_01_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 10rem;
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .l-p-top .l-contact {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-contact {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-contact {
    background-image: url(./img/top_contact_01_pc.jpg);
    padding-top: 23rem;
    padding-bottom: 23rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-contact .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-contact .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-contact .inner {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-contact .inner .c-headline1.white {
    flex: 1;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-contact .inner .button {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-contact .inner .button {
    width: 53rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-top .l-contact .inner .button a.c-button1 {
    width: 27rem;
    height: 4.8rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-top .l-contact .inner .button a.c-button1 {
    width: 100%;
    height: 9rem;
    padding-left: 6rem;
    background-position: right 4rem center;
  }
  .l-p-top .l-contact .inner .button a.c-button1:hover {
    background-position: right 3rem center;
  }
}

.l-p-top .l-contact .inner .button a.c-button1 span {
  font-family: "Jost", sans-serif;
}

@media screen and (min-width: 768px) {
  .l-p-top .l-contact .inner .button a.c-button1 span {
    font-weight: 500;
    font-size: 2.4rem;
  }
}

/* reforeform */
.l-p-reform .c-mainvisual {
  background-image: url(./img/reform_mainvisual_sp.jpg);
}

@media screen and (min-width: 768px) {
  .l-p-reform .c-mainvisual {
    background-image: url(./img/reform_mainvisual_pc.jpg);
  }
}

.l-p-reform .l-outline {
  padding-top: 9rem;
  padding-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-outline {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-outline {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-outline {
    padding-top: 14rem;
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-outline .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-outline .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-outline .inner {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-outline .inner .left-block {
    width: 45rem;
  }
}

.l-p-reform .l-outline .inner .right-block {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-outline .inner .right-block {
    margin-top: 3rem;
    width: 59rem;
  }
}

.l-p-reform .l-outline .inner .right-block .text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.6rem;
  line-height: 2.8rem;
}

.l-p-reform .l-point {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-point {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-point .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-reform .l-point .inner ul {
  margin-top: 2rem;
  border-top: 1px solid #577C50;
  border-left: 1px solid #577C50;
}

.l-p-reform .l-point .inner ul li {
  border-right: 1px solid #577C50;
  border-bottom: 1px solid #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .inner ul li {
    display: flex;
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .inner ul li .image-block {
    width: 46.7rem;
  }
}

.l-p-reform .l-point .inner ul li .text-block {
  padding: 2rem 2rem 3rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .inner ul li .text-block {
    padding: 2rem 6rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .inner ul li .text-block .headline {
    display: flex;
  }
}

.l-p-reform .l-point .inner ul li .text-block .headline .no {
  font-family: "Jost", sans-serif;
  font-size: 2.4rem;
  line-height: 3rem;
  font-weight: 500;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .inner ul li .text-block .headline .no {
    width: 5.5rem;
    font-size: 3.6rem;
    line-height: 4.1rem;
    font-weight: 400;
  }
}

.l-p-reform .l-point .inner ul li .text-block .headline .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: .5rem;
  font-size: 1.8rem;
  line-height: 3rem;
  font-weight: 700;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .inner ul li .text-block .headline .subject {
    margin-top: 0;
    width: 43.8rem;
    letter-spacing: .05em;
  }
}

.l-p-reform .l-point .inner ul li .text-block .text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 2.45rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .inner ul li .text-block .text {
    margin-top: 3rem;
    width: 50.3rem;
    padding-left: 5.5rem;
  }
}

.l-p-reform .l-point .interlude {
  margin-top: 8rem;
  position: relative;
  background-image: url(./img/reform_interlude_01_sp.jpg);
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-point .interlude {
    margin-left: -2rem;
    margin-right: -2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .interlude {
    margin-top: 18rem;
    background-image: url(./img/reform_interlude_01_pc.jpg);
  }
}

.l-p-reform .l-point .interlude:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 21.33333%;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-point .interlude:before {
    padding-top: 16.25183%;
  }
}

.l-p-reform .l-product {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-product {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-product .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-reform .l-product .inner .text {
  font-family: "Zen Old Mincho", serif;
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  letter-spacing: .05em;
}

.l-p-reform .l-product .inner .products {
  margin-top: 6rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products {
    margin-top: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-product .inner .products:has(#product-01:checked) #product-content-01 {
    display: block;
  }
  .l-p-reform .l-product .inner .products:has(#product-01:checked) label[for=product-01] {
    background-color: #577C50;
    color: #FFFFFF;
  }
  .l-p-reform .l-product .inner .products:has(#product-02:checked) #product-content-02 {
    display: block;
  }
  .l-p-reform .l-product .inner .products:has(#product-02:checked) label[for=product-02] {
    background-color: #577C50;
    color: #FFFFFF;
  }
  .l-p-reform .l-product .inner .products:has(#product-03:checked) #product-content-03 {
    display: block;
  }
  .l-p-reform .l-product .inner .products:has(#product-03:checked) label[for=product-03] {
    background-color: #577C50;
    color: #FFFFFF;
  }
  .l-p-reform .l-product .inner .products:has(#product-04:checked) #product-content-04 {
    display: block;
  }
  .l-p-reform .l-product .inner .products:has(#product-04:checked) label[for=product-04] {
    background-color: #577C50;
    color: #FFFFFF;
  }
  .l-p-reform .l-product .inner .products:has(#product-05:checked) #product-content-05 {
    display: block;
  }
  .l-p-reform .l-product .inner .products:has(#product-05:checked) label[for=product-05] {
    background-color: #577C50;
    color: #FFFFFF;
  }
  .l-p-reform .l-product .inner .products:has(#product-06:checked) #product-content-06 {
    display: block;
  }
  .l-p-reform .l-product .inner .products:has(#product-06:checked) label[for=product-06] {
    background-color: #577C50;
    color: #FFFFFF;
  }
}

.l-p-reform .l-product .inner .products ul.nav {
  display: flex;
  flex-wrap: wrap;
  margin-top: -0.5rem;
  margin-left: -0.5rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.nav {
    display: none;
  }
}

.l-p-reform .l-product .inner .products ul.nav li {
  width: calc(25% - .5rem);
  margin-top: .5rem;
  margin-left: .5rem;
  border: 1px solid #577C50;
}

.l-p-reform .l-product .inner .products ul.nav li input {
  display: none;
}

.l-p-reform .l-product .inner .products ul.nav li label {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.7rem;
  color: #577C50;
  font-size: 1.2rem;
  letter-spacing: .05em;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-product .inner .products ul.product-content {
    margin-top: 2rem;
  }
  .l-p-reform .l-product .inner .products ul.product-content + ul.nav {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-product .inner .products ul.product-content > li {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li + li {
    margin-top: 10rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box {
    border: 1px solid #577C50;
    padding: 2rem 2rem 3rem;
  }
}

.l-p-reform .l-product .inner .products ul.product-content > li .box .no {
  background-color: #577C50;
  color: #FFFFFF;
  font-size: 1.2rem;
  line-height: 1.8rem;
  letter-spacing: .05em;
  padding: 0 .5rem;
  width: -moz-fit-content;
  width: fit-content;
}

.l-p-reform .l-product .inner .products ul.product-content > li .box .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: .5rem;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: .05em;
  font-weight: 700;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .subject {
    font-size: 2.4rem;
    line-height: 3.5rem;
    font-weight: 400;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .photos {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .photos ul {
    display: flex;
    margin-top: -2rem;
    margin-left: -3rem;
  }
}

.l-p-reform .l-product .inner .products ul.product-content > li .box .photos ul li {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .photos ul li {
    margin-top: 2rem;
    margin-left: 3rem;
    width: calc(50% - 3rem);
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .description {
    margin-top: 1rem;
    display: flex;
    margin-left: -3rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content {
    margin-top: 2rem;
    margin-left: 3rem;
    width: calc(50% - 3rem);
  }
}

.l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content .title {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.6rem;
  color: #577C50;
  padding-bottom: .5rem;
  border-bottom: 1px solid #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content .title {
    font-size: 1.6rem;
    line-height: 2.1rem;
    padding-bottom: 1rem;
  }
}

.l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content dl {
  display: flex;
  flex-wrap: wrap;
}

.l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content dl dt {
  margin-top: 1rem;
  width: 12.8rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
  font-weight: 500;
  letter-spacing: .05em;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content dl dt {
    width: 18rem;
  }
}

.l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content dl dd {
  margin-top: 1rem;
  width: calc(100% - 12.8rem);
  font-size: 1.4rem;
  line-height: 2.2rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content dl dd {
    width: calc(100% - 18rem);
  }
}

.l-p-reform .l-product .inner .products ul.product-content > li .box .description .description-content .photos ul li {
  margin-top: 1rem;
}

.l-p-reform .l-flow {
  padding-bottom: 8rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow {
    padding-bottom: 18rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-reform .l-flow .inner .box {
  background-color: #F8F9F4;
  padding: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box {
    padding: 6rem 0rem;
  }
}

.l-p-reform .l-flow .inner .box .headline .sub {
  font-family: "Jost", sans-serif;
  font-size: 1.6rem;
  line-height: 2.1rem;
  font-weight: 300;
  color: #577C50;
  text-align: center;
}

.l-p-reform .l-flow .inner .box .headline .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: 1rem;
  font-size: 2.4rem;
  line-height: 3.5rem;
  color: #577C50;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box .headline .subject {
    font-size: 3.2rem;
    line-height: 4.8rem;
  }
}

.l-p-reform .l-flow .inner .box ul {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul {
    margin-top: -2rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}

.l-p-reform .l-flow .inner .box ul li {
  padding-left: 13.8rem;
  min-height: 11.8rem;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li {
    padding-top: 18rem;
    padding-left: 0;
    width: 21rem;
    margin: 8rem 5.5rem 0;
  }
}

.l-p-reform .l-flow .inner .box ul li#flow_contact:before {
  background-image: url(./img/reform_flow_contact.svg);
  background-size: 7.4rem auto;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li#flow_contact:before {
    background-size: 10rem auto;
  }
}

.l-p-reform .l-flow .inner .box ul li#flow_meeting:before {
  background-image: url(./img/reform_flow_meeting.svg);
  background-size: 7.4rem auto;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li#flow_meeting:before {
    background-size: 10rem auto;
  }
}

.l-p-reform .l-flow .inner .box ul li#flow_suggestion:before {
  background-image: url(./img/reform_flow_suggestion.svg);
  background-size: 6.7rem auto;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li#flow_suggestion:before {
    background-size: 10rem auto;
  }
}

.l-p-reform .l-flow .inner .box ul li#flow_decide:before {
  background-image: url(./img/reform_flow_decide.svg);
  background-size: 7.1rem auto;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li#flow_decide:before {
    background-size: 10rem auto;
  }
}

.l-p-reform .l-flow .inner .box ul li#flow_construction:before {
  background-image: url(./img/reform_flow_construction.svg);
  background-size: 7rem auto;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li#flow_construction:before {
    background-size: 9.7rem auto;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-flow .inner .box ul li + li {
    margin-top: 5.6rem;
  }
}

.l-p-reform .l-flow .inner .box ul li + li:after {
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 5.6rem;
  top: -5.6rem;
  left: 0;
  background-image: url(./img/arrow_down_green.svg);
  background-size: 1.6rem auto;
  background-position: center center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li + li:after {
    width: 11rem;
    height: 16rem;
    top: 0;
    left: -11rem;
    background-image: url(./img/arrow_right_green.svg);
  }
}

.l-p-reform .l-flow .inner .box ul li:before {
  content: '';
  display: block;
  position: absolute;
  width: 11.8rem;
  height: 11.8rem;
  border-radius: 50%;
  background-color: #FFFFFF;
  top: 0;
  left: 0;
  background-position: center center;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li:before {
    width: 16rem;
    height: 16rem;
    left: 50%;
    transform: translate(-50%, 0);
  }
}

.l-p-reform .l-flow .inner .box ul li .title {
  color: #577C50;
  font-size: 1.4rem;
  line-height: 2rem;
  letter-spacing: .05em;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li .title {
    font-size: 1.6rem;
    line-height: 2.4rem;
    text-align: center;
  }
}

.l-p-reform .l-flow .inner .box ul li .description {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-flow .inner .box ul li .description {
    line-height: 2.4rem;
    letter-spacing: .05em;
    text-align: center;
  }
}

.l-p-reform .l-voice {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-voice {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-voice {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-voice {
    padding-top: 8rem;
    padding-bottom: 18rem;
  }
}

.l-p-reform .l-voice:before {
  content: '';
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #577C50;
  height: 27.8rem;
  mix-blend-mode: multiply;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-voice:before {
    height: 29.3rem;
  }
}

.l-p-reform .l-voice .inner {
  position: relative;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-voice .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-voice .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-reform .l-voice .inner .headline .sub {
  font-family: "Jost", sans-serif;
  color: #FFFFFF;
  font-size: 1.6rem;
  line-height: 2rem;
  text-align: center;
}

.l-p-reform .l-voice .inner .headline .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: 1rem;
  color: #FFFFFF;
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: .05em;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-voice .inner .headline .subject {
    font-size: 2.6rem;
    line-height: 3.7rem;
  }
}

.l-p-reform .l-voice .inner .box {
  margin-top: 2rem;
  background-image: url(./img/top_voice_01_sp.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 3rem 4.15rem 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-voice .inner .box {
    margin-top: 3rem;
    background-image: url(./img/top_voice_01_pc.jpg);
    padding: 3rem 25rem 3rem;
  }
}

.l-p-reform .l-voice .inner .box .subject {
  font-family: "Zen Old Mincho", serif;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 11rem;
  font-size: 1.6rem;
  line-height: 2.6rem;
  letter-spacing: .05em;
  font-weight: 700;
  text-align: center;
  color: #FFFFFF;
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-voice .inner .box .subject {
    height: 8.6rem;
    font-size: 1.8rem;
    line-height: 2.6rem;
  }
}

.l-p-reform .l-voice .inner .box .subject:before, .l-p-reform .l-voice .inner .box .subject:after {
  content: '';
  display: block;
  width: 2rem;
  height: 2rem;
  border-color: #FFFFFF;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-voice .inner .box .subject:before, .l-p-reform .l-voice .inner .box .subject:after {
    width: 3rem;
    height: 3rem;
  }
}

.l-p-reform .l-voice .inner .box .subject:before {
  border-top: 2px solid;
  border-left: 2px solid;
  top: 0;
  left: 0;
}

.l-p-reform .l-voice .inner .box .subject:after {
  border-right: 2px solid;
  border-bottom: 2px solid;
  right: 0;
  bottom: 0;
}

.l-p-reform .l-voice .inner .box .button {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.l-p-reform .l-service {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-service {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-service {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-service .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-service .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-reform .l-service .inner .service {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-service .inner .service {
    margin-top: 3rem;
  }
}

.l-p-reform .l-service .inner .service ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: -3rem;
  margin-left: -1.5rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-service .inner .service ul {
    margin-top: -4rem;
    margin-left: -3rem;
  }
}

.l-p-reform .l-service .inner .service ul li {
  margin-top: 3rem;
  margin-left: 1.5rem;
  width: calc(50% - 1.5rem);
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-service .inner .service ul li {
    margin-top: 4rem;
    margin-left: 3rem;
    width: calc(33.33% - 3rem);
  }
}

.l-p-reform .l-service .inner .service ul li .title {
  margin-top: .5rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-service .inner .service ul li .title {
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 2.6rem;
  }
}

.l-p-reform .l-service .inner .service ul li .text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: .5rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-service .inner .service ul li .text {
    margin-top: 1rem;
  }
}

.l-p-reform .l-interior {
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-interior {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-interior {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-interior {
    padding-bottom: 20rem;
  }
}

.l-p-reform .l-interior > .inner {
  background-image: url(./img/reform_interior_01_sp.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  height: 22.2rem;
  position: relative;
}

@media screen and (max-width: 767px) {
  .l-p-reform .l-interior > .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-interior > .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-interior > .inner {
    background-image: url(./img/reform_interior_01_pc.jpg);
    height: 27rem;
  }
}

.l-p-reform .l-interior > .inner .box {
  background-color: #FFFFFF;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 16.6rem;
  height: 16.2rem;
  padding: 1rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-interior > .inner .box {
    width: 30.3rem;
    height: 13.6rem;
    padding: 1rem 4rem;
  }
}

.l-p-reform .l-interior > .inner .box .sub {
  font-family: "Jost", sans-serif;
  font-size: 2rem;
  line-height: 2.4rem;
  font-weight: 300;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-interior > .inner .box .sub {
    font-size: 2.4rem;
    line-height: 3rem;
  }
}

.l-p-reform .l-interior > .inner .box .subject {
  margin-top: .5rem;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-interior > .inner .box .subject {
    margin-top: 0;
  }
}

.l-p-reform .l-interior > .inner .box .button {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-reform .l-interior > .inner .box .button {
    margin-top: 1rem;
  }
}

/* interior */
.l-p-interior .c-mainvisual {
  background-image: url(./img/interior_mainvisual_sp.jpg);
}

@media screen and (min-width: 768px) {
  .l-p-interior .c-mainvisual {
    background-image: url(./img/interior_mainvisual_pc.jpg);
  }
}

.l-p-interior .l-outline {
  padding-top: 9rem;
  padding-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-outline {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-outline {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-outline {
    padding-top: 14rem;
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-outline .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-outline .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-outline .inner {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-outline .inner .left-block {
    width: 45rem;
  }
}

.l-p-interior .l-outline .inner .right-block {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-outline .inner .right-block {
    margin-top: 3rem;
    width: 59rem;
  }
}

.l-p-interior .l-outline .inner .right-block .text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.6rem;
  line-height: 2.8rem;
}

.l-p-interior .l-point {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-point {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-point .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-interior .l-point .inner ul {
  margin-top: 2rem;
  border-top: 1px solid #577C50;
  border-left: 1px solid #577C50;
}

.l-p-interior .l-point .inner ul li {
  border-right: 1px solid #577C50;
  border-bottom: 1px solid #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point .inner ul li {
    display: flex;
    flex-direction: row-reverse;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point .inner ul li .image-block {
    width: 46.7rem;
  }
}

.l-p-interior .l-point .inner ul li .text-block {
  padding: 2rem 2rem 3rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point .inner ul li .text-block {
    padding: 2rem 6rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point .inner ul li .text-block .headline {
    display: flex;
  }
}

.l-p-interior .l-point .inner ul li .text-block .headline .no {
  font-family: "Jost", sans-serif;
  font-size: 2.4rem;
  line-height: 3rem;
  font-weight: 500;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point .inner ul li .text-block .headline .no {
    width: 5.5rem;
    font-size: 3.6rem;
    line-height: 4.1rem;
    font-weight: 400;
  }
}

.l-p-interior .l-point .inner ul li .text-block .headline .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: .5rem;
  font-size: 1.8rem;
  line-height: 3rem;
  font-weight: 700;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point .inner ul li .text-block .headline .subject {
    margin-top: 0;
    width: 43.8rem;
    letter-spacing: .05em;
  }
}

.l-p-interior .l-point .inner ul li .text-block .text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 2.45rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-point .inner ul li .text-block .text {
    margin-top: 3rem;
    width: 50.3rem;
    padding-left: 5.5rem;
  }
}

.l-p-interior .l-support {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-support {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-support > .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support > .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support > .inner > .wrapper {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support > .inner > .wrapper .text-block {
    width: 51.8rem;
  }
}

.l-p-interior .l-support > .inner > .wrapper .text-block .text {
  padding-top: 1rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support > .inner > .wrapper .text-block .text {
    padding-top: 4rem;
  }
}

.l-p-interior .l-support > .inner > .wrapper .text-block .text .image {
  display: block;
  width: 100%;
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support > .inner > .wrapper .text-block .text .image {
    margin-top: 4rem;
  }
}

.l-p-interior .l-support > .inner > .wrapper .text-block .text p {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.6rem;
  line-height: 2.6rem;
  margin-top: 2.6rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support > .inner > .wrapper .text-block .text p {
    font-size: 1.8rem;
    line-height: 3.6rem;
    margin-top: 5rem;
  }
}

.l-p-interior .l-support > .inner > .wrapper .image-block {
  padding-left: 2rem;
  margin-right: -2rem;
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-support > .inner > .wrapper .image-block {
    padding-top: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-support > .inner > .wrapper .image-block {
    padding-left: 0;
    margin-right: -14.3rem;
    width: 60.5rem;
  }
}

.l-p-interior .l-product {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-product {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-product .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-interior .l-product .inner .products {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products {
    margin-top: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content {
    display: flex;
    flex-wrap: wrap;
    margin-top: -8rem;
    margin-left: -3rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content > li {
    margin-left: 3rem;
    margin-top: 8rem;
    width: calc(50% - 3rem);
  }
  .l-p-interior .l-product .inner .products ul.product-content > li.wide {
    width: calc(100% - 3rem);
  }
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-product .inner .products ul.product-content > li + li {
    margin-top: 3rem;
  }
}

.l-p-interior .l-product .inner .products ul.product-content > li .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: .5rem;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: .05em;
  font-weight: 700;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content > li .subject {
    font-size: 2.4rem;
    line-height: 3.5rem;
    font-weight: 400;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content > li .wrapper {
    display: flex;
    justify-content: space-between;
  }
}

.l-p-interior .l-product .inner .products ul.product-content > li .wrapper .block {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content > li .wrapper .block {
    width: 52.5rem;
  }
}

.l-p-interior .l-product .inner .products ul.product-content > li .wrapper .block img + p {
  margin-top: 2rem;
}

.l-p-interior .l-product .inner .products ul.product-content > li .wrapper .block p {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.6rem;
  line-height: 3rem;
}

.l-p-interior .l-product .inner .products ul.product-content > li .photos {
  margin-top: 4rem;
}

.l-p-interior .l-product .inner .products ul.product-content > li .photos ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: -2rem;
  margin-left: -0.5rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content > li .photos ul {
    margin-top: -4rem;
    margin-left: -2rem;
  }
}

.l-p-interior .l-product .inner .products ul.product-content > li .photos ul li {
  margin-top: 2rem;
  margin-left: .5rem;
  width: calc(50% - .5rem);
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content > li .photos ul li {
    margin-top: 4rem;
    margin-left: 2rem;
    width: calc(25% - 2rem);
  }
}

.l-p-interior .l-product .inner .products ul.product-content > li .photos ul li .title {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.6rem;
  color: #577C50;
  padding-bottom: .3rem;
  border-bottom: 1px solid #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content > li .photos ul li .title {
    font-size: 1.8rem;
    line-height: 2.6rem;
    padding-bottom: 1rem;
  }
}

.l-p-interior .l-product .inner .products ul.product-content > li .photos ul li img {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-product .inner .products ul.product-content > li .photos ul li img {
    margin-top: 1rem;
  }
}

.l-p-interior .l-brand {
  padding-bottom: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-brand {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-brand .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-interior .l-brand .inner .products {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand .inner .products {
    margin-top: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand .inner .products ul.product-content {
    display: flex;
    flex-wrap: wrap;
    margin-top: -8rem;
    margin-left: -3rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand .inner .products ul.product-content > li {
    margin-left: 3rem;
    margin-top: 8rem;
    width: calc(50% - 3rem);
  }
  .l-p-interior .l-brand .inner .products ul.product-content > li.wide {
    width: calc(100% - 3rem);
  }
}

@media screen and (max-width: 767px) {
  .l-p-interior .l-brand .inner .products ul.product-content > li + li {
    margin-top: 3rem;
  }
}

.l-p-interior .l-brand .inner .products ul.product-content > li .subject {
  font-family: "Zen Old Mincho", serif;
  margin-top: .5rem;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: .05em;
  font-weight: 700;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand .inner .products ul.product-content > li .subject {
    font-size: 2.4rem;
    line-height: 3.5rem;
    font-weight: 400;
  }
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand .inner .products ul.product-content > li .wrapper {
    display: flex;
    justify-content: space-between;
  }
}

.l-p-interior .l-brand .inner .products ul.product-content > li .wrapper .block {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-interior .l-brand .inner .products ul.product-content > li .wrapper .block {
    width: 52.5rem;
  }
}

.l-p-interior .l-brand .inner .products ul.product-content > li .wrapper .block img + p {
  margin-top: 2rem;
}

.l-p-interior .l-brand .inner .products ul.product-content > li .wrapper .block p {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.6rem;
  line-height: 3rem;
}

.l-p-interior .l-brand .inner .products ul.product-content > li .wrapper .block p + p {
  margin-top: 1.5rem;
}

.l-p-interior .l-brand .inner .products ul.product-content > li .wrapper .block p a {
  color: #577C50;
}

/* voice */
.l-p-voice .c-mainvisual {
  background-image: url(./img/voice_mainvisual_sp.jpg);
}

@media screen and (min-width: 768px) {
  .l-p-voice .c-mainvisual {
    background-image: url(./img/voice_mainvisual_pc.jpg);
  }
}

.l-p-voice .l-content {
  padding-top: 9rem;
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .l-p-voice .l-content {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content {
    padding-top: 14rem;
    padding-bottom: 20rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-voice .l-content .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

.l-p-voice .l-content .wrapper {
  position: relative;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper {
    padding-right: 44rem;
  }
}

.l-p-voice .l-content .wrapper .profile {
  margin-top: 4rem;
  padding-left: 2rem;
  border-left: 1px solid #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper .profile {
    position: absolute;
    top: 0;
    right: 0;
    width: 36rem;
    margin-top: 0;
  }
}

.l-p-voice .l-content .wrapper .profile .name {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  letter-spacing: .05em;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper .profile .name {
    margin-top: 2rem;
  }
}

.l-p-voice .l-content .wrapper .profile .subject {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 1.7rem;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper .profile .subject {
    margin-top: 2rem;
    font-size: 1.5rem;
    line-height: 2.1rem;
  }
}

.l-p-voice .l-content .wrapper .profile p.text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: .5rem;
  font-size: 1.4rem;
  line-height: 2.4rem;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper .profile p.text {
    margin-top: 1rem;
    font-size: 1.6rem;
    line-height: 2.4rem;
    letter-spacing: .05em;
  }
}

.l-p-voice .l-content .wrapper .image {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper .image {
    margin-top: 0;
    position: absolute;
    top: 0;
    right: 0;
    width: 36rem;
  }
}

.l-p-voice .l-content .wrapper .article {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper .article {
    margin-top: 6rem;
  }
}

.l-p-voice .l-content .wrapper .article .subject {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  line-height: 2.8rem;
  letter-spacing: .05em;
  color: #577C50;
  font-weight: 700;
  padding-bottom: 1rem;
  border-bottom: 1px solid #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper .article .subject {
    font-size: 2.4rem;
    line-height: 3.8rem;
    padding-bottom: 1rem;
  }
}

.l-p-voice .l-content .wrapper .article .text {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.6rem;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wrapper .article .text {
    margin-top: 4rem;
    font-size: 1.6rem;
    line-height: 3.2rem;
  }
}

.l-p-voice .l-content .wide-image {
  margin-top: 4rem;
}

@media screen and (min-width: 768px) {
  .l-p-voice .l-content .wide-image {
    margin-top: 10rem;
  }
  .l-p-voice .l-content .wide-image + .wrapper {
    margin-top: 10rem;
  }
}

/* about */
.l-p-about .c-mainvisual {
  background-image: url(./img/about_mainvisual_sp.jpg);
}

@media screen and (min-width: 768px) {
  .l-p-about .c-mainvisual {
    background-image: url(./img/about_mainvisual_pc.jpg);
  }
}

.l-p-about .l-content {
  padding-top: 8rem;
}

@media screen and (max-width: 767px) {
  .l-p-about .l-content {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content {
    padding-top: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-about .l-content > .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content > .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content > .inner {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content > .inner .left-block {
    width: 35rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-about .l-content > .inner .right-block {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content > .inner .right-block {
    width: 68.4rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .message {
  padding-bottom: 3rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .message {
    padding-bottom: 9.4rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .message p {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.6rem;
  line-height: 2.6rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .message p {
    line-height: 3.2rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .message p + p {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .message p + p {
    margin-top: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-about .l-content.message > .inner .right-block .profile {
    border-top: 1px solid #577C50;
    padding-top: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .profile {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .profile .image-block {
    width: 23.3rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .profile .text-block {
  padding: 2rem 2rem 8rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .profile .text-block {
    width: 41.2rem;
    padding: 0 0 18rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .profile .text-block .title {
  font-family: "Jost", sans-serif;
  font-size: 1.2rem;
  line-height: 1.6rem;
  font-weight: 300;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .profile .text-block .title {
    font-size: 1.6rem;
    line-height: 2.8rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .profile .text-block .name {
  font-family: "Zen Old Mincho", serif;
  margin-top: .5rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  letter-spacing: .05em;
  color: #577C50;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .profile .text-block .name {
    margin-top: 3rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .profile .text-block .subject {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  line-height: 2.4rem;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .profile .text-block .subject {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .profile .text-block .introduction {
  margin-top: 1.5rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.message > .inner .right-block .profile .text-block .introduction {
    margin-top: 2rem;
  }
}

.l-p-about .l-content.message > .inner .right-block .profile .text-block .introduction p {
  font-size: 1.4rem;
  line-height: 2.4rem;
  text-indent: 1em;
}

.l-p-about .l-content.philosophy {
  background-color: #F8F9F4;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.philosophy {
    padding-top: 10rem;
    padding-bottom: 10rem;
  }
}

.l-p-about .l-content.philosophy > .inner .right-block dl {
  margin-top: 2rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.philosophy > .inner .right-block dl {
    margin-top: 0;
  }
}

.l-p-about .l-content.philosophy > .inner .right-block dl dt {
  font-size: 1.4rem;
  line-height: 2rem;
  letter-spacing: .05em;
  color: #577C50;
  font-weight: 500;
}

.l-p-about .l-content.philosophy > .inner .right-block dl dd {
  margin-top: 2rem;
}

.l-p-about .l-content.philosophy > .inner .right-block dl dd + dt {
  margin-top: 3rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.philosophy > .inner .right-block dl dd + dt {
    margin-top: 6rem;
  }
}

.l-p-about .l-content.philosophy > .inner .right-block dl dd p {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.2rem;
  line-height: 3.2rem;
  letter-spacing: .05em;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.philosophy > .inner .right-block dl dd p {
    line-height: 4.2rem;
  }
}

.l-p-about .l-content.philosophy > .inner .right-block dl dd ol {
  counter-reset: number 0;
}

.l-p-about .l-content.philosophy > .inner .right-block dl dd ol li {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  padding-left: 2.8rem;
  position: relative;
  font-size: 1.6rem;
  line-height: 2.6rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.philosophy > .inner .right-block dl dd ol li {
    line-height: 3.2rem;
  }
}

.l-p-about .l-content.philosophy > .inner .right-block dl dd ol li + li {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.philosophy > .inner .right-block dl dd ol li + li {
    margin-top: 2rem;
  }
}

.l-p-about .l-content.philosophy > .inner .right-block dl dd ol li:before {
  counter-increment: number 1;
  content: counter(number, cjk-ideographic) "、";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.4rem;
  line-height: 2.8rem;
}

.l-p-about .l-content.staff {
  padding-bottom: 8rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.staff {
    padding-bottom: 18rem;
  }
}

.l-p-about .l-content.staff > .inner .right-block ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .l-p-about .l-content.staff > .inner .right-block ul li + li {
    margin-top: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.staff > .inner .right-block ul li {
    width: 32.2rem;
  }
}

.l-p-about .l-content.staff > .inner .right-block ul li .name {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  line-height: 2rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.staff > .inner .right-block ul li .name {
    font-size: 1.2rem;
    line-height: 1.7rem;
  }
}

.l-p-about .l-content.staff > .inner .right-block ul li .position {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 1.7rem;
  color: #577C50;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.staff > .inner .right-block ul li .position {
    margin-top: .5rem;
  }
}

.l-p-about .l-content.staff > .inner .right-block ul li .introduction {
  background-color: #F8F9F4;
  margin-top: 1rem;
  padding: 1rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.staff > .inner .right-block ul li .introduction {
    padding: 1rem 2rem;
  }
}

.l-p-about .l-content.staff > .inner .right-block ul li .introduction p {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.4rem;
  line-height: 2.4rem;
  text-indent: 1em;
}

.l-p-about .l-content.staff > .inner .right-block ul li .comment {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  margin-top: 2rem;
  border: 1px solid #577C50;
  padding: 1rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
  position: relative;
  background-color: #FFFFFF;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.staff > .inner .right-block ul li .comment {
    padding: 1rem 2rem 1rem;
  }
}

.l-p-about .l-content.staff > .inner .right-block ul li .comment:before {
  content: '';
  display: block;
  border-bottom: 1.1rem solid #577C50;
  border-right: .6rem solid transparent;
  border-left: .6rem solid transparent;
  position: absolute;
  top: -1rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
}

.l-p-about .l-content.staff > .inner .right-block ul li .comment:after {
  content: '';
  display: block;
  border-bottom: 1.1rem solid #FFFFFF;
  border-right: .6rem solid transparent;
  border-left: .6rem solid transparent;
  position: absolute;
  top: -0.8rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
}

.l-p-about .l-content.shop {
  padding-top: 0;
  padding-bottom: 8rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.shop {
    padding-top: 0;
    padding-bottom: 18rem;
  }
}

.l-p-about .l-content.shop > .inner .right-block .text {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
  font-size: 1.6rem;
  line-height: 2.6rem;
}

.l-p-about .l-content.shop > .inner .right-block ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: 3.9rem;
  margin-left: -1rem;
}

.l-p-about .l-content.shop > .inner .right-block ul li {
  margin-top: 1rem;
  margin-left: 1rem;
  width: calc(50% - 1rem);
}

.l-p-about .l-content.company {
  padding-top: 0;
  padding-bottom: 8rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.company {
    padding-top: 0;
    padding-bottom: 18rem;
  }
}

.l-p-about .l-content.company > .inner .right-block dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: -2rem;
}

.l-p-about .l-content.company > .inner .right-block dl dt {
  margin-top: 2rem;
  width: 9.8rem;
  color: #577C50;
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: .05em;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.company > .inner .right-block dl dt {
    width: 10.8rem;
  }
}

.l-p-about .l-content.company > .inner .right-block dl dd {
  margin-top: 2rem;
  width: calc(100% - 9.8rem);
  font-size: 1.4rem;
  line-height: 2.4rem;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.company > .inner .right-block dl dd {
    width: calc(100% - 10.8rem);
  }
}

.l-p-about .l-content.company > .inner .right-block dl dd b {
  font-weight: 500;
}

.l-p-about .l-content.company > .inner .right-block .map {
  margin-top: 4rem;
  position: relative;
}

.l-p-about .l-content.company > .inner .right-block .map:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 60.89552%;
}

@media screen and (min-width: 768px) {
  .l-p-about .l-content.company > .inner .right-block .map:before {
    padding-top: 60.81871%;
  }
}

.l-p-about .l-content.company > .inner .right-block .map iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

/* contact */
.l-p-contact {
  background-image: url(./img/background.svg);
  background-size: 136.6rem auto;
  background-position: top 5rem left;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.l-p-contact .l-form {
  padding-top: 6rem;
}

@media screen and (max-width: 767px) {
  .l-p-contact .l-form {
    width: 100%;
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form {
    padding-top: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .l-p-contact .l-form > .inner {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner {
    width: 108rem;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .left-block {
    width: 35rem;
  }
}

.l-p-contact .l-form > .inner .right-block {
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .l-p-contact .l-form > .inner .right-block {
    margin-top: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block {
    width: 69.6rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form .mw_wp_form_confirm dd {
    margin-top: 4.8rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form .mw_wp_form_complete {
    padding-top: 4.8rem;
  }
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form dl {
    display: flex;
    flex-wrap: wrap;
  }
}

.l-p-contact .l-form > .inner .right-block .form dl dt {
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 2rem;
  color: #577C50;
  letter-spacing: .05em;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form dl dt {
    width: 20.2rem;
    margin-top: 4.8rem;
    line-height: 2.4rem;
  }
}

.l-p-contact .l-form > .inner .right-block .form dl dd {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form dl dd {
    width: 49.4rem;
    margin-top: 3.5rem;
  }
}

.l-p-contact .l-form > .inner .right-block .form .privacy {
  margin-top: 2rem;
  display: block;
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form .privacy {
    margin-top: 3rem;
    padding-left: 20.2rem;
  }
}

.l-p-contact .l-form > .inner .right-block .form .privacy a {
  font-size: 1.2rem;
  line-height: 2.6rem;
  color: #577C50;
  text-decoration: underline;
  margin-left: 2.7rem;
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form .privacy a:hover {
    text-decoration: none;
  }
}

.l-p-contact .l-form > .inner .right-block .form .buttons {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.l-p-contact .l-form > .inner .right-block .form [type=text], .l-p-contact .l-form > .inner .right-block .form [type=email], .l-p-contact .l-form > .inner .right-block .form textarea, .l-p-contact .l-form > .inner .right-block .form select {
  width: 100%;
  border: 1px solid #577C50;
  line-height: 2.4rem;
  font-size: 1.6rem;
  padding: 1.2rem 2rem;
}

.l-p-contact .l-form > .inner .right-block .form .mwform-tel-field input[type=text] {
  width: 8rem;
}

.l-p-contact .l-form > .inner .right-block .form .mwform-checkbox-field-text {
  font-size: 1.2rem;
  line-height: 2.6rem;
  color: #577C50;
}

.l-p-contact .l-form > .inner .right-block .form [type=submit] {
  margin-top: 2rem;
  font-size: 1.6rem;
  color: #FFFFFF;
  background-color: #577C50;
  height: 4.4rem;
  width: 100%;
  display: block;
  border-radius: 10rem;
  text-align: center;
  font-weight: 700;
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form [type=submit] {
    width: 27.2rem;
  }
}

.l-p-contact .l-form > .inner .right-block .form [type=submit][name=submitBack] {
  background-color: #ddd;
  color: #666;
}

@media screen and (min-width: 768px) {
  .l-p-contact .l-form > .inner .right-block .form [type=submit][name=submitBack] {
    margin-right: 2rem;
  }
}
