@charset "utf-8";
/* CSS Document */
body{background-color:#1D8968;}
/*------------------------------------------------------------------------------*/
body, textarea {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;} 
input, select {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;} 
/*------------------------------------------------------------------------------*/
a: {text-decoration: none;}
a:link {color:#fff;text-shadow: 0px 0px 3px #fff8ca;} /*未訪問のリンクの色*/
a:visited {color:#fffcae;text-shadow: 0px 0px 3px #fff8ca;} /*訪問済みのリンクの色*/
a:hover {color:#fffcae;text-shadow: 0px 0px 3px #fffa7c;} /*カーソルが乗っているリンクの色*/
a:hover img{
     -webkit-filter: brightness(1.1);
     -moz-filter: brightness(1.1);
     -o-filter: brightness(1.1);
     -ms-filter: brightness(1.1);
     filter: brightness(1.1);}
a:active {color:#fff;} /*クリック中のリンクの色*/
.cf a:link {color:rgba(255,255,255,0);text-shadow: 0px 0px 0px rgba(255,255,255,0);}
.cf a:visited {color:rgba(255,255,255,0);text-shadow: 0px 0px 0px rgba(255,255,255,0);}
.cf a:hover {color:rgba(255,255,255,0);text-shadow: 0px 0px 0px rgba(255,255,255,0);}
.link1 a:link {color:#15342f;}
.link1 a:visited {color:#8EC790;}
.link1 a:hover {color:#8EC790;}
h1{
transform: rotate(.03deg);
color:#fff;
display: inline-block;
font-size: 3em;
text-decoration:none;
line-height: 140%;
font-weight: 600;
position: relative;
padding: 0 0;
text-align: center;
text-shadow: 0 0 5px rgba(255,230,90,1);}

h3{
font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
color:#d1fff7;
font-size: 3em;
line-height: 120%;
font-weight: 500;
text-align: center;
text-shadow: 0 0 5px rgba(255,230,90,1);
}


/* --- 概要テーブル ------------------------------------------- */
.company-t{
text-align:center; margin: 5%; padding: 2em;
background-image: linear-gradient(90deg, rgba(253, 246, 233, 0.9), rgba(244, 254, 254, 0.9));
border-radius: 2em;
} 
.company-t h5{
font-size: 2.5em;color:#989772;
margin:2% auto 2% auto;font-weight: 500;
}
.company-t table{
margin:auto; padding: 2em; background-image: linear-gradient(40deg, rgba(245, 247, 253, 0.3), rgba(255, 255, 255, 0.7) 22%, rgba(255, 251, 255, 0.7) 78%, rgba(255, 247, 234, 0.4) 100%);
}
.company-t th{
   width: 35%;  border-bottom:solid 1px #8EC790;padding:2% 2%; color:#919067;
}
.company-t td{  border-bottom:solid 1px #cac5b4;
  width: 60%;text-align:left; padding:2% 2%;color:#15342f;}

@media screen and (max-width: 1080px) {
.company-t h5{width:85%;}

}
@media screen and (max-width: 900px) {
.company-t h5{
   width:95%;}
}
.en-txt{color:#a1a18d; font-weight: 400; font-size: 0.8em;}
.en-txt{color:#a1a18d; font-weight: 400; font-size: 0.8em;}
.en-txt-td{color:#767671; font-weight: 400; font-size: 0.8em;}
/* --- テーブル ------------------------------------------- */
.bg-full {
	position: relative;
	width: 100%;
	height: 1225px;
	background: url("../img/top-bg.png") center / cover;
	background-repeat: no-repeat;
	background-size: contain;
	display: flex;
	justify-content: center;
	align-items: center;
	
}
@media only screen and (max-width:1500px){
.bg-full {
	height: 1000px;
	}
h1{
	font-size: 2.5em;}}
@media only screen and (max-width:1300px){
.bg-full {
	height: 900px;
	}}
@media only screen and (max-width:1200px){
.bg-full {
	height: 800px;
	}}
@media only screen and (max-width:1080px){
.bg-full {
	height: 750px;
	}
h1{
	font-size: 2em;}}
@media only screen and (max-width:950px){
.bg-full {
	height: 680px;
	}}
@media only screen and (max-width:800px){
.bg-full {
	height: 580px;
	}}
/* ナビ */
#nav {
width: 100%;
font-size: 1em;
font-weight: 300;
line-height: 1.4;
}
#nav ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content:flex-end;
  list-style-type: none;
  margin-right: 2em;
  } 
#nav li {
display: inline-block;
float: left;margin-right: 1em;
letter-spacing: .1rem;} 


@media screen and (max-width: 1100px) {
#nav ul,li,a {
padding:0;
margin:0;
display: block;text-decoration: none;
	}

#nav ul{
display: -webkit-flex;
display: flex;
  flex-wrap: wrap;
  justify-content: center;
padding: 10px 10px 5px 10px;

}}
@media screen and (max-width: 700px) {
#nav ul{padding: 20px;
}}

@media screen and (max-width: 500px) {
#nav ul{padding: 15px;
}}

/* ロゴ */
.logo-box{
list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
position: relative;
margin-top: 1em;
}

.logo-box1{
width: 50%;
display: inline-block;
float:left;
list-style-type: none
}

.logo-box2{
font-size: 1em;
text-align:right;
  position: absolute;
  right: 2em;
  bottom: 3em;
  margin-right: 1.5em;
  color: #fff;
  text-shadow: 0px 0px 3px #fff;
}


@media screen and (max-width: 1100px) {
.logo-box{
text-align:center;
margin: auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: center;}

.logo-box1{
width:100%;
text-align:center;
margin: auto;
}

.logo-box2{
width:70%;
height: 10%;
text-align:center;
margin: 5px auto 30px auto;
font-size: 1em;
position: static;
}}
@media screen and (max-width: 900px) {
.logo-box{letter-spacing:1px;}
.logo-box1{
width:95%;
}
.logo-box2{
width:85%;
margin: 5px auto 0 auto;
}}
@media screen and (max-width: 500px) {
.logo-box{letter-spacing:0px;}
.logo-box1{
width:95%;letter-spacing:0px;line-height: 160%;
}
.logo-box2{
width:85%;letter-spacing:0px;
margin: 5px auto 0 auto;
}}

.btn {
  position: relative;
  padding: 5px;
  display: inline-block;
  transition: .3s;
  color: #fff;
  text-decoration: none;
  text-shadow: 0 0 5px rgba(255,255,240,0.6);
  gap:1em;
}
.btn::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  content: '';
  width: 0;
  height: 1px;
  background-color: #ffed46;
  transition: .3s;
  transform: translateX(-50%);
  text-shadow: 0 0 5px rgba(255,230,90,1);
}
.btn:hover::after {
  width: 100%;
}

.footer {
  margin-top: 5em;
  padding: 2rem;
  font-size: 15px;
  color: #fff;
  border-top: 1px solid #e5e7eb;
}
.footer ul {
  list-style: none;
  padding: 0;
}
.footer a {
  color: #fffeb4;
}
.footer a:hover {
  color: #fffeb4;
}
@media (min-width: 768px) {
  .footer {
    display: flex;
    justify-content: space-between;
  }
  .md-flex {
    display: flex;
  }
  .md-flex li + li {
    margin-left: 16px;
  }
}
.copyright{text-align: center;
text-shadow: 0px 0px 3px #fff8ca;}

.view{
    width: 250px;
    position: relative;
    overflow: hidden;
}
.view::after{
    content: "";
    display: block;
    width: 200%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,1) 100%);
    transform: translateX(-50%);
    transition: all .3s ease-in-out .3s;
}
.view img{
    vertical-align: middle;}
.view.js-on::after{
    animation: viewinMask 1s ease-in-out forwards;}
@keyframes viewinMask{
    0%{
        transform: translateX(-50%);
    }
    100%{
        transform: translateX(50%);
    }}
/* スクロール画面 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.container {
  width: 100%;
  height: calc(400vh + 10px);
}
.mv {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url("img/topimg01.png") no-repeat center center /
    cover;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 56px;
  transition: background-image 0.4s;
}
/* スクロール画面2 */
.area-wrap {
  overflow: auto;
  scroll-snap-type: y mandatory;
  height: 100vh;
}
.area {
  scroll-snap-align: start;
  height: 100vh;
}