@charset "utf-8";
/* CSS Document */

@media screen and (max-width:900px){
    .fv{
        display: block;
    }
.fv_left,.fv_right{
    width: 100%;
    height: 50vh;
}
.fv_slider11,.fv_slider12,.fv_slider21,.fv_slider22{
    background-position: top;
}
.fv_mark {
    height: calc(40vh - 50px);
    top: calc(5vh + 50px);
    width: 100%;
    left: 0;
    margin-left: 0;
    margin-top: 0;
    text-align: center;
}
.fv_mark img{
    height: 100%;
    width: auto;
}
.logo img{
    width: 50%;
}
.title span{
    font-size: 40px;
}
.cta-sec{
    display: block;
}
.cta-btn{
    width: 100%;
}
.fv_ttl{
    font-size: 20px;
    bottom: 5vh;
}
.fv_slider{
    height: 180px;
}
.fv_slider img{
    height: 180px;
}
.fv_subttl{
    font-size: 18px;
}
.top_fv_sub .fixedcontainer{
    width: 90%;
}
.top_links{
    display: block;
}
.top_links>a{
    width: 100%;
    height: 33.33vh;
}
.visible-sp{
	display:block;
}
.hidden-sp{
	display:none !important;
}
body{
	font-size: 14px;
	line-height: 1.7;
}
.header_in{
	padding: 0 0 0 10px;
}
.menu-trigger {	
	display: block !important;
	position: relative;
	top: 0px;
	right: 3%;
	display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    cursor: pointer;
    float: right;
    width: 50px;
    height: 50px;
    z-index: 2;
}
.menu-trigger.active{
	position: fixed;
	top: 10px;
}
.menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
    cursor: pointer;
    float: right;
    position: absolute;
    background: #000;
    width: 30px;
    height: 2px;
    left: 0;
    right: 0;
    margin: auto;

}
.menu-trigger span:nth-of-type(1) {
    top: 15px;
}
.menu-trigger span:nth-of-type(2) {
    top: 0;
    bottom: 0;
}
.menu-trigger span:nth-of-type(3) {
    bottom: 15px;
}
.g-nav {
    display: none;
    position: fixed;
    top: 0;   
    left: 0;
    background: #fff;
    width: 100%;
    height: 100vh;
    z-index: 1;
    overflow-x: auto;
}
.g-nav .list {
	margin-top: 70px;
    padding: 0 8%;
}
.g-nav .list li{
    list-style: none;
}
.g-nav .list>li{
	margin-bottom: 20px;
}
.g-nav .list>li>ul{
    display: none;
}
.g-nav .list>li>a {
    display: block;
    text-decoration: none;
    font-weight: bold;
    position: relative;
}
.g-nav .list a{
    padding: 10px 0;
    position: relative;
}
.g-nav .list a:after{
    content: '';
    position: absolute;
    width: 17px;
    height: 5.2px;
    background: url(../img/sec-btn-arrow-black.svg) no-repeat;
    background-size: contain;
    right: 10px;
    top: 20px;
}
.g-nav .list>li.dropdown{
    position: relative;
}
.g-nav .list>li.dropdown:after{
    content: '';
    position: absolute;
    right: 12px;
    top: 0;
    width: 16px;
    height: 16px;
    background: url(../img/plus.svg) no-repeat;
    background-size: 100%;
    background-position: center;
}
.g-nav .list>li.dropdown.open:after{
    background-image: url(../img/minus.svg);
}
.g-nav .list>li.dropdown a{
    margin-top: 5px;
    display: block;
    padding-left: 20px;
}
	.g-nav .list>li.dropdown>p{
		font-weight: bold;
	}
.g-nav .list>li.contact_btn>a{
	padding: 10px 0 12px;
	color: #fff;
	background-color: #073390;
    text-align: center;
}
.g-nav .list>li.contact_btn>a img{
    margin-right: 5px;
    margin-top: 5px;
    vertical-align: top;
}
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
}
.sec{
    padding: 60px 0;
}
.about_in{
    display: block;
}
.about_content{
    width: 100%;
    padding: 50px 8% 60px;
}
.about_img{
    width: 100%;
}
.title{
    font-size: 22px;
    margin-bottom: 20px;
}
.title span{
    top: -40px;
    left: -10px;
}
.title2{
    font-size: 18px;
}
.btn_wrap{
    text-align: center;
    margin-top: 20px;
}
.consultant_in{
    display: block;
}
.consultant_img{
    width: 100%;
}
.consultant_img img{
    width: 84%;
}
.consultant_content{
    width: 100%;
    padding: 80px 8% 0;
}
#consultant .title span{
    left: -10px;
}
.consultant_in::before{
    height: 25%;
}
.sec_bottom{
    padding-bottom: 60px;
}
.sec_top{
    padding-top: 60px;
}
.article_list li{
    width: 100%;
    margin-top: 30px;
    margin-bottom: 20px;
}
.article_list li:nth-child(odd){
    margin-right: 0;
}
.article_img::before{
    width: 45px;
    height: 45px;
    top: -7px;
    left: -7px;
    background-size: 45px 45px;
}
.article_img::after{
    width: 45px;
    height: 45px;
    bottom: -7px;
    right: -7px;
    background-size: 45px 45px;
}
.article_list_ttl{
    margin: -20px 0 20px;
    padding: 20px 20px 0 0;
    font-size: 20px;
}
.news_list li{
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
}
.slider img{
    height: 240px;
}
.cta-btn {
    position: relative;
    display: block;
}
.cta-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: calc(100% - 26px);
    margin-top: 13px;
    background-color: #B2B2B2;
}
.cta-btn::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: calc(100% - 26px);
    margin-top: 13px;
    background-color: #B2B2B2;
}
.cta-btn-inner {
    position: relative;
    padding: 40px 0 40px 20px;
}
.cta-btn-inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    width: calc(100% - 20px);
    height: 1px;
    background-color: #B2B2B2;
}
.cta-btn-inner::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10px;
    width: calc(100% - 20px);
    height: 1px;
    background-color: #B2B2B2;
}
.cta-btn-inner p {
}
.cta-btn-inner p::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    width: 42px;
    height: 6px;
    margin-top: -3px;
    background-size: 42px 6px;
}
.cta-btn .eng {
    position: relative;
    display: inline-block;
    margin-bottom: 5px;
    font-family: 'Libre Baskerville', serif;
    letter-spacing: 0.01em;
    font-size: 14px;
    line-height: 1.0;
}
.cta-btn .jpn {
    display: block;
    padding-left: 3px;
    font-size: 18px;
}
.cta-ourfirm-btn {
    margin-bottom: 20px;
}
.cta-sec{
    padding: 0 8%;
}
.cta-btn:hover .cta-btn-inner p::after{
    right: 20px;
}
.contact_sec{
    padding: 40px 0;
}
.contact_sec_ttl{
    font-size: 24px;
    margin-bottom: 10px;
}
.contact_btns{
    display: block;
    margin-top: 20px;
}
.cta_tel{
    display: inline-block;
    margin-right: 0;
    padding-right: 0;
    margin-bottom: 10px;
    border-right: none;
}
.footer{
    padding: 50px 0;
    font-size: 12px;
}
.footer_in{
    display: block;
    padding: 0 8%;
}
.footer_logo{
    text-align: center;
    margin-bottom: 20px;
}
.footer_right{
    width: 100%;
    margin-top: 30px;
}
.footer_right ul li{
    width: 50%;
    padding: 0 2%;
}
.copyright{
    margin-top: 30px;
    font-size: 10px;
}
.slider{
    height: 240px;
}
.sub_fv{
    padding-top: 40px;
}
.sub_fv .inner{
    padding-left: 40px;
}
.sub_ttl{
    font-size: 14px;
    left: 0;
    top: 40px;
}
.sub_en{
    font-size: 40px;
}
.sub_img{
    height: 50vw;
}
.sub_img img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.breadcrumb{
    position: initial;
    margin-top: 20px;
    writing-mode: initial;
    font-size: 12px;
}
.title3{
    font-size: 20px;
    margin-bottom: 30px;
    padding-left: 36px;
}
.title3:before{
    width: 30px;
}
.title3 span{
    font-size: 12px;
}
.mt50{
    margin-top: 20px;
}
.flex_divs{
    display: block;
}
.flex_divs>div{
    width: 100%;
}
.flex_divs>div:first-child{
    margin-bottom: 30px;
}
.site_link{
    padding: 40px 20px;
    font-size: 18px;
}
.student_voice{
    display: block;
    margin-bottom: 30px;
}
.student_voice_img{
    width: 100%;
    height: 50vw;
}
.student_voice_content{
    width: 100%;
    padding: 20px;
    height: auto;
}
.student_info{
    position: initial;
    margin-top: 20px;
}
.student_voice_content:after{
    bottom: 20px;
    right: 20px;
    width: 24px;
    height: 24px;
}
.student_video{
    margin-bottom: 30px;
}
.student_video iframe{
    width: 100%;
    height: 50vw;
}
.student_voice_ttl{
    font-size: 16px;
}
.student_name{
    font-size: 20px;
}
.single_ttl{
    font-size: 24px;
    margin-bottom: 30px;
}
.thumbnail{
    margin-bottom: 30px;
}
	.page_thumbnail h1{
		position: initial;
		transform: initial;
		padding: 20px;
		font-size: 22px;
	}
.profile{
    padding: 20px;
    margin-bottom: 30px;
}
.profile_header{
    margin-bottom: 20px;
    display: block;
}
.profile_img{
    margin-right: 0;
    text-align: center;
    margin-bottom: 10px;
	max-width: 100%;
}
	.profile_img img{
		max-width: 160px;
	}
.profile_info{
    text-align: center;
}
.profile_name{
    font-size: 24px;
    margin-bottom: 10px;
}
.single_content h2{
    font-size: 20px;
    margin-bottom: 20px;
}
.single_content p{
    margin-bottom: 20px;
}
.ques{
    padding: 20px 30px 20px 40px;
}
.ans{
    padding: 20px 30px 20px 40px;
}
.ques:after{
    right: 10px;
    width: 16px;
    height: 16px;
    top: 24px;
}
.ques:before{
    font-size: 24px;
    left: 10px;
    top: 24px;
}
.ans:before{
    font-size: 24px;
    left: 10px;
    top: 24px;
}
.faq_one{
    margin-bottom: 20px;
}
.ceo_career{
    padding: 20px;
    margin-top: 30px;
    display: block;
}
.ceo_career_div{
    width: 100%;
    margin-top: 10px;
}
.company th{
    width: 100%;
    display: block;
    padding: 20px 0 0;
}
.company td{
    width: 100%;
    display: block;
    padding: 10px 0 20px;
}
.map iframe{
    height: 50vw;
}
.map{
    margin-bottom: 20px;
}
.intro_list li{
    width: 100%;
    margin-bottom: 30px;
}
.intro_img{
    height: 50vw;
}
.intro_list li h2{
    font-size: 18px;
}
.intro_btns a{
    padding: 8px 0;
}
.contact_form{
    margin-top: 30px;
}
.contact_form th{
    width: 100%;
    display: block;
    padding: 0 0 10px;
}
.contact_form td{
    width: 100%;
    display: block;
    padding: 0 0 20px;
}
.contact_form td input[type="text"], 
.contact_form td input[type="email"], 
.contact_form td input[type="tel"], 
.contact_form td select{
    height: 48px;
    padding: 5px;
}
.agree{
    margin-top: 10px;
}
.submit_btn{
    margin: 20px 0;
}
.submit_btn input{
    padding: 15px 0;
    font-size: 16px;
    letter-spacing: 2px;
}
.contact_tel{
    margin-top: 40px;
    padding: 30px 20px;
}
.contact_tel h2{
    font-size: 20px;
}
.contact_tel_num{
    font-size: 20px;
}
.contact_tel_num span{
    font-size: 28px;
    margin-left: 10px;
}
.page_links>a{
    width: 48%;
    margin-right: 4%;
}
.page_links>a:nth-child(2n){
    margin-right: 0;
}
.title3.auth_ttl{
    font-size: 20px;
}
.auth-tbl thead th{
    width: auto;
}
.auth-tbl thead th, .auth-tbl thead td{
    font-size: 18px;
}
.auth-tbl tbody th, .auth-tbl tbody td{
    padding: 10px;
}
	.video_iframe iframe{
		width: 100%;
		height: 60vw;
	}
	.cta_top_link{
		margin-bottom: 40px;
	}
	.cta_top_link.profile_link{
		margin-bottom: 0;
		margin-top: 15px;
	}
.contact_form th .require{
	right: 0;
	top: 0;
}
}
@media screen and (max-width:500px){
.page_links>a{
    width: 100%;
    margin-right: 0;
}
}