@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・スマホ切り替え用
=========================================
*/
.sp_none {
display: none;
}
.max_w {
max-width: 100%;
}
/*
=========================================
	Base Layout
=========================================
*/
/*ALL and Smart Phone*/
.container{
	margin:0 auto;
	width:85%;
}
.container:after{
	content:"";
	display:block;
	clear:both;
}
#main{
	margin-bottom:20px;
}
.section{
	margin-bottom:30px;
}
.full{
	margin-left:-15px;
	margin-right:-15px;
}
/*
=========================================
	ヘッダー
=========================================
*/
#header{
	height:45px;
	margin-top:0;
	margin-bottom:10px;
}
.logo{
	
}
.logo img{
	max-width:120px;
	display:block;
	margin:0 auto;
}
#gnav {
		display: none;
	}

	#rwdMenuWrap {
		width: 100%;
		top:0;
		left:0;
		z-index: 9999;
		position:fixed;
	}

	#rwdMenuWrap #switchBtnArea {
		width: 100%;
		height: 60px;
		position: relative;
	}

	#rwdMenuWrap #switchBtnArea #switchBtn {
		top: 10px;
		right: 10px;
		width: 40px;
		height: 40px;
		display: block;
		background: #fff;
		position: absolute;
		border-radius: 5px;
	}

	#rwdMenuWrap #switchBtnArea #switchBtn span {
		left: 20%;
		width: 60%;
		height: 4px;
		display: block;
		position: absolute;
		background-color: #323333;
		border-radius: 5px;
		transition: all 0.2s linear;
	}
	#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(1) {
		top: 10px;
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(2) {
		top: 18px;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(3) {
		bottom: 10px;
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}

	#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
		top: 18px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
		-webkit-transform: scale(0);
		transform: scale(0);
	}
	#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
		bottom: 18px;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	#rwdMenuWrap ul {
		width: 100%;
		display: none;
		
	}

	#rwdMenuWrap ul li {
		width: 100%;
		border-bottom: #aaa 1px solid;
		
	}

	#rwdMenuWrap ul li a {
		padding: 15px 20px;
		text-align: left;
		display: block;
		background: #464744;
		position: relative;
		color: #fff;
	}

	#rwdMenuWrap ul li a:after {
		content: '';
		margin-top: -4px;
		top: 50%;
		right: 15px;
		width: 8px;
		height: 8px;
		color: #fff;
		font-size: 1em;
		font-weight: bold;
		line-height: 1.2em;
		display: block;
		position: absolute;
		border-top: 2px solid #b0b0b0;
		border-right: 2px solid #b0b0b0;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
#nav01,#nav02,#nav03,#nav04,#nav05{
	margin-top:-61px;
    padding-top:61px;
}

#header_link{
	
}
#visual .bx-controls {
	display:none;
}
#visual {
    margin-bottom: -30px;
}
/*
=========================================
	イントロ
=========================================
*/
.intro_box01{
	width:100%;
	color:#fff;
	text-align:center;
}
.intro_color1{
	background-color:#2DA0D2;
}
.intro_color2{
	background-color:#EC8E25;
}
.intro_color3{
	background-color:#86BC43;
}
.intro_ph_area01{
	background:url(../images/intro_ph1.jpg) no-repeat center;
}
.intro_ph_area02{
	background:url(../images/intro_ph2.jpg) no-repeat center;
}
.intro_ph_area03{
	background:url(../images/intro_ph3.jpg) no-repeat center;
}


.intro_box01 h2{
	font-size:130%;
	font-weight:bold;
	text-align:center;
	padding:15px 0;
}
.intro_box01 p{
	font-size:90%;
	text-align:center;
	padding:15px 30px;
}
/* FV 全体 */
picture {
  display: block;
}

picture img {
  width: 100%;
  height: auto;
  display: block;
}


/*
=========================================
	企業理念
=========================================
*/
.text_box01{
	width:90%;
}
.text_box01_title{
	font-size:150%;
	font-weight:bold;
	text-align:center;
	margin-bottom:10px;
}
.text_box01_text{
	font-size:90%;
	text-align:center;
}

.president{
	margin-bottom:20px;
	margin-top:20px;
}
.president_left{
	float:left;
	width:30%;
	margin-right:3%;
}
.president_right{
	float:right;
	width:67%;
}
.president_name{
	font-size:110%;
	font-weight:bold;
	margin-bottom:5px;
}
.president_text{
	font-size:90%;
}
/*
=========================================
	column3_box
=========================================
*/
.title_bar{
	font-size:150%;
	color:#000;
	font-weight:bold;
	padding:8px 0;
	margin-bottom:20px;
	text-align:center;
}
.title_bar span{
        font-size: 60%;
        display: inline-block;
        margin-bottom: 0.5em;
}
/* 下線（グラデーションライン） */
.title_bar::after {
  content: "";
  display: block;
  width: 60%;
  height: 3px;
  margin: 4px auto 0;
  background: linear-gradient(
    to right,
    rgba(242, 209, 99, 0),
    #f2d163 50%,
    rgba(242, 209, 99, 0)
  );
}
.column3_box{
	margin-bottom:20px;
	padding-bottom:20px;
	border-bottom:1px solid #CBCBCB;
	text-align:center;
}
.column3_box img{
	width:50%;
}
.column3_box:last-child{
	border-bottom:none;
}
.column3_title{
	font-size:120%;
	font-weight:bold;
	text-align:center;
	margin:5px 0;
}
.column3_text{
	font-size:90%;
}
/*
=========================================
	carousel
=========================================
*/
.carousel_box{
	padding:20px 0;
	background-color:#fff;
	width: 85vw!important;
}
.carousel_box img{
	width:85%;
	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;
  align-items: flex-start;
  flex-direction: column;
}
.rsc_reverse {
  display: flex;
  flex-direction: column;
}
.rsc_property {
  padding-top: 30px;
}
.rsc_box .bx-wrapper {
  max-width: 85vw!important;
}
.rsc_box .bx-pager {
	display: none;
}
.rsc_title {
  font-size: 150%;
  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: 130%;
  color: #000;
  margin: 0 0 30px;
  text-align: left;
}
.rsc_txt {
  font-size: 100%;
  line-height: 1.8em;
}
/*
=========================================
	business
=========================================
*/
.business {
  background-color: #f3f0ef;
  padding: 60px 0;
}
.business_wrap {
  display: flex;
  align-items: flex-start;
  margin: 30px auto 0;
  flex-direction: column;
}
.business_txt {
  background: #fff;
  padding: 20px;
}
.business_txt_revers {
  background: #fff;
  padding: 20px;
}
.business_txt p {
  margin-bottom: 1em;
}
.business_title {
  font-size: 120%;
  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{
	margin:0 auto 15px;
	padding:8px;
	background-color:#fcf9e0;
}
.column1_inner{
	border:3px solid #fff;
	padding:15px;
}
.column1_left{
	text-align:center;
}
.column1_left img{
	border-radius: 75px;
	max-width:40%;
}
.column1_right{
}
.column1_title{
	font-size:120%;
	font-weight:bold;
	border-bottom:1px solid #333;
	padding-bottom:10px;
	margin-bottom:10px;
	text-align:center;
}
.column1_text{
	font-size:90%;
		text-align:center;

}
.square{
	color:#EC8E25;
	margin-right:10px;
}
/*
=========================================
	company
=========================================
*/
.company{
}
.company_title{
	font-size:180%;
	margin-top:10px;
}
.company_table{
	font-size : 90%;
	margin:20px auto;
	width:90%
}
.company_table dt{
	float:left;
	clear:both;
	width:25%;
	padding-top: 20px;
	padding-bottom:20px;
	padding-right:10px;
	border-bottom: #f2d163 1px solid;
}
.company_table dd{
	width:80%;
	margin-left:25%;
	padding-top: 20px;
	padding-bottom:20px;
	padding-left:10px;
	border-bottom: #f2d163 1px solid;
}
.company_ph_area img{
	margin-right:1%;
	margin-bottom:5px;
	width:48%;
}
.company_ph_area img:nth-child(even){
	margin-right:0;
}
.map_area{
	position: relative;
	padding-bottom: 70%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
#map{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*
=========================================
	問い合わせフォーム
=========================================
*/
.form_inner{
	width:85%;
	margin:0 auto;
}
.form_btn_dsn{
	background-color:#7d0003;
	transition: all 0.3s linear;
	color:#fff;
	width: 200px;
	height: 50px;
	margin-top: 40px;
}
.form_btn_dsn:hover{
	background-color:#3d0001;
	color:#fff;
}
#contact {
	background-color:#f3f0ef;
	padding: 60px 0 100px;
	margin-bottom: -20px;
}
/*
=========================================
	ぺージトップへ
=========================================
*/
.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: 15px;
    text-decoration: none;
    padding: 5px 10px;
	border-radius:5px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
.page_top a:hover {
    display: block;
    background-color: #888;
    text-align: center;
    color: #fff;
    font-size: 15px;
    text-decoration: none;
    padding: 5px 10px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
/*
=========================================
	フッター
=========================================
*/
.footer_inner{
	width:100%;
	margin:0 auto;
}
.footer_top{
	background-color:#464744;
	padding:0 0 20px 0;
	color:#fff;
}

.footer_nav li{
	border-bottom:1px solid #7f8080;
	padding:10px 0;
	font-size:90%;
	text-align: center;
	width:100%;
}
.footer_nav li a{
	color:#fff;
}
.footer_nav li a:hover{
	text-decoration:underline;
}

.footer_logo{
	text-align:center;
	width:90%;
	margin:20px auto 0;
	padding: 20px 0;
}
.footer_logo img{
	width:20%;
}
.footer_logo p{
	text-align:center;
	font-size:90%;
	
}
.footer_bottom{
	background-color:#000;
}
.footer_bottom p{
	margin:0 auto;
	text-align:center;
	padding:30px 0;
	font-size:90%;
	color:#fff;
}