@charset "UTF-8";
body {
  margin: 0;
  padding: 0;
	font-family: "Helvetica Neue",Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}
img {
	border:none;
}

a.anchor {
    display: block;
    padding-top: 70px;
    margin-top: -70px;
}

span.kigy {
  display: inline-block;
}
/*見出しH2*/
.heading01 {
	font-size: 24px;
	color:#3B3B3B;
	text-align: center;
	padding: 10px 0;
}
.heading01 span {
	display: flex;
	align-items: center;
	color: #1B2361;
	font-size: 16px;
	margin-bottom: 20px;
}
.heading01 span::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 10%;
	height: 1px;
	background-color: #1B2361;
}
@media screen and (max-width: 800px) {
	.heading01 {
		font-size: 18px;
	}
}



/*各見出し画像*/
.mds img{
width: 100%;
  height: 150px;
  object-fit: cover;
}


/*TOPページの会社概要*/
#cpy {
  width: 90%;
  margin: 0 auto;
  padding: 0 0 100px 0;
}
.cpytext {
  text-align: center;
  padding: 10px;
  font-size: 16px;
  color: #2D2D2D;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
.cpytext img {
  padding-bottom: 20px;
}
@media screen and (max-width: 800px) {
  .cpytext p {
    text-align: left;
    font-size: 13px;
    letter-spacing: 0.02em;
    line-height: 1.5;
  }
  .cpytext img {
    max-width: 100%;
    height: auto;
    padding-bottom: 10px;
  }
}
/*メインコンテンツ*/
.maintext {
  text-align: center;
  font-size: 16px;
font-weight: bold;
  color: #2D2D2D;
  letter-spacing: 0.02em;
  line-height: 1.3;
  width: 90%;
  margin: 0 auto;
}
.maintext img {
  padding-bottom: 5px;
}
@media screen and (max-width: 800px) {
  .maintext p {
    text-align: center;
    font-size: 13px;
    margin-top: 0px;
  }
  .maintext img {
    max-width: 100%;
    height: auto;
    margin-bottom: 0px;
  }
}
.section1 {
  width: 70%;
  margin: 0 auto;
  margin-bottom: 50px;
}
.section1 img {
  width: 100%;
  height: 100%;
}
.col_4 {
  width: 100%;
  display: flex;
  display: -ms-flexbox; /* IE10 */
  flex-wrap: wrap;
  -ms-flex-wrap: wrap; /* IE10 */
  justify-content: center;
  margin: auto;
}
.col_4 > div {
  width: 25%;
  padding: 0px;
}
@media screen and (max-width: 800px) {
  .col_4 > div {
    width: 50%;
  }
  .section1 {
    width: 90%;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}
/*CM用コンテンツ*/
.cm01 {
  max-width: 1000px;
  display: flex;
  align-items: center;
  margin: 0 auto;
  font-size: 15px;
  color: #2D2D2D;
  letter-spacing: 0.02em;
  line-height: 1.3;
  padding: 50px;
    /*コレ*/border-top: 1px dashed #D7D7D7;
    /*コレ*/border-bottom: 1px dashed #D7D7D7;
}
.cmtext {
  width: 100%;
  padding: 0px 0px 0px 50px;
}
.cm01 h2 {
  color: #1B2361;
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.3;
}
@media screen and (max-width: 800px) {
  .cm01 {
    display: block;
    text-align: center;
  }
  .cm01 h2 {
    text-align: left;
    font-size: 18px;
  }
  .cm01 p {
    text-align: left;
    font-size: 13px;
  }
  .cmtext {
    max-width: 100%;
    padding: 0px;
  }
  .cm01 img {
    max-width: 100%;
    height: auto;
  }
}
.ban {
    max-width: 100%;
    height: auto;
    text-align: center;
	margin: 50px;
}
.ban img {
margin: 10px;
	margin-left: auto;
}
@media screen and (max-width: 800px) {
	.ban img {
		max-width: 100%;
	    height: auto;
	}
	.ban {
		margin: 20px;
	}
}
/*ボタン*/
a.cp_btn {
  margin: 0 auto;
  display: block;
  width: 160px;
  padding: 0.8em;
  text-align: center;
  text-decoration: none;
  color: #1B2361;
  border: 2px solid #1B2361;
  border-radius: 3px;
  transition: 0.8s;
}
a.cp_btn:hover {
  background: #1B2361;
  color: #fff;
}
/*============================
header style
============================*/
#top-head {
  width: 100%;
  height: 60px;
  top: 0;
  background: #fff;
  opacity: 0.9;
  display: flex;
  position: fixed;
  z-index: 999;
}
#top-head .inner {
  float: left;
  width: 90%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/*logo style*/
.inner h1 a {
  color: #20b2aa;
  text-decoration: none;
  font-weight: bold;
}
/*nav style*/
#top-head nav ul {
  display: flex;
  list-style-type: none;
}
/*nav link style*/
#top-head nav ul li a {
  text-decoration: none;
  padding: 16px;
  color: #404040;
}
#top-head nav ul li a:hover {
  color: #C5C5C5;
}
/*hamburger menu style*/
#nav_toggle {
  display: block;
  width: 30px;
  height: 30px;
  position: relative;
  top: 4px;
  z-index: 100;
}
#nav_toggle div {
  position: relative;
}
/*hamburger menu close style*/
#nav_toggle span {
  display: block;
  height: 3px;
  background: #1B2361;
  position: absolute;
  width: 100%;
  left: 0;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
#nav_toggle span:nth-child(1) {
  top: 0px;
}
#nav_toggle span:nth-child(2) {
  top: 10px;
}
#nav_toggle span:nth-child(3) {
  top: 20px;
}
/*hamburger menu open style*/
.open #nav_toggle span:nth-child(1) {
  top: 10px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  transform: rotate(135deg);
}
.open #nav_toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav_toggle span:nth-child(3) {
  top: 10px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
/*nav style*/
#top-head nav {
  display: none;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  height: 1040px;
  background: #fff;
  z-index: 999;
}
#top-head nav ul {
  display: block;
  margin: auto;
  padding: 10px;
  width: 80%;
}
#top-head nav ul li {
  text-align: center;
  border-bottom: 1px solid #dcdcdc;
}
#top-head nav ul li:last-child {
  border: none;
}
/*nav link style*/
#top-head nav ul li a {
  display: block;
}
/*ヘッダーアイコン追加*/
.hd_icon {
  margin-top: 4px;
  margin-right: 10px;
  display: flex;
  margin-left: auto;
}
.hd_icon img {
  padding: 8px;
}
.inner h1 img {
  margin-top: 10px;
}
@media screen and (max-width : 550px) {
  #top-head img {
    max-width: 80%;
    height: auto;
  }
}
/*============================
header style END
============================*/


/*会社概要テーブル*/
.kaisha {
width: 80%;
margin: 0 auto;
border-collapse: collapse;
color: #3B3B3B;
letter-spacing: 0.1em;
line-height: 1.5em;
font-size: 14px;
}

.kaisha th,
.kaisha td {
border: 1px solid #ccc;
padding: 20px;
}

.kaisha th {
font-weight: bold;
background-color: #dedede; 
}

.kaisha a{
	text-decoration: none;
	color: #3B67C1;
}

@media screen and (max-width: 800px) {
.kaisha,
.kaisha tr,
.kaisha td,
.kaisha th {
	display: grid;
	place-items: center;
	width: 100%;
	}
.kaisha a{
	margin: -10px;
}
}



/*サービス紹介*/
.box {
  display:flex;
  flex-direction: row;
  justify-content: center;
	width: 800px;
	margin: 0 auto;
	align-items: center;
}

.text h3{
	font-size: 20px;
	color: #1B2361;
}
.text{
color: #464646;
letter-spacing: 0.1em;
line-height: 1.5em;
font-size: 14px;
}
.pict {
  width: 150px;
	margin-right: 10px;
}
@media screen and (max-width: 800px) {
	.box{
		clear: both;
display:flex;
flex-flow: column;
		width: 90%;
		height: auto;
	}
	.text h3{
		text-align: center;
	}
}




/*プライバシーポリシータグ*/
#prpr{
	color: #3B3B3B;
	letter-spacing: 0.1em;
line-height: 1.5em;
font-size: 14px;
}
.prpr h3 {
	clear: both;
	margin-bottom: 20px;
	width: auto;
	text-align: left;
	font-size: 20px;	/*文字サイズ*/
	border-bottom: 2px dotted #ccc;	/*下線の幅、線種、色*/
	padding-left: 10px;
	padding-bottom: 8px;
}
/*h3タグの１文字目*/
.prpr h3::first-letter {
	border-left: 10px solid #000000;	/*左側の線の幅、線種、色*/
	padding-left: 20px;	/*線と文字との余白*/
}
/*段落タグ*/
.prpr p {
	padding: 0 20px 20px;
	letter-spacing: 0.1em;
line-height: 1.5em;
font-size: 14px;
}
.prpr ol {
	padding: 0 50px 20px;
}
.innerS {
  width: 80%;
  margin: 0 auto;
  padding-bottom: 10px;
}
@media only screen and (max-width: 800px) {
	.prpr h3 {
		font-size: 16px;
	}
	.innerS {
		width: 90%;
	}
}



/*フッター基本*/
.outer-block {
  width: 100%;
  letter-spacing: 0.1em;
  line-height: 1.6;
  font-size: 16px;
}
.inner-block {
  position: relative;
  width: 90%;
  margin: 0 auto;
}
#footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#footer {
  background: #FFFFFF;
}
#footer .cont-wrap {
  padding: 100px 0;
}
#footer .info .address {
  font-size: 13px;
  margin: 20px 0;
  padding-left: 15px;
  border-left: 8px solid #1B2361;
	color:#3B3B3B;
}
#footer .cont .nav a {
  text-decoration: none;
  color: #3B3B3B;
}
#footer .cont .nav a:hover {
  text-decoration: none;
  color: #9C9C9C;
}
#footer .cont-wrap .map {
  width: 700px;
  height: 350px;
}
#footer .cont-wrap .map iframe {
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 801px) {
  #footer .cont-wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
/*フッタースマホ*/
@media only screen and (max-width: 800px) {
  #footer .cont-wrap {
    padding: 30px 0;
  }
  #footer .cont .logo img {
    width: 200px;
  }
  #footer .info {
    text-align: center;
  }
  #footer .info p {
    text-align: left;
  }
  #footer .nav {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
  #footer .nav li {
    border-top: 1px solid #CBCBCB;
  }
  #footer .nav li:last-child {
    border-bottom: 1px solid #CBCBCB;
  }
  #footer .nav li a {
    display: block;
    padding: 12px 20px;
    background-size: 6px auto;
  }
  #footer .cont-wrap .map {
    margin-top: 20px;
    width: 100%;
    height: 200px;
  }
}

/*---------
  copyright
-----------*/
.copyright {
  color: #FFFFFF;
  background-color: #1B2361;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: center;
  padding: 50px 0;
  margin-bottom: 0;
}
@media only screen and (max-width: 800px) {
  .copyright {
    color: #ccc;
    font-size: 10px;
    letter-spacing: 0.1em;
    line-height: 1.3;
    text-align: center;
  }
}

/*スライドショー*/
.bg-slider {
  width: 100%;
  height: 600px;
  background-position: center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width : 800px) {
  .bg-slider {
    position: relative;
    height: 600px;
  }
}

/*---------
  バウンス
-----------*/
.cp_arrows *, .cp_arrows *:before, .cp_arrows *:after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_arrows {
	position: relative;
	display: flex;
	height: 120px;
	margin: 2em auto -50px;
	justify-content: center;
	align-items: center;
}
.cp_arrows .cp_arrow {
	position: absolute;
	top: calc(1% - 25px);
	left: 50%;
	width: 40px;
	height: 40px;
}
.cp_arrows .cp_arrow::before,
.cp_arrows .cp_arrow::after {
	position: absolute;
	display: block;
	width: 2px;
	height: 30px;
	content: '';
	-webkit-transition: all 0.3s ease-in-out;
	        transition: all 0.3s ease-in-out;
	-webkit-transform: translate(-50%, -50%) rotateZ(-60deg);
	        transform: translate(-50%, -50%) rotateZ(-60deg);
	transform-origin: bottom right;
	border-radius: 10px;
	background: #1B2361;
}
.cp_arrows .cp_arrow::after {
	-webkit-transform: translate(-50%, -50%) rotateZ(60deg);
	        transform: translate(-50%, -50%) rotateZ(60deg);
	-webkit-transform-origin: bottom left;
	        transform-origin: bottom left;
}
.cp_arrows .cp_bounce {
	-webkit-animation: arrow-move09 2s infinite ease-in-out;
	        animation: arrow-move09 2s infinite ease-in-out;
}
@-webkit-keyframes arrow-move09 {
	0%, 20%, 50%, 80%, 100% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	48% {
		-webkit-transform: translateY(-20px);
		        transform: translateY(-20px);
	}
	60% {
		-webkit-transform: translateY(-15px);
		        transform: translateY(-15px);
	}
}
@keyframes arrow-move09 {
	0%, 20%, 50%, 80%, 100% {
		-webkit-transform: translateY(0);
		        transform: translateY(0);
	}
	48% {
		-webkit-transform: translateY(-20px);
		        transform: translateY(-20px);
	}
	60% {
		-webkit-transform: translateY(-15px);
		        transform: translateY(-15px);
	}
}

/*---------
トップスライダーボタン
-----------*/
#page-top {
  bottom: 20px;
  position: fixed;
  right: 20px;
}
#page-top a {
  height: 70px;
  padding: 0;
  text-align: center;
  transition: opacity .5s;
  width: 70px;
}
#page-top a:hover {
  opacity: 0.8;
  transition: opacity .5s;
}
#page-top a img {
  width: 70px;
}


/*お問い合わせ*/
#formWrap {
	width:100%;
	margin:0 auto;
	color:#1B2361;
	line-height:120%;
	font-size:100%;
	white-space: nowrap;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
table.formTable td,table.formTable th{
    border: 1px solid #ccc;
    padding: 20px;
    font-size: 100%;
}
table.formTable th{
	width:auto;
	font-weight:bold;
	background:#1B2361;
	text-align:left;
	color: #FFFFFF;
}
textarea {
	width: 100%;
	resize: vertical;
}
input.jsy {
	width: 100%;
	height: auto;
}

/*　簡易版レスポンシブ用CSS（必要最低限のみとしています。ブレークポイントも含め自由に設定下さい）　*/
@media screen and (max-width:910px) {
#formWrap {
	width:100%;
	margin:0 auto;
}
table.formTable th, table.formTable td {
	width:auto;
	display:block;
}
table.formTable th {
	margin-top:5px;
	border-bottom:0;
}
input[type="text"], textarea {
	width:96%;
	padding:5px;
	font-size:110%;
	display:block;
}
input[type="submit"], input[type="reset"], input[type="button"] {
	display:block;
	width:100%;
	height:40px;
}
textarea {
	resize: vertical;
}
}
/*---------------------------------*/