/*====================================

	----------------------------------
  		Structure
  	----------------------------------

  	0. General
  	1. Header
  	2. Main
  	3. Footer
  	4. Page

  	----------------------------------
  		Change Log
  	----------------------------------

	-2019/09/27	 Fixed all

====================================*/

/*====================================

	0. General

====================================*/
@font-face {
  font-weight: 100;
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
}
@font-face {
  font-weight: 200;
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
}
@font-face {
  font-weight: 300;
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
}
@font-face {
  font-weight: 400;
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
}
@font-face {
  font-weight: 600;
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
}
@font-face {
  font-weight: 700;
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
}
@font-face {
  font-weight: 800;
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
}
@font-face {
  font-weight: 500;
  font-family: "Yu Mincho";
  src: local("Yu Mincho Regular");
}
.mincho { font-family: "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif; }

html { font-size: 62.5%; }
body { position: relative; background: #ffffff; color: #111; font-weight: 400; font-size: 1.0rem; font-family:"游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; }
img { vertical-align: bottom; }
a { color: #202020; text-decoration: none; cursor: pointer; }
a:hover { opacity: 0.8; }
input[type=submit] { cursor: pointer; }
ul, ol { list-style: none; }

div.inner { display: block; overflow: hidden; margin: 0 auto; width: 1000px; zoom: 1; }
.spOnly { display: none !important; }


/*====================================

	1. Header

====================================*/
/*==   2024-01-15 rep begin =======*/
header { display: block; overflow: hidden; height: 100px; min-width: 1040px; display:flex; flex-wrap:wrap; justify-content: space-between;}
/*====================================
header { display: block; overflow: hidden; height: 100px; min-width: 1040px; }
====================================*/
/*==   2024-01-15 rep end =======*/
header #logo { float: left; margin: 19px 0 18px 39px; width: 295px; }
header #logo img { width: 295px; height: 63px; }
/*==   2024-01-15 add begin =======*/
header #eduapp { float: center;   padding: 25px; }
header #eduapp img { width: 295px; height: 63px; }
/*== object-fit: cover; を使うとＰＣとＳＰで同一画像を共用。ＰＣではトリミング =======*/
/*==   2024-01-15 add end =======*/
header nav { float: right; }
header .cmnNav { display: -webkit-flex; display: flex; background: url("/dhcb/common/img/bg_cmnnav.png") no-repeat 0 0; }
header .cmnNav__item { padding: 44px 0 49px; text-align: center; font-size: 1.7rem; line-height: 1; }
header .cmnNav__item:nth-child(1) { width: 190px; }
header .cmnNav__item:nth-child(2) { width: 145px; }
header .cmnNav__item a { color: #fff; font-weight: bold; }


/*====================================

	2. Main

====================================*/
main { display: block; overflow: hidden; min-width: 1040px; background: url("/dhcb/common/img/bg_main02.png") no-repeat 50% 0, url("/dhcb/common/img/bg_main01.png"); font-size: 1.6rem; line-height: 1.6; }

/*-----------------------------------------------------
Title
------------------------------------------------------*/
.title00 { padding-top: 145px; height: 400px; color: #fff; line-height: 1; }
.title00 h1 { margin: 0 auto; width: 1000px; font-weight: normal; font-size: 5.6rem; }
.title00 span { display: block; margin: 15px auto 0; width: 1000px; font-weight: bold; font-size: 2.2rem; }
.title01 { display: -webkit-flex; display: flex; margin-top: 1.5em; font-weight: normal; font-size: 3rem; line-height: 1.2; -webkit-align-items: center; align-items: center; }
.title01 span { margin-left: 1.5em; font-size: 1.6rem; }
.title02 { margin-top: 1.5em; font-weight: normal; font-size: 2rem; line-height: 1.2; }
.company .title00 { background: url("/dhcb/common/img/bg_title_company.png") no-repeat 50% 0; }
.company .title01 { color: #006ebc; }
.business .title00 { background: url("/dhcb/common/img/bg_title_business.png") no-repeat 50% 0; }
.business .title01 { color: #ef9d00; }

/*-----------------------------------------------------
Text
------------------------------------------------------*/
main p { margin: 1em 0; }
main small { font-size: 80% !important; }
.taR { text-align: right; }
.taL { text-align: left; }
.taC { text-align: center; }

/*-----------------------------------------------------
List
------------------------------------------------------*/
.discList { margin: 1em 0 1em 1.5em; list-style: disc; }
.decimalList { margin: 1em 0 1em 1.5em; list-style: decimal; }
.kakkoList { margin: 1em 0; padding-left: 1.9em; list-style: none inside; text-indent: -1.9em; }
.kakkoList > li { counter-increment: cnt; }
.kakkoList > li:before { display: marker; content: "(" counter(cnt) ") "; }
.kakkoList > li * { text-indent: 0; }
.komeList { margin: 1em 0; text-indent: 0; }
.komeList > li { padding-left: 1em; text-indent: -1em; }

/*-----------------------------------------------------
Icon
------------------------------------------------------*/
.pdfIcon { position: relative; display: inline-block; padding-right: 1.2em; }
.pdfIcon:after { position: absolute; top: 0.1em; right: 0; width: 1.5em; height: 1.2em; background: url("/dhcb/common/img/icon_pdf.svg") no-repeat 100% 0 / auto 1.2em; content: ""; }


/*====================================

	3. Footer

====================================*/
footer { position: relative; margin-top: 33px; padding-bottom: 30px; font-size: 1.6rem; line-height: 1; }
footer .contactBlock { display: -webkit-flex; display: flex; padding: 30px 0; background: url("/dhcb/common/img/line.png") no-repeat 50% 0, url("/dhcb/common/img/line.png") no-repeat 50% 100%; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
footer .contactBlock dt { position: relative; width: 320px; font-size: 1.8rem; }
footer .contactBlock dt:after { position: absolute; top: 0; right: 0; bottom: 0; margin: auto; width: 1px; height: 50px; background: #c9cdd3; content: ""; }
footer .contactBlock dd { width: 680px; }
footer .contactBlock ul { display: -webkit-flex; display: flex; flex-wrap: wrap; }
footer .contactBlock li { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
footer .contactBlock li span { display: inline-block; margin-right: 10px; padding: 6px 0; width: 80px; color: #fff; text-align: center; font-weight: bold; font-size: 1.6rem; line-height: 1; }
footer .contactBlock li.tel { margin-left: 40px; font-size: 2.4rem; }
footer .contactBlock li.tel span { background: #006ebc; }
footer .contactBlock li.fax { margin-left: 40px; font-size: 2.4rem; }
footer .contactBlock li.fax span { background: #f6ab00; }
footer .contactBlock li.time { margin-top: 10px; width: 100%; -webkit-justify-content: center; justify-content: center; }
footer .bnNav { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; margin: 40px auto 0; width: 920px; }
footer .bnNav a { position: relative; display: -webkit-flex; display: flex; width: 293px; height: 80px; margin: 0 10px; border: 1px solid #c9cdd3; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
footer .bnNav a:after { position: absolute; right: 10px; bottom: 10px; width: 11px; height: 11px; background: url("/dhcb/common/img/icon_blank.png") no-repeat; content: ""; }
footer .cmnNav { display: -webkit-flex; display: flex; margin-top: 40px; -webkit-justify-content: center; justify-content: center; }
footer .cmnNav li { position: relative; margin: 0 30px; }
footer .cmnNav li:first-child:before { position: absolute; top: 0; bottom: 0; left: -30px; margin: auto; width: 1px; height: 23px; background: #bcbcbc; content: ""; -webkit-transform: rotate(25deg); transform: rotate(25deg); }
footer .cmnNav li:after { position: absolute; top: 0; right: -30px; bottom: 0; margin: auto; width: 1px; height: 23px; background: #bcbcbc; content: ""; -webkit-transform: rotate(25deg); transform: rotate(25deg); }
footer p { margin-top: 40px; color: #77869e; text-align: center; }
footer .mincho { font-weight:bold; }

#page-top { position: fixed; right: 20px; bottom: 30px; }
#page-top a { display: block; width: 50px; height: 30px; background: url("/dhcb/common/img/icon_pagetop.png") no-repeat 0 0; text-align: center; text-indent: -9999px; }


/*====================================

	4. page

====================================*/
/*-----------------------------------------------------
Top
------------------------------------------------------*/
.topBlock01 { padding: 132px 0 60px; background: url("/dhcb/common/img/bg_top_main02.png") no-repeat 50% 0, url("/dhcb/common/img/bg_top_main01.png") no-repeat 50% 0; }
.topBlock01 h1 { margin: 0 auto 110px; width: 1000px; }
.topBlock01 h2 { margin: 0 auto 10px; width: 1000px; font-weight: normal; font-size: 4rem; }
.topBlock01 dl { margin: 0 auto; padding: 35px 40px; width: 1000px; background: #fff; }
.topBlock01 dt { float: left; color: #77869e; font-weight: bold; }
.topBlock01 dd { margin-left: 120px; }
.topBlock01 dd a { text-decoration: underline; }
.topBlock02 { margin-bottom: 40px; }
.topBlock02 ul { display: -webkit-flex; display: flex; }
.topBlock02 li { width: 50%; }
.topBlock02 a { display: block; padding: 120px 0 0 110px; width: 100%; height: 325px; color: #fff; font-size: 4.6rem; }
.topBlock02 a span { display: block; font-weight: bold; font-size: 2.6rem; }
.topBlock02 li:first-child a { background: url("/dhcb/common/img/bg_top_company.png") no-repeat; }
.topBlock02 li:last-child a { background: url("/dhcb/common/img/bg_top_business.png") no-repeat; }


/*-----------------------------------------------------
Company
------------------------------------------------------*/
.companyBlock01 { margin: 0 auto; padding: 30px 500px 50px 0; width: 1000px; background: url("/dhcb/common/img/company_img01.png") no-repeat 100% 50%; }
.companyBlock01 p { margin-top: 1.5em; line-height: 1.8; }
.companyBlock01 p:last-child { font-size: 1.8rem; }
.companyBlock02 { position: relative; padding: 50px 0; background: #006ebc; color: #fff; }
.companyBlock02 h2 { position: absolute; top: 30px; right: 0; left: 0; margin: auto; width: 200px; background: #006ebc; text-align: center; font-weight: normal; font-size: 2.8rem; }
.companyBlock02 p { margin: 0 auto; padding: 35px 40px; width: 1000px; border: 1px solid rgba(255,255,255,0.50); font-size: 2rem; line-height: 1.8; }
.companyBlock02 ruby { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; }
.companyBlock02 rt { font-size: 1.8rem; }
.companyBlock03 { margin: 70px auto; width: 1000px; }
.companyBlock03 p { font-size: 2rem; }
.companyBlock03 table { margin-top: 25px; width: 100%; border-collapse: collapse; border-top: 1px solid #bbb; }
.companyBlock03 th,
.companyBlock03 td { padding: 15px 0; border-bottom: 1px solid #bbb; vertical-align: top; text-align: left; font-weight: normal; }


/*-----------------------------------------------------
Business
------------------------------------------------------*/
.business { padding-bottom: 80px; }
.businessBlock01 { margin: 0 auto; width: 1000px; }
.businessBlock01 div { display: block; overflow: hidden; }
.businessBlock01 figure { float: left; margin-top: 1.5em; }
.businessBlock01 p { margin-left: 520px; }
.businessBlock02 { display: -webkit-flex; display: flex; margin: 40px auto 80px; padding: 50px 40px 40px; width: 1000px; background: #fff; -webkit-justify-content: space-between; justify-content: space-between; flex-wrap: wrap; }
.businessBlock02 div { position: relative; border-top: 1px solid #f6ab00; }
.businessBlock02 h3 { position: absolute; top: -15px; right: 0; left: 0; margin: auto; width: 112px; background: #fff; color: #f6ab00; text-align: center; }
.businessBlock02 div:nth-child(2) h3 { width: 241px; }
.businessBlock02 figure { margin-top: 30px; }
.businessBlock02 p { margin: 1.5em 0 0; width: 100%; text-align: center; font-size: 2rem; }


/*-----------------------------------------------------
Privacy Policy
------------------------------------------------------*/
.privacyBlock { margin: 0 auto; width: 1000px; }
.privacyBlock p.copy { margin: 1.5em 0; padding: 2em; background: #fff; font-size: 1.8rem; }
.privacyBlock .lineList > li { margin-bottom: 25px; padding-bottom: 25px; border-bottom: 1px solid #bbb; }
.privacyBlock .komeList,
.privacyBlock .discList { margin-top: 0; }
.privacyBlock a { text-decoration: underline; }
.privacyTitle { margin: 50px 0 30px; text-align: center; font-weight: normal; }
ul.privacyAnc { display: -webkit-flex; display: flex; margin: 0 auto 60px; padding: 0 100px 30px; width: 1000px; border-bottom: 1px solid #bbb; text-align: center; -webkit-justify-content: center; justify-content: center; flex-wrap: wrap; }
ul.privacyAnc li a { padding: 0 12px 0 22px; background: url("/dhcb/common/img/privacy_anc.png") no-repeat 0 50% / 18px 9px; }

