@charset "utf-8";
/*=============================================

レスポンシブ用

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

@media(min-width: 1401px) {
	#nav-drawer,
	#FV .main-slider .slider-sp{
		display: none;
	}
}
@media(max-width: 1400px) {
	header#header #gnav{
		display: none;
	}
	/* グローバルメニュー表示／非表示 */
    .gnavi-open {
        display: block;
    }

	header #header_nav .flex,
	header #header_nav .glovalnavi{
		display: none;
	}
	 /* 

    グローバルメニュー

    */
	#header_nav{
		padding: 23px;
		background: #AD2841;
	}
	#nav-drawer {
  		position: relative;
	}
	#nav-content .application{
		width: 100%;
		padding: 20px 0;
        background-color: #fff;
		display: block;
		text-align: center;
		color: #1F2128;
		font-weight: 600;
		position: relative;
  	  	overflow: hidden;
		z-index: 0;
	}
	#nav-content .application .hover{
		display: none;
	}
	#nav-content .application::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		background: #1F2128;
		transform-origin: 50% 0%;
		transform: scaleY(0);
		transition: transform ease .3s;
	}
	#nav-content .application:hover {
		color: #fff;
		text-decoration: none;
	}
	#nav-content .application:hover .a{
		display: none;
	}
	#nav-content .application:hover .hover{
		display: inline-block;
	}
	#nav-content .application:hover::before {
		transform-origin: 50% 100%;
		transform: scaleY(1);
	}
	#nav-content .application img{
		margin-right: 10px;
	}
	/*チェックボックス等は非表示に*/
	.nav-unshown {
	  display:none;
	}

	/*アイコンのスペース*/
	#nav-open {
	  display: inline-block;
	  width: 25px;
	  height: 19px;
	  vertical-align: middle;
	}

	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span, #nav-open span:before, #nav-open span:after {
	  position: absolute;
	  height: 3px;/*線の太さ*/
	  width: 25px;/*長さ*/
	  border-radius: 3px;
	  background: #fff;
	  display: block;
	  content: '';
	  cursor: pointer;
	}
	#nav-open span:before {
	  bottom: -8px;
	}
	#nav-open span:after {
	  bottom: -16px;
	}

	/*閉じる用の薄黒カバー*/
	#nav-close {
	  display: none;/*はじめは隠しておく*/
	  position: fixed;
	  z-index: 99;
	  top: 0;/*全体に広がるように*/
	  right: 0;
	  width: 100%;
	  height: 100%;
	  background: black;
	  opacity: 0;
	  transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
	padding: 40px 0;
	overflow: auto;
	position: fixed;
	top: 80px;
	right: 0;
	z-index: 9999;/*最前面に*/
	width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
	max-width: 330px;/*最大幅（調整してください）*/
	height: 100%;
	background: #AD2841;/*背景色*/
	transition: .3s ease-in-out;/*滑らかに表示*/
	-webkit-transform: translateX(105%);
	 transform: translateX(105%);/*右に隠しておく*/
	}
	#nav-content ul{
	padding-top: 15px;
	list-style: none;
    padding-left: 0;
	}
	#nav-content ul li{
	  text-align: center;
	}
	#nav-content ul li a{
	  padding: 20px 0;
	  color: #fff;
	  display: block;
	  text-decoration: none;
	  font-weight: 700;
	  position: relative;
	  overflow: hidden;
	}
	#nav-content ul li a::before {
		content: "";
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		background: #1F2128;
		transform-origin: 50% 0%;
		transform: scaleY(0);
		transition: transform ease .3s;
	}
	#nav-content ul li a:hover {
		color: #fff;
		text-decoration: none;
	}
	#nav-content ul li a:hover::before {
		transform-origin: 50% 100%;
		transform: scaleY(1);
	}
	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked ~ #nav-close {
	  display: block;/*カバーを表示*/
	  opacity: .5;
	}
	#nav-input:checked ~ #nav-content {
	  -webkit-transform: translateX(0%);
	  transform: translateX(0%);/*中身を表示（右へスライド）*/
	  box-shadow: 6px 0 25px rgba(0,0,0,.15);
	}
    /* リストスタイルリセット（スキン用） */
    .glovalnavi:before,
    .glovalnavi:after,
    .glovalnavi *,
    .glovalnavi-inner,
    .glovalnavi ul,
    .glovalnavi li,
    .glovalnavi li a {
        margin: 0;
        padding: 0;
        width: auto;
        border: none;
        background: none;
        box-shadow: none;
        text-shadow: none;
    }
    .glovalnavi *:before, .glovalnavi *:after,
    .glovalnavi a:before, .glovalnavi a:after,
    .glovalnavi li a:before, .glovalnavi li a:after {
        content: none;
    }
	#FV .main-slider {
		width: calc(100% - 340px);
	}
	#FV .main-slider .slider-pc{
		display: none;
	}
	#FV .fv-right .announcement{
		width: 300px;
		margin-top: 0;
		padding: 40px 20px;
	}
	#TOP h2{
		margin-bottom: 20px;
	}
	#TOP .wrap1280.flex{
		flex-flow: column;
	}
	#Top-news .wrap1280{
		max-width: 800px;
		margin: 0 auto;
	}
	#TOP .wrap1280,
	#TOP .wrap960{
		margin: 0 auto;
	}
}
@media(max-width: 1200px) {
	#Top-news .h2wrap{
		width: auto;
	}
	#Top-news .ichiran{
		justify-content: flex-end;
	}
	#Top-news .ichiran .arrow-red{
		margin-left: 20px;
	}
	#page-content .page-wrap{
		flex-flow: column;
	}
	#page-content h2{
		margin-bottom: 40px;
	}
	#page-content .first-inner{
		width: 100%;
	}
}
@media(max-width: 1000px) {
	#Result .data .img-wrap,
	#Result .data .left{
		width: 100%;
	}
	#Result .data .img-wrap{
		margin-top: 20px;
	}
}
@media(max-width: 767px) {
	.pc_only{
		display: none;
	}
	#FV.flex{
		flex-flow: column;
	}
	#FV .main-slider,
	#FV .fv-right,
	#FV .fv-right .announcement{
		width: 100%;
	}
	#FV .fv-right{
		max-width: 800px;
		margin: 20px auto 0;
	}
	#Footer-button .wrap960{
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
		flex-flow: column;
	}
	#Footer-button .w-button{
		width: 100%;
		margin-bottom: 10px;
	}
	#footer .wrap1280.flex{
		flex-flow: column;
	}
	#footer .wrap1280 #Footer-logo{
		margin-bottom: 20px;
	}
	#Top-menu .wrap960 a{
		width: 49%;
	}
	#Top-news .wrap960 ul li span{
		margin-bottom: 10px;
		display: block;
	}
	body .application_floating{
		width: 100%;
		height: 100px;
		right: 0;
		bottom: 0;
		border-radius: 0;
	}
	
	#page-content ul{
		margin-left: 20px;
	}
	#page-content .first-inner .second-inner,
	#page-content .first-inner .second-inner .third-inner{
		padding-left: 25px;
	}
	#Ifrs .table-wrap,
	#Examination .table-wrap,
	#Contact .table-wrap,
	#Commerce .table-wrap,
	#Application .table-wrap{
		overflow-x: inherit;
		white-space: inherit;
	}
	#page-content .table01 th,
	#page-content .table01 td,
	#Commerce table th,
	#Commerce table td{
		display: block;
		width: 100%;
	}
	#page-content .table01 th{
		padding-bottom: 5px;
	}
	#page-content .table01 td{
		padding-top: 5px;
	}
	#Commerce table tr{
		border: none;
	}
	#Ifrs .third-inner.flex,
	#Flow_ol .flow-item{
		flex-flow: column;
	}
	#Ifrs .third-inner ul{
		width: auto;
	}
	#Ifrs .second-ul{
		margin-top: 0;
		padding-top: 0;
		border: none;
	}
	#Flow_ol .flow-item .flow-title,
	#Flow_ol .flow-item.img-in .flow-contains,
	#Voice .voice-box-big .right,
	#Voice .voice-box .right{
		width: auto;
	}
	#Flow_ol .flow-item .flow-contains{
		width: auto;
		margin-left: 40px;
	}
	#Flow_ol .flow-item.img-in .img-wrap{
		width: auto;
		text-align: right;
	}
	#Flow_ol .flow-item .img-wrap img{
		width: 127px;
	}
	#Result table{
		width: 500px;
	}
	#Result .table-grad{
		position: relative;
		white-space: nowrap;
	}
	#Result .table-grad:after {
		background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 80%, white 100%);
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	#Word #To_top{
		bottom: 110px;
	}
	#Voice .voice-box-big{
		flex-flow: column;
		align-items: center;
	}
	#Voice .voice-box-big .img-wrap{
		margin-bottom: 20px;
	}
	#page-content form dt,
	#page-content form dd{
		width: 100%;
	}
	#page-content form dt{
		padding-bottom: 5px;
		border-bottom: none;
	}
	#page-content form dd{
		padding-top: 5px;
	}
}

@media(max-width: 600px) {
	header#header{
		padding: 0 0 0 20px;
	}
	header#header #Logo{
		width: 280px;
	}
	#footer .wrap1600{
		max-width: 300px;
	}
	#footer .site-footer__menus{
		flex-flow: column;
	}
	#Top-menu .wrap960 a{
		width: 95%;
		max-width: 400px;
		margin: 0 auto 40px;
	}
	.name,
	#Index main ul li{
		flex-flow: column;
	}
	.name span,
	#Index main ul li a{
		width: auto;
	}
	.name .first-name{
		margin-top: 10px;
	}
	#Voice .voice-box{
		flex-flow: column;
		align-items: center;
	}
	#Voice .voice-box .img-wrap{
		margin-bottom: 20px;
	}
}