

* {
  margin: 0;
  padding: 0;
}
html{
	margin:0px;
	padding:0px;
}
body{
	background:#ffffff;
	text-align:center;
	color:#000;
     font-size: 16px;
	line-height:2;
	letter-spacing:1px;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
img{
	border-style:none;
	display:block;
	padding:0px 0px 0px 0px;
	margin:0px 0px 0px 0px;
}

a {
	cursor:pointer;
	color:#000;
	text-decoration:none;
}
a:hover, a:focus {
	text-decoration: none;
	color:red;
}

li{list-style:none;}

.bg_gradation{
width: 100%;
background-color:#f2f2f2;
}


.box_in{
	width:100%;
	padding: 70px 0 70px 0;
	margin: 0px auto;
	text-align: left;
}
.box_in_z{
	width:100%;
	padding: 70px 0 70px 0;
	margin: 0px auto;
	text-align: left;
}
.box_in_x{
	width:100%;
	padding: 70px 0 70px 0;
	margin: 0px auto;
	text-align:center;
}

/* ---Header----*/

#header {
width:100%;
margin: 0px auto;
background-image:url("../images/mv_bg.jpg");
background-repeat:no-repeat;
background-size:cover;
background-position:center center;
}
.header_in{
max-width:2000px;
margin: 0px auto;
padding:0px 0px 0px 0px;
}


.header_top{
display:flex;
align-items:center;
justify-content:space-between;
max-width:100%;
margin: 0px auto 0px auto;
padding: 20px;
}

/* サイトロゴ */
.h_logo{
text-align:left;
height:100%;
margin:0px;
z-index: 99;
}
.h_logo a{
vertical-align: middle;
display:inline-block;
margin: 0px;
}
.h_logo img{
height:100%;
margin: 0px 0px 0px 0px;
}
.h_logo p{
vertical-align: middle;
display:inline-block;
font-size: 14px;
font-weight: 500;
margin: 20px 0px 0px 15px;
}


.h_content02{
display:flex;
align-items:center;
justify-content:space-between;
margin: 0px 0px 0px 0px;
}


.h_links01{
margin: 0px 20px 0px 0px;
height: 53px;
display:flex;
align-items:center;
}
.h_links01 a{
display:flex;
align-items:center;
padding: 0 30px;
height: 100%;
background-color: #ffffff;
border: 3px solid #24b5c2;
box-sizing: border-box;
color:#24b5c2;
font-size: 16px;
font-weight: 500;
letter-spacing: 1px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.h_links01 a:hover{
opacity: 0.6;
}
.h_links01 div{
display:flex;
align-items:center;
}
.h_links01 div img{
width: 14px;
margin: 0 0 0 15px;
}


.h_links02{
margin: 0px 5px 0px 0px;
height: 53px;
display:flex;
align-items:center;
}
.h_links02 button{
display:flex;
align-items:center;
padding: 0 30px;
height: 100%;
background-color: #24b5c2;
color:#fff;
font-size: 16px;
font-weight: 500;
letter-spacing: 1px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
}
.h_links02 button:hover{
background-color: #1b8b95;
}
.h_links02 div{
display:flex;
align-items:center;
}
.h_links02 div img{
width: 14px;
margin: 0 0 0 15px;
}


.s-fade-wrap{
margin:0 auto 0 auto;
padding:0px 0 0px 0;
width:100%;

}
.mv_view{
width:94%;
text-align:left;
margin:0 auto 0 auto;
display:flex;
align-items:center;
justify-content:space-between;
position: relative;
}
.mv_view-01{
width:63%;
margin:-5% 0 0 -5% ;
}
.mv_view-01 img{width:100%;margin:0;}

.mv_view-02{
width:47%;
position: absolute;
top:15%;
right:5%;
margin:auto 0;
}
.mv_view-02 img{width:100%;margin:auto 0;}

.mv_none{
width:100%;
}

/* ---title---*/
.title_text_c{
width: 100%;
padding: 0px 0 0 0;
text-align:center;
}
.title_text_c h2 {
font-weight:500;
font-style: normal;
letter-spacing:2px;
font-size:36px;
line-height:1.5;
text-align:center;
color: #24b5c2;
padding:20px 0 0 0 ;
}
.title_text_c p{
text-align: center;
margin: 0 auto;
}

/* ---t_cv---*/


.btn_cv{
width:100%;
background-image:url("../images/cv_bg.jpg");
background-repeat:no-repeat;
background-size:cover;
background-position:center center;
text-align: center;
margin:0px auto 0px auto;
padding: 50px 0;
}

.cv_btn_p{
padding: 25px 0px;
width: 350px;
text-align: center;
background-color: #24b5c2;
color:#fff;
font-size: 22px;
font-weight: 600;
letter-spacing: 3px;
-webkit-transition: 0.3s ease-in-out;
-moz-transition: 0.3s ease-in-out;
-o-transition: 0.3s ease-in-out;
transition: 0.3s ease-in-out;
margin: 0 auto;
background-image:url("../images/h_links02_icon.png");
background-repeat:no-repeat;
background-size:14px;
background-position:center right 30px;
}
.cv_btn_p:hover{
background-color: #1b8b95;
}


.cv_btn_text{
width: 40%;
max-width: 541px;
margin: 0 auto 30px auto;
}
.cv_btn_text img{
width: 100%;
}
 

/* ---t_one---*/
.t_one{
width:100%;
max-width:1100px;
padding:10px 0 0 0;
margin:0px auto;
}

.t_one_text{
font-weight:400;
font-size:18px;
line-height: 1.8;
letter-spacing:1px;
text-align:center;
margin:30px auto 0px auto;
}
.t_one_text span{font-size:18px;}

.t_one_box{
display:flex;
align-items:top;
justify-content:space-between;
width:100%;
margin:50px auto 50px auto;
}
.t_one_box div{
width: 31%;

}
.t_one_box div img{
width: 100%;
}



/* ---t_two---*/

.t_two{
display:flex;
align-items:top;
justify-content:space-between;
width:100%;
max-width:1100px;
padding:50px 0px 50px 0px;
margin:0 auto;
position: relative;
}

.t_two_over{
position: absolute;
top:0;
left:-60px;
z-index: -1;
max-width: 196px;
}
.t_two_over img{
width: 100%;
}


.title_text_t{
width: 100%;
padding:0px 0 0 0;
text-align:center;
}
.title_text_t h2 {
font-weight:500;
font-style: normal;
letter-spacing:2px;
font-size:36px;
line-height:1.5;
text-align:left;
color: #24b5c2;
padding:0px 0 20px 0;
}


.t_two_in01{width:50%;margin:0;}
.t_two_in01 p{
font-size: 18px;
line-height:1.7;
text-align: left;
margin:15px 0 0px 0;
}
.t_two_text_light_blue{
color: #24b5c2;
font-weight:500;
}
.t_two_text_small{
font-size: 14px;
line-height:1.7;
}

.t_two_in02{width:45%;margin:0px;}
.t_two_in02 img{width:100%;object-fit: cover;}


/* ---t_three---*/
.t_three{
color:#000;
text-align:left;
width:100%;
max-width:1100px;
padding:0px 0px 0px 0px;
margin:0 auto;
display:flex;
align-items:top;
justify-content:space-between;
flex-wrap: wrap;
}
.t_three img{width:47%;margin:30px auto 0;}

/* ---t_four---*/
.t_four{
width:100%;
max-width:1100px;
padding:40px 0px 0px 0px;
margin:0 auto;

}
.t_four_in{
width: 100%;
box-sizing: border-box;
background-color: #f2f2f2;
border-radius: 5px;
margin: 0 0 30px 0;
display:flex;
align-items:top;
justify-content:space-between;
padding: 50px;
}

.t_four_box_l{
width: 25%;
}
.t_four_box_l img{
width: 80%;
margin: 0px auto;
}


.t_four_box_r{
width: 73%;
}
.t_four_box_r h3{
padding:0px 0 20px 0;
text-align:left;
letter-spacing:2px;
font-size:24px;
line-height:1.5;
color:#000;
font-weight:500;
}

.t_four_box_r p{
padding:30px;
background-color: #fff;
border-radius: 10px;
text-align:left;
letter-spacing:0px;
font-size:20px;
line-height:1.7;
}
.t_four_box_r p span{
color:#24b5c2;
font-weight: 500;
}

/* ---t_five---*/
.t_five{
width:100%;
max-width:1100px;
padding:20px 0px 0px 0px;
margin:0 auto;
list-style:none;
}
.t_five li{
padding:30px 0px 0px 0px;
}
.t_five li:last-child{
border-bottom:none;
}
.t_five li div{
display:flex;
align-items:center;
padding:20px;
}
.t_five li div img{
width: 40px;
height: 35px;
margin: 0 30px 0 0;
}

.t_five_title{
background-color: #fff;
border-radius: 10px;
padding: 10px 0;
}


.t_five h3{
letter-spacing:2px;
font-size:24px;
line-height:1.5;
color:#000000;
text-align:left;
font-weight:500;
}
.t_five p{
letter-spacing:1px;
font-size:18px;
text-align:left;
}

/* ---t_six---*/
.t_six{
width:100%;
max-width:1100px;
padding:40px 0px 0px 0px;
margin:0 auto;
list-style:none;
}
.t_six h3{
margin: 0px 0;
padding: 30px 0;
background-color: #fee133;
text-align: center;
}
.t_six h3 img{
width:193px;
margin: 0 auto;
}
.t_six h3 span{
display:block;
letter-spacing:1px;
font-weight:400;
font-size:16px;
line-height:16px;
color:#000;
padding:10px 0 0 0;
}

.t_six_box{
padding:3.5% 5%;
margin:0px 0px 40px 0px;
list-style:none;
background-color: #fff;
}

.t_six_box img{
width: 100%;
max-width: 1004px;
margin: 0 0 0px 0;
}


/* ---pp---*/
.pp{
width:100%;
max-width:900px;
	padding:20px 0px 30px 0px;
	margin:0 auto;
	list-style:none;
}
.pp h3{
font-size:20px;
line-height:20px;
color:#000;
font-weight:500;
background-color: #fee133;
border-radius: 10px;
padding:15px;
margin:40px 0 20px 0;
}
.pp p{
font-size:16px;
line-height:1.5;
padding:0px 0px 10px 0px ;
}
/* ---service---*/
.service{
width:100%;
max-width:900px;
	padding:20px 0px 30px 0px;
	margin:0 auto;
	list-style:none;
}
.service li{
padding:30px 0px 30px 0px;
}
.service li:last-child{
border-bottom:none;
}
.service li h3{
font-size:20px;
line-height:20px;
color:#000;
font-weight:500;
text-align:left;
font-weight:500;
padding: 0 0 15px 0;
}
.service li p{
letter-spacing:1px;
font-size:16px;
text-align:left;
background-color: #f2f2f2;
border-radius:10px;
padding: 30px;
color:#000;
}
/* ---company---*/
.company{
width:100%;
max-width:900px;
	padding:20px 0px 30px 0px;
	margin:0 auto;
	list-style:none;
}
.company li{
border-bottom: 3px solid #24b5c2;
padding:30px 0px 30px 0px;
}
.company li h3{
font-size:20px;
line-height:20px;
color:#24b5c2;
font-weight:500;
text-align:left;
font-weight:500;
padding: 0 0 10px 0;
}
.company li p{
font-size:16px;
line-height:16px;
color:#000;
}
.company li:last-child{
border-bottom:none;
}

/* ---footer---*/


.footer{
width:100%;
padding:0px 0 0px 0;
text-align:center;
}
.footer_in{
text-align:center;
margin:0 auto;
padding:0px 0;
}

.f_logo{
width:35%;
max-width: 143px;
margin:0 auto;
padding:0px 0 10px 0;
}
.f_logo a{
display:inline-block;
margin: 0px;
}
.f_logo img{
width:100%;
margin:0 auto;
}

.f_navi{
background-color:#f6f6f6;
text-align:center;
font-size:18px;
color:#000;
font-weight:500;
margin:0px auto;
padding:50px 0 ;
}
.f_navi p{
font-size:16px;
}



.f_copy{
background-color:#fff;
text-align:center;
padding:40px 0 ;
}
.f_copy a:hover{color:#24b5c2;}
.f_copy a {font-size:18px;}
.copy{
text-align:center;
font-size:14px;
color:#000;
margin:0px 0;
}


    #pageTop {
	position:fixed;
	bottom:50px;
	right:50px;
	width:70px;	
	margin:0px auto 0px auto;
	border-radius: 300px;
	overflow: hidden;
    }
    #pageTop a img {
	width:100%;
	margin:0px auto 0px auto;
	-webkit-transition: 0.3s ease-in-out;
	   -moz-transition: 0.3s ease-in-out;
	     -o-transition: 0.3s ease-in-out;
	        transition: 0.3s ease-in-out;
    }
    #pageTop a img:hover {
      opacity: 0.7;
    }


.fuwatAnime {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fuwatAnime;
 -ms-animation-name: fuwatAnime;
 animation-name: fuwatAnime;
 visibility: visible !important;
}
@-webkit-keyframes fuwatAnime {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fuwatAnime {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}



.pc-none{
display:none !important;
}
.sp-br{
display:none !important;
}
.link_sp{
display:none !important;
}
.contact_btn_sp{
display:none !important;
}
#navToggle{
display:none !important;
}

.mt80{margin-top:80px;}




.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}

.fade-in-up {
  transform: translate(0, 50px);
}

.fade-in-down {
  transform: translate(0, -50px);
}

.fade-in-left {
  transform: translate(-50px, 0);
}

.fade-in-right {
  transform: translate(50px, 0);
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}


.animation{
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
}

.keyframe6 {
  animation-name: poyopoyo;
}

@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}


/* モーダルウィンドウ */

/* オーバーレイ */
.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
background-color: rgb(0 0 0 / 0.5);
width: 100%;
height: 100%;
z-index: 1001;
}
/* ウィンドウ */
.modal-window {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width:40%;
z-index: 1002;
padding: 50px 50px;
overflow-y: scroll;
background-color:#fff;

}
/* 閉じるボタン */
.button-close {
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
appearance: none;
width: 160px;
padding:10px 20px;
background-color:#24b5c2;
font-size:16px;
color: #fff;
font-weight:500;
cursor: pointer;
margin:55px auto 0px auto;
}


.modal-window h2{
width:150px;
text-align:center;
margin:0px auto;
}

.modal-window h2 img{width: 100%;margin:0px 0px 0px 0px;}

.modal-window h3{
text-align:center;
margin:10px auto 20px auto;
}
.modal-window h3 span{
color:#00b900;
font-size:24px;
line-height:1.5;
}
.modal-window h4{
text-align:left;
color:#4b9536;
font-size:16px;
width:100%;
margin:0 auto 20px auto;
}
.modal-window p{
text-align:left;
line-height:1.5;
width:100%;
margin:0 auto 10px auto;
}


.modal_in_box{
width:300px;
text-align:center;
margin:40px auto 0px auto;
}
.modal_in_box img{
width: 100%;
}
.modal_in_box a{
display:inline-block
}

.modal-window p span{
font-size:14px;
}


/* ---コンテンツ表示アニメーション---*/
.animate {
  opacity: 0;
  transition: opacity 0.8s ease 0.2s, transform 0.8s ease 0.2s; /* 0.5秒の遅延 */
  will-change: opacity, transform;
}

.fade-in-from-bottom {
  transform: translateY(30px); /* 下から */
}

.fade-in-from-top {
  transform: translateY(-30px); /* 上から */
}

.fade-in-from-left {
  transform: translateX(-15px); /* 左から */
}

.fade-in-from-right {
  transform: translateX(15px); /* 右から */
}

.animate.visible {
  opacity: 1;
  transform: translateY(0) translateX(0); /* 元の位置に */
}

.t_cv_btn{
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
	cursor: pointer;
  animation: bounce 2s ease-in-out forwards;
  animation-iteration-count: infinite;
}

@keyframes bounce {
  0% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
  50% {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
  }
}
