@charset "UTF-8";

#title {
background-image: url("image/title.jpg");
}
@media screen and (min-width: 641px),print {
#copy {
background-position: right center;
margin: 100px auto 0 auto;
}
#copy .box {
max-width: 1200px;
width: 90%;
margin: 0px auto 0 auto;
}
#copy h2 {
font-weight: 700;
font-size: clamp(1.125rem, 0.375rem + 3.75vw, 3.188rem);
line-height: 1.8em;
padding-bottom: 1em;
}
#copy p {
font-weight: 400;
font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
line-height: 1.8em;
color: #4c4c4c;
padding-bottom: 2em;
}
#copy p strong {
font-weight: 700;
font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
line-height: 1.8em;
}
#copy p b {
font-weight: 700;
font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
line-height: 1.8em;
color: #FF0000;
}
#business {
margin: 100px auto 0 auto;
}
#business dl {
margin: 50px auto 0 auto;
max-width: 1200px;
width: 90%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
#business dl img {
width: 100%;
height: auto;
display: block;
}
#business dt {
width: 50%;
text-align: left;
}
#business dd {
width: 50%;
text-align: left;
}
#business dl h5 {
font-size: clamp(1rem, 0.773rem + 1.14vw, 1.625rem);
line-height: 1.5em;
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 700;
font-style: normal;
padding: 0 0 1em 1.5em;
}
#business dl p {
color: #4c4c4c;
font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
line-height: 1.9em;
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 400;
font-style: normal;
padding: 0 0 2.5em 2.5em;
}
#business dl dt h5 {
padding: 0 0 1em 0em;
}
#business dl dt p {
padding: 0 2.5em 2.5em 0em;
}
#business p.bt {
margin: 0px 0 0 auto;
text-align: right;
}
#business p.bt a {
width: 380px;
max-width: 31.6vw;
padding: 0.5em 2em 0.5em 2em;
box-sizing: border-box;
margin: 0px 0 0 auto;
}

#services {
background-color: #f2f2f2;
margin: 100px auto 0 auto;
text-align: center;
padding: 5vw 0 5vw 0;
}
#services ul {
display: flex;
flex-wrap: wrap;
justify-content: center;
max-width: 1200px;
width: 90%;
margin: 3vw auto 0 auto;
}
#services ul li {
width: 48%;
position: relative;
margin-bottom: 40px;
box-sizing: border-box;
padding: 0 15px 0 15px;
}
#services ul li .point {
position: absolute;
background-color: #FF0000;
color: #FFF;
font-family: gravita-hum-variable, sans-serif;
font-variation-settings: "wght" 520;
font-size: clamp(1rem, 0.477rem + 2.61vw, 2.438rem);
line-height: 1em;
display: block;
text-align: center;
width: 3vw;
padding: 0.1em 0 0.3em 0;
z-index: 10;
}
#services ul li .photo {
position: relative;
}
#services ul li img {
width: 100%;
height: auto;
}
#services ul li h4 {
font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.6rem);
line-height: 1.8em;
font-weight: 700;
padding: 0.7em 0 0.7em 0;
}
#services ul li p {
font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.2rem);
line-height: 1.8em;
text-align: left;
color: #4c4c4c;
}

#member {
background-color: #f2f2f2;
margin: 100px auto 0 auto;
text-align: center;
padding: 5vw 0 5vw 0;
}
#member ul {
margin: 60px auto 0 auto;
max-width: 1200px;
width: 90%;
}
#member ul li {
background-color: #FFF;
text-align: left;
margin-bottom: 70px;
box-sizing: border-box;
padding: 1em;
position: relative;
}
#member ul li p {
font-family: iroha-26tubaki-stdn, sans-serif;
font-weight: 400;
font-style: normal;
font-size: clamp(0.875rem, 0.693rem + 0.91vw, 1.375rem);
line-height: 1.8em;
}
#member ul li p b {
font-size: clamp(1rem, 0.682rem + 1.59vw, 1.875rem);
line-height: 1.8em;
color: #FF0000;
}
#member ul li:nth-of-type(1):after {
content: '';
display: inline-block;
width: 120px;
height: 140px;
background-image: url("house/image/member1.png");
background-size: contain;
vertical-align: middle;
position: absolute;
top: 10px;
right: 10px;
}
#member ul li:nth-of-type(2) {
padding: 1em 1em 1em 15%;
}
#member ul li:nth-of-type(2):after {
content: '';
display: inline-block;
width: 120px;
height: 140px;
background-image: url("house/image/member2.png");
background-size: contain;
vertical-align: middle;
position: absolute;
top: 10px;
left: 10px;
}

#projects {
margin: 100px auto 0 auto;
text-align: center;
padding: 0;
}
#projects ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
max-width: 1200px;
width: 90%;
margin: 70px auto 0 auto;
}
#projects ul li {
background-color: #f4f4f4;
text-align: left;
width: 47%;
box-sizing: border-box;
padding: 20px;
}
#projects ul li img {
width: 100%;
height: auto;
}
#projects ul li h4 {
font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
line-height: 1.8em;
font-weight: 700;
padding: 0.7em 0 0.7em 0;
}
#projects ul li h5 {
font-size: clamp(0.875rem, 0.784rem + 0.45vw, 1.125rem);
line-height: 1.8em;
font-weight: 500;
padding-bottom: 1em;
}
#projects ul li p {
color: #4c4c4c;
font-size: clamp(0.813rem, 0.699rem + 0.57vw, 1.125rem);
line-height: 1.8em;
font-weight: 400;
}

#other {
margin: 150px auto 0 auto;
text-align: center;
padding: 0;
}
#other ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
max-width: 1200px;
width: 90%;
margin: 60px auto 0 auto;
}
#other ul li {
width: 46%;
}
#other ul li img {
width: 100%;
height: auto;
}
#other ul li h5 {
font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);
line-height: 1.8em;
font-weight: 700;
padding: 0.5em 0 1em 0;
}
#other ul li p.bt {
width: 80%;
margin: 0px auto 0 auto;
}
}


@media screen and (min-width: 0px) and (max-width: 640px) {
#copy {
background-position: right top;
background-size: 37%;
margin: 40px auto 0 auto;
}
#copy .box {
width: 90%;
margin: 0px auto 0 auto;
}
#copy h2 {
font-weight: 700;
font-size: 22px;
line-height: 1.3em;
padding: 0 5em 1em 0;
}
#copy p {
font-weight: 400;
font-size: 16px;
line-height: 1.3em;
color: #4c4c4c;
padding: 0 0 1em 0;
}
#copy p strong {
font-weight: 700;
font-size: 16px;
line-height: 1.3em;
padding: 0 7em 1em 0;
display: block;
}
#copy p b {
font-weight: 700;
font-size: 16px;
line-height: 1.3em;
color: #FF0000;
}
#business {
margin: 40px auto 0 auto;
}
#business dl {
margin: 20px auto 0 auto;
width: 90%;
display: flex;
flex-wrap: wrap;
}
#business dl img {
width: 100%;
height: auto;
display: block;
}
#business dt {
width: 100%;
text-align: left;
}
#business dt:nth-of-type(1) {
order: 0;
}
#business dt:nth-of-type(2) {
order: 3;
margin-bottom: 20px;
}
#business dt:nth-of-type(3) {
order: 4;
}
#business dd:nth-of-type(1) {
order: 1;
margin-bottom: 20px;
}
#business dd:nth-of-type(2) {
order: 2;
}
#business dd:nth-of-type(3) {
order: 5;
}
#business dd {
width: 100%;
text-align: left;
}
#business dl h5 {
font-size: 18px;
line-height: 1.3em;
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 700;
font-style: normal;
padding: 1em 0 1em 0em;
}
#business dl p {
color: #4c4c4c;
font-size: 14px;
line-height: 1.3em;
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 400;
font-style: normal;
padding: 0 0 2em 0em;
}
#business p.bt {
margin: 0px auto 0 auto;
}
#business p.bt a {
width: 90%;
padding: 0.5em 2em 0.5em 2em;
box-sizing: border-box;
margin: 0px auto 0 auto;
}

#services {
background-color: #f2f2f2;
margin: 40px auto 0 auto;
text-align: center;
padding: 1.5em 0 1.5em 0;
}
#services ul {
width: 90%;
margin: 1.5em auto 0 auto;
}
#services ul li {
width: 100%;
position: relative;
margin-bottom: 30px;
}
#services ul li .point {
position: absolute;
background-color: #FF0000;
color: #FFF;
font-family: gravita-hum-variable, sans-serif;
font-variation-settings: "wght" 520;
font-size: clamp(1rem, 0.477rem + 2.61vw, 2.438rem);
line-height: 1em;
display: block;
text-align: center;
width: 3vw;
padding: 0.1em 0 0.3em 0;
}
#services ul li .photo {
position: relative;
}
#services ul li img {
width: 100%;
height: auto;
}
#services ul li h4 {
font-size: 18px;
line-height: 1.3em;
font-weight: 700;
padding: 0.5em 0 0.5em 0;
}
#services ul li p {
font-size: 14px;
line-height: 1.3em;
text-align: left;
color: #4c4c4c;
}

#projects {
margin: 40px auto 0 auto;
text-align: center;
padding: 0;
}
#projects ul {
width: 90%;
margin: 20px auto 0 auto;
}
#projects ul li {
background-color: #f4f4f4;
text-align: left;
width: 100%;
box-sizing: border-box;
padding: 20px;
margin-bottom: 20px;
}
#projects ul li img {
width: 100%;
height: auto;
}
#projects ul li h4 {
font-size: 18px;
line-height: 1.3em;
font-weight: 700;
padding: 0.5em 0 0.5em 0;
}
#projects ul li h5 {
font-size: 14px;
line-height: 1.3em;
font-weight: 500;
padding-bottom: 1em;
}
#projects ul li p {
color: #4c4c4c;
font-size: 14px;
line-height: 1.3em;
font-weight: 400;
}

#member {
background-color: #f2f2f2;
margin: 40px auto 0 auto;
text-align: center;
padding: 1.5em 0 1.5em 0;
}
#member ul {
margin: 20px auto 0 auto;
width: 90%;
}
#member ul li {
background-color: #FFF;
text-align: left;
margin-bottom: 30px;
box-sizing: border-box;
padding: 1em 20% 1em 1em;
position: relative;
}
#member ul li p {
font-family: iroha-26tubaki-stdn, sans-serif;
font-weight: 400;
font-style: normal;
font-size: 16px;
line-height: 1.3em;
}
#member ul li p b {
font-size: 17px;
line-height: 1.3em;
color: #FF0000;
}
#member ul li:nth-of-type(1):after {
content: '';
display: inline-block;
width: 51px;
height: 60px;
background-image: url("house/image/member1.png");
background-size: contain;
vertical-align: middle;
position: absolute;
top: 10px;
right: 10px;
}
#member ul li:nth-of-type(2) {
padding: 1em 1em 1em 20%;
}
#member ul li:nth-of-type(2):after {
content: '';
display: inline-block;
width: 51px;
height: 60px;
background-image: url("house/image/member2.png");
background-size: contain;
vertical-align: middle;
position: absolute;
top: 10px;
left: 10px;
}

#other {
margin: 40px auto 0 auto;
text-align: center;
padding: 0;
}
#other ul {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 90%;
margin: 20px auto 0 auto;
}
#other ul li {
width: 47%;
}
#other ul li img {
width: 100%;
height: auto;
}
#other ul li h5 {
font-size: 13px;
line-height: 1.3em;
font-weight: 700;
padding: 0.5em 0 0.6em 0;
}
#other ul li p.bt {
width: 100%;
margin: 0px auto 0 auto;
}
#container p.bt a {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 500;
font-style: normal;
font-size: 13px;
line-height: 1.3em;
color: #FFF;
background-color: #ff0000;
display: block;
text-decoration: none;
text-align: center;
padding: 0.7em 1.5em 0.5em 1em;
box-sizing: border-box;
position: relative;
}
}

