@charset "utf-8";

*{
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	line-height: 1.7em;
}

@media all and (-ms-high-contrast:none) {
	* {
		font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	}
}

@media screen and (max-width: 768px) {
    .h-b-ttl{
        font-size: 20px;
        font-weight: 500;
		line-height: 1.6em;
    }
    .h-b-txt{
        font-size: 14px;
        font-weight: 400;
		line-height: 2.0em;
    }
    .h-b-note{
        font-size: 12px;
        font-weight: 400;
		line-height: 2.0em;
    }
    .f-b-ttl{
        font-size: 20px;
        font-weight: 500;
		line-height: 1.6em;
    }
    .f-b-txt{
        font-size: 14px;
        font-weight: 400;
		line-height: 2.0em;
    }
    .f-b-note{
        font-size: 12px;
        font-weight: 400;
		line-height: 2.0em;
    }
    .b-ttl{
        font-size: 20px;
        font-weight: 600;
		line-height: 1.6em;
    }
    .b-txt{
        font-size: 14px;
        font-weight: 500;
		line-height: 2.0em;
    }
    .b-note{
        font-size: 12px;
        font-weight: 400;
		line-height: 2.0em;
    }
	main{
        display: block;
		padding:60px 0 0 0;
	}
	header{
        width: 100%;
		position:fixed;
		z-index:9000;
	}
	nav{
		width: 100%;
		height: 60px;
		pointer-events: none;
		position:fixed;
        z-index: 8000;
	}
	nav *{
		pointer-events: visible;
	}
	header .menufr{
		width: 100%;
		position: fixed;
        top:-200%!important;
		z-index: 8500;
        left: 0;
        display: block;
        background-color:#f5f5f5;
        transition: top 0.4s,opacity 0.4s;
        opacity: 0;
        overflow: hidden;
        height: 0;
	}
    header .menufr .menuinner{
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 8501;
    }
    header.active .menufr{
        top: 0%!important;
        height: 100vh;
        opacity: 1;
        position: fixed;
        transition: top 0.4s,opacity 0.4s;
	}
    main{
        position: relative;
        left: 0;
    }
    nav .navfr{
        width: 100%;
        height: 60px;
        margin:0 auto;
        position:fixed;
        left:0;
        right:0;
        background-color: #fff;
	}
    nav .navfr .nav .sp-head{
        height: 60px;
        width: 100%;
        background-color: #fff;
        position: relative;
        position:fixed;
        top:0;
        z-index: 9400;
    }
    nav .nav{
        height: 100%;
    }
	.menufr .menu{
		width: 90%;
        height: calc(100% - 150px);
        padding:0 0 40px 0;
		margin:0 auto;
        top:120px;
        left:50%;
        transform: translateX(-50%);
		position:absolute;
        overflow: hidden;
		z-index:8000!important;
	}
    .mobile.yoko .menufr .menu{
        height: 60%;
        top:30%;
    }
	.logo{
        height: 100%;
        display: block;
		margin:0 0 0 0;
        position: absolute;
        top:0;
        left:3%;
        padding:0;
        transition: 0.3s all ease 0s;
        overflow: hidden;
	}
	.logo a{
		display:block;
		height: 100%!important;
        position: relative;
        z-index: 9999;
        margin:0 0 0 0;
        padding:0;
        vertical-align: middle;
	}
    .logo a img{
        max-height: 100%;
        margin:0;
        padding:0;
        vertical-align: bottom;
    }
    .logo a img.menulogo-pc{
        display: none;
    }
    .logo a img.menulogo-sp{
        display: block;
        height: 60px;
    }
	.menufr .menu .menuul{
		width: 100%;
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.menufr .menu .menuul > li{
		width: 100%;
		position: relative;
	}
    .menutitlefr{
        position: relative;
    }
	.menufr .menu .menuul > li a.menutitle{
		display: block;
		padding:10px 0 10px 0;
		text-align: left;
	}
    .menufr .menu .menuul > li a.menutitle span{
        color:#323232;
        position: relative;
        display: inline-block;
        padding:0 0 0 0;
        font-size: 18px;
        font-weight: 600;
		transition: color 0.4s;
    }
    .menufr .menu .menuul > li a.menutitle:hover span{
		color: #1e2380;
	}
	.menu-triggerfr{
		width: 60px;
        height: 60px;
        position:fixed;
        float: right;
		right:0;
        top:0;
		z-index:9500;
        display: block;
        opacity: 1;
	}
	.menu-triggerfr.active{
        opacity: 1;
		z-index:9500;
	}
	.menu-triggerfr .menu-trigger,
	.menu-triggerfr .menu-trigger span {
		display: inline-block;
		transition: all .2s;
		box-sizing: border-box;
	}
	.menu-triggerfr .menu-trigger {
		position:absolute;
        left:50%;
        top:50%;
		-ms-transform: translate(-50%,-50%);
		-moz-transform: translate(-50%,-50%);
		-o-transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		width: 30px;
        height: 60px;
		z-index:9000;
		display:block;
	}
	.menu-triggerfr .menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
        background-color: #1e2380!important;
	}
    .menu-triggerfr .menu-trigger span:nth-of-type(1) {
		top: 33%;
        opacity: 1;
	}
	.menu-triggerfr .menu-trigger span:nth-of-type(2) {
		top: 0;
		bottom:0;
		margin:auto;
        opacity: 1;
	}
	.menu-triggerfr .menu-trigger span:nth-of-type(3) {
		bottom: 33%;
        opacity: 1;
	}
    .menu-triggerfr.active .menu-trigger span:nth-of-type(1) {
		top: 48.5%;
        opacity: 1;
        left: -2px;
        transform: rotate(45deg);
        width: 35px;
	}
	.menu-triggerfr.active .menu-trigger span:nth-of-type(2) {
		top: 0;
		bottom:0;
        opacity: 0;
        left:200%;
	}
	.menu-triggerfr.active .menu-trigger span:nth-of-type(3) {
		bottom: 48.5%;
        opacity: 1;
        left: -2px;
        transform: rotate(-45deg);
        width: 35px;
	}
    .menu-triggerfr-inner{
        max-width: 100px;
		width:30%;
        height: 60px;
        position:fixed;
		right:0;
        top:0;
		z-index:9000;
        display: none;
	}
    .menu-triggerfr-inner.active{
        opacity: 1;
        display: block;
	}
	.menu-triggerfr-inner .menu-trigger-inner,
	.menu-triggerfr-inner .menu-trigger-inner span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-triggerfr-inner .menu-trigger-inner {
		position:absolute;
        left:50%;
        top:50%;
		-ms-transform: translate(-50%,-50%);
		-moz-transform: translate(-50%,-50%);
		-o-transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		width: 50%;
        max-height: 40px;
        height: 100%;
		z-index:9000;
		display:block;
	}
	.menu-triggerfr-inner .menu-trigger-inner span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 3px;
        background-color: #fff!important;
	}
    .menu-triggerfr-inner .menu-trigger-inner span:nth-of-type(1) {
		top: 15%;
        opacity: 0;
	}
	.menu-triggerfr-inner .menu-trigger-inner span:nth-of-type(2) {
		top: 0;
		bottom:0;
		margin:auto;
        opacity: 0;
	}
	.menu-triggerfr-inner .menu-trigger-inner span:nth-of-type(3) {
		bottom: 15%;
        opacity: 0;
	}
	.menu-triggerfr-inner.active .menu-trigger-inner span:nth-of-type(1) {
		top:50%;
		-webkit-transform: translateY(-50%) rotate(-315deg);
		transform: translateY(-50%) rotate(-315deg);
        opacity: 1;
	}
	.menu-triggerfr-inner.active .menu-trigger-inner span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-triggerfr-inner.active .menu-trigger-inner span:nth-of-type(3) {
		top:50%;
		-webkit-transform: translateY(-50%) rotate(315deg);
		transform: translateY(-50%) rotate(315deg);
        opacity: 1;
	}
	footer{
		width: 100%;
		magin: 0;
	}
	footer #footer1{
		display: block;
		width: 100%;
		magin: 0;
		padding: 0;
	}
	footer .footer-wrap{
		display: block;
		width: 100%;
		magin: 0;
		padding: 0px 0 50px 0;
		text-align: center;
		background-color: #1e2380;
		position: relative;
	}
    footer .footergototop{
        display: block;
        width: 100%;
        text-align: center;
		position: absolute;
		top:-36px;
        overflow: hidden;
    }
    footer .footergototop .btn-entry-wrap{
        width: 100%;
        display: inline-block;
        position: relative;
        margin: 0 0 0 0;
    }
    footer .footergototop .btn-entry-wrap .btn-entry {
		background-color: #1e2380;
        width: auto;
        height: 100%;
        display: inline-block;
        position: relative;
        border-radius: 20px 20px 0 0;
        overflow: hidden;
        border: none;
        margin: 0;
		vertical-align: bottom;
    }
    footer .footergototop .btn-entry-wrap .btn-entry span{
        color:#fff;
        width: auto;
        display: block;
        vertical-align: middle;
        text-align: center;
        font-size: 16px;
        line-height: 1em;
        font-weight: 600;
        padding: 14px 36px 7px 36px;
    }
    footer .footergototop .btn-entry-wrap .btn-entry svg{
        display: inline-block;
        width: 20px;
        height: 10px;
        margin:0 10px 0 0;
        position: relative;
        top:-1px;
    }
    footer .footergototop .btn-entry-wrap .btn-entry img{
        display: inline-block;
        width: 20px;
        height: 10px;
        margin:0 10px 0 0;
    }
    footer .footergototop .btn-entry-wrap .btn-entry svg *{
        fill: #323232;
    }
	footer .footer-in{
		width: 90%;
		margin: 0 auto  0 auto;
		position: relative;
        padding: 30px 0 0px 0;
	}
	footer .footer-in ul{
		margin:0 0 40px 0;
		padding: 0;
		list-style: none;
		font-size: 0;
        display: block;
        width: 100%;
        table-layout:auto;
	}
	footer .footer-in ul li{
        display: block;
		vertical-align: top;
		padding: 0;
        margin: 0;
        text-align: left;
	}
	footer .footer-in ul li a{
        display: block;
		text-align: center;
        margin: 15px 0 0 0;
		padding: 3px 0 5px 0;
		position: relative;
	}
	footer .footer-in ul li a span{
		font-size: 16px;
		color: #fff;
		position: relative;
		z-index: 10;
		font-weight: 600;
		transition: color 0.4s;
	}
	footer .footer-in ul li a:hover span{
		color: #8b8dbe;
	}
    footer .footer-wrap .footer-bottom{
		background-color: #1e2380;
        width: 100%;
    }
    footer .footer-wrap p{
		color: #fff;
        width: 100%;
        text-align: center;
        margin: 0 auto;
        padding: 10px 0 10px 0;
    }
    .menufr .btn-entry-wrap{
        text-align: center;
    }
    .menufr .btn-entry-wrap .btn-entry {
		background-color: #1e2380;
        width: auto;
        height: 100%;
        display: inline-block;
        position: relative;
        border-radius: 30px;
        overflow: hidden;
        border: none;
        margin: 30px auto 60px auto;
        transition: all 0.4s;
		-webkit-box-shadow: 0px 0px 0 0px transparent;
		box-shadow: 0px 0px 0 0px transparent;
    }
    .menufr .btn-entry-wrap .btn-entry:hover{
		background-color: #fff;
		-webkit-box-shadow: 0px 0px 16px 0px #1e2380; 
		box-shadow: 0px 0px 16px 0px #1e2380;
    }
    .menufr .btn-entry-wrap .btn-entry span{
        color:#fff;
        width: auto;
        display: block;
        vertical-align: middle;
        text-align: center;
        font-size: 18px;
        line-height: 1em;
        font-weight: 600;
        padding: 7px 36px 7px 36px;
		transition: color 0.4s;
    }
    .menufr .btn-entry-wrap .btn-entry:hover span{
        color:#323232;
	}
}

@media screen and (min-width: 769px) {
    .h-b-ttl{
        font-size: 20px;
        font-weight: 600;
		line-height: 1.6em;
    }
    .h-b-txt{
        font-size: 16px;
        font-weight: 500;
		line-height: 2.0em;
    }
    .h-b-note{
        font-size: 14px;
        font-weight: 400;
		line-height: 2.0em;
    }
    .f-b-ttl{
        font-size: 18px;
        font-weight: 600;
		line-height: 1.6em;
    }
    .f-b-txt{
        font-size: 16px;
        font-weight: 500;
		line-height: 2.0em;
    }
    .f-b-note{
        font-size: 14px;
        font-weight: 400;
		line-height: 2.0em;
    }
    .b-ttl{
        font-size: 22px;
        font-weight: 600;
		line-height: 1.6em;
    }
    .b-txt{
        font-size: 18px;
        font-weight: 500;
		line-height: 2.0em;
    }
    .b-note{
        font-size: 14px;
        font-weight: 400;
		line-height: 2.0em;
    }
    header *{
        box-sizing: border-box;
    }
	main{
		display: block;
		padding:100px 0 0 0;
	}
	header{
		width: 100%;
        background-color: #fff;
		min-width: 1000px;
		margin:0!important;
		padding:0!important;
		display: block;
		position: fixed;
		z-index:9000;
	}
    nav{
        width: 1000px;
        height: 100px;
        margin:0 auto;
        position: relative;
        z-index: 9000;
    }
	nav .navfr{
        width: 100%;
        height: 100%;
        margin:0 auto;
		position: relative;
        z-index: 9000;
	}
	nav .navfr *{
		pointer-events: visible;
	}
    nav .navfr .nav{
        height: 100%;
		display: block;
		margin:0 auto;
        position: relative;
		pointer-events: none;
	}
    nav .navfr .nav .pc-head{
        height: 100%;
    }
	nav .navfr .nav .menufr{
        width: 100%;
        height: 100%;
        position: absolute;
        top:0;
        right:0;
		z-index: 9000;
        overflow: hidden;
        background-color: rgba(255,255,255,0.00)!important;
	}
    nav .navfr .nav .menufr .menuinner{
        height: 100%;
    }
	nav .navfr .nav .menufr .menu{
        width: 100%;
        height: 100%;
		margin:0 auto;
		position: relative;
		z-index:8000!important;
	}
	.logo{
        height: 100%;
        display: table;
		margin:0 0 0 30px;
        padding:0;
	}
	.logo a{
		display:table-cell;
		height: 100%;
        position: relative;
        z-index: 9999;
        margin:0;
        padding:0;
        vertical-align: middle;
	}
    .logo a img{
        max-height: 100%;
        margin:0;
        padding:0;
        vertical-align: bottom;
    }
    .logo a img.menulogo-pc{
        display: block;
		height: 60px;
    }
    .logo a img.menulogo-sp{
        display: none;
    }
    .menufr .menu .logo{
        display: none;
    }
	.menufr .menu .menuul{
		height: 100%;
        overflow: hidden;
		margin:0 auto 0 auto;
		padding:0;
		list-style: none;
        position: absolute;
        bottom:0;
        right: 0;
        font-size: 0;
	}
	.menufr .menu .menuul > li{
        height: 100%;
		display:inline-block;
		position: relative;
		margin:0 10px;
		padding:0;
        overflow: hidden;
	}
    .menufr .menu .menuul > li:last-child{
		margin:0 0 0 10px;
    }
    .menufr .menu .menuul > li.only-sp{
        display: none!important;
    }
    .menufr .menu .menuul > li .menutitlefr{
        height: 100%;
        display: table;
        table-layout: fixed;
    }
    .menufr .menu .menuul > li .menuar{
        width: 16px;
        height: 8px;
        position: absolute;
        bottom:-15px;
        left:50%;
        transform: translateX(-50%);
        opacity: 1;
    }
	.menufr .menu .menuul > li a.menutitle{
		height:100%;
		display: table-cell;
        vertical-align:middle;
		margin:0;
        padding: 0 0;
        color:#000;
    }
	.menufr .menu .menuul > li a.menutitle span{
		color: #323232;
		font-weight: 600;
        display: block;
        text-align: center;
        min-width: 70px;
        vertical-align: middle;
		padding: 0;
        margin: 0;
        position: relative;
		-webkit-transition-property: all;
		transition-property: all;
		-webkit-transition-duration: 0.2s;
		transition-duration: 0.2s;
		-webkit-transition-timing-function: ease-out;
		transition-timing-function: ease-out;
	}
	.menufr .menu .menuul > li a.menutitle:hover span{
		color:#1e2380!important;
    }
	.menufr .menu .menuul > li.forceactive a.menutitle span{
		color:#1e2380!important;
    }
    .menufr .btn-entry-wrap{
        height: 100%;
        width: 120px;
        display: block;
        position: relative;
        padding:0 0 0 0;
        margin: 0 30px 0 16px;
    }
    .menufr .btn-entry-wrap .btn-entry {
		background-color: #1e2380;
        width: 100%;
        line-height: 1em;
        display: block;
        position: absolute;
        top:50%;
		left: 0;
        transform: translateY(-50%);
        border-radius: 30px;
        overflow: hidden;
        padding: 0;
        margin: 0;
		-webkit-box-shadow: 0px 0px 0 0px transparent;
		box-shadow: 0px 0px 0 0px transparent;
    }
    .menufr .btn-entry-wrap .btn-entry span{
        font-size: 14px;
        color:#fff;
        width: 100%;
        display: block;
        padding: 0 0 0 0;
        vertical-align: middle;
        text-align: center;
        font-weight: 600;
        overflow: hidden;
    }
    .menufr .btn-entry-wrap .btn-entry:hover span{
        color:#323232;
        transition: color 0.4s;
	}
    .menufr .btn-entry-wrap .btn-entry:hover{
		background-color: #fff;
		-webkit-box-shadow: 0px 0px 16px 0px #1e2380; 
		box-shadow: 0px 0px 16px 0px #1e2380;
        transition: background-color 0.4s, box-shadow 0.4s;
    }
	footer{
		width: 100%;
		magin: 0;
	}
	footer #footer1{
		display: block;
		width: 100%;
		min-width: 1200px;
		magin: 0;
		padding: 0;
	}
	footer .footer-wrap{
		display: block;
		width: 100%;
		magin: 0;
		padding: 90px 0 90px 0;
		text-align: center;
		background-color: #1e2380;
		position: relative;
	}
    footer .footergototop{
        display: block;
        width: 100%;
		min-width: 1200px;
        text-align: center;
		position: absolute;
		top:-36px;
        overflow: hidden;
    }
    footer .footergototop .btn-entry-wrap{
        width: 100%;
        display: inline-block;
        position: relative;
        margin: 0 0 0 0;
    }
    footer .footergototop .btn-entry-wrap .btn-entry {
		background-color: #1e2380;
        width: auto;
        height: 100%;
        display: inline-block;
        position: relative;
        border-radius: 20px 20px 0 0;
        overflow: hidden;
        border: none;
        margin: 0;
		vertical-align: bottom;
    }
    footer .footergototop .btn-entry-wrap .btn-entry span{
        color:#fff;
        width: auto;
        display: block;
        vertical-align: middle;
        text-align: center;
        font-size: 16px;
        line-height: 1em;
        font-weight: 600;
        padding: 14px 36px 7px 36px;
		fill: #fff;
    }
    footer .footergototop .btn-entry-wrap .btn-entry svg{
        display: inline-block;
        width: 20px;
        height: 10px;
        margin:0 10px 0 0;
        position: relative;
        top:-1px;
		fill: #fff;
    }
     footer .footergototop .btn-entry-wrap .btn-entry img{
        display: inline-block;
        width: 20px;
        height: 10px;
        margin:0 10px 0 0;
    }
    footer .footergototop .btn-entry-wrap .btn-entry svg *{
        fill: #323232;
    }
	footer .footer-in{
		width: 100%;
		min-width: 1200px;
		margin: 0 auto  0 auto;
		position: relative;
        padding: 0 100px 0 100px;
	}
	footer .footer-in ul{
		margin:0 auto 40px auto;
		padding: 0;
		list-style: none;
		font-size: 0;
        display: table;
        width: 800px;
        table-layout:auto;
	}
	footer .footer-in ul li{
		display: table-cell;
        width: 250px!important;
		vertical-align: top;
		padding: 0;
        text-align: center;
	}
    footer .footer-in ul li:first-child{
        width: auto;
    }
	footer .footer-in ul li a{
		display: inline-block;
		text-align: center;
		padding: 3px 10px 5px 10px;
		position: relative;
	}
	footer .footer-in ul li a span{
		color: #fff;
		position: relative;
		z-index: 10;
		transition: color 0.4s;
	}
	footer .footer-in ul li a:hover span{
		color: #8b8dbe;
	}
    footer .footer-wrap .footer-bottom{
		background-color: #1e2380;
        width: 100%;
    }
    footer .footer-wrap p{
		color: #fff;
        width: 100%;
		min-width: 1200px;
        text-align: center;
        margin: 0 auto;
        padding: 10px 0 10px 0;
    }
}