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



/* ==========================================
	header ▼
========================================== */
.navbar-header {
	padding-top: 2.5rem;
  width: 32%;
}
@media (max-width: 767px) {
	.navbar-header {
		width: 85%;
		width: 80vw;
	}
	.attr-nav > ul > li > a {
    padding: 50px 10px 15px;
    padding-left: 0 !important;
    font-size: 3.5rem;
		color: #2f2879;
}
	.side .close-side {
    font-size: 3.5rem;
		color: #2f2879;
    position: relative;
    bottom: 2.0rem;
	}
  .pc {
    display: none !important;
  }
  .sp {
    display: inherit;
  }
}
@media screen and (min-width: 768px ) {
	.attr-nav {
		display: none;
	}
  .sp {
    display: none !important;
  }
}
.navbar-header > a {
	-webkit-border-radius: 5px;/* for Safari and Chrome */
	-moz-border-radius: 5px; /* for Firefox */
	-o-border-radius: 5px; /* for opera */
	border-radius: 5px;
  border: 0.2rem solid #000;
	color: #fff;
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
  padding: 0.2rem;
	text-align: center;
  
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  -moz-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  
	width: 45%;
	float: left;
  pointer-events: none;
}

@media all and (-ms-high-contrast: none){
  .navbar-header > a {
	width: 20%;
  }
}

@media (max-width: 767px) {
	.navbar-header > a {
	font-size: 1.5rem;
	}
}
@media (max-width: 321px) {
	.navbar-header > a {
	font-size: 1.1rem;
	}
}
.navbar-header > a:first-of-type {
	margin-right: 2%;
}
.navbar-header > a:nth-of-type(1) {
	background: #4f7ad2;
  border: 0.3rem solid #4f7ad2;
}
.navbar-header > a:nth-of-type(2) {
	background: #64bf79;
  border: 0.3rem solid #64bf79;
}
.navbar-header > a:nth-of-type(3) {
	background: #cecc00;
  border: 0.3rem solid #cecc00;
}

.navbar-header > a:nth-of-type(1):hover {
	color: #4f7ad2 !important;
}
.navbar-header > a:nth-of-type(2):hover {
	color: #64bf79 !important;
}
.navbar-header > a:nth-of-type(3):hover {
	color: #cecc00 !important;
}

.navbar-header > a:hover {
  background: #fff;
}

header {
	padding-bottom: 20px;
}

.navbar-nav li a {
	font-size: 1.5rem;
	padding: 0.8rem 3.5rem;
}
#navbar-menu > .navbar-nav:first-of-type {
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	-webkit-border-radius: 0 0 5px 0;/* for Safari and Chrome */
	-moz-border-radius: 0 0 5px 0; /* for Firefox */
	-o-border-radius: 0 0 5px 0; /* for opera */
	border-radius: 0 0 5px 0;
	margin-bottom: 2.0rem;
}
.navbar-nav:first-of-type > li a {
	font-size: 1.4rem;
	padding: 2.0rem 2.0rem 1.5rem;
}
.navbar-nav:first-of-type > li:last-of-type a {
	padding-right: 4.0rem;
}
.navbar-nav:first-of-type > li a::before {
	font-family: 'FontAwesome';
	content: "\f105";
	color: #272070;
	font-size: 15px;
	font-weight: 600;
	margin-right: 1.0rem;
}

.navbar-nav:nth-of-type(2) > li.menu__single:not(:last-child) > a {
	border-right: 1px solid #ccc;
}

/* PC ドロップダウンメニュー　▼ */
.menu > li a {
    display: block;
}
ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}

.menu > li:hover {
  /*background: #ccc;*/
  -webkit-transition: all .5s;
  transition: all .5s;
}
.menu__single:nth-of-type(3)  ul.menu__second-level {
  width: 220%;
}
li.menu__single ul.menu__second-level {
  /* box-shadow */
  box-shadow:2px 2px 5px 1px rgba(0, 0, 0, 0.07);
  -moz-box-shadow:2px 2px 5px 1px rgba(0, 0, 0, 0.07);
  -webkit-box-shadow:2px 2px 5px 1px rgba(0, 0, 0, 0.07);
  border-top: 5px solid #272070;
  margin-top: 5px;
  position: absolute;
  top: 40px;
  width: 100%;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}
li.menu__single ul.menu__second-level li > a {
  border-right: 0 !important;
  border-bottom: 1px solid #eee;
  background: rgba(255, 255, 255, 1);
  font-size: 1.3rem;
  padding: 1.0rem;
}
li.menu__single ul.menu__second-level li div {
    background: rgba(255, 255, 255, 1);
    padding: 1.0rem;
}
li.menu__single ul.menu__second-level li div a:first-of-type {
    padding-bottom: 0.5rem;
}
li.menu__single ul.menu__second-level li div a {
    padding: 0.2rem
}

li.menu__single:hover ul.menu__second-level {
  top: 50px;
  visibility: visible;
  opacity: 1;
}


@media (max-width: 991px) {
  .navbar-nav:first-of-type > li a {
    font-size: 1.25rem;
    padding: 2.0rem 1.5rem 1.5rem;
  }
  .navbar-nav li a {
    font-size: 1.25rem;
    padding: 0.8rem 1.5rem;
  }
}


@media (max-width: 767px) {
  
/* SPアコーディオン */
ul.accordion > li:first-of-type > a {
  border-top: none;
}

ul.accordion > li > a {
  border-bottom: solid 1px #e0e0e0;
  border-top: solid 1px #e0e0e0;
  display: block;
  font-size: 1.75rem;
  padding: 1.5rem;
  margin-bottom: -1px;
}
ul.accordion > li > ul li a {
  display: block;
  font-size: 1.75rem;
  padding: 1.2rem 2.0rem;
  margin-left: 1.5rem;
    }
ul.accordion > li > ul li:first-of-type a {
  padding-top: 0;
}
ul.accordion > li > ul li:last-of-type a {
  padding-bottom: 2.4rem;
    }

    ul.accordion > li div > a {
        padding: .5rem 2.0rem !important;
    }

    ul.accordion > li div > a:last-of-type {
        padding-bottom: 2.4rem !important;
    }

ul.accordion > li a::before,
  ul.accordion span::before {
    font-family: 'FontAwesome';
    content: "\f105";
    color: #272070;
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 1.0rem;
    }

    ul.accordion > li div a:not(:first-of-type)::before {
        content: "";
    }

ul.accordion span {
  border-top: solid 1px #e0e0e0;
  display: block;
  font-size: 1.75rem;
  padding: 1.5rem;
}
/*  .adjust {
    padding-top: 0 !important;
  }*/

ul.accordion ul {
  display: none;
}

ul.accordion > li > p {
  cursor: pointer;
}

ul.accordion > li > p span::after {
  font-family: 'FontAwesome';
  content: "\f067";
  color: #272070;
  font-size: 13px;
  font-weight: 400;
  margin-left: 1.0rem;
  margin-top: 0.1rem;
}

ul.accordion > li > p span.open::after {
  font-family: 'FontAwesome';
  content: "\f068";
  color: #272070;
  font-size: 13px;
  font-weight: 400;
  margin-left: 1.0rem;
  margin-top: 0.1rem;
}
  
  .fa {
    font-size: 32px;
  }
  
}

/* ==========================================
	footer ▼
========================================== */

footer {
	margin: 0 -999rem;
	padding: 0 999rem;
}
footer > nav {
	background: #f2f2f2;
	margin: 0 -999rem;
	padding: 6.0rem 999rem 14.0rem;
}
footer > nav ul {
	
}
footer > nav ul li a {
	display: block;
	font-size: 1.3rem;
	padding-bottom: 5px;
}
footer > nav ul li:first-child a {
	font-size: 1.6rem;
	font-weight: 600;
	margin-bottom: 1.5rem;
}

.footer-box {
	background: #fff;
	padding: 5.5rem 0 4.0rem;
}

.f-b-l dt {
  float: left;
  font-size: 1.3rem;
  font-weight: 400;
}
.f-b-l dd {
	color: #000;
	font-size: 1.3rem;
}
.f-b-l dd,
.f-b-l dd span{
	font-size: 1.3rem;
}
.f-b-l > a img {
  margin: 0 auto 2.0rem 0;
}

.f-b-r  {
  float: right;
}
.f-b-r > dt {
  font-size: 1.6rem;
  font-weight: 600;
}
.f-b-r > dt a {
  /*-webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  -o-border-radius: 5px;
  border-radius: 5px;
  border: 0.3rem solid #000;
  color: #fff;
  display: block;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 2.0rem;
  text-align: center;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  -moz-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 22%;*/
}
.f-b-r > dt:first-of-type a {
  background: #4f7ad2;
  border: 0.3rem solid #4f7ad2;
}
.f-b-r > dt:nth-of-type(2) a {
  background: #64bf79;
  border: 0.3rem solid #64bf79;
}
.f-b-r > dt:nth-of-type(3) a {
  background: #cecc00;
  border: 0.3rem solid #cecc00;
}

.f-b-r > dt a:hover {
  background: #fff;
}
.f-b-r > dt:first-of-type a:hover {
  color: #4f7ad2 !important;
}
.f-b-r > dt:nth-of-type(2) a:hover {
  color: #64bf79 !important;
}
.f-b-r > dt:nth-of-type(3) a:hover {
  color: #cecc00 !important;
}

.f-b-r > dd,
.f-b-r > dd span {
  font-size: 1.3rem;
  line-height: 1.8rem;
}
.f-b-r > dd:nth-of-type(2),
.f-b-r > dd:nth-of-type(4),
.f-b-r > dd:nth-of-type(6) {
  margin-bottom: 1.0rem;
}

small {
	border-top: 4px solid rgba(0, 0, 0, 0.1);
	display: block;
	font-size: 1.2rem;
	margin: 0 -999rem;
	padding: 3.0rem 999rem;
	text-align: center;
}
@media (max-width: 767px) {
	.footer-box {
		background: #f2f2f2;
		padding: 5.5rem 1rem;;
	}
	.footer-box > img {
		float: none;
		padding-bottom: 3.0rem;
	}
	.footer-box > dl {
    clear: both;
		float: none;
    padding-top: 2.0rem;
	}
  .footer-box > dl dt:first-child {
    padding-bottom: 0;
  }
	small {
		border-top: 0;
	}
}