@charset "UTF-8";
/*
Theme Name:origin
Description:origin template
Version:1.0
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-padding-start: 0;
  line-height: 1;
  -webkit-text-size-adjust: none;
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0; }

ol,
ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

input[type="password"],
input[type="text"],
input[type="submit"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="button"],
button,
textarea,
select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

:root {
  --primary-color: #004494;
  --secondary-color: #f4f4f4;
  --accent-color: #ff9900;
  --text-color: #333333;
  --link-color: #333333;
  --bg-color: #ffffff; }

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  border: none; }

body, html {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  font-family: "LINE Seed JP", sans-serif;
  min-height: 100vh;
  scroll-behavior: smooth; }

a {
  font-size: inherit;
  color: inherit;
  text-decoration: inherit;
  display: inline-block; }

p {
  color: var(--text-color);
  line-height: 1.6;
  font-weight: 400; }
  p.center {
    text-align: center; }
  p.right {
    text-align: right; }

p > a {
  display: inline-block;
  color: var(--accent-color);
  font-weight: 700;
  border-bottom: 3px solid var(--accent-color); }

button {
  cursor: pointer; }

* {
  box-sizing: border-box; }

@media screen and (max-width: 1200px) {
  .hide--1200 {
    display: none !important; } }

@media screen and (max-width: 1120px) {
  .hide--1120 {
    display: none !important; } }

@media screen and (max-width: 1040px) {
  .hide--1040 {
    display: none !important; } }

@media screen and (max-width: 960px) {
  .hide--960 {
    display: none !important; } }

@media screen and (max-width: 880px) {
  .hide--880 {
    display: none !important; } }

@media screen and (max-width: 800px) {
  .hide--800 {
    display: none !important; } }

@media screen and (max-width: 720px) {
  .hide--720 {
    display: none !important; } }

@media screen and (max-width: 640px) {
  .hide--640 {
    display: none !important; } }

@media screen and (max-width: 560px) {
  .hide--560 {
    display: none !important; } }

@media screen and (max-width: 480px) {
  .hide--480 {
    display: none !important; } }

@media screen and (max-width: 1200px) {
  .show--1200.block {
    display: block !important; }
  .show--1200.flex {
    display: flex !important; } }

@media screen and (max-width: 1120px) {
  .show--1120.block {
    display: block !important; }
  .show--1120.flex {
    display: flex !important; } }

@media screen and (max-width: 1040px) {
  .show--1040.block {
    display: block !important; }
  .show--1040.flex {
    display: flex !important; } }

@media screen and (max-width: 960px) {
  .show--960.block {
    display: block !important; }
  .show--960.flex {
    display: flex !important; } }

@media screen and (max-width: 880px) {
  .show--880.block {
    display: block !important; }
  .show--880.flex {
    display: flex !important; } }

@media screen and (max-width: 800px) {
  .show--800.block {
    display: block !important; }
  .show--800.flex {
    display: flex !important; } }

@media screen and (max-width: 720px) {
  .show--720.block {
    display: block !important; }
  .show--720.flex {
    display: flex !important; } }

@media screen and (max-width: 640px) {
  .show--640.block {
    display: block !important; }
  .show--640.flex {
    display: flex !important; } }

@media screen and (max-width: 560px) {
  .show--560.block {
    display: block !important; }
  .show--560.flex {
    display: flex !important; } }

@media screen and (max-width: 480px) {
  .show--480.block {
    display: block !important; }
  .show--480.flex {
    display: flex !important; } }

.u-m-0 {
  margin: 0px !important; }

.u-p-0 {
  padding: 0px !important; }

.u-mt-0 {
  margin-top: 0px !important; }

.u-pt-0 {
  padding-top: 0px !important; }

.u-mb-0 {
  margin-bottom: 0px !important; }

.u-pb-0 {
  padding-bottom: 0px !important; }

.u-ml-0 {
  margin-left: 0px !important; }

.u-pl-0 {
  padding-left: 0px !important; }

.u-mr-0 {
  margin-right: 0px !important; }

.u-pr-0 {
  padding-right: 0px !important; }

.u-m-5 {
  margin: 5px !important; }

.u-p-5 {
  padding: 5px !important; }

.u-mt-5 {
  margin-top: 5px !important; }

.u-pt-5 {
  padding-top: 5px !important; }

.u-mb-5 {
  margin-bottom: 5px !important; }

.u-pb-5 {
  padding-bottom: 5px !important; }

.u-ml-5 {
  margin-left: 5px !important; }

.u-pl-5 {
  padding-left: 5px !important; }

.u-mr-5 {
  margin-right: 5px !important; }

.u-pr-5 {
  padding-right: 5px !important; }

.u-m-10 {
  margin: 10px !important; }

.u-p-10 {
  padding: 10px !important; }

.u-mt-10 {
  margin-top: 10px !important; }

.u-pt-10 {
  padding-top: 10px !important; }

.u-mb-10 {
  margin-bottom: 10px !important; }

.u-pb-10 {
  padding-bottom: 10px !important; }

.u-ml-10 {
  margin-left: 10px !important; }

.u-pl-10 {
  padding-left: 10px !important; }

.u-mr-10 {
  margin-right: 10px !important; }

.u-pr-10 {
  padding-right: 10px !important; }

.u-m-15 {
  margin: 15px !important; }

.u-p-15 {
  padding: 15px !important; }

.u-mt-15 {
  margin-top: 15px !important; }

.u-pt-15 {
  padding-top: 15px !important; }

.u-mb-15 {
  margin-bottom: 15px !important; }

.u-pb-15 {
  padding-bottom: 15px !important; }

.u-ml-15 {
  margin-left: 15px !important; }

.u-pl-15 {
  padding-left: 15px !important; }

.u-mr-15 {
  margin-right: 15px !important; }

.u-pr-15 {
  padding-right: 15px !important; }

.u-m-20 {
  margin: 20px !important; }

.u-p-20 {
  padding: 20px !important; }

.u-mt-20 {
  margin-top: 20px !important; }

.u-pt-20 {
  padding-top: 20px !important; }

.u-mb-20 {
  margin-bottom: 20px !important; }

.u-pb-20 {
  padding-bottom: 20px !important; }

.u-ml-20 {
  margin-left: 20px !important; }

.u-pl-20 {
  padding-left: 20px !important; }

.u-mr-20 {
  margin-right: 20px !important; }

.u-pr-20 {
  padding-right: 20px !important; }

.u-m-30 {
  margin: 30px !important; }

.u-p-30 {
  padding: 30px !important; }

.u-mt-30 {
  margin-top: 30px !important; }

.u-pt-30 {
  padding-top: 30px !important; }

.u-mb-30 {
  margin-bottom: 30px !important; }

.u-pb-30 {
  padding-bottom: 30px !important; }

.u-ml-30 {
  margin-left: 30px !important; }

.u-pl-30 {
  padding-left: 30px !important; }

.u-mr-30 {
  margin-right: 30px !important; }

.u-pr-30 {
  padding-right: 30px !important; }

.u-m-40 {
  margin: 40px !important; }

.u-p-40 {
  padding: 40px !important; }

.u-mt-40 {
  margin-top: 40px !important; }

.u-pt-40 {
  padding-top: 40px !important; }

.u-mb-40 {
  margin-bottom: 40px !important; }

.u-pb-40 {
  padding-bottom: 40px !important; }

.u-ml-40 {
  margin-left: 40px !important; }

.u-pl-40 {
  padding-left: 40px !important; }

.u-mr-40 {
  margin-right: 40px !important; }

.u-pr-40 {
  padding-right: 40px !important; }

.u-m-50 {
  margin: 50px !important; }

.u-p-50 {
  padding: 50px !important; }

.u-mt-50 {
  margin-top: 50px !important; }

.u-pt-50 {
  padding-top: 50px !important; }

.u-mb-50 {
  margin-bottom: 50px !important; }

.u-pb-50 {
  padding-bottom: 50px !important; }

.u-ml-50 {
  margin-left: 50px !important; }

.u-pl-50 {
  padding-left: 50px !important; }

.u-mr-50 {
  margin-right: 50px !important; }

.u-pr-50 {
  padding-right: 50px !important; }

.u-m-60 {
  margin: 60px !important; }

.u-p-60 {
  padding: 60px !important; }

.u-mt-60 {
  margin-top: 60px !important; }

.u-pt-60 {
  padding-top: 60px !important; }

.u-mb-60 {
  margin-bottom: 60px !important; }

.u-pb-60 {
  padding-bottom: 60px !important; }

.u-ml-60 {
  margin-left: 60px !important; }

.u-pl-60 {
  padding-left: 60px !important; }

.u-mr-60 {
  margin-right: 60px !important; }

.u-pr-60 {
  padding-right: 60px !important; }

.u-m-80 {
  margin: 80px !important; }

.u-p-80 {
  padding: 80px !important; }

.u-mt-80 {
  margin-top: 80px !important; }

.u-pt-80 {
  padding-top: 80px !important; }

.u-mb-80 {
  margin-bottom: 80px !important; }

.u-pb-80 {
  padding-bottom: 80px !important; }

.u-ml-80 {
  margin-left: 80px !important; }

.u-pl-80 {
  padding-left: 80px !important; }

.u-mr-80 {
  margin-right: 80px !important; }

.u-pr-80 {
  padding-right: 80px !important; }

.u-m-100 {
  margin: 100px !important; }

.u-p-100 {
  padding: 100px !important; }

.u-mt-100 {
  margin-top: 100px !important; }

.u-pt-100 {
  padding-top: 100px !important; }

.u-mb-100 {
  margin-bottom: 100px !important; }

.u-pb-100 {
  padding-bottom: 100px !important; }

.u-ml-100 {
  margin-left: 100px !important; }

.u-pl-100 {
  padding-left: 100px !important; }

.u-mr-100 {
  margin-right: 100px !important; }

.u-pr-100 {
  padding-right: 100px !important; }

.u-w-5 {
  width: 5% !important; }

.u-w-10 {
  width: 10% !important; }

.u-w-15 {
  width: 15% !important; }

.u-w-20 {
  width: 20% !important; }

.u-w-25 {
  width: 25% !important; }

.u-w-30 {
  width: 30% !important; }

.u-w-35 {
  width: 35% !important; }

.u-w-40 {
  width: 40% !important; }

.u-w-45 {
  width: 45% !important; }

.u-w-50 {
  width: 50% !important; }

.u-w-55 {
  width: 55% !important; }

.u-w-60 {
  width: 60% !important; }

.u-w-65 {
  width: 65% !important; }

.u-w-70 {
  width: 70% !important; }

.u-w-75 {
  width: 75% !important; }

.u-w-80 {
  width: 80% !important; }

.u-w-85 {
  width: 85% !important; }

.u-w-90 {
  width: 90% !important; }

.u-w-95 {
  width: 95% !important; }

.u-w-100 {
  width: 100% !important; }

.u-w-33 {
  width: 33.333% !important; }

.u-w-66 {
  width: 66.666% !important; }

@media screen and (max-width: 1200px) {
  .u-w-5--1200 {
    width: 5 * 1% !important; }

  .u-w-10--1200 {
    width: 10 * 1% !important; }

  .u-w-15--1200 {
    width: 15 * 1% !important; }

  .u-w-20--1200 {
    width: 20 * 1% !important; }

  .u-w-25--1200 {
    width: 25 * 1% !important; }

  .u-w-30--1200 {
    width: 30 * 1% !important; }

  .u-w-35--1200 {
    width: 35 * 1% !important; }

  .u-w-40--1200 {
    width: 40 * 1% !important; }

  .u-w-45--1200 {
    width: 45 * 1% !important; }

  .u-w-50--1200 {
    width: 50 * 1% !important; }

  .u-w-55--1200 {
    width: 55 * 1% !important; }

  .u-w-60--1200 {
    width: 60 * 1% !important; }

  .u-w-65--1200 {
    width: 65 * 1% !important; }

  .u-w-70--1200 {
    width: 70 * 1% !important; }

  .u-w-75--1200 {
    width: 75 * 1% !important; }

  .u-w-80--1200 {
    width: 80 * 1% !important; }

  .u-w-85--1200 {
    width: 85 * 1% !important; }

  .u-w-90--1200 {
    width: 90 * 1% !important; }

  .u-w-95--1200 {
    width: 95 * 1% !important; }

  .u-w-100--1200 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 1120px) {
  .u-w-5--1120 {
    width: 5 * 1% !important; }

  .u-w-10--1120 {
    width: 10 * 1% !important; }

  .u-w-15--1120 {
    width: 15 * 1% !important; }

  .u-w-20--1120 {
    width: 20 * 1% !important; }

  .u-w-25--1120 {
    width: 25 * 1% !important; }

  .u-w-30--1120 {
    width: 30 * 1% !important; }

  .u-w-35--1120 {
    width: 35 * 1% !important; }

  .u-w-40--1120 {
    width: 40 * 1% !important; }

  .u-w-45--1120 {
    width: 45 * 1% !important; }

  .u-w-50--1120 {
    width: 50 * 1% !important; }

  .u-w-55--1120 {
    width: 55 * 1% !important; }

  .u-w-60--1120 {
    width: 60 * 1% !important; }

  .u-w-65--1120 {
    width: 65 * 1% !important; }

  .u-w-70--1120 {
    width: 70 * 1% !important; }

  .u-w-75--1120 {
    width: 75 * 1% !important; }

  .u-w-80--1120 {
    width: 80 * 1% !important; }

  .u-w-85--1120 {
    width: 85 * 1% !important; }

  .u-w-90--1120 {
    width: 90 * 1% !important; }

  .u-w-95--1120 {
    width: 95 * 1% !important; }

  .u-w-100--1120 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 1040px) {
  .u-w-5--1040 {
    width: 5 * 1% !important; }

  .u-w-10--1040 {
    width: 10 * 1% !important; }

  .u-w-15--1040 {
    width: 15 * 1% !important; }

  .u-w-20--1040 {
    width: 20 * 1% !important; }

  .u-w-25--1040 {
    width: 25 * 1% !important; }

  .u-w-30--1040 {
    width: 30 * 1% !important; }

  .u-w-35--1040 {
    width: 35 * 1% !important; }

  .u-w-40--1040 {
    width: 40 * 1% !important; }

  .u-w-45--1040 {
    width: 45 * 1% !important; }

  .u-w-50--1040 {
    width: 50 * 1% !important; }

  .u-w-55--1040 {
    width: 55 * 1% !important; }

  .u-w-60--1040 {
    width: 60 * 1% !important; }

  .u-w-65--1040 {
    width: 65 * 1% !important; }

  .u-w-70--1040 {
    width: 70 * 1% !important; }

  .u-w-75--1040 {
    width: 75 * 1% !important; }

  .u-w-80--1040 {
    width: 80 * 1% !important; }

  .u-w-85--1040 {
    width: 85 * 1% !important; }

  .u-w-90--1040 {
    width: 90 * 1% !important; }

  .u-w-95--1040 {
    width: 95 * 1% !important; }

  .u-w-100--1040 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 960px) {
  .u-w-5--960 {
    width: 5 * 1% !important; }

  .u-w-10--960 {
    width: 10 * 1% !important; }

  .u-w-15--960 {
    width: 15 * 1% !important; }

  .u-w-20--960 {
    width: 20 * 1% !important; }

  .u-w-25--960 {
    width: 25 * 1% !important; }

  .u-w-30--960 {
    width: 30 * 1% !important; }

  .u-w-35--960 {
    width: 35 * 1% !important; }

  .u-w-40--960 {
    width: 40 * 1% !important; }

  .u-w-45--960 {
    width: 45 * 1% !important; }

  .u-w-50--960 {
    width: 50 * 1% !important; }

  .u-w-55--960 {
    width: 55 * 1% !important; }

  .u-w-60--960 {
    width: 60 * 1% !important; }

  .u-w-65--960 {
    width: 65 * 1% !important; }

  .u-w-70--960 {
    width: 70 * 1% !important; }

  .u-w-75--960 {
    width: 75 * 1% !important; }

  .u-w-80--960 {
    width: 80 * 1% !important; }

  .u-w-85--960 {
    width: 85 * 1% !important; }

  .u-w-90--960 {
    width: 90 * 1% !important; }

  .u-w-95--960 {
    width: 95 * 1% !important; }

  .u-w-100--960 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 880px) {
  .u-w-5--880 {
    width: 5 * 1% !important; }

  .u-w-10--880 {
    width: 10 * 1% !important; }

  .u-w-15--880 {
    width: 15 * 1% !important; }

  .u-w-20--880 {
    width: 20 * 1% !important; }

  .u-w-25--880 {
    width: 25 * 1% !important; }

  .u-w-30--880 {
    width: 30 * 1% !important; }

  .u-w-35--880 {
    width: 35 * 1% !important; }

  .u-w-40--880 {
    width: 40 * 1% !important; }

  .u-w-45--880 {
    width: 45 * 1% !important; }

  .u-w-50--880 {
    width: 50 * 1% !important; }

  .u-w-55--880 {
    width: 55 * 1% !important; }

  .u-w-60--880 {
    width: 60 * 1% !important; }

  .u-w-65--880 {
    width: 65 * 1% !important; }

  .u-w-70--880 {
    width: 70 * 1% !important; }

  .u-w-75--880 {
    width: 75 * 1% !important; }

  .u-w-80--880 {
    width: 80 * 1% !important; }

  .u-w-85--880 {
    width: 85 * 1% !important; }

  .u-w-90--880 {
    width: 90 * 1% !important; }

  .u-w-95--880 {
    width: 95 * 1% !important; }

  .u-w-100--880 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 800px) {
  .u-w-5--800 {
    width: 5 * 1% !important; }

  .u-w-10--800 {
    width: 10 * 1% !important; }

  .u-w-15--800 {
    width: 15 * 1% !important; }

  .u-w-20--800 {
    width: 20 * 1% !important; }

  .u-w-25--800 {
    width: 25 * 1% !important; }

  .u-w-30--800 {
    width: 30 * 1% !important; }

  .u-w-35--800 {
    width: 35 * 1% !important; }

  .u-w-40--800 {
    width: 40 * 1% !important; }

  .u-w-45--800 {
    width: 45 * 1% !important; }

  .u-w-50--800 {
    width: 50 * 1% !important; }

  .u-w-55--800 {
    width: 55 * 1% !important; }

  .u-w-60--800 {
    width: 60 * 1% !important; }

  .u-w-65--800 {
    width: 65 * 1% !important; }

  .u-w-70--800 {
    width: 70 * 1% !important; }

  .u-w-75--800 {
    width: 75 * 1% !important; }

  .u-w-80--800 {
    width: 80 * 1% !important; }

  .u-w-85--800 {
    width: 85 * 1% !important; }

  .u-w-90--800 {
    width: 90 * 1% !important; }

  .u-w-95--800 {
    width: 95 * 1% !important; }

  .u-w-100--800 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 720px) {
  .u-w-5--720 {
    width: 5 * 1% !important; }

  .u-w-10--720 {
    width: 10 * 1% !important; }

  .u-w-15--720 {
    width: 15 * 1% !important; }

  .u-w-20--720 {
    width: 20 * 1% !important; }

  .u-w-25--720 {
    width: 25 * 1% !important; }

  .u-w-30--720 {
    width: 30 * 1% !important; }

  .u-w-35--720 {
    width: 35 * 1% !important; }

  .u-w-40--720 {
    width: 40 * 1% !important; }

  .u-w-45--720 {
    width: 45 * 1% !important; }

  .u-w-50--720 {
    width: 50 * 1% !important; }

  .u-w-55--720 {
    width: 55 * 1% !important; }

  .u-w-60--720 {
    width: 60 * 1% !important; }

  .u-w-65--720 {
    width: 65 * 1% !important; }

  .u-w-70--720 {
    width: 70 * 1% !important; }

  .u-w-75--720 {
    width: 75 * 1% !important; }

  .u-w-80--720 {
    width: 80 * 1% !important; }

  .u-w-85--720 {
    width: 85 * 1% !important; }

  .u-w-90--720 {
    width: 90 * 1% !important; }

  .u-w-95--720 {
    width: 95 * 1% !important; }

  .u-w-100--720 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 640px) {
  .u-w-5--640 {
    width: 5 * 1% !important; }

  .u-w-10--640 {
    width: 10 * 1% !important; }

  .u-w-15--640 {
    width: 15 * 1% !important; }

  .u-w-20--640 {
    width: 20 * 1% !important; }

  .u-w-25--640 {
    width: 25 * 1% !important; }

  .u-w-30--640 {
    width: 30 * 1% !important; }

  .u-w-35--640 {
    width: 35 * 1% !important; }

  .u-w-40--640 {
    width: 40 * 1% !important; }

  .u-w-45--640 {
    width: 45 * 1% !important; }

  .u-w-50--640 {
    width: 50 * 1% !important; }

  .u-w-55--640 {
    width: 55 * 1% !important; }

  .u-w-60--640 {
    width: 60 * 1% !important; }

  .u-w-65--640 {
    width: 65 * 1% !important; }

  .u-w-70--640 {
    width: 70 * 1% !important; }

  .u-w-75--640 {
    width: 75 * 1% !important; }

  .u-w-80--640 {
    width: 80 * 1% !important; }

  .u-w-85--640 {
    width: 85 * 1% !important; }

  .u-w-90--640 {
    width: 90 * 1% !important; }

  .u-w-95--640 {
    width: 95 * 1% !important; }

  .u-w-100--640 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 560px) {
  .u-w-5--560 {
    width: 5 * 1% !important; }

  .u-w-10--560 {
    width: 10 * 1% !important; }

  .u-w-15--560 {
    width: 15 * 1% !important; }

  .u-w-20--560 {
    width: 20 * 1% !important; }

  .u-w-25--560 {
    width: 25 * 1% !important; }

  .u-w-30--560 {
    width: 30 * 1% !important; }

  .u-w-35--560 {
    width: 35 * 1% !important; }

  .u-w-40--560 {
    width: 40 * 1% !important; }

  .u-w-45--560 {
    width: 45 * 1% !important; }

  .u-w-50--560 {
    width: 50 * 1% !important; }

  .u-w-55--560 {
    width: 55 * 1% !important; }

  .u-w-60--560 {
    width: 60 * 1% !important; }

  .u-w-65--560 {
    width: 65 * 1% !important; }

  .u-w-70--560 {
    width: 70 * 1% !important; }

  .u-w-75--560 {
    width: 75 * 1% !important; }

  .u-w-80--560 {
    width: 80 * 1% !important; }

  .u-w-85--560 {
    width: 85 * 1% !important; }

  .u-w-90--560 {
    width: 90 * 1% !important; }

  .u-w-95--560 {
    width: 95 * 1% !important; }

  .u-w-100--560 {
    width: 100 * 1% !important; } }
@media screen and (max-width: 480px) {
  .u-w-5--480 {
    width: 5 * 1% !important; }

  .u-w-10--480 {
    width: 10 * 1% !important; }

  .u-w-15--480 {
    width: 15 * 1% !important; }

  .u-w-20--480 {
    width: 20 * 1% !important; }

  .u-w-25--480 {
    width: 25 * 1% !important; }

  .u-w-30--480 {
    width: 30 * 1% !important; }

  .u-w-35--480 {
    width: 35 * 1% !important; }

  .u-w-40--480 {
    width: 40 * 1% !important; }

  .u-w-45--480 {
    width: 45 * 1% !important; }

  .u-w-50--480 {
    width: 50 * 1% !important; }

  .u-w-55--480 {
    width: 55 * 1% !important; }

  .u-w-60--480 {
    width: 60 * 1% !important; }

  .u-w-65--480 {
    width: 65 * 1% !important; }

  .u-w-70--480 {
    width: 70 * 1% !important; }

  .u-w-75--480 {
    width: 75 * 1% !important; }

  .u-w-80--480 {
    width: 80 * 1% !important; }

  .u-w-85--480 {
    width: 85 * 1% !important; }

  .u-w-90--480 {
    width: 90 * 1% !important; }

  .u-w-95--480 {
    width: 95 * 1% !important; }

  .u-w-100--480 {
    width: 100 * 1% !important; } }
.wrap {
  padding-top: 60px; }

.wrap--top {
  padding-top: 0; }

#top {
  position: absolute;
  top: 0; }

.header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 999999; }
  .header .inner {
    width: 100%;
    height: 80px;
    margin: auto;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center; }
    .header .inner .navi > li {
      display: block;
      float: right; }
      .header .inner .navi > li > a {
        display: block;
        box-sizing: border-box;
        height: 80px;
        line-height: 80px;
        font-size: 1rem;
        font-weight: bold;
        padding: 0 20px;
        text-align: center;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        transition: all 0.3s; }
        .header .inner .navi > li > a:hover {
          -webkit-transition: all 0.3s;
          -moz-transition: all 0.3s;
          transition: all 0.3s; }
      @media screen and (max-width: 720px) {
        .header .inner .navi > li {
          display: none; } }
    .header .inner .navi__sp {
      display: none; }
      @media screen and (max-width: 720px) {
        .header .inner .navi__sp {
          position: absolute;
          top: 60px;
          width: 100%;
          left: 0;
          z-index: 9999; }
          .header .inner .navi__sp > li:last-child {
            border-bottom: none; }
          .header .inner .navi__sp > li > a, .header .inner .navi__sp > li span {
            display: block;
            padding: 30px 15px;
            box-sizing: border-box;
            font-size: 1.2rem;
            position: relative; }
            .header .inner .navi__sp > li > a:after, .header .inner .navi__sp > li span:after {
              content: "\f0da";
              font-family: "Font Awesome 5 Free";
              font-weight: 900;
              font-size: 1.2rem;
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              margin: auto;
              top: 0;
              bottom: 0;
              right: 5px; }
            .header .inner .navi__sp > li > a.open:after, .header .inner .navi__sp > li span.open:after {
              content: "\f0d7";
              font-family: "Font Awesome 5 Free";
              font-weight: 900;
              font-size: 1.2rem;
              display: block;
              width: 1.2rem;
              height: 1.2rem;
              position: absolute;
              margin: auto;
              top: 0;
              bottom: 0;
              right: 5px; } }
    .header .inner > .logo {
      max-width: 20%; }
      @media screen and (max-width: 720px) {
        .header .inner > .logo {
          width: auto;
          max-width: 100%;
          display: inline-block; }
          .header .inner > .logo img {
            width: auto; } }
      .header .inner > .logo a {
        display: block;
        padding: 15px; }
        @media screen and (max-width: 720px) {
          .header .inner > .logo a {
            padding: 10px; } }
    .header .inner > .toggle {
      display: none; }
      @media screen and (max-width: 720px) {
        .header .inner > .toggle {
          display: block;
          width: 40px;
          height: 36px;
          position: absolute;
          top: 14px;
          right: 10px;
          z-index: 100; }
          .header .inner > .toggle div {
            position: relative; }
          .header .inner > .toggle span {
            display: block;
            height: 2px;
            position: absolute;
            width: 100%;
            left: 0;
            -webkit-transition: 0.5s ease-in-out;
            -moz-transition: 0.5s ease-in-out;
            transition: 0.5s ease-in-out; }
            .header .inner > .toggle span:nth-child(1) {
              top: 0px; }
            .header .inner > .toggle span:nth-child(2) {
              top: 14px; }
            .header .inner > .toggle span:nth-child(3) {
              top: 28px; } }

.header.open .toggle span:nth-child(1) {
  top: 12px;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  transform: rotate(135deg); }
.header.open .toggle span:nth-child(2) {
  width: 0;
  left: 50%; }
.header.open .toggle span:nth-child(3) {
  top: 12px;
  -webkit-transform: rotate(-135deg);
  -moz-transform: rotate(-135deg);
  transform: rotate(-135deg); }

.navi__header {
  width: 100%;
  height: auto;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  position: fixed;
  height: 60px;
  top: 0;
  left: 0;
  padding: 0;
  z-index: 999;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: space-between; }
  .navi__header .logo {
    background: none;
    padding: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-basis: 300px;
    flex-grow: 1;
    flex-shrink: 0;
    height: 100%; }
    .navi__header .logo p, .navi__header .logo a {
      display: block;
      font-size: 1.1rem;
      color: var(--text-color);
      text-align: center;
      letter-spacing: 0.5rem; }
    @media screen and (max-width: 720px) {
      .navi__header .logo {
        flex-basis: 50%;
        padding: 15px 5px; }
        .navi__header .logo p, .navi__header .logo a {
          font-size: 1rem; } }
  .navi__header .menu {
    height: 100%;
    flex-basis: 100%;
    flex-grow: 0;
    flex-shrink: 1;
    display: flex;
    background: none;
    align-items: center;
    justify-content: flex-end; }
    .navi__header .menu .menu__gloval {
      display: flex;
      align-items: center;
      justify-content: flex-end; }
      .navi__header .menu .menu__gloval a {
        display: flex;
        flex-grow: 0;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: 1.1rem;
        text-align: center;
        padding: 20px 30px;
        letter-spacing: 0.2rem;
        transition: color 0.5s ease;
        position: relative; }
        @media screen and (max-width: 720px) {
          .navi__header .menu .menu__gloval a {
            padding: 20px 5px;
            width: 60px;
            height: 60px; } }
        .navi__header .menu .menu__gloval a:hover::after {
          transform: scaleX(1);
          transform-origin: left; }
        .navi__header .menu .menu__gloval a:after {
          position: absolute;
          top: 0;
          left: 0;
          content: "";
          display: block;
          width: 100%;
          height: 100%;
          background: rgba(255, 255, 255, 0.2);
          transform: scaleX(0);
          transform-origin: right;
          transition: all 0.5s ease;
          transition-property: transform; }
        .navi__header .menu .menu__gloval a:before {
          content: '';
          width: 20px;
          height: 20px;
          margin-right: 10px;
          background-size: contain;
          background-position: center;
          background-repeat: no-repeat; }
          @media screen and (max-width: 720px) {
            .navi__header .menu .menu__gloval a:before {
              width: 24px;
              height: 24px;
              margin: auto;
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              right: 0; } }
      @media screen and (max-width: 720px) {
        .navi__header .menu .menu__gloval li.tel a, .navi__header .menu .menu__gloval li.form a {
          font-size: 0; } }
      .navi__header .menu .menu__gloval li.tel a {
        background: var(--primary-color); }
        .navi__header .menu .menu__gloval li.tel a:before {
          background-image: url("/wp-content/uploads/sites/2/2026/05/icon_tel.webp"); }
      .navi__header .menu .menu__gloval li.form a {
        background: var(--secondary-color); }
        .navi__header .menu .menu__gloval li.form a:before {
          background-image: url("/wp-content/uploads/sites/2/2026/05/icon_mail.webp"); }

.navi__footer .logo {
  font-size: 1.1rem;
  color: var(--text-color);
  text-align: center;
  letter-spacing: 0.5rem;
  margin-bottom: 20px; }
.navi__footer ul {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center; }
  .navi__footer ul li {
    margin: 10px 20px; }
    @media screen and (max-width: 720px) {
      .navi__footer ul li {
        margin: 0;
        width: 100%; } }
  .navi__footer ul a {
    display: block;
    padding: 20px 40px;
    font-size: 1rem;
    color: var(--text-color); }
    @media screen and (max-width: 720px) {
      .navi__footer ul a {
        padding: 15px;
        position: relative;
        border-bottom: 1px solid #ccc; }
        .navi__footer ul a:after {
          content: '';
          width: 5px;
          height: 5px;
          margin: auto;
          position: absolute;
          top: 0;
          bottom: 0;
          right: 10px;
          -webkit-transform: rotate(45deg);
          -moz-transform: rotate(45deg);
          transform: rotate(45deg);
          border-top: 1px solid #ccc;
          border-right: 1px solid #ccc; } }

:root {
  --split-anim-speed: 1.2s;
  /* 速度：少しゆっくり出すとおしゃれ */
  --split-anim-ease: cubic-bezier(0.22, 1, 0.36, 1);
  /* なめらかな緩急 */ }

.section, .section__hero, .section__contact {
  width: 100%;
  margin: auto;
  position: relative; }
  .section > .inner, .section__hero > .inner, .section__contact > .inner {
    max-width: 1200px;
    margin: auto;
    box-sizing: border-box;
    padding: 50px 20px; }
    @media screen and (max-width: 480px) {
      .section > .inner, .section__hero > .inner, .section__contact > .inner {
        padding: 20px 5px; } }
    .section > .inner.small, .section__hero > .inner.small, .section__contact > .inner.small {
      max-width: 960px; }
  .section.gray, .gray.section__hero, .gray.section__contact {
    background: #f5f7fb; }
  .section.dots, .dots.section__hero, .dots.section__contact {
    background-color: #fffffe;
    background-image: radial-gradient(circle, #eeeeee 1px, transparent 1px), radial-gradient(circle, #eeeeee 1px, transparent 1px);
    background-position: 0 0, 2px 4px;
    background-size: 4px 8px; }

.section p, .section__hero p, .section__contact p {
  font-size: 1.1rem;
  line-height: 2;
  font-weight: 400; }
  @media screen and (max-width: 720px) {
    .section p, .section__hero p, .section__contact p {
      font-size: 1rem; } }
  .section p.large, .section__hero p.large, .section__contact p.large {
    font-size: 1.4rem; }
    @media screen and (max-width: 640px) {
      .section p.large, .section__hero p.large, .section__contact p.large {
        font-size: 1.1rem; } }
  .section p.maxi, .section__hero p.maxi, .section__contact p.maxi {
    font-size: 3rem; }
    @media screen and (max-width: 640px) {
      .section p.maxi, .section__hero p.maxi, .section__contact p.maxi {
        font-size: 2rem; } }

.section__hero {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  position: relative;
  overflow: hidden; }
  .section__hero:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.3);
    background-image: radial-gradient(circle, #222222 1px, transparent 1px);
    background-position: 0 0;
    background-size: 4px 4px; }
  .section__hero :any-link {
    color: inherit; }
  .section__hero .splide,
  .section__hero .splide__track,
  .section__hero .splide__list,
  .section__hero .splide__slide {
    height: 100%; }
  .section__hero__content {
    position: relative;
    width: 100%;
    height: 100%; }
    .section__hero__content img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .section__hero__text-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.8);
    padding: 20px 40px;
    border-left: 5px solid var(--primary-color);
    max-width: 80%;
    z-index: 20; }
  .section__hero__text {
    font-size: 24px;
    font-weight: bold;
    color: var(--text-color);
    margin: 0; }
    @media screen and (max-width: 768) {
      .section__hero__text {
        font-size: 18px; } }
  .section__hero .splide__arrow {
    display: none; }
  .section__hero .splide__pagination {
    z-index: 30 !important;
    justify-content: flex-start; }
  .section__hero .herotext {
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    max-width: 960px;
    max-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 50; }
    @media screen and (max-width: 720px) {
      .section__hero .herotext {
        width: 90%;
        max-height: 400px; } }
    .section__hero .herotext p {
      font-size: 2.4rem;
      color: #ffffff;
      line-height: 3;
      font-weight: 400;
      text-align: center; }
      @media screen and (max-width: 720px) {
        .section__hero .herotext p {
          font-size: 1.4rem;
          line-height: 2; } }
      @media screen and (max-width: 720px) {
        .section__hero .herotext p br {
          display: none !important;
          content: ""; } }
@keyframes yura-yura {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-10px); }
  100% {
    transform: translateY(0); } }
  .section__hero .guide {
    max-width: 200px;
    position: absolute;
    z-index: 11;
    margin: auto;
    bottom: 30px;
    left: 0;
    right: 0;
    color: #fff;
    font-size: 0.7rem;
    text-align: center;
    font-weight: 700;
    animation: yura-yura 2s ease-in-out infinite; }
    .section__hero .guide:after {
      content: '';
      width: 10px;
      height: 10px;
      border-bottom: 2px solid #fff;
      border-right: 2px solid #fff;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      margin: auto;
      bottom: -10px;
      left: 0;
      right: 0; }

.inv-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: opacity, transform; }

/* 実行状態：JSでこのクラスを付与する */
.inv-up.is-visible {
  opacity: 1;
  transform: translateY(0); }

.section__contact {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  justify-content: space-between;
  overflow: hidden; }
  @media screen and (max-width: 720px) {
    .section__contact {
      flex-flow: row wrap; } }
  .section__contact .container__left, .section__contact .container__right {
    width: 50%;
    display: flex;
    align-items: center;
    opacity: 0;
    will-change: opacity, transform;
    transition: opacity var(--split-anim-speed) ease, transform var(--split-anim-speed) var(--split-anim-ease); }
    @media screen and (max-width: 720px) {
      .section__contact .container__left, .section__contact .container__right {
        width: 100%; } }
    .section__contact .container__left > .inner, .section__contact .container__right > .inner {
      max-width: 600px;
      padding: 40px 40px 80px 40px;
      display: block;
      position: relative;
      transition: opacity 0.4s ease; }
      @media screen and (max-width: 720px) {
        .section__contact .container__left > .inner, .section__contact .container__right > .inner {
          width: 100%;
          padding: 20px 20px 40px 20px; } }
      .section__contact .container__left > .inner:before, .section__contact .container__left > .inner:after, .section__contact .container__right > .inner:before, .section__contact .container__right > .inner:after {
        position: absolute;
        content: '';
        margin: auto;
        transition: width 0.4s ease, left 0.4s ease, right 0.4s ease; }
      .section__contact .container__left > .inner:before, .section__contact .container__right > .inner:before {
        width: 100px;
        height: 1px;
        background: #fff;
        bottom: 40px; }
        @media screen and (max-width: 720px) {
          .section__contact .container__left > .inner:before, .section__contact .container__right > .inner:before {
            bottom: 20px; } }
      .section__contact .container__left > .inner:after, .section__contact .container__right > .inner:after {
        width: 14px;
        height: 14px;
        bottom: 33px; }
        @media screen and (max-width: 720px) {
          .section__contact .container__left > .inner:after, .section__contact .container__right > .inner:after {
            bottom: 13px; } }
      .section__contact .container__left > .inner:hover, .section__contact .container__right > .inner:hover {
        opacity: 0.8;
        filter: alpha(opacity=80); }
        .section__contact .container__left > .inner:hover:before, .section__contact .container__right > .inner:hover:before {
          width: 200px; }
    .section__contact .container__left h2, .section__contact .container__left h3, .section__contact .container__right h2, .section__contact .container__right h3 {
      color: #fff;
      font-size: 1.2rem;
      text-align: center;
      margin-bottom: 20px; }
      @media screen and (max-width: 720px) {
        .section__contact .container__left h2, .section__contact .container__left h3, .section__contact .container__right h2, .section__contact .container__right h3 {
          font-size: 1rem; } }
    .section__contact .container__left p, .section__contact .container__right p {
      text-align: center;
      color: #fff;
      font-size: 3rem;
      line-height: 1; }
      @media screen and (max-width: 720px) {
        .section__contact .container__left p, .section__contact .container__right p {
          font-size: 2rem; } }
  .section__contact .container__left {
    background: var(--primary-color);
    justify-content: flex-end; }
    @media screen and (max-width: 720px) {
      .section__contact .container__left {
        justify-content: flex-start; } }
  .section__contact .container__left .inner:before {
    right: 10px; }
    @media screen and (max-width: 720px) {
      .section__contact .container__left .inner:before {
        right: auto;
        left: 10px; } }
  .section__contact .container__left .inner:after {
    border-left: 1px solid #fff;
    right: 94px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media screen and (max-width: 720px) {
      .section__contact .container__left .inner:after {
        border-left: none;
        border-top: 1px solid #fff;
        right: auto;
        left: 94px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg); } }
  .section__contact .container__left .inner:hover:after {
    right: 194px; }
    @media screen and (max-width: 720px) {
      .section__contact .container__left .inner:hover:after {
        left: 194px; } }
  .section__contact .container__right {
    background: var(--secondary-color);
    justify-content: flex-start; }
  .section__contact .container__right .inner:before {
    left: 10px; }
  .section__contact .container__right .inner:after {
    border-top: 1px solid #fff;
    left: 94px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg); }
  .section__contact .container__right .inner:hover:after {
    left: 194px; }
  .section__contact .container__left.anim-slide-from-left {
    transform: translate3d(-100%, 0, 0);
    /* 完全に左に隠す */ }
  .section__contact .container__right.anim-slide-from-right {
    transform: translate3d(100%, 0, 0);
    /* 完全に右に隠す */ }
  .section__contact .container__left.js-reveal.is-visible,
  .section__contact .container__right.js-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    /* 中央定位置へ戻る */ }

.footer {
  width: 100%;
  padding: 60px 0;
  background: var(--bg-color); }
  @media screen and (max-width: 720px) {
    .footer {
      padding: 20px 5px; } }
  .footer > .inner {
    max-width: 960px;
    margin: auto; }
  .footer .copy {
    text-align: center;
    font-size: 0.9rem;
    color: var(--text-color);
    padding: 20px; }
  .footer .banner__footer {
    position: fixed;
    display: none;
    z-index: 99;
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(12px);
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    bottom: 20px;
    right: 20px;
    transition: opacity 0.3s ease; }
    @media screen and (max-width: 720px) {
      .footer .banner__footer {
        width: 30px;
        height: 30px;
        bottom: 10px;
        right: 10px; } }
    .footer .banner__footer.is-visible {
      display: block;
      transition: opacity 0.3s ease; }
    .footer .banner__footer:after {
      content: '';
      width: 15px;
      height: 15px;
      position: absolute;
      border-top: 1px solid #fff;
      border-left: 1px solid #fff;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      margin: auto;
      top: 25px;
      left: 0;
      right: 0; }
      @media screen and (max-width: 720px) {
        .footer .banner__footer:after {
          width: 10px;
          height: 10px;
          top: 12px; } }

.pan {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  margin: auto; }
  .pan ol {
    max-width: 1200px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row; }
  .pan a, .pan span {
    display: block;
    font-size: 1rem;
    line-height: 1.5;
    position: relative; }
    @media screen and (max-width: 480px) {
      .pan a, .pan span {
        font-size: 0.8rem; } }
  .pan a {
    padding-right: 20px;
    margin-right: 24px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
    .pan a:hover {
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }
    .pan a:after {
      content: '';
      width: 10px;
      height: 10px;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      right: -10px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      border-top: 1px solid var(--text-color);
      border-right: 1px solid var(--text-color); }
  .pan li:last-child a:after {
    content: none; }

.card, .card__flex, .card__flex--nowrap, .card__flex--wrap, .card__flex--wrap--fs, .card__feature, .card__map, .card__service {
  display: block;
  position: relative;
  overflow: hidden;
  box-sizing: border-box; }

.card__flex, .card__flex--nowrap, .card__flex--wrap, .card__flex--wrap--fs {
  display: flex !important; }
  .card__flex.a-i-c, .a-i-c.card__flex--nowrap, .a-i-c.card__flex--wrap, .a-i-c.card__flex--wrap--fs {
    align-items: center; }
  .card__flex.a-i-s, .a-i-s.card__flex--nowrap, .a-i-s.card__flex--wrap, .a-i-s.card__flex--wrap--fs {
    align-items: flex-start; }
  .card__flex.j-c-s, .j-c-s.card__flex--nowrap, .j-c-s.card__flex--wrap, .j-c-s.card__flex--wrap--fs {
    justify-content: flex-start; }
  .card__flex.j-c-b, .j-c-b.card__flex--nowrap, .j-c-b.card__flex--wrap, .j-c-b.card__flex--wrap--fs {
    justify-content: space-between; }

.card__flex--nowrap {
  flex-flow: row nowrap; }

.card__flex--wrap {
  flex-flow: row wrap; }

.card__flex--wrap--fs {
  flex-flow: row wrap;
  justify-content: flex-start; }

.card__feature {
  display: grid;
  grid-template-areas: "stack"; }
  @media screen and (max-width: 720px) {
    .card__feature {
      display: block; } }
  .card__feature figure {
    width: 55%;
    display: block;
    grid-area: stack;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    z-index: 20;
    align-self: start;
    margin-bottom: 80px;
    position: relative; }
    @media screen and (max-width: 720px) {
      .card__feature figure {
        width: 90%;
        margin: 0 0 0 10%; } }
    .card__feature figure img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
    .card__feature figure:before, .card__feature figure:after {
      content: '';
      width: 40px;
      height: 40px;
      background: var(--bg-color);
      position: absolute;
      z-index: 10; }
  .card__feature .text {
    width: 55%;
    grid-area: stack;
    display: block;
    overflow: hidden;
    z-index: 10;
    background: var(--primary-color);
    align-self: end; }
    @media screen and (max-width: 720px) {
      .card__feature .text {
        width: 90%;
        margin: -20px 10% 0 0; } }
    .card__feature .text h2, .card__feature .text h3 {
      font-size: 3rem;
      margin-bottom: 40px;
      color: var(--bg-color);
      letter-spacing: 0.2rem; }
    .card__feature .text p {
      font-size: 1rem;
      line-height: 2;
      color: var(--bg-color);
      font-weight: 400; }
      @media screen and (max-width: 720px) {
        .card__feature .text p {
          font-size: 0.9rem; } }
  .card__feature figure, .card__feature .text {
    position: relative; }
    .card__feature figure.left, .card__feature .text.left {
      justify-self: start; }
    .card__feature figure.right, .card__feature .text.right {
      justify-self: end; }
  .card__feature figure.left:before {
    clip-path: polygon(100% 0, 0 0, 100% 100%);
    right: 0;
    top: 0; }
  .card__feature figure.left:after {
    clip-path: polygon(0 100%, 0 0, 100% 100%);
    left: 0;
    bottom: 0; }
  .card__feature figure.right:before {
    clip-path: polygon(0 100%, 0 0, 100% 0);
    left: 0;
    top: 0; }
  .card__feature figure.right:after {
    clip-path: polygon(0 100%, 100% 100%, 100% 0);
    right: 0;
    bottom: 0; }
  .card__feature .text.left {
    padding: 40px 15% 40px 5%; }
    @media screen and (max-width: 720px) {
      .card__feature .text.left {
        padding: 40px 15px; } }
  .card__feature .text.right {
    padding: 40px 5% 40px 15%; }
    @media screen and (max-width: 720px) {
      .card__feature .text.right {
        padding: 40px 15px; } }
  .card__feature .left, .card__feature .right {
    opacity: 0;
    transition: transform 0.8s ease-out, opacity 0.8s ease-out; }
    .card__feature .left.is-active, .card__feature .right.is-active {
      opacity: 1;
      transform: translateX(0); }
  .card__feature .left {
    transform: translateX(-50px); }
  .card__feature .right {
    transform: translateX(50px);
    transition-delay: 0.3s; }

.card__map {
  height: 400px; }
  @media screen and (max-width: 720px) {
    .card__map {
      height: 300px; } }

.block {
  width: 100%;
  box-sizing: border-box;
  position: relative; }

.title, .title__basic, .title__small {
  position: relative;
  width: 100%;
  overflow: hidden; }
  @media screen and (max-width: 480px) {
    .title, .title__basic, .title__small {
      min-height: 100px;
      height: auto; } }

.title__basic h1, .title__basic h2, .title__basic h3 {
  font-size: 4rem;
  position: relative;
  padding: 0 0 20px 0;
  text-align: center;
  color: var(--primary-color);
  margin-bottom: 20px; }
  @media screen and (max-width: 720px) {
    .title__basic h1, .title__basic h2, .title__basic h3 {
      font-size: 2.4rem; } }
  .title__basic h1:after, .title__basic h2:after, .title__basic h3:after {
    content: '';
    width: 80px;
    height: 2px;
    background: var(--primary-color);
    position: absolute;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0; }
.title__basic p {
  color: var(--text-color);
  font-size: 1.1rem;
  text-align: center;
  line-height: 2;
  font-weight: 400; }
  @media screen and (max-width: 720px) {
    .title__basic p {
      font-size: 1rem; } }

.title__small h2, .title__small h3, .title__small h4 {
  font-size: 2rem;
  position: relative;
  padding: 0 0 20px 0;
  text-align: center;
  color: var(--primary-color);
  margin-bottom: 20px; }
  .title__small h2:after, .title__small h3:after, .title__small h4:after {
    content: '';
    width: 40px;
    height: 2px;
    background: var(--secondary-color);
    position: absolute;
    margin: auto;
    bottom: 0;
    left: 0;
    right: 0; }

.btn, .btn__more, .btn__submit, .btn__back {
  display: block;
  margin: auto; }
  .btn a, .btn__more a, .btn__submit a, .btn__back a, .btn button, .btn__more button, .btn__submit button, .btn__back button {
    display: block;
    margin: auto;
    background: var(--primary-color);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center;
    min-width: 200px;
    padding: 15px 30px;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
    .btn a:hover, .btn__more a:hover, .btn__submit a:hover, .btn__back a:hover, .btn button:hover, .btn__more button:hover, .btn__submit button:hover, .btn__back button:hover {
      opacity: 0.6;
      filter: alpha(opacity=60);
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      transition: all 0.3s; }

.list__tile {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: space-between; }
  .list__tile li {
    width: 30%;
    background: var(--bg-color);
    margin: 0 1.5% 1.5% 1.5%;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px; }
    @media screen and (max-width: 720px) {
      .list__tile li {
        width: 100%;
        margin: 0 0 15px 0; } }
  .list__tile li > .inner {
    padding: 40px; }
    @media screen and (max-width: 720px) {
      .list__tile li > .inner {
        padding: 15px;
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        justify-content: space-between; } }
  .list__tile li figure {
    width: 60%;
    display: block;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin: 0 auto 20px auto;
    position: relative; }
    @media screen and (max-width: 720px) {
      .list__tile li figure {
        width: 25%;
        margin: 0;
        flex-grow: 0;
        flex-shrink: 0; } }
    .list__tile li figure img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center; }
  .list__tile li .text {
    display: block; }
    @media screen and (max-width: 720px) {
      .list__tile li .text {
        width: 75%;
        padding: 0 0 0 15px;
        flex-grow: 1;
        flex-shrink: 1; } }
    .list__tile li .text h3, .list__tile li .text h4 {
      color: var(--primary-color);
      font-size: 1.4rem;
      line-height: 1.6;
      margin-bottom: 20px;
      font-weight: 700; }
      @media screen and (max-width: 720px) {
        .list__tile li .text h3, .list__tile li .text h4 {
          font-size: 1.2rem;
          margin-bottom: 15px; } }
    .list__tile li .text p {
      color: var(--text-color);
      font-size: 1rem;
      line-height: 2;
      margin: 0;
      font-weight: 500; }
      @media screen and (max-width: 720px) {
        .list__tile li .text p {
          font-size: 0.9rem; } }

.list__table {
  display: flex;
  flex-flow: row wrap;
  align-items: stretch;
  justify-content: space-between; }
  .list__table dt, .list__table dd {
    font-size: 1rem;
    line-height: 2;
    font-weight: 500;
    padding: 20px; }
    @media screen and (max-width: 720px) {
      .list__table dt, .list__table dd {
        font-size: 0.9rem;
        padding: 10px; } }
  .list__table dt {
    color: var(--primary-color);
    border-bottom: 2px solid var(--primary-color);
    flex-basis: 30%;
    flex-grow: 0;
    flex-shrink: 1; }
    @media screen and (max-width: 720px) {
      .list__table dt {
        flex-basis: 100%;
        flex-shrink: 0;
        border-bottom: none; } }
    .list__table dt span {
      display: inline-block;
      padding: 5px 10px;
      margin-right: 10px;
      font-size: 0.7rem;
      color: #fff;
      background: var(--accent-color);
      border-radius: 2px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px; }
      .list__table dt span.optional {
        background: var(--text-color); }
  .list__table dd {
    color: var(--text-color);
    border-bottom: 2px solid #cccccc;
    flex-basis: 70%;
    flex-grow: 1;
    flex-shrink: 2;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: flex-start; }
    @media screen and (max-width: 720px) {
      .list__table dd {
        flex-basis: 100%;
        flex-shrink: 0;
        border-bottom: 1px solid #cccccc; } }
    .list__table dd input, .list__table dd textarea, .list__table dd select {
      padding: 10px;
      background: #f5f7fb;
      font-size: 1.1rem;
      color: var(--text-color);
      font-weight: 400;
      line-height: 1.6;
      display: block; }

.list__flow li {
  padding: 0 0 80px 30px;
  position: relative; }
  @media screen and (max-width: 720px) {
    .list__flow li {
      padding: 0 0 60px 20px; } }
  .list__flow li:after {
    content: '';
    width: 2px;
    height: 80px;
    margin: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    background: var(--primary-color); }
    @media screen and (max-width: 720px) {
      .list__flow li:after {
        height: 60px; } }
  .list__flow li:last-child {
    padding-bottom: 0; }
    .list__flow li:last-child:after {
      content: none; }
  .list__flow li .inner {
    background: var(--bg-color);
    border: 3px solid var(--primary-color);
    padding: 40px;
    z-index: 1;
    position: relative; }
    @media screen and (max-width: 720px) {
      .list__flow li .inner {
        padding: 20px; } }
    .list__flow li .inner h3, .list__flow li .inner h4 {
      color: var(--primary-color);
      font-weight: bold;
      font-size: 2rem;
      line-height: 1.6;
      margin-bottom: 20px;
      font-weight: 700; }
      @media screen and (max-width: 720px) {
        .list__flow li .inner h3, .list__flow li .inner h4 {
          font-size: 1.4rem; } }
    .list__flow li .inner p {
      color: var(--text-color);
      font-size: 1.1rem;
      line-height: 2;
      margin: 0;
      font-weight: 400; }
      @media screen and (max-width: 720px) {
        .list__flow li .inner p {
          font-size: 0.9rem; } }
    .list__flow li .inner:before {
      width: 60px;
      height: 60px;
      background: var(--primary-color);
      position: absolute;
      top: -30px;
      left: -30px;
      text-align: center;
      line-height: 60px;
      color: #fff;
      font-size: 2rem; }
      @media screen and (max-width: 720px) {
        .list__flow li .inner:before {
          width: 40px;
          height: 40px;
          top: -20px;
          left: -20px;
          line-height: 40px;
          font-size: 1.4rem; } }
.list__flow li:nth-child(1) .inner:before {
  content: '01'; }
.list__flow li:nth-child(2) .inner:before {
  content: '02'; }
.list__flow li:nth-child(3) .inner:before {
  content: '03'; }
.list__flow li:nth-child(4) .inner:before {
  content: '04'; }
.list__flow li:nth-child(5) .inner:before {
  content: '05'; }
.list__flow li:nth-child(6) .inner:before {
  content: '06'; }
.list__flow li:nth-child(7) .inner:before {
  content: '07'; }
.list__flow li:nth-child(8) .inner:before {
  content: '08'; }
.list__flow li:nth-child(9) .inner:before {
  content: '09'; }
.list__flow li:nth-child(10) .inner:before {
  content: '10'; }

.list__basic {
  list-style: decimal-leading-zero;
  list-style-position: outside;
  padding-left: 2rem; }
  .list__basic li {
    font-size: 1.1rem;
    line-height: 2;
    font-weight: 400;
    color: var(--text-color); }
    .list__basic li ul {
      list-style: upper-roman;
      list-style-position: outside;
      padding-left: 2rem; }
      .list__basic li ul ul {
        list-style: disc;
        list-style-position: outside;
        padding-left: 2rem; }

.fadeInDown {
  -webkit-animation-fill-mode: both;
  -ms-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  -ms-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important; }

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    -ms-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0); } }
.wp-pagenavi {
  display: flex;
  flex-flow: row wrap; }
  .wp-pagenavi a, .wp-pagenavi span {
    display: block;
    line-height: 38px;
    width: 40px;
    height: 40px;
    text-align: center;
    margin: 0 15px 15px 0; }
  .wp-pagenavi a {
    color: #222222;
    border: 1px solid #222222;
    background: #ffffff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .wp-pagenavi a:hover {
    background: #222222;
    color: #ffffff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .wp-pagenavi span {
    color: #222222;
    background: #ffffff; }
