@charset "utf-8";
/* CSS Document */


body {
  font: 100%/1.4 "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  background-color: #ffffff;
  margin: 0;
  padding: 0;
  color: #000;
  width:100%;
  word-break: break-all;
  overflow-wrap: break-word;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
ul, ol, dl {
  padding: 0;
  margin: 0;
}
h2, h3, h4, h5, h6 {
  margin-top: 0em;
  padding-right: 0em;
  padding-left: 0em;
}
embed, object, img {
  vertical-align: bottom;
  padding: 0;
  margin: 0;
}
a {
  -webkit-tap-highlight-color: transparent;
}
a img {
  border: none;
  -webkit-tap-highlight-color: transparent;
}
a:link {
  color: #000000;
  text-decoration: none;
}
a:visited {
  color: #000000;
  text-decoration: none;
}
a:hover, a:active, a:focus {
  text-decoration: none;
}
main {
  padding: 2rem 2rem 0rem 2rem;
  margin: 0;
  display: block;
  border-top: 2rem solid #1e90ff;
}

header {
  margin: 0;
  padding: 0rem 2rem 0.5rem 2rem;
  display: -moz-flex;
  display: -moz-flexbox;
  display: -moz-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -webkit-flexbox;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
article, nav, aside, small {
  padding: 0;
  margin: 0;
  width:100%;
}

h1 {
  padding: 0.6em 0em 0em 0em;
  margin: 0;
  text-align: left;
  background-color: #ffffff;
}
h2 {
  margin: 0;
  font-size: 1.3em;
  font-weight: normal;
  text-align: center;
  padding: 1.7rem 0rem 1.3rem 0.2rem;
  margin: 0;
}
h3 {
  font-size: 1em;
  color: #1e60c1;
  margin: 0;
  padding: 2em 0em 0em 1.5em;
}
ul {
  padding: 0;
  margin: 0;
  list-style:none;
}
li {
  padding: 0;
  margin: 0;
}
a:link {
  text-decoration: none;
}


/*============
#nav_burger
=============*/
#nav_burger {
  display: block;
  position: -moz-fixed;
  position: -o-fixed;
  position: -ms-fixed;
  position: -webkit-fixed;
  position: fixed;
  top: 0;
  left: -50%;
  bottom: 0;
  width: 50%;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  -moz-transition: all .5s;
  -ms-transition: all .5s;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open #nav_burger {
  left: 0;
  opacity: 1;
}
#nav_burger .inner {
  padding: 25px;
}
#nav_burger .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#nav_burger .inner ul li {
  position: -moz-relative;
  position: -o-relative;
  position: -ms-relative;
  position: -webkit-relative;
  position: relative;
  margin: 0;
  border-bottom: 1px dashed #d3d3d3;
}
#nav_burger .inner ul li a {
  display: block;
  color: #333;
  font-size: 0.9rem;
  padding: 1em;
  text-decoration: none;
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  -o-transition-duration: 0.2s;
  -ms-transition-duration: 0.2s;
  transition-duration: 0.2s;
}
#nav_burger .inner ul li a:hover {
  background: #f5f5f5;
}

/*============
.toggle_btn
=============*/
.toggle_btn {
  display: block;
  position: -moz-relative;
  position: -o-relative;
  position: -ms-relative;
  position: -webkit-relative;
  position: relative;
  top: 37px;
  right: 20px;
  width: 48px;
  height: 30px;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -o-transition: all .5s;
  -ms-transition: all .5s;
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
  -webkit-tap-highlight-color: transparent;
}
.toggle_btn span {
  display: block;
  position: -moz-absolute;
  position: -o-absolute;
  position: -ms-absolute;
  position: -webkit-absolute;
  position: absolute;
  left: 0;
  width: 42px;
  height: 4px;
  background-color: #696969;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -o-border-radius: 4px;
  -ms-border-radius: 4px;
  border-radius: 4px;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -o-transition: all .5s;
  -ms-transition: all .5s;
  transition: all .5s;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 13px;
}
.toggle_btn span:nth-child(3) {
  bottom: 3px;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(9px) rotate(-315deg);
  -moz-transform: translateY(9px) rotate(-315deg);
  -o-transform: translateY(9px) rotate(-315deg);
  -ms-transform: translateY(9px) rotate(-315deg);
  transform: translateY(9px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-9px) rotate(315deg);
  -moz-transform: translateY(-9px) rotate(315deg);
  -o-transform: translateY(-9px) rotate(315deg);
  -ms-transform: translateY(-9px) rotate(315deg);
  transform: translateY(-9px) rotate(315deg);
}
#menu{
  display: block;
  position: -moz-absolute;
  position: -o-absolute;
  position: -ms-absolute;
  position: -webkit-absolute;
  position: absolute;
  font-size: 14px;
  top: 36px;
  font-weight: bold;
  color: #696969;
}
.open .toggle_btn #menu {
  color: #fff;
}
/*============
#mask
=============*/
#mask {
  display: none;
  -webkit-transition: all .5s;
  -moz-transition: all .5s;
  -o-transition: all .5s;
  -ms-transition: all .5s;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: -moz-fixed;
  position: -o-fixed;
  position: -ms-fixed;
  position: -webkit-fixed;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .7;
  z-index: 2;
  cursor: pointer;
}

footer {
  padding: 3rem 0rem 2rem 0rem;
  margin: 10rem 0rem 0rem 0rem;
  width:100%;
  background: #f2f2f2;
  text-align: center;
}


/*=======================
 for smartphone
=========================*/
@media screen and (max-width: 768px){

h1 {
  padding: 3.2vmin 0vmin 0vmin 0vmin;
}
h1 img {
  width: 68vmin;
  height: auto;
  padding: 0;
}
header {
  padding: 0rem 3% 0.5rem 3%;
}
main {
  padding: 4.5vmin 2.2vmin 0vmin 2.2vmin;
}

/*============
#nav_burger
=============*/
#nav_burger {
  left: -70%;
  width: 70%;
}

/*============
.toggle_btn
=============*/
.toggle_btn {
  top: 7.5vmin;
  right: 0;
  width: 13vmin;
  height: 6vmin;
}
.toggle_btn span {
  width: 10.5vmin;
  height: 1vmin;
}
.toggle_btn span:nth-child(1) {
  top: 0vmin;
}
.toggle_btn span:nth-child(2) {
  top: 2.5vmin;
}
.toggle_btn span:nth-child(3) {
  bottom: 0;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(2.5vmin) rotate(-315deg);
  -moz-transform: translateY(2.5vmin) rotate(-315deg);
  -o-transform: translateY(2.5vmin) rotate(-315deg);
  -ms-transform: translateY(2.5vmin) rotate(-315deg);
  transform: translateY(2.5vmin) rotate(-315deg);
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-2.5vmin) rotate(315deg);
  -moz-transform: translateY(-2.5vmin) rotate(315deg);
  -o-transform: translateY(-2.5vmin) rotate(315deg);
  -ms-transform: translateY(-2.5vmin) rotate(315deg);
  transform: translateY(-2.5vmin) rotate(315deg);
}
#menu{
  font-size: 3.5vmin;
  top: 7.6vmin;
}

/*=======================
 for smartphone END
=========================*/
}