@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cardo:ital,wght@0,400;0,700;1,400&family=Shippori+Mincho:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+Antique:wght@400;700&display=swap");

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,
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,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline;
}

html {
    line-height: 1;
}

ol,
ul {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th,
td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
}

q,
blockquote {
    quotes: none;
}

q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none;
}

a img {
    border: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

/* @include circle(100px); */
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */
/* @include absPosition(5px,20x,10px,15px); */
/* @include css3(transition, 0.5s); */
/* @include opacity(0.5); */
/* @include fontsize(12); */
/* COLOR */
/* MEDIA QUERIES */
/* USE
==================== */
/* SNS COLOR */
:root {
    --leading-trim: calc((1em - 1lh) / 2);
}

input::placeholder,
textarea::placeholder {
    color: #ccc;
}

img {
    max-width: 100%;
    height: auto;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #ccc;
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
    color: #ccc;
}

@-ms-viewport {
    width: auto;
    initial-scale: 1;
}

html {
    -ms-overflow-style: scrollbar;
    -webkit-text-size-adjust: 100%;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

.pc-display {
    display: none !important;
}

.sp-display {
    display: block !important;
}

.tablet-display {
    display: none !important;
}

.tablet-only {
    display: none !important;
}

.pc-hidden {
    display: block !important;
}

@media (min-width: 768px) {
    .pc-display {
        display: none !important;
    }

    .tablet-only {
        display: block !important;
    }

    .tablet-display {
        display: block !important;
    }

    .pc-hidden {
        display: block !important;
    }

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

@media (min-width: 900px) {
    .pc-display {
        display: block !important;
    }

    .tablet-only {
        display: none !important;
    }

    .tablet-display {
        display: block !important;
    }

    .pc-hidden {
        display: none !important;
    }

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

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    color: #000;
    font-family: "Cardo", "Shippori Mincho", serif;
    letter-spacing: 0.01em;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-size: 10px;
}

.sprite {
    display: block;
    text-indent: -9999px;
    overflow: hidden;
}

*,
html {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
}

/**
 * Remove default margin.
 */
body {
    margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
    display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
    display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
    background-color: transparent;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    text-decoration: none;
}

a::after,
a::before {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
    outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
    font-weight: 900;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
    font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
    font-size: 2em;
    margin: 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
    background: #ff0;
    color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
    border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
    overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
    margin: auto auto 24px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
    overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
    line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
    font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

.u-sm-hide {
    display: block;
}

@keyframes animation-toggle {
    0% {
        display: none;
        height: 0;
    }

    1% {
        display: block;
    }

    100% {
        height: auto;
    }
}

@keyframes animation-probrem-num {
    0% {
        width: 0;
        left: -16px;
    }

    50% {
        width: 16px;
        left: 0;
    }

    100% {
        width: 0;
        left: 16px;
    }
}

@keyframes animation-btn-bg-blk {
    0% {
        width: 100%;
    }

    100% {
        width: 0;
        left: 100%;
    }
}

@keyframes animation-arrow {
    0% {
        right: 10.5px;
    }

    50% {
        right: -32px;
        opacity: 0;
    }

    51% {
        right: 32px;
        opacity: 0;
    }

    100% {
        right: 10.5px;
        opacity: 1;
    }
}

.btn__white {
    background: #fff;
}

.btn__white span {
    color: #E94709;
}

.btn__blue {
    background: #5DA7EB;
}

.btn__blue span {
    color: #fff;
}

.btn__green {
    background: #3BBCA1;
}

.btn__green span {
    color: #fff;
}

.btn {
    display: flex;
}

.btn span {
    margin: auto;
    line-height: 1;
}

.btn__line {
    background: rgba(254, 253, 249, 0.2);
    backdrop-filter: blur(20px);
    border: 1px solid #082531;
}

.btn__line span {
    color: #082531;
}

.btn__line:hover {
    background: #082531;
    color: #fff;
    backdrop-filter: none;
}

.btn__line:hover span {
    color: #fff;
}

.btn__md {
    width: 100%;
    max-width: 278px;
    height: 68px;
    border-radius: 34px;
    margin-left: auto;
    margin-right: auto;
}

.btn__md span {
    font-size: 2rem;
    font-weight: 700;
}

.btn__header {
    width: 87px;
    height: 50px;
    border-radius: 25px;
}

.btn__header span {
    color: #082531;
    font-size: 1.6rem;
}

.btn__header_bg {
    height: 50px;
    border-radius: 25px;
    width: auto;
    padding: 0 30px;
}

.btn__header_bg span {
    color: #082531;
    font-size: 1.6rem;
}

.btn__menu {
    width: 100%;
    height: 56px;
    border-radius: 28px;
}

.btn__menu span {
    font-size: 1.6rem;
    line-height: 1;
}

h1 {
    font-size: 4.8rem;
    line-height: 1.4;
    letter-spacing: -.01em;
}

h2 {
    font-size: min(4vw, 52px);
    line-height: 1.5;
}

h3 {
    font-size: min(1.923076923vw, 2.5rem);
    line-height: 1.6;
    font-weight: 700;
    color: #082531;
}

h4 {
    font-size: 2rem;
    line-height: 1.7;
    font-weight: 700;
}

@media (max-width: 1025px) {
    h1 {
        font-size: 4.8rem;
        line-height: 1.4;
        letter-spacing: -.01em;
    }

    h2 {
        font-size: max(5.078125VW, 32px);
        line-height: 1.5;
        font-weight: 900;
    }

    h3 {
        font-size: max(2.44140625VW, 20px);
        line-height: 1.6;
        font-weight: 700;
    }

    h4 {
        font-size: 2rem;
        line-height: 1.7;
        font-weight: 700;
    }
}

.l__paragraph {
    font-size: min(2.461538462vw, 3.2rem);
    line-height: 2;
}

@media (max-width: 1025px) {
    .l__paragraph {
        font-size: max(3.125VW, 20px);
        line-height: 2;
    }
}

.m__paragraph {
    font-size: min(1.846153846vw, 2.4rem);
    line-height: 1.8;
}

@media (max-width: 1025px) {
    .m__paragraph {
        font-size: max(2.34375VW, 16px);
        line-height: 2;
    }
}

.d__paragraph {
    font-size: min(1.538461538vw, 2rem);
    line-height: 1.8;
}

@media (max-width: 1025px) {
    .d__paragraph {
        font-size: max(1.953125VW, 16px);
        line-height: 1.8;
    }
}

.s__paragraph {
    font-size: clamp(1.4rem, 1.230769231vw, 1.6rem);
    line-height: 2.4;
}

@media (max-width: 768px) {
    .s__paragraph {
        font-size: 1.4rem;
    }
}

/* FONT WEIGHT
====================== */
.fw300 {
    font-weight: 300 !important;
}

.fw400 {
    font-weight: 400;
}

.fw500 {
    font-weight: 500;
}

.fw600 {
    font-weight: 600;
}

.fw700 {
    font-weight: 700;
}

.fw800 {
    font-weight: 800;
}

.fw900 {
    font-weight: 900;
}

/* FONT FAMILY
====================== */
/* TITLE
====================== */
p {
    font-size: 1.6rem;
    line-height: 1.5625;
    margin: 0 0 1.5625em;
    font-weight: 500;
    color: #082531;
}

p,
span,
h2,
h3,
ul,
li {
    letter-spacing: 0.08em;
    color: #082531;
}

div>p:last-child {
    margin-bottom: 0;
}

._lh {
    margin-block: calc((1em - 1lh) / 2);
}

a.tel {
    color: #082531;
    text-decoration: underline;
}

a[target="_blank"] span {
    position: relative;
    padding-right: 16px;
}

a[target="_blank"] span::after {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background: url(../images/window.svg) no-repeat center center/cover;
    display: block;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
}

a[target="_blank"]:hover span::after {
    background: url(../images/window_w.svg) no-repeat center center/cover;
}

p a {
    text-decoration: underline;
}

blockquote {
    padding: 32px;
}

blockquote p {
    max-width: 100%;
    width: 100%;
}

blockquote p:last-child {
    margin: 0;
}

.c-textAlignCenter,
.u-textAlignCenter {
    text-align: center;
}

@media (max-width: 767px) {
    .c-textAlignCenter {
        text-align: left;
    }
}

.c-textAlignLeft {
    text-align: left;
}

.c-textAlignRight {
    text-align: right;
}

.u-txtAlign_center {
    text-align: center !important;
}

.u-txtAlign_left {
    text-align: left !important;
}

.u-txtAlign_right {
    text-align: right !important;
}

a[href$=".pdf"] {
    position: relative;
}

a[href$=".pdf"]::after {
    content: 'PDF';
    padding: 1px 2px;
    font-size: 10px;
    background: #082531;
    border-radius: 3px;
    color: #fff;
    line-height: 1;
    position: relative;
    margin-left: 4px;
    position: absolute;
    right: -30px;
    top: .5em;
    margin: auto;
    font-family: "Zen Kaku Gothic Antique", serif;
    letter-spacing: .08em;
    font-weight: 700;
}

/* Slider */
.slick-loading .slick-list {
    /*background: #fff url('./ajax-loader.gif') center center no-repeat;*/
}

/* Icons */
@font-face {
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;
    src: url("./fonts/slick.eot");
    src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
}

/* Arrows */
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 36px;
    height: 36px;
    padding: 0;
    -webkit-transform: translate(0, -12px);
    -ms-transform: translate(0, -12px);
    transform: translate(0, -12px);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

.slick-arrow {
    font-size: 0;
    line-height: 0;
    color: transparent;
    position: absolute;
    z-index: 99998;
    top: 50%;
    width: 36px;
    height: 36px;
    margin-top: -14px;
    background: #54a7e3;
}

.slick-arrow:hover {
    opacity: 0.8;
}

.slick-prev {
    -webkit-background-size: 100%;
    background-size: 100%;
    z-index: 2;
    width: 36px;
    height: 36px;
    background: url(../images/common/l_arrow_link.png) no-repeat;
    background-size: cover;
    left: -64px;
}

.slick-prev::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: url(../images/common/r_arrow_link.png) no-repeat;
    background-size: cover;
    width: 36px;
    height: 36px;
}

.slick-next {
    right: -64px;
    -webkit-background-size: 100%;
    background-size: 100%;
    z-index: 2;
    width: 36px;
    height: 36px;
    background: url(../images/common/r_arrow_link.png) no-repeat;
    background-size: cover;
}

.slick-next::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: url(../img/common/r_arrow_link.png) no-repeat;
    background-size: cover;
    width: 22px;
    height: 21px;
}

@media (max-width: 840px) {

    /* Arrows */
    .slick-prev,
    .slick-next {
        font-size: 0;
        line-height: 0;
        position: absolute;
        top: 50%;
        display: block;
        width: 36px;
        height: 36px;
        padding: 0;
        -webkit-transform: translate(0, -2px);
        -ms-transform: translate(0, -2px);
        transform: translate(0, -2px);
        cursor: pointer;
        color: transparent;
        border: none;
        outline: none;
        background: transparent;
    }

    .slick-arrow {
        font-size: 0;
        line-height: 0;
        color: transparent;
        position: absolute;
        z-index: 99998;
        top: 50%;
        width: 24px;
        height: 24px;
        margin-top: -12px;
        background: #54a7e3;
    }

    .slick-arrow:hover {
        opacity: 0.8;
    }

    .slick-prev {
        -webkit-background-size: 100%;
        background-size: 100%;
        z-index: 2;
        width: 24px;
        height: 24px;
        background: url(../images/common/l_arrow_link.png) no-repeat;
        background-size: cover;
        left: 8px;
    }

    .slick-next {
        right: 8px;
        -webkit-background-size: 100%;
        background-size: 100%;
        z-index: 2;
        width: 24px;
        height: 24px;
        background: url(../images/common/r_arrow_link.png) no-repeat;
        background-size: cover;
    }
}

.slick-dotted.slick-slider {
    margin-bottom: 45px;
}

/* Dots */
.slick-dots {
    position: absolute;
    bottom: -30px;
    display: block;
    width: 100%;
    padding: 0;
    margin: 20px 0 0;
    list-style: none;
    text-align: center;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 0 6px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 14px;
    height: 14px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1;
}

.slick-dots li button:before {
    border-radius: 50%;
    background: #fff;
    border: 2px solid #91c5eb;
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 10px;
    content: "";
    text-align: center;
}

.slick-dots li button:hover:before,
.slick-dots li.slick-active button:before {
    background: #91c5eb;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

.slick-slide {
    z-index: 1;
    position: relative;
}

.slick-track .slick-slide a:hover img {
    opacity: 0.8;
}

.slick-track .slick-slide:after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    max-width: 1160px;
    height: 100%;
    content: "";
    z-index: 2;
    /*background: rgba(0, 0, 0, 0.5);*/
}

.slick-track .slick-center:after {
    content: none;
}

@media (max-width: 1280px) {
    .slick-track .slick-slide {
        max-width: 90%;
    }
}

/* common
===================== */
#about,
#information {
    padding-top: 100px;
    margin-top: -100px;
}

@media screen and (min-width: 900px) {
    .main__content {
        width: 50%;
        position: relative;
        left: 50%;
    }
}

.yt__link {
    text-align: center;
    width: 100%;
    max-width: 748px;
    margin: auto;
}

.yt__link img {
    width: 100%;
}

.img__c {
    margin: auto;
    max-width: 528px;
}

.k_purple {
    background: linear-gradient(transparent 65%, #b23393 65%);
}

.k_yellow {
    background: linear-gradient(transparent 50%, #FFFF00 50%);
    font-weight: bold;
}

.bg-gray {
    background: #333;
}

.k_white {
    background: #fff;
    font-weight: bold;
}

.shadow_box {
    box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 5px 5px 10px 0 rgba(0, 0, 0, 0.2);
    transition-duration: .4s;
}

.reverse-list {
    flex-direction: row-reverse;
    justify-content: space-between;
}

.pc_mb_xs {
    margin-bottom: 8px;
}

.pc_mb_sm {
    margin-bottom: 16px;
}

.pc_mb_md {
    margin-bottom: 32px !important;
}

.pc_mb_lmd {
    margin-bottom: 56px !important;
}

.pc_mb_lg {
    margin-bottom: 72px !important;
}

.pc_mb_xl {
    margin-bottom: min(7.38461538461539VW, 96px);
}

@media (max-width: 1025px) {
    .pc_mb_xl {
        margin-bottom: max(9.375VW, 40px);
    }
}

.pc_mt_sm {
    margin-top: 16px;
}

.pc_mt_md {
    margin-top: 32px;
}

.pc_mt_lg {
    margin-top: 64px;
}

.pc_mt_xl {
    margin-top: 96px;
}

.block-box {
    display: block;
}

.pd-no {
    padding: 0;
}

[data-num='1']::before {
    content: "1";
}

[data-num='2']::before {
    content: "2";
}

[data-num='3']::before {
    content: "3";
}

[data-num='4']::before {
    content: "4";
}

.item__list__heading {
    margin-bottom: min(4.923076923vw, 6.4rem);
}

@media (max-width: 1025px) {
    .item__list__heading {
        margin-bottom: max(6.25VW, 45px);
    }

    .item__list__heading .l__paragraph {
        font-size: max(3.125VW, 24px);
        line-height: 1.5;
    }
}

.item__list__content {
    margin-bottom: 120px;
}

.item__list__content.last {
    margin-bottom: 0;
}

.item__list__content ul {
    display: flex;
    gap: 20px;
}

.item__list__content ul li {
    width: 25%;
}

.item__list__content ul li a {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    color: #000;
}

.item__list__content ul li a .item__list__content__thumb,
.item__list__content ul li a p {
    display: block;
    width: 100%;
}

.item__list__content ul li a p {
    margin: 0;
    line-height: 1.5;
}

.item__list__content ul li a p .num {
    font-family: "Work Sans";
    font-weight: 700;
    font-size: min(2.307692308vw, 3rem);
    padding-right: 4px;
}

.item__list__content.center ul {
    justify-content: center;
}

@media (max-width: 1025px) {
    .item__list__content {
        margin-bottom: max(11.71875VW, 80px);
    }

    .item__list__content ul {
        gap: 16px;
        overflow-x: scroll;
    }

    .item__list__content ul li {
        width: 25%;
        flex: 0 0 80px;
        min-width: 240px;
    }

    .item__list__content ul li a p .num {
        font-family: "Work Sans";
        font-weight: 700;
        font-size: max(2.9296875VW, 30px);
        padding-right: 4px;
    }

    .item__list__content.center ul {
        justify-content: flex-start;
    }
}

.wrap {
    width: 100%;
    margin: auto;
    z-index: 99;
    position: relative;
}

.index__kv {
    height: 100dvh;
    min-height: 768px;
    margin: 0 auto 102px;
    position: relative;
    overflow: hidden;
}

.index__kv__photo {
    width: 100%;
    height: 135%;
    max-height: 532px;
    position: relative;
    margin-bottom: 13%;
    display: flex;
    align-items: end;
    z-index: 99;
}

.index__kv__photo img {
    margin: auto;
    width: 100%;
    max-width: initial;
    height: 100%;
}

.index__kv__txt {
    margin: auto;
    text-align: center;
}

.index__kv__txt img {
    width: 76.7%;
    margin: auto;
    z-index: 99;
    position: relative;
}

.index__kv .scroll {
    width: 51px;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;
    font-size: 12px;
    text-align: center;
    height: 72px;
    display: flex;
    text-align: center;
}

.index__kv .scroll::before {
    content: '';
    width: 1px;
    height: 51px;
    display: block;
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: #082531;
}

.index__kv .scroll span {
    margin: auto;
    left: 0;
    right: 0;
    position: absolute;
}

@media screen and (min-width: 480px) {
    .index__kv__photo {
        display: none;
    }

    .index__kv__txt img {
        width: 65.5625%;
        margin: auto;
        z-index: 99;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
    }
}

.kv-deco1 {
    width: 50%;
    left: -17%;
    top: 59%;
    position: absolute;
    z-index: 10;
}

.kv-deco2 {
    width: 61%;
    right: -13.7%;
    top: 73.4%;
    position: absolute;
    z-index: 10;
}

@media screen and (min-width: 480px) {
    .kv-deco1 {
        width: 37.3%;
        left: 1.5%;
        top: 21.8%;
        position: absolute;
        z-index: 10;
    }

    .kv-deco2 {
        width: 44.444%;
        right: -6%;
        top: 60.8%;
        position: absolute;
        z-index: 10;
    }
}

.content__wrap {
    width: calc(100% - 32px);
    max-width: 1230px;
    margin: auto;
    padding-bottom: 76px;
    display: block;
}

.en-trans {
    font-size: 1.6rem;
    font-weight: 700;
    margin-top: -64px;
}

.content__wrap.full__wrap {
    width: 100%;
    max-width: 100%;
}

.content__wrap.full__wrap .content__wrap-inner {
    width: 100%;
}

@media (min-width: 768px) {
    .content__wrap {
        width: calc(100% - 96px);
    }
}

@keyframes horizontal-animation {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

.slider-container {
    display: flex;
    overflow: hidden;
    margin-bottom: 120px;
}

.slider-wrapper {
    display: flex;
    animation: horizontal-animation 60s linear infinite;
}

.slide {
    width: min(61vw, 780px);
    margin-right: 20px;
}

@media (max-width: 768px) {
    .slide {
        width: min(76.5vw, 360px);
        margin-right: 20px;
    }
}

.slide img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

.slide__caption {
    line-height: 2.375;
    font-weight: 600;
    margin-bottom: 80px;
}

.slide__caption p {
    margin-block: calc((1em - 1lh) / 2);
}

.content__wrap-inner {
    width: 100%;
    max-width: 480px;
    margin: auto;
}

@media (min-width: 768px) {
    .content__wrap-inner {
        width: 100%;
        max-width: 768px;
        margin: auto;
    }
}

/* 追加
===================== */
.statement p {
    line-height: 1.75;
}

.statement p:last-child {
    margin: 0;
}

.content__wrap__02 {
    padding: 154px 16px;
    background: #fefdf9;
    border-radius: 999px;
    margin-bottom: 76px;
}

.content__wrap__02 .content__wrap-inner {
    width: 100%;
    max-width: 624px;
}

@media screen and (min-width: 768px) {
    .content__wrap__02 {
        padding: 154px 13.8%;
        background: #fefdf9;
        border-radius: 999px;
        margin-bottom: 76px;
    }

    .content__wrap__02 .content__wrap-inner {
        max-width: 624px;
    }
}

.point__item_container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 51px 0;
}

.point__item_head {
    position: relative;
    padding: 20px 16px 0 16px;
    margin-bottom: 20px;
}

.point__item_head::before {
    width: 90px;
    height: 90px;
    border-top-right-radius: 90px;
    border-top: 1px dashed #082531;
    border-right: 1px dashed #082531;
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
}

.point__item_head h3 {
    font-size: 2rem;
    line-height: 1.6;
    margin: 0;
}

@media screen and (min-width: 768px) {
    .point__item_head {
        padding: 20px 14.5% 20px 14.5%;
    }
}

.point__item_num {
    font-size: 7rem;
    line-height: 1;
    font-weight: 700;
    color: rgba(147, 185, 201, 0.3);
}

@media screen and (min-width: 768px) {
    .point__item_num {
        position: relative;
        top: 0.4em;
        margin-left: -.5em;
    }
}

.point__item_body {
    padding: 0 16px 90px 16px;
    position: relative;
}

.point__item_body::after {
    width: 90px;
    height: 90px;
    border-bottom-left-radius: 90px;
    border-bottom: 1px dashed #082531;
    border-left: 1px dashed #082531;
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
}

@media screen and (min-width: 768px) {
    .point__item_body {
        padding: 0 14.5% 90px 14.5%;
    }
}

.content__wrap__03 .content__wrap__heading {
    margin-bottom: 7.6rem;
}

.content__wrap__03 h3 {
    width: 14em;
    margin: auto auto 3.8rem;
    font-size: 2rem;
    line-height: 1.6;
    font-weight: 600;
    text-align: center;
}

.content__wrap__03 .info__list {
    font-weight: 500;
    color: #082531;
    margin-bottom: 1.8rem;
}

.content__wrap__03 .info__list dt {
    padding-top: 2rem;
}

.content__wrap__03 .info__list dd {
    padding-bottom: 2rem;
}

.content__wrap__03 .info__list dd .paragraph__block {
    margin-bottom: 1.8rem;
}

.content__wrap__03 .info__list dd .paragraph__block p {
    font-size: 1.4rem;
    margin-bottom: 8px;
}

.content__wrap__03 .info__list dd .paragraph__block p:last-child {
    margin-bottom: 0;
}

.content__wrap__03 .info__list__description {
    font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
    .content__wrap__03 .content__wrap__heading {
        margin-bottom: 11.4rem;
    }

    .content__wrap__03 h3 {
        width: 100%;
        text-align: center;
        font-size: 2.4rem;
    }

    .content__wrap__03 .info__list {
        font-weight: 500;
        color: #082531;
        margin-bottom: 1.8rem;
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        align-items: stretch;
        border-top: 1px solid #AFBFC6;
    }

    .content__wrap__03 .info__list dt {
        width: 120px;
        padding-top: 2rem;
        padding-bottom: 2rem;
        border-bottom: 1px solid #AFBFC6;
        margin-bottom: 0;
    }

    .content__wrap__03 .info__list dd {
        width: calc(100% - 120px);
        padding-bottom: 2rem;
        padding-top: 2rem;
    }

    .content__wrap__03 .info__list dd .paragraph__block {
        margin-bottom: 0;
        display: flex;
    }

    .content__wrap__03 .info__list dd .paragraph__block p {
        font-size: 1.4rem;
        margin-bottom: 8px;
    }

    .content__wrap__03 .info__list dd .paragraph__block p:first-child {
        width: 120px;
    }

    .content__wrap__03 .info__list dd .paragraph__block p:last-child {
        width: calc(100% - 120px);
        margin-bottom: 0;
    }

    .content__wrap__03 .info__list__description {
        font-size: 1.2rem;
    }
}

.itinerary_container {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 96px 0;
    width: 100%;
    max-width: 480px;
    margin: auto;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .itinerary_container {
        max-width: 864px;
    }
}

.itinerary_01 {
    position: relative;
}

.itinerary__item {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 38px 0;
    background: #FEFDF9;
    padding: 50px 32px;
    border-radius: 60px;
}

.itinerary__item.no-color {
    background: transparent;
    padding: 0 32px;
}

.itinerary__item.no-color.itinerary_01-2 {
    position: relative;
}

.itinerary__item.no-color.itinerary_01-2 .deco1 {
    position: absolute;
    top: -120px;
    right: auto;
    bottom: auto;
    left: -40px;
    width: 200px;
    height: auto;
    z-index: -1;
}

.itinerary__item.no-color.itinerary_01-2 .deco2 {
    position: absolute;
    top: 108px;
    right: -64px;
    bottom: auto;
    left: auto;
    width: 240px;
    height: auto;
    z-index: -1;
}

.itinerary__item.no-color.itinerary_01-2 .deco3 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 22px;
    height: auto;
    z-index: -1;
    margin: auto;
}

.itinerary__item.no-color.itinerary_02-2 {
    position: relative;
    margin-top: -50px;
    margin-bottom: -54px;
}

.itinerary__item.no-color.itinerary_02-2 .deco1 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 22px;
    height: auto;
    z-index: -1;
    margin: auto;
}

.itinerary__item.no-color.itinerary_03-2 {
    position: relative;
}

.itinerary__item.no-color.itinerary_03-2 .deco1 {
    position: absolute;
    top: -120px;
    right: auto;
    bottom: auto;
    left: -40px;
    width: 200px;
    height: auto;
    z-index: -1;
}

.itinerary__item.no-color.itinerary_03-2 .deco2 {
    position: absolute;
    top: 44px;
    right: -20px;
    bottom: auto;
    left: auto;
    width: 240px;
    height: auto;
    z-index: -1;
}

.itinerary__item.no-color.itinerary_03-2 .deco3 {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 22px;
    height: auto;
    z-index: -1;
    margin: auto;
}

.itinerary__item.no-color-photo {
    background: transparent;
    padding: 0 16px 0 16px;
    padding-bottom: 112px;
    position: relative;
}

.itinerary__item.no-color-photo .deco1 {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 0;
    left: -16px;
    width: 240px;
    height: auto;
    z-index: -1;
}

@media screen and (min-width: 768px) {
    .itinerary__item {
        gap: 51px 0;
        padding: 76px 48px;
        border-radius: 70px;
    }

    .itinerary__item.no-color {
        background: transparent;
        padding: 0 32px;
    }

    .itinerary__item.no-color.itinerary_01-2 {
        padding-left: 58%;
        padding-right: 48px;
    }

    .itinerary__item.no-color.itinerary_02-2 {
        padding-left: 50%;
        position: relative;
    }

    .itinerary__item.no-color.itinerary_02-2 .deco1 {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: -8%;
        width: 22px;
        height: auto;
        z-index: -1;
        margin: auto;
    }

    .itinerary__item.no-color.itinerary_03-2 {
        padding-left: 50%;
        padding-right: 48px;
    }

    .itinerary__item.no-color.itinerary_01-2 .deco1 {
        position: absolute;
        top: -120px;
        right: auto;
        bottom: auto;
        left: -1%;
        width: 38.8%;
        height: auto;
        z-index: -1;
    }

    .itinerary__item.no-color.itinerary_01-2 .deco2 {
        position: absolute;
        top: 80%;
        right: 0;
        bottom: auto;
        left: auto;
        width: 37.3%;
        height: auto;
        z-index: -1;
    }

    .itinerary__item.no-color.itinerary_01-2 .deco3 {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 22px;
        height: auto;
        z-index: -1;
        margin: auto;
    }

    .itinerary__item.no-color.itinerary_03-2 .deco1 {
        position: absolute;
        top: -132px;
        right: auto;
        bottom: auto;
        left: 4%;
        width: 38.8%;
        height: auto;
        z-index: -1;
    }

    .itinerary__item.no-color.itinerary_03-2 .deco2 {
        position: absolute;
        top: auto;
        right: 0;
        bottom: -124px;
        left: auto;
        width: 37.3%;
        height: auto;
        z-index: -1;
    }

    .itinerary__item.no-color.itinerary_03-2 .deco3 {
        left: -11%;
    }

    .itinerary__item.no-color-photo {
        background: transparent;
        padding: 0 48px 100px 48px;
        position: relative;
    }

    .itinerary__item.no-color-photo .deco1 {
        position: absolute;
        top: 62%;
        right: auto;
        bottom: 0;
        left: -16px;
        width: 34.7%;
        height: auto;
        z-index: -1;
    }
}

.itinerary__item_head {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 19px 0;
    font-size: 2rem;
}

.itinerary__item_head span {
    width: 108px;
    height: 60px;
    background: url(../images/01.png) no-repeat center center/cover;
    margin: auto;
}

.itinerary__item_head span[data-type="02"] {
    background: url(../images/02.png) no-repeat center center/cover;
}

.itinerary__item_head span[data-type="03"] {
    background: url(../images/03.png) no-repeat center center/cover;
}

.itinerary__item_head h2 {
    font-size: 1em;
    line-height: 1.6;
}

@media screen and (min-width: 768px) {
    .itinerary__item_head {
        gap: 19px 0;
        font-size: 2.4rem;
    }

    .itinerary__item_head span {
        width: 108px;
        height: 60px;
        background: url(../images/01.png) no-repeat center center/cover;
        margin: auto;
    }

    .itinerary__item_head h2 {
        font-size: 1em;
        line-height: 1.6;
    }
}

.itinerary__item_content {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 38px 0;
}

@media screen and (min-width: 768px) {
    .itinerary__item_content {
        gap: 51px 0;
    }
}

.itinerary__photo__content .photo {
    margin-bottom: 16px;
}

.itinerary__caution {
    padding: 24px 16px;
    border: 1px solid #082531;
    border-radius: 8px;
}

.itinerary__caution p {
    margin: 0;
}

.grid {
    display: grid;
    column-gap: 16px;
    row-gap: 16px;
    grid-template-columns: 50% 50%;
}

.grid .photo {
    margin-bottom: 0;
}

.grid .photo1 {
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 1;
    grid-row-end: 2;
}

@media screen and (min-width: 768px) {
    .grid {
        grid-template-columns: 68.2% 1fr;
    }

    .grid .photo {
        margin-bottom: 0;
    }

    .grid .photo1 {
        grid-column-start: 1;
        grid-column-end: 2;
        grid-row-start: 1;
        grid-row-end: 3;
    }

    .flex {
        display: flex;
        gap: 0 16px;
    }

    .flex .photo:nth-of-type(2) {
        margin-top: 24px;
    }

    .flex .photo:nth-of-type(3) {
        margin-top: 48px;
    }
}

.itinerary__text__content .time {
    padding: 10px;
    border: 1px solid #082531;
    border-radius: 4px;
    margin-bottom: 18px;
    display: inline-block;
}

.itinerary__text__content .time span {
    font-size: 1.6rem;
    color: #082531;
}

.time__container {
    margin-bottom: 18px;
}

.time__container>p {
    font-size: 1.4rem;
}

.time__container .time {
    margin-bottom: 8px;
}

.bg {
    background: url(../images/pc-bg.jpg) no-repeat center center/cover;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    z-index: -1;
}

@media screen and (min-width: 900px) {
    .bg {
        background: url(../images/pc-bg.jpg) no-repeat center center/cover;
        width: 100%;
        width: 50%;
        left: 50%;
    }
}

.content__wrap__heading {
    width: 100%;
    margin-bottom: 5.1rem;
    color: #082531;
}

.content__wrap__heading h2 {
    font-size: 2.4rem;
    line-height: 1;
    font-weight: 700;
}

.content__wrap__heading h2 span {
    font-size: 1.4rem;
    display: block;
    line-height: 1;
    margin-bottom: 1.5rem;
    font-weight: 400;
}

@media screen and (min-width: 768px) {
    .content__wrap__heading {
        margin-bottom: 11.4rem;
        color: #082531;
    }

    .content__wrap__heading h2 {
        font-size: 2.8rem;
    }
}

@media screen and (min-width: 768px) {
    .content__wrap-05 .content__wrap__heading {
        margin-bottom: 51px;
    }
}

.info__list {
    letter-spacing: .08em;
    font-size: 1.6rem;
    font-weight: 500;
    color: #082531;
    margin-bottom: 76px;
    border-top: 1px solid #AFBFC6;
}

.info__list dt {
    padding-top: 3.8rem;
    margin-bottom: 1.8rem;
    line-height: 1.5625;
}

.info__list dd {
    padding-bottom: 3.8rem;
    border-bottom: 1px solid #AFBFC6;
    line-height: 1.5625;
}

.info__list dd span {
    padding-left: 2.4rem;
}

.info__list dd p:last-child {
    margin-bottom: 0;
}

.info__list dd .pdf__link p {
    margin-bottom: 1.8rem;
    line-height: 1;
}

.info__list dd .pdf__link p a {
    color: #082531;
}

.info__list dd .pdf__link p:last-child {
    margin-bottom: 0;
}

.info__list dd .paragraph__block p:first-child {
    width: 120px;
    margin-bottom: 8px;
}

.info__list dd .paragraph__block p:last-child {
    margin-bottom: 19px;
}

.info__list dd .paragraph__txt {
    margin-bottom: 1.8rem;
    padding-left: 2.4rem;
}

.info__list dd .paragraph__txt p {
    position: relative;
    margin-bottom: 0;
}

.info__list dd .paragraph__txt p::after {
    position: absolute;
    content: "";
    top: 9px;
    left: -12px;
    width: 4px;
    height: 4px;
    background-color: #082531;
    border-radius: 999px;
}

.info__list dd .paragraph__table {
    display: none;
}

.info__list dd .paragraph__table-sp {
    display: flex;
    margin: 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #AFBFC6;
}

.info__list dd .paragraph__firstdata {
    padding-top: 12px;
}

.info__list dd .paragraph__data,
.info__list dd .paragraph__firstdata {
    margin: 0 16px;
}

.info__list dd .paragraph__data p,
.info__list dd .paragraph__firstdata p {
    font-size: 1.4rem;
    margin-bottom: 12px;
}

.info__list dd .paragraph__data p:first-child,
.info__list dd .paragraph__firstdata p:first-child {
    margin-bottom: 0;
}

.info__list dd .paragraph__data p:last-child,
.info__list dd .paragraph__firstdata p:last-child {
    display: flex;
    align-self: center;
    width: 240px;
}

@media screen and (min-width: 768px) {
    .info__list {
        letter-spacing: .08em;
        font-size: 1.6rem;
        font-weight: 500;
        color: #082531;
        margin-bottom: 76px;
        border-top: 1px solid #AFBFC6;
        display: flex;
        flex-wrap: wrap;
    }

    .info__list dt {
        padding-top: 3.8rem;
        padding-bottom: 3.8rem;
        margin-bottom: 0;
        line-height: 1.5625;
        width: 144px;
        border-bottom: 1px solid #AFBFC6;
    }

    .info__list dd {
        width: calc(100% - 144px);
        padding-top: 3.8rem;
        padding-bottom: 3.8rem;
        border-bottom: 1px solid #AFBFC6;
        line-height: 1.5625;
    }

    .info__list dd span {
        padding-left: 2.4rem;
    }

    .info__list dd p:last-child {
        margin-bottom: 0;
    }

    .info__list dd .pdf__link p {
        margin-bottom: 1.8rem;
        line-height: 1;
    }

    .info__list dd .pdf__link p a {
        color: #082531;
    }

    .info__list dd .pdf__link p:last-child {
        margin-bottom: 0;
    }

    .info__list dd .paragraph__block {
        margin-bottom: 0;
        display: flex;
    }

    .info__list dd .paragraph__block p {
        font-size: 1.4rem;
        margin-bottom: 8px;
    }

    .info__list dd .paragraph__block p:first-child {
        width: 120px;
        margin-bottom: 8px;
    }

    .info__list dd .paragraph__block p:last-child {
        width: calc(100% - 120px);
        margin-bottom: 0;
    }

    .info__list dd .paragraph__txt {
        margin-bottom: 1.8rem;
        padding-left: 1.8rem;
    }

    .info__list dd .paragraph__table {
        margin-bottom: 0;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        border-bottom: 1px solid #AFBFC6;
    }

    .info__list dd .paragraph__table p {
        font-size: 1.6rem;
        margin-bottom: 8px;
    }

    .info__list dd .paragraph__table p:last-child {
        display: flex;
        align-self: center;
        width: 240px;
    }

    .info__list dd .paragraph__table-sp {
        display: none;
    }

    .info__list dd .paragraph__data,
    .info__list dd .paragraph__firstdata {
        margin: 0 0 8px;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    .info__list dd .paragraph__firstdata {
        padding-top: 12px;
    }

    .info__list dd .paragraph__data p,
    .info__list dd .paragraph__firstdata p {
        font-size: 1.4rem;
        margin-bottom: 0;
    }

    .info__list dd .paragraph__data p:last-child,
    .info__list dd .paragraph__firstdata p:last-child {
        display: flex;
        align-self: center;
        width: 240px;
    }
}

.caution__content {
    padding: 32px 16px;
    border: 1px solid #082531;
    border-radius: 8px;
    margin-bottom: 76px;
}

.caution__content p {
    margin-bottom: 1.2rem;
}

.caution__content ul {
    list-style: disc;
    padding-left: 2em;
}

.caution__content ul li {
    font-size: 1.6rem;
    line-height: 1.5625;
    color: #082531;
    text-align: justify;
}

.caution__content .title,
.subtitle {
    font-size: 2rem;
    font-weight: 600;
}

.caution__content .subtitle {
    margin-top: 25px;
}

@media screen and (min-width: 768px) {
    .caution__content {
        padding: 32px 24px;
    }

    .caution__content ul {
        list-style: disc;
        padding-left: 2.4em;
    }
}

.cv__area {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    gap: 38px 0;
    flex-wrap: wrap;
    margin: auto auto 44px;
}

.cv__area p {
    text-align: center;
    margin: 0;
}

div[data-photo="photo1"] div {
    background: url(../images/photo1.jpg) no-repeat center center;
    background-size: cover;
}

div[data-photo="photo2"] div {
    background: url(../images/photo2.jpg) no-repeat center center;
    background-size: cover;
}

div[data-photo="photo3"] div {
    background: url(../images/photo3.jpg) no-repeat center center;
    background-size: cover;
}

div[data-photo="photo4"] div {
    background: url(../images/photo4.jpg) no-repeat center center;
    background-size: cover;
}

div[data-photo="photo5"] div {
    background: url(../images/photo5.jpg) no-repeat center center;
    background-size: cover;
}

div[data-photo="photo6"] div {
    background: url(../images/photo6.jpg) no-repeat center center;
    background-size: cover;
}

div[data-bg="cut"]::before {
    content: 'cut';
    font-size: 9.6rem;
    color: rgba(0, 0, 0, 0.05);
    position: absolute;
    top: 28px;
    right: auto;
    bottom: 0;
    left: 16px;
    margin: auto;
    line-height: 1;
}

div[data-bg="student"]::before {
    content: 'student';
    font-size: 9.6rem;
    color: rgba(0, 0, 0, 0.05);
    position: absolute;
    top: 28px;
    right: auto;
    bottom: 0;
    left: 16px;
    margin: auto;
    line-height: 1;
}

div[data-bg="perm"]::before {
    content: 'perm';
    font-size: 9.6rem;
    color: rgba(0, 0, 0, 0.05);
    position: absolute;
    top: 28px;
    right: auto;
    bottom: 0;
    left: 16px;
    margin: auto;
    line-height: 1;
}

div[data-bg="shave"]::before {
    content: 'shave';
    font-size: 9.6rem;
    color: rgba(0, 0, 0, 0.05);
    position: absolute;
    top: 28px;
    right: auto;
    bottom: 0;
    left: 16px;
    margin: auto;
    line-height: 1;
}

div[data-bg="color"]::before {
    content: 'color';
    font-size: 9.6rem;
    color: rgba(0, 0, 0, 0.05);
    position: absolute;
    top: 28px;
    right: auto;
    bottom: 0;
    left: 16px;
    margin: auto;
    line-height: 1;
}

/* header
===================== */
.toBk {
    color: #fff;
}

.active #layer1 {
    fill: #fff !important;
}

.header {
    position: absolute;
    top: 0;
    z-index: 999;
    width: 100%;
}

@media screen and (min-width: 900px) {
    .header {
        position: fixed;
        left: 0;
        width: 50%;
        background: url(../images/pc-kv.jpg) no-repeat center center/cover;
        height: 100vh;
    }

    .header .btn__area {
        position: absolute;
        top: 32px;
        right: calc(32px - 100%);
        display: flex;
        gap: 0 32px;
    }
}

.header__inner {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 16px;
}

.header__inner .ll {
    font-size: 1.4rem;
    color: #fff;
}

@media (min-width: 900px) {
    .header__inner .ll {
        font-size: 1.4rem;
        color: #fff;
        position: absolute;
        bottom: 32px;
        left: 0;
        right: 0;
        margin: auto;
        text-align: center;
    }
}

.footer {
    padding-bottom: 120px;
    padding-top: 76px;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .footer {
        padding-bottom: 54px;
        margin: 0 48px;
    }
}

.footer__container {
    position: relative;
}

.footer__container-inner {
    width: 361px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
    gap: 120px 0;
    flex-wrap: wrap;
    position: relative;
    margin: 0 auto;
}

.footer__container-inner .deco1 {
    position: absolute;
    top: -80px;
    right: auto;
    bottom: auto;
    left: -40px;
    width: 200px;
    height: auto;
    z-index: -1;
}

.footer__container-inner .deco2 {
    position: absolute;
    top: 40px;
    right: -56px;
    bottom: auto;
    left: auto;
    width: 240px;
    height: auto;
    z-index: -1;
}

@media screen and (min-width: 768px) {
    .footer__container-inner {
        width: 100%;
    }

    .footer__container-inner .deco1 {
        position: absolute;
        top: 50%;
        right: auto;
        bottom: auto;
        left: -40px;
        width: 37.3%;
        max-width: 323px;
        height: auto;
        z-index: -1;
    }

    .footer__container-inner .deco2 {
        position: absolute;
        top: 34%;
        right: -56px;
        bottom: auto;
        left: auto;
        max-width: 384px;
        width: 44.4%;
        height: auto;
        z-index: -1;
    }

    .footer__container-inner .footer__sub-content {
        display: flex;
        align-self: flex-start;
    }
}

.footer__k-txt {
    display: block;
    background: url(../images/k-txt_okama-tour_en.svg) no-repeat center center;
    background-size: cover;
    width: 320px;
    height: 128px;
}

@media screen and (min-width: 768px) {
    .footer__k-txt {
        width: 320px;
        height: 128px;
    }
}

.toTop {
    position: absolute;
    right: 0;
    bottom: 0;
}

.copyrights {
    font-weight: 500;
    font-size: 1rem;
}

/* メニュー
===================== */
.side-menu {
    width: 100vw;
    height: 100vh;
    background: url(../images/bg.png) no-repeat center center/cover;
    padding: 15vh 32px 0 32px;
    z-index: -1;
    position: fixed;
    opacity: 0;
}

@media screen and (min-width: 900px) {
    .side-menu {
        display: block;
        opacity: 1;
        z-index: 9999;
        background: none;
        height: 100%;
        width: 50%;
        padding: 0;
    }
}

.active .side-menu {
    opacity: 1;
    z-index: 9999;
}

.menu__k-txt {
    background: url(../images/k-txt_okama-tour_en.svg) no-repeat center center;
    background-size: cover;
    width: 320px;
    height: 128px;
    margin: auto auto 76px;
}

@media screen and (min-width: 900px) {
    .menu__k-txt {
        background: url(../images/k-txt_okama-tour_w_en.svg) no-repeat center center;
        background-size: cover;
        width: 217px;
        height: 87px;
        margin: auto auto 76px;
        position: absolute;
        top: 32px;
        right: auto;
        bottom: auto;
        left: 48px;
    }
}

.side-menu-inner {
    width: 100%;
    height: 100%;
    position: relative;
    text-align: center;
}

@media screen and (min-width: 900px) {
    .side-menu-inner {
        height: 100%;
        display: flex;
        align-items: center;
    }
}

.menu__copyrights {
    position: absolute;
    top: auto;
    right: auto;
    bottom: 16px;
    left: -16px;
    font-size: 1.2rem;
}

.header__nav_list {
    display: inline-block;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 12px 0;
    margin: auto auto 76px;
}

@media screen and (min-width: 900px) {
    .header__nav_list {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        height: auto;
        position: absolute;
        top: 0;
        right: auto;
        bottom: 0;
        left: 48px;
        margin: auto;
    }
}

.header__nav_item {
    margin: auto;
    text-align: left;
}

.header__nav_item a {
    width: 100%;
    padding: 12px 18px;
    display: block;
    border-radius: 8px;
}

.header__nav_item a.active,
.header__nav_item a:hover {
    background: rgba(254, 253, 249, 0.2);
    backdrop-filter: blur(20px);
}

.header__nav_item span {
    line-height: 1;
    color: #082531;
}

@media screen and (min-width: 900px) {
    .header__nav_item {
        margin: 0;
        width: 100%;
    }

    .header__nav_item span {
        line-height: 1;
        color: #fff;
    }
}

.header__nav_item-en {
    font-size: 1.2rem;
    margin-bottom: 8px;
    display: inline-block;
}

.header__nav_item-ja {
    font-size: 1.6rem;
    position: relative;
    padding-right: 12px;
}

.header__nav_item-ja::after {
    background: url(../images/arrow.svg) no-repeat center center/cover;
    width: 8px;
    height: 8px;
    display: block;
    content: '';
    position: absolute;
    top: -4px;
    right: 0;
    bottom: 0;
    left: auto;
    margin: auto;
}

@media screen and (min-width: 900px) {
    .header__nav_item-ja::after {
        background: url(../images/arrow_w.svg) no-repeat center center/cover;
    }
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
    padding: 4px 4px;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;
    z-index: 9999 !important;
    position: fixed;
    bottom: 16px;
    right: 16px;
    background: rgba(254, 253, 249, 0.2);
    width: 82px;
    height: 52px;
    border-radius: 40px;
    border: 1px solid #082531;
    padding: 16.5px 16.5px;
    backdrop-filter: blur(20px);
}

@media only screen and (max-width: 1000px) {
    .hamburger {
        display: inline-block;
    }
}

.hamburger-box {
    width: 45px;
    height: 15px;
    display: inline-block;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -0.5px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 45px;
    height: 1px;
    background-color: #030303;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block;
}

.hamburger-inner::before {
    top: -7px;
}

.hamburger-inner::after {
    bottom: -7px;
}

/*
 * 3DX
 */
.hamburger--3dx .hamburger-box {
    perspective: 90px;
}

.hamburger--3dx .hamburger-inner {
    transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx .hamburger-inner::before,
.hamburger--3dx .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx.is-active .hamburger-inner {
    background-color: transparent;
    transform: rotateY(180deg);
}

.hamburger--3dx.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg);
}

.hamburger--3dx.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DX Reverse
 */
.hamburger--3dx-r .hamburger-box {
    perspective: 90px;
}

.hamburger--3dx-r .hamburger-inner {
    transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx-r .hamburger-inner::before,
.hamburger--3dx-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx-r.is-active .hamburger-inner {
    background-color: transparent;
    transform: rotateY(-180deg);
}

.hamburger--3dx-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg);
}

.hamburger--3dx-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DY
 */
.hamburger--3dy .hamburger-box {
    perspective: 90px;
}

.hamburger--3dy .hamburger-inner {
    transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy .hamburger-inner::before,
.hamburger--3dy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy.is-active .hamburger-inner {
    background-color: transparent;
    transform: rotateX(-180deg);
}

.hamburger--3dy.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg);
}

.hamburger--3dy.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DY Reverse
 */
.hamburger--3dy-r .hamburger-box {
    perspective: 90px;
}

.hamburger--3dy-r .hamburger-inner {
    transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy-r .hamburger-inner::before,
.hamburger--3dy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy-r.is-active .hamburger-inner {
    background-color: transparent;
    transform: rotateX(180deg);
}

.hamburger--3dy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg);
}

.hamburger--3dy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DXY
 */
.hamburger--3dxy .hamburger-box {
    perspective: 90px;
}

.hamburger--3dxy .hamburger-inner {
    transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy .hamburger-inner::before,
.hamburger--3dxy .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy.is-active .hamburger-inner {
    background-color: transparent;
    transform: rotateX(180deg) rotateY(180deg);
}

.hamburger--3dxy.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg);
}

.hamburger--3dxy.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * 3DXY Reverse
 */
.hamburger--3dxy-r .hamburger-box {
    perspective: 90px;
}

.hamburger--3dxy-r .hamburger-inner {
    transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy-r .hamburger-inner::before,
.hamburger--3dxy-r .hamburger-inner::after {
    transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy-r.is-active .hamburger-inner {
    background-color: transparent;
    transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
}

.hamburger--3dxy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 7px, 0) rotate(45deg);
}

.hamburger--3dxy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -7px, 0) rotate(-45deg);
}

/*
 * Arrow
 */
.hamburger--arrow.is-active .hamburger-inner::before {
    transform: translate3d(-9px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

.hamburger--arrow.is-active .hamburger-inner::after {
    transform: translate3d(-9px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Arrow Right
 */
.hamburger--arrow-r.is-active .hamburger-inner::before {
    transform: translate3d(9px, 0, 0) rotate(45deg) scale(0.7, 1);
}

.hamburger--arrow-r.is-active .hamburger-inner::after {
    transform: translate3d(9px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Alt
 */
.hamburger--arrowalt .hamburger-inner::before {
    transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt .hamburger-inner::after {
    transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt.is-active .hamburger-inner::before {
    top: 0;
    transform: translate3d(-9px, -11.25px, 0) rotate(-45deg) scale(0.7, 1);
    transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.hamburger--arrowalt.is-active .hamburger-inner::after {
    bottom: 0;
    transform: translate3d(-9px, 11.25px, 0) rotate(45deg) scale(0.7, 1);
    transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Alt Right
 */
.hamburger--arrowalt-r .hamburger-inner::before {
    transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt-r .hamburger-inner::after {
    transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
    top: 0;
    transform: translate3d(9px, -11.25px, 0) rotate(45deg) scale(0.7, 1);
    transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: translate3d(9px, 11.25px, 0) rotate(-45deg) scale(0.7, 1);
    transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Turn
 */
.hamburger--arrowturn.is-active .hamburger-inner {
    transform: rotate(-180deg);
}

.hamburger--arrowturn.is-active .hamburger-inner::before {
    transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

.hamburger--arrowturn.is-active .hamburger-inner::after {
    transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Turn Right
 */
.hamburger--arrowturn-r.is-active .hamburger-inner {
    transform: rotate(-180deg);
}

.hamburger--arrowturn-r.is-active .hamburger-inner::before {
    transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

.hamburger--arrowturn-r.is-active .hamburger-inner::after {
    transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
 * Boring
 */
.hamburger--boring .hamburger-inner,
.hamburger--boring .hamburger-inner::before,
.hamburger--boring .hamburger-inner::after {
    transition-property: none;
}

.hamburger--boring.is-active .hamburger-inner {
    transform: rotate(45deg);
}

.hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
}

.hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
}

/*
 * Collapse
 */
.hamburger--collapse .hamburger-inner {
    top: auto;
    bottom: 0;
    transition-duration: 0.13s;
    transition-delay: 0.13s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse .hamburger-inner::after {
    top: -14px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse.is-active .hamburger-inner {
    transform: translate3d(0, -7px, 0) rotate(-45deg);
    transition-delay: 0.22s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Collapse Reverse
 */
.hamburger--collapse-r .hamburger-inner {
    top: auto;
    bottom: 0;
    transition-duration: 0.13s;
    transition-delay: 0.13s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse-r .hamburger-inner::after {
    top: -14px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse-r .hamburger-inner::before {
    transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse-r.is-active .hamburger-inner {
    transform: translate3d(0, -7px, 0) rotate(45deg);
    transition-delay: 0.22s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Elastic
 */
.hamburger--elastic .hamburger-inner {
    top: 0.5px;
    transition-duration: 0.275s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic .hamburger-inner::before {
    top: 7px;
    transition: opacity 0.125s 0.275s ease;
}

.hamburger--elastic .hamburger-inner::after {
    top: 14px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic.is-active .hamburger-inner {
    transform: translate3d(0, 7px, 0) rotate(135deg);
    transition-delay: 0.075s;
}

.hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0;
}

.hamburger--elastic.is-active .hamburger-inner::after {
    transform: translate3d(0, -14px, 0) rotate(-270deg);
    transition-delay: 0.075s;
}

/*
 * Elastic Reverse
 */
.hamburger--elastic-r .hamburger-inner {
    top: 0.5px;
    transition-duration: 0.275s;
    transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic-r .hamburger-inner::before {
    top: 7px;
    transition: opacity 0.125s 0.275s ease;
}

.hamburger--elastic-r .hamburger-inner::after {
    top: 14px;
    transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic-r.is-active .hamburger-inner {
    transform: translate3d(0, 7px, 0) rotate(-135deg);
    transition-delay: 0.075s;
}

.hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0;
}

.hamburger--elastic-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -14px, 0) rotate(270deg);
    transition-delay: 0.075s;
}

/*
 * Emphatic
 */
.hamburger--emphatic {
    overflow: hidden;
}

.hamburger--emphatic .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in;
}

.hamburger--emphatic .hamburger-inner::before {
    left: 0;
    transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}

.hamburger--emphatic .hamburger-inner::after {
    top: 7px;
    right: 0;
    transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}

.hamburger--emphatic.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent;
}

.hamburger--emphatic.is-active .hamburger-inner::before {
    left: -90px;
    top: -90px;
    transform: translate3d(90px, 90px, 0) rotate(45deg);
    transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger--emphatic.is-active .hamburger-inner::after {
    right: -90px;
    top: -90px;
    transform: translate3d(-90px, 90px, 0) rotate(-45deg);
    transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Emphatic Reverse
 */
.hamburger--emphatic-r {
    overflow: hidden;
}

.hamburger--emphatic-r .hamburger-inner {
    transition: background-color 0.125s 0.175s ease-in;
}

.hamburger--emphatic-r .hamburger-inner::before {
    left: 0;
    transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
}

.hamburger--emphatic-r .hamburger-inner::after {
    top: 7px;
    right: 0;
    transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
}

.hamburger--emphatic-r.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent;
}

.hamburger--emphatic-r.is-active .hamburger-inner::before {
    left: -90px;
    top: 90px;
    transform: translate3d(90px, -90px, 0) rotate(-45deg);
    transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger--emphatic-r.is-active .hamburger-inner::after {
    right: -90px;
    top: 90px;
    transform: translate3d(-90px, -90px, 0) rotate(45deg);
    transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
 * Minus
 */
.hamburger--minus .hamburger-inner::before,
.hamburger--minus .hamburger-inner::after {
    transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
}

.hamburger--minus.is-active .hamburger-inner::before,
.hamburger--minus.is-active .hamburger-inner::after {
    opacity: 0;
    transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
}

.hamburger--minus.is-active .hamburger-inner::before {
    top: 0;
}

.hamburger--minus.is-active .hamburger-inner::after {
    bottom: 0;
}

/*
 * Slider
 */
.hamburger--slider .hamburger-inner {
    top: 0.5px;
}

.hamburger--slider .hamburger-inner::before {
    top: 7px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s;
}

.hamburger--slider .hamburger-inner::after {
    top: 14px;
}

.hamburger--slider.is-active .hamburger-inner {
    transform: translate3d(0, 7px, 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-6.42857px, -6px, 0);
    opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -14px, 0) rotate(-90deg);
}

/*
 * Slider Reverse
 */
.hamburger--slider-r .hamburger-inner {
    top: 0.5px;
}

.hamburger--slider-r .hamburger-inner::before {
    top: 7px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.15s;
}

.hamburger--slider-r .hamburger-inner::after {
    top: 14px;
}

.hamburger--slider-r.is-active .hamburger-inner {
    transform: translate3d(0, 7px, 0) rotate(-45deg);
}

.hamburger--slider-r.is-active .hamburger-inner::before {
    transform: rotate(45deg) translate3d(6.42857px, -6px, 0);
    opacity: 0;
}

.hamburger--slider-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -14px, 0) rotate(90deg);
}

/*
 * Spin
 */
.hamburger--spin .hamburger-inner {
    transition-duration: 0.22s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin.is-active .hamburger-inner {
    transform: rotate(30deg);
    transition-delay: 0.12s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-60deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spin Reverse
 */
.hamburger--spin-r .hamburger-inner {
    transition-duration: 0.22s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin-r .hamburger-inner::before {
    transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger--spin-r .hamburger-inner::after {
    transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin-r.is-active .hamburger-inner {
    transform: rotate(-225deg);
    transition-delay: 0.12s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg);
    transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Spring
 */
.hamburger--spring .hamburger-inner {
    top: 0.5px;
    transition: background-color 0s 0.13s linear;
}

.hamburger--spring .hamburger-inner::before {
    top: 7px;
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring .hamburger-inner::after {
    top: 14px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring.is-active .hamburger-inner {
    transition-delay: 0.22s;
    background-color: transparent;
}

.hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 7px, 0) rotate(45deg);
}

.hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 7px, 0) rotate(-45deg);
}

/*
 * Spring Reverse
 */
.hamburger--spring-r .hamburger-inner {
    top: auto;
    bottom: 0;
    transition-duration: 0.13s;
    transition-delay: 0s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring-r .hamburger-inner::after {
    top: -14px;
    transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
}

.hamburger--spring-r .hamburger-inner::before {
    transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring-r.is-active .hamburger-inner {
    transform: translate3d(0, -7px, 0) rotate(-45deg);
    transition-delay: 0.22s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
}

.hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(90deg);
    transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand
 */
.hamburger--stand .hamburger-inner {
    transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}

.hamburger--stand .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand.is-active .hamburger-inner {
    transform: rotate(90deg);
    background-color: transparent;
    transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}

.hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Stand Reverse
 */
.hamburger--stand-r .hamburger-inner {
    transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
}

.hamburger--stand-r .hamburger-inner::before {
    transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand-r .hamburger-inner::after {
    transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand-r.is-active .hamburger-inner {
    transform: rotate(-90deg);
    background-color: transparent;
    transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
}

.hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    transform: rotate(-45deg);
    transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(45deg);
    transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Squeeze
 */
.hamburger--squeeze .hamburger-inner {
    transition-duration: 0.075s;
    transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze .hamburger-inner::before {
    transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze.is-active .hamburger-inner {
    transform: rotate(45deg);
    transition-delay: 0.12s;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
    transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
 * Vortex
 */
.hamburger--vortex .hamburger-inner {
    transition-duration: 0.2s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex .hamburger-inner::before,
.hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear;
}

.hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity;
}

.hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, transform;
}

.hamburger--vortex.is-active .hamburger-inner {
    transform: rotate(765deg);
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex.is-active .hamburger-inner::before,
.hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s;
}

.hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
}

.hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(90deg);
}

/*
 * Vortex Reverse
 */
.hamburger--vortex-r .hamburger-inner {
    transition-duration: 0.2s;
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex-r .hamburger-inner::before,
.hamburger--vortex-r .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear;
}

.hamburger--vortex-r .hamburger-inner::before {
    transition-property: top, opacity;
}

.hamburger--vortex-r .hamburger-inner::after {
    transition-property: bottom, transform;
}

.hamburger--vortex-r.is-active .hamburger-inner {
    transform: rotate(-765deg);
    transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex-r.is-active .hamburger-inner::before,
.hamburger--vortex-r.is-active .hamburger-inner::after {
    transition-delay: 0s;
}

.hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
}

.hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    transform: rotate(-90deg);
}