@charset "utf-8";
  html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block
}
body {
line-height: 1
}
ol,
ul {
list-style: none
}
blockquote,
q {
quotes: none
}
blockquote:before,
blockquote:after,
q:before,
q:after {
content: '';
content: none
}
table {
border-collapse: collapse;
border-spacing: 0
}
*:focus {
outline: 0;
} * {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
} article,
aside,
figure,
figcaption,
footer,
header,
nav,
section {
display: block;
} :root {
--white: #fff;
--black: #000;
--grey: #8e8e8e;
--border: #8b8b8b;
--bg: #f8f8f8;
--ja: 'IBM Plex Sans JP', sans-serif;
--en: 'Roboto', sans-serif;
--headerHeight: 80px;
--px: 30px;
--pt: 110px;
--pb: 30px;
--cw: 930px;
--cww: 1120px;
}
@media screen and (max-width: 800px) {
:root {
--headerHeight: 56px;
--px: 20px;
--pt: 80px;
--pb: 10px;
}
}
html,
body {
margin: 0px;
padding: 0px; width: 100%;
-webkit-text-size-adjust: none;
}
a:link {
color: inherit;
text-decoration: none;
}
a:hover {
color: inherit;
text-decoration: none;
}
a:active {
color: inherit;
text-decoration: none;
}
a:visited {
color: inherit;
text-decoration: none;
}
.clear {
clear: both;
}
.alignleft {
width: 50%;
float: left;
margin: 0 3.125% 3.125% 0;
}
.alignright {
width: 50%;
float: right;
margin: 0 0 3.125% 3.125%;
}
.aligncenter {
clear: both;
display: block;
margin: 0 auto 3.125%;
} .clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: "";
clear: both;
height: 0;
} .clearfix {
display: inline-block;
}
.clearfix {
display: block;
}
img {
max-width: 100%;
height: auto;
vertical-align: bottom;
}
iframe {
max-width: 100%;
vertical-align: bottom;
}
body {
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
font-size: 14px;
font-weight: 400;
background-color: var(--white);
color: var(--black);
line-height: 2;
position: relative;
width: 100%;
min-height: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
word-break: break-all;
word-wrap: break-word;
}
::selection {
background-color: var(--black);
color: var(--white);
text-shadow: none;
}
.inview {
opacity: 0;
transition: opacity 1s;
}
.inview.visible {
opacity: 1;
}
.inviewelm>* {
opacity: 0;
transition: opacity 1s;
}
.inviewelm>*.visible {
opacity: 1;
}
.inviewimg {
opacity: 0;
transition: opacity 1s;
overflow: hidden;
}
.inviewimg.visible {
opacity: 1;
}
.inviewimg .img_inner {
display: block;
transition: transform 1100ms cubic-bezier(0.215, 0.61, 0.355, 1);
transform: scale(1.085) translate3d(0, 0, 0);
}
.inviewimg.visible .img_inner {
transform: scale(1) translate3d(0, 0, 0);
}
a.img_inner img {
transition: transform 900ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
a.img_inner:hover img {
transform: scale(1.06);
}
.pcb {
display: block;
}
.spb {
display: none;
}
.pcib {
display: inline-block;
}
.spib {
display: none;
}
.pcf {
display: flex;
}
.spf {
display: none;
}
.pcg {
display: grid;
}
.spg {
display: none;
}
.pct {
display: table;
}
.spt {
display: none;
}
@media screen and (max-width: 800px) {
.pcb {
display: none;
}
.spb {
display: block;
}
.pcib {
display: none;
}
.spib {
display: inline-block;
}
.pcf {
display: none;
}
.spf {
display: flex;
}
.pcg {
display: none;
}
.spg {
display: grid;
}
.pct {
display: none;
}
.spt {
display: table;
}
} #loader {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 10000;
background: #fff;
opacity: 1;
visibility: visible;
}
#loader .main {
width: 379px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -76px);
}
#loader .main img {
transform: translate(0, 10px);
opacity: 0;
animation: fadeInUp 2.2s ease forwards;
animation-delay: 2.2s;
}
#loader .sub {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, 81px);
display: flex;
justify-content: center;
gap: 22px;
}
#loader .sub img {
width: 60px;
transform: translate(0, 10px);
opacity: 0;
animation: fadeInUp 1s ease forwards;
}
#loader .sub li:nth-child(1) img {
animation-delay: 600ms;
}
#loader .sub li:nth-child(2) img {
animation-delay: 750ms;
}
#loader .sub li:nth-child(3) img {
animation-delay: 900ms;
}
#loader .sub li:nth-child(4) img {
animation-delay: 1050ms;
}
#loader .sub li:nth-child(5) img {
animation-delay: 1200ms;
}
#loader .sub li:nth-child(6) img {
animation-delay: 1350ms;
}
#loader .sub li:nth-child(7) img {
animation-delay: 1500ms;
}
#loader .sub li:nth-child(8) img {
animation-delay: 1650ms;
}
@keyframes fadeInUp {
from {
transform: translate(0, 10px);
opacity: 0;
}
to {
transform: translate(0, 0);
opacity: 1;
}
}
body.home {
position: fixed;
height: 100%;
left: 0;
top: 0;
}
body.home.loaded {
position: relative;
height: auto;
min-height: 100%;
}
@media screen and (max-width: 800px) {
#loader .main {
width: 260px;
transform: translate(-50%, -112px);
}
#loader .sub {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
width: 260px;
top: 50%;
transform: translate(-50%, -8px);
}
} #header {
width: 100%;
position: fixed;
top: 0;
left: 0;
height: var(--headerHeight);
z-index: 100;
background: var(--white);
transition: 0.3s;
}
.home #header {
background: transparent;
top: 23px;
}
.home.moved #header {
top: 0;
background: var(--white);
}
#header .logo {
line-height: 1;
position: absolute;
top: 50%;
left: var(--px);
z-index: 10;
transition: 0.3s;
transform: translate(0, -50%);
}
#header .logo:hover {
opacity: 0.6;
}
#header .logo img {
position: relative;
z-index: 1;
height: auto;
width: 125px;
transition: 0.3s;
}
#header .logo img.white {
position: absolute;
top: 0;
left: 0;
z-index: 0;
}
.header-nav {
position: absolute;
top: 50%;
right: 130px;
display: flex;
align-items: center;
line-height: 50px;
font-size: 14px;
font-weight: 700;
gap: 20px;
z-index: 1;
transform: translate(0, -50%);
}
.header-nav li a {
display: inline-block;
color: var(--white);
transition: .3s;
}
.header-nav li a:hover {
opacity: 0.6;
}
.menu {
width: 100%;
height: 100%;
}
.menu .menu-wrap {
display: flex;
justify-content: flex-end;
align-items: center;
height: 100%;
padding-right: 80px;
}
.menu .main-nav {
display: flex;
line-height: 1;
font-size: 14px;
letter-spacing: 0.1em;
height: 100%;
gap: 30px;
}
.menu .main-nav>li {
height: 100%;
display: flex;
-ms-align-items: center;
align-items: center;
position: relative;
}
.menu .main-nav>li>a,
.menu .main-nav>li>.parent {
line-height: 2;
display: flex;
height: 100%;
width: 100%;
align-items: center;
color: var(--black);
transition: 0.3s;
font-weight: 300;
font-family: var(--en);
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 4px;
text-decoration-color: transparent;
cursor: pointer;
}
.menu .main-nav>li>.parent {
padding-right: 20px;
position: relative;
}
.menu .main-nav>li>.parent svg {
position: absolute;
right: 0;
top: 50%;
transform: translate(0, -50%);
transition: 0.3s;
}
.menu .main-nav>li:active>.parent svg,
.menu .main-nav>li:hover>.parent svg {
transform: rotate(180deg) translate(0, 50%);
}
.menu .main-nav>li>.parent+.child {
opacity: 0;
visibility: hidden;
position: absolute;
top: var(--headerHeight);
left: 0;
padding: 0 16px;
background: var(--white);
white-space: nowrap;
transition: 0.3s;
transform: translate(0, -10px);
color: var(--black);
}
.menu .main-nav>li:active>.parent+.child,
.menu .main-nav>li:hover>.parent+.child {
opacity: 1;
visibility: visible;
transform: translate(0, 0);
}
.menu .main-nav>li>.parent+.child li:not(:first-child) {
border-top: 1px solid var(--grey);
}
.menu .main-nav>li>.parent+.child a {
display: flex;
height: 38px;
letter-spacing: 0;
font-weight: 400;
align-items: center;
transition: 0.3s;
color: var(--black);
}
.menu .main-nav>li>.parent+.child a:hover {
opacity: 0.6;
}
.menu .main-nav>li .parent::after {}
.home .menu .main-nav>li a,
.home .menu .main-nav>li .parent {
color: var(--white);
}
.home.moved .menu .main-nav>li a,
.home.moved .menu .main-nav>li .parent {
color: var(--black);
}
.menu .main-nav>li a:hover,
.home .menu .main-nav>li .parent:hover {
text-decoration-color: currentcolor;
}
.home #header .logo {
margin-left: 20px;
}
.home #header .logo img:not(.white) {
opacity: 0;
}
.home.moved #header .logo {
margin-left: 0;
}
.home.moved #header .logo img:not(.white) {
opacity: 1;
}
.opened #header .logo img:not(.white),
.home.moved.opened #header .logo img:not(.white) {
opacity: 0;
transition-delay: .3s;
}
@media screen and (max-width: 800px) {
#header .logo {
z-index: 101;
}
#header .logo img {
width: 88px;
}
.home #header {
top: 0;
}
.home #header .logo {
margin-left: 0px;
}
.header-nav {
display: none;
}
.menu {
position: fixed;
top: 0;
right: 0;
width: 100vw;
height: 100vh;
background: #74635e;
z-index: 100;
max-height: 100vh;
overflow-y: scroll;
opacity: 0;
padding: 100px var(--px);
display: block;
transition: transform .4s ease-in 0s, opacity .15s ease-in 0s;
transform: translateX(100%);
}
.opened .menu {
opacity: 1;
transform: translateX(0);
transition: transform .4s ease-out .1s, opacity .2s ease-out .3s;
}
.menu .menu-wrap {
padding: 0;
display: block;
height: auto;
}
.menu .main-nav>li {
display: flex;
flex-direction: column;
align-items: stretch;
}
.menu .main-nav>li>.parent+.child {
position: relative;
height: auto;
max-height: 0;
opacity: 1;
overflow: hidden;
visibility: visible;
top: 0;
left: 0;
transform: none;
padding: 0;
background: transparent;
padding-top: 10px;
}
.menu .main-nav>li>.parent+.child li:not(:first-child) {
border: none;
}
.menu .main-nav>li>.parent+.child a {
height: 30px;
color: var(--white);
gap: 8px;
}
.menu .main-nav>li>.parent+.child a::before {
content: '';
display: inline-block;
width: 14px;
height: 1px;
background: currentcolor;
}
.menu .main-nav>li:hover>.parent+.child,
.menu .main-nav>li:active>.parent+.child {
max-height: 100px;
}
.menu .main-nav {
text-align: center;
display: flex;
flex-direction: column;
gap: 50px;
max-width: 200px;
width: 100%;
margin: auto;
line-height: 1;
height: auto;
}
.menu .main-nav>li>a,
.menu .main-nav>li>.parent {
line-height: calc(16 / 14);
color: var(--white);
}
.home .menu .main-nav>li a,
.home .menu .main-nav>li .parent {
color: var(--white);
}
.home.moved .menu .main-nav>li a,
.home.moved .menu .main-nav>li .parent {
color: var(--white);
}
.menu .main-nav>li a:hover,
.home .menu .main-nav>li .parent:hover {
text-decoration-color: transparent;
}
.btn-fix a {
position: fixed;
top: 50%;
right: 0;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
writing-mode: vertical-rl;
transition: 0.3s;
background: var(--orange);
color: #fff;
z-index: 2;
font-weight: 700;
font-size: 16px;
padding: 20px 0;
width: 40px;
border-radius: 5px 0 0 5px;
transform: translate(0, -50%);
}
} .menu-close {
width: var(--headerHeight);
height: var(--headerHeight);
position: absolute;
top: 0;
right: 0;
z-index: 102;
opacity: 0;
display: none;
background-color: transparent;
}
.opened .menu-close {
display: block;
cursor: pointer;
}
.menu-trigger {
display: none;
width: var(--headerHeight);
height: var(--headerHeight);
position: absolute;
top: 0;
right: 0;
z-index: 101;
cursor: pointer;
background: transparent;
transition: opacity .3s linear 0s, height .3s ease 0s;
}
.menu-trigger:hover {
opacity: .6;
}
.menu-trigger span {
display: block;
position: absolute;
left: 50%;
top: calc(50% - 1px);
width: 25px;
height: 1px;
opacity: 1;
margin-left: -17px;
background-color: var(--black);
}
.home .menu-trigger span {
background-color: var(--white);
}
.home.moved .menu-trigger span {
background-color: var(--black);
}
.opened .menu-trigger span {
background-color: var(--white);
}
.home.moved.opened .menu-trigger span {
background-color: var(--white);
}
.menu-trigger span:nth-of-type(1),
.menu-trigger span:nth-of-type(3) {
transition: margin-top .2s ease .4s, transform .4s ease 0s, background-color .4s ease 0s;
}
.menu-trigger span:nth-of-type(1) {
margin-top: -8px;
}
.menu-trigger span:nth-of-type(2) {
transition: opacity .4s ease 0s, background-color .4s ease 0s;
}
.menu-trigger span:nth-of-type(3) {
margin-top: 8px;
}
.opened .menu-trigger span:nth-of-type(1),
.opened .menu-trigger span:nth-of-type(3) {
transition: margin-top .2s ease 0s, transform .2s ease .3s, background-color .2s ease .3s;
}
.opened .menu-trigger span:nth-of-type(1) {
margin-top: 0;
transform: rotate(-45deg);
}
.opened .menu-trigger span:nth-of-type(2) {
opacity: 0;
transition: opacity .2s ease .3s, background-color .2s ease .3s;
}
.opened .menu-trigger span:nth-of-type(3) {
margin-top: 0;
transform: rotate(45deg);
}
@media screen and (max-width: 800px) {
.menu-trigger {
display: block;
}
} #footer {
border-top: 1px solid #797979;
margin-top: 50px;
}
#footer .footer-img {
padding: var(--pt) var(--px) 0;
}
#footer .footer-wrap {
position: relative;
z-index: 1;
width: 100%;
padding: 90px var(--px);
}
#footer .inner {
max-width: 1120px;
width: 100%;
margin: auto;
position: relative;
text-align: center;
}
#footer .logo {
display: inline-block;
width: 130px;
}
#footer .sub {
display: flex;
gap: 10px;
justify-content: center;
margin-top: 20px;
}
#footer .sub li {
width: 30px;
}
#footer .txt h2 {
font-weight: 400;
font-size: 14px;
line-height: calc(24 / 13);
margin-bottom: 40px;
}
#footer .left a:has(> img) {
transition: 0.5s;
}
#footer .left a:has(> img):hover {
opacity: 0.5;
}
#footer .txt {
text-align: left;
margin-top: 90px;
}
#footer .txt .links {
display: flex;
align-items: flex-end;
font-size: 14px;
line-height: 1;
gap: 10px;
}
#footer .txt .links a:hover {
text-decoration: underline;
}
#footer .txt .links a:last-child {
margin-left: 10px;
}
#footer .top {
display: inline-block;
width: 18px;
height: 10px;
overflow: hidden;
position: absolute;
right: 0;
top: 0;
}
#footer .top::after {
content: '';
width: 14px;
height: 14px;
border-top: 1px solid var(--black);
border-left: 1px solid var(--black);
display: block;
position: absolute;
left: 50%;
top: 0;
transform: rotate(45deg);
transform-origin: left top;
transition: 0.5s;
}
#footer .top:hover {
opacity: 0.5;
}
#footer .copyright {
font-weight: 400;
font-size: 12px;
line-height: 1;
}
#footer .foot-bottom {
width: 100%;
display: flex;
justify-content: space-between;
}
@media screen and (max-width: 800px) {
#footer .inner {
grid-template-columns: 1fr;
gap: 20px;
}
#footer .footer-img {
padding-top: calc(var(--pt) + var(--px));
}
#footer .footer-wrap {
padding: var(--px) var(--px) 80px;
padding-top: 50px;
position: relative;
}
#footer .left {
flex-direction: column;
align-items: center;
gap: 0;
}
#footer .logo {
width: 80px;
}
#footer .sub {
justify-content: center;
margin-top: 20px;
}
#footer .txt {
display: block;
text-align: left;
margin-top: 50px;
}
#footer .txt .links {
align-items: center;
justify-content: center;
}
#footer .txt .links .policy {
font-size: 12px;
}
#footer .right {
justify-content: center;
align-items: center;
}
#footer .copyright {
margin-top: 30px;
text-align: center;
font-size: 11px;
}
#footer .foot-bottom {
flex-flow: column;
flex-direction: column-reverse;
}
} #mv {
height: auto;
overflow: hidden;
}
#mv .section-wrap {
position: relative;
height: 100vh;
padding: 30px;
}
#mv .slick-list {
overflow: visible;
}
#mv .mv-heading {
white-space: nowrap;
text-align: center;
display: flex;
flex-direction: column;
align-items: flex-start;
font-weight: 300;
font-size: 42px;
font-family: var(--ja);
line-height: 1;
letter-spacing: 0.05em;
position: absolute;
z-index: 1;
bottom: 50px;
left: 0;
gap: 16px;
}
#mv .mv-heading>span {
position: relative;
display: block;
padding: 13px 12px 11px 10px;
}
#mv .mv-heading>span::after {
content: '';
display: block;
background: var(--white);
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 0;
}
#mv .slick-active .mv-heading>span:first-child::after {
animation: mvBG 2.5s cubic-bezier(.67, .14, .89, .37) 0s forwards;
}
#mv .slick-active .mv-heading>span:last-child::after {
animation: mvBG 2.5s cubic-bezier(.85, .1, .94, .37) 1s forwards;
}
#mv .slick-active .mv-heading>span:first-child::after {
animation: mvBG 1.5s linear 0s forwards;
}
#mv .slick-active .mv-heading>span:last-child::after {
animation: mvBG 1.5s linear 1s forwards;
}
@keyframes mvBG {
from {
width: 0;
}
to {
width: 100%;
}
}
#mv .mv-heading>span>span {
display: block;
position: relative;
z-index: 1;
transform: translate(-10px, 0);
opacity: 0;
}
#mv .slick-active .mv-heading>span:first-child>span {
animation: mvTXT 2.6s cubic-bezier(.15, .42, .42, .8) 2.7s forwards;
}
#mv .slick-active .mv-heading>span:last-child>span {
animation: mvTXT 2.6s cubic-bezier(.15, .42, .42, .8) 3.7s forwards;
}
#mv .slick-active .mv-heading>span:first-child>span {
animation: mvTXT 2.6s cubic-bezier(.15, .42, .42, .8) 1.5s forwards;
}
#mv .slick-active .mv-heading>span:last-child>span {
animation: mvTXT 2.6s cubic-bezier(.15, .42, .42, .8) 2.5s forwards;
}
@keyframes mvTXT {
from {
transform: translate(-10px, 0);
opacity: 0;
}
to {
transform: translate(0, 0);
opacity: 1;
}
}
#mv .slide-wrap {
width: 100%;
height: 100%;
position: relative;
margin-bottom: 0;
transition: 1s;
}
#mv .slide-wrap div {
height: 100%;
}
#mv .slide-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
}
#mv .slick-dots {
align-items: center;
display: inline-flex;
font-size: 12px;
height: 12px;
left: 80px;
bottom: 57px;
line-height: 1;
padding: 0;
justify-content: flex-start;
width: auto;
}
#mv .slick-dots li {
height: 1em;
line-height: 1;
margin: 0 8px 0 0;
width: 1em;
}
#mv .slick-dots li button {
background-color: transparent;
border: 1px solid var(--white);
border-radius: 50%;
font-size: 12px;
height: 1em;
padding: 0;
transition: .3s;
width: 1em;
opacity: 0.5;
}
#mv .slick-dots li button:before {
display: none;
}
#mv .slick-dots li button:hover,
#mv .slick-dots li.slick-active button {
background-color: var(--white);
border: 1px solid var(--white);
opacity: 1;
}
#mv .slide-item {
position: relative;
}
#mv .slide-item .count {
position: absolute;
z-index: 1;
bottom: 40px;
right: 52px;
height: 19px;
width: 116px;
display: flex;
font-family: var(--en);
font-size: 16px;
color: var(--white);
gap: 9px;
align-items: center;
}
#mv .slide-item .count .first,
#mv .slide-item .count .last {
flex-basis: 18px;
white-space: nowrap;
}
#mv .slide-item .count .border {
height: 1px;
flex: 1;
background: var(--border);
position: relative;
}
#mv .slide-item .count .border::after {
content: '';
display: block;
position: absolute;
top: 0;
left: 0;
height: 1px;
width: 0%;
background: var(--white);
}
#mv .slick-active .slide-item .count .border::after {
width: 100%;
transition: 5.4s linear 0.4s;
}
#mv .slide-item .bg {
width: 100%;
height: 100%;
display: block;
position: relative;
overflow: hidden;
}
#mv .slide-item .bg img {
width: 100%;
height: 100%;
object-fit: cover;
transform: scale(1.2);
}
#mv .slick-active .slide-item .bg img {
transform: scale(1.1);
transition: 10s linear;
}
#mv .slick-continue .slide-item .bg img {
transform: scale(1);
transition: 10s linear;
}
#mv .slide-item img.pcib {
display: inline-block;
}
#mv .slide-item img.spib {
display: none;
}
@media screen and (max-width: 800px) {
#mv .section-wrap {
height: 100svh;
padding: 10px;
}
#mv .mv-heading {
font-size: 26px;
left: 0;
bottom: 50px;
gap: 11px;
}
#mv .mv-heading>span {
padding: 9px 10px 8px 8px;
}
#mv .slide-item .count {
bottom: 15px;
right: auto;
left: 15px;
}
#mv .slide-item img.pcib {
display: none;
}
#mv .slide-item img.spib {
display: inline-block;
}
} #main {
position: relative;
z-index: 1;
width: 100%;
overflow: hidden;
}
#main .main-wrap {
background: var(--white);
}
#main .sec-wrap {
padding: var(--pt) 0 var(--pb);
}
.readmore {
line-height: 1;
}
.readmore a {
font-family: var(--en);
font-weight: 300;
letter-spacing: 0.1em;
font-size: 16px;
line-height: calc(19 / 16);
padding-bottom: 3px;
position: relative;
overflow: hidden;
display: inline-block;
width: 100px;
white-space: nowrap;
height: 22px;
}
.readmore a::after {
content: '';
display: block;
width: 100%;
height: 1px;
position: absolute;
bottom: 0;
left: 0;
background: var(--black);
}
.readmore a span {
display: block;
position: absolute;
top: 0;
left: 0;
}
.readmore a .first {
transform: translate(0, 0);
transition: opacity 650ms, transform 650ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.readmore a:hover .first {
opacity: 0;
transform: translate(150%, 0);
}
.readmore a .last {
opacity: 0;
transform: translate(-150%, 0);
transition: opacity 650ms, transform 650ms cubic-bezier(0.165, 0.84, 0.44, 1);
}
.readmore a:hover .last {
opacity: 1;
transform: translate(0, 0);
}
.btn {
margin-top: var(--px);
text-align: center;
}
.btn a {
position: relative;
z-index: 1;
text-align: center;
display: inline-flex;
justify-content: center;
align-items: center;
color: var(--white);
background: var(--orange);
font-size: 15px;
font-weight: 700;
padding: 0 60px;
height: 50px;
border-radius: 100px;
border: 2px solid var(--white);
transition: 0.3s;
gap: 20px;
}
.btn a::after {
content: '';
display: inline-block;
width: 8px;
height: 8px;
box-sizing: border-box;
border-top: 2px solid currentcolor;
border-right: 2px solid currentcolor;
transform: rotate(45deg);
}
.btn.big a {
font-size: 20px;
padding: 0 80px;
height: 70px;
}
.btn.big a::after {
width: 10px;
height: 10px;
}
.btn a:hover {
opacity: 0.6;
}
#main .sec-ttl {
max-width: var(--cw);
width: 100%;
margin: 0 auto;
}
#main .ttl {
font-size: 16px;
line-height: 1;
font-weight: 400;
margin-bottom: 70px;
}
#main .ttl strong {
font-family: var(--en);
font-weight: 300;
font-size: 30px;
letter-spacing: 0.1em;
line-height: 1.2;
display: block;
margin: 0 0 12px 0;
}
#main .desc {
font-size: 14px;
line-height: calc(32 / 14);
}
#main .ttl * .desc {
margin-top: -9px;
}
#main .sec-cnt {
max-width: var(--cw);
width: 100%;
margin: 0 auto;
}
@media screen and (max-width: 800px) {
#main .ttl {
margin-bottom: 30px;
font-size: 14px;
}
#main .ttl strong {
font-size: 26px;
}
#main .desc {
font-size: 13px;
line-height: calc(28 / 13);
}
} #about .inner {
display: grid;
gap: 20px;
display: grid;
grid-template-columns: repeat(2, 1fr);
align-items: center;
}
#about .inner .txt {
padding-left: max(30px, 50vw - var(--cw) / 2);
}
#about .inner .txt h2 {
font-family: var(--ja);
font-weight: 300;
font-size: 24px;
line-height: 1.5;
margin-bottom: 63px;
}
#about .inner .txt p {
font-size: 14px;
line-height: calc(32 / 14);
margin-top: calc(32em / 14);
}
#about .inner .txt .readmore {
margin-top: 58px;
}
#about .inner .img {
padding-right: var(--px);
}
@media screen and (max-width: 800px) {
#about .inner {
grid-template-columns: 1fr;
gap: 25px;
}
#about .inner .txt {
order: 1;
padding: 0 var(--px);
}
#about .inner .img {
padding: 0 10px;
}
#about .inner .txt h2 {
font-size: 20px;
line-height: 1.8;
margin-bottom: 16px;
}
#about .inner .txt p {
font-size: 13px;
line-height: calc(28 / 13);
margin-top: calc(28em / 13);
}
#about .inner .txt .readmore {
text-align: right;
margin-top: 30px;
}
} #service .inner {
width: 100%;
max-width: var(--cw);
margin: auto;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
#service .desc {
max-width: 360px;
}
#service .service-list {
border-top: 1px solid var(--grey);
counter-reset: number 0;
}
#service .service-list li {
font-size: 14px;
line-height: calc(24 / 14);
padding: 27px 0;
position: relative;
padding-left: 50px;
border-bottom: 1px solid var(--grey);
}
#service .service-list li::before {
counter-increment: number 1;
content: counter(number, decimal-leading-zero);
position: absolute;
top: 50%;
left: 0;
font-family: var(--en);
font-size: 24px;
font-weight: 300;
transform: translate(0, -50%);
}
#service .readmore {
text-align: right;
margin-top: 40px;
}
@media screen and (max-width: 800px) {
#service .inner {
grid-template-columns: 1fr;
padding: 0 var(--px);
}
#service .service-list li {
padding: 15px 0 15px 73px;
}
#service .service-list li::before {
left: 24px;
}
} .works-list {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 35px 20px;
}
.works-list .thumb {
aspect-ratio: 455/220;
margin-bottom: 14px;
}
.works-list .thumb .img_inner {
width: 100%;
height: 100%;
}
.works-list .thumb .img_inner img {
width: 100%;
height: 100%;
object-fit: cover;
}
.works-list .cat {
line-height: 1;
font-size: 13px;
display: flex;
gap: 5px;
flex-wrap: wrap;
white-space: nowrap;
margin-bottom: 8px;
}
.works-list .cat li:not(:has(a)),
.works-list .cat li a {
display: block;
border: 1px solid currentcolor;
padding: 7px;
transition: 0.5s;
}
.works-list .cat li a:hover {
background: var(--black);
color: var(--white);
}
.works-list .title {
font-size: 14px;
line-height: calc(24 / 14);
}
#works .readmore {
margin-top: 45px;
text-align: right;
}
@media screen and (max-width: 800px) {
#works .inner {
padding: 0 var(--px);
}
.works-list {
gap: 35px 7px;
}
.works-list .thumb {
aspect-ratio: 41/20;
margin-bottom: 10px;
}
.works-list .cat {
font-feature-settings: 'palt' 1;
margin-bottom: 4px;
}
.works-list .cat li:not(:has(a)),
.works-list .cat li a {
padding: 0;
padding-bottom: 4px;
border: none;
border-bottom: 1px solid currentcolor;
}
.works-list .cat li a:hover {
background: transparent;
color: currentcolor;
border-color: transparent;
}
.works-list .title {
font-size: 13px;
line-height: calc(22 / 13);
}
} .news-list {
width: 100%;
display: grid;
gap: 35px;
margin-top: -15px;
}
.news-list li {
border-bottom: 1px solid var(--grey);
font-size: 14px;
line-height: calc(24 / 14);
border-bottom: 1px solid var(--grey);
}
.news-list li a {
display: block;
transition: 0.5s;
}
.news-list li a:hover {
opacity: 0.5;
}
.news-list li .txt {
display: grid;
grid-template-columns: 190px auto;
transition: 0.3s;
padding: 12px 0;
}
.news-list .date {
display: block;
font-family: var(--en);
font-weight: 300;
text-transform: uppercase;
}
.news-list .title {
font-weight: 400;
}
#news .readmore,
#local .readmore {
margin-top: 50px;
text-align: right;
}
@media screen and (max-width: 800px) {
#news .inner,
#local .inner {
padding: 0 var(--px);
}
.news-list {
gap: 12px;
}
.news-list li {
font-size: 13px;
line-height: calc(24 / 13);
}
.news-list li .txt {
grid-template-columns: 167px auto;
}
} .archive .page-cont {
padding: var(--pt) 0 var(--pb);
max-width: var(--cww);
margin: auto;
}
@media screen and (max-width: 800px) {} .works-nav input {
display: none;
}
.works-nav .nav-wrap {
display: flex;
flex-wrap: wrap;
gap: 20px 30px;
white-space: nowrap;
margin-bottom: 80px;
}
.works-nav label {
display: flex;
align-items: center;
padding-left: 30px;
position: relative;
font-size: 14px;
line-height: calc(19 / 14);
padding-top: 2px;
color: var(--grey);
transition: 0.5s;
cursor: pointer;
}
.works-nav input:checked+label {
color: var(--black);
}
.works-nav label::before {
content: '';
display: block;
width: 21px;
height: 21px;
position: absolute;
left: 0;
top: 0;
box-sizing: border-box;
border: 1px solid currentcolor;
border-radius: 50%;
}
.works-nav label::after {
content: '';
display: block;
width: 9px;
height: 6px;
position: absolute;
left: 10px;
bottom: 7px;
box-sizing: border-box;
border-left: 1px solid currentcolor;
border-bottom: 1px solid currentcolor;
opacity: 0;
transform: rotate(-50deg);
transform-origin: left bottom;
}
.works-nav input:checked+label::after {
opacity: 1;
}
.archive .total {
font-family: var(--en);
font-weight: 300;
font-size: 24px;
line-height: calc(28 / 24);
margin-bottom: 30px;
letter-spacing: 0.1em;
}
.archive .total::after {
font-family: var(--ja);
font-weight: 300;
content: '件';
}
.archive .works-list {
grid-template-columns: repeat(3, 1fr);
gap: 70px 20px;
}
@media screen and (max-width: 800px) {
.works-nav .nav-wrap {
gap: 16px 20px;
margin-bottom: 50px;
}
.archive .total {
font-size: 20px;
}
.archive .works-list {
grid-template-columns: repeat(2, 1fr);
gap: 35px 7px;
}
} .news-archive {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 80px 20px;
}
.news-archive .thumb {
aspect-ratio: 60/29;
}
.news-archive a .thumb img {
height: 100%;
width: 100%;
object-fit: cover;
transition: transform 900ms cubic-bezier(0.215, 0.61, 0.355, 1)
}
.news-archive a:hover .thumb img {
transform: scale(1.06);
}
.news-archive .title {
font-size: 14px;
line-height: calc(24 / 14);
margin-top: 14px;
}
.news-archive .title .date {
display: block;
font-size: 13px;
line-height: 1;
margin-bottom: 9px;
}
@media screen and (max-width: 800px) {
.news-archive {
grid-template-columns: repeat(2, 1fr);
gap: 35px 7px;
}
.news-archive .thumb {
aspect-ratio: 41/20;
}
.news-archive .title {
font-size: 13px;
line-height: calc(20 / 13);
}
.news-archive .title .date {
margin-bottom: 7px;
}
} .wp-pagenavi {
font-family: var(--en);
font-size: 16px;
line-height: calc(19 / 16);
font-weight: 300;
display: flex;
justify-content: center;
line-height: 1;
letter-spacing: -.1em;
padding: 100px 0 0;
gap: 20px;
}
.wp-pagenavi a,
.wp-pagenavi span {
text-align: center;
display: inline-block;
letter-spacing: normal;
min-width: 20px;
height: 26px;
color: #707070;
transition: .5s;
position: relative;
border-bottom: 1px solid transparent;
}
.wp-pagenavi a:hover {
color: var(--black);
border-color: var(--black);
}
.wp-pagenavi span.extend {
width: auto;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink {
width: auto;
color: var(--black);
}
.wp-pagenavi span.current {
color: var(--black);
border-color: var(--black);
}
@media screen and (max-width: 800px) {
.wp-pagenavi {
padding-top: 80px;
font-size: 15px;
line-height: calc(18 / 15);
gap: 16px;
}
} .single-wrap {
padding: var(--pt) 0 var(--pb);
max-width: var(--cw);
margin: auto;
}
.single-ttl {
max-width: var(--cw);
margin: 0 auto 60px;
}
.single-ttl h1 {
font-size: 24px;
line-height: 1.5;
letter-spacing: 0.05em;
font-family: var(--ja);
font-weight: 300;
}
.single-ttl .date {
margin-top: 27px;
font-size: 14px;
line-height: calc(24 / 14);
}
.single-cont {
font-size: 14px;
line-height: calc(32 / 14);
}
.single-cont>*+* {
margin-top: 50px;
}
.single-prevnext {
margin-top: 100px;
display: grid;
grid-template-columns: repeat(3, 1fr);
justify-content: space-between;
font-family: var(--en);
font-weight: 300;
font-size: 16px;
color: var(--grey);
line-height: calc(19 / 16);
letter-spacing: 0.1em;
line-height: 1;
}
.single-prevnext .all {
text-align: center;
}
.single-prevnext .next {
text-align: right;
}
.single-prevnext span {
display: none;
}
.single-prevnext a {
padding-bottom: 10px;
position: relative;
transition: 0.5s;
}
.single-prevnext a:hover {
color: var(--black);
}
.single-prevnext a::after {
content: '';
position: absolute;
display: block;
width: 100%;
height: 1px;
background: transparent;
bottom: 0;
left: 0;
transition: 0.5s;
}
.single-prevnext a:hover::after {
background: var(--black);
}
.single-prevnext .all {
font-family: var(--ja);
}
@media screen and (max-width: 800px) {
.single-ttl {
margin-bottom: 40px;
}
.single-ttl h1 {
font-size: 20px;
}
.single-ttl .date {
margin-top: 15px;
}
.single-cont {
font-size: 13px;
line-height: calc(28 / 13);
}
.single-cont>*+* {
margin-top: 40px;
}
} .single-ttl .cat {
margin-top: 27px;
font-size: 14px;
line-height: calc(24 / 14);
display: flex;
white-space: nowrap;
flex-wrap: wrap;
gap: 20px 30px;
}
@media screen and (max-width: 800px) {
.single-ttl .cat {
margin-top: 15px;
}
} #single .single-wrap {}
@media screen and (max-width: 800px) {} #page .page-wrap {
padding: 160px var(--px) 0;
}
#page .page-ttl {
margin-bottom: 10px;
}
#page .page-ttl .h1-ttl {
position: relative;
width: 100%;
line-height: 1;
font-size: 16px;
padding: 0 60px;
display: flex;
gap: 20px;
padding-bottom: 30px;
}
#page .page-ttl .en {
font-family: var(--en);
font-weight: 100;
font-size: 60px;
letter-spacing: 0.1em;
transform: translate(0, 10px);
opacity: 0;
animation: fadeInUp 1s ease 0s forwards;
}
#page .page-ttl .ja {
display: flex;
align-items: flex-end;
padding-bottom: 8px;
transform: translate(0, 10px);
opacity: 0;
animation: fadeInUp 1s ease .2s forwards;
}
#page .page-ttl .h1-ttl::after {
content: '';
display: block;
background: var(--black);
height: 1px;
width: 0;
position: absolute;
bottom: 0;
left: 0;
animation: mvBG 1s cubic-bezier(.85, .1, .94, .37) 0s forwards;
}
#page.page-common .page-cont {
padding: var(--pt) 0 var(--pb);
max-width: var(--cw);
margin: auto;
}
#page .the-block,
#page .the-cont .wp-block-group {
padding: var(--pt) 0 var(--pb);
}
#page .wp-block-group__inner-container {
margin: auto;
max-width: var(--cw);
width: 100%;
}
#page .ttl,
#page .the-cont>.wp-block-heading,
#page .wp-block-group__inner-container .wp-block-heading {
font-size: 16px;
line-height: 1;
font-weight: 400;
margin-bottom: 70px;
}
#page .ttl strong,
#page .the-cont>.wp-block-heading strong,
#page .wp-block-group__inner-container .wp-block-heading strong {
font-family: var(--en);
font-weight: 300;
font-size: 30px;
letter-spacing: 0.1em;
line-height: 1.2;
display: block;
margin: 0 0 12px 0;
}
#page .desc {
font-size: 14px;
line-height: calc(32 / 14);
}
#page .ttl * .desc {
margin-top: -9px;
}
@media screen and (max-width: 800px) {
#page .page-wrap {
padding-top: 100px;
}
#page .page-ttl .h1-ttl {
padding: 0;
padding-bottom: 20px;
font-size: 14px;
gap: 14px;
}
#page .page-ttl .en {
font-size: 30px;
}
#page .page-ttl .ja {
padding-bottom: 3px;
}
#page .ttl,
#page .the-cont>.wp-block-heading,
#page .wp-block-group__inner-container .wp-block-heading {
font-size: 14px;
margin-bottom: 40px;
}
#page .ttl strong,
#page .the-cont>.wp-block-heading strong,
#page .wp-block-group__inner-container .wp-block-heading strong {
font-size: 26px;
line-height: calc(30 / 26);
margin: 0 0 12px 0;
}
} .about #message .inner {
display: grid;
gap: 20px;
grid-template-columns: 794fr 406fr;
}
.about #message .txt {
padding-left: max(0px, 50vw - 30px - var(--cw) / 2);
display: flex;
flex-direction: column;
gap: 60px;
}
.about #message .txt h2 {
font-size: 30px;
line-height: 1.2;
letter-spacing: 0.1em;
font-family: var(--en);
font-weight: 300;
}
.about #message .txt p {
font-size: 14px;
line-height: calc(32 / 14);
}
.about #message .img {
padding-right: 50px;
}
.about #description .txt {
padding-left: max(0px, 50vw - 30px - var(--cw) / 2);
}
.about #description .txt h2 {
font-size: 24px;
line-height: 1;
font-family: var(--ja);
font-weight: 300;
letter-spacing: 0.05em;
margin-bottom: 70px;
}
.about #description .txt p {
font-size: 14px;
line-height: calc(32 / 14);
margin-top: calc(32em / 14);
}
.about #origin .inner {
display: grid;
align-items: center;
grid-template-columns: 505fr 695fr;
gap: 20px;
}
.about #origin .txt {
padding-left: max(0px, 50vw - 30px - var(--cw) / 2);
}
.about #origin .txt p {
margin-top: -9px;
font-size: 14px;
line-height: calc(32 / 14);
}
.about .wp-block-table table {
table-layout: fixed;
font-size: 14px;
line-height: 2;
}
.about .wp-block-table td {
border: none;
border-bottom: 1px solid var(--grey);
padding: 0;
padding-top: 42px;
padding-bottom: 12px;
}
.about .wp-block-table tr:first-child td {
padding-top: 0;
}
.about .wp-block-table td:first-child {
width: 190px;
}
.about #philosophy .inner {
background: url(//8hachi.co.jp/wp-content/themes/hachi/images/about-philosophy.jpg) center center/cover no-repeat;
color: var(--white);
padding: 120px var(--px);
}
.about #philosophy .txt {
max-width: var(--cw);
margin: auto;
}
.about #philosophy ul {
margin-top: -20px;
display: grid;
grid-template-columns: 1fr 1fr;
text-align: center;
font-size: 18px;
line-height: 2;
}
.about #philosophy ul li {
position: relative;
height: 148px;
display: flex;
align-items: center;
justify-content: center;
}
.about #philosophy ul li:nth-child(1)::before {
content: '';
display: block;
height: 1px;
width: calc(100% - 5px);
position: absolute;
left: 0;
bottom: 0;
background: var(--white);
}
.about #philosophy ul li:nth-child(1)::after {
content: '';
display: block;
height: calc(100% - 5px);
width: 1px;
position: absolute;
right: 0;
top: 0;
background: var(--white);
}
.about #philosophy ul li:nth-child(4)::before {
content: '';
display: block;
height: 1px;
width: calc(100% - 5px);
position: absolute;
right: 0;
top: -1px;
background: var(--white);
}
.about #philosophy ul li:nth-child(4)::after {
content: '';
display: block;
height: calc(100% - 5px);
width: 1px;
position: absolute;
left: -1px;
bottom: 0;
background: var(--white);
}
.about #btn-about a {
max-width: var(--cw);
margin: auto;
border: 1px solid var(--grey);
position: relative;
padding-left: 90px;
height: 224px;
display: flex;
align-items: center;
transition: 0.5s;
}
.about #btn-about a:hover {
background: var(--black);
color: var(--white);
}
.about #btn-about a .ttl {
margin-bottom: 0;
}
.about #btn-about a p {
text-align: right;
position: absolute;
bottom: 38px;
right: 38px;
font-size: 16px;
line-height: calc(19 / 16);
font-family: var(--en);
font-weight: 300;
letter-spacing: 0.1em;
}
@media screen and (max-width: 800px) {
.about #message .inner {
grid-template-columns: 1fr;
gap: 30px;
}
.about #message .img {
padding-right: 0;
}
.about #message .txt {
order: 1;
padding-left: 0;
gap: 20px;
}
.about #message .txt p {
font-size: 13px;
line-height: calc(32 / 13);
}
.about #description .txt h2 {
font-size: 20px;
margin-bottom: 40px;
}
.about #description .txt p {
font-size: 13px;
line-height: calc(32 / 13);
}
.about #origin .inner {
grid-template-columns: 1fr;
gap: 30px;
}
.about #origin .txt {
order: 1;
padding-left: 0;
}
.about #origin .txt p {
font-size: 13px;
line-height: calc(28 / 13);
margin-top: -7px;
}
.about .wp-block-table td:first-child {
width: 138px;
}
.about .wp-block-table td {
padding: 0;
padding-top: 30px;
padding-bottom: 10px;
}
.about .wp-block-table table {
font-size: 13px;
line-height: calc(22 / 13);
}
.about #philosophy .inner {
background: url(//8hachi.co.jp/wp-content/themes/hachi/images/about-philosophy-sp.jpg) center center/cover no-repeat;
width: calc(100% + 20px);
margin-left: -10px;
padding: 40px 10px;
}
.about #philosophy ul {
grid-template-columns: repeat(1, 1fr);
margin-top: -20px;
font-size: 14px;
line-height: calc(24 / 14);
}
.about #philosophy ul li {
height: 74px;
}
.about #philosophy ul li:not(:first-child) {
border-top: 1px solid var(--white);
}
.about #philosophy ul li::before,
.about #philosophy ul li::after {
opacity: 0;
visibility: hidden;
}
.about #btn-about a {
padding-left: 30px;
padding-top: 30px;
height: 220px;
align-items: flex-start;
}
.about #btn-about a p {
right: 30px;
bottom: 30px;
}
} .service [id^="service-"] .inner {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
position: sticky;
top: var(--pt);
left: 0;
}
.service .service-wrap {
position: relative;
}
.service .nav {
display: block;
max-width: var(--cw);
width: 100%;
margin: auto;
padding-bottom: 10px;
position: relative;
z-index: 10;
}
.service .nav ul {
margin-top: 70px;
display: flex;
gap: 10px;
}
.service .nav ul li {
width: 260px;
}
.service .nav ul li a {
display: flex;
height: 76px;
border: 1px solid var(--black);
display: flex;
align-items: center;
justify-content: space-between;
font-size: 16px;
line-height: calc(26 / 16);
padding: 20px;
transition: 0.5s;
}
.service .nav ul li a:hover {
color: var(--white);
background: var(--black);
}
.service .nav ul li a svg {
height: 7px;
width: 11px;
}
.scrolldown {
position: fixed;
right: auto;
top: auto;
bottom: 0;
left: 50%;
margin-top: 28px;
width: 16px;
height: 56px;
z-index: 10;
opacity: 0;
visibility: hidden;
transition: 0.5s;
}
.show-scroll .scrolldown {
opacity: 1;
visibility: visible;
}
.scrolldown span {
font-family: var(--en);
font-weight: 300;
font-size: 14px;
line-height: 16px;
white-space: nowrap;
position: absolute;
top: -28px;
left: 50%;
transform: translate(-50%, 0);
} .scrolldown::after {
content: "";
position: absolute;
top: 0;
left: 50%;
width: 1px;
height: 35px;
background: var(--black);
animation: pathmove 1.4s ease-in-out infinite;
opacity: 0;
}
@keyframes pathmove {
0% {
height: 0;
top: 0;
opacity: 0;
}
30% {
height: 35px;
opacity: 1;
}
100% {
height: 0;
top: 56px;
opacity: 0;
}
}
.service [id^="service-"] .img {
width: 100%;
}
.service [id^="service-"] .txt {
padding-left: max(0px, 50vw - 30px - var(--cw) / 2);
}
.service [id^="service-"] .txt p {
max-width: 380px;
font-size: 14px;
line-height: calc(32 / 14);
}
.service [id^="service-"] .txt h2 {
font-family: var(--ja);
font-weight: 300;
font-size: 24px;
line-height: 1;
margin-bottom: 70px;
letter-spacing: 0.05em;
}
.service [id^="service-"] .txt h3 {
display: flex;
margin-bottom: 38px;
}
.service [id^="service-"] .txt h3 .number {
font-family: var(--en);
font-weight: 300;
flex-basis: 95px;
font-size: 24px;
line-height: calc(36 / 24);
}
.service [id^="service-"] .txt h3 .subttl {
font-size: 16px;
line-height: 2;
}
.service #service-1 {
position: relative;
height: 320vh;
}
.service #service-2 .inner {
position: fixed;
max-width: calc(100% - 2 * var(--px));
left: var(--px);
}
.service #service-2 {
position: relative;
z-index: 1;
height: 240vh;
margin-top: -240vh;
background: var(--white);
opacity: 0;
transition: 0.5s;
}
.service #service-3 {
position: relative;
z-index: 2;
height: 160vh;
margin-top: -160vh;
background: var(--white);
opacity: 0;
transition: 0.5s;
}
.service #service-3 .inner {
position: fixed;
max-width: calc(100% - 2 * var(--px));
left: var(--px);
}
.show-flow .service #service-3 .inner {
position: sticky;
max-width: 100%;
left: 0;
}
.show-service-2 .service #service-2,
.show-service-3 .service #service-3 {
opacity: 1;
}
.show-service-2.show-service-3 .service #service-2 {
opacity: 0;
}
.service #service-2 img,
.service #service-3 img {
transform: scale(1.085) translate3d(0, 0, 0);
transition: transform 1100ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.show-service-2 .service #service-2 img,
.show-service-3 .service #service-3 img {
transform: scale(1) translate3d(0, 0, 0);
}
.service #flow {
position: relative;
z-index: 4;
background: var(--white);
}
.service #flow .inner {
max-width: var(--cw);
margin: auto;
}
.service #flow ul {
display: flex;
flex-direction: column;
gap: 10px;
counter-reset: number 0;
}
.service #flow ul li {
display: flex;
gap: 100px;
}
.service #flow ul li .left {
flex-basis: 90px;
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
}
.service #flow ul li .left .step {
line-height: 1;
}
.service #flow ul li .left .step::before {
display: inline-block;
white-space: nowrap;
content: 'STEP 0' counter(number);
counter-increment: number 1;
font-size: 20px;
font-family: var(--en);
font-weight: 300;
letter-spacing: 0.1em;
text-indent: 0.1em;
line-height: 1.2;
}
.service #flow ul li .border {
flex: 1;
width: 1px;
background: var(--grey);
}
.service #flow ul li:not(:last-child) .right {
flex: 1;
padding-bottom: 60px;
}
.service #flow ul li .right h3 {
font-size: 20px;
line-height: 1.2;
letter-spacing: 0.1em;
margin-bottom: 13px;
}
.service #flow ul li .right h4 {
font-size: 14px;
line-height: calc(24 / 14);
text-decoration: underline;
text-underline-offset: 4px;
margin-top: 20px;
margin-bottom: 5px;
}
.service #flow ul li .right p {
font-size: 14px;
line-height: calc(24 / 14);
}
@media screen and (max-width: 800px) {
.service [id^="service-"] .inner {
grid-template-columns: 1fr;
gap: 35px;
}
.service .nav {
padding-bottom: 0;
margin-bottom: -10px;
}
.service .nav ul {
margin-top: 70px;
display: flex;
flex-direction: column;
gap: 10px;
}
.service .nav ul li {
width: 100%;
}
.service .nav ul li a {
height: 42px;
font-size: 14px;
padding: 0 20px;
}
.scrolldown {
top: var(--pt);
right: 20px;
bottom: auto;
left: auto;
margin-top: 55px;
width: 15px;
height: 56px;
}
.show-scroll .scrolldown {
opacity: 1;
visibility: visible;
}
.scrolldown span {
writing-mode: vertical-rl;
font-size: 13px;
line-height: 15px;
top: -55px;
left: 0;
transform: none;
} .scrolldown::after {
height: 35px;
}
.service [id^="service-"] .img {
width: calc(100% - 25px);
margin-left: 0;
}
.service [id^="service-"] .txt {
order: 1;
padding-left: 0;
}
.service [id^="service-"] .txt h2 {
font-size: 20px;
margin-bottom: 47px;
}
.service [id^="service-"] .txt h3 {
margin-bottom: 20px;
}
.service [id^="service-"] .txt h3 .number {
font-size: 18px;
flex-basis: 76px;
line-height: calc(21 / 18);
}
.service [id^="service-"] .txt h3 .subttl {
font-size: 15px;
line-height: calc(28 / 15);
margin-top: -2px;
}
.service [id^="service-"] .txt p {
font-size: 13px;
line-height: calc(28 / 13);
}
.service #flow ul li {
gap: 30px;
}
.service #flow ul li .left {
flex-basis: 70px;
}
.service #flow ul li .left .step::before {
font-size: 16px;
}
.service #flow ul li:not(:last-child) .right {
padding-bottom: 40px;
}
.service #flow ul li .right h3 {
font-size: 15px;
line-height: calc(26 / 15);
margin-top: -2px;
margin-bottom: 10px;
}
.service #flow ul li .right h4 {
margin-top: 10px;
}
.service #flow ul li .right h4,
.service #flow ul li .right p {
font-size: 13px;
line-height: calc(22 / 13);
}
.service #service-1 {
height: 400vh;
}
.service #service-2 {
height: 300vh;
margin-top: -300vh;
}
.service #service-3 {
height: 200vh;
margin-top: -200vh;
}
} .reform #reform .inner {
max-width: var(--cw);
margin: auto;
}
.reform #reform .nav h2 {
font-family: var(--ja);
font-weight: 300;
font-size: 24px;
line-height: 1;
letter-spacing: 0.05em;
margin-bottom: 58px;
}
.reform #reform .nav p {
font-size: 14px;
line-height: 1;
}
.reform #reform .nav p.note {
font-size: 12px;
line-height: 1;
margin-top: 10px;
}
.reform #reform .nav ul {
margin-top: 70px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
}
.reform #reform .nav ul li a {
display: flex;
height: 76px;
border: 1px solid var(--black);
display: flex;
align-items: center;
justify-content: space-between;
font-size: 16px;
line-height: calc(26 / 16);
padding: 20px;
transition: 0.5s;
}
.reform #reform .nav ul li a:hover {
color: var(--white);
background: var(--black);
}
.reform #reform .nav ul li a svg {
height: 7px;
width: 11px;
}
.reform #reform .reform-list>li {
padding-top: 80px;
}
.reform #reform .reform-ttl {
margin-bottom: 30px;
}
.reform #reform .reform-ttl h3 {
font-size: 16px;
line-height: 1;
margin-bottom: 1em;
}
.reform #reform .reform-ttl p {
font-size: 14px;
line-height: 1;
}
.reform #reform .reform-cont {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.reform #reform .reform-cont .img {
padding-right: 35px;
}
.reform #reform .reform-cont .txt {
padding-right: 25px;
}
.reform #reform .reform-cont .txt dl {
display: grid;
grid-template-columns: repeat(2, 1fr);
white-space: nowrap;
font-size: 14px;
line-height: calc(24 / 14);
margin-bottom: -15px;
}
.reform #reform .reform-cont .txt dl dt {
padding-right: 15px;
padding-bottom: 15px;
margin-bottom: 15px;
border-bottom: 1px solid var(--grey);
}
.reform #reform .reform-cont .txt dl dd {
padding-left: 15px;
padding-bottom: 15px;
margin-bottom: 15px;
border-bottom: 1px solid var(--grey);
}
@media screen and (max-width: 800px) {
.reform #reform .nav h2 {
font-size: 20px;
display: flex;
height: 56px;
align-items: center;
line-height: calc(36 / 20);
margin-bottom: 40px;
}
.reform #reform .nav p {
font-size: 13px;
line-height: calc(28 / 13);
}
.reform #reform .nav p.note {
margin-top: 16px;
}
.reform #reform .nav ul {
grid-template-columns: 1fr;
margin-top: 40px;
}
.reform #reform .nav ul li a {
height: 42px;
font-size: 14px;
padding: 0 20px;
}
.reform #reform .nav ul li a br {
display: none;
}
.reform #reform .reform-cont {
grid-template-columns: 1fr;
width: calc(100% + 20px);
margin-left: -10px;
gap: 30px;
}
.reform #reform .reform-cont .img {
padding-right: 0;
}
.reform #reform .reform-ttl {
margin-bottom: 36px;
}
.reform #reform .reform-ttl h3 {
font-size: 15px;
}
.reform #reform .reform-ttl p {
font-size: 13px;
}
.reform #reform .reform-cont .txt {
padding: 0 10px;
}
.reform #reform .reform-cont .txt dl {
font-size: 13px;
line-height: calc(24 / 13);
}
.reform #reform .reform-cont .txt dl {
grid-template-columns: 148px auto;
}
.reform #reform .reform-cont .txt dl dt {
padding-right: 0;
}
.reform #reform .reform-cont .txt dl dd {
padding-left: 0;
}
} .recruit #recommend .inner {
max-width: var(--cw);
margin: auto;
}
.recruit .wp-block-table table {
table-layout: fixed;
font-size: 14px;
line-height: 2;
}
.recruit .wp-block-table td {
border: none;
border-bottom: 1px solid var(--grey);
padding: 42px 0 12px;
}
.recruit .wp-block-table tr:first-child td {
padding-top: 0;
}
.recruit .wp-block-table td:first-child {
width: 190px;
}
.recruit .recruit-images {
padding: 0 50px;
}
.recruit .recruit-images .img2 {
text-align: right;
}
.recruit .recruit-images .img2 img {
width: calc(100% * 645 / 1120);
}
.recruit .recruit-images .img1 {
text-align: left;
margin-top: calc(-100% * 276 / 1120);
}
.recruit .recruit-images .img1 img {
width: calc(100% * 550 / 1120);
}
.recruit .recommends {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 17px;
}
.recruit .recommends li {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
aspect-ratio: 1/1;
border: 1px solid #b2b2b2;
gap: 20px;
border-radius: 50%;
}
.recruit .recommends li img {
width: 51px;
}
.recruit .recommends li p {
height: 86px;
display: flex;
align-items: center;
font-size: 14px;
line-height: calc(24 / 14);
}
.recruit .btn-recruit {
margin-top: 100px;
text-align: center;
}
.recruit .btn-recruit a {
display: inline-flex;
justify-content: center;
align-items: center;
font-size: 16px;
font-weight: 500;
font-family: var(--en);
letter-spacing: 0.1em;
text-indent: 0.1em;
max-width: 360px;
width: 100%;
height: 80px;
border: 1px solid var(--black);
transition: 0.5s;
}
.recruit .btn-recruit a:hover {
background: var(--black);
color: var(--white);
}
@media screen and (max-width: 800px) {
.recruit .wp-block-table table {
font-size: 13px;
line-height: calc(22 / 13);
}
.recruit .wp-block-table td {
padding: 30px 0 10px;
}
.recruit .wp-block-table td:first-child {
width: 138px;
}
.recruit .recruit-images .img2 img {
width: calc(100% * 248 / 335);
}
.recruit .recruit-images .img1 img {
width: calc(100% * 211 / 335);
}
.recruit .recruit-images .img1 {
margin-top: calc(-100% * 16 / 335);
}
.recruit .recommends {
gap: 20px 17px;
justify-content: center;
grid-template-columns: repeat(auto-fill, 220px);
}
} .privacy-cont {
max-width: var(--cw);
margin: auto;
padding: var(--pt) 0 var(--pb);
}
.privacy-cont>h2 {
font-size: 20px;
line-height: 1.8;
letter-spacing: 0.05em;
font-family: var(--ja);
font-weight: 300;
}
.privacy-cont>h3 {
font-size: 16px;
line-height: calc(32 / 16);
margin-top: 64px;
margin-bottom: 3px;
}
.privacy-cont>p {
font-size: 14px;
line-height: calc(32 / 14);
}
@media screen and (max-width: 800px) {
.privacy-cont>h2 {
letter-spacing: 0;
font-family: inherit;
font-weight: 400;
font-size: 14px;
line-height: calc(26 / 14);
}
.privacy-cont>h3 {
margin-top: 30px;
font-size: 14px;
line-height: calc(26 / 14);
}
.privacy-cont>p {
font-size: 13px;
line-height: calc(22 / 13);
}
} #page.page-common.page-contact .page-cont {
max-width: 740px;
}
#page.page-common.page-contact .page-cont {
font-size: 14px;
line-height: calc(32 / 14);
}
@media screen and (max-width: 800px) {}
.page-contact .wpcf7 {
margin-top: 60px;
}
.wpcf7 p {
font-size: 14px;
line-height: calc(32 / 14);
}
.wpcf7 dl+dl {
margin-top: 30px;
}
.wpcf7 .required {
margin-left: 0.5em;
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel] {
-webkit-appearance: none;
box-shadow: none;
padding: 7px 30px;
font-size: 16px;
line-height: 2;
letter-spacing: 0.1em;
background-color: #f5f5f5;
width: 100%;
border: none;
border-radius: 0;
}
::-webkit-input-placeholder {
color: #a7a7a7;
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
}
:-ms-input-placeholder {
color: #a7a7a7;
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
}
::placeholder {
color: #a7a7a7 font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
}
.wpcf7 textarea {
-webkit-appearance: none;
box-shadow: none;
padding: 7px 30px;
font-size: 16px;
line-height: 2;
letter-spacing: 0.1em;
height: 138px;
background-color: #f5f5f5;
width: 100%;
border: none;
border-radius: 0;
vertical-align: top;
}
.wpcf7 .wpcf7-list-item {
margin-left: 0;
}
.wpcf7 .wpcf7-checkbox {
display: flex;
flex-wrap: wrap;
white-space: nowrap;
gap: 12px 30px;
}
.wpcf7 input[type=checkbox] {
position: absolute;
opacity: 0;
}
.wpcf7 input[type=checkbox]+span {
min-width: 160px;
display: flex;
align-items: center;
padding-left: 30px;
position: relative;
font-size: 14px;
line-height: calc(19 / 14);
padding-top: 2px;
color: var(--black);
transition: 0.5s;
cursor: pointer;
}
.wpcf7 input[type=checkbox]+span::before {
content: '';
display: block;
width: 21px;
height: 21px;
position: absolute;
left: 0;
top: 0;
box-sizing: border-box;
border: 1px solid var(--grey);
border-radius: 50%;
}
.wpcf7 input[type=checkbox]+span::after {
content: '';
display: block;
width: 9px;
height: 6px;
position: absolute;
left: 10px;
top: 8px;
box-sizing: border-box;
border-left: 1px solid var(--grey);
border-bottom: 1px solid var(--grey);
opacity: 0;
transform: rotate(-50deg);
transform-origin: left bottom;
}
.wpcf7 input[type=checkbox]:checked+span::after {
opacity: 1;
}
.wpcf7 .wpcf7-checkbox {
display: flex;
flex-wrap: wrap;
gap: 12px 30px;
margin-top: 8px;
}
.wpcf7 input[type=radio] {
position: absolute;
opacity: 0;
}
.wpcf7 input[type=radio]+span {
min-width: 160px;
display: flex;
align-items: center;
padding-left: 30px;
position: relative;
font-size: 14px;
line-height: calc(19 / 14);
padding-top: 2px;
color: var(--black);
transition: 0.5s;
cursor: pointer;
}
.wpcf7 input[type=radio]+span::before {
content: '';
display: block;
width: 21px;
height: 21px;
position: absolute;
left: 0;
top: 0;
box-sizing: border-box;
border: 1px solid var(--grey);
border-radius: 50%;
}
.wpcf7 input[type=radio]+span::after {
content: '';
display: block;
width: 9px;
height: 6px;
position: absolute;
left: 10px;
top: 8px;
box-sizing: border-box;
border-left: 1px solid var(--grey);
border-bottom: 1px solid var(--grey);
opacity: 0;
transform: rotate(-50deg);
transform-origin: left bottom;
}
.wpcf7 input[type=radio]:checked+span::after {
opacity: 1;
}
.wpcf7 p:has(.wpcf7-acceptance) {
padding-top: 50px;
position: relative;
text-align: center;
}
.wpcf7 p:has(.wpcf7-submit) {
padding-top: 70px;
position: relative;
text-align: center;
}
.wpcf7 input[type=submit] {
display: inline-flex;
width: 100%;
max-width: 360px;
height: 80px;
text-align: center;
align-items: center;
justify-content: center;
color: var(--black);
box-shadow: none;
background-color: var(--white);
font-size: 16px;
line-height: 1;
border: 1px solid var(--black);
border-radius: 0;
letter-spacing: .1em;
text-indent: .1em;
cursor: pointer;
-webkit-appearance: none;
transition: .5s;
}
.wpcf7 input.wpcf7-submit:hover {
background: var(--black);
color: var(--white);
}
.wpcf7 .wpcf7-spinner {
position: absolute;
bottom: 0;
right: 0;
}
.wpcf7 .wpcf7-form-control-wrap {
line-height: 1;
}
.wpcf7 div.wpcf7-validation-errors {
border: none;
color: #f00;
font-size: 90%;
}
.wpcf7 span.wpcf7-not-valid-tip {
display: none;
}
.wpcf7 input.wpcf7-not-valid,
t .wpcf7 textarea.wpcf7-not-valid {
background: #ffc;
}
.wpcf7 div.wpcf7-mail-sent-ok {
border: none;
color: #06c;
font-size: 90%;
}
.wpcf7 div.wpcf7-response-output {
margin: 0;
padding: 1em 0 0;
text-align: left;
}
@media screen and (max-width: 800px) {
.page-contact .wpcf7 {
margin-top: 46px;
}
#page.page-common.page-contact .page-cont {
line-height: calc(26 / 14);
}
.wpcf7 dl+dl {
margin-top: 20px;
}
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel] {
padding: 5px 20px;
font-size: 15px;
line-height: 2;
letter-spacing: 0.1em;
background-color: #f5f5f5;
width: 100%;
border: none;
border-radius: 0;
}
.wpcf7 textarea {
padding: 5px 20px;
font-size: 15px;
line-height: 2;
height: 212px;
}
.wpcf7 .wpcf7-radio {
flex-direction: column;
gap: 14px;
}
.wpcf7 p:has(.wpcf7-acceptance) {
padding-top: 30px;
}
.wpcf7 p:has(.wpcf7-submit) {
padding-top: 80px;
}
} @-webkit-keyframes fadeInUpC {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 20px, 0);
transform: translate3d(0, 20px, 0)
}
to {
opacity: 1;
-webkit-transform: none;
transform: none
}
}
@keyframes fadeInUpC {
0% {
opacity: 0;
-webkit-transform: translate3d(0, 20px, 0);
transform: translate3d(0, 20px, 0)
}
to {
opacity: 1;
-webkit-transform: none;
transform: none
}
}
@-webkit-keyframes slideInUp20 {
0% {
-webkit-transform: translate3d(0, 20vh, 0);
transform: translate3d(0, 20vh, 0)
}
to {
-webkit-transform: none;
transform: none
}
}
@keyframes slideInUp20 {
0% {
-webkit-transform: translate3d(0, 20vh, 0);
transform: translate3d(0, 20vh, 0)
}
to {
-webkit-transform: none;
transform: none
}
}
@-webkit-keyframes slideInUp15 {
0% {
-webkit-transform: translate3d(0, 15vh, 0);
transform: translate3d(0, 15vh, 0)
}
to {
-webkit-transform: none;
transform: none
}
}
@keyframes slideInUp15 {
0% {
-webkit-transform: translate3d(0, 15vh, 0);
transform: translate3d(0, 15vh, 0)
}
to {
-webkit-transform: none;
transform: none
}
}
.fadeInUpC {
-webkit-animation-name: fadeInUpC;
animation-name: fadeInUpC;
-webkit-animation-duration: 1.5s;
-o-animation-duration: 1.5s;
animation-duration: 1.5s;
-webkit-animation-delay: .5s;
-o-animation-delay: .5s;
animation-delay: .5s;
}
.fadeInUpC {
-webkit-animation-name: fadeInUpC;
animation-name: fadeInUpC;
-webkit-animation-duration: 1.5s;
-o-animation-duration: 1.5s;
animation-duration: 1.5s;
-webkit-animation-delay: .5s;
-o-animation-delay: .5s;
animation-delay: .5s;
}
.slideInUp20 {
-webkit-animation-name: slideInUp20;
animation-name: slideInUp20;
-webkit-animation-duration: .5s;
-o-animation-duration: .5s;
animation-duration: .5s;
}
.slideInUp15 {
-webkit-animation-name: slideInUp15;
animation-name: slideInUp15;
-webkit-animation-duration: .5s;
-o-animation-duration: .5s;
animation-duration: .5s;
}
@media screen and (max-width: 800px) {
.fadeInUpC {
-webkit-animation-name: fadeInUpC;
animation-name: fadeInUpC;
-webkit-animation-duration: 1.5s;
-o-animation-duration: 1.5s;
animation-duration: 1.5s;
-webkit-animation-delay: .3s;
-o-animation-delay: .3s;
animation-delay: .3s;
}
}  h3.wp-block-heading {
color: #000 !important;
font-weight: bold !important;
margin-bottom: 0 !important;
font-size: 15px;
}
.fancy-ico span {
border: 2px solid #000 !important;
transition: none !important;
}
.single-cont>*+* {
margin-top: 20px;
}
.single-cont strong {
font-weight: bold !important;
}
h3.wp-block-heading.related {
margin-top: 60px;
}
.wp-block-image {
margin-top: 25px;
}
.wp-block-image :where(figcaption) {
line-height: 1.6;
margin-top: 2em !important;
}
ul.related {
display: flex;
justify-content: space-between;
margin-top: 20px;
}
ul.related li {
width: 24.5%;
}
ul.related li img {
width: 100%;
height: auto;
margin-bottom: 30px;
}
ul.related li span {
display: inline-block;
line-height: 1.6;
width: 95%;
}
@media screen and (max-width: 600px) {
ul.related {
flex-wrap: wrap;
}
ul.related li {
width: 49.4%;
margin-bottom: 30px;
}
ul.related li img {
width: 100%;
height: auto;
margin-bottom: 15px;
}
}