*,:after,:before{
    box-sizing:border-box;
    border-style:solid;
    border-width:0
}
html{
    line-height:1;
    -webkit-text-size-adjust:100%;
    -webkit-tap-highlight-color:transparent
}
body{
    margin:0;
}
main{
    display:block
}
address,blockquote,dl,figure,form,iframe,p,pre,table{
    margin:0
}
h1,h2,h3,h4,h5,h6{
    font-size:inherit;
    font-weight:400;
    margin:0
}
ol,ul{
    margin:0;
    padding:0;
    list-style:none
}
dt{
    font-weight:400
}
dd{
    margin-left:0
}
hr{
    box-sizing:content-box;
    height:0;
    overflow:visible;
    border-top-width:1px;
    margin:0;
    clear:both;
    color:inherit
}
pre{
    font-family:monospace,monospace;
    font-size:inherit
}
address{
    font-style:inherit
}
a{
    background-color:transparent;
    text-decoration:none;
    color:inherit;
}
.contents a,
.contents a.link {
	color: #366ddd;
	text-decoration: underline;
}
a[target="_blank"] {
	position: relative;
	padding-right: 2em;
}
a[target="_blank"]::after {
	position: absolute;
	top: 50%;
	right: 0.3em;
	display: block;
	content: "";
	width:1.5em;
	height: 1.5em;
	margin-top: -0.7em;
	background: url("../img/base/icon_newwin.svg") no-repeat center center / 1.2em auto;
}
a[href^="mailto:"][target="_blank"]::after,
.noIcon a[target="_blank"]::after {
	display: none;
}
a[target="_blank"][href$=".pdf"],
a[href$=".pdf"],
a[target="_blank"][href$=".docx"],
a[href$=".docx"],
a[target="_blank"][href$=".xls"],
a[target="_blank"][href$=".xlsx"],
a[href$=".xls"],
a[href$=".xlsx"]{
	position: relative;
	padding-right: 2.2em;
}
a[target="_blank"][href$=".pdf"]::after,
a[href$=".pdf"]::after,
a[target="_blank"][href$=".docx"]::after,
a[href$=".docx"]::after
a[target="_blank"][href$=".xls"]::after,
a[target="_blank"][href$=".xlsx"]::after,
a[href$=".xls"]::after,
a[href$=".xlsx"]::after {
	position: absolute;
	top: 50%;
	right: 0.8em;
	display: block;
	content: "";
	width:1.6em;
	height: 1.6em;
	margin-top: -0.8em;
	box-sizing: border-box;
}
.noIcon a[target="_blank"][href$=".pdf"]::after,
.noIcon a[href$=".pdf"]::after,
.noIcon a[target="_blank"][href$=".docx"]::after,
.noIcon a[href$=".docx"]::after
.noIcon a[target="_blank"][href$=".xls"]::after,
.noIcon a[target="_blank"][href$=".xlsx"]::after,
.noIcon a[href$=".xls"]::after,
.noIcon a[href$=".xlsx"]::after {
	display: none;
}
a[target="_blank"][href$=".pdf"]::after,
a[href$=".pdf"]::after {
	background: url("../img/base/icon_pdf.svg") no-repeat center center / 1.5em auto;
}

a[target="_blank"][href$=".docx"]::after,
a[href$=".docx"]::after {
	background: url("../img/base/icon_doc.svg") no-repeat center center / 1.5em auto;
}

a[target="_blank"][href$=".xls"]::after,
a[target="_blank"][href$=".xlsx"]::after,
a[href$=".xls"]::after,
a[href$=".xlsx"]::after {
	background: url("../img/base/icon_xls.svg") no-repeat center center / 1.5em auto;
}
a[href^="tel:"] {
	
}
@media screen and (min-width:768px){
	a[href^="tel:"] {
		pointer-events: none;
		color: inherit;
		text-decoration: none;
	}
}
.colorNavy {
	color: #000066;
}
.colorRed {
	color: #990033;
}
abbr[title]{
    text-decoration:underline dotted
}
b,strong{
    font-weight:bolder
}
code,kbd,samp{
    font-family:monospace,monospace;
    font-size:inherit
}
small{
    font-size:80%
}
sub,sup{
    font-size:75%;
    line-height:0;
    position:relative;
    vertical-align:baseline
}
sub{
    bottom:-.25em
}
sup{
    top:-.5em
}
embed,iframe,img,object,svg{
    vertical-align:bottom
}
button,input,optgroup,select,textarea{
    -webkit-appearance:none;
    appearance:none;
    vertical-align:middle;
    color:inherit;
    font:inherit;
    background:transparent;
    padding:0;
    margin:0;
    border-radius:0;
    text-align:inherit;
    text-transform:inherit
}
[type=checkbox]{
    -webkit-appearance:checkbox;
    appearance:checkbox
}
[type=radio]{
    -webkit-appearance:radio;
    appearance:radio
}
[type=button],[type=reset],[type=submit],button{
    cursor:pointer
}
[type=button]:disabled,[type=reset]:disabled,[type=submit]:disabled,button:disabled{
    cursor:default
}
:-moz-focusring{
    outline:auto
}
select:disabled{
    opacity:inherit
}
fieldset,option{
    padding:0
}
fieldset{
    margin:0;
    min-width:0
}
legend{
    padding:0
}
progress{
    vertical-align:baseline
}
textarea{
    overflow:auto
}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{
    height:auto
}
[type=search]{
    outline-offset:-2px
}
[type=search]::-webkit-search-decoration{
    -webkit-appearance:none
}
::-webkit-file-upload-button{
    -webkit-appearance:button;
    font:inherit
}
label[for]{
    cursor:pointer
}
details{
    display:block
}
summary{
    display:list-item
}
[contenteditable]:focus{
    outline:auto
}
table{
    border-color:inherit;
    border-collapse:collapse
}
caption{
    text-align:left
}
td,th{
    vertical-align:top;
    padding:0
}
th{
    text-align:left;
    font-weight:400
}
html{
    font-size:62.5%
}
:root{
    --vw:1vw
}
body{
    font-family: 'Noto Sans JP', sans-serif;
	color:#333333;
    font-size:1.6rem;
    -webkit-font-smoothing:antialiased;
    -webkit-overflow-scrolling:touch;
    line-break:strict
}
body a{
    transition:all .4s ease;
    cursor:pointer
}
body a:hover{
    text-decoration:none;
	opacity: 0.7;
}
.container{
    width:100%;
    margin:0;
    padding:0;
    max-width:100%;
    min-width:100%
}
button,input,select,textarea{
    margin:0;
    padding:0;
    background:none;
    border:none;
    border-radius:0;
    outline:none;
    -webkit-appearance:none;
    -moz-appearance:none;
    appearance:none;
    box-sizing:border-box;
    text-align:left;
    line-height:inherit;
    font-family:inherit
}
select::-ms-expand{
    display:none
}
.lg:not(br),.sp:not(br),.tb:not(br),br.lg,br.sp,br.tb{
    display:none!important
}
.pc:not(br){
    display:block!important
}
br.pc{
    display:inline-block!important
}
.fixed{
    position:fixed;
    width:100%;
    height:100%
}
.ib {
	display: inline-block;
}
@media screen and (max-width:1050px){
    .pc:not(br),.sp:not(br),.tb:not(br),br.pc,br.sp,br.tb{
        display:none!important
    }
    .lg:not(br){
        display:block!important
    }
    br.lg{
        display:inline-block!important
    }
}
@media screen and (max-width:900px){
    .lg:not(br),.pc:not(br),.sp:not(br),br.lg,br.pc,br.sp{
        display:none!important
    }
    .tb:not(br){
        display:block!important
    }
    br.tb{
        display:inline-block!important
    }
}
@media screen and (max-width:767px){
    .lg:not(br),.pc:not(br),.tb:not(br),br.lg,br.pc,br.tb{
        display:none!important
    }
    .sp:not(br){
        display:block!important
    }
    br.sp{
        display:inline-block!important
    }
	.is-pc {
		display: none;
	}
}

figure.alignL {
	display: block;
	text-align: center;
	margin: 0 auto 2em;
	max-width: 100%!important;
}
figure.alignR {
	display: block;
	text-align: center;
	margin: 0 auto 2em;
	max-width: 100%!important;
}
figure {
}
figure img,
p img {
	margin: 0.3em auto!important;
	width: 100%;
	box-sizing: border-box;
}
figure figcaption {
	font-size: 0.92em;
	line-height: 1.3;
	color: inherit;
	margin-top: 0.3em;
}
.clearfix::after {
	display: block;
	content: "";
	clear: both;
	overflow: hidden;
}

/* align */
.alignCenter {
	text-align: center;
}
.alignLeft {
	text-align: left;
}
.alignRight {
	text-align: right;
}
@media screen and (max-width: 767px) {/* mobile */
	figure.alignL,
	figure.alignR,
	.alignC figure {
		display: block;
		text-align: center;
		margin: 0 auto 2em;
		max-width: 100%;
	}
	figure img {
		display: inline-block;
		margin: 0.3em auto!important;
		width: 100%!important;
	}
	figure figcaption,
	figure figcaption .alignRight {
		text-align: center!important;
	}
}/* @media {}*/
@media print, screen and (min-width: 768px) {/* PC */
	figure.alignL {
		display: inline-block;
		float: left;
		margin: 0 46px 3em 0;
	}
	figure.alignR {
		display: inline-block;
		float: right;
		margin: 0 0 3em 46px;
	}
	.alignC {
		margin: 0 auto 0;
		text-align: center;
	}
	.alignC figure {
		display: inline-block;
	}
	
}/* @media {}*/



/* -----------------------------------------------
= slider
----------------------------------------------- */
.slider{
    display:none
}
.slider.slick-initialized{
    display:block
}

/* -----------------------------------------------
= header
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
	.header {
		height: 124px;
		border-bottom: 1px solid #f2f2f2;
		background: #fff;
		overflow: hidden;
		/*position: relative;*/
	}
	.header .logo {
		position: absolute;
		top: 2.7rem;
		left: 4rem;
		padding: 0;
		
		box-sizing: border-box;
		max-width: 500px;
		width: 45%;
		height: auto;
	}
	.header .logo a {
		display: block;
		width: 100%;
		height: auto;
	}
	.header .logo a img {
		width: 100%;
		height: auto;
	}
	.header .set {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		/*margin: 1.8rem 3.7rem auto auto;*/
		position: absolute;
		top: 1.8rem;
		right: 3.7rem;
	}
	.header .set p {
		font-size: 1.6rem;
		padding-left: 1.5em;
		margin-left: 1.5em;
	}
	.header .set .home {
		position: relative;
	}
	.header .set .home::before {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		content: "";
		width: 1em;
		height: 1em;
		background: url("../img/base/icon_home.png") no-repeat top center / contain;
	}
	.header .set .lang {
		position: relative;
	}
	.header .set .lang::before {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		content: "";
		width: 1em;
		height: 1em;
		background: url("../img/base/icon_lang.png") no-repeat top center / contain;
	}
	.g_nav {
		display: block;
		position: absolute;
		top: 59px;
		right: 2rem;
		/*bottom: 0px;
		right: 2rem;*/
		/*width: 50%;
		max-width: 700px;*/
		box-sizing: border-box;
	}
	.g_nav > ul {
		margin: 0 0 15px;
		display:flex;
		align-items: center;
		justify-content:flex-end;
	}
	.g_nav > ul > li {
		display: table;
		height: 50px;
	}
	.g_nav > ul > li > a {
		display:table-cell;
		vertical-align: middle;
		font-size:1.8rem;
		font-weight: bold;
		line-height: 1.2;
		letter-spacing:0;
		padding:0.3em 1em;
		border-left:1px solid #e0e0e0;
		text-align:center;
		position:relative;
		box-sizing: border-box;
	}
	.g_nav > ul > li:hover > a {
		color: #333399;
	}
	.g_nav > ul > li > a::after {
		content: "";
		display: none;
		position: absolute;
		left: 0;
		bottom: -14px;
		/*bottom: -20px;*/
		width: 100%;
		height: 4px;
		background: #333399;
	}
	.g_nav > ul > li:hover > a::after {
		display: block;
	}
	.g_nav_sub {
		display: none;
		position: fixed;
		top: 124px;
		left: 0;
		width: 100%;
		background: #fff;
		border-top: 1px solid #dddcda;
		border-bottom: 1px solid #dddcda;
		z-index: 9999;
	}
	.g_nav_sub .inner {
		max-width: 1260px;
		width: 100%;
		margin: 0 auto;
		padding: 30px 30px;
		box-sizing: border-box;
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.g_nav_sub figure {
		width: 216px;
		margin-right: 60px;
	}
	.g_nav_sub .g_nav_sub_menu {
		flex: 1;
	}
	.g_nav_sub h2 {
		font-size: 1.2em;
		font-weight: bold;
		color: #000066;
		padding: 0.6em 0 0.8em;
		margin-left: -0.5em;
	}
	.g_nav_sub ul {
		flex: 1;
		display: flex;
		flex-wrap: wrap;
		margin-right: -2em;
	}
	.g_nav_sub ul li {
		margin: 0.2em 2em 1em 0;
		width: calc(25% - 2em);
		box-sizing: border-box;
	}
	.g_nav_sub ul li:nth-child(4n) {
		margin-right: 0;
	}
	.g_nav_sub ul.flex3 li {
		margin: 0.2em 2em 1em 0;
		width: calc(33% - 2em);
		box-sizing: border-box;
	}
	.g_nav_sub ul.flex3 li:nth-child(3n) {
		margin-right: 0;
	}
	.g_nav_sub ul.flex2 li {
		margin: 0.2em 2em 1em 0;
		width: calc(50% - 2em);
		box-sizing: border-box;
	}
	.g_nav_sub ul.flex2 li:nth-child(2n) {
		margin-right: 0;
	}
	.g_nav_sub ul.flex0 li {
		margin: 0.2em 2em 1em 0;
		width: auto;
		box-sizing: border-box;
	}
	.g_nav_sub ul li a {
		display: block;
		position: relative;
		padding-left: 1.5em;
		font-size: 1.6rem;
		line-height: 1.3;
		background: url("../img/base/icn-arrow2.svg") no-repeat top 0.15em left  / 1em auto;
	}
}
@media print, screen and (max-width: 1320px) {
	.g_nav > ul > li > a {
		font-size: 1.7rem;
		margin-bottom: 0.1em;
	}
}
@media print, screen and (max-width: 1260px) {
	.g_nav > ul > li > a {
		font-size: 1.65rem;
	}
}
@media print, screen and (max-width: 1220px) {
	.g_nav > ul > li > a {
		font-size: 1.5rem;
	}
}
@media print, screen and (max-width: 1180px) {
	.g_nav li:nth-child(1) {
		width: 36%;
		min-width: 190px;
	}
	.g_nav li:nth-child(2) {	
	}
}
@media print, screen and (max-width: 970px) {
	.g_nav {
		width: 40%;
	}
	.g_nav li:nth-child(3) {
		max-width: 130px;
	}
}
@media print, screen and (max-width: 767px) {/* SP */
	.header {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		width: 100%;
		height: 60px;
		background: #fff;
		box-sizing: border-box;
		border-bottom: 1px solid #dddcda;
	}
	.header .logo {
		box-sizing: border-box;
		z-index: 102;
	}
	.header .logo a {
		display: block;
		width: 85%;
		max-width: 350px;
		padding: 8px 5% 0;
	}
	.header .logo a img {
		width: 100%;
		height: auto;
	}
	.header .set {
		display: none;
	}
	.g_nav {
		display: none;
	}
}

/* -----------------------------------------------
= nav for SP
----------------------------------------------- */
@media print, screen and (max-width: 767px) {/* SP */
	.is-nav_opened {
		overflow: hidden;
	}
	.nav_btn {
		position: fixed;
		top: 5px;
		right: 5px;
		z-index: 200;
		width: 40px;
		height: 40px;
		cursor: pointer;
		transition: opacity .3s;
		font-size: 1.6rem;
	}
	.nav_btn:hover {
		opacity: .8;
	}
	.nav_btn span {
		display: block;
		position: absolute;
		right: 15px;
		width: 70%;
		height: 2px;
		background: #333;
		transition: background .3s;
	}
	.nav_btn .bar01 {
		top: 15px;
		transition: transform .3s, position .3s;
	}
	.nav_btn .bar02 {
		top: 25px;
	}
	.nav_btn .bar03 {
		top: 35px;
		transition: transform .3s, position .3s;
	}
	.is-nav_opened .nav_btn span {
		background: #000;
	}
	.is-nav_opened .bar01 {
		top: 25px;
		transform: rotate(-45deg);
	}
	.is-nav_opened .bar02 {
		display: none;
	}
	.is-nav_opened .bar03 {
		top: 25px;
		transform: rotate(45deg);
	}
	.nav {
		display: none;
		position: fixed;
		top: 60px;
		z-index: 101;
		width: 100%;
		height: 100%;
		max-height: 100vh;
		background: #fff;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.is-nav_opened .nav {
		display: block;
	}
	.nav .inner {
		margin: 0 0 0;
		padding: 0 0 1em;
		
	}
	.nav dl {
		margin: 0 0 50px;
	}
	.nav dt,
	.nav dt.dt02 {
		position: relative;
		border-bottom: 1px solid #dddcda;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1.3;
		cursor: pointer;
	}
	.nav dt {
		padding: 1em 0;
	}
	.nav dt.dt02 {
		padding: 0 0;
	}
	.nav dt > span {
		margin: 0;
		padding: 0 5%;
		display: block;
	}
	.nav dt > span::before,
	.nav dt > span::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 5%;
		width: 1.2em;
		height: 2px;
		background: #333399;
	}
	.nav dt > span::after {
		transform: rotate(90deg);
	}
	.nav dt.is-active > span::before {
		transform: rotate(45deg);
	}
	.nav dt.is-active > span::after{
		transform: rotate(-45deg);
	}
	.nav dt > span.is-active::after {
		display: none;
	}
	.nav dd {
		display: none;
	}
	.nav dd h2 {
		padding: 0.5em 5% 0.5em;
		font-size: 1em;
		line-height: 1.3;
		border-bottom: 1px solid #dddcda;
	}
	.nav dd ul {
		background: #f8f8fb;
	}
	.nav dd li {
		border-bottom: 1px solid #dddcda;
		padding: 0 5%;
	}
	.nav dd li a {
		display: block;
		position: relative;
		padding: 0.5em 2em 0.5em 1em;
		font-size: 1em;
		line-height: 1.3;
	}
	.nav dd li a::after {
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 0.52em;
		width: 0.5em;
		height: 0.5em;
		margin-top: -0.25em;
		border-top: 1px solid #999;
		border-right: 1px solid #999;
		transform: rotate(45deg);
	}
	.nav dt.dt02 > a {
		display: block;
		position: relative;
		padding: 1em 5% 1em 1.2em;
		font-size: 1em;
		line-height: 1.3;
	}
	
	.nav dt.dt02 > a::after{
		content: "";
		display: block;
		position: absolute;
		top: 50%;
		right: 1.6em;
		width: 0.8em;
		height: 0.8em;
		margin-top: -0.4em;
		border-top: 2px solid #333399;
		border-right: 2px solid #333399;
		transform: rotate(45deg);
	}
	.nav a[target="_blank"]::before,
	.nav a[target="_blank"]::after {
		display: none;
	}
	.nav a[target="_blank"] {
		background: url("../img/base/icon_newwin.svg") no-repeat right center / 1.3em auto;
	}
	.nav dl + div {
		text-align: center;
		font-size: 1.6rem;
		line-height: 1;
	}
	.nav .lang {
		position: relative;
		display: inline-block;
		padding-left: 1.5em;
	}
	.nav .lang::before {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		content: "";
		width: 1em;
		height: 1em;
		background: url("../img/base/icon_lang.png") no-repeat center center / contain;
	}
}
@media print, screen and (min-width: 768px) {/* PC */
	.nav,
	.is-sp {
		display: none !important;
	}
}/* @media {}*/
/* -----------------------------------------------
= print
----------------------------------------------- */
@media print {
	body {
		min-width: 1000px;
	}
	.header,
	.side {
		display: none;
	}
}/* media */

.cover{
    position:fixed;
    width:100%;
    height:100%;
    z-index:1000;
    background:transparent;
    top:0;
    right:0;
    bottom:0;
    left:0;
    display:none
}

/* -----------------------------------------------
= pagetop
----------------------------------------------- */
#pagetop {
	width: 100%;
	position: relative;
	display: none;
}
#pagetop a {
	width: 35px;
	height: 35px;
	background: url(../img/base/totop.png) no-repeat center center;
	background-size: cover;
	font-size: 0px;
	line-height: 0;
	text-indent: -9999px;
	display: block;
	right: 15px;
	bottom: 15px;
	z-index: 100;
	position: fixed;
}
#pagetop.nonfixed a {
	position: absolute;
}

@media print, screen and (min-width: 768px) {/* PC */
	#pagetop {
		min-width: 1100px;
	}
	#pagetop a {
		width: 48px;
		height: 48px;
		right: 25px;
		bottom: 100px;
		z-index: 100;
	}
}/* @media */
/* -----------------------------------------------
= footer
----------------------------------------------- */
.footer{
    padding-top: 55px;
}
.footer__inner{
    padding-right:30px;
    padding-left:30px;
    margin-right:auto;
    margin-left:auto;
    max-width:1260px;
}
@media screen and (max-width:1050px){
    .footer__inner{
        max-width:100%;
        padding-right:30px;
        padding-left:30px
    }
}
@media screen and (max-width:900px){
    .footer__inner{
        padding-right:30px;
        padding-left:30px
    }
}
@media screen and (max-width:767px){
    .footer__inner{
        padding-right:20px;
        padding-left:20px
    }
}

.footer .footer__logo {
}
.footer .footer__address {
	margin: 1.2em 0 0.6em;
}
.footer__info {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.footer__info p {
	margin: 1em 1.2em;
}
.footer__info p:first-child {
	margin-left: 0;
}
.footer__info p:last-child {
	margin-right: 0;
}
.footer__info .ttlContact {
	display: inline-block;
	background: #999;
	color: #fff;
	padding: 0.45em 2em 0.55em;
	border-radius: 0.5em;
}
.footer__info .tel {
	background: url("../img/base/icon-tel.svg") no-repeat left center / 1.3em auto;
	padding: 0.2em 0 0.2em 1.6em;
}
.footer__info .mail {
	background: url("../img/base/icon-mail.svg") no-repeat left center / 1.3em auto;
	padding: 0.2em 0 0.2em 1.8em;
}
.footer__copy{
    background: #000066;
	color: #fff;
	margin-top: 20px;
	padding: 3em 1em;
	font-size:1.1rem;
    line-height:1;
    letter-spacing:.1em;
    text-align: center;
}
@media screen and (max-width:1050px){
    .footer__copy{
        margin-top:14px
    }
}
@media screen and (max-width:900px){
    .footer__inner{
        flex-direction:column;
        align-items:center;
	}
}
@media screen and (max-width:767px){
    .footer {
		text-align: center;
	}
	.footer__logo {
		text-align: left;
		max-width: 100%;
		width: 350px;
	}
	.footer__logo img {
		width: 100%;
		height: auto;
	}
	.footer__info {
		display: inherit;
	}
	.footer__info p {
		margin-left: 0;
		margin-right: 0;
		display: inline-block;
		clear: both;
		text-align: center;
	}
	.footer__copy{
        font-size:12px;
        line-height:18px
    }
	.footer__address {
		text-align: left;
		line-height: 1.5;
	}
}


.bg{
    position:absolute;
    top:0;
    left:50%;
    transform:translate(calc(var(--vw)*-50));
    width:calc(var(--vw)*100);
    height:100%;
    background:#fafafa;
    z-index:-1
}

/* -----------------------------------------------
= main
----------------------------------------------- */
.main {
	padding: 0 0 0;
}
@media print, screen and (min-width: 768px) {/* PC */
.main {
	padding: 0 0 0;
}
}/* @media {}*/

/* -----------------------------------------------
= titleImg
----------------------------------------------- */
.titleImg {
	margin-top: 0;
	align-items: center;
	height: 496px;
	color: #fff;
	position: relative;
	box-sizing: border-box;
}
.titleImg img {
	object-fit: cover;
	object-position: center center;
	width: 100%;
	height: 496px;
}
.titleImg .titleWrap {
	position: absolute;
	top: 30%;
	left: 0;
	right: 0;
	max-width: 1260px;
	padding: 0 30px;
}
.titleImg .titleBox {
	display: inline-block;
	padding: 2em 3em 1.7em 1.4em;
	background:rgba(163,166,173,0.6);
	line-height: 1.3;
	color: #fff;
	min-width: 330px;
	box-sizing: border-box;
}
.titleImg .titleBox h2 {
	font-size: 3.0rem;
	font-weight: bold;
	margin-bottom: 0.4em;
	letter-spacing: 0.06em;
}
.titleImg .titleBox p {
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.06em;
}

@media print, screen and (max-width: 767px) {/* SP */
.titleImg {
	margin-top: 60px;
	height: 200px;
}
.titleImg img {
	object-position: center center;
	height: 200px;
}
#infoIndex .titleImg img {
	object-position: top 0 left 10%;
}
#iryoIndex .titleImg img {
	object-position: top 0 left 5%;
}

.titleImg .titleWrap {
	position: absolute;
	top: inherit;
	bottom: 10%;
	left: 0;
	right: 0;
	max-width: 100%;
	padding: 0 5%;
}
.titleImg .titleBox {
	padding: 1.5em 1.5em 1.2em 1em;
	min-width: 180px;
	
}
.titleImg .titleBox h2 {
	font-size: 1.9rem;
}
.titleImg .titleBox p {
	font-size: 1.4rem;
}
}/* @media {}*/

/* -----------------------------------------------
= breadcrumbs
----------------------------------------------- */
@media print, screen and (min-width: 768px) {/* PC */
.breadcrumbs {
	max-width: 1260px;
	width: 100%;
	height: 105px;
	padding: 1em 30px;
	margin: 0 auto;
	box-sizing: border-box;
	font-size: 1.4rem;
}
.breadcrumbs a {
	text-decoration: underline;
}
.breadcrumbs ul {
	display: flex;
}
.breadcrumbs ul li {
}
.breadcrumbs ul li + li {
	margin-left: 0.8em;
}
.breadcrumbs ul li + li::before {
	content: "＞";
	margin-right: 0.7em;
}
}/* @media {}*/

/* -----------------------------------------------
= wrap
----------------------------------------------- */
.wrap {
	padding: 0 5% 0;
}
.wrap .contents {
	padding-top: 40px;
	margin-bottom: 60px;
	font-size: 1.5rem;
	line-height: 2;
	letter-spacing: inherit;
}
.wrap .side {
	margin-bottom: 8rem;
}
@media print, screen and (min-width: 768px) {/* PC */
.wrap {
	display: flex;
	max-width: 1260px;
	width: 100%;
	padding: 0 30px;
	margin: 0 auto;
	box-sizing: border-box;
}
.wrap .contents {
	flex: 1;
	order: 2;
	padding-top: 0;
	margin-bottom: 6em;
	font-size: 1.6rem;
}
.wrap .side {
	order: 1;
	width: 270px;
	margin-right: 68px;
	margin-bottom: 6em;
}
}/* @media {}*/

/* -----------------------------------------------
= contents parts
----------------------------------------------- */
.contents .sec + .sec {
	margin-top: 5em;
}
.contents section:first-child h3:first-child,
.contents section:first-child h4:first-child,
.contents section:first-child h5:first-child,
.contents section:first-child h6:first-child,
.contents section:first-child p:first-child {
	margin-top: 0;
}
.contents p {
margin: 0 0 1.8em;
}
.contents .catch {
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	padding-bottom: 1.7em;
}
.contents .catch span {
	font-size: 0.85em;
}
.contents .heading_l {
	position: relative;
	margin-bottom: 2em;
	padding-bottom: 0.7em;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.05em;
}
.contents .heading_l::before,
.contents .heading_l::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
}
.contents .heading_l::before {
	width: 100%;
	background: #eceaff;
}
.contents .heading_l::after {
	width: 30%;
	background: #000066;
}
.contents .heading_l span {
	font-size: 0.7em;
}
.contents .heading_m,
.news .field h4 {
	position: relative;
	margin-bottom: 1.2em;
	padding: 0.3em 0 0.3em 1.15em;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
}
.contents .heading_m span,
.news .filed h4 span {
	font-size: 2.6rem;
	font-weight: normal;
	display: inline-block;
}
.contents .heading_m::before,
.contents .heading_m::after,
.news .field h4::before,
.news .field h4::after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
}
.contents .heading_m::before,
.news .field h4::before {
	width: 0.5em;
	background: #cecee9;
}
.contents .heading_m::after,
.news .field h4::after {
	width: 0.3em;
	background: #000066;
}
.contents .heading_s,
.news .field h5 {
	position: relative;
	margin-bottom: 1.6em;
	padding: 0 0 0 1.0em;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	color: #000066;
	margin-top: 2em;
	letter-spacing: 0.05em;
}
.contents .heading_s::before,
.news .field h5::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 0.25em;
	background: #000066;
}
.contents .heading_center {
	position: relative;
	width: 100%;
	margin-top: 2em;
	margin-bottom: 1.6em;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	padding: 0 0;
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1.6;
	text-indent: 0;
}
.contents .heading_center span {
	display: inline-block;
	background: #fff;
	padding: 0 0.6em;
}
.contents .heading_center::before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	width: 100%;
	height: 1;
	margin-top: -1px;
	border-top: 1px dotted #666;
	z-index: -1;
}
.contents .heading_ss,
.news .field h6 {
	font-size: 1.4rem;
	padding-left: 1.4em;
	line-height: 1.8;
	font-weight: 700;
	margin-bottom: 0.5em;
	margin-top: 3em;
	position: relative;
}
.contents .heading_ss::before,
.news .field h6::before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: "●";
}
@media print, screen and (min-width: 768px) {/* PC */
.contents .sec + .sec {
}
.contents .heading_l {
	font-size: 2.5rem;
}
.contents .heading_l::before,
.contents .heading_l::after {
	height: .4rem;
}
.contents .heading_l::after {
	width: 10rem;
}
.contents .heading_m,
.news .field h4 {
	font-size: 2.2rem;
}
.contents .heading_m span,
.news .field h4 span {
	font-size: 1.6rem;
	display: inline;
}
.contents .heading_m::before,
.news .field h4::before {
}
.contents .heading_m::after,
.news .field h4::after {	
}
.contents .heading_s,
.news .field h5 {
	font-size: 1.85rem;
}
.contents .heading_s::before,
.news .field h5::before {
}
.contents .heading_center {
	width: 90%;
	max-width: 600px;
	font-size: 1.65rem;
}
.contents .heading_center span {
}
.contents .heading_center::before {
}
.contents .heading_ss,
.news .field h6 {
	margin-bottom: 1em;
	font-size: 1.6rem;
}
.contents .text {
	font-size: 1.6rem;
	line-height: 3rem;
}
.contents .linkList.inline {
	display: flex;
	flex-wrap: wrap;
}
.contents .linkList li + li {
	margin-top: 1.5em;
}
.contents .linkList.inline li {
	margin-top: 1.5em;
}
.contents .text + .linkList {
	margin-top: 3rem;
}
.contents figure {
	width: auto;
	max-width: 100%;
}
.contents figure img {
	width: auto;
	max-width: 100%;
}	
}/* @media {}*/

@media print, screen and (max-width: 767px) {/* SP */
	.contents figure.tate {
		width: 75%!important;
		max-width: 280px!important;
		margin-left: auto;
		margin-right: auto;
	}
	.contents figure.small {
		max-width: 161px!important;
		margin-left: auto;
		margin-right: auto;
	}
}/* @media {}*/

/* -----------------------------------------------
= side
----------------------------------------------- */
.side dt a {
	display: block;
	padding: 1.3em 1em;
	color: #fff;
	background: #000066;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	letter-spacing: .06em;
}
.side dd {
	border: 1px solid #d3d3d2;
	border-top: none;
}
.side h2 {
	background: #e9e9e9;
	text-align: center;
	border-top: 1px solid #d3d3d2;
	font-size: 1.7rem;
	padding: 0.9em 1em;
}
.side ul > li + li,
.side h2 + ul > li,
.side ol > li {
	border-top: 1px solid #d3d3d2;
}
.side li > a {
	display: block;
	position: relative;
	font-size: 1.6rem;
	line-height: 1.4;
}
.side ul > li > a {
	padding: 0.9em 1em 0.9em 2.5em;
}
.side ul > li > ol > li > a {
	padding: 0.9em 1em 0.9em 4.0em;
}
.side li > a::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	
	width: 0.5em;
	height: 0.5em;
	margin-top: -0.25em;
	border-top: 1px solid #666;
	border-right: 1px solid #666;
	transform: rotate(45deg);
}
.side ul > li > a::before {
	left: 1em;
}
.side ul > li > ol > li > a::before {
	left: 2.5em;
}
.side li > a:hover {
	background-color: #fafafa!important;
}
.side li.current > a {
	background-color: #dbedfb;
}
.side li > a[target="_blank"] {
	padding: 0.8em 2.5em 0.8em 2.5em;
}
@media print, screen and (min-width: 768px) {/* PC */
	.side dt > a {
		padding: 1.2em 1em;
		font-size: 1.8rem;
		font-weight: bold;
	}
	.side li > a::before {
		left: 0.8em;
	}
}/* @media {}*/

/* -----------------------------------------------
= categoryTop
----------------------------------------------- */
#categoryTop .ulTopMenu {
	
}
#categoryTop .ulTopMenu li {
	display: block;
	border: 1px solid #d3d3d2;
	background: #fafafa;
	margin-bottom: 1em;
	box-sizing: border-box;
	line-height: 1.4;
}
#categoryTop .ulTopMenu li a {
	display: block;
	padding: 1.2em 2.2em 1.2em 3em;
	position: relative;
	color: inherit;
	text-decoration: none;
}
#categoryTop .ulTopMenu li a::before {
	position: absolute;
	top: 50%;
	left: 1em;
	dispplay: block;
	content: "";
	width: 1em;
	height: 1em;
	margin-top: -0.5em;
	background: url("../img/base/icn-arrow2.svg") no-repeat center center / 90% auto;
}

@media print, screen and (min-width: 768px) {/* PC */
	#categoryTop .ulTopMenu {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: stretch;
		width: 94%;
		max-width: 860px;
		margin: 0 auto;
	}
	#categoryTop .ulTopMenu li {
		display: block;
		border: 1px solid #d3d3d2;
		background: #fafafa;
		width: calc(50% - 1em);
		margin-right: 2em;
		margin-bottom: 2em;
		box-sizing: border-box;
	}
	#categoryTop .ulTopMenu li:nth-child(2n) {
		margin-right: 0;
	}
}

/* -----------------------------------------------
= ul, ol
----------------------------------------------- */
.ulNormal li {
	list-style-position: outside;
	list-style-type: disc;
	margin-left: 1.5em;
	line-height: 1.5;
}
.ulNormal2 li {
	display: inline-block;
	padding-left: 1.5em;
	line-height: 1.5;
	margin-right: 2em;
	margin-bottom: 1em;
	position: relative;
}
.ulNormal2 li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "●";
	width: 1.5em;
	height: 1em;
	font-size: 0.5em;
	padding-top: 0.7em;
	text-align: center;
}

.olNormal li {
	list-style-position: outside;
	list-style-type: decimal;
	margin-left: 1.5em;
	line-height: 1.5;
}

.ulLinkList li {
	display: block;
	line-height: 1.5;
	margin: 0em 2em 0 0;
}
.ulLinkList2::after {
	display: block;
	clear: both;
	content: "";
}
.ulLinkList2 li {
	display: inline-block;
	line-height: 1.5;
	margin: 0 2em 1em 0;
	float: left;
}
.ulLinkList li,
.ulLinkList2 li {
	line-height: 1.6em;
	padding-left: 1.6em;
	color: inherit;
	background: url("../img/base/icn-arrow2.svg") no-repeat top 0.43em left 0.15em / 0.8em auto;
}

.ulLinkList li + li,
.ulNormal li + li,
.olNormal li + li{
	margin-top: 1.5rem;
}

/* -----------------------------------------------
= margin, padding
----------------------------------------------- */
.mt1em {margin-top: 1em!important;}
.mt2em {margin-top: 2em!important;}
.mt3em {margin-top: 3em!important;}
.mt4em {margin-top: 4em!important;}
.mt5em {margin-top: 5em!important;}

.mt-1em {margin-top: -1em!important;}
.mt-2em {margin-top: -2em!important;}
.mt-3em {margin-top: -3em!important;}
.mt-4em {margin-top: -4em!important;}
.mt-5em {margin-top: -5em!important;}

.ml1em {margin-left: 1em!important;}
.ml2em {margin-left: 2em!important;}
.ml3em {margin-left: 3em!important;}
.ml4em {margin-left: 4em!important;}
.ml5em {margin-left: 5em!important;}

.indent1 {
	text-indent: -1em;
	padding-left: 1em;
}
.indent2 {
	text-indent: -2em;
	padding-left: 2em;
}
.indent3 {
	text-indent: -3em;
	padding-left: 3em;
}
.indent4 {
	text-indent: -4em;
	padding-left: 4em;
}


/* -----------------------------------------------
= table
----------------------------------------------- */
table.tblNormal {
	margin: 0.3em 0px;
	border: 1px #ccc solid !important;
	box-sizing: border-box;
	width: 100%;
}
table.tblNormal caption {
	padding: 1em 1em;
}
table.tblNormal tr th {
	background: #f7f8f9;
	font-weight: bold;
}
table.tblNormal tr th,
table.tblNormal tr td {
	border: 1px #ccc solid !important;
	vertical-align: middle;
	padding: 1em 1em;
}

table.tblNoBorder {
	border: none!important;
	width: auto!important;
	margin: 0;
}
table.tblNoBorder,
table.tblNoBorder th,
table.tblNoBorder td {
	border: none!important;
	width: auto;
	margin: 0;
	font-weight: normal;
	vertical-align: top;
}
table.tblNoBorder th,
table.tblNoBorder tr td:nth-child(1) {
	padding-right: 2em;
	white-space: nowrap;
}

@media print, screen and (max-width: 767px) {/* SP */
	table.tblNormal tr th,
	table.tblNormal tr td {
		padding: 10px 5px;
	}
	table.tblNormal.spTblTate tr th,
	table.tblNormal.spTblTate tr td {
		padding: 10px 10px;
	}

	table.spTblTate {
		border-top: 1px solid #ccc;
		border-left: 1px solid #ccc;
		border-right: 1px solid #ccc;
		border-bottom: none !important;
	}
	table.tblNormal.spTblTate th,
	table.tblNormal.spTblTate td {
		display: block;
		border-top: none !important;
		border-left: none !important;
		border-right: none !important;
		border-bottom: 1px solid #ccc;
		padding: 10px 10px;
		vertical-align: top!important;
	}
	table.tblNoBorder.spTblTate {
		display: block!important;
		border: none!important;
		padding: 0;
		vertical-align: top!important;
	}
	table.tblNoBorder.spTblTate th,
	table.tblNoBorder.spTblTate td:nth-child(1) {
		font-weight: bold;
		white-space: nowrap;
		padding: 2em 0 0;
	}table.tblNoBorder.spTblTate tr:first-child th {
		padding: 0;
	}
	table.tblNoBorder.spTblTate td {
		padding: 0;
	}
	table.tblNoBorder.spTblTate th,
	table.tblNoBorder.spTblTate td {
		display: block!important;
		border: none!important;
		vertical-align: top!important;
		width: auto;
	}
	
	.js-scrollable {
		overflow: auto;
	}
	.js-scrollable::-webkit-scrollbar{
		height: 5px;
	}
	.js-scrollable::-webkit-scrollbar-track{
		background: #F1F1F1;
	}
	.js-scrollable::-webkit-scrollbar-thumb{
		background: #BCBCBC;
	}

	.js-scrollable table {
		display: block;
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		border: none !important;
	}

}


/* -----------------------------------------------
= setFlex
----------------------------------------------- */
.setFlexStart {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
}
.setFlexStart img {
	width: 100%;
}
.setFlexStart > figure,
.setFlexStart > img,
.setFlexStart > div,
.setFlexStart > p,
.setFlexStart > a {
	display: block;
	margin-right: 1em;
}
.setFlexStart > figure::last-child,
.setFlexStart > img::last-child,
.setFlexStart > div::last-child,
.setFlexStart > p::last-child,
.setFlexStart > a::last-child {
	margin-right: 0;
}
@media screen and (max-width:767px){
	.setFlexStart {
		display: inherit;
	}
	.setFlexStart figure {
		width: 100%;
		margin-bottom: 1em;
	}
	.setFlexStart > figure,
	.setFlexStart > img,
	.setFlexStart > div,
	.setFlexStart > p,
	.setFlexStart > a {
		display: block;
		margin-right: 0;
	}

	.setFlexCenter.spFlex {
		display: flex!important;
	}
}

.setFlexCenter {
	display: flex;
	justify-content: center;
	align-items: stretch;
}
.setFlexCenter img {
	width: 100%;
}
.setFlexCenter > figure,
.setFlexCenter > img,
.setFlexCenter > div,
.setFlexCenter > p,
.setFlexCenter > a {
	display: block;
	margin-right: 0.5em;
	margin-left: 0.5em;
}
.setFlexCenter > figure::first-child,
.setFlexCenter > img::first-child,
.setFlexCenter > div::first-child,
.setFlexCenter > p::first-child,
.setFlexCenter > a::first-child {
	margin-left: 0;
}
.setFlexCenter > figure::last-child,
.setFlexCenter > img::last-child,
.setFlexCenter > div::last-child,
.setFlexCenter > p::last-child,
.setFlexCenter > a::last-child {
	margin-right: 0;
}
@media screen and (max-width:767px){
	.setFlexCenter {
		display: inherit;
	}
	.setFlexCenter figure {
		width: 100%;
		margin-bottom: 1em;
		box-sizing: border-box!important;
	}
	.setFlexCenter > figure,
	.setFlexCenter > img,
	.setFlexCenter > div,
	.setFlexCenter > p,
	.setFlexCenter > a {
		display: block;
		margin-right: 0;
		margin-left: 0;
	}
	.setFlexCenter.spFlex {
		display: flex!important;
	}
}

.setFlexBetween {
	display: flex;
	justify-content: space-between;
}
.setFlexBetween img {
	width: 100%;
}
.setFlexBetween > figure,
.setFlexBetween > img,
.setFlexBetween > div,
.setFlexBetween > p,
.setFlexBetween > a {
	display: block;
	margin-right: 0.5em;
	margin-left: 0.5em;
}
.setFlexBetween > figure::first-child,
.setFlexBetween > img::first-child,
.setFlexBetween > div::first-child,
.setFlexBetween > p::first-child,
.setFlexBetween > a::first-child {
	margin-left: 0;
}
.setFlexBetween > figure::last-child,
.setFlexBetween > img::last-child,
.setFlexBetween > div::last-child,
.setFlexBetween > p::last-child,
.setFlexBetween > a::last-child {
	margin-right: 0;
}

/* -----------------------------------------------
= btn
----------------------------------------------- */
.btn a {
    margin-top:2em;
	background: #000066;
    color:#fff;
    font-size:1.5rem;
	line-height: 1.2;
	font-weight: bold;
    position:relative;
    display:inline-block;
    padding:0.65em 3em 0.55em 1.5em;
    transition:all .4s ease;
	border-radius: 0.6em;
	text-decoration: none;
}
.btn a:after {
	display: block;
	color: #fff;
	text-decoration: none;
	
    position:absolute;
    right:1.4em;
    top:50%;
    width:1em;
    height:1em;
	margin-top: -0.5em;
    content:"";
    background:url("../img/base/icn-arrow_wh.svg") no-repeat center center / cover;
}
.btn.back a {
	padding:0.65em 1.5em 0.55em 3em;
}
.btn.back a::after {
	right:auto;
	left: 1.4em;
	transform: rotate(180deg);
}
