/*
Theme Name: ace-paint
Theme URI: https://www.ace-paint.co.jp/
Description: pcbrain
Version: 1.0
Author: pcbrain.co.jp
*/
/* YUI fonts.css - font size設定
----------------------------------------------------------- */
@charset "UTF-8";
@import url("css/cssfonts-min.css");
/* default style - リセット及びbody基本設定
----------------------------------------------------------- */
@import url("css/default.css");
/* all style
----------------------------------------------------------- */
@import url("css/style.css");
@import url("setting.css");

:root {
    --base-unit: 0.1rem;
    --base-title-scale: 0.1rem;
    --base-title-min: 18px;
    --illust-backgrond-color: #ffd9bb;
}

a {
    text-decoration: none;
    transition: 0.3s;
}

p:empty {
    display: none !important;
}

.price {
    font-family: var(--en-font-family);
}

:where(:not(#top) .price) {
    font-size: 1.2em;
}

/*--基本の記事スタイル設定--*/
/*
#main .singleContents p {
  font-size: 16px;
  margin-bottom: 15px;
}

#main .singleContents a {
  color: #002590;
  text-decoration: underline;
  display: block;
}

#main .singleContents p + h2,
#main .singleContents p + h3,
#main .singleContents p + h4,
#main .singleContents p + h5,
#main .singleContents p + h6,
#main .singleContents ul + h2,
#main .singleContents ul + h3,
#main .singleContents ul + h4,
#main .singleContents ul + h5,
#main .singleContents ul + h6,
#main .singleContents ol + h2,
#main .singleContents ol + h3,
#main .singleContents ol + h4,
#main .singleContents ol + h5,
#main .singleContents ol + h6 {
  margin-top: 30px;
}

#main .singleContents .inner + p + h2,
#main .singleContents .inner + p + h3,
#main .singleContents .inner + p + h4,
#main .singleContents .inner + p + h5,
#main .singleContents .inner + p + h6 {
  margin-top: 0;
}

#main .singleContents h1,
#main .singleContents h2,
#main .singleContents h3,
#main .singleContents h4,
#main .singleContents h5,
#main .singleContents h6 {
  line-height: 1.5;
  clear: both;
}

#main .singleContents h2 {
  background: #7FB825;
  color: #ffffff;
  font-size: 25px;
  padding: 5px 10px;
  margin: 0 auto 30px;
  position: relative;
  width: 1000px;
  box-sizing: border-box;
  border-bottom: solid 5px #BFDB92;
}

#main .singleContents h2.hOfMainV {
  font-size: 20px;
  margin-bottom: 0;
}

#main .singleContents h2 a {
  color: #ffffff;
  text-decoration: underline;
}

#main .singleContents h2.fullWidth {
  color: #ffffff;
  font-size: 40px !important;
  text-align: center !important;
  box-shadow: none !important;
  position: relative !important;
  width: 100% !important;
  padding: 16px 0 10px !important;
  margin: 0 0 30px;
  line-height: 1.3;
  border-bottom: none;
  font-weight: normal;
  text-shadow: -1px -1px 0 #333;
}

#main .singleContents h2.fullWidth + .inner {
  padding-top: 0;
}

#main .singleContents h2.fullWidth strong {
  font-weight: bold;
}

#top #main .singleContents h2.fullWidth fs-29,
#main .singleContents h2.fullWidthSec {
  font-size: 29px !important;
  font-weight: bold;
}

#main .singleContents h2.fullWblue {
  color: #ffffff;
  font-size: 37px !important;
  text-align: center !important;
  box-shadow: none !important;
  position: relative !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 0 !important;
  border-bottom: none;
  line-height: 1.3;
  background: #002590;
}

#top #main .singleContents h2.fullWidth span.fw-n {
  font-weight: normal;
}

#main .singleContents h2.topH {
  background: url(./img/bg_toph2.png) no-repeat top left;
  position: relative;
  color: #333;
  font-size: 34px;
  line-height: 1;
  padding: 33px 0 0 52px;
  margin-top: 30px;
  border: none;
  width: 1000px;
}

#main .singleContents h2.topH .imgLayer {
  position: absolute;
  right: 0px;
  top: -10px;
}

#main .singleContents h2.topH .imgLayer2 {
  right: 0px;
  top: inherit;
  bottom: -22px;
}

#main .singleContents h2.topH span {
  font-size: 15px;
  position: absolute;
  top: -10px;
  left: 60px;
}

#main .singleContents h3 {
  background: #eeeeee;
  font-size: 22px;
  color: #333;
  border-top: var(--main-color01) solid 7px;
  width: auto;
  padding: 5px 10px;
  margin: 20px 0;
}

#main .singleContents div.qualityBox h3 {
  font-size: 18px;
  padding: 8px 10px 6px;
}

#main .singleContents h3 a {
  color: #333;
  text-decoration: underline;
}

#main .singleContents h4,
#main .singleContents h4.normal {
  font-size: 18px;
  padding: 0 0 0 60px;
  margin: 0 0 20px;
  position: relative;
  line-height: 1.8;
}

#main .singleContents h4::before,
#main .singleContents h4::after,
#main .singleContents h4.normal::before,
#main .singleContents h4.normal::after {
  border-radius: 50%;
  content: '';
  display: block;
  position: absolute;
  top: 3px;
  font-size: 30px;
  line-height: 1.0;
  background: var(--main-color01);
  width: 20px;
  height: 20px;
}

#main .singleContents h4::before,
#main .singleContents h4.normal::before {
  left: 0;
  opacity: 0.5;
}

#main .singleContents h4::after,
#main .singleContents h4.normal::after {
  left: 23px;
}

#main .singleContents h4 a {
  color: #333;
  text-decoration: underline;
}

#main .singleContents h5 {
  background: #0b3e9b;
  color: #FFFFFF;
  font-size: 18px;
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  margin: 0 0 20px;
}

#main .singleContents h5 a {
  color: #ffffff;
  text-decoration: underline;
}

#main .singleContents h6 {
  font-size: 18px;
  padding: 0 0 0 20px;
  margin: 0 0 20px;
  position: relative;
}

#main .singleContents h6::before,
#main .singleContents h6::after {
  position: absolute;
  top: 5px;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

#main .singleContents h6::before {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #FF7C25;
}

#main .singleContents h6::after {
  top: 10px;
  left: 4px;
  width: 4px;
  height: 4px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#main .singleContents h6 a {
  color: #333;
  text-decoration: underline;
}

#main .singleContents blockquote {
  border: solid 1px #ccc;
  background: #fffeee;
  padding: 15px;
  margin-bottom: 15px;
}

#main .singleContents blockquote p {
  margin: 0;
}

#main .singleContents ul {
  margin-bottom: 15px;
}

#main .singleContents ul li {
  font-size: 16px;
  line-height: 1.5;
  margin: 7px 0 0 0;
  position: relative;
  padding-left: 13px;
}

#main .singleContents ul li::before,
#main .singleContents ul li::after {
  position: absolute;
  top: 8px;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}

#main .singleContents ul li::before {
  width: 7px;
  height: 7px;
  background: #bc111a;
}

#main .singleContents ul li::after {
  left: 1.5px;
  top: 10px;
  width: 2px;
  height: 2px;
  border-top: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

#main .singleContents ol {
  margin-bottom: 15px;
  padding-left: 40px
}

#main .singleContents ol li {
  list-style-type: decimal;
  font-size: 16px;
  line-height: 1.5;
  margin: 7px 0 0 0;
}

#main .singleContents table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 1px;
}

#main .singleContents table th,
#main .singleContents table td {
  padding: 15px 20px;
  font-size: 15px;
  line-height: 1.5;
  text-align: left;
  vertical-align: top;
  background: #eeeeee;
  position: relative;
}

#main .singleContents table th {
  width: 20%;
  background-color: #e3d6b8;
  font-weight: normal;
}

#main .singleContents table td a {
  position: absolute;
  right: 20px;
  top: 15px;
  background: #0eaa8e;
  border-radius: 5px;
  color: #ffffff;
  text-decoration: none;
  padding: 0 15px;
}

#main .singleContents table td a:hover {
  opacity: 0.7;
  transition: 0.6s;
}*/

.btnDetail {
    position: relative;
    font-size: 2.0rem !important;
    font-weight: bold;
    background: linear-gradient(0deg, #1758be 0%, #1c9edd 100%);
    box-shadow: 0px -0.2rem 0px 0px #0c4661;
    margin: 0.5rem 0 0 !important;
    padding: 0;
    transition: 0.7s;
    text-align: center;
    color: #ffffff;
}

.btnDetail:hover {
    opacity: 0.7;
    transition: 0.7s;
}

.btnDetail a {
    display: block;
    padding: 0.3rem 0.7rem !important;
    color: #ffffff;
    text-decoration: none;
    text-align: center;
    transition: 0.7s;
}

div.top-area.reas {
    position: relative;
    overflow: hidden;
}

div.top-area .btn a {
    padding: 0.7rem 0.5rem 0.1rem 6.0rem;
    display: block;
    color: #ffffff;
    text-decoration: none;
    border-radius: 0.7rem;
    position: relative;
    margin: 0.3rem 0.2rem;
    text-align: left;
    border-top: solid calc(5 * var(--base-unit)) #f33a3a;
}

div.top-area .btn {
    display: block;
    color: #ffffff !important;
    font-size: 1.7rem;
    font-weight: bold;
    position: relative;
    padding: 0.1rem;
    background: none;
    box-shadow: none;
    font-weight: bold;
    border-radius: 0.7rem;
    background-color: #d00;
    width: 24.0rem;
    margin: 0 auto;
}

div.top-area.reas .btn {
    width: 25.5rem;
}

div.top-area .btn::before,
div.top-area .btn::after {
    position: absolute;
    bottom: 0;
    left: 3.5rem;
    margin: auto;
    content: "";
    vertical-align: middle;
    top: 0.8rem;
}

div.top-area div.reas .btn::before,
div.top-area div.reas .btn::after {
    top: 0.5rem;
}

div.top-area .btn::before {
    width: 1.8rem;
    height: 1.8rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #ffffff;
}

div.top-area .btn::after {
    left: 4.0rem;
    width: .5rem;
    height: .5rem;
    border-top: calc(2 * var(--base-unit)) solid #f33a3a;
    border-right: calc(2 * var(--base-unit)) solid #f33a3a;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.tel {
    font-size: 1.3rem;
}

.areaPage #contents,
#top #contents {
    margin: 0 auto 0;
    position: relative;
}


/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */

footer .ftrBnr {
    position: relative;
    overflow: hidden;
}

footer .ftrBnr .consultationBox,
footer .ftrBnr .estimatesBox {
    float: left;
    margin-right: 4.0rem;
}

footer .ftrBnr .estimatesBox {
    margin-right: 0;
}

footer .inner {
    padding: 3.0rem 0;
}

footer a,
footer a:link,
footer a:visited {
    color: var(--body-text-color);
    text-decoration: none;
}

footer a img {
    width: 19.7rem;
}

footer .ftrLogo {
    margin-bottom: 2.0rem;
    display: block;
}

footer h5 {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    line-height: 1.4;
}

footer nav {
    background: none;
    margin-top: 0;
}




footer .ftrBnrs {
    clear: both;
    padding-top: 7.0rem;
}

footer .ftrBnrsList {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
}

footer .ftrBnrsList li {
    margin: 0 0 1.0rem 1.0rem;
}

footer .ftrBnrsList li a {
    padding: .5rem;
    border: calc(1 * var(--base-unit)) solid #ccc;
    display: block;
}

footer .ftrScroll {
    position: fixed;
    top: 13.0rem;
    right: 0px;
    z-index: 100;
}

footer .ftrScroll ul {
    position: relative;
    width: 13.2rem;
    display: block;
    margin-top: 0.5rem;
    display: flex;
    gap: 1.0rem 0;
    flex-direction: column;
}

.ftrScroll ul li {
    display: block;
    width: 14.0rem;
    background: #ffffff;
    border-radius: 2.0rem 0 0 2.0rem;
}

.ftrScroll ul li a {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 2.0rem 1.0rem;
    box-sizing: border-box;
    background: var(--main-color01);
    color: #ffffff;
    line-height: 1.125;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    display: flex;
    flex-direction: column;
    min-height: 14.0rem;
    justify-content: center;
    position: relative;
    border-radius: 2.0rem 0 0 2.0rem;
}

.ftrScroll ul li a em {
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.25em;
    text-indent: 0.25em;
    font-style: normal;
    display: block;
    background: #ffffff;
    color: var(--red);
    border-radius: 0.6rem;
    min-width: 5.5rem;
    width: fit-content;
    margin: 1.0rem auto 0;
    padding: 0.5rem;
    box-sizing: border-box;
}

.ftrScroll ul li.sideBtnContact a::before,
.ftrScroll ul li.sideBtnShowroom a::before {
    content: "";
    display: block;
    width: 3.0rem;
    height: 3.7rem;
    background: #ffffff;
    mask-size: 100%;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    -webkit-mask-repeat: no-repeat;
    margin: 0 auto;
    z-index: 1;
}

.ftrScroll ul li.sideBtnShowroom02 a::before {
    content: "";
    display: block;
    width: 2.8rem;
    height: 3.7rem;
    background: #ffffff;
    mask-size: 100%;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    -webkit-mask-repeat: no-repeat;
    margin: 0 auto;
    z-index: 1;
}

.ftrScroll ul li.sideBtnShowroom a::before {
    mask-image: url(img/common/svg_showroom.svg);
    -webkit-mask-image: url(img/common/svg_showroom.svg);
}

.ftrScroll ul li.sideBtnContact a::before {
    mask-image: url(img/common/svg_mail.svg);
    -webkit-mask-image: url(img/common/svg_mail.svg);
}

.ftrScroll ul li.sideBtnShowroom02 a::before {
    mask-image: url(img/common/png_showroom.png);
    -webkit-mask-image: url(img/common/png_showroom.png);
}

.ftrScroll ul li a img {
    width: auto;
    height: auto;
    display: block;
    margin: 0 auto 1.0rem;
}

.ftrScroll ul li.sideBtnLine a img {
    width: 4.2rem;
}

.ftrScroll ul li.sideBtnContact a {
    background: var(--main-color01);
}

.ftrScroll ul li.sideBtnShowroom a {
    background: var(--main-color03);
}

.ftrScroll ul li.sideBtnShowroom02 a {
    background: #ff7608;
}

.ftrScroll ul li.sideBtnLine a {
    color: #06c755;
    background: #ffffff;
    border: calc(3 * var(--base-unit)) solid #06c54d;
}

.is-reflection {
    overflow: hidden;
    position: relative;
}

.is-reflection a {
    overflow: hidden;
}

.is-reflection a::after {
    -moz-animation: is-reflection 4s ease-in-out infinite;
    -moz-transform: rotate(45deg);
    -ms-animation: is-reflection 4s ease-in-out infinite;
    -ms-transform: rotate(45deg);
    -o-animation: is-reflection 4s ease-in-out infinite;
    -o-transform: rotate(45deg);
    -webkit-animation: is-reflection 4s ease-in-out infinite;
    -webkit-transform: rotate(45deg);
    animation: is-reflection 4s ease-in-out infinite;
    background-color: #ffffff;
    content: " ";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: -18.0rem;
    transform: rotate(45deg);
    width: 3.0rem;
}

.is-reflection + .is-reflection a::after {
    -webkit-animation-delay: .3s;
    animation-delay: .3s;
}

@keyframes is-reflection {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
        opacity: 0;
    }

    80% {
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }

    81% {
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

@-webkit-keyframes is-reflection {
    0% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0;
    }

    80% {
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0.5;
    }

    81% {
        -webkit-transform: scale(4) rotate(45deg);
        opacity: 1;
    }

    100% {
        -webkit-transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}

footer .ftrScroll .hvFtrBnr .tel span {
    padding: 0 0 0 5.0rem;
    font-size: 5.0rem;
}

footer .ftrScroll .hvFtrBnr .tel {
    margin-right: 2.0rem;
}

footer .ftrScroll .hvFtrBnr ul {
    width: 34.0rem;
}

footer .ftrScroll .hvFtrBnr ul li {
    font-size: 1.5rem;
    margin-bottom: .3rem;
}

footer .ftrScroll .hvFtrBnr ul li a {
    padding: 0 0;
}

footer .ftrScroll .hvFtrBnr ul li:nth-child(n+3) {
    margin-bottom: 0;
}

footer .ftrScroll .hvFtrBnr ul li {
    margin-left: .8rem;
    width: 16.0rem;
}

footer .ftrScroll .ftrCont ul li.ftrTel {
    display: none;
}

footer .ftrScroll .pageTop a {
    background: #7FB825;
    width: 7.6rem;
    height: 7.1rem;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

footer .ftrScroll .pageTop a:hover img {
    filter: alpha(opacity=80);
    opacity: 0.8;
}

#top footer .ftrBnr {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
}

#main .ftrFlownavi {
    position: relative;
    overflow: hidden;
    text-align: center;
    counter-reset: flownav;
}

#main .ftrFlownavi li {
    display: inline-block;
    margin: 2.0rem 5.0rem 0 0;
    counter-increment: flownav;
}

#main .ftrFlownavi li::before,
#main .ftrFlownavi li::after {
    content: none;
}

#main .ftrFlownavi li:nth-child(4n) {
    margin-right: 0;
}

#main .ftrFlownavi li:nth-child(-n+4) {
    margin-top: 0;
}

#main .ftrFlownavi li a {
    width: 15.0rem;
    height: 14.0rem;
    display: table-cell;
    vertical-align: middle;
    background: var(--main-color01);
    color: #ffffff;
    text-decoration: none;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: left;
    padding: 2.0rem 1.0rem 1.0rem;

    box-sizing: border-box;
    position: relative;
    line-height: 1.4;
    box-shadow: 0px .4rem 0px 0px rgba(255, 255, 255, 0.3) inset;
    border: var(--main-color01) solid calc(3 * var(--base-unit));
    border-radius: .6rem;
    overflow: hidden;
}

#main .ftrFlownavi li a.active {
    background: #f60;
    border: #f60 solid calc(3 * var(--base-unit));
}

#main .ftrFlownavi li a > small {
    font-size: 1.3rem;
}

#main .ftrFlownavi li::before,
#main .ftrFlownavi li::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 110%;
    margin: auto;
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    border-top: calc(4 * var(--base-unit)) solid rgba(127, 184, 37, 0.6);
    border-right: calc(4 * var(--base-unit)) solid rgba(127, 184, 37, 0.6);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    background: none;
}

#main .ftrFlownavi li::after {
    left: 115%;
}

#main .ftrFlownavi li:last-child::before,
#main .ftrFlownavi li:last-child::after {
    content: none;
}

#main .ftrFlownavi li a::before {
    content: counter(flownav, decimal-leading-zero);
    background: #ffffff;
    color: #f60;
    position: absolute;
    top: -.8rem;
    left: -.8rem;
    width: 4.0rem;
    height: 4.0rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#main .ftrFlownavi li span {
    background: #ffffff;
    border-radius: .5rem;
    padding: .5rem;
    box-sizing: border-box;
    font-size: 1.5rem;
    color: #d00000;
    display: block;
    text-align: center;
}

#main .ftrFlownavi li span small {
    color: var(--body-text-color);
    font-size: 1.0rem;
    display: block;
}

/* -----------------------------------------------------------
    nav
----------------------------------------------------------- */
nav ul#gNav > li.tel {
    font-size: 1.4rem;
    font-weight: 400;
    padding-left: 3.0rem;
}

nav #gNav > li > ul {
    position: absolute;
    top: 9.2rem;
    left: 0;
    z-index: 1;
    min-width: 100%;
    height: 0;
    width: auto;
}

nav #gNav > li > ul > li {
    visibility: hidden;
    overflow: hidden;
    width: auto;
    height: 0;
    background: rgba(45, 41, 32, 0.8);
    border-bottom: solid calc(1 * var(--base-unit));
    border-bottom-color: rgba(255, 255, 255, 0.8);
    font-size: 1.3rem;
    transition: 0.7s;
    float: none;
    font-weight: normal;
    text-shadow: none;
}

nav #gNav li ul li a {
    height: auto;
    border-bottom: none;
    height: 3.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

nav #gNav li ul li a::before,
nav #gNav li ul li a::after {
    display: none;
}

nav #gNav li ul li a:link,
nav #gNav li ul li a:visited {
    color: #ffffff;
    text-decoration: none;
}

nav #gNav li ul li:hover,
nav #gNav li ul > li a:hover {
    color: #f1d200 !important;
    transition: 0.7s;
}

nav #gNav li:hover ul li,
nav #gNav li a:hover ul li {
    visibility: visible;
    overflow: visible;
    height: 3.9rem;
}

#menu nav #gNav > li.gnav03 ul li a,
#menu nav #gNav > li.gnav04 ul li a {
    color: #ffffff !important;
}

#menu nav #gNav > li.gnav03 ul li a:hover,
#menu nav #gNav > li.gnav04 ul li a:hover {
    color: #f1d200 !important;
    transition: 0.7s;
}

#main .wide.leftOver,
#main .wide.rightOver {
    position: relative;
}

#main .wide.leftOver::before,
#main .wide.rightOver::before {
    content: "";
    position: absolute;
    display: block;
    background: var(--background, #ccc);
    width: calc(100% + var(--wide-outer) - 12.5rem);
    top: 0;
    height: 100%;
}

#main .wide.leftOver::before {
    border-radius: 0 2.0rem 2.0rem 0;
    left: calc(-1 * var(--wide-outer));
}

#main .wide.rightOver::before {
    border-radius: 2.0rem 0 0 2.0rem;
    right: calc(-1 * var(--wide-outer));
}

#main .photoUL {
    margin: 0 0 0 0;
    padding: 0;
    overflow: hidden;
}

#main .photoUL li {
    width: 31.6rem;
    margin: 0 2.5rem 2.0rem 0;
    padding: 0;
    float: left;
    background: none;
    font-size: 1.5rem;
}

#main .shopAccess .photoUL li {
    width: 32.2rem;
    margin: 0 1.7rem 2.0rem 0;
}

#main .photoUL li:nth-child(3n) {
    margin: 0 0 2.0rem 0;
}

#main .photoUL li:nth-child(3n + 1) {
    clear: left;
}

#main .photoUL .otherPhoto {
    width: 31.6rem;
    height: 20.6rem;
    position: relative;
    overflow: hidden;
    display: block;
}

#main .photoUL .otherPhoto img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}

#main .photoUL li img {
    margin-bottom: .5rem;
}

#main .photoUL li h5 {
    font-size: 1.5rem;
    display: block;
    margin: 0;
    padding: 0;
    background: none;
    color: #12a73b;
}

#main .photoUL li::before,
#main .photoUL li::after {
    content: none;
}

#main .warryBox,
#main .meritBox {
    position: relative;
    overflow: hidden;
    margin-bottom: 2.0rem;
}

#main .warryBox p,
#main .meritBox p {
    line-height: 1.4;
    font-size: 1.5rem;
    margin-bottom: 0;
}

#main .warryBox img {
    float: left;
    margin-right: 3.0rem;
}

#main .warryList,
#main .meritList {
    border-top: var(--body-text-color) dotted calc(1 * var(--base-unit));
    padding-top: 1.0rem;
    overflow: hidden;
}

#main .warryList li,
#main .meritList li {
    background: none;
    border-bottom: var(--body-text-color) dotted calc(1 * var(--base-unit));
    position: relative;
    font-size: 3.0rem;
    font-weight: bold;
    padding: 0 0 .7rem 0;
    margin: 0 0 .8rem;
}

#main .warryList li {
    font-size: 2.4rem;
    padding: 0 0 .7rem 4.0rem;
}

#main .meritList li span {
    background: #BC111A;
    border-radius: .5rem;
    color: #ffffff;
    display: inline-block;
    padding: 0 1.0rem;
    margin-right: 1.5rem;
}

#main .warryList li:last-child,
#main .meritList li:last-child {
    margin-bottom: 0;
}

#main .meritList > li::before,
#main .meritList > li::after {
    content: none;
}

#main .warryList > li::before,
#main .warryList > li::after {
    position: absolute;
    top: .5rem;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .warryList > li::before,
#main .meritList > li::before {
    background: #4dbe53;
    border-radius: .4rem;
    width: 2.5rem;
    height: 2.5rem;
}

#main .warryList > li::after,
#main .meritList > li::after {
    left: .6rem;
    top: 1.2rem;
    width: 1.0rem;
    height: .5rem;
    border-left: calc(4 * var(--base-unit)) solid #ffffff;
    border-bottom: calc(4 * var(--base-unit)) solid #ffffff;
    border-right: none;
    border-top: none;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#main .warryList li strong,
#main .meritList li strong {
    background: #fcff00;
    display: inline-block;
    line-height: 0.5;
}

#main .meritBox .diagnosisList {
    clear: both;
    z-index: 10;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#main .meritBox .diagnosisList li {
    border-radius: .4rem;
    background: #4dbe53;
    color: #ffffff;
    font-size: 4.0rem;
    font-weight: bold;
    text-align: center;
    width: 24%;
    width: calc(25% - 1.0rem);
    padding: .3rem 0;
}

#main .meritBox .diagnosisList li::before,
#main .meritBox .diagnosisList li::after {
    content: none;
}

#main .meritBox .diagnosisP {
    color: #ffffff;
    border-radius: .4rem;
    background: #00617D;
    font-size: 3.0rem;
    font-weight: bold;
    text-align: center;
    padding: 1.0rem 0;
}



#main .topEvent_inner {
    margin-bottom: 3.0rem;
}

#main .topEvent_inner h2 {
    width: auto;
    margin: 0 0 2.0rem;
}

#main .top_eventBox {
    display: flex;
}

#main .top_eventBox a {
    text-decoration: none;
}

#main .topEvent_left {
    width: 50.0rem;
    height: 25.0rem;
    overflow: hidden;
    position: relative;
}

#main .topEvent_left img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}

#main .topEvent_right {
    text-align: center;
}

#main .topEvent_contents {
    padding: .5rem 1.0rem .5rem 3.0rem;
}

#main .topEvent_date {
    display: flex;
    background: #64b740;
    border-radius: .5rem;
    margin-bottom: 1.5rem;
    padding: .5rem;
    box-sizing: border-box;
}

#main .topEvent_date dt {
    width: 25%;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
}

#main .topEvent_date dd {
    width: 75%;
    background: #ffffff;
    font-weight: bold;
    text-align: center;
}

#main .topEvent_txt {
    box-sizing: border-box;
}

#main .top_eventBox h3 {
    font-size: 2.0rem;
    min-height: inherit;
    background: none;
    border: none;
    margin-bottom: 1.5rem;
    padding: 0;
}

#main .topEvent_txt p {
    color: var(--body-text-color);
    font-size: 1.4rem;
    text-align: left;
}

#main .top_eventBox .btn {
    display: block;
    color: #ffffff !important;
    font-size: 1.7rem;
    font-weight: bold;
    position: relative;
    padding: .1rem;
    background: none;
    box-shadow: none;
    font-weight: bold;
    border-radius: .7rem;
    background-color: #00617D;
    width: 16rem;
    float: right;
}

#main .top_eventBox .btn a {
    padding: .7rem .5rem .1rem 6.0rem;
    display: block;
    color: #ffffff;
    text-decoration: none;
    border-radius: .7rem;
    position: relative;
    margin: .3rem .2rem;
    text-align: left;
    border-top: solid calc(5 * var(--base-unit)) #007FA3;
}

#main .medalCatch {
    position: relative;
    z-index: 10;
    margin: 0 auto;
    font-weight: bold;
    font-size: 2.7rem;
    display: block;
    line-height: 1.2;
}

#main .medalCatch img {
    float: left;
    margin: -1.0rem 1.5rem 0 0;
}

#main .medalCatch strong {
    color: #bc111a;
}

#main .medalCatch span {
    display: block;
}

#main .medalCatch span.txtL {
    font-size: 4.2rem;
    font-weight: normal;
}

#main .medalCatch span.txtL strong {
    color: #0b3e9b;
}

#main .medalCatch span.txtEn {
    color: #0eaa8e;
    font-size: 1.5rem;
}

.consultationBox {
    width: 48.0rem;
    position: relative;
    padding-top: .5rem;
    float: left;
}

.consultationBox a {
    text-decoration: none !important;
}

.consultationBox h3 {
    background: #217A4C !important;
    color: #ffffff !important;
    font-size: 2.0rem !important;
    padding: 0 1.5rem !important;
    border-top: none !important;
    margin: 0 !important;
    line-height: 1.8 !important;
}

.consultationBox .inBox {
    border: #ccc solid calc(1 * var(--base-unit));
    background: #ffffff;
    box-sizing: border-box;
    padding: .9rem .4rem 1.5rem 1.5rem;
    position: relative;
    overflow: hidden;
}

.consultationBox h4 {
    font-size: 1.8rem !important;
    padding: 0 !important;
    position: relative;
    margin: 0 0 .6rem 0 !important;
    line-height: 1.5 !important;
    text-decoration: none !important;
    color: var(--body-text-color) !important;
}

#main .consultationBox h4::before,
#main .consultationBox h4::after {
    border-radius: 50%;
    content: '';
    display: none;
    position: absolute;
    top: .3rem;
    font-size: 3.0rem;
    line-height: 1.0;
    background: #0eaa8e;
    width: 2.0rem;
    height: 2.0rem;
}

.consultationBox h4::before {
    left: -.5rem;
    opacity: 0.5;
}

.consultationBox h4::after {
    left: 1.8rem;
}

.consultationBox p.consultationImg {
    position: relative;
    margin-top: -6.5rem;
}

.consultationBox .inBox img.consulImg {
    float: left;
    margin-right: 0;
}

.consultationBox .catchBox {
    position: relative;
}

.consultationBox .btn {
    margin-bottom: 0 !important;
    padding: .5rem 4.0rem .5rem 6.0rem;
    width: auto;
}

.consultationBox p.consultationTxt {
    font-size: 1.2rem !important;
    color: var(--body-text-color) !important;
    padding: 6.0rem 0 0 24.0rem;
    margin: 0 !important;
    position: relative;
}

.consultationBox .catchTxt {
    position: absolute;
    right: 0;
    bottom: 0;
    margin-bottom: .5rem !important;
}

.consultationBox .catchTxt span {
    color: #bc111a;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 0 !important;
    float: right;
    line-height: 1.2;
}

.consultationBox .catchTxt span strong {
    color: var(--body-text-color);
    font-size: 3.3rem;
    background: linear-gradient(transparent 60%, #fcff00 40%);
    display: block;
    line-height: 1;
}

.consultationBox .catchTxt span.txtHp {
    color: var(--body-text-color);
    font-size: 1.1rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 0 !important;
    float: right;
}

.consultationBox ul {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0 !important;
}

.consultationBox ul li {
    position: relative;
    font-size: 2.0rem !important;
    font-weight: bold;
    background: #bc111a !important;
    box-shadow: 0 -.3rem 0 #930839 inset;
    padding: 0 !important;
    transition: 0.7s;
    text-align: center;
    color: #ffffff;
    margin: 0 !important;
}

.consultationBox ul li:hover {
    opacity: 0.7;
    transition: 0.7s;
}

.consultationBox ul li a {
    display: block;
    padding: .3rem 1.0rem !important;
    color: #ffffff !important;
    text-decoration: none !important;
    text-align: center;
    transition: 0.7s;
}

.consultationBox ul li::before,
.consultationBox ul li::after {
    content: none !important;
}

.estimatesBox {
    width: 48.0rem;
    position: relative;
    padding-top: .5rem;
    float: right;
}

.estimatesBox a {
    text-decoration: none !important;
    color: var(--body-text-color) !important;
}

.estimatesBox .imgLayer {
    top: 2.4rem;
    right: 1.6rem;
    z-index: 100;
    width: 18%;
}

.estimatesBox h3 {
    background: #217A4C !important;
    color: #ffffff !important;
    font-size: 2.0rem !important;
    padding: 0 1.5rem !important;
    border-top: none !important;
    margin: 0 !important;
    line-height: 1.8 !important;
    position: relative;
}

.estimatesBox h3 .imgLayer {
    position: absolute;
    right: 2.5rem;
    top: -1.0rem;
    z-index: 10;
}

.estimatesBox .inBox {
    border: #ccc solid calc(1 * var(--base-unit));
    background: #ffffff;
    box-sizing: border-box;
    padding: 1.1rem 1.5rem 1.5rem 1.5rem;
    position: relative;
    width: 100%;
}

.estimatesBox h4 {
    font-size: 1.8rem !important;
    padding: 0 0 0 5.0rem !important;
    position: relative !important;
    margin: 0 !important;
}

.estimatesBox h4::before,
.estimatesBox h4::after {
    border-radius: 50%;
    content: '';
    display: block;
    position: absolute;
    top: .3rem;
    font-size: 3.0rem;
    line-height: 1.0;
    background: #0eaa8e;
    width: 2.0rem;
    height: 2.0rem;
}

.estimatesBox h4::before {
    left: -.5rem;
    opacity: 0.5;
}

.estimatesBox h4::after {
    left: 1.8rem;
}

.estimatesBox .inBox p {
    font-size: 3.5rem !important;
    font-weight: bold;
    z-index: 10;
    position: relative;
    margin-bottom: 0px !important;
    margin-top: 0px !important;
    height: 5.5rem;
}

.estimatesBox .inBox p strong {
    color: #BC111A;
}

.estimatesBox .inBox p span {
    border-radius: .4rem;
    background: #FF6600;
    color: #ffffff;
    font-size: 2.0rem;
    padding: .5rem .5rem;
    margin-right: .4rem;
    vertical-align: 25%;
}

.estimatesBox .inBox .telBox {
    background: #217A4C;
    padding: 1.0rem;
    margin-top: .1rem;
    position: relative;
    display: block;
    float: none;
}

.estimatesBox .inBox .telBox h5 {
    background: none !important;
    color: #ffffff;
    font-size: 1.3rem !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.estimatesBox .inBox .telBox .number {
    background: #ffffff;
    margin-top: .5rem;
    padding: .5rem 1.0rem;
    width: 100%;
    box-sizing: border-box;
}

.estimatesBox .inBox .telBox .tel {
    font-size: 1.3rem !important;
    font-weight: normal;
    display: inline-block;
    text-align: left;
    margin-bottom: 0 !important;
    line-height: 1;
    height: auto;
}

.estimatesBox .inBox .telBox .tel span {
    color: #BC111A;
    border-radius: 0;
    font-size: 6.0rem;
    line-height: 1;
    padding: 0 0 0 6.0rem;
    display: block;
    margin-right: 0;
}

#main .bnrArea {
    padding: 2.0rem 0;
    background-color: #7FB825;
}

#main .bnrArea .estimatesBox {
    float: right;
}

#main .bnrArea .consultationBox {
    margin: 0 !important;
    float: left;
}

#main .comContactLBox {
    position: relative;
    overflow: hidden;
    border-bottom: #ccc solid calc(1 * var(--base-unit));
}

#main .comContactLBox a {
    text-decoration: none !important;
    color: var(--body-text-color) !important;
}

#main .comContactLBox .imgLayer {
    top: 0;
    left: 37.5rem;
    z-index: 1;
}

#main .comContactLBox h3 {
    background: #12a73b;
    color: #ffffff;
    font-size: 2.0rem;
    padding: 0 1.5rem;
    border-top: none;
    margin-bottom: 0;
    line-height: 1.8;
}

#main .comContactLBox .inBox {
    border: #ccc solid;
    border-width: calc(1 * var(--base-unit)) calc(1 * var(--base-unit)) 0 calc(1 * var(--base-unit));
    background: #ffffff;
    box-sizing: border-box;
    padding: 1.0rem;
    position: relative;
    overflow: hidden;
}

#main .comContactLBox h4 {
    padding-bottom: 1.0rem;
    margin: 0 0 1.5rem;
    border-bottom: #ccc solid calc(1 * var(--base-unit));
    display: inline-block;
}

#main .comContactLBox .inBox p {
    font-size: 2.7rem;
    font-weight: bold;
    z-index: 10;
    position: relative;
    margin-bottom: 0;
}

#main .comContactLBox .inBox p strong {
    color: #e50012;
}

#main .comContactLBox .inBox p span {
    border-radius: .4rem;
    background: #e50012;
    color: #ffffff;
    font-size: 2.0rem;
    padding: .7rem;
    margin-right: .5rem;
}

#main .comContactLBox .inBox .telBox {
    background: #ffffff;
    padding: 1.0rem 2.5rem;
    float: right;
    width: 42.0rem;
    position: relative;
    text-align: center;

    box-sizing: border-box;
    margin-bottom: 1.0rem;
    z-index: 1;
}

#main .comContactLBox .inBox .telBox .imgLayer {
    bottom: 100%;
    right: 0;
    top: inherit;
    z-index: 0;
}

#main .comContactLBox .inBox .telBox h5 {
    color: var(--body-text-color);
    background: none;
    font-size: 1.5rem;
    padding: 0;
    display: block;
    margin-bottom: 0;
}

#main .comContactLBox .inBox .telBox .number {
    text-align: center;
}

#main .comContactLBox .inBox .telBox .tel {
    font-size: 1.3rem !important;
    font-weight: normal;
    display: inline-block;
    text-align: left;
    margin-bottom: 0 !important;
    line-height: 1.2;
}

#main .comContactLBox .inBox .telBox .tel span {
    color: #BC111A;
    font-size: 5.9rem;
    line-height: 1;
    padding: 0 0 0 6.5rem;
    margin: 0 0;
    display: block;
    white-space: nowrap;
}

#main .comContactLBox .inBox .catchTxt {
    background: #002590;
    clear: both;
    color: #ffffff;
    text-align: center;
    display: block;
    font-size: 2.0rem;
    font-weight: bold;
}

#main .ContactScrollBox {
    border: #bc111a solid calc(3 * var(--base-unit));
    position: relative;
    padding: 1.0rem 27.5rem 1.0rem 17.0rem;
    margin: 3.0rem auto 4.0rem;
    width: 110.0rem;
    box-sizing: border-box;
}

#main .ContactScrollBox .freeDiagnosis {
    width: 9.2rem;
    color: #ffffff;
    font-weight: bold;
    line-height: 1.1;
    font-size: 4.5rem;
    background: #bc111a;
    padding: 1.0rem 3.0rem;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: 0;
}

#main .ContactScrollBox .tel {
    display: table;
    margin-bottom: 1.0rem;
}

#main .ContactScrollBox .tel span {
    font-size: 5.4rem;
    display: table-cell;
    vertical-align: bottom;
    background-position: bottom left;
    background-position: bottom .3rem left;
    padding-left: 6.0rem;
    line-height: 1;
}

#main .ContactScrollBox .tel span.timeS {
    font-size: 1.4rem;
    display: table-cell;
    vertical-align: bottom;
    width: 11em;
    background: none;
    color: var(--body-text-color);
    font-weight: normal;
    padding-left: 1.0rem;
    line-height: 1.3;
    font-family: var(--base-font-family);
}

#main .ContactScrollBox .telPlease {
    clear: both;
    margin-bottom: 0;
    background: #0b3e9b;
    border-radius: .5rem;
    color: #ffffff;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    padding: .4rem 0;
}

#main .ContactScrollBox .toForm {
    background: #46ae00;
    display: block;
    border-radius: .5rem;
    color: #ffffff;
    font-size: 3.4rem;
    font-weight: bold;
    text-decoration: none;
    background: linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    background: -webkit-linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    background: -moz-linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    background: -o-linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    background: -ms-linear-gradient(top, #12bfaa 0%, #12bfaa 50%, #0eaa8e 51%, #0eaa8e 100%);
    position: absolute;
    top: 1.0rem;
    bottom: 1.0rem;
    right: 1.0rem;
    width: 14.0rem;
    padding: 1.0rem 3.0rem 1.0rem 8.0rem;
    line-height: 1;
}

#main .ContactScrollBox .toForm::before {
    content: "";
    width: 4.3rem;
    height: 4.7rem;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2.0rem;
    margin: auto;
}

#main .ContactScrollBox .toForm span {
    display: block;
    font-size: 2.5rem;
}

#main .ContactScrollBox .toForm:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .bnrArea #main .comContactLBox {
    float: left;
    margin-right: 4.0rem;
}

#main .bnrArea #main .comContactLBox {
    margin: 0 !important;
}

.shopInfo,
#main .shopInfo {
    position: relative;
    overflow: hidden;
}

.shopInfo ul {
    position: relative;
    overflow: hidden;
}

#main .shopInfo ul {
    margin-top: 0;
}

.shopInfo ul li,
#main .shopInfo ul li {
    float: left;
    margin: 0 2.0rem 0 0 !important;
    background: #f60;
    padding: 0;
    margin: 0 1.7rem 0 0;
    width: 32.0rem;
    position: relative;
}

.shopInfo ul li:nth-child(3),
#main .shopInfo ul li:nth-child(3) {
    margin-right: 0;
}

.shopInfo ul li:last-child,
#main .shopInfo ul li:last-child {
    margin-right: 0 !important;
}

.shopInfo ul li a,
#main .shopInfo ul li a {
    text-decoration: none;
}

.shopInfo ul li h4,
#main .shopInfo ul li h4 {
    position: relative;
    overflow: hidden;
    margin: 0 !important;
    color: #ffffff;
    font-size: 2.3rem;
    writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    box-sizing: border-box;
    line-height: 1.3;
    height: 17.0rem;
    text-align: left;
    padding: 1.0rem 1.0rem;
    float: left;
}

#main .shopInfo ul li h4::before,
#main .shopInfo ul li h4::after {
    content: none !important;
    display: none !important;
}

.shopInfo ul li .shopPict {
    height: 17.0rem;
    width: 26.8rem;
    overflow: hidden;
    display: block;
    float: right;
    position: relative;
}

.shopInfo ul li .shopPict img {
    position: absolute;
    width: 100%;
    height: auto;
}

.shopInfo ul li .tel,
#main .shopInfo ul li .tel {
    font-size: 1.1rem;
    color: #ffffff;
    padding: 1.0rem;
    line-height: 1.5;
    background-color: #4fa800;
    margin-top: 0;
    clear: both;
}

.shopInfo ul li .tel span,
#main .shopInfo ul li .tel span {
    font-family: var(--en-font-family);
    font-size: 3.5rem;
    padding-left: 4.0rem;
    line-height: 1;
    display: block;
}

.shopAccess > ul > li {
    background: none !important;
    margin: 0 0 !important;
    padding: 0 !important;
}

.shopAccess ul li::before,
.shopAccess ul li::after {
    display: none !important;
}

.shopAccess ul li .shopMain {
    background: #e50012;
    float: left;
    width: 28.2rem;
    margin-right: 3.0rem;
}

.shopAccess ul li .shopMain .tel {
    font-size: 1.1rem !important;
    color: #ffffff;
    padding: 1.0rem;
    line-height: 1.5;
    margin: 0 !important;
}

.shopAccess ul li .shopMain .tel span {
    font-size: 2.9rem;
    font-family: var(--en-font-family);
    padding-left: 4.0rem;
    line-height: 1;
}

.shopAccess ul li .shopSummery h5 {
    margin: 0 !important;
    border-radius: 0 !important;
    padding: .5rem 4.0rem !important;
    text-align: center;
    font-size: 2.0rem !important;
}

.shopAccess ul li .shopSummery {
    overflow: hidden;
}

#main .combnrList,
#main .combnrCardList {
    position: relative;
    margin: 8.0rem 0;
    display: flex;
    gap: 4.0rem;
    align-items: stretch;
}

#main .combnrList {
    justify-content: center;
}

#main .combnrCardList {
    flex-wrap: wrap;
}

#main .combnrList > *,
#main .combnrCardList > * {
    width: calc(50% - 2.0rem);
}

#main .combnrList li {
    display: block;
    margin: 0;
    padding: 0;
}

#main .combnrList li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .combnrList li a {
    color: #ffffff;
    text-decoration: none;
}

#main .combnrList li a img {
    width: 100%;
}

#main .combnrList li::before,
#main .combnrList li::after {
    content: none;
}

#main .combnrCardList li {
    display: block;
}

#main .combnrCardList li a {
    display: grid;
    grid-template-columns: auto 23rem;
    height: 100%;
    box-sizing: border-box;
    border: calc(2 * var(--base-unit)) solid var(--color, #ccc);
    color: var(--body-text-color);
    border-radius: 2.0rem;
    overflow: hidden;
    text-decoration: none;
    text-align: center;
    background: #ffffff;
    position: relative;
    transition: 0.3s ease;
}

/*
#main .combnrCardList li:not(.color-nx) a:hover,
#main .combnrCardList li:not(.color-nx) a:hover img{
    opacity: 1;
}
#main .combnrCardList li:not(.color-nx) a:hover{
    box-shadow: 0 2rem 1.0rem -1.5rem rgba(0,0,0,0.25);
}

#main .combnrCardList:has(li a:hover) li a:not(:hover){
    filter:brightness(95%);
}
*/
#main .combnrCardList li.color-n {
    --color: rgba(255, 255, 255, 0);
    display: block;
}

#main .combnrCardList li.color-n a {
    border: 0 !important;
    overflow: visible;
    width: 100%;
    display: block;
}

#main .combnrCardList li.color-n a img {
    width: 100%;
}

#main .combnrCardList li.color-n a img.imgLayer {
    width: 16.8rem;
}

#main .combnrCardList li:not(.color-n) {
    border-radius: 2rem;
    background: #ffffff;
}

#main .combnrCardList li:nth-of-type(2) {
    --color: var(--main-color03);
}

#main .combnrCardList li:nth-of-type(3) {
    --color: var(--red);
}

#main .combnrCardList li:nth-of-type(4) {
    --color: #f0730e;
}

#main .combnrCardList li:nth-of-type(5) {
    --color: #076014;
}

#main .combnrCardList li a img.imgLayer {
    position: absolute;
    display: block;
    margin: 0 auto;
    bottom: -2.2rem;
    left: 0;
    right: 0;
}

#main .combnrCardList > li > a > dl,
#main .combnrCardList > li > a > figure {
    box-sizing: border-box;
}

#main .combnrCardList > li > a > dl {
    /* flex-basis: 66%; */
    padding: 1.5rem 3.0rem;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;

}

#main .combnrCardList > li > a > dl dt,
#main .combnrCardList > li > a > dl dd {
    display: block;
    margin: 0 -1rem;
}

#main .combnrCardList > li > a > dl dt {
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.45;
    border-bottom: calc(3 * var(--base-unit)) dotted #ccc;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
}

#main .combnrCardList > li > a > dl dd {
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: -0.05em;
}

#main .combnrCardList > li > a > figure {
    flex-basis: 23.0rem;
    margin: 0;
}

#main .combnrCardList > li > a > figure > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main .combnrListOtr {
    position: relative;
    overflow: hidden;
}

#main .combnrListOtr li {
    border-radius: .8rem;
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0;
    width: 48.0rem;
    float: left;
    text-align: center;
    margin: 0;
    margin-top: 4.0rem;
}

#main .combnrListOtr li:nth-child(-n + 2) {
    margin-top: 0;
}

#main .combnrListOtr li:nth-child(2n) {
    float: right;
}

#main .combnrListOtr li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .combnrListOtr li a {
    color: #ffffff;
    text-decoration: none;
}

#main .combnrListOtr li::before,
#main .combnrListOtr li::after {
    content: none;
}

#main .serviceContents {
    padding: 0 0 6.0rem 0;
}

#main .serviceContents h2.fullWidth {
    margin-bottom: 0;
}

#main .serviceContents h3 {
    background: none;
    border-top: none;
    font-size: 3.0rem;
    text-align: center;
    line-height: 1.3;
    padding: 0 0 2.0rem;
    margin: 0 0 2.0rem;
    position: relative;
}

#main .serviceContents h3::after {
    background: #0eaa8e;
    content: '';
    display: block;
    height: .8rem;
    position: absolute;
    width: 32.5rem;
    margin: 0 auto;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 0;
    border: none;
}

#main .serviceContents .whiteBox {
    border-radius: .5rem;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 2.5rem;
    margin-top: 4.0rem;
}

#main .serviceContents .whiteBox p {
    font-size: 1.5rem;
    margin-top: 0;
}

#main .serviceContents .imgLayer {
    right: 0;
    top: 0;
    z-index: 22;
}

#main .serviceContents .catchTtl {
    width: 110.0rem;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
}

#main .serviceContents .catchTtl p {
    font-size: 8.0rem;
    font-weight: bold;
    position: relative;
    display: inline;
    margin: 0 10.0rem 0 0;
}

#main .serviceContents .catchTtl span {
    background: #7FB825;
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    width: 11.0rem;
    height: 11.0rem;
    border-radius: 50%;
    float: left;
    margin-right: -1.0rem;
    padding-top: .5rem;
    box-sizing: border-box;
}

#main .serviceContents .catchTtl .imgLayer {
    left: 100%;
}

#main .packWall,
#main .packRoof,
#main .packOther {
    position: relative;
    overflow: hidden;
}

#top #main .packWall,
#top #main .packRoof {
    background: none;
}

#main .packWall a,
#main .packRoof a {
    text-decoration: none;
    color: var(--body-text-color);
}

#main .packWall article,
#main .packRoof article,
#main .packOther article {
    background: #ffffff;
    border: #ccc solid calc(1 * var(--base-unit));
    padding: 1.0rem;
    margin: 0 0 3.0rem 0;
    box-sizing: border-box;
    position: relative;
}

#main .packOther article {
    padding: 0;
    border: none;
    width: 49.0rem;
    float: left;
}

#main .packOther article:nth-of-type(2n) {
    margin-right: 0;
    float: right;
}

#main .packTtl {
    position: relative;
    width: 45%;
    float: left;
    margin-bottom: .8rem;
}

#main .packTtl h3 {
    font-size: 6.3rem;
    width: 17.0rem;
    float: left;
    background: none;
    margin-bottom: 0;
    border-top: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-right: 1.0rem;
    position: relative;
    z-index: 100;
    margin-bottom: .3rem;
}

#main .packTtl h3.secH3 {
    padding-left: 6.0rem;
}

#main .packTtl h3.secH3::before {
    content: "+";
    font-size: 4.5rem;
    line-height: 5.0rem;
    color: #ffffff;
    position: absolute;
    top: 1.0rem;
    left: 0;
    width: 5.0rem;
    height: 5.0rem;
    border-radius: 50%;
    background-color: var(--body-text-color)333;
    margin-right: 1.0rem;
}

#main .packTtl h3 span {
    display: inline-block;
    border-radius: .4rem;
    background: var(--main-color01);
    color: #ffffff;
    width: 48%;
    width: calc(50% - .2rem);
    text-align: center;
    line-height: 1;
    padding: .8rem 0 0;
    margin-top: .3rem;
}

#main .packRoof .packTtl h3 span,
#main .packWall .wPack h3 span {
    background: #7FB825;
}

#main .packRoof .packTtl h3 span {
    background: #00617D;
}

#main .packWall .wPack h3.secH3 span {
    background: #0eaa8e;
}

#main .packTtl h3::after {
    content: none;
}

#main .packTtl .warrantyY {
    border-radius: .4rem;
    font-size: 2.4rem;
    line-height: 1.2;
    text-align: center;
    font-weight: bold;
    width: 8.0rem;
    float: left;
    background: #7FB825;
    margin-left: .3rem;
    margin-bottom: 0;
    padding: .5rem 0 0;
    color: #ffffff;
    position: relative;
    z-index: 100;
}

#main .packTtl .warrantyY span {
    display: block;
    line-height: 1;
    border-radius: .4rem;
    background: #ffffff;
    color: var(--body-text-color);
    margin: .5rem;
    padding-top: .5rem;
    z-index: 100;
}

#main .packImg {
    position: relative;
    right: 0;
    top: 0;
    width: 25.0rem;
    height: 14.5rem;
    overflow: hidden;
    margin: 0;
}

#main .packImg::after {
    display: none;
}

#main .packImg img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}

#main .packImg .medal-img,
#main .packImg img + img {
    top: 30%;
    left: 25%;
    width: 50%;
}

#main .packsummary {
    position: relative;
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: flex-end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex: 1;
    float: left;
    width: 43%;
}

#main .packWall h4,
#main .packRoof h4 {
    font-size: 3.1rem;
    color: var(--body-text-color);
    position: relative;
    padding-left: 0;
    margin: 0;
    line-height: 1.4;
    margin-bottom: .3rem;
    letter-spacing: 0.05rem;
}

#main .packWall h4::before,
#main .packWall h4::after,
#main .packRoof h4::before,
#main .packRoof h4::after {
    display: none;
}

#main .packsummary {
    width: 54.5%;
}

#main .packsummary .overflowH {
    width: 100%;
}

#main .packCatch {
    font-size: 2.0rem;
    line-height: 1.1;
    border-radius: .4rem;
    background: #d00;
    color: #ffffff;
    display: inline-block;
    padding: .8rem 1.5rem;
    font-weight: bold;
    margin-top: 4.4rem;
    width: 10rem;
    text-align: center;
    margin-right: 1.0rem;
    float: left;
}

#main div.packRoof .packCatch {
    background: #d00;
}

#main .basicC {
    font-size: 1.8rem;
    background: #7FB825;
    color: #ffffff;
    font-weight: bold;
    margin-top: 1.0rem;
    padding: .5rem;
    text-align: left;
    clear: both;
}

#main .basicC br {
    display: none;
}

#main div.packRoof .basicC {
    background: #31A4C5;
}

#main .basicC span {
    font-size: 1.8rem;
    background: var(--main-color01);
    color: #ffffff;
    font-weight: bold;
    margin-right: 1.5rem;
    border-radius: .5rem;
    padding: .2rem 1.0rem;
    position: relative;
}

#main div.packRoof .basicC span {
    background: #00617D;
}

#main .basicC span:nth-child(2),
#main .basicC span:nth-child(3),
#main .basicC span:nth-child(4),
#main .basicC span:nth-child(5),
#main .basicC span:nth-child(6),
#main .basicC span:nth-child(7) {
    font-size: 1.8rem;
    background: #ffffff;
    color: var(--main-color01);
    font-weight: bold;
    margin-right: 1.5rem;
    border-radius: .5rem;
    padding: .2rem 1.0rem;
}

#main div.packRoof .basicC span:nth-child(2),
#main div.packRoof .basicC span:nth-child(3),
#main div.packRoof .basicC span:nth-child(4),
#main div.packRoof .basicC span:nth-child(5),
#main div.packRoof .basicC span:nth-child(6),
#main div.packRoof .basicC span:nth-child(7) {
    font-size: 1.8rem;
    background: #ffffff;
    color: #00617D;
    font-weight: bold;
    margin-right: 1.5rem;
    border-radius: .5rem;
    padding: .2rem 1.0rem;
}

#main .basicC span::after {
    content: "+";
    color: #aaa;
    background-color: #555;
    border-radius: 1.5rem;
    width: 1.5rem;
    height: 1.5rem;
    text-align: center;
    line-height: 1.4;
    margin-left: .5rem;
    position: absolute;
    top: 15%;
    font-weight: bold;
    z-index: 1;
}

#main .basicC span:nth-child(7)::after,
#main div.packRoof .basicC span:nth-child(4)::after {
    content: "";
    color: #ffffff;
    background: none;
    border-radius: 1.0rem;
    width: 1.5rem;
    height: 1.5rem;
    text-align: center;
    line-height: 1.5;
    margin-left: .5rem;
    position: absolute;
}

#main .basicC.sizeS {
    font-size: 1.3rem;
}

#main .packWall .imgIco,
#main .packRoof .imgIco {
    width: 13.6rem;
    height: auto;
    margin-right: .5rem;
    position: absolute;
    left: 100%;
    top: 0;
    z-index: 10;
}

#main .packWall p,
#main .packRoof p {
    margin-bottom: 0;
}

#main .priceTxt {
    font-family: var(--en-font-family);
    font-size: 9.9rem;
    color: #BC111A;
    letter-spacing: -0.02em;
    line-height: 0.9;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: flex-end;
    align-items: flex-end;
    float: right;
}

#main .priceTxt span {
    font-size: 9.0rem;
}

#main .priceTxt span.unitTxt {
    font-size: 4.2rem;
    line-height: 0.9;
    font-weight: bold;
    padding-bottom: .7rem;
    display: inline;
}

#main .packWall .txts,
#main .packRoof .txts {
    font-size: 1.0rem;
    margin-top: .5rem;
    word-wrap: break-word;
    clear: both;
}

#main .packWall .optionTxt,
#main .packRoof .optionTxt {
    color: #bc111a;
    font-size: 2.3rem;
    font-weight: bold;
}

#main .packWall ul,
#main .packRoof ul {
    position: relative;
    overflow: hidden;
    margin: 0 0 .5rem;
    clear: both;
}

#main .packWall ul li,
#main .packRoof ul li {
    border: #0b3e9b solid calc(2 * var(--base-unit));
    border-radius: .5rem;
    padding: 0;
    width: 14.9rem;
    float: left;
    margin-right: .5rem;
    text-align: center;
}

#main .packWall ul li::before,
#main .packRoof ul li::before,
#main .packWall ul li::after,
#main .packRoof ul li::after {
    display: none;
}

#main .packWall ul li:last-child,
#main .packRoof ul li:last-child {
    margin-right: 0;
}

#main .packWall h5,
#main .packRoof h5 {
    font-size: 1.6rem;
    position: relative;
    padding-left: 0;
    margin-top: 0;
    background: #0b3e9b;
    border-radius: 0;
    display: block;
}

#main .packWall ul li p,
#main .packRoof ul li p {
    letter-spacing: -0.1em;
    margin-bottom: 1.0rem;
}

#main .packOther article.layout03 {
    overflow: hidden;
}

#main .deteriorationChk {
    margin-top: 2.0rem;
}

#main .deteriorationChk .checkLegend {
    width: 23.2rem;
    float: left;
}

#main .deteriorationChk .checkLegend span {
    border-radius: 50%;
    background: var(--main-color01);
    color: #ffffff;
    font-size: 2.9rem;
    width: 22.6rem;
    height: 22.6rem;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    line-height: 1.5;
    position: relative;
}

#main .deteriorationChk .checkLegend span img {
    position: absolute;
    right: -1.7rem;
    bottom: -.3rem;
}

#main .deteriorationChk .checkLegend span strong {
    font-size: 5.0rem;
    line-height: 1.2;
}

#main .deteriorationChk .checkLegend p {
    margin-top: -2.0rem;
}

#main .deteriorationChk .checkLegend img {
    margin-top: 0;
}

#top #main .deteriorationChk .checkLegend img {
    margin-top: 2.0rem;
}

#main .deteriorationChk .checkPoint {
    width: 75.0rem;
    float: right;
    background: #ffffff;
}

#main .deteriorationChk .checkPoint h3 {
    margin: 0 !important;
    background: #00617D !important;
    border: none !important;
    color: #ffffff !important;
    font-size: 2.0rem !important;
    padding: .5rem .7rem !important;
}

#main .deteriorationChk .checkPoint ul {
    position: relative;
    overflow: hidden;
    padding: 2.0rem;
    margin: 0;
}

#main .deteriorationChk .checkPoint ul li {
    width: 22.6rem;
    margin: 2.0rem 1.6rem 0 0;
    float: left;
    background: none;
    padding: 0 !important;
}

#main .deteriorationChk .checkPoint ul li:nth-child(-n + 3) {
    margin-top: 0;
}

#main .deteriorationChk .checkPoint ul li::before,
#main .deteriorationChk .checkPoint ul li::after {
    display: none;
}

#main .deteriorationChk .checkPoint ul li:nth-child(3n) {
    margin-right: 0;
}

#main .deteriorationChk .checkPoint ul li .checkpointThumb {
    position: relative;
    font-size: 1.3rem;
    margin-bottom: 1.0rem;
}

#main .deteriorationChk .checkPoint ul li .checkTtl {
    position: absolute;
    bottom: 1.0rem;
    padding: 0 3.0rem;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

#main .deteriorationChk .checkPoint ul li .checkTtl h4 {
    background: #BC111A !important;
    color: #ffffff !important;
    display: block !important;
    padding: 0 !important;
    font-size: 1.3rem !important;
    margin: 0 !important;
}

#main .deteriorationChk .checkPoint ul li .checkTtl h4::before,
#main .deteriorationChk .checkPoint ul li .checkTtl h4::after {
    display: none;
}

#main .deteriorationChk .checkPoint ul li .checkTtl p {
    background: #ffffff;
    border-radius: .5rem;
    color: #BC111A;
    display: block;
    font-size: 1.6rem;
    margin-top: .5rem;
    line-height: 1.2;
}

#main .deteriorationChk .checkPoint ul li p {
    display: inline-block;
    font-size: 1.3rem;
    margin-bottom: 0;
}

#main .msgTxt {
    width: 70.5rem;
    float: left;
    position: relative;
    overflow: hidden;
}

#main .msgTxt h3 {
    margin-top: 0;
}

#main .msgTxt p {
    font-size: 1.5rem;
}

#main .msgTxt h5,
#main .msgPhoto h5 {
    font-size: 2.7rem;
    font-weight: bold;
    margin-top: 0;
    line-height: 1.2;
    background: none;
    color: var(--body-text-color);
    padding: 0;
    margin: 0;
    clear: none;
}

#main .msgTxt h5 span,
#main .msgPhoto h5 span {
    background: #00617D;
    border-radius: .4rem;
    color: #ffffff;
    padding: .2rem .5rem 0;
    display: inline-block;
    font-size: 1.2rem;
    font-weight: normal;
    margin: 0;
    line-height: 1.4;
}

#main .msgTxt h5 span.en,
#main .msgPhoto h5 span.en {
    background: none;
    font-size: 1.2rem;
    font-weight: bold;
    color: #4dbe53;
    display: inline-block;
    padding: 0 0 0 .5rem;
}

#main .msgBnr {
    background-color: #ffffff;
}

#main .msgBtn {
    padding: 2.0rem 0;
}

#main .msgBtn .btn {
    display: block;
    color: #ffffff !important;
    font-size: 1.7rem;
    font-weight: bold;
    position: relative;
    padding: .1rem;
    background: none;
    box-shadow: none;
    font-weight: bold;
    border-radius: .7rem;
    background-color: #d00;
    width: 18rem;
    margin: 0 auto 1.5rem;
}

#main .msgBtn .btn a {
    padding: .7rem .5rem .1rem 6.0rem;
    display: block;
    color: #ffffff;
    text-decoration: none;
    border-radius: .7rem;
    position: relative;
    margin: .3rem .2rem;
    text-align: left;
    border-top: solid calc(5 * var(--base-unit)) #f33a3a;
}

#main .msgBnr {
    padding-bottom: 4.0rem;
}

#main .comWaitBox {
    padding: 0;
    margin-bottom: 3.0rem;
}

#main .comWaitBox a {
    text-decoration: none;
}

#main .comWaitBox h3 {
    background: #ffa800;
    text-align: center;
    font-size: 2.8rem;
    border: none;
    color: #ffffff;
    padding: 1.0rem 0;
    margin: 0;
}

#main .comWaitBox p {
    position: relative;
    overflow: hidden;
}

#main .comWaitBox img {
    float: left;
    display: block;
}

#main .comAreaBox {
    padding: 1.0rem;
    box-sizing: border-box;
    background: #ffffff;
    margin-bottom: 3.0rem;
}

#main .comAreaBox img {
    float: left;
    margin-right: 3.0rem;
}

#main .comAreaBox h3 {
    font-size: 2.3rem;
    margin: 0 0 2.0rem;
}

#main .comAreaBox h4 {
    margin: 0 0 .5rem;
}

#main .comAreaBox p {
    font-size: 1.8rem;
    margin-bottom: 1.0rem;
}

#main .comAreaBox p.catchAra {
    font-size: 2.0rem;
    font-weight: bold;
}

#main .comAreaBox .catchTtl {
    background: none;
    border-top: none;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.5;
    margin-top: 0;
}

#main .comAreaBox .catchAra strong {
    color: #bc111a;
}

#main .comAreaBox .catchAra span {
    text-decoration: underline;
}

#main .targetArea {
    position: relative;
}

#main .targetArea h2 {
    margin-bottom: 0;
    box-sizing: border-box;
}

#main .targetArea .area {
    position: absolute;
    top: .5rem;
    right: .5rem;
}

#main .targetArea .satisfied {
    position: absolute;
    bottom: 6.0rem;
    left: 1.0rem;
    display: block;
    text-align: center;
}

#main .targetArea .satisfied img {
    z-index: 1;
    position: relative;
}

#main .targetArea .btn {
    margin: 2.0rem auto 0;
}

#main .comFamilyBox {
    background: #4582e8;
    border-style: solid;
    border-width: calc(10 * var(--base-unit));
    position: relative;
    margin-top: 2.0rem;
}

#main .comFamilyBox .imgLayer {
    right: 0;
    top: -2.0rem;
}

#main .comFamilyBox p {
    color: #ffffff;
    font-size: 4.0rem;
    font-weight: bold;
    margin: 2.0rem 2.0rem 1.0rem;
    line-height: 1.4;
}

#main .comFamilyBox p span.txtM {
    font-size: 3.0rem;
}

#main .comFamilyBox p strong {
    color: #ffc501 !important;
}

#main .comFamilyBox p span strong {
    border-radius: .4rem;
    background: #e50012;
    padding: .5rem;
    display: inline-block;
    color: #ffffff !important;
    line-height: 1;
    margin-right: .5rem;
}

#main .comFamilyBox p.catchTtl {
    background: #1342d3;
    display: block;
    position: relative;
    margin: 0 -1.0rem 2.0rem;
    font-size: 3.5rem !important;
    text-align: center !important;
}

#main .comFamilyBox p.catchTtl::before,
#main .comFamilyBox p.catchTtl::after {
    content: '';
    position: absolute;
    top: 100%;
    border-style: solid;
    border-color: transparent;
}

#main .comFamilyBox p.catchTtl::before {
    left: 0;
    border-width: 0 calc(10 * var(--base-unit)) calc(10 * var(--base-unit)) 0;
    border-right-color: #001453;
}

#main .comFamilyBox p.catchTtl::after {
    right: 0;
    border-style: solid;
    border-width: calc(10 * var(--base-unit)) calc(10 * var(--base-unit)) 0 0;
    border-top-color: #001453;
}

#main .balloonBox {
    background: #0b3e9b;
    border-radius: 1.0rem;
    color: #ffffff;
    position: relative;
    padding: 2.0rem;
    box-sizing: border-box;
}

#main .balloonBox p {
    margin: 0;
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1.3;
}

#main .balloonBox p strong {
    color: #f0d100;
}

#main .comMember {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #8eafd9), color-stop(0.20, #6696cf));
    background: -webkit-linear-gradient(top, #6696cf 20%, #8eafd9 100%);
    background: -moz-linear-gradient(top, #6696cf 20%, #8eafd9 100%);
    background: -o-linear-gradient(top, #6696cf 20%, #8eafd9 100%);
    background: -ms-linear-gradient(top, #6696cf 20%, #8eafd9 100%);
    background: linear-gradient(to bottom, #6696cf 20%, #8eafd9 100%);
}

#main .comMember .inner {
    width: 100%;
    height: 57.3rem;
    padding: 0;
}

#main .comMember p {
    color: #ffffff;
    font-size: 5.0rem;
    font-weight: bold;
    line-height: 1.4;
    margin: 6.0rem auto 0 !important;
    width: 110.0rem;
    display: block;
}


#main .lawpriceWhy .catchTtl {
    font-size: 3.0rem !important;
    line-height: 1.2;
    font-weight: bold;
    text-align: center;
}

#main .lawpriceWhy .catchTtl strong {
    color: #BC111A;
}

#main .lawpriceWhy .highCost {
    background: #00617D;
    padding: 2.5rem;
    margin-top: 2.5rem;
}

#main .lawpriceWhy .highCost h3 {
    color: #ffffff;
    font-size: 5.0rem;
    font-weight: normal;
    padding: 0;
    background: none;
    border-top: none;
    text-align: center;
    line-height: 1.3;
    margin-top: 0;
}

#main .lawpriceWhy .highCost h3 strong {
    font-weight: normal;
}

#main .lawpriceWhy .highCost ul {
    position: relative;
    margin-bottom: 0;
}

#main .lawpriceWhy .highCost ul li {
    background: #1B829F;
    padding: 1.0rem;
    width: 30.0rem;
    box-sizing: border-box;
    float: left;
    margin: 0 2.5rem 0 0;
    position: relative;
}

#main .lawpriceWhy .highCost ul li:last-child {
    margin-right: 0;
}

#main .lawpriceWhy .highCost ul li::before,
#main .lawpriceWhy .highCost ul li::after {
    content: none;
}

#main .lawpriceWhy .highCost ul li h4 {
    border-radius: 50%;
    background: #BC111A;
    width: 5.7rem;
    height: 5.7rem;
    color: #ffffff;
    font-size: 1.3rem;
    position: absolute;
    top: -1.0rem;
    left: .3rem;
    padding: 0;
    margin: 0;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    line-height: 1.2;
}

#main .lawpriceWhy .highCost ul li h4::before,
#main .lawpriceWhy .highCost ul li h4::after {
    display: none;
}

#main .lawpriceWhy .highCost ul li p {
    display: block;
    background: #ffffff;
    font-weight: bold;
    font-size: 2.2rem;
    padding: 1.0rem;
    line-height: 1.2;
    margin-bottom: 0;
}


#main .lowpriceReason h3 {
    font-size: 2.5rem;
}

#main .lowpriceReason .lowcost ul {
    position: relative;
    overflow: hidden;
}

#main .lowpriceReason .lowcost ul li {
    background: #00617D;
    padding: 2.5rem;
    width: 49.0rem;
    box-sizing: border-box;
    float: left;
    margin: 0 2.0rem 2.0rem 0;
    position: relative;
}

#main .lowpriceReason .lowcost ul li:nth-child(2n) {
    margin-right: 0;
}

#main .lowpriceReason .lowcost ul li::before,
#main .lowpriceReason .lowcost ul li::after {
    content: none;
}

#main .lowpriceReason .lowcost ul li.fullW {
    margin-right: 0;
    width: 100%;
}

#main .lowpriceReason .lowcost ul li h4 {
    background: #1B829F;
    color: #ffffff;
    padding: 1.0rem;
    font-size: 3.0rem;
    margin: 0 0 3.0rem;
}

#main .lowpriceReason .lowcost ul li.fullW h4 {
    padding: 0 2.5rem;
}

#main .lowpriceReason .lowcost ul li h4::before {
    display: none;
}

#main .lowpriceReason .lowcost ul li h4::after {
    content: ' ';
    height: 0;
    position: absolute;
    width: 0;
    border: calc(2.5 * var(--base-unit)) solid transparent;
    border-top-color: #1B829F;
    top: 100%;
    left: 50%;
    margin-left: -2.5rem;
    border-radius: 0;
    background: none;
    clear: both;
    display: block;
}

#main .lowpriceReason .lowcost ul li h4 span {
    display: inline-block;
    line-height: 1.3;
    padding-top: .5rem;
    margin-top: 1.0rem;
}

#main .lowpriceReason .lowcost ul li.fullW span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    padding: 0;
}

#main .lowpriceReason .lowcost ul li h4 span.reasonIco {
    color: #ffffff;
    width: 11.2rem;
    height: 11.2rem;
    font-size: 2.3rem;
    padding: 0;
    margin: -2.0rem 1.0rem .5rem 0;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    flex-direction: column;
    float: left;
}

#main .lowpriceReason .lowcost ul li.fullW span.reasonIco {
    margin: 0;
}

#main .lowpriceReason .lowcost ul li h4 span strong {
    font-size: 1.3rem;
    line-height: 1.2;
    margin-top: .5rem;
}

#main .lowpriceReason .lowcost ul li p {
    font-size: 2.8rem;
    color: #ffffff;
    line-height: 1.2;
    font-weight: bold;
    margin-bottom: 0;
}

#main .lowpriceReason .lowcost ul li .compareBox {
    background: #ffffff;
    padding: 3.0rem 2.5rem;
}

#main .lowpriceReason .lowcost ul li .compareBox h6:first-child {
    margin-top: 0;
}

#main .lowpriceReason .lowcost ul li .compareBox hr {
    border-top: var(--body-text-color) dotted calc(1 * var(--base-unit));
    display: block;
    margin-top: 2.5rem;
}

#main .qualityBox .catchTtl {
    position: relative;
    font-size: 4.2rem !important;
    font-weight: bold;
    text-align: left !important;
    margin-top: 0;
    margin-bottom: 3.0rem;
}

#main .qualityBox .catchTtl .txtL {
    font-size: 6.0rem;
    line-height: 1.2;
}

#main .qualityBox .catchTtl .txtL strong {
    background: #fcff00;
    display: inline-block;
    line-height: 0.5;
    color: var(--body-text-color) !important;
}

#main .qualityBox .catchTtl .imgLayer {
    right: 0;
    top: -8.0rem;
}

#main .qualityBox h3 {
    margin: 0 0 2.0rem;
    line-height: 1.3;
    clear: none;
    overflow: hidden;
}

#main .qualityBox p {
    line-height: 1.8;
}

#main .qualityBox .qualityCommitment li {
    margin: 0;
    position: relative;
    overflow: hidden;
    background: none;
    padding: 0;
}

#main .qualityBox .qualityCommitment li::before,
#main .qualityBox .qualityCommitment li::after {
    content: none;
}

#main .qualityBox h3 span.commitment {
    border-radius: .4rem;
    background: #12a73b;
    color: #ffffff;
    padding: 1.5rem 1.0rem;
    margin: 1.5rem 2.0rem 1.5rem 0;
}

#main .qualityBox h3 strong {
    color: #e50012;
}

#main .qualityBox .qualityCommitment li img {
    margin-bottom: 2.0rem;
}

#main .qualityBox .catchTxt {
    font-size: 2.3rem;
}

#main .flowList {
    border-radius: .5rem;
    background: var(--main-color01);
    padding: 1.0rem;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    clear: both;
}

#main .menu-s .flowList {
    background: #62320F;
}

#main .flowList h3 {
    color: #ffffff;
    font-size: 3.0rem;
    float: left;
    background: none;
    border: none;
    padding: 0 1.2rem;
    line-height: 1.2;
    margin: 0 .6rem 0 0;
}

#main .flowList ul {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
}

#main .flowList ul li {
    border-radius: 1.0rem;
    background: #ffffff;
    font-size: 2.3rem;
    color: var(--main-color01);
    font-weight: bold;
    padding: 0;
    text-align: center;
    margin: 0 .5rem 0 0;
    width: 7.7rem;
    height: 7.4rem;
    line-height: 1.2;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

#main .menu-s .flowList ul li {
    color: #62320F;
}

#main .flowList ul li::before,
#main .flowList ul li::after {
    content: none;
}

#main .flowList ul li.stxt {
    font-size: 1.6rem;
}

#main .flowList ul li:last-child {
    margin-right: 0;
}

#main div.flowListP p {
    margin-bottom: 0;
}

#main .flowList.flowRoof ul li {
    width: 11.0rem;
}

#main .textComS {
    font-size: 1.3rem;
    text-align: right;
}

#main .menu-s .flowList h3 {
    font-size: 1.6rem;
    padding: 0 0 0 .4rem;
    margin: 0;
}

#main .menu-s .flowList ul li {
    font-size: 1.4rem;
    width: 7.9rem;
    height: 3.2rem;
    line-height: 1.0;
}

#main .menu-s .flowList.flowRoof ul li {
    width: 11.5rem;
    height: 3.2rem;
}

#main .menu-s .flowList ul li.stxt {
    font-size: 1.2rem;
}

#main .menu-s .textComS {
    font-size: 1.0rem;
}

.areaPage #main h2.fullWidth.r-point,
#top #main h2.fullWidth.r-point {
    background: none;
    text-align: left !important;
    width: 100.0rem !important;
    margin: 0 auto;
    font-size: 3.6rem !important;
    line-height: 1.2;
}

.areaPage #main h2.fullWidth.r-point .imgLayer,
#top #main h2.fullWidth.r-point .imgLayer {
    position: absolute;
    top: 0;
    right: 0;
}

.areaPage #main h2.fullWidth.r-point span.bg-g,
#top #main h2.fullWidth.r-point span.bg-g {
    display: inline-block;
}

.areaPage #main h2.fullWidth.r-point span.bg-g span,
#top #main h2.fullWidth.r-point span.bg-g span {
    display: inline-block;
    border-radius: .4rem;
    background: var(--main-color01);
    color: #ffffff;
    text-align: center;
    line-height: 1;
    padding: .8rem 0 0;
    margin-top: .3rem;
    width: 4rem;
    float: none;
    font-size: 5.4rem !important;
    margin-right: 0.2rem;
}

.areaPage #main h2.fullWidth.r-point span.bg-g span img,
#top #main h2.fullWidth.r-point span.bg-g span img {
    margin-bottom: .5rem;
}

.areaPage #main h2.fullWidth.r-point span.bg-n,
#top #main h2.fullWidth.r-point span.bg-n {
    display: inline-block;
    color: var(--body-text-color)333;
    text-shadow: none;
    text-align: left;
}

.areaPage #main h2.fullWidth.r-point span.bg-n span,
#top #main h2.fullWidth.r-point span.bg-n span {
    color: #BC111A;
}

.areaPage #main h2.fullWidth.r-point span.bg-n strong,
#top #main h2.fullWidth.r-point span.bg-n strong {
    color: #BC111A;
    font-size: 7.0rem;
}

#main div.r-point h3 {
    background-color: #7FB725;
    border-top: none;
    color: #ffffff;
    margin-top: 0;
}

#main div.inner.r-point {
    padding-top: 0 !important;
}

#main .r-point .selectPoint {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#main .r-point .selectPoint li {
    padding: 0;
    position: relative;
    overflow: hidden;
    background: none;
    width: 30%;
}

#main .r-point .selectPoint li::before,
#main .r-point .selectPoint li::after {
    display: none;
}

#main .r-point .selectPoint li h3 {
    display: none;
}

#main .r-point .selectPoint li p {
    margin-top: 0.5rem;
    font-weight: bold;
}

#main .r-point .selectPoint li .pointIco {
    position: absolute;
    top: 11.5rem;
}

#main .r-point .selectPoint li .pointSummery {
    position: relative;
    overflow: hidden;
}

#main .r-point .selectPoint li .pointSummery h3 {
    margin-top: 0;
    background: none;
    border: none;
    font-size: 3.0rem;
}

#main .r-point .selectPoint li .pointSummery ul {
    margin: 0;
}

#main .r-point .selectPoint li .pointSummery li {
    font-size: 2.5rem;
    padding: 0 0 0 2.5rem;
    position: relative;
    margin-top: 0;
}

#main .r-point .selectPoint li .pointSummery li strong {
    font-weight: normal;
    background: #ffc501;
    line-height: 0.6;
    display: inline-block;
}

#main .comparePaint {
    padding: 5.0rem 0;
}

#main .comparePaint h2 {
    font-size: 3.0rem;
}

#main .compareTable {
    width: 100%;
    table-layout: fixed;
}

#main .compareTable th,
#main .compareTable td {
    vertical-align: top;
    text-align: center;
    width: auto;
    padding: 1.0rem;
}

#main .compareTable th {
    font-weight: bold;
    padding: 1.5rem 1.0rem;
    vertical-align: middle;
}

#main .compareTable th:first-of-type {
    width: 15%;
}

#main .compareTable th:last-of-type {
    width: 30%;
}

#main .compareTable td {
    font-size: 3.5rem;
    font-weight: bold;
}

#main .compareTable tr.thinking td {
    text-align: left;
    font-weight: normal;
    font-size: 1.5rem;
}

#main .compareTable td.ourCompany {
    font-weight: normal;
    font-size: 1.5rem;
    text-align: left;
}

#main .compareTable td.ourCompany span {
    font-size: 3.5rem;
    font-weight: bold;
    float: left;
    display: block;
    border-right: #ccc solid calc(1 * var(--base-unit));
    margin-right: 1.5rem;
    padding-right: 1.5rem;
    box-shadow: .2rem 0px 0px 0px #ffffff;
    color: #e01c1c;
}


#main .scoreBox .catchTtl {
    font-size: 4.0rem !important;
    text-align: left !important;
    position: relative;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 3.0rem;
}

#main .scoreBox .catchTtl span {
    display: block;
    font-size: 7.8rem;
}

#main .scoreBox .catchTtl strong {
    color: #e50012;
}

#main .scoreBox .catchTtl img {
    float: right;
    margin-top: -3.0rem;
}

#main .scoreBox .scoreList {
    position: relative;
    overflow: hidden;
}

#main .scoreBox .scoreList li {
    background: #f60;
    color: #ffffff;
    position: relative;
    width: 48.7rem;
    float: left;
    padding: 0;
}

#main .scoreBox .scoreList li {
    margin-right: 2.5rem;
}

#main .scoreBox .scoreList li:nth-child(2n) {
    margin-right: 0;
}

#main .scoreBox .scoreList li p {
    padding: 1.0rem 2.0rem;
    height: 6.0rem;
    font-weight: bold;
    font-size: 2.4rem;
    margin: 0;
    line-height: 1.2;
}


#main .enqueteBox p {
    font-size: 2.0rem;
}

#main .enqueteBox ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}

#main .enqueteBox ul li {
    background: none;
    width: 25%;
    width: calc(25% - .8rem);
    padding: 0;
    box-sizing: border-box;
    font-size: 1.2rem;
}

#main .enqueteBox ul li a {
    text-decoration: none;
    color: var(--body-text-color);
}

#main .enqueteBox ul li img {
    border: #ccc solid calc(1 * var(--base-unit));
    box-sizing: border-box;
    padding: .5rem;
    width: 24.2rem;
}

#main .enqueteBox ul li h3 {
    background: none;
    border: 0;
    margin: .5rem 0 0;
    padding: 0;
    color: #12a73b;
    font-size: 1.5rem;
    line-height: 1.4;
}

#main .enqueteBox ul li .contTxt {
    font-weight: bold;
    display: block;
}


#main .iDeal .inner {
    padding-bottom: 0;
}

#main .iDeal article {
    padding-bottom: 0;
}

#main .iDeal .catchTtl {
    font-size: 5.0rem;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 3.0rem;
}

#main .iDeal .catchTtl strong {
    color: #e50012;
}

#main .comIdea {
    margin-bottom: 2.9rem;
}

#main .comIdea .ttl {
    margin-bottom: .3rem;
}

#main .comIdea ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}

#harikae #main .comIdea ul,
#apartment #main .comIdea ul {
    -webkit-justify-content: space-around;
    justify-content: space-around;
    padding: 0 9.0rem;
}

#main .comIdea ul::after {
    content: none;
}

#main .comIdea li {
    padding-left: 0;
    float: none;
    width: 18.2rem;
    box-sizing: border-box;
}

#main .comIdea li::before,
#main .comIdea li::after {
    content: none;
}

#main .comIdea li img {
    display: block;
    margin: 0 auto;
}

#main .comIdea li span {
    font-size: 1.8rem;
    padding: 1.0rem 1.0rem;
    position: relative;
    color: #ffffff;
    font-weight: bold;
    line-height: 1.4;
    text-align: left;
    border-radius: .6rem;
    background: #00617D;
    display: block;
    margin-bottom: 3.0rem;
}

#main .comIdea li span::after {
    content: '';
    height: 0;
    position: absolute;
    width: 0;
    border: calc(10 * var(--base-unit)) solid transparent;
    border-top-color: #00617D;
    top: 100%;
    left: 0;
    right: 0;
    margin: auto;
}

#main .comIdea li:first-child {
    padding-left: 0;
}

body#showroom #main h2:first-child {
    margin-bottom: 2.0rem;
}

#main .showroomFeature p {
    margin-bottom: 0;
}

#main .featureBox {
    position: relative;
    overflow: hidden;
    background: #00617d;
    margin: 3.0rem 0;
}

#main .featureBox p {
    margin-top: 0;
}

#main .featureBox ul {
    padding: 1.0rem;
    float: right;
    width: 30.0rem;
    box-sizing: border-box;
    margin-bottom: 0;
}

#main .featureBox ul li {
    border-radius: .5rem;
    background: #ffffff;
    font-size: 1.4rem;
    padding: 1.0rem;
    position: relative;
    overflow: hidden;
    margin-top: 1.0rem;
    line-height: 1.8;
}

#main .featureBox ul li::before,
#main .featureBox ul li::after {
    content: none;
}

#main .featureBox ul li:first-child {
    margin-top: 0;
}

#main .featureBox ul li p {
    font-size: 1.4rem;
    line-height: 1.8;
}

#main .featureBox ul li h4 {
    background: var(--main-color01) !important;
    color: #ffffff;
    font-size: 2.5rem;
    display: table-cell;
    padding: 2.6rem .5rem !important;
    height: 100%;
    width: 3em;
    text-align: center;
    vertical-align: middle;
    float: left;
    margin: 0 1.0rem 0 0 !important;
    line-height: 1;
}

#main .featureBox ul li h4::before,
#main .featureBox ul li h4::after {
    display: none;
}

#main ul.featureImg li {
    float: left;
    margin: 0 1.7rem 3.0rem 0;
    padding: 0;
}

#main ul.featureImg li:last-child {
    margin-right: 0;
}

#main ul.featureImg li::before,
#main ul.featureImg li::after {
    display: none;
}

/* a.leftNav,
a.rightNav {
    background: url(./img/top/bg2.png);
    outline: none;
    transition: none;
} */

/* .leftNav::before,
.rightNav::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    transition: none;
}

.leftNav:hover {
    background: url(./img/top/leftNav.png) right center no-repeat;
    transition: none;
    opacity: 1;
}

.rightNav:hover {
    background: url(./img/top/rightNav.png) left center no-repeat;
    transition: none;
    opacity: 1;
}

.leftNav:hover::before,
.rightNav:hover::before {
    background: url(./img/top/bg2.png);
    transition: none;
} */

#pageTitle {
    overflow: hidden;
    height: 14.0rem;
    background: -webkit-linear-gradient(90deg, #b7e1f5 0%, #79b1f6 100%);
    background: -moz-linear-gradient(90deg, #b7e1f5 0%, #79b1f6 100%);
    background: -o-linear-gradient(90deg, #b7e1f5 0%, #79b1f6 100%);
    background: -ms-linear-gradient(90deg, #b7e1f5 0%, #79b1f6 100%);
    background: linear-gradient(0deg, #3f75bb 0%, #004088 100%);
}

#pageTitle .inner {
    width: 100%;
    height: 100%;
    padding: 0;
}

#pageTitle h1 {
    color: #ffffff;
    width: 100.0rem;
    margin: 4.0rem auto 0 auto;
    padding: 0;
    font-size: 3.0rem;
    line-height: 1.3;
    font-weight: bold;
}

#pageTitle h1 span {
    display: block;
    font-size: 1.5rem;
    font-weight: normal;
}

#pagePath {
    background: #7fb825;
    padding: .5rem 0;
}

#pagePath p {
    width: 100.0rem;
    margin: 0 auto;
    color: #ffffff;
    font-size: 1.1rem;
    position: relative;
    z-index: 10;
}

#pagePath p a {
    color: #ffffff;
}

div.subttl-img {
    z-index: 100;
    width: 120.0rem;
    margin: 0 auto;
    margin-top: -17.0rem;
}

#main .formD h3 {
    background: #0eaa8e;
    border-top: none;
    color: #ffffff;
    margin: 0;
}

#main .formD ul li::before,
#main .formD ul li::after {
    content: none;
}

#main #form {
    padding: 0 0 3.0rem;
}

#main #form a {
    color: #2d2d2d;
}

#main #form p.tel {
    font-size: 1.2rem;
}

#main #form ul li a {
    display: inline;
}

#main #form h4 {
    font-size: 2.2rem;
    line-height: 1.32;
    margin-bottom: 0;
}

#main #form ul li {
    background: none !important;
    padding: 0;
}

#main #form ul li::before,
#main #form ul li::after {
    content: none;
}

#main #form ul.formStep {
    position: relative;
    overflow: hidden;
    margin-bottom: 3.0rem;
    display: none;
}

#main #form ul.formStep li {
    background: #f1edd0 !important;
    color: var(--body-text-color);
    font-size: 1.7rem;
    font-weight: bold;
    margin: .5rem 0 !important;
    position: relative;
    width: 24.3rem;
    float: left;
    height: 5.0rem;
    padding: 0 1.0rem 0 8.0rem !important;
    display: flex;
    align-items: center;
}

#main #form ul.formStep li::before,
#main #form ul.formStep li::after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: calc(25 * var(--base-unit)) 0 calc(25 * var(--base-unit)) calc(10 * var(--base-unit));
    border-color: transparent transparent transparent #f1edd0;
    content: '';
    display: block;
    position: absolute;
}

#main #form ul.formStep li::before {
    left: 100%;
    top: 0;
    z-index: 10;
    background: none;
}

#main #form ul.formStep li::after {
    border-width: calc(26 * var(--base-unit)) 0 calc(26 * var(--base-unit)) calc(12 * var(--base-unit));
    border-color: transparent transparent transparent #ffffff;
    left: 100.5%;
    top: 0;
    z-index: 9;
    -webkit-transform: none;
    transform: none;
}

#main #form ul.formStep li:last-child::before,
#main #form ul.formStep li:last-child::after {
    display: none;
}

#main #form ul.formStep li.on {
    background: #004088 !important;
    color: #ffffff;
}

#main #form ul.formStep li.on::before {
    border-color: transparent transparent transparent #004088;
}

#main #form ul.formStep li span {
    border-radius: 50%;
    background: #72babe;
    width: 5.7rem;
    height: 5.7rem;
    color: #ffffff;
    font-size: 1.3rem;
    line-height: 1.2;
    position: absolute;
    top: -.3rem;
    left: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#main #form ul.formStep li:first-child span {
    left: .2rem;
}

/* 
#main .formBox .submit .balloon {
    position: relative;
    padding: 1.0rem;
    width: 28.0rem;
    background: #1758be;
    color: #ffffff;
    line-height: 1.3;
    font-weight: bold;
    font-size: 1.3rem;
    border-radius: 1.0rem;
    margin: 1.5rem auto 0 auto;
    transform: translateX(-1.0rem);
}

#main .formBox .submit .balloon::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -1.5rem;
    margin: 0 0 0 0;
    display: block;
    width: 0;
    height: 0;
    border-right: calc(15 * var(--base-unit)) solid transparent;
    border-bottom: calc(15 * var(--base-unit)) solid #1758be;
    border-left: calc(15 * var(--base-unit)) solid transparent;
}

#main .formBox .submit .balloon p {
    margin-bottom: 0;
} */

#main .formBox .submit input[type="button"] {
    margin-right: 1.0rem;
}

#main .formBox td input.wpcf7c-conf,
#main .formBox td select.wpcf7c-conf,
#main .formBox td textarea.wpcf7c-conf {
    border: none;
    background: #efefef;
}

#main .formBox td select.wpcf7c-conf {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    text-indent: 0.1rem;
    text-overflow: "";
}

#main .formBox td select.wpcf7c-conf::-ms-expand {
    display: none;
}

#main .formBox td input.wpcf7c-conf:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 110.0rem #efefef inset;
}

#contents {
    margin: 3.0rem auto 0;
}

#contents section {
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

#main h4.taxTtl {
    margin-bottom: .5rem;
}

#main .taxList li,
#main .areaList li {
    display: inline-block !important;
    padding: 0;
    background: none;
    margin: 0;
}

#main .taxList li::before,
#main .areaList li::before,
#main .taxList li::after,
#main .areaList li::after {
    content: none;
}

#main .areaList li a {
    background-color: #ff8632;
    border: solid calc(1 * var(--base-unit)) #ff8632;
}

#main .infoBox {
    padding: .8rem 0;
    border-bottom: dotted calc(1 * var(--base-unit)) var(--body-text-color);
    overflow: hidden;
    margin-bottom: 3.0rem;
}

#main .infoBox .time {
    float: right;
    font-weight: bold;
}

#main .l-page-blog {
    margin-top: 6.0rem;
}

#main #archiveList {
    overflow: hidden;
    padding-bottom: 2.0rem;
    position: relative;
}

#main .worksArchiveBox {
    position: relative;
    overflow: hidden;
}

#main .worksArchiveBox .cat a {
    position: relative;
}

/* #main #archiveList article {
    width: 31.6rem;
    float: left;
    margin: 0 2.6rem 4.0rem 0;
    position: relative;
} */

/* #main #archiveList article:nth-child(3n) {
    margin-right: 0;
}

#main #archiveList article:nth-child(3n+1) {
    clear: both;
} */

/* #main #archiveList a {
    display: block;
    text-decoration: none !important;
}

#main #archiveList a:hover {
    opacity: 0.8;
    transition: 0.7s;
} */

#main #archiveList h3,
#main #archiveList .contTxt,
#main #archiveList .price {
    display: block;
    border: none;
    background: none;
    line-height: 1.4;
    font-size: 1.4rem;
    padding: 0;
    margin: 0;
    color: var(--body-text-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#main #archiveList h3 {
    margin: 3.5rem 0 0 0;
    color: #0b3e9b;
    font-size: 1.8rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    white-space: wrap;
}

#voice #main #archiveList h3 {
    margin-top: 1.0rem;
}

#main #archiveList .archiveTumb {
    width: 31.6rem;
    height: 20.6rem;
    border: #ccc solid calc(1 * var(--base-unit));
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

#main #archiveList img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}

#main #archiveList .price {
    font-weight: bold;
    color: #bc111a;
}

#main #archiveList .price span {
    display: inline-block;
    background: #bc111a;
    color: #ffffff;
    font-size: 1.2rem;
    border-radius: .3rem;
    padding: .1rem .5rem 0 .5rem;
    margin-right: .8rem;
}

#main #archiveList .time {
    font-size: 1.2rem;
    color: var(--body-text-color);
    line-height: 1.4;
}

#main .worksList .detail,
#main #archiveList .detail {
    color: #FFFFFF;
    font-size: 1.5rem !important;
    font-weight: bold;
    background: -webkit-linear-gradient(90deg, #1758be 0%, #1c9edd 100%);
    background: -moz-linear-gradient(90deg, #1758be 0%, #1c9edd 100%);
    background: -o-linear-gradient(90deg, #1758be 0%, #1c9edd 100%);
    background: -ms-linear-gradient(90deg, #1758be 0%, #1c9edd 100%);
    background: linear-gradient(0deg, #1758be 0%, #1c9edd 100%);
    box-shadow: 0px -.2rem 0px 0px #0c4661;
    border-radius: .4rem;
    padding: .3rem .5rem;
    width: 14.0rem;
    margin: 1.0rem auto 0;
    display: block;
    text-align: center;
}

#main .worksList .detail a {
    color: #FFFFFF;
}

#main .worksList .detail2 {
    text-align: right;
}

#main .worksList .detail2 a {
    border-top: solid calc(1 * var(--base-unit)) #CCC;
    position: relative;
    padding-right: 2.5rem;
    line-height: 1;
    padding: .5rem 2.5rem .5rem 0;
}

#main .worksList .detail2 a::before,
#main .worksList .detail2 a::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    top: .5rem;
}

#main .worksList .detail2 a::before {
    right: 0;
    width: 1.6rem;
    height: 1.6rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #7FB825;
}

#main .worksList .detail2 a::after {
    right: .6rem;
    width: .5rem;
    height: .5rem;
    border-top: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: calc(2 * var(--base-unit)) solid #ffffff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: .9rem;
}

#main #archiveList .cat {
    position: absolute;
    top: 21.2rem;
    font-size: 1.3rem;
    line-height: 1.4;
    height: 2.4rem;
    overflow: hidden;
}

#main .picBox {
    overflow: hidden;
    margin-bottom: 3.0rem;
    position: relative;
}

#main .picBox .photo {
    /* float: right; */
    width: 68.6rem;
    height: 45.6rem;
    position: relative;
    overflow: hidden;
}

#main .picBox .btmPhoto {
    /* float: left; */
    width: 28.7rem;
    height: 20.7rem;
    position: relative;
    /* overflow: hidden; */
}

#main .picBox .photo img,
#main .picBox .btmPhoto img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto; */
}

#main .picBox .arrowImg {
    margin: 1.0rem 0 0;
    float: right;
}

#main .picBox02 {
    margin-top: 4.0rem;
}

#main .picBox02 .photo {
    float: right;
    width: 68.6rem;
    position: relative;
}

#main .picBox02 .btmPhoto {
    float: left;
    width: 28.7rem;
    position: relative;
}

#main .picBox02 .arrowImg {
    margin: 1.5rem 0 0 10.0rem;
}

#main .picBox03 .btmPhoto {
    display: none;
}

#main .picBox03 {
    background: #efefef;
    padding: 1.5rem;
}

#main .picBox03 .photo {
    margin: 0 auto;
    float: none;
}

#main .picBox span.after,
#main .picBox span.before {
    position: absolute;
    top: 1.0rem;
    left: 1.0rem;
    background: #858585;
    color: #ffffff;
    display: inline-block;
    z-index: 10;
    font-size: 1.5rem;
    font-weight: bold;
    border-radius: .4rem;
    padding: .3rem 1.0rem .2rem 1.0rem;
}

#main .picBox span.after {
    background: var(--main-color01);
}

#main .picBox span span {
    opacity: 0.5;
    margin-left: .5rem;
}

/* 
.voice-single > .inner {
    padding-top: 6.0rem;
} */

#main .voiceSummary {
    position: relative;
    overflow: hidden;
    margin-bottom: 4.0rem;
}

#main .voiceSummary h3 {
    margin-top: 0;
}

#main .voicephotList {
}

#main .voicephotList li {
    background: none;
    padding: 0;
    position: relative;
    margin: 0 auto 2.0rem;
    box-sizing: border-box;
	width: fit-content;
    max-width: 70.0rem;
    max-height: 70.0rem;
    overflow: hidden;
}

#main .voicephotList li::before,
#main .voicephotList li::after {
    content: none;
}

#main .voicephotList li img {
    max-width: 70.0rem;
    max-height: 70.0rem;
	object-fit: contain;
}

#main .voicephotList li > img {

}

#main .voicephotList li > a > img {

}

#main .voicephotList li .imgLayer {
    position: absolute;
    bottom: .5rem;
    right: .5rem;
    transform: none;
    top: inherit;
    left: inherit;
    width: auto;
    height: auto;
}

#main .voicephotList + .wysiwyg {
    margin-left: 34.6rem;
}

#main .voiceData table {
    margin-bottom: 3.0rem;
}

/* 
.wp-pagenavi {
    clear: both;
    text-align: center;
    padding-top: 3.5rem;
    margin-bottom: 3.5rem;
}

.wp-pagenavi span,
.wp-pagenavi a {
    background: #ffffff;
    display: inline-block !important;
    border-radius: .3rem;
    line-height: 1.2;
}

.wp-pagenavi a {
    background: #ff8632;
    color: #ffffff !important;
    border: none !important;
} */

img {
    border-style: none;
}

#main .nobr br {
    display: none;
}

#main p.wp-caption {
    font-size: 0.8em;
    line-height: 1.2em;
}

#main p.wp-caption img {
    margin-bottom: .5rem;
}

#main p.wp-caption .caption-text {
    text-align: left;
}

#main .naviUl {
    margin: 0 0 2.0rem !important;
    height: 3.4rem;
    position: relative;
    padding: 0 0;
}

#main .pagenavi {
    padding: 2.0rem 0 0 0 !important;
    margin: 6.0rem auto 0 !important;
    text-align: center;
    position: relative;
    font-size: max(1.8rem, 16px);
}

#main .pagenavi a {
    display: inline-block;
    border-radius: 100vh;
    background: var(--main-color03);
    /* padding: .5rem .5rem; */
    padding: 0.277em;
    /* width: 13.0rem; */
    width: 7.222em;
    text-align: center;
    transition: 0.7s;
    font-weight: bold;
    box-sizing: border-box;
}

#main .pagenavi li.list a {
    max-width: 25vw;
}

#main .pagenavi a:link,
#main .pagenavi a:hover,
#main .pagenavi a:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}

#main .pagenavi a:hover {
    opacity: 0.75;
    transition: 0.7s;
}

#main .pagenavi li {
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    display: block;
    /* width: 14.0rem; */
    /* width: 7.777em; */
    width: fit-content;
}

#main .pagenavi li::before,
#main .pagenavi li::after {
    position: absolute;
    top: 0;
    bottom: 0;
    /* right: 0.9em;
    left: inherit; */
    margin: auto;
    content: "";
    vertical-align: middle;
    z-index: 2;
}

#main .pagenavi li::before {
    width: 0.888em;
    height: 0.888em;
    border-radius: 100vh;
    background: #ffffff !important;
}

#main .pagenavi li::after {
    /* right: 1.2em; */
    width: 0.222em;
    height: 0.222em;
    border-top: calc(2 * var(--base-unit)) solid var(--main-color03);
    border-right: calc(2 * var(--base-unit)) solid var(--main-color03);
    transform: rotate(45deg);
}

#main .pagenavi .prev {
    position: absolute;
    right: 0;
    text-align: center;
    z-index: 2;
}

#main .pagenavi .prev a {
    /* padding: .5rem 2.0rem .5rem .5rem; */
    padding: 0.277em 1.111em 0.277em 0.277em;
}

#main .pagenavi li.list {
    position: absolute !important;
    left: 50%;
    transform: translateX(-50%);
    /* margin-left: -3.888em !important; */
}

#main .pagenavi li.list::before,
#main .pagenavi li.list::after {
    content: none;
}

#main .pagenavi .next {
    position: absolute !important;
    left: 0;
    text-align: center;
    z-index: 2;
}

/* #main .pagenavi li.next::before,
#main .pagenavi li.next::after {
    left: 0.9em;
    right: inherit;
} */
#main .pagenavi .next a {
    padding: 0.277em 0.277em 0.277em 1.111em;
}

#main .pagenavi .prev::before {
    right: 0.8em;
	left: unset;
}

#main .pagenavi .prev::after {
    right: 1.1em;
}

#main .pagenavi .next::before {
    left: 0.8em;
}

#main .pagenavi .next::after {
    /* left: 0.9em; */
    left: 1.1em;
    transform: rotate(-135deg);
}

#top div.subttl-img {
    display: none;
}

#top .consultationBox .inBox {
    margin-bottom: 1.0rem;
}

#main h2.topH {
    position: relative;
    color: var(--body-text-color);
    font-size: 3.4rem;
    line-height: 1;
    padding: 3.3rem 0 0 5.2rem;
    margin-top: 3.0rem;
    margin-bottom: 3.0rem;
    border: none;
}

#main h2.topH + .inner {
    padding-top: 0;
}

#main h2.topH span {
    font-size: 1.5rem;
    position: absolute;
    top: -1.0rem;
    left: 6.0rem;
}

#top #main .tmp.bgStripe01 .estimatesBox {
    margin-bottom: 1.5rem;
}

#top #main .tmp.bgStripe01 .estimatesBox a {
    text-decoration: none;
    color: var(--body-text-color);
}

.newsBox {
    width: 48.0rem;
    position: relative;
    padding-top: .5rem;
    float: right;
}

.newsBox .imgLayer {
    top: 0;
    right: .5rem;
    z-index: 10;
}

div.tabContent {
    clear: both;
    display: none;
}

div.active {
    display: block;
}

#main .newsBox {
    position: relative;
}

#main .newsBox h3 {
    background: none;
    color: var(--main-color01);
    font-size: 3.0rem;
    font-weight: normal;
    padding: 0;
    border-top: none;
    margin: 0 0 .5rem;
    line-height: 1;
    font-family: var(--en-font-family);
}

#main .newsBox h4 {
    font-size: 1.2rem !important;
    padding: 0 !important;
    position: relative !important;
    margin: 0 0 .5rem !important;
    font-weight: normal !important;
}

#main .newsBox h4::before,
#main .newsBox h4::after {
    content: none !important;
}

#main .newsBox .btn {
    margin: 0;
    position: absolute;
    top: .3rem;
    right: 0;
    font-size: 1.6rem;
}

#main .newsBox .inBox {
    border: #ccc solid calc(1 * var(--base-unit));
    border-top: solid calc(6 * var(--base-unit)) #7FB825;
    background: #ffffff;
    box-sizing: border-box;
    padding: 1.5rem;
    position: relative;
    margin-bottom: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#main .newsBox .inBox li {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin: 0;
    width: 33%;
    width: calc(33% - .5rem);
}

#main .newsBox .inBox li:last-of-type {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

#main .newsBox .inBox li::before,
#main .newsBox .inBox li::after {
    content: none;
}

#main .newsBox .inBox li a {
    color: var(--body-text-color);
    text-decoration: none !important;
}

#main .newsBox .inBox li h5 {
    background: none !important;
    color: #dd6600 !important;
    font-size: 1.5rem !important;
    padding: 0 !important;
    margin: .5rem 0 0 !important;
    height: 4.5rem;
}

#main .newsBox .inBox li .price {
    color: #bc111a !important;
}

#main .newsBox .inBox p {
    font-size: 1.2rem !important;
    margin-bottom: 0 !important;
}

#main .newsBox .inBox .contTxt {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
}

#main .newsBox .inBox p strong {
    color: #e50012;
}

#main .newsBox .inBox .cat {
    position: absolute;
    top: .5rem;
    left: .5rem;
    color: #ffffff;
}

#main .newsBox .inBox li .cat a {
    color: #ffffff;
    position: relative !important;
}

#main .newsBox .inBox li .newsTumb {
    width: 100%;
    height: 11.6rem;
    position: relative;
    overflow: hidden;
    display: block;
    background: #ededed;
    border: #ededed solid calc(1 * var(--base-unit));
    box-sizing: border-box;
}

#main .newsBox .inBox li img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}

#main .worksBox {
    padding: 2.0rem 0;
}

/* #main .reasonBox {
    padding: 2.0rem 0;
} */

#main .worksBox .inner {
    padding: 0 0 3.0rem 0;
}

#main .worksBox h2 {
    background: none;
    color: var(--body-text-color);
    font-size: 3.0rem;
    text-align: center;
    padding: .5rem 1.0rem;
    margin: 0 auto 3.0rem;
    text-shadow: 0 0 2.5rem #fff,
        0 0 2.0rem #fff,
        0 0 0.4.0rem #ffffff;
}

#main .reasonBox h2 {
    margin-top: 0;
    background: #efefef;
    font-size: 2.2rem;
    color: var(--body-text-color);
    border-top: #7FB825 solid calc(5 * var(--base-unit));
    width: auto;
}

#main .worksBox h2::after,
#main .voiceBox h2::after,
#main .reasonBox h2::after {
    display: none;
}

#main .worksBox h2 span.txtL,
#main .voiceBox h2 span.txtL,
#main .reasonBox h2 span.txtL {
    font-size: 4.8rem;
    display: block;
    margin: 0 auto;
}

#main .worksBox h2 span.txtEn,
#main .voiceBox h2 span.txtEn,
#main .reasonBox h2 span.txtEn {
    color: #0eaa8e;
    font-size: 2.0rem;
    display: block;
}

#main .worksBox h2 img,
#main .voiceBox h2 img {
    float: left;
    margin: -2.0rem 2.0rem 0 0;
}

#main .reasonBox h2 img {
    float: left;
    margin: -1.5rem 1.0rem 0 0;
}

#main .worksList,
#main .voiceList {
    overflow: hidden;
    padding-bottom: 2.0rem;
}

#main .worksList.column3,
#main .voiceList.column3 {
    overflow: hidden;
    padding-bottom: 2.0rem;
    position: relative;
}

#main .worksList.column3 article,
#main .voiceList.column3 article {
    width: 31.6rem;
    float: left;
    margin: 0 2.6rem 4.0rem 0;
    position: relative;
}

#main .worksList.column3 article:nth-child(3n),
#main .voiceList.column3 article:nth-child(3n) {
    margin-right: 0;
}

#main .worksList.column3 .mainThumb,
#main .voiceList.column3 .mainThumb {
    width: 31.6rem;
    height: 20.0rem;
}

#main .worksList article,
#main .voiceList article {
    width: 23.6rem;
    float: left;
    margin: 3.0rem 1.8rem 0 0;
    position: relative;
}

#main .worksList article:nth-child(-n + 4),
#main .voiceList article:nth-child(-n + 4) {
    margin-top: 0;
}

#main .worksList a,
#main .voiceList a {
    display: block;
    text-decoration: none !important;
}

#main .worksList h3,
#main .worksList .contTxt,
#main .worksList .price,
#main .voiceList h3,
#main .voiceList .contTxt {
    display: block;
    border: none;
    background: none;
    line-height: 1.4;
    font-size: 1.2rem;
    padding: 0;
    margin: 0;
    color: var(--body-text-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: bold;
}

#main .worksList h3,
#main .voiceList h3 {
    margin: 1.0rem 0 0 0;
    color: var(--body-text-color);
    margin-bottom: .3rem;
}

#main .mainThumb {
    width: 23.6rem;
    height: 16.6rem;
    position: relative;
    overflow: hidden;
    display: block;
    background: #ededed;
}

#main .mainThumb img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}

#main .worksList .price {
    font-weight: bold;
    color: #bc111a;
}

#main .worksList .price span {
    display: inline-block;
    background: #bc111a;
    color: #ffffff;
    border-radius: .3rem;
    padding: .1rem 1.0rem 0 1.0rem;
    margin-right: .8rem;
}

#main .worksList .time,
#main .voiceList .time {
    color: var(--body-text-color);
    line-height: 1.4;
    font-size: 1.2rem;
}

#main .voiceList h3 {
    font-size: 1.5rem;
    overflow: visible;
    text-overflow: inherit;
    white-space: inherit;
    color: var(--main-color01);
}

#main .resonList {
    position: relative;
    overflow: hidden;
    margin-bottom: 2.0rem;
}

#main .resonList li {
    color: #ffffff;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    float: left;
    margin: 0 1.1rem 0 0;
    box-sizing: border-box;
    background: none;
    padding: 0;
    background-color: #FF7E00;
    border-radius: 1.0rem;
}

#main .resonList li:last-child {
    margin-right: 0;
}

#main .resonList li a {
    color: var(--body-text-color);
    text-decoration: none;
    display: block;
    padding: 1.5rem .5rem .5rem;
    border-radius: .5rem;
    width: 18.1rem;
}

#main .resonList li::before,
#main .resonList li::after {
    content: none;
}

#main .resonList li:hover {
    opacity: 0.8;
    transition: 0.7s;
}

#main .resonList li h4 {
    background: none !important;
    padding: 0 !important;
    font-size: 1.8rem;
    line-height: 1.2;
    margin: 1.0rem 0 0 !important;
    color: #ffffff;
}

#main .resonList li h4::before,
#main .resonList li h4::after {
    display: none;
}

#main .resonList li h4 strong {
    font-size: 2.5rem !important;
    display: block !important;
}

#main .resonList li p {
    border-radius: .5rem;
    background-color: #ffffff;
    display: block;
    margin: 1.0rem 0 0;
    font-size: 1.5rem;
    text-align: left;
    padding: .5rem;
}

#main .contentBnrList {
    position: relative;
    overflow: hidden;
}

#main .contentBnrList li {
    float: left;
    margin: 4.0rem 4.0rem 0 0;
    background: none;
    padding: 0;
}

#main .contentBnrList li:nth-child(-n + 2) {
    margin-top: 0;
}

#main .contentBnrList li:nth-child(2n) {
    float: right;
    margin-right: 0;
}

#main .contentBnrList li::before,
#main .contentBnrList li::after {
    display: none;
}

div.outline-img {
    margin-top: 4.0rem;
}

.areaPage #main div.top-c-area h2.fullWidth,
#top #main div.top-c-area h2.fullWidth {
    background-color: #FF7E00;
    text-shadow: none;
    font-size: 2.9rem !important;
    font-weight: bold;
}

.areaPage #main div.top-c-area div.txt-area,
#top #main div.top-c-area div.txt-area {
    float: right;
    width: 68.0rem;
}

.areaPage #main div.top-c-area div.txt-area p.btn::before,
#top #main div.top-c-area div.txt-area p.btn::before {
    width: 1.8rem;
}

.areaPage #main div.top-c-area div.txt-area p.btn,
#top #main div.top-c-area div.txt-area p.btn {
    margin-right: 0.5rem;
    display: inline-block;
    float: left;
}

.areaPage #main div.top-area.reas .btn.w-staff,
#top #main div.top-area.reas .btn.w-staff {
    margin-right: 0;
}

.areaPage #main div.top-c-area img.corp-photo,
#top #main div.top-c-area img.corp-photo {
    float: left;
}

.areaPage #main div.top-area-area,
#top #main div.top-area-area {
    border: solid calc(1 * var(--base-unit)) var(--body-text-color);
    padding: 0.5rem;
    clear: both;
    height: auto;
    overflow: hidden;
    margin-bottom: 3.0rem;
}

.areaPage #main div.top-area-area h3,
#top #main div.top-area-area h3 {
    background: none;
    font-size: 2.6rem;
    color: #000;
    border-top: var(--main-color01) solid 0;
    padding: 0;
    margin: 0;
}

.areaPage #main div.top-area-area h3 strong,
#top #main div.top-area-area h3 strong {
    text-decoration: underline;
}

.areaPage #main div.top-area-area div.txt-area p,
#top #main div.top-area-area div.txt-area p {
    font-size: 2.0rem;
}

.areaPage #main div.top-area-area div.txt-area,
#top #main div.top-area-area div.txt-area {
    float: left;
    width: 60.0rem;
    margin: 1.0rem;
    position: relative;
}

.areaPage #main div.top-area-area img,
#top #main div.top-area-area img {
    float: right;
}

.areaPage #main div.top-area-area div.txt-area .imgLayer,
#top #main div.top-area-area div.txt-area .imgLayer {
    float: none;
    position: absolute;
    right: 0;
    bottom: -4.0rem;
}

#first #main table strong {
    color: #e50012;
}

#first #main .catchTtl {
    font-size: 5.0rem;
    line-height: 1.3;
}

#corporate #main table a {
    color: var(--body-text-color);
}

#corporate #main table iframe {
    border: #ccc solid calc(1 * var(--base-unit));
}

lite-youtube {
    max-width: 100% !important;
}

#main .flex-2 {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: flex-end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 auto 4.0rem;
    padding: 2.0rem 0;
}

#main ul.flex-2 li {
    margin: 0;
    padding: 0;
}

#main ul.flex-2 li::before,
#main ul.flex-2 li::after {
    content: none;
}

#main .showroomPict {
    position: relative;
    overflow: hidden;
}

#main .showroomPict .mainimglist {
    width: 75.0rem;
    height: 48.0rem;
    position: relative;
    overflow: hidden;
    float: left;
}

#main .showroomPict .mainimglist img {
    width: 75.0rem;
    height: auto;
}

#main .showroomPict .thumbnaillist {
    width: 23.0rem;
    float: right;
    margin-top: 0;
}

#main .showroomPict .thumbnaillist li {
    background: none;
    padding: 0;
    margin: 0 0 1.5rem;
}

#main .showroomPict .thumbnaillist li:last-child {
    margin-bottom: 0;
}

#main .showroomPict .thumbnaillist li a {
    width: 23.0rem;
    height: 15.0rem;
    overflow: hidden;
    display: block;
}

#main ol.showroomStep {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin: 0 0 3.0rem;
}

#main ol.showroomStep li {
    list-style-type: none;
    float: left;
    width: 25.0rem;
    margin: 1.5rem 0 0 -5.0rem;
    font-weight: bold;
}

#main ol.showroomStep li span {
    background: #0b3e9b;
    border-radius: 50%;
    width: 6.7rem;
    height: 6.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.0rem;
}

#main ol.showroomStep li:first-child {
    width: 20.0rem;
    margin-left: 0;
}

#main ol.showroomStep li h4 {
    background: -webkit-linear-gradient(0deg, #12a73b 0%, #ffcc00 100%);
    background: -moz-linear-gradient(0deg, #12a73b 0%, #ffcc00 100%);
    background: -o-linear-gradient(0deg, #12a73b 0%, #ffcc00 100%);
    background: -ms-linear-gradient(0deg, #12a73b 0%, #ffcc00 100%);
    background: linear-gradient(90deg, #12a73b 0%, #ffcc00 100%);
    margin: 0 5.0rem 1.0rem 0 !important;
    color: #ffffff !important;
    padding: 0 1.0rem 0 5.0rem;
}

#main ol.showroomStep li:first-child h4 {
    padding-left: 1.0rem;
}

#main ol.showroomStep li:last-child h4 {
    background: #e50012;
}

#main ol.showroomStep li h4::before {
    display: none;
}

#main ol.showroomStep li h4::after {
    width: 0;
    height: 0;
    border-style: solid;
    border-width: calc(40 * var(--base-unit)) 0 0 calc(40 * var(--base-unit));
    border-color: transparent transparent transparent #ffcc00;
    content: '';
    z-index: 10;
    position: absolute;
    left: 100%;
    bottom: 0;
    top: inherit;
    border-radius: 0;
    background: none;
}

#main ol.showroomStep li:last-child h4::after {
    border-color: transparent transparent transparent #e50012;
}

#main ol.showroomStep li p {
    padding-left: 4.0rem;
    height: 6.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

#main ol.showroomStep li:first-child p {
    padding-left: 0;
}

#reason #main .balloonBox {
    margin: 3.0rem auto;
}

#reason #main .balloonBox p {
    font-size: 3.0rem;
}

#reason .catchTtl {
    font-size: 4.5rem;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 2.0rem;
    margin-top: 1.0rem;
}

#reason .catchTtl strong {
    font-size: 6.0rem;
}

#reason .catchTtl strong span {
    color: #00617D;
}

#reason #main h3 span {
    border-radius: .8rem;
    line-height: 1;
    padding: 3.0rem 2.0rem;
    color: #ffffff;
    margin-right: 2.0rem;
}


#staff #main #tabMenu {
    position: relative;
    overflow: hidden;
    margin-bottom: 2.5rem;
}

#staff #main #tabMenu li {
    border-radius: .4rem;
    background: linear-gradient(0deg, #7f7f7f 0%, #cfcfcf 100%);
    box-shadow: 0px .4rem .7rem .1rem rgba(52, 52, 52, 0.35) inset;
    font-size: 2.5rem;
    font-weight: bold;
    text-align: center;
    color: #ffffff;
    text-decoration: none;
    display: block;
    float: left;
    line-height: 1.2;
    padding: 0;
    width: 48.5rem;
}

#staff #main #tabMenu li a {
    color: #ffffff;
    text-decoration: none;
    display: block;
    padding: 1.5rem 0;
}

#staff #main #tabMenu li:hover {
    cursor: pointer;
    opacity: 0.8;
    transition: 0.7s;
}

#staff #main #tabMenu li:nth-child(2n) {
    float: right;
}

#staff #main #tabMenu li.select {
    background: -webkit-linear-gradient(90deg, #e50012 0%, #fd2571 100%);
    background: -moz-linear-gradient(90deg, #e50012 0%, #fd2571 100%);
    background: -o-linear-gradient(90deg, #e50012 0%, #fd2571 100%);
    background: -ms-linear-gradient(90deg, #e50012 0%, #fd2571 100%);
    background: linear-gradient(0deg, #e50012 0%, #fd2571 100%);
}

#staff #main #tabMenu li.select:hover {
    opacity: inherit;
}

#staff #main .staffShop {
    position: relative;
    overflow: hidden;
    margin-bottom: 4.5rem;
}

#staff #main .staffShop li {
    position: relative;
    font-size: 2.5rem;
    background: none;
    display: inline-block;
    padding: 0 0 0 2.0rem;
    margin: 0 3.5rem 0 0;
}

#staff #main .staffShop li::before,
#staff #main .staffShop li::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#staff #main .staffShop li::before {
    background: #12a73b;
    border-radius: 50%;
    width: 1.6rem;
    height: 1.6rem;
}

#staff #main .staffShop li::after {
    left: .4rem;
    width: .5rem;
    height: .5rem;
    border-left: calc(2 * var(--base-unit)) solid #ffffff;
    border-bottom: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: none;
    border-top: none;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#staff #main .staffShop li a {
    color: var(--body-text-color);
    text-decoration: none;
}

#staff #main .staffList {
    position: relative;
    overflow: hidden;
    margin-bottom: 5.0rem;
}

#staff #main .staffList li {
    background: none;
    float: left;
    margin: 3.5rem 2.0rem 0 0;
    width: 23.5rem;
    padding: 0;
    font-weight: bold;
}

#staff #main .staffList li:nth-child(-n + 4) {
    margin-top: 0;
}

#staff #main .staffList li:nth-child(4n) {
    margin-right: 0;
}

#staff #main .staffList li a {
    text-decoration: none;
}

#staff #main .staffList li::before,
#staff #main .staffList li::after {
    content: none;
}

#staff #main .staffList li .staffPict {
    width: 23.5rem;
    height: 28.0rem;
    position: relative;
    overflow: hidden;
    margin-bottom: 1.0rem;
}

#staff #main .staffList li .staffPict img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#staff #main .staffList li .positionTxt {
    display: block;
    margin: 0;
}

#staff #main .staffList li .positionTxt span,
#staff #main .staffProf .profileDetail .positionTxt span {
    border-radius: .4rem;
    background: var(--main-color01);
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: bold;
    display: inline-block;
    padding: .6rem .8rem .3rem;
    line-height: 1.2;
    margin-right: .5rem;
    margin-bottom: .7rem;
}

#staff #main .staffList li .staffName,
#staff #main .staffProf .profileDetail .staffName {
    color: var(--body-text-color);
    font-size: 2.3rem;
    line-height: 1.3;
    font-weight: bold;
}

#staff #main .staffList li .staffName span,
#staff #main .staffProf .profileDetail .staffName span {
    color: #4dbe53;
    font-size: 1.2rem;
    display: block;
}

#staff #main .staffList li .btnDetail,
.staffProf a#btnClose {
    font-size: 1.4rem !important;
    margin: 1.0rem auto 0 !important;
    width: 8em !important;
    border-radius: .4rem;
    padding: 0 1.0rem;
    background: linear-gradient(0deg, #1758be 0%, #1c9edd 100%);
    box-shadow: 0px -.2rem 0px 0px #0c4661;
}

.staffProf a#btnClose {
    font-size: 1.5rem !important;
    color: #ffffff;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    display: block;
    width: 6em;
    margin: 5.0rem auto 0 auto !important;
    padding: .2rem 4.0rem;
}

body#staff {
    min-width: 0;
    overflow: hidden;
}

#staff #main .staffProf {
    padding: 2.0rem;
}

#staff #main .staffProf .staffPict {
    width: 23.5rem;
    height: 28.0rem;
    position: relative;
    overflow: hidden;
    float: left;
    margin-right: 2.5rem;
}

#staff #main .staffProf .staffPict img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#staff #main .staffProf .profileDetail {
    overflow: hidden;
}

#staff #main .staffProf .profileDetail .positionTxt {
    margin-top: 0;
    font-size: 1.2rem;
}

#staff #main .staffProf .profileDetail .staffName span {
    display: inline-block;
    margin-left: 1.0rem;
}

#staff #main .staffProf .profileDetail dl dt {
    background: #7FB825;
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: bold;
    display: block;
    padding: .3rem 1.0rem;
    margin: 1.5rem 0 1.0rem;
}

#staff #main .staffProf .profileDetail dl dd {
    font-size: 1.5rem;
}


#colorsimulation #main .inner h3:first-of-type {
    margin-top: 0;
}

#rainleaking #main .ranking {
    padding: 0;
    margin: 0 0 2.0rem;
}

#rainleaking #main .ranking li {
    list-style: none;
    font-size: 2.5rem;
    font-weight: bold;
    color: #bc111a;
    margin: 0;
}

#rainleaking #main .catchTtl {
    font-size: 5.2rem;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 3.0rem;
}

#harikae #main .catchTtl {
    font-size: 4.5rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
}

#harikae #main .catchTtl strong {
    color: #e50012;
}

#main div.bnr-a-2 div:first-child {
    float: left;
}

#main div.bnr-a-2 div:nth-of-type(2n) {
    float: right;
}

#main .itemBox .menu-item-txt {
    float: left;
    width: 65%;
    margin-bottom: 2rem;
}

#main .itemBox .menu-item-txt dl dt {
    background-color: #21794B;
    padding: 2.0rem 1.5rem;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    width: 4rem;
    float: left;
}

#main .itemBox .menu-item-txt dl dd {
    background-color: #FFFDED;
    padding: 1.9rem 1.5rem;
    font-weight: bold;
    color: #000;
    text-align: center;
    width: 10rem;
    float: left;
    border: solid calc(1 * var(--base-unit)) #ccc;
    margin-right: 2rem;
}

#main .itemBox .menu-item-txt dl dd:last-child {
    margin-right: 0;
}

#main .itemBox .menu-item-img {
    float: right;
    width: 35%;
    text-align: right;
    position: relative;
    padding-bottom: 2rem;
}

#main .itemBox .menu-item-img img + img {
    position: absolute;
    top: 1.0rem;
    left: 1.5rem;
}

#main .itemBox h3 {
    background: none;
    border: none;
    display: inline-block;
    float: left;
    width: 74.0rem;
    margin: 0;
    font-size: 3.0rem;
}

#main .itemBox h3 img {
    display: block;
    margin-bottom: .5rem;
}

#main .itemData {
    clear: both;
    margin-top: 2.0rem;
    background: #00617D;
    padding: 3.0rem;
}

#main .itemData h4 {
    color: #ffffff;
    font-size: 3.5rem;
    text-align: center;
    margin: 0 0 2.0rem;
    padding: 0;
}

#main .itemData h4::before,
#main .itemData h4::after {
    display: none;
}

#main .itemData ul {
    position: relative;
    overflow: hidden;
    margin: 0;
}

#main .itemData ul li {
    border-radius: .5rem;
    background: #ffffff;
    padding: 2.5rem 2.5rem 7.0rem;
    margin: 0 1.5rem 1.5rem 0;
    position: relative;
    width: 30.3rem;
    float: left;
    box-sizing: border-box;
}

#main .itemData ul li:nth-child(3n) {
    margin-right: 0;
}

#main .itemData ul li::before,
#main .itemData ul li::after {
    content: none;
}

#main .itemData ul li h5 {
    position: absolute;
    bottom: 0;
    left: 50%;
    background: #217A4C;
    display: block;
    width: 20.0rem;
    text-align: center;
    margin-left: -10.0rem;
    padding: .3rem;
    box-sizing: border-box;
}

#contact #main h2 {
    padding: 0.5rem 1.5rem;
    margin-bottom: 1.5rem;
}

#contact #main .msgTxt {
    font-size: 1.5rem;
}

#contact #main .msgTxt h4 {
    font-size: 2.4rem;
    margin-bottom: 1.0rem;
}

#contact #main .msgTxt h4:last-child {
    margin-bottom: 0;
}

#contact #main .msgTxt h4::before,
#contact #main .msgTxt h4::after {
    top: .9rem;
}

#contact #main .msgTxt strong {
    background: #faff7e;
    display: inline-block;
    font-weight: normal;
}

#contact #main .msgTxt .catchTxt {
    font-size: 3.3rem;
    font-weight: bold;
}

#contact #main .msgTxt .catchTxt strong {
    color: #BC111A;
    background: none;
    font-weight: bold;
}

/*
#main .contactTel .catchTxt span {
    background: #00617D;
    border-radius: .5rem;
    color: #ffffff;
    font-size: 2.5rem;
    margin-right: .5rem;
    display: inline-block;
    padding: 0 1.0rem;
}

#main .contactTel .tel span {
    color: #BC111A;
    font-size: 5.0rem;
    line-height: 1;
    display: block;
}

#main .contactTel .tel span {
    color: #BC111A;
    font-size: 5.0rem;
}

#main .contactTel .tel span {
    font-size: 5.8rem;
    font-weight: bold;
    line-height: 1;
    margin: 0;
    display: block;
    clear: none;
    padding-left: 6.0rem;
}
*/

#main h2.fullWidth.bg-g {
    margin-bottom: 0;
}

#main .w90 .comIdea ul {
    width: 88%;
    margin-left: auto;
    margin-right: auto;
}

.packWall .btn a,
.packRoof .btn a {
    padding: .7rem .5rem .1rem 6.0rem;
    display: block;
    color: #ffffff;
    text-decoration: none;
    border-radius: .7rem;
    position: relative;
    margin: .3rem .2rem;
    text-align: left;
    border-top: solid calc(5 * var(--base-unit)) #f33a3a;
}

.packWall .btn,
.packRoof .btn {
    display: block;
    color: #ffffff !important;
    font-size: 1.7rem;
    font-weight: bold;
    position: relative;
    padding: .1rem;
    background: none;
    box-shadow: none;
    font-weight: bold;
    border-radius: .7rem;
    background-color: #d00;
    width: 24rem;
    margin: 0 auto;
}

#main .warksTaxList .btn .toggleBtn {
    padding: .7rem .5rem .1rem 6.0rem;
    display: block;
    color: #ffffff;
    text-decoration: none;
    border-radius: .7rem;
    position: relative;
    margin: .3rem .2rem;
    text-align: left;
    border-top: solid calc(5 * var(--base-unit)) #f33a3a;
    box-shadow: none;
}

/* #main .warksTaxList .btn {
    display: inline-block;
    ;
    color: #ffffff !important;
    font-size: 1.7rem;
    font-weight: bold;
    position: relative;
    padding: .1rem;
    background: none;
    box-shadow: none;
    font-weight: bold;
    border-radius: .7rem;
    background-color: #d00;
    width: 18%;
    margin: 0 1.0rem 1.0rem 0;
} */

#main .warksTaxList .taxList,
#main .warksTaxList .taxList {
    display: none;
    margin: 1.0rem 0;
}

#main .warksTaxList li a {
    display: inline-block !important;
    background: #ff8632;
    color: #ffffff !important;
    margin: 0 .4rem .4rem 0;
    text-decoration: none;
    padding: 0 .5rem;
    border-radius: .3rem;
    font-size: 1.3rem;
    font-weight: normal;
    line-height: 1.8;
}

#main .warksTaxList li.current-cat a {
    background-color: #ffffff;
    color: #ff8632 !important;
    border: solid calc(1 * var(--base-unit)) #ff8632;
}

#staff #main .staffProf .profileDetail dl dd .staffLink {
    color: #2d2d2d;
    display: block;
}

#staff #main .staffProf .profileDetail dl dd .staffLink:hover {
    text-decoration: none;
}

#staff #main .staffProf .profileDetail dl .staffQualification p {
    margin: 0;
    font-size: 1.5rem;
}





/*
#top .formBox {
    margin-top: 4.0rem;
}

#top .formBox h2 {
    margin-bottom: 0;
}

#top .formBox h2 strong {
    color: #ffff33;
}

#top .formBox table {
    margin-top: 0;
}

#top .formBox span.wpcf7-list-item {
    margin-left: 0.5em;
}
*/


#main .combnrList li.combnrListForm {
    background: #00617D;
    padding: 0;
    margin: 0 0 1.8rem;
    height: 8.5rem;
    width: 32.0rem;
}

#main .combnrList li.combnrListForm .btn {
    background: none;
    box-shadow: none;
    width: 100%;
    padding: 0;
}

#main .combnrList li.combnrListForm .btn a {
    font-size: 3.0rem;
    border-top: solid calc(5 * var(--base-unit)) #007FA3;
    margin: 0 .5rem;
    border-radius: .8rem;
    padding: 1.2rem 2.0rem 0 0;
}

#main .combnrList li.combnrListForm .btn::before,
#main .combnrList li.combnrListForm .btn::after {
    position: absolute;
    top: 1.5rem;
    bottom: 0;
    left: auto;
    right: 1.7rem;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#main .combnrList li.combnrListForm .btn::before {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background: #ffffff;
}

#main .combnrList li.combnrListForm .btn::after {
    left: auto;
    right: 2.5rem;
    width: .8rem;
    height: .8rem;
    border-top: calc(4 * var(--base-unit)) solid #007FA3;
    border-right: calc(4 * var(--base-unit)) solid #007FA3;
    transform: rotate(45deg);
}

#main .combnrList li.combnrListForm.-showroom {
    background: #EBCE08;
    margin: 0 2.0rem 1.8rem 0;
}

#main .combnrList li.combnrListForm.-showroom a {
    color: #000 !important;
    border-top: solid calc(5 * var(--base-unit)) #f5e683;
}

#main .combnrList li.combnrListForm.-showroom .btn::after {
    border-top: calc(4 * var(--base-unit)) solid #EBCE08;
    border-right: calc(4 * var(--base-unit)) solid #EBCE08;
}

#main .combnrList li.combnrListReason {
    margin-right: 4.0rem;
    margin-left: 0;
}


#main .combnrList li.combnrListTel {
    background: linear-gradient(0deg, rgba(204, 2, 2, 1) 0%, rgba(175, 19, 19, 1) 49%, rgba(226, 100, 100, 1) 49%, rgba(208, 1, 1, 1) 100%);
    padding: 0;
    margin: 0 2.0rem 1.8rem 0;
    height: 8.5rem;
    width: 32.0rem;
}

#main .combnrList li.combnrListTel:hover {
    opacity: 1;
}

#main .combnrList li.combnrListTel p.tel {
    margin: .7rem 0 0 1.5rem;
}

#main .combnrList li.combnrListTel .tel span {
    color: #ffffff;
    font-size: 4.2rem;
    line-height: 1;
    padding: .5rem 0 0 2.2rem;
    margin: 0;
    display: block;
    font-family: var(--en-font-family);
    font-weight: normal;
}

#main .combnrList li.combnrListTel .tel span.tel-time {
    background: none;
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 1;
    padding: 0 0 0 3.0rem;
    margin: 0;
    display: block;
    font-family: var(--base-font-family);
    font-weight: normal;
}




#staff #main .staffContact {
    clear: both;
    padding-top: 2.0rem;
}

#staff #main .staffContact h2 {
    font-size: 2.0rem;
    width: 100%;
}





#main h2.awardTtl {
    font-size: 6.0rem;
    padding: 1.0rem 1.0rem .5rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
}

#main .awardList {
    display: flex;
    flex-flow: row wrap;
}

#main .awardList li {
    width: 24.25%;
    margin-right: 1%;
    margin-bottom: 0;
    padding: 0;
    text-align: center;
}

#main .awardList li:nth-of-type(4n) {
    margin-right: 0;
}

#main .awardList li img {
    max-width: 100%;
    height: auto;
}

#main .awardList li::before,
#main .awardList li::after {
    content: none;
}

#main .showroom_btn {
    text-align: center;
    margin: 3.0rem 0 4.0rem;
}

.showroom_btn .btn,
.showroom_btn a.btn,
.showroom_btn .button.btn {
    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529 !important;
    border-radius: 0.5rem;
    box-shadow: none;
}

#main a.btn-custom01 {
    display: inline-block;
    margin-bottom: 0.5rem;
    padding: 0;
    border-radius: 0.75rem;
    text-decoration: none;
}

#main a.btn-custom01::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: "";
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-transform: translate3d(0, 0.75rem, -1rem);
    transform: translate3d(0, 0.75rem, -1rem);
    box-sizing: border-box;
    border: calc(2 * var(--base-unit)) solid #000;
    border-radius: inherit;
    background: #ccc100;
    -webkit-box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.6rem 0 0 rgba(0, 0, 0, 0.2);
}

#main a.btn-custom01::after {
    font-family: "Font Awesome 5 Free";
    font-size: 2rem;
    font-weight: normal;
    line-height: 1;
    position: absolute;
    top: calc(50% - 1rem);
    left: 1.5rem;
    margin: 0;
    padding: 0;
    content: "\f0e0";
    transform: rotate(0deg);
    border: none;
}

#main .btn-custom01-front {
    color: #000;
    position: relative;
    display: block;
    padding: 1.5rem 5rem 1.5rem 5rem;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    border: calc(2 * var(--base-unit)) solid #000;
    border-radius: inherit;
    background: #fff100;
}

.fa-position-right {
    position: absolute;
    top: calc(50% - 0.5em);
    right: 1rem;
}

#main a.btn-custom01:hover {
    -webkit-transform: translate(0, 0.25rem);
    transform: translate(0, 0.25rem);
    background: #fff100;
}

#main a.btn-custom01:hover::before {
    -webkit-transform: translate3d(0, 0.5rem, -1rem);
    transform: translate3d(0, 0.5rem, -1rem);
    -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}

#main a.btn-custom01:hover::after {
    content: "\f2b6";
}

#main a.btn-custom01:active {
    -webkit-transform: translate(0rem, 0.75rem);
    transform: translate(0rem, 0.75rem);
}

#main a.btn-custom01:active::before {
    -webkit-transform: translate3d(0, 0, -1rem);
    transform: translate3d(0, 0, -1rem);
    -webkit-box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0.35rem 0 0 rgba(0, 0, 0, 0.2);
}

#main a.btn-custom01:active::after {
    content: "\f2b6";
}

#main .pickUpRes h3.pickup {
    border-top: solid calc(7 * var(--base-unit)) #d00;
}

#main .pickUpRes .worksList.pickupWorks {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4.0rem;
}

#main .pickUpRes .worksList.pickupWorks article {
    width: 31.6rem;
    float: none;
    margin: 0;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

#main .pickUpRes .worksList.pickupWorks .worksImg {
    width: 100%;
    height: 20.0rem;
    border: #FF6600 solid calc(5 * var(--base-unit));
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

#main .pickUpRes .worksList .worksImg img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main .pickUpRes .worksList.pickupWorks .worksImg::before {
    content: "オススメ!";
    transform: rotate(-45deg);
    position: absolute;
    right: -3.5rem;
    bottom: 2.2rem;
    display: block;
    color: rgb(255, 255, 255);
    width: 14.0rem;
    text-align: center;
    font-size: 1.8rem;
    font-weight: bold;
    z-index: 2;
    background: #FF6600;
}

footer .ftrScroll2 {
    padding: .3rem 0;
    background: rgba(0, 0, 0, 0.7);
    position: fixed;
    bottom: 0;
    width: 100%;
    display: none;
    z-index: 100;
    font-size: 1.2rem;
    line-height: 1.2;
}

footer .ftrScroll2 .inner {
    margin: 1.0rem auto;
    padding: 0;

}

footer .ftrScroll2 .ftrCont {
    background: #ffffff;
    padding: .3rem .5rem;
    float: left;
    min-width: 89.0rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    justify-content: space-between;
    margin-right: .5rem;
    overflow: hidden;
}

footer .ftrScroll2 .tel {
    display: inline-block;
    float: left;
    margin-right: 0;
    color: var(--body-text-color);
    font-size: 1.1rem;
}

footer .ftrScroll2 .tel span {
    padding: 0 0 0 5.2rem;
    font-size: 5.0rem;
    line-height: 1;
    display: block;
    letter-spacing: -0.025em;
}

footer .ftrScroll2 .ftrCont ul {
    position: relative;
    overflow: hidden;
}

footer .ftrScroll2 .ftrCont ul li {
    float: left;
    margin-left: .5rem;
    text-align: center;
}

footer .ftrScroll2 .ftrCont ul li a {
    display: block;
    text-decoration: none;
    text-align: center;
    position: relative;
}

footer .ftrScroll2 .ftrCont ul li.ftrTel {
    display: none;
}


footer .ftrScroll2 .pageTop a {
    background: #7fb825;
    width: 7.6rem;
    height: 7.1rem;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

footer .ftrScroll2 .pageTop a:hover img {
    filter: alpha(opacity=80);
    opacity: 0.8;
}

#top footer .ftrBnr {
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
}

footer .ftrScroll2 .ftrCont h3 {
    background: #005eb5;
    color: #ffffff;
    font-size: 2.0rem;
    margin: -.6rem 4.0rem -.6rem -1.0rem;
    padding: 1.2rem 0 1.2rem 3.0rem;
    border-radius: 0 .5rem .5rem 0;
    position: relative;
    z-index: 1;
}

footer .ftrScroll2 .ftrCont h3::after {
    content: '';
    position: absolute;
    left: 78%;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 0;
    height: 0;
    border: solid calc(30 * var(--base-unit)) #005eb5;
    transform: rotate(-45deg);
    border-radius: 0 0 .5rem 0;
    z-index: -1;
}

footer .ftrScroll2 .ftrCont ul li span {
    font-size: 1.3rem;
    display: block;
    color: #ffffff;
}

footer .ftrScroll2 .ftrCont .ftrCampaign {
    float: left;
    width: 20.0rem;
    margin-right: 1.0rem;
    overflow: hidden;
}

footer .ftrScroll2 .ftrCont .ftrCampaign img {
    max-width: 100%;
    height: 6.0rem;
}

#main .contactBox2 {
    clear: both;
    display: block;
    position: relative;
    margin: 0 auto;
    padding: 1.5rem 0;
    width: 100.0rem;
    box-sizing: border-box;
    text-decoration: none;
}

#main .bgCB .contactBox2 {
    margin: 3.5rem auto 3.0rem;
}

#main .contactBox2:hover {
    opacity: 0.7;
    transition: 0.7s;
}

#main .contactBox2 .inBox {
    background: #ffffff;
    padding: 1.0rem;
    border-color: #cccccc;
    border-width: calc(10 * var(--base-unit));
    border-style: solid;
    position: relative;
}

#main .contactBox2 .inBox .imgLayer {
    right: 0;
    bottom: 0;
}


#main .contactBox2 h4 {
    margin-bottom: .5rem;
}

#main .contactBox2 p {
    font-size: 2.8rem;
    line-height: 1.3;
    color: var(--body-text-color);
    margin-bottom: 0;
}

#main .contactBox2 p.catchTxt img {
    vertical-align: middle;
    margin-right: .4rem;
}

#main .contactBox2 p.btmCatch {
    font-size: 2.6rem;
    line-height: 1.3;
    color: #ffffff;
    font-weight: bold;
    margin: .1rem 0 0 0;
    padding: .5rem 1.5rem;
    background: #ed8f2b;
}

#main .contactBox2 p.catchTxt {
    margin: -3.0rem 0 -1.5rem 0;
}

#main .contactBox2 p.catchTxt strong {
    color: #d03333;
}

#main .contactBox2 p.catchTxt span {
    border-radius: .4rem;
    background: #d0004e;
    color: #ffffff;
    font-size: 2.0rem;
    padding: .3rem .3rem 0 .3rem;
    margin-right: .5rem;
}


#main .contactBox2 .toContactBox {
    margin-right: 1.5rem;
    float: left;
}

#main .contactBox2 .telBox {
    padding: 0 12.0rem .1rem 0;
    overflow: hidden;
    z-index: 100;
    position: relative;
}

#main .contactBox2 .telBox .tel {
    font-size: 1.3rem !important;
    text-align: center;
    margin-bottom: 0 !important;
    color: var(--body-text-color);
    padding: 0;
    display: inline-block;
    float: left;
}

#main .contactBox2 .telBox .tel .miT {
    background: #005eb5;
    display: block;
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    padding: .5rem 0;
}

#main .contactBox2 .telBox .tel span {
    background-position: left 2.0rem;
    font-size: 5.8rem;
    line-height: 1;
    margin: 0;
    display: block;
    clear: none;
    padding-left: 4.2rem;
}

#main .contactBox2 .telBox .tel span.tel-time {
    font-size: 1.2rem;
    font-weight: normal;
    display: block;
    line-height: 1.4;
    text-align: left;
    padding: 0 0 0 0;
    color: var(--body-text-color);
    background: none;
    font-family: var(--base-font-family);
}

#main .contactBox2 .telBox .btnAr {
    margin: 0;
    margin-left: 1.5rem;
    display: flex;
    box-sizing: border-box;
}

#main .contactBox2 .telBox .btn::after {
    border-top-color: #ff6600;
    border-right-color: #ff6600;
}

#main .contactBox2 .telBox .btnAr a {
    margin-left: 1.5rem;
    display: inline-block;
}

#wpack #main .contactBox2 .telBox .btn::after,
#apartment #main .contactBox2 .telBox .btn::after,
#menu #main .contactBox2 .telBox .btn::after,
#rainleaking #main .contactBox2 .telBox .btn::after,
#diagnosis #main .contactBox2 .telBox .btn::after,
#colorsimulation #main .contactBox2 .telBox .btn::after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    left: 1.6rem;
}

#main .contactBox2 ul {
    position: relative;
    overflow: hidden;
    margin: 0 0 1.0rem;
}

#main .contactBox2 ul li {
    border-radius: .4rem;
    background: #0eaa8e !important;
    color: #ffffff;
    font-size: 2.0rem;
    font-weight: bold;
    margin: 0 1.0rem 0 0;
    padding: .5rem 1.5rem;
    text-align: center;
    float: left;
}

#main .contactBox2 ul li::before,
#main .contactBox2 ul li::after {
    display: none;
}

#main .contactBox2 ul li:last-child {
    margin-right: 0;
}

#main .contactBox2 .overflowH {
    width: 38.0rem;

}

a[href^="tel:"] {
    pointer-events: none;
}

@media all and (max-width: 767.5px) {
    a[href^="tel:"] {
        pointer-events: auto;
    }
}

.test01 {
    width: 100%;
}

.test01 .wide {
    padding: 10.0rem 0;
}

.wideLeftOver,
.wideRightOver {
    position: relative;
    --height: 100%;
}

.wideOverHeight60 {
    --height: 60%;
}

.wideLeftOver[class*=bg],
.wideRightOver[class*=bg] {
    background: none !important;
}

.wideLeftOver::before,
.wideRightOver::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    margin-top: auto;
    margin-bottom: auto;
    height: var(--height);
    background: var(--background);
}

.wideLeftOver::before {
    margin-right: calc((100% - min((160.0rem - 26.0rem), 100%)) / 2);
    border-radius: 0 2.0rem 2.0rem 0;
}

.wideRightOver::before {
    margin-left: calc((100% - min((160.0rem - 26.0rem), 100%)) / 2);
    border-radius: 2.0rem 0 0 2.0rem;
}

.wideOverHeight60.wideLeftOver::before {
    margin-right: calc((100% - min((160.0rem - 50.0rem), 100%)) / 2);
}

.wideOverHeight60.wideRightOver::before {
    margin-left: calc((100% - min((160.0rem - 50.0rem), 100%)) / 2);
}

figure {
    margin: 0;
}

.w-100 {
    width: 100% !important;
}

.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.text-white {
    color: var(--white) !important;
}

.text-black {
    color: var(--body-text-color) !important;
}

.position-relative {
    position: relative;
}

.d-inline-block {
    display: inline-block !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mt-10 {
    margin-top: 1.0rem !important;
}

.mt-20 {
    margin-top: 2.0rem !important;
}

.mt-30 {
    margin-top: 3.0rem !important;
}

.mt-40 {
    margin-top: 4.0rem !important;
}

.mt-50 {
    margin-top: 5.0rem !important;
}


.mb-0 {
    margin-bottom: 0 !important;
}

.mb-10 {
    margin-bottom: 1.0rem !important;
}

.mb-20 {
    margin-bottom: 2.0rem !important;
}

.mb-30 {
    margin-bottom: 3.0rem !important;
}

.mb-40 {
    margin-bottom: 4.0rem !important;
}

.mb-50 {
    margin-bottom: 5.0rem !important;
}


.ml-0 {
    margin-left: 0 !important;
}

.ml-10 {
    margin-left: 1.0rem !important;
}

.ml-20 {
    margin-left: 2.0rem !important;
}

.ml-30 {
    margin-left: 3.0rem !important;
}

.ml-40 {
    margin-left: 4.0rem !important;
}

.ml-50 {
    margin-left: 5.0rem !important;
}


.mr-0 {
    margin-right: 0 !important;
}

.mr-10 {
    margin-right: 1.0rem !important;
}

.mr-20 {
    margin-right: 2.0rem !important;
}

.mr-30 {
    margin-right: 3.0rem !important;
}

.mr-40 {
    margin-right: 4.0rem !important;
}

.mr-50 {
    margin-right: 5.0rem !important;
}


.pt-0 {
    padding-top: 0 !important;
}

.pt-10 {
    padding-top: 1.0rem !important;
}

.pt-20 {
    padding-top: 2.0rem !important;
}

.pt-30 {
    padding-top: 3.0rem !important;
}

.pt-40 {
    padding-top: 4.0rem !important;
}

.pt-50 {
    padding-top: 5.0rem !important;
}

.pt-60 {
    padding-top: 6.0rem !important;
}

.pt-80 {
    padding-top: 8.0rem !important;
}

.pt-90 {
    padding-top: 9.0rem !important;
}

.pb-0 {
    padding-bottom: 0 !important;
}

.pb-10 {
    padding-bottom: 1.0rem !important;
}

.pb-20 {
    padding-bottom: 2.0rem !important;
}

.pb-30 {
    padding-bottom: 3.0rem !important;
}

.pb-40 {
    padding-bottom: 4.0rem !important;
}

.pb-50 {
    padding-bottom: 5.0rem !important;
}

.pb-80 {
    padding-bottom: 8.0rem !important;
}

.pb-100 {
    padding-bottom: 10.0rem !important;
}

.pb-200 {
    padding-bottom: 20.0rem !important;
}

.z-index-n1 {
    z-index: -1;
}

.z-index-1 {
    z-index: 1;
}

.z-index-10 {
    z-index: 10;
}

.overflow-visible {
    overflow: visible !important;
}

.border-2 {
    border: calc(2 * var(--base-unit)) solid #111111;
}

.rounded-10 {
    border-radius: 1rem;
}

.rounded-15 {
    border-radius: 1.5rem;
}

.rounded-20 {
    border-radius: 2rem;
}

.rounded-30 {
    border-radius: 3rem;
}

.rounded-40 {
    border-radius: 4rem;
}

.rounded-circle {
    border-radius: 100vh;
}

.lead {
    font-size: 2.2rem;
    font-weight: 500;
}

a:hover {
    opacity: 0.6;
}

a.btn,
.btn > * {
    background: right center var(--main-color01) url(img/common/svg_btn01.svg) no-repeat;
    /* background: url(img/common/svg_btn01.svg) right center / contain no-repeat var(--main-color01); */
    background-size: 17.4rem 10.0rem;
    border-radius: 100vh;
    text-decoration: none !important;
    padding: calc(20 * var(--base-unit)) 4.7rem calc(22 * var(--base-unit)) 3.0rem;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: 700;
    color: #ffffff !important;
    position: relative;
    display: inline-block;
    min-width: 30.0rem;
    text-align: left;
    box-sizing: border-box;
    /* 波型背景まだ */
}

a.btn::before,
.btn > *::before,
a.btn::after,
.btn > *::after {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    right: calc(17 * var(--base-unit));
    top: 0;
    bottom: 0;
    margin: auto 0;
}

a.btn::before,
.btn > *::before {
    background: #ffffff;
    font-size: calc(26 * var(--base-unit));
    width: 1em;
    height: 1em;
    border-radius: 50%;
}

a.btn::after,
.btn > *::after {
    background: var(--main-color01);
    width: calc(11 * var(--base-unit));
    height: calc(16 * var(--base-unit));
    --mask: url(img/common/svg_arrow02.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    transform: translateX(-60%);
}

a.btn_sm,
.btn_sm > * {
    font-size: max(1.6rem, 16px);
    font-weight: 700;
    line-height: 1.5;
    padding: 0.5rem 2rem;
    border-radius: 100vh;
    background: var(--main-color01);
    color: #ffffff;
    text-decoration: none;
}

a.btn-arrow01,
.btn-arrow01 > * {
    text-decoration: none !important;
    display: inline-block;
    vertical-align: top;
    background: #ffffff;
    border-radius: 100vh;
    border: calc(3 * var(--base-unit)) solid var(--main-color01);
    /* padding: 0.9rem 1.1rem 1.3rem; */
    padding: 0.5em 0.6em 0.72em;
    text-align: center;
    color: var(--main-color01) !important;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
    position: relative;
    min-width: min(100%, 33.0rem);
    box-sizing: border-box;
}

a.btn-arrow01::before,
a.btn-arrow01::after,
.btn-arrow01 > *::before,
.btn-arrow01 > *::after {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    bottom: -1.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
}

a.btn-arrow01::before,
.btn-arrow01 > *::before {
    background: var(--main-color01);
    font-size: 3rem;
    width: 1em;
    height: 1em;
    border-radius: 50%;
}

a.btn-arrow01::after,
.btn-arrow01 > *::after {
    background: #ffffff;
    width: .8rem;
    height: 1.3rem;
    --mask: url(img/common/svg_arrow02.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    transform: rotate(90deg) translateX(-80%);
}

a.btnIcon,
.btnIcon > a {
    background: var(--black);
    border-radius: 2.0rem;
    text-decoration: none;
    padding: 1.1rem 4.7rem .9rem 3.0rem;
    line-height: 1;
    font-size: 1.6rem;
    font-weight: 700;
    color: #ffffff;
    position: relative;
    display: inline-block;
    min-width: 22.0rem;
    text-align: left;
    box-sizing: border-box;
}

a.btnIcon img,
.btnIcon > a img {
    vertical-align: text-top;
    margin-right: 1em;
}

.goContent {
    padding: 3.0rem 0;
}

.goContent a {
    display: block;
    margin: 0 auto;
    background: #ffaa67;
    width: 3.8rem;
    height: 6.6rem;
    transform: rotate(90deg);
    -webkit-mask-image: url(img/common/svg_arrow03.svg);
    mask-image: url(img/common/svg_arrow03.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-size: contain;
    mask-size: contain;
    text-indent: -1000%;
}

#main {
    background: var(--sub-color01);
}

#main a:hover {
    opacity: 0.6;
}

html {
    font-size: 10px;
}

@media all and (max-width: 1600.5px) {
    html {
        font-size: 0.625vw;
    }
}

body {
    width: 100%;
    min-width: 110.0rem;
    /*コンテンツ横幅を指定する（スマホ閲覧時の背景欠けを防ぐ）*/
    font-size: 1.6rem;
    box-sizing: border-box;
    font-family: var(--base-font-family);
    background: #fff4ea;
    /* background: var(--sub-color02); */
}

/* -----------------------------------------------------------
    common
----------------------------------------------------------- */
.wide {
    max-width: 160.0rem;
    margin-left: auto;
    margin-right: auto;
}

.inner {
    width: 110.0rem;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding: 0;
    box-sizing: border-box;
}

.innerOuter {
    max-width: 134.0rem;
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    padding: 0;
    box-sizing: border-box;
}

.border-rounded {
    border-radius: 2.0rem;
}

.bgWhite {
    background: #ffffff;
}

.bg01 {
    --background: var(--sub-color01);
    background: var(--background);
}

.bg02 {
    --background: #efdac8;
    background: var(--background);
}

.bg03 {
    --background: var(--main-color02);
    background: var(--background);
}

.bgStripe01 {
    --background: repeating-linear-gradient(135deg, #e7c7ac, #e7c7ac 3px, #efdac8 0, #efdac8 8px);
    background: var(--background);
}

.bgStripe01.type02 {
    margin-top: 5.0rem;
}

.bgStripe02 {
    /* --background: repeating-linear-gradient(135deg, #f00e20, #f00e20 .3rem, #e80710 0, #e80710 .8rem); */
    --background: repeating-linear-gradient(135deg, #f00e20, #f00e20 3px, #e80710 0, #e80710 8px);
    background: var(--background);
}

/* .bgStripe03 {
    --background: repeating-linear-gradient(135deg, #f00e20, #f00e20 3px, #e80710 0, #e80710 8px);
    background: var(--background);
} */


.notice-r {
    color: var(--red, #f00);
}

.notice-o {
    color: var(--orange, #ffa500);
}

.notice-b {
    color: var(--blue, #00f);
}

.notice-g {
    color: var(--green, #005000);
}

.spblock,
.spinline,
.sptr {
    display: none;
}

/* -----------------------------------------------------------
    tel
----------------------------------------------------------- */
.tel span {
    background: url(./img/common/svg_fdl.svg) no-repeat left center;
    background-size: 3.3rem auto;
    font-size: 4.8rem;
    line-height: 1;
    padding: 0 0 0 3.7rem;
    margin: 0;
    display: block;
    font-family: var(--en-font-family);
}

#staff .tel span {
    color: #ef2525;
}

/* #form .tel span {
    background: url(./img/ico_freedial.png) no-repeat 0 1.5rem;
    padding-left: 4.0rem;
} */

.tel span a {
    color: #ffffff !important;
    text-decoration: none;
}

/* -----------------------------------------------------------
    header
----------------------------------------------------------- */
header {
    position: relative;
    background: var(--sub-color01);
    padding: 0 3.0rem;
}

header .wide {
    width: 100%;
    display: flex;
    box-sizing: border-box;
    justify-content: space-between;
    align-items: center;
    max-width: none;
}

header .hdrLogo {
    width: 27.5rem;
    text-align: left;
    display: block;
}

header .hdrLogo a {
    text-decoration: none;
    align-self: stretch;
    display: flex;
    align-items: center;
}

header .hdrLogo a img {
    margin: 0;
    width: 100%;
    height: auto;
}

header .hdrLogo .corpNumber {
    font-size: 1.1rem;
}

header .tel {
    width: max-content;
    text-align: right;
    font-size: 1.4rem;
    font-weight: 400;
    display: flex;
    flex-direction: column;
    line-height: 1.5;
}

header .tel span {
    /* color: var(--main-color01) !important; */
    font-family: var(--en-font-family);
    font-weight: 900;
    font-size: 3.2rem;
    display: inline-block;
    line-height: 1;
}

header .tel small {
    display: block;
    font-size: 1.4rem;
    font-weight: 400;
    margin-right: -1rem;
}

header .tel span a {
    color: var(--body-text-color) !important;
}

/* -----------------------------------------------------------
    nav
----------------------------------------------------------- */
nav {
    width: auto;
    margin-left: auto;
    text-align: right;
    padding-right: 3.0rem;
    position: relative;
}

@media all and (max-width:1550.5px) {
    nav {
        width: 91.8rem;
    }
}

/*
@media all and (min-width:1099.5px) and (max-width:1450.5px) {
  nav {
    padding-right: 2.06vw;
  }
}
*/
/*
nav {
    position: relative;
    order: 2;
    margin: 0 3.0rem 0 auto;
}
*/

nav ul#gNav {
    display: table;
    margin-left: auto;
    position: relative;
}

/*
nav ul#gNav {
    display: block;
    margin: 0;
    position: relative;
    display: flex;
    align-items: center;
}
*/

nav ul#gNav > li {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    text-align: center;
    padding: 5.3rem 1.5rem 4.9rem;
}

@media all and (min-width:1099.5px) and (max-width:1550.5px) {
    nav ul#gNav > li {
        /* display: table-cell;
    vertical-align: middle;
    position: relative;
    text-align: center; */
        padding: 3.65vw 0.68vw 3.37vw;
    }
}

/*
nav ul#gNav > li {
    display: block;
    position: relative;
    text-align: center;
    padding: 5.3rem 1.0rem 4.9rem;
}
*/
nav ul#gNav > li > a,
nav ul#gNav > li > p {
    display: block;
    position: relative;
    text-align: center;
    color: var(--body-text-color);
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 0 0;
}

nav ul#gNav > li > a:hover,
nav ul#gNav > li > p:hover {
    opacity: 1.0;
    cursor: pointer;
}

nav ul#gNav > li > a::after,
nav ul#gNav > li > p::after {
    background-color: transparent;
    /* 線色 */
    border-radius: .2rem;
    /* 線幅の半分 */
    content: "";
    display: block;
    height: .4rem;
    /* 線幅 */
}

nav ul#gNav > li > a:hover::after {
    background-color: var(--main-color01);
    /* 線色 */
}

nav ul#gNav > li > p:hover::after {
    background-color: var(--main-color01);
    /* 線色 */
}

nav ul#gNav > li.visible > p::after {
    background-color: var(--main-color01);
    /* 線色 */
}

nav #gNav > li > ul {
    position: absolute;
    top: 9.2rem;
    left: 0;
    z-index: 1;
    min-width: 100%;
    height: 0;
    width: auto;
}

nav #gNav > li > ul > li {
    visibility: hidden;
    overflow: hidden;
    width: auto;
    /*サブメニューの幅*/
    height: 0;
    background: rgba(45, 41, 32, 0.8);
    border-bottom: solid calc(1 * var(--base-unit)) rgba(255, 255, 255, 0.8);
    font-size: 1.3rem;
    transition: 0.7s;
    float: none;
    font-weight: normal;
    text-shadow: none;
}

nav #gNav li ul li a {
    height: auto;
    border-bottom: none;
    height: 3.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

nav #gNav li ul li a::before,
nav #gNav li ul li a::after {
    display: none;
}

nav #gNav li ul li a:link,
nav #gNav li ul li a:visited {
    color: #ffffff;
    text-decoration: none;
}

nav #gNav li ul li:hover,
nav #gNav li ul > li a:hover {
    color: #f1d200 !important;
    transition: 0.7s;
}

nav #gNav li:hover ul li,
nav #gNav li a:hover ul li {
    visibility: visible;
    overflow: visible;
    height: 3.9rem;
    /*サブメニューの高さ*/
}

/*
@media all and (min-width:1099.5px) and (max-width:1450.5px) {
  nav #gNav > li > ul {
    top: 6.34vw;
  }
  nav #gNav > li > ul > li {
    font-size: 0.89vw;
  }

  nav #gNav li ul li a {
    height: 2.68vw;
  }
  nav #gNav li:hover ul li,
  nav #gNav li a:hover ul li {
    height: 2.68vw;
  }
}
*/


/* -----------------------------------------------------------
    footer
----------------------------------------------------------- */

footer {
    padding: 5.0rem 0 0;
    font-size: 1.4rem;
    position: relative;
}

footer::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: auto;
    aspect-ratio: 2000 / 288;
    background: #ffead9;
    inset: auto 0 0 0;
    margin: 0 auto;
    /* background: center bottom var(--sub-color01) url(img/common/bg_footer.png) no-repeat; */
    --mask: url(img/common/bg_footer.png);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center bottom;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center bottom;
    mask-size: contain;
}

footer .footerShopInfo {
    display: flex;
    justify-content: flex-start;
    gap: 0 6.0rem;
    align-items: center;
    font-size: 1.6rem;
    margin-bottom: 5rem;
}

footer .footerShopInfo h5 {
    font-size: 1.6rem;
    font-weight: 900;
}

footer .footerSns {
    display: flex;
    justify-content: flex-start;
    gap: 1.5rem;
    margin: 3.5rem 0;
    padding: 0 .5rem;
}

footer .footerSns a {
    display: flex;
    justify-content: center;
    align-content: center;
    width: 6.0rem;
    height: 6.0rem;
    border-radius: 50%;
    background: #ffffff;
    outline: .3rem solid transparent;
}

footer .footerSns a:hover {
    outline: .3rem solid var(--main-color03);
}

footer .footerSns a img {
    width: 3.4rem;
    height: auto;
    display: block;
    align-self: center;
}

footer .copyRight {
    text-align: center;
    font-size: 1.1rem;
    position: relative;
    padding: 8.0rem 0 6.0rem;
    z-index: 1;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    /* padding-top: 7.0rem; */
}

footer .copyRight::before {
    position: absolute;
    pointer-events: none;
    inset: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: var(--sub-color02);
    --mask: url(img/common/bg_wave_footer.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: 140%;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: 140%;
    /* transform: rotate(3.15deg); */
    z-index: -1;
    background: none !important;
    pointer-events: none;
}

footer nav.ftrNav {
    /* display: flex;
    justify-content: flex-start; */
    /* gap: 8.0rem; */
    /* display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(4, 1fr); */

    /* justify-content: flex-start; */
    /* flex-direction: column; */
    /* height: 40.0rem; */
    /* flex-wrap: wrap; */
    /*display: flex;
    gap: 1.0rem;
    margin-bottom: 8.0rem;*/

    /*width:70.0rem;*/
    width: 100%;
    display: table;
    margin: 0 auto;
}

footer nav.ftrNav > * {
    /*width: calc(100% / 4);*/
    display: table-cell;
    vertical-align: top;
}

footer nav.ftrNav ul > li {
    display: block;
    text-align: left;
}

footer nav.ftrNav > ul:nth-of-type(1) {
    width: 21.0rem;
}

footer nav.ftrNav > ul:nth-of-type(2) {
    width: 29.0rem;
}

footer nav.ftrNav > ul:nth-of-type(3) {
    width: 27.0rem;
}

footer nav.ftrNav > ul:nth-of-type(4) {
    width: 17.5rem;
}

/* footer nav.ftrNav li ul, */
footer nav.ftrNav li > p {
    margin-left: 1em;
}

footer nav.ftrNav ul > li {
    font-size: 1.4rem;
    text-indent: -1.5em;
    padding-left: 1.5em;
    margin-top: .3rem;
    margin-bottom: .3rem;
}

footer nav.ftrNav ul > li.beforenone {
    margin-bottom: 2.5rem;
}

footer nav.ftrNav ul > li::before {
    content: "\2500";
    /* 文字化けしない設定に変更 */
    margin-right: 0.5em;
    color: #c7c8c0;
}

footer nav.ftrNav ul > li.type02::before {
    display: none;
}

footer nav.ftrNav ul > li.beforenone::before {
    display: none;
}

footer nav.ftrNav ul > li li::before {
    content: "\2514";
    /* 文字化けしない設定に変更 */
    margin-right: 0.5em;
    color: #c7c8c0;
}

footer nav.ftrNav ul > li a {
    text-decoration: none;
}

.circleMedal {
    position: absolute;
    border-radius: 100vh;
    padding: 0px;
    box-sizing: border-box;
    width: 20.2rem;
    height: 20.2rem;
    background: #ffffff;
    /* border: calc(5 * var(--base-unit)) solid var(--main-color01); */
    border: 0.5rem solid var(--main-color01);
    top: 0;
    left: 2.0rem;
    transform: translateY(-40%);
    aspect-ratio: 1 / 1;
}

.circleMedal img {
    width: 100%;
    height: auto;
    object-fit: contain;
    transform: scale(1.1);
}

.cardImg01 > img {
    max-width: 55.0rem;
    border-radius: 3.0rem;
    overflow: hidden;
    /* width: 100%;
    height: 100%;
    object-fit: cover; */
}

.circleMedals {
    margin-top: 1.5rem;
    display: flex;
    gap: 0 2.0rem;
    /* height: 20.2rem; */
}

.circleMedals > * {
    flex: 1;
    position: static;
    transform: none;
}

.cardImg02 {
    position: relative;
}

.cardImg02 > img:not(.imgLayer) {
    border-radius: 0 3.0rem 3.0rem 0;
    overflow: hidden;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.cardImg02 img.imgLayer {
    width: 26.0rem;
    position: absolute;
    right: 0;
    bottom: 0;
    border-radius: 2.0rem;
    transform: translate(-6.0rem, 50%);
}

.card01 {
    border-radius: 3.0rem;
    padding: 8.0rem;
    box-shadow: 1.3rem 1.2rem 0 #ff7608;
}

.title01 {
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
    z-index: 1;
    /* padding-top: calc(4.0rem + 2.6em); */
    padding-bottom: 1.666em;
    transform-style: preserve-3d;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.title01 .capsule01 {
    margin-right: 0.75em;
    vertical-align: 0.2em;
}

.capsule01 {
    border-radius: 100vh;
    font-size: 0.555em;
    color: #ffffff;
    font-weight: 700;
    background: var(--red);
    padding: 0.1em 0.5em;
    line-height: 1.5;
    box-sizing: border-box;
}

#cmp h2,
#eventcmp h2 {
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
    z-index: 1;
    padding-bottom: 6.0rem;
    transform-style: preserve-3d;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.title01 > span {
    display: block;
}

.title01 > span:not(.en) {
    margin-top: -1.2em;
    display: block;
}

#other .extraVoice .title01 > span:not(.en),
#roof .extraVoice .title01 > span:not(.en),
#wall .extraVoice .title01 > span:not(.en),
#apartment .extraVoice .title01 > span:not(.en),
#menu .extraVoice .title01 > span:not(.en) {
    margin-top: 0;
    display: block;
}

.title01 > span > span {
    color: var(--body-text-color);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.99;
    letter-spacing: 0em;
}

.title01 > span > span > span {
    color: var(--main-color01);

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.99;
    letter-spacing: 0em;
}

.title01 span img {
    vertical-align: middle;
    width: auto;
    height: auto;
    margin-right: 1.0rem;
}

.extraVoice .title01 span img {
    width: 24.9rem;
    height: auto;
}

.title01 .en {
    /* position: absolute; */
    /* z-index: -1; */
    /* top: 0;
    left: 0; */
    width: 100%;
    display: block;
    /* margin-top: calc(-1.2em); */
    font-size: 8.0rem;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    color: transparent;
    -webkit-text-stroke: .3rem #f6e2d0;
    line-height: 1;
    transform: translateZ(-.1rem);
    letter-spacing: 0.075em;
}

.title01 .en.stroke-dark {
    -webkit-text-stroke: .3rem #f8d9bd;
}

.title01 .en.stroke-white {
    -webkit-text-stroke: .3rem rgba(255, 255, 255, 0.6);
}

.title01 em {
    font-style: normal;
    font-weight: 900;
}

.title01 small {
    font-size: 2.8rem;
    font-weight: 900;
    color: var(--main-color03);
    position: relative;
    z-index: 2;
    /* margin-top: -6.0rem;
    margin-bottom: 6.0rem; */
    display: block;
}

.title02 {
    display: flex !important;
    justify-content: center;
    align-items: flex-end;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.27;
    margin: 8.0rem 0;
    gap: .5rem;
}

.title01 .en + .title02 {
    padding-top: 8.0rem;
}

.title01 .title02 {
    margin-bottom: 2.0rem;
}

.title02 > img {
    margin-bottom: 0.2em;
}

.title02 > span {
    padding-right: 0.5em;
}

.title02 strong {
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.27;
}

.title03 {
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.38;
    letter-spacing: -0.05em;
}

.title03 strong {
    font-size: 3.6rem;
    font-weight: 900;
}

.title04 {
    font-size: 2.8rem;
    font-weight: 900;
}
.packCatch01{
max-width: 37.0rem;
margin: 0 auto;

}
.packCatch01 img{
    display: block;
    max-width: 100%;
    height: auto;
}
/*
.extraTitle01 {
display: grid;
grid-template-columns: repeat(2,minmax(0,1fr));
grid-template-rows: minmax(0,1fr) auto;
gap:0 2.0rem;
}
.extraTitle01 > span{
    display: flex;
    justify-content: center;
    align-items: center;
    letter-spacing: 0;
}
.extraTitle01 > span:nth-of-type(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    background: var(--main-color03);
    border-radius: 100vh;
    color: #fff;
    font-size: 2.4rem;
    font-weight: 700;
    width: 100%;
    padding: 0.8rem;
    box-sizing: border-box;
    line-height: 1;
}
.extraTitle01 > span:nth-of-type(2)::before{
    position: absolute;
    display: block;
    inset: 0;
    content: "\5DE5\4E8B\54C1\8CEA";
      -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    background: linear-gradient(to top,#dadada 0%, #fff 66%, #e2e2e2 99%);
    -webkit-background-clip: text;
    text-shadow: none;
}
.extraTitle01 > span:nth-of-type(2) {
    position: relative;
    font-size: 3.8rem;
    letter-spacing: 0.01em;
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    text-align: center;

      background-clip: text;

    text-shadow: rgb(17, 17, 17) 4px 0px 0px, rgb(17, 17, 17) 3.87565px 0.989616px 0px, rgb(17, 17, 17) 3.51033px 1.9177px 0px, rgb(17, 17, 17) 2.92676px 2.72656px 0px, rgb(17, 17, 17) 2.16121px 3.36588px 0px, rgb(17, 17, 17) 1.26129px 3.79594px 0px, rgb(17, 17, 17) 0.282949px 3.98998px 0px, rgb(17, 17, 17) -0.712984px 3.93594px 0px, rgb(17, 17, 17) -1.66459px 3.63719px 0px, rgb(17, 17, 17) -2.51269px 3.11229px 0px, rgb(17, 17, 17) -3.20457px 2.39389px 0px, rgb(17, 17, 17) -3.69721px 1.52664px 0px, rgb(17, 17, 17) -3.95997px 0.56448px 0px, rgb(17, 17, 17) -3.97652px -0.432781px 0px, rgb(17, 17, 17) -3.74583px -1.40313px 0px, rgb(17, 17, 17) -3.28224px -2.28625px 0px, rgb(17, 17, 17) -2.61457px -3.02721px 0px, rgb(17, 17, 17) -1.78435px -3.57996px 0px, rgb(17, 17, 17) -0.843183px -3.91012px 0px, rgb(17, 17, 17) 0.150409px -3.99717px 0px, rgb(17, 17, 17) 1.13465px -3.8357px 0px, rgb(17, 17, 17) 2.04834px -3.43574px 0px, rgb(17, 17, 17) 2.83468px -2.82216px 0px, rgb(17, 17, 17) 3.44477px -2.03312px 0px, rgb(17, 17, 17) 3.84068px -1.11766px 0px, rgb(17, 17, 17) 3.9978px -0.132717px 0px;
}
 .extraTitle01 > span:nth-of-type(3) b{
    display: flex;
    line-height: 8.0rem;
    align-items: flex-end;
    position: relative;
    text-shadow: rgb(17, 17, 17) 4px 0px 0px, rgb(17, 17, 17) 3.87565px 0.989616px 0px, rgb(17, 17, 17) 3.51033px 1.9177px 0px, rgb(17, 17, 17) 2.92676px 2.72656px 0px, rgb(17, 17, 17) 2.16121px 3.36588px 0px, rgb(17, 17, 17) 1.26129px 3.79594px 0px, rgb(17, 17, 17) 0.282949px 3.98998px 0px, rgb(17, 17, 17) -0.712984px 3.93594px 0px, rgb(17, 17, 17) -1.66459px 3.63719px 0px, rgb(17, 17, 17) -2.51269px 3.11229px 0px, rgb(17, 17, 17) -3.20457px 2.39389px 0px, rgb(17, 17, 17) -3.69721px 1.52664px 0px, rgb(17, 17, 17) -3.95997px 0.56448px 0px, rgb(17, 17, 17) -3.97652px -0.432781px 0px, rgb(17, 17, 17) -3.74583px -1.40313px 0px, rgb(17, 17, 17) -3.28224px -2.28625px 0px, rgb(17, 17, 17) -2.61457px -3.02721px 0px, rgb(17, 17, 17) -1.78435px -3.57996px 0px, rgb(17, 17, 17) -0.843183px -3.91012px 0px, rgb(17, 17, 17) 0.150409px -3.99717px 0px, rgb(17, 17, 17) 1.13465px -3.8357px 0px, rgb(17, 17, 17) 2.04834px -3.43574px 0px, rgb(17, 17, 17) 2.83468px -2.82216px 0px, rgb(17, 17, 17) 3.44477px -2.03312px 0px, rgb(17, 17, 17) 3.84068px -1.11766px 0px, rgb(17, 17, 17) 3.9978px -0.132717px 0px;
}
 .extraTitle01 > span:nth-of-type(3) b::before{
    position: absolute;
    display: block;
    inset: 0;
      -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
    background: linear-gradient(to top,#dadada 0%, #fff 66%, #e2e2e2 99%);
    -webkit-background-clip: text;
    text-shadow: none;
 }
.extraTitle01 > span:nth-of-type(3) b:nth-of-type(1)::before{
    content: "N";
}
.extraTitle01 > span:nth-of-type(3) b:nth-of-type(1){
    font-size: 0.94em;
}
.extraTitle01 > span:nth-of-type(3) b:nth-of-type(2)::before{
    content: "o";
}
.extraTitle01 > span:nth-of-type(3) b:nth-of-type(2){
    font-size: 0.8em;
}
.extraTitle01 > span:nth-of-type(3) b:nth-of-type(3)::before{
    content: ".";
}
.extraTitle01 > span:nth-of-type(3) b:nth-of-type(3){
    font-size: 0.8em;
}
.extraTitle01 > span:nth-of-type(3) b:nth-of-type(4)::before{
    content: "1";
}
.extraTitle01 > span:nth-of-type(3) b:nth-of-type(4){
    font-size: 1em;
}
.extraTitle01 > span:nth-of-type(3) {
    font-family: var(--en-font-family);
    font-weight: 900;
    position: relative;
    font-size: 10.0rem;
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    justify-content: flex-end;
}
*/
.titleRibbon01 {
    position: relative;
    width: fit-content;
    min-width: min(59.0rem, 100%);
    height: 9.5rem;
    margin: 0 auto;
    z-index: 2;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 7.0rem;
    text-align: center;
    color: #ffffff;
}

.titleRibbon01::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: var(--sub-color02);
    --mask: url(img/common/svg_ribbon01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    z-index: -1;
}

.titleRibbon02 {
    position: relative;
    width: fit-content;
    min-width: min(106.2rem, 100%);
    height: 9.5rem;
    margin: 0 auto;
    z-index: 2;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 7.0rem;
    text-align: center;
    color: #ffffff;
}

.titleRibbon02::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: var(--sub-color02);
    --mask: url(img/common/svg_ribbon02.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    z-index: -1;
}

.paragraph01 {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    margin: 4.0rem 0;
}

.catchphrase01 {
    width: fit-content;
    font-size: 2.4rem;
    font-weight: 700;
    padding: 1.0rem 2.0rem;
    min-width: 80%;
    margin: 2rem auto;
    color: #fff;
    text-align: center;
    background: var(--main-color01);
    border-radius: 10px;
}

/*-- mainv --*/
#mainv .stage {
    margin-bottom: 2.0rem;
    height: 60.0rem;
    max-height: 60.0rem !important;
    overflow: hidden;
}

#mainv .slick-list {
    max-width: 160.0rem;
    margin: 0 auto;
    border-radius: 2.0rem;
    overflow: hidden;
    height: 60.0rem;
}

#mainv .stage li::before,
#mainv .stage li::after {
    display: none;
}

#mainv .stage li,
#mainv .stage li a {
    padding: 0;
}

#mainv .stage li {
    margin: 0;
}

#mainv .stage li a {
    display: block;
    max-width: 160.0rem;
    margin: 0 auto;
}

#mainv .stage li a img {
    display: block;
    object-fit: contain;
    width: 100%;
    height: 100%;
}

/* #main .bgStripe01 {
    --background: repeating-linear-gradient(135deg, #ebece4, #ebece4 .3rem, #fff3ea 0, #fff3ea .8rem);
} */

.bgCircle01 {
    background: var(--background);
    position: relative;
    z-index: 2;
    margin-bottom: -10.0rem;
    padding: 10.0rem 0 10.0rem;
    border-radius: 50% 50% 0 0;
}

/* slick dots */
/* .slick-dotted.slick-slider {
    margin-bottom: 3.0rem;
} */
.slider-controls {
    display: flex;
    justify-content: center;
    align-items: center;
}

#main .slider-controls .slick-prev,
#main .slider-controls .slick-next {
    position: relative;
    transform: none;
    width: 1.6rem;
    height: 2.6rem;
}

#main .slick-arrow::before {
    content: "";
    display: none;
}

#main .slick-arrow::after {
    content: "";
    display: block;
    width: 1.6rem;
    height: 2.6rem;
    background: #333;
    -webkit-mask-image: url(img/common/svg_arrow03.svg);
    mask-image: url(img/common/svg_arrow03.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-size: contain;
    mask-size: contain;
}

#main .slick-prev::after {
    transform: scaleX(-1);
}

/* .slider-dots {
    position: absolute;
    bottom: -2.5rem;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
} */
.slider-dots {
    margin: 0 8.0rem;
}

#main .slick-dots {
    position: static;
}

.slider-dots li {
    position: relative;
    display: inline-block;
    width: 2.0rem;
    height: 2.0rem;
    margin: 0 .5rem;
    padding: 0;
    cursor: pointer;
}

.slider-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 2.0rem;
    height: 2.0rem;
    padding: .5rem;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slider-dots li button:hover,
.slider-dots li button:focus {
    outline: none;
}

.slider-dots li button:hover::before,
.slider-dots li button:focus::before {
    opacity: 1;
}

#main .slider-dots li button::before {
    font-family: sans-serif;
    line-height: 1;
    position: absolute;
    inset: 0;
    margin: auto;
    width: 1.0rem;
    height: 1.0rem;
    content: "";
    border-radius: 50%;
    text-align: center;
    opacity: 0.25;
    background: #333;
}

#main .slider-dots li.slick-active button::before {
    opacity: 1;
    color: #333;
}

.medals {
    display: flex;
    gap: 0rem;
    padding: 2.0rem 0 2.0rem;
    justify-content: center;
}

.medals img {
    width: 23.5rem;
    height: 23.5rem;
    aspect-ratio: 1/1;
    margin: 0 -0.75rem;
}

.mainTop_fv img {
    width: 100%;
}

#slidev {
    margin-top: 25px;
}

#slidev .slick-slide {
    padding: 0 7px;
}

#slidev .slick-slide img {
    width: 100%;
    height: auto;
}

/*--コンタクトエリア--*/
.contactBox {
    display: block;
    position: relative;
    margin: .3rem auto .5rem;
    padding: 5.0rem 0;
    box-sizing: border-box;
    text-decoration: none;
}

#main .contactBox a {
    display: inline-block;
    text-decoration: none;
}

#main .contactBox {
    display: flex;
    gap: 0 6.0rem;
}

.contactBox > * {
    flex: 1;
    padding: 3.0rem;
    text-align: center;
}

#main .contactBox p {
    font-size: 2.8rem;
    line-height: 1.5;
    color: var(--body-text-color);
    font-weight: bold;
    margin-bottom: 0;
}

#main .contactBox p.catchTxt + p span {
    border-radius: .4rem;
    background: var(--main-color03);
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 900;
    padding: 0 .5rem .2rem;
    margin-right: 1.0rem;
    position: relative;
    top: -2px;
}

#main .contactBox p.catchTxt + p b {
    font-size: 2.2rem;
    font-weight: 900;
}

#main .contactBox p.catchTxt {
    font-size: 2.2rem;
    font-weight: 900;
    padding: 0 1.5rem 0 1.5rem;
}

#main .contactBox p.catchTxt b {
    font-size: 3.0rem;
    font-weight: 900;
}

#main .contactBox .toContactBox {
    margin-bottom: 2.0rem;
}

#main .contactBox .telBox {
    position: relative;
}

#main .contactBox .telBox .tel {
    background: var(--main-color01);
    font-size: 1.3rem !important;
    font-weight: normal;
    text-align: left;
    color: #ffffff;
    margin: 0 auto;
    padding: 2.0rem 4.0rem 2.0rem 1.5rem !important;
    display: block;
    border-radius: 6.0rem;
    position: relative;
    width: fit-content;
}

#main .contactBox .telBox .tel span::before {
    content: "";
    display: block;
    top: 0;
    left: 2.0rem;
    bottom: 0;
    margin: auto 0;
    position: absolute;
    mask-image: url(./img/common/svg_tel.svg);
    mask-size: contain;
    mask-position: left top;
    mask-repeat: no-repeat;
    background-color: #ffffff;
    width: 6.0rem;
    height: 6.0rem;
}

#main .contactBox .telBox .tel span,
#main .contactBox .telBox .tel small.tel-time {
    color: #ffffff;
    padding-left: 8.0rem;
    display: block;
}

#main .contactBox .telBox .tel span {
    font-size: 4.6rem;
    font-family: var(--en-font-family);
    font-weight: 900;
    line-height: 1;
    margin: 0;
    /*float:left;*/
    background-image: none;
    /* position: relative; */
}

#main .contactBox .telBox .tel small.tel-time {
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.4;
    padding-top: .5rem;
    background: none;
    font-family: var(--base-font-family);
    word-break: break-all;
}

#main .contactBoxLink {
    display: flex;
    flex-direction: column;
    margin-top: -2.0rem;
}

#main .contactBoxLink li {
    display: block;
    position: relative;
    margin: 0;
    padding: 2.0rem 0;
}

#main .contactBox ul li::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    border-bottom: calc(1 * var(--base-unit)) solid #bbac9e;
    margin-bottom: -2.0rem;
    padding-top: 2.0rem;
    mix-blend-mode: luminosity;
    pointer-events: none;
}

/* #main .contactBoxLink li::before,
#main .contactBoxLink li::after {
    display: none;
} */

#main .contactBoxLink li a span {
    display: block;
}

#main .contactBoxLink li a span::after {
    position: absolute;
    content: "";
    display: block;
    width: 4.2rem;
    height: 4.2rem;
    background: var(--body-text-color);
    mask-size: 100%;
    mask-repeat: no-repeat;
    mask-position: center bottom;
    margin: auto 0;
    z-index: 1;
    transform: none;
    border: 0;
    top: 0;
    bottom: 0;
    right: 2.0rem;
}

#main .contactBoxLink li.contactBoxLinkContact a span::after {
    mask-image: url(img/common/svg_mail.svg);
}

#main .contactBoxLink li.contactBoxLinkShowroom a span::after {
    mask-image: url(img/common/svg_showroom.svg);
}

#main .contactBoxLink li a {
    font-size: 2.2rem;
    font-weight: 900;
    display: block;
    position: relative;
    height: 8.0rem;
    padding: 0 2.0rem 0 10.0rem;
    box-sizing: border-box;
    line-height: 1;
    color: var(--body-text-color);
    display: flex;
    align-items: center;
}

#main .contactBoxLink li a::before,
#main .contactBoxLink li a::after {
    content: '';
    position: absolute;
    margin: auto;
}

#main .contactBoxLink li a::before {
    width: 8.0rem;
    height: 8.0rem;
    background: #ff7608;
    border-radius: 50%;
    top: 0;
    left: 0;
    bottom: 0;
}

#main .contactBoxLink li a::after {
    top: 50%;
    left: 4.0rem;
    width: 1.1rem;
    height: 1.1rem;
    transform: translate(-50%, -50%) rotate(45deg);
    border-top: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: calc(2 * var(--base-unit)) solid #ffffff;
    box-sizing: border-box;
}

#contents section:has(.extraFeature01) {
    overflow: visible;
}

.extraFeature01 {
    padding: 16.0rem 0 1.0rem;
    /* position: relative; */
    transform-style: preserve-3d;
}

.extraFeature01::before,
.extraFeature01::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    background-color: #ffead9;
    pointer-events: none;
}

.extraFeature01::before {
    /* z-index: -1; */
    top: 0;
    right: 0;
    height: 150.0rem;
    /*    background: right top url(img/common/bg_wave01.png) no-repeat,
        right 100rem url(img/common/bg_wave01.png) no-repeat;*/
    transform: scaleX(-1) translateY(-17.0rem) translateZ(-1px);
    --mask: url(img/common/bg_wave01.png);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: right top;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: right top;
}

.extraFeature01::after {
    top: 100rem;
    height: 300.0rem;
    transform: translateZ(-1px);
}

#housemaker .extraFeature01::before,
#housemaker .extraFeature01::after {
    display: none;
}

.extraFeature01Content {
    display: flex;
    align-items: flex-start;
    z-index: 1;
}

.extraFeature01Content > :first-of-type {
    z-index: 3;
    margin-top: 8.0rem;
}

.extraFeature01Content > :last-of-type {
    z-index: 2;
    padding-left: 10.0rem;
    transform: translateX(-6.0rem);
    padding: 8.0rem 5.0rem 8.0rem 10.0rem;
}

.extraFeature02 {
    margin: 8.0rem 0;
}

.extraFeature02Content {
    display: flex;
    align-items: flex-start;
    z-index: 1;
}

.extraFeature02Content > :first-of-type {
    z-index: 2;
    padding-right: 10.0rem;
    transform: translateX(6.0rem);
}

.extraFeature02Content > :last-of-type {
    margin-top: 8.0rem;
    z-index: 3;
}

.extraFeature02 .title03 > span,
.packCatch01 > span{
    display: flex;
    justify-content: space-between;
    align-items: center;
    letter-spacing: 0.01em;
}
.extraFeature02 .title03 > span strong[class],
.packCatch01  > span strong[class] {
    font-size: 3.8rem;
}
.extraFeature02 .title03 > span strong:not([class]),
.packCatch01 > span strong:not([class]) {
    font-size: 2.8rem;
}

.extraFeature02 h3 img {
    width: 100%;
    height: auto;
}

.extraFeature02Content .circleMedal {
    left: auto;
    right: 2.0rem;
}

.extraFeature03 {
    margin: 8.0rem 0;
}

.extraFeature03Content {
    display: flex;
    align-items: flex-start;
    z-index: 1;
}

.extraFeature03Content > :first-of-type {
    z-index: 3;
    margin-top: 8.0rem;
}

.extraFeature03Content > :last-of-type {
    z-index: 2;
    padding-left: 10.0rem;
    transform: translateX(-6.0rem);
}

.inner:has(.extraContactContent) {
    overflow: visible;
}

.extraContactContent {
    display: flex;
    gap: 0 4.0rem;
}

/* .extraContactContent > * {
    flex: 1;
} */

.extraContactForm table {
    margin: 0 !important;
}

.extraContactForm .formBox {
    border-collapse: separate;
    border: calc(1 * var(--base-unit)) solid #c7c8c0;
    border-radius: 2.0rem;
    overflow: hidden;
    background: #ffffff;
}

.extraContactLink {
    width: 50rem;
    flex-shrink: 0;
    /* 縮小させない */
}

.extraContactLink ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 2rem;
}

.extraContactLink ul li {
    display: block;
    background: #ffffff;
    border-radius: 2rem;
    height: fit-content;
    transition: 0.3s ease;
}

.extraContactLink ul li a {
    --c: #f0730e;
    border: var(--c) solid calc(3 * var(--base-unit));
    background: #ffffff;
    display: grid;
    grid-template-rows: 9.1rem auto auto;
    gap: 0;
    border-radius: 2rem;
    padding: 2rem 2rem 2.5rem;
    justify-content: center;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    min-height: 21.4rem;
    color: var(--body-text-color);
    position: relative;
    overflow: hidden;
    transition: 0.3s ease;
    outline: calc(2 * var(--base-unit)) solid transparent;
}

#main .extraContactLink ul li a:hover {
    --c: var(--red);
    outline-color: var(--c);
}

.extraContactLink ul:has(li a:hover) li a:not(:hover) {
    filter: brightness(95%);
}

.extraContactLink ul li a::before {
    content: "";
    display: block;
    position: absolute;
    right: -0.3rem;
    bottom: -0.3rem;
    margin: auto 0 0 auto;
    background: var(--c);
    width: 5.7rem;
    height: 5.7rem;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    transition: 0.3s ease;
}

.extraContactLink ul li a::after {
    content: '';
    position: absolute;
    margin: auto;
    right: .6rem;
    bottom: .6rem;
    width: 1rem;
    height: 1rem;
    transform: translate(-50%, -50%) rotate(45deg);
    border-top: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: calc(2 * var(--base-unit)) solid #ffffff;
    box-sizing: border-box;
}

.extraContactLink ul li img {
    margin: auto;
    display: block;
}

.extraContactLink ul li p {
    font-weight: 700;
    margin-top: auto;
    line-height: 1;
}

.extraContactLink ul li b {
    display: block;
    font-size: 2.2rem;
    font-weight: 900;
    margin-top: 10px;
    transition: 0.3s ease;
}

.contactBoxBottom {
    margin-top: -20.0rem;
}

.contactBoxBottom .inner {
    padding: 6.0rem;
}

.extraMenu {
    margin: 13.0rem 0 10.0rem;
    padding: 28.0rem 0 0;
    position: relative;
}

.extraMenu::before,
.extraMenu::after {
    content: "";
    width: 100%;
    height: 38.0rem;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
}

.extraMenu::before {
    background: #efdac8;
}

.extraMenu::after {
    background-image: url(img/common/bg_image02.jpg);
    background-repeat: no-repeat;
    background-position: center 22%;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

.menuList {
    display: flex;
    flex-wrap: wrap;
    gap: 4.0rem;
    position: relative;
    z-index: 5;
    margin-bottom: 4.0rem;
}

.menuList > li {
    width: calc(50% - 2.0rem);
}

.menuList > li a {
    color: #ffffff;
    background: var(--main-color03);
    border-radius: 2.0rem;
    display: grid;
    padding: 3.0rem;
    text-decoration: none;
    grid-template-areas:
        "figure title"
        "figure p"
        "figure space"
        "figure price";
    grid-template-columns: 18.0rem auto;
    gap: 0 2.0rem;
    position: relative;
}

ul.menuList.linkEffect01:has(li a:hover) li a:not(:hover) {
    filter: brightness(70%);
}

.menuList > li a::before,
.menuList > li a::after {
    content: '';
    position: absolute;
    margin: auto;
}

.menuList > li a::before {
    width: 4.0rem;
    height: 4.0rem;
    background: var(--red);
    border-radius: 50%;
    top: 0;
    right: 0;
    bottom: 0;
    transform: translateX(50%);
}

.menuList > li a::after {
    top: 50%;
    right: .2rem;
    width: 1.1rem;
    height: 1.1rem;
    transform: translate(50%, -50%) rotate(45deg);
    border-top: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: calc(2 * var(--base-unit)) solid #ffffff;
    box-sizing: border-box;
}

.menuList figure {
    grid-area: figure;
    border-radius: 2.0rem;
    overflow: hidden;
}

.menuList figure img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.menuList h3 {
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.28;
    margin-top: 1.0rem;
    margin-bottom: 2rem;
    grid-area: title;
}

/*
.menuList h3,
.menuList p {
    color: var(--body-text-color);
}*/

.menuList p {
    grid-area: p;
    line-height: 1.625;
}

.menuList .price::before {
    content: "";
    display: block;
    grid-area: space;
}

.menuList .price {
    color: var(--red);
    font-size: 4.6rem;
    font-weight: 900;
    font-family: var(--en-font-family);
    grid-area: price;
    text-align: right;
    width: fit-content;
    margin-left: auto;
    padding: 1.0rem 2.0rem;
    line-height: 1;
    /* border-bottom: #ffffff dotted .3rem; */
    background-image: radial-gradient(circle, #ffffff 1.5px, transparent 2.001px);
    background-position: 0 bottom;
    background-size: 8px 3px;
    background-repeat: repeat-x;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97999px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.51361px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}

.menuList .price small {
    font-size: 1.6rem;
    font-weight: 900;
    font-family: var(--body-font-family);
}

.extraBeginner {
    margin: 12.0rem 0 24.0rem;
}

.extraBeginner .full {
    display: flex;
    gap: 6.0rem;
}

.extraBeginner .full > * {
    flex: 1;
}

.innerHalf {
    width: 55.0rem;
}

.extraBeginner .full .innerHalf {
    width: 52.0rem;
}

.extraVoice {
    margin-top: -22.0rem;
    padding: 32.0rem 0 11.0rem;
    /* background: center top 32rem url(img/common/bg_wave01.png) no-repeat; */
    position: relative;
}

.extraVoice::before {
    content: "";
    display: block;
    position: absolute;
    inset: 32rem 0 auto 0;
    width: 100%;
    height: 100%;
    background-color: #ffead9;
    --mask: url(img/common/bg_wave01.png);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    pointer-events: none;
}

.extraVoice::before

/*,
.extraVoice::after*/
    {
    background-color: #ffead9;
}

#other .extraVoice,
#roof .extraVoice,
.menuPage .extraVoice,
#wall .extraVoice,
#apartment .extraVoice,
#menu .extraVoice {
    margin-top: 0;
    padding: 10.0rem 0 12.0rem;
    background: #fff4ea;
    overflow: hidden;
}

#other .extraVoice::before,
#roof .extraVoice::before,
#wall .extraVoice::before,
.menuPage .extraVoice::before,
#apartment .extraVoice::before,
#menu .extraVoice::before {
    /* top: 10rem; */
    top: -24rem;
    height: 200%;
    /* display: none; */
}

.voiceSlider .slider-multi .slick-list {
    padding: .5rem 0 4.0rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    z-index: 5;
}

.voiceSlider .slider-multi .slick-slide {
    display: flex;
    flex-direction: column;
    gap: 4.0rem;
    margin: 0 6.0rem;
}

.voiceSlider .slider-multi li {
    opacity: 0.5;
    /* padding: 0 1.5rem; */
    /* width: 10.0rem; */
    flex: 1;
}

/* .voiceSlider .slider-multi li * {
    display: none;
} */

.voiceSlider .slider-multi .slick-active li {
    opacity: 1;
}

.voiceSlider .slider-multi li {
    position: relative;
    overflow: visible;
    z-index: 1;
    width: auto !important;
}

.voiceSlider .slider-multi li > a {
    text-decoration: none;
    display: block;
    width: 30.0rem;
    box-sizing: border-box;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 500;
    background: #ffffff;
    border-radius: 2.0rem;
    overflow: hidden;
    transition: all 0.1s linear;
    height: 100%;
}

.voiceSlider .slider-multi li > a:hover {
    outline: .5rem solid var(--main-color01);
}

.voiceSlider .slider-multi li > a:hover,
.voiceSlider .slider-multi li > a:hover img {
    opacity: 1 !important;
}

.voiceSlider .slider-multi a figure {
    display: block;
    margin: 0;
    padding: .5rem;
    width: 100%;
    position: relative;
    background: #ffaa67;
    box-sizing: border-box;
    border-radius: 2.0rem 2.0rem 0 0;
}

.slider-multi .slick-track {
    display: flex;
    align-items: stretch;
}

.slider-multi .slick-slide {
    float: none;
    height: auto;
}

.slider-multi .slick-slide > div {
    display: flex;
    justify-content: center;
    gap: 4.0rem;
}

.slider-multi li figure > img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 0.733;
    object-fit: cover;
    z-index: 1;
    border-radius: 1.5rem 1.5rem 0 0;
}

.slider-multi li figure span {
    position: absolute;
    left: 0;
    bottom: -.1rem;
    display: block;
    z-index: 2;
}

.voiceSlider .slider-multi li h3 {
    font-size: 1.6rem;
    font-weight: 700;
    margin: 1.5rem 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-align: center;
    padding: 0 2.0rem 1.5rem;
}

.voiceSlider .slider-multi li h3 b {
    display: block;
    color: #eb6100;
}

.slider-multi .slick-prev,
.slider-multi .slick-next {
    width: 4.0rem;
    height: 16.0rem;
    background: #333 !important;
    z-index: 10;
}

.slider-multi .slick-prev {
    left: 0;
    border-radius: 2.0rem 0 0 2.0rem;
}

.slider-multi .slick-next {
    right: 0;
    border-radius: 0 2.0rem 2.0rem 0;
}

#main .slider-multi .slick-prev::after,
#main .slider-multi .slick-next::after {
    background-color: #ffffff;
    width: .9rem;
    height: 1.5rem;
    position: absolute;
    inset: 0;
    margin: auto;
}

/* 
#main .slider-multi .slick-prev::after {
    transform: translateX(-75%);
}

#main .slider-multi .slick-next::after {
    transform: translateX(75%);
} */

.extraSimulation ol {
    display: flex;
    list-style: none;
    gap: 4.0rem;
    margin: 4.0rem 0 3.0rem;
}

.extraSimulation ol li {
    counter-increment: step;
    width: calc(((100% - 8.0rem) / 3));
    display: flex;
    gap: 2.0rem
}

.extraSimulation ol li picture {
    width: 6.0rem;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.extraSimulation ol li picture img {
    display: block;
}

.extraSimulation ol li > span {
    width: auto;
    font-size: 1.6rem;
}

.extraSimulation ol li strong {
    font-size: 1.8rem;
    font-weight: 900;
    display: block;
    position: relative;
    margin-bottom: 1.0rem;
}

.extraSimulation ol li strong::before {
    content: counter(step);
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 500;
    background: #ff7608;
    border-radius: 50%;
    text-align: center;
    display: inline-block;
    width: 2em;
    height: 2em;
    vertical-align: baseline;
    margin-right: 1.0rem;
}

.extraTopics:has(+ .extraContact) {
    position: relative;
    z-index: 2;
}

.extraTopics + .extraContact {
    margin-top: -10.0rem;
    padding-top: 20.0rem;
    position: relative;
    z-index: 1;
}

.extraContact {
    padding-top: 10.0rem;
    padding-bottom: 10.0rem;
}

.extraTopics {
    padding-top: 10.0rem;
    padding-bottom: 10.0rem;
}

.extraTopics .inner {
    overflow: visible;
}

.extraTopics .extraTopicsContent {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 18.0rem;
}

.extraTopicsHeader {
    position: relative;
}

.extraTopicsHeader::after {
    content: "";
    display: block;
    position: absolute;
    background-image: url(img/common/img_character01.png);
    background-repeat: no-repeat;
    background-position: right 12.5rem bottom;
    background-size: 19.2rem 24.0rem;
    width: 53.5rem;
    height: 45.9rem;
    left: 50%;
    bottom: 0;
    transform: translate(-75%, 15.0rem);
    pointer-events: none;
}

.topicsList ul {
    display: flex;
    flex-direction: column;
    margin: 0 0 2.0rem;
}

.topicsList ul li {
    display: grid;
    align-items: center;
    grid-template-columns: auto 1fr;
    border-bottom: calc(1 * var(--base-unit)) solid var(--body-text-color);
    margin: 1.0rem 0;
    padding-right: 5.0rem;
}

.topicsList ul li > a {
    display: block;
    text-decoration: none;
    font-size: 1.6rem;
    padding: .5rem 0 1.0rem;
    color: var(--body-text-color);
    position: relative;
    grid-column: 1 / 3;
}

.topicsList ul li > a::before,
.topicsList ul li > a::after {
    content: '';
    position: absolute;
    margin: auto;
}

.topicsList ul li > a::before {
    width: 2.2rem;
    height: 2.2rem;
    background: #ffffff;
    border-radius: 50%;
    top: 0;
    right: -3.0rem;
    /* right: 2.0rem; */
}

.topicsList ul li > a::after {
    top: 1.1rem;
    right: -2.5rem;
    /* right: 2.5rem; */
    width: .8rem;
    height: .8rem;
    transform: translate(-50%, -50%) rotate(45deg);
    border-top: calc(1 * var(--base-unit)) solid var(--main-color01);
    border-right: calc(1 * var(--base-unit)) solid var(--main-color01);
    box-sizing: border-box;
}

.topicsList ul li time {
    width: 10rem;
}

.topicsList ul li .cats {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 0.5em;
    /* width: calc(100% - 7rem); */
    vertical-align: middle;
    display: block;
    /* overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; */
}

.l-corporate-message .extraMessage {
    margin-top: -6.0rem;
}

.extraMessage .inner {
    padding-top: 10.0rem;
    padding-bottom: 10.0rem;
}

.extraMessage .extraMessageContent {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0 6.0rem;
}

.extraMessage .extraMessageContent > * {
    grid-row: span 2;
    /*サブグリットの指定*/
    display: grid;
    grid-template-rows: subgrid;
}

.extraMessage .inner h4 {
    font-size: 2.2rem;
    font-weight: 900;
}

.extraMessage .inner p {
    margin-top: 3.0rem;
}

.extraMessageName {
    text-align: right;
    font-size: 1.6rem;
    font-weight: 900;
}

.extraMessageName strong {
    font-size: 1.8rem;
}

.extraMessageBottom {
    margin-top: -6.0rem;
    position: relative;
    z-index: 1;
}

.l-corporate-message .extraMessageBottom {
    margin-top: 0;
    position: relative;
    z-index: 2;
}

.extraMessageBottom .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.extraMessageMovie {
    padding: 4.5rem;
    border-radius: 2.0rem;
    width: fit-content;
}

.extraMessageMovie iframe {
    width: 65.0rem;
    height: auto;
    aspect-ratio: 16/9;
    outline: #c7c8c0 solid .5rem;
}

.extraMessageMovie lite-youtube {
    width: 65.0rem;
}

#main .msgPhoto {
    width: 36.0rem;
    /* width: 25.5rem; */
}

#main .msgPhoto::before {
    content: "";
    display: block;
}

.msgPhoto img {
    width: 36.0rem;
    object-fit: contain;
    object-position: center top;
    display: block;
    border-radius: 2.0rem;
}

.extraArea {
    position: relative;
    padding: 12.0rem 0;
    width: 100%;
    overflow: hidden;
    z-index: 5;
}

#top .extraArea::before,
#top .extraArea::after {
    z-index: -1;
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 51.4rem;
    background-color: #ffead9;
    --mask: url(img/common/bg_wave02.png);
    /* background: right top url(img/common/bg_wave02.png) no-repeat; */
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: right top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: right top;
    mask-size: contain;
    pointer-events: none;
}

#top .extraArea::before {
    top: 0;
    right: 0;
}

#top .extraArea::after {
    bottom: 0;
    left: 0;
    transform: scale(-1);
}

.extraAreaIntroduction {
    display: flex;
    gap: 5.0rem;
}

.extraAreaIntroduction img {
    width: 50.0rem;
    height: auto;
    border-radius: 2rem;
}

.extraAreaIntroduction h3 {
    font-size: 2.8rem;
    font-weight: 900;
}

.extraAreaIntroduction h3 b {
    font-family: var(--en-font-family);
    font-size: 5.6rem;
    font-weight: 900;
    margin: 0 0.2em;
    display: inline-block;
    vertical-align: -0.1em;
}

.extraAreaIntroductionTxt > p {
    margin-top: 1.5rem;
    font-size: 1.6rem;
    font-weight: 500;
}

.extraAreaIntroductionTxt > p.lead + p {
    margin: 3.5rem 0;
    font-weight: 700;
}

.extraAreaIntroduction p.lead {
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.45;
    letter-spacing: -0.05em;
}

.extraAreaIntroductionTxt > p small {
    font-size: 1.6rem;
    font-weight: 400;
}

.standBanner {
    text-align: center;
    padding-bottom: 10.0rem;
}

.bg02 .standBanner {
    padding-top: 10.0rem;
}

.bg02:has(.standBanner) {
    position: relative;
}

.standBanner img {
    max-width: 100%;
    border-radius: 2rem;
}

.extraAreaBanner {
    margin-top: 8.0rem;
    display: flex;
    flex-direction: column;
    gap: 4.0rem;
}

.extraAreaBanner li {
    border-radius: 2.0rem;
    display: block;
    background-color: var(--main-color03);
    position: relative;
    overflow: hidden;
    /* transform-style: preserve-3d; */
}

.extraAreaBanner li.extraAreaBanner02 {
    background: linear-gradient(to right, transparent 20%, #111111 50%);
}

.extraAreaBanner li::before {
    transition: 0.3s ease;
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    /* border-radius: 2.0rem; */
    /* background: red; */
    background-repeat: no-repeat;
    background-position: left top;
    /* background-size: contain; */
    transform: translateZ(-.1rem);
    --s: 30.0rem;
    --b: 20.0rem;
    --mask: linear-gradient(100deg, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s) + var(--b)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

.extraAreaBanner li.extraAreaBanner01::before {
    background-image: url(img/common/bg_banner_img01.jpg);
}

.extraAreaBanner li.extraAreaBanner02::before {
    background-image: url(img/common/bg_banner_img02.jpg);
}

.extraAreaBanner li a,
.extraAreaBanner li > div {
    width: 100%;
    min-height: 22.0rem;
    line-height: 1;
    box-sizing: border-box;
    padding: 5.0rem;
    border-radius: 2.0rem;
    /* background-color: #efdac8; */
    position: relative;
    text-align: center;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2.0rem;
    color: var(--body-text-color);
}

.extraAreaBanner li a::before,
.extraAreaBanner li a::after {
    content: '';
    position: absolute;
    margin: auto;
    transition: 0.3s ease;
}

.extraAreaBanner li a::before {
    width: 8.0rem;
    height: 8.0rem;
    background: #ff7608;
    border-radius: 50%;
    top: 0;
    right: 3.0rem;
    bottom: 0;
}

.extraAreaBanner li a::after {
    top: 50%;
    right: 7.0rem;
    width: 1.1rem;
    height: 1.1rem;
    transform: translate(50%, -50%) rotate(45deg);
    border-top: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: calc(2 * var(--base-unit)) solid #ffffff;
    box-sizing: border-box;
    transition: 0.3s ease;
}

.extraAreaBanner li strong {
    font-size: 3.2rem;
    font-weight: 900;
    display: block;
    /* margin: 0 0 2.0rem; */
    --c: #ffffff;
    text-shadow: var(--c) 2px 0px 0px, var(--c) 1.75517px 0.958851px 0px, var(--c) 1.0806px 1.68294px 0px, var(--c) 0.141474px 1.99499px 0px, var(--c) -0.832294px 1.81859px 0px, var(--c) -1.60229px 1.19694px 0px, var(--c) -1.97999px 0.28224px 0px, var(--c) -1.87291px -0.701566px 0px, var(--c) -1.30729px -1.51361px 0px, var(--c) -0.421592px -1.95506px 0px, var(--c) 0.567324px -1.91785px 0px, var(--c) 1.41734px -1.41108px 0px, var(--c) 1.92034px -0.558831px 0px;
}

/* .extraAreaBanner li.extraAreaBanner02 strong {
    --c: #111111;
} */

.extraAreaBanner li a p {
    color: #ffffff;
    font-size: 2.2rem;
    font-weight: 900;
    background: var(--main-color01);
    border-radius: .4rem;
    width: fit-content;
    margin: 0 auto;
    padding: 1.1rem 3.0rem 1.5rem;
    line-height: 1;
}

.extraAreaBanner li.extraAreaBanner02 a p {
       background: #076014;
    /* color: var(--body-text-color);
    background: #fff;
    border: calc(1 * var(--base-unit)) solid #7d7d7d; */
}

.extraAreaBanner li:hover::before {
    opacity: 0.5;
}

.extraAreaBanner li a:hover {
    opacity: 1 !important;
}

.extraAreaBanner li a:hover::after {
    transform: translate(75%, -50%) rotate(45deg);
}

.extraAreaBanner .extraAreaBannerMakers {
    display: flex;
    gap: 1.0rem;
    flex-wrap: wrap;
    width: 83.0rem;
    margin: 0 auto;
    /* margin: 0 auto 2.0rem; */
}

.extraAreaBanner .extraAreaBannerMakers > * {
    width: calc((100% - 3.0rem) / 4);
    border-radius: 4px;
    background: #ffffff;
    border: calc(1 * var(--base-unit)) solid #7d7d7d;
    box-sizing: border-box;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 1.5rem;
    line-height: 1;
    box-sizing: border-box;
}

.extraFlow {
    padding: 28.0rem 0 0;
    position: relative;
}

.extraFlow.type02 {
    padding: 4.5rem 0 0;
    position: relative;
}

.extraFlow::before,
.extraFlow::after {
    content: "";
    width: 100%;
    height: 38.0rem;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
}

.extraFlow.type02::before,
.extraFlow.type02::after {
    display: none;
}

.extraFlow::before {
    background: #efdac8;
}

.extraFlow::after {
    background-image: url(img/common/bg_image03.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

.extraFlow .innerOuter {
    position: relative;
    z-index: 10;
}

.extraFlow .inner {
    padding: 10.0rem 0;
}

ul.extraFlowList {
    display: flex;
    flex-wrap: wrap;
    gap: 4.0rem 7.0rem;
}

ul.extraFlowList li {
    width: calc(((100% - 14.0rem) / 3));
    counter-increment: flow;
    position: relative;
}

ul.extraFlowList li h3 {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

ul.extraFlowList li h3::before {
    content: counter(flow, decimal-leading-zero);
    color: #ffffff;
    font-size: 1.8rem;
    font-weight: 700;
    background: var(--main-color01);
    border-radius: 100vh;
    text-align: center;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2.1em;
    height: 2.1em;
    padding: .1em;
    line-height: 1;
    vertical-align: bottom;
    margin-right: 1.0rem;
}

ul.extraFlowList li figure {
    display: block;
    width: 100%;
    height: 20.0rem;
    position: relative;
    margin-bottom: 1.5rem;
}

ul.extraFlowList li figure img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 2.0rem;
}

ul.extraFlowList li figure::before {
    content: "";
    width: 2.4rem;
    height: 3.6rem;
    position: absolute;
    top: 0;
    right: 100%;
    bottom: 0;
    margin: auto 0;
    transform: translateX(-80%);
    /* transform: translateX(-40%) rotate(90deg); */
    background-color: #ffaa67;
    --mask: url(img/common/svg_arrow01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

ul.extraFlowList li:nth-of-type(3n+1) figure::before {
    display: none;
}

.worksSlider {
    background-color: #d3ad89;
    background-image: url(img/common/bg_image01.jpg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: contain;
    padding: 10.0rem 0;
    position: relative;
}

.worksSlider.apartment {
    background-image: url(img/common/bg_image_apartment.jpg);
    background-position: left bottom;
}

.worksSlider .inBtn,
.voiceSlider .inBtn {
    border-radius: 0 2.0rem 0 0;
    background: #ffffff;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 1.5rem 2.0rem;
    line-height: 1;
}

.worksSlider .inBtn img,
.voiceSlider .inBtn img {
    vertical-align: baseline;
    margin-right: 1em;
    display: inline-block;
}

.worksSlider .slider .slick-list {
    padding: 7.0rem 0 4.0rem !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.worksSlider .slider li {
    opacity: 0.5;
    padding: 0 1.5rem;
}

.worksSlider .slider li::before,
.worksSlider .slider li::after {
    display: none;
}

.worksSlider .slider li.slick-active {
    opacity: 1;
}

.worksSlider .slider li {
    position: relative;
    overflow: visible;
    z-index: 1;
}

.worksSlider .slider li .imgLayer {
    position: absolute;
    top: -5.0rem;
    left: 2.5rem;
    z-index: 10;
    transition: 0.3s ease;
    transform: rotate(0);
    /* transform-origin: right top; */
}

.worksSlider .slider li:hover .imgLayer {
    transform: rotate(-10deg) scale(1.05);
}

.worksSlider .slider li > a {
    text-decoration: none;
    display: block;
    width: 24.5rem;
    box-sizing: border-box;
    text-align: left;
    color: #111111;
    font-weight: 500;
    background: #ffffff;
    border-radius: 2.0rem;
    overflow: hidden;
    transition: all 0.1s linear;
    /* box-shadow: rgba(0, 0, 0, 0.0) 0 .4rem .4rem 0; */
    height: 100%;
}

.worksSlider .slider li > a:hover {
    /* transform: scale(1.01); */
    /* box-shadow: rgba(0, 0, 0, 0.2) 0 .4rem .4rem 0; */
    outline: .5rem solid var(--main-color01);
    /* box-shadow: rgba(0, 0, 0, 0.2) 0 .4rem .4rem 0; */
}

.worksSlider .slider li > a:hover,
.worksSlider .slider li > a:hover img {
    opacity: 1 !important;
}

.worksSlider .slider li a figure {
    display: block;
    margin: 0;
    padding: .5rem;
    width: 100%;
    position: relative;
    background: #ffaa67;
    box-sizing: border-box;
    border-radius: 2.0rem 2.0rem 0 0;
}

.slider .slick-track {
    display: flex;
    align-items: stretch;
}

.slider .slick-slide {
    float: none;
    height: auto;
}

.slider li figure > img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 0.735;
    object-fit: cover;
    z-index: 1;
    border-radius: 1.5rem 1.5rem 0 0;
}

.slider li figure span {
    position: absolute;
    left: 0;
    bottom: -.1rem;
    display: block;
    z-index: 2;
}

.worksSlider .slider li a h3,
.worksSlider .slider li a p {
    padding: 0 2.0rem;
    text-align: center;
}

.worksSlider .slider li h3 {
    font-size: 1.6rem;
    font-weight: 900;
    margin: 1.5rem 0 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.worksSlider .slider li h3 b {
    display: block;
    color: #eb6100;
}

.worksSlider .slider li a p {
    padding-bottom: 2.0rem;
}

.slider .slick-prev,
.slider .slick-next {
    inset: 0 !important;
    margin: auto !important;
    background: rgba(255, 255, 255, 0.5) !important;
    width: 5.0rem !important;
    height: 5.0rem !important;
    z-index: 100;
    text-indent: -1000%;
    overflow: hidden;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.slider .slick-prev:hover,
.slider .slick-next:hover {
    background: var(--sub-color03) !important;
}

.slider {
    --button-set: min(50vw, 63.0rem);
}

.slider .slick-prev {
    transform: translateX(calc((var(--button-set) - 6.0rem) * -1)) !important;
}

.slider .slick-next {
    transform: translateX(calc(var(--button-set) - 6.0rem)) !important;
}

.slider .slick-arrow::before,
.slider .slick-arrow::after {
    position: absolute;
    inset: 0;
    margin: auto;
    display: block;
    content: "";
    width: 2.0rem;
    height: .4rem;
    border-radius: .5rem;
    background: #ffffff;
    box-sizing: border-box;
    margin-left: .5rem;
}

.slider .slick-prev::before,
.slider .slick-prev::after {
    margin-left: 1.5rem;
}

.slider .slick-next::before,
.slider .slick-next::after {
    margin-left: 1.8rem;
}

.slider .slick-list {
    margin-top: -2.0rem !important;
    margin-bottom: -2.0rem !important;
    padding-top: 2.0rem !important;
    padding-bottom: 2.0rem !important;
}

/*--ブログ形式ページ--*/
#main .cat a,
#main .taxList li a,
#main .areaList li a {
    display: inline-block !important;
    font-size: 1.4rem;
    font-weight: 400;
    background: #ff7608;
    color: #ffffff !important;
    margin: 0 .4rem .4rem 0;
    text-decoration: none;
    padding: 0 1.5rem;
    border-radius: 1.2rem;
    position: inherit;
}

/*--フォーム--*/
#top #main .form_table {
    border-color: #bbac9e;
}

#top #main .form_table table {
    margin-bottom: 2.0rem;
    margin-top: 1.5rem;
}

#top #main .form_table th,
#top #main .form_table td {
    border-color: #bbac9e;
}

#top #main .form_table th > p,
#top #main .form_table td > p,
#top #main .form_table .submit > p {
    display: contents;
}

#top #main .form_table th > div:not([class]) > p {
    display: contents;
}

#top #main .form_table th > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0rem;
}

#top #main .form_table th {
    padding: 3rem 2.0rem;
    /* font-size: 1.6rem; */
    vertical-align: middle;
    /* width: 30%; */
    white-space: nowrap;
    color: #ffffff;
    background: var(--main-color03);
}

#top #main .form_table th span.require {
    background: var(--red);
    color: #ffffff;
    font-size: 1.2rem;
    line-height: 1;
    padding: .3rem 1.0rem .6rem;
    border-radius: .4rem;
}

#top #main .form_table th span.any {
    background: #b0b0b0;
}

#top #main .form_table td {
    padding: 1.5rem 1.5rem;
    vertical-align: middle;
    /* font-size: 1.6rem; */
    background: #ffffff;
}

#top #main .form_table td:has(.wpcf7-checkbox) {
    padding: 2.6rem 0;
}

#top #main .form_table td:has(.wpcf7-checkbox) .wpcf7-not-valid-tip {
    padding-left: 1.5rem;
}

#top #main .form_table td .wpcf7-checkbox {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 1rem 0;
}

#top #main .form_table td span {
    display: inline-block;
    /* font-size: 1.6rem; */
}

#top #main .form_table td span label {
    padding-right: 2.5rem;
}

/* #top #main .form_table td a {
    background: url(./img/arrow01.png) no-repeat 0 .5rem;
    color: var(--body-text-color);
    font-size: 1.6rem;
    padding-left: 2.5rem;
    float: none;
    position: inherit;
    top: inherit;
    right: inherit;
} */

#top #main .form_table td input[type="text"],
#top #main .form_table td input[type="tel"],
#top #main .form_table td input[type="email"] {
    padding: .5rem;
    /* height: 3.0rem; */
    width: calc(100% - 4.0rem);
    /* width: 69.0rem; */
    border: calc(1 * var(--base-unit)) solid #c7c8c0;
    /* box-sizing: border-box; */
    background: #ffffff;
    border-radius: 2.1rem;
}

#top #main .form_table td textarea {
    padding: .5rem;
    width: 69.0rem;
    border: calc(1 * var(--base-unit)) solid #CCC;
    box-sizing: border-box;
    overflow: auto;
}

#top #main .form_table td select,
#top #main .form_table td input[type="date"] {
    width: 20.0rem;
    font-size: 1.4rem;
    padding: .2rem;
    /* height: 3.0rem; */
    line-height: 3.0rem;
    border: calc(1 * var(--base-unit)) solid #CCC;
    box-sizing: border-box;
    margin-right: 1.0rem;
    background: #FFFFCC;
}

#top #main .form_table td input[type="date"] {
    width: 36.0rem;
}

#top #main .form_table td input[type="checkbox"] {
    margin-right: 0.5em;
    width: 1.25em;
    height: 1.25em;
    /* height: 2rem; */
    vertical-align: middle;
}

#top #main .form_table .submit {
    text-align: center;
    margin-bottom: 0;
    padding: 2.5rem;
    background: #ffffff;
}

#top #main .form_table .submit li {
    margin: 0 .5rem;
    display: inline;
}

#top #main .form_table .submit input {
    margin-top: 0;
    padding: 1.111em 1.111em 1.222em 1.111em;
    min-width: calc(200 * var(--base-unit));
}

/* 
#top #main .form_table .submit input {
    background: right -140% center var(--main-color01) url(img/common/svg_btn01.svg) no-repeat;
    background-size: calc(174 * var(--base-unit)) calc(100 * var(--base-unit));
    border-radius: 100vh;
    text-decoration: none;
    padding: 1.111em 1.111em 1.222em 1.111em;
    line-height: 1;
    font-family: var(--base-font-family);
    font-size: 1.8rem;
    font-weight: 500;
    color: #ffffff;
    position: relative;
    display: inline-block;
    min-width: calc(200 * var(--base-unit));
    text-align: center;
    box-sizing: border-box;
    border: 0;
    cursor: pointer;
} 

#top #main .form_table .submit input:hover {
    opacity: 0.8;
}
*/
.wpcf7-spinner {
    margin: 5px auto 0 !important;
    display: none;
}

.submitting .wpcf7-spinner {
    display: block;
}

#topcontrol {
    z-index: 100;
    right: 2.0rem !important;
    bottom: 0 !important;
    transition: 0.3s ease;
}

#topcontrol:hover {
    opacity: 0.7 !important;
}

#topcontrol span {
    position: relative;
    width: 7.0rem !important;
    height: 7.0rem !important;
    border-radius: 2.0rem 2.0rem 0 0;
    background-color: #111 !important;
    text-indent: -1000%;
    overflow: hidden;
    display: block;
    box-sizing: border-box;
}

#topcontrol span::before {
    position: absolute;
    content: "";
    inset: 0;
    display: block;
    margin: auto;
    background: #ffffff;
    width: 1.7rem;
    height: 2.7rem;
    transform: rotate(-90deg);
    --mask: url(img/common/svg_arrow03.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

#contents {
    margin-top: 0;
}

#err #contents {
    padding-bottom: 10.0rem;
}

#cmp #contents {
    padding-bottom: 10.0rem;
}

.l-pagetitle-mv::before {
    content: "";
    width: 100%;
    height: 100%;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
    background: url("img/common/bg_pagetitle.jpg") top center no-repeat transparent;
    background-size: 192.0rem auto;
    --mask: radial-gradient(circle, rgba(0, 0, 0, 1) 35rem, rgba(0, 0, 0, 0) 45rem);
    /*
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));*/
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: 35rem 22%;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: 35rem 22%;
}

.l-pagetitle-mv {
    position: relative;
    width: 100%;
    height: 24.0rem;
    background: #ffb47b;
}

.l-pagetitle-mv .inner {
    height: 100%;
    display: table;
    position: relative;
    z-index: 5;
}

.l-pagetitle-mv-title {
    width: 100%;
    height: 100%;
    display: table-cell;
    vertical-align: middle;
}

.l-pagetitle-mv h1,
.l-pagetitle-mv p {
    display: inline-block;
    color: #111111;
    vertical-align: top;
    text-align: left;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-pagetitle-mv h2 {
    text-align: left;
    color: #111111;
    font-size: 3.6rem;
    font-weight: 400;
    line-height: 1.75;
}

.l-pagetitle-mv h1 + span,
.l-pagetitle-mv p + span {
    display: inline-block;
    text-transform: uppercase;
    vertical-align: top;
    padding-top: 1.2rem;
    padding-left: 1.5rem;
    font-family: 'Poppins', sans-serif;
    text-align: left;
    color: #f8f9f1;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.1em;
    --c: #ff9d50;
    text-shadow: var(--c) 2px 0px 0px, var(--c) 1.75517px 0.958851px 0px, var(--c) 1.0806px 1.68294px 0px, var(--c) 0.141474px 1.99499px 0px, var(--c) -0.832294px 1.81859px 0px, var(--c) -1.60229px 1.19694px 0px, var(--c) -1.97999px 0.28224px 0px, var(--c) -1.87291px -0.701566px 0px, var(--c) -1.30729px -1.51361px 0px, var(--c) -0.421592px -1.95506px 0px, var(--c) 0.567324px -1.91785px 0px, var(--c) 1.41734px -1.41108px 0px, var(--c) 1.92034px -0.558831px 0px;
}

.l-pagetitle-mv h2 span {
    vertical-align: middle;
    padding-left: 1.5rem;
    font-family: 'Poppins', sans-serif;
    text-align: left;
    color: #f8f9f1;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.1em;
}

.l-breadcrumb {
    padding-top: 3.0rem;
}

.l-breadcrumb-ul {
    display: block;
    text-align: left;
    padding-top: 0 !important;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.42;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.l-breadcrumb-ul li,
.l-breadcrumb-ul > span {
    display: inline;
    vertical-align: middle;
    text-align: left;
    color: #111111;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.42;
}

.l-breadcrumb-ul li a,
.l-breadcrumb-ul > span > a {
    text-decoration: none;
    text-align: left;
    color: #111111;
    border-bottom: calc(1 * var(--base-unit)) solid #111111;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.42;
    letter-spacing: 0em;
}

.l-breadcrumb-ul > span > a {
    display: inline-block;
    margin-right: .6rem;
}

.l-breadcrumb-ul > span > span {
    display: inline;
    margin-right: .6rem;
}

.l-breadcrumb-ul > span:nth-of-type(n+2) > a {
    margin-left: .6rem;
    margin-right: .6rem;
}

.l-breadcrumb-ul > span:nth-of-type(n+2) > span {
    margin-left: .6rem;
    margin-right: .6rem;
}

.l-breadcrumb-ul > span > a > span {
    text-align: left;
    color: #111111;

    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.42;
    letter-spacing: 0em;
}

.l-breadcrumb br{
	display:none;
}

.l-corporate-block01 {
    padding-top: 4.5rem;
}

.l-corporate-block01-title {
    padding: 0 13.0rem 8.0rem 15.0rem;
    text-align: center;
}

.l-corporate-block01 h3,
.l-corporate-block01 h2 {
    padding-top: 5.5rem;
    display: block;
    text-align: left;
    background: url("img/common/img_character01.png") right top no-repeat transparent;
    background-size: contain;
    height: 13.6rem;
    color: #111111;
    font-size: 4.6rem;
    font-weight: 900;
    line-height: 1.30;
    letter-spacing: 0.1em;
}

.l-corporate-block01 h3 > span,
.l-corporate-block01 h2 > span {
    color: var(--main-color01);
    font-size: 4.6rem;
    font-weight: 900;
    line-height: 1.30;
    letter-spacing: 0;
}

/*#housemaker*/
.l-corporate-block01-title {
    padding: 0 8.0rem 8.0rem 8.0rem;
}

/*#housemaker*/
.l-corporate-block01 h2 > span {
    display: flex;
    gap: 1em;
    font-size: 3rem;
    border: 2px solid var(--green);
    border-radius: 20px;
    background: #fff;
    /* margin-left: -15rem; */
    padding: 3.0rem;
    width: fit-content;
}

.l-corporate-message-hukidashi {
    margin-bottom: 5.0rem;
    text-align: center;
}

.l-corporate-message-hukidashi p,
.l-corporate-message-hukidashi h4 {
    display: inline-block;
    vertical-align: middle;
    border-radius: 2.0rem;
    background: var(--main-color01);
    padding: 2.0rem 6.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.55;
    letter-spacing: 0.025em;
    position: relative;
}

#corporate .extraFeature01,
#staff .extraFeature01,
#housemaker .extraFeature01 {
    padding-top: 5.0rem;
}

#housemaker .extraFeature01 {
    padding-bottom: 0;
}

#corporate .extraMessageMovie,
#staff .extraMessageMovie,
#housemaker .extraMessageMovie {
    width: 100%;
}

#corporate .extraMessageMovie iframe,
#staff .extraMessageMovie iframe,
#housemaker .extraMessageMovie iframe,
#corporate .extraMessageMovie lite-youtube,
#staff .extraMessageMovie lite-youtube,
#housemaker .extraMessageMovie lite-youtube {
    width: 100%;
}

.l-corporate-simulation {
    --c01: fff4ea;
    --c02: transparent;
    padding-top: 7.5rem;
    background: linear-gradient(180deg, var(--c01) 0%, var(--c01) 30.8rem, var(--c02) 30.8rem, var(--c02) 100%);
    position: relative;
    z-index: 2;
}

.l-corporate-simulation-box {
    border-radius: 2.5rem;
    background: #FFFFFF;
    padding: 5.5rem 5.5rem 6.0rem;
}

.l-corporate-simulation h3 {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 2.0;
}

.l-corporate-simulation-box-table {
    margin: 4.0rem auto 2.5rem;
    width: 100%;
    display: table;
}

.l-corporate-simulation-box-table-list {
    width: 33.3%;
    display: table-cell;
    vertical-align: top;
}

.l-corporate-simulation-box-table-list-table {
    width: 100%;
    display: table;
}

.l-corporate-simulation-box-table-list-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-corporate-simulation-box-table-list-left {
    text-align: left;
    width: 7.8rem;
}

.l-corporate-simulation-box-table-list-left.num01 {
    width: 7.8rem;
}

.l-corporate-simulation-box-table-list-left.num02 {
    width: 6.5rem;
}

.l-corporate-simulation-box-table-list-left.num03 {
    width: 6.5rem;
}

.l-corporate-simulation-box-table-list-left img {
    width: 6.3rem;
    height: auto;
}

.l-corporate-simulation-box-table-list-left.num01 img {
    width: 6.3rem;
    height: auto;
}

.l-corporate-simulation-box-table-list-left.num02 img {
    width: 4.0rem;
    height: auto;
}

.l-corporate-simulation-box-table-list-left.num03 img {
    width: 4.0rem;
    height: auto;
}

.l-corporate-simulation-box-table-list-right {
    text-align: left;
    width: auto;
    padding-right: 3.5rem;
}

.l-corporate-simulation-box-table-list-right-title {
    text-align: left;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-corporate-simulation-box-table-list-right-title span {
    margin-right: .8rem;
    display: inline-block;
    vertical-align: middle;
    border-radius: 50%;
    padding: 0 1.1rem;
    background: #ff7608;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.75;
}

.l-corporate-simulation-box-table-list-right-message {
    padding-top: 1.0rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-contact-row {
    margin-top: -22.0rem;
    position: relative;
    z-index: 1;
}

.l-contact-row .contactBox {
    padding-top: 25.0rem;
}

.l-corporate-award {
    padding-top: 9.0rem;
    background: linear-gradient(180deg, #efdac8 0%, #efdac8 58.0rem, transparent 58.0rem, transparent 100%);
    position: relative;
    z-index: 2;
}

.l-corporate-award .inner {
    padding-bottom: 1.0rem;
}

.l-corporate-award-box {
    box-sizing: border-box;
    width: calc(100% - 1.0rem);
    border-radius: 2.5rem;
    background: #FFFFFF;
    padding: 6.5rem 5.0rem 6.5rem 6.0rem;
    box-shadow: 1.0rem 1.0rem 0px 0px #ff7608;
}

.l-corporate-award-box-table {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0 6rem
}

.l-corporate-award-box-table-left {
    width: auto;
    text-align: center;
    /* padding-right: 6.0rem; */
}

.l-corporate-award-box-table-left picture {
    display: block;
    text-align: center;
    margin: -5rem -2rem;
}

.l-corporate-award-box-table-left picture img {
    width: 30rem;
    height: auto;
}

.l-corporate-award-box-table-left h3 {
    padding-top: 1.5rem;
    text-align: center;
    color: #111111;
    letter-spacing: -0.05em;
    margin-left: -2rem;
    margin-right: -2rem;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.38;
    letter-spacing: 0em;
}

/* .l-corporate-award-box-table-right {
    width: 67.4rem;
    text-align: center;
}
*/
.l-corporate-award-box-table-right {
    width: 100%;
}

.l-corporate-award-box-table-right picture img {
    width: 100%;
    height: auto;
}

.l-corporate-pofile {
    background: var(--sub-color01);
    position: relative;
    z-index: 1;
    margin-top: -16.0rem;
    padding-top: 25.0rem;
    padding-bottom: 0;
}

.l-corporate-pofile::before {
    z-index: -1;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 50.0rem;
    background-color: #ffead9;
    --mask: url(img/common/bg_wave02.png);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: right top;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: right top;
    pointer-events: none;
}

#housemaker .l-corporate-pofile {
    position: static;
}

#housemaker .l-corporate-pofile::before {
    display: none;
}

.l-corporate-pofile table tr th {
    border-right: 0 !important;
    width: 31.5rem;
    padding: 2.5rem 3.0rem 2.5rem 6.5rem;
}

/* 
.l-corporate-pofile table {
    width: 100%;
    border-collapse: separate;
    border: calc(1 * var(--base-unit)) solid #ffaa67;
    border-radius: 1.5rem;
    overflow: hidden;
}
.l-corporate-pofile table tr th,
.l-corporate-pofile table tr td {
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-corporate-pofile table tr th {
    background: #ffead9;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
} */

/* .l-corporate-pofile table tr th.th-01 {
    border-radius: 1.5rem 0 0 0;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
} */

/* .l-corporate-pofile table tr th.th-02 {
    border-radius: 0 0 0 1.5rem;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
} */
/* .l-corporate-pofile table tr th {
    border-radius: 1.5rem 0 0 0;
}
.l-corporate-pofile table tr td {
    width: auto;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
    text-align: left;
    padding: 2.5rem 3.0rem 2.5rem 3.0rem;
    background: #FFFFFF;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
} */

/* .l-corporate-pofile table tr td {
    border-radius: 0 1.5rem 0 0;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
} */

/* 
.l-corporate-pofile table tr td.td-01 {
    border-radius: 0 1.5rem 0 0;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-corporate-pofile table tr td.td-02 {
    border-radius: 0 0 1.5rem 0;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
} */

/* .l-corporate-pofile table tr:last-of-type th,
.l-corporate-pofile table tr:last-of-type td{
    border-bottom: 0;
} */

.l-corporate-pofile-table {
    margin-top: 3.0rem;
    width: 100%;
    display: table;
}

.l-corporate-pofile-table > picture {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.l-corporate-pofile-table > picture:nth-of-type(odd) {
    padding-right: 1.6rem;
}

.l-corporate-pofile-table > picture:nth-of-type(even) {
    padding-left: 1.6rem;
}

.l-corporate-pofile-table > picture img {
    width: 100%;
    height: auto;
    border-radius: 2rem;
}

#corporate .extraArea {
    padding-bottom: 7.0rem;
    position: relative;
    background: linear-gradient(to top, #ffead9 18.5rem, #fff4ea 18.5rem);
}

#corporate .extraArea::before {
    content: "";
    display: block;
    position: absolute;
    inset: auto 0 18rem;
    background: #ffead9;
    width: 100%;
    height: auto;
    aspect-ratio: 1920 / 1270;
    --mask: url(img/common/bg_wave03.png);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    pointer-events: none;
    /* background: left bottom 18rem url(img/common/bg_wave03.png) no-repeat, linear-gradient(to top, #ffead9 18.5rem, #fff4ea 18.5rem); */
}

#corporate .extraArea .l-pickup {
    position: relative;
    z-index: 5;
}

.l-corporate-area.extraArea::after {
    display: none;
}

.l-corporate-contact2 {
    position: relative;
    z-index: 6;
    margin-top: -2.5rem;
}

/* .l-corporate-concept {
    padding-top: 11.0rem;
}

.l-corporate-concept-block {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 0;
    background: url("img/corporate/img-corporate10.png") right 19.4rem bottom no-repeat transparent;
    background-size: 15.5rem auto;
    min-height: 19.1rem;
    padding-bottom: 3.0rem;
}

.l-corporate-concept-block * {
    box-sizing: border-box;
}

.l-corporate-concept-block-list {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    padding-top: 3.0rem;
}

.l-corporate-concept-block-list:nth-of-type(odd) {
    padding-right: 2.0rem;
}

.l-corporate-concept-block-list:nth-of-type(even) {
    padding-left: 2.0rem;
}

.l-corporate-concept-block-list-box {
    width: 100%;
    display: table;
    background: #FFFFFF;
    border: calc(1 * var(--base-unit)) solid var(--main-color01);
    text-decoration: none !important;
    border-radius: 1.5rem;
    overflow: hidden;
}

.l-corporate-concept-block-list-box-left {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    width: 23.0rem;
    height: 15.0rem;
    overflow: hidden;
}

.l-corporate-concept-block-list-box-left picture {
    display: block;
}

.l-corporate-concept-block-list-box-left picture img {
    width: 100%;
    height: auto;
}

.l-corporate-concept-block-list-box-right {
    display: table-cell;
    vertical-align: middle;
    background: url("img/corporate/btn-corporate01.png") right 2.8rem center no-repeat transparent;
    background-size: 3.0rem auto;
    text-align: left;
    width: auto;
    padding: 2.0rem 2.5rem;
    height: 15.0rem;
    overflow: hidden;
}

.l-corporate-concept-block-list-box-right dl {
    display: block;
}

.l-corporate-concept-block-list-box-right dl dt {
    text-align: left;
    color: var(--main-color01);

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-corporate-concept-block-list-box-right dl dd {
    text-align: left;
    color: #111111;

    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
} */

#privacy #main .block {
    padding-bottom: 2.0rem;
    /* border-bottom: calc(1 * var(--base-unit)) solid #aaaaaa; */
}

#privacy #main .privacytitle01 {
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
    z-index: 1;
    /* padding-top: calc(4.0rem + 2.6em); */
    padding-bottom: 6.0rem;
    transform-style: preserve-3d;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding-bottom: 3.0rem;
    margin-top: 6.0rem;
}

/* 
#privacy #main h3 {
    font-size: 2.0rem;
    padding-top: 3.0rem;
}

#privacy #main p {
    padding-top: .5rem;
}

#privacy #main .block a {
    color: var(--main-color01);
}

#privacy #main h4 {
    font-size: 1.8rem;
}

#privacy #main .indent {
    padding: 3.0rem 1.6rem 0;
}

#privacy #main ul {
    padding-top: 3.0rem;
}

#privacy #main .indent ul {
    padding-top: 0;
}

#privacy #main .btn {
    padding: 5.0rem 5.0rem;
} */

.l-reason-block01 {
    padding-top: 10.0rem;
    /* background: url("img/reason/bg-wave01.png") top 77.8rem center no-repeat #fff4ea;
    background-size: 100% auto; */
}

.l-reason-block01 * {
    box-sizing: border-box;
}

.l-reason-block01-inner {
    max-width: 160.0rem;
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.l-reason-block01-inner > picture {
    display: block;
}

.l-reason-block01-inner > picture > img {
    width: 160.0rem;
    height: auto;
}

/* .l-reason-block02.wave02 + *{
    position: relative;
    z-index: 5;
} */
.l-reason-block02-inner {
    max-width: 113.0rem;
    width: 100%;
    margin: 0 auto;
}

.l-reason-block02-block {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    font-size: 0;
    gap: 3rem;
    margin: 5.0rem 0 0;
}

.l-reason-block02-block-list {
    /* width:25%; */
    display: grid;
    vertical-align: top;
    grid-column: span 2;
    --c: #ff4270;
    /* padding:3.0rem 1.5rem 0; */
}

.l-reason-block02-block-list-box {
    display: block;
    border-radius: 1.0rem;
    background: url("img/reason/icon-reason01.png") bottom .5rem center no-repeat var(--c);
    background-size: 1.6rem auto;
    padding-bottom: 2.0rem;
    text-decoration: none !important;
    box-sizing: border-box;
    border: calc(2 * var(--base-unit)) solid var(--c);
}

/* 最後をセンタリング */
/* 1つ */
.l-reason-block02-block > *:last-child:nth-child(4n - 3) {
    grid-column-end: 6;
}

/* 2つ */
.l-reason-block02-block > *:nth-last-child(2):nth-child(4n - 3) {
    grid-column-end: 5;
}

.l-reason-block02-block > *:last-child:nth-child(4n - 2) {
    grid-column-end: 7;
}

/* 3つ */
.l-reason-block02-block > *:nth-last-child(3):nth-child(4n - 3) {
    grid-column-end: 4;
}

.l-reason-block02-block > *:nth-last-child(2):nth-child(4n - 2) {
    grid-column-end: 6;
}

.l-reason-block02-block > *:last-child:nth-child(4n - 1) {
    grid-column-end: 8;
}

.l-reason-block02-block-list:nth-child(1) {
    --c: #ff4270;
}

.l-reason-block02-block-list:nth-child(2) {
    --c: #ff7608;
}

.l-reason-block02-block-list:nth-child(3) {
    --c: #00a8ff;
}

.l-reason-block02-block-list:nth-child(4) {
    --c: #00aa08;
}

.l-reason-block02-block-list:nth-child(5) {
    --c: #0b40d7;
}

.l-reason-block02-block-list:nth-child(6) {
    --c: #009484;
}

.l-reason-block02-block-list:nth-child(7) {
    --c: #ffba00;
}

/*
.l-reason-block02-block-list-box:nth-child(8){
    --c: #ffba00;
}*/
.l-reason-block02-block-list dl {
    display: grid;
    grid-template-rows: 5rem 1fr;
    height: 100%;
}

.l-reason-block02-block-list:nth-of-type(n+5) dl {
    display: grid;
    grid-template-rows: 7rem 1fr;
    height: 100%;
}

.l-reason-block02-block-list dl dt {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: .9rem 1.0rem;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.22;
    letter-spacing: 0em;
    box-sizing: border-box;
}

.l-reason-block02-block-list dl dd {
    display: block;
    background: #FFFFFF;
    padding: 1.0rem 1.0rem;
    text-align: left;
    color: #000000;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-reason-block02 {
    position: relative;
    z-index: 2;
}

.l-reason-block03.wave02::before {
    transform: translateY(calc(-360 * var(--base-unit)));
}

.l-reason-block03.wave02::after {
    transform: translateY(calc(180 * var(--base-unit)));
}

.l-reason-block03-inner {
    max-width: 110.0rem;
    width: 100%;
    margin: 0 auto;
}

.l-reason-block03-block {
    padding-top: 10.0rem;
}

.l-reason-block03-title {
    border-radius: 2.0rem;
    background: repeating-linear-gradient(-45deg,
            #598772,
            #598772 .2rem,
            #719c8b 0,
            #719c8b .6rem);
    background-size: 1.7rem 1.7rem;
    text-align: center;
    margin-bottom: 3.0rem;
    padding-top: .5rem;
    padding-bottom: 1.8rem;
}

.l-reason-block03-block .l-reason-block03-title {
    --c01: #ff3154;
    --c02: #ff4270;
    background: repeating-linear-gradient(-45deg,
            var(--c01),
            var(--c01) 2px,
            var(--c02) 0,
            var(--c02) 6px);
    background-size: 17px 17px;
}

.l-reason-block03-block:nth-child(1) .l-reason-block03-title {
    --c01: #ff3154;
    --c02: #ff4270;
}

.l-reason-block03-block:nth-child(2) .l-reason-block03-title {
    --c01: #ff5806;
    --c02: #ff7608;
}

.l-reason-block03-block:nth-child(3) .l-reason-block03-title {
    --c01: #0092ff;
    --c02: #00a8ff;
}

.l-reason-block03-block:nth-child(4) .l-reason-block03-title {
    --c01: #009506;
    --c02: #00aa08;
}

.l-reason-block03-block:nth-child(5) .l-reason-block03-title {
    --c01: #0830cd;
    --c02: #0b40d7;
}

.l-reason-block03-block:nth-child(6) .l-reason-block03-title {
    --c01: #007965;
    --c02: #009484;
}

.l-reason-block03-block:nth-child(7) .l-reason-block03-title {
    --c01: #ffa900;
    --c02: #ffba00;
}

/*

.l-reason-block03-title.type02{
  background:repeating-linear-gradient(
  -45deg,
  #5b6e9b,
  #5b6e9b .2rem,
  #7a8baf 0,
  #7a8baf .6rem
  );
  background-size:1.7rem 1.7rem;
}
.l-reason-block03-title.type03{
  background:repeating-linear-gradient(
  -45deg,
  #c4b45b,
  #c4b45b .2rem,
  #d0c37a 0,
  #d0c37a .6rem
  );
  background-size:1.7rem 1.7rem;
}
.l-reason-block03-title.type04{
  background:repeating-linear-gradient(
  -45deg,
  #dcaa74,
  #dcaa74 .2rem,
  #e3bb90 0,
  #e3bb90 .6rem
  );
  background-size:1.7rem 1.7rem;
}
.l-reason-block03-title.type05{
  background:repeating-linear-gradient(
  -45deg,
  #d192a2,
  #d192a2 .2rem,
  #d9a5b2 0,
  #d9a5b2 .6rem
  );
  background-size:1.7rem 1.7rem;
}
.l-reason-block03-title.type06{
  background:repeating-linear-gradient(
  -45deg,
  #d192a2,
  #d192a2 .2rem,
  #d9a5b2 0,
  #d9a5b2 .6rem
  );
  background-size:1.7rem 1.7rem;
}
.l-reason-block03-title.type07{
  background:repeating-linear-gradient(
  -45deg,
  #63a3cc,
  #63a3cc .2rem,
  #7eb3d5 0,
  #7eb3d5 .6rem
  );
  background-size:1.7rem 1.7rem;
}
.l-reason-block03-title.type08{
  background:repeating-linear-gradient(
  -45deg,
  #cddf94,
  #cddf94 .2rem,
  #d5e4a5 0,
  #d5e4a5 .6rem
  );
  background-size:1.7rem 1.7rem;
}
  */
.l-reason-block03-title h3 {
    display: block;
    text-align: center;
    color: #FFFFFF;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
    text-indent: 0.1em;
}

.l-reason-block03-title h3 br.pc-only {
    display: none !important;
}

.l-reason-block03-title p {
    padding: 0 6.5rem;
    display: inline-block;
    border-radius: 2.0rem;
    text-align: center;
    color: var(--c01);
    background: #fff;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
}

/*
.l-reason-block03-title.type02 p{
  color:#7a8baf;
}
.l-reason-block03-title.type03 p{
  color:#cfc277;
}
.l-reason-block03-title.type04 p{
  color:#e3bb90;
}
.l-reason-block03-title.type05 p{
  color:#d9a5b2;
}
.l-reason-block03-title.type06 p{
  color:#d38b8b;
}
.l-reason-block03-title.type07 p{
  color:#7eb3d5;
}
.l-reason-block03-title.type08 p{
  color:#d5e4a5;
}*/
.l-reason-block03-table01 {
    width: 100%;
    display: flex;
    gap: 4rem;
    justify-content: center;
}

/* .l-reason-block03-table01 > *{
    flex:1;
} */
/* .l-reason-block03-table01 > picture {
    display: table-cell;
    vertical-align: top;
} */
/* 
.l-reason-block03-table01 > picture.l-reason-block03-table01-image01 {
    width: 63.0rem;
    padding-right: 2.0rem;
}

.l-reason-block03-table01 > picture.l-reason-block03-table01-image01 img {
    width: 61.0rem;
    height: auto;
} */

/* .l-reason-block03-table01 > picture.l-reason-block03-table01-image02 {
    width: 47.0rem;
    padding-left: 2.0rem;
}

.l-reason-block03-table01 > picture.l-reason-block03-table01-image02 img {
    width: 45.0rem;
    height: auto;
} */

.l-reason-block03-message01 {
    margin-top: 4.0rem;
}

.l-reason-block03-block > h3 {
    margin-top: 2.0rem;
    background: #ff7608;
    padding: 1.0rem 1.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.75;
}

/* 
.l-reason-block03-table03-image01 {
    text-align: center;
}

.l-reason-block03-table03-image01 img {
    width: 100%;
    height: auto;
}

.l-reason-block03-block > h4 {
    margin-top: 4.5rem;
    padding-bottom: 3.0rem;
    background: url("img/reason/bg-reason06.png") bottom center no-repeat transparent;
    background-size: 38.0rem auto;
    min-height: 1.8rem;
    text-align: center;
    color: #ffb57b;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

*/
.l-reason-block03-table04 {
    margin-top: 3.5rem;
    width: 100%;
    display: table;
}

.l-reason-block03-table04 > div {
    display: table-cell;
    vertical-align: top;
}

.l-reason-block03-table04-left {
    width: 52.5rem;
}

.l-reason-block03-table04-left picture {
    display: block;
    text-align: left;
    padding-left: 4.0rem;
    padding-right: 8.7rem;
    position: relative;
}

.l-reason-block03-table04-left picture::after {
    width: calc(525 * var(--base-unit));
}

.l-reason-block03-table04-left picture::after,
.l-reason-block03-table04-right picture::after {
    content: "";
    display: inline-block;
    height: .1rem;
    position: absolute;
    left: 0;
    bottom: 1.4rem;
    border-bottom: calc(1 * var(--base-unit)) solid #111111;
}

.l-reason-block03-table04-left picture img {
    width: 39.8rem;
    height: auto;
}

.l-reason-block03-table04-right {
    width: auto;
    text-align: left;
}

.l-reason-block03-table04-right picture {
    display: block;
    text-align: left;
    position: relative;
}

.l-reason-block03-table04-right picture::after {
    width: 50.0rem;
}

.l-reason-block03-table04-right picture img {
    width: 56.7rem;
    height: auto;
}

.l-reason-message {
    padding: 12.0rem 0;
    position: relative;
    z-index: 1;
}

/*

.l-reason-block03-message02 {
    padding-top: 1.0rem;
    padding-left: 4.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-reason-block03-message03 {
    padding-top: 1.0rem;
    padding-right: 10.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-reason-block03-message03 span {
    color: #ffb57b;
    font-weight: 900;
} */
/* 
.l-reason-block03-table05 {
    width: 100%;
    display: table;
}

.l-reason-block03-table05 > div {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.l-reason-block03-table05-left {
    padding-right: 2.5rem;
}

.l-reason-block03-table05-left picture {
    text-align: left;
}

.l-reason-block03-table05-left picture img {
    width: 100%;
    height: auto;
}

.l-reason-block03-table05-right {
    padding-left: 2.5rem;
}

.l-reason-block03-table05-right p {
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
} */

.l-reason-block03-table06 {
    width: 100%;
    display: table;
}

.l-reason-block03-table06 > div {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.l-reason-block03-table06-left {
    padding-right: 1.5rem;
}

.l-reason-block03-table06-left picture {
    text-align: left;
}

.l-reason-block03-table06-left picture img {
    width: 100%;
    height: auto;
}

.l-reason-block03-table06-right {
    padding-left: 1.5rem;
}

.l-reason-block03-table06-right picture {
    text-align: left;
}

.l-reason-block03-table06-right picture img {
    width: 100%;
    height: auto;
}

.l-reason-block03-block > picture {
    display: block;
    padding-top: 2.5rem;
}

.l-reason-block03-block > picture > img {
    width: 100%;
    height: auto;
}

.l-reason-block03-table07 {
    margin-top: 6.0rem;
    width: 100%;
    display: table;
}

.l-reason-block03-table07 > div {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.l-reason-block03-table07-left {
    padding-right: 2.5rem;
}

.l-reason-block03-table07-left picture {
    display: block;
}

.l-reason-block03-table07-left picture img {
    width: 100%;
    height: auto;
}

.l-reason-block03-table07-right {
    padding-left: 2.5rem;
}

.l-reason-block03-table07-right p {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
}

.l-reason-contact {
    margin-top: -30.5rem;
}

.l-reason-contact .inBox:first-of-type {
    visibility: hidden;
}

/* 
.l-reason-block03-table08 {
    width: 100%;
    display: table;
}

.l-reason-block03-table08 > div {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.l-reason-block03-table08-left {
    padding-right: 4.0rem;
}

.l-reason-block03-table08-left picture {
    display: block;
}

.l-reason-block03-table08-left picture img {
    width: 100%;
    height: auto;
}

.l-reason-block03-table08-right {
    padding-left: 4.0rem;
}

.l-reason-block03-table08-right picture {
    display: block;
}

.l-reason-block03-table08-right picture img {
    width: 100%;
    height: auto;
}

.l-reason-block03-table09 {
    width: 100%;
    display: table;
}

.l-reason-block03-table09 > div {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.l-reason-block03-table09-left {
    padding-right: 2.5rem;
}

.l-reason-block03-table09-left picture {
    display: block;
}

.l-reason-block03-table09-left picture img {
    width: 100%;
    height: auto;
}

.l-reason-block03-table09-right {
    padding-left: 2.5rem;
} */

.gNav_menu {
    visibility: hidden;
    opacity: 0;
    position: absolute;
    left: 0;
    top: 13.1rem;
    width: 100%;
    background: #f8e3d0;
    text-align: center;
    padding: 6.5rem 2.0rem 6.5rem;
    transition: 0.3s;
    z-index: 10000;
    box-sizing: border-box;
}

.gNav_menu * {
    box-sizing: border-box;
}

.gNav_menu.hidden {
    visibility: hidden !important;
    opacity: 0 !important;
    z-index: 0;
}

.gNav_menu.visible {
    visibility: visible;
    opacity: 1.0;
}

.gnav05:hover .gNav_menu {
    visibility: visible;
    opacity: 1.0;
}

.gNav_menu-wrapper {
    position: relative;
    padding: 0 0;
}

.gNav_menu-closed {
    position: absolute;
    right: 4.0rem;
    top: -0.5rem;
}

.gNav_menu-closed img {
    width: 3.3rem;
    height: auto;
    transition: 0.3s;
}

.gNav_menu-closed img:hover {
    cursor: pointer;
    opacity: 0.7;
}

.gNav_menu-title {
    width: 137.5rem;
    margin: 0 auto;
    display: block;
    text-align: left;
}

.gNav_menu-title a {
    text-decoration: none;
    display: inline-block;
    background-size: 2.9rem auto;
    min-height: 2.9rem;
    padding-left: 4.4rem;
    text-align: left;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.75;
    position: relative;
}

.gNav_menu-title a::before,
.gNav_menu-title a::after {
    content: '';
    position: absolute;
    margin: auto;
}

.gNav_menu-title a::before {
    width: 3.0rem;
    height: 3.0rem;
    background: var(--red);
    border-radius: 50%;
    top: 0;
    left: -1.5rem;
    bottom: 0;
    transform: translateX(50%);
}

.gNav_menu-title a::after {
    top: 50%;
    left: 0.1rem;
    width: 1.1rem;
    height: 1.1rem;
    transform: translate(50%, -50%) rotate(45deg);
    border-top: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: calc(2 * var(--base-unit)) solid #ffffff;
    box-sizing: border-box;
}

.gNav_menu-title a span {
    text-align: left;
    color: var(--main-color01);
    font-size: 1.8rem;
    line-height: 1.75;
    letter-spacing: 0em;
}

.gNav_menu-table {
    display: table;
    margin: 0 auto;
}

.gNav_menu-table-list {
    width: 37.5rem;
    text-align: left;
    display: table-cell;
    vertical-align: top;
}

.gNav_menu-table-list > p {
    padding-top: .4rem;
    padding-left: 5.4rem;
    background: url("img/common/pcmenu-icon01.png") left center no-repeat transparent;
    background-size: 4.0rem auto;
    min-height: 4.0rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;
}

.gNav_menu-table-list > p.gNav_menu-table-list01 {
    background: url("img/common/pcmenu-icon01.png") left center no-repeat transparent;
    background-size: 4.0rem auto;
    min-height: 4.0rem;
}

.gNav_menu-table-list > p.gNav_menu-table-list02 {
    background: url("img/common/pcmenu-icon02.png") left center no-repeat transparent;
    background-size: 4.0rem auto;
    min-height: 4.0rem;
}

.gNav_menu-table-list > p.gNav_menu-table-list03 {
    background: url("img/common/pcmenu-icon03.png") left center no-repeat transparent;
    background-size: 4.0rem auto;
    min-height: 4.0rem;
}

.gNav_menu-table-list ul {
    display: block;
    padding-left: 1.0rem;
}

.gNav_menu-table-list ul li {
    padding-top: 2.0rem;
    display: block;
    text-align: left;
    height: auto !important;
}

.gNav_menu-table-list ul li:nth-of-type(n+2) {
    padding-top: 1.0rem;
}

.gNav_menu-table-list ul li a {
    text-decoration: none;
    padding: .3rem 0 .3rem 3.5rem;
    display: inline-block !important;
    background-size: 2.2rem auto;
    min-height: 2.2rem;
    text-align: left;
    color: #111111 !important;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    position: relative;
}

.gNav_menu-table-list ul li a::before,
.gNav_menu-table-list ul li a::after {
    content: '';
    position: absolute;
    margin: auto;
}

.gNav_menu-table-list ul li a::before {
    width: 2.2rem;
    height: 2.2rem;
    background: var(--orange);
    border-radius: 50%;
    top: 0;
    left: -1.1rem;
    bottom: 0;
    transform: translateX(50%);
}

.gNav_menu-table-list ul li a::after {
    top: 50%;
    left: 0.2rem;
    width: 0.8rem;
    height: 0.8rem;
    transform: translate(50%, -50%) rotate(45deg);
    border-top: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: calc(2 * var(--base-unit)) solid #ffffff;
    box-sizing: border-box;
}

#top .title01 > span > span {
    font-size: 2.6rem;
}

.ftrScroll02 {
    display: none;
}

#first .l-block01 {
    padding: 8.5rem 0 0;
}

#first .l-block01 h2 {
    padding: 3.0rem 0 0;
    /* background: url("img/first/img-block01-1.png") right 3.5rem top no-repeat transparent; */
    background: url("img/common/img_character01.png") right 3.5rem top no-repeat transparent;
    background-size: auto 18.0rem;
    min-height: 18.2rem;
    text-align: left;
    vertical-align: bottom;
    color: #111111;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 0.5;
    letter-spacing: 0em;
}

#first .l-block01 h2 span {
    font-size: 5.4rem;
    line-height: 2.5;
    letter-spacing: 0em;
}

#first .l-block01-h3-span01 {
    color: #111111;
}

#first .l-block01-h3-span02 {
    color: var(--main-color01);
}

#first .l-block01-table {
    width: 100%;
    display: table;
}

#first .l-block01-table > div {
    display: table-cell;
    vertical-align: top;
}

#first .l-block01-table-left {
    width: auto;
    text-align: left;
    padding-right: 3.0rem;
}

#first .l-block01-table-left p {
    padding-top: 2.5rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0em;
}

#first .l-block01-table-left p.l-block01-table-left-message02 {
    color: var(--main-color01);
    font-weight: 700;
}

#first .l-block01-table-right {
    width: 42.5rem;
    text-align: center;
}

#first .l-block01-table-right picture {
    text-align: center;
}

#first .l-block01-table-right picture img {
    width: 42.5rem;
    height: auto;
    border-radius: 2rem;
}

#first .l-block02-block {
    padding: 9.5rem 0 0;
    display: block;
    text-align: center;
    font-size: 0;
}

#first .l-block02-block-list {
    width: 25.8rem;
    display: inline-block;
    vertical-align: top;
    margin-right: 2.2rem;
    margin-top: 2.2rem;
    text-align: center;
    text-decoration: none;
}

#first .l-block02-block-list:hover {
    opacity: 1.0;
}

#first .l-block02-block-list:nth-of-type(4n) {
    margin-right: 0;
}

#first .l-block02-block-list:nth-of-type(7) {
    margin-right: 0;
}

#first .l-block02-block-list-title {
    display: inline-block;
    border-radius: 4.0rem;
    border: calc(3 * var(--base-unit)) solid #ff7608;
    background: #FFFFFF;
    text-align: center;
    padding: .6rem 2.5rem;
    position: relative;
    z-index: 2;
}

#first .l-block02-block-list-title p {
    text-align: center;
    color: #ff7608;
    font-family: var(--en-font-family);
    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
    display: flex;
    align-items: center;
}

#first .l-block02-block-list-title p span {
    margin-right: 1.5rem;
    display: inline-block;
    vertical-align: top;
    padding: 0 2.5rem;
    border-radius: 3.0rem;
    background: #ff7608;
    text-align: center;
    color: #FFFFFF;
    font-family: var(--base-font-family);
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-housemaker-block02-block-list-box02,
#first .l-block02-block-list-box,
.l-loan-block01-block-list-box {
    border-radius: 2rem;
    background: repeating-linear-gradient(-45deg, #e7c7ac, #e7c7ac 2px, #efdac8 0, #efdac8 6px);
    /* background-size: 1.7rem 1.7rem; */
    position: relative;
    z-index: 1;
}

#first .l-block02-block-list-box {
    margin-top: -3.0rem;
    padding: 4.0rem 2.0rem 3.0rem;
}

.l-housemaker-block02-block-list-box02::before,
#first .l-block02-block-list-box::before,
.l-loan-block01-block-list-box::before {
    position: absolute;
    left: 0;
    border-radius: 0 0 2.0rem 2.0rem;
    bottom: 0;
    content: "";
    width: 100%;
    height: 3.0rem;
    background: #ff7608;
    background-size: 2.1rem auto;
}

.l-housemaker-block02-block-list-box02::after,
#first .l-block02-block-list-box::after,
.l-loan-block01-block-list-box::after {
    content: "";
    width: calc(13 * var(--base-unit));
    height: calc(18 * var(--base-unit));
    position: absolute;
    inset: auto 0 0;
    margin: 0 auto;
    transform: rotate(90deg) translateX(-50%);
    background-color: #ffffff;
    --mask: url(img/common/svg_arrow01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

/* #first .l-block02-block-list-box::before {
    position: absolute;
    left: 0;
    border-radius: 0 0 2.0rem 2.0rem;
    bottom: 0;
    content: "";
    width: 100%;
    height: 3.0rem;
    background: #ff7608;
    background-size: 2.1rem auto;
}

#first .l-block02-block-list-box::after {
    content: "";
    width: calc(13 * var(--base-unit));
    height: calc(18 * var(--base-unit));
    position: absolute;
    inset: auto 0 0;
    margin: 0 auto;
    transform: rotate(90deg) translateX(-50%);
    background-color: #ffffff;
    --mask: url(img/common/svg_arrow01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
} */

#first .l-block02-block-list-box picture {
    text-align: center;
}

#first .l-block02-block-list-box picture img {
    width: 100%;
    height: auto;
    border-radius: 2rem;
}

#first .l-block02-block-list-box dl {
    padding-top: 2.0rem;
    display: block;
}

#first .l-block02-block-list-box dl dt {
    display: block;
    text-align: center;
    color: #111111;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

#first .l-block02-block-list-box dl dd {
    padding: 0 0 1.5rem;
    display: block;
    text-align: center;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0em;
}

#first .l-block03 {
    margin-top: 10.0rem;
}

#first .l-block03 + .bgStripe01 {
    margin: 10rem 0;
}

#first .l-block03-inner {
    width: 134.0rem;
    margin: 0 auto;
}

#first .l-block03-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 10.0rem 12.0rem;
}

#first .l-block03-box-title {
    background: #ffd9bb;
    border-radius: 2.0rem;
    padding: 2.0rem 2.0rem;
}

#first .l-block03-box-title label,
#first .l-block03-box-title h3 {
    display: inline;
    padding-left: 2.5rem;
    vertical-align: middle;
    text-align: left;
    color: #111111;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

#first .l-block03-box-title-wrapper {
    display: inline-block;
    vertical-align: middle;
    border-radius: 4.0rem;
    border: calc(3 * var(--base-unit)) solid #ff7608;
    background: #FFFFFF;
    text-align: center;
    padding: 0.6rem 2.5rem;
}

#first .l-block03-box-title p {
    display: flex;
    align-items: center;
    text-align: center;
    color: #ff7608;
    font-family: var(--en-font-family);
    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0em;
}

#first .l-block03-box-title p span {
    margin-right: 1.5rem;
    display: inline-block;
    vertical-align: top;
    padding: 0 2.5rem;
    border-radius: 3.0rem;
    background: #ff7608;
    text-align: center;
    color: #FFFFFF;
    font-family: var(--base-font-family);
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
}

#first .l-block03-box-question {
    padding: 4.0rem 0 2.5rem;
    /* background: url(img/first/bg-question.png) bottom center no-repeat transparent; */
    /* background-size: 78.0rem auto; */
    text-align: center;
    max-width: 78.0rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.5rem;
}

#first .l-block03-box-question p,
#first .l-block03-box-question h4 {
    width: 78.0rem;
    display: inline-block;
    padding-top: 4.0rem;
    text-align: center;
    background: url(img/common/img-question.png) right top no-repeat transparent;
    background-size: 5.7rem auto;
    min-height: 4.6rem;
    text-align: center;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

#first .l-block03-box-table {
    margin-top: 6.5rem;
    width: 100%;
    display: table;
}

#first .l-block03-box-table > div {
    display: table-cell;
    vertical-align: top;
}

#first .l-block03-box-table-left {
    width: 46.5rem;
    text-align: left;
}

#first .l-block03-box-table-left picture {
    text-align: left;
}

#first .l-block03-box-table-left picture img {
    width: 42.0rem;
    height: auto;
}

#first .l-block03-box-table-right {
    text-align: left;
}

#first .l-block03-box-table-right dl,
#first .l-block03-box-table-right > div {
    display: block;
}

#first .l-block03-box-table-right dl dt,
#first .l-block03-box-table-right > div h5 {
    display: block;
    text-align: left;
    color: var(--main-color03);

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.416;
    letter-spacing: 0em;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}

#first .l-block03-box-table-right dl dd,
#first .l-block03-box-table-right > div p {
    display: block;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0em;
}

.l-block03-box-point01 ul {
    background: #efdac8;
    border-radius: 2rem;
    margin: 4rem 0 0;
    padding: 6rem;
    display: flex;
    gap: 2rem;
    justify-content: space-between;
}

.l-block03-box-point01 ul li {
    width: 100%;
    display: grid;
    grid-template-rows: 10rem auto;
    text-align: center;
    gap: 10px;
}

.l-block03-box-point01 ul li picture {
    padding: 1.65rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 2rem;
    background: #f00e20;
    border-radius: 2rem;

}

.l-block03-box-point01 ul li b {
    display: block;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.22;
}

#first .l-block03-box-image01 {
    padding-top: 5.0rem;
    display: block;
    text-align: center;
}

#first .l-block03-box-image01 img {
    width: 71.0rem;
    height: auto;
}

#first .l-block03-box-image02 {
    padding-top: 5.0rem;
    display: block;
    text-align: center;
}

#first .l-block03-box-image02 img {
    width: 70.5rem;
    height: auto;
}

#first .l-block03-box-message {
    padding-top: 3.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0em;
}

#first .l-block03-box-title02 {
    margin-top: 8.0rem;
    padding: 2.8rem 2.0rem;
    border-radius: 2.0rem;
    text-align: center;
    color: #111111;
    background: #e2e2e2;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

#first .l-block03-box-title02 span {
    text-align: center;
    color: var(--main-color01);

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

#first .l-block03-box-title02 + ul.extraFlowList {
    padding: 4.5rem 0 0;
    position: relative;
}

#first .l-block03-box-block {
    margin-top: 4.0rem;
    border-radius: 2.0rem;
    background: #ffb57b;
    padding: 4.0rem 4.0rem;
}

#first .l-block03-box-block-table {
    width: 100%;
    display: table;
}

#first .l-block03-box-block-table > div {
    display: table-cell;
    vertical-align: top;
    text-align: left;
}

#first .l-block03-box-block-table-left {
    width: 12.5rem;
}

#first .l-block03-box-block-table-left p {
    border-radius: 50%;
    width: 12.5rem;
    height: 12.5rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;

    font-size: 4.2rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

#first .l-block03-box-block-table-left p span {
    display: block;
    padding-top: 2.8rem;
    padding-bottom: .5rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

#first .l-block03-box-block-table-center {
    padding-left: 2.2rem;
    padding-right: 3.0rem;
}

#first .l-block03-box-block-table-center dl {
    display: block;
}

#first .l-block03-box-block-table-center dl dt {
    display: block;
    text-align: left;
    color: var(--main-color01);

    font-size: 2.0rem;
    font-weight: 900;
    line-height: 2.5;
    letter-spacing: 0em;
}

#first .l-block03-box-block-table-center dl dd {
    display: block;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

#first .l-block03-box-block-table-right {
    width: 32.0rem;
}

#first .l-block03-box-block-table-right picture {
    display: block;
}

#first .l-block03-box-block-table-right picture img {
    width: 32.0rem;
    height: auto;
}

#first .l-block03-box-table02 {
    margin: 6.0rem auto 0;
    max-width: 90.0rem;
    width: 100%;
}

/* 
#first .l-block03-box-table02 > table {
    width: 100%;
    border-collapse: separate;
}
*/
#first .l-block03-box-table02 > table > tbody > tr > th {
    padding: 1.5rem 3.0rem;
    /* font-size: 1.6rem; */
}

#first .l-block03-box-table02 > table > tbody > tr > th:first-of-type {
    width: 30rem;
}

#first .l-block03-box-table02 > table > tbody > tr > td {
    padding: 1.5rem 3.0rem;
}

/*
#first .l-block03-box-table02 > table > tbody > tr > th.th-01 {
    width: 30.0rem;
    border-radius: 1.5rem 0 0 0;
    border: calc(1 * var(--base-unit)) solid #ccc;
}

#first .l-block03-box-table02 > table > tbody > tr > th.th-02 {
    width: auto;
    border-radius: 0 1.5rem 0 0;
    border: calc(1 * var(--base-unit)) solid #ccc;
    border-left: none;
}

#first .l-block03-box-table02 > table > tbody > tr > td {
    text-align: left;
    padding: 1.0rem 3.0rem;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}
*/
#first .l-block03-box-table02 > table > tbody > tr > td.td-01 {
    background: #f1f1f1;
}

#first .l-block03-box-table02 > table > tbody > tr > td.td-01 b {
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

/* 
#first .l-block03-box-table02 > table > tbody > tr > td.td-01.-last {
    border-radius: 0 0 0 1.5rem;
}
*/
/* #first .l-block03-box-table02 > table > tbody > tr > td.td-02 {
    background: #FFFFFF;
    border: calc(1 * var(--base-unit)) solid #ccc;
    border-top: none;
    border-left: none;
} */

#first .l-block03-box-table02 > table > tbody > tr > td.td-02 table {
    width: 100%;
}

#first .l-block03-box-table02 > table > tbody > tr > td.td-02 table th,
#first .l-block03-box-table02 > table > tbody > tr > td.td-02 table td {
    border: 0 !important;
    padding: 0 !important
}

#first .l-block03-box-table02 > table > tbody > tr > td.td-02 table tr td {
    width: 50%;
    vertical-align: top;
    text-align: left;
    /* font-size: 1.6rem; */
    line-height: 1.75;
}

#first .l-block03-box-table02 > table > tbody > tr > td.td-02 table tr td.red {
    color: #ef2525;
}

#first .l-block03-box-table02 > table > tbody > tr > td.td-02 table tr td span {
    font-size: 1.875em;
    font-weight: 900;
    line-height: 1;
}

#first .l-block03-box-table02 > table > tbody > tr > td.td-02 table tr td label {
    color: #ef2525;
}

/* #first .l-block03-box-table02 > table > tbody > tr > td.td-02.-last {
    border-radius: 0 0 1.5rem 0;
}

#first .l-block03-box-table02 > table > tbody > tr > td.td-03.-last {
    border-radius: 0 0 0 1.5rem;
} */

/* #first .wave03 {
    background: url("img/first/bg-block03.png") top center no-repeat transparent;
    background-size: 100% auto;
} */

#first .l-block03-box-table03 {
    margin: 5.0rem auto 0;
    width: 94.0rem;
    display: table;
}

#first .l-block03-box-table03-list {
    width: 50%;
    display: table-cell;
    vertical-align: top;
    padding: 0 2.5rem;
    text-align: center;
}

#first .l-block03-box-table03-list p {
    display: inline-block;
    background: var(--main-color01);
    padding: .7rem 3.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;
}

#first .l-block03-box-table03-list picture {
    display: block;
    text-align: center;
    padding-top: .5rem;
}

#first .l-block03-box-table03-list picture img {
    width: 42.0rem;
    height: auto;
}

#first .l-block03-box-caution {
    padding-top: 1.5rem;
    text-align: center;
    color: var(--main-color01);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
}

#first .l-block03-box-table04 {
    margin-top: 4.0rem;
    width: 100%;
    display: flex;
    gap: 4rem;

}

#first .l-block03-box-table04-list {
    display: block;
    text-align: center;
    flex: 1;
}

/* 
#first .l-block03-box-table04-list:nth-of-type(3n+1) {
    padding-right: 2.8rem;
}

#first .l-block03-box-table04-list:nth-of-type(3n+2) {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
}

#first .l-block03-box-table04-list:nth-of-type(3n) {
    padding-left: 2.8rem;
} */

#first .l-block03-box-table04-list > p {
    display: inline-block;
    border-radius: 50%;
    width: 10.0rem;
    height: 10.0rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;
    font-size: 3.6rem;
    font-weight: 700;
    font-family: var(--en-font-family);
    line-height: 1;
    letter-spacing: 0em;
    position: relative;
    z-index: 2;
}

#first .l-block03-box-table04-list > p span {
    display: block;
    padding-top: 2.0rem;
    padding-bottom: .5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    line-height: 1;
    letter-spacing: .1em;
    text-indent: .1em;
}

#first .l-block03-box-table04-list-box {
    position: relative;
    z-index: 2;
    border-radius: 2.0rem;
    background: #efdac8;
    padding: 6.0rem 3.0rem 5.0rem;
    margin-top: -5.0rem;
    position: relative;
    z-index: 1;
    text-align: left;
}

#first .l-block03-box-table04-list-box picture {
    display: block;
    text-align: center;
    margin-bottom: 1.0rem;
}

#first .l-block03-box-table04-list-box picture img {
    width: 100%;
    height: auto;
}

#first .l-block03-box-table04-list-box > p {
    padding-top: 1.2rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.66;
}

#first .l-block03-box-title03 {
    padding: 5.5rem 0 2.0rem;
    background-image: radial-gradient(circle, #cccccc 1.5px, transparent 2.001px);
    background-position: 0 bottom;
    background-size: 12px 4px;
    background-repeat: repeat-x;
    /* border-bottom:.4rem dotted #cccccc; */
}

#first .l-block03-box-title03 p {
    text-align: left;
    color: #111111;
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0em;
}

#first .l-block03-box-table05 {
    margin-top: 3.5rem;
    width: 100%;
    display: table;
}

#first .l-block03-box-table05 > div {
    display: table-cell;
    vertical-align: top;
}

#first .l-block03-box-table05-left {
    width: auto;
    padding-right: 8.0rem;
}

/* #first .l-block03-box-table05-left table {
    width: 100%;
    border-collapse: separate;
}

#first .l-block03-box-table05-left table tr td {
    border: calc(1 * var(--base-unit)) solid #ccc;
    border-bottom-width: 0;
    padding: 1.2rem 4.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

#first .l-block03-box-table05-left table tr:nth-of-type(odd) td {
    background: #FFFFFF;
}

#first .l-block03-box-table05-left table tr:nth-of-type(even) td {
    background: #f1f1f1;
}

#first .l-block03-box-table05-left table tr:first-of-type td {
    border-radius: 2.0rem 2.0rem 0 0;
}

#first .l-block03-box-table05-left table tr:last-of-type td {
    border-radius: 0 0 2.0rem 2.0rem;
    border-bottom-width: calc(1 * var(--base-unit));
} */

#first .l-block03-box-table05-right {
    width: 32.0rem;
    text-align: center;
}

#first .l-block03-box-table05-right picture {
    display: block;
    text-align: center;
}

#first .l-block03-box-table05-right picture img {
    width: 32.0rem;
    height: auto;
}

#first .l-block03-box-caution02 {
    padding: 5.5rem 0 5.0rem;
    background-size: 5.2rem auto;
    text-align: center;
    color: var(--main-color03);
    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
    position: relative;
}

#first .l-block03-box-caution02::before {
    position: absolute;
    inset: auto 0 0;
    margin: 0 auto;
    content: "";
    display: block;
    width: 5.0rem;
    height: 3.5rem;
    background: var(--main-color03);
    --mask: url(img/common/svg_arrow04.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

#first .l-block03-box-table06 {
    margin-top: 6.0rem;
    width: 100%;
    display: table;
}

#first .l-block03-box-table06-list {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

#first .l-block03-box-table06-list:nth-of-type(odd) {
    padding-right: 1.5rem;
}

#first .l-block03-box-table06-list:nth-of-type(even) {
    padding-left: 1.5rem;
}

#first .l-block03-box-table06-list-title01 {
    border-radius: 2.0rem;
    background: #111111;
    padding: 1.2rem 2.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

#first .l-block03-box-table06-list-title02 {
    border-radius: 2.0rem;
    background: var(--main-color01);
    padding: 1.2rem 2.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

#first .l-block03-box-table06-list picture {
    display: block;
    padding-top: 1.0rem;
}

#first .l-block03-box-table06-list picture img {
    width: 100%;
    height: auto;
}

#first .l-block03-box-title04 {
    padding-top: 6.0rem;
}

#first .l-block03-box-title04 p {
    border-radius: 2.0rem;
    background: #111111;
    padding: 2.0rem 2.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

#first .l-block03-box-title05 {
    padding-top: 6.0rem;
}

#first .l-block03-box-title05 p {
    border-radius: 2.0rem;
    background: var(--main-color01);
    padding: 2.0rem 2.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

#first .l-block03-box-image03 {
    display: block;
    padding-top: 6.0rem;
    text-align: center;
}

#first .l-block03-box-image03 img {
    width: 87.0rem;
    height: auto;
}

#first .l-block03-box-block01 {
    padding-top: 4.5rem;
    max-width: 98.0rem;
    width: 100%;
    margin: 0 auto;
}

#first .l-block03-box-block01-box {
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #cccccc;
    padding: 5.0rem 6.0rem;
    text-align: center;
}

#first .l-block03-box-block01-box p {
    padding-bottom: 3.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

#first .l-block03-box-block01-box p span.color01,
#first .l-block03-box-block01-box p span.color02,
#first .l-block03-box-block01-box p span.color03 {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.0;
    letter-spacing: 0em;
}

#first .l-block03-box-block01-box p span.color01 {
    color: #0b40d7;
}

#first .l-block03-box-block01-box p span.color02 {
    color: #ff4270;
}

#first .l-block03-box-block01-box p span.color03 {
    color: #ff6928;
}

#first .l-block03-box-block01-box label {
    min-width: 18.6rem;
    display: inline-block;
    vertical-align: top;
    margin: 0 2.0rem;
    border-radius: 1.0rem;
    background: #5c96d7;
    padding: 1.2rem 0;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.33;
    letter-spacing: 0em;
}

#first .l-block03-box-block01-box label.color01 {
    background: #0b40d7
}

#first .l-block03-box-block01-box label.color02 {
    background: #ff4270;
}

#first .l-block03-box-block01-box label.color03 {
    background: #ff6928;
}

#first .l-block03-box-block01-box-list {
    text-align: center;
}

.l-pickup {
    margin-top: 5.0rem;
    padding-bottom: 10.0rem;
}

#reason .l-pickup {
    background: none !important;
    margin-top: 0;
}

.l-pickup-inner {
    width: 100%;
    margin: 0 auto;
    background: url(img/common/icon-pickup.png) calc(50% + 55rem + 15.0rem) bottom no-repeat transparent;
    background-size: 19.2rem auto;
}

.l-pickup-inner .inner {
    overflow: visible;
}

.l-pickup-concept {
    padding-top: 4.0rem;
}

.l-pickup-concept-block {
    width: 100%;
    display: grid;
    gap: 4rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    text-align: left;
    font-size: 0;
    margin: 3rem 0 0;

}

.l-pickup-concept-block * {
    box-sizing: border-box;
}

.l-pickup-concept-block-list {
    /* width:50%;
  display:inline-block; */
    display: block;
    /* vertical-align: top; */
    /* padding-top:3.0rem; */
}

/*
.l-pickup-concept-block-list:nth-of-type(odd){
  padding-right:2.0rem;
}
.l-pickup-concept-block-list:nth-of-type(even){
  padding-left:2.0rem;
}*/
.l-pickup-concept-block-list-box {
    width: 100%;
    display: block;
    background: #FFFFFF;
    border: calc(2 * var(--base-unit)) solid var(--main-color01);
    text-decoration: none !important;
    border-radius: 1.5rem;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    transition: 0.3s ease;
    outline: calc(2 * var(--base-unit)) solid transparent;
}

.l-pickup-concept-block-list-box:hover {
    --c: var(--red);
    outline-color: var(--c);
}

a.l-pickup-concept-block-list-box::before,
a.l-pickup-concept-block-list-box::after {
    content: '';
    position: absolute;
    margin: auto;
}

a.l-pickup-concept-block-list-box::before {
    width: 3.0rem;
    height: 3.0rem;
    background: var(--red);
    border-radius: 50%;
    top: 0;
    right: 4.3rem;
    bottom: 0;
    transform: translateX(50%);
}

a.l-pickup-concept-block-list-box::after {
    top: 50%;
    right: 4.5rem;
    width: 1.1rem;
    height: 1.1rem;
    transform: translate(50%, -50%) rotate(45deg);
    border-top: calc(2 * var(--base-unit)) solid #ffffff;
    border-right: calc(2 * var(--base-unit)) solid #ffffff;
    box-sizing: border-box;
}

.l-pickup-concept-block-list-box-left {
    display: table-cell;
    vertical-align: middle;
    text-align: left;
    width: 23.0rem;
    height: 15.0rem;
    overflow: hidden;
}

.l-pickup-concept-block-list-box-left picture {
    display: block;
}

.l-pickup-concept-block-list-box-left picture img {
    width: 100%;
    height: auto;
    border-radius: 1.4rem 0 0 1.4rem;
}

.l-pickup-concept-block-list-box-right {
    display: table-cell;
    vertical-align: middle;
    /* background: url("img/corporate/btn-corporate01.png") right 2.8rem center no-repeat transparent; */
    background-size: 3.0rem auto;
    text-align: left;
    width: auto;
    padding: 2.0rem 2.5rem;
    height: 15.0rem;
    overflow: hidden;
}

.l-pickup-concept-block-list-box-right dl {
    display: block;
}

.l-pickup-concept-block-list-box-right dl dt {
    text-align: left;
    color: var(--main-color01);

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-pickup-concept-block-list-box-right dl dd {
    text-align: left;
    color: #111111;

    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: 0em;
}

.l-showroom-block01 {
    padding-top: 10.0rem;
}

.l-showroom-block01 picture {
    display: block;
    text-align: center;
}

.l-showroom-block01 picture img {
    width: 100%;
    height: auto;
}

.l-showroom-block02 {
    padding-top: 6.0rem;
}

.l-showroom-block02-title {
    /* background: url("img/showroom/block02-img01.png") right top no-repeat transparent; */
    /* background: url("img/common/img_character02.png") right top no-repeat transparent;
    background-size: 36.0rem auto; */
    min-height: 19.4rem;
    padding-top: 6.0rem;
    padding-bottom: 1.5rem;
    position: relative;
}

.l-showroom-block02-title .balloon02 {
    position: absolute;
    inset: 0 0 auto auto;
}

.l-showroom-block02-movie {
    text-align: center;
}

.l-showroom-block02-movie .extraMessageMovie {
    width: 100%;
}

.l-showroom-block02-movie .extraMessageMovie iframe,
.l-showroom-block02-movie .extraMessageMovie lite-youtube {
    width: 100%;
}

.l-showroom-block02-1 {
    padding-top: 12.0rem;
}

.l-showroom-block02-1-card > div {
    display: flex;
    gap: 0;
    width: 100%;
}

.l-showroom-block02-1-card > div > picture {
    width: 50%;
}

.l-showroom-block02-1-card > div > picture img {
    display: block;
    width: 100%;
    height: auto;
}

.l-showroom-block02-1-card div + p {
    margin-top: 1.0rem;
}

.l-showroom-block02-1-card p {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 14px;
}

.l-showroom-block02-1 .btn-arrow01 {
    text-align: center;
}

/* .l-showroom-block02-1-form {
    padding-top: 3.0rem;
    text-align: center;
    padding-bottom: 1.6rem;
}

.l-showroom-block02-1-form a {
    text-decoration: none;
    display: inline-block;
    vertical-align: top;
    background: #FFFFFF;
    border-radius: 3.0rem;
    border: calc(3 * var(--base-unit)) solid #ffb57b;
    padding: .5rem 4.5rem;
    text-align: center;
    color: #ffb57b;

    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;

    position: relative;
}

.l-showroom-block02-1-form a::after {
    content: "";
    width: 2.6rem;
    height: 2.6rem;
    position: absolute;
    bottom: -1.6rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: inline-block;
    background: url("img/showroom/block02-icon.png") bottom center no-repeat transparent;
    background-size: 2.6rem auto;
} */

.l-showroom-block03 {
    padding-top: 7.5rem;
}

.l-showroom-block03-title {
    /* background: url("img/showroom/block03-bg.png") left 18.5rem top no-repeat transparent; */
    background: url("img/common/img_character01.png") left 18.5rem top no-repeat transparent;
    background-size: 11.6rem auto;
    min-height: 14.2rem;
    padding-top: 3.5rem;
    padding-bottom: 2.0rem;
}

.l-showroom-block03-table {
    width: 100%;
    margin-top: 7rem;
    /* display: block;
    text-align: center; */
    font-size: 0;
    padding-bottom: 5.0rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(50 * var(--base-unit)) calc(50 * var(--base-unit));
}

.l-showroom-block03-table * {
    box-sizing: border-box;
}

.l-showroom-block03-table-list {
    padding-bottom: 3.0rem;
    /* width: 50%;
    display: inline-block; */
    vertical-align: top;
    text-align: center;
    display: grid;
    grid-column: span 2;
    position: relative;
}

/*
.l-showroom-block03-table-list:nth-of-type(1) {
    padding-right: 3.0rem;
}

.l-showroom-block03-table-list:nth-of-type(2) {
    padding-left: 3.0rem;
}*/

.l-showroom-block03-table-list:nth-of-type(3):last-of-type {
    grid-column: 2 / 4;
    /* padding-left: 1.5rem;
    padding-right: 1.5rem; */
}

.l-showroom-block03-table-list > p {
    position: absolute;
    display: block;
    inset: 0 0 0 0;
    margin: 0 auto;
    border-radius: 100vh;
    width: 10.0rem;
    height: 10.0rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
    z-index: 2;
    transform: translateY(-50%);
}

.l-showroom-block03-table-list > p span {
    display: block;
    padding-top: 2.0rem;
    padding-bottom: .5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-showroom-block03-table-list-box {
    border-radius: 2.0rem;
    background: #ffb57b;
    padding: 6.0rem 3.0rem 3.0rem;
    /* margin-top: -5.0rem; */
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 2rem;
}

.l-showroom-block03-table-list picture {
    display: block;
    text-align: center;
    /* padding-bottom: 2.0rem; */
}

.l-showroom-block03-table-list picture img {
    width: 100%;
    height: auto;
}

.l-showroom-block03-table-list dl,
.l-showroom-block03-table-list-box > div {
    display: block;
    background: #FFFFFF;
    border-radius: 2.0rem;
    padding: 3.0rem 2.5rem 2.5rem;
}

.l-showroom-block03-table-list dl dt,
.l-showroom-block03-table-list-box > div h3 {
    text-align: center;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0em;
}

.l-showroom-block03-table-list dl dt span,
.l-showroom-block03-table-list-box > div h3 span {
    text-align: center;
    color: var(--main-color01);

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0em;
}

.l-showroom-block03-table-list dl dd,
.l-showroom-block03-table-list-box > div p {
    padding-top: 1.5rem;
    text-align: justify;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-showroom-block04,
.l-price-block05,
.l-page-smallworks-block03.type05 {
    /* background:
    url("img/showroom/block04-bg.png"),
    linear-gradient(180deg, #efdac8 0px, #efdac8 38.0rem, #fff4ea 38.0rem, #fff4ea 100%);
  background-repeat: no-repeat,no-repeat;
  background-size: 164.0rem 38.0rem,cover; */
    width: 100%;
    padding-top: 27.0rem;
    padding-bottom: 11.0rem;
    position: relative;
}

.l-showroom-block04::before,
.l-showroom-block04::after,
.l-price-block05::before,
.l-price-block05::after,
.l-page-smallworks-block03.type05::before,
.l-page-smallworks-block03.type05::after,
.l-page-smallworks-block03.type06::before,
.l-page-smallworks-block03.type06::after {
    content: "";
    width: 100%;
    height: 38.0rem;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
}

.l-showroom-block04::before,
.l-price-block05::before,
.l-page-smallworks-block03.type05::before,
.l-page-smallworks-block03.type06::before {
    background: #efdac8;
}

.l-showroom-block04::after,
.l-page-smallworks-block03.type05::after {
    background-image: url(img/common/bg_image04.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    --s: 80.0rem;
    /* --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s))); */
    --mask: radial-gradient(circle, rgba(0, 0, 0, 1) 35rem, rgba(0, 0, 0, 0) 45rem);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    /* -webkit-mask-position: -40rem 22%; */
    -webkit-mask-position: center 22%;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    /* mask-position: -40rem 22%; */
    mask-position: center 22%;
}

.l-price-block05::after {
    background-image: url(img/common/bg_image06.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    --mask: radial-gradient(circle, rgba(0, 0, 0, 1) 30rem, rgba(0, 0, 0, 0) 50rem);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    /* -webkit-mask-position: -40rem 22%; */
    -webkit-mask-position: center 22%;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    /* mask-position: -40rem 22%; */
    mask-position: center 22%;
}

.l-page-smallworks-block03.type06::after {
    background-image: url(img/common/bg_image_diagnosis.jpg);
    background-repeat: no-repeat;
    background-position: center top;
    --mask: radial-gradient(circle, rgba(0, 0, 0, 1) 30rem, rgba(0, 0, 0, 0) 50rem);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    /* -webkit-mask-position: -40rem 22%; */
    -webkit-mask-position: center 22%;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    /* mask-position: -40rem 22%; */
    mask-position: center 22%;
}

.l-showroom-block04 > .inner {
    z-index: 5;
}

.l-showroom-block04-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 9.0rem 12.0rem 11.5rem;
}

.l-showroom-block04-box-table {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 0;
}

.l-showroom-block04-box-table * {
    box-sizing: border-box;
}

.l-showroom-block04-box-table-list {
    padding-top: 5.0rem;
    width: 50%;
    display: inline-block;
    vertical-align: top;
}

.l-showroom-block04-box-table-list:nth-of-type(odd) {
    padding-right: 3.0rem;
}

.l-showroom-block04-box-table-list:nth-of-type(even) {
    padding-left: 3.0rem;
}

.l-showroom-block04-box-table-list picture {
    display: block;
    text-align: center;
}

.l-showroom-block04-box-table-list picture img {
    width: 100%;
    height: auto;
}

.l-showroom-block04-box-table-list > p {
    padding-top: 1.5rem;
    text-align: justify;
    letter-spacing: -0.05em;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-showroom-block04-box-table-list > p a {
    color: #ff7608;
}

.l-showroom-block04-box-table-list h3 {
    text-align: center;
    font-size: calc(22 * var(--base-unit));
    font-weight: 900;
    margin-top: 2rem;
    line-height: 1.25;
}

.l-showroom-block05 {
    padding-top: 11.0rem;
}

.l-showroom-block05 h3 {
    margin-top: 6.0rem;
    border-radius: 2.0rem;
    background: #ffd9bb;
    padding: 2.5rem 2.5rem;
    text-align: center;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-showroom-block05 picture {
    padding-top: 4.0rem;
    display: block;
}

.l-showroom-block05 picture img {
    width: 100%;
    height: auto;
    border-radius: 2.0rem;
}

.l-showroom-block05 picture + table {
    margin-top: 4.0rem;
}

/* 
.l-showroom-block05 table {
    margin-top: 6.0rem;
    width: 100%;
    border-collapse: separate;
}

.l-showroom-block05 table tr th {
    width: 30.0rem;
    border: calc(1 * var(--base-unit)) solid #ffaa67;
    border-top: none;
    padding: 1.5rem 3.0rem;
    background: #e5e6e0;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-showroom-block05 table tr th.th-01 {
    border-radius: 1.5rem 0 0 0;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-showroom-block05 table tr th.th-02 {
    border-radius: 0 0 0 1.5rem;
}

.l-showroom-block05 table tr td {
    width: auto;
    border: calc(1 * var(--base-unit)) solid #ffaa67;
    border-top: none;
    border-left: none;
    text-align: left;
    padding: 1.5rem 3.0rem;
    background: #FFFFFF;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-showroom-block05 table tr td.td-01 {
    border-radius: 0 1.5rem 0 0;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-showroom-block05 table tr td.td-02 {
    border-radius: 0 0 1.5rem 0;
} */
.l-showroom-block05-map {
    margin-top: 4.0rem;
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #c7c8c0;
    overflow: hidden;
    height: 41.2rem;
}

.l-showroom-block05-map iframe {
    width: 100%;
    height: 41.3rem;
}

.l-showroom-block06 {
    padding-top: 12.0rem;
}

.l-showroom-block06-inner {
    width: 134.0rem;
    margin: 0 auto;
}

.l-showroom-block06-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 8.0rem 12.0rem 12.0rem;
}

.l-showroom-block06 h3 {
    margin-top: 4.0rem;
    border-radius: 2.0rem;
    background: #ffd9bb;
    padding: 2.5rem 2.5rem;
    text-align: center;
    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-showroom-block06-box-table {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.l-showroom-block06-box-table-list {
    width: 33.3%;
    display: table-cell;
    vertical-align: top;
    text-align: center;
}

.l-showroom-block06-box-table-list:nth-of-type(3n+1) {
    padding-right: 2.6rem;
}

.l-showroom-block06-box-table-list:nth-of-type(3n+2) {
    padding-left: 1.3rem;
    padding-right: 1.3rem;
}

.l-showroom-block06-box-table-list:nth-of-type(3n) {
    padding-left: 2.6rem;
}

.l-showroom-block06-box-table-list > p {
    display: inline-block;
    border-radius: 100vh;
    width: 10.0rem;
    height: 10.0rem;
    background: var(--main-color01);
    font-family: var(--en-font-family);
    text-align: center;
    color: #FFFFFF;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
    position: relative;
    z-index: 2;
}

.l-showroom-block06-box-table-list > p > span {
    display: block;
    padding-top: 2.0rem;
    padding-bottom: .5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-showroom-block06-box-table-list-box {
    border-radius: 2.0rem;
    background: #ffb57b;
    padding: 6.0rem 3.0rem 5.0rem;
    margin-top: -5.0rem;
    position: relative;
    z-index: 1;
}

.l-showroom-block06-box-table-list-box picture {
    display: block;
    text-align: center;
}

.l-showroom-block06-box-table-list-box picture img {
    width: 100%;
    height: auto;
}

.l-showroom-block06-box-table-list-box > p {
    padding-top: 1.2rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.66;
    letter-spacing: 0em;
}

/* .l-showroom-block06-box > .text-center + .l-showroom-block06-tel {
    padding-top: 9.5rem;
} */

.l-showroom-block06-tel {
    padding-top: 5.0rem;
}

.l-showroom-block06-tel > a {
    display: block;
    position: relative;
    text-decoration: none;
}

.l-showroom-block06-tel > a::after {
    content: "";
    /* width: 19.2rem;
    height: 21.0rem; */
    width: 21.2rem;
    height: 18.5rem;
    position: absolute;
    top: -2.0rem;
    right: 8.0rem;
    display: inline-block;
    background: url("img/common/img_character01.png") right top no-repeat transparent;
    background-size: contain;
    min-height: 16.5rem;
    z-index: 2;
}

.l-showroom-block06-tel-wrapper {
    border-radius: 9.0rem;
    border: calc(3 * var(--base-unit)) solid var(--main-color03);
    padding: 2.0rem 21.0rem 2.0rem 10.0rem;
    text-align: center;
}

.l-showroom-block06-tel01 {
    text-align: center;
    color: #111111;
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
    margin-bottom: 1rem;
}

.l-showroom-block06-tel01 span {
    text-align: center;
    color: #ef2525;

    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-showroom-block06-tel02 {
    display: inline-block;
    vertical-align: middle;
    padding-left: 5.5rem;
    background: url("img/common/svg_tel.svg") left center no-repeat transparent;
    /* background: url("img/showroom/block06-icon.png") left center no-repeat transparent; */
    background-size: 4.8rem auto;
    min-height: 4.8rem;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.3;
}

.l-showroom-block06-tel02 span {
    padding-right: 0.5rem;
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    color: var(--main-color01);
    font-size: 6.2rem;
    font-family: var(--en-font-family);
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.l-showroom-block06-form {
    padding-top: 6.0rem;
}

/* 
.l-showroom-block06-form table {
    width: 100%;
    border-collapse: separate;
}

.l-showroom-block06-form table tr th {
    width: 31.5rem;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-top: none;
    border-right: none;
    padding: 2.5rem 3.0rem 2.5rem 6.5rem;
    background: #ffebbd;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-showroom-block06-form table tr th.th-01 {
    border-radius: 1.5rem 0 0 0;
    border-top: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-showroom-block06-form table tr th.th-02 {
    border-radius: 0 0 0 0;
}

.l-showroom-block06-form table tr th span {
    background: #ef2525;
    color: #ffffff;
    font-size: 1.4rem;
    float: none;
    padding: .2rem 1.5rem;
    border-radius: .5rem;
    margin-left: 1.0rem;
}

.l-showroom-block06-form table tr th span.any {
    background: #ffaa67;
}

.l-showroom-block06-form table tr td {
    width: auto;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-top: none;
    border-left: none;
    text-align: left;
    padding: 2.5rem 3.0rem 2.5rem 3.0rem;
    background: #FFFFFF;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-showroom-block06-form table tr td.td-01 {
    border-radius: 0 1.5rem 0 0;
    border-top: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-showroom-block06-form table tr td.td-02 {
    border-radius: 0 0 0 0;
}

.l-showroom-block06-form table tr td span {
    display: inline-block;
    font-size: 1.6rem;
}

.l-showroom-block06-form table tr td select,
.l-showroom-block06-form table tr td input[type="date"] {
    width: 27.0rem;
    font-size: 1.6rem;
    padding: .5rem 1.0rem;
    line-height: 3.0rem;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    box-sizing: border-box;
    margin-right: 1.0rem;
    border-radius: 2.5rem;
    font-family: var(--base-font-family);
    color: #111111;
}

.l-showroom-block06-form table tr td input[type="text"],
.l-showroom-block06-form table tr td input[type="tel"],
.l-showroom-block06-form table tr td input[type="email"] {
    width: 37.5rem;
    padding: .5rem 1.0rem;
    line-height: 3.0rem;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    box-sizing: border-box;

    font-size: 1.6rem;
    border-radius: 2.5rem;
    font-family: var(--base-font-family);
    color: #111111;
}

.l-showroom-block06-form table tr td .readonly {
    background: #eeeeee !important;
    color: #888888 !important;
}

.l-showroom-block06-form table tr td textarea {
    padding: .5rem 1.0rem;
    width: 65.0rem;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    box-sizing: border-box;
    overflow: auto;
    border-radius: 2.5rem;
    font-family: var(--base-font-family);
    color: #111111;
    line-height: 3.0rem;
}

.l-showroom-block06-form-caution {
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-top: none;
    border-radius: 0 0 1.5rem 1.5rem;
    padding: 4.5rem 12.0rem 5.0rem;
}

.l-showroom-block06-form-caution-title {
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.625;
    letter-spacing: 0em;
}

.l-showroom-block06-form-caution ul {
    display: block;
    padding-top: 3.5rem;
}

.l-showroom-block06-form-caution ul li {
    display: block;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
    letter-spacing: 0em;
}

.l-showroom-block06-form-caution ul li a {
    text-decoration: underline;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
    letter-spacing: 0em;
}

.l-showroom-block06-form-caution .submit {
    text-align: center;
}

.l-showroom-block06-form-caution .submit input {
    margin-top: 3.5rem;
    background: right center var(--main-color01) url(img/common/bg_btn01.png) no-repeat;
    border: none;
    border-radius: 3.0rem;
    text-decoration: none;
    padding: 2.0rem 3.0rem 2.2rem 3.0rem;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: 700;
    color: #ffffff;
    position: relative;
    display: inline-block;
    min-width: 30.0rem;
    font-family: var(--base-font-family);
    text-align: center;
    box-sizing: border-box;
    transition: 0.3s;
}

.l-showroom-block06-form-caution .submit input:hover {
    cursor: pointer;
    opacity: 0.7;
} */

.l-works {
    padding-top: 6.0rem;
}

.l-works * {
    box-sizing: border-box;
}

.warksTaxList {
    border-radius: 1.5rem;
    background: #ffb57b;
    padding: 2.0rem 4.0rem 4.0rem;
    margin-bottom: 10.0rem;
}

#blog .warksTaxList {
    margin-bottom: 6.0rem;
}

#voice .warksTaxList {
    padding: 2.0rem 4.0rem;
    margin-bottom: 6.0rem;
}

#main .warksTaxList .btn {
    width: 100%;
    display: block;
    padding: 0;
    min-height: 2.3rem;
    text-align: left;
    border-radius: 0;
    background-color: transparent;
    margin: 0 0;
    border-bottom: calc(1 * var(--base-unit)) solid var(--main-color01);
    color: #111111 !important;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}


#main .warksTaxList .btn .toggleBtn {
    width: 100%;
    /* padding: 0 0; */
    padding: 1.25rem 0 1.25rem 3.3rem;
    display: block;
    color: #111111 !important;
    text-decoration: none;
    border-radius: 0;
    position: relative;
    margin: 0 0;
    text-align: left;
    border-top: none;
    box-shadow: none;
    background: none;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

#main .warksTaxList .btn .toggleBtn.toggleBtn {
    position: relative;
}

#main .warksTaxList .btn .toggleBtn::before,
#main .warksTaxList .btn .toggleBtn::after {
    content: '';
    position: absolute;
    margin: auto 0;
}

#main .warksTaxList .btn .toggleBtn::before {
    width: calc(22 * var(--base-unit));
    height: calc(22 * var(--base-unit));
    background: #ffffff;
    border-radius: 100vh;
    top: 0;
    left: calc(-11 * var(--base-unit));
    right: auto;
    bottom: 0;
    transform: translateX(50%);
}

#main .warksTaxList .btn .toggleBtn::after {
    top: 50%;
    left: calc(2 * var(--base-unit));
    right: auto;
    bottom: auto;
    width: calc(8 * var(--base-unit));
    height: calc(8 * var(--base-unit));
    transform: translate(50%, -50%) rotate(45deg);
    border-top: calc(2 * var(--base-unit)) solid var(--main-color01);
    border-right: calc(2 * var(--base-unit)) solid var(--main-color01);
    box-sizing: border-box;
    mask: none;
    background: none;
}

/* #main .warksTaxList .btn .toggleBtn::before,
#main .warksTaxList .btn .toggleBtn::after {
    display: none !important;
} */

#main .warksTaxList .taxList {
    display: none;
    margin: 1.0rem 0;
}

#voice #main .warksTaxList .taxList {
    display: block;
}

#main .taxList li {
    display: inline-block !important;
    padding: 0;
    background: none;
    margin: 0;
}

#main .taxList li a {
    display: inline-block !important;
    font-size: 1.4rem;
    font-weight: 700;
    background: #FFFFFF;
    color: #ff7608 !important;
    margin: 0 .4rem .4rem 0;
    text-decoration: none;
    padding: 0 1.5rem;
    border-radius: 1.2rem;
    position: inherit;
}

#main #archiveList {
    overflow: hidden;
    padding: 6.0rem 0 9.0rem;
    position: relative;
    background-color: #d3ad89;
    background-image: url(img/common/bg_image01.jpg);
    background-repeat: no-repeat;
    background-position: right top;
    background-size: contain;
    /* min-height: 82.6rem; */
}

#main #archiveList.archiveListblog {
    padding-top: 0;
    padding-bottom: 0;
    background: none;
}

#main #archiveList * {
    box-sizing: border-box;
}

#main #archiveList .archiveBox,
#main #archiveList .worksArchiveBox {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3rem;
}

#main .worksArchiveBox {
    position: relative;
    overflow: hidden;
    text-align: left;
    font-size: 0;
}

#main #archiveList article a {
    text-decoration: none !important;
}

#main #archiveList article {
    /* display: inline-block; */
    display: block;
    vertical-align: top;
    /* width: calc(33% - 2.0rem);
    float: none;
    margin: 3.0rem 0 0 0; */
    margin: 0;
    position: relative;
    background: #FFFFFF;
    border-radius: 2.0rem;
    padding: 0 0;
}

/* #main #archiveList article:nth-of-type(3n+1) {
    margin-right: 2.0rem;
}

#main #archiveList article:nth-of-type(3n+2) {
    margin-left: 1.0rem;
    margin-right: 1.0rem;
}

#main #archiveList article:nth-of-type(3n) {
    margin-left: 2.0rem;
} */

#main #archiveList a {
    display: block;
    position: relative;
}

#main #archiveList .archiveTumb {
    width: 100%;
    height: 26.0rem;
    border: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

#main #archiveList .archiveTumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 2.0rem 2.0rem 0 0;
}

#main #archiveList .detail {
    position: absolute;
    left: 0;
    top: 22.0rem;
    background: #FFFFFF !important;
    border-radius: 0 2.0rem 0 0;
    color: #111111;
    font-size: 1.5rem !important;
    font-weight: bold;
    box-shadow: none;
    font-size: 1.2rem;
    font-weight: 500;
    padding: 1.5rem 2.0rem .5rem 2.0rem;
    line-height: 1;
    width: 16.0rem;
    margin: 0 0;
    display: block;
    text-align: left;
}

#main #archiveList .detail img {
    vertical-align: middle;
    margin-right: .5rem;
    display: inline-block;
    width: .8rem;
    height: auto;
    position: static;
    margin-top: 1.0rem;
    margin-left: .7rem;
}

#main #archiveList .worksSummary {
    padding: 5.0rem 2.0rem 2.0rem;
}

#main #archiveList .worksSummary img {
    display: none !important;
}

#main #archiveList .voiceOverview {
    padding: 0 2.0rem 2.0rem;
}

#main #archiveList h3 {
    margin: 0 0 0 0;
    color: var(--main-color01);
    font-size: 2.2rem;
}

#main #archiveList .contTxt {
    padding-top: 1.0rem;
    font-size: 1.6rem;
}

#main #archiveList .contTxt img {
    display: none !important;
}

#main #archiveList .time {
    padding-top: 1.0rem;
    font-size: 1.6rem;
    color: var(--body-text-color);
    line-height: 1.4;
}

#main #archiveList .cat {
    position: absolute;
    top: 27.8rem;
    font-size: 1.6rem;
    line-height: 1;
    height: 2.9rem;
    overflow: hidden;
    left: 2.0rem;
    text-align: left;
}

#main #archiveList .cat a {
    display: inline-block;
    position: relative;
    background: var(--main-color01);
    padding: .5rem 1.2rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    line-height: 1;
}

#main #archiveList .time {
    line-height: 2.5;
}

/* #main #archiveList .wp-pagenavi {
    clear: both;
    text-align: center;
    padding-top: 8.5rem;
    margin-bottom: 0;
}

#main #archiveList .wp-pagenavi a {
    text-decoration: none;
    border: calc(1 * var(--base-unit)) solid var(--main-color01);
    padding: .3rem 1.0rem;
    margin: .2rem;
    background: var(--main-color01);
    display: inline-block !important;
    border-radius: .3rem;
    line-height: 1.75;
    color: #FFFFFF;
    font-weight: 400;
}

#main #archiveList .wp-pagenavi span {
    text-decoration: none;
    border: calc(1 * var(--base-unit)) solid var(--main-color01);
    padding: .3rem 1.0rem;
    margin: .2rem;
    background: #FFFFFF;
    display: inline-block !important;
    border-radius: .3rem;
    line-height: 1.75;
    color: var(--main-color01);
    font-weight: 400;
} */

.wave02 {
    position: relative;
    z-index: 1;
}

.wave02::before,
.wave02::after {
    position: absolute;
    width: 100%;
    /* height: 100%; */
    content: "";
    display: block;
    background-color: #ffead9;
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    z-index: -1;
    pointer-events: none;
}

.wave02::before {
    --mask: url("img/common/bg_wave04.png");
    /* --mask:url("img/first/bg-block02.png"); */
    aspect-ratio: 1920 / 2539;
    height: auto;
    /* height: 253.9rem; */
    inset: 0 0 auto;
    margin: 0 auto;
}

.wave02::after {
    display: none;
}

#first .wave02::after,
#reason .wave02::after {
    --mask: url("img/common/bg_wave05.png");
    /* --mask:url("img/first/bg-block03.png"); */
    aspect-ratio: 1920 / 3498;
    height: auto;
    /* height: 349.8rem; */
    display: block;
    inset: auto 0 0;
    margin: auto;
    pointer-events: none;
}

#first .wave02::after {
    inset: 70rem 0 0;
}

#reason .wave02::after {
    inset: auto 0 0;
}

#main .l-single-works .picBox {
    padding-left: calc((100% - 120.0rem) / 2);
}

#main .l-single-works .picBox {
    margin: 8.5rem 0 0;
}

#main .l-single-works .picBox02 {
    margin: 0 0 5.0rem;
}

/* 
#main .l-single-works .picBox02 + .picBox02 {
    margin-top: 5.0rem;
} */

#main .l-single-works .picBox .picBox-wrapper {
    /* background: url("img/works/works-bg02.png") top center no-repeat transparent; */
    /* background-size: 100% 36.3rem; */
    /* background-position: top 7.0rem left; */

    /*background: repeating-linear-gradient(-45deg, #cddf94, #cddf94 .2rem, #d5e4a5 0, #d5e4a5 .6rem);
  background-size: 1.7rem 1.7rem;
  background-position: top 7.0rem left;*/

    /*background: repeating-linear-gradient(-45deg, #cddf94, #cddf94 .2rem, #d5e4a5 0, #d5e4a5 .6rem);
  background-size: 1.7rem 1.7rem;
  background-position: top 7.0rem left;  
  border-radius:2.0rem 0 0 2.0rem;*/
    position: relative;
    padding-right: calc((100% - 120.0rem) / 2);
    text-align: left;
    background: none;
}

#main .l-single-works .picBox .picBox-wrapper::before {
    content: "";
    display: block;
    position: absolute;
    width: 100vw;
    height: 36.3rem;
    inset: 0 auto 0 0;
    margin: auto 0;
    background: var(--background);
    border-radius: 2.0rem 0 0 2.0rem;
}

#main .l-single-works .picBox .picBox-wrapper .inner {
    display: flex;
    /* flex-direction: row-reverse; */
    justify-content: space-between;
    align-items: center;
    padding-left: 5.0rem;
    width: 115.0rem;
}

/* #main .l-single-works .picBox .btmPhoto {
    padding-top: 29.5rem;
} */
#main .l-single-works .picBox .btmPhoto::before {
    position: absolute;
    inset: 0 0 0 auto;
    margin: auto 0;
    content: "";
    display: block;
    width: 5.8rem;
    height: 3.8rem;
    background: #ff7608;
    --mask: url(img/common/svg_arrow04.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    transform: rotate(-90deg) translateY(230%);
}

#main .l-single-works .picBox span.before {
    position: absolute;
    top: 0;
    left: 0;
    /* background: #858585; */
    /* color: #ffffff; */
    display: inline-block;
    z-index: 10;
    font-size: 1.5rem;
    font-weight: bold;
    border-radius: 2.0rem 0 2.0rem 0;
    padding: .3rem 1.5rem .2rem;
}

#main .l-single-works .picBox .photo img,
#main .l-single-works .picBox .btmPhoto img {
    position: absolute;
    /* top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); */
    /* width: 100%;
    height: 100%;
    object-fit: cover; */
    border-radius: 2.0rem;
}

#main .l-single-works .picBox .btmPhoto a:hover,
#main .l-single-works .picBox .btmPhoto a:hover img {
    opacity: 1.0;
}

#main .l-single-works .picBox .arrowImg {
    margin: 22.0rem 4.0rem 0 0;
    float: right;
    width: 3.8rem;
}

#main .l-single-works .picBox .photo {
    margin-top: 1.5rem;
    margin-right: 1.0rem;
    margin-bottom: 1.0rem;
    border-radius: 2.0rem;
    box-shadow: 1.0rem 1.0rem 0px 0px #ff7608;

}

#main .l-single-works .picBox .photo a {
    display: block;
}

#main .l-single-works .picBox .photo a:hover,
#main .l-single-works .picBox .photo a:hover img {
    opacity: 1.0;
}

#main .l-single-works .picBox .photo span.after {
    position: absolute;
    top: 0px;
    left: 0px;
    /* background: var(--main-color01);
    color: #ffffff; */
    display: inline-block;
    z-index: 10;
    font-size: 1.5rem;
    font-weight: bold;
    border-radius: 2.0rem 0 2.0rem 0;
    padding: .3rem 1.5rem .2rem;
}

.l-single-works h4 {
    text-align: left;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.75;
}

.l-single-works-data {
    padding: 3.5rem 0;
}

.l-single-works-data .wysiwyg {
	margin: 3.5rem 0;
}

.l-single-works-data table {
    margin: 3.5rem 0;
    width: 100%;
    border-collapse: separate;
    border-radius: 2rem;
    overflow: hidden;
}

.l-single-works-data table tr th {
    width: 15.0rem;
    padding: 1.0rem .3rem;
    background: #ffb57b;
    border-right: calc(1 * var(--base-unit)) solid #FFFFFF;
    border-bottom: calc(1 * var(--base-unit)) solid #FFFFFF;
    text-align: center;
    font-weight: 700;
    line-height: 1.75;
}

.l-single-works-data table tr td {
    width: auto;
    padding: 1.0rem 2.0rem;
    background: #ffead9;
    border-bottom: calc(1 * var(--base-unit)) solid #FFFFFF;
    text-align: left;
    line-height: 1.75;
}

.l-single-works-data table tr:last-of-type th,
.l-single-works-data table tr:last-of-type td {
    border-bottom: none;
}

.l-single-works-data > div.clearfix > p {
    text-align: left;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-single-works-data > div.clearfix > p:first-of-type {
    border-bottom: calc(1 * var(--base-unit)) solid var(--main-color01);
    text-align: left;
    color: var(--main-color01);
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.75;
}

#main .l-single-works-data .cat a {
    display: inline-block !important;
    /* font-size: 1.6rem; */
    font-weight: 700;
    background: #FFFFFF;
    color: var(--main-color01) !important;
    margin: 0 .4rem .4rem 0;
    text-decoration: none;
    padding: 0 1.5rem;
    border-radius: 1.2rem;
    position: inherit;
}

#main .l-single-works-btn {
    padding-top: 3.5rem;
}

#main .l-single-works-data .photoUL .otherPhoto {
    width: 32.0rem;
    height: 24.0rem;
    position: relative;
    overflow: hidden;
    display: block;
}

#main .l-single-works-data .photoUL li {
    width: 32.0rem;
    padding: 0;
    float: left;
    background: none;
    font-size: 1.6rem;
    margin: 3.5rem 7.0rem 2.0rem 0;
}

#main .l-single-works-data .photoUL li:nth-child(3n) {
    margin: 3.5rem 0 2.0rem 0;
}

#main .l-single-works-data .photoUL .otherPhoto {
    border-radius: 2.0rem;
}

#main .l-single-works-data .photoUL li h5 {
    font-size: 2.2rem;
    display: block;
    margin: 1.0rem 0 0;
    padding: 0;
    background: none;
    color: var(--main-color01);
}

#main .l-single-works-data .photoUL li p {
    font-size: 0.9em;
    letter-spacing: -0.05em;
    text-align: justify;
}

#main .l-single-works .photoUL {
    margin: 3.0rem 0;
}

#main .l-single-works .naviUl {
    margin: 0 0 14.0rem !important;
    height: auto;
    position: relative;
}

/*
#main .l-single-works .pagenavi a {
    display: inline-block;
    border-radius: 100vh;
    background: var(--main-color01);
    padding: 0.277em 0.277em 0.277em 1.111em;
    width: 7.222em;
    text-align: center;
    transition: 0.7s;
    font-size: 1.8rem;
    font-weight: bold;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#main .l-single-works .pagenavi .list a {
    padding: 0.277em ;
}

#main .l-single-works .pagenavi .prev a {
    padding:  0.277em 1.111em 0.277em 0.277em;
}

#main .l-single-works .pagenavi li.prev::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.111em;
    left: inherit;
    margin: auto;
    content: "";
    vertical-align: middle;
    z-index: 2;
}

#main .l-single-works .pagenavi li.prev::after {
    right: 1.5em;
    width: 0.2em;
    height: 0.2em;
    border-top: calc(2 * var(--base-unit)) solid var(--main-color01);
    border-right: calc(2 * var(--base-unit)) solid var(--main-color01);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    z-index: 3;
}

#main .l-single-works .pagenavi li.next::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: auto;
    left: 1.111em;
    margin: auto;
    content: "";
    vertical-align: middle;
    z-index: 2;
}

#main .l-single-works .pagenavi li.next::after {
    left: 1.444em;
    width: 0.222em;
    height: 0.222em;
    border-top: calc(2 * var(--base-unit)) solid var(--main-color01);
    border-right: calc(2 * var(--base-unit)) solid var(--main-color01);
    -webkit-transform: rotate(225deg);
    transform: rotate(225deg);
    z-index: 3;
}
*/
.l-faq-block01 {
    padding-top: 9.0rem;
}

.l-faq-block01-faq {
    --qa-font-size: 4.0rem;
    padding-top: 6.5rem;
}

.l-faq-block01-faq h3 {
    border-radius: 2.0rem;
    background: #ffd9bb;
    min-height: 3.4rem;
    padding: 1.5rem 2.5rem 1.5rem calc(1.625 * var(--qa-font-size));
    text-align: left;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
    position: relative;
}

.l-faq-block01-faq h3::before,
.l-faq-block01-faq > div::before {
    font-size: var(--qa-font-size);
    font-family: var(--en-font-family);
    font-weight: 400;
    position: absolute;
    width: 1em;
    height: 1em;
    line-height: 1.5;
}

.l-faq-block01-faq h3::before {
    color: var(--main-color03);
    content: "Q";
    inset: 1rem auto auto 0.625em;
    margin: auto 0;
}

.l-faq-block01-faq > div::before {
    color: var(--main-color01);
    content: "A";
    inset: 1rem auto auto 0.625em;
    margin: auto 0;
}

.l-faq-block01-faq div,
.l-faq-block01-faq > p {
    text-align: left;
    padding: 1.5rem 2.5rem 0;
    font-size: 1.6rem;
    line-height: 1.75;
}

.l-faq-block01-faq > div {
    min-height: 3.4rem;
    text-align: left;
    padding: 1.5rem 2.5rem 0 calc(1.625 * var(--qa-font-size));
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    position: relative;
}

#main .submit .balloon {
    position: relative;
    padding: 1.0rem;
    width: 28.0rem;
    background: #1758be;
    color: #ffffff;
    line-height: 1.3;
    font-weight: bold;
    font-size: 1.3rem;
    border-radius: 1.0rem;
    margin: 1.5rem auto 0 auto;
}

#main .submit .balloon::before {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -1.5rem;
    margin: 0 0 0 0;
    display: block;
    width: 0;
    height: 0;
    border-right: calc(15 * var(--base-unit)) solid transparent;
    border-bottom: calc(15 * var(--base-unit)) solid #1758be;
    border-left: calc(15 * var(--base-unit)) solid transparent;
}

#main .submit .balloon p {
    margin-bottom: 0;
}

.h-page-title {
    border-radius: 2.0rem;
    background: #ffd9bb;
    padding: 1.5rem 2.5rem;
    text-align: left;
    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.h-page-title span {
    color: var(--main-color01);
}

.h-page-title02 {
    border-radius: 2.0rem;
    background: #ffd9bb;
    padding: 1.5rem 2.5rem;
    text-align: center;
    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
    position: relative;
    z-index: 1;
    --small-font-size: 1.8rem;
}

.h-page-title02:has(small) {
    margin-top: calc(var(--small-font-size) * 1.5);
}

.h-page-title02 small {
    display: block;
    font-size: var(--small-font-size);
    font-weight: 700;
    background: #fff;
    width: fit-content;
    border: calc(2 * var(--base-unit)) solid #cccccc;
    border-radius: 5px;
    position: absolute;
    inset: 0 auto auto 1.111em;
    margin: 0;
    padding: 0.777em 1.388em;
    line-height: 1.5;
    transform: translateY(-90%);
    box-sizing: border-box;
}

.h-page-title02 small::before,
.h-page-title02 small::after {
    content: "";
    position: absolute;
    display: block;
    clip-path: polygon(67% 0, 0 0, 100% 100%);
    transform: translateY(100%);
}

.h-page-title02 small::before {
    /* inset: auto auto calc(0 * var(--base-unit)) calc(60 * var(--base-unit)); */
    inset: auto auto 0px 60px;
    background: #cccccc;
    width: 35px;
    height: 16px;
}

.h-page-title02 small::after {
    /* inset: auto auto calc(1 * var(--base-unit)) calc(60 * var(--base-unit)); */
    inset: auto auto 1px 61px;
    background: #ffffff;
    width: 31px;
    height: 14px;
}

.h-page-title02 b {
    color: var(--orange);
    font-weight: 700;
}

.h-page-title02.bgtype02 {
    margin-top: 5.5rem;
}

.h-page-title02 label {
    display: inline-block;
    background: #ffb57b;
    border-radius: 2.0rem;
    position: absolute;
    z-index: 2;
    left: 6.5rem;
    top: 1.8rem;
    padding: .2rem 2.3rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.72;
    letter-spacing: 0em;
}

.h-page-title02.type02 {
    margin-top: 6.0rem;
}

.h-page-title02.afternone::after {
    display: none;
}

.h-page-title02 span.color01 {
    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.h-page-title02 span.color02 {
    color: #ef2525;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.h-page-title03 {
    margin-top: 6.0rem;
    border-radius: 2.0rem;
    background: #efdac8;
    padding: 1.0rem 2.0rem;
    text-align: center;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.h-page-title03 span {
    color: var(--main-color01);
}

.h-page-title04 {
    border-radius: 2.0rem;
    background: var(--main-color01);
    padding: 1.0rem 2.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.14;
    letter-spacing: 0em;
}

.h-page-title04.-blue {
    background: #2b79b0;
}

/*スタッフ紹介*/
#tabBoxes {
    padding-top: 3.0rem;
}

#tabBoxes * {
    box-sizing: border-box;
}

#staff #main .staffList {
    display: block;
    text-align: left;
    font-size: 0;
}

#staff #main .staffList li {
    background: none;
    float: none;
    margin: 0 0;
    width: calc(((100% - 2.0rem * 3) / 4) + 2.0rem);
    display: inline-block;
    vertical-align: top;
    padding-right: 2.0rem;
    padding-bottom: 2.0rem;
}

#staff #main .staffList li:nth-of-type(4n) {
    width: calc(((100% - 2.0rem * 3) / 4));
    display: inline-block;
    vertical-align: top;
    padding-right: 0;
}

#staff #main .staffList li a {
    text-decoration: none;
    display: block;
}

#staff #main .staffList li a .staffPict {
    width: 26.0rem;
    height: 34.6rem;
    position: relative;
    overflow: hidden;
    margin-bottom: 1.0rem;
}

#staff #main .staffList li a .staffPict img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#staff #main .staffList li a .overflowH .positionTxt {
    display: block;
    margin: 0;
}

#staff #main .staffList li a .overflowH .positionTxt span {
    border-radius: .4rem;
    background: var(--main-color01);
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: bold;
    display: inline-block;
    padding: .6rem .8rem;
    line-height: 1.2;
    margin-right: .5rem;
    margin-bottom: .7rem;
}

#staff #main .staffList li a .overflowH .staffName {
    color: var(--body-text-color);
    font-size: 2.3rem;
    line-height: 1.3;
    font-weight: bold;
}

#staff #main .staffList li a .overflowH .staffName span {
    color: #ff7608;
    font-size: 1.2rem;
    display: block;
}

#staff #main .staffList li a .overflowH .btnDetail {
    font-size: 1.4rem !important;
    margin: 1.0rem auto 0 !important;
    width: 15.0rem !important;
    background: right center var(--main-color01) url(img/common/svg_btn01.svg) no-repeat;
    background-size: 17.4rem 10.0rem;
    border-radius: 2.0rem;
    text-decoration: none;
    padding: 1.0rem 2.4rem 1.1rem 1.5rem;
    line-height: 1;
    font-weight: 500;
    color: #ffffff;
    position: relative;
    display: block;
    min-width: 15.0rem;
    text-align: left;
    box-sizing: border-box;
    box-shadow: none;
}

#staff #main .staffList li a .overflowH .btnDetail::before {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    right: 1.7rem;
    top: 0;
    bottom: 0;
    margin: auto 0;

    background: #ffffff;
    font-size: 2.6rem;
    width: 2.0rem;
    height: 2.0rem;
    border-radius: 50%;
}

#staff #main .staffList li a .overflowH .btnDetail::after {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    right: 1.7rem;
    top: 0;
    bottom: 0;
    margin: auto 0;

    background: var(--main-color01);
    width: .8rem;
    height: 1.3rem;
    -webkit-mask-image: url(img/common/svg_arrow02.svg);
    mask-image: url(img/common/svg_arrow02.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-size: contain;
    mask-size: contain;
    transform: translateX(-60%);
}

.l-page-staff {
    padding-top: 4.5rem;
}

.l-staff-block99 {
    background: #fff4ea;
    padding-bottom: 7.0rem;
}

.l-staff-block99-map {
    margin-top: 6.0rem;
}

.l-staff-block99-map iframe {
    width: 100%;
}

#staff #single-staff .staffProf {
    padding: 20px;
    background: #FFFFFF;
}

#staff #single-staff .staffProf .staffPict {
    width: 235px;
    height: 280px;
    position: relative;
    overflow: hidden;
    float: left;
    margin-right: 25px;
}

#staff #single-staff .staffProf .staffPict img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
}

#staff #single-staff .staffProf .profileDetail {
    overflow: hidden
}

#staff #single-staff .staffProf .profileDetail .positionTxt {
    margin-top: 0;
    font-size: 12px;
}

#staff #single-staff .staffProf .profileDetail .positionTxt span {
    font-size: 12px;
}

#staff #single-staff .staffProf .profileDetail .staffName {
    color: #2d2d2d;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

#staff #single-staff .staffProf .profileDetail .staffName span {
    display: inline-block;
    margin-left: 10px;
    color: #ff7608;

    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

#staff #single-staff .staffProf .profileDetail dl dt {
    background: var(--main-color01);
    color: #ffffff;
    font-size: 15px;
    font-weight: 900;
    display: block;
    padding: 3px 10px;
    margin: 15px 0 10px;
}

#staff #single-staff .staffProf .profileDetail dl dd {
    font-size: 15px;
}

#staff #single-staff .staffProf .staffContact {
    text-align: center;
    padding-top: 20px;
}

#staff #single-staff .staffProf .staffContact-title {
    border-radius: 20px;
    background: #ffd9bb;
    padding: 15px 25px;
    text-align: center;

    color: #111111;
    font-size: 22px;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

#staff #single-staff .staffProf .staffContact .contactTel {
    text-align: center;
    padding-top: 20px;
}

#staff #single-staff .staffProf .staffContact .contactTel .tel {
    display: inline-block;
    font-size: 16px;
}

#staff #single-staff .staffProf .staffContact .catchTxt {
    font-size: 16px;
}

#staff #single-staff .staffProf .staffContact .contactTel h4 {
    font-size: 16px;
}

#staff #single-staff .staffProf .staffContact .contactTel .tel-link {
    background: url(./img/common/svg_fdl.svg) no-repeat left center;
    background-size: 33px auto;
    color: #BC111A !important;
    font-size: 48px;
    line-height: 1;
    padding: 0 0 0 43px;
    margin: 0;
    display: block;
    font-family: var(--en-font-family);
}

#staff #single-staff .staffProf .staffContact .contactTel .tel-link a {
    color: #BC111A !important;
}

#staff #single-staff .staffProf .staffContact .catchTxt strong {
    color: #ef2525 !important;
}

.staffProf a#btnClose {
    font-size: 14px !important;
    margin: 30px auto 0 !important;
    width: 150px !important;
    background: right center var(--main-color03) url(img/common/svg_btn01.svg) no-repeat;
    background-size: 17.4rem 10.0rem;
    border-radius: 20px;
    text-decoration: none;
    padding: 10px 24px 11px 15px;
    line-height: 1;
    font-weight: 500;
    color: #ffffff;
    position: relative;
    display: block;
    min-width: 150px;
    text-align: center;
    box-sizing: border-box;
    box-shadow: none;
}

.staffProf a#btnClose::before {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    right: 17px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: #ffffff;
    font-size: 26px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
}

.staffProf a#btnClose::after {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    right: 17px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: var(--main-color03);
    width: 8px;
    height: 13px;
    -webkit-mask-image: url(img/common/svg_arrow02.svg);
    mask-image: url(img/common/svg_arrow02.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-size: contain;
    mask-size: contain;
    transform: translateX(-60%);
}

.reviewBox ul {
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
    box-sizing: border-box;
    height: auto;
    margin-bottom: 0;
}

.reviewBox ul li {
    font-size: 1.6rem;
    line-height: 1.5;
    margin: 0 0 0 0;
    position: relative;
    padding-left: 1.3rem;
    padding: 0;
    height: auto !important;
    width: 100% !important;
    background: rgba(255, 255, 255, 1.0);
    border-radius: .5rem;
    padding: 1.0rem;
    box-sizing: border-box;
}

.reviewBox ul li .wp-google-place {
    background: #ffebbd !important;
    margin: -1.0rem -1.0rem 1.0rem !important;
    border-radius: .5rem .5rem 0 0 !important;
    padding: 3.0rem 2.0rem !important;
    box-sizing: border-box !important;
}

.reviewBox ul li .wp-google-content-inner {
    position: relative !important;
    min-height: 100% !important;
    margin: 0 20px !important;
    height: 30.0rem;
    overflow: auto !important;
}

.reviewBox .wp-gr.wpac .wp-google-name span {
    font-size: 2.0rem !important;
}

/* .l-page-menu-nav */
.l-page-menu-nav {
    --col: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: left;
    margin-left: 6.0rem;
    margin-right: 6.0rem;
    padding-bottom: 8.0rem;
    /* grid-template-columns: repeat(2, minmax(0, 1fr)); */
    gap: 4.0rem 5.0rem;
}

.l-page-menu-nav > * {
    width: calc((100% - (5.0rem * var(--col))) / var(--col));
}

#roof .l-page-menu-nav,
#apartment .l-page-menu-nav {
    --col: 3;
}

.l-page-menu-nav p a.btn-arrow01,
.l-showroom-block02-1 .btn-arrow01 a {
    font-size: max(2.4rem, 18px);
}

.l-page-menu-nav p a.btn-arrow01 {
    width: 100%;
}

.l-showroom-block02-1 .btn-arrow01 a {
    min-width: min(100%, 40.0rem);
}

.l-page-menu-block01 {
    padding-top: 10.0rem;
}

.l-page-menu-block01 * {
    box-sizing: border-box;
}

#other .l-page-menu-block02,
#roof .l-page-menu-block02,
#wall .l-page-menu-block02,
#apartment .l-page-menu-block02 {
    margin-top: 3.0rem;
}

.l-page-menu-block02 * {
    box-sizing: border-box;
}

.l-page-menu-block02-block {
    padding-top: 4.0rem;
    display: block;
    text-align: left;
    font-size: 0;
}

.l-page-menu-block02-block-list {
    width: 33%;
    display: inline-block;
    vertical-align: top;
}

.l-page-menu-block02-block-list:nth-of-type(3n+1) {
    padding-right: 3.0rem;
}

.l-page-menu-block02-block-list:nth-of-type(3n+2) {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.l-page-menu-block02-block-list:nth-of-type(3n) {
    padding-left: 3.0rem;
}

.l-page-menu-block02-block-list-table {
    width: 100%;
    display: table;
    border-bottom: calc(3 * var(--base-unit)) dotted #ffaa67;
}

.l-page-menu-block02-block-list-table > div {
    padding: 2.0rem 0;
    display: table-cell;
    vertical-align: middle;
}

.l-page-menu-block02-block-list-table-left {
    width: 18.0rem;
    text-align: left;
}

.l-page-menu-block02-block-list-table-left picture {
    text-align: left;
}

.l-page-menu-block02-block-list-table-left picture img {
    width: 14.0rem;
    height: auto;
}

.l-page-menu-block02-block-list-table-right {
    width: auto;
    text-align: left;
}

.l-page-menu-block02-block-list-table-right p {
    text-align: left;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.66;
    letter-spacing: 0em;
}

.l-page-menu-block03 {
    padding-top: 6.0rem;
    background: #fff4ea;
}

#other .l-page-menu-block03,
#roof .l-page-menu-block03,
#wall .l-page-menu-block03,
#apartment .l-page-menu-block03 {
    background: transparent;
}

.l-page-menu-block03-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    padding: 3.5rem 8.5rem 3.5rem 6.0rem;
}

.l-page-menu-block03-box > div {
    display: block;
    padding-right: 21.5rem;
    background: url("img/common/img_character01.png") right center no-repeat;
    background-size: contain;
    min-height: 14.9rem;
}

.l-page-menu-block03-box > div h4 {
    display: block;
    padding-top: 1.0rem;
    text-align: left;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0em;
}

.l-page-menu-block03-box > div h4 span {
    text-align: left;
    color: var(--main-color01);

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0em;
}

.l-page-menu-block03-box > div p {
    display: block;
    padding-top: 3.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-page-menu-block04 {
    padding-top: 8.0rem;
    padding-bottom: 13.0rem;
    background: #fff4ea;
}

.l-page-menu-block04 * {
    box-sizing: border-box;
}

#other .l-page-menu-block04,
#roof .l-page-menu-block04,
#wall .l-page-menu-block04,
#apartment .l-page-menu-block04 {
    background: transparent;
}

.l-page-menu-block04 dl,
.l-page-menu-block04 > div > div {
    display: block;
    padding-top: 5.5rem;
}

.l-page-menu-block04 dl dt,
.l-page-menu-block04 > div > div h4 {
    display: block;
    text-align: left;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0em;
}

.l-page-menu-block04 dl dd,
.l-page-menu-block04 > div > div p {
    padding-top: 2.0rem;
    display: block;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-page-menu-block04 dl dd span,
.l-page-menu-block04 > div > div p span {
    text-align: left;
    color: #ef2525;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-page-menu-block04-image {
    padding-top: 5.5rem;
    text-align: center;
    font-size: 0;
}

.l-page-menu-block04-image picture {
    display: inline-block;
    vertical-align: top;
    padding: 0 2.0rem;
}

.l-page-menu-block04-image picture.type02 {
    display: block;
    padding: 0 2.0rem 4.0rem;
}

.l-page-menu-block04-image picture img {
    width: 40.0rem;
    height: auto;
}

.l-page-menu-block04-image picture.type02 img {
    width: 60.0rem;
    height: auto;
}

.l-page-menu-block05 {
    padding-bottom: 12.0rem;
    width: 100%;
    padding-top: 38.0rem;
    position: relative;
}

.l-page-menu-block05::before,
.l-page-menu-block05::after {
    content: "";
    width: 100%;
    height: 38.0rem;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
}

.l-page-menu-block05::before {
    background: #efdac8;
}

.l-page-menu-block05::after {
    background-image: url(img/common/bg_image03.jpg);
    background-repeat: no-repeat;
    background-position: center 22%;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

.l-page-menu-block05 .inner,
.l-page-menu-block06 .inner,
.l-page-menu-block08 .inner,
#menu .l-page-menu-block11 .inner {
    position: relative;
    z-index: 5;
    overflow: visible;
}

.l-page-menu-block05 .inner::before,
.l-page-menu-block06 .inner::before,
.l-page-menu-block08 .inner::before,
#menu .l-page-menu-block11 .inner::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 auto;
    transform: translateY(-10rem);
    background: #fff4ea;
    /* margin-top: -10.0rem; */
    padding: 10.0rem 0 10.0rem;
    border-radius: 50% 50% 0 0;
    height: 35rem;
    box-sizing: border-box;
}

.l-page-menu-block05.type02 {
    padding-top: 4.0rem;
    padding-bottom: 8.0rem;
    width: 100%;
    background: none;
}

.l-page-menu-block05-box {
    position: relative;
    border-radius: 2.0rem;
    background: #ffead9;
    border: calc(1 * var(--base-unit)) solid #ffaa67;
    padding: 4.5rem 6.0rem 5.5rem;
}
.l-page-menu-block05-box:has(.packCatch01){
    margin-top: 5.0rem;
}
.l-page-menu-block05-box .packCatch01{
    margin-top: -10.0rem;
    padding-bottom: 1rem;
}
.l-page-menu-block05-box.type02 {
    margin-top: 6.0rem;
}

.l-page-menu-block05-box dl,
.l-page-menu-block05-box > div {
    display: block;
}

.l-page-menu-block05-box dl dt,
.l-page-menu-block05-box > div h3 {
    display: block;
    text-align: center;
    color: #111111;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.99;
    letter-spacing: 0em;
}

.l-page-menu-block05-box dl dt span.color01,
.l-page-menu-block05-box > div h3 span.color01 {
    text-align: center;
    color: var(--main-color01);

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.54;
    letter-spacing: 0em;
}

.l-page-menu-block05-box dl dt span.color02,
.l-page-menu-block05-box > div h3 span.color02 {
    text-align: center;
    color: #ffb57b;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.54;
    letter-spacing: 0em;
}

.l-page-menu-block05-box dl dd,
.l-page-menu-block05-box > div p {
    padding-top: .5rem;
    display: block;
    text-align: center;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.77;
    letter-spacing: 0em;
}

.l-page-menu-block05-box-caution {
    padding-top: 1.0rem;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-page-menu-block05-box-caution.type02 {
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-page-menu-block05-box-caution span {
    text-align: center;
    color: #ef2525;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-page-menu-block05-caution {
    padding-top: 1.5rem;
    text-align: right;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-page-menu-block05-block {
    padding-top: 2.0rem;
    text-align: center;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto repeat(5, minmax(0, 1fr));
    gap: 0 4.0rem;
    margin-bottom: -4.0rem;
}

.l-page-menu-block05-block * {
    box-sizing: border-box;
}

.l-page-menu-block05-block-list {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 6;
    margin-bottom: 4.0rem;
}

/* 
.l-page-menu-block05-block-list:nth-of-type(3n+1) {
    padding-right: 2.8rem;
}

.l-page-menu-block05-block-list:nth-of-type(3n+2) {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
}

.l-page-menu-block05-block-list:nth-of-type(3n) {
    padding-left: 2.8rem;
} */

.l-page-menu-block05-block-list-title {
    border-radius: 2.0rem 2.0rem 0 0;
    padding: 3.5rem 2.0rem 2.0rem;
    background: #fcb163;
    grid-row: 1 / 2;
    display: grid;
    grid-template-rows: 1fr auto;
}

.l-page-menu-block05-block-list-title.-orange {
    background: #fcb163;
}

.l-page-menu-block05-block-list-title.-blue {
    background: #86a7c1;
}

.l-page-menu-block05-block-list-title.-green {
    background: #81bac0;
}

.l-page-menu-block05-block-list-title.-red {
    background: #c78a9d;
}

.l-page-menu-block05-block-list-title.-green2 {
    background: #b1c378;
}

.l-page-menu-block05-block-list-title.-purple {
    background: #9496c2;
}

.l-page-menu-block05-block-list-title h4 {
    padding-bottom: 2.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.38;
    align-self: center;
    margin: 0 -2.0rem;
    letter-spacing: -0.05em;
}

.l-page-menu-block05-block-list-title h4 .maker {
    font-size: max(1.6rem, var(--base-title-min));
    display: block;
}

.l-page-menu-block05-block-list-title h4 .maker::first-line {
    font-size: 2.6rem;
}

.l-page-menu-block05-block-list-title p {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 1.8rem 2.0rem;
    text-align: left;
    color: #111111;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-page-menu-block05-block-list-body {
    background: #FFFFFF;
    border-radius: 0 0 2.0rem 2.0rem;
    padding: 0 2.0rem;
    grid-row: 2 / 7;
}

.l-page-menu-block05-block-list-body01 {
    padding: 2.0rem .5rem;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-page-menu-block05-block-list-body02 {
    padding: 1.5rem .5rem;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block05-block-list-body02 dt {
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-page-menu-block05-block-list-body02 dd {
    text-align: center;
    color: #111111;
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.625;
}

.l-page-menu-block05-block-list-body03 {
    padding: 2.0rem .5rem;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block05-block-list-body03 dt {
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
}

.l-page-menu-block05-block-list-body03 dt .span01 {
    margin-right: .5rem;
    display: inline-block;
    background: #ebebeb;
    padding: 0 .7rem;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
}

.l-page-menu-block05-block-list-body03 dt .span02 {
    text-align: center;
    color: #ef2525;
    font-size: 3.8rem;
    font-weight: 900;
    line-height: 1.625;
}

.l-page-menu-block05-block-list-body03 dd {
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-page-menu-block05-block-list-body-btn {
    padding: 3.0rem .5rem 3.8rem;
    text-align: center;
}

.l-page-menu-block05-block-list-body-btn a {
    --c: #555;
    text-decoration: none;
    display: block;
    border-radius: 100vh;
    background: var(--c);
    min-height: 2.0rem;
    padding: 0.666em 2.777em 0.666em 1.333em;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.625;
    position: relative;
    max-width: min(100%, 186px);
    margin: 0 auto;
    box-sizing: border-box;
}

.l-page-menu-block05-block-list-body-btn a::before,
.l-page-menu-block05-block-list-body-btn a::after {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    right: 1.7rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

.l-page-menu-block05-block-list-body-btn a::before {
    background: #ffffff;
    font-size: calc(20 * var(--base-unit));
    width: 1em;
    height: 1em;
    border-radius: 50%;
}

.l-page-menu-block05-block-list-body-btn a::after {
    background: var(--c);
    width: calc(8 * var(--base-unit));
    height: calc(13 * var(--base-unit));
    --mask: url(img/common/svg_arrow02.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    transform: translateX(-60%);
}

.l-page-menu-block06 {
    padding-bottom: 12.0rem;
    width: 100%;
    padding-top: 38.0rem;
    position: relative;
}

.l-page-menu-block06::before,
.l-page-menu-block06::after {
    content: "";
    width: 100%;
    height: 38.0rem;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
}

.l-page-menu-block06::before {
    background: #efdac8;
}

.l-page-menu-block06::after {
    background-image: url(img/common/bg_image02.jpg);
    background-repeat: no-repeat;
    background-position: center 22%;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

.l-page-menu-block07 {
    padding-bottom: 12.0rem;
}

.l-page-menu-block07-message {
    padding-top: 5.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.875;
    letter-spacing: 0em;
}

.l-page-menu-block07-table {
    margin-top: 4.5rem;
    width: 100%;
    display: table;
}

.l-page-menu-block07-table > div {
    display: table-cell;
    vertical-align: middle;
}

.l-page-menu-block07-table-left {
    width: 56.0rem;
    text-align: left;
}

.l-page-menu-block07-table-left picture {
    text-align: left;
}

.l-page-menu-block07-table-left picture img {
    width: 50.0rem;
    height: auto;
}

.l-page-menu-block07-table-right {
    width: auto;
    text-align: center;
}

.l-page-menu-block07-table-right01 {
    padding-bottom: 4.5rem;
    text-align: left;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.66;
}

.l-page-menu-block07-table-right02 {
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
    padding: 3.0rem .5rem;
    text-align: center;
    color: #111111;
    font-size: 3.0rem;
    font-weight: 500;
    line-height: 1.85;
}

.l-page-menu-block07-table-right02 .span01 {
    margin-right: 1.0rem;
    display: inline-block;
    background: #ebebeb;
    padding: 0 .7rem;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
    position: relative;
    top: -1.5rem;
}

.l-page-menu-block07-table-right02 .span02 {
    text-align: center;
    color: #ef2525;
    font-size: 7.0rem;
    font-weight: 900;
    line-height: 1;
}

.l-page-menu-block08 {
    padding-bottom: 12.0rem;
    width: 100%;
    padding-top: 38.0rem;
    position: relative;
}

.l-page-menu-block08::before,
.l-page-menu-block08::after {
    content: "";
    width: 100%;
    height: 38.0rem;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
}

.l-page-menu-block08::before {
    background: #efdac8;
}

.l-page-menu-block08::after {
    background-image: url(img/common/bg_image_apartment.jpg);
    background-repeat: no-repeat;
    background-position: center 22%;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

#apartment .l-page-menu-block08 {
    padding-top: 10.0rem;
    padding-bottom: 0;
    width: 100%;
    background: none;
}

#apartment .l-page-menu-block08::before,
#apartment .l-page-menu-block08::after,
#apartment .l-page-menu-block08 .inner::before {
    display: none;
}

.l-page-menu-block08-image {
    padding-bottom: 8.0rem;
    text-align: center;
}

.l-page-menu-block08-image picture {
    text-align: center;
}

.l-page-menu-block08-image picture img {
    width: 100%;
    height: auto;
}

.l-page-menu-block08-table {
    width: 100%;
    display: table;
    position: relative;
}

.l-page-menu-block08-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-page-menu-block08-table-left {
    width: auto;
    text-align: left;
}

.l-page-menu-block08-table-left-title {
    padding-bottom: 5.0rem;
    text-align: center;
    color: #111111;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.54;
    letter-spacing: 0em;
}

.l-page-menu-block08-table-left-title span {
    text-align: center;
    color: #111111;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.54;
    letter-spacing: 0em;
}

.l-page-menu-block08-table-left-title span.color01 {
    text-align: center;
    color: var(--main-color01);

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.54;
    letter-spacing: 0em;
}

.l-page-menu-block08-table-left-block {
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.l-page-menu-block08-table-left-block p {
    border-radius: .5rem;
    width: 15.5rem;
    background: #b1841a;
    padding: 1.5rem .5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.45;
}

.l-page-menu-block08-table-left-block p.color01 {
    background: var(--main-color03)
}

.l-page-menu-block08-table-left-block p.color02 {
    background: var(--main-color01);
}

.l-page-menu-block08-table-left-block p.color03 {
    background: #ff7608;
}

.l-page-menu-block08-table-right {
    width: 54.0rem;
    text-align: right;
}

.l-page-menu-block08-table-right picture {
    text-align: right;
}

.l-page-menu-block08-table-right picture img {
    width: 50.0rem;
    height: auto;
}

.l-page-menu-block08-message {
    padding-top: 5.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-page-menu-block09 {
    padding-bottom: 6.0rem;
}

.l-page-menu-block09-inner {
    width: 71.0rem;
    margin: 0 auto;
}

.l-page-menu-block09-block {
    margin-top: 6.0rem;
    border-radius: 2.0rem;
    border: calc(4 * var(--base-unit)) dotted #cccccc;
    background: #FFFFFF;
    padding: 5.5rem 5.5rem;
}

.l-page-menu-block09-block-image {
    padding-top: 2.0rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.l-page-menu-block09-block-image picture {
    display: block;
}

.l-page-menu-block09-block-image picture img {
    width: 29.0rem;
    height: auto;
}

.l-page-menu-block09-block-caution {
    padding-top: .5rem;
    text-align: right;
    color: #111111;

    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-title {
    text-align: center;
    color: #111111;

    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-title span.color01 {
    text-align: center;
    color: var(--main-color01);

    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-title span.color02 {
    text-align: center;
    color: #ffb57b;

    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-title span.color03 {
    text-align: center;
    color: #f48058;

    font-size: 5.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-title span.color04 {
    text-align: center;
    color: #2b79b0;

    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-message {
    padding-top: 1.5rem;
    text-align: center;
    font-size: 0;
}

.l-page-menu-block09-block-message > p {
    display: inline-block;
    vertical-align: middle;
}

.l-page-menu-block09-block-message-block {
    border-radius: .5rem;
    width: 15.0rem;
    background: #111111;
    padding: .5rem .5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-message-plus {
    padding: 0 1.5rem;
    text-align: center;
    color: #111111;
    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1;
}

.l-page-menu-block09-block-message02 {
    padding-top: 1.5rem;
    text-align: center;
}

.l-page-menu-block09-block-message02 > p {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.625;
    letter-spacing: -0.05em;
}

.l-page-menu-block09-block-message02 > p span {
    text-align: center;
    color: #ef2525;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.625;
    letter-spacing: 0;
}

.l-page-menu-block09-block-box {
    margin-top: 2.0rem;
    border-radius: 1.0rem;
    background: #fff3ea;
    padding: 2.0rem 1.0rem 1.5rem;
    text-align: center;
    font-size: 0;
}

.l-page-menu-block09-block-box-block {
    display: inline-block;
    border-radius: .5rem;
    width: 8.0rem;
    background: var(--main-color01);
    padding: .5rem .5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-box-block.color01 {
    background: var(--main-color01);
}

.l-page-menu-block09-block-box-block.color02 {
    background: #ffb57b;
}

.l-page-menu-block09-block-box-block.color03 {
    background: #2b79b0;
}

.l-page-menu-block09-block-box-plus {
    display: inline-block;
    padding: 0 1.5rem;
    text-align: center;
    color: #111111;
    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;

    position: relative;
    top: .5rem;
}

.l-page-menu-block09-block-box-price {
    padding-top: 1.3rem;
}

.l-page-menu-block09-block-box-price p {
    text-align: center;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 900;
    line-height: 2.17;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-box-price p span.style01 {
    margin-right: 1.5rem;
    display: inline-block;
    background: #111111;
    padding: 0 1.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0em;

    position: relative;
    top: -.5rem;
}

.l-page-menu-block09-block-box-price p span.style02 {
    text-align: center;
    color: #111111;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-box-price p span.style03 {
    padding: 0 0;
    text-align: center;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
    display: inline-block;
    position: relative;
}

.l-page-menu-block09-block-box-price p span.style04 {
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
    letter-spacing: 0em;
}

.l-page-menu-block09-block-price {
    margin-top: 2.0rem;
    padding: 2.5rem 1.0rem;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block09-block-price + .l-page-menu-block09-block-price {
    margin-top: 0;
    border-top: 0;
}

.l-page-menu-block09-block-price dt {
    text-align: center;
    font-size: 3.0rem;
    font-weight: 700;
    line-height: 1.85;
}

.l-page-menu-block09-block-price dt b {
    font-size: 1.6rem;
    display: block;
    font-weight: 900;
    border: 1px solid currentColor;
    width: fit-content;
    margin: 0 auto 1.0rem;
    padding: 0 1.0rem;
}

.l-page-menu-block09-block-price dt span.span01 {
    margin-right: 1.0rem;
    display: inline-block;
    background: #ebebeb;
    padding: 0 .7rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
    letter-spacing: 0em;
    position: relative;
    top: -1.5rem;
}

.l-page-menu-block09-block-price dt span.span02 {
    text-align: center;
    color: #ef2525;
    font-size: 7.0rem;
    font-weight: 900;
    line-height: 1;
}

.l-page-menu-block09-block-price dd {
    padding-top: .5rem;
    text-align: center;
    color: #ef2525;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.08;
}

.l-page-menu-block09-block-box02 {
    margin-top: 2.5rem;
    border-radius: 1.0rem;
    background: #efefef;
    padding: 1.2rem .5rem;
}

.l-page-menu-block09-block-box02 p {
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.2;
}

.l-page-menu-block10 {
    padding-bottom: 12.0rem;
}

.l-page-menu-block10 h3 {
    text-align: center;
    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.07;
}

.l-page-menu-block10 h3 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.07;
}

.l-page-menu-block10-box {
    border-radius: 2.0rem;
    border: calc(2 * var(--base-unit)) solid #ffaa67;
    background: #FFFFFF;
    padding: 5.0rem 1.0rem;
}

.l-page-menu-block10-box picture {
    display: block;
    padding-top: 3.0rem;
    text-align: center;
}

.l-page-menu-block10-box picture img {
    width: 74.0rem;
    height: auto;
}

.l-page-menu-block10-box02 {
    margin-top: 6.0rem;
    border-radius: 2.0rem;
    background: #fff3ea;
    padding: 5.0rem 1.0rem;
}

.l-page-menu-block10-box02-table {
    display: table;
    margin: 3.0rem auto 0;
}

.l-page-menu-block10-box02-table-list {
    display: table-cell;
    vertical-align: top;
    padding: 0 4.0rem;
}

.l-page-menu-block10-box02-table-list picture {
    display: block;
    text-align: center;
}

.l-page-menu-block10-box02-table-list picture img {
    width: 20.0rem;
    height: auto;
}

.l-page-menu-block10-box02-table-list p {
    padding-top: .5rem;
    text-align: center;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.77;
}

.l-page-menu-block11 {
    padding-bottom: 7.0rem;
    width: 100%;
    padding-top: 38.0rem;
    position: relative;
}

#menu .l-page-menu-block11::before,
#menu .l-page-menu-block11::after {
    content: "";
    width: 100%;
    height: 38.0rem;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
}

#menu .l-page-menu-block11::before {
    background: #efdac8;
}

#menu .l-page-menu-block11::after {
    background-image: url(img/common/bg_image_othermenu.jpg);
    background-repeat: no-repeat;
    background-position: center 22%;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

#other .l-page-menu-block11,
#roof .l-page-menu-block11,
#wall .l-page-menu-block11,
#apartment .l-page-menu-block11,
#rainleaking .l-page-menu-block11 {
    padding-bottom: 7.0rem;
    width: 100%;
    background: none;
    padding-top: 3.0rem;
}

.l-page-menu-block11-inner {
    width: 71.0rem;
    margin: 0 auto 8.2rem;
}

.l-page-menu-block11-block {
    margin-top: 6.0rem;
    border-radius: 2.0rem;
    border: calc(4 * var(--base-unit)) dotted #cccccc;
    background: #FFFFFF;
    padding: 5.5rem 5.5rem;
}

.l-page-menu-block11-block-image {
    padding-bottom: 3.0rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.l-page-menu-block11-block-image picture {
    display: block;
}

.l-page-menu-block11-block-image picture img {
    width: 29.0rem;
    height: auto;
}

.l-page-menu-block11-block-box-price {
    padding-top: 1.3rem;
}

.l-page-menu-block11-block-box-price p {
    text-align: center;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 2.17;
    letter-spacing: 0em;
}

.l-page-menu-block11-block-box-price p span.style01 {
    margin-right: 1.5rem;
    display: inline-block;
    background: #111111;
    padding: 0 1.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.2;
    position: relative;
    top: -.5rem;
}

.l-page-menu-block11-block-box-price p span.style02 {
    text-align: center;
    color: #111111;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0em;
}

.l-page-menu-block11-block-box-price p span.style03 {
    padding: 0 0;
    text-align: center;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
    display: inline-block;
    position: relative;
}

.l-page-menu-block11-block-box-price p span.style04 {
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-page-menu-block11-block-price {
    width: 100%;
    display: table;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block11-block-price:last-of-type {
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block11-block-price > div {
    display: table-cell;
    vertical-align: middle;
    padding: 2.0rem 0 2.5rem;
}

.l-page-menu-block11-block-price-left {
    width: 20.0rem;
    text-align: center;
}

.l-page-menu-block11-block-price-left p {
    text-align: center;
    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.14;
}

.l-page-menu-block11-block-price-left p span {
    display: block;
    text-align: center;
    color: #111111;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.45;
}

.l-page-menu-block11-block-price-right {
    width: auto;
    text-align: right;
}

.l-page-menu-block11-block-price-right dl {
    display: block;
}

.l-page-menu-block11-block-price-right dl dt {
    text-align: center;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.85;
    letter-spacing: -0.05em;
}

.l-page-menu-block11-block-price-right dl dt span.span01 {
    margin-right: 1.0rem;
    display: inline-block;
    background: #ebebeb;
    padding: 0 .7rem;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
    letter-spacing: 0em;
    position: relative;
    top: -1.5rem;
}

.l-page-menu-block11-block-price-right dl dt span.span02 {
    text-align: center;
    color: #ef2525;
    font-family: var(--en-font-family);
    font-size: 6.0rem;
    font-weight: 900;
    line-height: 1;
}

.l-page-menu-block11-block-price-right dl dt span.span03 {
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.85;
    letter-spacing: -0.05em;
}

.l-page-menu-block11-block-price-right dl dd {
    padding-top: .5rem;
    text-align: right;
    color: #ef2525;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.08;
}

.l-page-menu-block11-table {
    margin-top: 2.0rem;
    width: 100%;
    display: block;
    text-align: left;
    font-size: 0;
}

#apartment .l-page-menu-block11-table {
    padding-bottom: 12.0rem;
}

.l-page-menu-block11-table * {
    box-sizing: border-box;
}

.l-page-menu-block11-table-list {
    width: 33%;
    display: inline-block;
    vertical-align: top;
    padding-top: 4.0rem;
}

.l-page-menu-block11-table-list:nth-of-type(3n+1) {
    padding-right: 2.8rem;
}

.l-page-menu-block11-table-list:nth-of-type(3n+2) {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
}

.l-page-menu-block11-table-list:nth-of-type(3n) {
    padding-left: 2.8rem;
}

.l-page-menu-block11-table-list-box {
    text-align: center;
    border-radius: 2.0rem;
    border: 2px solid #ffaa67;
    background: #FFFFFF;
    padding: 2.5rem 1.5rem;
}

.l-page-menu-block11-table-list-box picture {
    display: block;
    text-align: center;
    padding: 0 1.0rem;
}

.l-page-menu-block11-table-list-box picture img {
    width: 100%;
    height: auto;
}

.l-page-menu-block11-table-list-box01 {
    padding-top: 1.5rem;
    text-align: center;
    /* font-size: 1.8rem; */
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.77;
}

.l-page-menu-block11-table-list-box01 span {
    display: block;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1.28;
    letter-spacing: 0em;
}

.l-page-menu-block11-table-list-box02 {
    display: inline-block;
    padding-top: .5rem;
    text-align: center;
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 1.5;
}

.l-page-menu-block11-table-list-box02 .span01 {
    margin-right: 1.0rem;
    display: inline-block;
    background: #ebebeb;
    padding: 0 .7rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
    position: relative;
    top: -.7rem;
}

.l-page-menu-block11-table-list-box02 .span02 {
    text-align: center;
    color: #ef2525;
    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1.39;
}

.l-page-menu-block11-table-list-box03 {
    display: inline-block;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-page-menu-block11-table-list-box04 {
    text-align: center;
    color: #ef2525;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.625;
}

.l-page-menu-block12 > .inner > figure {
    display: block;
    padding-top: 6.0rem;
    display: flex;
    gap: 5.0rem 0;
    align-items: flex-start;
    justify-content: space-between;
}

.l-page-menu-block12 figure figure:last-of-type {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column-reverse;
    gap: 10px;
}

.l-page-menu-block12 figure figure:last-of-type img {
    border-radius: 100vh;
}

.l-page-menu-block12 figure figure:last-of-type figcaption {
    background: var(--main-color01);
    color: #ffffff;
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.2;
    border-radius: 6px;
    /* width: 100%; */
    display: block;
    text-align: center;
    padding: 1.1rem 3.0rem;
    box-sizing: border-box;
}

.l-page-menu-block12 table {
    margin-top: 6.0rem;
}

.l-page-menu-block12 table th {
    width: auto;
}

/* 
.l-page-menu-block12 table tr th {
    background: #e5e6e0;
    padding: 1.0rem 3.0rem;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-menu-block12 table tr th.th-01 {
    border-radius: 2.0rem 0 0 0;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block12 table tr th.th-02 {
    border-radius: 0 2.0rem 0 0;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block12 table tr td {
    padding: 1.0rem 3.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-menu-block12 table tr td.td-01 {
    background: #efdac8;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block12 table tr td.td-02 {
    background: #FFFFFF;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
} */

.l-page-menu-block12 table strong {
    text-align: left;
    color: #ef2525;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-page-menu-block12 table td b {
    margin-right: 1.5rem;
    padding: 0 5px;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.5;
    display: inline-block;
    color: #ffffff;
    background: #333333;
    border-radius: 2px;
}

/* .l-page-menu-block12 table tr:last-of-type td.td-01 {
    border-radius: 0 0 0 2.0rem;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block12 table tr:last-of-type td.td-02 {
    border-radius: 0 0 2.0rem 0;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
} */

.l-page-menu-block13 {
    padding-top: 6.0rem;
    padding-bottom: 7.0rem;
}

.l-page-menu-block13-back {
    border-radius: 2.0rem;
    position: relative;
    z-index: 1;
    padding: 6.0rem 0;
    text-align: center;
}

.l-page-menu-block13-inner {
    width: 71.0rem;
    margin: 0 auto;
}

.l-page-menu-block13-block {
    margin-top: 6.0rem;
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 5.5rem 0;
    text-align: center;
}

.l-page-menu-block13-block:first-of-type {
    margin-top: 2.5rem;
}

.l-page-menu-block13 .titleRibbon01 {
    font-size: 2.8rem;
}

.l-page-menu-block13-block-title {
    display: block;
    text-align: center;
}

.l-page-menu-block13-block-title dt {
    display: inline-block;
    padding: 0 3.0rem;
    text-align: center;
    color: var(--main-color01);
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1;
    position: relative;
}

.l-page-menu-block13-block-title dt::before,
.l-page-menu-block13-block-title dt::after {
    content: "|";
    display: inline-block;
}

.l-page-menu-block13-block-title dt::before {
    transform: skew(20deg) translateY(-10%);
    padding-right: 20px;
}

.l-page-menu-block13-block-title dt::after {
    transform: skew(-20deg) translateY(-10%);
    padding-left: 20px;
}

.l-page-menu-block13-block-title dd {
    padding-top: 1.5rem;
    display: block;
    text-align: center;
    font-size: 5.0rem;
    font-weight: 900;
    line-height: 1;
}

.l-page-menu-block13-image {
    padding-top: 3.5rem;
    text-align: center;
}

.l-page-menu-block13-image.type02 {
    padding-left: 3.5rem;
}

.l-page-menu-block13-image picture {
    text-align: center;
}

.l-page-menu-block13-image picture img {
    width: 59.0rem;
    height: auto;
}

.l-page-menu-block13-image.type02 picture img {
    width: 62.5rem;
    height: auto;
}

.l-page-menu-block13-message {
    margin-top: 4.0rem;
    margin-bottom: 2.0rem;
    display: inline-block;
    background: #d75c5c;
    border-radius: 1.0rem;
    padding: 1.0rem 2.5rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.14;
    letter-spacing: -0.05em;
}

.l-page-menu-block13-message.type02 {
    background: #ff7608;
}

.l-page-menu-block13-block-price-wrapper {
    padding: 0 5.5rem;
}

.l-page-menu-block13-block-price {
    margin-top: 2.0rem;
    padding: 2.5rem 1.0rem;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-menu-block13-block-price dt {
    text-align: center;
    color: #111111;
    font-size: 3.0rem;
    font-weight: 500;
    line-height: 1.85;
    letter-spacing: 0em;
}

.l-page-menu-block13-block-price dt span.span01 {
    margin-right: 1.0rem;
    display: inline-block;
    background: #ebebeb;
    padding: 0 .7rem;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
    letter-spacing: 0em;
    position: relative;
    top: -1.5rem;
}

.l-page-menu-block13-block-price dt span.span02 {
    text-align: center;
    color: #ef2525;

    font-size: 7.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-menu-block13-block-price dd {
    padding-top: .5rem;
    text-align: center;
    color: #ef2525;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: 0em;
}

.l-page-menu-block13-block-box02 {
    margin-top: 2.5rem;
    border-radius: 1.0rem;
    background: #e5e6e0;
    padding: 1.2rem .5rem;
}

.l-page-menu-block13-block-box02 p {
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0em;
}

.l-page-menu-block13-caution {
    padding-top: 1.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-menu-block13-caution span {
    padding-top: 1.5rem;
    text-align: left;
    color: #ef2525;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-smallworks-block01 picture {
    display: block;
    padding-top: 6.0rem;
}

.l-page-smallworks-block01 picture.type02 {
    padding-top: 3.0rem;
}

.l-page-smallworks-block01 picture img {
    width: 100%;
    height: auto;
}

.l-page-smallworks-block01-message {
    padding: 5.0rem 0 9.0rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    position: relative;
    max-width: min(90.0rem, 100%);
    margin-left: auto;
    margin-right: auto;
}

.l-page-smallworks-block01-message::before {
    position: absolute;
    inset: auto 0 0;
    margin: 0 auto;
    content: "";
    display: block;
    width: 5.0rem;
    height: 3.5rem;
    background: var(--main-color03);
    --mask: url(img/common/svg_arrow04.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-page-smallworks-block01-message.type02 {
    padding: 5.0rem 10.0rem 0;
}

.l-page-smallworks-block01-message.type02::before {
    display: none;
}

.l-page-smallworks-block01 h4 {
    padding-top: 2.0rem;
    text-align: center;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-page-smallworks-block01 h4 span {
    text-align: center;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.54;
}

.l-page-smallworks-block01 h4 span.color01 {
    color: var(--main-color01);
}

.l-page-smallworks-block01 h4 span.color02 {
    color: #ffb57b;
}

.l-page-smallworks-block02 {
    padding: 10.0rem 0 0;
}

.l-page-smallworks-block02-message {
    padding-top: 5.0rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-page-smallworks-block02-inner {
    width: 71.0rem;
    margin: 0 auto;
}

.l-page-smallworks-block02-image {
    display: block;
    padding-top: 7.0rem;
    text-align: center;
}

.l-page-smallworks-block02-image img {
    width: 100%;
    height: auto;
}

.l-page-smallworks-block02-block {
    padding-top: 4.5rem;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 3.0rem;
}

.l-page-smallworks-block02-block-image {
    width: 50%;
}

.l-page-smallworks-block02-block-image picture img {
    width: 34.0rem;
    height: auto;
}

.l-page-smallworks-block02-block-image p {
    padding-top: 1.0rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.375;
}

.l-page-smallworks-block02-block-text {
    align-self: center;
    margin: 5rem 0;
}

.l-page-smallworks-block02-block-text p + p {
    margin-top: 1em;
}

.l-page-smallworks-block03 {
    padding-bottom: 12.0rem;
}

.l-page-smallworks-block03-table {
    margin-top: 6.0rem;
    width: 100%;
    display: table;
}

.l-page-smallworks-block03-table > div {
    display: table-cell;
    vertical-align: top;
    text-align: left;
}

.l-page-smallworks-block03-table-left {
    width: 45.0rem;
}

.l-page-smallworks-block03-table-left picture {
    text-align: left;
}

.l-page-smallworks-block03-table-left picture img {
    width: 42.0rem;
    height: auto;
}

.l-page-smallworks-block03-table-right {
    width: auto;
}

.l-page-smallworks-block03-table-right > div {
    display: block;
}

.l-page-smallworks-block03-table-right > div h4 {
    display: block;
    text-align: left;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.41;
    letter-spacing: 0em;
}

.l-page-smallworks-block03-table-right > div p {
    display: block;
    padding-top: 2.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-page-smallworks-block03.type02,
.l-page-smallworks-block03.type03,
.l-page-smallworks-block03.type04 {
    padding-bottom: 12.0rem;
    width: 100%;
    padding-top: 27.5rem;
    position: relative;
}

.l-page-smallworks-block03.type02::before,
.l-page-smallworks-block03.type02::after,
.l-page-smallworks-block03.type03::before,
.l-page-smallworks-block03.type03::after,
.l-page-smallworks-block03.type04::before,
.l-page-smallworks-block03.type04::after {
    content: "";
    width: 100%;
    height: 38.0rem;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: block;
    position: absolute;
}

.l-page-smallworks-block03.type02::before,
.l-page-smallworks-block03.type03::before,
.l-page-smallworks-block03.type04::before {
    background: #efdac8;
}

.l-page-smallworks-block03.type02::after {
    background-image: url(img/common/bg_image05.jpg);
    background-repeat: no-repeat;
    background-position: center 22%;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

.l-page-smallworks-block03.type03::after {
    background-image: url(img/common/bg_image_rainleaking.jpg);
    background-repeat: no-repeat;
    background-position: center 22%;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

.l-page-smallworks-block03.type04::after {
    background-image: url(img/common/bg_image04.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    --s: 80.0rem;
    --mask: radial-gradient(circle, hsl(0, 0%, 0%) 0%,
            hsla(0, 0%, 0%, 0.987) calc(0.081 * var(--s)),
            hsla(0, 0%, 0%, 0.951) calc(0.155 * var(--s)),
            hsla(0, 0%, 0%, 0.896) calc(0.225 * var(--s)),
            hsla(0, 0%, 0%, 0.825) calc(0.29 * var(--s)),
            hsla(0, 0%, 0%, 0.741) calc(0.353 * var(--s)),
            hsla(0, 0%, 0%, 0.648) calc(0.412 * var(--s)),
            hsla(0, 0%, 0%, 0.55) calc(0.471 * var(--s)),
            hsla(0, 0%, 0%, 0.45) calc(0.529 * var(--s)),
            hsla(0, 0%, 0%, 0.352) calc(0.588 * var(--s)),
            hsla(0, 0%, 0%, 0.259) calc(0.647 * var(--s)),
            hsla(0, 0%, 0%, 0.175) calc(0.71 * var(--s)),
            hsla(0, 0%, 0%, 0.104) calc(0.775 * var(--s)),
            hsla(0, 0%, 0%, 0.049) calc(0.845 * var(--s)),
            hsla(0, 0%, 0%, 0.013) calc(0.919 * var(--s)),
            hsla(0, 0%, 0%, 0) calc(1 * var(--s)));
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center 22%;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center 22%;
}

.l-page-smallworks-block03.type06 {
    padding-bottom: 12.0rem;
    width: 100%;
    padding-top: 26.0rem;
    position: relative;
}

.l-page-smallworks-block03-inner {
    width: 134.0rem;
    margin: 0 auto;
    z-index: 5;
    position: relative;
}

#other .l-showroom-block06,
#roof .l-showroom-block06,
#wall .l-showroom-block06,
#apartment .l-showroom-block06,
#menu .l-showroom-block06,
#result_cmp .l-showroom-block06,
#rainleaking .l-showroom-block06,
#subsidy .l-showroom-block06,
#seminar .l-showroom-block06,
#campaign .l-showroom-block06,
.menuPage .l-showroom-block06,
#diagnosis .l-showroom-block06 {
    padding-top: 0;
}

.l-page-line {
    padding: 0 0 7.0rem;
}

.l-page-line-box {
    display: block;
    border-radius: 2.0rem;
    border: calc(2 * var(--base-unit)) solid #ffaa67;
    background: #ffead9;
    padding: 4.0rem 1.0rem 3.5rem;
}

.l-page-line-box-image {
    display: block;
    text-align: center;
}

.l-page-line-box-image img {
    width: 59.0rem;
    height: auto;
}

.l-page-line-box-table {
    display: table;
    margin: 1.5rem auto 0;
}

.l-page-line-box-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-page-line-box-table-left {
    text-align: right;
    padding-right: 2.4rem;
}

.l-page-line-box-table-left-image {
    text-align: right;
}

.l-page-line-box-table-left-image img {
    width: 56.0rem;
    height: auto;
}

.l-page-line-box-table-right {
    text-align: left;
    padding-left: 2.4rem;
    padding-top: 2.8rem;
}

.l-page-line-box-table-right-image {
    text-align: left;
}

.l-page-line-box-table-right-image img {
    width: 38.6rem;
    height: auto;
}

.l-page-roof-block01 {
    padding-top: 10.0rem;
}

.l-page-roof-block01.type02 {
    padding-top: 7.0rem;
    padding-bottom: 7.0rem;
}

.l-page-roof-block01 * {
    box-sizing: border-box;
}

.l-page-roof-block02,
.l-page-wall-block02 {
    padding-bottom: 8.0rem;
}

.l-page-roof-block02-box,
.l-page-wall-block02-box:has(.l-page-wall-block02-box-header) {
    margin-top: 6.0rem;
    border-radius: 2.5rem;
    overflow: hidden;
    border: calc(1 * var(--base-unit)) solid #ccc;
    --c: #ccc;
    background: #ffffff;
}

.l-page-roof-block02-box:nth-of-type(1) {
    --c: #fcb163
}

.l-page-roof-block02-box:nth-of-type(2) {
    --c: #86a7c1
}

.l-page-roof-block02-box:nth-of-type(3) {
    --c: #81bac0
}

.l-page-roof-block02-box:nth-of-type(4) {
    --c: #c78a9d
}

.l-page-roof-block02-box:nth-of-type(5) {
    --c: #b1c378
}

.l-page-roof-block02-box:nth-of-type(6) {
    --c: #9496c2
}


.l-page-wall-block02-box:nth-of-type(1) {
    --c: #fcb163
}

.l-page-wall-block02-box:nth-of-type(2) {
    --c: #86a7c1
}

.l-page-wall-block02-box:nth-of-type(3) {
    --c: #81bac0
}

.l-page-wall-block02-box:nth-of-type(4) {
    --c: #c78a9d
}

.l-page-wall-block02-box:nth-of-type(5) {
    --c: #b1c378
}

.l-page-wall-block02-box:nth-of-type(6) {
    --c: #9496c2
}

.l-page-roof-block02-box:first-of-type,
.l-page-wall-block02-box:first-of-type {
    margin-top: 0;
}

.l-page-roof-block02-box-header,
.l-page-wall-block02-box-header {
    /* border-bottom: calc(1 * var(--base-unit)) solid var(--c); */
    background: var(--c);
    /* border-radius: 2.5rem 2.5rem 0 0; */
    padding: 1.5rem 3.5rem;
    text-align: left;
}

/* 
.l-page-roof-block02-box-header.-orange {
    border-bottom: calc(1 * var(--base-unit)) solid #fcb163;
    background: #fcb163;
}

.l-page-roof-block02-box-header.-blue {
    border: calc(1 * var(--base-unit)) solid #86a7c1;
    background: #86a7c1;
}

.l-page-roof-block02-box-header.-green {
    border: calc(1 * var(--base-unit)) solid #81bac0;
    background: #81bac0;
}

.l-page-roof-block02-box-header.-red {
    border: calc(1 * var(--base-unit)) solid #c78a9d;
    background: #c78a9d;
}

.l-page-roof-block02-box-header.-green2 {
    border: calc(1 * var(--base-unit)) solid #b1c378;
    background: #b1c378;
}

.l-page-roof-block02-box-header.-purple {
    border: calc(1 * var(--base-unit)) solid #9496c2;
    background: #9496c2;
} */

.l-page-roof-block02-box-header p,
.l-page-wall-block02-box-header p {
    text-align: left;
    color: #FFFFFF;
    font-size: max(1.7rem, var(--base-title-min));
    font-weight: 500;
    line-height: 1.66;
}

.l-page-roof-block02-box-title,
.l-page-wall-block02-box-title {
    border-bottom: calc(1 * var(--base-unit)) solid #ccc;
    /* background: #efdac8; */
    background: #ffead9;
    padding: 3.0rem .5rem;
    text-align: center;
}

.l-page-roof-block02-box-title h4,
.l-page-wall-block02-box-title h4 {
    text-align: center;
    color: #111111;
    font-size: 6.0rem;
    font-weight: 900;
    line-height: 1.16;
    letter-spacing: 0em;
}

.l-page-roof-block02-box-title h4 span,
.l-page-wall-block02-box-title h4 span {
    display: inline-block;
    text-align: center;
    color: var(--c);
    font-size: 4.6rem;
    font-weight: 900;
    line-height: 1.52;
    letter-spacing: 0em;
}

/* .l-page-roof-block02-box-title h4 span.-orange {
    color: #fcb163;
}

.l-page-roof-block02-box-title h4 span.-blue {
    color: #86a7c1;
}

.l-page-roof-block02-box-title h4 span.-green {
    color: #81bac0;
}

.l-page-roof-block02-box-title h4 span.-red {
    color: #c78a9d;
}

.l-page-roof-block02-box-title h4 span.-green2 {
    color: #b1c378;
}

.l-page-roof-block02-box-title h4 span.-purple {
    color: #9496c2;
} */

/* .l-page-roof-block02-box-title p.-orange {
    background: #fcb163;
}

.l-page-roof-block02-box-title p.-blue {
    background: #86a7c1;
}

.l-page-roof-block02-box-title p.-green {
    background: #81bac0;
}

.l-page-roof-block02-box-title p.-red {
    background: #c78a9d;
}

.l-page-roof-block02-box-title p.-green2 {
    background: #b1c378;
}

.l-page-roof-block02-box-title p.-purple {
    background: #9496c2;
} */

.l-page-roof-block02-box-title p,
.l-page-wall-block02-box-title p {
    margin-top: 1.0rem;
    display: inline-block;
    background: #fcb163;
    padding: .7rem 5.5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: max(1.8rem, var(--base-title-min));
    font-weight: 900;
    line-height: 1.57;
    max-width: calc(100% - 2rem);
}

.l-page-roof-block02-box-table,
.l-page-wall-block02-box-table {
    background: #FFFFFF;
    width: 100%;
    display: table;
}

.l-page-roof-block02-box-table {
    border-bottom: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-page-roof-block02-box-table > div,
.l-page-wall-block02-box-table > div {
    display: table-cell;
    vertical-align: middle;
}

.l-page-roof-block02-box-table-left,
.l-page-wall-block02-box-table-left {
    width: auto;
}

.l-page-roof-block02-box-table-left {
    text-align: left;
    padding: 0 2.0rem;
}

.l-page-wall-block02-box-table-left {
    text-align: center;
    padding: 2.0rem 3.0rem;
}

.l-page-roof-block02-box-table-left-sub,
.l-page-wall-block02-box-table-left-sub {
    display: inline-block;
    background: #111111;
    text-align: center;
    color: #FFFFFF;
    font-weight: 500;
    font-size: 2.0rem;
    border-radius: .7rem;
    padding: 1.0rem 2.0rem;
    line-height: 1.42;
}

.l-page-roof-block02-box-table-left-sub {
    letter-spacing: 0em;
}

.l-page-wall-block02-box-table-left-sub {
    margin-top: 4.5rem;
    margin-right: 5.5rem;
    display: inline-block;
    vertical-align: top;
}

.l-page-roof-block02-box-table-left-price,
.l-page-wall-block02-box-table-left-price {
    text-align: center;
    color: #111111;
    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-wall-block02-box-table-left-price {
    display: inline-block;
}

.l-page-roof-block02-box-table-left-price span.span01,
.l-page-wall-block02-box-table-left-price span.span01 {
    text-align: left;
    color: #ef2525;
    font-size: 11.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-roof-block02-box-table-left-price span.span02,
.l-page-wall-block02-box-table-left-price span.span02 {
    text-align: left;
    color: #ef2525;
    font-size: 7.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-roof-block02-box-table-left-price label,
.l-page-wall-block02-box-table-left-price label {
    margin-left: 1.5rem;
    display: inline-block;
    padding: .7rem 1.0rem;
    background: #111111;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-roof-block02-box-table-left-caution,
.l-page-wall-block02-box-table-left-caution {
    padding-top: 1.0rem;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8325;
    letter-spacing: 0em;
}

.l-page-wall-block02-box-table-left-caution {
    text-align: right;
}

.l-page-roof-block02-box-table-right,
.l-page-wall-block02-box-table-right {
    width: 46.5rem;
}

.l-page-roof-block02-box-table-right picture,
.l-page-wall-block02-box-table-right picture {
    text-align: center;
}

.l-page-roof-block02-box-table-right picture img,
.l-page-wall-block02-box-table-right picture img {
    width: 46.5rem;
}

.l-page-roof-block02-box-block {
    /* border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-right: calc(1 * var(--base-unit)) solid #ffaa67; */
    padding: 5.0rem 6.0rem;
    background: #FFFFFF;
}

.l-page-roof-block02-box-block-title,
.l-page-wall-block02-box-block-title {
    border-radius: 2.5rem;
    background: #efdac8;
    padding: 1.2rem 1.0rem;
    text-align: center;
    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.78;
    letter-spacing: 0em;
}

.l-page-roof-block02-box-block-table,
.l-page-wall-block02-box-block-table {
    margin-top: 8.0rem;
    width: 100%;
    display: table;
}

.l-page-roof-block02-box-block-table > div,
.l-page-wall-block02-box-block-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-page-roof-block02-box-block-table-left,
.l-page-wall-block02-box-block-table-left {
    width: auto;
    text-align: left;
    /* padding-right: 4.0rem; */
}

.l-page-roof-block02-box-block-table-left-title,
.l-page-wall-block02-box-block-table-left-title {
    display: block;
    text-align: left;
}

.l-page-roof-block02-box-block-table-left-title h4,
.l-page-wall-block02-box-block-table-left-title h4 {
    display: block;
    text-align: left;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.2;
}

.l-page-roof-block02-box-block-table-left-title h5,
.l-page-wall-block02-box-block-table-left-title h5,
.l-page-wall-block02-box-block-table-left > dl > dt {
    display: block;
    text-align: left;
    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.2;
    margin-bottom: 0.5em;
}

.l-page-roof-block02-box-block-table-left-title div,
.l-page-wall-block02-box-block-table-left-title div {
    padding-top: 1.5rem;
    display: block;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.8125;
}

.l-page-roof-block02-box-block-table-left .l-page-roof-block02-box-block-table-left-title > div > p + p,
.l-page-roof-block02-box-block-table-left .l-page-roof-block02-box-block-table-left-title > div > div + p,
.l-page-roof-block02-box-block-table-left .l-page-roof-block02-box-block-table-left-title > div > p + div,
.l-page-roof-block02-box-block-table-left .l-page-roof-block02-box-block-table-left-title > div > div + div,
.l-page-wall-block02-box-block-table-left > dl dd > p + p,
.l-page-wall-block02-box-block-table-left > dl dd > div + p,
.l-page-wall-block02-box-block-table-left > dl dd > p + div,
.l-page-wall-block02-box-block-table-left > dl dd > div + div {
    margin-top: 1.5em;
}

.l-page-roof-block02-box-block-table-left + .l-page-roof-block02-box-block-table-right,
.l-page-wall-block02-box-block-table-left + .l-page-wall-block02-box-block-table-right {
    padding-left: 4.0rem;
}

.l-page-roof-block02-box-block-table-right,
.l-page-wall-block02-box-block-table-right {
    text-align: center;
    /* width: 28.8rem; */
    width: fit-content;
}

.l-page-roof-block02-box-block-table-right picture,
.l-page-wall-block02-box-block-table-right picture {
    text-align: center;
}

.l-page-roof-block02-box-block-table-right picture img,
.l-page-wall-block02-box-block-table-right picture img {
    max-width: 28.8rem;
    /* max-width: 22.0rem; */
    height: auto;
}

.l-page-roof-block02-box-table02,
.l-page-wall-block02-box-table02 {
    margin: 4.8rem auto 0;
    display: table;
}

.l-page-roof-block02-box-table02-list,
.l-page-wall-block02-box-table02-list {
    display: table-cell;
    vertical-align: top;
    padding: 0 3.0rem;
}

.l-page-roof-block02-box-table02-list-table,
.l-page-wall-block02-box-table02-list-table {
    display: flex;
    margin: 0 auto;
    border-radius: 1.0rem;
    border: calc(1 * var(--base-unit)) solid #ccc;
    overflow: hidden;
    box-sizing: border-box;
}

/* .l-page-roof-block02-box-table02-list-table > p {
    flex:1;
    display: table-cell;
    vertical-align: middle; 
} */

.l-page-roof-block02-box-table02-list-table-left,
.l-page-wall-block02-box-table02-list-table-left {
    border-right: calc(1 * var(--base-unit)) solid #ccc;
    width: 16.0rem;
    /* border-radius: 1.0rem 0 0 1.0rem; */
    padding: 1.5rem 1.0rem;
    background: #fcb163;
    background: var(--c);
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.8125;
}

/* .l-page-roof-block02-box-table02-list-table-left.-orange {
    background: #fcb163;
}

.l-page-roof-block02-box-table02-list-table-left.-blue {
    background: #86a7c1;
}

.l-page-roof-block02-box-table02-list-table-left.-green {
    background: #81bac0;
}

.l-page-roof-block02-box-table02-list-table-left.-red {
    background: #c78a9d;
}

.l-page-roof-block02-box-table02-list-table-left.-green2 {
    background: #b1c378;
}

.l-page-roof-block02-box-table02-list-table-left.-purple {
    background: #9496c2;
} */

.l-page-roof-block02-box-table02-list-table-right,
.l-page-wall-block02-box-table02-list-table-right {
    /* border: calc(1 * var(--base-unit)) solid #ffaa67; */
    width: 20.0rem;
    /* border-radius: 0 1.0rem 1.0rem 0; */
    padding: 1.5rem 1.0rem;
    background: #FFFFFF;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.8125;
}

.l-page-roof-block02-box-block02,
.l-page-wall-block02-box-block02 {
    --background: repeating-linear-gradient(135deg, #e7c7ac, #e7c7ac 3px, #efdac8 0, #efdac8 8px);
    background: var(--background);
}

.l-page-roof-block02-box-block02 {
    padding: 4.5rem 0 8.0rem;
}

.l-page-wall-block02-box-block02 {
    padding: 4.5rem 0 8.0rem;
    margin-top: 5rem;
    border-radius: 2rem;
}

.l-page-menu-data-img {
    padding: 4.5rem 2.0rem 8.0rem;
    margin-top: 5rem;
    border-radius: 2rem;
    background: #ffffff;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    text-align: center;
}

.l-page-roof-block02-box .l-page-menu-data-img {
    margin: 0 6.0rem;
    /* padding: 0; */
    /* margin-top: 0; */
}

.l-page-menu-data-img figcaption {
    text-align: center;
    font-size: calc(24 * var(--base-unit));
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 4.0rem;
}

.l-page-menu-data-img img {
    margin: 0 auto;
}

.l-page-roof-block02-box-block02-title,
.l-page-wall-block02-box-block02-title {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
}

.l-page-roof-block02-box-block02-block,
.l-page-wall-block02-box-block02-block {
    width: 100.4rem;
    margin: 0 auto;
    text-align: left;
    font-size: 0;
}

.l-page-roof-block02-box-block02-block *,
.l-page-wall-block02-box-block02-block * {
    box-sizing: border-box;
}

.l-page-roof-block02-box-block02-block-list,
.l-page-wall-block02-box-block02-block-list {
    width: 33.4rem;
    display: inline-block;
    vertical-align: top;
    padding: 2.0rem 1.2rem 0;
}

.l-page-roof-block02-box-block02-block-list-box,
.l-page-wall-block02-box-block02-block-list-box {
    width: 100%;
    border-radius: 1.0rem;
    background: #FFFFFF;
    padding: 1.0rem 1.0rem 2.5rem;
}

.l-page-roof-block02-box-block02-block-list-box dt,
.l-page-wall-block02-box-block02-block-list-box dt {
    display: block;
    background: var(--main-color01);
    border-radius: .7rem;
    padding: .5rem .5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-roof-block02-box-block02-block-list-box dd,
.l-page-wall-block02-box-block02-block-list-box dd {
    display: block;
    text-align: center;
    padding-top: 1.5rem;
    font-size: 0;
}

.l-page-roof-block02-box-block02-block-list-box dd img,
.l-page-wall-block02-box-block02-block-list-box dd img {
    width: 3.7rem;
    height: auto;
    vertical-align: middle;
    margin: 0 .1rem;
}

.l-page-roof-block02-box-btn,
.l-page-wall-block02-box-btn {
    background: #FFFFFF;
    border-radius: 0 0 2.0rem 2.0rem;
    /* border: calc(1 * var(--base-unit)) solid #ffaa67; */
    border-top: none;
    padding: 6.0rem 3.0rem;
    text-align: center;
}

.l-page-roof-block02-box-btn a.btn-arrow01,
.l-page-wall-block02-box-btn a.btn-arrow01 {
    font-size: 2.4rem;
}

.l-page-wall-block01 {
    padding-top: 10.0rem;
}

.l-page-wall-block01 * {
    box-sizing: border-box;
}

.l-page-wall-block02 * {
    box-sizing: border-box;
}

.l-page-wall-block02-box {
    --c: #fcb163
}

.l-page-wall-block02-box-block-table-left > dl > dt {
    font-size: 2.8rem;
    font-weight: 900;
}

.l-page-wall-block02-box-table03 {
    width: 100%;
    background: #FFFFFF;
    display: table;
    border-bottom: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-page-wall-block02-box-table03 > div {
    display: table-cell;
    vertical-align: middle;
}

.l-page-wall-block02-box-table03-left {
    width: auto;
    text-align: center;
}

.l-page-wall-block02-box-table03-left span {
    display: inline-block;
    margin: 0 .3rem;
    border-radius: 2.0rem;
    background: #fbbb4d;
    padding: .5rem 1.0rem 1.5rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 12.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-page-wall-block02-box-table03-left span.-blue {
    background: #86a7c1;
}

.l-page-wall-block02-box-table03-right {
    width: 46.5rem;
}

.l-page-wall-block02-box-table03-right picture {
    text-align: center;
}

.l-page-wall-block02-box-table03-right picture img {
    width: 46.5rem;
    height: auto;
}

.l-comContactL-message {
    background: #efdac8;
    padding: 2.0rem 0;
}

.l-comContactL-message p {
    text-align: center;
    color: #111111;

    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0em;
}

.l-comContactL-message p span {
    text-align: center;
    color: #ef2525;

    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0em;
}

.l-page-apartment-block01 {
    padding: 10.0rem 0 11.0rem;
    background: #fff4ea;
}

.l-page-apartment-block01 * {
    box-sizing: border-box;
}

.l-page-apartment-block01-table {
    display: block;
    text-align: center;
    font-size: 0;
}

.l-page-apartment-block01-table-list {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    padding-bottom: 2.0rem;
}

.l-page-apartment-block01-table-list:nth-of-type(odd) {
    padding-right: 3.0rem;
}

.l-page-apartment-block01-table-list:nth-of-type(even) {
    padding-left: 3.0rem;
}

.l-page-apartment-block01-table-list:last-of-type {
    padding-right: 0;
    padding-left: 0;
}

.l-page-apartment-block01-table-list > p {
    display: inline-block;
    border-radius: 100vh;
    width: 10.0rem;
    height: 10.0rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;
    font-family: var(--en-font-family);
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 2.6;
    position: relative;
    z-index: 2;
}

.l-page-apartment-block01-table-list-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 6.5rem 4.0rem 3.0rem;
    margin-top: -5.0rem;
    position: relative;
    z-index: 1;
}

.l-page-apartment-block01-table-list-box > div {
    display: block;
}

.l-page-apartment-block01-table-list-box > div h4 {
    border-radius: 1.0rem;
    background: #ffd9bb;
    padding: 1.0rem .5rem;
    text-align: center;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-page-apartment-block01-table-list-box > div h4 + p {
    display: block;
    padding-top: 1.5rem;
    text-align: center;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-page-apartment-block01-table-list-box > picture {
    display: block;
    padding-top: 1.5rem;
}

.l-page-apartment-block01-table-list-box > picture img {
    width: 100%;
    height: auto;
}

.l-page-apartment-block01-table-list-table {
    margin-top: 2.0rem;
    width: 100%;
    display: table !important;
}

.l-page-apartment-block01-table-list-table > * {
    display: table-cell;
    vertical-align: top;
}

.l-page-apartment-block01-table-list-table p {
    width: 30.0rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-page-apartment-block01-table-list-table picture {
    width: auto;
    text-align: center;
}

.l-page-apartment-block01-table-list-table picture img {
    width: 10.4rem;
    height: auto;
}

.l-page-apartment-block02 {
    padding-top: 10.0rem;
}

.l-page-apartment-block02.type02 {
    padding-bottom: 12.0rem;
}

.l-page-apartment-block02 * {
    box-sizing: border-box;
}

.l-page-apartment-block02-inner {
    width: 134.0rem;
    margin: 0 auto;
}

.l-page-apartment-block02-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 10.0rem 10.0rem;
}

.l-page-apartment-block02-box-title {
    border-top: calc(4 * var(--base-unit)) dotted #cccccc;
    border-bottom: calc(4 * var(--base-unit)) dotted #cccccc;
    background: url(img/common/img_character01.png) right 5.0rem center no-repeat transparent;
    background-size: 11.0rem auto;
    min-height: 14.9rem;
    padding: 3.0rem 0;
}

.l-page-apartment-block02-box-title p,
.l-page-apartment-block02-box-title h3 {
    text-align: center;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.38;
}

.l-page-apartment-block02-box-title p span,
.l-page-apartment-block02-box-title h3 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 4.6rem;
    font-weight: 900;
    line-height: 1.08;
}

.l-page-apartment-block02-box-image {
    padding-top: 6.0rem;
    padding-bottom: 6.0rem;
    display: block;
    text-align: center;
    font-size: 0;
}

.l-page-apartment-block02-box-image picture {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    padding-bottom: 1.0rem;
}

.l-page-apartment-block02-box-image picture:nth-of-type(odd) {
    padding-right: 2.0rem;
}

.l-page-apartment-block02-box-image picture:nth-of-type(even) {
    padding-left: 2.0rem;
}

.l-page-apartment-block02-box-image picture img {
    width: 100%;
    height: auto;
}

.l-page-apartment-block02-box-image p {
    display: inline-block;
    border-radius: 1.0rem;
    background: var(--main-color01);
    padding: .7rem 4.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-page-apartment-block02-box-question {
    padding: 4.0rem 0 3.5rem;
    /* background: url(img/first/bg-question.png) bottom center no-repeat transparent;
    background-size: 78.0rem auto; */
    text-align: center;
    max-width: 78.0rem;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.5rem;
}

.l-page-apartment-block02-box-question p {
    width: 78.0rem;
    display: inline-block;
    padding-top: 4.0rem;
    text-align: center;
    background: url(img/common/img-question.png) right top no-repeat transparent;
    background-size: 5.7rem auto;
    min-height: 8.5rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-page-apartment-block02-box-table {
    width: 100%;
    display: table;
    margin-top: 3.0rem;
    margin-bottom: 1.5rem;
}

.l-page-apartment-block02-box-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-page-apartment-block02-box-table-image {
    width: 32.0rem;
    text-align: center;
}

.l-page-apartment-block02-box-table-image picture {
    display: block;
    text-align: center;
    width: fit-content;
    margin: auto;
    position: relative;
}

.l-page-apartment-block02-box-table-image picture::before {
    position: absolute;
    inset: 0 -3.0rem 0 auto;
    margin: auto 0;
    transform: rotate(-90deg) translateY(calc(100% + 5.0rem));
    display: block;
    content: "";
    width: 2.4rem;
    height: 3.7rem;
    transform: translateX(50%);
    background-color: #efdac8;
    --mask: url(img/common/svg_arrow01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-page-apartment-block02-box-table-image:last-of-type picture::before {
    display: none;
}

.l-page-apartment-block02-box-table-image picture img {
    width: 32.0rem;
    height: auto;
}

.l-page-apartment-block02-box-table-image p {
    padding-top: 1.5rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
}

.l-page-apartment-block02-box-table-image p span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
}

.l-page-apartment-block02-box-table-arrow {
    width: 7.0rem;
    text-align: center;
    padding-top: 8.0rem;
}

.l-page-apartment-block02-box-table-arrow picture {
    text-align: center;
}

.l-page-apartment-block02-box-table-arrow picture img {
    width: 2.4rem;
    height: auto;
}

.l-page-apartment-block02-box-message {
    padding: 5.5rem 0 7.5rem;
    min-height: 3.5rem;
    text-align: center;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.07;
    position: relative;
}

.l-page-apartment-block02-box-message::before {
    inset: 0 0 auto 0;
    margin: 0 auto;
    position: absolute;
    content: "";
    background: #808080;
    width: 36px;
    height: 36px;
    transform: scaleY(-1);
    --mask: url(img/common/svg_arrow05.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-page-apartment-block02-box-message span {
    text-align: center;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1;
}

.l-page-apartment-block02-box-message span.color01 {
    color: #ffb57b;
}

.l-page-apartment-block02-box-title02 {
    border-radius: 2.0rem;
    background: #efdac8;
    padding: 1.5rem 1.0rem;
    text-align: center;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-title02 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-page-apartment-block02-box-block {
    padding-top: 6.0rem;
    width: 71.0rem;
    margin: 0 auto;
    /* position: relative;
    padding-bottom: 11.5rem; */
}

.l-page-apartment-block02-box-block-table {
    width: 100%;
    display: table;
    border-top: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-page-apartment-block02-box-block-table:last-of-type {
    border-bottom: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-page-apartment-block02-box-block-table > div {
    display: table-cell;
    vertical-align: middle;
}

.l-page-apartment-block02-box-block-table-left {
    width: 28.0rem;
    text-align: left;
    padding: 1.5rem 3.8rem 1.5rem 2.2rem;
}

.l-page-apartment-block02-box-block-table-left p {
    display: inline-block;
    border-radius: 100vh;
    border: calc(4 * var(--base-unit)) solid #ff7608;
    font-family: var(--en-font-family);
    padding: 0 4.5rem;
    vertical-align: middle;
    text-align: left;

    color: #ff7608;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-block-table-left p span {
    padding-right: 1.5rem;
    text-align: left;

    color: #ff7608;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;

    position: relative;
    top: -.3rem;
}

.l-page-apartment-block02-box-block-table-right {
    width: auto;
    text-align: left;
}

.l-page-apartment-block02-box-block-table-right p {
    text-align: left;

    color: #111111;
    font-size: 2.4rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-block-table-right p span {
    text-align: left;

    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-message02 {
    padding-top: 9.0rem;
    min-height: 3.5rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
}

.l-page-apartment-block02-box-message02::before {
    position: absolute;
    inset: 3.7rem 0 auto;
    margin: 0 auto;
    content: "";
    display: block;
    width: 5.0rem;
    height: 3.5rem;
    background: var(--main-color01);
    --mask: url(img/common/svg_arrow04.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-page-apartment-block02-box-message02 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-page-apartment-block02-box-box01 {
    margin-top: 2.5rem;
    margin-bottom: 8.0rem;
    border-radius: 2.0rem;
    background: var(--main-color01);
    padding: 3.0rem 1.0rem;
    text-align: center;

    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.83;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-caution {
    padding-top: 3.5rem;
    text-align: left;

    color: var(--main-color01);
    font-size: 2.0rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-table03 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

.l-page-apartment-block02-box-table03 table tr th {
    width: 16.6%;
    padding: 1.5rem 2.0rem;
    text-align: center;
    /* background: #e5e6e0; */
    /* border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75; */
    letter-spacing: -0.05em;
}

/* .l-page-apartment-block02-box-table03 table tr:first-of-type th:first-of-type {
    border-radius: 1.5rem 0 0 0;
}

.l-page-apartment-block02-box-table03 table tr:first-of-type th:last-of-type {
    border-radius: 0 1.5rem 0 0;
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
} */

.l-page-apartment-block02-box-table03 table tr td {
    text-align: center;
    padding: 1.5rem 2.0rem;
    /* background: #FFFFFF;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-bottom: none;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.05em; */
}

.l-page-apartment-block02-box-table03 table tr td.td-01 {
    background: #ff0;
}

/* .l-page-apartment-block02-box-table03 table tr td:last-of-type {
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-apartment-block02-box-table03 table tr:last-of-type td {
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-apartment-block02-box-table03 table tr:last-of-type td:first-of-type {
    border-radius: 0 0 0 1.5rem;
}

.l-page-apartment-block02-box-table03 table tr:last-of-type td:last-of-type {
    border-radius: 0 0 1.5rem 0;
} */

.l-page-apartment-block02-box-message03 {
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
}

.l-page-apartment-block02-box-message03 i {
    padding: 0 .5rem;
}

.l-page-apartment-block02-box-box02 {
    margin-top: 2.5rem;
    margin-bottom: 8.0rem;
    border-radius: 2.0rem;
    background: #f5f5f5;
    padding: 2.0rem 2.5rem;
    text-align: left;
    color: #111111;
    font-size: 2.0rem;
    font-weight: 400;
    line-height: 1.75;
}

.l-page-apartment-block02-box-table04 {
    padding-top: 5.0rem;
    display: block;
    text-align: left;
    font-size: 0;
}

.l-page-apartment-block02-box-table04-list {
    width: 50%;
    display: inline-block;
    vertical-align: top;
}

.l-page-apartment-block02-box-table04-list:nth-of-type(odd) {
    padding-right: 3.0rem;
}

.l-page-apartment-block02-box-table04-list:nth-of-type(even) {
    padding-left: 3.0rem;
}

.l-page-apartment-block02-box-table04-list table {
    width: 100%;
    border-collapse: separate;
}

.l-page-apartment-block02-box-table04-list table .col01 {
    width: 30%;
}

.l-page-apartment-block02-box-table04-list table .col02 {
    width: 40%;
}

.l-page-apartment-block02-box-table04-list table .col03 {
    width: 30%;
}

.l-page-apartment-block02-box-table04-list table tr th {
    border-radius: 1.5rem 1.5rem 0 0;
    padding: 1.5rem 2.0rem;
    background: #e2e2e2;
    text-align: center;
    border-top: calc(1 * var(--base-unit)) solid #cccccc;
    border-left: calc(1 * var(--base-unit)) solid #cccccc;
    border-right: calc(1 * var(--base-unit)) solid #cccccc;
    border-bottom: none;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: -0.05em;
}

.l-page-apartment-block02-box-table04-list table tr td {
    text-align: center;
    padding: 1.5rem 2.0rem;
    background: #FFFFFF;
    border-top: calc(1 * var(--base-unit)) solid #cccccc;
    border-left: calc(1 * var(--base-unit)) solid #cccccc;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.05em;
}

.l-page-apartment-block02-box-table04-list table tr td.td-01 {
    background: #ff0;
}

.l-page-apartment-block02-box-table04-list table tr td:last-of-type {
    border-right: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-page-apartment-block02-box-table04-list table tr:last-of-type td:first-of-type {
    border-radius: 0 0 0 1.5rem;
}

.l-page-apartment-block02-box-table04-list table tr:last-of-type td:last-of-type {
    border-radius: 0 0 1.5rem 0;
}

.l-page-apartment-block02-box-table04-list table tr:last-of-type td {
    border-bottom: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-page-apartment-block02-box-table04-list table tr td label {
    color: #111111;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.05em;
}

.l-page-apartment-block02-box-table04-list table tr td span {
    color: #c01920;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-box03 {
    margin-top: 4.0rem;
    margin-bottom: 8.0rem;
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    padding: 5.0rem 6.0rem 6.0rem;
}

.l-page-apartment-block02-box-box03 > p {
    font-size: 2.4rem;
    font-weight: 900;
    padding-bottom: 12.0rem;
    text-align: center;
    position: relative;
}

.l-page-apartment-block02-box-box03 > p::before {
    position: absolute;
    inset: auto 0 6.0rem;
    margin: 0 auto;
    content: "";
    display: block;
    width: 5.0rem;
    height: 3.5rem;
    background: var(--main-color01);
    --mask: url(img/common/svg_arrow04.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-page-apartment-block02-box-box03 > p b {
    font-weight: 900;
}

.l-page-apartment-block02-box-box03 > picture {
    display: block;
    text-align: center;
    padding-bottom: 6.0rem;
}

.l-page-apartment-block02-box-box03 > picture img {
    width: 78.3rem;
    height: auto;
}

.l-page-apartment-block02-box-box03-message {
    border-radius: 2.0rem;
    background: #efdac8;
    padding: 4.0rem 5.0rem;
}

.l-page-apartment-block02-box-box03-message p {
    text-indent: -1.8rem;
    padding-left: 1.8rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-message04 {
    padding-top: 5.0rem;
    text-align: center;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-message04 span {
    text-align: center;
    color: #ef2525;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-table05 {
    padding-top: 1.5rem;
    display: block;
    text-align: center;
    font-size: 0;
    min-height: 3.0rem;
    position: relative;
}

.l-page-apartment-block02-box-table05::before {
    content: "+";
    display: block;
    position: absolute;
    inset: auto 0 0.25rem;
    margin: 0 auto;
    font-size: 5.0rem;
    font-weight: 500;
    width: 1em;
    height: 1em;
    line-height: 1;
}

.l-page-apartment-block02-box-table05-list {
    width: 47.4rem;
    display: inline-block;
    vertical-align: top;
    padding: 0 2.2rem;
    text-align: center;
}

.l-page-apartment-block02-box-table05-list picture {
    text-align: center;
}

.l-page-apartment-block02-box-table05-list picture img {
    width: 43.0rem;
    height: auto;
}

.l-page-apartment-block02-box-table05-list p {
    display: inline-block;
    min-width: 30.0rem;
    margin-top: 1.5rem;
    border-radius: .7rem;
    background: var(--main-color01);
    padding: 1.0rem 1.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-apartment-block02-box-message05 {
    padding-top: 5.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-page-apartment-block03-message {
    padding-top: 5.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-page-apartment-block03-image {
    padding-top: 5.0rem;
    text-align: center;
    display: block;
}

.l-page-apartment-block03-image img {
    width: 55.3rem;
    height: auto;
}

.l-page-apartment-block03-table {
    margin: 5.0rem auto 8.0rem;
    max-width: 60.0rem;
    /* width: 100%;
    border-collapse: separate; */
}

.l-page-apartment-block03-table td {
    text-align: center;
}

/* 
.l-page-apartment-block03-table tr th {
    padding: 1.5rem 2.0rem;
    background: #e5e6e0;
    text-align: center;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: -0.05em;
}

.l-page-apartment-block03-table tr:first-of-type th:first-of-type {
    border-radius: 1.5rem 0 0 0;
}

.l-page-apartment-block03-table tr:first-of-type th:last-of-type {
    border-radius: 0 1.5rem 0 0;
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-apartment-block03-table tr td {
    text-align: center;
    padding: 1.5rem 2.0rem;
    background: #FFFFFF;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-bottom: none;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: -0.05em;
}

.l-page-apartment-block03-table tr td:last-of-type {
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-apartment-block03-table tr:last-of-type td {
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-page-apartment-block03-table tr:last-of-type td:first-of-type {
    border-radius: 0 0 0 1.5rem;
}

.l-page-apartment-block03-table tr:last-of-type td:last-of-type {
    border-radius: 0 0 1.5rem 0;
} */

.l-page-apartment-block03-caution {
    padding-top: 3.5rem;
    text-align: left;
    color: #ef2525;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-apartment-block03-block {
    padding-top: 5.5rem;
    display: block;
    text-align: center;
    font-size: 0;
}

.l-page-apartment-block03-block-list {
    display: inline-block;
    vertical-align: top;
    padding: 0 2.0rem;
}

.l-page-apartment-block03-block-list p {
    padding-bottom: 1.0rem;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-page-apartment-block03-block-list a img {
    width: 28.0rem;
    height: auto;
}

.l-page-apartment-block03-block-list a img.image01 {
    width: 28.0rem;
    height: auto;
}

.l-page-apartment-block03-block-list a img.image02 {
    width: 56.0rem;
    height: auto;
}

.l-color-block01 {
    padding-top: 10.0rem;
}

.l-color-block01-back {
    background: url("img/common/mainv_colorsimulation_bg.png") top center no-repeat transparent;
    background-size: 100% auto;
    min-height: 54.0rem;
}

.l-color-block01 h3 {
    padding-top: 10.4rem;
    text-shadow: .1rem .1rem .2rem #000000;
    font-family: "Noto Serif JP";
    text-align: center;
    color: #FFFFFF;

    font-size: 6.0rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0em;
}

.l-color-block01 h3 span {
    text-align: center;
    color: #FFFFFF;

    font-size: 7.4rem;
    font-weight: 600;
    line-height: 1.09;
    letter-spacing: -0.05em;
}

.l-color-block01 dl {
    width: 82.0rem;
    margin: 0 auto;
    display: block;
    padding-top: 5.0rem;
}

.l-color-block01 dl dt {
    display: block;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.78;
    letter-spacing: 0em;
}

.l-color-block01 dl dd {
    display: block;
    padding-top: 3.0rem;
    text-align: justify;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-color-block02 {
    padding-top: 9.0rem;
}

.l-color-block02-question.type02 {
    margin-bottom: 3.5rem;
}

.l-color-block02-question p {
    width: 100%;
    display: inline-block;
    padding-top: 4.0rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-color-block02-block {
    margin-top: 3.0rem;
    background: url("img/common/img_character01.png") right 10.0rem top no-repeat transparent;
    background-size: 19.4rem auto;
    min-height: 18.6rem;
}

.l-color-block02-block.type02 {
    margin-top: 3.0rem;
    background: url("img/common/img_character01.png") right 10.0rem top no-repeat transparent;
    background-size: 19.2rem auto;
    min-height: 24.0rem;
}

.l-color-block02-block ul {
    display: block;
    width: 101.0rem;
    margin: 0 auto;
    padding-right: 32.5rem;
    --c: var(--main-color03);
}

.l-color-block02-block ul li {
    position: relative;
    margin-top: 1.0rem;
    min-height: 2.0rem;
    border-bottom: calc(4 * var(--base-unit)) dotted #cccccc;
    /* padding: .5rem 2.5rem .5rem 6.5rem; */
    padding: .5em 2.5rem .5em 3em;
    text-align: left;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.88;
}

.l-color-block02-block ul li::before {
    content: "";
    position: absolute;
    display: block;
    inset: 0.9em auto auto 1em;
    width: calc(20 * var(--base-unit));
    height: calc(20 * var(--base-unit));
    background: var(--c);
    --mask: url("img/common/svg_checkbox02.svg");
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-color-block02-block.type02 ul {
    --c: var(--orange);
}

.l-color-block03 {
    padding-top: 10.0rem;
}

.l-color-block03 * {
    box-sizing: border-box;
}

.l-color-block03-block01 {
    padding-top: 6.0rem;
}

.l-color-block03-block01:first-of-type {
    padding-top: 0;
}

.l-color-block03-block01-inner {
    width: 160.0rem;
    margin: 0 auto;
    padding-left: 66.0rem;
}

.l-color-block03-block01-wrapper {
    border-radius: 2.0rem 0 0 2.0rem;
    padding: 16.0rem 2.0rem 16.0rem 24.5rem;
    position: relative;
    z-index: 1;
}

.l-color-block03-block01-wrapper::before {
    inset: 0 auto 0 0;
    background: #ffb57b;
    border-radius: 2.0rem 0 0 2.0rem;
}

.l-color-block03-block01-wrapper::before,
.l-color-block03-block02-wrapper::before {
    width: 100vw;
    height: 100%;
    /* background: red; */
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
}

.l-color-block03-block01-wrapper::after,
.l-color-block03-block02-wrapper::after {
    content: "";
    display: block;
    aspect-ratio: 60 / 48;
    width: 60.0rem;
    height: 48.0rem;
    /* background: url("img/common/img_colorsimulation0101.jpg") left 25.0rem top no-repeat transparent; */
    background-image: url("img/common/img_colorsimulation0101.jpg");
    background-size: contain;
    background-repeat: no-repeat;
    /* min-height: 48.0rem; */
    position: absolute;
    inset: 0 auto 0 0;
    margin: auto 0;
    z-index: 2;
    transform: translateX(calc(19.0rem - 100%));
    border-radius: 2.0rem;
}

.l-color-block03-block01-wrapper.type02::after {
    content: "";
    background-image: url("img/common/img_colorsimulation0103.jpg");
    background-size: contain;
    transform: translateX(calc(19.0rem - 100%));
}

.l-color-block03-block01-num {
    text-align: center;
    font-family: var(--en-font-family);
    font-size: 5.0rem;
    font-weight: 700;
    line-height: 1.88;
}

.l-color-block03-block01 dl {
    display: block;
}

.l-color-block03-block01 dl dt {
    display: block;
    text-align: center;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.63;
}

.l-color-block03-block01 dl dd {
    display: block;
    padding-top: 2.0rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.875;
}

/* .l-color-block03-block02-back {
    background: linear-gradient(90deg, #d0d2c9 0%, #d0d2c9 50%, transparent 50%, transparent 100%);
} */

.l-color-block03-block02-inner {
    width: 160.0rem;
    margin: 0 auto;
    padding-right: 66.0rem;
}

.l-color-block03-block02-wrapper {
    /* border-radius: 0 2.0rem 2.0rem 0;
    background: #ffb57b; */
    padding: 16.0rem 24.5rem 16.0rem 2.0rem;
    position: relative;
    z-index: 1;
}

.l-color-block03-block02-wrapper::before {
    inset: 0 0 0 auto;
    background: #e7c7ac;
    border-radius: 0 2.0rem 2.0rem 0;
}

.l-color-block03-block02-wrapper::after {
    background-image: url("img/common/img_colorsimulation0102.jpg");
    transform: none;
    inset: 0 0 0 auto;
    transform: translateX(calc(100% - 19.0rem));
}

.l-color-block06 {
    padding-top: 9.0rem;
}

.l-color-block06-message {
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.875;
    letter-spacing: 0em;
}

.l-color-block06-block {
    padding-top: 3.5rem;
}

.l-color-block06-block-message {
    padding-bottom: 2.0rem;
    text-align: left;
    color: var(--main-color03);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.875;
}

.l-color-block06-block-box {
    padding: 6.0rem 6.0rem;
    border-radius: 2.0rem;
    /* --background: repeating-linear-gradient(135deg, #ebece4, #ebece4 3px, #fff3ea 0, #fff3ea 8px);
    background: var(--background); */
}

.l-color-block06-block-box-table {
    width: 100%;
    display: flex;
    gap: 0 4.0rem;
    position: relative;
}

.l-color-block06-block-box-table::before {
    content: "";
    width: 2.0rem;
    height: 2.8rem;
    position: absolute;
    inset: 0;
    margin: auto;
    background-color: #ffaa67;
    --mask: url(img/common/svg_arrow01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-color-block06-block-box-table-image {
    width: 47.0rem;
    text-align: center;
}

.l-color-block06-block-box-table-image picture {
    text-align: center;
}

.l-color-block06-block-box-table-image picture img {
    width: 47.0rem;
    height: auto;
}

/* .l-color-block06-block-box-table-arrow {
    width: 4.0rem;
    text-align: center;
}

.l-color-block06-block-box-table-arrow picture {
    text-align: center;
}

.l-color-block06-block-box-table-arrow picture img {
    width: 2.0rem;
    height: auto;
} */

.l-color-block07 {
    padding-top: 9.0rem;
}

.l-color-block07-table {
    width: 100%;
    display: flex;
    gap: 0 7.0rem;
}

.l-color-block07-table-image {
    width: 32.0rem;
    text-align: center;
    position: relative;
}

.l-color-block07-table-image::before {
    content: "";
    width: 2.4rem;
    height: 3.8rem;
    position: absolute;
    top: 0;
    right: 100%;
    bottom: 0;
    margin: auto 0;
    transform: translateX(-100%);
    /* transform: translateX(-40%) rotate(90deg); */
    background-color: #ffaa67;
    --mask: url(img/common/svg_arrow01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-color-block07-table-image-title {
    text-align: left;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 2.53;
}

.l-color-block07-table-image-title span {
    margin-right: .5rem;
    display: inline-block;
    width: 4.0rem;
    height: 4.0rem;
    border-radius: 50%;
    background: #ff7608;
    text-align: center;
    color: #FFFFFF;

    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.0;
    letter-spacing: 0em;

    position: relative;
    top: -.2rem;
}

.l-color-block07-table-image picture {
    display: block;
    text-align: left;
    padding-top: .5rem;
}

.l-color-block07-table-image picture img {
    width: 32.0rem;
    height: auto;
}

.l-color-block07-table-image p {
    padding-top: 1.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
    letter-spacing: 0em;
}

.l-color-block08 {
    padding-top: 9.0rem;
    padding-bottom: 7.0rem;
}

.l-color-block08 .btn {
    margin-top: 5.5rem;
}

.l-price-block01 {
    padding-top: 10.0rem;
}

.l-price-block01 > div > picture {
    display: block;
    text-align: center;
}

.l-price-block01 > div > picture img {
    width: 100%;
    height: auto;
}

.l-price-block01-table {
    margin-top: 5.0rem;
    width: 100%;
    display: table;
}

.l-price-block01-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-price-block01-table-left {
    padding: 2.5rem 2.0rem 0 2.0rem;
}

.l-price-block01-table-left p {
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-price-block01-table-right {
    width: 57.8rem;
    text-align: center;
}

.l-price-block01-table-right p {
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;
}

/* .l-price-block01-table-right picture {
    padding-top: 1.5rem;
    display: block;
    text-align: center;
}

.l-price-block01-table-right picture img {
    width: 57.8rem;
    height: auto;
} */

.l-price-block01-btn {
    padding-top: 6.0rem;
    text-align: center;
}

.l-price-block01-btn p {
    /* display: inline-block; */
    padding-bottom: 1.3rem;
}

.l-price-block02 {
    padding-top: 4.0rem;
}

.l-price-block03 {
    padding-top: 8.0rem;
}

.l-price-block03-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    padding: 5.0rem 1.0rem;
}

.l-price-block03 h3 {
    text-align: center;

    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0em;
}

.l-price-block03 h3 span {
    text-align: center;

    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0em;
}

.l-price-block03-box-table {
    margin: 5.0rem auto 0;
    /* display: table; */
}

/* .l-price-block03-box-table > div {
    display: table-cell;
    vertical-align: top;
} */

.l-price-block03-box-table-image {
    /* width: 26.0rem; */
    text-align: center;
}

.l-price-block03-box-table,
.price_simulation_result-block06-table {
    display: flex;
    gap: 0 10.0rem;
    justify-content: center;
}

.l-price-block03-box-table-image,
.price_simulation_result-block06-table-image {
    text-align: center;
    position: relative;
}

.price_simulation_result-block06-table-image {
    flex: 1;
}

.l-price-block03-box-table-image picture,
.price_simulation_result-block06-table-image picture {
    margin-top: 2.0rem;
    display: block;
    text-align: center;
    position: relative;
}

.l-price-block03-box-table-image picture img,
.price_simulation_result-block06-table-image picture img {
    width: 20.0rem;
    height: auto;
    border-radius: 100vh;
    overflow: hidden;
    background: var(--illust-backgrond-color);
}

.l-price-block03-box-table-image picture::before,
.price_simulation_result-block06-table-image picture::before {
    position: absolute;
    inset: 0 0 0 auto;
    margin: auto 0;
    transform: rotate(-90deg) translateY(calc(100% + 5.0rem));
    content: "";
    display: block;
    width: 3.4rem;
    height: 2.4rem;
    background: var(--main-color03);
    --mask: url(img/common/svg_arrow04.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-price-block03-box-table-image:last-of-type picture::before,
.price_simulation_result-block06-table-image:last-of-type picture::before {
    display: none;
}

.price_simulation_result-block06 .btn-arrow01 {
    /* font-size: 2.4rem; */
    padding-left: 2em;
    padding-right: 2em;
}

.l-price-block03-box-table-image p {
    text-align: center;
    color: var(--main-color01);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0em;
}

.l-price-block03-box-table-image dl {
    display: block;
    padding-top: 3.0rem;
}

.l-price-block03-box-table-image dl dt {
    text-align: center;

    color: #111111;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-price-block03-box-table-image dl dd {
    text-align: center;

    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

/* 
.l-price-block03-box-table-arrow {
    width: 10.0rem;
    text-align: center;
    padding-top: 13.5rem;
}

.l-price-block03-box-table-arrow picture {
    display: block;
    text-align: center;
}

.l-price-block03-box-table-arrow picture img {
    width: 2.3rem;
    height: auto;
} */

.l-price-block04 {
    padding-top: 12.0rem;
}

.l-price-block04 * {
    box-sizing: border-box;
}

.l-price-block04-table,
.l-subsidy-block07-table {
    width: 100%;
    display: flex;
    gap: 0 4.5rem;
    padding-top: 3.0rem;
}

.l-price-block04-table {
    padding-bottom: 5.0rem;
}

.l-price-block04-table-list,
.l-subsidy-block07-table-list {
    flex: 1;
    /* width: 33%;
    display: inline-block;
    vertical-align: top;
    padding-top: 3.0rem;
    text-align: center; */
}

/* 
.l-price-block04-table-list:nth-of-type(3n+1) {
    padding-right: 3.0rem;
}

.l-price-block04-table-list:nth-of-type(3n+2) {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.l-price-block04-table-list:nth-of-type(3n) {
    padding-left: 3.0rem;
} */

.l-price-block04-table-list > p,
.l-subsidy-block07-table-list > p {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 10.0rem;
    height: 10.0rem;
    border-radius: 100vh;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;
    margin: 0 auto;
    font-size: 3.6rem;
    font-weight: 700;
    font-family: var(--en-font-family);
    line-height: 1.0;
    position: relative;
    z-index: 2;
}

.l-price-block04-table-list > p span,
.l-subsidy-block07-table-list > p span {
    padding-top: 0.5rem;
    display: block;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 700;
    font-family: 'Poppins', sans-serif;
    line-height: 1.0;
    margin-bottom: 0.5rem;
}

.l-price-block04-table-list-box,
.l-subsidy-block07-table-list-box {
    border-radius: 2.0rem;
    background: #ffb57b;
    padding: 6.0rem 3.0rem 3.0rem;
    position: relative;
    z-index: 1;
    margin-top: -5.0rem;
    height: calc(100% - 5.0rem);
}

.l-price-block04-table-list-box picture,
.l-subsidy-block07-table-list-box picture {
    display: block;
    text-align: center;
}

.l-price-block04-table-list-box picture img,
.l-subsidy-block07-table-list-box picture img {
    width: 100%;
    height: auto;
}

.l-price-block04-table-list-box dl,
.l-subsidy-block07-table-list-box dl {
    padding-top: 2.0rem;
    display: block;
    text-align: center;
}

.l-price-block04-table-list-box dl dt,
.l-subsidy-block07-table-list-box dl dt {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.66;
}

.l-price-block04-table-list-box dl dd,
.l-subsidy-block07-table-list-box dl dd {
    padding-top: 1.5rem;
    display: block;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-price-block05 {
    padding-top: 27.0rem;
    padding-bottom: 7.0rem;
}

.l-price-block05 * {
    box-sizing: border-box;
}

.l-price-block05-inner {
    width: 134.0rem;
    margin: 0 auto;
    z-index: 5;
    position: relative;
}

.l-price-block05-inner.type02 {
    width: 110.0rem;
    margin: 12.0rem auto 0;
}

.l-price-block05-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 9.0rem 12.0rem 12.0rem;
}

.l-price-block05-box02 {
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    background: #ffffff;
    padding: 4.0rem 7.5rem;
}

.l-price-block05-box02-message {
    background: url("img/common/img_character01.png") left center no-repeat transparent;
    background-size: 11.4rem auto;
    min-height: 14.0rem;
    padding: 1.0rem 0 1.0rem 15.0rem;
}

.l-price-block05-box02-message.type02 {
    background: url("img/common/img_character01.png") left top no-repeat transparent;
    background-size: 11.4rem auto;
    min-height: 14.0rem;
    padding: 2.5rem 0 0 15.0rem;
}

.l-price-block05-box02-message p {
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-price-block05-box02-message p span {
    text-align: left;
    color: #ef2525;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-price-block05-step {
    padding-top: 7.0rem;
}

.l-price-block05-step-q {
    padding-bottom: 1.2rem;
    border-bottom: calc(4 * var(--base-unit)) dotted #cccccc;
    text-align: left;
}

.l-price-block05-step-q p {
    text-align: left;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-price-block05-step-q p span {
    margin-right: 2.0rem;
    display: inline-block;
    vertical-align: middle;
    border-radius: 100vh;
    background: var(--main-color01);
    padding: 1.5rem 6.5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.0;
}

.l-price-block05-step-a {
    margin-top: 1.2rem;
    border-radius: 1.0rem;
    background: #ffd9bb;
    padding: 1.0rem 2.0rem;
}

.l-price-block05-step-a p {
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-price-block05-step-wrapper {
    padding-bottom: 1.7rem;
    border-bottom: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-price-block05-step-table {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.l-price-block05-step-table > div {
    display: table-cell;
    vertical-align: middle;
}

.l-price-block05-step-table-left {
    width: 49.5rem;
    text-align: left;
    padding-left: 4.0rem;
}

.l-price-block05-step-table-left p {
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-price-block05-step-table-right {
    width: auto;
    text-align: right;
}

.l-price-block05-step-table-right-block {
    display: block;
    text-align: left;
    font-size: 0;
}

.l-price-block05-step-table-right-block > div {
    width: 50%;
    display: inline-block;
    padding-left: 2.3rem;
    padding-bottom: 2.3rem;
}

.l-price-block05-step-table-right-block > div > label:hover {
    cursor: pointer;
}

.l-price-block05-step-table-right-block > div > label > input[type="radio"] {
    margin: 0 0;
    appearance: none;
    opacity: 0;
}

.l-price-block05-step-table-right-block > div > label > span {
    display: block;
    vertical-align: top;
    background: #fff3ea;
    border-radius: 2.0rem;
    padding: 2.5rem 1.0rem;
    text-align: center;

    color: #111111;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-price-block05-step-table-right-block > div > label > input[type="radio"]:checked + span {
    background: var(--main-color01);
    color: #FFFFFF;
}

.l-price-block05-step-message {
    padding-top: 2.0rem;

    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-price-block05-step-table02 {
    width: 100%;
    display: block;
    text-align: left;
    font-size: 0;
}

.l-price-block05-step-table02-list {
    padding-top: 4.0rem;
    width: 33%;
    display: inline-block;
    vertical-align: top;
}

.l-price-block05-step-table02-list:nth-of-type(3n+1) {
    padding-right: 2.8rem;
}

.l-price-block05-step-table02-list:nth-of-type(3n+2) {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
}

.l-price-block05-step-table02-list:nth-of-type(3n) {
    padding-left: 2.8rem;
}

.l-price-block05-step-table02-list-box label {
    display: block;
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    background: #FFFFFF;
    padding: 1.5rem 3.0rem 3.0rem;
    text-align: center;
}

.l-price-block05-step-table02-list-box label:hover {
    cursor: pointer;
}

.l-price-block05-step-table02-list-box label.check {
    border: calc(3 * var(--base-unit)) solid var(--main-color01);
    background: var(--main-color01);
}

.l-price-block05-step-table02-list-box label input[type="checkbox"] {
    display: inline-block;
    width: 1.3rem;
    height: 1.3rem;
}

.l-price-block05-step-table02-list-box label picture {
    display: block;
    padding-top: 1.5rem;
}

.l-price-block05-step-table02-list-box label picture img {
    width: 100%;
    height: auto;
}

.l-price-block05-step-table02-list-box label span {
    display: block;
    padding-top: 1.8rem;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-price-block05-step-table02-list-box label.check span {
    color: #FFFFFF;
}

.l-price-block05-step-step05 {
    padding-top: 4.0rem;
}

.l-price-block05-step-step05 table tr th {
    width: 50.0rem;
    padding: 2.5rem 3.0rem 2.5rem 3.0rem;
}

#simulationresult {
    display: none;
}

.price_simulation_result-block {
    padding-top: 10.0rem;
    position: relative;
    z-index: 1;
    --c: var(--main-color01);
}

.price_simulation_result-block::after {
    content: "";
    display: inline-block;
    width: 20.4rem;
    height: 24.4rem;
    background: url(img/common/img_person01.png) right top no-repeat;
    background-size: 20.4rem auto;
    min-height: 24.4rem;
    position: absolute;
    z-index: 2;
    top: 0;
    right: 8.7rem;
}

.price_simulation_result-block-box-header {
    border-radius: 2.0rem 2.0rem 0 0;
    background: var(--c);
    border: calc(3 * var(--base-unit)) solid var(--c);
    padding: 3.0rem 1.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0em;
}

.price_simulation_result-block-box-body {
    border-radius: 0 0 2.0rem 2.0rem;
    background: #FFFFFF;
    border: calc(3 * var(--base-unit)) solid var(--c);
    border-top: none;
    padding: 6.0rem 6.0rem;
}

.price_simulation_result-block-box-body-price01 {
    padding-bottom: 2.5rem;
    border-bottom: calc(3 * var(--base-unit)) dotted var(--c);
    text-align: center;
    font-size: 5.0rem;
    font-weight: 900;
    line-height: 1.2;
}

.price_simulation_result-block-box-body-price01 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 8.0rem;
    font-weight: 900;
    line-height: 1.2;
}

.price_simulation_result-block-box-body-price02 {
    padding-top: 3.5rem;
    padding-bottom: 2.5rem;
    border-bottom: calc(3 * var(--base-unit)) dotted var(--c);
    text-align: center;
    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1.2;
}

.price_simulation_result-block-box-body-price02 strong {
    text-align: left;
    color: #ef2525;
    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1.2;
}

.price_simulation_result-block-box-body-price02 span {
    display: block;
    padding-left: 12.0rem;
    padding-bottom: 1.0rem;
    text-align: left;
    color: var(--main-color01);
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.36;
}

.price_simulation_result-block-box-result {
    margin-top: 6.0rem;
    border-radius: 2.0rem;
    background: #fff3ea;
    padding: 5.0rem 6.5rem;
}

.price_simulation_result-block-box-result dl {
    display: block;
}

.price_simulation_result-block-box-result dl dt {
    display: block;
    text-align: left;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.66;
    letter-spacing: 0em;
}

.price_simulation_result-block-box-result dl dd {
    padding-top: 2.5rem;
    display: block;
    text-align: left;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 400;
    line-height: 3.0;
    letter-spacing: 0em;
}

.price_simulation_result-block02 {
    padding-top: 12.0rem;
    padding-bottom: 5.0rem;
}

.price_simulation_result-block02 * {
    box-sizing: border-box;
}

.price_simulation_result-block02-table {
    margin-top: 6.0rem;
    width: 100%;
    display: table;
}

.price_simulation_result-block02-table > div {
    display: table-cell;
    vertical-align: middle;
}

.price_simulation_result-block02-table-left {
    width: 22.0rem;
    text-align: center;
}

.price_simulation_result-block02-table-left picture {
    text-align: center;
}

.price_simulation_result-block02-table-left picture img {
    width: 13.8rem;
    height: auto;
}

.price_simulation_result-block02-table-left picture img.type02 {
    width: 15.0rem;
    height: auto;
}

.price_simulation_result-block02-table-right {
    width: auto;
    text-align: left;
}

.price_simulation_result-block02-table-right .arrow_box {
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 4.0rem 4.0rem;
    text-align: left;
    border: calc(2 * var(--base-unit)) solid #ffaa67;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.0;
}

.price_simulation_result-block02-table-right .arrow_box span {
    color: #ef2525;
}

.price_simulation_result-block02-table-right .arrow_box::after,
.price_simulation_result-block02-table-right .arrow_box::before {
    border-color: transparent;
    border-style: solid;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    right: 100%;
    top: 50%;
}

.price_simulation_result-block02-table-right .arrow_box::after {
    border-color: rgba(255, 255, 255, 0);
    border-top-width: 1.0rem;
    border-bottom-width: 1.0rem;
    border-left-width: 2.0rem;
    border-right-width: 2.0rem;
    margin-top: -1.0rem;
    border-right-color: #FFFFFF;
}

.price_simulation_result-block02-table-right .arrow_box::before {
    border-color: rgba(201, 203, 192, 0);
    border-top-width: 1.3rem;
    border-bottom-width: 1.3rem;
    border-left-width: 1.3rem;
    border-right-width: 2.4rem;
    margin-top: -1.3rem;
    margin-right: 0px;
    border-right-color: #ffaa67;
}

.price_simulation_result-block03-message01 {
    padding-top: 6.5rem;
    padding-bottom: 6.0rem;
    border-top: calc(4 * var(--base-unit)) dotted #cccccc;
    text-align: left;
}

.price_simulation_result-block03-message01.type02 {
    padding-top: 3.0rem;
}

.price_simulation_result-block03-message01.-first {
    border-top: none;
}

.price_simulation_result-block03-message01 p {
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
    letter-spacing: 0em;
}

.price_simulation_result-block03-message01 p span {
    margin-right: 1.5rem;
    display: inline-block;
    vertical-align: middle;
    border-radius: 100vh;
    background: #FFFFFF;
    border: calc(1 * var(--base-unit)) solid #ffaa67;
    /* padding: 1.5rem 6.5rem; */
    padding: 0.833em 3.611em;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.0;
}

.price_simulation_result-block03-image01 {
    padding-bottom: 6.0rem;
    text-align: center;
}

.price_simulation_result-block03-image01 picture {
    text-align: center;
}

.price_simulation_result-block03-image01 picture img {
    width: 98.8rem;
    height: auto;
}

.price_simulation_result-block03-block {
    padding-top: 6.0rem;
    padding-bottom: 5.5rem;
    border-top: calc(4 * var(--base-unit)) dotted #cccccc;
}

.price_simulation_result-block03-block-table {
    display: block;
    text-align: center;
    font-size: 0;
}

.price_simulation_result-block03-block-table picture {
    display: inline-block;
    vertical-align: top;
    padding: 0 3.0rem;
}

.price_simulation_result-block03-block-table picture img {
    width: 20.0rem;
    height: auto;
}

.price_simulation_result-block03-block p {
    padding-top: 5.0rem;
    padding-left: 6.5rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.price_simulation_result-block03-message02 {
    padding-top: 11.5rem;
    border-top: calc(4 * var(--base-unit)) dotted #cccccc;
    min-height: 3.6rem;
    position: relative;
}

.price_simulation_result-block03-message02::before {
    position: absolute;
    inset: 6.0rem 0 auto;
    margin: 0 auto;
    content: "";
    display: block;
    width: 5.0rem;
    height: 3.5rem;
    background: var(--main-color03);
    --mask: url(img/common/svg_arrow04.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.price_simulation_result-block03-message02 p {
    text-align: center;
    color: #111111;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.78;
    letter-spacing: 0em;
}

.price_simulation_result-block03-message02 p span.color01 {
    text-align: center;
    color: #ef2525;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.78;
    letter-spacing: 0em;
}

.price_simulation_result-block03-message02 p span.color02 {
    text-align: center;
    color: var(--main-color01);

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.78;
    letter-spacing: 0em;
}

.price_simulation_result-block04 {
    padding-top: 3.0rem;
}

.price_simulation_result-block04-title {
    border-radius: 2.0rem;
    background: #efdac8;
    padding: 2.0rem 2.0rem;
}

.price_simulation_result-block04-title p {
    text-align: center;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.price_simulation_result-block04-title p span {
    text-align: center;
    color: var(--main-color01);

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.price_simulation_result-block04-table {
    margin: 2.5rem auto 8.0rem;
    width: 100%;
    display: table;
}

.price_simulation_result-block04-table-list {
    width: 33.3%;
    display: table-cell;
    vertical-align: top;
    text-align: center;
}

.price_simulation_result-block04-table-list:nth-of-type(3n+1) {
    padding-right: 2.6rem;
}

.price_simulation_result-block04-table-list:nth-of-type(3n+2) {
    padding-left: 1.3rem;
    padding-right: 1.3rem;
}

.price_simulation_result-block04-table-list:nth-of-type(3n) {
    padding-left: 2.6rem;
}

.price_simulation_result-block04-table-list > p {
    display: inline-block;
    border-radius: 50%;
    width: 10.0rem;
    height: 10.0rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
    position: relative;
    z-index: 2;
}

.price_simulation_result-block04-table-list > p > span {
    display: block;
    padding-top: 2.0rem;
    padding-bottom: .5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.price_simulation_result-block04-table-list-box {
    border-radius: 2.0rem;
    background: #ffb57b;
    padding: 6.0rem 3.0rem 5.0rem;
    margin-top: -5.0rem;
    position: relative;
    z-index: 1;
}

.price_simulation_result-block04-table-list-box picture {
    display: block;
    text-align: center;
    aspect-ratio: 280 / 160;
}

.price_simulation_result-block04-table-list-box picture img {
    width: 100%;
    height: auto;
    max-width: 28.0rem;
}

.price_simulation_result-block04-table-list-box > p {
    padding-top: 1.2rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.66;
}


#result_cmp .deteriorationChk {
    margin-top: 6.0rem;
    margin-bottom: 8.0rem;
    background: #ffead9;
    padding: 3.0rem 5.0rem;
}

#result_cmp .deteriorationChk .checkLegend {
    width: 23.2rem;
    float: left;
}

#result_cmp .deteriorationChk .checkLegend span {
    border-radius: 50%;
    background: var(--main-color01);
    color: #ffffff;
    font-size: 2.9rem;
    width: 22.6rem;
    height: 22.6rem;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
    line-height: 1.5;
    position: relative;
}

#result_cmp .deteriorationChk .checkLegend span img {
    position: absolute;
    right: -1.7rem;
    bottom: -.3rem;
}

#result_cmp .deteriorationChk .checkLegend span strong {
    font-size: 5.0rem;
    line-height: 1.2;
}

#result_cmp .deteriorationChk .checkLegend p {
    margin-top: 0;
}

#result_cmp .deteriorationChk .checkLegend img {
    margin-top: 2.0rem;
    width: 100%;
    height: auto;
}

#result_cmp .deteriorationChk .checkPoint {
    width: 75.0rem;
    float: right;
    background: none;
}

#result_cmp .deteriorationChk .checkPoint h3 {
    margin: 0 !important;
    background: #ffb57b !important;
    border-radius: 3.5rem;
    border: none !important;
    padding: 1.2rem 1.0rem !important;
    text-align: center;
    color: #111111 !important;

    font-size: 2.4rem !important;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;

    position: relative;
    z-index: 2;
}

#result_cmp .deteriorationChk .checkPoint ul {
    position: relative;
    overflow: hidden;
    padding: 4.8rem 2.0rem 2.0rem;
    margin: 0;
    background: #ffffff;
    margin-top: -2.8rem;
    z-index: 1;
}

#result_cmp .deteriorationChk .checkPoint ul li {
    width: 22.6rem;
    margin: 2.0rem 1.6rem 0 0;
    float: left;
    background: 0 0;
    padding: 0 !important;
}

#result_cmp .deteriorationChk .checkPoint ul li:nth-child(-n+3) {
    margin-top: 0;
}

#result_cmp .deteriorationChk .checkPoint ul li::before,
#result_cmp .deteriorationChk .checkPoint ul li::after {
    display: none;
}

#result_cmp .deteriorationChk .checkPoint ul li:nth-child(3n) {
    margin-right: 0;
}

#result_cmp .deteriorationChk .checkPoint ul li .checkpointThumb {
    position: relative;
    font-size: 1.3rem;
    margin-bottom: 1.0rem;
}

#result_cmp .deteriorationChk .checkPoint ul li .checkpointThumb img {
    width: 100%;
    height: auto;
}

#result_cmp .deteriorationChk .checkPoint ul li .checkTtl {
    position: absolute;
    bottom: 1.0rem;
    padding: 0 3.0rem;
    text-align: center;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#result_cmp .deteriorationChk .checkPoint ul li .checkTtl h4 {
    background: #bc111a !important;
    color: #ffffff !important;
    display: block !important;
    padding: 0 !important;
    font-size: 1.3rem !important;
    margin: 0 !important;
}

#result_cmp .deteriorationChk .checkPoint ul li .checkTtl h4::before, #main #result_cmp .deteriorationChk .checkPoint ul li .checkTtl h4::after {
    display: none;
}

#result_cmp .deteriorationChk .checkPoint ul li .checkTtl p {
    background: #ffffff;
    border-radius: .5rem;
    color: #bc111a;
    display: block;
    font-size: 1.6rem;
    margin-top: .5rem;
    line-height: 1.2;
}

#result_cmp .deteriorationChk .checkPoint ul li p {
    display: inline-block;
    font-size: 1.3rem;
    margin-bottom: 0;
}

.price_simulation_result-block04-image {
    padding-bottom: 3.0rem;
    text-align: center;
}

.price_simulation_result-block04-image picture {
    text-align: center;
}

.price_simulation_result-block04-image picture img {
    width: 93.2rem;
    height: auto;
}

.price_simulation_result-block05 {
    padding-top: 8.0rem;
}

.price_simulation_result-block05 * {
    box-sizing: border-box;
}

.price_simulation_result-block05-title {
    padding-top: 6.0rem;
    text-align: center;
}

.price_simulation_result-block05-title h4 {
    display: block;
    padding: 2.0rem 8.5rem;
    text-align: center;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 2.27;
    width: fit-content;
    margin: 0 auto;
    position: relative;
}

.price_simulation_result-block05-title h4::before,
.price_simulation_result-block05-title h4::after {
    content: "";
    display: block;
    position: absolute;
    width: 4px;
    height: 100%;
    background-image: radial-gradient(circle, #cccccc 1.5px, transparent 2.001px);
    background-position: 0 bottom;
    background-size: 4px 10px;
    background-repeat: repeat-y;
}

.price_simulation_result-block05-title h4::before {
    inset: 0 auto 0 0;
    margin: auto 0;
    transform: translate(25%, 25%) rotate(-45deg);
    transform-origin: center top;

}

.price_simulation_result-block05-title h4::after {
    inset: 0 0 0 auto;
    margin: auto 0;
    transform: translate(25%, 25%) rotate(45deg);
    transform-origin: center top;
}

.price_simulation_result-block05-title h4 span {
    color: var(--main-color01);
    font-size: 2.2rem;
    font-weight: 900;
}

.price_simulation_result-block05-table {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.price_simulation_result-block05-table > div {
    display: table-cell;
    vertical-align: middle;
}

.price_simulation_result-block05-table-left {
    width: 20.0rem;
    text-align: center;
}

.price_simulation_result-block05-table-left picture {
    text-align: center;
}

.price_simulation_result-block05-table-left picture img {
    width: 11.4rem;
    height: auto;
}

.price_simulation_result-block05-table-right {
    width: auto;
    text-align: left;
}

.price_simulation_result-block05-table-right .arrow_box {
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 4.0rem 4.0rem;
    text-align: left;
    border: calc(2 * var(--base-unit)) solid #ffaa67;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.price_simulation_result-block05-table-right .arrow_box span {
    text-align: left;
    color: #ef2525;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.price_simulation_result-block05-table-right .arrow_box::after,
.price_simulation_result-block05-table-right .arrow_box::before {
    border-color: transparent;
    border-style: solid;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    right: 100%;
    top: 50%;
}

.price_simulation_result-block05-table-right .arrow_box::after {
    border-color: rgba(255, 255, 255, 0);
    border-top-width: 1.0rem;
    border-bottom-width: 1.0rem;
    border-left-width: 2.0rem;
    border-right-width: 2.0rem;
    margin-top: -1.0rem;
    border-right-color: #FFFFFF;
}

.price_simulation_result-block05-table-right .arrow_box::before {
    border-color: rgba(201, 203, 192, 0);
    border-top-width: 1.3rem;
    border-bottom-width: 1.3rem;
    border-left-width: 1.3rem;
    border-right-width: 2.4rem;
    margin-top: -1.3rem;
    margin-right: 0px;
    border-right-color: #ffaa67;
}

.price_simulation_result-block05-table02 {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.price_simulation_result-block05-table02 > div {
    display: table-cell;
    vertical-align: middle;
}

.price_simulation_result-block05-table02-left {
    width: auto;
    text-align: left;
}

.price_simulation_result-block05-table02-left .arrow_box {
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 4.0rem 4.0rem;
    text-align: left;
    border: calc(2 * var(--base-unit)) solid #ffaa67;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.0;
}

.price_simulation_result-block05-table02-left .arrow_box span {
    text-align: left;
    color: #ef2525;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.price_simulation_result-block05-table02-left .arrow_box::after,
.price_simulation_result-block05-table02-left .arrow_box::before {
    border-color: transparent;
    border-style: solid;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    left: 100%;
    top: 50%;
}

.price_simulation_result-block05-table02-left .arrow_box::after {
    border-color: rgba(255, 255, 255, 0);
    border-top-width: 1.0rem;
    border-bottom-width: 1.0rem;
    border-left-width: 2.0rem;
    border-right-width: 2.0rem;
    margin-top: -1.0rem;
    border-left-color: #FFFFFF;
}

.price_simulation_result-block05-table02-left .arrow_box::before {
    border-color: rgba(201, 203, 192, 0);
    border-top-width: 1.3rem;
    border-bottom-width: 1.3rem;
    border-right-width: 1.3rem;
    border-left-width: 2.4rem;
    margin-top: -1.3rem;
    margin-left: 0px;
    border-left-color: #ffaa67;
}

.price_simulation_result-block05-table02-right {
    width: 20.0rem;
    text-align: center;
}

.price_simulation_result-block05-table02-right picture {
    text-align: center;
}

.price_simulation_result-block05-table02-right picture img {
    width: 11.4rem;
    height: auto;
}

.price_simulation_result-block06 {
    padding-top: 10.0rem;
}

.price_simulation_result-block06-table {
    margin: 5.0rem auto 0;
}

.price_simulation_result-block06-table-image p {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0em;
}

.price_simulation_result-block06-table-image dl {
    display: block;
    padding-top: 3.0rem;
}

.price_simulation_result-block06-table-image dl dt {
    text-align: center;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 2.0;
    letter-spacing: 0em;
}

.price_simulation_result-block06-table-image dl dd {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.price_simulation_result-block06-table-image dl dd a {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
    color: var(--body-text-color);
    text-decoration: underline;
}

.price_simulation_result-block06-table-image dl dd a:hover {
    text-decoration: none;
}

/* 
.price_simulation_result-block06-table-arrow {
    width: 10.0rem;
    text-align: center;
    padding-top: 13.5rem;
}

.price_simulation_result-block06-table-arrow picture {
    display: block;
    text-align: center;
}

.price_simulation_result-block06-table-arrow picture img {
    width: 2.4rem;
    height: auto;
} */
/* 
.price_simulation_result-block07 {
    padding-top: 5.0rem;
    padding-bottom: 12.0rem;
}

.price_simulation_result-block07 * {
    box-sizing: border-box;
}

.price_simulation_result-block07 h3 {
    text-align: center;
    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.price_simulation_result-block07 h3 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.price_simulation_result-block07-box {
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    background: #FFFFFF;
    padding: 5.0rem;
}

.price_simulation_result-block07-block {
    padding-top: 5.0rem;
    width: 94.5rem;
    display: block;
    text-align: left;
    font-size: 0;
}

.price_simulation_result-block07-block-list {
    display: inline-block;
    vertical-align: top;
    width: 31.5rem;
    padding: 0 3.5rem;
}

.price_simulation_result-block07-block-list picture {
    display: block;
    text-align: center;
}

.price_simulation_result-block07-block-list picture img {
    width: 20.0rem;
    height: auto;
}

.price_simulation_result-block07-block-list dl {
    display: block;
    padding-top: 2.5rem;
}

.price_simulation_result-block07-block-list dl dt {
    display: block;
    text-align: center;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 2.0;
    letter-spacing: 0em;
}

.price_simulation_result-block07-block-list dl dd {
    padding-top: 1.0rem;
    display: block;
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.price_simulation_result-block07-btn {
    padding-top: 6.0rem;
    text-align: center;
}

.price_simulation_result-block07-btn a {
    text-decoration: none;
    display: inline-block;
    vertical-align: top;
    background: #FFFFFF;
    border-radius: 3.0rem;
    border: calc(3 * var(--base-unit)) solid #ffb57b;
    padding: .5rem 4.5rem;
    text-align: center;
    color: #ffb57b;

    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;

    position: relative;
}

.price_simulation_result-block07-btn a::after {
    content: "";
    width: 2.6rem;
    height: 2.6rem;
    position: absolute;
    bottom: -1.6rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: inline-block;
    background: url("img/showroom/block02-icon.png") bottom center no-repeat transparent;
    background-size: 2.6rem auto;
} */

.form-checkbox .wpcf7-checkbox .wpcf7-list-item {
    width: 30%;
    display: inline-block;
    vertical-align: top;
    margin: 0;
}

.form-checkbox .wpcf7-checkbox .wpcf7-list-item input[type="checkbox"] {
    margin-right: 1.0rem;
    width: 1.3rem;
    height: 1.3rem;
}

.l-after-block01 {
    padding-top: 10.0rem;
}

.l-after-block01-table {
    width: 100%;
    display: table;
}

.l-after-block01-table > div {
    width: 50%;
    display: table-cell;
    vertical-align: middle;
}

.l-after-block01-table-left {
    text-align: left;
}

.l-after-block01-table-left p {
    text-align: left;
    color: #111111;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.357;
    letter-spacing: 0em;
}

.l-after-block01-table-left p span {
    text-align: left;
    color: var(--main-color01);

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.357;
    letter-spacing: 0em;
}

.l-after-block01-table-right {
    text-align: center;
}

.l-after-block01-table-right h2,
.l-after-block01-table-right h3 {
    text-align: center;
    font-size: 5.4rem;
    font-weight: 900;
    line-height: 1.48;
}

.l-after-block01-table-right h2 {
    line-height: 1;
}

.l-after-block01-table-right h2 span,
.l-after-block01-table-right h3 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 5.4rem;
    font-weight: 900;
    line-height: 1.48;
}

.l-after-block01-message {
    padding-top: 4.5rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-after-block01-message span {
    text-align: left;
    color: #ef2525;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-after-block02 {
    padding-top: 10.0rem;
}

.l-after-block02-inner {
    width: 134.0rem;
    margin: 0 auto;
}

.l-after-block02-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 10.0rem 12.0rem;
}

.l-after-block02-box-title {
    background: #ffd9bb;
    border-radius: 2.0rem;
    padding: 2.0rem 2.0rem;
}

.l-after-block02-box-title-wrapper {
    display: inline-block;
    vertical-align: middle;
    border-radius: 100vh;
    border: calc(3 * var(--base-unit)) solid #ff7608;
    background: #FFFFFF;
    text-align: center;
    padding: 1.2rem 2.5rem;
}

.l-after-block02-box-title-wrapper p {
    display: flex;
    /* vertical-align: top; */
    text-align: center;
    color: #ff7608;
    font-size: 4.2rem;
    font-weight: 900;
    line-height: 1;
    font-family: var(--en-font-family);
    align-items: center;
    justify-content: center;
}

.l-after-block02-box-title-wrapper p span {
    margin-right: 1.5rem;
    display: inline-block;
    vertical-align: top;
    padding: .5rem 2.5rem;
    border-radius: 100vh;
    background: #ff7608;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.5;
    font-family: var(--base-font-family);
}

.l-after-block02-box-title label,
.l-after-block02-box-title h3 {
    display: inline-block;
    padding-left: 2.5rem;
    vertical-align: middle;
    text-align: left;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1;
}

.l-after-block02-box-table {
    margin-top: 6.0rem;
    width: 100%;
    display: table;
}

.l-after-block02-box-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-after-block02-box-table-left {
    width: 46.5rem;
    text-align: left;
}

.l-after-block02-box-table-left picture {
    text-align: left;
}

.l-after-block02-box-table-left picture img {
    width: 42.0rem;
    height: auto;
}

.l-after-block02-box-table-right {
    width: auto;
    text-align: left;
}

.l-after-block02-box-table-right > div {
    display: block;
    padding-top: 1.5rem;
}

.l-after-block02-box-table-right > div h4 {
    display: block;
    text-align: left;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.41;
}

.l-after-block02-box-table-right > div h4 span {
    text-align: left;
    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.41;
}

.l-after-block02-box-table-right > div p {
    display: block;
    padding-top: 2.5rem;
    text-align: justify;
    letter-spacing: -0.05em;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-after-block02-box-table-right > div p span {
    color: #ef2525;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-after-block02-box-message {
    padding-top: 5.0rem;
    text-align: justify;
    letter-spacing: -0.05em;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-after-block02-box-image {
    display: block;
    padding-top: 5.0rem;
    text-align: center;
}

.l-after-block02-box-image img {
    width: 71.5rem;
    height: auto;
}

.l-after-block02-box-table02 {
    margin: 4.0rem auto 0;
    display: table;
}

.l-after-block02-box-table02-list {
    display: table-cell;
    vertical-align: top;
    padding: 0 1.5rem;
}

.l-after-block02-box-table02-list picture {
    text-align: center;
}

.l-after-block02-box-table02-list picture img {
    width: 34.0rem;
    height: auto;
}

.l-after-block02-box-table02-list-message {
    padding-top: .5rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.375;
}

#loan {
    --loan-color01: #d75c6a;
}

.l-loan-block01 {
    padding-top: 10.0rem;
}

.l-loan-block01 * {
    box-sizing: border-box;
}

.l-loan-block01 h3,
.l-loan-block01 h2 {
    text-align: center;
    color: #111111;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.66;
    letter-spacing: 0em;
}

.l-loan-block01 h3 span,
.l-loan-block01 h2 span {
    text-align: center;
    color: var(--main-color01);

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.66;
    letter-spacing: 0em;
}

.l-loan-block01-block {
    display: block;
    text-align: left;
    font-size: 0;
}

.l-loan-block01-block-list {
    width: 50%;
    display: inline-block;
    vertical-align: top;
    padding-top: 4.0rem;
}

.l-loan-block01-block-list:nth-of-type(odd) {
    padding-right: 2.0rem;
}

.l-loan-block01-block-list:nth-of-type(even) {
    padding-left: 2.0rem;
}

.l-loan-block01-block-list-box {
    display: block;
    padding: 3.0rem 3.0rem 5.0rem;
}

.l-loan-block01-block-list-box-back {
    padding-right: 20.0rem;
    background-size: 20.0rem auto;
    min-height: 12.0rem;
    text-align: left;
    padding-top: 3.3rem;
}

.l-loan-block01-block-list-box-back::before,
.l-loan-block01-block-list-box-back::after {
    content: "";
    display: block;
    position: absolute;
    width: 20.0rem;
    height: 12.0rem;
    inset: 3rem 3rem 5rem auto;
}

.l-loan-block01-block-list-box-back::before {
    border-radius: 2.0rem;
    background: #ffffff;
}

.l-loan-block01-block-list-box-back::after {
    /* width: 7.6rem;
    height: 7.6rem; */
    background-color: var(--main-color01);
    --mask: url(img/common/ico_cash.png);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center center;
    -webkit-mask-size: 7.6rem 7.6rem;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: 7.6rem 7.6rem;
}

.l-loan-block01-block-list-box-back.type01::after {
    --mask: url(img/common/ico_cash.png);
}

.l-loan-block01-block-list-box-back.type02::after {
    --mask: url(img/common/ico_creditcard.png);
}

.l-loan-block01-block-list-box-back.type03::after {
    --mask: url(img/common/ico_loan.png);
}

.l-loan-block01-block-list-box-back.type04::after {
    --mask: url(img/common/ico_bankloan.png);
}

.l-loan-block01-block-list-box-back p {
    display: inline-block;
    border-radius: 100vh;
    background: var(--main-color01);
    padding: 0.454em;
    min-width: 22.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.18;
}

.l-loan-block02 {
    padding-top: 8.0rem;
}

.l-loan-block02-table {
    width: 100%;
    display: table;
}

.l-loan-block02-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-loan-block02-table-left {
    width: 46.5rem;
    text-align: left;
    padding-right: 4.5rem;
}

.l-loan-block02-table-left picture {
    text-align: left;
}

.l-loan-block02-table-left picture img {
    width: 42.0rem;
    height: auto;
}

.l-loan-block02-table-right {
    width: auto;
    text-align: left;
}

.l-loan-block02-table-right p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-loan-block02-table-right-message {
    padding-top: 3.0rem;
}

.l-loan-block02-table-right p b {
    font-weight: 900;
}

.l-loan-block02-table-right p span {
    color: #ef2525;
    font-weight: 900;
}

.l-loan-block02-table-right ul {
    display: block;
    padding: 0 0 3.0rem;
}

.l-loan-block02-table-right ul li {
    text-align: left;
    color: var(--main-color01);
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 2.0;
}

.l-loan-block03 {
    padding-top: 12.0rem;
}

.l-loan-block03 * {
    box-sizing: border-box;
}

.l-loan-block03-message {
    margin-top: 2.0rem;
    background: url("img/common/img_illust_money01.png") right top no-repeat transparent;
    background-size: 23.6rem auto;
    min-height: 15.6rem;
    padding-top: 6.5rem;
    padding-left: 9.0rem;
    text-align: left;
    color: #111111;
    font-size: 2.0rem;
    font-weight: 900;
    line-height: 2.08;
}

.l-loan-block03-message span {
    color: var(--main-color01);
}

.l-loan-block03-table {
    width: 100%;
    display: table;
}

.l-loan-block03-table > div {
    display: table-cell;
    vertical-align: middle;
}

.l-loan-block03-table-left,
.l-loan-block03-table-right:has(picture) {
    width: 30.0rem;
    text-align: center;
}

.l-loan-block03-table-left:has(.arrow_box) {
    width: auto;
}

.l-loan-block03-table-left picture,
.l-loan-block03-table-right picture {
    text-align: center;
}

.l-loan-block03-table-left picture img,
.l-loan-block03-table-right picture img {
    width: 20.0rem;
    height: auto;
}

.l-loan-block03-table-right {
    width: auto;
    text-align: left;
}

.l-loan-block03-table-left .arrow_box,
.l-loan-block03-table-right .arrow_box {
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 4.0rem 4.0rem;
    text-align: left;
    border: calc(2 * var(--base-unit)) solid #ffaa67;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.0;
}

.l-loan-block03-table-left .arrow_box span,
.l-loan-block03-table-right .arrow_box span {
    color: #ef2525;
}

.l-loan-block03-table-left .arrow_box::after,
.l-loan-block03-table-left .arrow_box::before,
.l-loan-block03-table-right .arrow_box::after,
.l-loan-block03-table-right .arrow_box::before {
    border-color: transparent;
    border-style: solid;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    right: 100%;
    top: 50%;
}

.l-loan-block03-table-left .arrow_box::after,
.l-loan-block03-table-left .arrow_box::before {
    left: 100%;
    right: auto;
}

.l-loan-block03-table-left .arrow_box::after {
    border-color: rgba(255, 255, 255, 0);
    border-top-width: 1.0rem;
    border-bottom-width: 1.0rem;
    border-left-width: 2.0rem;
    border-right-width: 2.0rem;
    margin-top: -1.0rem;
    border-left-color: #FFFFFF;
}

.l-loan-block03-table-right .arrow_box::after {
    border-color: rgba(255, 255, 255, 0);
    border-top-width: 1.0rem;
    border-bottom-width: 1.0rem;
    border-left-width: 2.0rem;
    border-right-width: 2.0rem;
    margin-top: -1.0rem;
    border-right-color: #FFFFFF;
}

.l-loan-block03-table-left .arrow_box::before {
    border-color: rgba(201, 203, 192, 0);
    border-top-width: 1.3rem;
    border-bottom-width: 1.3rem;
    border-left-width: 2.4rem;
    border-right-width: 1.3rem;
    margin-top: -1.3rem;
    margin-left: 0px;
    border-left-color: #ffaa67;
}

.l-loan-block03-table-right .arrow_box::before {
    border-color: rgba(201, 203, 192, 0);
    border-top-width: 1.3rem;
    border-bottom-width: 1.3rem;
    border-left-width: 1.3rem;
    border-right-width: 2.4rem;
    margin-top: -1.3rem;
    margin-right: 0px;
    border-right-color: #ffaa67;
}

.l-loan-block05 * {
    box-sizing: border-box;
}

.l-loan-block05-table {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.l-loan-block05-table > div {
    display: table-cell;
    vertical-align: middle;
}

.l-loan-block05-table-left {
    width: auto;
    text-align: left;
}

.l-loan-block05-table-left .arrow_box {
    position: relative;
    width: 100%;
    height: auto;
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 4.0rem 4.0rem;
    text-align: left;
    border: calc(2 * var(--base-unit)) solid #ffaa67;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-loan-block05-table-left .arrow_box span {
    text-align: left;
    color: #ef2525;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-loan-block05-table-left .arrow_box::after,
.l-loan-block05-table-left .arrow_box::before {
    border-color: transparent;
    border-style: solid;
    content: '';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    left: 100%;
    top: 50%;
}

.l-loan-block05-table-left .arrow_box::after {
    border-color: rgba(255, 255, 255, 0);
    border-top-width: 1.0rem;
    border-bottom-width: 1.0rem;
    border-left-width: 2.0rem;
    border-right-width: 2.0rem;
    margin-top: -1.0rem;
    border-left-color: #FFFFFF;
}

.l-loan-block05-table-left .arrow_box::before {
    border-color: rgba(201, 203, 192, 0);
    border-top-width: 1.3rem;
    border-bottom-width: 1.3rem;
    border-right-width: 1.3rem;
    border-left-width: 2.4rem;
    margin-top: -1.3rem;
    margin-left: 0px;
    border-left-color: #ffaa67;
}

.l-loan-block05-table-right {
    width: 30.0rem;
    text-align: center;
}

.l-loan-block05-table-right picture {
    text-align: center;
}

.l-loan-block05-table-right picture img {
    width: 20.0rem;
    height: auto;
}

.l-loan-block06 {
    padding-top: 9.0rem;
}

.l-loan-block06-box {
    margin-top: 4.0rem;
    border-radius: 2.0rem;
    background: #FFFFFF;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    padding: 6.0rem 6.0rem;
    text-align: left;
}

.l-loan-block06-box-title {
    display: inline-block;
    border-radius: 100vh;
    background: var(--main-color01);
    padding: 2.0rem .5rem;
    min-width: 20.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.18;
}

.l-loan-block06-box-data01 {
    padding-left: 6.0rem;
    text-align: left;
    margin-top: -5.0rem;
}

.l-loan-block06-box-data01 > label {
    display: inline-block;
    vertical-align: top;
    margin-top: 11.5rem;
    margin-right: 3.0rem;
    background: var(--loan-color01);
    padding: 1.0rem 1.0rem;
    min-width: 18.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.625;
}

.l-loan-block06-box-data01-message {
    display: inline-block;
    vertical-align: top;
    padding-top: 9.0rem;
    padding-right: 23.0rem;
    background: url("img/common/img_loan_balloon01.png") right 8.0rem top no-repeat transparent;
    background-size: 14.9rem auto;
    min-height: 8.6rem;
    text-align: left;
    color: var(--loan-color01);
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1;
}

.l-loan-block06-box-data01-message span.span01 {
    text-align: left;
    color: var(--loan-color01);
    font-size: 8.0rem;
    font-weight: 900;
    line-height: 1;
}

.l-loan-block06-box-data01-message span.span02 {
    padding-left: 1.0rem;
    text-align: left;
    color: var(--loan-color01);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
}

.l-loan-block06-box-data02 {
    padding-top: 4.0rem;
    padding-left: 6.0rem;
}

.l-loan-block06-box-data02 > label {
    display: inline-block;
    vertical-align: bottom;
    margin-right: 3.0rem;
    background: var(--loan-color01);
    padding: 1.0rem 1.0rem;
    min-width: 18.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.625;
}

.l-loan-block06-box-message {
    padding-top: 2.0rem;
    padding-left: 6.0rem;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-loan-block06-box-data02-message {
    display: inline-block;
    vertical-align: bottom;
    text-align: left;
    color: var(--loan-color01);
    font-size: 3.2rem;
    font-weight: 900;
    line-height: 1;
}

.l-loan-block06-box-data02-message span {
    text-align: left;
    color: var(--loan-color01);
    font-size: 5.6rem;
    font-weight: 900;
    line-height: 1;
}

.l-loan-block06-box-caution {
    padding-top: 3.0rem;
    padding-left: 6.0rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-loan-block07 {
    padding-top: 2.0rem;
}

.l-loan-block07-title {
    margin-top: 4.0rem;
    min-height: 5.4rem;
    padding-left: 7.0rem;
    text-align: left;
    color: var(--loan-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.08;
    position: relative;
}

.l-loan-block07-title::before,
.l-loan-block07-title::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0 auto 0 0;
    margin: auto 0;
    width: 5.4rem;
    height: 5.4rem;
}

.l-loan-block07-title::before {
    background: currentColor;
    border-radius: 100vh;
}

.l-loan-block07-title::after {
    background: #ffffff;
    --mask: url(img/common/svg_heart.svg);
    mask-image: var(--mask);
    mask-size: contain;
    mask-position: left top;
    mask-repeat: no-repeat;
    -webkit-mask-image: var(--mask);
    -webkit-mask-size: contain;
    -webkit-mask-position: left top;
    -webkit-mask-repeat: no-repeat;
}

.l-loan-block07-title span {
    text-align: left;
    color: var(--loan-color01);

    font-size: 1.8rem;
    font-weight: 900;
    line-height: 2.08;
    letter-spacing: 0em;
}

.l-loan-block07-message {
    padding-top: 2.0rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-loan-block07-block {
    padding-top: 4.0rem;
}

.l-loan-block07-block-table {
    width: 100%;
    display: table;
}

.l-loan-block07-block-table > p {
    display: table-cell;
    vertical-align: bottom;
}

.l-loan-block07-block-table-left {
    text-align: left;
    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.0;
}

.l-loan-block07-block-table-right {
    text-align: right;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-loan-block07-block table {
    margin-top: 2.0rem;
    width: 100%;
    border-collapse: separate;
}

.l-loan-block07-block table tr th {
    width: 10%;
    padding: 1.0rem 0;
    background: #ffebbd;
    text-align: center;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-loan-block07-block table tr th span {
    display: block;
    color: #111111;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
}

.l-loan-block07-block table tr th.th-01 {
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-bottom: none;
}

.l-loan-block07-block table tr th.th-02 {
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-left: none;
    border-bottom: none;
}

.l-loan-block07-block table tr th.th-03 {
    border: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-loan-block07-block table tr:first-of-type th:first-of-type {
    border-radius: 1.5rem 0 0 0;
}

.l-loan-block07-block table tr:first-of-type th:last-of-type {
    border-radius: 0 1.5rem 0 0;
}

.l-loan-block07-block table tr td {
    width: 10%;
    padding: 1.0rem 0;
    background: #FFFFFF;
    text-align: center;
    color: #111111;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-loan-block07-block table tr td span {
    display: block;
    color: #111111;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-loan-block07-block table tr td.td-01 {
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-left: none;
    border-bottom: none;
}

.l-loan-block07-block table tr td.td-02 {
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-left: none;
}

.l-loan-block07-block table tr:nth-of-type(odd) td {
    background: #efdac8 !important;
}

.l-loan-block07-block table tr:last-of-type th:first-of-type {
    border-radius: 0 0 0 1.5rem;
}

.l-loan-block07-block table tr:last-of-type td:last-of-type {
    border-radius: 0 0 1.5rem 0;
}

.l-loan-block07-block-caution {
    padding-top: 1.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-loan-block08 {
    padding-top: 9.5rem;
}

.l-loan-block08 * {
    box-sizing: border-box;
}

.l-loan-block08-block {
    padding-top: 3.0rem;
}

.l-loan-block08-block-table {
    width: 100%;
    display: block;
}

.l-loan-block08-block-table > div {
    width: 100%;
    display: block;
    vertical-align: top;
}

.l-loan-block08-block-table-left {
    width: 100%;
}

.l-loan-block08-block-table-right {
    width: 100%;
}

.l-loan-block08-block-message02 {
    padding-top: 1.0rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.0;
}

.l-loan-block08-block-message {
    padding-top: 1.0rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-loan-block08-block-message.-last {
    padding-bottom: 6.0rem;
}

.l-loan-block08-block-message span {
    text-align: left;
    color: var(--red);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-loan-block08-block ul {
    display: block;
    padding: 0 0 3.0rem;
    font-size: 0;
    text-align: center;
}

.l-loan-block08-block ul li {
    display: inline-block;
    padding: 1.0rem 1.5rem;
    text-align: left;
    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.0;
}

.l-loan-block08-block-table table th {
    text-align: center;
    width: auto;
}

/* 
.l-loan-block08-block table {
    width: 100%;
    border-collapse: separate;
    margin-top: 2.0rem;
}

.l-loan-block08-block table tr th {
    padding: 1.0rem 2.0rem;
    background: #ffebbd;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-loan-block08-block table tr th.th-01 {
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-bottom: none;
}

.l-loan-block08-block table tr th.th-02 {
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-left: none;
    border-bottom: none;
}

.l-loan-block08-block table tr th.th-03 {
    border: calc(1 * var(--base-unit)) solid #cccccc;
}

.l-loan-block08-block table tr:first-of-type th:first-of-type {
    border-radius: 1.5rem 0 0 0;
}

.l-loan-block08-block table tr:first-of-type th:last-of-type {
    border-radius: 0 1.5rem 0 0;
}

.l-loan-block08-block table tr td {
    padding: 1.0rem 2.0rem;
    background: #FFFFFF;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-loan-block08-block table tr td.td-01 {
    border: calc(1 * var(--base-unit)) solid #ffaa67;
    border-left: none;
    border-bottom: none;
}

.l-loan-block08-block table tr td.td-02 {
    border: calc(1 * var(--base-unit)) solid #ffaa67;
    border-left: none;
}

.l-loan-block08-block table tr:last-of-type th:first-of-type {
    border-radius: 0 0 0 1.5rem;
}

.l-loan-block08-block table tr:last-of-type td:last-of-type {
    border-radius: 0 0 1.5rem 0;
} */

.l-rain-block01 {
    padding-top: 10.0rem;
}

.l-rain-block01-image {
    text-align: center;
}

.l-rain-block01-image picture {
    text-align: center;
}

.l-rain-block01-image picture img {
    width: 100%;
    height: auto;
}

.l-rain-block01-table {
    width: 100%;
    display: table;
    margin-top: 5.0rem;
}

.l-rain-block01-table > div {
    display: table-cell;
    vertical-align: middle;
}

.l-rain-block01-table-left {
    width: auto;
    padding-right: 3.5rem;
}

.l-rain-block01-table-left p {
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block01-table-right {
    width: 43.0rem;
    text-align: center;
}

.l-rain-block01-table-right-message {
    padding-bottom: 1.5rem;
    text-align: center;
    color: #111111;

    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0em;
}

.l-rain-block01-table-right-message span.color01 {
    text-align: center;
    color: #ef2525;

    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0em;
}

.l-rain-block01-table-right-message span.color02 {
    text-align: center;
    color: var(--main-color01);

    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0em;
}

.l-rain-block01-table-right .telBox {
    position: relative;
}

.l-rain-block01-table-right .telBox .tel {
    background: var(--main-color03);
    font-size: 1.3rem !important;
    font-weight: normal;
    text-align: left;
    color: #ffffff;
    margin: 0 auto;
    padding: 2.0rem 4.0rem 2.0rem 1.5rem;
    display: block;
    border-radius: 6.0rem;
    position: relative;
    width: fit-content;
}

.l-rain-block01-table-right .telBox .tel .tel-link {
    font-size: 4.6rem;
    font-family: var(--en-font-family);
    font-weight: 500;
    line-height: 1;
    margin: 0;
    /* float: left; */
    background-image: none;
    /* position: relative;*/
}

.l-rain-block01-table-right .telBox .tel .tel-link::before {
    content: "";
    display: block;
    top: 0;
    left: 2.0rem;
    bottom: 0;
    margin: auto 0;
    position: absolute;
    --mask: url(img/common/svg_tel.svg);
    mask-image: var(--mask);
    mask-size: contain;
    mask-position: left top;
    mask-repeat: no-repeat;
    -webkit-mask-image: var(--mask);
    -webkit-mask-size: contain;
    -webkit-mask-position: left top;
    -webkit-mask-repeat: no-repeat;
    background-color: #ffffff;
    width: 6.0rem;
    height: 6.0rem;
}

.l-rain-block01-table-right .telBox .tel .tel-time {
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.4;
    padding-top: .5rem;
    background: none;
    font-family: var(--base-font-family);
    word-break: break-all;
}

.l-rain-block01-table-right .telBox .tel span,
.l-rain-block01-table-right .telBox .tel small.tel-time {
    color: #ffffff;
    padding-left: 8.0rem;
    display: block;
}

.l-rain-block02 {
    padding-top: 12.0rem;
}

.l-rain-block02 * {
    box-sizing: border-box;
}

.l-rain-block02-block {
    display: block;
    text-align: center;
    font-size: 0;
    padding-top: 4.0rem;
}

.l-rain-block02-block-list {
    width: 20.0rem;
    display: inline-block;
    vertical-align: top;
    padding: 2.0rem 2.0rem;
}

.l-rain-block02-block-list picture {
    display: block;
    text-align: center;
}

.l-rain-block02-block-list picture img {
    width: 16.0rem;
    height: auto;
}

.l-rain-block02-message {
    padding-bottom: 4.0rem;
    border-bottom: calc(3 * var(--base-unit)) dotted #ffaa67;
    padding-top: 2.0rem;
    text-align: center;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-rain-block02-message span {
    text-align: center;
    color: #5285d9;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-rain-block03-block {
    padding-top: 9.5rem;
    min-height: 2.4rem;
}

.l-rain-block03-block-table {
    width: 100%;
    display: table;
}

.l-rain-block03-block-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-rain-block03-block-table-left {
    width: auto;
    padding-right: 9.0rem;
}

.l-rain-block03-block-table-left-title {
    text-align: left;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.27;
}

.l-rain-block03-block-table-left-title span {
    text-align: left;
    color: var(--main-color01);
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.27;
}

.l-rain-block03-block-table-left ul {
    display: block;
    padding-top: 2.5rem;
}

.l-rain-block03-block-table-left ul li {
    display: block;
    text-align: left;
    color: #ef2525;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.77;
    letter-spacing: 0em;
}

.l-rain-block03-block-table-left-message {
    padding-top: 2.5rem;
    display: block;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-rain-block03-block-table-right {
    width: 58.6rem;
    text-align: center;
}

.l-rain-block03-block-table-right picture {
    text-align: center;
}

.l-rain-block03-block-table-right picture img {
    width: 58.6rem;
    height: auto;
}

.l-rain-block03-block-btn {
    padding-top: 8.5rem;
    text-align: center;
    padding-bottom: 1.6rem;
}

.l-rain-block03-block-btn a {
    font-size: 2.4rem;
    min-width: min(100%, 44.0rem);
}

/* .l-rain-block03-block-btn a {
    text-decoration: none;
    display: inline-block;
    vertical-align: top;
    background: #FFFFFF;
    border-radius: 3.0rem;
    border: calc(3 * var(--base-unit)) solid #ffb57b;
    padding: .5rem 4.5rem;
    text-align: center;
    color: #ffb57b;

    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0em;
    position: relative;
} */

/* .l-rain-block03-block-btn a::after {
    content: "";
    width: 2.6rem;
    height: 2.6rem;
    position: absolute;
    bottom: -1.6rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: inline-block;
    background: url(img/showroom/block02-icon.png) bottom center no-repeat transparent;
    background-size: 2.6rem auto;
} */

.l-rain-block04 {
    padding-top: 11.0rem;
}

.l-rain-block04 * {
    box-sizing: border-box;
}

.l-rain-block04-block {
    display: block;
    text-align: left;
    font-size: 0;
}

.l-rain-block04-block-list {
    width: 33.3%;
    display: inline-block;
    vertical-align: top;
    padding-top: 4.0rem;
}

.l-rain-block04-block-list:nth-of-type(3n+1) {
    padding-right: 4.6rem;
}

.l-rain-block04-block-list:nth-of-type(3n+2) {
    padding-left: 2.3rem;
    padding-right: 2.3rem;
}

.l-rain-block04-block-list:nth-of-type(3n) {
    padding-left: 4.6rem;
}

.l-rain-block04-block-list picture {
    text-align: center;
}

.l-rain-block04-block-list picture img {
    width: 100%;
    height: 100%;
}

.l-rain-block04-block-list p {
    padding-top: 1.5rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.625;
}

.l-rain-block04-message {
    padding-top: 4.0rem;
    text-align: center;
}

.l-rain-block04-message01 {
    padding-bottom: 1.0rem;
    text-align: center;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.625;
    letter-spacing: 0em;
}

.l-rain-block04-message02 {
    display: inline-block;
    border-radius: 3.0rem;
    background: #ffb57b;
    padding: .8rem 4.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-rain-block04-message03 {
    padding-bottom: 3.0rem;
    border-bottom: calc(3 * var(--base-unit)) dotted #ffaa67;
    padding-top: 1.0rem;
    text-align: center;
    color: #111111;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.44;
    letter-spacing: 0em;
}

.l-rain-block04-message03 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.44;
    letter-spacing: 0em;
}


.l-rain-block05 * {
    box-sizing: border-box;
}

.l-rain-block05-block {
    padding-top: 4.0rem;
    min-height: 3.6rem;
    position: relative;
}

.l-rain-block05-block::before {
    position: absolute;
    inset: 1.5rem 0 auto;
    margin: 0 auto;
    content: "";
    display: block;
    width: 5.0rem;
    height: 3.5rem;
    background: var(--main-color01);
    --mask: url(img/common/svg_arrow04.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-rain-block05-block-wrapper {
    padding-top: 5.0rem;
}

.l-rain-block05-block-wrapper-title {
    text-align: center;
    position: relative;
    z-index: 2;
}

.l-rain-block05-block-wrapper-title p {
    padding: 1.0rem 3.0rem .8rem;
    display: inline-block;
    vertical-align: top;
    border-radius: 3.0rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;

    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.72;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-title p span {
    padding-left: 2.0rem;
    display: inline-block;
    vertical-align: top;
    text-align: center;
    color: #FFFFFF;
    font-size: 4.2rem;
    font-weight: 900;
    line-height: 1;
    position: relative;
    z-index: 2;
    top: -.4rem
}

.l-rain-block05-block-wrapper-box {
    margin-top: -3.2rem;
    position: relative;
    z-index: 1;
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    background: #FFFFFF;
    padding: 6.0rem 6.0rem;
    position: relative;
    z-index: 1;
}

.l-rain-block05-block-wrapper-box-table {
    width: 100%;
    display: table;
}

.l-rain-block05-block-wrapper-box-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-rain-block05-block-wrapper-box-table-left {
    width: 47.0rem;
    text-align: left;
    padding-right: 5.0rem;
}

.l-rain-block05-block-wrapper-box-table-left picture {
    text-align: center;
}

.l-rain-block05-block-wrapper-box-table-left picture img {
    width: 42.0rem;
    height: auto;
}

.l-rain-block05-block-wrapper-box-table-right {
    width: auto;
    text-align: left;
}

.l-rain-block05-block-wrapper-box-table-right > div {
    padding-top: 1.5rem;
    display: block;
}

.l-rain-block05-block-wrapper-box-table-right > div h4 {
    display: block;
    text-align: left;
    color: var(--main-color01);

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.08;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-table-right > div p {
    display: block;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-image {
    padding-top: 5.0rem;
    position: relative;
    height: 46.5rem;
}

.l-rain-block05-block-wrapper-box-image01 {
    position: absolute;
    z-index: 2;
    top: 7.7rem;
    right: 2.7rem;
}

.l-rain-block05-block-wrapper-box-image01 picture img {
    width: 45.6rem;
    height: auto;
}

.l-rain-block05-block-wrapper-box-image02 {
    position: absolute;
    z-index: 1;
    top: 5.0rem;
    left: 10.4rem;
}

.l-rain-block05-block-wrapper-box-image02 picture img {
    width: 52.0rem;
    height: auto;
}

.l-rain-block05-block-wrapper-box-table-right ul {
    display: block;
    padding-top: 2.5rem;
    padding-bottom: 3.0rem;
}

.l-rain-block05-block-wrapper-box-table-right ul li {
    display: block;
    text-align: left;
    color: var(--main-color01);

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-table-right > p {
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-dl {
    display: block;
}

.l-rain-block05-block-wrapper-box-dl h4 {
    display: block;
    text-align: left;
    color: var(--main-color01);

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.08;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-dl p {
    display: block;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-table02 {
    display: table;
}

.l-rain-block05-block-wrapper-box-table02-list {
    display: table-cell;
    vertical-align: top;
    text-align: center;
    width: 46.0rem;
    padding: 4.0rem 2.0rem 0;
}

.l-rain-block05-block-wrapper-box-table02-list picture img {
    width: 42.0rem;
    height: auto;
}

.l-rain-block05-block-wrapper-box-table02-list p {
    padding-top: 1.5rem;
    text-align: center;
    color: var(--main-color01);

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-mesasge {
    padding-top: 1.5rem;
    text-align: center;
    color: var(--main-color01);

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.625;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-mesasge p {
    padding-top: 3.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block05-block-wrapper-box-mesasge p.l-rain-block05-block-wrapper-box-mesasge-caution {
    color: #ef2525 !important;
}

.l-rain-block06 {
    padding-top: 12.0rem;
}

.l-rain-block06-table {
    margin: 5.0rem auto 4.0rem;
    width: 100%;
    display: table;
}

.l-rain-block06-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-rain-block06-table-left {
    width: auto;
    padding-right: 9.5rem;
}

.l-rain-block06-table-left p {
    padding-bottom: 1.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block06-table-left p span {
    text-align: left;
    color: var(--main-color01);

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block06-table-right {
    width: 42.0rem;
    text-align: center;
}

.l-rain-block06-table-right picture {
    text-align: center;
}

.l-rain-block06-table-right picture img {
    width: 42.0rem;
    height: auto;
}

.l-rain-block06-message {
    padding-bottom: 1.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block06-message span {
    text-align: left;
    color: var(--main-color01);

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-rain-block07 {
    padding: 5.0rem 5.0rem 0;
}

.l-rain-block07-box {
    border-radius: 2.0rem;
    background: #efdac8;
    padding: 6.0rem 7.0rem;
}

.l-rain-block07-box-title {
    border-radius: 3.0rem;
    background: var(--main-color01);
    padding: 1.2rem .5rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0em;
}

.l-rain-block07-box-block {
    display: block;
    text-align: center;
    font-size: 0;
}

.l-rain-block07-box-block picture {
    display: inline-block;
    margin: 3.0rem 2.2rem 0;
}

.l-rain-block07-box-block picture img {
    width: 30.0rem;
    height: auto;
}

.l-howread-block01 {
    padding-top: 10.0rem;
}

.l-howread-block01-table {
    width: 100%;
    display: table;
}

.l-howread-block01-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-howread-block01-table-left {
    width: auto;
    text-align: left;
    padding-right: 4.0rem;
}

.l-howread-block01-table-left-title {
    text-align: left;
    color: #111111;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 2.22;
    letter-spacing: 0em;
}

.l-howread-block01-table-left-title span {
    text-align: left;
    color: #111111;

    font-size: 5.4rem;
    font-weight: 900;
    line-height: 1.48;
    letter-spacing: 0em;
}

.l-howread-block01-table-left-title span.color01 {
    text-align: left;
    color: var(--main-color01);

    font-size: 5.4rem;
    font-weight: 900;
    line-height: 1.48;
    letter-spacing: 0em;
}

.l-howread-block01-table-left p {
    padding-top: 4.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-howread-block01-table-left p span {
    text-align: left;
    color: #ef2525;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-howread-block01-table-right {
    width: 42.5rem;
    text-align: center;
}

.l-howread-block01-table-right picture {
    text-align: center;
}

.l-howread-block01-table-right picture img {
    width: 42.5rem;
    height: auto;
}

.l-howread-block02 {
    padding-top: 7.0rem;
}

.l-howread-block02-block {
    text-align: center;
}

.l-howread-block02-image01 {
    text-align: right;
    position: relative;
    z-index: 2;
}

.l-howread-block02-image01 picture {
    text-align: right;
}

.l-howread-block02-image01 picture img {
    width: 65.0rem;
    height: auto;
}

.l-howread-block02-image02 {
    display: inline-block;
    margin-top: -5.0rem;
    text-align: center;
    padding: 6.0rem 6.0rem 5.0rem 3.5rem;
    background: #FFFFFF;
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) dotted #ffaa67;
}

.l-howread-block02-image02 picture {
    text-align: center;
}

.l-howread-block02-image02 picture img {
    width: 90.4rem;
    height: auto;
}

.l-howread-block03 {
    padding-top: 2.0rem;
}

.l-howread-block03 * {
    box-sizing: border-box;
}

.l-howread-block03-block {
    display: block;
    text-align: center;
    font-size: 0;
}

.l-howread-block03-block p {
    width: 33.3%;
    display: inline-block;
    vertical-align: top;
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
}

.l-howread-block03-block p:nth-of-type(1) {
    padding-right: 2.8rem;
}

.l-howread-block03-block p:nth-of-type(2) {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
}

.l-howread-block03-block p:nth-of-type(3) {
    padding-right: 2.8rem;
}

.l-howread-block03-block p:nth-of-type(4) {
    padding-left: 2.1rem;
    padding-right: 2.1rem;
}

.l-howread-block03-block p:nth-of-type(5) {
    padding-left: 2.1rem;
    padding-right: 2.1rem;
}

.l-howread-block03-block .btn-arrow01 {
    padding-top: 0.72em;
}

.l-howread-block03-block p a span {
    vertical-align: middle;
    text-align: center;
    opacity: 0.5;
    font-size: 3.0rem;
    font-weight: 700;
    line-height: 1;
    position: relative;
    top: -.4rem;
    left: -.6rem;
}

.l-howread-block03-block p:empty {
    display: none;
}

.l-howread-block04 * {
    box-sizing: border-box;
}

.l-howread-block04-wrapper {
    padding-top: 9.0rem;
}

.l-howread-block04-title {
    border-radius: 2.0rem;
    background: #ffd9bb;
    padding: 2.0rem 3.0rem 2.0rem 11.0rem;
    text-align: left;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
}

.l-howread-block04-title b {
    color: var(--main-color01);
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    inset: 0 auto 0 3.0rem;
    margin: auto 0;
    font-size: 4.4rem;
    font-weight: 700;
    width: 6.0rem;
    height: 6.0rem;
    font-family: var(--en-font-family);
    border: 3px solid currentColor;
    border-radius: 100vh;
    background: #ffffff;
}

.l-howread-block04-title img {
    vertical-align: middle;
    margin-right: 2.0rem;
    width: 6.0rem;
    height: auto;
}

.l-howread-block04-title span.span02 {
    text-align: left;
    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-howread-block04-table {
    padding: 6.0rem 10.0rem 0;
}

.l-howread-block04-table > p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.0;
}

/* 
.l-howread-block04-table table {
    margin-top: 1.5rem;
    width: 100%;
    border-collapse: separate;
}

.l-howread-block04-table table tr th {
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    padding: 1.0rem 2.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table table tr:first-of-type th:last-of-type {
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-table table tr:last-of-type th {
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-table table tr th.th-01 {
    background: #e5e6e0;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table table tr th.th-02 {
    background: #efdac8;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table table tr:first-of-type th:first-of-type {
    border-radius: 2.0rem 0 0 0;
}

.l-howread-block04-table table tr:first-of-type th:last-of-type {
    border-radius: 0 2.0rem 0 0;
}

.l-howread-block04-table table tr:last-of-type th:first-of-type {
    border-radius: 0 0 0 2.0rem;
}

.l-howread-block04-table table tr td {
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table table tr td:last-of-type {
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-table table tr:last-of-type td {
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-table table tr td.td-01 {
    background: #FFFFFF;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table table tr:first-of-type td:first-of-type {
    border-radius: 2.0rem 0 0 0;
}

.l-howread-block04-table table tr:first-of-type td:last-of-type {
    border-radius: 0 2.0rem 0 0;
}

.l-howread-block04-table table tr:last-of-type td:last-of-type {
    border-radius: 0 0 2.0rem 0;
} */

.l-howread-block04-messsage {
    padding-top: 3.5rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-howread-block04-messsage span {
    text-align: left;
    color: var(--red);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-howread-block04-block {
    padding-top: 3.5rem;
}

.l-howread-block04-block-image {
    padding-left: 1.5rem;
    text-align: left;
    position: relative;
    z-index: 2;
}

.l-howread-block04-block-image {
    text-align: left;
}

.l-howread-block04-block-image img {
    width: 21.1rem;
    height: auto;
}

.l-howread-block04-block-box {
    margin-top: -8.5rem;
    position: relative;
    z-index: 1;
    border-radius: 2.0rem;
    background: #FFFFFF;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-block-box-inner {
    padding: 5.5rem 19.0rem;
}

.l-howread-block04-block-box p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-howread-block04-table02 {
    padding: 6.0rem 10.0rem;
}

.l-howread-block04-table02 > p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.0;
}

.l-howread-block04-table02 table th {
    width: auto;
    /* text-align: center; */
}

/* 
.l-howread-block04-table02 table {
    margin-top: 1.5rem;
    width: 100%;
    border-collapse: separate;
}

.l-howread-block04-table02 table tr th {
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    padding: 1.0rem 2.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table02 table tr:last-of-type th {
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-table02 table tr th.th-01 {
    background: #e5e6e0;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table02 table tr th.th-01.-last {
    border-radius: 0 2.0rem 0 0;
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-table02 table tr th.th-02 {
    background: #efdac8;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table02 table tr th.th-03 {
    background: #efdac8;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table02 table tr:first-of-type th:first-of-type {
    border-radius: 2.0rem 0 0 0;
}

.l-howread-block04-table02 table tr:last-of-type th:first-of-type {
    border-radius: 0 0 0 2.0rem;
}

.l-howread-block04-table02 table tr td {
    border-left: calc(1 * var(--base-unit)) solid #ffaa67;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table02 table tr td:last-of-type {
    border-right: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-table02 table tr:last-of-type td {
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-howread-block04-table02 table tr td.td-01 {
    background: #FFFFFF;
    text-align: center;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table02 table tr td.td-02 {
    background: #FFFFFF;
    padding: 1.0rem 2.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-howread-block04-table02 table tr:first-of-type td:last-of-type {
    border-radius: 0 2.0rem 0 0;
}

.l-howread-block04-table02 table tr:last-of-type td:last-of-type {
    border-radius: 0 0 2.0rem 0;
} */

.l-howread-block04-block02-table {
    width: 100%;
    display: table;
    margin-top: 5.5rem;
}

.l-howread-block04-block02-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-howread-block04-block02-table-left {
    width: 25.5rem;
    text-align: center;
}

.l-howread-block04-block02-table-left p {
    display: inline-block;
    width: 17.0rem;
    height: 17.0rem;
    border-radius: 50%;
    text-align: center;
}

.l-howread-block04-block02-table-left-ok {
    background: var(--main-color01);
}

.l-howread-block04-block02-table-left-ng {
    background: #aaaaaa;
}

.l-howread-block04-block02-table-left p span {
    display: inline-block;
    padding-top: 5.2rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 6.0rem;
    font-weight: 900;
    line-height: 1.0;
}

.l-howread-block04-block02-table-right {
    width: auto;
}

.l-howread-block04-block02-table-right-title {
    border-bottom: calc(4 * var(--base-unit)) dotted #cccccc;
    padding-bottom: 2.0rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.33;
}

.l-howread-block04-block02-table-right-title span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.33;
}

.l-howread-block04-block02-table-right p {
    padding-top: 8.0rem;
    padding-bottom: 4.0rem;
    min-height: 2.4rem;
    text-align: center;
    font-size: 1.6rem;
    line-height: 2.0;
}

.l-howread-block04-block03 {
    padding: 5.0rem 15.0rem 3.5rem;
}

.l-howread-block04-block03-box {
    border-radius: 2.0rem;
    padding: 5.0rem 2.0rem 5.5rem;
    /* display: block;
    text-align: center; */
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 0 4.5rem;
    background: #efdac8;
}

.l-howread-block04-block03-box-list {
    display: block;
    /* padding: 0 4.5rem; */
}

.l-howread-block04-block03-box-list b {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 8.0rem;
    font-weight: 900;
    height: 20.0rem;
    margin-bottom: auto;
}

.l-howread-block04-block03-box-list picture {
    text-align: center;
    border-radius: 2.0rem;
    outline: calc(4 * var(--base-unit)) solid #ffffff;
    outline-offset: calc(-4 * var(--base-unit));
    box-sizing: border-box;
    background: #ffb57b;
    display: block;
}

.l-howread-block04-block03-box-list picture img {
    width: 20.0rem;
    height: auto;
}

.l-howread-block04-block03-box-list dl {
    display: block;
    padding-top: 1.5rem;
    text-align: center;
}

.l-howread-block04-block03-box-list dl dt {
    display: inline-block;
    border-radius: 100vh;
    padding: .8rem 2.0rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-howread-block04-block03-box-list dl dd {
    display: block;
    padding-top: 1.0rem;
    text-align: center;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.66;
    letter-spacing: 0em;
}

.l-howread-block04-block03-box-list dl dd span {
    text-align: center;
    color: #ef2525;
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0em;
}

.l-howread-block04-block03-box-image {
    display: inline-block;
    vertical-align: top;
    text-align: center;
    padding-top: 6.4rem;
}

.l-howread-block04-block03-box-image picture {
    text-align: center;
}

.l-howread-block04-block03-box-image picture img {
    width: 5.8rem;
    height: auto;
}

.l-howread-block04-image {
    margin-top: 6.0rem;
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 5.0rem 8.0rem;
    text-align: center;
}

.l-howread-block04-image picture {
    text-align: center;
}

.l-howread-block04-image picture img {
    width: 93.8rem;
    height: auto;
}

.l-howread-block05 {
    padding-top: 3.0rem;
}

.l-howread-block05-block {
    padding: 4.0rem 0 3.5rem;
    text-align: center;
}

.l-howread-block05-title {
    width: 88.0rem;
    display: inline-block;
    padding-top: 4.0rem;
    text-align: center;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-howread-block05-title span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-howread-block05-message {
    padding-top: 2.5rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-howread-block05-image {
    padding-top: 3.5rem;
    text-align: center;
}

.l-howread-block05-image picture {
    text-align: center;
}

.l-howread-block05-image picture img {
    width: 42.5rem;
    height: auto;
}

.l-subsidy-block01 {
    padding-top: 10.0rem;
}

.l-subsidy-block01-title {
    text-align: left;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 2.22;
}

.l-subsidy-block01-title span {
    text-align: left;
    font-size: 5.4rem;
    font-weight: 900;
    line-height: 1.48;
}

.l-subsidy-block01-title span.color01 {
    text-align: left;
    color: var(--main-color01);
    font-size: 5.4rem;
    font-weight: 900;
    line-height: 1.48;
}

.l-subsidy-block01-table {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.l-subsidy-block01-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-subsidy-block01-table-left {
    width: auto;
    text-align: left;
    padding-right: 3.0rem;
}

.l-subsidy-block01-table-left > p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
}

.l-subsidy-block01-table-left-list {
    text-align: center;
}

.l-subsidy-block01-table-left-list p {
    margin-top: 1.0rem;
    display: inline-block;
    min-width: 32.0rem;
    border-radius: 2.0rem;
    background: var(--main-color01);
    padding: .8rem .8rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 700;
}

.l-subsidy-block01-table-left-list p:nth-of-type(odd) {
    background: var(--main-color01);
}

.l-subsidy-block01-table-left-list p:nth-of-type(even) {
    background: #ff7608;
}

.l-subsidy-block01-table-left > p {
    padding-top: 3.0rem;
    text-align: left;
}

.l-subsidy-block01-table-right {
    width: 42.5rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
}

.l-subsidy-block01-table-right picture {
    text-align: center;
}

.l-subsidy-block01-table-right picture img {
    width: 42.5rem;
    height: auto;
}

.l-subsidy-block02 {
    padding-top: 7.0rem;
}

.l-subsidy-block02-title {
    text-align: center;
    border-bottom: calc(4 * var(--base-unit)) dotted #cccccc;
    padding-bottom: 3.0rem;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.83;
}

.l-subsidy-block02-title span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.83;
}

.l-subsidy-block02-block {
    padding-top: 8.0rem;
    min-height: 2.4rem;
}

.l-subsidy-block02-block-title {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 900;
    line-height: 1.375;
}

.l-subsidy-block02-block-title span.color01 {
    color: var(--main-color01);
}

.l-subsidy-block02-block-title span.color02 {
    color: #ef2525;
}

.l-subsidy-block02-block-title picture {
    display: inline-block;
    padding-top: 2.5rem;
    padding-right: 3.0rem;
}

.l-subsidy-block02-block-title picture img {
    width: 27.5rem;
    height: auto;
}

.l-subsidy-block02-block-title span.span01 {
    text-align: center;
    font-size: 5.4rem;
    font-weight: 900;
    line-height: 1.375;
}

.l-subsidy-block02-block02 {
    padding-top: 3.0rem;
    text-align: center;
}

.l-subsidy-block02-block02 picture {
    position: relative;
    display: block;
    width: fit-content;
    margin: 0 auto;
}

.l-subsidy-block02-block02 picture::before {
    content: "";
    aspect-ratio: 1 / 1;
    width: 25.0rem;
    height: auto;
    border-radius: 100vh;
    background: var(--illust-backgrond-color);
    position: absolute;
    inset: 0;
    margin: auto;
    z-index: -1;
}

.l-subsidy-block02-block02 picture img {
    width: 25.0rem;
    height: auto;
    display: block;
    position: relative;
    z-index: 1;
}

.l-subsidy-block02-block02 p {
    padding-top: 3.0rem;
    text-align: center;
    font-size: 1.6rem;
    line-height: 2.0;
}

.l-subsidy-block02-block02 p span {
    color: var(--red);
}

.l-subsidy-block03 * {
    box-sizing: border-box;
}

.l-subsidy-block03-btn {
    padding-top: 6.0rem;
    text-align: center;
}

.l-subsidy-block03-btn picture {
    display: block;
    position: relative;
    width: fit-content;
    margin: 0 auto;
    z-index: 1;
}

.l-subsidy-block03-btn picture::before {
    content: "";
    display: block;
    position: absolute;
    inset: 0 0 auto;
    margin: 0 auto;
    width: 100%;
    height: 200%;
    border-radius: 100%;
    background: var(--illust-backgrond-color);
    z-index: -1;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 0 50%);
}

.l-subsidy-block03-btn picture img {
    width: 31.0rem;
    height: auto;
}

.l-subsidy-block03-btn p {
    padding-bottom: 2.0rem;
    position: relative;
    z-index: 3;
}

.l-subsidy-block03-btn p a {
    padding-left: 6.0rem;
    padding-right: 6.0rem;
}

.l-subsidy-block04 * {
    box-sizing: border-box;
}

.l-subsidy-block04 .balloon01 {
    font-size: 2.8rem;
}

.l-subsidy-block04-message {
    padding-top: 5.0rem;
    font-size: 1.6rem;
    line-height: 2.0;
}

.l-subsidy-block04-message span {
    color: var(--red);
}

.l-subsidy-block04-box {
    padding-top: 5.0rem;
}

.l-subsidy-block04-box-header {
    border-radius: 2.0rem 2.0rem 0 0;
    background: var(--main-color01);
    padding: 2.5rem 1.0rem;
    text-align: center;
}

.l-subsidy-block04-box-header p {
    text-align: center;
    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-subsidy-block04-box-body {
    border-radius: 0 0 2.0rem 2.0rem;
    background: #FFFFFF;
    padding: 0 1.0rem 5.0rem;
}

.l-subsidy-block04-box-body-block {
    display: block;
    text-align: center;
    font-size: 0;
}

.l-subsidy-block04-box-body-block-list {
    display: inline-block;
    vertical-align: middle;
    width: 32.8rem;
    padding: 7.0rem 5.0rem 2.0rem;
}

.l-subsidy-block04-box-body-block-list picture {
    text-align: center;
}

.l-subsidy-block04-box-body-block-list picture img {
    width: 22.4rem;
    height: auto;
}

.l-subsidy-block05-table {
    display: table;
    margin: 6.0rem auto 0;
    background: linear-gradient(to right, transparent 50%, #cccccc 50%, #cccccc calc(50% + 1px), transparent calc(50% + 1px));
}

.l-subsidy-block05-table-list {
    width: 40.0rem;
    display: table-cell;
    vertical-align: top;
    text-align: center;
    padding: 2.0rem 7.5rem 0;
}

.l-subsidy-block05-table-list-title {
    text-align: center;
    color: #d18182;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.18;
}

.l-subsidy-block05-table-list-title.type02 {
    color: #8dabc6;
}

.l-subsidy-block05-table-list-answer {
    margin-top: 1.5rem;
    border-radius: 100vh;
    padding: 0 2.5rem;
    background: #d18182;
    text-align: left;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.44;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    /* height: 6.0rem; */
}

.l-subsidy-block05-table-list-answer.type02 {
    background: #8dabc6;
}

.l-subsidy-block05-table-list-answer b {
    font-size: 2.22em;
    font-weight: 900;
    display: block;
    margin-right: 0.5em;
}

.l-subsidy-block05-table-list-answer img {
    width: 3.8rem;
    height: auto;
    margin-right: 2.0rem;
    vertical-align: middle;
}

.l-subsidy-block05-table-list-answer.type02 img {
    width: 2.8rem;
    height: auto;
}

.l-subsidy-block05-table-list-message {
    padding-top: 2.0rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-subsidy-block05-table-list-message span {
    color: #f02e2e;
}

.l-subsidy-block05-table-list-image {
    display: block;
    padding-top: 2.0rem;
    text-align: center;
}

.l-subsidy-block05-table-list-image img {
    width: 40.0rem;
    height: auto;
}

.l-subsidy-block06 {
    padding-top: 9.0rem;
}

.l-subsidy-block06-image {
    display: block;
    text-align: right;
}

.l-subsidy-block06-image img {
    width: 70.6rem;
    height: auto;
}

.l-subsidy-block06-message {
    padding-top: 2.0rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-subsidy-block06-box {
    margin-top: 3.0rem;
    border-radius: 2.0rem;
    background: #FFFFFF;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    padding: 5.0rem 6.0rem;
}

.l-subsidy-block06-box-title {
    text-align: center;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.07;
}

.l-subsidy-block06-box-title span {
    text-align: center;
    color: #ef2525;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.07;
}

.l-subsidy-block06-box ul {
    display: block;
    padding-top: 1.5rem;
}

.l-subsidy-block06-box ul li {
    display: block;
    padding-top: 1.5rem;
    text-align: left;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.77;
}

.l-subsidy-block06-box ul li span.span01 {
    margin-right: 1.5rem;
    vertical-align: middle;
    text-align: center;
    color: var(--main-color01);
    font-size: 3.4rem;
    font-weight: 900;
    line-height: 1.37;
    letter-spacing: 0em;
    position: relative;
    top: -.2rem;
}

.l-subsidy-block06-box ul li span.color01 {
    text-align: left;
    color: #ef2525;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.77;
}

.l-subsidy-block07 {
    padding-top: 2.0rem;
    padding-bottom: 12.0rem;
}

.l-subsidy-block07 * {
    box-sizing: border-box;
}

.l-subsidy-block07-table-list > p span {
    font-size: 1.2rem;
}

/* 
.l-subsidy-block07-table {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.l-subsidy-block07-table-list {
    width: 33.3%;
    display: table-cell;
    vertical-align: top;
    text-align: center;
}

.l-subsidy-block07-table-list:nth-of-type(3n+1) {
    padding-right: 2.8rem;
}

.l-subsidy-block07-table-list:nth-of-type(3n+2) {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
}

.l-subsidy-block07-table-list:nth-of-type(3n) {
    padding-left: 2.8rem;
}

.l-subsidy-block07-table-list > p {
    display: inline-block;
    border-radius: 50%;
    width: 10.0rem;
    height: 10.0rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;

    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
    position: relative;
    z-index: 2;
}

.l-subsidy-block07-table-list > p span {
    display: block;
    padding-top: 2.5rem;
    padding-bottom: .5rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-subsidy-block07-table-list-box {
    border-radius: 2.0rem;
    background: #ffb57b;
    padding: 6.0rem 3.0rem 5.0rem;
    margin-top: -5.0rem;
    position: relative;
    z-index: 1;
}

.l-subsidy-block07-table-list-box picture {
    display: block;
    text-align: center;
}

.l-subsidy-block07-table-list-box picture img {
    width: 100%;
    height: auto;
}

.l-subsidy-block07-table-list-box dl {
    display: block;
    padding-top: 2.0rem;
}

.l-subsidy-block07-table-list-box dl dt {
    text-align: center;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.66;
    letter-spacing: 0em;
}

.l-subsidy-block07-table-list-box dl dd {
    padding-top: 2.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
} */

.l-housemaker-block01 {
    padding-top: 10.0rem;
}

.l-housemaker-block01-block {
    text-align: center;
}

.l-housemaker-block01-block-title {
    display: inline-block;
    border-radius: 2.0rem;
    background: #ff7608;
    padding: 1.5rem 4.5rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-housemaker-block01-block h2 {
    padding-top: 3.0rem;
    padding-bottom: 3.0rem;
    text-align: center;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: -0.05em;
}

.l-housemaker-block01-block h2 span {
    text-align: left;
    color: #111111;
    font-size: 4.8rem;
    font-weight: 900;
    line-height: 1.45;
    letter-spacing: 0em;
}

.l-housemaker-block01-block h2 span.color01 {
    text-align: left;
    color: var(--main-color01);
    font-size: 4.8rem;
    font-weight: 900;
    line-height: 1.45;
    letter-spacing: 0em;
}

#housemaker .extraAreaBanner {
    margin-top: 0;
}

#housemaker .extraAreaBanner li.extraAreaBanner02:hover::before {
    opacity: 1.0;
}

/* 
#housemaker .extraAreaBanner li div {
    width: 100%;
    min-height: 22.0rem;
    line-height: 1;
    box-sizing: border-box;
    padding: 5.0rem;
    border-radius: 2.0rem;
    display: block;
    position: relative;
    text-align: center;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2.0rem;
    color: var(--body-text-color);
}

#housemaker .extraAreaBanner li.extraAreaBanner02 div p {
    display: none;
}

#housemaker .extraAreaBanner li div::before {
    display: none;
}

#housemaker .extraAreaBanner li div::after {
    display: none;
} */

.l-housemaker-block01-block-message {
    padding-top: 3.5rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-housemaker-block02 {
    padding: 6.5rem 0 0;
    position: relative;
}

.l-housemaker-block02-block {
    width: 100%;
    display: grid;
    text-align: center;
    font-size: 0;
    gap: 2.0rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.l-housemaker-block02-block-list {
    display: block;
    /* vertical-align: top; */
    /* width: calc((100% - (2.0rem * 3)) / 4); */
    /* margin-right: 2.0rem; */
}

/* .l-housemaker-block02-block-list:nth-of-type(4n) {
    margin-right: 0;
} */

.l-housemaker-block02-block-list-box {
    display: block;
    text-decoration: none !important;
    height: 100%;
}

.l-housemaker-block02-block-list-box01 {
    position: relative;
    z-index: 2;
    text-align: center;
}

.l-housemaker-block02-block-list-box01 p {
    display: inline-block;
    border-radius: 100vh;
    background: var(--main-color01);
    padding: 1.2rem .5rem;
    min-width: 22.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
}

.l-housemaker-block02-block-list-box02 {
    margin-top: -2.5rem;
    padding: 4.0rem 0 3.0rem;
    display: grid;
    grid-template-rows: auto 1fr;
    height: calc(100% - 2.5rem);
    box-sizing: border-box;
}

.l-housemaker-block02-block-list-box02 picture {
    display: block;
    text-align: center;
    padding: 0 2.0rem 2.0rem;
}

.l-housemaker-block02-block-list-box02 picture img {
    width: 100%;
    height: auto;
}

.l-housemaker-block02-block-list-box02-block {
    background: #FFFFFF;
    width: 100%;
    display: table;
}

.l-housemaker-block02-block-list-box02-block p {
    width: 100%;
    height: 100%;
    display: table-cell;
    vertical-align: middle;
    padding: 1.5rem 1.0rem;
    text-align: center;
    color: var(--body-text-color);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.625;
}

.l-housemaker-block02-block-list-box02-block p span {
    text-align: center;
    color: var(--main-color01);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.625;
}

.l-housemaker-block03 {
    padding-top: 7.0rem;
    position: relative;
    z-index: 3;
}

.l-housemaker-block03-inner {
    width: 134.0rem;
    margin: 0 auto;
}

.l-housemaker-block03-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 7.0rem 12.0rem 12.0rem;
}

.l-housemaker-block03-box-title {
    text-align: center;
}

.l-housemaker-block03-box-title > p {
    display: inline-block;
    border-radius: 100vh;
    background: var(--main-color01);
    padding: 1.2rem .5rem;
    min-width: 22.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
}

.l-housemaker-block03-box-title > h3 {
    margin-top: -2.5rem;
    background: #ffd9bb;
    border-radius: 2.0rem;
    padding: 4.0rem 2.0rem 3.0rem;
    display: block;
    text-align: center;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1;
}

.l-housemaker-block03-box-title > h3 span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
}

.l-housemaker-block03-box h4 {
    margin-top: 6.0rem;
    background: #efdac8;
    border-radius: 2.0rem;
    padding: 2.0rem 2.0rem 2.0rem;
    display: block;
    text-align: center;
}

.l-housemaker-block03-box .l-page-smallworks-block03-table-right > div h4 {
    margin-top: 0;
    background: none;
    border-radius: 0;
    padding: 0 0;
    display: block;
    text-align: left;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.41;
}

.l-housemaker-block03 .balloon01 {
    margin-top: 4.5rem;
    margin-bottom: 4.0rem;
    padding-bottom: 3.0rem;
    max-width: 38.0rem;
    color: #ff7608;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
}

/* .l-housemaker-block03-box h4.type02 {
    margin-top: 4.5rem;
    padding-bottom: 3.0rem;
    background: url(img/reason/bg-reason06.png) bottom center no-repeat transparent;
    background-size: 38.0rem auto;
    min-height: 1.8rem;
    text-align: center;
    color: #ffb57b;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
} */

.l-housemaker-block03-box h4 span {
    text-align: center;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.08;
    letter-spacing: 0em;
    position: relative;
}

.l-housemaker-block03-box h4 span::after {
    content: "";
    position: absolute;
    bottom: -1.5rem;
    margin: 0 auto;
    width: 20.0rem;
    height: .5rem;
    left: 50%;
    transform: translate(-50%, -50%);
}

.l-housemaker-block03-box h4 span.span01::after {
    background: linear-gradient(90deg, #2e71c0 0%, #2e71c0 50%, #ed1343 50%, #ed1343 100%);
}

.l-housemaker-block03-box h4 span.span02::after {
    background: #000000;
}

.l-housemaker-block03-box h4 span.span03::after {
    background: #ca0000;
}

.l-housemaker-block03-box h4 span.span04::after {
    background: #007cc2;
}

.l-housemaker-block03-box-table {
    margin-top: 6.0rem;
    width: 100%;
    display: table;
}

.l-housemaker-block03-box-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-housemaker-block03-box-table-left {
    width: auto;
    text-align: left;
    padding-right: 5.0rem;
    padding-top: 1.0rem;
}

.l-housemaker-block03-box-table-left p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-housemaker-block03-box-table-right {
    width: 42.0rem;
    text-align: center;
}

.l-housemaker-block03-box-table-right picture {
    text-align: center;
}

.l-housemaker-block03-box-table-right picture img {
    width: 42.0rem;
    height: auto;
}

#section01 .l-housemaker-block03-box-table{
    display: flex;
    flex-direction: column;
}

#section01 .l-housemaker-block03-box-table-left,
#section01 .l-housemaker-block03-box-table-right {
    width: 100%;
}

#section01 .l-housemaker-block03-box-table-right {
    padding-top: 5.0rem;
}

#section01 .l-housemaker-block03-box-table-left p {
    text-align: center;
}

#section01 .l-housemaker-block03-box-table-right picture img {
    /* width: 52.5rem; */
    width: 100%;
    max-width: 80.0rem;
    margin: 0 auto;
}


.l-housemaker-block03-box-image {
    padding-top: 6.0rem;
}

.l-housemaker-block03-box-image picture {
    display: block;
    text-align: center;
}

.l-housemaker-block03-box-image picture img {
    width: 100%;
    height: auto;
}

.l-housemaker-block03-box-image picture img.type02 {
    width: 71.5rem;
    height: auto;
}

.l-housemaker-block03-box-table02 {
    display: table;
    margin: 4.0rem auto 0;
}

.l-housemaker-block03-box-table02-list {
    display: table-cell;
    padding: 0 1.5rem;
}

.l-housemaker-block03-box-table02-list picture {
    display: block;
    text-align: center;
}

.l-housemaker-block03-box-table02-list picture img {
    width: 34.0rem;
    height: auto;
}

.l-housemaker-block03-box-table02-list p {
    padding-top: .5rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.375;
}

#housemaker .l-page-smallworks-block03 {
    padding-bottom: 0;
}

.l-housemaker-block03-box-block {
    margin-top: 4.0rem;
    display: table;
}

.l-housemaker-block03-box-block-list {
    width: 50%;
    display: table-cell;
    vertical-align: top;
}

.l-housemaker-block03-box-block-list:nth-of-type(odd) {
    padding-right: 3.0rem;
}

.l-housemaker-block03-box-block-list:nth-of-type(even) {
    padding-left: 3.0rem;
}

.l-housemaker-block03-box-block-list-box {
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    padding: 4.0rem 4.0rem;
}

.l-housemaker-block03-box-block-list-box-title {
    border-radius: 1.0rem;
    padding: 1.0rem 1.0rem;
    text-align: center;
    color: #FFFFFF;
    background: #111111;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-housemaker-block03-box-block-list-box-image {
    display: block;
    padding-top: 2.0rem;
    text-align: center;
}

.l-housemaker-block03-box-block-list-box-image img {
    max-width: 100%;
    width: auto;
    height: auto;
}

.l-housemaker-block03-box-block-list-box-message {
    padding-top: 3.0rem;
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.worksSlider0 {
    --background: #ff7608;
    margin-top: 12.0rem;
    background: var(--background);
    padding: 2.5rem 1.0rem;
    position: relative;
    z-index: 1;
}

.worksSlider0::after {
    content: "";
    width: 2.4rem;
    height: 3.7rem;
    background: var(--background);
    position: absolute;
    bottom: -1.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 2;
    --mask: url(img/common/svg_arrow01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    transform: rotate(90deg) translateX(30%);
}

.worksSlider0 p {
    text-align: center;
    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-housemaker-block04 {
    padding-top: 8.0rem;
}

.l-housemaker-block04 * {
    box-sizing: border-box;
}

.l-housemaker-block04-box {
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    padding: 4.0rem 6.5rem;
    background: #FFFFFF;
}

.l-housemaker-block04-box-title {
    text-align: center;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.71;
}

.l-housemaker-block04-box-title span.color01 {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.71;
}

.l-housemaker-block04-box-title span.span01 {
    text-align: center;
    color: #111111;
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.33;
    letter-spacing: 0em;
}

.l-housemaker-block04-box-block {
    display: block;
    text-align: center;
    font-size: 0;
    padding-top: 3.0rem;
    width: 66.0rem;
    margin: 0 auto;
}

.l-housemaker-block04-box-block li {
    display: inline-block;
    vertical-align: top;
    padding: 3.5rem 3.0rem 0;
}

.l-housemaker-block04-box-block li picture {
    display: block;
}

.l-housemaker-block04-box-block li picture img {
    width: 26.0rem;
    height: auto;
}

.l-seminar-block03-block {
    padding-top: 8.0rem;
    min-height: 2.4rem;
}

.l-seminar-block03-block-title {
    text-align: center;
    color: #111111;
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.92;
    letter-spacing: 0em;
}

.l-seminar-block03-block-title span {
    text-align: center;
    color: var(--main-color01);
    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.92;
}

.l-seminar-block03-block-message {
    padding-top: 2.5rem;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-seminar-block03-block-image {
    display: block;
    padding-top: 4.5rem;
    text-align: center
}

.l-seminar-block03-block-image img {
    width: 42.0rem;
    height: auto;
}

.l-campaign-block01 {
    padding-top: 6.0rem;
}

.l-campaign-block01 * {
    box-sizing: border-box;
}

.l-campaign-block01-block {
    display: block;
    text-align: left;
    font-size: 0;
}

.l-campaign-block01-block-list {
    width: 33.3%;
    display: inline-block;
    vertical-align: top;
    padding-top: 4.0rem;
}

.l-campaign-block01-block-list:nth-of-type(3n+1) {
    padding-right: 2.8rem;
}

.l-campaign-block01-block-list:nth-of-type(3n+2) {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
}

.l-campaign-block01-block-list:nth-of-type(3n) {
    padding-left: 2.8rem;
}

.l-campaign-block01-block-list a {
    color: var(--body-text-color);
}

.l-campaign-block01-block-list-box {
    text-decoration: none !important;
    display: block;
    overflow: hidden;
    border-radius: 2.0rem;
    position: relative;
    z-index: 1;
}

.l-campaign-block01-block-list-box-eventend {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.4);
    display: table;
    backdrop-filter: grayscale(100%);
}

.l-campaign-block01-block-list-box-eventend p {
    width: 100%;
    height: 100%;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.l-campaign-block01-block-list-box-eventend p span {
    border-radius: 2.5rem;
    display: inline-block;
    padding: .8rem 4.5rem;
    background: #111111;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-campaign-block01-block-list-box-header {
    background: #FFFFFF;
    border: calc(3 * var(--base-unit)) solid #ffaa67;
    overflow: hidden;
    border-radius: 2.0rem 2.0rem 0 0;
}

.l-campaign-block01-block-list-box-header picture {
    display: block;
    text-align: center;
    width: 100%;
    height: 21.0rem;
    position: relative;
}

.l-campaign-block01-block-list-box-header picture img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
}

.l-campaign-block01-block-list-box-body {
    padding: 1.5rem 3.0rem 3.0rem;
    background: #FFFFFF;
}

.l-campaign-block01-block-list-box-body-h2 {
    display: block;
    padding: 0 .3rem;
    margin: 0 0;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 2.0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.l-campaign-block01-block-list-box-date {
    margin-top: 1.5rem;
    display: block;
    padding: 1.5rem .3rem;
    border-top: calc(1 * var(--base-unit)) solid #ffaa67;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-campaign-block01-block-list-box-date dt {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.0;
}

.l-campaign-block01-block-list-box-date dd {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-campaign-block01-block-list-box-time {
    display: block;
    padding: 1.5rem .3rem;
    border-bottom: calc(1 * var(--base-unit)) solid #ffaa67;
}

.l-campaign-block01-block-list-box-time dt {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 2.0;
}

.l-campaign-block01-block-list-box-time dd {
    text-align: center;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-campaign-block01-block-list-box-btn {
    padding-top: 3.0rem;
    text-align: center;
}

.l-campaign-block01-block-list-box-btn p {
    min-width: 20.0rem;
}

/* 
.l-campaign-block01-block-list-box-btn p {
    background: right center var(--main-color03) url(img/common/bg_btn01.png) no-repeat;
    border-radius: 3.0rem;
    text-decoration: none;
    padding: 2.0rem 4.7rem 2.2rem 3.0rem;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: 500;
    color: #ffffff;
    position: relative;
    display: inline-block;
    min-width: 20.0rem;
    text-align: left;
    box-sizing: border-box;
}

.l-campaign-block01-block-list-box-btn p::before,
.l-campaign-block01-block-list-box-btn p::after {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    right: 1.7rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
}

.l-campaign-block01-block-list-box-btn p::before {
    background: #ffffff;
    font-size: 2.6rem;
    width: 1em;
    height: 1em;
    border-radius: 50%;
}

.l-campaign-block01-block-list-box-btn p::after {
    background: var(--main-color03);
    width: 1.1rem;
    height: 1.6rem;
    -webkit-mask-image: url(img/common/svg_arrow02.svg);
    mask-image: url(img/common/svg_arrow02.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    mask-position: center top;
    -webkit-mask-size: contain;
    mask-size: contain;
    transform: translateX(-60%);
} */
/* 
.l-campaign-block01 .wp-pagenavi {
    clear: both;
    text-align: center;
    padding-top: 8.0rem;
    margin-bottom: 0;
}

.l-campaign-block01 .wp-pagenavi span,
.l-campaign-block01 .wp-pagenavi a {
    background: #FFFFFF;
    display: inline-block !important;
    border-radius: .3rem;
    line-height: 1.2;
    border: calc(1 * var(--base-unit)) solid #ffaa67 !important;
    padding: .3rem .9rem !important;
    margin: .2rem !important;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0em;
}

.l-campaign-block01 .wp-pagenavi a {
    background: #ffffff !important;
    color: #222222 !important;
    border: calc(1 * var(--base-unit)) solid #ffaa67 !important;
    text-decoration: none !important;
}

.l-campaign-block01 .wp-pagenavi span.current {
    font-weight: bold !important;
    background: #222222 !important;
    color: #ffffff !important;
    border: calc(1 * var(--base-unit)) solid #ffaa67 !important;
} */

.l-campaign-single-block01 {
    padding-top: 10.0rem;
}

.l-campaign-single-block01-h2 {
    border-radius: 2.0rem;
    background: #ffd9bb;
    padding: 2.5rem 2.5rem;
}

.l-campaign-single-block01-h2 h1,
.l-campaign-single-block01-h2 h2 {
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.2;
}

.l-campaign-single-block01-image {
    padding-top: 5.0rem;
    text-align: center;
}

.l-campaign-single-block01-image picture {
    text-align: center;
}

.l-campaign-single-block01-image picture img {
    max-width: 100%;
    width: auto;
    height: auto;
}

.l-campaign-single-block01-table01 {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.l-campaign-single-block01-table01 > div {
    width: 50%;
    display: table-cell;
    vertical-align: middle;
}

.l-campaign-single-block01-table01-left {
    text-align: left;
}

.l-campaign-single-block01-table01-left span {
    border-radius: 100vh;
    display: inline-block;
    min-width: 16.0rem;
    padding: .3rem 1.0rem;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 2.0;
}

.l-campaign-single-block01-table01-left span.l-campaign-single-block01-table01-left-before {
    background: #076014;
}

.l-campaign-single-block01-table01-left span.l-campaign-single-block01-table01-left-now {
    background: #ff4270;
}

.l-campaign-single-block01-table01-left span.l-campaign-single-block01-table01-left-after {
    background: #111111;
}

.l-campaign-single-block01-table01-right {
    text-align: right;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-campaign-single-block01-table02 {
    padding-top: 4.0rem;
}

.l-campaign-single-block01-table02 + .btn-arrow01 {
    padding-top: 4rem;
    text-align: center;
    padding-bottom: 1.6rem;
}

.l-campaign-single-block01-table02 table {
    margin: 0 auto;
    width: 90.0rem;
    border-collapse: separate;
}

.l-campaign-single-block01-table02 table tr th {
    width: 30.0rem;
    text-align: center;
}

/* 
.l-campaign-single-block01-table02 table tr th {
    vertical-align: top;
    padding: 1.2rem 2.5rem;
    background: #efdac8;
    border-left: calc(1 * var(--base-unit)) solid #ccc;
    border-top: calc(1 * var(--base-unit)) solid #ccc;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 900;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-campaign-single-block01-table02 table tr th.th-01 {
    border-radius: 2.0rem 0 0 0;
}

.l-campaign-single-block01-table02 table tr th.th-02 {
    border-radius: 0 0 0 2.0rem;
    border-bottom: calc(1 * var(--base-unit)) solid #ccc;
}

.l-campaign-single-block01-table02 table tr td {
    width: auto;
    text-align: left;
    vertical-align: top;
    padding: 1.2rem 2.5rem;
    background: #FFFFFF;
    border-left: calc(1 * var(--base-unit)) solid #ccc;
    border-top: calc(1 * var(--base-unit)) solid #ccc;
    border-right: calc(1 * var(--base-unit)) solid #ccc;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-campaign-single-block01-table02 table tr td.td-01 {
    border-radius: 0 2.0rem 0 0;
}

.l-campaign-single-block01-table02 table tr td.td-02 {
    border-radius: 0 0 2.0rem 0;
    border-bottom: calc(1 * var(--base-unit)) solid #ccc;
} */

.l-campaign-single-block01-table02 table tr td ul {
    display: block;
}

.l-campaign-single-block01-table02 table tr td ul li {
    padding-left: 1.2rem;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    position: relative;
}

.l-campaign-single-block01-table02 table tr td ul li::before,
.l-campaign-single-block01-table02 table tr td ul li::after {
    position: absolute;
    top: 1.4rem;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.l-campaign-single-block01-table02 table tr td ul li::before {
    width: .7rem;
    height: .7rem;
    background: #111111;
}

.l-campaign-single-block01-table02 table tr td ul li::after {
    left: 0.15rem;
    top: 1.6rem;
    width: .2rem;
    height: .2rem;
    border-top: calc(1 * var(--base-unit)) solid #ffffff;
    border-right: calc(1 * var(--base-unit)) solid #ffffff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.l-campaign-single-block01-table02 table tr td ul li a {
    float: none !important;
    text-decoration: none;
    display: inline-block;
    margin-left: 2.3rem;
    border-radius: 100vh;
    padding: .5rem 2.0rem;
    background: #ffb57b;
    text-align: center;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-campaign-single-block01-btn {
    padding-top: 4.0rem;
    text-align: center;
    padding-bottom: 1.6rem;
}

.l-campaign-single-block01-btn a {
    text-decoration: none;
    display: inline-block;
    vertical-align: top;
    background: #ffffff;
    border-radius: 100vh;
    border: calc(3 * var(--base-unit)) solid var(--main-color01);
    padding: 1.1rem 4.5rem;
    text-align: center;
    color: var(--main-color01);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0em;
    position: relative;
    min-width: min(100%, 33.0rem);
    box-sizing: border-box;
}

/* .l-campaign-single-block01-btn a::after {
    content: "";
    width: 2.6rem;
    height: 2.6rem;
    position: absolute;
    bottom: -1.6rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: inline-block;
    background: url(img/showroom/block02-icon.png) bottom center no-repeat transparent;
    background-size: 2.6rem auto;
} */

/* .l-campaign-single-block01-btn a::before,
.l-campaign-single-block01-btn a::after {
    position: absolute;
    content: "";
    display: block;
    pointer-events: none;
    bottom: -1.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.l-campaign-single-block01-btn a::before {
    background: var(--main-color01);
    font-size: 3rem;
    width: 1em;
    height: 1em;
    border-radius: 50%;
}

.l-campaign-single-block01-btn a::after {
    background: #ffffff;
    width: .8rem;
    height: 1.3rem;
    --mask:url(img/common/svg_arrow02.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
    transform: rotate(90deg) translateX(-80%);
} */

/* .l-campaign-single-block01-message {
    margin-top: 11.0rem;
} */

/* 
.l-campaign-single-block01-message h1 + p,
.l-campaign-single-block01-message h2 + p,
.l-campaign-single-block01-message h3 + p,
.l-campaign-single-block01-message h4 + p,
.l-campaign-single-block01-message h5 + p,
.l-campaign-single-block01-message h6 + p {
    margin-top: 4.0rem;
}

.l-campaign-single-block01-message h1:not(.single-title) {
    font-size: 3.6rem;
    font-weight: 900;
    line-height: 1.5;
    position: relative;
    z-index: 1;
    transform-style: preserve-3d;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.l-campaign-single-block01-message h2 {
    margin-top: 4.0rem;
    border-radius: 2.0rem;
    background: #ffd9bb;
    padding: 1.5rem 2.5rem 1.5rem 6.5rem;
    text-align: center;
    color: #111111;
    font-size: 2.8rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message h3 {
    padding: 2.0rem 2.0rem;
    margin-top: 4.0rem;
    border-radius: 2.0rem;
    background: #efdac8;
    text-align: center;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message p {
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message h4 {
    padding: 1.5rem 1.0rem;
    margin-top: 4.0rem;
    border-radius: 2.0rem;
    background: var(--main-color01);
    text-align: center;
    color: #FFFFFF;

    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.36;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message ul {
    display: block;
    margin-top: 4.0rem;
    padding-left: 2.0rem;
}

.l-campaign-single-block01-message ul li {
    padding-left: 2.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.875;
    letter-spacing: 0em;
    position: relative;
}

.l-campaign-single-block01-message ul li::before {
    border-radius: 50%;
    width: 1.0rem;
    height: 1.0rem;
    display: block;
    position: absolute;
    left: 0;
    top: 1.0rem;
    content: "";
    background: #efdac8;
}

.l-reason-block03-message01 ol,
.l-campaign-single-block01-message ol {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin-top: 4.0rem;
}

.l-reason-block03-message01 ol li,
.l-campaign-single-block01-message ol li {
    list-style: none;
    line-height: 1.6;
    margin-bottom: calc(17 * var(--base-unit));
    padding-left: calc(36 * var(--base-unit));
    position: relative;
}

.l-reason-block03-message01 ol li::before,
.l-campaign-single-block01-message ol li::before {
    font-family: Roboto, sans-serif;
    font-size: calc(16 * var(--base-unit));
    font-weight:400;
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: var(--main-color01);
    color: var(--white);
    display: block;
    float: left;
    line-height: calc(28 * var(--base-unit));
    margin-left: calc(-36 * var(--base-unit));
    text-align: center;
    height: calc(28 * var(--base-unit));
    width: calc(28 * var(--base-unit));
    border-radius: 50%;
    padding: calc(1 * var(--base-unit)) 0 0 calc(1 * var(--base-unit));
    box-sizing: border-box;
}

.l-campaign-single-block01-message h5 {
    margin-top: 4.0rem;
    border-top: calc(2 * var(--base-unit)) solid var(--main-color01);
    border-bottom: calc(2 * var(--base-unit)) solid var(--main-color01);
    padding: 2.0rem 1.0rem;
    text-align: center;
    color: #111111;

    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message h6 {
    margin-top: 4.0rem;
    border-bottom: calc(2 * var(--base-unit)) dotted #efdac8;
    padding: 2.0rem 1.2rem .5rem;
    text-align: left;
    color: #111111;

    font-size: 1.8rem;
    font-weight: 900;
    line-height: 1.66;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message a {
    text-decoration: underline;
    text-align: left;
    color: var(--main-color01);

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message b {
    font-weight: 900;
}

.l-campaign-single-block01-message strong {
    font-weight: 900;
}

.l-campaign-single-block01-message blockquote {
    margin-top: 4.0rem;
    border: calc(2 * var(--base-unit)) dotted #000000;
    background: #ffead9;
    padding: 3.5rem 4.5rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message blockquote p {
    margin-top: 0;
}

.l-campaign-single-block01-message table {
    table-layout: auto;
    border-collapse: separate;
    margin-top: 4.0rem;
    border: 1px solid #ccc;
    border-radius: 2rem;
}

.l-campaign-single-block01-message table tr th {
    display: table-cell !important;
    border-bottom: 1px solid #cccccc;
    border-right: 1px solid #cccccc;
    background: #FFFFFF;
    padding: 2.0rem 2.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-campaign-single-block01-message table tr td {
    display: table-cell !important;
    border-bottom: 1px solid #cccccc;
    background: #FFFFFF;
    padding: 2.0rem 2.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 0em;
}
*/

.l-campaign-single-block01 .wysiwyg {
    margin-top: 10.0rem;
}

.l-campaign-single-block02 {
    padding-top: 10.0rem;
    padding-bottom: 12.0rem;
}

.l-campaign-single-block02 h4 {
    margin-bottom: 2.0rem;
    padding: 2.5rem 1.0rem;
    border-radius: 2.0rem;
    text-align: center;
    background: var(--main-color01);
    color: #FFFFFF;
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.36;
}

.l-campaign-single-block02 h5 {
    font-size: 2.2rem;
    padding: 0.545em 0.9em 0.68em;
    background: #c7c8c0;
    margin-bottom: 0;
    border-radius: 2rem 2rem 0 0;
    text-align: center;
}

.l-campaign-single-block02 h5 + .l-campaign-single-block02-map {
    margin-top: 0 !important;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.l-campaign-single-block02-map {
    margin-top: 2.0rem;
    border-radius: 2.0rem;
    border: calc(3 * var(--base-unit)) solid #c7c8c0;
    overflow: hidden;
    height: 41.2rem;
}

.l-campaign-single-block02-map + h5 {
    margin-top: 2.0rem;
}

.l-campaign-single-block02-map iframe {
    width: 100%;
    height: 41.3rem;
}

.l-archive-works-message {
    text-align: center;
    color: #111111;

    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.75;
    letter-spacing: 0em;
}

#main .voiceData td span.cat + .cat {
    margin-left: 1.5rem;
}

.l-diagnosis-block01 {
    padding-top: 10.0rem;
}

.l-diagnosis-block01 picture {
    text-align: center;
}

.l-diagnosis-block01 picture img {
    width: 100%;
    height: auto;
}

.l-diagnosis-block02 {
    padding-top: 10.0rem;
}

.l-diagnosis-block02 * {
    box-sizing: border-box;
}

.l-diagnosis-inner {
    width: 134.0rem;
    margin: 0 auto;
}

.l-diagnosis-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 10.0rem 12.0rem 12.0rem;
}


.l-diagnosis-block02-block {
    padding-top: 2.0rem;
    text-align: left;
    font-size: 0;
}

.l-diagnosis-block02-block-list {
    display: inline-block;
    vertical-align: top;
    width: calc((100% - 2.0rem * 3)/4);
    margin-right: 2.0rem;
    padding-top: 2.0rem;
}

.l-diagnosis-block02-block-list:nth-of-type(4n) {
    margin-right: 0;
}

.l-diagnosis-block02-block-list picture {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
}

.l-diagnosis-block02-block-list picture img {
    width: 100%;
    height: 100% !important;
    object-fit: cover;
}

.l-diagnosis-block02-block-list p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
}

.l-diagnosis-block03 {
    padding-top: 10.0rem;
}


.l-diagnosis-block03-table {
    margin-top: 4.0rem;
    width: 100%;
    display: table;
}

.l-diagnosis-block03-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-diagnosis-block03-table-left {
    width: 47.0rem;
    text-align: left;
    padding-right: 5.0rem;
}

.l-diagnosis-block03-table-left picture {
    text-align: left;
}

.l-diagnosis-block03-table-left picture img {
    width: 100%;
    height: auto;
}

.l-diagnosis-block03-table-right {
    width: auto;
    text-align: justify;
}

.l-diagnosis-block03-table-right p {
    text-align: left;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-diagnosis-block04 {
    padding-top: 10.0rem;
    padding-bottom: 12.0rem;
}

.l-diagnosis-block04-block {
    padding-top: 4.0rem;
}

.l-diagnosis-block04-block-h3 {
    text-align: left;
}

.l-diagnosis-block04-block-h3 b {
    color: #ff7608;
    border: 2px solid currentColor;
    font-size: 2.5rem;
    width: 1.5em;
    height: 1.5em;
    font-family: var(--en-font-family);
    display: inline-flex;
    line-height: 1;
    justify-content: center;
    align-items: center;
    border-radius: 100vh;
}

.l-diagnosis-block04-block-h3 img {
    width: 3.5rem;
    height: auto;
}

.l-diagnosis-block04-block-h3 span {
    padding-left: 1.0rem;
    text-align: left;
    font-size: 2.0rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-diagnosis-block04-block-table {
    margin-top: 1.0rem;
    width: 100%;
    display: table;
}

.l-diagnosis-block04-block-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-diagnosis-block04-block-table-left {
    width: 47.0rem;
    text-align: left;
    padding-right: 5.0rem;
}

.l-diagnosis-block04-block-table-left picture {
    text-align: left;
}

.l-diagnosis-block04-block-table-left picture img {
    width: 100%;
    height: auto;
}

.l-diagnosis-block04-block-table-right {
    width: auto;
    text-align: justify;
}

.l-diagnosis-block04-block-table-right p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-diagnosis-block04-block-h3-2 {
    padding-top: 6.0rem;
    text-align: center;
    color: var(--red);
    font-size: 3.0rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-diagnosis-block04-block02 {
    padding-top: 4.0rem;
}

.l-diagnosis-block04-block-h3-3 {
    padding-top: 4.0rem;
    text-align: center;
    color: var(--red);
    font-size: 2.4rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-diagnosis-block04-block02-table {
    margin-top: 2.0rem;
    width: 100%;
    display: table;
}

.l-diagnosis-block04-block02-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-diagnosis-block04-block02-table-left {
    width: auto;
    text-align: justify;
}

.l-diagnosis-block04-block02-table-left p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-diagnosis-block04-block02-table-right {
    width: 47.0rem;
    text-align: left;
    padding-left: 5.0rem;
}

.l-diagnosis-block04-block02-table-right picture {
    text-align: left;
}

.l-diagnosis-block04-block02-table-right picture img {
    width: 100%;
    height: auto;
}

.l-diagnosis-block04-block03 {
    padding-top: 10.0rem;
}

.l-diagnosis-block04-message {
    text-align: center;
    font-size: 2.0rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-diagnosis-block04-check_list {
    text-align: center;
}

.l-diagnosis-block04-check_list ul {
    margin: 2.0rem 0;
    display: inline-block;
    padding: 2.0rem 0 3.0rem 20.0rem;
    background-size: 18.0rem auto;
    min-height: 18.0rem;
    position: relative;
}

.l-diagnosis-block04-check_list ul::before {
    content: "";
    display: block;
    width: 18.0rem;
    height: 18.0rem;
    position: absolute;
    inset: 0 auto 0 0;
    margin: auto 0;
    background: var(--illust-backgrond-color) url("img/common/img_illust_person_large01.png") no-repeat;
    background-size: 18.0rem;
    --mask: radial-gradient(circle at center, #000000 9.0rem, transparent 9.0rem);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-size: contain;
}

.l-diagnosis-block04-check_list ul li {
    position: relative;
    display: block;
    min-height: 2.7rem;
    padding-left: 4.0rem;
    text-align: left;
    color: #111111;
    font-size: 2.2rem;
    font-weight: 900;
    line-height: 1.5;
}

.l-diagnosis-block04-check_list ul li + li {
    margin-top: 0.5em;
}

.l-diagnosis-block04-check_list ul li::before {
    content: "";
    position: absolute;
    display: block;
    inset: 0.5rem auto auto 0;
    width: 3.2rem;
    height: auto;
    aspect-ratio: 32 / 27;
    background: var(--orange);
    --mask: url("img/common/svg_checkbox01.svg");
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.l-page-privacy {
    padding-top: 8.0rem;
}

.l-estimate {
    padding-top: 10.0rem;
}

.l-after-block02-box-block {
    padding-top: 5.0rem;
}

.l-after-block02-box-block-h4 {
    text-align: left;
    color: #111111;

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-after-block02-box-block-h4 span {
    text-align: left;
    color: var(--main-color01);

    font-size: 2.4rem;
    font-weight: 900;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-after-block02-box-block-message {
    display: block;
    padding-top: 3.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-after-block02-box-block-message.type02 {
    display: block;
    padding-bottom: 5.0rem;
    border-bottom: calc(4 * var(--base-unit)) dotted #cccccc;
    text-align: left;
}

.l-after-block02-box-block-message span {
    text-align: left;
    color: #ef2525;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0em;
}

.l-after-block02-box-block-image {
    display: block;
    padding-top: 2.5rem;
    text-align: center;
}

.l-after-block02-box-block-image img {
    width: 75.4rem;
    height: auto;
}

.l-after-block02-box-block02 {
    padding-top: 5.5rem;
    position: relative;
    z-index: 1;
}

.l-after-block02-box-block02::after {
    position: absolute;
    z-index: 2;
    right: 5.5rem;
    top: 2.4rem;
    content: "";
    display: inline-block;
    background: url("img/common/img_character01.png") right top no-repeat transparent;
    background-size: contain;
    width: 14.3rem;
    min-height: 15.0rem;
}

.l-after-block02-box-block02-h4 {
    display: block;
    background: var(--main-color01);
    border-radius: 4.0rem;
    padding: 2.0rem 8.0rem 2.0rem 2.0rem;
    text-align: center;
}

.l-after-block02-box-block02-h4 span {
    text-align: center;
    color: #FFFFFF;

    font-size: 2.6rem;
    font-weight: 900;
    line-height: 1.53;
    letter-spacing: 0em;
}

#after .extraVoice {
    margin-top: 6.5rem;
    padding: 4.5rem 6.0rem 7.0rem;
    background: none;
    border-radius: 2.0rem;
    background: #efdac8;
}

#after .extraVoice::before {
    display: none;
}

#after .voiceSlider {
    width: 98.0rem;
}

#after .slider-multi .slick-prev {
    display: none !important;
}

#after .slider-multi .slick-next {
    display: none !important;
}

#after .voiceSlider .slider-multi li {
    position: relative;
    overflow: visible;
    z-index: 1;
    text-align: center;
    /*width: 33.3333% !important;*/
}

#after .voiceSlider .slider-multi li a {
    display: inline-block;
    vertical-align: top;
}

#after .voiceSlider .slider-multi .slick-slide {
    display: flex;
    flex-direction: column;
    gap: 4.0rem 0;
    margin: 0 0;
}

#after .slider-multi .slick-slide > div {
    display: flex;
    justify-content: center;
    gap: 0px;
}

.gNav_menu-table02 {
    margin: 6.0rem auto 0;
    display: table;
}

.gNav_menu-table02-list {
    display: table-cell;
    vertical-align: bottom;
    padding: 0 1.5rem;
}

.gNav_menu-table02-list p {
    padding-bottom: .8rem;
    text-align: center;
    color: var(--main-color01);

    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: 0em;
}

.gNav_menu-table02-list a {
    text-decoration: none;
    display: inline-block;
    border-radius: 3.0rem;
    background: url("img/common/pcmenu-icon06.png") left center no-repeat var(--main-color01);
    background-size: 3.0rem auto;
    min-height: 2.8rem;
    padding: 1.5rem 1.5rem;
    text-align: center;
    color: #FFFFFF;

    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0em;
}

.gNav_menu-table02-list a.gNav_menu-table02-list-link01 {
    background: url("img/common/pcmenu-icon06.png") left 3.0rem center no-repeat var(--main-color01);
    background-size: 3.0rem auto;
    min-height: 2.8rem;
    padding: 1.5rem 1.5rem 1.5rem 7.5rem;
}

.gNav_menu-table02-list a.gNav_menu-table02-list-link02 {
    background: url("img/common/pcmenu-icon07.png") left 2.0rem center no-repeat var(--main-color01);
    background-size: 4.8rem auto;
    min-height: 2.0rem;
    padding: 1.5rem 3.0rem 1.5rem 9.5rem;
}

.gNav_menu-table02-list a.gNav_menu-table02-list-link03 {
    background: url("img/common/pcmenu-icon08.png") left 2.3rem center no-repeat var(--main-color01);
    background-size: 2.6rem auto;
    min-height: 3.0rem;
    padding: 1.5rem 6.0rem 1.5rem 9.5rem;
}

.l-compare-block01 {
    padding-top: 10.0rem;
}

.l-compare-block01 p {
    display: block;
    padding-top: 3.0rem;
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2.0;
}

.l-compare-block02 {
    padding-top: 6.0rem;
    padding-bottom: 12.0rem;
}

.l-compare-block02-inner {
    width: 134.0rem;
    margin: 0 auto;
}

.l-compare-block02-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 10.0rem 12.0rem;
}


.yesno_q.q1 {
    text-align: center;
    display: block;
    padding: 3.0rem 4.0rem;
    margin-bottom: 3.0rem;
    font-size: 2.4rem;
    font-weight: bold;
    border: calc(1 * var(--base-unit)) #333 solid;
    border-radius: 2.0rem;
}

.yesno_q.q1 dt {
    display: inline-block;
    padding: 0;
    margin-bottom: 0 !important;
}

#q9.yesno_q.q1 dt,
#q10.yesno_q.q1 dt,
#q11.yesno_q.q1 dt,
#q12.yesno_q.q1 dt,
#q13.yesno_q.q1 dt,
#q14.yesno_q.q1 dt,
#q15.yesno_q.q1 dt,
#q16.yesno_q.q1 dt,
#q17.yesno_q.q1 dt,
#q18.yesno_q.q1 dt,
#q19.yesno_q.q1 dt {
    display: block;
    padding: 0;
    margin-bottom: 0 !important;
    margin-top: 1.0rem;
}

.yesno_q.q1 dt span {
    padding: .3rem 1.0rem .7rem;
    background: var(--main-color01);
    border-radius: 1.0rem;
    color: #FFFFFF;
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1;
}

#q9.yesno_q.q1 dt span,
#q10.yesno_q.q1 dt span,
#q11.yesno_q.q1 dt span,
#q12.yesno_q.q1 dt span,
#q13.yesno_q.q1 dt span,
#q14.yesno_q.q1 dt span,
#q15.yesno_q.q1 dt span,
#q16.yesno_q.q1 dt span,
#q17.yesno_q.q1 dt span,
#q18.yesno_q.q1 dt span,
#q19.yesno_q.q1 dt span {
    padding: .3rem 3.5rem .7rem;
    background: var(--main-color01);
    border-radius: 1.0rem;
    color: #FFFFFF;
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1;
}

.yesno_q.q1 dd {
    padding: 0 1.0rem !important;
    display: inline-block;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}

#q9.yesno_q.q1 dd,
#q10.yesno_q.q1 dd,
#q11.yesno_q.q1 dd,
#q12.yesno_q.q1 dd,
#q13.yesno_q.q1 dd,
#q14.yesno_q.q1 dd,
#q15.yesno_q.q1 dd,
#q16.yesno_q.q1 dd,
#q17.yesno_q.q1 dd,
#q18.yesno_q.q1 dd,
#q19.yesno_q.q1 dd {
    padding: 3.0rem 1.0rem 0 !important;
    display: inline-block;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}

ul#choices li button {
    --c: #23282d;
    border: calc(1 * var(--base-unit)) solid var(--c);
    font-family: var(--base-font-family);
    font-size: 1.8rem;
}

ul#choices li button:hover {
    cursor: pointer;
    background: var(--main-color01) !important;
    border: calc(1 * var(--base-unit)) solid var(--main-color01);
}

.extraVoice-banner {
    text-align: center;
    padding-bottom: 11.0rem;
}

.extraVoice-banner img {
    width: 90.0rem;
    height: auto;
}

.l-page-wall-caution-title {
    border-left: calc(3 * var(--base-unit)) solid #00478A;
    padding-left: .8rem;
    margin-top: 4.0rem;
    margin-bottom: 2.0rem;
}

.l-page-wall-caution-title02 {
    margin-top: 4.0rem;
    margin-bottom: 2.0rem;
}

.l-page-wall-caution-image01 {
    max-width: 77.2rem;
    width: 100%;
}

.l-page-wall-caution-image02 {
    max-width: 38.6rem;
    width: 100%;
}

.l-page-wall-caution-video {
    max-width: 77.2rem;
    width: 100%;
    height: 43.5rem;
}

.single-title {
    font-size: 3.2rem;
    font-weight: 900;
    line-height: 1.8;
}

.l-compare-result-block01 {
    padding-top: 10.0rem;
}

.l-compare-result-block01 * {
    box-sizing: border-box;
}

.l-compare-result-block01 h4 {
    padding-top: 3.0rem;
    display: block;
    text-align: center;
    font-size: 4.0rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-compare-result-block01 h4 span {
    display: block;
    text-align: center;
    font-size: 3.0rem;
    font-weight: 900;
    line-height: 1.75;
}

.l-compare-result-block02 {
    padding-top: 6.0rem;
    padding-bottom: 12.0rem;
}

.l-compare-result-block02 * {
    box-sizing: border-box;
}

.l-compare-result-block02-inner {
    width: 110.0rem;
    margin: 0 auto;
}

.l-compare-result-block02-box {
    border-radius: 2.0rem;
    background: #FFFFFF;
    padding: 6.0rem 8.0rem;
}

.l-compare-result-block02-box-table {
    width: 100%;
    display: table;
}

.l-compare-result-block02-box-table > div {
    display: table-cell;
    vertical-align: top;
}

.l-compare-result-block02-box-table-left {
    width: 68.0rem;
    text-align: left;
}

.l-compare-result-block02-box-table-left-picture {
    position: relative;
    padding-top: 2.0rem;
}

.l-compare-result-block02-box-table-left-picture .l-compare-result-block02-box-table-left-picture-name {
    max-width: 100%;
    width: auto;
    height: auto;
    border-radius: 1.5rem;
}

.l-compare-result-block02-box-table-left-picture .l-compare-result-block02-box-table-left-picture-can {
    position: absolute;
    bottom: 2.0rem;
    left: 2.0rem;
    max-width: 100%;
    width: 15.0rem;
    height: auto;
}

.l-compare-result-block02-box-table-right {
    width: auto;
    padding-left: 4.0rem;
    text-align: left;
}

.l-compare-result-block02-box-table-right p {
    border: solid calc(3 * var(--base-unit)) #555555;
    margin-bottom: 1.0rem;
    padding: 1.0rem 2.0rem;
    font-size: 1.8rem;
    font-weight: 500;
}

.l-compare-result-block02-box-btn {
    display: table;
    margin: 0 auto;
}

.l-compare-result-block02-box-btn p {
    display: table-cell;
    vertical-align: top;
    text-align: center;
    padding: 3.0rem 1.0rem 0;
}

.pc-only {
    display: block !important;
}

.sp-only {
    display: none !important;
}

.l-contact-banner {
    width: 100.0rem;
    margin: 0 auto;
    text-align: center;
}

.l-contact-banner picture {
    display: block;
    padding-bottom: 2.0rem;
}

.l-contact-banner picture img {
    box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.35);
}

.l-contact-banner-message {
    padding-bottom: 6.0rem;
    text-align: left;
    color: #111111;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

.l-contact-banner-caution {
    padding-bottom: 6.0rem;
    text-align: center;
    color: #cc0000;

    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
}

/* common */
.table01 {
    width: 100%;
    border-collapse: separate;
    border-radius: 2rem;
    overflow: hidden;
    border: calc(1 * var(--base-unit)) solid #ccc;
}

.table01 th,
.table01 td {
    padding: 1em 1.5625em;
    line-height: 1.5;
    border-right: calc(1 * var(--base-unit)) solid #ccc;
    border-bottom: calc(1 * var(--base-unit)) solid #ccc;
}

.table01 th {
    background: #f1f1f1;
    width: 30rem;
}

.table01 tr:first-of-type:not(:has(td)) th {
    text-align: center;
    background: #e2e2e2;
    width: auto;
}

.table01 td {
    background: #ffffff;
    width: auto;
    /* word-break: keep-all; */
    word-break: auto-phrase;
}

.table01 td > * {
    word-break: auto-phrase;
}

.table01 tr > *:last-child {
    border-right: 0;
}

.table01 tr:last-of-type > * {
    border-bottom: 0;
}

.table02 {
    width: 100%;
    border-collapse: separate;
    border-radius: 2rem;
    overflow: hidden;
    border: calc(1 * var(--base-unit)) solid #ccc;
}

.table02 th,
.table02 td {
    padding: 1.2rem 4.5rem;
    line-height: 1.75;
    border-right: calc(1 * var(--base-unit)) solid #ccc;
    border-bottom: calc(1 * var(--base-unit)) solid #ccc;
}

.table02 th {
    background: #f1f1f1;
    width: 30rem;
}

.table02 td {
    background: #ffffff;
    width: auto;
}

.table02 tr:nth-of-type(odd) th,
.table02 tr:nth-of-type(odd) td {
    background: #FFFFFF;
}

.table02 tr:nth-of-type(even) th,
.table02 tr:nth-of-type(even) td {
    background: #f1f1f1;
}

.table02 tr > *:last-of-type {
    border-right: 0;
}

.table02 tr:last-of-type > * {
    border-bottom: 0;
}

ul.linkEffect01 > li a,
.linkEffect01 > div a {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.0);
    filter: brightness(100%);
    transition: 0.3s ease;
}

ul.linkEffect01 > li a:hover,
.linkEffect01 > div a:hover {
    opacity: 1 !important;
    box-shadow: 0 2rem 1.0rem -1.5rem rgba(0, 0, 0, 0.25);
}

ul.linkEffect01 > li a:hover img,
.linkEffect01 > div a:hover img {
    opacity: 1 !important;
}

ul.linkEffect01:has(li a:hover) li a:not(:hover),
.linkEffect01:has(div a:hover) div a:not(:hover) {
    filter: brightness(95%);
}

.arrow-upper01 {
    position: relative;
}

.arrow-upper01::before {
    content: "";
    width: 2.4rem;
    height: 3.7rem;
    position: absolute;
    inset: 2.0rem 0 auto;
    margin: 0 auto;
    transform: rotate(90deg) translateX(-50%);
    /* transform: translateX(-40%) rotate(90deg); */
    /* background-color: #efdac8; */
    background-color: #cccccc;
    --mask: url(img/common/svg_arrow01.svg);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center top;
    -webkit-mask-size: contain;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center top;
    mask-size: contain;
}

.balloon01 {
    --c: #ff7608;
    --b: #ffffff;
    position: relative;
    /* border-bottom: 3px solid var(--c); */
    max-width: 780px;
    text-align: center;
    padding-top: 4.0rem;
    padding-bottom: 2.2rem;
    text-align: center;
    font-weight: 900;
    line-height: 1.5;
    margin: 0 auto;
    border: 0;
    background-image: linear-gradient(to right, var(--c) calc(50% - 12px), transparent calc(50% - 12px), transparent calc(50% + 12px), var(--c) calc(50% + 12px));
    background-position: 0 bottom;
    background-size: 100% 3px;
    background-repeat: repeat-x;
}

:where(.balloon01) {
    font-size: calc(24 * var(--base-unit));
}

.balloon01::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 3px;
    margin: 0 auto;
    width: 24px;
    height: 16px;
    /* background: var(--white); */
    /* clip-path: polygon(50% 100%, 0 0, 100% 0); */
    /* transform: translate(0, 97%); */
    background: var(--c);
    transform: translate(3px, 100%);
    clip-path: polygon(calc(100% - 4px) 0, 100% 0%, 50% 100%, calc(50% - 4px) 100%);
}

.balloon02 {
    width: fit-content;
    margin: 0 0 0 auto;
    --background: var(--main-color01);
}

.balloon02 > p {
    background: var(--background);
    color: #ffffff;
    font-size: max(2.4rem, 14px);
    font-weight: 700;
    line-height: 1.5;
    width: fit-content;
    border-radius: 2.0rem;
    display: flex;
    /* height: 6.6rem; */
    padding: 1.3rem 3.0rem 1.7rem;
    align-items: center;
    justify-content: center;
    position: relative;
}

.balloon02 div:has(img) {
    width: fit-content;
    /* margin: -1.5rem 0 0 50%; */
    margin: -1.5rem min(50%, 28.0rem) 0 auto;
    /* margin: -1.5rem clamp(0rem, 50%, 18.0rem) 0 auto; */
    position: relative;
    transform: translateX(50%);
}

.balloon02 div:has(img)::before {
    content: "";
    position: absolute;
    inset: 0 0 auto auto;
    margin: 0;
    width: 5.6rem;
    height: 2.4rem;
    transform: translate(70%, 20%);
    background: var(--background);
    border-bottom-right-radius: 100% 90%;
    --mask: radial-gradient(65% 105% at 0 0, #0000 99%, #000 101%);
    -webkit-mask-image: var(--mask);
    -webkit-mask-repeat: no-repeat;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
}

.balloon02 img {
    display: block;
    width: auto;
    height: 13.9rem !important;
}

.list-details01 {
    display: block;
    counter-reset: my-counter;
}

.list-details01 > li {
    display: grid;
    grid-template-areas:
        "picture title"
        "picture content"
        "picture .";
    gap: 0 2rem;
    justify-content: flex-start;
    align-items: flex-start;
    background-image: radial-gradient(circle, #cccccc 1.5px, transparent 2.001px);
    background-position: 0 bottom;
    background-size: 12px 4px;
    background-repeat: repeat-x;
    padding-bottom: 4rem;
    margin-top: 4rem;
    box-sizing: border-box;
}

.list-details01 > li picture {
    grid-area: picture;
    width: 30rem;
}

.list-details01 > li picture img {
    width: 100%;
    height: auto;
}

.list-details01 > li h4 {
    grid-area: title;
    font-size: calc(16 * var(--base-unit));
    color: var(--main-color01);
    margin-top: calc(10 * var(--base-unit));
    margin-bottom: calc(10 * var(--base-unit));
    padding-left: calc(36 * var(--base-unit));
    position: relative;
}

.list-details01 > li h4::before {
    font-family: Roboto, sans-serif;
    font-size: calc(16 * var(--base-unit));
    font-weight: 400;
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: var(--main-color01);
    color: var(--white);
    display: block;
    float: left;
    line-height: calc(28 * var(--base-unit));
    margin-left: calc(-36 * var(--base-unit));
    text-align: center;
    height: calc(28 * var(--base-unit));
    width: calc(28 * var(--base-unit));
    border-radius: 50%;
    padding: calc(1 * var(--base-unit)) 0 0 calc(1 * var(--base-unit));
    box-sizing: border-box;
}

.list-details01 > li .inBox {
    grid-area: content;
}

.list-details01 > li h5 {
    font-size: calc(16 * var(--base-unit));
    margin-top: calc(10 * var(--base-unit));
}

.list-details01 > li ul {
    margin: 0 0 15px 0;
}

.list-details01 > li ul li {
    list-style: none;
    line-height: 1.7;
    margin-bottom: calc(10 * var(--base-unit));
    padding-left: calc(20 * var(--base-unit));
    position: relative;
}

.list-details01 > li ul li::before {
    content: '';
    display: block;
    left: calc(8 * var(--base-unit));
    top: calc(11 * var(--base-unit));
    width: calc(5 * var(--base-unit));
    height: calc(5 * var(--base-unit));
    border-radius: 100vh;
    background: currentColor;
    position: absolute;
}

/* -----------------------------------------------------------
    .wp-pagenavi
----------------------------------------------------------- */
.wp-pagenavi {
    text-align: center;
    display: flex;
    gap: 0.5rem;
    justify-content: center;
    align-items: center;
    margin-top: 8.5rem;
    padding-bottom: 2.0rem;
}

.wp-pagenavi .pages {
    border: 0;
}

.wp-pagenavi a {
    text-decoration: none !important;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: flex !important;
    justify-content: center;
    align-items: center;
    /* height: 2.1875em;
    min-width: 2.1875em; */
    height: calc(35 * var(--base-unit));
    min-width: calc(35 * var(--base-unit));
    border: 0;
    color: var(--body-text-color) !important;
    background: var(--white);
    margin: 0;
    padding: 0.65em 0.625em 0.6em;
    /* padding: 0.625em; */
    line-height: 1;
    border-radius: 6px;
    transition: all 0.3s ease;
    /* font-size: 1.6rem; */
    font-size: calc(16 * var(--base-unit));
    font-weight: 700;
    font-family: var(--en-font-family);
    box-sizing: border-box;
    border: 1px solid #ccc;
}

.wp-pagenavi span.extend,
.wp-pagenavi span.pages {
    background: transparent !important;
    border: 0 !important;
}

.wp-pagenavi span.pages {
    margin-right: 0.625em;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
    background: var(--body-text-color);
    color: var(--white) !important;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
    position: relative;
    text-align: center;
    /* font-size: 1.4rem; */
    font-size: calc(14 * var(--base-unit));
    /* padding-top: calc(5 * var(--base-unit));
    padding-bottom: calc(5 * var(--base-unit)); */
}

.wp-pagenavi a.previouspostslink {
    padding-left: calc(44 * var(--base-unit));
    padding-right: calc(17 * var(--base-unit));
    margin-right: calc(4 * var(--base-unit));
    order: -1;
}

.wp-pagenavi a.previouspostslink::after,
.wp-pagenavi a.nextpostslink::after {
    position: absolute;
    margin: auto 0;
    content: "";
    width: calc(10 * var(--base-unit));
    height: calc(16 * var(--base-unit));
    background-color: currentColor;
    --mask: url(./img/common/svg_arrow02.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    mask-image: var(--mask);
}

.wp-pagenavi a.previouspostslink::after {
    inset: 0 auto 0 calc(15 * var(--base-unit));
    transform: scaleX(-1);
}

.wp-pagenavi a.nextpostslink {
    padding-left: calc(17 * var(--base-unit));
    padding-right: calc(44 * var(--base-unit));
    margin-left: calc(4 * var(--base-unit));
    order: 999
}

.wp-pagenavi a.nextpostslink::after {
    inset: 0 calc(15 * var(--base-unit)) 0 auto;
}

/* -----------------------------------------------------------
    form共通
----------------------------------------------------------- */
.form_table:has(table),
table.form_table {
    width: 100%;
    border-radius: 2.0rem;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    overflow: hidden;
}

.form_table table,
table.form_table {
    width: 100%;
    border-collapse: separate;
    overflow: hidden;
}

.form_table th,
.form_table td {
    border-bottom: calc(1 * var(--base-unit)) solid #cccccc;
}

.form_table th {
    width: 31.5rem;
    padding: 2.5rem 3.0rem 2.5rem 6.5rem;
    background: #ffebbd;
    font-weight: 700;
}

.form_table td {
    padding: 2.5rem 3.0rem 2.5rem 3.0rem;
}

table.form_table tr:last-of-type th,
table.form_table tr:last-of-type td {
    border-bottom: 0;
}

.form_table th span {
    background: #ef2525;
    color: #ffffff;
    font-size: 1.4rem;
    float: none;
    padding: .2rem 1.5rem;
    border-radius: .5rem;
    margin-left: 1.0rem;
}

.form_table th span.any {
    background: #ffaa67;
}

.form_table th label {
    display: block;
    font-size: 1.4rem;
    font-weight: 900;
    line-height: 1.75;
}

.form_table td select,
.form_table td input[type="date"] {
    width: 27.0rem;
    font-size: 1.6rem;
    padding: .5rem 1.0rem;
    line-height: 3.0rem;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    box-sizing: border-box;
    margin-right: 1.0rem;
    border-radius: 2.5rem;
    font-family: var(--base-font-family);
    color: #111111;
}

.form_table td input[type="text"],
.form_table td input[type="tel"],
.form_table td input[type="email"] {
    width: 37.5rem;
    padding: .5rem 1.0rem;
    line-height: 3.0rem;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    box-sizing: border-box;
    font-size: 1.6rem;
    border-radius: 2.5rem;
    font-family: var(--base-font-family);
    color: #111111;
}

.form_table td .readonly {
    background: #eeeeee !important;
    color: #888888 !important;
}

.form_table td textarea {
    padding: .5rem 1.0rem;
    width: 65.0rem;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    box-sizing: border-box;
    overflow: auto;
    border-radius: 2.5rem;
    font-family: var(--base-font-family);
    color: #111111;
    line-height: 3.0rem;
}

.form_table .form-caution {
    /* border: calc(1 * var(--base-unit)) solid #cccccc; */
    border-top: none;
    border-radius: 0 0 1.5rem 1.5rem;
    padding: 4.5rem 12.0rem 5.0rem;
}

.form_table .form-caution-title {
    text-align: center;
    color: #111111;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.625;
    letter-spacing: 0em;
}

.form_table .form-caution ul {
    display: block;
    padding-top: 3.5rem;
}

.form_table .form-caution ul li {
    display: block;
    text-align: left;
    font-size: 1.6rem;
    line-height: 1.625;
}

.form_table .form-caution ul li a {
    text-decoration: underline;
    color: #111111;
    font-size: 1.6rem;
}

.form_table .submit,
.l-price-block05 .submit {
    text-align: center;
}

.form_table .submit input,
.l-price-block05 .submit input {
    margin-top: 3.5rem;
    background: right center var(--main-color01) url(img/common/svg_btn01.svg) no-repeat;
    /* background-size: 17.4rem 10.0rem; */
    background-size: calc(174 * var(--base-unit)) calc(100 * var(--base-unit));
    border: none;
    border-radius: 100vh;
    text-decoration: none;
    padding: 1.111em 3.0em 1.222em 3.0em;
    line-height: 1;
    font-size: 1.8rem;
    /* font-size: calc(18 * var(--base-unit)); */
    font-weight: 700;
    color: #ffffff;
    position: relative;
    display: inline-block;
    min-width: calc(300 * var(--base-unit));
    font-family: var(--base-font-family);
    text-align: center;
    box-sizing: border-box;
    transition: 0.3s;
    cursor: pointer;
}

.form_table .submit input:hover,
.l-price-block05 .submit input:hover {
    opacity: 0.3;
}

/* .form_table .form-caution .submit {
    text-align: center;
}

.form_table .form-caution .submit input {
    margin-top: 3.5rem;
    background: right center var(--main-color01) url(img/common/svg_btn01.svg) no-repeat;
    background-size: 17.4rem 10.0rem;
    border: none;
    border-radius: 3.0rem;
    text-decoration: none;
    padding: 2.0rem 3.0rem 2.2rem 3.0rem;
    line-height: 1;
    font-size: 1.8rem;
    font-weight: 700;
    color: #ffffff;
    position: relative;
    display: inline-block;
    min-width: 30.0rem;
    font-family: var(--base-font-family);
    text-align: center;
    box-sizing: border-box;
    transition: 0.3s;
}

.form_table .form-caution .submit input:hover {
    cursor: pointer;
    opacity: 0.7;
} */


/* -----------------------------------------------------------
    投稿系共通
----------------------------------------------------------- */
/* .wysiwyg {
    margin-top: 11.0rem;
} */
#blog .wysiwyg {
    margin-top: 6.0rem;
}


.wysiwyg * {
    word-break: break-word;
}

.wysiwyg b,
.wysiwyg strong {
    font-weight: 700;
}

.wysiwyg p {
    margin: 0 0 1.5em 0;
}

.wysiwyg p a,
.wysiwyg th a,
.wysiwyg td a {
    color: var(--main-color01);
    text-decoration: underline;
    text-underline-offset: calc(8 * var(--base-unit));
    transition: 0.3s ease;
}

.wysiwyg a:hover {
    opacity: 0.8;
}

.wysiwyg .singleMainThumb img {
    display: block;
    margin: calc(60 * var(--base-unit)) auto;
    border-radius: calc(20 * var(--base-unit));
}

.wysiwyg .infoBox .cats i[class^='fa'] {
    font-size: calc(20 * var(--base-unit));
    margin-right: 1em;
}

.wysiwyg .infoBox .time {
    text-align: right;
}

.wysiwyg h1, .h1 {
    margin-bottom: calc(40 * var(--base-unit));
    padding-top: calc(10 * var(--base-unit));
    word-break: break-all;
}

.wysiwyg h2, .h2 {
    /* font-size: calc(28 * var(--base-unit)); */
    /* font-size: calc(28 * var(--base-title-scale)); */
    font-size: max(var(--base-title-min), calc(28 * var(--base-title-scale)));
    font-weight: 700;
    line-height: 1.25;
    padding: 0.7em 1em;
    box-sizing: border-box;
    background: #ff7608;
    color: #ffffff;
    text-align: left;
    border-radius: 2rem;
    margin: 0 0 1em;
}

.wysiwyg * + h2 {
    margin-top: calc(4 * var(--base-unit));
}

.wysiwyg h3, .h3 {
    font-size: max(var(--base-title-min), calc(26 * var(--base-title-scale)));
    font-weight: 700;
    line-height: 1.25;
    padding: 0.577em 1.154em 0.67em;
    box-sizing: border-box;
    background: var(--main-color03);
    color: #ffffff;
    border-radius: 2rem;
    margin: 1em 0;
}

.wysiwyg h4, .h4 {
    font-size: max(var(--base-title-min), calc(22 * var(--base-title-scale)));
    font-weight: 700;
    padding: 0.545em 0.9em 0.68em;
    border-top: 2px solid var(--main-color03);
    border-bottom: 2px solid var(--main-color03);
    margin: calc(30 * var(--base-unit)) 0;
}

.wysiwyg h5, .h5 {
    font-size: max(var(--base-title-min), calc(18 * var(--base-title-scale)));
    font-weight: 700;
    line-height: 1.25;
    padding: 0.666em 1.111em 0.833em;
    box-sizing: border-box;
    border-bottom: 4px double var(--main-color03);
    margin: calc(30 * var(--base-unit)) 0;
}

.wysiwyg h6, .h6 {
    font-size: max(var(--base-title-min), calc(18 * var(--base-title-scale)));
    font-weight: 700;
    line-height: 1.25;
    padding: 0.555em 1.111em 0.722em;
    box-sizing: border-box;
    margin: calc(30 * var(--base-unit)) 0;
    background-image: radial-gradient(circle, #cccccc 1.5px, transparent 2.001px);
    background-position: 0 bottom;
    background-size: 12px 4px;
    background-repeat: repeat-x;
}

.wysiwyg table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--white);
    overflow: hidden;
    border: 0;
    border: calc(1 * var(--base-unit)) solid #cccccc;
    border-radius: 2.0rem;
}

.wysiwyg * + table {
    margin-top: calc(30 * var(--base-unit));
}

.wysiwyg table th,
.wysiwyg table td {
    border: 0;
    border-bottom: calc(1 * var(--base-unit)) solid #cccccc;
    padding: calc(15 * var(--base-unit)) calc(30 * var(--base-unit));
}

.wysiwyg table th {
    width: 27%;
    background: #f1f1f1;
    font-weight: normal;
}

.wysiwyg table tr:last-of-type th,
.wysiwyg table tr:last-of-type td {
    border-bottom: 0;
}

:where(.wysiwyg) ul {
    margin: 0 0 calc(15 * var(--base-unit)) 0;
}

:where(.wysiwyg ul) li {
    list-style: none;
    line-height: 1.7;
    margin-bottom: calc(10 * var(--base-unit));
    padding-left: calc(30 * var(--base-unit));
    position: relative;
}

:where(.wysiwyg ul) li::before {
    content: '';
    display: block;
    left: calc(8 * var(--base-unit));
    top: calc(10 * var(--base-unit));
    width: calc(8 * var(--base-unit));
    height: calc(8 * var(--base-unit));
    border-radius: 100vh;
    background: currentColor;
    position: absolute;
}

.wysiwyg ol {
    counter-reset: my-counter;
    list-style: none;
    padding: 0;
    margin-bottom: calc(30 * var(--base-unit));
}

.wysiwyg ol li {
    list-style: none;
    line-height: 1.7;
    margin-bottom: calc(10 * var(--base-unit));
    padding-left: calc(36 * var(--base-unit));
    position: relative;
}

.wysiwyg ol li::before {
    font-family: Roboto, sans-serif;
    font-size: calc(16 * var(--base-unit));
    content: counter(my-counter);
    counter-increment: my-counter;
    background-color: var(--main-color01);
    color: var(--white);
    display: block;
    float: left;
    line-height: calc(28 * var(--base-unit));
    margin-left: calc(-36 * var(--base-unit));
    text-align: center;
    height: calc(28 * var(--base-unit));
    width: calc(28 * var(--base-unit));
    border-radius: 50%;
    padding: calc(1 * var(--base-unit)) 0 0 calc(1 * var(--base-unit));
    box-sizing: border-box;
}

.wysiwyg blockquote {
    background: #f1f1f1;
    /* padding: calc(30 * var(--base-unit)) calc(50 * var(--base-unit)); */
    /* padding: 1.875em 3.125em; */
    padding: 1.5em 2.0em;
    margin-bottom: calc(30 * var(--base-unit));
    --bc: var(--body-text-color);
    background-image:
        linear-gradient(to right, var(--bc), var(--bc) 1px, transparent 1px, transparent 3px),
        linear-gradient(to bottom, var(--bc), var(--bc) 1px, transparent 1px, transparent 3px),
        linear-gradient(to left, var(--bc), var(--bc) 1px, transparent 1px, transparent 3px),
        linear-gradient(to top, var(--bc), var(--bc) 1px, transparent 1px, transparent 3px);
    background-size: 3px 1px, 1px 3px, 3px 1px, 1px 3px;
    background-position: left top, right top, right bottom, left bottom;
    background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
}

.wysiwyg blockquote p:last-of-type {
    margin-bottom: 0;
}

.wysiwyg iframe {
    width: 100%;
    height: calc(500 * var(--base-unit));
}

.gallery-item img {
    border: 1px solid #cccccc !important;
}

.gallery-item .gallery-caption {
    font-size: 0.8em;
}