/* ---------- ヘッダー -------- */
.site-logo {
	color: #fff;
	z-index: 100;
}
.menu {
	color: #000;
	z-index: 100;
}

header {
  background: #fff;
	position: fixed;
	width: 100% !important;
	z-index: 10;
}


/* ---------- Contents -------- */

/* --- 共通 --- */
h2.title{
		font-size: 26px;
}
/* SP */
@media(max-width:767px){
	/* text */
	p.text {
		font-size: 14px;
	}
}
/* PC */
@media(min-width:768px){
	/* text */
	p.text {
		font-size: 16px;
	}
}

/* --- 動画エリア --- */
.video-area{
	margin-bottom: calc(100vh - 60px);
}
/* SP */
@media(max-width:767px){
	.video-area{
	margin-bottom: calc(100vw - 20px);
	}
}
.video-wrapper {
	position: absolute;
  width: 100%;
  left: 0;
  top: 65px;
  height: 100%;
  object-fit: cover;
}
video{
	width: 100%;
}
/* SP */
@media(max-width:767px){
	.video-wrapper.pc{
		display: none;
	}
}
/* PC */
@media(min-width:768px){
	.video-wrapper.sp{
		display: none;
	}
}


/* SP あとで消す */
@media(max-width:767px){
	.eye-catch-image img{
		margin-left: -1.5rem;
  	max-width: calc(100% + 3rem);
	}
}


/* --- NEWSエリア --- */
/* 文字を小さく表示する */
.wp-block-latest-posts__list li{
    padding-bottom: 15px;
}
.wp-block-latest-posts .wp-block-latest-posts__post-title {
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 0;
}


/* --- ポエムエリア --- */

/* これはanimationさせるための記述 */
.poem-area h2.title em{
	display: inline-block;
}

/* 共通 */
.poem-area h2.title{
	font-family: YuGothic, "Yu Gothic", "Hiragino Sans", Meiryo, "MS PGothic", sans-serif;
	font-style: italic;
}

/* SP */
@media(max-width:767px){
	.poem-area h2.title{
		font-size: 40px;
		height: 100px;
	}
	.poem-area h2.title .style-first{
		position: absolute;
    left: calc(50% - 160px);
	}
	.poem-area h2.title .style-second{
		position: absolute;
    right: calc(50% - 160px);
	}
	h2.contact{
		font-size: 22px;
	}
	.poem-area h2 {
		position: relative;
	}
}
/* PC */
@media(min-width:768px){
	.poem-area {
		position: relative;
	}
	.poem-area h2.title{
		position: relative;
		text-align: center;
		font-size: 50px;
		height: 140px;
	}
	.poem-area h2.title .style-first{
		position: absolute;
    left: calc(50% - 215px);
	}
	.poem-area h2.title .style-second{
		position: absolute;
    right: calc(50% - 215px);
	}
}

/* ---------- footer -------- */
footer {
	padding-top: 30px;
}
/* SP */
@media(max-width:767px){
	footer {
		margin: 0 -24px;
		width: calc(100% + 48px);
		background: #eee;
	}
	footer ul {
		line-height: 0.5;
	}
	footer li a{
		text-decoration: underline;
		font-size: 14px;
	}
}


/* ---------- 投稿 -------- */

h1.wp-block-post-title {
	font-size: 28px;
}


/* ---------- アニメーション -------- */

/* fadeUp */
.fadeUp{
	animation-name:fadeUpAnime;
	animation-duration:2s;
	animation-delay:0.5s;
	animation-fill-mode:forwards;
	opacity:0;
}

.fadeUpDelay{
animation-name:fadeUpAnime;
animation-duration:2s;
	animation-delay:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  	transform: translateY(100px);
  }
  to {
    opacity: 1;
  	transform: translateY(0);
  }
}
 
.fadeUpTrigger, .fadeUpDelayTrigger, .fadeRightTrigger, .fadeLeftTrigger{
    opacity: 0;
}

/* 左から */
.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  	transform: translateX(-100px);
  }
  to {
    opacity: 1;
  	transform: translateX(0);
  }
}

/* 右から */
.fadeRight{
animation-name:fadeRightAnime;
animation-duration:1.5s;
	animation-delay: 0.8s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}


/* ---------- 固定ページ -------- */

/* --- puzzle --- */

/* PC */
p.title-description{
	font-size: 14px;
	margin-top: 5px;
}

figure.fixed-page-puzzle{
    display: block;
    position: absolute;
    opacity: 0.1;
    left: calc(50% + 70px);
    top: 105px;
    width: 100px;
		height: auto;
    transform: rotate(150deg);
}
figure.fixed-page-puzzle.works{
    opacity: 0.15;
    left: calc(50% - 200px);
    top: 100px;
    transform: rotate(-40deg);
}
figure.fixed-page-puzzle.company{
    opacity: 0.1;
    left: calc(50% - 200px);
    top: 100px;
    transform: rotate(40deg);
}
figure.fixed-page-puzzle.contact{
    opacity: 0.1;
    left: calc(50% + 75px);
    top: 100px;
    transform: rotate(0deg);
}

/* Safari対応 */
_::-webkit-full-page-media,
_:future,
:root figure.fixed-page-puzzle {
  top: 95px;
}

/* Firefox対応 */
@-moz-document url-prefix() {
  figure.fixed-page-puzzle, figure.fixed-page-puzzle.works, figure.fixed-page-puzzle.company, figure.fixed-page-puzzle.contact {
		top: 95px;
	}
}

/* SP */
@media(max-width: 767px) {
    figure.fixed-page-puzzle{
        top: 110px;
        width: 95px;
    }
    figure.fixed-page-puzzle.works{
        left: calc(50% - 170px);
        top: 105px;
        width: 95px;
    }
    figure.fixed-page-puzzle.company{
        left: calc(50% - 170px);
        top: 105px;
        width: 90px;
    }
	figure.fixed-page-puzzle.contact{
        top: 105px;
        width: 90px;
    }
	
	/* Safari対応 */
	_::-webkit-full-page-media,
	_:future,
	:root figure.fixed-page-puzzle {
		top: 100px;
	}
}

/* --------- COMPANY --------  */

table.company {
	width: 100%;
	font-size: 16px;
	border-collapse: collapse;
}
h2.company {
	font-size: 22px;
}
p.company {
	font-size: 16px;
}

.company th,
.company td {
	border-bottom: 1px solid #e8e8e8;
	padding: 20px 10px 20px;
	vertical-align: top;
	min-width: 86px;
}


@media screen and (max-width: 767px) {
	table.company {
		font-size: 14px;
	}
	p.company {
		font-size: 14px;
	}
}


/* ---------- WORKS -------- */

h2.works {
	font-size: 22px;
}

.works p{
	font-size: 14px;
}

.works figcaption{
	margin-top: 10px;
	text-align: left;
}

/* ---------- SERVICE あとで消す -------- */

.service1 h2 {
	font-size: 22px;
}
.service1 p{
	font-size: 16px;
}

/* ---------- SERVICE -------- */

.service h2 {
	font-size: 22px;
}
.service li, .service p{
	font-size: 16px;
}
.service figure img{
    height: 240px;
		width: 100%;
    object-fit: cover;
}
.service figure.h-260 img{
    height: 260px;
}
.object-position-right img{
    object-position: right;
}
.object-position-left img{
    object-position: left;
}


@media(min-width:768px){
	.service h2.mt-35{
		margin-top: 35px;
	}
	.service h2.mt-20{
		margin-top: 20px;
	}
}
@media(max-width: 767px) {
	.service h2 {
		margin-left: 15px;
	}
	.service p{
		font-size: 14px;
		margin-left: 10px;
	}
	.service .mb-30{
		margin-bottom: 30px;
	}
}


