@charset "UTF-8";
/* fade
------------------------------------------------------ */
@-webkit-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-moz-keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    display: none;
  }
}
@-moz-keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    display: none;
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    display: none;
  }
}
.key-fadein {
  animation: fade-in 1s;
  animation-fill-mode: both;
}

.key-fadeout {
  animation: fade-out 1s;
  animation-fill-mode: both;
}

/* 縦スクロールのアニメーション
------------------------------------------------------ */
@keyframes pathmove {
  0% {
    height: 0;
    top: 20px;
    opacity: 0;
  }
  30% {
    height: 45px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 90px;
    opacity: 0;
  }
}
/* ヘッダーのスライドアニメーション
------------------------------------------------------ */
@keyframes headerSlide {
  0% {
    top: -100%;
  }
  100% {
    top: 0;
  }
}
/*
 * html, body
---------------------------------------*/
body {
  opacity: 0;
  position: relative;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  overflow-wrap: break-word;
  transition: all 0.3s ease-in-out;
}

* {
  box-sizing: border-box;
}

header, footer {
  width: 100%;
}

a, .hover {
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  color: inherit;
}
a:after, .hover:after {
  transition: all 0.3s ease-in-out;
}
a:hover, .hover:hover {
  text-decoration: none;
  outline: 0;
  opacity: 0.8;
}
a.block, .hover.block {
  display: block;
}
a.line, .hover.line {
  display: inline;
}
a.link, .hover.link {
  text-decoration: underline;
}
a.link-arrow, .hover.link-arrow {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
a.link-arrow:after, .hover.link-arrow:after {
  content: "";
  display: block;
  line-height: 1;
  width: 0.5em;
  height: 1em;
  background-repeat: no-repeat;
  background-position: center center;
  margin-left: 0.6666666667em;
}
a.link-arrow.center, .hover.link-arrow.center {
  justify-content: center;
}
a img, a svg, .hover img, .hover svg {
  border: 0;
  transition: all 0.3s ease-in-out;
}
a img:hover, a svg:hover, .hover img:hover, .hover svg:hover {
  transition: all 0.3s ease-in-out;
}

ul, li {
  list-style: none;
  padding: 0;
  margin: 0;
}

ul.disc {
  margin-left: 1em;
}
ul.disc li {
  list-style: disc;
}

img, video {
  border: 0;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

video {
  width: 100%;
}

iframe {
  max-width: 100%;
}

picture {
  display: block;
}
picture img {
  width: inherit;
}

button {
  outline: none;
}

/*
 * SP-PC切り替え
---------------------------------------*/
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

@media print, screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

/*
 * SPのときだけTELリンクをつける
---------------------------------------*/
@media print, screen and (min-width: 769px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: text;
    text-decoration: none;
  }
}

/* FONT FACE
------------------------------------------------------ */
@font-face {
  font-family: "genkakugo";
  src: url("../fonts/SourceHanSans-VF.otf.woff2") format("woff2");
}
/* FONT
------------------------------------------------------ */
.font-material {
  font-family: "Material Icons";
  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;
  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;
  /* Support for IE. */
  font-feature-settings: "liga";
}

/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

.footer {
  color: #fff;
  background-color: #fff;
}
.footer .footer__info {
  text-align: center;
  padding: 10% 0 9%;
}
@media print, screen and (min-width: 769px) {
  .footer .footer__info {
    padding: 2.3125rem 0;
  }
}
@media screen and (max-width: 768px) {
  .footer .footer__logo {
    width: 66%;
    margin-left: auto;
    margin-right: auto;
  }
}
.footer .footer__address {
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
  color: #003784;
  margin-top: 10%;
}
@media print, screen and (min-width: 769px) {
  .footer .footer__address {
    margin-top: 1.25rem;
  }
}
.footer .footer__copy--wrapper {
  text-align: center;
  line-height: 1;
  background-color: #003784;
}
@media screen and (max-width: 768px) {
  .footer .footer__copy--wrapper {
    text-align: center;
    padding: 3.5% 0;
  }
}
@media print, screen and (min-width: 769px) {
  .footer .footer__copy--wrapper {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
}
.footer .footer__copy {
  font-size: 0.75rem;
  line-height: 1;
  color: #fff;
}

/* 固定ナビ */
.fixed-nav {
  position: fixed;
  right: 0;
  top: 114px;
  z-index: 10;
}
@-moz-document url-prefix() {
  .fixed-nav .fixed-nav__item {
    position: relative;
    left: 50%;
  }
}
.fixed-nav .fixed-nav__item a {
  font-family: "genkakugo", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  line-height: 0;
  font-weight: bold;
  letter-spacing: 0.1em;
  writing-mode: vertical-lr;
  color: #444;
  background-color: #FDD23E;
  border-radius: 10px 0 0 10px;
  padding: 1.125rem 1.5625rem;
}
.fixed-nav .fixed-nav__item .font-material {
  display: inline-block;
  transform: rotate(90deg);
  margin-bottom: 4px;
}

.l-header {
  position: fixed;
  left: 0;
  background-color: #fff;
  z-index: 999;
}
@media screen and (max-width: 768px) {
  .l-header .l-header__logo {
    width: 166px;
    margin-left: 17px;
  }
}
@media print, screen and (min-width: 769px) {
  .l-header .l-header__logo {
    width: 248px;
    margin-left: 1.875rem;
  }
}
.l-header .l-header__logo svg {
  width: 100%;
  fill: #fff;
}
.l-header .l-header__logo.page svg {
  fill: #30D9C2;
}
.l-header .header__tel {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-family: "genkakugo", sans-serif;
  font-size: 24px;
  font-size: 1.5rem;
  margin-left: auto;
  margin-right: 0rem;
}
@media print, screen and (min-width: 769px) {
  .l-header .header__tel {
    margin-right: 1.5rem;
  }
}
.l-header .header__tel .header__tel--icon {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1;
  border-radius: 50vw;
  color: #fff;
  background-color: #FDD23E;
  font-family: "Material Icons";
  padding: 0.8125rem;
  margin-right: 1rem;
}
.l-header .header__tel .header__tel__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-weight: bolder;
}
.l-header .header__tel .header__tel__item img {
  margin-right: 10px;
}
.l-header .header__tel .header__tel__text {
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: normal;
  text-align: center;
}

/* メニューアイコン */
.header__menubutton {
  display: block;
  background-color: #003784;
  position: relative;
  top: 0;
  z-index: 30;
  margin-left: auto;
  margin-right: 0;
  width: 4rem;
  height: 4rem;
  margin: 0;
}
@media print, screen and (min-width: 769px) {
  .header__menubutton {
    width: 5.5rem;
    height: 5.5rem;
  }
}
.header__menubutton.checked {
  background-color: #fff;
}
.header__menubutton.checked .memu__border {
  height: 5px;
  background-color: #003784;
}
.header__menubutton.checked .memu__border:nth-child(1) {
  top: 60%;
  left: 11%;
  width: 50%;
  transform: rotate(45deg);
}
.header__menubutton.checked .memu__border:nth-child(2) {
  top: 60%;
  left: 11%;
  width: 50%;
  transform: rotate(-45deg);
}
.header__menubutton.checked .memu__border:nth-child(3) {
  width: 0;
}
.header__menubutton.checked .hamburger__text {
  opacity: 0;
}
.header__menubutton .memu__border {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: 0.125rem;
  width: 1.875rem;
  border-radius: 50vw;
  background-color: #fff;
  will-change: transform;
  backface-visibility: hidden;
  transition: transform 0.3s 0s ease-out;
  backface-visibility: hidden;
}
@media print, screen and (min-width: 769px) {
  .header__menubutton .memu__border {
    width: 2.5rem;
  }
}
.header__menubutton .memu__border:nth-child(1) {
  top: 16px;
}
@media print, screen and (min-width: 769px) {
  .header__menubutton .memu__border:nth-child(1) {
    top: 23px;
  }
}
.header__menubutton .memu__border:nth-child(2) {
  top: 24px;
}
@media print, screen and (min-width: 769px) {
  .header__menubutton .memu__border:nth-child(2) {
    top: 33px;
  }
}
.header__menubutton .memu__border:nth-child(3) {
  top: 32px;
}
@media print, screen and (min-width: 769px) {
  .header__menubutton .memu__border:nth-child(3) {
    top: 43px;
  }
}
.header__menubutton .hamburger__text {
  font-family: "genkakugo", sans-serif;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
}
@media print, screen and (min-width: 769px) {
  .header__menubutton .hamburger__text {
    font-size: 14px;
    font-size: 0.875rem;
    bottom: 17px;
  }
}

/* ヘッダーメニュー */
.header__menu {
  position: fixed;
  top: 0;
  right: 0;
  width: 480px;
  max-width: 95%;
  height: 100vh;
  background-color: #fff;
  transform: translateX(100%);
  transition: transform 0.6s cubic-bezier(0.76, 0, 0.24, 1);
  z-index: 20;
}
.header__menu.active {
  transform: translateX(0%);
}
.header__menu .header__menu__inner {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 100%;
  padding-top: 33%;
  padding-bottom: 16%;
  overflow: auto;
}
.header__menu .header__nav {
  padding-left: 2rem;
  padding-right: 2rem;
}
.header__menu .header__nav__title {
  font-size: 32px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.08em;
  color: #003784;
}
.header__menu .header__nav__list {
  max-width: 313px;
  margin-top: 3.5rem;
  margin-left: auto;
  margin-right: auto;
}
.header__menu .header__nav__item a {
  display: block;
  font-size: 18px;
  line-height: 1.5;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.08em;
  border-bottom: 1px solid #E4E4E4;
  padding-bottom: 1.7777777778em;
  margin-bottom: 1.7777777778em;
}
.header__menu .header__nav__item a::before, .header__menu .header__nav__item a::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}
.header__menu .header__nav__item a::before {
  margin-bottom: calc(-4.5px + 0px);
}
.header__menu .header__nav__item a::after {
  margin-top: calc(-4.5px + 0px);
}
.header__menu .header__nav__item:last-child a {
  border-bottom: none;
}
.header__menu .product-cta {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-left: 1.4375rem;
  padding-right: 1.4375rem;
  margin-top: 4rem;
  margin-left: auto;
  margin-right: auto;
}
.header__menu .product-cta .product-cta__item {
  width: 50%;
  max-width: 8.875rem;
  text-align: center;
}
.header__menu .product-cta .product__name {
  margin-top: 1.5rem;
}
.header__menu .product-cta .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 69px;
  height: 32px;
  margin-top: 1rem;
  margin-left: auto;
  margin-right: auto;
}
.header__menu .product-cta .link-arrow {
  font-size: 12px;
  font-size: 0.75rem;
  color: #0065CC;
  justify-content: center;
  margin-top: 0.625rem;
}
.header__menu .menu__copylight {
  text-align: center;
}
.header__menu .menu__copylight small {
  font-size: 10px;
  font-size: 0.625rem;
  letter-spacing: -0.03em;
  color: #86868B;
}

.l-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
@media all and (-ms-high-contrast: none) {
  .l-wrapper {
    flex-direction: inherit;
  }
}

.l-main {
  position: relative;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .l-main {
    overflow: hidden;
  }
}
@media print, screen and (min-width: 769px) {
  .l-main {
    margin-top: 88px;
  }
}

.layout-width {
  width: 100%;
  max-width: 81.875rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0.9375rem;
}
@media print, screen and (min-width: 769px) {
  .layout-width .layout-width__inner {
    padding-left: 85px;
    padding-right: 85px;
  }
}

.content-width {
  width: 100%;
  max-width: 69.375rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0.9375rem;
}
@media screen and (max-width: 768px) {
  .content-width {
    padding-left: 4.2666666667%;
    padding-right: 4.2666666667%;
  }
}

/* フェード
------------------------------------------------------ */
.js-fade-in {
  opacity: 0;
  transition-property: transform, opacity;
  transition-duration: 2.5s;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
}
.js-fade-in.fade-outQuit {
  transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
}
.js-fade-in.fade-in-up {
  transform: translate3d(0, 50px, 0) !important;
}
.js-fade-in.fade-in-down {
  transform: translate3d(0, -100px, 0) !important;
}
.js-fade-in.fade-in-left {
  transform: translate3d(-500px, 0, 0) !important;
}
.js-fade-in.fade-in-right {
  transform: translate3d(500px, 0, 0) !important;
}
.js-fade-in.js-scroll-in {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

/* アコーディオン
------------------------------------------------------ */
.js-accordion-btn {
  cursor: pointer;
}

.js-accordion {
  max-height: 0;
  overflow: hidden;
  transition: 0.2s ease max-height;
  padding-top: 0;
}

.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50vw;
}
.btn:after {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5625em;
  background-repeat: no-repeat;
  background-position: center center;
  margin-left: 0.5rem;
}

/*
 * flex-boxのitem幅
---------------------------------------*/
/*
 * flex-box
---------------------------------------*/
.flex {
  display: flex;
}
.flex .flex_item-col1 {
  width: 6.3333333333%;
}
.flex .flex_item-col2 {
  width: 14.6666666667%;
}
.flex .flex_item-col3 {
  width: 23%;
}
.flex .flex_item-col4 {
  width: 31.3333333333%;
}
.flex .flex_item-col5 {
  width: 39.6666666667%;
}
.flex .flex_item-col6 {
  width: 48%;
}
.flex .flex_item-col7 {
  width: 56.3333333333%;
}
.flex .flex_item-col8 {
  width: 64.6666666667%;
}
.flex .flex_item-col9 {
  width: 73%;
}
.flex .flex_item-col10 {
  width: 81.3333333333%;
}
.flex .flex_item-col11 {
  width: 89.6666666667%;
}
.flex .flex_item-col12 {
  width: 98%;
}
@media screen and (max-width: 768px) {
  .flex .flex_item-sp-col1 {
    width: 6.3333333333%;
  }
  .flex .flex_item-sp-col2 {
    width: 14.6666666667%;
  }
  .flex .flex_item-sp-col3 {
    width: 23%;
  }
  .flex .flex_item-sp-col4 {
    width: 31.3333333333%;
  }
  .flex .flex_item-sp-col5 {
    width: 39.6666666667%;
  }
  .flex .flex_item-sp-col6 {
    width: 48%;
  }
  .flex .flex_item-sp-col7 {
    width: 56.3333333333%;
  }
  .flex .flex_item-sp-col8 {
    width: 64.6666666667%;
  }
  .flex .flex_item-sp-col9 {
    width: 73%;
  }
  .flex .flex_item-sp-col10 {
    width: 81.3333333333%;
  }
  .flex .flex_item-sp-col11 {
    width: 89.6666666667%;
  }
  .flex .flex_item-sp-col12 {
    width: 98%;
  }
}
@media print, screen and (min-width: 769px) {
  .flex .flex_item-pc-col1 {
    width: 6.3333333333%;
  }
  .flex .flex_item-pc-col2 {
    width: 14.6666666667%;
  }
  .flex .flex_item-pc-col3 {
    width: 23%;
  }
  .flex .flex_item-pc-col4 {
    width: 31.3333333333%;
  }
  .flex .flex_item-pc-col5 {
    width: 39.6666666667%;
  }
  .flex .flex_item-pc-col6 {
    width: 48%;
  }
  .flex .flex_item-pc-col7 {
    width: 56.3333333333%;
  }
  .flex .flex_item-pc-col8 {
    width: 64.6666666667%;
  }
  .flex .flex_item-pc-col9 {
    width: 73%;
  }
  .flex .flex_item-pc-col10 {
    width: 81.3333333333%;
  }
  .flex .flex_item-pc-col11 {
    width: 89.6666666667%;
  }
  .flex .flex_item-pc-col12 {
    width: 98%;
  }
}
@media print, screen and (min-width: 769px) {
  .flex--pc {
    display: flex;
  }
  .flex--pc .flex_item-pc-col1 {
    width: 6.3333333333%;
  }
  .flex--pc .flex_item-pc-col2 {
    width: 14.6666666667%;
  }
  .flex--pc .flex_item-pc-col3 {
    width: 23%;
  }
  .flex--pc .flex_item-pc-col4 {
    width: 31.3333333333%;
  }
  .flex--pc .flex_item-pc-col5 {
    width: 39.6666666667%;
  }
  .flex--pc .flex_item-pc-col6 {
    width: 48%;
  }
  .flex--pc .flex_item-pc-col7 {
    width: 56.3333333333%;
  }
  .flex--pc .flex_item-pc-col8 {
    width: 64.6666666667%;
  }
  .flex--pc .flex_item-pc-col9 {
    width: 73%;
  }
  .flex--pc .flex_item-pc-col10 {
    width: 81.3333333333%;
  }
  .flex--pc .flex_item-pc-col11 {
    width: 89.6666666667%;
  }
  .flex--pc .flex_item-pc-col12 {
    width: 98%;
  }
}
@media screen and (max-width: 768px) {
  .flex--sp {
    display: flex;
  }
  .flex--sp .flex_item-sp-col1 {
    width: 6.3333333333%;
  }
  .flex--sp .flex_item-sp-col2 {
    width: 14.6666666667%;
  }
  .flex--sp .flex_item-sp-col3 {
    width: 23%;
  }
  .flex--sp .flex_item-sp-col4 {
    width: 31.3333333333%;
  }
  .flex--sp .flex_item-sp-col5 {
    width: 39.6666666667%;
  }
  .flex--sp .flex_item-sp-col6 {
    width: 48%;
  }
  .flex--sp .flex_item-sp-col7 {
    width: 56.3333333333%;
  }
  .flex--sp .flex_item-sp-col8 {
    width: 64.6666666667%;
  }
  .flex--sp .flex_item-sp-col9 {
    width: 73%;
  }
  .flex--sp .flex_item-sp-col10 {
    width: 81.3333333333%;
  }
  .flex--sp .flex_item-sp-col11 {
    width: 89.6666666667%;
  }
  .flex--sp .flex_item-sp-col12 {
    width: 98%;
  }
}
.flex-wrap {
  flex-wrap: wrap;
}
@media print, screen and (min-width: 769px) {
  .flex-wrap--pc {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 768px) {
  .flex-wrap--sp {
    flex-wrap: wrap;
  }
}
.flex-justify-start {
  justify-content: flex-start;
}
@media print, screen and (min-width: 769px) {
  .flex-justify-start--pc {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .flex-justify-start--sp {
    justify-content: flex-start;
  }
}
.flex-justify-end {
  justify-content: flex-end;
}
@media print, screen and (min-width: 769px) {
  .flex-justify-end--pc {
    justify-content: flex-end;
  }
}
@media screen and (max-width: 768px) {
  .flex-justify-end--sp {
    justify-content: flex-end;
  }
}
.flex-justify-between {
  justify-content: space-between;
}
@media print, screen and (min-width: 769px) {
  .flex-justify-between--pc {
    justify-content: space-between;
  }
}
@media screen and (max-width: 768px) {
  .flex-justify-between--sp {
    justify-content: space-between;
  }
}
.flex-justify-center {
  justify-content: center;
}
@media print, screen and (min-width: 769px) {
  .flex-justify-center--pc {
    justify-content: center;
  }
}
@media screen and (max-width: 768px) {
  .flex-justify-center--sp {
    justify-content: center;
  }
}
.flex-align-start {
  align-items: flex-start;
}
@media print, screen and (min-width: 769px) {
  .flex-align-start--pc {
    align-items: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .flex-align-start--sp {
    align-items: flex-start;
  }
}
.flex-align-center {
  align-items: center;
}
@media print, screen and (min-width: 769px) {
  .flex-align-center--pc {
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .flex-align-center--sp {
    align-items: center;
  }
}
.flex-align-end {
  align-items: flex-end;
}
@media print, screen and (min-width: 769px) {
  .flex-align-end--pc {
    align-items: flex-end;
  }
}
@media screen and (max-width: 768px) {
  .flex-align-end--sp {
    align-items: flex-end;
  }
}
.flex-align-stretch {
  align-items: stretch;
}
@media print, screen and (min-width: 769px) {
  .flex-align-stretch--pc {
    align-items: stretch;
  }
}
@media screen and (max-width: 768px) {
  .flex-align-stretch--sp {
    align-items: stretch;
  }
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
@media print, screen and (min-width: 769px) {
  .flex-row-reverse--pc {
    flex-direction: row-reverse;
  }
}
@media screen and (max-width: 768px) {
  .flex-row-reverse--sp {
    flex-direction: row-reverse;
  }
}
.flex-order1 {
  order: 1;
}
.flex-order2 {
  order: 2;
}
.flex-order3 {
  order: 3;
}
.flex-order4 {
  order: 4;
}
.flex-order5 {
  order: 5;
}
.flex-order6 {
  order: 6;
}
.flex-order7 {
  order: 7;
}
.flex-order8 {
  order: 8;
}
.flex-order9 {
  order: 9;
}
.flex-order10 {
  order: 10;
}

.modalContent {
  position: fixed;
  top: 120px;
  left: 0;
  opacity: 0;
  width: 100%;
  height: calc(100vh - 160px);
  pointer-events: none;
  transition: opacity 0.5s cubic-bezier(0.5, 1, 0.75, 1);
  border-radius: 20px;
  z-index: 999;
}
@media screen and (max-width: 768px) {
  .modalContent {
    top: 50px;
    height: calc(100vh - 200px);
  }
}
.modalContent.active {
  opacity: 1;
  pointer-events: auto;
}
.modalContent .pageTitle {
  margin-bottom: 2.9375rem;
}
.modalContent .modalContent__inner {
  position: relative;
  background-color: #fff;
  z-index: 100;
  width: 95%;
  max-width: 67.5rem;
  max-height: calc(100% - 30px);
  overflow-y: auto;
  border-radius: 20px;
  padding-top: 3.75rem;
  padding-bottom: 4.0625rem;
  padding-left: 5.3333333333%;
  padding-right: 5.3333333333%;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 769px) {
  .modalContent .modalContent__inner {
    padding-top: 3.6875rem;
    padding-bottom: 4rem;
    padding-left: 2.0833333333%;
    padding-right: 2.0833333333%;
  }
}
.modalContent .modalContent__close {
  font-family: "Material Icons";
  font-size: 40px;
  font-size: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  cursor: pointer;
  position: absolute;
  z-index: 101;
}
@media screen and (max-width: 768px) {
  .modalContent .modalContent__close {
    top: 8px;
    right: 8px;
  }
}
@media print, screen and (min-width: 769px) {
  .modalContent .modalContent__close {
    top: 24px;
    right: 24px;
  }
}
.modalContent .modalContent__close span {
  margin-top: -0.15em;
}
@media screen and (max-width: 768px) {
  .modalContent .modalContent__close span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -0.1em;
  }
}
.modalContent .overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 99;
}

.lum-lightbox {
  z-index: 9;
}

.lum-lightbox-inner img {
  max-width: 100%;
}

.p-top {
  /* 北陸はこんな方におすすめ！ */
  /* 北陸ってこんなにすてき！ */
  /* 北陸エリアの住まいなら */
  /* ギャラリー */
  /* 参考プランを見る */
  /* CTA */
  /* オーナー様のリアルな声 */
  /* よくあるご質問 */
}
.p-top .sec {
  padding-top: 10.6666666667%;
  padding-bottom: 10.6666666667%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.p-top .sec .sec__title {
  position: relative;
  font-size: 24px;
  font-size: calc( 24px + ((1vw - 3.75px) * 6.4 ) );
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-align: center;
  color: #444;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='90' height='48' viewBox='0 0 90 48'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Cpath id='p_1577' data-name='p 1577' d='M0,0H90V48H0Z' transform='translate(0 0)' fill='%23878478'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='icon_title' transform='translate(0 0)' clip-path='url(%23clip-path)'%3E%3Cpath id='p_325' data-name='p 325' d='M45.539,188.842a1.989,1.989,0,0,1-.259-.017l-7.5-.99a2.085,2.085,0,0,1-1.754-2.347,2.042,2.042,0,0,1,2.267-1.816l7.5.99a2.085,2.085,0,0,1,1.754,2.347,2.053,2.053,0,0,1-2.008,1.833' transform='translate(-27.901 -140.842)' fill='%23878478'/%3E%3Cpath id='p_326' data-name='p 326' d='M23.662,112.94a1.973,1.973,0,0,1-1.209-.415L.817,95.852A2.147,2.147,0,0,1,.4,92.916a1.982,1.982,0,0,1,2.836-.43l21.637,16.672a2.147,2.147,0,0,1,.416,2.936,2,2,0,0,1-1.628.846' transform='translate(0 -70.608)' fill='%23878478'/%3E%3Cpath id='p_327' data-name='p 327' d='M102.237,121.29a2,2,0,0,1-1.569-.769l-5.449-6.888a2.149,2.149,0,0,1,.284-2.952,1.98,1.98,0,0,1,2.852.294l5.449,6.888a2.149,2.149,0,0,1-.284,2.952,1.977,1.977,0,0,1-1.283.475' transform='translate(-73.419 -84.515)' fill='%23878478'/%3E%3Cpath id='p_328' data-name='p 328' d='M134.275,41.281a2.029,2.029,0,0,1-1.887-1.332,261.839,261.839,0,0,1-8.326-25.972,2.107,2.107,0,0,1,1.421-2.577,2.02,2.02,0,0,1,2.489,1.471,257.551,257.551,0,0,0,8.188,25.544,2.122,2.122,0,0,1-1.146,2.72,1.957,1.957,0,0,1-.74.146' transform='translate(-96.066 -8.686)' fill='%23878478'/%3E%3Cpath id='p_329' data-name='p 329' d='M190.846,85.543a2.052,2.052,0,0,1-2.008-1.832l-1.159-9.369a2.085,2.085,0,0,1,1.753-2.348,2.044,2.044,0,0,1,2.268,1.814l1.159,9.369a2.085,2.085,0,0,1-1.753,2.348,1.963,1.963,0,0,1-.26.017' transform='translate(-145.398 -55.198)' fill='%23878478'/%3E%3Cpath id='p_330' data-name='p 330' d='M227.366,31.015q-.07,0-.141,0a2.075,2.075,0,0,1-1.883-2.237c.6-9.019,1.648-18.112,3.115-27.026A2.036,2.036,0,0,1,230.8.03a2.092,2.092,0,0,1,1.658,2.42c-1.444,8.777-2.476,17.73-3.067,26.61a2.058,2.058,0,0,1-2.02,1.954' transform='translate(-174.589 0)' fill='%23878478'/%3E%3Cpath id='p_331' data-name='p 331' d='M265.592,100.8a1.961,1.961,0,0,1-.746-.148,2.122,2.122,0,0,1-1.138-2.723l2.837-7.414a2,2,0,0,1,2.631-1.178,2.122,2.122,0,0,1,1.138,2.723l-2.837,7.414a2.029,2.029,0,0,1-1.885,1.326' transform='translate(-204.208 -68.396)' fill='%23878478'/%3E%3Cpath id='p_332' data-name='p 332' d='M302.773,78.559a1.98,1.98,0,0,1-1.331-.516,2.15,2.15,0,0,1-.2-2.96c5.921-7.034,12.068-14.032,18.273-20.8a1.978,1.978,0,0,1,2.865-.078,2.15,2.15,0,0,1,.075,2.966C316.294,63.9,310.185,70.85,304.3,77.839a1.993,1.993,0,0,1-1.529.72' transform='translate(-233.015 -41.126)' fill='%23878478'/%3E%3Cpath id='p_333' data-name='p 333' d='M332.153,177.331a2.056,2.056,0,0,1-2.017-1.919,2.078,2.078,0,0,1,1.846-2.27l9.386-.833a2.044,2.044,0,0,1,2.192,1.911,2.078,2.078,0,0,1-1.846,2.27l-9.386.833c-.059.005-.117.008-.175.008' transform='translate(-255.78 -132.135)' fill='%23878478'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: top center;
  padding-top: 13%;
  padding-bottom: 1.75rem;
}
@media screen and (max-width: 768px) {
  .p-top .sec .sec__title {
    background-size: 16% auto;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec .sec__title {
    font-size: 30px;
    font-size: calc( 30px + ((1vw - 7.69px) * 1.9292604502 ) );
    line-height: 1.6944444444;
    padding-top: 4.375rem;
  }
}
@media print, screen and (min-width: 1080px) {
  .p-top .sec .sec__title {
    font-size: 36px;
    font-size: 2.25rem;
  }
}
.p-top .sec .sec__title:after {
  content: "";
  position: absolute;
  bottom: 13%;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 32px;
  height: 4px;
  background-color: #878478;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec .sec__title:after {
    bottom: 0.1388888889em;
  }
}
.p-top .sec .sec__subtitle {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  letter-spacing: 0.08em;
  background: transparent;
  background: linear-gradient(to bottom, transparent 50%, transparent 50%, #FDD23E 50%, #FDD23E 100%);
}
@media screen and (max-width: 768px) {
  .p-top .sec .sec__subtitle {
    line-height: 1.7777777778;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec .sec__subtitle {
    font-size: 24px;
    font-size: 1.5rem;
    background: linear-gradient(to bottom, transparent 50%, transparent 70%, #FDD23E 70%, #FDD23E 100%);
  }
}
.p-top .swiper-pagination {
  left: 50%;
  transform: translateX(-50%);
}
.p-top .swiper-pagination .swiper-pagination-bullet {
  background: #fff;
  opacity: 1;
  width: 10px;
  height: 10px;
  margin: 0 4px;
}
@media print, screen and (min-width: 769px) {
  .p-top .swiper-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    margin: 0 8px;
  }
}
.p-top .swiper-pagination .swiper-pagination-bullet-active {
  background: #878478;
}
.p-top .mv {
  position: relative;
  width: 100%;
  background-color: #fff;
}
.p-top .mv .mv-slider img {
  width: 100%;
}
.p-top .mv .mv__text {
  font-size: 24px;
  font-size: calc( 24px + ((1vw - 3.75px) * 6.4 ) );
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  font-weight: bold;
  line-height: 1;
  text-align: center;
  color: #fff;
  width: 100%;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .p-top .mv .mv__text {
    font-size: 36px;
    font-size: calc( 36px + ((1vw - 7.69px) * 6.4308681672 ) );
  }
}
@media print, screen and (min-width: 1080px) {
  .p-top .mv .mv__text {
    font-size: 56px;
    font-size: 3.5rem;
  }
}
.p-top .mv .mv__text .mv__decoration {
  display: inline-block;
  position: relative;
}
.p-top .mv .mv__text .mv__decoration .mv__decoration--fukidashi {
  position: absolute;
  top: -43px;
  left: -3.65em;
  width: 62.1333333333%;
}
@media print, screen and (min-width: 769px) {
  .p-top .mv .mv__text .mv__decoration .mv__decoration--fukidashi {
    width: 55.8620689655%;
    top: -45px;
    left: -3.1em;
  }
}
@media print, screen and (min-width: 1080px) {
  .p-top .mv .mv__text .mv__decoration .mv__decoration--fukidashi {
    width: 162px;
  }
}
.p-top .mv .mv__text .mv__decoration .mv__decoration--text {
  font-size: 0.5833333333em;
}
@media print, screen and (min-width: 769px) {
  .p-top .mv .mv__text .mv__decoration .mv__decoration--text {
    font-size: 0.4285714286em;
  }
}
.p-top .mv .mv__text .mv__subtext {
  font-size: 0.5em;
}
@media print, screen and (min-width: 769px) {
  .p-top .mv .mv__text .mv__subtext {
    font-size: 0.2857142857em;
  }
}
.p-top .mv .mv__text .mv__maintext {
  font-size: 1em;
  line-height: 1;
  font-weight: bold;
  margin-top: 5%;
  margin-bottom: 4%;
}
@media print, screen and (min-width: 769px) {
  .p-top .mv .mv__text .mv__maintext {
    margin-top: 1.5625rem;
    margin-bottom: 2.4375rem;
  }
}
.p-top .mv .mv__badge {
  position: absolute;
  bottom: 0;
  right: 5px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-top .mv .mv__badge {
    width: 35.7333333333%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .mv .mv__badge {
    bottom: 14px;
    right: 60px;
    width: 14.8148148148%;
  }
}
@media print, screen and (min-width: 1080px) {
  .p-top .mv .mv__badge {
    width: 160px;
  }
}
.p-top .mv .swiper-pagination {
  bottom: 18px;
}
.p-top .sec-recommend {
  position: relative;
  background-image: url(../images/recommend_bg.png);
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .p-top .sec-recommend {
    padding-bottom: 43%;
  }
}
.p-top .sec-recommend .content-width {
  position: relative;
}
.p-top .sec-recommend .content-width:after {
  content: "";
  position: absolute;
  display: block;
  height: 0;
  background-image: url(../images/recommend_bg2.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .p-top .sec-recommend .content-width:after {
    left: 52%;
    bottom: -24.8%;
    transform: translateX(-50%);
    width: 50%;
    padding-top: 43.7333333333%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-recommend .content-width:after {
    right: 12%;
    bottom: -121px;
    width: 15.9259259259%;
    padding-top: 15.1851851852%;
  }
}
.p-top .sec-recommend .recommend__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1em 0;
  margin-top: 5.3333333333%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-recommend .recommend__list {
    gap: 24px 0;
    margin-top: 4.6875rem;
  }
}
.p-top .sec-recommend .recommend__list .recommend__item {
  font-size: 14px;
  font-size: calc( 14px + ((1vw - 3.75px) * 3.7333333333 ) );
  font-weight: bold;
  line-height: 1.8;
  width: 48%;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: top center;
  border-radius: 10px;
  padding: 44% 3% 5% 5%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-recommend .recommend__list .recommend__item {
    width: 49%;
    font-size: 12px;
    font-size: calc( 12px + ((1vw - 7.69px) * 1.9292604502 ) );
    line-height: 1.6;
    background-size: 39.5%;
    background-position: left top;
    padding: 5% 0 50px 22.2222222222%;
  }
}
@media print, screen and (min-width: 1080px) {
  .p-top .sec-recommend .recommend__list .recommend__item {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-top .sec-recommend .recommend__list .recommend__item:nth-child(1) {
  background-image: url(../images/recommend_img01.png);
}
.p-top .sec-recommend .recommend__list .recommend__item:nth-child(2) {
  background-image: url(../images/recommend_img02.png);
}
.p-top .sec-recommend .recommend__list .recommend__item:nth-child(3) {
  background-image: url(../images/recommend_img03.png);
}
.p-top .sec-recommend .recommend__list .recommend__item:nth-child(4) {
  background-image: url(../images/recommend_img04.png);
}
.p-top .sec-recommend .recommend__note {
  text-align: center;
  margin-top: 7%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-recommend .recommend__note {
    margin-top: 2.8125rem;
  }
}
.p-top .sec-appeal {
  background-image: url(../images/appeal_bg_sp.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-top: 17%;
  padding-bottom: 13%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal {
    background-image: url(../images/appeal_bg.png);
    padding-top: 6.25rem;
    padding-bottom: 10.1875rem;
  }
}
.p-top .sec-appeal .sec__title + .sec__subtitle {
  margin-top: 9%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .sec__title + .sec__subtitle {
    margin-top: 4.1875rem;
  }
}
.p-top .sec-appeal .appeal-point {
  position: relative;
  margin-top: 22%;
  margin-bottom: 38%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point {
    margin-top: 3.125rem;
    margin-bottom: 9.0625rem;
  }
}
.p-top .sec-appeal .appeal-point:before {
  pointer-events: none;
  content: "";
  position: absolute;
  display: block;
  width: 108%;
  height: 140%;
  background-image: url(../images/appeal_point1.png), url(../images/appeal_point2.png);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-top .sec-appeal .appeal-point:before {
    top: -15%;
    left: 50%;
    transform: translateX(-50%);
    background-position: top left, bottom right 10%;
    background-repeat: no-repeat;
    background-size: 45% auto, 127px auto;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point:before {
    top: -55%;
    left: 0;
    width: 100%;
    height: 180%;
    background-position: top left, bottom right;
    background-repeat: no-repeat;
    background-size: 27% auto, 16.5% auto;
  }
}
.p-top .sec-appeal .appeal-point .appeal-point__content {
  background-color: #fff;
  border-radius: 10px;
  padding: 10px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point .appeal-point__content {
    width: 84.5%;
  }
}
.p-top .sec-appeal .appeal-point .appeal-point__content .appeal-point__inner {
  position: relative;
  border: 1px solid #FDD23E;
  border-radius: 10px;
  padding: 27% 5% 30px;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point .appeal-point__content .appeal-point__inner {
    padding: 58px 8px 30px;
  }
}
.p-top .sec-appeal .appeal-point .point__text {
  position: relative;
  font-weight: bold;
  text-align: center;
  color: #444;
}
.p-top .sec-appeal .appeal-point .point__text .fukidashi {
  position: absolute;
  top: -65px;
  right: 0;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point .point__text .fukidashi {
    text-align: left;
    top: -50px;
    left: -90px;
  }
}
.p-top .sec-appeal .appeal-point .point__text .text1 {
  position: relative;
  font-size: 14px;
  font-size: calc( 14px + ((1vw - 3.75px) * 3.7333333333 ) );
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point .point__text .text1 {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-top .sec-appeal .appeal-point .point__text .text2 {
  font-size: 26px;
  font-size: calc( 26px + ((1vw - 3.75px) * 6.9333333333 ) );
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point .point__text .text2 {
    font-size: 40px;
    font-size: 2.5rem;
  }
}
.p-top .sec-appeal .appeal-point .point__text .text3 {
  display: inline-block;
  font-size: 22px;
  font-size: calc( 22px + ((1vw - 3.75px) * 5.8666666667 ) );
  color: #fff;
  background-color: #FDD23E;
  border-radius: 10px;
  padding: 5px 7px;
  margin-top: 3%;
  margin-left: 6px;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point .point__text .text3 {
    font-size: 34px;
    font-size: 2.125rem;
    padding: 2px 6px;
    margin-top: 12px;
  }
}
.p-top .sec-appeal .appeal-point .point__text .text4 {
  display: inline-block;
  font-size: 20px;
  font-size: calc( 20px + ((1vw - 3.75px) * 5.3333333333 ) );
  margin-top: 8px;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point .point__text .text4 {
    font-size: 28px;
    font-size: 1.75rem;
  }
}
.p-top .sec-appeal .appeal-point .point__text .mark {
  color: #FCB800;
}
.p-top .sec-appeal .appeal-point .point__note {
  font-size: 12px;
  font-size: 0.75rem;
  text-align: center;
  color: #777;
  margin-top: 6%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-point .point__note {
    margin-top: 30px;
  }
}
.p-top .sec-appeal .appeal-pickup {
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-top .sec-appeal .appeal-pickup {
    margin-bottom: 20%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-pickup {
    padding: 0 6.25rem;
  }
}
.p-top .sec-appeal .appeal-pickup .pickup__item--wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  margin-top: 12%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-pickup .pickup__item--wrapper {
    margin-top: 2.8125rem;
  }
}
.p-top .sec-appeal .appeal-pickup .pickup__item {
  background-color: #fff;
  border-radius: 10px;
  height: 100%;
  overflow: hidden;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-pickup .pickup__item {
    width: 30%;
  }
}
.p-top .sec-appeal .appeal-pickup .pickup__item .pickup__image img {
  width: 100%;
}
.p-top .sec-appeal .appeal-pickup .pickup__item .pickup__content {
  min-height: 326px;
  padding: 28px 31px;
}
.p-top .sec-appeal .appeal-pickup .pickup__item .pickup__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #444;
  margin-bottom: 1rem;
}
.p-top .sec-appeal .appeal-pickup .pickup__item .pickup__text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.8;
  font-weight: 500;
}
.p-top .sec-appeal .appeal-pickup .pickup__item .pickup__text .mark {
  background: transparent;
  background: linear-gradient(to bottom, transparent 50%, transparent 70%, #FEE89E 70%, #FEE89E 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="transparent", endColorstr="#FEE89E", GradientType=0);
}
.p-top .sec-appeal .appeal-pickup .pickup__item .pickup__btn {
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  color: #444;
  background-color: #FDD23E;
  border-radius: 50vw;
  width: 100%;
  padding: 13px 0;
  margin-top: 16px;
}
.p-top .sec-appeal .appeal-pickup .swiper-button-prev,
.p-top .sec-appeal .appeal-pickup .swiper-button-next {
  font-family: "Material Icons";
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 32px;
  font-size: 2rem;
  color: #878478;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 50vw;
  background-image: none;
}
@media screen and (max-width: 768px) {
  .p-top .sec-appeal .appeal-pickup .swiper-button-prev,
  .p-top .sec-appeal .appeal-pickup .swiper-button-next {
    top: 105.5%;
    width: 40px;
    height: 40px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-pickup .swiper-button-prev,
  .p-top .sec-appeal .appeal-pickup .swiper-button-next {
    font-size: 52px;
    font-size: 3.25rem;
    width: 60px;
    height: 60px;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-pickup .swiper-button-prev {
    left: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal-pickup .swiper-button-next {
    right: 0;
  }
}
.p-top .sec-appeal .appeal-pickup .swiper-pagination {
  bottom: -50px;
}
.p-top .sec-appeal .appeal__table {
  width: 100%;
  max-width: 900px;
  border-collapse: collapse;
  margin-left: auto;
  margin-right: auto;
}
.p-top .sec-appeal .appeal__table + .appeal__table {
  margin-top: 2.5rem;
}
.p-top .sec-appeal .appeal__table .appeal__table__caption {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1.5625rem;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal__table .appeal__table__caption {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.p-top .sec-appeal .appeal__table .appeal__table__caption .sub {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #444;
}
.p-top .sec-appeal .appeal__table th,
.p-top .sec-appeal .appeal__table td {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  border: 1px solid #707070;
  padding: 2%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal__table th,
  .p-top .sec-appeal .appeal__table td {
    font-size: 16px;
    font-size: 1rem;
    padding: 12px 22px 10px;
  }
}
.p-top .sec-appeal .appeal__table th {
  background-color: #EDEDED;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top .sec-appeal .appeal__table th {
    vertical-align: middle;
  }
}
.p-top .sec-appeal .appeal__table td {
  text-align: right;
}
.p-top .sec-appeal .appeal__table.table1 tbody th,
.p-top .sec-appeal .appeal__table.table1 tbody td {
  width: 33.3333333333%;
}
.p-top .sec-appeal .appeal__table.table2 thead th {
  font-size: 14px;
  font-size: 0.875rem;
  padding-left: 0;
  padding-right: 0;
}
.p-top .sec-appeal .appeal__table.table2 tbody th {
  width: 16.6666666667%;
}
.p-top .sec-appeal .appeal__table.table2 tbody td {
  width: 27.7777777778%;
}
.p-top .sec-appeal .appeal__table.table3 thead th {
  font-size: 14px;
  font-size: 0.875rem;
  padding-left: 0;
  padding-right: 0;
}
.p-top .sec-appeal .appeal__table .bold {
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal__table .bold {
    font-size: 18px;
    font-size: 1.125rem;
  }
}
.p-top .sec-appeal .appeal__table .bgc-b1 {
  background-color: #E5EAF2;
}
.p-top .sec-appeal .appeal__table .bgc-b2 {
  background-color: #CCD7E6;
}
.p-top .sec-appeal .appeal__table .bgc-y1 {
  background-color: #FFF6D8;
}
.p-top .sec-appeal .appeal__table .bgc-y2 {
  background-color: #FEE89E;
}
.p-top .sec-appeal .appeal__table .color-red {
  color: #FF0000;
}
.p-top .sec-appeal .appeal__note {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  font-weight: bold;
  text-align: center;
  border-radius: 50vw;
  color: #fff;
  background-color: #878478;
  padding: 0.5rem 0;
  margin-top: 1.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal__note {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.6;
    width: 90%;
  }
}
.p-top .sec-appeal .appeal__note .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Material Icons";
  font-size: 18px;
  font-size: 1.125rem;
  width: 1.6666666667em;
  height: 1.6666666667em;
  color: #878478;
  background-color: #fff;
  border-radius: 50vw;
  border: 1px solid #707070;
  margin-left: 10px;
}
@media screen and (max-width: 768px) {
  .p-top .sec-appeal .appeal__note .icon {
    margin-right: 1em;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-appeal .appeal__note .icon {
    font-size: 20px;
    font-size: 1.25rem;
    width: 1.6em;
    height: 1.6em;
  }
}
.p-top .sec-about {
  background-image: url(../images/about_bg_sp.png);
  background-size: 100% auto;
  background-repeat: repeat-y;
  padding-top: 0;
  padding-bottom: 18%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about {
    background-image: url(../images/about_bg.png);
    padding-bottom: 7.8125rem;
  }
}
.p-top .sec-about .layout-width {
  position: relative;
}
.p-top .sec-about .layout-width:before {
  content: "";
  display: block;
  background-image: url(../images/about_bg2.png);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .layout-width:before {
    top: -4.3%;
    left: 6.6666666667%;
    width: 35%;
    height: 0;
    padding-top: 29%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .layout-width:before {
    width: 196.2px;
    height: 163.54px;
    top: -130px;
    left: 115px;
  }
}
.p-top .sec-about .sec__title {
  line-height: 1.6;
  margin-top: 19.7142857143%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .sec__title {
    margin-top: 5rem;
  }
}
.p-top .sec-about .sec__title:after {
  bottom: 18px;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .sec__title:after {
    bottom: 8px;
  }
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .subtitle--wrapper {
    text-align: center;
    margin-top: 7%;
  }
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .sec__subtitle {
    display: inline;
    left: 0;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .sec__subtitle {
    font-size: 20px;
    font-size: calc( 20px + ((1vw - 7.69px) * 1.7316017316 ) );
    margin-top: 4.125rem;
  }
}
@media print, screen and (min-width: 1000px) {
  .p-top .sec-about .sec__subtitle {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .about__figure img {
    width: 100%;
  }
}
.p-top .sec-about .about__list {
  margin-top: -3%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__list {
    margin-top: 3.875rem;
  }
}
.p-top .sec-about .about__item {
  position: relative;
  width: 100%;
  padding-top: 14.5%;
  z-index: 0;
}
.p-top .sec-about .about__item:nth-child(even) .about__item__image {
  left: auto;
  right: 0;
}
.p-top .sec-about .about__item:nth-child(even) .about__item__image img {
  width: 100%;
}
.p-top .sec-about .about__item:nth-child(even) .about__item__content {
  margin-left: 0;
  margin-right: auto;
}
.p-top .sec-about .about__item + .about__item {
  margin-top: 24%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item + .about__item {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .about__item .about__item__image {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item .about__item__image {
    position: absolute;
    top: 0;
    left: 1.5%;
    width: 62%;
    z-index: -1;
  }
}
.p-top .sec-about .about__item .about__item__image .about__item__image__caption {
  position: absolute;
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .about__item .about__item__image.about1 .about__item__image__caption {
    width: 67%;
    top: 4.3%;
    left: -2%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item .about__item__image.about1 .about__item__image__caption {
    bottom: -17.5%;
    left: -15%;
  }
}
.p-top .sec-about .about__item .about__item__image.about2 {
  right: 1.3%;
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .about__item .about__item__image.about2 .about__item__image__caption {
    width: 37%;
    top: 3.3%;
    right: 0%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item .about__item__image.about2 .about__item__image__caption {
    bottom: -16%;
    right: -15%;
  }
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .about__item .about__item__image.about3 .about__item__image__caption {
    width: 67%;
    top: 4.3%;
    left: -2%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item .about__item__image.about3 .about__item__image__caption {
    bottom: -16%;
    left: -15%;
  }
}
.p-top .sec-about .about__item .about__item__content {
  position: relative;
  background-color: #fff;
  border-radius: 10px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .about__item .about__item__content {
    top: -20px;
    padding: 8% 8% 8% 10%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item .about__item__content {
    width: 30rem;
    max-width: 70%;
    padding: 3.7037037037% 3.7037037037% 3.7037037037% 4.6296296296%;
    margin-right: 1.5%;
  }
}
.p-top .sec-about .about__item .about__item__content:before, .p-top .sec-about .about__item .about__item__content:after {
  content: "";
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.p-top .sec-about .about__item .about__item__content:before {
  top: 0;
  left: 0;
  width: 15%;
  height: 15%;
  background-position: top left;
  border-radius: 10px 0 0 0;
}
.p-top .sec-about .about__item .about__item__content.about1:before {
  background-image: url(../images/about_num1.svg);
}
.p-top .sec-about .about__item .about__item__content.about1:after {
  background-image: url(../images/about_list01_icon.png);
  width: 32%;
  height: 0;
  bottom: -29.5%;
  right: 0;
  padding-top: 40%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item .about__item__content.about1:after {
    width: 23.7958333333%;
    height: 29.51875%;
    top: -27.2916666667%;
    right: 5.4166666667%;
  }
}
.p-top .sec-about .about__item .about__item__content.about2 {
  left: 1.3%;
}
.p-top .sec-about .about__item .about__item__content.about2:before {
  background-image: url(../images/about_num2.svg);
}
.p-top .sec-about .about__item .about__item__content.about2:after {
  background-image: url(../images/about_list02_icon.png);
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .about__item .about__item__content.about2:after {
    width: 40%;
    height: 0;
    padding-top: 40%;
    bottom: -21%;
    right: 2%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item .about__item__content.about2:after {
    width: 29.0958333333%;
    height: 26.60625%;
    top: -113px;
    left: 21.0416666667%;
  }
}
.p-top .sec-about .about__item .about__item__content.about3:before {
  background-image: url(../images/about_num3.svg);
}
.p-top .sec-about .about__item .about__item__content.about3:after {
  background-image: url(../images/about_list03_icon.png);
}
@media screen and (max-width: 768px) {
  .p-top .sec-about .about__item .about__item__content.about3:after {
    width: 43%;
    height: 0;
    padding-top: 36%;
    bottom: -19.5%;
    right: 0%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item .about__item__content.about3:after {
    width: 30.1541666667%;
    height: 24.88125%;
    top: -13.125%;
    right: 4.375%;
  }
}
.p-top .sec-about .about__item__title {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  color: #444;
  margin-bottom: 9%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item__title {
    font-size: 26px;
    font-size: 1.625rem;
    margin-bottom: 2.0625rem;
  }
}
.p-top .sec-about .about__item__title:after {
  content: "";
  display: block;
  width: 1.2307692308em;
  height: 3px;
  background-color: #878478;
  margin-top: 4%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item__title:after {
    height: 4px;
    margin-top: 1.25rem;
  }
}
.p-top .sec-about .about__item__text {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.8;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-about .about__item__text {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.8;
  }
}
.p-top .sec-about .about__item__text + .about__item__text {
  margin-top: 2em;
}
.p-top .gallery {
  position: relative;
  padding-top: 42.5%;
  padding-bottom: 18%;
}
@media print, screen and (min-width: 769px) {
  .p-top .gallery {
    padding-top: 5.8125rem;
    padding-bottom: 4.625rem;
  }
}
.p-top .gallery .gallery__title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
}
.p-top .gallery .gallery__title .icon {
  font-size: 1.3333333333em;
  font-family: "Material Icons";
  margin-right: 0.625rem;
}
.p-top .gallery .gallery-slider {
  position: relative;
  padding-bottom: 4.375rem;
  margin-top: 2.0625rem;
}
.p-top .gallery .gallery-slider img {
  width: 100%;
}
.p-top .gallery .swiper-pagination {
  left: 50%;
  transform: translateX(-50%);
}
.p-top .reference {
  position: relative;
}
.p-top .reference .reference__btn--wrapper {
  position: relative;
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  z-index: 0;
}
.p-top .reference .reference__btn--wrapper.is-on .reference__btn:after {
  content: "expand_less";
}
.p-top .reference .reference__btn {
  position: relative;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background-color: #878478;
  border-radius: 10px;
  width: 100%;
  padding: 1.375rem 0;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .p-top .reference .reference__btn {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.p-top .reference .reference__btn:after {
  font-family: "Material Icons";
  content: "keyboard_arrow_down";
  font-size: 32px;
  font-size: 2rem;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translateY(-50%);
}
.p-top .reference .reference__btn:active {
  top: 6px;
}
.p-top .reference .shadow {
  position: absolute;
  top: 6px;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #6E6A5D;
  border-radius: 10px;
  z-index: 0;
}
.p-top .reference .reference__content {
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1rem;
}
.p-top .cta {
  background-image: url(../images/cta_bg.jpg);
  background-size: cover;
  padding: 9% 0 8%;
}
@media print, screen and (min-width: 769px) {
  .p-top .cta {
    padding: 2.5rem 0 2.0625rem;
  }
}
.p-top .cta .cta__title {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
  color: #fff;
}
@media print, screen and (min-width: 769px) {
  .p-top .cta .cta__title {
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.6;
  }
}
.p-top .cta .cta__row {
  margin-top: 7%;
}
@media print, screen and (min-width: 769px) {
  .p-top .cta .cta__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1.875rem;
  }
}
.p-top .cta .cta__btn--wrapper {
  position: relative;
  z-index: 0;
}
@media print, screen and (min-width: 769px) {
  .p-top .cta .cta__btn--wrapper {
    width: 32%;
  }
}
@media screen and (max-width: 768px) {
  .p-top .cta .cta__btn--wrapper + .cta__btn--wrapper {
    margin-top: 5%;
  }
}
.p-top .cta .cta__btn--wrapper.request .cta__btn:before {
  content: "description";
}
.p-top .cta .cta__btn--wrapper.online .cta__btn:before {
  content: "phonelink";
}
.p-top .cta .cta__btn--wrapper.reservation .cta__btn:before {
  content: "event_available";
}
.p-top .cta .cta__btn--wrapper .cta__btn {
  display: block;
  position: relative;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  color: #444;
  background-color: #FDD23E;
  border-radius: 10px;
  width: 100%;
  padding: 1.1em 0;
  z-index: 1;
}
@media print, screen and (min-width: 769px) {
  .p-top .cta .cta__btn--wrapper .cta__btn {
    padding: 1.375rem 0;
  }
}
.p-top .cta .cta__btn--wrapper .cta__btn:active {
  top: 6px;
}
.p-top .cta .cta__btn--wrapper .cta__btn:before {
  position: absolute;
  left: 0.7em;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Material Icons";
  font-size: 32px;
  font-size: 2rem;
  color: #444;
}
.p-top .cta .cta__btn--wrapper .shadow {
  position: absolute;
  top: 6px;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #AA8B1B;
  border-radius: 10px;
  z-index: 0;
}
.p-top .cta .cta__tel {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 16px;
  font-size: 1rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-top .cta .cta__tel {
    flex-wrap: wrap;
    margin-top: 8%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .cta .cta__tel {
    margin-top: 1.125rem;
  }
}
@media screen and (max-width: 768px) {
  .p-top .cta .cta__tel .tel__title {
    width: 100%;
  }
}
.p-top .cta .cta__tel .tel__free {
  font-family: "genkakugo", sans-serif;
  font-size: 2.1875em;
  background-image: url("data:image/svg+xml,%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' width='24' height='16'%3E%3Cg fill='%23fff'%3E%3Cpath d='M0 0v2.368a14.622 14.622 0 0 1 5.162.93q.426.162.827.348a13.389 13.389 0 0 1 1.954-.721A14.871 14.871 0 0 1 12 2.368a14.628 14.628 0 0 1 5.185.93q.426.162.826.348a13.4 13.4 0 0 1 1.954-.721A14.878 14.878 0 0 1 24 2.368V0Z' data-name='パス 4'/%3E%3Cpath d='M15.354 9.48a2.875 2.875 0 0 0 4.482 2.384 2.869 2.869 0 0 0 1.268-2.384 2.452 2.452 0 0 0-.185-.9 3.981 3.981 0 0 0-.572-.975 7.268 7.268 0 0 0-2.118-1.766 7.816 7.816 0 0 0-1.739 1.33 4.319 4.319 0 0 0-.99 1.516 2.4 2.4 0 0 0-.146.795Z' data-name='パス 5'/%3E%3Cpath d='M20.931 5.748a6.251 6.251 0 0 1 1.371 2.2 4.3 4.3 0 0 1 .239 1.39 4.777 4.777 0 0 1-.774 2.619 4.58 4.58 0 0 1-1.993 1.7 4.407 4.407 0 0 1-4.3-.432 4.666 4.666 0 0 1-1.64-2.06 4.806 4.806 0 0 1-.356-1.823 4.561 4.561 0 0 1 .52-2.054 6.96 6.96 0 0 1 1.368-1.823 9.491 9.491 0 0 1 .981-.83c-.237-.09-.48-.174-.73-.25a12.443 12.443 0 0 0-3.62-.532 12.284 12.284 0 0 0-4.35.781 9.163 9.163 0 0 1 1.262 1.114 6.255 6.255 0 0 1 1.371 2.2 4.3 4.3 0 0 1 .239 1.39 4.778 4.778 0 0 1-.774 2.619 4.581 4.581 0 0 1-1.992 1.7 4.407 4.407 0 0 1-4.3-.432 4.666 4.666 0 0 1-1.64-2.06 4.806 4.806 0 0 1-.356-1.823 4.563 4.563 0 0 1 .519-2.054 6.962 6.962 0 0 1 1.369-1.823 9.464 9.464 0 0 1 .981-.83c-.237-.09-.48-.174-.73-.25a12.447 12.447 0 0 0-3.6-.532v12.144H24V3.857a12.287 12.287 0 0 0-4.328.781 9.16 9.16 0 0 1 1.259 1.11Z' data-name='パス 6'/%3E%3Cpath d='M2.896 9.48a2.875 2.875 0 0 0 4.482 2.384A2.87 2.87 0 0 0 8.646 9.48a2.46 2.46 0 0 0-.185-.9 4 4 0 0 0-.572-.975A7.275 7.275 0 0 0 5.77 5.839a7.809 7.809 0 0 0-1.739 1.33 4.32 4.32 0 0 0-.99 1.516 2.4 2.4 0 0 0-.145.795Z' data-name='パス 7'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 1em auto;
  padding-left: 1.2857142857em;
  margin-left: 10px;
  margin-right: 10px;
}
.p-top .cta .cta__tel .tel__open {
  font-size: 0.875em;
}
@media screen and (max-width: 768px) {
  .p-top .cta .cta__tel .tel__open {
    margin-top: -10px;
  }
}
.p-top .sec-voice {
  background-image: url(../images/voice_bg.png);
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .p-top .sec-voice {
    padding-top: 15%;
    padding-bottom: 16%;
  }
}
.p-top .sec-voice .content-width {
  position: relative;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-voice .content-width:before {
    content: "";
    position: absolute;
    top: -93px;
    right: 16.4864864865%;
    display: block;
    width: 10.7594594595%;
    height: 0;
    padding-top: 18.018018018%;
    background-image: url(../images/voice_bg2.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
  }
}
.p-top .sec-voice .sec__title {
  padding-top: 3.3125rem;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-voice .sec__title {
    background-size: 5.5555555556%;
  }
}
.p-top .sec-voice .voice__lead {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p-top .sec-voice .voice__lead {
    white-space: nowrap;
    margin-top: 9%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-voice .voice__lead {
    font-size: 20px;
    font-size: 1.25rem;
    margin-top: 4.375rem;
  }
}
.p-top .sec-voice .voice__lead:before, .p-top .sec-voice .voice__lead:after {
  content: "";
  display: block;
  width: 0.85em;
  height: 1.1em;
  background-repeat: no-repeat;
  margin: 0 10px;
}
@media screen and (max-width: 768px) {
  .p-top .sec-voice .voice__lead:before, .p-top .sec-voice .voice__lead:after {
    position: absolute;
  }
}
.p-top .sec-voice .voice__lead:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='22' viewBox='0 0 17 22'%3E%3Cpath id='icon_voice_title_l' d='M1.427.008c.583-.072.819.32,1.026.75C5.43,6.907,10.824,11.374,14.2,17.244a15.454,15.454,0,0,0,2.378,2.529,1.235,1.235,0,0,1,.013,1.849c-.6.6-1.22.419-1.837-.115a28.284,28.284,0,0,1-4.613-5.64c-2.6-3.793-5.993-7-8.358-10.97A24.316,24.316,0,0,1,.132,1.871,1.27,1.27,0,0,1,1.427.008' transform='translate(0 0)' fill='%23878478'/%3E%3C/svg%3E%0A");
}
@media screen and (max-width: 768px) {
  .p-top .sec-voice .voice__lead:before {
    left: 0;
  }
}
.p-top .sec-voice .voice__lead:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='22' viewBox='0 0 17 22'%3E%3Cpath id='icon_voice_title_r' d='M15.573.008c-.583-.072-.819.32-1.026.75C11.57,6.907,6.176,11.374,2.8,17.244A15.454,15.454,0,0,1,.423,19.773a1.235,1.235,0,0,0-.013,1.849c.6.6,1.22.419,1.837-.115a28.284,28.284,0,0,0,4.613-5.64c2.6-3.793,5.993-7,8.358-10.97a24.316,24.316,0,0,0,1.649-3.026A1.27,1.27,0,0,0,15.573.008' transform='translate(0 0)' fill='%23878478'/%3E%3C/svg%3E%0A");
}
@media screen and (max-width: 768px) {
  .p-top .sec-voice .voice__lead:after {
    right: 0;
    height: 1.5em;
  }
}
.p-top .sec-voice .voice__content {
  margin-top: 1.5625rem;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-voice .voice__content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 10px;
  }
}
.p-top .sec-voice .voice__video {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.2682215743%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-voice .voice__video {
    width: 47.1590909091%;
    padding-top: 26.5151515152%;
  }
}
@media screen and (max-width: 768px) {
  .p-top .sec-voice .voice__video + .voice__video {
    margin-top: 12%;
  }
}
.p-top .sec-voice .voice__video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-top .sec-voice .voice__note {
  text-align: center;
  margin-top: 6%;
}
@media screen and (max-width: 768px) {
  .p-top .sec-voice .voice__note {
    font-size: 14px;
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-voice .voice__note {
    margin-top: 2.25rem;
  }
}
.p-top .sec-faq {
  background-image: url(../images/faq_bg.png);
  background-repeat: repeat;
}
@media screen and (max-width: 768px) {
  .p-top .sec-faq {
    padding-top: 15%;
    padding-bottom: 17%;
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq {
    padding-top: 4.375rem;
  }
}
.p-top .sec-faq .faq__title {
  font-size: 24px;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__title {
    font-size: 36px;
    font-size: 2.25rem;
  }
}
.p-top .sec-faq .faq__content {
  margin-top: 13%;
}
@media screen and (max-width: 768px) {
  .p-top .sec-faq .faq__content {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__content {
    margin-top: 3.4375rem;
  }
}
.p-top .sec-faq .faq__tab__menu {
  display: flex;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  font-weight: bold;
  color: #fff;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab__menu {
    font-size: 22px;
    font-size: 1.375rem;
  }
}
.p-top .sec-faq .faq__tab__menu .menu__item {
  cursor: pointer;
  width: 50%;
  border-radius: 10px 10px 0 0;
  text-align: center;
  padding-top: 1.4375rem;
  padding-bottom: 1.1875rem;
}
.p-top .sec-faq .faq__tab__menu .menu__item.tab1 {
  background-color: #003784;
}
.p-top .sec-faq .faq__tab__menu .menu__item.tab2 {
  background-color: #FDD23E;
}
.p-top .sec-faq .faq__tab {
  background-color: #fff;
}
.p-top .sec-faq .faq__tab .faq__tab__inner {
  display: none;
  padding: 11% 4%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab .faq__tab__inner {
    padding: 4.375rem 4rem 4rem;
  }
}
.p-top .sec-faq .faq__tab .faq__tab__inner.tab1 {
  border-top: 3px solid #003784;
}
.p-top .sec-faq .faq__tab .faq__tab__inner.tab2 {
  border-top: 3px solid #FDD23E;
}
.p-top .sec-faq .faq__tab .faq__tab__inner.active {
  display: block;
}
.p-top .sec-faq .faq__tab .faq__list {
  border-bottom: 1px solid #E4E4E4;
  padding-bottom: 5%;
  margin-bottom: 6%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab .faq__list {
    padding-bottom: 30px;
    margin-bottom: 40px;
  }
}
.p-top .sec-faq .faq__tab .faq__list:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}
.p-top .sec-faq .faq__tab .faq__list .faq__question:before,
.p-top .sec-faq .faq__tab .faq__list .faq__answer:before {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
  width: 40px;
  height: 40px;
  border-radius: 50vw;
  margin-right: 1.0625rem;
  margin-top: 0.375rem;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab .faq__list .faq__question:before,
  .p-top .sec-faq .faq__tab .faq__list .faq__answer:before {
    margin-top: -0.375rem;
  }
}
.p-top .sec-faq .faq__tab .faq__list .faq__question {
  position: relative;
  display: flex;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8;
  font-weight: bold;
  padding-right: 11%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab .faq__list .faq__question {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.6;
    padding-right: 5.625rem;
  }
}
.p-top .sec-faq .faq__tab .faq__list .faq__question span {
  width: calc(100% - 57px);
}
@media screen and (max-width: 768px) {
  .p-top .sec-faq .faq__tab .faq__list .faq__question.row1:before {
    position: relative;
    top: -0.25em;
    margin-top: 0;
  }
}
.p-top .sec-faq .faq__tab .faq__list .faq__question:before {
  content: "Q";
  color: #fff;
  background-color: #878478;
}
.p-top .sec-faq .faq__tab .faq__list .faq__question:after {
  font-family: "Material Icons";
  content: "keyboard_arrow_down";
  font-size: 32px;
  font-size: 2rem;
  line-height: 1;
  color: #444;
  position: absolute;
  top: 33%;
  right: 0;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab .faq__list .faq__question:after {
    top: 0.1em;
    right: 0.9em;
  }
}
.p-top .sec-faq .faq__tab .faq__list .faq__question.is-on:after {
  content: "expand_less";
}
.p-top .sec-faq .faq__tab .faq__list .faq__answer {
  display: flex;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.8;
  padding-right: 1%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab .faq__list .faq__answer {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.8;
  }
}
.p-top .sec-faq .faq__tab .faq__list .faq__answer:before {
  content: "A";
  color: #878478;
  background-color: #fff;
  border: 1px solid #878478;
  margin-top: 4%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab .faq__list .faq__answer:before {
    margin-top: 1.5rem;
  }
}
.p-top .sec-faq .faq__tab .faq__list .faq__answer .faq__answer__inner {
  width: calc(100% - 57px);
  margin-top: 4%;
}
@media print, screen and (min-width: 769px) {
  .p-top .sec-faq .faq__tab .faq__list .faq__answer .faq__answer__inner {
    width: calc(100% - 57px);
    margin-top: 1.5rem;
  }
}
.p-top .sec-faq .faq__tab .faq__list .faq__answer p + p {
  margin-top: 1.5em;
}
/*# sourceMappingURL=style.css.map */



/* edited by homma */
.chance {
  background-image: url(../images/chance_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 50px 0 28px;
  width: 84.5%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 65px;
  position: relative;
  border-radius: 10px;
  text-align: center;
}

.chance h3 img {
  position: absolute;
  width: 512px;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.chance .text1 {
  font-size: max(calc(48 / 1920 * 100vw), 40px);
  font-weight: bold;
  margin: 0 auto;
}

.chance .text1 .text1__1 {
  display: inline-block;
  padding: 10px 10px;
  vertical-align: middle;
  color: #fff;
  background-color: #003784;
  border-radius: 10px;
  line-height: calc(61.2 / 48);
}

.chance .text1 br {
  display: none;
}

.chance .text1 .text1__2 {
  color: #003784;
  font-size: max(calc(32 / 1920 * 100vw), 32px);
  margin-left: 8px;
}

.chance .text1 .text1__3 {
  color: #003784;
}

.chance .text2 {
  font-size: 18px;
  font-weight: bold;
  line-height: calc(28.8 / 18);
  width: 74%;
  min-width: 554px;
  margin: 0 auto;
  margin-top: 16px;
  text-align: left;
  color: #003784;
}

.chance .text2 br {
  display: none;
}

.chance .text2 .text2__1 {
  font-size: 16px;
}

.chance .text2 .text2__2 {
  font-size: 12px;
}

.chance .img {
  width: 91%;
  margin-top: 27px;
}

.chance .text3 {
  font-size: max(calc(22 / 1920 * 100vw), 18px);
  font-weight: bold;
  margin: 0 auto;
  margin-top: 8px;
  color: #003784;
  line-height: 61.2px;
}

.chance .text3 br {
  display: none;
}

.chance .text3 .text3__1 {
  color: #444;
}

.chance .text3 .text3__2 {
  font-size: max(calc(32 / 1920 * 100vw), 28px);
}

.chance .text3 .text3__3 {
  border-bottom: 4px solid #FDD23E;
}

.chance .text4 {
  width: 74%;
  min-width: 554px;
  font-size: 14px;
  font-weight: bold;
  line-height: calc(24 / 14);
  margin: 0 auto;
  color: #000;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .chance {
    width: 100%;
    background-image: url(../images/chance_bg_sp.png);
    padding-top: calc(39 / 375 * 100vw);
    padding-bottom: calc(35 / 375 * 100vw);
  }

  .chance h3 img {
    position: absolute;
    width: calc(296 / 375 * 100vw);
  }

  .chance .text1 {
    font-size: calc(32 / 375 * 100vw);
    width: calc(311 / 375 * 100vw);
  }

  .chance .text1 br {
    display: inline-block;
  }

  .chance .text1 .text1__2 {
    font-size: calc(20 / 375 * 100vw);
  }

  .chance .text2 {
    font-size: calc(14 / 375 * 100vw);
    line-height: calc(25.2 / 14);
    margin-top: calc(12 / 375 * 100vw);
    width: calc(311 / 375 * 100vw);
    min-width: 0;
  }

  .chance .text2 br {
    display: inline-block;
  }

  .chance .text2 .text2__1 {
    font-size: calc(14 / 375 * 100vw);
  }
  
  .chance .text2 .text2__2 {
    font-size: calc(12 / 375 * 100vw);
  }

  .chance .img {
    width: calc(311 / 375 * 100vw);
    margin-top: calc(27 / 375 * 100vw);
  }
  
  .chance .text3 {
    font-size: calc(18 / 375 * 100vw);
    margin-top: calc(19 / 375 * 100vw);
    color: #003784;
    line-height: calc(32 / 18);
  }

  .chance .text3 br {
    display: inline-block;
  }

  .chance .text3 .text3__2 {
    font-size: calc(32 / 375 * 100vw);
    line-height: 0;
  }

  .chance .text3 .text3__3 {
    border-bottom: calc(4 / 375 * 100vw) solid #FDD23E;
  }

  .chance .text4 {
    width: calc(311 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    font-weight: bold;
    line-height: calc(24 / 14);
    margin-top: calc(28 / 375 * 100vw);
    min-width: 0;
  }
}