@charset "UTF-8";

@import url("https://fonts.googleapis.com/css?family=Nunito+Sans:opsz,wght@6..12,200..1000&family=Prompt:wght@300;400;500;600;700;800&display=swap");


/* ================================
/* =============================================
OKAWA GROUP
Style Sheet
First Update 2025-10-06
Last  Update 2025-10-06
Created by Basic Plus Design Inc.
============================================= */

/* ---------------------------------------------
	Reboot
	normalize | MIT License
--------------------------------------------- */

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-text-size-adjust: 100%;
	font-family: sans-serif;
	line-height: 1.15;
}

figure,
header,
main,
nav {
	display: block;
}

body {
	background-color: #fff;
	color: #1e1e1e;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
	height: 100%;
	letter-spacing: 0.015em;
	line-height: 2;
	margin: 0;
	text-align: left;
}

[tabindex="-1"]:focus:not(:focus-visible) {
	outline: 0 !important;
}

h1,
h2 {
	margin-bottom: 0;
	margin-top: 0;
}

p {
	margin-bottom: 0;
	margin-top: 0;
}

ul {
	margin-bottom: 0;
	margin-top: 0;
}

a {
	background-color: transparent;
	color: #1e1e1e;
	text-decoration: none;
}

figure {
	margin: 0 0 1rem;
}

img {
	border-style: none;
	vertical-align: middle;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
	cursor: pointer;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

::-moz-selection {
	background-color: rgba(187, 187, 187, 0.4);
}

::selection {
	background-color: rgba(187, 187, 187, 0.4);
}

/* ---------------------------------------------
	Base
--------------------------------------------- */

* {
	margin: 0;
	padding: 0;
}

html,
body {
	height: 100%;
	width: 100%;
}

html {
	font-size: 62.5%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
}

body {
	-moz-osx-font-smoothing: antialiased;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	color: #1e1e1e;
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings: "palt";
	font-smooth: antialiased;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0.015em;
	line-height: 2;
	text-size-adjust: 100%;
}

ul {
	padding-left: 0;
}

ul {
	list-style: none;
}

header {
	position: relative;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	will-change: transform;
}

main {
	position: relative;
	/* -webkit-transform: translateZ(0);
	transform: translateZ(0); */
	-webkit-transition: -webkit-transform 0.3s;
	transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
	transition: transform 0.3s, -webkit-transform 0.3s;
	/* will-change: transform; */
}

a {
	cursor: pointer;
	display: block;
	font-weight: 400;
	outline: none;
	-webkit-transition: 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53);
	transition: 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

a:hover {
	opacity: 0.7;
}

p a {
	color: #040000;
	display: inline-block;
}

p a:hover,
p a:focus {
	text-decoration: underline;
}

* > img {
	height: auto;
	max-width: 100%;
	outline: none;
	vertical-align: middle;
	width: 100%;
}

img[src$=".svg"] { /* IE対応 */
	height: auto;
	max-width: 100%;
	width: 100%;
}

a img {
	outline: none;
}

/* =============================================
#  Layout
============================================= */

.l-wrapper {
	overflow: hidden;
	position: relative;
}

main {
	/* margin-top: calc(70px + 86 * (100vw - 320px) / 960); */
	min-height: 600px;
}

.l-container {
	background-color: transparent;
	margin: auto;
	max-width: 1280px;
	position: relative;
	width: calc(100% - 12vw);
}

.current a {
	color: #004ea2!important;
	opacity: 1!important;
}
.current a:hover {
	color: #1e1e1e!important;
	opacity: 0.7!important;
}

body.fixed {
	position: fixed;
	width: 100%;
  /*overflow: hidden;*/ /* 背景スクロール禁止 */
}

/* =============================================
#  共通 Key Visual
============================================= */
.c-keyvisual-default{
  background-image: url("/assets/common/images/keyvisual-bg-default.webp");
  background-repeat: none;
  background-size: cover;
  background-position: center center;
  height: 240px;
  display: flex;
}
.c-keyvisual-default__txt .en{
  font-size: 55px;
  line-height: 1.2;
  margin-bottom: 5px;
  letter-spacing: 0.05em;
}
.c-keyvisual-default__txt .ja{
  font-size: 20px;
}
@media screen and (max-width: 1198.98px) {
  .c-keyvisual-default{
    height: 20vw;
  }
  .c-keyvisual-default__txt .en{
    font-size: 4.583vw;
    margin-bottom: 0.417vw;
  }
  .c-keyvisual-default__txt .ja{
    font-size: 1.667vw;
  }
}
@media screen and (max-width: 599.98px) {
  .c-keyvisual-default{
    height: 45vw;
  }
  .c-keyvisual-default__txt .en{
    font-size: 6.75vw;
    margin-bottom: 1.25vw;
  }
  .c-keyvisual-default__txt .ja{
    font-size: 3vw;
  }
}


/* =============================================
#  Scroll Down Button（TOP, About）
============================================= */
.scroll-down-container{
  max-width: 1600px;
  margin: auto;
  position: relative;
}
.scroll-down{
  position: absolute;
  transition: transform 0.5s ease-in-out, opacity 1s ease-in-out;
}
/* .scroll-down:hover{
  transform: translateY(20%);
  opacity: 0.7;
} */

@media screen and (min-width: 1600.02px) {
  .scroll-down{
    bottom: 11px;
    right: 56px;
    width: 38.9355px;
  }
}
@media screen and (max-width: 1600px) {
  .scroll-down{
    bottom: 0.688vw;
    right: 3.5vw;
    width: 2.433vw;
  }
}
@media screen and (max-width: 599.98px) {
  .scroll-down{
    display: none;
  }
}

/* ---------------------------------------------
	Scroll Down Button（固定画面追従）
--------------------------------------------- */
.scroll-down-container.scroll-down-fixed{
  position: fixed;
  z-index: 50;
  width: 100%;
  max-width: 100%;
  pointer-events: none;
}
.scroll-down-container.scroll-down-fixed .scroll-down-inner{
  max-width: 1480px;
  margin: auto;
  display: flex;
  justify-content: end;
  width: calc(100% - 6vw);
}
.scroll-down-container.scroll-down-fixed{
  bottom: 50px;
  right: 0;
}
.scroll-down-container.scroll-down-fixed .scroll-down{
  position: static;
  /* pointer-events: all; */
}
