@charset "UTF-8";
/*D5D5D5*/
/*F5F5F5*/
/*
*  html5 doctor css reset | http://html5doctor.com/html-5-reset-stylesheet
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  background-repeat: no-repeat;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/*D5D5D5*/
/*F5F5F5*/
body {
  position: relative;
  background: #fff;
  color: #272727;
  text-align: justify;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
}
@media screen and (min-width: 1020px) {
  body {
    font-family: "Helvetica Neue", HelveticaNeue, helvetica, MyYuGothicM, YuGothic, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif;
  }
}
@media screen and (max-width: 1019px) {
  body {
    font-family: "Helvetica Neue", HelveticaNeue, sans-serif;
  }
}
@media screen and (min-width: 1020px) {
  body {
    width: 100%;
    overflow-x: hidden;
  }
}
body.is-no-scroll {
  overflow: hidden;
}

* {
  background-repeat: no-repeat;
  box-sizing: border-box;
}

p,
ul,
ol,
dl {
  line-height: 2;
}
@media screen and (max-width: 767px) {
  p,
ul,
ol,
dl {
    line-height: 1.85;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
}

a {
  background-repeat: no-repeat;
  text-decoration: none;
  color: inherit;
  transition: color 0.1s linear;
}
@media screen and (min-width: 768px), print {
  a:hover {
    color: #FF9A08;
  }
}
@media screen and (min-width: 1020px) {
  a i {
    position: relative;
    display: inline-block;
  }
  a i::after {
    position: absolute;
    bottom: 0;
    right: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #FF9A08;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    width: 0;
    transition: width 0.3s cubic-bezier(0.73, 0.965, 0.76, 1);
  }
  a:hover i::after {
    width: 100%;
    right: auto;
    left: 0;
  }
}
a[href^="tel:"] {
  color: inherit;
}
a[href^="tel:"]:hover {
  opacity: 0.8;
  color: inherit;
}

button {
  cursor: pointer;
  font-size: 100%;
}

img,
svg {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
@media all and (-ms-high-contrast: none) {
  img,
svg {
    /* IE11 */
  }
  img *::-ms-backdrop, img,
svg *::-ms-backdrop,
svg {
    max-height: 100%;
  }
}

ul,
li {
  list-style: none;
}

i,
em {
  font-style: normal;
}

table {
  width: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-feature-settings: "palt" 1;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 1019px) {
  .wrapper {
    overflow-x: hidden;
  }
}

.js-barba__leave {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
}

[data-trigger] {
  opacity: 0;
  transform: translateY(40px);
  will-change: opacity, transform;
}

body:not(.page-template-page-contact):not(.page-template-page-entry) .grecaptcha-badge {
  visibility: hidden;
}

.mw_wp_form_input .is-input-hidden {
  display: none;
}

.mw_wp_form_confirm .is-confirm-hidden {
  display: none;
}

.post-body a {
  text-decoration: underline;
}
.post-body a:not(.c-button)[href$=".pdf"] {
  margin-right: 2px;
  padding-right: 24px;
}
.post-body a:not(.c-button)[target=_blank] {
  margin-right: 2px;
  padding-right: 25px;
}
.post-body img {
  width: auto;
  height: auto;
  max-width: 100%;
}
.post-body p:not(:last-child) {
  margin-bottom: 20px;
}
.post-body h2 {
  position: relative;
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .post-body h2 {
    margin: 80px 0 35px 0;
    padding-left: 24px;
    font-size: 28px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h2 {
    margin: 60px 0 25px 0;
    padding-left: 18px;
    font-size: 20px;
  }
}
@media screen and (min-width: 1020px) {
  .post-body h2:first-child {
    margin: 0 0 35px 0;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h2:first-child {
    margin: 0 0 25px 0;
  }
}
.post-body h2::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 0;
  border-left: 3px solid #FF9A08;
  height: calc(100% - 10px);
}
.post-body h2 .post-body__sub-copy {
  display: block;
}
@media screen and (min-width: 1020px) {
  .post-body h2 .post-body__sub-copy {
    font-size: 16px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h2 .post-body__sub-copy {
    font-size: 12px;
  }
}
.post-body h3 {
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .post-body h3 {
    margin: 60px 0 25px 0;
    font-size: 24px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h3 {
    margin: 50px 0 20px 0;
    font-size: 18px;
  }
}
@media screen and (min-width: 1020px) {
  .post-body h3:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h3:first-child {
    margin-top: 0;
  }
}
@media screen and (min-width: 1020px) {
  .post-body h4 {
    margin: 50px 0 20px 0;
    font-size: 18px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h4 {
    margin: 50px 0 20px 0;
    font-size: 16px;
  }
}
@media screen and (min-width: 1020px) {
  .post-body h4:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h4:first-child {
    margin-top: 0;
  }
}
@media screen and (min-width: 1020px) {
  .post-body h5,
.post-body h6 {
    margin: 40px 0 20px 0;
    font-size: 16px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h5,
.post-body h6 {
    margin: 40px 0 20px 0;
    font-size: 16px;
  }
}
@media screen and (min-width: 1020px) {
  .post-body h5:first-child,
.post-body h6:first-child {
    margin-top: 0;
  }
}
@media screen and (max-width: 1019px) {
  .post-body h5:first-child,
.post-body h6:first-child {
    margin-top: 0;
  }
}
@media screen and (min-width: 1020px) {
  .post-body ul {
    margin-left: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body ul {
    margin-left: 20px;
  }
}
@media screen and (min-width: 1020px) {
  .post-body ul:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body ul:not(:last-child) {
    margin-bottom: 30px;
  }
}
.post-body ul li {
  margin-left: 1em;
  text-indent: -1.2em;
}
.post-body ul li::before {
  content: "・";
  margin-right: 3px;
}
.post-body ul li:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (min-width: 1020px) {
  .post-body ol {
    margin-left: calc(40px + 1.25em);
  }
}
@media screen and (max-width: 1019px) {
  .post-body ol {
    margin-left: calc(20px + 1.25em);
  }
}
@media screen and (min-width: 1020px) {
  .post-body ol:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body ol:not(:last-child) {
    margin-bottom: 30px;
  }
}
.post-body ol li {
  margin-left: 0;
  text-indent: 0;
  list-style: decimal;
}
.post-body ol li::before {
  content: "";
  margin-right: 0;
}
.post-body ol li:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (min-width: 1020px) {
  .post-body figure:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body figure:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .post-body figure:not(:first-child) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body figure:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .block-editor-writing-flow .post-body figure {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 1019px) {
  .block-editor-writing-flow .post-body figure {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
}

@media screen and (min-width: 1020px) {
  .post-body figure img {
    border-radius: 8px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body figure img {
    border-radius: 5px;
  }
}
.post-body figure figcaption {
  line-height: 1.5;
}
@media screen and (min-width: 1020px) {
  .post-body figure figcaption {
    margin-top: 15px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body figure figcaption {
    margin-top: 10px;
    font-size: 12px;
  }
}
.post-body table {
  position: relative;
  line-height: 1.5;
  width: 100%;
  text-align: left;
}
@media screen and (max-width: 1019px) {
  .post-body table {
    font-size: 14px;
  }
}
@media screen and (min-width: 1020px) {
  .post-body table:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body table:not(:last-child) {
    margin-bottom: 30px;
  }
}
.post-body table th,
.post-body table td {
  border: 1px solid #D6D6D6;
}
@media screen and (min-width: 1020px) {
  .post-body table th,
.post-body table td {
    padding: 20px 25px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body table th,
.post-body table td {
    padding: 15px 20px;
  }
}
.post-body table th {
  background: #F3F3F3;
}
@media screen and (min-width: 1020px) {
  .post-body table th {
    width: 30%;
  }
}
@media screen and (max-width: 1019px) {
  .post-body table th {
    width: 40%;
  }
}
.post-body .is-sp-vertical table {
  border-bottom: 1px solid #D6D6D6;
}
@media screen and (max-width: 1019px) {
  .post-body .is-sp-vertical table tr,
.post-body .is-sp-vertical table th,
.post-body .is-sp-vertical table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
}

@media screen and (min-width: 1020px) {
  .wp-block-image:not(.is-style-rounded) img {
    border-radius: 8px;
  }
}
@media screen and (max-width: 1019px) {
  .wp-block-image:not(.is-style-rounded) img {
    border-radius: 5px;
  }
}

.wp-block-image > div {
  max-width: 100% !important;
  height: auto !important;
}

@media screen and (min-width: 1020px) {
  .wp-block-column:not(:first-child) {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-column:not(:first-child) {
    margin-top: 30px;
  }
}

.wp-block-embed.is-type-video {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px), print {
  .wp-block-embed.is-type-video {
    margin-top: 80px !important;
    margin-bottom: 80px !important;
    width: 75%;
    max-width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-embed.is-type-video {
    width: 100%;
  }
}

.c-button,
.post-body .c-button {
  position: relative;
  padding-right: 27px;
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 17px 60px 17px 30px;
  border: 1px solid #D6D6D6;
  border-radius: 999px;
  background: #fff;
  text-align: left;
  line-height: 1.5;
  text-decoration: none;
  overflow: hidden;
  transition: box-shadow 0.2s linear, border-color 0.2s linear, color 0.2s linear;
  font-size: 16px;
}
.c-button::after,
.post-body .c-button::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button::after, button:hover .c-button::after, .c-button:hover::after,
a:hover .post-body .c-button::after,
button:hover .post-body .c-button::after,
.post-body .c-button:hover::after {
    transform: translateY(-50%) translateX(3px);
  }
}
.c-button::before,
.post-body .c-button::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: #212E69;
  transition: width 0.3s cubic-bezier(0.73, 0.965, 0.76, 1);
  will-change: opacity, width;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button::before, .c-button:hover::before,
a:hover .post-body .c-button::before,
.post-body .c-button:hover::before {
    width: 100%;
    left: 0;
    right: auto;
  }
}

@media screen and (min-width: 1020px) {
  .c-button,
.post-body .c-button {
    min-width: 335px;
  }
}
@media screen and (max-width: 1019px) {
  .c-button,
.post-body .c-button {
    width: 100%;
  }
}
@media screen and (min-width: 1020px) {
  .c-button:not(:last-child),
.post-body .c-button:not(:last-child) {
    margin-right: 20px;
  }
}
@media screen and (max-width: 1019px) {
  .c-button:not(:last-child),
.post-body .c-button:not(:last-child) {
    margin-bottom: 15px;
  }
}
.c-button span,
.post-body .c-button span {
  display: inline-block;
  position: relative;
}
.c-button small,
.post-body .c-button small {
  font-size: 85%;
}
.c-button.-green,
.post-body .c-button.-green {
  color: #fff;
  border: none;
  background: #FF9A08;
  position: relative;
}
.c-button.-green::after,
.post-body .c-button.-green::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right_white.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button.-green::after, button:hover .c-button.-green::after, .c-button.-green:hover::after,
a:hover .post-body .c-button.-green::after,
button:hover .post-body .c-button.-green::after,
.post-body .c-button.-green:hover::after {
    transform: translateY(-50%) translateX(3px);
  }
}
.c-button.-green::before,
.post-body .c-button.-green::before {
  background: #74C412;
}
.c-button.-green[target=_blank] span,
.post-body .c-button.-green[target=_blank] span {
  background: url(../images/icon_external_green.svg) no-repeat right center/17px !important;
}
.c-button.-pink,
.post-body .c-button.-pink {
  color: #fff;
  border: none;
  background: #E14E78;
  position: relative;
}
.c-button.-pink::after,
.post-body .c-button.-pink::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right_white_pink.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button.-pink::after, button:hover .c-button.-pink::after, .c-button.-pink:hover::after,
a:hover .post-body .c-button.-pink::after,
button:hover .post-body .c-button.-pink::after,
.post-body .c-button.-pink:hover::after {
    transform: translateY(-50%) translateX(3px);
  }
}
.c-button.-pink::before,
.post-body .c-button.-pink::before {
  background: #e56489;
}
.c-button.-back,
.post-body .c-button.-back {
  position: relative;
  padding-left: 27px;
  padding: 17px 30px 17px 60px;
}
.c-button.-back::after,
.post-body .c-button.-back::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 30px;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right.svg) no-repeat center center/contain;
  transform: translateY(-50%) scaleX(-1);
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button.-back::after, button:hover .c-button.-back::after, .c-button.-back:hover::after,
a:hover .post-body .c-button.-back::after,
button:hover .post-body .c-button.-back::after,
.post-body .c-button.-back:hover::after {
    transform: translateY(-50%) translateX(3px);
    transform: translateY(-50%) scaleX(-1) translateX(3px);
  }
}
.c-button.-back.-green,
.post-body .c-button.-back.-green {
  position: relative;
}
.c-button.-back.-green::after,
.post-body .c-button.-back.-green::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 30px;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right_white.svg) no-repeat center center/contain;
  transform: translateY(-50%) scaleX(-1);
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button.-back.-green::after, button:hover .c-button.-back.-green::after, .c-button.-back.-green:hover::after,
a:hover .post-body .c-button.-back.-green::after,
button:hover .post-body .c-button.-back.-green::after,
.post-body .c-button.-back.-green:hover::after {
    transform: translateY(-50%) translateX(3px);
    transform: translateY(-50%) scaleX(-1) translateX(3px);
  }
}
.c-button.-white,
.post-body .c-button.-white {
  color: #272727;
  border: 1px solid #D6D6D6;
  background: #fff;
  position: relative;
  padding-right: 27px;
}
.c-button.-white::after,
.post-body .c-button.-white::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button.-white::after, button:hover .c-button.-white::after, .c-button.-white:hover::after,
a:hover .post-body .c-button.-white::after,
button:hover .post-body .c-button.-white::after,
.post-body .c-button.-white:hover::after {
    transform: translateY(-50%) translateX(3px);
  }
}
@media screen and (min-width: 1020px) {
  .c-button.-white:hover,
.post-body .c-button.-white:hover {
    color: #FF9A08;
  }
}
.c-button.-white-alpha,
.post-body .c-button.-white-alpha {
  color: #272727;
  border: none;
  background: rgba(255, 255, 255, 0.9);
  position: relative;
  padding-right: 27px;
}
.c-button.-white-alpha::after,
.post-body .c-button.-white-alpha::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button.-white-alpha::after, button:hover .c-button.-white-alpha::after, .c-button.-white-alpha:hover::after,
a:hover .post-body .c-button.-white-alpha::after,
button:hover .post-body .c-button.-white-alpha::after,
.post-body .c-button.-white-alpha:hover::after {
    transform: translateY(-50%) translateX(3px);
  }
}
@media screen and (min-width: 1020px) {
  .c-button.-white-alpha:hover,
.post-body .c-button.-white-alpha:hover {
    color: #FF9A08;
  }
}
.c-button.-bold,
.post-body .c-button.-bold {
  font-weight: 700;
}
.c-button.-large,
.post-body .c-button.-large {
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 18px;
}
.c-button.-small,
.post-body .c-button.-small {
  padding: 15px 60px 15px 20px;
  font-size: 14px;
}
.c-button.-compact,
.post-body .c-button.-compact {
  width: auto;
  min-width: auto;
  display: inline-block;
  padding: 10px 0 10px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #D6D6D6;
  overflow: visible;
  background: none;
  position: relative;
  padding-right: 27px;
  font-size: 15px;
}
.c-button.-compact::after,
.post-body .c-button.-compact::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button.-compact::after, button:hover .c-button.-compact::after, .c-button.-compact:hover::after,
a:hover .post-body .c-button.-compact::after,
button:hover .post-body .c-button.-compact::after,
.post-body .c-button.-compact:hover::after {
    transform: translateY(-50%) translateX(3px);
  }
}
.c-button.-compact::before,
.post-body .c-button.-compact::before {
  position: absolute;
  top: 100%;
  height: 1px;
  background-color: #FF9A08;
}
@media screen and (min-width: 1020px) {
  .c-button.-compact:hover::before,
.post-body .c-button.-compact:hover::before {
    height: 1px;
  }
}
.c-button.-compact[target=_blank],
.post-body .c-button.-compact[target=_blank] {
  background: url(../images/icon_external_green.svg) no-repeat right center/17px !important;
}
.c-button.-compact[target=_blank]::after,
.post-body .c-button.-compact[target=_blank]::after {
  display: none !important;
}
.c-button.-compact.-pink,
.post-body .c-button.-compact.-pink {
  position: relative;
}
.c-button.-compact.-pink::after,
.post-body .c-button.-compact.-pink::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right_pink.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-button.-compact.-pink::after, button:hover .c-button.-compact.-pink::after, .c-button.-compact.-pink:hover::after,
a:hover .post-body .c-button.-compact.-pink::after,
button:hover .post-body .c-button.-compact.-pink::after,
.post-body .c-button.-compact.-pink:hover::after {
    transform: translateY(-50%) translateX(3px);
  }
}
.c-button.-compact.-pink::before,
.post-body .c-button.-compact.-pink::before {
  background-color: #E14E78;
}
.c-button:not(.-has-icon)[href$=".pdf"],
.post-body .c-button:not(.-has-icon)[href$=".pdf"] {
  padding-right: 30px;
}
.c-button:not(.-has-icon)[href$=".pdf"]::after,
.post-body .c-button:not(.-has-icon)[href$=".pdf"]::after {
  display: none;
}
.c-button:not(.-has-icon)[href$=".pdf"] span,
.post-body .c-button:not(.-has-icon)[href$=".pdf"] span {
  width: 100%;
  margin-right: 2px;
  padding-right: 24px;
  background: url(../images/icon_pdf.svg) no-repeat right center/15px;
}
.c-button:not(.-has-icon)[href$=".xlsx"],
.post-body .c-button:not(.-has-icon)[href$=".xlsx"] {
  padding-right: 30px;
}
.c-button:not(.-has-icon)[href$=".xlsx"]::after,
.post-body .c-button:not(.-has-icon)[href$=".xlsx"]::after {
  display: none;
}
.c-button:not(.-has-icon)[href$=".xlsx"] span,
.post-body .c-button:not(.-has-icon)[href$=".xlsx"] span {
  width: 100%;
  margin-right: 2px;
  padding-right: 24px;
  background: url(../images/icon_excel.svg) no-repeat right center/15px;
}
.c-button:not(.-has-icon)[target=_blank],
.post-body .c-button:not(.-has-icon)[target=_blank] {
  padding-right: 30px;
}
.c-button:not(.-has-icon)[target=_blank]::after,
.post-body .c-button:not(.-has-icon)[target=_blank]::after {
  display: none;
}
.c-button:not(.-has-icon)[target=_blank] span,
.post-body .c-button:not(.-has-icon)[target=_blank] span {
  width: 100%;
  margin-right: 2px;
  padding-right: 24px;
  background: url(../images/icon_external.svg) no-repeat right center/16px;
}
.c-button.-arrow-under::after,
.post-body .c-button.-arrow-under::after {
  transform: rotate(90deg) translateX(-7px) !important;
}

@media screen and (min-width: 1020px) {
  .c-buttons:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-buttons:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .c-buttons:not(:first-child) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-buttons:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .block-editor-writing-flow .c-buttons {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 1019px) {
  .block-editor-writing-flow .c-buttons {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
}

@media screen and (min-width: 1020px) {
  .c-buttons.-narrow:not(:last-child) {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1019px) {
  .c-buttons.-narrow:not(:last-child) {
    margin-top: 15px;
    margin-bottom: 15px;
  }
}
.c-buttons.-center {
  text-align: center;
}
.c-buttons.-right {
  text-align: right;
}
@media screen and (max-width: 1019px) {
  .c-buttons.-sp-right {
    text-align: right;
  }
}

@media screen and (min-width: 1020px) {
  .c-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 80px;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 1019px) {
  .c-container {
    padding: 0 5.3333333333vw;
  }
}
@media screen and (min-width: 1020px) {
  .c-container.-wide {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 80px;
    box-sizing: content-box;
  }
}
@media screen and (min-width: 1020px) {
  .c-container.-narrow {
    max-width: 1040px;
  }
}

@media screen and (min-width: 1020px) {
  .c-flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex:not(:last-child) {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 1019px) {
  .c-flex:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex:not(:first-child) {
    margin-top: 60px;
  }
}
@media screen and (max-width: 1019px) {
  .c-flex:not(:first-child) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex__box {
    flex: 1;
    width: 50%;
  }
  .c-flex__box:not(:last-child) {
    margin-right: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-flex__box:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex__box:first-child:nth-last-child(3) ~ .c-flex__box:not(:last-child), .c-flex__box:first-child:nth-last-child(3):not(:last-child) {
    margin-right: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex__box.-align-top {
    align-self: flex-start;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex.-large-gutter .c-flex__box:not(:last-child) {
    margin-right: 60px;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex.-align-center {
    align-items: center;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex.-align-stretch {
    align-items: stretch;
  }
}
@media screen and (max-width: 1019px) {
  .c-flex.-sp-col-reverse {
    flex-direction: column-reverse;
  }
}
.c-flex.-reverse {
  flex-direction: row-reverse;
}
@media screen and (min-width: 1020px) {
  .c-flex.-reverse .c-flex__box:not(:last-child) {
    margin-left: 40px;
    margin-right: 0;
  }
}
@media screen and (min-width: 1020px) {
  .c-flex.-reverse.-large-gutter .c-flex__box:not(:last-child) {
    margin-left: 60px;
    margin-right: 0;
  }
}

.c-form {
  position: relative;
  text-align: left;
}
.c-form table {
  line-height: 1.3;
}
@media screen and (min-width: 1020px) {
  .c-form table {
    margin-top: -30px;
    margin-bottom: 60px;
  }
}
@media screen and (min-width: 1020px) {
  .c-form table th,
.c-form table td {
    vertical-align: top;
    padding: 30px 30px 30px 0;
    border-bottom: 1px solid #D6D6D6;
  }
}
@media screen and (max-width: 1019px) {
  .c-form table th,
.c-form table td {
    display: block;
    position: relative;
  }
}
.c-form table th:last-child,
.c-form table td:last-child {
  padding-right: 0;
}
@media screen and (min-width: 1020px) {
  .c-form table th {
    padding-top: 40px;
    white-space: nowrap;
  }
}
@media screen and (max-width: 1019px) {
  .c-form table tr {
    display: block;
    padding-bottom: 30px;
    border-bottom: 1px solid #D6D6D6;
  }
  .c-form table tr:not(:last-child) {
    margin-bottom: 30px;
  }
}
.c-form table tr:last-child th,
.c-form table tr:last-child td {
  border-bottom: none;
}
.c-form table th {
  font-weight: 700;
}
@media screen and (min-width: 1020px) {
  .c-form table th {
    width: 180px;
  }
}
@media screen and (max-width: 1019px) {
  .c-form table th {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 1020px) {
  .c-form table td:last-child {
    width: 70%;
  }
}
.c-form input[type=text],
.c-form input[type=date],
.c-form input[type=tel],
.c-form input[type=email],
.c-form textarea,
.c-form select {
  width: 100%;
  border: 1px solid #D6D6D6;
  border-radius: 5px;
  font-size: 16px;
  padding: 8px 10px;
  line-height: 1.5;
  font-family: sans-serif;
  background: #fff;
}
.c-form select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-form input[type=radio],
.c-form input[type=checkbox] {
  transform: scale(1.2);
  vertical-align: text-top;
  margin-right: 6px;
}
.c-form h5 {
  margin-top: 8px;
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .c-form h5 {
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 1019px) {
  .c-form h5 {
    margin-bottom: 10px;
  }
}
.c-form__note {
  margin-top: 15px;
  font-size: 14px;
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .c-form__size-small {
    width: 200px !important;
  }
}
.c-form__select {
  position: relative;
}
.c-form__select select::after {
  content: "";
  position: absolute;
  top: 21px;
  right: 15px;
  transform: translateY(-50%);
  font-weight: 400;
  width: 9px;
  height: 5px;
}
.mw_wp_form_confirm .c-form__select select::after {
  display: none;
}

.c-form__select select {
  background: #fff;
}
.c-form__must, .c-form__option {
  display: inline-block;
  text-align: center;
  color: #fff;
  background: #FF9A08;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 2px;
  white-space: nowrap;
}
@media screen and (min-width: 1020px) {
  .c-form__must, .c-form__option {
    margin-top: 4px;
    padding: 6px 18px 6px 20px;
  }
}
@media screen and (max-width: 1019px) {
  .c-form__must, .c-form__option {
    position: absolute;
    right: 0;
    top: -2px;
    white-space: nowrap;
    font-size: 12px;
    transform: translateY(-100%) translateY(-10px);
    padding: 5px 15px 5px 17px;
  }
}
.c-form__option {
  background: #B5BEC4;
}
.c-form__block:not(:last-child) {
  margin-bottom: 30px;
}
@media screen and (min-width: 1020px) {
  .c-form__postcode p {
    display: inline;
  }
}
@media screen and (min-width: 1020px) {
  .c-form__postcode .c-form__note {
    display: inline-block;
    margin-left: 15px;
  }
}
@media screen and (min-width: 1020px) {
  .c-form__check {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 1019px) {
  .c-form__check {
    margin-top: 20px;
  }
}
.c-form__check .mwform-radio-field {
  margin: 10px 20px 10px 0 !important;
}
@media screen and (max-width: 1019px) {
  .c-form__check .mwform-radio-field {
    display: block;
    margin: 10px 20px 0 0 !important;
  }
}
.c-form__check .mwform-checkbox-field {
  margin: 10px 20px 10px 0 !important;
}
@media screen and (max-width: 1019px) {
  .c-form__check .mwform-checkbox-field {
    display: block;
    margin: 15px 20px 15px 0 !important;
  }
  .c-form__check .mwform-checkbox-field:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1020px) {
  .c-form__address {
    display: flex;
    flex-wrap: wrap;
  }
  .c-form__address h5 {
    width: 100%;
  }
  .c-form__address > div:last-child {
    margin-left: 20px;
    flex: 1;
  }
}
@media screen and (max-width: 1019px) {
  .c-form__address .c-form__address-detail {
    margin-top: 15px;
  }
}
.c-form__privacy {
  text-align: center;
  font-weight: 700;
}
.c-form__privacy input[type=checkbox] {
  margin-right: 5px;
}
@media screen and (min-width: 1020px) {
  .c-form__privacy {
    font-size: 18px;
  }
}
.c-form__submit {
  text-align: center;
}
@media screen and (min-width: 1020px) {
  .c-form__submit {
    margin: 60px 0 0;
  }
}
@media screen and (max-width: 1019px) {
  .c-form__submit {
    margin: 40px 0 0;
  }
}
.c-form__submit button {
  outline: none;
  padding: 20px;
  font-size: 18px;
  background: #FF9A08;
  border: none;
  border-radius: 999px;
  color: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
}
.c-form__submit button::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
  width: 15px;
  height: 15px;
  background: url(../images/icon_circle_arrow_right_white.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  a:hover .c-form__submit button::after, button:hover .c-form__submit button::after, .c-form__submit button:hover::after {
    transform: translateY(-50%) translateX(3px);
  }
}
@media screen and (min-width: 1020px) {
  .c-form__submit button {
    min-width: 320px;
  }
}
@media screen and (max-width: 1019px) {
  .c-form__submit button {
    width: 100%;
  }
}
@media screen and (min-width: 1020px) {
  .c-form__submit button:not(:last-child) {
    margin-right: 20px;
  }
}
@media screen and (max-width: 1019px) {
  .c-form__submit button:not(:last-child) {
    margin-bottom: 15px;
  }
}

.wpcf7 form .ajax-loader {
  display: block;
  margin: 30px auto 0 auto;
}

.wpcf7 form .wpcf7-not-valid-tip {
  margin-top: 10px;
}

.wpcf7 form .wpcf7-response-output {
  text-align: center;
  margin: 0;
  padding: 30px;
  line-height: 1.5;
}

.mw_wp_form .c-form .error {
  color: #E14E78;
  margin-top: 0.5em;
}
@media screen and (min-width: 768px), print {
  .mw_wp_form .c-form .c-form__check:not(.is-composite) .error {
    margin-top: 0;
  }
}

.c-heading {
  position: relative;
}
.c-heading.-title {
  border-bottom: 1px solid #D6D6D6;
  font-weight: 400;
  line-height: 1.3;
}
@media screen and (min-width: 1020px) {
  .c-heading.-title {
    margin: -3px 0 40px;
    padding-bottom: 35px;
    font-size: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-title {
    margin: 0 0 25px;
    padding-bottom: 18px;
    font-size: 24px;
  }
}
.c-heading.-large {
  position: relative;
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .c-heading.-large {
    margin: 80px 0 35px 0;
    padding-left: 24px;
    font-size: 28px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-large {
    margin: 60px 0 25px 0;
    padding-left: 18px;
    font-size: 20px;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-large:first-child {
    margin: 0 0 35px 0;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-large:first-child {
    margin: 0 0 25px 0;
  }
}
.c-heading.-large::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 0;
  border-left: 3px solid #FF9A08;
  height: calc(100% - 10px);
}
.c-heading.-large .c-heading__sub-copy {
  display: block;
}
@media screen and (min-width: 1020px) {
  .c-heading.-large .c-heading__sub-copy {
    font-size: 16px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-large .c-heading__sub-copy {
    font-size: 12px;
  }
}
.c-heading.-medium {
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .c-heading.-medium {
    margin: 0 0 25px 0;
    font-size: 24px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-medium {
    margin: 0 0 20px 0;
    font-size: 18px;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-small {
    margin: 40px 0 20px 0;
    font-size: 18px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-small {
    margin: 40px 0 20px 0;
    font-size: 16px;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-small:first-child {
    margin: 0 0 20px 0;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-small:first-child {
    margin: 0 0 20px 0;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-x-small {
    margin: 40px 0 20px 0;
    font-size: 16px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-x-small {
    margin: 40px 0 20px 0;
    font-size: 14px;
  }
}
.c-heading.-border {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 1020px) {
  .c-heading.-border {
    margin-bottom: 30px;
    font-size: 20px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-border {
    margin-bottom: 20px;
    font-size: 16px;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-border:not(:first-child) {
    margin-top: 60px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-border:not(:first-child) {
    margin-top: 40px;
  }
}
.c-heading.-border::before, .c-heading.-border::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #D6D6D6;
}
.c-heading.-border::before {
  margin-right: 1em;
}
.c-heading.-border::after {
  margin-left: 1em;
}
.c-heading.-short-margin {
  margin-top: 0;
  margin-bottom: 10px;
}
.c-heading.-has-en {
  text-align: center;
}
@media screen and (min-width: 1020px) {
  .c-heading.-has-en.-left {
    text-align: left;
  }
  .c-heading.-has-en.-left .c-heading__en {
    margin-left: 0.15em;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-has-en.-pc-left {
    text-align: left;
  }
  .c-heading.-has-en.-pc-left .c-heading__en {
    margin-left: 0.15em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1019px) {
  .c-heading.-has-en.-tablet-left {
    text-align: left;
  }
  .c-heading.-has-en.-tablet-left .c-heading__en {
    margin-left: 0.15em;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-has-en.-right {
    text-align: right;
  }
  .c-heading.-has-en.-right .c-heading__en {
    margin-right: 0.15em;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-has-en {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-has-en {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-has-en:not(:first-child) {
    margin-top: 120px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-has-en:not(:first-child) {
    margin-top: 60px;
  }
}
@media screen and (min-width: 1020px) {
  .post-body > .c-heading.-has-en:first-child {
    margin-top: 80px;
  }
}
@media screen and (max-width: 1019px) {
  .post-body > .c-heading.-has-en:first-child {
    margin-top: 60px;
  }
}

.c-heading.-has-en .c-heading__en {
  display: inline-block;
  margin-bottom: 5px;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #E14E78;
  background-image: linear-gradient(to right, #E14E78 0%, #FDAB01 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-transform: uppercase;
}
@media screen and (min-width: 1020px) {
  .c-heading.-has-en .c-heading__en {
    font-size: 17px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-has-en .c-heading__en {
    font-size: 13px;
  }
}
@media all and (-ms-high-contrast: none) {
  .c-heading.-has-en .c-heading__en {
    /* IE11 */
  }
  .c-heading.-has-en .c-heading__en *::-ms-backdrop, .c-heading.-has-en .c-heading__en {
    background-image: none;
  }
}
.c-heading.-has-en .c-heading__ja {
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0;
}
.c-heading.-has-en .c-heading__ja::before {
  display: none;
}
@media screen and (min-width: 1020px) {
  .c-heading.-has-en .c-heading__ja {
    font-size: 32px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-has-en .c-heading__ja {
    font-size: 24px;
  }
}
@media screen and (min-width: 1020px) {
  .c-heading.-vertical {
    margin-left: 40px;
    margin-right: 40px;
    text-align: left;
    -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
    text-orientation: upright;
  }
  .c-heading.-vertical .c-heading__en {
    position: relative;
    top: 2px;
    margin-left: 4px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-orientation: mixed;
  }
  .c-heading.-vertical .c-heading__ja {
    letter-spacing: 0.1em;
    font-size: 36px;
  }
}
.c-heading.-serif {
  text-align: left;
  font-family: YakuHanMP, "Shippori Mincho", YuMincho, "Yu Mincho", "Noto Serif JP", serif;
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .c-heading.-serif {
    margin-bottom: 30px;
    font-size: 24px;
  }
}
@media screen and (max-width: 1019px) {
  .c-heading.-serif {
    margin-bottom: 20px;
    font-size: 20px;
  }
}
.c-heading.-center {
  text-align: center;
}
.c-heading__title-date {
  float: left;
  width: 120px;
  color: #FF9A08;
  font-size: 18px;
  transform: translateY(2px);
}
@media screen and (max-width: 767px) {
  .c-heading__title-date {
    font-size: 14px;
  }
}
.c-heading__title-category {
  float: left;
  display: block;
  text-align: center;
  font-weight: 700;
  color: #FF9A08;
  border-radius: 999px;
  border: 1px solid #FF9A08;
}
@media screen and (min-width: 768px), print {
  .c-heading__title-category {
    margin-right: 15px;
    padding: 4px 15px;
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .c-heading__title-category {
    margin-right: 10px;
    padding: 3px 12px;
    font-size: 12px;
  }
}
.c-heading__title-label {
  display: block;
  clear: both;
}
@media screen and (min-width: 768px), print {
  .c-heading__title-label {
    padding-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .c-heading__title-label {
    padding-top: 12px;
  }
}

@media screen and (min-width: 1020px) {
  .c-image:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-image:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .c-image:not(:first-child) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-image:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .block-editor-writing-flow .c-image {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 1019px) {
  .block-editor-writing-flow .c-image {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
}

@media screen and (min-width: 1020px) {
  .c-image img {
    border-radius: 8px;
  }
}
@media screen and (max-width: 1019px) {
  .c-image img {
    border-radius: 5px;
  }
}

.c-section {
  position: relative;
}
@media screen and (min-width: 1020px) {
  .c-section {
    margin: 140px 0;
  }
}
@media screen and (max-width: 1019px) {
  .c-section {
    margin: 90px 0;
  }
}

.c-table {
  position: relative;
  line-height: 1.5;
  width: 100%;
  border-bottom: 1px solid #D6D6D6;
}
@media screen and (max-width: 767px) {
  .c-table {
    font-size: 14px;
    text-align: left;
  }
}
@media screen and (min-width: 1020px) {
  .c-table:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-table:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .c-table:not(:first-child) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-table:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .block-editor-writing-flow .c-table {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 1019px) {
  .block-editor-writing-flow .c-table {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
}

.c-table th,
.c-table td {
  vertical-align: middle;
  border-top: 1px solid #D6D6D6;
}
@media screen and (min-width: 1020px) {
  .c-table th,
.c-table td {
    padding: 35px 25px;
  }
}
@media screen and (max-width: 1019px) {
  .c-table th,
.c-table td {
    padding: 15px 20px;
  }
}
.c-table th {
  width: 20%;
}
@media screen and (max-width: 767px) {
  .c-table th {
    width: 20%;
    padding-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .c-table td {
    padding-right: 0;
  }
}
.c-table.-facility th,
.c-table.-facility td {
  text-align: left;
}

.c-tel {
  display: inline-block;
  font-family: "Helvetica Neue", HelveticaNeue, "Roboto", MyYuGothicM, YuGothic, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  margin-bottom: 15px;
  color: #FF9A08;
}
.c-tel a {
  text-decoration: none;
}
@media screen and (min-width: 1020px) {
  .c-tel {
    padding-left: 36px;
    font-size: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-tel {
    padding-left: 30px;
    font-size: 32px;
  }
}
@media screen and (min-width: 768px), print {
  .c-tel.-fax {
    padding-left: 44px;
    font-size: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c-tel.-fax {
    padding-left: 34px;
    font-size: 32px;
  }
}
.c-tel__note {
  font-size: 16px;
}

@media screen and (min-width: 1020px) {
  .c-text:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-text:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .c-text:not(:first-child) {
    margin-top: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .c-text:not(:first-child) {
    margin-top: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .block-editor-writing-flow .c-text {
    margin-top: 40px !important;
    margin-bottom: 40px !important;
  }
}
@media screen and (max-width: 1019px) {
  .block-editor-writing-flow .c-text {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
  }
}

h2 + .c-text:not(:first-child), h3 + .c-text:not(:first-child), h4 + .c-text:not(:first-child), h5 + .c-text:not(:first-child), h6 + .c-text:not(:first-child) {
  margin-top: 0;
}

.c-text a {
  text-decoration: underline;
}
.c-text p:not(:last-child) {
  margin-bottom: 20px;
}
.c-text small {
  font-size: 75%;
}
@media screen and (min-width: 768px), print {
  .c-text ul {
    margin-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-text ul {
    margin-left: 20px;
  }
}
@media screen and (min-width: 768px), print {
  .c-text ul:not(:last-child) {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-text ul:not(:last-child) {
    margin-bottom: 20px;
  }
}
.c-text ul li {
  margin-left: 1em;
  text-indent: -1.2em;
}
.c-text ul li::before {
  content: "・";
  margin-right: 3px;
}
.c-text ul li:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px), print {
  .c-text ol {
    margin-left: calc(20px + 1.25em);
  }
}
@media screen and (max-width: 767px) {
  .c-text ol {
    margin-left: calc(20px + 1.25em);
  }
}
@media screen and (min-width: 768px), print {
  .c-text ol:not(:last-child) {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .c-text ol:not(:last-child) {
    margin-bottom: 20px;
  }
}
.c-text ol li {
  margin-left: 0;
  text-indent: 0;
  list-style: decimal;
}
.c-text ol li::before {
  content: "";
  margin-right: 0;
}
.c-text ol li:not(:last-child) {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px), print {
  .c-text.-lead {
    font-size: 18px;
  }
}
.c-text.-small {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-text.-sp-small {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px), print {
  .c-text.-big {
    font-size: 18px;
  }
}
.c-text.-bold {
  font-weight: 700;
}
.c-text.-narrow {
  margin-bottom: 0.2em;
}
.c-text.-little-narrow {
  margin-bottom: 0.8em;
}
.c-text.-center {
  text-align: center;
}
@media screen and (min-width: 768px), print {
  .c-text.-pc-center {
    text-align: center;
  }
}
@media screen and (min-width: 768px), print {
  .c-text.-pc-right {
    text-align: right;
  }
}
.c-text__pink {
  color: #E14E78;
}
.c-text.-gray {
  color: #555;
}

.header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 300;
  background-color: #fff;
  transition: transform 0.4s cubic-bezier(0.73, 0.965, 0.76, 1), background-color 0.2s linear;
}
@media screen and (min-width: 1020px) {
  .header {
    height: 112px;
  }
}
@media screen and (max-width: 1019px) {
  .header {
    height: 70px;
  }
}
.is-scroll-under .header {
  transform: translate3d(0, -100%, 0);
}

.header.has-background {
  background-color: #fff;
}
.header__logo {
  position: absolute;
  z-index: 200;
}
@media screen and (min-width: 1020px) {
  .header__logo {
    top: 33px;
    left: 40px;
    width: 290px;
    margin: 0 auto;
    transition: 0.2s ease;
  }
  .header.has-background .header__logo {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 1019px) {
  .header__logo {
    left: 20px;
    top: 21px;
    width: 168px;
  }
}
.header__logo img {
  transition: opacity 0.2s linear;
}
.header__logo img.-white {
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
}
.header__logo a {
  display: block;
}
@media screen and (min-width: 1020px) {
  .header__logo a:hover {
    opacity: 0.9;
  }
}
.is-white-color-header .header:not(.is-opened):not(.has-background) .header__logo img.-black {
  opacity: 0;
}
.is-white-color-header .header:not(.is-opened):not(.has-background) .header__logo img.-white {
  opacity: 1;
}
.is-white-color-header .header:not(.is-opened):not(.has-background) .header__logo a > span {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.8);
}

@media screen and (max-width: 1019px) {
  .sp-logo-white .header:not(.is-opened):not(.has-background) .header__logo img.-black {
    opacity: 0;
  }
  .sp-logo-white .header:not(.is-opened):not(.has-background) .header__logo img.-white {
    opacity: 1;
  }
  .sp-logo-white .header:not(.is-opened):not(.has-background) .header__logo a > span {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.8);
  }
}
@media screen and (min-width: 1020px) {
  .pc-logo-white .header:not(.is-opened):not(.has-background) .header__logo img.-black {
    opacity: 0;
  }
  .pc-logo-white .header:not(.is-opened):not(.has-background) .header__logo img.-white {
    opacity: 1;
  }
  .pc-logo-white .header:not(.is-opened):not(.has-background) .header__logo a > span {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.8);
  }
}
.header__sp-menu-button {
  position: absolute;
  right: 11px;
  top: 16px;
  z-index: 400;
  width: 40px;
  font-size: 10px;
  line-height: 1.75;
  text-align: center;
  white-space: nowrap;
  padding-top: 26px;
  transition: color 0.2s linear;
}
@media screen and (min-width: 1020px) {
  .header__sp-menu-button {
    display: none;
  }
}
.is-white-color-header .header__sp-menu-button, .is-white-color-menu .header__sp-menu-button {
  color: #fff;
}

.sp-menu-white .header__sp-menu-button {
  color: #fff;
}

.header.has-background .header__sp-menu-button {
  color: #272727;
}

.header__sp-menu-button span {
  position: absolute;
  left: 6px;
  top: 6px;
  height: 10px;
}
.header__sp-menu-button i {
  transition: all 0.2s ease-out;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  box-sizing: content-box;
  width: 26px;
  height: 1px;
  will-change: transform;
  background: #272727;
}
.is-white-color-header .header__sp-menu-button i, .is-white-color-menu .header__sp-menu-button i {
  background: #fff;
}

.sp-menu-white .header__sp-menu-button i {
  background: #fff;
}

.header.has-background .header__sp-menu-button i {
  background: #272727;
}

.header__sp-menu-button i:nth-of-type(1) {
  top: 0;
}
.header__sp-menu-button i:nth-of-type(2) {
  top: 100%;
}
.header__sp-menu-button.is-opened {
  color: #272727;
}
.header__sp-menu-button.is-opened i {
  background: #272727;
}
.header__sp-menu-button.is-opened i:nth-of-type(1) {
  top: 50%;
  transform: rotate(30deg);
}
.header__sp-menu-button.is-opened i:nth-of-type(2) {
  top: 50%;
  transform: rotate(-30deg);
}
@media screen and (max-width: 1019px) {
  .header__sp-menu-index {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background: #F3F3F3;
    -webkit-overflow-scrolling: touch;
    will-change: transform;
    text-align: center;
    transform: translateY(-100%);
    padding: 120px 0 80px;
  }
  .header__sp-menu-index.is-opened {
    transform: translateY(0);
    -webkit-animation: slideIn 0.4s cubic-bezier(0.84, 0.09, 0.2, 1);
            animation: slideIn 0.4s cubic-bezier(0.84, 0.09, 0.2, 1);
    -webkit-animation-fill-mode: none;
            animation-fill-mode: none;
  }
  .header__sp-menu-index.is-opened .header__sp-menu-index-inner {
    opacity: 1;
  }
  .header__sp-menu-index.is-closing {
    -webkit-animation: slideOut 0.4s cubic-bezier(0.84, 0.09, 0.2, 1);
            animation: slideOut 0.4s cubic-bezier(0.84, 0.09, 0.2, 1);
  }
  @-webkit-keyframes slideIn {
    0% {
      transform: translateY(-100%);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes slideIn {
    0% {
      transform: translateY(-100%);
    }
    100% {
      transform: translateY(0);
    }
  }
  @-webkit-keyframes slideOut {
    0% {
      transform: translateY(0%);
    }
    100% {
      transform: translateY(-100%);
    }
  }
  @keyframes slideOut {
    0% {
      transform: translateY(0%);
    }
    100% {
      transform: translateY(-100%);
    }
  }
}
@media screen and (max-width: 1019px) and (max-width: 1019px) {
  .header__sp-menu-index-inner {
    opacity: 0;
    transition: opacity 0.2s linear 0.5s;
  }
}
@media screen and (max-width: 1019px) and (max-width: 1019px) and (orientation: landscape) {
  .header__sp-menu-index-inner {
    align-self: flex-start;
  }
}
@media screen and (min-width: 1020px) {
  .header__nav {
    position: absolute;
    top: 33px;
    right: 25px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    transition: 0.2s ease;
  }
  .is-white-color-header .header,
.is-white-color-menu .header,
.pc-menu-white .header {
    color: #fff;
  }

  .header.has-background .header__nav {
    top: 50%;
    transform: translateY(-50%);
  }

  .header.has-background .header__nav {
    color: #272727;
  }
}
.header__nav li small {
  display: block;
  font-size: 12px;
  color: #52BFE0;
  line-height: 1.5;
}
@media screen and (min-width: 1020px) {
  .header__nav li small {
    font-family: "Helvetica Neue", HelveticaNeue, helvetica, MyYuGothicM, YuGothic, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif;
  }
}
@media screen and (max-width: 1019px) {
  .header__nav li small {
    font-family: "Helvetica Neue", HelveticaNeue, sans-serif;
  }
}
@media screen and (min-width: 1020px) {
  .header__nav-main {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    white-space: nowrap;
  }
}
@media screen and (max-width: 1019px) {
  .header__nav-main {
    margin-bottom: 30px;
  }
}
.header__nav-main li a {
  display: block;
  position: relative;
  padding: 10px 15px;
}
@media screen and (min-width: 1020px) {
  .header__nav-main li a::after {
    content: "";
    position: absolute;
    right: 15px;
    bottom: 0;
    border-top: 1px solid #FF9A08;
    width: 0;
    transition: width 0.3s cubic-bezier(0.73, 0.965, 0.76, 1), border-color 0.3s linear;
  }
  .is-white-color-header .header:not(.is-opened):not(.has-background) .header__nav-main li a::after, .pc-menu-white .header:not(.is-opened):not(.has-background) .header__nav-main li a::after {
    border-top: 1px solid #fff;
  }

  .header__nav-main li a:hover {
    color: inherit;
  }
  .header__nav-main li a:hover::after {
    left: 15px;
    opacity: 1;
    width: calc(100% - 30px);
  }
}
@media screen and (max-width: 1019px) {
  .header__nav-main li a.is-current {
    color: #FF9A08;
  }
}
.header__nav-main li a.is-current::after {
  left: 15px;
  opacity: 1;
  width: calc(100% - 30px);
}
.header.has-background .header__nav-main li a.is-current::after {
  background: #FF9A08;
}

.footer {
  color: #fff;
  font-size: 14px;
  margin-top: 300px;
  background-color: #212E69;
}
@media screen and (min-width: 1020px) {
  .footer {
    padding: 120px 0;
  }
}
@media screen and (max-width: 1019px) {
  .footer {
    margin-top: 100px;
    padding: 70px 0 60px;
  }
}
.footer__contact h2 {
  text-align: center;
}
@media screen and (min-width: 1020px) {
  .footer__contact__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.footer__contact__tel {
  text-align: center;
}
@media screen and (min-width: 1020px) {
  .footer__contact__tel {
    width: 50%;
  }
}
.footer__contact__tel-num {
  display: inline-block;
  font-family: "Helvetica Neue", HelveticaNeue, "Roboto", MyYuGothicM, YuGothic, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  margin-bottom: 15px;
}
@media screen and (min-width: 1020px) {
  .footer__contact__tel-num {
    margin-top: 10px;
    padding-left: 40px;
    font-size: 40px;
    background: url("../images/icon-tel-border.svg") no-repeat 0 50%/30px;
  }
}
@media screen and (max-width: 1019px) {
  .footer__contact__tel-num {
    padding-left: 30px;
    font-size: 32px;
    background: url(../images/icon-tel-border.svg) no-repeat 0 50%/25px;
  }
}
.footer__contact__tel-hours {
  text-align: center;
  line-height: 1.5;
}
@media screen and (min-width: 1020px) {
  .footer__contact__button {
    width: 50%;
  }
}
@media screen and (max-width: 1019px) {
  .footer__contact__button {
    margin-top: 30px;
  }
}
@media screen and (min-width: 1020px) {
  .footer__sitemap {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .footer__sitemap {
    margin-top: 50px;
  }
}
@media screen and (min-width: 1020px) {
  .footer__sitemap__container {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1020px) {
  .footer__nav {
    flex: 1;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    padding-left: 60px;
  }
}
.footer__nav li:not(:last-child) {
  margin-bottom: 20px;
}
.footer__nav-main {
  font-weight: 700;
}
@media screen and (min-width: 1020px) {
  .footer__nav-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 70%;
    border-right: 1px solid #D6D6D6;
    margin-right: 60px;
  }
}
@media screen and (max-width: 1019px) {
  .footer__nav-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #D6D6D6;
  }
}
.footer__nav-main > ul {
  width: 50%;
}
.footer__nav-main > ul ul {
  margin-top: 20px;
  padding-left: 1em;
  font-weight: 400;
}
.footer__nav-main > ul b {
  color: #FF9A08;
}
@media screen and (min-width: 1020px) {
  .footer__nav-sub {
    width: 30%;
  }
}
@media screen and (max-width: 1019px) {
  .footer__nav-sub {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #D6D6D6;
  }
}
.footer__nav-sub a[target=_blank] {
  padding-right: 25px;
  background-position: right 1px center;
}
.footer__info {
  text-align: center;
}
.footer__logo {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 35px;
}
@media screen and (min-width: 1020px) {
  .footer__logo {
    width: 188px;
  }
}
@media screen and (max-width: 1019px) {
  .footer__logo {
    width: 167px;
  }
}
.footer__address {
  margin-bottom: 35px;
}
.footer__copyright {
  font-size: 12px;
}

.page-title {
  position: relative;
}
.page-title::after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(100% + 6px);
  width: 100%;
  height: 190px;
  background-image: url(../images/dot.png);
  background-repeat: repeat;
  background-size: 14px;
}
.page-title.-narrow-pattern::after {
  height: 80px;
}
@media screen and (min-width: 1020px) {
  .page-title__bg {
    min-height: 540px;
    max-height: 640px;
    height: calc(100vh - 180px);
  }
}
@media screen and (max-width: 1019px) {
  .page-title__bg {
    max-height: 640px;
    height: 138.6666666667vw;
  }
}
.page-title__bg img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  pointer-events: none;
}
.page-title__bg.-position-top img {
  -o-object-position: center top;
     object-position: center top;
}
@media screen and (min-width: 1020px) {
  .page-title__bg.-position-top-pc img {
    -o-object-position: center top;
       object-position: center top;
  }
}
.page-title__text {
  position: absolute;
}
@media screen and (min-width: 1020px) {
  .page-title__text {
    left: 11.7130307467vw;
    bottom: 120px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__text {
    left: 5.3333333333vw;
    right: 5.3333333333vw;
    bottom: 60px;
  }
}
.page-title__en {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 200;
  pointer-events: none;
  opacity: 0;
  transform: translateX(50%);
  will-change: opacity, transform;
}
@media screen and (min-width: 1020px) {
  .page-title__en {
    left: 5.8565153734vw;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__en {
    left: 5.3333333333vw;
  }
}
.page-title__en img {
  width: auto;
  transform: translateY(50%);
}
@media screen and (min-width: 1020px) {
  .page-title__en img {
    height: 174;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__en img {
    height: 100px;
  }
}
.page-title__ja {
  line-height: 1.2;
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .page-title__ja {
    font-size: 48px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__ja {
    font-size: 32px;
  }
}
@media screen and (min-width: 1020px) {
  .page-title__ja:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__ja:not(:last-child) {
    margin-bottom: 15px;
  }
}
@media screen and (min-width: 1020px) {
  .page-title__desc {
    font-size: 17px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__desc {
    text-align: left;
    font-size: 15px;
  }
}
.page-title__sub-photo {
  position: absolute;
  z-index: 1;
  overflow: hidden;
}
@media screen and (min-width: 1020px) {
  .page-title__sub-photo {
    border-radius: 8px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__sub-photo {
    border-radius: 5px;
  }
}
@media screen and (min-width: 1020px) {
  .page-title__sub-photo {
    right: 60px;
    bottom: -40px;
    width: 400px;
    height: 240px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__sub-photo {
    left: 0;
    right: 0;
    margin: -40px 5.3333333333vw 0 5.3333333333vw;
  }
}
@media screen and (min-width: 1020px) {
  .page-title__facility {
    position: absolute;
    left: 8.78477306vw;
    right: 8.78477306vw;
    bottom: 80px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__facility-title {
    position: absolute;
    left: 5.3333333333vw;
    right: 5.3333333333vw;
    top: 0;
    max-height: 640px;
    height: 138.6666666667vw;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    flex-wrap: wrap;
    flex-direction: column;
  }
}
@media screen and (min-width: 1020px) {
  .page-title__facility-label {
    margin-bottom: 5px;
    font-size: 18px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__facility-label {
    margin-bottom: 10px;
    font-size: 14px;
  }
}
@media screen and (min-width: 1020px) {
  .page-title__facility-name {
    margin-bottom: 30px;
    font-size: 40px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__facility-name {
    margin-bottom: 80px;
    font-size: 24px;
    line-height: 1.2;
  }
}
@media screen and (min-width: 1020px) {
  .page-title__facility-lead {
    width: 50%;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__facility-lead {
    padding: 30.4vw 5.3333333333vw 0;
    color: #272727;
    background: #212E69;
  }
}
@media screen and (min-width: 1020px) {
  .page-title__facility-button {
    margin: 30px 0 0 0 !important;
    font-weight: 700;
  }
  .page-title__facility-button a {
    font-size: 15px !important;
  }
}
@media screen and (max-width: 1019px) {
  .page-title__facility-button {
    margin-top: 15px !important;
  }
}
.page-title.-white-color {
  color: #fff;
}
@media screen and (max-width: 1019px) {
  .page-title.-white-color-sp {
    color: #fff;
  }
}
@media screen and (min-width: 1020px) {
  .page-title.-white-color-pc {
    color: #fff;
  }
}
.page-title.-compact::after {
  height: 120px;
}
@media screen and (min-width: 1020px) {
  .page-title.-compact .page-title__bg {
    min-height: auto;
    height: 480px;
  }
}
@media screen and (max-width: 1019px) {
  .page-title.-compact .page-title__bg {
    max-height: 400px;
    height: 100vw;
  }
}

.page-content {
  position: relative;
  padding-top: 1px;
}
@media screen and (max-width: 1019px) {
  .page-content .c-section:last-child {
    margin-bottom: 0;
  }
}

.contact {
  position: relative;
  color: #fff;
}
@media screen and (min-width: 1020px) {
  .contact {
    padding: 100px 0;
  }
}
@media screen and (max-width: 1019px) {
  .contact {
    margin-top: 90px;
    padding: 60px 0;
  }
}
.contact::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 2px;
  height: 60px;
  background: #FF9A08;
  transform: translateX(-50%) translateY(-50%);
}
.contact__heading {
  margin-bottom: 50px;
}
.contact__heading.-has-en .c-heading__en {
  color: #fff;
}
.contact__heading h2 {
  font-family: "Helvetica Neue", HelveticaNeue, helvetica, MyYuGothicM, YuGothic, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif !important;
}
@media screen and (min-width: 1020px) {
  .contact__blocks {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.contact__block {
  text-align: center;
}
@media screen and (min-width: 1020px) {
  .contact__block {
    width: 50%;
  }
  .contact__block:nth-child(2) {
    border-left: 1px solid rgba(255, 255, 255, 0.5);
  }
}
@media screen and (max-width: 1019px) {
  .contact__block:not(:last-child) {
    margin-bottom: 40px;
  }
}
.contact__block h3 {
  text-align: center;
}
@media screen and (min-width: 1020px) {
  .contact__block h3 {
    font-size: 18px;
  }
}
@media screen and (max-width: 1019px) {
  .contact__block h3 {
    margin-bottom: 10px;
  }
}
.contact__tel-num {
  display: inline-block;
  font-family: "Helvetica Neue", HelveticaNeue, "Roboto", MyYuGothicM, YuGothic, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
}
@media screen and (min-width: 1020px) {
  .contact__tel-num {
    margin-top: 10px;
    margin-bottom: 15px;
    padding-left: 40px;
    font-size: 40px;
    background: url(../images/icon_tel_border_white.svg) no-repeat 0 50%/34px;
  }
}
@media screen and (max-width: 1019px) {
  .contact__tel-num {
    margin-bottom: 10px;
    padding-left: 30px;
    font-size: 32px;
    background: url(../images/icon_tel_border_white.svg) no-repeat 0 50%/28px;
  }
}
@media screen and (max-width: 1019px) {
  .contact__tel-hours {
    display: inline-block;
    text-align: left;
    font-size: 14px;
    line-height: 1.75;
  }
}
.contact__button {
  display: flex;
  justify-content: center;
}
.contact__button a {
  width: 100%;
  border-radius: 999px;
  border: 1px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-right: 30px;
  background: transparent;
}
@media screen and (min-width: 1020px) {
  .contact__button a {
    max-width: 400px;
    padding-top: 22px;
    padding-bottom: 22px;
  }
}
.contact__button a span {
  display: inline-block;
  position: relative;
  padding-left: 34px;
}
.contact__button a span::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 22px;
  height: 15px;
  background: url(../images/icon_mail_border_white.svg) no-repeat 0 50%/contain;
}
.contact__button a::after {
  display: none;
}
.contact__button a::before {
  background: #FF9A08;
}
@media screen and (min-width: 1020px) {
  .contact__button a:hover {
    border: 1px solid #FF9A08;
    color: #fff;
  }
}

.top-mv {
  position: relative;
  opacity: 0;
  transition: opacity 1s linear;
  background: url("../images/top/top_mv_bg.jpg") repeat top center;
}
@media screen and (min-width: 1020px) {
  .top-mv {
    min-height: 640px;
    max-height: 1080px;
    height: 100vh;
  }
}
@media screen and (max-width: 1019px) {
  .top-mv {
    position: relative;
    z-index: 2;
    height: 100vh;
  }
  .has-custom-property .top-mv {
    height: calc(var(--vh) * 100 - 90px);
  }
}
.top-mv__visual {
  overflow: hidden;
  height: 100%;
}
.top-mv__slides {
  position: relative;
  height: 100%;
}
.top-mv__slides .slick-list {
  height: 100%;
}
.top-mv__slides .slick-track {
  height: 100%;
}
.top-mv__slides .slick-slide {
  height: 100%;
  background: #fff;
}
.top-mv__slides .slick-slide > div {
  height: 100%;
}
.top-mv__slides .slick-dots {
  position: absolute;
  right: 35px;
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: column;
  z-index: 100;
}
@media screen and (max-width: 1019px) {
  .top-mv__slides .slick-dots {
    right: 5.3333333333vw;
    bottom: 20px;
    top: auto;
    transform: translateY(0);
  }
}
.top-mv__slides .slick-dots li {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 20px;
  height: 40px;
  margin: 0 0 3px 0;
  padding: 0;
}
.top-mv__slides .slick-dots li:hover button::before {
  background: white;
}
@media screen and (max-width: 1019px) {
  .top-mv__slides .slick-dots li {
    height: 30px;
  }
}
.top-mv__slides .slick-dots li button {
  position: relative;
  margin: 0;
  padding: 5px 0 0 0;
  width: 2px;
  height: 100%;
}
.top-mv__slides .slick-dots li button::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
.top-mv__slides .slick-dots li button::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 0%;
  background: #E14E78;
  will-change: width;
}
.top-mv__slides .slick-dots li.slick-active button::after {
  left: 0;
  height: 100%;
}
.top-mv__slides .slick-dots li.slick-active.transition button::after {
  transition: height 7s cubic-bezier(0.73, 0.965, 0.76, 1);
}
.top-mv__slide {
  height: 100%;
}
.top-mv__image {
  position: absolute;
  top: -60px;
  width: 100vh;
  height: 100%;
  z-index: 5;
}
@media screen and (max-width: 1019px) {
  .top-mv__image {
    top: 0;
    left: 0;
    right: auto;
    width: 100vw;
    height: 100vh;
  }
}
@media screen and (min-width: 1020px) {
  .top-mv__image {
    left: 589px;
    right: auto;
  }
}
@media screen and (min-width: 1500px) {
  .top-mv__image {
    right: 0;
    left: auto;
  }
}
.top-mv__photo {
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
  height: 100%;
  pointer-events: none;
  will-change: transform;
}
@media screen and (min-width: 1020px) {
  .top-mv__photo {
    border-radius: 100%;
  }
}
@-webkit-keyframes zoomOut {
  0% {
    transform: scale3d(1.15, 1.15, 1.15);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
@keyframes zoomOut {
  0% {
    transform: scale3d(1.15, 1.15, 1.15);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
.animation .top-mv__photo {
  -webkit-animation-name: zoomOut;
          animation-name: zoomOut;
  -webkit-animation-duration: 8s;
          animation-duration: 8s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.top-mv__catch {
  position: absolute;
  z-index: 5;
}
@media screen and (min-width: 1020px) {
  .top-mv__catch {
    left: 45px;
    top: 50%;
    transform: translateY(-54%);
  }
  .top-mv__catch svg,
.top-mv__catch img {
    width: auto;
    width: 55vh;
    min-width: 350px;
    max-width: 430px;
  }
}
@media screen and (max-width: 1019px) {
  .top-mv__catch {
    top: 100%;
    left: 50%;
    transform: translate(-50%, -150%);
    width: 74.6666666667vw;
    max-width: 500px;
    padding: 2.6em;
    background: rgba(255, 255, 255, 0.85);
  }
}
@media screen and (max-width: 767px) {
  .top-mv__catch {
    padding: 2em;
    background: rgba(255, 255, 255, 0.65);
  }
}
@media screen and (max-width: 767px) {
  .top-mv__catch p {
    font-size: 14px;
  }
}
.top-mv #top-mv-ja {
  overflow: visible;
  opacity: 0;
  font-size: 40px;
  margin-bottom: 75px;
}
@media screen and (max-width: 1019px) {
  .top-mv #top-mv-ja {
    font-size: 34px;
    margin-bottom: 1em;
  }
}
.top-mv #top-mv-ja path {
  will-change: opacity, transform;
}

.top-category {
  position: relative;
  z-index: 4;
}
.top-category.-wide {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
}
@media screen and (min-width: 1020px) {
  .top-category.-wide .-wide__inner {
    max-width: 1240px;
    margin: 0 auto;
    box-sizing: content-box;
  }
}
@media screen and (max-width: 1019px) {
  .top-category.-wide .-wide__inner {
    padding: 0 5.3333333333vw;
  }
}
.top-category__content {
  position: relative;
  z-index: 1;
}
.top-category__content h2 {
  font-family: YakuHanMP, "Shippori Mincho", YuMincho, "Yu Mincho", "Noto Serif JP", serif;
  font-weight: 800;
  margin-bottom: 1em;
}
@media screen and (min-width: 1020px) {
  .top-category__content h2 {
    font-size: 63px;
  }
}
@media screen and (max-width: 1019px) {
  .top-category__content h2 {
    font-size: 24px;
  }
}
.top-category__content h2.-center {
  text-align: center;
}
.top-category__content .-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.top-category__label {
  position: absolute;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  opacity: 0;
  will-change: opacity, transform;
}
@media screen and (min-width: 1020px) {
  .top-category__label {
    right: -40px;
    top: -60px;
  }
}
@media screen and (max-width: 1019px) {
  .top-category__label {
    left: -20px;
    bottom: -10.6666666667vw;
  }
}
.top-category__label img {
  width: auto;
}
@media screen and (min-width: 1020px) {
  .top-category__label img {
    height: 140px;
  }
}
@media screen and (max-width: 1019px) {
  .top-category__label img {
    height: 21.3333333333vw;
  }
}
@media screen and (min-width: 1020px) {
  .top-category.-reverse {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 1020px) {
  .top-category.-reverse .top-category__label {
    left: -40px;
    right: auto;
  }
}
.top-category.-reverse .top-category__photo .-sub {
  left: 0px;
  right: auto;
  width: 53.5372848948%;
  transform: translateX(-50%);
}
@media screen and (min-width: 1020px) {
  .top-category.-reverse .top-category__photo .-sub {
    border-radius: 8px;
  }
}
@media screen and (max-width: 1019px) {
  .top-category.-reverse .top-category__photo .-sub {
    border-radius: 5px;
  }
}
@media screen and (max-width: 1019px) {
  .top-category.-reverse .top-category__photo .-sub {
    left: auto;
    right: -20px;
    transform: translateX(0%);
  }
}

.page-content div[id]::before {
  display: block;
  height: 112px;
  margin-top: -112px;
  content: "";
}
@media screen and (max-width: 767px) {
  .page-content div[id]::before {
    height: 70px;
    margin-top: -70px;
  }
}

/* message */
#message {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  margin-top: -1px;
  background: url("../images/top/top_mv_bg.jpg") repeat top center;
  padding-bottom: 1px;
}

.c-greeting__text {
  margin-bottom: 70px;
}
@media screen and (max-width: 767px) {
  .c-greeting__text {
    margin-bottom: 45px;
  }
}
.c-greeting__header {
  font-family: YakuHanMP, "Shippori Mincho", YuMincho, "Yu Mincho", "Noto Serif JP", serif;
  font-weight: 400;
  text-align: center;
  margin-bottom: 0.73em;
}
@media screen and (min-width: 1020px) {
  .c-greeting__header {
    font-size: 56px;
  }
}
@media screen and (max-width: 1019px) {
  .c-greeting__header {
    font-size: 20px;
  }
}
.c-greeting__name {
  font-family: YakuHanMP, "Shippori Mincho", YuMincho, "Yu Mincho", "Noto Serif JP", serif;
  font-weight: 800;
  margin-top: 1.74em;
  margin-bottom: 0.73em;
}
@media screen and (min-width: 1020px) {
  .c-greeting__name {
    font-size: 21px;
  }
}
@media screen and (max-width: 1019px) {
  .c-greeting__name {
    font-size: 16px;
  }
}
.c-greeting .-degree {
  font-size: inherit;
}
@media screen and (min-width: 1020px) {
  .c-greeting .-name {
    font-size: 27px;
  }
}
@media screen and (max-width: 1019px) {
  .c-greeting .-name {
    font-size: 16px;
  }
}
.c-greeting__photo {
  position: relative;
}
.c-greeting__photo::after {
  display: block;
  content: "";
  padding-top: 25%;
}
.c-greeting__photo img {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 1000px;
}

/* #business */
#business {
  position: relative;
  color: #fff;
  padding-top: 335px;
  padding-bottom: 156px;
  background-color: #212E69;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  #business {
    padding-top: 100px;
    padding-bottom: 90px;
  }
}
#business::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  content: "";
  opacity: 0.35;
  background: url("../images/top/business-img01.jpg") no-repeat bottom center;
  background-size: cover;
  z-index: 0;
  mix-blend-mode: soft-light;
}

/* f-equipment */
#f-equipment .plant-card {
  margin-top: 154px;
}
@media screen and (max-width: 767px) {
  #f-equipment .plant-card {
    margin-top: 50px;
  }
}
#f-equipment .plant-card__photo {
  position: relative;
  z-index: 0;
}
#f-equipment .plant-card__photo::before {
  display: block;
  content: "";
  width: 100%;
  padding-top: 50%;
}
#f-equipment .plant-card__photo img {
  position: absolute;
  top: 0;
  left: 0;
}
#f-equipment .plant-card__text {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  padding: 0 9%;
}
@media screen and (min-width: 1500px) {
  #f-equipment .plant-card__text {
    padding: 0 116px;
  }
}
@media screen and (max-width: 767px) {
  #f-equipment .plant-card__text {
    padding: 0 15px;
  }
}
#f-equipment .plant-card__text .-inner {
  max-width: 1000px;
  padding: 46px 48px;
  background: rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 767px) {
  #f-equipment .plant-card__text .-inner {
    padding: 20px;
  }
}
#f-equipment .plant-card__title {
  font-size: 33px;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  #f-equipment .plant-card__title {
    font-size: 24px;
  }
}
#f-equipment .plant-card__content p {
  margin-bottom: 1em;
}
#f-equipment .plant-card__content p:last-child {
  margin-bottom: 0;
}

/* example */
#example {
  position: relative;
  color: #fff;
  padding: 120px 0 160px;
  background-color: #212E69;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  #example {
    padding: 50px 0 50px;
  }
}
#example::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  content: "";
  opacity: 0.35;
  background: url("../images/top/example-img01.jpg") no-repeat bottom center;
  background-size: cover;
  z-index: 0;
  mix-blend-mode: soft-light;
}

.example-list {
  max-width: 880px;
  margin: 60px auto 0;
  padding: 65px;
  border: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .example-list {
    margin: 35px auto 0;
    padding: 20px;
  }
}

/* commpany */
.google-map {
  position: relative;
  width: 100%;
  height: 0;
  margin-top: 50px;
  padding-top: 65%;
}
@media screen and (max-width: 767px) {
  .google-map {
    margin-top: 10px;
  }
}
.google-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*D5D5D5*/
/*F5F5F5*/
@media screen and (max-width: 1019px) {
  .is-for-pc {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .is-for-large-pc {
    display: none !important;
  }
}
@media screen and (min-width: 768px) and (max-width: 1019px) {
  .is-for-large-pc {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .is-for-tablet-pc {
    display: none !important;
  }
}

@media screen and (min-width: 1020px) {
  .is-for-sp-tablet {
    display: none !important;
  }
}

@media screen and (min-width: 768px), print {
  .is-for-sp {
    display: none !important;
  }
}

@media screen and (min-width: 1020px) {
  .is-for-tablet {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .is-for-tablet {
    display: none !important;
  }
}

.has-pink-background-color {
  background-color: #E14E78;
}

.has-pink-color,
.is-pink {
  color: #E14E78;
}

.is-green {
  color: #FF9A08;
}

.is-highlight {
  background: #FFEBC1;
  padding: 0 3px;
}

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

.is-small {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .is-sp-small {
    font-size: 14px;
  }
}

.is-center {
  text-align: center;
}

.is-gray {
  color: #555;
}

.is-file-icon {
  width: 18px;
  vertical-align: baseline;
  position: relative;
  top: 2px;
  margin-right: 8px;
}
.is-file-icon.-small {
  width: 16px;
}

.is-metrics {
  font-feature-settings: "palt" 1;
}

.yakuhan1 {
  font-size: 32px;
  font-family: "Shippori Mincho";
  line-height: 1.4;
}

.yakuhan2 {
  font-size: 32px;
  font-family: YakuHanMP, "Shippori Mincho", YuMincho, "Yu Mincho", "Noto Serif JP", serif;
  line-height: 1.4;
}

/*# sourceMappingURL=frontend.css.map*/