@charset 'UTF-8';

/*===========================================
icons
===========================================*/
.txt_link,
.icon_blank,
.icon_pdf,
.list_figList figcaption,
*[class*="icon_s_"] > *{
display: block;
position: relative;	
}

.txt_link:before,
.icon_blank:after,
.icon_pdf:after,
.list_figList figcaption:after,
*[class*="icon_s_"] > *:before{
content: "";
display: block;
position: absolute;
top: 0.24em;
left: 0;
width: 1em;
height: 1em;
margin: auto 0;
background: url(/common/images/icons.png) no-repeat;
background-size: 10em;
}
.icon_s_rotate90 > *:before{
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
.icon_s_rotate180 > *:before{
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
}
.icon_s_rotate270 > *:before{
-webkit-transform: rotate(270deg);
transform: rotate(270deg);
}

.icon_s_print > *:before{
background-position: -2em -6em;
}
.icon_s_important > *:before{
background-position: 0 -7em;
}

.icon_pdf{
display: inline;
padding-right: 0.25em;
}
.icon_pdf:after{
display: inline-block;
position: relative;
top: -2px;
margin-left: 0.25em;
font-size: 25px;
vertical-align: middle;
background-position: -2em -3em;
}
.icon_blank{
display: inline;
padding-right: 0.25em;
}
.icon_blank:after{
display: inline-block;
position: relative;
top: -2px;
margin-left: 0.33em;
font-size: 12px;
vertical-align: middle;
background-position: -1em -6em;
}

/*===========================================
title
===========================================*/
.ttl_1{
font-family: 'Assistant', sans-serif;
font-size: 6rem;
color: #000;
line-height: 1.2;
text-align: center;
font-weight: bold;
}
.ttl_1 > span{
display: block;
font-size: 2rem;
color: #0060c4;
text-align: center;
}
.sp .ttl_1{
font-size: 3.6rem;
}
.sp .ttl_1 span{
font-size: 1.4rem;
}

.ttl_2{
font-size: 6rem;
color: #0060c4;
text-align: center;
line-height: 1.2;
font-weight: bold;
}
.ttl_2 > span{
font-family: 'Assistant', sans-serif;
}
.ttl_2 > small{
display: block;
font-size: 2rem;
color: #000;
text-align: center;
}
.sp .ttl_2{
font-size: 3.6rem;
}
.sp .ttl_2 small{
font-size: 1.4rem;
}

.ttl_3{
box-sizing: border-box;
margin-top: 3em;
border-left: 4px solid #003477;
padding: 0.5em 1em 0.5em 0.75em;
font-size: 2rem;
font-weight: bold;
background-color: #f0f0f0;
}
.sp .ttl_1{
background-size: auto 100%;
}
.sp .ttl_1 > *{
display: block;
width: 100%;
height: auto;
}
.sp .ttl_1 > * > *{
display: block;
padding: 0.75em 1rem;
font-size: 2.5rem;
}
.sp .ttl_3{
font-size: 1.6rem;
}

/*===========================================
text
===========================================*/
.txt_bold{
font-weight: bold;
}
.txt_small{
font-size: 1.3rem;
}
.txt_middle{
font-size: 1.8rem;
line-height: 1.4;
font-weight: bold;
}
.txt_large{
font-size: 2.4rem;
line-height: 1.2;
font-weight: bold;
}
.txt_link{
display: inline-block;
padding-left: 1.5em;
}
.txt_link:before{
background-position: -2em -1em;
}
.txt_red{
color: #e60019;
}
.txt_blue{
color: #2e4ba7;
}
.txt_black{
color: #333;
}
.txt_white{
color: #FFF;
}

/*===========================================
btn
===========================================*/
.btn_alpha{
transition: opacity 0.3s ease;
opacity: 1;
}
.btn_alpha:hover{
opacity: 0.7;
}
.btn_default,
.btn_frame,
.btn_sweep{
display: inline-block;
position: static;
}
.btn_default > * > *,
.btn_frame > * > *,
.btn_sweep a{
font-family: 'Assistant', sans-serif;
}



.btn_default {
min-width: 20em;
vertical-align: top;
text-align: center;
background-color: #0060c4;
}
.btn_default > *{
transition: background 0.5s ease;
position: relative;
border: 1px solid transparent;
background-color: rgba(255,255,255,0);
}
.btn_default > * > * {
position: relative;
display: block;
padding: 1em 1em;
color: #FFF;
font-size: 1.7rem;
font-weight: bold;
text-decoration: none;
overflow: hidden;
}
.btn_default > *:before{
transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
content: "";
display: block;
position: absolute;
box-sizing: border-box;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
left: 0;
right: 0;
border: 1px solid rgba(0,96,196,1);
margin: auto;
opacity: 1;
}
.btn_default:hover > *{
border-color: #0060c4;
background-color: rgba(255,255,255,1);
}
.btn_default:hover > *:before{
width: calc(100% - 12px);
height: calc(100% - 12px);
border-color: rgba(255,255,255,1);
opacity: 0;
}
.btn_default:hover > * > *{
color: #0060c4;
}
.btn_default:hover > * > *{
text-decoration: none;
}
.sp .btn_default{
min-width: 0;
}
.sp .btn_default > * > *{
font-size: 1.6rem;
}

.btn_frame {
min-width: 20em;
vertical-align: top;
text-align: center;
background-color: #FFF;
}
.btn_frame > * > * {
position: relative;
display: block;
padding: 1em 1em;
color: #0060c4;
font-size: 1.7rem;
font-weight: bold;
text-decoration: none;
overflow: hidden;
}
.btn_frame > *{
position: relative;
transition: background 0.5s ease;
background-color: rgba(0,96,196,0);
}
.btn_frame > *:before{
transition: width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
content: "";
display: block;
position: absolute;
box-sizing: border-box;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
left: 0;
right: 0;
border: 1px solid rgba(0,96,196,1);
margin: auto;
opacity: 1;
}
.btn_frame > *:hover{
background-color: rgba(0,96,196,1);
}
.btn_frame > *:hover:before{
width: calc(100% - 12px);
height: calc(100% - 12px);
border-color: rgba(255,255,255,1);
opacity: 0;
}
.btn_frame > *:hover > *{
color: #FFF;
}
.btn_frame > * > *:hover{
text-decoration: none;
}

.btn_sweep {
min-width: 20em;
background-color: #000;
}
.btn_sweep > *{
position: relative;
}
.btn_sweep a {
position: relative;
display: block;
padding: 1em 1em;
color: #FFF;
font-size: 1.7rem;
text-align: center;
font-weight: bold;
text-decoration: none;
overflow: hidden;
}
.btn_sweep > *:before{
transition: background 0.4s cubic-bezier(0.165, 0.840, 0.440, 1.000), width 0.4s cubic-bezier(0.165, 0.840, 0.440, 1.000);
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 0%;
background-color: rgba(0,96,196,0.5);
}
.btn_sweep > *:hover:before{
width: 100%;
background-color: rgba(0,96,196,1);
}

/*===========================================
list
===========================================*/
* + .list_disc{
margin-top: 1em;
}
.list_disc > li{
padding-left: 1em;
text-indent: -1em;
}
.list_disc > li:before{
content: "・";
}
* + .list_asterisk{
margin-top: 1em;
}
.list_asterisk > li{
padding-left: 1em;
text-indent: -1em;
}
.list_asterisk > li:before{
content: "※";
}
* + .list_number{
margin-top: 1em;
}
.list_number{
margin: 0;
padding: 0;
counter-reset: number;
}
.list_number > li{
margin: 0;
padding: 0 0 0 0.75em;
text-indent: -0.75em;
list-style: none;
}
.list_number > li:before{
counter-increment: number;
content: counter(number)".";
}
ol.list_asterisk{
counter-reset: asterisk;
}
ol.list_asterisk > li{
padding-left: 1.8em;
text-indent: -1.8em;
}
ol.list_asterisk > li:before{
counter-increment: asterisk;
content: "※"counter(asterisk)" ";
}

.list_figList a{
text-decoration: none;
}
.list_figList li{
margin-top: 4em;
}
.list_figList figcaption{
display: block;
position: relative;
padding: 0.5em 1.5em 0.5em 0.5em;
font-size: 2rem;
font-weight: bold;
}
.list_figList figcaption:after{
top: 0.86em;
right: 0.5em;
left: auto;
font-size: 18px;
background-position: -1em 0;
}
.list_figList p{
margin: 0;
border-top: 1px solid #003477;
padding: 1em 0.5em 0.5em 0.5em;
}
.list_figList .icon_blank:after{
background-position: -1em -6em;
}

.sp .list_figList figcaption{
font-size: 1.5rem;
padding: 0.5em 1.75em 0 0;
}
.sp .list_figList figcaption:after{
top: 0.75em;
bottom: auto;
font-size: 1.5rem;
}

/*===========================================
table
===========================================*/
.table_type_default{
box-sizing: border-box;
width: 100%;
margin-top: 40px;
border-collapse: collapse;
border-top: 1px solid #CCC;
border-left: 1px solid #CCC;
}
.table_type_default th,
.table_type_default td{
border-right: 1px solid #CCC;
border-bottom: 1px solid #CCC;
padding: 20px;
}
.table_type_default th{
text-align: left;
background-color: #f5f5f5;
}
.table_type_default td a{
word-break: break-all;
}
.sp .table_type_default{
margin-top: 2em;
}
.sp .table_type_default th,
.sp .table_type_default td{
padding: 1em	0.75em;
}
.sp .table_spBreak_horizontal,
.sp .table_spBreak_horizontal > *,
.sp .table_spBreak_horizontal > * > tr,
.sp .table_spBreak_horizontal > tr > *,
.sp .table_spBreak_horizontal > * > tr > *{
display: block;
width: auto !important;
}
.sp .table_type_default.table_spBreak_horizontal .table_bd_r_none,
.sp .table_type_default.table_spBreak_horizontal .table_bd_b_none,
.sp .table_type_default.table_spBreak_horizontal .table_bd_t_none,
.sp .table_type_default.table_spBreak_horizontal .table_bd_l_none{
border-color: #DDD;
}
.sp .table_spBreak_vertical ~ .table_type_default{
margin-top: 10px;
}

*[class*="table_type_"] .table_bd_r_none{
border-right-color: transparent;
}
*[class*="table_type_"] .table_bd_l_none{
border-left-color: transparent;
}
*[class*="table_type_"] .table_bd_t_none{
border-top-color: transparent;
}
*[class*="table_type_"] .table_bd_b_none{
border-bottom-color: transparent;
}

/*===========================================
box
===========================================*/
.sp .box_sp_column1 {
margin-top: 1em;
}
.sp .box_sp_column1 > *{
margin: 1em 0 0 0;
}
/*==========*/
html:not(.sp) .box_pc_column2{
margin-top: 2em;
}
html:not(.sp) .box_pc_column2:after{
content: "";
display: block;
clear: both;
}
html:not(.sp) .box_pc_column2 > *{
float: left;
width: calc(50% - 10px);
margin-top: 1em;
}
html:not(.sp) .box_pc_column2 > *:nth-of-type(odd){
clear: both;
float: left;
}html:not(.sp) .box_pc_column2 > *:nth-of-type(even){
float: right;
}
.sp .box_sp_column2 {
margin-top: 1em;
}
.sp .box_sp_column2:after{
content: "";
display: block;
clear: both;
}
.sp .box_sp_column2 > *{
width: 48%;
margin: 1em 0 0 0;
}
.sp .box_sp_column2 > *:nth-of-type(odd){
clear: both;
float: left;
}
.sp .box_sp_column2 > *:nth-of-type(even){
float: right;
}
.sp .box_sp_column2 > *:nth-of-type(-n+2){
margin-top: 0;
}
/*==========*/
html:not(.sp) .box_pc_column3{
margin-top: 2em;
}
html:not(.sp) .box_pc_column3:after{
content: "";
display: block;
clear: both;
}
html:not(.sp) .box_pc_column3 > *{
float: left;
width: 386px;
margin-right: 21px;
margin-top: 1em;
}
html:not(.sp) .box_pc_column3 > *:nth-of-type(3n){
margin-right: 0;
}
html:not(.sp) .box_pc_column3 > *:nth-of-type(3n+1){
clear: both;
}
html:not(.sp) .box_pc_column3 > *:nth-of-type(-n+3){
margin-top: 0;
}
/*==========*/
html:not(.sp) .box_pc_column4{
margin-top: 2em;
}
html:not(.sp) .box_pc_column4:after{
content: "";
display: block;
clear: both;
}
html:not(.sp) .box_pc_column4 > *{
float: left;
width: 285px;
margin-right: 20px;
margin-top: 1em;
}
html:not(.sp) .box_pc_column4 > *:nth-of-type(4n){
margin-right: 0;
}
html:not(.sp) .box_pc_column4 > *:nth-of-type(4n+1){
clear: both;
}
html:not(.sp) .box_pc_column4 > *:nth-of-type(-n+4){
margin-top: 0;
}

/*===========================================
component
===========================================*/
/*topicpath*/
.topicpath{
margin: 0 auto;
background-color: #f2f2f2;
}
.topicpath ul{
max-width: 1400px;
box-sizing: border-box;
margin: auto;
padding: 1em 3rem; 
}
.topicpath li{
display: inline-block;
font-size: 1.3rem;
}
.topicpath li:before{
content: ' > ';
display: inline-block;
margin: 0 0.25em;
}
.topicpath li:first-child:before{
content: normal;
}
.topicpath li a{
text-decoration: underline;
}
.topicpath li a:hover{
text-decoration: none;
}
.sp .topicpath{
display: none;
}
/*pagetop*/
#pagetop{
display: none;
position: absolute;
top: -39px;
right: 1.2rem;
z-index: 11;
}
#pagetop.fix{
position: fixed;
top: auto;
bottom: 10px;
}
#pagetop * {
margin: 0;
}
#pagetop a{
transition: opacity 300ms ease;
position: relative;
display: block;
width: 91px;
height: 91px;	
white-space: nowrap;
text-indent: -9999px;
overflow: hidden;
}
#pagetop a:after,
#pagetop a:before{
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}

#pagetop a:after{
transition: transform 0.5s ease;
width: 100%;
background: url(/common/images/pagetop.png) center center no-repeat;
background-size: contain;
}
#pagetop a:before{
transform:rotate(-90deg);
width: 1em;
height: 1em;
font-size: 30px;
background: url(/common/images/icons.png) no-repeat;
background-size: 10em;
background-position: -1em -1em;
z-index: 1;
}
#pagetop a:after{
transition: transform 0.5s ease;
width: 100%;
background: url(/common/images/pagetop.png) center center no-repeat;
background-size: contain;
}
html:not(.sp) #pagetop a:hover:after{
transform: rotate(-180deg);
}
.sp #pagetop{
top: -29px;
}
.sp #pagetop.fix{
top: auto;
}
.sp #pagetop a{
width: 50px;
height: 59px;
}
.sp #pagetop a:before{
font-size: 17px;
}

/*sg_head1*/
.sg_head1{
position: relative;
background: center center no-repeat;
background-size: cover;
}
.sg_head1:after{
content: "";
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
background-color: rgba(34,36,42,0.9);
}
.sg_head1 .inner{
display: table;
position: relative;
width: 100%;
height: 260px;
padding: 0;
z-index: 1;
}
.sg_head1 .ttl{
display: table-cell;
text-align: center;
vertical-align: middle;
}
.sg_head1 .ttl > *{
color: #FFF;
}
.sg_head1 .ttl > * span{
font-family: 'Assistant', sans-serif;
font-size: 7rem;
line-height: 1.1;
}
.sg_head1 .ttl > * small{
display: block;
font-size: 2rem;
text-align: center;
}

.sp .sg_head1 .inner{
height: 120px;
}
.sp .sg_head1 .ttl > * span{
font-size: 4.1rem;
}
.sp .sg_head1 .ttl > * small{
font-size: 1.2rem;
}
/*sg_recruitEntry*/
.sg_recruitEntry{
position: relative;
background-color: #FFF;
}
.sg_recruitEntry .sg_recruitEntry_inner{
max-width: 1280px;
margin: 0 auto;
padding: 8em 6rem;
text-align: center;
}
.sg_recruitEntry .ttl{
font-size: 3.2rem;
color: #0060c4;
line-height: 1.2;
text-align: center;
}
.sg_recruitEntry .ttl span{
display: block;
font-size: 1.6rem;
color: #0060c4;
text-align: center;
}
.sg_recruitEntry .sg_recruitEntry_txt{
margin-top: 1em;
text-align: center;
}
.sg_recruitEntry .sg_recruitEntry_txt > *{
display: inline-block;
font-size: 1.6rem;
text-align: left;
}
.sg_recruitEntry .sg_recruitEntry_txt a{
font-size: 1.6rem;
color: #0060c4;
text-decoration: underline;
}
.sg_recruitEntry .sg_recruitEntry_txt a:hover{
text-decoration: none;
}
.sg_recruitEntry .btn{
display: inline-block;
margin-top: 2em;
border: 3px solid #0060c4;
vertical-align: top;
}
.sg_recruitEntry .btn img{
width: 100%;
}
.sg_recruitEntry .btn a{
display: block;
padding: 0;
}
.sp .sg_recruitEntry{
background-color: #FFF;
}
.sp .sg_recruitEntry .ttl{
font-size: 2.1rem;
}
.sp .sg_recruitEntry .sg_recruitEntry_inner{
max-width: none;
margin: 0;
padding: 4em 1.2rem;
}
.sp .sg_recruitEntry .sg_recruitEntry_txt{
margin: 1.5em 0.4rem 0 0.4rem;
}
.sp .sg_recruitEntry .sg_recruitEntry_txt p{
font-size: 1.4rem;
text-align: justify;
}
.sp .sg_recruitEntry .btn{
border-width: 2px;
}
.sp .sg_recruitEntry .sg_recruitEntry_txt a {
font-size: 1.4rem;
}

html:not(.sp) .sg_recruitEntry .ttl,
html:not(.sp) .sg_recruitEntry .sg_recruitEntry_txt,
html:not(.sp) .sg_recruitEntry .btn{
transition: opacity 0.75s ease, transform 0.75s ease;
opacity: 0;
}
html:not(.sp) .sg_recruitEntry .ttl.visible,
html:not(.sp) .sg_recruitEntry .sg_recruitEntry_txt.visible,
html:not(.sp) .sg_recruitEntry .btn.visible{
opacity: 1;
transform: translate(0) !important;
}
html:not(.sp) .sg_recruitEntry .ttl{
transform: translateY(100px);
}
html:not(.sp) .sg_recruitEntry .sg_recruitEntry_txt{
transform: translateY(100px);
}
html:not(.sp) .sg_recruitEntry .btn{
transform: translateY(100px);
}
/*sg_recruitContact*/
.sg_recruitContact {
position: relative;
background: url(/common/images/recruitcontact_bg01.png) center center repeat #0064c7;
}
.sg_recruitContact .sg_recruitContact_inner{
max-width: 1280px;
margin: 0 auto;
padding: 5em 6rem;
text-align: center;
}
.sg_recruitContact .txt{
font-size: 2rem;
color: #FFF;
text-align: center;
}
.sg_recruitContact .txt span{
display: inline-block;
text-align: left;
}
.sg_recruitContact .btn_sweep{
min-width: 25em;
margin-top: 2em;
border: 1px solid #FFF;
background-color: #FFF;
}
.sg_recruitContact .btn_sweep a{
padding: 1.25em 1em;
}
.sg_recruitContact .btn a{
display: block;
color: #0060c4;
text-align: center;
text-decoration: none;
}
.sg_recruitContact .btn_sweep > *:before{
background-color: rgba(0,96,196,1);
}
.sg_recruitContact .btn_sweep > *:hover:before{
background-color: rgba(0,96,196,1);
}
.sg_recruitContact .btn_sweep a:hover{
color: #FFF;
}
.sp .sg_recruitContact .txt{
font-size: 1.4rem;
}
.sp .sg_recruitContact .sg_recruitContact_inner{
padding: 2em 1.2rem 2.5em 1.2rem;
}
.sp .sg_recruitContact .btn_sweep{
display: block;
min-width: 0;
margin-top: 1em;
}
.sp .sg_recruitContact .btn_sweep a {
padding: 1em 1em;
font-size: 1.4rem;
}
html:not(.sp) .sg_recruitContact .txt,
html:not(.sp) .sg_recruitContact .btn_sweep{
transition: opacity 0.75s ease, transform 0.75s ease;
opacity: 0;
}
html:not(.sp) .sg_recruitContact .txt.visible,
html:not(.sp) .sg_recruitContact .btn_sweep.visible{
opacity: 1;
transform: translate(0) !important;
}
html:not(.sp) .sg_recruitContact .txt{
transform: translateY(100px);
}
html:not(.sp) .sg_recruitContact .btn_sweep{
transform: translateY(100px);
}

/*===========================================
material
===========================================*/
#wrap .bd_blue{
border-color: #2e4ba7;
}
#wrap .bd_gray1{
border-color: #f5f5f5;
}
#wrap .bd_white{
border-color: #FFF;
}
#wrap .bg_blue{
background-color: #003477;
}
#wrap .bg_gray1{
background-color: #f5f5f5;
}
#wrap .bg_white{
background-color: #FFF;
}
