/*BasicN-------------------------------------------------------------------------*/
*,
*::before,
*::after {
	box-sizing: border-box;
}

html{font-size: 62.5%;}
body{font-size: 1.55rem; margin: 0; padding: 0;	width: 100%; height: 100vh; font-family:'Poppins','Noto Sans JP','inxray-font', sans-serif; font-weight: 400;color:#1E1E1E;z-index: 0; }
.material-symbols-outlined {font-variation-settings: 'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 48;}
a {text-decoration: none;}
a:hover {text-decoration: none;}
a:visited {text-decoration: none;}
.clear{clear:both;}
.ft4{font-weight: 400;}
.ft6{font-weight: 600;}
.ft9{font-weight: 900;}
.iside{font-size: 1.7em; margin: 0 3px;}
.mcolor{color: #2865b6;}
.gcolor{color:#ededed;}
.iadd{font-size: 6.0em;}
i{margin-right: 0.5em;}
.p-mx{width: 100%; text-align: left;}
.sp-mx{display: inline-block; width: 100px; text-align: right;}
.black-bg {position: fixed; left: 0; top: 0; width: 100%; height: 100vh;  background-color: #000; opacity: 0; display: none; transition: all 0.5s; cursor: pointer; z-index: 1;}

.contents{width:100%; height: 100vh;}

/*モーダル系--------------------------------------------------------------------------------- */
.modal-background {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 99999; display: none;}
.modal-container {display: none; position: fixed; width: 380px; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: white; border-radius: 5px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); z-index: 100000;}
.modalbotton {display: inline-block; width: 180px; padding: 0 0.5em;}
.modal-background.active {display: block;}
.modal-container.active {display: block;}

.login_framep{width:100%; padding: 1.0em 0; text-align: center;}
.foot-logo{background: #0b69ac; padding: 0.5em 0; border-radius: 5px 5px 0 0; text-align: center;}
.foot-logo img{width: 200px; height:auto;}
.sign-frame{width:100%; margin: 0; padding: 0.5em 0; text-align: center;}
.sign-in{margin: 0 auto; padding: 0.5em 2em; border: 1px solid #0b69ac; border-radius: 2px; color:  #0b69ac;}
.sign-in:hover{background: #0b69ac; color: #ffffff;}
.foot-copy{width:100%; padding: 0.5em; text-align: center;}
.p_p_ptitle{position:relative; background: #e75f1c; color: #ffffff; padding: 0.5em 0; border-radius: 5px 5px 0 0; text-align: center;}
.h2title{position:relative; font-size: 1.45em; font-weight: 500; text-align: center; padding:1.5rem 2rem; border-bottom:2px solid #474747;}
.h2title:before{position:absolute; bottom:-13px; left:50%; width:0; height:0; content:''; border-width:12px 10px 0; border-style:solid; border-color:#474747 transparent transparent;}
.h2title:after{position:absolute; bottom:-10px; left:50%; width:0; height:0; content:''; border-width:12px 10px 0; border-style:solid; border-color:#f9f9f9 transparent transparent;}

.m-close{position: absolute; top: 8px; right: -6px; font-size: 1.6em; color: #ffffff; cursor: pointer;}
.login-exp{margin: 0.5em 0.5em; padding: 0 0 0 1.5em;}
.m-close a{color: #ffffff;}

.login-ul{display:flex; flex-wrap:wrap; width:100%; list-style:none; padding:0; text-align:left; vertical-align:top; overflow:auto; margin:0;}
.login-ul li{padding: 0.25em;}
.login-li-i{width: 60px; text-align: center; font-size: 1.6em;}
.login-li-t{width: calc(100% - 60px);}
.login-li-p{width: calc(100% - 60px); color: #af0000; position: relative;}
.login-li-p i{position: absolute; top: 20%; right: -10px; font-size: 1.6em; cursor: pointer;}
.login-li-full-r{width: 100%; text-align: right;}
.login-li-full-c{width: 100%; text-align: center;}
.login-ul input[type=email],.login-ul input[type=password] {width: 100%; margin:0; box-sizing: border-box; background: #ffffff; border: 1px solid #0b69ac; border-radius: 0 4px 4px 0; padding : 4px; letter-spacing: .1em; line-height: 1.7; overflow:hidden;}
.login-ul input[type=email],.login-ul input[type=password]:focus{background: #ffffc8; border: 1px solid #036eb8}
.button-014 {display: flex; justify-content: center; width: 40%; margin:0 auto; padding: .5em 0; border: 1px solid #C30D23; border-radius: 5px; background-color: #fff; color: #C30D23; cursor: pointer;}
.button-014:hover{background:#C30D23; color: #fff; transition: all 0.3s;}
input[type=submit].button_forget {background-color: #fff; color: #0368CC; padding: .3em 1.5em; text-align: center; text-decoration: none; display: inline-block; font-size: 0.9em; margin: 0; cursor: pointer; border: 1px solid #0368CC; border-radius: 5px;}
input[type=submit].button_forget::after {font-family: 'inxray-font',sans-serif; color: #0368CC; content: '\f2f6'; font-weight: 600; margin: 0.2em 0.5em 0;}
input[type=submit].button_forget:hover{background:#0368CC; color: #fff; transition: all 0.3s;}

/*Header-------------------------------------------------------------------------*/
.topnav{width: 60px; height:100%; position: fixed; top:0; left:0; background: #002451; flex-wrap: nowrap; z-index: 1000;}
.t_user{width: 100%; height:50px;}
.us_span_logo{float:left; width: 200px; height:50px;}
.us_span_logo img{width: auto; height: 50px;}
.powered_img{float: right; width: 230px; height:50px;}
.powered_img img{width: auto; height: 50px;}
.logo{position:fixed; top: 0; right: 0; width:280px; text-align: right; padding: 0.5em 1.0em; z-index: 9999999999;}
.fixed-icon{display: flex;}
.d-icon{width:60px; text-align: center;}
.d-logo{display: flex; width: calc(100% - 60px); justify-items: left;}
.d-icon img{width:auto; height: 60px;display: inline-block;}
.box {display: flex; align-items: center; justify-content: center;}
.section {height: 100vh; display: flex; align-items: center; justify-content: center; font-size: 2rem;}
.cls-bg {fill: none;}

.light {background: rgb(240, 240, 240);}
.dark {background: rgb(30, 30, 60); }

.nav_logo{width: 200px; height: auto; margin: 0 auto;}
.hdMain{width:100%; height:calc(100vh - 73px); margin:0 auto; position:relative; z-index:2000;}
.hamburger{display:block; position:absolute; left:0; top:50%; width:60px; height:50px; cursor:pointer; text-align:center; transform: translateY(-50%); z-index:3000;}
.hamburger span {display : block; position: absolute; width: 30px; height: 2px ; left: 15px; background : #ffffff; transition: 0.3s ease-in-out;}

.hamburger span:nth-child(1) {top:10px;}
.hamburger span:nth-child(2) {top:20px;}
.hamburger span:nth-child(3) {top:30px;}
.hamburger:after{position:relative; top: 3.5em; content: "MENU"; color: #ffffff; font-size: 0.65em; display: inline-block; transition: opacity 0.3s; opacity: 1;}

.hamburger.active span:nth-child(1) {top:20px; left: 15px; transform: rotate(-45deg);}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {top:20px; transform: rotate(45deg);}
.hamburger.active:after{position:relative;  top: 3.5em; content: "CLOSE"; color: #ffffff; font-size: 0.65em; display: inline-block; transition: opacity 0.3s; opacity: 1;}

.globalMenuSp{position: fixed; top:0; left: 0; width:calc(100% - 60px); height:100vh; background: rgba(0, 0, 0, 0.8); z-index:100; transform: scale(1.6); opacity: 0; transition: all 0.3s ease; pointer-events: none;}
.globalMenuSp.active{display:block; left: 60px; transform: scale(1); opacity: 1; pointer-events: auto; z-index: 100;}

.nmenu{display: flex; flex-wrap: wrap; width: 100%; height:100vh; list-style: none; margin: 0; padding: 0; color: #ffffff; z-index: 99;}
.nmenu li{margin: 0; height: calc(100vh - 300px); border-collapse: collapse; display: block; text-align: center; align-content: center; line-height: 1.6;}

.nmenu li a:hover{color: #67b0fa;}
.nmenu li i{display: block; font-size: 1.6em; margin: 0 auto;}
.nmenu .li020{width:20%; height: calc(100% - 60px); position: relative;}
.nmenu .li020 a{display:block; width:100%; height:100%; align-content: center; color: #ffffff;}
.nmenu .li020 a:hover{color: #67b0fa; background: rgba(255,255,255,0.1);}
.nmenu .li020:not(:nth-child(5))::after{content: ""; position: absolute; top: 50%; right: 0; width:1px; height: 80%; background-color: #838383; transform: translateY(-50%);}

.nmenu .li000h{width:100%; height:60px; align-content: center;}
.nmenu .li000h i{display: inline-block; font-size: 1.0em;}


.menu-p{padding: 0.05em 0; margin: 0; background: #ffffff; color: #262E4D;}
.cap{display: inline-block; position: relative; width:80px; padding: 0.1em; margin: 1px 0.7em 0 0; background: #0368CC; color:#ffffff; text-align: center;}
.cap_dsn{display: inline-block; position: relative; width:100px; padding: 0.3em; margin: 0 0.8em 0.1em 0; background: #0368CC; color:#ffffff;}
.cap_dsnt{display: inline-block; position: relative; width:100px; padding: 0.3em; margin: 0 0.8em 0.1em 15px; background: #0368CC; color:#ffffff;}
.cap_dsn::after{position:absolute; right:-7px; content:""; background: #0368CC; height: calc(tan(60deg) * 30px / 2); width: 8px; clip-path: polygon(0 0, 100% 50%, 0 100%);}
.cap::after{position:absolute; top: -1px; right: -100%; content:""; background:#0368CC; width:100%; height:100%; clip-path:polygon(0 0,10% 50%,0 100%);}

.menu-bot{position:absolute; width: 100%; bottom:0;}
.menu-sub {width: 100%;}
.menu-copy{width: 100%; text-align: center; color: #262E4D; font-size: 0.9em;}
.open {opacity: 0.3; display: block;}
.to_top{position: fixed; bottom:0; left:0; display: none; width: 60px; height: 60px; margin: 0 auto; color: rgba(255,255,255,0.5); text-align: center; align-items: center; font-size: 2.5em;opacity: 0.5; z-index: 3000;}
.to_top i{margin: 0 auto; cursor: pointer; transition: opacity 0.3s ease, color 0.3s ease;}
.to_top i:hover{color: rgba(255,255,255,1.0);}

/*Fraem-------------------------------------------------------------------------*/
.countHalf_alcen{width: 80%; max-width: 1280px; min-width: 900px; margin: 80px auto; padding: 0 0 60px;}

/*UL OL -------------------------------------------------------------------------*/
ul,ol{list-style-type: none;}
.numb-oltit{list-style-type: number; text-align: left; padding-bottom: 0.5em; padding-left: 0; margin-left: 1.0em; line-height: 1.5;}
.numb-oltit li {padding-bottom: 0.5em;}
.numb-oltit li.title {font-weight:500;}

.numb-ol{list-style-type: decimal; text-align: left; padding-bottom: 0.5em; line-height: 1.5;}
.numb-ol li {padding-bottom: 0.5em;}
.disc-ul{list-style-type: disc; text-align: left; padding-bottom: 0.5em; line-height: 1.5;}
.olin-disc-ul{list-style-type: disc; text-align: left; padding-bottom: 0.5em; line-height: 1.5;}
.olin-disc-ul li {margin-left: -20px;}
.disc-ul-numb-ol{list-style-type: decimal; text-align: left; padding-bottom: 0.5em; line-height: 1.5;}
.disc-ul-numb-ol li {margin-left: -2.0em;}


ol {text-align: left; margin: 0; padding: 0.5em 0; list-style: none; counter-reset: only 1; }
ol li.sho:before {content: "第" counter(sho) "章"; padding-right: 1em; margin-left: -1em;}
ol li.only:before {content: counter(only) "."; padding:0.5em 0.75em 0.5em 0;}
ol li.kakko:before {content: "（" counter(kakko) "）"; padding: 0; line-height: 1.6;}
li.pre_jyo {width:100%; font-size: 1.0em; line-height: 1.6; margin: 0.25em 0 0.25em 1.0em; padding: 0.5em 0 0.25em 1.0em; text-indent: 0; text-align: left; font-weight:normal;}
li.pre_jyo:before{content: "\e945"; font-family: 'inxray-font', sans-serif; font-weight: 600; margin-right: 0.3em;}
li.pre_jyo:after{content: "\e945"; font-family: 'inxray-font', sans-serif; font-weight: 600; margin-left: 0.3em;}

li.sho {counter-increment: sho; font-size: 1.0em; margin: 0; text-indent:1.3em; padding: 0.5em 0 0.5em 1.0em; text-align: left; font-weight: bold;}
li.jyo {counter-increment: jyo; font-size: 1.0em; line-height: 1.6; text-indent: 0; margin-left: 1.5em; padding: 0.5em 0 0.5em 1.5em; text-align: left; font-weight:normal;}
li.jyo li{margin: 0 0 0 1.0em;; padding: 0.5em 0 0.25em 1.0em;}
li.pre_jyo ol{font-size: 1.0em; line-height: 1.6; text-indent: 0; margin: 0.5em 0 0.5em 1.0em; padding: 0.5em 0 0.5em 1.0em; text-align: left; font-weight:normal;}
li.only {counter-increment: only; font-size: 1.0em; text-indent: -1.6em; margin-left: -1.0em; padding: 0.5em 0 0.5em 1.0em; text-align: left; font-weight:normal;}

li.kakko {width:100%; counter-increment: kakko; font-size:1.0em; margin-left:1.5em; text-indent: -2.54em; padding: 0.5em 0 0.5em 1.0em; text-align: left; font-weight:normal;}

.kakko li {margin: 0.5em 0 0 -0.5em; padding: 0; text-indent: -3.0em; counter-increment: kakko;}
.kakko li:before {padding-right: 0.5em; content: "（" counter(kakko) "）";}
.kakkob li {margin: 0.5em 0 0 3.0em; padding: 0; text-indent: -3.0em; counter-increment: kakkob;}
.kakkob li:before {padding-right: 0.5em; content: "（" counter(kakkob) "）";}
.kakkoc li {margin: 0.5em 0 0 2.0em; padding: 0; text-indent: -3.0em; counter-increment: kakkob;}
.kakkoc li:before {padding-right: 0.5em; content: "（" counter(kakkob) "）";}
.ol_number{width: 100%; list-style-type: decimal; margin: 1.0em auto 0; padding: 0; text-align:left; vertical-align:top;}
.ol_number li{width:100%; margin: 0.25em 0 0.25em 1.0em; padding: 0.5em 0 0.5em 1.0em;}
.ul_number {width: 100%; list-style-type: disc!important; margin: 1.0em auto 0; padding: 0; text-align:left; vertical-align:top;}
.ul_number li{width:100%; margin: 0.25em 0 0.25em 1.0em; padding: 0.25em 0 0.25em 1.0em;}
