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

カスタマイズ用

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


/* 1.1 初期設定 
   ========================================================================== */

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box!!important;
}

html {
  scroll-behavior: smooth;
  font-size: 62.5%;
}

body {
  position: relative;
  word-wrap: break-word;
  word-break: break-all;
  font-family: "Noto Sans Japanese","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  line-height: 1.5;
  font-size: 1.4em;
  box-sizing: border-box;
  color: #1F2128;
  background-color:transparent;
}

body, textarea, pre {
    line-height: 1.5;
}
main{
	position: relative;
	z-index: 1;
	 /*pointer-events: none;*/
}
p{
  margin-bottom: 20px;
}
a{
  color: #1F2128;
}
.img-wrap{
	width: 100%;
	text-align: center;
}
.img-wrap img {
    width: 100%;
    height: auto;
    vertical-align: top;
}
.flex{
	display: flex;
    justify-content: space-between;
}
.wrap1600,
.breadcrumb-wrap ol{
  width: 95%;
  max-width: 1600px;
  margin: 0 auto;
}
.wrap1280{
  width: 100%;
  max-width: 1280px;
}
.wrap960{
  width: 100%;
  max-width: 960px;
}
.wrap{
  width: auto;
}
.w-button,
#Application .ap-reset-password-link a{
  width: 290px;
  padding: 25px 30px;
  background: #fff;
  border: #AD2841 1px solid;
  border-radius: 10px;
  color: #1F2128;
  font-size: 2rem;
  transition: 0.7s;
  text-decoration: none;
}
.w-button:hover,
#Application .ap-reset-password-link a:hover{
  background: #AD2841;
  color: #fff;
  text-decoration: none;
}
.arrow-red{
  width: 30px;
  height: 30px;
  background: #AD2841;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  transition: 0.7s;
}
a .arrow-red img{
  transition: 0.3s;
} 
a:hover .arrow-red img{
  transform: translateX(5px);
} 
.button{
  margin-top: 60px;
  display: flex;
  justify-content: center;
}
#page-content .red-button,
#page-content form .button input,
#page-content .form-wrap .btn-submit,
.document-request-file .document-request-file-link{
  min-width: 290px;
  padding: 25px 30px;
  background: #AD2841;
  border: #AD2841 1px solid;
  border-radius: 10px;
  color: #fff;
  font-size: 2rem;
  text-decoration: none;
  transition: 0.7s;
}
#page-content .red-button:hover,
#page-content form .button input:hover,
#page-content .form-wrap .btn-submit:hover,
.document-request-file .document-request-file-link:hover{
  background: #fff;
  color: #AD2841;
  text-decoration: none;
  transform: scale(1.1);
}
#page-content .document-request-file .document-request-file-link{
  margin: 20px auto 40px;
  text-decoration: none;
  display: inline-block;
}
.red-button .arrow-white{
  width: 30px;
  height: 30px;
  margin-left: 40px;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
}
table tr{
  border-top: #CCCCCC 1px solid;
  border-bottom: #CCCCCC 1px solid;
}
table,
table th,
table td{
  border: none;
}
table th,
table td{
  padding: 15px 0;
}
table th{
  width: 30%;
  font-weight: bold;
}
table td{
  width: auto;
}
#page-content .first-inner .mt-none{
  margin-top: 0;
}
.f28{
  font-size: 2.8rem;
}

/*  ヘッダー
   ========================================================================== */
   
header#header{
  height: 80px;
  padding: 0 0 0 50px;
  background: #F8EFE8;
  display: flex;
  border-bottom: #F8EFE8 2px solid;
}
header#header .header-wrap{
  width: 100%;
  align-items: center;
}
header#header #Logo{
  width: 360px;
  height: auto;
  display: block;
}
header#header #gnav{
  display: flex;
  border: none;
  background: none;
  margin-top: 0;
}
header#header #gnav ul{
  display: flex;
}
header#header #gnav li{
  width: 25%;
  min-width: 200px;
  max-width: 250px;
  padding: 0;
  float: none;
  border-right: #F8EFE8 2px solid;
}
header#header #gnav li a{
  height: 78px;
  padding: 20px;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #AD2841;
  color: #fff;
  font-size: 1.6rem;
  text-align: center;
  position: relative;
  transition: .3s;
  z-index: 1;
}
header#header #gnav 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;
}
header#header #gnav li a:hover {
  color: #fff;
  text-decoration: none;
}
header#header #gnav li a:hover::before {
  transform-origin: 50% 100%;
  transform: scaleY(1);
}
header#header #gnav .application{
  width: 160px;
  background: #fff;
  color: #1F2128;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: .3s;
  z-index: 1;
}
header#header #gnav .application .hover{
  display: none;
}
header#header #gnav .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;
}
header#header #gnav .application:hover {
  color: #fff;
  text-decoration: none;
}
header#header #gnav .application:hover .a{
  display: none;
}
header#header #gnav .application:hover .hover{
  display: inline-block;
}
header#header #gnav .application:hover::before {
  transform-origin: 50% 100%;
  transform: scaleY(1);
}


/*  フッター
   ========================================================================== */
#Footer-button{
  padding: 60px 0;
  background: #F8EFE8;
}
#Footer-button .wrap960{
  margin: 0 auto;
}
#Footer-button .w-button{
  width: 31%;
}
#footer{
   background: #707070;
}
#footer .wrap1280 #Footer-logo .img-wrap{
  width: 120px;
  height: auto;
}
#footer .wrap1280 #Footer-logo{
  margin-right: 40px;
}
#footer .wrap1280{
  padding: 80px 0 100px;
}
#footer .site-footer__menus{
}
#page-content #footer ul{
  list-style: none;
}
#footer ul li{
  margin-bottom: 10px;
}
#footer ul li a{
  color: #fff;
}
#footer ul li a:hover{
  color: #AD2841;
}
#footer .footer-02{
  background: #1F2128;
  color: #fff;
  border: none;
}
#footer .footer-02 p{
  margin-bottom: 0;
  padding: 20px;
  text-align: center;
}
body .application_floating{
  width: 160px;
  height: 130px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  background: #1F2128;
  border-radius: 10px;
  color: #fff;
  position: fixed;
  right :80px;
  bottom: 40px;
  font-size: 2rem;
  z-index: 999;
  transition: .3s;
}
body .application_floating:hover{
  text-decoration: none;
  opacity: 0.9;
}

body .application_floating img{
  margin-bottom: 10px;
  transition: .3s;
}
body .application_floating:hover img{
  transform: translateY(7px);
}

/*  TOPページ
   ========================================================================== */
#TOP h2{
  font-size: 2.8rem;
  font-weight: bold;
  display: flex;
  flex-flow: column;
}
#TOP h2 span{
  color: #8F8F8F;
  font-size: 1.6rem;
  font-weight: 500;
}
#FV{
  width: 100%;
  background: #F8EFE8;
}
#FV .main-slider{
  width: calc(100% - 400px);
  /*aspect-ratio: 140/55;
  background: #F8EFE8;*/
}
#FV .main-slider img{
  width: 100%;
}
#FV .fv-right{
  padding: 0 20px;
}
#FV .fv-right .announcement{
  width: 360px;
  margin: 20px 0;
  padding: 40px;
  background: #fff;
  border: 1px #AD2841 solid;
  border-radius: 10px;
  font-weight: 700;
}
#FV .fv-right .announcement dl{
  margin-top: 30px;
}
#TOP h3{
  font-size: 2.4rem;
  color: #AD2841;
}
#FV .fv-right .big_button,
#Problem .big_button{
  width: 100%;
  padding: 20px;
  color: #fff;
  font-weight: bold;
  background: #AD2841;
  border: 1px solid #AD2841;
  font-size: 1.8rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  border-radius: 10px;
  text-decoration: none;
}
#Problem .big_button{
  max-width: 500px;
  margin: 40px auto 0;
}
#FV .fv-right .big_button:hover,
#Problem .big_button:hover{
  background: #fff;
  color: #AD2841;
  text-decoration: none;
}
#Top-news,
#Top-menu{
  padding: 100px 0;
  justify-content: space-between;
}
#Top-news .wrap960,
#Top-menu .wrap960{
  margin: 0;
}
#Top-news{
  background: #F8EFE8;
}
#Top-news .h2wrap{
  width: 120px;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
}
#Top-news .ichiran{
  display: flex;
  align-items: center;
  color: #1F2128;
}
#Top-news .wrap960 a{
  display: block;
  color: #1F2128;
}
#Top-news .wrap960 ul li{
  padding: 20px 0;
  border-bottom: #CCCCCC 1px solid;
  display: flex;
}
#Top-news .wrap960 ul li p{
  margin-bottom: 0;
}
#Top-news .wrap960 ul li span {
  width: 155px;
  display: inline-block;
  color: #8F8F8F;
}
#Top-menu .wrap960{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#Top-menu .wrap960 a{
  width: 31%;
  margin-bottom: 40px;
  cursor: pointer;
  color: #1F2128;
}

#Top-menu .wrap960 a img{
  transition: .3s;
}
#Top-menu .wrap960 a:hover{
  text-decoration: none;
}
#Top-menu .wrap960 a:hover .img-wrap img{
  transform: scale(1.05);
  opacity: 0.7;
}
#Top-menu .wrap960 .menu-box .img-wrap{
  overflow: hidden;
  border-radius: 10px;
}
#Top-menu .wrap960 .menu-box h4{
  margin-top: 15px;
  margin-bottom: 10px;
  padding-bottom: 5px;
  font-size: 2rem;
  text-align: center;
  border-bottom: #AD2841 1px solid;
}
#Top-menu .wrap960 .menu-box p{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#Top-menu .wrap960 .menu-box p .p{
  width: calc(100% - 45px);
}
#Top-menu .wrap960 .learning_banner,
#Footer-button .wrap960 .learning_banner{
  width: 100%;
  margin-bottom: 0;
  display: flex;
  border: 2px solid #AD2841;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
#Footer-button .wrap960 .learning_banner{
  margin-top: 20px;
  text-decoration: none;
}
#Top-menu .wrap960 .learning_banner::before,
#Footer-button .wrap960 .learning_banner::before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
#Top-menu .wrap960 .learning_banner:hover::before,
#Footer-button .wrap960 .learning_banner:hover::before {
  left: 100%;
}
#Top-menu .wrap960 .learning_banner .img-wrap,
#Footer-button .wrap960 .learning_banner .img-wrap{
  width: 50%;
  height: 200px;
  overflow: hidden;
}
#Top-menu .wrap960 .learning_banner .img-wrap img,
#Footer-button .wrap960 .learning_banner .img-wrap img{
  height: 100%;
  object-fit: cover;
  vertical-align: middle;
}
#Top-menu .wrap960 .learning_banner .right,
#Footer-button .wrap960 .learning_banner .right{
  width: 50%;
  margin: 0;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #AD2841;
}
#Top-menu .wrap960 .learning_banner .right p,
#Footer-button .wrap960 .learning_banner .right p{
  font-size: 2.8rem;
}
#Top-menu .wrap960 .learning_banner p span,
#Footer-button .wrap960 .learning_banner p span{
  font-size: 1.8rem;
  display: block;
}
#Top-menu .wrap960 .learning_banner p span img,
#Footer-button .wrap960 .learning_banner p span img{
  margin-left: 5px;
}
/*  下層固定ページ共通
   ========================================================================== */
.breadcrumb-wrap{
  padding: 10px;
  background-color: #1F2128;
}
.breadcrumb-wrap ol li a,
.breadcrumb-wrap ol li span{
  color: #fff;
}
.breadcrumb-wrap ol li .fa-file{
  display: none;
}
.breadcrumb-wrap ol li:after{
  content: '';
  width: 7px;
  height: 11px;
  background: url(img/svg/icon_arrow_link_white.svg) no-repeat;
  display: inline-block;
  vertical-align: center;
}
.breadcrumb-wrap ol li:last-child:after{
  display: none;
}
.cat-content, article.post, article.page, article.wp101, article.seo101{
  border: none;
}

#page-content .h1-wrap,
#Index .h1-wrap,
#Single .h1-wrap{
  padding: 60px 0;
  background: #F8EFE8;
}
#page-content h1,
#Index h1,
#Single h1{
  font-size: clamp(2.8rem, 3.8vw, 4rem);
}
#page-content main article,
#Single main article{
  padding: 80px 0 100px;
}
#page-content .page-wrap{
  width: 90%;
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
#page-content h2{
  width: 280px;
  padding-top: 40px;
  border-top: #AD2841 1px solid;
  font-size: 2.4rem;
  font-weight: bold;
}
#page-content h3{
  margin-top: 80px;
  margin-bottom: 40px;
  padding-top: 30px;
  border-top: #1F2128 1px solid;
  font-size: 2.4rem;
  font-weight: bold;
  display: inline-block;
}
#page-content h4{
  margin-top: 40px;
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: bold;
  display: flex;
  flex-direction: row;
  align-items: center;
}
#page-content h4:after {
  content: "";
  display: block;
  flex-grow: 1;
  height: 1px;
  background-color: #AD2841;
  margin-left: 8px;
  top: 50%;
}
#page-content h4 span{
  padding-right: 20px;
  background: #fff;
  position: relative;
  z-index: 2;
}
#page-content h5{
  margin-bottom: 10px;
  font-size: 1.6rem;
  font-weight: bold;  
}
#page-content ul{
  margin-top: 10px;
  margin-left: 40px;
  padding-left: 15px;
  list-style-type: disc;
}
#page-content ol li.list_parentheses{
  padding-left: 20px;
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
  position: relative;
}
#page-content ol li.list_parentheses:before{
  display: marker;
  content: "(" counter(cnt) ") ";
  position: absolute;
  left: 0;
}
#page-content ol{
  padding-left: 15px;
  list-style-type: decimal;
}
#page-content ol li ol{
  margin-top: 10px;
}
#page-content .upper-alpha{
  list-style-type: upper-alpha;
}
#page-content a{
  text-decoration: underline;
}
#page-content .line_top,
#Application div:last-child p{
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #CCCCCC;
}
#page-content .first-inner{
  width: calc(100% - 320px);
}
#page-content .first-inner .second-inner{
  padding-left: 60px;
}
#page-content .first-inner .second-inner .third-inner{
  padding-left: 40px;
}
#page-content .align_right{
  display: flex;
  justify-content: flex-end;
}
#page-content .align-center{
  text-align: center;
}
#page-content .required{
  color: #AD2841;
}
#page-content .caution{
  font-size: 1.2rem;
  display: block;
}
#page-content form input,
#page-content form textarea,
#page-content form select{
  width: 100%;
  background: #EDEDED;
  padding: 8px 13px;
  border: none;
  border-radius: 10px;
}
#page-content form dl{
  display: flex;
  flex-wrap: wrap;
}
#page-content form dt,
#page-content form dd{
  padding: 20px 0;
  border-bottom: 1px solid #ccc;
}
#page-content form dt{
  width: 25%;
  padding-right: 5%;
}
#page-content form dd{
  width: 70%;
}
#page-content form #name,
#page-content form #name_kana,
#page-content form #name_roma{
  display: flex;
  justify-content: space-between;
}
#page-content form #name input,
#page-content form #name_kana input,
#page-content form #name_roma input{
  width: 48%;
}
#page-content form label{
  margin-right: 40px;
}
#page-content form label input{
  width: auto;
}
#page-content form .gender-radio label input{
  margin-right: 5px;
}
#page-content form #birth{
  display: flex;
  align-items: center;
}
#page-content form #birth span{
  margin-left: 10px;
}
#page-content form dl{
  border-top: 1px solid #ccc;
}
#page-content form dd .small{
  margin-top: 10px;
  font-size: 1.2rem;
  display: inline-block;
}
form#contact dl dd:last-child{
  display: flex;
  flex-wrap: wrap;
}
form#contact dl dd:last-child input{
  /*width: calc(100% - 70px);*/
  margin-right: 10px;
}
form#contact dl dd:last-child button{
  background: #AD2841;
  border-radius: 10px;
}
form#contact dl dd:last-child p{
  margin-top: 10px;
  padding-top: 0;
  border-top: none;
  font-size: 1.2rem;
}
#page-content .form_must{
  font-size: 2rem;
  font-weight: bold;
  color: #AD2841;
}
#page-content .form-privacy{
  width: 90%;
  margin: 20px auto;
  padding: 30px;
  background: #F8EFE8;
}
#page-content .form-privacy input{
  width: inherit;
  margin-right: 5px;
}
#Confirmation dt{
  color: #8F8F8F;
}
#Confirmation dd{
  margin-bottom: 15px;
}
#Confirmation #gpy-credit-form{
  margin-bottom: 40px;
}
#Confirmation #gpy-credit-form dl{
  margin-bottom: 40px;
}
#Confirmation #gpy-credit-form dd{
  margin-bottom: 0;
}
#page-content .btn-block{
  color: #AD2841;
  background: #fff;
  border: 1px solid #AD2841;
}
/*受験案内ページ*/
#Flow_ol{
  margin-top: 60px;
  padding-left: 0!important;
}
#Flow_ol .flow-item{
  padding: 30px 0;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #CCCCCC;
  position: relative;
}
#Flow_ol .flow-item .flow-title{
  width: 260px;
  display: flex;
}
#Flow_ol .flow-item .flow-contains{
  width: calc(100% - 300px);
}
#Flow_ol .flow-title{
  font-size: 1.6rem;
  font-weight: bold;
}
#Flow_ol .flow-title span{
  width: 32px;
  margin-right: 20px;
  font-size: 1.8rem;
  display: inline-block;
}
#Flow_ol .flow-contains li{
  margin-bottom: 20px;
  position: relative;
}
#Flow_ol .flow-contains li:last-child{
  margin-bottom: 0;
}
#Flow_ol .flow-contains li ul{
  margin-top: 5px;
  margin-left: 15px;
}
#Flow_ol .flow-contains li li,
#Flow_ol .flow-contains li p{
  margin-bottom: 0;
}
#Flow_ol .caution{
  margin-top: 5px;
  display: block;
  font-size: 1.2rem;
}
#Flow_ol .flow-item:after{
  height: calc(100% - 65px);
  left: 14px;
  top: 80px;
  background: #AD2841;
  content: "";
  display: block;
  position: absolute;
  width: 1px;
}
#Flow_ol .flow-item:last-child:after{
  display: none;
}
#Flow_ol .flow-item.img-in .flow-contains{
  width: calc(100% - 500px);
}
#Flow_ol .flow-item.img-in .img-wrap{
  width: 127px;
  height: auto;
}

/*IFRS検定制度についてページ*/
#Ifrs dl,
#Result dl{
  max-width: 430px;
  padding: 15px 0;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #CCCCCC;
}
#Ifrs dl dt,
#Result dl dt{
  width: 150px;
}
#Ifrs dl dd,
#Result dl dd{
 font-size: 2.4rem;
}
#Ifrs dl dd span,
#Result dl dd span{
  margin-left: 5px;
  font-size: 1.4rem;
}
#Ifrs .third-inner ul{
  width: 49%;
}
#Result .data{
  flex-wrap: wrap;
}
#Result .data .img-wrap,
#Result .data .left{
  width: 49%;
}
/*受験結果ページ*/
#Result .result-table th,
#Result .result-table td{
  width: 14%;
  text-align: center;
}
#Result .result-table thead th{
  background: #EDEDED;
  border-right: #fff 2px solid;
  color: #1F2128;
}
#Result .result-table thead .ichidan{
  border-bottom: #fff 2px solid;
}
#Result .result-table thead .nidan th{
  background: #CCCCCC;
}
#Result .second-inner .img-wrap{
  max-width: 740px;
  margin-bottom: 40px;
}
/*お問い合わせページ*/
.name{
  display: flex;
  justify-content: space-between;
}
.name span{
  width: 48%;
}
#Contact .caution{
  margin-top: 10px;
}
#Contact .button{
  flex-flow: column;
}
#Contact .button .wpcf7-submit{
  width: 90%;
  max-width: 500px;
  margin: 0 auto;
}
#Contact h3,
#Download h3,
#Confirmation h3{
  margin-top: 0;
}
#Contact .center a.button-border,
#Download .center a.button-border,
#Confirmation .center a.button-border,
#Application .center a.button-border{
  padding: 20px;
  border-radius: 10px;
  display: inline-block;
  text-decoration: none;
}
#Conditions .button{
  flex-wrap: wrap;
}
#Conditions .button a {
  pointer-events: none; /* 初期状態で無効化 */
  opacity: 0.5;
}
#Conditions .button span{
  width: 100%;
  display: block;
  text-align: center;
}
#Conditions .accepting_orders a.enabled {
  pointer-events: auto;
  opacity: 1;
}
#Conditions .form-privacy p{
  margin-bottom: 0;
}
#Conditions .form-privacy .form_must{
  margin-left: 5px;
  font-size: 1.4rem;
}
/*  プルダウン
   ========================================================================== */
.faq-item {
  border-bottom: 1px solid #CCCCCC;
}
.faq-question__wrap {
  position: relative;
  padding: 20px 0 20px 35px;
  cursor: pointer;

}
.minus-icon {
  position: absolute;
  content: "";
  width: 16px;
  height: 1px;
  background: #AD2841;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.plus-icon {
  position: absolute;
  content: "";
  width: 16px;
  height: 1px;
  background: #AD2841;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
}
.plus-icon.active {
  transform: translateY(-50%);
}
.faq-question__wrap p{
  display: none;
}
.faq-question__wrap .faq-question__title {
  margin-bottom: 0;
  font-weight: bold;
  font-size: 1.6rem;
  position: relative;
  display: block;
}
.faq-answer__wrap {
  padding: 5px 30px 0;
  transition: ease all 0.5s; /* 擬似要素のトランジションを追加 */
  height: 0;
  overflow: hidden;
  padding-top: 0;
  padding-bottom: 0;
}
.faq-answer__wrap.active {
  height: auto;
  padding: 10px 5px 10px 30px;
}
.faq-answer__wrap {
  background: #fff;
  opacity: 0;
  padding: 10px 5px 10px 55px;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  transition: ease all 0.7s; /* 擬似要素のトランジションを追加 */
}
.faq-answer__wrap.active {
  opacity: 1;
}
.faq-answer__wrap p{
  display: none;
}
.faq-answer__wrap .faq-answer__text {
  margin: 0;
  display: block;
}

/*プライバシーポリシーページ*/
#Privacy li{
  margin-bottom: 10px;
}

/*特定商取引法に基づく表記ページ*/
#Commerce table th{
  padding: 20px;
  color: #1F2128;
  background: #EDEDED;
  border: 2px solid #fff;
}
#Commerce table td{
  padding: 20px;
}

/*IFRS導入企業一覧／合格者の声ページ*/
#Voice .voice{
  margin-top: 80px;
}
#Voice .voice-box-big{
  align-items: flex-start;
}
#Voice .voice-box-big .img-wrap{
  width: 200px;
  border-radius: 10px;
  overflow: hidden;
}
#Voice .voice-box-big .right{
  width: calc(100% - 240px);
}
#Voice .subtitle{
  margin-bottom: 20px;
  color: #8F8F8F;
}
#Voice .voice-box .img-wrap{
  width: 74px;
}
#Voice .voice-box .right{
  width: calc(100% - 114px);
}
#Voice p{
  margin-bottom: 0;
}

/*IFRS検定例題ページ*/
#Problem .faq-item{
  width: 280px;
  margin-top: 10px;
  border-bottom: none;
}
#Problem .faq-question__wrap{
  border-bottom: 1px solid #CCCCCC;
}


/*用語集ページ*/
#Word .page-wrap{
  margin-bottom: 60px;
}
#Word .first-inner h3{
  margin-bottom: 15px;
  padding-top: 15px;
}
#Word .first-inner h3:first-child{
  margin-top: 0;
}
#Word .index-wrap{
  display: flex;
  justify-content: center;
}
#Word .index{
  margin: 0;
  padding: 40px;
  display: flex;
  background: #EDEDED;
  list-style: none;
  flex-wrap: wrap;
}
#Word .index li{
  margin-left: 20px;
}
#Word .index li:first-child{
  margin-left: 0;
}
#Word #To_top{
  padding: 10px;
  background: #AD2841;
  color: #fff;
  position: fixed;
  right: 10px;
  bottom: 40px;
  text-decoration: none;
  border-radius: 10px;
  font-size: 1.2rem;
}

/*  受験お申し込みページ
   ========================================================================== */
#Application form{
  max-width: 500px;
}
#Application div:first-child h3{
  margin-top: 0;
}
#Application div table{
  margin-bottom: 40px;
}
#Application div table tr{
  border: none;
}
#Application div .btn{
  margin-bottom: 40px;
  float: right;
}
#Application div:first-child p{
  clear: both;
  border: none;
}
#Application .ap-reset-password-link{
  max-width: 500px;
  clear: both;
  text-align: right;
}
.form-wrap div .btn,
#Application .ap-reset-password-link a{
  width: 100%;
  max-width: 400px;
  display: inline-block;
  text-align: center;
}
#Application .ap-reset-password-link a{
  color: #AD2841;
  font-size: clamp(1.8rem, 3.8vw, 2rem);
}
#Download .form-privacy,
.form-wrap .contact-submit,
#Contact .form-privacy{
  text-align: center;
}
.form-wrap .contact-submit{
  margin-top: 40px;
}
#page-content #Download{
  margin-top: 40px;
}
   
/*  お知らせ一覧ページ
   ========================================================================== */
#Index main{
  width: 100%;
  max-width: 960px;
  margin: 80px auto;
}
#Index main ul li{
  padding: 15px 0;
  border-bottom: 1px solid #CCCCCC;
  display: flex;
}
#Index main ul li p{
  margin: 0;
}
#Index main ul li .date{
  width: 76px;
  color: #8F8F8F;
  margin-right: 40px;
}
#Index main ul li a{
  width: calc(100% - 116px);
}
.pagination{
  margin-bottom: 100px;
  display: flex;
  justify-content: flex-end;
}
.pagination .current{
  background: #AD2841;
  color: #fff;
}
.pagination .current,
.pagination a{
  border: 2px solid #AD2841;
  border-radius: 10px;
}

/*  初期設定打ち消し
   ========================================================================== */
.table-grad:after{
  display: none;
}
.wpcf7-list-item{
  margin: 0;
}


/* ▼ チェックボックス群が入る dd を2列グリッド（=各50%）に */
.form-questionnaire .form-contact dd:has(input[type="checkbox"]) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2列＝各50% */
  column-gap: 1rem;   /* 列間の余白 */
  row-gap: .75rem;    /* 行間の余白 */
  align-items: start;
}

/* ▼ 各チェック行の体裁 */
.form-questionnaire .form-contact dd:has(input[type="checkbox"]) .checkbox-input {
  display: flex;
  align-items: center;
  gap: .5em;
  min-width: 0;  /* 長いラベルのはみ出し防止 */
}

/* ラベルは自然改行可でクリックしやすく */
.form-questionnaire .form-contact .checkbox-input > label{
  display: inline-flex;
  align-items: center;
  gap: .4em;
  line-height: 1.6;
  white-space: normal; /* 1行固定にしたい場合は nowrap */
}

/* ▼ 追加入力欄は30px */
.form-questionnaire .form-contact .checkbox-input > input[type="text"]{
  width: 30px;
  min-width: 30px;
  padding: 0 .25em;
}
.form-questionnaire .checkbox-after-text{ white-space: nowrap; }

/* ========== Q1「何を見て～」の5個目「その他」だけ調整 ========== */
/* ラベルを100%幅にして1行占有 */
.form-questionnaire .form-contact dd:nth-of-type(1)
  .checkbox-input:nth-of-type(5) > label {
  display: flex;
  width: 100%;
  align-items: center;
  gap: .5em;
  line-height: 1.6;
}

/* 「その他」の追加入力（テキスト）を 70% に */
.form-questionnaire .form-contact dd:nth-of-type(1)
  .checkbox-input:nth-of-type(5) > input[type="text"]{
  width: 70%;
}

.form-questionnaire .form-contact dd:nth-of-type(1)
  .checkbox-input:nth-of-type(5) > label > input[type="checkbox"]{
  margin-right: .25em;
}


form#contact .form-questionnaire dl.form-contact dd:last-child {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* 2列＝各50% */
  column-gap: 1rem !important;   /* 列間の余白 */
  row-gap: .75rem !important;    /* 行間の余白 */
  align-items: start !important;
}
	
/* 各チェック行の中身：ラベルをしっかり横幅確保、追加入力は右側 */
form#contact .form-questionnaire dl.form-contact dd:last-child .checkbox-input {
  display: flex;
  align-items: center;
  gap: .5em;
  /*width: 50%;*/
}
form#contact .form-questionnaire dl.form-contact dd:last-child .checkbox-input > label{
	width: 100% !important;
}
.form-questionnaire .form-contact dd:last-child input {
}

/* 追加入力欄は30px（ご指定通り） */
.form-questionnaire .form-contact .checkbox-input > input[type="text"]{
  width: 30px;
  min-width: 30px;
  padding: 0 .25em;
}

/* （任意）スマホでQ4を1列にしたい場合
@media (max-width: 599.98px){
  .form-questionnaire .form-contact dd:nth-of-type(4){
    grid-template-columns: 1fr;
  }
}
*/
