/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
hr {
	height: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.sns {
    display: flex;          /* 親要素をフレックスボックスにする */
    justify-content: center; /* 子要素を中央に揃える */
}

.sns ul {
    list-style-type: none;  /* リストマーカーを消す */
    padding: 0;             /* パディングを消す */
    margin: 0;              /* マージンを消す */
    display: flex;          /* 子要素を横並びにする */
    gap: 10px;              /* アイコン間のスペースを設定 */
}

.sns ul li {
    display: inline;        /* リストアイテムをインライン要素にする */
}

.sns ul li img {
    display: block;         /* 画像をブロック要素にする */
    width: 50px;            /* 画像の幅を50pxにする */
    height: 50px;           /* 画像の高さを50pxにする */
}

.sns ul a {
    display: flex;          /* リンクをフレックス要素にする */
    align-items: center;    /* アイコンを垂直方向の中央に揃える */
    text-decoration: none;  /* リンクの下線を消す */
}


/*-----------------------------------------------------------------------------
Firefoxの右側スクロールバーの表示
Firefox上でコンテンツの高さがウィンドウの高さより短い場合に表示位置がずれる現象を解消
-----------------------------------------------------------------------------*/      
html { overflow-y: scroll; }
/* *{border-style:none;} */

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

/*-----------------------------------------------------------------------------
フロート操作によるボックスの高さ調整
-----------------------------------------------------------------------------*/
.clearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.clearfix {display: inline-table;min-height: 1%;}
/* Hides from IE-mac \*/
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-Mac */

/*--- common ----------------------------------------------------------*/
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}

html{
	overflow: auto;
	font-size: 62.5%; /* sets the base font to 10px for easier math */
}

body {
	overflow: hidden;
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	font-family: "游ゴシック Medium", YuGothic, YuGothicM, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "Hiragino Sans", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", メイリオ, Meiryo, sans-serif;
    /*font-family: "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;*/
    /*font-family: "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , "Noto Sans JP" sans-serif;*/
    font-size: 14px;
	font-size: 1.4rem;
    line-height: 1.7em;
    color: #333333;
    text-align: left;
    background: #FFF;
    -webkit-backface-visibility:hidden;
}
/* 明朝体
=========================================================================
=========================================================================*/
.serif {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho","Noto Serif JP", serif !important;
}
/* フォント
=========================================================================
=========================================================================*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@1,700&display=swap');


/* テキスト
=========================================================================*/
strong {
	font-weight: bold;
}
/* リンク
=========================================================================*/
a {
    color: #333333;
    text-decoration: underline;
    transition: all .3s;
}
a:visited { color: #333333; }
a:hover {
	color: #333333;
	text-decoration: none;
	/*opacity: .5;*/
}
a:hover,
a:active,
a:focus
 {
  outline: none;
}
a.deactive {
	pointer-events: none;
}
/* ボタン
=========================================================================*/
.opacity {
	cursor: pointer;
    transition: all .3s;
}
.opacity:hover {
	opacity: .8;
}

/* 画像サイズ
=========================================================================*/
img {
	width: 100%;
}
/* デスクトップ・スマホ分岐
=========================================================================*/
.pc {
	display: block;
}
.sp {
	display: none;
}


/* ANIMATION
=========================================================================
=========================================================================*/
/* ----- フェードイン ----- */
.fadein {
	opacity: 0;
	transition : all 1250ms cubic-bezier(0.000, 0.000, 0.410, 1.475);
}
.fadein.scrollin {
	opacity: 1;
}
.fadein_delay {
	opacity: 0;
	transition : all 2000ms cubic-bezier(0.000, 0.000, 0.410, 1.475) ;
}
.fadein_delay.scrollin {
	opacity: 1;
}
/* ----- フェードインアップ ----- */
.fadein_up {
	opacity: 0;
	transform : translate(0, 15px);
	transition : all 750ms cubic-bezier(0.000, 0.000, 0.410, 1.475);
}
.fadein_up.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
.fadein_up_small {
	opacity: 0;
	transform : translate(0, 7px);
	transition : all 1250ms cubic-bezier(0.000, 0.000, 0.410, 1.475);
}
.fadein_up_small.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
.fadein_up_large {
	opacity: 0;
	transform : translate(0, 15px);
	transition : all 1250ms cubic-bezier(0.000, 0.000, 0.410, 1.475);
}
.fadein_up_large.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
/* ----- フェードインダウン ----- */
.fadein_down {
	opacity: 0;
	transform : translate(0, -15px);
	transition : all 750ms cubic-bezier(0.000, 0.000, 0.410, 1.000);
}
.fadein_down.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
/* ----- フェードインLEFT ----- */
.fadein_left {
	opacity: 0;
	transform : translate(-30px, 0);
	transition : all 750ms cubic-bezier(0.000, 0.000, 0.410, 1.000);
}
.fadein_left.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
/* ----- フェードインRIGHT ----- */
.fadein_right {
	opacity: 0;
	transform : translate(30px, 0);
	transition : all 750ms cubic-bezier(0.000, 0.000, 0.410, 1.000);
}
.fadein_right.scrollin {
	opacity: 1;
	transform: translate(0, 0);
}
/* ----- スライドインアップ ----- */
.slidein_up {
	transform : translate(0, 30px);
	transition : all 750ms cubic-bezier(0.000, 0.000, 0.410, 1.000);
}
.slidein_up.scrollin {
	transform: translate(0, 0);
}
/* ----- ズームフェードインRIGHT ----- */
.zoomin_right {
	opacity: 0;
	letter-spacing: 0.25em;
	transform: translate(10px, 0);
	transition : all 425ms ease-in;
}
.zoomin_right.scrollin {
	opacity: 1;
	letter-spacing: 0;
	transform: translate(0, 0);
}



/*  スマホ（767px以下）
=========================================================================
=========================================================================*/
@media screen and (max-width:767px) {
	
	/* デスクトップ・スマホ分岐
	=========================================================================*/
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}

}