@charset "UTF-8";
:root { --white: #fff; --gray: #f7f7f7; --text: #000; --background: #fff; --key1: #009245; --green1: #22b573; --green2: #006300; --blue1: #66a6ff; --blue2: #73c2f8; --border: rgba(0,0,0,.1025); }

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

body { margin: 0; }

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

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

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

[hidden], template { display: none; }

a { background: transparent; }

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

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

b, strong { font-weight: 700; }

dfn { font-style: italic; }

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

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

small { font-size: 80%; }

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

sup { top: -.5em; }

sub { bottom: -.25em; }

img { border: 0; }

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

figure { margin: 1em 40px; }

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

pre { overflow: auto; }

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

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

button { overflow: visible; }

button, select { text-transform: none; }

button, html input[type="button"], input[type=reset], input[type=submit] { -webkit-appearance: button; /*cursor:pointer*/ }

button[disabled], html input[disabled] { /*cursor:default*/ }

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

input { line-height: normal; }

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

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

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

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

legend { border: 0; padding: 0; }

textarea { overflow: auto; }

optgroup { font-weight: 700; }

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

td, th { padding: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*!レスポンシブ*/
/*Transition*/
/* Base */
html { height: 100%; font-size: 1.2vw; }
@media screen and (max-width: 768px) { html { font-size: 3.5vw; } }
@media screen and (min-width: 1367px) { html { font-size: 16.4px; } }

body { margin: 0; position: relative; margin-left: auto; margin-right: auto; width: auto; height: auto; font-family: 'Inter', Avenir Next,Verdana, 游ゴシック,Yu Gothic,YuGothic,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,Osaka,sans-serif; font-weight: 400; letter-spacing: 0; -webkit-text-size-adjust: 100%; overflow-x: hidden; overflow-y: auto; background: var(--white); color: var(--text); transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.615s; padding-bottom: 1px; }

* { color: var(--text); -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; font-feature-settings: "palt"; }

::selection { background-color: rgba(0, 0, 0, 0.15); color: var(--text); }

#ceo_main hgroup:has(h2) { display: flex; align-items: center; flex-direction: column-reverse; }
#ceo_main hgroup:has(h2) .main { display: flex; align-items: center; gap: calc(8.5em / 32 * 1); font-size: calc(8.5em / 16 * 3); }
#ceo_main hgroup:has(h2) .main::before { content: ''; display: block; width: calc(8.5em / 32 * 3); height: calc(8.5em / 32 * 3); background: var(--text); border-radius: calc(8.5em / 32 * 3); overflow: hidden; }
#ceo_main hgroup:has(h2) .sub { font-size: calc(8.5em / 16 * 11); font-family: "Montserrat", sans-serif; font-optical-sizing: auto; font-weight: 500; font-style: normal; }

#ceo_footer .primary { padding: calc(8.5em / 8 * 4) 0; background: var(--key1); }
#ceo_footer .primary a { display: flex; align-items: center; background: var(--text); color: var(--white); }
