@charset "utf-8";
/* CSS Document 後続共通css*/

/*基本レイアウト*/
#contents {
}
#main {
}

/*本文マージン*/
#contents .margin0 {
	margin-bottom: 0px!important;
}
#contents .margin10 {
	margin-bottom: 10px!important;
}
#contents .margin20 {
	margin-bottom: 20px!important;
}
#contents .margin30 {
	margin-bottom: 30px!important;
}
#contents .margin40 {
	margin-bottom: 40px!important;
}
#contents .margin50 {
	margin-bottom: 50px!important;
}
#contents .margin60 {
	margin-bottom: 60px!important;
}
#contents .margin70 {
	margin-bottom: 70px!important;
}
#contents .margin80 {
	margin-bottom: 80px!important;
}
#contents .margin90 {
	margin-bottom: 90px!important;
}
#contents .margin1em {
	margin-bottom: 1em!important;
}
#contents .margin2em {
	margin-bottom: 2em!important;
}
#contents .margin3em {
	margin-bottom: 3em!important;
}
#contents .margin4em {
	margin-bottom: 4em!important;
}
#contents .margin5em {
	margin-bottom: 5em!important;
}
#contents .margin6em {
	margin-bottom: 6em!important;
}
#contents .margin7em {
	margin-bottom: 7em!important;
}
#contents .margin8em {
	margin-bottom: 8em!important;
}
#contents .margin9em {
	margin-bottom: 9em!important;
}


/*本文内各種パーツ***********************/
#main .flex {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
#main .flex.wrap {
	flex-wrap: wrap;
}
#main .dummy{
	height: 0!important;
	margin: 0!important;
	padding: 0!important;
}

/*見出し*/
#main h2 {
	margin-bottom: 35px;
	font-size: 1.9rem;
	letter-spacing: 0.035em;
	line-height: 1;
}
#main h3 {
	margin-bottom: 35px;
	font-size: 1.6rem;
	letter-spacing: 0.035em;
	line-height: 1.2;
}
#main h4 {
	margin-bottom: 10px;
	font-size: 1.4rem;
	letter-spacing: 0.035em;
	line-height: 1.2;
	font-weight: 700;
}

/*段落*/
#main p {
	margin-bottom: 2em;
}
#main p:last-child {
	margin-bottom: 0;
}
#main section {
}
#main section .inside {
}
#main section section {
}
#main .bg_gy {
}

/*パンくず*/

/*ページャー*/
#main .wp-pagenavi {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px 0;
}
#main .wp-pagenavi .current {
	width: 30px;
	height: 30px;
	margin: 0 10px;
	text-align: center;
}
#main .wp-pagenavi a {
	width: 30px;
	height: 30px;
	margin: 0 10px;
	color: #999;
	text-decoration: none;
	text-align: center;
	border: solid 1px #ccc;
}
#main .wp-pagenavi .previouspostslink, #main .wp-pagenavi .nextpostslink {
	border: none;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    border: none;
}

/*画像*/
#contents .imgvisual {
	margin: 0px auto 0px auto;
	line-height: 0;
}
/*リスト*/
#main ul {
	margin-bottom: 1.5em;
}
#main ul > li {
	list-style: square;
	list-style-position: outside;
	margin-bottom: 0.5em;
	margin-left: 2em;
}
#main ol {
	margin-bottom: 1.5em;
}
#main ol > li {
	list-style-type: decimal;
	list-style-position: outside;
	margin-bottom: 0.5em;
	margin-left: 2em;
}
#main ol.second {
	counter-reset: second;
	list-style: none;
	margin-bottom: 1.5em;
}
#main ol.second > li {
	position: relative;
	list-style: none;
	margin-left: 0;
	padding-left: 2.2em;
}
#main ol.second li:before {
	counter-increment: second;
	content: counter(second);
	content: "(" counter(second) ")";
	position: absolute;
	top: 0%;
	left: 0;
}
#main ol.bold li:before {
	font-weight: 700;
}
#main ol.third {
	counter-reset: third;
	list-style: none;
	margin-bottom: 1.5em;
}
#main ol.third > li {
	position: relative;
	list-style: none;
	margin-left: 0;
	padding-left: 2.2em;
}
#main ol.third li:before {
	counter-increment: third;
	content: "[" counter(third) "]";
	position: absolute;
	top: 0%;
	left: 0;
}
#main dl {
	margin-bottom: 1.5em;
}
#main dl > dt {
	list-style: none;
}
#main dl > dd {
	list-style: none;
	margin-bottom: 0.5em;
	margin-left: 2em;
}
#main ul:last-child, #main ol:last-child, #main dl:last-child {
	margin-bottom: 0;
}
/*リンク*/
#main .link {
	position: relative;
	padding-left: 0.8em;
	padding-right:0.2em;
}
#main .link::before {
	position: absolute;
	content: ">";
	top: -0.2em;
	left: 0.2em;
	color: #666;
	font-size:1em;
}
#main .pdf {
	position: relative;
	margin-right: 20px;
	padding-left: 1em;
}
#main .pdf {
	white-space: nowrap;
	position: relative;
	margin-right: 20px;
	padding-left: 1em;
}
#main .pdf::before {
	position: absolute;
	content: ">";
	top: -0.2em;
	left: 0.2em;
	color: #666;
	font-size:1em;
}
#main .pdf::after {
	position: absolute;
	content: url(../images/common/icon_pdf_s.png);
	bottom: -5px;
	right: -17px;
}
#main .back {
	position: relative;
	padding-left: 0.8em;
	padding-right:0.2em;
}
#main .back::before {
	position: absolute;
	content: "<";
	top: -0.2em;
	left: 0.2em;
	color: #666;
	font-size:1em;
}


/*テーブル**********************************************/
#main table {
	margin: 0 auto 2em auto;
	border-top: #cccccc 1px solid;
	border-spacing: 0;
	border-collapse : collapse;
}
#main table th {
	width: 30%;
	padding: 6px 4px;
	word-wrap: normal;
	text-wrap: none;
	border-bottom: #cccccc 1px solid;
	white-space: nowrap;
	font-weight:normal;
	text-align: left;
	background-color:#f2f2f2;
}
#main table td {
	position: relative;
	width: 70%;
	padding: 6px 4px;
	border-bottom: #cccccc 1px solid;
}
#main table th.center, #contents #main table td.center {
	text-align: center;
}
#main table th.left, #contents #main table td.left {
	text-align: left;
}
#main table th.right, #contents #main table td.right {
	text-align: right;
}
#main table caption {
	font-weight: 700;
}
/*入力欄*/
.form_area {
	width: 80%;
	margin: 0 auto;
	padding-bottom: 20px;
}
.form_area span.form_need {
	color: #f00;
	font-size: 1.3rem;
}
.form_area span.form_caution {
	font-size: 1.3rem;
}
.form_area dl {
	display: flex;
	flex-wrap: wrap;
}
.form_area dl dt {
	width: 30%;
	margin: 0 0 20px 0;
	padding: 10px 60px 0 0;
	font-size: 2.0rem;
	text-align: right;
}
.form_area dl dd {
	width: 70%;
	margin: 0 0 20px 0;
}
.form_area input {
	padding: 10px 10px;
	border: solid 1px #000;
	font-size: 1.4rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
}
.form_area input.size_m {
	width: 50%!important;
}
.form_area input.size_s {
	width: 30%!important;
}
.form_area input.size_ss {
	width: 20%!important;
}
.form_area input[type="text"] {
	width: 100%;
}
.form_area input[type="email"] {
	width: 100%;
}
.form_area input[type="tel"] {
	width: 100%;
}
.form_area input[type="number"] {
	width: 100%;
}
.form_area input[type="radio"] {
}
.form_area input[type="checkbox"] {
}
.form_area textarea {
	width: 100%;
	height: 315px;
	padding: 10px 10px;
	border: solid 1px #000;
	font-size: 1.4rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
}
.form_area select {
	height: 30px;
	padding: 10px 10px;
	border: solid 1px #000;
	font-size: 1.4rem;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
}
.form_area input[type="button"] {
	padding: 8px 30px;
	background-color: #000;
	font-size: 2.4rem;
	color: #fff;
	line-height: 1;
}
.form_area input[type="submit"] {
	padding: 8px 30px;
	background-color: #000;
	font-size: 2.4rem;
	color: #fff;
	line-height: 1;
}
.form_area button {
	margin: 0 10px;
	padding: 8px 30px;
	background-color: #000;
	font-size: 2.4rem;
	color: #fff;
	line-height: 1;
}
.form_area .btn_area {
	display: flex;
	justify-content: center;
}


/*トップページ*********************/
/********************************/
.mainvisual_area {
	position: relative;
	width: 1100px;
	min-height: calc(100vh - 80px);
	margin: 0 auto;
	padding: 20px 0 80px 0;
}
.mainvisual_area .inside {
	display: flex;
	justify-content: space-between;
	align-content:flex-start;
	align-items: center;
}
.mainvisual_area .logo {
	width: 50%;
	text-align: center;
}
.mainvisual_area .logo img {
	width:184px;
	height:auto;
}
.mainvisual_area .mainvisual {
}
.mainvisual_area .scroll {
	position: absolute;
	left: 0;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;;
}
.mainvisual_area .scroll img {
	width: auto;
	height: 55px;
}
#main .message_area {
	display: flex;
	align-items: center;
	width: 1100px;
	min-height: calc(100vh - 180px);
	margin: 0 auto;
	font-size: 1.6rem;
	line-height: 3;
}

/*works*********************/
/********************************/
#main .works_area {
	padding-top: 40px;
}
#main .works_area h2 {
	margin-bottom: 65px;
	text-align: center;
}
#main .works_area .box_area {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 600px;
	margin: 0 auto 20px auto;
}
#main .works_area .box_area .box {
	width: 180px;
	height: 180px;
	margin-bottom: 25px;
}
#main .works_area .box_area .box a {
	text-decoration: none;
}
#main .works_area .box_area .box .photo {
	line-height: 0;
}
#main .works_area .entry_area {
	width: 800px;
	margin: -30px auto 30px auto;
}
#main .works_area .entry_area p {
	text-align: center;
	line-height: 1.7;
}
#main .works_area .entry_area .photo_area .photo {
	display: block;
	justify-content: center;
	line-height: 0;
	text-align: center;
}
#main .works_area .entry_area .photo_area .photo#photo_main img {
	width: 100%;
	height: auto;	
	display: none;
}
#main .works_area .entry_area .photo_area .photo#photo_main img.active {
	display: block;
}
#main .works_area .entry_area .photo_area .photo_sub_area {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin: 40px 0 30px 0;
}
#main .works_area .entry_area .photo_area .photo_sub_area .photo {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 80px;
	height: 80px;
	margin: 0 10px;
	overflow: hidden;
	cursor: pointer;
}
#main .works_area .entry_area .photo_area .photo_sub_area .photo img {
	width: 100%;
	height: auto;	
}
#main .works_area .entry_area .txt_area {
}
#main .works_area .entry_area .txt_area table {
	width: 580px;
	margin: 0 auto 30px auto;
	font-size: 1.0rem;
}
#main .works_area .entry_area .txt_area th{
	width: 90px;
}
#main .works_area .entry_area .txt_area td{
	width: 200px;
}

/*後続汎用aboutなど*********************/
/********************************/
#main .content_area {
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
	width: 100%;
	padding: 20px 0 0 0;
}
#main .content_area .txt_area {
	margin: 20px 0 0 0;
}
#main .content_area .photo_area {
}
#main .content_area .insta_area {
	width: 50%;
}

/*about*/
#main .content_area .gmap iframe {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

