.flowerType-mv { width: 100%; height: calc(60vh - 180px); background: url("../images/shopping/mv_index.jpg"); background-size: cover; background-repeat: no-repeat; background-position: center; display: block; overflow: hidden;position: relative; margin-bottom: 80px;}
.flowerType { width:100%; margin:0 auto 140px; display: block; overflow: hidden; box-sizing: border-box;}
.flowerType h1 { font-family: 'MackayRegular',serif; font-size: 32px; text-align: center; margin-bottom: 10px;}
.flowerType h2 { font-size: 18px; text-align: center; margin-bottom: 40px;}

.flowerType-shopping { margin-bottom: 140px;}
.flowerType-shopping h1 { font-family: 'MackayRegular',serif; font-size: 32px; text-align: center; margin-bottom: 10px;}
.flowerType-shopping h2 { font-size: 18px; text-align: center; margin-bottom: 40px;}
.flowerType-shopping__contents { width: 90%; max-width: 1140px; display: flex; flex-flow: wrap; justify-content: space-between; margin: 0 auto;}
.flowerType-shopping__contents-item { width: 30%; max-width: 340px; min-width: 290px;}
.flowerType-shopping__contents-item a { display: flex; text-decoration: none;  padding-bottom: 40px; border-bottom: #999999 0.5px dotted; margin-bottom: 40px; position: relative; gap: 20px; height: 130px;}
.flowerType-shopping__contents-item-text p:first-child {  margin-bottom: 10px;}
.flowerType-shopping__contents-item-text h3 { font-family: 'MackayRegular',serif; font-size: 24px; letter-spacing: 0.1em; margin-bottom: 20px;}
.flowerType-shopping__contents-item-text p:last-child { width: 70%; line-height: 1.5; word-break: break-all;}
.flowerType-shopping__contents-item-link { display: inline-flex; width: 32px; height: 32px; background-color: #fff; opacity: 1 !important; border-radius: 100%;  overflow: hidden; margin: 0 10px 0 30px; position: absolute; transition: all 0.4s; align-items: center; right: 10px; top: 25px;}
.flowerType-shopping__contents-item-link::before, .flowerType-shopping__contents-item-link::after { content: ""; display: block; position: absolute; width: 50%; height: 0; background-color: #333; pointer-events: none;}
.flowerType-shopping__contents-item-link::before { top: 0; right: 0;}
.flowerType-shopping__contents-item-link::after { bottom: 0; left: 0;}
.flowerType-shopping__contents-item-item:hover .flowerType-shopping__contents-item-link { color: #333;}
.flowerType-shopping__contents-item-item:hover .flowerType-shopping__contents-item-link::before { height: 100%;}
.flowerType-shopping__contents-item-item:hover .flowerType-shopping__contents-item-link::after { height: 100%;}
.flowerType-shopping__contents-item-item:hover .flowerType-shopping__contents-item-link::before { transition: height 0.2s 0.2s linear;}
.flowerType-shopping__contents-item-item:hover .flowerType-shopping__contents-item-link::after { transition: height 0.2s linear;}
.flowerType-shopping__contents-item-link span { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width:  calc(100% - 2px); height: calc(100% - 2px); background-color: #fff; border-radius: 100%; display: flex; align-items: center; justify-content: center; z-index: 1;}


.flowerType-item { flex-basis: calc((100% - 50px) / 3); height: 80%; margin-bottom: 15px;}
.flowerType-item:nth-child(1),.flowerType-item:nth-child(2),.flowerType-item:nth-child(3) {flex-basis: calc((100% - 50px) / 3);}
.flowerType-item:hover img { opacity: 0.7;}
.flowerType-item-img { width: 100%; height: 100%; aspect-ratio: 1 / 1; background: #efefef; position: relative;}
.flowerType-item-img img { width: 16%; max-width: 110px; object-fit: contain; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.flowerType-item a { text-decoration: none;}
.flowerType-item span:last-child { display: block; position: absolute; right: 10px; top: 68%; transform: translateY(-50%);}
.flowerType-item-inner { height: 90px;}
.flowerType-item-text { display: flex; width: 100%; align-items: center; position: absolute; top: 50%; transform: translateY(-50%); padding: 0 10px;}
.flowerType-item span:first-child { font-family: 'MackayRegular',serif; position: absolute; top: 25px; left: 10px;}
.flowerType-item-text h3 { font-size: 24px; font-family: 'MackayRegular',serif; padding-bottom: 10px; position: relative; margin-top: 40px; width: 100%; transition: all 0.4s;}
.flowerType-item-text h3::after { background-color: #333; bottom: 0; content: ""; display: block; height: 0.5px; left: 0; position: absolute;  width: 100%; margin-top: 10px; transition: all 0.4s;}
.flowerType-item:hover .flowerType-item-text h3 { width: 100%; transition: all 0.4s;}
.flowerType-item-description { margin: 5px 10px 0; word-break: break-all; line-height: 1.5em; text-align: justify;}

.flowerType-item-link { display: inline-flex; background-color: #fff; width: 32px; height: 32px; opacity: 1 !important; border-radius: 100%;  overflow: hidden; margin: 0 10px 0 30px; position: absolute; transition: all 0.4s; align-items: center; right: 10px; top: 44px;}
.flowerType-item-link::before, .flowerType-item-link::after { content: ""; display: block; position: absolute; width: 50%; height: 0; background-color: #333; pointer-events: none;}
.flowerType-item-link::before { top: 0; right: 0;}
.flowerType-item-link::after { bottom: 0; left: 0;}
.flowerType-item:hover .flowerType-item-link { color: #333;}
.flowerType-item:hover .flowerType-item-link::before { height: 100%;}
.flowerType-item:hover .flowerType-item-link::after { height: 100%;}
.flowerType-item:hover .flowerType-item-link::before { transition: height 0.2s 0.2s linear;}
.flowerType-item:hover .flowerType-item-link::after { transition: height 0.2s linear;}
.flowerType-item-link p { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width:  calc(100% - 2px); height: calc(100% - 2px); background-color: #fff; border-radius: 100%; display: flex; align-items: center; justify-content: center; z-index: 1;}


.flowerType-category__mv { width: 100%; height: calc(60vh - 180px); margin-bottom: 80px;}
.flowerType-category__mv img { width: 100%; height: 100%; object-fit: cover; object-position: center;}
.flowerType-category { width:100%; margin:0 auto 80px; padding: 0 50px; display: block; overflow: hidden; box-sizing: border-box;}
.flowerType-category div.breadcrumb { display: flex; margin-bottom: 40px;}
.flowerType-category div.breadcrumb p:first-child::after { content: ">"; margin: 0 10px;}
.flowerType-category__title { margin-bottom: 80px;}
.flowerType-category__title span { text-align: center; display: block; margin: 0 auto 10px;}
.flowerType-category__title h1 { text-align: center; font-family: 'MackayRegular',serif; font-size: 36px; margin-bottom: 10px;}
.flowerType-category__title p { text-align: center; font-size: 20px;}
.flowerType-category__title span.cap {font-size: 16px; padding: 10px 0;}


.flowerType-single__flowerList { width:100%; margin:0 auto; gap:25px; overflow: hidden; box-sizing: border-box; display: flex; flex-flow: wrap;}
.flowerType-single__flowerList li { width:calc((100% - 50px) / 3); display: block; overflow: hidden; box-sizing: border-box; position: relative;}
.flowerType-single__flowerList-number { position: absolute; top: 0; left: 0; padding: 20px 0; font-size: 20px; background: #fff; width: 60px; height: 60px; text-align: center;}
.flowerType-single__flowerList li img { width:100%; height:auto; display: block; overflow: hidden; box-sizing: border-box; aspect-ratio: 1 / 1; object-fit: cover;}
.flowerType-single__flowerList-item p { line-height: 1.8;}
.flowerType-single__flowerList-item-title { margin-bottom: 10px;}
.flowerType-single__flowerList-item-title span { color: #941f57; font-size: 14px; display: inline-block; margin-bottom: 5px;}
.flowerType-single__flowerList-item-title p { color: #941f57; font-size: 16px; margin-bottom: 25px; line-height: 1.2;}
.flowerType-single__flowerList-item-title h3 { font-size: 20px; line-height: 1.4;}
.flowerType-single__flower-sake li img { margin-bottom: 25px;}

.flowerType-single { margin-bottom: 60px;}
.flowerType-single__title { margin-bottom: 20px;}
.flowerType-single__title span { text-align: center; display: block; margin: 0 auto 10px;}
.flowerType-single__title h1 { text-align: center; font-family: 'MackayRegular',serif; font-size: 32px; margin-bottom: 10px;}
.flowerType-single__title h2 { font-size: 24px; margin-bottom: 10px;}
.flowerType-single__title h3 { font-size: 20px; color: #8aaa02; margin-bottom: 18px; line-height: 1.2;}
.flowerType-single__title p { text-align: center; font-size: 16px;}
.flowerType-single div.inner-R { margin:0 auto 40px; max-width: 800px;}
.flowerType-single__outline { line-height: 2.0em; letter-spacing: 0.15em; margin-bottom: 40px;}
.flowerType-single__order-link { margin-bottom: 60px; padding: 20px; text-align: center; background: #8aaa02; position: relative;}
.flowerType-single__order-link a { color: #fff;}
.flowerType-single__order-link span { display: none; position: absolute; top: 50%; transform: translateY(-50%); right: 15px; color: #fff;}
.flowerType-single__order-link:hover span { display: block; transition: all 0.4s;}
.flowerType-single__intro { display: flex; justify-content: space-between; gap: 40px;}
.flowerType-single__intro:first-of-type { margin-bottom: 40px;}
.intro-02 { flex-direction: row-reverse; margin-bottom: 80px;}
.flowerType-single__intro-img { width: 45vw; max-width: 400px; height: 45vw; max-height: 400px; aspect-ratio: 1 / 1;}
.flowerType-single__intro-img img { width: 100%; height: 100%; object-fit: cover;}
.flowerType-single__intro-img p { line-height: 1.4em;}
.flowerType-single__intro-text { width: 50%;}
.flowerType-single__intro-text h2 { font-size: 20px; line-height: 1.5em; margin-bottom: 10px;}
.flowerType-single__intro-text p { line-height: 1.8;}
.flowerType-single__intro-text p:first-of-type { margin-bottom: 40px;}
.flowerType-single__intro-text p:last-of-type { font-size: 12px; color: #666;}
.flowerType-single__video { aspect-ratio: 16 / 9; margin-bottom: 60px;}
.flowerType-single__video iframe { width: 100%; height: 100%;}
.flowerType-single__suggestion ul.flowerList { margin-bottom: 0; padding: 0 50px; gap: 25px;}
.flowerType-single__suggestion ul.flowerList li { margin-bottom: 0;}
.flowerType-single__combination h2 { font-size: 24px; text-align: center; color: #941f57; margin-bottom: 30px;}
.flowerType-single__combination h2 span { font-size: 14px;}
.flowerType-single__combination-img { width: 100%; margin-bottom: 60px;}
.flowerType-single__combination-img img { width: 100%;}
.flowerType-single__combination-img p { text-align: center;}


@media print, screen and (max-width:1300px){
  .flowerType-item-text { display: block;}
  .flowerType-item-text p:first-child { margin-top: 35px;}
	.flowerType-item-text p:first-child::after { background-color: #333; bottom: 0; content: ""; display: block; height: 0.5px; left: 0; position: absolute;  width: 100%; margin-top: 10px; transition: all 0.4s;}
  .flowerType-item-text p:last-child::after { right: 10px; display: none;}
  .flowerType-item-text p:last-child {padding: 12px 0 16px; margin-left: 20px;}
  .flowerType-item:hover .flowerType-item-text p:last-child::after { width: 0;}
  .flowerType-item:hover .flowerType-item-text p:first-child::after { width: calc((100vw - 175px) / 4 - 40px);}
  .flowerType-item:nth-child(1):hover .flowerType-item-text p:first-child::after, .flowerType-item:nth-child(2):hover .flowerType-item-text p:first-child::after, .flowerType-item:nth-child(3):hover .flowerType-item-text p:first-child::after { width: calc((100vw - 150px) / 3 - 40px);}
}


@media print, screen and (max-width:1100px){	
  .flowerType-single__flowerList { gap: 15px;}
  .flowerType-single__flowerList li { width: calc((100% - 30px) / 3);}
  .flowerType-single__flowerList-number { width: 40px; height: 40px; padding: 10px 0; font-size: 18px;}
  
  .flowerType-single__flower-sake { gap: 25px;}
  .flowerType-single__flower-sake li { width: calc((100% - 25px) / 2); margin-bottom: 25px;}
}


@media print, screen and (max-width:880px){
  .flowerType-item { flex-basis: calc((100% - 30px) / 3);}
  .flowerType-item:nth-child(1),.flowerType-item:nth-child(2),.flowerType-item:nth-child(3) {flex-basis: calc((100% - 30px) / 3);}
  .flowerType-item:nth-child(1):hover .flowerType-item-text p:first-child::after, .flowerType-item:nth-child(2):hover .flowerType-item-text p:first-child::after, .flowerType-item:nth-child(3):hover .flowerType-item-text p:first-child::after { width: calc((100vw - 130px) / 3 - 40px);}
  .flowerType-item:hover .flowerType-item-text p:first-child::after { width: calc((100vw - 130px) / 3 - 40px);}
  .flowerType-item span:first-child { top: 15px;}
}

@media print, screen and (max-width:680px){
	.flowerType { margin-bottom: 40px;}
	.flowerType h1 { font-size: 24px;}
	.flowerType h2 { font-size: 16px; margin-bottom: 20px;}
  .flowerType-contents { padding: 0 24px;}
  
  .flowerType-shopping { margin-bottom: 80px;}
	.flowerType-item { flex-basis: calc((100% - 15px) / 2); margin: 0 0 25px;}
	.flowerType-item:nth-child(1),.flowerType-item:nth-child(2),.flowerType-item:nth-child(3) { flex-basis:  calc((100% - 15px) / 2); margin-bottom: 25px;}
  .flowerType-item:nth-child(1):hover .flowerType-item-text p:first-child::after, .flowerType-item:nth-child(2):hover .flowerType-item-text p:first-child::after, .flowerType-item:nth-child(3):hover .flowerType-item-text p:first-child::after { width: calc((100vw - 63px) / 2  - 40px);}
  .flowerType-item:hover .flowerType-item-text p:first-child::after { width: calc((100vw - 63px) / 2 - 40px);}
  .flowerType-item:last-of-type { margin: 0 auto 0 0;}

	.flowerType-category__mv { margin-bottom: 40px;}
  .flowerType-category { margin-bottom: 20px; padding: 0 24px;}
  .flowerType-single h1 span { margin-left:0; display: block; overflow:hidden; font-size:14px; line-height:160%;}
	.flowerType-single-title p { font-size: 16px; margin-bottom: 20px;}
  .flowerType-single div.photo { margin-bottom:20px;}
  .flowerType-single__flowerList { gap: 5px;}
	.flowerType-single__flowerList li { width: calc((100% - 10px) / 3);}
  .flowerType-single__flowerList-number { width: 30px; height: 30px; padding: 7px 0; font-size: 16px;}
  .flowerType-single__flower-sake { gap: 25px;}
  .flowerType-single__flower-sake li {  width: calc((100% - 25px) / 2);}
  .flowerType-single__flower-sake li h3 br { display: none;}
  .flowerType-single__intro { gap: 20px;}
  .flowerType-single__intro:first-of-type { margin-bottom: 20px;}
  .flowerType-single__intro-text p:first-of-type { margin-bottom: 20px;}
  .flowerType-single__video { width: 100%;}
  .flowerType-single__suggestion ul.flowerList li { margin-bottom: 30px;}
}

@media print, screen and (max-width:480px){
	.flowerType-item { flex-basis: 100%;}
	.flowerType-item:nth-child(1),.flowerType-item:nth-child(2),.flowerType-item:nth-child(3) {flex-basis: 100%;}
  .flowerType-item:nth-child(1):hover .flowerType-item-text p:first-child::after, .flowerType-item:nth-child(2):hover .flowerType-item-text p:first-child::after, .flowerType-item:nth-child(3):hover .flowerType-item-text p:first-child::after { width: calc((100vw - 48px) - 40px);}
  .flowerType-item:hover .flowerType-item-text p:first-child::after { width: calc((100vw - 48px) - 40px);}
  
  .flowerType-single-title h1 { font-size: 24px;}
  .flowerType-single-title h2 { font-size: 24px; text-align: justify;}
  .flowerType-single-title h3 { font-size: 18px;}
	.flowerType-single__flowerList li {  width: calc((100% - 5px) / 2);}
  .flowerType-single__flower-sake li {  width: 100%;}
  .flowerType-single__flower-sake li h3 br { display: block;}
  .flowerType-single__intro { display: block;}
  .flowerType-single__intro:first-of-type { margin-bottom: 40px;}
  .flowerType-single__intro-img { width: 100%; max-width: 480px; height: calc(100vw - 48px); max-height: 480px; margin-bottom: 30px;}
  .flowerType-single__intro-text { width: 100%;}
  .flowerType-single__suggestion h1 { font-size: 20px; line-height: 1.5; padding: 0 24px;}
  .flowerType-single__combination h2 { font-size: 20px;}
  .flowerType-single__combination h2 span { text-align: left; display: inline-block; line-height: 1.5;}
  .flowerType-single__combination-img p { text-align: left; line-height: 1.2;}
}
