@keyframes rose_draw {
	100% { stroke-dashoffset: 0; }
}
@keyframes opacity {
	100% { opacity: 1; }
}
@keyframes opacity02 {
	100% { opacity: 0.7; }
}

/* ●●●●●● common */
/* ●●●●●● common */
/* ●●●●●● common */

* { color: var(--themecolor); border-color: var(--themecolor); }
body {  }
body.primary-menu-open[class ~= "fp-viewing-0"] #header-wrap { background-color: rgba(44, 0, 13, 0.8); }
/*body.primary-menu-open[class ~= "fp-viewing-0"] #header-wrap .menu-link div { color: var(--themecolor); }*/
body.primary-menu-open:not(fp-viewing-0) header[class ~= "sticky-header"] #header-wrap { background-color: var(--themecolor); }
body.primary-menu-open:not(fp-viewing-0) header[class ~= "sticky-header"] #header-wrap .menu-link div { color: #fff; }
body.primary-menu-open #header-wrap { box-shadow: 0px 10px 100px rgba(44, 0, 13, 0.7); border-bottom: none; }

/* main page slide nav */

body[class ~= "fp-viewing-0"] #fp-nav ul a span { background-color: #fff; }
body[class ~= "fp-viewing-0"] #fp-nav ul a.active span { border-color: #fff; background-color: transparent; }

@media screen and (max-width: 991px){
	body.primary-menu-open #header-wrap { background-color: var(--themecolor); }
}

br.none { display: none; }

.header-row nav ul.menu-container .menu-link > div { padding-top: 5px; color: #fff; }
.header-row nav ul.menu-container .menu-item:hover ul.sub-menu-container .menu-item:hover div { color: var(--themecolor); }
.header-row nav ul.menu-container .menu-item:hover > a > div { color: #fff; }

.header-row nav ul.sub-menu-container .menu-link > div { color: #fff; }

/* ●●●●●● mobile trigger open */

body.primary-menu-open .svg-trigger path { stroke: #fff; }
body.primary-menu-open[class ~= "fp-viewing-0"] .svg-trigger path { stroke: var(--themecolor); }
body.primary-menu-open:not(fp-viewing-0) header[class ~= "sticky-header"] .svg-trigger path { stroke: #fff; }

/* ●●●●●● mobile trigger open */

@media screen and (max-width: 450px){
	h3 span br.none { display: block; }
}

@media screen and (max-width: 991px){
	/*.header-row nav ul.sub-menu-container .menu-link > div { color: var(--themecolor); }
	.header-row nav ul.menu-container .menu-item:hover div { color: var(--themecolor); }*/
}

.txt_bold { font-weight: 900; }
.txt_reg { font-weight: 400; }
.txt_thin { font-weight: 100; }
.txt_small { font-size: 40px; }
h3 .txt_size { font-size: calc(1rem + 1vw)}

/* ● vertical align setting */

section[class ~= "section"] h3 { text-align: center; }

/* ●●●●●● common */
/* ●●●●●● common */
/* ●●●●●● common */

/* ●●●●●● section0 custom */
/* ●●●●●● section0 custom */
/* ●●●●●● section0 custom */

#section0 h2 { color: #fff; font-size: 2.5rem; }
#section0 p { color: #fff; font-size: 20px; }
#section0 h2 span { color: #fff; }
/*#section0 p img { width: 10%; }*/

@media screen and (max-width: 991px){
	#section0 h2 { font-size: 30px; }
}
@media screen and (max-width: 480px){
	#section0 h2 { font-size: 2rem; }
	#section0 h2 br { display: none; }

}

/*-------------- svg responsive -------------*/
/*-------------- svg responsive -------------*/
/*@media screen and (min-width: 320px) and (max-width: 1024px){
	#section0 .svg { left: 50%; transform: translateX(-50%); }
}
@media screen and (min-width: 2400px){
	#section0 .svg { width: 17%; }
}
@media screen and (max-width: 1900px){
	#section0 .svg { width: 20%; }
}
@media screen and (max-width: 1601px){
	#section0 .svg { width: 25%; }
}
@media screen and (max-width: 1399px){
	#section0 .svg { width: 30%; }
}
@media screen and (max-width: 1024px){
	#section0 .svg { width: 45%; }
}
@media screen and (max-width: 768px){
	#section0 .svg { width: 60%; }
}
@media screen and (max-width: 480px){
	#section0 .svg { width: 90%; }
}*/
/*-------------- svg responsive -------------*/
/*-------------- svg responsive -------------*/


@media screen and (min-width: 1200px){

/*#section0 .slider-caption.slider-caption-center { max-width: 1100px; }*/
#section0 .slider-caption { max-width: 100%; width: 100%; }

}

/* ●●●●●● section0 custom */
/* ●●●●●● section0 custom */
/* ●●●●●● section0 custom */

/* ●●●●●● section1 custom */
/* ●●●●●● section1 custom */
/* ●●●●●● section1 custom */

#section1 p { word-break: keep-all; }

#section1 .grid-inner .grid-image {
	position: unset;
	width: 50%;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

#section1 .grid-inner:hover h3 { color: #fff; }
#section1 .grid-inner:hover h5 { color: #fff; }
#section1 .grid-inner:hover p { color: #fff; }
#section1 .grid-inner:hover .bg-overlay { background-color: var(--themecolor); opacity: 0.8; }

@media screen and (max-width: 430px){
	#section1 h3 br.none { display: block; }
}

/* ●●●●●● section1 custom */
/* ●●●●●● section1 custom */
/* ●●●●●● section1 custom */

/* ●●●●●● section2 custom */
/* ●●●●●● section2 custom */
/* ●●●●●● section2 custom */

#section2 .col-12 h3 { margin-top: 1rem; }
#section2 .col-12 h3 span { color: inherit; }

#section2 .col-12 h4 {  height: 2em; }

#section2 .col-12 .d-grid div.fbox-icon.position-absolute.end-0 { padding: unset; width: unset; }

#section2 .col-12 .d-grid i::before { color: var(--themecolor); }

#section2 .col-12 .d-grid dl { margin-bottom: unset; }
#section2 .col-12 .d-grid dt { font-size: 1.5rem; margin-bottom: 15px; word-break: keep-all; }
#section2 .col-12 .d-grid dd { font-size: 1rem; opacity: 0.8; }

#section2 .col-12 .d-grid > div:nth-child(1) { border: 1px solid rgba(83,15,54,0.1); }
#section2 .col-12 .d-grid > div:nth-child(2) { border: 1px solid rgba(83,15,54,0.2); }
#section2 .col-12 .d-grid > div:nth-child(3) { border: 1px solid rgba(83,15,54,0.3); }

@media screen and (min-width: 1399px){
	#section2 .col-12 .d-grid dt { height: 6rem; font-size: 1.4rem; }
}

@media screen and (max-width: 1199px){
	#section2 .col-12 h4 { margin-bottom: 40px; }

	#section2 .col-12 .d-grid dt { margin-bottom: 30px; height: 9rem; }
}

@media screen and (min-width: 991px) and (max-width: 1199px){
	#section2 .col-12 h4 br.none { display: block; }
}

@media screen and (max-width: 990px){
	#section2 .col-12 h4 { margin-bottom: 10px; }
	#section2 .col-12 .d-grid dt { height: 3rem; }
}

@media screen and (max-width: 768px){
	#section2 .col-12 .d-grid dt { height: rem; }
}

@media screen and (max-width: 387px){
	#section2 .col-12 .d-grid dt { height: 9rem; }
}








/* ●●●●●● section2 custom */
/* ●●●●●● section2 custom */
/* ●●●●●● section2 custom */

/* ●●●●●● section3 custom */
/* ●●●●●● section3 custom */
/* ●●●●●● section3 custom */

#section3 { background-position: left bottom; }
#section3 div.feature-box { align-items: center; text-align: center; }
#section3 div.feature-box img {
	filter: brightness(0) saturate(100%) invert(9%) sepia(29%) saturate(6690%) hue-rotate(308deg) brightness(94%) contrast(98%);
}

@media screen and (max-width: 991px){

	#header { position: absolute; }
	#section3 .counter span { font-family: inherit; }

}

/* ●●●●●● section3 custom */
/* ●●●●●● section3 custom */
/* ●●●●●● section3 custom */

/* ●●●●●● section4(id=section5) custom */
/* ●●●●●● section4(id=section5) custom */
/* ●●●●●● section4(id=section5) custom */

#section5 h3 span { color: inherit; }

#section5 h4 { word-break: keep-all; }
#section5 h4 p { color: rgba(83, 15, 54, ); word-break: keep-all; }

#section5 ul > li { width: calc(100% / 3); float: left; }

#section5 ul > li p { text-align: center; }

#section5 ul > li > a:hover h4 { color: #fff; }
#section5 ul > li > a:hover p { color: #fff; }

#section5 ul > li > a .icon {
	width: 50%;
	margin: 0 auto;
	padding: 25px;
}
#section5 ul > li > a:hover .icon {
	filter: invert(1);
	-webkit-filter: invert(1);
}

@media screen and (max-width: 1014px){

	#section5 ul > li > a p {
		height: 2rem;
		margin-bottom: 20px;
		line-height: 2rem;
	}
	#section5 ul > li > a p br.none { display: block; }

	#section5 ul > li > a .icon {
		width: 40%;
		margin: 0 auto;
		padding: 15px 0;
	}

}

@media screen and (max-width: 970px){

	#section5 ul > li { clear: none; }

}

@media screen and (max-width: 767px){

	#section5 ul > li { width: 100%; float: none; }
	#section5 ul > li > a { position: relative; height: auto; }
	#section5 ul > li > a h4 { margin: 15px 0; }
	#section5 ul > li > a p {
		margin-bottom: 20px;
		line-height: 2rem;
	}

	#section5 ul > li > a .icon {
		position: absolute;
		top: 25px;
		right: 25px;
		width: 20%;
		padding: 0;
	}

}

/* ●●●●●● section4(id=section5) custom */
/* ●●●●●● section4(id=section5) custom */
/* ●●●●●● section4(id=section5) custom */

/* ●●●●●● section5(id=section7) custom */
/* ●●●●●● section5(id=section7) custom */
/* ●●●●●● section5(id=section7) custom */

#section7 h3 { color: var(--themecolor); }

/* ●●●●●● section5(id=section7) custom */
/* ●●●●●● section5(id=section7) custom */
/* ●●●●●● section5(id=section7) custom */


.opacity05 { opacity: 0.5; }

.button.button-rose {
  background-color: #530e34;
}

.button.button-border-rose {
  border: 2px solid var(--themecolor);
  background: transparent;
  color: var(--themecolor);
  font-weight: 700;
  text-shadow: none;
}

.button.button-border-thin-rose {
  border-width: 1px;
}

#formmail-style-2 input[type="text"]::placeholder  {
	color: rgba(83, 15, 54, 0.3);
}

#rose_center #formmail-style-2 input[type="text"]:focus, #formmail-style-2 textarea.formmail_textarea_style:focus {
    border-color: var(--themecolor);
    border-width: 1px;
}

.bg-rose { background-color: var(--themecolor); }
.bg-rose-oc { background-color: rgba(83, 15, 54, 0.5); }
.bg-rose-oc-1 { background-color: rgba(83, 15, 54, 0.2); }

.color-sub { color: var(--subcolor); }
.mt-90 { margin-top: -90px; }
.pt-144 { padding: 144px 0 0; }
.block-padding-1 { padding: 100px 0; }
.block-padding-2 { padding: 40px 0; }
.inner-padding { padding: 5rem 0; }
@media screen and (max-width: 991px){
	.pt-144 { padding: 164px 0 0; }
}



/* rose-rose page */

#sub01-01 .container > .row { border-bottom: 1px solid; }
#sub01-01 .container > .row:last-child { border-bottom: none; }
#sub01-01 h1 { margin-bottom: unset; }

/*  sub01-01 v2   */
.sub01-01 h1 { font-size: 1rem; }
.sub01-01 section:first-child { }
.sub01-01 .bg-list > div { border-bottom: none !important; }
/*.sub01-01 .bg-list > div:nth-child(odd) { background-color: rgba(83, 15, 54, 0.6); }
.sub01-01 .bg-list > div:nth-child(odd) h4, .sub01-01 .bg-list > div:nth-child(odd) li, .sub01-01 .bg-list > div:nth-child(odd) span, .sub01-01 .bg-list > div:nth-child(odd) p { color: #fff !important; }*/

.sub01-01 .bg-list h4 { font-size: 21px; }
.sub01-01 .bg-list p, .sub01-01 .bg-list li { font-weight: 100; }

.sub01-01 .bg-list > div > div {  align-items: center; }
.sub01-01 .inner-padding { padding: 10rem 0; height: calc(100vh - 64px); }
.sub01-01 .bg-list .container { margin: 0 auto; }

/* rose-center page */

#sub01-02 .txt_size { font-size: 1rem; }
#sub01-02 h4 { font-size: 1rem; }
#sub01-02 h4 > span { display: block; margin-bottom: 20px; }
#sub01-02 .center-txt { padding: 30px 120px; }
#sub01-02 .row { --bs-gutter-x: unset; --bs-gutter-y: unset; }
#sub01-02 #inner section:nth-child(1), #sub01-02 #inner section:nth-child(2) { border-right: 1px solid rgba(44, 0, 13, 0.2); }
#sub01-02 #inner { margin-bottom: 40px; }

@media screen and (max-width: 1499px){
	#sub01-02 .center-txt { padding: 30px 60px; }
}
@media screen and (max-width: 991px){
	#sub01-02 #inner { margin: 0 auto; justify-content: center; }
	#sub01-02 .row-cols-3 > * { width: 70%; }
	#sub01-02 .center-txt { padding: 30px 0; }
	#sub01-02 #inner section:nth-child(1), #sub01-02 #inner section:nth-child(2) { border-right: none; border-bottom: 1px solid rgba(44, 0, 13, 0.2); margin-bottom: 20px; }
}

/* rose-location page */

#sub02-02 .row-cols-3 { padding: 0; }

@media screen and (max-width: 1400px){
	#sub02-02 .row-cols-md-4 > * { width: 50%; }
}

@media screen and (max-width: 991px){
	#sub02-02 .row-cols-3 > * { width: 70%; margin: 0 auto 20px; }
	#sub02-02 .min-vh-50 { min-height: 30vh !important; }
}

@media screen and (max-width: 567px){
	#sub02-02 .row-cols-md-4 > * { width: 100%; }
	#sub02-02 p.m_flex { display: flex; width: 100%; }
	#sub02-02 p.m_flex > span { flex: 0 0 auto; width: 50%;}
}

/* service-fulfillment page */

#sub02-01 .setwidth { width: 60% }
#sub02-01 .salse dt { line-height: 2; }
#sub02-01 h4 { margin-bottom: unset; font-weight: 300; font-size: 14px; }
#sub02-01 dl { border: 1px solid; margin-right: 20px; width: 100%; border-radius: 30px; overflow: hidden; }
#sub02-01 dl:last-child { margin-right: 0; }
#sub02-01 dt { height: 5rem; padding: 20px 0; background-color: rgba(83, 15, 54, 0.2); }
#sub02-01 dt p { margin-bottom: unset; font-size: 1rem; line-height: 2.5; }
#sub02-01 dd { margin-bottom: unset; padding: 30px 30px; border-top: 1px solid; font-size: 1.5rem; white-space: nowrap; }

/* fulfillment v-2 */

#sub02-01 .section-block:not(#section2-1) { height: 100vh; padding: 100px 0; }
#sub02-01 .section-block:not(#section2-1) dd { white-space: normal; border-top: none; padding: unset; s}
#sub02-01 .section-block:not(#section2-1) dl { border: none; border-radius: unset; }
#sub02-01 .section-block:not(#section2-1) dt { height: unset; background-color: #fff; }
#sub02-01 .h3-center { text-align: center; }
#sub02-01 .inner-block { padding: 30px; }

@media screen and (max-width: 990px){
	#sub02-01 .section-block:not(#section2-1) { height: unset; }
}


@media screen and (max-width: 1399px){
	#sub02-01 dl { margin-right: 10px; }
	#sub02-01 dl:last-child { margin-right: 0; }
}

@media screen and (min-width: 992px) and (max-width: 1399px){
	#sub02-01 br.none { display: block; }
}

@media screen and (max-width: 1199px){
	#sub02-01 dl { margin-right: 0; width: 100%; }
}

@media screen and (min-width: 768px) and (max-width: 1199px){
	#sub02-01 .setwidth { width: 80% }
}

@media screen and (max-width: 767px){
	#sub02-01 .setwidth { width: 90% }
	#sub02-01 h4 { font-size: 1rem; }
}

@media screen and (max-width: 499px){
	#sub02-01 .setwidth { width: 100% }
}

/* QnA-QnA page */

#sub04-01 font { color: var(--subcolor); font-size: 1rem; }

@media screen and (min-width: 1200px){
	#sub04-01 .leftInfoBox { padding: 10rem 5rem 5rem; }
}

@media screen and (max-width: 1199px){
	#sub04-01 .leftInfoBox { padding: 3rem; }
}

@media screen and (max-width: 567px){
	#sub04-01 .leftInfoBox { padding: 1.5rem; }
}


/* footer page */

@media screen and (max-width: 567px){
	#footer br.none { display: block; }
}