/* =======================================================================
   共通項目
========================================================================== */

/* ========== ぜんたい ========== */
body {
	list-style: none;
	font-size: 10px;
	font-family: "Sawarabi Mincho", Arial, serif;
}

@media (max-width:1024px) {
	.pc-only {
		display: none !important;
	}
	
}
@media (min-width:1025px) {
	.sp-only {
		display: none !important;
	}
	
}
a {
	text-decoration: none;
}

/* ========== pagetopへ戻るボタン ========== */
#page-top a{
    position: fixed;
    right: 25px;
    bottom:25px;
    width:50px;
    height:50px;
    border-radius:25px;
    border:none;
    background:#ff5722;
    color: #fff;
    padding:0px;
    z-index:20000;
    font-size:16px;
    font-weight: lighter;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}
#page-top a:hover{
    background-color:#fff;
    border:#ff5722 solid 1px;
    color:#ff5722;
}


/* ========== バーガーメニュー ========== */
.drawer-hidden {
	display: none;
}

.drawer-open {
	background: rgba(255, 255, 255, 0.5);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
	right: 2%;
	top: 300px;
	position: fixed;
	z-index: 1000;
	cursor: pointer;
	width: 50px;
	height: 130px;
}

.drawer-open::before,
.drawer-open::after {
    content: '';
    position: absolute;
	top: 20px;
    height: 2px;
    width: 35px;
    background-color: #000;
    transition: transform 0.3s ease;
}

.drawer-open:before {
    transform: translateY(-10px);
}

.drawer-open:after {
    transform: translateY(10px);
}

#drawer-check:checked ~ .drawer-open:before {
    transform: rotate(45deg) translate(0, 0);
}

#drawer-check:checked ~ .drawer-open:after {
    transform: rotate(-45deg) translate(0, 0);
}

#drawer-check:checked ~ .drawer-open {
    background-color: transparent; 
}

/* アイコン下テキスト */
.drawer-open span {
	position: relative;
	top: 50px;
	font-size: 2rem;
	display: block;
	writing-mode: vertical-lr;
}

.drawer-content {
	width: 60vw;
	height: 100vh;
	position: fixed;
	top: 0;
	right: -60vw;
	z-index: 999;
	background: rgba(255, 255, 255, 0.9);
	transition: 0.3s;
	overflow-y: scroll;
}

.drawer-content-block {
	font-size: 1.6rem;
}

.drawer-list {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding: 2em;
}

.drawer-list li {
	font-family: sans-serif,Arial;
	height: 500px;
	writing-mode: vertical-rl;
}

.drawer-list li a {
	display: block;
	margin-top: 15px;
	padding: 0 .75em;
	border-left: 1px solid rgba(255, 123, 97, .8);
	font-size: clamp(1rem, 1vw + 1rem, 2.2rem);
}

.drawer-list li a:hover {
	background:rgba(255, 123, 97, .8);

}

#drawer-check:checked~.drawer-content {
	right: 0;
}

@media (max-width:1024px) {
	.drawer-content {
		width: 80vw;
		height: 100vh;
		position: fixed;
		top: 0;
		right: -80vw;
		/* メニューを画面の外に飛ばす */
		z-index: 999;
		background: rgba(255, 255, 255, 0.9);
		transition: 0.3s;
		overflow-y: scroll;
	}
}

@media (max-width:768px) {
	.drawer-list li a {
		margin: 30px 0;
	}
}



/* ========== 制作依頼・ご相談 ========== */
.contact {
	display: block;
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 1280px;
	aspect-ratio: 2.82/1;
	background: url(../../img/jinja/arrow-right-hover.png),url(../../img/jinja/bnr_contact.png) no-repeat;
    background-size: 5%, contain;
	background-position: 35% 90%,0% 0%;
	background-repeat: no-repeat, no-repeat;
	transition: 0.5s;
}

.contact::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 50.3%;
  background-color: rgba(255, 255, 255, 0.5);
  background-blend-mode: lighten;
  width: 50%;
  z-index: 2;
  transition: 0.5s; /* transitionを追加 */
}

.contact:hover::after {
	background-color: rgba(255, 255, 255, 0);
}

.contact:hover {
	background-position: 40% 90%,0% 0%;
}

.contact-cover {
	width: 50%;
	padding: 3%;
}
.contact-title {
	width: 50%;
}
.contact-title img {
	width: 100%;
	min-width: 150px;
}

.contact-text {
	margin-top: 2em;
	color: #fff;
}
.contact-text span {
    font-size: clamp(1.0rem, .75vw + .9rem, 2.0rem);
}

@media (max-width:1024px) {
	.contact {
		height: 250px;
		background: url(../../img/jinja/bnr_contact.png) no-repeat;
		background-size: cover;
		background-position:28% 0;
		background-repeat: no-repeat;
	}
	.contact::after {
		width: 0;
	  }
	.contact-cover {
		padding: 3%;
	}
}
@media (max-width:800px) {
	.contact {
		height: 210px;
	}
}
@media (max-width:415px) {
	.contact-cover {
		width: 60%;
	}
}



/* ========== フッター ========== */
footer {
	margin: 0 auto;
	margin-top: 10%;
	width: 80%;
	max-width: 1280px;
	display: flex;
	justify-content: center;
}

.footer-logo {
	width: 200px;
	height: 320px;
	background-image: url(../../img/jinja/footer-logo.png);
	background-size: contain;
	background-repeat: no-repeat;
	margin-right: 5%;
}

.footer-logo img {
	width: 100%;
}

footer p {
	margin: 0 1em;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-family: MS 明朝 標準;
	font-size: clamp(1.2rem, 1vw + 1rem, 2.0rem);
}

.footer-mizuki-link-icon {
	width: 75px;
	aspect-ratio: 2.1/1;
	background-size: cover;
	background-image: url(../../img/jinja/footer-icon.png);
}

.footer-jinja-link {
	display: flex;
	margin-right: 5%;
	position: relative;
	top: 65px;
}
.footer-jinja-link a {
	color: #776A6A !important;
	transition: .3s;
	display: inline-block;
}
.footer-jinja-link p {
    position: relative; /* 要素の位置を相対的にする */
}
.footer-jinja-link p::before {
    content: ''; /* コンテンツなし */
    position: absolute; /* 要素の絶対位置 */
    top: -30px; /* 上部から1pxの位置 */
    left: 0; /* 左端からの位置 */
    width: 2em; /* 幅 */
    height: 0; /* 高さを0に設定 */
    background-color: #FF7B7B; /* 背景色 */
    transition: height 0.3s; /* 高さの変化をアニメーション化 */
    z-index: -1; /* 背景よりも後ろに表示 */
}
.footer-jinja-link p:hover::before {
    height: 3px; /* ホバー時に背景を表示 */
}
.footer-jinja-link a:hover {
	color: #000 !important;
	transform: scale(1.1);
}

.footer-mizuki-link {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: center;
}

.footer-mizuki-link-text {
	display: flex;
	position: relative;
	top: 30px;

}
.footer-mizuki-link-text a {
	color: #DA5520 !important;
	transition: .3s;
	display: inline-block;
}
.footer-mizuki-link-text a:hover {
	color: #FF6161 !important;
	transform: scale(1.1);
}

@media (max-width:695px) {
	footer {
		width: 92%;
	}
	footer p {
		margin: 10px;
	}
	.footer-logo {
		width: 100px;
		height: 160px;
	}
	.footer-mizuki-link-icon {
		width: 50px;
	}
	.footer-jinja-link {
		top: 40px;
	}
	.footer-mizuki-link-text {
		top: 15px;
	}
}

