/*!
Theme Name: 船井総合研究所
heme URI: https://panarea.co.jp
Author: shogo yonetani
Author URI: https://panarea.co.jp
Description: 船井総合研究所
*/
:root {
    --max-width: 1218px;
    --main-bg-color: #1c272a;
    --main-bg-sub-color: #f7f7fc;
    --main-text-color: #ffffff;
    --main-caption-color: #6b7275;
    --main-catch-color: #ffff55;
    --foot-bg-color: #151919;
    --key-color: #2b4bba;
    --fil-color: #fc5230;
    --border-color: #dce0e1
}

/*!color*/
/*!レスポンシブ*/
.mf-cursor {
    color: #555555;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10001 !important;
    direction: ltr;
    contain: layout style size;
    pointer-events: none;
    transition: opacity 0.3s, color 0.4s
}

.mf-cursor:before {
    content: "";
    position: absolute;
    top: -24px;
    left: -24px;
    display: block;
    width: 48px;
    height: 48px;
    transform: scale(0.2);
    background: currentColor;
    border-radius: 50%;
    transition: transform 0.25s ease-in-out, opacity 0.1s
}

.mf-cursor.-inverse {
    color: #aaa
}

@supports (mix-blend-mode: exclusion) {
    .mf-cursor.-exclusion {
        mix-blend-mode: exclusion
    }

    .mf-cursor.-exclusion:before {
        background: #aaa
    }
}

.mf-cursor.-pointer:before {
    transform: scale(0.15)
}

.mf-cursor.-text {
    white-space: nowrap
}

.mf-cursor.-text:before {
    opacity: 0.85;
    transform: scale(1.7)
}

.mf-cursor.-text.-active:before {
    transform: scale(1.6);
    transition-duration: 0.2s
}

.mf-cursor.-icon:before {
    transform: scale(1.5)
}

.mf-cursor.-icon.-active:before {
    transform: scale(1.4)
}

.mf-cursor.-hidden:before {
    transform: scale(0)
}

.mf-cursor-text {
    position: absolute;
    top: -18px;
    left: -18px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0) rotate(10deg);
    opacity: 0;
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    transition: opacity 0.4s, transform 0.3s
}

.mf-cursor.-text .mf-cursor-text,
.mf-cursor.-icon .mf-cursor-text {
    opacity: 1;
    transform: scale(1)
}

.mf-cursor-media {
    position: absolute;
    width: 200px !important;
    height: 200px !important;
    margin: -100px 0 0 -100px !important
}

@media screen and (max-width: 768px) {
    .mf-cursor-media {
        width: 108px !important;
        height: 108px !important;
        margin: -54px 0 0 -54px !important
    }
}

.mf-cursor-media img,
.mf-cursor-media video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

@supports (object-fit: cover) {

    .mf-cursor-media img,
    .mf-cursor-media video {
        position: static;
        width: 100%;
        height: 100%;
        object-fit: cover;
        transform: translateZ(0)
    }
}

.mf-cursor-media-box {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform: scale(0) translateZ(0);
    padding: 1px;
    opacity: 0;
    border-radius: 50%;
    transition: transform 0.35s, opacity 0.2s 0.2s
}

.mf-cursor.-media .mf-cursor-media-box {
    opacity: 1;
    transform: scale(0.696);
    transition-duration: 0.4s, 0.4s;
    transition-delay: 0s, 0s
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

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

audio,
canvas,
progress,
video {
    display: inline-block;
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden],
template {
    display: none
}

a {
    background: transparent
}

a:active,
a:hover {
    outline: 0
}

abbr[title] {
    border-bottom: 1px dotted
}

b,
strong {
    font-weight: 700
}

dfn {
    font-style: italic
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

img {
    border: 0
}

svg:not(:root) {
    overflow: hidden
}

figure {
    margin: 1em 40px
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0
}

pre {
    overflow: auto
}

code,
kbd,
pre,
samp {
    font-family: monospace;
    font-size: 1em
}

input,
optgroup,
select,
textarea {
    color: inherit;
    font: inherit;
    margin: 0
}

button {
    overflow: visible
}

button,
select {
    text-transform: none
}

button,
html input[type="button"],
input[type=reset],
input[type=submit] {
    -webkit-appearance: button
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

input {
    line-height: normal
}

input[type=checkbox],
input[type=radio] {
    box-sizing: border-box;
    padding: 0
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none
}

fieldset {
    border: 1px solid silver;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    border: 0;
    padding: 0
}

textarea {
    overflow: auto
}

optgroup {
    font-weight: 700
}

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

td,
th {
    padding: 0
}

/*!//normalize.css*/
/*! locomotive-scroll v4.1.3 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
    overflow: hidden
}

html.has-scroll-dragging {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.has-scroll-smooth body {
    overflow: hidden
}

.has-scroll-smooth [data-scroll-container] {
    min-height: 100vh
}

[data-scroll-direction=horizontal] [data-scroll-container] {
    display: inline-block;
    height: 100vh;
    white-space: nowrap
}

[data-scroll-direction=horizontal] [data-scroll-section] {
    display: inline-block;
    height: 100%;
    vertical-align: top;
    white-space: nowrap
}

.c-scrollbar {
    height: 100%;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform-origin: center right;
    transition: transform .3s, opacity .3s;
    width: 11px
}

.c-scrollbar:hover {
    transform: scaleX(1.45)
}

.c-scrollbar:hover,
.has-scroll-dragging .c-scrollbar,
.has-scroll-scrolling .c-scrollbar {
    opacity: 1
}

[data-scroll-direction=horizontal] .c-scrollbar {
    bottom: 0;
    height: 10px;
    top: auto;
    transform: scaleY(1);
    width: 100%
}

[data-scroll-direction=horizontal] .c-scrollbar:hover {
    transform: scaleY(1.3)
}

.c-scrollbar_thumb {
    background-color: #000;
    border-radius: 10px;
    cursor: -webkit-grab;
    cursor: grab;
    margin: 2px;
    opacity: .5;
    position: absolute;
    right: 0;
    top: 0;
    width: 7px
}

.has-scroll-dragging .c-scrollbar_thumb {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
    bottom: 0;
    right: auto
}

/*!basic css*/
html {
    height: 100%;
    font-size: 1.2vw
}

@media screen and (max-width: 768px) {
    html {
        font-size: 3.5vw
    }
}

@media screen and (min-width: 1367px) {
    html {
        font-size: 16.4px
    }
}

body {
    margin: 0;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    width: auto;
    height: auto;
    font-family: "Inter", ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, sans-serif;
    font-weight: 500;
    letter-spacing: 0;
    -webkit-text-size-adjust: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--main-bg-color);
    background-size: 100px;
    background-repeat: repeat;
    color: #1e1e1e;
    /*opacity: 0;*/
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    padding-bottom: 1px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

* {
    /*color: #1e1e1e;*/
    color: #000;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-feature-settings: "palt";
    -ms-overflow-style: none
}

*::-webkit-scrollbar {
    display: none
}

::selection {
    background-color: rgba(0, 0, 0, 0.15);
    color: #252525
}

/*!TEXT*/
p,
h1,
h2,
h3,
h4,
h5 {
    display: block;
    -webkit-margin-before: 0em;
    -webkit-margin-after: 0em;
    -webkit-margin-start: 0px;
    -webkit-margin-end: 0px;
    margin: 0;
    font-size: 1em;
    line-height: 2
}

h1,
h2,
h3,
h4,
h5 {
    position: relative;
    z-index: 15
}

p {
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1.8
}

.sans {
    font-family: 'Inter', Avenir Next, Verdana, 'M PLUS 1p', 游ゴシック, Yu Gothic, YuGothic, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, sans-serif
}

.serif {
    font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "HGS明朝B", "ＭＳ Ｐ明朝", serif, "Meiryo", "Sawarabi Mincho", "メイリオ", "ＭＳ Ｐゴシック", sans-serif
}

i {
    font-style: normal
}

.emphasis {
    background: linear-gradient(#ff1d9157, #ff1d9157) no-repeat;
    background-size: 100%;
    background-position: 0
}

.posCenter {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0)
}

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

img.objf {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}

video.objf {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}

/*!LINK*/
a {
    color: #151515;
    text-decoration: none
}

a.not {
    cursor: not-allowed
}

a.inline {
    text-decoration: underline
}

a.arrow {
    display: flex;
    align-items: center
}

a.arrow>._arrow {
    position: relative;
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3.28em;
    height: 3.28em;
    margin-left: 18px;
    border-radius: 3.28em;
    overflow: hidden
}

a.arrow>._arrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    background: #aa8c5a
}

a.arrow>._arrow img {
    width: 1em;
    height: 1em
}

p.btn {
    position: relative;
    z-index: 15;
    display: block
}

p.btn._liner {
    display: table;
    margin: 0 auto;
    line-height: 3
}

p.btn._liner::before {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background: #150606;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

p.btn._liner::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #150606;
    position: absolute;
    bottom: 0;
    right: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    transition-delay: .246s
}

p.btn._liner:hover::before {
    width: 100%;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    transition-delay: .246s
}

p.btn._liner:hover::after {
    width: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.noallow {
    cursor: not-allowed !important;
    pointer-events: none !important
}

/*!ul/dl*/
ul,
dl {
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    -webkit-padding-start: 0;
    -moz-margin-before: 0;
    -moz-margin-after: 0;
    -moz-margin-start: 0;
    -moz-margin-end: 0;
    -moz-padding-start: 0;
    -ms-margin-before: 0;
    -ms-margin-after: 0;
    -ms-margin-start: 0;
    -ms-margin-end: 0;
    -ms-padding-start: 0;
    -o-margin-before: 0;
    -o-margin-after: 0;
    -o-margin-start: 0;
    -o-margin-end: 0;
    -o-padding-start: 0;
    margin-before: 0;
    margin-after: 0;
    margin-start: 0;
    margin-end: 0;
    padding-start: 0;
    -webkit-padding-left: 0;
    -moz-padding-left: 0;
    -ms-padding-left: 0;
    -o-padding-left: 0;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0
}

ul li {
    list-style-type: none
}

dl dd {
    margin-left: 0
}

.clear::after {
    content: '';
    display: block;
    clear: both
}

/*!ASPECT*/
.aspect {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden
}

.aspect.aspect35 {
    padding-top: 35%
}

.aspect.aspect41 {
    padding-top: 41.4%
}

.aspect.aspect50 {
    padding-top: 50%
}

.aspect.aspect56 {
    padding-top: 56.25%
}

.aspect.aspect61 {
    padding-top: 61.8%
}

.aspect.aspect75 {
    padding-top: 75%
}

.aspect.aspect100 {
    padding-top: 100%
}

.aspect.aspect120 {
    padding-top: 120%
}

.aspect.aspect141 {
    padding-top: 141.4%
}

.aspect.aspect178 {
    padding-top: 178%
}

.aspect.aspect200 {
    padding-top: 200%
}

.aspect.aspect282 {
    padding-top: 282.8%
}

.aspect .aspectBlock {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%
}

.aspect .aspectBlock .aspectInner {
    height: calc(100% + 10rem);
    transform: translateY(-5rem)
}

.aspect .aspectBlock img {
    width: 100%;
    height: auto
}

.aspect .aspectBlock img.objf {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;'
}

.aspect .aspectBlock blockquote {
    width: 100% !important;
    height: 100% !important
}

.aspect .aspectBlock blockquote iframe {
    width: 100% !important;
    height: 100% !important
}

.aspect .aspectBlock iframe {
    width: 100%;
    height: 100%
}

.aspect .aspectBlock video {
    width: 100%;
    height: auto
}

.showImg {
    transform: scale(1.23);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    transition-duration: .82s
}

.showImg:hover {
    transform: scale(1.1);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

/*!fugure*/
figure {
    margin: 0
}

figure figurecaption {
    font-size: .85em;
    margin-top: .41em;
    display: block
}

/*!shadow*/
.sdw {
    box-shadfigureow: 0 1rem 3rem rgba(0, 0, 0, 0.05)
}

.shadow {
    box-shadow: 0 2.5rem 2rem -2rem #193b4d66
}

/*!Resposive*/
.hidden-xs {
    display: block !important
}

@media screen and (max-width: 768px) {
    .hidden-xs {
        display: none !important
    }
}

.visible-xs {
    display: none !important
}

@media screen and (max-width: 768px) {
    .visible-xs {
        display: block !important
    }
}

/*!.sticky*/
.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 8999
}

/*!page loading*/
#main {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999999;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    background: #aa8c5a;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

#main::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1
}

#main .img {
    overflow: hidden;
    height: 2.05em
}

#main .img img {
    width: auto;
    height: 2.05em;
    transform: translateY(2.05em)
}

@media screen and (max-width: 768px) {
    #main .img img {
        height: 2.05em
    }
}

#main .img img.gone {
    transform: translateY(0);
    transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
    -o-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
    -moz-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s;
    -webkit-transition: cubic-bezier(0.43, 0.05, 0.17, 1) 0.82s 0.82s
}

#main .tagline p {
    font-size: 1.46em;
    font-weight: 600;
    color: #fff
}

#main .tagline p strong {
    color: #aa8c5a
}

#main .tagline img {
    width: auto;
    height: 2.87em
}

@media screen and (max-width: 768px) {
    #main .tagline img {
        display: block;
        margin: 0 auto;
        width: 70%;
        height: auto
    }
}

@keyframes headingAnimation {
    0% {
        background-position: 0 0
    }

    100% {
        background-position: -200% -200%
    }
}

[data-loading="true"] #main.hide {
    top: -100%;
    pointer-events: none;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

#remover {
    position: fixed;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 999999;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    background: #aa8c5a;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

#remover::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1
}

#remover.remove {
    top: 0;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

/*!.inview*/
.inview {
    opacity: 0
}

.inview.action {
    opacity: 1;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.inview.action[data-delay="1"] {
    transition-delay: .05s
}

.inview.action[data-delay="2"] {
    transition-delay: .1s
}

.inview.action[data-delay="3"] {
    transition-delay: .15s
}

.inview.action[data-delay="4"] {
    transition-delay: .2s
}

.inview.action[data-delay="5"] {
    transition-delay: .25s
}

.inview.action[data-delay="6"] {
    transition-delay: .3s
}

.inview.action[data-delay="7"] {
    transition-delay: .35s
}

.inview.action[data-delay="8"] {
    transition-delay: .4s
}

.inview.action[data-delay="9"] {
    transition-delay: .45s
}

.inview.action[data-delay="10"] {
    transition-delay: .5s
}

.animated {
    transform: translateY(24.6px)
}

.animated.move {
    transform: translateY(0);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    transition-delay: .205s
}

.animate {
    transform: translateY(-2rem)
}

.animate.move {
    transform: translateY(0);
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s
}

.blur {
    filter: blur(10px);
    transform: translate3d(0, 0, 0) perspective(0);
    backface-visibility: hidden;
    will-change: contents
}

.blur.action {
    filter: blur(0);
    transition: ease .5s
}

.animeBox {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 15;
    overflow: hidden
}

.animeBox::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    width: 0;
    height: 100%;
    background: #aa8c5a
}

.animeBox img {
    opacity: 0
}

.animeBox.gone::after {
    animation: animeCover 1.25s forwards;
    animation-delay: .5s
}

.animeBox.gone img {
    animation: animeImg 1.25s forwards;
    animation-delay: .5s
}

@keyframes animeCover {
    0% {
        width: 0;
        left: 0
    }

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

    51% {
        width: 100%;
        left: initial;
        right: 0
    }

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

@keyframes animeImg {
    0% {
        opacity: 0
    }

    50% {
        opacity: 0
    }

    51% {
        opacity: 1
    }

    100% {
        opacity: 1
    }
}

.animation {
    animation: humbNav 1.5s linear 0s infinite;
    -o-animation: humbNav 1.5s linear 0s infinite;
    -moz-animation: humbNav 1.5s linear 0s infinite;
    -webkit-animation: humbNav 1.5s linear 0s infinite
}

@keyframes humbNav {
    0% {
        width: 30%
    }

    50% {
        width: 15%
    }

    100% {
        width: 30%
    }
}

@-webkit-keyframes humbNav {
    0% {
        width: 30%
    }

    50% {
        width: 15%
    }

    100% {
        width: 30%
    }
}

@-o-keyframes humbNav {
    0% {
        width: 30%
    }

    50% {
        width: 15%
    }

    100% {
        width: 30%
    }
}

/*!input*/
select {
    outline: none;
    text-indent: 0.01px;
    text-overflow: '';
    background: #f8f8f8;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    border: none;
    width: 100%;
    height: 60px;
    font-size: 1.5rem
}

select option {
    background-color: #fff;
    color: #333
}

/*!------------------------------------
css_assets(パーツ)
-------------------------------------*/
/*!button*/
.humbBtn {
    position: relative;
    z-index: 15;
    width: 3.28em;
    height: 3.28em;
    border-radius: 4.1em;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

@media screen and (max-width: 768px) {
    .humbBtn {
        display: block
    }
}

.humbBtn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #fff;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s
}

.humbBtn span.dots {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 4px;
    background: #1e1e1e;
    position: absolute;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.humbBtn span.dots:nth-child(1) {
    top: calc(50% - 8px);
    left: calc(50% - 8px);
    transform: translate(-50%, -50%)
}

.humbBtn span.dots:nth-child(2) {
    top: calc(50% - 8px);
    left: 50%;
    transform: translate(-50%, -50%)
}

.humbBtn span.dots:nth-child(3) {
    top: calc(50% - 8px);
    left: calc(50% + 8px);
    transform: translate(-50%, -50%)
}

.humbBtn span.dots:nth-child(4) {
    top: 50%;
    left: calc(50% - 8px);
    transform: translate(-50%, -50%)
}

.humbBtn span.dots:nth-child(5) {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.humbBtn span.dots:nth-child(6) {
    top: 50%;
    left: calc(50% + 8px);
    transform: translate(-50%, -50%)
}

.humbBtn span.dots:nth-child(7) {
    top: calc(50% + 8px);
    left: calc(50% - 8px);
    transform: translate(-50%, -50%)
}

.humbBtn span.dots:nth-child(8) {
    top: calc(50% + 8px);
    left: 50%;
    transform: translate(-50%, -50%)
}

.humbBtn span.dots:nth-child(9) {
    top: calc(50% + 8px);
    left: calc(50% + 8px);
    transform: translate(-50%, -50%);
}

.humbBtn span.border {
    display: block;
    width: 30%;
    height: 1px;
    border-radius: 2px;
    background: #1e1e1e;
    position: absolute;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn span.border:nth-child(1) {
    top: 40%;
    left: 55%;
    transform: translate(-50%, -50%)
}

.humbBtn span.border:nth-child(2) {
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);
}

.humbBtn span.border:nth-child(3) {
    top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.humbBtn span.borders {
    display: block;
    width: 30%;
    height: 1px;
    border-radius: 2px;
    background: #1e1e1e;
    position: absolute;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn span.borders:nth-child(1) {
    top: 37.5%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.humbBtn span.borders:nth-child(2) {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.humbBtn span.borders:nth-child(3) {
    top: 62.5%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.humbBtn span.txt {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    font-size: .7em;
    color: #fff;
    letter-spacing: 3px;
}

.humbBtn:hover {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn:hover::before {
    border-radius: 6px;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
}

.humbBtn:hover span.dots {
    background: #1e1e1e;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn:hover span.dots:nth-child(1) {
    top: calc(50% - 6px);
    left: calc(50% - 6px);
}

.humbBtn:hover span.dots:nth-child(2) {
    top: calc(50% - 6px);
    left: 50%;
}

.humbBtn:hover span.dots:nth-child(3) {
    top: calc(50% - 6px);
    left: calc(50% + 6px);
}

.humbBtn:hover span.dots:nth-child(4) {
    top: 50%;
    left: calc(50% - 6px);
}

.humbBtn:hover span.dots:nth-child(5) {
    top: 50%;
    left: 50%;
}

.humbBtn:hover span.dots:nth-child(6) {
    top: 50%;
    left: calc(50% + 6px);
}

.humbBtn:hover span.dots:nth-child(7) {
    top: calc(50% + 6px);
    left: calc(50% - 6px);
}

.humbBtn:hover span.dots:nth-child(8) {
    top: calc(50% + 6px);
    left: 50%;
}

.humbBtn:hover span.dots:nth-child(9) {
    top: calc(50% + 6px);
    left: calc(50% + 6px);
}

.humbBtn:hover span.borders {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn:hover span.borders:nth-child(1) {
    top: 50%;
}

.humbBtn:hover span.borders:nth-child(3) {
    top: 50%;
}

.humbBtn.active {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn.active::before {
    transform: scale(1);
    pointer-events: none;
    opacity: 0;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -o-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -moz-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
    -webkit-transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s;
}

.humbBtn.active span.dots {
    background: #f5f5f5;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn.active span.dots:nth-child(1) {
    top: 50%;
    left: calc(50% - 5px);
}

.humbBtn.active span.dots:nth-child(2) {
    top: 50%;
    left: 50%;
}

.humbBtn.active span.dots:nth-child(3) {
    top: 50%;
    left: calc(50% + 5px);
}

.humbBtn.active span.dots:nth-child(4) {
    top: 50%;
    left: calc(50% - 5px);
}

.humbBtn.active span.dots:nth-child(5) {
    top: 50%;
    left: 50%;
}

.humbBtn.active span.dots:nth-child(6) {
    top: 50%;
    left: calc(50% + 5px);
}

.humbBtn.active span.dots:nth-child(7) {
    top: 50%;
    left: calc(50% - 5px);
}

.humbBtn.active span.dots:nth-child(8) {
    top: 50%;
    left: 50%;
}

.humbBtn.active span.dots:nth-child(9) {
    top: 50%;
    left: calc(50% + 5px);
}

.humbBtn.active span.border {
    background: #555 !important;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn.active span.border:nth-child(1) {
    top: 50%;
}

.humbBtn.active span.border:nth-child(3) {
    top: 50%;
}

.humbBtn.active span.borders {
    background: #fff !important;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.humbBtn.active span.borders:nth-child(1) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}

.humbBtn.active span.borders:nth-child(2) {
    opacity: 0;
}

.humbBtn.active span.borders:nth-child(3) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-45deg);
}

.humbBtn.active span.txt {
    color: #fff !important;
}

.humbBtn.scroll span {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

/*!------------------------------------
css_sections(ブロック)
-------------------------------------*/
/*!#siteHeader------------------------------------------------------------------------------------------------*/
#siteHead {
/*  background: #fff;*/
  position: fixed;
  top: 0;
  left: 0;
  z-index: 8000;
  display: flex;
  width: 100%;
  height: min(7em, 105px);
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

@media screen and (max-width: 768px) {
    #siteHead {
        height: min(4.1em, 105px);
        top: auto;
        bottom: 0;
    }
}

#siteHead .area {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    width: calc(100% / 16 * 15);
    max-width: var(--max-width);
    margin: 0 auto;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

#siteHead .area>._left h1 {
    line-height: 1;
}

#siteHead .area>._left h1 img {
    width: auto;
    height: min(3.125vw, 42.5px);
}

@media screen and (max-width: 768px) {
    #siteHead .area {
        width: 100%;
        }

    #siteHead .area>._left h1 img {
        height: min(6.15vw, 42.5px);
    }
}

#siteHead .area>._right {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3px;
    font-size: 1.1275em;
}

@media screen and (max-width: 768px) {
    #siteHead .area>._right {
        display: none;
        width: calc(100% - calc(85px / 4 * 3));
    }
}

body.scroll ul.button_inline.header>li a {
    background: var(--main-catch-color);
    border: solid 1px var(--main-catch-color);
    color: var(--main-bg-color) !important;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

body.scroll ul.button_inline.header>li a[target="_blank"] {
    background: var(--key-color);
    border: solid 1px var(--key-color);
    color: var(--main-text-color) !important;
}
body.scroll ul.button_inline.header>li a[target="_blank"] span{
    color: #fff !important;
}

body.scroll ul.button_inline.header>li:first-child a * {
    filter: brightness(0) invert(0);
}


/*!#aside*/
aside#fixNav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5.125em;
    height: 5.125em;
    transform: translateY(-5.125em);
    transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -o-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -moz-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
    -webkit-transition: all cubic-bezier(0.28, 1.52, 0.73, 1.25) 0.41s;
}

@media screen and (max-width: 768px) {

    aside#fixNav {
        width: 4.1em;
        height: 4.1em;
        transform: translateY(0);
    }
}

aside#header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 8000;
    display: flex;
    width: 100%;
    height: min(7em, 105px);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

@media screen and (max-width: 768px) {
    aside#header {
        position: absolute;
        height: min(4.1em, 105px);
    }
}

aside#header .area {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    width: calc(100% / 16 * 15);
    max-width: var(--max-width);
    margin: 0 auto;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

/*!//#siteHeader------------------------------------------------------------------------------------------------*/
/*!#siteFooter------------------------------------------------------------------------------------------------*/
#siteFoot {
    position: relative;
    z-index: 15;
    width: 100%;
    background: var(--foot-bg-color);
    background-repeat: repeat;
    background-size: 100px;
    padding: min(9.375vw, 127.5px) 0;
}

#siteFoot * {
    color: var(--main-text-color);
}

#siteFoot .area {
    display: flex;
    flex-wrap: wrap;
    gap: min(3.125vw, 42.5px);
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 0 auto;
}

#siteFoot .area>ul {
    width: 100%;
}

#siteFoot ul.basic {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3325em;
    font-weight: 600;
}

@media screen and (max-width: 768px) {
    #siteFoot ul.basic {
        width: 100%;
        flex-wrap: wrap;
        text-align: center;
        font-size: 1em;
    }
}

#siteFoot ul.basic>li {
    display: flex;
    align-items: center;
}

#siteFoot ul.social {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: calc(85px / 8 * 3);
}

@media screen and (max-width: 768px) {
    #siteFoot ul.social {
        column-gap: calc(85px / 8 * 2);
    }
}

#siteFoot ul.social>li a {
    display: block;
    width: 2.46em;
    height: 2.46em;
}

@media screen and (max-width: 768px) {
    #siteFoot ul.social>li a {
        width: 2.05em;
        height: 2.05em;
    }
}

/*!#index----------------------------------------------------------------------------------------------*/
/*!#siteContent*/
h1.sitetitle {
    position: absolute;
    left: 3.125vw;
    z-index: 9000;
    display: flex;
    align-items: center;
    height: min(7em, 105px);
    line-height: 1;
}

@media screen and (min-width: 1367px) {
    h1.sitetitle {
        left: calc(50% - 683.5px);
    }
}

h1.sitetitle img {
    width: auto;
    height: min(3.125vw, 42.5px);
}

@media screen and (max-width: 768px) {
    h1.sitetitle img {
        height: min(6.15vw, 42.5px);
    }
}

#siteContent {
    position: relative;
    z-index: 15;
    width: 100%;
}
#siteContent::before{
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 100%;
  height: 105px;
  background: #fff;
}

@media screen and (max-width: 768px) {
    #siteContent {
        overflow: hidden;
    }
}

ul.button_inline {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: min(1.5625vw, 21.25px);
    font-size: 1.64em;
}

@media screen and (max-width: 768px) {
    ul.button_inline {
        font-size: 1.3325em;
    }
    .request ul.button_inline>li {
        min-width: 100%;
    }
    #siteHead ul.button_inline {
        width: 100%;
        padding: 0 1%;
        justify-content: space-between;
        gap: 0;
    }
    #siteHead ul.button_inline>li {
        width: 49%;
    }
}

ul.button_inline>li a {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: min(0.7813vw, 10.625px);
    width: min(19.6em, 300px);
    min-height: min(5.125em, 85px);
    background: var(--main-text-color);
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden;
    color: var(--main-bg-color) !important;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

@media screen and (max-width: 768px) {
    ul.button_inline>li a {
        min-height: min(3.28em, 85px);
        margin: 0 auto;
    }
}

ul.button_inline>li a[target="_blank"] {
    background: #1c272a;
    color: #fff !important;
}

ul.button_inline>li a>i {
    width: 1em;
    height: 1em;
}

ul.button_inline>li a:hover {
    filter: brightness(0.8);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

ul.button_inline.header {
    font-size: 1.23em;
}

ul.button_inline.header>li a {
    /*column-gap: min(0.7813vw, 10.625px);*/
    column-gap: 0;
    /* width: min(12.3em, 184.5px); */
    min-height: min(3.41667em, 51.25px);
    background: rgba(255, 255, 255, 0.1025);
    background: var(--main-caption-color);
    border: solid 1px var(--main-caption-color);
    border-radius: min(0.7813vw, 5.3126px);
    color: var(--main-bg-color) !important;
}

ul.button_inline.header>li a[target="_blank"] {
    background: var(--key-color);
    border: solid 1px var(--key-color);
    color: var(--main-text-color) !important;
}

ul.button_inline.header>li a[target="_blank"] span{
    color: #fff !important;
}

ul.button_inline.header>li a>i {
  width: 1em;
  height: 1em;
  margin-right: 5px;
}

ul.button_inline.header>li:first-child a * {
    filter: brightness(0) invert(1);
}

@media screen and (max-width: 768px) {
  #siteHead ul.button_inline{
    padding: 0 70px 0 5px;
  }
  ul.button_inline.header>li a {
    width: 100%;
  }
  ul.button_inline.header>li a {
    background: var(--main-catch-color);
    border: solid 1px var(--main-catch-color);
    color: var(--main-bg-color) !important;
  }
  ul.button_inline.header>li:first-child a * {
    filter: brightness(0) invert(0);
  }
  ul.button_inline.header > li a span.pc{
    display: none;
  }
}
.key {
  position: relative;
  z-index: 20;
  padding-top: min(11.5vw, 170px);
}

@media screen and (max-width: 768px) {
    .key {
        padding-top: min(6.15em, 170px);
    }
}

.key header {
  position: relative;
  z-index: 15;
  width: calc(100% / 64 * 58);
  max-width: var(--max-width);
  margin: 0 auto;
  /* margin-bottom: -148.75px */
  /*margin-bottom: -320px;*/
  margin-bottom: -550px;
}

@media screen and (max-width: 768px) {
    .key header {
        margin-bottom: -41px;
    }
}

.key header * {
    color: var(--main-text-color);
}

.key header h1 {
    font-size: 4.2em;
    line-height: 1;
}

@media screen and (max-width: 768px) {
    .key header h1 {
        font-size: 1.9em;
    }
}

.key header h1 b {
    color: var(--main-catch-color);
}

.key header p {
  margin-top: .615em;
  margin-top: 1.25em;
  /*font-size: 1.845em;*/
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.64;
}

@media screen and (max-width: 768px) {
    .key header p {
        font-size: 1.1275em;
    }
}

.key header p span {
    display: table;
    padding: 5px min(0.7813vw, 5.3126px) 0;
    background: var(--main-bg-color);
}

.key header p span~span {
    margin-top: min(0.7813vw, 5.3126px);
}

.key .keySwiper {
    position: relative;
    z-index: 10;
    max-width: 1680px;
    margin: 0 auto;
}

.key .keySwiper * {
    line-height: 0;
}

.key .keySwiper .swiper-wrapper>.swiper-slide {
    opacity: .5;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    transition-delay: 1s;
}

.key .keySwiper .swiper-wrapper>.swiper-slide.swiper-slide-active {
    opacity: 1;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
}

.key .keySwiper .swiper-pagination {
    top: calc(100% + 30.375px);
}

@media screen and (max-width: 768px) {
    .key .keySwiper .swiper-pagination {
        top: calc(100% + 15.9375px);
    }
}

.key .keySwiper .swiper-pagination .swiper-pagination-bullet {
    width: 170px;
    height: 5px;
    border-radius: 0;
    background: #fff;
}

@media screen and (max-width: 768px) {
    .key .keySwiper .swiper-pagination .swiper-pagination-bullet {
        width: 85px;
        height: 4px;
    }
}

.key .keySwiper .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--main-catch-color);
}

.introduction {
    position: relative;
    z-index: 15;
    background: var(--main-bg-color);
    background-size: 100px;
    background-repeat: repeat;
    padding: min(8.5vw, 170px) 0;
    overflow: hidden;
}

.introduction .ball {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -5;
    filter: blur(15px);
}

.introduction .ball img {
    animation: rolling 4.1s linear 0s infinite normal;
}

@keyframes rolling {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

.introduction .ball img {
    offset-path: path("m2.83,442.57C83.39,314.13,181.31,192.39,309.23,108.41c63.94-41.98,134.74-74.16,209.36-91.54,75.74-17.64,153.77-18.29,229.89-2.5,154.97,32.14,288.31,120.96,423.18,198.9,69.5,40.17,141.09,72.59,221.31,83.39,80.91,10.89,164.34,7.49,245.52,1.29,162.23-12.39,322.76-46.85,475.73-102.28,19.03-6.89,37.93-14.13,56.71-21.65,1.77-.71,1-3.61-.8-2.89-155.24,62.12-318.94,102.61-485.29,119.67-82.1,8.42-165.89,12.88-248.34,7.23-43.54-2.98-86.86-9.86-128.4-23.5-39.25-12.89-76.49-31.16-112.56-51.16-136.28-75.57-265.74-166.6-418.88-205.56C704.98-.43,630.8-5.31,557.6,6.21c-73.99,11.64-145.2,38.46-210.23,75.36C216.41,155.88,113.72,270.55,30.5,394.36c-10.35,15.4-20.41,30.98-30.27,46.7-1.03,1.64,1.57,3.15,2.59,1.51h0Z");
    animation: move 24.6s ease-in-out infinite normal;
}

@keyframes move {
    0% {
        offset-distance: 0%;
    }

    100% {
        offset-distance: 100%;
    }
}

.introduction header {
    width: calc(100% / 16 * 15);
    max-width: var(--max-width);
    margin: 0 auto;
}

.introduction header * {
    color: var(--main-text-color);
}

.introduction header h2 {
    font-size: 4.51em;
    line-height: 1.1275;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .introduction header h2 {
        font-size: 2.46em;
        text-align: left;
    }

    .introduction header h2 br {
        display: none;
    }
}

.introduction header h2 b {
    color: var(--main-catch-color);
}

.introduction header p {
    font-size: 1.845em;
    line-height: 1.64;
    margin-top: 1em;
}

@media screen and (max-width: 768px) {
    .introduction header p {
        font-size: 1.3325em;
        margin-top: .615em;
    }
}

.service {
    position: relative;
    z-index: 15;
    padding: min(9.375vw, 127.5px) 0;
    background: var(--main-text-color);
}

.service header {
    width: calc(100% / 16 * 15);
    max-width: var(--max-width);
    margin: 0 auto;
    text-align: center;
}

.service header h2 {
    font-size: 4.1em;
    line-height: 1.1275;
}

@media screen and (max-width: 768px) {
    .service header h2 {
        font-size: 2.255em;
    }
}

.service header h2 b {
    color: var(--main-catch-color);
}

.service header p {
    font-size: 1.3325em;
    line-height: 1.64;
    margin-top: 1em;
}

@media screen and (max-width: 768px) {
    .service header p {
        margin-top: .41em;
        font-size: 1.23em;
    }
}

.service header+div {
    margin-top: min(4.6875vw, 63.75px);
}

.service .area {
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .service .area {
        width: calc(100% / 16 * 15);
    }
}

.service .area * {
    color: #1e1e1e;
}

.service .area ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: min(3.125vw, 42.5px);
}

.service .area ul>li {
    width: calc((100% / 2) - (42.5px / 2 * 1));
    min-height: 287px;
    padding: min(3.125vw, 42.5px);
    background: #dadde3;
    background-size: 100px;
    background-repeat: repeat;
    border-radius: min(0.7813vw, 5.3126px);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    border: 2px solid #c9b379;
}

@media screen and (max-width: 768px) {
    .service .area ul>li {
        min-width: 100%;
        min-height: initial;
        padding: min(6.15vw, 42.5px);
    }
}

.service .area ul>li>span {
    display: flex;
    align-items: center;
    column-gap: min(1.5625vw, 21.25px);
    color: var(--main-caption-color);
}

@media screen and (max-width: 768px) {
    .service .area ul>li>span {
        column-gap: min(3.125vw, 21.25px);
    }
}

.service .area ul>li>span i {
    display: block;
    width: 2.255em;
    height: 2.255em;
}

@media screen and (max-width: 768px) {
    .service .area ul>li>span i {
        width: 1.845em;
        height: 1.845em;
    }
}

.service .area ul>li dl {
    margin-top: 1em;
}

@media screen and (max-width: 768px) {
    .service .area ul>li dl {
        margin-top: .615em;
    }
}

.service .area ul>li dl dt {
    font-size: 1.845em;
    font-weight: 600;
    line-height: 1.64;
}

@media screen and (max-width: 768px) {
    .service .area ul>li dl dt {
        font-size: 1.64em;
    }
}

.service .area ul>li dl dd {
    margin-top: 1em;
    font-size: 1.3325em;
    line-height: 1.64;
}

@media screen and (max-width: 768px) {
    .service .area ul>li dl dd {
        margin-top: .41em;
        font-size: 1.1275em;
    }
}

.service .area ul.done>li {
    opacity: 0;
    transform: translateY(21.25px);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(0) {
    transition-delay: calc((0 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(1) {
    transition-delay: calc((1 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(2) {
    transition-delay: calc((2 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(3) {
    transition-delay: calc((3 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(4) {
    transition-delay: calc((4 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(5) {
    transition-delay: calc((5 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(6) {
    transition-delay: calc((6 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(7) {
    transition-delay: calc((7 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(8) {
    transition-delay: calc((8 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(9) {
    transition-delay: calc((9 * 0.1435s) + 0.328s);
}

.service .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.service .area ul.gone>li:nth-child(10) {
    transition-delay: calc((10 * 0.1435s) + 0.328s);
}

.recommend {
    position: relative;
    z-index: 15;
    background: var(--main-bg-color);
    background-size: 100px;
    background-repeat: repeat;
    overflow: hidden;
    padding: min(12.5vw, 170px) 0;
}

.recommend .ball {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -5;
    filter: blur(15px);
}

.recommend .ball img {
    animation: rolling 4.1s linear 0s infinite normal;
}

@keyframes rolling {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

.recommend .ball img {
    offset-path: path("m.14,1.45c-5.31,244.55,138.96,464.22,315.89,621.39,93.19,82.78,199.73,157.08,264.4,266.31,69.5,117.38,76.67,262.04,44.48,392.27-32.56,131.76-103.81,250.46-184.04,358.48-76.62,103.16-167.24,200.01-214.74,321.36-50.76,129.68-40.37,271.91-30.64,407.84,5.06,70.68,10.52,141.84,27.8,210.79,17.08,68.14,46.56,132.19,76.78,195.32,123.39,257.77,273.73,524.91,255.9,820.67-2.26,37.53-7.56,74.73-15.71,111.43-.42,1.88,2.47,2.68,2.89.8,62.55-281.84-56.97-557.27-177.88-805.66-31.58-64.89-64.4-129.32-93.53-195.36-31.45-71.32-52.68-144.1-62.64-221.47-9.17-71.24-13.5-143.58-16.86-215.31-3.42-73.03-3.06-146.92,11.04-218.92,26.95-137.67,112.88-246.01,197.15-353.81,79.45-101.63,154-208.71,200.37-329.96,44.91-117.43,61.35-248.83,27.86-371.45-33.03-120.91-117-209.44-209.62-289.17-47.85-41.19-97.15-80.76-142.43-124.84-45.78-44.57-87.99-92.91-125.19-144.88C78.93,336,24.63,219.48,8.15,95.23,4.03,64.12,2.46,32.82,3.14,1.45,3.18-.48.18-.48.14,1.45H.14Z");
    animation: move 24.6s ease-in-out infinite normal;
}

@keyframes move {
    0% {
        offset-distance: 0%;
    }

    100% {
        offset-distance: 100%;
    }
}

.recommend header {
    width: calc(100% / 16 * 15);
    max-width: var(--max-width);
    margin: 0 auto;
    text-align: center;
}

.recommend header * {
    color: var(--main-text-color);
}

.recommend header h2 {
    font-size: 4.1em;
    line-height: 1.1275;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .recommend header h2 {
        font-size: 2.255em;
    }
}

.recommend header h2 b {
    color: var(--main-catch-color);
}

.recommend header p {
    font-size: 1.3325em;
    line-height: 1.64;
}

.recommend header+div {
    margin-top: min(4.6875vw, 63.75px);
}

.recommend .area {
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 0 auto;
}

.recommend .area * {
    color: var(--main-text-color);
}

.recommend .area ul {
    display: flex;
    flex-wrap: wrap;
    gap: min(3.125vw, 42.5px);
}

@media screen and (max-width: 768px) {
    .recommend .area ul {
        gap: min(8.2vw, 42.5px);
    }
}

.recommend .area ul>li {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: min(3.125vw, 42.5px) min(6.25vw, 85px);
    min-width: 100%;
}

@media screen and (max-width: 768px) {
    .recommend .area ul>li {
        position: relative;
        z-index: 15;
    }
}

.recommend .area ul>li ._txt {
    flex: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

@media screen and (max-width: 768px) {
    .recommend .area ul>li ._txt {
        order: 1;
        min-width: 100%;
    }
}

.recommend .area ul>li ._img {
    flex: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

@media screen and (max-width: 768px) {
    .recommend .area ul>li ._img {
        min-width: 100%;
    }
}

.recommend .area ul>li ._img .over {
    width: calc(100% + 85px);
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .recommend .area ul>li ._img .over {
        width: calc(100% / 14 * 16);
        margin-left: calc((100% / 14) * -1);
    }
}

.recommend .area ul>li span {
    display: flex;
    align-items: center;
    max-width: 14.35em;
    min-height: 2.46em;
    padding: 0 min(1.6667vw, 21.25px);
    background: var(--key-color);
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden;
    font-size: 1.3325em;
}

@media screen and (max-width: 768px) {
    .recommend .area ul>li span {
        position: absolute;
        top: calc(100% / 28 * 11);
        left: calc(100% / 28 * -1);
        z-index: 15;
        min-height: 2.05em;
        padding: 0 min(3.125vw, 21.25px);
        font-size: 1.1275em;
    }
}

.recommend .area ul>li dl {
    margin-top: min(1.6667vw, 21.25px);
}

.recommend .area ul>li dl>dt {
    font-size: 2.46em;
    font-weight: 600;
    line-height: 1.23;
}

@media screen and (max-width: 768px) {
    .recommend .area ul>li dl>dt {
        font-size: 1.845em;
    }
}

.recommend .area ul>li dl>dd {
    margin-top: min(1.6667vw, 21.25px);
    font-size: 1.3325em;
    line-height: 1.64;
}

@media screen and (max-width: 768px) {
    .recommend .area ul>li dl>dd {
        font-size: 1.1275em;
    }
}

.recommend .area ul>li:nth-child(2n) ._txt {
    order: 1;
}

.recommend .area ul>li:nth-child(2n) ._img .over {
    margin-left: -85px;
}

@media screen and (max-width: 768px) {
    .recommend .area ul>li:nth-child(2n) ._img .over {
        margin-left: calc((100% / 14) * -1);
    }
}

.recommend .area ul.done>li ._txt {
    opacity: 0;
}

.recommend .area ul.done>li ._img {
    opacity: 0;
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(0) ._txt {
    transition-delay: calc((0 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(0) ._img {
    transition-delay: calc((0 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(1) ._txt {
    transition-delay: calc((1 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(1) ._img {
    transition-delay: calc((1 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(2) ._txt {
    transition-delay: calc((2 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(2) ._img {
    transition-delay: calc((2 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(3) ._txt {
    transition-delay: calc((3 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(3) ._img {
    transition-delay: calc((3 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(4) ._txt {
    transition-delay: calc((4 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(4) ._img {
    transition-delay: calc((4 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(5) ._txt {
    transition-delay: calc((5 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(5) ._img {
    transition-delay: calc((5 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(6) ._txt {
    transition-delay: calc((6 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(6) ._img {
    transition-delay: calc((6 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(7) ._txt {
    transition-delay: calc((7 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(7) ._img {
    transition-delay: calc((7 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(8) ._txt {
    transition-delay: calc((8 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(8) ._img {
    transition-delay: calc((8 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(9) ._txt {
    transition-delay: calc((9 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(9) ._img {
    transition-delay: calc((9 * 0.1435s) + 0.328s);
}

.recommend .area ul.gone>li ._txt {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li ._img {
    opacity: 1;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.recommend .area ul.gone>li:nth-child(10) ._txt {
    transition-delay: calc((10 * 0.1435s) + 0.5125s);
}

.recommend .area ul.gone>li:nth-child(10) ._img {
    transition-delay: calc((10 * 0.1435s) + 0.328s);
}

.recommend .membership {
    position: relative;
    z-index: 15;
    display: flex;
    flex-wrap: wrap;
    gap: 0 min(6.25vw, 85px);
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 0 auto;
    margin-top: min(6.25vw, 85px);
    padding-top: min(6.25vw, 85px);
}

.recommend .membership::before {
    content: '';
    position: absolute;
    top: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, var(--main-caption-color), var(--main-caption-color) 2px, transparent 2px, transparent 8px);
    background-size: 8px 2px;
    background-position: left bottom;
    background-repeat: repeat-x;
}

.recommend .membership h3 {
    width: 2em;
    font-size: 4.1em;
    line-height: 1.1275;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: var(--main-text-color);
}

@media screen and (max-width: 768px) {
    .recommend .membership h3 {
        width: 100%;
        font-size: 2.05em;
        -ms-writing-mode: initial;
        writing-mode: initial;
    }
}

.recommend .membership>div {
    flex: 1;
    margin-right: min(6.25vw, 85px);
    padding: min(3.9063vw, 56.25px) min(4.6875vw, 63.75px);
    background: var(--main-text-color);
    border-radius: min(0.7813vw, 5.3126px);
}

@media screen and (max-width: 768px) {
    .recommend .membership>div {
        margin-top: min(3.075vw, 21.25px);
        margin-right: 0;
    }
}

.recommend .membership>div h4 {
    font-size: 1.435em;
    font-weight: 500;
}

@media screen and (max-width: 768px) {
    .recommend .membership>div h4 {
        font-size: 1.23em;
    }
}

.recommend .membership>div ul {
    margin-top: min(0.7813vw, 5.3126px);
}

.recommend .membership>div ul>li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: min(4.6875vw, 31.875px);
    font-size: 2.255em;
    font-weight: 600;
    line-height: 1.5525;
}

@media screen and (max-width: 768px) {
    .recommend .membership>div ul>li {
        font-size: 1.845em;
    }
}

.recommend .membership>div ul>li>span.border {
    flex: 1;
    height: 3px;
    background-image: linear-gradient(to right, var(--main-caption-color), var(--main-caption-color) 2px, transparent 4px, transparent 8px);
    background-size: 8px 4px;
    background-position: left bottom;
    background-repeat: repeat-x;
}

.request {
    position: relative;
    z-index: 15;
    background: #8c0000;
    /* background: url(../img/noise.png), linear-gradient(126deg, rgba(31, 85, 138, 1) 0%, rgb(37 48 70) 25%, rgb(35 68 137) 50%, #1e1e1e73 75%, rgb(4 25 69) 100%); */
    background-size: 100px, cover;
    background-repeat: repeat;
    padding: min(9.375vw, 127.5px) 0 min(6.25vw, 85px);
}

.request::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -5;
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/background-request.jpg");
    background-position: center;
    background-size: cover;
    mix-blend-mode: color-burn;
}

.request::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -5;
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/warp.svg");
    background-position: center;
    background-size: cover;
    pointer-events: none;
}

.request header {
    width: calc(100% / 16 * 13);
    max-width: var(--max-width);
    margin: 0 auto;
}

.request header * {
    color: var(--main-text-color);
}

.request header h2 {
    font-size: 4.1em;
    line-height: 1.1275;
    text-align: center;
}
.request header h2 br.sp{
  display: none;
}
@media screen and (max-width: 768px) {
  .request header h2 {
    font-size: 2.255em;
  }
  .request header h2 br.sp{
    display: block;
  }
}

.request header h2 b {
    color: var(--main-catch-color);
}

.request header p {
    display: table;
    margin: 0 auto;
    margin-top: 1em;
    font-size: 1.845em;
    line-height: 1.64;
}

@media screen and (max-width: 768px) {
    .request header p {
        margin-top: .41em;
        font-size: 1.23em;
    }
}

.request header+div {
    margin-top: min(4.6875vw, 63.75px);
}

.request .area {
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 0 auto;
}

.request .area * {
    color: var(--main-text-color);
}

.request.plane {
    background: var(--main-bg-color);
    padding: min(4.6875vw, 0px) 0;
}

.request.plane::before,
.request.plane::after {
    display: none;
}

.courses {
    position: relative;
    z-index: 15;
    background: var(--main-bg-sub-color);
    background: url(../img/noise.png), url(../img/background_crossborder.svg), var(--main-bg-sub-color);
    background-size: 100px, 100px, cover;
    background-repeat: repeat;
    /* padding: min(9.375vw, 127.5px) 0; */
}

.courses header {
  width: calc(100% / 16 * 15);
  max-width: var(--max-width);
  margin: 0 auto;
  text-align: center;
  /*padding: 5% 0 0%;*/
  padding: 3.5% 0 0%;
}

.courses header h2 {
    font-size: 4.1em;
    line-height: 0.8;
}

@media screen and (max-width: 768px) {
    .courses header h2 {
        font-size: 2.255em;
    }
}

.courses header h2 b {
    color: var(--main-catch-color);
}

.courses header p {
    font-size: 1.3325em;
    line-height: 1.64;
    margin-top: 1em;
}

@media screen and (max-width: 768px) {
    .courses header p {
        margin-top: .41em;
        font-size: 1.23em;
    }
}

.courses header+div {
    margin-top: min(4.6875vw, 63.75px);
}

.courses .area {
    width: calc(100% / 16 * 13);
    max-width: var(--max-width);
    margin: 0 auto;
    padding-bottom: 7%;
}

@media screen and (max-width: 768px) {
    .courses .area {
        width: calc(100% / 16 * 15);
    }
}

.courses .area ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: min(3.125vw, 42.5px);
}

.courses .area ul>li {
    width: 100%;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.courses .area ul>li.belt {
    display: flex;
    align-items: flex-start;
    gap: min(3.125vw, 42.5px);
}

@media screen and (max-width: 768px) {
    .courses .area ul>li.belt {
        padding: min(6.15vw, 42.5px);
        background: var(--main-text-color);
        border-radius: min(0.7813vw, 5.3126px);
    }
}

.courses .area ul>li.belt ._icon {
    width: min(12.5vw, 170px);
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .courses .area ul>li.belt ._icon {
        display: none;
    }
}

.courses .area ul>li.belt ._txt {
    flex: 1;
}

.courses .area ul>li.belt ._txt h3 {
    font-size: 1.2em;
    font-weight: 600;
    line-height: 1.23;
    margin-top: 3%;
}

@media screen and (max-width: 768px) {
    .courses .area ul>li.belt ._txt h3 {
        font-size: 1.64em
    }
}

.courses .area ul>li.belt ._txt dl {
    margin-top: .615em
}

.courses .area ul>li.belt ._txt dl dt {
    display: flex;
    align-items: flex-start;
    column-gap: min(0.7813vw, 10.625px);
    font-size: 1.3em;
    line-height: 1.3325;
    flex-direction: column;
}

@media screen and (max-width: 768px) {
    .courses .area ul>li.belt ._txt dl dt {
        column-gap: min(2.0834vw, 10.625px);
        font-size: 1.3325em;
        align-items: center;
    }
}

.courses .area ul>li.belt ._txt dl dt>i {
    display: none
}

@media screen and (max-width: 768px) {
    .courses .area ul>li.belt ._txt dl dt>i {
        display: contents;
        width: 100%;
        height: auto;
        background: car(--main-text-color);
        border: none;
        border-radius: min(10.25vw, 170px);
        overflow: hidden;
    }
}

.courses .area ul>li.belt ._txt dl dd {
    font-size: 1em;
    line-height: 1.3325
}

@media screen and (max-width: 768px) {
    .courses .area ul>li.belt ._txt dl dd {
        font-size: 1em;
        line-height: 1.64;
        text-align: center;
    }
}

.courses .area ul>li.belt ._txt a {
    display: flex;
    align-items: center;
    column-gap: min(0.7813vw, 10.625px);
    margin-top: min(1.1719vw, 15.9375px);
    font-size: 1.64em;
    color: var(--key-color);
    line-height: 1.23
}

@media screen and (max-width: 768px) {
    .courses .area ul>li.belt ._txt a {
        column-gap: min(1.1719vw, 10.625px);
        margin-top: min(2.0834vw, 15.9375px);
        font-size: 1.3325em
    }
}

.courses .area ul>li.belt ._txt a::before {
    content: '';
    display: block;
    width: 1.23em;
    min-width: 1.23em;
    height: 1.23em;
    background: url(../img/course-01.svg);
    background-size: cover
}

.courses .area ul>li.belt ._txt a::after {
    content: '';
    display: block;
    width: .615em;
    min-width: .615em;
    height: .615em;
    background: url(../img/course-02.svg);
    background-size: cover
}

.courses .area ul.done>li {
    opacity: 0;
    transform: translateY(21.25px)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(0) {
    transition-delay: calc((0 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(1) {
    transition-delay: calc((1 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(2) {
    transition-delay: calc((2 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(3) {
    transition-delay: calc((3 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(4) {
    transition-delay: calc((4 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(5) {
    transition-delay: calc((5 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(6) {
    transition-delay: calc((6 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(7) {
    transition-delay: calc((7 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(8) {
    transition-delay: calc((8 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}
.courses .area ul.gone>li {
    width: 48% !important;
}

.courses .area ul.gone>li:nth-child(9) {
    transition-delay: calc((9 * 0.1435s) + 0.328s)
}

.courses .area ul.gone>li {
    opacity: 1;
    transform: translateY(0);
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

.courses .area ul.gone>li:nth-child(10) {
    transition-delay: calc((10 * 0.1435s) + 0.328s)
}
@media screen and (max-width: 768px) {
    .theme header h2 {
        font-size: 2.255em;
    }
    .courses .area ul.gone>li {
        width: 100% !important;
    }
    .courses .area ul>li.belt ._txt dl dt>i{
      display: flex;
      align-items: center;
      column-gap: min(0.7813vw, 10.625px);
      font-size: 1.3em;
      line-height: 1.3325;
      flex-direction: column;
      margin: 15px 0;
    }
}
.theme {
    position: relative;
    z-index: 15;
    padding: min(9.375vw, 127.5px) 0;
    background: var(--main-text-color)
}

.theme header {
    width: calc(100% / 16 * 15);
    max-width: var(--max-width);
    margin: 0 auto;
    text-align: center;
}

.theme header h2 {
    font-size: 4.1em;
    line-height: 1.1275;
}

@media screen and (max-width: 768px) {
    .theme header h2 {
        font-size: 2.255em
    }
}

.theme header h2 b {
    color: var(--main-catch-color)
}

.theme header p {
    font-size: 1.3325em;
    line-height: 1.64;
    margin-top: 1em
}

@media screen and (max-width: 768px) {
    .theme header p {
        margin-top: .41em;
        font-size: 1.23em
    }
}

.theme header+div {
    margin-top: min(4.6875vw, 63.75px)
}

.theme .area {
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 0 auto
}

@media screen and (max-width: 768px) {
    .theme .area {
        width: calc(100% / 16 * 14)
    }
}

.theme .area ul.list>li a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: min(3.125vw, 42.5px)
}

@media screen and (max-width: 768px) {
    .theme .area ul.list>li a {
        column-gap: min(2.3438vw, 10.625px)
    }
}

.theme .area ul.list>li a>._img {
    flex: 1;
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden
}

@media screen and (max-width: 768px) {
    .theme .area ul.list>li a>._img {
        min-width: 100%
    }
}

.theme .area ul.list>li a>._txt {
    flex: 1
}

@media screen and (max-width: 768px) {
    .theme .area ul.list>li a>._txt {
        min-width: 100%;
        margin-top: min(5.125vw, 42.5px)
    }
}

.theme .area ul.list>li a>._txt ul>li {
    display: flex;
    align-items: center;
    column-gap: min(0.7813vw, 10.625px);
    font-size: 1.435em;
    font-weight: 600;
    line-height: 1.23
}

@media screen and (max-width: 768px) {
    .theme .area ul.list>li a>._txt ul>li {
        font-size: 1.3325em
    }
}

.theme .area ul.list>li a>._txt ul>li::before {
    content: '';
    display: block;
    width: 1.23em;
    min-width: 1.23em;
    height: 1.23em;
    background: url(../img/theme-01.svg);
    background-size: cover
}

.theme .area ul.list>li a>._txt h3 {
    margin-top: min(1.6667vw, 21.25px);
    font-size: 2.05em;
    font-weight: 600;
    line-height: 1.23
}

@media screen and (max-width: 768px) {
    .theme .area ul.list>li a>._txt h3 {
        margin-top: min(2.0834vw, 15.9375px);
        font-size: 1.845em
    }
}

.theme .area ul.list>li a>._txt p {
    display: flex;
    align-items: center;
    column-gap: min(0.7813vw, 10.625px);
    margin-top: min(1.6667vw, 21.25px);
    font-size: 1.64em;
    color: var(--key-color);
    line-height: 1.23
}

@media screen and (max-width: 768px) {
    .theme .area ul.list>li a>._txt p {
        font-size: 1.3325em;
        margin-top: min(2.0834vw, 15.9375px)
    }
}

.theme .area ul.list>li a>._txt p::after {
    content: '';
    display: block;
    width: 0.615em;
    min-width: 0.615em;
    height: 0.615em;
    background: url(../img/course-02.svg);
    background-size: cover
}

@media screen and (max-width: 768px) {
    .theme .area ul.list>li a>._txt p::after {
        width: .615em;
        min-width: .615em;
        height: .615em
    }
}

.theme .topics {
    position: relative;
    z-index: 15;
    display: flex;
    flex-wrap: wrap;
    gap: 0 min(6.25vw, 85px);
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 0 auto;
    margin-top: min(6.25vw, 85px);
    padding-top: min(6.25vw, 85px);
    border-top: dotted 3px var(--border-color)
}

.theme .topics h3 {
    width: 2em;
    font-size: 4.1em;
    line-height: 1.1275;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

@media screen and (max-width: 768px) {
    .theme .topics h3 {
        width: 100%;
        font-size: 2.05em;
        -ms-writing-mode: initial;
        writing-mode: initial
    }
}

.theme .topics>div {
    flex: 1
}

@media screen and (max-width: 768px) {
    .theme .topics>div {
        margin-top: min(3.075vw, 21.25px)
    }
}

.theme .topics>div h4 {
    font-size: 1.435em;
    font-weight: 500
}

@media screen and (max-width: 768px) {
    .theme .topics>div h4 {
        font-size: 1.23em
    }
}

.theme .topics>div ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    border-top: dotted 3px var(--border-color)
}

.theme .topics>div ul>li {
    width: calc((100% / 2));
    padding: min(3.125vw, 42.5px) min(2.3438vw, 31.875px);
    border-bottom: dotted 3px var(--border-color)
}

@media screen and (max-width: 768px) {
    .theme .topics>div ul>li {
        min-width: 100%;
        padding: min(4.1vw, 42.5px) min(2.3438vw, 31.875px)
    }
}

.theme .topics>div ul>li a {
    display: flex;
    align-items: center;
    column-gap: min(0.7813vw, 10.625px);
    font-size: 1.435em;
    color: var(--key-color);
    font-weight: 600;
    line-height: 1.23
}

@media screen and (max-width: 768px) {
    .theme .topics>div ul>li a {
        font-size: 1.3325em;
        column-gap: min(2.3438vw, 10.625px)
    }
}

.theme .topics>div ul>li a>span {
    flex: 1
}

.theme .topics>div ul>li a::before {
    content: '';
    display: block;
    width: 1.23em;
    min-width: 1.23em;
    height: 1.23em;
    background: url(../img/theme-01.svg);
    background-size: cover
}

.theme .topics>div ul>li a::after {
    content: '';
    display: block;
    width: .85em;
    min-width: .85em;
    height: .85em;
    background: url(../img/theme-02.svg);
    background-size: cover
}

@media screen and (max-width: 768px) {
    .theme .topics>div ul>li a::after {
        width: .615em;
        min-width: .615em;
        height: .615em
    }
}

.schedule {
    position: relative;
    z-index: 15;
    background: var(--main-bg-color);
    background-size: 100px;
    background-repeat: repeat;
    padding: min(12.5vw, 170px) 0
}

.schedule header {
    width: calc(100% / 16 * 15);
    max-width: var(--max-width);
    margin: 0 auto;
    text-align: center
}

.schedule header * {
    color: var(--main-text-color)
}

.schedule header h2 {
    font-size: 4.1em;
    line-height: 1.1275;
    text-align: center
}

@media screen and (max-width: 768px) {
    .schedule header h2 {
        font-size: 2.255em
    }
}

.schedule header h2 b {
    color: var(--main-catch-color)
}

.schedule header p {
    font-size: 1.3325em;
    line-height: 1.64;
    margin-top: 1em
}

@media screen and (max-width: 768px) {
    .schedule header p {
        margin-top: .41em;
        font-size: 1.23em
    }
}

.schedule header+div {
    margin-top: min(4.6875vw, 63.75px)
}

.schedule .area {
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 0 auto
}

.schedule .area * {
    color: var(--max-width)
}

.schedule .area ul {
    display: flex;
    flex-wrap: wrap;
    gap: min(3.125vw, 42.5px)
}

.schedule .area ul>li {
    width: calc((100% / 2) - (42.5px / 2 * 1));
    min-height: 318.75px;
    padding: min(3.125vw, 42.5px);
    background: var(--main-text-color);
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden;
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li {
        min-width: 100%;
        min-height: initial;
        padding: min(6.15vw, 42.5px)
    }
}

.schedule .area ul>li div.card {
    opacity: .5
}

.schedule .area ul>li a.card::before {
    content: '';
    position: absolute;
    right: -21.25px;
    top: -21.25px;
    z-index: -5;
    display: block;
    width: 7.175em;
    height: 7.175em;
    background: url(../img/free.svg);
    background-size: cover;
    background-position: center
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li a.card::before {
        right: -10.625px;
        top: -10.625px;
        width: 5.125em;
        height: 5.125em
    }
}

.schedule .area ul>li a.card::after {
    content: '';
    position: absolute;
    right: -42.5px;
    bottom: -42.5px;
    z-index: -5;
    display: block;
    width: 4.1em;
    height: 4.1em;
    background: url(../img/theme-02.svg), var(--main-catch-color);
    background-size: 1em, cover;
    background-repeat: no-repeat;
    background-position: center
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li a.card::after {
        right: -6.15vw;
        bottom: -6.15vw;
        width: 3.28em;
        height: 3.28em
    }
}

.schedule .area ul>li .card {
    position: relative;
    z-index: 15;
    display: block
}

.schedule .area ul>li .card>span {
    display: table;
    padding: min(1.5623vw, 10.6252px) min(2.3439vw, 15.9378px);
    background: var(--main-bg-color);
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden;
    color: var(--main-text-color);
    font-size: 1.075em;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .05125em
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li .card>span {
        font-size: 1.23em
    }
}

.schedule .area ul>li .card>div {
    margin-top: min(2.3439vw, 15.9378px)
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li .card>div {
        display: flex;
        align-items: center;
        flex-wrap: wrap
    }
}

.schedule .area ul>li .card>div p {
    line-height: 1
}

.schedule .area ul>li .card>div p.year {
    font-size: 2.255em;
    font-weight: 600;
    letter-spacing: -.025625em
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li .card>div p.year {
        font-size: 1.3325em;
        font-weight: 900;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        transform: rotate(180deg)
    }
}

.schedule .area ul>li .card>div p.date {
    font-size: 4.1em;
    font-weight: 600;
    letter-spacing: -.025625em
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li .card>div p.date {
        font-size: 4.92em;
        letter-spacing: -.0246em
    }
}

.schedule .area ul>li .card>div p.date small {
    margin-left: min(1.5623vw, 10.6252px);
    font-size: .328em
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li .card>div p.date small {
        letter-spacing: 0
    }
}

.schedule .area ul>li .card>div p.time {
    font-size: 2.46em;
    font-weight: 600;
    letter-spacing: -.025625em
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li .card>div p.time {
        font-size: 2.05em
    }
}

.schedule .area ul>li .card>div p.location {
    margin-top: min(0.7813vw, 10.625px);
    font-size: 2.255em
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li .card>div p.location {
        min-width: 100%;
        margin-top: min(1.025vw, 10.625px);
        font-size: 1.64em
    }
}

.schedule .area ul>li .card>div p.location small {
    margin-left: min(1.5623vw, 10.6252px);
    font-size: .5125em;
    font-weight: 600
}

@media screen and (max-width: 768px) {
    .schedule .area ul>li .card>div p.location small {
        font-size: .615em
    }
}

.schedule .area ul>li.closed {
    opacity: .5;
    pointer-events: none
}

.schedule .area ul>li:not(.closed) {
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.schedule .area ul>li:not(.closed):hover {
    transform: scale(0.975);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.formWrap {
    position: relative;
    z-index: 15
}

.formWrap .itemHead {
    border-bottom: solid 1px rgba(0, 0, 0, 0.1025);
    padding-bottom: 2.05em;
    margin-bottom: 2.46em
}

@media screen and (max-width: 768px) {
    .formWrap .itemHead {
        padding: 0;
        padding-bottom: 1.23em;
        margin-bottom: 2.05em
    }
}

.formWrap .itemHead .announce p {
    line-height: 1.8
}

.formWrap .itemHead .announce p.must {
    display: flex;
    align-items: center;
    margin-top: .82em
}

.formWrap .itemHead .announce p.must::before {
    content: '*';
    display: block;
    color: #ff0404;
    margin-right: .205em
}

ul.listDocForm li {
    margin-bottom: 1.23em
}

@media screen and (max-width: 768px) {
    ul.listDocForm li {
        margin-bottom: 1.64em
    }
}

ul.listDocForm li.hidden {
    display: none
}

ul.listDocForm li:last-child {
    margin-bottom: 0
}

dl.listDocForm {
    display: flex;
    flex-wrap: wrap
}

dl.listDocForm dt {
    width: 100%
}

dl.listDocForm dt p {
    font-weight: 600
}

dl.listDocForm dt p small {
    color: #e04645
}

dl.listDocForm dt p.must {
    position: relative;
    z-index: 15;
    display: table
}

dl.listDocForm dd {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 5px
}

@media screen and (max-width: 768px) {
    dl.listDocForm dd {
        margin-top: 3px
    }
}

dl.listDocForm dd span.caption {
    display: block;
    width: 100%;
    margin-top: .41em;
    font-size: .85em
}

.mw_wp_form {
    padding: calc(100% / 11 * 1);
    background: #f5f5f5;
    border-radius: 22.55px;
    overflow: hidden
}

@media screen and (max-width: 768px) {
    .mw_wp_form {
        padding: calc(100% / 44 * 3);
        border-radius: 12.3px
    }
}

.mw_wp_form span.mwform-checkbox-field {
    position: relative;
    z-index: 15;
    margin-right: 6px
}

.mw_wp_form span.mwform-checkbox-field input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none
}

.mw_wp_form span.mwform-checkbox-field input:checked+span.mwform-checkbox-field-text::after {
    transform: scale(1);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.mw_wp_form span.mwform-checkbox-field span.mwform-checkbox-field-text {
    display: block;
    border: solid 1px #eee;
    background: #f8f8f8;
    padding: 8px 18px 8px 44px;
    border-radius: 5px
}

.mw_wp_form span.mwform-checkbox-field span.mwform-checkbox-field-text::before {
    content: '';
    position: absolute;
    left: 12px;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 3px;
    background: #fff;
    border: solid 1px rgba(0, 0, 0, 0.1025)
}

.mw_wp_form span.mwform-checkbox-field span.mwform-checkbox-field-text::after {
    content: '';
    position: absolute;
    left: 16px;
    top: calc(50% - 6px);
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 2px;
    background: #aa8c5a;
    transform: scale(0);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.mw_wp_form span.mwform-radio-field {
    position: relative;
    z-index: 15
}

.mw_wp_form span.mwform-radio-field input {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none
}

.mw_wp_form span.mwform-radio-field input:checked+span.mwform-radio-field-text::after {
    transform: scale(1);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.mw_wp_form span.mwform-radio-field span.mwform-radio-field-text {
    display: block;
    border: solid 1px #eee;
    background: #fff;
    padding: 8px 18px 8px 44px;
    border-radius: 5px
}

.mw_wp_form span.mwform-radio-field span.mwform-radio-field-text::before {
    content: '';
    position: absolute;
    left: 12px;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    border-radius: 20px;
    background: #fff;
    border: solid 1px rgba(0, 0, 0, 0.1025)
}

.mw_wp_form span.mwform-radio-field span.mwform-radio-field-text::after {
    content: '';
    position: absolute;
    left: 16px;
    top: calc(50% - 6px);
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 14px;
    background: #aa8c5a;
    transform: scale(0);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

.mw_wp_form form>p {
    display: none
}

.mw_wp_form input::placeholder {
    color: #aaa
}

.mw_wp_form input:focus::-webkit-input-placeholder {
    color: transparent
}

.mw_wp_form input:focus::-moz-placeholder {
    color: transparent
}

.mw_wp_form input:focus::-ms-input-placeholder {
    color: transparent
}

.mw_wp_form input:focus::placeholder {
    color: transparent
}

.mw_wp_form input[type="text"],
.mw_wp_form textarea {
    width: 100%;
    height: auto;
    border: solid 1px rgba(0, 0, 0, 0.1025);
    background: #fff;
    border-radius: 0;
    line-height: 1.5;
    color: #1e1e1e;
    font-size: 16px;
    border-radius: 6px;
    -webkit-appearance: none;
    appearance: none
}

.mw_wp_form select {
    width: 100%;
    height: auto;
    border: solid 1px rgba(0, 0, 0, 0.1025);
    background: #fff;
    border-radius: 0;
    line-height: 1.5;
    color: #1e1e1e;
    font-size: 16px;
    border-radius: 6px
}

.mw_wp_form input[type="text"],
.mw_wp_form textarea {
    padding: .82em
}

.mw_wp_form select {
    position: relative;
    z-index: 15;
    padding: 0 .82em
}

.mw_wp_form select::after {
    content: '';
    position: absolute;
    right: .82em;
    top: calc(50% - .5em);
    display: block;
    width: 1em;
    height: 1em;
    background: url(../img/icn-arrow-p.svg);
    background-size: cover
}

.mw_wp_form input[type="radio"]+span {
    color: #252525
}

.mw_wp_form input[type="text"]#namehead,
.mw_wp_form input[type="text"]#kanahead {
    flex: 1;
    margin-right: .5em
}

.mw_wp_form input[type="text"]#namebody,
.mw_wp_form input[type="text"]#kanabody {
    flex: 1;
    margin-left: .5em
}

.mw_wp_form input[type="text"]#postcode {
    width: 10em
}

.mw_wp_form input[type="text"]#address1,
.mw_wp_form input[type="text"]#address2 {
    flex: 1;
    margin-right: 1em
}

.mw_wp_form input[type="text"]#address3 {
    flex: 2
}

.mw_wp_form input[type="text"]#old {
    width: 10em;
    margin-right: 1em
}

.mw_wp_form input[type="text"]#date2,
.mw_wp_form input[type="text"]#date3 {
    margin-top: 1em
}

.mw_wp_form input[type="text"]#year,
.mw_wp_form input[type="text"]#month,
.mw_wp_form input[type="text"]#date {
    width: 8.2em
}

.mw_wp_form input[type="text"]#year+span,
.mw_wp_form input[type="text"]#month+span,
.mw_wp_form input[type="text"]#date+span {
    margin: 0 .82em 0 .41em
}

.mw_wp_form input[type="text"].address {
    margin-top: 7px
}

.mw_wp_form select {
    height: 4em
}

.mw_wp_form input[type="text"]:focus,
.mw_wp_form textarea:focus,
.mw_wp_form select:focus {
    outline: none;
    border: solid 1px #a0a0a0
}

.mw_wp_form input[type="submit"] {
    width: 100%;
    max-width: 18rem;
    height: 4em;
    border: none;
    font-weight: bold;
    text-align: center;
    line-height: 4em;
    font-size: 1em;
    background: #150606;
    color: #fff;
    position: relative;
    margin: 0 auto;
    border-radius: 6px;
    overflow: hidden;
    display: block;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s
}

@media screen and (max-width: 768px) {
    .mw_wp_form input[type="submit"] {
        height: 4em;
        line-height: 4em
    }
}

.mw_wp_form input[type="submit"]:hover {
    background: #0b0f15;
    transition: cubic-bezier(0.22, 0.61, 0.36, 1) 0.3s
}

.mw_wp_form.mw_wp_form_confirm ul.listDocForm li.entryBtnWrap {
    display: flex
}

.mw_wp_form.mw_wp_form_confirm ul.listDocForm li.entryBtnWrap input[type="submit"].back {
    order: 1;
    background: #252525
}

.mw_wp_form.mw_wp_form_confirm dl.listDocForm dd {
    background: #f7f7f7;
    padding: 1.23em 2.46em;
    border-radius: 4px;
    border: solid 1px #eee;
    color: #777
}

.mw_wp_form.mw_wp_form_confirm dl.listDocForm dl.listComplete {
    font-weight: 500
}

.mw_wp_form.mw_wp_form_complete .completeWrap>*~* {
    margin-top: .82em
}

.mw_wp_form.mw_wp_form_complete .completeWrap dl.listComplete dt p {
    font-weight: 500;
    font-size: 1.41em;
    margin-top: .82em
}

header.pageHeader {
    position: relative;
    z-index: 15
}

header.pageHeader .wrapper {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: wrap;
    width: calc(100% / 16 * 14);
    max-width: calc(1640px / 16 * 14);
    margin: 0 auto;
    padding-top: calc(5.125em + 5.125em + 8.2em);
    padding-bottom: calc(100% / 64 * 1);
    border-bottom: solid 1px
}

@media screen and (max-width: 768px) {
    header.pageHeader .wrapper {
        padding-top: calc(3.28em);
        padding-bottom: calc(100% / 32 * 1)
    }
}

header.pageHeader .wrapper>h1 {
    display: block;
    width: 100%;
    margin-bottom: 1em;
    font-size: .8em;
    line-height: 1.8;
    font-weight: 500;
    text-transform: uppercase
}

header.pageHeader .wrapper>span {
    font-size: 6.15em;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -1px
}

@media screen and (max-width: 768px) {
    header.pageHeader .wrapper>span {
        font-size: 2.87em
    }
}

header.pageHeader .wrapper>span img {
    width: auto;
    height: 1.435em
}

header.pageHeader .wrapper>span.done {
    position: relative;
    z-index: 15;
    overflow: hidden
}

header.pageHeader .wrapper>span.done.gone {
    opacity: 0;
    -webkit-animation: noiseAnimation 0.55s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards;
    animation: noiseAnimation 0.55s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards
}

header.pageHeader .wrapper>span.done.gone::after {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background: #150606;
    -webkit-animation: textAnimation 0.55s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards;
    animation: textAnimation 0.55s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards
}

header.pageHeader .wrapper>i {
    display: block;
    font-size: .85em;
    font-weight: 600
}

header.pageHeader .wrapper>ul.category {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    column-gap: 8px;
    margin-top: 1.23em;
    margin-left: auto;
    line-height: 1.64
}

@media screen and (max-width: 768px) {
    header.pageHeader .wrapper>ul.category {
        justify-content: flex-start;
        margin-left: initial
    }
}

header.pageHeader .wrapper>ul.category>li {
    font-size: .8em
}

@media screen and (max-width: 768px) {
    header.pageHeader .wrapper>ul.category>li {
        font-size: .7em
    }
}

header.pageHeader .wrapper>ul.category>li a {
    display: block;
    padding: 2px 1em;
    background: #fff;
    border: solid 1px rgba(0, 0, 0, 0.1025);
    border-radius: 1em;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

header.pageHeader .wrapper>ul.category>li:hover a {
    filter: brightness(0.82);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

header.pageHeader .wrapper>ul.category>li.active a {
    background: #1e1e1e;
    color: #fff;
    font-weight: 600;
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s
}

@-webkit-keyframes noiseAnimation {
    0% {
        opacity: 0
    }

    20% {
        opacity: .41
    }

    40% {
        opacity: 0
    }

    60% {
        opacity: .82
    }

    40% {
        opacity: .41
    }

    to {
        opacity: 1
    }
}

@keyframes noiseAnimation {
    0% {
        opacity: 0
    }

    20% {
        opacity: .41
    }

    40% {
        opacity: 0
    }

    60% {
        opacity: .82
    }

    40% {
        opacity: .41
    }

    to {
        opacity: 1
    }
}

@-webkit-keyframes textAnimation {
    0% {
        left: 0
    }

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

    to {
        left: 100%
    }
}

@keyframes textAnimation {
    0% {
        left: 0
    }

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

    to {
        left: 100%
    }
}

header.singleHeader {
    position: relative;
    z-index: 15;
    background: #f7f7f5
}

header.singleHeader .wrapper {
    width: calc(100% / 32 * 30);
    max-width: calc(1640px / 32 * 30);
    margin: 0 auto;
    padding-right: calc(5.125em - (100% / 32));
    padding-top: calc(5.125em + 5.125em + 4.1em);
    padding-bottom: 5.125em
}

@media screen and (max-width: 768px) {
    header.singleHeader .wrapper {
        width: calc(100% / 32 * 29);
        padding-top: calc(100% / 16 * 1);
        padding-bottom: 2.87em;
        padding-right: 0
    }
}

header.singleHeader .wrapper>h1 {
    font-size: 2.05em;
    line-height: 1.8
}

@media screen and (max-width: 768px) {
    header.singleHeader .wrapper>h1 {
        font-size: 1.5525em
    }
}

header.singleHeader .wrapper>ul.listJobPram {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 1em;
    font-size: .8em
}

@media screen and (max-width: 768px) {
    header.singleHeader .wrapper>ul.listJobPram {
        font-size: .7em
    }
}

header.singleHeader .wrapper>ul.listJobPram>li span {
    display: block;
    padding: 2px 12px;
    border-radius: 1em;
    border: solid 1px #1e1e1e;
    color: #1e1e1e
}

header.singleHeader .wrapper>.thumbnail {
    margin-bottom: 1.64em;
    border-radius: 24.6px;
    overflow: hidden
}

@media screen and (max-width: 768px) {
    header.singleHeader .wrapper>.thumbnail {
        margin-bottom: 1.23em;
        border-radius: 14.35px
    }
}

.page_description {
    position: relative;
    z-index: 15;
    width: calc(100% / 32 * 30);
    max-width: calc(1640px / 32 * 30);
    margin: 2.05em auto;
    padding-right: calc(5.125em - (100% / 32))
}

@media screen and (max-width: 768px) {
    .page_description {
        width: calc(100% / 32 * 28);
        margin: calc(100% / 32 * 2) auto;
        padding-right: 0
    }
}

.page_description .wrapper {
    margin: 0 auto;
    padding: 8.2em 0;
    background: #f7f7f5;
    border-radius: 6px
}

@media screen and (max-width: 768px) {
    .page_description .wrapper {
        padding: 3.28em 0
    }
}

.page_description .wrapper ._inner {
    display: flex;
    flex-wrap: wrap;
    padding: 0 calc(5.125em - (100% / 32))
}

@media screen and (max-width: 768px) {
    .page_description .wrapper ._inner {
        padding: 0 2.05em
    }
}

.page_description .wrapper ._inner>._head {
    width: calc(100% - 41em)
}

@media screen and (max-width: 768px) {
    .page_description .wrapper ._inner>._head {
        width: 100%
    }
}

.page_description .wrapper ._inner>._head p {
    font-size: 2.05em;
    font-weight: 600;
    line-height: 1.435
}

@media screen and (max-width: 768px) {
    .page_description .wrapper ._inner>._head p {
        font-size: 1.845em
    }
}

.page_description .wrapper ._inner>._body {
    width: 41em;
    max-width: 100%
}

@media screen and (max-width: 768px) {
    .page_description .wrapper ._inner>._body {
        width: 100%;
        margin-top: 1.1275em
    }
}

.page_description .wrapper ._inner>._lead {
    width: 100%
}

.page_description .wrapper ._inner>._lead>span {
    display: block;
    text-align: center;
    color: #8f95a1;
    font-weight: 600;
    margin-bottom: 1em
}

.page_description .wrapper ._inner>._lead>p {
    font-size: 1.64em;
    font-weight: 600;
    line-height: 1.64;
    text-align: center
}

@media screen and (max-width: 768px) {
    .page_description .wrapper ._inner>._lead>p {
        font-size: 1.23em
    }
}

.page_description .wrapper ._inner>._lead>p strong {
    color: #aa8c5a
}

.page_description.beltline .wrapper {
    padding: 6.15em 0;
    background: url(../img/beltline-newer.svg) no-repeat left, #f7f7f5;
    background-size: 6040px 200px;
    animation: beltline-kv 32.8s linear 0s infinite
}

@media screen and (max-width: 768px) {
    .page_description.beltline .wrapper {
        background-size: 3020px 100px
    }
}

.page_head {
    position: relative;
    z-index: 15;
    width: calc(100% / 32 * 30);
    max-width: calc(1640px / 32 * 30);
    height: auto;
    margin: 0 auto;
    padding-right: calc(5.125em - (100% / 32));
    padding-top: 45.1%
}

@media screen and (max-width: 768px) {
    .page_head {
        width: calc(100% / 64 * 62);
        padding-right: 0;
        padding-top: 100%
    }
}

.page_head::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
    display: block;
    border-top: 8px solid #f7f7f5;
    border-left: 8px solid #f7f7f5;
    border-bottom: 8px solid transparent;
    border-right: 8px solid transparent
}

.page_head img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0
}

.page_head+.page_body article.mainContent::before {
    display: none
}

.slider {
    display: flex;
    align-items: center;
    padding: calc(100% / 64 * 1) 0
}

@media screen and (max-width: 768px) {
    .slider {
        padding: calc(100% / 32 * 1) 0
    }
}

.slider .slider__inner {
    display: flex;
    align-items: center
}

.slider .slider__inner:first-child {
    animation: loop 180s linear infinite
}

.slider .slider__inner:nth-child(2) {
    animation: loop2 180s -120s linear infinite
}

.slider .slider__inner:last-child {
    animation: loop3 180s -60s linear infinite
}

.slider .slider__inner .slider__item {
    width: 557.2px;
    padding: 0 9px
}

@media screen and (max-width: 768px) {
    .slider .slider__inner .slider__item {
        width: 82vw;
        padding: 0 4px
    }
}

.slider .slider__inner .slider__item .aspect {
    border-radius: 18px;
    overflow: hidden
}

@media screen and (max-width: 768px) {
    .slider .slider__inner .slider__item .aspect {
        border-radius: 10px
    }
}

@keyframes loop {
    0% {
        transform: translateX(200%)
    }

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

@keyframes loop2 {
    0% {
        transform: translateX(100%)
    }

    to {
        transform: translateX(-200%)
    }
}

@keyframes loop3 {
    0% {
        transform: translateX(0%)
    }

    to {
        transform: translateX(-300%)
    }
}

.verticalslider {
    display: block
}

.verticalslider .verticalslider__inner {
    display: block
}

.verticalslider .verticalslider__inner:first-child {
    animation: loopV 180s linear infinite
}

.verticalslider .verticalslider__inner:nth-child(2) {
    animation: loopV2 180s -120s linear infinite
}

.verticalslider .verticalslider__inner:last-child {
    animation: loopV3 180s -60s linear infinite
}

.verticalslider .verticalslider__inner .slider__item {
    width: 100%;
    padding: 5px 0
}

.verticalslider .verticalslider__inner .slider__item .aspect {
    border-radius: 18px;
    overflow: hidden
}

@media screen and (max-width: 768px) {
    .verticalslider .verticalslider__inner .slider__item .aspect {
        border-radius: 10px
    }
}

@keyframes loopV {
    0% {
        transform: translateY(200%)
    }

    to {
        transform: translateY(-100%)
    }
}

@keyframes loopV2 {
    0% {
        transform: translateY(100%)
    }

    to {
        transform: translateY(-200%)
    }
}

@keyframes loopV3 {
    0% {
        transform: translateY(0%)
    }

    to {
        transform: translateY(-300%)
    }
}

@media all and (-ms-high-contrast: none) {
    .headerLogo img {
        width: 100%;
        height: 4.5vw
    }

    a.btn>span.circle {
        border: solid 2px rgba(240, 95, 64, 0.2)
    }

    ul.listFooterNav>li span.circle {
        border: solid 2px rgba(240, 95, 64, 0.2)
    }

    .careerstepWrap .flexWrap>.flexCenter .inner {
        border: solid 2px rgba(240, 95, 64, 0.8)
    }

    .secIndex.sec1 .kv_leadcopy .kv_leadcopy_inner {
        width: 100%
    }

    .secIndex.sec3 .indexService .swiper-button-prev {
        left: auto;
        bottom: auto
    }

    dl.listFootnav dt a {
        display: inline-block
    }

    .secPage.root .flexWrap>.flexItem {
        width: calc((100% / 3) - 0.01px)
    }

    ul.listPhilosophy {
        justify-content: space-around
    }

    .member_wrapper .f_wrapper .__left {
        position: relative
    }

    header.pageHeader {
        height: 31.5em
    }

    ul.listLGBtn a.btn {
        width: 100%
    }

    ul.listLogos li img {
        width: 8em
    }

    ul.listLogos {
        justify-content: space-between
    }
}

nav.globalNav ul.listGlobal li span.en {
    white-space: nowrap
}

.card_text ._body>img {
    margin-bottom: 0.82em
}

.careerImg {
    margin-bottom: 2.05em
}

dl.listSDGs dt>span {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-left: 0;
    margin: 0 1.23em
}

dl.listSDGs dt>span img {
    width: calc(50% - 2px)
}

dl.listSDGs dt>span img:nth-child(n+3) {
    margin-top: 4px
}

p.writer {
    text-align: right;
    font-size: 1em;
    margin-top: 0.82em
}

p.writer>span {
    display: block;
    font-size: .8em;
    margin-bottom: .205em
}

.secPage.lp.movie h2.pageTtl {
    background: #fff
}

body.single-events .flexLower {
    margin-bottom: 6.15em
}

.secPage.basic.eventForm .wrapper {
    padding-bottom: 0
}

@media screen and (max-width: 768px) {
    .type_wrapper ._stokerImg {
        position: absolute;
        right: 0;
        left: auto
    }
}

.interview_wrapper ._body p.box~p.box {
    margin-top: 1.125em
}

.interview_wrapper ._body p.box span {
    font-size: 0.625em;
    font-weight: 600
}


.next {
    position: relative;
    z-index: 15;
    padding: min(9.375vw, 127.5px) 0;
    background: #f4f4f4;
    
}
.next header {
    width: calc(100% / 16 * 15);
    max-width: var(--max-width);
    margin: 0 auto;
    text-align: center
}

.next header h2 {
    font-size: 4.1em;
    line-height: 1.1275
}


@media screen and (max-width: 768px) {
    .next header h2 {
        font-size: 2.255em
    }
}

.next header h2 b {
    color: var(--main-catch-color)
}

.next header+div {
    margin-top: min(4.6875vw, 63.75px)
}

.next .area {
    width: calc(100% / 16 * 14);
    max-width: var(--max-width);
    margin: 3% auto;
}

.next .area * {
    color: #000;
}
.next .area th {
    color: #fff;
}
.next .area a {
    color: #0909E8;
    text-decoration: underline;
}
@media (hover: hover){
  .next .area a:hover {
    text-decoration: none;
  }
}
table tr:nth-child(odd) {
    background: #f7f7f7;
}
table tr:nth-child(2n){
    background: #ebeef6;
}



.next .area ul {
    display: flex;
    flex-wrap: wrap;
    gap: min(3.125vw, 42.5px)
}

@media screen and (max-width: 768px) {
    .next .area ul {
        gap: min(8.2vw, 42.5px)
    }
}

.next .area ul>li {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: min(3.125vw, 42.5px) min(6.25vw, 85px);
    min-width: 100%;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .next .area ul>li {
        position: relative;
        z-index: 15;
    }
}

.next .area ul>li ._txt {
    flex: 1;
}

@media screen and (max-width: 768px) {
    .next .area ul>li ._txt {
        order: 1;
        min-width: 100%;
    }
}

.next .area ul>li ._img {
    flex: 1;
}
@media screen, screen and (min-width: 769px) {
    .next .area ul>li ._img {
        margin-right: 85px;
    }
}

@media screen and (max-width: 768px) {
    .next .area ul>li ._img {
        min-width: 100% ;
        margin-right: 0!important;
    }
}

.next .area ul>li ._img .over {
    width: calc(100% + 85px);
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .next .area ul>li ._img .over {
        width: calc(100% / 14 * 16);
        margin-left: calc((100% / 14) * -1);
    }
}
.next .area ul>li span {
    padding: 5px min(1.6667vw, 21.25px);
    background: var(--main-catch-color);
    border-radius: min(0.7813vw, 5.3126px);
    font-size: 1.3325em
    color: #fff;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .next .area ul>li span {
        display: inline-block;
        font-size: 1.1275em;
    }
}

.next .area ul>li dl {
    margin-top: min(1.6667vw, 21.25px);
}

.next .area ul>li dl>dt {
    font-size: 2.46em;
    font-weight: 600;
    line-height: 1.23;
}

.nextguest_box>div>.area ul>li>div> span {
    padding: 0px min(1.6667vw, 21.25px);
    /*background: #1e1e1e;*/
    background: #000;
    border-radius: min(0.7813vw, 5.3126px);
    font-size: 0.8em;
    color: #fff;
    font-weight: bold;
}

/* @media screen and (max-width: 768px) {
    .next .area ul>li span {
        display: inline-block;
        font-size: 1.1275em
    }
} */

.next .area ul>li dl {
    margin-top: min(1.6667vw, 21.25px)
}

.next .area ul>li dl>dt {
    font-size: 2.46em;
    font-weight: 600;
    line-height: 1.23;
}

@media screen and (max-width: 768px) {
    .next .area ul>li dl>dt {
        font-size: 1.845em;
    }
}

.next .area ul>li dl>dd {
    margin-top: min(1.6667vw, 21.25px);
    font-size: 1.3325em;
    line-height: 1.64;
}

@media screen and (max-width: 768px) {
    .next .area ul>li dl>dd {
        font-size: 1.1275em;
    }
}

.next .area ul>li:nth-child(2n) ._txt {
    order: 1;
}

.next .area ul>li:nth-child(2n) ._img .over {
    margin-left: -85px;
}

@media screen and (max-width: 768px) {
    .next .area ul>li:nth-child(2n) ._img .over {
        margin-left: calc((100% / 14) * -1);
    }
}

.next_guest {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    margin: min(4.6875vw, 63.75px) 0 0;
    gap: min(3.125vw, 42.5px) min(6.25vw, 85px);
}

.next_guest-inner {
    transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -o-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -moz-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
    -webkit-transition: all cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s;
}

.next_guest-inner {
    display: flex;
    align-items: flex-start;
    margin:0 1%;
    gap: min(3.125vw, 42.5px);
}

@media screen and (max-width: 768px) {
    .next_guest-inner {
        padding: min(6.15vw, 42.5px);
        background: var(--main-text-color);
        border-radius: min(0.7813vw, 5.3126px);
    }
}

.next_guest-inner ._icon {
    width: min(12.5vw, 170px);
    border-radius: min(0.7813vw, 5.3126px);
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .next_guest-inner ._icon {
        display: none;
    }
}



.next_guest-inner ._txt h3 {
    font-size: 2.05em;
    font-weight: 600;
    line-height: 1.23;
}

@media screen and (max-width: 768px) {
    .next_guest-inner ._txt h3 {
        font-size: 1.64em;
    }
}

.next_guest-inner ._txt dl {
    margin-top: .615em;
}

.next_guest-inner ._txt dl dt {
    display: flex;
    align-items: center;
    column-gap: min(0.7813vw, 10.625px);
    font-size: 1.845em;
    line-height: 1.3325;
}

@media screen and (max-width: 768px) {
    .next_guest-inner ._txt dl dt {
        column-gap: min(2.0834vw, 10.625px);
        font-size: 1.3325em
    }
    .next_guest-inner ._txt dl dt img {
        object-fit: cover;
  height: 100%;
    }
}

.next_guest-inner ._txt dl dt>i {
    display: none
}

@media screen and (max-width: 768px) {
    .next_guest-inner ._txt dl dt>i {
        display: block;
        width: min(10.25vw, 170px);
        height: min(10.25vw, 170px);
        background: car(--main-text-color);
        border: solid 3px var(--border-color);
        border-radius: min(10.25vw, 170px);
        overflow: hidden
    }
}

.next_guest-inner ._txt dl dd {
    font-size: 1.23em;
    line-height: 1.3325
}

@media screen and (max-width: 768px) {
    .next_guest-inner ._txt dl dd {
        font-size: 1em;
        line-height: 1.64
    }
}

.next_guest-inner ._txt a {
    display: flex;
    align-items: center;
    column-gap: min(0.7813vw, 10.625px);
    margin-top: min(1.1719vw, 15.9375px);
    font-size: 1.64em;
    color: var(--key-color);
    line-height: 1.23
}

@media screen and (max-width: 768px) {
    .next_guest-inner ._txt a {
        column-gap: min(1.1719vw, 10.625px);
        margin-top: min(2.0834vw, 15.9375px);
        font-size: 1.3325em
    }
}

.next_guest-inner ._txt a::before {
    content: '';
    display: block;
    width: 1.23em;
    min-width: 1.23em;
    height: 1.23em;
    background: url(../img/course-01.svg);
    background-size: cover
}

.next_guest-inner ._txt a::after {
    content: '';
    display: block;
    width: .615em;
    min-width: .615em;
    height: .615em;
    background: url(../img/course-02.svg);
    background-size: cover
}

@media print, screen and (min-width: 769px) {
    
.next_guest   {
    overflow: hidden;
}
.nextSwiper   {
    overflow: visible;
}
.nextSwiper .swiper-slide {
width:80%;
}
.nextSwiper .swiper-pagination {
	position: relative;
}
}
.nextSwiper-pagination {
    margin-top: 2rem;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .nextSwiper-pagination {
        margin-top: 1rem;
    }
}

.nextSwiper-pagination .swiper-pagination-bullet {
    width: 50px;
    height: 5px;
    border-radius: 0;
    background: #1e1e1e
}
.next_guest-title {
	font-size: 2.4em;
}
.title-single{
    text-align: center;
}
.title-single-txt{
    text-align: center;
    font-size: 1.3325em;
}
.title-single-txt>span{
    font-size: 1.8em;

}
@media screen and (max-width: 768px) {
    .nextSwiper-pagination .swiper-pagination-bullet {
        width: 35px;
        height: 4px
    }
    .next_guest-title {
        font-size: 1.8em;
    }
    
    .zsiq_custommain.siq_bL {
        bottom: 60px;
        width: 145px !important;
        height: 60px !important;
    }
    
    .zsiq_custommain.siq_bL img{
        max-width: 100%;
    }
}

.nextSwiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--main-catch-color)
}

/* event table ここから*/
.event-table { /* クラス名を追加 */
    width: 100%;
    border-collapse: collapse;
}

.event-table th, .event-table td { /* クラス名で指定 */
    border: 2px solid #FFF;
    padding: 11px;
    text-align: left;
    /* font-size: 1.3325em; */
    font-size: 1em;
    text-align: center;
}

.event-table th { /* クラス名で指定 */
    background-color: #1e1e1e;
}

/* レスポンシブ対応 */
@media (max-width: 600px) {
  .event-table, .event-table thead, .event-table tbody, .event-table th, .event-table td, .event-table tr { /* クラス名で指定 */
    display: block;
  }
  .event-table thead tr { /* クラス名で指定 */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
  .event-table tr { /* クラス名で指定 */
    border: 1px solid #ddd;
    margin-bottom: 10px;
  }
  .event-table td { /* クラス名で指定 */
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    padding-left: 62%;
    /* padding-left: 35%; */
  }
  .event-table td:before { /* クラス名で指定 */
    position: absolute;
    /* top: 6px; */
    left: 6px;
    width: 60%;
    /* width: 35%; */
    padding-right: 10px;
    /* white-space: nowrap; */
    content: attr(data-column);
    font-weight: bold;
  }
}
/* event table ここまで*/
/* 次回ゲスト講座ここから */
.nextguest_box{
background-color: #f4f4f4;
/* padding-top: 70px;
padding-bottom: 50px; */
}
.white_box{
    background-color: #f4f4f4 !important;
    padding-top: 0!important;
}
ul.button_inline>li a.yellow{
    background-color: #ffff55;
        text-decoration-line: none;
}
.otameshi{
    padding-bottom: 1%!important;
}
.shimekiri{
    text-align: center;
    font-size: 1.3325em !important;
    padding: 2px 0 0;
    color: #1d1d1d !important;
}
.nextguest_box .shimekiri .sp{
  display: none;
}
@media (max-width: 768px) {
  .nextguest_box .shimekiri .sp{
    display: block;
  }
}
.nextguest_box ul.button_inline{
  justify-content: center;
  margin: 50px auto 20px;
}
.nextguest_box ul.button_inline li a{
  margin: 0 auto;
}

/* 次回ゲスト講座ここまで */

/* 主催者ここから */
.container {
    /* max-width: 960px; */
    margin: 0 auto;
    background-color: #fff;
    padding: 30px;
    border-radius: 8px;
    /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.text-section {
    flex: 1 1 450px;
    margin-right: 20px;
}

.image-section {
    flex: 0 0 250px;
    border-radius: 4px;
    overflow: hidden;
    /* box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); */
}

.image-section img {
    display: block;
    width: 100%;
    height: auto;
}

.text-section>p{
    font-size: 1.3325em;
}
@media (max-width: 768px) {
    .container {
        flex-direction: column;
    }

    .text-section {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .image-section {
        width: 100%;
        margin: 0 auto 20px;
    }
}
/* 主催者ここまで */
/* MVのテキストシャドウ ここから*/
.original-text-shadow {
    display: flex;
    align-items: center;
    /* justify-content: center; */
    line-height: 1;
    color: #f0c610;
    font-size: 50px;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
    font-weight: bold;
  }
/* MVのテキストシャドウ ここまで*/


/* MV */
#siteContent{
  padding-top: min(8.5vw, 105px);
}
.section--key{
  padding-top: 0;
  position: relative;
}
.key header {
  margin-bottom: 0;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.key header .catch01{
  font-size: 2.0rem;
  margin: 0;
  line-height: 1.5;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
}
.key header .catch01 .yellow{
  color: #FFFF55;
}
.key header .catch01 strong{
  background: #2B4BBA;
  color: #fff;
  display: inline-block;
  margin: 0 5px;
  padding: 8px 10px 0;
  line-height: 1.3;
  text-shadow: none;
}
.key header .catch01 strong b{
  font-size: 3.125rem;
  line-height: 1.0;
}
.key header .catch02{
  font-size: 2.0rem;
  margin: 0 0 1.0em;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
}
.key header .catch02 strong{
  color: #FFFF55;
}
.key header .catch02 em{
  position: relative;
  font-size: 2.5rem;
}
.key header .catch02 em::after{
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #FFFF55;
}
.key header p.pc{ display: block;}
.key header p.sp{ display: none;}
@media (max-width: 1100px) {
  .key header h1{
    font-size: 3.5rem;
    line-height: 1.4;
  }
  .key header .catch01{
    font-size: 1.5rem;
  }
  .key header .catch01 strong b{
    font-size: 2.25rem;
  }
  .key header .catch02{
    font-size: 1.5rem;
    margin: 0 0 0.5em;
  }
  .key header .catch02 em{
    font-size: 1.75rem;
  }
  .key header p{
    margin-top: 0.5em;
  }
}
@media (max-width: 768px) {
  #siteContent{
    padding-top: min(22.5vw, 100px);
  }
  .key header h1{
    font-size: 3.0rem;
  }
  .key header p.pc{ display: none;}
  .key header p.sp{ display: block;}
}


/* 主催者の思い */
.section-organizer{
  background: #1C272A;
}
.section-organizer header h2{
  color: #fff;
}
.section-organizer .image-section p{
  font-size: 1.3325em;
  margin: 1.0em 0 0;
}
.section-organizer .image-section p span{
  display: block;
  font-size: 14px;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .section-organizer .image-section{
    overflow: visible;
  }
}


/* section-introduction */
.section-introduction{
  padding: min(8.5vw, 110px) 0;
  /*background: url("../img/251007/introduction-bg.jpg") no-repeat right center / cover;*/
  background: var(--main-bg-color);
}
.section-introduction .inner{
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.section-introduction__text01{
  font-size: 1.22rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
  margin: 0 0 1.0em;
}
.section-introduction__text02{
  font-size: 1.22rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
}
.section-introduction__text03{
  font-size: 1.22rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
  margin: 0 0 1.0em;
}
.section-introduction__catch{
  font-size: 2.23rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.44;
  margin: 0 0 1.0em;
}
.section-introduction__catch .yellow{
  color: #FFFF55;
}
.section-introduction__text04{
  font-size: 1.22rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
}
.section-introduction__text04 strong{
  font-size: 2.0rem;
  color: #FFFF55;
}
.section-introduction-list{
  padding: 0 0 0 25px;
}
.section-introduction-list .section-introduction-list__item{
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  margin: 10px 0;
  padding: 4px 10px 1px 25px;
  background: #2B4BBA;
  position: relative;
  max-width: 1070px;
  box-sizing: border-box;
}
.section-introduction-list .section-introduction-list__item::before{
  position: absolute;
  left: -25px;
  top: 50%;
  transform: translateY(-50%);
  content: '';
  width: 40px;
  height: 40px;
  background: url("../img/251007/icon-introduction.svg") no-repeat center center;
}
@media (max-width: 768px) {
  .section-introduction__text01{
    font-size: 1.125rem;
  }
  .section-introduction__text02{
    font-size: 1.125rem;
  }
  .section-introduction__text03{
    font-size: 1.125rem;
  }
  .section-introduction__text04{
    font-size: 1.125rem;
  }
  .section-introduction__text04 strong{
    font-size: 1.25rem;
  }
  .section-introduction__catch{
    font-size: 1.5rem;
  }
  .section-introduction-list{
    margin: 1.25em 0 1.5em;
  }
  .section-introduction-list .section-introduction-list__item{
    font-size: 1.25rem;
  }
}

/* ロジスティクスプロバイダー経営研究会とは */
.section-study-group{
  padding: min(8.5vw, 110px) 0;
  background: #fff;
}
.section-study-group .inner{
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}
.section-study-group h2{
  font-size: 4.1em;
  line-height: 1.1176;
  text-align: center;
  margin: 0 0 0.75em;
  color: #000;
}
.section-study-group .section-study-group__catch{
  font-size: 1.875rem;
  font-weight: bold;
  line-height: 1.46;
  color: #000;
  margin: 0 0 0.75em;
}
.section-study-group .section-study-group__text{
  font-size: 1.25rem;
  line-height: 2.0;
  color: #000;
  margin: 0 0 3.0em;
}
.section-study-group-flex{
  display: flex;
  margin: 0 0 70px;
}
.section-study-group-flex:last-of-type{
  margin: 0;
}
.section-study-group-flex__img{
  width: 34.5%;
}
.section-study-group-flex__text{
  width: 65.5%;
  padding: 0 0 0 5%;
}
.section-study-group-flex__text-point{
  font-size: 1.125rem;
  font-weight: bold;
  color: #2B4BBA;
  margin: 0 0 0.75em;
}
.section-study-group-flex__text-title{
  font-size: 2.25rem;
  font-weight: bold;
  color: #000;
  line-height: 1.22;
  margin: 0 0 0.75em;
}
.section-study-group-flex__text-txt{
  font-size: 1.25rem;
  color: #000;
  line-height: 1.8;
}
.section-study-group-flex__text-btn{
  margin: 35px 0 0;
}
.section-study-group-flex__text-btn a{
  display: block;
  max-width: 380px;
  width: 100%;
  padding: 25px 10px;
  box-sizing: border-box;
  border-radius: 10px;
  background: var(--key-color);
  text-decoration-line:none;
  text-align: center;
  font-size: 1.125rem;
  color: #fff;
  transition: 0.3s;
}
.section-study-group-flex__text-btn a::after{
  content: '';
  display: inline-block;
  width: 10px;
  height: 16px;
  background: url("../img/251007/icon-arrow-white.svg") no-repeat center center;
  margin: 0 0 0 15px;
  transform: translateY(1px);
  transition: 0.3s;
}
@media (min-width:769px){
  .section-study-group-flex__text-btn a:hover {
    /*background: url("../img/251007/icon-arrow.svg") no-repeat center center;*/
      filter: brightness(0.8);
      transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
      -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  }
}
@media (max-width: 768px) {
  .section-study-group h2{
    font-size: 1.75rem;
    line-height: 1.4;
  }
  .section-study-group .section-study-group__catch{
    font-size: 1.375rem;
  }
  .section-study-group-flex{
    display: block;
  }
  .section-study-group-flex:last-of-type{
    margin: 0 0 35px;
  }
  .section-study-group-flex__img{
    width: 100%;
    margin: 0 auto 20px;
  }
  .section-study-group-flex__text{
   width: 100%;
    margin: 0 auto;
    padding: 0;
  }
  .section-study-group-flex__text-title{
    font-size: 1.75rem;
  }
  .section-study-group-flex__text-btn a{
    padding: 20px 10px;
  }
  .section-study-group-flex__text-btn a::after{
    transform: translateY(4px);
  }
}


/* 会員企業の声 */
.section-recommend{
  padding: min(8.5vw, 110px) 0;
}
.section-recommend-box{
  max-width: 1260px;
  margin: 0 auto 70px;
  padding: 0 20px;
  box-sizing: border-box;
}
.section-recommend-box__text01{
  font-size: 1.25rem;
  color: #fff;
  line-height: 2.0;
}
.section-recommend-box__text02{
  font-size: 1.25rem;
  color: #fff;
  line-height: 2.0;
}
.section-recommend-box__text03{
  font-size: 1.0rem;
  color: #fff;
  line-height: 2.0;
}
.section-recommend-box__text04{
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.58;
  margin: 1.25em 0 0;
}
.section-recommend-box__list{
  margin: 1.25em 0;
}
.section-recommend-box__list-item{
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.83;
  background: url("../img/251007/icon-check.svg") no-repeat left top 10px;
  padding: 0 0 0 40px;
}
@media (max-width: 768px) {
  .section-recommend-box{
    margin: 0 auto 35px;
  }
  .section-recommend-box__list-item{
    background: url("../img/251007/icon-check.svg") no-repeat left top 2.25vw / 4.0vw auto;
    padding: 0 0 0 30px;
  }
}
@media (max-width: 400px) {
  .section-recommend-box__list-item{
    background: url("../img/251007/icon-check.svg") no-repeat left top 2.25vw / 5.0vw auto;
  }
}

/* 2025年開催スケジュール */
.section-sch{
  padding: min(8.5vw, 110px) 0  min(8.5vw, 50px);
}
.section-sch .area{
  margin: 3% auto 1.5%;
}
.section-sch h2{
  color: #000;
}
.section-sch__catch{
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 0.75em;
}
.section-sch__text01{
  font-size: 1.21rem;
  line-height: 1.5;
  margin: 0 0 3.0em;
}
.section-sch__text02{
  font-size: 1.22rem;
  margin: 2.5em 0 0.5em;
}
.section-sch__text02 span{
  font-weight: bold;
}
.section-sch__text03{
  font-size: 1.5rem;
  font-weight: bold;
}
.area .section-sch__text03 strong{
  background: #2B4BBA;
  color: #fff;
  display: inline-block;
  padding: 6px 10px 1px;
  line-height: 1.5;
}
.area .section-sch__text03 strong span{
  color: #FFFF55;
}
.section-sch__text04{
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 0.5em 0 0.75em;
}
.section-sch__text05{
  font-size: 1.21rem;
  line-height: 1.8;
}
.section-sch__text06{
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.58;
  margin: 2.25em 0 0;
}
@media (max-width: 768px) {
  .section-sch__catch{
    font-size: 1.25rem;
    margin: 0.75em 0;
  }
  .section-sch__text01{
    font-size: 1.125rem;
  }
  .section-sch__text02{
    font-size: 1.125rem;
    margin: 2.0em 0 0.5em;
  }
  .section-sch__text03{
    font-size: 1.25rem;
  }
  .section-sch__text04{
    font-size: 1.25rem;
  }
  .section-sch__text05{
    font-size: 1.25rem;
  }
  .section-sch__text06{
    font-size: 1.25rem;
    margin: 2.0em 0 0;
  }
}

/* 10月例会 特別ゲスト講座 */
.nextguest_box__text01{
  font-size: 1.25rem;
  margin: 3.5em 0 0.5em;
}
.nextguest_box__text01 span{
  background: #2B4BBA;
  font-size: 1.5rem;
  font-weight: bold;
  color: #FFFF55;
  display: inline-block;
  margin: 0 5px;
  padding: 6px 10px 1px;
  line-height: 1.5;
}
.nextguest_box__text02{
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.8;
  margin: 1.0em 0 0;
}
.nextguest_box__text02 span{
  font-size: 2.25rem;
  line-height: 1.0;
}

/* お試し参加申込 */
@media (max-width: 768px) {
  .section-form header{
    width: 100%;
  }
}
/* 革新セミナーアイキャッチ */
.img-kakushin{
    margin: auto;
    width: 50%;
}
@media (max-width: 768px) {
    .img-kakushin{
      width: 100%;
    }
}
/* 部会h2 */
span.bukai {
    background: #2B4BBA;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    display: inline-block;
    margin: 0 5px;
    padding: 6px 10px 1px;
    line-height: 1.5;
}
@media (max-width: 768px) {
span.bukai {
    font-size: 1.5rem;
}
}