@charset "utf-8";
/* CSS Document */

html {
    height: 100%;
}

body {
	height: 100%;
	margin: 0;
}

img {
	border: 0; 
	-ms-interpolation-mode: bicubic; 
	vertical-align: middle;
    max-width: 100%;
    /* height: auto;
    width :auto; */
}

a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=60);
}

.thumb{
　height: 300px;
  width: 100%;
  object-fit: cover;
}

iframe {
    vertical-align: bottom;
}

p {
	font-size: 100%;
	line-height: 33px;
}

h1 {
	margin: 0px;
	font-weight: bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size: 200%;
	color: #1F3F00;
}

h2 {
	font-size: 135%;
	font-weight: bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	color: #1F3F00;
	margin-top: 0px;
	margin-bottom: 10px;
	line-height: 35px;
}

h3 {
	font-size: 135%;
	font-weight: bold;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	color: #000000;
	margin-top: 0px;
	margin-bottom: 10px;
}

h4 {
	font-size: 110%;
	font-weight: bold;
	color: #000000;
	box-sizing: border-box;
	margin-top: 25px;
	margin-bottom: 15px;
	border-bottom: 1px solid #000000;
	padding-bottom: 5px;
	clear: both;
}

ol {
  padding-top: 10px;
  padding-bottom: 10px;
  padding-left: 30px;
}


a:link {
	text-decoration: none;
	color: #000000;
}
a:visited {
	text-decoration: none;
	color: #000000;
}
a:hover {
	text-decoration: none;
	color: #999999;
}
a:active {
	text-decoration: none;
}


a.white:link {
	text-decoration: none;
	color : #FFFFFF;
}
a.white:visited {
	color : #FFFFFF;
}
a.white:hover {
	text-decoration: none;
	color: #FFFF00;
}

a.black:link {
	text-decoration: none;
	color: #000000;
}
a.black:visited {
	text-decoration: none;
	color: #000000;
}
a.black:hover {
	text-decoration: none;
	color: #999999;
}

a.blue:link {
	text-decoration: none;
	color: #12A1E7;
}
a.blue:visited {
	text-decoration: none;
	color: #12A1E7;
}
a.blue:hover {
	text-decoration: none;
	color: #12A1E7;
}


.switch { visibility: hidden; }
.resize { width: 100vw; }
.center { text-align: center; }
.right { text-align: right; }


/* 非表示-------------*/

.putout_1 { display: none; }
.putout_2 {  }


/*トップに戻るボタン------------------------*/

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	clear: left;
}
#page-top a {
}
#page-top a:hover {
}
#menu div {
}

/* グローバルメニュー -------------*/

.page-top0 { float: left; }
#page-top1 { float: left; }
#page-top2 { float: left; }
#page-top3 { float: left; }
#page-top4 { float: left; }
#page-top5 { float: left; }



/* マウスオーバー時に拡大する画像 */

.img_wrap {
	border: 1px solid rgba(0,0,0,0.0);
	height: auto;
	margin: 0 auto;
	overflow: hidden;
	cursor: pointer;
}
.img_wrap img {
  width: 100%;
  transition-duration: 0.5s;
}
.img_wrap:hover img {
  transform: scale(1.2);
  transition-duration: 0.5s;
}



/* 大枠 コンテンツ
.column_left {
	float: left;
	width: calc(100% - 0px);
	overflow: auto;
	box-sizing: border-box;
	animation: 1s fadeIn2 forwards;  /* ← フェードイン 
}
@keyframes fadeIn2 { 
  from { opacity: 0; }
  to { opacity: 1; }
}
*/

/* 大枠 右メニュー
.column_right {
	float: right;
	width: 150px;
	overflow: auto;
	box-sizing: border-box;
	padding: 20px;
	height: 100%;
	position: fixed;
	right: 0;
	background-color: #f7f7f7;
	box-shadow:0px 0px 10px rgba(0,0,0,0.5);
}

.column_right center {
	position: absolute;
    right: 0;
    bottom: 50%;
	width: 150px;
}

.column_right under {
	position: absolute;
    right: 0;
    bottom: 0;
	width: 150px;
}
*/

.column_header {
	width: 100%;
	clear: both;
	background-color: #FFFFFF;
	clear: both;
	overflow: auto;
	box-sizing: border-box;
	height: 60px;
	position: fixed;
	z-index: 3;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.5);
}

.column_header_logo {
	float: left;
	padding: 15px;
	height: 30px;
}

.column_header_bo1 {
	float: right;
	padding: 15px;
	background-color: #EEEEEE;
	height: 30px;
}
.column_header_bo2 {
	float: right;
	padding: 15px;
	background-color: #B20000;
	height: 30px;
}

.column_header center {
	position: absolute;
	top: 0px;
	right: 100px;
	width: 48px;
	padding: 10px;
}



.column_content {
	width: 100%;
	clear: both;
	overflow: auto;
	box-sizing: border-box;
	animation: 1s fadeIn2 forwards;
}
@keyframes fadeIn2 { 
  from { opacity: 0; }
  to { opacity: 2; }
}


/* back ----------------------------- */

.back_black {
	width: 100%;
	background-color: #000;
	overflow: auto;
	box-sizing: border-box;
}

.back_white {
	width: 100%;
	background-color: #FFF;
	clear: both;
	overflow: auto;
}

.back_orange {
	width: 100%;
	background-color: #FF9933;
	overflow: auto;
	box-sizing: border-box;
}

.back_blue {
	width: 100%;
	background-color: #3B6EBF;
	overflow: auto;
	box-sizing: border-box;
}

.back_red {
	width: 100%;
	background-color: #FCF3EB;
	overflow: auto;
	box-sizing: border-box;
	background-image: url(../images/back_01.jpg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
}

.back_green {
	width: 100%;
	background-color: #228C00;
	overflow: auto;
	box-sizing: border-box;
}

.back_gray {
	width: 100%;
	background-color: #F5F5F5;
	overflow: auto;
	box-sizing: border-box;
}

.back_gray2 {
	width: 100%;
	background-color: #E3EBE0;
	overflow: auto;
	box-sizing: border-box;
}

.back_header {
	width: 100%;
	clear: both;
	clear: both;
	overflow: auto;
}

.back_img {
	width: 100%;
	clear: both;
	overflow: auto;
	background-image: url(../images/temp/menu_foot_back.jpg);
	background-size: cover;
}

.back_footer_01 {
	width: 100%;
	background-color: #EEE;
	overflow: auto;
	box-sizing: border-box;
}

.back_footer_02 {
	width: 100%;
	background-color: #7fb539;
	overflow: auto;
	box-sizing: border-box;
}

.back_copyright {
	width: 100%;
	background-color: #000000;
	overflow: auto;
	box-sizing: border-box;
}

.back_pan {
	width: 100%;
	background-color: #FFF;
	clear: both;
	overflow: auto;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #ECECEC;
}

.back_news {
	width: 100%;
	background-color: #E6EBE1;
	overflow: auto;
	box-sizing: border-box;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #849C6B;
}

/* column */

.column_12 {
	float: left;
	width: 100%;
	overflow: auto;
}

.column_10 {
	float: left;
	width: 80%;
	overflow: auto;
}

.column_06 {
	float: left;
	width: 50%;
	overflow: auto;
}

.column_04 {
	float: left;
	width: 33.3333333333%;
	overflow: auto;
}

.column_03 {
	float: left;
	width: 25%;
	overflow: auto;
}


/* column内のcolumn ----------------------------- */

.column_bit {
	float: left;
	overflow: auto;
	width: 84%;
	padding-top: 4%;
	padding-right: 8%;
	padding-bottom: 4%;
	padding-left: 8%;
}

.column_bit_pan {
	float: left;
	overflow: auto;
	width: 84%;
	padding-top: 1.5%;
	padding-right: 8%;
	padding-bottom: 1.5%;
	padding-left: 8%;
}

.column_bit_foot {
	float: left;
	overflow: auto;
	width: 84%;
	padding-top: 1%;
	padding-right: 8%;
	padding-bottom: 1%;
	padding-left: 8%;
	color: #FFFFFF;
	font-size: 14px;
}

.column_bit_100 {
	float: left;
	width: 100%;
	padding: 15px;
	box-sizing: border-box;
	overflow: auto;
}

.column_bit_70 {
	float: left;
	width: 100%;
	box-sizing: border-box;
	overflow: auto;
	padding-right: 15%;
	padding-left: 15%;
	padding-top: 15px;
	padding-bottom: 15px;
}

.column_bit_70c {
	float: left;
	width: 70%;
	box-sizing: border-box;
}

.column_bit_50 {
	float: left;
	width: 50%;
	padding: 1%;
	box-sizing: border-box;
}

.column_bit_40 {
	float: left;
	width: 34%;
	padding: 15px;
	box-sizing: border-box;
}

.column_bit_33 {
	width: 30.9%;
	margin: 1%;
	box-sizing: border-box;
	display: inline-block;  /* インラインブロック化 */
	vertical-align: top; /* 下端を揃える */
}

.column_bit_30 {
	float: left;
	width: 30%;
	padding: 15px;
	box-sizing: border-box;
}

.column_bit_25 {
	display: inline-block;
	vertical-align: top; 
	width: 22.6%;
	margin: 1%;
	box-sizing: border-box;
}

.column_bit_20 {
	float: left;
	width: 20%;
	box-sizing: border-box;
	padding-right: 15px;
	font-size: 14px;
	line-height: 26px;
}

.column_bit_16 {
	float: left;
	width: 16.66666%;
	padding: 15px;
	box-sizing: border-box;
}






/* その他 */

.bit_pan_txt {
	font-size: 13px;
	padding-right: 20px;
	float: left;
}






/*表組みのパーツ--------------------------------------*/

.bit_cell {
	overflow: auto;
	clear: both;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
}

.bit_cell_left {
	width: 260px;
	float: left;
	font-size: 16px;
	padding-right: 20px;
	line-height: 30px;
	box-sizing: border-box;
}

.bit_cell_left2 {
	width: 180px;
	float: left;
	font-size: 14px;
	padding-right: 20px;
	line-height: 30px;
	box-sizing: border-box;
}

.bit_cell_left3 {
	float: left;
	font-size: 14px;
	padding-right: 20px;
	line-height: 30px;
	box-sizing: border-box;
}

.bit_cell_left4 {
	width: 220px;
	float: left;
	font-size: 14px;
	padding-right: 20px;
	line-height: 30px;
	box-sizing: border-box;
}

.bit_cell_right {
	width: calc(100% - 260px);
	float: left;
	font-size: 14px;
	line-height: 30px;
	padding-right: 20px;
	box-sizing: border-box;
}






/* ヘッダー画像 */

.headerbox {
	width: 100%;/* --------------- ヘッダー画像 */
	overflow: auto;
	position:relative; 
}

.headerbox_under {
	position: absolute;
	bottom: 0px;
	right: 0px;
	font-size: 13px;
	font-weight: bolder;
	background-image: url(../images/temp/headerbox_under.png);
	background-repeat: repeat;
	padding-top: 10px;
	padding-right: 25px;
	padding-bottom: 10px;
	padding-left: 25px;
}



/* トップイメージ */

.box { /* 画像にする場合 */
	background: url(../images/topimage.jpg) no-repeat center;
	background-size: cover; 
	xoverflow: hidden;
	position: relative;
}

video { /* 動画にする場合 */
	object-fit: cover;
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
}

.box__centered{
	width: 600px;
	top: 150px;
	left: 350px;
	position: absolute;
	z-index: 4;
}

.box__contents{
	text-align: center;
	transform: translate(-50%,-50%);
}

.box__under{
	position: absolute;
	bottom: 0%;
	left: 0%;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}



/* フッター詳細 */

.foot_title {
	font-size: 20px;
	font-weight: bold;
	margin: 1%;
	clear: both;
}

.foot ul {
	list-style-type: none;
	padding-left: 0;
}
.foot li {
}
.foot_inline-block {
	text-align: center;
}
.foot_inline-block li {
	display: inline-block;
}




#googlemap{
    width: 100%;
    height: 400px;
}

.bar_none_foot {
	width: 100%;
	height: 135px;
	clear: both;
}



.movie-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.movie-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}


@media only screen and (max-width: 1424px) {


/* 非表示-------------*/

.putout_1 { display: block; }
.putout_2 { display: none; }


/* グローバルメニュー -------------*/

#page-top1 { float: none; clear: both; }
#page-top2 { float: none; clear: both; }
#page-top3 { float: none; clear: both; }
#page-top4 { float: none; clear: both; }
#page-top5 { float: none; clear: both; }


.column_left {
	float: left;
	width: calc(100% - 0px);
	margin-top: 70px;
}

.column_12 {
	clear: both;
	width: 100%;
}

.column_06 {
	clear: both;
	width: 100%;
}

.column_04 {
	width: 33.3333333333%;
}

.column_03 {
	width: 50%;
}

.column_01 {
	float: left;
	width: 33.3333333333%;
	overflow: auto;
}


/* column内のcolumn */

.column_bit {
	width: 90%;
	padding: 5%;
}

.column_bit_foot {
	padding-top: 3%;
	padding-bottom: 3%;
}

.column_bit_100 {
}

.column_bit_70 {
	padding-right: 0%;
	padding-left: 0%;
	padding-top: 10px;
	padding-bottom: 10px;
}

.column_bit_50 {
	clear: both;
	width: 92%;
	margin: 4%;
	padding: 0px;
}

.column_bit_33 {
	clear: both;
	width: 92%;
	margin: 4%;
	
}

.column_bit_25 {
	width: 45%;
	margin: 2%;
}

.column_bit_20 {
	width: 50%;
	padding-bottom: 15px;
	padding-right: 5px;
	font-size: 11px;
	line-height: 26px;
}

.column_bit_16 {
	float: left;
	width: 33.33333%;
	padding: 5px;
}




/*表組みのパーツ--------------------------------------*/

.bit_cell_left {
	width: 100%;
	float: left;
	font-size: 14px;
	padding-right: 0px;
	line-height: 30px;
}

.bit_cell_left2 {
	width: 100%;
	float: left;
	font-size: 14px;
	padding-right: 0px;
	line-height: 30px;
}

.bit_cell_left3 {
	width: 100%;
}

.bit_cell_left4 {
	width: 100%;
	float: left;
	font-size: 14px;
	padding-right: 0px;
	line-height: 30px;
}

.bit_cell_right {
	width: 100%;
	float: left;
	font-size: 12px;
	line-height: 25px;
	padding-right: 0px;
}



/* index */

.box__centered{
	width: 100%; /* ←元50% */
	top: 60%;
	left: 0%; /* ←元50% */
	position: absolute;
	z-index: 4;
}

.box__contents{
	transform: translate(-0%,-100%); /* ←元(-50%,-100%) */
}


.box__under{

}

.column_index_01 {
	clear: both;
	width: 100%;
	background-image: url(../images/img_top_01_sp.jpg);
	height: 200px;
}

.column_index_02 {
	clear: both;
	width: 100%;
	height: auto;
}

/* about */

.column_about_01 {
	width: 100%;
	padding: 0%;
}

.column_about_01_bit {
	border-bottom-width: 2px;
	border-bottom-style: dotted;
}

.bit_about_left {
	font-size: 12px;
	width: 35%;
}
.bit_about_right {
	font-size: 12px;
	width: 60%;
}


/* contact */

.bit_contact_bit {
	width: 90%;
	margin-right: 0%;
	margin-left: 0%;
	padding: 5%;
}

.column_contact_01_bit {
	padding-top: 0px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
}

.bit_contact_left {
	font-size: 16px;
	font-weight: bolder;
	float: left;
	width: 100%;
	text-align: left;
}
.bit_contact_right {
	font-size: 16px;
	font-weight: bolder;
	float: left;
	width: 100%;
	text-align: left;
}


/* recruit */

.bit_recruit_bit {
	width: 100%;
	margin-right: 0%;
	margin-left: 0%;
	padding: 5%;
}




}


@media only screen and (max-width: 500px) {
	
h1 {
	font-size: 150%;
}

}

/* 文字の要素 */

.p_33 {
	font-size: 33px;
	line-height: 36px;
	font-weight: bold;
}

.p_23 {
	font-size: 23px;
	line-height: 36px;
	font-weight: bold;
}
.p_22 {
	font-size: 22px;
	line-height: 22px;
}
.p_21 {
	font-size: 21px;
	line-height: 32px;
}
.p_20 {
	font-size: 20px;
	line-height: 40px;
}
.p_19 {
	font-size: 19px;
	line-height: 32px;
}
.p_19r {
	font-size: 19px;
	line-height: 32px;
	color: #C00000;
}
.p_19g {
	font-size: 19px;
	line-height: 28px;
	color: #0066CC;
}
.p_19b {
	font-size: 19px;
	line-height: 28px;
	color: #006666;
}

.p_18 {
	font-size: 18px;
	margin-top: 10px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	color: #1F3F00;
}

.p_17 {
	font-size: 17px;
	line-height: 30px;
}
.p_16 {
	font-size: 16px;
	line-height: 35px;
}
.p_15 {
	font-size: 15px;
	line-height: 30px;
}
.p_14 {
	font-size: 14px;
	line-height: 28px;
}

.p_13 {
	font-size: 13px;
	line-height: 28px;
}

.p_12 {
	font-size: 12px;
	line-height: 20px;
}
.p_11 {
	font-size: 11px;
	line-height: 15px;
}
.p_10 {
	font-size: 10px;
	line-height: 18px;
}

.p_red {
	color: #D80000;
}

.p_orange {
	color: #FA5100;
}

.p_blue {
	color: #D3DFED;
}

.p_green {
	color: #009933;
}

.p_bluegreen {
	color: #006666;
}

.p_gray {
	color: #ECD2B9;
}
.p_gray2 {
	color: #8FA6AD;
}

.p_white {
	color: #FFF;
}

.p_purple {
	color: #9F72A2;
}




/*テーブル------------------------*/

.table-01 {
	border: 1px solid #DDDDDD;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 12px;
}
.table-01 td {
    border: 1px #DDDDDD solid;
    border-width: 0 0 1px 1px;
}

.table-02 {
	border: 1px solid #CCCCCC;
	border-collapse: collapse;
	border-spacing: 0;
}
.table-02 td {
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 1px;
	border-left-width: 1px;
	border-top-style: solid;
	border-right-style: solid;
	border-bottom-style: solid;
	border-left-style: solid;
	border-top-color: #CCCCCC;
	border-right-color: #CCCCCC;
	border-bottom-color: #CCCCCC;
	border-left-color: #CCCCCC;
}


/*テーブル（レスポンシブ）------------------------*/

.tbl01 {
	border-collapse: collapse; 
}
.tbl01 th,.tbl01 td {
	border: 1px solid #DDDDDD;
	vertical-align: top;
	text-align: left;
	font-size: 13px;
}
.tbl01 th {
	background-color: #EEF1EC;
}
.tbl01 td {
}
@media only screen and (max-width:1200px) {
.tbl01 th,.tbl01 td {display: block;width: auto;border-bottom: none;}
.tbl01 tr:last-child {border-bottom: 1px solid #aaa;}
}


/* bar --------------------------------*/

.bar_none_1 {
	width: 100%;
	height: 0px;
	clear: both;
}

.bar_none_5 {
	width: 100%;
	height: 5px;
	clear: both;
}

.bar_none_10 {
	width: 100%;
	height: 12px;
	clear: both;
}

.bar_none_15 {
	width: 100%;
	height: 15px;
	clear: both;
}

.bar_none_20 {
	width: 100%;
	height: 20px;
	clear: both;
}

.bar_none_30 {
	width: 100%;
	height: 30px;
	clear: both;
}

.bar_none_60 {
	width: 100%;
	height: 60px;
	clear: both;
}

.bar_none_1p {
	width: 100%;
	height: 1%;
	clear: both;
}

.bar_01 {
	width: 100%;
	clear: both;
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #999999;
}

.bar_02 {
	width: 100%;
	height: 18px;
	clear: both;
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #FFFFFF;
	margin-top: 15px;
}

.bar_03 {
	width: 100%;
	height: 13px;
	clear: both;
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #666666;
}

.bar_04 {
	width: 100%;
	height: 20px;
	clear: both;
	border-top-width: 3px;
	border-top-style: dotted;
	border-top-color: #CCCCCC;
	margin-top: 20px;
}

.bar_05 {
	width: 100%;
	height: 20px;
	clear: both;
	border-top-width: 6px;
	border-top-style: double;
	border-top-color: #E6E6E6;
	margin-top: 15px;
}


/* スライダー --------------------------------*/

/*--------------------------------*/

.slider_waku {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}
.slider{
    margin: 0px auto;
    width: 100%;
}
.slider img{
	height: auto;
	width: 100%;
}
/*slick setting*/
.slick-prev:before,
.slick-next:before{
    color: #000;
}
ul {
  margin:0;
  padding:0;

}


/* Contact Form 7 --------------------------------*/

.wpcf7 {
	margin: 0px 0;
}
.asterisk {
	margin: 0 0 0 0.2em;
	color: #f5637a;
}
.wpcf7 span.wpcf7-not-valid-tip {
	font-size: 80%;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="select"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
	background-color: #fff;
	color: #333;
	border: 1px solid #ddd;
	font-size: 100%;
	padding: 0.5em;
	border-radius: 4px;
	box-shadow: 1px 1px 3px rgba(0,0,0,.1) inset;
}
.wpcf7 input[type="submit"] {
	font-size: 100%;
	background: #eee;
	color: #333;
	border-radius: 4px;
	cursor: pointer;
	box-shadow: 0 0 1px rgba(0,0,0,.2);
	border: 1px solid #ccc;
	text-shadow: -1px 1px 0 rgba(255,255,255,1);
	padding-top: 1.2em;
	padding-right: 1.4em;
	padding-bottom: 1.2em;
	padding-left: 1.4em;
	width: 200px;
}
.wpcf7 input[type="submit"]:hover {
	box-shadow: 0 0 1px rgba(0,0,0,.2) inset;
}
