/* import */
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

/* common */
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {position:relative; margin:0; padding:0; padding-right:0 !important; background-color:#333; color:#fff; -webkit-text-size-adjust:none; font-family:'Zen Maru Gothic', sans-serif; font-weight:700; font-size:16px; line-height:1.75; letter-spacing:0; word-wrap:break-word;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {margin:0; line-height:1.75; font-weight:700; font-family:'Zen Maru Gothic', sans-serif; color:#fff; letter-spacing:0;}
p {margin:0;}
p:not(:last-child) {margin-bottom:30px;}
ul, ol {margin:0; padding:0 0 0 1.5em;}
a {color:#292929; transition:all .2s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover:not(.button) {text-decoration:none; color:#292929;}
figure {margin:0;}
img {vertical-align:middle;}
button {background:none; border:none; color:inherit; transition:all .2s ease-in-out; cursor:pointer;}

.breadcrumbs > span {font-size:12px;}
.breadcrumbs > span:not(:last-child) {position:relative; padding-right:40px;}
.breadcrumbs > span:not(:last-child)::before {position:absolute; content:''; top:50%; right:5px; width:30px; height:1px; background-color:#9ca1ae;}
.breadcrumbs > span:nth-child(2) > a {pointer-events:none;}
.breadcrumbs > span > a {color:#9ba0ad;}
.breadcrumbs > span > a:hover {color:#ee1c23;}
.breadcrumbs > span > span {color:#ee1c23;}

/* util */
.wrapper {}
#content {background-color:rgba(51, 51, 51, .95); background-image:url(../images/bg.png); background-size:29px auto; background-repeat:repeat;}
.container {min-width:1180px; max-width:1000px; width:100%; margin:auto; padding:0 30px;}
.container-sm {min-width:945px; max-width:945px; width:100%; margin:auto; padding:0 30px;}
.container-fluid {min-width:1130px; width:100%; margin:auto; padding:0 20px;}
.img-fluid {max-width:100%; height:auto;}
.img-full {width:100%; height:auto;}
.button {position:relative; display:inline-flex; flex-direction:column; justify-content:center; align-items:center; min-width:300px; padding:15px 30px; border-radius:60px; background-color:#ee1c23; border:none; color:#fff; font-weight:400;}
.button small {font-size:12px;}
.button.line {background-color:#06c755;}
.button.outline {background-color:#fff; border:2px solid #ee1c23; color:#ee1c23;}
.button.fluid {width:100%;}
.button.wi {flex-direction:row; gap:10px;}
.button.wi img {width:40px;}
.bg-light {background-color:#fdf1ec !important;}
.bg-white {background-color:#fff !important;}
.text-red {color:#ee1c23 !important;}
.text-yellow {color:#FFFF00 !important;}

/* header */
.header {position:fixed; width:100%; height:80px; display:flex; align-items:center; z-index:9999; background-color:#fff; transition:all .3s ease-in-out;}
.header.scrolling {box-shadow:0 0 15px rgba(0, 0, 0, .25);}
.header-inner {width:100%; display:flex; justify-content:space-between; align-items:center; padding:0 30px;}
.header-brand {line-height:1; margin:auto auto auto 0; z-index:100;}
.header-brand-link {display:flex; gap:10px; align-items:flex-end;}
.header-brand-link img {width:180px;}
.header-brand-link span {font-size:32px; line-height:1.5;}
.button-hamburger {display:none;}
.header-nav {}
.header-nav-global {display:flex; gap:30px; padding:0; list-style:none;}
.header-nav-global > li > a {position:relative; display:flex; justify-content:center; align-items:center; height:100%; font-size:18px;}
.header-nav-global > li > a:hover {color:#ee1c23;}

/* mod */
.section {position:relative; padding-top:100px; padding-bottom:100px; overflow:hidden;}
.heading {position:relative; margin-bottom:40px; text-align:center; line-height:1;}
.heading > span {display:block;}
.heading-sub {margin-bottom:10px; font-size:42px;}
.heading-main {font-size:110px;}
.content {position:relative;}
.content:not(:last-child) {margin-bottom:4.166666666666666vw;}
.text-left {text-align:left !important;}
.text-center {text-align:center !important;}
.text-right {text-align:right !important;}

/* content */
.hero {position:relative; height:100vh; z-index:-10;}
.hero-image {position:fixed; top:80px; left:0; width:100%; height:calc(100vh - 80px);}
.hero .comingsoon {position:fixed; bottom:0; left:0; display:flex; justify-content:center; align-items:center; width:100%; height:80px; background-color:#000; font-size:48px;}
.hero .comingsoon small {font-size:34px;}

.about p {font-size:28px;}
.about p small {font-size:18px; font-weight:400;}

.feature {background-image:url(../images/bg-feature.jpg); background-position:center center; background-size:cover; background-repeat:no-repeat;}
.feature .heading-sub {font-size:48px; color:#333;}
.feature .heading-main {font-size:80px; color:#333;}
.feature-list {display:grid; grid-template-columns:repeat(3, 1fr); gap:60px;}
.feature-list__item figure {display:flex; justify-content:center; align-items:center; height:350px; margin-bottom:25px;}
.feature-list__item h3 {margin-bottom:35px; text-align:center; font-size:46px; color:#333; line-height:1.15;}
.feature-list__item:nth-child(1) h3,
.feature-list__item:nth-child(2) h3 {margin-bottom:60px;}
.feature-list__item h3 small {margin-top:10px; display:block; text-align:center; font-size:12px; font-weight:400; color:#333; line-height:1.25;}
.feature-list__item p {color:#333;}

.menu {padding-top:0; background:linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%);}
.menu-heading {display:flex; justify-content:center; align-items:center; height:120px; margin-bottom:150px; text-align:center; background:radial-gradient(circle, #9f7a46 0%, #7a5d35 100%); font-size:60px;}
.menu-list {display:flex; flex-direction:column; gap:100px;}
.menu-list__item figure {position:relative; margin-bottom:35px;}
.menu-list__item figure .icon {position:absolute; top:-30px; left:-40px; width:411px;}
.menu-list__item figure h3 {position:absolute; bottom:0; left:0; display:flex; justify-content:flex-end; align-items:center; width:100%; height:160px; padding:0 30px; font-size:90px; background:linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .5) 100%); text-shadow:0 0 10px rgba(0, 0, 0, .5); line-height:1;}
.menu-list__item h4 {margin-bottom:25px; text-align:center; font-size:32px; line-height:1.25;}
.menu-list__item h4 small {font-size:24px;}
.menu-list__item p {font-size:18px;}

.map {padding-bottom:0; text-align:center; background-image:url(../images/bg-map.jpg); background-position:center center; background-size:cover; background-repeat:no-repeat;}
.map h2 {display:flex; gap:10px; justify-content:center; align-items:flex-end;}
.map h2 img {width:300px;}
.map h2 span {color:#333; font-size:48px; line-height:1.5;}
.map a {color:#ee1c23; font-size:46px;}
.map a:hover {color:#ee1c23;}
.map address {margin-bottom:75px; font-style:normal; color:#333; font-size:24px;}
.map .iframe {position:relative; padding-top:50%;}
.map .iframe iframe {position:absolute; top:0; left:0; width:100%; height:100%;}

.footer {padding:10px 0; background-color:#ee1c23;}
.footer-copyright {text-align:center; font-size:12px;}
.footer-copyright a {color:#fff; text-decoration:underline;}
.footer-copyright a:hover {color:#fff;}

.-pc {display:block;}
.-sp {display:none;}

/* page */
.page-header {padding-top:180px;}
.page-header-title {margin-bottom:60px; text-align:center; color:#ee1c23; font-size:36px;}
.page-content {padding-bottom:180px;}

.editor h3 {margin-bottom:10px; color:#ee1c23; font-size:28px;}
.editor h4 {margin-bottom:10px; color:#333; font-size:24px;}
.editor p {font-weight:400;}
.editor p:not(:last-child) {margin-bottom:50px;}
.editor ul:not(:last-child) {margin-bottom:50px;}
.editor ul li {font-weight:400;}
.editor p + ul {margin-top:-50px;}
.editor .wp-block-column h3 + p {margin-bottom:50px !important;}
.editor .wp-block-column p {margin-bottom:20px !important;}
.editor .wp-block-columns {padding:30px; background-color:#fff; color:#333;}
.editor .wp-block-buttons > .wp-block-button {width:100%;}
.editor .wp-block-buttons > .wp-block-button a {display:block; width:100%; padding:15px; text-align:center; background:#ee1c23; border:none; border-radius:6px; font-size:20px; font-weight:700; color:#fff;}
.wp-block-separator {width:100% !important; margin:50px 0; border-bottom:1px solid #333 !important;}

.wpcf7 {max-width:460px; margin:0 auto; padding:0 30px;}
.wpcf7 .form-group:not(:last-child) {margin-bottom:30px;}
.wpcf7 label {display:block; margin-bottom:5px; font-size:16px;}
.wpcf7 label .req {display:inline-block; margin-left:10px; padding:5px; background-color:#ee1c23; font-size:12px; font-weight:400; color:#fff; line-height:1;}
.wpcf7 label .noreq {display:inline-block; margin-left:10px; padding:5px; background-color:#777; font-size:12px; font-weight:400; color:#fff; line-height:1;}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {width:100%; padding:15px; background:#fff; border:none; border-radius:6px; font-size:16px;}
.wpcf7-list-item {margin:0 !important; display:block !important;}
.wpcf7-submit {display:block; width:100%; padding:15px; text-align:center; background:#ee1c23; border:none; border-radius:6px; font-size:20px; font-weight:700; color:#fff;}

@media (max-width:1250px) {
    body.open .header {border-radius:0;}
    .header-inner {padding-right:0;}
    .button-hamburger {order:10; position:relative; display:block; width:80px; height:80px; margin:0; padding:0; background:#ee1c23; border:2px solid #ee1c23; border-radius:0; cursor:pointer; z-index:100;}
    .button-hamburger-bar {position:absolute; content:''; left:50%; width:20px; height:2px; background-color:#fff; border-radius:2px; transition:all .2s ease-in-out; transform:translateX(-50%);}
    .button-hamburger .button-hamburger-bar:nth-child(1) {top:calc(50% - 7px);}
    .button-hamburger .button-hamburger-bar:nth-child(2) {top:calc(50% - 1px);}
    .button-hamburger .button-hamburger-bar:nth-child(3) {top:calc(50% + 5px);}
    .button-hamburger.open .button-hamburger-bar:nth-child(1) {transform:rotate(45deg); top:calc(50% - 1px); width:15px; left:calc(50% - 7.5px); height:2px;}
    .button-hamburger.open .button-hamburger-bar:nth-child(2) {opacity:0;}
    .button-hamburger.open .button-hamburger-bar:nth-child(3) {transform:rotate(-45deg); top:calc(50% - 1px); width:15px; left:calc(50% - 7.5px); height:2px;}
    .header-nav {display:none; position:absolute; top:80px; left:0; width:100%; padding:30px; background-color:#ee1c23;}
    .header-nav-global {flex-direction:column; gap:10px; height:auto; padding:0;}
    .header-nav-global > li > a {justify-content:flex-start; padding:0; font-size:18px; color:#fff;}
    .header-nav-global > li > a:hover {color:#fff;}
}

@media (max-width:767px) {
    /* common */
    body {min-width:inherit; font-size:16px;}
    #content {padding-top:70px;}
    .breadcrumbs > span:not(:last-child) {padding-right:30px;}
    .breadcrumbs > span:not(:last-child)::before {right:5px; width:20px;}

    /* util */
    .container,
    .container-fluid,
    .container-sm {min-width:inherit; max-width:inherit; padding-left:30px; padding-right:30px;}
    .button {width:100%; height:auto; padding:8px 20px; border-radius:30px; font-size:14px;}
    .button.wi {padding-right:35px;}
    .button.wi::before {right:10px; width:15px; height:15px;}
    .button.sm,
    .button.lg {width:100%; height:auto; border-radius:30px; font-size:14px;}

    /* header */
    .header {min-width:inherit; height:70px;}
    .header-inner {align-items:center; height:70px; padding:0 0 0 20px;}
    .header-brand {margin:0 auto 0 0;}
    .header-brand-link img {width:130px;}
    .header-brand-link span {font-size:24px; line-height:1.25;}
    .header-nav {top:70px;}
    .button-hamburger {width:70px; height:70px;}

    /* mod */
    .section {padding-top:50px; padding-bottom:50px;}
    .page-section {padding-top:80px; padding-bottom:30px;}
    .heading {margin-bottom:30px;}
    .heading-sub {font-size:24px;}
    .heading-main {font-size:62px;}

    .hero-image {top:70px; height:calc(100vh - 70px); background-image:url(../images/hero-sp-comingsoon.jpg); background-position:top center; background-size:cover; background-repeat:no-repeat;}
    .hero-image img {display:none;}
    .hero .comingsoon {height:100px; flex-direction:column; font-size:36px; line-height:1;}
    .hero .comingsoon small {font-size:24px;}
    .about p {font-size:20px;}
    .about p small {font-size:14px;}
    .feature {background-color:#efefef; background-image:url(../images/bg-feature-sp.jpg); background-position:top center; background-size:contain;}
    .feature .heading-sub {font-size:28px;}
    .feature .heading-main {font-size:46px;}
    .feature-list {grid-template-columns:repeat(1, 1fr);}
    .feature-list__item:nth-child(1) h3,
    .feature-list__item:nth-child(2) h3 {margin-bottom:35px;}
    .feature-list__item figure {height:auto;}
    .menu {padding-top:0;}
    .menu-heading {height:100px; margin-bottom:100px; font-size:36px;}
    .menu-list__item figure .icon {top:-40px; left:-25px; width:201px;}
    .menu-list__item figure h3 {height:62px; padding:0 10px; font-size:36px;}
    .menu-list__item h4 {font-size:20px;}
    .menu-list__item h4 small {font-size:16px;}
    .menu-list__item p {font-size:14px;}
    .map {padding-bottom:0; background-image:url(../images/bg-map-sp.jpg);}
    .map h2 img {width:180px;}
    .map h2 span {font-size:30px;}
    .map a {font-size:30px;}
    .map address {font-size:18px;}
    .map .iframe {padding-top:100%;}

    .-pc {display:none;}
    .-sp {display:block;}

    /* page */
    .page-header {padding-top:100px;}
    .page-header-title {margin-bottom:100px; font-size:30px;}
    .page-content {padding-bottom:100px;}
    .editor h3 {font-size:24px;}
    .editor h4 {font-size:18px;}
    .editor .wp-block-columns {margin-left:-30px; margin-right:-30px; padding:20px;}
    .wp-block-separator {margin:30px 0;}
    .wpcf7 {padding:0;}
}
