/*
Theme Name: AFFINGER6 Child
Template: affinger
Description: AFFINGER6-Child
Author: StudioHikari Works
Version: 1.0
*/

:root {
 --white: #fff;
 --black: #323232;
 --blue: #002D72;
 --serif: serif;
 --sans_serif: sans-serif;
}

main {
	padding: 0!important;
}

section {
	position: relative!important;
}

/*ヘッダーセクション*/
@media screen and (min-width: 960px) {
	
header {
	background-color: var(--white)!important;
	position: sticky!important;
	top: 0;
	width: 100%!important;
	z-index: 999;
	border-bottom: 0.5px solid #323232;
}

#header-full {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 30px;
}

#header-full a {
	font-family: var(--serif);
	letter-spacing: 0.25em;
	font-weight: 400!important;
	font-size: 14px;
}
	
#headbox {
	padding: 15px 0!important;		
	}
	
#header-l {
    padding-left: 0!important;
}
	
	.menu {
		align-items: center;
		gap: 40px;
	}
	
.menu li {
	width: auto!important;
	}

.menu li:last-child {
	background-color: var(--black);
	height: 60px!important;
	padding: 0 25px;
}

.menu li:last-child a {
	color: var(--white)!important;
}
	
	.menu li:last-child:hover {
	background-color: dimgray!important;
}

.menu li:last-child a:hover {
	color: var(--white)!important;
}
	
}


@media screen and (max-width: 960px) {
	.acordion_button_search {
		display: none!important;
	}
	#st-mobile-logo {
		margin-left: -52px;
	}
	#st-mobile-logo {
		width: 180px;
	}
	header {
	background-color: var(--white)!important;
	position: sticky!important;
	top: 0;
	width: 100%!important;
	z-index: 999;
	border-bottom: 0.5px solid #323232;
}
	#s-navi dt.trigger {
		height: 70px!important;
	}
}


/*MVセクション*/
	.mv {
		width: 100%;
		height: 80vh;
		background: url(https://studiohikari-works.com/wp-content/uploads/2025/11/main_background.png);
		background-size: cover;
		background-position: bottom;
	}
	.idx_h1 {
		font-family: var(--serif)!important;
		font-size: 12px;
		color: #fff;
		letter-spacing: 0.3em;
		text-align: right;
		position: absolute;
		top: 15px;
		right: 30px;
	}

.idx_catch {
	display: block;
	position: absolute;
	width: 370px;
	height: 270px;
	padding: 30px;
	bottom: 100px;
	left: 120px;
	background-color: rgba(255, 255, 255, 0.9);
	box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.7);
}

.idx_catch h2 {
	text-align: center;
}

.idx_catch h2 span {
	font-family: var(--serif)!important;
	font-size: 34px;
	letter-spacing: 0.2em;
	line-height: 51px;
}

.idx_catch a {
	font-family: var(--serif)!important;
	color: #fff;
	background-color: var(--black);
	text-decoration: none;
	font-size: 16px;
	letter-spacing: 0.2em;
	text-align: center;
	padding: 15px 20px;
	display: block;
	width: 200px;
	margin: 45px auto 0;
}



/*  サービスプランセクション  */
.services_menu {
	width: 1300px;
	max-width: 100%;
	display: flex;
	margin: 100px auto 0;
	justify-content: space-between;
}

.services_content {
	position: relative;
	width: 350px;
	height: 200px;
	overflow: hidden;
	box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.25);
}

/* 共通アニメーション */
/* 共通アニメーション */
/* ---- ベース ---- */
.bg-basic, .bg-plus, .bg-master {
	position: absolute;
	width: 200%;
	height: 200%;
	top: -50%;
	left: -50%;
	background-size: 300%;
	animation: slide 6s ease-in-out infinite alternate;
	opacity: .9;
	filter: contrast(110%) brightness(103%) saturate(110%);
	z-index: 0;
	border-radius: inherit;
}

/* ---- Gold / Metallic animation speed variation ---- */
.bg2 {
	animation-direction: alternate-reverse;
	animation-duration: 3s;
}
.bg3 {
	animation-duration: 6s;
}

/* PLUS → シルバー系 */
.bg-basic {
  background-image: linear-gradient(-45deg, #ffffff, #f2f1e6, #d9d8ce, #ffffff);
  background-size: 600% 600%;
  animation: gradientMove 10s ease infinite;
}

.bg-plus {
  background-image: linear-gradient(-45deg, #e8dda5, #e0d077, #d4bb39, #e8dda5);
  background-size: 600% 600%;
  animation: gradientMove 10s ease infinite;
}

.bg-master {
  background-image: linear-gradient(-45deg, #bfbebc, #8c8b8a, #a5a5a3, #bfbebc);
  background-size: 600% 600%;
  animation: gradientMove 10s ease infinite;
}

@keyframes gradientMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }

/* ---- Text ---- */
.services_content {
	text-align: center;
	outline: 1px solid #000;
	outline-offset: -10px;
}

.services_content p span{
	position: relative;
	z-index: 2;
	font-size: 24px;
	font-weight: bold;
	font-family: var(--serif);
}

.services_content p{
	font-size: 16px;
	letter-spacing: 0.1em;
	font-family: var(--serif);
	margin-top: 20%;
	position: relative;
	z-index: 2;
}


/*  サービス概要  */
.feature_column {
	margin-top: 100px;
}

.section_title span {
	color: #1563A6!important;
	font-size: 130px;
	line-height: 110px;
	display: block;
}

.section_subtitle {
  padding: 0 0 0 30px !important;
  margin: 0 !important;
  font-family: var(--serif) !important;
  font-size: 16px !important;
  letter-spacing: 0.2em;
  color: #333 !important;
  line-height: 22px !important;
}

.feature_content {
	width: 100%;
	height: 800px;
	position: relative !important;
	background-size: cover;
	background-position: right;
}

.feature_content.first {
	background-image: url(https://studiohikari-works.com/wp-content/uploads/2025/11/feature_01.png);
}

.feature_content.second {
	background-image: url(https://studiohikari-works.com/wp-content/uploads/2025/11/feature_02.png);
}

.feature_content.third {
	background-image: url(https://studiohikari-works.com/wp-content/uploads/2025/11/feature_03.png);
}

.feature_content .title {
	position: absolute !important;
	writing-mode: vertical-rl;
	color: #fff;
	font-size: 100px;
	letter-spacing: 0.05em;
	font-weight: bold;
	top: 12.5vh;
	left: 75px;
}

.content-inner-wrapper {
	position: absolute !important;
	display: block;
	width: 700px;
	max-width: 80%;
	right: 200px;
	top: 200px;
}

.content-inner-wrapper h2 {
	padding-left: 0 !important;
}

.feature_content h2 span {
	color: #fff;
	font-family: var(--serif) !important;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	font-size: 70px;
	letter-spacing: 0.2em;
	line-height: 80px;
}

.feature_content h2 span span {
	font-size: 35px;
	letter-spacing: 0.2em;
}

.feature_content-inner {
	color: #fff;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.9);
	font-size: 32px;
	letter-spacing: 0.1em;
}

.feature_content-inner p {
	margin-top: 100px;
}

.contact_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 400px;
  height: 100px;
  line-height: 100px;  /* 縦中央 */
  margin: 50px auto 0;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.2em;
  color: #fff;
  background-color: #1563A6;
  border-radius: 50px;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);
  outline: 1px solid #fff;
  outline-offset: -7.5px;
}

.contact_btn p {
	font-family: var(--serif)!important;
	font-size: 20px;
}


/* プラン紹介セクション */
.plan_content-wrapper {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	width: 1300px;
	margin: 50px auto 0;
	gap: 50px;
	text-align: center;
}

.plan_content {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 400px;
	height: 300px;
	background-color: #666666;
	margin: 0 auto;
	color: #fff;
}

.plan_content p{
    font-family: var(--serif) !important;
	font-size: 16px;
	line-height: 32px;
}

.plan_content p span{
    font-family: var(--serif) !important;
	font-size: 24px;
}

.flow_chart .plan_content {
	background-color: #fff;
	color: #323232;
	border: 1px solid #666;
	letter-spacing: 0.15em;
}

.contact_section {
	width: 100%;
	margin: 100px auto 0;
	height: 750px;
	background-image: url(https://studiohikari-works.com/wp-content/uploads/2025/11/contact_bg.png);
}

.contact_section h2 {
	text-align: center !important;
	font-size: 90px !important;
    color: rgb(21, 99, 166) !important;
	line-height: 180px !important;
}

.contact_section p {
	width: 1000px;
	max-width: 90%;
	margin: 0 auto;
	font-family: var(--serif);
	letter-spacing: 0.2em;
	font-size: 16px;
	line-height: 32px;
}


.contact_btn-mini {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 70px;
  line-height: 70px;  /* 縦中央 */
  margin: 75px auto 0;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.2em;
  color: #fff;
  background-color: #1563A6;
  border-radius: 35px;
  outline: 1px solid #fff;
  outline-offset: -7.5px;
}

.contact_btn-mini p {
	font-family: var(--serif)!important;
	font-size: 16px;
}



/* フッターエリア */
.footermenust li {
	padding: 0 20px !important;
}

.copyr {
	text-align: right !important;
	font-size: 18px !important;
	letter-spacing: 0.025em;
}