@charset "UTF-8";
/*
Theme Name: jigsaw
Author: Fain Pixar
Author URI: https://www.fainpixar.co.jp/
*/
/* font定義 */
@font-face {
		font-family: YuMincho,"Yu Mincho",serif;
		/* 游ゴシックMediumが存在しないWindows8.1用 */
}

@font-face {
		font-family: YuMincho,"Yu Mincho",serif;
		/* PostScript Nameを認識できないChrome用にFull Nameを指定 */
}

/* --ブラウザの互換初期化------------------------ */
html {
		overflow: scroll;
}

* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td {
		margin: 0;
		padding: 0;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

fieldset, img {
		border: 0;
}

address, caption, cite, code, dfn, em, th, var {
		font-style: normal;
		font-weight: normal;
}

caption, th {
		text-align: left;
}

h1, h2, h3, h4, h5, h6 {
		font-size: 100%;
}

q:before, q:after {
		content: '';
}

ul, ol, li {
		list-style-type: none;
}

/* --clearfix------------- */
.clearfix:after, section:after, nav:after {
		content: ".";
		display: block;
		clear: both;
		height: 0;
		visibility: hidden;
}

.clearfix, section, nav {
		min-height: 1px;
}

/* iOSでのデフォルトスタイルをリセット */
button,
input[type="button"].clearbtn {
		-webkit-box-sizing: content-box;
		-webkit-appearance: button;
		appearance: button;
		border: 0 none;
		box-sizing: border-box;
		cursor: pointer;
		-webkit-border-radius: 0;
		border-radius: 0;
		background: transparent;
		outline: none;
}

button::-webkit-search-decoration,
input[type="button"].clearbtn::-webkit-search-decoration {
		display: none;
}

button::focus,
input[type="button"].clearbtn::focus {
		outline-offset: -2px;
}

button,
input[type="button"].clearbtn {
		border: 0 none;
		display: inline;
}

*, *:after, *:before {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}

/* ------------------------
    基本構造
------------------------ */
html {
		padding: 0;
		margin: 0;
		font-size: 10px;
		height: 100%;
		overflow-x: hidden;
		overflow-y: scroll;
}
body {
	font-family: 'Noto Sans JP', sans-serif,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	/* font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
	font-style: normal;
  font-weight: normal;
	font-size: 1.4rem;
	color: #000;
	line-height: 1.8;
	position: relative;
	overflow: hidden;
}
@media only screen and (max-width: 768px) {
	body {
			min-width: 1px;
			height: auto;
			font-size: 1.5rem;
			padding-left: 0;
			padding-right: 0;
	}
}
#wrap_front {
		position: relative;
		padding: 0 175px 0 70px;
}
#wrap_page {
		position: relative;
		/* padding: 0 80px 0 0; */
		padding: 0 120px 0 0;
}
@media only screen and (max-width: 1040px) {
	#wrap {
			position: relative;
			padding: 0;
	}
	#wrap_front {
		position: relative;
		padding: 0;
	}
	#wrap_page {
		position: relative;
		padding: 0;
	}
}
p {
		margin-top: 20px;
}

p:first-child {
		margin-top: 0;
}

p + p {
		margin-top: 20px;
}

p + .fig-cmn {
		margin-top: 20px;
}

@media only screen and (max-width: 768px) {
		p {
				margin-top: 15px;
		}
		p + p {
				margin-top: 15px;
		}
		p + .fig-cmn {
				margin-top: 20px;
		}
}

a {
		text-decoration: none;
		color: #000;
		transition: all .3s ease;
}

a:hover {
	transition: all .3s ease;
	text-decoration: none;
}

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

.fig-cmn img {
		display: block;
		margin: 0 auto;
}

.fig-cmn-cap {
		font-size: 1.3rem;
		margin-top: 10px;
}

.al-right {
		text-align: right;
}

.al-center {
		text-align: center;
}

.al-left {
		text-align: left;
}

.nolink-pc {
		pointer-events: none;
		cursor: text;
}

.nolink {
		pointer-events: none;
		cursor: pointer;
}

.only-sp {
		display: none !important;
}

@media only screen and (max-width: 768px) {
		.only-pc {
				display: none !important;
		}
		.only-sp {
				display: block !important;
		}
		br.only-sp {
				display: inline-block;
		}
		.nolink-pc {
				pointer-events: auto;
		}
}

.tel_link {
  pointer-events: none;
}
@media only screen and (max-width: 768px) {
  .tel_link {
    pointer-events: auto;
  }
}


/* ------------------------
    カラム分け
------------------------ */
.grid-cmn {
		-js-display: flex;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		/* margin: 34px -17px 0; */
		margin: 0px -20px 0;
		position: relative;
}
.grid-cmn.column_03_grid {
		margin: 0px -12px 0;
}
.grid-cmn.column_04_grid {
		margin: 0px -12px 0;
}

/* .grid-cmn:first-child {
		margin-top: -40px;
} */

.grid-cmn.ai-center {
		-webkit-align-items: center;
		align-items: center;
}

.grid-cmn.justify-center {
		-webkit-justify-content: center;
		justify-content: center;
}

.grid-cmn.s-m-01 {
		margin: 0;
}

.grid-cmn.s-m-01 .col {
		margin-top: 0;
		padding: 0;
}

.grid-cmn .col {
		box-sizing: border-box;
		position: relative;
		padding: 0 20px;
		margin-top: 40px;
}
.grid-cmn.column_03_grid .col {
		box-sizing: border-box;
		position: relative;
		padding: 0 12px;
		margin-top: 40px;
}
.grid-cmn.column_04_grid .col {
		box-sizing: border-box;
		position: relative;
		padding: 0 12px;
		margin-top: 40px;
}

.grid-cmn .col.col-l-2 {
		width: 16.6666%;
}

.grid-cmn .col.col-l-20p {
		width: 20%;
}

.grid-cmn .col.col-l-3 {
		width: 25%;
}

.grid-cmn .col.col-l-4 {
		width: 33.33333%;
}

.grid-cmn .col.col-l-5 {
		width: 41.66666%;
}

.grid-cmn .col.col-l-6 {
		width: 50%;
}

.grid-cmn .col.col-l-7 {
		width: 58.33333%;
}

.grid-cmn .col.col-l-8 {
		width: 66.66666%;
}

.grid-cmn .col.col-l-9 {
		width: 75%;
}

.grid-cmn .col.col-l-10 {
		width: 83.33333%;
}

.grid-cmn .col.col-l-12 {
		width: 100%;
}

.order-l-1 {
		-webkit-box-ordinal-group: 1;
		-webkit-order: 1;
		order: 1;
}

.order-l-2 {
		-webkit-box-ordinal-group: 2;
		-webkit-order: 2;
		order: 2;
}

.order-l-3 {
		-webkit-box-ordinal-group: 3;
		-webkit-order: 3;
		order: 3;
}

.order-l-4 {
		-webkit-box-ordinal-group: 4;
		-webkit-order: 4;
		order: 4;
}

.order-l-5 {
		-webkit-box-ordinal-group: 5;
		-webkit-order: 5;
		order: 5;
}

.order-l-6 {
		-webkit-box-ordinal-group: 6;
		-webkit-order: 6;
		order: 6;
}
.index-hero__title span{
  font-size: 3.5rem;
	line-height: normal;
}

@media screen and (max-width: 1024px) {
		.grid-cmn .col.col-m-2 {
				width: 16.6666%;
		}
		.grid-cmn .col.col-m-20p {
				width: 20%;
		}
		.grid-cmn .col.col-m-3 {
				width: 25%;
		}
		.grid-cmn .col.col-m-4 {
				width: 33.33333%;
		}
		.grid-cmn .col.col-m-5 {
				width: 41.66666%;
		}
		.grid-cmn .col.col-m-6 {
				width: 50%;
		}
		.grid-cmn .col.col-m-7 {
				width: 58.33333%;
		}
		.grid-cmn .col.col-m-8 {
				width: 66.66666%;
		}
		.grid-cmn .col.col-m-9 {
				width: 75%;
		}
		.grid-cmn .col.col-m-10 {
				width: 83.33333%;
		}
		.grid-cmn .col.col-m-12 {
				width: 100%;
		}
		.order-m-1 {
				-webkit-box-ordinal-group: 1;
				-webkit-order: 1;
				order: 1;
		}
		.order-m-2 {
				-webkit-box-ordinal-group: 2;
				-webkit-order: 2;
				order: 2;
		}
		.order-m-3 {
				-webkit-box-ordinal-group: 3;
				-webkit-order: 3;
				order: 3;
		}
		.order-m-4 {
				-webkit-box-ordinal-group: 4;
				-webkit-order: 4;
				order: 4;
		}
		.order-m-5 {
				-webkit-box-ordinal-group: 5;
				-webkit-order: 5;
				order: 5;
		}
		.order-m-6 {
				-webkit-box-ordinal-group: 6;
				-webkit-order: 6;
				order: 6;
		}
		.index-hero__title span{
		  font-size: 2.9rem;
			line-height: normal;
		}
		.grid-cmn .col {
				box-sizing: border-box;
				position: relative;
				padding: 0 20px;
				margin-top: 30px;
		}
		.grid-cmn.column_03_grid .col {
				box-sizing: border-box;
				position: relative;
				padding: 0 12px;
				margin-top: 30px;
		}
		.grid-cmn.column_04_grid .col {
				box-sizing: border-box;
				position: relative;
				padding: 0 12px;
				margin-top: 30px;
		}
}

@media only screen and (max-width: 768px) {
		.grid-cmn {
				margin: 0 -10px 0;
		}
		.grid-cmn .col {
				padding: 0 10px;
				margin-top: 30px;
		}
		.grid-cmn .col.col-s-12 {
				width: 100%;
		}
		.grid-cmn .col.col-s-10 {
				width: 83.33333%;
		}
		.grid-cmn .col.col-s-9 {
				width: 75%;
		}
		.grid-cmn .col.col-s-8 {
				width: 66.66666%;
		}
		.grid-cmn .col.col-s-7 {
				width: 58.33333%;
		}
		.grid-cmn .col.col-s-6 {
				width: 50%;
		}
		.grid-cmn .col.col-s-5 {
				width: 41.66666%;
		}
		.grid-cmn .col.col-s-4 {
				width: 33.33333%;
		}
		.grid-cmn .col.col-s-3 {
				width: 25%;
		}
		.grid-cmn .col.col-s-20p {
				width: 20%;
		}
		.grid-cmn .col.col-s-2 {
				width: 16.6666%;
		}
		.order-s-1 {
				-webkit-box-ordinal-group: 1;
				-webkit-order: 1;
				order: 1;
		}
		.order-s-2 {
				-webkit-box-ordinal-group: 2;
				-webkit-order: 2;
				order: 2;
		}
		.order-s-3 {
				-webkit-box-ordinal-group: 3;
				-webkit-order: 3;
				order: 3;
		}
		.order-s-4 {
				-webkit-box-ordinal-group: 4;
				-webkit-order: 4;
				order: 4;
		}
		.order-s-5 {
				-webkit-box-ordinal-group: 5;
				-webkit-order: 5;
				order: 5;
		}
		.order-s-6 {
				-webkit-box-ordinal-group: 6;
				-webkit-order: 6;
				order: 6;
		}
}

[class*="ttl-cmn-"] + .grid-cmn {
		margin-top: 0;
}

[class*="ttl-cmn-"] + .grid-cmn.s-m-01 {
		margin-top: 0;
}
.index-product__image02 {
  	position: absolute;
    z-index: -1;
}
.index-product--02 .index-product__image02 {
      left: 50%;
      bottom: -150px;
      width: 80%;
}
.index-product__image01 {
  	position: absolute;
    z-index: -1;
}
.index-product--01 .index-product__image01 {
      right: 50%;
      bottom: -150px;
      width: 80%;
}
.index_mt_200 {
	margin-top: 200px;
}

@media only screen and (max-width: 768px) {
	.index-product__image02 {
	  	position: relative;
	    z-index: -1;
	}
	.index-product--02 .index-product__image02 {
			width: calc(100% + 100px);
	    margin: -70px -100px 0 0;
	    max-width: none;
	    z-index: -1;
	    left: 0;
			bottom: auto;
	}
	.index-product__image01 {
	  	position: relative;
	    z-index: -1;
	}
	.index-product--01 .index-product__image01 {
			width: calc(100% + 100px);
			margin: -70px -100px 0 0;
			max-width: none;
			z-index: -1;
			right: 0;
			bottom: auto;
	}
	.index_mt_200 {
		margin-top: 60px;
	}
}
.contents {
	width: 100%;
	max-width: 1040px;
	margin: 0 auto 0px;
}
.contents.mb_non {
	margin: 0 auto 0;
}
.index_contents {
  width: 100%;
  max-width: 980px;
  margin: auto;
}
.min_contents {
	width: 100%;
	max-width: 900px;
	margin: 0px auto;
}

@media only screen and (max-width: 768px) {
		.contents {
				margin: 0px auto 60px;
				padding: 0 15px;
		}
		.index_contents {
		  width: 100%;
		  max-width: unset;
			margin: 0px auto;
			padding: 0 15px;
		}
		.min_contents {
				max-width: unset;
				margin: 0 auto;
		}
}

/* ボタン */
@media only screen and (max-width: 768px) {
	header {
		position: fixed;
		display: block;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 999;
		transition: all .3s ease;
		background-color: #fff;
	}
  .header__inner {
    display: none;
    justify-content: space-between;
    align-items: flex-end;
    padding: 20px 20px 15px;
  }
  .header__logo .header__logo-link {
    display: block;
    width: 100%;
    max-width: 250px;
  }
  .header_link {
    display: flex;
  }
  .header_link li a{
    padding: 0 20px;
    color: #333;
    text-decoration: none;
    font-size: 1.4rem;
    font-weight: bold;

    padding-bottom: 5px;
    display: block;
    position: relative;
  }
  .header_link li a:hover::after {
    transform: scale(0.5, 1);
  }
  .header_link li a::after {
    content: '';
    position: absolute;
    bottom: 0px;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #709d2d;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .3s;
  }
}


.only-pc {
	display: block;
}
.only-sp {
	display: none;
}
@media only screen and (max-width: 768px) {
	.only-pc {
		display: none;
	}
	.only-sp {
		display: block;
	}
}
a, a img,li,li img,div,input,form,textarea {
  outline:none!important;
}


/* ナビ */
.wp-pagenavi .pages{
	display: none!important;
}
.wp-pagenavi {
  margin: 70px auto 0;
  display: block;
	text-align: center;
	height: 30px;
  width: 100%;
	font-family: "Alata",sans-serif;

}
.wp-pagenavi a, .wp-pagenavi span {
  text-decoration: none!important;
  border: none!important;
  padding: 8px 12px!important;
  margin: 2.5px!important;
	font-size: 1.6rem!important;
	color: #333!important;
	background-color: #fff!important;
  border: 1px solid #000f9f!important;
}
.wp-pagenavi span.current {
  font-weight: bold;
	color: #fff!important;
	background-color: #000f9f!important;
  border: 1px solid #000f9f!important;
}
@media screen and (max-width: 768px) {
	.wp-pagenavi .pages{
		display: none!important;
	}
	.wp-pagenavi {
    margin: 60px auto 0;
    /* display: block; */
		display: inline-block;
		text-align: center;
		height: 30px;
    width: 100%;
	}
	.wp-pagenavi a, .wp-pagenavi span {
		text-decoration: none!important;
    border: none!important;
		padding: 6px 11px!important;
		margin: 2px!important;
		font-size: 1.4rem!important;
		color: #333!important;
		background-color: #fff!important;
    border: 1px solid #000f9f!important;
		display: inline-block!important;
	}
	.wp-pagenavi span.current {
		font-weight: bold;
		color: #fff!important;
		background-color: #000f9f!important;
    border: 1px solid #000f9f!important;
	}
}
/* ナビ */

a, a img, li, li img, div, input, form, textarea, figure {
  outline: none!important;
}

.mt-0 {
	margin-top: 0!important;
}
.mt-5 {
	margin-top: 5px;
}
.mt-10 {
	margin-top: 10px;
}
.mt-15 {
	margin-top: 15px;
}
.mt-20 {
	margin-top: 20px!important;
}
.mt-30 {
  margin-top: 30px;
}
.mt-50 {
  margin-top: 50px;
}
.mt-70 {
  margin-top: 70px;
}
.mt-100 {
  margin-top: 100px!important;
}
@media screen and (min-width: 769px) {
	.mt-p-50 {
		margin-top: 50px!important;
	}
}
@media screen and (max-width: 768px) {
	.mt-s-5 {
		margin-top: 5px!important;
	}
	.mt-s-10 {
		margin-top: 10px!important;
	}
	.mt-s-20 {
		margin-top: 20px!important;
	}
	.mt-s-30 {
		margin-top: 30px!important;
	}
	.mt-s-40 {
		margin-top: 40px!important;
	}
	.mt-s-70 {

		margin-top: 70px!important;
	}
	.mt-s-80 {

		margin-top: 80px!important;
	}
}

.index_estate .grid-cmn .col.col-l-6{
	width: 100%;
  }