*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1em;
	font-weight: 500;
	color: #000;
	width: 100%;
  	min-width: 100%;
  	margin: 0px;
	padding: 0px;
	/*letter-spacing: 0.05em;*/
}

li{
	list-style: none;
}

h1,h2,h3,h4,h5,dl,ul,p,dt,dd,li{
  margin: 0;
  padding: 0;
  color: #000;
  line-height: 2;
}

figure{
	margin: 0;
}


a{
	outline: none;
	text-decoration: none;
}


.pc-bl {
  display: block;
}

.pc-nn,.slick-slide .pc-nn{
  display: none;
}

#top {
	float: right;
	width: 113px;
	clear: right;
}

#txt_link {
	text-align: center;
	clear: left;
	float: left;
	width: 760px;
	margin-top: 15px;
	font-size: 90%;
	line-height: 140%;
	color: #584533;
}

img {
	margin: 0px;
	padding: 0px;
	border: 0;
	vertical-align: bottom;
	width: 100%;
	height: auto;
}



.rd{
	color: #d34254;
}

.gr{
	color: #cedbd2;
}


body {
	margin-top: 0px;
	margin-left: 0px;
	margin-bottom: 0px;
}


.breadcrumb {
  padding: 1em 0;
}

.breadcrumb ol {
  margin: 0;
  padding-left: 0;
  list-style: none;
  display: flex;
}

.breadcrumb li {
  align-items: center;
  justify-content: center;
  display: flex;
	font-weight: 600;
}

.breadcrumb li + li::before {
  align-items: center;
  justify-content: center;
  display: inline-flex;
  font: var(--fa-font-solid);
  content: "\f105";
  width: 1em;
  height: 1em;
	padding: 0 1em;
}

.breadcrumb a {
	cursor: pointer;
	padding: 0.5em 1em;
	transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: underline;
}

.breadcrumb a:hover {
  opacity: 0.6;
}
.breadcrumb a.current {
    text-decoration: none;
}


#wrapper {
	width: 100%;
    margin: 0;
    position: relative;
    padding: 0;
	overflow: clip;
}
#about {
	width: 100%;
	padding: 8% 0;
}
#about h2 {
	font-size: clamp(1.375rem, 1.057rem + 1.59vw, 2.25rem);
	font-weight: 900;
	text-align: center;
	margin: 0;
	padding: 0;
	line-height: 1;
}
#about .h2-p {
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
	font-weight: 800;
	text-align: center;
	margin: 0 0 3%;
}
.h3-p {
	font-size: clamp(1.125rem, 0.989rem + 0.68vw, 1.5rem);
	font-weight: 700;
	line-height: 1.5;
}
.r-txt1 {
	color: #e60012;
}
.r-txt2 {
	color: #e60012;
	font-size: 1.2em;
}
.about-wrap {
	display: flex;
	justify-content: space-between;
	margin: 0 auto 4%;
}
.about-inner{
	width: 48%;
	background: #fff;
	border: 8px solid #004471;
}
.h3-wrap{
	background: #004471;
	text-align: center;
	padding: 3%;
}
.about-inner h3 {
	color: #fff;
	display: inline-block;
	text-align: left;
	margin: 0 auto;
	font-size: clamp(1.375rem, 0.875rem + 2.5vw, 2.75rem);
	line-height: 1;
}
#about h4 {
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
	font-weight: 800;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 0.5%;
}
#about .h4-p {
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
	font-weight: 800;
	text-align: center;
}
.sml {
	font-size: 0.6em!important;
}
.sml2 {
	font-size: 0.7em!important;
}
.sml3 {
	font-size: 0.8em!important;
}
.sml4 {
	font-size: 0.9em!important;
}
.inner-box {
	padding: 3%;
}

#news {
	background: #f3f9fc;
	padding: 8% 0;
	width: 100%;
	text-align: center;
}
#news h2{
	font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
	font-weight: 900;
	text-align: center;
	line-height: 1;	
	color: #004471;
	margin-bottom: 2%;
}
#news dl,dt,dd {
	line-height: 1.5;
	font-weight: 700;
}
#news dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 68%;
	text-align: left;
}
#news dt {
	margin-right: 2em;
	margin-bottom: 2%;
} 
#news dd {
	margin-bottom: 2%;
} 
#news dt:last-child,#news dd:last-child{
	margin-bottom: 0;
}
.ilb{
	display: inline-block;
}


#application{
	padding: 8% 0 0;
	width: 100%;
}
.ex-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 88%;
    margin: 0 auto;
}
ul.ex-list li{
	margin-bottom: 2%;
}
ul.ex-list li a{
	transition: 0.3s ease-in-out all;
	opacity: 1;
	color: #004471;
	text-decoration: underline;
}
ul.ex-list li a:hover{
	opacity: 0.6;
}

#application h2,#facilities h2,#amount h2,#flow h2,#faq h2,#contact h2{
	font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
	font-weight: 900;
	text-align: center;
	line-height: 1;	
	color: #004471;
	margin-bottom: 5%;
	border: 3px solid #004471;
	padding: 0.5em 0;
}
#application h3{
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
	font-weight: 800;
	text-align: center;
	line-height: 1.5;
	color: #004471;
	margin-bottom: 2%;
}
.mkr {
    display: inline;
    padding: 0 4px 2px 4px;
    background: linear-gradient(transparent 70%, #ffff50 0%);
    line-height: 1.6 !important;
}
.tx-c{
	text-align: center;
}
.tx-c2{
	text-align: center;position: relative;
}
.tx-c2::after{
	position: absolute;
    top: 6vh;
    right: 10vw;
    width: 100px;
    height: stretch;
    content: "";
    background: url(../img/bank2.png) no-repeat;
    background-size: contain;
}
.ilb-tx{
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}
.bnk1 {
	position: relative;
}
.bnk1::after{
	position: absolute;
    top: 1vh;
    right: 8vw;
    width: 180px;
    height: stretch;
    content: "";
    background: url(../img/bank1.png) no-repeat;
    background-size: contain;
}
.ilb-tx:last-child li {
}
.ilb-tx:last-child li a{
	color: #004471;
	text-decoration: underline;
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.ilb-tx:last-child li a:hover{
	opacity: 0.6;
}

#application h4{
	font-size: clamp(0.625rem, 0.352rem + 1.36vw, 1.375rem);
	font-weight: 800;
	text-align: center;
	line-height: 1.5;
	color: #004471;
	margin-bottom: 2%;
}

#application h5{
	font-size: clamp(0.625rem, 0.352rem + 1.36vw, 1.375rem);
	font-weight: 800;
	text-align: center;
	line-height: 1.5;
	color: #000;
	margin-bottom: 2%;
}

#application p,#facilities p{
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	font-weight: 700;
	line-height: 1.6;
}

#application li{
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	font-weight: 700;
	line-height: 1.6;
}
.bdb{
	background-image: repeating-linear-gradient(90deg, #999999, #999999 6px, transparent 6px, transparent 10px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 100% 2px;
	padding-bottom: 8%;
    margin-bottom: 8%;
}
.w88{
	width: 88%;
	margin: 0 auto;
}
.btn1 {
	margin: 0 auto;
}
#application a.btn1 {
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	font-weight: 700;
	height: 70px;
	transition: 0.3s ease-in-out all;
	opacity: 1;
	color: #fff;
	background: #004471;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.4;
	max-width: 420px;
	width: 100%;
	border-radius: 9999px;
	position: relative;
}
#application a.btn1::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%); 
	right: 1.5em;
	width: 1em;
	height: 1em;
	content: "";
	background: url('../img/dl.png')no-repeat;
	background-size: contain;
}
#application a.btn1:hover {
  opacity: 0.6;
}

#application a.btn2 {
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	font-weight: 700;
	height: 70px;
	transition: 0.3s ease-in-out all;
	opacity: 1;
	color: #fff;
	background: #004471;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.4;
	max-width: 420px;
	width: 100%;
	border-radius: 9999px;
	position: relative;
}
#application a.btn2::after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%); 
	right: 1.5em;
	width: 1em;
	height: 1em;
	content: "";
	background: url('../img/dl.png')no-repeat;
	background-size: contain;
}
#application a.btn2:hover {
  opacity: 0.6;
}

#application a.btn3 {
	font-size: clamp(0.625rem, 0.352rem + 1.36vw, 1.375rem);
	font-weight: 800;
	height: 70px;
	transition: 0.3s ease-in-out all;
	opacity: 1;
	color: #004471;
	background: #ffffa3;
	border: 3px solid #004471;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.4;
	max-width: 420px;
	width: 100%;
	border-radius: 9999px;
	position: relative;
}
#application a.btn3::after{
	position: absolute;
    top: 50%;
    right: 1.5em;
	font: var(--fa-font-solid);
    content: "\f0e0";
    transform: translateY(-50%);
	font-size: 1em;
    width: 1em;
    height: 1em;
}
#application a.btn3:hover {
  opacity: 0.6;
}

#faq a.btn1 {
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	font-weight: 700;
	height: 70px;
	transition: 0.3s ease-in-out all;
	opacity: 1;
	color: #fff;
	background: #004471;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.4;
	max-width: 420px;
	width: 100%;
	border-radius: 9999px;
	position: relative;
}
#faq a.btn1::after{
	position: absolute;
    top: 50%;
    right: 1.5em;
	font: var(--fa-font-solid);
    content: "\f1c1";
    transform: translateY(-50%);
	font-size: 1em;
    width: 1em;
    height: 1em;
}
#faq a.btn1:hover {
  opacity: 0.6;
}

#contact a.btn1 {
	font-size: clamp(0.625rem, 0.352rem + 1.36vw, 1.375rem);
	font-weight: 800;
	height: 70px;
	transition: 0.3s ease-in-out all;
	opacity: 1;
	color: #004471;
	background: #ffffa3;
	border: 3px solid #004471;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	line-height: 1.4;
	max-width: 420px;
	width: 100%;
	border-radius: 9999px;
	position: relative;
}
#contact a.btn1::after{
	position: absolute;
    top: 50%;
    right: 1.5em;
	font: var(--fa-font-solid);
    content: "\f0e0";
    transform: translateY(-50%);
	font-size: 1em;
    width: 1em;
    height: 1em;
}
#contact a.btn1:hover {
  opacity: 0.6;
}

#facilities{
	padding: 8% 0 0;
	width: 100%;
}
#amount{
	padding: 8% 0 0;
	width: 100%;
}
#flow{
	padding: 8% 0 0;
	width: 100%;
}
#flow p{
	font-size: clamp(0.625rem, 0.352rem + 1.36vw, 1.375rem);
	font-weight: 700;
	line-height: 1.6;
}
#flow .h3-wrap2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
#flow .h3-l{
	background: #004471;
    color: #fff;
    border: 2px solid #004471;
    border-radius: 9999px 0 0 9999px;
    padding: 0;
    height: 36px;
    width: 4em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: clamp(0.75rem, 0.477rem + 1.36vw, 1.5rem);
    font-weight: 700;
    vertical-align: baseline;
    text-align: center;
}
.mb-5{
	margin-bottom: -5px;
}
#flow .h3-r{
	background: #fff;
	color: #004471;
	border: 2px solid #004471;
	border-radius: 0 9999px 9999px 0;
	padding: 0;
	height: 36px;
	width: 6em;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(0.75rem, 0.477rem + 1.36vw, 1.5rem);
	font-weight: 700;
}
#flow li{
	line-height: 1.5;
	font-weight: 600;
}
#faq{
	padding: 8% 0 0;
	width: 100%;
}
#contact{
	padding: 8% 0 ;
	width: 100%;
}
#contact dl {
	text-align: center;
}
#contact dt {
	font-size: clamp(0.9rem, 0.636rem + 1.32vw, 1.625rem);
	line-height: 1.2;
	margin-bottom: 3%;
}
#contact dd {
	font-size: clamp(0.9rem, 0.773rem + 0.64vw, 1.25rem);
}

#facilities h3{
	counter-increment: titleNum;
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
    font-weight: 800;
    line-height: 1.5;
    margin-bottom: 2%;
    border-bottom: 2px solid #004471;
	position: relative;
	padding-left: 2.5em;
}

#facilities h3::before{
	clip-path: polygon(0 0, 80% 0%, 100% 100%, 0% 100%);
    position: absolute;
    content: counter(titleNum);
    font-size: 90%;
    /* top: calc(50% - 0.75em); */
    bottom: 0;
    left: 0;
    color: #fff;
    background-color: #004471;
    width: 2em;
    padding-right: 0.25em;
    height: 1.6em;
    text-align: center;
}
#facilities h4{
	font-size: clamp(0.625rem, 0.352rem + 1.36vw, 1.375rem);
	font-weight: 800;
	line-height: 1.2;
	color: #004471;
	margin-bottom: 2%;
}
#facilities li{
	font-size: clamp(0.75rem, 0.614rem + 0.68vw, 1.125rem);
	font-weight: 700;
	line-height: 1.6;
}
.w88-r-txt{
	padding-left: 4.2em;
}
.w88-r-txt2{
	padding-left: 1.5em;
}
.bl-txt{
	color: #004471;
}
.mg-a{
	margin: auto;
}
.btn-wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 3vh;
	width: 88%;
    margin: 0 auto;
}
.btn-wrap2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 3vh;
    width: 100%;
    margin: 0 auto;
}
.contentover-box{
  padding: 8% 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  background: #f8f8f8;
}
 
.contentover-box-inner{
	width: 90%;
    max-width: 880px;
    margin: 0 auto;
}

.ls-s{
    letter-spacing: 0.5em;
}










#pagetop {
    position: fixed;
    bottom: 2%;
    right: 2%;
}


#footer  a:visited {
	color:#666;
}
#footer  a:hover {
	color:#ccc;
}

.txt-s {
	font-size: 70%;
	line-height: 120%;
}
.txt-m {
	font-size: 80%;
	line-height: 140%;
}
.txt-l {
	font-size: 100%;
	line-height: 160%;
}
.ind {
	text-indent: -1em;
	padding-left: 1em;
}

.ind2{
	text-indent: -2em;
	padding-left: 2em;
}

.ind3{
	text-indent: -3em;
	padding-left: 3em;
}

.ind4{
	text-indent: -0.85em;
	padding-left: 0.85em;
}
.ind5{
	text-indent: -1.7em;
	padding-left: 1.7em;
}

.ta_c{
	text-align: center;
}

.ta_r{
	text-align: right;
}


.big{
	font-size: 1.8em!important;
}

.big2{
	font-size: 1.2em;
	margin-bottom:10px;
}
.big3{
	font-size: 1.4em;
}
.bld{
	font-weight: 800;
}
.small{
	font-size: 0.7em;
}

.small2{
	font-size: 0.8em;
}
.mdl {
	font-size: 0.9em;
}


.spbr {
		display: none;
	}



button {
	border: none;
	background: none;
	outline:none;
}
	
.fullscreenmenu{
	width: 100px;
    height: 100px;
}
	
.menu,.menu span {
	display: inline-block;
	-webkit-transition:all .4s;
	transition: all .4s;
	box-sizing: border-box;
}

.menu{
	position: fixed;
    top: 0;
    right: 0;
    width: 100px;
    height: 100px;
    z-index: 100000;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease-out;
    background: #06446e;;
}
	
.menu .bar{
	position: absolute;
	left: 25px;
	/*width: 50%;*/
	height: 2px;
	background-color: #fff;
	z-index: 10;
	/*transform: translate3d(-50%,-4px,0);*/
	/*-webkit-transform: translate3d(-50%,-4px,0);*/
}

.menu .menu-txt{
	font-size: 1em;
	font-weight: 700;
	color: #d92d35;
	position: absolute;
	left: 50%;
	transform: translate3d(-50%,0,0);
	-webkit-transform: translate3d(-50%,0,0);
}
	
.menu .menu-txt.active{
	font-size: 0;
	margin: 0;
	opacity: 0;
}
.menu span:nth-of-type(1) {
	top: 36px;
	width: 50%;
}

.menu span:nth-of-type(2) {
	bottom: 49px;
	width: 50%;
}
	
.menu span:nth-of-type(3) {
	bottom: 36px;
	width: 50%;
}
.menu.active span:nth-of-type(1) {
	transform: translateX(-50%)translateY(13px)rotate(30deg);
	background-color: #fff;
	width: 50px;
	left: 50%;
}

.menu.active span:nth-of-type(2) {
	display: none;
}
.menu.active span:nth-of-type(3) {
	transform: translateX(-50%)translateY(-13px)rotate(-30deg);
	background-color: #fff;
	width: 50px;
	left: 50%;
}

#nav {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
	width: 100%;
	height: 100vh;
	opacity: 0;
	background-image: linear-gradient(90deg, #0066be, #66ffff);
	transition: all 0.3s ease-in-out;
	visibility:hidden;
}
	
#nav.active{
	right: 0;
	opacity: 1;
	-moz-transform: translateX(0);
	-webkit-transform: translateX(0);
	transform: translateX(0);
	visibility: visible;
	overflow: auto;
	z-index: 10000;
}
	
#nav ul{

}
	
#nav ul li{
}
	
#nav ul li a{
}
	
	
#nav ul li ul{
	margin: 0;
	padding: 0;
}



.nv-list-wrap{
	max-width: 1100px;
	width: 90%;
    margin: 18vh auto 0;
}

.nv-list-inner{
	width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
	justify-content: space-between;
}

.nv-list-box{
	width: 46%;
}
.nv-list-box a{
	display: inline-block;
}
.nv-list-box h2{
	font-size: 1rem;
    font-weight: 700;
    border-bottom: 1px solid #fff;
    color: #fff;
    margin-bottom: 5%;
    padding-bottom: 2%;
}
.nv-list-box p{
	font-size: 1em;
	font-weight: 600;
	color: #D92D35;
	margin-top: -1.4em;
	margin-bottom: 0.5em;
    padding: 0;
}
.nv-list-box li{
	font-size: clamp(1.25rem, 1.159rem + 0.45vw, 1.5rem);
	font-weight: 600;
	margin-bottom: 0.8em;
	color: #fff;
	position: relative;
	display: flex;
    align-items: center;
}

.nv-list-box li a{
	color: #fff;
}
.nv-list-box ol {
	display: flex;
    column-gap: 20px;
    padding: 0 0 0 7.5em;
    margin: 0 0 2% 0;
}
.nv-list-box ol li{
	font-size: clamp(1rem, 0.909rem + 0.45vw, 1.25rem);
	font-weight: 600;
	margin-bottom: 0.8em;
	color: #fff;
}
.ft-list-box {
	width:780px;
}
.ft-list {
	display: flex;
	flex-wrap: wrap;
}
.ft-list li{
	font-size: 1.25em;
	font-weight: 600;
	margin-bottom: 0.8em;
	/*flex-grow: 1;*/
}
/*.ft-list::after{
  content:"";
  display: block;
  width:23%;
}*/

.ft-list li:nth-of-type(1){
	margin-right: 80px;
}
.ft-list li:nth-of-type(2){
	margin-right: 160px;
}
.ft-list li:nth-of-type(3){
	margin-right: 120px;
}
.ft-list li:nth-of-type(5){
	margin-right: 80px;
}
.ft-list li:nth-of-type(6){
	margin-right: 60px;
}


.nv-list-inner2{
	margin-top: 20px;
}
.nv-list-inner2 ul{
	width: 740px;
	
}
.nv-list-inner2 h4{
	font-size: 1.2em;
	font-weight: 600;
	margin: 0;
    padding: 0;
}

.nv-list-box:nth-child(2) ul:nth-of-type(1) li:nth-of-type(1) {
	font-size: 1.25rem;
    margin-bottom: 0;
    padding: 0;
	line-height: 1.2;
}
.nv-list-box:nth-child(2) ul:nth-of-type(1) li:nth-of-type(2) {
	font-size: 3.125rem;
    margin-bottom: 0;
    padding: 0;
	line-height: 1.2;
}
.nv-list-box:nth-child(2) ul:nth-of-type(1) li:nth-of-type(3) {
	font-size: 1.25rem;
    margin-bottom: 8%;
    padding: 0;
	line-height: 1.2;
}
.nv-list-box:nth-child(2) ul:nth-of-type(2) {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    margin: 7% 0 7%;
}
.nv-list-box:nth-child(2) ul:nth-of-type(2) li:nth-of-type(1) ,.nv-list-box:nth-child(2) ul:nth-of-type(2) li:nth-of-type(2) {
	width: 47%;
}
.nv-list-box:nth-child(2) ul:nth-of-type(2) li:nth-of-type(1) a  {
	background: #ff8800;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	width: 100%;
	min-height: 54px;
	margin: 0 auto;
	border-radius: 10px;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: none;
	position: relative;
	font-size: 1.25rem;
}
.nv-list-box:nth-child(2) ul:nth-of-type(2) li:nth-of-type(1) a:hover{
	opacity: 0.6;
}

.nv-list-box:nth-child(2) ul:nth-of-type(2) li:nth-of-type(2) a  {
	background: #007ab6;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	width: 100%;
	min-height: 54px;
	margin: 0 auto;
	border-radius: 10px;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: none;
	position: relative;
	font-size: 1.25rem;
}
.nv-list-box:nth-child(2) ul:nth-of-type(2) li:nth-of-type(2) a:hover{
	opacity: 0.6;
}

/* mnav */
.mnav {
	width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    text-align: center;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden;
}

.mnav li {
    display: flex;
}
.mnav li span {
  display: block;
}
.mnav li a {
  padding:0.5em 0;
  text-decoration: none;
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
	color: #fff;
	font-size: 1.25rem;
	line-height: 1.2;
}
.mnav li a span {
	width: 2em;
	word-break: break-all;
	overflow-wrap: break-word;
}

.mnav li.tmp-n  {
	background: #ff8800;
	border-radius: 0 0 0 30px;
}
.mnav li.tmp-r  {
	background: #007ab6;
}
.mnav li.tmp-r a  {
	color: #fff;
}
.mnav li{
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
.mnav li:hover{
	opacity: 0.6;
}

.r-parts{
	max-width: 200px;
    width: 45%;
    position: absolute;
    height: 100px;
    right: 100px;
    align-self: center;
}

.content-box {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
	position: relative;
}
.content-box2 {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
	position: relative;
}

a.more-works {
	background: #ff8800;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 600px;
	width: 100%;
	min-height: 60px;
	margin: 0 auto;
	border-radius: 10px;
    transition: 0.3s ease-in-out all;
	opacity: 1;
	text-decoration: none;
	position: relative;
}
a.more-works::after {
    position: absolute;
    top: 50%;
    right: 1em;
	font: var(--fa-font-solid);
    content: "\f138";
    transform: translateY(-50%);
	font-size: 1.2em;
    width: 1em;
    height: 1em;
}
a.more-works:hover {
	background-position: right center;
	background-size: 200% auto;
	-webkit-animation: pulse 2s infinite;
	animation: shad26 1.5s infinite;
	color: #fff;
}
@keyframes shad26 {
	0% {box-shadow: 0 0 0 0 #ff8800;}
	70% {box-shadow: 0 0 0 10px rgb(255 136 0 / 0%);}
	100% {box-shadow: 0 0 0 0 rgb(255 136 0 / 0%);}
}


.as_c{
	align-self: center;
	-ms-flex-flex-item-align: center;
	-webkit-align-self: center;
}

.jc_c{
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    justify-content:center;
}

.as_fe{
	-ms-flex-item-align: end;
	align-self: flex-end;
}


.p_r{
	position: relative;
}


.p_a{
	position: absolute;
}




/*以下個別*/

.cont-box{
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}

.cont-box2{
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
}

.cont-box3 {
    max-width: 880px;
    width: 90%;
    margin: 0 auto;
}
.cont-box4 {
    max-width: 1040px;
    width: 90%;
    margin: 0 auto;
}
.cont-box5 {
    max-width: 700px;
    width: 90%;
    margin: 0 auto;
}
.mb2p{
	margin-bottom: 2%!important;
}
.mb3p{
	margin-bottom: 3%!important;
}
.mb5p{
	margin-bottom: 5%!important;
}
.mb6p{
	margin-bottom: 6%!important;
}
.mb7p{
	margin-bottom: 7%!important;
}
.mb8p{
	margin-bottom: 8%!important;
}
.mb10p{
	margin-bottom: 10%!important;
}
.mb15p{
	margin-bottom: 15%!important;
}
.mt2p{
	margin-top: 2%;
}
.mt3p{
	margin-top: 3%;
}
.mt5p{
	margin-top: 5%;
}
.mt10p{
	margin-top: 10%;
}
.mt15p{
	margin-top: 15%;
}
.tx-ul {
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

header{
}

header a{
	text-decoration: none;
}
footer a{
	text-decoration: none;
	color: #fff;
}

.top{
	padding: 0 0 30px;
}

.pc-header{
	width: 100%;
    padding: 0;
    position: relative;
}

.pc-header>.cont-box{
	position: relative;
}

.pc-header h1{
}
.header-logo{
    display: flex;
    align-items: center;
    max-width: 220px;
    width: 20%;
    padding: 1%;
	position: absolute;
    z-index: 10;
}

.header-logo img{
	width: 100%;
}

.header-logo a{
    transition: 0.3s ease-in-out all;
	opacity: 1;
	display:block;
}
.header-logo a:hover{
	opacity: 0.6;
}



.pc-menu{
	width: 780px;
	/* transform: translate(0,250px); */
	align-self: center;
	/* position: absolute;
	bottom: -100px;
	right: 0; */
}

.pcHead .pc-menu{
	/* transform: translate(0,0); */
	position: static;
}

.pc-menu a,.pc-header h2 a{
	transition: 0.3s ease-in-out all;
    opacity: 1;
}

.pc-menu a:hover,.pc-header h2 a:hover{
    opacity: 0.6;
}

.pcHead .pc-menu a::after{
    background: #d92d35;
}

.pc-menu a:hover::after{
	width: 100%;
    left: 0;
}

nav {
	width: 100%;
	background: #004471;
	position: sticky;
	top: 0;
	z-index: 9999;
}
nav ul{
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}
nav li a{
	color: #fff;
	transition: 0.3s ease-in-out all;
	opacity: 1;
	padding: 1em 0.5em;
	display: block;
	font-size: clamp(0.625rem, 0.398rem + 1.14vw, 1.25rem);
	font-weight: 700;
}
nav li a:hover{
	opacity: 0.6;
}

.main-visual{
	width: 100%;
    position: relative;
	background-image: repeating-linear-gradient(-45deg, #a1d2ea, #a1d2ea 8px, transparent 8px, transparent 10px);
	background-color:rgba(161,210,234,0.8);
	background-blend-mode:lighten;
	padding: 8vh 0;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mv-img {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}


.nl-btn-wrap li a {
    display: block;
    background: #fff;
    color: #000;
    padding: 1.5em 0;
    text-align: center;
    border: 1px solid #808080;
    border-radius: 5px;
    width: 100%;
    margin-bottom: 5%;
    text-decoration: none;
    transition: 0.3s ease-in-out all;
    opacity: 1;
	position: relative;
	font-size: clamp(0.8rem, 1.2vw, 1rem);
	line-height: 1;
}

.nl-btn-wrap li a.btn1::after {
    position: absolute;
    top: 50%;
    right: 0.5em;
    font: var(--fa-font-solid);
    content: "\f08e";
    font-size: 1em;
    width: 1em;
    height: 1em;
    padding: 0.2em;
    color: #d92d35;
	transform: translateY(-50%);
}

.nl-btn-wrap li a.btn2::after {
    position: absolute;
    top: 50%;
    right: 0.5em;
    font: var(--fa-font-solid);
    content: "\f56d";
    font-size: 1em;
    width: 1em;
    height: 1em;
    padding: 0.2em;
    color: #d92d35;
	transform: translateY(-50%);
}

.nl-btn-wrap li a:hover {
    opacity: 0.6;
}
.nl-btn-wrap ul::after {
	display: block;
	content:"";
	width: 30%;
}




footer{
	background: #004471;
	padding: 1% 0 3%;
	position: relative;
}
footer h4{
	color: #fff;
}

footer a {
    transition: 0.3s ease-in-out all;
    opacity: 1;
    display: block;
}
footer a:hover{
	opacity: 0.6;
}

.foot-cont{
	position: relative;
}


.foot-txt{
	margin: 40px auto 0;
}
.foot-txt dt{
	font-size: 1.5em;
    line-height: 1.2;
	margin-bottom: 2%;
	font-weight: 700;
}
.foot-txt dl dt{
	color: #fff;
	font-weight: 700;
}
.foot-txt dl dd{
	color: #fff;
	font-weight: 700;
}

.foot-txt p{
}

address{
	text-align: right;
	font-style: normal;
	align-self: end;
	font-size: 0.7em;
	color: #fff;
}

#pagetop{
	position: fixed;
    width: 70px;
    bottom: 20px;
    right: 20px;
    z-index: 998;
}

#pagetop a{
	transition: 0.3s ease-in-out all;
	opacity: 1;
}
#pagetop a:hover{
	opacity: 0.6;
}

.sp-header{
	display: none;
}

@media screen and (max-width:1550px){
.side-menu{
	display: none;
}
}


@media screen and (max-width:1024px){

	.sp-header{
		width: 100%;
		height: 60px;
		position: absolute;
		display: flex;
	}
	.splogo-wrapper{
		display: flex;
        justify-content: flex-start;
        width: 100%;
        align-items: center;
        height: 60px;
		/*background: #fff;*/
		z-index: 10;
	}
	.sp-header .tit{
		font-size: clamp(1rem, 0.864rem + 0.68vw, 1.375rem);
		font-weight: 900;
		 align-self: center;
		line-height: 1.2;
	}
	.sp-header-logo {
		align-self: center;
        width: 120px;
        height: auto;
        margin: 0 10px 0 0;
		}
	.sp-header-logo img {
		width: 100%;
		}

	.side-menu{
		display: none;
	}
	.sp-bl,.slick-slide .sp-bl{
		display: block;
	}

	.sp-nn{
		display: none!important;
	}
	.sp-ta_l {
    	text-align: left;
	}


	p,li,dt,dd,td,th,a{
		font-size: 0.9rem;
	}

	p{
		line-height: 1.6;
	}

	h2{
		font-size: 1em;
	}

	img{
		width: 100%;
	}

	.sp-img{
		width: 100%;
	}

	body{
/*		overflow-x: hidden;*/
	}

	header{
	}
	
	.pc-header{
		display: none;
	}

	#wrapper{
		margin-top: 0;
	}

	button {
		border: none;
		background: none;
		outline:none;
	}
	
	.fullscreenmenu{
		width: 60px;
		height: 60px;
	}
	
	.menu,.menu span {
		display: inline-block;
		-webkit-transition:all .4s;
		transition: all .4s;
		box-sizing: border-box;
	}

	.menu{
		position: fixed;
        top: 0;
        right: 0;
        width: 60px;
        height: 60px;
        z-index: 100000;
        cursor: pointer;
        padding: 0;
        transition: all 0.3s ease-out;
	}
	
	.menu .bar{
		position: absolute;
		left: 16px;
		height: 2px;
		background-color: #fff;
		z-index: 10;
		/*transform: translate3d(-50%,-4px,0);*/
		/*-webkit-transform: translate3d(-50%,-4px,0);*/
	}

	.menu .menu-txt{
		font-size: 0.8em;
		font-weight: 700;
		color: #d92d35;
		position: absolute;
		left: 50%;
		transform: translate3d(-50%,0,0);
		-webkit-transform: translate3d(-50%,0,0);
	}
	
	.menu .menu-txt.active{
		font-size: 0;
		margin: 0;
		opacity: 0;
	}
	.menu span:nth-of-type(1) {
		top: 20px;
		width: 50%;
	}


	.menu span:nth-of-type(2) {
		top: 29px;
		width: 50%;
	}
	.menu span:nth-of-type(3) {
		bottom: 20px;
		width: 50%;
	}

	.menu.active span:nth-of-type(1) {
		-webkit-transform: translateX(-50%)translateY(9px)rotate(30deg);
		transform: translateX(-50%)translateY(9px)rotate(30deg);
		background-color: #fff;
		width: 50%;
		left: 50%;
	}
	.menu.active span:nth-of-type(2) {
		display: none;
	}

	.menu.active span:nth-of-type(3) {
		-webkit-transform: translateX(-50%)translateY(-9px)rotate(-30deg);
		transform: translateX(-50%)translateY(-9px)rotate(-30deg);
		background-color: #fff;
		width: 50%;
		left: 50%;
	}
	.r-parts {
    width: 120px;
    position: absolute;
    height: 60px;
    right: 60px;
    align-self: center;
}
	.mnav li a {
    padding: 0.5em 0;
    text-decoration: none;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 0.8rem;
    line-height: 1.2;
}
	.mnav li.tmp-n {
    background: #ff8800;
    border-radius: 0 0 0 20px;
}

	#sp-nav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1000;
		width: 100%;
		height: 100vh;
		opacity: 0;
		background: #004471;
		transition: all 0.3s ease-in-out;
		visibility:hidden;
	}
	
	#sp-nav.active{
		right: 0;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		transform: translateX(0);
		visibility: visible;
		overflow: auto;
		z-index: 10000;
	}

	.nv-list-wrap {
		max-width: 80%;
		margin: 20vw auto 20vw;
	}
	.nv-list-inner {
	}
	.nv-list-box {
    width: 100%;
}

	.nv-list-box h3 {
		font-size: 1.6em;
	}
	
	.nv-list-box p {
    font-size: 0.8em;
    margin-top: -1.0em;
	}
	.nv-list-box li {
    font-size: 0.95em;
	margin-bottom: 2%;
	padding: 0 0 2%;
	border-bottom: 2px solid #fff;
}
	.nv-list-box li:last-child{
		border-bottom: none;
	}
	.nv-list-box ol li {
    font-size: 0.85rem;
}
	.nv-list-box ol {
    display: flex;
    column-gap: 20px;
    padding: 0 0 0 4.7em;
    margin: 0 0 2% 0;
}
	.nv-list-box h2 {
    font-size: 0.8rem;
    font-weight: 700;
    border-bottom: 1px solid #fff;
    color: #fff;
    margin-bottom: 5%;
    padding-bottom: 2%;
}
	.sp-logo{
		margin: 0 auto;
		width: 50%;
		padding-top: 50px;
	}


	footer{
		padding: 5% 0;
	}

	.foot-cont figure{
		width: 50%;
	}

	.foot-txt{
		font-size: 3vw;
		text-align: left;
		margin: 0;
	}
	.foot-txt dt {
    font-size: 0.95rem;
}

	.foot-txt .big{
		font-size: 2.8vw;
		margin-bottom: 5px;
	}

	.foot-txt p{
		line-height: 1;
	}
	.foot-txt dd {
		font-size: 0.7rem;
	}

	address{
		margin: 4vw auto 0;
	}

	#pagetop {
		width: 50px;
        bottom: 10px;
        right: 10px;
	}


	#wrapper a:hover {
    opacity:1;
	}

	.stepbar .stepbarwrap {
    margin: 0.5em 0 0 0;
    position: relative;
}
	.stepbar .stepbarwrap .steptitle .stepnum {
    padding-left: 1em;
    font-size: 1.2em;
    font-weight: 800;
    color: #D92D35;
}

	.stepbar .stepbarwrap .steptxt {
    padding: 0.5em 0 2em 2.5em;
}
	
	.stepbar .stepbarwrap .steptxt .steptxt-txt {
    line-height: 1.5em;
}
	
	.stepbar .stepbarwrap .stepline {
    width: 4px;
    height: calc(100% + 1em);
    background-color: #D92D35;
    position: absolute;
    top: 1.2em;
    left: 0.5em;
    z-index: 1;
}
	#about h2 {
    font-size: 1.3rem;
    line-height: 1.3;
	margin-bottom: 1%;
}
	#about .h2-p {
    font-size: 1rem;
    line-height: 1.3;
}
	.about-wrap {
    flex-direction: column;
	gap: 2vh;
}
	.about-inner {
    width: 100%;
    background: #fff;
    border: 8px solid #004471;
}
	.h3-p {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
}
	#about h4 {
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 0.5%;
}
	#about .h4-p {
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
}
	#news h2 {
    font-size: 1.2rem;
    font-weight: 900;
    text-align: center;
    line-height: 1;
    color: #004471;
    margin-bottom: 3%;
}
	
#application h2, #facilities h2, #amount h2, #flow h2, #faq h2, #contact h2 {
    font-size: 1.2rem;
    font-weight: 900;
    text-align: center;
    line-height: 1;
    color: #004471;
    margin-bottom: 5%;
    border: 3px solid #004471;
    padding: 0.3em 0;
}
	#application p, #facilities p {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: justify;
}
	#application h4 {
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
    line-height: 1.5;
    color: #004471;
    margin-bottom: 2%;
}
	.r-txt2 {
    color: #e60012;
    font-size: 1rem;
}
	.w88 {
    width: 100%;
    margin: 0 auto;
}
	#application h5 {
    font-size: 1rem;
    font-weight: 800;
    text-align: center;
    line-height: 1.5;
    color: #000;
    margin-bottom: 2%;
}
	#application a.btn1 {
    font-size: 0.9rem;
    font-weight: 700;
    height: 60px;
    transition: 0.3s ease-in-out all;
    opacity: 1;
    color: #fff;
    background: #004471;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    max-width: 420px;
    width: 100%;
    border-radius: 9999px;
    position: relative;
    margin-bottom: 7% !important;
}
	.btn-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 3vh;
    width: 100%;
    margin: 0 auto;
}
	#application a.btn2 {
    font-size: 0.9rem;
    font-weight: 700;
    height: 60px;
    transition: 0.3s ease-in-out all;
    opacity: 1;
    color: #fff;
    background: #004471;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    max-width: 420px;
    width: 100%;
    border-radius: 9999px;
    position: relative;
}
	#application li {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.6;
	text-align: justify;
}
	.ex-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
	gap: 2vh;
}
	.ex-l,.ex-r{
		width: 100%;
	}
	ul.ex-list li {
    margin-bottom: 4%;
}
	.ex-r ul.ex-list li:last-of-type {
    margin-bottom: 0;
}
	.bnk1 {
    position: relative;
}
	.bnk1::after {
    display: none;
}
	.sp-ta_c{
		text-align: center!important;
	}
	#application li.sp-ta_c a{
		font-size: 0.9em!important;
	}
	#application p.sp-ta_c{
		font-size: 0.8em!important;
	}
	.bnk1img{
	width: 50%;
    margin: 0 auto 7%;
    display: block;
	}
	#application a.btn3 {
    font-size: 1rem;
    font-weight: 800;
    height: 60px;
    transition: 0.3s ease-in-out all;
    opacity: 1;
    color: #004471;
    background: #ffffa3;
    border: 3px solid #004471;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    max-width: 420px;
    width: 100%;
    border-radius: 9999px;
    position: relative;
}
	#facilities h3 {
    counter-increment: titleNum;
    font-size: 0.95rem;
    font-weight: 800;
    line-height: 1.5;
    margin-bottom: 2%;
    border-bottom: 2px solid #004471;
    position: relative;
    padding-left: 2.5em;
}
	.w88-r-txt {
    padding-left: 0;
    width: 95%;
    margin: 0 auto;
}
	#facilities h4 {
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.2;
    color: #004471;
    margin-bottom: 2%;
}
	.w88-r-txt2 {
    padding-left: 0;
    width: 95%;
    margin: 0 auto;
}
	#facilities li {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.6;
    text-align: justify;
}
	#flow .h3-l {
    background: #004471;
    color: #fff;
    border: 2px solid #004471;
    border-radius: 9999px 0 0 9999px;
    padding: 0;
    height: 36px;
    width: 4em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    font-weight: 700;
    vertical-align: baseline;
    text-align: center;
}
	#flow .h3-r {
    background: #fff;
    color: #004471;
    border: 2px solid #004471;
    border-radius: 0 9999px 9999px 0;
    padding: 0;
    height: 36px;
    width: 6em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    font-weight: 700;
}
	#flow p {
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.6;
}
	#flow li {
    line-height: 1.5;
    font-weight: 600;
    font-size: 0.8rem;
}
	.big {
    font-size: 1.2rem !important;
}
	.sml4 {
    font-size: 0.8rem !important;
}
	.sp-l{
		text-align: left;
	}
	.tx-c2::after {
    display: none;
}
	.bnk2img{
        width: 20%;
        margin: 2% auto 0;
        display: block;

	}
	#faq a.btn1 {
    font-size: 0.9rem;
    font-weight: 700;
    height: 60px;
    transition: 0.3s ease-in-out all;
    opacity: 1;
    color: #fff;
    background: #004471;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    max-width: 420px;
    width: 100%;
    border-radius: 9999px;
    position: relative;
}
	#contact a.btn1 {
    font-size: 0.9rem;
    font-weight: 800;
    height: 60px;
    transition: 0.3s ease-in-out all;
    opacity: 1;
    color: #004471;
    background: #ffffa3;
    border: 3px solid #004471;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    max-width: 420px;
    width: 100%;
    border-radius: 9999px;
    position: relative;
}
	.nv-list-box li a {
    color: #fff;
    width: 100%;
    text-align: center;
	padding: 0.5em 0;
}
	#news dl {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    width: 90%;
	text-align: left;
}
	
	#news dt,dd {
    width: 100%;
}
	#news dd {
    margin-bottom: 6%;
}
}

@media screen and (max-width:768px){

	.sp-header .tit{
		font-size: 0.8em;
		font-weight: 900;
		 align-self: center;
		line-height: 1.2;
	}
	.sp-header-logo {
	    display: flex;
        align-items: center;
        justify-content: center;
        width: 35%;
        padding: 1% 0 0 5%;
        height: 60px;
		}
	.sp-header-logo img {
		width: 100%;
		}
	.sp-bl2{
	  display: block;
	}

}