@charset "UTF-8";

/* Gnav */
.bl_gnav__bgBlack { /*background: #101010;*/ }

@media screen and (min-width: 668px) {
  .bl_gnav__bgBlack { height: 100px; border-bottom: none; padding:16px 0 10px 30px; }
  .bl_gnav__bgBlack .bl_gnav_logo { margin-top:7px; }
  .bl_gnav__bgBlack .bl_gnav_logo_link { width:130px; }
  .bl_gnav__bgBlack .bl_gnav_list .bl_gnav_item_link { color: #fff; }
  .bl_gnav__bgBlack .bl_gnav_list .on .bl_gnav_item_link { color: #fff; }
  .bl_gnav__bgBlack .bl_gnav_item:not(:last-child) .bl_gnav_item_link:hover::after,
  .bl_gnav__bgBlack .bl_gnav_item.on .bl_gnav_item_link::after{ background: #fff; }
  .bl_gnav__bgBlack .bl_gnav_item_form { border: solid 2px #fff; }
  .bl_gnav__bgBlack .bl_gnav_item_form_link:hover { color: #000; }
  .bl_gnav__bgBlack .bl_gnav_item_form_link:hover::before { background: #fff; }
}

@media screen and (max-width: 667px) {
  .bl_gnav__bgBlack { /*position:absolute;*/ }
  .bl_gnav__bgBlack .bl_gnav_logo { height: 55px; padding: 17px 0 0 21px; }
}
/* /Gnav */

.bl_mainTitle { /*background-color: #121212;*/ color: #FFF; }
.bl_mainTitle_txtArea { position: relative; margin: 0 auto; }
.bl_mainTitle_txtArea::before { content: ""; display: block; position: absolute; border-top: solid 1px #a0a0a0; border-left: solid 1px #a0a0a0; }

#Main .bl_pageTtl { font-weight: bold; text-align:left; }

@media screen and (min-width: 668px) {
  .bl_mainTitle { height: 290px; padding: 76px 0 100px; margin-bottom: 56px; }
  .bl_mainTitle.bl_mainTitle__slim { height: auto; padding: 88px 0 67px; }
  .bl_mainTitle_txtArea { width: 1100px; padding-left: 50px; }
  .bl_mainTitle_txtArea::before { top: 35px; left: 0; width: 20px; height: 210px; }
  .bl_mainTitle.bl_mainTitle__slim .bl_mainTitle_txtArea::before { height: 160px; }
  #Main .bl_pageTtl { font-size: 50px; letter-spacing: 0.03em; margin-bottom: 20px; }
  #Main .bl_pageTtl_sub { position: relative; top: 5px; font-size: 18px; letter-spacing: 0; margin-left: 5px; }
}
@media screen and (max-width: 667px) {
  .bl_pageSect { /*padding-top: 55px;*/ }
  .bl_mainTitle.bl_mainTitle__slim { height: 125px; }
  .bl_mainTitle { height: 230px; margin-bottom: 30px; }
  .bl_mainTitle_txtArea { width: 100%; padding: 40px 20px; }
  .bl_mainTitle_txtArea::before { top: 60px; left: 20px; width: 10px; height: 190px; }
  .bl_mainTitle.bl_mainTitle__slim .bl_mainTitle_txtArea::before { height: 85px; }
  #Main .bl_pageTtl { letter-spacing: 0.09em; padding-left: 26px; margin: 0 0 36px; font-size: 3.0rem; line-height: 1.3; }
  #Main .bl_pageTtl_sub { display: block; position: relative; top: 5px; font-size: 10px; letter-spacing: 0; margin-left: -5px; }
  #Main .bl_pageLead { padding-left: 26px; }
}

.bl_main_index .bl_main_index_ttl { margin-bottom: 0; }
.bl_main_index_list_item { border-bottom: solid 1px #818181; }
.bl_main_index_list .bl_main_index_list_item .bl_main_index_list_link { display: flex; align-items: center; width: 100%; text-decoration: none; }
.bl_main_index_list_link { position: relative; }
.bl_main_index_list_link::before { content: ""; display: block; position: absolute; border-right: solid 1px #151515; border-bottom: solid 1px #151515; transform: rotate(45deg); }

@media screen and (min-width: 668px) {
  .bl_main_index { margin-bottom: 98px; }
  .bl_main_index .bl_main_index_ttl { padding-bottom: 20px; }
  .bl_main_index_list_link { height: 60px; font-size: 17px; padding-left: 55px; }
  .bl_main_index_list_link::before { top: 26px; left: 21px; width: 7px; height: 7px; }
  .bl_main_index_list_link:hover { background: #ebebeb; }
}
@media screen and (max-width: 667px) {
  .bl_main_index .bl_main_index_ttl { font-size: 18px; line-height: 1.5; padding: 8px 0 25px; }
  .bl_main_index_list_link { min-height: 50px; font-size: 14px; line-height: 1.5; padding: 15px 0 14px 35px; }
  .bl_main_index_list_link::before { top: 20px; left: 11px; width: 7px; height: 7px; }
}

.bl_sectWrap { max-width: 1100px; margin: 0 auto; }
@media screen and (max-width: 667px) {
	.bl_sectWrap { margin: 0 20px; }
}

.bl_largeSect:last-child { padding-bottom: 0; }
.bl_largeSect:not(:last-of-type) { border-bottom: solid 1px #b0b0b0; }
.bl_largeSect .bl_largeSect_ttl { position: relative; font-weight: bold; }
.bl_largeSect .bl_largeSect_ttl::before { content: ""; display: block; position: absolute; left: 0; background: #000 }
.bl_largeSect .bl_largeSect_ttl_num { position: absolute; z-index: -1; color: #eaeaea; font-weight: bold; }

@media screen and (min-width: 668px) {
  .bl_largeSect { padding: 0 0 60px; margin-top: 70px; margin-bottom: 60px; }
  .bl_largeSect.bl_largeSect__withNum,
  .bl_largeSect .bl_largeSect_ttl_wrap { padding-top: 90px; }
  .bl_largeSect .bl_largeSect_ttl { font-size: 38px; padding-left: 30px; padding-top: 13px; margin-bottom: 20px; }
  .bl_largeSect .bl_largeSect_ttl::before { top: 38px; width: 14px; height: 5px; }
  .bl_largeSect .bl_largeSect_ttl_num { top: -135px; left: -7px; font-size: 150px; }
  .bl_largeSect_lead { font-size: 16px; line-height: 2; padding-left: 30px; margin-bottom: 63px; }
}
@media screen and (max-width: 667px) {
  .bl_largeSect { padding: 0 0 45px; margin-top: 55px; margin-bottom: 45px; }
  .bl_largeSect.bl_largeSect__withNum,
  .bl_largeSect .bl_largeSect_ttl_wrap { padding-top: 55px; }
  .bl_largeSect .bl_largeSect_ttl { font-size: 28px; line-height: 1.5; padding: 15px 0 0 25px; margin-bottom: 20px; }
  .bl_largeSect .bl_largeSect_ttl::before { top: 32px; left: 1px; width: 12px; height: 4px; }
  .bl_largeSect .bl_largeSect_ttl_num { top: -96px; left: -5px; font-size: 115px; }
  .bl_largeSect_lead { font-size: 14px; line-height: 2; padding-left: 25px; margin-bottom: 35px; }
}

.bl_sect .bl_sect_ttl,
.bl_sectTtl { position: relative; border: none; padding: 0; font-weight: bold; }
.bl_sect .bl_sect_ttl::before,
.bl_sectTtl::before { content: ""; display: block; position: absolute; left: 0; background: #000; }
.bl_sect_cont_description { border: solid 1px #818181; }
.bl_sect_cont_description_term { font-weight: bold; }
@media screen and (min-width: 668px) {
  .bl_sect:not(:first-of-type) { margin-top: 75px; }
  .bl_sect .bl_sect_ttl,
  .bl_sectTtl { font-size: 26px; padding-left: 26px; margin-bottom: 20px; }
  .bl_sect .bl_sect_ttl::before,
  .bl_sectTtl::before { top: 17px; width: 10px; height: 2px; }
  .bl_sect .bl_sect_cont { display: flex; justify-content: space-between; padding-left: 30px; }
  #Main .bl_sect .bl_sect_cont_txt { width: 560px; font-size: 16px; line-height: 2; margin-bottom: 0; }
  #Main .bl_sect .bl_sect_cont_txt:not(:last-of-type) { margin-bottom: 12px; }
  #Main .bl_sect .bl_sect_cont_imgWrap { width: 443px; margin-top: 7px; }
  .bl_sect_cont_description { font-size: 16px; line-height: 2; padding: 22px 35px 20px 30px; margin: 32px 0 0 30px; }
  .bl_sect_cont_description.bl_sect_cont_description__isms { display: flex; align-items: center; justify-content: space-between; width: 100%; margin-top: 67px; }
  .bl_sect_cont_description.bl_sect_cont_description__isms .bl_sect_cont_description_img { width: 154px; }
  #Main .bl_sect_cont_description.bl_sect_cont_description__isms .bl_sect_cont_description_txt { width: 815px; line-height: 2; margin-bottom: 0; }
  .bl_sect_cont_description_term { margin-bottom: 5px; }
}
@media screen and (max-width: 667px) {
  .bl_sect:not(:first-of-type) { margin-top: 47px; }
  .bl_sect .bl_sect_ttl,
  .bl_sectTtl { font-size: 22px; padding-left: 25px; margin-bottom: 10px; }
  .bl_sect .bl_sect_ttl::before,
  .bl_sectTtl::before { top: 14px; width: 10px; height: 2px; }
  .bl_sect .bl_sect_cont { padding-left: 25px; }
  #Main .bl_sect .bl_sect_cont_txt { font-size: 14px; line-height: 2; margin-bottom: 0; }
  #Main .bl_sect .bl_sect_cont_txt:not(:last-of-type) { margin-bottom: 10px; }
  #Main .bl_sect .bl_sect_cont_imgWrap { margin-top: 17px; }
  #Main .bl_sect .bl_sect_cont_description { font-size: 14px; line-height: 2; padding: 14px 20px 10px 20px; margin: 25px 0 0 25px; }
  #Main .bl_sect_cont_description.bl_sect_cont_description__isms { width: 100%; padding-bottom: 10px; margin-top: 15px; }
  #Main .bl_sect_cont_description.bl_sect_cont_description__isms .bl_sect_cont_description_img { width: 32.258%; margin: 8.064% auto 3.87%; }
  #Main .bl_sect_cont_description.bl_sect_cont_description__isms .bl_sect_cont_description_txt { font-size: 14px; line-height: 2; padding: 0 7.258%; margin-bottom: 0; }
  #Main .bl_sect_cont_description_data { letter-spacing: 0.03em; }
}

#Main .bl_smallSect .bl_smallSect_ttl,
#Main .bl_smallSect .bl_smallSect_txt { width: 100%; }
#Main .bl_smallSect .bl_smallSect_ttl {  font-weight: bold; padding: 0; border: none; }
@media screen and (min-width: 668px) {
  .bl_smallSectWrap { display:flex; flex-wrap: wrap; justify-content: space-between; margin-top: 75px; }
  .bl_smallSect { width: 507px; }
  .bl_smallSect:nth-of-type(odd) { margin-left: 30px; }
  .bl_smallSect:nth-of-type( -n + 2) { margin-bottom: 30px; }
  #Main .bl_smallSect .bl_smallSect_ttl { font-size: 24px; margin-bottom: 15px; }
  #Main .bl_smallSect .bl_smallSect_txt { line-height: 2; margin-bottom: 0; }
}
@media screen and (max-width: 667px) {
  .bl_smallSectWrap { padding-left: 25px; margin-top: 40px; }
  .bl_smallSect:not(:last-of-type) { margin-bottom: 40px; }
  #Main .bl_smallSect .bl_smallSect_ttl { font-size: 20px; margin-bottom: 11px; }
  #Main .bl_smallSect .bl_smallSect_txt { font-size: 14px; line-height: 2; margin-bottom: 0; }
}

.bl_contact_wrap { max-width: 1100px; margin: 0 auto; }
.bl_contact { position: relative; }
.bl_contact_ttl { font-family: 'Roboto', sans-serif; }
.bl_contact_cont { background: #f3f3f3; }
.bl_contact_cont_tel_ttl { font-weight: bold; }
#Main .bl_contact_toMail { margin: 0 auto; }
@media screen and (min-width: 668px) {
  .bl_contact_wrap { padding-top: 60px; }
  .bl_contact { padding: 48px 0 0 43px; border-top: solid 2px #000; border-left: solid 2px #000; }
  .bl_contact_ttlWrap { display: inline-flex; align-items: center; position: absolute; top: -40px; left: 23px; padding: 0 22px 0 17px; background: #fff; }
  .bl_contact_ttl { font-size: 50px; font-weight: bold; }
  #Main .bl_contact .bl_contact_ttl_sub { font-size: 16px; margin: 0 0 0 20px; }
  .bl_contact_cont { text-align: center; padding: 36px 0 28px; }
  .bl_contact_cont_tel { width: 658px; margin: 0 auto 28px; }
  .bl_contact_cont_tel_ttl { font-size: 22px; margin-bottom: 10px; }
  .bl_contact_cont_tel_officeWrap { display: flex; justify-content: space-between; }
  .bl_contact_cont_tel_office { display: flex; align-items: center; font-size: 18px; }
  .bl_contact_cont_tel_office_num { font-size: 40px; margin-left: 20px; }
  .bl_contact_cont_tel_time { font-size: 14px; }
  #Main .bl_contact_toMail { max-width: 360px; width: 360px; }
  #Main .bl_contact_toMail .bl_contact_toMail_link { display: flex; align-items: center; justify-content: center; height: 60px; padding: 0; border-width: 2px; }
}
@media screen and (max-width: 667px) {
  .bl_contact_wrap { margin: 50px 20px; padding-top: 18px; }
  .bl_contact { padding: 58px 0 0 25px; border-top: solid 2px #000; border-left: solid 2px #000; }
  #Main .bl_contact .bl_contact_ttlWrap { position: absolute; top: -26px; left: 0; padding: 0 12px; }
  #Main .bl_contact .bl_contact_ttl { display: inline-block; font-size: 35px; font-weight: bold; padding: 0 12px; background: #fff; }
  #Main .bl_contact .bl_contact_ttl_sub { display: block; font-size: 12px; margin: -7px 0 0 12px; }
  .bl_contact_cont { text-align: center; padding: 23px 0 20px; }
  .bl_contact_cont_tel_ttl { font-size: 15px; margin-bottom: 10px; }
  .bl_contact_cont_tel_officeWrap { margin-bottom: 5px; }
  .bl_contact_cont_tel_office { display: inline-flex; align-items: center; width: 270px; font-size: 13px; padding: 10px 24px; background: #fff; }
  .bl_contact_cont_tel_office:not(:last-of-type) { margin-bottom: 5px; }
  .bl_contact_cont_tel_office_num { font-size: 25px; padding-left: 26px; background: url(/website/img/img_tel.png) no-repeat 0 center; background-size: 15px 15px; margin-left: 10px; }
  .bl_contact_cont_tel_time { font-size: 13px; margin-bottom: 20px;}
  #channel #Main .bl_contact_toMail { max-width: 270px; width: 270px; margin-bottom: 0;}
  #Main .bl_contact_toMail .bl_contact_toMail_link { display: flex; align-items: center; justify-content: center; height: 55px; padding: 0; border-width: 2px; }
}



.bl_breadcrumb { display: flex; font-size: 12px; list-style: none; margin: 90px 0 15px 20px; }
.bl_breadcrumb_item:not(:last-of-type)::after { content: " ／ "; }
@media screen and (max-width: 667px) {
  .bl_breadcrumb { display: none; }
}

.bl_sect.bl_sect__link { margin-top: 0; border-top: solid 1px #b0b0b0; }
.bl_sect.bl_sect__link #recruit { background: #fff; margin-top: 0; }
.bl_sect.bl_sect__link .bl_sect__link_ttl { display: flex; align-items: center; justify-content: center; font-weight: bold; }
@media screen and (min-width: 668px) {
  .bl_sect.bl_sect__link .bl_sect__link_ttl { height: 70px; font-size: 22px; }
}
@media screen and (max-width: 667px) {
  .bl_sect.bl_sect__link .bl_sect__link_ttl { height: 35px; font-size: 15px; }
}

.bl_visualSect_wrap { max-width: 1500px; margin: 0 auto; }
.bl_visualSect { position: relative; padding-top: 36.666666%; margin: 72px 0; }
.bl_visualSect::before { content: ""; position: absolute; left: 0; top: 0; z-index: 0; width: 100%; padding-top: 36.666666%; background: center center #ccc; background-size: cover; }
.bl_visualSect_box { position: relative; z-index: 1; background: #fff; max-width: 1040px; margin: -140px auto 0; min-height: 140px; }
.bl_visualSect_ttl { position: relative; top: -28px; margin-bottom: -28px; text-align: center; font-size: 73px; font-weight: bold; line-height: 1.2; }
.bl_visualSect_ttl_sub { display: block; font-size: 18px; margin: 6px 0 20px; }
.bl_visualSect_main { padding: 0 50px; line-height: 2; }

@media screen and (max-width: 667px) {
	.bl_visualSect { padding-top: 56%; margin: 43px 0; }
	.bl_visualSect::before { padding-top: 56%; }
	.bl_visualSect_box { width: 89.333333%; margin-top: -50px; }
	.bl_visualSect_ttl { font-size: 35px; top: -13px; margin-bottom: -13px; }
	.bl_visualSect_ttl_sub { font-size: 12px; margin: 2px 0 17px; }
	.bl_visualSect_main { font-size: 15px; line-height: 1.9; padding: 0 15px; font-feature-settings: "palt"; }
}

.bl_orderedSect_wrap { padding: 0 95px; }
.bl_orderedSect { padding-left: 95px; margin: 32px 0; }
.bl_orderedSect_head { }
.bl_orderedSect_num { display: inline-block; width: 95px; margin-left: -100px; font-size: 70px; font-weight: bold; color: #eaeaea; vertical-align: middle; }
.bl_orderedSect_ttl { display: inline-block; font-size: 26px; font-weight: bold; font-feature-settings: "palt"; letter-spacing: 0.06em; vertical-align: middle; }
.bl_orderedSect_main { line-height: 2; }
.bl_orderedSect_head + .bl_orderedSect_main { margin-top: -20px; }
.bl_orderedSect_txt { }

@media screen and (max-width: 667px) {
	.bl_orderedSect_wrap { padding: 0; }
	.bl_orderedSect { padding-left: 23px; margin: 25px 0; }
	.bl_orderedSect_head { }
	.bl_orderedSect_num { display: block; width: auto; margin: 0; font-size: 50px; }
	.bl_orderedSect_ttl { display: block; font-size: 20px; }
	.bl_orderedSect_num + .bl_orderedSect_ttl { margin-top: -16px; }
	.bl_orderedSect_main { }
	.bl_orderedSect_head + .bl_orderedSect_main { margin-top: 11px; }
	.bl_orderedSect_txt { font-size: 15px; line-height: 1.9; font-feature-settings: "palt"; }
}


.bl_wysiwyg { }
.bl_wysiwyg.bl_sectWrap { }
.bl_wysiwyg h1 { position: relative; font-weight: bold; font-size: 38px; padding-left: 30px; padding-top: 13px; margin: 1em 0 0.6em; }
.bl_wysiwyg h1::before { content: ""; display: block; background: #000; position: absolute; left: 0; top: 38px; width: 14px; height: 5px; }
.bl_wysiwyg h2 { position: relative; font-weight: bold; font-size: 26px; border: none; padding: 0 0 0 26px; margin: 1em 0 0.6em; }
.bl_wysiwyg h2::before { content: ""; display: block; background: #000; position: absolute; left: 0; top: 17px; width: 10px; height: 2px; }
.bl_wysiwyg h3 { font-size: 24px; margin: 1em 0 0.6em; font-weight: bold; padding: 0; border: none; }
.bl_wysiwyg p { font-size: 16px; line-height: 2; margin: 12px 0; }
.bl_wysiwyg > :first-child { margin-top:0 !important; }
.bl_wysiwyg > :last-child { margin-bottom:0 !important; }

@media screen and (max-width: 667px) {
	.bl_wysiwyg { }
	.bl_wysiwyg.bl_sectWrap { margin-bottom:30px; }
	.bl_wysiwyg h1 { font-size: 28px; line-height: 1.5; padding: 15px 0 0 25px; }
	.bl_wysiwyg h1::before { top: 32px; left: 1px; width: 12px; height: 4px; }
	.bl_wysiwyg h2 { font-size: 22px; padding-left: 25px; margin-bottom: 10px; }
	.bl_wysiwyg h2::before { top: 14px; }
	.bl_wysiwyg h3 { font-size: 20px; margin-bottom: 11px; }
	.bl_wysiwyg p { font-size: 14px; line-height: 2; margin-bottom: 0; }
}
