@charset "utf-8";


/* RESET
---------------------------------------- */
html {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 62.5%;
}

body {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
}

article, aside, details, div, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

audio[controls], canvas, video {
	display: inline-block;
	*display: inline;
	zoom: 1;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td, ul, ol, small {
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: normal;
	line-height: 100%;
	text-align: left;
}

p {
	line-height: 170%;
}

br {
	letter-spacing: 0;
}

/*
a, a:link, a:active, a:visited {
	text-decoration: underline;
	outline:none;
}

a:hover {
	text-decoration: none;
}

a:focus {
	outline: none;
}

a:hover, a:active {
	outline: 0;
}
*/

b, strong {
	font-weight: bold;
}

img {
	margin: 0;
	padding: 0;
	vertical-align: top;
	border: 0;
	-ms-interpolation-mode: bicubic;
}

li img {
	vertical-align: middle;
}

.acms-entry table {
	border-collapse: collapse;
	border-spacing: 0;
	border: none;
	/* width: auto !important; */
	width: auto;
	}

.acms-entry table td {
padding: 0px 10px 20px 10px;
border: none;
line-height: 1.8;
}
th, td {
	font-weight: normal;
	text-align: left;
	padding: 0;
	margin: 0;
	line-height: 100%;
}
.acms-entry table th {
padding: 5px 10px;
border: none;
background-color: #fff;;
color: #555;
font-weight: bold;
text-align: left;
vertical-align: top;
letter-spacing: 3px;
}
@media (max-width: 479px) {
.acms-entry table th {
display: block;
width: 100%;
white-space: nowrap;
}
.acms-entry table td {
	display: block;
}
.acms-entry table {
	/* width: 100% !important; */
	width: 90%;
}
.contactBox table th {
    box-sizing: border-box;
    }
}
/* ▲▲▲テーブル table*/


ul, ol {
	zoom: 1;
}

li {
	vertical-align: top;
	list-style: none;
}

dd {
	margin: 0px;
}



/* ---------------
　　　共用
--------------- */
body {
  background: #fff;
  color: #333333;
  font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, 'メイリオ', 'ＭＳ Ｐゴシック', 'MS PGothic', Verdana, sans-serif;
  font-size: 14px;
  /* モダンブラウザ向け */
  _text-align: center;
}

hr.clear{
	clear: both;
	border: none;
}

.btn_mini01 a {
	display: inline-block;
	margin: 5px auto;
	padding: 3px 50px;
	color: #fff;
	line-height: 1.5;
	background: #5a5a5a;
	border-radius: 3px;
	text-decoration: none;
}

.btn_mini01 a:hover {
	background: #8a8a8a;
}

@font-face{
	font-family: 'texgyreadventor';
	src: url('texgyreadventor/texgyreadventor-regular-webfont.eot');
	src: url('texgyreadventor/texgyreadventor-regular-webfont.eot?iefix') format('eot'),
	     url('texgyreadventor/texgyreadventor-regular-webfont.woff') format('woff'),
	     url('texgyreadventor/texgyreadventor-regular-webfont.ttf') format('truetype'),
	     url('texgyreadventor/texgyreadventor-regular-webfont.svg#webfont') format('svg');
}

@font-face{
	font-family: 'texgyreadventor-bold';
	src: url('texgyreadventor/texgyreadventor-bold-webfont.eot');
	src: url('texgyreadventor/texgyreadventor-bold-webfont.eot?iefix') format('eot'),
	     url('texgyreadventor/texgyreadventor-bold-webfont.woff') format('woff'),
	     url('texgyreadventor/texgyreadventor-bold-webfont.ttf') format('truetype'),
	     url('texgyreadventor/texgyreadventor-bold-webfont.svg#webfont') format('svg');
}

body {
	font-family: 'texgyreadventor';
}

img {
	max-width: 100%;
}



/* header
---------------------------------------- */
#header {
	margin: 50px auto 60px auto;
	padding: 0;
	width: 980px;
}

#header h1 {
	float: left;
	margin: 5px 0 0 20px;
	padding: 0;
	width: 240px;
}
.myhome h2.entryTitle{
	margin-top: 2em;
	font-size: 30px;
	}
@media (max-width: 479px) {
	.myhome h2.entryTitle{
	font-size: 20px;
	}
	#header {
	width: 100%;
	}
	#header h1 {
	float: none;
	margin-top: 15px;
	margin-left: 0;
	text-align: center;
	padding: 0;
	width: auto;
	display: block;
	}
	}
header time{
	text-align: right;
	font-size: 12px;
	letter-spacing: 1px;
	color: #aaa;
	margin: 10px 20px 10px 0;
	display: block;
}

#globalnavi {
	float: left;
	margin: 0;
	padding: 0;
	width: 720px;
	text-align: left;
}

#globalnavi nav {
	margin: 0;
	padding: 0;
	text-align: left;
}

#globalnavi li {
	display: table-cell;
	margin: 0;
	padding: 0;
	line-height: 1;
}

#globalnavi li a {
	display: block;
	margin: 0 1px;
	padding: 5px 22px;
	color: #b7b7b7;
	font-size: 13px;
	text-decoration: none;
	letter-spacing: 0.1em;
	background: none;
}

@media (max-width: 1044px) {
#globalnavi li a{
	padding: 5px 8px;	
}}

#globalnavi li a:hover {
	background: #e8e8e8;
}

@media (max-width: 479px) {
#header {
margin: 5px auto 30px auto;
}
.siteHeader #nav-open-btn{
	letter-spacing: 2px;
}
.siteHeader #nav-open-btn i{
	margin-right: 10px;	
	}}




/* sidemenu
---------------------------------------- */
#categoryH1 {
	margin: 0;
	padding: 0;
	color: #5a5a5a;
	font-family: 'texgyreadventor-bold';
	font-size: 20px;
	text-align: left;
	letter-spacing: 0.2em;
	margin: 5px 0 0 20px;
}
@media (max-width: 479px) {
#categoryH1 {
	margin-bottom: 30px;
	text-align: center;
}
}

h2.subTitle {
	margin: 30px 0 25px 0px;
	padding: 0 0 7px 10px;
	color: #5a5a5a;
	font-family: 'texgyreadventor-bold';
	font-size: 13px;
	text-align: left;
	letter-spacing: 0.1em;
	border-bottom: 1px solid #646464;
}
.acms-entry .entryTitle,
.entryTitle {
	margin: 0 0 13px 29px;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.27em;
}
@media (max-width: 479px) {
.acms-entry .entryTitle,
.entryTitle {
	margin: 0 10px 13px 10px;
	letter-spacing: 1px;
	text-align: center;
}}


#entryList,
#categoryList ul,
#archiveList ul {
	border-top: none;
}
.company #entryList {
	margin-top: 43px;
}
#entryList li,
#categoryList li,
#archiveList li {
	margin: 13px 10px;
	color: #999;
}

#entryList a,
#categoryList a,
#archiveList a {
	display: inline;
	padding: 1px 0;
	color: #5a5a5a;
	font-size: 13px;
	font-weight: normal;
	text-decoration: none;
	line-height: 1.7;
	background: none;
	border-bottom: dotted 1px #646464;
	vertical-align: bottom;
	zoom: 1;
}

#entryList a:hover,
#categoryList a:hover,
#archiveList a:hover {
	background: none;
	text-decoration: none;
	border-bottom: none;
}


/* footer
---------------------------------------- */
#pageTop {
	margin: 50px auto 5px auto;
	text-align: right;
}

#pageTop a {
	display: inline;
	position: static;
	bottom: 0;
	right: 0;
	padding: 5px;
	color: #787878;
	font-size: 12px;
	text-decoration: none;
	border-radius: 0;
	background: none;
}

#pageTop a:hover {
	background: none;
	text-decoration: none;
}

#footWrapper {
	margin: 0;
	padding: 10px 0 30px 0;
	border-top: 1px solid #5a5a5a;
}

#companyAbout {
	padding: 20px 0 0 0;
}

#companyAbout dt {
	margin: 0 0 15px 0;
	font-size: 16px;
	font-weight: bold;
}

#companyAbout dd {
	margin: 10px 0;
	color: #787878;
	font-size: 13px;
}

#companyAbout a {
	text-decoration: none;
}

#copyright {
	display: block;
	margin: 0;
	padding: 0;
	background: none;
	color: #a3a3a3;
	font-size: 12px;
	text-align: left;
}

#copyright p {
	width: 980px;
	margin: 0 auto;
	padding: 0 0 0 20px;
	text-align: left;
	font-size: 12px;
	letter-spacing: 0.1em;
	zoom: 1;
}
.footer_tel{
	color:#C40E32;
}
.footer_tel_icon{
	padding: 0 5px;
}
.footer_tel_link,.footer_tel_link:visited{
	color: #C40E32 !important;
	text-decoration: underline !important;
}




/* main
---------------------------------------- */
.entryHeader {
	margin: 0;
	padding: 0;
	border-bottom: none;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	color: #5a5a5a;
}

.entryTitle {
	padding: 0 0 20px 0;
}

.entryTitle a {
	color: #5a5a5a;
	font-weight: bold;
	letter-spacing: 0.2em;
	text-decoration: none;
}



.entryCategory a {
	color: #5a5a5a;
	font-size: 13px;
	text-decoration: none;
}

.entryColumn p {
	color: #5a5a5a;
	font-size: 16px;
	line-height: 2.4;
	padding: 0 10px;
}
.acms-entry ul {
	font-size: 16px;
}

.acms-entry .entryCategory {
	color: #aaa;
	letter-spacing: 1px;
}

.acms-entry h3 {
padding: 7px 10px;
border-radius: 3px;
background-color: #5A5A5A;
font-size: 20px;
color: #fff;
letter-spacing: 1px;
margin: 0 10px 10px 10px;
line-height: 2.0;
}
.acms-entry h3 a{
	color: #fff;
	letter-spacing: 1px;
	text-decoration: none;
}
.acms-entry h4 {
overflow: hidden;
margin: 25px 20px 4px 0;
padding: 0 10px 4px;
border-bottom: solid 1px #aaa;
font-size: 20px;
color: #222;
letter-spacing: 1px;
}

.acms-entry p.ex{
	border: 1px solid #A0A0A0;
	color: #5A5A5A;
	line-height: 1.6;
	padding: 10px 20px 10px;
	overflow: hidden;
	text-align: left;
}
.acms-entry p.lpex{
	border: 1px solid #A0A0A0;
	color: #5A5A5A;
	line-height: 1.6;
	padding: 10px 20px 10px 17%;
	overflow: hidden;
	text-align: left;
}
.acms-entry .column-image-hide{
	display: none;
}

@media screen and (max-width: 480px){
	.acms-entry p.ex{
		padding: 10px 20px 10px 10px;
	}
}



/* トップページ
---------------------------------------- */
.topCase .imgWrap img{
	max-width: 100%;
	height: auto;
	border-radius: 50%;
	transition: all 400ms 0s ease;
}
.topCase{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 0em;
	min-height: 277px;
}
/*
@media screen and (max-width: 767px) {
	.topCase{
		min-height: 430px;
	}
}
*/

/* ------------------------------　　
	トップ追加分▼
------------------------------ */


.top_listText{
	/* border: 1px solid #A0A0A0; */
    color: #5A5A5A;
    line-height: 1.6;
    padding: 10px 5%;
    overflow: hidden;
}
.top_outset h3,.top_outset p{
	text-align: center;
}

.top_outset .top_listText{
	text-align: left;
	width: fit-content;
    margin: 10px auto 10px !important;
}
.top_outset p{
	margin: 10px;
}
.top_outset h3{
	margin: 10px;
	font-size: 1.8rem;
    width: fit-content;
    margin: 10px auto 20px;
    border-bottom: 2px solid #666;
    padding-bottom: 5px;
	letter-spacing: 1px;
}
.top_outset .kyouchou{
	font-size: 2.2rem;
    font-weight: 900;
    color: #444;
} 
.top_outset .top_outset_catch{
		font-weight: bold;
		color: #505050;
		font-size: 1.7rem;
}
.top_outset_linkContainer{
	display: flex;
	justify-content: space-between;
	margin: 30px 30px 40px;
}
.top_outset .top_outset_link{
	background: #1a1f66;
	color: #fff;
	display: block;
    width: fit-content;
    padding: 20px;
    border-radius: 3px;
    font-size: 20px;
    transition: .3s;
	margin: 20px auto 3px;
}
.top_outset .top_outset_link:visited{
	color: #fff;
}
.top_outset .top_outset_link:hover{
	opacity: .5;
	text-decoration: none;
}
.top_outset_linkWrap p{
	margin: 0;
	font-size: 14px !important;
}
.spdp{
	display: none;
}
@media screen and (max-width: 480px){
	.spdp{
		display: block;
	}
	.top_outset h3{
		max-width: 90%;
		line-height: 2.6rem;
	}
	.top_outset_linkContainer{
		flex-direction: column;
	}
	.top_outset .top_listText{
		max-width: 80%;
	}
}
/* ------------------------------　　
	トップ追加分▲
------------------------------ */

.btn_mini01{
	margin-left: auto;
	margin-right: auto;
	text-align: center;
    margin-bottom: 1.5em;	
}
.topCase .imgWrap{
	
	width: 50%;
	padding: 0 10px;
    box-sizing: border-box;
    transition: all 400ms 0s ease;
}
.topCase .imgWrap:hover{
	padding: 0;
}
.topCase .imgWrap:hover img{
	
	box-shadow: 0px 0px 6px rgba(0,0,0,0.4);
	border-radius: 0;
}
@media screen and (min-width: 768px) {
	.topCase .imgWrap{
		max-width: 25%;
	}
}
.topCase .imgWrap label{
	opacity: 0;
	transition: all 500ms 200ms ease;
    margin: 0.5em auto;
    text-align: center;
    color: #666;
    letter-spacing: 1px;
	display: block;
}
@media screen and (max-width: 767px) {
	.topCase .imgWrap label{
		font-size: 1px;
	}
}

.topCase .imgWrap:hover label{
	opacity: 1;
}
@media screen and (max-width: 767px) {
	.topCase .imgWrap:hover label{
		font-size: 13px;
	}
}
.topCase .imgWrap:hover a:link,.topCase .imgWrap:hover a:visited{
	text-decoration: none;
}

#secTopMain h2 {
	margin: 70px auto;
	padding: 10px 20px;
	text-align: center;
}

#secTopMain h2.honne,h2.honne{
	padding: 0 0px 0 0;
	margin-bottom: 1.2em;
	color: #505050;
	font-size: 20px;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.4;
	letter-spacing: 1px;
	text-align: center;
}

#secTopMain h3 {
	margin: 0 0 38px 0;
	padding: 10px 10px;
	color: #505050;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 0.2em;
	border-bottom: 2px solid #5a5a5a;
}
#secTopMain.lp h2 {
	font-size: 38px;
	color: #000;
	margin: 50px 0 38px 0;
	padding: 10px 10px;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 0.2em;
	border-bottom: none;
}
#secTopMain.lp h3 {
	font-size: 38px;
	color: #000;
	font-weight: normal;
	border-bottom: none;
}

#secTopMain h3 > span {
	display: block;
	margin: 0 auto;
	padding: 0 0 10px 0;
	color: #a9a9a9;
	font-size: 16px;
	font-weight: normal;
	text-align: center;
	letter-spacing: 0.1em;
}

#secTopMain h4 {
	margin: 70px auto 50px auto;
	padding: 0 10px;
	color: #505050;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	letter-spacing: 0.2em;
}
#secTopMain.lp h4 {
	font-size: 32px;
	color: #000;
	font-weight: normal;
	border-bottom: none;
}

#secTopMain p {
	margin: 30px auto;
	padding: 0 10px;
	color: #5a5a5a;
	font-size: 16px;
	text-align:	center;
	line-height: 2.0;
	letter-spacing: 0.2em;
}
#secTopMain.lp p {
	font-size: 20px;
	margin: 30px auto 70px auto;
	color: #555;
}
#secTopMain.lp p rt{
	font-size: 12px;
}
.btn_mini01 .lpBtn {
	background: #8A0012;
}
img.wide{
	width: 100%;
	height: auto;
}


@media screen and (min-width: 768px) {
.bx-wrapper .bx-viewport {
    width: auto !important;
    max-width: 940px;
}
}

@media screen and (max-width: 480px) {
	#secTopMain h2 {
		padding: 10px 5px;
	}
	#secTopMain h2 a,
	#secTopMain h3 {
		font-size: 16px;
		letter-spacing: 0.1em;
	}
	#secTopMain h4 {
		font-size: 16px;
		letter-spacing: 0;
	}

	#secTopMain p {
		letter-spacing: 0.1em;
	}
.acms-entry h3 {
	padding: 3px 0px;
    border-radius: 0px;
    font-size: 14px;
    /* margin: 20px 0px 10px 0px; */
    margin: 20px auto 10px auto;
	text-align: center;
	max-width: 95%;
}
.entryColumn p {
    color: #222;
    font-size: 16px;
    line-height: 2.2;
}
.acms-entry ul li {
	font-size: 14px;
    line-height: 1.6;
}
.acms-entry p.ex{
	margin-left: 10px;
	margin-right: 10px;
	}
}

/*　トップページ メインイメージ　*/
#topMainImg .bx-wrapper .bx-viewport {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	border: none;
}

/* トップページ用ヘッドライン */
#secTopMain .mainModuleBox {
	margin: 0 0 40px 0;
	padding-bottom: 0;
	border-radius: 0;
	background: none;
}

#secTopMain .mainModuleBox h2 {
	margin: 0 0 20px 0;
	padding: 10px 30px;
	color: #505050;
	font-size: 20px;
	font-family: 'texgyreadventor-bold';
	text-align: left;
	letter-spacing: 0.2em;
	border-bottom: 2px solid #5a5a5a;
}


#secTopMain .headline {
	list-style: none;
	margin: 0 10px;
	padding: 0;
	font-size: 16px;
	border-radius: 0;
	box-shadow: none;
	background: #fff;
}

#secTopMain .headline li {
	margin: 10px 0;
}

#secTopMain .headline a {
	display: block;
	padding: 5px 20px;
	color: #5A5A5A;
	border-bottom: none;
	vertical-align: bottom;
	zoom: 1;
	text-decoration: none;
}

#secTopMain .headline li:first-child a:hover,
#secTopMain .headline li:last-child a:hover {
	border-radius: 0;
}

#secTopMain .headline .headlineDat {
	display: inline-block;
	width: 100px;
	color: #595757;
	font-size: 14px;
	letter-spacing: 0.1em;
}

#secTopMain .headline .acms-label {
	margin: 0 20px 0 0;
	padding: 0 7px;
	border-radius: 3px;
	background-color: #5a5a5a;
	color: #ffffff;
	font-size: 13px;
	border-radius: 2px;
	vertical-align: middle;
}
@media screen and (max-width: 480px) {
#secTopMain h2.honne{
	font-size: 20px;
    padding-right: 0;
    letter-spacing: 0;
    }
#secTopMain h2 a, #secTopMain h3 {
    font-size: 15px;
    letter-spacing: 0;
}
#secTopMain .headline .acms-label {
	font-size: 11px;
	}
#secTopMain .headline .title{
	padding-top: 5px;
}
#secTopMain p {
    color: #222;
    font-size: 16px;
    line-height: 2.1;
    letter-spacing: 1px;
    text-align: left;
}
#secTopMain p br{
	display: none;
}
}
/* トップページ文字サイズ */
.acms-container p {
	font-size: 16px;
}

/* 一覧ページindex ▼▼▼*/
.summaryNormalEntry{
	display: inline-block;
	margin: 1em auto;
	width: 50%;
	padding:10px 15px;
	box-sizing: border-box;
	float: left;
	}
.summaryNormalEntry.bl-hover{
	background: #eee;
}
.summaryNormalEntry .photo{
	width: 100%;
	height: auto;
	display: block;
	}
.summaryNormalEntry .photo img{
	width: 100%;
	height: auto;
	max-height: 300px;
}
.summaryNormalEntry p.title{
	font-size: 26px;
	padding: 0.5em 0;
	letter-spacing: 2px;
	}
.summaryNormalEntry p.title span{
	color: #bbb;
	font-size: 18px;
}
.summaryNormalEntry p.title a,.summaryNormalEntry p.title a:visited,.summaryNormalEntry p.title a:link{
	color: #333;
}
.summaryNormalEntry p.description{
	font-size: 14px;
	line-height: 1.9;
	color: #777;
}
.summaryService{
	margin: 30px 0 30px 0;
	background: #eee;
	padding: 15px;
}
.summaryService h2{
	text-align: center;
	font-weight:bold;
	font-size: 20px;
	padding-top: 0.5em;
	padding-bottom: 1em;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #bbb;
	letter-spacing: 2px;
}
.summaryService .gaiyou{
	text-align: center;
	color: #777;
	margin-bottom: 2em;
	}
.summaryServiceEntryList{
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-flow:row wrap;
}
.summaryServiceEntry{
	width: 50%;
	padding-bottom: 15px;
	}
.summaryServiceEntry img{
	max-width: 100px;
	height: auto;
	float: left;
	margin-right: 15px;
	}
.summaryServiceEntry .title{
	font-size: 16px;
	letter-spacing: 1px;
	}
.summaryServiceEntry .title a,.summaryServiceEntry .title a:visited,.summaryServiceEntry .title a:link{
	color: #444;
}	
	
@media screen and (max-width: 767px) {
.summaryNormalEntry{
	display: inline-block;
	width: 100%;
	float: none;
	}

}


/* 一覧ページindex ▲▲▲*/

/* お問い合わせ
---------------------------------------- */
.contact_images_wrap{
	display: flex;
}
.contact_images{
	width: 190px;
	height: 190px;
	margin: 22px 0;
}
.contact_text{
	width: 80%;
	margin-left: 20px;
}

@media screen and (max-width: 480px){
	.contact_images_wrap{
		flex-direction: column;
	}
	.contact_images{
		width: 75%;
		height: auto;
		margin: 0 auto 10px;
	}
	.contact_text{
		width: 100%;
		margin-left: 0px;
	}
}

/* contact Navi設定 */
.contactNaviWrap{
	margin-top: 20px;
	background: #fff;
	border: none;
}
.contactNaviListWrap{
	display: flex !important;
	justify-content: space-around;
	width: 80% !important;
}

.contactNaviListWrap a{
	transition: .5s;
	color: #333 !important;
}
.contactNaviListWrap a:hover{
	background: #fff !important;
	opacity: .4 !important;
	color: #333;
}
.contactNaviListWrap li{
	border: none !important;
}
.contactNaviListWrap li:nth-child(1){
	background: #87D0D1;
}
.contactNaviListWrap li:nth-child(2){
	background: #E4B900;
}
.contactNaviListWrap li:nth-child(3){
	background: #68B881;
}
.contactNaviListWrap li{
	margin-bottom: 10px;
}


@media screen and (max-width: 480px){
	.contactNaviListWrap{
		flex-direction: column;
	}
}

.contactH2 {
	margin: 0 0 13px 29px;
	padding: 0;
	border-bottom: none;
	color: #5a5a5a;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.27em;
}

#contactNo {
	margin: -20px 0 0 0;
	padding: 0 10px;
	color: #231815;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.1em;
}


p#contactNo a {
	color: #231815;
	text-decoration: none;
}

#contactNo span.time {
	display: inline-block;
	margin: 0 0 0 30px;
	padding: 0;
	font-size: 13px;
	font-weight: normal;
}

#formReservation,
.contactBox table {
	margin: 0 auto;
	width: 98%;
	/* min-width: 100%; */
}


#formReservation th,
#formReservation td,
.contactBox table th,
.contactBox table td {
	font-size: 14px;
	line-height: 1.7;
}

#formReservation th,
.contactBox table th {
	padding: 15px;
	border: 1px solid #CCCCCC;
	background-color: #E7E7E7;
	color: #231815;
	text-align: left;
	line-height: 1.5;
}

#formReservation td,
.contactBox table td {
	padding: 15px;
	line-height: 1.5;
}

.contactBox .formBtnBox {
	margin: 40px auto 0 auto;
	text-align: center;
}

.contactBox .formBtnBox2 {
	display: block;
	margin: 40px 0 0 10px;
}

.contactBox .acms-btn {
	font-size: 12px;
}

.contactBox .message {
	display: inline-block;
	margin: 10px 10px;
	padding: 0;
	border-radius: 0;
	background-color: none;
	color: #C40F32;
	font-size: 14px;
	font-weight: bold;
}

.contactBox .acms-text-error {
	display: inline-block;
	margin: 4px 0;
	padding: 3px 10px;
	border-radius: 3px;
	background-color: #C40F32;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: normal;
	line-height: 1.2;
}

.required {
    display: inline-block;
}


#date1_m,#date2_m{
	/* min-width: 36px; */
	width: 90px;
}
#date1_d,#date1_t,#date2_d,#date2_t{
	/* min-width: 50px; */
	width: 90px;
}
/* ▲▲▲メールフォーム */

/* 家づくり相談会 ▼▼▼*/
.form_catch_copy{
	text-decoration: underline;
	font-weight: bold;
	/* margin-bottom: 0 !important; */
	font-size: 15px !important;
}
.form_copy{
	margin-bottom: 0 !important;
	line-height: 1.7 !important;
}
.contact_lists_wrap{
	margin: 20px 0 10px !important;
}
.contact_lists{
	margin-bottom: 0 !important;
}
.contact_form_text{
	margin: 5px 0;
}
.contact_form_text_free{
	margin: 5px 0;
	color: #C40F32;
}
@media screen and (max-width: 480px){
	.contact_lists_wrap{
		margin: 20px 0 25px !important;
	}
}
/* ▲▲▲家づくり相談会 */

/* 無料メール相談▼▼▼ */
.contact_free_wrap{
	margin: 0 !important;
}
.consultationWrap{
	display: flex;
	flex-direction: column;
}
.date_title{
	margin-bottom: 5px;
}
.contact_free_images_wrap{
	display: flex;
}
.contact_free_text{
	width: 80%;
	padding: 0 10px;
}
.contact_free_text p{
	padding: 0 10px 0 0 !important;
}
.contact_free_images{
	width: 190px;
	height: 190px;
	/* margin: 0; */
}
@media screen and (max-width: 480px){
	.contact_free_images_wrap{
		display: flex;
		flex-direction: column-reverse;
		margin-bottom: 20px;
	}
	.contact_free_images{
		width: 75%;
		height: auto;
		margin: 10px auto;
	}
	.contact_free_text{
		width: 100%;
		padding: 0 10px;
	}
	.consultationWrap{
		display: flex !important;
		flex-direction: column;
	}
}

/* モデルハウス見学予約フォーム▼▼▼ */
.myhome_selectBox{
	min-width: 75px;
}
.myhome_caution{
	color: #C40F32;
}
.myhome_caution_wrap{
	margin: 10px 0;
	padding: 0 10px;
}
.myhome_date1_wrap{
	display: flex;
	flex-direction: column;
}
.form_copy_modelhouse{
	line-height: 1.9 !important;
}
.contact_modelhouse_text{
	width: 80%;
	margin: 20px;
}
.contact_modelhouse_images{
	width: 190px;
	height: 190px;
	margin: 20px 0 0 0 ;
}

@media screen and (max-width: 480px){
	.contact_modelhouse_text{
		width: 100%;
		margin: 15px 0 0 0;
	}
	.contact_modelhouse_images{
		width: 75%;
		height: auto;
		margin: 10px auto;
	}
}

/* ▲▲▲モデルハウス見学予約フォーム */

/* コンタクトフォームナビボタン設定▼▼▼ */
.contact_soudan{
	background: #87D0D1;
}
.contact_mail{
	background: #E4B900;
}
.contact_house{
	background: #68B881;
}
.contact_tel{
	background: #DD786B;
	display: none;
}

.contact_nav_fixed_wrap_pc{
	background: #ccc;
	position: fixed;
	right: 0;
    bottom: 25%;
	z-index: 9999;
}
.contact_nav_fixed_wrap_sp{
	display: none;
}
.contact_links a{
	display: block;
	padding: 10px;
	-webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	color: #222;
	text-decoration: none;
	transition: .3s ease-out;
}
.contact_links a:hover{
	opacity: .3;
}
@media screen and (max-width: 480px){

	.contact_nav_fixed_wrap_sp{
		background: rgba( 255, 255, 255, 0.45 ); 
		display: flex;
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: 9999;
		width: 100%;
		justify-content: space-between;
	}
	/* .contact_footer_nav{
		display: none;
	} */
	.contact_nav_fixed_wrap_pc{
		display: none;
	}
	.contact_links{
		width: 27%;
		border-top: 1px solid #333;
		border-left: 1px solid #333;
	}
	.contact_links_first{
		border-left: unset;
	}
	.contact_links a{
		display: block;
		padding: 20px 0;
		-webkit-writing-mode: unset;
		-moz-writing-mode: unset;
		-ms-writing-mode: unset;
		-ms-writing-mode: unset;
		writing-mode: unset;
		color: #222;
		text-decoration: none;
		transition: background .3s ease-out;
		text-align: center;
		z-index: 9999;
	}
}

/* ▲▲▲コンタクトフォームナビボタン設定 */

/* トップバナー */
.topBanner{
	margin: 15px auto 30px auto;
	text-align: center;
background: #eee;
    padding: 20px 0;
    border-radius: 10px;
    }
.topBanner img{
	width: 95%;
	margin: 0 auto;
	padding-bottom: 10px;
	height: auto;
}
.topBannerSub div{
	margin-bottom: 1em;
}
.topBannerSub img{ padding-bottom: 10px;}
.topBannerSub span{
	margin-left: 1.5em;
    margin-right: 1.5em;
    /* padding-left: 1em; */
    /* padding-right: 1em; */
    box-sizing: border-box;
    max-width: 100%;
    display: block;
}
.bannerDiv{
	margin-bottom: 2em;
	text-align: center;
	line-height: 1.4;
	}

@media screen and (max-width: 480px){
.topBannerSub div img{
	padding-left: 10px;
	padding-right: 10px;
	    box-sizing: border-box;
}
	.summaryNormalEntry_sp{
		display: flex;
		border: 1px solid #aaa;
		margin: 10px;
	}
	.summaryNormalEntry_sp .photo{
		width: 160px;
	}
	.title_sp{
		line-height: 1.5;
	}
	.title_sp .acms-icon{
		padding: 0 0 2px 0;
	}
	.summaryNormalEntry_spTitle,.summaryNormalEntry_spTitle:visited{
		color: #333;
	}
	.summaryNormalEntry_spTextWrap{
		width: 50%;
		margin-left: 8px;
	}
	.description_sp{
		font-size: 14px !important;
		line-height: 1.4;
		color: #777;
	}
}

/* スマホグローバルナビサブ設定 */
.spGlovalNavi_sub_wrap{
	width: 100%;
	margin-top: 25px;
}
.spGlovalNavi_sub_wrap ul{
	display: flex;
	flex-direction: column;
	padding: 0;
	list-style: none;
}
.spGlovalNavi_sub_wrap ul li{
	border-bottom: unset;
}
.spGlovalNavi_sub_wrap ul a{
	display: block;
	width: 70%;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	padding: 25px;
	margin: 10px auto;
	background: #fff;
	color: #1a1f66 !important;
}


/* スマホサイトヘッダーサブ */
.siteSubHeaderWrapper{
	display: none;
}
@media screen and (max-width: 767px){
	#nav a{
		padding: 20px 15px;
	}
	.entryListBox #entryList a{
		padding: unset;
	}
	.siteSubHeaderWrapper{
		display: block;
	}
	#header h1{
		margin: 15px 0 0 20px;
	}
	#headWrapper{
		padding-top: 0;
	}
	header #header{
		margin: 12px auto 10px auto;
	}
	.siteHeaderWrapper{
		max-width: 60px;
		padding: 0;
	}
	.siteSubHeaderWrapper ul a{
		display: block;
		background: #5A5A5A;
		border-radius: 3px;
		color: #fff;
		padding: 12px 5px;
		margin: 0 10px;
	}
	.siteHeaderNaviWrapper {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
	}
	.acms-btn{
		padding: 0;
	}
	a.js-offcanvas-btn.js-offcanvas-btn-l.acms-btn.headerTab.js-acms-offcanvas-btn {
		border-radius: 30px;
		background: #343434;
		color: #FFF;
		width: 50px;
		height: 50px;
	}
	.acms-icon-sort:before{
		font-size: x-large;
	}
	i.acms-icon-sort{
		margin-top: 13px;
	}
}


/* ------------------------------　　
	タバタ設計 家づくり LP CSS
------------------------------ */
/* タバタ設計 家づくり LP */
.tabata_iezukuri_lp p{
	text-align: center;
}
.subtitle_lp{
	display: block;
	margin: 30px auto !important;
	padding: 0 !important;
	/* color: #a9a9a9 !important; */
	font-size: 16px !important;
	font-weight: normal;
	letter-spacing: 0.1em;
} 
.title_lp3{
	background: none !important;
	margin: 38px 0 38px 0 !important;
	padding: 10px 10px !important;
	color: #505050 !important;
	font-size: 18px !important;
	font-weight: bold;
	text-align: center;
	line-height: 1.4 !important;
	letter-spacing: 0.2em !important;
	border-bottom: 2px solid #5a5a5a; 
}
.title_lp3_glay{
	background: #5a5a5a !important;
	margin: 38px 0 38px 0 !important;
	padding: 10px 10px !important;
	color: #fff !important;
	font-size: 18px !important;
	font-weight: bold;
	text-align: center;
	line-height: 1.4 !important;
	letter-spacing: 0.2em !important;
	border-bottom: 2px solid #5a5a5a; 
}
@media screen and (max-width: 480px){
	.lp_sentence{
		text-align: unset !important;
	}
}

/* LPバナー */
.lp_banner_wrap{
	display: flex;
	flex-direction: column;
}
.lp_banner_linkWrap{
	text-align: center;
}
.lp_banner_linkWrap a,.lp_banner_linkWrap a:visited{
 	color: #5a5a5a;
}
.lp_banner_linkWrap a{
	width: fit-content;
	margin: 0 auto;
	font-size: 20px;
	display: block;
	padding: 10px;
	text-decoration: underline;
}
@media screen and (max-width: 480px){
	.lp_banner_linkWrap a{
		margin-top: 10px;
	}
	#outer-wrap{
		overflow: hidden !important;
	}
	#offcanvas{
		background: #1a1f66;
	}
}


/*  カスタムユニット ボタンLink */
/* 裏側 */
.acms-entry .custom_btn_01_container{
	width: 80%;
	margin: 0 auto;
}
.acms-entry .custom_btn_01_container th{
	text-align: right;
	width: 20%;
}

/* 表側 */
.lp_btn_wrap a{
	display: block;
	width: fit-content;
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 20px;
	border-radius: 3px;
	font-size: 20px;
	transition: .3s;
}
.lp_btn_wrap a,.lp_btn_wrap a:visited{
	color: #fff;
}
.lp_btn_wrap a:hover{
	text-decoration: none;
	opacity: .5;
}
.lp_btn_wrap .color_select_01{
	background: #C40E32;
}
.lp_btn_wrap .color_select_02{
	background: #1a1f66;
}
.lp_btn_wrap .btn_position_center{
	margin: 10px auto;
}
.lp_btn_wrap .btn_position_right{
	float: right;
}

/* リポート編集 */
.report_acms-entry{
	background: #eee;
	padding-top: 5px;
}
.report_acms-entry header time{
	color: unset;
}
.report_acms-entry .entryHeader .entryCategory {
	color: unset !important;
}

@media screen and (min-width: 1023px){
	.subModuleBox{
		max-width: 20%;
	}
	.entryListWrap{
		position: absolute;
		max-width: 16%;
	}
	.categoryListWrap{
		position: absolute;
		top: 750px;
		max-width: 20%;
	}
	.archiveListWrap{
		position: absolute;
		top: 1250px;
		max-width: 20%;
	}

	.subWrap .subWrapModuleBox{
		max-width: 20%;
	}
	.subWrap .entryListWrap{
		position: absolute;
		max-width: unset;
	}
	.subWrap .categoryListWrap{
		position: absolute;
		top: 450px;
		max-width: unset;
	}
	.subWrap .archiveListWrap{
		position: absolute;
		top: 950px;
		max-width: unset;
	}
	
}
@media screen and (max-width: 480px){
	#categoryList li a{
		color: #666;
	}
	#categoryList li{
		border-bottom: unset;
	}
}

.entryColumn .error_check_text{
		display: none;
		margin: 4px 0;
		padding: 3px 10px;
		border-radius: 3px;
		background-color: #C40F32;
		color: #FFFFFF;
		font-size: 12px;
		font-weight: normal;
		line-height: 1.2;
		width: fit-content;
}
.required.WhichOne {
    background: #C40F32;
    font-weight: 600;
}
.myhome_contactWrap tbody td input{
	margin-bottom: 10px;
}
@media screen and (max-width: 480px){
	.myhome_contactWrap tbody tr th,.myhome_contactWrap tbody tr td{
		width: 100%;
	}
	.myhome_contactWrap tbody td input{
		width: 90% !important;
		margin-bottom: 10px;
	}
	.myhome_contactWrap tbody td textarea{
		width: 90% !important;
	}
}

.acms-entry li{
	list-style: unset; 
}

/* テキストユニットの装飾 ▼▼▼*/
span.center {
	text-align: center; }
  
  span.maxbig {
	font-size: 1.5em; }
  
  span.big {
	font-size: 1.25em; }
  
  span.mini {
	font-size: 0.875em; }
  
  span.bold {
	font-weight: 700; }
  
  h2 span.bold, h3 span.bold, h4 span.bold, span.maxbig span.bold, span.bold span.maxbig {
	font-weight: 900; }
  
  span.keikou {
	padding-left: 0.5em;
	padding-right: 0.5em;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(62%, transparent), color-stop(30%, #FFE757));
	background: -webkit-linear-gradient(transparent 62%, #FFE757 30%);
	background: -o-linear-gradient(transparent 62%, #FFE757 30%);
	background: linear-gradient(transparent 62%, #FFE757 30%);
	padding-bottom: 0.25em; }
  
  span.keikou-skyblue {
	padding-left: 0.5em;
	padding-right: 0.5em;
	background: #99FFFF;
	padding-top: 0.25em; }
  
  span.dangerColor {
	color: #C40E32; }
  
  span.whiteText {
	color: #fff;
	text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.3); }
  
  span.textCenter {
	display: block;
	text-align: center; }
  
  .entryFormLiteEditor span.textCenterMobile {
	display: block;
	text-align: center; }
  
  .entryFormLiteEditor span.textCenterMobile:after {
	content: '【！】モバイル版で中央表示';
	font-weight: 700;
	background: #e01e2c;
	color: #fff;
	opacity: 0.5;
	display: block;
	font-size: 18px; 
	position: absolute;
	top: 10px;
	left: 10px; }
  
  @media (max-width: 1023px) {
	span.textCenterMobile {
	  display: block;
	  text-align: center; } }
  
  @media (min-width: 1024px) {
	span.textBrakeMobile br {
	  display: none; } }
  
  .entryFormLiteEditor span.textBrakeMobile br {
	display: block; }
  
  .entryFormLiteEditor span.textBrakeMobile:before {
	content: '【！】モバイル版だけ改行';
	font-weight: 700;
	background: #e01e2c;
	color: #fff;
	opacity: 0.5;
	display: block;
	font-size: 18px;
	position: absolute;
	top: 10px;
	right: 10px; }
  
  .lite-editor-toolbox .acms-icon-undo {
	-webkit-transform: scale(1, -1);
	-ms-transform: scale(1, -1);
	transform: scale(1, -1);
	margin-left: -2px;
	padding-right: 4px; }
  
  .lite-editor-toolbox .whiteText, .entryFormLiteEditor .whiteText {
	background: #ddd;
	font-weight: 700;
	text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.8); }
  
  /* テキストユニットの装飾 ▲▲▲*/

/* インスタグラム */
.insta_img_wrap{
	text-align: right;
}
.insta_img{
	width: 25%;
}
@media screen and (max-width: 480px){
	.acms-grid, .acms-grid-r{
		display: flex;
		flex-direction: column-reverse;
	}
	.company, .acms-grid, .acms-grid-r{
		display: flex;
		flex-direction: column;
	}
	.company .acms-grid, .acms-grid-r .main{
		width: 100%;
	}
	.company .acms-entry h3{
		width: 100%;
	}
	.price .acms-entry h3{
		width: 100%;
		text-align: left;
	}
	.insta_img{
		width: auto;
	}
}

/*  2025/03/27　TOPリニューアル▼▼▼
------------------------------ */
/* 全体のこと */
.top-container.acms-container{
	max-width: 100vw;
	padding-left: 0;
	padding-right: 0;
}

.section-title, .section-event-list__heading, .section-headline-news__title .section-event-list__heading, .section-headline-news__title .section-title,p,h1,h2,a,#secTopMain h3.section-top-concept__title{
	  font-family: "Zen Kaku Gothic New","Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
	  font-weight: 500;
	  font-style: normal;
}

/* ヘッダー */
#header {
	margin: 15px auto 0px auto;
}

#globalnavi li a {
	padding: 5px 15px;
}

@media (min-width: 769px){
	#globalnavi ul.clearfix {
		display: flex;
		justify-content: end;
	}
	#globalnavi li a {
		padding: 5px 9px 15px 15px;
	}
}

@media (min-width: 768px) and (max-width: 849px) {
	#header h1{
		width: 170px;
	}
	#globalnavi li a{
		font-size: 12px;
		padding: 5px 8px;
	}
}

@media (min-width: 850px) and (max-width: 1000px) {
	#header h1{
		width: 240px;
	}
	#globalnavi li a{
		font-size: 12px;
		padding: 5px 10px;
	}
}

/* フローティングバナー */
.contact_links a {
	-webkit-writing-mode: inherit;
}

.contact_nav_fixed_wrap_pc{
	display: flex;
	bottom: 0%;
}

a.pagetop-button.scrollTo{
	background: #020202;
}

.contact_soudan,.contact_mail,.contact_house{
	background: #505050;
}

@media (min-width: 769px){
	.contact_soudan a,.contact_mail a,.contact_house a{
		color: #FFF;
		padding: 17px 20px;
		font-size: clamp(16px, 2vw, 20px);
		font-weight: 400;
	}
	.contact_nav_fixed_wrap_pc{
		gap: 4px;
	}
}

@media (max-width: 769px){
	.contact_nav_fixed_wrap_pc{
		display: none;
	}
	.contact_soudan a,.contact_mail a,.contact_house a{
		color: #FFF;
		font-size: smaller;
	}
	.contact_nav_fixed_wrap_sp{
		gap: 3px;
	}
	.contact_links.contact_house.btn_scroll{
		width: 58px;
	}
}

.contact_nav_fixed_wrap_pc{
	background: none;
}


/* メインビジュアル */

img.main-visual-image{
	width: 100%;
	max-height: 80vh;
}


.main-visual__container .top-banner {
	display: inline-block;
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translateY(30%);
	z-index: 999;
}

.main-visual-image__container {
  position: relative; 
}

.main-visual-image__container:after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .05);
  z-index: 998;
}

.main-visual__container {
	position: relative; 
}

.main-visual__container .float-box {
	position: absolute;
	top: 50%;
	left: -8px;
	width: 100%;
	padding: 0 120px;
	transform: translateY(-50%);
	z-index: 999;
	box-sizing: border-box;
}

.main-visual__container .float-box__text {
	font-size: clamp(32px, 3vw, 56px);
	font-weight: 600;
	color: #fff;
}



@media (max-width: 769px){
	.main-visual__container .float-box__text {
		font-size: 24px;
	}
	.main-visual__container .float-box{
		padding: 0 30px;
	}
	.main-visual__container .float-box {
		top: 16%;
	}
	.SPKaigyou{
		white-space: nowrap;
	}
}




/* 設計から竣工まですべて */

#secTopMain p.section-top-message__text{
	margin-bottom: 80px;
	margin-top: 120px;
	font-weight: 500;
	font-size: clamp(18px, 1vw, 24px);
}

img.planning__image{
	margin: 0 auto;
	display: block;
	margin-bottom: 250px;
}

.planning__wrapper {
	position: relative;
	overflow: hidden;
}

.planning__wrapper::after {
	content: "";
	position: absolute;
	top: calc(5%);
	left: calc(60%);
	width: 50%;
	aspect-ratio: 800 / 630;
	background-image: url(../images/bg_img_wireflame1.png);
	background-size: cover;
	opacity: 0.5;
	z-index: -1;
}

@media (min-width: 769px){
	img.planning__image{
		width: clamp(10vw, 40%, 50vw);
	}
	span.PC_Kaigyou{
		white-space: nowrap;
	}
}

@media (max-width: 769px){
	#secTopMain p,#secTopMain p.section-top-message__text{
		margin-bottom: 40px;
		margin-top: 60px;
		font-size: 18px;
	}
	#secTopMain p br {
		display: inline;
	}
	#secTopMain p.section-top-message__text{
		margin-right: 10px;
		margin-left: 10px;
		text-align: center;
	}

	.planning__wrapper::after {
		top: calc(55%);
		left: calc(1%);
		width: 100%;
	}
}

/* 想い、理想を叶える設計 */

.section-top-message,.section-top-voice {
	box-sizing: border-box;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
}

.section-top-message{
	background-image: url(../images/bg_onlyone.png);
}

#secTopMain .section-top-message__title {
	font-size: 1.75rem;
	font-weight: 600;
}

#secTopMain section.section-top-message.section p{
	text-align: start;
	line-height: 3;
	margin-top: 80px;
}

#secTopMain section.section-top-message.section h2{
	text-align: start;
	margin: 30px auto;
	padding: 0;
	margin-top: 80px;
	font-size: clamp(24px, 2vw, 32px);
	margin-left: 50px;
}

section.section-top-message.section .section-top-message__inner {
	margin: 0 auto;
	writing-mode: vertical-rl;
}

.section-top-message__text {
	line-height: 3.5;
}

@media (min-width: 769px){
	section.section-top-message.section .acms-container{
		max-width: none;
	}
}

@media (max-width: 769px){
	.section-top-message, .section-top-voice{
		height: 50%;
	}
	#secTopMain section.section-top-message.section p{
		line-height: 2.3;
		margin-bottom: 122px;
	}
	#secTopMain section.section-top-message.section h2{
		font-size: 24px;
		margin-left: 25px;
		margin-right: 40px;
	}
	.section-top-message{
		background-image: url(../images/bg_onlyone-sp.png);
	}
}

/* INFORMATION */
.section-headline-news__inner.acms-container{
	max-width: 65%;
}

.section-headline-news__title {
	position: relative;
	margin-bottom: 50px;
	text-align: center;
}

.section-headline-news__title .section-title, .section-headline-news__title .section-event-list__heading {
	margin-left: -15px;
}
.section-title, .section-event-list__heading, .section-headline-news__title .section-event-list__heading, .section-headline-news__title .section-title{
	display: inline-block;
	border-bottom: 5px solid #333;
	padding-bottom: 30px;
}


.section-headnews__wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}

#secTopMain h2.section-headline-news__title{
	margin: 0;
	margin-top: 165px;
	margin-bottom: 80px;
}

#secTopMain p.section-button {
	margin-top: -92px;
	text-align: end;
}

.section-headline-news .acms-margin-bottom-medium{
	margin-top: 50px;
}

#secTopMain section.section-headline-news span.section-title,h2.section-top-works__title,h2.section-top-voice__title,#secTopMain h2.section-top-area__title{
	font-size: clamp(28px, 2vw, 36px);
	letter-spacing: 0px;
	font-weight: 900;
	color: #2D2D2D;
}

p.section-button a {
	background: #2D2D2D;
	border-radius: 30px;
	font-size: 14px;
	padding: 6px;
	padding-bottom: 8px;
	padding-left: 14px;
	padding-right: 11px;
	font-weight: 400;
}

.section-button a{
	color: #FFF;
}

.section-headline-news li a{
	color: #2D2D2D;
	margin: 0;
	font-weight: 500;
	font-size: 18px;
	display: flex;
}

.section-headline-news time{
	margin-right: 40px;
}

.section-headline-news .acms-list-group-item{
	padding: 24px 0;
}

section.section-headline-news.section{
	margin-bottom: 160px;
}

section.section-headline-news .acms-list-group-item{
	border-bottom: 1px dotted #E5E5E5;
	line-height: 1.2;
}

section.section-headline-news .acms-list-group{
	border-top: 1px dotted #E5E5E5;
}

@media (min-width: 769px){
	p.section-button.Top_moreSP{
		display: none;
	}
}

@media (max-width: 769px){
	#secTopMain section.section-headline-news span.section-title{
		font-size: 32px;
	}
	.section-headline-news__inner{
		padding-left:  20px;
		padding-right: 20px;
	}
	#secTopMain h2.section-headline-news__title p{
		margin: 0;
	}
	#secTopMain h2.section-headline-news__title p.section-button{
		font-size: 16px;
	}
	#secTopMain h2.section-headline-news__title{
		margin-top: 80px;
		margin-bottom: 40px;
	}
	.section-headline-news__inner.acms-container{
		max-width: 100%;
	}
	p.section-button.Top_more{
		display: none;
	}
	#secTopMain p.section-button.Top_moreSP{
		margin-top: 0px;
	}
	.section-headline-news .acms-margin-bottom-medium{
		margin-top: 0;
	}
	section.section-headline-news.section{
		margin-bottom: 96px;
	}
}



/* タバタ設計の家づくり */

.section-top-about__inner,.section-top-promise__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 160px;
}

.section-top-promise__inner {
	flex-direction: row-reverse;
}

.section-top-about__inner h2,.section-top-promise__inner h2{
	font-size: 32px;
	font-weight: 800;
}

#secTopMain .section-top-about__inner p,#secTopMain .section-top-promise__inner p{
	width: clamp(10vw, 70%, 50vw);
	text-align: start;
}

#secTopMain p.button-container,div.button-container{
	text-align: center;
	background: #2D2D2D;
	width: 26%;
	padding: 17px 40px;
}

.button-container a,#secTopMain .button-black p.button-container{
	color: #FFF;
}

#secTopMain a.button-black:hover{
	color: #FFF;
	text-decoration: underline;
}

.button-container{
	position: relative;
	width: 100%;
	height: auto;
	padding: .5em .75em;
	border-radius: 0;
	background: initial;
	text-align: center;
	box-sizing: border-box;
}

.button-container:after{
	display: block;
	position: absolute;
	top: 50%;
	right: -10px;
	content: "";
	width: 20px;
	height: 1px;
	background-color: #C9C9C9;
}

@media (min-width: 769px){
	#secTopMain h2.section-top-about__title,#secTopMain h2.section-top-promise__title{
		font-size: clamp(24px, 2vw, 32px);
		font-weight: 900;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.section-top-about__text-container,.section-top-about__image-container,.section-top-promise__text-container,.section-top-promise__image-container {
		flex-basis: 50%;
	}
}

@media (max-width: 769px){
	.section-top-about__inner, .section-top-promise__inner{
		flex-direction: column;
	}
	#secTopMain .section-top-about__inner p, #secTopMain .section-top-promise__inner p{
		width: 90%;
	}
	#secTopMain p.button-container, div.button-container,#secTopMain .section-top-works .button-container{
		width: 77%;
	}
	#secTopMain h2.section-top-works__title span{
		border-bottom: 4px solid #333;
	}
	h2.section-top-works__title::after, h2.section-top-voice__title::after{
		display: none;
		line-height: 2px;
	}
	#secTopMain .section-top-about__inner h2,#secTopMain .section-top-promise__inner h2{
		margin: 32px auto;
	}
	#secTopMain .section-top-about__inner p,#secTopMain .section-top-promise__inner p{
		margin-top: 32px;
	}
	.section-top-about__inner,.section-top-promise__inner{
		margin-bottom: 76px;
	}
}

@media (min-width: 769px) and (max-width: 1800px) {
	#secTopMain p.button-container {
		width: clamp(8vw, 60%, 24vw);
	}	
}

/* 施工事例*/

#secTopMain h2.section-top-works__title,#secTopMain h2.section-top-voice__title{
	text-align: start;
	margin: 0;
	padding-top: 0;
}

h2.section-top-works__title,h2.section-top-voice__title {
	text-orientation: upright; 
	position: relative;
	padding-right: 10px; 
}

h2.section-top-works__title::after,h2.section-top-voice__title::after  {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 3px; 
	height: 4em; 
	background-color: black; 
}

.section-top-works__inner {
	display: flex;
}

.section-top-works .button-container {
	position: relative;
	width: 26%;
	height: auto;
	padding: 17px 48px;
	border-radius: 0;
	background: initial;
	text-align: center;
	box-sizing: border-box;
	background: #2D2D2D;
	margin: 0 auto;
}

h2.section-top-works__title,h2.section-top-voice__title {
	writing-mode: vertical-rl;
}

.section-top-works .acms-container{
	margin-top: -2%;
}

.section-top-works {
	position: relative;
	height: 80%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white; /* テキストは影響を受けない */
	margin-top: 160px;
}

.section-top-works::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url(../images/ptn_01.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.5; /* 透明度調整 */
	z-index: -1;
}

.section-top-works__inner a{
	color: #2D2D2D;
}



#secTopMain .section-top-works__inner h3,#secTopMain .section-top-area__inner h3{
	border-bottom: none;
	margin-bottom: 70px;
}

@media (min-width: 769px){
	section.section-top-works.section .acms-margin-bottom-medium{
		margin-bottom: 90px !important;
		margin-left: 40px;
	}
	#secTopMain .section-top-works__inner p.button-container{
		width: 33%;
	}
}

@media (max-width: 769px){
	.section-top-works{
		height: auto;
	}
	.section-top-works__item img.acms-img-responsive {
		width: 100vw;
		height: auto; 
	}
	.section-top-works__inner .acms-col-6{
		width: 48%;
	}
	#secTopMain h2.section-top-works__title, #secTopMain h2.section-top-voice__title{
		margin-right: 0px;
		margin-bottom: 50px;
	}
	#secTopMain h2.section-top-works__title{
		margin-top: -120px;
	}
	.section-top-works__inner{
		display: unset;
	}
	h2.section-top-works__title, h2.section-top-voice__title{
		writing-mode: inherit;
	}
	.section-top-works__inner .acms-grid{
		align-items: center;
	}
	#secTopMain h2.section-top-works__title, #secTopMain h2.section-top-voice__title,
	#secTopMain h2.section-top-concept__section-title,#secTopMain h2.section-top-voice__title{
		text-align: center;
		font-size: 32px;
	}
	.section-top-works__inner .acms-grid{
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}
	#secTopMain .section-top-works .button-container{
		margin-top: 0;
		width: 60%;
		margin-bottom: 100px;
	}
}

/* 家づくりの秘訣 */
#secTopMain h3.section-top-concept__title {
	font-size: clamp(24px, 2vw, 32px);
	color: #2D2D2D;
}

#secTopMain h3.section-top-concept__title{
	text-align: start;
	border-bottom: none;
}

.section-top-concept__inner {
	padding: 10% 0 0;
}


.section-top-concept__section-title {
	padding-right: .25em;
	border-right: 3px solid #1a1311;
	writing-mode: vertical-rl;
	font-size: 1.75rem;
	font-weight: 600;
	font-size: clamp(24px, 2vw, 32px);
}

.section-top-concept__text-container {
	flex-basis: 50%;
}

#secTopMain h2.section-top-concept__section-title{
	padding: 0;
	padding-right: 10px;
	margin-top: 0;
	margin: -16% auto;
	margin-left: clamp(16px, 77vw, 1200px);
}

section.section-top-concept.section{
	margin-top: 250px;
}

.section-top-concept__ancos, .section-top-concept__besele, .section-top-concept__fullte {
	display: flex;
	margin-bottom: 60px;
}

 .section-top-concept__besele{
	 flex-direction: row-reverse;
 }


.section-top-concept__title {
	display: inline-block;
	writing-mode: vertical-rl;
	line-height: 1;
	font-size: 2.625rem;
	font-weight: 500;
}

.section-top-concept__title .ja {
	display: inline-block;
	margin-top: .5em;
	font-size: 1.75rem;
	font-weight: 500;
}

.section-top-concept__image-text {
	display: flex;
}

.section-top-concept__besele .section-top-concept__image-text{
	flex-direction: row-reverse;
}

#secTopMain p.section-top-concept__text {
	padding: 0 23px 1em 50px;
	border-bottom: 3px solid #1a1311;
	text-align: start;
	line-height: 1.5;
}

#secTopMain p.section-top-concept__text a{
	color: #2D2D2D;
}


#secTopMain .section-top-concept__besele p{
	padding: 0 50px 1em 23px;
}

section.section-top-concept.section .button-container,section.section-top-voice.section .button-container,section.section-top-area.section .button-container{
	margin: 0 auto;
}

#secTopMain .section-top-concept__ancos h3,#secTopMain .section-top-concept__fullte h3{
	padding-right: 63px;
	font-weight: 600;
	padding-top: 0;
}

#secTopMain .section-top-concept__besele h3{
	font-weight: 600;
	padding-top: 0;
	padding-left: 63px;
}


#secTopMain .section-top-concept__text {
  padding: clamp(12px, 2vw, 24px);
  border-bottom: 3px solid #1a1311;
}

#secTopMain .section-top-concept__text {
  font-size: clamp(14px, 1.2vw, 18px);
  line-height: 1.6;
  margin: 0;
  text-align: left;
}

#secTopMain p.section-top-concept__text{
	padding: 200px 23px 1em 50px;
}


@media (max-width: 769px){
	.section-top-concept__image-container img {
		width: 100%;
		max-width: 635px;
		height: auto;
	}
	.section-top-concept__section-title{
		position: inherit;
		transform: inherit;
		border: none;
		writing-mode: inherit;
	}
	.section-top-concept__text-container,.section-top-concept__besele .section-top-concept__text-container{
		margin: 0;
	}
	#secTopMain p.section-top-concept__text,#secTopMain .section-top-concept__besele p.section-top-concept__text{
		margin: 0;
		padding: 0;
		width: 100%;
		line-height: 1.8;
		margin-top: 10px;
		padding-bottom: 26px;
		font-size: 16px;
	}
	#secTopMain .section-top-concept__besele p.section-top-concept__text{
		padding-left: 20px;
	}
	.section-top-concept__text {
		margin: 0;
	}
	.section-top-concept__image-text{
		display: block;
	}
	.section-top-concept__ancos, .section-top-concept__besele, .section-top-concept__fullte{
		margin-bottom: 60px;
	}
	.section-top-concept__inner{
		margin-right: 0;
	}
	#secTopMain h2.section-top-concept__section-title{
		margin: 0;
		margin-bottom: 50px;
		font-weight: 800;
	}
	#secTopMain h2.section-top-concept__section-title span.title,
	#secTopMain h2.section-top-voice__title span.title{
		border-bottom: 4px solid #333;
	}
	section.section-top-concept.section {
		margin-top: 50px;
	}
	#secTopMain .section-top-concept__ancos h3,#secTopMain .section-top-concept__fullte h3{
		padding-right: 10px;
		font-size: 20px;
	}
	#secTopMain .section-top-concept__besele h3 {
		padding-left: 24px;
		font-size: 20px;
		padding-right: 24px;
	}
}

@media (min-width: 769px) and (max-width: 1440px) {
	.section-top-concept__besele .section-top-concept__text-container{
		margin-top: 26px;
	}
}

/* お客様の声 */
.section-top-voice {
	background-image: url(../images/bg_voice.png);
	margin-top: clamp(80px, 10vw, 200px);
	padding: clamp(80px, 10vw, 200px);
	padding-top: clamp(60px, 8vw, 200px);
}

.section-top-voice a:hover{
	color: #000;
}

.section-top-voice__inner {
	display: flex;
	justify-content: center;
}

.section-top-voice__inner .acms-col-md-6 {
	float: none;
	width: 100%;
}

h2.section-top-voice__title::after {
	height: 5em;
}

.section-top-voice .acms-grid div{
	background: #FFF;
}

#secTopMain .section-top-voice h3{
	border-bottom: none;
}

.section-top-voice .acms-grid {
	display: flex;
	gap: 30px;
	margin-top: 80px;
}

#secTopMain h2.section-top-voice__title{
	font-size: clamp(24px, 2vw, 32px);
	letter-spacing: 2.5px;
}

img.section-top-voice__image.acms-img-responsive {
	padding: 10px;
}

.section-top-voice__item{
	padding: 0;
}

section.section-top-voice.section .button-container{
	margin-top: 60px;
	width: 15%;
}

#secTopMain .section-top-voice__item-inner p{
	margin: 0;
	font-size: 18px;
}

#secTopMain .section-top-voice__item-inner h3{
	padding-top: 0px;
	margin-bottom: 0;
}

@media (max-width: 769px){
	.section-top-voice{
		padding: 0;
	}
	.section-top-voice__inner{
		display: inherit;
	}
	#secTopMain h2.section-top-voice__title{
		padding-top: 50px;
		font-size: 32px;
		margin-bottom: 15px;
		padding-top: 64px;
	}
	img.section-top-voice__image.acms-img-responsive{
		padding: 0;
	}
	.section-top-voice{
		margin-top: 100px;
		height: inherit;
	}
	.section-top-voice .acms-grid div{
		padding: 3px;
	}
	.section-top-voice .acms-grid{
		margin: 20px;
	}
	section.section-top-voice.section .button-container{
		width: 90%;
	}
	.section-top-voice__item-container {
		padding-bottom: 20px;
	}
	#secTopMain .section-top-voice p.button-container{
		width: 60%;
		margin: 28px auto 80px;
	}
}

@media (min-width: 769px) and (max-width: 1800px) {
	section.section-top-area div.button-container {
		width: 15%;
	}	
	.section-top-voice__item-inner {
		padding: 10px;
	}
	.section-top-voice .acms-grid{
		margin: 10px;
	}
	section.section-top-voice.section .button-container{
		width: 40%;
	}
	img.section-top-voice__image.acms-img-responsive{
		padding: 0;
	}
	#secTopMain section.section-top-voice p.button-container,
	#secTopMain section.section-top-works p.button-container,
	#secTopMain .section-top-area__inner p.button-container {
		width: clamp(8vw, 60%, 21vw);
	}
	#secTopMain section.section-top-voice p.button-container{
		margin-top: clamp(20px, 5vw, 60px);
	}
}

/* 設計士の自邸モデルハウス */
.section-top-area{
	background-image: url(../images/ptn_hougan@2x.png);
	margin-top:200px;
	margin-right: 10%;
	padding: 5px;
}

.section-top-area__title span.title{
	border-bottom: 5px solid #333;
	padding-bottom: 15px;
}

 #secTopMain h2.section-top-area__title {
	 margin-bottom: 80px;
}

.section-top-area__inner .acms-grid{
	display: flex;
	justify-content: center;
}

.section-top-area__inner {
	padding-bottom: 100px;
	margin-right: -10%;
}

.section-top-area .acms-col-md-4{
	width: auto;
}

.section-top-area div.button-container{
	width: 10%;
}

@media (max-width: 769px){

	#secTopMain h2.section-top-area__title{
		font-size: 32px;
		line-height: 2.5;
		padding-bottom: 8px;
	}
	.section-top-area div.button-container{
		width: 90%
	}
	.section-top-area__inner{
		padding-bottom: 20px;
	}
	section.section-top-area.section{
		margin-top: 96px;
	}
	#secTopMain section.section-top-area.section p{
		margin-top: 0;
		margin-bottom: 80px;
	}
}




/* 設計士紹介 */

.section-top-staff__inner{
	position: relative;
	display: flex;
	justify-content: center;
}

section.section-top-staff.section {
	margin-top: 160px;
	margin-bottom: 160px;
}

.section-top-staff__inner::after {
		content: "";
		position: absolute;
		top: calc(-33%);
		left: calc(-60%);
		width: 1160px;
		height: 640px;
		background-image: url(../images/bg_img_wireflame2.png);
		background-size: cover;
		opacity: 0.5;
		z-index: -1;
}

@media (max-width: 769px){
	.section-top-staff__inner{
		margin: 10px;
	}
	.section-top-staff__inner img{
		overflow: hidden;
	}
	.section-top-staff__inner::after{
		top: calc(90%);
		left: calc(-2%);
		width: 187%;
		max-width: 431px;
		max-height: 239px;
	}
	section.section-top-staff.section {
	margin-top: 96px;
	}
}

@media (min-width: 769px){
	.section-top-staff__inner img{
		width: clamp(8vw, 100%, 53vw);
	}
	a.img-button {
		display: inline-block;
		text-align: center;
		margin: 0 auto;
	}
	a.img-button img {
		display: block;
		margin: 0 auto;
	}
}


/* CONTACT */
.section-top-contact {
	background-image: url(../images/bg_CtoA.png);
	padding: 100px 200px;
	background-repeat: no-repeat;
	background-size: cover;
}

.section-top-contact__inner {
	margin: 0 10%;
	padding: 20px;
	background-color: #fff;
	border-radius: 10px;
}


.section-top-contact__row {
	display: flex;
	justify-content: space-around;
	align-items: center;
	border-bottom: #9E9994 1px dotted;
}


.section-top-contact__container {
	display: flex;
	flex-direction: column;
	width: auto;
	padding: 0 clamp(16px, 10%, 50px);
}


.section-top-contact__row:last-child{
	border-bottom: none;
}

.section-top-contact__column {
	padding: 0 10px;
	margin-bottom: 40px;
}

#secTopMain p.house-title,#secTopMain p.glass-title,#secTopMain p.mail-title {
	margin-bottom: 16px;
}

#secTopMain .section-top-contact__column .tel-title {
	font-size: clamp(16px, 1vw, 20px);
	margin-top: 40px;
}

#secTopMain .hours-wrap p{
	margin: 0;
	text-align: start;
	line-height: 1.5;
	letter-spacing: 2px;;
}

#secTopMain a.access-link p{
	font-size: 18px;
	margin-top: 7px;
	font-weight: 900;
}

.access-container.section-top-contact__column{
	margin-bottom: 30px;
}

.top-ontact_tel,.access-container{
	display: flex;
	align-items: center;
	margin-bottom: 0px;
}

.access-container{
	flex-direction: column;
	margin-top: 50px;
}

.section-top-contact a.button-white{
	text-align: center;
	display: block;
	background: #FFF;
	border: 1px solid #1A1311;
	width: clamp(10vw, 60%, 20vw);
	color: #1A1311;
	position: relative;
	font-size: clamp(14px, 2vw, 18px);
	margin: 0 auto;
	padding: clamp(17px, 10%, 48px);
}

.section-top-contact a.button-white:after {
	display: block;
	position: absolute;
	top: 50%;
	right: -10px;
	content: "";
	width: 20px;
	height: 1px;
	background-color: #1A1311;
}

#secTopMain p.tel-size{
	font-size: clamp(32px, 3vw, 56px);
	font-weight: 600;
	letter-spacing: inherit;
}

#secTopMain p.tel-size a{
	color: #020202;
	font-weight: 900;
}

.icon-tel::before {
	content: url(../images/icon_tel.svg);
	vertical-align: middle;
	margin: 5px;
}

.icon-house::before {
	content: url(../images/icon_house.svg);
	vertical-align: middle;
	margin: 5px;
}

.icon-mail::before {
	content: url(../images/icon_mail.svg);
	vertical-align: middle;
	margin: 5px;
}

.icon-glass::before {
	content: url(../images/fa-magnifying-glass.png);
	vertical-align: middle;
	margin: 5px;
}

@media (max-width: 1024px){
	.section-top-contact{
		padding: 50px 0px;
	}
	.section-top-contact__inner{
		margin: 0 20px;
	}
	.top-ontact_tel{
		display: block;
	}
	.section-top-contact__container{
		padding: 0;
	}
	#secTopMain p.tel-size{
		margin: 0;
	}
	#secTopMain .section-top-contact__column .tel-title{
		margin-bottom: 0;
		margin-top: 30px;
		text-align: center;
		font-size: 20px;
	}
	#secTopMain p.tel-size{
		font-size: 48px;
		text-align: center;
		line-height: 1;
		margin-bottom: 15px;
	}
	#secTopMain .hours-wrap p{
		text-align: center;
		margin-bottom: 50px;
	}
	#secTopMain p.mail-title,.access-container.section-top-contact__column{
		margin-top: 0;
	}
	#secTopMain p.mail-title,#secTopMain p.house-title,#secTopMain p.glass-title,#secTopMain a.access-link p{
		text-align: center;
	}
	.section-top-contact__row,#secTopMain p.house-title, #secTopMain p.glass-title {
		display: block;
	}
	.section-top-contact__column{
		margin-bottom: 50px;
		margin-top: 30px;
	}
	a.access-link img{
		display: block;
		margin: 0 auto;
	}
	.section-top-contact a.button-white{
		width: 40vw;
		padding: 15px 30px;
		font-size: 18px;
	}
	#secTopMain .section-top-contact p{
		margin-top: 0;
	}
	.access-container.section-top-contact__column{
		margin-top:60px;
	}
}

@media (min-width: 1025px) and (max-width: 1660px) {
	.section-top-contact{
		padding: 100px 50px;
	}
}

/* フッター */
.fotter_navi ul.clearfix{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	margin-bottom: 160px;
}

.fotter_navi #globalnavi li a{
	font-size: 24px;
	color: #1A1311;
	font-weight: 500;
}

.fotter_navi #globalnavi{
	margin: 0 auto;
	float: inherit;
}

.insta_img_wrap {
	text-align: center;
	width: 100%;
	margin-top: 160px;
}

.insta_img {
	width: 4%;
	margin-bottom: 160px;
}

#footer address.acms-col-6{
	float: unset;
	margin: 0 auto;
}

#companyAbout dt,#copyright p{
	text-align: center;
}

.grecaptcha-badge{
	bottom: 90px !important;
}

@media (max-width: 769px){
	.insta_img {
		width: 15%;
		margin-bottom: 80px;
	}
	.insta_img_wrap{
		margin-top: 80px;
	}
	.fotter_navi ul.clearfix{
		margin-bottom: 80px;
	}
	.fotter_navi .acms-hide-sp{
		display: block !important;
	}
	.fotter_navi #globalnavi{
		width: auto;
	}
	#footWrapper{
		margin-bottom: 100px;
	}
}

