@charset "utf-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@font-face { font-family: "Yu Gothic M"; src: local("Yu Gothic Medium"); }
body { background: #fff; width: 100%; -webkit-text-size-adjust: 100%; font-family: 'Noto Sans JP', "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", "Yu Gothic", "メイリオ", Meiryo, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif; position: relative; }
img { max-width: 100%; width: auto; height: auto; vertical-align: bottom; }

/*
.fitimg {
  display: flex;
  justify-content: center;
  align-items: center;
}
.fitimg img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
.regacy_fitimg {
  display: relative;
  overflow: hidden;
}
.regacy_fitimg img{
  position: absolute;
  left: -50%;
  right: -50%;
  top: -50%;
  bottom: -50%;
  margin: auto;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}
*/
.pc { display: block; }
.sp { display: none; }
@media screen and (max-width:768px) {
  .pc { display: none; }
  .sp { display: block; }
}

/*202306改訂*/ 
/* フェードスライダ */
.slide-dec {
	width: 100%;
	height: 500px;
	overflow: hidden;
	position: relative;
}
.slide-dec > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 500px;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 0;
	opacity: 0;
	animation-name: slide-fade;
	animation-duration: 12s;
	animation-iteration-count: infinite;
}
@keyframes slide-fade {
	0%{opacity: 0;}
	20%{opacity: 7;}
	80%{
		opacity: 0;
		transform: scale(1.2);
	}
	100%{
		z-index: -1;
		opacity: 0;
	}
}
/* 1枚目のスライド */
.slide-dec > div:first-of-type{
	background-image: url(../images/top/top-01.jpg);
}
@media screen and (max-width:768px) {
  .slide-dec > div:first-of-type{
    background-image: url(../images/top/sp/top-sp-01.jpg);
  }
}
/* 2枚目のスライド */
.slide-dec > div:nth-of-type(2){
	background-image: url(../images/top/top-02.jpg);
	animation-delay: 4s;
}
@media screen and (max-width:768px) {
  .slide-dec > div:nth-of-type(2){
    background-image: url(../images/top/sp/top-sp-02.jpg);
  }
}
/* 3枚目のスライド */
.slide-dec > div:last-of-type{
	background-image: url(../images/top/top-03.jpg);
	animation-delay: 8s;
}
@media screen and (max-width:768px) {
  .slide-dec > div:last-of-type{
    background-image: url(../images/top/sp/top-sp-03.jpg);
  }
}
/*---------------------- */

/*header*/
#header { margin: 0 auto; width: 100%; position: relative; }
#header img { width: 100%; height: auto; }
#header .logo { width: 247px; position: absolute; left: 70px; top: 47px; }
#header .menu { display: none; }
#header .menu_lang { width: 192px; position: absolute; right: 60px; top: 0; }
#header .menu_lang li { background-color: #000; float: left; width: 50%; text-align: center; position: relative; }
#header .menu_lang li a { display: block; color: #fff; font-size: 14px; padding: 7px 0; }
#header .menu_lang li a:hover { background-color: #fff; color: #1175aa; }
#header .menu_lang li a:hover::after { content: url(../images/common/arrow_menu_lang.png); margin: 0 auto; position: absolute; bottom: -10px; left: 0; right: 0; }
#header .menu_lang li a.active { background-color: #fff; color: #1175aa; }
#header .menu_lang li a.active::after { content: url(../images/common/arrow_menu_lang.png); margin: 0 auto; position: absolute; bottom: -10px; left: 0; right: 0; }

/*202306改訂*/ 
#header .header_menu { width: 807px; text-align: right; letter-spacing: -.40em; position: absolute; right: 60px; top: 66px; }
@media screen and (max-width:1030px) {
  #header .header_menu {
    width: 407px;
  }
}
/*---------------------- */

#header .header_menu li { display: inline-block; margin: 0 0 0 18px; letter-spacing: normal; }
#header .header_menu li a { display: block; padding: 0 9px; color: #fff; font-size: 14px; }
#header .header_menu li a:hover { border-bottom: 2px solid #fff; }


#header .header_copy01 {
  margin: 0 auto;
  color: #ffff33;
  font-size: 71px;
  font-weight: 700;
  line-height: 40px;
  text-align: center;
  text-shadow: 1px 1px 3px #000;
  position: absolute;
  left: 0;
  right: 0;
  top: 120px;
}
@media (max-width: 1200px) {
	#header .header_copy01 {
		font-size: calc(71 / 1200 * 100vw);
	}
}
#header .header_copy02 {
  margin: 0 auto;
  color: #ffff33;
  font-size: 23px;
  font-weight: 700;
  text-align: center;
  text-shadow: 1px 1px 3px #000;
}
@media (max-width: 1200px) {
	#header .header_copy02 {
		font-size: calc(23 / 1200 * 100vw);
	}
}
#header .header_copy03 {
  display: block;
  margin-top: 15px;
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
  color: #fff;
  text-align: center;
  text-shadow: 1px 1px 3px #000;
}
@media (max-width: 1200px) {
	#header .header_copy03 {
		font-size: calc(16 / 1200 * 100vw);
		line-height: calc(28 / 1200 * 100vw);
	}
}
.dec-03 {
  max-width: 626px;
  height: auto;
}
@media screen and (max-width:768px) {
    .dec-03 {
      max-width: 300px;
      height: auto;
    }
  }

p.h_menu { display: none; }
@media screen and (max-width:768px) {
  #header { width: 100%; }
  #header .logo { margin: 0 auto; width: 27.812%; position: absolute; left: 0; right: 0; top: 10%;/*top: 29px;*/ }
  #header .menu { display: block; }
  #header .menu_lang { display: none; }
  #header .header_menu { display: none; }
  #header .header_copy01 { 
    font-size: 33px;
    top: 35%;
    line-height: 35px;

  }
  #header .header_copy02 {
    font-size: 14px;
  }
  #header .header_copy03 {
    font-size: 11px;
    line-height: 22px;

  }
  p.h_menu { position: absolute; top: 4vw; right: 5vw; width: 8vw; display: block; }
}





/*container*/
.container { margin: 0 auto; width: 1366px; }
@media screen and (max-width:768px) {
  .container { width: 100%; color: #333; }
}
#gnav { display: none; }
@media screen and (max-width:768px) {
  #gnav { background-color: #0C3E89; display: none; padding: 0 0 22px; width: 100%; position: fixed; left: 0; top: 0; z-index: 100; }
  #gnav .tab { overflow: hidden; }
  #gnav .tab li { background: #000; padding: 11px 0; float: left; width: 50%; color: #fff; text-align: center; }
  #gnav .tab li span { background-image: url(../images/common/sp/icon01.png); background-repeat: no-repeat; background-position: left center; background-size: 10% auto; padding: 0 0 0 7px; }
  #gnav .tab li.select { background-color: #0C3E89; }
  #gnav .tab li.select span { background-image: none; padding: 0; }
  #gnav .hide { display: none; }
  #gnav .gnav_menu { margin-bottom: 20px; width: 100%; padding: 0 5%; box-sizing: border-box; }
  #gnav .gnav_menu ul li { padding: 0; border-bottom: 1px solid #1453A0; border-top: 1px solid #092D62; }
  #gnav .gnav_menu ul li:first-of-type { border-top: 0; }
  #gnav .gnav_menu ul li a { display: block; padding: 9px 6px; color: #fff; text-decoration: none; }
  #gnav .gnav_menu ul li a:hover { text-decoration: underline; }
  #gnav .btn_close { margin: 0 auto; width: 90%; background-color: #000000; display: block; padding: 14px 0; color: #fff; text-align: center; }
  #gnav .btn_close span { background-image: url(../images/common/sp/icon02.png); background-repeat: no-repeat; background-position: left center; background-size: 22% auto; display: inline-block; padding: 0 0 0 16px; }
}

/*footer*/
#footer { background-image: url(../images/common/bg_footer.jpg); background-repeat: repeat-x; margin: 0 auto; width: 100%; height: 298px; clear: both; }
#footer .footer_inner { margin: 0 auto; padding: 40px 0 0; width: 998px; height: 258px; position: relative; letter-spacing: 1px; }
#footer .footer_menu { float: left; width: 177px; }
#footer .footer_menu:last-of-type { width: 147px; }
#footer .footer_menu li { background-image: url(../images/common/icon02.png); background-repeat: no-repeat; background-position: left center; padding: 0 0 0 10px; }
#footer .footer_menu li a { color: #fff; font-size: 14px; text-decoration: none; }
#footer .footer_menu li a:hover { text-decoration: underline; }
#footer .footer_menu li.under { background-image: url(../images/common/icon03.png); background-repeat: no-repeat; background-position: 10px center; padding: 0 0 0 20px; }
#footer .footer_menu li.under a { font-size: 12px; }
#footer .footer_info { float: right; padding: 0 0 0 80px; width: 235px; color: #fff; font-size: 12px; border-left: 1px solid #869FC4; }
#footer .footer_info .cmp_name { font-size: 16px; font-weight: 700; }
#footer small { width: 100%; color: #666; font-size: 11px; line-height: 100%; text-align: center; position: absolute; left: 0; bottom: 40px; }
#footer .pagetop { position: fixed; right: 20px; bottom: 20px; }
@media screen and (max-width:768px) {
  #footer { background-image: none; width: 100%; height: auto; }
  #footer .footer_inner { padding: 0; width: 100%; height: auto; }
  #footer .footer_menu { background-color: #0C3E89; float: none; width: 100%; }
  #footer .footer_menu:last-of-type { width: 100%; }
  #footer .footer_menu li { background-image: url(../images/common/icon04.png); background-repeat: no-repeat; background-position: 95% center; background-size: 2.5% auto; padding: 0; border-bottom: 1px solid #1453A0; border-top: 1px solid #092D62; }
  #footer .footer_menu:first-of-type li { border-top: 1px solid #fff; }
  #footer .footer_menu li a { display: block; padding: 9px 16px; color: #fff; font-size: 12px; text-decoration: none; }
  #footer .footer_menu li a:hover { text-decoration: underline; }
  #footer small { display: block; padding: 15px 0; width: 100%; font-size: 8px; clear: both; position: static; left: 0; bottom: 0; }
  #footer .pagetop { display: block; margin: 0 auto; width: 10.25%; position: absolute; left: 0; right: 0; top: -5%; }
}
.bread { width: 1230px; margin: 0 auto 0; padding: 10px 15px; background: #e8eaea; font-size: 13px; box-sizing: border-box; }
.bread a { font-size: 13px; color: #064990; text-decoration: underline; }
.bread i { color: #064990; font-size: 19px; position: relative; top: 3px; }
@media screen and (max-width:768px) {
  .bread { width: 100%; padding: 10px 3vw; }
}
