body {
  background: #fff;
  color: #333;
}
a {
  color: #009fed;
  font-style: normal;
  text-decoration: none;
}
a:link {
  color: #009fed;
  font-style: normal;
  text-decoration: none;
}
a:visited {
  color: #009fed;
  text-decoration: none;
}
a:hover {
  color: #009fed;
  font-style: normal;
  text-decoration: none;
  opacity: 0.8;
}
a:active {
  text-decoration: none;
}
.clearfix:after {
  content: " ";
  display: block;
  clear: both;
}
/*

blog

______________*/
#blog-navi ul {
  margin-bottom: 40px;
}
/*

header

_________________*/
header {
  width: 100%;
  z-index: 11;
  position: relative;
}
header h1 {
  display: inline;
  margin: 0;
  padding: 0;
  font-size: 0;
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}
header h1 img {
  width: 466px;
  height: auto;
  margin-top: 0;
}
header .header_up {
  padding: 23px 0;
}
/*

top_mv

*/
#topMv_slide {
  position: relative;
  top: -63px;
  z-index: 8;
  width: 100%;
  height: 40.5vw;
}
ul.topMv_slide_in {
  margin: 0;
  padding: 0;
}
ul.topMv_slide_in li {
  list-style-type: none;
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
}
ul.topMv_slide_in li img {
  width: 100%;
  height: auto;
}
.top_mv {
  position: relative;
  top: -63px;
  z-index: 8;
  width: 100%;
  height: 40.5vw;
  background-image: url("../img/common/header_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.top_mv .top_mv_logo {
  position: absolute;
  z-index: 9;
  top: 24%;
  width: 40%;
  height: 20vw;
  background-image: url("../img/common/mv_logo.png");
  background-repeat: no-repeat;
  background-size: contain;
}
.page_header {
  position: relative;
  top: -63px;
  z-index: 8;
  width: 100%;
  height: 20.5vw;
  background-image: url("../img/common/header_bg.png");
  background-repeat: no-repeat;
  background-size: cover;
}
.page_header h2 {
  position: relative;
  top: 240%;
  color: #fff;
  font-size: 2rem;
  -moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  -webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  -ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
}
/*

header_nav
_________________*/
ul#header_menu {
  margin: 0 0 0 0;
  padding: 0;
  display: flex;
}
ul#header_menu:before, ul#header_menu:after, .main_v:after, .sub_box:after {
  content: " ";
  display: block;
  clear: both;
}
ul#header_menu > li {
  transition: all .3s ease-in-out;
  list-style-type: none;
  position: relative;
  display: inline-block;
  width: calc(100% / 8);
  border-right: transparent 1px solid;
  border-left: 1px solid #fff;
}
ul#header_menu > li:last-child {
  border-right: 1px solid #fff;
}
ul#header_menu > li a {
  font-size: .83rem;
  font-weight: normal;
  color: #fff;
  text-decoration: none;
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  width: 100%;
  padding: 20px 0;
  border: transparent 1px solid;
  background-image: url("../img/common/ico_nav_arr.png");
  background-repeat: no-repeat;
  background-size: 6px 5px;
  background-position: center bottom 12px;
}

ul#header_menu > li:nth-child(4) > a,ul#header_menu > li:nth-child(5) > a {
    padding: 9px 0 20px;
    line-height: 1.2;
}


ul#header_menu > li a:hover, ul#header_menu > li.current_page_item > a, ul#header_menu > li ul li.current_page_item, ul#header_menu > li.current_page_parent > a {
  background: #fff;
  color: #002900;
  position: relative;
}
/*

.menu child

*/
ul#header_menu li:hover ul {
  visibility: visible;
  transition: .2s;
}
ul#header_menu li ul {
  background: rgba(255, 255, 255, 0.8);
  color: #002900;
  list-style: none;
  position: absolute;
  z-index: 100;
  top: 100%;
  left: 0;
  width: 240%;
  margin: 0;
  padding: 0;
  visibility: hidden; /*visibility:visible;*/
}
ul#header_menu li ul li {
  overflow: hidden;
  width: 100%;
  height: 0;
  margin: 0;
  padding: 0;
}
ul#header_menu li ul li a {
  display: block;
  text-decoration: none;
  padding: 10px;
  min-height: inherit;
  cursor: pointer;
  transition: .2s;
  width: 100%;
  text-align: left !important;
  border-right: none;
  line-height: 1;
  height: auto;
  font-size: .83rem;
  letter-spacing: 0;
  color: #002900;
}
ul#header_menu li ul li a:hover, ul.sub-menu li.current_page_item a {
  border: none;
  background: #002900;
  color: #fff !important;
  border: transparent 1px solid;
  border-radius: 0;
}
ul#header_menu li ul li a:after {
  display: none;
}
ul#header_menu li:hover > ul > li {
  height: 100%;
}
ul#header_menu li ul {
  box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.25);
  -webkit-box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.25);
}
/*

grand child

*/
ul#header_menu li ul li ul {
  background: none;
  color: #fff;
  list-style: none;
  position: absolute;
  z-index: 100;
  top: 0;
  left: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  visibility: hidden; /*visibility:visible;*/
}
/*

footer_copy
________________________*/
footer .copy_bg {
  background: #009fed;
  color: #fff;
}
footer .copy_bg .cell {
  padding: .3rem 0;
}
footer .copy_bg p {
  text-align: center;
  font-size: 0.875rem;
  margin: 0;
  padding: 0;
}
footer .copy_bg ul {
  list-style-type: none;
  padding-left: 0;
  text-align: center;
}
footer .copy_bg li {
  width: 30px;
  height: 30px;
  margin: 15px;
  display: inline;
}
footer .copy_bg li img {
  width: 30px;
}
.footer_txt {
  background: #eee;
  padding: 50px 0;
}
.footer_txt p {
  margin-bottom: 0;
}
/*

header_sp

____________________*/
.header_sp span {
  display: none;
}
/*

sp menu

_____________________*/
.sp_menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 999;
  display: none;
}
.sp_menu img {
  width: 60px;
  height: 60px;
  margin: 0;
  padding: 0;
}
.header_sp {
  display: none;
}
/*

off-canvas
_____________________*/
.off-canvas {
  background-color: #fff;
}
.off-canvas.is-transition-push {
  background-color: #fff;
  color: #002900;
}
.off-canvas ul#sp_menu {
  margin: 0;
  padding: 0;
  display: block;
  list-style-type: none;
}
.off-canvas ul#sp_menu li {
  position: relative;
}
.off-canvas ul#sp_menu li a {
  display: block;
  background-color: #fff;
  color: #002900;
  border-top: 1px solid #fcfcfc;
  border-bottom: 1px solid #aaa;
  padding: .7rem 1rem;
  font-size: .9rem;
  text-decoration: none;
  position: relative;
}
.off-canvas ul#sp_menu li.current_page_item > a {
  background: #002900;
  color: #fff !important;
}
ul#sp_menu li a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  top: 25%;
  right: 10px;
}
/* child */
.off-canvas ul#sp_menu > li > ul {
  margin: 0;
  padding: 0;
  display: block;
  list-style-type: none;
}
.off-canvas ul#sp_menu > li > ul > li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.off-canvas ul#sp_menu > li > ul > li > a {
  background-color: #eee;
  color: #333;
  border-top: 1px solid #fcfcfc;
  border-bottom: 1px solid #aaa;
}
/* child */
.off-canvas ul#sp_menu li ul li ul li a {
  background-color: #fcfcfc;
  color: #333;
  border-top: 1px solid #fcfcfc;
  border-bottom: 1px solid #aaa;
}
.off-canvas ul#sp_menu li.menu-text a {
  text-align: center;
  margin: 0 auto;
}
.menu-item-has-children > span {
  display: block;
  padding: 0.7rem 1rem;
  border-top: 1px solid #fcfcfc;
  border-bottom: 1px solid #aaa;
    position: relative;	
}

.menu-item-has-children > span::after {
  font-family: "Font Awesome 5 Free";
  content: "\f107";
  font-weight: 900;
  position: absolute;
  top: 25%;
  right: 10px;
}
.menu-item-has-children > span.active::after {
  content: "\f106";
}
.off-canvas ul#sp_menu > li > ul{
	display: none;
}


/*

top_concept

*/
.top_concept_box {
  background: #fff;
  padding: 80px 0;
}
/*

top_news

*/
.top_news_box {
  background: #fff;
  padding: 80px 0;
}
h3.top_news {
  font-size: 120%;
  font-weight: 600;
  border-bottom: 1px solid #ccc;
  padding: 0 0 20px 0;
  margin: 0 0 60px 0;
  color: #a0a0a0;
  letter-spacing: 2px;
}
h3.top_news span {
  color: #009fed;
}
ul.news_card {
  margin: 0 0 40px 0;
  padding: 0;
  display: flex;
  justify-content: flex-start;
}
ul.news_card li {
  list-style-type: none;
  margin: 0 4% 30px;
  padding: 0;
  width: 28%;
}
ul.news_card li:nth-child(1) {
  margin: 0 4% 30px 0;
}
ul.news_card li:nth-child(3) {
  margin: 0 0 30px 4%;
}
.news_card img {
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}
.news_card h4 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 5px;
}
.news_card .news_date {
  margin-bottom: 5px;
}
.button_box {
  margin: 60px 0;
  text-align: center;
}
footer {
  background: #fafafa;
}
/*
footer_logo
*/
.footer_logo {
  padding: 15px 0;
}
.footer_logo img {
  width: 468px;
  margin: 0 0 5px;
}
.footer_logo p {
  font-size: .83rem;
  margin: 0 0 0 90px;
}
h4.top_about {
  font-size: 108%;
  color: #a0a0a0;
}
h4.top_about b {
  color: #009fed;
}
.top_about_span {
  margin-left: 10px;
  font-size: 90%;
  color: #696969;
  display: inline-block;
}
/*

button
_____________________________*/
.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  border: 1px solid #c5c5c5;
  font-size: .9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #fff;
  color: #8c8c8c;
  padding: 20px 100px;
  min-width: 222px;
  position: relative;
  background-image: url("../img/common/ico_rd_arr.png");
  background-repeat: no-repeat;
  background-size: 8px;
  background-position: right 6px bottom 6px;
  border-radius: 4px;
}
a.button {
  color: #8c8c8c;
  text-decoration: none;
}
a.button:hover {
  background-color: #8c8c8c;
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}
a.button:focus {
  background-color: #fff;
  color: #8c8c8c;
}
/*

button_rev
_____________________________*/
.button_rev {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  font-family: inherit;
  border: 1px solid #fff;
  font-size: .9rem;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background-color: #002900;
  color: #fff;
  padding: 10px 20px;
  min-width: 222px;
  position: relative;
}
a.button_rev {
  color: #fff;
  text-decoration: none;
}
a.button_rev:hover {
  background-color: #002900;
  border: 1px solid #002900;
  opacity: 0.6;
  filter: alpha(opacity=60);
  -ms-filter: "alpha(opacity=60)";
}
a.button_rev:focus {
  background-color: #002900;
  color: #fff;
}
@media all and (min-width: 300px) and (max-width: 1023px) {
  .button, .button_rev {
    margin: 0 0 .5rem 0;
    font-size: 0.812rem;
    padding: 15px 10px;
  }
  .footer_menu_bg img {
    width: 150px;
    margin: 0 auto;
  }
  .footer_menu_bg .large-3 {
    text-align: center;
  }
  a.button .fas, a.button_rev .fas {
    top: 37%;
  }
}
/*

contact form

*/
label {
  display: block;
}
label.label_inline {
  display: inline-block;
  font-weight: normal;
  border-left: none;
}
.required {
  font-size: 0.76rem;
  background: #002900;
  color: #fff;
  padding: 2px 12px;
  border-radius: 10px;
  margin: 4px 5px;
  display: inline-block;
  letter-spacing: 1px;
}
.screen-reader-response {
  display: none;
}
.wpcf7-validation-errors {
  color: #DF2124;
  border: 1px solid #DF2124;
  font-size: 1rem;
  padding: .5rem;
  margin-bottom: .5rem;
  text-align: center;
}
.wpcf7-mail-sent-ok {
  color: #32d296;
  border: 1px solid #32d296;
  font-size: 1rem;
  padding: .5rem;
  margin-bottom: .5rem;
  text-align: center;
}
input.wpcf7-not-valid {
  border: 1px solid #DF2124;
}
/*

.breadcrumbs

__________________*/
ul.breadcrumbs li {
  font-size: 0.75rem;
}
ul.breadcrumbs svg {
  display: none;
}
/* ----------------------------------------------
 pagetop
 ---------------------------------------------- */
.pagetop {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: -50px;
}
.pagetop a img {}
@media all and (min-width:300px) and (max-width:768px) {
  #topMv_slide {
    top: 0;
    height: 100vw;
  }
  .pagetop a img {}
}
.form_btn_bg {
  background: #ffe9c5;
  text-align: center;
  padding: 2rem;
}
a.contact_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 240px;
  height: 40px;
  margin-left: 20px;
  background-color: #4D85B0;
  color: #FFFFFF;
  text-decoration: none;
}
a.contact_btn::before {
  display: block;
  min-width: 14px;
  height: 14px;
  margin-right: 7px;
  background: url("../img/common/ico_contact.png") no-repeat;
  content: "";
}
main {
  padding: 0 0 60px 0;
}
@media all and (min-width: 300px) and (max-width: 1023px) {
  .top_mv, .page_header {
    top: 0;
  }
  .top_concept_box, .top_service_box, .top_service_cont_box, .top_handmade_box, .top_news_box, .top_qa_box, .top_box_brown, .top_box_white {
    padding: 30px 0;
  }
  .top_handmade_box img, .top_box_brown img {
    width: 100%;
    height: auto;
  }
  .page_header h2 {
    top: 64%;
    font-size: 1.3rem;
  }
  .news_card {
    display: block !important;
  }
  .news_card li {
    width: 80% !important;
    margin: 0 10% !important;
  }
  .footer_logo p {
    margin: 0 0 0 0 !important;
  }
  .header_sp, .sp_menu {
    display: block;
  }
  header, .top_box, .menu, .footer_nav, nav {
    display: none;
  }
  .header_sp {}
  .header_sp h1 {
    background-color: #fff;
    margin-top: 0;
    margin-bottom: 0;
    display: block;
    padding: 7px;
    font-size: 0.875rem;
    letter-spacing: 1px;
    font-weight: 600;
  }
  .header_sp h1 a img {
    width: 290px;
    display: block;
  }
  .header_sp h1 a {
    display: inline-block;
    margin: 0 auto;
    color: #333;
  }
  .header_sp h1 span {
    font-size: 0.75rem;
  }
  main {
    padding: 30px 0;
  }
  .top_mv .top_mv_logo {
    top: 14%;
    width: 60%;
    height: 30vw;
  }
}