@charset "UTF-8";
/* CSS Document */
html {width:100%;/*font-size:62.5%;*/scroll-behavior: smooth;font-size: calc((100vw - 320px) / 373 + 13px);box-sizing: border-box;}
body {
	margin:0 auto;
	width: 100%;
	font-size: 1rem;
	font-family:"dnp-shuei-gothic-gin-std","mr-eaves-modern",sans-serif;
	line-height:1.5;
}

/* common
------------------------------------------------------------*/
h2{font-size: 150%; margin-bottom: 2rem; letter-spacing: 2px;}
section{width: 96%; margin: 0 auto; max-width: 1200px;}
.pc-only {display: inherit;}
.sp-only {display: none;}
a {color: #333; text-decoration: none;}
a:hover {color:#990000; transition: 1.0s; }
table {
 margin:0;
 padding:0;
 border:0;
 outline:0;
 font-size:100%;
 vertical-align:baseline;
 background:transparent;
 border-collapse:collapse;
 border-spacing:0;
 }
.base_tb {
  width: 100%;
	margin: 0 0 30px 0;
	line-height: 1.666;
  box-sizing:border-box;
    empty-cells:show;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
}
.base_tb th,
.base_tb td{
  padding: 1rem; color: #333;
  vertical-align: middle;
  border-right:1px solid #ccc;
  border-bottom:1px solid #ccc;
  vertical-align: middle;
}
.base_tb th{background-color: #E6E7C9;}
.base_tb td img{vertical-align: middle;}

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



/* gl-nav
------------------------------------------------------------*/

.logo { width: 70%; margin: 2rem 1rem 1rem;}
.side-bnr { width: 90%; margin-bottom: 1rem;}
.gl-nav { 
	width: 100%; padding:1%;
	background-color: #fff;
	border-bottom: 1px solid #ddd;
}
.gl-nav-inner {
	width: 96%; margin:0 auto;
	display:-webkit-box;
    display:-ms-flexbox;
    display: flex;
    justify-content:space-between;
    align-items: center;
}
.gl-nav .logo-PC {}
.gl-nav .logo-PC > img {max-width:120px; display: block;}
.gl-nav ul{
	width: 80%;
	display:-webkit-box;
    display:-ms-flexbox;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.gl-nav ul ul{
	display: block;
}
.gl-nav ul li{
	position: relative;
	padding: 0 2%; line-height: 1.2;
	font-size: 14px; text-align: center;
	list-style: none;
}
.gl-nav ul li a{
	display: block;
	text-decoration: none;
	padding:0;
	transition:all .3s;
}
.gl-nav ul li li a{
	padding:10px 35px;
}
.gl-nav ul li li img[src*="icon-instagram"]{max-width: 30px;}
.gl-nav ul li a:hover{
	color:#000;	
}
/*2階層目を持つliの矢印の設定*/
.gl-nav ul li.has-child::before{
	content:'';
	position: absolute;
	left:6px;
	top:6px; bottom: 0;
	width:6px;
	height:6px;
	border-top: 2px solid #000;
    border-right:2px solid #000;
    transform: rotate(135deg);
}

/*3階層目を持つliの矢印の設定*/
.gl-nav ul ul li.has-child::before{
	content:'';
	position: absolute;
	left:6px;
	top:17px;
	width:6px;
	height:6px;
    border-top: 2px solid #fff;
    border-right:2px solid #fff;
    transform: rotate(45deg);
}

/*下の階層を持っているulの指定*/
.gl-nav li.has-child ul{
	position: absolute;
	left:0;
	top:45px;
	z-index: 10;
	width:180px;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
	background:#000;
}
.gl-nav li.has-child:hover > ul,
.gl-nav li.has-child ul li:hover > ul,
.gl-nav li.has-child:active > ul,
.gl-nav li.has-child ul li:active > ul{
  visibility: visible;
  opacity: 1;
	background:#000;
}
.gl-nav li.has-child ul li a{
	color: #fff;
	border-bottom:solid 1px rgba(255,255,255,0.6);
}
.gl-nav li.has-child ul li:last-child a{
	border-bottom:none;
}
.gl-nav li.has-child ul li a:hover,
.gl-nav li.has-child ul li a:active{
	background:#333;
}
/*3階層目の位置*/
.gl-nav li.has-child ul ul{
	top:0;
	left:182px;
	background:#000;
}
.gl-nav li.has-child ul ul li a:hover,
.gl-nav li.has-child ul ul li a:active{
	background:#333;
}
.gl-nav img[src*="icon-instagram.png"]{width: 30px;}
.drawer-menu-item.sub{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.drawer-menu-item.sub img[src*="icon-instagram.png"]{width: 30px; margin-right:10px;}
@media screen and (max-width:768px){
	nav{padding: 0;}
	.gl-nav ul{display: block;}
	.gl-nav li.has-child ul,
	.gl-nav li.has-child ul ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;/*JSで制御するため一旦表示*/
	opacity:1;/*JSで制御するため一旦表示*/
	display: none;/*JSのslidetoggleで表示させるため非表示に*/
	transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}
	
.gl-nav ul li a{
	border-bottom:1px solid #ccc;
}
.gl-nav ul li.has-child::before{
	left:20px;	
}
.gl-nav ul ul li.has-child::before{
    transform: rotate(135deg);
	left:20px;
}
.gl-nav ul li.has-child.active::before{
    transform: rotate(-45deg);
}
}

/* btn
------------------------------------------------------------*/
.btn{
	position: relative;
	max-width: 300px;
	margin:0 auto 2rem; padding:1rem; line-height: 1.5;
	display: block; text-align: center; font-weight: bold;
	border-radius: 4px; box-shadow: 1px 1px 4px gray;
	background-color: #fff; color: #990000;
	transition-duration: .4s;
	cursor: pointer;
}
.btn.bg-red{background-color: #600707; color: #fff;}

.btn:hover{
	background-color: #990000; color: #fff;
	}
.btn::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 10px;
  width: 18px;
  height: 18px;
  margin-top: -10px;
  background: url("https://www.taikeisha.net/images/icon-viewBtn-red.png") top left no-repeat;
  background-size: 18px;
}
.btn.bg-red::after{
	background: url("https://www.taikeisha.net/images/icon-viewBtn.png") top left no-repeat;
	background-size: 18px;
}
.btn span{ font-size: 80%;}

.viewBtn{
	position: relative; margin: 1em 0 0; padding: 0;
	display: block;  width: 7em;
	color: #fff; font-size: 110%; font-weight: bold;
}
.viewBtn::after{
	position: absolute;
	content: ""; 
	top: 50%;
  	right: 10px;
  	width: 16px;
  	height: 16px;
	margin-top: -6px;
	background: url(https://www.taikeisha.net/images/icon-viewBtn.png)  top left no-repeat;
	background-size: 16px; 
}
.btn:hover::after {background: url("https://www.taikeisha.net/images/icon-viewBtn.png") top left no-repeat; transition: 1.0s; background-size: 18px; }
.viewBtn:hover::after {background: url("https://www.taikeisha.net/images/icon-viewBtn-red.png") top left no-repeat; transition: 1.0s; background-size: 16px;}
.btn.select{width:40%; margin: 3rem auto;}

.rowBtn { 
	width: 100%; overflow: hidden; display: table; clear:both; 
	margin: 0 auto; text-align: center;
	border-collapse: separate;	/* セルの境界線の間隔を開けて表示する */
	border-spacing: 20px;		}
.rowBtn li{ width: 33.3333%; display: table-cell; margin:0 2%;}
.rowBtn > li .btn {
	position: relative;
	background-color: #fff; line-height: 1.6;
	color:#990000; border: 1px solid #990000;
}
/* 3カラム（スマートフォンでは1カラム) */
.threeCol {
	overflow:hidden;
}
.threeColInner {
	overflow:hidden;
	margin-right:-3%;
}
.threeColInner div {
	width:31%;
	float:left;
	margin-right:2%;
}
.threeColInner div:nth-child(3n+1) {
	clear:both;
}
.threeColInner img {
	width:100%;
	margin-bottom:0.5em;
	border-radius:5px;
}
/* 2カラム（スマートフォンでは1カラム) */
.twoCol {
	overflow:hidden;
}
.twoColInner {
	overflow:hidden;
	margin-right:-2%;
}
.twoColInner div {
	width:48%;
	float:left; overflow: hidden;
	margin-right:2%;
}
.twoColInner div:nth-child(2n+1) {
	clear:both;
}
.twoColInner img {
	width:100%;
	margin-bottom:0.5em;
	border-radius:5px;
}
/* contact
------------------------------------------------------------*/
.contact{
	width:100%; overflow: hidden; clear: both;
	padding: 4rem 0 1rem;  text-align: center;
	background: url(https://www.taikeisha.net/images/bg-keyvisual.jpg) repeat;
}
#works.renov .contact{background: #333; color: #fff;}
.contact .btn,
.thanks .btn{
	width:40%; margin:0 auto 3rem;
}
.contact .address{width: 90%; margin: 0 auto; font-size:80%; display: block;}
.contact address {font-size:60%;}

footer.contact{padding: 2rem 0 1rem;}

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

.sr-header {
	width: 100%; z-index: 2; 
	padding: 3%; overflow: hidden; clear: both;
	background-color: #fff; border-bottom: 1px solid #ddd;
}
.sr-header img { width: 20%; display: block; margin:0 auto;}
.logo {width: 60%;}
.side-bnr { width: 60%;}	
.pc-only {display: none;}
.sp-only {display: inherit;}
}

@media only screen and (max-width: 480px) {
	.twoCol {
		margin-right:0;
	}
	.twoColInner {
		margin-right:0;
	}
	.twoColInner div {
		float:none;
		width:100%;
	}
	.threeColInner {
		margin-right:0;
	}
	.threeColInner div {
		float:none;
		width:100%;
	}
/* table */
.base_tb { border: 0;}
.base_tb th,
.base_tb td{
  width: 100%; display: block; box-sizing: border-box; padding: .5rem 0;
  word-wrap : break-word; border: 0;
  overflow-wrap : break-word;
}
.base_tb th{ font-size:.8rem; padding: .25rem .5rem;}
.base_tb thead {display: none;}
    
/* btn [max-width: 480px]
------------------------------------------------------------*/	
.rowBtn { width: 80%; display: inherit; border-spacing: 0;}
.rowBtn li{ width: 100%; display: block; margin:0 0 1rem;}
	
/* contact [max-width: 480px]
------------------------------------------------------------*/	
.btn.select, .contact .btn{width:80%;}
.sr-header img { width: 30%; }
	
}
/* footer
------------------------------------------------------------*/
.footer-wrap{
	max-width: 1200px; margin: 0 auto; padding: 5%;
	display: flex;
	justify-content: space-between;
	align-items:center;
	column-gap: 10;
}
.footer-txtbox{width: 60%; text-align: left;}
.footer-txtbox h2{ text-align: left !important;}
.footer-list{width: 40%;}
.footer-list{
	border-left: 1px solid #fff;
	padding-left: 1.5rem;
	list-style: none;
	text-align: left;
}
.footer-list li{line-height: 2.5;}
.footer-list a{
	position: relative;
	display: block; width: 100%;
	padding-left:24px; 
}
.footer-list a::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 20px;
    height: 20px;
    margin-top: -7px;
    background: url(https://www.taikeisha.net/images/icon-viewBtn.png) top left no-repeat;
    background-size: 14px;
}
.footer-txtbox--name{font-size: 1.3rem; font-weight: bold; margin-bottom: .5rem;}
.footer-txtbox--name span{font-size: 80%;}
.footer-txtbox--address{margin-bottom: 1rem;}



#footer_list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-block; /* センター内でも要素幅を固定 */
  text-align: left;      /* 子要素（li）を左寄せに */
}

#footer_list > li {
  margin-bottom: 1.5rem;
}

#footer_list > li > a {
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
  text-aligin:left;
}

#footer_list > li > a:hover {
  border-bottom: 2px solid #666;
}

#footer_list ul {
  list-style: none;
  padding-left: 1rem;
  margin-top: 0.5rem;
}

#footer_list ul li {
  margin: 0.3rem 0;
}

#footer_list ul li a {
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.3s ease;
}

#footer_list ul li a:hover {
  color: #000;
}

.footer_list_Btn a{
	position: relative;
	display: block; padding-left:24px; 
}

.footer_list_Btn a::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 20px;
    height: 20px;
    margin-top: -7px;
    background: url(https://www.taikeisha.net/images/icon-viewBtn-red.png) top left no-repeat;
    background-size: 14px;
}

@media only screen and (max-width: 780px) {
.footer-wrap  {width:100%; display: block;}
.footer-txtbox{width:100%; text-align: center;}
.footer-list  {width:100%;}
.footer-txtbox h2{ text-align: center !important;}
}
@media only screen and (min-width: 1200px) {
.btn.footer-txtbox-btn{margin: 0 auto 0 0;}
}