@charset "utf-8";

/* 共通設定 /////////////////////////////////////////////////////////// */

/* テキスト関連 ####################################################### */
/* 色 */
.red {
color			: #ea5532;
}




/* pageTitle ////////////////////////////////////////////////////////// */

#pageTitle {
margin-bottom	: 0;
}


#pageTitle h2 {
width			: 550px;
height			: 300px;
color			: #004983;
font-size		: 42px;
text-align		: center;
background		: url(../img/common/pageTitle_bg.png) no-repeat;
float			: right;
position		: relative;
}

#pageTitle h2 span {
display			: inline-block;
position		: absolute;
top				: 50%;
left			: 50%;
transform		: translate(-50%, -68%);
}

#pageTitle h2 small {
display			: block;
font-size		: 15px;
letter-spacing	: 5px;
margin-bottom	: 10px;
}


/* header_bar */
#header_bar {
height			: 5px;
background		: #004983;
}




/* bread ////////////////////////////////////////////////////////////// */

#bread {
margin-bottom	: 70px;
}

#bread .w_base {
line-height		: 50px;
text-align		: right;
}




/* contents_top /////////////////////////////////////////////////////// */

.contents_top {
text-align		: center;
margin-bottom	: 75px;
}




/* news /////////////////////////////////////////////////////////////// */

#news li {
line-height		: 1.5;
padding			: 25px 0 25px 230px;
border-bottom	: 1px solid #ccc;
position		: relative;
}


#news li a {
display			: block;
width			: 100%;
height			: 100%;
position		: absolute;
top				: 0;
left			: 0;
}

#news li a:hover {
background		: rgba(0, 73, 131, 0.05);
}


#news li p {
width			: 180px;
line-height		: 40px;
color			: #004983;
text-align		: center;
border			: 1px solid #004983;
box-sizing		: border-box;
position		: absolute;
top				: 50%;
left			: 20px;
transform		: translate(0, -50%);
}


#news li::before {
content			: '';
display			: block;
width			: 20px;
height			: 20px;
background		: url(../img/common/arrow_navy.png) no-repeat;
background-size	: cover;
position		: absolute;
top				: 50%;
right			: 20px;
transform		: translate(0, -50%);
}


#news li small {
font-size		: 15px;
font-weight		: bold;
}




/* aboutus //////////////////////////////////////////////////////////// */

#aboutTop {
margin-bottom	: 100px;
position		: relative;
}

#aboutTop::before {
content			: '';
display			: block;
width			: 50%;
height			: 100%;
background		: url(../img/index/aboutTop_img.jpg) center no-repeat;
background-size	: cover;
position		: absolute;
top				: 0;
left			: 0;
}


#aboutTop dl {
margin-left		: 300px;
padding			: 100px 0 100px 50px;
background		: #fff;
}

#aboutTop dt {
color			: #004983;
font-size		: 38px;
font-weight		: 700;
letter-spacing	: 3px;
margin-bottom	: 50px;
}

#aboutTop dd p {
margin-bottom	: 1em;
}

#aboutTop dd p:last-of-type {
margin-bottom	: 0;
}


/* service */
#service {
text-align		: center;
}


#serviceTop {
display			: inline-block;
color			: #004983;
font-weight		: bold;
padding			: 15px;
margin			: 0 auto;
border			: 5px solid #004983;
border-radius	: 25px;
box-sizing		: border-box;
}

#serviceTop span {
display			: block;
margin-bottom	: 5px;
}

#serviceTop img {
width			: auto;
height			: 50px;
}


#service {
margin-bottom	: 50px;
}

#service ul {
display			: flex;
justify-content	: space-between;
position		: relative;
}

#service ul::before {
content			: '';
display			: block;
width			: 100%;
height			: 60px;
background		: url(../img/index/service_link.png) top no-repeat;
position		: absolute;
top				: 0;
}


#service li {
width			: 300px;
padding-top		: 60px;
}


#service li p {
position		: relative;
margin-bottom	: 25px;
}

#service li p img {
width			: 300px;
height			: 350px;
object-fit		: cover;
border-radius	: 25px;
}

#service li:nth-child(2) p img {
object-position	: right;
}

#service li p::before {
content			: '';
display			: block;
width			: 100%;
height			: 100%;
background		: url(../img/common/bg_dot.png) center;
background-size	: 4px;
position		: absolute;
top				: 0;
left			: 0;
opacity			: 0.5;
border-radius	: 25px;
}


#service li p span {
display			: inline-block;
width			: 100%;
color			: #fff;
font-size		: 19px;
font-weight		: 700;
position		: absolute;
top				: 50%;
left			: 0;
transform		: translate(0, -50%);
}

#service li p strong {
display			: block;
font-size		: 50px;
font-family		: 'Raleway';
}


#service dt {
font-size		: 20px;
font-weight		: 700;
margin-bottom	: 20px;
}

#service dd {
text-align		: left;
}





/* financialList ///////////////////////////////////////////////////// */

#financialList {
padding			: 100px 0;
background		: #EFF2F5;
}


#financialList_nav {
display			: flex;
justify-content	: space-between;
position		: relative;
margin-bottom	: 25px;
}

#financialList_nav li {
width			: 180px;
height			: 180px;
color			: #fff;
text-align		: center;
background		: #004983;
position		: relative;
cursor			: pointer;
}

#financialList_nav li:hover {
background		: #3C6AA6;
}

#financialList_nav li.fin_selected {
color			: #004983;
background		: #fff;
border			: 1px solid #004983;
box-sizing		: border-box;
}


#financialList_nav li span {
display			: block;
width			: 100%;
line-height		: 1.9;
font-size		: 19px;
font-weight		: 900;
text-align		: center;
position		: absolute;
top				: 30px;
}

#financialList_nav li strong {
font-size		: 25px;
}


#financialList_nav li::after {
content			: '';
display			: block;
width			: 30px;
height			: 30px;
position		: absolute;
bottom			: 20px;
left			: 50%;
transform		: translate(-50%, 0);
background		: url(../img/common/arrow_select.png) no-repeat;
background-size	: cover;
}

#financialList_nav li.fin_selected::after {
background		: url(../img/common/arrow_selected.png) no-repeat;
background-size	: cover;
}


/* financialList_box */
#financialList_box {
background		: #fff;
padding			: 50px 0;
}


#financialList_box h4 {
color			: #004983;
font-size		: 27px;
font-weight		: 900;
text-align		: center;
line-height		: 1;
margin-bottom	: 50px;
}

#financialList_box div {
display			: none;
}


#financialList_box ul {
overflow		: hidden;
margin			: -5px 50px 0;
}


#financialList_box li {
width			: 50%;
padding-left	: 15px;
margin-top		: 5px;
float			: left;
position		: relative;
box-sizing		: border-box;
}

#financialList_box li::before {
content			: '';
display			: block;
width			: 6px;
height			: 6px;
background		: #004983;
border-radius	: 3px;
position		: absolute;
top				: 12px;
left			: 0;
}


#financialList_box p {
margin			: 0 50px;
}

#financialList_box ul + p {
padding-top		: 25px;
}




/* serviceList //////////////////////////////////////////////////////// */

/* selectNav */
#selectNav {
overflow		: hidden;
margin-bottom	: 75px;
border-bottom	: 5px solid #004982;
}

#selectNav li {
width			: 49%;
}

#selectNav li:first-child {
float			: left;
}

#selectNav li:last-child {
float			: right;
}


#selectNav li a,
#selectNav li span {
display			: block;
color			: #333;
font-size		: 20px;
line-height		: 80px;
text-align		: center;
text-decoration	: none !important;
background		: #E5E5E6;
}

#selectNav li a:hover {
color			: #fff;
background		: #3C6AA3;
}

#selectNav li span {
color			: #fff;
background		: #004982;
}



#serviceBox li {
min-height		: 280px;
margin-bottom	: 75px;
position		: relative;
}

#serviceBox li:last-child {
margin-bottom	: 0;
}


#serviceBox li p {
width			: 400px;
height			: 280px;
position		: absolute;
top				: 0;
left			: 0;
background		: #333;
}

#serviceBox li p img {
width			: 100%;
height			: 100%;
object-fit		: cover;
}


#serviceBox li dl {
margin-left		: 450px;
}

#serviceBox li dt {
color			: #004982;
font-size		: 25px;
font-weight		: bold;
line-height		: 50px;
}

#serviceBox li dd {
margin-top		: 25px;
}




/* outline //////////////////////////////////////////////////////////// */

#outline dl {
margin			: -30px 0 50px;
}


#outline dt {
position		: absolute;
}


#outline dt,
#outline dd {
line-height		: 1.5;
padding			: 30px 0;
}


#outline dd {
padding-left	: 200px;
position		: relative;
}

#outline dd::after {
content			: '';
display			: block;
width			: 200px;
height			: 1px;
background		: #000;
position		: absolute;
bottom			: 0;
left			: 0;
}

#outline dd::before {
content			: '';
display			: block;
width			: 100%;
height			: 1px;
background		: #ccc;
position		: absolute;
bottom			: 0;
left			: 0;
}




/* blueBox //////////////////////////////////////////////////////////// */

.blueBox {
text-align		: center;
padding			: 50px 0;
background		: #EFF3F6;
}

.blueBox dt {
color			: #004983;
font-size		: 20px;
font-weight		: bold;
line-height		: 1;
margin-bottom	: 50px !important;
}

.blueBox dd {
padding			: 0 50px;
}


/* contactBox */
.contactBox {
overflow		: hidden;
}

.contactBox dd {
width			: 50%;
float			: left;
font-size		: 15px;
line-height		: 1.5;
padding			: 15px 0 !important;
margin-bottom	: 0 !important;
position		: relative;
}

.contactBox dd:first-of-type::after {
content			: '';
display			: block;
width			: 1px;
height			: 100%;
background		: #ccc;
position		: absolute;
top				: 0;
right			: 0;
}



















