@charset "UTF-8";
/* CSS Document */
@font-face {
font-family: 'Noto Sans JP';
font-style: normal;
font-weight: 400;
src: local("Noto Sans CJK JP"),
url("https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2") format('woff2'),
url("https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff") format('woff'),
url("https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf") format('opentype');}
html{
font-size: 62.5%;
}
body{
color: #666;

font-family: 'Noto Serif JP','Noto Serif', serif;
font-size: 1.6rem;
font-feature-settings: "palt";
-webkid-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}
img {
width: 100%;
max-width: 100%;
height: auto;
}
a{
color: #020202;
}
#hero img {
width: 40%;
max-width: 140px;
display: block;
margin: 0 auto;
}

/*--------------------
common
--------------------*/
.buton{
text-align: center;
}
.buton a{
font-weight: bold;
color: #FFF;
background-image: linear-gradient(45deg, #b7c2d7 0%, #efdddc 100%);
transition: .4s;
}
.buton a:hover {
background-image: linear-gradient(45deg, #b7c2d7 50%, #efdddc 100%);
}
h4{
text-align: center;
font-weight: bold;
}
h4 span{
display: block;
}
/*--------------------
header
--------------------*/
header h1{
margin: 0 auto;
}
header .hero{
box-shadow: 0px 5px 15px 0px rgb(0 0 0 / 40%) inset;
}
header .hero h2{
color: #fff;
font-weight: 500;
text-align: center;
}
/*--------------------
no-cost
--------------------*/
#no-cost p{
text-align: center;
}
/*--------------------
trouble solving
--------------------*/
#trouble-solving > p{
text-align: center;
}
#trouble-solving .troble-list{
margin: 0 auto;
}
#trouble-solving .troble-list li{
display: flex;
align-items: flex-start;
box-shadow: 10px 10px 15px 0px rgb(0 0 0 / 40%);
}
#trouble-solving .logo-text{
display: flex;
align-items: center;
justify-content: center;
}
/*--------------------
Service
--------------------*/
#service{
background-color: #f9f7f1;
}
.service-box{
background-color: #fff;
box-shadow: 10px 10px 15px 0px rgb(0 0 0 / 40%);
}
.service-box .flow {
display: flex; 
justify-content: space-between; 
flex-wrap: wrap;
margin: 0 auto;
}
.service-box .flow li p{
text-align: center;
}
.service-box > p{
text-align: center;
}
.service-box .step {
display: flex; 
justify-content: space-between; 
margin: 0 auto;
}
.service-box .step li p{
text-align: center;
}
/*--------------------
performance
--------------------*/
#performance ul {
position: relative;
display: flex;
justify-content: space-between;
}
#performance ul li {
display: inline-block;
position: relative;
border-radius: 50%; 
text-align: center;
box-shadow: 5px 5px 10px 0px rgb(0 0 0 / 40%);
}
#performance ul li:nth-child(1){
background-color:#dddddd;
}
#performance ul li:nth-child(2){
background-color:#efdddd;
}
#performance ul li:nth-child(3){
background-color:#d8d0d9;
}
#performance ul li:nth-child(4){
background-color:#b7c2d7;
}
#performance ul li p {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
#performance ul li p span{
font-weight: bold;
}
.performance-text{
width: 100%;
line-height: 1.5;
}
.performance-text span{
font-weight: bold;
}

/*--------------------
company
--------------------*/
#company{
background:#efefef;
}
#company .company-box{
display: flex;
justify-content: center;
align-items: center;
}
#company .list th,
#company .list td{
display: table-cell;
}
#company .map{
box-shadow: 10px 10px 15px 0px rgb(0 0 0 / 40%);
}
/*--------------------
footer
--------------------*/
footer ul {
display: flex;
justify-content: center;
}
footer ul li a {
color: #555;
}
footer p{
text-align: center;
}





@media (max-width: 560px){
/*--------------------
common
--------------------*/
.buton{
margin: 30px auto 0px;
width: 70%;
}
.buton a{
padding: 10px 10%;
letter-spacing: 3px;
border-radius: 35px;
font-size: 18px;
}
h4{
font-size: 25px;
letter-spacing: 3px;
}
h4 span{
font-size: 14px;
letter-spacing: 1px;
}
/*--------------------
header
--------------------*/
header h1{
width: 30%;
padding: 15px 0 5px;
}
header .hero{
background:url("../image/hero.jpg")no-repeat;
background-size: cover;
background-position: bottom;
}
header .hero h2{
font-size: 16px;
font-weight: 500;
padding: 100px 0;
letter-spacing: 10px;
}
/*--------------------
no-cost
--------------------*/
#no-cost{
margin: 50px auto 80px;
}
#no-cost p{
font-size: 16px;
}
/*--------------------
trouble solving
--------------------*/
#trouble-solving p{
font-size: 16px;
}
#trouble-solving .troble-list{
padding: 40px 0 30px;
width: 90%;
letter-spacing: 4px;
}
#trouble-solving .troble-list li{
box-shadow: 10px 10px 15px 0px rgb(0 0 0 / 40%);
border-radius: 100px;
margin-bottom: 30px;
padding: 10px 0 10px 20px;
}
#trouble-solving .troble-list img{
width: 8%;
margin-right: 10px;
}
#trouble-solving .troble-list p{
font-size: 14px;
}
#trouble-solving .logo-text{
margin-bottom: 40px;	
font-size: 14px;
}
#trouble-solving .logo-text img{
width: 35%;
margin-right: 10px;
}
/*--------------------
Service
--------------------*/
#service{
padding: 30px 0 40px;
}
.service-box{
margin: 50px auto 60px;
padding: 40px 0;
width: 90%;
border-radius: 25px;
}
.service-box .flow {
width: 80%;
}
.service-box .flow li{
width: 45%;
}
.service-box .flow li p{
margin-top: 0px;
letter-spacing: 3px;
font-size: 13px;
}
.service-box > p{
margin: 40px 0;
letter-spacing: 3px;
font-size: 14px;
padding: 0 20px;
}
.service-box .step {
flex-direction: column;
width: 80%;
}
.service-box .step li{
padding-bottom: 30px;
}
.service-box .step li:last-of-type{
padding-bottom: 0px;
}
.service-box .step li p{
letter-spacing: 3px;
font-size: 13px;
}
/*--------------------
performance
--------------------*/
#performance{
padding: 50px 0 60px;
}
#performance .performance-box{
margin: 30px auto 40px;
width: 90%;
}
#performance ul {
flex-wrap: wrap; 
justify-content: center;
}
#performance ul li {
width: 250px;
height: 250px; 
margin-bottom: 30px;
}
#performance ul li:last-of-type {
margin-bottom: 0px;
}
#performance ul li p {
width: 250px;
font-size: 16px;
letter-spacing: 3px;
}
#performance ul li p span{
font-size: 22px;
}
.performance-text{
font-size: 14px;
padding-top: 50px;
width: 95%;
margin: 0 auto;
line-height: 1.5;
}
.performance-text span{
font-size: 20px;
padding-right: 5px;
}

/*--------------------
company
--------------------*/
#company{
padding: 30px 0 40px;
}
#company .company-box{
flex-direction: column;
margin: 30px auto 40px;
width: 100%;
max-width: 1200px;
}
#company .list th,
#company .list td{
font-size: 14px;
padding: 5px 10px;
line-height: 30px;
}
#company .list {
margin-bottom: 20px;
}
#company .map{
margin-bottom: 20px;

}
/*--------------------
footer
--------------------*/
footer ul {
flex-direction: column;
padding-top: 20px;
}
footer ul li {
text-align: center;
margin-bottom: 10px;
}
footer ul li a {
font-size: 12px;
}
footer p{
font-size: 10px;
padding: 20px 0;
}
}

@media (min-width: 561px){

/*--------------------

--------------------*/
}

@media (min-width: 561px) and (max-width: 1024px){
/*--------------------
common
--------------------*/
.br-sp{
display: none;
}
.buton{
margin: 50px auto 0px;
width: 60%;
}
.buton a{
padding: 10px 10%;
letter-spacing: 3px;
border-radius: 35px;
font-size: 20px;
}
h4{
font-size: 30px;
letter-spacing: 3px;
}
h4 span{
font-size: 18px;
letter-spacing: 1px;
}
/*--------------------
header
--------------------*/
header h1{
width: 25%;
padding: 15px 0 5px;
}
header .hero{
background:url("../image/hero.jpg")no-repeat;
background-size: cover;
background-position: bottom;
}
header .hero h2{
font-size: 25px;
font-weight: 500;
padding: 230px 0 230px;
letter-spacing: 10px;
}
/*--------------------
no-cost
--------------------*/
#no-cost{
margin: 70px auto 100px;
}
#no-cost p{
font-size: 25px;
}
/*--------------------
trouble solving
--------------------*/
#trouble-solving p{
font-size: 25px;
}
#trouble-solving .troble-list{
padding: 40px 0 50px;
width: 90%;
letter-spacing: 4px;
}
#trouble-solving .troble-list li{
box-shadow: 10px 10px 15px 0px rgb(0 0 0 / 40%);
border-radius: 100px;
padding: 20px 70px;
margin-bottom: 30px;
}
#trouble-solving .troble-list img{
width: 7%;
margin-right:10px;
}
#trouble-solving .troble-list p{
font-size: 22px;
}
#trouble-solving .logo-text{
margin-bottom: 80px;	
font-size: 20px;
}
#trouble-solving .logo-text img{
width: 25%;
margin: 0 20px;
}
/*--------------------
Service
--------------------*/
#service{
padding: 50px 0 60px;
}
.service-box{
margin: 50px auto 60px;
padding: 40px 0;
width: 90%;
border-radius: 25px;
}
.service-box .flow {
width: 90%;
}
.service-box .flow li{
width: 22%;
}
.service-box .flow li p{
margin-top: 0px;
letter-spacing: 3px;
font-size: 13px;
}
.service-box > p{
margin: 40px 30px;
letter-spacing: 3px;
}
.service-box .step {
width: 90%;
}
.service-box .step li{
width: 30%;
}
.service-box .step li p{
margin-top: 0px;
letter-spacing: 3px;
font-size: 13px;
}
/*--------------------
performance
--------------------*/
#performance{
padding: 50px 0 60px;
}
#performance .performance-box{
margin: 50px auto 60px;
width: 90%;
}
#performance ul {
flex-wrap: wrap;
justify-content: center;
}
#performance ul li {
width: 250px;
height: 250px; 
}
#performance ul li {
margin-bottom: 30px;
}
#performance ul li:nth-child(odd) {
margin-right: 30px;
}
#performance ul li:nth-last-child(-n+2) {
margin-bottom: 0px;
}
#performance ul li p {
width: 250px;
font-size: 18px;
letter-spacing: 3px;
}
#performance ul li p span{
font-size: 28px;
}
.performance-text{
padding-top: 50px;
width: 100%;
line-height: 1.5;
}
.performance-text span{
font-size: 20px;
padding-right: 5px;
}

/*--------------------
company
--------------------*/
#company{
padding: 50px 0 60px;
}
#company .company-box{
margin: 50px auto 60px;
width: 100%;
max-width: 1200px;
}
#company .list th,
#company .list td{
padding: 10px 10px;
line-height: 30px;
}
#company .list {
width: 50%;
}
#company .map{
width: 40%;
}
/*--------------------
footer
--------------------*/
footer ul {
padding-top: 20px;
}
footer ul li {
margin: 0 20px;
}
footer ul li a {
font-size: 14px;
}
footer p{
font-size: 10px;
padding: 20px 0;
}
}

@media (min-width: 1025px){
/*--------------------
common
--------------------*/
.br-sp{
display: none;
}
.buton{
margin: 50px auto 0px;
width: 30%;
}
.buton a{
padding: 10px 10%;
letter-spacing: 3px;
border-radius: 35px;
font-size: 20px;
}
h4{
font-size: 30px;
letter-spacing: 3px;
}
h4 span{
font-size: 18px;
letter-spacing: 1px;
}
/*--------------------
header
--------------------*/
header h1{
width: 15%;
padding: 15px 0 5px;
}
header .hero{
background:url("../image/hero.jpg")no-repeat;
background-size: cover;
background-position: bottom;
}
header .hero h2{
font-size: 25px;
font-weight: 500;
padding: 300px 0 300px;;
letter-spacing: 10px;
}
/*--------------------
no-cost
--------------------*/
#no-cost{
margin: 70px auto 100px;
}
#no-cost p{
font-size: 25px;
}
/*--------------------
trouble solving
--------------------*/
#trouble-solving p{
font-size: 25px;
}
#trouble-solving .troble-list{
padding: 40px 0 80px;
width: 70%;
max-width: 1200px;
letter-spacing: 4px;
}
#trouble-solving .troble-list li{
box-shadow: 10px 10px 15px 0px rgb(0 0 0 / 40%);
border-radius: 100px;
padding: 20px 70px;
margin-bottom: 30px;
}
#trouble-solving .troble-list img{
width: 5%;
margin-right:10px;
}
#trouble-solving .troble-list p{
font-size: 25px;
}
#trouble-solving .logo-text{
margin-bottom: 80px;	
font-size: 20px;
}
#trouble-solving .logo-text img{
width: 25%;
margin: 0 20px;
}
/*--------------------
Service
--------------------*/
#service{
padding: 50px 0 60px;
}
.service-box{
margin: 50px auto 60px;
padding: 40px 0;
width: 70%;
max-width: 1200px;
border-radius: 25px;
}
.service-box .flow {
width: 90%;
}
.service-box .flow li{
width: 22%;
}
.service-box .flow li p{
margin-top: 0px;
letter-spacing: 3px;
font-size: 13px;
}
.service-box > p{
margin: 40px 0;
letter-spacing: 3px;
}
.service-box .step {
width: 90%;
}
.service-box .step li{
width: 30%;
}
.service-box .step li p{
margin-top: 0px;
letter-spacing: 3px;
font-size: 13px;
}
/*--------------------
performance
--------------------*/
#performance{
padding: 50px 0 60px;
}
#performance .performance-box{
margin: 50px auto 60px;
width: 70%;
max-width: 1200px;
}
#performance ul li {
width: 200px;
height: 200px; 
}
#performance ul li p {
width: 250px;
font-size: 15px;
letter-spacing: 3px;
}
#performance ul li p span{
font-size: 28px;
}
.performance-text{
padding-top: 50px;
width: 100%;
line-height: 1.5;
}
.performance-text span{
font-size: 20px;
padding-right: 5px;
}

/*--------------------
company
--------------------*/
#company{
padding: 50px 0 60px;
}
#company .company-box{
margin: 50px auto 60px;
width: 100%;
max-width: 1200px;
}
#company .list th,
#company .list td{
padding: 15px 10px;
line-height: 30px;
}
#company .list {
width: 40%;
}
#company .map{
width: 30%;
}
/*--------------------
footer
--------------------*/
footer ul {
padding-top: 20px;
}
footer ul li {
margin: 0 20px;
}
footer ul li a {
font-size: 14px;
}
footer p{
font-size: 10px;
padding: 20px 0;
}
}