@charset "utf-8";
/* CSS Document */
/* 目次 
* リセット
* 共通（レイアウト・テキスト・見出し・ボタン・ヘッダー・フッター・ぱんくず・その他)
* TOP
* 下層共通 ※変更不可
* 企業情報
* 会社概要
* 事業内容
* 商品情報
* ダウンロード
* 私たちの取り組み
* 導入事例
* 採用情報
* 個人情報保護方針
* サイトマップ
* 404
* WP投稿共通 ※変更不可
* お知らせ
* お問い合わせ
*/

/*=================== モバイルファースト ==================*/

/**************************************************
* 共通（レイアウト・テキスト・見出し・ボタン・ヘッダー・フッター・ぱんくず・その他)
***************************************************/
/*------------------------------
レイアウト ※変更不可
------------------------------*/
.pc { display: none; }
.tb { display: none; }
.sp { display: block; }
.sp590 { display: none; }
/*フッター位置調整*/
.wrapper {
  min-height: calc(100vh - 405px);
  padding: 50px 0 0;
}
/*wrap共通*/
.wrap{
  margin: 0 auto;
  padding: 60px 0;
}
.wrap-l{
  width: 100%;
}
.wrap-m{
  max-width: 1150px;
  width: 90%;
  margin: 0 auto;
}
.wrap-s{
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}
.wrap-ss{
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}
.wrap-top{
  padding-top: 50px;
}
/*margin共通*/
.ma-b25{
  margin-bottom: 25px;
}
.ma-b50{
  margin-bottom: 50px;
}


/*flex-box*/
.flex-box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/*flex-box2*/
.flex-box2{
  display: flex;
  flex-wrap: nowrap;
  justify-content: center; !important
　column-gap: 5%; !important
}

/*------------------------------
テキスト ※変更不可
------------------------------*/
p,li,a,th,td,dt,dd {
  font-size: 1.5rem;
  line-height: 1.8;
  color: #555;
}
.bold{
    font-weight:600;
}
/*------------------------------
見出し h1-h6 ※変更不可
------------------------------*/
h1 {
  line-height: 1.5;
  font-size: 2.6rem;
  font-weight: normal;
}
h2 {
  line-height: 1.5;
  font-size: 2.5rem;
  font-weight: normal;
  margin-bottom: 1.5em;
}
h3 {
  line-height: 1.5;
  font-size: 2.0rem;
  font-weight: normal;
  margin-bottom: 1em;
}
h4 {
  line-height: 1.5;
  font-size: 1.7rem;
  font-weight: normal;
  margin-bottom: 1em;
}
h5 {
  line-height: 1.5;
  font-size: 1.6rem;
  font-weight: normal;
  margin-bottom: 1em;
}
h6 {
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 1em;
}

/*h2 中央寄せ*/
.h2-ttl{
	width: auto;
  display: block;
  margin: 0 auto;
	text-align: center;
}
.h2-ttl h2{
  display: inline-block;
	width: auto;
	text-align: left;
  line-height: 0.7;
  padding-left: 50px;
  background: url("../images/common/h2-img.png") no-repeat left  center/ contain;
  font-family: 'Noto Serif JP', serif;
}
.h2-ttl h2 span{
  text-align: left;
  font-size: 40%;
  font-weight: 700;
  color: #336699;
}
/*h3*/
.h3-ttl{
  font-weight: 700;
  color: #0477c2;
  text-align: center;
}
/*------------------------------
ボタン ※変更不可
------------------------------*/
/* 共通 */
.btn-box {
  text-align: center;
}
/* ＞なし */
.btn-box .btn {
/*  display: inline-block;
  width: 180px;
  height: 50px;*/
  line-height: 50px;
  padding: 10px 20px;
  border-radius: 15px;
  background: #336699;
  color: #fff;
  text-align: center;
  font-weight: bold;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
}


/* ＞あり */
.btn-box .btnarrow {
  position: relative;
  display: inline-block;
  width: 200px;
  height: 50px;
  line-height: 50px;
  padding-right: 30px;
  border-radius: 15px;
  background: #336699;
  color: #fff;
  font-weight: bold;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
}
.btn-box .btnarrow::after{
  content: '>';
  position: absolute;
  top: -2%;
  right: 15%;
  transition: all .3s;
}
/*hoverした際の移動*/
.btn-box .btnarrow:hover::after{
  right: 10%;
}
/* 小さめボタン */
.btn-box .btnarrow.small{
  width: 180px;
  height: 40px;
  line-height: 40px;
  padding-right: 20px;
  border-radius: 10px;
  font-weight: normal;
}
/* 大きめボタン */
.btn-box .btnarrow.large{
  width: 100%;
  max-width: 300px;
  height: 40px;
  line-height: 40px;
  padding-right: 30px;
  border-radius: 10px;
  font-weight: normal;
}
.btn-box .btnarrow.large::after{
  right: 10%;
}
.btn-box .btnarrow.large:hover::after{
  right: 5%;
}
/*------------------------------
ヘッダー ※変更不可
------------------------------*/
#contents{
  position: relative;
}
#header-sp,
.spnavi,
.spmenu-btn{
  display: block;
}
/* ヘッダー */
#header-sp{
  width: 100%;
  height: 50px;
  background-color:rgba(163,214,250,0.9);
  position: fixed;
  z-index: 999;
}
#header-sp .sph{
  display: block;
}
#header-sp .h1-area .text{
  font-size: 1.0rem;
  font-weight: normal;
  color: #0477c2;
}
#header-sp .h1-area .logo a{
  display: block;
  width: 120px;
  height: auto;
  margin: 10px;
}

/* ハンバーガーメニュー */
.spmenu-btn{
  width: 60px;
  height: 50px;
  padding: 10px;
  position: absolute;
  top: 0;
  right: 0;
  text-align: left;
  background: #336699;
  font-size: 12px;
  font-size: 1.2rem;
  color: #FFF;
}
.spmenu-btn button{
  background: none;
  border: none;
}
.spmenu-btn button, select{
  text-transform: none;
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger {
  position: relative;
  width: 38px;
  height: 30px;
}
.menu-trigger span {
  position: absolute;
  right: 0;
  width: 100%;
  height: 4px;
  background-color: #fff;
  border-radius: 4px;
}
.spmenu-btn p{
  font-size: 13px;
  font-size: 1.3rem;
	line-height: 1.5;
}
.menu-trigger span:nth-of-type(1) {
  top: 2px;
}
.menu-trigger span:nth-of-type(2) {
  top: 13px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 2px;
}
.menu-trigger.active span:nth-of-type(1) {
  top: -7px;
}
.menu-trigger.active span:nth-of-type(2) {
  top: 13px;
}
.menu-trigger.active span:nth-of-type(3) {
  bottom: -7px;
}

/* ハンバーガーメニュー アニメーション*/
.menu-trigger span:nth-of-type(1) {
  -webkit-animation: menu-bar01 .75s forwards;
  animation: menu-bar01 .75s forwards;
}
@-webkit-keyframes menu-bar01 {
  0% {
    -webkit-transform: translateY(20px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes menu-bar01 {
  0% {
    transform: translateY(20px) rotate(45deg);
  }
  50% {
    transform: translateY(20px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}
.menu-trigger span:nth-of-type(3) {
  -webkit-animation: menu-bar02 .75s forwards;
  animation: menu-bar02 .75s forwards;
}
@-webkit-keyframes menu-bar02 {
  0% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes menu-bar02 {
  0% {
    transform: translateY(-20px) rotate(-45deg);
  }
  50% {
    transform: translateY(-20px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-animation: active-menu-bar01 .75s forwards;
  animation: active-menu-bar01 .75s forwards;
}
@-webkit-keyframes active-menu-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(20px) rotate(45deg);
  }
}
@keyframes active-menu-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(20px) rotate(0);
  }
  100% {
    transform: translateY(20px) rotate(45deg);
  }
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-animation: active-menu-bar03 .75s forwards;
  animation: active-menu-bar03 .75s forwards;
}
@-webkit-keyframes active-menu-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-20px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-20px) rotate(-45deg);
  }
}
@keyframes active-menu-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-20px) rotate(0);
  }
  100% {
    transform: translateY(-20px) rotate(-45deg);
  }
}

/* スライドメニュー */
.spnavi {
  position: fixed;
  width: 260px;
  height: 100%;
  top: 0;
  padding: 20px;
  box-sizing: border-box;
  z-index: 9999;
  background: #eee;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  /* enables momentum scrolling in iOS overflow elements */
}
li.spnavi-submenu{
  position: relative;
  margin-bottom: 15px;
  padding: 8px 15px;
  background: #FFF;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: bold;
  color: #111;
}
li.spnavi-submenu a{
  display: block;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: bold;
  color: #111;
}
li.spnavi-submenu.spnavi-submenu-closed span:after,
li.spnavi-submenu.spnavi-submenu-open span:after{
  content: "";
   width: 25px;
  height: 25px;
  background-size: contain;
  position: absolute;
  top: 8px;
  right: 15px;
}
li.spnavi-submenu.spnavi-submenu-closed span:after{
  background: url(/images/common/sp-plus.png);
  background-size: contain;
}
li.spnavi-submenu.spnavi-submenu-open span:after{
  background: url(/images/common/sp-minus.png);
  background-size: contain;
}
.spnavi li.spnavi-link{
  margin-bottom: 5px;
}
.spnavi li.spnavi-link:first-child{
  margin-top: 10px;
}
.spnavi li.spnavi-link a {
  display: block;
  background: #e4eff6;
  padding: 6px 10px;
  color: #111;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
}
.spnavi.spnavi-right {
  right: 0;
}
.spnavi-content {
  visibility: hidden;
}
/* Menu Movement */
.spnavi-right {
  -webkit-transform: translate3d(260px, 0, 0);
  -ms-transform: translate3d(260px, 0, 0);
  transform: translate3d(260px, 0, 0);
}
.spnavi-open-right #contents,.spnavi-open-right #header-sp,
.spnavi-open-right .push {
  -webkit-transform: translate3d(-260px, 0, 0);
  -ms-transform: translate3d(-260px, 0, 0);
  transform: translate3d(-260px, 0, 0);
}
.spnavi-open-right .spnavi {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.spnavi-open-right .spnavi-content {
  visibility: visible;
}
/* Menu Transitions */
#contents,#header-sp,
.spnavi,
.push {
  transition: transform 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}
.spnavi-content {
  transition: visibility 0.2s cubic-bezier(0.16, 0.68, 0.43, 0.99);
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Submenu Appearance */
.spnavi-submenu {
  /* Submenu Buttons */
  /* Submenu Icon */
}
.spnavi-submenu ul {
  transition: max-height 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.spnavi-submenu ul .spnavi-link {
  transition: opacity 0.2s ease-in-out;
}
.spnavi-submenu button {
  width: 100%;
  color: #b3b3b1;
  padding: 15px 30px;
  text-align: left;
  background: transparent;
  border: 0;
}
.spnavi-submenu button:hover {
  color: #FFF;
}
.spnavi-submenu > a,
.spnavi-submenu > button {
  position: relative;
}
.spnavi-submenu > a::after,
.spnavi-submenu > button::after {
  content: '';
  display: block;
  height: 11px;
  width: 8px;
  position: absolute;
  top: 50%;
  right: 15px;
  background: url("../img/arrow.svg") no-repeat;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: transform 0.2s;
}
/* Submenu Movement */
.spnavi-submenu-closed ul {
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
}
.spnavi-submenu-closed .spnavi-link {
  opacity: 0;
}
.spnavi-submenu-open {
  /* Submenu Icon */
}
.spnavi-submenu-open ul {
  max-height: 1000px;
  visibility: visible;
}
.spnavi-submenu-open .spnavi-link {
  opacity: 1;
}
.spnavi-submenu-open a::after,
.spnavi-submenu-open button::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}
/*------------------------------
フッター ※変更不可
------------------------------*/
#footer {
  width: 100%;
  position: relative;
}
/* logo */
#footer .logo a{
  display: block;
  width: 150px;
  height: auto;
}
/* address */
#footer .add{
  margin: 15px 0;
}
#footer address .tel-box{
  width: 100%;
  max-width: 380px;
  margin: 5px 0 15px;
  border-bottom: 2px solid #336699;
  align-items:baseline;
}
#footer address .tel-box .tel,
#footer address .tel-box .tel a{
  font-weight: bold;
  font-size: 2.0rem;
  color: #336699;
}
#footer address .tel-box .text{
  font-size: 1.5rem;
}
#footer address p{
  color: #457390;
}
/* bnr */
#footer .bnr-uq{
  width: 100%;
  max-width: 380px;
}
/* f-nav */
#footer .f-nav ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#footer .f-nav li{
  width: 47%;
  margin-bottom: 0.5em;
}
#footer .f-nav li a{
  color: #457390;
}
/* copyright */
#footer .copyright{
  color: #336699;
  font-size: 1.2rem;
  text-align: center;
  padding-bottom: 10px;
}
/*------------------------------
pageTopボタン ※変更不可
------------------------------*/
#page_top {
  width: 300px;
  height: 50px;
  margin: 0 auto;
  background: url("../images/common/bg-pagetop.png") no-repeat left  center/ contain;
  position: absolute;
  top: -50px;
  left: 0;
  right: 0;
}
#page_top a {
  display: block;
  width: 30px;
  height: auto;
  margin: 0 auto;
  position: relative;
  top: 15px;
}

/*------------------------------
ぱんくず ※変更不可
------------------------------*/
#breadcrumbs {
  padding: 10px 0 ;
}
#breadcrumbs li {
  display: inline;
  font-size: 1.2rem;
}
#breadcrumbs li a {
  font-size: 1.2rem;
}
#breadcrumbs span a {
  text-decoration: underline;
}
#breadcrumbs span {
  display: inline-block;
  margin-right: 1.5em;
  position: relative;
}
#breadcrumbs span::after{
  content: "/";
  vertical-align: middle;
  position: absolute;
  top: calc(50% - 7px);
  right: -15px;
  margin: auto;
}
#breadcrumbs li:last-of-type span::after{
  content: " ";
}
/*カスタム投稿singleのパンくず「商品情報」を消す#breadcrumbs.pb*/
#breadcrumbs.pb li:nth-of-type(2){
  display: none;
}
/**************************************************
* TOP
***************************************************/
/*------------------------------
kv
------------------------------*/
#top .kv {
	display: block;
	overflow: hidden;
  width: 100%;
  height: auto;
  margin: 0;
  position: relative;
}
#top .kv .kv-inner {
  position: absolute;
  top: 21%;
  left: 5%;
  z-index: 10;
  max-width: 1100px;
  width: 90%;
  margin: 0 auto;
}
#top .kv h1 {
  font-size: 5vw;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 0.5em;
}
#top .kv p {
  font-size: 2.8vw;
  font-weight: bold;
}
#top .kv img {
	display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/*------------------------------
con01
------------------------------*/
#top #con01 .
{
  justify-content: space-around;
}
#top #con01 .flex-box .box{
  text-align: center;
  width: 45%;
  margin: 10px 0; 
}
#top #con01 .flex-box h3{
  margin: 10px 0;
}


/*------------------------------
con02
------------------------------*/
#top #con02 .slider-carousel {
  position: relative;
}
#top #con02 .slider-carousel li{
	padding: 10px;
}
#top #con02 .slider-carousel li a{
	display: block;
}
#top #con02 .slider-carousel li h3{
  margin: 10px 0;
  font-size: 1.5rem;
}
#top #con02 .slider-carousel .arrow-link::after{
  top: -5%;
}
#top #con02 .slider-carousel a:hover .arrow-link::after{
  right: 0;
}
#top #con02 .slider-carousel .slick-arrow{
  position: absolute;
  top: 40%;
  z-index: 10;
  font-size: 25px;
  font-weight: bold;
  color: #aaa;
}
#top #con02 .slider-carousel .slick-arrow:hover{
  color: #a3d6fa;
  transition: all .3s;
}
#top #con02 .slider-carousel .slick-prev.slick-arrow{
  left: -5%;
}
#top #con02 .slider-carousel .slick-next.slick-arrow{
  right: -5%;
}

/*------------------------------
contact-area
------------------------------*/
#contact-area{
  padding-bottom: 100px;
}
#contact-area .contact-box .box{
  width: 100%;
  max-width: 300px;
  border-bottom: 2px solid #336699;
  padding: 20px ;
  margin: 0 auto;
}

/* ボタン ＞あり */
#contact-area .contact-box .box-m .btn-box .btnarrow{
  position: relative;
  display: inline-block;
  width: 270px;
  height: auto;
  line-height: 1.5;
  padding: 15px 30px 15px 15px;
  border-radius: 15px;
  background: #336699;
  color: #fff;
  font-weight: bold;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
text-align: left;
}
#contact-area .contact-box .box-m .btn-box .btnarrow::after{
  content: '>';
  position: absolute;
  top: 40%;
    right: 3%;
  transition: all .3s;
}
#contact-area .contact-box h3{
  text-align: center;
}
#contact-area .contact-box h3.mar-b{
  margin-bottom: 0.5em;
}
#contact-area .contact-box p{
  text-align: center;
}
#contact-area .contact-box p.btn-txt{
    font-size: 1.4rem;
    line-height: 1.5;
    padding-top:10px;
}
#contact-area .contact-box p.tel{
  padding: 5px 10px;
  border-bottom: 3px double #666;
}
#contact-area .contact-box p.tel,
#contact-area .contact-box p.tel a{
  line-height: 1;
  font-weight: bold;
  font-size: 3.0rem;
  color: #336699;
}
/* sns-box */
#contact-area .sns-box{
  margin: 30px auto 15px;
}
#contact-area .sns-box h3{
      width: 100%;
    margin: 30px auto 0;
    text-align: center;
}
#contact-area .sns-box p.lead{
  margin: 0 auto;
}
#contact-area .sns-box .box{
  width: 100%;
  max-width: 230px;
  margin: 10px auto;
  background: #fff;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
}
#contact-area .sns-box .box .flex-box{
  width: 100%;
  height: 100%;
  padding: 10px 20px;
  justify-content: flex-start;
  align-items: center;
}
#contact-area .sns-box .box .flex-box:hover{
  background: #4267b2;
  transition: all .5s;
}
#contact-area .sns-box .box .flex-box.yt:hover{
  background: #ff0000;
}

#contact-area .sns-box .box .flex-box.line:hover{
  background: #34B157;
}

#contact-area .sns-box .box .flex-box.insta:hover{
  background: #fec01d;
}
#contact-area .sns-box .box .flex-box:hover p{
  color: #fff;
  transition: all .5s;
}
#contact-area .sns-box img{
  width: 60px;
  margin-right: 14px;
}
#contact-area .sns-box .box.online  .flex-box {
    padding: 20px 20px;
}
#contact-area .sns-box .online img{
  width: 80px;
  margin: 0 0 0 10px;
}
#contact-area .sns-box .online p{
    line-height: 1.5;
}

/*バナー100％表示*/
#contact-area .sns-box .online.full-img img {
  width: 100%;
  margin: 0;
}
#contact-area .sns-box .box.full-img  {
  background: transparent;
}

/**************************************************
* 下層共通 ※変更不可
***************************************************/
/* .page-kv */
#contents > .page{
  padding-bottom: 110px;
}
.page-kv{
  background-color: #e4eff6;
}
/* .page-ttl */
.page-ttl{
	width: auto;
  display: block;
  margin: 0 auto;
  padding: 40px 0;
	text-align: center;
}
.page-ttl h1{
  width: auto;
  text-align: center;
  color: #fff;
  margin: 0;
  line-height: 1;
  text-shadow: 0 2px 3px #666;
  font-family: 'Noto Serif JP', serif;
}
.page-ttl h1 span{
  font-size: 1.5rem;
}
/* .page-ttl02 */
.page-ttl02{
	width: auto;
  display: block;
  margin: 0 auto;
  padding: 20px 0;
	text-align: center;
}
.page-ttl02 h2{
  display: inline-block;
	width: auto;
	text-align: center;
  color: #fff;
  margin: 0;
}
.page-ttl02 h2 img{
  width: 70px;
  height: auto;
}
/*01~*/
.number{
  width: 40px;
  height: 40px;
  text-align: center;
  line-height: 40px;
  background: #0477c2;
  color: #fff;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
}


/**************************************************
* 企業情報 #introduction
 ***************************************************/
#introduction .page-kv {
    background: url(../images/company/kv-company.png) no-repeat center/cover;
}
#introduction .con02 .flex-box {
	justify-content: space-around;
}
#introduction .con02 .img{
	width:100%;
		max-width:225px;
}
#introduction .con02 .text-box{
	width:100%;
	max-width:90%;	
	margin:20px auto 0;
}
#introduction .con02 .text-box .flex-box{
    justify-content: left;
}

#introduction .con02 .text-box img{
	width: 247px;
	height: auto;
	margin-bottom: 20px;
}

/*#introduction .con02 .con02lead{    
    font-weight: 600;
}*/

#introduction .con03 .flex-box{
	justify-content: center;	
	}

#introduction .con03 .text-box{
	width:100%;
		max-width:620px;
}
#introduction .con03 .text-box .right{
	margin-top:1em;
	text-align:right;
}
#introduction .con03 .text-box .right .big{
	font-size:24px;
	fontsize:2.4rem;
	margin-left: 10px;
}

#introduction .con03 .president .img{
		width:100%;
		max-width:200px;
	margin: 20px auto;
}

#introduction .con04 .img{
	width:100%;
}
#introduction .con04 .text-box{
	width:100%;
}
#introduction .con04 h3 {
  border-bottom: solid 3px #eeeeee;
  position: relative;
	margin: 10px 0 ;
}
#introduction .con04 h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #d2d2d2;
  bottom: -3px;
  width: 20%;
}
#introduction .con04 .text-box p{	
	margin-bottom: 1em;
}
#introduction .con05 h3{
	width:50px;
	border-bottom: 1px solid #e50316;
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}
#introduction .con05 p{
	margin-bottom: 1em;
}

#introduction .con06 ol{
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}
#introduction .con06 ol li{
text-indent: -2.8em;
    padding-left: 2.5em;
}
#introduction .con06 ol li::before{
	counter-increment: listnum; 
	content: counter(listnum); 
	vertical-align: middle;
	font-size: 18px;
	font-family: roboto;
	font-weight: bold;
	background: #0477C2;
	color: #fff;
	width: 25px;
	height: 25px;
	line-height: 3;
	text-align:center;
	padding:5px 10px;
	margin-right: 10px;
    border-radius: 5px;
}


/**************************************************
* 会社概要
***************************************************/
/* .page-kv */
#company .page-kv{
  background: url(../images/company/kv-company.png) no-repeat center/cover;
}
/* .dl-box */
#company .dl-box dl{
  padding: 10px;
}
#company .dl-box dl:nth-of-type(odd){
	background: #eee;
}
#company .dl-box dt{
  margin-bottom: 10px;
}
#company .dl-box dt,
#company .dl-box dd{
	width: 100%;
}
#company .dl-box dt{
  color: #0477c2;
}

/**************************************************
* 事業内容
#business
***************************************************/

#business .page-kv{
  background: url("../images/business/kv-business.png") no-repeat center;
  background-size:cover;
}
/* .con01 */
#business .con01 .text-c{
	margin-bottom: 30px;
}
#business .con01 ul{
	display: flex;
	flex-wrap: wrap;
	text-align: center;
	justify-content:space-between;
	margin-bottom: 50px;
}
#business .con01 li{
	width: calc(50% - 5px);
	margin: 10px 0;
}
#business .con01 li p{
	font-size: 20px;
	font-size: 2.0rem;
}
.oem_banner{
  width: 100%;
  max-width: 713px;
  margin: 10px auto; 
}
.oem_banner p{
	text-align:center;
}





/* .con02 */
#business .con02bk{
	background:#e4eff6 url("../images/business/business-strengthbk.png") no-repeat center top/cover;
}
#business .con02 h3{
    text-align: center;
	color: #0477c2;
	font-size: 20px;
	font-size: 2.0rem;
    margin-top: 20px;
}
#business .con02 .right-box{
	margin: 30px auto;
	width: 80%;
}

/* .con03 */
#business .con03 .box_l,#business .con03 .box_r{
	margin:0 0 30px 0;
}
#business .con03 .box_l .img{
	width: 95%;
	margin-left: 5%;
}
#business .con03 .box_r .img{
	width: 95%;
    margin-right: 5%;
}
#business .con03 .box_l .text-box{
    width: 80%;
    padding: 15px;
    position: relative;
    top: -30px;
    left: 0;
    background: #fff;
}
#business .con03 .box_r .text-box{
    width: 80%;
    padding: 15px;
    position: relative;
    top: -30px;
    left: 20%;
    background: #fff;
}
#business .con03 .text-box h3{
	color: #0477c2;
	font-size: 20px;
	font-size: 2.0rem;
}
#business .con03 .text-box .txtlink{
	text-align: right;
}
#business .con03 .text-box .txtlink a{
	color: #0477c2;
}
/* .con04 */
#business .con04 .h2-ttl h2{
	font-size: 2.0rem!important;
}
#business .con04 .text-box{
	text-align: center!important;
}
#business .con04 .worries-box{
	margin: 80px auto 50px;
	border-radius: 20px;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
	padding: 30px;
	position: relative;
}

#business .con04 .worries-box .balloon{
	width: 80%;
    position: absolute;
    display: inline-block;
    margin:0 auto 30px;
    padding: 7px 30px;
    max-width: 100%;
    background: #FFF;
    border: solid 1px #094e8f;
    box-sizing: border-box;
	border-radius: 30px;
	top:-25px;
	left:10%;
}
#business .con04 .worries-box .balloon:before {
 content: "";
  position: absolute;
  bottom: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}

#business .con04 .worries-box .balloon:after {
	content: "";
  position: absolute;
  bottom: -28px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 14px solid #094e8f;
  z-index: 1;
}
#business .con04 .worries-box h4{
	text-align: center;
	color: #094e8f;
	margin: 0;
	padding: 0;
}
#business .con04 .worries-box ul{
	margin-top: 30px;
	padding:0 20px;
}
#business .con04 .worries-box ul li{
	position: relative;
}
#business .con04 .worries-box ul li:after {
  content: '';
  display: block;
  position: absolute;
  top: .5em;
  left: -1.5em;
  width: 12px;
  height: 7px;
  border-left: 2px solid #094e8f;
  border-bottom: 2px solid #094e8f;
  transform: rotate(-45deg);
}
#business .con04 h3{
	text-align: center;
	color: #0477c2;
	font-size: 20px;
	font-size: 2.0rem;
}

#business .con04 .oemstrength-box .text-box{
	width: 90%;
    padding: 15px;
    margin: 0 auto;
    position: relative;
    top: -50px;
    left: 0;
    right: 0;
    background: #fff;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
}

#business .con04 .flow,#business .con04 .cases{
	padding: 50px 0;
}
#business .con04 .flow-box{
	margin:35px 0 0 0;
	padding: 0 20px 20px 20px;
	border: 1px solid #094e8f;
	background:#ffffff;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
}

#business .con04 .flow-box h4{
	display: block;
	margin-top: -15px;
	min-width: 100px;
	max-width: 150px;
	width: 25%;
	text-align: center;
	padding: 8px 0;
	color: #ffffff;
	background: rgb(157,190,224);
	background: linear-gradient(90deg, rgba(157,190,224,1) 0%, rgba(4,119,194,1) 100%);	
}
#business .con04 .flow-box dl{
	padding:20px 0;
	border-bottom: 1px solid #094e8f;
}

#business .con04 .flow-box dl:last-child{
	border-bottom: none;
}
#business .con04 .flow-box dl dt{
	font-weight: bold;
	margin-bottom: 5px;
}

#business .con04 .case-box{
	margin-bottom: 30px;
}
#business .con04 .case-box .case-head{
	background: #a3d6fa;
	border-radius: 20px 20px 0 0;
	padding: 30px 20px;
    box-shadow: 0px -2px 10px 0px rgb(0 0 0 / 20%);
}

#business .con04 .case-box h4{
	color: #0477c2;
	font-size:1.8rem;
	margin: 0;
}
#business .con04 .case-box h4 span{
	color: #ffffff;
	margin-right: 10px;
	 
}
#business .con04 .case-box .case-item{
	padding: 30px 20px;
	border-radius:0 0 20px 20px;
    box-shadow: 0px 4px 10px 0px rgb(0 0 0 / 20%);
}
#business .con04 .case-box .case-item dl{
	padding:10px;
}
#business .con04 .case-box .case-item dl:nth-child(even){
	background:#eeeeee;	
}

#business .con04 .case-box .case-item dt{
	color: #0477c2;
}
#business .con04 .case-box .case-item dd{
	padding: 0 10px;

}
#business .con04 .flow .flow-figure{
	position: relative;
}
#business .con04 .flow .flow-head{
	width: 60px;
	height: 100%;
	position: absolute;
	background: rgb(157,190,224);
	background: linear-gradient(90deg, rgba(157,190,224,1) 0%, rgba(4,119,194,1) 100%);	
}
#business .con04 .flow .flow-head:before{
	position: absolute;
    content: "";	
	top: auto;
    bottom: 0;
    left: 0;
    right: auto;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 0 30px;
    border-color: transparent transparent transparent #e4eff6;
}
#business .con04 .flow .flow-head:after{
	position: absolute;
    content: "";bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 30px 30px;
    border-color: transparent transparent #e4eff6;
}
#business .con04 .flow .flow-body{
		display: block;
		width: 90%;
		margin:0 0 0 20px;
		padding: 10px 0 30px 0;
	}
#business .con04 .flow .item{
	position: relative;
	margin:20px 0 20px 20px;
}
#business .con04 .flow .item .box{
	position: relative;
	background: #ffffff;
	padding: 20px;
	border-radius:10px;
    box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
	z-index: 1;
}

#business .con04 .flow .item .num p{
	color: #ffffff;
	display: block;
	font-size:1.8rem;
	margin-left: -36px;
}
#business .con04 .flow .item .box li{
	margin-left: 1em;
	text-indent: -1em;
	}
#business .con04 .flow .item .item-arrow{
  position: absolute;
  left:-35px;
  top: -50px;
  display: inline-block;
  vertical-align: middle;
  color: #e4eff6;
  width: 50px;
  height: 50px;
  border: 3px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}


#business .con04 .font-b{
	font-size: 2.4rem;
}
#business .con04 .flow-box dl dt{
	line-height: 2.0rem;
}
#business .con04 .flow-box dl dt .num{
	display: inline-block;
	height: 20px;
	width: 20px;
	margin-right: 5px;
	margin-bottom: 0px;
	background-color: #95bade;
	border-radius: 50%;
	text-align: center;
	box-sizing: border-box;
	font-weight: bold;
	color: #ffffff;
	font-size: 1.2rem;
	padding: 5px 0 0 0;
}

/**************************************************
* 商品情報
#product
***************************************************/
/*------------------------------
梱包包装資材 .product-1 .page-kv
------------------------------*/
#product .product-1 .page-kv,
#product .product-1-1 .page-kv,
#product .product-1-2 .page-kv,
#product .product-1-3 .page-kv,
#product .product-1-4 .page-kv,
#product .product-1-5 .page-kv,
#product .product-1-6 .page-kv,
#product .product-1-7 .page-kv,
#product .product-1-1-1 .page-kv,
#product .product-1-1-2 .page-kv,
#product .product-1-1-3 .page-kv,
#product .product-1-2-1 .page-kv,
#product .product-1-2-2 .page-kv,
#product .product-1-2-3 .page-kv,
#product .product-1-2-4 .page-kv,
#product .product-1-2-5 .page-kv,
#product .product-1-2-6 .page-kv{
  background: url("../images/product/product-1-kv.png") no-repeat center/cover;
}
/*------------------------------
梱包包装資材 .product-2 .page-kv
------------------------------*/
#product .product-2 .page-kv,
#product .product-2-1 .page-kv,
#product .product-2-2 .page-kv,
#product .product-2-3 .page-kv,
#product .product-2-4 .page-kv,
#product .product-2-5 .page-kv,
#product .product-2-6 .page-kv,
#product .product-2-7 .page-kv,
#product .product-2-1-1 .page-kv,
#product .product-2-1-2 .page-kv,
#product .product-2-1-3 .page-kv,
#product .product-2-2-1 .page-kv,
#product .product-2-2-2 .page-kv{
  background: url("../images/product/product-2-kv.png") no-repeat center/cover;
}
/*------------------------------
電気製品 .product-3 .page-kv
------------------------------*/
#product .product-3 .page-kv,
#product .product-3-1 .page-kv,
#product .product-3-2 .page-kv,
#product .product-3-3 .page-kv,
#product .product-3-4 .page-kv,
#product .product-3-5 .page-kv,
#product .product-3-1-1 .page-kv,
#product .product-3-1-2 .page-kv,
#product .product-3-1-3 .page-kv,
#product .product-3-2-1 .page-kv,
#product .product-3-2-2 .page-kv{
  background: url("../images/product/product-3-kv.png") no-repeat center/cover;
}

/*------------------------------
取扱いブランド .product-4 .page-kv
------------------------------*/
#product .product-4 .page-kv,
#product .product-4-1 .page-kv,
#product .product-4-2 .page-kv,
#product .product-4-3 .page-kv,
#product .product-4-4 .page-kv{
  background: url("../images/product/product-4-kv.png") no-repeat center/cover;
}

/*------------------------------
#product #sidebar
------------------------------*/
#product #sidebar {
  width: 100%;
}
#product #sidebar .cat-list h2{
  margin: 0;
  padding: 5px 10px;
  background: #336699;
  font-size: 1.8rem;
  color: #fff;
}
#product #sidebar .cat-list h2 .arrow-link{
  color: #fff;
}
#product #sidebar .cat-list h3{
  margin: 0;
  padding: 5px 10px;
  background: #a3d6fa;
  font-size: 1.8rem;
}
#product #sidebar .cat-list li{
  margin: 0;
  padding: 5px 10px 5px 20px;
  font-size: 1.8rem;
  color: #fff;
}
/*------------------------------
第一階層 .product-layer1
------------------------------*/
#product .product-layer1 .product-list li{
  width: 100%;
  max-width: 400px;
  margin: 0 auto ;
}
#product .product-layer1 .product-list li .text-box{
  width: 90%;
  padding: 15px;
  margin: 0 auto;
  position: relative;
  top: -50px;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
}
#product .product-layer1 .product-list li .ttl{
  text-align: center;
  margin-bottom: 0;
}
#product .product-layer1 .product-list li .logo-img{
      width: 100%;
    max-width:158px;
    margin:10px auto 0;
    text-align: center;
}

#product .product-layer1 .product-list li .text{
  margin: 10px 0 15px;
}
/*------------------------------
第二階層 .product-layer2
------------------------------*/
#product .product-layer2 .h2-ttl h2{
  margin-bottom: 0;
}
#product .product-layer2 .product-area{
    width: 100%;
}
#product .product-layer2 .product-list h3{
    font-size: 20px;
    font-size: 2.0rem;
  line-height: 1em;
  color: #0477c2;
    background: #eeeeee;
    padding:10px 0;
}
#product .product-layer2 .product-area .movie-box{
  display: flex;    
  max-width: 694px;
  margin: 2em auto 0.5em;
  gap: 20px;

  justify-content: center;
}

#product .product-layer2 .product-area .movie-box .movie-wrap {
  flex: 1 1 45%;
  max-width: 560px;
}
#product .product-layer2 .product-area .movie-note{
      margin: 0 auto 3em;
}

/* レスポンシブ対応（スマホで縦並び） */
@media screen and (max-width: 699px) {
#product .product-layer2 .product-area .movie-box{
    flex-direction: column;
    align-items: center;
      flex-wrap: wrap;
    max-width:500px;
  }

#product .product-layer2 .product-area .movie-box  .movie-box-wrap {
    width: 100%;
    max-width: 100%;
  }

#product .product-layer2 .product-area .movie-box iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
}

#product .product-layer2 .product-navi-box a{
     color: #0477c2;
}
#product .product-layer2 .product-navi-box img{
    border: #eeeeee solid 1px;
    margin-bottom: 5px;
} 
#product .product-layer2 .product-item-box.flex-box{
  justify-content:center;
  margin: 15px auto 0;
}
#product .product-layer2 .product-item{
    border: 1px solid #0477c2;
    border-radius: 10px;
    padding: 3.5px 15px; 
    margin-right:5px;
    margin-bottom: 10px;
}
#product .product-layer2 .product-item p{
    color: #0477c2;  
        font-size: 12px;
    font-size: 1.2rem;
    text-align: center;
}
#product .product-layer2 .product-list .product-point img{
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}


/*20230809追加*/
#product .product-layer2 .text-c{
    margin-top: 30px;
}
#product .product-layer2 .product-navi-box li {
  width: auto;
  max-width: 32.66%;
  margin-right: 1%;
  text-align: center;
  margin-bottom: 15px;
}
#product .product-layer2 .product-navi-box li:nth-of-type(3n) {
  margin-right: 0;
}


#product .product-layer2 .product-list .product-point{
    width: 80%;
    max-width: 400px;
    margin: 0 auto 10px;
}
#product .product-layer2 .product-list h4{
    color:#0477c2;
    font-size: 2.0rem;
    text-align: left!important;
    border-bottom: solid 3px #eeeeee;
    position: relative;
    margin: 20px 0 10px 0;
    text-indent: 5px;
}
#product .product-layer2 .product-list h4:after{
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #d2d2d2;
    bottom: -3px;
    width: 20%;    
}
#product .product-layer2 .product-list h5{
    font-weight: 600;
    margin-bottom: 5px!important;
}
#product .product-layer2 .product-list h5 .black{
  color: #000000;
  display: block;
  line-height: 1.5;
}
#product .product-layer2 .product-list .product-item-table{
    width: 100%;
    margin: 10px 0;
    overflow-x: scroll;
}
#product .product-layer2 .product-list .product-item-table table{
    min-width: 630px;
    width: 100%;
}
#product .product-layer2 .product-list .product-item-table table a{
  text-decoration: underline;
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}
#product .product-layer2 .product-list .product-item-table table a:hover{
  text-decoration: none;
}

#product .product-layer2 .product-list .product-item-table table td{
    border: 1px solid #0477c2;
    padding: 5px;
    color: #0477c2;
}
#product .product-layer2 .product-list .product-item-table table td img{
  max-width: 280px;
  width: auto;
}
#product .product-layer2 .product-list .product-item-table table .vertically{
    background:#73A7EA;
    text-align: center;
    padding: 0!important;
}
#product .product-layer2 .product-list .product-item-table table .vertically p{
    transform: rotate(-90deg);
    color: #ffffff;
}
#product .product-layer2 .product-list .product-item-table table .bk-blue{
    background: #e5f3fc;
    text-align: center;
    min-width: 75px;
}

/*20230920追加*/
#product .product-layer2 .product-navi-box ul.flex-box {
  justify-content: flex-start;
}
#product .product-layer2 .product-list .product-item-table th{
  background:  #0477c2;
  border-left: 1px solid #0477c2;
  border-right: 1px solid #0477c2;
  border-left: 1px solid #0477c2;
  border-right: 1px solid #ffffff;
  text-align: center;
  color: #ffffff;
}
#product .product-layer2 .product-list .product-item-table th:last-child{
  border-right: 1px solid #0477c2;
}

/*20250624追加*/
#product .product-layer2 .image-box{
	width:100%;	
    	  max-width: 383px;
	text-align: center;
	margin:20px auto 0;
}

#product .product-layer2 .lead-img{
	width:100%;	
	text-align: center;
	margin:0 auto;
    }
#product .product-layer2 .lead-img img{
	max-width: 200px;
    width: auto;
}


/*ここから旧CSS　必要なければ消去*/
/*#product .product-layer2 .product-list .box{
  padding: 30px 0;
  border-bottom: 2px solid #eee;
}
#product .product-layer2 .product-list .box:last-of-type{
  margin-bottom: 0;
}
#product .product-layer2 .product-list .img{
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}
#product .product-layer2 .product-list .text-box {
  width: 100%;
}

#product .product-layer2 .product-list .sub-ttl {
  color: #999;
}
#product .product-layer2 .product-list .text{
  margin: 1.0em 0;
}*/
/*ここまで旧CSS　必要なければ消去*/


/*------------------------------
第三階層 .product-layer3
------------------------------*/
#product .product-layer3 .box01{
  margin-bottom: 25px;
}
#product .product-layer3 .box01 .img{
  width: 100%;
  margin-bottom: 25px;
}
#product .product-layer3 .box01 h4 {
  margin: 0;
}
#product .product-layer3 .box01 .sub-ttl {
  color: #999;
  margin-bottom: 1em;
}
#product .product-layer3 .box02 .img{
  width: 48%;
  margin-bottom: 1em;
}
#product .product-layer3 .btn-box{
  max-width: 300px;
  margin: 10px 0 30px auto;
}

/**************************************************
* ダウンロード
#download
***************************************************/
/* .page-kv */
#download .page-kv{
  background: url("../images/download/download-kv.png") no-repeat center/cover;
}

#download .download-box .box{
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: 2px solid #eee;
}
#download .download-box .box:last-of-type{
  margin-bottom: 0;
}
#download .download-box .imgbox{
  width: 100%;
  max-width: 300px;
  margin: 0 auto 40px;
  position: relative;
}
#download .download-box .imgbox h3 {
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  width: 220px;
  padding: 5px 10px;
  margin: 0 auto;
  background: #336699;
  color: #fff;
  text-align: center;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
}


/**************************************************
* 私たちの取り組み
***************************************************/
/* .page-kv */
#attempt .page-kv{
  background: url("../images/attempt/kv-attempt.png") no-repeat center/cover;
}
/* .con01 */
#attempt .con01 .text-c{
	margin-bottom: 60px!important;
}
#attempt .con01 .text-box{
	text-align: center;
	margin-bottom: 20px;
}
#attempt .con01 li{
	margin-bottom: 20px;
	text-align: center;
}
#attempt .con01 li h6{
	margin: 10px 0!important;
	font-weight: bold;
}
#attempt .con01 li .txt{
	font-size:12px;
	font-size: 1.2rem;
	padding: 0 20px;
}
/* .con02 */
#attempt .con02,#attempt .con03{
	text-align: center;
}
#attempt .con02 .text-box{
	font-weight: bold;
	font-size: 20px;
	font-size: 2.0rem;
}
#attempt .con02 h5{
	font-size: 22px;
	font-size: 2.2rem;
	color: #0477c2;
	margin-top: 50px;
	margin-bottom: 10px!important;
}
#attempt .con02 .sdgs-logo{
	max-width: 600px;
	padding: 20px;
	margin: 0 auto;
}
#attempt .con02 .sdgs-icon-box ul{
	display: flex;
	flex-wrap: wrap;
}
#attempt .con02 .sdgs-icon-box ul li{
	width:calc(100%/3 - 10px) ;
	margin: 5px;
}
#attempt .con02 .sdgs-text li{
	text-align: left;
	margin-left: 1em;
	text-indent: -1em;
	font-size:18px;
	font-size:1.8rem;
}

/* .con03 */
#attempt .con03-04{
  margin-top: 0px;
  padding-bottom: 0px;
}
#attempt .con03 h5{
	font-size: 22px;
	font-size: 2.2rem;
	color: #0477c2;
}
#attempt .con03 .mgntop30{
	margin-top: 30px;
}
#attempt .con03 .box{
	margin:20px 0 0 0;
	background: #ffffff;
	border-radius: 10px;
	padding: 30px 20px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.25);
}
#attempt .con03 .box .img {
	margin-bottom: 30px;
}
#attempt .con03 .box ul{
	display: flex;
	justify-content:center;
	margin-bottom: 30px;
}
#attempt .con03 .box ul li{
	width:calc(100%/3 - 8px);
	margin: 0 4px;
}
#attempt .con03 .box h6{
	font-size: 20px;
	font-size: 2.0rem;
	margin-bottom: 5px!important;
}
#attempt .con03 .box{
	position: relative;
}
/* .con04 */
#attempt .con4{
	padding-bottom: 120px;
}

/*.page-subnav */
#attempt .page-subnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  padding-bottom: 25px;
}
#attempt .page-subnav li {
  width: 32%;
}
#attempt .page-subnav li a{
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px 0;
  background: #a3d6fa;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  position: relative;
}
#attempt .page-subnav li.current a{
  background: #336699;
}
/* .news-list */
#attempt .news-list{
  margin-bottom: 20px;
}
#attempt .news-list li{
  background: #fff;
}
#attempt .news-list li>a{
  width: 100%;
  height: auto;
  padding: 10px ;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#attempt .news-list li:nth-child(odd)>a{
  background: #eee;
}
#attempt .news-list li>a:hover{
  background: #e4eff6;
}
#attempt .news-list .time{
  margin-right: 15px;
}
#attempt .news-list .cat {
  padding: 3px 8px;
  color: #0477c2;
  margin-right: 10px;
}
#attempt .news-list .time-cat,
#attempt .news-list .title{
  width: 100%;
}
#attempt .news-list .title a:hover{
  text-decoration: underline;
  opacity: 0.7;
}






/**************************************************
* 導入事例
**************************************************/
/* .page-kv */
#casestudy .page-kv{
  background: url(../images/casestudy/kv-casestudy.png) no-repeat center/cover;
}
/*------------------------------
 一覧
------------------------------*/
/* .top-list */
#casestudy .top-list li{
  width: 48%;
  margin: 0 0 10px;
}
#casestudy .top-list .text-box{
  width: 100%;
  margin: 0 auto;
  padding: 0 10px 10px;
  background: #fff;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
  position: relative;
}
#casestudy .top-list .cat{
  display: inline-block;
  padding: 4px 10px;
  background: #336699;
  font-size: 1.2rem;
  color: #fff;
  position: relative;
  top: -15px;
}
#casestudy .top-list .title{
  margin-bottom: 1em;
}
/* .case-list */
#casestudy .case-list li{
  width: 100%;
  background: #fff;
  margin-bottom: 10px;
}
#casestudy .case-list li>a{
  width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#casestudy .case-list li:nth-child(odd)>a{
  background: #eee;
}
#casestudy .case-list li>a:hover{
  background: #e4eff6;
}
#casestudy .case-list .cat {
  width: 100%;
  padding: 4px 10px;
  background: #336699;
  color: #fff;
}
#casestudy .case-list .title{
  width: 100%;
  padding: 10px;
  margin-bottom: 0;
}


/*------------------------------
詳細ページ
------------------------------*/
#casestudy .casestudy-content {
  padding-bottom: 20px;
  border-bottom: 1px solid #336699;
}
#casestudy .casestudy-text p {
  margin: 1em 0;
}
#casestudy .casestudy-link{
  background: #e4eff6;
  padding: 10px;
  margin-top: 20px;
}
#casestudy .casestudy-link .ttl{
  font-weight: bold;
}
/**************************************************
* 採用情報
**************************************************/
#contents > .page {
  padding-bottom: 0;
}
/* .page-kv */
#recruit .page-kv{
  background: url(../images/recruit/kv-recruit.png) no-repeat center/cover;
}
/* .con01 */
#recruit .con01 .wrap-top{
 text-align: center!important;
}
#recruit .con01 .event {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
}
#recruit .con01 .event li{
  width: 100%;
}
#recruit .con01 .event li p{
  margin: 10px 0;
}
/* .con02 */
#recruit .con02 .tanto-box{
  margin-bottom: 25px;
}
#recruit .con02 .tanto-box p{
  margin-bottom: 1em;
}

/* .con03 */
#recruit .con03-04{
  margin-top: 60px;
  padding-bottom: 120px;
}
#recruit .number-box li{
  width: calc(100% - 20px);
  padding: 25px 15px 25px 25px;
  margin: 20px 0 20px auto;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
  position: relative;
}
#recruit .number-box .number{
  position: absolute;
  top: -20px;
  left: -20px;
}

/* .con04 */
#recruit .con04 .rct-box{
  padding: 15px;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
}
#recruit .con04 .rct-box .box{
  margin: 25px 0;
}
#recruit .con04 h3{
  padding: 10px;
  background: #a3d6fa;
  text-align: center;
  color: #0477c2;
}
#recruit .con04 h4{
  padding: 10px;
  border: 1px solid #0477c2;
}
#recruit .con04 .rct-box .dl-box {
  width: 100%;
}
#recruit .con04 .rct-box .dl-box dl:nth-of-type(2n) {
  background: #eee;
}
#recruit .con04 .rct-box .dl-box dt{
  width: 100%;
  padding: 10px 10px 0 10px;
  color: #0477c2;
}
#recruit .con04 .rct-box .dl-box dd{
  width: 100%;
  padding: 0 10px 10px 10px;
}
#recruit .con04 .rct-box .rct-btn .btn-box {
  margin: 10px;
}

/**************************************************
* 募集要項 #requirements
**************************************************/
/* .page-kv */
#requirements .page-kv{
  background: url(../images/recruit/kv-recruit.png) no-repeat center/cover;
}
#requirements .con01 .text-box{
	text-align: center!important;
	margin-bottom: 30px;
}
#requirements .con01 h3{
	text-align: center;
	color: #0477c2;
	font-size: 20px;
	font-size: 2.0rem;
}
#requirements .con01 ul li{
	justify-content:center;
	margin-bottom: 20px;
}
#requirements .con01 ul li .num{
	width: 50px;
	height: 50px;
	text-align: center;
    line-height: 50px;
    background: #0477c2;
    color: #fff;
    border-top-right-radius: 10px;
    border-bottom-left-radius: 10px;
	margin-right: 10px;
	font-size: 2.0rem;
}
#requirements .con01 ul li .text{
	width: 60%;
	min-width: 260px;
	line-height: 50px;
	text-align: center;
	background: #e4eff6;
	border: 1px solid #0477c2;
	color: #0477c2;
}
#requirements .con02 .recruitment-box{
  border-radius: 15px;
  background: #fff;
  box-shadow: 0px 2px 10px rgb(0 0 0 / 20%);
  padding: 30px 20px;
  margin-bottom: 30px;
}
#requirements .con02 .recruitment-box h3{
	background: #a3d6fa;
	color: #0477c2;
	text-align: center;
	padding: 20px 0;
}
#requirements .con02 .recruitment-box dl{
	width: 95%;
	margin: 0 auto;
	padding: 10px;
}
#requirements .con02 .recruitment-box dl:nth-child(even){
	background:#eeeeee;	
}

#requirements .con02 .recruitment-box dt{
	color: #0477c2;
}
#requirements .con02 .recruitment-box .btn-box{
	margin-top: 20px;
}
#requirements .con02 .recruitment-box .num{
	counter-reset: listnum;
	text-indent: 10px;
}
#requirements .con02 .recruitment-box .num li:before{
	counter-increment: listnum;
	content: counter(listnum);
	content: counter(listnum) "."; 
}

/**************************************************
* 応募フォーム #recruit-form
**************************************************/
/* .page-kv */
#recruit-form .page-kv{
  background: url(../images/recruit/kv-recruit.png) no-repeat center/cover;
}



/**************************************************
* 個人情報保護方針
***************************************************/
/* .page-kv */
#privacy .page-kv{
  background: url(../images/company/kv-company.png) no-repeat center/cover;
}
#privacy .con h4 {
 margin: 1.5em 0 0.5em;
  font-weight: bold;
}
/**************************************************
* サイトマップ
***************************************************/
#sitemap .page-kv{
  background: url(../images/company/kv-company.png) no-repeat center/cover;
}
#sitemap .con01 ul li{
	margin-bottom: 10px;
}
#sitemap .con01 ul li.map_child{
    text-indent: 30px;
}
#sitemap .con01 ul li:before{
content: ">";
    margin-right: 5px;
    color: #0477c2;
}

/**************************************************
* 404
***************************************************/
#error .page-kv{
  background: url(../images/error/kv-error.png) no-repeat center/cover;
}
#error p{
  text-align: center;
}
#error .btn-box{
  margin-top: 25px;
}

/**************************************************
* WP投稿共通 ※変更不可
***************************************************/
/* 一覧ページャー */
.tablenav {
  margin: 50px auto;
  text-align:center;
  font-size: 1.4rem;
}
.tablenav a.page-numbers, 
.tablenav .current {
  padding: 5px 8px;
  border: 1px solid #336699;
  border-radius: 4px;
  background: #336699;
  text-decoration:none;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
}
.tablenav a.page-numbers:hover,
.tablenav .prev.page-numbers:hover ,
.tablenav .next.page-numbers:hover{
  opacity: 0.7;
}
.tablenav .current {
  background-color: #fff;
  color: #336699;
}
.tablenav a.page-numbers.next, 
.tablenav a.page-numbers.prev {
  border: none;
  background: #fff;
  color: #336699;
  font-size: 1.4rem;
  
}
/* 詳細ページャー */
.pagenav{
  width: 100%;
  margin: 50px auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.pagenav .prev a,
.pagenav .next a{
  display: block;
  width: 80px;
  text-align: center;
  font-weight: 600;
}
.pagenav .next a:link,
.pagenav .next a:visited,
.pagenav .prev a:link, 
.pagenav .prev a:visited {
  color: #336699;
}
.pagenav .next a:hover,
.pagenav .next a:active,
.pagenav .prev a:hover,
.pagenav .prev a:active {
  opacity: 0.7;
}
.pagenav .backbtn a{
  margin: 0 5px;
  padding: 5px 10px;
  border: 1px solid #336699;
  border-radius: 4px;
  background: #336699;
  text-decoration:none;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
}

/**************************************************
* お知らせ
***************************************************/
/*------------------------------
 一覧
------------------------------*/
/* .page-kv */
#news .page-kv{
  background: url(../images/news/kv-news.png) no-repeat center/cover;
}
/*.page-subnav */
#news .page-subnav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  padding-bottom: 25px;
}
#news .page-subnav li {
  width: 24%;
}
#news .page-subnav li a{
  display: block;
  width: 100%;
  height: 100%;
  padding: 10px 0;
  background: #a3d6fa;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  position: relative;
}
#news .page-subnav li.current a{
  background: #336699;
}
/* .news-list */
#news .news-list{
  margin-bottom: 20px;
}
#news .news-list li{
  background: #fff;
}
#news .news-list li>a{
  width: 100%;
  height: auto;
  padding: 10px ;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#news .news-list li:nth-child(odd)>a{
  background: #eee;
}
#news .news-list li>a:hover{
  background: #e4eff6;
}
#news .news-list .time{
  margin-right: 15px;
}
#news .news-list .cat {
  padding: 3px 8px;
  color: #0477c2;
  margin-right: 10px;
}
#news .news-list .time-cat,
#news .news-list .title{
  width: 100%;
}
#news .news-list .title a:hover{
  text-decoration: underline;
  opacity: 0.7;
}

/*------------------------------
詳細ページ
------------------------------*/
#news .news-content {
  padding-bottom: 20px;
  border-bottom: 1px solid #336699;
}
#news .news-content .news-ttl {
  margin: 5px 0 25px;
  padding-bottom: 20px;
  border-bottom: 3px double #0eaf93;
}
#news .news-content .news-thumbnail img{
  display:block;
  width: 100%;
  max-width: 800px;
  height: auto;
  margin: 15px auto;
}
#news .news-content .news-text img{
  display:block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 15px auto;
}


/**************************************************
* お問い合わせ
***************************************************/
/* .page-kv */
#contact .page-kv{
  background: url(../images/contact/kv-contact.png) no-repeat center/cover;
}
#contact .tel-area.flex-box{
  width: 100%;
  max-width: 500px;
  background: #e4eff6;
  margin: 0 auto 40px;
  padding: 20px 10px;
  justify-content: center;
}
#contact .tel-area .img{
  width: 59px;
  height: auto;
  margin-right: 15px;
}
#contact .tel-area .tel,
#contact .tel-area .tel a{
  font-size: 2.2rem;
  font-weight: bold;
  color: #336699;
  line-height: 1.3;
}
/*------------------------------
MW WP Form 共通
------------------------------*/
/*inputフォーカス時の影やborderを消す 必須*/
#mwwpform input:focus,
#mwwpform textarea:focus,
#mwwpform button[type="submit"]:focus{
  outline: 0;
  border: 1px solid #c0182a;
}
/*label影やborderを消す 必須*/
#mwwpform label[type=checkbox] {
  padding: 0!important;
  border: 0!important;
  background-color: #fff!important;
  box-shadow: none!important;
}
/*input placeholderの色を変える 必須*/
#mwwpform input::placeholder,
#mwwpform input:-ms-input-placeholder,
#mwwpform input::-ms-input-placeholder,
#mwwpform textarea::placeholder,
#mwwpform textarea:-ms-input-placeholder,
#mwwpform textarea::-ms-input-placeholder {
  color: #555!important;
}
/*iosフォーカス防止*/
#mwwpform input[type=text],
#mwwpform input[type=tel],
#mwwpform input[type=email],
#mwwpform select,
#mwwpform textarea {
  font-size: 14px;
  line-height: 1.8;
}
/*レスポンシブ*/
#mwwpform option,
#mwwpform textarea,
#mwwpform input[type=text],
#mwwpform input[type=email],
#mwwpform input[type=search],
#mwwpform input[type=url] {
  width: 100%;
  padding: 3px 5px;
  font-size: 14px;
}
#mwwpform .mwform-tel-field input[type=text],
#mwwpform .mwform-zip-field input[type=text] {
  width: 80px;
}
/*.mwform-checkbox-field*/
#mwwpform .mwform-checkbox-field.horizontal-item {
  display: block;
  width: 100%;
  margin: 10px 0;
  font-size: 16px;
  font-size: 1.6rem;
}
#mwwpform .mwform-checkbox-field input[type=checkbox] {
  width: 18px;
  height: 18px;
  vertical-align: top;
}
#mwwpform dl .mwform-checkbox-field-text{
  display: inline-block;
  width: calc(100% - 30px);
}
#mwwpform .mwform-checkbox-field input, 
#mwwpform .mwform-radio-field input {
  margin-right: 0px;
}
/*.mw_wp_form .error*/
.mw_wp_form .error{
  margin-top: 5px!important;
  display: block!important;
  font-size: 14px!important;
  color: #dc6363!important;
  font-weight: bold!important;
}
/*------------------------------
MW WP Form
------------------------------*/
#mwwpform {
  width: 100%;
}
#mwwpform dl {
  width: 100%;
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}
#mwwpform dl:nth-of-type(1) {
  border-top: 1px solid #ccc;
}
#mwwpform dl dt{
  width: 100%;
  font-weight: normal;
  padding: 5px 0;
}
#mwwpform dl dd{
  width: 100%;
  padding: 5px 0;
}
#mwwpform .note{
  font-size: 14px;
  font-size: 1.4rem;
  color: #007cba;
}
/*必須*/
#mwwpform dl .required {
  margin: 0 0 0 10px;
  padding: 2px 5px;
  background: #e50316;
  border-radius: 0px;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: bold;
}
/*プライバシー・ポリシー同意*/
#mwwpform .pp{
  padding: 15px 0;
}
/*btn-submit*/
#mwwpform .btn-submit input {
  display: block;
  background: #336699;
  width: 250px;
  height: 40px;
  line-height: 40px;
  margin: 20px auto 0;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  transition: all 0.4s ease;
  font-size: 14px;
  font-size: 1.4rem;
}
#mwwpform .btn-submit input:visited,
#mwwpform .btn-submit input:hover,
#mwwpform .btn-submit input:active{
  opacity: 0.7;
  border: none;
}
/*btn-back*/
#mwwpform .btn-back input {
  display: block;
  background: #999;
  width: 250px;
  height: 40px;
  line-height: 40px;
  margin: 15px auto 0;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  transition: all 0.4s ease;
 font-size: 14px;
}
#mwwpform .btn-back input:hover {
  opacity: 0.7;
}

/*------------------------------
MW WP Form 完了画面
------------------------------*/
.mw_wp_form_complete #mwwpform h4,
.mw_wp_form_complete #mwwpform p{
  text-align: center;
}
.mw_wp_form_complete #mwwpform .btn-box{
  margin: 50px auto 0;
}
.mw_wp_form_complete #mwwpform .btn-box a{
  display: block;
  background: #336699;
  width: 250px;
  height: 40px;
  line-height: 22px;
  margin: 20px auto 0;
  border-radius: 10px;
  text-align: center;
  color: #fff;
  transition: all 0.4s ease;
  font-size: 14px;
  font-size: 1.4rem;
}