@charset "utf-8";
/* CSS Document */
/*===共通部分==============
====================================================================*/
html{
	font-size: 100%;
}
body{
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-weight: 400;
	color: #333;
	font-size: clamp(0.875rem, 0.807rem + 0.34vw, 1.063rem);
	background: #fff;
	-webkit-font-smoothing: antialiased;/*アンチエイリアスを滑らかに*/
	-moz-osx-font-smoothing: grayscale;
	line-height: 1.9;
}
p{
	letter-spacing: 0.1em;
}
h1,h2,h3,h4,h5,h6{
	font-weight: 600;
	line-height: 1.7;
}
a{
	text-decoration: none;
	color: #333;
	transition: .4s;
}
ul,ol{
	list-style: none;
	padding: 0;
}

section {
	padding: 80px 0 ;
}
table{
	border-spacing: 0;
}
img{
	width: 100%;
	object-fit: cover;
}

/*改行　-------*/
@media (min-width: 451px){
	br.only450{
		display: none;
	}
}

@media (max-width: 450px){
	br.not450{
		display: none;
	}
}

span.ib{
	display: inline-block !important;
}

/*PC・SP表示-----------------------*/
.sp{
	display: none;
}
.pc{
	display: block;
}

@media (max-width: 750px) {
	.sp{
		display: block;
	}
	.pc{
		display: none;
	}
}

/*幅・高さ調整-------*/
.inner{
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}
.inner.wide{
	max-width: 1400px;
}
.inner.max{
	max-width: none;
}
/*高さ*/

.mg100{
	margin-bottom: 100px !important;
}
.mg80{
	margin-bottom: 80px !important;
}
.mg60{
	margin-bottom: 60px !important;
}
.mg50{
	margin-bottom: 50px !important;
}
.mg40{
	margin-bottom: 40px !important;
}
.mg30{
	margin-bottom: 30px !important;
}
.mg20{
	margin-bottom: 20px !important;
}
.mg10{
	margin-bottom: 10px !important;
}
.mg0{
	margin-bottom: 0 !important;
}

.pmg5 p{
	margin-bottom: 5px;
}
.pmg p{
	margin-bottom: 10px;
}
.pmg15 p{
	margin-bottom: 15px;
}
.pmg20 p{
	margin-bottom: 20px;
}
.pmg5 p:last-child,
.pmg p:last-child,
.pmg15 p:last-child,
.pmg20 p:last-child{
	margin-bottom: 0;
}

.t_center{
	text-align: center;
	margin: 0 auto;
}
.t_left{
	text-align: left;
}
.t_right{
	text-align: right;
}
.pc_center{
	text-align: center;
}
@media (max-width: 750px) {
	.pc_center{
		text-align:  left;
	}
}

/* 画像比率　-------------------------- */
.img_4-3{
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	/*border-radius: 15px;*/
}

.img_16-9{
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	/*border-radius: 15px;*/
}

/*info_flexbox------------------------*/
/*画像 + テキスト 通常のflex*/
.flexbox{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.comn2{
	width: 48%;
	padding: 1em;
	margin-bottom: 30px;
}
.comn3{
	width: calc( 100% / 3 - 20px);
	padding: 1em;
	margin-bottom: 30px;
}
.comn4{
	width: 30%;
	padding: 1em;
	margin-bottom: 30px;
}
.comn5{
	width: 65%;
	padding: 1em;
	margin-bottom: 30px;
}

.jc_center{
	justify-content: center!important;
}
.f_center{
	align-items: center;
}
 .flex-reverse {
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
.comn2 p{
	padding:0 2rem 1rem;
}
@media (max-width: 750px){
	.flexbox{
		flex-direction: column;
	}
	.flexbox.reverse{
		flex-direction: column-reverse;
	}
	.comn2, .comn3, .comn4, .comn5 {
		width: 100%;
	}
}

  
/* column_box
*************************************************** */

  .column_box {
    position: relative;
  }
  .column_box .imgarea {
    position: absolute;
    top: 40px;
    right: 0;
    z-index: 0;
    width: 70%;
    height: 125%;
    max-width: 1170px;
    max-height: 700px;
    background-position: center;
    background-size: cover;
  }
  .column_box.img-rgt .imgarea {
    top: auto;
    bottom: 70px;
  }
  .column_box .column_box--lft {
    position: relative;
    z-index: 1;
    width: 95%;
  }
  .column_box .txtarea {
    position: relative;
    width: 40%;
    max-width: 760px;
    padding: 100px;
    background-color: #fff;
  }
  .column_box .txtarea-en {
    position: absolute;
    top: 0;
    right: -40px;
  }
  .line-3 {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 54px;
  }
  .line-3 i {
    display: block;
    width: 100%;
    height: 1px;
    background-color: #f8f8f8;
  }
  .line-3 i + i {
    margin-top: 7px;
  }
  .img-rgt .imgarea {
    left: 0;
    right: auto;
  }
  .flex-reverse .txtarea-en {
    top: auto;
    bottom: 0;
    left: -40px;
    right: auto;
  }
  .flex-reverse .line-3 {
    margin-left: 0;
    margin-right: 54px;
  }
  @media screen and (max-width: 1600px) {
    .column_box .txtarea {
      max-width: 560px;
      padding: 5%;
    }
  }
  @media screen and (max-width: 767px) {
    .column_box .txtarea {
      width: 100%;
      max-width: 560px;
      padding: 32px 24px;
    }
    .column_box .imgarea {
      position: absolute;
      top: auto;
      right: -10px;
      bottom: -30%;
      width: 90%;
      height: 40%;
    }
    .column_box.img-rgt .imgarea {
      top: -30%;
      bottom: auto;
    }
	.column_box .column_box--lft {
		margin: auto;
	}	  
    .column_box .txtarea-en {
      right: -24px;
    }
    .flex-reverse .txtarea-en {
      left: -24px;
      right: auto;
    }
    .line-3 {
      margin-left: 24px;
    }
    .flex-reverse .line-3 {
      margin-right: 24px;
    }
    .gnav .line-3 {
      margin-left: 0;
    }
  }
/*基本Table---------------------------*/
/*th背景あり*/
.info_table{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.info_table tr{
	border: 1px solid #ccc;
}
.info_table th,
.info_table td{
	padding: 15px 10px;
	letter-spacing: 0.12em;
}
.info_table th{
	background: #e1fffa;
	color: #666;
	width: 30%;
	border-right: 1px solid #ccc;
	font-weight: 500;
}
.info_table td{
	background: #fff;
	width: 70%;
	border-right: 1px solid #ccc;
	border-left: 1px solid #ccc;
	font-size: 0.95rem;
}

/*ラインのみ*/
.info_table02{
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}
.info_table02 tr{
	border-bottom: 2px solid #f5f5f5;
}
.info_table02 th,
.info_table02 td{
	padding: 15px 0 5px;
	letter-spacing: 0.08em;
}
.info_table02 th{
	width: 30%;
	border-bottom: 2px solid #2CFDDA;
	font-weight: 500;
	color: #333;
}
.info_table02 td{
	padding-left: 10px;
	width: 70%;
}

@media (max-width: 450px){
	.info_table, .info_table02{
		font-size: 0.9rem;
	}
}

/*スマホ縦並び*/
.info_table03 {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}
.info_table03 th, .info_table03 td {
  border: 2px solid #d2e8f1;
  padding: 1em 15px;
}

.info_table03 th {
  width: 30%;	
  background: #4d9bc1;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 787px) {
  .info_table03 {
    text-align: left;
  }
  .info_table03 th, .info_table03 td {
    display: block;
    border: 0;
    border-bottom: 2px solid #e6f1f6;
  }
  .info_table03 th{
	width: 100%;  
    background: #4d9bc1;
    color:#fff;
	padding-bottom: 0.2em;
  }

}
/*==見出し=============================================*/

/*見出し01*/
.section_title{
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.section_title span{
	width:50px;
	height: 1px;
	border-bottom:1px solid #1A484D;
	margin:0 auto 30px;
	transform:rotate(-45deg); 
	   
}

.section_title h2{
	font-family: 'Noto Serif JP', serif;
	color: #1A484D;
	font-size: clamp(1.5rem, 1.364rem + 0.68vw, 1.875rem);
	font-weight: 600;
	margin-bottom:30px;
	letter-spacing: 2px;
}

.section_title p{
	font-family: 'Noto Serif JP', serif;
	color: #1A484D;
	font-size: clamp(1.75rem, 1.364rem + 1.93vw, 2.813rem);
	font-weight: 400;
	margin-bottom:5px;
	letter-spacing: 1px;
}
.section_title p::first-letter{
	font-size: 60px;
}

.section_title.white h2,.section_title.white p{
	color: #fff;
}
.section_title.white span{
	border-bottom:1px solid #fff;
	   
}

.st_start{
    justify-content: flex-start !important;	
}

@media screen and (max-width: 787px) {
	.section_title p {
		line-height: 1.5;
	}
}

/*見出し02*/
.mtitle {
	width: 50%;
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
	font-size: 26px;
	text-align: center;
	z-index: 2;	
}

.mtitle span {
	z-index: 2;	
	position: relative;
}

.mtitle::before {
	content: attr(data-en);
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	color:  rgba(44,253,218,.30);
	font-size:clamp(2.5rem, 1.591rem + 4.55vw, 5rem);
    z-index: -1;	
}

.mtitle::after {
	content: '';
	position: absolute;
	top: 100px;
	left: 50%;
	transform: translate(-50%);
	width: 40px;
	height: 1px;
	background-color: rgba(44,253,218,1.00);
}
@media screen and (max-width: 787px) {
	.mtitle {
		padding-top: 16px;
		padding-bottom: 20px;
	}
	.mtitle::after {
		top: 65px;
	}
}

.subtitle {
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
	padding: 12px 14px;
	color: #ffffff;
	background: #4db6ac;
}
.subtitle::before,
.subtitle::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 110%;
	height: 100%;
	content: '';
}
.subtitle::before {
	-webkit-transform: rotate(1.5deg);
	        transform: rotate(1.5deg);
	-webkit-transform-origin: bottom right;
	        transform-origin: bottom right;
	background: #009688;
}
.subtitle::after {
	-webkit-transform: rotate(-2.5deg);
	        transform: rotate(-2.5deg);
	-webkit-transform-origin: bottom left;
	        transform-origin: bottom left;
	background: #00796b;
}
.subtitle_cont {
	position: relative;
	z-index: 1;
}

.min_title{
	padding: .3em;
	border-top: 1px solid rgba(26, 72, 77, 0.7);
	border-bottom: 3px solid rgba(26, 72, 77, 0.7);
	text-align: center;
	color:rgba(26, 72, 77, 0.7);
	width: 80%;
	margin: auto;
}

/*==btn================================================*/
.arrow1{
    /*線の基点とするためrelativeを指定*/
	position:relative;
    /*リンクの形状*/ 
	padding:10px;
	color:#fff;
	display:inline-block;
    text-decoration: none;
    outline: none;
}

.fv_btn{
	padding: 20px 50px;
	background: rgba(26, 72, 77, 0.7);
	color: #fff;
	border: 1px #fff solid;
	font-family: 'Shippori Mincho B1', serif;
	font-size: 18px;
	font-weight: 500;
	text-decoration: inherit;
}

.fv_btn:hover{
	background: #555;
	font-weight: 600;
}


/*線の設定*/
.arrow1::before {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 6px;
    /*線の形状*/
    width: 100%;
    height: 1px;
    background: #fff;
}

/*矢印の設定*/
.arrow1::after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    bottom: 2px;
    /*矢印の形状*/
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
}

/*線と矢印を繰り返しアニメーション*/
.arrow1::before {
    animation: arrowlong01 2s ease infinite;
}
.arrow1::after {
    animation: arrowlong02 2s ease infinite;
}

@keyframes arrowlong01{
    0%{width:0;opacity:0}
    20%{width:0;opacity:1}
    80%{width:105%;opacity:1}
    100%{width:105%;opacity:0}
}

@keyframes arrowlong02{
    0%{left:0;opacity:0}
    20%{left:0;opacity:1}
    80%{left:105%;opacity:1}
    100%{left:105%;opacity:0}
}

/*==Header=============================================*/
header{
	position: sticky;
 	display:flex;
	justify-content:space-between;
	top: 0px;
	width:100%;
	padding:10px 30px;
	align-content: center;
	z-index: 999;
	background: #2CFDDA;
	min-height: 80px;
 }

header h1 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.header_logo{
	display: flex;
    justify-content: center;
}

header h1 img{
	display: block;
	width: 320px;
	height: 100%;
}
.navbar {
	display: flex;
  	align-items: center;
	justify-content: center;
	flex-direction: column;
    position: absolute;
    top: 10px;
	right:10px;
}

.menu-icon {
	padding-top: 10px;
	padding-right:30px;
	padding-bottom:10px;
	font-size: 16px;
	line-height: 20px;
	color: #666;
	cursor: pointer;
	justify-content: center;
	text-align:center;
	font-family: 'Noto Sans JP', sans-serif;
}

.menu-icon p{
	font-family: 'Shippori Mincho B1', serif;
	font-size: 16px;
}

.menu-links{
  	display: none;
	margin-top: 80px;
}

.menu-links-bk{
	display: block;
    background:#ECECEC;
    padding: 20px 20px 100px;
    height: 100vh;
    width: 100vw;
    text-align: center;
    overflow-y: scroll;
    overflow-x: hidden;
	margin-right: -10px;
}

.menu-links a {
  color: #666;
  text-decoration: none;
  padding: 20px 10px;
  display: block;
}

.menu-links a:hover{
	text-decoration: underline;
}

.menu-links-bk dl{
	padding-bottom:20px;
}


.menu-links-bk dl dt{
	border-radius: 30px 0 0 0;
	padding-left: 20px;
	margin-bottom:10px;
}

.menu-links-bk dl dt a{
	color: #666;
	font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
}

.menu-links-bk dl dd{
	position: relative;
	padding-left: 0px;
}

.menu-links-bk dl dd a{
	color: #666;
	font-size: 16px;
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 600;
}

.menu_bar_tell{
	display: inline-block;
	color: #666;
	font-size: 16px;
    font-family: 'Shippori Mincho B1', serif;
    font-weight: 600;
	border-top: 1px solid #666;
	border-bottom: 1px solid #666;
	padding: 10px 20px;
	margin-top:30px;
}

.menu-links-bk dl dd .fv_btn{
	display: inline-block;
	color: #fff;
	padding: 10px 20px;
}

.menu-icon.active {
  display: none;
}

.close-icon.active {
  display: block;
}

.close-icon {
	padding-top: 0px;
  	padding-right: 0px;
	padding-bottom: 0px;
	line-height: 20px;
  	color: #000;
  	cursor: pointer;
  	display: none;
	text-align:center;
	font-family: 'Shippori Mincho B1', serif;
	font-size: 16px;	
	position: fixed;
	top: 10px;
	right:30px;
}

.close-icon p{
	font-family: 'Shippori Mincho B1', serif;
	font-size: 16px;
	color: #666;
}

.header_contact{
	display: flex;
    justify-content: flex-end;
	margin-right: 20px;
    color: #666;
}

.header_contact p{
	margin-bottom:5px;
	font-family: 'Shippori Mincho B1', serif;
	font-size: 14px;
	padding-right: 10px;
}

.menu_pc_list{
	 display: flex;	
}

.menu_pc_list dd a{
	color: #666;
	text-decoration: none;
	padding: 0px 40px;
	border-left: 1px solid #666;
	font-family: 'Shippori Mincho B1', serif;
}

.menu_pc_list dd a:hover{
	text-decoration: underline;
}

.menu_pc_list dd p a{
	border-left: none;
}

.menu_last{
	padding-right: 20px!important;
}

.navbar_area{
	display: flex;
	flex-direction: row;
}

.c_mark{
	color: #666;
}


@media screen and (max-width: 1120px){
	
	.menu_pc_list,
	.header_contact{
		display: none;
	}
	
	.menu-icon,
	.close-icon{
		padding:5px;
		border: 1px solid #666;
		margin:2px;
		width:55px;
	}
		
	.menu-icon p,
	.close-icon p{
		font-size: 12px;
		line-height: 18px;
		color: #666;
	}
	
	.close-icon{
		top: 10px;
    	right: 10px;
	}
	
	.menu-links {
    	margin-top: 60px;
	}
	
	.menu_inquiry_btn{
		margin-top: 15px;
	}
}

@media screen and (min-width:1121px){
	.navbar_area{
		display: none;
	}
}
@media screen and (max-width: 450px) {
	header h1 img{
		width: 250px;
		height: 100%;
	}	
}


/****************************************************
 	page-top
****************************************************/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	border-right: 1px #1A484D solid;
	border-left: 1px #1A484D solid;
	padding: 10px 5px;
	color: #000;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:0.6rem;
	transition:all 0.3s;
	background: #fff;
}


#page-top a:hover{
	background: #1A484D;
	color:#fff;
}

#page-top {
	position: fixed;
	right: 10px;
	bottom: 20px;
	z-index: 2;
	opacity: 0;
	transform: translateY(100px);
	writing-mode: vertical-rl;
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0px);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*************************************
	sp_contact
**************************************/

@media(min-width:1001px){
	.sp_contact_instant{
		display:none;
	}
}
.sp_contact_instant{
	z-index: 10000;
	background: #EFF9F9;
	border: 1px solid #1A484D;
	bottom: 5px;
	position: fixed;
	margin-bottom: 10px;
	text-align: center;
	margin:0 auto;
	width: 70%;
	height:40px;
	left: 50%;
	transform: translateX(-50%);
	padding-top: 3px;
}

.sp_contact_instant a{
	text-decoration: none;
	color:#1A484D;
	font-family: 'Shippori Mincho B1', serif;
	font-size: 18px;
	font-weight: 500;
}

/*********************************************
	footer
**********************************************/

.footer_top{
width: 100%;
background:url("../img/fc_bg.jpg");
background-position: bottom;
background-size: cover;    
background-attachment: fixed;   
padding: 50px 0;    
}

.con-text{
font-size: 1.5em;
text-align:center;
color: #333;     
}
.f-contact{
width:100%;
display: flex;    
flex-wrap:wrap;
justify-content:center;
align-items:center;    
}
.f-con{
width: calc(70% / 3);
margin: 0 1em;    
}
.f-con a{
border:1px solid #fff;
padding:1em 1%;
font-size: 1.5em;  
display: block;  
color: #fff;    
transition: all 0.5s;  
text-align: center;
	background: rgba(0,0,0,.30)
}
.f-con a:hover{
background: #fff;
color: #333; 
text-decoration: transparent;    
}
footer{
	background: #2CFDDA;
	padding-top: 50px;
}
footer .flex{
	display: flex;
	padding-bottom: 50px;
	justify-content: space-evenly;
	align-items: center;
}
.f_address{
	width: 45%;
	display: flex;
	flex-direction: column;
	text-align:center;
}
.f_logo{
	width: 80%;
	min-width: 200px;
	margin: 0 auto;
}
.f_map{
	width: 45%;
	height: 300px;
	border-radius: 20px;
}
.copy{
	border-top: 1px solid #333;
	text-align: center;
	font-size: 12px;
	padding: 5px 0;
}

@media(max-width:1000px){
	.f-con{
		width: 80%;  
		margin-bottom: 2em;
	}
	footer{
		padding-bottom: 43px;
	}
	footer .flex	{
		display: block;
	}
	.f_address,	.f_map{
		width: 95%;
		margin: auto;
	}
	
}
/********************************************
 FirstView
********************************************/

.fv{
	position: relative;
	padding: 0 !important;
}

.img-frame{
   position: relative;
   width: 100%;
   height: calc(100vh - 80px);
   overflow: hidden;
   margin: 0 auto;
}
.img-01, .img-02, .img-03{
   position: absolute;
   top:0;
   left:0;
   width: 100%;
   height: 100%;
   background-size: cover;
   background-repeat: no-repeat;
}
.img-01{
   background-image: url("../img/fv_01.jpg");
   animation: slide-animation-01 24s infinite;
}
.img-02{
   background-image: url("../img/fv_02.jpg");
   animation: slide-animation-02 24s infinite;
}
.img-03{
   background-image: url("../img/fv_03.jpg");
	background-position: bottom;
   animation: slide-animation-03 24s infinite;
}
	
@keyframes slide-animation-01 {
    0% {opacity: 1; transform: scale(1.0);}
  30% {opacity: 1;}
  40% {opacity: 0; transform: scale(1.15);}
  90% {opacity: 0}
100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
    0% {opacity: 0;}
  30% {opacity: 0; transform: scale(1.1);}
  40% {opacity: 1;}
  60% {opacity: 1;}
  70% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-03 {
    0% {opacity: 0;}
  60% {opacity: 0;  transform: scale(1.0);}
  70% {opacity: 1;}
  90% {opacity: 1;}
100% {opacity: 0; transform: scale(1.1);}
}


.fv_title{
	margin-left:30px;
	position: absolute;
    top: 50%;
	transform: translateY(-50%);
    left: 20px;
}

.fv_title p{
	font-family: 'Shippori Mincho B1', serif;
	color: #fff;
	font-size: clamp(1.75rem, 1.477rem + 1.36vw, 2.5rem);
	text-shadow: 5px 5px  8px #000;
}

.fv_title_text{
	margin-bottom:60px;
}

@media(max-width:960px){
	.img-frame{
	   height: calc(75vh - 80px);
}
}
@media(max-width:450px){
	.img-frame{
	   height: calc(55vh - 80px);
}
}
/*スクロールダウン*/
.scrolldown1{
	position:absolute;
	left:50%;
	bottom:10px;
	height:50px;
}

.scrolldown1 span{
	position: absolute;
	left:-20px;
	top: -15px;
	color: #fff;
	text-shadow: 3px 3px 6px #000;
	font-size: 14px;
	letter-spacing: 0.05em;
}

.scrolldown1::after{
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 30px;
	background: #fff;
	animation: pathmove 1.4s ease-in-out infinite;
	opacity:0;
}

@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}

/*TOPContents
*********************************************/
.g_text{
	margin-bottom: 10px;
}

.service_above{
	z-index:10;
	position: relative;
}

.service_content{
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index:1;
	margin-bottom: 50px;
	}

.service_content .section_title{
	width:33vw;
	margin-top: 5vw;
	margin-bottom: 150px;
}

.service_des{
	display: block;
	width: 66vw;
	background: #e1fffa;
	position: absolute;
	right:0;
	top:-50px;
	padding:9vw 9vw 6vw;
}

.service_des p{
	margin-bottom: 10px;
	font-family: 'Noto Serif JP', serif;
    color: #000;
	font-size: 16px;
	line-height: 32px;
	font-weight: 500;
}

.service_des_text{
	margin-bottom: 30px;
}

.service_des_text span{
	border-bottom: 1px solid rgba(26, 72, 77, 0.7);
}

.service_btn{
	display:flex;
	justify-content: flex-end;
}

.home_recruit {
	position: relative;
	z-index: 1;
	background-image: url(../img/recruit-bg.jpg);
	background-position: center;
	background-size: cover;
	padding: 100px 0;
}
.home_recruit .imgarea {
	background-image: url(../img/recruitimg.jpg);
}

@media screen and (max-width: 1000px){
	.greeting{
		padding-bottom: 10px;
	}
    .street_photo {
        width: 70vw;
        min-width: 300px;
    }	
	.service_content {
		margin-top: 5vh;
		margin-bottom: 0;
		display: flex;
		flex-direction: column;
	}
	
	.service_des {
		position: inherit;
		width: 100%;
	}
	
	.service_content .section_title {
		margin: 5vw auto 10vh;
	}

	.service_des p {
    	font-size: 14px;
    	line-height: 28px;
	}
}
/************************************************************************
	下層ページ
*************************************************************************/
/*下層TOP*/
.k-fv {
	height: 225px;
	width: 100%;
	display: flex;
	align-items: center;
	background: url(../img/kfv.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 80%;
	position: relative;
}
.k-fv::before {
	position: absolute;
	display: block;
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #333;
	opacity: 0.55;
}
.k-fv .inner {
	max-width: 80%;
}
.k-fv h2 {
	font-family: 'Noto Serif JP', serif;
	text-shadow: 0 0 6.5px #333, 0px 0.3px 2.5px rgb(0 0 0 / 25%), 0px -0.3px 2px rgb(0 0 0 / 30%);
	margin-bottom: 0 !important;
	z-index: 1;
	position: relative;
	color: #fff;
	line-height: 1.15;
	text-align: center;
}
.ktitle {
	font-size:clamp(1.625rem, 1.307rem + 1.59vw, 2.5rem);
}

.ktitle::before {
	content: attr(data-en);
	display: block;
	color: #fff;
	font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
}

@media (max-width: 1205px) {
	.k-fv {
		height: 265px;
	}
}
@media(max-width:1000px) {
	.k-fv {
		height: 225px;
	}
	.k-fv .inner {
		max-width: 90%;
	}
}
@media(max-width:650px) {
	.k-fv {
		height: 210px;
	}
}
@media(max-width:450px) {
	.k-fv {
		height: 150px;
	}
	.k-fv h2 {
		line-height: 0.95;
	}
	.k-fv h2 .mf {
		font-size: 2.2rem;
	}
}
/* breadcrumb */
.binner {
	width: 95%;
	font-size: 0.8rem;
	position: relative;
}
.breadcrumb {
	z-index: 1;
	background: transparent;
	position: absolute;
	top: 0;
	left: 0;
}
.breadcrumb li {
	display: inline;
	list-style: none;
}
.breadcrumb li:after {
	content: '>';
	padding: 0 0.2em;
	position: relative;
	top: -0.1em;
}
.breadcrumb li:last-child:after {
	content: '';
}
.breadcrumb li a {
	text-decoration: none;
	color: rgba(26, 72, 77, 0.7);
}
.breadcrumb li:first-child a::before {
	font-family: "Font Awesome 5 Free";
	content: '\f015';
	font-weight: bold;
	font-size: 90%;
	position: relative;
	top: -0.05em;
}
@media(max-width:550px) {
	.breadcrumb {
		font-size: 0.63rem;
	}
}

.bg01{
	background-image: linear-gradient(rgba(227, 255, 250, 1), rgba(241, 255, 253, 0.2));
}

/*==事業内容=========================*/
.info_wrap {
    padding: 1rem 2rem;
}
.stitle {
    position: relative;
    font-weight: 500;
    font-size: 1.2rem;
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
}
.stitle::before {
    content: '';
    position: absolute;
    bottom: -1px;
    width: 100px;
    height: 1px;
    background: #00796b;
}
ul.check_list02 li {
    margin-bottom: 5px;
}
ul.check_list02.row li {
    margin-right: 40px;
    margin-bottom: 10px;
}
ul.check_list02 li::before {
    font-family: "Font Awesome 5 Free";
    content: "\f14a";
    font-weight: bold;
    display: inline-block;
    color: #00796b;
    margin-right: .5em;
    font-size: .9em;
}
/*==マージン率=========================*/
.margin{
	width: 100%;
    border-top: 1px solid rgba(26, 72, 77, 0.7);
}
.margin th,.margin td {
    padding: .3em 1em;
    font-size: 14px;
    font-size: .875rem;
    letter-spacing: .1em;
    border-bottom: 1px solid rgba(26, 72, 77, 0.7);
}

.margin th {
    width: 260px;
    text-align: center;
    padding: .8em 0;
    font-weight: 300;
}

.margin th span {
    background: rgba(26, 72, 77, 0.7);
    display: block;
    padding: .3em 1em;
    color: #fff;
    width: 260px
}

.margin td {
    text-align: left
}

@media screen and (max-width: 768px) {
    #company_2 .company_2-txt {
        padding:0 10px
    }

    #company_2 table {
        margin-bottom: 30px;
        border-top: none
    }

    .margin {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }

    .margin th,.margin td {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 0 auto;
        border-bottom: none
    }

    .margin th span {
        width: 100%
    }
}


/*==リクルート=========================*/
.content_above{
	z-index:10;
	position: relative;
}

.street_photo{
	width:60vw;
}

.inspector{
	width: 8vw;
}
.content_contents{
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index:1;
	margin-bottom: 50px;
	}

.content_contents .section_title{
	width:33vw;
	margin-top: 5vw;
	margin-bottom: 150px;
}

.content_des{
	display: block;
	width: 66vw;
	background: #e1fffa;
	margin-top: -7%;
	padding:9vw 9vw 6vw;
}

.content_des p{
	margin-bottom: 10px;
	font-family: 'Noto Serif JP', serif;
    color: #000;
	font-size: 16px;
	line-height: 32px;
	font-weight: 500;
}

.content_des_text{
	margin-bottom: 30px;
}

.content_des_text span{
	border-bottom: 1px solid rgba(26, 72, 77, 0.7);
}

.content_btn{
	display:flex;
	justify-content: flex-end;
}
@media screen and (max-width: 750px){
	.content_contents {
		margin-top: 5vh;
		margin-bottom: 0;
		display: flex;
		flex-direction: column;
	}
	
	.content_des {
		position: inherit;
		width: 100%;
		margin-top: -60px;
	}
	
	.content_contents .section_title {
		margin: 5vw auto 10vh;
	}

	.content_des p {
    	font-size: 14px;
    	line-height: 28px;
	}
}

/*＝＝メールフォーム＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
.form{
	display: block;
	margin-top: -100px;
}
.mailform{
	margin: 0 auto;
	width: 94%;
	max-width: 960px;
}
.mailform .row{
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
}
.mailform .row:not(.last){
	border-bottom: 1px dotted #cccccc;
}
.mailform .row div:nth-child(1){
	width: 28%;
	font-weight: 500;
	letter-spacing: 0.08em;
	font-size: 0.9rem;
}
.mailform .row div:nth-child(2){
	width: 70%;
	line-height: 1.5;
}
.mailform .row span{
  	color: #fff;
  	background: rgba(26, 72, 77, 0.7);
  	padding: 5px;
  	margin-right: 5px;
  	font-size: 11px;
	border-radius: 2px;
	vertical-align: middle;
	font-weight: 500;
}
.mailform .row small{
	display: block;
	margin-top: 3px;
}
.mailform .box, .mailform textarea{
	border: 1px solid #ddd;
  	padding: 5px;
  	width: 100% !important;
  	border-radius: 0;
	-webkit-appearance: none;
	margin-bottom: 5px;
	background: #fff;
}
.mailform .postal_btn{
	padding: 2px 10px;
	background: #1f2e55;
	color: #fff;
	border-radius: 2px;
	margin-top: 5px;
	border: 1px solid #aaa;
	font-size: 0.9rem;
}
.mailform .postal_btn:hover{
	opacity: 0.8;
}
.mailform button{
	display: block;
	text-align: center;
	transition: .6s;
	font-size: 1rem;
	font-weight: 500;
	padding: 8px 5px;
	margin: 0 auto;
	width: 250px;
	background: rgba(26, 72, 77, 0.7);
	border: 1px solid #aaa;
	color: #fff;
}
.mailform button:hover{
	background: #fff;
	color: rgba(26, 72, 77, 0.7);
}
.mailform button::before{
	font-family: "Font Awesome 5 Free";
	content: "\f0e0";
	font-weight: 700;
	margin-right: 10px;
}

@media (max-width: 750px){
	.mailform .row{
		padding: 20px 0;
		flex-direction: column;
	}
	.mailform .row div:nth-child(1){
		width: 100%;
		margin-bottom: 20px;
	}
	.mailform .row div:nth-child(2){
		width: 100%;
	}
}

/*チェックボックス*/
input[type=checkbox] {
    display: none;
}
input[type=checkbox] + label{
    display: inline-block;
	padding-left: 20px;
	position:relative;
	margin-right: 20px;
	margin-bottom: 10px;
	cursor: pointer;
}
input[type=checkbox] + label::before{
    background: #fff;
    border: 1px solid #999;
    content: '';
    display: block;
	position: absolute;
	top: 55%;
	transform: translate(0,-50%);
  	left: 0;
    width: 15px;
  	height: 15px;
	border-radius: 3px;
}
input[type=checkbox] + label::after{
    border-right: 3px solid rgba(26, 72, 77, 0.7);
    border-bottom: 3px solid rgba(26, 72, 77, 0.7);
    content: '';
    display: block;
    height: 15px;
    left: 8px;
    margin-top: -7px;
    opacity: 0;
    position: absolute;
    top: 36%;
    width: 5px;
	transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1);
	transition: transform .2s ease-in-out, opacity .2s ease-in-out;
}
input[type=checkbox]:checked + label::after{
    opacity: 1;
	transform: rotate(45deg) scale3d(1,1,1);
}
@media (max-width: 750px){
	input[type=checkbox] + label{
		display: block;
	}
}

/*ラジオボタン*/
input[type=radio]{
	display: none;
}
input[type=radio] + label{
    display: inline-block;
	padding-left: 20px;
	position:relative;
	margin-right: 20px;
	margin-bottom: 10px;
	cursor: pointer;
}
input[type=radio] + label::before {
	content: "";
	display: block;
	position: absolute;
	top: 55%;
	transform: translate(0,-50%);
  	left: 0;
    width: 15px;
  	height: 15px;
	background: #f4f4f4;
	border-radius: 100%;
	border: 1px solid #b4b4b4;
	cursor: pointer;
	text-align: center;
	transition: all 250ms ease;
}
input[type=radio]:checked + label::before {
	background-color: rgba(26, 72, 77, 0.7);
	box-shadow: inset 0 0 0 2px #f4f4f4;
}
input[type=radio]:focus + label::before{
	outline: none;
	border-color: rgba(26, 72, 77, 0.7);
}
input[type=radio]:disabled + label::before {
	box-shadow: inset 0 0 0 2px #f4f4f4;
	border-color: #b4b4b4;
	background: #b4b4b4;
}
input[type=radio] + label:empty::before{
	margin-right: 0;
}
@media (max-width: 750px){
	input[type=radio] + label{
		display: block;
	}
}


.contact_info ul li{
	margin-bottom: 5px;
	text-align: center;
	font-size: 0.9rem;
}

/*アコーディオン*/
.privacy{
}
.privacy li{
}
.privacy li .privacy_wrap{
	border: 1px solid #ccc;
}
.privacy li .privacy_wrap .privacy_subject{
	cursor: pointer;
	transition: all .5s ease;
	padding: 15px 20px;
	padding-right: 30px;
	position: relative;
	background-color: #2CFDDA;
}
.privacy li .privacy_wrap .privacy_subject.area_close{
}
.privacy li .privacy_wrap .privacy_subject h3{
	font-size: 1.1rem;
	color: #666;
}
/*アイコンの＋と×*/
.privacy li .privacy_wrap .privacy_subject::before,
.privacy li .privacy_wrap .privacy_subject::after{
	position: absolute;
	top:48%;
	right: 15px;
	content:'';
	width: 15px;
	height: 2px;
	background-color: #333;
}
.privacy li .privacy_wrap .privacy_subject::before{
	transform: rotate(0deg);
}
.privacy li .privacy_wrap .privacy_subject::after{
	transform: rotate(90deg);
}
/*area_closeクラスがついたら形状変化*/
.privacy li .privacy_wrap .privacy_subject.area_close::before{
transform: rotate(45deg);
}
.privacy li .privacy_wrap .privacy_subject.area_close::after{
transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.privacy li .privacy_wrap .privacy_box{
	position: relative;
	display: none;/*はじめは非表示*/
	padding: 20px;
}

.privacy_flame{
	height: 250px;
	overflow-y: scroll;
}
.privacy_flame p{
	padding: 10px;
	font-size: 0.8rem;
}
.privacy_flame p span{
	display: block;
	color: rgba(26, 72, 77, 0.7);
	font-size: 0.95rem;
	font-weight: 500;
}
.privacy_flame p span::before{
	content: "■";
	display: inline-block;
	font-size: 0.6rem;
	margin-right: 0.5em;
	transform: translateY(-2.5px);
}
.privacy_flame ul li{
	font-size: 0.8rem;
}

/*スクロールバー*/
.privacy_flame::-webkit-scrollbar{
    overflow: hidden;
    width: 1px;
    background: #333;
}
.privacy_flame::-webkit-scrollbar-button {
    display: none;
}
.privacy_flame::-webkit-scrollbar-thumb, .privacy_flame::-webkit-scrollbar-corner {
    background: #fafafa;
}

/*===サンクスページ===*/
.thanks{
	background: url("../img/thanks_bg.jpg");
	background-size: cover;
	
}
.thanks .inner .small p{
	font-size: 0.8rem;
}
.thanks .sbtn a{
	margin-bottom: 20px;
}