@charset "utf-8";

/* fv ///////////////////////////////////////////////////////////////// */

#fv {
background		: url(../img/index/fv_bg.jpg) center no-repeat;
background-size	: cover;
margin-bottom	: 50px;
}

#fv .w_base {
width			: 1100px;
height			: 600px;
background		: url(../img/index/fv_cover.png) right no-repeat;
}

#fv .w_base div {
display			: inline-block;
width			: 550px;
font-size		: 32px;
font-weight		: 700;
line-height		: 1.4;
letter-spacing	: 5px;
text-align		: center;
position		: absolute;
top				: 50%;
right			: 0;
transform		: translate(0, -50%);
}


#fv h2 {
color			: #004983;
font-size		: 48px;
line-height		: 1;
letter-spacing	: 3px;
margin-bottom	: 25px;
}

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


#fv .w_base span {
display			: block;
}




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

#news {
margin-bottom	: 75px;
}

#news ul {
margin-bottom	: 25px;
}




/* seminar //////////////////////////////////////////////////////////// */

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


#seminar nav {
width			: 220px;
background		: #fff;
float			: left;
}

#seminar nav ul li {
line-height		: 60px;
font-size		: 15px;
text-align		: center;
padding			: 0 10px;
position		: relative;
cursor			: pointer;
}

#seminar nav ul li:hover {
color			: #fff;
background		: #004983;
}


#seminar nav ul li::after {
content			: '';
display			: block;
width			: 200px;
height			: 1px;
background		: #ccc;
position		: absolute;
bottom			: 0;
left			: 10px;
}

#seminar nav ul li:last-child::after {
display			: none;
}


#seminar nav .sem_selected {
color			: #004983;
font-weight		: 900;
}


#seminarList {
width			: 750px;
float			: right;
}

#seminarList li {
padding			: 15px 0 15px 20px;
border-bottom	: 1px solid #ccc;
position		: relative;
}

#seminarList li p,
#seminarList li span {
font-size		: 15px;
line-height		: 24px;
}


#seminarList li p {
width			: 120px;
color			: #fff;
text-align		: center;
margin-bottom	: 5px;
background		: #004983;
}


#seminarList li span {
display			: inline-block;
position		: absolute;
top				: 15px;
left			: 155px;
}


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

#seminarList li:hover {
background		: #fff;
}


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





/* 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;
}




/* business ////////////////////////////////////////////////////////// */

#business .w_base div {
width			: 470px;
float			: left;
}


#business .w_base div dt {
color			: #004983;
font-size		: 27px;
font-weight		: 900;
text-align		: center;
line-height		: 1;
margin			: 50px 0;
}

#business .w_base div dd:first-of-type {
min-height		: 5em;
margin-bottom	: 25px;
}


#bus_pson {
float			: right !important;
}




/* forAgency ///////////////////////////////////////////////////////// */

#forAgency {
padding			: 100px 0;
background		: url(../img/index/forAgency_bg.jpg) center no-repeat;
background-size	: cover;
}


#forAgency .w_base div {
padding			: 75px 50px;
margin-left		: 530px;
background		: rgba(255, 255, 255, 0.9);
}


#forAgency h3 {
margin-bottom	: 50px;
}


#forAgency dt {
color			: #004983;
font-size		: 27px;
font-weight		: 900;
text-align		: center;
margin-bottom	: 20px;
}

#forAgency dd {
position		: relative;
}

#forAgency .nav_detail a {
display			: block;
margin-top		: 50px;
}




/* 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;
}




/* group/media //////////////////////////////////////////////////////// */

.site_thubm ul {
overflow		: hidden;
}


.site_thubm li {
width			: 498px;
height			: 350px;
float			: left;
position		: relative;
}

.site_thubm li:last-child {
float			: right;
}


.site_thubm li a {
display			: block;
width			: 100%;
height			: 100%;
color			: #fff;
text-decoration	: none;
background		: rgba(0, 0, 0, 0.7);
position		: absolute;
z-index			: 2;
}

.site_thubm li a:hover {
background		: rgba(0, 0, 0, 0.5);
}


.site_thubm li span {
display			: inline-block;
font-size		: 20px;
position		: absolute;
top				: 50%;
left			: 35px;
transform		: translate(0, -50%);
}

.site_thubm li strong {
display			: block;
font-size		: 32px;
font-weight		: 900;
line-height		: 1;
letter-spacing	: 3px;
margin-top		: 3px;
}


.site_thubm li a::after {
content			: '';
display			: block;
width			: 50px;
height			: 50px;
background		: url(../img/common/icon_circleArrow.png) no-repeat;
background-size	: cover;
position		: absolute;
top				: 50%;
right			: 35px;
transform		: translate(0, -50%);		
}


.site_thubm img {
width			: 100%;
height			: 100%;
object-fit		: cover;
object-position	: top;
position		: absolute;
top				: 0;
left			: 0;
z-index			: 1;
}
/*
.site_thubm#group ul li {
    width: 33%;
}
.site_thubm#group ul li:nth-of-type(2) {
    margin-left: 0.5%;
}
.site_thubm#group ul li span {
    top: 45%;
    left: 18px;
}
.site_thubm#group li strong {
    word-break: keep-all;
}
.site_thubm#group li a::after {
    right: 18px;
}
*/

/* recruit //////////////////////////////////////////////////////////// */

#recruit {
padding			: 100px 0;
margin-bottom	: 0;
background		: #eff3f6;
}


#recruit dl {
width			: 380px;
}

#recruit dt {
color			: #004983;
font-size		: 25px;
font-weight		: bold;
text-align		: center;
margin-bottom	: 30px;
}

#recruit dd p {
margin-bottom	: 30px;
}

#recruit .nav_detail {
margin-bottom	: 0 !important;
}


#recruit .w_base > span {
display			: block;
width			: 530px;
height			: 360px;
position		: absolute;
top				: 0;
right			: 0;
}

#recruit .w_base > span img {
width			: 530px;
height			: 360px;
object-fit		: cover;
}



