@charset "UTF-8";
/*WEBフォントの読み込み*/
@import url("//fonts.googleapis.com/css2?family=Kiwi+Maru&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
/*==============================================
/* 1. リセットCSS
/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
/* ============================================= */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  padding: 0; }

main {
  display: block; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

/*==============================================
/* 2. 要素スタイルの定義
/* ============================================= */
/*----------------------------*/
/*全要素
/*----------------------------*/
* {
  box-sizing: border-box; }

/*----------------------------*/
/*構造
/*----------------------------*/
body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  position: relative;
  line-height: 1.8;
  margin: 0;
  color: #000000;
  background-color: #FFFFFF;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%; }

@media screen and (max-width: 812px) {
  body {
    font-size: 0.875rem; } }
/*構造化タグのdisplay属性のブロック可*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

/* マーク・強調：figure*/
figure {
  margin: 1em 0; }

/*----------------------------*/
/*見出し
/*----------------------------*/
/* -- H2 --*/
h2 {
  font-size: 2.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold; }

@media screen and (max-width: 812px) {
  h2 {
    font-size: 1.75rem; } }
/* -- H3 --*/
h3 {
  font-size: 1.75rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold; }

@media screen and (max-width: 812px) {
  h3 {
    font-size: 1.375rem; } }
/* -- H4 --*/
h4 {
  font-size: 1.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold; }

@media screen and (max-width: 812px) {
  h4 {
    font-size: 1.25rem; } }
/* -- H5 --*/
h5 {
  font-size: 1.375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold; }

@media screen and (max-width: 812px) {
  h5 {
    font-size: 1.125rem; } }
/* -- H6 --*/
h6 {
  font-size: 1.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold; }

@media screen and (max-width: 812px) {
  h6 {
    font-size: 1rem; } }
/*----------------------------*/
/*リスト関連（UL/OL/DL）
/*----------------------------*/
/* -- UL：箇条書き --*/
ul {
  margin: 0;
  padding: 0;
  list-style: none; }

ul li {
  margin-left: 1.5em;
  list-style: disc;
  text-indent: 0px; }

/* -- OL：番号付きリスト -- */
ol {
  margin: 0;
  padding: 0;
  list-style: none; }

ol li {
  margin-left: 1.25em;
  list-style: decimal;
  text-indent: 0px; }

/* -- DL：説明リスト --*/
dl {
  margin: 0; }

dt {
  font-weight: bold; }

dd {
  box-sizing: border-box;
  padding-left: 0.8em;
  margin: 0; }

/*----------------------------*/
/*テーブル・表組（TABEL）
/*----------------------------*/
table {
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100% !important; }

table th, table td {
  border: 1px solid #333333;
  vertical-align: middle;
  padding: 8px; }

table th {
  font-weight: bold;
  background-color: #EFEFEF; }

table td {
  text-align: left; }

/*----------------------------*/
/*テキスト・リンク関連
/*----------------------------*/
/* -- a：リンク --*/
a {
  cursor: pointer;
  text-decoration: underline;
  color: #009d41; }

a:not([href]) {
  cursor: text; }

a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  background-image: url(image/icon/icon_ui_blank__green.svg);
  background-repeat: no-repeat; }

a[target="_blank"][href$=".pdf"]::after {
  content: "";
  display: inline-block;
  width: 2em;
  height: 1.5em;
  margin-left: 0.5em;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  top: 0.5em; }

a[data-tellink] {
  color: inherit; }

a[data-tellink][href="javascript:void(0);"] {
  text-decoration: none;
  cursor: default; }

.is-pc a[href^="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none; }

.is-pc a:not([class])[href^="tel:"] {
  color: inherit; }

/* -- p：段落 --*/
p {
  line-height: 1.8;
  margin: auto 0px; }

/* -- blockquote：引用 --*/
blockquote {
  position: relative;
  background-color: #EFEFEF;
  padding: 2.5em 1.5em;
  margin: 1em 0;
  border-radius: 6px;
  font-style: italic; }

blockquote:before {
  content: "“";
  display: inline-block;
  position: absolute;
  left: 0.5em;
  top: 0.5em;
  font-size: 200%; }

blockquote:after {
  content: "”";
  display: inline-block;
  position: absolute;
  right: 1.0em;
  bottom: 0.5em;
  font-size: 200%;
  line-height: 1; }

/* -- strong：強調 --*/
strong {
  font-weight: bold; }

/* -- em：斜体 --*/
em {
  font-style: italic; }

/* -- 下線 --*/
ins {
  text-decoration: underline; }

/* -- 削除：del --*/
del {
  text-decoration: line-through double; }

/* -- 取り消し：s --*/
s {
  text-decoration: line-through; }

/* -- 水平線：hr --*/
hr {
  border-width: 1px 0px 0px 0px;
  border-style: solid;
  height: 0px; }

/* マーク・強調：mark*/
mark {
  background-color: #ff9;
  color: #000; }

/*----------------------------*/
/*外部ソース読込関連（iframe）
/*----------------------------*/
iframe {
  max-width: 100%;
  border: none; }

@media screen and (max-width: 814px) {
  iframe {
    width: 100%; } }
/*----------------------------*/
/*画像スタイル関連
/*----------------------------*/
img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  text-align: center;
  vertical-align: top; }

/*----------------------------*/
/*動画スタイル関連
/*----------------------------*/
video {
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain; }

/*----------------------------*/
/*フォーム関連（入力：input・select・textarea）
/*----------------------------*/
/* -- 一律設定 --*/
input {
  vertical-align: middle;
  -webkit-appearance: none;
  appearance: none; }

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="date"],
input[type="datetime-local"],
input[type="week"],
input[type="time"],
input[type="month"],
input[type="url"],
input[type="password"],
textarea {
  font-family: var(--font-default);
  line-height: 2.2em;
  padding: 8px 3px;
  border: solid #CDCDCD 2px;
  background-color: #FFF;
  color: inherit;
  border-radius: 3px;
  font-size: 1.125rem;
  -webkit-appearance: none;
  appearance: none; }

input[type="week"] {
  letter-spacing: 0.05em; }

input[type="text"]:before {
  content: "aaa"; }

/*readonly 設定*/
input[type="text"]:read-only,
input[type="tel"]:read-only,
input[type="email"]:read-only,
input[type="number"]:read-only,
input[type="search"]:read-only,
input[type="date"]:read-only,
input[type="datetime-local"]:read-only,
input[type="week"]:read-only,
input[type="time"]:read-only,
input[type="month"]:read-only,
input[type="url"]:read-only,
input[type="password"]:read-only,
textarea:read-only,
select:read-only {
  background-color: #F9F9F9; }

/*disabled 設定*/
input[type="text"]:disabled,
input[type="tel"]:disabled,
input[type="email"]:disabled,
input[type="number"]:disabled,
input[type="search"]:disabled,
input[type="date"]:disabled,
input[type="datetime-local"]:disabled,
input[type="week"]:disabled,
input[type="time"]:disabled,
input[type="month"]:disabled,
input[type="url"]:disabled,
input[type="password"]:disabled,
textarea:disabled,
select:disabled {
  background-color: #F9F9F9; }

/* -- input::placeholder：プレースホルダー --*/
input::placeholder {
  color: #ADADAD; }

/* -- textarea：テキストエリア --*/
textarea {
  line-height: 2.0rem;
  padding: 2px 5px;
  width: 100%; }

/* -- select：セレクトボックス --*/
select {
  -webkit-appearance: none;
  appearance: none;
  height: 2.1em;
  line-height: 2.1em;
  padding: 8px 3px;
  padding-right: 1.2em;
  border: solid #CDCDCD 2px;
  background-color: #FFF;
  background-image: url(image/ui/icon_ui_selectArrow__black.svg);
  background-size: 0.50em;
  background-repeat: no-repeat;
  background-position: right 6px center;
  color: inherit;
  border-radius: 3px;
  font-size: 1.125rem;
  max-width: calc( 100% - ( 8px + 1em ) );
  box-sizing: content-box; }

/* -- input[type="checkbox"]：チェックボックス--*/
input[type="checkbox"] {
  /* 表示無効化*/
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute; }

input[type="checkbox"] + label {
  display: inline-block;
  position: relative;
  min-height: 2.2em;
  line-height: 2.2em;
  vertical-align: middle;
  padding: 8px 8px;
  padding-left: 40px;
  cursor: pointer;
  border: solid 2px transparent; }

input[type="checkbox"] + label:before {
  position: absolute;
  top: 50%;
  left: 7px;
  transform: translateY(-50%);
  content: "";
  width: 20px;
  height: 20px;
  border: 2px solid #686868;
  border-radius: 5px;
  background-color: #FFF; }

/*チェックされているとき*/
input[type="checkbox"]:checked + label:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -3px;
  transform: rotate(45deg) translate(-3px, calc((50% + 12px) * -1));
  width: 10px;
  height: 20px;
  border: solid 2px transparent;
  border-bottom: 4px solid #686868;
  border-right: 4px solid #686868;
  border-radius: 2px;
  background: transparent;
  box-shadow: none; }

/*無効化されているとき*/
input[type="checkbox"]:disabled + label:before {
  border: 1px solid #DFDFDF;
  background-color: #DFDFDF; }

input[type="checkbox"]:disabled:checked + label:before {
  border: 1px solid #DFDFDF;
  background-color: #FFFFFF; }

input[type="checkbox"]:disabled:checked + label:after {
  opacity: 0.6; }

/*フォーカスされているとき*/
input[type="checkbox"]:focus + label {
  border: solid 2px #DFDFDF; }

@media screen and (max-width: 814px) {
  input[type="checkbox"] + label {
    display: block; } }
/* -- input[type="radio"]：ラジオボタン --*/
input[type="radio"] {
  /* 表示無効化*/
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0;
  -webkit-appearance: none;
  appearance: none;
  position: absolute;
  font-size: 1.125rem; }

input[type="radio"] + label {
  display: inline-block;
  position: relative;
  min-height: 2.2em;
  line-height: 2.2em;
  vertical-align: middle;
  padding: 9px 8px;
  padding-left: 40px;
  cursor: pointer;
  border: solid 2px transparent; }

input[type="radio"] + label:before {
  position: absolute;
  top: 50%;
  left: 5px;
  transform: translateY(-50%);
  content: "";
  width: 25px;
  height: 25px;
  border: 1px solid #686868;
  border-radius: 1em;
  background-color: #FFFFFF; }

/*チェックされているとき*/
input[type="radio"]:checked + label:after {
  position: absolute;
  top: calc(50% + 4px);
  left: calc(4px + 5px);
  transform: translateY(calc((50% + 4px) * -1));
  content: "";
  width: 19px;
  height: 19px;
  border: none;
  background-color: #686868;
  border-radius: 1em; }

/*無効化されているとき*/
input[type="radio"]:disabled + label {
  color: #DFDFDF;
  cursor: default; }

input[type="radio"]:disabled + label:before {
  border: 1px solid #DFDFDF;
  background-color: #DFDFDF; }

input[type="radio"]:disabled:checked + label:before {
  border: 1px solid #DFDFDF;
  background-color: #FFFFFF; }

input[type="radio"]:disabled:checked + label:after {
  opacity: 0.6; }

/*フォーカスされているとき*/
input[type="radio"]:focus + label {
  border: solid 2px #DFDFDF; }

@media screen and (max-width: 814px) {
  input[type="radio"] + label {
    display: block; } }
/* -- input[type="number"]：数値入力--*/
input[type="number"] {
  text-align: right;
  padding-right: 0; }

/* -- input[type="date"]：年月日（カレンダー）- --*/
input[type="date"] {
  text-align: right; }

/* -- input[type="month"]：年月（カレンダー）- --*/
input[type="month"] {
  text-align: right; }

/* -- input[type="text"]：テキスト --*/
/*設定なし*/
/* -- input[type="tel"]：電話番号 --*/
/*設定なし*/
/* -- input[type="email"]：E-mail --*/
/*設定なし*/
/* -- input[type="search"]：検索 --*/
/*設定なし*/
/* -- input[type="checkbox"]：レンジスライダー--*/
/*設定なし*/
/*----------------------------*/
/*フォーム関連（ボタン：submit・button）
/*----------------------------*/
/*共通設定*/
input[type="submit"],
input[type="button"],
input[type="reset"],
button {
  /* iOSでのデフォルトスタイルをリセット */
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  border: solid 1px #252525;
  /* 装飾 */
  padding: 10px 20px;
  font-weight: normal;
  min-height: 30px;
  cursor: pointer;
  font-size: 1rem;
  cursor: pointer;
  transition: opacity 0.3s;
  opacity: 1; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration {
  display: none; }

input[type="submit"]:focus,
input[type="button"]:focus,
button:focus {
  outline-offset: -2px; }

input[type="submit"]:hover,
input[type="button"]:hover,
button:hover {
  opacity: 0.6; }

input.is-error[type],
textarea.is-error,
select.is-error {
  background-color: #ffebed; }

/*----------------------------*/
/*フォーム関連（レイアウト関連：fieldset・legend）
/*----------------------------*/
fieldset {
  border: none;
  padding: 0;
  margin: 0; }

fieldset + fieldset {
  margin-top: 10px; }

.c-cvLink {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  gap: clamp(3px, 0.9852216749vw, 8px);
  padding: 10px 30px;
  padding-left: clamp(30px, 8.6206896552vw, 70px);
  border-radius: 999px;
  color: #FFFFFF;
  font-weight: bold;
  text-decoration: none;
  pointer-events: all;
  /*box-shadow分*/
  background: linear-gradient(135deg, #8bce00 0%, #009d41 50%, #4caa64 100%); }
  @media screen and (max-width: 812px) {
    .c-cvLink {
      box-shadow: 0 5px 0 0 #008436;
      margin-bottom: 5px; }
      .c-cvLink:hover {
        background-color: #EEEEEE; }
      .c-cvLink:active {
        transform: translateY(5px);
        box-shadow: 0 0px 0 0 #008436; } }
  .c-cvLink > span {
    display: block;
    text-align: center;
    letter-spacing: 0.25em;
    line-height: 100%; }
  .c-cvLink__msg {
    font-size: clamp(0px, 1.354679803vw, 11px); }
  .c-cvLink__tel {
    letter-spacing: 0.25em;
    font-size: clamp(0px, 2.5862068966vw, 21px); }
  .c-cvLink:after {
    content: "";
    display: block;
    position: absolute;
    left: clamp(8px, 2.4630541872vw, 20px);
    top: 50%;
    transform: translateY(-50%);
    width: clamp(14px, 3.4482758621vw, 28px);
    height: clamp(14px, 3.4482758621vw, 28px);
    background-image: url(image/icon/icon_phone__white.svg); }

.c-tweetMidashi {
  width: 100%;
  border-bottom: dashed #827965 2px; }
.c-tweetMidashi__fukidashi {
  position: relative;
  display: block;
  margin: 0 auto;
  margin-bottom: clamp(12px, 2.9556650246vw, 24px);
  width: fit-content;
  background-color: #827965;
  font-weight: 500;
  letter-spacing: 0.125em;
  padding: 4px 24px;
  border-radius: 100px;
  color: #FFFFFF;
  font-size: clamp(10px, 1.4778325123vw, 12px); }
  .c-tweetMidashi__fukidashi::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    bottom: -14px;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-style: solid;
    border-right: 13px solid transparent;
    border-left: 13px solid transparent;
    border-top: 15px solid #827965;
    border-bottom: 0; }
.c-tweetMidashi__main {
  display: block;
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 8px;
  font-family: "Kiwi Maru", serif;
  font-weight: bold;
  letter-spacing: 0.125em;
  font-size: clamp(20px, 3.9408866995vw, 32px); }

.c-marker {
  background: linear-gradient(transparent 60%, #edff79 60%); }

.c-tapMsg {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background-color: #EFEFEF;
  padding: 10px;
  font-weight: bold;
  border-radius: 999px; }
  .c-tapMsg::before {
    content: "";
    width: 1.5em;
    height: 1.5em;
    background-image: url(./image/icon/icon_ui_tap__black.svg);
    background-size: contain;
    background-repeat: no-repeat; }
  .c-tapMsg > * {
    display: block;
    width: fit-content;
    max-width: 80%; }

.o-gmenu {
  display: block;
  position: fixed;
  top: 101px;
  right: 0;
  height: 100vh;
  width: 100%; }
  @media screen and (max-width: 812px) {
    .o-gmenu {
      top: 85px; } }
.o-gmenu__inner {
  background-color: #FFFFFF;
  width: 100%;
  max-width: 400px;
  padding: 10px;
  margin-left: auto;
  border-bottom-left-radius: 10px;
  overflow: hidden; }
  @media screen and (max-width: 500px) {
    .o-gmenu__inner {
      max-width: unset;
      border-bottom-left-radius: 0px; } }
.o-gmenu__item {
  display: block;
  margin-left: 0;
  width: 100%;
  list-style: none;
  border-bottom: solid #EFEFEF 1px; }
  .o-gmenu__item:nth-last-of-type(1) {
    border-bottom: none; }
.o-gmenu__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80px;
  text-decoration: none;
  color: #000000; }

.o-gmenuBtn {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0; }
.o-gmenuBtn__text {
  color: #000000;
  font-size: clamp(12px, 1.9704433498vw, 16px); }
.o-gmenuBtn__icon {
  position: relative;
  display: flex;
  height: 42px;
  width: 42px;
  overflow: hidden;
  transition: height 0.3s;
  margin: 0 auto; }
.o-gmenuBtn__icon > span {
  position: absolute;
  display: block;
  height: 6px;
  width: 100%;
  border-radius: 10px;
  background-color: #000000;
  transition: transform 0.3s, left 0.3s, top 0.3s, bottom 0.3s; }
  .o-gmenuBtn__icon > span:nth-of-type(1) {
    top: 7.5%;
    left: -6px;
    transform: rotate(-45deg);
    transform-origin: right; }
  .o-gmenuBtn__icon > span:nth-of-type(2) {
    top: 50%;
    transform: translateY(-50%);
    left: 100%; }
  .o-gmenuBtn__icon > span:nth-of-type(3) {
    bottom: 7.5%;
    left: -6px;
    transform: rotate(45deg);
    transform-origin: right;
    margin: 0 auto; }
.is-close .o-gmenuBtn__icon > span:nth-of-type(1) {
  top: 12%;
  transform: rotate(0deg);
  left: 0%; }
.is-close .o-gmenuBtn__icon > span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
  left: 0%; }
.is-close .o-gmenuBtn__icon > span:nth-of-type(3) {
  bottom: 12%;
  transform: rotate(0deg);
  left: 0%; }

.o-cvlink {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0; }
.o-cvlink__msg {
  width: fit-content;
  font-size: 0.875rem;
  letter-spacing: 0.15em; }

.o-accMenu {
  padding: 0;
  margin: 0;
  padding: 0; }
.o-accMenu__btn {
  display: block;
  position: relative;
  padding: 16px clamp(24px, 2.962962963vw, 32px);
  padding-right: clamp(24px, 5.9259259259vw, 64px);
  padding-left: clamp(36px, 5.9259259259vw, 64px);
  list-style: none;
  cursor: pointer;
  outline: none; }
  .o-accMenu__btn::-webkit-details-marker {
    display: none; }
  .o-accMenu__btn::after {
    position: absolute;
    right: clamp(4px, 1.4814814815vw, 16px);
    top: 50%;
    transform: translateY(-50%);
    content: "ー"; }
  .o-accMenu__btn.is-close::after {
    content: "＋"; }
.o-accMenu__marker {
  position: absolute;
  left: clamp(12px, 2.2222222222vw, 24px);
  font-weight: 600;
  font-family: "Zen Kaku Gothic New", sans-serif; }
.o-accMenu__main {
  overflow: hidden;
  height: 100%;
  margin: 0;
  padding: 0;
  padding: clamp(12px, 2.2222222222vw, 24px);
  padding-top: 0px; }

.o-focus {
  background: #eeeeee;
  padding: 24px clamp(8px, 1.4814814815vw, 16px); }
.o-focus h3, .o-focus h4, .o-focus h5, .o-focus h6 {
  display: block;
  color: #2a7b9b;
  font-weight: bold;
  font-size: 1.5rem; }
.o-focus > *:nth-of-type(1) {
  margin-top: 0; }
.o-focus h3 {
  font-size: 1.875rem; }
.o-focus h4 {
  font-size: 1.59375rem; }
  .o-focus h4::after {
    background-image: repeating-linear-gradient(90deg, #666666, #666666 2px, #eeeeee 2px, #eeeeee 6px); }
.o-focus h5 {
  font-size: 1.3125rem; }
.o-focus h6 {
  font-size: 1.125rem; }
.o-focus__header {
  margin-bottom: 24px; }
.o-focus__main {
  margin: 0 auto; }
.o-focus__footer {
  margin-top: 24px; }

.l-header {
  display: block;
  width: 100%;
  height: 101px;
  position: fixed;
  top: 0;
  left: 0;
  background: #FFFFFF;
  border-bottom: solid #DFDFDF 1px;
  z-index: 10; }
  @media screen and (max-width: 812px) {
    .l-header {
      height: 85px; } }
  .l-header__inner {
    width: 100%;
    max-width: 1600px;
    height: inherit;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    gap: clamp(8px, 1.5vw, 24px);
    padding: 10px clamp(10px, 1.875vw, 30px);
    margin: 0 auto; }
    @media screen and (max-width: 812px) {
      .l-header__inner {
        padding-top: 3px;
        padding-bottom: 3px; } }
  .l-header__siteName {
    margin-right: auto; }
    @media screen and (max-width: 812px) {
      .l-header__siteName {
        max-width: 140px; } }
  @media screen and (max-width: 812px) {
    .l-header .c-cvLink {
      padding-right: 15px; }
    .l-header .o-cvlink__msg {
      letter-spacing: 0px;
      font-size: 10px;
      text-align: center;
      line-height: 1.3;
      margin-top: 3px; }
    .l-header .c-cvLink__tel,
    .l-header .c-cvLink__msg {
      letter-spacing: 0px; }
    .l-header .c-cvLink__msg {
      font-size: 10px; }
    .l-header .c-cvLink__tel {
      font-size: 12px; } }

.l-main {
  margin-top: 100px; }
  @media screen and (max-width: 812px) {
    .l-main {
      margin-top: 85px; } }

.l-footer {
  display: block;
  width: 100%;
  padding: 10px clamp(10px, 1.875vw, 30px);
  background-color: inherit; }
.l-footer__cp {
  width: fit-content;
  margin: 0 auto; }

.l-inner--contents {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto; }
  @media screen and (max-width: 1200px) {
    .l-inner--contents {
      padding-left: 8px;
      padding-right: 8px; } }

.l-inner--tablet {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto; }
  @media screen and (max-width: 1200px) {
    .l-inner--tablet {
      padding-left: 8px;
      padding-right: 8px; } }

.p-top-keyvisual {
  background-image: url(./image/bg_paper__lightgreen.png);
  overflow: hidden; }
@media screen and (min-width: 1600.25px) {
  .p-top-keyvisual__inner {
    display: block;
    width: 100%;
    margin: 0 auto;
    margin-left: calc( (100% - 1600px) / 2 );
    overflow: hidden; }
  .p-top-keyvisual__inner picture {
    display: block;
    width: 1900px; } }
@media screen and (max-width: 1600px) {
  .p-top-keyvisual__inner {
    display: block;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    overflow: hidden; }
  .p-top-keyvisual__inner picture {
    display: block;
    width: 1900px;
    height: clamp(0px, 52.8125vw, 845px); } }
@media screen and (max-width: 812px) {
  .p-top-keyvisual__inner {
    display: block;
    width: 100%;
    margin: 0 auto;
    overflow: hidden; }
  .p-top-keyvisual__inner picture {
    display: block;
    width: 100%;
    height: auto; } }

.p-top-concern {
  position: relative;
  display: block;
  padding: clamp(36px, 4vw, 64px) clamp(10px, 2.25vw, 64px);
  width: 100%;
  background: url(./image/top_concern__bgtexture.png) repeat-x, linear-gradient(0deg, #fff0de 0%, rgba(255, 240, 222, 0.47) 59%, rgba(255, 240, 222, 0) 100%);
  background-position-x: center;
  overflow: hidden; }
  .p-top-concern > .l-inner--tablet {
    position: relative;
    z-index: 2;
    padding: 0; }
  .p-top-concern::before {
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    content: "";
    width: 50%;
    height: 50%;
    background-image: url("image/mask_triangle.svg");
    background-size: cover; }
  .p-top-concern::after {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    content: "";
    width: 50%;
    height: 50%;
    background-image: url("image/mask_triangle.svg");
    background-size: cover;
    transform: scaleX(-1); }
.p-top-concern__midashi {
  display: block;
  margin: 0 auto; }
  @media screen and (min-width: 812.25px) {
    .p-top-concern__midashi {
      width: clamp(0px, 70.8333333333vw, 850px); } }
  @media screen and (max-width: 812px) {
    .p-top-concern__midashi {
      width: 95%; } }

svg.is-pc .p-top-concernMidashi__accent {
  stroke: #0d3642;
  fill: none;
  stroke-miterlimit: 10; }

svg.is-pc .p-top-concernMidashi__namisen {
  fill: none;
  stroke-miterlimit: 10;
  stroke: #19495c;
  stroke-width: 2px; }

svg.is-pc .p-top-concernMidashi__txtdf {
  font-size: 33.39px;
  letter-spacing: .45em;
  stroke: #000;
  stroke-width: .25px;
  stroke-miterlimit: 10;
  font-family: "Noto Serif JP", serif;
  font-variation-settings: 'wght' 600;
  font-weight: 600; }

svg.is-pc .p-top-concernMidashi__txtext {
  font-size: 72px;
  letter-spacing: .45em;
  font-family: "Noto Serif JP", serif;
  font-variation-settings: 'wght' 600;
  font-weight: 600;
  fill: #0c323d; }

svg.is-pc .p-top-concernMidashi__txthatena {
  font-size: 60px;
  letter-spacing: .2em;
  font-family: "Noto Serif JP", serif;
  font-variation-settings: 'wght' 600;
  font-weight: 600;
  fill: #0c323d; }

svg.is-sp .p-top-concernMidashi__accent {
  stroke: #0d3642;
  fill: none;
  stroke-miterlimit: 10; }

svg.is-sp .p-top-concernMidashi__namisen {
  fill: none;
  stroke-miterlimit: 10;
  stroke: #19495c;
  stroke-width: 2px; }

svg.is-sp .p-top-concernMidashi__txtdf {
  letter-spacing: .45em;
  stroke-miterlimit: 10;
  font-family: "Noto Serif JP", serif;
  font-variation-settings: 'wght' 600;
  font-weight: 600;
  font-size: 20.08px;
  stroke: #000;
  stroke-width: .25px; }

svg.is-sp .p-top-concernMidashi__txtext {
  font-size: 43.31px;
  letter-spacing: .45em;
  fill: #0c323d;
  font-family: NotoSerifJP-SemiBold, 'Noto Serif JP';
  font-variation-settings: 'wght' 600;
  font-weight: 600; }

svg.is-sp .p-top-concernMidashi__txthatena {
  font-size: 36.09px;
  letter-spacing: .2em;
  fill: #0c323d;
  font-family: NotoSerifJP-SemiBold, 'Noto Serif JP';
  font-variation-settings: 'wght' 600;
  font-weight: 600; }

@media screen and (min-width: 812.25px) {
  .p-top-concernExample {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-bottom: clamp(0px, 5.9259259259vw, 64px);
    margin-bottom: clamp(36px, 5.9259259259vw, 64px); } }
@media screen and (max-width: 812px) {
  .p-top-concernExample {
    display: block;
    position: relative;
    width: 100%;
    height: clamp(0px, 117.4876847291vw, 954px);
    margin-bottom: 120px; } }
@media screen and (min-width: 812.25px) {
  .p-top-concernExample__item {
    list-style: none;
    position: relative;
    margin-left: 0;
    pointer-events: none; }
  .p-top-concernExample__item:nth-of-type(1) {
    top: clamp(0px, 0.9259259259vw, 10px); }
  .p-top-concernExample__item:nth-of-type(2) {
    top: clamp(0px, 5.9259259259vw, 64px); }
  .p-top-concernExample__item:nth-of-type(3) {
    top: clamp(0px, 2.2222222222vw, 24px); } }
@media screen and (max-width: 812px) {
  .p-top-concernExample__item {
    list-style: none;
    position: absolute;
    margin-left: 0;
    width: 60%;
    text-align: center; }
  .p-top-concernExample__item:nth-of-type(1) {
    width: 55%;
    top: clamp(-80px, -3.6945812808vw, -30px);
    left: clamp(-80px, -1.2315270936vw, -10px); }
  .p-top-concernExample__item:nth-of-type(2) {
    top: clamp(0px, 24.6305418719vw, 200px);
    left: clamp(0px, 43.1034482759vw, 350px); }
  .p-top-concernExample__item:nth-of-type(3) {
    top: clamp(0px, 51.724137931vw, 420px); } }

.p-top-chklist {
  display: grid;
  width: 100%;
  max-width: 1080px;
  grid-template-columns: 36px 1fr 1fr 36px;
  grid-template-rows: 100px 36px 1fr 36px;
  gap: 8px 16px;
  margin-top: 36px; }
  @media screen and (max-width: 812px) {
    .p-top-chklist {
      grid-template-columns: 5px 1fr 1fr 5px;
      grid-template-rows: 64px 5px 1fr 5px; } }
.p-top-chklist__midashi {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
  margin-bottom: clamp(12px, 2.9556650246vw, 24px);
  padding: 12px;
  border-radius: 10px;
  color: #FFFFFF;
  font-size: 1.125rem;
  font-weight: 500;
  font-family: "Kiwi Maru", serif;
  text-align: center;
  cursor: pointer; }
  .p-top-chklist__midashi::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    bottom: -14px;
    left: 0;
    right: 0;
    margin: 0 auto;
    border-style: solid;
    border-right: 13px solid transparent;
    border-left: 13px solid transparent;
    border-bottom: 0; }
.p-top-chklist__midashi--self {
  grid-area: 1 / 1 / 2 / 3;
  transition: all 0.3s;
  background-color: #606060; }
  .p-top-chklist__midashi--self::after {
    transition: all 0.3s; }
  .p-top-chklist__midashi--self::after {
    border-top: 15px solid #606060; }
  .p-top-chklist__midashi--self:hover {
    background-color: gray; }
  .p-top-chklist__midashi--self:hover::after {
    border-top: 15px solid gray; }
  .p-top-chklist__midashi--self.is-current {
    background-color: #2a7b9b; }
    .p-top-chklist__midashi--self.is-current::after {
      border-top: 15px solid #2a7b9b; }
    .p-top-chklist__midashi--self.is-current:hover {
      background-color: #5595af; }
    .p-top-chklist__midashi--self.is-current:hover::after {
      border-top: 15px solid #5595af; }
.p-top-chklist__midashi--fmly {
  background-color: #48b570;
  grid-area: 1 / 3 / 2 / 5;
  transition: all 0.3s;
  background-color: #606060; }
  .p-top-chklist__midashi--fmly::after {
    transition: all 0.3s; }
  .p-top-chklist__midashi--fmly::after {
    border-top: 15px solid #606060; }
  .p-top-chklist__midashi--fmly:hover {
    background-color: gray; }
  .p-top-chklist__midashi--fmly:hover::after {
    border-top: 15px solid gray; }
  .p-top-chklist__midashi--fmly.is-current {
    background-color: #48b570; }
    .p-top-chklist__midashi--fmly.is-current::after {
      border-top: 15px solid #48b570; }
    .p-top-chklist__midashi--fmly.is-current:hover {
      background-color: #6dc48d; }
    .p-top-chklist__midashi--fmly.is-current:hover::after {
      border-top: 15px solid #6dc48d; }
.p-top-chklist__main {
  display: block;
  padding: clamp(16px, 2.7777777778vw, 30px);
  border-radius: clamp(6px, 0.9259259259vw, 10px); }
  .p-top-chklist__main a {
    color: #FFFFFF; }
  .p-top-chklist__main--self {
    background-color: #2a7b9b;
    color: #FFFFFF; }
  .p-top-chklist__main--fmly {
    background-color: #48b570;
    color: #FFFFFF; }
.p-top-chklist__main {
  grid-area: 3 / 2 / 5 / 5;
  z-index: 1;
  opacity: 0.8; }
.p-top-chklist__main.is-current {
  grid-area: 2 / 1 / 4 / 4;
  z-index: 2;
  opacity: 1; }
.p-top-chklist__item {
  display: block;
  list-style: none;
  margin-left: 0;
  margin-top: 0.5em; }
  .p-top-chklist__item input[type="checkbox"] + label {
    display: block;
    line-height: 1.5em; }
  .p-top-chklist__item input[type="checkbox"] + label:before {
    background: transparent;
    border-color: #FFFFFF; }
  .p-top-chklist__item input[type="checkbox"]:checked + label:before {
    background: transparent;
    border-color: #FFFFFF;
    background-color: #FFFFFF; }
  .p-top-chklist__item input[type="checkbox"]:checked + label:after {
    display: none; }
  .p-top-chklist__main--self input[type="checkbox"]:checked + label {
    background: linear-gradient(90deg, rgba(87, 199, 133, 0.8) 10%, rgba(87, 199, 133, 0.2) 60%, rgba(87, 199, 133, 0) 100%) no-repeat; }

  .p-top-chklist__main--fmly input[type="checkbox"]:checked + label {
    background: linear-gradient(90deg, rgba(42, 123, 155, 0.8) 10%, rgba(42, 123, 155, 0.2) 60%, rgba(42, 123, 155, 0) 100%) no-repeat; }
.p-top-chklist__bikou {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: 0;
  line-height: 1.2;
  text-align: right; }
  .p-top-chklist__bikou a[target="_blank"]:after {
    background-image: url(image/icon/icon_ui_blank__white.svg);
    width: 1.2em;
    height: 1.2em;
    background-position: center; }
.p-top-chklist__msg {
  display: block;
  width: 100%;
  padding: clamp(10px, 2.962962963vw, 32px);
  margin-top: 1em;
  background: linear-gradient(to right, #DFDFDF 50%, transparent 50%) top/20px 1px repeat-x, linear-gradient(to right, #DFDFDF 50%, transparent 50%) bottom/20px 1px repeat-x, linear-gradient(to bottom, #DFDFDF 50%, transparent 50%) left/1px 20px repeat-y, linear-gradient(to bottom, #DFDFDF 50%, transparent 50%) right/1px 20px repeat-y;
  background-color: inherit; }

.p-top-relianceIntro {
  max-width: 1080px;
  margin: clamp(48px, 6.6666666667vw, 72px) auto; }
  .p-top-relianceIntro svg {
    width: 100%; }
.p-top-relianceIntro__keyPhrase {
  font-family: "Kiwi Maru", serif;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: .2em; }
  svg.is-sp .p-top-relianceIntro__keyPhrase {
    font-size: 20px;
    font-weight: 500; }
.p-top-relianceIntro__hochoki {
  fill: #009d41; }
.p-top-relianceIntro__subPhrase {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-variation-settings: 'wght' 400; }
  .p-top-relianceIntro__subPhrase tspan {
    letter-spacing: .2em; }
  svg.is-sp .p-top-relianceIntro__subPhrase {
    font-size: 10px;
    font-variation-settings: 'wght' 500; }
  .p-top-relianceIntro__subPhrase__outline {
    fill: #fff;
    stroke: #caccc2; }
.p-top-relianceIntro__topKakko {
  fill: none;
  stroke-linecap: round;
  stroke-width: 8px;
  stroke-miterlimit: 10;
  stroke: url(#base_grad); }
.p-top-relianceIntro__bottomKakko {
  fill: none;
  stroke-linecap: round;
  stroke-width: 8px;
  stroke-miterlimit: 10;
  stroke: url(#grad_kakko_under); }
.p-top-relianceIntro__arrow {
  fill: none;
  stroke-linecap: round;
  stroke-width: 8px;
  stroke-miterlimit: 10;
  stroke: url(#grad_kakko_arrow); }
.p-top-relianceIntro__accent circle {
  fill: #8bce00; }
.p-top-relianceIntro__marker line {
  fill: none;
  stroke: #8bce00;
  stroke-width: 12px;
  stroke-miterlimit: 10; }

.p-top-3point {
  position: relative;
  display: block;
  background-color: #e8f5cc;
  padding-top: clamp(48px, 9.2592592593vw, 100px);
  padding-bottom: clamp(48px, 9.2592592593vw, 100px); }
.p-top-3point .c-tweetMidashi {
  border-bottom-color: #009d41; }
.p-top-3point .c-tweetMidashi__fukidashi {
  background-color: #009d41; }
  .p-top-3point .c-tweetMidashi__fukidashi:after {
    border-top-color: #009d41; }
.p-top-3point__topMask {
  display: block;
  width: 100%;
  height: max(7.5vw, 120px);
  position: absolute;
  top: 0; }
  .p-top-3point__topMask::before {
    z-index: 0;
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    content: "";
    width: 30%;
    height: inherit;
    background-image: url("image/mask_triangle.svg");
    background-size: cover;
    transform: scale(1, -1); }
  .p-top-3point__topMask::after {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    content: "";
    width: 30%;
    height: inherit;
    background-image: url("image/mask_triangle.svg");
    background-size: cover;
    transform: scale(-1, -1); }
.p-top-3point__bottomMask {
  display: block;
  width: 100%;
  height: max(7.5vw, 120px);
  position: absolute;
  bottom: -30px; }
  .p-top-3point__bottomMask::before {
    z-index: 0;
    position: absolute;
    right: 0;
    bottom: 0;
    display: block;
    content: "";
    width: 30%;
    height: inherit;
    background-image: url("image/mask_triangle.svg");
    background-size: cover; }
  .p-top-3point__bottomMask::after {
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    content: "";
    width: 30%;
    height: inherit;
    background-image: url("image/mask_triangle.svg");
    background-size: cover;
    transform: scaleX(-1); }

.p-top-3pointItem {
  position: relative;
  z-index: 1;
  display: block;
  background-color: #FFFFFF;
  padding: clamp(24px, 4.4444444444vw, 48px) clamp(12px, 4.4444444444vw, 48px);
  border-radius: clamp(10px, 1.6666666667vw, 18px); }
  .p-top-3pointItem:nth-of-type(1) {
    margin-top: clamp(24px, 3.3333333333vw, 36px); }
  .p-top-3pointItem:not(:nth-last-of-type(1)) {
    margin-bottom: clamp(40px, 7.4074074074vw, 80px); }
  @media screen and (max-width: 1080px) {
    .p-top-3pointItem {
      width: calc(100% - 10px); } }

.p-top-3pointItemMidashi {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: clamp(8px, 1.9704433498vw, 16px);
  border-bottom: solid 2px #009d41;
  margin-bottom: 36px; }
  @media screen and (max-width: 812px) {
    .p-top-3pointItemMidashi {
      flex-direction: column;
      align-items: flex-start;
      letter-spacing: 0px;
      gap: 4px; } }
.p-top-3pointItemMidashi__point {
  background: linear-gradient(90deg, #8bce00 0%, #8bce00 33%, #009d41 33%, #009d41 66%, #4caa64 66%, #4caa64 100%);
  color: #FFFFFF;
  font-size: clamp(14px, 2.2167487685vw, 18px);
  width: clamp(60px, 16.0098522167vw, 130px);
  text-align: center;
  line-height: 100%;
  padding: 3px clamp(8px, 3.9408866995vw, 32px);
  border-radius: 999px; }
  @media screen and (max-width: 812px) {
    .p-top-3pointItemMidashi__point {
      width: 120px;
      padding: 3px 8px;
      letter-spacing: 0.125em; } }
.p-top-3pointItemMidashi__main {
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.2em;
  font-size: clamp(18px, 2.9556650246vw, 24px); }
  @media screen and (max-width: 812px) {
    .p-top-3pointItemMidashi__main {
      flex-direction: column;
      align-items: flex-start;
      letter-spacing: 0.010em; } }

@media screen and (min-width: 812.25px) {
  .p-top-3pointItemMain {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: clamp(24px, 5.9113300493vw, 48px); }
  .p-top-3pointItemMain__img {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 440px;
    text-align: center; }
    .p-top-3pointItemMain__img img {
      width: auto; }
  .p-top-3pointItemMain__desc {
    width: calc(100% - 440px - 32px); }
    .p-top-3pointItemMain__desc > p {
      margin-bottom: 1em; } }
@media screen and (max-width: 812px) {
  .p-top-3pointItemMain {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: clamp(24px, 5.9113300493vw, 48px); }
  .p-top-3pointItemMain__img {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center; }
    .p-top-3pointItemMain__img img {
      width: auto; }
  .p-top-3pointItemMain__desc {
    width: 100%; }
    .p-top-3pointItemMain__desc > p {
      margin-bottom: 1em; } }

.p-top-flow {
  display: block;
  padding-top: clamp(48px, 9.2592592593vw, 100px);
  padding-bottom: clamp(48px, 9.2592592593vw, 100px); }
.p-top-flow .c-tweetMidashi {
  border-bottom-color: #009d41; }
.p-top-flow .c-tweetMidashi__fukidashi {
  background-color: #009d41; }
  .p-top-flow .c-tweetMidashi__fukidashi:after {
    border-top-color: #009d41; }

.p-top-flowMain__item {
  position: relative;
  list-style: none;
  margin-left: 0; }
.p-top-flowMain__item:not(:nth-last-of-type(1)) {
  padding-bottom: 60px; }
.p-top-flowMain__item:not(:nth-last-of-type(1))::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  bottom: 20px;
  margin: 0 auto;
  display: block;
  background-image: url(./image/icon/icon_flow_arrow__black.svg);
  background-repeat: no-repeat;
  height: 20px;
  width: 41px; }

.p-top-flowMainAcc {
  display: block;
  background-color: #009d41;
  border-radius: 10px;
  transition: background 0.2s; }
  .p-top-flowMainAcc:hover {
    background-color: #008436; }
  .p-top-flowMain__after .p-top-flowMainAcc {
    background-color: #FFFFFF;
    border: solid 3px #009d41; }
    .p-top-flowMain__after .p-top-flowMainAcc:hover {
      background-color: #f7f7f7; }
.p-top-flowMainAcc__btn {
  font-family: "Kiwi Maru", serif;
  letter-spacing: 0.125em;
  font-size: clamp(20px, 2.962962963vw, 32px);
  color: #FFFFFF;
  font-weight: normal; }
  .p-top-flowMain__after .p-top-flowMainAcc__btn {
    color: #009d41; }
  @media screen and (max-width: 812px) {
    .p-top-flowMainAcc__btn {
      letter-spacing: 0.025em; } }
.p-top-flowMainAcc__main {
  margin-top: 16px;
  display: flex;
  flex-direction: row;
  gap: clamp(12px, 3.3333333333vw, 36px);
  background-color: #FFFFFF;
  padding: clamp(12px, 2.2222222222vw, 24px);
  border-radius: inherit;
  border-radius: 10px; }
  .p-top-flowMainAcc__main div:nth-of-type(1) {
    max-width: 350px;
    width: 100%; }
  .p-top-flowMainAcc__main div:nth-of-type(2) {
    width: calc( 100% - 350px ); }
  @media screen and (max-width: 812px) {
    .p-top-flowMainAcc__main {
      flex-direction: column; }
      .p-top-flowMainAcc__main div:nth-of-type(1) {
        width: 70%;
        margin: 0 auto; }
      .p-top-flowMainAcc__main div:nth-of-type(2) {
        width: 100%;
        word-break: normal; } }
  .p-top-flowMain__after .p-top-flowMainAcc__main {
    background-color: #e8f5cc; }

.p-top-attention {
  background-color: #2a7b9b;
  padding: 12px clamp(12px, 2.2222222222vw, 24px);
  border-radius: 10px;
  margin-top: clamp(50px, 7.5vw, 81px); }
.p-top-attention__midashi {
  font-weight: 500;
  display: block;
  position: relative;
  color: #FFFFFF;
  letter-spacing: 0.125em;
  font-size: clamp(18px, 2.2222222222vw, 24px);
  width: fit-content;
  margin: 0 auto;
  padding-top: clamp(36px, 5.1851851852vw, 56px); }
  .p-top-attention__midashi::before {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: clamp(24px, 3.3333333333vw, 36px);
    height: clamp(24px, 3.3333333333vw, 36px);
    background-image: url(./image/icon/icon_flow_caution__white.svg);
    background-repeat: no-repeat; }
.p-top-attention__main {
  background-color: #FFFFFF;
  padding: clamp(24px, 3.3333333333vw, 36px) clamp(12px, 2.2222222222vw, 24px);
  border-radius: 10px;
  margin-top: clamp(18px, 2.2222222222vw, 24px); }
  .p-top-attention__main ol {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 1.6666666667vw, 18px);
    font-weight: bold;
    font-size: clamp(16px, 2.2167487685vw, 18px);
    margin: clamp(12px, 2.2222222222vw, 24px) 0; }
  .p-top-attention__main__inner {
    display: block;
    width: fit-content;
    margin: 0 auto; }

.p-top-rinen {
  width: 100%;
  overflow: hidden;
  position: relative;
  display: block;
  padding: 0;
  padding-top: clamp(48px, 12.037037037vw, 140px); }
.p-top-rinen__midashi {
  display: block;
  width: calc( ( 100vw - 1080px ) / 2 + 760px );
  background: linear-gradient(135deg, #8bce00 0%, #009d41 50%, #4caa64 100%);
  padding: clamp(18px, 2.2222222222vw, 24px) 0; }
  @media screen and (max-width: 812px) {
    .p-top-rinen__midashi {
      border-top-right-radius: clamp(18px, 2.3148148148vw, 25px); } }
.p-top-rinen__midashi h2 {
  display: block;
  margin-left: max(calc((100vw - 1080px) / 2 ) + 10px, 10px);
  font-family: "Kiwi Maru", serif;
  font-size: clamp(18px, 2.2222222222vw, 24px);
  color: #FFFFFF;
  font-weight: 500; }
.p-top-rinen__kv {
  position: absolute;
  right: max(calc((100% - 1600px) / 2), -120px);
  top: 0;
  display: block;
  z-index: 3;
  width: clamp(350px, 63.9814814815vw, 691px);
  height: clamp(336px, 61.4814814815vw, 664px);
  background-image: url(./image/top_rinen__kv.png);
  background-repeat: no-repeat;
  background-size: contain; }
  @media screen and (max-width: 812px) {
    .p-top-rinen__kv {
      position: absolute;
      top: 110px; } }
.p-top-rinen__cv {
  display: block;
  margin-left: auto;
  width: 100%;
  max-width: calc(100% - ((100% - 1080px) / 2)); }

.p-top-rinenCv {
  background-image: url(./image/bg_paper__lightgreen.png);
  border-bottom-left-radius: 16px; }
  @media screen and (max-width: 812px) {
    .p-top-rinenCv {
      width: calc(100% - 10px); } }
.p-top-rinenCv__msg {
  width: 100%;
  max-width: clamp(0px, 45.9459459459vw, 680px);
  padding: clamp(10px, 2.25vw, 36px); }
  .p-top-rinenCv__msg p {
    font-family: "Kiwi Maru", serif;
    letter-spacing: 0.075em; }
  .p-top-rinenCv__msg p + p {
    margin-top: 1em; }
@media screen and (min-width: 812.25px) {
  .p-top-rinenCv__tel {
    width: 100%;
    max-width: clamp(0px, 45.9459459459vw, 680px);
    padding: clamp(10px, 2.25vw, 36px); } }
@media screen and (max-width: 812px) {
  .p-top-rinenCv__tel {
    width: 90%;
    margin: 0 auto;
    margin-top: clamp(0px, 14.7783251232vw, 120px);
    padding-top: 18px;
    padding-bottom: 36px; } }
@media screen and (max-width: 600px) {
  .p-top-rinenCv__tel {
    margin-top: 0px;
    padding-top: 18px;
    padding-bottom: 36px; } }
.p-top-rinenCv .c-cvLink {
  width: 100%;
  max-width: 480px; }
  .p-top-rinenCv .c-cvLink__tel {
    font-size: clamp(24px, 2.7777777778vw, 30px);
    letter-spacing: clamp(0px, 0.2777777778vw, 3px); }
  .p-top-rinenCv .c-cvLink__msg {
    font-size: clamp(11px, 1.2962962963vw, 14px); }
  .p-top-rinenCv .c-cvLink::after {
    width: 28px;
    height: 28px; }

.p-top-faq {
  display: block;
  padding-top: clamp(48px, 9.2592592593vw, 100px);
  padding-bottom: clamp(48px, 9.2592592593vw, 100px); }
.p-top-faq .c-tweetMidashi {
  border-bottom-color: #2a7b9b; }
.p-top-faq .c-tweetMidashi__fukidashi {
  background-color: #2a7b9b; }
  .p-top-faq .c-tweetMidashi__fukidashi:after {
    border-top-color: #2a7b9b; }

.p-top-faqMain__item {
  position: relative;
  list-style: none;
  margin-left: 0;
  margin-top: 24px; }

.p-top-faqAcc {
  display: block;
  background-color: #2a7b9b;
  border-radius: 10px;
  transition: background 0.2s; }
  .p-top-faqAcc:hover {
    background-color: #1f5b73; }
.p-top-faqAcc__btn {
  letter-spacing: 0.125em;
  font-size: 1.125rem;
  color: #FFFFFF;
  padding-left: clamp(48px, 5.9259259259vw, 64px);
  padding-top: clamp(8px, 1.4814814815vw, 16px);
  padding-bottom: clamp(8px, 1.4814814815vw, 16px); }
  .p-top-faqAcc__btn span.o-accMenu__marker {
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1em;
    font-size: clamp(18px, 2.2222222222vw, 24px);
    font-family: "Zen Kaku Gothic New", sans-serif;
    left: clamp(24px, 3.3333333333vw, 36px);
    top: clamp(13px, 2.2113022113vw, 18px); }
  @media screen and (max-width: 812px) {
    .p-top-faqAcc__btn {
      font-size: 1rem; } }
.p-top-faqAcc__main {
  display: flex;
  flex-direction: row;
  gap: 0;
  background-color: #FFFFFF;
  padding: 12px;
  border-radius: 10px; }
  .p-top-faqAcc__main div:nth-of-type(1) {
    font-size: clamp(18px, 2.2222222222vw, 24px);
    width: 1.5em;
    margin-left: 3px;
    color: #2a7b9b;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: bold; }
  .p-top-faqAcc__main div:nth-of-type(2) {
    padding-top: 0.5em;
    width: calc(100% - 48px); }

.p-top-access {
  display: block;
  background-image: url(./image/bg_paper__green.png);
  padding-top: clamp(48px, 9.2592592593vw, 100px); }
.p-top-access .c-tweetMidashi {
  border-bottom-color: #FFFFFF;
  color: #FFFFFF; }
.p-top-access .c-tweetMidashi__fukidashi {
  background-color: #FFFFFF;
  color: #85d0a4; }
  .p-top-access .c-tweetMidashi__fukidashi:after {
    border-top-color: #FFFFFF; }
.p-top-access__address {
  position: relative;
  display: block;
  width: 100%;
  max-width: calc(100% - ((100% - 680px) / 2));
  border-top-right-radius: clamp(10px, 1.4814814815vw, 16px);
  border-bottom-right-radius: clamp(10px, 1.4814814815vw, 16px);
  padding: clamp(18px, 2.7777777778vw, 30px);
  background-color: #e8f5cc;
  margin-bottom: -120px; }
  @media screen and (max-width: 812px) {
    .p-top-access__address {
      width: calc( 100% - 20px );
      max-width: unset;
      margin-right: auto;
      margin-left: auto;
      border-radius: 10px; } }
.p-top-access__gmap {
  display: block;
  width: 100%;
  height: 600px;
  background-color: #e8f5cc;
  padding-bottom: 36px;
  box-sizing: content-box; }
.p-top-access__gmap iframe {
  display: block;
  margin-left: auto;
  width: calc(100% - ((100% - 1080px) / 2));
  height: inherit; }

.p-top-route {
  padding: 64px 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0px 48px;
  grid-template-areas: "point1 point2 point3" "conecta1 conecta1 conecta1" "point4 point5 point6" "conecta2 conecta2 conecta2" "point7 point8 point9";
  align-items: center; }
  @media screen and (max-width: 812px) {
    .p-top-route {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: auto auto auto auto;
      grid-template-areas: "point1 point2" "conecta1 conecta1" "point3 point4" "conecta2 conecta2" "point5 point6" "conecta3 conecta3" "point7 point8"; } }
  @media screen and (max-width: 500px) {
    .p-top-route {
      display: block;
      padding-bottom: 0; } }

.p-top-routeItem {
  margin: 0;
  height: 100%; }
@media screen and (max-width: 500px) {
  .p-top-routeItem {
    padding-bottom: 36px;
    position: relative; }
    .p-top-routeItem:after {
      display: block;
      content: "";
      position: absolute;
      background-color: #FFFFFF;
      width: 6px;
      height: 100%;
      bottom: 0;
      right: 0;
      left: 0;
      margin: 0 auto;
      z-index: 0; } }
.p-top-routeItem:nth-of-type(1) {
  grid-area: point1; }
.p-top-routeItem:nth-of-type(2) {
  grid-area: point2; }
.p-top-routeItem:nth-of-type(3) {
  grid-area: point3; }
.p-top-routeItem:nth-of-type(4) {
  grid-area: point4; }
.p-top-routeItem:nth-of-type(5) {
  grid-area: point5; }
.p-top-routeItem:nth-of-type(6) {
  grid-area: point6; }
.p-top-routeItem:nth-of-type(7) {
  grid-area: point7; }
.p-top-routeItem__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 1.2em;
  padding-top: 8px;
  padding-bottom: 16px;
  background-color: #FFFFFF;
  border-radius: 10px;
  height: inherit;
  z-index: 1; }
.p-top-routeItem__num {
  display: block;
  text-align: center;
  font-family: "Kiwi Maru", serif;
  color: #85d0a4;
  font-size: clamp(18px, 2.2222222222vw, 24px); }

.p-top-routeConect:nth-of-type(odd) {
  display: block;
  background-color: #FFFFFF;
  height: 6px; }
.p-top-routeConect:nth-of-type(even) {
  position: relative;
  display: block;
  background-color: #FFFFFF;
  width: clamp(0px, 70.8333333333vw, 765px);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 45%, white 45%, white 55%, rgba(255, 255, 255, 0) 55%, rgba(255, 255, 255, 0) 100%);
  margin: 0 auto;
  height: 64px; }
  .p-top-routeConect:nth-of-type(even)::before, .p-top-routeConect:nth-of-type(even)::after {
    position: absolute;
    content: "";
    height: 32px;
    width: 6px;
    background-color: #FFFFFF; }
  .p-top-routeConect:nth-of-type(even)::before {
    bottom: 0;
    left: 0; }
  .p-top-routeConect:nth-of-type(even)::after {
    top: 0;
    right: 0; }
@media screen and (min-width: 812.25px) {
  .p-top-routeConect:nth-of-type(1) {
    grid-area: 1 / 1 / 2 / 4; }
  .p-top-routeConect:nth-of-type(2) {
    grid-area: conecta1; }
  .p-top-routeConect:nth-of-type(3) {
    grid-area: 3 / 1 / 4 / 4; }
  .p-top-routeConect:nth-of-type(4) {
    grid-area: conecta2; }
  .p-top-routeConect:nth-of-type(5) {
    display: none; }
  .p-top-routeConect:nth-of-type(6) {
    display: none; } }
@media screen and (max-width: 812px) {
  .p-top-routeConect:nth-of-type(1) {
    grid-area: 1 / 1 / 2 / 3; }
  .p-top-routeConect:nth-of-type(2) {
    grid-area: conecta1; }
  .p-top-routeConect:nth-of-type(3) {
    grid-area: 3 / 1 / 4 / 3; }
  .p-top-routeConect:nth-of-type(4) {
    grid-area: conecta2; }
  .p-top-routeConect:nth-of-type(5) {
    grid-area: 6 / 1 / 4 / 3; }
  .p-top-routeConect:nth-of-type(6) {
    grid-area: conecta3; } }
@media screen and (max-width: 500px) {
  .p-top-routeConect:nth-of-type(odd), .p-top-routeConect:nth-of-type(even) {
    display: none; } }

.p-top-accessAddr {
  font-style: normal;
  background-color: #FFFFFF;
  display: grid;
  grid-template-columns: 350px 1fr;
  grid-template-rows: 1fr auto;
  gap: 24px 24px;
  grid-template-areas: "address_data address_img" "adress_msg adress_msg";
  align-items: center;
  margin-left: auto;
  padding: 24px;
  border-radius: 16px;
  max-width: calc( 880px - 24px );
  width: 100%;
  box-sizing: border-box; }
  @media screen and (max-width: 812px) {
    .p-top-accessAddr {
      grid-template-columns: 300px 1fr; } }
  @media screen and (max-width: 768px) {
    .p-top-accessAddr {
      grid-template-columns: 1fr;
      grid-template-rows: auto auto auto;
      grid-template-areas: "address_img" "address_data" "adress_msg"; } }
.p-top-accessAddr__data {
  grid-area: address_data; }
.p-top-accessAddr__img {
  grid-area: address_img;
  width: 100%; }
.p-top-accessAddr__msg {
  grid-area: adress_msg; }
.p-top-accessAddr__data {
  display: flex;
  flex-direction: column;
  gap: 1em; }
.p-top-accessAddr__name {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  gap: 16px;
  align-items: center;
  letter-spacing: 0.125em; }
.p-top-accessAddr__other dl {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap; }

.js-scrollPassedMarker {
  transition: opacity 0.3s; }
  .js-scrollPassedMarker.is-nonPassed {
    opacity: 0; }
  .js-scrollPassedMarker.is-scrollPassed {
    opacity: 1; }

.u-text--center {
  text-align: center !important; }

.u-text--left {
  text-align: left !important; }

.u-text--right {
  text-align: right !important; }

.u-font--bold {
  font-weight: bold !important; }

.u-font--normal {
  font-weight: normal !important; }

.u-font--w100 {
  font-weight: 100 !important; }

.u-font--w200 {
  font-weight: 200 !important; }

.u-font--w300 {
  font-weight: 300 !important; }

.u-font--w400 {
  font-weight: 400 !important; }

.u-font--w500 {
  font-weight: 500 !important; }

.u-font--w600 {
  font-weight: 600 !important; }

.u-font--w700 {
  font-weight: 700 !important; }

.u-font--w800 {
  font-weight: 800 !important; }

.u-font--w900 {
  font-weight: 900 !important; }

.u-font--large {
  font-size: 120% !important; }

.u-font--nomal {
  font-size: 100% !important; }

.u-font--small {
  font-size: 80% !important; }

.u-font--s150 {
  font-size: 150% !important; }
.u-font--s145 {
  font-size: 145% !important; }
.u-font--s140 {
  font-size: 140% !important; }
.u-font--s135 {
  font-size: 135% !important; }
.u-font--s130 {
  font-size: 130% !important; }
.u-font--s125 {
  font-size: 125% !important; }
.u-font--s120 {
  font-size: 120% !important; }
.u-font--s115 {
  font-size: 115% !important; }
.u-font--s110 {
  font-size: 110% !important; }
.u-font--s105 {
  font-size: 105% !important; }
.u-font--s100 {
  font-size: 100% !important; }
.u-font--s95 {
  font-size: 95% !important; }
.u-font--s90 {
  font-size: 90% !important; }
.u-font--s85 {
  font-size: 85% !important; }
.u-font--s80 {
  font-size: 80% !important; }
.u-font--s75 {
  font-size: 75% !important; }
.u-font--s70 {
  font-size: 70% !important; }
.u-font--s65 {
  font-size: 65% !important; }
.u-font--s60 {
  font-size: 60% !important; }

.u-font--gothic {
  font-family: "Noto Sans JP", sans-serif; }

.u-font--zengothic {
  font-family: "Zen Kaku Gothic New", sans-serif; }

.u-font--sefig {
  font-family: "Noto Serif JP", serif; }

.u-marginTop--160 {
  margin-top: 160px !important; }
.u-marginTop--152 {
  margin-top: 152px !important; }
.u-marginTop--144 {
  margin-top: 144px !important; }
.u-marginTop--136 {
  margin-top: 136px !important; }
.u-marginTop--128 {
  margin-top: 128px !important; }
.u-marginTop--120 {
  margin-top: 120px !important; }
.u-marginTop--112 {
  margin-top: 112px !important; }
.u-marginTop--104 {
  margin-top: 104px !important; }
.u-marginTop--96 {
  margin-top: 96px !important; }
.u-marginTop--88 {
  margin-top: 88px !important; }
.u-marginTop--80 {
  margin-top: 80px !important; }
.u-marginTop--72 {
  margin-top: 72px !important; }
.u-marginTop--64 {
  margin-top: 64px !important; }
.u-marginTop--56 {
  margin-top: 56px !important; }
.u-marginTop--48 {
  margin-top: 48px !important; }
.u-marginTop--40 {
  margin-top: 40px !important; }
.u-marginTop--32 {
  margin-top: 32px !important; }
.u-marginTop--24 {
  margin-top: 24px !important; }
.u-marginTop--16 {
  margin-top: 16px !important; }
.u-marginTop--8 {
  margin-top: 8px !important; }

.u-marginBottom--160 {
  margin-bottom: 160px !important; }
.u-marginBottom--152 {
  margin-bottom: 152px !important; }
.u-marginBottom--144 {
  margin-bottom: 144px !important; }
.u-marginBottom--136 {
  margin-bottom: 136px !important; }
.u-marginBottom--128 {
  margin-bottom: 128px !important; }
.u-marginBottom--120 {
  margin-bottom: 120px !important; }
.u-marginBottom--112 {
  margin-bottom: 112px !important; }
.u-marginBottom--104 {
  margin-bottom: 104px !important; }
.u-marginBottom--96 {
  margin-bottom: 96px !important; }
.u-marginBottom--88 {
  margin-bottom: 88px !important; }
.u-marginBottom--80 {
  margin-bottom: 80px !important; }
.u-marginBottom--72 {
  margin-bottom: 72px !important; }
.u-marginBottom--64 {
  margin-bottom: 64px !important; }
.u-marginBottom--56 {
  margin-bottom: 56px !important; }
.u-marginBottom--48 {
  margin-bottom: 48px !important; }
.u-marginBottom--40 {
  margin-bottom: 40px !important; }
.u-marginBottom--32 {
  margin-bottom: 32px !important; }
.u-marginBottom--24 {
  margin-bottom: 24px !important; }
.u-marginBottom--16 {
  margin-bottom: 16px !important; }
.u-marginBottom--8 {
  margin-bottom: 8px !important; }

.u-paddingTop--160 {
  padding-top: 160px !important; }
.u-paddingTop--152 {
  padding-top: 152px !important; }
.u-paddingTop--144 {
  padding-top: 144px !important; }
.u-paddingTop--136 {
  padding-top: 136px !important; }
.u-paddingTop--128 {
  padding-top: 128px !important; }
.u-paddingTop--120 {
  padding-top: 120px !important; }
.u-paddingTop--112 {
  padding-top: 112px !important; }
.u-paddingTop--104 {
  padding-top: 104px !important; }
.u-paddingTop--96 {
  padding-top: 96px !important; }
.u-paddingTop--88 {
  padding-top: 88px !important; }
.u-paddingTop--80 {
  padding-top: 80px !important; }
.u-paddingTop--72 {
  padding-top: 72px !important; }
.u-paddingTop--64 {
  padding-top: 64px !important; }
.u-paddingTop--56 {
  padding-top: 56px !important; }
.u-paddingTop--48 {
  padding-top: 48px !important; }
.u-paddingTop--40 {
  padding-top: 40px !important; }
.u-paddingTop--32 {
  padding-top: 32px !important; }
.u-paddingTop--24 {
  padding-top: 24px !important; }
.u-paddingTop--16 {
  padding-top: 16px !important; }
.u-paddingTop--8 {
  padding-top: 8px !important; }

.u-paddingBottom--160 {
  padding-bottom: 160px !important; }
.u-paddingBottom--152 {
  padding-bottom: 152px !important; }
.u-paddingBottom--144 {
  padding-bottom: 144px !important; }
.u-paddingBottom--136 {
  padding-bottom: 136px !important; }
.u-paddingBottom--128 {
  padding-bottom: 128px !important; }
.u-paddingBottom--120 {
  padding-bottom: 120px !important; }
.u-paddingBottom--112 {
  padding-bottom: 112px !important; }
.u-paddingBottom--104 {
  padding-bottom: 104px !important; }
.u-paddingBottom--96 {
  padding-bottom: 96px !important; }
.u-paddingBottom--88 {
  padding-bottom: 88px !important; }
.u-paddingBottom--80 {
  padding-bottom: 80px !important; }
.u-paddingBottom--72 {
  padding-bottom: 72px !important; }
.u-paddingBottom--64 {
  padding-bottom: 64px !important; }
.u-paddingBottom--56 {
  padding-bottom: 56px !important; }
.u-paddingBottom--48 {
  padding-bottom: 48px !important; }
.u-paddingBottom--40 {
  padding-bottom: 40px !important; }
.u-paddingBottom--32 {
  padding-bottom: 32px !important; }
.u-paddingBottom--24 {
  padding-bottom: 24px !important; }
.u-paddingBottom--16 {
  padding-bottom: 16px !important; }
.u-paddingBottom--8 {
  padding-bottom: 8px !important; }

@media screen and (max-width: 812px) {
  .u-only--pc {
    display: none !important; } }
@media screen and (min-width: 812.25px) {
  .u-only--sp {
    display: none !important; } }
.u-width--100 {
  width: 100% !important; }
.u-width--90 {
  width: 90% !important; }
.u-width--80 {
  width: 80% !important; }
.u-width--70 {
  width: 70% !important; }
.u-width--60 {
  width: 60% !important; }
.u-width--50 {
  width: 50% !important; }
.u-width--40 {
  width: 40% !important; }
.u-width--30 {
  width: 30% !important; }
.u-width--20 {
  width: 20% !important; }
.u-width--10 {
  width: 10% !important; }
