﻿/**************************************************************/
@media screen and (max-width: 700px) {

body {
font-size: 15px;
line-height: 1.5em;
}

.container {
max-width: 100%;
margin-right: 20px;
margin-left: 20px;
}

.text {
line-height: 1.6em;
}



/*-----------------------
 トップページ
-----------------------*/
/* ヘッダー */
header {
}

.head_box .logo_area img {
max-width: 120px;
height: auto;
}


/* スライド */
#bx_bg {
}

.bx-wrapper .bx-pager {
}

.caption {
left: 50px;
right: 50px;
animation: animation1 2s 1 ease 1s both;
}
@keyframes animation1 {
from {
	transform: translateY(-300px);
	}
	to {
	transform: translateY(100px);
	}
}



/*-----------------------
 ハンバーガーメニュー 
-----------------------*/
/* pcメニューを消す */
.pc_navi {
display: none;
}

/* クリックされていないときのトグルスイッチ */
.toggle {
z-index: 3;

display: block;

cursor: pointer;

width: 55px;

height: 47px;

position: absolute;

right: 10px;

top: 5px;

background: #085e98;
}
.toggle span {
transition: .35s ease-in-out;
-webkit-transition: .35s ease-in-out;
-moz-transition: .35s ease-in-out;
display: block;
width: 70%;
position: absolute; /* .toggleに対して */
right: 7px;
padding-top: 5px;
border-bottom: solid 3px #fff;
}
.toggle span:nth-child(1) {
top: 3px;
}
.toggle span:nth-child(2) {
top: 10px;
}
.toggle span:nth-child(3) {
top: 18px;
}
.toggle span:nth-child(4) {
top: 25px;
left: 10px;
font-size: 12px;
font-weight: bold;
color: #fff;
border: none;
}



/* クリックされたときのトグルスイッチ */
/* 最初のspanをマイナス45度に */
.toggle.active span:nth-child(1) {
top: 15px;
left: 8px;
-webkit-transform: rotate(-45deg);
-moz-transform: rotate(-45deg);
transform: rotate(-45deg);
}
/* 2番目と3番目のspanを45度に */
.toggle.active span:nth-child(2),
.toggle.active span:nth-child(3) {
top: 15px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
}



/* クリックされていないときのグローバルメニュー */
/* .sp_navi */
.sp_navi {
transform: translateY(-100%);
transition: all 0.8s;
z-index: 2;
/*
width: 100%;
position: fixed;
top: 0;
left: 0;
padding-top: 50px;
text-align: center;
color: #000;
background: #b0f3b8;
*/
}
/*
.sp_navi .nav_li {
width: 100%;
padding: 10px;
list-style-type: none;
}
.sp_navi .nav_li a {
display: block;
color: #000;
}
*/



/* クリックされたときのグローバルメニュー */
/* .sp_naviに.activeが追加 */
.sp_navi.active {
transform: translateY(0%);
transition: transform 10s;
z-index: 200;
display: block;
width: 300px;
position: absolute;
top: 0;
bottom: unset;
right: 10px;
margin-top: 68px;
padding-top: 0;
background: #085e98d9;
}

.sp_navi.active ul {
}

.sp_navi.active li {
padding: 5px 10px 5px 20px;
border-top: 1px solid #7e7878;
}

.sp_navi.active li:first-of-type {
border-top: none;
}

.sp_navi.active a {
display: block;
font-size: 14px;
color: #fff;
}



/* TOPメイン */
main {
}


.top_message {
overflow: hidden;
width: 100%;
}

.top_message .container {
top: 40px;
right: 20px;
left: 20px;
}

.top_message .text_area {
font-size: 16px;
line-height: 1.5em;
text-align: left;
}

.top_service {
overflow: hidden;
width: 100%;
}

.top_service .container {
top: 40px;
right: 20px;
left: 20px;
}

.top_recruit {
overflow: hidden;
width: 100%;
}

.top_recruit .container {
top: 40px;
right: 20px;
left: 20px;
}

.top_news {
overflow: hidden;
width: 100%;
}

.top_news .container {
/*
top: 40px;
right: 20px;
left: 20px;
*/
}

.top_news .news_area {
width: 100%;
height: 240px;
}



/* フッター */
footer {
padding-bottom: 10px;
}

.foot_navi {
padding: 5px 0;
}

.foot_navi .container {
display: none;
}

footer .box {
padding: 20px 0 5px 0;
}

footer .in1 a img {
max-width: 200px;
height: auto;
}

footer .in2 {
display: block;
}

footer .tel {
float: none;
width: 100%;
margin-bottom: 5px;
}

footer .contact {
width: 100%;
}

footer .address {
font-size: 15px;
}



/* copyright */
.copyright {
padding-top: 10px;
}

small {
}



/*-----------------------
 TOPへ戻るボタン
-----------------------*/
.page_top {
}

.page_top .inner {
right: 40px;
}

.page_top a {
}




/*-----------------------
 汎用ページ
-----------------------*/
/* 見出しタイトル */
#ttl {
margin-bottom: 60px;
padding-top: 100px;
}

#ttl .container {
}

#ttl h2 {
top: 10px;
bottom: 0;
left: 0;
font-size: 180%;
letter-spacing: 0;
line-height: 1.2em;
}

#ttl img {
}



/* コンテンツエリア */
.content {
display: block;
}

.content .text_area {
line-height: 1.6em;
}



/* メインカラム */
#left_col {
width: 100%;
}

/* サイドバナー */
#right_col {
width: 320px;
margin-top: 50px;
margin-bottom: 50px;
margin-right: auto;
margin-left: auto;
}

/* h3～h6 */
.title {
}

.h3 {
margin-top: 100px;
padding-bottom: 50px;
font-size: 180%;
letter-spacing: 2px;
}

.h3 h3 {
}

.h3 i {
}

.h3 p {
padding: 10px 10px 0 10px;
letter-spacing: 3px;
}

.h3:first-of-type {
}

.h4 {
margin-top: 50px;
padding-bottom: 20px;
font-size: 150%;
letter-spacing: 0;
}

.h4 h4 {
padding: 7px 20px 10px 10px;
text-align: center;
letter-spacing: 0;
}

.h4 i {
}

.h4:first-of-type {
}

.h3 + .h4 {
}

.h5 {
margin-top: 60px;
padding-bottom: 20px;
text-align: center;
letter-spacing: 0;
}

.no-line {
margin-top: 60px;
}

.h5 h5 {
padding: 5px 10px;
}

.h5 i {
}

.h5:first-of-type {
}

.h4 + .h5 {
}

.h6 {
}


/* テキストエリア */
.content .text_area {
margin-right: 0px;
margin-left: 0px;
padding: 0;
padding-bottom: 40px;
}



/* float右画像 */
.float_r {
}

.float_r:after {
}

.float_r .in_l {
padding-bottom: 0;
}

.float_r .in_l .text {
}

.float_r .in_r {
float: none;
width: 100%;
padding-bottom: 0px;
}

.float_r .in_r .img_area {
padding-left: 0;
}



/* float左画像 */
.float_l {
}

.float_l:after {
}

.float_l .in_l {
float: none;
width: 100%;
padding-bottom: 0px;
}

.float_l .in_l .img_area {
padding-right: 0;
}

.float_l .in_r {
padding-bottom: 0;
}

.float_l .in_r .text {
}



/* 2カラムBOX */
.box_2col {
display: block;
margin-right: 0;
margin-left: 0;
}

.box_2col .in {
width: 100%;
margin-bottom: 20px;
}

.box_2col .img_area {
padding-right: 0;
padding-left: 0;
}

.box_2col .img_area img {
}

.box_2col .in .ttl {
padding-right: 0;
padding-left: 0;
}

.box_2col .in .text {
padding-right: 0;
padding-left: 0;
}

.box_2col .in .link_bnr {
padding-right: 0;
padding-left: 0;
}



/* 3カラムBOX */
.box_3col {
display: block;
margin-right: 0;
margin-left: 0;
}

.box_3col .in {
width: 100%;
margin-bottom: 20px;
}

.box_3col .in:last-of-type {
margin-bottom: 0px;
padding-bottom: 0px;
}

.box_3col .in .img_area {
padding-right: 0;
padding-left: 0;
}

.box_3col .in .img_area a {
}

.box_3col .img_area {
margin-bottom: 10px;
text-align: center;
}

.box_3col .img_area img {
}

.box_3col .ttl {
padding-right: 0;
padding-left: 0;
}

.box_3col .text {
padding-right: 0;
padding-left: 0;
}

.box_3col .in .link_bnr {
padding-right: 0;
padding-left: 0;
}



/* img_box */
.img_box {
}

.img_box img {
}



/* リストエリア1 */
.content .list_area1 {
margin-right: 0px;
margin-left: 5px;
}

.content .list_area1 ul {
}

.content .list_area1 li {
padding-left: 20px;
}



/* リストエリア2 */
.content .list_area2 {
margin-left: 0 !important;
letter-spacing: 0;
}

.content .list_area2 ul {
}

.content .list_area2 li {
padding-bottom: 20px !important;
padding-left: 30px !important;
}



/* リンクボタン */
.link_bnr {
margin-right: 0;
margin-left: 0;
}

.link_bnr a {
}

.link_bnr a img {
}

.link_bnr a:before {
}

.link_bnr a:after {
}



/* テーブル */
.tbl_area {
margin-right: 0;
margin-left: 0;
}

.tbl_area table {
width: 100%;
border: none;
}

.tbl_area tr {
}

.tbl_area tr:last-of-type {
}

.tbl_area th {
display: block;
width: auto;
padding: 8px 10px;
text-align: left;
border: solid #2c3333;
border-width: 1px 1px 0 1px;
}

.tbl_area td {
display: block;
width: auto;
margin-bottom: 10px;
padding: 10px;
border: solid #2c3333;
border-width: 0 1px 1px 1px;
}



/* バナーリンク */
.bnrlink_area {
}

.bnrlink_area ul {
display: block;
}

.bnrlink_area li {
width: 100%;
margin-bottom: 10px;
}

.bnrlink_area li .inner {
}

.bnrlink_area li a {
height: auto;
padding-top: 20px;
padding-bottom: 20px;
}
.bnrlink_area li:nth-child(even) a {
}

.bnrlink_area li a:hover {
}

.bnrlink_area li img {
}





/* 赤文字 */
.red_text {
}



/* コンテンツページ共通お問い合わせバナー */
.content_info {
margin-top: 50px;
padding-bottom: 40px;
}

.content_info a {
}

.content_info img {
}



/* 自動リンク */
.module {
display: none;
}

#right_col ul {
}

#right_col ul .lv1 {
}
#right_col ul .lv1::before {
}
#right_col ul .lv1 a {
}
#right_col ul .lv1 i {
}

#right_col ul .lv2 {
}
#right_col ul .lv2 i {
}

#right_col ul .lv3 {
}
#right_col ul .lv3::before {
}
#right_col ul .lv3 i {
}

#right_col a:hover {
}


/* サイドバナー */
.side_bnr {
padding-bottom: 20px;
}

.side_bnr a {
}

.side_bnr img {
}



/*-----------------------
 下層ページ
-----------------------*/
.oneday_box .in1_1 p {
padding-top: 0;
}



/*-----------------------
 お問い合わせ
-----------------------*/
/* フォーム要素 */
form {
}

input[type="text"],
input[type="email"] {
width: 90%;
}

form .tel,
form .postal_code {
width: 90%;
}

.contact_float_r .tel {
margin: 10px 0;
}

.contact_float_r .tel strong {
letter-spacing: 0;
}

select {
width: 200px;
}

textarea {
width: 90%;
}

.form_btn {
margin-top: 20px;
padding-bottom: 30px;
}

input[type="submit"] {
width: 120px;
display: block;
margin: auto;
padding: 5px;
font-size: 100%;
}

input[type="reset"] {
width: 120px;
display: block;
margin: auto;
margin-bottom: 10px;
padding: 5px;
font-size: 100%;
}



/* フォーム用テーブル */
.form_tbl {
}

.form_tbl tr {
}

.form_tbl th {
}



/* Google MAP */
.g_map {
height: 500px;
margin-bottom: 40px;
}









}
/**************************************************************/
@media screen and (max-width: 640px) {

.caption {
font-size: 20px;
top: auto;
bottom: 30px;
left: 20px;
right: 20px;
animation: animation1 2s 1 ease 1s both;
}
@keyframes animation1 {
	from {
	transform: translateY(-300px);
	}
	to {
	transform: translateY(20px);
	}
}

.top_news dl {
display: block;
}

.business_list li {
width: 50%;
margin-bottom: 20px;
}

.business_list li p {
height: 100px;
}

.products_box_3col .bnr_area {
position: relative;
right: 0;
margin-top: 20px;
text-align: right;
}

.oneday_area .inner {
padding: 30px 10px;
}

.oneday_box .in1 {
display: block;
}

.oneday_box .in1_1 {
width: 100%;
margin-bottom: 10px;
}

.oneday_box .in1_2 {
width: 100%;
}

.voice_area .in1 {
display: block;
}

.voice_area .in1_1 {
width: 100%;
}

.voice_area .in1_2 {
width: 100%;
}

.voice_area .in1_1 .img_area {
margin-right: 0;
}












}
/**************************************************************/
@media screen and (max-width: 480px) {

.top_message .img_area {
position: absolute;
width: auto;
height: 100%;
text-align: left;
}

.top_message .img_area img {
/*max-width: none;*/
height: 100%;
width: auto;
}

.top_message .container {
width: auto;
position: relative;
top: 0;
right: 0;
left: 0;
margin-top: 0;
margin-right: 20px;
margin-left: 20px;
padding-top: 40px;
padding-bottom: 40px;
}

.top_service .img_area {
position: absolute;
width: auto;
height: 100%;
text-align: left;
}

.top_service .img_area img {
height: 100%;
width: auto;
}

.top_service .container {
width: auto;
position: relative;
top: 0;
right: 0;
left: 0;
margin-top: 0;
margin-right: 20px;
margin-left: 20px;
padding-top: 40px;
padding-bottom: 40px;
}

.top_service .box {
display: block;
}

.top_service .box .in {
width: 100%;
text-align: center;
}

.top_service .box .in a {
display: inline-block;
}

.top_recruit .img_area {
position: absolute;
width: auto;
height: 100%;
text-align: left;
}

.top_recruit .img_area img {
height: 100%;
width: auto;
}

.top_recruit .container {
width: auto;
position: relative;
top: 0;
right: 0;
left: 0;
margin-top: 0;
margin-right: 20px;
margin-left: 20px;
padding-top: 40px;
padding-bottom: 40px;
}

.top_recruit .box {
display: block;
}

.top_recruit .box .in {
width: 100%;
text-align: center;
}

.top_recruit .box .in a {
display: inline-block;
}

.top_news .img_area {
position: absolute;
width: auto;
height: 100%;
text-align: left;
}

.top_news .img_area img {
/*max-width: none;*/
height: 100%;
width: auto;
}

.top_news .container {
width: auto;
position: relative;
top: 0;
right: 0;
left: 0;
margin-top: 0;
margin-right: 20px;
margin-left: 20px;
padding-top: 40px;
padding-bottom: 80px;
}

footer .in2 {
display: block;
}

footer .tel {
width: 100%;
margin-bottom: 5px;
    color: black;
}

footer .contact {
width: 100%;
top: 0;
}

footer .address {
letter-spacing: 0;
}

#right_col {
width: 100%;
}

.oneday_box .time {
height: 70px;
background: url(../img/bg_oneday.png) no-repeat;
background-size: 250px;
}

.oneday_box .in1 {
justify-content: space-between;
padding: 0;
padding-left: 0px;
min-height: 309px;
padding-left: 50px;
background: url(../img/oneday_arrow.png) repeat-y 6px 0;
background-size: auto auto;
background-size: 30px auto;
}

.oneday_box .time p {
top: 21px;
left: 140px;
font-size: 16px;
letter-spacing: 2px;
}






}
