@charset "UTF-8";

/*子テーマ用「base.css」*/

/****************************************
共通その他
*****************************************/
body{
	background-color: #fff; /*サイトの背景色*/
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
}
/***スマホでクリックやホバーなどのマウスイベントを無効化***/
/*
767px以下
*/
@media screen and (max-width: 767px) {
a:hover,
a:active,
a:focus{/*opacityとtext-decoration以外は個別で設定する必要あり*/
	opacity: 1!important;
	text-decoration: none!important;
}
}
/***1カラムの最大幅***/
.col1 .keni-section_wrap{
	max-width: 900px;
}
/***tableの基本CSS***/
table.responsive th{
	width: 30%;
	font-weight: normal;
	vertical-align: middle;
}
table.responsive.th50 th{
	width: 50%;
}
table.responsive td{
	padding: 15px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
table.responsive{
	border: 0;
	border-bottom: 1px solid #ccc;
}
table.responsive td{
	display: block;
	width: 100%;
	padding: 10px;
	border: 0;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	box-sizing: border-box;
}
table.responsive th{
	display: block;
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	box-sizing: border-box;
}
table.responsive.th50 th{
	width: 100%;
}
}
/***検索ボックス（検索結果,フッターパネル,Not Found）***/
.sns-btn_wrap > div:hover,
.sns-btn_wrap > div:active,
.sns-btn_wrap > div:focus{
	opacity: 1;
}
.archive_products_in .search-box,
.fpanel.search-box,
.no-results.not-found .search-box{
	width: 92%;
	max-width: 450px;
	padding: 0.1px 1px;
	border: 0;
}
.archive_products_in .search-box,
.no-results.not-found .search-box{
	border: 1px solid #000;
}
.fpanel.search-box{
	margin: 0 auto;
}
.archive_products_in .search-box .btn-search,
.fpanel.search-box .btn-search,
.no-results.not-found .search-box .btn-search{
	top: 0;
	right: 5px;
}
/*フッターパネル*/
.keni-footer-panel_sns .sns-btn_wrap{
	border-top: 0;
}
/***ヘッダー上、アーカイブタイトル上、記事・固定ページのタイトル上の斜線を消す***/
.keni-header_wrap,
.keni-header_wrap.fixed,
.archive_title,
.keni-section h1:not(.title_no-style){
	background-image: none!important;
}
/*スマホ時ヘッダー固定した際のヘッダーのボーダー線を無くす*/
/*
767px以下
*/
@media screen and (max-width: 767px) {
.site-title{
	background-image: none!important;
}
}
/***フォントサイズ***/
.f07em{ font-size: 0.7em!important; }
.f06em{ font-size: 0.6em!important; }
.f05em{ font-size: 0.5em!important; }
/*
767px以下
*/
@media screen and (max-width: 767px) {
/*SP用*/
.f09em_sp{ font-size: 0.9em!important; }
.f08em_sp{ font-size: 0.8em!important; }
.f07em_sp{ font-size: 0.7em!important; }
.f06em_sp{ font-size: 0.6em!important; }
.f05em_sp{ font-size: 0.5em!important; }
}
/***デバイス別のdisplay: none;***/
.pcnone{
	display: none;
}
.pcnone_li{
	display: none!important;
}
.pcnone_block{
	display: none;
}
.spnone{
	display: inline;
}
.spnone_li{
	display:list-item!important;
}
.spnone_block{
	display: block;
}
.wpcnone{
	display: none;
}
.wpcnone_li{
	display: none!important;
}
.wpcnone_block{
	display: none;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.pcnone{
	display: inline;
}
.pcnone_li{
	display:list-item!important;
}
.pcnone_block{
	display: block;
}
.spnone{
	display: none;
}
.spnone_li{
	display: none!important;
}
.spnone_block{
	display: none;
}
}
/*
1030px以下
*/
@media screen and (max-width: 1030px) {
.wpcnone{
	display: inline;
}
.wpcnone_li{
	display:list-item!important;
}
.wpcnone_block{
	display: block;
}
}
/***Not Found***/
.no-results.not-found{
	width: 90%;
	max-width: 800px;
	margin: 0 auto 50px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.no-results.not-found{
	margin: 0 auto 30px;
}
}
/***more_btn***/
.more_btn{
	width: 90%;
	max-width: 300px;
	margin: 0 auto;
	font-size: 1.2em;
	text-align: center;
}
.more_btn a{
	display: block;
	position: relative;
	top: 5px;
	width: 100%;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #000;
	text-decoration: none;
}
.more_btn a:hover,
.more_btn a:active,
.more_btn a:focus{
	top: 0;
}
/****************************************
js
****************************************/
/***js-animation***/
.js-animation{
	opacity: 0;
	visibility: hidden;
	transform: translateY(30px);
	transition: all 1s;
}
.js-animation.is-show{
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}
/****************************************
全体見出し
****************************************/
h1.engh1_subtext{
	margin-top: 10px!important;
	padding: 0!important;
	color: #000;
	font-size: 2.5em!important;
	line-height: 1;
	text-align: center;
}
h1.engh1_subtext.sm{
	font-size: 2em!important;
}
h2.engh2_subtext{
	margin-top: 35px;
	padding: 0;
	border: 0!important;
	background: none!important;
	color: #000;
	font-size: 2.5em!important;
	line-height: 1!important;
	text-align: center;
}
.page-template-default .article-body h2,
.post .article-body h2,
.error404 .article-body h2{
	margin-top: 35px;
	padding: 0 0 3px 10px;
	border-left: 5px solid #000;
	border-bottom: 1px solid #000;
	background: none!important;
	color: #000;
	font-size: 1.3em;
	line-height: 1.6;
}
.error404 .article-body h2{
	margin-bottom: 20px!important;
}
.page-template-default .article-body h3,
.post .article-body h3{
	margin-top: 27px;
	padding: 4px 0 4px 13px;
	border-top: none;
	border-bottom: none;
	border-left: double #000;
	font-size: 1.1em;
	line-height: 1.6;
}
.page-template-default .article-body h4,
.post .article-body h4{
	margin-top: 20px;
	font-size: 1em;
	line-height: 1.6;
}
.page-template-default .article-body h5,
.post .article-body h5{
	margin-top: 20px;
	padding: 4px 0 4px 13px;
	background: #777;
	color: #fff;
	font-size: 1em;
	line-height: 1.6;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
h1.engh1_subtext{
	margin-top: 20px!important;
	font-size: 2.3em!important;
}
h1.engh1_subtext.sm{
	font-size: 1.8em!important;
}
.page-template-default .article-body h2,
.post .article-body h2,
.error404 .article-body h2{
	margin-top: 20px;
	font-size: 1.4em;
}
.page-template-default .article-body h3,
.post .article-body h3{
	margin-top: 20px;
	font-size: 1.2em;
}
}
/****************************************
投稿ページ,固定ページ
****************************************/
.page-template-default .article-body,
.post .article-body{
	max-width: 750px;
	margin: 0 auto;
}
/*アイキャッチ画像のヘッダー固定化*/
.header_full_fixed_image img{
	position: absolute;
	top: 0;
	z-index: -10;
	width: 100%;
	height: 350px;
	overflow: hidden;
	object-fit: cover;
}
.spacer{
  height: 250px;/*ダミーの余白、header_full_fixed_imageの高さからkeni-mainのpadding-top: 70pxを引く(調整で更に30px引く)*/
}
.char_avatar_topcenter img{/*アバター画像トップセンター配置*/
	position: absolute;
	top: 290px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -5;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	border: 1px solid #ccc;
	background: #fff;
}
/*
1400px以上
*/
@media screen and (min-width: 1400px) {
.header_full_fixed_image img{
	height: 450px;
}
.spacer{
  height: 350px;
}
.char_avatar_topcenter img{
	top: 390px;
}
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.header_full_fixed_image img{
	height: 250px;
}
.spacer{
  height: 170px;
}
.char_avatar_topcenter img{
	top: 190px;
}
}
/*アイキャッチ画像（文中トップに表示させる場合）*/
.article-visual{
	margin-bottom: 20px;
}
/*Pタグ*/
.page-template-default .article-body p,
.post .article-body p{
	margin-bottom: 0;
}
/*画像タグ*/
.aligncenter{
	margin: 15px auto;
}
/***ul,li***/
.article-body ul{
	margin-top: 10px;
	margin-bottom: 10px;
}
.article-body ul li{
	list-style: initial;
	margin-bottom: 0;
}
/***引用***/
.link-ref,
.article-body .link-ref{
	padding: 10px 0;
	font-size: 13px;
	line-height: 1.6;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.link-ref,
.article-body .link-ref{
	font-size: 11px;
}
}
/***パンくずリスト***/
.keni-section_wrap.breadcrumbs{
	margin-top: 20px;
	margin-bottom: 0;
	padding: 0;
}
.keni-breadcrumb-list_wrap{
	margin: 0 auto -10px;
	padding: 20px 20px 0;
	border: 0;
}
.keni-breadcrumb-list_outer{
	width: 900px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.keni-section_wrap.breadcrumbs{
	margin-top: 10px;
}
.keni-breadcrumb-list_outer{
	position: relative;
	width: 100%;
}
.keni-breadcrumb-list_outer::after{
	z-index: 10;
	position: absolute;
	top: 0;
	right: 0;
	content: url(./images/scroll_gradient_h25.png);
}
ol.keni-breadcrumb-list_inner{
	display: block;
	overflow-x: scroll;
	width: 100%;
	padding-right: 45px;
	padding-bottom: 6px;
	white-space: nowrap;
}
}
/***目次（keni_toc）***/
.toc-area{
	margin: 25px auto;
	border: 3px solid #000;
	border-radius: 5px;
}
.toc_title{
	margin: -1px;
	background: #000;
	color: #fff!important;
	font-size: 1.25em;
}
.toc_title::before{
	display: inline-block;
	position: relative;
	right: 10px;
	width: 22px;
	height: 22px;
	background: url(./images/svg/icon/mokuji_w.svg);
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: sub;
	content: '';
}
.toc-area_btn{
	top: 4px;
	padding-right: 20px;
	width: 100%;
	color: #fff;
	text-align: right;
}
.toc-area_inner ol.toc-area_list{
	padding: 5px 15px 10px 22px;
	line-height: 1.5;
}
/*h2のリスト*/
.toc-area_inner ol.toc-area_list > li{
	font-size: 1.9rem!important;
	font-weight: bold!important;
}
.toc-area_inner ol.toc-area_list > li::before{
	border-radius: 50%;
	background: #000!important;
}
/*全体のリスト*/
.toc-area_inner ol.toc-area_list li{
	padding-top: 2px;
	color: #000;
	font-size: 1.6rem;
}
.toc-area_inner ol.toc-area_list li a{
	color: #000;
	text-decoration: none;
}
/***投稿ページ***/
/*関連記事*/
h2.keni-related-title{
	margin-top: 25px!important;
	border-bottom: 1px solid #000;
	background: none!important;
	color: #000;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
h2.keni-related-title{
	margin-top: 15px!important;
}
.related-entry-list{
	margin: 0;
}
}
/*次の投稿,前の投稿のナビゲーション*/
.navigation.post-navigation{
	display: none;
}
/*コメントを無くす*/
#comments{
	display: none;
}
/*この記事を書いている人*/
.post_author{
	margin-top: 50px;
	padding: 30px;
	border: 5px solid #eee;
}
.post_author_in_left{
	float: left;
	width: 30%;
	padding-right: 30px;
	border-right: 2px solid #eee;
	text-align: center;
}
.post_author_in_right{
	float: right;
	width: 70%;
	padding: 10px 30px;
}
.post_author h2.post_author{
	margin: 0;
	padding: 5px 0;
	border: 0;
	background: #eee!important;
	font-size: 13px;
	text-align: center;
}
.post_author_nickname{
	margin-top: 15px;
	font-size: 15px;
	font-weight: bold;
}
.post_author_avatar img{
	margin-top: 12px;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
}
.post_author_description{
	font-size: 15px;
	font-weight: bold;
}
.post_author .more_btn{
	width: 80%;
	max-width: 200px;
	margin: 15px auto 0;
	font-size: 13px;
	font-weight: bold;
}
.post_author .more_btn a{
	padding: 3px 0;
	border: 2px solid #000;
	border-radius: 10px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.post_author{
	padding: 25px 20px 30px;
}
.post_author_in_left,
.post_author_in_right{
	float: none;
	width: 100%;
	padding: 0;
	border: 0;
}
.post_author_nickname{
	margin-top: 10px;
}
.post_author_description{
	font-size: 11px;
}
.post_author .more_btn{
	font-size: 11px;
}
}
/****************************************
ヘッダー
****************************************/
.keni-header_cont,
.site-description{
	display: none!important;
}
.site-title img{
	width: auto;
}
/*
768px以上
*/
@media screen and (min-width: 768px) {
.keni-header_wrap{
	position: fixed;
	top: 0;
	z-index: 60;
	width: 100%;
	height: 80px;
	padding: 7px 0;
	background: rgba(255, 255, 255, 0.8)!important;
}
.site-title{
	position: absolute;
	top: 5px;
	left: 0;
	font-size: 2.3rem!important;
}
.site-title img{
	height: 57px;
}
}
/*
1030px以下
*/
@media screen and (max-width: 1030px) {
.site-title{
	top: 12px;
}
.site-title img{
	height: 37px;
}
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.keni-header_wrap{
	padding-top: 0;
	background: none;
}
.site-title{
	background: rgba(255, 255, 255, 0.8)!important;
}
.site-title img{
	height: 30px;
}
}
/***ヘッダーのお知らせアイコン***/
.pc_header_message_icon{
	display: none;/*ヘッダーアイコン非表示*/
	position: fixed;
	top: 3px;
	right: 12px;
	z-index: 80;
}
.pc_header_message_icon img{
	display: block;
	position: relative;
	float: right;
}
.pc_header_message_icon .accordionlist dt{
	background: none;
}
.pc_header_message_icon .accordionlist dd{
	position: relative;
	top: 30px;
	right: 10px;
	width: 450px;
	padding: 25px;
	border: 1px solid #eee;
	border-radius: 40px;
	border-top-right-radius: 0;
	background: rgba(255, 255, 255, 0.9);
	font-size: 0.85em;
}
.pc_header_message_icon .accordionlist dd .title{
	padding: 5px 5px 5px 20px;
	border-bottom: 1px solid #000;
	background: url(./images/svg/icon/megaphone.svg) no-repeat;
	background-position: left center;
	background-size: 13px auto;
	font-weight: bold;
}
.pc_header_message_icon .accordionlist dd ul{
	margin: 10px 0 10px 20px;

}
/*
819px以下
*/
@media screen and (max-width: 819px) {
.pc_header_message_icon{
	display: none;
}
}
/****************************************
グローバルナビ
****************************************/
/***スマホのレイアウト***/
/*
767px以下
*/
@media screen and (max-width: 767px) {
.keni-gnav_inner{
	width: 100%;
}
.keni-gnav_inner ul.keni-gnav_cont{
	padding: 5px 15px 20px;
}
.keni-gnav_inner li{
	font-size: 1.6rem;
}
.keni-gnav_inner li a{
	padding: 18px;
}
/*SNS,コンタクトボタンエリア*/
.keni-gnav_inner li.sns_contact_aria{
	padding: 0 0 35px;
	text-align: center;
}
.keni-gnav_inner li.sns_contact_aria .sns-navi{
	margin-bottom: 25px;
}
.keni-gnav_inner li.sns_contact_aria .sns-navi a{
	display: inline-block;
	padding: 0;
	color: #005EAD;
}
.keni-gnav_inner li.sns_contact_aria .contact_btn{
  	position: relative;
	margin: 10px auto;
}
.keni-gnav_inner li.sns_contact_aria .contact_btn a{
	padding: 12px 0;
	border-radius: 5px;
	color: #fff;
}
.keni-gnav_inner li.sns_contact_aria .contact_btn.phone a{
	background: #00aca0;
}
.keni-gnav_inner li.sns_contact_aria .contact_btn.line a{
	background: #41B153;
}
.keni-gnav_inner li.sns_contact_aria .contact_btn.phone::before{/*折り返し黄色三角*/
	content: '';
  	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
	width: 0;
	height: 0;
	border-top-right-radius: 5px;
	border-style: solid;
	border-width: 0 15px 15px 0;
	border-color: transparent #fdd000 transparent transparent;
}
.keni-gnav_inner li.sns_contact_aria img.logo{/*ロゴ画像*/
	margin: 20px 0;
}
.keni-gnav_inner li.sns_contact_aria a{
	padding: 0;
}
}
/***スマホ以外のレイアウト***/
/*
768px以上
*/
@media screen and (min-width: 768px) {
.keni-gnav_wrap{
	position: fixed;
	top: 20px;
	left: 350px;/*ロゴをリンクを活かすためロゴサイズ分逃がす*/
	z-index: 70;
	width: 100%;
	background: none;
}
.keni-gnav_inner ul{
	position: absolute;
	right: 400px;
	background: none;
}
.keni-gnav_inner li ul.sub-menu{
	position: absolute;
	left: 0;/*親メニューkeni-gnav_inner ulのrightを継承しないための固定*/
}
.keni-gnav_inner li ul.sub-menu{
	left: -30px;/*最後のリストがsub-menuを持つ場合のはみ出防止*/
}
.keni-gnav_inner li a{
	margin: 0 5px;
	padding-left: 10px;
	padding-right: 10px;
	border-width: 1px;
	border-color: rgba(255, 255, 255, 0);
}
.keni-gnav_inner li a:hover,
.keni-gnav_inner li a:active,
.keni-gnav_inner li a:focus{
	border-width: 1px;
	border-color: #000;
}
.keni-gnav_inner li.menu-item-has-children a:hover,
.keni-gnav_inner li.menu-item-has-children a:active,
.keni-gnav_inner li.menu-item-has-children a:focus{
	border-color: rgba(255, 255, 255, 0);
}
.keni-gnav-child_btn{
	top: 12px;
}
.keni-gnav_inner li.sns_contact_aria{
	display: none;
}
}
/*
768px以上、1180px以下
*/
@media (min-width: 768px) and (max-width: 1180px) {
.keni-gnav_inner ul{
	right: 370px;
}
.keni-gnav_inner li ul.sub-menu{
	left: -60px;/*最後のリストがsub-menuを持つ場合のはみ出防止*/
}
}
/*
768px以上、1030px以下
*/
@media (min-width: 768px) and (max-width: 1030px) {
.keni-gnav_wrap{
	top: 21px;
	left: 210px;
}
.keni-gnav_inner ul{
	right: 250px;
}
.keni-gnav_inner li a{
	margin: 0 2px;
	padding-left: 6px;
	padding-right: 6px;
	font-size: 0.85em;
}
}
/*
768px以上、880px以下
*/
@media (min-width: 768px) and (max-width: 880px) {
.keni-gnav_inner ul{
	right: 210px;
}
.keni-gnav_inner li ul.sub-menu{
	left: -100px;/*最後のリストがsub-menuを持つ場合のはみ出防止*/
}
}
/***親メニューのナビアイコン***/
.keni-gnav-child_btn_icon-open > a,
.keni-gnav-child_btn_icon-close > a{
	padding-right: 30px!important;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
/*スマホのクリック領域変更*/
.keni-gnav-child_btn{
	top: -3px;
	width: 100%;
	padding-right: 25px;
	text-align: right;
}
/*スマホのナビアイコンの位置調整*/
.keni-gnav-child_btn::before{
	font-size: 14px!important;
	line-height: 70px!important;
}
}
/*
768px以上、1030px以下
*/
@media (min-width: 768px) and (max-width: 1030px) {
.keni-gnav-child_btn{
	top: 10px;
	width: 100%;
	padding-right: 8px;
	text-align: right;
}
}
/***子メニュー***/
.keni-gnav_inner li ul.sub-menu{
	border: 0!important;
	background: none!important;
}
.keni-gnav_inner li ul.sub-menu li{
	border-color: #f4f5f7;
	background: url(./images/svg/icon/arrow_right.svg) no-repeat #fff;
	background-position: left 13px center;
	background-size: 8px auto;
	font-size: 15px!important;
}
.keni-gnav_inner li ul.sub-menu li a{
	padding-left: 27px;
	background: none;
	color: #000;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.keni-gnav_inner li ul.sub-menu li{
	background-position: left 27px center;
	font-size: 12px;
}
.keni-gnav_inner li ul.sub-menu li a{
	padding-left: 45px;
}
.keni-gnav_inner li ul.sub-menu li ul.sub-menu li{
	background-position: left 40px center;
}
.keni-gnav_inner li ul.sub-menu li ul.sub-menu li a{
	padding-left: 60px;
}
}
/*
768px以上
*/
@media screen and (min-width: 768px) {
.keni-gnav_inner li ul.sub-menu li,
.keni-gnav_inner li ul.sub-menu li ul.sub-menu li{
	min-width: 180px;
}
}
/*
768px以上、1030px以下
*/
@media (min-width: 768px) and (max-width: 1030px) {
.keni-gnav_inner li ul.sub-menu li a{
	min-height: initial;
	padding-top: 12px;
	padding-bottom: 12px;
}
}
/***スマホのハンバーガーアイコン***/
/*
767px以下
*/
@media screen and (max-width: 767px) {
.keni-gnav_btn{
	top: 0;
	height: 54px;
	background: #00ACA0;
	/*background: #005EAD;ブルーバージョン*/
	color: #fff;
}
.keni-gnav_btn_icon-open,
.keni-gnav_btn_icon-open::before,
.keni-gnav_btn_icon-open::after{
	background: #fff;
}
}
/****************************************
keni-main
****************************************/
.keni-main{
	padding-top: 70px;
}
.keni-main.notfound{
	padding: 90px 0 0;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.keni-main,
.keni-main.notfound{
	padding-top: 0;
}
.keni-main.notfound{
	margin-bottom: -20px;
}
}
/***メニューにかぶせるページはpadding削除***/
.page-template-page-top .keni-main{
	padding-top: 0;
}
/****************************************
サイドバー（表示する場合）
*****************************************/
/*
768px以上
*/
@media screen and (min-width: 768px) {
.keni-sub{
	position: relative;
	top: 60px;
}
}
/****************************************
フッター
****************************************/
.keni-copyright_wrap{
	padding: 0;
	border: 0;
}
.keni-copyright{
	font-size: 1.5em;
	text-align: center;
}
.footer-menu{
	margin: 0!important;
}
.footer-menu ul.menu li.menu-item{
	text-align: center;
}
.footer_logo{
	margin: -8px 0 -3px;/*logo_512.pngの上下に余白があるためマージンで打ち消し*/
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.keni-footer_wrap{
	padding-bottom: 15px;
}
.keni-footer-panel_wrap{
	background: none;
}
.footer-menu ul.menu li.menu-item{
	width: 33.33%;
	font-size: 0.9em;
}
.footer-menu ul.menu li.menu-item a{
	padding: 5px 0;
}
ul.footer_logo{
	margin: 18px 0;
}
}
/***fontawesomeのアイコンリスト(グローバルナビも共通)***/
.sns-navi{
	margin: 10px 0 20px;
}
.sns-navi a{
	margin: 0 11px;
	font-size: 30px;
	color: #005EAD;
}
ul.sns-navi a:hover,
ul.sns-navi a:active,
ul.sns-navi a:focus{
	opacity: 0.8;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.sns-navi{
	margin: 26px 0;
}
}
/*各アイコンのカラー指定*/
.sns-navi .fa-instagram{ color: #D300C5; }
.sns-navi .fa-tiktok{ color: #00C9D1; }
.sns-navi .fa-x-twitter{ color: #000; }
.sns-navi .fa-facebook{ color: #1877F2; }
.sns-navi .fa-youtube{ color: red; }



/****************************************
PCフッター固定
*****************************************/
.page-top.pc_footer_btn_aria{
	left: 0;
	right: auto;
	padding: 13px 30px;
	border-top-right-radius: 12px;
	background: rgba(0, 172, 160, 0.9);
	color: #fff;
	text-align: center;
}
.page-top.pc_footer_btn_aria::before{/*折り返し黄色三角*/
	content: '';
  	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-top-right-radius: 12px;
	border-width: 0 30px 30px 0;
	border-color: transparent #fdd000 transparent transparent;
}
.page-top.pc_footer_btn_aria a{
	display: inline;
	padding: 0;
	color: #fff;
}
.page-top.pc_footer_btn_aria a::before{
	display: none;
}
.pc_footer_btn_aria .pc_footer_tel{
	font-size: 1.6em;
	letter-spacing: 2px;
	line-height: 1.3;
}
.pc_footer_btn_aria .pc_footer_tel span{
	display: block;
	font-size: 0.5em;
	letter-spacing: 1px;
}
.pc_footer_btn_aria .pc_footer_mail_sns_btn{
	margin-top: 5px;
	font-size: 1.1em;
	letter-spacing: 5px;
}
.pc_footer_btn_aria .pc_footer_assess a{
	display: block;
	margin-top: 10px;
	padding: 3px 0;
	border-radius: 20px;
	border: 1px solid #fff;
	font-size: 0.8em;
	text-decoration: none;
}
/*ページトップボタンの色変更*/
.page-top{
	/*background: rgba(0, 100, 200, 0.9);青*/
	background: rgba(0, 172, 160, 0.9);
}
/****************************************
アーカイブ
*****************************************/
.archive_title{
	margin: 15px 10px 30px;
	padding: 15px;
	border-bottom: 2px solid #000;
	background: none;
	color: #000;
	font-size: 1.6em;
	font-weight: normal;
}
.entry_category{/*contの中のカテゴリー名を非表示*/
	display: none;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.archive_title{
	margin-top: 0;
	font-size: 1.4em;
}
}
/***通常アーカイブ用のパン屑設定***/
.keni-section_wrap.archive_breadcrumbs{
	max-width: 980px;
	margin: 20px auto;
}
.archive_breadcrumbs .keni-breadcrumb-list_wrap{
	padding: 0 10px 0;
}
.archive_breadcrumbs .keni-breadcrumb-list_outer{
	width: 980px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.keni-section_wrap.archive_breadcrumbs{
	margin: 0 auto 12px;
}
.archive_breadcrumbs .keni-breadcrumb-list_wrap{
	padding: 0 20px 0;
}
.archive_breadcrumbs .keni-breadcrumb-list_outer{
	width: 100%;
}
}
/***author.php***/
h1.author img{
	margin-right: 5px;
	border: 1px solid #fff;
	border-radius: 50%;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.5);
}
/***一覧表示で説明文と更新日とボタンを非表示にするカテゴリ***/
/*お客様の声*/
.category-customer_voice .entry_description,
.category-customer_voice .ently_read-more{
	display: none;
}
.category-customer_voice h2.entry_title{
	margin-bottom: 10px!important;
}
/***サムネイル左上に子カテゴリ名表示***/
.category-construction_case .entry_thumb,
.category-customer_voice .entry_thumb{
	position: relative;
}
.category-construction_case .child_category,
.category-customer_voice .child_category{
	position: absolute;
	top: 0;
	left: 0;
	padding: 3px 7px;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-size: 14px;
}
/***スタッフ紹介のアーカイブ***/
.staff_list_aria .staff_list h2{
	margin: 50px 0 3px;
	background: none;
	color: #000;
	font-size: 1.5em;
	font-weight: normal;
	line-height: 0.9;
}
.staff_list_aria .entry-list_item{
	padding: 0;
}
.staff_list_aria .staff_list a{
	position: relative;
	display: block;
	width: 100%;
	border: 1px solid #ccc;
	text-align: center;
	text-decoration: none;
}
.char_avatar_list_thumb img{
	position: absolute;
	bottom: 105px;
	left: 50%;
	transform: translateX(-50%);
	display: block;
	height: 110px;
	border-radius: 50%;
	border: 1px solid #ccc;
	background: #fff;
}
.staff_list_aria .staff_list a:hover,
.staff_list_aria .staff_list a:active,
.staff_list_aria .staff_list a:focus{
	opacity: 0.8;
}
.staff_list .more_btn{
	display: block;
	margin: 0 auto 7px;
	color: #005EAD;
	font-size: 1.5em;
	text-align: center;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.staff_list_aria .staff_list h2{
	font-size: 1.3em;
}
.char_avatar_list_thumb img{
	bottom: 100px;
}
}
/*スマホで2列表示に変更*/
/*
180px以上、479px以下
*/
@media screen and (min-width: 180px) and (max-width: 479px) {
.staff_list_aria .entry-list_style02{
	display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
}
.staff_list_aria .entry-list_item{
	width: 46%;
	margin: 0 2% 15px;
}
.staff_list_aria .staff_list a img.wp-post-image{
	height: 110px;
	object-fit: cover;
}
}
/***仮想パン屑リスト***/
.imitate_breadcrumbs{
	margin: 15px 0 5px;
	padding: 0 10px;
	font-size: 0.85em;
}
.imitate_breadcrumbs .fas{
	margin: 0 12px;
}
.imitate_breadcrumbs a{
	color: #000;
	text-decoration: none;
}
.imitate_breadcrumbs a:hover{
	text-decoration: underline;
}
/***売買実績のアーカイブ***/
.toppage_news_in.category_sales_results{
	width: 90%;
	max-width: 1000px;
	margin: 20px auto 30px;
}
.category_sales_results h1.archive_title{
	margin: 0 0 30px;
	padding: 0;
	border: 0;
	font-size: 2.2em;
}
/***施工事例集のアーカイブ***/
/*ディスクリプション*/
.entry-list .category-construction_case .entry_description{
	margin-top: -10px;
}
/*画像の最小高さを設定*/
.entry-list .category-construction_case .entry_thumb{
	max-height: 250px;
}
.entry-list .category-construction_case .entry_thumb img{
	min-height: 250px;
	object-fit: cover;
}
/*
480px以下
*/
@media screen and (max-width: 480px) {
.entry-list .category-construction_case .entry_thumb{
	max-height: 350px;
}
}
/***日付非表示***/
.entry-list .category-construction_case .entry_date_item,
.entry-list .category-customer_voice .entry_date_item{
	display: none;
}
/****************************************
ボタン等の汎用CSS
*****************************************/
/***コンタクトボタン***/
.contact_btn{
	width: 80%;
	max-width: 300px;
	margin: 0 auto;
	text-align: center;
}
.contact_btn a{
	position: relative;
	display: block;
	width: 100%;
	padding: 6px 0;
	background: #005EAD;
	color: #fff;
	text-decoration: none;
}
/* ─ 横線 */
.contact_btn a::before{
	content: '';
	position: absolute;
	top: 50%;
	right: 16px;
	width: 22px;
	height: 1px;
	background: #fff;
	transform: translateY(-50%);
}
/* ／ 斜線（右下がり） */
.contact_btn a::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 16px;
	width: 8px;
	height: 1px;
	background: #fff;
	transform: translate(2px, -6.2px) rotate(45deg);
	transform-origin: left center;
}
.contact_btn a:hover,
.contact_btn a:active,
.contact_btn a:focus{
	color: #fff;
	opacity: 0.7;
}
/*グラデーション左右反転*/
.contact_btn.grad a{
	background: linear-gradient(to left, #4da1e0, #005EAD);
	z-index: 0;
}
.contact_btn.grad a::before{
	inset: 0;
	top: 0;
	right: 0;
	width: auto;
	height: auto;
	background: linear-gradient(to right, #4da1e0, #005EAD);
	transform: translateY(0);
	opacity: 0;
	transition: opacity 0.5s ease;
	z-index: -1;
}
.contact_btn.grad a::after{
	display: none;
}
.contact_btn.grad a:hover::before{
	opacity: 1;
}
.contact_btn.grad a:hover,
.contact_btn.grad a:active,
.contact_btn.grad a:focus{
	opacity: 1;
}
.contact_btn.grad .grad_arrow_icon{
	position: absolute;
	right: 15px;
	transform: translateY(50%);
}
/****************************************
トップページのローディング
*****************************************/
#loading{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	z-index: 9999;
	opacity: 1;
	transition: opacity 0.1s ease;
}
.loading-logo img{
	width: 90%;
	max-width: 500px;
	opacity: 0;
	transform: scale(0.9);
	animation: fadeIn 1.2s ease forwards;
}
@keyframes fadeInLoading{
	0%{
		opacity: 0;
		transform: scale(0.9);
	}
	100%{
		opacity: 1;
		transform: scale(1);
	}
}
body.loaded #loading{
	opacity: 0;
	pointer-events: none;
}
/****************************************
トップページ
*****************************************/
.toppage_wrapper{
	background: #fff;
}
.toppage_mainview_in{
	position: relative;
}
/***キービジュアルスライダー***/
.kv-slider .slides img{
	height: 600px!important;
	object-fit: cover;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.kv-slider .slides img{
	height: 400px!important;
}
}
/*
1200px以上
*/
@media screen and (min-width: 1200px) {
.kv-slider,
.kv-slider .flexslider,
.kv-slider .flex-viewport,
.kv-slider .slides,
.kv-slider .slides li,
.kv-slider .slides img{
	display: block;
	width: 100vw;
	height: 100vh!important;
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
	object-position: 0 -30px;
	margin: 0;
	padding: 0;
}
}
/***キャッチコピー***/
.catch_copy{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 0);
	width: 90%;
	max-width: 900px;
	padding: 10px 0 7px;
	border-top-left-radius: 50%;
	border-top-right-radius: 50%;
	background: rgba(0, 100, 200, 0.8);
	color: #fff;
	font-size: 1.1em;
	text-align: center;
	line-height: 1.5;
}
/*
1030px以下
*/
@media screen and (max-width: 1030px) {
.catch_copy{
	font-size:0.9em;
}
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.catch_copy{
	padding: 15px 0 5px;
	font-size: 0.8em;
}
}
/***ここからの共通***/
.toppage_section{
	padding: 50px 0;
}
.toppage_section h2{
	margin-bottom: 20px;
	padding: 0;
	background: none!important;
	color: #000;
	font-size: 2.3em!important;
	font-weight: normal;
	line-height: 1em;
	text-align: center;
}
.toppage_section h2 .sub{
	font-size: 0.5em;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.toppage_section{
	padding: 40px 0;
}
.toppage_section h2{
	font-size: 1.8em!important;
}
}
/***CONCEPT***/
.toppage_concept_in h2{
	padding: 0 0 55px;
	background: url(./images/svg/kokoro.svg) center bottom no-repeat!important;
	background-size: 75px auto!important;
}
.concept_copy{
	max-width: 800px;
	margin: 20px auto;
	text-align: center;
	font-size: 0.9em;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.toppage_concept_in h2{
	padding: 0 0 45px;
	background-size: 60px auto!important;
}
}
/***NEWS***/
.toppage_news{
	background: #f4f5f7;
}
.toppage_news_in{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}
.toppage_news_in.sales_results{
	margin: 50px auto 0;
}
.toppage_news_in_left{
	width: 35%;
	float: left;
	padding: 15px;
}
.toppage_news_in_right{
	width: 65%;
	float: right;
	padding: 15px;
}
.toppage_news_in h2{
	margin-bottom: 30px;
	text-align: left;
}
.toppage_news_in .contact_btn.pc{
	display: block;
	margin: 30px 0 0;
}
.toppage_news_in .contact_btn.sp{
	display: none;
}
.toppage_news_in .contact_btn a{
	border: 1px solid #005EAD;
	background: none;
	color: #005EAD;
}
.toppage_news_in .contact_btn a::before,
.toppage_news_in .contact_btn a::after{
	background: #005EAD;
}
.toppage_news_in .contact_btn a:hover,
.toppage_news_in .contact_btn a:active,
.toppage_news_in .contact_btn a:focus{
	background: #fff;
	color: #005EAD;
	opacity: 1;
}
.toppage_news_in ul{
	margin: 0;
}
.toppage_news_in li{
	margin-bottom: 0;
	list-style: none;
}
.toppage_news_in li a{
	display: flex;
	align-items: center;
	margin: 0;
	padding: 18px 0;
	border-bottom: 1px solid #777;
	color: #005EAD;
	text-decoration: none;
}
.toppage_news_in li a.none{
	color: #000!important;
	opacity: 1!important;
	pointer-events: none;
}
.toppage_news_in li a .date{
	width: 30%;
	min-width: 150px;
	color: #000;
}
.toppage_news_in li a .title{
	text-decoration: underline;
}
.toppage_news_in li a:hover,
.toppage_news_in li a:active,
.toppage_news_in li a:focus{
	opacity: 0.7;
}
/*
1030px以下
*/
@media screen and (max-width: 1030px) {
.toppage_news_in_left,
.toppage_news_in_right{
	width: 100%;
	float: none;
	padding: 10px 15px;
}
.toppage_news_in.information .toppage_news_in_left{
	padding-top: 0;
}
.toppage_news_in.sales_results .toppage_news_in_right{
	padding-bottom: 0;
}
.toppage_news_in h2{
	margin-bottom: 20px;
}
.toppage_news_in .contact_btn.pc{
	display: none;
}
.toppage_news_in .contact_btn.sp{
	display: block;
	margin: 40px auto 0;
}
.toppage_news_in .contact_btn a:hover,
.toppage_news_in .contact_btn a:active,
.toppage_news_in .contact_btn a:focus{/*マウスイベントを無効化*/
	background: none;
	color: #005EAD;
}
.toppage_news_in ul{
	border-top: 1px solid #777;
}
.toppage_news_in li a{
	display: block;
	padding: 13px 0;
}
.toppage_news_in li a .date{
	display: block;
	width: 100%;
}
}
/***SUPPORT***/
.toppage_support{
	position: relative;
	background-image: url(./images/support_bg.jpg);
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
}
.toppage_support::before{/*半透明オーバーレイ*/
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 150, 160, 0.7);
	z-index: 1;
}
.toppage_support > *{/*中身が隠れないようにする*/
	position: relative;
	z-index: 2;
}
.toppage_support_in h2{
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 20px;
	color: #fff;
}
.toppage_support_in h2::after{
	content: "";
	position: absolute;
	bottom: -20px;/*テキストとの距離*/
	left: 50%;
	transform: translateX(-50%);
	width: 50%;/*下線の長さ：テキストの50%*/
	height: 2px;/*線の太さ*/
	background-color: #fff;
}
.support_copy{
	max-width: 800px;
	margin: 30px auto;
	color: #fff;
	font-size: 0.9em;
	text-align: center;
}
.support_linkblock_aria{
	width: 93%;
	max-width: 1200px;
	margin: 40px auto 0;
}
.support_linkblock_aria.top{
	border-bottom: 1px solid #ccc;
}
.support_linkblock_aria.bottom{
	margin: 0 auto;
}
.support_btn.souzoku,
.support_btn.uritai,
.support_btn.kaitai,
.support_btn.sokochi{
	float: left;
	width: 25%;
	text-align: center;
}
.support_btn.kashitai,
.support_btn.karitai{
	float: left;
	width: 50%;
	text-align: center;
}
.support_btn.souzoku,
.support_btn.kaitai,
.support_btn.kashitai{
	background-color: rgba(255, 255, 255, 0.95);
}
.support_btn.uritai,
.support_btn.sokochi,
.support_btn.karitai{
	background-color: rgba(235, 235, 235, 0.95);
}
.support_btn a{
	display: block;
	padding: 140px 0 50px;
	background-position: center top 45px;
	background-repeat: no-repeat;
	background-size: auto 75px;
	color: #000;
	font-size: 1.7em;
	text-decoration: none;
}
.support_btn.sokochi a{
	background-position: center top 50px;
}
.support_btn.kashitai a,
.support_btn.karitai a{
	padding: 100px 0 30px;
	background-position: center top 30px;
	background-size: auto 60px;
}
.support_btn.souzoku a{
	background-image: url(./images/svg/souzoku.svg);
}
.support_btn.uritai a{
	background-image: url(./images/svg/uritai.svg);
}
.support_btn.kaitai a{
	background-image: url(./images/svg/kaitai.svg);
}
.support_btn.sokochi a{
	background-image: url(./images/svg/sokochi.svg);
}
.support_btn.kashitai a{
	background-image: url(./images/svg/kashitai.svg);
}
.support_btn.karitai a{
	background-image: url(./images/svg/karitai.svg);
}
.support_btn a:hover,
.support_btn a:active,
.support_btn a:focus{
	color: #000;
	opacity: 0.6;
}
/*
1030px以下
*/
@media screen and (max-width: 1030px) {
.toppage_support{
	background-attachment: scroll;
}
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.support_btn.souzoku,
.support_btn.uritai,
.support_btn.kaitai,
.support_btn.sokochi{
	width: 50%;
}
.support_linkblock_aria.top{
	border-bottom: 0;
}
.support_btn a{
	padding: 90px 0 30px;
	background-position: center top 28px;
	background-size: auto 50px;
	font-size: 1.2em;
	line-height: 1.3;
}
.support_btn.sokochi a{
	background-position: center top 33px;
}
.support_btn.kashitai a,
.support_btn.karitai a{
	padding: 90px 0 30px;
	background-position: center top 33px;
	background-size: auto 45px;
}
.support_btn.souzoku,
.support_btn.sokochi,
.support_btn.kashitai{
	background-color: rgba(255, 255, 255, 0.95);
}
.support_btn.uritai,
.support_btn.kaitai,
.support_btn.karitai{
	background-color: rgba(235, 235, 235, 0.95);
}
}
/***施工事例集バナー***/
.toppage_construction_case{
	background: #eee;
}
.construction_case_banner a{
	display: block;
	width: 700px;
	height: 233px;
	margin: 0 auto;
	padding: 50px 0 0 65px;
	box-sizing: border-box;
	background-image: url(./images/construction_case_banner.png);
	background-color: #fff;
	background-position: right center;
	background-size: 350px 233px;
	color: #000;
	font-size: 1.5em;
	line-height: 1.6;
	text-decoration: none;
}
.construction_case_banner a:hover,
.construction_case_banner a:active,
.construction_case_banner a:focus{
	color: #000;
	opacity: 0.7;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.construction_case_banner a{
	width: 300px;
	height: 400px;
	padding: 35px 0 0 50px;
	background-position: center bottom;
	background-size: 300px 200px;
}
}
/***COMPANY***/
.toppage_company{
	position: relative;
	padding-top: 100px;
	background: #fafafa;
}
/*テキストアニメーション*/
.nc_animetext{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 112px;
	background-image: url(./images/svg/nishijutsucenter_animetext.svg);
	background-repeat: repeat-x;
	background-position: left top;
	background-size: auto 100%;
	animation: scroll-right 20s linear infinite;
}
@keyframes scroll-right{
0%{
	background-position: -100% 50%;
}
100%{
	background-position: 0% 50%;
}
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.nc_animetext{
	animation: scroll-right 60s linear infinite;
}
}
/*↑テキストアニメーションここまで*/
.toppage_company_in h2{
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 20px;
}
.toppage_company_in h2::after{
	content: "";
	position: absolute;
	bottom: -20px;/*テキストとの距離*/
	left: 50%;
	transform: translateX(-50%);
	width: 50%;/*下線の長さ：テキストの50%*/
	height: 2px;/*線の太さ*/
	background-color: black;
}
.company_copy{
	max-width: 800px;
	margin: 30px auto;
	text-align: center;
	font-size: 0.9em;
}
.company_linkblock_aria{
	width: 90%;
	max-width: 800px;
	margin: 20px auto;
}
/*上4つのシンプルボタン*/
.contact_btn.company,
.contact_btn.philosophy,
.contact_btn.csr,
.contact_btn.recruit{
	float: left;
	width: 50%;
	max-width: 50%;/*.contact_btnの指定を解除*/
	font-size: 1.1em;
	text-align: left;
}
.contact_btn.company a,
.contact_btn.philosophy a,
.contact_btn.csr a,
.contact_btn.recruit a{
	display: block;
	width: 90%;
	margin: 0 auto;
	padding: 20px 0;
	border-bottom: 1px solid #ccc;
	background: none;
	color: #000;
}
.contact_btn.company a,
.contact_btn.philosophy a{
	border-top: 1px solid #ccc;
}
.contact_btn.company a::before,
.contact_btn.philosophy a::before,
.contact_btn.csr a::before,
.contact_btn.recruit a::before,
.contact_btn.company a::after,
.contact_btn.philosophy a::after,
.contact_btn.csr a::after,
.contact_btn.recruit a::after{
	background: #000;
}
.contact_btn.company a:hover,
.contact_btn.philosophy a:hover,
.contact_btn.csr a:hover,
.contact_btn.recruit a:hover,
.contact_btn.company a:active,
.contact_btn.philosophy a:active,
.contact_btn.csr a:active,
.contact_btn.recruit a:active,
.contact_btn.company a:focus,
.contact_btn.philosophy a:focus,
.contact_btn.csr a:focus,
.contact_btn.recruit a:focus{
	color: #000;
}
/*下二つの画像ボタン*/
.contact_btn.staff,
.contact_btn.access{
	float: left;
	width: 50%;
	max-width: 50%;/*.contact_btnの指定を解除*/
	margin-top: 25px;
	font-size: 1.2em;
	font-weight: bold;
	text-align: left;
}
.contact_btn.staff a,
.contact_btn.access a{
	display: block;
	width: 90%;
	margin: 0 auto;
	padding: 180px 0 30px 10px;

}
.contact_btn.staff a{
	background-image:  url(./images/bg_cover.png), url(./images/staff_500.jpg);
	background-position: left top, center top;
	background-repeat: repeat, no-repeat;
	background-size: auto, cover;
}
.contact_btn.access a{
	background-image:  url(./images/bg_cover.png), url(./images/access_500.jpg);
	background-position: left top, center top;
	background-repeat: repeat, no-repeat;
	background-size: auto, cover;
}
.contact_btn.staff a::before,
.contact_btn.access a::before,
.contact_btn.staff a::after,
.contact_btn.access a::after{
	top: 200px;
}
.contact_btn.staff a::before,
.contact_btn.access a::before{
	width: 20%;
}
.contact_btn.one_col{
	width: 100%;
	max-width: 100%;/*.contact_btnの指定を解除*/
}
.contact_btn.one_col a{
	max-width: 500px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.contact_btn.staff a,
.contact_btn.access a{
	padding: 110px 0 20px 10px;
}
.contact_btn.staff a::before,
.contact_btn.access a::before,
.contact_btn.staff a::after,
.contact_btn.access a::after{
	top: 130px;
}
.contact_btn.staff a::before,
.contact_btn.access a::before{
	width: 22px;
}
.contact_btn.two_lines{
	font-size: 0.93em;
	line-height: 1.1;
}
}
/*
480px以下
*/
@media screen and (max-width: 480px) {
.contact_btn.staff,
.contact_btn.access{
	font-size: 1em;
}
.contact_btn.staff a,
.contact_btn.access a{
	padding: 70px 0 10px 10px;

}
.contact_btn.staff a::before,
.contact_btn.access a::before,
.contact_btn.staff a::after,
.contact_btn.access a::after{
	top: 90px;
}
}
/***よくある質問集バナー***/
.toppage_questions{
	background: #eee;
}
.questions_banner a{
	display: block;
	width: 700px;
	height: 233px;
	margin: 0 auto;
	padding: 30px 0 0 450px;
	box-sizing: border-box;
	background-image: url(./images/questions_banner.png);
	background-color: #fff;
	background-position: left center;
	background-size: 350px 233px;
	color: #000;
	font-size: 1.5em;
	line-height: 1.1;
	text-decoration: none;
}
.questions_banner a:hover,
.questions_banner a:active,
.questions_banner a:focus{
	color: #000;
	opacity: 0.7;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.questions_banner a{
	width: 300px;
	height: 400px;
	padding: 14px 0 0 70px;
	background-position: center bottom;
	background-size: 300px 200px;
}
}
/***INFORMATION***/
.toppage_information{
	position: relative;
	padding-top: 100px;
	background: #fff;
}
/*テキストアニメーション*/
.it_animetext{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 112px;
	background-image: url(./images/svg/information_animetext.svg);
	background-repeat: repeat-x;
	background-position: left top;
	background-size: auto 100%;
	animation: scroll-right 20s linear infinite;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.it_animetext{
	animation: scroll-right 60s linear infinite;
}
}
/*↑テキストアニメーションここまで*/
.toppage_information_in{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.toppage_information_in h2{
	display: inline-block;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	margin-bottom: 60px;
}
.toppage_information_in h2::after{
	content: "";
	position: absolute;
	bottom: -20px;/*テキストとの距離*/
	left: 50%;
	transform: translateX(-50%);
	width: 50%;/*下線の長さ：テキストの50%*/
	height: 2px;/*線の太さ*/
	background-color: black;
}
.information_copy{
	max-width: 800px;
	margin: 30px auto;
	text-align: center;
	font-size: 0.9em;
}
.newpost_cont_aria{
	width: 100%;
	margin: 0 auto;
}
.newpost_cont{
	float: left;
	width: 33.33%;
	height: 300px;
}
.newpost_cont_in{
	width: 90%;
	margin: 0 auto;
}
/*タブメニュー*/
.tab-conts{
	margin: 30px 0 0;
	border-right: 0;
	border-bottom: 0;
}
.tab-menu{
	border-right: 0;
	border-collapse: separate;
	border-spacing: 15px 0;
}
.tab-menu > li{
	border-bottom: 0;
	background-color: rgba(255, 255, 255, 0);/*タブの背景色*/
	color: #000;
	text-align: center;
}
.tab-menu > .tab-menu_select{
	border: 0;
}
.tab-menu > .tab-menu_select div{
	background: #005EAD;/*選択中のタブの背景色*/
	border-bottom: 1px solid #005EAD;/*選択中のタブの下線*/
	color: #fff;
}
.tab-menu > .tab-menu_select span{
	border-bottom: 1px solid #fff;
}
.tab-menu > .tab-menu_select span.linenone{
	border-bottom: 0;/*タブ内で小さい文字を使用する際はこのクラス名を指定*/
}
.tab-menu_select + li span{
	border-left: 0;
}
.tab-menu > li div{
	padding: 4px 0 7px;
	border-bottom: 1px solid #000;
}
.tab-menu > li span{
	display: inline;
	padding: 2px 0;
	border: 0;
}
.tab-conts > li{
	border: 0;
}
/*↑タブメニューはここまで*/
.newpost_cont_in h3{
	margin: 5px 0 0;
	padding: 0;
	border: none;
	font-size: 1.2em;
	font-weight: normal;
}
.newpost_cont_in h3 a{
	color: #000;
	text-decoration: none;
}
.newpost_cont_in h3 a:hover,
.newpost_cont_in h3 a:active,
.newpost_cont_in h3 a:focus{
	text-decoration: underline;
}
.toppage_information_in .contact_btn{
	max-width: 400px;
	font-size: 1.3em;
}
.toppage_information_in .contact_btn a{
	padding: 20px 0;
	border: 1px solid #000;
	background: none;
	color: #000;
}
.toppage_information_in .contact_btn a::before,
.toppage_information_in .contact_btn a::after{
	background: #000;
}
.toppage_information_in .contact_btn a:hover,
.toppage_information_in .contact_btn a:active,
.toppage_information_in .contact_btn a:focus{
	color: #000;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.newpost_cont{
	width: 50%;
	height: 250px;
}
.newpost_cont_in h3{
	font-size: 1.1em;
}
.toppage_information_in .contact_btn a{
	padding: 10px 0;
}
}
/*施工事例とお客様の声のみの指定*/
.newpost_cont.construction_case h3,
.newpost_cont.customer_voice h3{
	margin-top: 15px;
}
.newpost_cont.customer_voice h3{
	font-size: 1em;
}
.newpost_cont.construction_case .newpost_cont_in,
.newpost_cont.customer_voice .newpost_cont_in{
	position: relative;
}
.newpost_cont.construction_case .child_category,
.newpost_cont.customer_voice .child_category{
	position: absolute;
	top: 0;
	left: 0;
	padding: 3px 7px;
	background: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
}
.newpost_cont.construction_case .newpost_cont_in img{/*施工事例の写真高さを統一*/
	object-fit: cover;
	height: 250px;
}
.newpost_cont.construction_case{/*施工事例は写真高さがあるため高さ調整*/
	height: 370px;
}
.newpost_cont.customer_voice{/*お客様の声はタイトル長いため高さ調整*/
	height: 330px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.newpost_cont.construction_case{
	height: 320px;
}
}
/*
480px以下
*/
@media screen and (max-width: 480px) {
.newpost_cont.construction_case .newpost_cont_in img{
	height: 200px;
}
.newpost_cont.construction_case .child_category,
.newpost_cont.customer_voice .child_category{
	font-size: 11px;
}
}
/****************************************
フッター固定のCONTACT
*****************************************/
.multipage_contact{
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.5)),
		url(./images/contact_bg.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	opacity: 0.9;
	transition: opacity 0.3s ease;
}
.multipage_contact_in a{
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 60px 0;
	color: #fff;
	font-size: 2.5em;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
}
.multipage_contact:hover,
.multipage_contact:active,
.multipage_contact:focus{
		 opacity: 1;
}
.multipage_contact_in a:hover,
.multipage_contact_in a:active,
.multipage_contact_in a:focus{
	color: #fff;
}
/*
1030px以下
*/
@media screen and (max-width: 1030px) {
.multipage_contact{
	background-attachment: scroll;
}
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.multipage_contact_in a{
	font-size: 2em;
}
.multipage_contact:hover,
.multipage_contact:active,
.multipage_contact:focus{/*マウスイベントを無効化*/
		 opacity: 0.9;
}
}
/****************************************
アコーディオン
*****************************************/
/***汎用***/
/*タイトル*/
.accordionlist dt{
	display: block;
	cursor: pointer;
}
.accordionlist .accordion_title{
	float: left;
	margin: 0;
	padding: 10px;
	color: #000;
	font-size: 16px;
}
/*＋,－*/
.accordion_icon,
.accordion_icon span{
	display: inline-block;
	box-sizing: border-box;
	transition: all .4s;
}
.accordion_icon{
	position: relative;
	top: 20px;
	float: right;
	width: 30px;
	height: 30px;
}
.accordion_icon span{
	position: absolute;
	left: 6px;
	width: 50%;
	height: 2px;
	background-color: #000;
}
.accordion_icon span:nth-of-type(1){
	top: 5px;
	transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2){
	top: 5px;
	transform: rotate(90deg);
}
/*＋,－切り替え*/
.accordion_icon.active span:nth-of-type(1){
	display: none;
}
.accordion_icon.active span:nth-of-type(2){
	top: 5px;
	transform: rotate(180deg);
}
/*開閉コンテンツ*/
.accordionlist dd{
	display: none;
	padding: 0;
}
.accordionlist.reverse dd{
	display: block;
}
/***アーカイブタイトル下用***/
/*wrap*/
.archive_accordion_wrap{
	max-width: 980px;
	margin: -30px auto 30px;
}
.archive_accordion_wrap .accordionlist{
	margin-bottom: 7px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.archive_accordion_wrap{
	margin: -30px 10px 25px;
}
}
/*子カテゴリ名リスト*/
.accordionbox ul.children_list{
	margin: 0;
}
.accordionbox ul.children_list li{
	display: inline-block;
	margin: 5px;
	padding: 1px 15px 1px 27px;
	background: url(./images/svg/icon/arrow_right.svg) left 10px center no-repeat #f6f7f2;
	background-size: 8px auto;
}
.accordionbox ul.children_list li a{
	color: #000;
	text-decoration: none;
}
.accordionbox ul.children_list li a:hover,
.accordionbox ul.children_list li a:active,
.accordionbox ul.children_list li a:focus{
	opacity: 0.6;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.accordionbox ul.children_list{
	font-size: 0.8em;
}
.accordionbox ul.children_list li{
	margin: 4px 2px;
	padding: 0 10px 0 21px;
	background-size: 6px auto;
}
}
/****************************************
お問合せフォーム
*****************************************/
.contact_introduction{
	width: 90%;
	margin: 0 auto 30px!important;
	text-align: center;
}
table.cf7_formtable{
	width: 100%;
	max-width: 800px;
	margin: 0 auto 30px;
	border: 0;
}
table.cf7_formtable p{
	margin-bottom: 0;
}
table.cf7_formtable th,
table.cf7_formtable td{
	padding: 10px 25px;
	border: 0;
	font-size: 1.3em;
	line-height: 2;
	vertical-align: middle;
}
table.cf7_formtable th{
	width: 30%;
	background: none;
	text-align: left;
	vertical-align: middle;
}
table.cf7_formtable th span,
.acceptance_privacy .hissu{
	display: block;
	width: 30px;
	border-radius: 20px;
	background: orange;
	color: #fff;
	font-size: 9px;
	text-align: center;
	line-height: 2;
}
.acceptance_privacy .hissu{
	display: inline-block!important;
	position: relative;
	bottom: 4px;
	display: inline-block;
	margin-left: 3px;
}
table.cf7_formtable input,
table.cf7_formtable textarea{
	background: #f4f5f7;
}
table.cf7_formtable input[type="text"],
table.cf7_formtable input[type="tel"]{
	width: 60%;
}
table.cf7_formtable td.w40p input[type="text"]{
	width: 40%;
}
table.cf7_formtable td.w100p input[type="text"]{
	width: 100%;
}
table.cf7_formtable input[type="email"]{
	width: 90%;
}
table.cf7_formtable input[type="file"]{
	width: 100%;
	margin: 6px 0;
	border: 0;
	background: none;
}
table.cf7_formtable  .wpcf7-list-item{
	display: block;
}
table.cf7_formtable td textarea{
	width: 98%;
}
table.cf7_formtable td.address input[type="text"]{
	margin: 6px 0;
}
.acceptance_privacy{
	margin-bottom: 35px!important;
	font-size: 1.3em;
	text-align: center;
}
.acceptance_privacy  .wpcf7-list-item{
	margin-left: 0;
}
/*「送信」ボタン*/
.contact_submit{
	width: 90%;
	max-width: 400px;
	margin: 0 auto;
	font-size: 1.3em;
	text-align: center;
}
.contact_submit input[type="submit"]{
	width: 100%;
	padding: 10px 0!important;
	border-radius: 30px;
	border: 0;
	background: #005EAD;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.contact_introduction{
	margin: 0 auto!important;
}
table.cf7_formtable{
	max-width: 470px;
	margin: 0 auto 20px;
}
table.cf7_formtable td,
table.cf7_formtable th{
	display: block;
	width: 100%;
	box-sizing: border-box;
	font-size: 1.2em;
}
table.cf7_formtable th{
	margin-top: 10px;
	padding: 10px 10px 0;
}
table.cf7_formtable th span{
	position: relative;
	bottom: 3px;
	display: inline-block;
	margin-left: 5px;
}
table.cf7_formtable td{
	padding: 10px;
}
table.cf7_formtable input{
	width: 100% !important;
	max-width: 450px;
	box-sizing: border-box !important;
}
table.cf7_formtable input.tani{/*末尾に単位を入れるinput*/
	width: 88% !important;
}
table.cf7_formtable input[type="checkbox"]{
	width: auto!important;
}
.acceptance_privacy{
	margin-bottom: 30px!important;
	font-size: 1.2em;
}
}
/***safariで自動入力欄の色（黄色）を変更***/
input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0px 1000px #f4f5f7 inset;
}
/****************************************
無料査定フォーム
*****************************************/
.assess_form h2{
	margin: 40px 0 30px!important;
	padding: 0 0 20px!important;
	border-left: 0!important;
	border-bottom: 3px dotted #005EAD!important;
	font-size: 1.5em!important;
	text-align: center;
}
.assess_form h2 span{
	margin-right: 10px;
	padding: 3px 10px;
	border-radius: 20px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	color: #fff;
	font-size: 0.7em;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.assess_form h2{
	margin: 40px 0 10px!important;
	padding: 0!important;
	border-bottom: 0!important;
}
.assess_form h2 span{
	display: block;
	margin: 0 auto 10px;
	padding: 2px 0;
	border-radius: 0;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	font-size: 0.6em;
}
}
/****************************************
キャラクター吹き出し設定
*****************************************/
.chat_l, .chat_r{
	max-width: 900px;
	margin: 0 auto;
	font-weight: bold;
}
.chat_l .talker b,
.chat_r .talker b{
	font-weight: bold;
	text-align: center;
}
.chat_l .talker b img,
.chat_r .talker b img{
	max-width: 80px;
	margin-bottom: 3px;
	border: 1px solid #f4f5f7;
}
.chat_l .bubble_wrap{
	margin-left: -68px;
	padding-left: 68px;
}
.chat_r .bubble_wrap{
	margin-right: -68px;
	padding-right: 68px;
}
/*
768px以上
*/
@media screen and (min-width: 768px) {
.chat_l .bubble_wrap{
	margin-left: -110px;
	padding-left: 110px;
}
.chat_r .bubble_wrap{
	margin-right: -110px;
	padding-right: 110px;
}
}
/****************************************
用語集
*****************************************/
/***投稿の用語集リンク***/
a.qword{
	padding-left: 10px;
	background: url(./images/svg/question.svg) left top no-repeat;
	background-size: 10px auto;
}
/****************************************
スマホ固定フッター変更
*****************************************/
.keni-footer-panel_wrap.fixed-bottom{
	background: none;
}
.keni-footer-panel ul{
	border: 0;
	border-collapse: separate;
	border-spacing: 5px 0;
}
.utility-menu_item.contact,
.utility-menu_item.phone,
.utility-menu_item.line{
	position: relative;
	border: 0;
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
}
.utility-menu_item.contact{
	background: rgba(0, 100, 200, 0.9);
}
.utility-menu_item.phone{
	background: rgba(0, 172, 160, 0.9);
}
.utility-menu_item.line{
	background: rgba(65, 177, 83, 0.9);
}
.utility-menu_item.phone::before{/*折り返し黄色三角*/
	content: '';
  	position: absolute;
	top: 0;
	right: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-top-right-radius: 12px;
	border-width: 0 30px 30px 0;
	border-color: transparent #fdd000 transparent transparent;
}
.utility-menu_item.contact a,
.utility-menu_item.phone a,
.utility-menu_item.line a{
	color: #fff;
	font-size: 1.1em
}
/*アイコン*/
.icon_contact,
.icon_phone,
.icon_line{
	line-height: 1;
	font-size: 20px;
}
.icon_contact::before,
.icon_phone::before,
.icon_line::before{
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-size: contain;
}
.icon_contact::before{
	background-position: center top 5px;
}
.icon_contact::before{
	background-image: url(./images/svg/icon/icon_contact.svg);
}
.icon_phone::before{
	background-image: url(./images/svg/icon/icon_phone.svg);
}
.icon_line::before{
	background-image: url(./images/svg/icon/icon_line.svg);
}
/****************************************
よくある質問集・用語集　共通
*****************************************/
/***全体と見出し***/
.page_questions{
	width: 100%;
	max-width: 900px;
	padding: 30px 20px 50px;
	margin: 0 auto;
}
.page_questions h1{
	margin: 20px 0;
	font-size: 2.5em;
	font-weight: normal;
	line-height: 1em;
	text-align: center;
}
.page_questions h2{
	margin: 50px 0 25px;
	padding: 13px 20px;
	background: linear-gradient(to left, #4da1e0, #005EAD)!important;
	color: #fff!important;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.page_questions h1{
	margin: 10px 0 0;
	font-size: 2.4em;
}
}
/***QAセットのアコーディオン***/
.qa .accordionlist{
	background: #f4f5f7;
	margin: 0 0 15px;
}
.qa .accordionlist dt{
	position: relative;
	padding: 0 10px 0 40px;
	background: url(./images/svg/q.svg) top 19px left 15px no-repeat;
	background-size: 12px auto;
}
.qa .accordionlist dt .accordion_title{
	width: 85%;
	padding: 15px 0;
	line-height: 1.6;
}
.qa .accordion_icon span{
	background-color: #999!important;
}
.qa .accordionlist dd{
	padding: 10px 10px 10px 40px;
	border: 1px solid #f4f5f7;
	background: url(./images/svg/a.svg) top 19px left 15px no-repeat #fff;
	background-size: 12px auto;
}
/***用語セットのアコーディオン***/
.qa.gl .accordionlist dt{
	background: url(./images/svg/yougo.svg) top 20px left 12px no-repeat;
	background-size: 20px auto;
}
.qa.gl .accordionlist dd{
	background: url(./images/svg/bulb.svg) top 15px left 12px no-repeat #fff;
	background-size: 15px auto;
}
/***用語集のインデックス***/
.page_questions ul.index{
	margin: 40px 0 -30px;
}
.page_questions ul.index::after {
	content: "";
	display: block;
	clear: both;
}
.page_questions ul.index li{
	float: left;
	margin-left: 35px;
}
/****************************************
お客様の声の投稿ページ
*****************************************/
.customer_voice_post_page{
	width: 100%;
	max-width: 900px;
	padding: 30px 20px 50px;
	margin: 0 auto;
}
.customer_voice_post_page h1{
	margin: 60px 0 50px;
	font-size: 1.6em;
	font-weight: normal;
	line-height: 1.3em;
	text-align: center;
}
table.post_data_table th,
table.post_data_table td{
	padding: 20px;
	font-size: 1.2em;
	font-weight: normal;
}
table.post_data_table th{
	width: 20%;
	min-width: 110px;
}
.customer_voice_post_page h2.question{
	margin: 40px 0 30px;
	padding: 0;
	background: none;
	color: #000;
	font-size: 1.4em;
	font-weight: normal;
	line-height: 1.8;
	text-decoration: underline;
	text-decoration-color: #777;
	text-decoration-thickness: 1px;
	text-underline-offset: 10px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.customer_voice_post_page h1{
	margin: 60px 0 35px;
	font-size: 1.4em;
}
table.post_data_table th,
table.post_data_table td{
	padding: 15px 7px;
	font-size: 0.9em;
}
.customer_voice_post_page h2.question{
	margin: 40px 0 25px!important;
	font-size: 1.2em!important;
}
}
/****************************************
施工事例の投稿ページ
*****************************************/
.construction_case_post_page{
	width: 100%;
	max-width: 900px;
	padding: 30px 20px 50px;
	margin: 0 auto;
}
.construction_case_post_page h1{
	margin: 20px 0 40px;
	font-size: 1.8em;
	font-weight: normal;
	line-height: 1.2em;
	text-align: center;
}
.construction_case_post_page .the_content{
	width: 90%;
	max-width: 570px;
	margin: 0 auto;
}
.construction_case_post_page h2{
	margin: 30px 0;
	padding: 7px;
	border-bottom: 1px solid #2d2b41;
	background: none!important;
	color: #2d2b41;
	font-size: 1.2em;
	font-weight: normal;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.construction_case_post_page h1{
	margin: 0 0 30px;
	font-size: 1.5em;
}
}
/***メインスライダー***/
.main-slider{
	position: relative;
	width: 100%;
	height: 400px;
	margin: 40px auto;
	border: 1px solid #ccc;
}
.main-slider .swiper-slide{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.main-slider .swiper-slide a,
.main-slider .swiper-slide img{
	width: auto;
	height: 100%;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.main-slider{
	width: 90%;
	margin: 25px auto;
}
}
/*
720px以下
*/
@media screen and (max-width: 720px) {
.main-slider .swiper-slide a.link-landscape,
.main-slider .swiper-slide img.img-landscape{/*横長画像*/
	width: 100%;
	height: auto;
}
.main-slider .swiper-slide a.link-portrait,
.main-slider .swiper-slide img.img-portrait{/*縦長画像*/
	width: auto;
	height: 100%;
}
.main-slider .swiper-slide a.link-square,
.main-slider .swiper-slide img.img-square{/*縦横同比画像*/
	width: 100%;
	height: auto;
}
}
/*
480px以下
*/
@media screen and (max-width: 480px) {
.main-slider{
	height: 350px;
}
}
/*メインスライド下の説明文*/
.main-slider .slide-caption{
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 280px;
	padding: 3px 10px;
	background: rgba(240, 240, 240, 0.6);
	font-size: 14px;
	color: #000;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.main-slider .slide-caption{
	width: 250px;
}
}
/*ナビゲーション*/
.swiper-button-prev,
.swiper-button-next{
	color: #ddd;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.swiper-button-prev,
.swiper-button-next{
	color: #eee;
}
}
/***サムネイルスライダー***/
.thumb-slider .swiper-slide{
	width: auto;
	text-align: center;
}
.thumb-slider img{
	width: 100px;
	height: 100px;
	object-fit: cover;
}
.thumb-title{
	font-size: 13px;
	margin-top: 4px;
	color: #444;
}
/*ラッパー*/
.thumb-slider {
	position: relative;
	overflow: hidden;
}
/*左右グラデーション*/
.thumb-slider::before,
.thumb-slider::after {
	content: '';
	position: absolute;
	top: 0;
	width: 40px;
	height: 100%;
	z-index: 10;
	pointer-events: none;
	opacity: 0;/*初期は非表示にしておく*/
	transition: opacity 0.3s ease;
}
.thumb-slider::before {
	left: 0;
	background: linear-gradient(to right, rgba(255,255,255,0.8), rgba(255,255,255,0));
}
.thumb-slider::after {
	right: 0;
	background: linear-gradient(to left, rgba(255,255,255,0.8), rgba(255,255,255,0));
}
/*JSで追加されるクラスでopacityの表示制御*/
.thumb-slider.hint-ready::before,
.thumb-slider.hint-ready::after {
	opacity: 1;
}
.thumb-slider.at-start::before {
	opacity: 0 !important;
}
.thumb-slider.at-end::after {
	opacity: 0 !important;
}
.thumb-slider .swiper-slide {
	position: relative;
	z-index: 0;
}
/***タブ付きスライダーのタブ設定***/
/* タブの見た目 */
.room-tabs{
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.room-tab{
	cursor: pointer;
	border: 1px solid #ddd;
	margin: 0;
	padding: 6px 30px;
	font-size: 18px;
}
.room-tab.is-active{
	background: #000;
	color: #fff;
	font-weight: bold;
}
/* パネルの表示切替 */
.room-pane{display:none;}
.room-pane.is-active{display:block;}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.room-tab{
	padding: 6px 10px;
	font-size: 14px;
}
}
/***おすすめポイント***/
.recommend_point_aria{
	margin-top: 30px;
	padding: 20px;
	background: #eee;
}
.recommend_point_left{
	float: left;
	width: 45%;
}
.recommend_point_left h2{
	margin: 55px 0 0;
	padding: 0;
	border: 0;
	font-size: 1.6em;
	font-weight: bold;
	color: #005EAD;
	text-align: center;
}
.recommend_point_right{
	float: left;
	width: 55%;
	padding: 25px;
	background: #fff;
}
.recommend_point_right ul{
	margin: 0;
}
.recommend_point_right ul li{
	position: relative;
	padding-left: 40px;
	font-size: 1.3em;
	list-style: none;
}
.recommend_point_right ul li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 25px;
	height: 25px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 3px;
}
.recommend_point_right ul li::after{
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 25px;
	height: 13px;
	border: 3px solid #005EAD;
	border-width: 0 0 3px 3px;
	transform: rotate(-45deg);
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.recommend_point_left,
.recommend_point_right{
	float: none;
	width: 100%;
}
.recommend_point_left h2{
	margin: 0;
	padding: 5px 0 15px;
}
.recommend_point_right{
	padding: 15px;
}
.recommend_point_right ul li{
	padding-left: 35px;
	font-size: 1.1em;
	line-height: 2;
}
}
/****************************************
スタッフ紹介の投稿ページ
*****************************************/
.staff_post_page{
	width: 100%;
	max-width: 900px;
	padding: 30px 20px 50px;
	margin: 0 auto;
}
.staff_post_page h1{
	margin: 50px 0 0;
	font-size: 2em;
	font-weight: normal;
	line-height: 1.2em;
	text-align: center;
}
.staff_data{
	width: 85%;
	max-width: 400px;
	margin: 0 auto;
	text-align: center;
	line-height: 1.5;
}
.staff_data p{
	margin: 23px 0 0;
}
.staff_data .data_name{
	display: block;
	width: 130px;
	padding: 2px 10px;
	margin: 0 auto 7px;
	border-radius: 20px;
	border: 1px solid #888;
	color: #888;
	font-size: 0.9em;
}
/***スタッフデータ***/
.license-tag{
	display: inline-block;
	background: #f2f2f2;
	padding: 2px 10px;
	margin: 8px 4px;
	border-radius: 20px;
	font-size: 0.8em;
}
/***お客様へのメッセージ***/
.staff_post_page h2.message{
	margin: 50px 0 25px;
	padding: 10px;
	border-radius: 30px;
	background: linear-gradient(to left, #4da1e0, #005EAD)!important;
	font-size: 1.2em;
	font-weight: normal;
	text-align: center;
}
/* 初期（スマホ）表示：縦並び */
.message-block{
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	line-height: 2.5;
}
.message-block img{
	display: block;
	width: 100%;
	height: auto;
}
.message-block p{
	margin: 0;
}
/* PC表示：画像列と文章列を分離 */
@media screen and (min-width: 768px){
.message-block{
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 40px;
	row-gap: 20px;
}
/* 左列に画像のみ表示 */
.message-block img{
	align-self: center;
}
.message-block img:nth-of-type(1){
	grid-column: 1;
	grid-row: 1;
}
.message-block img:nth-of-type(2){
	grid-column: 1;
	grid-row: 2;
}
.message-block img:nth-of-type(3){
	grid-column: 1;
	grid-row: 3;
}
/* 右列に各テキスト段落を順に表示 */
.message-block p:nth-of-type(1){
	grid-column: 2;
	grid-row: 1;
}
.message-block p:nth-of-type(2){
	grid-column: 2;
	grid-row: 2;
}
.message-block p:nth-of-type(3){
	grid-column: 2;
	grid-row: 3;
}
}
/***スタッフへのインタビュー***/
.staff_post_page h2.staff_interview{
	margin: 50px 0 25px;
	padding: 0;
	background: none;
	color: #000;
	font-size: 2.3em;
	text-align: center;
}
.interview{
	width: 100%;
	margin: 30px auto;
	padding: 30px;
	border-radius: 20px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
}
.interview h3{
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	color: #fff!important;
	font-weight: normal;
	text-align: center;
}
.interview_inner{
	position: relative;
	width: 100%;
	padding: 15px 30px;
	border-radius: 20px;
	background: #fff;
}
.interview_inner::after{
	content: '';
	display: inline-block;
	width: 1.7em; /* ここで「最後の文字の右の余白」を調整 */
}
.interview_inner .desu{
	position: absolute;
	right: 15px;
	bottom: 15px;
	color: #005EAD;
	font-weight: bold;
}
.interview ul{
	margin: 0 0 0 15px;
}
.interview ul li{
	margin-bottom: 0;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.staff_post_page h2.staff_interview{
	font-size: 1.9em;
}
.interview{
	margin: 20px auto;
	padding: 15px;
}
}
/****************************************
経営理念
*****************************************/
/***共通・見出し***/
.page_philosophy{
	padding: 30px 0 0;
}
.page_philosophy h1{
	margin: 20px 0 70px;
	color: #000;
	font-size: 3em;
	font-weight: normal;
	line-height: 1.2em;
	text-align: center;
	letter-spacing: 12px;
	font-family: 'Noto Serif JP', serif;
}
.page_philosophy h2{
	margin: 45px 0 0;
	padding: 0;
	background: none!important;
	color: #338FC4;
	font-size: 6em;
	letter-spacing: 12px;
	line-height: 1.2;
	text-align: center;
}
.page_philosophy h2 span{
	display: block;
	margin-bottom: 30px;
	padding: 3px 0 6px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	font-size: 0.2em;
	font-weight: normal;
	color: #fff;
}
.page_philosophy h3{
	margin: 0 0 30px;
	padding: 0;
	border: 0;
	font-size: 2em;
	font-weight: normal;
	line-height: 1.5;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.page_philosophy{
	padding: 20px 0 0;
}
.page_philosophy h1{
	margin: 15px 0 30px;
	font-size: 2.5em;
	letter-spacing: 8px;
}
.page_philosophy h2{
	font-size: 3.2em;
	letter-spacing: 8px;
}
.page_philosophy h2 span{
	margin-bottom: 20px;
	padding: 3px 0 6px;
	font-size: 0.4em;
}
.page_philosophy h3{
	font-size: 1.6em;
	line-height: 1.3;
}
}
/***display: flex***/
.misssion,
.vision,
.value{
	display: flex;
	gap: 60px;
	align-items: center;
	width: 90%;
	max-width: 1000px;
	margin: 90px auto;
}
.vision,
.value.rev{
	flex-direction: row-reverse;
}
.value.rev{
	margin: 100px auto;
}
/*PCレイアウト：画像左・テキスト右*/
.misssion_img,
.vision_img,
.value_img{
	flex: 0 0 53%;
}
.misssion_text,
.vision_text,
.value_text{
	flex: 1;
}
/*スマホレイアウト：縦並び*/
@media screen and (max-width: 767px){
.misssion,
.vision,
.value{
	flex-direction: column;
	gap: 30px;
	margin: 30px auto;
}
.value.rev{
	flex-direction: column;
	margin: 70px auto;
}
.misssion_img,
.misssion_text,
.vision_img,
.vision_text,
.value_img,
.value_text{
	flex: 100%;
}
}
/****************************************
代表挨拶
*****************************************/
/***共通・見出し***/
.page_message{
	padding: 30px 0 0;
}
.page_message h1{
	margin: 20px 0 60px;
	color: #000;
	font-size: 3em;
	font-weight: normal;
	line-height: 1.2em;
	text-align: center;
	letter-spacing: 12px;
	font-family: 'Noto Serif JP', serif;
}
.page_message h2{
	margin: 45px 0 0;
	padding: 0;
	background: none!important;
	color: #338FC4;
	font-size: 6em;
	letter-spacing: 12px;
	line-height: 1.2;
	text-align: center;
}
.page_message h2 span{
	display: block;
	margin-bottom: 30px;
	padding: 3px 0 6px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	font-size: 0.2em;
	font-weight: normal;
	color: #fff;
}
.page_message h3{
	margin: 0 0 30px;
	padding: 0;
	border: 0;
	font-size: 2em;
	font-weight: normal;
	line-height: 1.5;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.page_message{
	padding: 20px 0;
}
.page_message h1{
	margin: 15px 0 40px;
	font-size: 2.5em;
	letter-spacing: 8px;
}
.page_message h2{
	margin: 45px 0 0;
	font-size: 3.2em;
	letter-spacing: 8px;
}
.page_message h2.connect{
	margin: -20px 0 0;
}
.page_message h2 span{
	margin-bottom: 20px;
	padding: 3px 0 6px;
	font-size: 0.4em;
}
.page_message h3{
	margin: 0 0 25px;
	font-size: 1.6em;
	line-height: 1.3;
}
.page_message h3.name{
	margin-top: -10px;
}
}
/***display: flex***/
.introduction,
.top_message{
	display: flex;
	gap: 60px;
	align-items: center;
	width: 90%;
	max-width: 1000px;
	margin: 90px auto;
}
.top_message.rev{
	flex-direction: row-reverse;
	margin: 100px auto;
}
.top_message.rev.fin{
	margin: 100px auto 90px;
}
/*PCレイアウト：画像左・テキスト右*/
.introduction_img{
	flex: 0 0 35%;
}
.top_message_img{
	flex: 0 0 53%;
}
.introduction_text,
.top_message_text{
	flex: 1;
}
/*スマホレイアウト：縦並び*/
@media screen and (max-width: 767px){
.introduction,
.top_message{
	flex-direction: column;
	gap: 25px;
	margin: 30px auto;
}
.top_message.rev{
	flex-direction: column;
	margin: 70px auto;
}
.introduction_img,
.introduction_text,
.top_message_img,
.top_message_text{
	flex: 100%;
}
}
/****************************************
会社概要・採用情報・CSR活動　共通
*****************************************/
/***共通・見出し***/
.page_company{
	padding: 30px 0 0;
}
.page_company h1{
	margin: 20px 0 50px;
	color: #000;
	font-size: 3em;
	font-weight: normal;
	line-height: 1.2em;
	text-align: center;
	letter-spacing: 12px;
	font-family: 'Noto Serif JP', serif;
}
.page_company .intro{
	width: 92%;
	max-width: 550px;
	margin: 0 auto 60px;
	text-align: center;
}
.page_company h2{
	margin: 45px 0 0;
	padding: 0;
	background: none!important;
	color: #338FC4;
	font-size: 6em;
	letter-spacing: 12px;
	line-height: 1.2;
	text-align: center;
}
.page_company h2 span{
	display: block;
	margin-bottom: 30px;
	padding: 3px 0 6px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	font-size: 25px;
	font-weight: normal;
	color: #fff;
}
.page_company h3{
	margin: 0 0 30px;
	padding: 0;
	border: 0;
	font-size: 2em;
	font-weight: normal;
	line-height: 1.5;
}
.page_company h3 span{
	display: block;
	width: 100px;
	margin-bottom: 10px;
	padding: 3px 0;
	border-radius: 20px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	color: #fff;
	font-size: 0.4em;
	text-align: center;
}
.page_company h3.store_photo{
	width: 80%;
	margin: 30px auto;
	padding: 8px 0;
	border-radius: 20px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	color: #fff;
	font-size: 1.4em;
	text-align: center;
}
.page_company h3.apply{
	width: 90%;
	max-width: 900px;
	margin: 10px auto 0;
	padding: 8px 0;
	border-radius: 30px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	color: #fff;
	font-size: 1.4em;
	text-align: center;
}
.how_to_apply{
	width: 90%;
	max-width: 600px;
	margin: 50px auto;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.page_company{
	padding: 20px 0;
}
.page_company h1{
	margin: 15px 0 30px;
	font-size: 2.5em;
	letter-spacing: 8px;
}
.page_company .intro{
	margin: 0 auto 40px;
}
.page_company h2{
	margin: 45px 0 0;
	font-size: 3.2em;
	letter-spacing: 8px;
}
.page_company h2 span{
	margin-bottom: 20px;
	padding: 3px 0 6px;
	font-size: 18px;
}
.page_company h3{
	margin: 0 0 25px;
	font-size: 1.6em;
	line-height: 1.3;
}
.page_company h3.apply{
	margin: 60px auto 0;
	font-size: 1.3em;
}
.how_to_apply{
	margin: 30px auto;
}
}
/***tableのCSS***/
.page_company table{
	width: 90%;
	max-width: 1000px;
	margin: 40px auto 70px;
	border: 0;
}
.page_company table th{
	width: 27%;
	max-width: 180px;
	vertical-align: middle;
	border: 0;
	background: none;
}
.page_company table td{
	height: 70px;
	vertical-align: middle;
	border: 0;
}
.page_company table tr:nth-child(odd) {
	background-color: #E6F2FA; /* 奇数行 */
}

.page_company table tr:nth-child(even) {
	background-color: #CCE5F5; /* 偶数行（必要に応じて省略も可） */
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.page_company table{
	margin: 30px auto;
}
}
/***display: flex***/
.reason_us{
	display: flex;
	gap: 60px;
	align-items: center;
	width: 90%;
	max-width: 1000px;
	margin: 90px auto;
}
.reason_us.rev{
	flex-direction: row-reverse;
	margin: 100px auto;
}
.reason_us.fin,
.reason_us.third{
	margin: 100px auto;
}
.reason_us.only{
	margin: 70px auto 100px;
}
/*PCレイアウト：画像左・テキスト右*/
.reason_us_img{
	flex: 0 0 53%;
}
.reason_us_text{
	flex: 1;
}
/*スマホレイアウト：縦並び*/
@media screen and (max-width: 767px){
.reason_us{
	flex-direction: column;
	gap: 25px;
	margin: 30px auto;
}
.reason_us.rev,
.reason_us.third{
	flex-direction: column;
	margin: 70px auto;
}
.reason_us.fin,
.reason_us.only{
	margin: 30px auto 70px;
}
.reason_us_img,
.reason_us_text{
	flex: 100%;
}
}
/***youtube,地図埋め込み***/
.video-wrapper,
.map-wrapper{
	position: relative;
	width: 65%;
	min-width: 300px;
	margin: 30px auto 50px;
	padding-top: 35%;
	height: 0;
	overflow: hidden;
}
.video-wrapper iframe,
.map-wrapper iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.video-wrapper,
.map-wrapper{
	width: 95%;
	padding-top: 60%;
}
}
/***店舗写真***/
.store_photo_wrapper{
	width: 95%;
	max-width: 1000px;
	margin: 40px auto 50px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.store_photo_wrapper{
	margin: 40px auto 0;
}
}
/****************************************
採用情報
*****************************************/
/***魅力（アピール）のラッパー***/
.appeal_wrapper{
	position: relative;
	background-image: url(./images/appeal_bg.jpg);
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
}
.appeal_wrapper::before{/*半透明オーバーレイ*/
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.9);
	z-index: 1;
}
.appeal_wrapper > *{/*中身が隠れないようにする*/
	position: relative;
	z-index: 2;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.appeal_wrapper{
	background: #fff;
	background-attachment: scroll;
}
}
/***西住通スピリット***/
.spirit_img{
	width: 95%;
	max-width: 1200px;
	margin: 30px auto;
	text-align: center;
}
/***採用情報のテーブル***/
.page_company.recruit .tab-box{
	width: 100%;
	max-width: 1200px;
	margin: 50px auto;
}
.page_company.recruit .tab-menu li{
	font-size: 1.2em;
}
.tab-menu p.jobtype{
	width: 90px;
	margin: 3px auto 0;
	padding: 2px 0;
	border: 1px solid #fff;
	border-radius: 20px;
	font-size: 0.7em;
	line-height: 1.5;
}
.page_company.recruit .tab-box table{
	margin: 30px auto;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.page_company.recruit .tab-box{
	margin: 30px auto;
}
.page_company.recruit .tab-box table{
	margin: 0 auto;
}
}
/***会社案内PDFバナー***/
.construction_case_banner.company_pdf a{
	height: 200px;
	padding: 35px 0 0 65px;
	border: 1px solid #ccc;
	background-image: url(./images/company_pdf_banner.jpg);
	background-color: #F8F8FF;
	background-size: 350px 200px;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.construction_case_banner.company_pdf a{
	height: 342px;
	padding: 23px 0 0 50px;
	background-size: 300px 171px;
}
}
/****************************************
CSR活動
*****************************************/
/***脱炭素化の取り組み***/
.carbon_neutral_wrapper{
	position: relative;
	background-image: url(./images/carbon_neutral_bg.jpg);
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
}
.carbon_neutral_wrapper::before{/*半透明オーバーレイ*/
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1;
}
.carbon_neutral_wrapper > *{/*中身が隠れないようにする*/
	position: relative;
	z-index: 2;
}
.carbon_neutral_wrapper h2{
	color: rgba(255, 255, 255, 0.7);
	font-size: 4em;
}
.carbon_neutral_wrapper h2 span{
	margin-bottom: 50px;
}
.carbon_neutral_detail{
	width: 90%;
	max-width: 500px;
	margin: 70px auto 90px;
	color: #fff;
}
.carbon_neutral_detail h3{
	color: #fff!important;
	text-align: center;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.carbon_neutral_wrapper{
	background-attachment: scroll;
}
.carbon_neutral_wrapper h2{
	font-size: 2.8em;
}
.carbon_neutral_wrapper h2 span{
	margin-bottom: 40px;
}
.carbon_neutral_detail{
	margin: 60px auto 70px;
}
}
/***行動指針***/
.guideline_detail{
	width: 90%;
	max-width: 700px;
	margin: 30px auto 50px;
}
.guideline_detail h3{
	margin: 40px 0 30px;
	padding: 10px 0;
	border-radius: 30px;
	background: linear-gradient(to left, #4da1e0, #005EAD);
	color: #fff!important;
	font-size: 1.4em;
	text-align: center;
}
/****************************************
SDGs
*****************************************/
.page_sdgs{
	padding: 30px 0 0;
}
.page_sdgs h1{
	margin: 20px 0 50px;
	color: #000;
	font-size: 3em;
	font-weight: normal;
	line-height: 1.2em;
	text-align: center;
	letter-spacing: 12px;
	font-family: 'Noto Serif JP', serif;
}
/***冒頭の説明文***/
.sdgs_intro{
	display: flex;
	gap: 60px;
	align-items: center;
	width: 90%;
	max-width: 1000px;
	margin: 90px auto;
}
.sdgs_intro_text h2{
	background: none!important;
	font-weight: normal;
	font-size: 2em;
	color: #000;
}
/*PCレイアウト：画像左・テキスト右*/
.sdgs_intro_img{
	flex: 0 0 53%;
}
.sdgs_intro_text{
	flex: 1;
}
/*スマホレウト：縦並び*/
@media screen and (max-width: 767px){
.sdgs_intro{
	flex-direction: column;
	gap: 25px;
	margin: 30px auto 60px;
}
.sdgs_intro_img,
.sdgs_intro_text{
	flex: 100%;
}
}
/***各項目の説明***/
.sdgs_wrapper{
	position: relative;
	margin-bottom: 50px;
	padding: 80px 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.sdgs_wrapper.health{
	background-image: url(./images/sdgs_health_bg.jpg);
}
.sdgs_wrapper.environment{
	background-image: url(./images/carbon_neutral_bg.jpg);
}
.sdgs_wrapper.town{
	background-image: url(./images/sdgs_town_bg.jpg);
}
.sdgs_wrapper::before{/*半透明オーバーレイ*/
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1;
}
.sdgs_wrapper > *{/*中身が隠れないようにする*/
	position: relative;
	z-index: 2;
}
.sdgs_wrapper h2{
	margin: 0;
	padding: 0;
	background: none!important;
	font-weight: normal;
	font-size: 2em;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.4;
	text-align: center;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.sdgs_wrapper{
	padding: 60px 0;
}
}
/*sdgs-gridのflexレイアウト*/
.sdgs-grid{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1200px;
	margin: 70px auto 0;
	gap: 30px;
}
.sdgs-box{
	display: flex;
	width: 90%;
	max-width: 500px;
	gap: 30px;
	padding: 30px;
	border-radius: 6px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	background: rgba(255, 255, 255, 0.9);
	text-align: left;
}
.sdgs-icon{
	flex: 0 0 120px;
}
.sdgs-icon img{
	display: block;
	width: 100%;
	height: auto;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.sdgs-grid{
	flex-direction: column;
	align-items: center;
	margin-top: 60px;
}
.sdgs-box{
	flex-direction: column;
	gap: 20px;
}
.sdgs-icon{
	flex: none;
	width: 100%;
	text-align: center;
}
.sdgs-icon img{
	width: 120px;
	margin: 0 auto;
}
}
/****************************************
賃貸のご相談
*****************************************/
.page_company.kanriunyou h2{
	color: #000;
	font-size: 3.3em!important;
	font-weight: normal;
	font-family: 'Noto Serif JP', serif;
}
.page_company.kanriunyou h2 span{
	padding: 5px 0 6px;
	background: linear-gradient(to left, #50c4bc, #05aca0);
}
.page_company.kanriunyou h3 span{
	width: 140px;
	background: linear-gradient(to left, #50c4bc, #05aca0);
	font-size: 0.5em;
}
/***flexレイアウト***/
/*PCレイアウト：画像左・テキスト右*/
.page_company.kanriunyou .reason_us_img{
	flex: 0 0 45%;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.page_company.kanriunyou h2{
	font-size: 2.5em!important;
}
}
/***こんな方におすすめ***/
.recommended_wrapper{
	position: relative;
	background-image: url(./images/kanriunyou_recommended_bg.jpg);
	background-size: cover;
	background-position: center;
	background-attachment: fixed;
	background-repeat: no-repeat;
}
.recommended_wrapper::before{/*半透明オーバーレイ*/
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 1;
}
.recommended_wrapper > *{/*中身が隠れないようにする*/
	position: relative;
	z-index: 2;
}
.recommended_wrapper h2{
	color: #fff!important;
}
.recommended_wrapper h2 span{
	margin-bottom: 70px;
}
.common_concerns{
	width: 90%;
	max-width: 1000px;
	margin: 30px auto 50px;
	padding: 50px;
	color: #fff;
	font-size: 1.4em;
}
.common_concerns ul{
	margin-bottom: 15px;
}
.common_concerns li{
	margin: 30px 0;
}
.common_concerns .line-blue{
	background: linear-gradient(transparent 50%, #11a080 50%);
}
.chevron_down{
	margin: 0;
	font-size: 4em;
	text-align: center;
}
.omakase{
	margin: 40px 0 0;
	font-size: 1.7em;
	text-align: center;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.recommended_wrapper{
	background-attachment: scroll;
}
.recommended_wrapper h2 span{
	margin-bottom: 50px;
}
.common_concerns{
	margin: 20px auto 30px;
	padding: 25px 10px 25px 0;
	font-size: 1.2em;
}
.common_concerns li{
	margin: 15px 0;
}
.omakase{
	margin: 20px 0 0;
	font-size: 1.5em;
	line-height: 1.5;
}
}
/***基本的な流れ***/
.main-slider-multi.swiper{
	width: 95%;
	max-width: 1300px;
	margin: 30px auto 60px;
	padding: 80px 50px 0;
}
.main-slider-multi .swiper-slide{
	text-align: center;
}
.main-slider-multi img{
	width: 300px;
}
.main-slider-multi p{
	font-size: 1.5em;
	line-height: 1.2;
}
.main-slider-multi p .step{
	display: block;
	width: 300px;
	margin: 0 auto 15px;
	background: linear-gradient(to left, #50c4bc, #05aca0);
	color: #fff;
	font-size: 0.7em;
}
.main-slider-multi p .detail{
	display: block;
	width: 300px;
	margin: 10px auto 0;
	font-size: 0.7em;
	line-height: 1.4;
}
.main-slider-multi .swiper-button-next,
.main-slider-multi .swiper-button-prev{
	bottom: 30px;
	color: #fff;
}
.main-slider-multi .swiper-button-next:after,
.main-slider-multi .swiper-button-prev:after{
	padding: 10px 8px;
	background: rgba(0, 0, 0, 0.5);
}
.box_style.cautions{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto 60px;
	font-size: 0.9em;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.main-slider-multi.swiper{
	width: 100%;
	margin: -20px auto 20px;
}
.box_style.cautions{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto 50px;
}
}
/****************************************
売却のご相談
*****************************************/
.sale .main-slider-multi p .detail{
	position: relative;
	margin-top: 25px;
}
.sale .main-slider-multi p .detail::before{
	content: "";
	position: absolute;
	top: -15px;/*テキストとの距離*/
	left: 50%;
	transform: translateX(-50%);
	width: 20%;/*下線の長さ：テキストの50%*/
	height: 2px;/*線の太さ*/
	background-color: #50c4bc;
}

/****************************************
準備中ページ
*****************************************/
.page_preparing{
	width: 80%;
	max-width: 900px;
	padding: 60px 0;
	margin: 0 auto;
}
.page_preparing h1{
	margin: 0;
	font-size: 1.8em;
	font-weight: normal;
	line-height: 2em;
	text-align: center;
}
/*
767px以下
*/
@media screen and (max-width: 767px) {
.page_preparing h1{
	font-size: 1.5em;
}
}
