@charset "UTF-8";
/* -- Color -- */
/* -- Fonts -- */
/* -- Margin -- */
/* -- @font-face -- */
/* -- Font around -- */
/* -- Prefix -- */
/* -- Media Screen -- */
/* -- Retina -- */
/* -- Flex -- */
/* -- Placeholder -- */
@import url(editor-style.css);
/* Web Fonts.
-------------------------------------------------------------- */
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/YakuHanJP-Regular.woff2") format("woff2"), url("../fonts/YakuHanJP-Regular.otf") format("opentype"), url("../fonts/YakuHanJP-Regular.ttf") format("truetype"); }
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/YakuHanJP-Bold.woff2") format("woff2"), url("../fonts/YakuHanJP-Bold.otf") format("opentype"), url("../fonts/YakuHanJP-Bold.ttf") format("truetype"); }
@font-face {
  font-family: "YakuHanMP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/YakuHanMP-Regular.woff2") format("woff2"), url("../fonts/YakuHanMP-Regular.otf") format("opentype"), url("../fonts/YakuHanMP-Regular.ttf") format("truetype"); }
@font-face {
  font-family: "YakuHanMP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/YakuHanMP-Bold.woff2") format("woff2"), url("../fonts/YakuHanMP-Bold.otf") format("opentype"), url("../fonts/YakuHanMP-Bold.ttf") format("truetype"); }
@font-face {
  font-family: "ShipporiMincho";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ShipporiMincho-Regular.woff2") format("woff2"), url("../fonts/ShipporiMincho-Regular.woff") format("woff"), url("../fonts/ShipporiMincho-Regular.eot") format("embedded-opentype"), url("../fonts/ShipporiMincho-Regular.ttf") format("truetype"); }
@font-face {
  font-family: "ShipporiMincho";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/ShipporiMincho-Bold.woff2") format("woff2"), url("../fonts/ShipporiMincho-Bold.woff") format("woff"), url("../fonts/ShipporiMincho-Bold.eot") format("embedded-opentype"), url("../fonts/ShipporiMincho-Bold.ttf") format("truetype"); }
/* Reset CSS.
-------------------------------------------------------------- */
:root {
  --vw: 1dvw; }

*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }
  *:first-child,
  *::before:first-child,
  *::after:first-child {
    margin-top: 0; }
  *:last-child,
  *::before:last-child,
  *::after:last-child {
    margin-bottom: 0; }

:where([hidden]:not([hidden='until-found'])) {
  display: none !important; }

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light; }

@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth; } }
:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased; }

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit; }

:where(textarea) {
  resize: vertical;
  resize: block; }

:where(button, label, select, summary, [role='button'], [role='option']) {
  cursor: pointer; }

:where(:disabled) {
  cursor: not-allowed; }

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed; }

:where(button) {
  border-style: solid; }

:where(a) {
  color: inherit;
  text-underline-offset: 0.2ex; }

:where(ul, ol) {
  list-style: none; }

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block; }

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto; }

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word; }

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem); }

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible; }

:where(address) {
  font-style: normal; }

:where(:focus-visible) {
  outline: 3px solid Highlight;
  outline-offset: 2px;
  scroll-margin-block: 10vh; }

:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important; }

/* フォント設定
------------------------------------------------------------*/
html {
  font-size: clamp(14px, calc( 14px + ( 16 - 14 ) * ( ( 100dvw - 390px ) / ( 1920 - 390 ) ) ), 16px); }

body {
  font-family: "ShipporiMincho", "Hiragino Mincho ProN", "YuMincho", "Yu Mincho", "MS PMincho", serif;
  font-size: 1.0em;
  color: #3e3a39;
  line-height: 1;
  background: #FFFFFF;
  word-wrap: break-word;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%; }

h2, h3, h4, h5, h6 {
  line-height: 1.6;
  letter-spacing: 0.2em; }

p {
  line-height: 2.0;
  letter-spacing: 0.2em;
  margin-bottom: 2.0em; }
  p:last-child {
    margin-bottom: 0; }

.bold, strong {
  font-weight: bold; }

.italic {
  font-style: italic; }

.underline {
  text-decoration: underline; }

/* リンク設定
------------------------------------------------------------*/
a {
  color: #e50012;
  vertical-align: baseline;
  text-decoration: underline;
  outline: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  -webkit-transition: 0.4s ease-out;
  -moz-transition: 0.4s ease-out;
  -ms-transition: 0.4s ease-out;
  -o-transition: 0.4s ease-out;
  transition: 0.4s ease-out; }
  a img {
    -webkit-transition: 0.4s ease-out;
    -moz-transition: 0.4s ease-out;
    -ms-transition: 0.4s ease-out;
    -o-transition: 0.4s ease-out;
    transition: 0.4s ease-out; }
  a:hover, a:active {
    text-decoration: none;
    outline: none; }
    a:hover img, a:active img {
      opacity: 0.6; }

/* 配置指定
------------------------------------------------------------*/
.aligncenter {
  margin-right: auto;
  margin-left: auto; }

.alignright {
  margin-left: auto; }

.alignleft {
  margin-right: auto; }

img.aligncenter {
  display: block;
  margin: 1.0em auto; }
img.alignright, img.alignleft {
  display: inline;
  margin-bottom: 1.0em; }
img.alignright {
  margin-left: 1.25em;
  float: right; }
img.alignleft {
  margin-right: 1.25em;
  float: left; }

/* -- text-align -- */
.text-center {
  text-align: center; }

.text-right {
  text-align: right; }

.text-left {
  text-align: left; }

/* Clearfix
------------------------------------------------------------*/
.cf::after {
  content: "";
  display: table;
  clear: both; }

/* フォームタグ
------------------------------------------------------------*/
input[type="text"],
input[type="tel"],
input[type="number"],
input[type="email"],
textarea,
select {
  font-family: inherit;
  font-size: 16px;
  color: inherit;
  line-height: 32px;
  vertical-align: middle;
  width: 100%;
  height: 44px;
  padding: 6px 1.0em;
  background-color: #FFFFFF;
  border: 1px solid #DDDDDD;
  border-radius: 0.375em; }
  input[type="text"]::placeholder,
  input[type="tel"]::placeholder,
  input[type="number"]::placeholder,
  input[type="email"]::placeholder,
  textarea::placeholder,
  select::placeholder {
    color: #999; }
  input[type="text"]:-ms-input-placeholder,
  input[type="tel"]:-ms-input-placeholder,
  input[type="number"]:-ms-input-placeholder,
  input[type="email"]:-ms-input-placeholder,
  textarea:-ms-input-placeholder,
  select:-ms-input-placeholder {
    color: #999; }
  input[type="text"]::-ms-input-placeholder,
  input[type="tel"]::-ms-input-placeholder,
  input[type="number"]::-ms-input-placeholder,
  input[type="email"]::-ms-input-placeholder,
  textarea::-ms-input-placeholder,
  select::-ms-input-placeholder {
    color: #999; }
  input[type="text"][readonly],
  input[type="tel"][readonly],
  input[type="number"][readonly],
  input[type="email"][readonly],
  textarea[readonly],
  select[readonly] {
    height: auto;
    padding: 0;
    border: none;
    border-radius: 0; }

input[type="text"],
input[type="tel"],
input[type="number"],
input[type="email"],
textarea {
  appearance: none; }

textarea {
  line-height: 2.0;
  letter-spacing: 0.04em;
  height: 250px; }

/* -- Select -- */
select {
  cursor: pointer; }

/* -- radio & checkbox -- */
input[type="radio"],
input[type="checkbox"] {
  display: none; }
  input[type="radio"] + span,
  input[type="checkbox"] + span {
    position: relative;
    display: inline-block;
    line-height: 1.4;
    padding-left: 2.0em;
    cursor: pointer; }
    input[type="radio"] + span::before, input[type="radio"] + span::after,
    input[type="checkbox"] + span::before,
    input[type="checkbox"] + span::after {
      position: absolute;
      top: 0;
      bottom: 0;
      content: "";
      display: block;
      margin: auto;
      -webkit-transition: 0.4s ease-out;
      -moz-transition: 0.4s ease-out;
      -ms-transition: 0.4s ease-out;
      -o-transition: 0.4s ease-out;
      transition: 0.4s ease-out; }
    input[type="radio"] + span::before,
    input[type="checkbox"] + span::before {
      left: 0;
      width: 1.5em;
      height: 1.5em;
      background-color: #FFFFFF;
      border: 1px solid #DDDDDD; }
    input[type="radio"] + span::after,
    input[type="checkbox"] + span::after {
      opacity: 0; }
  input[type="radio"]:checked + span::before,
  input[type="checkbox"]:checked + span::before {
    border-color: #3e3a39; }
  input[type="radio"]:checked + span::after,
  input[type="checkbox"]:checked + span::after {
    opacity: 1.0; }

input[type="radio"] + span::before, input[type="radio"] + span::after {
  border-radius: 50%; }
input[type="radio"] + span::after {
  left: 0.375em;
  width: 0.75em;
  height: 0.75em;
  background-color: #3e3a39; }

input[type="checkbox"] + span::before {
  border-radius: 0.375em; }
input[type="checkbox"] + span::after {
  top: 0.25em;
  bottom: auto;
  left: 0.25em;
  width: 0.75em;
  height: 0.75em;
  background-color: #3e3a39;
  clip-path: polygon(80% 0, 100% 0, 100% 100%, 50% 100%, 50% 80%, 80% 80%);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg); }

/* -- Submit -- */
[type="submit"] {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5em 1.0em;
  font-family: inherit;
  font-weight: bold;
  color: #FFFFFF;
  line-height: 1.4;
  letter-spacing: 0.2em;
  text-align: center;
  width: 100%;
  max-width: 320px;
  height: 60px;
  margin: 0;
  padding: 1.0em 1.5em;
  background-color: #3e3a39;
  border: none;
  cursor: pointer;
  appearance: none;
  -webkit-transition: 0.4s ease-out;
  -moz-transition: 0.4s ease-out;
  -ms-transition: 0.4s ease-out;
  -o-transition: 0.4s ease-out;
  transition: 0.4s ease-out; }
  [type="submit"][disabled] {
    opacity: 0.2; }
  [type="submit"]:not([disabled]):hover {
    background-color: #e50012; }

/* -- Google reCaptcha v3 -- */
.grecaptcha-badge {
  visibility: hidden; }
