@charset "utf-8";

/* 共通プロパティ ///////////////////////////////////////////////////// */

* {
margin			: 0;
padding			: 0;
}

html, body {
text-align		: center;
color			: #111;
font-size		: 17px;
line-height		: 1.7;
font-family		: 'Yu Gothic UI',YuGothic,'Yu Gothic','メイリオ', Meiryo,'Meiryo UI','ヒラギノ角ゴシック','Hiragino Sans','ＭＳ Ｐゴシック','MS PGothic','Arial',sans-serif;
font-weight		: 400;
}


a {
color			: #111;
}

a:hover {
text-decoration	: none;
}

img {
width			: 100%;
height			: auto;
border			: 0;
vertical-align	: bottom;
}

a:hover img {
opacity			: 0.7;
}


ol, ul, li {
list-style		: none;
}

h1, h2, h3, h4 {
line-height		: 1;
font-weight		: normal;
}

h2 {
font-weight		: 700;
}


section {
margin-bottom	: 150px;
}


/* w_base */
.w_base {
width			: 1000px;
text-align		: left;
margin			: 0 auto;
position		: relative;
overflow		: hidden;
}

h3 {
color			: #004983;
font-size		: 36px;
font-weight		: bold;
line-height		: 1;
text-align		: center;
margin-bottom	: 75px;
}


/* nav_detail */
.nav_detail {
text-align		: center;
}

.nav_detail a,
.nav_detail input,
.nav_detail button {
display			: inline-block;
line-height		: 80px;
color			: #fff;
font-size		: 19px;
font-weight		: 700;
text-decoration	: none;
padding			: 0 80px;
background		: #004983;
border			: none;
border-radius	: 40px;
cursor			: pointer;
}

.nav_detail a:hover,
.nav_detail input:hover,
.nav_detail button:hover  {
opacity			: 0.7;
}

.nav_detail a span {
display			: inline-block;
padding-right	: 30px;
position		: relative;
}

.nav_detail a span::after {
content			: '';
display			: block;
width			: 18px;
height			: 18px;
background		: url(../img/common/arrow_white.png) right no-repeat;
background-size	: contain;
position		: absolute;
top				: 50%;
right			: 0;
transform		: translate(0, -50%);
}


#contact_bt input {
width			: 400px !important;
padding			: 0;
}

a.disabled-link {
  pointer-events: none;
}



/* header ///////////////////////////////////////////////////////////// */

#header {
width			: 100%;
background		: #fff;
position		: fixed;
top				: 0;
z-index			: 9999;
}

#header .w_base {
width			: 1100px;
height			: 110px;
}


/* h1 */
h1 {
display			: inline-block;
line-height		: 50px;
position		: absolute;
top				: 50%;
left			: 0;
transform		: translate(0, -50%);
}

h1 a {
display			: block;
height			: 50px;
color			: #666;
font-size		: 15px;
font-weight		: 700;
text-decoration	: none;
padding-left	: 150px;
position		: relative;
}

h1 a img {
width			: auto;
height			: 100%;
position		: absolute;
left			: 0;
}


#header nav {
position		: absolute;
top				: 0;
right			: 0;
}

#header nav:last-of-type {
top				: auto;
bottom			: 0 !important;
}

#header nav ul {
overflow		: hidden;
}

#header nav li {
float			: left;
}

#header nav li a {
display			: inline-block;
font-size		: 16px;
font-weight		: 700;
text-decoration	: none;
}


/* nav_top */
#nav_top a {
color			: #fff;
line-height		: 40px;
padding			: 0 40px;
background		: #3C6AA6;
}

#nav_top a:hover {
opacity			: 0.7;
}


#nav_top li:last-child a {
background		: #004983;
} 


/* hbgMenu */
#hbgMenu a {
line-height		: 70px;
text-align		: center;
padding			: 0 20px;
position		: relative;
}

#hbgMenu a:hover {
color			: #004983;
}


#hbgMenu a:hover::after {
content			: '';
display			: block;
width			: 100%;
height			: 5px;
background		: #004983;
position		: absolute;
bottom			: 0;
left			: 0;
}




/* main /////////////////////////////////////////////////////////////// */

main {
margin-top		: 110px;
}




/* contact //////////////////////////////////////////////////////////// */

#contact {
color			: #fff;
text-align		: center;
padding			: 100px 0;
margin-bottom	: 0;
background		: url(../img/common/contact_bg.jpg) center no-repeat;
background-size	: cover;
position		: relative;
}

#contact::before {
content			: '';
display			: block;
width			: 100%;
height			: 100%;
background		: rgba(0, 0, 0, 0.75);
position		: absolute;
top				: 0;
left			: 0;
}

#contact h3,
#contact a {
color			: #fff;
}


#contact ul {
text-align		: center;
overflow		: hidden;
position		: relative;
}

#contact ul::after {
content			: '';
display			: block;
width			: 1px;
height			: 100%;
background		: #fff;
position		: absolute;
top				: 0;
left			: 50%;
}


#contact li {
width			: 50%;
float			: left;
}


#contact li dt {
margin-bottom	: 30px;
}

#contact li dt img {
width			: 40px;
height			: auto;
}


#contact_tel dd strong {
font-size		: 45px;
font-weight		: 700;
line-height		: 1;
}

#contact_tel dd p {
padding-top		: 5px;
}


#contact_mail dd {
padding-top		: 5px;
}

#contact_mail .nav_detail a {
color			: #004983;
background		: #fff;
}

#contact_mail .nav_detail a span::after {
background		: url(../img/common/arrow_blue.png) right no-repeat;
background-size	: contain;
}




/* footer ///////////////////////////////////////////////////////////// */

#footer {
background		: #EFEFEF;
}


#footer nav {
overflow		: hidden;
padding			: 50px 0;
}


#footer nav dl {
width			: 20%;
font-size		: 15px;
line-height		: 1.8;
float			: left;
}

#footer nav #companyMenu {
width			: 40%;
overflow		: hidden;
}


#footer nav dt {
font-weight		: 700;
margin-bottom	: 25px;
}


#companyMenu dd {
width			: 50%;
float			: left;
}



#footer nav a {
text-decoration	: none;
}

#footer nav a:hover {
text-decoration	: underline;
}


/* footer_subCont */
#footer_subCont {
text-align		: center;
padding			: 10px 0;
border-top		: 1px solid #999;
}

#footer_subCont li {
display			: inline-block;
font-size		: 15px;
line-height		: 1;
padding			: 0 35px;
position		: relative;
}

#footer_subCont li::after {
content			: '';
display			: block;
width			: 1px;
height			: 20px;
background		: #ccc;
position		: absolute;
top				: 50%;
right			: 0;
transform		: translate(0, -50%);
}

#footer_subCont li:last-child::after {
display			: none;
}


#footer_subCont li a {
text-decoration	: none;
}

#footer_subCont li a:hover {
text-decoration	: underline;
}


/* copyright */
#copyright {
display			: block;
color			: #666;
font-size		: 14px;
font-weight		: 700;
line-height		: 1.5;
text-align		: center;
padding			: 50px 0;
border-top		: 1px solid #999;
}

h3 span {
  font-size: 20px;
}