@charset "utf-8";

/* 共通
==========================*/
body{font-family: 'Noto Sans JP', sans-serif;
	color: #000; font-size:15px; font-weight: 400; line-height: 2;}
img{width: auto; max-width: 100%; vertical-align: bottom;}
a{text-decoration: none; transition: 0.3s ease; color: #000;}
a:hover{opacity: 0.7;}
ul,li,ol{list-style: none;}
sup{font-size: 50%; vertical-align: top;}
.flex{display: flex; flex-wrap: wrap;}
.en{font-family: 'Oswald', sans-serif;}
.scroll_icon{display: none;}

@media screen and (max-width: 640px){
	body{line-height: 1.8;}

	/*スマホ スクロール*/
	.scroll_wrap{width: 100%; overflow-x: scroll; position: relative;}
	.scroll_icon{display: block; position: absolute; top: 50px; left: 40%; z-index: 2;
		animation: scroll_icon 1s ease-in-out infinite alternate;}
	.scroll_img{width: 700px;}
	@keyframes scroll_icon{
		0% { transform:translate(-30%,0);}
		100% { transform:translate(-70%,0);}
	}
}

/* 表示・非表示 */
.pc_only{display: block;}
.pc_tab_only{display: block;}
.tab_only{display: none;}
.sp_tab_only{display: none;}
.sp_only{display: none;}

@media screen and (max-width: 960px){
	.pc_only{display: none;}
	.pc_tab_only{display: block;}
	.tab_only{display: block;}
	.sp_tab_only{display: block;}
	.sp_only{display: none;}
}

@media screen and (max-width: 640px){
	.pc_only{display: none;}
	.pc_tab_only{display: none;}
	.tab_only{display: none;}
	.sp_tab_only{display: block;}
	.sp_only{display: block;}
}

.mt20{margin-top: 20px;}
.mt30{margin-top: 30px;}
.mt40{margin-top: 40px;}
.mt50{margin-top: 50px;}
.mt60{margin-top: 60px;}
.mt70{margin-top: 70px;}
.mt80{margin-top: 80px;}
.mt90{margin-top: 90px;}
.mt100{margin-top: 100px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb60{margin-bottom: 60px;}
.mb70{margin-bottom: 70px;}
.mb80{margin-bottom: 80px;}
.mb90{margin-bottom: 90px;}
.mb100{margin-bottom: 100px;}
.padding20{padding: 20px;}

/* header
==========================*/
header{height: 70px; background: #fff; position: fixed; top: 0; left: 0; width: 100%; z-index: 10;}
.h_inner,
#h_nav_area,
#h_nav,
#h_nav nav,
#h_nav nav ul{height: 100%;}
.h_inner{padding-left: 15px; justify-content: space-between; align-items: center;}
#h_logo{width: 165px;}
#h_nav_area{width: calc(100% - 165px);}
#h_nav ul{display: flex; flex-wrap: wrap; justify-content: flex-end;}
#h_nav ul > li{}
#h_nav ul > li > a{height: 100%; display: flex; justify-content: center; align-items: center;
 font-family: 'Oswald', sans-serif; color: #000; font-size: 16px; padding: 0 20px;}
#h_nav ul > li.h_navContact a,
#h_nav ul > li.current_page_item.h_navContact a{background: #004AAD; color: #fff; padding: 0 35px;}
#h_nav ul > li.current_page_parent > a,
#h_nav ul > li.current_page_item > a{background: #efefef;}
#h_nav ul > li > a:hover{opacity: 1; background: #efefef;}

#h_menuBtn{display: none;}

@media screen and (max-width: 960px){
	#h_menuBtn{display: block; position: relative; z-index: 11; margin: 0 0 0 auto;
		width: 70px; height: 70px; background: #000;}
	#h_menuBtn span,
	#h_menuBtn::before,
	#h_menuBtn::after{position: absolute; top: 50%; left: 0; right: 0; margin: auto; transform: translateY(-50%); transition: 0.3s ease;
		width: 80%; height: 2px; display: block; background: #fff;}
	#h_menuBtn::before{content: ""; transform: translateY(-50%) translateY(-10px); transform-origin: left;}
	#h_menuBtn::after{content: ""; transform: translateY(-50%) translateY(10px); transform-origin: left;}
	#h_menuBtn.is-open span{opacity: 0;}
	#h_menuBtn.is-open::before{transform: translateY(-50%) translateY(-10px) rotate(21deg); left: 3px;}
	#h_menuBtn.is-open::after{transform: translateY(-50%) translateY(10px) rotate(-21deg); left: 3px;}

	#h_nav{display: none; position: fixed; top: 70px; left: 0; background: #fff;
		width: 100%; height: calc(100% - 70px);}
	#h_nav nav{overflow-y: auto;}
	#h_nav nav ul{height: auto; flex-direction: column; text-align: left;}
	#h_nav ul > li{border-bottom: 1px solid #efefef;}
	#h_nav ul > li > a{justify-content: left; font-size: 18px; padding: 10px 20px;}

	#h_nav ul > li.h_navContact a{padding: 0 20px;}
}
@media screen and (max-width: 640px){
	header{height: 50px;}
	#h_logo{width: 120px;}
	#h_menuBtn{width: 50px; height: 50px;}
	#h_nav{top: 50px; height: calc(100% - 50px);}
	#h_menuBtn.is-open::before{transform: translateY(-50%) translateY(-10px) rotate(29deg); left: 3px;}
	#h_menuBtn.is-open::after{transform: translateY(-50%) translateY(10px) rotate(-29deg); left: 3px;}	
}


/* footer
==========================*/
#footer{background: #2E2E2E; color: #fff;}
#footer a{color: #fff;}

.f_top_wrap{justify-content: space-between; align-items: center; padding: 25px 0; border-bottom: 1px solid #707070;}
.f_logo_area{max-width: 150px;}
.f_contact{max-width: 155px; width: 100%;}
.f_contact a{border: 1px solid #fff; display: block; overflow: hidden; position: relative; text-align: center;}
.f_contact a::before{content: ""; background: #fff; display: block;
	position: absolute; top: 0; left: 0; z-index: 1; width: 0; height: 100%; transition: 0.3s ease;}
.f_contact span{position: relative; z-index: 2; font-size: 16px; transition: 0.3s ease;}
#footer .f_contact a:hover{opacity: 1; color: #000;}
.f_contact a:hover::before{width: 100%;}

.f_bottom_wrap{padding: 25px 0 70px;}
.f_company_info{width: calc(100% / 6);}
.f_company_info h2{font-size: 12px; font-weight: 400; margin-bottom: 20px;}
.footer_box{width: calc(100% / 6);}
.footer_box h2{font-size: 20px; line-height: 1.2; margin-bottom: 15px;}
.footer_box li{line-height: 1.4;}
.footer_box li + li,
.footer_box .side_list_wrap li + li{margin-top: 15px;}
.footer_box a{font-size: 12px;}
.footer_expert_box small{font-size: 10px;}
.footer_trends_box span{font-size: 10px;}
.footer_trends_box p{overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;}

#f_copyright{text-align: center; padding: 13px 0;}
#f_copyright p{font-size: 14px;}

#footer .side_list_wrap a{background: none; padding: 0;}
#footer .side_list_wrap a:hover{opacity: 0.7;}
#footer .side_list_wrap a::before,
#footer .side_list_wrap a span::after{display: none;}

@media screen and (max-width: 960px){
	.f_company_info{width: calc(100% / 3); margin-bottom: 30px;}
	.footer_box{width: calc(100% / 3); margin-bottom: 30px;}
}
@media screen and (max-width: 640px){
	#footer .inner{padding: 0;}

	.f_top_wrap{flex-direction: column; border-bottom: none; padding: 25px 0 0;}
	.f_logo_area{margin-bottom: 20px;}

	.f_bottom_wrap{padding: 20px 0 30px;}
	.f_company_info{width: 100%; text-align: center; border-bottom: 1px solid #707070; padding-bottom: 20px; margin-bottom: 0;}

	.footer_box{width: 100%; margin-bottom: 0; border-bottom: 1px solid #707070;}
	.footer_box h2{margin-bottom: 0; padding: 15px 20px; position: relative;}
	.footer_box h2::after{content: "\f13a"; font-family: "Font Awesome 6 Free"; font-size: 14px; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); transition: 0.3s ease;}
	.footer_box h2.open::after{transform: translateY(-50%) rotate(180deg);}
	.footer_box ul{background: #454545;}
	.footer_box li + li{margin-top: 0; border-top: 1px solid #707070;}
	#footer .footer_box ul.side_list_wrap li{margin-top: 0;}
	#footer .footer_box ul.side_list_wrap li a,
	.footer_box li a{display: block; padding: 15px 20px ;}
	.footer_box .textwidget,
	.footer_box .menu-company-container{display: none;}
}


/* main
==========================*/
main{padding-top: 70px;}
.inner{max-width: 1230px; width: 100%; padding: 0 15px; margin: 0 auto;}

.fead{position: relative; opacity: 0; transform: translateX(-40px); transition: 0.3s ease 0.5s;}
.fead.is-show{opacity: 1; transform: translateX(0);}
@keyframes mask {
	0% {width: 0%; left: 0%;}
	50% {width: 100%; left: 0%;}
	100% {width: 0%; left: 100%;}
}
@keyframes txtIn {
	0% {opacity: 0;}
	100% {opacity: 1;}
}

@media screen and (max-width: 960px){}
@media screen and (max-width: 640px){
	main{padding-top: 50px;}
}

#en_page_title{background: #F0F0F0; text-align: center; padding: 22px 15px;}
#en_page_title p{font-size: 24px; font-weight: 700; line-height: 1.5;}
.pankuzu{border-bottom: 1px solid #ddd; padding: 5px 0;}
.pankuzu ul li{font-size: 10px; font-weight: 500;}
.pankuzu ul li::after{content: "\f105"; font-family: "Font Awesome 6 Free"; font-size: 12px; font-weight: 900; color: #A2A2A2; margin: 0 20px;}
.pankuzu ul li:last-child:after{display: none;}
.pankuzu ul li a{color: #4BAD48;}
#page_content{padding: 20px 0 80px;}

.page_main_title{font-size: 24px; margin-bottom: 20px;}

#pageWrap{}
#pageWrap .wp-block-group + .wp-block-group{margin-top: 40px;}
#pageWrap .wp-block-group  .wp-block-group + .wp-block-group{margin-top: 20px;}
#pageWrap p + p{margin-top: 15px;}

@media screen and (max-width: 640px){
	.pankuzu ul li::after{margin: 0 10px;}
}

/* タイトルの装飾 */
.title_style01{margin-bottom: 50px; position: relative; clip-path: inset(0 100% 0 0); transition: 0.8s ease 0.3s;}
.title_style01.is-show{clip-path: inset(0 0 0 0);}
.title_style01 *{font-size: 40px; font-weight: 700; line-height: 1.2;}
.title_style01 .title_style01_allLInk{position: absolute; top: 50%; right: 0; transform: translateY(-50%);}
.title_style01 .title_style01_allLInk *{font-size: 24px;}
.title_style02{background: #000; color: #fff; font-size: 20px; line-height: 1.8; padding: 10px 20px; margin-bottom: 15px;}
.title_style03{border-left: 5px solid #004AAD; font-size: 16px; padding-left: 10px; line-height: 1.5; margin-bottom: 10px;}
.title_style04{text-align: center; font-size: 18px; border-bottom: 1px solid #ddd; margin-bottom: 5px;}


.w_900_content{background: #F5F2F2;}
.w_900_content > .wp-block-group__inner-container{max-width: 900px; width: 100%; margin: 0 auto; padding: 40px 15px;}

/* テーブルの装飾 */
.wp-block-table.table_style table{background: #fff; width: 100%; border: none;
	border-top: 1px solid #5b5b5b; border-left: 1px solid #5b5b5b;}
.wp-block-table.table_style table th{}
.wp-block-table.table_style table td{border: none;
	border-bottom: 1px solid #5b5b5b; border-right: 1px solid #5b5b5b; padding: 20px 15px;}
.wp-block-table.table_style table td:nth-child(1){width: 30%; background: #e5e5e5; font-weight: 700; vertical-align: top; position: relative;}

.wp-block-table.table_style02 table{background: #fff; width: 100%; border: none; border-top: 1px solid #5b5b5b;}
.wp-block-table.table_style02 table td{border: none; vertical-align: middle;
	border-bottom: 1px solid #5b5b5b; padding: 20px 15px;}
.wp-block-table.table_style02 table td:nth-child(1){width: 20%; font-size: 16px; font-weight: 500; letter-spacing: 1px;}

.wp-block-table.table_style03 table{background: #fff; width: 100%; border: none;
	border-top: 1px solid #5b5b5b; border-left: 1px solid #5b5b5b;}
.wp-block-table.table_style03 table th{}
.wp-block-table.table_style03 table td{border: none;
	border-bottom: 1px solid #5b5b5b; border-right: 1px solid #5b5b5b; padding: 20px 15px;}
.wp-block-table.table_style03 table tr:nth-child(1) td{width: 30%; background: #e5e5e5; font-weight: 700; vertical-align: top; position: relative;}

/* リストの装飾 */
.arrow_list{}
.arrow_list li{position: relative; padding-left: 15px;}
.arrow_list li::before{content: "\f0da"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; top: 1px; left: 0;}

@media screen and (max-width: 960px){}
@media screen and (max-width: 640px){
	.title_style01{margin-bottom: 20px;}
	.title_style01 *{font-size: 26px; line-height: 1.2;}
	.title_style01 .title_style01_allLInk *{font-size: 20px;}
	.title_style04{font-size: 16px;}

	#page_content{padding: 15px 0 40px;}
	.page_main_title{font-size: 20px; margin-bottom: 15px;}
	.w_900_content > .wp-block-group__inner-container{padding: 25px 15px;}

	.wp-block-table.table_style table td{display: block; width: 100%; padding: 20px 10px;}
	.wp-block-table.table_style table td:nth-child(1){width: 100%; padding: 10px;}

	.wp-block-table.table_style02 table td{display: block; width: 100%; padding: 10px 10px 20px;}
	.wp-block-table.table_style02 table td:nth-child(1){width: 100%; padding: 5px 10px; font-size: 15px;}
}

/* archive */
#archive_content{padding: 50px 0 80px;}
#archive_content .wp-pagenavi{margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: center;}
#archive_content .wp-pagenavi a,
#archive_content .wp-pagenavi span{font-family: 'Oswald', sans-serif; margin: 0 2px; font-size: 16px; line-height: 1.2;}
#archive_content .wp-pagenavi a:hover,
#archive_content .wp-pagenavi span.current{background: #000; color: #fff; opacity: 1;}

#archive_content .consulting_box{width: calc(100% / 3);}
#archive_content .consulting_box a{background: #EFEFEF;}
#archive_content .consulting_box figure{background: #fff;}

#archive_content .philosophy_text{background: #EFEFEF;}

#archive_content .case_list_wrap{max-width: 900px; margin: 0 auto;}
#archive_content .case_list_digest{height: 200px;}
#archive_content .top_case_bnr + .top_case_bnr{margin-top: 30px;}
#archive_content .case_list_text{position: absolute; top: 50%; left: 30px; right: 80px; z-index: 3; transform: translateY(-50%); color: #fff;}
#archive_content .top_case_bnr h2{position: static; transform: translateY(0); margin-bottom: 10px;}
#archive_content .case_list_text p{line-height: 1.6;}

#archive_content .trends_box a{background: #EFEFEF;}
#archive_content .trends_tax_list{margin-left: -15px;
    margin-right: -15px;}
#archive_content .trends_tax_list .trends_box{padding: 0 15px;}

@media screen and (max-width: 960px){
	#archive_content .consulting_box figure img{width: 75px;}
}
@media screen and (max-width: 640px){
	#archive_content .top_case_bnr + .top_case_bnr{margin-top: 15px;}
	#archive_content .top_case_bnr h2{font-size: 16px;}
	#archive_content .case_list_text{left: 15px; right: 45px;}
}


/* サイドメニュー有り */
#column_content{justify-content: space-between;}
#main_column{width: calc(100% - 300px);}
#side_column{width: 250px;}

#side_column .wp-block-heading{font-size: 23px;}
.side_list_wrap li + li{margin-top: 20px;}
.side_list_wrap a{display: block; background: #EFEFEF; font-size: 12px; line-height: 1.6; padding: 16px 20px; position: relative;}
.side_list_wrap a::before{content: ""; position: absolute; top: 0; left: 0; width: 0; height: 100%; background: #4BAD48; transition: 0.3s ease-in;}
.side_list_wrap a span{display: block; position: relative; z-index: 2; transition: 0.3s ease-in;}
.side_list_wrap a span::after{content: "\f105"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; top: 50%; right: -7px; transform: translateY(-50%);}

.side_list_wrap a:hover{opacity: 1;}
.side_list_wrap a:hover:before,
.side_list_wrap li.current a:before{width: 100%;}
.side_list_wrap a:hover span,
.side_list_wrap li.current a span{color: #fff;}

@media screen and (max-width: 960px){
	#main_column{width: calc(100% - 270px);}
}
@media screen and (max-width: 640px){
	#main_column{width: 100%; margin-bottom: 30px;}
	#side_column{width: 100%; padding-top: 15px; border-top: 1px solid #ddd;}
	#side_column .wp-block-heading{font-size: 20px;}
	.side_list_wrap li + li{margin-top: 10px;}
}

/* contact */
.table_style input,
.table_style textarea{width: 100%; border: 1px solid #ccc;
	font-family: 'Noto Sans JP', sans-serif;
	color: #000; font-size:15px; font-weight: 400; padding: 5px; margin: 0; box-sizing: border-box;}
.table_style input[type=checkbox]{width: auto; display: inline-block;}
.agreement_wrap{height: 300px; padding: 10px; overflow-y: scroll; border: 1px solid #ccc;}
.agreement_wrap p{font-size: 12px;}
.agreement_checkbox{background: #e5e5e5; padding: 5px 20px; margin-top: 20px;}
.table_style textarea{resize: vertical;}
.table_style .required{font-size: 11px; background: #e73d3d; color: #fff; padding: 1px 5px;
	position: absolute; top: 20px; right: 15px;}
.submi_wrap{justify-content: center; margin: 20px 0 0;}
.submi_wrap input,
.submi_wrap button{width: 40%; margin: 0 10px; padding: 10px; transition: 0.3s ease;
    font-size: 18px; letter-spacing: 1px; border: none; border-radius: 5px;}
.submi_wrap input:nth-child(1){background: #004aad; color: #fff;}
.submi_wrap button{background: #7d7d7d; color: #fff;}
.submi_wrap input:hover,
.submi_wrap button:hover{cursor: pointer; opacity: 0.7;}

@media screen and (max-width: 640px){
	.table_style .required{top: 13px;}
}