@charset "utf-8";
/* CSS Document */
@media screen and (min-width : 1080px){
#topmain_bg{
background: url("images/okada_topimg01.jpg") no-repeat;
background-size: cover;
width: 100%;
position: relative;
min-height: 960px;
}

/*mac*/
}

@media screen and (max-width : 1079px) {
#masthead .wrap_head {
	padding-left: 0;
	padding-right: 0;
}

.one-column #content {
	margin: 0 auto;
	max-width: 1080px;
	padding-left: 15px;
	padding-right: 15px;/*画面サイズの余白*/
}
#navi ul.menu li a {
	padding: 10px;
}
#topmain_bg{
background-size: contain;
padding-top: 50%;
height: 0;
}
#topmain_text h2{
font-size:30px;
margin-bottom: 40px;
}
.site-branding-text h1 {
	display: block;
}
.site-branding-text h1 span{
display: block;
}
.top_nav {
	width: calc(100% - 30px - 150px);
}
.typing-effect {
  width: 18ch;

}
/*1079*/
}
@media screen and (min-width : 768px){
 #s_header{
	display: none;
}
#masthead {
	padding-bottom: 0;
}
#maincolumn {
	display: flex;
	flex-direction: row-reverse;
}
#maincolumn.one_col{
display: block;
}
#maincolumn #content.two_col{
width: calc(100% - 270px);
margin: 0 0 0 50px;
}
#primary, #secondary {
	float: none;
	overflow: hidden;
	width: 220px;
}

.flex_item li{
width:30%;
margin-right: 5%;
margin-bottom: 30px;
}
.flex_item li:nth-of-type(3n){
margin-right: 0;
}
#navi ul.menu li.navi_con a{
border: 2px solid #0f1111;
border-radius: 100px;
}
#navi ul.menu li.navi_con a:hover{
background: #0f1111;
color: #fff !important;
}
.flex_prosess{
display: flex;
justify-content: space-between;
padding: 30px 0;
align-items: center;
margin-bottom: 45px;
}
.flex_prosess .left{
width: 19%;
text-align: center;
font-size:28px;
font-weight: 600;
border-right: 1px solid #BBBCBC;
padding: 25px 0;
color: #3EB5B9;
}
.flex_prosess .right{
width: 75%;
font-size:22px;
}
/*768-------------*/
}

@media screen and (max-width : 767px) {/*スマホ　以下をモバイルと認定*/
.ps{
	display: none;
}
.sp{
	display: inline-block;
}

/*.top_nav02 {
	display: none;
}
*/
.ps_slide{
display: none;
}
.sp_slide{
display: block;
}
/*スマホメニューここから*/
#s_header {
	width: 100%;
}
#menu-btn-check {
	display: none;
}
.menu-btn {
	position: fixed;
	top: 0;
	right: 0;
	display: flex;
	height: 60px;
	width: 60px;
	justify-content: center;
	align-items: center;
	z-index: 99999;

}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	    content: '';
	    display: block;
	    height: 3px;
	    width: 25px;
	    border-radius: 3px;
	    background-color: #000;
	    position: absolute;
	}
.menu-btn span:before {
	    bottom: 8px;
	}
.menu-btn span:after {
	    top: 8px;
	}
		
#menu-btn-check:checked ~ .menu-btn span {
	    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
	}
#menu-btn-check:checked ~ .menu-btn span::before {
	    bottom: 0;
	    transform: rotate(45deg);
	}
#menu-btn-check:checked ~ .menu-btn span::after {
	    top: 0;
	    transform: rotate(-45deg);
	}
#menu-btn-check {
	    display: none;
	}
.menu-content {
	    width: 100%;
	    height: 100%;
	    position: fixed;
	    top: 0;
	    left: 0;
	    z-index: 80;
	    background-color: #fff;
	}
.menu-content ul {
	    padding: 70px 10px 0;
	}
.menu-content ul li {
	    border-bottom: solid 1px #000;
	    list-style: none;
	}
.menu-content ul li a {
	    display: block;
	    width: 100%;
	    font-size: 15px;
	    box-sizing: border-box;
	    color:#000;
	    text-decoration: none;
	    padding: 9px 15px 10px 0;
	    position: relative;
	}
.menu-content ul li a::after {
	    content: "";
	    width: 7px;
	    height: 7px;
	    border-top: solid 2px #000;
	    border-right: solid 2px #000;
	    transform: rotate(45deg);
	    position: absolute;
	    right: 11px;
	    top: 16px;
	}
	
.menu-content {
	    width: 100%;
	    height: 100%;
	    position: fixed;
	    top: 0;
	    left: 100%;/*leftの値を変更してメニューを画面外へ*/
	    z-index: 80;
	    background-color: #fff;
	    transition: all 0.5s;/*アニメーション設定*/
	}
	
#menu-btn-check:checked ~ .menu-content {
	    left: 0;/*メニューを画面内へ*/
	}
	
/*スマホメニューここまで*/

.site-branding-text h1 {
	text-align: center;
}

#subimage .inner{

	padding:20px;
}
#content {
	margin: 0 auto;
	widows: 100%;
}
#primary, #secondary {
	float: none;
	overflow: hidden;
	width: 100%;
}
#maincolumn #content.two_col{
width: 100%;
}
#primary, #secondary {
	width: 100%;
}


.top_nav {
	width: 100%;
	display: block;
}
.site-branding-text .site-title {
	padding-left: 0;
}


.bn_send{
		padding: 1em 2em;
	}
.formInner input[type="file"], .formInner input[type="text"], select, .formInner input[type="email"], textarea {
	width: 96%;
	cursor: pointer;
}

table.table-b th, table.table-b td, table.table-price th, table.table-price td, table.table-price tbody th, table.table-h th,  table.table-h td{
	display: block;
	}
  table.table-h th,  table.table-h td{
  width:auto;
  }
table.none td.name01, table.none td.name02, table.none td.name03, table.none td.name04{
		width:94%;
		display: block;
	}

#header_upper{
		display: block;
		margin-bottom: 20px;
	}
section#foot_info .left, section#foot_info .right {
	text-align: center;
	width: 50%;
}
section#foot_info .right .inner {
	padding: 65px 10%;
	font-weight: bold;
}
#foot_company {
	display: block;
}

.top_nav {
display: none;
}
.top_nav li.phone {
	display: block;
	text-align: center;

}

footer #footer-widget-area {
	display: block;
}
ul.align_item li{
width:48%;
}
header .site-title {
text-align: center;
width: 70%;
margin: 10px auto;}
#first_lead .flex li.first, #first_lead .flex li.second {
	width: 100%;
}

.site-branding-text{
display: flex;
justify-content: space-around;
}
.site-branding-text a.sp_btn{
display: inline-block;
}
.top_nav h1.site-title{
display: block;
text-align: center;
border-bottom: 1px solid #DBD5CC;
border-top:1px solid #DBD5CC;
padding: 10px 0;
width: 100%;
margin: 0;
}
.site-branding-text {
padding-left: 0;
}
#foot_upper {
	display:block;
}
#foot_upper_left, #foot_upper_right {
	width: 100%;
}
#foot_company .foot_nav {
	width: 90%;
}
.foot_nav ul{
padding-left: 0;
}
#subimage .inner h2, #subimage .inner h1 {
	font-size: 22px;
}

ul.news_waku{
padding-left: 0;
}


#masthead .wrap_head {
	margin-top: 0;
}
p.text {
	font-size:14px;
	line-height: 2;
}

ul.topics li {
	text-align: left;
}
ul.topics a{
display: inline-block;
text-align: left;
}
.news_box {
	display: block;
}
.news_left {
	width: 100%;
}
.news_waku {
	width: 100%;
}
.newsguide {
	margin: 10px 0;
	float: right;
	display: flex;
	flex-wrap: wrap;
}

.flex_item li{
width:46%;
margin-right: 8%;
margin-bottom: 25px;
}
.flex_item li:nth-of-type(2n){
margin-right: 0;
}
.foot_box {
	padding: 50px 30px;
	display: block;
}
.site-branding-text h1 span {
display: none;
}
#masthead .wrap_head {
	display: flex;
	padding: 10px 0;
}
.site-branding-text {
	margin-left: 10px;
	padding-right: 5px;
	max-width: 300px;
}

.flex .box46{
margin-bottom: 30px;
}
.box_rinen .drop_box{
width: 100%;
}
.flex_prosess{
margin-bottom: 20px;
}
.flex_prosess .left{
display: block;
text-align: center;
font-size:22px;
font-weight: 600;
border-bottom: 1px solid #BBBCBC;
padding: 20px 0;
margin: 0 20px;
}
.flex_prosess .right{
display: block;
font-size:16px;
padding: 20px;
}
h2.lead {
	font-size: 22px;
	margin-bottom: 30px;
	line-height: 1.5;
}
.streng h3 {
	font-size: 22px;
	margin: 20px 0;
}
.flow_left {
	width: 100%;
}
.flow_right {
	width: 100%;
}
.flow_right h3 {
	font-size: 22px;
	margin-bottom: 25px;
}
.flow_right h4 {
	font-size: 18px;
	margin-bottom: 20px;
}
.flow_left ul li {
	padding: 15px 0;
	font-size: 18px;

}
#subimage h1 {
	font-size: 70px;
	margin-top: 30px;
	text-transform: capitalize;
}
#subimage h1 span {
	font-size: 18px;
}
#subimage {
	min-height: 150px;
}
.box_rinen .drop_box .inner {
	padding: 30px 20px;
}
.drop_box h3 {
	font-size: 30px;
	margin-bottom: 30px;
}
.drop_box h4 {
	font-size: 18px;
	margin-bottom: 30px;
}
ul.maru li {
	font-size: 18px;
	margin-bottom: 15px;
}
.recruit_left h3 {
	font-size: 22px;
	margin-bottom: 30px;
}
.recruit_left {
	width: 100%;
	margin-bottom: 0;
}
.recruit_right {
	width: 100%;
	margin-bottom: 30px;
}
.recruit_right h3 {
	margin-bottom: 20px;
}
.recruit_right h4 {
	font-size: 18px;
}
.foot_logo {
	width: 100%;
	margin-bottom: 25px;
}
.copyright .flex_center{
display: flex;
justify-content: center;
}
.copyright .flex_center li{
margin-right: 10px;
margin-left: 10px;
}
/*スマホ767*/
}
@media screen and (max-width : 480px) {/*スマホ微調整*/
.ps_con{
display: none;
}
.sp_con{
		display: block;
	}
body{
font-size:14px;
line-height: 1.8;
}
.site-branding-text h1.site-title a {
	display: block;
}
.wrap_white {
	padding: 40px 0;
}
.sp_slide{
display: block;
}

#subimage {
	position: relative;
	width: 100%;
}	
	
#subimage .inner p {
	font-size: 20px;
	text-align: center;
}
.page_menu{
		padding-left: 20px;
	}
.page_menu ul li a{
	border: none;
	}
.page_menu ul li{
	text-align: left;
	display: block;
	width:100%;
	}
.page_menu ul li::before{
	content: "\f105"; 
	font-family: 'FontAwesome'; 
	margin-right: 15px;
	}

table.table-b, table.table-c {
	width:96%;
	margin-left: auto;
	margin-right: auto;
	}
table.table-b th, table.table-b td, table.table-c th, table.table-c td{
	width: 96%;
	display: block;
	padding: 1em 2%;
	
	}

#footer-widget-area .widget-area {
	float: none;
	margin:0 auto;
	width: 96%;
}/*hero*/
.hero__title {
	min-width: 250px;
}
.hero {
min-height: 600px;
	max-height: 800px;
	overflow: hidden;
	position: relative;
}

.hero-slide__img {
	min-height: 600px;
	object-fit: cover;
	opacity: 0;
	width: 100%;
}

.site-branding-text {
	margin-left: 10px;
	padding-right: 5px;
	max-width: 170px;
}
.top_nav02 {
	width: 32px;
	margin-right: 70px;
	margin-left: 0px;
}
h2.title {
	font-size: 68px;
	margin-bottom: 35px;
}
h2.title span{
font-size: 16px;
}
.sp_bn{
display: block;
}
.wrap_2color {
	padding: 70px 0 0 0;
}
.bn_news, .bn_recruitment {
	display: block;
}
.foot_box .btn01 {
	padding: 20px 50px;
	min-width: 100px;
	font-size: 20px;
}
.foot_tel {
	font-size: 28px;
}
.foot_tel span {
	font-size: 20px;
}
.wrap_white02 {
	padding: 50px 0 30px 0;
}

#topmain_bg {
	background: url("images/s_okada_topimg01_1.jpg") center no-repeat;
	background-size: cover;
	width: 100%;
	position: relative;
	min-height: 560px;
}

#topmain_text{
position: absolute;
top: 10%;
left: 25%;
margin-right: -50%;
	-webkit-transform: translate(-20%, -40%);
	transform: translate(-20%, -40%);
	font-weight: 700;
	text-align: left;
}
#topmain_text h2{
font-size:22px;
font-weight: 700;
line-height: 1.4;
margin-bottom: 0;
}
#topmain_text p{
font-size:12px;
line-height: 2.3;
width: 270px;
}
#topmain_text h2.second {
	margin-bottom: 30px;
}
.typing {
  height: 110px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.typing-effect {
  width: 9ch;
  animation: typing 3s steps(9), effect .5s step-end infinite alternate;
}

.flex_history {
	display: block;
}
.wrap_gray {
	padding: 60px 0;
}
.wrap_history {
	width: 100%;
	margin-left: 0;
}
.side_nen {
	display: none;
}
table.table-h th {
	font-size: 18px;
}
.subvisual {
	padding-left: 20px;
}
#column {
	width: 85%;
}
form {
	width: 100%;
	margin: 30px auto;
}
#foot_upper h2.title{
text-align: center;
}
#foot_upper h2.title span {
	justify-content: center;
}
/*480*/
}