@charset "utf-8";
/* CSS Document */
#container{
	min-width:320px;	
}
.remodal-is-opened {
	display: block !important;
}
.pc{
	display: none;	
}
.sp{
	display: block;
}

/*共通*/
#header {
	height: 50px;
	position: fixed;
	z-index: 100;
	left: 0px;
	top: 0px;
	background-color: #FFFFFF;
}
#h_fix{
	display: none !important;	
}
.h_logo {
	width: 130px;
	left: 10px;
	top: 13px;
}
.h_contact {
	display: none;
}

.h_company {
	width: 100px;
	top: 10px;
	right: auto;
	height: 30px;
	font-size: 10px;
	line-height: 15px;
	text-align: left;
	left: 150px;
}
.h_company .en {
	margin-right: 0px;
	display: block;
}
#g_navi {
	display: none;
}



#footer .inner {

	padding-top: 30px;
	padding-bottom: 30px;
   width : -webkit-calc(100% - 20px) ;
   max-width:none;
}
#footer .copyright {
	font-size: 10px;
	border-top-style: none;
}
#f_menu {
	display: none;
}

.f_logo {
	width: 150px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 0px;
}
#container {
	padding-top: 50px;
}

.h_menu {
	display: block;
	position: absolute;
	height: 50px;
	width: 50px;
	top: 0px;
	right: 0px;
}
#menu{
	display: block;	
}
.menu {
	position: fixed;
	z-index: 200;
	left: 0px;
	top: 50px;
	width: 100%;
	min-width: 320px;
	display: block;
}
.h_close {
	height: 50px;
	width: 50px;
	position: absolute;
	z-index: 10;
	top: 0px;
	right: 0px;
}

#sp_menubox .head {
	height: 50px;
	width: 100%;
	position: relative;
}

#sp_menu {
	padding-top: 20px;
	padding-right: 0px;
	padding-bottom: 20px;
	padding-left: 0px;
}
.menu .head2 {
	position: absolute;
	z-index: 10;
	height: 50px;
	width: 100%;
	left: 0px;
	top: -50px;
}
#sp_nav li a {
	display: block;
	font-size: 14px;
	text-decoration: none;
	position: relative;
	color: #FFFFFF;
	padding: 10px;
}
#sp_nav li {
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;

}
#sp_nav li a .en {
	display: block;
	font-size: 18px;
	font-weight: bold;
}

.ank {
	margin-top: -50px;
	padding-top: 50px;
}
.content01{
	padding-top: 30px;
}
.content01.last{
	padding-bottom: 30px;
}
.content01 .inner {
	width : -webkit-calc(100% - 20px);
	width : calc(100% - 20px);;
	max-width: none;
}
.content02 {
	padding-top: 30px;
	padding-bottom: 30px;
}

.content02 .inner {
	width : -webkit-calc(100% - 20px);
	width : calc(100% - 20px);;
	max-width: none;
}

.sub_ttl01 {
	font-size: 18px;
	margin-bottom: 20px;
}
.sub_ttl02 {
	font-size: 18px;
	margin-bottom: 10px;
}
.sub_ttl03 {
	font-size: 12px;
	margin-bottom: 20px;
}
.sub_ttl04 {
	font-size: 18px;
	margin-bottom: 10px;
}
.sub_txt01 {
	font-size: 14px;
	line-height: 1.8em;
}
.sub_txt02 {
	font-size: 14px;
	line-height: 1.8em;
	text-align: left;
}
.sub_txt03 {
	font-size: 14px;
	line-height: 1.8em;
	text-align: left;
}
.sub_txt04 {
	font-size: 16px;
	line-height: 1.8em;
	text-align: left;
}

.sub_txt05 {
	font-size: 14px;
	line-height: 1.8em;
	text-align: left;
}
a.scrollpagetop {
	padding-top: 30px;
	width: 30px;
	background-size: 30px auto;
}


/*サブページ*/
#pagetitle {
	height: 200px;
}
#pagetitle.company {
	background-image: url(../../img/company/title_bg.jpg);	
}
#pagetitle h2 {
	font-size: 12px;
	top: 55%;
}
#pagetitle .en {
	font-size: 24px;
	line-height: 1em;
}
.breadcrumb {
   width : -webkit-calc(100% - 20px) ;
   width : calc(100% - 20px) ;
	max-width: none;
}


/*トップページ*/
#top_main {
	height:520px;
}
#top_main .txt01 {
	font-size: 44px;
}
#top_main .txt02 ,#top_main .txt05 ,#top_main .txt06{
	font-size: 34px;
	margin-bottom: 20px;
}
#top_main .txt03 {
	font-size: 14px;
	margin-bottom: 20px;
}
#top_main .txt04 {
	font-size: 10px;
}
#top_main .inner {
	padding-top: 70px;
	width : 100%;
}
video#bgvid {
	display: none;
}

#top_main .scroll {
	bottom: 40px;
}
#top_main .scroll a{
	font-size: 10px;
}
#top_main .scroll:after {
	height: 40px;
	bottom: -40px;
}

.top_txt01 {
	font-size: 14px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	text-align: left;
}

.top_txt02 {
	font-size: 14px;
	line-height: 1.8em;
	text-align: left;
}

#top_menu li {
	height: 100px;
}
#top_menu li .title:after{
	left: 10%;
	top: 10%;
	right: 10%;
	bottom:10%;	
}

#top_menu li .left{
	height: 100px;
}

#top_menu li .right{
	height: 100px;
}


#top_menu li a .en {
	font-size: 10px;
	position: absolute;
	left: 0%;
	bottom: 50%;
	width: 100%;
	line-height: 2.2em;
}
#top_menu li:nth-child(3) a .en,#top_menu li:nth-child(4) a .en {
	line-height: 1.1em;
}
#top_menu li a .jp {
	font-size: 14px;
	position: absolute;
	left: 0%;
	top: 55%;
	width: 100%;
}


.top_ttl01 {
	font-size: 18px;
	margin-bottom: 10px;
	text-align: center;
	display: block;
	padding-bottom: 10px;
}

.news_list01 dt {
	clear: none;
	float: none;
	width: auto;
	padding-top: 10px;
	padding-right: 0px;
	padding-bottom: 10px;
	padding-left: 0px;
	font-size: 14px;
}
.news_list01 dd {
	padding-top: 0px;
	padding-bottom: 20px;
	padding-left: 0px;
	margin-bottom: 10px;
}
.news_list01 dd a .jp {
	font-size: 14px;
}
.news_list01 dd a .en {
	font-size: 14px;
	line-height: 1.8em;
}

.more {
	width: 220px;
}

.news_list01 dt .cat {
	font-size: 12px;
	line-height: 1.6em;
	width: 100px;
	top: 10px;
}
.top_head01 .link01 {
	position: relative;
	width: 48%;
	left: auto;
	top: auto;
	float: left;
}
.top_head01 .link02 {
	position: relative;
	width: 48%;
	left: auto;
	top: auto;
	float: left;
	margin-left: 4%;
}
.top_head01 a {
	font-size: 14px;
	text-decoration: none;
	display: block;
	text-align: center;
	padding: 5px;
	border: 1px solid #DDDDDD;
}



/*企業情報*/
.company_ttl01 {
	font-size: 12px;
	line-height: 12px;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
}
.company_ttl02 {
	font-size: 16px;
	margin-top: 5px;
	margin-bottom: 10px;
}
.company_block01 {
	margin-bottom: 20px;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.border01 {
	margin-top: 40px;
	margin-bottom: 40px;
}
.company_ttl01.en {
	margin-bottom: 20px;
}
.company_img01 {
	margin-bottom: 20px;
}
.company_tbl01 table tr th {
	padding: 10px;
	width: 20%;
	font-size: 12px;
}
.company_tbl01 table tr td {
	padding: 10px;
	font-size: 12px;
}
.company_tbl01 table tr:nth-child(2n+2) th,.company_tbl01 table tr:nth-child(2n+2) td {
	
}
.company_tbl01 table tr td table tr th {
	display: block;
	width: auto;
	font-weight: bold;
}
.company_tbl01 table tr td table tr td {
	display: block;
	width: auto;
	margin-bottom: 10px;
}
.company_tbl01 table tr td table tr.last-child td {
	margin-bottom: 0px;
}

.gmap {
	margin-top: 30px;
	margin-bottom: 30px;
}
.gmap iframe {
	height: 300px;	
}

.company_address .more {
	margin-top: 20px;
	position: relative;
	right: auto;
	bottom: auto;
}



#special_advisor {
	background: #eaf3f8;
	padding: 6% 4%;
}
#special_advisor .clearfix {
	margin-bottom: 40px;
}
#special_advisor .f_l {
	float: none;
	width: 100%;
}
#special_advisor .f_r {
	float: none;
}
#special_advisor h2 {
	font-size: 22px;
	font-weight: bold;
	background: url(../../img/company/special_advisor_line.png) no-repeat left bottom;
	padding-bottom: 10px;
	margin-bottom: 6%;
}
#special_advisor h3 {
	color: #0f5ead;
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 3%;
}
#special_advisor h4 {
	font-size: 16px;
	font-weight: normal;
	line-height: 160%;
	margin-bottom: 30px;
}
#special_advisor ul {
	background: #fff;
	padding: 6% 4%;
}
#special_advisor li {
	font-size: 15px;
	line-height: 200%;
	margin-bottom: 10px;
}
#special_advisor .img {
	padding-top: 3%;
}
#special_advisor .e_text {
	font-size: 16px;
	font-weight: normal;
	line-height: 200%;
}
.spbr {
	display: inline;
}






/*お問い合わせ*/
#mailform table {
	width:100%;
	border:none;
	border-collapse:collapse;
}
#mailform table th ,
#mailform table td {
	border-bottom-style: none;
	display: block;
	width: auto;
	position: relative;
	padding: 10px;
	border-top-style: none;
}
#mailform table td {
	padding-right: 0px;
	padding-left: 0px;
}

#mailform input ,
#mailform textarea ,
#mailform select {
	padding:5px 10px;
	max-width:90%;
   width : -webkit-calc(100% - 12px) ;
   width : calc(100% - 12px) ;
}
#mailform label input {
	width:auto;
}
#mailform textarea { width:90%; border:none; }

#mailform .policy {
	border: 1px solid #BBB;
	height: 200px;
	padding: 1.5em;
	overflow-y: scroll;
	margin-bottom: 1.5em;
	margin-top: 50px;
	background-color: #FFFFFF;
}
#mailform table tr:first-child th ,
#mailform table tr:first-child td {
	border-top-style: none;
}
#mailform input, #mailform textarea, #mailform select {
	padding: 5px 10px;
	background-color: #FFF;
	border: 1px solid #ccc;
}
#mailform table span.required {

}
#mailform table span.must {

}

/*確認画面へ進むボタン用*/
#send_btn {
	text-align: center;
	padding-top: 0px;
	padding-bottom: 30px;
}
#send_btn .btn01 {
	margin-right: auto;
	margin-left: auto;
	display: block;
	margin-bottom: 20px;
}
#send_btn .btn02 {
	margin-right: auto;
	margin-left: auto;
	display: block;
	margin-bottom: 20px;
}
#send_btn .btn02 input {
	width: 280px;
	height: auto;
	background-position: right 10px center;
	background-size:20px auto;
}
#send_btn .btn01 {
	margin-bottom: 20px;
}
#send_btn .btn01 input {
	width: 280px;
	height: auto;
}

#mailform {
	padding: 0px;
	width: auto;

}

#mailform table tr th {
	width: auto;
	padding: 10px;
}
#mailform table tr td {
	width: auto;
	margin-bottom: 15px;	
}
#form_tbl {
	margin-bottom: 30px;
}
#mailform .mwform-checkbox-field label,#mailform .mwform-radio-field label {
	display: block;
	margin-top: 5px;
	margin-bottom: 5px;
}
#mailform .horizontal-item {
    margin-left: 0px !important;
}


/*理念*/
.philosophy_box01 {
	background-color: #EAF3F8;
	padding: 20px;
}
.philosophy_box02 {
	background-color: #FFFFFF;
	padding: 20px;
}
.philosophy_list01 li {
	margin-bottom: 20px;
	padding-left: 40px;
}
.philosophy_list01 li:before {
	line-height: 30px;
	height: 30px;
	width: 30px;
	font-size: 14px;
}

.philosophy_list01 li p {
	font-size: 14px;
}
.philosophy_list01 li .jp {
	margin-bottom: 5px;
}

.philosophy_list02 {
	width: auto;
	padding-top: 20px;
}
.philosophy_list02 li {
	margin-bottom: 20px;
	padding-left: 40px;
	padding-bottom: 20px;
	padding-right: 0px;
}

.philosophy_list02 li:before {
	line-height: 40px;
	width: 30px;
	font-size: 30px;
	left: 0px;
}

.philosophy_list02 li p {
	font-size: 14px;
}
.philosophy_list02 li .jp {
	font-size: 14px;
}


/*戦略*/
.strategy_box01 {
	padding-top: 20px;
	padding-right: 20px;
	padding-bottom: 50px;
	padding-left: 20px;
}
.strategy_box02 p {
	font-size: 12px;
}
.strategy_box02 {
	padding-top: 60px;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
	top: -30px;
}

.strategy_list01 li {
	float: none;
	width: auto;
	margin-left: 0%;
	margin-bottom: 10px;
}

.strategy_box03 {
	padding: 20px;
	margin-bottom: 40px;
}
.strategy_txt01 {
	padding-left: 20px;
	position: relative;
}
.strategy_list03 li {
	margin-bottom: 20px;
	padding-left: 40px;
}
.strategy_list03 li:before {
	line-height: 30px;
	height: 30px;
	width: 30px;
	font-size: 14px;
}

.strategy_list03 li p {
	font-size: 14px;
}
.strategy_list03 li .jp {
	margin-bottom: 5px;
}

.strategy_list02 {
	margin-bottom: 20px;
}
.strategy_list02 li {
	margin-bottom: 5px;
	padding-left: 20px;
	font-size: 14px;
	line-height: 1.6em;
}
.strategy_list02 li:before {
	content:'－' !important;
	line-height: 1.6em;
	height: auto;
	width: auto;
	font-size: 14px;
	font-weight: normal;
	color: #0F5EAD;
	position: absolute;
	left: 0px;
	top: 0px;
	background-color: transparent;
}

/*お知らせ*/
#entry-content h1 {
	font-size: 18px;
}
#entry-content h2 {
	font-size: 18px;
}
#entry-content h3 {
	font-size: 16px;
}
#entry-content h4 {
	font-size: 16px;
}
#entry-content h5 {
	font-size: 14px;
}
#entry-content h6 {
	font-size: 14px;
}
.info_title {
	font-size: 16px;
}


/*技術*/
.technologies_sec01 {
	margin-bottom: 30px;
}
.technologies_ttl01 {
	font-size: 16px;
}

.technologies_box02 {
	float: none;
	width: 240px;
	margin-right: auto;
	margin-left: auto;
}
.technologies_box01 {
	float: none;
	width: auto;
	margin-bottom: 20px;
}
.technologies_ttl02 {
	font-size: 16px;
	margin-bottom: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
}

.technologies_ttl02 .en {
	font-size: 14px;
}
.technologies_ttl03 {
	font-size: 14px;
	margin-bottom: 20px;
	text-align: center;
}
.technologies_ttl03 .en {
	font-size: 12px;
}
.technologies_ttl04 {
	font-size: 16px;
	padding: 10px;
	margin-bottom: 20px;
}
.technologies_ttl04 .en {
	font-size: 14px;
}

.technologies_tbl01 table tr th {
	width: auto;
	font-size: 14px;
	background-color: transparent;
	display: block;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #D2D2D2;
	border-bottom-style: none;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 0px;
	padding-left: 10px;
}
.technologies_tbl01 table tr td {
	font-size: 14px;
	border-bottom-style: none;
	margin-bottom: 15px;
	display: block;
	padding: 10px;
	width: auto;
}
.technologies_tbl01 table tr:nth-child(2n+2){
	background-color: #F0F2F5;	
}
.technologies_tbl01 table tr th:nth-child(2) ,.technologies_tbl01 table tr td:nth-child(2) {
	background-color: transparent;
	border-right-style: none;
	border-left-style: none;
}
.technologies_tbl01 {
	margin-bottom: 40px;
	background-color: #FFFFFF;
}

.technologies_ttl05 {
	font-size: 16px;
	margin-bottom: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
	text-align: center;
	line-height: 30px;
}

.technologies_ttl05 .en {
	font-size: 14px;
	margin-left: 0px;
	line-height: 30px;
	display: block;
	padding-top: 5px;
}
.technologies_ttl06 {
	font-size: 14px;
	font-weight: bold;
	color: #0F5EAD;
	margin-bottom: 20px;
	text-align: center;
	line-height: 1.6em;
}
.technologies_ttl06 .en {
	font-size: 12px;
	line-height: 1.6em;
	margin-left: 0px;
	display: block;
	padding-top: 5px;
}

.technologies_list01 li .image {
	margin-bottom: 10px;
}
.technologies_list01 li .image img{
	width:100%;
}
.technologies_list01 li .jp {
	font-size: 16px;
	line-height: 1.6em;
	font-weight: bold;
}
.technologies_list01 li .en {
	font-size: 14px;
	line-height: 1.6em;
}
.technologies_list01 li {
	float: none;
	width: auto;
	margin-bottom: 30px;
	margin-left: 0%;
}

.technologies_tbl01.sp {
	padding-top: 0px;
}
.technologies_ttl07 {
	color: #FFFFFF;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	background-color: #0F5EAD;
	padding: 10px;
}



/*20210630*/

.movie_wrap {
	
}
.movie_wrap ul {
	display: block;
	justify-content: space-between;
}
.movie_wrap li {
	display: inline-block;
	width: 100%;
	margin-bottom: 4%;
}
.movie_wrap li iframe {
	max-width: 100%;
}


