@charset "utf-8";
/* CSS Document */

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

body {
    min-width: 320px;
    /* max-width: 2560px; */
    margin: 0 auto;
    font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', sans-serif;
    font-style: normal;
    font-size: 16px;
    line-height: 1.6;
    color: var(--accent-color-02);
    background-color: #eeeeee;
    /* box-shadow: var(--shadow-md); */
}

/* ===== Design tokens（集中管理间距与颜色） ===== */
:root{
    /* 主色 */
    --primary-color-01: #213252;
    --primary-color-02: #279ee9;
    --primary-color-03: #dff3ff;
    /* 次色 */
    --secondary-color-01: #be1009;
    --secondary-color-02: #ffff9f;
    --secondary-color-03: #fffbe9;
    /* 强调色 */
    --accent-color-01: #1b1b1b;
    --accent-color-02: #333;
    --accent-color-03: #e6e6e6;
    --accent-color-04: #eee;

    --c-mail:#3483f8; --c-mail-hover:#2363c2;
    --c-tel:#f89034;  --c-tel-hover:#c7752d;
    --c-line:#00c300; --c-line-hover:#009000;

    --shadow-md:0 8px 32px rgba(0,0,0,.15);

    /* 容器最大宽度：对齐 8px 网格 */
    --container-sm: 384px;   /* 24rem, 常见手机内容宽 */
    /* --container-md: 768px; */   /* 48rem, 平板/窄桌面 */
    --container-md: 752px;
    --container-lg: 1120px;  /* 70rem, 常见内容宽 */
}
.secondary-color-01{
    color: var(--secondary-color-01);
}
.secondary-color-02{
    color: var(--secondary-color-02);
}
.accent-color-01{color: var(--accent-color-01);}
.accent-color-02{color: var(--accent-color-02);}
.marker-yellow {background: linear-gradient(transparent 80%, #f9ea9b 0%);}
.marker-gray {background: linear-gradient(transparent 60%, #e8e8e8 0%);}


.section{width: 100%;padding: 64px 0;}

.container {width: 100%;margin: 0 auto;padding: 0 16px;}
.container--small { max-width: var(--container-sm); }
.container--middle{ max-width: var(--container-md); }
.container--large { max-width: var(--container-lg); }

.grid{display: grid;gap: 16px;}
.grid--2 {grid-template-columns: repeat(2, 1fr);}
.grid--3 {grid-template-columns: repeat(3, 1fr);}

.content{
    inline-size: 100%;
    aspect-ratio: 16 / 9;
    background-color: rgba(255, 255, 0, 1);
}
/* @media only screen and (max-width: 1024px) {
    .container--large {
        max-width: 752px;
    }
} */
@media only screen and (max-width: 768px) {
    /* .container--large,.container--middle{max-width: 384px;} */
    /* .section{max-width: 384px;margin: 0 auto;} */
    .grid{gap: 40px;}
    .grid--2,.grid--3 {grid-template-columns: 1fr;}
}
@media only screen and (max-width: 576px) {
    /* .section{max-width: 100%;} */
    .container{/* max-width: 100%; */padding: 0 12px;}
}

button {
    background: none;   /* 去除背景 */
    border: none;       /* 去除边框 */
    padding: 0;         /* 去除内边距 */
    font: inherit;      /* 继承字体样式 */
    color: inherit;     /* 继承字体颜色 */
    cursor: pointer;    /* 添加鼠标指针样式 */
    outline: inherit;   /* 继承轮廓样式 */
}

a{
    background-color: transparent; /* 背景颜色透明 */
    border: none;
    outline: none;
    box-shadow: none;
    text-decoration: none; /* 去除下划线 */
    color: inherit; /* 继承父元素的字体颜色 */
}
a:hover,
a:focus {
    color: inherit; /* 鼠标悬停或聚焦时也继承父元素的字体颜色 */
    text-decoration: none; /* 鼠标悬停或聚焦时去除下划线 */
}

/* .font-size--large{font-size: 140%;}
.font-size-middle{font-size: 120%;}
.font-size--small{font-size: 70%;}
.note{font-size: 14px;} */
.large-font-size{font-size: 140%;}
.middle-font-size{font-size: 120%;}
.small-font-size{font-size: 70%;}
.note{font-size: 14px;}

p,a,button {font-family: 'Noto Sans JP';font-weight: 500;}

picture {
    width: 100%;
    display: block;
}

img {
    width:100%;
    max-width:100%;
    height:auto;
    display:block;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    white-space: nowrap;
    border: 0;
}

.step-arrow{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}
.step-arrow-sp-only {
    display: none;
}
.step-arrow-pc-only {
    display: block;
}
@media only screen and (max-width: 768px) {
    .step-arrow-sp-only {
        display: block;
    }
    .step-arrow-pc-only {
        display: none;
    }
}



/* 光束效果 START */
/* .light-beam-container{
    display: block;
    width: 100%;
} */
/* 伪元素，用于创建光束效果 */
.light-beam{
    display: inline-block;
    cursor: pointer; /* 鼠标悬停样式为手型 */
	position: relative;
	overflow: hidden; /* 溢出内容隐藏，用于裁剪伪元素 */
}
.light-beam::before{
	content: ""; /* 伪元素内容为空 */
	position: absolute; /* 绝对定位，相对于包含块定位 */
	top: 50%; /* 伪元素垂直居中 */
	left: -100%; /* 初始位置在按钮左侧，使光束起始点在左侧 */
	/* z-index: 2; */
	display: block;
	transform: translate(-50%, -50%) rotate(45deg); /* 位移和旋转，创建斜角效果 */
	width: 50%; /* 光束宽度 */
	height: 600%; /* 光束高度 */
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 100%); /* 线性渐变，创建光束效果  */
	opacity: 0; /* 初始不可见 */
	animation: lightBeam 2s ease-out infinite; /* 光束动画，1.5秒，渐出，无限循环 */
}
/* 光束动画关键帧 */
@keyframes lightBeam{
    0% {opacity: 0;left: -50%;}
    50% {opacity: 1;left: 100%;}
    100% {opacity: 0;left: 100%;}
}
/* 光束效果 END */

