@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

a {
  text-decoration: none;
}
a:hover {
  outline: 0;
  text-decoration: underline;
}
a:hover, a:focus, a:active {
  outline: 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong,
.strong {
  font-weight: bold;
}

dfn,
em,
.em {
  font-style: italic;
}

hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

p {
  -webkit-hyphens: auto;
  -epub-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

pre {
  margin: 0;
  white-space: pre-wrap;
}

dl,
menu,
ol,
ul {
  margin: 1em 0;
}

dd {
  margin: 0;
}

ol,
ul {
  padding: 0;
  list-style-type: none;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
}

button,
input {
  line-height: normal;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

input[type="submit"] {
  border: none;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  position: relative;
  height: 100%;
  overflow: auto;
}

body {
  font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
  font-size: 100%;
  font-weight: 500;
  line-height: 1.0;
  position: static;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

div, p, h1, h2, h3, h4, h5, h6, ul, ol, li, a, form, input, object, dt, dd, dl, iframe, label {
  margin: 0;
  padding: 0;
  font-size: inherit;
}

ol, ul, li, dl, dt, dd {
  list-style-image: none;
  list-style-position: outside;
  list-style-type: none;
}

figure {
  margin: 0;
}

* {
  box-sizing: border-box;
}

body {
  background: #000000;
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  color: #ffffff;
  font-weight: 400;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

@media only screen and (max-width: 639px) {
  img {
    width: 100%;
  }
}

.wrapper {
  width: 100%;
  overflow: hidden;
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #ffffff;
  width: 100%;
  height: min(calc(78/1400*100vw), 78px);
  padding: 0 min(calc(64/1400*100vw), 64px);
}
.header__logo {
  width: min(calc(327/1400*100vw), 327px);
  transition: opacity 0.3s ease;
}
.header__logo:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 639px) {
  .header__logo:hover {
    opacity: 1.0;
  }
}
.header__right {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(calc(30/1400*100vw), 30px);
}
.header__tel {
  width: min(calc(201/1400*100vw), 201px);
}
.header__link {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fb330c;
  width: min(calc(192/1400*100vw), 192px);
  height: min(calc(32/1400*100vw), 32px);
  border-radius: 16px;
  color: #ffffff;
  font-size: min(calc(14/1400*100vw), 14px);
  line-height: 1.0;
  position: relative;
  transition: opacity 0.3s ease;
}
.header__link:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 639px) {
  .header__link:hover {
    opacity: 1.0;
  }
}
.header__link:hover {
  text-decoration: none;
}
.header__link:after {
  content: '';
  background: url(../images/icon_arrow.svg) no-repeat center center;
  background-size: 100% 100%;
  display: block;
  width: min(calc(8/1400*100vw), 8px);
  height: min(calc(13/1400*100vw), 13px);
  position: absolute;
  top: 0;
  right: max(calc(11/1400*100vw), 11px);
  bottom: 0;
  margin: auto 0;
}
@media only screen and (max-width: 639px) {
  .header {
    justify-content: center;
    gap: calc(18/384*100vw);
    height: calc(64/384*100vw);
    padding: 0 calc(32/384*100vw);
  }
  .header__logo {
    width: calc(154/384*100vw);
  }
  .header__right {
    width: calc(148/384*100vw);
  }
  .header__tel {
    display: none;
  }
  .header__link {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fb330c;
    width: 100%;
    height: calc(32/384*100vw);
    border-radius: calc(16/384*100vw);
    font-size: calc(14/384*100vw);
  }
  .header__link:after {
    width: calc(8/384*100vw);
    height: calc(13/384*100vw);
    right: calc(11/384*100vw);
  }
}

@keyframes bgscroll {
  0% {
    background-position: 0 50%;
  }
  100% {
    background-position: max(calc(-629/1400*100vw), -629px) 50%;
  }
}
@keyframes bgscroll-sp {
  0% {
    background-position: 0 50%;
  }
  100% {
    background-position: calc(-629/384*100vw) 50%;
  }
}
.belt {
  background: #fb330c url(../images/belt_text.webp) repeat-x;
  background-size: auto 100%;
  width: 100%;
  height: min(calc(48/1400*100vw), 48px);
  animation: bgscroll 10s linear infinite;
}
@media only screen and (max-width: 639px) {
  .belt {
    height: calc(48/384*100vw);
    animation: bgscroll-sp 10s linear infinite;
  }
}

.visual {
  background: #fb330c url(../images/visual_img.webp) no-repeat center min(calc(116/1400*100vw), 116px);
  background-size: min(calc(1120/1400*100vw), 1120px) auto;
  width: 100%;
  height: min(calc(555/1400*100vw), 555px);
}
.visual__title {
  width: min(calc(752/1400*100vw), 752px);
  margin: 0 auto;
  padding-top: min(calc(60/1400*100vw), 60px);
}
.visual__badge {
  display: flex;
  justify-content: center;
  gap: min(calc(32/1400*100vw), 32px);
  position: relative;
  bottom: max(calc(-60/1400*100vw), -60px);
  position: relative;
  z-index: 2;
}
.visual__badge li {
  width: min(calc(192/1400*100vw), 192px);
}
@media only screen and (max-width: 639px) {
  .visual {
    background: #fb330c url(../images/visual_img_sp.webp) no-repeat center calc(60/384*100vw);
    background-size: calc(335/384*100vw) auto;
    height: calc(215/384*100vw);
  }
  .visual__title {
    width: calc(229/384*100vw);
    padding-top: calc(33/384*100vw);
  }
  .visual__badge {
    gap: calc(17/384*100vw);
    bottom: calc(-50/384*100vw);
  }
  .visual__badge li {
    width: calc(102/384*100vw);
  }
}

.lead {
  background: url(../images/bg_dotted.webp) repeat-y top center;
  background-size: 100% auto;
  margin-top: max(calc(-100/1400*100vw), -100px);
  padding-top: min(calc(200/1400*100vw), 200px);
  clip-path: ellipse(130% 100% at 50% 100%);
}
.lead h2 {
  width: min(calc(1109/1400*100vw), 1109px);
  margin: 0 auto min(calc(20/1400*100vw), 20px);
}
.lead__img {
  width: min(calc(702/1400*100vw), 702px);
  margin: 0 auto;
}
.lead__column {
  background: #333333;
  margin-top: min(calc(138/1400*100vw), 138px);
}
.lead__column__inner {
  display: flex;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
}
.lead__column__img {
  width: calc(550/1400*100%);
  padding: 0 calc(82/1400*100%) 0 calc(127/1400*100%);
}
.lead__column__img img {
  margin-top: max(calc(-55/1400*100vw), -55px);
  margin-bottom: min(calc(20/1400*100vw), 20px);
}
.lead__column__detail {
  width: calc(850/1400*100%);
}
.lead__column__detail h3 {
  width: calc(504/850*100%);
  margin-top: max(calc(-50/1400*100vw), -50px);
  margin-left: max(calc(-30/1400*100vw), -30px);
  margin-bottom: min(calc(5/1400*100vw), 5px);
}
.lead__column__detail p {
  margin-bottom: min(calc(50/1400*100vw), 50px);
  padding-right: calc(62/850*100%);
  font-size: min(calc(16/1400*100vw), 16px);
  line-height: calc(30/16*100%);
}
@media only screen and (max-width: 639px) {
  .lead {
    background: url(../images/bg_dotted_sp.webp) repeat-y top center;
    background-size: 100% auto;
    margin-top: calc(-30/384*100vw);
    padding-top: calc(130/384*100vw);
    clip-path: ellipse(220% 100% at 50% 100%);
  }
  .lead h2 {
    width: calc(311/384*100vw);
    margin: 0 auto calc(14/384*100vw);
  }
  .lead__img {
    width: calc(336/384*100vw);
  }
  .lead__column {
    margin-top: calc(40/384*100vw);
    padding: 0 calc(33/384*100vw) calc(45/384*100vw);
  }
  .lead__column__inner {
    display: block;
  }
  .lead__column__img {
    width: calc(169/384*100vw);
    margin: 0 auto;
    padding: 0;
  }
  .lead__column__img img {
    margin-top: calc(-25/384*100vw);
    margin-left: calc(15/384*100vw);
    margin-bottom: 0;
  }
  .lead__column__detail {
    width: 100%;
  }
  .lead__column__detail h3 {
    width: calc(303/384*100vw);
    margin-top: calc(-18/384*100vw);
    margin-left: 0;
    margin-bottom: calc(20/384*100vw);
  }
  .lead__column__detail p {
    margin-bottom: 0;
    padding-right: 0;
    font-size: calc(14/384*100vw);
    line-height: calc(28/14*100%);
  }
}

.intro {
  background: url(../images/bg_dotted.webp) repeat-y top center;
  background-size: 100% auto;
  padding: min(calc(120/1400*100vw), 120px) 0;
}
.intro h2 {
  width: min(calc(923/1400*100vw), 923px);
  margin: 0 auto;
}
.intro__box {
  display: flex;
  justify-content: space-between;
  background: #222222;
  max-width: min(calc(960/1400*100vw), 960px);
  min-height: min(calc(460/1400*100vw), 460px);
  margin: min(calc(110/1400*100vw), 110px) auto 0;
  position: relative;
}
.intro__box:first-of-type {
  margin-top: min(calc(100/1400*100vw), 100px);
}
.intro__box:before, .intro__box:after {
  content: '';
  width: min(calc(160/1400*100vw), 160px);
  height: min(calc(160/1400*100vw), 160px);
  position: absolute;
}
.intro__box:before {
  background: url(../images/quotatuion_marks_left.webp) no-repeat center center;
  background-size: 100% 100%;
  bottom: max(calc(-24/1400*100vw), -24px);
  left: max(calc(-24/1400*100vw), -24px);
}
.intro__box:after {
  background: url(../images/quotatuion_marks_right.webp) no-repeat center center;
  background-size: 100% 100%;
  top: max(calc(-24/1400*100vw), -24px);
  right: max(calc(-24/1400*100vw), -24px);
}
.intro__box__img {
  width: min(calc(300/1400*100vw), 300px);
  position: relative;
  z-index: 1;
}
.intro__box__img img {
  position: absolute;
}
.intro__box__detail {
  width: min(calc(660/1400*100vw), 660px);
  padding: min(calc(45/1400*100vw), 45px) 0 min(calc(65/1400*100vw), 65px);
  position: relative;
  z-index: 2;
}
.intro__box__detail h3 {
  width: min(calc(622/1400*100vw), 622px);
  margin-bottom: min(calc(20/1400*100vw), 20px);
}
.intro__box__detail p {
  padding: 0 min(calc(98/1400*100vw), 98px) 0 min(calc(5/1400*100vw), 5px);
  font-size: min(calc(16/1400*100vw), 16px);
  line-height: calc(30/16*100%);
}
.intro__box__detail p span {
  display: inline-block;
}
.intro__box__detail p span.mt {
  margin-top: min(calc(15/1400*100vw), 15px);
}
.intro__box__detail p span.mb {
  margin-bottom: min(calc(15/1400*100vw), 15px);
}
.intro__box__detail p strong {
  margin-left: min(calc(10/1400*100vw), 10px);
  color: #fce415;
  font-size: min(calc(26/1400*100vw), 26px);
  line-height: calc(30/26*100%);
  font-weight: 700;
  vertical-align: top;
}
.intro__box-01 .intro__box__img img {
  width: min(calc(280/1400*100vw), 280px);
  top: min(calc(40/1400*100vw), 40px);
  right: min(calc(45/1400*100vw), 45px);
}
.intro__box-02 .intro__box__img img {
  width: min(calc(287/1400*100vw), 287px);
  top: min(calc(28/1400*100vw), 28px);
  right: min(calc(26/1400*100vw), 26px);
}
.intro__box-03 .intro__box__img img {
  width: min(calc(250/1400*100vw), 250px);
  top: min(calc(18/1400*100vw), 18px);
  right: min(calc(28/1400*100vw), 28px);
}
.intro__box-04 .intro__box__img img {
  width: min(calc(302/1400*100vw), 302px);
  top: min(calc(36/1400*100vw), 36px);
  right: min(calc(30/1400*100vw), 30px);
}
.intro__box-05 .intro__box__img img {
  width: min(calc(303/1400*100vw), 303px);
  top: min(calc(34/1400*100vw), 34px);
  right: min(calc(22/1400*100vw), 22px);
}
.intro__btn {
  display: block;
  width: min(calc(400/1400*100vw), 400px);
  margin: calc(140/1400*100vw) auto 0;
  transition: opacity 0.3s ease;
}
.intro__btn:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 639px) {
  .intro__btn:hover {
    opacity: 1.0;
  }
}
@media only screen and (max-width: 639px) {
  .intro {
    background: url(../images/bg_dotted_sp.webp) repeat-y top center;
    background-size: 100% auto;
    padding: calc(42/384*100vw) 0 calc(46/384*100vw);
  }
  .intro h2 {
    width: calc(278/384*100vw);
  }
  .intro__box {
    display: block;
    width: calc(320/384*100vw);
    max-width: 100%;
    min-height: auto;
    margin: calc(52/384*100vw) auto 0;
  }
  .intro__box:first-of-type {
    margin-top: calc(58/384*100vw);
  }
  .intro__box:before, .intro__box:after {
    width: calc(64/384*100vw);
    height: calc(64/384*100vw);
  }
  .intro__box:before {
    bottom: calc(-10/384*100vw);
    left: calc(-10/384*100vw);
  }
  .intro__box:after {
    top: calc(-10/384*100vw);
    right: calc(-10/384*100vw);
  }
  .intro__box__img {
    width: 100%;
  }
  .intro__box__detail {
    width: 100%;
    padding: calc(44/384*100vw) calc(24/384*100vw) calc(40/384*100vw);
  }
  .intro__box__detail h3 {
    width: 100%;
    margin-bottom: calc(15/384*100vw);
  }
  .intro__box__detail p {
    padding: 0 calc(10/384*100vw);
    font-size: calc(14/384*100vw);
    line-height: calc(26/14*100%);
  }
  .intro__box__detail p span.mt {
    margin-top: calc(15/384*100vw);
  }
  .intro__box__detail p span.mb {
    margin-bottom: calc(15/384*100vw);
  }
  .intro__box__detail p strong {
    display: block;
    margin-left: 0;
    font-size: calc(26/384*100vw);
  }
  .intro__box-01 .intro__box__detail {
    padding-top: calc(74/384*100vw);
  }
  .intro__box-01 .intro__box__img img {
    width: calc(123/384*100vw);
    top: calc(-2/384*100vw);
    right: calc(16/384*100vw);
  }
  .intro__box-02 .intro__box__img img {
    width: calc(113/384*100vw);
    top: calc(-3/384*100vw);
    right: calc(-17/384*100vw);
  }
  .intro__box-03 .intro__box__img img {
    width: calc(92/384*100vw);
    top: calc(-37/384*100vw);
    right: calc(10/384*100vw);
  }
  .intro__box-04 .intro__box__img img {
    width: calc(123/384*100vw);
    top: calc(-32/384*100vw);
    right: calc(39/384*100vw);
  }
  .intro__box-05 .intro__box__img img {
    width: calc(133/384*100vw);
    top: calc(-44/384*100vw);
    right: calc(1/384*100vw);
  }
  .intro__btn {
    width: calc(320/384*100vw);
    margin: calc(42/384*100vw) auto 0;
  }
}

.howto {
  padding-top: min(calc(108/1400*100vw), 108px);
}
.howto h2 {
  width: min(calc(658/1400*100vw), 658px);
  margin: 0 auto;
}
.howto h3 {
  width: min(calc(1016/1400*100vw), 1016px);
  position: absolute;
  top: max(calc(-68/1400*100vw), -68px);
  left: 0;
  right: 0;
  margin: 0 auto;
}
.howto__column {
  display: flex;
  justify-content: space-between;
  width: min(calc(1016/1400*100vw), 1016px);
  margin: 0 auto;
}
.howto__img {
  width: min(calc(444/1400*100vw), 444px);
  text-align: right;
}
.howto p {
  width: min(calc(572/1400*100vw), 572px);
  padding-right: min(calc(28/1400*100vw), 28px);
}
.howto h4 {
  margin: 0 auto;
}
.howto ul {
  display: flex;
  justify-content: space-between;
  max-width: min(calc(704/1400*100vw), 704px);
  margin: min(calc(54/1400*100vw), 54px) auto 0;
}
.howto ul li {
  width: min(calc(320/1400*100vw), 320px);
  position: relative;
}
.howto ul li .bubble {
  width: min(calc(263/1400*100vw), 263px);
  position: absolute;
  z-index: 1;
}
.howto__box {
  padding-top: min(calc(154/1400*100vw), 154px);
  padding-bottom: min(calc(168/1400*100vw), 168px);
  position: relative;
}
.howto__box:before {
  content: '';
  background: url(../images/flame_black.webp) repeat-x center top;
  background-size: 100% 100%;
  display: block;
  width: 100%;
  height: min(calc(106/1400*100vw), 106px);
  position: absolute;
  top: max(calc(-105/1400*100vw), -105px);
}
.howto__box:first-of-type {
  padding-top: min(calc(70/1400*100vw), 70px);
}
.howto__box:first-of-type:before {
  display: none;
}
.howto__box:nth-of-type(even) {
  background: #fb330c;
}
.howto__box:nth-of-type(even):before {
  background: url(../images/flame_red.webp) repeat-x center top;
  background-size: 100% 100%;
}
.howto__box:last-of-type {
  padding-bottom: min(calc(176/1400*100vw), 176px);
}
.howto__box-01 h3 {
  position: static;
}
.howto__box-01 h3 img {
  width: min(calc(981/1400*100vw), 981px);
}
.howto__box-01 .howto__column {
  margin-bottom: min(calc(34/1400*100vw), 34px);
}
.howto__box-01 .howto__img img {
  width: min(calc(226/1400*100vw), 226px);
  margin-right: min(calc(69/1400*100vw), 69px);
}
.howto__box-01 p {
  padding-top: min(calc(68/1400*100vw), 68px);
}
.howto__box-01 h4 {
  width: min(calc(643/1400*100vw), 643px);
}
.howto__box-01 .bubble {
  top: max(calc(-18/1400*100vw), -18px);
  right: max(calc(-210/1400*100vw), -210px);
}
.howto__box-02 h3 img {
  width: min(calc(944/1400*100vw), 944px);
}
.howto__box-02 .howto__column {
  margin-bottom: min(calc(20/1400*100vw), 20px);
}
.howto__box-02 .howto__img img {
  width: min(calc(377/1400*100vw), 377px);
  margin-right: min(calc(22/1400*100vw), 22px);
}
.howto__box-02 p {
  padding-top: min(calc(58/1400*100vw), 58px);
}
.howto__box-02 h4 {
  width: min(calc(641/1400*100vw), 641px);
}
.howto__box-02 .bubble {
  top: min(calc(17/1400*100vw), 17px);
  right: max(calc(-195/1400*100vw), -195px);
}
.howto__box-03 h3 img {
  width: min(calc(751/1400*100vw), 751px);
}
.howto__box-03 .howto__column {
  margin-bottom: min(calc(20/1400*100vw), 20px);
}
.howto__box-03 .howto__img img {
  width: min(calc(313/1400*100vw), 313px);
  margin-right: min(calc(68/1400*100vw), 68px);
}
.howto__box-03 p {
  padding-top: min(calc(78/1400*100vw), 78px);
}
.howto__box-03 h4 {
  width: min(calc(521/1400*100vw), 521px);
}
.howto__box-03 .bubble {
  top: min(calc(-60/1400*100vw), -60px);
  right: max(calc(-101/1400*100vw), -101px);
}
.howto__box-04 h3 img {
  width: min(calc(945/1400*100vw), 945px);
}
.howto__box-04 .howto__img img {
  width: min(calc(292/1400*100vw), 292px);
  margin-right: min(calc(32/1400*100vw), 32px);
}
.howto__box-04 p {
  padding-top: min(calc(65/1400*100vw), 65px);
}
.howto__box-04 h4 {
  width: min(calc(641/1400*100vw), 641px);
}
.howto__box-04 .bubble {
  top: max(calc(-39/1400*100vw), -39px);
  right: max(calc(-151/1400*100vw), -151px);
}
.howto__box-05 h3 img {
  width: min(calc(797/1400*100vw), 797px);
}
.howto__box-05 .howto__column {
  margin-bottom: min(calc(30/1400*100vw), 30px);
}
.howto__box-05 .howto__img img {
  width: min(calc(165/1400*100vw), 165px);
  margin-right: min(calc(80/1400*100vw), 80px);
}
.howto__box-05 p {
  padding-top: min(calc(70/1400*100vw), 70px);
}
.howto__box-05 h4 {
  width: min(calc(522/1400*100vw), 522px);
}
.howto__box-05 .bubble {
  top: min(calc(17/1400*100vw), 17px);
  right: max(calc(-195/1400*100vw), -195px);
}
@media only screen and (max-width: 639px) {
  .howto {
    padding-top: calc(44/384*100vw);
  }
  .howto h2 {
    width: calc(329/384*100vw);
  }
  .howto h3 {
    width: calc(364/384*100vw);
    margin-bottom: calc(24/384*100vw);
    position: static;
  }
  .howto__column {
    display: block;
    width: calc(320/384*100vw);
    margin-bottom: calc(50/384*100vw) !important;
  }
  .howto__column img {
    margin-right: 0 !important;
  }
  .howto__img {
    width: 100%;
    text-align: center;
  }
  .howto p {
    width: 100%;
    padding-top: calc(36/384*100vw) !important;
    padding-right: 0;
  }
  .howto ul {
    display: block;
    max-width: calc(256/384*100vw);
    margin: 0 auto;
  }
  .howto ul li {
    width: 100%;
    margin-top: calc(32/384*100vw);
  }
  .howto ul li:first-of-type {
    margin-top: calc(50/384*100vw);
  }
  .howto ul li .bubble {
    width: calc(148/384*100vw);
  }
  .howto__box {
    padding-top: calc(20/384*100vw);
    padding-bottom: calc(86/384*100vw);
  }
  .howto__box:before {
    background: url(../images/flame_black.webp) repeat-x center top;
    background-size: 100% 100%;
    display: block;
    width: 220%;
    height: calc(53/384*100vw);
    position: absolute;
    top: calc(-52/384*100vw);
  }
  .howto__box:first-of-type {
    padding-top: calc(56/384*100vw);
  }
  .howto__box:last-of-type {
    padding-bottom: calc(48/384*100vw);
  }
  .howto__box-01 h3 img {
    width: calc(333/384*100vw);
  }
  .howto__box-01 .howto__img img {
    width: calc(179/384*100vw);
  }
  .howto__box-01 h4 {
    width: calc(301/384*100vw);
  }
  .howto__box-01 .bubble {
    top: calc(16/384*100vw);
    right: calc(-54/384*100vw);
  }
  .howto__box-02 h3 img {
    width: calc(332/384*100vw);
  }
  .howto__box-02 .howto__img img {
    width: calc(311/384*100vw);
  }
  .howto__box-02 h4 {
    width: calc(299/384*100vw);
  }
  .howto__box-02 .bubble {
    top: calc(16/384*100vw);
    right: calc(-54/384*100vw);
  }
  .howto__box-03 h3 img {
    width: calc(333/384*100vw);
  }
  .howto__box-03 .howto__img img {
    width: calc(248/384*100vw);
  }
  .howto__box-03 h4 {
    width: calc(244/384*100vw);
  }
  .howto__box-03 .bubble {
    top: calc(-8/384*100vw);
    right: calc(-33/384*100vw);
  }
  .howto__box-04 h3 img {
    width: calc(334/384*100vw);
  }
  .howto__box-04 .howto__img img {
    width: calc(203/384*100vw);
  }
  .howto__box-04 h4 {
    width: calc(326/384*100vw);
  }
  .howto__box-04 .bubble {
    top: calc(-4/384*100vw);
    right: calc(-38/384*100vw);
  }
  .howto__box-05 h3 img {
    width: calc(338/384*100vw);
  }
  .howto__box-05 .howto__img img {
    width: calc(145/384*100vw);
  }
  .howto__box-05 h4 {
    width: calc(244/384*100vw);
  }
  .howto__box-05 .bubble {
    top: calc(-8/384*100vw);
    right: calc(-34/384*100vw);
  }
}

.case__box {
  background: url(../images/bg_dotted.webp) repeat-y top center;
  background-size: 100% auto;
}
.case__box:after {
  content: '';
  background: #fb330c;
  display: block;
  width: 100%;
  height: min(calc(10/1400*100vw), 10px);
  margin-top: min(calc(61/1400*100vw), 61px);
  position: relative;
}
.case__box:first-of-type:before {
  content: '';
  background: #fb330c;
  display: block;
  width: 100%;
  height: min(calc(10/1400*100vw), 10px);
}
.case__box h2 {
  max-width: min(calc(960/1400*100vw), 960px);
  margin: max(calc(-5/1400*100vw), -5px) auto 0;
  position: relative;
}
.case__box h2 img {
  width: min(calc(136/1400*100vw), 136px);
}
.case__box h3 {
  background: url(../images/case_line.webp) no-repeat bottom center;
  background-size: min(calc(407/1400*100vw), 407px) auto;
  max-width: min(calc(960/1400*100vw), 960px);
  margin: max(calc(-66/1400*100vw), -66px) auto min(calc(18/1400*100vw), 18px);
  padding: 0 min(calc(136/1400*100vw), 136px) min(calc(28/1400*100vw), 28px);
  color: #fce415;
  font-size: min(calc(48/1400*100vw), 48px);
  font-weight: 900;
  text-align: center;
}
.case__column {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: min(calc(48/1400*100vw), 48px) min(calc(64/1400*100vw), 64px);
  max-width: min(calc(960/1400*100vw), 960px);
  margin: 0 auto;
}
.case__before, .case__after {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: min(calc(16/1400*100vw), 16px);
  width: min(calc(448/1400*100vw), 448px);
  position: relative;
}
.case__before:before, .case__after:before {
  content: '';
  display: block;
  width: 100%;
  height: min(calc(54/1400*100vw), 54px);
}
.case__before dt, .case__before dd, .case__after dt, .case__after dd {
  display: flex;
  justify-content: center;
  align-items: center;
  height: min(calc(40/1400*100vw), 40px);
  font-weight: 500;
  text-align: center;
}
.case__before dt, .case__after dt {
  width: min(calc(192/1400*100vw), 192px);
  padding-bottom: min(calc(2/1400*100vw), 2px);
  font-size: min(calc(18/1400*100vw), 18px);
}
.case__before dd, .case__after dd {
  width: min(calc(240/1400*100vw), 240px);
  border-radius: min(calc(4/1400*100vw), 4px);
  font-size: min(calc(20/1400*100vw), 20px);
}
.case__before dd.small, .case__after dd.small {
  font-size: min(calc(18/1400*100vw), 18px);
}
.case__before:before {
  background: url(../images/case_before.webp) no-repeat center center;
  background-size: min(calc(114/1400*100vw), 114px) auto;
  border-bottom: min(calc(3/1400*100vw), 3px) solid #004098;
}
.case__before:after {
  content: '';
  background: url(../images/case_arrow.webp) no-repeat center center;
  background-size: 100% 100%;
  display: block;
  width: min(calc(46/1400*100vw), 46px);
  height: min(calc(135/1400*100vw), 135px);
  position: absolute;
  top: min(calc(137/1400*100vw), 137px);
  right: max(calc(-56/1400*100vw), -56px);
}
.case__before dt {
  border-bottom: min(calc(2/1400*100vw), 2px) solid #87a5cf;
}
.case__before dd {
  background: #666666;
}
.case__after:before {
  background: url(../images/case_after.webp) no-repeat top center;
  background-size: min(calc(119/1400*100vw), 119px) auto;
  border-bottom: min(calc(3/1400*100vw), 3px) solid #fb330c;
}
.case__after dt {
  border-bottom: min(calc(2/1400*100vw), 2px) solid #fb330c;
}
.case__after dd {
  background: #fb330c;
}
.case__text {
  background: #333333;
  width: 100%;
  padding: min(calc(22/1400*100vw), 22px) min(calc(20/1400*100vw), 20px);
  border-radius: min(calc(4/1400*100vw), 4px);
  font-size: min(calc(16/1400*100vw), 16px);
  line-height: calc(30/16*100%);
}
@media only screen and (max-width: 639px) {
  .case__box {
    background: url(../images/bg_dotted_sp.webp) repeat-y top center;
    background-size: 100% auto;
  }
  .case__box:after {
    height: calc(8/384*100vw);
    margin-top: calc(48/384*100vw);
  }
  .case__box:first-of-type:before {
    height: calc(8/384*100vw);
  }
  .case__box h2 {
    max-width: calc(358/384*100vw);
    margin: calc(-18/384*100vw) auto 0;
  }
  .case__box h2 img {
    width: calc(76/384*100vw);
  }
  .case__box h3 {
    background: url(../images/case_line.webp) no-repeat bottom center;
    background-size: calc(288/384*100vw) auto;
    max-width: calc(358/384*100vw);
    margin: calc(-12/384*100vw) auto calc(29/384*100vw);
    padding: 0 calc(70/384*100vw) calc(20/384*100vw);
    font-size: calc(30/384*100vw);
    line-height: calc(36/30*100%);
  }
  .case__column {
    display: block;
    max-width: calc(320/384*100vw);
  }
  .case__before, .case__after {
    gap: calc(16/384*100vw) calc(12/384*100vw);
    width: 100%;
  }
  .case__before:before, .case__after:before {
    height: calc(54/384*100vw);
  }
  .case__before dt, .case__before dd, .case__after dt, .case__after dd {
    height: calc(32/384*100vw);
  }
  .case__before dt:first-of-type, .case__before dd:first-of-type, .case__after dt:first-of-type, .case__after dd:first-of-type {
    margin-top: calc(4/384*100vw);
  }
  .case__before dt, .case__after dt {
    width: calc(154/384*100vw);
    padding-bottom: calc(2/384*100vw);
    font-size: calc(14/384*100vw);
  }
  .case__before dd, .case__after dd {
    width: calc(154/384*100vw);
    border-radius: calc(4/384*100vw);
    font-size: calc(14/384*100vw);
  }
  .case__before dd.small, .case__after dd.small {
    font-size: calc(12/384*100vw);
  }
  .case__before {
    padding-bottom: calc(80/384*100vw);
  }
  .case__before:before {
    background: url(../images/case_before.webp) no-repeat center center;
    background-size: calc(114/384*100vw) auto;
    border-bottom: calc(3/384*100vw) solid #004098;
  }
  .case__before:after {
    width: calc(46/384*100vw);
    height: calc(135/384*100vw);
    top: auto;
    left: 0;
    right: 0;
    bottom: calc(-32/384*100vw);
    margin: 0 auto;
    transform: rotate(90deg);
  }
  .case__before dt {
    border-bottom: calc(2/384*100vw) solid #87a5cf;
  }
  .case__after {
    padding-bottom: calc(48/384*100vw);
  }
  .case__after:before {
    background: url(../images/case_after.webp) no-repeat top center;
    background-size: calc(119/384*100vw) auto;
    border-bottom: calc(3/384*100vw) solid #fb330c;
  }
  .case__after dt {
    border-bottom: calc(2/384*100vw) solid #fb330c;
  }
  .case__text {
    padding: calc(22/384*100vw) calc(25/384*100vw);
    font-size: calc(14/384*100vw);
  }
}

.contact {
  padding: min(calc(172/960*100vw), 172px) 0 min(calc(118/960*100vw), 118px);
}
.contact h2 {
  width: min(calc(654/960*100vw), 654px);
  margin: 0 auto min(calc(72/960*100vw), 72px);
}
.contact__inner {
  width: min(calc(640/960*100vw), 640px);
  margin: 0 auto;
}
.contact form input:focus-visible,
.contact form textarea:focus-visible,
.contact form select:focus-visible {
  outline: 2px solid #fb330c;
}
.contact form input[type="text"],
.contact form input[type="email"],
.contact form input[type="tel"],
.contact form textarea {
  background: #ffffff;
  padding: min(calc(10/960*100vw), 10px) min(calc(20/960*100vw), 20px);
  border-radius: min(calc(4/960*100vw), 4px);
  border: none;
  color: #000000;
  font-size: min(calc(14/960*100vw), 14px);
}
.contact form input[type="text"], .contact form input[type="email"], .contact form input[type="tel"] {
  width: 100%;
}
.contact form textarea {
  width: 100%;
}
.contact form select {
  background: #333333;
  width: min(calc(256/960*100vw), 256px);
  margin-bottom: min(calc(16/960*100vw), 16px);
  padding: min(calc(5/960*100vw), 5px) min(calc(20/960*100vw), 20px);
  border: none;
  color: #ffffff;
  font-size: min(calc(14/960*100vw), 14px);
}
.contact form button[type="submit"] {
  display: block;
  background: none;
  width: min(calc(400/960*100vw), 400px);
  margin: min(calc(80/960*100vw), 80px) auto 0;
  padding: 0;
  border: none;
  transition: opacity 0.3s ease;
}
.contact form button[type="submit"]:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 639px) {
  .contact form button[type="submit"]:hover {
    opacity: 1.0;
  }
}
.contact form dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1px solid #666666;
}
.contact form dl dt {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: min(calc(176/960*100vw), 176px);
  padding: min(calc(32/960*100vw), 32px) 0;
  border-bottom: 1px solid #666666;
  font-size: min(calc(20/960*100vw), 20px);
  font-weight: 700;
}
.contact form dl dt small {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fb330c;
  width: min(calc(48/960*100vw), 48px);
  height: min(calc(20/960*100vw), 20px);
  margin-top: min(calc(8/960*100vw), 8px);
  border-radius: min(calc(10/960*100vw), 10px);
  font-size: min(calc(12/960*100vw), 12px);
}
.contact form dl dd {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: min(calc(464/960*100vw), 464px);
  padding: min(calc(32/960*100vw), 32px);
  padding-left: 0;
  border-bottom: 1px solid #666666;
}
.contact h3 {
  margin: min(calc(42/960*100vw), 42px) 0 min(calc(24/960*100vw), 24px);
  font-size: min(calc(16/960*100vw), 16px);
  line-height: calc(20/16*100%);
  text-align: center;
}
.contact p {
  font-size: min(calc(12/960*100vw), 12px);
  line-height: calc(20/12*100%);
}
@media only screen and (max-width: 639px) {
  .contact {
    padding: calc(50/384*100vw) 0 calc(70/384*100vw);
  }
  .contact h2 {
    width: calc(315/384*100vw);
    margin: 0 auto calc(32/384*100vw);
  }
  .contact__inner {
    width: calc(320/384*100vw);
  }
  .contact form input[type="text"],
  .contact form input[type="email"],
  .contact form input[type="tel"],
  .contact form textarea {
    padding: calc(10/384*100vw) calc(20/384*100vw);
    border-radius: calc(4/384*100vw);
    font-size: calc(14/384*100vw);
  }
  .contact form select {
    width: calc(256/384*100vw);
    margin-bottom: calc(16/384*100vw);
    padding: calc(5/384*100vw) calc(20/384*100vw);
    font-size: calc(14/384*100vw);
  }
  .contact form button[type="submit"] {
    width: 100%;
    margin: calc(50/384*100vw) auto 0;
  }
  .contact form dl {
    display: block;
    border-top: 1px solid #666666;
  }
  .contact form dl dt {
    width: 100%;
    margin-bottom: calc(20/384*100vw);
    padding: calc(28/384*100vw) 0 0;
    border-bottom: none;
    font-size: calc(20/384*100vw);
  }
  .contact form dl dt label {
    display: flex;
  }
  .contact form dl dt small {
    width: calc(48/384*100vw);
    height: calc(20/384*100vw);
    margin-top: 0;
    margin-left: calc(10/384*100vw);
    border-radius: calc(10/384*100vw);
    font-size: calc(12/384*100vw);
  }
  .contact form dl dd {
    width: 100%;
    padding: 0 0 calc(28/384*100vw);
    border-bottom: 1px solid #666666;
  }
  .contact h3 {
    margin: calc(30/384*100vw) 0 calc(24/384*100vw);
    font-size: calc(16/384*100vw);
    line-height: calc(20/16*100%);
  }
  .contact p {
    font-size: calc(14/384*100vw);
    line-height: calc(26/14*100%);
  }
}

.footer {
  display: flex;
  justify-content: center;
  background: #fb330c;
  width: 100%;
  padding: min(calc(46/1400*100vw), 46px) 0 min(calc(179/1400*100vw), 179px);
}
.footer__logo {
  display: block;
  width: min(calc(377/1400*100vw), 377px);
  transition: opacity 0.3s ease;
}
.footer__logo:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 639px) {
  .footer__logo:hover {
    opacity: 1.0;
  }
}
.footer__tel {
  display: none;
}
@media only screen and (max-width: 639px) {
  .footer {
    display: block;
    padding: calc(36/384*100vw) 0 0;
  }
  .footer__logo {
    width: calc(306/384*100vw);
    margin: 0 auto;
  }
  .footer__tel {
    display: block;
    background: #000000;
    margin-top: calc(140/384*100vw);
    padding: calc(12/384*100vw) calc(18/384*100vw);
  }
  .footer__tel img {
    width: calc(348/384*100vw);
    margin: 0 auto;
  }
}
