﻿/*basic_003*/

@charset "utf-8";

body.ft01, body.ft01 #setting_modal .heading_design *{
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-size: 1.4rem;
	color:#333;
	}


/*common
------------------------------------------*/
a{ color: #0c0e59; }

a.btn01{
	display: inline-block !important;
	width: auto !important;
	background: linear-gradient(to bottom, #586182 0%,#1a2038 100%);
	border-radius: 30px;
	color: #fff !important;
	padding: 10px 40px;
	position: relative;
	text-align: center;
	}

a.btn01::before{
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	left: 15px;
	top: 50%;
	margin-top: -2px;
	}

a.btn01:hover{
	opacity: 0.6;
	}

.contents_btn01 a{
	display: inline-block!important;
	width: auto !important;
	background: linear-gradient(to bottom, #586182 0%,#1a2038 100%)!important;
	border-radius: 30px!important;
	color: #fff !important;
	padding: 10px 40px!important;
	position: relative!important;
	text-align: center!important;
	}

.contents_btn01 a::before{
	content: "";
	display: block;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	position: absolute;
	left: 15px;
	top: 50%;
	margin-top: -2px;
	}

.contents_btn01 a:hover{
	opacity: .6!important;
	}


/*header
------------------------------------------*/
header{
	background-color: #fff;
	}
	
header h1{
	font-size: 1rem;
	font-weight: normal;
	line-height: 1;
	text-align: left;
	position: static !important;
	width: 100%;
	margin: 15px 0;
	}

header .logo, header .logo a{
	max-width: inherit;
	}

header .logo{
	padding: 0;
	width: auto;
	}

header .logo a img{
	height: 50px;
	}

header .wraper, header.width_full .wraper{
	padding: 0;
	}

header .wraper>.inner{
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0 0 20px;
	}

header .header_contents{
	width: auto;
	padding: 0;
	margin: 0;
	}


/* ボタン */
header .header_contents .header_col1 .btn{
	margin: 0;
	}

header .header_contents .header_col1 .btn a{
	background-color: #09537c;
	color: #fff !important;
	font-weight: bold;
	line-height: 45px;
	text-decoration: none;
	padding: 0 15px;
	margin: 0 0 0 10px !important;
	position: relative;
	z-index: 2;
	width: auto;
	}

header .header_contents .header_col1 .btn a:hover{
	opacity: 0.6;
	}


/* 電話番号・住所 */
header .header_contents .header_col1 .tel{
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1;
	margin: 0 15px 0 0;
	padding: 0;
	}

header .header_contents .header_col1 .tel svg{
	position: static;
	display: inline;
	width: 20px;
	}

header .header_contents .header_col1 .tel .teli{
	padding: 5px 0 0;
	text-align: right;
	}

header .header_contents .header_col2{
	font-size: 1.2rem;
	margin-top: 10px;
	width: 100%;
	}

header .header_contents .header_col2 .add{
	margin: 0;
	}

header .header_contents .header_col2 .add br{
	display: none;
	}


/* google翻訳機能（言語切り替え） */
header .header_contents .header_col1 .btn .translate{
	position: static;
	width: 45px;
	height: 45px;
	}

header .header_contents .header_col1 .btn .translate a{
	position: static;
	padding: 0;
	background: none;
	color: #09537c !important;
	text-align: center;
	}
header .header_contents .header_col1 .btn .translate i{
	line-height: 45px;
	}


/* SNSアイコン */
header .header_contents .header_sns{
	padding: 0;
	position: absolute;
	right: 0;
	top: 10px;
	width: auto;
	}

header.width_full .header_contents .header_sns{
	padding: 0 15px 0 0;
	}

header .header_contents .header_sns ul{
	width: auto;
	max-width: inherit;
	margin: 0;
	}

header .header_contents .header_sns li{
	width: auto;
	height: auto;
	margin: 0 0 0 10px;
	}

header .header_contents .header_sns li i{
	font-size: 20px;
	color: #666;
	}


/* Gナビ */
#menu_head{
	border-top: 2px solid #0c0e59;
	border-bottom: 1px solid #fff;
	}

header nav{
	background: linear-gradient(to bottom, #ffffff 30%,#e6e6e6 100%) !important;
	}

header nav ul.nav_1st>li>a{
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
	color: #333;
	padding: 20px 0;
	}

header nav ul.nav_1st>li>a span{
	display: block;
	border-left: 1px solid #ddd;
	border-right: 1px solid #fff;
	line-height: 1;
	}

header nav ul.nav_1st>li>a:hover{
	background-color: #f5f5f5;
	opacity: 1;
	}

header nav ul.nav_1st>li>a:hover span{
	color: #1a2038 !important;
	}

header nav ul.nav_1st > li:after,
header nav ul.nav_1st > li:last-child:before{
	content: none;
	}




/*footer
------------------------------------------*/
footer{
	background-color: #f5f5f5;
	}

footer .logo{
	text-align: center;
	width: auto;
	}

footer .logo img{
	height: 30px;
	}

footer .sns{
	display: block;
	text-align: center;
	}

footer .sns li{
	display: inline-block;
	width: 3em;
	padding: 10px;
	}

footer .sns svg,
footer .sns i{
	padding: 5px;
	width: auto !important;
	height: auto !important;
	color: #666;
	}

footer #cp{
	font-size: 1.2rem;
	text-align: center;
	padding: 20px;
	border-top: 1px solid #ccc;
	}

/* 追従フッター */
#fixbtn{
	min-height: 0;
	}

#fixbtn .tel a{
	color: #fff !important;
	}

#fixbtn .fixbtnwrap{
	background-color: #09537c;
	}

#fixbtn .inner>div{
	color: #fff;
	}

#fixbtn .fixbtntel a, #fixbtn .fixbtntel span{
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 2px;
	height: auto;
	margin-right: 20px;
	color: #fff;
	}

#fixbtn .fixbtnwrap .contents_btn01 a{
	background-color: #fff;
	text-decoration: none;
	font-weight: bold;
	line-height: 1;
	color: #09537c;
	}

#fixbtn .fixbtnwrap .contents_btn01 a:hover{
	opacity: 0.6;
	}

#fixbtn .contents_btn01 span{
	padding: 10px;
	}

#fixbtn .fixbtntel,
#fixbtn .contents_btn01{
	border: none;
	}

/* ページトップへ */
#fixbtn #scrolltop{
	position: fixed;
	right: 30px;
	bottom: 30px;
	}

#fixbtn #scrolltop a{
	width: 50px;
	height: 50px;
	background-color: #0c0e59;
	}

#fixbtn #scrolltop a::before{
	width: 15px;
	height: 15px;
	border: none;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	left: 50%;
	top: 20px;
	transform: translateX(-50%) rotate(-45deg);
	}



/*top
------------------------------------------*/
#mv_outer .mainvisual{
	border-bottom: 2px solid #fff !important;
	box-shadow: 0px 5px 10px 0px rgba(0,0,0,0.1);
	background-size:cover;
	background-repeat: no-repeat;
	background-position: center;
	text-align: center;
	position: relative;
	z-index: 2;
	}

.composite_box01.block_images_1.block_image_text2 .wrapper_item .inner_item{
	background: #f5f5f5;
	border-radius: 5px;
	padding: 20px;
	}

.composite_box01.block_images_1.block_image_text2 .wrapper_item .inner_item a.btn01{
	display: block !important;
	}

.block_news_1 .heading.block_header_1{
	border-bottom: 2px solid #0c0e59;
	border-radius: 5px 5px 0 0;
	background: linear-gradient(to bottom, #f5f5f5 30%,#e6e6e6 100%);
	padding: 10px 15px;
	margin-bottom: 0;
	}

.block_news_1 .content_wrapper ul li{
	border-top: none !important;
	}


/*subpage
------------------------------------------*/
#lv{
	height: 200px;
	}

#lv div{
	opacity: 0.6;
	}

#lv p span:before,
#lv p span:after{
	content: none;
	}

.parallax{
	box-shadow: none;
	}

.parallax_img{
	filter: none;
	}

#pan{
	border: none;
	background: #f5f5f5;
	}

#pan ul{
	justify-content: flex-start;
	padding: 7px 20px;
	}

#pan ul li{
	padding: 0;
	}

#pan ul li:first-child{
	padding-left: 0;
	}

#pan ul li:before, #pan ul li:after{
	content: "/";
	border: none;
	transform: rotate(0);
	display: inline;
	position: static;
	margin: 0 10px;
	}

#pan ul li:after{
	content: none;
	}


/*parts
------------------------------------------*/
#sidebar section, #sidebar > div{
	border-bottom: none;
	padding: 0;
	}

#sidebar .sidebar_list{
	border-top: 1px dotted #ccc;
	}

#sidebar .sidebar_list li{
	margin: 0;
	border-bottom: 1px dotted #ccc;
	}

#sidebar .sidebar_list a{
	padding: 15px 15px 15px 30px !important;
	display: block;
	}

#sidebar .sidebar_list a:hover{
	background-color: #fbfcd2;
	}

#sidebar .sidebar_list a:before, #local_side_nav .sidebar_list a:before{
	left: 15px;
	border-color: #0c0e59;
	}

.contents_box01.block_text_1 .heading.block_header_1{
	background-color: #f5f5f5;
	border-left: 5px solid #0c0e59;
	padding: 15px 20px 10px;
	margin-bottom: 15px;
	}

.contents_box01.block_text_1 .heading.block_header_1 .h{
	font-weight: bold;
	}

.heading.block_header_1 p, .heading.block_header_6 .h{
	font-weight: bold;
	}

.heading.block_header_3{
	background: #f5f5f5;
	border-bottom: 2px solid #0c0e59;
	padding: 20px;
	display: flex;
	align-items: flex-end;
	}

.heading.block_header_3 .h{
	color: #333 !important;
	font-size: 3rem;
	margin-right: 10px;
	}

.heading.block_header_3 p{
	color: #0c0e59 !important;
	}

.blockarea.block_header .heading.block_header_4 .h{
	border-bottom: 2px solid #0c0e59;
    background: linear-gradient(to bottom, #ffffff 30%,#e6e6e6 100%);
	font-size: 2.6rem;
	padding: 15px;
	}

.heading.block_header_4 p{
	font-weight: bold;
	}

.heading.recruit-title h3{
	border-left: 5px solid #0c0e59;
	}

.heading.recruit-title{
	border: none;
	background: #f5f5f5;
	}

.recruit_info .detail .block_table_3 table th{
	background: #f5f5f5;
	}

.widget_shop01.block_map_1 .heading.block_header_4,
.widget_map.block_map_1 .heading.block_header_4{
	background-color: #f5f5f5;
	border-left: 5px solid #0c0e59;
	padding: 15px 20px 10px;
	}

.widget_shop01 dt{
	background-color: #f5f5f5;
	padding-left: 10px;
	font-weight: bold;
	}

.widget_sitemap .content_wrapper>ul>li>a:before{
	background: #0c0e59;
	}

.widget_sitemap .content_wrapper>ul>li li>a:after{
	border-color: #0c0e59;
	}

.widget_sitemap .heading.block_header_1{
	display: none;
	}

.widget_form form .submit input{
	font-size: 1.4rem;
	line-height: 1;
	background: #09537c;
	padding: 15px;
	}

.widget_form form .submit input:hover{
	opacity: 0.6;
	}

.widget_form form select{
	font-size: 1.4rem;
	}

.widget_form form dd p{
	font-size: 1.2rem;
	margin-top: 5px;
	}

.widget_form form dd p.error{
	font-weight: bold;
	}

.pager2 li a{
	background: linear-gradient(to bottom, #586182 0%,#1a2038 100%);
	border-radius: 30px;
	color: #fff !important;
	}

main form .submit span,
main form .submit span:hover{
	background: none;
	}

.contents_box01.block_image_text_3 .heading.block_header_2,
.contents_box01.block_image_text_4 .heading.block_header_2{
	background-color: #f5f5f5;
	border: none;
	padding: 15px 20px 10px;
	}

.contents_box01.block_image_text_3 .heading.block_header_2::before,
.contents_box01.block_image_text_4 .heading.block_header_2::before{
	width: 5px;
	height: 20px;
	background: #0c0e59;
	margin-top: -10px;
	top: 50%;
	left: 0;
	}

.contents_faq01 dt{
	font-size: 1.8rem;
	font-weight: bold;
	padding-left: 25px;
	}

.contents_faq01 dt:before{
	font-family: 'Roboto', sans-serif;
	font-size: 2.4rem;
	color: #708193;
	}

.contents_faq01 dd{
	padding-left: 0;
	}

.contents_faq01 dd:before{
	content: none;
	}

.heading.block_header_6{
	background: #f5f5f5;
	border-top: 2px solid #0c0e59;
    border-bottom: 1px solid #ccc;
    padding: 15px;
	margin: 0;
	}

.heading.block_header_1, .heading.block_header_6 .h{
	margin: 0;
	padding: 0;
	}

.heading.block_header_1 p:before, .heading.block_header_6 .h:before{
	content: none;
	}

.heading.block_header_6 .header_subheadline{
	display: none;
	}

#primary article{
	margin-bottom: 20px;
	}

article .entry_header .heading.block_header_2{
	margin-bottom: 0;
	}

article .entry_header .heading.block_header_2 a{
	color: #0c0e59 !important;
	}

article .entry_header .heading.block_header_2 h5{
	display: none;
	}

.block_button_1 .content_wrapper a{
	background-color: #09537c;
	color: #fff !important;
	}



/*tablet
================================================================================================================================*/
@media screen and (max-width: 900px){


/*header
------------------------------------------*/
header{
	background: #fff;
	height: auto;
	}

header .wraper, header.width_full .wraper{
	padding: 0;
	width: 100%;
	}

header .wraper>.inner{
	padding: 0 15px;
	}

header .logo a img{
	max-width: initial;
	}

header .header_contents .header_col2 .add{
	text-align: center;
	}

header .header_contents{
	padding: 0 !important;
	}

header .header_sns, header .header_contents .header_col1, header .header_contents .header_col2{
	border: none;
	}


/* Gナビ */
header nav ul.nav_1st{
	margin-bottom: 0;
	}

header nav ul.nav_1st > li{
	background: linear-gradient(to bottom, #ffffff 30%,#e6e6e6 100%) !important;
	}

header nav ul.nav_1st > li > a{
	display: block;
	text-align: center;
	}

header nav ul.nav_1st>li>a span{
	border: none;
	}

header .header_contents .header_col2{
	border: none;
	}

header .header_contents .header_col1 .btn{
	position: static;
	}


/* google翻訳機能（言語切り替え） */
header .burger li.sp_payment a, header .burger li.sp_translate a{
	padding: 0;
	}


/*top
------------------------------------------*/
.block_news_1 ul{
	width: 100%;
	}




/*parts
------------------------------------------*/
.column2 #sidebar{
	border: none;
	padding: 0 !important;
	}




}




/*sp
================================================================================================================================*/
@media screen and (max-width: 640px){


/*header
------------------------------------------*/
header .logo{
	max-width: 85% !important;
	}

header .logo a img{
	max-width: 100%;
	height: auto;
	}


/*footer
------------------------------------------*/
footer .logo, footer .sns{
	margin-bottom: 20px;
	}

footer .logo img{
	height: auto;
	width: 70%;
	}

footer #cp{
	padding: 5px;
	}


/*top
------------------------------------------*/


/*subpage
------------------------------------------*/
#lv{
	height: 100px;
	}


/*parts
------------------------------------------*/
.block_news_1 ul{
	width: 100%;
	}

.sidebanner ul{
	display: block;
	}

.sidebanner ul li{
	width: 100%;
	margin: 0 0 10px;
	text-align: center;
	}

.width_fixed .content_wrapper{
	max-width: 90% !important;
	}

.widget_sitemap .content_wrapper{
	max-width: initial !important;
	}

}