@charset "UTF-8";
/* Scss Document */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400&display=swap);
@import url(//use.fontawesome.com/releases/v5.6.1/css/all.css);
*, *::before, *::after {
  box-sizing: border-box;
}

ul[class], ol[class] {
  padding: 0;
}

body, h1, h2, h3, h4, p, ul[class], ol[class], figure, blockquote, dl, dd {
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

ul[class], ol[class] {
  list-style: none;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img, picture {
  max-width: 100%;
  display: block;
}

article > * + * {
  margin-top: 1em;
}

input, button, textarea, select {
  font: inherit;
}

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: subpixel-antialiased;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  letter-spacing: 0.05em;
}

body {
  font-family: "Noto Sans Japanese",'Lato',"游ゴシック","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  font-weight: 400;
  line-height: 2;
  font-size: 15px;
  font-size: 1.5rem;
  min-height: 100vh;
  position: relative;
  padding-bottom: 32em;
}
@media (max-width: 414px) {
  body {
    font-size: 1.4rem;
    padding-bottom: 0;
    min-height: auto;
  }
}

/*グローバル変数*/
img {
  width: 100%;
  height: auto;
}

.clear:before,
.clear:after {
  content: " ";
  display: table;
}

.clear:after {
  clear: both;
}

.clear {
  *zoom: 1;
}

.en {
  font-family: 'Lato', sans-serif;
}

span.map-icon {
  width: 18px;
  display: inline-block;
  vertical-align: sub;
}

.w1000 {
  max-width: 1000px;
}
@media (max-width: 1000px) {
  .w1000 {
    max-width: auto;
    width: 90%;
  }
}

.sp {
  display: none;
}
@media (max-width: 414px) {
  .sp {
    display: block;
  }
}

.pc {
  display: block;
}
@media (max-width: 414px) {
  .pc {
    display: none;
  }
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

header {
  margin: 0% auto;
  position: absolute;
  left: 0;
  right: 0;
}
header.second {
  position: relative;
}
@media (max-width: 414px) {
  header {
    position: relative;
  }
}
header h1 {
  width: 18.6%;
  float: left;
  margin-top: 3%;
}
@media (max-width: 414px) {
  header h1 {
    width: 30.9%;
    margin: 5% auto;
  }
}

.gmenu-box {
  width: 74%;
  margin-top: 5.2%;
  float: right;
}
@media (max-width: 414px) {
  .gmenu-box {
    width: 51%;
    margin-top: 7%;
  }
}

ul.info-box {
  display: flex;
  flex-flow: row-reverse;
  margin-bottom: 4%;
}
@media (max-width: 414px) {
  ul.info-box {
    margin-bottom: 8%;
  }
}
ul.info-box li.home {
  width: 16%;
  margin-right: 5%;
}
@media (max-width: 414px) {
  ul.info-box li.home {
    display: none;
  }
}
ul.info-box li.tel {
  width: 22.7%;
}
@media (max-width: 414px) {
  ul.info-box li.tel {
    width: 80%;
  }
}

ul.gmenu {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  font-size: 1.3rem;
}
@media (max-width: 414px) {
  ul.gmenu.pc {
    display: none;
  }
}
ul.gmenu li {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 25%;
  position: relative;
}

.gmenu li a {
  display: block;
  text-decoration: none;
  color: #11226b;
}
.gmenu li a img {
  vertical-align: middle;
  transition: opacity .3s;
}

.gmenu > li:hover > a > img, .gmenu > li.ov > a > img {
  opacity: 0;
}

li.g01:hover > a, li.g01.ov > a {
  background: url("../images/gmenu01_ov.png") top/cover no-repeat;
}

li.g02:hover > a, li.g02.ov > a {
  background: url("../images/gmenu02_ov.png") top/cover no-repeat;
}

li.g03:hover > a, li.g03.ov > a {
  background: url("../images/gmenu03_ov.png") top/cover no-repeat;
}

li.g04:hover > a, li.g04.ov > a {
  background: url("../images/gmenu04_ov.png") top/cover no-repeat;
}

.gmenu li ul {
  width: 100%;
  position: absolute;
  background: #efefef;
  padding: 0;
  margin: 0;
  z-index: 2;
}
.gmenu li ul li {
  width: 100%;
  background: #efefef;
}
.gmenu li ul li a {
  display: block;
  transition: background .5s;
  background: url("../images/arrow-gray.png") no-repeat 7px 52%;
  background-size: 4px auto;
  padding: 7% 7% 7% 15px;
  line-height: 1.5;
}

.gmenu li li:hover > a {
  background: url("../images/arrow-blue.png") no-repeat 7px 52%, #fff;
  background-size: 4px auto;
}

.slidedown ul {
  display: none;
}

.gmenu-sp {
  position: relative;
  z-index: 100;
}
.gmenu-sp ul {
  display: none;
  position: absolute;
  top: 34px;
  background: #11226b;
  width: 100%;
  padding-top: 5%;
  font-size: 1.2rem;
  line-height: 1.5;
}
.gmenu-sp ul.sub-menu {
  position: relative;
  top: 0;
  padding-top: 0;
  background: #efefef;
  display: none;
}
.gmenu-sp ul.sub-menu li a {
  padding-left: 10%;
  background: url("../images/arrow-gray.png") no-repeat 8px center;
  color: #11226b;
  background-size: 5px auto;
  transition: background .5s;
}
@media (max-width: 320px) {
  .gmenu-sp ul.sub-menu li a {
    background-size: 3px auto;
    background-position: 7px 19px;
  }
}
.gmenu-sp ul.sub-menu li a:hover {
  background: url("../images/arrow-blue.png") no-repeat 8px center, #fff;
  background-size: 5px auto;
}
@media (max-width: 320px) {
  .gmenu-sp ul.sub-menu li a:hover {
    background-size: 3px auto;
    background-position: 7px 19px;
  }
}
.gmenu-sp li a {
  width: 100%;
  display: block;
  color: #fff;
  text-decoration: none;
  padding: 8% 8%;
}
@media (max-width: 320px) {
  .gmenu-sp li a {
    padding-right: 3%;
    letter-spacing: -0.05em;
  }
}
.gmenu-sp li a img {
  display: inline-block;
  width: 12%;
  margin-right: 8%;
  vertical-align: sub;
}
.gmenu-sp li a img.home {
  width: 15%;
  margin-right: 6%;
  vertical-align: middle;
}
.gmenu-sp li a .down {
  width: 3.5%;
  transform: rotate(90deg);
  vertical-align: middle;
  margin-left: 10%;
}
.gmenu-sp li a:hover, .gmenu-sp li a.ov {
  background: rgba(255, 255, 255, 0.2);
}
.gmenu-sp .panel-btn {
  background: url("../images/gmenu-sp_close.png") no-repeat center center;
  background-size: cover;
}
.gmenu-sp .panel-btn img {
  display: block;
  position: absolute;
}
.gmenu-sp .panel-btn img.op {
  z-index: 2;
}
.gmenu-sp .panel-btn img.op.close {
  opacity: 0;
}

/*----------------TOPページ----------------*/
.main-photo {
  position: relative;
  display: none;
  z-index: -1;
  line-height: 0;
}
.main-photo .slideshow_sp {
  display: none;
}
@media (max-width: 414px) {
  .main-photo .slideshow_sp {
    display: block;
  }
}
.main-photo .slideshow_pc {
  display: block;
}
@media (max-width: 414px) {
  .main-photo .slideshow_pc {
    display: none !important;
  }
}
.main-photo img {
  position: absolute;
  display: block;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.service-box {
  margin: 0% auto 7%;
  padding-top: 48%;
}
.service-box strong {
  display: block;
  line-height: 0;
}
.service-box strong img {
  width: 23%;
  line-height: 0;
  margin-left: auto;
}
@media (max-width: 414px) {
  .service-box strong img {
    width: 35%;
  }
}
.service-box ul {
  padding: 1%;
  background: #fff;
  margin: 0;
  list-style: none;
  filter: drop-shadow(0px 0px 10px rgba(0, 0, 0, 0.1));
}
@media (max-width: 414px) {
  .service-box ul {
    filter: drop-shadow(0px 0px 0px transparent);
    padding: 0;
  }
}
.service-box li {
  float: left;
  width: 49.5%;
  position: relative;
  margin-bottom: 1%;
  overflow: hidden;
  background: #11226b;
  z-index: -1;
}
.service-box li a {
  color: #FFF;
}
.service-box li p {
  position: absolute;
  margin: 0 auto;
  top: 45%;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.8));
  z-index: 1;
  transform: scale(1);
  transition: all .4s ease-out;
}
@media (max-width: 414px) {
  .service-box li p {
    top: 38%;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.service-box li a:hover p {
  transform: scale(1.2);
}
@media (max-width: 414px) {
  .service-box li a:hover p {
    transform: scale(1);
  }
}
@media (max-width: 414px) {
  .service-box li a:active p {
    transform: scale(1.2);
  }
}
.service-box li span {
  position: absolute;
  bottom: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.3);
  padding: 0 3%;
  font-size: 1.2rem;
  z-index: 1;
}
.service-box li img.zoom-img {
  z-index: -1;
  transform: scale(1);
  transition: all .4s ease-out;
}
.service-box li a:hover img.zoom-img {
  transform: scale(1.1);
  opacity: 0.3;
}
@media (max-width: 414px) {
  .service-box li a:hover img.zoom-img {
    transform: scale(1);
  }
}
@media (max-width: 414px) {
  .service-box li a:active img.zoom-img {
    transform: scale(1.1);
  }
}
.service-box li span:before {
  content: '＞';
  display: inline-block;
  font-size: 1rem;
  margin-right: 0.5em;
}
.service-box li:nth-child(2n) {
  float: right;
}
.service-box li:nth-child(3), .service-box li:last-child {
  margin-bottom: 0;
}

.products-box {
  margin-bottom: 7%;
  padding: 6% 0 3%;
  background: url("../../top/products-bg.jpg") no-repeat center center;
  background-size: cover;
}
@media (max-width: 414px) {
  .products-box {
    padding: 10% 0 12%;
  }
}
.products-box strong {
  display: block;
  max-width: 1000px;
  margin: -8% auto 1.5%;
}
@media (max-width: 414px) {
  .products-box strong {
    margin: -14% auto 5%;
  }
}
.products-box strong img {
  width: 23%;
  margin-left: auto;
}
@media (max-width: 414px) {
  .products-box strong img {
    width: 35%;
  }
}
.products-box ul {
  margin: 0 auto;
}
.products-box li img {
  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.5));
  transform: scale(1);
  transition: all .3s ease-out;
  will-change: transform,filter;
}
@media (max-width: 414px) {
  .products-box li img {
    width: 70%;
    margin: 0 auto;
  }
}
.products-box li a:hover img {
  transform: scale(1.05);
}
@media (max-width: 414px) {
  .products-box li a:hover img {
    transform: none;
  }
}
.products-box li:last-child {
  margin-right: 0;
}

.footer-about {
  margin: 0 auto 7%;
  overflow: hidden;
}
.footer-about .left-box {
  width: 47.2%;
  float: left;
}
@media (max-width: 414px) {
  .footer-about .left-box {
    float: none;
    width: 100%;
  }
}
.footer-about .left-box strong {
  font-weight: bold;
  font-size: 1.8rem;
  color: #11226b;
  padding-bottom: 2%;
  margin-bottom: 2%;
  border-bottom: 1px solid #CCC;
  display: block;
}
.footer-about .left-box strong span {
  font-size: 1.4rem;
  margin-right: 2%;
}
.footer-about .left-box dl {
  padding-bottom: 2%;
  margin-bottom: 2%;
  border-bottom: 1px solid #CCC;
}
.footer-about .left-box dt, .footer-about .left-box dd {
  display: inline-block;
  vertical-align: top;
  color: #555;
}
.footer-about .left-box dt {
  width: 80px;
}
@media (max-width: 414px) {
  .footer-about .left-box dt {
    width: 20%;
  }
}
.footer-about .left-box dd span {
  color: #11226b;
}
.footer-about .left-box dd a {
  text-decoration: none;
  color: #333;
}
.footer-about .left-box dd a:hover {
  text-decoration: underline;
}
.footer-about .right-box {
  width: 47.8%;
  float: right;
}
@media (max-width: 414px) {
  .footer-about .right-box {
    width: 80%;
    float: none;
    margin: 5% auto 0;
  }
}

/*----------------第2階層共通----------------*/
.pankuzu {
  margin: 2% auto;
  text-align: right;
  font-size: 1.2rem;
  position: relative;
}
@media (max-width: 414px) {
  .pankuzu.sp {
    background: rgba(239, 239, 239, 0.9);
    margin: 0 auto 5%;
    padding: 2% 5% 2% 0;
  }
}
.pankuzu a {
  color: #11226b;
}
.pankuzu a:hover {
  text-decoration: none;
}

/*コンテンツ用サブメニュー*/
#mobile_sub {
  position: relative;
  float: left;
  margin-left: 5%;
  margin-top: 0.5%;
}
#mobile_sub i {
  font-size: 150%;
}

#mobile-nav01_sub {
  display: none;
  width: 65%;
  background: #11226b;
  position: absolute;
  top: 100%;
  z-index: 10000;
}

#panel-btn_sub .op {
  display: none;
}

#panel-btn_sub.close .op {
  display: inline-block;
}

#panel-btn_sub.close .close {
  display: none;
}

#mobile-nav01_sub ul {
  width: 100%;
  overflow: hidden;
  font-size: 1.2em;
}

#mobile-nav01_sub li a {
  color: #FFF;
  display: block;
  padding: 5% 3% 5% 7%;
  text-align: left;
  text-decoration: none;
  transition: background .3s;
}
#mobile-nav01_sub li a img {
  width: 2%;
  margin-right: 2%;
  vertical-align: middle;
  display: inline-block;
}
#mobile-nav01_sub li a:hover, #mobile-nav01_sub li a.ov {
  background: rgba(255, 255, 255, 0.2);
}

.second-box {
  position: relative;
}
@media (max-width: 1000px) {
  .second-box {
    font-size: 90%;
  }
}
.second-box .bg-box {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -1;
}
@media (max-width: 414px) {
  .second-box .bg-box {
    display: none !important;
  }
}
.second-box .text-box {
  margin: 2.5% auto;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.1);
}
@media (max-width: 1000px) {
  .second-box .text-box {
    max-width: auto;
    width: 90%;
    float: none;
  }
}
.second-box .text-box.w720 {
  margin: 2.8em 0;
  width: 72%;
  float: right;
  box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media (max-width: 1000px) {
  .second-box .text-box.w720 {
    margin: 2.8em 0;
    max-width: auto;
    float: right;
  }
}
@media (max-width: 414px) {
  .second-box .text-box.w720 {
    margin: 7% 0;
    padding-bottom: 1%;
    max-width: auto;
    width: 100%;
    float: none;
  }
}
.second-box .text-box.w720 .inbox {
  padding: 5% 7% 0;
}
.second-box .text-box img.main-title {
  position: absolute;
  right: 0;
  top: -1.8em;
  width: 35%;
}
.second-box .text-box img.main-title.s02 {
  width: 30%;
}
.second-box .text-box img.main-title.s03 {
  width: 27.5%;
}
.second-box .text-box img.main-title.s04 {
  width: 22.6%;
}
@media (max-width: 414px) {
  .second-box .text-box img.main-title {
    top: -1.4em;
    width: 51%;
  }
  .second-box .text-box img.main-title.s02 {
    width: 43.8%;
  }
  .second-box .text-box img.main-title.s03 {
    width: 40%;
  }
  .second-box .text-box img.main-title.s04 {
    width: 32.9%;
  }
}
.second-box .float-box {
  max-width: 1000px;
  margin: 0 auto 2.5%;
}
@media (max-width: 1000px) {
  .second-box .float-box {
    max-width: auto;
    width: 90%;
  }
}
.second-box .inbox {
  padding: 5% 7%;
  margin: 0 auto 7%;
}
.second-box .inbox h3 {
  color: #11226b;
  font-size: 1.8rem;
  background: url("../images/second-title_icon.png") no-repeat left center;
  background-size: 3% auto;
  padding-left: 4%;
  margin-bottom: 3%;
}
@media (max-width: 414px) {
  .second-box .inbox h3 {
    font-size: 1.4rem;
    background-size: 8% auto;
    padding-left: 9%;
  }
}
.second-box .inbox h3.border-top {
  border-top: 1px solid #e6e6e6;
  padding-top: 7%;
  margin-top: 7%;
  background-position: left 3em;
}
@media (max-width: 414px) {
  .second-box .inbox h3.border-top {
    background-position: left 2em;
    margin-top: 15%;
  }
}
.second-box .inbox a {
  color: #11226b;
}
.second-box .inbox a:hover {
  text-decoration: none;
}
.second-box p {
  margin-bottom: 5%;
}

.second-header {
  background: rgba(17, 34, 107, 0.8);
  padding: 1.5% 0;
}
@media (max-width: 414px) {
  .second-header {
    background: #11226b;
  }
}
.second-header h2 {
  color: #fff;
  margin: 0 auto;
  padding-left: 3.5%;
  font-weight: 300;
}
@media (max-width: 414px) {
  .second-header h2 {
    padding-left: 6%;
    font-size: 1.6rem;
  }
}
.second-header h2.about {
  background: url("../images/about-icon.png") no-repeat left center;
  background-size: 3% auto;
}
@media (max-width: 414px) {
  .second-header h2.about {
    background-size: 5% auto;
  }
}
.second-header h2.service {
  background: url("../images/service-icon.png") no-repeat left center;
  background-size: 3% auto;
}
@media (max-width: 414px) {
  .second-header h2.service {
    background-size: 5% auto;
  }
}
.second-header h2.contact {
  background: url("../images/contact-icon.png") no-repeat left center;
  background-size: 3% auto;
}
@media (max-width: 414px) {
  .second-header h2.contact {
    background-size: 5% auto;
  }
}
.second-header h2 span {
  font-size: 1.5rem;
  letter-spacing: 0.2em;
  margin-left: 1.5%;
  color: #ddd;
}
@media (max-width: 414px) {
  .second-header h2 span {
    font-size: 1rem;
    margin-left: 2%;
  }
}

.side-box {
  width: 24%;
  padding-bottom: 11%;
  background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.77) 69%, rgba(255, 255, 255, 0) 100%);
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.77) 69%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.77) 69%, rgba(255, 255, 255, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e6ffffff', endColorstr='#00ffffff',GradientType=0 );
  float: left;
}
@media (max-width: 414px) {
  .side-box {
    display: none;
  }
}
.side-box ul {
  margin-top: 2.8em;
}
.side-box li a {
  color: #11226b;
  padding: 5% 0 5% 10%;
  display: block;
  text-decoration: none;
  background: url("../images/arrow-gray.png") no-repeat 8px center;
  color: #11226b;
  background-size: 5px auto;
  transition: background .1s;
}
.side-box li a:hover, .side-box li a.ov {
  background: url("../images/arrow-gray.png") no-repeat 8px center, #11226b;
  background-size: 5px auto;
  color: #fff;
}

.border01 {
  border: 2px solid #11226b;
  border-radius: 5px;
  padding: 1.5em 1em 1em;
  position: relative;
  margin: 7% auto;
}
@media (max-width: 414px) {
  .border01 {
    margin: 10% auto;
  }
  .border01.margin {
    margin-top: 5% !important;
  }
}
.border01 strong {
  display: block;
  position: absolute;
  font-weight: bold;
  color: #11226b;
  left: 1em;
  top: -1.1em;
  background: #FFF;
  padding: 0 1em;
}
@media (max-width: 414px) {
  .border01 strong {
    padding: 0 0.5em;
  }
}
.border01.left-box, .border01.right-box {
  width: 47.5%;
  margin: 3% auto;
}
@media (max-width: 414px) {
  .border01.left-box, .border01.right-box {
    width: 100%;
    margin: 10% auto;
  }
}
.border01.left-box {
  float: left;
}
@media (max-width: 414px) {
  .border01.left-box {
    float: none;
  }
}
.border01.right-box {
  float: right;
}
@media (max-width: 414px) {
  .border01.right-box {
    float: none;
  }
}
.border01.orange {
  border: 2px solid #f7931e;
}
.border01.orange strong {
  color: #f7931e;
  background: url("../../service/service-icon_orange.png") no-repeat 5px center, #fff;
  background-size: 20px auto;
  padding: 0 1em 0 2em;
}
@media (max-width: 414px) {
  .border01.orange strong {
    background-size: 17px auto;
    padding: 0 0.5em 0 2em;
  }
}
.border01.orange li {
  margin-bottom: 1%;
}
.border01.orange img.left-photo {
  width: 30%;
  margin-left: 5%;
  float: left;
}
@media (max-width: 414px) {
  .border01.orange img.left-photo {
    width: 50%;
    float: none;
    margin: 0 auto 3%;
  }
}
.border01 li:before {
  content: '●';
  color: #f7931e;
}
.border01 ul {
  width: 49%;
  font-size: 1.3rem;
}
@media (max-width: 414px) {
  .border01 ul {
    width: 100%;
  }
}
.border01 ul.w100 {
  width: 100%;
}
.border01 ul.left {
  float: left;
}
@media (max-width: 414px) {
  .border01 ul.left {
    float: none;
  }
}
.border01 ul.right {
  float: right;
}
.border01 ul.right.w55 {
  width: 60%;
}
@media (max-width: 414px) {
  .border01 ul.right.w55 {
    float: none;
    width: 100%;
  }
}
@media (max-width: 414px) {
  .border01 ul.right {
    float: none;
  }
}
.border01 ul li {
  padding-left: 1em;
  text-indent: -1em;
}

p.small-font {
  font-size: 1.3rem;
}

.contactform-box {
  margin: 7% auto;
}
.contactform-box a img {
  max-width: 456px;
  margin: 0 auto 3%;
  transition: all 0.3s;
}
.contactform-box a:hover img {
  opacity: 0.6;
}
.contactform-box.border-top {
  border-top: 1px solid #e6e6e6;
  padding-top: 7%;
  margin-top: 0%;
}
@media (max-width: 414px) {
  .contactform-box.border-top {
    margin-top: 0;
  }
}

h4.banner-header {
  position: relative;
  border-top: 3px solid #11226b;
  border-bottom: 3px solid #11226b;
  line-height: 0;
  margin-bottom: 7%;
}
h4.banner-header img {
  line-height: 0;
}
h4.banner-header span {
  width: 33%;
  position: absolute;
  right: 0;
  bottom: -1.1em;
  padding-left: 3%;
  background: -moz-linear-gradient(top, #f7f7f7 0%, #f7f7f7 60%, rgba(247, 247, 247, 0) 60%);
  background: -webkit-linear-gradient(top, #f7f7f7 0%, #f7f7f7 60%, rgba(247, 247, 247, 0) 60%);
  background: linear-gradient(to bottom, #f7f7f7 0%, #f7f7f7 60%, rgba(247, 247, 247, 0) 60%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f7f7', endColorstr='#00f7f7f7',GradientType=0 );
}
@media (max-width: 414px) {
  h4.banner-header span {
    width: 51%;
  }
}

a h4.banner-header img.banner {
  transition: all 0.3s;
}

a:hover h4.banner-header img.banner {
  opacity: 0.6;
}

dl.pont {
  margin-bottom: 5%;
  overflow: hidden;
  font-family: 'Roboto', sans-serif;
}
dl.pont.margin-bottom {
  margin-bottom: 10%;
}
dl.pont dt {
  color: #b3b3b3;
  width: 15%;
  float: left;
  margin-top: -1.2%;
}
@media (max-width: 414px) {
  dl.pont dt {
    width: 100%;
    float: none;
    margin-bottom: 3%;
  }
}
dl.pont dt:after {
  content: ' ';
  display: block;
  width: 15px;
  border-bottom: 3px solid #f7931e;
  margin-top: -2%;
}
dl.pont dt em {
  color: #f7931e;
  font-weight: 400;
  font-style: normal;
  font-size: 2rem;
  margin-left: 3px;
}
dl.pont dt em.rotate {
  transform: rotate(20deg);
  display: inline-block;
  margin-left: 5px;
}
dl.pont dd {
  width: 85%;
  float: right;
  font-size: 1.3rem;
}
@media (max-width: 414px) {
  dl.pont dd {
    float: none;
    width: 100%;
  }
}

/*動画埋め込み用*/
.movie-box {
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
  margin: 5% auto 0%;
}
@media (max-width: 414px) {
  .movie-box {
    margin: 5% auto 20%;
  }
}

.movie-box iframe {
  position: absolute;
  margin: 0 auto;
  top: 0;
  left: 0;
  right: 0;
  width: 80%;
  height: 80%;
}
@media (max-width: 414px) {
  .movie-box iframe {
    width: 100%;
    height: 100%;
  }
}

/*----------------会社概要----------------*/
.about-box {
  display: table;
  margin-bottom: 10%;
  width: 100%;
}
.about-box .left-box {
  width: 50%;
  display: table-cell;
  vertical-align: top;
}
@media (max-width: 414px) {
  .about-box .left-box {
    width: 100%;
    display: block;
    margin-bottom: 5%;
  }
}
.about-box .left-box dl {
  border-top: 1px solid #c1c1c1;
  display: table;
  width: 100%;
}
.about-box .left-box dt {
  background: #efefef;
  padding: 1% 4%;
  width: 23%;
  display: table-cell;
}
@media (max-width: 414px) {
  .about-box .left-box dt {
    width: 28%;
    padding: 2% 3%;
  }
}
.about-box .left-box dd {
  padding: 1% 4%;
  width: 77%;
  display: table-cell;
}
@media (max-width: 414px) {
  .about-box .left-box dd {
    width: 72%;
    padding: 2% 3%;
  }
}
.about-box .left-box dd.spacing01 {
  letter-spacing: -0.05em;
}
.about-box .left-box dd span {
  color: #11226b;
}
.about-box .right-box {
  width: 40%;
  padding-left: 5%;
  display: table-cell;
  vertical-align: bottom;
}
@media (max-width: 414px) {
  .about-box .right-box {
    width: 90%;
    display: block;
    padding-left: 0;
    margin: 10% auto;
  }
}

.ggmap {
  /*グーグルマップ*/
  position: relative;
  padding-bottom: 70%;
  height: 0;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
}

.ggmap.width {
  width: 100%;
  padding-bottom: 35%;
  margin: 3% 0 5%;
}

.ggmap #shopmap, .ggmap iframe,
.ggmap object,
.ggmap embed, .ggmap .acf-map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.map-box {
  text-align: right;
  margin-top: 2%;
}
.map-box a {
  color: #11226b;
  text-decoration: underline;
}
.map-box .map-icon {
  margin-right: 10px;
}

/*----------------お問い合わせ----------------*/
.form-box {
  margin-bottom: 10%;
  /*エラー文章*/
  /*送信完了画面*/
}
.form-box p {
  margin-bottom: 2%;
}
.form-box p.right {
  text-align: right;
}
@media (max-width: 414px) {
  .form-box p.right {
    margin-bottom: 10%;
    text-align: left;
  }
}
.form-box p em {
  display: inline-block;
  background: #f7931e;
  color: #fff;
  font-style: normal;
  font-size: 1rem;
  font-weight: bold;
  padding: 0 0.5em;
  margin-right: 0.5em;
  border-radius: 3px;
  width: 30px;
  text-align: center;
  box-sizing: border-box;
  white-space: nowrap;
}
.form-box span.orange {
  display: block;
  color: #f7931e;
  text-indent: -1em;
  padding-left: 1em;
}
@media (max-width: 414px) {
  .form-box span.orange {
    margin-bottom: 5%;
  }
}
.form-box dl {
  border-top: 1px solid #c1c1c1;
  display: table;
  width: 100%;
}
.form-box dt {
  padding: 3% 2%;
  width: 28%;
  display: table-cell;
  overflow: hidden;
  vertical-align: middle;
}
.form-box dt.top {
  vertical-align: top;
}
@media (max-width: 414px) {
  .form-box dt {
    width: 100%;
    display: block;
    padding: 5% 0 0 2%;
  }
}
.form-box dt span {
  float: left;
}
@media (max-width: 1000px) {
  .form-box dt span {
    float: none;
    display: block;
  }
}
@media (max-width: 414px) {
  .form-box dt span {
    display: inline-block;
    font-weight: bold;
  }
}
.form-box dt em {
  float: right;
  background: #f7931e;
  color: #fff;
  font-style: normal;
  font-size: 1rem;
  font-weight: bold;
  margin-top: 2%;
  padding: 0 0.5em;
  border-radius: 3px;
  width: 30px;
  text-align: center;
  box-sizing: border-box;
  white-space: nowrap;
}
@media (max-width: 1000px) {
  .form-box dt em {
    float: none;
    display: inline-block;
  }
}
@media (max-width: 414px) {
  .form-box dt em {
    margin-left: 5%;
  }
}
.form-box dd {
  padding: 3% 2%;
  width: 72%;
  display: table-cell;
  vertical-align: top;
  /*file画像ボタン*/
}
@media (max-width: 414px) {
  .form-box dd {
    width: 100%;
    display: block;
    padding-bottom: 5%;
  }
}
.form-box dd input[type="text"], .form-box dd input[type="email"], .form-box dd textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 80%;
  padding: 1% 2%;
  background: #efefef;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
}
@media (max-width: 414px) {
  .form-box dd input[type="text"], .form-box dd input[type="email"], .form-box dd textarea {
    width: 100%;
    font-size: 16px;
  }
}
.form-box dd input[type="radio"] {
  margin-right: 1%;
}
.form-box dd label {
  margin-right: 5%;
}
.form-box dd textarea {
  height: 200px;
}
.form-box dd input[type="file"] {
  display: none;
}
.form-box dd label.file {
  background: #efefef;
  border: 1px solid #e6e6e6;
  padding: 0.5em 1em;
  border-radius: 50px;
  display: inline-block;
  position: relative;
  cursor: pointer;
  color: #222;
}
.form-box dd label.file:hover {
  background: rgba(239, 239, 239, 0.8);
}
.form-box dd label.file::after {
  content: "送信可能ファイル（jpg、png、pdf）";
  font-size: 0.85em;
  height: 10px;
  line-height: 10px;
  position: absolute;
  right: -160%;
  top: calc(50% - 5px);
}
@media (max-width: 414px) {
  .form-box dd label.file::after {
    content: "jpg、png、pdf 可";
    margin-top: 2%;
    color: #555;
    right: -85%;
    top: calc(50% - 8px);
  }
}
.form-box dd label.changed::after {
  content: "";
}
.form-box dd .filename {
  font-size: 0.85em;
  margin-left: 5%;
}
.form-box .submit-box {
  border-top: 1px solid #c1c1c1;
  padding-top: 3%;
  text-align: center;
}
@media (max-width: 414px) {
  .form-box .submit-box {
    padding-top: 6%;
  }
}
.form-box .submit-box input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #11226b;
  color: #fff;
  font-weight: bold;
  padding: 0.5em 5em;
  border: none;
  border-radius: 100px;
  transition: all 0.3s;
}
.form-box .submit-box input:hover {
  opacity: 0.6;
  cursor: pointer;
}
.form-box .submit-box input.btn_back {
  background: none;
  color: #11226b;
  display: block;
  margin: 0 auto;
}
.form-box ul.error-list {
  margin: 5% auto;
  border: 2px solid #ED800C;
  background: rgba(237, 128, 12, 0.1);
  padding: 1em 2em;
  border-radius: 5px;
}
.form-box .error-list li {
  list-style: disc;
  padding-left: 0;
  margin-left: 3%;
  margin-bottom: 1.5%;
}
.form-box .error-list li:last-child {
  margin-bottom: 0;
}
.form-box p.center {
  text-align: center;
  font-size: 1.3rem;
}
.form-box p.margin01 {
  margin: 10% auto 5%;
}
.form-box p i.fas {
  font-size: 5em;
  margin-bottom: 2%;
  display: block;
  color: rgba(237, 128, 12, 0.8);
}
.form-box strong.fas {
  display: block;
  font-size: 1.8rem;
  margin: 1em auto 1.5em;
}
.form-box .indent {
  text-indent: -1em;
  padding-left: 1em;
  padding-top: 1em;
  margin-bottom: 2em;
  border-top: 1px solid #e6e6e6;
  color: #555;
}
.form-box .indent.margin {
  margin-bottom: 1em;
}
.form-box .indent.noborder {
  border-top: none;
  padding-top: 0;
}
.form-box .indent i {
  text-decoration: underline;
  font-weight: bold;
  font-style: normal;
  color: #f7931e;
}

.privacy {
  display: block;
  margin-top: 3%;
  font-size: 1.2rem;
}

/*プライバシーポリシー*/
#privacy {
  display: none;
  color: #000;
  line-height: 1.8;
  max-width: 800px;
  padding: 5%;
}
@media (max-width: 414px) {
  #privacy {
    padding: 10%;
  }
}
#privacy h2 {
  font-weight: bold;
  text-align: center;
  color: #11226b;
  font-size: 1.8rem;
}
#privacy dl {
  margin-top: 1.5em;
  padding-top: 1.5em;
  border-top: 1px solid #CCC;
}
#privacy dt {
  color: #11226b;
  font-weight: bold;
}

/*----------------フッター----------------*/
footer {
  background: #11226b;
  padding: 3% 0;
  color: #fff;
  font-size: 1.4rem;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
@media (max-width: 414px) {
  footer {
    position: relative;
  }
}
footer .footer-box {
  margin: 0 auto;
  overflow: hidden;
}
footer .left-box {
  width: 36%;
  float: left;
}
@media (max-width: 414px) {
  footer .left-box {
    width: 70%;
    float: none;
    margin: 7% auto;
  }
}
@media (max-width: 320px) {
  footer .left-box {
    width: 90%;
  }
}
footer a {
  color: #fff;
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}
footer h3 {
  width: 80%;
  margin-bottom: 7%;
}
@media (max-width: 414px) {
  footer h3 {
    width: 100%;
  }
}
footer strong {
  font-size: 1.8rem;
}
footer strong span {
  font-size: 1.4rem;
}
footer .mail {
  display: block;
  margin-top: 5%;
  font-size: 0;
}
footer .mail img {
  width: 23px;
  vertical-align: middle;
  display: inline-block;
  margin-right: 2%;
  line-height: 0;
}
footer .mail a {
  display: inline-block;
  text-align: center;
  padding: 3% 5% 3% 3%;
  background: rgba(255, 255, 255, 0.3);
  box-sizing: content-box;
  transition: background-color .3s;
  font-size: 1.4rem;
  white-space: nowrap;
}
@media (max-width: 414px) {
  footer .mail a {
    display: block;
  }
}
footer .mail a:hover {
  background: rgba(255, 255, 255, 0.5);
  text-decoration: none;
}
footer .right-box {
  width: 55%;
  float: right;
}
@media (max-width: 414px) {
  footer .right-box {
    display: none;
  }
}
footer .right-box h3 {
  font-size: 1.8rem;
  font-weight: 400;
  margin-bottom: 3%;
}
footer .right-box div.sitemap {
  display: table;
  width: 100%;
}
footer .right-box dl {
  width: 36%;
  box-sizing: border-box;
  padding-right: 5%;
  padding-top: 2%;
  padding-bottom: 5%;
  display: table-cell;
  border-right: 1px solid #404d88;
  font-size: 1.2rem;
  vertical-align: top;
}
footer .right-box dl:nth-child(2) {
  padding-left: 5%;
}
footer .right-box dl:last-child {
  padding-left: 5%;
  padding-right: 0;
  border-right: none;
}
footer .right-box dt {
  margin-bottom: 5%;
  color: #a0a7c4;
  font-weight: bold;
}
footer .right-box dt img {
  display: inline-block;
  margin-right: 4%;
  width: 5px;
  vertical-align: middle;
}
footer .right-box dt img.down {
  display: inline-block;
  margin-left: 4%;
  width: 5px;
  vertical-align: middle;
  transform: rotate(90deg);
}
footer .right-box dd {
  margin-bottom: 1%;
  padding-left: 1em;
  text-indent: -1em;
}
footer .border-top01 {
  border-top: 1px solid #404d88;
  padding-top: 2%;
  margin-top: 2%;
}
footer span.indent {
  display: inline-block;
  margin-left: 2.2em;
}
footer span.indent02 {
  display: inline-block;
  margin-left: 1.2em;
  vertical-align: top;
}
footer .search-icon {
  width: 20px;
  margin-right: 2%;
  display: inline-block;
  vertical-align: middle;
}
footer .copyright {
  margin: 12% auto 0;
  font-size: 1.2rem;
  text-align: right;
}
