﻿@charset "utf-8";

@import "https://fonts.googleapis.com/icon?family=Material+Icons";
@import "https://fonts.googleapis.com/css?family=Zen+Kaku+Gothic+New:400,700&amp;subset=japanese";

* {
  --Size: 1px;
}
@media screen and ( max-width: 600px ) {
  * {
    --Size: 0.5px;
  }
}

/*******************************************************

　Layout

*******************************************************/

* {
  /*font-family: -apple-system, BlinkMacSystemFont, "游ゴシック Medium", YuGothicM, "游ゴシック体", YuGothic, "Meiryo UI", "メイリオ", Meiryo, sans-serif;*/
  font-family: "Zen Kaku Gothic New", sans-serif;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
/* WEBfonts */
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
  line-height: 180%;
}
html {
  font-size: var(--Size);
}
body {
  margin: 0px;
  padding: 0px;
  font-size: 16rem;
  counter-reset: number 0;
}
.container {
  width: calc(100%-30px);
  max-width: 1030px;
  min-width: 345px;
  padding-left: 15px !important;
  padding-right: 15px !important;
  margin: auto;
}

@media screen and ( max-width: 1030px ) {
  html {  font-size: 0.9px;  }
}
@media screen and ( max-width: 600px ) {
  html {  font-size: 0.8px;  }
}

/*-------------------------------------
　　Paragraph
-------------------------------------*/
p {
  margin: 0px 0px calc( var(--Size) * 40) 0px;
  padding: 0px;
}
ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}
dl, dt, dd {
  margin: 0px;
  padding: 0px;
}

/*-------------------------------------
　　Images
-------------------------------------*/
img {
  max-width: 100%;
  height: initial;
  vertical-align: bottom;
  transition: 0.5s;
}

/*-------------------------------------
　　Button
-------------------------------------*/
input[type="submit"], input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, 
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus, input[type="button"]::focus {
  outline-offset: -2px;
}

/*******************************************************

　Header

*******************************************************/

#header {
  z-index: 1000;
  /*background: rgba(255, 255, 255, 0.8);*/
  position: absolute;
  width: 100%;
}
#header .container {
  display: flex;
  justify-content: space-between;
  max-width: 1340px;
}

@media screen and ( max-width: 1030px ) {
  #header {
    background: url("../images/service_bg.png");
  }
  #service {
    padding-top: calc( var(--Size) * 60) !important;
  } 
}

/*-------------------------------------
  Logo
-------------------------------------*/
#logo {
  padding: 0px;
  margin: 10px 0px;
}
#logo a {
  display: block;
}

@media screen and ( max-width: 1200px ) {
  #logo {
    width: 15%;
  }
}

/*-------------------------------------
  Global Navi
-------------------------------------*/
#globalNavi {
  width: 50%;
  margin-top: calc( var(--Size) * 40);
}
#globalNavi ul {
  display: flex;
  justify-content: space-between;
}
#globalNavi li {
  width: 100%;
  text-align: right;
}
#globalNavi li a {
  font-size: 20px;
  color: #000;
  font-weight: bold;
  text-decoration: none;
}
@media screen and ( max-width: 1030px ) {
  #globalNavi li a {
    font-size: 16px;
  }
}
@media screen and ( max-width: 600px ) {
  #globalNavi {
    width: 80%;
  }
  #globalNavi li a {
    font-size: 14px;
  }
}

/*******************************************************

　Contents

*******************************************************/

/*-------------------------------------
  Service
-------------------------------------*/
#service {
  background: #F5F5F5;
  padding: 0px 0px  calc( var(--Size) * 50) 0px;
}
#service h1 {
  background: url("../images/service_bg.png") repeat-x top center;
  margin: 0px;
  padding: 0px;
  text-align: center;
}
#service .service {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#service dl {
  width: 24%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom:  calc( var(--Size) * 20);
}
#service dt, #service dd {
  width: 100%;
  text-align: center;
}
#service dt {
  font-weight: bold;
  font-size: 18rem;
  margin-top:  calc( var(--Size) * 20);
}
#service dd img {
  width: 100%;
  max-width: 60%;
}
#service dt {  order: 2;}
#service dd:nth-of-type(1) {  order: 3;}
#service dd:nth-of-type(2) {  order: 1;}


#service .service:after {
  display: block;
  content: '';
  width: 30%;
}

@media screen and ( max-width: 1030px ) {
  #service dl {
    width: 33%;
  } 
}
@media screen and ( max-width: 600px ) {
  #service dl {
    width: 50%;
  }
}

/*-------------------------------------
  About
-------------------------------------*/
#about {
  background: url("../images/about_bg.png") no-repeat center center;
  background-size: cover;
  background-attachment: fixed;
  padding:  calc( var(--Size) * 60) 0px  calc( var(--Size) * 50) 0px;
  text-align: center;
}
#about h1 {
  font-size: 28rem;
  font-weight: bold;
  margin: 0px 0px calc( var(--Size) * 30) 0px;
  padding: 0px;
}
#about p {
  font-size: 17rem;
}
#about ul {
  display: flex;
  justify-content: center;
}
#about li {
  padding: calc( var(--Size) * 10);
  max-width: 220px;
}

@media screen and ( max-width: 600px ) {
  #about p {
    text-align: left;
  }
  #about p br {
    display: none;
  }
}

/*-------------------------------------
  Profile
-------------------------------------*/
#profile {
  background: #FBFAF3;
  padding:  calc( var(--Size) * 50) 0px calc( var(--Size) * 60) 0px;
}
#profile h1 {
  font-size: 26rem;
  font-weight: bold;
  margin: 0px 0px calc( var(--Size) * 20) 0px;
  padding: 0px;
}
#profile h2 {
  font-size: 20rem;
  font-weight: bold;
  margin: 0px 0px calc( var(--Size) * 20) 0px;
  padding: 0px;
}
#profile dl {
  font-style: normal;
  border-bottom: 1px solid #AAA;
  display: flex;
  padding: 10px 5%;
}
#profile dl:nth-of-type(1) {
  border-top: 1px solid #AAA;
}
#profile dt {
  font-weight: bold;
  width: 100px;
}

@media screen and ( max-width: 600px ) {
  #profile dl {
    display: block;
    padding: 10px 5px;
  }
}
@media screen and ( min-width: 600px ) {
  #profile dd br {
    display: none;
  }
}

/*-------------------------------------
  Contact
-------------------------------------*/
#contact {
  background: url("../images/contact_bg.png") no-repeat center center;
  background-size: cover;
  background-attachment: fixed;
  padding:  calc( var(--Size) * 50) 0px  calc( var(--Size) * 20) 0px;
  text-align: center;
  color: #FFF;
}
#contact h1 {
  font-size: 40rem;
  font-weight: bold;
  margin: 0px 0px  calc( var(--Size) * 20) 0px;
  padding: 0px;
}
#contact p {
  font-weight: bold;
}
#contact .btn {
  display: inline-block;
  font-size: 18rem;
  color: #000;
  text-decoration: none;
  background: #FFC500;
  border: 1px solid #FFC500;
  border-radius: 10px;
  padding:  calc( var(--Size) * 15)  calc( var(--Size) * 40);
  transition: 0.5s;
}
#contact .btn:hover {
  color: #FFF;
  background: none;
  border: 1px solid #FFF;
}

/*******************************************************

　Footer

*******************************************************/

#footer {
  color: #FFF;
  background: #555;
  text-align: center;
  padding: 5px 0px;
  font-size: 14rem;
}

/*-------------------------------------
　　Scroll Top
-------------------------------------*/
#scrolltop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 100;
}
#scrolltop i {
  opacity: 0.2;
  font-size: 40rem;
  color: #FFF;
  background: #000;
  padding: 5px;
  border-radius: 100%;
  transition: none;
  cursor: pointer;
}
#scrolltop i:hover {
  opacity: 0.4;
  transition: 0.5s;
}