@charset "UTF-8";

/* Table Of Contents
----------------------------------------------------------------------------
General Elements
header
gNav
visual
topicPath
footer
---------------------------------------------------------------------------- */


/*General Elements
---------------------------------------------------------------------------- */
html {
	font-size: 62.5%;
}

body {
	font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	color: #231815;
}

a {
	text-decoration: underline;
	outline: none;
}

a:hover,
a:active,
a:visited,
a:focus {
	text-decoration: none;
}

* {
	box-sizing: border-box;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}

img {
	max-width: 100%;
  height: auto;
}

/*l-header
---------------------------------------------------------------------------- */
.l-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

.l-header .content {
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: rgba(255, 255, 255, .6);
}

.l-header .logo {
	width: 332px;
	height: 90px;
}

.l-header .logo a {
	display: block;
	width: 186px;
	padding: 20px 0;
	transition: .3s;
	margin: 0 auto;
}

.l-header .menu {
	display: none;
}

@media screen and (min-width: 768px){

	.l-header .logo a:hover {
		opacity: .8;
	}


}


@media screen and (max-width: 1480px){

	.l-header .content {
		padding: 0 0 0 3vw;
	}

	.l-header .logo {
		width: 11vw;
	}
}

@media screen and (max-width: 1160px){

	.l-header {
			background: #fff;
	}

	.l-header .logo {
    width: 156px;
		height: auto;
	}

	.l-header .logo a {
		width: 100%;
		padding: 0;
		transition: .3s;
	}

	.l-header .content {
	    justify-content: center;
	    align-items: center;
	    padding: 0;
	    height: 65px;
	}

	.l-header .menu {
		display: block;
		position: absolute;
		top: 20px;
		right: 20px;
		z-index: 100;
	}

	.menu-trigger,
	.menu-trigger span {
	  display: inline-block;
	  transition: all .4s;
	  box-sizing: border-box;
	}
	.menu-trigger {
	  position: relative;
	  width: 28px;
	  height: 20px;
	  background: none;
	  border: none;
	  appearance: none;
	  cursor: pointer;
	  display: block;
	}
	.menu-trigger span {
	  position: absolute;
	  left: 0;
	  width: 100%;
	  height: 2px;
	  background-color: #4d4d4d;
	}
	.menu-trigger span:nth-of-type(1) {
	  top: 0;
	}
	.menu-trigger span:nth-of-type(2) {
	  top: 9px;
	}
	.menu-trigger span:nth-of-type(3) {
	  bottom: 0;
	}

	.menu-trigger.active span:nth-of-type(1) {
	  transform: translateY(9px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
	  opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
	  transform: translateY(-9px) rotate(45deg);
	}


}


/* l-gNav
---------------------------------------------------------------------------- */
.l-gNav {
	text-align: center;
	font-size: 0;
}

.l-gNav li {
	display: inline-block;
	width: 160px;
	line-height: 1;
	vertical-align: top;
	border-left: solid 1px #fff;
}

.l-gNav li a,
.l-gNav li p {
	display: block;
	min-height: 90px;
	text-align: center;
	font-weight: bold;
	font-size: 1.4rem;
	color: #000000;
	position: relative;
	text-decoration: none;
	padding: 35px 0 0;
	transition: .3s;
	cursor: pointer;
	line-height: 1;
}


.l-gNav li a::before,
.l-gNav li p::before {
	position: absolute;
	content: "";
	background: url("../../images/common/ico_nav.svg")no-repeat;
	background-size: 10px;
	background-position: center;
	width: 100%;
	height: 5px;
	left: 0;
	bottom: 15px;
	transition: .3s;
	pointer-events: none;
}

.l-gNav li:last-child a {
	background: #4372a5;
	color: #fff;
	transition: .3s;
}

.l-gNav li:last-child a::before {
	display: none;
}

.l-gNav-sp {
	display: none;
}

@media screen and (min-width: 1161px){

	.l-gNav li a:hover {
		background: rgba(255, 255, 255, .45);
	}

	.l-gNav li a:hover::before {
		transform: rotate(180deg);
	}

	.l-gNav li:last-child a:hover {
		background: #4372a5;
		opacity: .8;
	}

	.l-gNav li p.is-clicked {
		background: rgba(255, 255, 255, .45);
	}

	.l-gNav li p.is-clicked::before {
		transform: rotate(180deg);
	}


	.l-gNav li.parent {
		position: relative;
	}

	.l-gNav li .top_lower {
			position: fixed;
			width: 100%;
			top: 90px;
			right: 0;
			background: #3b6797;
			padding: 10px 0;
			display: none;
	}

	.l-gNav li .top_lower a {
			display: block;
			padding: 0;
			min-height: inherit;
			color: #fff;
			position: inherit;
	}

	.l-gNav li .top_lower a:before {
			display: none;
	}

	.top_lower span {
			display: inline-block;
			margin: 0 40px;
	}

	.l-gNav li .top_lower a:hover {
		background: none;
		opacity: .8;
	}


	.l-gNav li.parent .lower {
		display: none;
		position: fixed;
		padding: 50px 0;
		left: 0;
		top: 90px;
		z-index: 1;
		background: rgba(4, 0, 0, .5);
		width: 100%;
	}

	.l-gNav li.parent .lower .inner {
		display: flex;
		justify-content: center;
		align-items: center;
	}



	.l-gNav li.parent .lower a:hover {
		background: none;
		opacity: .8;
	}

	.l-gNav li.parent .lower a {
		display: block;
		color: #fff;
		text-align: left;
		font-weight: 400;
		min-height: inherit;
		padding: 0;
	}

	.l-gNav li.parent .lower a::before {
		display: none;
	}

	.l-gNav li.parent .lower p {
		position: relative;
		font-size: 1.6rem;
		color: #fff;
		padding: 0;
		min-height: inherit;
		background: none;
	}

	.l-gNav li.parent .lower p::before {
		content: none;
	}

	.l-gNav li.parent .lower p::after {
		position: absolute;
		content: "";
		right: 0;
		pointer-events: none;
		top: 0;
		background: url("../../images/common/ico_arrow_menu.svg")no-repeat;
		background-size: 6px;
		background-position: center;
		width: 10px;
		height: 100%;
	}

	.l-gNav li.parent .lower .box {
		margin: 0 30px;
		width: 300px;
	}

	.l-gNav li.parent .lower .thumbnail {
		width: 100%;
		height: 200px;
		margin-bottom: 20px;
	}

}


@media screen and (max-width: 1480px){

	.l-gNav li {
		width: 11vw;
	}


	.l-gNav li a {
		font-size: 1.4rem;
	}

}



@media screen and (max-width: 1160px){
	.l-gNav {
		display: none;
	}

	.l-gNav-sp {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background: #6a6a6a;
		padding: 0;
		text-align: left;
		overflow-y: scroll;
		height: 100%;
		z-index: 10;
	}

	.l-gNav-sp ul {
		padding-top: 95px;
		background: #e5e5e5;
	}

	.l-gNav-sp li {
	    display: block;
	    width: 100%;
	}

	.l-gNav-sp li a,
	.l-gNav-sp li span {
		display: block;
			background: #e5e5e5;
			border-top: solid 1px #b2b2b2;
			padding: 10px 15px 10px 65px;
			min-height: auto;
			font-size: 1.6rem;
			color: #000;
			text-decoration: none;
			position: relative;
	}

	.l-gNav-sp li a::before,
	.l-gNav-sp li span::before {
		position: absolute;
		content: "";
		background: url("../../images/common/ico_footer_nav.svg")no-repeat;
		background-size: 5px;
		background-position: center;
		width: 10px;;
		height: 100%;
		left: 30px;
		bottom: 0;
	}

	.l-gNav-sp .children {
    display: none;
		padding: 0;
}

	.l-gNav-sp .children li {
		font-size: 1.4rem;
	}

	.l-gNav-sp .children li a {
		padding: 10px 15px 10px 90px;
		background: #fff;
	}

	.l-gNav-sp .children li a::before {
		display: none;
	}

	.l-gNav-sp .bottom {
		padding: 30px 20px 90px;
	}

	.l-gNav-sp .button:first-child {
		margin-bottom: 10px;
	}

	.l-gNav-sp .button a {
		display: block;
		text-decoration: none;
		text-align: center;
		min-height: 80px;
		font-size: 2.2rem;
		letter-spacing: 0.1em;
		padding: 23px 0;
	}

	.l-gNav-sp .button a span {
		display: inline-block;
		padding-left: 40px;
		position: relative;
	}

	.l-gNav-sp .button:first-child a {
		background: #d4d5d5;
		color: #4372a5;
	}

	.l-gNav-sp .button:last-child a {
		background: #4372a5;
		color: #d4d5d5;
	}

	.l-gNav-sp .button:first-child a span::before {
		position: absolute;
		content: "";
		background: url("../../images/common/ico_footer_book.svg")no-repeat;
		background-size: 23px;
    background-position: center;
    width: 32px;
    height: 32px;
    left: 0;
    top: 0;
		pointer-events: none;
	}

	.l-gNav-sp .button:last-child a span::before {
		position: absolute;
		content: "";
		background: url("../../images/common/ico_footer_docs.svg")no-repeat;
		background-size: 19px;
		background-position: center;
		width: 20px;
		height: 32px;
		left: 5px;
		top: 0;
		pointer-events: none;
	}


}


/* l-topicPath
---------------------------------------------------------------------------- */
.l-topicPath {
}

.l-topicPath li {
    display: inline-block;
}

.l-topicPath li.p-topicHome {
    /*
    background: url(../../../images/common/bg_crumb_home.png) left center no-repeat;
    padding-left: 22px;
    */
}

.l-topicPath li a {
    text-decoration: underline;
    color: #0588ce;
}

.l-topicPath li a:hover {
    text-decoration: none;
}

.l-topicPath-arrow {
    margin-left: 0.5em;
}

.l-topicPath-arrow:before {
    content: '＞ ';
}

@media screen and (max-width: 767px){
}


/* l-pageBody
---------------------------------------------------------------------------- */
.l-pageBody {
    width: 100%;
    overflow: hidden;
}

@media screen and (max-width: 767px){
    .l-pageBody {
        min-width: 0;
				padding-top: 64px;
    }
}


/* l-sitemap
---------------------------------------------------------------------------- */
.l-sitemap {
	display: flex;
	justify-content: space-between;
	max-width: 830px;
	width: calc(100% - 300px);
}

.l-sitemap .box {
	padding-right: 30px;
}

.l-sitemap .box:last-child {
	padding: 0;
}

.l-sitemap .box li {
	font-size: 1.5rem;
}

.l-sitemap .box li a,
.l-sitemap .box li span {
	text-decoration: none;
	color: #231815;
}

.l-sitemap .box li strong {
	font-weight: bold;
	font-size: 1.6rem;
}



.l-sitemap .box .children li {
	padding-left: 15px;
	position: relative;
	margin-top: 7px;
}

.l-sitemap .box .children li::before {
	position: absolute;
	content: "・";
	color: #231815;
	left: 0;
}

.l-sitemap .box .children {
	min-height: 220px;
}



@media screen and (min-width: 768px){


	.l-sitemap .box:last-child li {
		margin-bottom: 10px;
	}

	.l-sitemap .box:last-child li:nth-last-of-type(2) {
		margin-bottom: 40px;
	}

	.l-sitemap .box:last-child li:last-child {
		margin-bottom: 0;
	}

	.l-sitemap .box li a:hover {
		text-decoration: underline;
	}

}

@media screen and (max-width: 1230px){

	.l-sitemap .box {
    padding-right: 30px;
	}

}


@media screen and (max-width: 1120px){

	.l-sitemap {
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
		padding: 0 30px;
	}
}


@media screen and (max-width: 767px){

	.l-sitemap {
		padding: 0;
		border-bottom: solid 1px #bdbdbd;
		margin: 0 auto 30px;
 	}

	.l-sitemap .box {
		width: 100%;
		padding: 0;
	}

	.l-sitemap .box li {
		border-top: solid 1px #bdbdbd;
		font-size: 2rem;
	}

	.l-sitemap .box li strong {
    font-weight: 400;
		font-size: 2rem;
	}

	.l-sitemap .box li a,
	.l-sitemap .box li span {
		font-size: 1.4rem;
		display: block;
		padding: 15px 15px 15px 70px;
		background: url("../../images/common/ico_footer_nav.svg")no-repeat;
		background-size: 5px;
		background-position: left 40px center;
	}

	.l-sitemap .box .children {
		display: none;
		min-height: auto;
	}


	.l-sitemap .box .children li {
	    margin: 0;
	    padding: 0;
	}

	.l-sitemap .box .children li::before {
			display: none;
	}


	.l-sitemap .box .children li a {
	    background: #fff;
	}

}


/* l-pageTop
---------------------------------------------------------------------------- */
.l-pageTop {
}

@media screen and (max-width: 767px){
}


/* l-footer
---------------------------------------------------------------------------- */
.l-footer {
	background: #e2e1dd;
	padding: 80px 0 15px;
}

.l-footer .content {
	padding: 0 4.3vw;
	max-width: 1600px;
	margin: 0 auto;
}

.l-footer .content .flex {
	display: flex;
	justify-content: space-between;
}

.l-footer .block .logo {
	width: 186px;
	margin-bottom: 15px;
}

.l-footer .block .logo a {
	display: block;
	transition: .3s;
}

.l-footer .block .address {
	font-size: 1.4rem;
	line-height: 1;
}

.l-footer .block .sns {
	margin: 50px 0 25px;
	text-align: left;
}

.l-footer .block .sns li {
	display: inline-block;
	vertical-align: middle;
	width: 26px;
	margin-right: 4px;
}

.l-footer .block .sns li a {
	display: block;
	transition: .3s;
}

.l-footer .block .number {
	width: 215px;
	margin: 15px 0 10px;
}

.l-footer .tel .number a {
	display: block;
	transition: .3s;
}

.l-footer .tel .lead {
	font-size: 1.4rem;
}

.l-footer .tel .head {
	font-weight: bold;
	font-size: 1.6rem;
}

.l-footer .copy {
	text-align: right;
	color: #939394;
	font-size: 1.2rem;
}

@media screen and (min-width: 768px){

	.l-footer .block .sns li a:hover {
		opacity: .8;
	}

	.l-footer .block .logo a:hover {
		opacity: .8;
	}

	.l-footer .block .number a:hover {
		opacity: .8;
	}
}


@media screen and (max-width: 1120px){

	.l-footer {
		padding: 40px 0 95px;
	}

	.l-footer .content .flex {
		display: block;
	}


	.l-footer .copy {
		text-align: center;
	}


	.l-footer .content .flex .block {
    text-align: center;
		justify-content: center;
	}

	.l-footer .block .logo {
	    margin: 0 auto 15px;
	}

	.l-footer .block .sns {
	    text-align: center;
	    margin: 20px auto 30px;
	}

	.l-footer .block .sns li {
	    width: 49px;
	    margin: 0 25px;
	}

	.l-footer .block .number {
	    margin: 15px auto 10px;
	}

	.l-footer .tel {
	    margin: 0 auto 40px;
	}

	.l-footer .content {
		padding: 0;
	}

}
