@charset "utf-8";
/* CSS Document */


/* ---------------------------------------------
  keyvisual
------------------------------------------------ */

.main-area {
  width: 980px;
  height: 490px;
  margin: 0 auto;
}

.keyvisual {
  float: left;
  width: 653px;
  height: 280px;
  background: #eee;
}

.keyvisual-bnr a {
  display: block;
  margin-top: 40px;
}

.utility-menu .thumb {
  width: 100%;
  padding: 12px 0;
  display: flex;
  justify-content: space-between;
}
.utility-menu .thumb li {
  width: 48%;
  position: relative;
}
.utility-menu .thumb li img {
  width: 100%;
}
.utility-menu .thumb li a i {
	font-size: 12px;
	position: absolute;
	top: 62%;
	right: 3px;
	margin-top: -25px;
}

ul.thumb.pd0{
    padding: 0 !important;
}

.utility-menu {
  float: left;
  width: 327px;
  /*height: 103%;*/
  padding: 25px 20px;
  background: url(/themes/main/images/bg_utility-menu.png) repeat;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.utility-menu > div {
  margin: 5px 0 0;
  padding: 13px 5px 12px 17px;
  background: #fff;
  border: solid 1px #999;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.utility-menu > div .summary {
  float: left;
  margin: 20px 13px 0 0;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  font-size: 14px;
  line-height: 1.5;
}
.utility-menu > div .summary img { margin: 0 0 10px -7px; }
.utility-menu > .my-jcb { height: 142px; }

.utility-menu > div .btn-area {
  float: left;
}

.utility-menu > div .target {
  display: inline-block;
  width: 100px;
  height: 30px;
  line-height: 30px;
  border-radius: 15px;
  background: #333;
  font-size: 13px;
  color: #fff;
  text-align: center;
  position: absolute;
  top: -15px;
  left: 25px;
}

.utility-menu .my-jcb .btn-area { margin-top: 10px; }
.utility-menu .btn-login { margin-bottom: 8px; }
.utility-menu .btn-login a {
  display: block;
  padding: 9px 12px 9px 12px;
  background: linear-gradient(0deg, #002bd3, #125ff8, #6db7ff);
  border-bottom: solid 4px #00156d;
  border-radius: 5px;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  letter-spacing: 2px;
  color: #fff;
  text-decoration: none;
}
.utility-menu .btn-login a i {
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  background: #fff;
  border-radius: 4px;
  color: #0746b8;
  text-align: center;
}
.utility-menu .btn-login a:hover {
  -ms-transform: translateY(4px);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);/*下に動く*/
  border-bottom: none;/*線を消す*/
}

.utility-menu .btn-regist a {
  display: block;
  padding: 5px 10px 5px 10px;
  background: #097DF3;
  border-bottom: solid 4px #064D95;
  border-radius: 5px;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  letter-spacing: 2px;
  color: #fff;
  text-decoration: none;
}
.utility-menu .btn-regist a i {
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  text-align: center;
}
.utility-menu .btn-regist a:hover {
  -ms-transform: translateY(4px);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);/*下に動く*/
  border-bottom: none;/*線を消す*/
}

.utility-menu .contact {
	float: left;
	font-size: 15px;
	width: 137px;
  margin: 30px 0 0;
  padding: 0;
  text-align: cemter;
}
.utility-menu .contact * {
  vertical-align: middle;
}
.utility-menu .contact a {
  display: block;
  padding: 15px 20px 15px;
  text-decoration: none;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
	line-height: 2;
  color: #008de6;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.utility-menu .contact a:hover {
  text-decoration: underline;
}
.utility-menu .contact a img {
	display: block;
	margin: 0 auto 8px;
}

.utility-menu .faq {
	float: left;
	font-size: 15px;
	width: 137px;
	height: 122px;
  margin: 30px 0 0 13px;
  padding: 0;
  text-align: cemter;
}
.utility-menu .faq * {
  vertical-align: middle;
}
.utility-menu .faq a {
  display: block;
  padding: 18px 20px 15px;
  line-height: 2;
  text-decoration: none;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  color: #008de6;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.utility-menu .faq a:hover {
  text-decoration: underline;
}
.utility-menu .faq a img {
	display: block;
	margin: 0 auto;
}

.utility-menu .lost {
	float: left;
	font-size: 15px;
	line-height:1;
	width: 287px;
  margin: 30px 0 0;
  padding: 0;
  text-align: left;
}
.utility-menu .lost * {
  vertical-align: middle;
}
.utility-menu .lost a {
  display: block;
  padding: 19px 20px 19px 24px;
  text-decoration: none;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  color: #008de6;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.utility-menu .lost a:hover {
  text-decoration: underline;
}
.utility-menu .lost a img {
	margin: 0 17px 0 0;
}

.utility-menu .contact,
.utility-menu .faq,
.utility-menu .lost {
  border: solid 1px #008de6;
  background: #fff;
  overflow: hidden;
}

/* ---------------------------------------------
  content
------------------------------------------------ */

.container {
  margin: 0;
}

.content {
  width: 100%;
}

.banner {
	text-align: center;
	margin-top: 35px;
}

/* purpose-area */

.purpose-area {
  width: 100%;
  /*height: 368px;*/
  height: 400px;
  background-size: cover;
}

.purpose-area.sakura {
	background: url(/themes/dc@main/top/images/bg_purpose_sakura.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}

.purpose-area.shinryoku {
	background: url(/themes/dc@main/top/images/bg_purpose_shinryoku.png) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}

.purpose-area.momo_a {
	background: url(/themes/dc@main/top/images/bg_purpose_momo_a.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}

.purpose-area.himawari_a {
	background: url(/themes/dc@main/top/images/bg_purpose_himawari_a.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}

.purpose-area.kosmos {
	background: url(/themes/dc@main/top/images/bg_purpose_kosmos.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}

.purpose-area.ajisai_b {
	background: url(/themes/dc@main/top/images/bg_purpose_ajisai_b.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}
.purpose-area.momiji {
	background: url(/themes/dc@main/top/images/bg_purpose_momiji.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}

.purpose-area.nanten {
	background: url(/themes/dc@main/top/images/bg_purpose_nanten.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}
.purpose-area.illumination {
	background: url(/themes/dc@main/top/images/bg_purpose_illumination.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}

.purpose-area.olympic {
	background: url(/themes/dc@main/top/images/bg_purpose_olympic.jpg) no-repeat center center;
	background-size: 100%;
    background-position: bottom;
}

@media (min-width: 1660px) {
	.purpose-area {
		 background-position: top!Important;
	}
}

.purpose-area .inner > div {
  float: left;
  width: 300px;
  height: 283px;
  margin: 35px 40px 0 0;
  padding: 0 38px 25px;
  background: #fff;
  border-radius: 7px;
  box-shadow: 4px 4px 5px rgba(0,0,0,0.15);
  overflow: hidden;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.purpose-area .inner > div:last-child { margin-right: 0; }
.purpose-area .inner > div .title {
  width: 300px;
  margin: 0 0 0 -38px;
  padding: 5px 0;
  background: #0090f3;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  font-size: 130%;
  text-align: center;
  letter-spacing: 2px;
  color: #fff;
}
.purpose-area .inner > div .sub-title {
  margin: 10px 0 0;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
}
.purpose-area .inner > div .btn {
  margin: 10px 0 0;
}
.purpose-area .inner > div .btn a {
  line-height: 43px;
  padding-left: 60px;
  border-color: #ff8100;
  font-weight: normal;
  letter-spacing: 1px;
  text-align: left;
  font-size: 95%;
  color: #333;
  position: relative;
}
.purpose-area .inner > div .btn a:hover {
  background: #ff8100;
  color: #fff;
}
.purpose-area .inner > div .btn a i {
  width: 45px;
  height: 32px;
  line-height: 32px;
  background: none;
  border-right: solid 2px #ff8100;
  border-radius: 0;
  text-align: center;
  color: #ff8100;
  position: absolute;
  top: 5px;
  left: 0;
  transform: none;
}
.purpose-area .inner > div .btn a:hover i {
  border-color: #fff;
  color: #fff;
}

/* news-area */
.news-area section {
  float: left;
  width: 470px;
  position: relative;
}
.news-area .news { margin-right: 40px; }

.news-area section h2 {
  margin-bottom: 10px;
  padding: 0 18px;
  border: none;
  font-size: 20px;
  color: #333;
  position: relative;
}
.news-area section h2::before {
  content: '';
  display: block;
  width: 6px;
  height: 34px;
  background: #0090f3;
  border-radius: 3px;
  position: absolute;
  top: 0;
  left: 0;
}
.news-area section .index-link {
  position: absolute;
  top: 23px;
  right: 0;
}
.news-area section .index-link * {
  vertical-align: middle;
}
.news-area section .index-link img {
  margin: -3px 8px 0 0;
}
.news-area section .index-link a {
  text-decoration: none;
  font-size: 14px;
  color: #333;
}
.news-area section dl {
  margin: 0;
  padding: 10px 0;
  border-top: solid 1px #dcdcdc;
}
.news-area section dl:last-child {
  border-bottom: solid 1px #dcdcdc;
}
.news-area section dl:hover {
  background: #f6f6f6;
}
.news-area section dl .cat {
  display: inline-block;
  width: 107px;
  height: 22px;
  line-height: 22px;
  margin-right: 10px;
  border: solid 1px #0090f3;
  font-family: "Noto Sans Japanese";
  font-weight: bold;
  text-align: center;
  color: #0090f3;
}
.news-area section dl .cat.cat-system { background: #0090f3; color: #fff; }
.news-area section dl .cat.cat-security { background: #954fb6; border-color: #954fb6; color: #fff; }
.news-area section dl .cat.cat-114jcb { background: #0090f3; color: #fff; }
.news-area section dl .date {
  font-family: "Noto Sans Japanese";
  font-weight: bold;
}
.news-area section dl dd a {
  text-decoration: none;
  color: #333;
}



.bn_gift {
  margin: 20px auto;
  text-align: center;
}


.bn_gift_2 {
  width:980px;
  margin: 20px auto;
  text-align: center;
  display: flex;
}

.bn_gift_2 ul li {
  width:480px;
}

.bn_gift_2_1st {
  margin-right:20px;
}
