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-size: 100%;
  font: inherit;
  vertical-align: baseline
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

body {
  line-height: 1
}

ol,
ul {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none
}

input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px
}

@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none
  }
}

* {
  box-sizing: border-box
}

@media (min-width: 768px) {
  html {
    font-size: 16px
  }
}

@media (max-width: 767px) {
  html {
    font-size: calc(28 / 750 * 100vw)
  }
}

body {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
  color: #262626;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  line-height: 2.1;
  letter-spacing: 0.08em;
  font-feature-settings: "palt"
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle
}

a {
  text-decoration: none
}

main {
  width: 100%;
  margin-right: auto;
  margin-left: auto
}

.container {
  margin-left: auto;
  margin-right: auto
}

@media (min-width: 768px) {
  .container {
    max-width: 1200px
  }
}

.clearfix * {
  zoom: 1
}

.clearfix::before,
.clearfix::after {
  content: "";
  display: table
}

.clearfix::after {
  clear: both
}

.hide {
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%
}

@media (min-width: 768px) {
  .u-pc {
    display: block
  }
}

@media (max-width: 767px) {
  .u-pc {
    display: none
  }
}

@media (min-width: 768px) {
  .u-sp {
    display: none
  }
}

@media (max-width: 767px) {
  .u-sp {
    display: block
  }
}

.f-gothic {
  font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
}

.u-sup {
  font-size: 50%;
  vertical-align: top;
  position: relative;
  top: -0.01em
}

.ls-m {
  margin-left: -.25rem;
}

.u-note {
  margin-top: 1rem
}

@media (min-width: 768px) {
  .u-note {
    font-size: 14px
  }
}

@media (max-width: 767px) {
  .u-note {
    font-size: calc(20 / 750 * 100vw)
  }
}

.u-caption {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: .3em;
  color: #fff;
  line-height: 1.2;
  background-color: rgba(51, 51, 51, 0.8);
  font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif
}

@media (min-width: 768px) {
  .u-caption {
    font-size: clamp(9px, 0.52083vw, 10px)
  }
}

@media (max-width: 767px) {
  .u-caption {
    font-size: calc(20 / 750 * 100vw)
  }
}

.u-caption::after {
  position: absolute;
  top: 0;
  left: 100%;
  display: inline-block;
  width: 1em;
  height: 100%;
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  background-color: rgba(51, 51, 51, 0.8)
}

@media (min-width: 768px) {
  .u-caption::after {
    content: ''
  }
}

.txt-rgt {
  display: block;
  text-align: right
}

.f-blue {
  color: #365e95
}

.f-ylw {
  color: #ffe615
}

.f-pink {
  color: #bf626e
}

.f-orange {
  color: #94492f
}

.f-wht {
  color: #fff
}

.s-up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0
}

.s-up.on {
  transform: translateY(0);
  opacity: 1.0
}

.l-header {
  display: block;
  position: relative;
  width: 100%;
  margin: 0 auto;
  background-color: #fff
}

.l-header__in {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  list-style: none;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center
}

@media (min-width: 768px) {
  .l-header__in {
    padding: 10px 30px
  }
}

@media (max-width: 767px) {
  .l-header__in {
    height: calc(90 / 750 * 100vw);
    padding: 0 calc(20 / 750 * 100vw)
  }
}

.l-header__logo {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../img/logo.webp)
}

@supports (background-image: url(../img/logo.webp)) {
  .l-header__logo {
    background-image: url(../img/logo.webp)
  }
}

@media (min-width: 768px) {
  .l-header__logo {
    width: 10.625vw;
    max-width: 204px;
    height: 1.6666666666666667vw;
    max-height: 32px;
    background-image: url(../img/logo@2x.webp)
  }

  @supports (background-image: url(../img/logo@2x.webp)) {
    .l-header__logo {
      background-image: url(../img/logo@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .l-header__logo {
    width: calc(306 / 750 * 100vw);
    height: calc(48 / 750 * 100vw)
  }
}

.p-mv {
  display: block;
  width: 100%;
  margin: 0 auto
}

.p-mv__inner {
  position: relative;
  display: block;
  width: 100%;
  background-color: #000;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover
}

@media (min-width: 768px) {
  .p-mv__inner {
    height: 41.66666666666667vw;
    max-height: 800px;
    background-image: url(../img/mv_bg.webp)
  }

  @supports (background-image: url(../img/mv_bg.webp)) {
    .p-mv__inner {
      background-image: url(../img/mv_bg.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-mv__inner {
    background-image: url(../img/mv_bg@2x.webp)
  }

  @supports (background-image: url(../img/mv_bg@2x.webp)) {
    .p-mv__inner {
      background-image: url(../img/mv_bg@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-mv__inner {
    width: calc(750 / 750 * 100vw);
    height: calc(796 / 750 * 100vw);
    background-image: url(../img/mv_bg@sp.webp)
  }

  @supports (background-image: url(../img/mv_bg@sp.webp)) {
    .p-mv__inner {
      background-image: url(../img/mv_bg@sp.webp)
    }
  }
}

.p-mv__copy {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 0
}

@media (max-width: 767px) {
.p-mv__copy {
margin-top: calc(350 / 750 * 100vw);
}
}

@media (min-width: 768px) {
  .p-mv__copy {
    left: min(12.5vw, 240px);
    width: 36.614583333333336vw;
    max-width: 703px;
    height: 9.010416666666666vw;
    max-height: 173px;
    background-image: url(../img/mv_txt.webp)
  }

  @supports (background-image: url(../img/mv_txt.webp)) {
    .p-mv__copy {
      background-image: url(../img/mv_txt.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-mv__copy {
    background-image: url(../img/mv_txt@2x.webp)
  }

  @supports (background-image: url(../img/mv_txt@2x.webp)) {
    .p-mv__copy {
      background-image: url(../img/mv_txt@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-mv__copy {
    width: calc(486 / 750 * 100vw);
    height: calc(241 / 750 * 100vw);
    background-image: url(../img/mv_txt@sp.webp)
  }

  @supports (background-image: url(../img/mv_txt@sp.webp)) {
    .p-mv__copy {
      background-image: url(../img/mv_txt@sp.webp)
    }
  }
}

.p-mv__inner .p-present__info-btn{
  position: absolute;
  z-index: 10;
}

@media (min-width: 768px) {
.p-mv__inner .p-present__info-btn{
  left: min(13.5vw, 240px);
  bottom: 17%;
}
}

@media (max-width: 767px) {
.p-mv__inner .p-present__info-btn{
  width: 90%;
  bottom: calc(-100 / 750 * 100vw);
  left: 50%;
  transform: translate(-50%, 0%);
}
.p-mv__inner .p-present__info-btn:hover{
  transform: translate(-50%, 0%);
  filter: drop-shadow(0px 6px 0px #a94e0b);
  background-color: #f16f0f;
}
}

.p-mv__bottom {
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  background-color: #f5f5f5;
  overflow: hidden
}

@media (min-width: 768px) {
  .p-mv__bottom {
    padding: min(13.333333333333334vw, 160px) 0
  }
}


.p-mv__bottom::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-mv__bottom::before {
    content: '';
    width: 17.333333333333336vw;
    max-width: 208px;
    height: 63.16666666666667vw;
    max-height: 758px;
    background-image: url(../img/mv_bottom_bg_en.webp)
  }

  @supports (background-image: url(../img/mv_bottom_bg_en.webp)) {
    .p-mv__bottom::before {
      background-image: url(../img/mv_bottom_bg_en.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-mv__bottom::before {
    background-image: url(../img/mv_bottom_bg_en@2x.webp)
  }

  @supports (background-image: url(../img/mv_bottom_bg_en@2x.webp)) {
    .p-mv__bottom::before {
      background-image: url(../img/mv_bottom_bg_en@2x.webp)
    }
  }
}

.p-mv__bottom-body {
  display: block;
  margin: auto;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl
}

@media (min-width: 768px) {
  .p-mv__bottom-body {
    width: 44.53125vw;
    max-width: 570px
  }
}

.p-mv__bottom-body>h2 {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-mv__bottom-body>h2 {
    width: 4.416666666666667vw;
    max-width: 53px;
    height: 36.666666666666664vw;
    max-height: 440px;
    background-image: url(../img/mv_bottom_head.webp)
  }

  @supports (background-image: url(../img/mv_bottom_head.webp)) {
    .p-mv__bottom-body>h2 {
      background-image: url(../img/mv_bottom_head.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-mv__bottom-body>h2 {
    background-image: url(../img/mv_bottom_head@2x.webp)
  }

  @supports (background-image: url(../img/mv_bottom_head@2x.webp)) {
    .p-mv__bottom-body>h2 {
      background-image: url(../img/mv_bottom_head@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-mv__bottom-body>h2 {
    width: calc(61 / 750 * 100vw);
    height: calc(502 / 750 * 100vw);
    background-image: url(../img/mv_bottom_head@sp.webp)
  }

  @supports (background-image: url(../img/mv_bottom_head@sp.webp)) {
    .p-mv__bottom-body>h2 {
      background-image: url(../img/mv_bottom_head@sp.webp)
    }
  }
}

.p-mv__bottom-body>p {
  display: block;
  padding-top: .5em;
  background-color: #f5f5f5;
  background-image: linear-gradient(270deg, #cecece 1px, transparent 1px);
  background-size: 2.5em 100%;
  border-left: solid 1px #cecece;
  line-height: 2.5em
}

@media (min-width: 768px) {
  .p-mv__bottom-body>p {
    margin-right: 3em;
    font-size: min(1.6666666666666667vw, 20px)
  }
}

@media (max-width: 767px) {
  .p-mv__bottom-body>p {
    margin-right: 2rem;
    font-size: calc(28 / 750 * 100vw);
    letter-spacing: 0em
  }
}

.p-search {
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 2
}

@media (min-width: 768px) {
  .p-search {
    bottom: min(3.125vw, 60px);
    width: 47.91666666666667vw;
    max-width: 920px;
    height: 8.333333333333332vw;
    max-height: 160px;
    padding: min(1.25vw, 24px) min(1.7187500000000002vw, 33px);
    border-radius: 8px
  }
}

@media (max-width: 767px) {
  .p-search {
    bottom: calc(-210 / 750 * 100vw);
    width: calc(710 / 750 * 100vw);
    max-height: calc(420 / 750 * 100vw);
    padding: calc(40 / 750 * 100vw) calc(20 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw)
  }
}

.p-search__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center
}

@media (min-width: 768px) {
  .p-search__head {
    margin-bottom: min(0.8333333333333334vw, 16px)
  }
}

@media (max-width: 767px) {
  .p-search__head {
    margin-bottom: calc(32 / 750 * 100vw)
  }
}

.p-search__bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center
}

.p-search__bottom>span {
  display: block;
  font-weight: bold;
  letter-spacing: 0.14em
}

@media (min-width: 768px) {
  .p-search__bottom>span {
    width: 7.187499999999999vw;
    max-width: 138px;
    font-size: min(0.9375vw, 18px)
  }
}

@media (max-width: 767px) {
  .p-search__bottom>span {
    width: 100%
  }
}

.p-search__bottom>div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  overflow: hidden
}

@media (min-width: 768px) {
  .p-search__bottom>div {
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    width: 36.822916666666664vw;
    max-width: 707px;
    height: 2.5vw;
    max-height: 48px;
    border-radius: 8px
  }
}

@media (max-width: 767px) {
  .p-search__bottom>div {
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    width: 100%;
    height: calc(72 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw)
  }
}

.p-search__bottom>div input {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  appearance: none;
  margin-right: -1px;
  padding: .2rem .5rem;
  background-color: #fff;
  border: 1px solid #b2b2b2;
  outline: none;
  text-overflow: ellipsis;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  font-weight: bold;
  cursor: pointer
}

@media (min-width: 768px) {
  .p-search__bottom>div input {
    width: 34.0625vw;
    max-width: 654px;
    border-radius: 8px 0 0 8px;
    font-size: min(0.9375vw, 18px)
  }
}

@media (max-width: 767px) {
  .p-search__bottom>div input {
    width: calc(596 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw) 0 0 calc(8 / 750 * 100vw)
  }
}

.p-search__bottom>div input:disabled {
  cursor: auto
}

.p-search__bottom>div input::placeholder {
  color: rgba(102, 102, 102, 0.5)
}

.p-search__bottom>div button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  appearance: none;
  background-color: #365e95;
  border: none;
  outline: none;
  text-overflow: ellipsis;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  font-weight: bold;
  cursor: pointer
}

@media (min-width: 768px) {
  .p-search__bottom>div button {
    width: 2.5vw;
    max-width: 48px;
    border-radius: 0 8px 8px 0
  }
}

@media (max-width: 767px) {
  .p-search__bottom>div button {
    width: calc(72 / 750 * 100vw);
    border-radius: 0 calc(8 / 750 * 100vw) calc(8 / 750 * 100vw) 0
  }
}

.p-search__bottom>div button:disabled {
  cursor: auto
}

.p-search__bottom>div button::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: .6rem;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none
}

@media (min-width: 768px) {
  .p-search__bottom>div button::after {
    width: 1.0416666666666665vw;
    max-width: 20px;
    height: 1.0416666666666665vw;
    max-height: 20px;
    vertical-align: bottom;
    background-image: url(../img/search_btn_icon.webp)
  }

  @supports (background-image: url(../img/search_btn_icon.webp)) {
    .p-search__bottom>div button::after {
      background-image: url(../img/search_btn_icon.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-search__bottom>div button::after {
    background-image: url(../img/search_btn_icon@2x.webp)
  }

  @supports (background-image: url(../img/search_btn_icon@2x.webp)) {
    .p-search__bottom>div button::after {
      background-image: url(../img/search_btn_icon@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-search__bottom>div button::after {
    width: calc(30 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
    background-image: url(../img/search_btn_icon@sp.webp)
  }

  @supports (background-image: url(../img/search_btn_icon@sp.webp)) {
    .p-search__bottom>div button::after {
      background-image: url(../img/search_btn_icon@sp.webp)
    }
  }
}

.p-search__pull {
  position: relative;
  overflow: hidden;
  cursor: pointer
}

@media (min-width: 768px) {
  .p-search__pull {
    width: 13.229166666666666vw;
    max-width: 254px;
    height: 2.5vw;
    max-height: 48px;
    border-radius: 8px
  }
}

@media (max-width: 767px) {
  .p-search__pull {
    width: calc(310 / 750 * 100vw);
    height: calc(72 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw)
  }
}

.p-search__pull::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1rem;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none
}

@media (min-width: 768px) {
  .p-search__pull::after {
    width: 1.0416666666666665vw;
    max-width: 20px;
    height: 0.78125vw;
    max-height: 15px;
    background-image: url(../img/search_arrow.webp)
  }

  @supports (background-image: url(../img/search_arrow.webp)) {
    .p-search__pull::after {
      background-image: url(../img/search_arrow.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-search__pull::after {
    background-image: url(../img/search_arrow@2x.webp)
  }

  @supports (background-image: url(../img/search_arrow@2x.webp)) {
    .p-search__pull::after {
      background-image: url(../img/search_arrow@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-search__pull::after {
    width: calc(22 / 750 * 100vw);
    height: calc(16 / 750 * 100vw);
    background-image: url(../img/search_arrow@sp.webp)
  }

  @supports (background-image: url(../img/search_arrow@sp.webp)) {
    .p-search__pull::after {
      background-image: url(../img/search_arrow@sp.webp)
    }
  }
}

.p-search__pull:has(select:disabled)::after {
  opacity: .5
}

.p-search__pull select {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  appearance: none;
  padding: 0.2rem calc(.2rem + 30px) 0.2rem 0.5rem;
  border: 1px solid #b2b2b2;
  background-color: #fff;
  outline: none;
  text-overflow: ellipsis;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  color: #365e95;
  font-weight: bold;
  cursor: pointer
}

@media (min-width: 768px) {
  .p-search__pull select {
    border-radius: 8px;
    font-size: min(0.9375vw, 18px)
  }
}

@media (max-width: 767px) {
  .p-search__pull select {
    border-radius: calc(8 / 750 * 100vw)
  }
}

.p-search__pull select:disabled {
  cursor: auto;
  background-color: #d1d1d1;
  opacity: 0.7
}

.p-search__pull-wrap {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center
}

@media (min-width: 768px) {
  .p-search__pull-wrap {
    width: 28.4375vw;
    max-width: 546px
  }
}

@media (max-width: 767px) {
  .p-search__pull-wrap {
    width: 100%
  }
}

.p-search__pull-wrap::before,
.p-search__pull-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  margin: auto;
  background-color: #365e95
}

@media (min-width: 768px) {

  .p-search__pull-wrap::before,
  .p-search__pull-wrap::after {
    width: 1.0416666666666665vw;
    max-width: 20px
  }
}

@media (max-width: 767px) {

  .p-search__pull-wrap::before,
  .p-search__pull-wrap::after {
    width: calc(32 / 750 * 100vw)
  }
}

.p-search__pull-wrap::before {
  transform: rotate(45deg)
}

.p-search__pull-wrap::after {
  transform: rotate(-45deg)
}

.p-search__pull-btn {
  display: block
}

@media (min-width: 768px) {
  .p-search__pull-btn {
    width: 15.46875vw;
    max-width: 297px;
    height: 2.5vw;
    max-height: 48px
  }
}

@media (max-width: 767px) {
  .p-search__pull-btn {
    width: 100%;
    height: calc(100 / 750 * 100vw);
    margin-top: 1rem
  }
}

.p-search__pull-btn button {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: #365e95;
  border: none;
  color: #fff;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  cursor: pointer
}

@media (min-width: 768px) {
  .p-search__pull-btn button {
    border-radius: 8px
  }
}

@media (max-width: 767px) {
  .p-search__pull-btn button {
    border-radius: calc(8 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw)
  }
}

.p-search__pull-btn button::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: .6rem;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-search__pull-btn button::after {
    width: 1.0416666666666665vw;
    max-width: 20px;
    height: 1.0416666666666665vw;
    max-height: 20px;
    background-image: url(../img/search_btn_icon.webp)
  }

  @supports (background-image: url(../img/search_btn_icon.webp)) {
    .p-search__pull-btn button::after {
      background-image: url(../img/search_btn_icon.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-search__pull-btn button::after {
    background-image: url(../img/search_btn_icon@2x.webp)
  }

  @supports (background-image: url(../img/search_btn_icon@2x.webp)) {
    .p-search__pull-btn button::after {
      background-image: url(../img/search_btn_icon@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-search__pull-btn button::after {
    width: calc(30 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
    background-image: url(../img/search_btn_icon@sp.webp)
  }

  @supports (background-image: url(../img/search_btn_icon@sp.webp)) {
    .p-search__pull-btn button::after {
      background-image: url(../img/search_btn_icon@sp.webp)
    }
  }
}

.p-search__pull-btn button span {
  display: block;
  margin: auto;
  text-align: center;
  align-items: center
}

@media (min-width: 768px) {
  .p-search__pull-btn button span {
    line-height: min(1.1979166666666667vw, 23px)
  }
}

@media (max-width: 767px) {
  .p-search__pull-btn button span {
    line-height: calc(43 / 750 * 100vw)
  }
}

.p-search__pull-btn button span::before {
  content: '';
  display: inline-block;
  margin: auto;
  margin-right: .5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: text-bottom
}

@media (min-width: 768px) {
  .p-search__pull-btn button span::before {
    width: 1.8229166666666667vw;
    max-width: 35px;
    height: 1.1979166666666667vw;
    max-height: 23px;
    background-image: url(../img/search_home_icon.webp)
  }

  @supports (background-image: url(../img/search_home_icon.webp)) {
    .p-search__pull-btn button span::before {
      background-image: url(../img/search_home_icon.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-search__pull-btn button span::before {
    background-image: url(../img/search_home_icon@2x.webp)
  }

  @supports (background-image: url(../img/search_home_icon@2x.webp)) {
    .p-search__pull-btn button span::before {
      background-image: url(../img/search_home_icon@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-search__pull-btn button span::before {
    width: calc(65 / 750 * 100vw);
    height: calc(43 / 750 * 100vw);
    background-image: url(../img/search_home_icon@sp.webp)
  }

  @supports (background-image: url(../img/search_home_icon@sp.webp)) {
    .p-search__pull-btn button span::before {
      background-image: url(../img/search_home_icon@sp.webp)
    }
  }
}

.sec-ttl {
  display: block;
  margin: auto;
  text-align: center;
  font-weight: bold;
  line-height: 1.42
}

@media (min-width: 768px) {
  .sec-ttl {
    margin-bottom: 0.86em;
    font-size: min(4.666666666666667vw, 56px)
  }
}

@media (max-width: 767px) {
  .sec-ttl {
    margin-bottom: calc(56 / 750 * 100vw);
    font-size: calc(64 / 750 * 100vw)
  }
}

.sec-ttl .min {
  display: inline;
  font-size: 90%
}

.sec-ttl .sub {
  display: block
}

@media (min-width: 768px) {
  .sec-ttl .sub {
    font-size: min(2.666666666666667vw, 32px)
  }
}

@media (max-width: 767px) {
  .sec-ttl .sub {
    font-size: calc(40 / 750 * 100vw)
  }
}

.p-living {
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  z-index: 1
}

@media (min-width: 768px) {
  .p-living {
    max-width: 1920px;
    padding-top: min(6.25vw, 120px);
    overflow: hidden
  }
}

@media (max-width: 767px) {
  .p-living {
    padding-top: calc(120 / 750 * 100vw)
  }
}

.p-living__txt {
  display: block;
  margin: auto;
  letter-spacing: 0.08em;
  text-align: center
}

@media (min-width: 768px) {
  .p-living__txt {
    margin-bottom: min(5.333333333333334vw, 64px);
    font-size: min(1.6666666666666667vw, 20px)
  }
}

@media (max-width: 767px) {
  .p-living__txt {
    margin-bottom: calc(64 / 750 * 100vw)
  }
}

.p-living__body {
  position: relative;
  display: block;
  width: 100%;
  margin: auto
}

@media (min-width: 768px) {
  .p-living__body {
    max-width: 1200px
  }
}

.p-living__body-box {
  position: relative
}

@media (min-width: 768px) {
  .p-living__body-box {
    display: block;
    width: 100%;
    margin: auto;
    padding-bottom: 40px
  }
}

@media (max-width: 767px) {
  .p-living__body-box {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between
  }
}

.p-living__body-box::before,
.p-living__body-box::after {
  position: absolute;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {

  .p-living__body-box::before,
  .p-living__body-box::after {
    content: ''
  }
}

@media (min-width: 768px) {
  .p-living__body-box::before {
    bottom: 105%;
    right: 90%;
    width: 19.791666666666664vw;
    max-width: 380px;
    height: 14.583333333333334vw;
    max-height: 280px;
    background-image: url(../img/living_bg_illust_01.webp)
  }

  @supports (background-image: url(../img/living_bg_illust_01.webp)) {
    .p-living__body-box::before {
      background-image: url(../img/living_bg_illust_01.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-living__body-box::before {
    background-image: url(../img/living_bg_illust_01@2x.webp)
  }

  @supports (background-image: url(../img/living_bg_illust_01@2x.webp)) {
    .p-living__body-box::before {
      background-image: url(../img/living_bg_illust_01@2x.webp)
    }
  }
}

@media (min-width: 768px) {
  .p-living__body-box::after {
    bottom: 0;
    left: 105%;
    width: 20.75vw;
    max-width: 249px;
    height: 26.666666666666668vw;
    max-height: 320px;
    background-image: url(../img/living_bg_illust_02.webp)
  }

  @supports (background-image: url(../img/living_bg_illust_02.webp)) {
    .p-living__body-box::after {
      background-image: url(../img/living_bg_illust_02.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-living__body-box::after {
    background-image: url(../img/living_bg_illust_02@2x.webp)
  }

  @supports (background-image: url(../img/living_bg_illust_02@2x.webp)) {
    .p-living__body-box::after {
      background-image: url(../img/living_bg_illust_02@2x.webp)
    }
  }
}

.p-living__flow {
  display: block;
  text-align: center
}

@media (min-width: 768px) {
  .p-living__flow {
    margin: auto
  }
}

@media (max-width: 767px) {
  .p-living__flow {
    width: 50%;
    padding-left: calc(40 / 750 * 100vw)
  }
}

.p-living__flow>li {
  position: relative;
  display: block;
  margin: auto;
  border-radius: 9999px;
  text-align: center;
  font-weight: 700
}

@media (min-width: 768px) {
  .p-living__flow>li {
    width: 22.5vw;
    max-width: 270px;
    height: 6vw;
    max-height: 72px;
    font-size: min(2.166666666666667vw, 26px);
    line-height: min(6vw, 72px)
  }
}

@media (max-width: 767px) {
  .p-living__flow>li {
    width: calc(300 / 750 * 100vw);
    height: calc(90 / 750 * 100vw);
    line-height: calc(90 / 750 * 100vw)
  }
}

.p-living__flow>li:nth-child(odd) {
  background-color: #f5f5f5
}

.p-living__flow>li:nth-child(even) {
  background-color: #e9eef4
}

@media (min-width: 768px) {
  .p-living__flow>li:not(:last-child) {
    margin-bottom: 52px
  }
}

@media (max-width: 767px) {
  .p-living__flow>li:not(:last-child) {
    margin-bottom: calc(130 / 750 * 100vw)
  }
}

.p-living__flow>li:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-living__flow>li:not(:last-child)::after {
    bottom: -35px;
    width: 2.4166666666666665vw;
    max-width: 29px;
    height: 1.6666666666666667vw;
    max-height: 20px;
    background-image: url(../img/living_flow_arrow.webp)
  }

  @supports (background-image: url(../img/living_flow_arrow.webp)) {
    .p-living__flow>li:not(:last-child)::after {
      background-image: url(../img/living_flow_arrow.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-living__flow>li:not(:last-child)::after {
    background-image: url(../img/living_flow_arrow@2x.webp)
  }

  @supports (background-image: url(../img/living_flow_arrow@2x.webp)) {
    .p-living__flow>li:not(:last-child)::after {
      background-image: url(../img/living_flow_arrow@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-living__flow>li:not(:last-child)::after {
    bottom: calc(-73 / 750 * 100vw);
    width: calc(35 / 750 * 100vw);
    height: calc(26 / 750 * 100vw);
    background-image: url(../img/living_flow_arrow@sp.webp)
  }

  @supports (background-image: url(../img/living_flow_arrow@sp.webp)) {
    .p-living__flow>li:not(:last-child)::after {
      background-image: url(../img/living_flow_arrow@sp.webp)
    }
  }
}

.p-living__voice {
  z-index: 2
}

@media (min-width: 768px) {
  .p-living__voice {
    position: absolute;
    display: block
  }
}

@media (max-width: 767px) {
  .p-living__voice {
    width: calc(330 / 750 * 100vw)
  }
}

@media (max-width: 767px) {
  .p-living__voice-wrap {
    width: 50%;
    padding-right: calc(40 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-living__voice[data-num="01"] {
    top: 0;
    right: 0;
    width: 30vw;
    max-width: 360px
  }
}

@media (max-width: 767px) {
  .p-living__voice[data-num="01"] {
    margin-bottom: calc(20 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-living__voice[data-num="02"] {
    top: min(26.666666666666668vw, 320px);
    left: min(2.5vw, 30px);
    width: 30vw;
    max-width: 360px
  }
}

@media (max-width: 767px) {
  .p-living__voice[data-num="02"] {
    margin-bottom: calc(20 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-living__voice[data-num="03"] {
    top: min(61.66666666666667vw, 740px);
    left: 0;
    width: 21.25vw;
    max-width: 255px
  }
}

@media (max-width: 767px) {
  .p-living__voice[data-num="03"] {
    margin-bottom: calc(20 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-living__voice[data-num="04"] {
    top: min(65vw, 780px);
    right: 0;
    width: 21.25vw;
    max-width: 255px
  }
}

@media (max-width: 767px) {
  .p-living__voice[data-num="04"] {
    margin-bottom: calc(20 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-living__voice[data-num="05"] {
    top: min(35.833333333333336vw, 430px);
    right: min(14.166666666666666vw, 170px);
    width: 21.25vw;
    max-width: 255px
  }
}

.p-living__voice-txt {
  display: block;
  margin-top: .5em;
  line-height: 1.52;
  text-align: justify
}

@media (min-width: 768px) {
  .p-living__voice-txt {
    font-size: min(1.1666666666666667vw, 14px)
  }
}

@media (max-width: 767px) {
  .p-living__voice-txt {
    font-size: calc(26 / 750 * 100vw)
  }
}

.p-living__voice-txt>span {
  display: block;
  text-align: right
}

.p-living__voice-note {
  display: block
}

@media (min-width: 768px) {
  .p-living__voice-note {
    margin-top: 5em;
    font-size: min(1.1666666666666667vw, 14px);
    text-align: right
  }
}

@media (max-width: 767px) {
  .p-living__voice-note {
    margin-bottom: 1rem;
    padding: 0 calc(20 / 750 * 100vw);
    font-size: calc(24 / 750 * 100vw)
  }
}

@media (max-width: 767px) {
  .p-living__voice-bottom {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between
  }
}

.p-living__voice-bottom picture {
  display: block;
  z-index: 2
}

@media (min-width: 768px) {
  .p-living__voice-bottom picture {
    position: absolute
  }
}

@media (max-width: 767px) {
  .p-living__voice-bottom picture {
    width: 33.333%
  }
}

@media (min-width: 768px) {
  .p-living__voice-bottom picture[data-num="01"] {
    top: 0;
    left: 0;
    width: 21.25vw;
    max-width: 255px
  }
}

@media (min-width: 768px) {
  .p-living__voice-bottom picture[data-num="02"] {
    top: min(11.666666666666666vw, 140px);
    left: min(17.5vw, 210px);
    width: 15vw;
    max-width: 180px;
    z-index: -1
  }
}

@media (min-width: 768px) {
  .p-living__voice-bottom picture[data-num="03"] {
    top: min(32.5vw, 390px);
    right: 0;
    width: 15vw;
    max-width: 180px;
    z-index: -1
  }
}

.p-about {
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  background-color: #e9eef4
}

@media (min-width: 768px) {
  .p-about {
    padding-top: 120px
  }
}

@media (max-width: 767px) {
  .p-about {
    padding-top: calc(120 / 750 * 100vw)
  }
}

.p-about__txt {
  display: block;
  margin: auto;
  text-align: center
}

@media (min-width: 768px) {
  .p-about__txt {
    margin-bottom: min(6.916666666666667vw, 83px);
    font-size: min(1.6666666666666667vw, 20px);
    letter-spacing: 0.08em
  }
}

@media (max-width: 767px) {
  .p-about__txt {
    margin-bottom: calc(64 / 750 * 100vw);
    letter-spacing: 0.0em
  }
}

.p-about__body {
  position: relative;
  display: block;
  width: 100%;
  margin: auto
}

@media (min-width: 768px) {
  .p-about__body {
    max-width: 1200px
  }
}

.p-about__body-box {
  position: relative
}

@media (min-width: 768px) {
  .p-about__body-box {
    display: block;
    width: 100%;
    margin: auto;
    padding-bottom: 155px
  }
}

@media (max-width: 767px) {
  .p-about__body-box {
    padding-bottom: calc(290 / 750 * 100vw)
  }
}

.p-about__body-box::before {
  content: '';
  position: absolute;
  bottom: 0;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-about__body-box::before {
    right: 102%;
    width: 27.833333333333332vw;
    max-width: 334px;
    height: 15.833333333333332vw;
    max-height: 190px;
    background-image: url(../img/about_bg_illust.webp)
  }

  @supports (background-image: url(../img/about_bg_illust.webp)) {
    .p-about__body-box::before {
      background-image: url(../img/about_bg_illust.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-about__body-box::before {
    background-image: url(../img/about_bg_illust@2x.webp)
  }

  @supports (background-image: url(../img/about_bg_illust@2x.webp)) {
    .p-about__body-box::before {
      background-image: url(../img/about_bg_illust@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-about__body-box::before {
    left: 0;
    right: 0;
    width: calc(403 / 750 * 100vw);
    height: calc(227 / 750 * 100vw);
    background-image: url(../img/about_bg_illust@sp.webp)
  }

  @supports (background-image: url(../img/about_bg_illust@sp.webp)) {
    .p-about__body-box::before {
      background-image: url(../img/about_bg_illust@sp.webp)
    }
  }
}

.p-about__body-head {
  display: table;
  margin: auto;
  border-top: solid 1px #365e95;
  border-bottom: solid 1px #365e95;
  text-align: center;
  font-weight: bold
}

@media (min-width: 768px) {
  .p-about__body-head {
    margin-bottom: min(4.166666666666666vw, 50px);
    padding: .5em 1em;
    font-size: min(2.666666666666667vw, 32px)
  }
}

@media (max-width: 767px) {
  .p-about__body-head {
    margin-bottom: calc(64 / 750 * 100vw);
    padding: 1rem calc(40 / 750 * 100vw);
    font-size: calc(44 / 750 * 100vw);
    line-height: 1.52;
    letter-spacing: 0em
  }
}

.p-about__box {
  position: relative;
  display: block;
  width: 100%;
  margin: auto
}

@media (min-width: 768px) {
  .p-about__box {
    height: 40.416666666666664vw;
    max-height: 485px
  }
}

.p-about__box-circle {
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-about__box-circle {
    width: 43.666666666666664vw;
    max-width: 524px;
    height: 40.416666666666664vw;
    max-height: 485px;
    background-image: url(../img/about_box_circle.webp)
  }

  @supports (background-image: url(../img/about_box_circle.webp)) {
    .p-about__box-circle {
      background-image: url(../img/about_box_circle.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-about__box-circle {
    background-image: url(../img/about_box_circle@2x.webp)
  }

  @supports (background-image: url(../img/about_box_circle@2x.webp)) {
    .p-about__box-circle {
      background-image: url(../img/about_box_circle@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-about__box-circle {
    width: calc(710 / 750 * 100vw);
    height: calc(656 / 750 * 100vw);
    background-image: url(../img/about_box_circle@sp.webp)
  }

  @supports (background-image: url(../img/about_box_circle@sp.webp)) {
    .p-about__box-circle {
      background-image: url(../img/about_box_circle@sp.webp)
    }
  }
}

.p-about__box-txt {
  position: absolute;
  top: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center
}

@media (min-width: 768px) {
  .p-about__box-txt>li {
    width: 50%;
    margin-bottom: 1.6em
  }
}

.p-about__box-txt>li div {
  position: relative
}

@media (min-width: 768px) {
  .p-about__box-txt>li:nth-child(1) div {
    left: 1.5em;
    width: 30.666666666666664vw;
    max-width: 368px
  }
}

@media (min-width: 768px) {
  .p-about__box-txt>li:nth-child(2) div {
    right: 1.5em;
    width: 32.083333333333336vw;
    max-width: 385px;
    margin-left: auto;
    margin-right: 0
  }
}

@media (min-width: 768px) {
  .p-about__box-txt>li:nth-child(3) div {
    width: 25.833333333333336vw;
    max-width: 310px
  }
}

@media (min-width: 768px) {
  .p-about__box-txt>li:nth-child(4) div {
    width: 25.833333333333336vw;
    max-width: 310px;
    margin-left: auto;
    margin-right: 0
  }
}

@media (min-width: 768px) {
  .p-about__box-txt>li:nth-child(5) div {
    width: 28.333333333333332vw;
    max-width: 340px
  }
}

@media (min-width: 768px) {
  .p-about__box-txt>li:nth-child(6) div {
    width: 30vw;
    max-width: 360px;
    margin-left: auto;
    margin-right: 0
  }
}

@media (min-width: 768px) {
  .p-about__box-txt>li h4 {
    display: block;
    margin-bottom: .2em;
    font-weight: bold;
    font-size: min(2vw, 24px);
    letter-spacing: 0.06em;
    line-height: 1.52;
    font-feature-settings: "palt"
  }
}

@media (min-width: 768px) {
  .p-about__box-txt>li p {
    font-size: min(0.8333333333333334vw, 16px);
    letter-spacing: 0.04em;
    line-height: 1.52;
    text-align: justify;
    font-feature-settings: "palt"
  }
}

.p-series {
  position: relative;
  display: block;
  width: 100%;
  margin: auto
}

@media (min-width: 768px) {
  .p-series {
    padding-top: 120px;
    padding-bottom: 100px
  }
}

@media (max-width: 767px) {
  .p-series {
    padding-top: calc(120 / 750 * 100vw);
    padding-bottom: calc(120 / 750 * 100vw)
  }
}

.p-series__txt {
  display: block;
  margin: auto;
  text-align: center
}

@media (min-width: 768px) {
  .p-series__txt {
    margin-bottom: min(6.916666666666667vw, 83px);
    font-size: min(1.6666666666666667vw, 20px);
    letter-spacing: 0.08em
  }
}

@media (max-width: 767px) {
  .p-series__txt {
    margin-bottom: calc(64 / 750 * 100vw);
    letter-spacing: 0.0em
  }
}

.p-series__body {
  position: relative;
  display: block;
  width: 100%;
  margin: auto
}

@media (min-width: 768px) {
  .p-series__body {
    max-width: 1200px;
    padding-left: min(8.333333333333332vw, 100px);
    padding-right: min(8.333333333333332vw, 100px)
  }
}

.p-series__block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  margin: auto;
  list-style: none;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between
}

@media (min-width: 768px) {
  .p-series__block {
    text-align: center
  }
}

@media (max-width: 767px) {
  .p-series__block {
    width: 100%;
    padding: 0 calc(20 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-series__block>li .u-pc {
    display: block
  }
}

@media (min-width: 768px) {
  .p-series__block>li[data-block="01"] {
    width: 100%;
    order: 4
  }
}

@media (min-width: 768px) {
  .p-series__block>li[data-block="02"] {
    width: 54.833333333333336vw;
    max-width: 658px;
    order: 8
  }
}

@media (min-width: 768px) {
  .p-series__block>li[data-block="03"] {
    width: 26.25vw;
    max-width: 315px;
    order: 9
  }
}

@media (min-width: 768px) {
  .p-series__block>li a {
    transition: .3s
  }
}

@media (min-width: 768px) {
  .p-series__block>li a:hover {
    opacity: .75
  }
}

@media (min-width: 768px) {
  .p-series__block-head {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    height: 56px;
    margin-bottom: 1rem;
    text-align: center;
    background-color: #f5f5f5;
    border-radius: 8px;
    line-height: 1.42;
    font-size: min(1.3333333333333335vw, 16px)
  }
}

.p-series__list {
  position: relative;
  display: block
}

@media (min-width: 768px) {
  .p-series__list {
    width: 26.25vw;
    max-width: 315px
  }
}

@media (max-width: 767px) {
  .p-series__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(345 / 750 * 100vw);
    margin-bottom: calc(10 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-series__list[data-num="01"] {
    margin-bottom: 1em;
    order: 1
  }
}

.p-series__list[data-num="01"] h4 {
  background-color: #3E4972
}

@media (min-width: 768px) {
  .p-series__list[data-num="02"] {
    margin-bottom: 1em;
    order: 2
  }
}

.p-series__list[data-num="02"] h4 {
  background-color: #34A584
}

@media (min-width: 768px) {
  .p-series__list[data-num="03"] {
    margin-bottom: 1em;
    order: 3
  }
}

.p-series__list[data-num="03"] h4 {
  background-color: #148CC2
}

@media (min-width: 768px) {
  .p-series__list[data-num="04"] {
    margin-bottom: 1em;
    order: 5
  }
}

.p-series__list[data-num="04"] h4 {
  background-color: #EE9C52
}

@media (min-width: 768px) {
  .p-series__list[data-num="05"] {
    margin-bottom: 1em;
    order: 6
  }
}

.p-series__list[data-num="05"] h4 {
  background-color: #DD577A
}

@media (min-width: 768px) {
  .p-series__list[data-num="06"] {
    margin-bottom: 1em;
    order: 7
  }
}

.p-series__list[data-num="06"] h4 {
  background-color: #94492F
}

.p-series__list a {
  color: #fff;
  text-decoration: none
}

.p-series__list h4 {
  display: block;
  margin: auto
}

@media (min-width: 768px) {
  .p-series__list h4 {
    height: min(5.166666666666667vw, 62px);
    padding: min(0.8333333333333334vw, 10px) 0
  }
}

@media (max-width: 767px) {
  .p-series__list h4 {
    width: auto;
    height: calc(66 / 750 * 100vw);
    padding: calc(9 / 750 * 100vw) 0
  }
}

.p-series__list h4>span {
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-series__list h4>span {
    height: min(3.5000000000000004vw, 42px)
  }
}

@media (max-width: 767px) {
  .p-series__list h4>span {
    width: auto;
    height: calc(48 / 750 * 100vw)
  }
}

.p-series__list h4>span[data-name="アリア"] {
  background-image: url(../img/series_logo_01.webp)
}

@supports (background-image: url(../img/series_logo_01.webp)) {
  .p-series__list h4>span[data-name="アリア"] {
    background-image: url(../img/series_logo_01.webp)
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-series__list h4>span[data-name="アリア"] {
    background-image: url(../img/series_logo_01@2x.webp)
  }

  @supports (background-image: url(../img/series_logo_01@2x.webp)) {
    .p-series__list h4>span[data-name="アリア"] {
      background-image: url(../img/series_logo_01@2x.webp)
    }
  }
}

.p-series__list h4>span[data-name="グラニー＆グランダ"] {
  background-image: url(../img/series_logo_02.webp)
}

@supports (background-image: url(../img/series_logo_02.webp)) {
  .p-series__list h4>span[data-name="グラニー＆グランダ"] {
    background-image: url(../img/series_logo_02.webp)
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-series__list h4>span[data-name="グラニー＆グランダ"] {
    background-image: url(../img/series_logo_02@2x.webp)
  }

  @supports (background-image: url(../img/series_logo_02@2x.webp)) {
    .p-series__list h4>span[data-name="グラニー＆グランダ"] {
      background-image: url(../img/series_logo_02@2x.webp)
    }
  }
}

.p-series__list h4>span[data-name="ボンセジュール"] {
  background-image: url(../img/series_logo_03.webp)
}

@supports (background-image: url(../img/series_logo_03.webp)) {
  .p-series__list h4>span[data-name="ボンセジュール"] {
    background-image: url(../img/series_logo_03.webp)
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-series__list h4>span[data-name="ボンセジュール"] {
    background-image: url(../img/series_logo_03@2x.webp)
  }

  @supports (background-image: url(../img/series_logo_03@2x.webp)) {
    .p-series__list h4>span[data-name="ボンセジュール"] {
      background-image: url(../img/series_logo_03@2x.webp)
    }
  }
}

.p-series__list h4>span[data-name="くらら"] {
  background-image: url(../img/series_logo_04.webp)
}

@supports (background-image: url(../img/series_logo_04.webp)) {
  .p-series__list h4>span[data-name="くらら"] {
    background-image: url(../img/series_logo_04.webp)
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-series__list h4>span[data-name="くらら"] {
    background-image: url(../img/series_logo_04@2x.webp)
  }

  @supports (background-image: url(../img/series_logo_04@2x.webp)) {
    .p-series__list h4>span[data-name="くらら"] {
      background-image: url(../img/series_logo_04@2x.webp)
    }
  }
}

.p-series__list h4>span[data-name="まどか"] {
  background-image: url(../img/series_logo_05.webp)
}

@supports (background-image: url(../img/series_logo_05.webp)) {
  .p-series__list h4>span[data-name="まどか"] {
    background-image: url(../img/series_logo_05.webp)
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-series__list h4>span[data-name="まどか"] {
    background-image: url(../img/series_logo_05@2x.webp)
  }

  @supports (background-image: url(../img/series_logo_05@2x.webp)) {
    .p-series__list h4>span[data-name="まどか"] {
      background-image: url(../img/series_logo_05@2x.webp)
    }
  }
}

.p-series__list h4>span[data-name="ここち"] {
  background-image: url(../img/series_logo_06.webp)
}

@supports (background-image: url(../img/series_logo_06.webp)) {
  .p-series__list h4>span[data-name="ここち"] {
    background-image: url(../img/series_logo_06.webp)
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-series__list h4>span[data-name="ここち"] {
    background-image: url(../img/series_logo_06@2x.webp)
  }

  @supports (background-image: url(../img/series_logo_06@2x.webp)) {
    .p-series__list h4>span[data-name="ここち"] {
      background-image: url(../img/series_logo_06@2x.webp)
    }
  }
}

.p-series__list-body {
  color: #fff;
  text-align: center
}

@media (min-width: 768px) {
  .p-series__list-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -30px;
    width: 28.57142857142857vw;
    max-width: 320px;
    height: 10.714285714285714vw;
    max-height: 120px;
    margin: auto;
    padding: min(1.3392857142857142vw, 15px) 0;
    border-radius: 10px
  }
}

@media (max-width: 767px) {
  .p-series__list-body {
    width: 100%;
    padding: calc(10 / 750 * 100vw) 0;
    order: 1
  }
}

.p-series__list-body>p {
  line-height: 1.42
}

@media (min-width: 768px) {
  .p-series__list-body>p {
    margin-bottom: min(0.8928571428571428vw, 10px);
    font-size: min(1.607142857142857vw, 18px)
  }
}

@media (max-width: 767px) {
  .p-series__list-body>p {
    margin-bottom: calc(10 / 750 * 100vw);
    font-size: calc(20 / 750 * 100vw)
  }
}

.p-series__img {
  position: relative;
  display: block
}

@media (max-width: 767px) {
  .p-series__img {
    width: 100%;
    order: 2
  }
}

.p-series__img .p-series__list-head {
  position: absolute;
  left: 0;
  right: 0;
  top: 1em;
  display: block;
  width: 100%;
  margin: auto;
  color: #000;
  text-align: center;
  line-height: 1.42
}

@media (min-width: 768px) {
  .p-series__img .p-series__list-head {
    font-size: min(1.3333333333333335vw, 16px)
  }
}

@media (max-width: 767px) {
  .p-series__img .p-series__list-head {
    font-size: calc(26 / 750 * 100vw);
    text-shadow: 1px 2px 6px rgba(255, 255, 255, 0.9)
  }
}

@media (max-width: 767px) {
  .p-series__img .u-caption {
    top: auto;
    bottom: 0;
    left: 0;
    display: table;
    width: 100%;
    padding: .3em .5em;
    min-height: 2rem;
    text-align: left;
    background-color: rgba(0, 0, 0, 0.5)
  }
}

@media (max-width: 767px) {
  .p-series__img .u-caption>span {
    display: table-cell;
    vertical-align: middle
  }
}

.p-series__note {
  display: block;
  margin-top: 2em
}

@media (min-width: 768px) {
  .p-series__note {
    font-size: 14px
  }
}

@media (max-width: 767px) {
  .p-series__note {
    padding: 0 calc(40 / 750 * 100vw);
    font-size: calc(24 / 750 * 100vw)
  }
}

.p-reason {
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  background-color: #365e95
}

@media (min-width: 768px) {
  .p-reason {
    padding-bottom: 40px
  }
}

@media (max-width: 767px) {
  .p-reason {
    padding-bottom: calc(40 / 750 * 100vw)
  }
}

.p-reason__ttl {
  position: relative;
  display: table;
  width: 100%;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  z-index: 1
}

@media (min-width: 768px) {
  .p-reason__ttl {
    height: 21.666666666666668vw;
    max-height: 260px;
    background-image: url(../img/reason_bg_img.webp)
  }

  @supports (background-image: url(../img/reason_bg_img.webp)) {
    .p-reason__ttl {
      background-image: url(../img/reason_bg_img.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-reason__ttl {
    background-image: url(../img/reason_bg_img@2x.webp)
  }

  @supports (background-image: url(../img/reason_bg_img@2x.webp)) {
    .p-reason__ttl {
      background-image: url(../img/reason_bg_img@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-reason__ttl {
    width: calc(750 / 750 * 100vw);
    height: calc(300 / 750 * 100vw);
    background-image: url(../img/reason_bg_img@sp.webp)
  }

  @supports (background-image: url(../img/reason_bg_img@sp.webp)) {
    .p-reason__ttl {
      background-image: url(../img/reason_bg_img@sp.webp)
    }
  }
}

.p-reason__ttl::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: -1
}

@media (min-width: 768px) {
  .p-reason__ttl::after {
    width: 51.583333333333336vw;
    max-width: 619px;
    height: 16.083333333333332vw;
    max-height: 193px;
    background-image: url(../img/reason_ttl_en.webp)
  }

  @supports (background-image: url(../img/reason_ttl_en.webp)) {
    .p-reason__ttl::after {
      background-image: url(../img/reason_ttl_en.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-reason__ttl::after {
    background-image: url(../img/reason_ttl_en@2x.webp)
  }

  @supports (background-image: url(../img/reason_ttl_en@2x.webp)) {
    .p-reason__ttl::after {
      background-image: url(../img/reason_ttl_en@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-reason__ttl::after {
    width: calc(681 / 750 * 100vw);
    height: calc(167 / 750 * 100vw);
    background-image: url(../img/reason_ttl_en@sp.webp)
  }

  @supports (background-image: url(../img/reason_ttl_en@sp.webp)) {
    .p-reason__ttl::after {
      background-image: url(../img/reason_ttl_en@sp.webp)
    }
  }
}

.p-reason__ttl>span {
  position: relative;
  display: table-cell;
  vertical-align: middle
}

.p-reason__content {
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  background-color: #f5f5f5;
  z-index: 1
}

@media (min-width: 768px) {
  .p-reason__content {
    max-width: 1820px;
    margin-top: min(-0.8333333333333334vw, -10px);
    border-radius: 8px
  }
}

@media (max-width: 767px) {
  .p-reason__content {
    border-radius: calc(8 / 750 * 100vw)
  }
}

.p-reason__content-wrap {
  display: block;
  width: 100%;
  margin: auto
}

@media (min-width: 768px) {
  .p-reason__content-wrap {
    max-width: 1900px;
    padding-left: min(3.3333333333333335vw, 40px);
    padding-right: min(3.3333333333333335vw, 40px)
  }
}

@media (max-width: 767px) {
  .p-reason__content-wrap {
    padding: 0 calc(20 / 750 * 100vw) 0
  }
}

.p-reason__block {
  position: relative;
  display: block
}

@media (min-width: 768px) {
  .p-reason__block.reason-01 {
    padding-top: min(9.166666666666666vw, 110px)
  }
}

@media (max-width: 767px) {
  .p-reason__block.reason-01 {
    padding-top: calc(100 / 750 * 100vw)
  }
}

.p-reason__block.reason-02 {
  margin: auto;
  background-repeat: repeat;
  background-position: center;
  background-size: cover
}

@media (min-width: 768px) {
  .p-reason__block.reason-02 {
    width: 87.5vw;
    max-width: 1680px;
    padding-top: min(7.8125vw, 150px);
    padding-bottom: min(9.166666666666666vw, 110px);
    background-image: url(../img/reason_02_bg.webp)
  }

  @supports (background-image: url(../img/reason_02_bg.webp)) {
    .p-reason__block.reason-02 {
      background-image: url(../img/reason_02_bg.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-reason__block.reason-02 {
    background-image: url(../img/reason_02_bg@2x.webp)
  }

  @supports (background-image: url(../img/reason_02_bg@2x.webp)) {
    .p-reason__block.reason-02 {
      background-image: url(../img/reason_02_bg@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-reason__block.reason-02 {
    position: relative;
    width: calc(670 / 750 * 100vw);
    padding-top: calc(100 / 750 * 100vw);
    background-image: url(../img/reason_02_bg@sp.webp)
  }

  @supports (background-image: url(../img/reason_02_bg@sp.webp)) {
    .p-reason__block.reason-02 {
      background-image: url(../img/reason_02_bg@sp.webp)
    }
  }
}

.p-reason__block.reason-03 {
  margin: auto
}

@media (min-width: 768px) {
  .p-reason__block.reason-03 {
    width: 87.5vw;
    max-width: 1680px;
    padding-top: min(6.25vw, 120px);
    padding-bottom: min(4.166666666666666vw, 80px)
  }
}

@media (max-width: 767px) {
  .p-reason__block.reason-03 {
    padding-top: calc(120 / 750 * 100vw);
    padding-bottom: calc(80 / 750 * 100vw)
  }
}

.p-reason__block-txt {
  display: block;
  text-align: center
}

.p-reason__block-txt>h3 {
  letter-spacing: 0.0em;
  font-feature-settings: "palt"
}

@media (min-width: 768px) {
  .p-reason__block-txt>h3 {
    font-size: min(4vw, 48px)
  }
}

@media (max-width: 767px) {
  .p-reason__block-txt>h3 {
    font-size: calc(46 / 750 * 100vw)
  }
}

.p-reason__block-txt>p {
  display: block
}

@media (min-width: 768px) {
  .p-reason__block-txt>p {
    margin-bottom: min(6.916666666666667vw, 83px);
    text-align: center;
    font-size: min(1.6666666666666667vw, 20px);
    letter-spacing: 0.08em
  }
}

@media (max-width: 767px) {
  .p-reason__block-txt>p {
    letter-spacing: 0.0em
  }
}

.p-reason__body {
  position: relative;
  display: block;
  width: 100%;
  margin: auto
}

@media (min-width: 768px) {
  .p-reason__body {
    height: 85.9375vw;
    max-height: 1650px;
    margin-bottom: min(5.208333333333334vw, 100px)
  }
}

@media (max-width: 767px) {
  .p-reason__body {
    padding-top: calc(80 / 750 * 100vw)
  }
}

.p-reason__body-img {
  display: block
}

@media (min-width: 768px) {
  .p-reason__body-img {
    position: absolute
  }
}

@media (max-width: 767px) {
  .p-reason__body-img {
    position: relative
  }
}

@media (min-width: 768px) {
  .p-reason__body-img[data-num="01"] {
    top: 0;
    left: min(-2.083333333333333vw, -40px);
    width: 50vw;
    max-width: 960px
  }
}

@media (max-width: 767px) {
  .p-reason__body-img[data-num="01"] {
    width: calc(670 / 750 * 100vw);
    margin: 0 auto calc(40 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-reason__body-img[data-num="02"] {
    top: min(3.6458333333333335vw, 70px);
    right: min(9.895833333333332vw, 190px);
    width: 33.489583333333336vw;
    max-width: 643px
  }
}

@media (max-width: 767px) {
  .p-reason__body-img[data-num="02"] {
    width: calc(670 / 750 * 100vw);
    margin: 0 auto calc(40 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-reason__body-img[data-num="03"] {
    top: min(21.875vw, 420px);
    right: min(-2.083333333333333vw, -40px);
    width: 39.84375vw;
    max-width: 765px
  }
}

@media (max-width: 767px) {
  .p-reason__body-img[data-num="03"] {
    right: calc(0 / 750 * 100vw);
    width: calc(731 / 750 * 100vw);
    margin: 0 auto calc(100 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-reason__body-img[data-num="04"] {
    top: min(40.625vw, 780px);
    left: min(4.166666666666666vw, 80px);
    width: 43.75vw;
    max-width: 840px
  }
}

@media (max-width: 767px) {
  .p-reason__body-img[data-num="04"] {
    width: calc(671 / 750 * 100vw);
    margin: 0 auto calc(40 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-reason__body-img[data-num="05"] {
    top: min(55.208333333333336vw, 1060px);
    left: min(4.166666666666666vw, 80px);
    width: 31.25vw;
    max-width: 600px
  }
}

@media (max-width: 767px) {
  .p-reason__body-img[data-num="05"] {
    left: calc(20 / 750 * 100vw);
    width: calc(710 / 750 * 100vw);
    margin: 0 auto calc(100 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-reason__body-img[data-num="06"] {
    top: min(49.47916666666667vw, 950px);
    right: min(4.166666666666666vw, 80px);
    width: 38.28125vw;
    max-width: 735px
  }
}

@media (max-width: 767px) {
  .p-reason__body-img[data-num="06"] {
    width: calc(671 / 750 * 100vw);
    margin: 0 auto calc(40 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-reason__body-img[data-num="07"] {
    top: min(72.39583333333334vw, 1390px);
    right: min(11.979166666666668vw, 230px);
    width: 37.65625vw;
    max-width: 723px
  }
}

@media (max-width: 767px) {
  .p-reason__body-img[data-num="07"] {
    left: calc(20 / 750 * 100vw);
    width: calc(710 / 750 * 100vw);
    margin: 0 auto calc(100 / 750 * 100vw)
  }
}

.p-reason__dish {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-reason__dish {
    width: 49.791666666666664vw;
    max-width: 956px;
    height: 49.583333333333336vw;
    max-height: 952px;
    background-image: url(../img/reason_02_dish_bg.webp)
  }

  @supports (background-image: url(../img/reason_02_dish_bg.webp)) {
    .p-reason__dish {
      background-image: url(../img/reason_02_dish_bg.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-reason__dish {
    background-image: url(../img/reason_02_dish_bg@2x.webp)
  }

  @supports (background-image: url(../img/reason_02_dish_bg@2x.webp)) {
    .p-reason__dish {
      background-image: url(../img/reason_02_dish_bg@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-reason__dish {
    position: relative;
    left: calc(-40 / 750 * 100vw);
    right: 0;
    width: calc(750 / 750 * 100vw);
    height: calc(952 / 750 * 100vw);
    background-image: url(../img/reason_02_dish_bg@sp.webp)
  }

  @supports (background-image: url(../img/reason_02_dish_bg@sp.webp)) {
    .p-reason__dish {
      background-image: url(../img/reason_02_dish_bg@sp.webp)
    }
  }
}

.p-reason__dish-txt>h3 {
  text-align: center
}

@media (min-width: 768px) {
  .p-reason__dish-txt>h3 {
    font-size: min(2.5vw, 48px)
  }
}

@media (max-width: 767px) {
  .p-reason__dish-txt>h3 {
    font-size: calc(48 / 750 * 100vw)
  }
}

.p-reason__dish-txt>p {
  text-align: center
}

@media (min-width: 768px) {
  .p-reason__dish-txt>p {
    font-size: min(1.0416666666666665vw, 20px)
  }
}

@media (max-width: 767px) {
  .p-reason__dish-txt>p {
    letter-spacing: 0em
  }
}

@media (max-width: 767px) {
  .p-reason__food {
    position: relative;
    top: calc(-150 / 750 * 100vw);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    width: calc(630 / 750 * 100vw);
    margin: 0 auto calc(-150 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-reason__food>li {
    position: absolute
  }
}

@media (max-width: 767px) {
  .p-reason__food>li {
    display: block;
    width: calc(300 / 750 * 100vw);
    margin-bottom: calc(30 / 750 * 100vw)
  }
}

@media (min-width: 768px) {
  .p-reason__food>li:nth-child(1) {
    top: min(7.03125vw, 135px);
    left: min(-1.0416666666666665vw, -20px);
    width: 27.239583333333332vw;
    max-width: 523px
  }
}

@media (min-width: 768px) {
  .p-reason__food>li:nth-child(2) {
    top: min(40.625vw, 780px);
    left: min(-6.25vw, -120px);
    width: 24.21875vw;
    max-width: 465px
  }
}

@media (min-width: 768px) {
  .p-reason__food>li:nth-child(3) {
    top: min(7.291666666666667vw, 140px);
    right: min(-1.0416666666666665vw, -20px);
    width: 24.21875vw;
    max-width: 465px
  }
}

@media (min-width: 768px) {
  .p-reason__food>li:nth-child(4) {
    top: min(28.645833333333332vw, 550px);
    right: min(-1.0416666666666665vw, -20px);
    width: 27.239583333333332vw;
    max-width: 523px
  }
}

.p-reason__commit {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  margin: auto
}

@media (min-width: 768px) {
  .p-reason__commit {
    width: 52.083333333333336vw;
    max-width: 1000px;
    margin-top: min(4.166666666666666vw, 80px)
  }
}

@media (max-width: 767px) {
  .p-reason__commit {
    margin-top: calc(100 / 750 * 100vw);
    padding-bottom: calc(100 / 750 * 100vw)
  }
}

.p-reason__commit-txt {
  position: relative;
  display: block
}

@media (min-width: 768px) {
  .p-reason__commit-txt {
    width: 19.270833333333336vw;
    max-width: 370px
  }
}

@media (max-width: 767px) {
  .p-reason__commit-txt {
    margin: 0 auto calc(45 / 750 * 100vw)
  }
}

.p-reason__commit-txt::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-reason__commit-txt::after {
    content: '';
    left: 0;
    right: 0;
    bottom: 0;
    width: 12.760416666666666vw;
    max-width: 245px;
    height: 8.75vw;
    max-height: 168px;
    background-image: url(../img/reason_commit_img.webp)
  }

  @supports (background-image: url(../img/reason_commit_img.webp)) {
    .p-reason__commit-txt::after {
      background-image: url(../img/reason_commit_img.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-reason__commit-txt::after {
    background-image: url(../img/reason_commit_img@2x.webp)
  }

  @supports (background-image: url(../img/reason_commit_img@2x.webp)) {
    .p-reason__commit-txt::after {
      background-image: url(../img/reason_commit_img@2x.webp)
    }
  }
}

.p-reason__commit-txt>h3 {
  margin-bottom: 1rem;
  line-height: 1.52
}

@media (min-width: 768px) {
  .p-reason__commit-txt>h3 {
    font-size: min(1.6666666666666667vw, 32px)
  }
}

@media (max-width: 767px) {
  .p-reason__commit-txt>h3 {
    text-align: center;
    font-size: calc(40 / 750 * 100vw)
  }
}

.p-reason__commit-txt>p {
  line-height: 1.52;
  letter-spacing: 0.0em;
  line-height: 1.52;
  font-feature-settings: "palt"
}

@media (min-width: 768px) {
  .p-reason__commit-txt>p {
    font-size: min(1.0416666666666665vw, 20px);
    text-align: justify
  }
}

@media (max-width: 767px) {
  .p-reason__commit-txt>p {
    text-align: center
  }
}

.p-reason__commit-list {
  position: relative;
  display: block
}

@media (min-width: 768px) {
  .p-reason__commit-list {
    width: 31.5625vw;
    max-width: 606px
  }
}

@media (max-width: 767px) {
  .p-reason__commit-list {
    width: calc(630 / 750 * 100vw);
    margin: auto
  }
}

.p-reason__commit-list::after {
  position: absolute;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 2
}

@media (max-width: 767px) {
  .p-reason__commit-list::after {
    content: '';
    right: calc(-40 / 750 * 100vw);
    top: 102%;
    width: calc(259 / 750 * 100vw);
    height: calc(143 / 750 * 100vw);
    background-image: url(../img/reason_commit_img@sp.webp)
  }

  @supports (background-image: url(../img/reason_commit_img@sp.webp)) {
    .p-reason__commit-list::after {
      background-image: url(../img/reason_commit_img@sp.webp)
    }
  }
}

.p-reason__commit-list>li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  margin: auto
}

@media (min-width: 768px) {
  .p-reason__commit-list>li:not(:last-child) {
    margin-bottom: min(1.25vw, 24px)
  }
}

@media (max-width: 767px) {
  .p-reason__commit-list>li:not(:last-child) {
    margin-bottom: calc(30 / 750 * 100vw)
  }
}

.p-reason__commit-list>li:nth-child(1) .lft {
  background-color: #bf626e
}

.p-reason__commit-list>li:nth-child(1) .rgt li>.mark {
  color: #bf626e
}

.p-reason__commit-list>li:nth-child(2) .lft {
  background-color: #365e95
}

.p-reason__commit-list>li:nth-child(2) .rgt li>.mark {
  color: #365e95
}

.p-reason__commit-list>li:nth-child(3) .lft {
  background-color: #79a14b
}

.p-reason__commit-list>li:nth-child(3) .rgt li>.mark {
  color: #79a14b
}

.p-reason__commit-list>li .lft {
  display: table
}

@media (min-width: 768px) {
  .p-reason__commit-list>li .lft {
    width: 4.895833333333333vw;
    max-width: 94px;
    border-radius: 8px 0 0 8px
  }
}

@media (max-width: 767px) {
  .p-reason__commit-list>li .lft {
    width: calc(94 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw) 0 0 calc(8 / 750 * 100vw)
  }
}

.p-reason__commit-list>li .lft>p {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  color: #fff
}

@media (min-width: 768px) {
  .p-reason__commit-list>li .lft>p {
    font-size: min(1.25vw, 24px)
  }
}

@media (max-width: 767px) {
  .p-reason__commit-list>li .lft>p {
    font-size: calc(32 / 750 * 100vw)
  }
}

.p-reason__commit-list>li .rgt {
  display: table;
  padding: 1rem;
  background-color: rgba(255, 255, 255, 0.8)
}

@media (min-width: 768px) {
  .p-reason__commit-list>li .rgt {
    width: 26.666666666666668vw;
    max-width: 512px;
    border-radius: 0 8px 8px 0
  }
}

@media (max-width: 767px) {
  .p-reason__commit-list>li .rgt {
    width: calc(536 / 750 * 100vw);
    border-radius: 0 calc(8 / 750 * 100vw) calc(8 / 750 * 100vw) 0
  }
}

.p-reason__commit-list>li .rgt>ol {
  display: table-cell;
  vertical-align: middle
}

.p-reason__commit-list>li .rgt>ol>li {
  letter-spacing: 0;
  line-height: 1.42
}

@media (min-width: 768px) {
  .p-reason__commit-list>li .rgt>ol>li {
    font-size: min(0.9375vw, 18px)
  }
}

@media (max-width: 767px) {
  .p-reason__commit-list>li .rgt>ol>li {
    text-indent: -1em;
    padding-left: 1em
  }
}

.p-reason__commit-list>li .rgt>ol>li:not(:last-child) {
  margin-bottom: .3rem
}

.p-reason__commit-list>li .rgt>ol>li .min {
  font-size: 80%
}

.p-reason__takumi {
  display: block;
  width: 100%;
  margin: auto;
  background-color: #fff;
  border-radius: 9999px 9999px 0 0
}

@media (min-width: 768px) {
  .p-reason__takumi {
    padding-top: min(9.375vw, 180px);
    padding-bottom: min(5.208333333333334vw, 100px)
  }
}

@media (max-width: 767px) {
  .p-reason__takumi {
    padding-top: calc(120 / 750 * 100vw);
    padding-bottom: calc(100 / 750 * 100vw)
  }
}

.p-reason__takumi-txt {
  position: relative;
  display: table;
  margin: auto
}

.p-reason__takumi-txt::after {
  position: absolute;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-reason__takumi-txt::after {
    content: '';
    left: 105%;
    width: 12.34375vw;
    max-width: 237px;
    height: 20.9375vw;
    max-height: 402px;
    background-image: url(../img/reason_takumi_ttl_illust.webp)
  }

  @supports (background-image: url(../img/reason_takumi_ttl_illust.webp)) {
    .p-reason__takumi-txt::after {
      background-image: url(../img/reason_takumi_ttl_illust.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-reason__takumi-txt::after {
    background-image: url(../img/reason_takumi_ttl_illust@2x.webp)
  }

  @supports (background-image: url(../img/reason_takumi_ttl_illust@2x.webp)) {
    .p-reason__takumi-txt::after {
      background-image: url(../img/reason_takumi_ttl_illust@2x.webp)
    }
  }
}

.p-reason__takumi-txt>h3 {
  display: block;
  text-align: center;
  line-height: 1.52
}

@media (min-width: 768px) {
  .p-reason__takumi-txt>h3 {
    margin-bottom: min(3.3333333333333335vw, 64px);
    font-size: min(2.5vw, 48px)
  }
}

@media (max-width: 767px) {
  .p-reason__takumi-txt>h3 {
    margin-bottom: calc(58 / 750 * 100vw);
    font-size: calc(48 / 750 * 100vw)
  }
}

.p-reason__takumi-txt>p {
  text-align: center;
  font-feature-settings: "palt"
}

@media (min-width: 768px) {
  .p-reason__takumi-txt>p {
    font-size: min(1.0416666666666665vw, 20px)
  }
}

@media (max-width: 767px) {
  .p-reason__takumi-txt>p {
    letter-spacing: 0.0em
  }
}

.p-reason__takumi-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  margin: auto
}

@media (min-width: 768px) {
  .p-reason__takumi-body {
    width: 53.125vw;
    max-width: 1020px;
    margin-top: min(2.9166666666666665vw, 56px)
  }
}

@media (max-width: 767px) {
  .p-reason__takumi-body {
    width: calc(630 / 750 * 100vw);
    margin-top: calc(100 / 750 * 100vw)
  }
}

.p-reason__takumi-body>li {
  display: block
}

@media (min-width: 768px) {
  .p-reason__takumi-body>li {
    width: 25vw;
    max-width: 480px
  }
}

@media (max-width: 767px) {
  .p-reason__takumi-body>li:not(:last-child) {
    margin-bottom: calc(80 / 750 * 100vw)
  }
}

.p-reason__takumi-body>li>picture {
  display: block
}

@media (min-width: 768px) {
  .p-reason__takumi-body>li>picture {
    width: 25vw;
    max-width: 480px;
    margin-bottom: min(1.8229166666666667vw, 35px)
  }
}

@media (max-width: 767px) {
  .p-reason__takumi-body>li>picture {
    width: 100%;
    margin-bottom: calc(20 / 750 * 100vw)
  }
}

.p-reason__takumi-body>li>p {
  text-align: justify;
  line-height: 1.72
}

@media (min-width: 768px) {
  .p-reason__takumi-body>li>p {
    font-size: min(0.8333333333333334vw, 16px)
  }
}

.p-reason__takumi-body>li>p .min {
  display: block;
  margin-top: .5em;
  font-size: 80%;
  line-height: 1.42
}

.p-reason__majikami {
  position: relative;
  display: block;
  margin: auto;
  background-color: #e9eef4
}

@media (min-width: 768px) {
  .p-reason__majikami {
    width: 100%;
    padding-top: min(4.166666666666666vw, 80px);
    padding-bottom: min(5.208333333333334vw, 100px)
  }
}

@media (max-width: 767px) {
  .p-reason__majikami {
    width: calc(670 / 750 * 100vw);
    padding-top: calc(80 / 750 * 100vw);
    padding-bottom: calc(80 / 750 * 100vw)
  }
}

.p-reason__majikami::before {
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 2
}

@media (max-width: 767px) {
  .p-reason__majikami::before {
    content: '';
    right: calc(-40 / 750 * 100vw);
    bottom: calc(-120 / 750 * 100vw);
    width: calc(134 / 750 * 100vw);
    height: calc(242 / 750 * 100vw);
    background-image: url(../img/reason_takumi_ttl_illust@sp.webp)
  }

  @supports (background-image: url(../img/reason_takumi_ttl_illust@sp.webp)) {
    .p-reason__majikami::before {
      background-image: url(../img/reason_takumi_ttl_illust@sp.webp)
    }
  }
}

.p-reason__majikami::after {
  content: '';
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-reason__majikami::after {
    left: min(-2.604166666666667vw, -50px);
    bottom: min(-3.125vw, -60px);
    width: 7.8125vw;
    max-width: 150px;
    height: 20.416666666666668vw;
    max-height: 392px;
    background-image: url(../img/reason_majikami_illust.webp)
  }

  @supports (background-image: url(../img/reason_majikami_illust.webp)) {
    .p-reason__majikami::after {
      background-image: url(../img/reason_majikami_illust.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-reason__majikami::after {
    background-image: url(../img/reason_majikami_illust@2x.webp)
  }

  @supports (background-image: url(../img/reason_majikami_illust@2x.webp)) {
    .p-reason__majikami::after {
      background-image: url(../img/reason_majikami_illust@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-reason__majikami::after {
    left: calc(-20 / 750 * 100vw);
    bottom: calc(-120 / 750 * 100vw);
    width: calc(97 / 750 * 100vw);
    height: calc(254 / 750 * 100vw);
    background-image: url(../img/reason_majikami_illust@sp.webp)
  }

  @supports (background-image: url(../img/reason_majikami_illust@sp.webp)) {
    .p-reason__majikami::after {
      background-image: url(../img/reason_majikami_illust@sp.webp)
    }
  }
}

.p-reason__majikami-txt>h3 {
  display: block;
  text-align: center;
  line-height: 1.52
}

@media (min-width: 768px) {
  .p-reason__majikami-txt>h3 {
    margin-bottom: min(2.083333333333333vw, 40px);
    font-size: min(1.6666666666666667vw, 32px)
  }
}

@media (max-width: 767px) {
  .p-reason__majikami-txt>h3 {
    margin-bottom: calc(80 / 750 * 100vw);
    font-size: calc(40 / 750 * 100vw)
  }
}

.p-reason__majikami-body {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  margin: auto
}

@media (min-width: 768px) {
  .p-reason__majikami-body {
    width: 57.291666666666664vw;
    max-width: 1100px
  }
}

@media (max-width: 767px) {
  .p-reason__majikami-body {
    width: calc(590 / 750 * 100vw)
  }
}

.p-reason__majikami-body::before,
.p-reason__majikami-body::after {
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  margin: auto;
  background-color: #333
}

@media (min-width: 768px) {

  .p-reason__majikami-body::before,
  .p-reason__majikami-body::after {
    content: '';
    top: min(1.25vw, 24px);
    width: 3.75vw;
    max-width: 72px
  }
}

.p-reason__majikami-body::before {
  transform: rotate(45deg)
}

.p-reason__majikami-body::after {
  transform: rotate(-45deg)
}

.p-reason__majikami-body>li {
  position: relative;
  display: block
}

@media (min-width: 768px) {
  .p-reason__majikami-body>li {
    width: 27.083333333333332vw;
    max-width: 520px
  }
}

@media (max-width: 767px) {
  .p-reason__majikami-body>li {
    width: 100%
  }
}

@media (max-width: 767px) {
  .p-reason__majikami-body>li:not(:last-child) {
    margin-bottom: calc(160 / 750 * 100vw)
  }
}

.p-reason__majikami-body>li:not(:last-child)::before,
.p-reason__majikami-body>li:not(:last-child)::after {
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  margin: auto;
  background-color: #333
}

@media (max-width: 767px) {

  .p-reason__majikami-body>li:not(:last-child)::before,
  .p-reason__majikami-body>li:not(:last-child)::after {
    content: '';
    bottom: calc(-82 / 750 * 100vw);
    width: calc(94 / 750 * 100vw)
  }
}

.p-reason__majikami-body>li:not(:last-child)::before {
  transform: rotate(45deg)
}

.p-reason__majikami-body>li:not(:last-child)::after {
  transform: rotate(-45deg)
}

.p-reason__majikami-body>li>h4 {
  display: block;
  text-align: center;
  line-height: 1.52
}

@media (min-width: 768px) {
  .p-reason__majikami-body>li>h4 {
    margin-bottom: min(1.25vw, 24px);
    font-size: min(1.25vw, 24px)
  }
}

@media (max-width: 767px) {
  .p-reason__majikami-body>li>h4 {
    margin-bottom: calc(24 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw)
  }
}

.p-reason__majikami-body>li>p {
  line-height: 1.72
}


@media (min-width: 768px) {
  .p-reason__majikami-body>li>p {
    margin-bottom: min(1.25vw, 24px);
    text-align: center;
    font-size: min(0.8333333333333334vw, 16px)
  }
}

@media (max-width: 767px) {
  .p-reason__majikami-body>li>p {
    margin-bottom: calc(24 / 750 * 100vw);
    text-align: justify;
  }
}

.p-reason__majikami-head {
  display: block;
  margin: auto;
  background-color: #365e95;
  border-radius: 9999px;
  color: #fff;
  text-align: center;
  letter-spacing: 0.01em;
}

@media (min-width: 768px) {
  .p-reason__majikami-head {
    width: 18.75vw;
    max-width: 360px;
    margin-bottom: min(1.25vw, 24px);
    font-size: min(1.25vw, 24px)
  }
}

@media (max-width: 767px) {
  .p-reason__majikami-head {
    width: 100%;
    margin-bottom: calc(24 / 750 * 100vw);
    font-size: calc(32 / 750 * 100vw)
  }
}

.p-flow {
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  background-color: #fff
}

@media (min-width: 768px) {
  .p-flow {
    padding-top: 120px;
    padding-bottom: 100px
  }
}

@media (max-width: 767px) {
  .p-flow {
    padding-top: calc(120 / 750 * 100vw);
    padding-bottom: calc(120 / 750 * 100vw)
  }
}

.p-flow::before {
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-flow::before {
    content: '';
    top: min(2.083333333333333vw, 40px);
    right: min(2.604166666666667vw, 50px);
    width: 9.635416666666668vw;
    max-width: 185px;
    height: 24.010416666666668vw;
    max-height: 461px;
    background-image: url(../img/flow_bg_en.webp)
  }

  @supports (background-image: url(../img/flow_bg_en.webp)) {
    .p-flow::before {
      background-image: url(../img/flow_bg_en.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-flow::before {
    background-image: url(../img/flow_bg_en@2x.webp)
  }

  @supports (background-image: url(../img/flow_bg_en@2x.webp)) {
    .p-flow::before {
      background-image: url(../img/flow_bg_en@2x.webp)
    }
  }
}

.p-flow::after {
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-flow::after {
    width: 13.854166666666668vw;
    max-width: 266px;
    height: 11.875vw;
    max-height: 228px;
    background-image: url(../img/flow_bg_illust.webp)
  }

  @supports (background-image: url(../img/flow_bg_illust.webp)) {
    .p-flow::after {
      background-image: url(../img/flow_bg_illust.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-flow::after {
    background-image: url(../img/flow_bg_illust@2x.webp)
  }

  @supports (background-image: url(../img/flow_bg_illust@2x.webp)) {
    .p-flow::after {
      background-image: url(../img/flow_bg_illust@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-flow::after {
    right: calc(0 / 750 * 100vw);
    width: calc(179 / 750 * 100vw);
    height: calc(167 / 750 * 100vw);
    background-image: url(../img/flow_bg_illust@sp.webp)
  }

  @supports (background-image: url(../img/flow_bg_illust@sp.webp)) {
    .p-flow::after {
      background-image: url(../img/flow_bg_illust@sp.webp)
    }
  }
}

.p-flow__ttl {
  display: block;
  text-align: center;
  line-height: 1.52
}

@media (min-width: 768px) {
  .p-flow__ttl {
    margin-bottom: min(4.166666666666666vw, 80px);
    font-size: min(2.9166666666666665vw, 56px)
  }
}

@media (max-width: 767px) {
  .p-flow__ttl {
    margin-bottom: calc(80 / 750 * 100vw);
    font-size: calc(64 / 750 * 100vw)
  }
}

.p-flow__list {
  display: block;
  margin: auto
}

@media (min-width: 768px) {
  .p-flow__list {
    width: 52.083333333333336vw;
    max-width: 1000px
  }
}

@media (max-width: 767px) {
  .p-flow__list {
    width: calc(710 / 750 * 100vw)
  }
}

.p-flow__list-item {
  position: relative;
  width: 100%
}

@media (min-width: 768px) {
  .p-flow__list-item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center
  }
}

  .p-flow__list-item .p-search{
    bottom: 0;
    width: 100%;
    border:#365e95 1px solid;
  }

@media (max-width: 767px) {
  .p-flow__list-item {
    display: block
  }
  .p-flow__list-item:first-child {
    padding-bottom:calc(470 / 750 * 100vw)
  }
    .p-flow__list-item .p-search{
     max-height: calc(440 / 750 * 100vw);
  }
}

@media (min-width: 768px) {
  .p-flow__list-item:first-child  {
      padding-bottom:9.5vw;
  }

}

@media (min-width: 768px) {
  .p-flow__list-item:not(:first-child) {
    margin-top: min(3.6458333333333335vw, 70px)
  }
}

@media (max-width: 767px) {
  .p-flow__list-item:not(:first-child) {
    margin-top: calc(110 / 750 * 100vw)
  }
}

.p-flow__list-item:not(:first-child)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-flow__list-item:not(:first-child)::after {
    top: min(-2.666666666666667vw, -28px);
    width: 14.583333333333334vw;
    max-width: 24px;
    height: 1.7708333333333333vw;
    max-height: 34px;
    background-image: url(../img/flow_arrow.webp)
  }

  @supports (background-image: url(../img/flow_arrow.webp)) {
    .p-flow__list-item:not(:first-child)::after {
      background-image: url(../img/flow_arrow.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-flow__list-item:not(:first-child)::after {
    background-image: url(../img/flow_arrow@2x.webp)
  }

  @supports (background-image: url(../img/flow_arrow@2x.webp)) {
    .p-flow__list-item:not(:first-child)::after {
      background-image: url(../img/flow_arrow@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-flow__list-item:not(:first-child)::after {
    top: calc(-72 / 750 * 100vw);
    width: calc(42 / 750 * 100vw);
    height: calc(30 / 750 * 100vw);
    background-image: url(../img/flow_arrow@sp.webp)
  }

  @supports (background-image: url(../img/flow_arrow@sp.webp)) {
    .p-flow__list-item:not(:first-child)::after {
      background-image: url(../img/flow_arrow@sp.webp)
    }
  }
}

.p-flow__list-head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  background-color: #365e95
}

@media (min-width: 768px) {
  .p-flow__list-head {
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
    width: 38%;
    padding: min(1.25vw, 24px) min(1.25vw, 24px) min(1.25vw, 24px) min(1.5625vw, 30px);
    border-radius: 8px 0 0 8px
  }
}

@media (max-width: 767px) {
  .p-flow__list-head {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    width: 100%;
    padding: calc(16 / 750 * 100vw) 0;
    border-radius: calc(8 / 750 * 100vw) calc(8 / 750 * 100vw) 0 0
  }
}

.p-flow__list-head>picture {
  display: block;
  order: 1
}

@media (min-width: 768px) {
  .p-flow__list-head>picture {
    width: 4.6875vw;
    max-width: 90px;
    margin-right: min(0.8333333333333334vw, 16px)
  }
}

@media (max-width: 767px) {
  .p-flow__list-head>picture {
    width: calc(80 / 750 * 100vw);
    margin-right: calc(10 / 750 * 100vw)
  }
}

.p-flow__list-ttl {
  color: #fff;
  line-height: 1.52;
  order: 2
}

@media (min-width: 768px) {
  .p-flow__list-ttl {
    font-size: min(1.25vw, 24px)
  }
}

@media (max-width: 767px) {
  .p-flow__list-ttl {
    font-size: calc(36 / 750 * 100vw);
    letter-spacing: 0.0em
  }
}

.p-flow__list-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  background-color: #e9eef4
}

@media (min-width: 768px) {
  .p-flow__list-body {
    width: 62%;
    border-radius: 0 8px 8px 0
  }
}

@media (max-width: 767px) {
  .p-flow__list-body {
    width: 100%;
    margin: auto;
    padding: calc(40 / 750 * 100vw);
    border-radius: 0 0 calc(8 / 750 * 100vw) calc(8 / 750 * 100vw)
  }
}

.p-flow__list-body>p {
  color: #4c494a;
  text-align: justify;
  line-height: 1.72
}

@media (min-width: 768px) {
  .p-flow__list-body>p {
    padding: min(2.083333333333333vw, 40px);
    font-size: min(0.8333333333333334vw, 16px)
  }
}

.p-present {
  position: relative;
  display: block;
  width: 100%;
  margin: auto;
  background-color: #365e95
}

@media (min-width: 768px) {
  .p-present {
    padding-top: 50px;
    padding-bottom: 50px
  }
}

@media (max-width: 767px) {
  .p-present {
    padding-top: calc(120 / 750 * 100vw);
    padding-bottom: calc(60 / 750 * 100vw)
  }
}

.p-present__body {
  margin: auto
}

@media (min-width: 768px) {
  .p-present__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    width: 52.083333333333336vw;
    max-width: 1000px;
    margin-bottom: 20px
  }
}

@media (max-width: 767px) {
  .p-present__body {
    display: block;
    margin: auto
  }
}

.p-present__body-txt {
  display: block;
  color: #fff;
  text-align: justify
}

@media (min-width: 768px) {
  .p-present__body-txt {
    width: 35.9375vw;
    max-width: 690px;
    font-size: min(1.607142857142857vw, 18px)
  }
}

@media (max-width: 767px) {
  .p-present__body-txt {
    width: 100%;
    margin-bottom: calc(40 / 750 * 100vw)
  }
}

.p-present__body-txt>h2 {
  display: block;
  font-weight: bold;
  color: #fff;
  line-height: 1.72;
  letter-spacing: 0.0em
}

@media (min-width: 768px) {
  .p-present__body-txt>h2 {
    margin-bottom: 1rem;
    font-size: min(1.5625vw, 30px)
  }
}

@media (max-width: 767px) {
  .p-present__body-txt>h2 {
    margin-bottom: calc(30 / 750 * 100vw);
    text-align: center;
    font-size: calc(44 / 750 * 100vw);
    line-height: 1.4
  }
}

.p-present__body-txt>p {
  display: block;
  color: #fff;
  line-height: 1.72;
  letter-spacing: 0.04em
}

@media (min-width: 768px) {
  .p-present__body-txt>p {
    font-size: min(0.9375vw, 18px)
  }
}

@media (max-width: 767px) {
  .p-present__body-txt>p {
    width: calc(670 / 750 * 100vw);
    margin: auto;
    line-height: 1.4
  }
}

.p-present__body-img {
  position: relative
}

@media (min-width: 768px) {
  .p-present__body-img {
    width: 15.572916666666666vw;
    max-width: 299px
  }
}

@media (max-width: 767px) {
  .p-present__body-img {
    width: calc(564 / 750 * 100vw);
    margin: 0 auto calc(56 / 750 * 100vw)
  }
}

.p-present__info {
  position: relative;
  margin: auto
}

@media (min-width: 768px) {
  .p-present__info {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    width: 52.083333333333336vw;
    max-width: 1000px
  }
}

@media (max-width: 767px) {
  .p-present__info {
    display: block;
    width: calc(670 / 750 * 100vw)
  }
}

.p-present__info::after {
  position: absolute;
  left: 0;
  right: 0;
  display: inline-block;
  width: 10px;
  height: 100%;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-present__info::after {
    content: '';
    width: 0.20833333333333334vw;
    max-width: 4px;
    height: 6.25vw;
    max-height: 120px;
    background-image: url(../img/present_line.webp)
  }

  @supports (background-image: url(../img/present_line.webp)) {
    .p-present__info::after {
      background-image: url(../img/present_line.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-present__info::after {
    background-image: url(../img/present_line@2x.webp)
  }

  @supports (background-image: url(../img/present_line@2x.webp)) {
    .p-present__info::after {
      background-image: url(../img/present_line@2x.webp)
    }
  }
}

.p-present__info-btn {
  position: relative;
  display: block;
  background-color: #f16f0f;

  filter: drop-shadow(0px 6px 0px #a94e0b)
}

@media (min-width: 768px) {
  .p-present__info-btn {
    width: 22.916666666666664vw;
    max-width: 440px;
    height: 5.833333333333333vw;
    max-height: 112px;
    border-radius: 10px;
    margin: 0 auto 20px;
    line-height: min(5.833333333333333vw, 112px);
    transition: .3s
  }
}

@media (max-width: 767px) {
  .p-present__info-btn {
    width: calc(670 / 750 * 100vw);
    height: calc(170 / 750 * 100vw);
    margin: 0 auto calc(30 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw);
    line-height: calc(170 / 750 * 100vw)
  }
}

.p-present__info-btn:hover {
  background-color: #c85b0d;
  filter: drop-shadow(0px 0px 0px #a94e0b);
  transform: translateY(6px)
}

.p-present__info-btn a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  font-weight: bold
}

@media (min-width: 768px) {
  .p-present__info-btn a {
    font-size: min(1.1458333333333333vw, 22px)
  }
}

@media (max-width: 767px) {
  .p-present__info-btn a {
    font-size: calc(32 / 750 * 100vw)
  }
}

.p-present__info-btn a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1rem;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-present__info-btn a::after {
    width: 0.625vw;
    max-width: 12px;
    height: 0.8854166666666666vw;
    max-height: 17px;
    background-image: url(../img/btn_arrow.webp)
  }

  @supports (background-image: url(../img/btn_arrow.webp)) {
    .p-present__info-btn a::after {
      background-image: url(../img/btn_arrow.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-present__info-btn a::after {
    background-image: url(../img/btn_arrow@2x.webp)
  }

  @supports (background-image: url(../img/btn_arrow@2x.webp)) {
    .p-present__info-btn a::after {
      background-image: url(../img/btn_arrow@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-present__info-btn a::after {
    width: calc(18 / 750 * 100vw);
    height: calc(26 / 750 * 100vw);
    background-image: url(../img/btn_arrow@2x.webp)
  }

  @supports (background-image: url(../img/btn_arrow@sp.webp)) {
    .p-present__info-btn a::after {
      background-image: url(../img/btn_arrow@sp.webp)
    }
  }
}

.p-present__info-btn a span {
  font-size: 130%
}

.p-present__visitsimple-btn {
  position: relative;
  display: block;
  background-color: #46b7be;
  filter: drop-shadow(0px 6px 0px #308d93)
}

@media (min-width: 768px) {
  .p-present__visitsimple-btn {
    width: 22.916666666666664vw;
    max-width: 440px;
    height: 5.833333333333333vw;
    max-height: 112px;
    border-radius: 10px;
    line-height: min(5.833333333333333vw, 112px);
    transition: .3s
  }
}

@media (max-width: 767px) {
  .p-present__visitsimple-btn {
    width: calc(670 / 750 * 100vw);
    height: calc(170 / 750 * 100vw);
    margin: 0 0 calc(30 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw);
    line-height: calc(170 / 750 * 100vw)
  }
}

.p-present__visitsimple-btn:hover {
  background-color: #308d93;
  filter: drop-shadow(0px 0px 0px #1d6367);
  transform: translateY(6px)
}

.p-present__visitsimple-btn a {
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  color: #fff;
  font-weight: bold
}

@media (min-width: 768px) {
  .p-present__visitsimple-btn a {
    font-size: min(1.1458333333333333vw, 22px)
  }
}

@media (max-width: 767px) {
  .p-present__visitsimple-btn a {
    font-size: calc(32 / 750 * 100vw)
  }
}

.p-present__visitsimple-btn a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1rem;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-present__visitsimple-btn a::after {
    width: 0.625vw;
    max-width: 12px;
    height: 0.8854166666666666vw;
    max-height: 17px;
    background-image: url(../img/btn_arrow.webp)
  }

  @supports (background-image: url(../img/btn_arrow.webp)) {
    .p-present__visitsimple-btn a::after {
      background-image: url(../img/btn_arrow.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-present__visitsimple-btn a::after {
    background-image: url(../img/btn_arrow@2x.webp)
  }

  @supports (background-image: url(../img/btn_arrow@2x.webp)) {
    .p-present__visitsimple-btn a::after {
      background-image: url(../img/btn_arrow@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-present__visitsimple-btn a::after {
    width: calc(18 / 750 * 100vw);
    height: calc(26 / 750 * 100vw);
    background-image: url(../img/btn_arrow@2x.webp)
  }

  @supports (background-image: url(../img/btn_arrow@sp.webp)) {
    .p-present__visitsimple-btn a::after {
      background-image: url(../img/btn_arrow@sp.webp)
    }
  }
}

.p-present__visitsimple-btn a span {
  font-size: 130%
}


.p-present__info-tel {
  display: block;
  background-color: #fff
}

@media (min-width: 768px) {
  .p-present__info-tel {
    width: 22.916666666666664vw;
    max-width: 440px;
    height: 5.833333333333333vw;
    max-height: 112px;
    padding: 10px 0;
    border-radius: 10px
  }
}

@media (max-width: 767px) {
  .p-present__info-tel {
    width: 100%;
    height: calc(200 / 750 * 100vw);
    padding: calc(23 / 750 * 100vw) 0;
    border-radius: calc(8 / 750 * 100vw)
  }
}

.p-present__info-tel a {
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-present__info-tel a {
    width: 17.083333333333332vw;
    max-width: 328px;
    height: 4.583333333333333vw;
    max-height: 88px;
    background-image: url(../img/btn_tel.webp)
  }

  @supports (background-image: url(../img/btn_tel.webp)) {
    .p-present__info-tel a {
      background-image: url(../img/btn_tel.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-present__info-tel a {
    background-image: url(../img/btn_tel@2x.webp)
  }

  @supports (background-image: url(../img/btn_tel@2x.webp)) {
    .p-present__info-tel a {
      background-image: url(../img/btn_tel@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-present__info-tel a {
    width: calc(600 / 750 * 100vw);
    height: calc(153 / 750 * 100vw);
    background-image: url(../img/btn_tel@sp.webp)
  }

  @supports (background-image: url(../img/btn_tel@sp.webp)) {
    .p-present__info-tel a {
      background-image: url(../img/btn_tel@sp.webp)
    }
  }
}

.p-present__banner {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    margin-bottom: 20px;
    margin-left: 10px;
    margin-right: 10px;
}

.p-present__banner img {
    max-width: 600px;
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 767px) {
  .p-present__banner {
  margin:calc(20 / 750 * 100vw) auto 0;
  }
.p-present__banner img {
    max-width: calc(670 / 750 * 100vw);
  }
}

.l-footer {
  display: block;
  width: 100%;
  margin: auto;
  background-color: #fff
}

@media (min-width: 768px) {
  .l-footer {
    padding-top: 40px;
    padding-bottom: 8vw
  }
}

@media (max-width: 767px) {
  .l-footer {
    padding: calc(50 / 750 * 100vw) calc(20 / 750 * 100vw) calc(240 / 750 * 100vw)
  }
}

.l-footer__body {
  width: 100%
}

@media (min-width: 768px) {
  .l-footer__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    margin-bottom: 20px
  }
}

@media (max-width: 767px) {
  .l-footer__body {
    display: block;
    margin-bottom: calc(20 / 750 * 100vw)
  }
}

.l-footer__body-logo {
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url(../img/logo.webp)
}

@supports (background-image: url(../img/logo.webp)) {
  .l-footer__body-logo {
    background-image: url(../img/logo.webp)
  }
}

@media (min-width: 768px) {
  .l-footer__body-logo {
    width: 13.4375vw;
    max-width: 258px;
    height: 2.083333333333333vw;
    max-height: 40px;
    margin-right: 2rem
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .l-footer__body-logo {
    background-image: url(../img/logo@2x.webp)
  }

  @supports (background-image: url(../img/logo@2x.webp)) {
    .l-footer__body-logo {
      background-image: url(../img/logo@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .l-footer__body-logo {
    width: calc(459 / 750 * 100vw);
    height: calc(72 / 750 * 100vw);
    margin: 0 auto calc(30 / 750 * 100vw)
  }
}

.l-footer__body-txt {
  display: block;
  line-height: 1.52
}

@media (min-width: 768px) {
  .l-footer__body-txt {
    font-size: min(0.7291666666666666vw, 14px)
  }
}

@media (max-width: 767px) {
  .l-footer__body-txt {
    font-size: calc(24 / 750 * 100vw);
    letter-spacing: 0.0em
  }
}

.l-footer__body-txt .name {
  display: block;
  font-weight: bold
}

.l-footer__copy {
  display: block;
  margin: auto;
  padding: 1rem 0
}

.l-footer__copy>p {
  text-align: center
}

@media (min-width: 768px) {
  .l-footer__copy>p {
    font-size: min(0.7291666666666666vw, 14px)
  }
}

@media (max-width: 767px) {
  .l-footer__copy>p {
    font-size: calc(22 / 750 * 100vw)
  }
}

.p-floating {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  margin: auto;
  background-color: rgba(252, 234, 207, 0.8);
  text-align: center;
  transform: translate3d(0, 100%, 0);
  transition: 0.5s ease-in-out;
  box-shadow: 0px -6px 16px -6px rgba(0, 0, 0, 0.3);
  opacity: 0;
  z-index: 9
}

.p-floating.active {
  transform: translate3d(0, 0, 0);
  opacity: 1
}

.p-floating__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -moz-box-align: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
  margin: auto
}

@media (min-width: 768px) {
  .p-floating__body {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center
  }
}

@media (max-width: 767px) {
  .p-floating__body {
    -webkit-justify-content: center;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    padding-right: calc(20 / 750 * 100vw)
  }
}

.p-floating__body-top {
  display: block;
  text-align: center
}

@media (min-width: 768px) {
  .p-floating__body-top {
    font-size: min(1.3333333333333335vw, 16px)
  }
}

@media (max-width: 767px) {
  .p-floating__body-top {
    font-size: calc(24 / 750 * 100vw);
    line-height: 1.32
  }
}

.p-floating__img {
  display: block
}

@media (min-width: 768px) {
  .p-floating__img {
    width: 19.333333333333332vw;
    max-width: 232px;
    margin-right: min(1.6666666666666667vw, 20px)
  }
}

@media (max-width: 767px) {
  .p-floating__img {
    width: calc(278 / 750 * 100vw)
  }
}

.p-floating__txt {
  position: relative;
  display: block;
  text-align: center
}

@media (max-width: 767px) {
  .p-floating__txt {
    top: calc(-6 / 750 * 100vw)
  }
}

.p-floating__btn {
  position: relative;
  display: block;
  background-color: #f16f0f;
  text-align: center;
  color: #fff;
  font-weight: bold;
  cursor: pointer
}

@media (min-width: 768px) {
  .p-floating__btn {
    width: 29.166666666666668vw;
    max-width: 350px;
    height: 4.166666666666666vw;
    max-height: 50px;
    border-radius: 8px;
    filter: drop-shadow(0px 6px 0px #a94e0b);
    transition: .3s;
    font-size: min(1.3333333333333335vw, 16px);
    line-height: min(4.166666666666666vw, 50px)
  }
}

@media (max-width: 767px) {
  .p-floating__btn {
    width: calc(420 / 750 * 100vw);
    height: calc(80 / 750 * 100vw);
    border-radius: calc(8 / 750 * 100vw);
    font-size: calc(24 / 750 * 100vw);
    line-height: calc(80 / 750 * 100vw);
    filter: drop-shadow(0px 6px 0px #a94e0b)
  }
}

@media (min-width: 768px) {
  .p-floating__btn:hover {
    background-color: #c85b0d;
    filter: drop-shadow(0px 0px 0px #a94e0b);
    transform: translateY(6px)
  }
}

.p-floating__btn::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain
}

@media (min-width: 768px) {
  .p-floating__btn::after {
    right: 1rem;
    width: 1vw;
    max-width: 12px;
    height: 1.4166666666666665vw;
    max-height: 17px;
    background-image: url(../img/btn_arrow.webp)
  }

  @supports (background-image: url(../img/btn_arrow.webp)) {
    .p-floating__btn::after {
      background-image: url(../img/btn_arrow.webp)
    }
  }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 2),
(min-width: 768px) and (min-resolution: 2dppx) {
  .p-floating__btn::after {
    background-image: url(../img/btn_arrow@2x.webp)
  }

  @supports (background-image: url(../img/btn_arrow@2x.webp)) {
    .p-floating__btn::after {
      background-image: url(../img/btn_arrow@2x.webp)
    }
  }
}

@media (max-width: 767px) {
  .p-floating__btn::after {
    right: calc(16 / 750 * 100vw);
    width: calc(12 / 750 * 100vw);
    height: calc(17 / 750 * 100vw);
    background-image: url(../img/btn_arrow@2x.webp)
  }

  @supports (background-image: url(../img/btn_arrow@sp.webp)) {
    .p-floating__btn::after {
      background-image: url(../img/btn_arrow@sp.webp)
    }
  }
}

.modal-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0, 0, 0, 0.78);
  padding: 40px min(1.7857142857142856vw, 20px);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
  z-index: 10
}

.modal-container:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%
}

.modal-container.active {
  opacity: 1;
  visibility: visible
}

.modal-body {
  top: 0;
  bottom: 0
}

.modal-close {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  top: -3rem;
  right: 0;
  width: 3rem;
  height: 3rem;
  font-size: 3rem;
  color: #fff;
  cursor: pointer
}

.modal-content {
  background: #fff;
  text-align: left;
  padding: 2vw
}

.no_scroll {
  overflow: hidden
}

@media screen and (min-width: 769px) {
  .pc-in {
    display: block;
  }

  .sp-in {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .pc-in {
    display: none;
  }

  .sp-in {
    display: block;
  }
}


@media (min-width: 768px) {
  .embrem-contents-pc {
    position: absolute;
    top: calc(447 / 1920* 100vw);
    bottom: 0;
    display: block;
    margin: auto;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: 0;
    right: calc(115 / 1920* 100vw);
    width: calc(262 / 1920* 100vw);
    max-width: 262px;
    height: calc(239 / 1920* 100vw);
    max-height: 239px;
    background-image: url(../img/emblem_pc.webp);
  }
}

@media screen and (max-width: 768px) {
  .embrem-contents-sp {
    position: relative;
  }

  .embrem-img {
    position: absolute;
    width: calc(251/750 * 100vw);
    height: auto;
    position: absolute;
    right: calc(17/750 * 100vw);
    top: calc(350/750 * 100vw);
  }

  .embrem-txt {
    position: absolute;
    top: calc(600/750 * 100vw);
    font-size: calc(20/750 * 100vw);
    line-height: 1.3em;
    color: #fff;
    width: calc(714/750 * 100vw);
    right: 0;
    left: 0;
    margin: 0 auto;
    font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  }
}

@media screen and (max-width: 768px) {
  .p-mv__bottom {
    padding: calc(220 / 750 * 100vw) 0 calc(165 / 750 * 100vw);
  }
}

@media screen and (min-width: 769px) {
  .embrem-contents-sp {
    display: none;
  }
}



@media screen and (max-width: 768px) {
  .p-search {
    bottom: calc(-270 / 750 * 100vw);
  }
}

@media screen and (min-width: 769px) {
  .modal-body {
    max-height: 410px;
    height: calc(410/1920 * 100vw);
  }
}

@media screen and (max-width: 768px) {
  .modal-body {
    max-height: 707px;
    height: calc(707/750 * 100vw);
  }
}

@media screen and (min-width: 769px) {
  .p-search-ttl {
    position: absolute;
    left: calc(7/1920 * 100vw);
    top: calc(-52/1920 * 100vw);
    font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #365e95;
    font-size: calc(18/1920 * 100vw);
    font-weight: bold;
  }
}

@media screen and (max-width: 768px) {
  .p-search-ttl {
    position: absolute;
    top: calc(-58/750 * 100vw);
    font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: #365e95;
    font-size: calc(28/750 * 100vw);
    font-weight: bold;
    width: 100%;
    text-align: center;

  }
}

.p-search__head {
  position: relative;
}

@media screen and (max-width: 768px) {
  .p-reason__body-img[data-num="03"] {
    width: calc(730 / 750* 100vw);
  }
}


@media screen and (max-width: 768px) {
  .modal-body {
    bottom: 0;
  }
}

.p-series {
  padding-bottom: 0;
}

.award {
  width: calc(1000 / 1920* 100vw);
  max-width: 1000px;
  padding: calc(80/1920 * 100vw) calc(32/1920 * 100vw);
  margin: 0 auto;
  border: #365e95 2px solid;
  border-radius: calc(8/1920 * 100vw);
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(80/1920 * 100vw);
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .award {
    flex-direction: column;
    width: calc(590 / 750* 100vw);
    max-width: 590px;
    padding: calc(40/750 * 100vw) calc(32/750 * 100vw) calc(205/750 * 100vw) calc(32/750 * 100vw);
    margin: 0 auto;
    border: #365e95 2px solid;
    border-radius: calc(8/750 * 100vw);
    display: flex;
    justify-content: space-between;
    margin-bottom: calc(80/750 * 100vw);
  }
}

.award-img {
  width: calc(216 / 1920* 100vw);
  max-width: 216px;
  height: calc(194 / 1920* 100vw);
  max-height: 194px;
}

@media screen and (max-width: 768px) {
  .award-img {
    width: calc(300 / 750* 100vw);
    max-width: 300px;
    height: auto;
    margin: 0 auto;
    max-height: inherit;
    margin-bottom: calc(24/750 * 100vw);
  }

  .award-img img {
    width: 100%;
  }
}

.award-txt {
  width: calc(678 / 1920* 100vw);
  max-width: 678px;
  height: calc(214 / 1920* 100vw);
  max-height: 214px;
}

@media screen and (max-width: 768px) {
  .award-txt {
    width: 100%;
    height: calc(214 / 750* 100vw);
    max-height: 214px;
  }
}

.award-sttl {
  font-size: calc(20/1920 * 100vw);
  margin-bottom: calc(15/1920 * 100vw);
  color: #365e95;
  line-height: 1.3em;
}

@media screen and (max-width: 768px) {
  .award-sttl {
    font-size: calc(24/750 * 100vw);
    margin-bottom: calc(15/750 * 100vw);
    color: #365e95;
    line-height: 1.3em;
    text-align: center;
  }
}

.award-ttl {
  font-size: calc(20/1920 * 100vw);
  color: #365e95;
  margin-bottom: calc(32/1920 * 100vw);
  line-height: 1.3em;
  letter-spacing: 0.08em;
}

@media screen and (max-width: 768px) {
  .award-ttl {
    font-size: calc(24/750 * 100vw);
    color: #365e95;
    margin-bottom: calc(32/750 * 100vw);
    line-height: 1.3em;
    letter-spacing: 0.08em;
    text-align: center;
  }
}

.award-Lttl {
  font-size: calc(32/1920 * 100vw);
  font-weight: 700;
  color: #365e95;
}

@media screen and (max-width: 768px) {
  .award-Lttl {
    font-size: calc(28/750 * 100vw);
    font-weight: 700;
    color: #365e95;
  }
}

.award-stxt {
  font-size: calc(18/1920 * 100vw);
  font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1.5em;
}

@media screen and (max-width: 768px) {
  .award-stxt {
    font-size: calc(24/750 * 100vw);
    width: 100%;
    text-align: left;
  }
}

.txt-bold {
  font-weight: 700;
}

.txt-blue {
  color: #365e95;

}

@media screen and (min-width: 769px) {
  .p-mv-notes {
    color: #fff;
    font-size: calc(14/1920 * 100vw);
    position: absolute;
    bottom: calc(10/1920 * 100vw);
    font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    bottom: calc(10/1920 * 100vw);
    text-align: center;
    right: 0;
    left: 0;
    margin: 0 auto;
  }
}

@media screen and (max-width: 768px) {
  .p-mv-notes {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .modal-maga-img {
    width: calc(572 / 1920* 100vw);
    max-width: 572px;
    height: calc(177 / 1920* 100vw);
    max-height: 177px;
    margin-bottom: calc(23 / 1920* 100vw);
  }
}

@media screen and (max-width: 768px) {
  .modal-maga-img {
    width: calc(622 / 750* 100vw);
    max-width: 622px;
    height: calc(189 / 750* 100vw);
    max-height: 189px;
    margin-bottom: calc(64 / 750* 100vw);
  }
}

@media screen and (max-width: 768px) {
  .p-mv__bottom-body>p {
    font-size: calc(26 / 750* 100vw);
  }
}

@media screen and (min-width: 769px) {
  .p-mv__bottomg {
    width: calc(568 / 1920* 100vw);
    max-width: 568px;
    height: calc(441 / 1920* 100vw);
    max-height: 441px;
  }
}

@media screen and (max-width: 768px) {
  .p-mv__bottom-body {
    width: calc(608 / 750* 100vw);
    max-width: 608px;
    height: calc(727 / 750* 100vw);
    max-height: 727px;
  }
}


.p-reason__majikami-annotation {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  margin: auto;
  line-height: 1.2;
  margin-top: .5em;
}

@media (min-width: 768px) {
  .p-reason__majikami-annotation {
    width: 57.291666666666664vw;
    max-width: 1100px;
  }
}

@media (max-width: 767px) {
  .p-reason__majikami-annotation {
    width: calc(590 / 750 * 100vw);
    margin-bottom: 2.5em;
  }
}

.p-reason__majikami-annotation>p .min {
  display: block;
  font-size: 70%;
}


.reason__majikami-body {
  display: block;
  width: 1200px;
  margin: auto;
  padding: 60px 100px;
  background-color: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .reason__majikami-body {
    width: calc(630/750 * 100vw);
    padding: calc(40 / 750* 100vw) 0;
    border-radius: calc(10/750 * 100vw);
  }
}

.reason__majikami-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
      justify-content: space-between;
  width: 100%;
  margin: 0 auto 4rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-head {
    display: block;
    margin-bottom: 2rem;
  }
}

.reason__majikami-head-img {
  display: block;
  flex-shrink: 0;
  width: 400px;
}
@media screen and (min-width: 768px) {
  .reason__majikami-head-img {
   margin-top: 7px;
  }
}
@media screen and (max-width: 767px) {
  .reason__majikami-head-img {
    width: 100%;
    margin: 0 auto 1.5rem;
    padding-left: calc(20 / 750* 100vw);
    padding-right: calc(10 / 750* 100vw);
  }
}

.reason__majikami-head-img-ttl {
  width: 100%;
  background-color: #00add4;
  color: #fff;
  text-align: center;
  padding: .1rem;
  border-radius: .5rem;
  line-height: 1.4;
  font-weight: bold;
}
.reason__majikami-head-img-ttl span.sup {
  font-size: 70%;
}

.reason__majikami-head-img span.note {
  display: block;
  color: #00add4;
  margin-top: .5rem;
  font-size: 70%;
}

.reason__majikami-head-body {
  display: block;
  flex-shrink: 0;
  width: 570px;
}

@media screen and (max-width: 767px) {
  .reason__majikami-head-body {
    width: 100%;
    padding: 0 calc(40 / 750* 100vw);
  }
}

.reason__majikami-head-ttl {
  display: block;
  margin-bottom: 1rem;
  font-size: 1.4rem;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .reason__majikami-head-ttl {
    font-size: calc(40/750 * 100vw);
    text-align: center;
  }
}
.reason__majikami-head-ttl span.sup {
  font-size: 70%;
}

@media screen and (min-width: 768px) {
  .reason__majikami-head-txt {
    line-height: 1.8;
  }
}

.reason__majikami-head-txt span.note {
  display: block;
  margin-top: 1rem;
  font-size: 80%;
}
.reason__majikami-head-txt span.sup {
  font-size: 70%;
}
.reason__majikami-head-txt span.ul {
  background: linear-gradient(to bottom, transparent 70%, #FFF57F 70%, #FFF57F 90%, transparent 90%);
}

.reason__majikami-open {
  position: relative;
  background-color: #D9D9D9;
  border-radius: 10px;
  text-align: center;
  line-height: 1;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .reason__majikami-open {
    width: 36.45833333333333vw;
    max-width: 700px;
    margin: 30px auto 5rem;
    padding: min(1.5625vw, 30px);
    font-size: min(1.1458333333333333vw, 22px);
  }
}

@media screen and (max-width: 767px) {
  .reason__majikami-open {
    display: block;
    width: 90%;
    margin: 2rem auto 3rem;
    padding: calc(40 / 750* 100vw) calc(40 / 750* 100vw) calc(40 / 750* 100vw) calc(10 / 750* 100vw);
  }
}

.reason__majikami-open::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  background-image: url(../img/reason_open_icon.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 768px) {
  .reason__majikami-open::after {
    right: min(1.5625vw, 30px);
    width: min(1.7187500000000002vw, 33px);
    height: min(1.4583333333333333vw, 28px);
  }
}
@media screen and (max-width: 767px) {
  .reason__majikami-open::after {
    right: calc(30/750 * 100vw);
    width: calc(33/750 * 100vw);
    height: calc(28/750 * 100vw);
  }
}

.reason__majikami-cta {
  width: 500px;
  margin: 3rem auto 0;
}
@media screen and (max-width: 767px) {
  .reason__majikami-cta {
    width: calc(540/750 * 100vw);
    margin-top: 1.5rem;
  }
}

.reason__majikami-cta .btn-wrap {
  width: 500px;
  height: 80px;
  padding: 0 30px;
  margin: 20px auto 0;
}
@media screen and (max-width: 767px) {
  .reason__majikami-cta .btn-wrap {
    width: calc(540/750 * 100vw);
    height: calc(100/750 * 100vw);
    padding: 0 calc(30/750 * 100vw);
    margin-top: calc(20/750 * 100vw);
  }
}

.reason__majikami-cta .btn-wrap:hover {
  opacity: .7;
}

.reason__majikami-box-wrap {
  display: block;
  width: 1000px;
  margin: 5rem auto 0;
}
@media screen and (max-width: 767px) {
  .reason__majikami-box-wrap {
    width: calc(630/750 * 100vw);
    margin-top: 3rem;
  }
}

.reason__majikami-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
      justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
    align-items: center;
    margin-bottom: 10px;
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .reason__majikami-box {
    display: block;
    width: 100%;
    margin: auto;
    padding: 0;
    margin-bottom: 1rem;
    border-radius: calc(10/750 * 100vw);
  }
}

.reason__majikami-box-img {
  position: relative;
  width: 320px;
}
@media screen and (max-width: 767px) {
  .reason__majikami-box-img {
    width: 100%;
  }
}

.reason__majikami-box-img .img-caption {
  position: absolute;
  bottom: .5rem;
  right: .5rem;
  font-size: 11px;
  text-align: right;
  color: #fff;
  line-height: 1.2;
  text-shadow: 1px 1px 2px #000000, -1px 1px 2px #000000, 1px -1px 2px #000000, -1px -1px 2px #000000, 1px 0 2px #000000, 0 1px 2px #000000, -1px 0 2px #000000, 0 -1px 2px #000;
}

.reason__majikami-box-body {
  display: block;
  width: 620px;
  padding: 0 1rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-box-body {
    width: 100%;
    padding: 1rem 1rem 1.5rem;
  }
}

.reason__majikami-box-ttl {
  display: block;
  margin-bottom: 1rem;
  font-weight: bold;
  color: #8D7027;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-box-ttl {
    text-align: center;
  }
}

.reason__majikami-box-txt {
  font-size: 95%;
  text-align: justify;
}

.reason__majikami-modal-wrapper {
  display: none; /* 初期状態は非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  overflow-y: auto;
}

.reason__majikami-modal {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  padding: 30px 40px;
  max-height: 73%;
  overflow-y: auto;
  border-radius: 5px;
  width: 800px;
  overflow-x: hidden;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal {
    width: 90%;
    padding: calc(30/750 * 100vw) calc(40/750 * 100vw);
    border-radius: calc(10/750 * 100vw);
  }
}

.reason__majikami-modal-ttl {
  display: block;
  margin-bottom: 1rem;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
}

.reason__majikami-modal-txt {
  display: block;
  margin-bottom: 2rem;
  text-align: center;
}

.reason__majikami-accordion-wrap {
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 10px;
}

.reason__majikami-accordion {
  position: relative;
  cursor: pointer;
  padding: 1rem 2rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-accordion {
    padding-left: calc(30/750 * 100vw);
    padding-right: calc(50/750 * 100vw);
  }
}

.reason__majikami-accordion::before,
.reason__majikami-accordion::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 2rem;
  display: block;
  width: 20px;
  height: 1px;
  margin: auto;
  background-color: #333;
  transition: .3s;
}
@media screen and (max-width: 767px) {
  .reason__majikami-accordion::before,
  .reason__majikami-accordion::after {
    width: calc(30/750 * 100vw);
    right: calc(20/750 * 100vw);
  }
}

.reason__majikami-accordion::after {
  transform: rotate(90deg);
}

.reason__majikami-accordion.open::after {
  transform: rotate(180deg);
}

.reason__majikami-accordion-head {
  font-weight: bold;
}

.reason__majikami-accordion-inner {
  display: none;
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-accordion-inner {
    padding: 0 calc(30/750 * 100vw);
  }
}

.reason__majikami-accordion-inner-body {
  display: block;
  border-top: solid 1px #333;
  padding: 2rem 0;
}

.reason__majikami-accordion-inner-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
    -ms-flex-align: center;
      align-items: center;
  -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
      justify-content: space-between;
  padding: 0 1rem;
}
@media screen and (max-width: 767px) {
  .reason-accordion-inner-flex {
    display: block;
    padding: 0;
  }
}

.reason__majikami-accordion-inner-flex picture {
  display: block;
  width: 300px;
}
@media screen and (max-width: 767px) {
  .reason__majikami-accordion-inner-flex picture {
    width: 100%;
    margin: 0 auto 1rem;
  }
}

.reason__majikami-accordion-inner-img {
  display: block;
  width: 340px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .reason__majikami-accordion-inner-img {
    width: 100%;
  }
}

.reason__majikami-accordion-inner-body-txt {
  display: block;
  margin-top: 1rem;
  font-size: 90%;
}

.reason__majikami-modal-body {
  display: block;
  margin-bottom: 2.5rem;
}

.reason__majikami-modal-body-line {
  position: relative;
  display: inline-block;
  background-color: #fff;
  border-bottom: solid 2px #45AA97;
  margin: 0 auto 2rem;
  padding: 0rem 0 1rem;
  width: 100%;
  text-align: center;
}
.reason__majikami-modal-body-line::before,
.reason__majikami-modal-body-line::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.reason__majikami-modal-body-line::before {
    border: solid 24px transparent;
    border-top: solid 24px #45AA97;
}
.reason__majikami-modal-body-line::after {
    border: solid 28px transparent;
    border-top: solid 28px #fff;
    margin-top: -7px;
}

.reason__majikami-modal-body-ttl {
  display: block;
  margin-bottom: 1rem;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal-body-ttl {
    font-size: 1.2rem;
  }
}

.reason__majikami-modal-body picture {
  display: block;
  width: 150px;
  margin: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal-body picture {
    width: 30%;
  }
}

.reason__majikami-modal-case {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: space-between;
    -ms-flex-pack: space-between;
      justify-content: space-between;
  width: 90%;
  margin: 0 auto 2rem;
  padding: 2rem;
  border-radius: 10px;
  border: solid 1px #ccc;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal-case {
    display: block;
    position: relative;
    width: 100%;
    border-radius: calc(10/750 * 100vw);
    padding: 2rem calc(30/750 * 100vw);
  }
}

.reason__majikami-modal-case-ttl {
  display: block;
  flex-shrink: 0;
  width: 100%;
  margin-bottom: 1rem;
  text-align: center;
  font-weight: bold;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal-case-ttl {
    font-size: 1.2rem;
  }
}

.reason__majikami-modal-case-head {
  display: block;
  flex-shrink: 0;
  width: 60%;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal-case-head {
    position: relative;
    width: 100%;
    margin-bottom: 0;
  }
}

.reason__majikami-modal-case-head-ttl {
  display: block;
  margin-bottom: 1.5rem;
  line-height: 1.4;
  font-weight: bold;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal-case-head-ttl {
    margin-bottom: 1rem;
    font-size: calc(28/750 * 100vw);
  }
}

.reason__majikami-modal-case-head-name {
  font-size: 80%;
  text-decoration: underline;
}

.reason__majikami-modal-case picture {
  display: block;
  flex-shrink: 0;
  width: 35%;
  padding-right: 5%;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal-case picture {
    position: absolute;
    top: calc(180/750 * 100vw);
    right: calc(20/750 * 100vw);
    width: 30%;
    padding: 0;
    z-index: -1;
  }
}

.reason__majikami-modal-case-liner {
  display: block;
  font-weight: bold;
  font-size: 110%;
}

.reason__majikami-modal-case-txt {
  display: block;
  flex-shrink: 0;
  margin-top: 1rem;
  width: 100%;
  font-size: 80%;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .reason__majikami-modal-case-txt {
    margin-top: 1rem;
    font-size: 90%;
  }
}

.close-button {
  position: relative;
  width: 70%;
  margin: 0 auto;
  padding: 1rem;
  background-color: #D9D9D9;
  border-radius: 10px;
  text-align: center;
  line-height: 1;
  cursor: pointer;
}

body.modal-open {
  overflow: hidden;
}

.reason-video {
  width: 57.291666666666664vw;
  max-width: 1100px;
  aspect-ratio: 16 / 9;
  height: 32.239583333333336vw;
  max-height: 619px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .reason-video {
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
  }
}

.reason-video-ttl {
  display: block;
  margin-bottom: 1rem;
  text-align: center;
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .reason-video-ttl {
   font-size: calc(28/750 * 100vw);
  }
}



/*------------------------------------------------------------------
floating02
------------------------------------------------------------------*/
.floating02-wrap {
  width: 100%;
  height: 80px;
  margin: 0 auto;
  position: fixed;
  background: #fff;
  opacity: 0;
  display: none;
  top: 0px;
  -webkit-box-shadow: 3px 0px 9px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 3px 0px 9px 0px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767px) {
  .floating02-wrap {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}

.floating02-inner {
  width: 1200px;
  height: 80px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .floating02-inner {
    width: 100%;
    height: calc(90/750 * 100vw);
    padding: 0 0 0 calc(20/750 * 100vw);
  }
}

.top-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 80px;
    z-index: 5000;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .top-container {
    height: calc(90/750 * 100vw);
  }
}
.top-container .logo {
  width: 214px;
  font-size: 0;
  z-index: 10;
}
@media screen and (max-width: 767px) {
  .top-container .logo {
        width: calc(306 / 750 * 100vw);
        height: calc(48 / 750 * 100vw);
  }
}

.btn-list {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 80px;
}
@media screen and (max-width: 767px) {
  .btn-list {
    display: none;
  }
}

.btn-list-item01 {
  width: 240px;
  margin-right: 10px;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.btn-list-item01:hover {
  opacity: 0.8;
}

.btn-list-item02 {
  width: 250px;
}


@-webkit-keyframes Slideup02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes Slideup02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

.floating02-wrap.show {
  position: fixed;
  bottom: 0px;
  z-index: 9;
  -webkit-animation: Slideup02 0.5s ease-in-out forwards;
          animation: Slideup02 0.5s ease-in-out forwards;
  opacity: 1;
  display: block;
}

@media screen and (max-width: 767px) {
  .floating02-menu-btn {
    position: fixed;
    top: 0px;
    right: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: calc(90/750 * 100vw);
    width: calc(90/750 * 100vw);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 10;
    background-color: #f36e35;
  }
}

@media screen and (max-width: 767px) {
  .floating02-menu-btn span,
  .floating02-menu-btn span:before,
  .floating02-menu-btn span:after {
          transition: 0.2s;
    content: "";
    display: block;
    height: 2px;
    width: calc(50/750 * 100vw);
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
  }
}

@media screen and (max-width: 767px) {
  .floating02-menu-btn span:before {
    bottom: 8px;
  }
}

@media screen and (max-width: 767px) {
  .floating02-menu-btn span:after {
    top: 8px;
  }
}

@media (max-width: 767px) {
  .floating02-menu-btn.is-show span {
    background-color: #f36e35;
  }

  .floating02-menu-btn.is-show span::before {
    bottom: 0;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }

  .floating02-menu-btn.is-show span::after {
    top: 0;
        transition: 0.2s;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }

  .floating02-menu-content ul {
    padding: calc(180/750 * 100vw) calc(20/750 * 100vw) 0;
    margin-bottom: calc(80/750 * 100vw);
  }

  .floating02-menu-content ul li {
    border-bottom:#d6d6d6 1px solid;
    list-style: none;
  }

  .floating02-menu-content ul li a {
    display: block;
    width: 100%;
    font-family: "Zen Old Mincho", serif;
    font-size: calc(32/750 * 100vw);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #000;
    font-weight: bold;
    text-decoration: none;
    padding: calc(30/750 * 100vw) 0 calc(30/750 * 100vw) calc(20/750 * 100vw);
    position: relative;
  }


  .floating02-menu-content {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    right: -100vw;
    z-index: 9;
    background-color: rgba(255, 255, 255, 0.95);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    /*アニメーション設定*/
  }

  .floating02-menu-content.is-show {
    right: 0;
    /*メニューを画面内へ*/
  }
}

@media screen and (min-width: 768px) {
.floating02-wrap.show{
  display: none;
}

}

#anc-reason, #anc-present{
    display: block;
    padding-top: 30px;
    margin-top: -30px;
}

@media screen and (max-width: 767px) {
#anc-reason, #anc-present{
    padding-top: calc(20/750 * 100vw);
    margin-top: calc(-20/750 * 100vw);
}
}

/* ============================
nav
===================================================*/
.main-content {
  position: relative;
  width: 100%;
  padding: 0;
  margin: 0 auto;
}

.super-nav {
  z-index: 10;
  width: 100%;
  background: #fff;
  z-index: 300;
box-shadow: 0px 0px 2px 2px rgba(72,72,72,0.1);
}
@media screen and (max-width: 767px) {
  .super-nav {
    padding-top: calc(100/750 * 100vw);
    z-index: 1;
  }
}

.super-nav.is-fixed {
  position: fixed;
  top: 0px;
  left: 0px;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
@media screen and (max-width: 767px) {
.super-nav.is-fixed {
  position: relative;
}
}

.nav-list{
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 767px) {
.nav-list{
  display: block;
}
}

.nav-list-item a {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  position: relative;
    font-family: "Zen Old Mincho", serif;
    font-weight: bold;
  color: #262626;
  padding: 10px 52px 12px 32px;
  line-height: 1.5;
  left: 1;
}

@media (min-width: 768px) {
.nav-list-item a:hover {
  opacity: 0.8;
  color: #365e95;
}
}

@media screen and (max-width: 767px) {
.nav-list-item a {
    font-size: calc(28/750 * 100vw);
  padding: calc(24/750 * 100vw) calc(42/750 * 100vw);
  width: 100%;
}
}


@media (min-width: 768px) {
.nav-list-item {
  border-right: #d6d6d6 1px solid;
    margin: 16px 0;
}
.nav-list-item a::after {
  content: '';
  display: block;
  position: absolute;
  transform: translate(0%, -50%);
    top: 50%;
    right: 14px;
    width: 17px;
    height: 12px;
    background-image: url(../img/living_flow_arrow.webp);
    background-size: 17px 12px;
  }
.nav-list-item:last-child {
    border-right: none;
  }
  @supports (background-image: url(../img/living_flow_arrow.webp)) {
    .nav-list-item a::after {
      background-image: url(../img/living_flow_arrow.webp)
    }
  }
}

@media screen and (max-width: 767px) {
.nav-list-item {
  border-bottom: #d6d6d6 1px solid;
    margin: 0;
}

.nav-list-item:last-child {
    border-bottom: none;
  }
  .nav-list-item a::after {
  content: '';
  display: block;
  position: absolute;
  transform: translate(0%, -50%);
    top: 50%;
    right: 5%;
    width: 17px;
    height: 12px;
    background-image: url(../img/living_flow_arrow.webp);
    background-size: 17px 12px;
  }
}
  .nav-list-item a span{
  font-family: "Zen Old Mincho", serif;
  color: #365e95;
  font-size: 130%;
  font-style: italic;
  font-weight: bold;
  line-height: 0;
  }

.super-nav.is-fixed .nav-list-item.is-active a {
  color: #365e95;
}
.super-nav.is-fixed .nav-list-item.is-active a:hover {
  opacity: 0.8;
}