@charset "utf-8";

/*==================================================

ヘッダー

==================================================*/

/* ヘッダー
--------------------------------------------------*/
.l-header .nav-footer_etc {
	display: none;
}
.l-header_logo {
    position: relative;
    border-bottom: 1px solid #e0e0e0;
}
.l-header_logo::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;
    margin: auto;
    border-style: solid;
    border-width: 95px 30px 0 0;
    border-color: #fff transparent transparent transparent;
    z-index: 999;
}
/* pc */
@media print,only screen and (min-width: 768px){

	.l-header {
		z-index: 100;
		position: relative;
	}
	.l-header_inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.l-header_logo {
		padding: 23.47px 0 23.47px 30px;
		flex: 1;
	}
	.l-header_logo img {
		width: 250px;
	}

}

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

	.l-header {
		width: 100%;
        height: 11rem;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
	}
	.l-header_inner {
		background-color: #fff;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.l-header_logo {
		height: 11rem;
		flex: 1;
	}
    .l-header_logo::after {
        right: -3.4rem;
        border-width: 11rem 3.5rem 0 0;
    }
	.l-header_logo a {
		height: 100%;
		display: flex;
		align-items: center;
		padding-left: 3rem;
	}
	.l-header_logo img {
        width: 29rem;
	}
	.l-header_menus {
		width: 100%;
		position: absolute;
		top: 14.667vw;
		background-color: #00397e;
		display: none;
		overflow-y: scroll; /* has to be scroll, not auto */
		-webkit-overflow-scrolling: touch;
		height: calc( 100vh - 15vw );
		z-index: 10;
	}
}

/* ナビ
--------------------------------------------------*/
.nav-header .nav-link>li>a {
    position: relative;
}
.nav-link>li>a::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-repeat: no-repeat;
    background-position: center;
}
.nav-link>li.current>a::before {
    left: 0;
    width: 21px;
    height: 20px;
    background-image: url(../images/shared/header_icon_current.svg);
    background-size: 21px 20px;
}
.nav-link>li.access>a::before {
    left: 5px;
    width: 11px;
    height: 16px;
    background-image: url(../images/shared/header_icon_access.svg);
    background-size: 11px 16px;
}
.nav-link>li.contact>a::before {
    left: 0;
    width: 16px;
    height: 11px;
    background-image: url(../images/shared/header_icon_contact.svg);
    background-size: 16px 11px;
}
.nav-link>li.en>a::before {
    left: 0;
    width: 15px;
    height: 15px;
    background-image: url(../images/shared/header_icon_en.svg);
    background-size: 15px;
}
.nav-link>li.request>a::before {
    left: 5px;
    width: 12px;
    height: 16px;
    background-image: url(../images/shared/header_icon_request.svg);
    background-size: 12px 16px;
}


/* pc */
@media print, only screen and (min-width: 768px){

    .nav-header ul {
		display: flex;
		flex-wrap: wrap;
        justify-content: flex-end;
	}
    .nav-header .nav-link {
        height: 40px;
        padding-right: 15px;
        background-color: #000;
    }
    .nav-header .nav-link>li {
        margin-left: 15px;
    }
    .nav-header .nav-link>li>a {
		height: 40px;
		padding: 0 15px 0 25px;
		display: block;
		display: flex;
		align-items: center;
        color: #fff;
        font-size: 1.4rem;
        font-weight: 600;
	}
    .nav-header .nav-link>li>a:hover {
        text-decoration: none;
        opacity: 0.8;
    }
    .nav-global {
		background-color: #00397e;
		position: relative;
		font-weight: bold;
	}
	.nav-global>ul {
		display: flex;
		justify-content: center;
        padding-left: 30px;
	}
	.nav-global>ul>li {
		position: relative;
		white-space:nowrap;
	}
	.nav-global>ul>li>a {
        position: relative;
		width: 100%;
		color: #fff;
		font-size: 1.7rem;
        font-weight: bold;
		padding: 15px 25px 15px 35px;
		display: flex;
		align-items: center;
		justify-content: center;
	 }
    .nav-global>ul>li>a::before {
        content: "";
        display: block;
        position: absolute;
        top: 24px;
        left: 15px;
        border-style: solid;
        border-width: 6px 4px 0 4px;
        border-color: #4d75a5 transparent transparent transparent;
    }
	.nav-global>ul>li>a:hover {
		text-decoration: none;
    }
    .nav-global>ul>li:hover a::before {
        border-color: #fff transparent transparent transparent;
    }
	.nav-global>ul>li>ul {
		background-color: rgba(0,57,126,0.85);
		position: absolute;
		top: 54px;
		left: 0;
		white-space: nowrap;
		display: none;
		padding-bottom: 7px;
	 }
    .nav-header .nav-global>ul>li:nth-child(6) ul {
        left: auto;
        right: 0;
    }
	.nav-global>ul>li>ul>li>a {
		background: url("../images/shared/arrow-white.svg") 19px center no-repeat;
		background-size: 7px auto;
		display: block;
		color: #fff;
		font-weight: normal;
		padding: 12px 25px 12px 38px;
		border-bottom: 1px #436eb5 solid;
	 }
	.nav-global>ul>li>ul>li>a:hover {
		background-color: #023169;
		background-size: 7px auto;
		text-decoration: none;
	 }

}

@media print, only screen and (min-width: 768px) and (max-width: 1250px) {

    .l-header_logo {
        padding: 23.47px 0 23.47px 10px;
    }
    .l-header_logo img {
        width: 240px;
    }
    .nav-global>ul {
        padding-left: 25px;
    }
    .nav-global>ul>li>a {
        padding: 15px 15px 15px 30px;
        font-size: 1.6rem;
    }
    .nav-global>ul>li>a::before {
        left: 10px;
    }
}

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

	.nav-sp {
        display: flex;
        padding: 2vw 0 2vw 8vw;
        background-color: #00397e;
	}
	.nav-sp ul {
		display: flex;
	}
    .nav-sp ul li {
        border-right: 1px solid #426a9a;
    }
	.nav-sp li a {
        display: block;
        position: relative;
        width: 11.5rem;
        height: 8rem;
        padding-top: 7.5vw;
        color: #fff;
        text-align: center;
		font-size: 1.6rem;
        font-weight: 600;
	}
    .nav-sp li a::before {
        content: "";
        display: block;
        position: absolute;
        top: 0.5rem;
        right: 0;
        left: 0;
        margin: auto;
        background-repeat: no-repeat;
    }
    .nav-sp li.access a::before {
        width: 2.6rem;
        height: 3.9rem;
        background-image: url(../images/shared/header_icon_access.svg);
        background-size: 2.6rem 3.9rem;
    }
    .nav-sp li.request a::before {
        width: 3.2rem;
        height: 4.1rem;
        background-image: url(../images/shared/header_icon_request.svg);
        background-size: 3.2rem 4.1rem;
    }
	.nav-global-sp a {
		color: #fff;
		display: block;
	}
	.nav-global-sp>ul>li {
		border-bottom: 1px #4d75a5 solid;
	}
	.nav-global-sp>ul>li>a {
		font-size: 3.2rem;
        padding: 2.2rem 9rem 2.2rem 3.5rem;
		position: relative;
	 }
	.nav-global-sp>ul>li>a:before {
		content: "";
        position: absolute;
		right: 4.5rem;
		top: 50%;
        border-style: solid;
        border-width: 1.7rem 1.15rem 0 1.15rem;
        border-color: #4d75a5 transparent transparent transparent;
		transform:translateY(-50%);
		transition:transform .3s ease;
	}
	.nav-global-sp>ul>li.open>a:before{
		transform:translateY(-50%) rotate(180deg);
	}
	.nav-global-sp>ul>li>ul{
		background-color: #00306b;
		padding-top: 0.3rem;
		display: none;
	}
	.nav-global-sp>ul>li>ul>li>a{
		display: block;
		font-size: 2.8rem;
		padding: 2.2rem 4rem 2.2rem 6.5rem;
	}
	.nav-global-sp>ul>li>ul>li:first-child>a{
		padding-top: 4.5rem;
	}
	.nav-global-sp>ul>li>ul>li:last-child>a{
		padding-bottom: 4.5rem;
	}
    .nav-link {
        display: flex;
        flex-wrap: wrap;
        padding: 4.2rem 12rem 2.2rem 12rem;
        background-color: #000;
    }
    .nav-link>li {
        width: 50%;
        margin-bottom: 2.66vw;
    }
		.nav-link>li.current {
			width: 100%;
		}
    .nav-link>li>a {
        position: relative;
        padding-left: 6vw;
        color: #fff;
        font-size: 3.2rem;
    }
		.nav-link>li.current>a::before {
		    left: 0;
		    width: 3.8rem;
		    height: 3.7rem;
		    background-size: 3.8rem 3.7rem;
		}
    .nav-link>li.access>a::before {
        left: 0.4vw;
        width: 1.9rem;
        height: 2.8rem;
        background-size: 1.9rem 2.8rem;
    }
    .nav-link>li.contact>a::before {
        width: 2.9rem;
        height: 2rem;
        background-size: 2.9rem 2rem;
    }
    .nav-link>li.en>a::before {
        width: 2.5rem;
        height: 2.5rem;
        background-size: 2.5rem 2.5rem;
    }
    .nav-link>li.request>a::before {
        left: 0.4vw;
        width: 2.1rem;
        height: 2.8rem;
        background-size: 2.1rem 2.8rem;
    }
}

/*==================================================

フッター

==================================================*/

/* フッター1
--------------------------------------------------*/

.l-footer {
	overflow: hidden;
}
.l-footer1 {
	background-color: #00397e;
	position: relative;
}
.l-footer1_heading .detail {
    position: relative;
}
.l-footer1_heading .sns li a {
    font-family: "snsfont";
}

/* pc */
@media print,only screen and (min-width: 768px){

	.l-footer1 .l-footer1_heading .inner {
        display: flex;
        align-items: center;
		max-width: 1100px;
		margin: 0 auto;
        padding: 31.16px 20px;
	}
	.l-footer1_heading {
		position: relative;
        background-color: #f3f8fe;
	}
	.l-footer1_heading .text {
		width: 340px;
	}
	.l-footer1_heading .text img {
		width: 100%;
	}
	.l-footer1_heading .detail {
		width: 610px;
        margin-left: 40px;
	}
	.l-footer1_heading .logo {
		width: 248px;
		margin-bottom: 20px;
	}
	.l-footer1_heading .sns {
		position: absolute;
		top: 0;
        left: 260px;
	}
	.l-footer1_heading .sns li {
		display: inline-block;
		margin: 0 10px;
        vertical-align: middle;
	}
    .l-footer1_heading .sns li a {
        color: #00397e;
        line-height: 1.7;
        font-size: 3rem;
    }
    .l-footer1_heading .sns li.facebook a {
        font-size: 3rem;
    }
    .l-footer1_heading .sns li.twitter a {
        font-size: 2.8rem;
    }
    .l-footer1_heading .sns li.instagram a {
        font-size: 2.6rem;
    }
    .l-footer1_heading .sns li.youtube a {
        font-size: 2.152rem;
    }
    .l-footer1_heading .sns li a:hover {
        text-decoration: none;
        opacity: 0.8;
    }
	.l-footer1_heading .address {
        padding: 0 7px;
		font-size: 1.5rem;
		line-height: 1.73;
	}

}

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

	.l-footer1_heading {
        padding: 7rem 0 5rem 0;
        background-color: #f3f8fe;
		text-align: center;
	}
	.l-footer1_heading .text {
		width: 53rem;
		margin:0 auto 7rem auto;
	}
	.l-footer1_heading .logo {
        width: 42rem;
		margin:0 auto 3rem auto;
	}
	.l-footer1_heading .address {
        line-height: 1.95;
		font-size: 2.6rem;
	}
	.l-footer1_heading .sns {
		margin-top: 3rem;
	}
	.l-footer1_heading .sns li {
        display: inline-block;
        vertical-align: middle;
        margin: 0 2rem;
	}
    .l-footer1_heading .sns li.facebook a {
        font-size: 6rem;
	}
    .l-footer1_heading .sns li.twitter a {
        font-size: 6rem;
	}
    .l-footer1_heading .sns li.instagram a {
        font-size: 5.6rem;
	}
    .l-footer1_heading .sns li.youtube a {
        font-size: 4.584rem;
	}
	.nav-footer {
		background-color: #00397e;
		border-top: 1px #4d75a5 solid;
	}
}
/* ページトップ
--------------------------------------------------*/
.l-footer1_pagetop {
	background-color: #1b1b1b;
	position: absolute;
	z-index: 100;
}
.l-footer1_pagetop a {
    display: block;
}
.l-footer1_pagetop .in {
    display: block;
    position: relative;
	color: #fff;
	font-style: italic;
}
.l-footer1_pagetop .in::before {
	content: "";
    display: block;
    position: relative;
    top: 40%;
    right: 0;
    left: 0;
    margin: auto;
	background: url("../images/shared/pagetop-arrow.svg") left center no-repeat;
	background-size: 100% auto;
}
/* pc */
@media print,only screen and (min-width: 768px){
	.l-footer1_pagetop {
        right: 5px;
        bottom: -73px;
		cursor: pointer;
		transition: background-color .2s,transform .2s;
	}
	.l-footer1_pagetop .in {
		font-size: 1.5rem;
		width: 60px;
        height: 60px;
	}
	.l-footer1_pagetop:hover{
		background-color: #00397e;
	}
	.l-footer1_pagetop .in:hover{
		text-decoration: none;
	}
	.l-footer1_pagetop .in::before{
		width: 15px;
		height: 9px;
	}

}

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

	.l-footer1_pagetop {
		right: 1rem;
	}
	.l-footer1_pagetop .in {
        width: 8rem;
        height: 8rem;
	}
	.l-footer1_pagetop .in::before {
		width: 2rem;
		height: 1.2rem;
	}
}


/* フッター2
--------------------------------------------------*/
.l-footer2 {
    background-color: #000;
}
.l-footer2_copy {
	color: #fff;
}

/* pc */
@media print,only screen and (min-width: 768px){

	.l-footer2 {
		padding: 24px 0;
	}
	.l-footer2_copy {
		font-size: 1.5rem;
		text-align:center;
	}

}

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

	.l-footer2 {
        padding: 2rem 0;
		text-align: center;
	}
	.l-footer2_copy{
		font-size: 2rem;
	}
}

/* フッターナビ
--------------------------------------------------*/

/* pc */
@media print,only screen and (min-width: 768px){

    .nav-footer {
        max-width: 1100px;
        margin: 0 auto;
        padding: 30px 20px;
    }
	.nav-footer>ul{
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
		font-size: 2rem;
	}
	.nav-footer>ul>li{
		width: calc( 25% - 26px );
		margin-bottom: 10px;
	}
	.nav-footer>ul>li.nav-footer_etc{
		width: calc( 50% - 23px );
	}
	.nav-footer>ul>li:last-child>ul{
		display: flex;
		flex-wrap:wrap;
		justify-content: space-between;
	}
	.nav-footer>ul>li:last-child>ul>li:nth-child(odd){
		width: 225px;
	}
	.nav-footer>ul>li:last-child>ul>li:nth-child(even){
		width: calc( 100% - 225px );
	}
	.nav-footer li a {
		color: #fff;
		display: block;
	}
	.nav-footer>ul>li>a {
		background: url("../images/shared/fnav-arrow.svg") 10px center no-repeat;
		background-size: 6px auto;
		padding: 13px 0 13px 30px;
        font-weight: bold;
	}
    .nav-footer>ul>li>a:hover {
        opacity: 0.8;
        text-decoration: none;
    }
	.nav-footer>ul>li>ul{
		border-top: 1px #fff100 solid;
		font-size: 1.4rem;
		padding: 15px 0 0 20px;
	}
    .nav-footer>ul>li>ul>li {
        position: relative;
        margin-bottom: 10px;
        padding-left: 5px;
    }
    .nav-footer>ul>li>ul>li::before{
		content: "・";
        position: absolute;
        top: 0;
        left: 0;
		margin-left: -1em;
        color: #fff;
	}
}

/* -----------------------------------------------

コンテナー

----------------------------------------------- */

/* pc */
@media print,only screen and (min-width: 768px){

	.l-container{
		max-width: 1100px;
		padding: 0 15px;
		margin: 0 auto 90px auto;
		box-sizing: content-box;
	}
	.l-container:after {
	  content: "";
	  display: table;
	  clear: both;
	}
	.l-container .l-sidebar{
		width: 270px;
		float: right;
	}
	.l-container .l-main{
		width: 780px;
		float: left;
		line-height: 2;
	}
	.l-container .l-main:first-child:last-child{
		width: 100%;
	}
}

/* sp */
@media screen and (max-width: 767px){
	.l-container{
		margin: 0 2rem 7rem 2rem;
	}
	.l-container .l-main{
		line-height: 1.9;
		margin-bottom: 14rem;
	}
}

/* -----------------------------------------------

サイドメニュー

----------------------------------------------- */

/* サイドメニュー見出し
--------------------------------------------------*/

.l-sidebar_heading{
	color: #00379b;
	font-weight: bold;
	text-align: center;
	position: relative;
	border-top: 2px #00379b solid;
}
.l-sidebar_heading:before{
	width: 100%;
	height: 1px;
	background-color: #00379b;
	content: "";
	position: absolute;
	left: 0;
}
.nav-side.-accordion .l-sidebar_heading:after{
	content: "";
	background: url("../images/shared/arrow-blue-down.svg") center center no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition:transform .3s ease;
}
.nav-side.-open .l-sidebar_heading:after{
	transform:translateY(-50%) rotate(180deg);
}

/* pc */
@media print,only screen and (min-width: 768px){

	.l-sidebar_heading{
		font-size: 2.6rem;
		letter-spacing: 0.08em;
		padding: 15px 0 11px 0;
	}
	.nav-side{
		margin-bottom: 20px;
	}
	.l-sidebar_heading:before{
		top: 3px;
	}
	.nav-side.-accordion .l-sidebar_heading:after{
		width: 14px;
		height: 14px;
		right: 15px;
	}

}

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

	.l-sidebar_heading{
		font-size: 4rem;
		padding: 3rem 0 2.8rem 0;
	}
	.l-sidebar_heading:before{
		top: 2px;
	}
	.nav-side.-accordion .l-sidebar_heading:after{
		width: 3rem;
		height: 3rem;
		right: 2.6rem;
	}
}

/* サイドメニュー
--------------------------------------------------*/

.nav-side ul{
	background-color: #f6f6f6;
}
.nav-side ul li{
	border-bottom: 1px #e5e5e5 solid;
	font-weight: bold;
}
.nav-side ul li a{
	background-image: url("../images/shared/arrow-side-blue.svg");
	background-repeat: no-repeat;
	display: block;
}
.nav-side ul li.current_page_item a,
.nav-side ul li.current-cat a{
	background-image: url("../images/shared/arrow-side-white.svg");
	background-color: #00397e;
	color: #fff;
}

/* pc */
@media print,only screen and (min-width: 768px){

	.nav-side{
		margin-bottom: 45px;
	}
	.l-sidebar_heading:after{
		top: 5px;
	}
	.nav-side ul{
		padding-bottom: 10px;
	}
	.nav-side ul li a{
		background-position: 24px 1.4em;
		background-size: 7px auto;
		font-size: 1.8rem;
		padding: 17px 20px 17px 40px;
	}
	.nav-side ul li a:hover{
		background-color: #e5e9f0;
		text-decoration: none;
	}
	.nav-side ul li.current_page_item a:hover,
	.nav-side ul li.current-cat a:hover{
		background-color: #00397e;
	}

}

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

	.nav-side{
		margin-bottom: 4rem;
	}
	.nav-side ul{
		padding-bottom: 1rem;
	}
	.nav-side ul li a{
		background-position: right 3rem center;
		background-size: 1.6rem auto;
		font-size: 3rem;
		padding: 1.7rem 5rem 1.7rem 3rem;
	}
}


/* -----------------------------------------------

フォント

----------------------------------------------- */
@font-face {
    font-family: 'snsfont';
    src:  url('../font/icomoon_loig9d.eot');
    src:  url('../font/icomoon_loig9d.eot#iefix') format('embedded-opentype'),
    url('../font/icomoon_loig9d.ttf') format('truetype'),
    url('../font/icomoon_loig9d.woff') format('woff'),
    url('../font/icomoon_loig9d-icomoon.svg') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'snsfont' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-facebook:before {
  content: "\ea90";
}
.icon-instagram:before {
  content: "\ea92";
}
.icon-twitter:before {
  content: "\ea96";
}
.icon-youtube2:before {
  content: "\ea9e";
}