/*
Theme Name:tomomi archive
*/

*{
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  margin: 0;
  padding: 0;
}

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 480px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

p{
  font-size: 8px;
  text-transform: uppercase;
  font-weight: 400;
  line-height: 1.5em;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
p{
  font-size: 6px;
  text-transform: uppercase;
  font-weight: 400;
  line-height: 1.7em;
}
}

.top-fv{
  position: relative;
  height: 100vh;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
  .top-fv{
  position: relative;
  height: 100dvh;
}
}

.top-text{
  margin: 1% 1% 0;
  font-weight: 600;
  font-size: 8px;
  text-transform: uppercase;
  line-height: 1.5em;
  position: absolute;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-text{
  margin: 1% 1% 0;
  font-weight: 600;
  font-size: 6px;
  text-transform: uppercase;
  line-height: 1.7em;
  position: absolute;
}
}

.top-text span{
font-weight: 400;
}

.top-text h1{
  font-weight: 600;
  font-size: 8px;
  display:inline;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.top-text h1{
  font-weight: 600;
  font-size: 6px;
  display:inline;
}
}

.fv{
  position: absolute;
  z-index: -1;
}

.fv img{
  width: 100vw;
  height: 100vh;
  object-fit: cover;
}

header{
  position: fixed;
  bottom: 50%;
  margin: 0 4%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 92%;
  z-index: 100;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
header{
  position: fixed;
  bottom: 40%;
  margin: 0 4%;
  display: flex;
  align-items:flex-start;
  justify-content: space-between;
  width: 92%;
  z-index: 100;
  line-height: .7em;
}
}

header a{
  text-decoration: none;
  color: #000000;
  font-weight: 600;
  font-size: 8px;
  text-transform: uppercase;
}


header a:hover{
  text-decoration:underline;
}

.title{
  margin-right: 200px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.title{
  margin-right: 0;
}
}

.navi{
  list-style: none;
  display: flex;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.navi{
  list-style: none;
  display: flex;
  margin-left: auto;
}
}

.navi li{
  margin-left: 16px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.navi li{
  margin-left: 10px;
}
}

.foot{
  list-style: none;
  display: flex;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.foot{
  list-style: none;
  display: block;
  text-align: right;
}
}

.foot li{
  margin-left: 16px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.foot li{
  margin-left: 10px;
}
}

.archiv-list{
  display: block;
  line-height: 0;
}

.archiv-list li a{
  text-decoration: none;
}


.archiv-list img{
  width: 100%;
  display: block;
}

.arvhive-contents img{
  width: 100%;
  display: block;
}

.service-contents{
  margin: 1% 1% 0 70%;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.service-contents{
  margin: 1% 1% 0 20%;
}
}

.service-contents h1{
  color: #000000;
  font-weight: 600;
  font-size: 8px;
  text-transform: uppercase;
}

.service-contents h2{
  color: #000000;
  font-weight: 600;
  font-size: 8px;
  text-transform: uppercase;
  margin-top: 8px;
}

.service-contents p{
  margin-top: 2px;
}

.policy-contents{
  position: relative;
  height: 100vh;
}

.policy-contents p{
  position: absolute;
  bottom: 1%;
  margin: 0 1%;
}

.policy-contents p span{
  font-weight: 600;
  font-size: 9px;
}

/* スマートフォン*/
@media (min-width: 0px) and (max-width: 480px) {
.policy-contents p span{
  font-weight: 600;
  font-size: 7px;
}
}

/*アニメーション*/
header,
.top-text,
.fv {
  opacity: 0;
}

/* 共通アニメーション */
.fade-in {
  opacity: 1;
  transform: translateY(0);
  transition: all 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.fv {
  opacity: 0;
}

.fv.fade-in {
  opacity: 1;
  transition: all 1.8s ease;
}

.archiv-list li {
  opacity: 0;
  transition: all 1s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 表示された状態 */
.archiv-list li.is-show {
  opacity: 1;
  transform: translateY(0);
}