@charset "utf-8";

/*
YUI 3.18.1 (build f7e7bcb)
Copyright 2014 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}legend{color:#000}#yui3-css-stamp.cssreset{display:none}


/* reset
------------------------------------------------------------------- */
*, *:before, *:after {
    box-sizing: border-box;
}
img {
    border: 0; line-height: 0; vertical-align: bottom;
}


/* 全体構造
------------------------------------------------------------------- */
html {
	font-size: 62.5%; /* font-size 1em = 10px on default browser settings */
	color: #000;
	background: #FFFFFF;
	font-family: Helvetica Neue, Helvetica, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
}

.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.wrapper {
	max-width: 1000px;
	margin: 0 auto;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.8;
}

.container {
	margin-bottom: 50px;
}


@media screen and (max-width:1000px) {
.wrapper  {
	margin-left: 4.5%;
	margin-right: 4.5%;
}
}

.wrapper a {
	color: #000;
	text-decoration: none;

}

header a,
footer a,
#home .wrapper a{
	color: #000;
	text-decoration: none;
}

@media screen and (min-width:1001px) {
header a,
footer a,
#home .wrapper a{
	transition: 0.5s ;
}
}

header a:hover,
footer a:hover,
.container a:hover {
	opacity:0.7;
}

img {
	max-width:100%;
	height:auto;
}

/* 2カラム*/
div.column_2 {
	width: 48%;
	float:left;
	margin-right:4%;
}

.column_2_container div:nth-child(even) {
	margin-right: 0%;
}

/* 2カラム ページ*/
.column_2_txt {
	width: 55%;
}

.column_2_image {
	width: 40%;
	text-align: center;
}

.column_2_rbox{
	float: right;
}

.column_2_lbox{
	float: left;
	margin-right: 5%;
}


/* 3カラム*/
div.column_3 {
	width: 31%;
	float:left;
	margin-right:3.5%;
	margin-bottom:4%;
}

div.column_3 img {
	width: 100%;
}

@media screen and (min-width: 641px) {
.column_3_container div:nth-child(3n) {
	margin-right: 0%;
}
}


/* 3カラム flexbox*/
.column_3_container_fx{
  display: -webkit-box; /*Android4.3*/
  display: -moz-box;    /*Firefox21*/
  display: -ms-flexbox; /*IE10*/
  display: -webkit-flex; /*PC-Safari,iOS8.4*/
  display: flex
}
div.column_3_fx {
	width: 31%;
	margin-right:3.5%;
}

div.column_3_fx img {
	width: 100%;
}

.column_3_container_fx div:nth-child(3n) {
	margin-right: 0%;
}

@media screen and (max-width: 640px) {
.column_3_container_fx{
	display: block;
}
	
div.column_2,
.column_2_txt,
.column_2_image,
.column_2_rbox,
.column_2_rbox,
.column_3_fx {
	width: 100% !important;
	margin-right: 0% !important;
	float: none;
	margin-bottom:4%;
}
	
div.column_3{
	width: 48%;
	margin-right: 4%;
}
	
	.work_cap {
		font-size: 13px;
	}
	
div.column_3:nth-child(even) {
	margin-right: 0;
}
}


@media screen and (max-width:1000px) {
}

@media screen and (max-width:767px)  {
}

@media screen and (max-width: 640px) {
}

@media screen and (max-width: 480px) {
}

/* common
------------------------------------------------------------------- */
@media screen and (min-width: 481px) {
.display_sp {
	display:none;
}
}

@media screen and (max-width: 480px) {
.display_pc {
	display:none;
}
}

.center {
	text-align:center;
}

.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

/* タイトル・パーツ
------------------------------------------------------------------- */
.page_title {
	width: 100%;
	background-color: #0058B4;
	margin-bottom: 50px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 790px center;
}

@media screen and (max-width: 2001px) {
.page_title {
	background-position: 500px center;
}
}

@media screen and (max-width: 1001px) {
.page_title {
	background-position: 289px center;
}
}

.page_title h2 {
	font-size: 2.6rem;
	width: 290px;
	color: #FFFFFF;
	padding: 70px 0;
	background-color: #0058B4;
}

@media screen and (max-width: 480px) {
.page_title h2 {
	font-size: 2rem;
	width: 100%;
	text-align: center;
	padding: 30px 0;
}
}

.page_title_line {
	font-size: 2.2rem;
	color: #0058B4;
	position: relative;
	margin-bottom: 20px;
}

.page_title_line:after {
content: "";
position: absolute;
left: 0;
bottom: -3px;
width: 100%;
height: 5px;
background: -webkit-repeating-linear-gradient(-45deg, #266cb6, #266cb6 2px, #85add6 2px, #85add6 4px);
background: repeating-linear-gradient(-45deg, #266cb6, #266cb6 2px, #85add6 2px, #85add6 4px);
}

.page_title_sideborder {
	font-size: 1.8rem;
	color: #0058B4;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.page_title_sideborder:after {
    border-top: 3px solid #266cb6;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
}

.page_title_sideborder:after {
    margin-left: 1em;
}


.page_title_box {
	font-size: 1.6rem;
	background-color: #dce9f7;
	padding: 5px 10px;
	border-left: solid 5px #0058B4;
	margin-bottom: 20px;
}


/* 定義リスト下線つき*/
.list_border_container {
	padding: 2% 5%;
}

.list_border {
	width: 100%;
	position:relative;
}
.list_border dt {
	position: absolute;
	left: 0;
	width: 10em;
	padding: 20px 0px;
}

.list_border dd {
	padding: 20px 0px 20px 10em;
	border-bottom: 1px solid #BCBCBC;
}


@media screen and (max-width: 480px) {
	.list_border dt {
		font-weight: bold;
		position: static;
		display: block;
		width: 100%;
		padding: 15px 0px 5px;
	}
	.list_border dd {
	padding: 0 0px 15px 0;
}
}

/* リストスタイル付き*/
.list_disc li {
	list-style: disc;
	margin-left: 1.5em;
}

/* リンクボタン*/
.linkbutton_pink a,
.linkbutton_green a {
	font-size: 14px;
	font-size: 1.4rem;
	color: #fff;
	text-decoration: none;
	text-align: center;
	width: 190px;
	margin: 0 auto;
	padding: 10px 0;
	border-radius: 20px;
	display: block;
}

.linkbutton_pink a {
	background-color: #f67bb3;
}

.linkbutton_green a {
	background-color: #80c242;
}

.linkbutton_arrow a {
	text-align: center;
	padding: 10px 30px;
	border-radius: 20px;
	display: inline-block;
	border: 1px solid #E6E3CF;
	background-color: #FFFFFF;
}

.page_lead {
	font-size: 2.2rem;
	margin-bottom: 20px;
}

.page_lead_txt {
	font-size: 1.6rem;
}


/* header
------------------------------------------------------------------- */
header {
	font-size: 16px;
	font-size: 1.6rem;
	position: relative;
	width: 100%;
}

@media only screen and (min-width:768px) {
	header {
		border-top: 5px solid #0058b4;
		box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.77);
		-webkit-box-shadow: 0px 0px 5px 1px rgba(0,0,0,0.77);
		z-index: 1000;
	}
}

header .header_container {
	position:relative;
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 25px;
}

header h1 {
	width: 236px;
	padding: 25px 0;
}

header ul.g_navi {
  display: table;
  table-layout: fixed;
  text-align: center;
  width: 100%;
  border-left: 1px solid #ACACAC;
}

header ul.g_navi li {
	font-weight: 600;
	line-height: 1;
	display: table-cell;
	vertical-align: middle;
	padding: 5px 0;
	border-right: 1px solid #ACACAC;
}

.header_form a {
	color: #FFFFFF;
}

@media only screen and (min-width:768px) {
header .header_form {
	position: absolute;
	right: 0px;
	top: 20px;
}
	
.header_form a {
	line-height: 1;
	padding: 10px 20px;
	display: inline-block;
	background-color: #e01b1b;
	border-radius: 20px;
}	
	
header .header_tel {
	position: absolute;
	right: 230px;
	top: 22px;
	font-size: 2.6rem;
	font-weight: 600;
}

header .header_tel a:before {
	content: '';
	display: inline-block;
	width: 35px;
	height: 30px;
	background-image: url(../images/freeedial.svg);
	background-size: contain;
	vertical-align: middle;
	background-repeat: no-repeat;
}
}

/* ナビ1000px以下 */

@media only screen and (max-width:1040px) {
header {
	font-size: 14px;
	font-size: 1.4rem;
}
	
header .header_container {
	margin-left: 20px;
	margin-right: 20px;
}
}

/* ナビ767px以下 */
@media only screen and (max-width:767px) {
header h1 {
	width: 206px;
	float:none;
	position: absolute;
	top: 43px;
left: 0;
right: 0;
margin: auto;
}
	
header .header_container {
	margin-left: 0;
	margin-right: 0;
}
	
header ul.g_navi {
	display:none;
 }	
	
header {
	height:116px;
	border-top: none;
}
.navi_sp_container {
	display: table;
	width: 100%;
	height: 54px;
	position: fixed;
	z-index: 5000;
}
.header_tel,
.header_form,
.header_trigger {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}
	
.header_tel{
	background-color: #E8EEF4;
}
.header_form{
	background-color: #e01b1b;
}
.header_trigger{
	width: 80px;
	background-color: #414a54;
}
			
.header_tel a,
.header_form a{
	display: block;
	margin-left: 24px;
}	
	
.header_tel a:before,
.header_form a:before {
	content: '';
	width: 24px;
	height: 24px;
	vertical-align: middle;
	position: absolute;
	top: 50%;
	margin-top: -12px;
	margin-left:-30px;
}
.header_tel a:before {
	background-image: url(../images/freeedial.svg);
	background-repeat: no-repeat;
}
.header_form a:before {
	background-image: url(../images/mail.svg);
	background-repeat: no-repeat;
}
}

@media only screen and (max-width:480px) {
.header_trigger{
	width: 60px;
}	
	
.navi_sp_container {
		font-size: 1.3rem;
		line-height: 1.2
}

.header_tel p,
.header_form p {
	text-align: left;
	display: inline-block
	}

}


/* footer
------------------------------------------------------------------- */
footer {
	background-color:#eaeef1;
}

footer .wrapper{
	padding: 20px 0;
}

.footer_logo {
	width: 236px;
	float: left;
}

.footer_add {
	font-size: 1.4rem;
	margin-left: 260px;
}

@media screen and (max-width: 640px) {
	.footer_logo {
		padding-bottom: 10px;
	}
	
	.footer_logo,
	.footer_add {
		float: none;
		margin: 0 auto;
		text-align: center;
	}
}


.footer_copyright {
	color:#FFFFFF;
	font-size: 12px;
	font-size: 1.2rem;
	text-align:center;
	padding: 15px 0;
	background-color: #414a54;
}



/*メニュー
------------------------------------------------------------------- */

/* ドロワメニュー */
.l-drawer__trigger000 {
	position: fixed;
	right: 15px;
	z-index: 1900;
	top: 15px;
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease; }


@media only screen and (min-width: 768px) {
    .l-drawer__trigger {
      display: none; } 
}
	  
.l-drawer__trigger .bars {
/*	background: #0c8431;*/
	position: relative;
	width: 40px;
	height: 40px;
	margin:0 auto;
	cursor: pointer;
	overflow: hidden;
	border-radius: 5px;
	}
    .l-drawer__trigger .bars span {
      position: absolute;
      left: 5px;
      display: block;
      width: 30px;
      height: 3px;
      background-color: #fff;
      -webkit-transition: 0.3s ease;
      -moz-transition: 0.3s ease;
      -ms-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease; }
      .l-drawer__trigger .bars span:nth-of-type(1) {
        top: 10px; }
      .l-drawer__trigger .bars span:nth-of-type(2) {
        top: 19px; }
      .l-drawer__trigger .bars span:nth-of-type(3) {
        top: 28px; }

.l-drawer__overlay {
  -webkit-transition: 0.3s ease;
  -moz-transition: 0.3s ease;
  -ms-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease; }

.l-drawer__content {
  position: fixed;
  top: 0;
  right: -280px;
  width: 280px;
  height: 100%;
  padding-top:80px;
  background: #fff;
  z-index: 1800;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: all 0.3s cubic-bezier(0.75, 0, 0, 0.75);
  -moz-transition: all 0.3s cubic-bezier(0.75, 0, 0, 0.75);
  -o-transition: all 0.3s cubic-bezier(0.75, 0, 0, 0.75);
  transition: all 0.3s cubic-bezier(0.75, 0, 0, 0.75);
  /* easeInOutExpo */
  -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0, 0.75);
  -moz-transition-timing-function: cubic-bezier(0.75, 0, 0, 0.75);
  -o-transition-timing-function: cubic-bezier(0.75, 0, 0, 0.75);
  transition-timing-function: cubic-bezier(0.75, 0, 0, 0.75);
  /* easeInOutExpo */ }
  .l-drawer__content::-webkit-scrollbar {
    display: none; }
  .l-drawer__content-inner {
    padding: 15px;
    width: 100%;
    height: 100%; }
    .l-drawer__content-inner .drawer__navi {
      font-weight: bold; }
    .l-drawer__content-inner .drawer__subnavi {
      position: relative;
      margin-bottom: 10px;
      padding: 10px 0;
      font-weight: normal;
      border-bottom: 1px solid #ffffff; }
      .l-drawer__content-inner .drawer__subnavi:after {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 0px;
        border-bottom: 1px solid #999999; }
      .l-drawer__content-inner .drawer__subnavi a {
        position: relative;
        display: block;
        padding-left: 8px;
        line-height: 2; }
        .l-drawer__content-inner .drawer__subnavi a:after {
          content: '';
          position: absolute;
          left: 0;
          top: 50%;
          height: 0px;
          border-top: 3px solid transparent;
          border-left: 3px solid #000000;
          border-bottom: 3px solid transparent;
          transform: translate3d(0, -50%, 0); }

.js-drawer--opened .l-drawer__trigger .bars span:nth-of-type(1) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 18px; }

.js-drawer--opened .l-drawer__trigger .bars span:nth-of-type(2) {
  transform: translate(100px, 0); }

.js-drawer--opened .l-drawer__trigger .bars span:nth-of-type(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 18px; }

.js-drawer--opened .l-drawer__overlay {
  cursor: pointer;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: .5;
  z-index: 1700; }

.js-drawer--opened .l-drawer__content {
  right: 0; }
  
  .l-drawer__content ul{
	  font-size:1.5rem;
	 /* margin-top:20px;*/
 }
 
 .l-drawer__content ul li{
	 padding:0 10px 20px 20px;
 }
 
 .l-drawer__content a {
	 text-decoration:none;
	 color:#000;
 }


/*戻る
------------------------------------------------------------------- */

/* ページトップへ戻る */
#js-back-to-top {
  margin: 0;
  padding: 0;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 500; }

.c-back-to-top {
	margin: 0;
	padding: 0;
	display: block;
	background-color: rgba(0,88,180,0.87);
 }
  
#js-back-to-top a {
	text-decoration: none;
	width: 50px;
	height: 50px;
	border-radius: 5px;
	padding: 0;
	display: block;
	color: #fff;
	background-image: url(../images/pagetop.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 22px auto;
}


