@charset "UTF-8";
/************************************
 * WP
 ***********************************/
/************************************
 * Font
 ***********************************/
@import url("https://fonts.googleapis.com/css2?family=Yuji+Syuku&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap");
/************************************
 * Contents 領域・余白
 ***********************************/
/************************************
 * tag の基本設定
 *  C: color, P : parts
 ***********************************/
/************************************
 * assetsパス
 ***********************************/
/************************************
 * flex-col　余白
 ***********************************/
/************************************
 * Icon font
 ***********************************/
/************************************
 * Using plugin
 ***********************************/
/************************************
* 画像アレンジレイアウト
***********************************/
/*********************************************************************
 * MIXIN
 ********************************************************************/
/*** font family ****************************************************/
/*** font size *****************************************************/
/*** icon font *****************************************************/
@font-face {
  font-family: "icon";
  src: url("../fonts/icomoon.eot");
  src: url("../fonts/icomoon.eot#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf") format("truetype"), url("../fonts/icomoon.wof") format("woff"), url("../fonts/icomoon.svg#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/************************************
 * Reset
 ***********************************/
/*********************************
 * A Modern CSS Reset 
 * Web : https://piccalil.li/blog/a-modern-css-reset
 * Git : https://github.com/hankchizljaw/modern-css-reset
 ********************************/
*, *::before, *::after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  text-decoration-skip-ink: auto;
}

img, picture {
  max-width: 100%;
  display: block;
}

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

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/************************************
 * 追加 Reset Code
 ***********************************/
table {
  border-collapse: collapse;
}

/************************************
 * CSS変数の出力
 ***********************************/
:root {
  --spacing--0: calc( 0 / 2) ;
  --spacing--default: calc( 1rem / 2) ;
  --spacing--m: calc( 2rem / 2) ;
  --spacing--l: calc( 3rem / 2) ;
  --spacing--xl: calc( 4rem / 2) ;
  --font-size--s: 0.8rem;
  --font-size--m: 1rem;
  --font-size--l: 1.25rem;
  --font-size--xl: 1.5rem;
  --font-size--xxl: 2rem;
  --color--main: #ff761c;
  --color--sub: #fff7ec;
  --color--black: #000;
  --color--white: #fff;
  --color--none: transparent;
  --color--btn__reset: #a3a3a3;
  --color--red: #ff0000;
  --color--orange: #ff8000;
  --color--yellow: #ffff00;
  --color--green: #00ff00;
  --color--blue: #0000ff;
  --color--gray: #666;
  --color--lightgray: #ccc;
  --color--bg: #e1f4ff;
  --color--text: #111;
  --color--error: #c00;
  --color--link: #900;
  --color--hover: #111;
  --color--btn_bg: #111;
  --color--btn_txt: #fff;
  --color--border: #111;
  --color--hamburger: #111;
  --gallery-block--gutter-size: var(--spacing-default);
}

/************************************
 * global
 ***********************************/
.has-s-font-size {
  font-size: var(--font-size--s) !important;
}

.has-m-font-size {
  font-size: var(--font-size--m) !important;
}

.has-l-font-size {
  font-size: var(--font-size--l) !important;
}

.has-xl-font-size {
  font-size: var(--font-size--xl) !important;
}

.has-xxl-font-size {
  font-size: var(--font-size--xxl) !important;
}

.has-main {
  color: var(--color--main) !important;
}

.has-sub {
  color: var(--color--sub) !important;
}

.has-black {
  color: var(--color--black) !important;
}

.has-white {
  color: var(--color--white) !important;
}

.has-none {
  color: var(--color--none) !important;
}

.has-btn__reset {
  color: var(--color--btn__reset) !important;
}

.has-red {
  color: var(--color--red) !important;
}

.has-orange {
  color: var(--color--orange) !important;
}

.has-yellow {
  color: var(--color--yellow) !important;
}

.has-green {
  color: var(--color--green) !important;
}

.has-blue {
  color: var(--color--blue) !important;
}

.has-gray {
  color: var(--color--gray) !important;
}

.has-lightgray {
  color: var(--color--lightgray) !important;
}

.has-bg {
  color: var(--color--bg) !important;
}

.has-text {
  color: var(--color--text) !important;
}

.has-error {
  color: var(--color--error) !important;
}

.has-link {
  color: var(--color--link) !important;
}

.has-hover {
  color: var(--color--hover) !important;
}

.has-btn_bg {
  color: var(--color--btn_bg) !important;
}

.has-btn_txt {
  color: var(--color--btn_txt) !important;
}

.has-border {
  color: var(--color--border) !important;
}

.has-hamburger {
  color: var(--color--hamburger) !important;
}

.has-main-background-color {
  background-color: var(--color--main) !important;
}

.has-sub-background-color {
  background-color: var(--color--sub) !important;
}

.has-black-background-color {
  background-color: var(--color--black) !important;
}

.has-white-background-color {
  background-color: var(--color--white) !important;
}

.has-none-background-color {
  background-color: var(--color--none) !important;
}

.has-btn__reset-background-color {
  background-color: var(--color--btn__reset) !important;
}

.has-red-background-color {
  background-color: var(--color--red) !important;
}

.has-orange-background-color {
  background-color: var(--color--orange) !important;
}

.has-yellow-background-color {
  background-color: var(--color--yellow) !important;
}

.has-green-background-color {
  background-color: var(--color--green) !important;
}

.has-blue-background-color {
  background-color: var(--color--blue) !important;
}

.has-gray-background-color {
  background-color: var(--color--gray) !important;
}

.has-lightgray-background-color {
  background-color: var(--color--lightgray) !important;
}

.has-bg-background-color {
  background-color: var(--color--bg) !important;
}

.has-text-background-color {
  background-color: var(--color--text) !important;
}

.has-error-background-color {
  background-color: var(--color--error) !important;
}

.has-link-background-color {
  background-color: var(--color--link) !important;
}

.has-hover-background-color {
  background-color: var(--color--hover) !important;
}

.has-btn_bg-background-color {
  background-color: var(--color--btn_bg) !important;
}

.has-btn_txt-background-color {
  background-color: var(--color--btn_txt) !important;
}

.has-border-background-color {
  background-color: var(--color--border) !important;
}

.has-hamburger-background-color {
  background-color: var(--color--hamburger) !important;
}

/************************************
 * clear
 ***********************************/
.cf::after {
  content: "";
  display: block;
  clear: both;
}

.clr,
.clear {
  clear: both;
}

/************************************
 * List
 ***********************************/
ul, ol {
  padding-left: 0;
  margin-left: 0;
}
ul > li, ol > li {
  padding-left: 0;
  text-indent: 0;
  line-height: 1.4;
  margin-top: 0.8em;
}
ul > li ul:last-child, ul > li ol:last-child, ol > li ul:last-child, ol > li ol:last-child {
  padding-bottom: 1em;
}
ul > a, ul > span, ol > a, ol > span {
  text-indent: 0;
}

ul {
  padding-left: 1.2em;
}
ul > li {
  list-style-type: circle;
  padding-left: 0;
  text-indent: 0;
}
ol {
  list-style: decimal;
}
ol li {
  list-style-position: inside;
}
ol li ol {
  margin-left: 1.5em;
}

.ul-reset {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ul-reset li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.ul-reset li::marker {
  content: none;
}

/************************************
 * table
 ***********************************/
table:not(.acf-table) tr {
  height: auto !important;
}
table:not(.acf-table) tr th, table:not(.acf-table) tr td {
  padding: 0.75em 1em;
  border: 1px solid var(--color--border);
}
table:not(.acf-table) tr th {
  background: var(--color--bg);
}
table:not(.acf-table) tr td {
  background: var(--color--white);
}

/************************************
 * Image
 ***********************************/
img {
  -webkit-tap-highlight-color: transparent;
  backface-visibility: hidden;
  height: auto;
  display: inline-block;
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: top;
}

/************************************
 * String   
 * b,i はHTML5での役割が微妙なので設定してない
 * Italic はmeiryoでは効かないので設定してない
 ***********************************/
strong, em {
  font-weight: bold;
}

p, th, td, li, address, small {
  line-height: 1.3;
}

/************************************
 * a
 ***********************************/
a:focus,
*:focus {
  outline: none;
}

a {
  -webkit-tap-highlight-color: transparent;
  outline: none;
  color: var(--color--link);
  transition: opacity 0.3s ease-in-out, color 0.3s ease-in-out, background-color 0.3s ease-in-out, border 0.3s ease-in-out, top 0.3s ease-in-out, filter 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
a:hover {
  color: var(--color--hover);
}

a[target=_blank]:after {
  content: "\e405";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}

a[href$=".pdf"]:after {
  content: "\e404";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}

a[href$=".xls"]:after, a[href$=".xlsx"]:after {
  content: "\e401";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}

a[href$=".docx"]:after,
a[href$=".doc"]:after {
  content: "\e402";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}

a[href$=".zip"]:after {
  content: "\e403";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}

input[type=button],
input[type=submit],
input[type=reset],
button {
  transition: opacity 0.3s ease-in-out, color 0.3s ease-in-out, background-color 0.3s ease-in-out, border 0.3s ease-in-out, top 0.3s ease-in-out, filter 0.3s ease-in-out;
}

form {
  /************************************
   * Button
   ***********************************/
  /************************************
    * Form
    ***********************************/
}
form input[type=button],
form input[type=submit],
form button {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  background: var(--color--main);
  border: 2px solid var(--color--main);
  border-radius: 4px;
  padding: 1em 1.5em;
  margin-block: 0.25em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  color: var(--color--white);
  cursor: pointer;
  padding-right: 1.9em;
}
form input[type=button].hover:hover,
form input[type=submit].hover:hover,
form button.hover:hover {
  background-color: var(--color--white);
  border-color: var(--color--main);
  color: var(--color--main);
}
form input[type=button]::before,
form input[type=submit]::before,
form button::before {
  content: "\e004";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}
form input[type=reset] {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  background: var(--color--main);
  border: 2px solid var(--color--main);
  border-radius: 4px;
  padding: 1em 1.5em;
  margin-block: 0.25em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  color: var(--color--white);
  cursor: pointer;
  padding-right: 1.9em;
  background: var(--color--btn__reset);
  border-color: var(--color--btn__reset);
  color: #fff;
}
form input[type=reset].hover:hover {
  background-color: var(--color--white);
  border-color: var(--color--main);
  color: var(--color--main);
}
form input[type=reset]::before {
  content: "\e004";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}
form input[type=reset].hover:hover {
  background: var(--color--white);
  border-color: rgba(163, 163, 163, 0.4);
  color: var(--color--btn__reset);
}
form textarea,
form input:not([type=radio]):not([type=checkbox]):not([type=button]):not([type=reset]):not([type=submit]),
form select {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.4;
  outline: none;
  appearance: none;
  padding-block: 1em;
  padding-inline: 1.4em;
  cursor: pointer;
  background-color: #fff;
  border-radius: 0;
  border: 1px solid var(--color--lightgray);
  transition: border 0.3s;
}
form textarea:focus,
form input:not([type=radio]):not([type=checkbox]):not([type=button]):not([type=reset]):not([type=submit]):focus,
form select:focus {
  border-color: #000;
}
form textarea:invalid,
form input:not([type=radio]):not([type=checkbox]):not([type=button]):not([type=reset]):not([type=submit]):invalid,
form select:invalid {
  background-color: #fcefef;
}
form textarea:valid,
form input:not([type=radio]):not([type=checkbox]):not([type=button]):not([type=reset]):not([type=submit]):valid,
form select:valid {
  background-color: #e6eeee;
}
form textarea:placeholder-shown,
form input:not([type=radio]):not([type=checkbox]):not([type=button]):not([type=reset]):not([type=submit]):placeholder-shown,
form select:placeholder-shown {
  background-color: #F8F8F8;
}
form ::placeholder {
  font-family: "Noto Sans JP", sans-serif;
}
form input:-webkit-autofill {
  box-shadow: 0 0 0 1000px #e6eeee inset;
}
form input[type=radio], form input[type=checkbox] {
  border: none;
}
form input[type=radio] {
  border-radius: 100%;
  appearance: radio;
}
form input[type=text], form input[type=email], form input[type=url] {
  width: 100%;
}
form input[type=tel] {
  width: 100%;
}
form input[type=date] {
  width: 50%;
}
form input[type=number] {
  width: 8em;
}
form textarea {
  width: 100%;
  height: 200px;
}
form .select-wrap {
  position: relative;
  display: inline-block;
}
form .select-wrap::after {
  position: absolute;
  right: 0.8em;
  height: 100%;
  pointer-events: none;
  color: var(--color--gray);
  content: "\e102";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
form select {
  background-color: #fff !important;
  appearance: none;
  padding-right: 3em;
}
form .select-wrap::before {
  content: "";
  position: absolute;
  top: 50%;
  left: auto;
  bottom: 0;
  right: 1em;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 6px 0 6px;
  border-color: #e8f0fe transparent transparent transparent;
  margin-top: -3px;
}
form .select-wrap.changed::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 15px 0 0;
  border-color: var(--color--main) transparent transparent transparent;
  margin-top: 0px;
}
form .select-wrap.changed select {
  background-color: #e6eeee !important;
}
form .select-wrap .wpcf7-form-control-wrap {
  position: relative;
}
form .select-wrap .wpcf7-form-control-wrap::after {
  content: "";
  position: absolute;
  right: 0.5em;
  top: 50%;
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: #CCC transparent transparent transparent;
  pointer-events: none;
}
form .wpcf7-spinner {
  display: none !important;
}
form label {
  display: inline-block;
  margin-left: 1em;
  cursor: pointer;
}
form label:first-child {
  margin-left: 0;
}
form .btn-area {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
  margin-block: 1.5em;
}

.error {
  width: 100%;
  display: block;
  margin-top: 0.5em !important;
  color: var(--color--error);
  font-size: 0.75rem;
}

.icon {
  display: flex;
  align-items: center;
}

.icon::before {
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}

.icon-c_arrow-t::before {
  content: "\e001";
}

.icon-c_arrow-b::before {
  content: "\e002";
}

.icon-c_arrow-l::before {
  content: "\e003";
}

.icon-c_arrow-r::before {
  content: "\e004";
}

.icon-arrow-t::before {
  content: "\e101";
}

.icon-arrow-b::before {
  content: "\e102";
}

.icon-arrow-l::before {
  content: "\e103";
}

.icon-arrow-r::before {
  content: "\e104";
}

.icon-up::before {
  content: "\e301";
}

.icon-down::before {
  content: "\e302";
}

.icon-prev::before {
  content: "\e303";
}

.icon-next::before {
  content: "\e304";
}

.icon-first::before {
  content: "\e305";
}

.icon-end::before {
  content: "\e306";
}

.icon-excel::before {
  content: "\e401";
}

.icon-word::before {
  content: "\e402";
}

.icon-zip::before {
  content: "\e403";
}

.icon-pdf::before {
  content: "\e404";
}

.icon-blank::before {
  content: "\e405";
}

.icon-twitter::before {
  content: "\e501";
}

.icon-facebook::before {
  content: "\e502";
}

.icon-instagram::before {
  content: "\e503";
}

.icon-youtube::before {
  content: "\e504";
}

.icon-search::before {
  content: "\e601";
}

.icon-tag::before {
  content: "\e602";
}

.icon-access::before {
  content: "\e603";
}

.icon-check::before {
  content: "\e604";
}

.icon-filter::before {
  content: "\e605";
}

.icon-mail::before {
  content: "\e701";
}

.icon-phone::before {
  content: "\e702";
}

.icon-mobile::before {
  content: "\e703";
}

.icon-pc::before {
  content: "\e704";
}

.icon-calendar::before {
  content: "\e801";
}

.icon-warning::before {
  content: "\e802";
}

@media print {
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    min-width: 1000px;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  #go-top {
    display: none;
  }
}
.pc-view {
  display: inherit !important;
}

.sp-view {
  display: none !important;
}

@media only screen and (max-width: 640px) {
  .pc-view {
    display: none !important;
  }
  .sp-view {
    display: inherit !important;
  }
}
.link-arw a,
a.link-arw {
  color: var(--color--link);
  line-height: 1.4;
  text-decoration: none;
  margin-block: 0.25em;
  display: inline-block;
  gap: 6px;
  padding-left: 1.2em;
  text-indent: -0.6em;
}
.link-arw a::before,
a.link-arw::before {
  content: "\e004";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
  margin-bottom: 0.13em;
  margin-right: 0.2em;
}
.link-arw a::after,
a.link-arw::after {
  text-indent: 0;
}
.link-arw a.hover:hover,
a.link-arw.hover:hover {
  color: var(--color--hover);
  opacity: 1;
}

.btn__basic,
.btn__basic a,
a.btn__basic,
.btn__basic button,
button.btn__basic,
.is-style-btn__basic a,
a.is-style-btn__basic,
.is-style-btn__basic button,
button.is-style-btn__basic,
.wp-block-button__link {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  background: var(--color--main);
  border: 2px solid var(--color--main);
  border-radius: 4px;
  padding: 1em 1.5em;
  margin-block: 0.25em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  color: var(--color--white);
  cursor: pointer;
  padding-right: 1.9em;
}
.btn__basic.hover:hover,
.btn__basic a.hover:hover,
a.btn__basic.hover:hover,
.btn__basic button.hover:hover,
button.btn__basic.hover:hover,
.is-style-btn__basic a.hover:hover,
a.is-style-btn__basic.hover:hover,
.is-style-btn__basic button.hover:hover,
button.is-style-btn__basic.hover:hover,
.wp-block-button__link.hover:hover {
  background-color: var(--color--white);
  border-color: var(--color--main);
  color: var(--color--main);
}
.btn__basic::before,
.btn__basic a::before,
a.btn__basic::before,
.btn__basic button::before,
button.btn__basic::before,
.is-style-btn__basic a::before,
a.is-style-btn__basic::before,
.is-style-btn__basic button::before,
button.is-style-btn__basic::before,
.wp-block-button__link::before {
  content: "\e004";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}

.btn__outline,
.btn__outline a,
a.btn__outline,
.btn__outline button,
button.btn__outline,
.is-style-btn__outline a,
a.is-style-btn__outline,
.is-style-btn__outline button,
button.is-style-btn__outline {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  background: var(--color--main);
  border: 2px solid var(--color--main);
  border-radius: 4px;
  padding: 1em 1.5em;
  margin-block: 0.25em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  color: var(--color--white);
  cursor: pointer;
  padding-right: 1.9em;
  background: #FFF;
  color: var(--color--main);
}
.btn__outline.hover:hover,
.btn__outline a.hover:hover,
a.btn__outline.hover:hover,
.btn__outline button.hover:hover,
button.btn__outline.hover:hover,
.is-style-btn__outline a.hover:hover,
a.is-style-btn__outline.hover:hover,
.is-style-btn__outline button.hover:hover,
button.is-style-btn__outline.hover:hover {
  background-color: var(--color--white);
  border-color: var(--color--main);
  color: var(--color--main);
}
.btn__outline::before,
.btn__outline a::before,
a.btn__outline::before,
.btn__outline button::before,
button.btn__outline::before,
.is-style-btn__outline a::before,
a.is-style-btn__outline::before,
.is-style-btn__outline button::before,
button.is-style-btn__outline::before {
  content: "\e004";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}
.btn__outline.hover:hover,
.btn__outline a.hover:hover,
a.btn__outline.hover:hover,
.btn__outline button.hover:hover,
button.btn__outline.hover:hover,
.is-style-btn__outline a.hover:hover,
a.is-style-btn__outline.hover:hover,
.is-style-btn__outline button.hover:hover,
button.is-style-btn__outline.hover:hover {
  background: var(--color--main);
  color: var(--color--white);
}

.btn__reset,
.btn__reset a,
a.btn__reset,
.btn__reset button,
button.btn__reset,
.is-style-btn__reset a,
a.is-style-btn__reset,
.is-style-btn__reset button,
button.is-style-btn__reset {
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  background: var(--color--main);
  border: 2px solid var(--color--main);
  border-radius: 4px;
  padding: 1em 1.5em;
  margin-block: 0.25em;
  text-align: center;
  text-decoration: none;
  line-height: 1.3;
  color: var(--color--white);
  cursor: pointer;
  padding-right: 1.9em;
  background: var(--color--btn__reset);
  border-color: var(--color--btn__reset);
  color: #fff;
}
.btn__reset.hover:hover,
.btn__reset a.hover:hover,
a.btn__reset.hover:hover,
.btn__reset button.hover:hover,
button.btn__reset.hover:hover,
.is-style-btn__reset a.hover:hover,
a.is-style-btn__reset.hover:hover,
.is-style-btn__reset button.hover:hover,
button.is-style-btn__reset.hover:hover {
  background-color: var(--color--white);
  border-color: var(--color--main);
  color: var(--color--main);
}
.btn__reset::before,
.btn__reset a::before,
a.btn__reset::before,
.btn__reset button::before,
button.btn__reset::before,
.is-style-btn__reset a::before,
a.is-style-btn__reset::before,
.is-style-btn__reset button::before,
button.is-style-btn__reset::before {
  content: "\e004";
  font-family: "icon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  display: inline-block;
}
.btn__reset.hover:hover,
.btn__reset a.hover:hover,
a.btn__reset.hover:hover,
.btn__reset button.hover:hover,
button.btn__reset.hover:hover,
.is-style-btn__reset a.hover:hover,
a.is-style-btn__reset.hover:hover,
.is-style-btn__reset button.hover:hover,
button.is-style-btn__reset.hover:hover {
  background: var(--color--white);
  border-color: rgba(163, 163, 163, 0.4);
  color: var(--color--btn__reset);
}

form input[type=button],
form input[type=submit],
form button,
form button.btn__basic,
form button.btn__outline,
form button.btn__reset {
  min-width: 8em;
}
form input[type=button]::before,
form input[type=submit]::before,
form button::before,
form button.btn__basic::before,
form button.btn__outline::before,
form button.btn__reset::before {
  content: none !important;
}

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

.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

.alignleft,
img.alignleft, .alignright,
img.alignright {
  width: 48% !important;
  max-width: 48% !important;
  height: auto;
  clear: both;
}
@media screen and (max-width: 480px) {
  .alignleft,
  img.alignleft, .alignright,
  img.alignright {
    width: 100% !important;
    max-width: 100% !important;
  }
}

*:has(.alignright, .alignleft)::after {
  content: "";
  display: block;
  clear: both;
}

.alignright,
.alignleft,
.aligncenter,
.alignwide,
.alignfull {
  display: flex;
  flex-wrap: wrap;
}
.alignright img,
.alignleft img,
.aligncenter img,
.alignwide img,
.alignfull img {
  display: block;
  width: auto;
  height: auto;
  line-height: 0;
}

.alignright .wp-caption-text,
.alignleft .wp-caption-text {
  width: 100%;
  display: block;
}

.alignright {
  justify-content: flex-end;
}
.alignright .wp-caption-text {
  text-align: right;
}

.alignleft {
  justify-content: flex-start;
}
.alignleft .wp-caption-text {
  text-align: left;
}

.aligncenter,
.alignwide,
.alignfull {
  justify-content: center;
}

.alignwide img,
.alignfull img {
  width: 100%;
}

.alignnone {
  display: block;
  width: auto;
  height: auto;
  margin: 1.5em 0;
}

.alignwide {
  margin: 1.5em 0;
  width: 100%;
}
.alignwide img {
  width: 100%;
}

.alignfull {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  margin: 1.5em 0;
  margin-left: -50vw;
}

a.alignright + h2, a.alignright + h3, a.alignright + h4, a.alignright + h5, a.alignright + h6, a.alignright + div a.alignright + p, a.alignleft + h2, a.alignleft + h3, a.alignleft + h4, a.alignleft + h5, a.alignleft + h6, a.alignright + div a.alignleft + p,
img.alignright + h2,
img.alignright + h3,
img.alignright + h4,
img.alignright + h5,
img.alignright + h6,
a.alignright + div img.alignright + p,
img.alignleft + h2,
img.alignleft + h3,
img.alignleft + h4,
img.alignleft + h5,
img.alignleft + h6,
a.alignright + div img.alignleft + p, a.alignleft + div a.alignright + p, a.alignleft + div a.alignleft + p,
a.alignleft + div img.alignright + p,
a.alignleft + div img.alignleft + p,
img.alignright + div a.alignright + p,
img.alignright + div a.alignleft + p,
img.alignright + div img.alignright + p,
img.alignright + div img.alignleft + p,
img.alignleft + div a.alignright + p,
img.alignleft + div a.alignleft + p,
img.alignleft + div img.alignright + p,
img.alignleft + div img.alignleft + p {
  display: inline-block;
}

.alignright,
img.alignright {
  float: right;
  margin: 0 0 2.5em 2.5em;
  margin-top: 0 !important;
}
.alignright + *,
img.alignright + * {
  margin-top: 0;
}
@media only screen and (max-width: 960px) {
  .alignright,
  img.alignright {
    margin: 0 0 2.6em 2.8em;
  }
}
@media only screen and (max-width: 640px) {
  .alignright,
  img.alignright {
    margin: 0 0 1.6em 2em;
  }
}

.alignleft,
img.alignleft {
  float: left;
  margin: 0 2.5em 2.5em 0;
  margin-top: 0 !important;
}
@media only screen and (max-width: 960px) {
  .alignleft,
  img.alignleft {
    margin: 0 2.8em 2.6em 0;
  }
}
@media only screen and (max-width: 640px) {
  .alignleft,
  img.alignleft {
    margin: 0 2em 1.6em 0;
  }
}

img.aligncenter {
  max-width: 48%;
  margin-inline: auto;
}

img.alignwide {
  margin-inline: auto;
  width: 100%;
}

figcaption {
  position: relative;
  margin-top: 0.5em !important;
  margin-bottom: 0 !important;
  font-size: 0.75rem;
  color: var(--color--gray);
}
@media only screen and (max-width: 640px) {
  figcaption {
    margin-top: 0.25em !important;
    padding: 0 0.25em;
  }
}

.image-arrange-section {
  position: relative;
}
.image-arrange-section .image-arrange-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.image-arrange-section .image-arrange-img {
  position: absolute;
  top: 0;
  width: 70%;
  height: 100%;
  background: no-repeat center center/cover;
}
@media only screen and (max-width: 640px) {
  .image-arrange-section .image-arrange-img {
    position: static;
    width: 100%;
    padding-top: 70%;
    border-radius: 0;
  }
}
.image-arrange-section .image-arrange-content {
  position: relative;
  width: 40%;
}
@media only screen and (max-width: 640px) {
  .image-arrange-section .image-arrange-content {
    width: 100%;
  }
}
.image-arrange-section .image-arrange-content::before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
}
.image-arrange-section .image-arrange-content .image-arrange-text {
  font-size: 1rem;
  position: relative;
  padding: 2.5em;
  width: 100%;
}

.img_common, .img_r, .img_l {
  opacity: 1;
  left: 0;
}

.img_l .image-arrange-img {
  left: 0;
}
.img_l .image-arrange-content {
  left: calc(100% - 40% + 2.5em);
}
@media only screen and (max-width: 640px) {
  .img_l .image-arrange-content {
    left: 0;
  }
}
.img_l .image-arrange-content::before {
  left: 0;
}

.img_r .image-arrange-img {
  right: 0;
}
.img_r .image-arrange-content {
  left: -2.5em;
}
@media only screen and (max-width: 640px) {
  .img_r .image-arrange-content {
    left: 0;
  }
}
.img_r .image-arrange-content::before {
  right: 0;
}

.ib {
  display: inline-block;
}

ul.notes-mark, .notes-mark, ul.notes, .notes, .is-style-notes {
  font-size: 0.875rem;
  line-height: 1.4 !important;
  display: block;
  margin-block: 0.5em;
}

.notes, .is-style-notes {
  font-size: 0.875rem;
}

ul.notes {
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.notes li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
ul.notes li::marker {
  content: none;
}
ul.notes li {
  padding-left: 0 !important;
  text-indent: 0;
}
ul.notes li:first-child {
  margin-top: 0;
}
ul.notes li::marker {
  content: none !important;
}

.notes-mark {
  padding-left: 1em;
  text-indent: -1em;
}

ul.notes-mark {
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.notes-mark li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
ul.notes-mark li::marker {
  content: none;
}
ul.notes-mark li {
  padding-left: 1em;
  text-indent: -1em;
}
ul.notes-mark li:first-child {
  margin-top: 0;
}

.box-area {
  background: var(--color--bg);
  padding: 1.5em 2em;
  margin-block: 1.5em;
}
.box-area strong {
  font-size: 1.125rem;
  font-weight: bold;
}
.box-area strong + p {
  margin-top: 0.5em;
}
.box-area p {
  margin-top: 0.8em;
  line-height: 1.6;
}
.box-area > *:first-child {
  margin-top: 0 !important;
}
.box-area > *:last-child {
  margin-bottom: 0 !important;
}

.scroll-table {
  position: relative;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

.swipe-img {
  display: none;
  position: relative;
  top: -35px;
  left: 5px;
  width: 30px;
  height: 30px;
  background: url(../img/com/sw_mov.gif) no-repeat center center/contain;
}
@media only screen and (max-width: 960px) {
  .swipe-img {
    display: block;
  }
}

.movie-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gmap iframe {
  width: 100%;
  height: 400px;
}
@media only screen and (max-width: 640px) {
  .gmap iframe {
    height: 300px;
  }
}

.pagination {
  margin-top: 20px;
  margin-bottom: 20px;
}
.pagination ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-indent: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.pagination ul li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.pagination ul li::marker {
  content: none;
}
.pagination ul li {
  padding-left: 0 !important;
}
.pagination ul li::before {
  content: none !important;
}
.pagination ul li a,
.pagination ul li span {
  text-decoration: none;
  position: relative;
  display: block;
  padding: 0em 0.5em;
  margin: 0 0.25em;
}
.pagination ul li a::after,
.pagination ul li span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  height: 2px;
  width: calc(100% - 0.5em);
  background: transparent;
  transform: translateX(-50%);
}
.pagination ul li span::after {
  background: var(--color--main);
}
.pagination ul li a .hover:hover {
  color: var(--color--sub);
}
.pagination ul li a .hover:hover::after {
  background: var(--color--sub);
}

html {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  word-wrap: break-word;
  line-height: 1;
  scroll-behavior: auto !important;
  scrollbar-gutter: stable;
}
@media screen and (max-width: 440px) {
  html {
    font-size: 3.636364vw;
  }
}
html.fixed {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

body {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  color: var(--color--text);
  width: 100%;
  position: relative;
  line-height: 1;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  overflow-x: clip !important;
}
@media screen and (max-width: 440px) {
  body {
    font-size: 3.636364vw;
  }
}
body::before {
  position: fixed;
  display: block;
  content: "";
  width: 100vw;
  height: 100vh;
  background: linear-gradient(0deg, rgb(212, 237, 234) 0%, rgb(239, 255, 253) 100%);
  z-index: -1;
}

.pc-logo {
  position: fixed;
  width: 18.125em;
  top: 1.5em;
  left: 3.5em;
  z-index: 10;
}
@media screen and (max-width: 1200px) {
  .pc-logo {
    width: 12em;
    left: 1.5em;
  }
}
@media screen and (max-width: 1080px) {
  .pc-logo {
    display: none;
  }
}
.pc-logo a.hover:hover {
  opacity: 0.5;
}

.cloud {
  position: fixed;
}
@media screen and (max-width: 768px) {
  .cloud {
    display: none;
  }
}
@media all and (min-width: 1081px) and (max-height: 800px) {
  .cloud {
    display: none;
  }
}
.cloud.cloud01 {
  width: 22.375em;
  top: 26.99%;
  left: 1.75%;
  z-index: 1;
}
.cloud.cloud02 {
  width: 15.625em;
  top: 16.53%;
  left: 25.25%;
}
.cloud.cloud03 {
  width: 23.75em;
  top: 30.544%;
  left: 73.75%;
  transform: rotate(180deg);
}

.pc-bottom {
  position: fixed;
  background: #fff;
  width: 100%;
  height: 20.875em;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 1080px) {
  .pc-bottom {
    display: none;
  }
}
.pc-bottom .pc-town {
  position: absolute;
  width: 100%;
  object-fit: cover;
  top: 0;
  transform: translateY(-100%);
  overflow: hidden;
  height: 5.75em;
}
@media screen and (max-width: 1600px) {
  .pc-bottom .pc-town {
    aspect-ratio: initial;
  }
}
.pc-bottom .pc-town img {
  position: absolute;
  display: block;
  width: 104em;
  max-width: initial;
  height: 5.75em;
  top: 0;
  animation: scenery 50s linear infinite normal;
}
.pc-bottom .pc-town img:nth-child(1) {
  right: 0;
}
.pc-bottom .pc-town img:nth-child(2) {
  right: 104em;
}
.pc-bottom .pc-town img:nth-child(3) {
  right: 208em;
}
.pc-bottom .pc-vegetable {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
  bottom: 0;
  overflow: hidden;
  background: url(../img/pc_vegetable.png) 50% 0/auto 100% repeat-x;
}
.pc-bottom .pc-track-area {
  position: absolute;
  width: 14.375em;
  aspect-ratio: 230/152;
  top: -3.5em;
  right: 56.75em;
  animation: gata-goto 1s infinite;
}
@media screen and (max-width: 1200px) {
  .pc-bottom .pc-track-area {
    width: 11em;
    right: auto;
    left: 3em;
  }
}
@media screen and (max-width: 1080px) {
  .pc-bottom .pc-track-area {
    display: none;
  }
}
.pc-bottom .pc-track {
  position: absolute;
  width: 94.78%;
  z-index: 2;
  animation: wheelie 2.5s infinite;
}
.pc-bottom .pc-track-shadow {
  position: absolute;
  width: 88.913043%;
  z-index: 1;
  bottom: 2%;
  left: 0;
}

.pc-circle {
  position: fixed;
  width: 11.875em;
  right: 5.75em;
  bottom: 5.375em;
  z-index: 1;
  animation: fuwafuwa 1.8s ease-in-out infinite alternate-reverse;
}
@media screen and (max-width: 1080px) {
  .pc-circle {
    width: 10em;
    right: auto;
    bottom: 6em;
    left: calc(50% + 14em);
  }
}
@media only screen and (max-width: 960px) {
  .pc-circle {
    display: none;
  }
}
.pc-circle a {
  display: block;
}
.pc-circle a img {
  width: 100%;
}
.pc-circle a::after {
  display: none;
}
.pc-circle a.hover:hover {
  opacity: 0.7;
}

.phantom.rise {
  opacity: 0;
  transform: translateY(1.5em);
  transition: opacity 1s, transform 1s;
}
.phantom.rise.phantom-animation {
  opacity: 1;
  transform: translateY(0);
}
.phantom.drop {
  opacity: 0;
  transform: scale(1.2);
  transition: opacity 1s, transform 1s;
}
.phantom.drop.phantom-animation {
  opacity: 1;
  transform: scale(1);
}
.phantom.spring {
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 1s, transform 1s;
}
.phantom.spring.phantom-animation {
  opacity: 1;
  transform: scale(1);
}

header, header div, header span, header applet, header object, header iframe,
header h1, header h2, header h3, header h4, header h5, header h6, header p, header blockquote, header pre,
header a, header abbr, header acronym, header address, header big, header cite, header code,
header del, header dfn, header em, header img, header ins, header kbd, header q, header s, header samp,
header small, header strike, header strong, header sub, header sup, header tt, header var,
header b, header u, header i, header center,
header dl, header dt, header dd, header ol, header ul, header li,
header fieldset, header form, header label, header legend,
header table, header caption, header tbody, header tfoot, header thead, header tr, header th, header td,
header article, header aside, header canvas, header details, header embed,
header figure, header figcaption, header footer, header header, header hgroup,
header menu, header nav, header output, header ruby, header section, header summary,
header time, header mark, header audio, header video,
nav,
nav div,
nav span,
nav applet,
nav object,
nav iframe,
nav h1,
nav h2,
nav h3,
nav h4,
nav h5,
nav h6,
nav p,
nav blockquote,
nav pre,
nav a,
nav abbr,
nav acronym,
nav address,
nav big,
nav cite,
nav code,
nav del,
nav dfn,
nav em,
nav img,
nav ins,
nav kbd,
nav q,
nav s,
nav samp,
nav small,
nav strike,
nav strong,
nav sub,
nav sup,
nav tt,
nav var,
nav b,
nav u,
nav i,
nav center,
nav dl,
nav dt,
nav dd,
nav ol,
nav ul,
nav li,
nav fieldset,
nav form,
nav label,
nav legend,
nav table,
nav caption,
nav tbody,
nav tfoot,
nav thead,
nav tr,
nav th,
nav td,
nav article,
nav aside,
nav canvas,
nav details,
nav embed,
nav figure,
nav figcaption,
nav footer,
nav header,
nav hgroup,
nav menu,
nav nav,
nav output,
nav ruby,
nav section,
nav summary,
nav time,
nav mark,
nav audio,
nav video,
footer,
footer div,
footer span,
footer applet,
footer object,
footer iframe,
footer h1,
footer h2,
footer h3,
footer h4,
footer h5,
footer h6,
footer p,
footer blockquote,
footer pre,
footer a,
footer abbr,
footer acronym,
footer address,
footer big,
footer cite,
footer code,
footer del,
footer dfn,
footer em,
footer img,
footer ins,
footer kbd,
footer q,
footer s,
footer samp,
footer small,
footer strike,
footer strong,
footer sub,
footer sup,
footer tt,
footer var,
footer b,
footer u,
footer i,
footer center,
footer dl,
footer dt,
footer dd,
footer ol,
footer ul,
footer li,
footer fieldset,
footer form,
footer label,
footer legend,
footer table,
footer caption,
footer tbody,
footer tfoot,
footer thead,
footer tr,
footer th,
footer td,
footer article,
footer aside,
footer canvas,
footer details,
footer embed,
footer figure,
footer figcaption,
footer footer,
footer header,
footer hgroup,
footer menu,
footer nav,
footer output,
footer ruby,
footer section,
footer summary,
footer time,
footer mark,
footer audio,
footer video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  word-wrap: break-word;
}
header ol, header ul,
nav ol,
nav ul,
footer ol,
footer ul {
  list-style: none;
}
header table,
nav table,
footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
header caption, header th, header td,
nav caption,
nav th,
nav td,
footer caption,
footer th,
footer td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
header q, header blockquote,
nav q,
nav blockquote,
footer q,
footer blockquote {
  quotes: none;
}
header q:before, header q:after, header blockquote:before, header blockquote:after,
nav q:before,
nav q:after,
nav blockquote:before,
nav blockquote:after,
footer q:before,
footer q:after,
footer blockquote:before,
footer blockquote:after {
  content: "";
  content: none;
}
header a img,
nav a img,
footer a img {
  border: none;
}
header article, header aside, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header summary,
nav article,
nav aside,
nav details,
nav figcaption,
nav figure,
nav footer,
nav header,
nav hgroup,
nav menu,
nav nav,
nav section,
nav summary,
footer article,
footer aside,
footer details,
footer figcaption,
footer figure,
footer footer,
footer header,
footer hgroup,
footer menu,
footer nav,
footer section,
footer summary {
  display: block;
}
header, header *,
nav,
nav *,
footer,
footer * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
}
header::before, header::after, header *::before, header *::after,
nav::before,
nav::after,
nav *::before,
nav *::after,
footer::before,
footer::after,
footer *::before,
footer *::after {
  box-sizing: border-box;
}
header ul,
nav ul,
footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
header ul li,
nav ul li,
footer ul li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
header ul li::marker,
nav ul li::marker,
footer ul li::marker {
  content: none;
}

#noscript {
  width: 100%;
  padding: 10px 20px;
  background: #c00;
  color: #fff;
  text-align: center;
  z-index: 100;
  line-height: 1.2;
}

#loader {
  position: fixed;
  z-index: 15000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}
#loader > div {
  content: "";
  position: fixed;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/com/loader.svg) no-repeat center center #fff;
}

.loader-fix {
  position: fixed;
  overflow-y: scroll;
}

/* コンテンツエリアの設定 **************************/
.common-inner {
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 50px;
  padding-right: 50px;
}
@media only screen and (max-width: 1000px) {
  .common-inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media only screen and (max-width: 960px) {
  .common-inner {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (max-width: 640px) {
  .common-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* SP時 common-inner内でフル画面表示する例外対応 */
@media only screen and (max-width: 960px) {
  .sp-full {
    margin-left: -30px;
    margin-right: -30px;
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media only screen and (max-width: 640px) {
  .sp-full {
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 40px;
    padding-right: 40px;
  }
}

section {
  padding-top: 35px;
  padding-bottom: 35px;
}
@media only screen and (max-width: 960px) {
  section {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 640px) {
  section {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
section:first-child {
  padding-top: 0;
}

header {
  position: sticky;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  height: 5.625em;
}
header .header-inner {
  position: absolute;
  display: flex;
  width: 100%;
  gap: 1em;
  padding: 1.25em;
  background: #e50012;
  height: 5.625em;
  transition: height 0.5s;
  transition-delay: 0.15s;
}
header .header-inner:has(.header-hamburger[aria-expanded=true]) {
  height: 35em;
  transition-delay: 0s;
}
header .header-logo {
  width: 11.25em;
}
header .header-logo a::after {
  display: none;
}
header .header-logo a.hover:hover {
  opacity: 0.5;
}
header .header-title {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: #fff;
  padding-top: 0.5em;
}
header .header-inner::after {
  position: absolute;
  left: 0;
  bottom: -10px;
  display: block;
  content: "";
  width: 100%;
  height: 10px;
  background: url(../img/semicircle_red.svg) 0 0/contain no-repeat;
  margin-top: -1px;
}
header .header-nav {
  position: absolute;
  display: block;
  top: 6.5em;
  left: 1em;
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
  transition-delay: 0s;
}
header .header-nav .nav-item > a {
  color: #fff;
  font-size: 1.125em;
}
header .header-nav .nav-item > a::before {
  background: url(../img/icon_circle_arrow_w.svg) 0 0/contain no-repeat;
}
header .header-nav .child-items {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  margin: 2em 0 0.5em;
}
header .header-nav .child-items .child-item > a {
  color: #fff;
  font-size: 1em;
}
header .header-nav .child-items .child-item > a::before {
  background: url(../img/icon_child_arrow_w.svg) 0 0/contain no-repeat;
}
header:has(.header-hamburger[aria-expanded=true]) .header-nav {
  display: block;
  opacity: 1;
  pointer-events: initial;
  transition-delay: 0.2s;
}

.header-hamburger {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: transparent;
  z-index: 15;
  border: 0;
  cursor: pointer;
  top: 0.75em;
  right: 0.5em;
  align-items: center;
  justify-content: center;
  width: 4em;
  height: 4em;
}
.header-hamburger.hover:hover {
  opacity: 0.5;
}
.active .header-hamburger {
  border-color: var(--color--main);
}
.header-hamburger .header-hamburger_inner {
  position: relative;
  display: flex;
  width: 2.25em;
  height: 1.375em;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border: 0;
}
.header-hamburger .header-hamburger_line {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color--white);
  position: absolute;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.header-hamburger .header-hamburger_line.__top {
  top: 0;
}
.header-hamburger .header-hamburger_line.__bottom {
  width: 80%;
  bottom: 0;
  left: 0;
}
.header-hamburger .header-hamburger_text {
  display: block;
  color: #fff;
  font-weight: bold;
  font-size: 0.875em;
  padding-top: 0.25em;
}
.header-hamburger[aria-expanded=true] .header-hamburger_line.__top {
  top: auto;
  transform: rotate(31deg) translate(0, 0);
  transform-origin: center;
}
.header-hamburger[aria-expanded=true] .header-hamburger_line.__middle {
  opacity: 0;
}
.header-hamburger[aria-expanded=true] .header-hamburger_line.__bottom {
  bottom: auto;
  width: 100%;
  transform: rotate(-31deg) translate(0, 0);
  transform-origin: center;
}

.nav-items {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.nav-items a {
  position: relative;
  text-decoration: none;
}
.nav-items a.hover:hover {
  opacity: 0.5;
}
.nav-items a::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.nav-items .nav-item > a {
  font-weight: 900;
  padding-left: 1.5em;
  display: inline-block;
  line-height: 1.2;
}
.nav-items .nav-item > a::before {
  width: 1.25em;
  height: 1.25em;
  background: url(../img/icon_circle_arrow.svg) 0 0/contain no-repeat;
}

.child-items {
  margin: 1em 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}
.child-items .child-item > a {
  position: relative;
  font-size: 0.875em;
  font-weight: 500;
  padding-left: 1.714em;
}
.child-items .child-item > a::before {
  position: absolute;
  display: block;
  content: "";
  width: 1.43em;
  height: 1.43em;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url(../img/icon_child_arrow.svg) 0 0/contain no-repeat;
}

#pc-nav {
  position: fixed;
  top: 9em;
  right: 49em;
  z-index: 2;
}
@media screen and (max-width: 1080px) {
  #pc-nav {
    display: none;
  }
}
@media all and (min-width: 1080px) and (max-height: 840px) {
  #pc-nav {
    display: none;
  }
}
#pc-nav a {
  display: inline-block;
  color: #333;
  text-decoration: none;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

main {
  position: relative;
  display: block;
  width: 100%;
  margin: 0 auto;
}

.home img {
  width: 100%;
  max-width: 100%;
}
.home .main-wrap {
  position: relative;
  max-width: 27.5em;
  margin: 0 18.125em 0 auto;
  background: url(../img/bg_beige.jpg) 0 0/100% auto repeat-y;
  z-index: 2;
}
@media screen and (max-width: 1080px) {
  .home .main-wrap {
    margin: 0 auto;
  }
}
.home main {
  width: 100%;
  overflow-x: clip;
}
.home main::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  top: 0;
  left: 0;
  background: #fff;
  aspect-ratio: 100/100;
}
.home #visual {
  position: relative;
  width: 100%;
  aspect-ratio: 440/670;
  margin: 0;
  padding: 0;
}
.home #visual::before, .home #visual::after {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
}
.home #visual::before {
  aspect-ratio: 440/50;
  top: 23.88%;
  left: 0;
  background: url(../img/visual_town.png) 50% 0/contain no-repeat;
  z-index: 1;
}
.home #visual::after {
  aspect-ratio: 440/414;
  bottom: 0;
  left: 0;
  background: url(../img/visual_bg.png) 50% 0/contain no-repeat;
  z-index: 1;
}
.home .visual-copy {
  position: absolute;
  width: 100%;
  font-size: 2em;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  top: 7.910448%;
}
.home .visual-track {
  position: absolute;
  width: 50%;
  top: 27.67%;
  left: 5%;
  z-index: 2;
  transform: rotate(1.55deg);
}
.home .visual-img01 {
  position: absolute;
  width: 32.75%;
  top: 28.5%;
  left: 49.75%;
  z-index: 3;
  transform: rotate(-8.02deg);
}
.home .visual-img02 {
  position: absolute;
  width: 29.886%;
  top: 34%;
  left: 66%;
  z-index: 4;
}
.home .visual-read {
  position: absolute;
  font-size: 1.125em;
  line-height: 1.4;
  font-weight: 900;
  text-align: center;
  width: 100%;
  top: 50.45%;
  color: #fff;
  left: 0;
  z-index: 4;
}
.home .visual-subtitle {
  position: absolute;
  width: 32.73%;
  top: 62.39%;
  left: 7.73%;
  z-index: 4;
  transform: rotate(-11.43deg);
}
.home .visual-title {
  position: absolute;
  width: 79.55%;
  top: 64.18%;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 4;
}
.home #senryu {
  position: relative;
  width: 100%;
  margin-top: -6.5em;
  padding-bottom: 8em;
  z-index: 2;
}
.home .senryu-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 5em;
}
.home .senryu-items li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.home .senryu-items li::marker {
  content: none;
}
.home .senryu-item {
  position: relative;
}
.home .senryu-item .category-img {
  position: absolute;
  top: -1.2em;
  left: 1.2em;
  z-index: 1;
  width: 80px;
  height: 80px;
}
.home .senryu-item .senryu-item-title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 88.5%;
  max-width: 22.25em;
  aspect-ratio: 356/146;
  margin: 0 auto;
  background: #fff;
  border: 0.3125em solid #b99c67;
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  font-size: 1em;
  overflow: clip;
}
.home .senryu-item .senryu-item-title::before, .home .senryu-item .senryu-item-title::after {
  position: absolute;
  display: block;
  content: "";
}
.home .senryu-item .senryu-item-title::before {
  width: 10em;
  aspect-ratio: 160/96;
  background: url(../img/sernryu_bg.svg) 0 0/contain no-repeat;
  top: -0.25em;
  right: -0.25em;
  z-index: 1;
}
.home .senryu-item .senryu-item-title > span {
  position: relative;
  display: inline-block;
  font-size: 1.5625em;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.012em;
  font-weight: bold;
  z-index: 2;
}
.home .senryu-item .senryu-item-title > span > span {
  display: inline-block;
  opacity: 0;
  transition: opacity 1s;
}
.home .senryu-item .senryu-item-title.phantom-animation > span > span {
  opacity: 1;
}
.home .senryu-item .senryu-item-title.phantom-animation > span > span:nth-of-type(1) {
  transition-delay: 0.5s;
}
.home .senryu-item .senryu-item-title.phantom-animation > span > span:nth-of-type(2) {
  transition-delay: 1.5s;
}
.home .senryu-item .senryu-item-title.phantom-animation > span > span:nth-of-type(3) {
  transition-delay: 2.5s;
}
.home .senryu-item .senryu-item-title.phantom-animation .icon-stamp {
  opacity: 1;
  transform: scale(1) rotate(0deg);
  transition-delay: 3.5s;
}
.home .senryu-item .icon-stamp {
  position: absolute;
  width: 2.125em;
  bottom: 0.5em;
  right: 0.5em;
  opacity: 0;
  transform: scale(1.5) rotate(-15deg);
  transition: opacity 0.3s, transform 0.5s;
}
.home .senryu-item .senryu-item-pic {
  position: relative;
  width: 100%;
  margin-top: -1em;
  z-index: 3;
}
.home .senryu-item .item-btn {
  position: relative;
  display: block;
  width: 100%;
  max-width: 20em;
  margin: 0 auto;
  background-image: linear-gradient(0deg, #e12218, #ff342a 58%, #ff765a);
  padding: 0.75em 1em;
  text-align: center;
  text-decoration: none;
  color: #fff;
  border-radius: 2em;
  box-shadow: 0 0.625em 0.625em rgba(0, 0, 0, 0.1);
  z-index: 4;
}
.home .senryu-item .item-btn span {
  position: relative;
  display: inline-block;
  font-size: 1.25em;
  font-weight: bold;
  padding-left: 1em;
  line-height: 1.5;
}
.home .senryu-item .item-btn span::before {
  position: absolute;
  display: block;
  content: "";
  width: 0.7em;
  height: 0.6em;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: url(../img/btn_arrow.svg) 0 0/contain no-repeat;
}
.home .senryu-item .item-btn.overlap-btn {
  margin-top: -3.375em;
}
.home #cando {
  background: #fff;
  margin: 0;
  padding: 0;
  padding-bottom: 1.5em;
}
.home #cando .cando-header {
  position: relative;
  aspect-ratio: 440/163;
  background: url(../img/cando_bg.png) 0 0/contain no-repeat;
}
.home #cando .cando-label {
  position: absolute;
  display: block;
  width: 25em;
  top: -5.25em;
  right: 0;
  left: 0;
  margin: auto;
}
.home #cando .cando-title {
  position: absolute;
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  color: #fff;
  line-height: 1.4;
  width: 100%;
  top: 32%;
}
.home #cando .moya {
  position: relative;
  width: 100%;
  padding: 1.5em 1.25em;
}
.home #cando .moya + .moya {
  margin-top: 2.125em;
  padding-top: 2.625em;
}
.home #cando .moya .moya-line {
  position: absolute;
  display: block;
  width: 16em;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.home #cando .moya .moya-title {
  font-size: 1.25em;
  color: #344a74;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
}
.home #cando .moya .moya-serif {
  position: relative;
  width: 100%;
  aspect-ratio: 400/668;
  margin: 1.5em 0 0;
  z-index: 1;
}
.home #cando .moya .moya-serif .category-img {
  left: 0;
}
.home #cando .moya .moya-serif .senryu-item {
  position: absolute;
  width: 100%;
  top: 77%;
  z-index: 4;
}
.home #cando .moya .moya-serif .senryu-item .senryu-item-title {
  box-shadow: 0 0.625em 1em rgba(0, 0, 0, 0.1);
}
.home #cando .moya .moya-serif + .explanation {
  margin-top: 1em;
}
.home #cando .moya .moya-serif-voice {
  position: absolute;
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 88.25%;
  left: 10.5%;
  aspect-ratio: 353/258;
  background: url(../img/moya_bg.png) 0 0/contain no-repeat;
  gap: 0.9375em;
  padding: 3em 0 0 1em;
}
.home #cando .moya .moya-serif-voice dt,
.home #cando .moya .moya-serif-voice dd {
  width: 13.65rem;
  color: #6a3906;
  line-height: 1.3;
}
.home #cando .moya .moya-serif-voice dt {
  font-size: 1.25em;
  font-weight: bold;
  text-shadow: 0 0 0.2em white, 0 0 0.2em white, 0 0 0.5em white;
}
.home #cando .moya .moya-serif-voice dd {
  font-size: 0.875em;
  font-weight: 500;
  text-shadow: 0 0 0.29em white, 0 0 0.29em white, 0 0 0.714em white;
}
.home #cando .moya .moya-person {
  position: absolute;
  display: block;
  width: 33%;
  top: 15%;
  left: 0;
}
.home #cando .moya-solution {
  position: absolute;
  width: 88.5%;
  aspect-ratio: 354/390;
  top: 41.62%;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 1;
}
.home #cando .moya-solution::before {
  position: absolute;
  display: block;
  content: "";
  width: 13.375em;
  height: 13.375em;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  border-radius: 7em;
  background: #e50012;
  z-index: 2;
}
.home #cando .moya-solution::after {
  position: absolute;
  display: block;
  content: "";
  width: 84.75%;
  top: 27%;
  right: 0;
  left: 0;
  margin: auto;
  aspect-ratio: 300/114;
  background: url(../img/moya_car_line.png) 50% 50%/contain no-repeat;
}
.home #cando .solution-title {
  position: absolute;
  font-size: 1.25em;
  line-height: 1.3;
  width: 100%;
  text-align: center;
  color: #fff;
  top: 1.5%;
  z-index: 3;
}
.home .solution-car {
  position: absolute;
  width: 54.80226%;
  top: 30%;
  right: 0;
  left: 0;
  margin: auto;
  z-index: 4;
}
.home .explanation {
  position: relative;
  z-index: 2;
}
.home .explanation.green .ex-title {
  color: #9fc238;
}
.home .explanation.green .card {
  background: rgba(159, 194, 56, 0.15);
}
.home .explanation.green .card dl dt {
  color: #9fc238;
}
.home .explanation.green .tips-item {
  background: #a8c84c;
}
.home .explanation.green .tips-items {
  margin-top: -2.5em;
}
.home .explanation.orange .ex-title {
  color: #eb9a00;
}
.home .explanation.orange .card {
  background: rgba(244, 216, 66, 0.25);
}
.home .explanation.orange .card dl dt {
  color: #eb9a00;
}
.home .explanation.orange .tips-item {
  background: #eb9a00;
}
.home .explanation.orange .tips-items {
  margin-top: -2.5em;
}
.home .explanation.purple .tips-item {
  background: #af9ac9;
}
.home .explanation.purple .tips-items {
  margin-top: -2.5em;
}
.home .explanation.blue .ex-title {
  color: #46b1ac;
}
.home .explanation.blue .card {
  background: rgba(70, 177, 172, 0.15);
}
.home .explanation.blue .card dl dt {
  color: #46b1ac;
}
.home .explanation.blue .tips-items {
  margin-top: 0.75em;
}
.home .explanation.blue .tips-item {
  background: #46b1ac;
}
.home .ex-title {
  font-size: 1.875em;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.home .ex-kurukuru {
  display: block;
  width: 80%;
  margin: 0.75em auto 0;
}
.home .card {
  position: relative;
  width: 100%;
  margin: 1.5em 0 0;
  padding: 1.875em 1.875em 2em;
  border-radius: 1.5em;
  z-index: 1;
}
.home .card .card-cross {
  position: absolute;
  display: block;
  width: 2.9em;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  transform: translateY(-50%);
}
.home .card dl {
  margin-top: 0.625em;
}
.home .card dt {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
.home .card dd {
  font-size: 1.125em;
  line-height: 1.5;
  margin-top: 0.444em;
}
.home .ex-illust {
  position: relative;
  margin-top: -1em;
  z-index: 1;
}
.home .tips-items {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
  z-index: 2;
}
.home .tips-items .tips-item {
  padding: 1.5em 1.875em;
  border-radius: 1.5em;
  color: #fff;
  line-height: 1.4;
}
.home .tips-items .tips-item dt {
  font-size: 1.25em;
  font-weight: bold;
  margin-bottom: 0.5em;
}
.home .ex-delivery {
  display: block;
  max-width: 88.5%;
  margin: 1.5em auto;
}
.home #fixed_btn {
  background-color: #E50012;
  padding-bottom: 2em;
  position: sticky;
  bottom: -1.8em;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none; /* 非表示中はクリック不可 */
  transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
  z-index: 100;
}
.home #fixed_btn.is-sticky {
  opacity: 1;
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
}
.home #fixed_btn a {
  display: block;
}
.home #fixed_btn a::after {
  display: none;
}
.home #merit {
  margin-top: -2em;
  padding-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
  position: relative;
  z-index: 101;
}
.home #merit > img {
  vertical-align: bottom;
  margin-bottom: -1px;
}
.home #merit .merit-inner {
  width: 100%;
  background: #ffedee;
  padding: 3em 1.25em;
}
.home #merit .merit-title {
  width: 82.5%;
  margin: 0 auto;
}
.home #merit .merit-title img {
  width: 100%;
}
.home #merit .merit-pic-area {
  position: relative;
  width: 100%;
  margin: 1em 0 0;
  aspect-ratio: 400/300;
  z-index: 2;
}
.home #merit .merit-pic01 {
  position: absolute;
  width: 83.5%;
  top: -2%;
  left: -2%;
}
.home #merit .merit-pic02 {
  position: absolute;
  width: 60%;
  right: -4.5%;
  bottom: -2%;
}
.home #merit .note {
  position: relative;
  width: 100%;
  margin-top: -3em;
  z-index: 1;
}
.home #merit .note .note-inner {
  width: 100%;
  background: #fff;
  padding: 2em 2.5em 4.5em;
}
.home #merit .note dt {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.35;
  text-align: center;
  color: #5f3c13;
}
.home #merit .note dd {
  margin: 1.5em 0 0;
  line-height: 1.5;
}
.home #merit .merit-illust {
  position: relative;
  margin: -3em 0 0;
  z-index: 3;
}
.home #merit .merit-copy {
  width: 20em;
  margin: 1em auto 0;
  color: #eb757a;
  font-weight: bold;
  line-height: 1.5;
}
.home #merit .merit-img {
  position: relative;
  width: 84.5%;
  aspect-ratio: 338/144;
  margin: 2.5em auto 0;
}
.home #merit .merit-track {
  position: absolute;
  width: 57.4%;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.home #merit .merit-halo {
  width: 100%;
}
.home #trial {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 440/300;
  margin: -2em 0 0;
  padding: 0;
  background: url(../img/trial_bg.png) 50% 0/cover no-repeat;
  z-index: 102;
}
.home #trial img {
  position: absolute;
}
.home .trial-serif {
  width: 12em;
  top: 4%;
  right: 0;
  left: 0;
  margin: auto;
}
.home .trial-days {
  width: 6em;
  top: 26%;
  right: 0;
  left: 0;
  margin: auto;
}
.home .trial-50peroff {
  width: 39.545455%;
  top: 35%;
  right: 0;
  left: 0;
  margin: auto;
}
.home .trial-ribbon {
  width: 100%;
  top: 14.503817%;
  right: 0;
  bottom: 0;
  left: 0;
}
.home .trial-point {
  width: 27.5%;
  right: 9.5%;
  bottom: -20%;
  z-index: 30;
}
.home .trial-btn-area {
  position: absolute;
  width: 100%;
  top: 73.86%;
  text-align: center;
  z-index: 2;
}
.home .trial-btn-area .trial-btn {
  width: 100%;
  display: block;
}
.home .trial-btn-area .trial-btn img {
  position: unset !important;
  width: 50%;
}
.home .trial-btn-area .trial-btn::after {
  display: none;
}
.home .trial-btn-area .trial-btn.hover:hover {
  opacity: 0.5;
}
.home #footer {
  margin-top: -1em;
  padding: 3em 0 2em;
  background: #fff;
}
.home #footer .footer-inner {
  padding-inline: 0;
  text-align: center;
}
.home #footer .f-logo {
  width: 48%;
  margin: 0 auto;
}
.home #footer .f-company {
  font-size: 0.875em;
  font-weight: bold;
  text-align: center;
  color: #e50012;
  line-height: 1.5;
  margin: 0.25em 0 0;
}
.home #footer .f_smily {
  display: block;
  width: 21.36%;
  margin: 1.5em auto;
}
.home #footer .f-copy {
  font-size: 0.5625em;
  font-weight: bold;
}

.add-swiper-bullet {
  padding-bottom: 40px;
}

.swiper-slide {
  text-align: center;
}
.swiper-slide img {
  margin: auto;
}
.swiper-slide p {
  line-height: 1.8;
}

.swiper-pagination {
  bottom: 0;
}

.swiper-pagination-bullet {
  border-radius: 0;
  margin: 0 8px;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 8px;
}

.swiper-pagination-bullet-active {
  background: #000;
}

.featherlight .featherlight-content {
  padding: 30px;
  margin: 0;
  max-height: 100%;
  border-bottom: none;
  background: transparent;
}
.featherlight .featherlight-image {
  max-width: 100%;
  max-height: 100%;
}
.featherlight .featherlight-close-icon {
  width: 30px;
  height: 30px;
  text-align: center;
  font-size: 20px;
  line-height: 30px;
  color: #FFF;
  font-weight: bold;
  border-radius: 0;
  top: 0;
  right: 30px;
  background: transparent;
}

@keyframes fade {
  0% {
    opacity: 0;
    z-index: -1;
  }
  100% {
    opacity: 1;
    z-index: 1;
  }
}
@keyframes slideLtoR {
  0% {
    left: -100%;
  }
  100% {
    left: 0;
  }
}
@keyframes slideRtoL {
  0% {
    right: -100%;
  }
  100% {
    right: 0;
  }
}
@keyframes resizeWidth {
  0% {
    transform: scale(0, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}
@keyframes fuwafuwa {
  0% {
    transform: translateY(-3%);
  }
  100% {
    transform: translateY(3%);
  }
}
@keyframes scenery {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
@keyframes gata-goto {
  20% {
    transform: translateY(-2px);
  }
  25% {
    transform: translateY(0px);
  }
  55% {
    transform: translateY(-1px);
  }
  60% {
    transform: translateY(0px);
  }
}
@keyframes wheelie {
  46% {
    transform: rotate(3deg);
  }
  47% {
    transform: translateY(0deg);
  }
  48% {
    transform: translateY(1deg);
  }
  49% {
    transform: translateY(0deg);
  }
}

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