@charset "utf-8";

/* ==========================================================================
   5-STAR Renewal $2014 Common (TOP / 将来の下層共通化用)
   PC優先・PHP 7.4 環境
   ========================================================================== */
:root {
	--r-bp-sp-max: 798px;
	--r-bp-tb-min: 1024px;
	--r-bp-pc-min: 1424px;

	/* Layout */
	--r-container-max: 1320px;
	--r-container-padding: 40px;
	--r-section-padding-y: 80px;

	/* Color */
	--r-color-red: #e60013;
	--r-color-red-dark: #c40010;
	--r-color-black: #000;
	--r-color-white: #fff;
	--r-color-brown-dark: #4a3426;
	--r-color-brown: #6b4f3a;
	--r-color-brown-mid: #8b6f52;
	--r-color-beige: #f3ebe0;
	--r-color-beige-light: #faf6f0;
	--r-color-gray: #767a89;
	--r-color-gray-dark: #3d3d3d;
	--r-color-pink: #f06b9b;
  --color-brown-light: #897b69;
  --color-red-dark02: #231815;
  
  
  

	/* Font */
	--r-font-base: 'Noto Sans JP', sans-serif;
	--r-font-size-base: 16px;
	--r-line-height: 1.8;

	/* Radius */
	--r-radius-btn: 999px;
	--r-radius-card: 12px;
	--r-radius-card-lg: 20px;

	/* Shadow */
	--r-shadow-card: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.home .header-box {
  background-color: var(--color-red-dark02);
}



/* --------------------------------------------------------------------------
   TOPページのみ：既存 style.css の制約を緩和
   -------------------------------------------------------------------------- */
body.home, body.r-renewal-lower {
	font-family: var(--r-font-base);
	font-size: var(--r-font-size-base);
	line-height: var(--r-line-height);
	color: var(--r-color-black);
	background-color: var(--r-color-white);
}

/*
body.home .warpper, body.r-renewal-lower .warpper {
	min-width: 0;
	max-width: none;
	width: 100%;
}
*/

/*
body.home img, body.r-renewal-lower img {
	display: block;
	max-width: 100%;
	height: auto;
}
*/

/*
body.home a,
body.r-renewal-lower a {
	color: inherit;
	text-decoration: none;
}
*/

/* --------------------------------------------------------------------------
   Layout
   -------------------------------------------------------------------------- */
.r-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--r-container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--r-container-padding);
	padding-right: var(--r-container-padding);
}

.r-section {
	position: relative;
	width: 100%;
}

.r-section__inner {
	position: relative;
	z-index: 1;
}

/* 全幅背景（ヘッダー・背景画像用） */
.r-section--full {
	width: 100%;
}

/* --------------------------------------------------------------------------
   Section heading（ヒラギノ見出しは画像）
   -------------------------------------------------------------------------- */
.r-section-title {
	margin: 0 0 40px;
	text-align: center;
}

.r-section-title img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.r-section-title--left {
	text-align: left;
}

.r-section-lead {
	margin: 0 0 32px;
	font-size: 15px;
	font-weight: 300;
	line-height: 2;
	text-align: center;
	color: var(--r-color-black);
}

.r-section-lead--left {
	text-align: left;
}

/* --------------------------------------------------------------------------
   Button
   -------------------------------------------------------------------------- */
.r-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 240px;
	padding: 16px 40px;
	font-family: var(--r-font-base);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	border: none;
	border-radius: var(--r-radius-btn);
	cursor: pointer;
	transition: background-color 0.3s, opacity 0.3s;
}

.r-btn--primary {
	color: var(--r-color-white);
	background-color: var(--r-color-red);
}

.r-btn--primary:hover {
	background-color: var(--r-color-red-dark);
}

.r-btn--outline {
	color: var(--r-color-brown-dark);
	background-color: var(--r-color-white);
	border: 1px solid var(--r-color-brown-mid);
}

.r-btn__arrow {
	display: inline-block;
	font-size: 14px;
	line-height: 1;
}

.r-btn-wrap {
	margin-top: 40px;
	text-align: center;
}

.r-btn-wrap--left {
	text-align: left;
}

/* --------------------------------------------------------------------------
   Card（共通ベース）
   -------------------------------------------------------------------------- */
.r-card {
	box-sizing: border-box;
	overflow: hidden;
	background-color: var(--r-color-white);
	border-radius: var(--r-radius-card);
	box-shadow: var(--r-shadow-card);
}

.r-card__body {
	padding: 24px;
}

.r-card__title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

.r-card__text {
	margin: 0;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.8;
}

/* --------------------------------------------------------------------------
   Utility
   -------------------------------------------------------------------------- */
.r-text-center {
	text-align: center;
}

.r-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --------------------------------------------------------------------------
   TOP Header（全サイズハンバーガー）
   -------------------------------------------------------------------------- */









/*
body.home .r-header .header-ul , body.r-renewal-lower .r-header .header-ul {
	padding: 24px 20px 80px;
}
*/

/*
body.home .r-header .header-ul > li > span > a, body.r-renewal-lower .r-header .header-ul > li > span > a,
body.home .r-header .header-ul > li > a , body.r-renewal-lower .r-header .header-ul > li > a {
	color: var(--r-color-brown-dark);
	font-size: 16px;
	font-weight: 700;
}
*/

/*
body.home .r-header .header-ul .pc-none , body.r-renewal-lower .r-header .header-ul .pc-none {
	display: block;
}
*/

body.home .r-top {
	padding-top: 0;
}


/*
@media screen and (min-width: 799px) {
	body.home.has-r-sp-cta,
	body.r-renewal-lower.has-r-sp-cta {
		padding-bottom: 0;
	}

	body.home.has-r-sp-cta .r-sp-cta,
	body.r-renewal-lower.has-r-sp-cta .r-sp-cta {
		display: none;
	}

	body.home .r-header__actions , body.r-renewal-lower .r-header__actions {
		display: flex;
	}

	body.home .r-top {
		padding-top: 0;
	}

	body.home .r-header .nav , body.r-renewal-lower .r-header .nav {
		top: 0;
	}

	body.home .r-header .nav.open , body.r-renewal-lower .r-header .nav.open {
		top: 0;
	}
}
*/



/* style.css / front-page.css の fixed をTOPでは無効化 */
/*
@media screen and (min-width: 769px) {
	body.home .r-header , body.r-renewal-lower .r-header {
		position: relative !important;
		top: auto !important;
		left: auto;
		right: auto;
		margin: 0;
		border-radius: 0;
	}



	body.home .r-header .nav , body.r-renewal-lower .r-header .nav {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		transform: translateX(100%);
		opacity: 0;
	}

	body.home .r-header .nav.open , body.r-renewal-lower .r-header .nav.open {
		transform: translateX(0);
		opacity: 1;
	}

	body.home .r-header .header-ul , body.r-renewal-lower .r-header .header-ul {
		display: block;
		flex-direction: column;
	}

	body.home .r-header .header-ul > li , body.r-renewal-lower .r-header .header-ul > li {
		display: block;
		width: 100%;
	}

}
*/




/* --------------------------------------------------------------------------
   Section scroll animations (PC)
   -------------------------------------------------------------------------- */
@keyframes r-anim-fade-up {
	from {
		opacity: 0;
		transform: translateY(30px);
	}

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

@keyframes r-anim-fade-left {
	from {
		opacity: 0;
		transform: translateX(-30px);
	}

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

@keyframes r-anim-fade-right {
	from {
		opacity: 0;
		transform: translateX(30px);
	}

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

@keyframes r-anim-slide-reveal-left {
	from {
		opacity: 0;
		clip-path: inset(0 100% 0 0);
	}

	to {
		opacity: 1;
		clip-path: inset(0 0 0 0);
	}
}

@keyframes r-anim-fade-down {
	from {
		opacity: 0;
		transform: translateY(-30px);
	}

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

@keyframes r-anim-zoom-in {
	from {
		opacity: 0;
		transform: scale(0.9);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes r-anim-rotate-y {
	from {
		opacity: 0;
		transform: rotateY(-75deg);
	}

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

@keyframes r-anim-flash-twice {
	0% {
		opacity: 0;
	}

	/* 15% {
		opacity: 1;
	}

	30% {
		opacity: 0;
	}

	45% {
		opacity: 1;
	}

	60% {
		opacity: 0;
	} */

	75%,
	100% {
		opacity: 1;
	}
}

@media screen and (min-width: 799px) {
	[data-r-animate] .r-anim {
		opacity: 0;
	}

	[data-r-animate] .r-anim--fade-up {
		transform: translateY(30px);
	}

	[data-r-animate] .r-anim--fade-left {
		transform: translateX(-30px);
	}

	[data-r-animate] .r-anim--fade-right {
		transform: translateX(30px);
	}

	[data-r-animate] .r-anim--fade-down {
		transform: translateY(-30px);
	}

	[data-r-animate] .r-anim--zoom-in {
		transform: scale(0.9);
	}

	[data-r-animate] .r-anim--rotate-y {
		transform: rotateY(-75deg);
		transform-origin: center center;
		backface-visibility: hidden;
	}

	[data-r-animate] .r-anim--flash {
		transform: none;
	}

	[data-r-animate].is-inview .r-anim--fade-up {
		animation: r-anim-fade-up 0.8s ease forwards;
	}

	[data-r-animate].is-inview .r-anim--fade-left {
		animation: r-anim-fade-left 0.8s ease forwards;
	}

	[data-r-animate].is-inview .r-anim--fade-right {
		animation: r-anim-fade-right 0.8s ease forwards;
	}

	[data-r-animate].is-inview .r-anim--fade-down {
		animation: r-anim-fade-down 0.8s ease forwards;
	}

	[data-r-animate].is-inview .r-anim--zoom-in {
		animation: r-anim-zoom-in 0.8s ease forwards;
	}

	[data-r-animate].is-inview .r-anim--rotate-y {
		animation: r-anim-rotate-y 0.8s ease forwards;
	}

	[data-r-animate].is-inview .r-anim--flash {
		animation: r-anim-flash-twice 2.4s ease-in-out forwards;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='1'] {
		animation-delay: 0s;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='2'] {
		animation-delay: 0.2s;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='3'] {
		animation-delay: 0.4s;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='4'] {
		animation-delay: 0.6s;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='5'] {
		animation-delay: 0.8s;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='6'] {
		animation-delay: 1s;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='7'] {
		animation-delay: 1.2s;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='8'] {
		animation-delay: 1.4s;
	}

	[data-r-animate].is-inview .r-anim[data-anim-order='9'] {
		animation-delay: 1.6s;
	}

	/* セクション丸ごと Fade up：子要素は一緒に表示 */
	[data-r-animate] .r-anim--section {
		opacity: 0;
		transform: translateY(30px);
	}

	[data-r-animate] .r-anim--section .r-anim {
		opacity: 1;
		transform: none;
	}

	[data-r-animate].is-inview .r-anim--section {
		animation: r-anim-fade-up 0.8s ease forwards;
	}

	[data-r-animate].is-inview .r-anim--section .r-anim--zoom-in {
		animation: r-anim-zoom-in-only 0.8s ease forwards;
	}

	[data-r-animate].is-inview .r-anim--section .r-anim--fade-up:not(.r-anim--section) {
		animation: r-anim-fade-up-only 0.8s ease forwards;
	}
}

@keyframes r-anim-zoom-in-only {
	from {
		transform: scale(0.9);
	}

	to {
		transform: scale(1);
	}
}

@keyframes r-anim-fade-up-only {
	from {
		transform: translateY(30px);
	}

	to {
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-r-animate] .r-anim {
		opacity: 1 !important;
		transform: none !important;
		animation: none !important;
	}
}
