@charset "UTF-8";


html{
    font-family: 'Montserrat', sans-serif;
}

header{
    background-color: #FFF;
    position: fixed;
    top: 0;
    z-index: 2;
    width: 100%;
}
.container{
    max-width: 1200px;
    padding-left: 20px;
    padding-right: 20px;
}
.logo a:hover{
    opacity: .7;
    transition:  0.3s linear;
}
a{
    transition:  0.3s linear;
}
a:focus{
	outline: none;
}

.sp{
    display: none;
}

main{
    margin-top: calc(100vw / 1600 * 104);
}
.red_hover{
	position: relative;
	transition: 0.3s linear;
}
.red_hover:hover{
	background-color: #D20000;
	transition: 0.3s linear;
	color: #fff;
}
.red_hover:hover::after{
	border-right: #fff 2px solid;
    border-top: #fff 2px solid;
}
/*----------------------
------------------------
navigation--------------
----------------------*/
nav{
    width: 91%;
    /*max-width: 1460px;*/
    height: calc(100vw / 1600 * 104);
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.nav_logo_bar{
    display: flex;
    justify-content: space-between;
    width: 90%;
}
h1{
    width: calc(100vw / 1600 * 310);
    margin-right: 20px;
}
h1 img{
    width: 100%;
}
.logo{
    display: flex;
    /*width: calc(100vw / 1600 * 510);*/
    align-items: center;
    justify-content: space-between;
}

.logo p{
    font-size: calc(100vw / 1600 * 20);
    font-weight: 700;
    color: #707070;
}
.bar{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
	margin-right: calc(100vw / 1600 * 12);
}
.lang ul{
    display: flex;
    justify-content: end;
    margin-bottom: calc(100vw / 1600 * 20);
    font-size: calc(100vw / 1600 * 14);
    font-family: 'Montserrat', sans-serif;
}
.lang ul li{
   margin-right: 25px;
}
.lang ul li:first-child{
    position: relative;
}
.lang ul li:first-child::after{
    content: "";
    border-right: #707070 2px solid;
    height: calc(100vw / 1600 * 18);
    position: absolute;
    transform: rotate(15deg);
    left: calc(100vw / 1600 * 34);
	
}
.lang ul li a{
	opacity: .7;
}

.lang ul .active{
	position: relative;
}
.lang ul .active::before{
	content: "";
	background-color: #003333;
	width: calc(100vw / 1600 * 18);
	height: 2px;
	position: absolute;
	bottom: calc(100vw / 1600 * -6);
    right: 0;
}
.nav_list ul{
    display: flex;
    font-size: calc(100vw / 1600 * 15);
}

.nav_list ul li{
    margin-right: 25px;
}
.nav_list ul li a,
.lang ul li a{
	position: relative;
    display: inline-block;
}
.nav_list ul li a::after,
.lang ul li a::after {
    position: absolute;
    bottom: calc(100vw / 1600 * -6);
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
}
.nav_list ul li a:hover::after,
.lang ul li a:hover::after {
    transform: scale(1, 1);
}
.nav_list ul li a:hover{
	opacity: 1;
}
.nav_apply_btn a{
    width: calc(100vw / 1600 * 150);
    height: calc(100vw / 1600 * 54);
    color: #FFDC14;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: calc(100vw / 1600 * 20);
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #D20000;
}
.nav_apply_btn a:hover{
	color: #D20000;
	background-color: #FFDC14;
}

/*----------------------------
------------------------------
apply
------------------------------
----------------------------*/
.apply{
    background-color:#D20000;
    padding: calc(100vw / 1600 * 111) 0 calc(100vw / 1600 * 120) 0;
    text-align: center;
}
.apply p{
    font-size: calc(100vw / 1600 * 18);
    font-weight: 700;
    color: #fff;
	margin-top: calc(100vw /1600 * 48);
}
.apply_btn{
    display: flex;
    justify-content: space-between;
    width: calc(100vw / 1600 * 770);
    margin: auto;
}
.apply .apply_btn a{
    width: calc(100vw / 1600 * 303);
    height: calc(100vw /1600 * 80);
	font-size: calc(100vw / 1600 * 20);
	border: #d20000 solid 1px;
	
}
.apply .apply_btn a:hover{
	border: 1px #fff solid;
	box-sizing: border-box;
}
.apply .link_new_window.red_hover:hover::after{
	border: none;
}
.apply .apply_btn .link_arrow{
	font-family: 'Montserrat', sans-serif;
}

/*----------------------
------------------------
footer
-----------------------
----------------------*/

footer{
    background-color: #222222;
    padding: calc(100vw / 1600 * 70) 0 calc(100vw / 1600 * 30) 0;
}
footer .white_logo a:hover{
	opacity: .7;
}
.footer_flex{
    display: flex;
    align-items: flex-start;
}
/*.footer_flex div{
    width: 50%;
}*/
.white_logo{
	width:40%;
}
.white_logo figure{
    width: calc(100vw / 1600 * 235);
}
.white_logo figure img{
    width: 100%;
}
/*.nav_list{
	width:60%;
}*/
footer .nav_list{
	width: 76%;
}
footer .nav_list ul{
    justify-content: space-between;
	font-size: calc(100vw / 1600 * 14);
}
footer .nav_list ul li:last-child{
    margin-right: 0;
}
footer .nav_list ul li a{
    color: #fff;
}
footer .nav_list ul li a::after {
    background: #fff;
}
footer p{
    color: #fff;
    text-align: right;
    margin-top: 50px;
	font-size: calc(100vw /1600 *12);
	font-family: 'Montserrat', sans-serif;
}
/*----------------------
------------------------
to-top-button
-----------------------
----------------------*/

.to-top {
    display: none;
    width: 50px;
    height: 50px;
    position: fixed;
    z-index: 1;
    bottom: 50px;
    right: 50px;
    background-color: #fff;
    border: 2px black solid;
    border-radius: 50%;
    border: 1px solid #D20000;
    cursor: pointer;
	transition: .3s linear;
}
.to-top::after {
    content: "";
    width: 12px;
    height: 12px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -25%) rotate(45deg);
    border-top: 2px solid #D20000;
    border-left: 2px solid #D20000;
}
.to-top:hover{
	background-color: #d20000;
	border: 1px solid #fff;
	transition: .3s linear;
}
.to-top:hover::after{
	border-top: 2px solid #fff;
    border-left: 2px solid #fff;
}

/*----------------------------------------
------------------------------------------
burger menu css
------------------------------------------
----------------------------------------*/

/* ハンバーガーメニュー */

.header__hamburger {
    width: 30px;
    height: 100%;
  
  }
  
  .hamburger {
    background-color: transparent;
    border-color: transparent;
    z-index: 3;
  }
  
/* ハンバーガーメニューの線 */
.hamburger span {
    width: 100%;
    height: 2px;
    background-color: #D20000;
    position: relative;
    transition: ease .4s;
    display: block;
  }
  
  .hamburger span:nth-child(1) {
    top: 0;
  }
  
  .hamburger span:nth-child(2) {
    margin: 8px 0;
  }
  
  .hamburger span:nth-child(3) {
    top: 0;
  }
  
  
  /* ハンバーガーメニュークリック後のスタイル */
  .burger_list {
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    transform: translateX(100%);
    background-color: #fff;
    transition: ease .4s;
    padding-top: 130px;
    text-align: center;
    font-size: 1.4rem;
}
  
  .burger_list.active {
    transform: translateX(0);
    background-color: #D20000;
  }
  
  .hamburger.active span:nth-child(1) {
    top: 7px;
    transform: rotate(45deg);
    background-color: #fff;
  }
  .hamburger.active span:nth-child(2) {
    opacity: 0;
  }
  .hamburger.active span:nth-child(3) {
    top: -13px;
    transform: rotate(-45deg);
    background-color: #fff;
  }
  .burger_list .lang{
    color: #FFF;
  }
  .burger_list .lang ul{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 80px;
	margin: auto;
 }
 .burger_list .lang ul li{
	margin-right: 0;
 }
  .burger_list .lang ul .active::before{
    background-color: #fff;
  }
  .burger_list .lang ul li:first-child::after{
    border-right: #fff 2px solid;
	left: 38px;
  }
  .nav_burger_list{
    color: #fff;
    font-weight: 700;
    font-size: 1.4rem;
  }
  .nav_burger_list li{
    margin-bottom: 30px;
  }


/* ヘッダーのナビ部分 */



.burger_list .nav_apply_btn a,
.burger_list .nav_apply_btn .link_new_window{
    width: 180px;
    margin: auto;
    height: 40px;
    background-color: #fff;
    color: #D20000;
    font-size: 1.4rem;
    border: none;
    margin-bottom: 20px;
}




@media screen and (min-width: 1600px) {
    nav{
        height: 104px;
    }
    h1{
        width: 310px;
    }
    .logo p{
        font-size: 2rem;
    }
	.bar{
		margin-right: 12px;
	}
    .lang ul{
        font-size: 1.4rem;
        margin-bottom: 20px;
    }
    .nav_list ul{
        font-size: 1.5rem;
    }
	.lang ul .active::before{
		width: 18px;
		height: 2px;
		bottom: -6px;
	}
	.nav_list ul li a::after,
	.lang ul li a::after {
    	bottom: calc(100vw / 1600 * -6);
	}
    .nav_apply_btn a{
        width: 150px;
        font-size: 2rem;
        height: 54px;
    }
    .lang ul li:first-child::after{
        height: 18px;
        position: absolute;
        transform: rotate(15deg);
        left: 34px;
    }
	main{
		margin-top: 104px;
	}
    footer{
        padding: 70px 0 30px 0;
    }
	footer p{
		font-size: 1.4rem;
	}
    .white_logo figure{
        width: 235px;
    }
	footer .nav_list ul{
		font-size: 1.4rem;
	}
	/*----------------------------
    ------------------------------
    apply
    ------------------------------
    ----------------------------*/
    .apply{
        padding: 111px 0 120px 0;
    }
    .apply p{
        font-size: 1.8rem;
		margin-top: 48px;
    }
    .apply_btn{
        width: 770px;
    }
    .apply .apply_btn a{
        width: 303px;
        height: 80px;
		font-size: 2rem;
    }
}
/*-------------------------------------------
---------------------------------------------
responsive SP
----------------------------------------------
--------------------------------------------*/
@media screen and (max-width: 1024px){
	nav .bar .pc{
		 display: none;
	}
	.nav_apply_btn.pc{
		display: none;
	}
	.hamburger.sp{
		display: block;
		margin-right: 10px;
	}
	.burger_list.sp{
		display: block;
    	margin-right: 10px;
	}
}

/*-------------------------------------------
---------------------------------------------
responsive SP
----------------------------------------------
--------------------------------------------*/
@media screen and (max-width: 768px){
	
    main{
        margin-top: 50px;
    }
    nav{
        height: 50px;
		width: 100%
    }
    .pc{
        display: none;
    }
    .sp{
        display: block;
		margin-right: 10px;
    }
    .mv_slide .pc{
        display: none;
    }
    h1{
        width: 155px;
		margin-left: 10px;
    }
    .logo p{
		font-size: 1rem;
    }
	.bar{
		justify-content: center;
	}
	.lang ul{
		font-size: 1.5rem;
		
	}
    .lang ul li{
        margin-right: 14px;
    }
    .lang ul li:first-child::after{
        height: 15px;
        left: 25px;
    }
	.lang ul .active::before{
		width: 18px;
		height: 2px;
		bottom: -6px;
	}
	/*-------------------------------------------
	apply
	-------------------------------------------*/
	.apply p{
		font-size: 1.5rem;
		padding: 0 10px;
		text-align: left;
	}
	.apply_btn{
		width: 90%;
		margin-top: 20px;
	}
	.apply .apply_btn a{
		width: 185px;
    	height: 45px;
		font-size: 1.4rem;
	}
	.footer_flex{
		align-items: flex-start;
		margin-bottom: 40px;
	}
	footer{
		padding: 40px 0 20px 0;
	}
	footer .white_logo{
		width: 65%;
	}
	.white_logo figure{
		width: 170px;
		margin-bottom: 20px;
	}
	footer .nav_list{
		width: 35%;
	}
	footer .nav_list ul{
		font-size: 1.4rem;
		flex-direction: column;
	}
	footer .nav_list ul li{
		margin-bottom: 15px;
		margin-right: 0;
	}
	footer p{
		margin-top: 20px;
		font-size: 1.4rem;
	}
	
	.to-top{
		bottom: 20px;
		right: 20px;
	}
}
/*-------------------------------------------
---------------------------------------------
500px
----------------------------------------------
--------------------------------------------*/
@media screen and (max-width: 500px){
	.apply_btn{
		flex-direction: column-reverse;
	}
}
/*----------------------------------
------------------------------------
headerの改行を調整
------------------------------------
----------------------------------*/
@media screen and (max-width: 768px){
	
}

