@charset "utf-8";
/* CSS Document */


.alphaImg a:hover {
	filter: alpha(opacity=80);
	opacity: 0.8;
}


/* ---------------------▼基本構造--------------------- */

html {
	height: 100%;
	overflow-x: hidden;
}

body {
	text-align: center;
	background-color: #fff;
	font-family: "游ゴシック","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #221e1f; /*本文のグレー*/
}

main {
	margin: 0;
	overflow-x: hidden;
}

/* メインリンク設定 */
a {
	color: #fff;
	text-decoration: none;
}

a:hover {
	color: #afeeee;
	text-decoration: none;
}

/* PC時telリンク不要 */
a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
}

/* -----------▼トップ画像----------- */
.bg-mask_top { /* 	index透明化 */
	background: rgba(77,117,128,0.4);
	height: 85vh;
}

.bg-mask { /* index以外透明化 */
	background: rgba(77,117,128,0.5);
	height: 30vh;
}

nav {
	margin: 0 auto;
	padding: 11% 0;
}

h1 { /* トップ画 */
	max-width: 460px;
	margin: 0 auto;
	list-style: none;
	padding-bottom: 20px;
	border-bottom: solid 2px #f3f3f3;
}

h1 li { /* index以外のトップ画及び文字設定 */
	color: #fff;
	font-size: 22px;
	font-family: 'Noto Serif JP' serif;
	font-weight: bold;
	line-height: 50px;
	padding: 5% 0 2%;
}

h1 span {
	color: #fff;
	font-size: 20px;
	font-family: sans-serif;
}

@media screen and (min-width: 361px) and (max-width: 540px) {
	h1 { /* トップ画 */
		max-width: 320px;
		padding-bottom: 10px;
	}

	h1 li { /* index以外のトップ画及び文字設定 */
		font-size: 20px;
		line-height: 50px;
		padding: 14% 0 0;
	}

	h1 span {
		font-size: 16px;
	}
}

@media screen and (max-width: 360px) {
	.bg-mask { /* index以外透明化 */
		background: rgba(77,117,128,0.5);
		height: 40vh;
	}

	h1 { /* トップ画 */
		max-width: 280px;
		margin-top: 8%;
	}

	h1 li { /* index以外のトップ画及び文字設定 */
		line-height: 40px;
		padding: 14% 0 0;
	}

	h1 span {
		font-size: 15px;
	}
}

/* -----------▲トップ----------- */

section {
	max-width: 1200px;
	margin: 0 auto;
}

h2 {
	text-align: center;
	font-size: 20px;
	font-family: sans-serif;
	font-weight: bold;
	padding-bottom: 2%;
}

/* ---------------------▼基本構造--------------------- */

/* -----------▼ホームページ----------- */
.top_id  {
	background: url("../image/top.jpg");
	background-position: bottom;
	background-size: cover;
	height: 85vh;
}

.top_id nav {
	text-align: left;
	padding: 0 10px;
	margin: 0;
}

.top_id h1 {
	border: none;
	margin: 0 auto;
	padding: 20% 0;
	display: block;
	text-align: center;
}

.top_id li {
	font-feature-settings: "palt";
	font-family: serif;
	line-height: 36px;
	font-size: 22px;
	text-align: center;
}

.top_id li.sp_id {
	display: inline-block;
	text-align: left;
	margin: 8% auto 0;
	padding: 3% 10%;
	line-height: 20px;
	font-weight: normal;
	border: 1px solid #fff;
}

.top_id p {
	margin: 0 auto;
	font-family: serif;
	font-size: 14px;
}

article#id_bg {
	background-color: #ECF6FB;
	padding: 0 5% 3%;
}

section#index h2 {
	padding-top: 10%;
	font-size: 22px;
	text-align: center;
}

#together {
	display: block;
	position: relative;
	width: 100%;
	margin-bottom: 4%;
}

#together .box {
	background: rgba(77,117,128,1); /*青*/
	position: relative; /*文字位置固定*/
  overflow: hidden;
	margin: 20px;
}

#together .box img {
	display: block;
	width: 100%;
}

.colorfilter-image {
	opacity: 0.6; /*青+透明化*/
}

#together .box p {
	top: 46%;
	width: 100%;
	color: #fff;
  position: absolute;
  text-align: center;
  font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.3px;
	line-height: 26px;
}

#together:nth-child(9) .box:last-child {
	background: none;
}

#together:nth-child(7) .box:first-child p {
	top: 42%;
}

#together:nth-child(8) .box:last-child  p {
	top: 42%;
}

h3.in_bs { /* 事業内容を詳しく見る */
	background-color: #B9A522;
  margin: 4% auto 0;
	color: #fff;
	padding: 20px 0;
	width: 100%;
	height: 15px;
	cursor: pointer;
}

h3.in_bs li {
  text-align: center;
	list-style: none;
	font-weight: bold;
}

#id_contact {
	position: relative;
	display: block;
	width: 80%;
	margin: 5% auto 0;
}

#id_contact p {
	display: block;
	padding-top: 3%;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	line-height: 25px;
}

#id_contact ul {
	margin-top: 10px;
	text-align: center;
}

#id_contact ul p{
	padding: 0;
	font-size: 16px;
	text-align: center;
	font-weight: normal;
}

#id_contact li {
	padding-top: 6px;
}

#id_contact li img {
	display: inline-block;
  vertical-align: middle;
	width: 45px;
}

#id_contact li a {
	color: #000;
	font-size: 24px;
	font-weight: bold;
	padding-top: 10px;
	display: inline-block;
  vertical-align: middle;
	transition-duration: 0.3s;
}

#id_contact .id_ct {
	margin: 5% 0 0;
	padding: 0;
	height: 80px;
	line-height: 80px;
	width: 100%;        /* 外枠を拡張 */
 	text-align: center; /*【基本】インライン要素の中央寄せ */
	list-style-type: none;
	display: table;
}

#id_contact .btn{
	padding: 0;
	text-align: center;
	display: table-cell;
  color: #000;
	border:solid 3px #000;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
  position: relative;
  -webkit-transition:0.4s;
  -ms-transition:0.4s;
  -moz-transition:0.4s;
  transition:0.4s;
}

#id_contact .btn:hover {
	opacity: inherit;
  color:#fff;
}

#id_contact .btn:before{
	content:"";
  width: 0;
  height: 100%;
  position: absolute;
  z-index: -1;
  background: #000;
  right: 0;
  left: auto;
  top: 0;
  transition: 0.4s;
}

#id_contact .btn:hover:before{
	left: 0;
  right: auto;
  height: 100%;
  width: 100%;
  transition: width 0.4s;
}

#id_contact li.id_ct p {
	text-align: center;
	padding: 0;
	font-size: 18px;
}

@media screen and (max-width: 540px) {
	.top_id h1 {
		padding: 32% 0;
	}
	.top_id h1 li{
		line-height: 34px;
		font-size: 20px;
	}

	#together .box p {
	  font-size: 15px;
		line-height: 22px;
	}

	#together:nth-child(7) .box:first-child p {
		top: 40%;
	}

	#together:nth-child(8) .box:last-child  p {
		top: 40%;
	}

	#id_contact .btn:hover {
		background: #000;
	}

	#id_contact .btn:before{
		display: none;
	}

	#id_contact .btn:hover:before{
		display: none;
	}
}

@media screen and (max-width: 360px){
	section#index h2 {
		padding-top: 10%;
		font-size: 18px;
		text-align: center;
	}

	.top_id h1 {
		padding: 30% 0;
	}

	.top_id h1 li{
		line-height: 34px;
		font-size: 18px;
	}

	.top_id li.sp_id {
		margin-top: 4%;
	}

	.top_id p {
		line-height: 20px;
		font-size: 12px;
	}

	#together .box p {
	  font-size: 12px;
		line-height: 18px;
	}


	#id_contact {
		margin: 10% auto;
	}

	#id_contact p {
		font-size: 12px;
		line-height: 22px;
	}
	#id_contact ul {
		margin: 25px 0 35px;
	}
	#id_contact ul p {
		margin-top: 10px;
	}
}
/* -----------▲ホームページ----------- */

/* -----------▼ご挨拶+会社概要----------- */

.top_cp  {
	background: url("../image/company.jpg");
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: cover;
	height: 30vh;
}

article#message {
	width: 80%;
	margin: 5% auto;
	padding: 50px;
	border: 3px solid #F3F3F3;
}

article#message p {
	margin: 0 auto;
	text-align: justify;
	line-height: 26px;
}

article#message li {
	margin-top: 80px;
	font-size: 18px;
	font-weight: 500;
	list-style: none;
}

article#message li span {
	font-size: 25px;
	font-family: serif;
}

article#company {
	width: 100%;
	max-width: 800px;
	margin: -5% auto 0;
}

article#company table tr {
	background: #eee;
	height: 45px;
	line-height: 45px;
	font-family: sans-serif;
}

article#company table th {
	width: 100px;
	text-align: left;
 	padding-left: 40px;
}

article#company table th.middle {
	vertical-align: middle;
}

article#company table td {
	width: 700px;
	text-align: left;
}

article#company table td.pack{
	line-height: 30px;
}

article#company table td:nth-child(even) {/*偶数*/
	padding-left: 20px;
}

article#company table tr:nth-child(odd) {/*奇数*/
	background: #fff;
	padding-left: 20px;
}

.access {
	margin-top: -3%;
}

.access iframe {
	width: 90%;
}

.access p {
	margin: 2% 5% 0;
	font-size: 16px;
	line-height: initial
}

@media screen and (max-width: 540px)  {
	article#message {
		padding: 30px;
		border: none;
	}

	article#message p {
		font-size: 14px;
		line-height: 20px;
	}

	article#message li {
		margin-top: 30px;
		text-align: right;
	}

	article#company table th {
		width: 120px;
		font-size: 13px;
		padding-left: 25px;
	}

	article#company table td {
		font-size: 13px;
	}
}

@media screen and (max-width: 360px){
	.top_cp  {
		height: 40vh;
	}

	article#company table th {
		width: 150px;
		font-size: 12px;
		padding-left: 20px;
	}

	article#company table td {
		font-size: 12px;
		padding-right: 5px;
	}

	.access p {
		margin: 4% 4% 0;
		font-size: 12px;
	}
}

/* -----------▲ご挨拶+会社概要----------- */

/* -----------▼事業内容----------- */

.top_bn  {
	background: url("../image/business.jpg");
	background-repeat: no-repeat;
	background-position: center;
	height: 30vh;
}

h3.bs_sb { /* 事業内容サブタイトル */
	background-color: #A4C0C8;
	color: #fff;
	margin-top: 10%;
	padding-top: 30px;
	height: 60px;
	font-size: 32px;
	font-weight: bold;
}

aside#project #bs_float { /* 各要素 */
	position: relative;
	padding: 5% 0;
	display: block;
	text-align: left;
}

aside#project img {
	width: 75%;
	margin-left: auto;
}

aside#project .inbox { /*灰色*/
	margin-top: -5%;
	margin-left: 6%;
	text-align: right;
	width: 80%;
	padding: 20px 50px;
	z-index: -1;
	border: 5px solid #bfbfbf;
}

aside#project h2 { /* サブタイトル */
	color: #122B49;
	font-size: 24px;
	line-height: 30px;
	text-align: left;
	padding: 50px 0 30px;
}

aside#project p {
	margin: auto 0;
	text-align: left;
	font-family: sans-serif;
	font-size: 16px;
	color: #4d4d4d;
	line-height: 28px;
}

aside#project .inbox2 { /* 対象物件 */
	margin: 5% auto;
	padding: 30px 30px 50px;
	height: 50px;
	width: 80%;
	border: 5px solid #bfbfbf;
}

aside#project .inbox2 p { /* 対象物件 */
	padding-left: 20%;
	font-weight: bold;
	line-height: 24px;
}

.box3 #bs_float:nth-child(2) .inbox {
	margin-top: -5%;
	padding-top: 8%;
}

article.box:nth-child(odd) { /*奇数青*/
	background-color: #EEF6F9;
	padding: 5% 0;
	opacity: 0.99;
}

article.box:nth-child(even) { /*偶数白*/
	padding: 5% 0;
}

article.box2:nth-child(even) { /*偶数青*/
	background-color: #EEF6F9;
	padding: 5% 0;
	opacity: 0.99;
}

article.box2:nth-child(odd) { /*奇数白*/
	padding: 5% 0;
}

article.box3:nth-child(odd) { /*奇数青*/
	background-color: #EEF6F9;
	padding: 5% 0;
	opacity: 0.99;
}

article.box3:nth-child(even) { /*偶数白*/
	padding: 5% 0;
}

article.box4:nth-child(odd) { /*奇数青*/
	background-color: #EEF6F9;
	padding: 5% 0;
	opacity: 0.99;
}

article.box4:nth-child(even) { /*偶数白*/
	padding: 5% 0;
}

@media screen and (max-width: 540px) {
	h3.bs_sb { /* 事業内容サブタイトル */
		padding-top: 27px;
		height: 40px;
		font-size: 20px;
	}

	aside#project h2 { /* サブタイトル */
		color: #122B49;
		font-size: 18px;
		line-height: 30px;
		text-align: left;
		padding: 50px 0 30px;
	}

	aside#project img {
		width: 90%;
	}

	aside#project p {
		margin: auto 0;
		text-align: left;
		font-family: sans-serif;
		font-size: 16px;
		color: #4d4d4d;
		line-height: 28px;
	}

	aside#project .inbox2 { /* 対象物件 */
		margin: 0 auto 5%;
		padding: 10px 15px 30px;
		height: 50px;
		width: 80%;
	}

	aside#project .inbox2 p { /* 対象物件 */
		font-size: 12px;
		margin:  auto;
		padding: 0;
		width: 100%;
	}

	aside#project .inbox { /*灰色*/
		margin-top: -10%;
		margin-left: 5%;
		padding: 25px 30px 30px;
	}
}

@media screen and (max-width: 360px) {
	.top_bn  {
		height: 40vh;
	}

	aside#project h2 { /* サブタイトル */
		font-size: 16px;
		line-height: 28px;
		padding: 50px 0 30px;
	}

	aside#project p {
		font-size: 12px;
		line-height: 24px;
	}

	aside#project .inbox { /*灰色*/
		margin-top: -10%;
		padding: 20px 25px 30px;
	}

	aside#project .inbox2 { /* 対象物件 */
		padding: 20px 12px 30px;
		width: 80%;
	}

	aside#project .inbox2 p { /* 対象物件 */
		font-size: 10px;
		line-height: 20px;
		margin: 0 auto;
	}
}

/* -----------▲事業内容----------- */

/* -----------▼お問合わせ----------- */

.top_ct  {
	background: url("../image/contact.jpg");
	background-repeat: no-repeat;
	background-position: center;
	height: 30vh;
}

#contact {
	margin: 0 auto;
}

#contact h2 {
	margin: 7% 3% 0;
	line-height: 30px;
}

#contact .answer {
	margin: 3% 0 8%;
}

#contact .answer li {
	font-weight: bold;
	list-style: none;
	display: inline-block;
}

#contact .answer p {
		font-size: 15px;
		margin: 1% 0 4%;
}

#contact .answer span {
		font-size: 24px;
}

#contact .answer a {
	color: #000;
	font-size: 24px;
	transition: 0.3s;
	vertical-align: middle;
}

#contact .answer a:hover {
	opacity: 0.5;
	transition: 0.3s;
}

#contact .answer img {
	width: 45px;
	margin-right: 10px;
	vertical-align: middle;
}

#contact .form {
	margin: 0 auto;
	width: 100%;
	max-width: 540px;
	text-align: left;
}

#contact .form p {
	text-align: left;
	font-size: 16px;
	line-height: 26px;
	margin-bottom: 8%;
}

#contact .form span {
	color: #D63F5E;
}

 .item{
  margin-bottom: 10%;
}

.item #comment { /* お問い合わせ内容書体設定 */
	font-family: sans-serif;
}

 label{
  float: left;
	font-weight: bold;
	color: #273864; /*青文字*/
}

#set_sp {
	margin-bottom: 10%;
}

 input {
  float: left;
  width: 100%;
	-moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
	height: 40px;
	border: none;  /*謎線消*/
	background-color: #F3F3F3;
	margin-top: 5px;
	margin-bottom: 5%;
	padding-left: 20px; /*文字回り余白*/
	font-size: 15px;
}

::placeholder {
	color: #ABABAC;
}

textarea {
  border: solid 1px #707070;
  padding: 10px;
	margin-top: 5px;
  height: 100%;
	max-height: 200px;
	width: 100%;
	-moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
	max-width: auto;
	resize: none;
  font-size: 15px;
}

 .btn-area {
  text-align: center;
}

input[type="reset"]{ /*リセットする*/
	background: #fff;
  border: 2px solid black;
	border-radius: 10px;
  font-size: 15px;
  font-weight:bold;
  padding: 4px 20px 0;
	width: 150px;
}

input[type="submit"]{ /*確認する*/ /*送信する*/
  background: #fff;
  border-radius: 10px;
	border: 2px solid #e0505c;
  color: #e0505c;
  font-size: 15px;
  font-weight:bold;
  padding: 8px 20px;
	width: 150px;
}

.button { /* contact button */
	display: table;
	height: 50px;
	margin: 0 auto;
}

.button input {
	margin: 20px 20px 0;
	display: table-cell;
	vertical-align: middle;
	cursor: pointer;
	transition: all 0.3s ease;
}

.button input::after {
  position: absolute;
  content: '\f105';
  font-weight: 900;
  top: 50%;
  left: auto;
  bottom: auto;
  transform: translateY(-50%);
}

input[type="reset"]:hover {
	background: #000;
  color: #fff;
  transition: all 0.3s ease;
}

input[type="submit"]:hover {
	background: #e0505c;
  color: #fff;
	padding: 8px 20px;
	transition: all 0.3s ease;
}

@media screen and (max-width: 540px) {
	#contact .form {
		max-width: 480px;
	}

	#contact .form p {
		font-size: 14px;
		line-height: 26px;
		margin: 0 6% 8%;
	}

	label{
		margin-left: 6%;
 }

 input {
 margin-bottom: 7%;
}


 .button { /* contact button */
	 display: table;
	 height: 50px;
	 margin: 0 auto;
 }

 input[type="reset"]{ /*リセットする*/
	 width: 130px;
 }

 input[type="submit"]{ /*確認する*/ /*送信する*/
	 width: 130px;
 }
}

@media screen and (max-width: 360px) {
	.top_ct  {
		height: 40vh;
	}

	.top_ct h1 li {
		font-size: 18px;
	}

	#contact h2 {
		font-size: 14px;
		margin: 13% 3% 0;
		line-height: 22px;
	}

	#contact .answer {
		margin: 5% 0 8%;
	}

	#contact .answer p {
		margin: 4% 0;
	}

	#contact .answer span {
		font-size: 18px;
	}

	#contact .form {
		max-width: 360px;
	}

	#contact .form p {
		font-size: 12px;
		line-height: 20px;
		margin-bottom: 8%;
	}

	input[type="reset"]{ /*リセットする*/
 	 width: 120px;
	 padding: 4px 15px 0;
  }

  input[type="submit"]{ /*確認する*/ /*送信する*/
 	 width: 120px;
	 padding: 4px 30px 0;
  }
}

/* -----------▲お問合わせ----------- */


/* -----------▼プライバシーポリシー----------- */
.top_pv h1 li {
		color: #000;
	}

.top_pv	h1 span {
		color: #273864;
	}

#privacy {
	margin: 10%;
}

section#SITE_POLICY {
	max-width: 1000px;
}

article#privacy h2 {
	text-align: left;
}

article#privacy ul {
	margin-top: 5%;
}

article#privacy ul, ol {
	padding: 0;
	position: relative;
}

article#privacy ul li {
	text-align: left;
	color: #122B49;
	font-size: 16px;
	font-weight: bold;
}

article#privacy ul li, ol li {
  border-left: solid 6px #122B49;/*左側の線*/
  margin-bottom: 3px;/*下のバーとの余白*/
  line-height: 1;
  padding: 0.2em;
  list-style-type: none!important;/*ポチ消す*/
}

article#privacy p {
	text-align: justify;
	font-size: 14px;
	line-height: 20px;
	margin-bottom: 4%;
}

#contact_2 {
	position: relative;
	text-align: left;
	padding-bottom: 10%;
}

#contact_2 h2 {
	text-align: left;
}

#contact_2 li {
	font-size: 16px;
	list-style: none;
	margin-bottom: 1%;
}

#contact_2 p {
	font-size: 14px;
	line-height: 25px;
	margin-bottom: 3%;
}

#contact_2 span {
	position: absolute;
	color: #D63F5E;
	font-size: 16px;
	font-family: bold;
	border: 2px solid #D63F5E;
	padding: 1em;
	bottom: 0;
}

@media screen and (max-width: 540px) {
	article#privacy ul li {
		margin-top: 10%;
	}
	#contact_2 {
		margin: 15% 0 0;
		padding-bottom: 20%;
	}
	#contact_2 span {
		bottom: 0;
		padding: 1em;
	}
}

/* -----------▲プライバシーポリシー----------- */
/* -----------▼サイトマップ----------- */
section#SITE_POLICY .sp {
	display: none;
}

section#SITE_POLICY {
	width: 90%;
}

section#SITE_POLICY h2 {
	font-size: 19px;
}

.top_sm h1 li {
		color: #000;
	}

.top_sm	h1 span {
		color: #273864;
	}

#website {
	width: 90%;
	margin: 5% auto 0;
	display: grid;
	overflow-x: hidden;
}

#website a {
	color: #122B49;
}

#website table { /* 縦並び */
	width: 100%;
}

#website td {
	width: 100%; /* 縦並び */
	display: block !important; /* 縦並び */
}

#website li {
	width: 160px;
	color: #122B49;
	font-size: 16px;
	font-weight: bold;
	text-align: left;
}

#website .site_1 li, ol li {
  border-left: solid 5px #122B49;/*左側の線*/
  margin-bottom: 30px;/*下のバーとの余白*/
  padding: 0.2em;
  list-style-type: none!important;/*ポチ消す*/
}

#website .site_2 li, ol li {
	display: block;
	border-left: solid 5px #122B49;/*左側の線*/
  margin-bottom: 3px;/*下のバーとの余白*/
  padding: 0.2em;
  list-style-type: none!important;/*ポチ消す*/
}

#website .site_3 li, ol li {
	display: block;
	border-left: solid 5px #122B49;/*左側の線*/
	margin-top: 30px;
  margin-bottom: 30px;/*下のバーとの余白*/
  padding: 0.2em;
  list-style-type: none!important;/*ポチ消す*/
}

#website p {
	text-align: justify;
	font-size: 14px;
	line-height: 26px;
	margin: 10px auto;
}

@media screen and (max-width: 540px) {
	section#SITE_POLICY .sp {
		display: inherit;
	}
	section#SITE_POLICY h2 {
		font-size: 15px;
		line-height: 30px;
	}
}

@media screen and (max-width: 360px){
	section#SITE_POLICY h2 {
		font-size: 13px;
		line-height: 26px;
	}
}


/* -----------▲サイトマップ----------- */

/* ---------------------▲基本構造--------------------- */


/* ---------------------▼header--------------------- */
#header {
	height: 0;
}

#header .logo {
	position: absolute;
	display: block;
	top: 15px;
	left: 10px;
}

#header .logo img {
	width: 180px;
}

#header .menubar {
	display: none;
}

/* --------▼ハンバーガアイコン-------- */


#nav-drawer .type-1 {
			span {
				transition: all 0.3s;
				transform: rotate(0deg);
			}
			.top {
				transform: translateY(-17px);
			}
			.bottom {
				transform: translateY(17px);
			}
		}

		.navToggle {
				background: rgba(18, 43, 73, 0.7);
				position: fixed;
				right: 1%;
				top: 1%;
				margin-top: 2%;
				margin-right: 3%;
				width: 45px;
				height: 45px;
				cursor: pointer;
				z-index: 99;
		}

		.navToggle span {
				display: block;
				position: absolute;
				width: 31px;
				border-bottom: solid 2px #fff;
				-webkit-transition: .35s ease-in-out;
				-moz-transition: .35s ease-in-out;
				transition: .35s ease-in-out;
				left: 7px;
		}

		.navToggle span:nth-child(1) {
				top: 7px;
		}

		.navToggle span:nth-child(2) {
				top: 16px;
		}

		.navToggle span:nth-child(3) {
				top: 25px;
		}

		.navToggle span:nth-child(4) {
				border: none;
				color: #fff;
				font-size: 9px;
				font-weight: bold;
				top: 32px; /* MENU位置 */
				margin: 0 auto: /* MENU位置 */
		}

		/* 最初のspanをマイナス45度に */
		.navToggle.active span:nth-child(1) {
				top: 16px;
				left: 9px;
				-webkit-transform: rotate(-45deg);
				-moz-transform: rotate(-45deg);
				transform: rotate(-45deg);
		}

		/* 2番目と3番目のspanを45度に */
		.navToggle.active span:nth-child(2),
		.navToggle.active span:nth-child(3) {
				top: 16px;
				-webkit-transform: rotate(45deg);
				-moz-transform: rotate(45deg);
				transform: rotate(45deg);
		}

		@media screen and (max-width: 360px) {
			.navToggle span:nth-child(4) {
					font-size: 9px;
			}

		}

/* --------▲ハンバーガアイコン-------- */

  /* --------▼メニューの中身-------- */
  nav.globalMenuSp {
          position: fixed;
          z-index: 98;
          left: 0;
          top: 0;
					margin: 18% 0; /* 天地の余白 */
          padding: 0;
          background: #fff;
          text-align: left;
          transform: translateX(100%);
          transition: all 0.6s;
          width: 100%;
      }

      nav.globalMenuSp.active {
          transform: translateY(0%);
      }

      nav.globalMenuSp ul li {
          margin: 0 20px; /* 線左右余白 */
          border-bottom: 1px solid #ebe4e9;
      }

			nav.globalMenuSp ul li:nth-child(4) {
          margin: 0; /* 線左右余白 */
					background: #122B49;
					border: 1px solid #122B49;
      }

      nav.globalMenuSp .list p {
        font-family: sans-serif;
				font-weight: bold;
        font-size: 16px;
        color: #333;
        margin: 9% 20px; /* 文字周り余白 */
      }

			nav.globalMenuSp ul li:nth-child(4) p {
					color: #fff;
					margin-left: 40px;
			}

			nav.globalMenuSp .list span {
				font-size: 11px;
			 }

  /*チェックがついたら表示させる*/
  #nav-input:checked ~ #nav-close {
    display: block;
    opacity: .5;
  }

  #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
  }
}
  /* --------▲メニューの中身-------- */
/* ---------------------▲header--------------------- */


/* ---------------------▼footer--------------------- */
footer {
	margin: 0;
	padding: 0;
}

#footer_bg {
	background-color: #122B49;
	margin: 10% 0 0;
	padding: 8% 5% 3%;
}

#footer table {
	width: 100%; /* 縦並び */
}

#footer td {
	width: 100%!important; /* 縦並び */
	display: block!important; /* 縦並び */
	color: #fff;
}

#footer .ft_1 {
	position: relative;
	text-align: left;
	font-size: 29px;
	font-family: serif;
	font-weight: bold;
}

#footer .ft_1 li {
	margin: 7% auto;
	font-size: 20px;
	font-weight: normal;
	font-family: arial;
}

#footer .ft_1 li big { /* 電話 */
	text-align: left;
	font-size: 26px;
}

#footer .ft_1 li p {  /* 受付時間 */
	margin-top: 5px;
	font-size: 16px;
	font-feature-settings: palt;
}

#footer li.ft p { /* 住所 */
	margin-top: 5%;
	text-align: left;
	font-size: 17px;
	line-height: 32px;
	font-family: sans-serif;
	font-weight: normal;
}

#footer ul li { /* ft_2 ft_3共通 */
	text-align: left;
	font-size: 15px;
	font-family: serif;
}

#footer .ft_2 {
	position: relative;
	text-align: left;
	margin: 3% 0;
}

#footer .ft_2 li, ol li {
	border-left: solid 6px #fff;/*左側の線*/
	margin-bottom: 15px;/*下のバーとの余白*/
	padding: 0.2em 0 0.2em 0.5em;
	list-style-type: none!important;/*ポチ消す*/
}

#footer .ft_3 {
	position: relative;
	text-align: left;
	margin: 8% 0 0;
}


#footer .ft_3 li, ol li {
	border-left: solid 6px #fff;/*左側の線*/
	margin-bottom: 20px;/*下のバーとの余白*/
	padding: 0.2em 0 0.2em 0.5em;
	list-style-type: none!important;/*ポチ消す*/
}

footer {
	font-size: 13px;
	color: #fff;
}

@media screen and (max-width: 540px) {
	#footer .ft_1 {
		font-size: 20px;
		width: 100%;
	}

	#footer .ft_1 li {
		margin: 7% auto;
		font-size: 20px;
	}

	#footer .ft_1 li big { /* 電話 */
		font-size: 20px;
	}

	#footer .ft_1 li p {  /* 受付時間 */
		font-size: 14px;
	}

	#footer li.ft p { /* 住所 */
		margin-top: 5%;
		font-size: 13px;
		line-height: 22px;
	}

	#footer ul li { /* ft_2 ft_3共通 */
		font-size: 12px;
		font-feature-settings: "palt";
	}

	#footer .ft_2 {
		margin: 0;
		width: 100%;
	}

	#footer .ft_2 li, ol li {
		border-left: solid 4px #fff;/*左側の線*/
	}

	#footer .ft_3{
		margin: 0;
	}

	#footer .ft_3 li, ol li {
		border-left: solid 4px #fff;/*左側の線*/
	}

	footer {
		font-size: 11px;
	}
}

@media screen and (max-width: 360px){
	#footer .ft_1 {
		font-size: 18px;
	}
	#footer ul li { /* ft_2 ft_3共通 */
		font-size: 11px;
	}
}

/* ---------------------▲footerページ--------------------- */

/* ---------------------▼トップへ戻るボタン--------------------- */

#toTop {
  position: fixed;
	bottom: 3%;
  right: 10%;
	width: 5%;
	z-index: 999;
}

#toTop img {
	width: 60px;
	height: 60px;
	opacity: 0.8;
}

#toTop a {
	display: block;
	transition: transform .3s;
	cursor: pointer;
}

#toTop a:hover img {
	transition-duration: .3s;
  text-decoration: none;
  opacity: 0.7;
}

@media screen and (max-width: 540px) {
	#toTop {
	  right: 15%;
	}
}

@media screen and (max-width: 360px) {
	#toTop {
	  right: 20%;
	}
}

/* ---------------------▲トップへ戻るボタン--------------------- */

/* ---------------------▼メール送信時--------------------- */

#formWrap {
	margin: 5% 0 10%;
}

#formWrap table.formTable { /* 以下の内容で 枠 */
	width: 100%;
	margin: 5% auto;
	border: 2px solid #b3b3b3;
}

#formWrap table.formTable th { /* お名前 mail tel etc */
	width: 160px;
	text-align: right;
	padding: 20px 2% 20px;
	border-bottom: 1px solid #a8a8a8;
}

#formWrap table.formTable td { /* 記入欄 */
	text-align: left;
	padding: 20px 2% 20px;
	border-bottom: 1px solid #a8a8a8;
}

h4 { /* メール送信エラー */
	background-color: #fc1e38;
	color: #fff;
	margin: 20% 0 10%;
	height: 60px;
	padding: 30px 20px 15px;
	line-height: 25px;
	font-size: 18px;
	font-weight: bold;
}

#error_back .pushbutton .secButton { /* メールエラー 前画面に戻る */
	border: 2px solid #122B49;
	background: #fff;
	color: #122B49;
	width: 145px;
	display: block;
	position: absolute;
	top: 40%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-weight: bold;
	padding: 4px 0;
	border-radius: 10px;
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all  0.3s ease;
}

.ika { /* メール確認画面 文字 以下の文字で間違いなければ */
	margin-top: 20%;
	font-size: 16px;
	line-height: 28px;
}

.pushbutton { /* button 範囲 */
	position: absolute;
	left: 50%;
	width: 320px;
	transform: translate(-50%, -50%);
	margin-top: 5px;
}

.pushbutton .secButton { /* メール送信時 前画面に戻る */
	border: 2px solid #122B49;
	background: #fff;
	color: #122B49;
	width: 145px;
	display: block;
	font-weight: bold;
	padding: 4px 0;
	border-radius: 10px;
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all  0.3s ease;
}

.pushbutton  .secButton:hover { /*メール送信時 前画面に戻る hover*/
	background: #122B49;
	color: #fff;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

.pushbutton .secButton_send { /*メール送信時 送信する*/
		width: 145px;
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
		cursor: pointer;
}

.pushbutton .secButton_send:hover { /*メール送信時 送信するhover*/
	-webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
}

input[type="button"]{ /*メール送信時 前画面に戻る*/
  margin: 5px 30px 0 0;
}

.confirmation { /* メール確認画面 */ /*非表示button*/
	display: none;
}

.return { /* メール送信エラー 前画面に戻る 範囲 */
	display: inline-block;
	position: relative;
	margin: 25% auto;
}

.return p {
	margin: 20px 0;
}

.return input[type="button"]{ /*メール完了時 トップへ戻る*/
	color: #122B49;
	background: #fff;
	border-radius: 10px;
	border: 2px solid #122B49;
	width: 200px;
	margin: 8% auto 0;
	padding: 8px 20px;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 15px;
	font-weight: bold;
	cursor: pointer;
	transition: all 0.3s ease;
}

.return input[type="button"]:hover {
	background: #122B49;
  color: #fff;
	padding: 8px 20px;
	transition: all 0.3s ease;
}

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

	#formWrap {
		margin: 5% 0 20%;
	}

	h4.error { /* メール送信エラー */
		line-height: 24px;
		font-size: 13px;
		padding: 15px 20px 0;
	}

	.pushbutton { /* button 範囲 */
		margin-top: 7%;
	}
}

@media screen and (max-width: 360px) {
	h4.error { /* メール送信エラー */
		margin: 30% 0 10%;
		padding: 20px 10px 0;
		line-height: 22px;
		font-size: 12px;
	}

	.ika { /* メール確認画面 文字 以下の文字で間違いなければ */
		margin-top: 25%;
		font-size: 16px;
		line-height: 24px;
	}

	.pushbutton { /* button 範囲 */
		margin-top: 7.5%;
	}
}


/* ---------------------▲メール送信時--------------------- */
