@charset "UTF-8";
/* CSS変数 */
/*=========================================================*/

/* root */

/*=========================================================*/
:root{
	/* ================== */
	/* カラー */
	--c-main: #1b1b1b;
	--c-main-soft: #797979;
	--c-main-pale: #e5e5e5;

	--c-logo-bk: #231815;
	
	--c-accent: #E3606E;
	--c-base: #ffffff;

	--c-gray-pale:#dedede;
	--c-bk: #333333;
	--c-bk-strong:#1b1b1b;
	--c-white:#ffffff;

	/* テキストリンク */
	--c-link: #298ecf;
	--c-link--hover: #c9751b;

	/* scroll bar */
	--c-scroll-bar: #4b6572;
	--c-scroll-bar-body: #053A5C;

	/* ================== */
	/* px to rem // 16px = 1rem = (16rem / 16) */
	/* ================== */
	/* テキスト */
	/* フォント */
	--baseFonts: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	/* フォントウェイト */
	--bold: bold;
	--medium: 500;
	--normal: normal;
	/* 基準値 min-width320px max-width1280px */
	/* 10px to 12px */
	--txt-xs: clamp(0.625rem, 0.583rem + 0.21vw, 0.75rem);
	/* 12px to 14px */
	--txt-sm: clamp(0.75rem, 0.708rem + 0.21vw, 0.875rem);
	/* 15px to 16px */
	--txt-reg: clamp(0.938rem, 0.917rem + 0.1vw, 1rem);
	/* 17px to 18px */
	--txt-md: clamp(1.063rem, 1.042rem + 0.1vw, 1.125rem);
	/* 20px to 24px */
	--txt-lg: clamp(1.25rem, 1.167rem + 0.42vw, 1.5rem);
	/* 26px to 32px */
	--txt-xl: clamp(1.625rem, 1.5rem + 0.63vw, 2rem);
	/* 32px to 40px */
	--txt-2xl: clamp(2rem, 1.833rem + 0.83vw, 2.5rem);
	/* 38px to 100px */
	--txt-3xl: clamp(2.375rem, 1.083rem + 6.46vw, 6.25rem);

	/* line-height */
	--lh-xs:1.2;
	--lh-sm:1.4;
	--lh-reg:1.5;
	--lh-md:1.7;
	--lh-lg:2;

	/* ================== */
	/* オブジェクト */
	/* margin//主に上下 */
	--mp-tb-xs: calc(24rem/16);
	--mp-tb-sm: calc(32rem/16);
	--mp-tb-reg: calc(40rem/16);
	--mp-tb-md: calc(56rem/16);
	--mp-tb-lg: calc(64rem/16);
	--mp-tb-xl: calc(80rem/16);
	--mp-tb-2xl: calc(160rem/16);

	/* スペース//主に左右 */
	--mp-lr-xs: min(2vw,calc(24rem/16));
	--mp-lr-sm: min(2vw,calc(32rem/16));
	--mp-lr-reg: min(4vw,calc(40rem/16));
	--mp-lr-md: min(4vw,calc(56rem/16));
	--mp-lr-lg: min(7vw,calc(64rem/16));

	/* width */
	--max-width: calc(1280rem/16);
	--fx-width: min(
		calc(100% - calc(var(--mp-lr-reg) * 2)),
		var(--max-width)
	);
	/* ツラ合わせ設定
	window幅 - コンテンツ幅 / 2 = 片側の余白値 */
	--head-match-mp: max(
		var(--mp-lr-reg),
		calc(calc(100% - var(--max-width))/2)
	);

	/* height */
	--height-100vh: calc(var(--vh, 1vh) * 100);

	/* ================== */
	/* イージング */
	/* linear */
	/* 均等 */
	--linear:cubic-bezier(0.0, 0.0, 1.0, 1.0);

	/* easeInSine */
	--easeInSine:cubic-bezier(.47, 0, .745, .715);
	/* easeOutSine */
	--easeOutSine:cubic-bezier(.39, .575, .565, 1);
	/* easeInOutSine */
	--easeInOutSine:cubic-bezier(.445, .05, .55, .95);

	/* easeInQuad */
	--easeInQuad:cubic-bezier(.55, .085, .68, .53);
	/* easeOutQuad */
	--easeOutQuad:cubic-bezier(.25, .46, .45, .94);
	/* easeInOutQuad */
	--easeInOutQuad:cubic-bezier(.455, .03, .515, .955);

	/* easeInCubic */
	--easeInCubic:cubic-bezier(.55, .055, .675, .19);
	/* easeOutCubic */
	--easeOutCubic:cubic-bezier(.215, .61, .355, 1);
	/* easeInOutCubic */
	--easeInOutCubic:cubic-bezier(.645, .045, .355, 1);

	/* easeInQuart */
	--easeInQuart:cubic-bezier(.895, .03, .685, .22);
	/* easeOutQuart */
	--easeOutQuart:cubic-bezier(.165, .84, .44, 1);
	/* easeInOutQuart */
	--easeInOutQuart:cubic-bezier(.77, 0, .175, 1);

	/* easeInQuint */
	--easeInQuint:cubic-bezier(.755, .05, .855, .06);
	/* easeOutQuint */
	--easeOutQuint:cubic-bezier(.23, 1, .32, 1);
	/* easeInOutQuint */
	--easeInOutQuint:cubic-bezier(.86, 0, .07, 1);

	/* easeInExpo */
	--easeInExpo:cubic-bezier(.95, .05, .795, .035);
	/* easeOutExpo */
	--easeOutExpo:cubic-bezier(.19, 1, .22, 1);
	/* easeInOutExpo */
	--easeInOutExpo:cubic-bezier(1, 0, 0, 1);

	/* easeInCirc */
	--easeInCirc:cubic-bezier(.6, .04, .98, .335);
	/* easeOutCirc */
	--easeOutCirc:cubic-bezier(.075, .82, .165, 1);
	/* easeInOutCirc */
	--easeInOutCirc:cubic-bezier(.785, .135, .15, .86);

	/* 戻る動き//慣性スクロールのバウンドみたいな感じ */
	/* easeInBack */
	--easeInBack:cubic-bezier(.6, -0.28, .735, .045);
	/* easeOutBack */
	--easeOutBack:cubic-bezier(.175, .885, .32, 1.275);
	/* easeInOutBack */
	--easeInOutBack:cubic-bezier(.68, -0.55, .265, 1.55);
}
/* Dark Mode */
/* @media(prefers-c-scheme: dark) {
	:root{
		--c-main:#0d517b;
		--c-main-soft: #1e6388;
		--c-main-pale: #3385a5;
		--c-main-strong:#022239;

		--c-accent: #c96b74;
		--c-base: #c2c2c2;
	}
} */
/*-------------------------------*/

/* Tablet 959px */

/*------------------------------*/
@media(max-width: 959px){
:root{
	/* ================== */
	/* オブジェクト */
	/* margin */
	--mp-tb-xs: calc(24rem/16);
	--mp-tb-sm: calc(24rem/16);
	--mp-tb-reg: calc(32rem/16);
	--mp-tb-md: calc(40rem/16);
	--mp-tb-lg: calc(56rem/16);
	--mp-tb-xl: calc(64rem/16);
	--mp-tb-2xl: calc(120rem/16);
	}
}/*Tablet END*/
/*-------------------------------*/

/* Smartphone 559px */

/*------------------------------*/
@media(max-width:559px){
:root{
	/* ================== */
	/* オブジェクト */
	/* margin */
	--mp-tb-xs: calc(24rem/16);
	--mp-tb-sm: calc(24rem/16);
	--mp-tb-reg: calc(24rem/16);
	--mp-tb-md: calc(32rem/16);
	--mp-tb-lg: calc(40rem/16);
	--mp-tb-xl: calc(56rem/16);
	--mp-tb-2xl: calc(80rem/16);
	}
}/*Smartphone END*/



/*=========================================================*/

/* common */

/*=========================================================*/
/*------------------------*/
/* 共通設定__変更の場合は報告を! */
/*------------------------*/
/*-----------------------*/
/* 無効化 */
/*-----------------------*/
/*メールを無効*/
a[href^="mail"]{
	pointer-events: none;
}
/*PCでの電話番号の自動発信を無効*/
/* 960px  */
@media(min-width:960px) {
    a[href^="tel:"]{
      pointer-events: none;
    }
}
/* アウトラインを無効化 */
input:focus,
textarea:focus
{
	outline: none;
}
/* Android/iOSのタップ時のデフォルト設定無効化 */
@media(any-hover: none){
	a{
		-webkit-tap-highlight-color:rgba(0,0,0,0);
		cursor:pointer;
	}
}
/*-----------------------*/
/* リンク */
/*-----------------------*/
a{
	transition: opacity .4s ease-in-out;
}
.common-hover{
	opacity: 0.4;
}
/*-----------------------*/
/* 注釈 */
/*-----------------------*/
.attention{
	font-size: var(--txt-sm);
	display: flex;
	align-items: flex-start;
}
.attention::before{
	content: "※";
	font-size: var(--txt-sm);
}
/*-----------------------*/
/* スクロールバー
/*-----------------------*/
/* 表示されるスクロールバーをデザインに合う形にする */
/* ::-webkit-scrollbar{
	width: 12px;
	height: 12px;
	background: var(--c-scroll-bar);
} */
/*スクロールバーのレール*/
/* ::-webkit-scrollbar-track {
	background: var(--c-scroll-bar);
	border: none;
	border-radius: 12px;
} */
/*スクロールバーの動く部分*/
/* ::-webkit-scrollbar-thumb{
	background-color: var(--color-scroll-bar-body);
    border-radius: 12px;
	box-shadow: none;
} */
/* ::-webkit-scrollbar-thumb:hover{
	background-color: var(--color-scroll-bar-strong);
} */
/*-------------------------------*/
/* Tablet 959px */
/*------------------------------*/
@media(max-width: 959px){
}/*Tablet END*/
/*-------------------------------*/
/* Smartphone 559px */
/*------------------------------*/
@media(max-width:559px){
}/*Smartphone END*/


/*----------------------------*/
/* 以下、共通設定__変更禁止項目 */
/* 	▽	▽	▽	▽	▽	▽ */
/*------------------------*/
/*表示・非表示*/
.none-pc{display:none;}/*pcでのみ非表示*/
.none-tab{display: block;}/*タブレットでのみ非表示*/
.none-sm{display: block;}/*スマホでのみ非表示*/
.none-tab-sm{display:block;}/*タブレットとスマホで非表示*/
.none-pc-tab{display:none;}/*pcとタブレットで非表示*/
.none-pc-sm{display:none;}/*pcとスマホで非表示*/
/*------------------------*/
/*上・下付き文字*/
.sup{vertical-align: super;}
.sub{vertical-align: sub;}
/*------------------------*/
/*ボーダー設定*/
hr{
	width: 100%;
	border: none;
	background: #dedede;
	height: 1px;
}
/*------------------------*/
/*リンクテキスト*/
a{text-decoration: none;}
a:link {color: var(--c-link);}
a:visited {color: var(--c-link);}
/* @media(any-hover: hover){
	a:link {color: var(--c-link);}
	a:visited {color: var(--c-link);}
	a:hover {color: var(--c-link--hover);text-decoration: none;}
	a:active {color: var(--c-link--hover);text-decoration:none;}
} */
/*------------------------*/
/* コピー禁止 */
.copy-guard{pointer-events: none;}
/*------------------------*/
/* コンテンツのTABフォーカスを指定 */
/* *:focus{} */
/*-------------------------------*/
/* Tablet 959px */
/*------------------------------*/
@media(max-width: 959px){
/*表示・非表示*/
.none-pc{display:block;}/*pcでのみ非表示*/
.none-tab{display: none;}/*タブレットでのみ非表示*/
.none-sm{display: block;}/*スマホでのみ非表示*/
.none-tab-sm{display:none;}/*タブレットとスマホで非表示*/
.none-pc-tab{display:none;}/*pcとタブレットで非表示*/
.none-pc-sm{display:block;}/*pcとスマホで非表示*/
}/*Tablet END*/
/*-------------------------------*/
/* Smartphone 559px */
/*------------------------------*/
@media(max-width:559px){
/*表示・非表示*/
.none-pc{display:block;}/*pcでのみ非表示*/
.none-tab{display: block;}/*タブレットでのみ非表示*/
.none-sm{display: none;}/*スマホでのみ非表示*/
.none-tab-sm{display:none;}/*タブレットとスマホで非表示*/
.none-pc-tab{display:block;}/*pcとタブレットで非表示*/
.none-pc-sm{display:none;}/*pcとスマホで非表示*/
}/*Smartphone END*/



/*=========================================================*/

/* reset */

/*=========================================================*/
/*------------------------*/
/*リセット__変更禁止*/
/*------------------------*/
li { list-style: none; }
sup { vertical-align: text-top; }
sub { vertical-align: text-bottom; }
table {border-collapse: collapse;border-spacing: 0;}
/*font size*/
h1{ font-size: calc(16rem/16); font-weight: normal; }
h2{ font-size: calc(16rem/16); font-weight: normal; }
h3{ font-size: calc(16rem/16); font-weight: normal; }
h4{ font-size: calc(16rem/16); font-weight: normal; }
h5{ font-size: calc(16rem/16); font-weight: normal; }
h6{ font-size: calc(16rem/16); font-weight: normal; }