@charset "UTF-8";
:root {
  --color-red: #d92234;
  --color-blue: #50a1d1;
}

.u-p-relative {
  position: relative;
}

.u-red {
  color: var(--color-red);
}

.content .faq dl dd p, .content .howto ol li div p, .content .point dl dd:nth-of-type(1) p, .content .point__ttl01 .anno, .content .amp__txt04 p, .content .amp__txt03 p, .content .amp__txt01 p, .content .cause__body .turnover-attention, .content .cause__body p, .content .slide .slider li p, .content .voice dl dd p, .content .fv__blk01 p.anno {
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "IwaGGoPro-Md", sans-serif;
  font-weight: 400;
}

.content * {
  font-family: "ryo-display-plusn", serif;
  font-weight: 500;
  font-style: normal;
}

#Wrap {
  max-width: 740px;
}

#Contents {
  margin: 0 20px;
}

.content * {
  font-feature-settings: "palt";
}
.content sup {
  position: relative;
  top: -1.2em;
  margin-left: -1em;
  font-size: inherit;
  font-size: 14px !important;
}
.content p, .content h1, .content h2, .content h3, .content h4, .content h5, .content span, .content b, .content strong, .content small {
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.content .tsuka {
  font-family: "IwaGGoPro-Md" !important;
}
.content .tsuka-min {
  font-family: "I-OTF明朝Pro B" !important;
}
.content .fv {
  position: relative;
}
.content .fv h1 {
  z-index: 1;
  position: absolute;
  top: 700px;
  left: 170px;
  font-size: 40px;
  line-height: 1.4;
}
.content .fv h1 strong {
  font-size: 100px;
  line-height: 120px;
  letter-spacing: 0;
}
.content .fv h1 strong sup {
  top: -3.4em;
  letter-spacing: inherit;
}
.content .fv h1 .border {
  font-size: 50px;
  display: inline-block;
  border-top: #333 solid 1px;
  border-bottom: #333 solid 1px;
  position: relative;
  top: -15px;
  margin-left: 5px;
  letter-spacing: 0.05em;
}
.content .fv__blk01 {
  position: relative;
}
.content .fv__blk01 h2 {
  position: absolute;
  top: 90px;
  left: 50px;
  font-size: 30px;
  line-height: 1.4;
}
.content .fv__blk01 h2 sup {
  top: -1em;
  left: 0.5em;
  font-size: 14px !important;
  letter-spacing: 0;
}
.content .fv__blk01--left, .content .fv__blk01--right {
  position: absolute;
  top: 230px;
}
.content .fv__blk01--left h3, .content .fv__blk01--right h3 {
  text-align: center;
  color: #fff;
  background-color: var(--color-blue);
  font-size: 28px;
  padding: 0 10px;
}
.content .fv__blk01--left p, .content .fv__blk01--right p {
  text-align: center;
  margin-top: 10px;
  font-size: 36px !important;
  line-height: 1.3 !important;
}
.content .fv__blk01--left p sup, .content .fv__blk01--right p sup {
  left: 1em;
  top: -1em;
}
.content .fv__blk01--left {
  left: 85px;
}
.content .fv__blk01--right {
  right: 110px;
}
.content .fv__blk01--right p {
  margin-top: 30px;
  margin-left: 10px;
  letter-spacing: 0.1em;
}
.content .fv__blk01--right p sup {
  letter-spacing: 0;
}
.content .fv__blk01 p.anno {
  text-align: left;
  position: absolute;
  left: 40px;
  bottom: 15px;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
.content .offer__head {
  position: relative;
}
.content .offer__head h2 {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.content .offer__head h2 strong {
  font-size: 80px;
}
.content .offer__img01 {
  position: relative;
}
.content .offer__img01 h3 {
  position: absolute;
  top: 55px;
  left: 260px;
  font-size: 75px;
  line-height: 1;
  letter-spacing: 0;
}
.content .offer__img01 h3 small {
  font-size: 50px;
  line-height: 1;
}
.content .offer__img01 p {
  position: absolute;
  top: 280px;
  left: 455px;
  right: 130px;
  text-align: center;
  font-size: 24px !important;
  line-height: 1.3;
}
.content .offer__img01 p span {
  font-size: 30px;
  line-height: 1.3;
}
.content .offer__img01 p small {
  font-size: 20px;
  line-height: 1.3;
}
.content .offer__txt01 p {
  text-align: left;
  position: absolute;
  top: -5px;
  left: 205px;
  font-size: 58px !important;
  line-height: 1;
}
.content .offer__txt01 p span {
  font-size: 70px;
  line-height: 1;
}
.content .offer__txt01 p b {
  font-size: 36px;
  display: inline-block;
  position: relative;
  top: -10px;
  line-height: 1;
}
.content .voice dl dd {
  position: relative;
}
.content .voice dl dd h4 {
  position: absolute;
  left: 0;
  right: 0;
  top: 40px;
  font-size: 40px;
}
.content .voice dl dd p {
  position: absolute;
  left: 85px;
  right: 75px;
  top: 200px;
  text-align: left;
  font-size: 26px !important;
  line-height: 1.6 !important;
}
.content .voice dl dd b {
  color: var(--color-red);
  font-size: inherit;
  font-family: inherit;
}
.content .slide__head {
  position: relative;
}
.content .slide__head h2 {
  position: absolute;
  left: 0;
  right: 0;
  top: 120px;
  font-size: 72px;
}
.content .slide__head h2 b {
  font-size: inherit;
  font-family: inherit;
  color: var(--color-red);
}
.content .slide__head h2 span {
  font-size: inherit;
  font-family: inherit;
  font-size: 58px;
}
.content .slide .slider li {
  position: relative;
}
.content .slide .slider li h3 {
  position: absolute;
  top: 40px;
  left: 0;
  right: 0;
  font-size: 40px;
}
.content .slide .slider li h3:nth-of-type(2) {
  top: 550px;
}
.content .slide .slider li p {
  text-align: left;
  position: absolute;
  top: 140px;
  left: 250px;
  right: 30px;
  font-size: 27px !important;
  line-height: 1.7 !important;
  letter-spacing: 0.06em;
}
.content .slide .slider li p:nth-of-type(2) {
  top: 650px;
  left: 35px;
  right: 225px;
}
.content .slide .slider li p b {
  font-size: inherit;
  font-family: inherit;
  color: var(--color-red);
  font-weight: bold;
  letter-spacing: inherit;
}
.content .slide .slider li:nth-of-type(1) p:nth-of-type(1) {
  left: 240px;
}
.content .slide .slider li:nth-of-type(1) p:nth-of-type(2) {
  right: 215px;
}
.content .slide .slider li:nth-of-type(2) p:nth-of-type(2) {
  right: 240px;
}
.content .slide .slider li:nth-of-type(3) p:nth-of-type(1) {
  top: 160px;
  left: 240px;
  right: 25px;
  letter-spacing: 0.05em;
}
.content .slide .slider li:nth-of-type(3) p:nth-of-type(2) {
  top: 670px;
  right: 225px;
  letter-spacing: 0.1em;
}
.content .future__body {
  position: relative;
}
.content .future__body p {
  text-align: left;
  position: absolute;
  left: 110px;
  top: 250px;
  font-size: 70px !important;
  line-height: 1 !important;
  color: var(--color-red);
  letter-spacing: 0.1em;
}
.content .future__body p:nth-of-type(2) {
  left: auto;
  top: 475px;
  right: 115px;
}
.content .future__body p sup {
  top: -2em;
  letter-spacing: 0;
}
.content .future__foot {
  position: relative;
}
.content .future__foot p {
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  font-size: 42px !important;
  line-height: 1 !important;
  letter-spacing: 0.2em;
}
.content .future__foot h3 {
  position: absolute;
  left: 0;
  right: 0;
  top: 80px;
  font-size: 82px;
  letter-spacing: 0.15em;
}
.content .future__foot h3 b {
  color: var(--color-red);
  font-size: inherit;
  letter-spacing: inherit;
}
.content .future__foot h3 span {
  font-size: 60px;
  letter-spacing: inherit;
}
.content .onayami__head {
  position: relative;
}
.content .onayami__head h2 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  font-size: 90px;
  line-height: 0.9;
  letter-spacing: 0.1em;
}
.content .onayami__head h2 span {
  font-size: 56px;
  line-height: 1;
}
.content .onayami__txt01 {
  position: relative;
}
.content .onayami__txt01 p {
  text-align: center;
  position: absolute;
  font-size: 30px !important;
  line-height: 1.4 !important;
  color: #fff;
}
.content .onayami__txt01 p:nth-of-type(1) {
  left: 85px;
  top: 80px;
}
.content .onayami__txt01 p:nth-of-type(2) {
  top: 350px;
  right: 50px;
}
.content .onayami__txt01 p:nth-of-type(3) {
  top: 405px;
  left: 120px;
}
.content .onayami__foot {
  position: relative;
}
.content .onayami__foot h3 {
  position: absolute;
  left: 0;
  right: 0;
  top: 20px;
  font-size: 56px !important;
  line-height: 1 !important;
}
.content .onayami__foot h3 b {
  color: var(--color-red);
  font-size: inherit;
  line-height: inherit;
}
.content .cause__head {
  position: relative;
}
.content .cause__head h2 {
  position: absolute;
  left: 0;
  right: 0;
  top: 230px;
  font-size: 86px;
  color: var(--color-red);
}
.content .cause__head h2 .border {
  display: inline-block;
  border-top: #333 solid 2px;
  border-bottom: #333 solid 2px;
  color: #000;
  font-size: 48px;
  padding: 0 20px;
}
.content .cause__body p {
  text-align: left;
  position: absolute;
  left: 90px;
  right: 85px;
  top: 660px;
  font-size: 24px !important;
  line-height: 1.6 !important;
  letter-spacing: 0.08em;
}
.content .cause__body p b {
  color: var(--color-red);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: bold;
}
.content .cause__txt01 {
  position: relative;
}
.content .cause__txt01 p {
  position: absolute;
  font-size: 36px !important;
  line-height: 1.3 !important;
}
.content .cause__txt01 p:nth-of-type(1) {
  top: 130px;
  left: 80px;
}
.content .cause__txt01 p:nth-of-type(2) {
  top: 355px;
  right: 85px;
}
.content .cause__txt01 p sup {
  top: -0.5em;
  left: 1em;
}
.content .cause__foot {
  position: relative;
}
.content .cause__foot h3 {
  position: absolute;
  top: 30px;
  left: 0;
  right: 0;
  font-size: 92px;
  line-height: 60px;
}
.content .cause__foot h3 sup {
  top: -3em;
  color: inherit;
}
.content .cause__foot h3 small {
  font-size: 50px;
  line-height: 60px;
}
.content .cause__foot h3 span {
  font-size: 48px;
  line-height: 1;
}
.content .cause__foot h3 b {
  color: var(--color-red);
  font-size: inherit;
  line-height: inherit;
}
.content .amp__head {
  position: relative;
}
.content .amp__head h2 {
  position: absolute;
  left: 0;
  right: 0;
  top: 50px;
  font-size: 52px;
  line-height: 1.4;
}
.content .amp__head h2 sup {
  left: 1em;
}
.content .amp__txt01 {
  position: relative;
}
.content .amp__txt01 p {
  text-align: left;
  position: absolute;
  left: 100px;
  right: 90px;
  top: 270px;
  font-size: 24px !important;
  line-height: 1.6 !important;
  letter-spacing: 0.08em;
}
.content .amp__txt01 p b {
  color: var(--color-red);
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: bold;
}
.content .amp__txt02 {
  position: relative;
}
.content .amp__txt02 p {
  text-align: center;
  position: absolute;
  top: 130px;
  left: 0;
  right: 0;
  font-size: 38px !important;
  line-height: 1 !important;
}
.content .amp__txt02 h3 {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  font-size: 56px;
  line-height: 1.4;
}
.content .amp__txt02 h3 b {
  color: var(--color-red);
  font-size: inherit;
  line-height: inherit;
  letter-spacing: 0.1em;
}
.content .amp__txt02 h3 b sup {
  letter-spacing: 0;
  top: -2em;
}
.content .amp__txt02 h3 .bgred {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 52px;
  background-color: var(--color-red);
  color: #fff;
  line-height: 1.4;
  padding: 0 20px;
  letter-spacing: 0.1em;
}
.content .amp__txt02 h3 .bgred sup {
  top: -1.5em;
  left: 0.5em;
  letter-spacing: 0;
}
.content .amp__txt03 p {
  position: absolute;
  left: 80px;
  right: 80px;
  top: 30px;
  text-align: left;
  font-size: 24px !important;
  font-weight: 500;
  line-height: 1.5 !important;
  letter-spacing: 0;
}
.content .amp__txt03 p span {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.content .amp__txt03 p b {
  color: var(--color-red);
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
.content .amp__ttl01 {
  position: relative;
}
.content .amp__ttl01 p {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 100px;
  font-size: 36px !important;
  line-height: 1 !important;
}
.content .amp__ttl01 p sup {
  left: 0.5em;
}
.content .amp__ttl01 h3 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  font-size: 62px;
  line-height: 1;
}
.content .amp__ttl01 h3 span {
  font-size: inherit;
  line-height: inherit;
}
.content .amp__ttl01 h3 b {
  color: var(--color-red);
  font-size: inherit;
  line-height: inherit;
}
.content .amp__ttl01 h3 b sup {
  top: -2.2em;
}
.content .amp__txt04 p {
  text-align: left;
  position: absolute;
  left: 50px;
  top: 40px;
  width: 350px;
  font-size: 24px !important;
  line-height: 1.6 !important;
}
.content .amp__txt04 p b {
  color: var(--color-red);
  font-family: inherit;
  font-size: inherit;
  font-weight: bold;
  line-height: inherit;
}
.content .point__txt01 {
  position: relative;
}
.content .point__txt01 p {
  text-align: left;
  position: absolute;
  font-size: 36px !important;
  line-height: 1.5 !important;
}
.content .point__txt01 p:nth-of-type(1) {
  text-align: center;
  top: 25px;
  left: 0;
  right: 0;
}
.content .point__txt01 p:nth-of-type(1) sup {
  top: -1em;
  left: 0.5em;
}
.content .point__txt01 p:nth-of-type(2) {
  top: 265px;
  right: 75px;
}
.content .point__txt01 p:nth-of-type(3) {
  top: 580px;
  right: 100px;
}
.content .point__txt01 p:nth-of-type(4) {
  top: 580px;
  left: 130px;
}
.content .point__txt01 p:nth-of-type(5) {
  top: 265px;
  left: 50px;
}
.content .point__ttl01 {
  position: relative;
}
.content .point__ttl01 p {
  position: absolute;
  left: 0;
  right: 0;
  top: 60px;
  font-size: 42px !important;
  line-height: 1.5 !important;
}
.content .point__ttl01 p sup {
  top: -1.5em;
  left: 0.5em;
}
.content .point__ttl01 p i {
  font-style: normal;
  text-decoration: underline;
  color: var(--color-red);
  font-size: inherit;
  line-height: inherit;
  text-underline-offset: 8px;
  text-decoration-thickness: 3px;
}
.content .point__ttl01 h2 {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 45px;
  font-size: 100px;
  line-height: 1;
  color: var(--color-red);
  letter-spacing: 0;
}
.content .point__ttl01 h2 span {
  display: inline-block;
  font-size: 180px;
  line-height: inherit;
  color: inherit;
  transform: skewX(-10deg);
  letter-spacing: inherit;
}
.content .point__ttl01 .anno {
  text-align: left;
  position: absolute;
  left: 40px;
  right: 0;
  top: auto;
  bottom: 20px;
  font-size: 14px !important;
}
.content .point dl dt,
.content .point dl dd {
  position: relative;
}
.content .point dl dt h3 {
  position: absolute;
  left: 0;
  right: 0;
  font-size: 56px;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.content .point dl dt:nth-of-type(1) p {
  position: absolute;
  left: 0;
  right: 0;
  top: 175px;
  font-size: 32px !important;
  line-height: 1 !important;
}
.content .point dl dt:nth-of-type(1) h3 {
  top: 230px;
}
.content .point dl dt:nth-of-type(2) h3 {
  top: 240px;
}
.content .point dl dt:nth-of-type(3) h3 {
  top: 180px;
}
.content .point dl dd p {
  text-align: left;
  position: absolute;
  font-size: 24px !important;
  line-height: 1.6 !important;
}
.content .point dl dd p b {
  color: var(--color-red);
  font-weight: bold;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.content .point dl dd:nth-of-type(1) p {
  top: 15px;
  left: 65px;
  right: 65px;
}
.content .point dl dd:nth-of-type(2) p {
  color: #fff;
  font-size: 28px !important;
  line-height: 1.3 !important;
  letter-spacing: 0.1em;
}
.content .point dl dd:nth-of-type(2) p:nth-of-type(1) {
  top: 110px;
  right: 60px;
}
.content .point dl dd:nth-of-type(2) p:nth-of-type(2) {
  text-align: center;
  top: 185px;
  left: 60px;
  width: 6em;
}
.content .point dl dd:nth-of-type(2) p:nth-of-type(3) {
  text-align: center;
  top: 350px;
  right: 85px;
  width: 6em;
}
.content .point dl dd:nth-of-type(3) p {
  text-align: center;
}
.content .point dl dd:nth-of-type(3) p:nth-of-type(1) {
  top: 85px;
  letter-spacing: 0.1em;
  left: 45px;
  right: 570px;
}
.content .point dl dd:nth-of-type(3) p:nth-of-type(2) {
  top: 85px;
  letter-spacing: 0.1em;
  left: 195px;
  right: 410px;
}
.content .point dl dd:nth-of-type(3) p:nth-of-type(3) {
  top: 85px;
  left: 345px;
  right: 260px;
}
.content .point dl dd:nth-of-type(3) p:nth-of-type(4) {
  text-align: left;
  left: 90px;
  top: 235px;
  font-size: 28px !important;
  letter-spacing: 0.15em;
}
.content .point dl dd:nth-of-type(3) p:nth-of-type(5) {
  text-align: left;
  left: 90px;
  top: 295px;
  font-size: 28px !important;
  line-height: 1.3 !important;
  letter-spacing: 0.2em;
}
.content .point dl dd:nth-of-type(3) p:nth-of-type(5) span {
  letter-spacing: 0.1em;
  font-size: inherit;
  line-height: inherit;
}
.content .point__ttl02 {
  position: relative;
}
.content .point__ttl02 h3 {
  position: absolute;
  left: 0;
  right: 0;
  top: 20px;
  font-size: 46px;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
.content .point__ttl02 h3 b {
  font-size: 52px;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
}
.content .point__ttl02 h3 strong {
  display: inline-block;
  background-color: var(--color-red);
  color: #fff;
  font-size: 48px;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: 0.15em;
  padding: 0 10px;
  margin-right: 10px;
  margin-top: 10px;
}
.content .point__ttl02 h3 small {
  font-size: 38px;
  line-height: inherit;
}
.content .point__ttl03 {
  position: relative;
}
.content .point__ttl03 p {
  position: absolute;
  left: 0;
  right: 0;
  top: 20px;
  font-size: 38px !important;
  line-height: 1 !important;
  letter-spacing: 0.15em;
}
.content .point__ttl03 h3 {
  position: absolute;
  left: 0;
  right: 0;
  top: 50px;
  font-size: 102px;
  color: var(--color-red);
  letter-spacing: 0.08em;
}
.content .howto ol li {
  position: relative;
}
.content .howto ol li div {
  text-align: left;
  position: absolute;
  top: 0;
  right: 60px;
  bottom: 50px;
  left: 355px;
  display: grid;
  grid-template-rows: auto;
  align-items: center;
  justify-content: center;
}
.content .howto ol li div p {
  font-size: 24px !important;
  line-height: 1.6 !important;
}
.content .howto ol li div p sup {
  top: -0.5em;
  left: 1em;
}
.content .howto ol li div b {
  color: var(--color-red);
  font-weight: bold;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.content .howto ol li div p.anno {
  position: absolute;
  right: 30px;
  bottom: 30px;
  font-size: 14px !important;
}
.content .howto ol li:nth-of-type(4) div p {
  align-self: end;
}
.content .howto ol li:nth-of-type(4) div p.anno {
  margin-top: 10px;
  position: relative;
  right: auto;
  bottom: auto;
  align-self: start;
}
.content .faq {
  background: none;
}
.content .faq dl dt,
.content .faq dl dd {
  position: relative;
}
.content .faq dl dt p,
.content .faq dl dd p {
  text-align: left;
  position: absolute;
  left: 100px;
}
.content .faq dl dt p.anno,
.content .faq dl dd p.anno {
  top: auto;
  bottom: 20px;
  font-size: 14px !important;
}
.content .faq dl dt p {
  top: 28px;
  font-size: 26px !important;
  line-height: 1.5 !important;
}
.content .faq dl dd p {
  top: 40px;
  right: 40px;
  font-size: 24px !important;
  line-height: 1.6 !important;
  letter-spacing: 0;
}
.content .faq dl dd p sup {
  margin-left: 0;
  top: -0.5em;
}
