@charset "utf-8";

/* ================================================================
	変数設定
================================================================ */

:root {
	--pixel-width-sp:	750px;
	--pixel-width-pc:	1200px;
	--color-red:	#BF7676;		/* 191,118,118 */
	--color-green:	#6EB9AE;	/* 110,185,174 */
	--color-blue:	#769CBF;		/* 118,156,191 */
	--color-black:	#5B6469;		/* 91,100,105 */
	--color-white:	#FFFFFF;
	--color-gray-l:	#F2F2F2;
	--color-gray:	#B2B2B2;
	--color-black:	#5A6268;		/* 90,98,104 */
	--color-jet:		#000000;
}



/* ================================================================
	レイアウト基礎
================================================================ */

html {
	scroll-behavior: smooth;
}
body {
	font-family:"Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 28px;
	line-height: 1.5;
	color: var(--color-black);
	background: var(--color-red);
}
@media screen and (min-width:751px) {
	body {
		font-size: 20px;
	}
}

#container {
	width: 100%;
	min-width: var(--pixel-width-sp);
	background: var(--color-white);
}
@media print, screen and (min-width:751px)
{
/*
	#container {
		width: 100%;
		min-width: var(--pixel-width-pc);
		margin: 0 auto;
		box-shadow: 0 0 100px rgba(0,0,0,0.2);
		min-height: 100vh;
	}
*/
}



/* ================================================================
	テキスト基礎
================================================================ */

.small { font-size: 0.8em; }
.large { font-size: 1.25em; }
.bold { font-weight: bold; }

a {
	color: var(--color-black);
	transition: opacity 0.4s;
}
a:hover {
	opacity: 0.8;
}

@media print, screen and (min-width:751px)
{
	a.telephone {
		pointer-events: none;
		text-decoration: none;
	}
	br.no-pc {
		display: none;
	}
}



/* ================================================================
	ヘッダー
================================================================ */

header {
	width: 100%;
	min-width: var(--pixel-width-sp);
	padding: 0;
	margin: 0;
	color: var(--color-white);
	background: var(--color-blue);
}
#page_top header {
	color: var(--color-blue);
	background: var(--color-white);
}
header > div {
	width: var(--pixel-width-sp);
	padding: 0;
	margin: 0 auto;
}

header ul {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 1.5em 6%;
}
header ul li a img {
	height: 1.85em;
}
header ul li:first-child a img {
	height: 2.35em;
}

#page_top header > span {
	display: block;
	position: relative;
	border-top: solid 1px var(--color-white);
	border-bottom: solid 1px var(--color-white);
}
#page_top header > span span {
	display: block;
	height: auto;
	max-height: 498px;
	height: 498px;
	width: 88%;
	min-width: calc( var(--pixel-width-sp)*0.88 );
	margin: 1.5em 6%;
	background: var(--color-blue);
	/* background: rgba(118,156,191,0.33); */
	background-image: url(../image/main.jpg);
	background-size: cover;
	background-position: center 40%;
	background-repeat: no-repeat;
	position: relative;
	z-index: 2;
}
#page_top header > span span img {
	visibility: hidden;
	width: 100%;
}
#page_top header > span span h2 {
	font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 30px;
	letter-spacing: 0.5vw;
	letter-spacing: 12.5%;
	letter-spacing: max( 0.5vw, 12.5% );
	text-shadow: 0 0.1em 0.2em rgba( 91,100,105,0.4 );
	color: var(--color-white);
	position: absolute;
	bottom: 100px;
	left: 10%;
	white-space: nowrap;
}
#page_top header > span::before,
#page_top header > span::after {
	content: '';
	display: block;
	width: 77%;
	width: calc( 50% + 200px );
	height: 55%;
	background-image: url(../image/main_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	z-index: 1;
}
#page_top header > span::before {
	background-position: top right;
	top: 0;
	right: 0;
}
#page_top header > span::after {
	background-position: bottom left;
	bottom: 0;
	left: 0;
}


/* ================================================================
	コンテンツ
================================================================ */

#contents {
	width: var(--pixel-width-sp);
	padding: 1em 0;
	margin: 0 auto;
	min-height: 80vh;
	background: var(--color-white);
}
@media only screen and (max-width:750px)
{
	#contents {
	}
}



/* ================================================================
	フッター
================================================================ */

footer {
	width: 100%;
	min-width: var(--pixel-width-sp);
	padding: 0;
	margin: 0;
	color: var(--color-gray);
	background: var(--color-white);
	font-size: 0.75em;
}
footer > div {
	width: var(--pixel-width-sp);
	padding: 0.25em 0;
	padding-bottom: 1em;
	margin: 0 auto;
	text-align: center;
}
footer a {
	color: var(--color-gray);
	text-decoration: none;
}
@media only screen and (max-width:750px)
{
	footer {
	}
}

/* ----------------------------------------------------------------
	TOPへ
---------------------------------------------------------------- */

#totop {
	display: none;
	position: fixed;
	bottom: 5vw;
	right: 5vw;
	z-index: 999;
}
@media only screen and (max-width:750px)
{
	#totop {
	}
}
