@charset "utf-8";

#Header {
  position:fixed;
  width:100%;
  min-width:1200px;
  height:90px;
  background:#fff;
  z-index:100;
}
#HeaderPadding {
  padding:15px 16px;
}
#HeaderLogo {
  float:left;
  padding-left:65px;
  width:300px;
  color:#222;
  background:url("../img/logo.png") no-repeat center left;
  background-size:60px 60px;
  cursor:pointer;
}
#HeaderLogo:hover {
  opacity:0.75;
}
#HeaderLogo span {
  display:block;
  font-size:11px;
  line-height:1.0em;
}
#HeaderLogo strong {
  display:block;
  padding:5px 0 7px 0;
  font-size:22px;
  line-height:1.0em;
  font-weight:400;
}
#HeaderNavi {
  float:right;
  margin-right:10px;
  width:700px;
}
#HeaderNavi ul {
  list-style:none;
}
#HeaderNavi ul li {
  float:left;
  padding:3px 6px;
  list-style:none;
}
#HeaderNavi ul li a {
  padding:0 3px;
  text-decoration:none;
  color:#000;
}
#HeaderNavi ul li a:hover {
  color:#000;
  background:#ffff00;
}
#HeaderNavi #HeaderNaviSub {
  padding-bottom:5px;
}
#HeaderNavi #HeaderNaviSub ul {
  float:right;
  font-size:15px;
  line-height:1.0em;
}
#HeaderNavi #HeaderNaviMain {
}
#HeaderNavi #HeaderNaviMain ul {
  float:right;
  font-size:22px;
  line-height:1.0em;
}
#HeaderNavi #HeaderNaviMain ul li#home {
  width:30px;
}
#HeaderNavi #HeaderNaviMain ul li#home a {
  display:block;
  width:30px;
  height:30px;
  background:url("../img/navi_home.png") no-repeat center center;
  background-size:20px 20px;
  text-indent:-9999px;
}
#HeaderNavi #HeaderNaviMain ul li#home a:hover {
  background:#ffff00 url("../img/navi_home.png") no-repeat center center;
  background-size:20px 20px;
}
#HeaderMenu {
  float:right;
  width:50px;
}
#HeaderMenu p {
  width:50px;
  height:50px;
  background:url("../img/btn_menu.png") no-repeat center center;
  background-size:40px 40px;
  text-indent:-9999px;
  transition: 0.50s;
  cursor:pointer;
}
#HeaderMenu p.close {
  background:url("../img/btn_menu_close.png") no-repeat center center;
  background-size:40px 40px;
  transition: 0.50s;
}

#boxOpenMenu {
  position:fixed;
  display:none;
  width:100%;
  height:100vh;
  background:rgb(0 0 0 / 70%);
  z-index:90;
  transition: 0.50s;
}
#boxOpenMenu a {
  text-decoration:none;
}
#boxOpenMenu #boxMenuFrame {
  margin:100px 10px 80px;
  padding:60px 0;
  background:#fff;
  border-radius:6px;
}
#boxOpenMenu #boxMenuFrame ul {
  list-style:none;
}
#boxOpenMenu #boxMenuFrame ul li {
  list-style:none;
}
#boxOpenMenu #openMenu1st {
  padding-bottom:40px;
}
#boxOpenMenu #openMenu1st ul {
}
#boxOpenMenu #openMenu1st ul li {
  float:left;
  margin:2px;
  width:calc( 25% - 4px );
}
#boxOpenMenu #openMenu1st ul li a {
  display:block;
  padding:20px 0;
  font-size:24px;
  text-align:center;
  border:1px solid #f0f0f0;
  border-radius:3px;
}
#boxOpenMenu #openMenu1st ul li a:hover {
  border:1px solid #000;
}
#boxOpenMenu #openMenu2nd {
  padding-bottom:40px;
}
#boxOpenMenu #openMenu2nd ul {
}
#boxOpenMenu #openMenu2nd ul li.level1 {
  float:left;
  padding-right:60px;
}
#boxOpenMenu #openMenu2nd ul li.level1 a {
  display:inline-block;
  font-size:24px;
}
#boxOpenMenu #openMenu2nd ul li.level1 ul {
  padding:12px 0;
}
#boxOpenMenu #openMenu2nd ul li.level1 ul.level2 li {
  padding-left:15px;
  background:url("../img/bg_notice_line.png") no-repeat center left;
}
#boxOpenMenu #openMenu2nd ul li.level1 ul.level2 li a {
  font-size:16px;
}
#boxOpenMenu #openMenu3rd {
  padding-bottom:60px;
}
#boxOpenMenu #openMenu3rd ul {
}
#boxOpenMenu #openMenu3rd ul li {
  float:left;
  padding-right:60px;
}
#boxOpenMenu p#btnopenMenuClose {
  margin:0 auto;
  padding:6px 0;
  width:220px;
  text-align:center;
  color:#000;
  cursor:pointer;
  border:1px solid #f0f0f0;
  border-radius:6px;
}
#boxOpenMenu p#btnopenMenuClose:hover {
  color:#9e005d;
  border:1px solid #9e005d;
}



#HeaderSpacer {
  height:90px;
}


#Menu {
  display:block;
  background:#ffff00;
}
#Menu ul {
  border-right:1px solid #ccc;
  list-style:none;
}
#Menu ul li {
  float:left;
  list-style:none;
}
#Menu ul li a {
  position: relative;
  display:block;
  padding:30px 0;
  width:297px;
  color:#000;
  font-size:20px;
  line-height:1.0em;
  text-align:center;
  text-decoration:none;
  border-left:1px solid #ccc;
  border-right:1px solid #fff;
  overflow: hidden;
  z-index: 1;
}
#Menu ul li a::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 298px;
  height: 100%;
  content: '';
  background: #000;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
#Menu ul li a strong {
  font-size:24px;
  font-weight:400;
}
#Menu ul li a:hover {
  color: #fff;
}
#Menu ul li a:hover::after {
  transform: scale(1, 1);
}
}
#Menu ul li:last-child a {
  width:297px;
}




#Content {
  padding:90px 0 90px;
}


#Footer {
}
#Footer #FooterImage {
  height:150px;
  text-indent:-9999px;
  background:url("../img/bg_footer.png") repeat-x bottom center;
  background-size:auto 100px;;
}
#Footer #FooterProfile {
  padding:40px 0;
  line-height:1.1em;
  text-align:center;
  background:#f3f3f3;
}
#Footer #FooterProfile p {
  padding:0 0 9px;
  font-size:26px;
  font-family: "Shippori Mincho", serif;
}
#Footer #FooterProfile h2 {
  font-size:26px;
  font-weight:normal;
}
#Footer #FooterProfile h2 span {
  display:block;
  padding:6px 0;
  font-size:15px;
}
#Footer #FooterProfile address {
  display:block;
  padding:9px 0 0;
  font-size:13px;
  font-style:normal;
}
#Footer #FooterProfile address a.btnFooterTel {
  color:#000;
  text-decoration:none;
  pointer-events:none;
}
#Footer #FooterMenu {
  padding:40px 0;
  background:#e6e6e6;
}
#Footer #FooterMenu a {
  color:#333;
  text-decoration:none;
}
#Footer #FooterMenu a:hover {
  text-decoration:underline;
}
#Footer #FooterMenu #FooterMenuUpper {
  padding:0 0 20px 0;
}
#Footer #FooterMenu #FooterMenuUpper ul {
  list-style:none;
}
#Footer #FooterMenu #FooterMenuUpper ul li.level1 {
  float:left;
  padding-right:50px;
  list-style:none;
  font-size:18px;
}
#Footer #FooterMenu #FooterMenuUpper ul li ul.level2 {
  margin-left:20px;
  font-size:14px;
  list-style:square;
  line-height:1.5em;
}
#Footer #FooterMenu #FooterMenuLower {
}
#Footer #FooterMenu #FooterMenuLower ul {
  list-style:none;
}
#Footer #FooterMenu #FooterMenuLower ul li {
  float:left;
  padding-right:60px;
  list-style:none;
  font-size:16px;
}
#Footer #FooterCopy {
  padding:20px 0;
  font-size:12px;
  line-height:1.0em;
  text-align:center;
  background:#ffff00;
}

#Footer #btntop {
  position: fixed;
  bottom: -80px;
  right: 20px;
  padding: 18px 0;
  width: 80px;
  font-size: 15px;
  line-height: 1.3em;
  text-align: center;
  background: #ffff00;
  box-shadow: 0 3px 9px 0 rgba(0, 0, 0, .3);
  border-radius: 40px;
  cursor: pointer;
  transition: 0.5s;
  z-index: 80;
}
#Footer #btntop:hover {
  color: #ffff00;
  background: #000;
  transition: 0.5s;
}


#Content section .boxAttention {
  margin:24px 0;
  padding:20px 30px;
  font-size:13px;
  line-height:1.3em;
  background:#f9f9f9;
  border:1px solid #ccc;
}


a.ext {
  padding-right: 23px;
  background: url(../img/icon_ext.png) no-repeat right 3px center;
  background-size: 13px 13px;
}
a.pdf {
  padding-right: 23px;
  background: url(../img/icon_pdf_2.png) no-repeat right 3px center;
  background-size: 13px 18px;
}
a.btnDocWord,
a.btnDocExcel,
a.btnDocPDF,
a.btnTel,
a.btnExt,
a.btn {
  display:inline-block;
  margin:0 12px;
  padding:9px 23px;
  border:1px solid #333;
  border-radius:6px;
  text-decoration:none;
}
a.btnExt {
  padding-right: 42px;
  background: url(../img/icon_ext.png) no-repeat right 18px center;
  background-size: 13px 13px;
}
a.btnTel {
  padding-right: 42px;
  background: url(../img/icon_tel.png) no-repeat right 12px center;
  background-size: 24px 24px;
  pointer-events: none; 
}
a.btnDocExcel {
  padding-right: 52px;
  background: url(../img/icon_doc_excel.png) no-repeat right 18px center;
  background-size: 24px 24px;
}
a.btnDocWord {
  padding-right: 52px;
  background: url(../img/icon_doc_word.png) no-repeat right 18px center;
  background-size: 24px 24px;
}
a.btnDocPDF {
  padding-right: 52px;
  background: url(../img/icon_pdf_2.png) no-repeat right 18px center;
  background-size: 20px 20px;
}
a.btnDocExcel:hover,
a.btnDocWord:hover,
a.btnDocPDF:hover,
a.btnTel:hover,
a.btnExt:hover,
a.btn:hover {
  border:1px solid #9e005d;
}
a.btnOff {
  color:#999;
  border:1px solid #999;
  pointer-events: none; 
}

a.btnTopPage {
  display:block;
  margin:50px auto;
  padding:9px 0;
  width:180px;
  color:#fff;
  font-size:15px;
  line-height:1.0em;
  text-align:center;
  text-decoration:none;
  background:#999;
  border-radius:20px;
}
a.btnTopPage:hover {
  background:#000;
}






/* ------------------------------------------------------------ */
/*   For SmartPhones                                            */
/* ------------------------------------------------------------ */
@media print, screen and (max-width: 640px) {

#Header {
  min-width:100%;
  height:80px;
}

#HeaderLogo {
  float:left;
  padding-left:45px;
  width:200px;
  background-size:40px 40px;
}
#HeaderLogo span {
  font-size:10px;
  line-height:1.0em;
}
#HeaderLogo strong {
  display:block;
  padding:4px 0;
  font-size:18px;
  line-height:1.0em;
}

#HeaderNavi {
  display:none;
}


#boxOpenMenu #boxMenuFrame {
  margin:90px 10px 10px;
  padding:20px 0;  
}
#boxOpenMenu #openMenu1st {
  padding:0 20px 15px;
}
#boxOpenMenu #openMenu1st ul li a {
  padding:6px 0;
  font-size:15px;
}
#boxOpenMenu #openMenu2nd {
  padding:0 20px 15px;
}
#boxOpenMenu #openMenu2nd ul li.level1 a {
  font-size:16px;
}
#boxOpenMenu #openMenu2nd ul li.level1 ul {
  padding:3px 0 6px;
}
#boxOpenMenu #openMenu2nd ul li.level1 ul.level2 li a {
  font-size:13px;
}
#boxOpenMenu #openMenu3rd {
  padding:0 20px 15px;
}




#HeaderSpacer {
  height:80px;
}

#Menu ul li {
  width:25%;
  border:none;
}
#Menu ul li a {
  display:block;
  padding:18px 0;
  width:100%;
  font-size:13px;
  line-height:1.0em;
  border:none;
}
#Menu ul li a strong {
  display:block;
  padding-bottom:6px;
  font-size:18px;
  font-weight:500;
}
#Menu ul li:last-child a {
  width:100%;
}

#Footer #FooterImage {
  height:100px;
  background-size:auto 60px;
}
#Footer #FooterProfile p {
  padding:0 0 9px;
  font-size:18px;
}
#Footer #FooterProfile h2 {
  font-size:20px;
}
#Footer #FooterProfile h2 span {
  display:block;
  padding:6px 0;
  font-size:13px;
}
#Footer #FooterProfile address {
  display:block;
  padding:9px 0 0;
  font-size:12px;
  font-style:normal;
}
#Footer #FooterProfile address a.btnFooterTel {
  display:block;
  margin:9px auto;
  padding:9px;
  width:200px;
  font-size:18px;
  color:#fff;
  background:#9e005d;
  text-align:center;
  border-radius:6px;
  pointer-events:auto;
}
#Footer #FooterMenu {
  display:none;
}

#Footer #FooterCopy {
  padding:12px 0;
  font-size:12px;
  line-height:1.3em;
}


a.btnTopPage {
  margin:30px auto 0;
  padding:9px 0;
  width:180px;
  font-size:13px;
}

}
