@charset "UTF-8";
/*
	[Module]
	[Base Layout]
	[Page]
	[WordPress]
	[jQuery]

  Break point
    1300px : PC用MV幅
    980px : ページ幅
    768px : タブレット幅
    560px
*/

/* ==================================================
    [Module]
===================================================== */
/* --------------------------------------------------
	非表示・表示
-------------------------------------------------- */
.hideSP { display: none; }
@media screen and ( min-width: 981px ) {
.hideSP { display: block; }
.hidePC { display: none; }
}

/* --------------------------------------------------
	text style
-------------------------------------------------- */
p { margin: 1.0em 0; }

/* -----------------------------------------
	float
-------------------------------------------- */
.f_l { float: left; }
.f_r { float: right; }

/* -----------------------------------------
	icon
-------------------------------------------- */
.icon {}

/* ボックスの上に付く三角形 */
.icon-triangle { position: relative; }
.icon-triangle:before {
	content: "";
	border-style: solid;
	border-width: 15px;
	border-top-width: 15px;
	position: absolute;
	left: 50%;
	top: 0;
	width: 0;
	height: 0;
	margin-left: -15px;
}
.icon-triangle-green.icon-triangle:before { border-color: transparent; border-top-color: #fbe8ea; }
.icon-triangle-red.icon-triangle:before   { border-color: transparent; border-top-color: #e56575; }
.icon-triangle-white.icon-triangle:before { border-color: transparent; border-top-color: #fff; }
.icon-triangle-gray.icon-triangle:before  { border-color: transparent; border-top-color: #f4f4f4; }
.icon-triangle-lightblue.icon-triangle:before  { border-color: transparent; border-top-color: #71B5E4; }

@media screen and ( min-width: 981px ) {
  .icon-triangle-green.icon-triangle:before,
  .icon-triangle-red.icon-triangle:before,
  .icon-triangle-white.icon-triangle:before,
  .icon-triangle-gray.icon-triangle:before,
  .icon-triangle-lightblue.icon-triangle:before {
  	border-width: 50px;
  	border-top-width: 35px;
  	margin-left: -50px;
  }
  .icon-triangle-green.icon-triangle:before,
  .icon-triangle-lightblue.icon-triangle:before {
  	border-width: 19px;
  	border-top-width: 14px;
  	margin-left: -19px;
  }
}

/* --------------------------------------------------
	article
-------------------------------------------------- */
.lead {
	margin-bottom: 80px;
	text-align: center;
}

/* -----------------------------------------
 box type
-------------------------------------------- */
/* ページのイントロに使用するブロック */
.box_page_head {
	margin: 12px auto;
}

@media screen and ( min-width: 981px ) {
  .box_page_head {
  	width: 780px;
  	margin: 54px auto;
  }
}

/* コンテンツ毎に大きく分けるブロック */
.box_cont1 {
	padding-top: 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid #ccc;
}
.box_cont1:last-child {
	border-bottom: none;
}

@media screen and ( min-width: 981px ) {
  .box_cont1 {
  	padding-top: 54px;
  	padding-bottom: 54px;
  }
}

@media screen and ( min-width: 981px ) {
  /* width 780px 固定 */
  .box_w780 {
  	width: 780px;
  	margin: 0 auto;
  }
}

/* 1カラムのブロック */
.box_1col {}
	.box_1col .col_img { text-align: center; }
		.box_1col .col_img img {
			width: 100%;
			max-width: 320px;
		}
	.box_1col .col_text { text-align:left; }
		.box_1col .col_text p:last-child { margin-bottom: 0; }
@media screen and ( min-width: 981px ) {
  .box_1col {
  	width: 780px;
  	margin: 0 auto;
  }
	.box_1col .col_img { width: 100%; }
		.box_1col .col_img img {
			width: 100%;
			max-width: 100%;
			margin: 0 0 20px 0;
		}
	.box_2col_r .col_text {}
}

/* 2カラムのブロック */
.box_2col_r {}
	.box_2col_r .col_img { text-align: center; }
		.box_2col_r .col_img img {
			width: 75%;
			max-width: 320px;
		}
	.box_2col_r .col_text { text-align:left; }
		.box_2col_r .col_text p:last-child { margin-bottom: 0; }
@media screen and ( min-width: 981px ) {
  .box_2col_r {
  	width: 780px;
  	margin: 0 auto;
  }
	.box_2col_r .col_img {
		float: right;
	}
		.box_2col_r .col_img img {
			width: 310px;
			max-width: 310px;
			margin: 0 0 20px 30px;
		}
	.box_2col_r .col_text {}
}

/* ボーダー囲みブロック */
.box_bdr {
	margin-bottom: 20px;
	border: 1px solid  #ccc;
}
	.box_bdr .box_title {
		padding: 12px;
		margin: 0;
		font-size: 16px;
		border-bottom: 1px solid #ccc;
	}
	.box_bdr .box_body {
		padding: 12px;
	}

	/* type 1 */
	.box_bdr_1 { text-align: center; }
	.box_bdr_1 .box_title { background-color: #d3ebc3; }
	/* type 2 */
	.box_bdr_2 { text-align: left; }
	.box_bdr_2 .box_title { background-color: #f4f4f4; }


/* -----------------------------------------
 list type
-------------------------------------------- */
ul {
	list-style-position: outside;
	padding-left: 1.6em;
	margin: 0.5em auto;
	text-align: left;
}
	li {
		margin-bottom: 0.4em;
		line-height: 1.3em;
	}

.list_decimal {
	list-style-type: decimal;
}

.list_circle {
	list-style-type: none;
}
	.list_circle li:before {
		content: "";
		display: inline-block;
		width: 1em;
		height: 1em;
		background-color: #d3ebc3;
		border-radius: 100%;
		margin: 0 0.5em 0 -1.5em;
		position: relative;
		top: 0.15em;
	}

/* ページ内のアンカーリンクメニュー */
.anc_link {
	margin: 0 -12px;
	padding: 16px 12px 8px;
	border-bottom: 1px solid #ccc;
}
	.anc_link li {
		margin-bottom: 10px;
		font-size: 16px;
		font-weight: bold;
		line-height: 21px;
	}
	.anc_link li:before {
		font-family: "FontAwesome";
		content: "\f13a";
		color: #e56575;
		font-size: 17px;
	}
		.anc_link li a {
			padding-left: 5px;
		}

/* -----------------------------------------
 link type
-------------------------------------------- */
/* social */
.social_box a:hover, .social_box a:active
{ text-decoration: none; }

/* テキストリンク */
.txtlink01 { margin: 1em 0; }
.txtlink01:before {
	content: "\00BB";
	font-size: 12px;
	margin-right: 5px;
}

/* -----------------------------------------
 button type
-------------------------------------------- */
.btn_link_box1 { text-align: center; }
	.btn_link1 {
		display: block;
		position: relative;
		width: auto;
		margin: 10px auto;
		padding: 14px 10px 8px 5px;
		font-size: 20px;
		font-weight: bold;
		line-height: 1em;
		text-align: center;
		border-radius: 6px;
	}
	.btn_link1:link, .btn_link1:visited {
		color: #fff;
		background-color: #e56575;
	}
	.btn_link1:hover, .btn_link1:active { opacity: 0.6; }
	.btn_link1:after {
		position: absolute;
		right: 10px;
		top: 50%;
		margin-top: -11px;
		font-family: "FontAwesome";
		content: "\f105";
		color: #fff;
		font-size: 20px;
	}
@media screen and ( min-width: 981px ){
.btn_link_box1 {
	width: 780px;
	margin: 30px auto 0;
}
	.btn_link1 {
		display: inline-block;
		width: 45%;
		margin: 10px;
		padding: 15px 10px 8px 5px;
		font-size: 21px;
		font-weight: normal;
		border-radius: 8px;
	}
}

.btn_link_box2 { text-align: center; }
	.btn_link2 {
		display: block;
		position: relative;
		width: auto;
		margin: 10px auto;
		padding: 14px 10px 14px 5px;
		font-size: 15px;
		font-weight: bold;
		line-height: 1em;
		text-align: center;
		border-radius: 6px;
	}
	.btn_link2:link, .btn_link2:visited {
		color: #fff;
		background-color: #999;
	}
	.btn_link2:hover, .btn_link2:active { opacity: 0.6; }
	.btn_link2:after {
		position: absolute;
		right: 10px;
		top: 50%;
		margin-top: -7px;
		font-family: "FontAwesome";
		content: "\f105";
		color: #fff;
		font-size: 20px;
	}


.btn_link3 {
  font-size: 12px;
  line-height: 1.0;
  padding: 5px 4px 5px 8px;
}
.btn_link3 i {
  margin-left: 3px;
}


/* フッターその他で使用　お問い合わせ先ボタン */
footer div[class^="inq_"] {
  font-size: 25px;
  vertical-align: bottom;
}
.inq_box {}
	.inq_box div {
		margin-top: 14px;
		text-align: center;
	}
		.inq_box div a {
			display: block;
			padding: 20px 10px 18px;
			color: #fff;
			font-weight: bold;
			line-height: 1em;
			background-color: #F78F23;
			border-radius: 8px;
		}
		.inq_box div a:hover, .inq_box div a:active { opacity: 0.6; }

		/* telリンク */
		.inq_tel{}

			.inq_tel .link_tel {
				display: block;
				width: auto;
				height: 100%;
				color: #fff;
				font-weight: bold;
				line-height: 1em;
			}
				.inq_tel .link_tel .fs_s {
					font-size: 13px;
				}

			/* telリンク--スマホアクセス時のみ<a>タグ作動 */
			.inq_tel a {
				padding: 0;
				font-size: 18px;
			}

		/* または */
		.inq_join { display: none; }

		/* メール */
		.inq_box div.inq_mail a {
			color: #fff;
			font-size: 20px;
		}
		.inq_box div.inq_mail a:hover, .inq_box div.inq_mail a:active {
			opacity: 1;
		}

			.inq_mail .icon {
				margin-right: 10px;
				vertical-align: 6%;
			}

/* 受付時間 */
	.inq_info {
		margin-top: 15px;
		font-size: 15px;
	}
@media screen and ( min-width: 981px ) {
/* フッターその他で使用　お問い合わせ先ボタン */
.inq_box { padding: 0px 0 10px; }
	.inq_box div {
		display: inline-block;
		margin-top: 0;
		vertical-align: middle;
		background-color: transparent;
		box-shadow: none;
		border-radius: none;
	}
		.inq_box div a {
			padding: 0;
			font-weight: normal;
		}

		.inq_box div a:hover, .inq_box div a:active { opacity: 0.6; }

		/* telリンク */
		.inq_tel {
			margin-right: 12px;
		}

			.inq_tel .link_tel {
				display: inline-block;
				width: auto;
				height: auto;
				font-size: 34px;
				font-weight: normal;
				line-height: 1em;
				letter-spacing: 1px;
        background: url(../img/common/ico_phone.png) no-repeat 0px -9px;
        padding: 0 0 0 53px;
			}
				.inq_tel .link_tel .fs_s {
					font-size: 16px;
					vertical-align: text-top;
				}
		/* または */
		.inq_join {
			margin: 0 10px;
			font-size: 86%;
			line-height: 1em;
		}

		/* メール */
		.inq_box div.inq_mail a {
			padding: 10px 18px;
			margin-left: 18px;
			color: #fff;
			font-size: 20px;
			border-radius: 6px;
		}

	/* 受付時間 */
	.inq_info {
		margin-top: 0;
	}
}

.inq_fax {}
.inq_fax .link_fax {
  font-size: 28px;
  background: url(../img/common/ico_fax.png) no-repeat 0px -7px;
  padding: 0 0 0 53px;
}

.inq_separator {
  font-size: 13px!important;
}
@media screen and ( max-width: 980px ) {
  .inq_fax { display:none; }
}


/* -----------------------------------------
 image
-------------------------------------------- */
.img_circle {
	border-radius: 100%;
}

.img_size1,
.img_size2,
.img_size2 {
	max-width: 320px;
	margin: 0 auto;
}
.img_size1 { width: 100%; }
.img_size2 { width: 90%; }
.img_size3 { width: 80%; }

@media screen and ( min-width: 981px ) {
.img_size1,
.img_size2,
.img_size2 {
	width: auto;
	max-width: none;
}
}

@media screen and ( max-width: 980px ) {
  img {
    max-width: 100%;
    height: auto;
  }
}

/* -----------------------------------------
 table type
-------------------------------------------- */
table { margin: 1em auto; }

.tbl1 {
	width: 100%;
	border-bottom: 1px solid #ccc;
}
	.tbl1 caption {
		margin-bottom: 1em;
		font-size: 18px;
	}
	.tbl1 thead, .tbl1 tfoot, .tbl1 tbody, .tbl1 tr, .tbl1 th, .tbl1 td {
		display: block;
		width: 100%;
	}
	.tbl1 th, .tbl1 td {
		width: auto;
		padding: 5px;
		border: 1px solid #ccc;
		border-bottom: none;
	}
	.tbl1 th {
		padding: 2px 5px;
		color: #fff;
		background-color: #E56575;
	}

@media screen and ( min-width: 981px ) {
.tbl1 {}
	.tbl1 thead { display: table-header-group; }
	.tbl1 tfoot { display: table-footer-group; }
	.tbl1 tbody { display: table-row-group; }
	.tbl1 tr { display: table-row; }
	.tbl1 th, .tbl1 td { display: table-cell; }

	.tbl1 th, .tbl1 td {
		padding: 6px 10px;
	}
}

/* -----------------------------------------
 other
-------------------------------------------- */
/* ページトップへ */
.page_top, .page_top span {
	display: none;
}
@media screen and ( min-width: 981px ) {
/* ページトップへ */
.page_top {
	position: fixed;
	right: 15px;
	bottom: 10px;
	opacity: 0.8;
}
	.page_top .icon {
		display: block;
		color: #ccc;
		font-size: 49px;
		line-height: 1em;
		cursor: pointer;
	}
.page_top:hover {
	opacity: 0.5;
}
}

/* -----------------------------------------
 Cols
-------------------------------------------- */
.sleeve{
	float:left;
	width: 100%;
}
.sleeve:after{
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.sleeve > .col{
	float:left;
	text-align: center;
}
.sleeve > .col .pic{
	display: block;
	margin-bottom: 15px;
}
.sleeve > .col .pic img{
	width: 100%;
	height: auto;
}



/* ==================================================
    [Base Layout]
===================================================== */

/* --------------------------------------------------
	コンテンツ幅の設定
-------------------------------------------------- */
.inner {
  display: block;
  width: 980px;
  margin: 0 auto;
  text-align: left;
  position: relative;
}
.inner.narrow { width: 780px; }
.inner:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
@media screen and ( max-width: 980px ) {
  .inner {
    width: auto;
  }
  #main_content .inner {
    margin-left: 12px;
    margin-right: 12px;
  }
}

/* 指定分だけ padding */
#main_content,
.box_cont1 {

}

/* マイナス値で画面いっぱいにする */
.page_title,
.box_cont1,
.nav_above,
.contents_nav_wrap {

}

@media screen and ( min-width: 981px ) {
/* padding, margin 0 に */
#main_content,
.page_title,
.box_cont1,
.nav_above,
.contents_nav_wrap,
.entry_list_title {
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
}

/* 最大幅を固定する */
.wpcf7-form {
	max-width: 780px;
	padding: 0;
	margin: 0 auto;
}
}


/* --------------------------------------------------
//	Main visual
// -------------------------------------------------- */
.main_visual {
	width: 100%;
}
	.main_visual img {
		width: 100%;
		height: auto;
	}

@media screen and ( min-width: 981px ) {
/* メインビジュアル */
.main_visual {
	width: 100%;
	min-width: 980px;
	height: 532px;
	position: relative;
}
	.main_visual_l, .main_visual_r {
		width: 50%;
		height: 532px;
		position: absolute;
	}
	.main_visual_l {
		left: 0;
		background-color: #f7b756;
	}
	.main_visual_r {
		right: 0;
		background-color: #f4b1b1;
	}
	.main_visual img {
		width: 980px;
		position: absolute;
		left: 50%;
		margin-left: -490px;
	}
}

/* --------------------------------------------------
	Main content
-------------------------------------------------- */

#main_content {
  margin-bottom: 90px;
}
@media screen and ( max-width: 980px ) {
  #main_content {
    margin-bottom: 20px;
  }
}
.home #main_content {
  min-height: auto;
  margin-bottom: 20px;
}
/* 固定ページの場合 */
.page #main_content {
  margin-bottom: 60px;
}
@media screen and ( max-width: 980px ) {
  #main_content .inner {
    width: auto;
    margin: 0 12px;
  }
}



/* --------------------------------------------------
	Two Column
-------------------------------------------------- */
.two_column {}

/* 左コラム */
	.left_column {
	}

	/* 右コラム */
	.right_column {
		padding: 0 0 20px;
	}
.two_column {
	width: 980px;
	margin: 60px auto 40px;
}

/* 左コラム */
.left_column {
	float: left;
	width: 695px;
}

/* 右コラム */
.right_column {
	float: right;
	width: 226px;
}
@media screen and ( max-width: 980px ) {
	.two_column { width: 100%; }

	/* 左コラム */
	.left_column {
		float: none;
		width: auto;
	}

	/* 右コラム */
	.right_column {
		float: none;
		width: auto;
	}
}


/* --------------------------------------------------
	Footer
-------------------------------------------------- */
footer {
	max-width: 100%;
}
footer .inner {
  text-align: center;
}

	/*お問い合わせエリア*/
	.footer_inq_lead {
		padding: 12px;
		color: #fff;
		font-size: 15px;
		font-weight: bold;
		background-color: #71B5E4;
	}
		.footer_inq_lead p { margin: 0; }

	.footer_inq_box {
		padding: 26px 12px 14px;
		color: #fff;
		background-color: #052459;
	}

		/* ロゴ（フッター） */
		.foot_logo {
			width: auto;
			font-size: 18px;
			font-weight: bold;
		}
			.foot_logo img {
				height: 30px;
				margin-right: 4px;
				vertical-align: middle;
			}

@media screen and ( max-width: 560px ) {
  .foot_logo { font-size: 17px; }
}



	/* フッターメニュー */
	.footer_nav { display: none; }

	/*コピーライト*/
	.copyright {
		padding: 8px 12px 6px;
		color: #fff;
		font-size: 10px;
		line-height: 12px;
		background-color: #000;
	}
		.copyright span {
			font-size: 17px;
			line-height: 12px;
			vertical-align: middle;
		}


@media screen and ( min-width: 981px ) {

	/*お問い合わせエリア*/
	.footer_inq_lead {
		padding: 25px 3%;
		font-size: 22px;
		font-weight: normal;
		line-height: 30px;
	}

	.footer_inq_box {
		padding: 24px 3% 12px;
	}

		/* ロゴ（フッター） */
		.foot_logo {
			width: auto;
			margin: 10px auto 13px;
			font-size: 22px;
			font-weight: normal;
		}
			.foot_logo img {
				height: 40px;
				margin-right: 8px;
				margin-bottom: 6px;
				vertical-align: middle;
			}

	/* フッターメニュー */
	.footer_nav {
		display: block;
		padding: 20px 0;
		margin: 0 auto;
		background-color: #fff;
	}
		.footer_nav .main_menu {
			margin-bottom: 0;
			text-align: center;
		}

	/*コピーライト*/
	.copyright {
		padding: 12px 12px 10px;
		font-size: 13px;
	}
}

@media screen and ( max-width: 980px ) {
  .footer_nav { display: none; }
  footer div[class^="inq_"] a {
    font-size: 20px!important;
  }
  .inq_separator{ display: none; }
  .inq_tel a {
    background: url(../img/common/ico_phone_3x.png) no-repeat 20px 8px #F78F23;
    background-size: 40px auto;
  }
  .inq_mail a { position: relative; }
  .inq_mail a span.fa {
    font-size: 30px!important;
    line-height:1.0;
    position: absolute;
    top: 13px;
    left: 26px;
  }
}
