/*
 Theme Name:   anthem_tcd083_child
 Theme URI:    https://tcd-theme.com/tcd083/
 Description:  anthem_tcd083 child Theme
 Template:     anthem_tcd083
 Version:      1.3.2
*/

/* ------------------
   共通
------------------ */
/* ↓↓開始：追加　2025/10/18 */
.post_content p:last-child {
    margin: 32px;
}
/* ↑↑終了：追加　2025/10/18 */

.mb_3em {
	margin-bottom: 3em;
}

a, .q_custom_button {
	font-weight: 500 !important;
}

#header_top {
	display: none;
}
#global_menu {
	text-align: right;
	font-weight: bold;
}
#header_bottom_inner #global_menu > ul > li.active > a {
	color: #c9b897 !important;
}

#index_news_slider a .date {
	-webkit-transition: color 0.2s ease;
    transition: color 0.2s ease;
}
#index_news_slider a:hover .date,
#index_news_slider a:hover .title {
	color: #c9b897 !important;
	-webkit-transition: color 0.2s ease;
    transition: color 0.2s ease;
}


/* ------------------
   top page
------------------ */
/* メニュー色変更 */
.home #header_bottom {
	background: none transparent !important;
	position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.home #header_bottom_inner #global_menu > ul > li > a {
	color: #fff !important;
}
.home #header_bottom #global_menu > ul > li > a:hover,
.home #header_bottom #global_menu > ul > li.active > a {
	color: #0f1d46 !important;
}
/* ロゴ画像変更 */
.home #header_logo .logo a {
    background: url(images/top_logo_header.png);
    width: 201px;
    height: 42px;
    display: block;
}
.home #header_logo .logo a img {
	display: none;
}



/* News */
#index_news {
	background: #0f1d46;
}
#index_news_slider a, #index_news_slider a .date {
	color: #fff !important;
}
.index_free_space.cb_contents.cb_free_space {
	margin-top: 0;
    margin-bottom: 0;
    padding-top: 100px;
    padding-bottom: 100px;
}

/* Consept */
#cb_content_1 {
	background: #ded3bf;
	position:　relative;
}
#cb_content_1:before {
	content: "";
	display: inline-block;
	width: 404px;
    height: 645px;
    margin-left: 2%;
    position: absolute;
    left: 0;
    bottom: 0;
    background: url(images/top_consept_flower_left.png) center bottom no-repeat;
    background-size: contain;
    vertical-align: middle;
}
#cb_content_1:after {
	content: "";
	display: inline-block;
	width: 299px;
    height: 592px;
    margin-right: 2%;
    position: absolute;
    right: 0;
    bottom: 0;
    background: url(images/top_consept_flower_right.png) center bottom no-repeat;
    background-size: contain;
    vertical-align: middle;
}
#cb_content_1 .cb_contents_inner {
	width: 50%;
	min-width: 750px;
	padding: 60px 0;
	background: rgba(255,255,255,0.8);
}


/* Service */
#cb_content_2, #cb_content_3, #cb_content_4 {
	/* ↓↓開始：修正　2025/10/18 */
	/*background: #f2f4f2;*/
	background: #ded3bf;
    /* ↑↑終了：修正　2025/10/18 */
}

#cb_content_3, #cb_content_4 {
	padding-top: 0;
}

#cb_content_2 .post_content h4,
#cb_content_3 .post_content h4,
#cb_content_4 .post_content h4 {
	font-size: 24px;
}


/* ↓↓開始：修正　2025/10/18 */
.top_construction,
.top_renovation,
.top_exterior {
	padding: 100px 0;
}
/* ↑↑終了：修正　2025/10/18 */

.top_service_textarea {
	width: 60%;
	margin: 0 auto;
	padding: 60px 0 30px;
	background: rgba(255,255,255,0.8);
}

.top_exterior {
	background: url("images/top_service_exterior.jpg") center center no-repeat;
}
.top_ec-btn.ec-btn {
	width: 960px;
	margin: 95px auto 0;
	padding: 2em 1em 1px;
	background: #c9b897;
	text-align: center;
	position: relative;
}
.top_ec-btn.ec-btn:before {
	content: "";
	display: inline-block;
	width: 141px;
	height: 124px;
	position: absolute;
	top: 50%;
	left: 1em;
	transform: translateY(-50%);
  	-webkit- transform: translateY(-50%);
  	background: url(images/top_ec_flower_left.png) center center no-repeat;
	background-size: contain;
	vertical-align: middle;
}
.top_ec-btn.ec-btn:after {
	content: "";
	display: inline-block;
	width: 140px;
	height: 135px;
	position: absolute;
	top: 50%;
	right: 1em;
	transform: translateY(-50%);
  	-webkit- transform: translateY(-50%);
  	background: url(images/top_ec_flower_left.png) center center no-repeat;
	background-size: contain;
	vertical-align: middle;
}
.ec-btn_title {
	margin-bottom: 10px !important;
	line-height: normal !important;
}
.ec-btn_name {
	margin-bottom: 20px !important;
	font-size: 2.3em;
	line-height: normal !important;
}

.top_renovation {
	background: url("images/top_service_renovation.jpg") center center no-repeat;
}

.top_construction {
	background: url("images/top_service_construction.jpg") center center no-repeat;
}

/* Flow */
#cb_content_6 {
	background: #c9b897;
}
.top_flow_content {
	padding: 60px 6em 50px;
	background: #fff;
}
.top_flow_content .title {
	font-family: "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
.flow_arrow {
	font-size: 80%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0 0 1em;
	padding: 0;
}
.flow_arrow > li {
	position: relative;
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	list-style: none;
	text-overflow: ellipsis;
	color: #333;
	 -ms-flex: 1;
	-moz-flex: 1;
	-webkit-box-flex: 1;
	     flex: 1;
}
.flow_arrow > li .title {
	margin-bottom: 30px;
	font-size: 20px;
	font-weight: bold;
	line-height: normal;
}
.flow_arrow > li .text {
	display: block;
	margin-top: -2em;
	margin-bottom: 2em;
	padding-right: 2.5em;
}
.flow_arrow > li .bubble {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0 0 0.5em;
	border-radius: 1000px;
	background-color: #e85649;
}
.flow_arrow > li .bubble::after,
.flow_arrow > li .bubble::before {
	position: absolute;
	top: 9px;
	display: block;
	width: 100%;
	height: 3px;
	content: '';
	background-color: #e85649;
}
.flow_arrow > li.completed,
.flow_arrow > li.completed .bubble {
	color: #333;
}
.flow_arrow > li.completed .bubble,
.flow_arrow > li.completed .bubble::after,
.flow_arrow > li.completed .bubble::before {
	background-color: #0f1d46;
}
.flow_arrow > li:last-child .bubble::after,
.flow_arrow > li:last-child .bubble::before {
	width: 0%;
	margin-right: 50%;
}
.flow_arrow > li.active,
.flow_arrow > li.active .bubble {
	color: #333;
}
.flow_arrow > li.active .bubble,
.flow_arrow > li.active .bubble::after,
.flow_arrow > li.active .bubble::before {
	background-color: #c9b897;
}

/* Area */
#cb_content_7 {
	/*background: #f2f4f2;*/
	background: #fff;
}
.area_flex {
	display: flex;
}


/* ↓↓開始：修正　2025/10/18 */
.area_flex {
	padding: 50px;
}
/* ↑↑終了：修正　2025/10/18 */

.area_content {
	width: 48%;
	margin-right: 4%;
}
.area_title {
	margin-bottom: 0 !important;
	border-bottom: 1px solid #e85649;
}
.area_map {
	width: 48%;
	text-align: center;
}

/* Contact */
#cb_content_8 {
	background: url(images/top_contact_bg.jpg) center center no-repeat fixed;
	background-size: cover;
}

#cb_content_8 .cb_catch, #cb_content_8 .cb_desc {
	color: #fff;
}

.top_contact_banner.contact_banner {
	display: flex;
	width: 960px;
	margin: 0 auto;
	padding: 2em 3em;
	background: #0f1d46;
	color: #fff;
	text-align: center;
}
.top_contact_banner.contact_banner p {
	line-height: normal !important;
}

.contact_tel {
	width: 49%;
	margin-right: 2%;
	position: relative;
   	display: inline-block;
}
.contact_tel:after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 100%;
	background-color: #fff;
	position: absolute;
	top: 0;
	right: -2%; 
}
.contact_title {
	margin-bottom: 22px !important;
}
.contact_number {
	font-size: 2em;
	margin-bottom: 15px !important;
	letter-spacing: 0.1rem;
}
.contact_mail {
	width: 49%;
}
.contact_mail a.contact_btn {
	box-sizing: border-box;
	display: block;
	max-width: 270px;
	padding: 1.1em 1em;/*height: 60px;*/
	margin: 0 auto;
	background: #ccb790;
	color: #0f1d46;
	font-weight: bold !important;
	border: 2px solid #ccb790;
}
.contact_mail a.contact_btn:hover {
	color: #ccb790;
	background: #0f1d46;
	border: 2px solid #ccb790;
}

/* ↓↓開始：修正　2025/10/18 */
/*
.top_contact_banner.contact_banner {
	padding: 40px;
}
*/
/* ↑↑終了：修正　2025/10/18 */

/* footer */
#footer {
	padding: 80px 0 60px;
	background: #c9b897;
	position: relative;
}
#footer_bottom {
	height: auto;
	margin-bottom: 80px;
}
.footer_bottom_inner {
	display: flex;
}
.footer_company {
	width: 30%;
}
.footer_logo {
	margin-bottom: 30px;
}
.footer_company p {
    line-height: 2;
    margin: 0;
    font-size: 16px;
}
.footer_menu {
	display: flex;
	margin-left: auto;
}
#footer_menu ul {
	text-align: left;
}
#footer_menu li {
	display: block;
	min-width: 100px;
	margin: 0;
	font-size: 16px;
}
#footer_menu li a {
	height: auto;
    line-height: 2.2;
}
#footer_menu ul li ul {
	margin-left: 1em;
	font-size: 14px;
    line-height: 0.2;
}
#footer_menu ul li ul li {
	font-size: 14px;
}

.footer_menu_flex {
	margin-right: 30px;
}
.footer_menu_flex:last-child {
	margin-right: 0;
}

#copyright {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
}


/* ------------------
   アニメーション
------------------ */

.inview {
  opacity:0; top:40px; position:relative;
  -webkit-transition: all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  transition:all 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s, opacity 1.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
}
.inview.animate {
  opacity:1; top:0px;
}



/* ------------------
   メディアクエリ
------------------ */
/* PC */
@media screen and (max-width: 1251px) {
	/* ヘッダーロゴ */
	.home #header_bottom #header_bottom_inner {
		height: 50px;
		margin-top: 10px;
	}
	.home #header_bottom .logo {
		margin-top: 10px;
	}

	.home #header_bottom #menu_button span,
	.home #header_bottom #menu_button:hover span {
		background: #fff !important;
	}
	.home #header_bottom a#menu_button:hover {
		color: #fff;
	}

	/* Concept */
	#cb_content_1:before {
		width: 30%;
	    height: 100%;
	}
	#cb_content_1:after {
		width: 24%;
	    height: 100%;
	}
	#cb_content_1 .cb_contents_inner {
		min-width: 650px;
		padding-left: 1em;
		padding-right: 1em;
	}

	/* Service */
	.top_ec-btn.ec-btn {
		width: 90%;
	}

	/* Flow */
	.top_flow_content {
		padding-left: 5%;
		padding-right: 5%;
	}

	/*Contact*/
	.top_contact_banner.contact_banner {
		width: 90%;
    	padding: 2em 1vw;
	}
	
	/* footer */
	#footer {
		padding: 60px 0 80px;
	}
	#footer_bottom .footer_bottom_inner {
		width: 90%;
    	margin: 0 auto;
	}
	#footer_bottom .footer_company {
		width: 50%;
	}
	#footer_bottom .footer_company p {
		font-size: 14px;
	}
	#footer_bottom #footer_menu ul {
		text-align: left;
	}
	#footer_bottom #footer_menu li {
		display: block;
		margin: 0;
	}
}

@media screen and (max-width: 960px) {
	/* Service */
	.top_service_textarea {
		width: 80%;
	}


	/* Flow */
	.top_flow_content {
		padding-left: 3%;
		padding-right: 3%;
	}

	/* Contact */
	.top_contact_banner.contact_banner {
		width: 100%;
	}

	/* footer */
	#footer_bottom .footer_company {
		width: 40%;
	}
	.footer_menu_flex {
		margin-right: 2%;
	}

}


/* タブレット */
@media screen and (max-width: 750px) {

	.q_custom_button.q_custom_button1,
	.top_ec-btn.ec-btn .q_custom_button.q_custom_button1 {
		width: 55% !important;
		max-width: 240px;
	}
	.q_custom_button.q_custom_button1 {
		width: 70% !important;
	}

	/* Concept */
	#cb_content_1 .cb_contents_inner {
	    width: 90%;
	    min-width: auto;
	}

	#cb_content_1 {
		padding: 20vw 0 23vw;
	}
	#cb_content_1 .cb_contents_inner {
		width: 90%;
		min-width: auto;
		padding: 40px 0;
	}
	#cb_content_1 .post_content {
		padding: 0 1em;
	}
	#cb_content_1:before {
		width: 48%;
		max-width: 280px;
		height: 50%;
		margin-top: 2vw;
    	margin-left: 0;
		background: url(images/sp_top_consept_flower_left.png) left top no-repeat;
		background-size: contain;
		top: 0;
		z-index: 50;
	}
	#cb_content_1:after {
		width: 28%;
		max-width: 190px;
		height: 50%;
    	margin-right: 0;
		background: url(images/sp_top_consept_flower_right.png) right bottom no-repeat;
		background-size: contain;
		z-index: 50;
	}


	/* Service */
	.top_ec-btn.ec-btn:before {
		width: 20%;
		height: 100%;
	}
	.top_ec-btn.ec-btn:after {
		width: 20%;
		height: 100%;
	}


	/* Flow */
	.top_flow_content {
		padding-left: 8%;
    	padding-right: 8%;
	}
	.flow_arrow {
		display: block;
	}
	.flow_arrow > li .bubble::after, .flow_arrow > li .bubble::before {
	    top: 9px;
	    width: 3px;
	    height: 100%;
	    left: 9px;
	}
	.flow_arrow > li .text {
		margin-bottom: 0;
	    padding-left: 4em;
    	padding-right: 0;
	    padding-bottom: 3em;
	}
	.flow_arrow > li .title {
	    margin-top: 0;
	    margin-bottom: 0;
	    position: absolute;
    	top: -1px;
	}


	/* Area */
	.area_flex {
		display: block;
	}
	.area_content {
		width: 100%;
		margin-right: 0;
		margin-bottom: 5vw;
	}
	.area_map {
		width: 100%;
	}


	/* Contact */
	.contact_tel {
		width: 47%;
		margin-right: 3vw;
	}
	.contact_tel:after {
		right: -3%;
	}
	.contact_mail {
		width: 47%;
	}


	/* footer */
	.footer_bottom_inner {
		display: block;
	}
	#footer_bottom .footer_company {
		width: 100%;
	}
	.footer_menu {
		margin-top: 4vw;
		margin-left: 0;
	}
	.footer_menu_flex {
		margin-right: 4%;
	}
	#footer_menu ul li ul {
		margin-left: 2em;
	}
}



/* スマホ */
@media screen and (max-width: 500px) {

	/* ヘッダーロゴ */
	.home #header_bottom .logo {
		margin-top: 10px;
	}
	#header_bottom #header_logo a {
		width: 150px;
		background-size: contain;
		background-repeat: no-repeat;
	}
	#header_logo .mobile_logo_image {
		width: 150px;
		height: auto;
	}

	.home .index_free_space .cb_contents_inner {
		padding: 0 !important;
	}

	.q_custom_button.q_custom_button1 {
	    min-width: 100px;
	    padding: 0 1em;
	}

	.index_free_space.cb_contents.cb_free_space {
		padding: 35px 20px 40px;
	}

	/* Concept */
	.home #cb_content_1 .cb_contents_inner {
	    padding: 40px 0 !important;
	}

	/* Service */
	#cb_content_2, #cb_content_3, #cb_content_4 {
	    padding: 15vw 0 0;
	}
	#cb_content_4 {
	    padding-bottom: 15vw;
	}
	#cb_content_2 .cb_contents_inner,
	#cb_content_3 .cb_contents_inner,
	#cb_content_4 .cb_contents_inner {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	.top_service_textarea {
		box-sizing: border-box;
		width: 88%;
    	padding: 10vw 1em 5vw;
	}
	.top_ec-btn.ec-btn {
		width: 83%;
		margin-top: 10vw;
	}
	.ec-btn_title {
		margin-bottom: 1vw !important;
	}
	.ec-btn_name {
	    margin-bottom: 5vw !important;
	    font-size: 2em;
	}
	.top_ec-btn.ec-btn:before {
		width: 20%;
		height: 100%;
		left: 0.5em;
	}
	.top_ec-btn.ec-btn:after {
		width: 20%;
		height: 100%;
		right: 0.5em;
	}

	.top_exterior,
	.top_renovation,
	.top_construction {
		padding: 10vw 0;
		background: url("images/sp_top_service_exterior.jpg") center center no-repeat;
	}
	.top_renovation {
		background: url("images/sp_top_service_renovation.jpg") center center no-repeat;
	}
	.top_construction {
		background: url("images/sp_top_service_construction.jpg") center center no-repeat;
	}


	/* Flow */
	.top_flow_content {
		padding: 15vw 2em 10vw;
	}
	.flow_arrow {
		margin-left: 0 !important;
	}
	.flow_arrow > li .text {
	    padding-left: 2.8em;
	    padding-right: 0.5em;
	}

	/* Area */
	.area_map {
		width: 80%;
		margin: 0 auto;
	}

	/* Contact */
	.top_contact_banner.contact_banner {
		box-sizing: border-box;
		display: block;
		padding: 2em 4vw;
	}
	.contact_tel {
		width: 100%;
		margin-right: 0;
		margin-bottom: 6vw;
	}
	.contact_tel:after {
		display: none;
	}
	.contact_title {
		margin-bottom: 3vw !important;
	}
	.contact_number {
	    margin-bottom: 2vw !important;
	}
	.contact_mail {
		width: 100%;
	}

	/* footer */
	#footer {
		padding: 5vw 0 10vw;
	}
	.footer_logo {
		width: 150px;
		margin-bottom: 4vw;
	}
	.footer_logo img {
		width: 100%;
		height: auto;
	}
	.footer_menu {
		display: block;
	}
	.footer_menu_flex {
		margin-right: 0;
		margin-top: 0;
	}
	.footer_menu_flex > li {
		margin-top: 2vw !important;
	}
	/*.footer_menu_flex li ul li {
		font-size: 12px !important;
	}*/
}