@charset "utf-8";
html { visibility: hidden; }
html.wf-active { visibility: visible; }
body {
    position: relative;
    margin: 0;
    overflow-x: hidden;
    font-family: "source-han-sans-japanese", sans-serif;
}

* {
    box-sizing: border-box;
}
h1,h2,h3,h4,p,ul,li,ol,span,dl,dt,dd,figure,figcaption {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: normal;
}
.js-slide-up {
	opacity: 0;
  transform: translateY(.6em);
}
.u-slide-up {
	animation: slide-up-animation .75s ease-out forwards;
  overflow: hidden;
}
.js-fv-up {
  opacity: 0;
  transform: translateY(.6em);
}
html.wf-active .js-fv-up {
	animation: slide-up-animation .75s ease-out forwards;
  overflow: hidden;
}
@keyframes slide-up-animation {
	0% {
		opacity: 0;
		transform: translateY(30px);
	}
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}
main.gift05 {
  margin: auto;
  padding-top: calc(40 / 1600 * 100vw);
  font-size: 0;
}
main.gift05 img {
  width: 100%;
}
main.gift05 a {
  color: inherit;
  text-decoration: none;
}
main.gift05 .title-header {
  position: relative;
  margin-bottom: calc(109 / 1600 * 100vw);
  text-align: center;
}
main.gift05 .title-header .logo {
  margin-bottom: calc(66 / 1600 * 100vw);
}
main.gift05 .title-header .logo .image {
  width: calc(100 / 1600 * 100vw);
  margin: 0 auto calc(14 / 1600 * 100vw);
}
main.gift05 .title-header .logo .title {
  font-family: Cormorant Garamond;
  font-weight: 600;
  font-size: calc(30 / 1600 * 100vw);
  line-height: calc(38 / 1600 * 100vw);
  letter-spacing: 1.5px;
}
main.gift05 .title-header .sub-title {
  margin: 0;
  font-size: calc(24 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
  letter-spacing: 0;
}
main.gift05 section.kv {
  position: relative;
  margin-bottom: calc(73 / 1600 * 100vw);
}
main.gift05 section.kv h1 {
  position: absolute;
  z-index: 1;
  top: calc(-70 / 1600 * 100vw);
  left: calc(-55.5 / 1600 * 100vw);
  width: calc(698 / 1600 * 100vw);
  height: calc(98 / 1600 * 100vw);
}
main.gift05 section.kv h1 span {
  position: absolute;
  opacity: 0;
  transition: 1s;
}
main.gift05 section.kv h1 span:nth-of-type(1) {
  top: calc(24 / 1600 * 100vw);
  left: 0;
  width: calc(93.5 / 1600 * 100vw);
}
main.gift05 section.kv h1 span:nth-of-type(2) {
  top: calc(33 / 1600 * 100vw);
  left: calc(82 / 1600 * 100vw);
  width: calc(56.6 / 1600 * 100vw);
  transition-delay: .1s;
}
main.gift05 section.kv h1 span:nth-of-type(3) {
  top: calc(15 / 1600 * 100vw);
  left: calc(122 / 1600 * 100vw);
  width: calc(100.6 / 1600 * 100vw);
  transition-delay: .2s;
}
main.gift05 section.kv h1 span:nth-of-type(4) {
  top: calc(19 / 1600 * 100vw);
  left: calc(217 / 1600 * 100vw);
  width: calc(34.6 / 1600 * 100vw);
  transition-delay: .3s;
}
main.gift05 section.kv h1 span:nth-of-type(5) {
  top: calc(13 / 1600 * 100vw);
  left: calc(253 / 1600 * 100vw);
  width: calc(61.8 / 1600 * 100vw);
  transition-delay: .4s;
}
main.gift05 section.kv h1 span:nth-of-type(6) {
  top: calc(15 / 1600 * 100vw);
  left: calc(336 / 1600 * 100vw);
  width: calc(38.3 / 1600 * 100vw);
  transition-delay: .5s;
}
main.gift05 section.kv h1 span:nth-of-type(7) {
  top: calc(1 / 1600 * 100vw);
  left: calc(374 / 1600 * 100vw);
  width: calc(80.5 / 1600 * 100vw);
  transition-delay: .6s;
}
main.gift05 section.kv h1 span:nth-of-type(8) {
  top: calc(5 / 1600 * 100vw);
  left: calc(450 / 1600 * 100vw);
  width: calc(42.2 / 1600 * 100vw);
  transition-delay: .7s;
}
main.gift05 section.kv h1 span:nth-of-type(9) {
  top: calc(-7 / 1600 * 100vw);
  left: calc(500 / 1600 * 100vw);
  width: calc(66.1 / 1600 * 100vw);
  transition-delay: .8s;
}
main.gift05 section.kv h1 span:nth-of-type(10) {
  top: calc(6 / 1600 * 100vw);
  left: calc(560 / 1600 * 100vw);
  width: calc(62.8 / 1600 * 100vw);
  transition-delay: .9s;
}
main.gift05 section.kv h1 span:nth-of-type(11) {
  top: calc(-8 / 1600 * 100vw);
  left: calc(608 / 1600 * 100vw);
  width: calc(88.9 / 1600 * 100vw);
  transition-delay: 1s;
}
html.wf-active main.gift05 section.kv h1 span {
  opacity: 1;
}
main.gift05 section.kv .image {
  margin-bottom: calc(50 / 1600 * 100vw);
}
main.gift05 section.kv p {
  font-size: calc(16 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
  letter-spacing: calc(0.64 / 1600 * 100vw);
}
main.gift05 section.kv figure figcaption {
  margin-top: calc(21 / 1600 * 100vw);
  font-size: calc(12 / 1600 * 100vw);
  line-height: calc(18 / 1600 * 100vw);
  color: #777;
  letter-spacing: calc(0.48 / 1600 * 100vw);
}
main.gift05 section.kv figure figcaption span {
  display: block;
}
main.gift05 section.kv figure figcaption span a {
  text-decoration: underline;
}
main.gift05 section.guest {
  margin-bottom: calc(80 / 1600 * 100vw);
}
main.gift05 section.guest .guest-head {
  width: calc(720 / 1600 * 100vw);
  margin: 0 auto calc(80 / 1600 * 100vw);
  padding: calc(33 / 1600 * 100vw) 0 calc(32 / 1600 * 100vw);
  text-align: center;
  border: 4px solid #222;
}
main.gift05 section.guest .guest-head .sub-title {
  margin-bottom: calc(15 / 1600 * 100vw);
  font-weight: 700;
  font-size: calc(16 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
}
main.gift05 section.guest .guest-head h2 {
  margin-bottom: calc(25 / 1600 * 100vw);
  font-weight: 700;
  font-size: calc(24 / 1600 * 100vw);
  line-height: 1;
  letter-spacing: calc(0.96 / 1600 * 100vw);
}
main.gift05 section.guest .guest-head dl {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: calc(16 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
}
main.gift05 section.guest .guest-head dl dt {
  color: #777;
  letter-spacing: calc(0.64 / 1600 * 100vw);
}
main.gift05 section.guest .image {
  margin-bottom: calc(48 / 1600 * 100vw);
}
main.gift05 section.guest [class^="image-colum"] {
  margin-bottom: calc(47 / 1600 * 100vw);
}
main.gift05 section.guest [class^="image-colum"] figure {
  margin-bottom: 0;
}
main.gift05 section.guest figure {
  margin-bottom: calc(60 / 1600 * 100vw);
}
main.gift05 section.guest figure figcaption {
  margin-top: calc(21 / 1600 * 100vw);
  font-size: calc(12 / 1600 * 100vw);
  line-height: calc(18 / 1600 * 100vw);
  color: #777;
  letter-spacing: calc(0.48 / 1600 * 100vw);
}
main.gift05 section.guest figure figcaption a {
  text-decoration: underline;
}
main.gift05 section.guest h3 {
  font-weight: 700;
  font-size: calc(16 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
  letter-spacing: calc(0.64 / 1600 * 100vw);
}
main.gift05 section.guest h3.thanks {
  margin-bottom: calc(17 / 1600 * 100vw);
  font-size: calc(18 / 1600 * 100vw);
}
main.gift05 section.guest p {
  font-size: calc(16 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
  letter-spacing: calc(0.64 / 1600 * 100vw);
}
main.gift05 section.guest p+h3 {
  margin-top: calc(59 / 1600 * 100vw);
}
main.gift05 section.guest p+[class^="image-colum"] {
  margin-top: calc(47 / 1600 * 100vw);
}
main.gift05 section.guest p+.image {
  margin-top: calc(48 / 1600 * 100vw);
}
main.gift05 section.present {
  margin-bottom: calc(80 / 1600 * 100vw);
  padding-top: calc(81 / 1600 * 100vw);
  border-top: 1px solid #D9D9D9;
}
main.gift05 section.present h2 {
  margin-bottom: calc(31 / 1600 * 100vw);
  text-align: center;
  font-weight: 700;
  font-size: calc(22 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
  letter-spacing: -.03em;
}
main.gift05 section.present .section-inner {
  width: calc(720 / 1600 * 100vw);
  margin: auto;
}
main.gift05 section.present .image {
  display: block;
  margin-bottom: calc(48 / 1600 * 100vw);
}
main.gift05 section.present .description {
  margin-bottom: calc(30 / 1600 * 100vw);
  font-size: calc(16 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
}
main.gift05 section.present .note {
  font-weight: 400;
  font-size: calc(14 / 1600 * 100vw);
  line-height: 210%;
}
main.gift05 section.present .note dl dt {
  font-weight: 700;
}
main.gift05 section.dress {
  padding-top: calc(72 / 1600 * 100vw);
  border-top: 1px solid #D9D9D9;
}
main.gift05 section.dress h2 {
  margin-bottom: calc(31 / 1600 * 100vw);
  font-weight: 700;
  text-align: center;
  font-size: calc(16 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
}
main.gift05 section.dress .dress-gift {
  padding: calc(30 / 1600 * 100vw - 4px);
  padding-left: 0;
  border: 4px solid #000;
}
main.gift05 section.dress .dress-gift .detail {
  text-align: center;
}
main.gift05 section.dress .dress-gift .detail p {
  margin-bottom: calc(15 / 1600 * 100vw);
  font-size: calc(16 / 1600 * 100vw);
  line-height: calc(30 / 1600 * 100vw);
  letter-spacing: calc(0.48 / 1600 * 100vw);
}
main.gift05 section.dress .dress-gift .detail h3 {
  margin-bottom: calc(29 / 1600 * 100vw);
  font-weight: 700;
  font-size: calc(24 / 1600 * 100vw);
  line-height: calc(32 / 1600 * 100vw);
  letter-spacing: calc(0.72 / 1600 * 100vw);
}
main.gift05 section.dress .dress-gift .detail .description {
  text-align: left;
  color: #777;
  font-size: calc(12 / 1600 * 100vw);
  line-height: calc(18 / 1600 * 100vw);
  letter-spacing: calc(0.36 / 1600 * 100vw);
}
main.gift05 section.dress .dress-gift .detail span {
  display: block;
  margin-top: calc(15 / 1600 * 100vw);
  color: #777;
  font-size: calc(12 / 1600 * 100vw);
  line-height: calc(18 / 1600 * 100vw);
  letter-spacing: calc(0.36 / 1600 * 100vw);
}
main.gift05 section.dress .dress-gift .detail .link-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(150 / 1600 * 100vw);
  height: calc(44 / 1600 * 100vw);
  margin: auto;
  margin-top: calc(25 / 1600 * 100vw);
  background: #000;
  font-size: calc(16 / 1600 * 100vw);
  font-weight: 700;
  color: #fff;
}
main.gift05 section.dress .dress-gift .detail span a {
  text-decoration: underline;
}

.participate_button {
  position: relative;
  background-color: #FBB03B;
  width: 27.7vw;
  border-radius: 60px;
  margin: auto;
  padding: 2vw;
}

.participate_text {
  font-family: "source-han-sans-japanese", sans-serif;
  font-size: calc(13px + 15 * (100vw - 768px) / (1440 - 768));
  font-weight: 500;
  color: #000;
  text-align: center;
  margin: 0;
}

.participate_stamp {
  position: absolute;
  top: -2vw;
  left: -1vw;
  object-fit: contain;
  width: 7.63vw!important;
}

.participate_link_text {
  font-family: "source-han-sans-japanese", sans-serif;
  font-size: 15px;
  font-weight: 350;
  color: #000;
  text-align: center;
  margin: 50px 0 0;
}

.link {
  display: block;
  text-decoration: none;
}

.link .participate_link_text {
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translate(-50%, 0);
  border-bottom: 1px solid #000;
  margin: 20px auto 0;
}

.link .participate_link_text:hover {
  opacity: .6;
}
.footer {
  padding: 150px 8.3% 100px ;
}
.footer_nav_container {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: 80px 0 0;
}
.footer_nav_list {
  list-style: none;
  padding: 0;
  display: flex;
  column-gap: calc(12px + 30 * (100vw - 768px) / (1440 - 768));
  justify-content: right;
  margin: 0;
}

.footer_nav_item {
  white-space: nowrap;
}

.footer_nav_link {
  font-size: calc(11px + 5 * (100vw - 768px) / (1440 - 768));
  font-weight: 500;
  font-family: "Yu Mincho", YuMincho, "Noto Serif JP", sans-serif;
  text-decoration: none;
  color: #000;
}

.footer_copyrights {
  font-family: 'Cormorant Garamond', serif;
  font-size: 14px;
  font-weight: 600;
  color: #000;
  margin: 100px 0 0;
}
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
	main.gift05 {
    width: calc(960 / 1600 * 100vw);
    margin: auto;
  }
  main.gift05 a:hover {
    opacity: .6;
  }
  main.gift05 section.guest .image-colum3 ul li:nth-of-type(1) {
    float: left;
    width: calc(480 / 1600 * 100vw);
  }
  main.gift05 section.guest .image-colum3 ul li:nth-of-type(2) {
    float: right;
    width: calc(440 / 1600 * 100vw);
    margin-left: calc(40 / 1600 * 100vw);
    margin-bottom: calc(40 / 1600 * 100vw);
  }
  main.gift05 section.guest .image-colum3 ul li:nth-of-type(3) {
    width: calc(440 / 1600 * 100vw);
    float: right;
  }
  main.gift05 section.guest .image-colum3 ul::after {
    content: '';
    display: block;
    clear: both;
  }
  main.gift05 section.guest .image-colum2 ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  main.gift05 section.guest .image-colum2 ul li {
    width: calc(460 / 1600 * 100vw);
  }
  main.gift05 section.guest .image-colum2-1 ul::after {
    content: '';
    display: block;
    clear: both;
  }
  main.gift05 section.guest .image-colum2-1 ul li {
    width: calc(460 / 1600 * 100vw);
  }
  main.gift05 section.guest .image-colum2-1 ul li:nth-of-type(1) {
    float: left;
  }
  main.gift05 section.guest .image-colum2-1 ul li:nth-of-type(2) {
    float: right;
    margin-top: calc(-1 / 1600 * 100vw);
  }
  main.gift05 section.guest .image-colum2-1 ul li:nth-of-type(3) {
    float: left;
    margin-top: calc(49 / 1600 * 100vw);
  }
  main.gift05 section.guest .image-colum ul {
    display: flex;
    justify-content: space-between;
  }
  main.gift05 section.guest .image-colum ul li {
    width: calc(460 / 1600 * 100vw);
  }
  main.gift05 section.guest .image-colum.left {
    margin-bottom: calc(49 / 1600 * 100vw);
  }
  main.gift05 section.guest .image-colum.left ul {
    flex-direction: row-reverse;
  }
  main.gift05 section.guest .image1 {
    margin-bottom: calc(58 / 1600 * 100vw);
  }
  main.gift05 section.guest h3.thanks2 {
    margin-top: calc(60 / 1600 * 100vw);
    margin-bottom: calc(32 / 1600 * 100vw);
  }
  main.gift05 section.guest .image+h3.thanks2 {
    margin-top: calc(64 / 1600 * 100vw);
  }
  main.gift05 section.guest .image.image1+h3.thanks2 {
    margin-top: calc(59 / 1600 * 100vw);
  }
  main.gift05 section.guest h3.thanks+h3 {

  }
  main.gift05 section.present .note dl {
    display: flex;
  }
  main.gift05 section.present .note dl dd a {
    margin-left: 1em;
    text-decoration: underline;
  }
  main.gift05 section.dress .dress-gift {
    display: flex;
    align-items: center;
    width: calc(800 / 1600 * 100vw);
    margin: auto;
  }
  main.gift05 section.dress .dress-gift .detail {
    width: calc(100% - (260 / 1600 * 100vw));
    padding: 0 calc(75 / 1600 * 100vw);
  }
  main.gift05 section.dress .dress-gift .image {
    width: calc(260 / 1600 * 100vw);
  }
  main.gift05 section.stamp_rally {
    padding-top: calc(110 / 1600 * 100vw);
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
	main.gift05 {
    width: calc(309 / 375 * 100vw);
    padding-top: calc(60 / 375 * 100vw);
  }
  main.gift05 .title-header {
    margin-bottom: calc(61 / 375 * 100vw);
  }
  main.gift05 .title-header .logo {
    margin-bottom: calc(51 / 375 * 100vw);
  }
  main.gift05 .title-header .logo .image {
    width: calc(70 / 375 * 100vw);
    margin: 0 auto calc(14 / 375 * 100vw);
  }
  main.gift05 .title-header .logo .title {
    font-size: calc(22 / 375 * 100vw);
    line-height: calc(28 / 375 * 100vw);
    letter-spacing: 1.1px;
  }
  main.gift05 .title-header .sub-title {
    font-size: calc(16 / 375 * 100vw);
    line-height: 1;
    letter-spacing: calc(0.64 / 375 * 100vw);
  }
  main.gift05 section.kv {
    width: calc(100% + ((66 / 375 * 100vw)));
    margin-left: calc(-33 / 375 * 100vw);
    margin-bottom: calc(49 / 375 * 100vw);
  }
  main.gift05 section.kv h1 {
    top: calc(-35.5 / 375 * 100vw);
    left: calc(3.6 / 375 * 100vw);
    width: calc(363.7 / 375 * 100vw);
    height: calc(51 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(1) {
    top: 0;
    left: 0;
    width: calc(49.7 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(2) {
    top: calc(7 / 375 * 100vw);
    left: calc(44 / 375 * 100vw);
    width: calc(29.5 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(3) {
    top: calc(-2 / 375 * 100vw);
    left: calc(62 / 375 * 100vw);
    width: calc(55.24 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(4) {
    top: calc(2 / 375 * 100vw);
    left: calc(113 / 375 * 100vw);
    width: calc(18.1 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(5) {
    top: calc(-1 / 375 * 100vw);
    left: calc(133 / 375 * 100vw);
    width: calc(32.2 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(6) {
    top: calc(2 / 375 * 100vw);
    left: calc(175 / 375 * 100vw);
    width: calc(20 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(7) {
    top: calc(-4 / 375 * 100vw);
    left: calc(195 / 375 * 100vw);
    width: calc(42 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(8) {
    top: calc(-2 / 375 * 100vw);
    left: calc(236 / 375 * 100vw);
    width: calc(22 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(9) {
    top: calc(-6 / 375 * 100vw);
    left: calc(262 / 375 * 100vw);
    width: calc(34.5 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(10) {
    top: calc(2 / 375 * 100vw);
    left: calc(291 / 375 * 100vw);
    width: calc(32.8 / 375 * 100vw);
  }
  main.gift05 section.kv h1 span:nth-of-type(11) {
    top: calc(-5 / 375 * 100vw);
    left: calc(319 / 375 * 100vw);
    width: calc(46.3 / 375 * 100vw);
  }
  main.gift05 section.kv .image {
    margin-bottom: calc(37 / 375 * 100vw);
  }
  main.gift05 section.kv p {
    width: calc(309 / 375 * 100vw);
    margin: auto;
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(26 / 375 * 100vw);
    letter-spacing: calc(0.56 / 375 * 100vw);
  }
  main.gift05 section.kv figure figcaption {
    width: calc(309 / 375 * 100vw);
    margin: calc(23 / 375 * 100vw) auto 0;
    font-size: calc(12 / 375 * 100vw);
    line-height: calc(18 / 375 * 100vw);
    letter-spacing: calc(0.48 / 375 * 100vw);
  }
  main.gift05 section.kv figure figcaption span {
    margin-top: calc(3 / 375 * 100vw);
    line-height: 180%;
  }
  main.gift05 section.guest {
    margin-bottom: calc(60 / 375 * 100vw);
  }
  main.gift05 section.guest .guest-head {
    width: 100%;
    margin: 0 0 calc(59 / 375 * 100vw);
    padding: calc(32 / 375 * 100vw) 0 calc(29 / 375 * 100vw);
  }
  main.gift05 section.guest .guest-head .sub-title {
    margin-bottom: calc(10 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    line-height: 1;
  }
  main.gift05 section.guest .guest-head h2 {
    margin-bottom: calc(16 / 375 * 100vw);
    font-size: calc(20 / 375 * 100vw);
    line-height: calc(24 / 375 * 100vw);
    letter-spacing: calc(0.8 / 375 * 100vw);
  }
  main.gift05 section.guest .guest-head dl {
    display: block;
    font-size: calc(12 / 375 * 100vw);
    line-height: calc(18 / 375 * 100vw);
    letter-spacing: calc(0.48 / 375 * 100vw);
  }
  main.gift05 section.guest .guest-head dl+dl {
    margin-top: calc(8 / 375 * 100vw);
  }
  main.gift05 section.guest .guest-head dl dt {
    letter-spacing: inherit;
  }
  main.gift05 section.guest .image {
    margin-bottom: calc(37 / 375 * 100vw);
  }
  main.gift05 section.guest .image figcaption {
    width: calc(309 / 375 * 100vw);
    margin-right: auto;
    margin-left: auto;
  }
  main.gift05 section.guest [class^="image-colum"] {
    margin-bottom: calc(38 / 375 * 100vw);
  }
  main.gift05 section.guest .image-colum.left ul {
    display: flex;
    flex-direction: column-reverse;
  }
  main.gift05 section.guest .image-colum.left ul li+li {
    margin-bottom: calc(36 / 375 * 100vw);
  }
  main.gift05 section.guest .image-colum2 {
    margin-top: calc(36 / 375 * 100vw)!important;
  }
  main.gift05 section.guest figure {
    margin-bottom: calc(36 / 375 * 100vw);
  }
  main.gift05 section.guest figure figcaption {
    margin-top: calc(21 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: calc(18 / 375 * 100vw);
    letter-spacing: calc(0.48 / 375 * 100vw);
  }
  main.gift05 section.guest figure figcaption a {
    display: inline-block;
    margin-bottom: calc(5 / 375 * 100vw);
  }
  main.gift05 section.guest h3 {
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(26 / 375 * 100vw);
    letter-spacing: calc(0.56 / 375 * 100vw);
  }
  main.gift05 section.guest h3.thanks {
    margin-bottom: calc(30 / 375 * 100vw);
    font-size: calc(15 / 375 * 100vw);
  }
  main.gift05 section.guest h3.thanks2 {
    margin-top: calc(60 / 375 * 100vw);
    margin-bottom: calc(34 / 375 * 100vw);
  }
  main.gift05 section.guest .image+h3.thanks2 {
  }
  main.gift05 section.guest .image.image1+h3.thanks2 {
  }
  main.gift05 section.guest p {
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(26 / 375 * 100vw);
    letter-spacing: calc(0.56 / 375 * 100vw);
  }
  main.gift05 section.guest p+h3 {
    margin-top: calc(35 / 375 * 100vw);
  }
  main.gift05 section.guest p+[class^="image-colum"] {
    margin-top: calc(0 / 375 * 100vw);
  }
  main.gift05 section.guest p+.image {
    margin-top: calc(48 / 375 * 100vw);
  }
  main.gift05 section.guest [class^="image-colum"] li+li {
    margin-top: calc(36 / 375 * 100vw);
  }
  main.gift05 section.present {
    margin-bottom: calc(64 / 375 * 100vw);
    padding-top: calc(64 / 375 * 100vw);
  }
  main.gift05 section.present h2 {
    margin-bottom: calc(32 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    line-height: 120%;
    letter-spacing: calc(0.48 / 375 * 100vw);
  }
  main.gift05 section.present .section-inner {
    width: calc(269 / 375 * 100vw);
  }
  main.gift05 section.present .image {
    margin-bottom: calc(32 / 375 * 100vw);
  }
  main.gift05 section.present h3 {
    margin-bottom: calc(6 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    line-height: calc(30 / 375 * 100vw);
    letter-spacing: calc(0.48 / 375 * 100vw);
  }
  main.gift05 section.present .description {
    margin-bottom: calc(30 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(26 / 375 * 100vw);
    letter-spacing: calc(0.42 / 375 * 100vw);
  }
  main.gift05 section.present .note {
    font-size: calc(12 / 375 * 100vw);
    line-height: 190%;
  }
  main.gift05 section.present .note dl+dl {
    margin-top: calc(14 / 375 * 100vw);
  }
  main.gift05 section.present .note dl dd a {
    text-decoration: underline;
  }
  main.gift05 section.present .note dl dd a+a {
    margin-left: 1em;
  }
  main.gift05 section.dress {
    padding-top: calc(64 / 375 * 100vw);
  }
  main.gift05 section.dress h2 {
    width: 100vw;
    margin-left: calc(-33 / 375 * 100vw);
    margin-bottom: calc(31 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    line-height: 1;
    letter-spacing: -.02em;
  }
  main.gift05 section.dress .dress-gift {
    display: flex;
    flex-direction: column-reverse;
    padding: calc(19 / 375 * 100vw - 4px) calc(21 / 375 * 100vw - 4px) calc(30 / 375 * 100vw - 4px); 
  }
  main.gift05 section.dress .dress-gift .detail {
    margin-top: calc(18 / 375 * 100vw);
  }
  main.gift05 section.dress .dress-gift .detail p {
    width: calc(100% + (42 / 375 * 100vw));
    margin-bottom: calc(12 / 375 * 100vw);
    margin-left: calc(-21 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: 1;
    letter-spacing: calc(0.42 / 375 * 100vw);
  }
  main.gift05 section.dress .dress-gift .detail h3 {
    width: calc(100% + (32 / 375 * 100vw));
    margin-left: -16px;
    margin-bottom: calc(14 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
    line-height: calc(22 / 375 * 100vw);
    letter-spacing: 0;
  }
  main.gift05 section.dress .dress-gift .detail .description {
    text-align: center;
    font-size: calc(12 / 375 * 100vw);
    line-height: calc(18 / 375 * 100vw);
    letter-spacing: 0;
  }
  main.gift05 section.dress .dress-gift .detail span {
    width: calc(100% + (42 / 375 * 100vw));
    margin-left: calc(-21 / 375 * 100vw);
    margin-top: calc(14 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    line-height: calc(18 / 375 * 100vw);
    letter-spacing: 0;
  }
  main.gift05 section.dress .dress-gift .detail .link-btn {
    width: calc(150 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
    margin-top: calc(22 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }

  .participate_button {
    width: 100%;
    border-radius: 60px;
    margin: auto;
    padding: 5.89vw;
  }

  .participate_text {
      font-size: 16px;
      font-weight: 500;
  }

  .participate_stamp {
      top: -4vw;
      left: -2vw;
      width: 21.2vw!important;
  }

  .participate_link_text {
      font-size: 14px;
      font-weight: 350;
      margin: 30px 0 0;
  }

  .link .participate_link_text {
      margin: 15px auto 0;
  }
  .footer {
      padding: 100px 8.8% 80px ;
  }

  .footer_logo {
      width: 115px;
  }

  .footer_nav_container {
      flex-direction: column-reverse;
      align-items: self-start;
      gap: 50px 0;
      margin: 50px 0 0;
  }

  .footer_nav_list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 30px 18.75%;
      justify-content: space-between;
  }

  .footer_nav_link {
      font-size: 13px;
  }
  .footer_nav_item.top {
      order: -1;
  }

  .footer_copyrights {
      font-size: 11px;
      margin: 30px 0 0;
      text-align: center;
  }
}