@charset "utf-8";
/* CSS Document */
/*------------------------------------------
■ 基本設定
------------------------------------------*/
body{
	color:#000;
	font-size:14px;
	line-height:1.4;
	font-family: "Noto Serif JP", "游明朝", "Yu Mincho", "Hiragino Mincho ProN", serif;
}
a{
	color:#000;
	text-decoration:none;
}

img{
	border: 0;
	max-width:100%;/*フルードイメージ-コンテナ幅によって可変*/
	height:auto;
}
/*------------------------------------------
■ float対策
------------------------------------------*/
.fcl {zoom: 100%;}

.fcl:after {
content: " ";
clear: both;
height: 0;
display: block;
visibility: hidden;
}
/*
=========================================
  PC・スマホ切り替え用
=========================================
*/
.pc_none {display: none !important;}
.sp_none {}
/*
=========================================
	Base Layout
=========================================
*/
/*ALL and Smart Phone*/
.container{
	margin:0 auto;
	max-width:1200px;

}

#main{
	margin-bottom:50px;
}
.section{
	margin-bottom:100px;
}
.full{
	display: block;
	width: 100%;
	height: auto;
}
.br_pc{
	display:none;
}
/*
=========================================
	ヘッダー
=========================================
*/
#header{
	width:100%;
	height:80px;
	position:relative;
	z-index:9999;
}
.logo{
	float:left;
}
.nav_area{
	float:right;
}
.contact{
}
.contact_tel{
	float:right;
	font-weight:bold;
	font-size:230%;
	margin-right:30px;
	overflow:hidden;
	position:relative;
}
#icon01_01{
	color:#d9887a;
	border-bottom:1px solid #d9887a;
	font-size:27px;
	font-weight:bold;
	overflow:hidden;
	position:relative;
	margin-bottom:10px;
}
.contact_tel:before{
	content:"";
	display:inline-block;
	width:27px;
	height:20px;
	margin-right:8px;
	background:url(../images/icon_tel.png) no-repeat;
	background-size:contain;
	position:relative;
	bottom:1px;
}
.text_big{
	font-weight:bold;
	font-size:200%;
	margin-left:5px;
}
.contact_btn{
	margin-top:5px;
	width:220px;
	height:40px;
	float:right;
}
.contact_btn_dsn{
	background-color:#EC8E25;
	padding:12px 25px;
	font-weight:bold;
	font-size:20px;
	text-align:center;
	color:#fff;
	transition: all 0.3s linear;
}
.contact_btn_dsn:hover{
	background-color:#323333;
	color:#fff;
}
.contact_btn_dsn:before{
	content:"";
	display:inline-block;
	width:26px;
	height:20px;
	margin-right:12px;
	background:url(../images/icon_contact.png) no-repeat;
	background-size:contain;
	position:relative;
	bottom:-4px;
}
#gnav {
	height: 20px;
	margin-top:40px;
	z-index: 10;
}

#gnav ul {
	margin: 0 auto;
	width: 640px;
	height: 20px;
	text-align: left;
}

#gnav ul li {
	width: 160px;
	height: 20px;
	float: left;
}

#gnav ul li a {
	height: 20px;
	line-height: 20px;
	display: block;
	text-align: center;
	transition: all 0.2s linear;
}
#gnav li{
	display: inline;
	border-right:1px solid #000;
	padding:0 30px;
	font-size:90%;
}
#gnav li a{
	color:#000;
}
#gnav li a:hover{
	text-decoration:underline;
}
#gnav li:first-child{
	border-left:1px solid #000;
}
#header .fixbar {
  position: absolute;
  width: 100%;
  top: 0px;
  
}
#header.fixed .fixbar {
  position: fixed;
  top: 0px;
  
}
.fixbar{
	height:80px;
	border-bottom:2px solid #fff;
	background-color:#fff;
	box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
  -moz-box-shadow: 0px 3px 3px rgba(0,0,0,0.1);
  
}
.header_inner{
	width:1500px;
	margin:0 auto;

}
/*
=========================================
	ビジュアル
=========================================
*/
#visual{
    overflow:hidden;
    position:relative;
    width:100%;
}

.visual_inner{
    position:relative;
    left:50%;
    width:4500px;
    margin-left:-2250px;
	background: url(../images/back01.jpg);
	background-size: contain;
}
.visual_inner li {
    width:1500px;
}
#slideFilterL, #slideFilterR {
    position:absolute;
    top:0;
    width:1500px;
    height:600px;
    opacity:0.8;
    filter:alpha(opacity=80);
    -ms-filter:"alpha( opacity=80 )";
    background:#fff;
}
#slideFilterL {
    left:0;
}
#slideFilterR {
    right:0;
}
#visual .bx-controls {
	display:none;
}
/*
=========================================
	イントロ
=========================================
*/
.intro_box01{
	width:33.33333%;
	height:260px;
	float:left;
	color:#fff;
	position: relative;
	overflow: hidden;
	text-align:center;
}
.intro_hover{
	position: absolute;
	top: -100%;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	-webkit-transition: .5s;
	transition: .5s;
	opacity: 1;
	text-align:center;
	background: rgba(70,71,68,.9);
}

.intro_box01:hover .intro_hover {
	top: 0;
	left: 0;
}
.intro_hover img{
	margin-top:60px;
}
.intro_hover p{
	text-align:center;
	font-family: 'Bree Serif', serif;
	font-size:120%;
}
.intro_color1{
	background-color:#2DA0D2;
}
.intro_color2{
	background-color:#EC8E25;
}
.intro_color3{
	background-color:#86BC43;
}

.intro_box01 h2{
	font-size:130%;
	font-weight:bold;
	text-align:center;
	padding:15px 0;
}
.intro_text{
	font-size:90%;
	text-align:center;
	padding:15px 30px;
}
/*
=========================================
	企業理念
=========================================
*/
.text_box01{
	width:50%;
}
.text_box01_title{
	font-size:200%;
	font-weight:bold;
	text-align:center;
	margin-bottom:10px;
}
.text_box01_text{
	font-size:100%;
	text-align:center;
	line-height:2em;
	letter-spacing:0.2em;
}
.president{
	margin-top:30px;
}
.president_left{
	float:left;
	width:25%;
	margin-right:3%;
	margin: 0;
	padding: 0;
	background: #fff;
	overflow: hidden
}

.president_right{
	float:right;
	width:72%;
}
.president_name{
	font-size:120%;
	font-weight:bold;
	margin-bottom:10px;
}

/*
=========================================
	column3_box
=========================================
*/
.title_bar{
  font-size: 200%;
  color: #000;
  font-weight: bold;
  margin: 0 auto 30px;
  text-align: center;
}
.title_bar span{
  font-size: 50%;
  display: inline-block;
  margin-bottom: 20px;
}
/* 下線（グラデーションライン） */
.title_bar::after {
  content: "";
  display: block;
  width: 340px;
  height: 3px;
  margin: 12px auto 0;
  background: linear-gradient(
    to right,
    rgba(242, 209, 99, 0),
    #f2d163 50%,
    rgba(242, 209, 99, 0)
  );
}
.column3_box{
	float:left;
	width:33.3333%;
	border-right:1px solid #CBCBCB;
	padding-right:3%;
	padding-left:3%;
}
.column3_box:last-child{
	border-right:none;
}
.column3_box:first-of-type{
}
.column3_title{
	font-size:130%;
	font-weight:bold;
	text-align:center;
	margin:10px 0;
}
.column3_text{
	font-size:90%;
}
/*
=========================================
	carousel
=========================================
*/

.carousel_box{
	padding:20px 0;
	background-color:#fff;
	width: 470px !important;
}
.carousel_box img{
	width:420px;
	margin:0 auto;
}
.carousel_title{
	font-size:130%;
	font-weight:bold;
	text-align:center;
	margin:10px 0;
	padding:0 20px;
}
.carousel_text{
	font-size:90%;
	text-align:center;
	padding:0 20px;
}
.rsc_box {
  display: flex;
  gap: 40px;              /* 間隔は好みで */
  align-items: flex-start;
  padding: 0 100px;
}
.rsc_reverse {
  display: flex;
  flex-direction: row-reverse;
}
.rsc_property {
  flex: 0 0 50%;
  padding-top: 30px;
}
.rsc_box .bx-wrapper {
  flex: 0 0 50%;
  max-width: 470px!important;
}
.rsc_box .bx-pager {
	display: none;
}
.rsc_title {
  font-size: 180%;
  color: #000;
  font-weight: bold;
  margin: 0 0 20px;
  text-align: left;
}
.rsc_title::after {
  content: "";
  display: block;
  width: 340px;
  height: 3px;
  margin: 12px 0 0;
  background: linear-gradient(
    to right,
    #bf1c20 0,
    #bf1c20 60px,
    rgba(191, 28, 32, 0) 60px,
    rgba(191, 28, 32, 0) 63px,
    #f2d163 63px,
    rgba(242, 209, 99, 0) 100%
  );
}
.address {
  font-size: 150%;
  color: #000;
  margin: 0 0 30px;
  text-align: left;
}
.rsc_txt {
  font-size: 100%;
  line-height: 1.8em;
}
/*
=========================================
	business
=========================================
*/
.business {
  background-color: #f3f0ef;
  padding:  120px 0;
}
.business_wrap {
  display: flex;
  align-items: flex-start;
  gap: 0;                 /* ← 重なりたいので gap は 0 */
  position: relative;     /* ← 重なり用 */
  max-width: 1000px;
  margin: 120px auto 0;
}

/* 左：画像 */
.business_img {
  flex: 0 0 50%;
  position: relative;
  z-index: 2;             /* ← 写真を手前に */
}
.business_img {
  transform: translateY(-30px); /* ← 上にずらす */
}
.business_img_revers {
  margin-left: -30px!important;
  margin-right: 0!important;
}

/* 少し重ねたい場合（右に食い込ませる） */
.business_img {
  margin-right: -60px; /* ← テキスト側に被せる */
}

/* 右：テキスト */
.business_txt {
  flex: 0 0 56%;
  position: relative;
  z-index: 1;
}
.business_txt {
  background: #fff;
  padding: 40px 40px 40px 60px;
  height: 300px;
}
.business_txt_revers {
  background: #fff;
  padding: 40px 60px 40px 40px!important;
  height: 300px;
}
.business_txt p {
  margin-bottom: 1em;
}
.business_title {
  font-size: 180%;
  color: #000;
  font-weight: bold;
  margin: 0 0 20px;
  text-align: left;
  line-height: 1.4;
}
.business_title span {
  font-size: 60%;
  color: #000;
  font-weight: bold;
  margin: 0 0 20px;
  text-align: left;
  line-height: 1.4;
}
.dots {
  color: #f2d163!important;
  vertical-align: middle; /* ← 文字の上下中央 */
  margin-right: 6px; 
}
/*
=========================================
	column1_box
=========================================
*/
.column1_box{
	width:80%;
	margin:0 auto 20px;
	padding:8px;

	background-color:#fcf9e0;
}
.column1_inner{
	border:3px solid #fff;
	padding:20px;
}
.column1_left{
	float:left;
	width:16%;
	margin-right:4%;
}
.column1_left img{
	border-radius: 75px;
	max-width:150px;
}
.column1_right{
	float:left;
	width:80%;
}
.column1_title{
	font-size:130%;
	font-weight:bold;
	border-bottom:1px solid #333;
	padding-bottom:10px;
	margin-bottom:10px;
}
.column1_text{
	font-size:100%;
	line-height:1.8em;
}
.square{
	color:#EC8E25;
	margin-right:10px;
}
/*
=========================================
	company
=========================================
*/
.company{
}
.company_title{
	font-size:180%;
	margin-bottom:20px;
}
.company_table{
	font-size : 100%;
	max-width:600px;
	width: 100%;
	margin:80px auto;
}
.company_ph_area{
	float:right;
	width:49%;
}
.company_table dt{
	float:left;
	padding-top: 20px;
	padding-bottom:20px;
	border-bottom: #f2d163 1px solid;
	width: 18%;
}
.company_table dd{
	margin-left:18%;
	padding-top: 20px;
	padding-bottom:20px;
	padding-left:30px;
	border-bottom: #f2d163 1px solid;
}
.company_ph_area img{
	margin-right:10px;
	margin-bottom:10px;
	width:48%;
}
.company_ph_area img:nth-child(even){
	margin-right:0;
}
.map_area{
	margin:30px auto;
	width:1200px;
}
#map{
	width:1200px;
	height:500px;
	margin:0 auto;
}
/*
=========================================
	問い合わせフォーム
=========================================
*/
.form_inner{
	max-width:700px;
	margin:0 auto;
}
.form_btn_dsn{
	background-color:#7d0003;
	transition: all 0.3s linear;
	color:#fff;
	width: 240px;
	height: 60px;
	margin-top: 40px;
}
.form_btn_dsn:hover{
	background-color:#3d0001;
	color:#fff;
}
#contact {
	background-color:#f3f0ef;
	padding: 120px 0 200px;
	margin-bottom: -100px;
}
/*
=========================================
	ぺージトップへ
=========================================
*/
.page_top {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 15px;
}
.page_top a {
    display: block;
    background-color: #888;
    text-align: center;
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    padding: 7px 13px;
	border-radius:5px;
	
}
.page_top a:hover {
    display: block;
    background-color: #888;
    text-align: center;
    color: #fff;
    font-size: 20px;
    text-decoration: none;
    padding: 7px 13px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
/*
=========================================
	フッター
=========================================
*/
.footer_inner{
	width:1200px;
	margin:0 auto;
}
.footer_top{
	background-color:#464744;
	padding:30px 0;
	color:#fff;
}
.footer_nav{
}
.footer_nav ul{
	text-align: center;
}
.footer_nav li{
	display: inline;
	border-right:1px solid #fff;
	padding:0 30px;
	font-size:90%;
}
.footer_nav li a{
	color:#fff;
}
.footer_nav li a:hover{
	text-decoration:underline;
}
.footer_nav li:first-child{
	border-left:1px solid #fff;
}
.footer_logo{
	text-align:center;
	margin-bottom:20px;
}
.footer_logo p{
	text-align:center;
	font-size:90%;
}
.footer_bottom{
	background-color:#000;
}
.footer_bottom p{
	width:1200px;
	margin:0 auto;
	text-align:center;
	padding:30px 0;
	font-size:90%;
	color:#fff;
}