@charset 'UTF-8';

/*======================================================================



    foundation (Reset)
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    border: 0;
    outline: 0;
    background: transparent;
}

body {
    line-height: 1;
    background: #fff;
}

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

nav ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

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

a {
    font-size: 100%;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    background: transparent;
}

/* change colours to suit your needs */
ins {
    text-decoration: none;
    color: #000;
    background-color: #ff9;
}

/* change colours to suit your needs */
mark {
    font-weight: bold;
    font-style: italic;
    color: #000;
    background-color: #ff9;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    cursor: help;
    border-bottom: 1px dotted;
}

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

/* change border colour to suit your needs */
hr {
    display: block;
    height: 1px;
    margin: 1em 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ccc;
}

input,
select {
    vertical-align: middle;
}

/*======================================================================



    foundation (Default)
*/

body {
    position: relative;
    overflow-x: hidden;
    font-size: 16px;
    font-family: '-apple-system', 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'MS PGothic', Osaka, 'sans-serif';
    font-weight: 300;
    line-height: 1.6;
    min-height: 100vh;
    color: #333;
    overflow-x: hidden;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    body {
        font-size: 15px;
    }
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    font-weight: 300;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    outline: 0;
}

ul li {
    list-style: none;
}

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

table,
table td,
table th {
    font-weight: 300;
}

html {
    font-size: 100%;
    background-color: #fff;
    word-break: break-word;
}

a,
a:active,
a:link,
a:visited {
    text-decoration: none;
    color: inherit;
    /* color: currentColor; */
}

a:hover {
    text-decoration: underline;
}

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

audio,
canvas,
iframe,
svg,
progress,
video {
    display: inline-block;
}

button,
input,
select,
textarea {
    font-family: inherit;
}

textarea {
    resize: vertical;
}

input,
select {
    vertical-align: middle;
}

button {
    vertical-align: inherit;
    line-height: inherit;
    cursor: pointer;
    font-size: inherit;
}

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

mark {
    background-color: #ff0;
}

small {
    font-size: 80%;
}

img {
    vertical-align: bottom;
    width: 100%;
    height: auto;
}
a {
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
}

a:hover {
    text-decoration: none;
}

/*======================================================================



    Layout
*/

/* header */

html.sidebar-is-open {
    overflow: hidden;
}

.site-header {
    font-weight: 300;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 100;
    height: auto;
    margin: 0 0px;
    transition:
        transform 0.5s cubic-bezier(0, 0.27, 0.48, 0.99) 0s,
        opacity 0.1s linear 0s,
        pointer-events 0s linear 0s;
    transition:
        transform 0.5s cubic-bezier(0, 0.27, 0.48, 0.99) 0s,
        opacity 0.1s linear 0s,
        pointer-events 0s linear 0s,
        -webkit-transform 0.5s cubic-bezier(0, 0.27, 0.48, 0.99) 0s;
}

.site-header.active {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    -webkit-transition:
        opacity 0s linear 0.5s,
        pointer-events 0s linear 0s,
        -webkit-transform 0.5s cubic-bezier(0, 0.27, 0.48, 0.99) 0s;
    transition:
        opacity 0s linear 0.5s,
        pointer-events 0s linear 0s,
        -webkit-transform 0.5s cubic-bezier(0, 0.27, 0.48, 0.99) 0s;
    transition:
        transform 0.5s cubic-bezier(0, 0.27, 0.48, 0.99) 0s,
        opacity 0s linear 0.5s,
        pointer-events 0s linear 0s;
    transition:
        transform 0.5s cubic-bezier(0, 0.27, 0.48, 0.99) 0s,
        opacity 0s linear 0.5s,
        pointer-events 0s linear 0s,
        -webkit-transform 0.5s cubic-bezier(0, 0.27, 0.48, 0.99) 0s;
}

.site-header {
    background: none !important;
}

.site-header.on {
    background: #595959 !important;
    transition: 0.5s all;
}

.site-header.on .inner {
    height: 80px;
    /* padding: 0 50px; */
}

.site-header input {
}

.site-header.lp-page {
    background-color: rgba(0, 0, 0, 0);
    -webkit-transition: 0.5s all;
    transition: 0.5s all;
}

.site-header.lp-page.on {
    background-color: #595959;
}

.site-header .inner {
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 50px;
    height: 110px;
    max-width: 100%;
    width: 100%;
    gap: 0 20px;
}

.site-header .inner .right-box {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

.site-header .brand {
    width: 195px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.site-header .brand a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

@media (max-width: 1280px) {
    .site-header .inner {
        padding: 0 20px;
    }
    .site-header.on .inner {
        padding: 0 20px;
    }

    .site-header .brand {
        width: 180px;
    }

    .site-header .header-btn {
        margin-left: 10px;
    }

    .site-header .header-btn input[type='submit'] {
        width: 160px;
    }

    .site-header .brand {
        width: 160px;
    }
}
@media screen and (max-width: 1200px) {
    .site-header .inner {
        height: 60px;
    }
    .site-header .inner .right-box {
        display: none;
    }
    .site-header .brand {
        width: 150px;
    }
}
@media screen and (max-width: 768px) {
    .site-header .inner {
        width: 100%;
        padding: 0 20px;
    }

    .site-header.on .inner {
        height: 60px;
    }
}

/* menu */

.site-header .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    gap: 0 16px;
    flex-wrap: wrap;
    justify-content: center;
}

.site-header .menu > li:hover > a::before,
.site-header .menu > li:hover .ja::before {
    display: block;
}

.site-header .menu > li:hover > a::after,
.site-header .menu > li:hover .ja::after {
    width: 100%;
}

.site-header .menu > li:hover .sub-menu {
    height: auto;
}

.site-header .menu .sub-menu {
    position: fixed;
    top: 99px;
    left: 0;
    width: 100%;
    background-color: #403f3f;
    overflow: hidden;
    height: 0;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
    z-index: 1;
}

.site-header .menu .sub-menu .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 30px 5%;
}

.site-header .menu .sub-menu .ttl {
    font-size: 20px;
    margin-right: 50px;
    font-weight: 400;
    color: #fff;
}

.site-header .menu .sub-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    /* justify-content: space-between; */
    gap: 0 20px;
}

.site-header .menu .sub-menu ul.no01 {
    max-width: 420px;
}

.site-header .menu .sub-menu ul.no01 li {
    /* width: 210px; */
}

.site-header .menu .sub-menu ul.no02 {
    max-width: 160px;
}

.site-header .menu .sub-menu ul.no02 li {
    width: 80px;
}

.site-header .menu .sub-menu ul.no03 {
    max-width: 340px;
}

.site-header .menu .sub-menu ul.no03 li {
    width: 170px;
}

.site-header .menu .sub-menu ul.no04 {
    max-width: 290px;
}

.site-header .menu .sub-menu ul.no04 li {
    width: 130px;
}

.site-header .menu .sub-menu ul li {
    font-weight: 300;
}

.site-header .menu .sub-menu ul li a {
    margin: 0.4em 0;
    display: block;
    color: #fff;
    font-size: 14px;
}

.site-header .menu .sub-menu ul li a:hover {
    text-decoration: underline;
}

.site-header .menu .sub-menu ul li i {
    font-size: 0.8em;
    margin-right: 5px;
}

.site-header .menu .ga > a::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    left: 50%;
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 15px solid #403f3f;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    display: none;
}

.site-header .menu .ja::before {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    left: 50%;
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-bottom: 15px solid #403f3f;
    bottom: 10px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    display: none;
}

.site-header .menu > li > a,
.site-header .menu .ja {
    display: inline-block;
    padding: 0;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-weight: 300;
    letter-spacing: normal;
    position: relative;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    /* padding: 44px 0; */
}

.site-header .menu > li > a::after,
.site-header .menu .ja::after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    left: 0;
    bottom: 40px;
    background-color: #333;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
}

.site-header .header-btn {
    margin-left: 30px;
}

.site-header .header-btn input[type='submit'] {
    background-color: rgba(0, 0, 0, 0);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 180px;
    height: 42px;
    border: 1px solid #333;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
    font-size: 15px;
    font-weight: 400;
}

.site-header .header-btn input[type='submit']:hover {
    background-color: #333333;
    color: #fff;
}

/* toggle-btn */

.toggle-btn {
    display: none;
    position: absolute;
    cursor: pointer;
    z-index: 600;
    right: 5px;
    top: 0px;
    width: 60px;
    height: 60px;
    -webkit-transition: 0.2s ease all;
    transition: 0.2s ease all;
}

.toggle-btn label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
}

.toggle-btn label .line {
    position: absolute;
    width: 32px;
    height: 1px;
    background-color: #333333;
    display: block;
    margin: auto;
    -webkit-transition: 400ms;
    transition: 400ms;
    top: 30px;
}

.toggle-btn label .line::before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #333333;
    display: block;
    margin: auto;
    -webkit-transition: 400ms;
    transition: 400ms;
    content: '';
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: rotate(0deg) translateY(8px);
    -ms-transform: rotate(0deg) translateY(8px);
    transform: rotate(0deg) translateY(8px);
}

.toggle-btn label .line::after {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #333333;
    display: block;
    margin: auto;
    -webkit-transition: 400ms;
    transition: 400ms;
    content: '';
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: rotate(0deg) translateY(-8px);
    -ms-transform: rotate(0deg) translateY(-8px);
    transform: rotate(0deg) translateY(-8px);
}

@media screen and (max-width: 1200px) {
    .toggle-btn {
        display: block;
    }
}

/* ghost-nav */

.ghost-nav {
    position: fixed;
    top: 0px;
    right: 0px;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    z-index: 99;
    height: 0;
    background: #595959;
    opacity: 1;
    -webkit-transition: height 0.35s ease;
    transition: height 0.35s ease;
    overflow: hidden;
    color: #fff;
}

.ghost-nav > .box {
    width: 100%;
    height: 100%;
    overflow-y: auto;
}

.ghost-nav .menu {
    width: 100%;
    margin: 0 auto;
    -webkit-transition: 0.3s all 0s;
    transition: 0.3s all 0s;
    opacity: 0;
    margin-top: 60px;
    padding: 20px 7%;
}

.ghost-nav .menu > li {
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
}

.ghost-nav .menu > li:last-child {
    border-bottom: 1px solid #717171;
}

.ghost-nav .menu > li > a::after {
    content: '';
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 700;
}

.ghost-nav .menu > li > .ja::after {
    content: '+';
    font-family: 'Font Awesome 6 Free';
    font-style: normal;
    font-weight: 700;
}

.ghost-nav .menu .has.on > .ja::after {
    content: '';
}

.ghost-nav .menu > li > a,
.ghost-nav .menu > li > .ja {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0.9em 0;
    white-space: nowrap;
    border-top: 1px solid #717171;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    cursor: pointer;
    font-size: 16px;
    letter-spacing: normal;
    line-height: 1.6em;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    color: #fff;
    font-weight: 300 !important;
}

.ghost-nav .menu > li > a .material-symbols-outlined,
.ghost-nav .menu > li > .ja .material-symbols-outlined {
    color: #166936;
    margin-right: 0.3em;
    font-size: 1em;
}

.ghost-nav .menu .sub-menu {
    display: none;
    margin-bottom: 20px;
}

.ghost-nav .menu .sub-menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.ghost-nav .menu .sub-menu ul li {
    width: 50%;
}

.ghost-nav .menu .sub-menu ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding: 0.4em 0;
    font-size: 14px;
    color: #fff;
    font-weight: 300 !important;
}

.ghost-nav .menu .sub-menu ul li a i {
    font-size: 0.8em;
    margin-right: 0.5em;
}

.ghost-nav .menu .sub-menu .box .ttl {
    display: none;
}

.ghost-nav .header-btn {
    width: 90%;
    margin-left: 5%;
    margin-bottom: 40px;
}

.ghost-nav .header-btn input[type='submit'] {
    color: #fff;
    background-color: rgba(0, 0, 0, 0);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    border: 1px solid #fff;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
    font-size: 14px;
}

.ghost-nav .header-btn input[type='submit']:hover {
    color: #595959;
    background-color: #fff;
}

/* menu-status */

#menu-status {
    display: none;
}

#menu-status:checked ~ .ghost-nav {
    height: 100%;
    opacity: 1;
}

#menu-status:checked ~ .ghost-nav .menu {
    opacity: 1;
    -webkit-transition: 0.3s all 0.2s;
    transition: 0.3s all 0.2s;
}

#menu-status:checked ~ .site-header .toggle-btn label .line {
    background-color: rgba(255, 255, 255, 0);
}

#menu-status:checked ~ .site-header .toggle-btn label .line::after {
    -webkit-transform: rotate(-45deg) translateY(0px);
    -ms-transform: rotate(-45deg) translateY(0px);
    transform: rotate(-45deg) translateY(0px);
}

#menu-status:checked ~ .site-header .toggle-btn label .line::before {
    -webkit-transform: rotate(45deg) translateY(0px);
    -ms-transform: rotate(45deg) translateY(0px);
    transform: rotate(45deg) translateY(0px);
}

/*===================================
    footer
===================================*/

/* footer */

.footer {
    margin: 80px 0 0;
}

.footer .global-btn.border form {
    max-width: 100%;
}

@media (max-width: 960px) {
    .footer {
        padding-bottom: 50px;
    }
}

/* footer-info */

.footer .footer-info {
    padding: 50px 5%;
    background-color: #403f3f;
    color: #fff;
    text-align: center;
}

.footer .footer-info .content {
    max-width: 1100px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .footer-info .footer-map {
    position: relative;
    width: 100%;
}

.footer .footer-info .footer-map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.footer .footer-info .info {
    white-space: nowrap;
    padding: 20px 60px 20px 0;
}

.footer .footer-info .info a {
    color: #fff;
}

.footer .footer-info .address {
    font-weight: 300;
}

.footer .footer-info .brand {
    width: 200px;
    margin: 0 auto 10px;
}

.footer .footer-info .brand img {
    display: block;
}

.footer .footer-info .tel {
    font-weight: 300;
    font-size: 32px;
    line-height: 1.2;
    margin-top: 15px;
}

.footer .footer-info .open {
    font-size: 12px;
    font-weight: 300;
}

.footer .footer-info .sns {
    margin-top: 15px;
    font-size: 26px;
}

.footer .footer-info .sns a {
    display: inline-block;
    margin: 0 5px;
    color: #fff;
}

.footer .footer-info .sns a:hover {
    opacity: 0.6;
}

.footer .fooer-info {
    padding: 50px 6%;
    background-color: #403f3f;
    color: #fff;
    text-align: center;
}

.footer .fooer-info .content {
    max-width: 1200px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .fooer-info .index-content .footer-map {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    margin-top: 20px;
}

.footer .fooer-info .index-content .footer-map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.footer .fooer-info .index-content .info {
    width: 320px;
    white-space: nowrap;
}

.footer .fooer-info .index-content .info a {
    color: #fff;
}

.footer .fooer-info .brand {
    width: 200px;
    margin: 0 auto 10px;
}

.footer .fooer-info .tel {
    font-weight: 300;
    font-size: 32px;
    line-height: 1.2;
    margin-top: 15px;
    white-space: nowrap;
    color: #fff;
}

.footer .fooer-info .open {
    font-size: 14px;
    font-weight: 300;
    white-space: nowrap;
}

.footer .fooer-info .sns {
    margin-top: 15px;
    font-size: 26px;
}

.footer .fooer-info .sns a {
    display: inline-block;
    margin: 0 5px;
    color: #fff;
}

.footer .fooer-info .sns a:hover {
    opacity: 0.6;
}

@media (max-width: 1280px) {
    .footer .fooer-info .brand {
        width: 160px;
    }

    .footer .fooer-info .index-content .info {
        width: 250px;
    }

    .footer .fooer-info .address {
        font-size: 14px;
    }
}
@media (max-width: 960px) {
    .fooer-info .content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .footer .fooer-info .index-content .info {
        width: 100%;
        margin-top: 40px;
    }

    .footer .fooer-info .index-content .footer-map {
        padding-top: 30vh;
    }
}
@media (max-width: 768px) {
    .footer .footer-info .content {
        display: block;
    }

    .footer .footer-info .info {
        padding: 0 0 20px;
    }

    .footer .footer-info .footer-map {
        padding-top: 56.25%;
    }

    .footer .footer-info {
        padding: 20px 0 0;
    }

    .footer .fooer-info .tel-box .pc {
        display: none;
    }

    .footer .fooer-info .tel {
        font-size: 30px;
        display: block;
        margin-bottom: 6px;
    }
}

/* footer-rightbox */

.footer .footer-rightbox {
    width: calc(100% - 400px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .footer-rightbox .footer-tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer .footer-rightbox .footer-tel .bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.footer .footer-rightbox .footer-tel .bottom .open {
    margin-left: 10px;
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
}

.footer .footer-rightbox .header-btn {
    margin-right: 20px;
}

.footer .footer-rightbox .header-btn input[type='submit'] {
    color: #fff;
    background-color: rgba(0, 0, 0, 0);
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 220px;
    height: 46px;
    border: 1px solid #fff;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
    font-size: 15px;
}

.footer .footer-rightbox .header-btn input[type='submit']:hover {
    color: #595959;
    background-color: #fff;
}

@media (max-width: 1280px) {
    .footer .footer-rightbox {
        width: calc(100% - 270px);
    }
}
@media (max-width: 960px) {
    .footer .footer-rightbox {
        width: 100%;
    }
    .footer .footer-rightbox .footer-tel {
        margin-top: 20px;
    }
}
@media (max-width: 768px) {
    .footer .footer-rightbox .footer-tel .bottom .open {
        margin-left: 0;
    }

    .footer .footer-rightbox .footer-tel {
        display: block;
    }

    .footer .footer-rightbox .footer-tel .bottom {
        margin-top: 15px;
        display: block;
    }

    .footer .footer-rightbox .header-btn {
        margin-right: 0;
    }

    .footer .footer-rightbox .header-btn input[type='submit'] {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        height: 56px;
    }
}

/* footer-menu */

.footer .footer-menu {
    margin-bottom: 30px;
    width: 100%;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    background-color: rgba(0, 0, 0, 0);
    gap: 0 20px;
}

.footer .footer-menu .menu {
    color: #fff;
    font-weight: 300;
    font-size: 13px;
}

.footer .footer-menu .menu li a {
    margin-bottom: 10px;
    display: inline-block;
    color: #fff;
    font-weight: 300 !important;
}

.footer .footer-menu .menu li a i {
    font-size: 0.8em;
    margin-right: 0.5em;
}

.footer .footer-menu .menu li a:hover {
    color: #9e9e9e;
}

.footer .footer-menu .menu li .ja {
    display: block;
    margin-bottom: 10px;
    color: #fff;
    font-weight: 300 !important;
}

.footer .footer-menu .menu .has .ja {
    pointer-events: none;
}

.footer .footer-menu .menu .sub-menu {
    display: block;
}

.footer .footer-menu .menu .single a {
    border-bottom: 1px solid #8f8f8f;
    line-height: 1.2;
}

.footer .footer-menu .has.on .ja::after {
    content: '';
}

.footer .footer-menu .last {
    font-size: 13px;
}

.footer .footer-menu .last li a {
    margin-bottom: 2px;
    color: #fff;
}

.footer .footer-menu .last li a:hover {
    text-decoration: underline;
}

@media (max-width: 1280px) {
    .footer .footer-menu .menu li a {
        margin-bottom: 8px;
    }
}
@media (max-width: 768px) {
    .footer .footer-menu {
        display: block;
        margin-bottom: 10px;
    }

    .footer .footer-menu .menu:last-child {
        border-bottom: 1px solid #717171;
    }

    .footer .footer-menu .menu .has .ja {
        pointer-events: auto;
        cursor: pointer;
    }

    .footer .footer-menu .menu > li > a,
    .footer .footer-menu .menu > li .ja {
        border-top: 1px solid #717171;
        width: 100%;
        padding: 0.9em 0;
        margin-bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .footer .footer-menu .menu > li > a:hover,
    .footer .footer-menu .menu > li .ja:hover {
        text-decoration: none;
    }

    .footer .footer-menu .menu:nth-child(3) > li {
        border-bottom: 1px solid #717171;
    }

    .footer .footer-menu .menu > li > a::after {
        content: '';
        font-family: 'Font Awesome 6 Free';
        font-style: normal;
        font-weight: 700;
    }

    .footer .footer-menu .menu > li .ja::after {
        content: '+';
        font-family: 'Font Awesome 6 Free';
        font-style: normal;
        font-weight: 700;
    }

    .footer .footer-menu .menu .has.on .ja::after {
        content: 'ー';
    }

    .footer .footer-menu .menu .sub-menu {
        display: none;
    }

    .footer .footer-menu .menu .sub-menu ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 15px;
    }

    .footer .footer-menu .menu .sub-menu ul li {
        width: 50%;
        font-size: 13px;
    }

    .footer .footer-menu .last {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        max-width: 300px;
        margin: 20px auto 0;
    }

    .footer .footer-menu .last li {
        width: calc(50% - 5px);
    }

    .footer .footer-menu .menu .single a {
        border-bottom: none;
        line-height: 1.6;
    }
}

/* footer-map */

.footer .footer-map {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
}

.footer .footer-map:hover {
    -webkit-filter: grayscale(0%);
    filter: grayscale(0%);
}

/* index-footer-banner */

.footer .index-footer-banner {
    padding: 50px 5% 20px;
    background-color: #e6e6e6;
}

.footer .index-footer-banner .content {
    max-width: 1000px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .index-footer-banner .content a {
    display: inline-block;
    width: calc(50% - 20px);
}

.footer .index-footer-banner .content a:hover {
    opacity: 0.8;
}

.footer .index-footer-banner .content a img {
    display: block;
}

@media (max-width: 768px) {
    .footer .index-footer-banner {
        padding: 20px 5% 0px;
    }
    .footer .index-footer-banner .content a {
        width: calc(50% - 5px);
    }
}

/* page-footer-banner */

.footer .page-footer-banner {
    padding: 100px 5% 0;
}

.footer .page-footer-banner .global-btn {
    width: 100%;
}

.footer .page-footer-banner .global-btn form {
    width: 100%;
}

.footer .page-footer-banner .global-btn a {
    width: 100%;
}

.footer .page-footer-banner .btn-content {
    max-width: 1200px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .page-footer-banner .btn-content .item {
    width: calc(50% - 20px);
    background-color: #f4f4f4;
    padding: 40px 50px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.footer .page-footer-banner .btn-content .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    text-align: left;
}

.footer .page-footer-banner .btn-content .flex .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer .page-footer-banner .btn-content .flex .title .en {
    font-size: 50px;
    line-height: 1.2em;
}

.footer .page-footer-banner .btn-content .flex .title .ja {
    font-size: 16px;
    color: gray;
    margin-left: 10px;
    letter-spacing: 2px;
}

.footer .page-footer-banner .btn-content .flex .article {
    margin-top: 10px;
}

.footer .page-footer-banner .btn-content .flex .right {
    width: 1em;
    line-height: 1.2em;
}

.footer .page-footer-banner .btn-content .flex .right i {
    margin-left: 0.1em;
}

.footer .page-footer-banner .btn-content .img {
    margin-bottom: 20px;
}

.footer .page-footer-banner .btn-content .open {
    margin-bottom: 20px;
}

.footer .page-footer-banner .btn-content .ttl {
    font-size: 22px;
    margin-bottom: 15px;
}

.footer .page-footer-banner .btn-content .ja-title {
    font-size: 36px;
}

.footer .page-footer-banner .open i {
    display: inline-block;
    margin-right: 5px;
}

.footer .page-footer-banner .link-content {
    max-width: 1100px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 80px 0;
}

.footer .page-footer-banner .link-content a {
    width: calc(50% - 20px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 40px 15px 40px 30px;
    border-top: 1px solid #cbcbcb;
    border-bottom: 1px solid #cbcbcb;
}

.footer .page-footer-banner .link-content a .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.footer .page-footer-banner .link-content a .box .open {
    margin-left: 20px;
}

.footer .page-footer-banner .link-content a .ja {
    font-size: 16px;
    color: gray;
    margin-bottom: 5px;
}

.footer .page-footer-banner .link-content a .en {
    font-size: 50px;
    line-height: 1.2em;
}

/* Copyright */

.footer .copyright {
    padding: 20px 5%;
    text-align: center;
    font-size: 14px;
    background-color: #e6e6e6;
}

@media (max-width: 768px) {
    .footer .copyright {
        font-size: 12px;
        padding: 10px 5%;
    }
}

/* sp-foorter-btns */

.sp-foorter-btns {
    font-weight: 300;
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 20;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    letter-spacing: normal;
    font-size: 14px;
}

.sp-foorter-btns .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 0;
}

.sp-foorter-btns .inner form {
    width: 100%;
    display: inline-block;
    position: relative;
    z-index: 1;
}

.sp-foorter-btns .inner form a {
    width: 100%;
    background-color: #565656;
}

.sp-foorter-btns .inner form input[type='submit'] {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 2;
    display: block;
    opacity: 0;
    cursor: pointer;
    font-weight: 300;
}

.sp-foorter-btns .inner a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #222;
    color: #fff;
    font-size: 14px;
    text-align: center;
    height: 50px;
    line-height: 1.2;
    width: 50%;
}

.sp-foorter-btns .inner a .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.sp-foorter-btns .inner a i {
    font-size: 18px;
    margin-right: 0.5em;
}

.sp-foorter-btns .inner a .nowrap {
    font-weight: 300;
}

.sp-foorter-btns .inner a .ja {
    display: block;
    height: 2.4em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 300;
}

@media (max-width: 960px) {
    .sp-foorter-btns {
        display: block;
    }
}

/*===================================
    main
===================================*/

#main {
    padding-top: 110px;
}
body.has-hero #main {
    padding-top: 0;
}

@media (max-width: 768px) {
    #main {
        padding-top: 90px;
    }
}

/*===================================
    inner
===================================*/

.inner {
    width: 100%;
    height: 100%;
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    padding: 0 50px;
}

/* .inner.is-width-1 { */
.inner.is-small {
    max-width: 1200px;
}
.inner.is-x-small {
    max-width: 1100px;
}
.inner.is-xx-small {
    max-width: 1000px;
}

@media screen and (max-width: 768px) {
    .inner {
        padding: 0 20px;
    }
}

/*======================================================================



    Object - Compornent
*/

/*===================================
    common-page-header
===================================*/

.common-page-header {
    width: 100%;
    min-height: 185px;
    position: relative;
}
.common-page-header .inner {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 185px;
}
.common-page-header.is-small .text {
    text-align: center;
}
.common-page-header .text {
    position: relative;
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
}
.common-page-header .english {
    font-size: 24px;
    color: #808080;
}
.common-page-header .japanese {
    font-size: 36px;
    padding: 0 20px 0 0;
}
.common-page-header .japanese span {
    background: #fff;
}
.common-page-header .image {
    display: block;
    max-width: 730px;
    overflow: hidden;
    margin-right: calc(50% - 50vw);
    margin-left: auto;
    width: 65%;
}
.common-page-header .image img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .common-page-header {
        min-height: auto;
        height: auto;
    }
    .common-page-header .inner {
        display: block;
        min-height: auto;
    }
    .common-page-header.is-small .text {
        text-align: left;
        justify-content: start;
    }
    .common-page-header .text {
        position: relative;
        display: flex;
        height: 100%;
        flex-direction: column;
        justify-content: center;
    }
    .common-page-header .english {
        font-size: 14px;
        color: #808080;
    }
    .common-page-header .japanese {
        font-size: 23px;
        width: 100%;
        background: none;
        padding: 0;
    }
    .common-page-header .image {
        position: relative;
        width: calc(100% - -20px);
        height: 180px;
        right: auto;
        top: auto;
        text-align: left;
        order: 2;
        margin: 20px 0 0;
        padding: 0 0 0 0px;
    }
    .common-page-header .image img {
        object-fit: cover;
        min-height: 100%;
        width: 100%;
    }
}

/*===================================
    common-content-header
===================================*/

/* common-content-header */

.common-content-header {
    position: relative;
    margin: 0 0 45px;
}
.common-content-header .common-content-sub-title {
    text-align: center;
}
.common-content-header .common-content-title {
    text-align: center;
    line-height: 1;
    margin: 10px 0 0;
}
.common-content-sub-title {
    font-size: 18px;
}
.common-content-title {
    font-size: 54px;
    font-family: 'Jost', sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .common-content-header {
        margin: 0 0 20px;
    }
    .common-content-header .common-content-sub-title {
        text-align: left;
    }
    .common-content-header .common-content-title {
        text-align: left;
        line-height: 1;
        margin: 10px 0 0;
    }
    .common-content-sub-title {
        font-size: 15px;
    }
    .common-content-title {
        font-size: 34px;
    }
}

/* common-content-header-2 */

.common-content-header-2 {
    position: relative;
    margin: 0 0 45px;
}
.common-content-header-2 .common-content-sub-title-2 {
    text-align: center;
}
.common-content-header-2 .common-content-title-2 {
    text-align: center;
    line-height: 1.4;
    margin: 10px 0 0;
}
.common-content-header-2.is-bg {
    padding: 40px 0 40px;
    background: #f8f8f8;
}
.common-content-sub-title-2 {
    font-size: 16px;
    font-family: 'Jost', sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    line-height: 1.5;
}
.common-content-title-2 {
    font-size: 34px;
}

@media screen and (max-width: 768px) {
    .common-content-header-2 {
        margin: 0 0 20px;
    }
    .common-content-header-2 .common-content-title-2 {
        line-height: 1.5;
        margin: 7px 0 0;
    }
    .common-content-sub-title-2 {
        font-size: 15px;
    }
    .common-content-title-2 {
        font-size: 22px;
    }
}

/*===================================
    common-feature-items
===================================*/

.common-feature-items {
}
.common-feature-items .item + .item {
    margin: 120px 0 0;
}
.common-feature-items .item {
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.common-feature-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.common-feature-items .image {
    width: 55%;
}
.common-feature-items .number {
    font-size: 14px;
    text-align: center;
    width: 40px;
    height: 40px;
    background: #333;
    border: 1px solid #333;
    border-radius: 100%;
    color: #fff;
    margin: 0 auto;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Jost', sans-serif;
}
.common-feature-items .title {
    font-size: 28px;
    text-align: center;
    margin: 15px 0 0;
    line-height: 1.4;
}
.common-feature-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}
.common-feature-items .item:nth-child(even) .image {
    order: 2;
}
.common-feature-items .item:nth-child(even) .text {
    order: 1;
}

@media screen and (max-width: 768px) {
    .common-feature-items {
    }
    .common-feature-items .item + .item {
        margin: 60px 0 0;
    }
    .common-feature-items .item {
        margin: 0;
        display: block;
    }
    .common-feature-items .text {
        width: 100%;
    }
    .common-feature-items .image {
        width: calc(100% - -40px);
        margin: 25px -20px 0;
    }
    .common-feature-items .number {
        font-size: 14px;
        text-align: center;
        width: 40px;
        height: 40px;
        background: #333;
        border: 1px solid #333;
        border-radius: 100%;
        color: #fff;
        margin: 0 auto;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Jost', sans-serif;
    }
    .common-feature-items .title {
        font-size: 22px;
        text-align: center;
        margin: 13px 0 0;
        line-height: 1.4;
    }
    .common-feature-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
        padding: 0;
    }
    .common-feature-items .item:nth-child(even) .image {
        order: 1;
    }
    .common-feature-items .item:nth-child(even) .text {
        order: 2;
    }
}

/*===================================
    common-data-table
===================================*/

/* common-data-table */

.common-data-table {
    /* max-width: 600px; */
    margin: 0 auto;
    border-collapse: collapse;
}
.common-data-table th {
    border-top: 1px solid #676767;
    padding: 16px 0;
    width: 26%;
    text-align: left;
}
.common-data-table td {
    padding: 16px 20px;
    border-top: 1px solid #d6d6d6;
}

.common-data-table tr:last-child th {
    border-bottom: 1px solid #676767;
}
.common-data-table tr:last-child td {
    border-bottom: 1px solid #d6d6d6;
}

/*===================================
    common-data-list
===================================*/

/* common-data-list */

.common-data-list {
    margin: 0 auto;
    border-collapse: collapse;
}
.common-data-list-items {
    display: flex;
    gap: 0 90px;
    flex-flow: row wrap;
}
.common-data-list-items .common-data-list-item {
    width: calc(50% - 45px);
}
.common-data-list-item {
    display: flex;
    border-top: 1px solid #d6d6d6;
    position: relative;
}
.common-data-list-item:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #676767;
    width: 26%;
    left: 0;
    top: -1px;
    position: absolute;
}
.common-data-list-item-link {
    padding: 16px 0px;
    width: 100%;
}
.common-data-list-item-header {
    display: block;
    padding: 16px 0;
    width: 26%;
    text-align: left;
}
.common-data-list-item-body {
    display: block;
    width: 74%;
    padding: 16px 20px;
}
.common-data-list-items .common-data-list-item:nth-last-child(-n + 1),
.common-data-list-items .common-data-list-item:nth-last-child(-n + 2) {
    border-bottom: 1px solid #d6d6d6;
}
.common-data-list-items .common-data-list-item:nth-last-child(-n + 1):before,
.common-data-list-items .common-data-list-item:nth-last-child(-n + 2):before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #676767;
    width: 26%;
    left: 0;
    bottom: -1px;
    position: absolute;
}

@media screen and (max-width: 768px) {
    .common-data-list-items {
        gap: 0;
        flex-flow: wrap;
    }
    .common-data-list-items .common-data-list-item {
        width: 100%;
    }
    .common-data-list-item-header {
    }
    .common-data-list-item-body {
    }
    .common-data-list-items .common-data-list-item:nth-last-child(2) {
        border-bottom: none;
    }
}

/*===================================
    line-chunk
===================================*/

.line-chunk {
    display: inline-block;
}

/*===================================
    pagination
===================================*/

/*===================================
    button
===================================*/

.button-1 {
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: none;
    padding: 25px 25px;
    border-radius: 0;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    /*  */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0 10px;
    min-width: 420px;
    justify-content: center;
    position: relative;
    background-color: #4a4a4a;
    color: #fff;
    font-weight: 400;
}
.button-1:after {
    content: '';
    display: inline-block;
    width: 21px;
    height: 12px;
    font-weight: bold;
    mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_205%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20205%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219.995%22%20height%3D%2211.524%22%20viewBox%3D%220%200%2019.995%2011.524%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_63%22%20data-name%3D%22%E7%B7%9A%2063%22%20x2%3D%2217.026%22%20transform%3D%22translate(0%205.7)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_1%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%201%22%20d%3D%22M5.762%2C0l5.762%2C5.658H0Z%22%20transform%3D%22translate(19.995)%20rotate(90)%22%2F%3E%3C%2Fsvg%3E');
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    background: #fff;
    position: absolute;
    right: 30px;
}
.button-1:link,
.button-1:visited {
    color: #fff;
}
.button-1:hover {
    text-decoration: none;
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .button-1 {
        min-width: 330px;
        padding: 20px 0px 20px;
        font-size: 14px;
    }
}

.button-2 {
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    background-color: #fff;
    border: none;
    padding: 7px 10px;
    border-radius: 0;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    /*  */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0 11px;
    min-width: 165px;
    justify-content: center;
    position: relative;
    border: 1px solid #707070;
    border-radius: 19px;
    font-size: 14px;
    align-items: center;
}
.button-2:after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 6px;
    font-weight: bold;
    mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_205%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20205%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219.995%22%20height%3D%2211.524%22%20viewBox%3D%220%200%2019.995%2011.524%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_63%22%20data-name%3D%22%E7%B7%9A%2063%22%20x2%3D%2217.026%22%20transform%3D%22translate(0%205.7)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_1%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%201%22%20d%3D%22M5.762%2C0l5.762%2C5.658H0Z%22%20transform%3D%22translate(19.995)%20rotate(90)%22%2F%3E%3C%2Fsvg%3E');
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    background: #333333;
    top: 1px;
    position: relative;
}
.button-2:hover {
    text-decoration: none;
    opacity: 0.7;
}

@media screen and (max-width: 768px) {
    .button-2 {
        min-width: 113px;
        padding: 5px 0 7px;
        font-size: 10px;
        gap: 0 6px;
    }
    .button-2:after {
        width: 7px;
        height: 4px;
    }
}

.button-3 {
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    user-select: none;
    border: none;
    padding: 20px 20px;
    border-radius: 0;
    text-decoration: none;
    transition: all 0.3s ease-in-out;
    /*  */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0 10px;
    min-width: 320px;
    justify-content: center;
    position: relative;
    background-color: #fff;
    font-weight: 300;
    border: 1px solid #333;
    font-size: 14px;
}
.button-3:after {
    content: '';
    display: inline-block;
    width: 18px;
    height: 10px;
    font-weight: bold;
    mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_205%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20205%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219.995%22%20height%3D%2211.524%22%20viewBox%3D%220%200%2019.995%2011.524%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_63%22%20data-name%3D%22%E7%B7%9A%2063%22%20x2%3D%2217.026%22%20transform%3D%22translate(0%205.7)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_1%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%201%22%20d%3D%22M5.762%2C0l5.762%2C5.658H0Z%22%20transform%3D%22translate(19.995)%20rotate(90)%22%2F%3E%3C%2Fsvg%3E');
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    background: #333333;
    position: absolute;
    right: 30px;
    transition: all 0.3s ease-in-out;
}
.button-3:link,
.button-3:visited {
    color: currentColor;
}
.button-3:hover {
    background-color: #4a4a4a;
    color: #fff;
}
.button-3:hover:after {
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .button-3 {
        min-width: 330px;
        padding: 20px 0px 20px;
        font-size: 14px;
    }
}

/* arrow */

.arrow {
    width: 69px;
    height: 69px;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    font-size: 16px;
    border: 1px solid #484848;
    border-radius: 50vw;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.arrow:hover {
    background-color: #484848;
    color: #fff;
}

.arrow:after {
    content: '';
    width: 20px;
    height: 18px;
    font-size: 16px;
    font-weight: bold;
    mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_205%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20205%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219.995%22%20height%3D%2211.524%22%20viewBox%3D%220%200%2019.995%2011.524%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_63%22%20data-name%3D%22%E7%B7%9A%2063%22%20x2%3D%2217.026%22%20transform%3D%22translate(0%205.7)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_1%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%201%22%20d%3D%22M5.762%2C0l5.762%2C5.658H0Z%22%20transform%3D%22translate(19.995)%20rotate(90)%22%2F%3E%3C%2Fsvg%3E');
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    background: rgba(0, 0, 0, 1);
    display: block;
}

.arrow:hover:after {
    background: rgba(255, 255, 255, 1);
}

@media screen and (max-width: 768px) {
    .arrow {
        width: 45px;
        height: 44px;
    }

    .arrow:hover {
        background-color: #484848;
        color: #fff;
    }

    .arrow:after {
        width: 13px;
        height: 7.5px;
    }

    .arrow:hover:after {
        background: rgba(255, 255, 255, 1);
    }
}

/*===================================
    over
===================================*/

.over:hover {
    transition: opacity 300ms 0s ease;
    opacity: 0.5;
}

/*===================================
    image
===================================*/

.is-responsive {
    max-width: 100%;
    height: auto;
}

/*===================================
    hero
===================================*/

.hero {
    position: relative;
    background-color: #595959;
    height: calc(100vh - 170px);
    min-height: 820px;
    background: url(../images/index/hero_bg.png) no-repeat center center;
    background-size: cover;
}

.hero .title {
    position: absolute;
    top: 190px;
    left: 55px;
    max-width: 105px;
    width: 100%;
    bottom: 0;
    margin: auto;
    font-size: 36px;
    font-weight: 300;
    color: #fff;
    text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.6);
    z-index: 1;
    writing-mode: vertical-rl;
    line-height: 1.4;
    letter-spacing: 3px;
}

.hero .title .small {
    font-size: 26px;
}

.hero .inner {
    max-width: 1100px;
}

.hero::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.hero .feature {
    position: absolute;
    bottom: 50px;
    right: 50px;
    z-index: 1;
    max-width: 450px;
}

@media screen and (max-width: 768px) {
    .hero {
        position: relative;
        background-color: #595959;
        height: calc(100dvh - 112px);
        background: url(../images/index/hero_bg.png) no-repeat center center;
        background-size: cover;
        min-height: 555px;
    }

    .hero .title {
        position: absolute;
        top: 80px;
        right: 25px;
        margin: 0;
        align-items: start;
        left: auto;
        font-size: 26px;
        letter-spacing: 2px;
    }

    .hero .title .small {
        font-size: 26px;
    }

    .hero .inner {
        max-width: 1100px;
    }

    .hero::before {
        content: '';
        display: block;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.3);
        position: absolute;
        left: 0;
        top: 0;
        z-index: 1;
    }

    .hero .feature {
        position: absolute;
        bottom: 20px;
        right: 0;
        z-index: 1;
        max-width: 100%;
        padding: 0 30px;
    }
}

/* 404 */

.hero.is-404 {
    position: relative;
    height: calc(100vh - 170px);
    min-height: 820px;
    background: #595959;
    background-size: cover;
}

.hero.is-404 .more {
    margin: 40px 0 0;
}

.hero.is-404 .inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.hero.is-404::before {
    display: none;
}

.hero .title-404 {
    color: #fff;
    font-size: 80px;
    line-height: 1.2;
    text-align: center;
    font-weight: 600;
}

.hero .description-404 {
    color: #fff;
    line-height: 1.2;
    text-align: center;
    font-weight: 600;
    margin: 10px 0 0;
}

/*===================================
    pagination
===================================*/

.pagination {
    text-align: center;
}
.pagination a,
.pagination span {
    margin: 2px;
    text-decoration: none;
    padding: 10px 10px;
    display: inline-block;
    box-sizing: border-box;
}
.pagination a:hover {
    background: transparent;
    opacity: 0.6;
}
.pagination .current {
    background: transparent;
    border: 0px solid rgb(255, 255, 255);
    font-weight: 400;
}
.pagination .prev,
.pagination .next {
    position: relative;
    background-color: #f8f8f8;
    padding: 10px 18px;
    border-radius: 100%;
    text-indent: -9999px;
    width: 45px;
    height: 45px;
}
.pagination .next:after,
.pagination .prev:after {
    content: '';
    mask-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214.342%22%20height%3D%2214.342%22%3E%3Cg%20data-name%3D%22%E3%82%B7%E3%83%B3%E3%83%9C%E3%83%AB%2083%22%3E%3Cpath%20fill%3D%22%23222%22%20d%3D%22m7.171%2014.342%201.3-1.3-4.929-4.94h10.8v-1.86h-10.8l4.933-4.938-1.3-1.3L.004%207.175Z%22%20data-name%3D%22%E3%83%91%E3%82%B9%2010%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    background: #222;
    transition: all 0.3s ease-in-out;
    display: flex;
    right: 16px;
    bottom: 15px;
    position: absolute;
    width: 14px;
    height: 14px;
    z-index: 2;
    justify-content: center;
    align-items: center;
}
.pagination .next:after {
    transform: rotate(180deg);
}

@media screen and (max-width: 767px) {
    .pagination {
        margin-top: 40px;
    }
}

/*===================================
    font-size
===================================*/

.fs-5xl {
    font-size: 48px;
}
.fs-4xl {
    font-size: 36px;
}
.fs-4xl {
    font-size: 36px;
}
.fs-3xl {
    font-size: 30px;
}
.fs-2xl {
    font-size: 24px;
}
.fs-xl {
    font-size: 20px;
}
.fs-lg {
    font-size: 18px;
}
.fs-base {
    font-size: 16px;
}
.fs-sm {
    font-size: 14px;
}
.fs-xs {
    font-size: 12px;
}
.fs-2xs {
    font-size: 10px;
}
.fs-3xs {
    font-size: 8px;
}

@media screen and (max-width: 767px) {
    .fs-5xl {
        font-size: 36px;
    }
    .fs-4xl {
        font-size: 30px;
    }
    .fs-3xl {
        font-size: 24px;
    }
    .fs-2xl {
        font-size: 20px;
    }
    .fs-xl {
        font-size: 18px;
    }
    .fs-lg {
        font-size: 16px;
    }
    .fs-base {
        font-size: 14px;
    }
    .fs-sm {
        font-size: 12px;
    }
    .fs-xs {
        font-size: 10px;
    }
    .fs-2xs {
        font-size: 8px;
    }
    .fs-3xs {
        font-size: 6px;
    }
}

/*===================================
    margin sizing
===================================*/

/* margin all */
.m-9 {
    margin: 200px;
}
.m-8 {
    margin: 160px;
}
.m-7 {
    margin: 120px;
}
.m-6 {
    margin: 100px;
}
.m-5 {
    margin: 80px;
}
.m-4 {
    margin: 60px;
}
.m-3 {
    margin: 40px;
}
.m-2 {
    margin: 20px;
}
.m-1 {
    margin: 10px;
}
/* margin-top */
.mt-9 {
    margin-top: 200px;
}
.mt-8 {
    margin-top: 160px;
}
.mt-7 {
    margin-top: 120px;
}
.mt-6 {
    margin-top: 100px;
}
.mt-5 {
    margin-top: 80px;
}
.mt-4 {
    margin-top: 60px;
}
.mt-3 {
    margin-top: 40px;
}
.mt-2 {
    margin-top: 20px;
}
.mt-1 {
    margin-top: 10px;
}
/* margin-right */
.mr-9 {
    margin-right: 200px;
}
.mr-8 {
    margin-right: 160px;
}
.mr-7 {
    margin-right: 120px;
}
.mr-6 {
    margin-right: 100px;
}
.mr-5 {
    margin-right: 80px;
}
.mr-4 {
    margin-right: 60px;
}
.mr-3 {
    margin-right: 40px;
}
.mr-2 {
    margin-right: 20px;
}
.mr-1 {
    margin-right: 10px;
}
/* margin-bottom */
.mb-9 {
    margin-bottom: 200px;
}
.mb-8 {
    margin-bottom: 160px;
}
.mb-7 {
    margin-bottom: 120px;
}
.mb-6 {
    margin-bottom: 100px;
}
.mb-5 {
    margin-bottom: 80px;
}
.mb-4 {
    margin-bottom: 60px;
}
.mb-3 {
    margin-bottom: 40px;
}
.mb-2 {
    margin-bottom: 20px;
}
.mb-1 {
    margin-bottom: 10px;
}
/* margin-left */
.ml-9 {
    margin-left: 200px;
}
.ml-8 {
    margin-left: 160px;
}
.ml-7 {
    margin-left: 120px;
}
.ml-6 {
    margin-left: 100px;
}
.ml-5 {
    margin-left: 80px;
}
.ml-4 {
    margin-left: 60px;
}
.ml-3 {
    margin-left: 40px;
}
.ml-2 {
    margin-left: 20px;
}
.ml-1 {
    margin-left: 10px;
}
@media screen and (max-width: 767px) {
    /* margin all */

    .m-9 {
        margin: 100px;
    }
    .m-8 {
        margin: 80px;
    }
    .m-7 {
        margin: 60px;
    }
    .m-6 {
        margin: 50px;
    }
    .m-5 {
        margin: 40px;
    }
    .m-4 {
        margin: 30px;
    }
    .m-3 {
        margin: 15px;
    }
    .m-2 {
        margin: 10px;
    }
    .m-1 {
        margin: 5px;
    }

    /* margin-top */

    .mt-9 {
        margin-top: 100px;
    }
    .mt-8 {
        margin-top: 80px;
    }
    .mt-7 {
        margin-top: 60px;
    }
    .mt-6 {
        margin-top: 50px;
    }
    .mt-5 {
        margin-top: 40px;
    }
    .mt-4 {
        margin-top: 30px;
    }
    .mt-3 {
        margin-top: 15px;
    }
    .mt-2 {
        margin-top: 10px;
    }
    .mt-1 {
        margin-top: 5px;
    }

    /* margin-right */

    .mr-9 {
        margin-right: 100px;
    }
    .mr-8 {
        margin-right: 80px;
    }
    .mr-7 {
        margin-right: 60px;
    }
    .mr-6 {
        margin-right: 50px;
    }
    .mr-5 {
        margin-right: 40px;
    }
    .mr-4 {
        margin-right: 30px;
    }
    .mr-3 {
        margin-right: 15px;
    }
    .mr-2 {
        margin-right: 10px;
    }
    .mr-1 {
        margin-right: 5px;
    }

    /* margin-bottom */

    .mb-9 {
        margin-bottom: 100px;
    }
    .mb-8 {
        margin-bottom: 80px;
    }
    .mb-7 {
        margin-bottom: 60px;
    }
    .mb-6 {
        margin-bottom: 50px;
    }
    .mb-5 {
        margin-bottom: 40px;
    }
    .mb-4 {
        margin-bottom: 30px;
    }
    .mb-3 {
        margin-bottom: 15px;
    }
    .mb-2 {
        margin-bottom: 10px;
    }
    .mb-1 {
        margin-bottom: 5px;
    }

    /* margin-left */

    .ml-9 {
        margin-left: 100px;
    }
    .ml-8 {
        margin-left: 80px;
    }
    .ml-7 {
        margin-left: 60px;
    }
    .ml-6 {
        margin-left: 50px;
    }
    .ml-5 {
        margin-left: 40px;
    }
    .ml-4 {
        margin-left: 30px;
    }
    .ml-3 {
        margin-left: 15px;
    }
    .ml-2 {
        margin-left: 10px;
    }
    .ml-1 {
        margin-left: 5px;
    }
}

/*===================================
    padding sizing
===================================*/
/* padding all */
.p-9 {
    padding: 200px;
}
.p-8 {
    padding: 160px;
}
.p-7 {
    padding: 120px;
}
.p-6 {
    padding: 100px;
}
.p-5 {
    padding: 80px;
}
.p-4 {
    padding: 60px;
}
.p-3 {
    padding: 40px;
}
.p-2 {
    padding: 20px;
}
.p-1 {
    padding: 10px;
}
/* padding-top */
.pt-9 {
    padding-top: 200px;
}
.pt-8 {
    padding-top: 160px;
}
.pt-7 {
    padding-top: 120px;
}
.pt-6 {
    padding-top: 100px;
}
.pt-5 {
    padding-top: 80px;
}
.pt-4 {
    padding-top: 60px;
}
.pt-3 {
    padding-top: 40px;
}
.pt-2 {
    padding-top: 20px;
}
.pt-1 {
    padding-top: 10px;
}
/* padding-right */
.pr-9 {
    padding-right: 200px;
}
.pr-8 {
    padding-right: 160px;
}
.pr-7 {
    padding-right: 120px;
}
.pr-6 {
    padding-right: 100px;
}
.pr-5 {
    padding-right: 80px;
}
.pr-4 {
    padding-right: 60px;
}
.pr-3 {
    padding-right: 40px;
}
.pr-2 {
    padding-right: 20px;
}
.pr-1 {
    padding-right: 10px;
}
/* padding-bottom */
.pb-9 {
    padding-bottom: 200px;
}
.pb-8 {
    padding-bottom: 160px;
}
.pb-7 {
    padding-bottom: 120px;
}
.pb-6 {
    padding-bottom: 100px;
}
.pb-5 {
    padding-bottom: 80px;
}
.pb-4 {
    padding-bottom: 60px;
}
.pb-3 {
    padding-bottom: 40px;
}
.pb-2 {
    padding-bottom: 20px;
}
.pb-1 {
    padding-bottom: 10px;
}
/* padding-left */
.pl-9 {
    padding-left: 200px;
}
.pl-8 {
    padding-left: 160px;
}
.pl-7 {
    padding-left: 120px;
}
.pl-6 {
    padding-left: 100px;
}
.pl-5 {
    padding-left: 80px;
}
.pl-4 {
    padding-left: 60px;
}
.pl-3 {
    padding-left: 40px;
}
.pl-2 {
    padding-left: 20px;
}
.pl-1 {
    padding-left: 10px;
}
@media screen and (max-width: 767px) {
    /* padding all */

    .p-9 {
        padding: 100px;
    }
    .p-8 {
        padding: 80px;
    }
    .p-7 {
        padding: 60px;
    }
    .p-6 {
        padding: 50px;
    }
    .p-5 {
        padding: 40px;
    }
    .p-4 {
        padding: 30px;
    }
    .p-3 {
        padding: 15px;
    }
    .p-2 {
        padding: 10px;
    }
    .p-1 {
        padding: 5px;
    }

    /* padding-top */

    .pt-9 {
        padding-top: 100px;
    }
    .pt-8 {
        padding-top: 80px;
    }
    .pt-7 {
        padding-top: 60px;
    }
    .pt-6 {
        padding-top: 50px;
    }
    .pt-5 {
        padding-top: 40px;
    }
    .pt-4 {
        padding-top: 30px;
    }
    .pt-3 {
        padding-top: 15px;
    }
    .pt-2 {
        padding-top: 10px;
    }
    .pt-1 {
        padding-top: 5px;
    }

    /* padding-right */

    .pr-9 {
        padding-right: 100px;
    }
    .pr-8 {
        padding-right: 80px;
    }
    .pr-7 {
        padding-right: 60px;
    }
    .pr-6 {
        padding-right: 50px;
    }
    .pr-5 {
        padding-right: 40px;
    }
    .pr-4 {
        padding-right: 30px;
    }
    .pr-3 {
        padding-right: 15px;
    }
    .pr-2 {
        padding-right: 10px;
    }
    .pr-1 {
        padding-right: 5px;
    }

    /* padding-bottom */

    .pb-9 {
        padding-bottom: 100px;
    }
    .pb-8 {
        padding-bottom: 80px;
    }
    .pb-7 {
        padding-bottom: 60px;
    }
    .pb-6 {
        padding-bottom: 50px;
    }
    .pb-5 {
        padding-bottom: 40px;
    }
    .pb-4 {
        padding-bottom: 30px;
    }
    .pb-3 {
        padding-bottom: 15px;
    }
    .pb-2 {
        padding-bottom: 10px;
    }
    .pb-1 {
        padding-bottom: 5px;
    }

    /* padding-left */

    .pl-9 {
        padding-left: 100px;
    }
    .pl-8 {
        padding-left: 80px;
    }
    .pl-7 {
        padding-left: 60px;
    }
    .pl-6 {
        padding-left: 50px;
    }
    .pl-5 {
        padding-left: 40px;
    }
    .pl-4 {
        padding-left: 30px;
    }
    .pl-3 {
        padding-left: 15px;
    }
    .pl-2 {
        padding-left: 10px;
    }
    .pl-1 {
        padding-left: 5px;
    }
}

/*======================================================================



    Object - Project
*/

/*===================================
    index
===================================*/

/* header pc */

.site-header.is-white .menu > li > a,
.site-header.is-white .menu > li > .ja,
.site-header.on .menu > li > a,
.site-header.on .menu > li > .ja {
    color: #fff;
}
.site-header.is-white .header-btn input[type='submit'],
.site-header.on .header-btn input[type='submit'] {
    border-color: #fff;
    color: #fff;
}
.site-header.is-white .menu > li > a::after,
.site-header.is-white .menu .ja::after,
.site-header.on .menu > li > a::after,
.site-header.on .menu .ja::after {
    background-color: #fff;
}
.site-header.is-white .header-btn input[type='submit']:hover,
.site-header.on .header-btn input[type='submit']:hover {
    color: #333;
    background-color: #fff;
}
.site-header.on .menu .sub-menu {
    top: 79px;
}
.site-header.on .menu .ja::before {
    bottom: 0px;
}
.site-header.on .menu .ja::after,
.site-header.on .menu > li > a::after {
    bottom: 25px;
}

/* header sp */

.site-header.on .toggle-btn label .line,
.site-header.on .toggle-btn label .line::before,
.site-header.on .toggle-btn label .line::after,
#menu-status:checked ~ .site-header .toggle-btn label .line::before,
#menu-status:checked ~ .site-header .toggle-btn label .line::after {
    background-color: #fff;
}

/* index-about */

.index-about {
    margin: 100px 0 0;
}
.index-about-inner {
    display: flex;
    justify-content: space-between;
}
.index-about-inner .more {
    margin: 55px 0 0;
}
.index-about-inner .text {
    grid-row: span 2 / span 2;
    padding: 110px 20px 0 0;
    max-width: 340px;
    width: 60%;
    position: relative;
}
.index-about-inner .images {
    display: flex;
    flex-wrap: wrap;
    max-width: 795px;
    width: 70%;
    gap: 15px;
}
.index-about-inner .images img {
    width: 100%;
    object-fit: cover;
    display: block;
}
.index-about-inner .image1 {
    width: 100%;
}
.index-about-inner .image2 {
    width: calc(50% - 7.5px);
}
.index-about-inner .image3 {
    width: calc(50% - 7.5px);
}

@media screen and (max-width: 768px) {
    .index-about {
        margin: 45px 0 0;
    }
    .index-about-inner {
        display: block;
        width: 100%;
    }
    .index-about-inner .more {
        margin: 0;
        position: absolute;
        right: 0px;
        top: 10px;
    }
    .index-about-inner .text {
        width: 100%;
        padding: 0;
    }
    .index-about-inner .images {
        display: flex;
        flex-wrap: wrap;
        max-width: 100%;
        width: 100%;
        gap: 5px;
        margin: 15px 0 0;
    }
    .index-about-inner .images img {
        display: block;
    }
    .index-about-inner .image1 {
        width: 100%;
    }
    .index-about-inner .image2 {
        width: calc(50% - 2.5px);
    }
    .index-about-inner .image3 {
        width: calc(50% - 2.5px);
    }
}

/* index-life */

.index-life {
    position: relative;
}
.index-life .inner {
    max-width: 1200px;
}
.index-life .more {
    position: absolute;
    right: 0;
    top: 25px;
}
.index-life-inner {
    display: flex;
    align-items: start;
    gap: 55px;
}
.index-life-inner .text {
    max-width: 55px;
    padding: 0;
    width: 9%;
}
.index-life-inner .images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 15px;
}
.index-life-inner .images .label {
    font-size: 17px;
    font-weight: 400;
    background: #fff;
    opacity: 0.8;
    position: absolute;
    top: 0;
    left: 0;
    min-width: 143px;
    padding: 7px 12px;
    line-height: 1;
}
.index-life-inner .images .image {
    position: relative;
}
.index-life-inner .images .image:after {
    content: '';
    position: absolute;
    bottom: 9px;
    right: 7px;
    border-bottom: 20px solid #ffffff;
    border-left: 20px solid transparent;
}

@media screen and (max-width: 768px) {
    .index-life {
        margin: 65px 0 0;
        position: relative;
    }
    .index-life .inner {
        max-width: 1200px;
    }
    .index-life .more {
        top: 18px;
        right: 0;
    }
    .index-life-inner {
        gap: 0 23px;
    }
    .index-life-inner .text {
        max-width: 45px;
        padding: 0;
        width: 93%;
    }
    .index-life-inner .images {
        grid-template-columns: repeat(2, 1fr);
        gap: 5px;
    }
    .index-life-inner .images .label {
        font-size: 12px;
        margin: 0;
        min-width: 80px;
        padding: 4px 5px;
    }
    .index-life-inner .images .image img {
        width: 100%;
        object-fit: cover;
        display: block;
    }
    .index-life-inner .images .image:after {
        bottom: 5px;
        right: 5px;
        border-bottom: 12px solid #ffffff;
        border-left: 12px solid transparent;
    }
}

/* service */

.index-service {
    position: relative;
}
.index-service .inner {
    max-width: 1200px;
}
.index-service .more {
    position: absolute;
    right: 0px;
    top: 25px;
}
.index-service-items {
    display: flex;
    gap: 0 13px;
}
.index-service-items .item {
    position: relative;
    width: 33.33333333333333%;
    overflow: hidden;
}
.index-service-items .item:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.3);
}
.index-service-items .item:before {
    content: '';
    position: absolute;
    bottom: 7px;
    right: 7px;
    border-bottom: 14px solid #ffffff;
    border-left: 14px solid transparent;
    z-index: 1;
}
.index-service-items .item .label {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 19px;
    z-index: 1;
    line-height: 1;
}
.index-service-items .item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.2s linear;
}
.index-service-items .item:hover img {
    transform: scale(1.3);
}

@media screen and (max-width: 768px) {
    .index-service {
        margin: 65px 0 0;
    }
    .index-service .inner {
        max-width: 1200px;
    }
    .index-service .more {
        position: absolute;
        right: 0;
        top: 25px;
    }
    .index-service-items {
        display: flex;
        gap: 8px;
        flex-wrap: wrap;
    }
    .index-service-items .item {
        width: calc(50% - 4px);
    }
    .index-service-items .item:after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(34, 34, 34, 0.3);
    }
    .index-service-items .item:before {
        bottom: 7px;
        right: 7px;
        border-bottom: 12px solid #ffffff;
        border-left: 12px solid transparent;
        z-index: 1;
    }
    .index-service-items .item > a {
        position: relative;
        display: block;
        height: 100%;
    }
    .index-service-items .item .label {
        font-size: 14px;
    }
    .index-service-items .item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .index-service-items .item:nth-child(1) {
        width: 100%;
    }
}

/* index-event */

.index-event.has-background {
    padding: 70px 0;
    background: #f4f4f4;
}
.index-event-list {
    display: flex;
    gap: 0 100px;
    padding: 0 0px 0 50px;
}
.index-event-list .header {
    min-width: 190px;
    width: 13%;
    padding: 30px 0 0;
    position: relative;
}
.index-event-list .body {
    width: 87%;
}
.index-event-list .more {
    margin: 55px 0 0;
}
.index-event-list-items {
    display: flex;
}
.index-event-list-items .item {
    width: 270px;
    margin-right: 0.15%;
}
.index-event-list-items .category {
    margin: 5px 0 0;
    display: flex;
    gap: 5px;
}
.index-event-list-items .category li {
    font-size: 14px;
    background: #dddddd;
    line-height: 1;
    margin: 0;
    padding: 5px 10px;
}
.index-event-list-items .title {
    margin: 17px 0 0;
    line-height: 1.5;
}
.index-event-list-items .date {
    font-size: 14px;
    margin: 5px 0;
}

@media screen and (max-width: 768px) {
    .index-event.has-background {
        padding: 45px 0;
        background: #f4f4f4;
    }
    .index-event-list {
        display: block;
        padding: 0 20px;
        overflow: hidden;
    }
    .index-event-list .header {
        min-width: 100%;
        width: 100%;
        padding: 0;
    }
    .index-event-list .body {
        width: 100%;
        margin: 15px 0 0;
    }
    .index-event-list .more {
        margin: 0;
        position: absolute;
        right: 0px;
        top: 20px;
    }
    .index-event-list-items {
        display: flex;
        gap: 15px 10px;
        flex-wrap: wrap;
    }
    .index-event-list-items .item {
        width: calc(50% - 5px);
        margin-right: 0;
    }
    .index-event-list-items .item:nth-child(4 +) {
        display: none;
    }
    .index-event-list-items .category {
        margin: 7px 0 0;
        display: flex;
        gap: 5px;
    }
    .index-event-list-items .category li {
        font-size: 10px;
        padding: 5px 6px;
    }
    .index-event-list-items .title {
        margin: 7px 0 0;
        line-height: 1.3;
        font-size: 14px;
    }
}

/* index-model */

.index-model {
    padding: 0 0;
    position: relative;
}
.index-model:before {
    content: '';
    width: 100%;
    height: 568px;
    background: #f4f4f4;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    max-width: 1370px;
}
.index-model.is-black:before {
    background: #6f6f6f;
}
.index-model.is-black .sub-title,
.index-model.is-black .title,
.index-model.is-black .label,
.index-model.is-black .address {
    color: #fff;
}
.index-model.is-black .button-1 {
    background-color: #fff;
    color: #333333;
}
.index-model.is-black .button-1:after {
    background: #333;
}
.index-model.is-black .label {
    background-image: url(../images/common/icon_calendar_check_white.png);
}
.index-model-inner {
    display: flex;
    gap: 0 95px;
    padding: 65px 0 0;
    position: relative;
}
.index-model-inner .image {
    max-width: 565px;
    width: 50%;
}
.index-model-inner .text {
    width: 50%;
    padding: 30px 0 0;
    position: relative;
}
.index-model-inner .sub-title {
    font-size: 22px;
    margin: 0;
}
.index-model-inner .title {
    font-size: 85px;
    font-family: 'Jost', sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    line-height: 1;
    margin: 10px 0 0;
}
.index-model-inner .position {
    position: absolute;
    left: 304px;
    top: 110px;
    width: 114px;
}
.index-model-inner .address {
    font-size: 16px;
    margin: 20px 0 0;
}
.index-model-inner .label {
    font-size: 22px;
    margin: 0;
    position: absolute;
    right: 20px;
    top: 104px;
    width: 21px;
    line-height: 1.1;
    background: url(../images/common/icon_calendar_check.png) no-repeat left top / 21px auto;
    padding: 26px 0px 0;
    text-align: right;
}
.index-model-inner .label:after {
    content: '';
    display: block;
    width: 1px;
    height: 145px;
    background: #b4b4b4;
    position: absolute;
    bottom: -163px;
    left: 0;
    right: 0;
    margin: auto;
}
.index-model-inner .more {
    margin: 80px 0 0;
}
.index-model-inner .more button {
    font-size: 16px;
}
.index-model-inner .more-model .button-3 {
    padding: 25px 25px;
    min-width: 420px;
}

@media screen and (max-width: 768px) {
    .index-model {
        padding: 0 0;
        position: relative;
    }
    .index-model:before {
        height: 393px;
    }
    .index-model.is-black .address {
        color: #333;
    }
    .index-model.is-black .button-1 {
        background-color: #4a4a4a;
        color: #fff;
    }
    .index-model.is-black .button-1:after {
        background: #fff;
    }
    .index-model.is-black .label {
        background-image: url(../images/common/icon_calendar_check_white.png);
    }
    .index-model-inner {
        display: block;
        padding: 0;
    }
    .index-model-inner .image {
        max-width: 100%;
        width: 100%;
        left: -20px;
        position: relative;
        margin: 25px 0px 0 0;
        padding: 0 15px 0 0;
    }
    .index-model-inner .text {
        width: 100%;
        padding: 50px 0 0;
    }
    .index-model-inner .sub-title {
        font-size: 15px;
    }
    .index-model-inner .title {
        font-size: 34px;
        margin: 10px 0 0;
    }
    .index-model-inner .position {
        left: 0px;
        top: 50px;
        width: 75px;
        right: -200px;
        margin: auto;
    }
    .index-model-inner .address {
        font-size: 14px;
        margin: 20px 0 0;
        color: currentColor;
        text-align: center;
        padding: 0 35px 0 0px;
    }
    .index-model-inner .label {
        font-size: 17px;
        right: -1px;
        top: 146px;
        width: 17px;
        line-height: 1.1;
        background-size: 16px auto;
        padding: 22px 0px 0;
        text-align: right;
    }
    .index-model-inner .label:after {
        content: '';
        display: block;
        width: 1px;
        height: 115px;
        background: #b4b4b4;
        position: absolute;
        bottom: -129px;
        left: 0;
        right: 0;
        margin: auto;
    }
    .index-model-inner .more {
        margin: 22px 0 0;
        text-align: center;
    }
    .index-model-inner .more button {
        font-size: 14px;
    }
    .index-model-inner .more-model {
        text-align: center;
    }
    .index-model-inner .more-model .button-3 {
        padding: 20px 0px 20px;
        min-width: 330px;
    }
    .index-model-inner .button-1 {
        background-color: #4a4a4a;
        color: #fff;
    }
    .index-model-inner .button-1:after {
        background: #fff;
    }
}

/* index-image-slide */

.index-gallery {
    overflow: hidden;
    position: relative;
}
.index-gallery .inner {
    max-width: 1100px;
}
.index-gallery .more {
    position: absolute;
    right: 0;
    top: 25px;
}
.index-gallery.is-border {
    padding: 75px 0 0;
    border-top: 1px solid #cccccc;
}
.index-gallery .container {
    max-width: 1200px;
    padding: 0;
}
.index-gallery-list {
}
.index-gallery-list + .index-gallery-list {
    margin: 15px 0 0;
}
.index-gallery-list img {
    aspect-ratio: 12 / 17;
    height: auto;
    width: 240px;
    margin: 0 10px 0 0;
    object-fit: cover;
}

@media screen and (max-width: 768px) {
    .index-gallery {
        padding: 0;
        margin: 60px 0 0;
    }
    .index-gallery .more {
        right: 0;
        top: 25px;
    }
    .index-gallery.is-border {
        padding: 35px 0 0;
    }
    .index-gallery-list {
        margin: 25px 0 0;
    }
    .index-gallery-list img {
        width: 165px;
    }
}

/* index-voice */

.index-voice {
    padding: 90px 0 0;
    position: relative;
}
.index-voice:before {
    content: '';
    width: 100%;
    height: 400px;
    background: #f4f4f4;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}
.index-voice-list {
    margin: 60px 0 0;
}
.index-voice-list .header {
    max-width: 190px;
    width: 30%;
    padding: 30px 0 0;
}
.index-voice-list .more {
    margin: 55px 0 0;
}
.index-voice-list-items .slick-list {
    padding-top: 10px !important;
    padding-bottom: 20px !important;
}
.index-voice-list-items .item {
    width: 335px;
    background: #fff;
    border-radius: 9px;
    box-shadow: 0px 0px 6px rgba(142, 142, 142, 0.16);
    margin-right: 0.1%;
}
.index-voice-list-items .item > a {
    display: block;
    padding: 0px 30px 30px;
}
.index-voice-list-items .item .item-header {
    display: flex;
    align-items: center;
    gap: 0 20px;
    width: 100%;
    align-items: end;
    border-bottom: 1px solid #f4f4f4;
    padding: 0 0 15px;
    top: -10px;
    position: relative;
    justify-content: space-between;
}
.index-voice-list-items .item .item-header:before {
    content: '';
    display: block;
    width: 38px;
    height: 1px;
    background-color: #262626;
    position: absolute;
    bottom: 0;
    left: 0;
}
.index-voice-list-items .item .author {
    font-size: 16px;
    line-height: 1.4;
}
.index-voice-list-items .item .image {
    width: 118px;
}
.index-voice-list-items .item .image img {
    height: auto;
    height: 118px;
    border-radius: 100%;
    object-fit: cover;
}
.index-voice-list-items .item .item-more {
    text-align: center;
    margin: 40px 0 0;
}
.index-voice-list-items .category {
    margin: 15px 0 0;
    display: flex;
    gap: 5px;
}
.index-voice-list-items .category li {
    font-size: 14px;
    background: #dddddd;
    line-height: 1;
    margin: 0;
    padding: 5px 10px;
}
.index-voice-list-items .title {
    margin: 10px 0 0;
    line-height: 1.5;
    font-size: 22px;
    font-weight: 400;
}

.index-voice .slick-dots li {
    width: 10px;
    height: 10px;
}
.index-voice .slick-dots li button {
    width: 10px;
    height: 10px;
    text-indent: -9999px;
}
.index-voice .slick-dots li button:before {
    width: 10px;
    height: 10px;
    background: #d0d0d0;
    border-radius: 50%;
    opacity: 1;
}
.index-voice .slick-dots li.slick-active button:before {
    background: #333333;
}

@media screen and (max-width: 768px) {
    .index-voice {
        margin: 50px 0 0;
        padding: 50px 0;
    }
    .index-voice:before {
        height: 280px;
    }
    .index-voice .more {
        margin: 0;
        position: absolute;
        right: 0px;
        top: 20px;
    }
    .index-voice-list {
        margin: 30px 0 0;
    }
    .index-voice-list .header {
        max-width: 190px;
        width: 30%;
        padding: 30px 0 0;
    }
    .index-voice-list .more {
        margin: 55px 0 0;
    }
    .index-voice-list-items .slick-list {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    .index-voice-list-items .item {
        width: 230px;
        margin-right: 0.04%;
    }
    .index-voice-list-items .item > a {
        padding: 0px 20px 20px;
    }
    .index-voice-list-items .item .item-header {
        display: flex;
        gap: 0 10px;
        padding: 0 0 10px;
    }
    .index-voice-list-items .item .item-header:before {
        content: '';
        display: block;
        width: 38px;
        height: 1px;
        background-color: #262626;
        position: absolute;
        bottom: 0;
        left: 0;
    }
    .index-voice-list-items .item .author {
        font-size: 12px;
        line-height: 1.4;
    }
    .index-voice-list-items .item .image {
        width: 81px;
        height: 81px;
    }
    .index-voice-list-items .item .image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .index-voice-list-items .item .item-more {
        margin: 23px 0 0;
    }
    .index-voice-list-items .category {
        margin: 15px 0 0;
        display: flex;
        gap: 5px;
    }
    .index-voice-list-items .category li {
        font-size: 14px;
        background: #dddddd;
        line-height: 1;
        margin: 0;
        padding: 5px 10px;
    }
    .index-voice-list-items .title {
        margin: 7px 0 0;
        line-height: 1.3;
        font-size: 16px;
    }
    .index-voice .slick-dots li {
        width: 6px;
        height: 6px;
    }
    .index-voice .slick-dots li button {
        width: 6px;
        height: 6px;
    }
    .index-voice .slick-dots li button:before {
        width: 6px;
        height: 6px;
    }
    .index-voice .slick-dots li.slick-active button:before {
        background: #333333;
    }
}

/* index-support */

.index-support {
}
.index-support-inner {
    display: flex;
    justify-content: space-between;
}
.index-support-inner .more {
    margin: 60px 0 0;
}
.index-support-inner .text {
    grid-row: span 2 / span 2;
    padding: 110px 20px 0 0;
    max-width: 340px;
    width: 60%;
    position: relative;
}
.index-support-inner .images {
    display: flex;
    flex-wrap: wrap;
    max-width: 795px;
    width: 70%;
    gap: 15px;
}
.index-support-inner .images img {
    width: 100%;
    object-fit: cover;
    display: block;
}
.index-support-inner .image1 {
    width: 100%;
}
.index-support-inner .image2 {
    width: calc(50% - 7.5px);
}
.index-support-inner .image3 {
    width: calc(50% - 7.5px);
}

@media screen and (max-width: 768px) {
    .index-support {
        margin: 20px 0 0;
    }
    .index-support-inner {
        display: block;
        width: 100%;
    }
    .index-support-inner .more {
        margin: 0;
        position: absolute;
        right: 0px;
        top: 20px;
    }
    .index-support-inner .text {
        width: 100%;
        padding: 0;
    }
    .index-support-inner .images {
        display: flex;
        flex-wrap: wrap;
        max-width: 100%;
        width: 100%;
        gap: 5px;
        margin: 25px 0 0;
    }
    .index-support-inner .images img {
        display: block;
    }
    .index-support-inner .image1 {
        width: 100%;
    }
    .index-support-inner .image2 {
        width: calc(50% - 2.5px);
    }
    .index-support-inner .image3 {
        width: calc(50% - 2.5px);
    }
}

/* index-guide */

.index-guide {
    padding: 0 0;
    position: relative;
}
.index-guide-inner {
    display: flex;
    padding: 50px 100px;
    position: relative;
    background: #f4f4f4;
    justify-content: space-between;
    align-items: center;
    gap: 0 5%;
}
.index-guide-inner .image {
    max-width: 600px;
    width: 60%;
}
.index-guide-inner .text {
    max-width: 600px;
    width: 60%;
}
.index-guide-inner .sub-title {
    margin: 0;
}
.index-guide-inner .title {
    font-size: 44px;
    font-family: 'Jost', sans-serif;
    font-optical-sizing: auto;
    line-height: 1;
    margin: 10px 0 0;
}
.index-guide-inner .lead {
    font-size: 14px;
    margin: 10px 0 0;
}
.index-guide-inner .more {
    margin: 30px 0 0;
}
.index-guide-inner .more button {
    font-size: 16px;
}
.index-guide-inner .button-1 {
    padding: 20px;
    max-width: 320px;
    width: 100%;
    min-width: auto;
}

@media screen and (max-width: 768px) {
    .index-guide .inner {
        padding: 0;
    }
    .index-guide-inner {
        display: block;
        padding: 40px 20px;
        text-align: center;
    }
    .index-guide-inner .image {
        max-width: 100%;
        width: 100%;
        margin: 10px 0 0;
    }
    .index-guide-inner .text {
        width: 100%;
    }
    .index-guide-inner .sub-title {
        margin: 0;
        font-size: 15px;
    }
    .index-guide-inner .title {
        font-size: 34px;
        margin: 5px 0 0;
    }
    .index-guide-inner .lead {
        font-size: 16px;
        margin: 15px 0 0;
    }
    .index-guide-inner .more {
        margin: 20px 0 0;
    }
    .index-guide-inner .more button {
        font-size: 14px;
    }
    .index-guide-inner .button-1 {
        padding: 20px;
        width: 100%;
        min-width: 100%;
    }
}

/* index-link */

.index-link {
    margin: 90px 0 0;
    position: relative;
}
.index-link .inner {
    max-width: 1200px;
}
.index-link-items {
    display: flex;
    gap: 0 13px;
}
.index-link-items .item {
    position: relative;
    width: 33.33333333333333%;
    overflow: hidden;
    aspect-ratio: 10 / 3.5;
}
.index-link-items .item:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(34, 34, 34, 0.3);
}
.index-link-items .item > a {
    position: relative;
    display: block;
    height: 100%;
    /* padding: 35px 0; */
}
.index-link-items .item .text {
    z-index: 1;
    position: relative;
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.index-link-items .item .title {
    font-size: 28px;
    color: #fff;
    line-height: 1;
}
.index-link-items .item .sub-title {
    color: #fff;
    margin: 5px 0 0;
}
.index-link-items .item img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: all 0.2s linear;
    object-position: top;
}
.index-link-items .item:hover img {
    transform: scale(1.3);
}

@media screen and (max-width: 768px) {
    .index-link {
        margin: 50px 0 0;
    }
    .index-link .inner {
        max-width: 1200px;
    }
    .index-link .more {
        position: absolute;
        right: 50px;
        top: 25px;
    }
    .index-link-items {
        flex-wrap: wrap;
        gap: 10px;
    }
    .index-link-items .item {
        position: relative;
        width: 100%;
    }
    .index-link-items .item > a {
        padding: 35px 0;
    }
    .index-link-items .item .title {
        font-size: 23px;
    }
    .index-link-items .item .sub-title {
        margin: 5px 0 0;
        font-size: 14px;
    }
    .index-link-items .item:nth-child(1),
    .index-link-items .item:nth-child(2) {
        width: calc(50% - 5px);
        aspect-ratio: 10 / 6.6;
    }
}

/* index-top-news */

.index-top-news {
    background-color: #fff;
    border-bottom: 1px solid #c2c2c2;
    padding: 20px 5%;
}
.index-top-news .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.index-top-news .inner a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.index-top-news .inner a i {
    min-width: 1em;
    margin-left: 0.5em;
}
.index-top-news .inner .title {
    font-weight: 400;
    text-overflow: ellipsis;
    overflow: hidden;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    display: -webkit-box;
}
.index-top-news .inner .en {
    white-space: nowrap;
    font-size: 18px;
    border-right: 1px solid #c2c2c2;
    text-transform: uppercase;
    font-weight: 300;
    padding-right: 35px;
    margin-right: 35px;
}
.index-top-news .inner .swiper {
    width: 100%;
    height: 28px;
    overflow: hidden;
}

@media screen and (max-width: 768px) {
    .index-top-news {
        padding: 15px 5%;
    }
    .index-top-news .inner .en {
        font-size: 16px;
        padding-right: 15px;
        margin-right: 15px;
    }
    .index-top-news .inner .title {
        font-size: 14px;
    }
}

/* index-news */

.index-news {
    padding: 80px 0 0;
}
.index-news .more {
    position: absolute;
    right: 0px;
    top: 25px;
}
.index-news .item {
    width: 335px;
    margin-right: 20px;
}
.index-news .item .image {
    width: 100%;
    background: #f4f4f4 url(../images/common/logo_symbol.png) no-repeat center center / 100px;
    aspect-ratio: 10 / 6;
}
.index-news .item .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.index-news .item .date {
    font-size: 14px;
    margin: 10px 0 0;
}
.index-news .item .title {
    margin: 6px 0 0;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .index-news {
        padding: 60px 0 0;
    }
    .index-news .item {
        width: 230px;
        margin-right: 10px;
    }
}

/*===================================
    about
===================================*/

.about-inro {
    margin: 80px 0 0;
}
.about-inro .lead {
    margin: 0;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .about-inro {
        margin: 30px 0 0;
    }
    .about-inro .lead {
        margin: 0;
        text-align: center;
    }
}

/* about-feature */

.about-feature {
    position: relative;
    margin: 70px 0 0;
}

/* about-feature-items */

.about-feature-items {
}
.about-feature-items .item + .item {
    margin: 120px 0 0;
}
.about-feature-items .item {
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.about-feature-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.about-feature-items .image {
    width: 55%;
}
.about-feature-items .number {
    font-size: 14px;
    text-align: center;
    width: 40px;
    height: 40px;
    background: #333;
    border: 1px solid #333;
    border-radius: 100%;
    color: #fff;
    margin: 0 auto;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Jost', sans-serif;
}
.about-feature-items .title {
    font-size: 28px;
    text-align: center;
    margin: 15px 0 0;
    line-height: 1.4;
}
.about-feature-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .about-feature-items {
    }
    .about-feature-items .item + .item {
        margin: 60px 0 0;
    }
    .about-feature-items .item {
        margin: 0;
        display: block;
    }
    .about-feature-items .text {
        width: 100%;
    }
    .about-feature-items .image {
        width: calc(100% - -40px);
        margin: 25px -20px 0;
    }
    .about-feature-items .number {
        font-size: 14px;
        text-align: center;
        width: 40px;
        height: 40px;
        background: #333;
        border: 1px solid #333;
        border-radius: 100%;
        color: #fff;
        margin: 0 auto;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Jost', sans-serif;
    }
    .about-feature-items .title {
        font-size: 22px;
        text-align: center;
        margin: 13px 0 0;
        line-height: 1.4;
    }
    .about-feature-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
        padding: 0 20px;
    }
}

/*===================================
    life
===================================*/

/*===================================
    life / detail
===================================*/

/* life-detail-header */

.life-detail-header {
    height: 645px;
    position: relative;
}
.life-detail-header:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #656565;
    opacity: 0.4;
    mix-blend-mode: multiply;
}
.life-detail-header .image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.life-detail-header .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.life-detail-header .text {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: end;
    flex-direction: column;
    height: 100%;
    padding: 0 0 45px;
}
.life-detail-header .english {
    font-family: Jost, sans-serif;
    font-size: 32px;
    text-align: left;
    color: #fff;
    text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.6);
    line-height: 1;
}
.life-detail-header .japanese {
    font-weight: 400;
    font-size: 60px;
    color: #fff;
    text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.6);
}
.life-detail-header .lead {
    font-size: 36px;
    font-weight: 400;
    position: absolute;
    bottom: 40px;
    right: 50px;
    color: #fff;
    line-height: 39px;
    text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.6);
    z-index: 1;
    writing-mode: vertical-rl;
    line-height: 1.4;
    letter-spacing: 3px;
}

@media screen and (max-width: 768px) {
    .life-detail-header {
        height: 350px;
    }
    .life-detail-header .text {
        padding: 0 0 25px;
    }
    .life-detail-header .english {
        font-size: 16px;
        line-height: 1;
    }
    .life-detail-header .japanese {
        font-size: 30px;
    }
    .life-detail-header .lead {
        font-size: 21px;
        bottom: 30px;
        right: 17px;
        z-index: 1;
    }
}

/* life-detail-intro */

.life-detail-intro {
    margin: 60px 0 0;
}
.life-detail-intro .lead {
    margin: 0;
    text-align: center;
    line-height: 2;
}

@media screen and (max-width: 768px) {
    .life-detail-intro {
        margin: 30px 0 0;
    }
    .life-detail-intro .lead {
        margin: 0;
        line-height: 2;
    }
}

/* life-detail-feature */

.life-detail-feature-items {
    margin: 90px 0 0;
}
.life-detail-feature-items .item + .item {
    margin: 120px 0 0;
}
.life-detail-feature-items .item {
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.life-detail-feature-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.life-detail-feature-items .image {
    width: 55%;
}
.life-detail-feature-items .title {
    font-size: 28px;
    text-align: center;
    margin: 0 0 0;
    line-height: 1.4;
}
.life-detail-feature-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .life-detail-feature-items {
        margin: 45px 0 0;
    }
    .life-detail-feature-items .item + .item {
        margin: 60px 0 0;
    }
    .life-detail-feature-items .item {
        margin: 0;
        display: flex;
        flex-flow: row wrap;
    }
    .life-detail-feature-items .text {
        width: 100%;
        order: 2;
    }
    .life-detail-feature-items .image {
        width: calc(100% + 60px);
        margin: 0 -40px 0;
        order: 1;
    }
    .life-detail-feature-items .number {
        font-size: 14px;
        text-align: center;
        width: 40px;
        height: 40px;
        background: #333;
        border: 1px solid #333;
        border-radius: 100%;
        color: #fff;
        margin: 0 auto;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Jost', sans-serif;
    }
    .life-detail-feature-items .title {
        font-size: 22px;
        margin: 20px 0 0;
        line-height: 1.4;
    }
    .life-detail-feature-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
    }
}

/* life-detail-work */

.life-detail-work {
    position: relative;
    padding: 100px 0 0;
}
.life-detail-work:before {
    content: '';
    width: 100%;
    height: 280px;
    background: #f4f4f4;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .life-detail-work {
        position: relative;
        padding: 35px 0 0;
    }
    .life-detail-work:before {
        content: '';
        width: 100%;
        height: 280px;
        background: #f4f4f4;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
}

/* life-detail-work-intro */

.life-detail-work-intro {
    display: flex;
    gap: 0 80px;
}
.life-detail-work-intro .data {
    width: 44%;
}
.life-detail-work-intro .data .data-title {
    font-size: 18px;
    margin: 0;
    font-family: 'Jost', sans-serif;
    font-weight: 300;
}
.life-detail-work-intro .data table {
    margin: 13px 0 0;
}
.life-detail-work-intro .image {
    width: 56%;
}

@media screen and (max-width: 768px) {
    .life-detail-work-intro {
        display: flex;
        flex-direction: column;
        gap: 30px 0;
    }
    .life-detail-work-intro .data {
        width: 100%;
        order: 2;
    }
    .life-detail-work-intro .data .data-title {
        font-size: 14px;
        margin: 0;
    }
    .life-detail-work-intro .data table {
        margin: 9px 0 0;
    }
    .life-detail-work-intro .image {
        width: 100%;
        order: 1;
    }
}

/* life-detail-work-problem */

.life-detail-work-problem {
    display: flex;
    gap: 0 40px;
    margin: 90px 0 0;
    position: relative;
}
.life-detail-work-problem .problem,
.life-detail-work-problem .improvement {
    width: 530px;
    background: #f4f4f4;
    border: 1px solid #676767;
    padding: 0 40px 35px;
}
.life-detail-work-problem .label {
    font-weight: 400;
    width: fit-content;
    padding: 10px 40px;
    line-height: 1;
    text-align: center;
    margin: 0 auto;
    position: relative;
    top: -1px;
}
.life-detail-work-problem .problem {
    width: 50%;
}
.life-detail-work-problem .problem .label {
    background: #333;
    border: 1px solid #707070;
    color: #fff;
}
.life-detail-work-problem .problem:before {
    content: '';
    width: 40px;
    height: 1px;
    background: #676767;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.life-detail-work-problem .improvement {
    width: 50%;
}
.life-detail-work-problem .improvement .label {
    background: #fff;
    border: 1px solid #707070;
}
.life-detail-work-problem .summary {
    margin: 25px 0 0;
    font-size: 16px;
    line-height: 2;
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    .life-detail-work-problem {
        display: inline-block;
        margin: 45px 0 0;
        width: 100%;
    }
    .life-detail-work-problem .problem,
    .life-detail-work-problem .improvement {
        width: 530px;
        width: 100%;
        padding: 0 15px 22px;
    }
    .life-detail-work-problem .label {
        padding: 10px 15px;
        line-height: 1;
    }
    .life-detail-work-problem .problem .label {
        width: fit-content;
        top: -1px;
    }
    .life-detail-work-problem .problem:before {
        content: '';
        width: 1px;
        height: 25px;
        background: #676767;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
    }
    .life-detail-work-problem .improvement {
        margin: 25px 0 0;
    }
    .life-detail-work-problem .summary {
        margin: 15px 0 0;
        font-size: 14px;
        line-height: 1.7;
    }
}

.common-before-after {
    display: flex;
    gap: 0 110px;
    position: relative;
}
.common-before-after.is-not-arrow .before:before {
    display: none;
}
.common-before-after .before {
    width: 40%;
    position: relative;
}
.common-before-after .before:before {
    content: '';
    width: 100px;
    height: 60px;
    position: absolute;
    top: 160px;
    background: url(../images/common/before_after_arrow.png) no-repeat left center / contain;
    right: -80px;
    margin: auto;
    z-index: 0;
}
.common-before-after .before-image-wrapper {
    position: relative;
    aspect-ratio: 10 / 9.5;
    display: flex;
    align-items: center;
}
.common-before-after .before-floor {
    position: relative;
}
.common-before-after .before-floor .before-floor-image {
    margin: 10px 0 0;
    aspect-ratio: auto;
    display: flex;
    align-items: center;
}
.common-before-after .before-floor .before-floor-text {
    margin: 20px -40px 0;
    padding: 0 0 20px;
    background: #fff;
}
.common-before-after .after {
    width: 60%;
    position: relative;
}
.common-before-after .after .label {
    font-size: 22px;
    padding: 7px 15px;
}
.common-before-after .after-floor {
    position: relative;
}
.common-before-after .after-floor .after-floor-image {
    margin: 10px 0 0;
    display: block;
}
.common-before-after .after-floor .after-floor-text {
    margin: 20px 0 0;
}
.common-before-after .label {
    font-size: 19px;
    font-weight: 300;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    opacity: 0.8;
    padding: 5px 10px;
    line-height: 1;
    font-family: 'Jost', sans-serif;
    z-index: 2;
}
.common-before-after .caption {
    margin: 15px 0 0;
    line-height: 1.8;
    text-align: center;
}
.common-before-after .before-image,
.common-before-after .after-image {
    position: relative;
    z-index: 1;
}

@media screen and (max-width: 768px) {
    .common-before-after {
        gap: 0 45px;
        flex-direction: column;
    }
    .common-before-after .before {
        width: calc(100% - 80px);
        margin: 0 auto;
        padding: 0 0 30px;
    }
    .common-before-after .before:before {
        width: 60px;
        height: 120px;
        position: absolute;
        top: auto;
        left: 0;
        bottom: -53px;
        right: 0;
        margin: auto;
        transform: rotate(90deg);
    }
    .common-before-after .before-image-wrapper {
        display: block;
        aspect-ratio: auto;
    }
    .common-before-after .after {
        width: 100%;
        margin: 45px 0 0;
    }
    .common-before-after .after .label {
        font-size: 13px;
        padding: 5px 13px;
    }
    .common-before-after .label {
        font-size: 13px;
        padding: 5px 8px;
    }
    .common-before-after .caption {
        margin: 10px 0 0;
        line-height: 1.8;
        text-align: center;
    }
}

/*===================================
    case
===================================*/

.work-list {
    margin: 20px 0 0;
}

/* work-list-items */

.work-list-items {
    gap: 40px 30px;
    display: flex;
    flex-wrap: wrap;
}
.work-list-items .item {
    position: relative;
    width: calc(25% - 22.5px);
    margin: 0;
}
.work-list-items .title {
    margin: 11px 0 0;
    line-height: 1.5;
}
.work-list-items .image {
    position: relative;
    aspect-ratio: 10 / 6.67;
}
.work-list-items .image:before {
    content: '';
    width: 37px;
    height: 37px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #333;
    opacity: 0.55;
}
.work-list-items .image:after {
    content: '';
    mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_205%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20205%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219.995%22%20height%3D%2211.524%22%20viewBox%3D%220%200%2019.995%2011.524%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_63%22%20data-name%3D%22%E7%B7%9A%2063%22%20x2%3D%2217.026%22%20transform%3D%22translate(0%205.7)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_1%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%201%22%20d%3D%22M5.762%2C0l5.762%2C5.658H0Z%22%20transform%3D%22translate(19.995)%20rotate(90)%22%2F%3E%3C%2Fsvg%3E');
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    background: #fff;
    transition: all 0.3s ease-in-out;
    display: flex;
    right: 8px;
    bottom: 13px;
    position: absolute;
    width: 18px;
    height: 10px;
    z-index: 2;
    justify-content: center;
    align-items: center;
}
.work-list-items .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 768px) {
    .work-list-items {
        display: flex;
        gap: 20px 20px;
    }
    .work-list-items .item {
        width: calc(50% - 10px);
    }
    .work-list-items .title {
        margin: 7px 0 0;
        line-height: 1.3;
        font-size: 14px;
    }
}

/* work-recommend-list-items */

.work-recommend-list-items {
    gap: 0 30px;
    display: flex;
}
.work-recommend-list-items .item {
    width: 25%;
    margin: 0;
}
.work-recommend-list-items .title {
    margin: 11px 0 0;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .work-recommend.has-background {
        padding: 45px 0;
        background: #f4f4f4;
    }
    .work-recommend .sub-title {
        text-align: center;
    }
    .work-recommend .title {
        text-align: center;
    }
    .work-recommend-list-items {
        display: flex;
        gap: 15px 10px;
        flex-wrap: wrap;
    }
    .work-recommend-list-items .item {
        width: calc(50% - 5px);
        margin-right: 0;
    }
    .work-recommend-list-items .title {
        margin: 7px 0 0;
        line-height: 1.3;
        font-size: 14px;
    }
}

/*===================================
    case / detail
===================================*/

/* case-detail-header */

.case-detail-header {
    height: 645px;
    position: relative;
}
.case-detail-header .image {
    width: 100%;
    height: 100%;
}
.case-detail-header .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.case-detail-header .slick-slider {
    overflow: hidden;
    position: relative;
    height: 100%;
}
.case-detail-header .slick-list,
.case-detail-header .slick-track {
    height: 100%;
}
.case-detail-header .slick-image img {
    height: 100%;
    margin: auto;
    max-height: 100%;
    max-width: none;
    object-fit: cover;
    width: 100%;
}
.case-detail-header .slick-dots {
    bottom: 15px;
}
.case-detail-header .slick-dots li button {
    z-index: 3;
}
.case-detail-header .slick-dots li button:before {
    color: #fff;
    font-size: 14px;
}
.case-detail-header .slick-prev {
    left: 25px;
    z-index: 1;
}
.case-detail-header .slick-next {
    right: 25px;
    z-index: 1;
}
.case-detail-header .slick-prev:before,
.case-detail-header .slick-prev:after {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    left: 0;
    width: 26px;
    height: 2px;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: 1px 50%;
}
.case-detail-header .slick-next:before,
.case-detail-header .slick-next:after {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: 0;
    width: 26px;
    height: 2px;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: calc(100% - 1px) 50%;
}
.case-detail-header .slick-prev::before,
.case-detail-header .slick-next::before {
    transform: rotate(45deg);
}
.case-detail-header .slick-prev::after,
.case-detail-header .slick-next::after {
    transform: rotate(-45deg);
}

@media screen and (max-width: 768px) {
    .case-detail-header {
        height: 350px;
    }
}

/* case-detail-intro */

.case-detail-intro {
    margin: 40px 0 0;
}
.case-detail-intro .text {
    display: flex;
    justify-content: end;
    flex-direction: column;
}
.case-detail-intro .english {
    font-family: Jost, sans-serif;
    font-size: 24px;
    line-height: 1;
}
.case-detail-intro .japanese {
    font-weight: 400;
    font-size: 36px;
    margin: 5px 0 0;
}

@media screen and (max-width: 768px) {
    .case-detail-intro {
        margin: 30px 0 0;
    }
    .case-detail-intro .text {
        padding: 0;
    }
    .case-detail-intro .english {
        font-size: 14px;
        line-height: 1;
    }
    .case-detail-intro .japanese {
        font-size: 22px;
    }
}

/* case-detail-data */

.case-detail-data {
    margin: 40px 0 0;
}
.case-detail-data .title {
    font-family: 'Jost', sans-serif;
    font-size: 20px;
}
.case-detail-data-items {
    display: flex;
    gap: 0 90px;
}
.case-detail-data-items .item {
    margin: 15px 0 0;
    width: 50%;
}

@media screen and (max-width: 768px) {
    .case-detail-data {
        margin: 20px 0 0;
    }
    .case-detail-data .title {
        font-size: 14px;
    }
    .case-detail-data-items {
        display: block;
        margin: 10px 0 0;
    }
    .case-detail-data-items .item {
        margin: -1px 0 0;
        width: 100%;
    }
}

/* case-detail-problem */

.case-detail-problem {
    display: flex;
    gap: 0 40px;
    position: relative;
}
.case-detail-problem:before {
    content: '';
    width: 40px;
    height: 1px;
    background: #676767;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.case-detail-problem .problem,
.case-detail-problem .improvement {
    width: 530px;
    border: 1px solid #676767;
    padding: 50px 55px 35px;
    position: relative;
    background: #fff;
}
.case-detail-problem .label {
    font-weight: 400;
    width: fit-content;
    padding: 10px 25px;
    line-height: 1;
    text-align: center;
    position: absolute;
    top: -1px;
    left: -1px;
}
.case-detail-problem .problem {
    width: 50%;
}
.case-detail-problem .problem .label {
    background: #333;
    border: 1px solid #707070;
    color: #fff;
}
.case-detail-problem .improvement {
    width: 50%;
}
.case-detail-problem .improvement .label {
    background: #fff;
    border: 1px solid #707070;
}
.case-detail-problem .summary {
    margin: 0;
    font-size: 16px;
    line-height: 2;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .case-detail-problem {
        display: inline-block;
        margin: 45px 0 0;
    }
    .case-detail-problem:before {
        width: 1px;
        height: 25px;
    }
    .case-detail-problem .problem,
    .case-detail-problem .improvement {
        width: 530px;
        width: 100%;
        padding: 0 15px 22px;
    }
    .case-detail-problem .label {
        padding: 10px 15px;
        line-height: 1;
    }
    .case-detail-problem .problem {
        padding: 30px 35px 25px;
    }
    .case-detail-problem .problem .label {
        width: fit-content;
        top: -1px;
    }
    .case-detail-problem .improvement {
        margin: 25px 0 0;
        padding: 30px 35px 25px;
    }
    .case-detail-problem .summary {
        margin: 15px 0 0;
        font-size: 14px;
        line-height: 1.7;
    }
}

/* case-detail-point */

.case-detail-point {
    margin: 100px 0 0;
}

@media screen and (max-width: 768px) {
    .case-detail-point {
        margin: 60px 0 0;
    }
    .case-detail-point .common-content-header-2 {
        margin: 0;
    }
}

/* case-detail-point-items */

.case-detail-point-list {
    margin: 60px 0 0;
}

@media screen and (max-width: 768px) {
    .case-detail-point-list {
        margin: 0;
    }
}

.case-detail-point-items {
}
.case-detail-point-items .item + .item {
    margin: 80px 0 0;
}
.case-detail-point-items .item {
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.case-detail-point-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
    order: 1;
}
.case-detail-point-items .image {
    width: 55%;
    order: 1;
}
.case-detail-point-items .item:nth-child(even) .text {
    order: 1;
}
.case-detail-point-items .item:nth-child(even) .image {
    order: 2;
}
.case-detail-point-items .number {
    font-size: 14px;
    text-align: center;
    width: 40px;
    height: 40px;
    background: #333;
    border: 1px solid #333;
    border-radius: 100%;
    color: #fff;
    margin: 0 auto;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Jost', sans-serif;
}
.case-detail-point-items .title {
    font-size: 28px;
    text-align: center;
    margin: 15px 0 0;
    line-height: 1.4;
}
.case-detail-point-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .case-detail-point-items .item + .item {
        margin: 60px 0 0;
    }
    .case-detail-point-items .item {
        margin: 0;
        flex-flow: row wrap;
    }
    .case-detail-point-items .text {
        width: 100%;
    }
    .case-detail-point-items .image {
        width: calc(100% - -40px);
        margin: 0px -20px 0;
    }
    .case-detail-point-items .item:nth-child(even) .text {
        order: 2;
    }
    .case-detail-point-items .item:nth-child(even) .image {
        order: 1;
    }
    .case-detail-point-items .number {
        font-size: 14px;
        text-align: center;
        width: 40px;
        height: 40px;
        background: #333;
        border: 1px solid #333;
        border-radius: 100%;
        color: #fff;
        margin: 0 auto;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Jost', sans-serif;
    }
    .case-detail-point-items .title {
        font-size: 22px;
        text-align: center;
        margin: 20px 0 0;
        line-height: 1.4;
    }
    .case-detail-point-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
        padding: 0 0;
    }
}

/* case-detail-voice-overview */

.case-detail-voice-overview {
    margin: 100px 0 0;
    border: 1px solid #707070;
    padding: 45px 70px;
}
.case-detail-voice-overview .image {
    width: 60%;
    max-width: 440px;
}
.case-detail-voice-overview .text {
    width: 60%;
}
.case-detail-voice-overview .sub-title {
    font-family: 'Jost', sans-serif;
    text-align: center;
}
.case-detail-voice-overview .title {
    font-size: 28px;
    text-align: center;
}
.case-detail-voice-overview .description {
    margin: 10px 0 0;
    line-height: 1.7;
}
.case-detail-voice-overview .more {
    margin: 30px 0 0;
    text-align: center;
}
.case-detail-voice-overview-contents {
    display: flex;
    gap: 0 50px;
}

@media screen and (max-width: 768px) {
    .case-detail-voice-overview {
        margin: 60px 0 0;
        padding: 30px 15px 75px;
        position: relative;
    }
    .case-detail-voice-overview .image {
        width: 100%;
        max-width: 100%;
        order: 2;
        margin: 20px 0 0;
    }
    .case-detail-voice-overview .text {
        width: 100%;
    }
    .case-detail-voice-overview .sub-title {
        font-family: 'Jost', sans-serif;
    }
    .case-detail-voice-overview .title {
        font-size: 22px;
    }
    .case-detail-voice-overview .description {
        margin: 20px 0 0;
        line-height: 1.7;
    }
    .case-detail-voice-overview .more {
        margin: 0px 0 0;
        position: absolute;
        width: calc(100% + 2px);
        left: -1px;
        bottom: -1px;
    }
    .case-detail-voice-overview .more-button {
        border-radius: 0;
        padding: 15px 20px;
        font-size: 13px;
        width: 100%;
        min-width: auto;
    }
    .case-detail-voice-overview-contents {
        display: flex;
        gap: 0 50px;
        flex-flow: row wrap;
    }
}

/* case-detail-staff */

.case-detail-staff {
    margin: 60px 0 0;
    padding: 30px 70px;
    display: flex;
    background: #f8f8f8;
    gap: 0 30px;
    align-items: center;
}
.case-detail-staff .header {
    max-width: 200px;
    width: 50%;
    min-width: 200px;
}
.case-detail-staff .body {
    margin: 0;
}
.case-detail-staff .image {
    width: 30%;
    max-width: 130px;
    min-width: 130px;
}
.case-detail-staff .sub-title {
    font-family: 'Jost', sans-serif;
}
.case-detail-staff .title {
    font-size: 28px;
    text-align: center;
    line-height: 1.2;
}
.case-detail-staff .description {
    margin: 0;
    line-height: 1.7;
}

@media screen and (max-width: 768px) {
    .case-detail-staff {
        margin: 65px -20px 0;
        padding: 40px 45px 20px;
        display: block;
        background: #f8f8f8;
        position: relative;
    }
    .case-detail-staff .header {
        max-width: 100%;
        width: 100%;
        min-width: auto;
    }
    .case-detail-staff .body {
        margin: 20px 0 0;
    }
    .case-detail-staff .image {
        width: 50%;
        max-width: 110px;
        position: absolute;
        right: 20px;
        top: -10px;
        min-width: auto;
    }
    .case-detail-staff .sub-title {
        font-family: 'Jost', sans-serif;
    }
    .case-detail-staff .title {
        font-size: 22px;
        text-align: left;
        line-height: 1.2;
        margin: 4px 0 0;
    }
    .case-detail-staff .description {
        margin: 0;
        line-height: 1.7;
    }
}

/*===================================
    feature
===================================*/

.feature-intro {
    background: #f4f4f4;
    margin: 40px 0 0;
    padding: 50px 0;
}
.feature-intro .text {
    display: flex;
    gap: 0 80px;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.feature-intro .title {
    font-size: 24px;
    margin: 0;
    line-height: 1.5;
    max-width: 310px;
    width: 40%;
}
.feature-intro .lead {
    max-width: 620px;
    width: 80%;
}

@media screen and (max-width: 768px) {
    .feature-intro {
        margin: 20px 0 0;
        padding: 40px 0;
    }
    .feature-intro .text {
        display: block;
        width: 100%;
    }
    .feature-intro .title {
        font-size: 22px;
        margin: 0;
        line-height: 1.5;
        max-width: 100%;
        width: 100%;
    }
    .feature-intro .lead {
        max-width: 100%;
        width: 100%;
        margin: 20px 0 0;
    }
}

/* feature-benefit */

.feature-benefit {
    margin: 100px 0 0;
}

@media screen and (max-width: 768px) {
    .feature-benefit {
        margin: 0 0 0;
    }
}

/* feature-benefit-items */

.feature-benefit-items {
    position: relative;
}
.feature-benefit-items .item + .item {
    margin: 120px 0 0;
}
.feature-benefit-items .item {
    position: relative;
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.feature-benefit-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.feature-benefit-items .image {
    width: 55%;
}
.feature-benefit-items .title {
    font-size: 28px;
    text-align: center;
    margin: 35px 0 0;
    line-height: 1.4;
}
.feature-benefit-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}
.feature-benefit-items .more {
    margin: 30px auto 0;
}
.feature-benefit-items .ribbon {
    position: relative;
    background: #333333;
    color: white;
    padding: 11px 10px 8px;
    display: inline-block;
    font-size: 14px;
    width: 60px;
    text-align: center;
    line-height: 1.3;
    margin: 0 auto;
}
.feature-benefit-items .ribbon .number {
    font-size: 21px;
    font-family: 'Jost', sans-serif;
}
.feature-benefit-items .ribbon::after {
    content: '';
    position: absolute;
    bottom: -9px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 30px solid #2c3e50;
    border-right: 30px solid #2c3e50;
    border-bottom: 10px solid transparent;
}

@media screen and (max-width: 768px) {
    .feature-benefit-items .item + .item {
        margin: 60px 0 0;
    }
    .feature-benefit-items .item {
        margin: 0;
        display: flex;
        flex-direction: column;
    }
    .feature-benefit-items .text {
        width: 100%;
        order: 2;
    }
    .feature-benefit-items .image {
        width: calc(100% + 40px);
        margin: 0px -20px 0;
        order: 1;
    }
    .feature-benefit-items .title {
        font-size: 22px;
        text-align: center;
        margin: 20px 0 0;
        line-height: 1.4;
    }
    .feature-benefit-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
        padding: 0;
    }
    .feature-benefit-items .ribbon {
        padding: 18px 10px 10px;
        display: inline-block;
        text-align: center;
        line-height: 1;
        margin: 0 auto;
        position: absolute;
        top: 0;
        left: 0;
    }
    .feature-benefit-items .ribbon .number {
        font-size: 21px;
        line-height: 1;
        display: inline-block;
        margin: 5px 0 0;
    }
    .feature-benefit-items .ribbon::after {
        content: '';
        position: absolute;
        bottom: -9px;
        left: 0;
        width: 0;
        height: 0;
        border-left: 30px solid #333333;
        border-right: 30px solid #333333;
        border-bottom: 10px solid transparent;
    }
}

/*===================================
    renovation
===================================*/

/* renovation-problem */

.renovation-problem {
    margin: 40px 0 0;
    padding: 50px 0;
    background: #f8f8f8;
}
.renovation-problem .common-content-header-2 .common-content-title-2 {
    font-size: 28px;
}
.renovation-problem .lead {
    max-width: 800px;
    margin: 50px auto 0;
}

@media screen and (max-width: 768px) {
    .renovation-problem {
        margin: 30px 0 0;
        padding: 40px 0;
    }
    .renovation-problem .common-content-header-2 .common-content-title-2 {
        font-size: 22px;
    }
    .renovation-problem .lead {
        max-width: 100%;
        margin: 25px auto 0;
    }
}

/* renovation-problem-list */

.renovation-problem-list-warpper {
    border-radius: 10px;
    background: #fff;
    padding: 50px 0 0;
    max-width: 800px;
    margin: 0 auto;
}
.renovation-problem-list-warpper .renovation-problem-list-image {
    max-width: 260px;
    margin: 40px auto 0;
}
.renovation-problem-list {
    list-style: none;
    margin: 0 auto 0px;
    padding: 0;
    max-width: 550px;
    width: 100%;
}
.renovation-problem-list li {
    position: relative;
    line-height: 1.4;
    padding: 25px 0 0 4px;
    display: flex;
    align-items: center;
    gap: 23px;
    border-top: 1px solid #ccc;
    margin: 25px 0 0;
}
.renovation-problem-list li:first-child {
    border-top: none;
    margin: 0;
    padding: 0;
}
.renovation-problem-list li:before {
    content: '';
    display: block;
    width: 18px;
    height: 12px;
    position: relative;
    background: url(../images/renovation/mansion/icon_check.png) no-repeat left center;
    background-size: cover;
}

@media screen and (max-width: 768px) {
    .renovation-problem-list-warpper {
        padding: 25px 30px 0;
        max-width: 100%;
    }
    .renovation-problem-list-warpper .renovation-problem-list-image {
        max-width: 215px;
        margin: 10px auto 0;
    }
    .renovation-problem-list {
        padding: 0;
        max-width: 100%;
    }
    .renovation-problem-list li {
        padding: 12px 0 0 4px;
        gap: 13px;
        margin: 13px 0 0;
    }
    .renovation-problem-list li:before {
        content: '';
        display: block;
        width: 25px;
        height: 9px;
        position: relative;
        background: url(../images/renovation/mansion/icon_check.png) no-repeat left center;
        background-size: contain;
    }
}

/* renovation-reason */

.renovation-reason .lead {
    max-width: 800px;
    margin: 50px auto 0;
}
.renovation-reason-list-warpper {
    margin: 0 auto;
    display: flex;
    gap: 0 65px;
    align-items: center;
}
.renovation-reason-list-warpper .renovation-reason-list-image {
    max-width: 580px;
    width: 70%;
}
.renovation-reason-list {
    list-style: none;
    margin: 0 auto 0px;
    padding: 0;
    max-width: 550px;
    width: 50%;
    counter-reset: li;
}
.renovation-reason-list li {
    position: relative;
    line-height: 1.4;
    padding: 25px 0 0 0px;
    display: flex;
    align-items: center;
    gap: 23px;
    border-top: 1px solid #ccc;
    margin: 25px 0 0;
    line-height: 1.6;
}
.renovation-reason-list li:first-child {
    border-top: none;
    margin: 0;
    padding: 0;
}
.renovation-reason-list li:before {
    display: block;
    position: relative;
    background-size: cover;
    counter-increment: li;
    content: '0' counter(li) '';
    max-width: 32px;
    font-size: 24px;
    font-family: 'Jost', sans-serif;
    width: 20%;
}

@media screen and (max-width: 768px) {
    .renovation-reason .lead {
        max-width: 100%;
        margin: 20px auto 0;
    }
    .renovation-reason-list-warpper {
        margin: 0 auto;
        display: flex;
        gap: 25px 0;
        align-items: start;
        flex-wrap: wrap;
    }
    .renovation-reason-list-warpper .renovation-reason-list-image {
        max-width: 100%;
        width: 100%;
        order: 1;
    }
    .renovation-reason-list {
        max-width: 100%;
        width: 100%;
        order: 2;
        border-bottom: 1px solid #ccc;
        padding: 0 0 20px;
    }
    .renovation-reason-list li {
        padding: 17px 0 0 0px;
        display: flex;
        align-items: center;
        gap: 20px;
        margin: 17px 0 0;
        line-height: 1.5;
    }
    .renovation-reason-list li:before {
        display: block;
        position: relative;
        background-size: cover;
        counter-increment: li;
        content: '0' counter(li) '';
        max-width: 34px;
        font-size: 24px;
        font-family: 'Jost', sans-serif;
        width: 23%;
    }
}

/* renovation-solution */

.renovation-solution {
    margin: 70px auto 0;
}
.renovation-solution-intro {
    display: flex;
    gap: 0 60px;
    align-items: center;
    margin: 60px auto 0;
}
.renovation-solution-intro .image {
    max-width: 580px;
    width: 70%;
}
.renovation-solution-intro .description {
    width: 50%;
}
.renovation-solution-item .item-title {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 15px 0;
    font-size: 22px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .renovation-solution {
        margin: 50px auto 0;
    }
    .renovation-solution-intro {
        display: flex;
        gap: 25px 0;
        align-items: center;
        margin: 0 auto 0;
        flex-wrap: wrap;
    }
    .renovation-solution-intro .image {
        max-width: 150%;
        width: calc(100% - -40px);
        margin: 0 -20px 0;
    }
    .renovation-solution-intro .description {
        width: 100%;
    }
    .renovation-solution-item .item-title {
        padding: 12px 0;
        font-size: 17px;
    }
}

/*===================================
    event
===================================*/

.event-list {
    margin: 40px 0 0;
}

.event-list-items {
    display: flex;
    gap: 50px 0;
    flex-flow: row wrap;
}
.event-list-items .item > a {
    display: flex;
    border: 1px solid #cccccc;
    padding: 50px;
    gap: 0 45px;
}
.event-list-items .item .image {
    max-width: 380px;
    width: 100%;
}
.event-list-items .item .text {
    width: 100%;
}
.event-list-items .item .title {
    font-size: 24px;
    margin: 0 0 20px;
    font-weight: 400;
    line-height: 1.3;
}
.event-list-items .item .meta {
    border-top: 1px dashed #bababa;
    padding: 30px 0 0;
    margin: 30px 0 0;
    display: flex;
    flex-flow: row wrap;
    gap: 6px 0;
}
.event-list-items .item .meta .date {
    background: url(../images/common/icon_date.png) no-repeat left 6px / 17px auto;
    padding: 0 0 0 30px;
}
.event-list-items .item .adress {
    background: url(../images/common/icon_mark.png) no-repeat 3px 6px / 13px 18px;
    padding: 0 0 0 30px;
}

@media screen and (max-width: 768px) {
    .event-list-items {
        gap: 25px 0;
    }
    .event-list-items .item > a {
        display: block;
        padding: 0px;
        gap: 10px;
    }
    .event-list-items .item .image {
        max-width: 100%;
        width: 100%;
    }
    .event-list-items .item .image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .event-list-items .item .text {
        width: 100%;
        padding: 20px 20px;
    }
    .event-list-items .item .title {
        font-size: 17px;
        margin: 0 0 10px;
    }
    .event-list-items .item .description {
        font-size: 13px;
    }
    .event-list-items .item .meta {
        padding: 15px 0 0;
        margin: 20px 0 0;
        gap: 6px 0;
    }
    .event-list-items .item .meta .date {
        padding: 0 0 0 20px;
        font-size: 13px;
        background-size: 11.5px auto;
        background-position: 0 5px;
    }
    .event-list-items .item .adress {
        padding: 0 0 0 20px;
        font-size: 13px;
        background-size: 9.5px auto;
        background-position: 1px 5px;
    }
}

/*===================================
    event detail
===================================*/

.event-detail-header {
    background: #f8f8f8;
}

@media screen and (max-width: 768px) {
    .event-detail-header {
        padding: 0;
        margin: 0 -0 0;
    }
    .event-detail-header .inner {
        padding: 0;
    }
}

/* event-detail-intro */

.event-detail-intro {
}

/* event-detail-data */

.event-detail-data .title {
    font-family: 'Jost', sans-serif;
    font-size: 20px;
}
.event-detail-data-items {
    display: flex;
    gap: 0 90px;
}
.event-detail-data-items .item {
    margin: 15px 0 0;
    width: 50%;
}

@media screen and (max-width: 768px) {
    .event-detail-data .title {
        font-size: 14px;
    }
    .event-detail-data-items {
        display: block;
        margin: 10px 0 0;
    }
    .event-detail-data-items .item {
        margin: -1px 0 0;
        width: 100%;
    }
}

/* event-detail-map */

.event-detail-map iframe {
    width: 100%;
}

/* event-detail-action */

.event-detail-action {
    display: flex;
    gap: 0 40px;
    align-items: center;
    justify-content: center;
}
.event-detail-action > * {
    max-width: 385px;
    width: 50%;
}
.event-detail-action .tel {
    padding: 15px 20px;
    border: 1px solid #333333;
}
.event-detail-action .tel .number {
    font-size: 24px;
    background: url(../images/common/icon_free_dial.png) no-repeat left center / 26px auto;
    font-family: 'Jost', sans-serif;
    display: block;
    margin: 0 auto;
    width: fit-content;
    padding: 0 0 0 31px;
    line-height: 1;
}
.event-detail-action .tel .time {
    font-size: 12px;
    display: block;
    text-align: center;
}
.event-detail-action .entry .button {
    width: 100%;
    min-width: auto;
}
.event-detail-action .entry .button-1 {
    padding: 0;
}
.event-detail-action .entry input {
    background: none;
    border: none;
    color: #fff;
    font-size: 16px;
    width: 100%;
    padding: 25px 25px;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .event-detail-action {
        display: flex;
        gap: 15px 0;
        align-items: start;
        justify-content: start;
        flex-flow: row wrap;
    }
    .event-detail-action > * {
        max-width: 100%;
        width: 100%;
    }
    .event-detail-action .tel {
        padding: 10px 20px 9px;
        order: 2;
    }
    .event-detail-action .tel .number {
        font-size: 22px;
    }
    .event-detail-action .tel .time {
        font-size: 10px;
        margin: 2px 0 0;
    }
    .event-detail-action .entry .button {
        width: 100%;
        min-width: auto;
    }
    .event-detail-action .entry .button-1 {
        padding: 0;
    }
    .event-detail-action .entry input {
        font-size: 14px;
    }
}

/* event-detail-point */

.event-detail-point {
    margin: 110px 0 0;
    padding: 50px 0;
    background: #f8f8f8;
}
.event-detail-point .title {
    font-size: 28px;
    text-align: center;
}
.event-detail-point-list {
    list-style: none;
    margin: 20px auto 0px;
    padding: 0;
    counter-reset: li;
    display: flex;
    gap: 0 35px;
}
.event-detail-point-list li {
    position: relative;
    line-height: 1.4;
    padding: 20px 0 20px 0px;
    display: flex;
    align-items: center;
    gap: 23px;
    border-top: 1px solid #ccc;
    margin: 25px 0 0;
    line-height: 1.6;
    border-bottom: 1px solid #ccc;
    font-weight: 400;
    width: 33.33333%;
}
.event-detail-point-list li:before {
    display: block;
    position: relative;
    background-size: cover;
    counter-increment: li;
    content: '0' counter(li) '';
    max-width: 34px;
    font-size: 24px;
    font-family: 'Jost', sans-serif;
    width: 100%;
    font-weight: 300;
}

@media screen and (max-width: 768px) {
    .event-detail-point {
        margin: 44px 0 0;
        padding: 40px 0 20px;
    }
    .event-detail-point .title {
        font-size: 22px;
    }
    .event-detail-point-list {
        display: block;
    }
    .event-detail-point-list li {
        padding: 20px 0 20px 0px;
        margin: 0px 0 0;
        border-bottom: none;
        width: 100%;
    }
    .event-detail-point-list li:before {
        font-size: 21px;
    }
}

/* event-detail-feature-items */

.event-detail-feature-list {
    margin: 60px 0 0;
}

.event-detail-feature-items {
}
.event-detail-feature-items .item + .item {
    margin: 120px 0 0;
}
.event-detail-feature-items .item {
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.event-detail-feature-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.event-detail-feature-items .image {
    width: 55%;
}
.event-detail-feature-items .number {
    font-size: 14px;
    text-align: center;
    width: 40px;
    height: 40px;
    background: #333;
    border: 1px solid #333;
    border-radius: 100%;
    color: #fff;
    margin: 0 auto;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Jost', sans-serif;
}
.event-detail-feature-items .title {
    font-size: 28px;
    text-align: center;
    margin: 15px 0 0;
    line-height: 1.4;
}
.event-detail-feature-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .event-detail-feature-list {
        margin: 0;
    }
    .event-detail-feature-items .item + .item {
        margin: 60px 0 0;
    }
    .event-detail-feature-items .item {
        margin: 0;
        flex-flow: row wrap;
    }
    .event-detail-feature-items .text {
        width: 100%;
        order: 2;
    }
    .event-detail-feature-items .image {
        width: calc(100% - -40px);
        margin: 0px -20px 0;
        order: 1;
    }
    .event-detail-feature-items .number {
        font-size: 14px;
        text-align: center;
        width: 40px;
        height: 40px;
        background: #333;
        border: 1px solid #333;
        border-radius: 100%;
        color: #fff;
        margin: 0 auto;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Jost', sans-serif;
    }
    .event-detail-feature-items .title {
        font-size: 22px;
        text-align: center;
        margin: 20px 0 0;
        line-height: 1.4;
    }
    .event-detail-feature-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
        padding: 0 20px;
    }
}

/*===================================
    voice
===================================*/

.voice-list {
    margin: 20px 0 0;
}

/* voice-list-items */

.voice-list-items {
    gap: 40px 30px;
    display: flex;
    flex-wrap: wrap;
}
.voice-list-items .item {
    position: relative;
    width: calc(25% - 22.5px);
    margin: 0;
}
.voice-list-items .title {
    margin: 11px 0 0;
    line-height: 1.5;
}
.voice-list-items .name {
    font-size: 14px;
    margin: 3px 0 0;
}
.voice-list-items .image {
    position: relative;
}
.voice-list-items .image:before {
    content: '';
    width: 37px;
    height: 37px;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #333;
    opacity: 0.55;
}
.voice-list-items .image:after {
    content: '';
    mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97_205%22%20data-name%3D%22%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%97%20205%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219.995%22%20height%3D%2211.524%22%20viewBox%3D%220%200%2019.995%2011.524%22%3E%20%3Cline%20id%3D%22%E7%B7%9A_63%22%20data-name%3D%22%E7%B7%9A%2063%22%20x2%3D%2217.026%22%20transform%3D%22translate(0%205.7)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221%22%2F%3E%20%3Cpath%20id%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2_1%22%20data-name%3D%22%E5%A4%9A%E8%A7%92%E5%BD%A2%201%22%20d%3D%22M5.762%2C0l5.762%2C5.658H0Z%22%20transform%3D%22translate(19.995)%20rotate(90)%22%2F%3E%3C%2Fsvg%3E');
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    background: #fff;
    transition: all 0.3s ease-in-out;
    display: flex;
    right: 8px;
    bottom: 13px;
    position: absolute;
    width: 18px;
    height: 10px;
    z-index: 2;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width: 768px) {
    .voice-list-items {
        display: flex;
        gap: 20px 20px;
    }
    .voice-list-items .item {
        width: calc(50% - 10px);
    }
    .voice-list-items .title {
        margin: 7px 0 0;
        line-height: 1.3;
        font-size: 14px;
    }
}

/*===================================
    voice / detail
===================================*/

.voice-detail-header {
    margin: 0 auto 0;
    max-width: 900px;
}

@media screen and (max-width: 768px) {
    .voice-detail-header {
        margin: 20px -20px 0;
    }
}

/* voice-detail-footer */

.voice-detail-footer {
}

/* voice-detail-question-list */

.voice-detail-question-list {
    margin: 100px 0 0;
}
.voice-detail-question-list .inner {
    max-width: 1000px;
}

@media screen and (max-width: 768px) {
    .voice-detail-question-list {
        margin: 30px 0 0;
    }
    .voice-detail-question-list .inner {
        max-width: 1000px;
    }
}

/* voice-detail-question-items */

.voice-detail-question-items .item + .item {
    margin: 70px 0 0;
}
.voice-detail-question-items .title {
    position: relative;
    margin: 0;
    padding: 0 0 17px 0;
    font-size: 24px;
    border-bottom: 1px solid #d6d6d6;
    display: flex;
    gap: 0 15px;
}
.voice-detail-question-items .title:after {
    content: '';
    width: 50px;
    height: 1px;
    background: #676767;
    position: absolute;
    left: 0;
    bottom: -1px;
}
.voice-detail-question-items .title span {
    padding: 2px 0 0;
}
.voice-detail-question-items .title::before {
    font-size: 41px;
    line-height: 1;
    display: block;
    content: 'Q.';
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    max-width: 45px;
    width: 100%;
}
.voice-detail-question-items .answer {
    margin: 25px 0 0;
    line-height: 1.8;
}
.voice-detail-question-items .images {
    display: flex;
    gap: 0;
    margin: 60px 0 0;
}
.voice-detail-question-items .image {
    width: 100%;
}

@media screen and (max-width: 768px) {
    .voice-detail-question-items .item + .item {
        margin: 50px 0 0;
    }
    .voice-detail-question-items .title {
        padding: 0 0 15px 0;
        font-size: 17px;
        gap: 0 8px;
        line-height: 1.4;
        align-items: center;
    }
    .voice-detail-question-items .title:after {
        width: 30px;
    }
    .voice-detail-question-items .title span {
        padding: 0;
    }
    .voice-detail-question-items .title::before {
        font-size: 28px;
        width: 40%;
        max-width: 35px;
    }
    .voice-detail-question-items .answer {
        margin: 20px 0 0;
        line-height: 1.6;
    }
    .voice-detail-question-items .images {
        display: flex;
        gap: 0;
        margin: 25px 0 0;
        flex-flow: row wrap;
    }
    .voice-detail-question-items .image {
        width: 100%;
    }
}

/* voice-recommend-list-items */

.voice-recommend-list-items {
    gap: 0 30px;
    display: flex;
}
.voice-recommend-list-items .item {
    width: 25%;
    margin: 0;
}
.voice-recommend-list-items .title {
    margin: 11px 0 0;
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    .voice-recommend.has-background {
        padding: 45px 0;
        background: #f4f4f4;
    }
    .voice-recommend .sub-title {
        text-align: center;
    }
    .voice-recommend .title {
        text-align: center;
    }
    .voice-recommend-list-items {
        display: flex;
        gap: 15px 10px;
        flex-wrap: wrap;
    }
    .voice-recommend-list-items .item {
        width: calc(50% - 5px);
        margin-right: 0;
    }
    .voice-recommend-list-items .title {
        margin: 7px 0 0;
        line-height: 1.3;
        font-size: 14px;
    }
}

/*===================================
    support
===================================*/

/* support-benefit */

.support-benefit {
    margin: 120px 0 0;
}

@media screen and (max-width: 768px) {
    .support-benefit {
        margin: 50px 0 0;
    }
}

/* support-benefit-items */

.support-benefit-items {
    position: relative;
}
.support-benefit-items .item + .item {
    margin: 120px 0 0;
}
.support-benefit-items .item {
    position: relative;
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.support-benefit-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.support-benefit-items .image {
    width: 55%;
}
.support-benefit-items .title {
    font-size: 28px;
    text-align: center;
    margin: 35px 0 0;
    line-height: 1.4;
}
.support-benefit-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}
.support-benefit-items .more {
    margin: 30px auto 0;
}
.support-benefit-items .ribbon {
    position: relative;
    background: #333333;
    color: white;
    padding: 11px 10px 8px;
    display: inline-block;
    font-size: 14px;
    width: 60px;
    text-align: center;
    line-height: 1.3;
    margin: 0 auto;
}
.support-benefit-items .ribbon .number {
    font-size: 21px;
    font-family: 'Jost', sans-serif;
}
.support-benefit-items .ribbon::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 0;
    height: 0;
    border-left: 30px solid #2c3e50;
    border-right: 30px solid #2c3e50;
    border-bottom: 10px solid transparent;
}

@media screen and (max-width: 768px) {
    .support-benefit-items .item + .item {
        margin: 60px 0 0;
    }
    .support-benefit-items .item {
        margin: 0;
        display: flex;
        flex-direction: column;
    }
    .support-benefit-items .text {
        width: 100%;
        order: 2;
    }
    .support-benefit-items .image {
        width: calc(100% + 40px);
        margin: 0px -20px 0;
        order: 1;
    }
    .support-benefit-items .title {
        font-size: 22px;
        text-align: center;
        margin: 20px 0 0;
        line-height: 1.4;
    }
    .support-benefit-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
        padding: 0;
    }
    .support-benefit-items .ribbon {
        padding: 18px 10px 10px;
        display: inline-block;
        text-align: center;
        line-height: 1;
        margin: 0 auto;
        position: absolute;
        top: 0;
        left: 0;
    }
    .support-benefit-items .ribbon .number {
        font-size: 21px;
        line-height: 1;
        display: inline-block;
        margin: 5px 0 0;
    }
    .support-benefit-items .ribbon::after {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 0;
        width: 0;
        height: 0;
        border-left: 30px solid #333333;
        border-right: 30px solid #333333;
        border-bottom: 10px solid transparent;
    }
}

/*===================================
    support / reason
===================================*/

.support-reason-intro {
    margin: 80px auto 0;
}
.support-reason-intro .inner {
    max-width: 840px;
}
.support-reason-intro .title {
    font-size: 28px;
    text-align: center;
}
.support-reason-intro .lead {
    margin: 30px 0 0;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .support-reason-intro {
        margin: 30px 0 0;
    }
    .support-reason-intro .inner {
        max-width: 100%;
    }
    .support-reason-intro .title {
        font-size: 22px;
        line-height: 1.3;
    }
    .support-reason-intro .lead {
        margin: 20px 0 0;
        text-align: left;
    }
}

/* support-reason-feature */

.support-reason-feature {
    position: relative;
    margin: 100px 0 0;
}

@media screen and (max-width: 768px) {
    .support-reason-feature {
        position: relative;
        margin: 40px 0 0;
    }
}

/* support-reason-feature-items */

.support-reason-feature-items {
}
.support-reason-feature-items .item + .item {
    margin: 120px 0 0;
}
.support-reason-feature-items .item {
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.support-reason-feature-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
}
.support-reason-feature-items .image {
    width: 55%;
}
.support-reason-feature-items .number {
    font-size: 14px;
    text-align: center;
    width: 40px;
    height: 40px;
    background: #333;
    border: 1px solid #333;
    border-radius: 100%;
    color: #fff;
    margin: 0 auto;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Jost', sans-serif;
}
.support-reason-feature-items .title {
    font-size: 28px;
    text-align: center;
    margin: 15px 0 0;
    line-height: 1.4;
}
.support-reason-feature-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .support-reason-feature-items .item + .item {
        margin: 60px 0 0;
    }
    .support-reason-feature-items .item {
        margin: 0;
        display: block;
    }
    .support-reason-feature-items .text {
        width: 100%;
    }
    .support-reason-feature-items .image {
        width: calc(100% - -40px);
        margin: 25px -20px 0;
    }
    .support-reason-feature-items .number {
        font-size: 14px;
        text-align: center;
        width: 40px;
        height: 40px;
        background: #333;
        border: 1px solid #333;
        border-radius: 100%;
        color: #fff;
        margin: 0 auto;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Jost', sans-serif;
    }
    .support-reason-feature-items .title {
        font-size: 22px;
        text-align: center;
        margin: 13px 0 0;
        line-height: 1.4;
    }
    .support-reason-feature-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
        padding: 0;
    }
}

/*===================================
    support / flow
===================================*/

.support-flow-movement-list {
}

.support-flow-movement-items {
    display: flex;
    gap: 50px 0px;
    flex-flow: row wrap;
}
.support-flow-movement-items .item {
    background: #fff;
    border: 1px solid #707070;
    padding: 0px 50px 60px;
    position: relative;
    width: 100%;
}
.support-flow-movement-items .item:before {
    content: '';
    width: 1px;
    height: 50px;
    background: #676767;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -51px;
    margin: auto;
}
.support-flow-movement-items .item.is-no-border:before {
    display: none;
}
.support-flow-movement-items .item:nth-child(even) {
    background: #f8f8f8;
}
.support-flow-movement-items .item:last-child:before {
    display: none;
}
.support-flow-movement-items .label {
    background: #fff;
    border: 1px solid #707070;
    width: fit-content;
    padding: 10px 40px;
    line-height: 1;
    text-align: center;
    margin: 0 auto;
    position: relative;
    top: -1px;
    min-width: 160px;
}
.support-flow-movement-items .body {
    margin: 40px 0 0;
    display: flex;
    gap: 0 70px;
    justify-content: space-between;
}
.support-flow-movement-items .text {
    width: 60%;
}
.support-flow-movement-items .title {
    font-size: 28px;
}
.support-flow-movement-items .description {
    line-height: 1.7;
    margin: 17px 0 0;
}
.support-flow-movement-items .description p + p {
    margin: 15px 0 0;
}
.support-flow-movement-items .image {
    max-width: 400px;
    width: 50%;
}

@media screen and (max-width: 768px) {
    .support-flow-movement-items {
        flex-flow: row wrap;
        gap: 25px 0;
    }
    .support-flow-movement-items .item {
        padding: 0 20px 25px;
    }
    .support-flow-movement-items .item:before {
        margin: auto;
        height: 25px;
        bottom: -26px;
    }
    .support-flow-movement-items .item:nth-child(even) {
        background: #f8f8f8;
    }
    .support-flow-movement-items .item:last-child:before {
        display: none;
    }
    .support-flow-movement-items .label {
        font-size: 14px;
        padding: 7px 20px;
        min-width: 100px;
    }
    .support-flow-movement-items .body {
        margin: 15px 0 0;
        flex-flow: row wrap;
    }
    .support-flow-movement-items .text {
        width: 100%;
    }
    .support-flow-movement-items .title {
        font-size: 19px;
        text-align: center;
    }
    .support-flow-movement-items .title.is-large {
        font-size: 24px;
    }
    .support-flow-movement-items .description {
        margin: 17px 0 0;
    }
    .support-flow-movement-items .description p + p {
        margin: 15px 0 0;
    }
    .support-flow-movement-items .image {
        width: 100%;
        margin: 20px 0 0;
        max-width: 100%;
    }
}

/*===================================
    company
===================================*/

.common-page-header.is-page-company {
    min-height: 295px;
}
.common-page-header.is-page-company .inner {
    min-height: 295px;
}

@media screen and (max-width: 1024px) {
    .common-page-header.is-page-company {
        min-height: auto;
    }
    .common-page-header.is-page-company .inner {
        min-height: auto;
    }
    .common-page-header.is-page-company .image {
        display: none;
    }
}

.company-intro {
    position: relative;
    margin-top: -255px;
    background: url(../images/company/key_visual_bg.png) no-repeat center top 310px / 1515px auto;
    height: 650px;
}
.company-intro:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/company/key_visual.png) no-repeat center center / 1075px auto;
}

@media screen and (max-width: 1024px) {
    .company-intro {
        height: auto;
        margin: 0;
        aspect-ratio: 750 / 900;
        background-position: center top 46%;
    }
    .company-intro:before {
        background: url(../images/company/key_visual_sp.png) no-repeat center top / contain;
    }
}

/* company-feature */

.company-feature {
    margin: 100px 0 0;
}

@media screen and (max-width: 768px) {
    .company-feature {
        margin: 60px 0 0;
    }
    .company-feature .common-content-header-2 {
        margin: 0;
    }
}

/* company-feature-list */

.company-feature-list {
    margin: 90px 0 0;
}

@media screen and (max-width: 768px) {
    .company-feature-list {
        margin: 0;
    }
}

/* company-feature-items */

.company-feature-items {
}
.company-feature-items .item + .item {
    margin: 120px 0 0;
}
.company-feature-items .item {
    margin: 0;
    display: flex;
    gap: 0 60px;
}
.company-feature-items .text {
    width: 45%;
    justify-content: center;
    display: flex;
    flex-direction: column;
    order: 1;
}
.company-feature-items .image {
    width: 55%;
    order: 1;
}
.company-feature-items .item:nth-child(even) .text {
    order: 1;
}
.company-feature-items .item:nth-child(even) .image {
    order: 1;
}
.company-feature-items .number {
    font-size: 14px;
    text-align: center;
    width: 40px;
    height: 40px;
    background: #333;
    border: 1px solid #333;
    border-radius: 100%;
    color: #fff;
    margin: 0 auto;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Jost', sans-serif;
}
.company-feature-items .title {
    font-size: 28px;
    text-align: center;
    margin: 15px 0 0;
    line-height: 1.4;
}
.company-feature-items .description {
    margin: 25px 0 0;
    line-height: 1.8;
}

@media screen and (max-width: 768px) {
    .company-feature-items .item + .item {
        margin: 80px 0 0;
    }
    .company-feature-items .item {
        margin: 0;
        flex-flow: row wrap;
    }
    .company-feature-items .text {
        width: 100%;
        order: 2;
    }
    .company-feature-items .image {
        width: calc(100% - -40px);
        margin: 20px -20px 0;
        order: initial;
    }
    .company-feature-items .item:nth-child(even) .text {
        order: initial;
    }
    .company-feature-items .item:nth-child(even) .image {
        order: initial;
    }
    .company-feature-items .number {
        font-size: 14px;
        text-align: center;
        width: 40px;
        height: 40px;
        background: #333;
        border: 1px solid #333;
        border-radius: 100%;
        color: #fff;
        margin: 0 auto;
        line-height: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Jost', sans-serif;
    }
    .company-feature-items .title {
        font-size: 22px;
        text-align: center;
        margin: 0;
        line-height: 1.4;
    }
    .company-feature-items .description {
        margin: 18px 0 0;
        line-height: 1.8;
        padding: 0;
    }
}

/*===================================
    renovation-model-house
===================================*/

/* renovation-model-house-header */

.renovation-model-house-header {
    height: 645px;
    position: relative;
}
.renovation-model-house-header .image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.renovation-model-house-header .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

@media screen and (max-width: 768px) {
    .renovation-model-house-header {
        height: auto;
    }
    .renovation-model-house-header .image {
        width: 100%;
        height: auto;
        position: relative;
        top: 0;
        left: 0;
    }
    .renovation-model-house-header .image img {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
}

/* renovation-model-house-intro */

.renovation-model-house-action {
}
.renovation-model-house-action .fukidashi {
    text-align: center;
}
.renovation-model-house-action .fukidashi span {
    position: relative;
    padding: 0 20px;
    font-size: 22px;
}
.renovation-model-house-action .fukidashi span::before,
.renovation-model-house-action .fukidashi span::after {
    content: '';
    position: absolute;
    width: 30px;
    height: 2px;
    top: 17px;
    background-color: #ccc;
}
.renovation-model-house-action .fukidashi span::before {
    left: -20px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.renovation-model-house-action .fukidashi span::after {
    right: -20px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.renovation-model-house-action-button {
    margin: 5px auto 0;
    max-width: 420px;
    text-align: center;
}
.renovation-model-house-action-button button {
    border: none;
}

@media screen and (max-width: 768px) {
    .renovation-model-house-action .fukidashi span {
        font-size: 16px;
    }
    .renovation-model-house-action .fukidashi span::before,
    .renovation-model-house-action .fukidashi span::after {
        width: 20px;
        height: 1px;
        top: 11px;
    }
    .renovation-model-house-action {
        margin: 10px 0 0;
    }
    .renovation-model-house-action-button button {
        max-width: 425px;
        height: 60px;
    }
}

/* renovation-model-house-intro */

.renovation-model-house-intro {
    padding: 50px 0;
    position: relative;
}
.renovation-model-house-intro .title {
    text-align: center;
    font-size: 36px;
    margin: 0;
}
.renovation-model-house-intro .lead {
    text-align: center;
    font-size: 18px;
    line-height: 1.8;
    margin: 30px 0 0;
}
.renovation-model-house-intro .inner::before {
    content: '';
    background: url(../images/renovation_model_house/img_01.png) no-repeat;
    background-size: contain;
    max-width: 230px;
    height: 160px;
    position: absolute;
    left: 50px;
    bottom: -59px;
    display: block;
    width: 100%;
}
.renovation-model-house-intro .inner::after {
    content: '';
    background: url(../images/renovation_model_house/img_02.png) no-repeat;
    background-size: contain;
    max-width: 75px;
    height: 196px;
    position: absolute;
    right: 160px;
    top: -50px;
    display: block;
    width: 100%;
}

@media (max-width: 767px) {
    .renovation-model-house-intro {
        padding: 30px 0 120px;
    }
    .renovation-model-house-intro .title {
        font-size: 25px;
    }
    .renovation-model-house-intro .lead {
        font-size: 16px;
        margin: 30px 0 0;
    }
    .renovation-model-house-intro .inner::before {
        max-width: 180px;
        height: 130px;
        left: 0;
        bottom: -160px;
        width: 100%;
        right: 0;
        margin: auto;
    }
    .renovation-model-house-intro .inner::after {
        display: none;
    }
}

/* renovation-model-house-data */

.renovation-model-house-data {
    margin: 70px 0 0;
}
.renovation-model-house-data .title {
    font-family: 'Jost', sans-serif;
    font-size: 20px;
}
.renovation-model-house-data-items {
    display: flex;
    gap: 0 90px;
}
.renovation-model-house-data-items .item {
    margin: 15px 0 0;
    width: 50%;
}

@media screen and (max-width: 768px) {
    .renovation-model-house-data .title {
        font-size: 14px;
    }
    .renovation-model-house-data-items {
        display: block;
        margin: 10px 0 0;
    }
    .renovation-model-house-data-items .item {
        margin: -1px 0 0;
        width: 100%;
    }
}

/* renovation-model-house-point */

.renovation-model-house-point {
    margin: 70px 0 0;
}
.renovation-model-house-point .title img {
    max-width: 890px;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .renovation-model-house-point {
        margin: 40px 0 0;
    }
    .renovation-model-house-point .title {
        padding: 30px;
    }
    .renovation-model-house-point .title img {
        max-width: 890px;
        width: 100%;
    }
}

.renovation-model-house-point-items {
    counter-reset: number 0;
}
.renovation-model-house-point-items .item {
    position: relative;
    margin: 90px 0 0;
    padding: 0;
    display: flex;
    justify-content: flex-start;
    width: 100%;
}
.renovation-model-house-point-items .item .image {
    order: 1;
    padding: 0 30px 0 0;
}
.renovation-model-house-point-items .item .body {
    background: #fff;
    width: 440px;
    position: absolute;
    top: 40px;
    order: 2;
    right: 0;
    min-height: 260px;
    padding: 25px 30px;
}
.renovation-model-house-point-items .item .text {
    line-height: 1.8;
}
.renovation-model-house-point-items .item .item-title {
    font-size: 38px;
    margin-bottom: 20px;
    line-height: 1.4;
}
.renovation-model-house-point-items .item .item-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: #ccc;
    margin-top: 17px;
}
.renovation-model-house-point-items .item:nth-child(1),
.renovation-model-house-point-items .item:nth-child(even) {
    justify-content: flex-end;
}
.renovation-model-house-point-items .item:nth-child(1) .image,
.renovation-model-house-point-items .item:nth-child(even) .image {
    order: 2;
}
.renovation-model-house-point-items .item:nth-child(1) .body,
.renovation-model-house-point-items .item:nth-child(even) .body {
    order: 1;
    left: 0;
    right: auto;
}
.renovation-model-house-point-items .item .number::before {
    font-size: 75px;
    font-family: 'Jost', san-serif;
    font-weight: 200;
    position: absolute;
    counter-increment: number;
    content: '0' counter(number) '';
    line-height: 1;
}
.renovation-model-house-point-items .item-1 .number::before {
    top: -65px;
    left: 30px;
}
.renovation-model-house-point-items .item-2 .body {
    width: 500px;
}
.renovation-model-house-point-items .item-2 .number::before {
    top: 15px;
    right: 80px;
}
.renovation-model-house-point-items .item-3 .body {
    top: 60px;
}
.renovation-model-house-point-items .item-3 .number::before {
    top: -40px;
    right: 30px;
}
.renovation-model-house-point-items .item-4 .body {
    top: 100px;
}
.renovation-model-house-point-items .item-4 .image {
    padding: 0;
    margin: 0 -50px 0 0;
}
.renovation-model-house-point-items .item-4 .number::before {
    top: -65px;
    left: 30px;
}
.renovation-model-house-point-items .item-5 .body {
    top: auto;
    bottom: 80px;
}
.renovation-model-house-point-items .item-5 .number::before {
    top: -50px;
    right: 5px;
}
.renovation-model-house-point-items .item-6 .body {
    top: 100px;
    min-height: 325px;
    padding-top: 65px;
}
.renovation-model-house-point-items .item-6 .number::before {
    top: -25px;
    left: 30px;
}
.renovation-model-house-point-items .item-7 .body {
    top: 170px;
    padding-top: 60px;
}
.renovation-model-house-point-items .item-7 .number::before {
    top: -45px;
    left: auto;
    right: 70px;
}
.renovation-model-house-point-items .item-8 .body {
    top: 170px;
    padding-top: 40px;
}
.renovation-model-house-point-items .item-8 .number::before {
    top: -40px;
    left: 30px;
}

@media screen and (max-width: 768px) {
    .renovation-model-house-point-items .item {
        margin: 0;
        display: block;
    }
    .renovation-model-house-point-items .item + .item {
        margin: 50px 0 0;
    }
    .renovation-model-house-point-items .item .image {
        order: 1;
        padding: 0;
        margin: 0 -20px 0;
    }
    .renovation-model-house-point-items .item .body {
        width: calc(100% - 30px);
        position: relative;
        top: auto;
        order: 2;
        right: auto;
        min-height: auto;
        padding: 0;
        margin: 0 auto;
    }
    .renovation-model-house-point-items .item .text {
        line-height: 1.8;
    }
    .renovation-model-house-point-items .item .item-title {
        font-size: 26px;
        margin-bottom: 10px;
        line-height: 1.4;
        color: #333333;
    }
    .renovation-model-house-point-items .item .item-title::after {
        width: 30px;
        margin-top: 15px;
    }
    .renovation-model-house-point-items .item:nth-child(1) .body,
    .renovation-model-house-point-items .item:nth-child(even) .body {
        left: auto;
        right: auto;
    }
    .renovation-model-house-point-items .item .number::before {
        font-size: 55px;
    }
    .renovation-model-house-point-items .item-1 .body {
        width: 100%;
        margin: 0px 0 0;
        padding: 24px 25px 0;
    }
    .renovation-model-house-point-items .item-1 .number::before {
        top: -39px;
        left: 20px;
    }
    .renovation-model-house-point-items .item-2 .body {
        width: 100%;
        margin: -30px 0 0;
        padding: 24px 25px 0;
    }
    .renovation-model-house-point-items .item-2 .image {
        padding: 0 20px 0 0px;
    }
    .renovation-model-house-point-items .item-2 .number::before {
        top: -25px;
        right: 10px;
    }
    .renovation-model-house-point-items .item-3 .body {
        padding: 25px 22px 0;
        width: 100%;
        margin: -30px auto 0;
    }
    .renovation-model-house-point-items .item-3 .image {
        padding: 0 20px 0 0px;
    }
    .renovation-model-house-point-items .item-3 .number::before {
        top: -20px;
        right: 13px;
    }
    .renovation-model-house-point-items .item-4 .body {
        padding: 15px 20px 0;
        margin: -35px auto 0;
        width: 100%;
    }
    .renovation-model-house-point-items .item-4 .image {
        padding: 0;
        margin: 0 -20px 0;
    }
    .renovation-model-house-point-items .item-4 .number::before {
        top: -15px;
        left: auto;
        right: 20px;
    }
    .renovation-model-house-point-items .item-5 .body {
        top: 0;
        bottom: auto;
        margin: 10px auto 0;
    }
    .renovation-model-house-point-items .item-5 .number::before {
        top: -30px;
        right: 5px;
    }
    .renovation-model-house-point-items .item-6 .body {
        top: 100px;
        min-height: auto;
        top: 20px;
    }
    .renovation-model-house-point-items .item-6 .number::before {
        top: -62px;
        left: 0;
    }
    .renovation-model-house-point-items .item-7 .body {
        top: 0px;
        padding-top: 0;
        margin: 20px auto 0;
    }
    .renovation-model-house-point-items .item-7 .number::before {
        top: -63px;
        left: auto;
        right: -9px;
    }
    .renovation-model-house-point-items .item-8 .body {
        top: 0;
        padding: 15px 20px 0;
        margin: -25px auto 0;
        width: 100%;
    }
    .renovation-model-house-point-items .item-8 .number::before {
        top: -15px;
        left: auto;
        right: 20px;
    }
}

/* renovation-model-house-message */

.renovation-model-house-message .lead {
    margin: 20px 0 0;
    font-size: 32px;
}
.renovation-model-house-message .renovation-model-house-action-button {
    margin: 20px auto 0;
}

@media screen and (max-width: 768px) {
    .renovation-model-house-message .image {
        margin: 0 -20px 0;
    }
    .renovation-model-house-message .lead {
        margin: 20px 0 0;
        font-size: 24px;
        line-height: 1.3;
    }
}

/*===================================
    news
===================================*/

.news-list {
    margin: 20px 0 0;
}

.news-list-items .item a {
    display: flex;
    padding: 35px 0;
    gap: 0 45px;
}
.news-list-items .item a:after {
    width: 125px;
}
.news-list-items .item a .body {
    width: 100%;
}
.news-list-items .item a .image {
    width: 100%;
    max-width: 250px;
    aspect-ratio: 253 / 168;
    background: #f4f4f4 url(../images/common/logo_symbol.png) no-repeat center center / 64px;
    aspect-ratio: 10 / 6;
}
.news-list-items .item a .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news-list-items .item a .date {
    color: #999;
}

/* news-detail */

.news-detail .news-detail-body p {
    margin-top: 20px;
}
.news-detail .news-detail-body img {
    max-width: 100%;
    width: auto;
}

/*===================================
    blog
===================================*/

.blog-list {
    margin: 20px 0 0;
}

/* blog-list-items */

.blog-list-items .item a {
    display: flex;
    padding: 35px 0;
    gap: 0 45px;
}
.blog-list-items .item a:after {
    width: 125px;
}
.blog-list-items .item a .body {
    width: 100%;
}
.blog-list-items .item a .image {
    width: 100%;
    max-width: 250px;
    aspect-ratio: 253 / 168;
    background: #f4f4f4 url(../images/common/logo_symbol.png) no-repeat center center / 64px;
    aspect-ratio: 10 / 6;
}
.blog-list-items .item a .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blog-list-items .item a .date {
    color: #999;
}

/* blog-detail */

.blog-detail .blog-detail-body p {
    margin-top: 20px;
}
.blog-detail .blog-detail-body img {
    max-width: 100%;
    width: auto;
}

/*===================================
    staff
===================================*/

.staff-main {
    padding: 0;
}
.staff-main .wrapper {
    max-width: 1100px;
}
.staff-main .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 20px);
    margin-left: -10px;
}

.staff-main .content .item {
    width: 25%;
    margin-top: 40px;
    cursor: pointer;
}

.staff-main .content .item:hover .inner {
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.staff-main .content .item .name {
    width: 80px;
    margin-top: 5px;
}

.staff-main .content .item .info {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.staff-main .content .item .pop-box {
    display: none;
}

.staff-main .content .item .position {
    font-size: 14px;
    margin-top: 10px;
}

.staff-main .content .item .photo {
    width: 100%;
    max-width: 180px;
    border-radius: 100%;
    overflow: hidden;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
    margin: 0 auto;
}

.staff-main .content .item .photo .bg-photo {
    width: 100%;
    padding-top: 100%;
    background: top center/cover no-repeat;
}

.staff-main .content .item .inner {
    padding: 20px;
    border-radius: 6px;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
}
.staff-main .bg-photo > img {
    display: none;
}

.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 200;
    overflow: hidden;
    overflow-y: scroll;
    display: none;
}

.popup.on .content {
    opacity: 1;
}

.popup .content {
    opacity: 0;
    position: relative;
    z-index: 2;
    -webkit-transition: 0.3s all;
    transition: 0.3s all;
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.popup .window {
    position: relative;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 100vh;
    padding: 80px 5%;
}

.popup .window .staff-box {
    width: 100%;
    max-width: 1100px;
    background-color: #fff;
    padding: 60px 5%;
    border-radius: 6px;
    position: relative;
}

.popup .window .staff-box .close-btn {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    border: 1px solid #000;
    font-size: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
}

.popup .window .staff-box .en {
    font-size: 30px;
    margin-bottom: 30px;
    text-align: center;
}

.popup .window .pop-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.popup .window .pop-box .info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 10px;
}

.popup .window .pop-box .info .name {
    font-size: 14px;
}

.popup .window .pop-box .info .name {
    width: 120px;
    margin-left: 10px;
}

.popup .window .pop-box .right-box {
    width: 50%;
}

.popup .window .pop-box .left-box {
    width: calc(50% - 60px);
}

.popup .window .pop-box dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.popup .window .pop-box dl:first-child dt {
    border-top: 1px solid gray;
}

.popup .window .pop-box dl:first-child dd {
    border-top: 1px solid #cbcbcb;
}

.popup .window .pop-box dl dt {
    width: 80px;
    min-width: 80px;
    padding: 1em 0;
    border-bottom: 1px solid gray;
    font-weight: 400;
}

.popup .window .pop-box dl dd {
    width: 100%;
    padding: 1em 0;
    border-bottom: 1px solid #cbcbcb;
    padding-left: 20px;
}

.popup .close-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background-color: rgba(0, 0, 0, 0.64);
    z-index: 1;
    cursor: pointer;
}

@media (max-width: 768px) {
    .popup .window .pop-box {
        display: block;
    }

    .popup .window .pop-box .left-box {
        width: 100%;
        padding-bottom: 20px;
    }

    .popup .window .staff-box .en {
        margin-bottom: 15px;
        font-size: 26px;
    }

    .popup .window .pop-box .right-box {
        width: 100%;
    }

    .staff-main .content .item {
        width: 50%;
        margin-top: 0;
    }

    .staff-main .content .item .inner {
        padding: 20px 10px;
    }

    .staff-main .content .item:hover .inner {
        -webkit-box-shadow: none;
        box-shadow: none;
    }

    .staff-main .content .item:first-child {
        width: 100%;
    }
}

/*======================================================================



    Object - Utility
*/

/*

/*===================================
    text-align
===================================*/

/* text-align */

.text-center {
    text-align: center !important;
}
.text-left {
    text-align: left !important;
}
.text-right {
    text-align: right !important;
}

/*===================================
    color
===================================*/

.text-black {
    color: black !important;
}

.text-gray {
    color: rgb(165, 159, 165) !important;
}

.text-white {
    color: white !important;
}

.bg-black {
    background-color: #333333 !important;
}

.bg-gray {
    background-color: rgb(245, 245, 245) !important;
}

.bg-white {
    background-color: white !important;
}

/*===================================
    border
===================================*/

.border {
    border-width: 1px;
    border-style: solid;
}
.border-black {
    border-color: black !important;
}

/*===================================
    width
===================================*/

.width-full {
    width: 100% !important;
}

/*===================================
    margin
===================================*/

/* margin all */

.m0 {
    margin: 0px !important;
}
.m5 {
    margin: 5px !important;
}
.m10 {
    margin: 10px !important;
}
.m15 {
    margin: 15px !important;
}
.m20 {
    margin: 20px !important;
}
.m25 {
    margin: 25px !important;
}
.m30 {
    margin: 30px !important;
}
.m35 {
    margin: 35px !important;
}
.m40 {
    margin: 40px !important;
}
.m45 {
    margin: 45px !important;
}
.m50 {
    margin: 50px !important;
}
.m55 {
    margin: 55px !important;
}
.m60 {
    margin: 60px !important;
}
.m65 {
    margin: 65px !important;
}
.m70 {
    margin: 70px !important;
}
.m75 {
    margin: 75px !important;
}
.m80 {
    margin: 80px !important;
}
.m85 {
    margin: 85px !important;
}
.m90 {
    margin: 90px !important;
}
.m95 {
    margin: 95px !important;
}
.m100 {
    margin: 100px !important;
}
.m110 {
    margin: 110px !important;
}
.m120 {
    margin: 120px !important;
}
.m130 {
    margin: 130px !important;
}
.m140 {
    margin: 140px !important;
}
.m150 {
    margin: 150px !important;
}
.m160 {
    margin: 160px !important;
}
.m170 {
    margin: 170px !important;
}
.m180 {
    margin: 180px !important;
}
.m190 {
    margin: 190px !important;
}
.m200 {
    margin: 200px !important;
}

/* margin-top */

.mt0 {
    margin-top: 0px !important;
}
.mt5 {
    margin-top: 5px !important;
}
.mt10 {
    margin-top: 10px !important;
}
.mt15 {
    margin-top: 15px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt25 {
    margin-top: 25px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt35 {
    margin-top: 35px !important;
}
.mt40 {
    margin-top: 40px !important;
}
.mt45 {
    margin-top: 45px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt55 {
    margin-top: 55px !important;
}
.mt60 {
    margin-top: 60px !important;
}
.mt65 {
    margin-top: 65px !important;
}
.mt70 {
    margin-top: 70px !important;
}
.mt75 {
    margin-top: 75px !important;
}
.mt80 {
    margin-top: 80px !important;
}
.mt85 {
    margin-top: 85px !important;
}
.mt90 {
    margin-top: 90px !important;
}
.mt95 {
    margin-top: 95px !important;
}
.mt100 {
    margin-top: 100px !important;
}
.mt110 {
    margin-top: 110px !important;
}
.mt120 {
    margin-top: 120px !important;
}
.mt130 {
    margin-top: 130px !important;
}
.mt140 {
    margin-top: 140px !important;
}
.mt150 {
    margin-top: 150px !important;
}
.mt160 {
    margin-top: 160px !important;
}
.mt170 {
    margin-top: 170px !important;
}
.mt180 {
    margin-top: 180px !important;
}
.mt190 {
    margin-top: 190px !important;
}
.mt200 {
    margin-top: 200px !important;
}

@media (max-width: 768px) {
    .sp-mt0 {
        margin-top: 0 !important;
    }
}

/* margin-right */

.mr0 {
    margin-right: 0px !important;
}
.mr5 {
    margin-right: 5px !important;
}
.mr10 {
    margin-right: 10px !important;
}
.mr15 {
    margin-right: 15px !important;
}
.mr20 {
    margin-right: 20px !important;
}
.mr25 {
    margin-right: 25px !important;
}
.mr30 {
    margin-right: 30px !important;
}
.mr35 {
    margin-right: 35px !important;
}
.mr40 {
    margin-right: 40px !important;
}
.mr45 {
    margin-right: 45px !important;
}
.mr50 {
    margin-right: 50px !important;
}
.mr55 {
    margin-right: 55px !important;
}
.mr60 {
    margin-right: 60px !important;
}
.mr65 {
    margin-right: 65px !important;
}
.mr70 {
    margin-right: 70px !important;
}
.mr75 {
    margin-right: 75px !important;
}
.mr80 {
    margin-right: 80px !important;
}
.mr85 {
    margin-right: 85px !important;
}
.mr90 {
    margin-right: 90px !important;
}
.mr95 {
    margin-right: 95px !important;
}
.mr100 {
    margin-right: 100px !important;
}
.mr110 {
    margin-right: 110px !important;
}
.mr120 {
    margin-right: 120px !important;
}
.mr130 {
    margin-right: 130px !important;
}
.mr140 {
    margin-right: 140px !important;
}
.mr150 {
    margin-right: 150px !important;
}
.mr160 {
    margin-right: 160px !important;
}
.mr170 {
    margin-right: 170px !important;
}
.mr180 {
    margin-right: 180px !important;
}
.mr190 {
    margin-right: 190px !important;
}
.mr200 {
    margin-right: 200px !important;
}

/* margin-bottom */

.mb0 {
    margin-bottom: 0px !important;
}
.mb5 {
    margin-bottom: 5px !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb15 {
    margin-bottom: 15px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb25 {
    margin-bottom: 25px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb35 {
    margin-bottom: 35px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb45 {
    margin-bottom: 45px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb55 {
    margin-bottom: 55px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}
.mb65 {
    margin-bottom: 65px !important;
}
.mb70 {
    margin-bottom: 70px !important;
}
.mb75 {
    margin-bottom: 75px !important;
}
.mb80 {
    margin-bottom: 80px !important;
}
.mb85 {
    margin-bottom: 85px !important;
}
.mb90 {
    margin-bottom: 90px !important;
}
.mb95 {
    margin-bottom: 95px !important;
}
.mb100 {
    margin-bottom: 100px !important;
}
.mb110 {
    margin-bottom: 110px !important;
}
.mb120 {
    margin-bottom: 120px !important;
}
.mb130 {
    margin-bottom: 130px !important;
}
.mb140 {
    margin-bottom: 140px !important;
}
.mb150 {
    margin-bottom: 150px !important;
}
.mb160 {
    margin-bottom: 160px !important;
}
.mb170 {
    margin-bottom: 170px !important;
}
.mb180 {
    margin-bottom: 180px !important;
}
.mb190 {
    margin-bottom: 190px !important;
}
.mb200 {
    margin-bottom: 200px !important;
}

/* margin-left */

.ml0 {
    margin-left: 0px !important;
}
.ml5 {
    margin-left: 5px !important;
}
.ml10 {
    margin-left: 10px !important;
}
.ml15 {
    margin-left: 15px !important;
}
.ml20 {
    margin-left: 20px !important;
}
.ml25 {
    margin-left: 25px !important;
}
.ml30 {
    margin-left: 30px !important;
}
.ml35 {
    margin-left: 35px !important;
}
.ml40 {
    margin-left: 40px !important;
}
.ml45 {
    margin-left: 45px !important;
}
.ml50 {
    margin-left: 50px !important;
}
.ml55 {
    margin-left: 55px !important;
}
.ml60 {
    margin-left: 60px !important;
}
.ml65 {
    margin-left: 65px !important;
}
.ml70 {
    margin-left: 70px !important;
}
.ml75 {
    margin-left: 75px !important;
}
.ml80 {
    margin-left: 80px !important;
}
.ml85 {
    margin-left: 85px !important;
}
.ml90 {
    margin-left: 90px !important;
}
.ml95 {
    margin-left: 95px !important;
}
.ml100 {
    margin-left: 100px !important;
}
.ml110 {
    margin-left: 110px !important;
}
.ml120 {
    margin-left: 120px !important;
}
.ml130 {
    margin-left: 130px !important;
}
.ml140 {
    margin-left: 140px !important;
}
.ml150 {
    margin-left: 150px !important;
}
.ml160 {
    margin-left: 160px !important;
}
.ml170 {
    margin-left: 170px !important;
}
.ml180 {
    margin-left: 180px !important;
}
.ml190 {
    margin-left: 190px !important;
}
.ml200 {
    margin-left: 200px !important;
}

/*===================================
    padding number
===================================*/

/* padding all */

.p0 {
    padding: 0px !important;
}
.p5 {
    padding: 5px !important;
}
.p10 {
    padding: 10px !important;
}
.p15 {
    padding: 15px !important;
}
.p20 {
    padding: 20px !important;
}
.p25 {
    padding: 25px !important;
}
.p30 {
    padding: 30px !important;
}
.p35 {
    padding: 35px !important;
}
.p40 {
    padding: 40px !important;
}
.p45 {
    padding: 45px !important;
}
.p50 {
    padding: 50px !important;
}
.p55 {
    padding: 55px !important;
}
.p60 {
    padding: 60px !important;
}
.p65 {
    padding: 65px !important;
}
.p70 {
    padding: 70px !important;
}
.p75 {
    padding: 75px !important;
}
.p80 {
    padding: 80px !important;
}
.p85 {
    padding: 85px !important;
}
.p90 {
    padding: 90px !important;
}
.p95 {
    padding: 95px !important;
}
.p100 {
    padding: 100px !important;
}
.p110 {
    padding: 110px !important;
}
.p120 {
    padding: 120px !important;
}
.p130 {
    padding: 130px !important;
}
.p140 {
    padding: 140px !important;
}
.p150 {
    padding: 150px !important;
}
.p160 {
    padding: 160px !important;
}
.p170 {
    padding: 170px !important;
}
.p180 {
    padding: 180px !important;
}
.p190 {
    padding: 190px !important;
}
.p200 {
    padding: 200px !important;
}

/* padding-top */

.pt0 {
    padding-top: 0px !important;
}
.pt5 {
    padding-top: 5px !important;
}
.pt10 {
    padding-top: 10px !important;
}
.pt15 {
    padding-top: 15px !important;
}
.pt20 {
    padding-top: 20px !important;
}
.pt25 {
    padding-top: 25px !important;
}
.pt30 {
    padding-top: 30px !important;
}
.pt35 {
    padding-top: 35px !important;
}
.pt40 {
    padding-top: 40px !important;
}
.pt45 {
    padding-top: 45px !important;
}
.pt50 {
    padding-top: 50px !important;
}
.pt55 {
    padding-top: 55px !important;
}
.pt60 {
    padding-top: 60px !important;
}
.pt65 {
    padding-top: 65px !important;
}
.pt70 {
    padding-top: 70px !important;
}
.pt75 {
    padding-top: 75px !important;
}
.pt80 {
    padding-top: 80px !important;
}
.pt85 {
    padding-top: 85px !important;
}
.pt90 {
    padding-top: 90px !important;
}
.pt95 {
    padding-top: 95px !important;
}
.pt100 {
    padding-top: 100px !important;
}
.pt110 {
    padding-top: 110px !important;
}
.pt120 {
    padding-top: 120px !important;
}
.pt130 {
    padding-top: 130px !important;
}
.pt140 {
    padding-top: 140px !important;
}
.pt150 {
    padding-top: 150px !important;
}
.pt160 {
    padding-top: 160px !important;
}
.pt170 {
    padding-top: 170px !important;
}
.pt180 {
    padding-top: 180px !important;
}
.pt190 {
    padding-top: 190px !important;
}
.pt200 {
    padding-top: 200px !important;
}

/* padding-right */

.pr0 {
    padding-right: 0px !important;
}
.pr5 {
    padding-right: 5px !important;
}
.pr10 {
    padding-right: 10px !important;
}
.pr15 {
    padding-right: 15px !important;
}
.pr20 {
    padding-right: 20px !important;
}
.pr25 {
    padding-right: 25px !important;
}
.pr30 {
    padding-right: 30px !important;
}
.pr35 {
    padding-right: 35px !important;
}
.pr40 {
    padding-right: 40px !important;
}
.pr45 {
    padding-right: 45px !important;
}
.pr50 {
    padding-right: 50px !important;
}
.pr55 {
    padding-right: 55px !important;
}
.pr60 {
    padding-right: 60px !important;
}
.pr65 {
    padding-right: 65px !important;
}
.pr70 {
    padding-right: 70px !important;
}
.pr75 {
    padding-right: 75px !important;
}
.pr80 {
    padding-right: 80px !important;
}
.pr85 {
    padding-right: 85px !important;
}
.pr90 {
    padding-right: 90px !important;
}
.pr95 {
    padding-right: 95px !important;
}
.pr100 {
    padding-right: 100px !important;
}
.pr110 {
    padding-right: 110px !important;
}
.pr120 {
    padding-right: 120px !important;
}
.pr130 {
    padding-right: 130px !important;
}
.pr140 {
    padding-right: 140px !important;
}
.pr150 {
    padding-right: 150px !important;
}
.pr160 {
    padding-right: 160px !important;
}
.pr170 {
    padding-right: 170px !important;
}
.pr180 {
    padding-right: 180px !important;
}
.pr190 {
    padding-right: 190px !important;
}
.pr200 {
    padding-right: 200px !important;
}

/* padding-bottom */

.pb0 {
    padding-bottom: 0px !important;
}
.pb5 {
    padding-bottom: 5px !important;
}
.pb10 {
    padding-bottom: 10px !important;
}
.pb15 {
    padding-bottom: 15px !important;
}
.pb20 {
    padding-bottom: 20px !important;
}
.pb25 {
    padding-bottom: 25px !important;
}
.pb30 {
    padding-bottom: 30px !important;
}
.pb35 {
    padding-bottom: 35px !important;
}
.pb40 {
    padding-bottom: 40px !important;
}
.pb45 {
    padding-bottom: 45px !important;
}
.pb50 {
    padding-bottom: 50px !important;
}
.pb55 {
    padding-bottom: 55px !important;
}
.pb60 {
    padding-bottom: 60px !important;
}
.pb65 {
    padding-bottom: 65px !important;
}
.pb70 {
    padding-bottom: 70px !important;
}
.pb75 {
    padding-bottom: 75px !important;
}
.pb80 {
    padding-bottom: 80px !important;
}
.pb85 {
    padding-bottom: 85px !important;
}
.pb90 {
    padding-bottom: 90px !important;
}
.pb95 {
    padding-bottom: 95px !important;
}
.pb100 {
    padding-bottom: 100px !important;
}
.pb110 {
    padding-bottom: 110px !important;
}
.pb120 {
    padding-bottom: 120px !important;
}
.pb130 {
    padding-bottom: 130px !important;
}
.pb140 {
    padding-bottom: 140px !important;
}
.pb150 {
    padding-bottom: 150px !important;
}
.pb160 {
    padding-bottom: 160px !important;
}
.pb170 {
    padding-bottom: 170px !important;
}
.pb180 {
    padding-bottom: 180px !important;
}
.pb190 {
    padding-bottom: 190px !important;
}
.pb200 {
    padding-bottom: 200px !important;
}

/* padding-left */

.pl0 {
    padding-left: 0px !important;
}
.pl5 {
    padding-left: 5px !important;
}
.pl10 {
    padding-left: 10px !important;
}
.pl15 {
    padding-left: 15px !important;
}
.pl20 {
    padding-left: 20px !important;
}
.pl25 {
    padding-left: 25px !important;
}
.pl30 {
    padding-left: 30px !important;
}
.pl35 {
    padding-left: 35px !important;
}
.pl40 {
    padding-left: 40px !important;
}
.pl45 {
    padding-left: 45px !important;
}
.pl50 {
    padding-left: 50px !important;
}
.pl55 {
    padding-left: 55px !important;
}
.pl60 {
    padding-left: 60px !important;
}
.pl65 {
    padding-left: 65px !important;
}
.pl70 {
    padding-left: 70px !important;
}
.pl75 {
    padding-left: 75px !important;
}
.pl80 {
    padding-left: 80px !important;
}
.pl85 {
    padding-left: 85px !important;
}
.pl90 {
    padding-left: 90px !important;
}
.pl95 {
    padding-left: 95px !important;
}
.pl100 {
    padding-left: 100px !important;
}
.pl110 {
    padding-left: 110px !important;
}
.pl120 {
    padding-left: 120px !important;
}
.pl130 {
    padding-left: 130px !important;
}
.pl140 {
    padding-left: 140px !important;
}
.pl150 {
    padding-left: 150px !important;
}
.pl160 {
    padding-left: 160px !important;
}
.pl170 {
    padding-left: 170px !important;
}
.pl180 {
    padding-left: 180px !important;
}
.pl190 {
    padding-left: 190px !important;
}
.pl200 {
    padding-left: 200px !important;
}

/*===================================
    device
===================================*/

.sp-only {
    display: none;
}

@media screen and (max-width: 768px) {
    .pc-only {
        display: none;
    }
    .sp-only {
        display: block;
    }
}
