@charset "utf-8";

.accordion dl dd{display: none;}

/*base
------------------------------------------------------------*/
.transition-filter{pointer-events: none;}
.transition-filter >div { max-width: 130vw;}
.transition-filter >div img { width: 100%; height: auto;}

.transition-filterbefore1 { position: fixed; top: 50%; transform: translateY(-50%); right: -15vw; left: -15vw; z-index: 10000; transition: all 1s;}
.transition-filterbefore2 { position: fixed; top: 50%; transform: translateY(-50%); right: -15vw; left: -15vw; z-index: 10001; transition: all 1s .2s;}
body.page-loaded .transition-filterbefore1,
body.page-loaded .transition-filterbefore2 { right: -130vw; left: 100vw; transform: translateY(-50%) rotate(20deg);}

.transition-filterafter1 { position: fixed; top: 50%; transform: translateY(-50%); right: 100vw; left: -130vw; z-index: 10000; transition: all 1s;}
.transition-filterafter2 { position: fixed; top: 50%; transform: translateY(-50%); right: 100vw; left: -130vw; z-index: 10001; transition: all 1s .2s;}
body.page-transition .transition-filterafter1,
body.page-transition .transition-filterafter2 { right: -15vw; left: -15vw; transform: translateY(-50%) rotate(20deg);}

/*@media screen and (max-width: 480px){
	body.page-loaded .transition-filterbefore1,
	body.page-loaded .transition-filterbefore2{right: -25vw;}
}*/
@media screen and (max-width: 768px){
	.transition-filter { display:none !important;}
}

/* 共通のCSS 
ーーーーーーーーーーーーーーーーーーーー*/

* + .p-caution{margin-top: 8px;}
.column_leftWrap p + p,
.column_leftWrap p + .sp_tableScroll{margin-top: 1em;}


main{padding-top: 93px; padding-bottom: 80px;}
#main_contentWrap{
	max-width: 1200px;
	width: auto;
	margin: 0 auto;
	padding: 0 15px;
}
figure{}
figure figcaption{text-align: right; font-size: 0.8rem;}
figure figcaption b{font-size: 1rem; font-weight: normal; line-height: 1.5;}
figure.w500{max-width: 500px; margin: 20px auto; text-align: center;}
figure.w700{max-width: 700px; margin: 20px auto; text-align: center;}
figure.imgcenter{text-align: center;}

.align_right{text-align: right;}
.align_center{text-align: center;}
.after_clear:after{content: ""; display: block; clear: both;}
.wrap_1200{max-width: 1200px; width: auto; margin: 0 auto; padding: 0 15px;}
p.p-caution{font-size: 85%; line-height: 1.75; padding-left: 20px;}
.asterisk{position: relative;}
.asterisk:before{content: "※"; position: absolute; left: 2px; top: 0;}
ul.leftPoint_list li:nth-child(odd):before{content: "・";}
ul.leftPoint_list li:nth-child(even):before{content: ""; padding-left: 8px;}

.leftPoint_box{margin: 1em 0;}
.leftPoint_box p{
    position: relative;
    padding-left: 1em;
    text-indent: -1em;
}
/*.leftPoint_box p:before{content: "・"; position: absolute; left: 5px;}*/

/*メインビジュアルが 左右カラムの上にくる場合*/
.underlayer_mainvisual{margin-top: 40px;}

@media screen and (max-width: 1000px){
	main{padding-top: 110px;}
}

@media screen and (max-width: 700px){
	main{padding-top: 60px; padding-bottom: 40px;}
}

/* パンくずの設定 ーーーーーーーーーー*/
.pankuzuWrap{padding: 0 24px;}
#pankuzu{padding: 10px 0;}
#pankuzu ul{margin: 0;}
#pankuzu ul li{display: inline-block;}
#pankuzu ul li a,
#pankuzu ul li span{font-size: 12px;}
#pankuzu ul li:after{content: ""; display: inline-block; margin: 0 5px 2px;
	width: 5px; height: 5px; border-top:1px solid #222; border-right:1px solid #222; transform: rotate(45deg);}
#pankuzu ul li:last-child:after{display: none;}

@media screen and (max-width: 640px){
	.pankuzuWrap{padding: 0 15px;}
}

/* カラムの設定 ーーーーーーーーーー*/
#column_wrap{padding-top: 60px;}
#column_wrap:after{content: ""; display: block; clear: both;}
#column_left{float: left; width: 870px;}
#column_right{float: right; width: 270px;}
#column_wrap.none_column_right #column_left{float: none; width: 100%;}

/* 左カラムの設定 ーーーーーーーーーー*/
#column_left .column_leftWrap{padding: 40px; background: #f3f4f5;}
.column_leftWrap .column_leftBox{padding-top: 60px;}
.column_leftWrap .column_leftBox:nth-child(1){padding-top: 0;}
.p-left_bgnoneBox{margin-top: 30px;}
.p-left_whiteBox{background: #fff; padding: 30px; margin-top: 30px;}
.p-left_whiteBox:nth-child(1){margin-top:0;}

.p-con_package:after{content: ""; display: block; clear: both;}
.p-con_package_left{float: left; padding-left: 0;}
.p-con_package_right{float: right; padding-right: 0;}

.column_leftBox table{margin-top: 20px; width: 100%; border-top:1px solid #dedede; border-left: 1px solid #dedede; table-layout: fixed;}
.column_leftBox table:nth-child(1){margin-top: 0;}
.column_leftBox table tr th{vertical-align: middle; border-bottom:1px solid #dedede; border-right: 1px solid #dedede; background: #f2f2f2; text-align: center; padding: 5px 10px;}
.column_leftBox table tr td{vertical-align: middle; border-bottom:1px solid #dedede; border-right: 1px solid #dedede; background: #fafafa; text-align: center; padding: 5px 10px;}
.column_leftBox table tr.table-blueLine th,
.column_leftBox table tr.table-blueLine td{border-bottom:1px solid #165486;}
.column_leftBox table.align_left tr th,
.column_leftBox table.align_left tr td{text-align: left;}
/*↓均等配列にしない場合*/
.column_leftBox table.not_fixed{table-layout: auto;}

/*↓thのみ中央揃え*/
.column_leftBox table.th_center tr th{text-align: center;}

/*↓緑の見出しのtable*/
.column_leftBox table tr.table-greenTH th{text-align: center; background: #6bbd99; color: #fff;}

/*↓何もデザインのないtable*/
.column_leftBox table.no_design{text-align: left; table-layout: auto; border: none;}
.column_leftBox table.no_design tr th,
.column_leftBox table.no_design tr td{border: none; background: transparent; text-align: left;}

.column_leftBox table tr th.combination_th{border-right: none;}
.column_leftBox table tr th.combination_th_col{border-left: 1px solid #dedede;}


.category_listWrap:after{content: ""; display: block; clear: both;}
.category_listWrap .p-category_listBox{padding-top:30px;}
.category_listWrap .p-category_listBox:nth-child(odd){padding-left: 0;}
.category_listWrap .p-category_listBox:nth-child(even){padding-right: 0;}
.category_listWrap .p-category_listInner{background: #fff; padding: 30px;}

.column_leftBox ol li{padding-top: 20px;}

/*囲み*/
.enclosure{border: 2px solid #e0e0e0; padding: 15px; margin: 30px 0;}


@media screen and (max-width: 640px){
	/*SPではスクロールする*/
	.sp_tableScroll{overflow: scroll;}
	.sp_tableScroll table{width: 800px;}
}

/* 右カラムの設定 ーーーーーーーーーー*/
#column_right{border-top: 2px solid #4d4d4d; border-bottom: 1px solid #ddd;}
.p-right_nav1 ul li{ position: relative; border-top: 1px solid #ddd;}
.p-right_nav1 ul li a{font-size: 0.93rem; font-weight: 700; color: #222; display: block; padding: 20px 15px;}
.p-right_nav1 ul li a:hover{background: #165486; color: #fff;}
.p-right_nav1 ul li a span:before{content: ""; display: inline-block; margin-right: 10px; width: 10px; height: 10px; 
	border-top:2px solid #165486; border-right:2px solid #165486; transform: rotate(45deg);}
.p-right_nav1 ul li a:hover span:before{border-top:2px solid #fff; border-right:2px solid #fff;}


.p-right_nav2{}
.p-right_nav2 dl{margin-bottom: 0;}
.p-right_nav2 dl dt{font-size: 0.93rem; background: #fff; padding: 20px 15px; transition:0.3s; border-top: 1px solid #ddd; cursor: pointer;}
.p-right_nav2 dl dt:hover{opacity: 0.7;}
.p-right_nav2 dl dt span:before{content: ""; display: inline-block; transition:0.3s; margin-right: 10px;
	width: 10px; height: 10px; border-top:2px solid #165486; border-right:2px solid #165486; transform: rotate(45deg);}
.p-right_nav2 dl dt.open{background:#165486; color: #fff;}
.p-right_nav2 dl dt.open span:before{border-top:2px solid #fff; border-right:2px solid #fff; transform: rotate(135deg);}
.p-right_nav2 dl dd{background: #f3f4f5; padding: 20px;}
.p-right_nav2 dl dd ul li{padding-top: 10px;}
.p-right_nav2 dl dd ul li a{font-size: 0.9rem;}
.p-right_nav2 dl dd ul li:nth-child(1){padding-top: 0;}


@media screen and (max-width: 1200px){
	#column_left{ width: 74%;}
	#column_right{ width: 23%;}
}

@media screen and (max-width: 991px){
	#column_left .column_leftWrap{padding:40px 20px;}
	.p-con_package_left{padding-right:0; margin-bottom: 20px; float: none;}
	.p-con_package_right{padding-left:0; float: none;}
	.category_listWrap .p-category_listBox:nth-child(odd){padding-right:0;}
	.category_listWrap .p-category_listBox:nth-child(even){padding-left:0;}
	
}

@media screen and (max-width: 640px){
	#column_left .column_leftWrap{padding:40px 15px;}
	#column_left{float: none; width: 100%;}
	#column_right{float: none; width: 100%;}
	.category_listWrap .p-category_listInner{padding: 20px 15px;}
	.p-left_whiteBox{padding: 20px 15px;}
}


/* タイトルのCSS 
ーーーーーーーーーーーーーーーーーーーー*/
h2.t-page_bigTitle{font-size: 1.8rem; margin: 0; padding: 10px 0 0; line-height: 1.5;}

h3.t-left_mainTitle{font-size: 1.6rem; margin: 0; line-height: 1.5;}
h3.t-left_mainTitle a{color: #333;}
h3.t-right_mainTitle{text-align: center; font-size: 1.4rem; margin: 20px 0;}

.t-right_blueLine{text-align: center; color: #165486; letter-spacing: 1px; font-size: 1.06rem; margin: 10px 0;}
.t-right_blueLine:before{ content: ""; width: 10px; height: 1px; background: #165486; vertical-align: middle; display: inline-block; margin-right: 5px; margin-left: 5px;}
.t-right_blueLine:after{ content: ""; width: 10px; height: 1px; background: #165486; vertical-align: middle; display: inline-block; margin-right: 5px; margin-left: 5px;}

h4.t-blue_line{font-size: 1.06rem; line-height: 1.5; color: #165486; border-bottom: 1px solid #165486; padding-bottom: 20px; margin: 25px 0 15px;}
h4.t-blue_line:nth-child(1){margin: 0 0 15px;}
h4.t-blue_line a{display: block; position: relative; color: #165486;}
h4.t-blue_line a:before{content: ""; position: absolute; right: 0; top:0; bottom: 0; margin: auto; width: 30px; height: 1px; background: #165486;}
h4.t-blue_line a:after{content: ""; position: absolute; right: -2px; top:0; bottom: 9px; margin: auto; width: 13px; height: 1px; background: #165486; transform: rotate(45deg);}

h4.t-black_bold{font-size: 1.06rem; line-height: 1.6; /*margin: 36px 0 15px;*/ margin: 40px 0 15px;}
h4.t-black_bold:nth-child(1){margin: 0 0 15px;}
h4.t-blue_line + h4.t-black_bold{ margin-top: 25px; }

h5.t-grayLine{font-size: 1.06rem; padding: 15px; border-bottom: 1px solid #ddd;}

/*青いラインとグレーのラインに挟まれるタイトル*/
.blueLine_grayLine_title{border-top: 2px solid #165486; border-bottom: 1px solid #ddd; color: #165486; font-size: 1.06rem; font-weight: normal;
	position: relative; margin: 0;}
.blueLine_grayLine_title a{color: #165486; font-size: 1.06rem; display: block; padding: 20px;}
.blueLine_grayLine_title a:after{content: ""; display: block; width: 8px; height: 8px; border-top: 2px solid #165486; border-right: 2px solid #165486; 
	transform: rotate(45deg); position: absolute; right: 20px; top: 0; bottom: 0; margin: auto;}


/* リンク 
ーーーーーーーーーーーーーーーーーーーー*/
p a,
table tr th a,
table tr td a{color: #337ab7;}
table tr th a[target="_blank"],
table tr td a[target="_blank"]{color: #333;}

/*外部リンクアイコン*/
p a[target="_blank"]:before,
table tr th a[target="_blank"]:before,
table tr td a[target="_blank"]:before{content: url("../../../img/elements/externalLink.svg"); display: inline-block; margin-right: 8px; vertical-align: middle;}
a.icon_none:before{display: none !important;}
.targetLink{margin-top: 10px; display: block;}
.targetLink:before { content: ""; display: inline-block;
    background: url(../../../img/elements/icon_blank.png) no-repeat center center;
    width: 14px; height: 12px; margin-right: 8px;
}
table tr th a.text_blue,
table tr td a.text_blue{color: #337ab7;}

/*PDFアイコン*/
a[target="_blank"].pdf_icon{margin-top: 10px; display: block;}
a[target="_blank"].pdf_icon.inline{display: inline-block;}
a[target="_blank"].pdf_icon:before{ content: ""; display: inline-block;
    background: url(../../../img/pages/cms/icon_download.png) no-repeat left center;
    background-size: contain;
    width: 20px; height: 20px; margin-right: 8px;
}
.no_icon:before{display: none !important;}/*頭のアイコンを消す場合*/

/*下矢印*/
ul.arrow_e259 li:before {
	font-family: 'Glyphicons Halflings';
	content: "\e259";
	font-size: 10px;
	margin-right: 10px;
	color: #165486;
	background: none;
	border-radius: 50%;
	padding: 3px;
}

/*内部リンク*/
a.pageLink{padding-left: 5px;}
a.pageLink:before{
	content: url("../../../img/elements/externalLink.svg");
	margin-right: 5px;
}

/*a.temp_link_01{background: url(../../../img/elements/icon_arrow_05.png) no-repeat left center;
	background-size: 4px auto;
    padding-left: 12px;
    color: #333333;}*/
a.temp_link_01:before{	content: url("../../../img/elements/externalLink.svg"); margin-right: 5px;}


/* 余白
ーーーーーーーーーーーーーーーーーーーー*/
.pa_left20{padding-left: 20px;}

.mg_top20{margin-top: 20px;}
.mg_top80{margin-top: 80px;}


/* 企業理念 
ーーーーーーーーーーーーーーーーーーーー*/
.corporate_philosophy_box{border: 5px solid #f3f4f5; padding: 30px 10px; margin: 15px 0; text-align: center;}
.corporate_philosophy_box h4.t-black_bold{font-size: 3rem;}
.corporate_philosophy_box p{text-align: center; font-size: 1.4rem; line-height: 2.6;}

@media screen and (max-width: 640px){
	.corporate_philosophy_box h4.t-black_bold {font-size: 1.6rem;}
	.corporate_philosophy_box p{font-size: 0.8rem;}
}


/* 各トップページ 英語つきのリンク
ーーーーーーーーーーーーーーーーーーーー*/
.doorLink_box{position: relative; overflow: hidden;}
.doorLink_box a{display:block; height: 100%;}
.doorLink_box a:hover{opacity:1;}
.doorLink_box .doorLink_title{position: absolute; z-index: 2; color: #fff; line-height: 1.4; bottom: 30px; left: 0; right: 0; margin: 0 40px; font-size: 1.06rem;}
.doorLink_box .doorLink_cap{position: absolute; z-index: 2; bottom: 0; color: #fff; font-size: 10px; background: rgba(0, 0, 0, 0.7); padding: 0 5px;}
.doorLink_box .doorLink_title b{ font-family: 'Lato'; font-weight: 100; display: block; font-size: 2.4rem; line-height: 1; margin-bottom: 8px;}
.doorLink_box .doorLink_title:before{content: ""; width: 10px; height: 1px; background: #fff; display: block;
		position: absolute; right: 0; bottom: 4px; transform: rotate(45deg);}
.doorLink_box .doorLink_title:after{content: ""; width: 30px; height: 1px; background: #fff; display: block;
		position: absolute; right: 0; bottom: 0;}
.doorLink_box .noLink a { pointer-events: none !important;}
.doorLink_box .noLink .doorLink_title:before,
.doorLink_box .noLink .doorLink_title:after {
	display: none;
}

.doorLink_box a .imageBox:after{ content: ""; background: rgba(62, 62, 62, 0.6); transition: 0.3s;
    position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 1;}
.doorLink_box a:hover .imageBox:after{opacity: 0;}
.doorLink_box a .imageBox img{position: relative; z-index: 1; transition: 0.3s;}
.doorLink_box a:hover .imageBox img{transform: scale(1.1);}

@media screen and (min-width:992px) and (max-width: 1220px){
	.doorLink_box .doorLink_title:before{bottom:-4px;}
	.doorLink_box .doorLink_title:after{bottom:-8px;}
}
@media screen and (min-width:992px) and (max-width: 1150px){
	.doorLink_box a .imageBox img{transform: scale(1.2); transform-origin: center; bottom: -20px;}
	.doorLink_box a:hover .imageBox img{transform: scale(1.3);}
}



body.sitemap .p-left_whiteBox ul li:before{
	font-family: 'Glyphicons Halflings';
	content: "\e258";
	font-size: 12px;
	margin-right: 10px;
	color: #337ab7;
}
body.sitemap .p-left_whiteBox ul li ul li {
  margin-left: 30px;
}
.ac_list {margin-top: 15px;}
.ac_list li:before {
	font-family: 'Glyphicons Halflings';
	content: "\e114";
	font-size: 12px;
	margin-right: 10px;
	color:#337ab7;
}
.inquiry_area {margin-top:15px;}
.inquiry_area a{
	width: 300px;
	background: #337ab7;
	color: #fff;
	display: block;
	font-size: 120%;
	margin: 0 auto;
	padding: 10px;
	position: relative;
	text-align: center;
}

body.faq .column_leftBox .p-left_whiteBox p a{color: #337ab7 !important;}
body.faq .column_leftBox .pageTop{text-align: right;}
body.faq .column_leftBox .pageTop a:after {
	font-family: 'Glyphicons Halflings';
	content: "\e260";
	font-size: 12px;
	margin-right: 10px;
	color: #165486;
	background: none;
	border-radius: 50%;
	padding: 3px;
}
body.inquiry .business_01 li:before {font-family: 'Glyphicons Halflings';content: "\e259";font-size: 12px;margin-right: 10px;color: #866189;}
body.inquiry .business_02 li:before {font-family: 'Glyphicons Halflings';content: "\e259";font-size: 12px;margin-right: 10px;color: #daa857;}
body.inquiry .business_03 li:before {font-family: 'Glyphicons Halflings';content: "\e259";font-size: 12px;margin-right: 10px;color: #b0c35a;}
body.inquiry .business_04 li:before {font-family: 'Glyphicons Halflings';content: "\e259";font-size: 12px;margin-right: 10px;color: #678dbf;}
body.inquiry .business_05 li:before {font-family: 'Glyphicons Halflings';content: "\e259";font-size: 12px;margin-right: 10px;color: #d18498;}
body.inquiry .business_06 li:before {font-family: 'Glyphicons Halflings';content: "\e259";font-size: 12px;margin-right: 10px;color: #cbb640;}
body.inquiry  li.business_Title:before{content: '';}
body.inquiry .business_01{}
body.inquiry .business_01 li:nth-child(1) {border-bottom: 1px solid #866189;padding-bottom: 10px;margin-bottom: 10px;}
body.inquiry .business_02{}
body.inquiry .business_02 li:nth-child(1) {border-bottom: 1px solid #daa857;padding-bottom: 10px;margin-bottom: 10px;}
body.inquiry .business_03{}
body.inquiry .business_03 li:nth-child(1) {border-bottom: 1px solid #b0c35a;padding-bottom: 10px;margin-bottom: 10px;}
body.inquiry .business_04{}
body.inquiry .business_04 li:nth-child(1) {border-bottom: 1px solid #678dbf;padding-bottom: 10px;margin-bottom: 10px;}
body.inquiry .business_05{}
body.inquiry .business_05 li:nth-child(1) {border-bottom: 1px solid #d18498;padding-bottom: 10px;margin-bottom: 10px;}
body.inquiry .business_06{}
body.inquiry .business_06 li:nth-child(1) {border-bottom: 1px solid #cbb640;padding-bottom: 10px;margin-bottom: 10px;}
body.inquiry .inquiry_business_Title{color:#fff;padding: 10px 0 10px 10px;}
body.inquiry .inquiry_business_Title.title1{background:#866189;}
body.inquiry .inquiry_business_Title.title2{background:#daa857;}
body.inquiry .inquiry_business_Title.title3{background:#b0c35a;}
body.inquiry .inquiry_business_Title.title4{background:#678dbf;}
body.inquiry .inquiry_business_Title.title5{background:#d18498;}
body.inquiry .inquiry_business_Title.title6{background:#cbb640;}

@media screen and (max-width: 768px){
	body.inquiry .p-con_package_left{width:100%;}
}

@media screen and (max-width: 414px){
	.inquiry_area a{width: 100%;}
}



/* サイトマップ
ーーーーーーーーーーーーーーーーーーーー*/
body.sitemap .sitemap_2column{margin-left: -3%;}
body.sitemap .sitemap_2column .sitemap_2col_box{float: left; width: 47%; margin-left: 3%;}


@media screen and (max-width: 991px){
	body.sitemap .sitemap_2column{margin-left: 0;}
	body.sitemap .sitemap_2column .sitemap_2col_box{float: none; width: 100%; margin-left: 0;}
	body.sitemap .sitemap_2column .sitemap_2col_box:nth-child(2){padding-top: 60px;}
}



/*個人情報の取扱いについて*/
body.privacy a[target="_blank"]{color: #337ab7;}



