@charset "utf-8";

/*リセット*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
    overflow-y: scroll;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

input, textarea {
	margin: 0;
	padding: 0;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse;
    border-spacing:0;
}

img{
	max-width:100%;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

.clearfix {
	zoom: 100%;
}

.clearfix:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}

.both{
	clear:both;
}

body{
	color: #444;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.6;
	background-color: #fff;
	font-family: "Shippori Mincho", serif;
	/* font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif; */
	overflow: hidden;
}

h1, h2, h3, h4, h5, h6, .fact .fact-number, .fact .fact-name, .site-title{
	color: #444;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	/* font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif; */
	font-family: "Shippori Mincho", serif;
	/* font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif; */
}

a {
	-webkit-transition: all .3s;
    transition: all .3s;
}
a:hover{
	color: #000;
	opacity: .6;
	text-decoration: none;
	-webkit-transition: all .3s;
	transition: all .3s;
}

div, img {
	/* font-size: 0 */
}

/* .fot{
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
}
.note{
	font-size: 18px;
} */

section {
    font-size: 0;
}

/*--------------------------------------------------------------
## 表示検証用
--------------------------------------------------------------*/

/* :root {
    --design-height1: 13683px;
    --design-height2: 17140px;
}

.main {
    height: calc(var(--design-height1) + var(--design-height2));
}

.main:before,
.main:after {
    content: "";
    position: absolute;
    left: 0;
    opacity: 0.5;
    z-index: 13;
    display: block;
    width: 100%;
    pointer-events: none;
}

.main:before {
    background: url(../img/1.jpg) center center no-repeat;
    background-size: auto;
    height: var(--design-height1);
    top: 0;
}

.main:after {
    background: url(../img/2.jpg) center center no-repeat;
    background-size: auto;
    height: var(--design-height2);
    top: var(--design-height1);
}

.snsBox > iframe {
    height: 1100px;
} */

/*--------------------------------------------------------------
## LP Page
--------------------------------------------------------------*/

html {
    font-size: 62.5%;
}

.root {
    background-color: #cd3253;
}

.main {
    margin: 0 auto;
    max-width: 750px;
    width: 100%;
    position: relative;
    /* height: 35000px; */
    background: #FFF;
    overflow: hidden;
}

.covTxtBox {
    position: absolute;
    top: 20rem;
    right: 0;
    left: 0;
}

.covTxtBox h1 span {
    color: #cc5e7b;
}

.covTxtBox h2 span {
    color: #cc5e7b;
}

.covArea {
    position: relative;
}

.covTxt01 {
    color: #ef6583;
    font-size: 5.8rem;
    text-shadow: 0 0 10px #FFF, 0 0   #FFF, 0 0 24px #FFF, 0 0 23px #FFF, 0 0 23px #FFF;
    padding: 0 0 0 0.6em;
}

.covImg {
    /* margin: 7rem 0 0;
    transform: scale(1.3);
    left: -3.6rem; */
    position: relative;
    margin-bottom: -1px;
}

.covTxtBox h1 {
    position: relative;
    font-size: 6.9rem;
    letter-spacing: 0.2em;
    text-shadow: -2vw -2vw 2vw #FFF, 2vw 2vw 2vw #FFF;
    text-shadow:
		0 0 4vw #FFF,
		0 0 4vw #FFF,
		0 0 4vw #FFF,
		0 0 4vw #FFF,
		0 0 4vw #FFF,
		0 0 4vw #FFF,
		0 0 4vw #FFF,
		0 0 4vw #FFF,
		0 0 4vw #FFF;
    color: #5c5c5c;
    font-weight: 500;
    top: -5.7rem;
}

.covTxtBox h2 {
    font-size: 3.2rem;
    color: #5c5c5c;
    text-shadow: 0 0 4vw #FFF,0 0 4vw #FFF,0 0 4vw #FFF;
    font-weight: 500;
}

.covDeco {
    max-width: 87%;
    display: block;
    margin: 0 auto;
}

.covTxt02 {
    padding: 2.7rem 0 0;
    font-size: 4rem;
    color: #ef6583;
    text-shadow: 0 0 10px #FFF, 0 0   #FFF, 0 0 24px #FFF, 0 0 23px #FFF, 0 0 23px #FFF;
}

.covTxtImgBox {
    position: absolute;
    bottom: -17rem;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    max-width: 57.8rem;
}

.about {
    position: relative;
}

.aboutDeco01 {
    width: 8.3rem;
    margin: 0 auto;
    display: block;
}

.aboutTtl01Box {
    margin: 1.5rem 0 0;
    display: flex;
    justify-content: center;
}

.mariageWrap01 {
    position: relative;
    padding: 16px 0 6rem;
    background: url(../img/bg01.webp) center top no-repeat;
    background-size: cover;
}

.mariageWrap01::after {
    content: "";
    width: 100%;
    aspect-ratio: 750 / 100;
    background: linear-gradient(0deg, #ffffff, transparent);
    position: absolute;
    left: 0;
    bottom: 0;
}

.mariageTxt01 {
    text-align: center;
    font-size: 2.8rem;
    text-shadow: 0 0 4vw #FFF, 0 0 4vw #FFF, 0 0 4vw #FFF, 0 0 4vw #FFF;
}

.mariageTtl01 {
    font-size: 4rem;
    color: #cc5e7b;
    margin: 1rem 0 0;
    text-shadow: 0 0 4vw #FFF, 0 0 4vw #FFF, 0 0 4vw #FFF, 0 0 4vw #FFF;
}

.mariageImgBox01 {
    margin: 3vw 0 0;
}

.mariageImgBox01 img {
    transform: scale(1.05);
    position: relative;
    left: 1vw;
}

.award {
    margin: 1.7vw auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    max-width: 90%;
}

.awardBox01 {
    /* width: 41%; */
}

.awardBox02 {
    /* width: 30%; */
    /* margin: 0 0 0 11%; */
    padding: 0 16%;
}

.aboutTtlDeco {
    width: 4.3rem;
}

.aboutTtl01 {
    padding: 0 1.2rem;
    font-size: 4.6rem;
    text-align: center;
    color: #ef6583;
    line-height: 6.6rem;
}

.aboutFukidashi {
    margin: 5rem auto 0;
    max-width: 62rem;
    display: flex;
    justify-content: space-between;
}

.aboutFukidashiBox {
    width: 30rem;
    height: 13.8rem;
}

.aboutFukidashiBox.aboutFukidashiBox--left {
    background: url(../img/fukidashi01.svg) center center no-repeat;
    background-size: auto;
}

.aboutFukidashiBox.aboutFukidashiBox--right {
    background: url(../img/fukidashi02.svg) center center no-repeat;
    background-size: auto;
}

.aboutFukidashiBox > p {
    padding: 1.5rem 0 0;
    font-size: 3.4rem;
    text-align: center;
    line-height: 4.2rem;
}

.aboutTtl02Box {
    max-width: 66rem;
    margin: 4rem auto 0;
}

.aboutTtl03Box {
    text-align: center;
}

.aboutTtl03Sub {
    font-size: 3.6rem;
}

.aboutTtl03 {
    margin: -2.4rem 0 0;
    font-size: 6.8rem;
    color: #ef6583;
}

.aboutImgBox01 {
    margin: 2rem auto 4rem auto;
    max-width: 100%;
}

.aboutTxt01 {
    text-align: center;
    font-size: 3.2rem;
    margin: 5.6rem 0 0;
}

.aboutDecoImg01 {
    display: block;
    max-width: 31rem;
    position: absolute;
    bottom: -8.4%;
    right: 4%;
    mix-blend-mode: multiply;
}

.mariageAboutTxt01 {
    margin: 5.4rem 0 0;
    font-size: 3.2rem;
    text-align: center;
}

.hit {
    margin: -7.2rem 0 0;
    padding: 3.5rem 0 12rem;
    position: relative;
    z-index: 9;
    background: url(../img/hit-bg.webp) no-repeat center bottom / contain;
}

.hitTtl01Box {
    margin: 0 auto;
    max-width: 63rem;
}

.hitTxt01 {
    margin: 1.4rem 0 0;
    font-size: 3.1rem;
    line-height: 5.8rem;
    text-align: center;
    font-weight: 400;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.hitTxt02 {
    margin: 3.5rem 0 0;
    font-size: 2.5rem;
    line-height: 5.4rem;
    text-align: center;
    position: relative;
    z-index: 9;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

.hitImgBox01 {
    margin: -8rem -3rem 0 0;
    max-width: 78rem;
    background: #ffe7e2;
    position: relative;
}

.hitImg01 {
    mix-blend-mode: darken;
}

.reason {
    margin: 24px 0 0;
    padding: 9rem 0 16rem;
    background: url(../img/mariage_bg01.webp) center top;
    background-repeat: repeat-y;
    background-size: cover;
}

.reasonArea {
    padding: 0 3rem;
}

.reasonTtl01Box {
    max-width: 62rem;
    margin: 0 auto;
    position: relative;
}

.reasonTtl02 {
    font-size: 6.4rem;
    color: #ef6583;
    font-weight: 500;
}

.reasonTtl02 > span {
    font-size: 2em;
}

.reasonTtl02Box {
    margin: -6rem 0 0;
    position: relative;
}

.reasonBlock.reasonBlock--01 {}

.reasonImgBox01 {
    margin: 0 auto;
    max-width: 64rem;
}

.reasonConte {
    margin: 4.5rem 0 0;
}

.reasonImg01 {
    border-radius: 2.6rem;
}

.reasonTtl03Item {
    padding: 0 0.6rem 1.9rem;
    display: flex;
    align-items: center;
}

.reasonPointImgBox {
    width: 11.6rem;
}

.reasonTtl03 {
    padding: 0 0 0 2.3rem;
    font-size: 4.4rem;
    color: #ef6583;
    flex: 1;
    text-align: left;
    font-weight: 500;
}

.reasonTtl03Box {
    margin: 3.8rem 0 0;
}

.reasonTxt01 {
    font-size: 2.9rem;
    margin: 3.7rem 0 0;
    line-height: 5.9rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.reasonBox01 {
    margin: 5rem 0 0;
    background: url(../img/bg03.svg) center center no-repeat;
    background-size: auto;
    height: 166.9rem;
}

.reasonTtl02Box + img {
    margin: -33rem auto 0;
    max-width: 79%;
    display: block;
}

.reasonDeco01Box {
    max-width: 8.3rem;
    margin: 0 auto;
    padding: 3.4rem 0 0;
}

.reasonTtl04 {
    font-size: 4rem;
    color: #cc5e7b;
    margin: 3.2rem 0 0;
    font-weight: 500;
}

.reasonTxt02 {
    font-size: 2.4rem;
    margin: 2.1rem auto 0;
    max-width: 58.9rem;
    line-height: 5.4rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.reasonGraphBox {
    margin: 1.5rem auto 0;
    max-width: 59rem;
}

.reasonTtl05 {
    font-size: 3.6rem;
    color: #cc5e7b;
    margin: 6.3rem 0 0;
}

.reasonBlock:nth-of-type(n + 2) {
    margin: 13rem 0 0;
}

.reasonMovie {
    margin: 4rem 0 0;
    position: relative;
    padding: 0 0 56.25%;
}

.reasonMovie > iframe {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 2.6rem;
}

.reasonBlock.reasonBlock--03 {
    margin: 0rem 0 0;
}

.food {
    position: relative;
    background: #fff3f1;
}

.food::after {
    content: "";
    aspect-ratio: 75/120;
    background: #ffe2ae;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    filter: blur(20rem);
}

.foodArea {
    position: relative;
    z-index: 1;
}

.foodTtl01Box {
    margin: 0 auto;
    max-width: 60rem;
}

.foodConte {
    padding: 5rem 3rem;
}

.foodBox {
    background: #fff;
    border: dashed .6rem #ef6583;
    padding: 4rem;
    margin-bottom: 4rem;
}

.foodIcon {
    display: block;
    aspect-ratio: 6/7;
    min-width: 6rem;
}

.icon-strawberry {
    background: url(../img/icon-strawberry.svg) no-repeat center / contain;
}

.icon-chocolate {
    background: url(../img/icon-chocolate.svg) no-repeat center / contain;
}

.foodBoxTtl {
    font-size: 4.0rem;
    color: #ef6583;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 3rem;
}

.foodTxt {
    font-size: 2.8rem;
    line-height: 5.4rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
    text-align: justify;
}

.foodTxtColor {
    color: #ef6583;
    font-weight: 600;
}

.voice {
    padding: 0 0 8rem;
    background: #f1d7d3;
    position: relative;
    background: url(../img/mariage_bg02.webp) center top no-repeat;
    background-size: cover;
}

.voice:before {
    display: block;
    width: 100%;
    height: 30rem;
    background: url(../img/deco07.svg) center bottom no-repeat;
    background-size: auto;
    position: absolute;
    top: -30rem;
    right: 0;
    left: 0;
    margin: auto;
}

.reasonTxt01 > span {
    color: #cc5e7b;
}

.voiceDeco01Box {
    position: absolute;
    top: -26rem;
    left: 0;
    width: 33rem;
}

.voiceDecoImg01 {
    mix-blend-mode: multiply;
}

.voiceConte01 {
    margin: 0 auto 0;
    max-width: 71rem;
    height: 38.4rem;
    background: url(../img/mariage_deco01.svg) center center no-repeat;
    background-size: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.voiceDeco02Box {
    padding: 7rem 0 0;
    max-width: 7.4rem;
    margin: 0 auto;
}

.voiceTtl01 {
    font-size: 4rem;
    color: #ef6583;
    padding: 0rem 0 0;
    font-weight: 500;
}

.voiceTxt01 {
    font-size: 3.2rem;
    color: #444;
    margin: 1rem 0 0;
    text-align: center;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.voiceBox {
    background: #FFF;
    border-radius: 3rem;
    max-width: 61rem;
    margin: 0 auto;
    padding: 5.6rem 3rem 3.7rem;
    box-shadow: 0.5rem 0.5rem 1.5rem rgba(0, 0, 0, 0.1);
}

.voiceConte02 {
    margin: 4.4rem 0 0;
}

.voiceRow {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.voiceLabelImg {
    max-width: 20.3rem;
    margin: 0 0 0 -4.9rem;
}

.voiceTtl02 {
    margin: 1.9rem 0 0;
    font-size: 3.9rem;
    color: #cc5e7b;
    text-align: left;
    font-weight: 500;
}

.voiceName {
    margin: 1.3rem 0 0;
    font-size: 2.6rem;
    color: #a0a0a0;
    font-weight: 700;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.voiceTxt02 {
    margin: 3.2rem 0 0;
    font-size: 2.6rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.voiceTxt02 > span {
    color: #ef6583;
    font-weight: 500;
}

.voiceCol01 {
    flex: 1;
}

.voiceBox.voiceBox--01 .voiceCol02 {
    width: 30.3rem;
}

.voiceBox.voiceBox--01 .voiceImg01 {
    width: 86.9%;
}

.voiceBox:nth-of-type(n + 2) {
    margin-top: 4rem;
}

.voiceBox.voiceBox--02 .voiceCol02 {
    margin: 7.3rem 0 0 0;
    padding: 0 1.4rem 0 0;
    width: 31rem;
    text-align: right;
}

.voiceBox.voiceBox--02 .voiceImg01 {
    width: 83%;
}

.voiceBox.voiceBox--03 .voiceCol02 {
    width: 18rem;
    position: absolute;
    right: 3rem;
    top: -2rem;
}

.voiceBox.voiceBox--04 .voiceCol02 {
    margin: -3.6rem 0 0;
    width: 21rem;
}

.voiceBox.voiceBox--04 .voiceImg01 {
    width: 76%;
}

.voiceBox.voiceBox--03 .voiceTxt02 {
    margin: 7.1rem 0 0;
}

.sns {
    padding: 9.5rem 0 14.2rem;
    background: url(../img/mariage_bg03.webp) center top no-repeat;
    background-size: cover;
}

.snsTtl01Box {
    margin: 0 auto;
    max-width: 68rem;
}

.snsTxt01 {
    font-size: 3rem;
    text-align: left;
    width: 92%;
    margin: 3rem auto 0;
    line-height: 5.4rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.snsConte {
    margin: 8rem 0 0;
    padding: 0 3rem;
}

.snsBlock > iframe {
    margin: 0 auto !important;
    max-width: 100% !important;
}

.snsBlock:nth-of-type(n + 2) {
    margin-top: 3rem;
}

.mediaTtl01Box {
    margin: 0 auto;
    max-width: 48.9rem;
}

.mediaConte {
    background: #FFF;
    border: 2px solid #ef6583;
    margin: -2.8rem auto 0;
    width: 89.1%;
    border-radius: 4rem;
    padding: 0 0 7rem;
}

.mediaImg01Box {
    margin: 8rem auto 0;
    width: 98%;
}

.media {
    padding: 10rem 0 -0rem;
    /* background: #fffae6; */
}

.lineup {
    padding: 8rem 0 0;
    background: #FFF;
}

.lineupTtl01 {
    font-size: 4.4rem;
    color: #cc5e7b;
}

.lineupConte {
    margin: 5.7rem auto 0;
    padding: 3.5rem 0rem 11rem;
    width: 98.6%;
    border-radius: 3.2rem;
    background: #FFF;
    background: url(../img/mariage_deco02.webp) center center no-repeat;
    background-size: contain;
}

.lineupRow01 {
    padding: 3rem 4.3rem 3.8rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.lineupIconBox01 {
    width: 10rem;
    display: none;
}

.lineupTtl02 {
    font-size: 4.6rem;
    text-align: left;
    color: #cc5e7b;
    flex: 1;
    line-height: 5.9rem;
    text-align: center;
}

.lineUpSubTtl01 {
    font-size: 3.5rem;
    text-align: center;
    color: #cc5e7b;
}

.lineupPriceTxt01 {
    font-size: 2.9rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.lineupPriceTxt02 {
    font-size: 4.4rem;
    font-weight: 700;
    color: #cc5e7b;
    position: relative;
}

.lineupPriceBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.lineupPrice {
    padding: 4rem 5.8rem 0;
}

.lineupPriceTxt02 > span {
    position: relative;
    z-index: 9;
}

.lineupPriceTxt02:after {
    content: "";
    display: block;
    width: 105%;
    height: 1rem;
    background: #efd952;
    position: absolute;
    bottom: 1.1rem;
    right: 0;
    left: -0.8rem;
}

.lineupPriceBox {}

.lineupIcon02 {
    width: 3.9rem;
    padding: 0 0 0 2.3rem;
}

.lineupIconBox02 {
    margin: 1.6rem auto 0;
    text-align: center;
}

.lineupTotal {
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin: 0 4.5rem 0 0;
}

.lineupTotalTxt01 {
    font-size: 3.2rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.lineupTotalTxt02 {
    margin: 0 0 0 4rem;
    font-size: 6.2rem;
    font-weight: 700;
    color: #cc5e7b;
    position: relative;
}

.lineupTotalTxt02 > span {
    position: relative;
    z-index: 9;
}

.lineupTotalTxt02:after {
    content: "";
    display: block;
    width: 105%;
    height: 1rem;
    background: #efd952;
    position: absolute;
    bottom: 1.5rem;
    right: 0;
    left: -0.7rem;
}

.products {
    padding: 8rem 0 10rem;
    background: url(../img/mariage_bg04.webp) center top no-repeat;
    background-size: cover;
}

.productsArea {
    padding: 0 3.8rem;
}

.productsImgBox01 {
    position: relative;
    text-align: center;
}

.productsLabel {
    position: absolute;
    width: 58.5rem;
    margin: 0 auto;
    right: 0;
    left: 0;
}

.productsImg01 {
    margin: -14rem 0 0;
    border-radius: 3.3rem;
    max-width: 90.2%;
}

.productLine {
    margin: 2.5rem 0 0;
}

.productsName {
    font-size: 3.8rem;
    text-align: left;
    margin: 4.7rem 0 0;
    color: #c4973f;
    text-align: center;
}

.productsInfo dt {
    font-size: 3.2rem;
    width: 15rem;
}

.productsInfo dd {
    font-size: 3.1rem;
    flex: 1;
    line-height: 5.8rem;
}

.productsInfo dl {
    display: flex;
    justify-content: flex-start;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
}

.productsInfo {
    margin: 5.1rem 0 0;
}

.productsDetailTtl {
    display: grid;
    place-content: center;
    aspect-ratio: 644/80;
    font-size: 3.1rem;
    color: #fff;
    background: url(../img/products_title_bg.webp) no-repeat center / contain;
    margin: 0 0 5rem 0;
}

.productsDetail dl {
    display: flex;
}

.productsDetail dt figure {
    width: 5rem;
}

.productsDetail dd {
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-size: 3.1rem;
    line-height: 5.8rem;
    font-weight: 500;
    flex: 1;
    margin: 0 0 0 1.3rem;
    word-break: auto-phrase;
    text-align: justify;
}

.productsDetail {
    margin: 8rem 0 0;
}

.use-list__title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 3.3rem;
    color: #cc5e7b;
}

.use-list__icon {
    aspect-ratio: 6/7;
    min-width: 5rem;
}

.use-list__icon img {
    object-fit: contain;
    object-position: center;
}

.use-list__text {
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-size: 3.1rem;
    line-height: 5.8rem;
    font-weight: 500;
    margin: 1rem 0 4rem 0;
}

.productsImgBox01 {
    text-align: center;
}

.productsInfo dd strong {
    color: #cc5e7b;
}

.productsSummary span {
    color: #cc5e7b;
}

/* .prodcutDet {
    margin: 7rem 0 0;
} */

.feature {
    padding: 6rem 0 0 0;
}

.icon-ring {
    display: block;
    aspect-ratio: 2 / 3;
    min-width: 6rem;
    background: url(../img/icon-ring.svg) no-repeat center / contain;
}

.feature__title {
    font-size: 2.9rem;
    line-height: 5.8rem;
    color: #cc5e7b;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 8px;
}

.feature__body {
    padding: 5rem 0 0 0;
}

.feature__text {
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-size: 3.1rem;
    line-height: 5.8rem;
    font-weight: 500;
}

.faq {
    padding: 8rem 0 0 0;
}

.faqTtlImgBox {
    max-width: 35rem;
    margin: 0 auto;
    position: relative;
}

.faqTtl {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    font-size: 6rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.faqTtl {
    color: #cc5e7b;
    font-weight: 500;
}

.faqTtlImgBox img {
    position: relative;
    left: 2.6rem;
}

.faqBlock dt {
    margin: 0 1rem 0 0;
    font-size: 4rem;
    color: #cc5e7b;
}

.faqConte {
    margin: 4rem 0 0;
    padding: 0 3rem;
}

.faqBlock dd {
    font-size: 2.5rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
    flex: 1;
}

.faqBlock dl {
    display: flex;
    justify-content: flex-start;
    align-items: baseline;
}

.faqBlock .question dd {
    font-size: 3rem;
    color: #cc6e7b;
    font-family: "Shippori Mincho", serif;
}

.answer {
    margin: 1.4rem 0 0;
}

.faqBlock:after {content: "";display: block;width: 100%;height: 1rem;background: url(../img/mariage_deco05.svg) center center no-repeat;background-size: auto;margin: 4rem 0 3rem;}

.faqBlock dd a {
    color: #444;
}

.prodcutDetConte {
    padding: 4rem 3rem 4rem;
}

.prodcutDetDeco01 {
    margin: 0 auto;
    width: 90%;
    display: block;
}

.prodcutDetTxt {
    margin: 3rem 0 0;
    font-size: 2.7rem;
    font-weight: 500;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.productsDetail dl:nth-of-type(n + 2) {
    margin: 3rem 0px 0;
}

/* .productsSummary {
    font-size: 3rem;
    margin: 3.3rem 0 0;
    list-style: none;
    line-height: 5.9rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
    font-weight: 500;
} */

/* .productsFruitTtl {
    font-size: 3.6rem;
    font-weight: 700;
    text-align: left;
    color: #cc5e7b;
    margin: 6rem 0 0;
}

.productsFruitTxt {
    font-size: 2.6rem;
    line-height: 1.9em;
    font-weight: 500;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
} */

.productsBtnBox {
    margin: 8.7rem 0 0;
}

.productsBlock:nth-of-type(n + 2) {
    margin: 22rem 0 0;
}

.delivery {
    padding: 9rem 0 8.9rem;
}

.deliveryTtl01 {
    width: 90%;
    font-size: 4.4rem;
    background: #ffebea;
    display: block;
    margin: 0 auto;
    padding: 1rem 0 1.6rem;
    color: #cc5e7b;
}

.deliveryDeco01 {
    display: block;
    margin: 0 auto;
    width: 87%;
}

.deliveryTxt01 {
    font-size: 3.2rem;
    font-weight: 500;
    width: 88%;
    margin: 0 auto;
    text-align: left;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.deliveryTtl01Box {
    padding: 0 0 7.7rem;
}

.deliveryImgBox01 {
    margin: 0.6rem 0 0;
    padding: 0 0 1.4rem;
}

.ceo {
    padding: 0 0 5.7rem;
    position: relative;
}

.ceoConte {
    background: url(../img/deco13.svg) center center no-repeat;
    background-size: auto;
    height: 185.7rem;
    width: 67rem;
    margin: -4.5rem auto 0;
}

.ceo:before {
    content: "";
    display: block;
    width: 100%;
    height: 30rem;
    background: url(../img/deco13.svg) center bottom no-repeat;
    background-size: auto;
    position: absolute;
    top: -30rem;
    right: 0;
    left: 0;
    margin: auto;
    display: none;
}

.ceoTtl01 {
    padding: 15rem 0 0;
    font-size: 3.8rem;
    color: #ef6583;
}

.ceoTxt01 {
    margin: 4rem 0 0;
    padding: 0 2rem;
    font-size: 2.5rem;
    font-weight: 500;
    text-align: center;
    line-height: 5.5rem;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.ceoImgBox01 {
    margin: 7rem auto 0;
    max-width: 46rem;
}

.ceoName {
    font-size: 2.6rem;
    font-weight: 500;
    margin: 2.1rem 0 0;
    text-align: center;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.footer:before {
    content: "";
    display: block;
    width: 100%;
    height: 30rem;
    background-size: auto;
    position: absolute;
    top: -30rem;
    right: 0;
    left: 0;
    margin: auto;
}

.lineupDeco01 {
    width: 89.6%;
    margin: 0 auto;
    display: block;
}

.deliveryDeco01 {
    display: none;
}




.btn01 {
    display: block;
    max-width: 84%;
    font-size: 3.4rem;
    margin: 0 auto;
    height: 12.3rem;
    font-weight: 700;
    position: relative;
    z-index: 9;
    text-decoration: none;
    transition: .3s;
}

.btn01 > div {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 9;
    font-size: 3.4rem;
    transition: .3s;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 9;
    background: #bf3c40;
    border-radius: 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFF;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    z-index: 9;
    top: 0;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.btn01:hover > div {
    top: 1.5rem;
    transition: .3s;
}

.btn01:after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -1.5rem;
    right: 0;
    left: 0;
    margin: auto;
    background: #9b1e1b;
    border-radius: 8rem;
}

.footer {
    padding: 9rem 0 35rem;
    background-color: #e880a0;
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.footer:before {
    /* content: ""; */
    /* display: block; */
    /* width: 100%; */
    /* height: 19.1rem; */
    /* position: absolute; */
    /* top: -7.3rem; */
    /* left: 0; */
    /* background: url(../img/span08.webp); */
    /* background-position: left top; */
    /* background-repeat: no-repeat; */
    /* background-size: contain; */
}

.footerTtl {
    font-size: 4rem;
    color: #FFF;
    font-family: fot-tsukuardgothic-std, 'Noto Sans JP', sans-serif;
}

.footerTxt {
    font-size: 3rem;
    font-weight: 500;
    color: #FFF;
    text-align: center;
}

.footerTxt > a {
    color: #FFF;
}

.footerInfo {
    margin: 5rem 0 0;
}

.copyright {
    margin: 13rem 0 0;
    color: #FFF;
    font-size: 2.7rem;
    text-align: center;
    font-weight: 700;
}

/*--------------------------------------------------------------
## 固定バナー
--------------------------------------------------------------*/

.btn-win {
    bottom: 10px;
    z-index: 100;
    display: none;
    margin: 0 auto;
    padding: 0 10px;
    position: fixed;
    max-width: 700px;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

/* .btn-win{
	bottom: 10px;
	z-index: 100;
	display: none;
	margin: 0 auto;
	padding: 0 10px;
	position: fixed;
	max-width: 600px;
	right: 0;
    left: 0;
    margin: auto;
    text-align: center;
} */

.btn-win #btn {
    margin: auto auto 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 4%;
    left: 0;
    display: block;
    max-width: 600px;
    width: 95%;
    /* height: 53%; */
    border-radius: 100px;
}

@media screen and (max-width: 750px){

	html {
		font-size: 1.333vw;
	}

}

@media screen and (max-width: 481px){



}

@media screen and (max-width: 330px){



}
