@charset "utf-8";

/* =====================================================================

	page common
	
======================================================================== */

/* common
=========================================================================================== */

/* page title =============================================================== */
  
  .c-pageTitle h1 {
    text-align: center;
    }
  @media print, screen and (min-width: 768px) {
    .c-pageTitle h1 {
      height: 462px;
      }
    .c-pageTitle-en {
      display: block;
      font-size: 10.0rem;
      }
    .c-pageTitle-jp {
      font-size: 4.0rem;
      }
  }
    @media screen and (min-width:768px) and (max-width:1150px){
      .c-pageTitle h1 {
        padding-top: 100px;
        }
      .c-pageTitle-en {
        font-size: 8.0rem;
        }
      .c-pageTitle-jp {
        font-size: 3.0rem;
        }
    }
  @media (max-width: 767px) {
    .c-pageTitle h1 {
      height: 200px;
      padding-top: 55px;
      }
    .c-pageTitle-en {
      display: block;
      font-size: 3.0rem;
      }
    .c-pageTitle-jp {
      font-size: 1.8rem;
      }
  }

  /* background */
  @media print, screen and (min-width: 768px) {
    .c-pageTitle.c-pageContact,
    .c-pageTitle.c-pageRecruit,
    .c-pageTitle.c-pageCompany {
      background: url("../img/page/bg_page.jpg") no-repeat center center;
      background-size: cover;
      }
    .c-pageTitle.c-pageBusiness {
      background: url("../img/page/bg_business.jpg") no-repeat center center;
      background-size: cover;
      }
    .c-pageTitle.c-pageWorks {
      background: url("../img/page/bg_works.jpg") no-repeat center center;
      background-size: cover;
      }
  }
  @media (max-width: 767px) {
    .c-pageTitle.c-pageContact,
    .c-pageTitle.c-pageRecruit,
    .c-pageTitle.c-pageCompany {
      background: url("../img/page/bg_page-sp.jpg") no-repeat center center;
      background-size: cover;
      }
    .c-pageTitle.c-pageBusiness {
      background: url("../img/page/bg_business-sp.jpg") no-repeat center center;
      background-size: cover;
      }
    .c-pageTitle.c-pageWorks {
      background: url("../img/page/bg_works-sp.jpg") no-repeat center center;
      background-size: cover;
      }
  }




/* pankuzu =============================================================== */

  .c-pankuzu {
    background: -moz-linear-gradient(left, #e3e3e3 0%, #e3e3e3 50%, #1e458f 50%, #1e458f 100%);
    background: -webkit-linear-gradient(left, #CAe3e3e3CACA 0%, #e3e3e3 50%, #1e458f 50%, #1e458f 100%);
    background: linear-gradient(to right, #e3e3e3 0%, #e3e3e3 50%, #1e458f 50%, #1e458f 100%);
    font-weight: bold;
    }
    .c-pankuzu > * a {
      display: inline-block;
      height: 100%;
      width: 100%;
      }
    .c-pankuzu-home {
      display: inline-block;
      background-color: #e3e3e3;
      }
      .c-pankuzu-home a {
        color: #1e458f;
        text-decoration: none;
        }
    .c-pankuzu-page {
      display: inline-block;
      background-color: #1e458f;
      color: #fff;
      flex: 1;
      }
      .c-pankuzu-page a {
        color: #fff;
        }
    .c-pankuzu-page span {
      display: inline-block;
      height: 100%;
      }
	@media print, screen and (min-width: 768px) {
    .c-pankuzu {
      height: 50px;
      }
    .c-pankuzu-home {
      width: 90px;
      height: 50px;
      position: relative;
      }
		.c-pankuzu-home::after {
			position: absolute;
			content: '';
			top: 0;
			right: -40px;
			width: 0;
			height: 0;
			border-top: solid 25px transparent;
			border-right: solid 20px transparent;
			border-bottom: solid 25px transparent;
			border-left: solid 20px #e3e3e3;
	 		}
    .c-pankuzu-home a {
      display: block;
      width: 100%;
      height: 100%;
      color: #1e458f;
      text-decoration: none;
      }
    .c-pankuzu-home a:hover {
      color: #0071ba;
      }
    .c-pankuzu-page {
      padding-left: 50px;
      height: 50px;
      }
    .c-pankuzu-page a:hover {
      color: #fcee21;
      }
  }

	@media (max-width: 767px) {
    .c-pankuzu {
      height: 30px;
      font-size: 1.3rem;
      }
    .c-pankuzu-home {
      width: 50px;
      height: 30px;
      position: relative;
      }
		.c-pankuzu-home::after {
			position: absolute;
			content: '';
			top: 0;
			right: -30px;
			width: 0;
			height: 0;
			border-top: solid 15px transparent;
			border-right: solid 15px transparent;
			border-bottom: solid 15px transparent;
			border-left: solid 15px #e3e3e3;
	 		}
    .l-pankuzu-home a {
      display: block;
      width: 100%;
      height: 100%;
      color: #fff;
      text-decoration: none;
      }
    .c-pankuzu-page {
      padding-left: 25px;
      height: 30px;
      }
	}


/* contact bn =============================================================== */

  .c-page-contact-bn {
    position: relative;
    }
  .c-page-contact-bn > * {
    box-sizing: border-box;
    }
  .c-page-contact-bn-tel,
  .c-page-contact-bn-web {
    color: #1e458f;
    text-decoration: none;
    font-weight: bold;
    line-height: 1.4;
    }
  .c-page-contact-bn-teltxt > span,
  .c-page-contact-bn-webtxt1,
  .c-page-contact-bn-webtxt2 {
    display: block;
    }
  .c-page-contact-bn-webtxt1 {
    position: relative;
    }
  .c-page-contact-bn-webtxt1::before {
    position: absolute;
    display: block;
    content: '';
    background: url("../img/page/b_contact.png") no-repeat;
    }
	@media print, screen and (min-width: 768px) {
    .c-page-contact-bn {
      margin-top: 100px;
      margin-bottom: 180px;
      }
    .c-page-contact-bn-logo {
      width: 33%;
      height: 116px;
      background-color: #1e458f;
      }
    .c-page-contact-bn-tel {
      width: 33%;
      height: 116px;
      border-bottom: #fff solid 2px;
      border-top: #fff solid 2px;
      }
      .c-page-contact-bn-tel:hover {
        background-color: #efefef;
        border-bottom: #1e458f solid 2px;
        border-top: #1e458f solid 2px;
        }
      .c-page-contact-bn-teltxt {
        font-size: 3.4rem;
        }
      .c-page-contact-bn-teltxt > span {
        font-size: 1.8rem;
        }
      
    .c-page-contact-bn-web {
      width: 34%;
      height: 116px;
      border-left: #1e458f solid 2px;
      border-right: #1e458f solid 2px;
      border-bottom: #fff solid 2px;
      border-top: #fff solid 2px;
      font-size: 1.8rem;
      padding-left: 50px;
      }
      .c-page-contact-bn-web:hover {
        background-color: #efefef;
        border-bottom: #1e458f solid 2px;
        border-top: #1e458f solid 2px;
        }
      .c-page-contact-bn-webtxt1 {
        font-size: 3.8rem;
        }
      .c-page-contact-bn-webtxt2 {
        font-size: 1.6rem;
        margin-left: -30px;
        }
      .c-page-contact-bn-webtxt2 > span {
        padding-right: 20px;
        }
      .c-page-contact-bn-webtxt1::before {
        top: 5px;
        left: -50px;
        width: 45px;
        height: 45px;
        }
 	}
    @media screen and (min-width:768px) and (max-width:1035px){
      .c-page-contact-bn-logo {
        display: none!important;
        }
      .c-page-contact-bn-tel {
        width: 50%;
        border-left: #1e458f solid 2px;
        }
      .c-page-contact-bn-web {
        width: 50%;
        }
    }
  @media (max-width: 767px) {
    .c-page-contact-bn {
      margin-top: 60px;
      margin-bottom: 60px;
      }
    .c-page-contact-bn-logo {
      display: none!important;
      }
    .c-page-contact-bn-tel {
      margin-left: auto;
      margin-right: auto;
      width: 100%;  
      max-width: 280px;
      height: 100px;
      border: #1e458f solid 2px;
      }
      .c-page-contact-bn-teltxt {
        font-size: 2.2rem;
        }
      .c-page-contact-bn-teltxt > span {
        font-size: 1.6rem;
        }
    .c-page-contact-bn-web {
      margin-left: auto;
      margin-right: auto;
      width: 100%;  
      max-width: 280px;
      height: 100px;
      border: #1e458f solid 2px;
      padding-left: 60px;
      }
      .c-page-contact-bn-webtxt1 {
        font-size: 2.4rem;
        }
      .c-page-contact-bn-webtxt2 {
        font-size: 1.4rem;
        margin-left: -30px;
        }
      .c-page-contact-bn-webtxt2 > span {
        padding-right: 10px;
        }
      .c-page-contact-bn-webtxt2 > span img {
        width: 180px;
        height: auto;
        }
      .c-page-contact-bn-webtxt1::before {
        top: 5px;
        left: -35px;
        width: 30px;
        height: 30px;
        background-size: cover;
        }
 	}



/* =====================================================================

	事業案内（business）
	
======================================================================== */

	.p-businessPh-list {
		}
	.p-businessPh-list figcaption {
    position: relative;
		}
	.p-businessPh-list figcaption::before {
    position: absolute;
    content: '';
    background-color: #1e458f;
      left: 0;
		}
	@media print, screen and (min-width: 768px) {
    .p-businessPh-list > * {
      width: 48%;
      margin-bottom: 50px;
      }
    .p-businessPh-list figcaption {
      margin-top: 10px;
      padding-left: 80px;
      }
    .p-businessPh-list figcaption::before {
      width: 70px;
      height: 7px;
      top: 13px;
      }
 	}
  @media (max-width: 767px) {
    .p-businessPh-list > * {
      width: 90%;
      max-width: 550px;
      margin: 0 auto 30px auto;
      }
    .p-businessPh-list figcaption {
      margin-top: 8px;
      padding-left: 40px;
      }
    .p-businessPh-list figcaption::before {
      width: 30px;
      height: 6px;
      top: 10px;
      }
 	}



  /* flow */
  .p-flow {
    background-color: #efefef;
    position: relative;
    }
    .p-flow::after {
      position: absolute;
      display: block;
      content: '';
      background: url("../img/business/arrow_down.png") no-repeat;
      left: 50%;
      }
     .p-flow.p-flow8::after {
      background-image: none!important;
      }
  .p-flow dt,
  .p-flow dd{
    margin: 0;
    position: relative;
    }
  .p-flow dd{
    background-color: #fff;
    }
  .p-flowdd-step {
    position: absolute;
    display: block;
    background-color: #1e458f;
    color: #fff;
    box-sizing: border-box;
    }
  .p-flow8 .p-flowdd-step {
    background-color: #be272d;
    }
	@media print, screen and (min-width: 768px) {
    .p-flow {
      margin: 50px auto 80px auto;
      padding: 3px;
      }
      .p-flow.p-flow8 {
        margin-bottom: 0;
        }
      .p-flow::after {
        width: 44px;
        height: 43px;
        margin-left: -22px;
        bottom: -60px;
        }
    .p-flow dt {
      flex: 1;
      padding: 30px 10px 30px 170px;
      font-size: 1.8rem;
      }
    .p-flow dd {
      width: 700px;
      padding: 30px 25px;
      }
    .p-flowdd-step {
      height: 80px;
      width: 140px;
      padding-left: 10px;
      font-size: 2.4rem;
			top: -30px;
			left: -2px;
      }
		.p-flowdd-step::after {
			position: absolute;
			content: '';
			top: 0;
			right: -50px;
			width: 0;
			height: 0;
			border-top: solid 40px transparent;
			border-right: solid 25px transparent;
			border-bottom: solid 40px transparent;
			border-left: solid 25px #1e458f;
	 		}
      .p-flow8 .p-flowdd-step::after {
        border-left: solid 25px #be272d;
        }
    .p-flowdd-img {
      position: absolute;
      }
    .p-flow1 .p-flowdd-img {
      bottom: -10px;
      right: 50px;
      }
    .p-flow2 .p-flowdd-img {
      bottom: -15px;
      right: 10px;
      }
    .p-flow3 .p-flowdd-img {
      bottom: -10px;
      right: 15px;
      }
    .p-flow4 .p-flowdd-img {
      bottom: -20px;
      right: 180px;
      }
    .p-flow5 .p-flowdd-img {
      bottom: -10px;
      right: 0px;
      }
    .p-flow7 .p-flowdd-img {
      top: -30px;
      right: 10px;
      }
    .p-flow8 .p-flowdd-img {
      bottom: -10px;
      right: 30px;
      }

 	}
    @media screen and (min-width:1036px) and (max-width:1200px){
      .p-flow dt {
        padding: 70px 10px 30px 30px;
        }
    }
    @media screen and (min-width:768px) and (max-width:1035px){
      .p-flow {
        max-width: 724px;
        }
    }
  @media (max-width: 767px) {
    .p-flow {
      margin: 20px auto 50px auto;
      padding: 3px;
      }
      .p-flow.p-flow8 {
        margin-bottom: 0;
        }
      .p-flow::after {
        width: 24px;
        height: 24px;
        margin-left: -12px;
        bottom: -30px;
        background-size: cover;
        }
    .p-flow dt {
      padding: 20px 10px;
      font-size: 1.6rem;
      width: 100%;
      text-align: center;
      }
    .p-flow dd {
      padding: 20px 10px;
      width: 100%;
      }
    .p-flowdd-step {
      height: 32px;
      width: 70px;
      font-size: 1.4rem;
      padding-left: 10px;
			top: -15px;
			left: -2px;
      }
		.p-flowdd-step::after {
			position: absolute;
			content: '';
			top: 0;
			right: -24px;
			width: 0;
			height: 0;
			border-top: solid 16px transparent;
			border-right: solid 12px transparent;
			border-bottom: solid 16px transparent;
			border-left: solid 12px #1e458f;
	 		}
      .p-flow8 .p-flowdd-step::after {
        border-left: solid 12px #be272d;
        }
    .p-flowdd-img {
      display: none;
      }
 	}



/* =====================================================================

	お問合せ（contact）
	
======================================================================== */


/*--- Form --*/

.p-form select,
.p-form input,
.p-form textarea {
	border: solid 1px #ccc;
	box-shadow: none;
	}

.p-form label {
	border: none !important;
	}

.p-form input[type="text"],
.p-form input[type="email"] {
	width: 95% !important;
	padding: 7px !important;
	}
.p-form .p-pref select,
.p-form .p-zip input[type="text"] {
	max-width: 200px;
	width: 95% !important;
	padding: 7px !important;
	}
.p-form input[type="tel"] {
	padding: 7px !important;
	width: 30% !important;
	}

.p-form textarea {
	width: 95% !important;
	height: 100px !important;
	padding: 7px !important;
	}


/*確認画面*/
#mfp_phase_confirm_inner th,
#mfp_phase_confirm_inner td {
	padding: 12px !important;
	border: solid 1px #ccc !important;
	}
#mfp_phase_confirm_inner th {
	background-color: #f1f1f1 !important;
	}
#mfp_phase_confirm_inner td {
	margin-bottom: 20px !important;
	}
tr.mfp_colored {
	background-color: inherit !important;
	}
	

/*送信ボタン*/
.mfp_buttons {
	clear: both;
	margin-top: 30px;
	text-align: center;
	}
.mfp_element_submit,
.mfp_buttons button {
	clear: both;
	cursor: pointer;
	outline: none;
	padding: 15px 20px;
	font-weight: normal !important;
	font-size: 100% !important;
	margin-top: 20px !important;
	background: #1e458f !important;
	color: #fff !important;
	text-shadow: none !important;
  border: #1e458f solid 2px;
	}
	.mfp_element_submit:active,
	.mfp_buttons button a:active {
  	color: #1e458f !important;
	  background: #fff !important;
		}
		



/*エラー時の色*/
.mfp_ng {
	background-color: rgba(204,204,204,0.2) !important;
	}

/*ok時の色*/
.mfp_ok {
	background-color: rgba(255,255,255,0.9) !important;
	border-color: #ccc !important;
	color: #000 !important;
	}
body {
	overflow-x: visible !important;
	}
