@charset "UTF-8";

.eightPromisesFlex {
margin: 70px auto;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

@media screen and (max-width: 428px) {
.eightPromisesFlex {
margin: 40px auto;
}
}

.eightPromises {
max-width: 260px;
width: 24%;
}

@media screen and (max-width: 428px) {
.eightPromises {
width: 48%;
margin-bottom: 10px;
}
}

.eightPromisesW {
max-width: 543px;
width: 48%;
}

@media screen and (max-width: 428px) {
.eightPromisesW {
width: 100%;
margin-bottom: 10px;
}
}

.eightPromises a:hover,
.eightPromisesW a:hover {
text-decoration: none;
}

.eightPromisesTitle {
font-family: "M PLUS Rounded 1c", sans-serif;
font-size: 1.8rem;
font-weight: 500;
color: #6C5323;
margin-top: 20px;
line-height: 1.5;
letter-spacing: .1em;
}

@media screen and (max-width:959px) {
.eightPromisesTitle {
font-size: 1.4rem;
margin-top: 10px;
}
}

@media screen and (max-width: 428px) {
.eightPromisesTitle {
font-size: 1.3rem;
margin-top: 10px;
}
}

#firstClassFlex {
position: relative;
width: 100%;
margin: 60px auto;
margin-top: 100px;
display: flex;
justify-content: space-between;
}

@media screen and (max-width: 428px) {
#firstClassFlex {
width: 100%;
margin: 0 auto;
display: block;
}
}

#firstClassPhoto {
position: relative;
max-width: 411px;
width: 40%;
z-index: 1;
}

@media screen and (max-width: 428px) {
#firstClassPhoto {
width: 100%;
margin-bottom: 30px;
}
}

#firstClassR {
position: relative;
font-family: "M PLUS Rounded 1c", sans-serif;
max-width: 563px;
width: 50%;
font-size: 1.6rem;
font-weight: 500;
text-align: justify;
color: #6C5323;
padding-left: 30px;
margin-right: 80px;
letter-spacing: .05em;
z-index: 1;
}

@media screen and (max-width: 428px) {
#firstClassR {
width: 100%;
font-size: 1.4rem;
}
}

#firstClassR h4 {
position: relative;
font-size: 2rem;
margin-bottom: 30px;
line-height: 2.2;
left: -5px;
}

@media screen and (max-width: 428px) {
#firstClassR h4 {
font-size: 1.8rem;
margin-bottom: 20px;
}
}

#firstClassR h4 span {
background-color: #FEFEF6;
padding: 5px;
}

#firstClassR .btn-main {
margin: 44px 0 0;
}

@media screen and (max-width: 428px) {
#firstClassR .btn-main {
margin: 25px 0 0;
}
}

#firstClassFlexBg {
position: absolute;
background-color: #fff;
width: 747px;
height: 546px;
z-index: 0;
top: -50px;
right: 0;
}

@media screen and (max-width: 428px) {
#firstClassFlexBg {
display: none;
}
}

.accordion {
width: 100%;
font-family: "M PLUS Rounded 1c", sans-serif;
text-align: justify;
margin: 80px auto;
margin-bottom: 60px;
}

@media screen and (max-width: 428px) {
.accordion {
margin: 40px auto;
margin-bottom: 0;
}
}

.accordion ul {
margin: 0 auto;
padding: 0;
}

.accordion li {
position: relative;
background-color: #fff;
width: 100%;
margin-bottom: 50px;
transition: .3s;
}

@media screen and (max-width: 428px) {
.accordion li {
margin-bottom: 20px;
}
}

.accordion li h3 {
position: relative;
font-size: 2.5rem;
font-weight: 500;
color: #6C5323;
}

@media screen and (max-width: 428px) {
.accordion li h3 {
font-size: 1.6rem;
line-height: 1.5;
}
}

.accordion a {
position: relative;
color: var(--themeColor);
display: block;
text-decoration: none;
cursor: pointer;
padding: 20px 76px 28px 32px;
transition: .3s;
}

.accordion li .accordion_icon {
display: inline-block;
transition: all .3s;
box-sizing: border-box;
}

.accordion li .accordion_icon {
position: absolute;
width: 26px;
height: 26px;
margin: auto;
top: 15px;
bottom: 0;
right: 0;
}

@media screen and (max-width: 428px) {
.accordion li .accordion_icon {
width: 18px;
height: 18px;
top: 10px;
}
}

.accordion li .accordion_icon span {
position: absolute;
background-color: #6C5323;
width: 100%;
height: 5px;
border-radius: 5px;
transition: all .3s;
}

.accordion li .accordion_icon span:nth-of-type(1) {
transform: rotate(0deg);
}

.accordion li .accordion_icon span:nth-of-type(2) {
transform: rotate(90deg);
}

.accordion li .accordion_icon.active span:nth-of-type(1) {
display:none;
}

.accordion li .accordion_icon.active span:nth-of-type(2) {
transform: rotate(180deg);
}

.toggleWrap {
position: relative;
width: 100%;
margin-bottom: 20px;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
}

.toggleQ {
width: 78px;
}

@media screen and (max-width: 428px) {
.toggleQ {
width: 40px;
}
}

.toggleT {
width: 1000px;
}

@media screen and (max-width: 428px) {
.toggleT {
width: 90%;
padding: 0 30px 0 10px;
}
}

.faqDetail {
position: relative;
background-color: #FEFEF6;
font-size: 1.6rem;
font-weight: 500;
color: #6C5323;
padding: 60px;
display: none;
}

@media screen and (max-width: 428px) {
.faqDetail {
font-size: 1.4rem;
padding: 30px;
}
}

.faqDetail .answer-icon {
position: relative;
margin-bottom: 30px;
display: flex;
align-items: center;
}

@media screen and (max-width: 428px) {
.faqDetail .answer-icon img {
width: 20px;
}
}

.faqDetail .answer-icon::after {
background-color: #d8b94e;
content: "";
height: 1px;
flex-grow: 1;
margin-left: 1rem;
}

/**/

#bespokeWrap {
position: relative;
width: 100%;
}

#bespokeWrap::before {
position: absolute;
background-color: #FEFEF6;
width: 100%;
height: 450px;
content: "";
z-index: -1;
left: 0;
top: 0;
}

@media screen and (max-width: 428px) {
#bespokeWrap::before {
height: 280px;
}
}

#bespokeContainer {
position: relative;
max-width: 844px;
text-align: center;
margin: 0 auto;
padding: 40px 0 80px;
}

@media screen and (max-width: 428px) {
#bespokeContainer {
width: 90%;
padding: 30px 0 60px;
}
}

#bespokeContainer h1 {
font-family: "M PLUS Rounded 1c", sans-serif;
font-size: 3.6rem;
font-weight: 500;
color: #6C5323;
margin-bottom: 80px;
letter-spacing: .1em;
}

@media screen and (max-width: 428px) {
#bespokeContainer h1 {
font-size: 3rem;
margin-bottom: 40px;
}
}

#bespokeHome {
position: absolute;
font-size: 9rem;
font-weight: 700;
color: #E2E2E2;
margin: auto;
letter-spacing: .05em;
line-height: 1;
z-index: 2;
left: 0;
right: 0;
top: 120px;
}

@media screen and (max-width: 428px) {
#bespokeHome {
font-size: 3.6rem;
top: 98px;
}
}

#rashikuTitle {
font-family: "M PLUS Rounded 1c", sans-serif;
font-size: 2.8rem;
font-weight: 500;
color: #6C5323;
letter-spacing: .1em;
}

@media screen and (max-width: 428px) {
#rashikuTitle {
font-size: 1.6rem;
text-align: center;
}
}

#rashikuTitle span {
font-size: 5rem;
margin-left: 32px;
letter-spacing: .15em;
}

@media screen and (max-width: 428px) {
#rashikuTitle span {
font-size: 4.6rem;
}
}

@media screen and (max-width: 959px) {
#rashikuTitle span {
margin-left: 0;
}
}

#rashikuTitleBo {
font-family: "M PLUS Rounded 1c", sans-serif;
width: 65%;
text-align: right;
color: #6C5323;
}

@media screen and (max-width: 959px) {
#rashikuTitleBo {
text-align: center;
}
}

@media screen and (max-width: 428px) {
#rashikuTitleBo {
width: 100%;
}
}

#originalMethodTitle {
font-family: "M PLUS Rounded 1c", sans-serif;
font-size: 2.5rem;
color: #6C5323;
text-align: center;
margin-bottom: 40px;
line-height: 1.5;
letter-spacing: .1em;
}

@media screen and (max-width: 428px) {
#originalMethodTitle {
font-size: 2.2rem;
margin-bottom: 30px;
}
}

#originalMethodFlex {
margin-bottom: 60px;
display: flex;
justify-content: space-between;
}

@media screen and (max-width: 428px) {
#originalMethodFlex {
display: block;
margin-bottom: 0;
}
}

.originalMethod {
font-family: "M PLUS Rounded 1c", sans-serif;
max-width: 358px;
width: 32.5%;
font-size: 2rem;
font-weight: 400;
color: #6C5323;
text-align: center;
}

@media screen and (max-width: 428px) {
.originalMethod {
width: 100%;
margin-bottom: 20px;
}
}

.originalMethod h3 {
font-size: 2rem;
margin-top: 20px;
display: flex;
justify-content: center;
align-items: center;
}

@media screen and (max-width: 959px) {
.originalMethod h3 {
font-size: 1.6rem;
margin-top: 15px;
}
}

@media screen and (max-width: 428px) {
.originalMethod h3 {
font-size: 1.6rem;
margin-top: 15px;
}
}

.originalMethod h3 img {
width: 49px;
margin-right: 20px;
}

@media screen and (max-width: 959px) {
.originalMethod h3 img {
width: 40px;
margin-right: 10px;
}
}

@media screen and (max-width: 428px) {
.originalMethod h3 img {
width: 35px;
margin-right: 10px;
}
}

#constructionAreaWrap {
background-color: #FEFEF6;
font-family: "M PLUS Rounded 1c", sans-serif;
width: 100%;
font-size: 1.6rem;
font-weight: 500;
color: #6C5323;
text-align: center;
padding: 80px 0;
}

@media screen and (max-width: 428px) {
#constructionAreaWrap {
font-size: 1.4rem;
padding: 40px 0 20px;
}
}

#constructionAreaWrap img {
width: 710px;
margin: 40px auto;
margin-top: 20px
}

@media screen and (max-width: 428px) {
#constructionAreaWrap img {
margin: 20px auto;
margin-top: 0;
}
}

#constructionAreaTitle {
font-size: 2.5rem;
text-align: center;
margin-bottom: 40px;
line-height: 1.5;
letter-spacing: .1em;
}

@media screen and (max-width: 428px) {
#constructionAreaTitle {
font-size: 2.2rem;
margin-bottom: 30px;
}
}

#constructionAreaTitle span {
font-size: 1.6rem;
font-weight: 400;
display: block;
}

@media screen and (max-width: 428px) {
#constructionAreaTitle span {
font-size: 1.4rem;
}
}

#constructionAreaWrap p {
text-align: left;
display: inline-block;
}

@media screen and (max-width: 428px) {
.page-header--case__inner .container {
position: relative !important;
margin: 0 auto !important;
margin-top: -50px !important;
}
.page-header--case__inner .container .page-title {
padding: 15px 20px !important;
margin: 0 auto !important;
line-height: 1.3 !important;
}
}