@charset "UTF-8";
/* arguments inittial */
/* font style */
/* site style */
/* [ writing-mode ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
.fadein {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 1.5s;
}
.fadein.fadein-left {
  transform: translate(-30px, 0);
}
.fadein.fadein-right {
  transform: translate(30px, 0);
}
.fadein.fadein-up {
  transform: translate(0, -30px);
}
.fadein.fadein-bottom {
  transform: translate(0, 30px);
}
.fadein.is-inview {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}

.fadezoom {
  position: relative;
  overflow: hidden;
}
.fadezoom .zoomdiv {
  position: relative;
  height: 100%;
  transform: scale(1.15);
  transition: all 1.5s;
}
.fadezoom.is-inview .zoomdiv {
  opacity: 1;
  transform: scale(1);
  transition: all 1.5s;
}

/*-----------------------------------------------------------
clearfix
------------------------------------------------------------*/
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

/*-----------------------------------------------------------
reset
------------------------------------------------------------*/
p {
  margin: 0;
  padding: 0;
}

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

input,
textarea {
  margin: 0;
  font-size: 100%;
  resize: none;
}

input[type=text],
input[type=date],
input[type=email],
input[type=number],
input[type=url] {
  word-break: normal;
  white-space: nowrap;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

dl,
dt,
dd,
th,
td {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  /*font-size: 100%;*/
  font-weight: normal;
  margin: 0;
  padding: 0;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video,
dialog {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

img {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  border: 0;
  max-width: 100%;
  height: auto;
}

table img {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  border: 0;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

nav ul {
  list-style: none;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*:focus {
  outline: none !important;
}

label,
select,
button {
  cursor: pointer;
}

input,
textarea,
select,
button {
  font-family: inherit;
}

/*-----------------------------------------------------------
Link
------------------------------------------------------------*/
a {
  outline: none;
  color: #1f3e4d;
  text-decoration: none;
  transition: opacity 0.3s;
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  a:hover {
    opacity: 0.6;
  }
}

/*-----------------------------------------------------------
FONT family
------------------------------------------------------------*/
.ffN {
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ W3", "メイリオ", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.ffM {
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
}

.ffYG {
  font-family: "游ゴシック体", "游ゴシック", "YuGothic", "Yu Gothic", "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}

.ffYM {
  font-family: "游明朝体", "游明朝", "YuMincho", "Yu Mincho", "Noto Serif JP", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.ffZK {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.ffMO {
  font-family: "Montserrat Alternates", sans-serif;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  white-space: nowrap;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/*-----------------------------------------------------------
Body
-------------------------------------------------------------*/
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: hidden;
}

html.is-ipad * {
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
  -o-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  width: 100%;
  margin: 0;
  padding: 0;
  height: 100%;
  color: #1f3e4d;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  word-break: break-word;
  overflow-x: hidden;
}
@media (max-width: 767px) {
  body {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.75em;
  }
}

#wrap {
  display: block;
}

/*-----------------------------------------------------------
COMMON
-------------------------------------------------------------*/
.inner {
  max-width: 1206px;
  margin: 0 auto;
  width: calc(100% - 50px);
}
.inner--medium {
  max-width: 1126px;
}
.inner--small {
  max-width: 1000px;
}

@media (min-width: 768px) {
  .sp,
  .SP {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .pc,
  .PC {
    display: none !important;
  }
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
  margin: 5px 0 20px;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px auto;
}

.alignleft {
  float: left;
  margin: 5px auto 20px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px auto;
}

a img.alignnone {
  margin: 5px 0 20px;
}

a img.alignleft {
  float: left;
  margin: 5px auto 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%; /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 0 20px;
}

.wp-caption.alignleft {
  margin: 5px auto 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px auto;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

.wp-video {
  max-width: 100%;
  margin-bottom: 40px;
}
.wp-video video {
  max-width: 100%;
  height: auto;
}

.cms-content {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  letter-spacing: 0.05em;
  font-weight: 500;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
  word-wrap: break-word;
}
.cms-content::after {
  content: "";
  clear: both;
  display: table;
}
@media (max-width: 767px) {
  .cms-content {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.75em;
    letter-spacing: 0.05em;
  }
}
.cms-content ul {
  margin: 17px 0 20px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .cms-content ul {
    margin: 22px 0 17px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.4666666667em;
    letter-spacing: 0.025em;
  }
}
.cms-content ul li {
  list-style: none;
  position: relative;
  padding-left: 12px;
}
.cms-content ul li:before {
  content: "";
  position: absolute;
  left: 0px;
  top: 10px;
  width: 6px;
  height: 6px;
  background: #5eb178;
  border-radius: 50%;
}
.cms-content ul li::marker {
  color: #5eb178;
}
.cms-content ul li + li {
  margin-top: 6px;
}
@media (max-width: 767px) {
  .cms-content ul li:before {
    top: 8px;
  }
}
.cms-content ul[style*="list-style-type: circle;"] {
  margin-left: 20px;
}
.cms-content ul[style*="list-style-type: circle;"] li {
  list-style-type: circle;
  padding-left: 0;
}
.cms-content ul[style*="list-style-type: circle;"] li:before {
  display: none;
}
.cms-content ul[style*="list-style-type: square;"] {
  margin-left: 20px;
}
.cms-content ul[style*="list-style-type: square;"] li {
  list-style-type: square;
  padding-left: 0;
}
.cms-content ul[style*="list-style-type: square;"] li:before {
  display: none;
}
.cms-content ol {
  margin: 20px 0 20px 20px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
}
@media (max-width: 767px) {
  .cms-content ol {
    margin: 20px 0 17px 20px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.4666666667em;
    letter-spacing: 0.025em;
  }
}
.cms-content ol li {
  list-style-type: decimal;
}
.cms-content ol li::marker {
  color: #5eb178;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1em;
  letter-spacing: 0.02em;
  font-weight: 500;
  font-family: "Montserrat Alternates", sans-serif;
}
.cms-content ol li + li {
  margin-top: 6px;
}
.cms-content ol[style*="list-style-type: lower-roman;"] li {
  list-style-type: lower-roman;
}
.cms-content ol[style*="list-style-type: lower-alpha;"] li {
  list-style-type: lower-alpha;
}
.cms-content ol[style*="list-style-type: lower-greek;"] li {
  list-style-type: lower-greek;
}
.cms-content ol[style*="list-style-type: upper-alpha;"] li {
  list-style-type: upper-alpha;
}
.cms-content ol[style*="list-style-type: upper-roman;"] li {
  list-style-type: upper-roman;
}
.cms-content p {
  margin-top: 15px;
}
.cms-content p:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .cms-content p {
    margin-top: 16px;
  }
}
.cms-content iframe {
  max-width: 100% !important;
}
.cms-content img {
  margin-bottom: 42px;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 100%;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .cms-content img {
    margin-bottom: 20px;
  }
}
.cms-content a {
  color: #5eb178;
  box-shadow: inset 0 -1px 0 0px #5eb178;
  text-decoration: none;
  font-weight: 700;
}
.cms-content h3 {
  position: relative;
  margin: 65px 0 34px;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.6428571429em;
  letter-spacing: 0.08em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .cms-content h3 {
    margin: 70px 0 30px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.4em;
    letter-spacing: 0.08em;
  }
}
.cms-content h4 {
  position: relative;
  margin: 55px 0 30px;
  padding-left: 27px;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.4545454545em;
  letter-spacing: 0.08em;
  font-weight: 500;
}
.cms-content h4:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13.242' height='14.225' viewBox='0 0 13.242 14.225'%3E%3Cpath id='bg' d='M9.9,0a1,1,0,0,1,.88.526l2.962,5.5a1,1,0,0,1,0,.948l-2.962,5.5A1,1,0,0,1,9.9,13H4.1a1,1,0,0,1-.88-.526L.255,6.974a1,1,0,0,1,0-.948L3.217.526A1,1,0,0,1,4.1,0Z' transform='translate(13.242 0.227) rotate(91)' fill='%235eb178'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
}
@media (max-width: 767px) {
  .cms-content h4 {
    margin: 62px 0 28px;
    padding-left: 22px;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.4em;
    letter-spacing: 0.08em;
  }
  .cms-content h4:before {
    top: 7px;
    width: 12px;
    height: 12px;
  }
}
.cms-content h5 {
  position: relative;
  margin: 77px 0 17px;
  border-left: #5eb178 4px solid;
  padding-left: 10px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4444444444em;
  letter-spacing: 0.08em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .cms-content h5 {
    margin: 60px 0 22px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.4444444444em;
    letter-spacing: 0.05em;
  }
}
.cms-content table {
  margin: 40px 0 80px;
  width: 100%;
  display: block;
  background: #fff;
  border: #5eb178 1px solid;
  border-radius: 20px;
  overflow: hidden;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .cms-content table {
    margin: 40px 0 65px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em;
  }
}
.cms-content table tr {
  display: flex;
}
@media (max-width: 767px) {
  .cms-content table tr {
    display: block;
  }
}
.cms-content table td,
.cms-content table th {
  padding: 21px 30px;
}
@media (max-width: 767px) {
  .cms-content table td,
  .cms-content table th {
    display: block;
    width: 100% !important;
    padding: 16px 20px;
  }
}
.cms-content table td:nth-child(1) {
  width: 260px;
  min-width: 260px;
  background: #5eb178;
  color: #fff;
  font-weight: 700;
}
@media (max-width: 767px) {
  .cms-content table td:nth-child(1) {
    width: 100% !important;
    min-width: unset;
  }
}
.cms-content table tr + tr td,
.cms-content table tr + tr th {
  border-top: #d5d5d5 1px solid;
}
.cms-content blockquote {
  margin: 38px 0 48px;
  background-color: #fff;
  border-radius: 20px;
  padding: 47px 52px;
}
@media (max-width: 767px) {
  .cms-content blockquote {
    margin: 38px 0 35px;
    padding: 30px 30px;
  }
}
.cms-content span[style*="text-decoration: underline;"] {
  text-decoration: none !important;
  box-shadow: inset 0px -14px 0 0px #fff7b7;
}
@media (max-width: 767px) {
  .cms-content span[style*="text-decoration: underline;"] {
    box-shadow: inset 0px -10px 0 0px #fff7b7;
  }
}
.cms-content sub {
  vertical-align: sub;
  font-size: smaller;
}
.cms-content sup {
  vertical-align: super;
  font-size: smaller;
}
.cms-content #toc_container {
  margin: 40px 0 40px;
  width: 100%;
  background-color: #fff;
  border: none;
  border-radius: 20px;
  padding: 43px 50px 50px;
}
@media (max-width: 767px) {
  .cms-content #toc_container {
    padding: 26px 30px 26px;
  }
}
.cms-content #toc_container ul,
.cms-content #toc_container ol {
  padding: 0;
  margin: 0;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5625em;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .cms-content #toc_container ul,
  .cms-content #toc_container ol {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.75em;
    letter-spacing: 0.05em;
    font-weight: 700;
  }
}
.cms-content #toc_container ul li,
.cms-content #toc_container ol li {
  list-style: none;
  list-style-position: inside;
  padding: 0;
  margin: 0;
}
.cms-content #toc_container ul li:before,
.cms-content #toc_container ol li:before {
  display: none;
}
.cms-content #toc_container a {
  text-decoration: none;
  display: inline-block;
  padding: 2px 0;
  color: #1f3e4d;
  font-weight: 700;
}
.cms-content #toc_container .toc_title {
  margin-bottom: 4px;
}
@media (max-width: 767px) {
  .cms-content #toc_container .toc_title {
    margin-bottom: 4px;
  }
}
.cms-content #toc_container .toc_list {
  counter-reset: counter;
}
.cms-content #toc_container .toc_list > li {
  counter-increment: counter;
}
.cms-content #toc_container .toc_list > li > a {
  color: #5eb178;
}
.cms-content #toc_container .toc_list > li > a:before {
  content: counter(counter, decimal) ". ";
}
.cms-content #toc_container .toc_list > li > ul {
  margin-left: 13px;
  counter-reset: counter;
}
@media (max-width: 767px) {
  .cms-content #toc_container .toc_list > li > ul {
    margin-left: 19px;
  }
}
.cms-content #toc_container .toc_list > li > ul a {
  box-shadow: none;
}
.cms-content #toc_container .toc_list > li > ul > li {
  counter-increment: counter;
  padding-left: 1px;
}
.cms-content #toc_container .toc_list > li > ul > li > a:before {
  content: counter(counter, lower-alpha) ".";
  padding-right: 4px;
}
.cms-content #toc_container .toc_list > li > ul > li > ul {
  margin-left: 20px;
}
.cms-content #toc_container .toc_list > li > ul > li > ul > li > a {
  padding-left: 15px;
  position: relative;
}
.cms-content #toc_container .toc_list > li > ul > li > ul > li > a:before {
  content: "・";
  position: absolute;
  top: 2px;
  left: 0;
}
.cms-content .wpc-2columns {
  margin-top: 80px;
}
.cms-content .wpc-2columns img {
  margin: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .cms-content .wpc-2columns {
    display: flex;
    justify-content: space-between;
  }
  .cms-content .wpc-2columns + .wpc-2columns {
    margin-top: 70px;
  }
  .cms-content .wpc-2columns.is-rev {
    flex-direction: row-reverse;
  }
  .cms-content .wpc-2columns .wpc-2columns-col:nth-child(1) {
    margin-top: 5px;
    width: 60.1635514019%;
  }
  .cms-content .wpc-2columns .wpc-2columns-col:nth-child(2) {
    width: 32.7102803738%;
  }
  .cms-content .wpc-2columns h4 {
    margin-top: 0;
    margin-bottom: 30px;
  }
  .cms-content .wpc-2columns h4 + p {
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .cms-content .wpc-2columns {
    margin-top: 65px;
  }
  .cms-content .wpc-2columns .wpc-2columns-col:nth-child(2) {
    margin-top: 32px;
  }
}

.c-pagingDt {
  position: relative;
  margin: 80px auto 0;
  max-width: 390px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: center;
}
@media (max-width: 767px) {
  .c-pagingDt {
    margin: 58px auto 0;
    max-width: 275px;
    align-items: flex-start;
  }
}
.c-pagingDt .list {
  width: 280px;
  min-height: 60px;
  border-radius: 10px;
  justify-content: center;
  padding: 10px 0;
  font-size: 22px;
  font-size: 2.2rem;
}
@media (max-width: 767px) {
  .c-pagingDt .list {
    width: 186px;
    min-height: 40px;
    font-size: 20px;
    font-size: 2rem;
  }
}
.c-pagingDt .prev,
.c-pagingDt .next {
  position: relative;
  width: 20px;
  height: 60px;
}
@media (max-width: 767px) {
  .c-pagingDt .prev,
  .c-pagingDt .next {
    height: 40px;
  }
}
.c-pagingDt .prev a,
.c-pagingDt .next a {
  display: block;
}
.c-pagingDt .prev a:before,
.c-pagingDt .next a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.414' height='18.828' viewBox='0 0 10.414 18.828'%3E%3Cpath id='arw' d='M946.435,3877.334l8,8-8,8' transform='translate(-945.021 -3875.92)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 767px) {
  .c-pagingDt .prev a:before,
  .c-pagingDt .next a:before {
    background-size: 8px auto;
  }
}
.c-pagingDt .prev a:before {
  transform: rotate(180deg);
}
.c-pagingDt .next {
  margin-right: 0;
}
.c-pagingDt .next a {
  padding-left: 0;
}
.c-pagingDt .next a:before {
  right: 0;
}

.c-img {
  display: block;
  position: relative;
}
.c-img img {
  display: block;
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.c-img--contain img {
  object-fit: contain;
}
.c-img--top img {
  object-position: top;
}

.c-fw {
  width: 100%;
}

[rel~=js-lazy] {
  opacity: 0;
}
[rel~=js-lazy]:not(.initial) {
  transition: opacity 0.15s;
}
[rel~=js-lazy].initial, [rel~=js-lazy].loaded, [rel~=js-lazy].error {
  opacity: 1;
}

.c-lazybg {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.c-lazybg--top {
  background-position: center top;
}
.c-lazybg--contain {
  background-size: contain;
}

.clGreen {
  color: #5eb178;
}

.c-subpage {
  position: relative;
  height: 400px;
  background-color: #ebf5de;
  border-radius: 0 0 60px 60px;
  padding: 176px 0 122px;
}
@media (max-width: 767px) {
  .c-subpage {
    height: auto;
    padding: 119px 0 0;
    border-radius: 0 0 40px 40px;
  }
}
.c-subpage .inner {
  max-width: 1166px;
}
@media only screen and (min-width: 1366px) {
  .c-subpage .inner {
    padding: 0 100px;
    max-width: 100%;
  }
}
.c-subpage__title {
  color: #5eb178;
  font-size: 40px;
  font-size: 4rem;
  line-height: 1.15em;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 36px;
}
@media (max-width: 767px) {
  .c-subpage__title {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.4285714286em;
    letter-spacing: 0.05em;
    font-weight: bold;
    margin-bottom: 20px;
  }
}
.c-subpage__en {
  font-size: 100px;
  font-size: 10rem;
  line-height: 1.22em;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: "Montserrat Alternates", sans-serif;
  color: #fff;
}
@media (min-width: 768px) {
  .c-subpage__en {
    position: absolute;
    right: 45px;
    bottom: 20px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1000px) {
  .c-subpage__en {
    font-size: 80px;
    font-size: 8rem;
  }
}
@media (max-width: 767px) {
  .c-subpage__en {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.225em;
    letter-spacing: 0.05em;
    font-weight: 500;
    text-align: right;
    padding-right: 24px;
    padding-bottom: 21px;
  }
}

.c-breadcrumb {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4285714286em;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-breadcrumb {
    margin-bottom: 25px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.5384615385em;
    letter-spacing: 0.02em;
    font-weight: 500;
  }
}
.c-breadcrumb li {
  display: inline;
}
.c-breadcrumb li:not(:first-child) {
  position: relative;
  padding-left: 30px;
}
@media (max-width: 767px) {
  .c-breadcrumb li:not(:first-child) {
    padding-left: 18px;
  }
}
.c-breadcrumb li:not(:first-child)::before {
  content: "";
  width: 6px;
  height: 11px;
  position: absolute;
  left: 8px;
  top: 5px;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.414' height='10.829' viewBox='0 0 6.414 10.829'%3E%3Cpath id='arw' d='M1161.166,1124.543l4,4-4,4' transform='translate(-1159.752 -1123.129)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
}
@media (max-width: 767px) {
  .c-breadcrumb li:not(:first-child)::before {
    left: 4px;
    top: 4px;
  }
}
.c-breadcrumb li a {
  color: #242020;
}

.c-mainbg {
  background: linear-gradient(0, #ebf5de 0%, #f6fbf1 76.98%, #fff 100%);
  padding: 120px 0 150px;
}
@media (max-width: 767px) {
  .c-mainbg {
    padding: 70px 0 120px;
  }
}

.c-btn {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #5eb178;
  border-radius: 100px;
  min-height: 70px;
  padding: 14px 40px;
  transition: background-color 0.3s;
  position: relative;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.3125em;
  letter-spacing: 0.05em;
  font-weight: bold;
  max-width: 320px;
}
@media (max-width: 767px) {
  .c-btn {
    padding: 13px 40px;
    line-height: 22px;
    max-width: 100%;
  }
}
.c-btn .txt {
  color: #fff;
  transition: color 0.3s;
}
.c-btn .ico {
  width: 42px;
  height: 40px;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #fff;
  position: absolute;
  mask: url("../img/common/ico_shape.svg") no-repeat center;
  -webkit-mask: rl("../img/common/ico_shape.svg") no-repeat center;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
}
.c-btn .ico::after {
  content: "";
  width: 8px;
  height: 13px;
  position: absolute;
  left: 50%;
  top: 50%;
  background-color: #5eb178;
  transform: translate(-50%, -50%);
  mask: url("../img/common/ico_arw.svg") no-repeat center;
  -webkit-mask: rl("../img/common/ico_arw.svg") no-repeat center;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  transition: background-color 0.3s;
}
@media (max-width: 767px) {
  .c-btn .ico {
    width: 36px;
    height: 36px;
    right: 17px;
  }
  .c-btn .ico::after {
    width: 7px;
    height: 12px;
  }
}
.c-btn {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .c-btn:hover {
    opacity: 1;
    background-color: #1f3e4d;
  }
  .c-btn:hover .txt {
    color: #fff;
  }
  .c-btn:hover .ico {
    background-color: #fff;
  }
  .c-btn:hover .ico::after {
    background-color: #1f3e4d;
  }
}
.c-btn--white {
  background-color: #fff;
}
.c-btn--white .txt {
  color: #5eb178;
}
.c-btn--white .ico {
  background-color: #5eb178;
}
.c-btn--white .ico::after {
  background-color: #fff;
}
.c-btn--down .ico::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.c-btn--phone, .c-btn--tel {
  padding-left: 74px;
}
@media (max-width: 767px) {
  .c-btn--phone, .c-btn--tel {
    padding-left: 70px;
  }
}
.c-btn--phone::before, .c-btn--tel::before {
  content: "";
  width: 46px;
  height: 46px;
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("../img/common/ico_phone_cir.svg");
}
@media (max-width: 767px) {
  .c-btn--phone::before, .c-btn--tel::before {
    width: 40px;
    height: 40px;
    left: 15px;
    background-size: 100%;
  }
}
@media (max-width: 767px) {
  .c-btn--phone .ico, .c-btn--tel .ico {
    width: 42px;
    height: 40px;
    right: 16px;
  }
}
.c-btn--tel::before {
  background-image: url("../img/common/ico_tel_cir.svg");
}
.c-btn--tel small {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4166666667em;
  letter-spacing: 0.05em;
  font-weight: bold;
  display: block;
  margin-bottom: 2px;
}
@media (max-width: 767px) {
  .c-btn--tel small {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.4615384615em;
  }
}
.c-btn--tel .tel {
  display: block;
  font-size: 21px;
  font-size: 2.1rem;
  line-height: 1.1904761905em;
  letter-spacing: 0.03em;
  font-weight: 600;
}
@media (max-width: 767px) {
  .c-btn--tel .tel {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.2em;
  }
}

.c-title .ttEn {
  display: block;
  color: #5eb178;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.2307692308em;
  letter-spacing: 0.05em;
  font-weight: 500;
  margin-bottom: 13px;
}
@media (max-width: 767px) {
  .c-title .ttEn {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.2222222222em;
    margin-bottom: 12px;
  }
}
.c-title .ttJp {
  display: block;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.5em;
  letter-spacing: 0.1em;
  font-weight: bold;
}
@media (max-width: 767px) {
  .c-title .ttJp {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5em;
  }
}
.c-title--center {
  text-align: center;
}

.c-title02 {
  position: relative;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.4em;
  letter-spacing: 0.1em;
  font-weight: bold;
  padding-left: 32px;
}
@media (max-width: 767px) {
  .c-title02 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.4em;
    letter-spacing: 0.08em;
    padding-left: 18px;
  }
}
.c-title02::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #5eb178;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .c-title02::before {
    width: 8px;
    height: 8px;
  }
}

.c-list li {
  position: relative;
  padding-left: 22px;
  line-height: 26px;
}
@media (max-width: 767px) {
  .c-list li {
    padding-left: 16px;
  }
}
.c-list li::before {
  content: "";
  width: 12px;
  height: 2px;
  position: absolute;
  left: 0;
  top: 13px;
  background-color: #5eb178;
}
@media (max-width: 767px) {
  .c-list li::before {
    width: 10px;
    top: 13px;
  }
}
.c-list li + li {
  margin-top: 6px;
}
@media (max-width: 767px) {
  .c-list li + li {
    margin-top: 2px;
  }
}

.c-btn02 {
  min-height: 56px;
  border: 1px solid #5eb178;
  background-color: #fafff4;
  border-radius: 8px;
  position: relative;
  padding: 11px 19px;
  padding-right: 52px;
  display: inline-block;
  transition: background-color 0.3s, background-image 0.3s, color 0.3s;
  background-position: right 17px center;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.829' height='7.414' viewBox='0 0 12.829 7.414'%3E%3Cpath id='arw' d='M1161.166,1124.543l5,5-5,5' transform='translate(1135.957 -1159.752) rotate(90)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
}
@media (max-width: 767px) {
  .c-btn02 {
    min-height: 37px;
    padding: 7px 39px 7px 15px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.4em;
    letter-spacing: 0.05em;
    font-weight: 500;
    background-position: right 15px center;
    background-size: 11px 6px;
  }
}
.c-btn02 .clGreen {
  transition: color 0.3s;
}
.c-btn02 {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .c-btn02:hover {
    opacity: 1;
    color: #fff;
    background-color: #5eb178;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12.829' height='7.414' viewBox='0 0 12.829 7.414'%3E%3Cpath id='arw' d='M1161.166,1124.543l5,5-5,5' transform='translate(1135.957 -1159.752) rotate(90)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  }
  .c-btn02:hover .clGreen {
    color: #fff;
  }
}

@media (min-width: 768px) {
  .c-contact {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .c-contact .c-btn {
    width: calc(50% - 10px);
    max-width: 320px;
  }
}
.c-contact .c-btn:not(:last-child) {
  margin-right: 20px;
}
@media (max-width: 767px) {
  .c-contact .c-btn:not(:last-child) {
    margin-right: 0;
    margin-bottom: 15px;
  }
}

.c-applies {
  padding: 26px 30px 24px;
  border-radius: 12px;
  border: 1px solid #5eb178;
}
@media (max-width: 767px) {
  .c-applies {
    padding: 26px 30px 30px;
  }
}
.c-applies__tt {
  padding-left: 18px;
  position: relative;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  letter-spacing: 0.05em;
  font-weight: bold;
  margin-bottom: 12px;
}
@media (max-width: 767px) {
  .c-applies__tt {
    margin-bottom: 18px;
  }
}
.c-applies__tt:before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  bottom: 3px;
  width: 5px;
  border-radius: 10px;
  background: #4fa56c;
  background: linear-gradient(90deg, rgb(79, 165, 108) 0%, rgb(70, 211, 113) 100%);
}
@media (min-width: 768px) {
  .c-applies__list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
  }
}
.c-applies__list li {
  line-height: 22px;
  margin: 6px 10px;
  position: relative;
  padding-left: 31px;
  background-repeat: no-repeat;
  background-position: top 2px left;
  background-image: url("data:image/svg+xml,%3Csvg id='checkbox' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3E%3Cdefs%3E%3CclipPath id='clip-path'%3E%3Crect id='Rectangle_343' data-name='Rectangle 343' width='11' height='7' fill='%235eb178'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg id='arw' transform='translate(5 7)' clip-path='url(%23clip-path)'%3E%3Cpath id='Path_359' data-name='Path 359' d='M10.573.212h0a.907.907,0,0,0-1.165,0L4.088,4.88,1.408,2.528a.907.907,0,0,0-1.165,0,.662.662,0,0,0,0,1.023L2.923,5.9l.583.511a.907.907,0,0,0,1.165,0L5.253,5.9l5.32-4.669a.662.662,0,0,0,0-1.023' transform='translate(-0.001 0.374)' fill='%235eb178'/%3E%3C/g%3E%3Cg id='Ellipse_29' data-name='Ellipse 29' fill='none' stroke='%235eb178' stroke-width='1'%3E%3Ccircle cx='10' cy='10' r='10' stroke='none'/%3E%3Ccircle cx='10' cy='10' r='9.5' fill='none'/%3E%3C/g%3E%3C/svg%3E%0A");
}
@media (max-width: 767px) {
  .c-applies__list li {
    display: block;
    margin: 0;
    background-position: top 1px left;
  }
  .c-applies__list li + li {
    margin-top: 8px;
  }
}

.c-link-arr {
  position: relative;
}
.c-link-arr .icon-arr {
  position: absolute;
  width: 42px;
  height: 40px;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
}
.c-link-arr .icon-arr:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #5eb178;
  mask: url("../img/common/ico_shape.svg") no-repeat center;
  -webkit-mask: rl("../img/common/ico_shape.svg") no-repeat center;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  transition: transform 0.3s, background-color 0.3s;
}
.c-link-arr .icon-arr:after {
  content: "";
  width: 8px;
  height: 13px;
  position: absolute;
  left: 50%;
  top: 50%;
  background-color: #fff;
  transform: translate(-50%, -50%);
  mask: url("../img/common/ico_arw.svg") no-repeat center;
  -webkit-mask: rl("../img/common/ico_arw.svg") no-repeat center;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  transition: background-color 0.3s;
}
@media (max-width: 767px) {
  .c-link-arr .icon-arr {
    width: 38px;
    height: 38px;
  }
  .c-link-arr .icon-arr:after {
    width: 7px;
    height: 12px;
  }
}
.c-link-arr--change-color {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .c-link-arr--change-color:hover .icon-arr:before {
    background-color: #fff;
  }
  .c-link-arr--change-color:hover .icon-arr:after {
    background-color: #5eb178;
  }
}
.c-link-arr--rotate {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .c-link-arr--rotate:hover {
    opacity: 1;
  }
  .c-link-arr--rotate:hover .icon-arr:before {
    transform: rotate(-90deg);
  }
}

.c-btn-booking {
  width: 200px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #5eb178;
  border-radius: 50px;
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4285714286em;
  letter-spacing: 0.05em;
  font-weight: 700;
  transition: background-color 0.3s;
}
.c-btn-booking .label {
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11.571' height='18' viewBox='0 0 11.571 18'%3E%3Cpath id='Icon_ionic-md-phone-portrait' data-name='Icon ionic-md-phone-portrait' d='M17.793,2.25H9.528A1.65,1.65,0,0,0,7.875,3.886V18.614A1.65,1.65,0,0,0,9.528,20.25h8.265a1.65,1.65,0,0,0,1.653-1.636V3.886A1.65,1.65,0,0,0,17.793,2.25ZM18,17.036H9.321V5.464H18Z' transform='translate(-7.875 -2.25)' fill='%23fff'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 20px;
}
.c-btn-booking {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .c-btn-booking:hover {
    opacity: 1;
    background-color: #1f3e4d;
  }
}

.c-btn-faq {
  width: 200px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: #5eb178 1px solid;
  border-radius: 50px;
  color: #5eb178;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4285714286em;
  letter-spacing: 0.05em;
  font-weight: 700;
  transition: 0.3s;
}
.c-btn-faq .label {
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.126' height='13.4' viewBox='0 0 15.126 13.4'%3E%3Cpath id='Icon_awesome-comment' data-name='Icon awesome-comment' d='M6.857,2.25c3.787,0,6.857,2.494,6.857,5.571a4.945,4.945,0,0,1-1.527,3.5,6.814,6.814,0,0,0,1.468,2.566.213.213,0,0,1,.04.233.21.21,0,0,1-.2.129,6.126,6.126,0,0,1-3.766-1.377,8.169,8.169,0,0,1-2.877.52C3.07,13.393,0,10.9,0,7.821S3.07,2.25,6.857,2.25Z' transform='translate(0.7 -1.55)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 22px;
}
.c-btn-faq {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .c-btn-faq:hover {
    opacity: 1;
    background-color: #1f3e4d;
    border-color: #1f3e4d;
    color: #fff;
  }
  .c-btn-faq:hover .label {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.126' height='13.4' viewBox='0 0 15.126 13.4'%3E%3Cpath id='Icon_awesome-comment' data-name='Icon awesome-comment' d='M6.857,2.25c3.787,0,6.857,2.494,6.857,5.571a4.945,4.945,0,0,1-1.527,3.5,6.814,6.814,0,0,0,1.468,2.566.213.213,0,0,1,.04.233.21.21,0,0,1-.2.129,6.126,6.126,0,0,1-3.766-1.377,8.169,8.169,0,0,1-2.877.52C3.07,13.393,0,10.9,0,7.821S3.07,2.25,6.857,2.25Z' transform='translate(0.7 -1.55)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4'/%3E%3C/svg%3E%0A");
  }
}

.c-timeline {
  max-width: 480px;
  background: #ebf5de;
  border-radius: 20px;
  padding: 10px 30px;
}
@media (max-width: 767px) {
  .c-timeline {
    padding: 5px 18px 10px 18px;
  }
}
.c-timeline .timeline-table {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.3333333333em;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .c-timeline .timeline-table {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6666666667em;
  }
}
.c-timeline .timeline-table tr {
  border-bottom: 1px solid #dedede;
}
.c-timeline .timeline-table th {
  width: 118px;
  vertical-align: middle;
  text-align: center;
}
@media (max-width: 767px) {
  .c-timeline .timeline-table th {
    width: 90px;
    text-align: left;
  }
}
.c-timeline .timeline-table td {
  height: 50px;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  text-align: center;
}
.c-timeline .timeline-table td:last-child {
  width: 48px;
}
@media (max-width: 767px) {
  .c-timeline .timeline-table td {
    height: 39px;
    background-size: 12px auto;
  }
  .c-timeline .timeline-table td:last-child {
    width: 32px;
    letter-spacing: 0;
  }
}
.c-timeline .timeline-table .time {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  letter-spacing: 0.03em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
}
@media (max-width: 767px) {
  .c-timeline .timeline-table .time {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6666666667em;
  }
}
.c-timeline .timeline-table .circle {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Ccircle id='Ellipse_13' data-name='Ellipse 13' cx='7' cy='7' r='7' fill='%235eb178'/%3E%3C/svg%3E%0A");
}
.c-timeline .timeline-table .line {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='1' viewBox='0 0 15 1'%3E%3Crect id='Rectangle_91' data-name='Rectangle 91' width='15' height='1' fill='%231f3e4d'/%3E%3C/svg%3E%0A");
}
.c-timeline .timeline-table .triangle {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='14' viewBox='0 0 16 14'%3E%3Cpath id='Polygon_1' data-name='Polygon 1' d='M8,0l8,14H0Z' fill='%235eb178'/%3E%3C/svg%3E%0A");
}
.c-timeline .timeline-note {
  text-align: right;
}
.c-timeline .timeline-note .label {
  margin-top: 13px;
  margin-right: -8px;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='14' viewBox='0 0 16 14'%3E%3Cpath id='Polygon_3' data-name='Polygon 3' d='M8,0l8,14H0Z' fill='%235eb178'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 25px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.6666666667em;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .c-timeline .timeline-note .label {
    margin-top: 9px;
    margin-right: -4px;
    background-size: 12px auto;
    padding-left: 15px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.6em;
  }
}

.c-fixedbtn {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 66px;
  display: flex;
  background-color: #1f3e4d;
  opacity: 0;
  transition: opacity 0.5s;
  z-index: 9;
}
.c-fixedbtn .btn-item {
  width: calc(50% - 30px);
  background-position: center top 13px;
  background-repeat: no-repeat;
  text-align: center;
  padding-top: 35px;
  color: #fff;
}
.c-fixedbtn .btn-tel {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.481' height='17.481' viewBox='0 0 17.481 17.481'%3E%3Cpath id='Icon_metro-phone' data-name='Icon metro-phone' d='M10.267,8.4c-.933.933-.933,1.867-1.867,1.867S6.533,9.333,5.6,8.4,3.733,6.533,3.733,5.6,4.667,4.667,5.6,3.733,3.733,0,2.8,0,0,2.8,0,2.8c0,1.867,1.918,5.651,3.733,7.467S9.333,14,11.2,14c0,0,2.8-1.867,2.8-2.8s-2.8-3.733-3.733-2.8Z' transform='translate(4.093) rotate(17)' fill='%23fff'/%3E%3C/svg%3E%0A");
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.1111111111em;
  letter-spacing: 0.03em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
}
.c-fixedbtn .btn-booking {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.929' height='17' viewBox='0 0 10.929 17'%3E%3Cpath id='Icon_ionic-md-phone-portrait' data-name='Icon ionic-md-phone-portrait' d='M17.242,2.25H9.436A1.558,1.558,0,0,0,7.875,3.8V17.7A1.558,1.558,0,0,0,9.436,19.25h7.806A1.558,1.558,0,0,0,18.8,17.7V3.8A1.558,1.558,0,0,0,17.242,2.25Zm.2,13.964h-8.2V5.286h8.2Z' transform='translate(-7.875 -2.25)' fill='%23fff'/%3E%3C/svg%3E%0A");
  border-left: rgba(255, 255, 255, 0.5) 1px solid;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.3333333333em;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.c-fixedbtn .gototop {
  width: 60px;
  background-color: #868686;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.829' height='8.414' viewBox='0 0 14.829 8.414'%3E%3Cpath id='arw' d='M1161.166,1124.543l6,6-6,6' transform='translate(-1123.129 1168.166) rotate(-90)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-position: center top 19px;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.3333333333em;
  letter-spacing: 0.05em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
}

.c-gototop {
  position: fixed;
  bottom: 15px;
  right: 13px;
  display: block;
  width: 82px;
  height: 82px;
  padding-top: 37px;
  text-align: center;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.3333333333em;
  letter-spacing: 0.05em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
  display: none;
  transition: 0.3s;
}
.c-gototop:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1f3e4d;
  mask: url("../img/common/ico_shape.svg") no-repeat center;
  -webkit-mask: rl("../img/common/ico_shape.svg") no-repeat center;
  mask-size: 100% 100%;
  -webkit-mask-size: 100% 100%;
  transition: transform 0.3s, background-color 0.3s;
}
.c-gototop:after {
  content: "";
  position: absolute;
  top: 26px;
  left: 50%;
  width: 16px;
  height: 8px;
  margin-left: -8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14.829' height='8.414' viewBox='0 0 14.829 8.414'%3E%3Cpath id='arw' d='M1161.166,1124.543l6,6-6,6' transform='translate(-1123.129 1168.166) rotate(-90)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
}
.c-gototop .label {
  position: relative;
}
.c-gototop.onft {
  bottom: 50px;
}
.c-gototop {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .c-gototop:hover:before {
    background-color: #5eb178;
  }
}
@media (max-width: 767px) {
  .c-gototop {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .fixHeader .c-fixedbtn {
    opacity: 1;
  }
}

.js-writetxt {
  visibility: hidden;
}

.js-writetxt.is-split {
  visibility: visible;
}

.js-writetxt .split-char {
  display: inline-block;
  opacity: 0;
}

.js-writetxt.is-animate .split-char {
  animation-name: iwakura-char-reveal;
  animation-duration: 1.8s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: forwards;
  animation-delay: calc(var(--i) * 0.06s);
}

@keyframes iwakura-char-reveal {
  0% {
    opacity: 0;
    transform: translateY(0.2em);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.ft-map {
  pointer-events: none;
}
.ft-map iframe {
  width: 100%;
  height: 430px;
}
@media (max-width: 767px) {
  .ft-map iframe {
    height: 317px;
  }
}

.ft-inner {
  position: relative;
  margin-top: -50px;
  background: #fff;
  border-radius: 60px 60px 0 0;
}
@media (max-width: 767px) {
  .ft-inner {
    margin-top: -50px;
  }
}

.ft-infor {
  display: flex;
  justify-content: space-between;
  border-bottom: #d5d5d5 1px solid;
  padding: 100px 0 60px;
}
@media only screen and (max-width: 950px) {
  .ft-infor {
    display: block;
  }
}
@media (max-width: 767px) {
  .ft-infor {
    display: block;
    border-bottom: none;
    padding: 50px 0 0;
  }
}
.ft-infor .infor-left {
  width: 42.6287744227%;
}
@media only screen and (max-width: 950px) {
  .ft-infor .infor-left {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .ft-infor .infor-left {
    width: 100%;
  }
}
.ft-infor .infor-logo img {
  width: 425px;
}
@media (max-width: 767px) {
  .ft-infor .infor-logo {
    padding-left: 5px;
  }
  .ft-infor .infor-logo img {
    width: 310px;
  }
}
.ft-infor .infor-timeline {
  margin-top: 60px;
}
@media (max-width: 767px) {
  .ft-infor .infor-timeline {
    margin-top: 30px;
  }
}
.ft-infor .infor-company {
  margin-top: 50px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.4444444444em;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .ft-infor .infor-company {
    margin-top: 32px;
    text-align: center;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.3333333333em;
  }
}
.ft-infor .infor-address {
  margin-top: 22px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .ft-infor .infor-address {
    margin-top: 8px;
    text-align: center;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4285714286em;
  }
}
.ft-infor .infor-contact {
  width: 51.5097690941%;
  background: #5eb178;
  border-radius: 20px;
  padding: 46px 55px;
  color: #fff;
}
@media only screen and (max-width: 1050px) {
  .ft-infor .infor-contact {
    padding: 46px 25px;
  }
}
@media only screen and (max-width: 950px) {
  .ft-infor .infor-contact {
    margin-top: 40px;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .ft-infor .infor-contact {
    margin: 40px -25px 0;
    width: calc(100% + 50px);
    border-radius: 40px;
    padding: 40px 25px 50px;
  }
}
.ft-infor .infor-contact .contact-ttl {
  text-align: center;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.4285714286em;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .ft-infor .infor-contact .contact-ttl {
    letter-spacing: 0.05em;
  }
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .contact-ttl {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.5em;
  }
}
.ft-infor .infor-contact a {
  display: block;
  height: 150px;
  background-color: rgba(255, 255, 255, 0.2);
  border: transparent 1px solid;
  border-radius: 100px;
  text-align: center;
  color: #fff;
  transition: 0.3s;
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .ft-infor .infor-contact a:hover {
    opacity: 1;
    border-color: #fff;
  }
}
@media (max-width: 767px) {
  .ft-infor .infor-contact a {
    height: 140px;
  }
}
.ft-infor .infor-contact .btn-tel {
  margin-top: 33px;
  padding: 22px;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-tel {
    margin-top: 25px;
    padding: 25px 20px;
  }
}
.ft-infor .infor-contact .btn-tel .tel-num {
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27.471' height='27.471' viewBox='0 0 27.471 27.471'%3E%3Cpath id='Icon_metro-phone' data-name='Icon metro-phone' d='M16.133,13.2c-1.467,1.467-1.467,2.933-2.933,2.933S10.267,14.667,8.8,13.2,5.867,10.267,5.867,8.8,7.333,7.333,8.8,5.867,5.867,0,4.4,0,0,4.4,0,4.4c0,2.933,3.014,8.88,5.867,11.733S14.667,22,17.6,22c0,0,4.4-2.933,4.4-4.4s-4.4-5.867-5.867-4.4Z' transform='translate(6.432) rotate(17)' fill='%23fff'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left top 8px;
  padding-left: 32px;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.1111111111em;
  letter-spacing: 0.03em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-tel .tel-num {
    padding-left: 29px;
    background-position: left top 3px;
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.1333333333em;
  }
}
.ft-infor .infor-contact .btn-tel .timediv {
  margin: 13px auto 0;
  max-width: 360px;
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-tel .timediv {
    margin-top: 8px;
    max-width: 265px;
  }
}
.ft-infor .infor-contact .btn-tel .time-label {
  width: 42px;
  height: 47px;
  background: #fff;
  border-radius: 10px;
  padding-top: 7px;
  color: #5eb178;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.2307692308em;
  letter-spacing: 0em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-tel .time-label {
    width: 38px;
    height: 42px;
    padding-top: 7px;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.2727272727em;
  }
}
.ft-infor .infor-contact .btn-tel .time-desc {
  width: calc(100% - 42px);
  padding-left: 18px;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-tel .time-desc {
    width: calc(100% - 38px);
    padding-left: 12px;
  }
}
.ft-infor .infor-contact .btn-tel .time-desc .desc-row {
  display: flex;
}
.ft-infor .infor-contact .btn-tel .time-desc .desc-row + .desc-row {
  margin-top: 6px;
  padding-top: 6px;
  border-top: #fff 1px solid;
}
.ft-infor .infor-contact .btn-tel .time-desc .date {
  width: 100px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.4285714286em;
  letter-spacing: 0em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-tel .time-desc .date {
    width: 73px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.4em;
  }
}
.ft-infor .infor-contact .btn-tel .time-desc .time {
  width: calc(100% - 100px);
  text-align: right;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.3333333333em;
  letter-spacing: 0.03em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-tel .time-desc .time {
    width: calc(100% - 73px);
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.2727272727em;
  }
}
.ft-infor .infor-contact .btn-booking {
  margin-top: 20px;
  padding: 26px 50px 33px;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-booking {
    margin-top: 13px;
    padding: 26px 30px 33px;
  }
}
.ft-infor .infor-contact .btn-booking .booking-ttl {
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15.429' height='24' viewBox='0 0 15.429 24'%3E%3Cpath id='Icon_ionic-md-phone-portrait' data-name='Icon ionic-md-phone-portrait' d='M21.1,2.25H10.079a2.2,2.2,0,0,0-2.2,2.182V24.068a2.2,2.2,0,0,0,2.2,2.182H21.1a2.2,2.2,0,0,0,2.2-2.182V4.432A2.2,2.2,0,0,0,21.1,2.25Zm.276,19.714H9.8V6.536H21.375Z' transform='translate(-7.875 -2.25)' fill='%23fff'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left top 9px;
  padding-left: 28px;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.5384615385em;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-booking .booking-ttl {
    padding-left: 28px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.8181818182em;
  }
}
.ft-infor .infor-contact .btn-booking .booking-time {
  margin-top: 13px;
  background: #ffffff;
  border-radius: 10px;
  padding: 7px;
  color: #5eb178;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  letter-spacing: 0em;
  font-weight: 700;
}
.ft-infor .infor-contact .btn-booking .booking-time .hour {
  font-size: 17px;
  font-size: 1.7rem;
}
@media (max-width: 767px) {
  .ft-infor .infor-contact .btn-booking .booking-time {
    margin-top: 6px;
    padding: 7px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.3333333333em;
  }
  .ft-infor .infor-contact .btn-booking .booking-time .hour {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.ft-navi {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 1000px) {
  .ft-navi {
    display: block;
  }
}
@media (max-width: 767px) {
  .ft-navi {
    margin-top: 36px;
    display: block;
  }
}
.ft-navi .navi-group {
  width: 41.2%;
}
@media (min-width: 768px) {
  .ft-navi .navi-group:first-child {
    width: 55%;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1000px) {
  .ft-navi .navi-group + .navi-group {
    margin-top: 24px;
  }
}
@media (max-width: 767px) {
  .ft-navi .navi-group {
    width: 100%;
  }
  .ft-navi .navi-group + .navi-group {
    margin-top: 24px;
  }
}
.ft-navi .group-ttl {
  display: flex;
  align-items: center;
}
.ft-navi .group-ttl .text_en {
  color: #5eb178;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.0714285714em;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: "Montserrat Alternates", sans-serif;
}
.ft-navi .group-ttl .text_jp {
  padding-left: 9px;
  padding-top: 2px;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.ft-navi .group-cnt {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  column-gap: 25px;
}
@media (max-width: 767px) {
  .ft-navi .group-cnt {
    margin-top: 15px;
    display: block;
  }
}
.ft-navi .navi-col {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.1em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .ft-navi .navi-col {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.8em;
  }
}
.ft-navi .navi-col a {
  position: relative;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.414' height='12.828' viewBox='0 0 7.414 12.828'%3E%3Cpath id='arw' d='M1161.166,1124.543l5,5-5,5' transform='translate(-1159.752 -1123.129)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 14px;
  white-space: nowrap;
  transition: color 0.3s;
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .ft-navi .navi-col a:hover {
    opacity: 1;
    color: #5eb178;
  }
}

.ft-recruit {
  position: relative;
  margin-top: 35px;
  height: 120px;
  display: flex;
  align-items: center;
  background: #5eb178;
  border-radius: 20px;
  padding-left: 86px;
  color: #fff;
  overflow: hidden;
}
@media only screen and (max-width: 1100px) {
  .ft-recruit {
    padding-left: 60px;
  }
}
.ft-recruit {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .ft-recruit:hover .recruit-img img {
    transform: scale(1.1);
  }
}
@media (max-width: 767px) {
  .ft-recruit {
    margin: 36px -25px 0;
    display: block;
    height: auto;
    padding: 0;
  }
}
.ft-recruit .icon-arr {
  right: auto;
  left: 30px;
}
.ft-recruit .icon-arr:before {
  background-color: #fff;
}
.ft-recruit .icon-arr:after {
  background-color: #5eb178;
}
@media only screen and (max-width: 1100px) {
  .ft-recruit .icon-arr {
    left: 15px;
  }
}
@media (max-width: 767px) {
  .ft-recruit .icon-arr {
    left: 18px;
    top: 35px;
    transform: translateY(0);
  }
}
.ft-recruit .recruit-cnt {
  position: relative;
  width: calc(100% - 300px);
  display: flex;
  align-items: center;
  column-gap: 30px;
  color: #fff;
  z-index: 2;
}
@media only screen and (max-width: 1000px) {
  .ft-recruit .recruit-cnt {
    display: block;
  }
}
@media (max-width: 767px) {
  .ft-recruit .recruit-cnt {
    width: 100%;
    display: block;
    padding: 32px 25px 0;
  }
}
.ft-recruit .recruit-ttl {
  display: flex;
  align-items: center;
}
.ft-recruit .recruit-ttl .text_en {
  font-size: 46px;
  font-size: 4.6rem;
  line-height: 1.0869565217em;
  letter-spacing: 0.05em;
  font-weight: 500;
  font-family: "Montserrat Alternates", sans-serif;
}
.ft-recruit .recruit-ttl .text_jp {
  padding-top: 6px;
  padding-left: 16px;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.1111111111em;
  letter-spacing: 0.1em;
  font-weight: 700;
}
@media (max-width: 767px) {
  .ft-recruit .recruit-ttl {
    padding-left: 42px;
  }
  .ft-recruit .recruit-ttl .text_en {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.1111111111em;
  }
  .ft-recruit .recruit-ttl .text_jp {
    padding-top: 6px;
    padding-left: 17px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4285714286em;
  }
}
.ft-recruit .recruit-desc {
  margin-top: 3px;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.5294117647em;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .ft-recruit .recruit-desc {
    margin-top: 16px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em;
  }
}
.ft-recruit .recruit-img {
  position: relative;
  width: 300px;
  overflow: hidden;
}
.ft-recruit .recruit-img:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 78px;
  height: 100%;
  background: url(../img/top/recruit_bg.png) no-repeat left center;
  background-size: 100%;
}
.ft-recruit .recruit-img img {
  width: 100%;
  transition: transform 0.3s;
}
@media (max-width: 767px) {
  .ft-recruit .recruit-img {
    margin-top: -10px;
    overflow: visible;
    width: 100%;
  }
  .ft-recruit .recruit-img:after {
    top: 0;
    left: 0;
    width: 100%;
    height: 65px;
    background: url(../img/top/recruit_bg_sp.png) no-repeat left center;
    background-size: 100% 65px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 400px) {
  .ft-recruit .recruit-img:after {
    top: -10px;
  }
}

.ft-bnr {
  margin-top: 33px;
  display: flex;
  column-gap: 19px;
}
@media (max-width: 767px) {
  .ft-bnr {
    margin-top: 30px;
    flex-wrap: wrap;
    row-gap: 10px;
  }
}
.ft-bnr .bnr-item {
  display: block;
  width: calc(33.33% - 12.6666666667px);
  max-width: 320px;
}
@media (max-width: 767px) {
  .ft-bnr .bnr-item {
    width: 100%;
    max-width: unset;
  }
  .ft-bnr .bnr-item img {
    width: 100%;
  }
}

.ft-bottom {
  margin-top: 40px;
  min-height: 90px;
  background: #5eb178;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 50px;
  color: #fff;
}
@media only screen and (max-width: 1000px) {
  .ft-bottom {
    padding-top: 25px;
    display: block;
  }
}
@media (max-width: 767px) {
  .ft-bottom {
    margin-top: 30px;
    display: block;
    height: auto;
    padding: 20px 0 87px;
  }
}
.ft-bottom .bottom-navi {
  display: flex;
  align-items: center;
  column-gap: 25px;
}
@media (max-width: 767px) {
  .ft-bottom .bottom-navi {
    justify-content: center;
    column-gap: 40px;
  }
}
.ft-bottom .bottom-navi a {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.414' height='12.828' viewBox='0 0 7.414 12.828'%3E%3Cpath id='arw' d='M1161.166,1124.543l5,5-5,5' transform='translate(-1159.752 -1123.129)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 15px;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.3333333333em;
  letter-spacing: 0.1em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .ft-bottom .bottom-navi a {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6.414' height='10.828' viewBox='0 0 6.414 10.828'%3E%3Cpath id='arw' d='M1161.166,1124.543l4,4-4,4' transform='translate(-1159.752 -1123.129)' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
    padding-left: 12px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4285714286em;
    letter-spacing: 0.1em;
  }
}
.ft-bottom .copyright {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.3333333333em;
  letter-spacing: 0.1em;
  font-weight: 700;
}
.ft-bottom .copyright .text_en {
  padding-right: 7px;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
}
@media (max-width: 767px) {
  .ft-bottom .copyright {
    margin-top: 10px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.5em;
    text-align: center;
  }
  .ft-bottom .copyright .text_en {
    padding-right: 0;
  }
}

.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1000;
  width: 100%;
  height: 106px;
  padding: 0 30px 0 40px;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .header {
    height: 94px;
    padding: 0 30px 0 16px;
  }
}
.header .header-inner {
  position: relative;
  z-index: 2000;
}
.header .logo {
  position: absolute;
  left: 0;
  top: 52px;
  z-index: 1000;
}
@media (max-width: 767px) {
  .header .logo {
    top: 25px;
  }
  .header .logo img {
    width: 256px;
  }
}
.header .txth1 {
  padding-top: 12px;
  text-align: right;
  color: #868686;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.6em;
  letter-spacing: 0.05em;
  font-weight: 500;
}
@media (max-width: 767px) {
  .header .txth1 {
    display: none;
  }
}

.menu-layer {
  text-align: right;
  position: relative;
}
@media (min-width: 768px) {
  .menu-layer {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .menu-layer {
    position: fixed;
    top: 94px;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: left;
    background: #ebf5de;
    z-index: 999;
    overflow-y: auto;
    display: none;
  }
  .menu-layer .menu-inner {
    padding: 6px 25px 40px;
  }
}
.menu-layer .infor-timeline {
  display: none;
}
@media (max-width: 767px) {
  .menu-layer .infor-timeline {
    display: block;
    background: #fff;
  }
}
.menu-layer .btn-group {
  padding-top: 13px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media (max-width: 767px) {
  .menu-layer .btn-group {
    padding-top: 14px;
  }
  .menu-layer .btn-group a {
    width: calc(50% - 7px);
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #5eb178;
    border-radius: 20px;
    color: #fff;
  }
}
.menu-layer .btn-group .btn-tel {
  color: #5eb178;
  font-size: 26px;
  font-size: 2.6rem;
  line-height: 1.1538461538em;
  letter-spacing: 0.03em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
}
.menu-layer .btn-group .btn-tel .label {
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22.476' height='22.476' viewBox='0 0 22.476 22.476'%3E%3Cpath id='Icon_metro-phone' data-name='Icon metro-phone' d='M13.2,10.8C12,12,12,13.2,10.8,13.2S8.4,12,7.2,10.8,4.8,8.4,4.8,7.2,6,6,7.2,4.8,4.8,0,3.6,0,0,3.6,0,3.6C0,6,2.466,10.866,4.8,13.2S12,18,14.4,18c0,0,3.6-2.4,3.6-3.6s-3.6-4.8-4.8-3.6Z' transform='translate(5.263) rotate(17)' fill='%235eb178'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 25px;
}
@media (max-width: 767px) {
  .menu-layer .btn-group .btn-tel {
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.1111111111em;
    letter-spacing: 0.03em;
    font-weight: 600;
  }
  .menu-layer .btn-group .btn-tel .label {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.481' height='17.481' viewBox='0 0 17.481 17.481'%3E%3Cpath id='Icon_metro-phone' data-name='Icon metro-phone' d='M10.267,8.4c-.933.933-.933,1.867-1.867,1.867S6.533,9.333,5.6,8.4,3.733,6.533,3.733,5.6,4.667,4.667,5.6,3.733,3.733,0,2.8,0,0,2.8,0,2.8c0,1.867,1.918,5.651,3.733,7.467S9.333,14,11.2,14c0,0,2.8-1.867,2.8-2.8s-2.8-3.733-3.733-2.8Z' transform='translate(4.093) rotate(17)' fill='%23fff'/%3E%3C/svg%3E%0A");
    background-position: center top;
    padding-left: 0;
    padding-top: 20px;
  }
}
.menu-layer .btn-group .btn-booking {
  margin-left: 17px;
}
@media (max-width: 767px) {
  .menu-layer .btn-group .btn-booking {
    margin-left: 14px;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.3333333333em;
  }
  .menu-layer .btn-group .btn-booking .label {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.929' height='17' viewBox='0 0 10.929 17'%3E%3Cpath id='Icon_ionic-md-phone-portrait' data-name='Icon ionic-md-phone-portrait' d='M17.242,2.25H9.436A1.558,1.558,0,0,0,7.875,3.8V17.7A1.558,1.558,0,0,0,9.436,19.25h7.806A1.558,1.558,0,0,0,18.8,17.7V3.8A1.558,1.558,0,0,0,17.242,2.25Zm.2,13.964h-8.2V5.286h8.2Z' transform='translate(-7.875 -2.25)' fill='%23fff'/%3E%3C/svg%3E%0A");
    background-position: center top;
    padding-left: 0;
    padding-top: 20px;
  }
}
.menu-layer .btn-group .btn-faq {
  margin-left: 10px;
}
.menu-layer .gnavi {
  margin-top: 11px;
  padding-right: 8px;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .menu-layer .gnavi {
    margin-top: 40px;
    display: block;
    border-top: #1f3e4d 1px solid;
    padding-right: 0;
  }
}
.menu-layer .gnavi > li {
  position: relative;
  margin-left: 30px;
}
@media (max-width: 767px) {
  .menu-layer .gnavi > li {
    margin-left: 0;
    border-bottom: #1f3e4d 1px solid;
  }
}
.menu-layer .gnavi > li .navi-link {
  position: relative;
  display: block;
  padding: 3px 0;
  color: #1f3e4d;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  letter-spacing: 0.1em;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}
.menu-layer .gnavi > li .navi-link:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.3s;
}
.menu-layer .gnavi > li .navi-link {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .menu-layer .gnavi > li .navi-link:hover {
    opacity: 1;
    color: #5eb178;
  }
}
@media (max-width: 767px) {
  .menu-layer .gnavi > li .navi-link {
    padding: 20px 15px;
  }
  .menu-layer .gnavi > li .navi-link:before {
    right: 15px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.414' height='12.829' viewBox='0 0 7.414 12.829'%3E%3Cpath id='arw' d='M1161.166,1124.543l5,5-5,5' transform='translate(-1159.752 -1123.129)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  }
}
.menu-layer .gnavi > li.hassub .navi-link {
  padding-right: 22px;
}
.menu-layer .gnavi > li.hassub .navi-link:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg id='_' data-name='+' transform='translate(-301 -318)'%3E%3Crect id='bdr' width='16' height='2' rx='1' transform='translate(301 325)' fill='%235eb178'/%3E%3Crect id='bdr-2' data-name='bdr' width='2' height='16' rx='1' transform='translate(308 318)' fill='%235eb178'/%3E%3C/g%3E%3C/svg%3E%0A");
}
@media (min-width: 768px) {
  .menu-layer .gnavi > li.hassub.hover .navi-link, .menu-layer .gnavi > li.hassub.active .navi-link {
    color: #5eb178;
  }
}
.menu-layer .gnavi > li.hassub.hover .navi-link:before, .menu-layer .gnavi > li.hassub.active .navi-link:before {
  transform: rotate(90deg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2' height='16' viewBox='0 0 2 16'%3E%3Cg id='_' data-name='+' transform='translate(-308 -318)'%3E%3Crect id='bdr' width='2' height='16' rx='1' transform='translate(308 318)' fill='%235eb178'/%3E%3C/g%3E%3C/svg%3E%0A");
}
@media (min-width: 768px) {
  .menu-layer .gnavi .navsub {
    position: absolute;
    left: 50%;
    top: 100%;
    width: 240px;
    transform: translateX(-50%);
    padding-top: 30px;
    display: none;
  }
}
@media (max-width: 767px) {
  .menu-layer .gnavi .navsub {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    display: none;
  }
}
@media (min-width: 768px) {
  .menu-layer .gnavi .navsub .subcnt {
    border-radius: 20px;
    background: #ebf5de;
    box-shadow: 0px 4px 30px rgba(155, 144, 102, 0.1);
    padding: 15px 30px 30px;
  }
}
@media (max-width: 767px) {
  .menu-layer .gnavi .navsub .subcnt {
    margin-top: -6px;
    height: 157px;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    column-gap: 14px;
    row-gap: 5px;
    padding: 0 15px 24px;
  }
}
.menu-layer .gnavi .navsub .sub-item {
  border-bottom: #d5d5d5 1px solid;
}
@media (max-width: 767px) {
  .menu-layer .gnavi .navsub .sub-item {
    width: calc(50% - 7px);
    border-bottom: #d5d5d5 1px solid;
  }
}
.menu-layer .gnavi .navsub .sub-item > a {
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.414' height='12.829' viewBox='0 0 7.414 12.829'%3E%3Cpath id='arw' d='M1161.166,1124.543l5,5-5,5' transform='translate(-1159.752 -1123.129)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: right center;
  padding: 14px 10px 15px;
  text-align: left;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  letter-spacing: 0.1em;
  font-weight: 700;
  transition: 0.3s;
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .menu-layer .gnavi .navsub .sub-item > a:hover {
    opacity: 1;
    color: #5eb178;
  }
}
@media (max-width: 767px) {
  .menu-layer .gnavi .navsub .sub-item > a {
    position: relative;
    background-position: right center;
    padding: 10px 0 10px;
    text-align: left;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.3333333333em;
    letter-spacing: 0.1em;
  }
}
@media (max-width: 767px) {
  .menu-layer .btn-faqsp {
    margin-top: 30px;
    width: 100%;
    height: 55px;
    background: #fff;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25em;
  }
  .menu-layer .btn-faqsp .label {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19.699' height='17.4' viewBox='0 0 19.699 17.4'%3E%3Cpath id='Icon_awesome-comment' data-name='Icon awesome-comment' d='M9.143,2.25c5.05,0,9.143,3.325,9.143,7.429a6.593,6.593,0,0,1-2.036,4.668,9.086,9.086,0,0,0,1.957,3.421.284.284,0,0,1,.054.311A.28.28,0,0,1,18,18.25a8.168,8.168,0,0,1-5.021-1.836,10.892,10.892,0,0,1-3.836.693C4.093,17.107,0,13.782,0,9.679S4.093,2.25,9.143,2.25Z' transform='translate(0.7 -1.55)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.4'/%3E%3C/svg%3E%0A");
    padding-left: 30px;
  }
}

.fixHeader .header {
  background: #fff;
}
.fixHeader .header .txth1 {
  display: none;
}
.fixHeader .header .logo {
  top: 25px;
}

.layeron .header,
.layeron_fixheader .header {
  background: #ebf5de;
}

.hamberger {
  position: fixed;
  right: 20px;
  top: 20px;
  z-index: 1000;
  width: 55px;
  height: 54px;
  background-color: #5eb178;
  border-radius: 50%;
  padding: 16px 5px;
  text-align: center;
  cursor: pointer;
  display: none;
  overflow: hidden;
}
@media (max-width: 767px) {
  .hamberger {
    display: block;
  }
}
.hamberger .line {
  margin: 0 auto;
  display: block;
  width: 24px;
  height: 2px;
  margin-bottom: 5px;
  background: #fff;
  border-radius: 10px;
  -webkit-transition: 0.3s ease all;
  -moz-transition: 0.3s ease all;
  -ms-transition: 0.3s ease all;
  -o-transition: 0.3s ease all;
  transition: 0.3s ease all;
}
.hamberger .txt {
  display: block;
  margin-top: 2px;
  color: #fff;
  font-size: 10px;
  font-size: 1rem;
  line-height: 1.4em;
  letter-spacing: 0.05em;
  font-weight: 600;
  font-family: "Montserrat Alternates", sans-serif;
}
.hamberger .txt.txt-close {
  display: none;
}
.hamberger.active {
  padding-top: 13px;
}
.hamberger.active .line {
  width: 24px;
}
.hamberger.active .ham {
  transform: rotate(30deg) translateY(6px) translateX(3px);
}
.hamberger.active .ber {
  transform: rotate(-30deg);
}
.hamberger.active .ger {
  display: none;
}
.hamberger.active .txt {
  margin-top: 7px;
}
.hamberger.active .txt.txt-menu {
  display: none;
}
.hamberger.active .txt.txt-close {
  display: block;
}

.wp-pagenavi {
  position: relative;
  margin-top: 80px;
  display: flex;
  justify-content: center;
}
.wp-pagenavi::after {
  content: "";
  clear: both;
  display: table;
}
.wp-pagenavi {
  text-align: center;
}
@media (max-width: 767px) {
  .wp-pagenavi {
    margin-top: 40px;
  }
}
.wp-pagenavi span,
.wp-pagenavi a {
  margin: 0 8px;
  min-width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #d6ecbd;
  border-radius: 50%;
  text-align: center;
  padding: 2px;
  color: #5eb178;
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.3636363636em;
  letter-spacing: 0.02em;
  font-weight: 500;
  font-family: "Montserrat Alternates", sans-serif;
  transition: 0.3s;
}
@media (max-width: 767px) {
  .wp-pagenavi span,
  .wp-pagenavi a {
    margin: 0 3px;
    min-width: 40px;
    height: 40px;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.1111111111em;
    letter-spacing: 0.02em;
  }
}
.wp-pagenavi a.page {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .wp-pagenavi a.page:hover {
    opacity: 1;
    background-color: #fff;
  }
}
.wp-pagenavi span.current {
  background-color: #fff;
}
.wp-pagenavi .extend {
  margin: -4px 10px 0;
  min-width: unset;
  background-color: transparent;
  color: #1f3e4d;
}
@media (max-width: 767px) {
  .wp-pagenavi .extend {
    margin: -4px 3px 0;
  }
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  position: relative;
  margin: 0;
  min-width: unset;
  background-color: transparent;
  padding: 11px 22px;
}
.wp-pagenavi .previouspostslink:before,
.wp-pagenavi .nextpostslink:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.414' height='18.828' viewBox='0 0 10.414 18.828'%3E%3Cpath id='arw' d='M954.435,3877.334l-8,8,8,8' transform='translate(-945.435 -3875.92)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.3s;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .wp-pagenavi .previouspostslink:hover,
  .wp-pagenavi .nextpostslink:hover {
    opacity: 0.75;
    background: none;
    color: #133790;
  }
}
@media (max-width: 767px) {
  .wp-pagenavi .previouspostslink,
  .wp-pagenavi .nextpostslink {
    padding: 11px 11px;
  }
  .wp-pagenavi .previouspostslink:before,
  .wp-pagenavi .nextpostslink:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8.414' height='14.828' viewBox='0 0 8.414 14.828'%3E%3Cpath id='arw' d='M952.435,3877.334l-6,6,6,6' transform='translate(-945.435 -3875.92)' fill='none' stroke='%235eb178' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E%0A");
  }
}
.wp-pagenavi .previouspostslink {
  order: 1;
  cursor: pointer;
}
@media only screen and (min-width: 1025px) {
  .wp-pagenavi .previouspostslink:hover:before {
    left: -4px;
  }
}
.wp-pagenavi .nextpostslink:before {
  left: auto;
  right: 0;
  transform: rotate(-180deg);
}
@media (max-width: 767px) {
  .wp-pagenavi .nextpostslink {
    left: auto;
    right: 0;
  }
}
.wp-pagenavi .previouspostslink {
  order: 1;
}
.wp-pagenavi .first {
  order: 2;
}
.wp-pagenavi .page,
.wp-pagenavi .current,
.wp-pagenavi .extend {
  order: 3;
}
.wp-pagenavi .last {
  order: 4;
}
.wp-pagenavi .nextpostslink {
  order: 5;
}/*# sourceMappingURL=maps/styles.min.css.map */
