@charset "UTF-8";

/*---------- ページ全体の指定 ----------*/

body {
margin:0;
padding:0;
font-size:100%;
color:#111;
background-color:#fff;
font-family:"Zen Old Mincho", serif;
font-weight:600;
font-style:normal;
}

html {scroll-padding-top: 120px;} /* スマホ時のヘッダー高さ */
@media screen and (min-width: 769px) {
html {scroll-padding-top: 150px;} /* PC時のヘッダー高さ */
}

/*---------- リンク設定 ----------*/

a:link {color:#37859a;text-decoration:underline;}
a:visited {color:#37859a;text-decoration:underline;}
a:hover {color:#139eb1;text-decoration:none;}
a{-webkit-transition:0.3s ease-in-out;-moz-transition:0.3s ease-in-out;-o-transition:0.3s ease-in-out;transition:0.3s ease-in-out;}
a img {border-style:none;}
img {vertical-align:bottom;image-rendering:-webkit-optimize-contrast;}
a:hover img{filter:brightness(1.2);}
a img {border-style:none;-webkit-transition:all .3s;transition:all .3s;}


/*---------- ベーステキストの指定 ----------*/

p {
font-size:110%;
line-height:180%;
}
@media screen and (min-width:769px){
p {font-size:20px;letter-spacing:1px;}
}


/*---------- 見出し ----------*/

h1{}
h2{}
h3{}
h4{}


/*---------- PC・スマホの非表示指定 ----------*/

@media screen and (max-width:768px){.spnone{display:none;}}
@media screen and (min-width:769px){.pcnone{display:none;}}

header{
width:100%;
height:120px;
margin:0;
padding:0;
background:#fff;
box-shadow:0 0 5px rgba(0,0,0,0.1);
position:fixed;
top:0;
left:0;
z-index:9999;
}
.logo{
margin:0;
padding:15px 0 0 0;
text-align:center;
}
.logo img{width:210px;}
.nav{
margin:0 auto;
padding:15px 0 0 0;
}
.nav ul{
margin:0;
padding:0;
list-style:none;
display:flex;
}
.nav ul li{
width:calc(100%/3);
margin:0;
padding:0;
font-size:100%;
line-height:100%;
text-align:center;
list-style:none;
border-right:solid 1px #ddd;
box-sizing:border-box;
}
.nav ul li a {
display:block;
width:100%;
padding:5px 0;
color:#212121;
text-decoration:none;
}
.nav ul li a:visited{color:#212121;}
.nav ul li a:hover{color:#999;}
.nav ul li:last-child {border-right:none;}
@media screen and (min-width:769px){
header{height:150px;}
.logo{padding:25px 0 0 0;}
.logo img{width:240px;}
.nav{width:480px;padding:20px 0 0 0;}
.nav ul li{font-size:16px;}
}


#wrapper{
margin:0;
padding:120px 0 60px 0;
background:#f7f7f7;
}
#mv{
margin:0;
padding:75px 0;
box-sizing:border-box;
background-image:url("img/bg.png") ;
background-position:top center;
background-size:auto 100%;
}
.mv_frame{
width:64%;
margin:0 auto;
padding:0;
border:solid 1px rgba(160,190,200,0.9);
}
.mv_bg{
margin:3px;
padding:25px;
background:rgba(160,190,200,0.9);
}
.mv_since{
margin:0;
padding:0 0 10px 0;
font-size:100%;
line-height:150%;
text-align:center;
}
.mv_name{
margin:0;
padding:0;
font-size:240%;
line-height:150%;
text-align:center;
}
.mv_txt{
margin:0;
padding:0;
font-size:100%;
line-height:180%;
text-align:justify;
}
hr {
width:40px;
height:1px;
background-color:#111;
border:none;
margin:20px auto 25px auto;
}
h2{
margin:0 0 30px 0;
padding:60px 0 0 0;
font-size:180%;
line-height:150%;
text-align:center;
osition:relative;
}
@media screen and (min-width:769px){
#wrapper{padding:150px 0 120px 0;}
#mv{
padding:50px 0 0 0;
height:500px;
background-size:cover;
}
.mv_frame{width:286px;}
.mv_since{font-size:18px;}
.mv_name{font-size:42px;}
.mv_txt{font-size:14px;}
hr {margin:20px auto;}
h2{margin:0 0 45px 0;padding:90px 0 0 0;font-size:36px;}
}


.service_box{margin:0 30px;padding:0;border-bottom:solid 1px #ddd;}
.service_item{margin:0 0 45px 0;padding:0;}
.service_pict{margin:0;padding:0;}
.service_pict img{width:100%;}
.service_title{
margin:0;
padding:20px 0 15px 0;
font-size:160%;
line-height:150%;
text-align:center;
}
.service_txt{
margin:0;
padding:0;
font-size:90%;
line-height:180%;
text-align:justify;
}
@media screen and (min-width:769px){
.service_box{
width:980px;
margin:0 auto;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
border-bottom:0;
row-gap:45px;
}
.service_item{width:48%;margin:0;}
.service_title{font-size:28px;}
.service_txt{font-size:16px;}
}

.company{
margin:0 20px;
padding:20px 30px;
background:#fff;
}
.company table{
width:100%;
border-collapse:separate;
margin:0;
}
.company table th{
padding:0 0 10px 0;
font-size:100%;
line-height:180%;
text-align:left;
border-bottom:solid 1px #333;
display:block;
}
.company table td{
padding:10px 0 20px 15px;
font-size:100%;
line-height:180%;
display:block;
}
@media screen and (min-width:769px){
.company{
width:600px;
margin:0 auto;
padding:40px 100px 60px 100px;
}
.company table th{
width:180px;
padding:15px 0;
font-size:16px;
letter-spacing:1px;
border-bottom:solid 1px #666;
display:table-cell;
}
.company table td{
padding:15px 0 15px 20px;
font-size:16px;
border-bottom:solid 1px #ddd;
display:table-cell;
}
}


.map_wrap {
width:calc(100vw - (100vw - 100%));
margin:90px 0 0 0;
padding:0;
margin-left:calc(-50vw + 50%);
position:relative;
box-sizing:border-box;
}
.map_wrap iframe {
width:100%;
max-width:100%;
height:450px;
display:block;
border:0;
}


.form{
margin:0 20px;
padding:20px 30px 45px 30px;
background:#fff;
}
.form table {
width:100%;
border-collapse:separate;
margin:0;
}
.form table th {
font-size:100%;
line-height:180%;
padding:10px 0 5px 0;
text-align:left;
border-bottom:solid 1px #e5e5e5;
display:block;
}
.form  table td {
font-size:100%;
line-height:180%;
padding:10px 0 10px 0;
display:block;
}
.form_caption{
margin:0;
padding:5px 0 0 0;
font-size:80%;
line-height:160%;
color:#999;
}
.req {
margin:0;
padding:0;
float:right;
text-align:right;
font-family: "Noto Sans Japanese";
}
.req span {
margin:0;
padding:1px 5px 2px 5px;
font-size:75%;
font-weight:normal;
line-height:100%;
color:#fff;
background:#e31f1f;
border-radius:2px;
}
input[type="text"], textarea, select, input[type="tel"], input[type="email"], input[type="number"], input[type="password"] {
border:0;
padding:15px 10px;
font-size:100%;
border:solid 1px #eee;
appearance:none;
border-radius:3px;
box-shadow:inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
box-sizing:border-box;
font-family: "Noto Sans Japanese";
}
input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus, textarea:focus, input[type="number"]:focus {box-shadow:0 0 7px #999;}
input[type="text"], input[type="email"], textarea {width:100%;}
/* Chrome, Safari */ ::-webkit-input-placeholder {color:#999;}
/* Firefox */ ::-moz-placeholder {color:#999;}
/* Firefox 18以前 */ :-moz-placeholder {color:#999;}
/* IE */ :-ms-input-placeholder {color:#999;}
input[type="submit"], input[type="button"], button[type="submit"] {
border-radius:0;
appearance:button;
border:none;
box-sizing:border-box;
cursor:pointer;
transition:all .5s;
border-radius:50px;
color:#fff;
background-color:#222;
font-family: "Noto Sans Japanese";
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration, button[type="submit"]::-webkit-search-decoration {
display:none;
}
input[type="submit"]::focus, input[type="button"]::focus, button[type="submit"]::focus {outline-offset:-2px;color:#fff;}
.entry {margin:0;padding:15px 0 0 0;text-align:center;}
.entry a:link {color:#fff;text-decoration:none;}
.entry a:visited {color:#fff;text-decoration:none;}
.entry a:hover {color:#fff;text-decoration:none;}
.button {
width:90%;
margin:0 auto;
padding:25px 0;
font-size:125%;
font-weight:bold;
display:block;
transition:0.3s ease-in-out;
background:#222;
}
.button:hover {
filter:brightness(115%);
transition:0.3s ease-in-out;
}
@media screen and (min-width:769px){
.form{
width:600px;
margin:0 auto;
padding:40px 100px 60px 100px;
}
.form table th {font-size:16px;padding:10px 15px 10px 0;display:table-cell;}
.form table td {font-size:16px;line-height:180%;padding:10px 0 10px 10px;display:table-cell;}
.form_caption{font-size:14px;line-height:180%;}
.req span {font-size:12px;}
.entry {margin:0;padding:45px 0 0 0;text-align:center;}
.button {width:420px;font-size:21px;}
}


#footer{
margin:0;
padding:30px 0;
font-size:80%;
line-height:150%;
text-align:center;
color:#fff;
background:#2e2e2e;
}
@media screen and (min-width:769px){
#footer{
margin:0;
padding:30px 0;
font-size:12px;
}
}



/*---------- 文字装飾 ----------*/

.bold{font-weight:bold;}
.ul{text-decoration:underline;}
.red {font-weight:bold;color:#c30d23;}

/*---------- 文字位置 ----------*/

.center{text-align:center;}
.right{text-align:right;}

