@charset "utf-8";
/* CSS Document */
@import url("flexbox.css");
@import url("recruit.css");
/* Google Font 読み込み */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@100;300;400;500;700;800;900&family=Noto+Sans+JP:wght@100;200;300;400;500;600;700;800;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');
/*
font-family: 'M PLUS Rounded 1c', sans-serif;
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
*/
/* ----- フェードインエフェクトに関するcss ----- */
body {
  animation: fadeIn 3s ease 0s 1 normal;
  -webkit-animation: fadeIn 3s ease 0s 1 normal;
}
@keyframes fadeIn {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
.fadein {
  opacity: 0.01;
  transform: translate(0px, 100px);
  transition: all 1000ms;
}
.fadein.scrollin {
  opacity: 1;
  transform: translate(0px, 0px);
}
#effect2 .fadein:nth-of-type(2) {
  -moz-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -ms-transition-delay: 200ms;
}
#effect2 .fadein:nth-of-type(3) {
  -moz-transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
}
#effect2 .fadein:nth-of-type(4) {
  -moz-transition-delay: 500ms;
  -webkit-transition-delay: 500ms;
  -o-transition-delay: 500ms;
  -ms-transition-delay: 500ms;
}
#effect2 .fadein:nth-of-type(5) {
  -moz-transition-delay: 700ms;
  -webkit-transition-delay: 700ms;
  -o-transition-delay: 700ms;
  -ms-transition-delay: 700ms;
}
#effect2 .fadein:nth-of-type(6) {
  -moz-transition-delay: 900ms;
  -webkit-transition-delay: 900ms;
  -o-transition-delay: 900ms;
  -ms-transition-delay: 900ms;
}
html {
  font-size: 62.5%;
}
html, body {
  font-family: 'Noto Serif JP', serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
/*--- body背景 --- */
/*　固定ヘッダー
-------------------------- */
#header-frame {
  z-index: 100000;
  position: fixed;
  top: 0px;
  width: 100%;
  padding: 0;
}
.fixed-header {
  -webkit-justify-content: space-between; /*左右中央寄せ*/
  justify-content: space-between; /*左右中央寄せ*/
  display: -webkit-box; /* Android4.3以前ブラウザ用 */
  display: -webkit-flex; /* iOS8以前Safari用 */
  display: flex;
  -webkit-align-items: center; /*上下中央寄せ*/
  align-items: center; /*上下中央寄せ*/
  margin: 0 auto 5px auto;
  padding: 10px 10px 15px 10px;
  background-color: #192F60;
}
.header-logo {
  width: 75%;
  margin: 0 0 0 12px;
}
.cart-fixed {
  display: none;
}
/*--- 共通 背景・幅 --- */
section {
  width: 100%;
  margin: 20px auto 20px auto;
}
.contents-wrap {
  width: 92%;
  margin: 0 auto 0 auto;
  padding: 0px;
  font-size: 1.6rem;
}
/*--- フッター --- */
footer {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 24px 0 50px 0;
  background: #192F60;
  /*background: linear-gradient(#039874, #006e54);*/
  color: #fff;
}
footer a {
  color: #fff;
}
.footer-flame {
  width: 92%;
  margin: 0 auto;
  padding: 0px;
}
.footer-l {
  width: 100%;
  font-size: 1.6rem;
padding:30px 0px 0 0 ;
}
.f-ad {
  padding: 0 0 0 0px;
}
.f-logo {
  margin: 0px 0 5px 0;
}
.f-tel {
  padding: 0 0 0 0px;
  line-height: 1.0em;
  font-size: 3.8rem;
}
.f-fax {
  padding: 0 0 0 0px;
  font-size: 1.6rem;
}
.footer-r {
  width: 100%;
}
.footer-menu-box {}
.footer-menu-box > h4 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.7rem;
margin: 10px 0 0px 0;
}
ul.footer-menu {
  width: 100%;
  margin: 10px 0 0px 0;
  padding: 0 0 0px 0;
}
ul.footer-menu li {
  margin: 5px 0px 5px 0;
  padding: 0px 5px;
  font-weight: 500;
  font-size: 1.6rem;
  float: left;
	line-height: 1.0;
}
ul.footer-menu li > a {
  color: #fff;
  padding: 0px;
  margin: 0px;
}
ul.footer-menu li > a:hover {
  text-decoration: none;
  color: #ecef74;
  transition: all 0.3s;
}
ul.footer-menu li.link-btn-f {
  margin: 5px 0 10px 0;
}
ul.footer-menu li.link-btn-f > a {
  background: #fff;
  border-radius: 25px;
  padding: 5px 15px 5px 15px;
  color: #180614;
}
ul.footer-menu li.link-btn-f > a:hover {
  color: #f25b27;
}
.copyright {
  text-align: center;
  width: 92%;
  padding: 10px 0;
  margin: 0px auto;
  font-size: 1.2rem;
font-family: 'Noto Sans JP', sans-serif;
}
.footer-fixed {
  position: absolute;
  width: auto;
  bottom: 0;
  left: 0;
  font-size: 3rem;
  color: #7e8aa6;
  line-height: 1.0;
}
/*　UIパーツ
-------------------------- */
#to-top {
	position: fixed;
	right: 0px;
	bottom: 5px;
	width: auto;
	font-size: 1.6rem;
	/*background-color: rgb(256 256 256 / .8);*/
}
.fixed-icon {
  display: none;
}
/*--- パンくずメニュー --- */
div.pankuzu-body {
  width: 100%;
  margin: 0px auto 10px auto;
}
ul.pankuzu {
  padding: 10px 0 30px 0;
}
ul.pankuzu li {
  float: left;
  color: #161616;
  font-size: 1.2rem;
  font-weight: 500;
}
ul.pankuzu li a {
  color: #161616;
  margin-right: 7px;
}
ul.pankuzu li a:hover {
  color: #f25b27;
  transition: all 0.2s;
}
ul.pankuzu li:before {
  content: "＞";
  margin-right: 1px;
}
ul.pankuzu li.home:before {
  content: url(../../images/common/pankuzu-home.png);
  margin-right: 5px;
}
.business-wrap {
  margin: 5px 0 5px 0;
}
.business-standard {
  position: relative;
  width: 95%;
  overflow: hidden;
  margin: 0 auto 15px auto;
}
.business-special {
  position: relative;
  width: 45%;
  overflow: hidden;
  margin: 0 auto 15px auto;
}
.business-standard img, .business-special img {
  transition: 0.8s all;
}
.business-standard img:hover, .business-special img:hover {
  transform: scale(1.1, 1.1);
  transition: 0.8s all;
}
.business-standard > .business-band {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  background: rgba(0, 85, 142, 0.8);
  padding: 20px 0 20px 0;
  z-index: 10;
  font-size: 1.6rem;
}
.business-standard > .business-band a {
  color: #fff;
}
.business-standard > .business-band a:hover {
  text-decoration: none;
  color: #f25b27;
  transition: all 0.3s;
}
.business-special > .business-band {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  background: rgba(256, 256, 256, 0.8);
  padding: 20px 0 20px 0;
  z-index: 10;
  font-size: 1.6rem;
}
/* == */
@media print, screen and (min-width : 768px) {
  /* 共通レイアウト
-------------------------------------------- */
  body {
    font-size: 1.6rem;
  }
  .br-sp {
    display: none;
  }
  .br-pc {
    display: block;
  }
  /*--- contents　body背景 --- */
  /*　固定ヘッダー
-------------------------- */
  #header-frame {
    z-index: 100000;
    position: fixed;
    top: 0px;
    width: 100%;
    padding: 0px 0;
    transition: 0.5s;
  }
  .fixed-header {
    -webkit-justify-content: flex-start; /*左右中央寄せ*/
    justify-content: flex-start; /*左右中央寄せ*/
    display: -webkit-box; /* Android4.3以前ブラウザ用 */
    display: -webkit-flex; /* iOS8以前Safari用 */
    display: flex;
    -webkit-align-items: center; /*上下中央寄せ*/
    align-items: center; /*上下中央寄せ*/
    width: 100%;
    position: relative;
    margin: 0 auto 5px auto;
    padding: 20px 10px 20px 10px;
    background-color: #192F60;
    border-radius: 0px;
    box-shadow: 0px 0px 15px rgb(0 0 0 / 10%);
  }
  .header-logo {
    width: 350px;
    padding: 0 0 0 20px;
  }
  .cart-fixed {
    position: absolute;
    right: 3vw;
    top: 30px;
    display: block;
    width: auto;
  }
  .lang a {
    font-size: 1.4rem;
    font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
    padding: 6px;
    margin: 0 8px 0 5px;
    border: 2px #fff solid;
    border-radius: 50%;
  }
  .lang a:hover {
    color: #ecef74;
    border: 2px #ecef74 solid;
  }
  .cart-fixed img {
    width: 37px;
	 margin-right: 8px;
  }
  .modal-menu a {
    position: relative;
    color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
  }
  .modal-menu a:hover {
    color: #fff;
    transition: all 100ms;
  }
  .modal-menu a::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: -5px;
    left: 0%;
    /*線の形状*/
    width: 100%;
    height: 3px;
    background: #ecef74;
    /*アニメーションの指定*/
    transition: all .3s;
    transform: scale(0, 1); /*X方向0、Y方向1*/
    transform-origin: left top; /*左上基点*/
  }
  /*現在地とhoverの設定*/
  .modal-menu.current a::after, .modal-menu a:hover::after {
    transform: scale(1, 1); /*X方向にスケール拡大*/
  }
  .link-menu::after {
    content: "∨";
    margin: 0 0 0 3px;
    font-weight: 900;
    font-size: 90%;
    color: #ecef74;
    font-family: 'Noto Sans JP', sans-serif;
  }
  /*--- パンくずメニュー
  div.pankuzu-body {
    width: 100%;
    margin: 0px auto 10px auto;
  }
  ul.pankuzu {
    padding: 10px 0 30px 0;
  }
  ul.pankuzu li {
    float: left;
    color: #161616;
    font-size: 1.3rem;
    font-weight: 500;
  }
  ul.pankuzu li a {
    color: #161616;
    margin-right: 15px;
  }
  ul.pankuzu li a:hover {
    color: #f25b27;
    transition: all 0.2s;
  }
  ul.pankuzu li:before {
    content: url(../../images/common/bg-pankuzu.png);
    margin-right: 1px;
  }
  ul.pankuzu li.home:before {
    content: url(../../images/common/pankuzu-home.png);
    margin-right: 5px;
  } --- */
  /*--- 共通 背景・幅 --- */
  section {
    width: 100%;
    margin: 30px auto 60px auto;
  }
  .contents-wrap {
    width: 90%;
    margin: 50px auto 0 auto;
    padding: 20px 0px 0 0;
    font-size: 1.8rem;
  }
  /*--- フッター --- */
  footer {
    position: relative;
    width: 100%;
    margin: 0 auto 0;
    padding: 20px 0 100px 0;
    overflow: hidden;
  }
  .footer-fixed {
    position: absolute;
    width: auto;
    bottom: 0;
    left: 0;
    font-size: 10rem;
    color: #7e8aa6;
    line-height: 1.0;
  }
  .footer-flame {
    width: 100%;
    margin: 0 auto;
    padding: 50px 0px 0px 0px;
  }
  div.footer-l {
    width: 320px;
    font-size: 1.6rem;
    padding: 0px 0 0 30px;
  }
  .f-ad {
    padding: 0 0 0 0px;
    margin: 10px 0 0 0;
  }
  .f-tel {
    font-size: 3.5rem;
    letter-spacing: 0.05em;
  }
  div.footer-r {
    width: 100%;
    margin: 0px 0 0 0px;
    padding: 0px 0 0 20px;
  }
  .footer-menu-box {
    margin: 0 0 0 30px;
  }
  .footer-menu-box > h4 {
    font-size: 1.7rem;
	margin: 0 0 5px 0;
  }
  ul.footer-menu {
    width: 100%;
    margin: 5px 0px 20px 0;
    padding: 0px 0;
  }
  ul.footer-menu li {
    margin: 0 0px 0px 0;
    padding: 2px 0;
    font-size: 1.5rem;
	  float: none;
	  line-height: 1.6;
  }
  ul.footer-menu li > a {
    color: #fff;
    padding: 10px 15px 10px 0px;
  }
  .copyright {
    text-align: right;
    font-size: 1.4rem;
    margin: 25px auto 0px auto;
    padding: 0 0 30px 0;
  }
  .copyright a {
    color: #fff;
  }

  /*--- パンくずメニュー --- */
  div.pankuzu-body {
    width: 100%;
    margin: 20px auto 10px auto;
  }
  ul.pankuzu {
    padding: 10px 0 30px 0;
  }
  ul.pankuzu li {
    float: left;
    color: #161616;
    font-size: 1.5rem;
    font-weight: 500;
  }
  ul.pankuzu li a {
    color: #161616;
    margin-right: 15px;
  }
  ul.pankuzu li a:hover {
    color: #f25b27;
    transition: all 0.2s;
  }
  ul.pankuzu li:before {
    content: url(../../images/common/bg-pankuzu.png);
    margin-right: 1px;
  }
  ul.pankuzu li.home:before {
    content: url(../../images/common/pankuzu-home.png);
    margin-right: 5px;
  }
  section.business {
    width: 100%;
    margin: 100px auto 100px auto;
    padding: 0px 0px 0 0;
    background-image:
      url("../../images/common/circle01.svg"), url("../../images/common/circle02.svg");
    background-repeat: no-repeat, no-repeat;
    background-position: top left, bottom right;
    background-size: 70vh, 70vh;
  }
  .business-wrap {
    width: 1200px;
    margin: 20px auto 20px auto;
  }
  .business-standard {
    position: relative;
    width: 48%;
    overflow: hidden;
    margin: 0 0 15px 0;
  }
  .business-special {
    position: relative;
    width: 24%;
    overflow: hidden;
    margin: 0 6px 15px 6px;
  }
  .business-standard img {
    transition: 0.8s all;
  }
  .business-standard img:hover {
    transform: scale(1.1, 1.1);
    transition: 0.8s all;
  }
  .business-standard > .business-band {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    background: rgba(0, 84, 142, 0.8);
    padding: 20px 0 20px 0;
    z-index: 10;
    font-size: 2.6rem;
	  
  }
  .business-special > .business-band {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    background: rgba(256, 256, 256, 0.8);
    padding: 20px 0 20px 0;
    z-index: 10;
	  font-size: 1.6rem;
	  font-weight: 600;
  }
.contents-wrap-narrow {
	width: 80%;
	min-width: 800px;
	margin: 0px auto 100px auto;
}
/*　UIパーツ
-------------------------- */
#to-top {
	position: fixed;
	right: 0px;
	bottom: 65px;
	width: auto;
	z-index: 100000;
	font-size: 1.6rem;
}
}
@media print, screen and (min-width : 1200px) {
  /* 共通レイアウト
-------------------------------------------- */
  /* PC時 */
  .pc {
    display: inline;
  }
  .sp {
    display: none;
  }
  /*　固定ヘッダー
-------------------------- */
  #header-frame {
    padding: 0;
  }
  /*--- 共通 背景・幅 --- */
  .contents-wrap {
    width: 1100px;
    margin: 50px auto 0 auto;
    padding: 20px 0px 0 0;
  }
  /*--- footer --- */
  .footer-flame {
    width: 1300px;
    margin: 0 auto;
  }
  div.footer-r {
    width: 68%;
    margin: 0px 0 0 0;
  }
}
@media print, screen and (min-width : 1600px) {
  /* 共通レイアウト
-------------------------------------------- */
  /*　固定ヘッダー
-------------------------- */
  .fixed-header {
    width: 100%;
    margin: 0 auto 5px auto;
  }
  .header-logo {
    width: 500px;
  }
  /*--- 共通 背景・幅 --- */
  .contents-wrap {
    width: 1200px;
    margin: 50px auto 0 auto;
    padding: 20px 0px 0 0;
  }
  /*--- フッター --- */
  footer {
    width: 100%;
    margin: 0 auto;
    padding: 20px 0 100px 0;
  }
  .f-tel {
    font-size: 3.5rem;
  }
}
@media print {
  body {
    width: 1200px;
  }
  #sb-header-frame {
    display: none;
  }
  nav.nav-fixed {
    display: none;
  }
  .fixed-header {
    display: none;
  }
  .fixed-header-btn {
    display: none;
  }
}