@charset "utf-8";
/* CSS Document */

/*------------------------------------------------------------*/
/*	汎用的なスタイル
/*------------------------------------------------------------*/

/*		レイアウト
/*------------------------------*/

/*-- section --*/
.section {
	clear: both;
	margin-bottom: 20px;
}
.section:last-child ,
.section p:last-child ,
.section ul:last-child ,
.section li:last-child ,
.section ol:last-child ,
.section dl:last-child ,
.section dd:last-child {
	margin-bottom: 0;
}

/*-- unit --*/
.unit {
	overflow: hidden;
	zoom: 1;
}

/*-- カラム --*/
.box {
	margin-bottom: 2%;
}

/*-- dlの横組み --*/
dl.horizon>dt {
	float: left;
	width: 6em;
	line-height: 1.4em;
}
dl.horizon>dd {
	margin: 0 0 0.8em;
	padding-left: 6.4em;
	line-height: 1.4em;
}

/*-- dlの横並び --*/
dl.line>dt {
	font-weight: bold;
	display: inline;
}
dl.line>dd {
	margin: 0 20px 0 -0.3em;
	display: inline;
}
dl.line>dd:last-child {
	margin-right: 0;
}

/*-- ulの横並び --*/
ul.line>li {
	margin: 0 1em 0 0;
	display: inline;
}
ul.line>li:last-child {
	margin-right: 0;
}

/*-- その他 --*/
.clear {
	clear: both;
}
.align_left {
	float: left;
	margin: 0 20px 0 0;
}
.align_right {
	float: right;
	margin: 0 0 0 20px;
}

/*		装飾
/*------------------------------*/
.supp {
	font-size: 0.8em;
	line-height: 1.4em;
}
.striking {
	font-weight: bold;
}
.modest {
	color: #999;
	font-weight: normal;
}
.indent {
	margin-left: 1.1em;
	text-indent: -1.1em;
	display: inline-block;
}
.indent a {
	padding-left: 1.1em;
}
.word {
	word-break: keep-all;
}
.onmouse:hover {
	transition: 0.1s ease;
	opacity: 0.7;  /* Firefox 1.5以上, Opera, Safari用 */
	filter: alpha(opacity=70);  /* IE7以下用 */
	-ms-filter: "alpha(opacity=70)";  /* IE8用 */
	zoom: 1;
}
a.btn {
	margin: 0;
	padding: 0.4em 0.6em;
	font-size: 0.8em;
	font-weight: bold;
	line-height: 1.1em;
	color: #fff;
	text-decoration: none;
	display: inline-block;
	border: none;
	box-shadow: none;
	background: #000;
	border-radius: 4px;
}
a.btn:hover {
	background: #999;
	text-decoration: none;
}




/*------------------------------------------------------------*/
/*	全ページ共通設定
/*------------------------------------------------------------*/

/*		基本設定
/*------------------------------*/
* {
	margin: 0;
	padding: 0;
}
html {
	font-size: 10px;
}
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Arial, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	/* font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Arial, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; */
	font-size: 1.4rem;
	line-height: 1.6em;
	letter-spacing: 0.04em;
	font-feature-settings: "palt";
	color: #333;
	background: #e5f6ff;
	-webkit-text-size-adjust: none; /* 文字サイズ自動調整OFF */
}
h2 ,
h3 ,
h4 ,
h5 {
	margin: 0 0 1em;
	line-height: 1.2em;
}
h2 {
	font-size: 34px;
}
h3 {
	font-size: 24px;
}
h4 {
	font-size: 18px;
}
h5 {
	font-size: 14px;
}
p ,
ul ,
ol ,
dl ,
li ,
dd {
	margin: 0 0 1.4em;
	padding: 0;
	font-size: 1.4rem;
	line-height: 1.6em;
}
p:last-child,
li:last-child ,
dd:last-child {
	margin-bottom: 0;
}
li {
	list-style: none;
}
dt {
	margin: 0;
	padding: 0;
	color: #333;
}
dd+dd {
	margin-top: -2.4em;
}
img {
	margin: 0 auto 10px;
	display: block;
}
a {
	color: #2ea8e6;
	font-weight: bold;
}
::selection { /* CSS3 */
	background: #99ddff;
	color: #fff;
}
::-moz-selection { /* Firefox */
	background: #99ddff;
	color: #fff;
}

/*		ヘッダー
/*------------------------------*/
#header {
	border-top: 5px solid #2ea8e6;
	background: center url(images/header_bg.png);
	background-size: auto 100%;
}
#header img {
	margin-bottom: 0;
	/* width: 100%; */
	height: 315px;
	object-fit: cover;
}

/*		ナビゲーション
/*------------------------------*/
#nav {
	border: 1px solid #e5ac00;
	border-left: none;
	border-right: none;
	background: #ffbf00;  /* Old browsers */
	background: -moz-linear-gradient(top, #ffcb00, #ffac00);
	background: -webkit-linear-gradient(top, #ffcb00, #ffac00);
	background: linear-gradient(to bottom, #ffcb00, #ffac00);
	box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.1);
}
#nav ul,
#nav li {
	margin-bottom: 0;
}
#nav a {
	float: left;
	width: 33.33%;
	margin: 0 auto;
	padding: 1.1em 0 0.9em;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.1em;
	color: #fff;
	text-decoration: none;
	text-shadow: 0px 2px 1px  rgba(0, 0, 0, 0.15);
	border-right: 2px dotted #fff;
}
#nav li:last-child a {
	border-right: none;
}
#nav #nav_news {
	padding-left: 0.15em;
	letter-spacing: 0.15em;
}
#nav #nav_about {
	padding-left: 0.4em;
	letter-spacing: 0.4em;
}
#nav #nav_lineup {
	padding-left: 0.1em;
	letter-spacing: 0.05em;
}

/*		コンテンツ
/*------------------------------*/
#content {
	background: #e5f6ff;
}
#content_inside {
	padding: 0 4%;
}
#news>.unit,
#about>.unit,
#lineup>.unit,
#contact>.unit {
	padding: 5%;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 20px;
}
#content h2 {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: 20px;
	padding: 0.6em 0 0.6em 0.4em;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.1em;
	letter-spacing: 0.4em;
	color: #fff;
	text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
	border: 1px solid #e5ac00;
	border-left: none;
	border-right: none;
	background: #ffbf00;  /* Old browsers */
	background: -moz-linear-gradient(top, #ffcb00, #ffac00);
	background: -webkit-linear-gradient(top, #ffcb00, #ffac00);
	background: linear-gradient(to bottom, #ffcb00, #ffac00);
	box-shadow: 0 2px 4px 1px rgba(0, 0, 0, 0.1);
}

/*		フッター
/*------------------------------*/
#footer {
	padding: 15px 0 17px;
	background: #2ea8e6;
}
#footer #toplink {
	z-index: 10;
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	width: 4rem;
	height: 4rem;
	background: #2ea8e6;
	opacity: 0.9;
	border-radius: 4rem;
}
#footer #toplink a {
	position: relative;
	display: block;
	width: 4rem;
	height: 4rem;
}
#footer #toplink a::before {
	position: absolute;
    width: 2rem;
    height: 2rem;
    top: -0.2rem;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
	font-family: 'Font Awesome 5 Free';
	font-size: 1.6rem;
	font-weight: 900;
	content: '\f077';
	color: #fff;
}
#copyright {
	text-align: center;
	font-size: 12px;
	line-height: 1.1em;
	color: #fff;
}




/*------------------------------------------------------------*/
/*	各ページ設定
/*------------------------------------------------------------*/

/*		お知らせ
/*------------------------------*/
#news {
	margin-top: 20px;
}
#news h2 {
	margin: 0 auto;
	padding-top: 0.8em;
	font-size: 1.4rem;
	letter-spacing: 0.3em;
	text-shadow: none;
	border: none;
	background: #2ea8e6;
	border-radius: 20px 20px 0 0;
	box-shadow: none;
}
#news>.unit {
	border-top: none;
	border-radius: 0 0 20px 20px;
}
#news dt {
	padding-top: 0.8em;
	font-size: 1.2rem;
	color: #999;
}
#news dd {
	margin-bottom: 0;
	padding-top: 0.8em;
	padding-bottom: 0.8em;
	font-size: 1.2rem;
	border-bottom: 1px dashed #e5e5e5;
}
#news dt:first-child {
	padding-top: 0;
}
#news dd:nth-child(2) {
	padding-top: 0;
}
#news dd:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

/*		概要
/*------------------------------*/
#about img {
	margin: 2% auto 4%;
	width: 94%;
}
#about p {
	line-height: 1.8em;
}
#about p .striking {
	padding: 0.1em;
	color: #2ea8e6;
	border-bottom: 2px dotted;
}

/*		ラインナップ
/*------------------------------*/
#lineup h2 {
	padding-left: 0.1em;
	letter-spacing: 0.1em;
}
#lineup h3 {
	margin: 0 auto;
	padding: 1em 6% 0.9em;
	font-size: 1.8rem;
	line-height: 1.1em;
	color: #fff;
	background: #2ea8e6;
	border-radius: 20px 20px 0 0;
}
#lineup h3 span {
	line-height: 1.1em;
}
#lineup>.unit {
	margin-bottom: 20px;
	border: 3px solid #2ea8e6;
	display: block;
	border-top: none;
	border-radius: 0 0 20px 20px;
}
#lineup h4 {
	margin-bottom: 0.5em;
	padding: 0.3em 0.6em;
	padding-left: 0.62em;
	font-size: 1.2rem;
	letter-spacing: 0.02em;
	color: #2ea8e6;
	border: 2px solid;
	display: inline-block;
	border-radius: 20px;
}
#lineup h5,
#lineup p,
#lineup li {
	font-size: 1.2rem;
}
#lineup h5 {
	margin: 0.2em 0 0.8em;
}
#lineup h5>span {
	padding: 0 0.1em 0.2em;
	border-bottom: 2px dotted;
	display: inline-block;
}
#lineup li {
	display: block;
	margin-bottom: 8px;
	line-height: 1.4em;
}
#lineup li:last-child {
	margin-bottom: 0;
}
#lineup li span.striking {
	color: #2ea8e6;
}
#lineup img {
	float: right;
	margin: 0 -3% 1% 1%;
}
#lineup img.width_s {
	width: 34%;
}
#lineup img.width_m {
	width: 42%;
}
#lineup img.width_l {
	width: 50%;
}

/*-- NEW --*/
#lineup .label_new {
	display: inline-block;
	position: relative;
	top: -0.1em;
	padding: 0.3em 0.4em;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.02em;
	border: none;
	background: #ffee33;
}
#lineup h3 .label_new {
	top: -0.2em;
	margin-top: 4px;
	font-size: 0.7em;
	color: #2ea8e6;
}
#lineup h5 .label_new,
#lineup p .label_new,
#lineup li .label_new {
	margin-left: 0.2em;
	line-height: 1.2em;
	text-indent: 0;
}
#lineup .txt_new {
	color: #ffaa00;
}

/*-- もっとみる --*/
.grad_wrap {
	 position: relative;
	 margin-bottom: 3.5em;
}
.grad_btn {
	z-index: 10;
	position: absolute;
	right: 0;
	bottom: -3.5em;
	left: 0;
	width: 100%;
	margin: auto;
	padding: 0.5em 0 0.5em 0.05em;
	border-radius: 5em;
	background: #2ea8e6;
	color: #fff;
	text-align: center;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.2em;
	cursor: pointer;
	transition: 0.1s ease;
}
.grad_btn::before {
	position: relative;
	float: left;
	left: 12px;
	top: 1px;
	font-family: "Font Awesome 5 Free";
	font-size: 1.2em;
	font-weight: 900;
	content: '\f13a';
}
.grad_btn::after {
	content: "もっとみる"
}
.grad_item {
	position: relative;
	overflow: hidden;
	height: 4.5em; /*隠した状態の高さ*/
}
.grad_item::before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3em; /*グラデーションで隠す高さ*/
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
	background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
	content: "";
}
.grad_trigger {
	display: none; /*チェックボックスは常に非表示*/
}
.grad_trigger:checked ~ .grad_btn::before {
	content: '\f139';
}
.grad_trigger:checked ~ .grad_btn::after {
	content: "とじる" /*チェックされていたら、文言を変更する*/
}
.grad_trigger:checked ~ .grad_item {
	height: auto; /*チェックされていたら、高さを戻す*/
}
.grad_trigger:checked ~ .grad_item::before {
	display: none; /*チェックされていたら、grad_itemのbeforeを非表示にする*/
}

/*		詳細はこちら
/*------------------------------*/
#enter {
	margin: 40px 0;
	text-align: center;
}
#enter p {
	position: relative;
	display: inline-block;
	margin-bottom: 15px;
	padding: 0 1.8em 0 2.4em;
	font-weight: bold;
	line-height: 1.1em;
	letter-spacing: 0.2em;
}
#enter p:before,
#enter p:after {
	content: '';
	position: absolute;
	top: 0.6em;
	display: inline-block;
	width: 1.4em;
	height: 1px;
	background-color: #333;
}
#enter p:before {
	left:0;
	-webkit-transform: rotate(60deg);
	transform: rotate(60deg);
}
#enter p:after {
	right: 0;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}
#enter a.btn {
	display: block;
	margin: 0 auto;
	padding: 0.9em 0 0.9em 0.05em;
	width: 78%;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.1em;
	letter-spacing: 0.1em;
	text-shadow: 0px 2px 1px rgba(0, 0, 0, 0.15);
	border: 4px solid #fff;
	background: #ffbf00; /* Old browsers */
	background: -moz-linear-gradient(top, #ffcb00, #ffac00);
	background: -webkit-linear-gradient(top, #ffcb00, #ffac00);
	background: linear-gradient(to bottom, #ffcb00, #ffac00);
	border-radius: 80px;
	box-shadow: 2px 3px 1px 0px rgba(255,255,255,0.6) inset, -2px -3px 1px 0px rgba(0,0,0,0.2) inset;
}
#enter a.btn+a.btn {
	margin-top: 10px;
}

/*		お問い合わせ
/*------------------------------*/
#contact p:nth-child(1) {
	margin-bottom: 13px;
	padding-bottom: 12px;
	text-align: center;
	font-weight: bold;
	border-bottom: 1px dashed #e5e5e5;
}
#contact h5 {
	margin-bottom: 2px;
	font-size: 0.86em;
	line-height: 1.6em;
	font-weight: normal;
}
#contact .supp {
	font-size: 0.72em;
	font-weight: normal;
}

/*		バナー
/*------------------------------*/
#banner {
	margin-bottom: 20px;
}
#banner li {
	margin-bottom: 0;
}
#banner li:last-child img {
	margin-bottom: 0;
}
#banner a {
	margin: 0 auto;
	width: 200px;
	display: block;
}




/*============================================================*/
/*	Responsive Structure
/*============================================================*/

/*------------------------------------------------------------*/
/*	タブレット（768px以上）
/*------------------------------------------------------------*/
@media (min-width: 768px) { /* スクロール分余裕に20px */

	/*		基本設定
	/*------------------------------*/
	html {
		font-size: 11px;
	}

	/*		section
	/*------------------------------*/
	.section {
		margin-bottom: 40px;
	}

	/*		カラム
	/*------------------------------*/
	.box {
		margin-bottom: 0;
	}

	/*		2カラム
	/*------------------------------*/
	.col2_ab>.box:nth-of-type(1) {
		float: left;
		width: 50%;
	}
	.col2_ab>.box:nth-of-type(2) {
		padding: 0 0 0 20px;
		overflow: hidden;
		zoom: 1;
	}
	.col2_ba>.box:nth-of-type(1) {
		float: right;
		width: 50%;
	}
	.col2_ba>.box:nth-of-type(2) {
		padding: 0 20px 0 0;
		overflow: hidden;
		zoom: 1;
	}
	.col2_ab>.box:nth-of-type(2) p:last-child ,
	.col2_ba>.box:nth-of-type(2) p:last-child {
		margin-bottom: 0;
	}

	/*		固定_2カラム
	/*------------------------------*/
	.col2>.box {
		float: left;
		margin-right: 2%;
		width: 49%;
	}
	.col2>.box:nth-of-type(2n) {
		margin-right: 0;
	}
	.col2>.box>img {
		width: 100%;
	}

	/*		固定_3カラム
	/*------------------------------*/
	.col3>.box {
		float: left;
		margin-right: 2%;
		width: 32%;
	}
	.col3>.box:nth-child(3n) {
		margin-right: 0;
	}
	.col3>.box>img {
		width: 100%;
	}

	/*		可変_2カラム
	/*------------------------------*/
	.colx>.box {
		float: left;
		margin-right: 2%;
		width: 49%;
	}
	.colx>.box:nth-of-type(2n) {
		margin-right: 0;
	}

	/*		横組み
	/*------------------------------*/
	.floatl {
		float: left;
		margin-right: 2%;
	}
	.floatl:last-child {
		margin-right: 0;
	}

	/*		ヘッダー
	/*------------------------------*/
	#header img {
		/* width: 100%; */
		height: 100%;
		/* object-fit: none; */
	}

	/*		コンテンツ
	/*------------------------------*/
	#content_inside {
		padding: 0 6%;
	}

	/*		ラインナップ
	/*------------------------------*/
	#lineup li {
		margin-left: 1.5em;
	}
	#lineup img {
		margin: 0 0 0 2%;
	}
	#lineup img.width_s {
		width: 30%;
	}
	#lineup img.width_m {
		width: 38%;
	}
	#lineup img.width_l {
		width: 46%;
	}

	/*		詳細はこちら
	/*------------------------------*/
	#enter {
		margin: 60px 0;
	}
	#enter a.btn {
		width: 46%;
	}

	/*		お問い合わせ
	/*------------------------------*/
	#contact .unit {
		margin: 0 auto;
		width: 80%;
	}

	/*		バナー
	/*------------------------------*/
	#banner {
		margin-bottom: 40px;
	}
	#banner ul {
		margin: 0 auto;
		width: 420px;
	}
	#banner li {
		float: left;
		margin-right: 20px;
	}
	#banner li:last-child {
		margin-right: 0;
	}
	#banner li img {
		margin-bottom: 0;
	}
}


/*------------------------------------------------------------*/
/*	PC（970px以上）
/*------------------------------------------------------------*/
@media (min-width: 960px) { /* スクロール分余裕に20px */

	/*		基本設定
	/*------------------------------*/
	html {
		font-size: 12px;
	}

	/*		コンテンツセンタリング
	/*------------------------------*/
	.center_ie {
		text-align: center;
	}
	.center {
		margin-left: auto;
		margin-right: auto;
		text-align: left;
		width: 960px;
	}

	/*		可変_3カラム
	/*------------------------------*/
	.colx>.box {
		margin-right: 2%;
		width: 32%;
	}
	.colx>.box:nth-of-type(2n) {
		margin-right: 2%;
	}
	.colx>.box:nth-of-type(3n) {
		margin-right: 0;
	}

	/*		ナビゲーション
	/*------------------------------*/
	#nav li:first-child a {
		border-left: 2px dotted #fff;
	}
	#nav li:last-child a {
		border-right: 2px dotted #fff;
	}

	/*		コンテンツ
	/*------------------------------*/
	#content_inside {
		padding: 0;
		width: 840px;
	}
	#news>.unit,
	#about>.unit,
	#lineup>.unit,
	#contact>.unit {
		border-radius: 30px;
	}

	/*		お知らせ
	/*------------------------------*/
	#news h2 {
		border-radius: 30px 30px 0 0;
	}
	#news>.unit {
		border-radius: 0 0 30px 30px;
	}


	/*		概要
	/*------------------------------*/
	#about img {
		float: left;
		margin: 1% 4% 0 0;
		width: 46.5%;
	}

	/*		ラインナップ
	/*------------------------------*/
	#lineup h3 {
		border-radius: 30px 30px 0 0;
	}
	#lineup>.unit {
		border-radius: 0 0 30px 30px;
	}
	#lineup img.width_s {
		width: 26%;
	}
	#lineup img.width_m {
		width: 34%;
	}
	#lineup img.width_l {
		width: 42%;
	}
}