@charset "UTF-8";
/************************************
 * WP
 ***********************************/
/************************************
 * Font
 ***********************************/
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700;&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: #B60005;
  --color--sub: #F6DA66;
  --color--black: #333;
  --color--white: #fff;
  --color--none: transparent;
  --color--btn__reset: #a3a3a3;
  --color--red: #B60005;
  --color--orange: #ff8000;
  --color--yellow: #ffff00;
  --color--green: #00ff00;
  --color--blue: #0000ff;
  --color--gray: #666;
  --color--lightgray: #ccc;
  --color--bg: #0081bc;
  --color--text: #333;
  --color--error: #B60005;
  --color--link: #B60005;
  --color--hover: #333;
  --color--btn_bg: #333;
  --color--btn_txt: #fff;
  --color--border: #d1d2d3;
  --color--hamburger: #333;
  --wp--preset--spacing--0: var(--spacing--0);
  --wp--preset--spacing--default: var(--spacing--default);
  --wp--preset--spacing--m: var(--spacing--m);
  --wp--preset--spacing--l: var(--spacing--l);
  --wp--preset--spacing--xl: var(--spacing--xl);
  --wp--preset--font-size--s: var(--font-size--s);
  --wp--preset--font-size--m: var(--font-size--m);
  --wp--preset--font-size--l: var(--font-size--l);
  --wp--preset--font-size--xl: var(--font-size--xl);
  --wp--preset--font-size--xxl: var(--font-size--xxl);
  --wp--preset--color--main: var(--color--main);
  --wp--preset--color--sub: var(--color--sub);
  --wp--preset--color--black: var(--color--black);
  --wp--preset--color--white: var(--color--white);
  --wp--preset--color--none: var(--color--none);
  --wp--preset--color--btn__reset: var(--color--btn__reset);
  --wp--preset--color--red: var(--color--red);
  --wp--preset--color--orange: var(--color--orange);
  --wp--preset--color--yellow: var(--color--yellow);
  --wp--preset--color--green: var(--color--green);
  --wp--preset--color--blue: var(--color--blue);
  --wp--preset--color--gray: var(--color--gray);
  --wp--preset--color--lightgray: var(--color--lightgray);
  --wp--preset--color--bg: var(--color--bg);
  --wp--preset--color--text: var(--color--text);
  --wp--preset--color--error: var(--color--error);
  --wp--preset--color--link: var(--color--link);
  --wp--preset--color--hover: var(--color--hover);
  --wp--preset--color--btn_bg: var(--color--btn_bg);
  --wp--preset--color--btn_txt: var(--color--btn_txt);
  --wp--preset--color--border: var(--color--border);
  --wp--preset--color--hamburger: var(--color--hamburger);
  --wp--preset--color--primary: var(--wp--preset--color--main);
  --wp--preset--color--secondary: var(--wp--preset--color--sub);
  --wp--style--unstable-gallery-gap: var(--wp--preset--spacing--default);
  --gallery-block--gutter-size: var(--spacing-default);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.has-hamburger-background-color {
  background-color: var(--wp--preset--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.8;
}

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

a {
  -webkit-tap-highlight-color: transparent;
  outline: none;
  color: var(--wp--preset--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(--wp--preset--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: "Zen Maru Gothic", 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(--wp--preset--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: "Zen Maru Gothic", 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(--wp--preset--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(--wp--preset--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(--wp--preset--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(--wp--preset--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: #EFF7FA;
  padding: 1.5em 2em;
  margin-block: 1.5em;
  border-radius: 0.375em;
}
.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(--wp--preset--color--main);
}
.pagination ul li a .hover:hover {
  color: var(--wp--preset--color--sub);
}
.pagination ul li a .hover:hover::after {
  background: var(--wp--preset--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 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  color: var(--wp--preset--color--text);
  width: 100%;
  position: relative;
  line-height: 1;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
@media screen and (max-width: 440px) {
  body {
    font-size: 3.636364vw;
  }
}
@media only screen and (max-width: 960px) {
  body.active {
    position: fixed;
    height: 100%;
    overflow-y: scroll;
  }
}

.phantom {
  transform: translateY(50px) scale(0.5);
  transition: opacity 0.4s, transform 0.4s;
  opacity: 0;
}
.phantom.phantom-animation {
  transform: translateY(0) scale(1);
  opacity: 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;
  display: flex;
  justify-content: center;
  align-items: center;
}
#loader .load-inner {
  position: absolute;
  width: 100%;
  max-width: 27.5em;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  aspect-ratio: 1/1;
  opacity: 0;
  transition: opacity 0s;
}
#loader .load-inner.active {
  opacity: 1;
}
#loader .load-inner.active .load-logo {
  animation-name: bounceIn;
  animation-duration: 0.7s;
  animation-delay: 0.3s;
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}
#loader .load-inner .load-logo {
  position: absolute;
  width: 98%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  opacity: 0;
  transform: scale(0);
}

/* コンテンツエリアの設定 **************************/
.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;
}

.pc-view {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
  display: block;
  background: url(../img/background.png) center center/cover no-repeat;
}
@media only screen and (max-width: 640px) {
  .pc-view {
    display: none;
  }
}
.pc-view .pc-header {
  display: none;
  gap: 0.8em;
  position: absolute;
  width: 14.875em;
  top: 11.75em;
  left: calc(50% + 20.75em);
  aspect-ratio: 238/416;
}
@media screen and (min-width: 1180px) {
  .pc-view .pc-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.pc-view .pc-logo {
  display: block;
  width: 100%;
  margin-bottom: 0.5em;
}
.pc-view .pc-menu {
  display: block;
  line-height: 1;
  margin: 0 0.5em;
  padding: 0;
}
.pc-view .pc-menu.hover:hover {
  opacity: 0.5;
}

header {
  position: sticky;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 110;
}
header .header-inner {
  position: absolute;
  width: 100%;
  overflow-x: hidden;
  pointer-events: none;
}

.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: 5em;
  height: 5em;
  border-radius: 2.5em;
  background-color: #fff;
  pointer-events: initial;
}
.header-hamburger.hover:hover {
  opacity: 0.5;
}
.active .header-hamburger {
  border-color: var(--wp--preset--color--main);
}
.header-hamburger .header-hamburger_inner {
  position: relative;
  display: flex;
  width: 1.75em;
  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: #B60005;
  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[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;
}

.main-nav {
  display: block;
  top: 0;
  right: 0;
  left: auto;
  margin: 0 0 0 auto;
  background: var(--wp--preset--color--main);
  width: 20em;
  padding: 8em 1.5em 2.5em;
  border-radius: 0 0 0 1.5em;
  box-shadow: 0 0 1em rgba(0, 0, 0, 0.2);
  z-index: 14;
  transform: translateX(22em);
  transition: transform 0.2s;
  pointer-events: initial;
}
.main-nav.active {
  transform: translateX(0);
}
.main-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px dashed rgba(255, 255, 255, 0.4);
}
.main-nav ul li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.main-nav ul li::marker {
  content: none;
}
.main-nav ul li a {
  display: block;
  text-decoration: none;
  font-weight: 700;
  color: #fff;
  border-bottom: 1px dashed rgba(255, 255, 255, 0.4);
  padding: 1em 0;
}
.main-nav ul li a.hover:hover {
  opacity: 0.5;
}

.main-wrap {
  position: relative;
  width: 27.5em;
  margin: 0 auto;
  min-height: 100vh;
}
@media only screen and (max-width: 640px) {
  .main-wrap {
    width: 100%;
    background: var(--wp--preset--color--main);
  }
}

main {
  display: block;
  width: 100%;
  overflow: hidden;
}

footer {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 440/586;
  margin: 1em 0 0;
  overflow: hidden;
}
footer::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 4;
  width: 100%;
  background: url(../img/footer.png) 0 0/cover no-repeat;
}
footer .footer-serif {
  position: absolute;
  display: block;
  width: 80%;
  top: 9%;
  right: 0;
  left: 0;
  margin: auto;
  animation-delay: 0.3s;
}
footer .footer-serif.phantom {
  transform: initial;
  transition: initial;
  opacity: 0;
}
footer .footer-serif.phantom.phantom-animation {
  animation-name: bounceIn;
  animation-duration: 1s;
  animation-direction: alternate;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  z-index: 3;
}
footer .footer-panda {
  position: absolute;
  z-index: 1;
  display: block;
  width: 64%;
  top: 22%;
  right: 0;
  left: 0;
  margin: auto;
  animation-delay: 0.1s;
}
footer .footer-panda.phantom {
  transform: initial;
  transition: initial;
  opacity: 0;
}
footer .footer-panda.phantom.phantom-animation {
  animation-name: bounceInUp;
  animation-duration: 0.4s;
  animation-direction: alternate;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  z-index: 3;
}
footer p {
  position: absolute;
  z-index: 5;
  font-size: 0.75em;
  font-weight: 500;
  color: #ACACAC;
  width: 100%;
  bottom: 3.5em;
  left: 0;
  text-align: center;
  letter-spacing: 0.04em;
}

#confetti-area {
  position: fixed;
  top: -2%;
  left: 0;
  width: 100%;
  height: 102%;
  pointer-events: none;
  overflow: visible;
  z-index: 100;
}

.confetti {
  position: absolute;
  width: 8px;
  height: 10px;
  background: linear-gradient(45deg, #d4af37, #fff7c0, #d4af37);
  border-radius: 2px;
  opacity: 0;
  animation: fall 4s linear forwards, sway 1.2s ease-in-out infinite alternate, fadeIn 0.4s ease forwards;
}

.home * {
  font-weight: 500;
}
.home h1, .home h2, .home h3, .home h4, .home h5, .home h6, .home strong, .home th {
  font-weight: 700 !important;
}
.home #visual {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
}
.home #visual + .newyear {
  margin-top: 0;
}
.home #visual .hero {
  position: relative;
  width: 100%;
  aspect-ratio: 440/514;
  background-color: transparent;
}
.home #visual .hero::before {
  position: absolute;
  content: "";
  width: 100em;
  aspect-ratio: 1/1;
  background: url(../img/visual_bg_flare.png) center/cover no-repeat;
  opacity: 0.8;
  top: -20%;
  left: 50%;
  margin-left: -50em;
  animation-name: keepingTime;
  animation-duration: 60s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  display: none;
}
@media only screen and (max-width: 640px) {
  .home #visual .hero::before {
    display: block;
  }
}
.home #visual .title {
  position: absolute;
  aspect-ratio: 320/184;
  width: 70%;
  left: 50%;
  top: 13%;
  margin-left: -35%;
  opacity: 0;
}
.home #visual .visual-panga {
  position: absolute;
  width: 90%;
  left: 5%;
  bottom: -15%;
  opacity: 0;
}
.home #visual .visual-panga_txt01 {
  position: absolute;
  left: 3%;
  top: 48%;
  aspect-ratio: 100/120;
  width: 24%;
  opacity: 0;
}
.home #visual .visual-panga_txt02 {
  position: absolute;
  right: 3%;
  top: 48%;
  aspect-ratio: 100/120;
  width: 24%;
  opacity: 0;
}
.home #visual.go .title {
  animation-delay: 0.2s;
  z-index: 101 !important;
}
.home #visual.go .title.phantom {
  transform: initial;
  transition: initial;
  opacity: 0;
}
.home #visual.go .title.phantom.phantom-animation {
  animation-name: bounceIn;
  animation-duration: 1s;
  animation-direction: alternate;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  z-index: 3;
}
.home #visual.go .visual-panga {
  animation-delay: 0.2s;
  z-index: 101 !important;
}
.home #visual.go .visual-panga.phantom {
  transform: initial;
  transition: initial;
  opacity: 0;
}
.home #visual.go .visual-panga.phantom.phantom-animation {
  animation-name: bounceInUp;
  animation-duration: 0.4s;
  animation-direction: alternate;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  z-index: 3;
}
.home #visual.go .visual-panga_txt01 {
  animation-delay: 0.4s;
  z-index: 101 !important;
}
.home #visual.go .visual-panga_txt01.phantom {
  transform: initial;
  transition: initial;
  opacity: 0;
}
.home #visual.go .visual-panga_txt01.phantom.phantom-animation {
  animation-name: bounceIn;
  animation-duration: 1s;
  animation-direction: alternate;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  z-index: 3;
}
.home #visual.go .visual-panga_txt02 {
  animation-delay: 0.6s;
  z-index: 101 !important;
}
.home #visual.go .visual-panga_txt02.phantom {
  transform: initial;
  transition: initial;
  opacity: 0;
}
.home #visual.go .visual-panga_txt02.phantom.phantom-animation {
  animation-name: bounceIn;
  animation-duration: 1s;
  animation-direction: alternate;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  z-index: 3;
}
.home .bnr_area {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  margin-top: 3em;
  margin-left: 20px;
  margin-right: 20px;
}
.home .bnr_area img {
  box-shadow: 0px 0px 20px 1px rgba(246, 218, 102, 0.8);
}
.home .bnr_area a::after {
  display: none;
}
.home .newyear {
  position: relative;
  margin: 0 20px;
  padding: 0 0 4em;
  z-index: 101;
}
.home .newyear .newyear-iceberg {
  display: block;
  width: 100%;
  aspect-ratio: 440/70;
  object-fit: cover;
  object-position: 0 0;
}
.home .newyear .newyear-inner {
  position: relative;
}
.home .newyear .newyear-title {
  width: 10.75em;
  margin: 0 auto;
  font-size: 1rem;
}
.home .newyear .spot-title {
  font-size: 1.25rem;
  text-align: center;
}
.home .newyear .spot-title.mg-large {
  margin-top: 5em;
}
.home .newyear h3 {
  margin-top: 2em;
}
.home .spot-image {
  position: relative;
  width: 95.909%;
  margin: 1.5em auto 0;
}
.home .spot-image .spot-logo {
  position: absolute;
  top: 0;
  z-index: 3;
}
.home .spot-image .spot-visual {
  position: absolute;
  width: 100%;
  z-index: 1;
}
.home .spot-image .spot-visual video {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.home .spot-image.spot-image01 {
  aspect-ratio: 422/472;
}
.home .spot-image.spot-image01 .spot-logo {
  width: 47.39%;
  right: 0;
  left: 0;
  margin: auto;
}
.home .spot-image.spot-image01 .spot-visual {
  top: 23.728814%;
  aspect-ratio: 422/310;
  mask-image: url(../img/newyear01_mask.svg);
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: 100%;
}
.home .spot-image.spot-image01 .spot-visual img,
.home .spot-image.spot-image01 .spot-visual video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home .spot-image.spot-image02 {
  aspect-ratio: 422/410;
}
.home .spot-image.spot-image02 .spot-logo {
  width: 60.664%;
  right: 0;
  left: 0;
  margin: auto;
}
.home .spot-image.spot-image02 .spot-visual {
  top: 7.692308%;
  aspect-ratio: 420/338;
  mask-image: url(../img/newyear02_mask.svg);
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
}
.home .spot-image.spot-image02 .spot-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home .spot-image.spot-image03 {
  aspect-ratio: 422/400;
}
.home .spot-image.spot-image03 .spot-logo {
  width: 82.46%;
  right: 0;
  margin: auto;
}
.home .spot-image.spot-image03 .spot-visual {
  top: 10.692308%;
  width: 100%;
  aspect-ratio: 423/310;
  mask-image: url(../img/newyear03_mask.svg);
  mask-repeat: no-repeat;
  mask-position: 0 0;
  mask-size: contain;
}
.home .spot-image.spot-image03 .spot-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home .text-area {
  padding: 1em 2em 0;
}
.home .text-area h4 {
  font-size: 1.5625em;
  text-align: center;
  line-height: 1.3;
  margin: 0 0 0.75em;
  font-weight: 900;
}
.home .text-area p {
  font-weight: 500;
}
.home .text-area p + .note.kome {
  margin-top: 1em;
}
.home .swiper {
  margin-top: 2em;
}
.home .swiper figcaption {
  font-size: 1rem;
  color: #333;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 1rem !important;
  font-weight: bold;
}
.home .swiper figcaption span {
  font-size: 0.8em;
  display: block;
  margin-bottom: 0.2em;
  font-weight: normal;
}
.home .newyear {
  position: relative;
  margin-top: 6.25em;
  background-color: var(--wp--preset--color--sub);
  border-radius: 8px;
}
.home .newyear .newyear-title {
  width: 100%;
  position: relative;
  top: -2.9em;
  left: 0;
  right: 0;
  margin: auto;
  margin-bottom: -2.9em;
  text-align: center;
}
.home .newyear .newyear-title .title_no {
  width: 5.4375em;
  margin-bottom: 1em;
}
.home table {
  width: 100%;
  margin: 1em auto 0;
  border-radius: 0.5em;
  border: 1px solid #555;
  border-collapse: separate;
  border-spacing: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.home table tbody tr:first-child > *:first-child {
  overflow: hidden;
}
.home table tbody tr:last-child th, .home table tbody tr:last-child td {
  border-bottom: 0 !important;
}
.home table th {
  width: 25%;
  line-height: 1.1;
  border: 0 !important;
  border-bottom: 1px solid #555 !important;
  border-left: 1px solid #555 !important;
}
.home table th:first-child {
  border-left: 0 !important;
}
.home table th span {
  display: block;
  font-size: 0.7em;
  margin-top: 0.2em;
}
.home table td {
  width: 25%;
  text-align: center;
  line-height: 1.2;
  border: 0 !important;
  border-bottom: 1px solid #555 !important;
  border-left: 1px solid #555 !important;
  padding-inline: 0.5em !important;
}
.home table td:first-child {
  border-left: 0 !important;
}
.home table td sub {
  font-size: 0.625em;
}
.home table td span {
  font-size: 0.625em;
  display: block;
}
.home table td strong {
  font-size: 1.3em;
  color: var(--wp--preset--color--main);
}
.home table td p {
  width: 100%;
  line-height: 1.4;
  text-align: left;
  margin-top: 0.5em;
}
.home table.green tr th {
  background: #EEEF99;
}
.home table.orange tr th {
  background: #FDD35C;
}
.home table.gray tr th {
  background: #C9CACA;
}
.home table.purple tr th {
  background: #F1D9E9;
}
.home table td:has(strong) {
  background-color: #FFF799;
}
.home .plus {
  position: relative;
  width: 100%;
  height: 1em;
  margin: 1em 0 0;
}
.home .plus::before, .home .plus::after {
  position: absolute;
  display: block;
  content: "";
  width: 1em;
  height: 2px;
  background: #333;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.home .plus::after {
  transform: rotate(90deg);
}
.home .plus + table {
  margin-top: 1em;
}
.home .note {
  font-size: 0.75em;
  line-height: 1.4;
  margin: 1.5em 0 5em;
  color: #555555;
}
.home .note li {
  margin-top: 0.2em;
}
.home ul.kome {
  list-style: none;
  padding: 0;
  margin: 0;
  margin: 0.25em 0 0;
}
.home ul.kome li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.home ul.kome li::marker {
  content: none;
}
.home ul.kome li {
  margin-left: 1em;
  text-indent: -1em;
}
.home ul.kome li::before {
  display: inline;
  content: "※";
}
.home .omtns-items {
  display: flex;
  flex-direction: column;
  gap: 2.5em;
  width: 100%;
  padding: 0.5em 2.5em 0;
}
.home .omtns-items .omtns-item {
  position: relative;
}
.home .omtns-items .omtns-item .omtns-item-pic {
  position: relative;
  z-index: 1;
}
.home .omtns-items .omtns-item .omtns-item-title {
  position: relative;
  font-size: 1.5625em;
  line-height: 1.3;
  text-align: center;
  margin: 0.7em 0 0;
  z-index: 1;
}
.home .omtns-items .omtns-item .omtns-item-text {
  position: relative;
  margin: 0.7em 0 0;
  font-weight: 500;
  z-index: 1;
}
.home .event-items {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1em;
  padding: 2em 1.5em 0;
}
.home .event-items li {
  margin-top: 0;
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.home .event-items li::marker {
  content: none;
}
.home .crabs {
  position: absolute;
  width: 17.273%;
  top: -5%;
  margin-left: 72.5%;
}
.home .crabs .crabs-inner {
  position: relative;
  aspect-ratio: 76/41;
}
.home .crabs .crabs-inner img {
  display: block;
}
.home .crabs .crabs-inner .crab01 {
  position: absolute;
  width: 45%;
  bottom: 0;
  left: 0;
  animation-name: jumping;
  animation-duration: 3.2s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.home .crabs .crabs-inner .crab02 {
  position: absolute;
  width: 45%;
  top: 0;
  right: 0;
  animation-name: jumping;
  animation-duration: 3.2s;
  animation-delay: 1.5s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.home .crabs + .text-area {
  padding-top: 2em;
}
.home .btn-area {
  display: flex;
  justify-content: center;
  margin: 2em 0 0;
}
.home .btn-area .btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375em;
  background-color: #03903A;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  min-width: 13.625em;
  padding: 0.875em 1.5em 0.875em 1.125em;
  border-radius: 2em;
}
.home .btn-area .btn img {
  width: 1.25em;
}
.home .btn-area .btn.hover:hover {
  opacity: 0.5;
}
.home .btn-area .btn::after {
  display: none !important;
}
.home .btn-area .link-text {
  text-decoration: none;
  color: #333333;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.375em;
}
.home .btn-area .link-text::after {
  display: none;
}
.home .btn-area .link-text.hover:hover {
  opacity: 0.5;
}

.shopinfo .text-area {
  background-color: #fff;
  margin-inline: 10px;
  margin-top: 1.5em;
  border-radius: 0.5em;
  padding-block: 2em;
  padding-inline: calc(2em - 10px);
}

.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 lazyRiver {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-300%);
  }
}
@keyframes keepingTime {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes yurayura {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(15%);
  }
}
@keyframes yurayura2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(25%) rotate(15deg);
  }
}
@keyframes yurayura3 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(10%) translateY(-5%);
  }
}
@keyframes swim1 {
  0% {
    top: 0;
    left: 100%;
  }
  100% {
    top: 80%;
    left: -50%;
    transform: translateX(25%) rotate(15deg);
  }
}
@keyframes swim2 {
  0% {
    top: 0;
    right: 100%;
  }
  100% {
    top: 140%;
    right: -50%;
    transform: translateX(25%) rotate(15deg);
  }
}
@keyframes swim3 {
  0% {
    top: 40%;
    left: 100%;
  }
  100% {
    top: 90%;
    left: -50%;
    transform: translateX(25%) rotate(15deg);
  }
}
@keyframes swim4 {
  0% {
    top: 20%;
    left: 100%;
  }
  50% {
    transform: translateY(0) rotate(0);
  }
  75% {
    transform: translateY(70%) rotate(-15deg);
  }
  100% {
    top: 80%;
    left: -30%;
    transform: translateY(100%) rotate(-15deg);
  }
}
@keyframes jumping0 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes jumping {
  0% {
    transform: translateY(0);
  }
  5% {
    transform: translateY(-50%);
  }
  10% {
    transform: translateY(0);
  }
  15% {
    transform: translateY(-50%);
  }
  20% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(0);
  }
}
@keyframes jumping02 {
  0% {
    transform: translateY(0) rotate(-30deg);
  }
  50% {
    transform: translateY(-50%) rotate(-30deg);
  }
  100% {
    transform: translateY(0) rotate(-30deg);
  }
}
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceInUp {
  0% {
    opacity: 1;
    transform: translateY(40px);
  }
  60% {
    opacity: 1;
    transform: translateY(-5px); /* 少し行き過ぎて勢いを出す */
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes kurukuru {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes attsuL {
  0% {
    opacity: 0;
    transform: translate(0, 0);
  }
  50% {
    opacity: 1;
    transform: translate(-25%, 10%);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, 20%);
  }
}
@keyframes attsuR {
  0% {
    opacity: 0;
    transform: translate(0, 0) scale(-1, 1);
  }
  50% {
    opacity: 1;
    transform: translate(25%, 10%) scale(-1, 1);
  }
  100% {
    opacity: 0;
    transform: translate(50%, 20%) scale(-1, 1);
  }
}
@keyframes ikko {
  0% {
    opacity: 0;
    transform: scale(0) translateY(0);
  }
  40% {
    opacity: 0;
    transform: scale(0) translateY(0);
  }
  45% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
  90% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
  100% {
    opacity: 0;
    transform: scale(1) translateY(-20%);
  }
}
@keyframes kirakira {
  0% {
    opacity: 0;
  }
  40% {
    opacity: 1;
  }
  60% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes suzushii {
  0% {
    transform: scale(0) translateX(50%);
    opacity: 0;
  }
  15% {
    transform: scale(1) translateX(0);
    opacity: 1;
  }
  75% {
    transform: scale(1) translateX(0);
    opacity: 1;
  }
  90% {
    transform: scale(1) translateX(-10%);
    opacity: 0;
  }
  100% {
    transform: scale(1) translateX(-10%);
    opacity: 0;
  }
}
@keyframes hinyari {
  0% {
    transform: scale(0) translateY(70%);
    opacity: 0;
  }
  15% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
  75% {
    transform: scale(1) translateY(0);
    opacity: 1;
  }
  90% {
    transform: scale(1) translateY(-20%);
    opacity: 0;
  }
  100% {
    transform: scale(1) translateY(-20%);
    opacity: 0;
  }
}
/* 落下アニメ */
@keyframes fall {
  0% {
    transform: translateY(-10vh) rotate(0deg);
  }
  100% {
    transform: translateY(110vh) rotate(360deg);
  }
}
/* 左右にゆらゆら揺れる */
@keyframes sway {
  0% {
    margin-left: -50px; /* 揺れ幅も少し広く */
  }
  100% {
    margin-left: 50px;
  }
}
/* ふわっと出現 */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.9;
  }
}

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