@charset "utf-8";


html {
 overflow-y: scroll;
}
body {
	box-sizing : border-box;
	-webkit-font-smoothing: antialiased;
	height: 100%;
	background: #FFF;
	font-family:'Univers65Bold','Univers55Roman','Midashi Go MB1',"見出ゴMB31"; 	
	font-feature-settings:"palt"; 
    letter-spacing: 0.05em;
	animation: fadein 2s forwards;
}
@keyframes fadein {
	0% {opacity: 0}
	100% {opacity: 1}
}
#header {
	position: absolute;
	width: calc(100% - 120px);
    padding: 20px 60px;
    z-index: 999;
}
#header_sp{
	display: none;
}
.sp-only{
	display: none;
}
.pc-only{
	display: block;
}

/*header*/
.header_logo img{
	width: 330px;
	height: auto;
	margin-top: 1vh;
	float: left;
}
.header_menu {
	float: right;
}
.menu_in{
	display: inline-block;
	float: left;
	margin-top: 2vh;
	font-size: 14px;
	padding-right: 30px;
	letter-spacing: 0.08em;
}
.menu_in:last-child{
	padding-right: 0;
}
.menu_in a{
	text-decoration: none;
}
.hover_color {
	color: #D80C18;
	border-bottom: solid 2px #D80C18;
	padding-bottom: 3px;
}
.menu_in a:hover{
	color: #D80C18;
}
ul.header_menu li a, ul.header_menu li a:hover {
    color: #000;
    position: relative;
    padding-bottom: 3px;
}
ul.header_menu li a:hover{
	color: #D80C18;
}
ul.header_menu li a.under:after{
    position: absolute;
    left: 0;
    bottom: -3px;
    content: '';
    width: 100%;
    height: 2px;
    background: #D80C18;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s;
}
ul.header_menu li a.under:hover::after{
  transform: scale(1, 1);
}

/*HOME*/
#contentWrap_top{
	width: calc(100% - 120px);
	margin: 0 60px;
	padding-top: 45vh;
}
.topWrap{
	clear: both;
	float: left;
	width: 50%;
}
.top_text{
	font-size: 24px;
	color:#D80C18;
	margin-bottom: 5px;
}
.top_text2{
	font-size: 16px;
	line-height: 1.7em;
}
.top_logo img{
	max-width: 300px;
	float: right;
	margin-top: 20px;
}
.sp_top_logo img{
		display: none;
}
/*MESSAGE*/
#contentWrap{
	width: calc(100% - 120px);
	padding-top: 20vh;
	margin: 0 60px;
}
.cont_title{
	float: left;
	width: 50%;
	font-size: 23px;
	letter-spacing: 0.08em;
}
.sub_title{
	font-size: 17px;
	letter-spacing: 0.08em;
	margin-left: 30px;
	border-left: 1px solid #000; 
	padding-top: 8px;
	padding-left:  30px;
	
}
.textWrap{
	float: right;
	width: 60%;
	margin-top: 10vh;
}
.cont_text{
	margin-bottom: 30px;
	font-size:15px;
	line-height: 2.0em;
}
/* ABOUT */
.textWrap2{
	clear: both;
	margin-top: 80px;
}
.about_title{
	float: left;
	width: 30%;
}
.about_title p{
	font-size: 17px;
	letter-spacing: 0.08em;
	line-height: 1.5em;
}
.about_subtitle{
	font-size:15px;
}
.about_text{
	float: right;
	width: 60%;	
}
.about_text p{
	font-size:15px;
	line-height: 1.9em;
}
.about_img{
	width: 60%;
	float: right;
	margin-bottom: 100px;
}
.about_img img{
	width: 650px;
	margin-top: 60px;
}
.about_img2{
	width: 60%;
	float: right;
	margin-bottom: 100px;
}
.about_img2 img{
	width: 550px;
	margin-top: 60px;
}
.profileWrap{
	float: right;
	width: 60%;
	display:block;
	clear:both;
}
.profileWrap .left{
	float: left;
	width: 25%;
}
.profileWrap .left img{
	width: 90%;
	max-width:200px;
}
.profileWrap .right{
	float: right;
	width: 70%;
	margin-bottom: 150px;
}
.p_name p{
	font-size: 18px;
}
.p_name2 {
	font-size: 13px;
	line-height: 3em;
}
.p_name3 {
	font-size: 25px;
}
.right_text p{
	margin-top: 20px;
	font-size:13px;
	line-height: 1.9em;
}
.right_text2 p{
	margin-top: 20px;
	font-size:13px;
	line-height: 1.9em;
	margin-bottom: 150px;
}
/* PARTNERS */
.cont_text2{
	margin-bottom: 80px;
	font-size:14px;
	line-height: 1.9em;
}
/* PARTNERSここまで */
.nameWrap{
	clear: both;
}
.name{
	float: right;
	text-align: right;
	font-size: 18px;
	letter-spacing: 0.03em;
	margin-top: 80px;
	margin-bottom: 200px;
}
.name2 {
	font-size: 13px;
	line-height: 3em;
}
.name3 {
	font-size: 25px;
}
/* PARTNERS */
.part_name{
	font-size: 18px;
	margin-bottom: 20px;
}
.part_name2{
	font-size: 18px;
	margin-top: 100px;
	margin-bottom: 20px;
}
/* COMPANY */
.compWrap td{
	vertical-align: top;
	font-size:15px;
	line-height: 1.9em;
	letter-spacing: 0.03em;
	padding-right: 15px;
	padding-bottom: 15px;
}
.compWrap{
	float: right;
	width: 60%;
	margin-top: 10vh;
}
.mapWrap{
	width: 60%;
	float:right;
	margin-top: 40px;
}
.map iframe{
	width: 100%;
	height: 500px;
}
.comp_list {
	padding-left: 25px;
}
.comp_list li{
	padding-left: 10px
}
.map2{
	text-align: left;
	margin-top: 10px;
	margin-bottom: 90px;
}
.map2 a{
	text-decoration: none;
	color: #000;
	transition: color 0.3s;
}
.map2 a:hover{
	color: #ccc;
	cursor: pointer;
}
/* CONTACT */
.textWrap3{
	float: right;
	width: 65%;
	margin-top: 10vh;
}
.form_text2{
	clear: both;
}
.form_left{
	float:left;
	width: 15%;
}
.form_item{
	padding-top: 6px;
	font-size: 15px;
}
.form_right{
	float:right;
	width: 80%;
	margin-bottom: 40px;
}
.input_area{
	width: 100%;
}
.form_contents{
	font-size: 13px;
	line-height: 1.5em;
	margin-left: 10px;
}
.form_contents2{
	font-size: 13px;
	line-height: 1.5em;
	margin-left: 10px;
}
.form_item2{
	padding-top: 6px;
	font-size: 15px;
}
.notice{
	float: left;
	font-size: 10px;
	margin-top: 50px;
}
.btn_point{
	clear: both;
}
.form_btn{
	float: right;
	margin: 40px 230px 100px auto;
}
.form_btn_back{
	margin: 40px 230px 100px auto;
}
.form_btn4 img, .btn_img{
	width: 230px;
}	
/*error*/
.form_msg{
	clear: both;
	margin: 50px auto 80px;
	font-size: 13px;
}
#form{
	margin-bottom: 90px;
	clear: both;
}
#form tr{
	font-size: 13px;	
}
#form th{
	width: 180px;
    text-align: left;
}

#foot_wrap_top{
	width: calc(100% - 120px);
	margin: auto 60px;
	position: absolute;
    bottom: 5vh;
}
#copyright_intro_top{
	font-size: 10px;
	letter-spacing: 0.05em;
	float:right;
	text-align:left;
}
#foot_wrap{
	clear: both;
	width: calc(100% - 120px);
	margin: auto 60px;
	padding-bottom: 5vh;
}
#copyright_intro{
	font-size: 10px;
	letter-spacing: 0.05em;
	float:right;
	text-align:left;
}
@media only screen and (max-width: 1200px) {
#header {
    display: none;    
}
#header_sp {
    display: block;
}	
.navToggle span {
  width: 100%;
  height: 1px;
  left: 0;
  display: block;
  background: #000;
  position: absolute;
  transition: top .5s ease, -webkit-transform .6s ease-in-out;
  transition: transform .6s ease-in-out, top .5s ease;
  transition: transform .6s ease-in-out, top .5s ease, -webkit-transform .6s ease-in-out;
}
.navToggle span:nth-child(1) {
  top: 0;
}
.navToggle span:nth-child(2) {
  top: 13px;
}
.navToggle.active span:nth-child(1) {
    top: 15px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
    background: #000;
}
.navToggle.active span:nth-child(2) {
  top: 15px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  background: #000;
}	
.navToggle {
    right: 25px;
	z-index: 9999;
}
.navToggle {
    position: fixed;
    height: 20px;
    cursor: pointer;
    margin-right:0px;
    top: 27px;
    right: 30px;
    width: 30px;
}	
.global_sp {
    background: #fff;
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9998;
    display: flex;
    visibility: hidden;
    flex-direction: column;
    justify-content: center;
    font-size: 20px;
    letter-spacing: 0.08em;
	line-height: 0.8em;
    opacity: 0;
    -webkit-transition: opacity .3s ease;  /* アニメーション時間は 0.8秒 */
    -ms- transition: opacity .3s ease;
    -moz- transition: opacity .3s ease;
    transition: opacity .3s ease, visibility .3s ease;
}
.global_sp #foot_white {
	position: absolute;
	width: 90%;
	height: 30px;
	bottom:30px;
	left: 60px;
	clear:both;
}	
.navToggle span:nth-child(1) {
    top: 0px;
}
.navToggle span:nth-child(2) {
    top: 8px;
}
.navToggle span:nth-child(3) {
    top: 16px;
}	
.navToggle.active span:nth-child(1){
    top: 10px;
}
.navToggle.active span:nth-child(2){
    top: 10px;
}
.navToggle.active span:nth-child(3){
    display: none;
}
.open .global_sp{
    visibility: visible;
    opacity: 1;
}	
ul.nav {
    transition-delay: .3s;
    transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
    color: #000;
	margin-top: -10vh;
	margin-left: 12px;
}
ul.nav a{
	width: calc(100% - 10%);
	padding: 3px 3%;
	left: 40px;
    color: #000;
    transition-delay: .3s;
    transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
}
ul.nav a:hover {
    color: #ccc;
}
li.deley {
    opacity: 0;
    -webkit-transition: translateY(-10px);
    padding:2vh 0;
    text-align: left;
    color: #fff;
    width: 200px;
}
.open li.deley{
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(12px);
    transition: opacity .3s ease, -webkit-transform .5s ease;
    transition: transform .5s ease, opacity .3s ease;
    transition: transform .5s ease, opacity .3s ease, -webkit-transform 1s ease;
}
.nav a{
	text-decoration: none;	
	}
	
li.deley:nth-child(1) {
    padding:5vh 0 1.8vh 0;
    transition-delay: .3s;
}

li.deley:nth-child(2) {
    transition-delay: .33s;
}

li.deley:nth-child(3) {
    transition-delay: .38s;
}

li.deley:nth-child(4) {
    transition-delay: .43s;
}

li.deley:nth-child(5) {
    transition-delay: .48s;
}

li.deley:nth-child(6) {
    transition-delay: .53s;
}			
body.fadeout #gloval-nav ul {
  opacity: 0;  /* 初期値では非表示 */
  transition-delay: .3s;
  -webkit-transform: translateX(10px);
          transform: translateX(10px);
  transition: opacity 0.8s ease, -webkit-transform 0.8s ease;
}
.header_logo{
   position: fixed;
   background-color: #FFF;
   width: 100%;
   margin-left: 60px;
   padding-bottom: 10px;
   margin-top: 2.7vh;
   z-index: 9999;
}	
}
@media only screen and (max-width: 960px) {
	
}
@media only screen and (max-width: 860px) {

}
@media screen and (max-width:768px) {
/*header*/	
.nav_header{
	width: calc(100% - 10%);
    z-index: 999;	
}
.sp-only {
    display: block;
}	
.pc-only {
    display: none;
}	
.header_logo{
	    position: fixed;
	    background-color: #FFF;
	    width: 100%;
	    padding-bottom: 10px;
		margin-top: -2vh;
	    z-index: 9999;
}
.header_logo img{
	width: 265px;
	margin-left: -40px;
	margin-top: 6vh;
	}	

/*#header_sp .header_logo{
	position: relative;
    margin-top: -2vh;
	z-index: 999;
}
#header_sp .header_logo img{
	width: 265px;
	margin-left: 20px;
	margin-top: 6vh;
	z-index: 999;
	}*/		

/*HOME*/	
#contentWrap_top{
	position: relative;
	width: calc(100% - 40px);
	margin-left: 20px;
	top: -25vh;
}
.topWrap{
	width: 100%;
	padding-top: 15vh;
}
.top_text{
	font-size: 20px;
	margin-bottom: 0px;
}
.top_text2{
	font-size: 12px;
}
.top_logo img{
		display: none;
}	
.sp_top_logo img{
	display: block;
	clear: both;
	width: 200px;
	float: left;
	margin-top: 35px;
}
/*MESSAGE*/	
#contentWrap{
	width: calc(100% - 40px);
	padding-top: 15vh;
	margin: 0 20px;
	}	
.cont_title{
	width: 100%;
	font-size: 18px;
	margin-bottom: 50px;
}
.sub_title{
	font-size: 13px;
	margin-left: 18px;
	padding-left: 15px;
	padding-top: 6px;
}
.textWrap{
	float:none;
	width: 100%;
	margin: 0;
}	
.cont_text{
	font-size: 13px;
	font-feature-settings:"palt";
	line-height: 2em;
}
.name{
	font-size: 14px;
	margin-top: 35px;
	margin-bottom: 80px;
	}	
.name2{
	font-size: 10px;
}
.name3{
	font-size: 20px;
}
/* PARTNERS */
.cont_text2{
	margin-bottom: 50px;
	font-size: 13px;
}
/* ABOUT */
.about_title{
	float:none;
	width: 100%;
	margin-bottom: 20px;
}
.about_title p{
	font-size: 16px;	
}
.about_subtitle{
	font-size: 11px;	
}	
.about_text{
	float:none;
	width: 100%;
}
.about_text p{
	font-size: 13px;		
}
.about_img {
   float:none;
   width: 100%;
   margin-top: -30px;
   margin-bottom: -10px;	
}
.about_img img{
   width: 100%;		
}	
.about_img2 {
   float:none;
   width: 100%;
   margin-top: -30px;
   margin-bottom: -10px;	
}
.about_img2 img{
   width: 100%;		
}
.profileWrap{
	float: none;
	width: 100%;	
}
.profileWrap .left{
	float: none;
	width: 100%;
	text-align: center;
	margin-bottom: 40px;
	}
.profileWrap .right{
	float: none;
	width: 100%;	
}
.p_name p{
	font-size: 15px;
	}
.p_name2{
	font-size: 11px;
	line-height:2.5em;
	}
.p_name3{
	font-size: 18px;
	}	
.profileWrap .right p{
	font-size: 13px;
}
	
.right_text2 p{
	margin-bottom: 50px;
}

/* COMPANY */
.compWrap, .mapWrap{
	float: none;
	width: 100%;
}
.compWrap span{
	font-size: 11px;
}	
.compWrap td{
	display: block;
	font-size:13px;
	padding-bottom: 1px;
}	
.sp_com_list{
	margin-bottom: 15px;
	}
.sp_com_list a{
	text-decoration: none;
	color: #000;	
	}	
.map2{
	font-size:10px;	
	}
	
/* CONTACNT */	
.textWrap3{
	float: none;
	width: calc(100% - 20px);
	padding-top: 5vh;
}	
.input_area{
	width: 103%
	}
.form_left{
	float: none;
	width: 100%;
	margin-bottom: 8px;
	}
.form_right	{
	float: none;
	width: 100%;
	margin-bottom: 20px;
	}
.form_item{
	font-size: 13px;
	padding-top: 0;
	}
.form_contents{
	margin-left: 0;
}
.notice{
	position: absolute;
	top: 24vh;
	right: 20px;
		
	}
.form_btn{
	float: none;
	margin: 40px 230px 100px auto;
}
.btn_img{
	width: 200px;
}	

/*footer*/		
#foot_wrap_top{
	bottom: 2vh;
	width: calc(100% - 40px);
	margin-left: 20px;
}	
#copyright_intro_top{
	position: relative;
	font-size: 8px;
	float:left;
	z-index: 9999;
	}	
#foot_wrap{
	width: calc(100% - 40px);
	position: relative;
	margin-left: 20px;
	padding-bottom: 3.5vh;
}		
#copyright_intro{
	/*position: relative;*/
	font-size: 8px;
	float:left;
}
#foot_wrap_sp {
    visibility: visible;
    opacity: 1;
    position: absolute;
	bottom: 1.57vh;
	margin-left: 20px;
}
#copyright_intro_sp{
	letter-spacing: 0.05em;
    color: #000;
    font-size: 8px;
	}	
}

/* iPhone 14 */
@media screen and (max-width:430px) {
#contentWrap_top{
	top: -23vh;
}	
}
/* iPhone 12 */
@media screen and (max-width:390px) {
#contentWrap_top{
	top: -25vh;
}	
}
/* iPhone SE */
@media screen and (max-width:375px) {
#contentWrap_top{
	top: -30vh;
}	
}
	
	


